CN104982003A - 秘密可再生性 - Google Patents

秘密可再生性 Download PDF

Info

Publication number
CN104982003A
CN104982003A CN201380069557.4A CN201380069557A CN104982003A CN 104982003 A CN104982003 A CN 104982003A CN 201380069557 A CN201380069557 A CN 201380069557A CN 104982003 A CN104982003 A CN 104982003A
Authority
CN
China
Prior art keywords
bit
secret
correcting code
bits
code module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380069557.4A
Other languages
English (en)
Other versions
CN104982003B (zh
Inventor
迈克尔·卡拉-伊万诺夫
艾维德·克普内斯
扎奇·雷门
埃夫拉伊姆·曼吉尔
埃雷兹·瓦丝芭德
雅克夫·贝尔恩基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Acano UK Ltd
Original Assignee
NDS Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NDS Ltd filed Critical NDS Ltd
Publication of CN104982003A publication Critical patent/CN104982003A/zh
Application granted granted Critical
Publication of CN104982003B publication Critical patent/CN104982003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

描述了用于从根秘密推导出从属秘密的方法、系统、和装置,该方法、系统、和装置包括:预留集成电路中包括的存储器缓冲器,该存储器缓冲器足够大以容纳将包括从属秘密的所有比特,从根秘密接收多个比特,根秘密被存储在集成电路的安全存储器中,将来自根秘密的多个比特和至少一个控制比特输入到置换网络中,从而产生多个输出比特,至少一个控制比特包括值g的一个比特、以及接收g作为输入的函数的输出的一个比特中的一项,从置换网络接收多个输出比特,将来自置换网络的多个输出比特输入到多个逻辑门,从而对多个输出比特进行组合,其中从逻辑门输出固定数目的比特,将由逻辑门输出的固定数目的比特输入到误差校正码模块中,由逻辑门输出的固定数目的比特包括第一群组的中间输出比特和第二群组的中间输出比特,并从误差校正码模块接收输出比特,误差校正码模块的输出比特包括被误差校正码模块改变的第一群组的中间输出比特,其中该改变取决于第二群组的中间输出比特,用被误差校正码模块改变的第一群组的中间输出比特填充预留的存储器缓冲器中未填满的寄存器,以及重复“从根秘密接收多个比特”到“填充预留的存储器缓冲器中未填满的寄存器”的步骤直至整个从属秘密被推导出来为止,其中“从根秘密接收多个比特”到“填充预留的存储器缓冲器中未填满的寄存器”的步骤是在集成电路的单时钟周期中被执行的。还描述了相关的装置、方法、和系统。

Description

秘密可再生性
技术领域
本发明涉及设备秘密,更具体地涉及替换受损的设备秘密。
背景技术
由加利福尼亚州门洛(Menlo California)的斯坦福研究所的AbrahamWaksman所作的、可在互联网上于www.cs.gsu.edu/~wkim/index_files/permutation_network.pdf处得到的“APermutation Network”描述了交换网络的构建,该交换网络能够进行它的n个输入端子到它的n个输出端子的n!种置换。此网络的构造块是能够将它们的两个输入端子置换为它们的输出端子的二进制单元。
由Ania Becker、Antoine Joux、Alexander May、和Alexander Meurer在EuroCRYPT 2012中公开的、可在互联网上于eprint.iacr.org/2012/026.pdf处得到的“Decoding Random Binary LinearCodes in 2n/20:How 1+1=0 Improves Information Set Decoding”描述了在提高针对二进制随机码的最佳解码算法的运行时间上的最新进展。该论文被总结于幻灯片中,该幻灯片也可在互联网上于cbc2012.mat.dtu.dk/slides/Meurer.pdf处得到。
以下专利和专利申请被认为反映了本领域的现状:
Takayama的US 8,155,320;
Sozzani等的US 7,620,186;
Matyas等的US 7,051,211;
Brands的US 5,696,827;
Daemen等的US 2009/0067630;
Kocher的US 2008/0049940;以及
Honaoka等的US 2007/0230705。
发明内容
本发明在某些实施例中寻求提供用于为设备生成新秘密的改进方法和系统。
因此,根据本发明的实施例提供了一种用于从根秘密推导出从属秘密的方法,该方法包括:(a)预留集成电路中包括的存储器缓冲器,该存储器缓冲器足够大以容纳将包括从属秘密的所有比特,(b)从根秘密接收多个比特,根秘密被存储在集成电路的安全存储器中,(c)将来自根秘密的多个比特和至少一个控制比特输入到置换网络中,从而产生多个输出比特,至少一个控制比特包括值g的一个比特、以及接收g作为输入的函数的输出的一个比特中的一项,(d)从置换网络接收多个输出比特,(e)将来自置换网络的多个输出比特输入到多个逻辑门,从而对多个输出比特进行组合,其中从逻辑门输出固定数目的比特,(f)将由逻辑门输出的固定数目的比特输入到误差校正码模块中并从误差校正码模块接收输出比特,由逻辑门输出的固定数目的比特包括第一群组的中间输出比特和第二群组的中间输出比特,误差校正码模块的输出比特包括被误差校正码模块改变的第一群组的中间输出比特,其中改变取决于第二群组的中间输出比特,(g)用被误差校正码模块改变的第一群组的中间输出比特填充预留的存储器缓冲器中未填满的寄存器,以及(h)重复步骤b-g直至整个从属秘密被推导出来为止,其中步骤b-g是在集成电路的单时钟周期中被执行的。
另外,根据本发明的实施例,多个逻辑门包括多个异或门。
另外,根据本发明的实施例,将来自根秘密的多个比特和至少一个控制比特输入到置换网络中包括:将来自根秘密的多个比特中的两个比特与至少一个控制比特中的一个比特一同输入到包括置换网络的第一层的多个方块中的每一个方块中;以及将来自置换网络的先前层的两个输出比特与至少一个控制比特中的一个比特一同输入到包括置换网络的第一层之后的每一层中的一层的多个方块中的每一个方块中。
此外,根据本发明的实施例,误差校正码模块包括以下项中的一项:Hamming(7,4)误差校正码模块;Reed-Muller误差校正码模块;Reed-Solomon误差校正码模块;以及Hamming(15,11)误差校正码模块。
此外,根据本发明的实施例,值g是从头端接收的,从而确保头端和集成电路使用相同的值g来推导从属秘密。
另外,根据本发明的实施例,接收g作为输入的函数包括哈希函数,g在被输入到置换网络中之前被输入到哈希函数中。
另外,根据本发明的实施例,接收g作为输入的函数包括控制电路,该控制电路包括与置换网络相同数目的等级,控制电路接收包括g的比特作为输入比特并且输出比特值,该比特值作为控制比特被输入到置换网络中包括的并行等级。
此外,根据本发明的实施例,接收g作为输入的函数包括哈希函数和控制网络,g被输入到哈希函数中,哈希函数的输出被输入到控制网络中,控制网络输出比特值,该比特值作为控制比特被输入到置换网络中包括的并行等级。
此外,根据本发明的实施例,附加的任意选择的比特包括对误差校正模块和哈希函数二者的附加输入。
另外,根据本发明的实施例,包括:将多个任意选择的比特作为附加输入输入到哈希函数并且还作为附加输入输入到误差校正码模块。
另外,根据本发明的实施例,一种设备包括操作以执行这里所述的方法的装置。
此外,根据本发明的实施例,一种头端包括操作以执行这里所述的方法的装置。
根据本发明的另一实施例,还提供了一种用于从根秘密推导出从属秘密的系统,该系统包括:(a)预留的存储器缓冲器,该预留的存储器缓冲器被包括于集成电路中,该存储器缓冲器足够大以容纳将包括从属秘密的所有比特,(b)从根秘密接收的多个比特,根秘密被存储在集成电路的安全存储器中,(c)置换网络,来自根秘密的多个比特和至少一个控制比特被输入到该置换网络中,从而产生多个输出比特,至少一个控制比特包括值g的一个比特、以及接收g作为输入的函数的输出的一个比特中的一项,(d)多个逻辑门,该多个逻辑门从置换网络接收多个输出比特并且来自置换网络的多个输出比特被输入到该多个逻辑门中,从而对该多个输出比特进行组合,其中从逻辑门输出固定数目的比特,(e)误差校正码模块,由逻辑门输出的固定数目的比特被输入到误差校正码模块中,由逻辑门输出的固定数目的比特包括第一群组的中间输出比特和第二群组的中间输出比特,并从误差校正码模块接收输出比特,误差校正码模块的输出比特包括被误差校正码模块改变的第一群组的中间输出比特,其中该改变取决于第二群组的中间输出比特,(f)预留的存储器缓冲器中的多个寄存器,该多个寄存器中未填满的寄存器被填充以被误差校正码模块改变的第一群组的中间输出比特,以及(g)其中b-f中所述的装置被调用直至整个从属秘密被推导出来为止,其中调用b-f中所述的装置是在集成电路的单时钟周期中被执行的。
附图说明
根据以下详细描述并结合图示,本发明将被更完整地理解和认识,其中:
图1是多个用户的简化插图,其中,每个用户都正在使用根据本发明的实施例构建和操作的设备;
图2是图1中的任意设备中包括的集成电路的简化高层次框图;
图3是用于图1中的设备和头端170的置换网络的简化图示;
图4A是图3的置换网络中的单个逻辑电路(“方块(box)”)的简化图示;
图4B是图4A的单个逻辑电路的一种操作方法的简化图示;
图4C是图4A的单个逻辑电路的另一种操作方法的简化图示;
图5是示出图1的设备中操作以产生从属密钥的数据流的简化图;
图6是示出图1的设备中操作以产生从属密钥的增强数据流的简化图;
图7是示出控制电路与图6的置换网络并行工作的实施例的简化图;以及
图8是示出用于图1的系统实施例的方法的流程图。
具体实施方式
现在参考图1,其是多个用户的简化插图,其中,每个用户都正在使用根据本发明的实施例构建和操作的设备。在图1中,爱丽丝110、鲍勃120、和夏娃130三个用户均被示出为正在使用设备140、150、160来利用内容。设备140、150、160被示出为包括智能卡、机顶盒(以便观看电视节目)的系统和/或包括带有安全组件的集成电路的其他系统。然而,本领域技术人员将明白,包括被用于保护内容或任何其他安全数据项的安全的秘密的任何设备可以是可在其中实现本发明的实施例的设备。
在图1中,所示出的两个用户(爱丽丝110和鲍勃120)是合法用户,遵守由他们使用设备140、150来进行内容消费所引起的所有适用法律、法规、和许可证协议。然而,夏娃130是攻击者,其试图绕过由她对她的设备160的使用所引起的适用法律、法规、和许可证协议。夏娃在设备160上的攻击可包括但不限于:试图获得对设备160上存储的秘密的访问。这样的秘密可被用作用于对在设备140、150、160上采用的内容的加密/解密或用于本领域已知的其他密码用处的密钥。
一旦夏娃获得了对设备160上存储的秘密中的一个秘密的访问,夏娃就能够将该秘密分发到互联网上,从而使得这一个秘密对爱丽丝110和鲍勃120、以及梅拉(未示出)和类似设备的任何其他用户可用。爱丽丝110、鲍勃120、梅拉(未示出)、和任何其他用户中的任一者可通过互联网获得该秘密并使用该秘密来获得对内容的访问。这种使得非法获取的秘密在互联网上可用的方法被称为密钥共享(key sharing)。
应认识到,夏娃想要在互联网上共享的秘密通常是临时(从属)秘密,而夏娃想要获得对其的访问的秘密是永久(根)秘密。更一般地,秘密共享只是获得对永久根秘密的访问的若干可能目标中的一个。其他潜在目标包括但不限于:
产生对设备(或它的硬件或软件)的克隆;以及
获得设备秘密的知识,其将帮助搜索和/或探寻设备秘密的易损性(例如,设备是否正在运行利用受损密钥加密和/或签名的程序代码)。
因此,期望具有一种通过能够主动地用替换秘密来替换被显露的秘密以从这样的攻击中恢复的方法。还期望使得新的替换秘密是不可从旧的受损秘密推导出来的。此外,新的替换秘密还必须对头端170、内容项提供商、或对系统中的内容项进行保护的安全提供商可用。另外,鉴于芯片(例如但不限于:智能卡芯片、机顶盒安全芯片、以及用于诸如膝上型计算机、平板计算设备、和智能电话之类的其他设备的安全芯片)的序列化的成本是昂贵且复杂的操作,期望能够使用这些安全芯片的休眠特性来在不需要替换受损芯片的情况下在已经在场的芯片内部生成替换秘密。
现在参考图2,其是图1中的任意设备中包含的集成电路200的简化高等级框图。每个设备140、150、160包括集成电路200,该集成电路200包括安全存储设备210,该安全存储设备210包括至少一个根秘密220。应认识到,集成电路200可被直接包括在设备140、150、160中,或者可替换地,集成电路200可被实施在可移除安全元件(例如但不限于智能卡)中。术语“安全存储设备”被理解为指代存储器或者永久地存储信息的任何其他装置或技术,根据本发明的发明人的观点,这种装置或技术不受本领域反向工程技术的现状的影响。例如,在不限制上述内容的普遍性的情况下,特殊单元可被用于存储根秘密。如果单元A的布局与第二单元(单元B)相同(当两个单元在显微镜下被查看时),但单元A的逻辑功能不同于单元B的逻辑功能,那么单元(单元A)被视为特殊单元。
多个从属秘密230是从根秘密220通过以下方式推导出来的,该方式使得即使有一个或多个从属秘密230被损坏,损坏该一个或多个从属秘密230的攻击者也无法从受损的(一个或多个)从属秘密230中获得任何关于根秘密220的进一步信息。攻击者也不能够获得像受损的从属秘密230那样从同一根秘密200推导出的任何其他过去和/或将来的从属秘密230。只有从属秘密230被设备140、150、160中的组件和算法使用。如果从属秘密230被损坏,则通过使用本发明的实施例,新的从属秘密230能够从根秘密220中被推导出来并被用于替换受损的从属秘密230。
根秘密220仅被用于从属秘密230的安全推导。根秘密220的任何其他使用将势必将根秘密220暴露于被显露的过度且不可接受的风险。
从属秘密230被存储于存储设备240中,存储设备240通常包括长期存储器,该长期存储器被包括于集成电路中。应认识到,存储设备240还可包括安全存储设备(除了安全存储设备210之外)。(应认识到,在此情形中,“安全”是通过比较的形式相对于其他较不安全的电路内存储器而言的。)然而,存储设备240通常没有安全存储设备210安全。
集成电路200还包括逻辑电路250,将参考图3-6在下面对其更详细地描述。逻辑电路250接收根秘密220和输入数据260,以便产生从属秘密230,如将在下面所描述的。
在随后的阶段,所存储的从属秘密230在集成电路200中所包括的密码引擎270中被集成电路200用作对未加密内容280进行加密和/或对加密内容290进行解密的密钥;此外,从属秘密230可被用于本领域所知的其他密码函数,例如用于签名、哈希函数(hash function)等等中。
从根秘密220推导出从属秘密230的过程被执行,以使得关于根秘密220的任何信息不被存储在集成电路200的触发器(flip-flop,未示出)中。触发器(未示出)中仅存储了推导出的从属秘密230。
因为根秘密220未被存储在集成电路200的触发器(未示出)中,所以从属秘密230是在集成电路200的一个CPU周期中从根秘密220推导出来的。类似地,用于推导从属秘密230的所有中间步骤是在集成电路200的一个CPU周期内被执行的。
如上所述,本发明的实施例需要至少两个实体:头端170和集成电路200。头端170和集成电路200两个实体中的每一个实体都具有使得这两个实体均能够从根秘密220推导出从属秘密230的相应电路。为了使得这两个实体能够将从属秘密230用作共享的密码秘密,用于推导从属秘密230的相应电路并行地工作。也就是说,如果新的从属秘密230在设备140、150、160中的任一者上被推导出来,那么相同的新的从属秘密230相应地在头端170处被推导出来。给出相同的输入数据260,头端170推导出与一个设备(例如,设备140)相同的从属密钥230。简而言之,应当在头端170和设备140之间是协调从属密钥230,但也可以是头端170和设备140共享一个从属密钥230,头端170和设备150共享另一从属密钥230等等(并且这是正常的情形)。这种情况的结果是:到设备140、150、160中的每一个所包括的集成电路的逻辑电路250的输入数据260在个体的基础上与到头端170所包括的集成电路的逻辑电路250的输入数据260相同。确保设备140、150、160与头端170二者中的输入数据260是同一输入数据260的一种方式是头端170将输入数据260发送至设备140、150、160,以用作到它们各自的集成电路200的输入。
作为对下面内容的介绍,输入数据250的比特和根秘密220的比特(如将在下文所述的那样)被首先输入到置换网络中(见下文对图3的描述)。置换网络的输出被输入到逻辑电路(例如但不限于,异或(XOR)电路)中,并且最终,逻辑电路的输出被输入到误差校正功能(见下文对图5和图6的描述)。
在设备140、150、160和头端170中所包括的集成电路200中均实现至少满足以下要求的函数(此后被写为f(g,R)):
1.针对任何给定值g,函数f(g,R)是R的线性函数;以及
2.g的较小改变(例如,1比特改变)导致f(g,R)的较大(即,约一半比特)改变。
此外,如果存在一个或多个输入比特的改变,那么输出比特中的任何一个比特将有约一半的时间被改变。
本发明的发明人认为,函数f(g,R)可用置换网络(如由加利福尼亚州门洛的斯坦福研究所的Abraham Waksman所作的、可在互联网上于www.cs.gsu.edu/~wkim/index_files/permutation_network.pdf处得到的“APermutation Network”所述)来构建,该置换网络使得一旦实现了对控制比特的适当要求(如下所述),那么函数f(g,R)就能够满足上文提到的要求。也可以使用本领域已知的其他适当的置换网络。
现在参考图3,其是用于图1中的设备140、150、160和头端170的置换网络的简化图示。置换网络300是由数层相同的逻辑电路构建的,置换网络300中示出的多个方块中的每个方块表示相同的逻辑电路之一。
现在另外参考图4,其是图3的置换网络中的单个逻辑电路400(“方块”)的图示。相同的逻辑电路400(方块)中的每一个被构造为使得逻辑电路400接收一比特的控制输入(表示为C)。此外,相同的逻辑电路400中的每一个接收两比特的数据输入,这两比特的数据输入中的每个比特分别被表示为I1和I2。另外,相同的逻辑电路400中的每一个输出两比特的数据输出,这两比特的数据输出中的每个比特分别被表示为O1和O2。以下规则是每个相同的逻辑电路400的输入数据和输出数据之间的关系之下潜在的规则:
如果C=0,那么O1=I1且O2=I2;否则,O1=I2且O2=I1
现在另外参考图4B和4C。
图4B是图4A的单个逻辑电路400A的一种操作方法的简化图示,图4C是图4A的单个逻辑电路400B的另一种操作方法的简化图示。在图4B中示出的图4A的单个逻辑电路400A的实施例中,C=0,因此O1=I1且O2=I2。在图4C中示出的图4A的单个逻辑电路400C的实施例中,C=1,因此O1=I2且O2=I1。本领域技术人员将认识到,为了实现置换网络300的目的,这等同于:
如果C=0,那么O1=I1且O2=I2;否则,O1=I2且O2=I1
置换网络300将满足上文所述的要求:
1.针对任何给定值g,函数f(g,R)是R的线性函数;以及
2.g的较小改变(例如,1比特改变)导致f(g,R)的较大改变。
还认识到,如果R是256比特长,那么需要诸如图3中所示的那样的置换网络的32个实例,或者一个这样的置换网络可能需要被使用32次。另外,在本发明的一些实施例中,优选地使用以256比特的R作为输入并且具有将R的256比特混合在一起的十层的类似置换网络方案。
采用上文定义的函数f(g,R),根秘密220用作置换网络300的数据输入(即,I1和I2)。也就是说,根秘密220对应于函数中的R。输入数据260对应于函数f(g,R)中的g,其提供一比特的控制输入并且在置换网络300的论述中被标示为C。
现在另外参考图5,其是示出图1的设备中的数据流的简图,该数据流可操作以产生从属密钥。
在这里所述的本发明的实施例的最简单的实现方式中,g的每个比特被用作数个方块的控制比特C(例如,通过如本领域技术人员将清楚明白的复用方式)。
置换网络300的输出O1、O2、...被划分成n个非不相交的比特群组,并且如下面参考图5和6所述的那样,每个群组中的每个比特被异或、或者被以任何其他方式(例如但不限于,诸如与、或、非之类组合的其他逻辑操作)进行组合,从而给出n比特的结果。本领域技术人员将认识到,单独的与(AND)或者或(OR)一般不被用于通过单独地使用与或者或来组合数个比特一结果将被严重地偏置为0。
为了进行以下论述,假设f(g,R)返回7比特。
本领域技术人员将认识到:如果攻击者知道实现函数f(g,R)的电路并输入许多不同的输入gi(对应于输出f(gi,R)(即,从属秘密230))但是不知道根秘密220,那么为了找到根秘密220,攻击者将不得不求解具有误差的线性等式的系统。求解具有误差的线性等式的系统在误差校正码领域是公知的计算难题。参见“Decoding Random Binary Linear Codes in 2n/20:How 1+1=0 Improves Information Set Decoding”,其可在互联网上于eprint.iacr.org/2012/026.pdf处得到,并且被总结于在Crypto 2012处呈现的幻灯片中,该幻灯片也可在互联网上于cbc2012.mat.dtu.dk/slides/Meurer.pdf处得到。
因此,逻辑门(即,异或(XOR)门、或与、或、非门的组合)的输出被输入到误差校正模块(在下面的示例中为汉明(Hamming)7,4)中。将逻辑门的输出输入到误差校正模块(参见下文图5中的项530)产生似乎是逻辑门的输出中的“误差”,因而有效地将输出比特转变为具有误差的线性等式的系统。
为了产生从属秘密230的一部分,头端170针对输入数据260选取随机值或伪随机值g0,并计算f(g0,R)。在得出的7比特值中,至多一个比特可被改变,为此结果b1b2b3b4b5b6b7,具有以下条件:
b 1 ⊕ b 3 ⊕ b 5 ⊕ b 7 = 0
b 2 ⊕ b 3 ⊕ b 6 ⊕ b 7 = 0
b 4 ⊕ b 5 ⊕ b 6 ⊕ b 7 = 0
以上示例是已知的Hamming码(7,4)的实现方式。
逻辑门的七个输出比特(被输入到误差校正模块中)被有效地分为两个不同群组的中间比特:第一群组的四个中间输出比特b3b5b6b7540;和第二群组的三个中间输出比特b1b2b4。本领域技术人员将认识到,第一群组的中间输出比特中的一些比特可被误差校正码改变。
存储器缓冲器被留出,以容纳最终将形成从属秘密230的所有比特。四个比特b3b5b6b7被用于填充预留的存储器缓冲器中未填满的寄存器。应认识到,剩下的三个比特b1b2b4是奇偶校验/误差校正码。本领域技术人员将认识到,上文所述的通常在1比特校正后从b1b2b3b4b5b6b7中推导出b3b5b6b7是Hamming码(7,4)误差校正码的应用(如上文所示),该误差校正码使用7比特来对4比特的值进行编码并且能够校正1比特的误差。
上文所述的过程被重复,直到整个从属秘密230被推导出来为止。
可替换地,可使用任何其他误差校正码。已知的误差校正码包括Reed-Muller误差校正码和Reed-Solomon误差校正码。
对以上论述进行总结,参考图5,来自根秘密220和输入数据260的比特分别提供了针对置换网络300的输入和控制比特。在函数f(g,R)中,来自根秘密220的比特是R并且来自输入数据260的比特是g。输出比特被输入到多个异或门520中,并且被彼此异或(或者如上文所述,被输入到逻辑门的其他组合)。从异或门520输出的比特被输入到误差校正逻辑电路530中。由误差校正逻辑电路530输出以填充预留的存储器寄存器直到比特足够多的第一群组的四个中间输出比特540被推导出来,以完成整个从属密钥230。应认识到,每当第一群组的四个中间输出比特被推导出来时,来自g的附加比特作为控制比特被输入到置换网络300。
上述论述聚焦于头端170侧的操作。相同的操作在每个设备140、150、160所包括的集成电路200处被执行。然而,为了确保根秘密220的值保持为秘密,执行这些计算的硬件被设计为使得上文所述的计算是在集成电路的单时钟周期中被执行的。类似地,用于推导从属秘密230的所有中间步骤是在集成电路200的一个单时钟(CPU)周期内执行的。
现在参考图6,其是示出图1的设备中的增强数据流的简图,该增强数据流可操作以产生从属密钥。图6示出了图5的特征及对于上文所述的方案的附加可选增强。应认识到,图6中所示的附加可选增强可被独立使用,或者如所示的那样一起使用,或者以其任何适当组合的形式使用。
比特g(即,数据输入比特)260的函数输出,而非比特g自身被用作置换网络300的控制输入。例如,可以构建与置换网络300并行工作并且具有与置换网络300相同数目的等级的控制电路610,其中g的比特用作对控制电路610的输入。
现在附加地参考图7,其是示出控制电路610与图6的置换网络并行工作的实施例的简图。
如图6和图7所示,来自控制电路610的等级n的一些值用作置换网络300的相应的同一等级n上的控制输入615,并且控制电路610的等级n+1上的值被计算为多达n个等级上的值的简单逻辑函数(例如,异或、或者具有3-4个输入和输出的非线性方块)(即,控制网络610的入门等级对应于置换网络300的入门等级;控制网络610的后续等级对应于置换网络300的后续等级;等等)。本领域技术人员将认识到,这样的增强没有增加最长路径的长度,但使得g的每个比特可以影响置换网络中的所有方块中近一半的方块。
可替换地,不是使用包括g的比特(即,数据输入比特)260作为控制电路610的输入,包括g的比特可被输入到哈希函数620中。哈希函数620的输出然后可被输入到控制电路610中或者可替换地被直接输入到置换网络300中。本领域技术人员将认识到,这使得构建输入g1、g2(其中函数f(g1,R)和f(g2,R)相关联)的配对更加困难(即,一旦给定输出f(g1,R)和f(g2,R)之间不平凡的关系,寻找满足此关系的g1、g2会更加困难)。哈希函数620通常不能在一个时钟周期中被计算出来,所以它的用作对控制电路610的输入的结果通常将被存储在触发器(未示出)中。应认识到,R被选择以包括足够大量数目的比特,例如至少256比特,从而使得在这里所述的系统上指向求解具有误差的线性等式的系统的字典式攻击或其他攻击无效。
这里所述的另一种增强方法除了作为哈希函数620的输入的包括g的比特(即,数据输入比特260)之外还具有三个任意选取的比特630,使用c1、c2、c3。此外,针对误差校正后的7比特b1b2b3b4b5b6b7的条件从
b 1 ⊕ b 3 ⊕ b 5 ⊕ b 7 = 0
b 2 ⊕ b 3 ⊕ b 6 ⊕ b 7 = 0
b 4 ⊕ b 5 ⊕ b 6 ⊕ b 7 = 0
变为以下条件:
b 1 ⊕ b 3 ⊕ b 5 ⊕ b 7 = c 1
b 2 ⊕ b 3 ⊕ b 6 ⊕ b 7 = c 2
b 4 ⊕ b 5 ⊕ b 6 ⊕ b 7 = c 3
本领域技术人员将认识到,也可对其他误差校正方案应用类似的适用。通过示例的方式,下文是基于Hamming(15,11)的误差校正方案:
b 1 ⊕ b 3 ⊕ b 5 ⊕ b 7 ⊕ b 9 ⊕ b 11 ⊕ b 13 ⊕ b 15 = 0
b 2 ⊕ b 3 ⊕ b 6 ⊕ b 7 ⊕ b 10 ⊕ b 11 ⊕ b 14 ⊕ b 15 = 0
b 4 ⊕ b 5 ⊕ b 6 ⊕ b 7 ⊕ b 12 ⊕ b 1 13 ⊕ b 14 ⊕ b 15 = 0
b 8 ⊕ b 9 ⊕ b 10 ⊕ b 11 ⊕ b 12 ⊕ b 1 13 ⊕ b 14 ⊕ b 15 = 0
b 1 ⊕ b 3 ⊕ b 5 ⊕ b 7 ⊕ b 9 ⊕ b 11 ⊕ b 13 ⊕ b 15 = c 1
b 2 ⊕ b 3 ⊕ b 6 ⊕ b 7 ⊕ b 10 ⊕ b 11 ⊕ b 14 ⊕ b 15 = c 2
b 4 ⊕ b 5 ⊕ b 6 ⊕ b 7 ⊕ b 12 ⊕ b 1 13 ⊕ b 14 ⊕ b 15 = c 3
b 8 ⊕ b 9 ⊕ b 10 ⊕ b 11 ⊕ b 12 ⊕ b 1 13 ⊕ b 14 ⊕ b 15 = c 4
然后,以下11比特被用作用于构建误差校正后的从属秘密的输入:b3、b5、b6、b7、b9、b10、b11、b12、b13、b14、b15(即,对应于第一群组的四个中间输出比特)。应认识到:引入更少数目的误差并因此使用对更少数目的误差进行校正的误差校正码可使得这里所述的系统更易于受到攻击。因此,应当在开端处提供更多的根秘密比特。
然后,应认识到如果攻击者能够改变用作c1、c2、c3的三个比特不同于输入到哈希函数620的三个比特,那么这里所述的方案能够被轻易地破解。这是因为如果攻击者能够利用输入到误差校正逻辑的c1、c2、c3的八个不同值来执行相同的计算,那么攻击者将找到五组比特b3b5b6b7。五组比特b3b5b6b7中的一组比特b3b5b6b7将出现四次,而其他组的比特b3b5b6b7将各出现一次。出现四次的那一组是无需校正的一组比特。收集到足够多这样的b3b5b6b7组,就有可能构建没有误差的线性等式的系统并求解它。将相同比特c1、c2、c3馈送至哈希函数防止攻击者利用输入到误差校正逻辑的c1、c2、c3的不同值来执行相同的计算。
还应理解,正如本领域的工艺水平一样,安全存储器被用于存储根秘密,从而使得使用当前已知的方法,根秘密能够成为不可有效检测的,同样置换网络300误差校正码逻辑电路530、异或逻辑520、以及哈希函数620都能够被设计为能抵抗反向工程的工艺水平。
现在参考图8,其是示出用于图1的系统的实施例的方法的流程图。图8被认为在上述论述的教导下是不言自明的。
应认识到,如果需要的话,本发明的软件组件可被实现为ROM(只读存储器)形式。如果需要的话,一般可使用传统技术来在硬件中实现软件组件。还应认识到,软件组件可被实例化为例如计算机程序产品或在有形介质上被实例化。在一些情形中,可将软件组件实例化为可由合适的计算机解析的信号,尽管这样的实例化可被排除于本发明的某些实施例之外。
应认识到,本发明中为了清楚起见而在不同实施例的上下文中描述的各种特征还可在单个实施例中以组合的形式提供。相反,本发明中为了简明而在单个实施例的上下文中描述的各种特征还可被分离地或者以任何适当的子组合的形式提供。
本领域技术人员将认识到本发明不限于在上文具体示出和描述的内容。相反本发明的范围由所附权利要求以及等同限定。

Claims (13)

1.一种用于从根秘密推导出从属秘密的方法,所述方法包括:
a.预留集成电路中包括的存储器缓冲器,所述存储器缓冲器足够大以容纳将包括所述从属秘密的所有比特;
b.从根秘密接收多个比特,所述根秘密被存储在所述集成电路的安全存储器中;
c.将来自所述根秘密的所述多个比特和至少一个控制比特输入到置换网络中,从而产生多个输出比特,所述至少一个控制比特包括以下项中的一项:
值g的一个比特;以及
接收g作为输入的函数的输出的一个比特;
d.从所述置换网络接收所述多个输出比特;
e.将来自所述置换网络的所述多个输出比特输入到多个逻辑门,从而对所述多个输出比特进行组合,其中从所述逻辑门输出固定数目的比特;
f.将由所述逻辑门输出的所述固定数目的比特输入到误差校正码模块中,并从所述误差校正码模块接收输出比特,由所述逻辑门输出的所述固定数目的比特包括第一群组的中间输出比特和第二群组的中间输出比特,所述误差校正码模块的输出比特包括被所述误差校正码模块改变的所述第一群组的中间输出比特,所述改变取决于所述第二群组的中间输出比特;
g.用被所述误差校正码模块改变的所述第一群组的中间输出比特填充所述预留的存储器缓冲器中未填满的寄存器;以及
h.重复步骤b-g直至整个从属秘密被推导出来为止,
其中步骤b-g是在所述集成电路的单时钟周期中被执行的。
2.如权利要求1所述的方法,其中所述多个逻辑门包括多个异或门。
3.如权利要求1或2所述的方法,其中将来自所述根秘密的所述多个比特和所述至少一个控制比特输入到置换网络中包括:
将来自所述根秘密的所述多个比特中的两个比特与所述至少一个控制比特中的一个比特一同输入到包括所述置换网络的第一层的多个方块中的每一个方块中;以及
将来自所述置换网络的先前层的两个输出比特与所述至少一个控制比特中的一个比特一同输入到包括所述置换网络的第一层之后的每一层中的一层的多个方块中的每一个方块中。
4.如权利要求1-3中任一项所述的方法,其中所述误差校正码模块包括以下项中的一项:Hamming(7,4)误差校正码模块;Reed-Muller误差校正码模块;Reed-Solomon误差校正码模块;以及Hamming(15,11)误差校正码模块。
5.如权利要求1-3中任一项所述的方法,其中所述值g是从头端接收的,从而确保所述头端和所述集成电路使用相同的值g来推导所述从属秘密。
6.如权利要求1-5中任一项所述的方法,其中所述接收g作为输入的函数包括哈希函数,g在被输入到所述置换网络中之前被输入到所述哈希函数中。
7.如权利要求1或5所述的方法,其中所述接收g作为输入的函数包括控制电路,该控制电路包括与所述置换网络相同数目的等级,所述控制电路接收包括g的比特作为输入比特并且输出比特值,该比特值作为所述控制比特被输入到所述置换网络中包括的并行等级。
8.如权利要求7所述的方法,其中所述接收g作为输入的函数包括哈希函数和所述控制网络,g被输入到哈希函数中,所述哈希函数的输出被输入到所述控制网络中,所述控制网络输出比特值,该比特值作为所述控制比特被输入到所述置换网络中包括的并行等级。
9.如权利要求6或8所述的方法,其中附加的任意选择的比特包括对所述误差校正模块和所述哈希函数二者的附加输入。
10.如权利要求6或8中任一项所述的方法,还包括:将多个任意选择的比特作为附加输入输入到所述哈希函数并且还作为附加输入输入到所述误差校正码模块。
11.一种包括操作以执行权利要求1所述的方法的装置的设备。
12.一种包括操作以执行权利要求1所述的方法的装置的头端。
13.一种用于从根秘密推导出从属秘密的系统,所述系统包括:
a.预留的存储器缓冲器,该预留的存储器缓冲器被包括于集成电路中,所述存储器缓冲器足够大以容纳将包括所述从属秘密的所有比特;
b.从根秘密接收的多个比特,所述根秘密被存储在所述集成电路的安全存储器中;
c.置换网络,来自所述根秘密的多个比特和至少一个控制比特被输入到该置换网络中,从而产生多个输出比特,所述至少一个控制比特包括以下项中的一项:
值g的一个比特;以及
接收g作为输入的函数的输出的一个比特;
d.多个逻辑门,该多个逻辑门从所述置换网络接收所述多个输出比特并且来自所述置换网络的所述多个输出比特被输入到该多个逻辑门中,从而对所述多个输出比特进行组合,从所述逻辑门输出固定数目的比特;
e.误差校正码模块,由所述逻辑门输出的所述固定数目的比特被输入到该误差校正码模块中,由所述逻辑门输出的所述固定数目的比特包括第一群组的中间输出比特和第二群组的中间输出比特,并从所述误差校正码模块接收输出比特,所述误差校正码模块的输出比特包括被所述误差校正码模块改变的所述第一群组的中间输出比特,其中所述改变取决于所述第二群组的中间输出比特;
f.预留的存储器缓冲器中的多个寄存器,该多个寄存器中未填满的寄存器被填充以被所述误差校正码模块改变的所述第一群组的中间输出比特;以及
g.其中b-f中所述的装置被调用直至整个从属秘密被推导出来为止,
其中调用b-f中所述的装置是在所述集成电路的单时钟周期中被执行的。
CN201380069557.4A 2013-01-07 2013-07-10 秘密可再生性 Active CN104982003B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IL224129 2013-01-07
IL22412913 2013-01-07
PCT/IB2013/055658 WO2014106781A1 (en) 2013-01-07 2013-07-10 Secrets renewability

Publications (2)

Publication Number Publication Date
CN104982003A true CN104982003A (zh) 2015-10-14
CN104982003B CN104982003B (zh) 2017-05-31

Family

ID=49237542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380069557.4A Active CN104982003B (zh) 2013-01-07 2013-07-10 秘密可再生性

Country Status (4)

Country Link
US (1) US9407434B2 (zh)
EP (1) EP2932644B1 (zh)
CN (1) CN104982003B (zh)
WO (1) WO2014106781A1 (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569378A1 (en) * 2002-12-03 2005-08-31 Matsushita Electric Industrial Co., Ltd. Key sharing system, shared key creation device, and shared key restoration device
CN101282211A (zh) * 2008-05-09 2008-10-08 西安西电捷通无线网络通信有限公司 一种密钥分配方法
CN101986596A (zh) * 2010-10-21 2011-03-16 无锡江南信息安全工程技术中心 密钥管理机制

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5668878A (en) 1994-02-28 1997-09-16 Brands; Stefanus Alfonsus Secure cryptographic methods for electronic transfer of information
US5619575A (en) 1994-08-22 1997-04-08 United Technologies Automotive, Inc. Pseudorandom composition-based cryptographic authentication process
JPH10289213A (ja) * 1997-04-16 1998-10-27 Sharp Corp 演算処理機能を備えた電子式計算機
ATE360866T1 (de) 1998-07-02 2007-05-15 Cryptography Res Inc Leckresistente aktualisierung eines indexierten kryptographischen schlüssels
US6363485B1 (en) 1998-09-09 2002-03-26 Entrust Technologies Limited Multi-factor biometric authenticating device and method
US7051211B1 (en) 2000-08-21 2006-05-23 International Business Machines Corporation Secure software distribution and installation
US6857075B2 (en) * 2000-12-11 2005-02-15 Lucent Technologies Inc. Key conversion system and method
EP1519530A1 (en) 2003-09-29 2005-03-30 STMicroelectronics S.r.l. Method for establishing an encrypted communication by means of keys
FR2873467A1 (fr) 2004-07-26 2006-01-27 Proton World Internatinal Nv Enregistrement d'une cle dans un circuit integre
JP4820821B2 (ja) * 2004-08-12 2011-11-24 シー エム エル エー, リミテッド ライアビリティ カンパニー セキュリティ強化のための転置データ変換
US7826619B2 (en) 2005-08-23 2010-11-02 Ntt Docomo, Inc. Key-updating method, encryption processing method, key-insulated cryptosystem and terminal device
JP5090066B2 (ja) 2006-06-08 2012-12-05 パナソニック株式会社 データ格納装置、管理サーバ、集積回路、データ更新システム、家電機器、データ更新方法、暗号化方法、および、暗復号鍵生成方法
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
JP5369502B2 (ja) * 2008-06-04 2013-12-18 株式会社リコー 機器、管理装置、機器管理システム、及びプログラム
EP2404403B1 (en) * 2009-03-06 2019-12-04 Intrinsic ID B.V. System for establishing a cryptographic key depending on a physical system
US20140041040A1 (en) * 2012-08-01 2014-02-06 The Regents Of The University Of California Creating secure multiparty communication primitives using transistor delay quantization in public physically unclonable functions
US8843765B2 (en) * 2012-10-10 2014-09-23 Broadcom Corporation Key derivation system
US9009495B2 (en) * 2013-06-28 2015-04-14 Envieta, LLC High speed cryptographic combining system, and method for programmable logic devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1569378A1 (en) * 2002-12-03 2005-08-31 Matsushita Electric Industrial Co., Ltd. Key sharing system, shared key creation device, and shared key restoration device
CN101282211A (zh) * 2008-05-09 2008-10-08 西安西电捷通无线网络通信有限公司 一种密钥分配方法
CN101986596A (zh) * 2010-10-21 2011-03-16 无锡江南信息安全工程技术中心 密钥管理机制

Also Published As

Publication number Publication date
WO2014106781A1 (en) 2014-07-10
US9407434B2 (en) 2016-08-02
EP2932644A1 (en) 2015-10-21
US20150358160A1 (en) 2015-12-10
EP2932644B1 (en) 2019-04-24
CN104982003B (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
Li et al. A construction method of (t, k, n)-essential secret image sharing scheme
US9455833B2 (en) Behavioral fingerprint in a white-box implementation
JP7065888B6 (ja) 暗号装置及び方法
CN105049400A (zh) 在白盒实现方案中拆分s盒以防止攻击
CN103166751A (zh) 用于保护分组密码免受模板攻击的方法和装置
CN106888080A (zh) 保护白盒feistel网络实施方案以防错误攻击
US9485226B2 (en) Method for including an implicit integrity or authenticity check into a white-box implementation
CN105095695B (zh) 经由白箱实现的不正确功能行为实现授权
CN105721135A (zh) 在加密实施中的替换盒
CN105024992A (zh) 在单个白箱实现中实现使用相关安全性设置
CN105022937A (zh) 用于将白箱实现紧附到周围程序的接口兼容方式
Huynh et al. Quadri-directional searching algorithm for secret image sharing using meaningful shadows
EP2960891B1 (en) Method for introducing dependence of white-box implementationon a set of strings
Moe et al. Enhanced honey encryption algorithm for increasing message space against brute force attack
CN105978680A (zh) 在白盒实现方案中实现填充
US10412054B2 (en) Method for introducing dependence of white-box implementation on a set of strings
EP2940917B1 (en) Behavioral fingerprint in a white-box implementation
CN114430321B (zh) 基于dfa自适应安全的黑盒可追踪密钥属性加密方法及装置
CN105024808A (zh) 无需改变密钥的安全性补丁
Michiels Opportunities in white-box cryptography
CN104982003A (zh) 秘密可再生性
KR101687480B1 (ko) 에너지 관리 시스템을 위한 보안 서버 및 그 제어 방법
CN109120589B (zh) 一种基于加密密码的终端信息保护方法和装置
Tselekounis et al. Cryptographic techniques for hardware security
Keren et al. On resilience of security-oriented error detecting architectures against power attacks: A theoretical analysis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180824

Address after: The Middlesex County

Patentee after: ACANO UK LTD

Address before: Middlesex

Patentee before: NDS LIMITED