用于联机加密处理的高性能自主硬件引擎的制作方法

文档序号:9564817阅读:338来源:国知局
用于联机加密处理的高性能自主硬件引擎的制作方法
【技术领域】
[0001 ] 本发明的技术领域为数据加密。
【背景技术】
[0002] 许多新兴应用程序需要物理安全性以及防御软件攻击的常规安全性。举例来说, 在数字版权管理(DRM)中,计算机系统的拥有者具有破坏系统安全性以制作受保护的数字 内容的非法副本的动机。
[0003] 类似地,移动代理应用程序要求敏感电子交易在不受信任的主机上执行。所述主 机可处于敌对者(adversary)的控制之下,所述敌对者在金融上具有破坏系统并改变移动 代理的行为的动机。因此,在因特网时代,物理安全性对于启用许多应用程序来说是必要 的。
[0004] 建立物理安全系统的常规方式是基于在私有且防干扰的环境中建立含有处理器 及存储器元件的处理系统,所述私有且防干扰的环境通常使用主动入侵检测器来实施。提 供高级抗干扰可能十分昂贵。此外,这些系统的应用限于执行较小数目的安全性关键操作, 这是因为系统计算能力受到可围封在小型抗干扰封装中的组件的限制。此外,这些处理器 不够灵活,例如,其存储器或I/O子系统无法容易地升级。
[0005] 仅要求单个处理器芯片具有抗干扰性将显著增强安全计算能力,使得具有较严苛 的计算要求的应用成为可能。近来已提出安全处理器,其中仅单个处理器芯片是受信任的 且包含芯片外存储器的所有其它组件的操作由所述处理器验证。
[0006] 为实现单芯片安全处理器,必须开发防止攻击者干扰芯片外的不受信任的存储器 的两个主要基元(primitive):存储器完整性验证及加密。完整性验证检查敌对者是否改 变运行程序的状态。如果检测到任何讹误(corruption),那么处理器中止被干扰的任何任 务以避免产生错误结果。加密确保存储在芯片外存储器中的数据的保密性。
[0007] 为具有价值,验证及加密方案不可以对计算施加过大的性能惩罚。
[0008] 鉴于芯片外存储器完整性验证,安全处理器可提供其中软件过程可在经认证环境 中运行的干扰明显(TE)环境,使得确保检测到敌对者的任何物理干扰或软件干扰。TE环境 实现例如经证明的执行及商业网格计算等应用,其中可在确保正确处理数据的计算环境的 情况下出售计算能力。TE处理的性能开销主要取决于完整性验证的性能。
[0009] 在使用完整性验证及加密两者的情况下,安全处理器可提供私有且经认证的抗干 扰(PTR)环境,其中,此外,敌对者无法通过干扰或以其它方式观察系统操作来获得关于所 述环境中的软件及数据的任何信息。PTR环境可实现可信第三方计算、安全移动代理及数字 版权管理(DRM)应用。
[0010] 首字母缩写词、缩写词及宙义
[0011]


【发明内容】

[0012] 展示一种运行中加密引擎,所述运行中加密引擎可操作以加密被写入到多区段外 部存储器的数据,且还可操作以解密从所述外部存储器的经加密区段读取的数据。在存储 器写入之后还计算消息认证码(MAC)且将所述消息认证码(MAC)与经加密数据一起写入到 外部存储器。在经加密存储器区段的读取期间再次计算MAC,且将结果与在经加密写入操作 期间写入的MAC进行比较。在计算出的MAC与写入的MAC失配的情况下,发信号通知所述 处理器指示无效数据的错误。
【附图说明】
[0013] 在图式中说明本发明的这些方面及其它方面,其中:
[0014] 图1展示本发明的框图。
[0015] 图2为AES加密标准的高级流程图,
[0016] 图3展示运行中加密系统的高级框图,
[0017] 图4展示AES模式0处理的框图,以及
[0018] 图5为AES模式1处理的框图。
【具体实施方式】
[0019] 图1展示本发明的高级架构。块101为运行中加密引擎,所述运行中加密引擎定 位在处理器总线103与总线104之间且经由总线105连接到外部存储器接口 106。经由总 线103将配置数据加载到配置寄存器102中,且经由总线104将未加密数据写入/读取到 101。经由总线105将经加密数据传达到外部存储器接口 106/从外部存储器接口 106传达 经加密数据。外部存储器107连接到106且由106控制。外部存储器107可由多个存储器 区段组成。这些区段可为未经加密或经加密的,且可使用相异及不同的加密密钥来加密所 述区段。
[0020] 虽然对所采用的加密方法没有限制,但本文中描述的实施方案是基于高级加密标 准(AES)。
[0021] AES为具有128位的块长度的块密码。所述标准允许三种不同的密钥长度:128位、 192位或256位。对于128位密钥来说,加密由10轮处理组成,对于192位密钥来说,加密 由12轮处理组成,且对于256位密钥来说,加密由14轮处理组成。
[0022] 每一轮处理包含基于单个字节的替换步骤、逐行排列步骤、逐列混合步骤及轮密 钥的添加。执行这四个步骤的次序对于加密及解密来说是不同的。
[0023] 通过将密钥扩展到由44个4字节字组成的密钥调度表来产生轮密钥。
[0024] 图2展示使用128位密钥的AES的总体结构。在密钥调度器210中产生轮密钥。 在加密期间,将128位纯文本块201提供到块202,在块202处将第一轮密钥添加到纯文本 块201。将201的输出提供到块203 (在块203处计算第一轮),接着是块204中的轮2到 轮10。块204的输出为所得的128位密码文本块。
[0025] 在解密期间,将128位密码文本块206提供到207,在207处将128位密码文本块 206添加到最后一个轮密钥一在加密期间由轮10使用的轮密钥。在此操作之后是使用适当 轮密钥以与轮1到轮10在加密期间的使用次序相反的次序计算轮1到轮10。208 (轮10) 的输出为128位纯文本块209。
[0026] 图3为运行中加密/解密功能的高级框图。待在存储器写入操作期间加密的纯文 本提供在数据总线305上,其中经解密的纯文本输出在存储器读取期间处在相同总线305 上。在总线306上提供配置数据。经加密数据总线307介接到外部存储器控制器。
[0027] 将配置数据从总线306输入到配置块301。AES核心块302含有执行加密工作的 12个AES核心及6个GMAC核心。
[0028] 此块执行由所述调度器定义的适当AES/GMAC/CBC-MAC操作。
[0029] 将AES核心及GMAC核心的一半指派到RD路径且将另一半指派到WRT路径。
[0030] 因为GMC核心的操作速度为AES核心的两倍,因此,需要一半。
[0031] AES操作具有称为AES CTR及ECB+的2种操作模式。
[0032] 针对每一唯一密钥更新写入一次及读取<n>次来优化AES CTR。
[0033] 针对每一唯一密钥更新写入<n>次及读取<n>次来优化ECB+。
[0034] 命令缓冲器块303通过接受在数据总线305上提交的新事务而跟踪并存储所有活 动事务。命令缓冲器块303跟踪对提交到EMIF的命令的外部存储器接口(EMIF)响应。使 用此信息,〇TFA_EMIF具有确定哪一个命令与EMIF响应相关联的能力。需要此来确定哪一 个命令及地址与EMIF所呈现的读取数据相关联。
[0035] 调度器块304为主控制块,其控制
[0036] ?数据路径路由
[0037] · AES/MAC 操
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1