首页 / 专利库 / 资料储存系统 / 非易失性存储器 / 一种密钥和真随机数发生器及生成密钥和真随机数的方法

一种密钥和真随机数发生器及生成密钥和真随机数的方法

阅读:632发布:2024-01-11

专利汇可以提供一种密钥和真随机数发生器及生成密钥和真随机数的方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种密钥和真随机数发生器及生成密钥和真随机数的方法,发生器包括双仲裁器物理不可克隆模 块 DAPUF、触发 信号 产生寄存器TReg、应答采集寄存器RReg、微控器、LFSR、Hash引擎、易失 存储器 和非易失存储器。本发明的另一目的是提供密钥和真随机数的生成方法,包括(1)密钥初始化过程;(2)密钥重建过程;(3)真随机数初始化过程;(4)真随机数产生过程。本发明通过利用DAPUF的应答结合所提的步骤生成密钥和真随机数:1)生成密钥的误码率由DAPUF的噪声和多数选举法的选举次数决定,可以不受限制地降低生成密钥的误码率;2)N次更新LFSR使随机 种子 成为一个不确定的熵源,由不确定熵源作为挑战产生的应答经Hash处理后使输出的真随机数满足伪随机性。,下面是一种密钥和真随机数发生器及生成密钥和真随机数的方法专利的具体信息内容。

1.一种密钥和真随机数生成器,其特征在于,包括双仲裁器物理不可克隆模DAPUF、触发信号产生寄存器TReg、应答采集寄存器RReg、微控器Controller、线性反馈移位寄存器LFSR、Hash引擎、易失存储器RAM和非易失存储器ROM;
所述双仲裁器物理不可克隆模块DAPUF由敏感电路和仲裁电路组成;所述敏感电路包含n个选择器,所述选择器包含上下两个输入端、一个控制端以及上下两个输出端,n个选择器按顺序排列,前一个选择器的上下两个输出端与后一个选择器的上下两个输入端相连接,每个选择器的控制端与LFSR中的一比特寄存器相连接;当选择器的控制端输入为0或者1时,选择器上输入端与上输出端连通以及下输入端与下输出端连通,或者上输入端与下输出端连通以及下输入端与上输出端连通;所述仲裁电路包含正负两个仲裁器,每个仲裁器均拥有上下两个输入端和一个输出端;敏感电路的第n个选择器的上下两个输出端分别与正仲裁器的上下两个输入端相连接,正负两个仲裁器的两个输入端交叉连接;DAPUF的n个选择器的控制端接收LFSR传送过来的挑战C,DAPUF的第一个选择器的两个输入端接收触发信号产生寄存器TReg传送过来的上升沿触发信号;LFSR传送过来的挑战C决定了敏感电路的上下两路信号的一种特定通路状态,两路上升沿触发信号沿着这种特定通路状态的两条通路最终送到正仲裁器和负仲裁器;正负两个仲裁器根据上下两路上升沿触发信号到达的先后顺序决定其输出,如果某个仲裁器的上输入端的上升沿比下输入端的上升沿先到达,则该仲裁器输出1,否则输出0;称DAPUF的输出为应答,正负两个仲裁器的应答存入应答采集寄存器RReg中;
所述触发信号产生寄存器TReg由两比特寄存器组成,其中一比特寄存器连接DAPUF敏感电路的第一个选择器的上输入端,另一比特寄存器连接DAPUF敏感电路第一个选择器的下输入端,在微控器Controller的控制下向TReg先写入00再写入11,从而为DAPUF的敏感电路提供上升沿触发信号;
所述应答采集寄存器RReg由两比特寄存器组成,一比特寄存器接收DAPUF的正仲裁应答,另一比特寄存器接收DAPUF的负仲裁应答,RReg所采集的应答交给微控器Controller处理;
所述微控器Controller用于读取存放在非易失存储器ROM中的辅助数据中的挑战C写入LFSR、控制LFSR线性反馈移位产生DAPUF的挑战、控制触发信号产生寄存器TReg产生DAPUF的上升沿触发信号、从应答采集寄存器RReg读取并处理DAPUF的应答、控制Hash引擎运算并读写易失存储器RAM和非易失存储器ROM,密钥和真随机数的产生也在微控器Controller的控制下完成;
所述线性反馈移位寄存器LFSR用于存放微控器Controller送来的挑战C,并在微控器的控制下线性反馈移位产生DAPUF的挑战;
所述Hash引擎存储有4个参数,所述每个参数均是一个任意随机数,其中第一参数与DAPUF的应答运算后由Hash引擎处理产生辅助数据中的应答单向结果HR,第二参数与DAPUF的应答运算后由Hash引擎处理产生密钥,第三参数与DAPUF的应答运算后由Hash引擎处理产生和更新随机种子Seed,第四参数与DAPUF的应答运算后经Hash引擎处理,所得的结果用于更新真随机数初始向量IV以及作为真随机数使用;所述参数的运算是异或或者连接运算,当用加密算法构造Hash引擎时,则所述参数的运算是指参数作为密钥或者明文参与加密运算;
所述易失存储器RAM用于存储微控器Controller运算过程中的临时变量;
所述非易失存储器ROM用于存储生成密钥所需要的辅助数据和产生真随机数的初始向量IV。
2.根据权利要求1所述的密钥和真随机数生成器生成密钥的方法,其特征在于,包括下述步骤:
S11、执行密钥初始化,产生生成密钥的辅助数据并且把辅助数据保存在非易失存储器ROM中;
S12、由密钥重建过程产生密钥,密钥重建过程基于密钥初始化时产生并保存的辅助数据中的挑战C找到多数选举法所需要的应答,然后通过多数选举法选举出重建应答,输出重建应答与第二参数运算后的Hash结果作为密钥。
3.根据权利要求2所述的密钥和真随机数生成器生成密钥的方法,其特征在于,步骤S11中,初始化具体为:测量多个挑战的DAPUF应答,每一个挑战对应正仲裁应答和负仲裁应答各一比特,以及一比特正负仲裁异或结果K_DAXOR;多个挑战中的第一个挑战C由微控器Controller写入LFSR中,从第二个挑战开始由LFSR线性反馈移位产生,一直到产生足够的有效比特为止,所述的有效比特是指K_DAXOR为1时对应的正仲裁应答;密钥初始化时需要产生Len*(K+1)比特有效应答,所述的Len是所产生密钥的长度,K是多数选举法的选举次数,K是一个基数;有效应答分成K+1组,其中第一组分别与第二到第K+1组异或,所得的K组异或结果形成分组异或结果GXR;密钥初始化后需要把(C,K_DAXOR,GXR)作为辅助数据保存在非易失存储器ROM中。
4.根据权利要求3所述的密钥和真随机数生成器生成密钥的方法,其特征在于,步骤S12中,密钥重建过程首先将辅助数据中的挑战C写入LFSR,然后根据K_DAXOR找到第Len+1号有效比特对应的挑战,整个密钥重建过程仅测量和记录第Len+1号到Len*(K+1)号有效应答;将密钥重建过程得到的Len*K比特应答分成K组与辅助数据中的GXR异或,所得到的K组候选数据通过多数选举法产生重建应答;所述的多数选举法是指候选数据中的顺序号为Len*0+1,Len*1+1,…,Len*K+1对应的值中,如果0出现的次数多则重建应答的第
1比特为0,否则重建应答的第1比特为1,如此类推产生第2到第Len比特重建应答;输出Len比特重建应答与第二参数运算后的Hash结果作为密钥并结束重建过程。
5.根据权利要求4所述的密钥和真随机数生成器生成密钥的方法,其特征在于,步骤S11中的GXR除包含有效正仲裁应答的异或结果,也包含对应的有效负仲裁应答的异或结果;此外,将第1到第Len比特有效正仲裁应答与参数1运算后的Hash结果HR作为辅助数据,从而使得辅助数据变成(C,K_DAXOR,GXR,HR);步骤S12中用多数选举法选举出有效正仲裁应答和有效负仲裁应答,选举后并不直接结束重建过程,而是再进一步降低噪声,其具体步骤如下:
S21:如果有效正仲裁应答与第一参数运算后的Hash结果与辅助数据中的HR相等,则有效正仲裁应答与第二参数运算后的Hash结果作为密钥并结束重建过程;
S22:选举出的有效正仲裁应答和有效负仲裁应答异或,得到Len比特正负仲裁异或结果DAXOR,DAXOR中为0的比特意味着要么对应位置的有效正仲裁应答出错,要么对应位置的有效负仲裁应答出错;设DAXOR中有g比特为0,则有效正仲裁应答可能在DAXOR为0相g
应的位置出现g比特错误,由此可以得到并记录2种有效正仲裁应答的可能取值,对每一种可能取值,与第一参数运算后的Hash结果如果等于HR,则将该可能取值与第二参数运算的Hash结果作为密钥并结束重建过程;
S23:对步骤S22中记录的每一种可能的有效正仲裁应答,每次取反其中的一比特得到FLR,把每一个FLR与第一参数运算后计算其Hash结果,将Hash结果与辅助数据中的HR比较,相等则将FLR与第二参数运算的Hash结果作为密钥并结束重建过程;
S24:输出重建失败提示信息。
6.根据权利要求5所述的密钥和真随机数生成器生成密钥的方法,其特征在于,K_DAXOR中包含多个比特0和1,为0时对应无效挑战和无效应答,为1时对应有效挑战和有效应答,对K_DAXOR中的每一比特LFSR都线性反馈移位一次;当K_DAXOR中某一比特为1时,有效挑战序号加1;当有效挑战序号一直加到Len+1时,LFSR中的值就是第Len+1号有效比特对应的挑战。
7.权利要求6所述的密钥和真随机数生成器生成密钥的方法,其特征在于,在步骤S11所述的密钥初始化中,其辅助数据的K_DAXOR中包含多个比特0和1,计算K_DAXOR的比特总顺序号和有效顺序号;对K_DAXOR中的每一比特,无论其值为0还是为1,总顺序号均加
1;K_DAXOR中为1的比特为有效比特,对每一比特有效比特,有效顺序号均加1;令有效顺序号为Len+1之前的比特的总顺序号为TNO,丢弃K_DAXOR前面的TNO比特,仅从有效顺序号为Len+1的位置开始保存K_DAXOR,并且保存TNO作为辅助数据,所需要保存的辅助数据为(C,K_DAXOR,GXR,HR,TNO)。
8.根据权利要求7所述的密钥和真随机数生成器生成密钥的方法,其特征在于,在步骤S12所述的密钥重建中,微控器Controller将辅助数据中的挑战C写入LFSR中,统计LFSR的线性反馈移位次数,当线性反馈移位的次数等于辅助数据中的TNO时,此时LFSR中的值就是重建过程需要获取的第一比特有效应答所对应的挑战。
9.根据权利要求1所述的密钥和真随机数生成器生成真随机数的方法,其特征在于,包括下述步骤:
S31、真随机数初始化过程利用ROM中的真随机数初始向量IV产生种子应答和真随机数种子,并用第四参数与种子应答运算的Hash结果更新IV;
S32、由真随机数产生过程利用真随机数种子产生真随机数,真随机数产生过程需要更新真随机数种子。
10.根据权利要求9所述的密钥和真随机数生成器生成真随机数的方法,其特征在于,步骤S31中,微控器从非易失存储器中读取IV并写入LFSR中作为挑战产生,并记录一比特应答,然后LFSR线性反馈移位产生下一个挑战和记录下一个应答,当产生应答的位数与LFSR的位数一致时,微控器把所记录的应答写入LFSR中;反复N次把记录的应答写入LFSR后,连续产生RLen比特种子应答,种子应答与第四参数运算的Hash结果更新非易失存储器中的IV,种子应答与第三参数运算后的Hash结果存在易失存储器的seed单元中作为真随机数的种子。
11.根据权利要求10所述的密钥和真随机数生成器生成真随机数的方法,其特征在于,步骤S32中,微控器首先检查易失存储器中的seed单元中是否保存了真随机数种子,如果没有则调用真随机数初始化过程,否则将seed单元的内容写入LFSR中产生一比特应答,然后LFSR线性反馈移位,一直产生RLen比特随机应答;随机应答与第三参数异或后的Hash结果更新易失存储器中的seed单元,随机应答与第四参数运算后的Hash结果输出作为真随机数。

说明书全文

一种密钥和真随机数发生器及生成密钥和真随机数的方法

技术领域

[0001] 本发明涉及信息安全中的密码芯片安全领域,特别涉及高安全等级的密码芯片的密钥和真随机数生成方法。

背景技术

[0002] 密钥安全是密码芯片安全的先决条件,一旦泄密,则导致密码芯片被彻底攻破。传统的密码芯片把密钥存放在无防护措施的存储器中,这使得密钥容易被Torrance等人在论文TJ09“The state-of-the-art inIC reverse engineering”(IC逆向工程的技术发展平)中的逆向工程方法窃取。通过增强存储区中密钥的安全性可以增加窃取密钥的难度,但由于这样做的代价太高,而不适用于大多数密码芯片的应用场合。已有的攻击例子表明,即使存储器采用昂贵的防护措施也不足以抵抗装备精良的攻击者。例如国际可信联盟TCG推荐的“具有高度安全性”的英飞凌的可信平台模TPM被Tarnovsky在论文T10 “Deconstructing a‘Secure’Processor”(解剖一个’安全’的处理器)中攻破,Tarnovsky通过物理入侵攻击—“桥映射”(bridge map)方法绕过芯片无数的防御网络,然后用极为细小的探针接入数据总线而不被芯片的入侵检测电路发觉且不引起芯片自毁,然后读出芯片中存储的数据,包括加密密钥和唯一的制造信息,从而可克隆TPM,这一事件导致如日中天的国际芯片巨头英飞凌迅速湮灭。Skorobogatov在论文S10“Flash Memory'Bumping'Attack”(Flash 存储器的’撞击’攻击)中通过半入侵的撞击(Bumping)从“高安全”的Flash中提取秘密,该攻击的受害者是Actel(原全球第三大FPGA供应商)的A3P250 FPGA,找到了整个系列FPGA的主密钥及后,导致董事会未经股东讨论就匆匆卖掉公司,并最终致使Actel消亡。
[0003] 物理不可克隆模块(PUF)是解决密钥安全问题的有效手段。PUF是一个拥有秘密参数的单向函数,该秘密参数由生产过程中无法控制的因素引入,致使PUF天然拥有独一性、随机性和不可克隆性。因此,PUF能够更安全地产生和更新密钥,而且密钥仅在需要时才以数字形式出现,这使得逆向工程难以起作用。此外,采用适当的协议和芯片内部结构设计,可令攻击者难以甄别出PUF产生密钥的电路,探测产生密钥的电路则导致PUF损坏,从而有效地提高密钥的安全性。
[0004] 用PUF产生密钥必须满足可靠性和安全性要求。可靠性要求是指PUF的噪声要低于某个值,例如噪声<1e-9,或者误码率低于1e-6。安全性要求是指PUF应当具备优异的抗攻击能。Maes等人在论文MV10“Physically unclonable functions:A study on the state of the art and future research directions”(物理不可克隆模块:发展现状及其将来的研究方向)中指出,现有的PUF的噪声通常在0.01%-12%之间,用PUF生成密钥必须采用适当的方法降低噪声。Dodis等人在论文DRS04“Fuzzy extractors:How to generate strong keys from biometrics and other noisy data”(模糊提取:如何从生物特征和其它带噪声数据中生成强壮的密钥)中,提出了从带噪声数据中获得密钥的方法—模糊提取(Fuzzy extraction),该方法包含初始化(generation)和重建(reproduction)两个过程,重建时使用纠错码(ECC)降低噪声。 等人在论文BGSST08 “Efficient helper data key extractor on FPGAs”(基于FPGA的高效的密钥提取辅助数据)中,使用ECC降低PUF的噪声。Maes等人在论文MTV09 “Low-overhead implementation of a soft decision helper data algorithm for SRAM PUFs”(基于SRAM_PUF的软判决辅助数据法的低开销实现)中,采用软判决辅助数据法改善实现效率。Yu等人在论文YD10“Secure and robust error correction for physical unclonable functions”(安全强健的物理不可克隆模块纠错法)中,提出用IBS方法改善可靠性,然后使用ECC把噪声降到1e-9。Maes等人在论文MVV12“PUFKY:A Fully Functional PUF-Based Cryptographic Key Generator”(PUFKY:一种具有完全功能的基于PUF的密钥生成器)中,提出基于PUF的密钥生成器(PUFKY),也使用了ECC降低噪声。ECC虽然解决了PUF的可靠性问题,但却需要昂贵的资源开销,更重要的是引入了新的安全问题:ECC易受旁路攻击(ECC-SCA)—Karakoyunlu等人在论文KS10“Differential template attacks on PUF enabled cryptographic devices”(基于PUF的密码器件的差分模板攻击)中提出ECC的SCA问题。
[0005] Armknecht等人在论文AMSST09“Memory leakage-resilient encryption based on physical ly unclonable functions”(基于物理不可克隆模块加密的抗存储器泄露方案)中,采用多数投票法(Temporal Majority Voting)并丢弃模糊比特(Dark Bit)(TMV-DB)来提高SRAM-PUF的可靠性。然而,TMV-DB方法仅在初始化过程丢弃模糊比特,无法丢弃或改正重建过程中出现的模糊比特。此外,确定模糊比特需要大量的实验测试,这使初始化成为一项开销巨大的工作。Majzoobi等人在论文MKD10“FPGA PUF using programmable delaylines”(FPGA上基于可编程延时路径的PUF)中,也采用多数投票法提高APUF的可靠性,采用重复输入挑战选出最大可能的结果作为应答,使得温度高达75度时噪声不超过2%。Maiti和Schaumont在论文MS11“Improved ring oscillator PUF:an FPGA-friendly secure primitive”(改进的振荡环PUF:一种易于FPGA实现的安全基元)中,采用可配置的振荡环(CRO)技术使ROPUF产生接近100%可靠的应答。虽然CRO技术可以产生接近100%可靠的应答比特,但其挑战应答对数量不多限制了应用范围,且接近100%可靠也并不意味着能满足密钥的可靠性要求。
[0006] 中国发明专利申请号为201210013772.X)公开了“一种密码芯片系统及密钥提取方法”,该技术方案利用DAPUF的正负仲裁异或结果定位并改正重建中发生的错误,结合安全多方计算无需ECC即可满足密钥的可靠性要求。然而,该方法仍存在一些不足,例如,当电压降低超过2%或环境温度超过40度时,其产生密钥时使用安全多方计算的概率高于1e-6,而安全多方计算的代价极为高昂。
[0007] 综上所述,考虑电压和温度变化较大时,现有的PUF方案只有借助ECC方可有效满足密钥的可靠性要求,而ECC易受旁路攻击,从而严重影响密钥的安全性。

发明内容

[0008] 本发明的目的在于克服现有技术的缺点与不足,提供一种密钥和真随机数发生器,无需纠错码即可满足密钥的可靠性要求,从而规避基于PUF的密钥生成器的纠错码旁路攻击问题。
[0009] 本发明的第二目的在于,提供一种密钥和真随机数生成器生成密钥的方法,从而有效地增强密钥在产生和使用过程中的安全性,并有效地改善在穷搜克隆、碰撞克隆、半入侵探测和建模攻击之下的安全性,以及有效地增强密码芯片抵抗物理入侵攻击的能力。
[0010] 本发明的第三目的在于,提供一种密钥和真随机数生成器生成真随机数的方法,从而有效地改善密钥和真随机数生成器的实现效率,所述的实现效率包括运算速度和占用的芯片面积。
[0011] 为了达到上述第一目的,本发明采用以下技术方案:
[0012] 本发明一种密钥和真随机数生成器,包括双仲裁器物理不可克隆模块DAPUF、触发信号产生寄存器TReg、应答采集寄存器RReg、微控器Controller、线性反馈移位寄存器LFSR、Hash引擎、易失存储器RAM和非易失存储器ROM;
[0013] 所述双仲裁器物理不可克隆模块DAPUF由敏感电路和仲裁电路组成;所述敏感电路包含n个选择器,所述选择器包含上下两个输入端、一个控制端以及上下两个输出端,n个选择器按顺序排列,前一个选择器的上下两个输出端与后一个选择器的上下两个输入端相连接,每个选择器的控制端与LFSR中的一比特寄存器相连接;当选择器的控制端输入为0或者1时,选择器上输入端与上输出端连通以及下输入端与下输出端连通,或者上输入端与下输出端连通以及下输入端与上输出端连通;所述仲裁电路包含正负两个仲裁器,每个仲裁器均拥有上下两个输入端和一个输出端;敏感电路的第n个选择器的上下两个输出端分别与正仲裁器的上下两个输入端相连接,正负两个仲裁器的两个输入端交叉连接;DAPUF的n个选择器的控制端接收LFSR传送过来的挑战C,DAPUF的第一个选择器的两个输入端接收触发信号产生寄存器TReg传送过来的上升沿触发信号;LFSR传送过来的挑战C决定了敏感电路的上下两路信号的一种特定通路状态,两路上升沿触发信号沿着这种特定通路状态的两条通路最终送到正仲裁器和负仲裁器;正负两个仲裁器根据上下两路上升沿触发信号到达的先后顺序决定其输出,如果某个仲裁器的上输入端的上升沿比下输入端的上升沿先到达,则该仲裁器输出1,否则输出0;称DAPUF的输出为应答,正负两个仲裁器的应答存入应答采集寄存器RReg中;
[0014] 所述触发信号产生寄存器TReg由两比特寄存器组成,其中一比特寄存器连接DAPUF敏感电路的第一个选择器的上输入端,另一比特寄存器连接DAPUF敏感电路第一个选择器的下输入端,在微控器Controller的控制下向TReg写入00和写入11,从而为DAPUF的敏感电路提供上升沿触发信号;
[0015] 所述应答采集寄存器RReg由两比特寄存器组成,一比特寄存器接收DAPUF的正仲裁应答,另一比特寄存器接收DAPUF的负仲裁应答,RReg所采集的应答交给微控器Controller处理;
[0016] 所述微控器Controller用于读取存放在非易失存储器ROM中的辅助数据中的挑战C写入LFSR、控制LFSR线性反馈移位产生DAPUF的挑战、控制触发信号产生寄存器TReg产生DAPUF的上升沿触发信号、从应答采集寄存器RReg读取并处理DAPUF的应答、控制Hash引擎运算并读写易失存储器RAM和非易失存储器ROM,密钥和真随机数的产生也在微控器Controller的控制下完成;
[0017] 所述线性反馈移位寄存器LFSR用于存放微控器Controller送来的挑战C,并在微控器的控制下线性反馈移位产生DAPUF的挑战;
[0018] 所述Hash引擎包含4个参数,所述每个参数均是一个任意随机数,其中第一参数与DAPUF的应答运算后由Hash引擎处理产生辅助数据中的应答单向结果HR,第二参数与DAPUF的应答运算后由Hash引擎处理产生密钥,第三参数与DAPUF的应答运算后由Hash引擎处理产生和更新随机种子Seed,第四参数与DAPUF的应答运算后经Hash引擎处理,所得的结果用于更新真随机数初始向量IV以及作为真随机数使用;所述参数的运算是异或或者连接运算,当用加密算法构造Hash引擎时,则所述参数的运算是指参数作为密钥或者明文参与加密运算;
[0019] 所述易失存储器RAM用于存储微控器Controller运算过程中的临时变量;
[0020] 所述非易失存储器ROM用于存储生成密钥所需要的辅助数据和产生真随机数的初始向量IV。
[0021] 为了达到上述第二发明目的,本发明采用以下技术方案:
[0022] 本发明密钥和真随机数生成器生成密钥的方法,包括下述步骤:
[0023] S11、执行密钥初始化,产生生成密钥的辅助数据并且把辅助数据保存在非易失存储器ROM中;
[0024] S12、由密钥重建过程产生密钥,密钥重建过程基于密钥初始化时产生并保存的辅助数据中的挑战C找到多数选举法所需要的应答,然后通过多数选举法选举出重建应答,输出重建应答与第二参数运算后的Hash结果作为密钥。
[0025] 优选的,步骤S11中,初始化具体为:测量多个挑战的DAPUF应答,每一个挑战对应正仲裁应答和负仲裁应答各一比特,以及一比特正负仲裁异或结果K_DAXOR;多个挑战中的第一个挑战C由微控器Controller写入LFSR中,从第二个挑战开始由LFSR线性反馈移位产生,一直到产生足够的有效比特为止,所述的有效比特是指K_DAXOR为1时对应的正仲裁应答;密钥初始化时需要产生Len*(K+1)比特有效应答,所述的Len是所产生密钥的长度,K是多数选举法的选举次数,K是一个基数;有效应答分成K+1组,其中第一组分别与第二到第K+1组异或,所得的K组异或结果形成分组异或结果GXR;密钥初始化后需要把(C,K_DAXOR,GXR)作为辅助数据保存在非易失存储器ROM中。
[0026] 优选的,步骤S12中,密钥重建过程首先将辅助数据中的挑战C写入LFSR,然后根据K_DAXOR找到第Len+1号有效比特对应的挑战,整个密钥重建过程仅测量和记录第Len+1号到Len*(K+1)号有效应答;将密钥重建过程得到的Len*K比特应答分成K组与辅助数据中的GXR异或,所得到的K组候选数据通过多数选举法产生重建应答;所述的多数选举法是指候选数据中的顺序号为Len*0+1,Len*1+1,…,Len*K+1对应的值中,如果0出现的次数多则重建应答的第1比特为0,否则重建应答的第1比特为1,如此类推产生第2到第Len比特重建应答;输出Len比特重建应答与第二参数运算后的Hash结果作为密钥并结束重建过程。
[0027] 优选的,步骤S11中的GXR除包含有效正仲裁应答的异或结果,也包含对应的有效负仲裁应答的异或结果;此外,将第1到第Len比特有效正仲裁应答与参数1运算后的Hash结果HR作为辅助数据,从而使得辅助数据变成(C,K_DAXOR,GXR,HR);步骤S12中用多数选举法选举出有效正仲裁应答和有效负仲裁应答,选举后并不直接结束重建过程,而是再进一步降低噪声,其具体步骤如下:
[0028] S21:如果有效正仲裁应答与第一参数运算后的Hash结果与辅助数据中的HR相等,则有效正仲裁应答与第二参数运算后的Hash结果作为密钥并结束重建过程;
[0029] S22:选举出的有效正仲裁应答和有效负仲裁应答异或,得到Len比特正负仲裁异或结果DAXOR,DAXOR中为0的比特意味着要么对应位置的有效正仲裁应答出错,要么对应位置的有效负仲裁应答出错;设DAXOR中有g比特为0,则有效正仲裁应答可能在DAXOR为g0相应的位置出现g比特错误,由此可以得到并记录2种有效正仲裁应答的可能取值,对每一种可能取值,与第一参数运算后的Hash结果如果等于HR,则将该可能取值与第二参数运算的Hash结果作为密钥并结束重建过程;
[0030] S23:对步骤S22中记录的每一种可能的有效正仲裁应答,每次取反其中的一比特得到FLR,把每一个FLR与第一参数运算后计算其Hash结果,将Hash结果与辅助数据中的HR比较,相等则将FLR与第二参数运算的Hash结果作为密钥并结束重建过程;
[0031] S24:输出重建失败提示信息。
[0032] 优选的,K_DAXOR中包含多个比特0和1,为0时对应无效挑战和无效应答,为1时对应有效挑战和有效应答,对K_DAXOR中的每一比特LFSR都线性反馈移位一次;当K_DAXOR中某一比特为1时,有效挑战序号加1;当有效挑战序号一直加到Len+1时,LFSR中的值就是第Len+1号有效比特对应的挑战。
[0033] 优选的,在步骤S11所述的密钥初始化中,其辅助数据的K_DAXOR中包含多个比特0和1,计算K_DAXOR的比特总顺序号和有效顺序号;对K_DAXOR中的每一比特,无论其值为
0还是为1,总顺序号均加1;K_DAXOR中为1的比特为有效比特,对每一比特有效比特,有效顺序号均加1;令有效顺序号为Len+1之前的比特的总顺序号为TNO,丢弃K_DAXOR前面的TNO比特,仅从有效顺序号为Len+1的位置开始保存K_DAXOR,并且保存TNO作为辅助数据,所需要保存的辅助数据为(C,K_DAXOR,GXR,HR,TNO)。
[0034] 优选的,在步骤S12所述的密钥重建中,微控器Controller将辅助数据中的挑战C写入LFSR中,统计LFSR的线性反馈移位次数,当线性反馈移位的次数等于辅助数据中的TNO时,此时LFSR中的值就是重建过程需要获取的第一比特有效应答所对应的挑战。
[0035] 为了达到上述第三发明目的,本发明采用以下技术方案:
[0036] 本发明密钥和真随机数生成器生成真随机数的方法,包括下述步骤:
[0037] S31、真随机数初始化过程利用ROM中的真随机数初始向量IV产生种子应答和真随机数种子,并用第四参数与种子应答运算的Hash结果更新IV;
[0038] S32、由真随机数产生过程利用真随机数种子产生真随机数,真随机数产生过程需要更新真随机数种子。
[0039] 优选的,步骤S31中,微控器从非易失存储器中读取IV并写入LFSR中作为挑战产生并记录一比特应答,然后LFSR线性反馈移位产生下一个挑战和记录下一个应答,当产生应答的位数与LFSR的位数一致时,微控器把所记录的应答写入LFSR中;反复N次把记录的应答写入LFSR后,连续产生RLen比特种子应答,种子应答与第四参数运算的Hash结果更新非易失存储器中的IV,种子应答与第三参数运算后的Hash结果存在易失存储器的seed单元中作为真随机数的种子,所述RLen是一个变量,通常RLen取值为n,其中n是DAPUF的阶段数,取64较为合适。N则通常需要大于10000,以使IV具有足够高的不确定性,通过降低芯片的供电电压可以有效地减少N值的同时确保IV具有足够高的不确定性。
[0040] 优选的,步骤S32中,微控器首先检查易失存储器中的seed单元中是否保存了真随机数种子,如果没有则调用真随机数初始化过程,否则将seed单元写入LFSR中产生一比特应答,然后LFSR线性反馈移位,一直产生RLen比特随机应答;随机应答与第三参数异或后的Hash结果更新易失存储器中的seed单元,随机应答与第四参数运算后的Hash结果输出作为真随机数。
[0041] 本发明相对于现有技术具有如下的优点及效果:
[0042] (1)因省去了ECC电路而减少了电路面积。
[0043] (2)因多数选举法的运算比ECC快而提高了速度。
[0044] (3)无需ECC而规避了ECC的旁路攻击问题。
[0045] (4)当PUF用于产生密钥时,其安全性问题不容忽视。Lee等人在论文LLGSVD04“A technique to bui ld a cryptographic key in integrated circuits for identification and authentication applications”(一种在集成电路中产生密钥用于鉴别和认证的技术方案)中讨论APUF的安全性时,提到APUF能有效地抵抗穷搜克隆、碰撞克隆、半入侵探测等攻击。本发明的DAPUF继承了APUF的优点并改善了独一性,因此,APUF能够抵抗的攻击,本发明基于DAPUF构造的密钥和真随机数发生器DAPUFKR同样也能够抵抗。
[0046] DAPUFKR还能有效地抵抗以下威胁:
[0047] a)非入侵建模攻击:Rührmair等人在论文RSS10“Modeling attacks on physical unclonable functions”(物理不可克隆模块的建模攻击)中,提出收集足够的挑战应答对,通过建立模型可预测APUF和ROPUF的应答。DAPUFKR的输出经过Hash函数处理,攻击者由于无法计算Hash函数的逆而无法建立模型,因此无法通过非入侵建模预测DAPUFKR的输出。
[0048] b)辅助数据泄露:Yu等人在论文YD10中,指出辅助数据可能会泄露应答的部分信息而降低安全性。DAPUFKR的辅助数据包含C、K_DAXOR、GXR和HR。GXR是两组有效应答的异或结果,HR是Hash结果,均不会泄露有效信息。K_DAXOR为0时,其对应的比特为无效比特。因此DAPUF的辅助数据不会泄露有效信息。
[0049] c)SCA:Karakoyunlu等人在论文KS10中,指出PUF存在ECC-SCA问题。DAPUFKR无需使用ECC,因此不存在ECC-SCA问题。虽然DAPUFKR使用的Hash函数也可能会存在Hash-SCA问题,但DAPUF的Hash函数可使用密码芯片上的密码模块构造,一旦密码芯片本身的密码模块具备抵抗SCA的能力,则DAPUF也可消除Hash-SCA问题。DAPUFKR拥有完全对称的结构,在处理有效应答的过程中保持汉明重量不变,这有效地降低了旁路信息泄露。例如,在算法4中,DAPUFKR需要将同一个应答与另外五个应答异或,但每一个应答中的有效比特均用01表示0,10表示1,这种双轨结构能有效地减少旁路信息泄露。
[0050] d)物理入侵攻击:敌手通过物理入侵在Hash函数之前搭线窃听DAPUF的仲裁结果,然后通过建立模型预测DAPUF的仲裁结果,进而可预测辅助数据中挑战C对应的密钥。物理入侵攻击在理论上可攻破一切密码芯片,然而,DAPUFKR仍然能够以低开销为代价有效地提高这种攻击的难度。首先,DAPUF的电路可以方便地和芯片的逻辑电路混在一起,这使得物理入侵攻击者难以找到窃听点。第二,将DAPUF中各个选择器之间的连线缠绕在芯片的表面,把窃听点包围起来,这使得物理入侵攻击者难以连接窃听点,损坏选择器之间的连线将会损坏PUF。第三,基于下一代三维芯片技术,DAPUFKR易于实现Gassend等人在论文GDCTD08“Controlled physical random functions and applications”(控制物理不可克隆模块及其应用)中提出的控制PUF结构,例如用多路并行的DAPUF的选择器和连线形成笼子,把仲裁器、关键的运算控制电路和关键的窃听点包围在笼子中间,这将进一步增加物理入侵攻击的难度。
[0051] 根据Maes等人在论文MV10中的结论,在忽略非入侵建模攻击的情况下,硅PUF中的APUF和ROPUF的安全性更好;此外,他们也认为O-PUF和C-PUF拥有抗篡改特性(Tamper Evident),其中O-PUF由Pappu等人在论文PRTG02“Physical one-way functions”(物理不可克隆模块)中提出,C-PUF则由Tuyls等人在论文TSSVVW06“Read-proof hardware from protective coat ings”(基于覆盖层防护的抗读取硬件)中提出。DAPUF继承了APUF的所有优点,因引入了Hash函数而能有效地抵抗非入侵建模攻击。另外,根据前述第4)点的讨论,我们认为DAPUFKR拥有良好的抗篡改特性。考虑现有的密码芯片均用硅工艺产生,当用PUF产生密钥时,在上述威胁模型之下,我们认为DAPUFKR的抗篡改特性并不会比O-PUF和C-PUF差。
[0052] 表1列出了几种PUF方案在作为密码芯片的密钥生成器时的安全性。√表示具备该项能力,×表示该项能力不足,?则表示未知是否拥有该项能力。表中的“抗SCA”以密码芯片采用恰当的抗SCA措施作为前提。下表中,Maiti等人在论文MS12“A Robust Physical Unclonable Function With Enhanced Chal lenge-Response Set”(一种拥有大量挑战应答对的强壮物理不可克隆模块)中提出CROM方案。
[0053] 表1PUF作为密钥生成器时的安全性
[0054]
[0055]附图说明
[0056] 图1是本发明基于DAPUF的密钥和真随机数发生器结构图。

具体实施方式

[0057] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0058] 实施例
[0059] 本实施例基于DAPUF设计了如图1所示的密钥和真随机数发生器(DAPUFKR),包括双仲裁器物理不可克隆模块DAPUF、触发信号产生寄存器TReg、应答采集寄存器RReg、微控器、移位寄存器LFSR、Hash引擎、易失存储器RAM和非易失存储器ROM;所述双仲裁器物理不可克隆模块DAPUF由敏感电路和仲裁电路组成,用于接收LFSR传送来的挑战和触发信号产生寄存器送来的上升沿触发信号,并产生相应的正仲裁应答和负仲裁应答存入应答采集寄存器中。
[0060] 所述触发信号产生寄存器由两比特寄存器组成,一比特寄存器连接DAPUF敏感电路的第一个选择器的上路输入,另一比特寄存器连接DAPUF敏感电路第一个选择器的下路输入,在微控器控制下先写入00再写入11,从而为DAPUF提供上升沿触发信号。
[0061] 所述应答采集寄存器由两比特寄存器组成,一比特寄存器接收DAPUF的正仲裁应答,另一比特寄存器接收DAPUF的负仲裁应答,应答采集寄存器所采集得到的应答交给控制器处理。
[0062] 所述微控器用于控制LFSR线性移位产生DAPUF的挑战、控制触发信号产生寄存器产生DAPUF的上升沿触发信号、从应答采集寄存器读取并处理应DAPUF的应答、控制Hash引擎运算并读写RAM和ROM,密钥和真随机数的产生也在控制器的控制下完成。
[0063] 所述易失存储器用于存储产生真随机数的初始变量。
[0064] 所述非易失存储器用于存储生成密钥所需要的辅助数据。
[0065] 图1中的多个选择器、正仲裁器D1和负仲裁器D2组成DAPUF,TReg是激励寄存器,RReg是接收应答的寄存器,LFSR是存放/产生挑战的线性反馈移位寄存器(LFSR),用于完i成算法3和算法4的H(C)运算,Controller是一个通过裁剪邹等人在论文ZLWT06“通用密码处理器在FPGA中的实现”中提出的GCP得到的微控器,所有指令均占用1个时钟周期,最高时钟频率可超过100MHz。密钥初始化时,Controller把挑战C写入LFSR后,产生正仲i
裁和负仲裁应答存入RReg中,然后LFSR反馈移位产生下一个挑战H(C),一直到产生足够有效应答为止;最后存储C、K_DAXOR、GXR和HR作为辅助数据。密钥重建时,Controller写i i
入C,根据K_DAXOR丢弃无效H(C),仅收集有效H(C)的应答,并按算法4和算法2重建密钥。实验中设定DAPUF每采集一比特应答的时间为100ns,Controller则以50MHz或100MHz运行。
[0066] DAPUF的初始化和重建
[0067] 初始化时输入挑战C得到应答R,计算DAXOR并得到有效应答,以及有效应答的Hash结果(HR),记录三元组(C,DAXOR,HR)作为辅助数据。
[0068] 重建时,根据辅助数据的DAXOR选择性地重建有效应答,然后计算应答的Hash结果并与辅助数据中的HR比较,相等则重建成功并结束重建过程。不相等则通过计算DAXOR与辅助数据的DAXOR比较确定重建出错的位置,根据出错位置信息搜索并改正错误,一旦某个应答的Hash结果与辅助数据的HR相等则结束重建过程。虽然出现DAE的概率很低,但一旦出现,则导致DAXOR不能发现这种错误。为进一步提高重建成功的概率,可以再穷搜并改正一比特DAE,使得只有出现2或以上比特DAE时才会导致重建失败。
[0069] 算法1:GEN(C)初始化过程
[0070] R=DAPUF(C)
[0071] LR=LeftHalf(R);RR=RightHalf(R);//分离正仲裁和负仲裁应答
[0072] //保存辅助数据(C,DAXOR,HR)
[0073] 算法2:REP(C,DAXOR,OWFR)应答重建过程
[0074]
[0075]
[0076] 算法2中DifferentBits返回初始化和重建时的DAXOR不相等的比特数,SetDifBit则根据出错位置改动该位置的值,Length获取比特串的长度,H1和H2则为不同参数的同一个Hash函数.这些运算中仅有Hash函数为复杂运算。H1的作用是判断重建是否有错误,H2仅执行1次,起均匀化作用。
[0077] 设重建噪声为p,DAE的概率为pd,应答的长度为Len。重建时,通过DAXOR判断出错的比特数,对每个错误位置,要么在LR1出错,要么在RR1出错。假定DAXOR判断g有g个位置出错,则算法2的步骤S2中H1执行最多不超过2 次,根据式子(1),g个位置出错的概率为 因此,步骤S2中H1的复杂度为
如果没有出现DAE,则在步骤S2中必然能找到初即化时的应答并结束重建过程。出Len
现1比特DAE时,需要执行步骤S3,其概率为1-(1-pd) ,S3中执行H1的复杂度为:
[0078] 因此,算法2中H1的复杂度为:
[0079]
[0080] 只有重建时出现2或以上比特DAE时才会执行S4,所以,算法2重建一组长度为Len的应答失败的概率(误码率pc)为
[0081]
[0082]
[0083] 在误码率pc的基础上,根据下式可推测出重建噪声pRep的大小:Len
[0084] 1-(1-pRep) =pc (3)
[0085] 当Len=128且pd>1.11e-5时,根据式子(2)算得误码率已经高于1e-6,因此算法1和算法2只适用于pd<1.11e-5的情形。虽然算法2可以通过穷搜2比特DAE进一步降低
2
误码率且不会明显增加H1的平均复杂度,但在极端的情况下H1的运算次数可能会高达Len次。
[0086] 根据后面给出的式子(4),多数选举法MV能够有效地降低噪声,而论文MKD10中采用MV只能把噪声降低到大约2%。这是因为式子(4)需要以独立噪声为前提,论文MKD10中的MV重复输入相同的挑战使得同一挑战应答对(CRPs)的噪声不独立。
[0087] 相同CRPs的噪声不独立,但不同CRPs的噪声却相对独立,一旦噪声满足独立性,则多数选举法K-MV能有效地降低噪声。当pd>1.11e-5时,算法2的可靠性会受到影响,此时,可借助基于不同CRPs选举的K-MV降低噪声。
[0088] 约定组长度为Len,选举次数为K。K-MV的初始化如算法3所示,算法首先产生Len*(K+1)比特有效应答,接着用第1组有效应答分别与第2到第(K+1)组有效应答异或,得到分组异或结果(GXR),然后输出挑战、K-DAXOR和GXR作为辅助数据。
[0089] K-MV的重建如算法4所示,根据K_DAXOR产生第2到第K+1组有效应答,分别与辅助数据的GXR异或,然后选举出重建应答。
[0090] 算法3:K-MV初始化
[0091] 输入:挑战C,应答的组长度Len,选举次数K
[0092] 输出:挑战C、K_DAXOR和GXR
[0093]
[0094] 算法4:K-MV重建
[0095] 输入:挑战C、K_DAXOR和GXR,应答的组长度Len
[0096] 输出:重建所得应答的Hash值
[0097]
[0098]
[0099] 对于DAPUF来说,算法4和算法2可以组合使用,当组合使用时,算法3需要增加负仲裁应答RR的GXR作为辅助数据,算法4则需要增加RR的选举,选举后并不直接返回而是交给算法2进一步降低噪声。因此,算法4和算法2组合使用时,辅助数据变成(C,K_DAXOR,GXR,HR)。根据在型号为xc5vlx50-2ff324的FPGA中的实验结果,64阶段DAPUF的最高无效比特率接近30%,因此,单独使用算法4需要的辅助数据空间大约为Length(C)+2.3*K*Len+1.3Len比特,组合使用算法4和算法2则需要Length(C)+3.3K*Len+2.3Len比特,其中Length(C)是指挑战的长度,K为多数选举法的选举次数,LEN为密钥的长度。为进一步减少辅助数据占用的存储空间,K_DAXOR可以从有效比特序号为Len+1的位置开始保存,并另外保存有效比特序号为Len+1的位置的前一比特的比特序号,只需要对算法3和算法4略为修改即可节约辅助数据占用的存储空间,考虑修改不大,在此省略修改后的算法。
[0100] 设K=2k+1,pe是DAPUF的噪声,则算法4获得的密钥的噪声为:
[0101]
[0102] 用p替换式子(3)中的pRep,则算法4相应的误码率可由式子(3)计算。
[0103] 表2列出了DAPUF的实验统计结果,由表2(c)可以看出,当温度超过40℃时,DAPUF有效应答的噪声p达到4.12e-3,DAE的噪声pd则达到1.35e-5。对于128比特应答,根据式子(2)和(1)计算,采用算法2重建的误码率已经高达1.48e-6,H1的平均运算次数也接近2.1次。显然,温度进一步上升将导致算法2的性能严重下降,在这种情况下必须采用算法4重建,或者组合采用算法4和算法2重建。例如,假定DAPUF的噪声由于电压和温度的影响达到10%时,采用选举次数为7次的算法4降低噪声,然后采用算法2重建128比特应答,则仍可使重建误码率低于1e-6,此时辅助数据占用空间为3316bits。单独采用算法4则需要35次选举方可达到类似的可靠性,其辅助数据占用空间高达10535比特。
[0104] 表2:DAPUF的实验统计结果
[0105] 统计样本数:5到26摄氏度环境在xc5vlx50/xc5vlx30器件上共采集64比特/组7
*10组
[0106] (a)DAPUF的独一性和噪声
[0107]
[0108] (b)DAPUF重建64比特应答的噪声和开销
[0109]7
[0110] (c)DAPUF在不同温度、电压下的噪声(40℃采集2.56*10比特,其它点仅采集少量样本)
[0111]
[0112] 论文MV10综述了PUF的发展情况,并通过表格列出了各种PUF的噪声,分别在0.01%到25.25%之间。事实上,所有PUF都能够通过如算法4所述的多数选举法MV把噪声降低到1e-9,但存在以下问题:
[0113] a)对于APUF,由于应答中存在偏差,这使得辅助数据中的分组异或结果会泄露大量的有效信息。DAPUF丢弃了偏差,且所有应答均经过Hash函数处理,因此辅助数据中的分组异或结果不会泄露有效信息。
[0114] b)对于ROPUF,测量应答需要很长时间(Maes等人在论文MVV12中,用87微秒测量一次应答),而且产生大量噪声独立的挑战应答对会消耗很大的芯片面积。DAPUF测量应答的时间很短(Lee等人在论文LLGSVD04中使用50纳秒测量一次APUF应答,DAPUF与APUF的测量应答的时间没有差别),只需要少量芯片面积即可产生大量噪声独立的挑战应答对。
[0115] c)对于SRAM-PUF,如果采用论文AMSST09中的TMV-DB,则每块PUF在初始化时均需要测量超百万次方可有效去除DarkBits,采用算法4无需复杂的初始化,但却需要大量的SRAM单元。
[0116] C-PUF存在与SRAM-PUF类似的问题,O-PUF则由于自身噪声太高而使算法4降噪的成本很高。因此,对于现有的PUF来说,ECC是把噪声降低到1e-9的首选。就算法4和ECC比较而言,算法4的运算比ECC简单,但所需的辅助数据大于ECC。本实施例的DAPUF无需ECC就能够高效地满足密钥的可靠性要求,其原因在于:
[0117] 1)DAPUF的对称结构能有效地降低因环境差异引起的噪声,根据实验结果,DAPUF的有效应答噪声约为APUF的应答噪声的二分之一;
[0118] 2)考虑极端环境,通过算法4把DAPUF有效应答的噪声降低到3e-3以下;
[0119] 3)通过对称的仲裁结构发现并改正除DAE以外的所有重建错误;
[0120] 4)穷搜一比特DAE,只有重建一组应答同时出现两或以上比特DAE才会导致重建失败。
[0121] DAPUFKR除了可以产生密钥以外,也可用于产生真随机数,产生真随机数前需要先初始化存放在RAM中的初始变量(IV):
[0122] Controller把IV写入LFSR中,然后用106次D2的应答更新LFSR,整个更新过程大约耗时0.1秒,接着把最后采集到的应答写入IV中完成初始化。初始化后,输出H3(DAPUF(IV))作为真随机数并用H4(DAPUF(IV))更新IV。产生真随机数时,PAPUF相当于一个带密钥的单向函数,总共对初始值为IV的变量更新接近1.6万次,期间由于噪声的影6
响随机地改动输入大约2460(10*p,其中64阶段PAPUF的噪声p为2.46e-3)比特。
[0123] IV经过初始化后变成一个不确定的熵源,H3(DAPUF(IV))不可预测并满足伪随机特性,因此我们认为DAPUFKR产生的随机数是真随机数。
[0124] 表5列出了本实施例的DAPUFKR和Maes等人的PUFKY的面积、速度、可靠性和辅助数据大小等数据,两者均考虑极端环境(120℃&电压-10%)下的噪声小于1e-9。DAPUFFR采用64阶段的DAPUF,用选举次数为5次的算法4结合算法2重建应答。为了公平地比较PUFKY和本实施方案的DAPUFKR的实现效率,我们借用了PUFKY采用的Hash函数。在测试中我们使用AES构造Hash函数,也就是说,AES既承担密码芯片的密码运算,也承担PUF的可靠性运算和均匀化运算。从共用的度看,我们的DAPUFKR在可靠性和均匀化上不占用硬件开销,因此不会因为可靠性和均匀化而引入SCA险。而PUFKY则需要ECC方可满足密钥的可靠性要求,所以PUFKY存在如论文KS10所述的ECC-SCA问题。
[0125] 表5:DAPUFKR和PUFKY的比较
[0126] (a)面积消耗(单位:Slices)
[0127]
[0128] (b)速度(单位Cycles)
[0129]
[0130] (c)可靠性/噪声和辅助数据大小
[0131]
[0132] 从表6可以看出,基于DAPUF的DAPUFKR除了辅助数据较大外,在可靠性/噪声、速度和面积上均优于PUFKY。此外,DAPUFKR比PUFKY增加了真随机数产生功能。
[0133] DAPUFKR速度比PUFKY快的原因在于:
[0134] 1)PUFKY采用ROPUF,其每次测量应答耗时87us,用部分并行的方法测量2226比特应答,产生128比特密钥耗时4.59ms。而DAPUF每次测量应答仅需100ns(在TSMC0.18um中则为50ns),用串行方式在50MHz下,约需要0.54ms即可通过选举次数为5次的K-MV产生128比特DAPUF应答,在100MHz下则只需要0.33ms。
[0135] 2)PUFKY需要使用ECC和Hash函数(SPONGENT-128),ECC耗时50831周期,Hash函数耗时3990周期,合计54821周期。而DAPUF仅需使用大约2.51次Hash即可,平均消耗10015周期。
[0136] DAPUFKR比PUFKY面积更小的原因在于:
[0137] 3)DAPUF比ROPUF占用更小的电路面积。事实上,DAPUFKR中的PUF面积已经包含了DAPUF、Controller和LFSR等部分电路。
[0138] 4)DAPUF省去了ECC电路。
[0139] 更重要的是,PUFKY使用的ECC容易受到旁路攻击(攻击方法请参考论文KS10),而DAPUFKR由于无需ECC而避免了这个问题。
[0140] 表6列出了几种经过降噪处理的PUF方案的实现效率。从表中可以看出,DAPUFKR在独一性、可靠性、CRPs、面积和速度等多个方面均表现优异。
[0141] 表6 几种PUF方案的实现效率比较
[0142]
[0143] *表示方案中有Hash,但没有用Hash作均匀化处理。?表示未知是否达到均匀化效果,不知是否能够抵抗建模攻击。
[0144] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈