用于经由逻辑门加密来提高机密性的系统和方法

文档序号:9754234阅读:962来源:国知局
用于经由逻辑门加密来提高机密性的系统和方法
【专利说明】
[0001] 相关专利申请的交叉引用
[0002] 本申请涉及于2014年10月1日提交的名称为"Systems and Methods f or Enhancing Confidentiality Via Logic Gate Encryption"、列出的发明人为Robert Michael Muchsel^Donald Wood Loomis III^Edward Tangkwai Ma、Hung Thanh Nguyen、 Nancy Kow Iida和Mark Alan Lovell的美国临时申请62/058564并要求享有其优先权的权 益,此处通过引用的方式将该美国临时申请的全部内容并入全文。
技术领域
[0003] 本发明涉及数字电子设备中的安全应用,并且更具体地涉及为数字逻辑门加密的 系统、设备和方法。
【背景技术】
[0004] 用于逆向操纵(reverse engineer)物理IP的方法日益强大、可自动化并且可负担 得起。当今,富有经验的攻击者不怎么费力就能访问并逆向操纵嵌入在硬件中的秘密加密 及解密密钥。不到15,000美元就能获取数字电路的完整、带注释的分层网络表。这包括无法 获得专利或以其它方式受保护的电路一一公开所有权信息。这对芯片制造商及其顾客造成 若干严重的问题。一个相关问题是因失窃和设备的未授权分配而导致的密钥暴露。例如,分 包商可能销售过量的制造设备给他人,或以另一商标名称转售未能符合承包商生产规格的 不达标的设备。
[0005] 结果,制造商被迫花费可观的时间及金钱来开发对策以威慑对手。长期以来在软 件领域使用了若干加密、混淆和隐藏信息的方法。然而迄今,在硬件领域还没有可行的等效 方法。也没有产生能够实施这种技术的硬件。
[0006] 需要的是允许理想地使用兼容现有制造工具和过程的自动化步骤来保护硬件域 中的有价值的IP和信息的有效系统和方法。
【附图说明】
[0007] 参考本发明的实施例,可以在附图中示出其示例。这些图片旨在进行说明、而非进 行限制。虽然一般在这些实施例的背景下描述本发明,但应该理解,这并不旨在将本发明的 范围限制于这些特定的实施例。
[0008] 图片("图")1A显示了用于双输入NAND门的现有技术真值表。
[0009] 图1B显示了用NAND逻辑表示的逻辑函数的现有技术示例。
[0010] 图2是根据本发明的各实施例的用于解密逻辑密钥的总体图示。
[0011] 图3A显示了具有四个逻辑门的示例性逻辑函数。
[0012] 图3B示出了根据本发明的各实施例的用于图3A中的示例性逻辑函数的逻辑密钥 比特。
[0013] 图4示出了根据本发明的各实施例的使用普通逻辑块的示例性逻辑函数。
[0014] 图5示出了根据本发明的各实施例的通用可配置逻辑单元。
[0015] 图6示出了根据本发明的各实施例的图5中所示的通用可配置逻辑单元的细节。
[0016] 图7示出了根据本发明的各实施例的用于图5和图6的通用可配置逻辑单元的示例 性逻辑单元构造。
[0017] 图8为根据本发明的各实施例的用于图5和图6的通用可配置逻辑单元的示例性逻 辑单元输出。
[0018] 图9示出了通过使用无效或错误密钥来解密逻辑函数的效果。
[0019] 图10示出了根据本发明的各实施例的使用安全的物理元件的逻辑密钥保护。
[0020] 图11A和11B示出了根据本发明的各实施例的由初始逻辑函数计算等效信息。
[0021] 图12示出了根据本发明的各实施例的应用于图3A的逻辑函数的修改版本的软件 处理。
[0022] 图13为根据本发明的各实施例的用于确定逻辑密钥的说明性过程的流程图。
【具体实施方式】
[0023] 在下面的描述中,出于解释的目的,阐述了具体细节以提供对本发明的理解。然 而,对于本领域技术人员显而易见的是,无需这些细节也能实现本发明。本领域技术人员会 意识到,可以以多种方式并且使用多种手段来实现下述的本发明的实施例。本领域技术人 员还会意识到,额外的修改、应用和实施例都在本发明的范围内,如本发明可以提供实用性 的额外领域。因此,下述实施例说明了本发明的具体实施例并且意在避免使本发明难以理 解。
[0024] 本说明书中引用"一个实施例"或"实施例"意指在本发明的至少一个实施例中包 含结合实施例所描述的特定特征、结构、特性或功能。在本说明书中不同地方出现的短语 "在一个实施例中"、"在实施例中"等未必指的是同一实施例。
[0025] 此外,附图中的部件之间或方法步骤之间的连接不限于直接作用的连接。相反,可 以通过增加中间部件或方法步骤来修改或以其它方式改变部件或方法步骤之间的附图所 示的连接,而不会背离本发明的教导。
[0026] 图1A显示了用于双输入NAND门的现有技术真值表。公知的是能够使用诸如门等逻 辑元件的基本块来表示数字逻辑。在非常基础的级别,任何任意的数字逻辑函数都能排他 地用NAND门或N0R门来实施。实践中,标准的单元库包含比仅有NAND门更复杂的器件,但应 用的原理相同。为了更好地理解本发明,本文只显示了简单的门。
[0027]图1中的真值表100显示了用于两个输入X和Y的NAND门的输出值F,其指示逻辑函 数的输出由其输入确定。图1B显示了用NAND门表示逻辑函数的示例。能够任意或按照惯例 选择逻辑值160。彼此适当连接的五个NAND门的块能够用于输出图1B所示的逻辑函数170中 的任一个。作为示例,表150中的值#010表示AND函数180,假如使用NAND门的适当组合,AND 函数180能由表达式N0T(N0T(X AND Y) )190表示。基于这一原理,能够通过将多个基本NAND 门组合成较大的逻辑构建块来表示任何逻辑函数。
[0028]现在,如果逻辑函数的结果不仅由其输入确定,另外还由密钥(之后称为"逻辑密 钥")确定,如本发明所示的,那么不能仅通过逆向操纵逻辑函数本身来确定该逻辑函数的 功能,因为逻辑密钥保持未知,并且逻辑函数的输出能够具有任何可能的结果。
[0029] 逻辑密钥通常为能够存储在例如防篡改存储元件中的加密密钥。在本发明的一个 实施例中,逻辑密钥用于确定给定逻辑构建块的物理布线,以实际上为逻辑构建块加密。结 果,在不了解逻辑密钥的情况下对构建块的逆向操纵只显示构建块能够用来表示任何可能 的逻辑函数。然而,逆向操纵的逻辑块不会暴露逻辑的实际函数。可以直接使用逻辑密钥, 即无中间存储,使得每个比特控制一个逻辑元件。在一个实施例中,通过使用秘密的解密密 钥解密数据来创建逻辑密钥。
[0030] 图2是根据本发明的各实施例的用于解密逻辑密钥的总体图示。加密的逻辑密钥d 204和解密密钥X 206用于使用数学函数f(d,x)208生成解密的逻辑密钥k 210。逻辑密钥k 210最终为给定的逻辑构建块(未示出)确定适当的连接,如前所述。需要秘密的解密密钥X 206和加密的逻辑密钥d 204来计算k 210。在一个实施例中,解密密钥X 206与解密的逻辑 密钥210的长度不同。例如,X可以是用于解密相对较长的逻辑密钥k 204的128比特AES密 钥。本领域普通技术人员会理解可以使用对称以及非对称密码。
[0031] 加密的逻辑密钥204可以存储在安全的存储器中。将关于图10来讨论间接存储逻 辑密钥的另一示例。本领域普通技术人员会理解,每个方法具有其自己的优点,取决于给定 系统的实现方式和细节。本领域普通技术人员也将理解,对于能够如何布置和实施逻辑构 建块存在若干可能,本文仅详细讨论其中的某些可能性。
[0032] 在一个实施例中,为给定的要加密的逻辑电路(例如,执行敏感算法的二维x-y电 路)自动确定加密的逻辑密钥d 204。理想地,算法已经被测试并且其适当的工作条件已经 被验证。
[0033]图3A显示了具有四个逻辑门的示例性逻辑函数。如图3A所示,数字逻辑300中的四 个逻辑门302-308互相连接,并用其序列号S0 302至S3 308标记,其中S0 302为0R门,S1 304为AND门,S2 306为NOT门,并且S3 308为NAND门。对于任何给定的输入320w、x、y和z,逻 辑300输出函数N0T(AND(z,0R(N0T(y),AND(w,x))))。根据本发明的各实施例,图3B显示了 对应于每个逻辑门类型370的逻辑密钥比特360。逻辑密钥比特360的串联为此处的示例性 函数生成完整的逻辑密钥011010001000
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1