本发明专利技术描述保护密码装置免受实施攻击的方法。一种所公开方法包括以下步骤:使用伪随机产生器(510)产生机密值(324);将密钥(330)、具有数个数据块的输入(324)以及所述机密值提供到加密模块(340);为所述数据块与所述机密值(324)编索引;通过使用所述密钥(330)和所述加密模块(340)对以所述数据块作索引的所述机密值(324)进行加密而以逐个数据块的方式处理所述输入;针对每一数据块产生所述加密模块(340)的伪随机输出(330′),在处理下一数据块时将所述伪随机输出提供为所述密钥(330′);以及通过使用来自前一步骤的最末伪随机输出(3301)作为密钥对固定纯文本进行加密来对所述最末伪随机输出(3301)执行最终变换。
【技术实现步骤摘要】
本专利技术涉及保护密码装置。更明确地说,公开一种用于保护具有加密模块的密码装置免受实施攻击的方法。还公开用于在客户端装置与主机装置之间提供安全数据通信或经验证数据通信的相关联系统,正如集成电路。
技术介绍
通常称为无源智能装置的智能装置,尤其是具有低功率要求的那些智能装置,广泛用于验证和接入控制。此类装置的例子包括非接触式智能卡,非接触式智能卡为射频识别(RFID)标签的子集。此类无源智能装置通常使用专用集成电路(ASIC)。假定无源智能装置应用于安全性为至关重要的应用中,使用加密技术来验证所使用的无源智能装置。相反,归因于无源智能装置可能保持或允许接入的信息的可欲性,所述无源智能装置也是恶意尝试使用的焦点。大量的时间和精力花费在实施和分析如智能卡等安全集成电路(IC)内的侧通道防范措施。侧通道攻击是基于从密码编译系统的物理信息获得的信息而进行的任何攻击。此类攻击不同于软件强行攻击或加密算法中的漏洞或薄弱环节。侧通道攻击通常检查系统的内部操作,例如系统汲取的功率、电磁(EM)发射或其它“侧通道”,以确定模式和实施步骤。一个此类已知的侧通道攻击是差分功率分析(DPA)。此可涉及恶意用户研究装置使用期间的电力使用轨迹及利用统计分析,从而确定加密算法的特征。在使用当前可用的标准化算法和协议(如在银行或电子政府应用程序中使用的算法和协议)的情况下,用于差分功率分析(DPA)的攻击
情形(和差分故障攻击)可用,从而导致实施此类协议的装置受到此类侧通道攻击的威胁(例如,因为不断改变的输入始终用相同(主)密钥加密,因此系统的功率签名的变化仅仅或大体上取决于加密算法的变化)。一个相对新的研究领域是泄漏弹性加密技术(leakage resilient cryptography)。在泄漏弹性(LR)中,力图避免出现典型DPA情形,在典型DPA情形中,有可能在对于每次执行具有不同输入的情况下逐个数据块(即,按照数据块,例如逐字节地)攻击分组加密的密钥。在LR方法中,分组加密执行多次,其中整个输入向量仅逐个数据块地使用(例如,每次1位)且复制到分组加密的整个输入状态。在每一迭代中,下一输入数据块用作输入(再次复制到整个状态)。此举限制了数据复杂度,即可用于攻击的轨迹的数目,且创建不同密钥数据块的侧通道信息之间的相依性。然而,归因于每密钥有N>1个轨迹可用,对手(adversary)仍可能施加DPA攻击。对于此类攻击的一个解决方案使用密钥重置(re-keying)方法。在此方法中,从主密钥导出会话密钥,随后使用这一会话密钥用于实际操作。定期改变这一会话密钥以便减小对于特定(主)密钥可从装置获得的功率轨迹量。已在CIPURSE协议内应用此密钥重置的特殊个例。在这一方法中,通过使用随机输入和较易于防止实施攻击的函数(称为NLM(非泄漏地图))来使用主密钥导出中间会话密钥。接着使用这一中间会话密钥连同主密钥一起获得所使用的会话密钥。对此类DPA攻击的以上解决方案依赖于双方之间的随机数协议。此种方法阻止先前交易的校验。明确地说,所述方法在没有随机数的情况下不可能重复会话。此类方法依赖于被称为PRG的可靠伪随机数。互补方法利用从PRG开发的被称为PRF的伪随机函数家族,例如最初由戈德里克(Goldreich)、戈德瓦塞尔(Goldwasser)和米卡利(Micali)开发的GGM PRF。本专利技术涉及防止侧通道攻击的这一领域。
技术实现思路
根据本专利技术的第一方面,提供一种用于保护具有加密模块的密码装置免受实施攻击的方法,所述方法包括:使用伪随机产生器产生机密值;将密钥、具有数个数据块的输入以及所述机密值提供到加密模块;为所述数据块与所述机密值编索引;通过使用所述密钥和所述加密模块对以所述数据块作索引的所述机密值进行加密而以逐个数据块的方式处理所述输入;针对每一数据块产生所述加密模块的伪随机输出;在处理下一数据块时将所述伪随机输出提供为所述密钥;以及通过使用来自前一步骤的最末伪随机输出作为密钥对固定纯文本进行加密来对所述最末伪随机输出执行最终变换。输入数据块经处理而使得数据块识别机密值,所述机密值接着使用加密模块依据所述密钥加密。所述输出由此表示使用加密模块对于对应于下一输入数据块的机密值进行加密所依据的密钥。处理最末输入数据块的输出接着经受最终变换,其中使用加密模块依据最末加密的输出对固定常数进行加密。所有三个步骤一起提供泄漏弹性PRF构造。本方法确保密钥仅与固定的单个纯文本或与若干未知或机密纯文本一起使用。这将攻击情形减少到简单功率分析(SPA)或未知输入DPA。任何种类的经典已知输入DPA不适用。此外,还致使差分故障分析攻击(DFA)攻击变得低效。加密模块可以是标准分组加密,如AES、PRESENT或通常容易受到侧通道攻击的任何其它分组加密。可以认为PRF是GGM式k元树构造。在这一树构造内,基础PRG可为计数器模式中的分组加密,其中计数器值为未知的机密值。在一个或多个实施例中,提供到加密模块的密钥可以与产生所述机密值相同的方式产生。可替换的是,可从加密装置的存储器或从外部装置提供密钥。在实施例中,伪随机产生器可用以产生所述机密值和所产生密钥,使得每一密钥仅与加密模块中的单个值一起使用。在一个或多个实施例中,在对所述输入的进行逐个数据块方式的处理期间,仅处理所述加密模块未知的所述密钥和所述机密值的值。在实施例中,用于所述最终变换中的所述密钥仅与单个固定纯文本一起使用。这减小了可用于从特定密钥检测到的功率轨迹的数目。在实施例中,以逐个数据块的方式处理所述输入可包括以下步骤:使用所述密钥处理以所述输入的第一数据块作索引的第一机密值以导出第一伪随机输出。在此类实施例中,所述方法可进一步包括以下步骤:基于所述第一伪随机输出导出经更新密钥;以及使用所述经更新密钥处理以所述输入的第二数据块作索引的第二机密值以导出第二伪随机输出。更一般来说,所述输入可包括数目1个数据块,使得所述方法可进一步包括以下步骤:基于第(l-1)个伪随机输出导出第(l-1)个经更新密钥;以及使用所述第(l-1)个经更新密钥以及以第1个数据块作索引的机密值处理第1个数据块以导出第1个伪随机输出。可接着使用第1个伪随机输出对固定机密或公用常数进行加密以导出最终输出。最终输出可对应于上文限定的最末伪随机输出。在实施例中,产生机密值和密钥的步骤可包括以下步骤:例如从所述密码装置的存储器获得加密密钥;将所述加密密钥和常数输入提供到所述或具有加密原语的加密模块;使用所述加密原语借由所述加密密钥的所述值对所述常数输入进行加密以产生加密输出,即机密中间值。将这一机密中间值组合(例如通过对所述机密中间值与密钥输入(即加密密钥)进行异或运算)到加密模块以形成机密值;可接着使用机密中间值作为或来更新加密模块的密钥输入以便以相同方式产生另一机密值。产生密钥可遵循相同程序进行。即,最末机密值承担在使用机密值和所产生密钥处理第一输入数据块时用于所述步骤的所产生密钥的角色。在实施例中,可重复先前步骤k+1次以获得数目为(k+1)的一组机密值和一个密钥,其中所述密钥是基于第(k+1)个机密值。如上文所指出,所述加密模块以是具有根据任何加密算法(例如PRESENT算法或高级加密标准算法)的本文档来自技高网...
【技术保护点】
一种用于保护具有加密模块的密码装置免受实施攻击的方法,其特征在于,所述方法包括:使用伪随机产生器产生机密值;将密钥、具有数个数据块的输入以及所述机密值提供到加密模块;为所述数据块与所述机密值编索引;通过使用所述密钥和所述加密模块对以所述数据块作索引的所述机密值进行加密而以逐个数据块的方式处理所述输入;针对每一个数据块产生所述加密模块的伪随机输出;在处理下一个数据块时提供所述伪随机输出作为所述密钥;以及通过使用来自前一步骤的最末伪随机输出作为密钥对固定纯文本进行加密来对所述最末伪随机输出执行最终变换。
【技术特征摘要】
2015.04.30 EP 15166086.71.一种用于保护具有加密模块的密码装置免受实施攻击的方法,其特征在于,所述方法包括:使用伪随机产生器产生机密值;将密钥、具有数个数据块的输入以及所述机密值提供到加密模块;为所述数据块与所述机密值编索引;通过使用所述密钥和所述加密模块对以所述数据块作索引的所述机密值进行加密而以逐个数据块的方式处理所述输入;针对每一个数据块产生所述加密模块的伪随机输出;在处理下一个数据块时提供所述伪随机输出作为所述密钥;以及通过使用来自前一步骤的最末伪随机输出作为密钥对固定纯文本进行加密来对所述最末伪随机输出执行最终变换。2.根据权利要求1所述的方法,其特征在于,以与所述机密值相同的方式产生提供到所述加密模块的所述密钥。3.根据权利要求2所述的方法,其特征在于,所述伪随机产生器产生所述机密值和所产生的所述密钥,使得每一密钥仅与所述加密模块中的单个机密值一起使用。4.根据在前的任一项权利要求所述的方法,其特征在于,在对所述输入进行逐个数据块的方式的处理期间,仅处理所述加密模块未知的所述密钥和所述机密值的值。5.根据权利要求1所述的方法,其特征在于,用于所述最终变换中的所述密钥仅与单个固定纯文本一起使用。6.根据权利要求1所述的方法,其特征在于,所述输入的所述逐个数据块处理包括以下步骤:使用所述密钥处理以所述输入的第一数据块作索引的第一机密值以导出第一伪随机输出。7.根据权利要求6所述的方法,其特征在于,进一步包括以下步骤:基于所述第一伪随机输出导出经更新密钥;以及使用所述经更新密钥处理以所述输入的第二数据块作索引的第二机密值以导出第二伪随机输出。8.根据权利要求6或权利要求7所述的方法,其特征在于,所述输入包括数目1个数据块,所述方法进一步包括以下步骤:基于第(1-1)个伪随机输出导出第(1-1)个经更新密钥;以及使用所述第(1-1)个经更新密钥以及以第1个数据块作索引的机密值处理所述输入的第1个数据块以导出第1个伪随机输出。9.根据在前的任一项权利要求所述的方法,其特征在于,产生密钥的所述步骤包括以下步骤:i)例如从所述密码装置的存储器获得加密密钥;ii)将所述加密密钥和常数输入提供到所述或具有加密原语的...
【专利技术属性】
技术研发人员:马塞尔·梅德韦德,文蒂斯拉夫·尼科夫,马丁·费尔德霍费尔,
申请(专利权)人:恩智浦有限公司,
类型:发明
国别省市:荷兰;NL
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。