白盒加密算法实现制造技术

技术编号:20597058 阅读:88 留言:0更新日期:2019-03-16 12:38
本发明专利技术涉及一种处理器装置,其具有在其上实现的、加密算法AES的可实施的白盒掩蔽的实现,该加密算法AES包括SubBytes变换。通过在轮的轮输入处不提供轮输入值x而是提供白盒轮输入值x',来加强白盒掩蔽的实现,该白盒轮输入值由(i)借助可逆的掩蔽映射A掩蔽的轮输入值x和(ii)同样利用可逆掩蔽映射A掩蔽的模糊值y的级联形成;其中,从白盒轮输入值x′仅向SubBytes变换T馈送(i)轮输入值x,而不馈送(ii)掩蔽的模糊值y。

Implementation of White Box Encryption Algorithms

The present invention relates to a processor device with an implementable white-box masking implementation of the encryption algorithm AES, which includes the SubBytes transformation. The implementation of white-box masking is enhanced by providing a white-box input value x', instead of providing a wheel input value x', at the wheel input of a wheel. The white-box input value is formed by cascading the wheel input value x and (i i) masked by (i) using reversible masking mapping A as well as the fuzzy value y of (i i) masked by (i i) using reversible masking mapping A. The fuzzy value y without feeding (ii) masking.

【技术实现步骤摘要】
【国外来华专利技术】白盒加密算法实现
本专利技术涉及一种加密算法AES(AdvancedEncryptionStandard高级加密标准)的白盒实现。更具体地,本专利技术涉及一种具有加密算法AES的白盒实现的处理器装置。在本专利技术意义中,处理器装置理解为具有处理器的设备或其他物体,或者在另一个设备上的对这种设备的模仿。这种设备的示例是具有移动无线电通信功能的终端设备,用于具有移动无线电通信功能的终端设备的芯片组和智能卡。具有移动无线电通信功能的终端设备的示例一方面是诸如智能手机的移动终端设备,另一方面是用于工业环境的M2M装置。在其上设置对先前提到的设备的模仿的设备的示例是具有例如对具有移动无线电通信功能的终端设备/智能手机的模仿或者对智能手机芯片组等的模仿的个人计算机或者PC。因此,PC上的对用于具有无线电移动通信功能的终端设备的芯片组的模仿或者对用于具有移动无线电通信功能的终端设备的模仿或者对智能卡的模仿例如也被视为处理器装置。在加密算法中处理未经授权的人员无法访问的安全关键数据。例如,输入数据借助要保守秘密的密钥被处理为输出数据。在传统的灰盒加密中,通过将数据存储在未经授权的人员理论上无法访问的环境中来保护安全关键数据免受未经授权的人员访问。完美的访问安全的环境由黑盒加密保证,然而环境的实际实现中的缺陷可能导致访问,因此只有灰盒才能保证访问安全的环境的实际实现。在移动无线电通信网络中用于移动终端设备的移动无线电通信的认证和加密算法当前在移动终端设备的硬件技术上独立的安全元件中实现,例如在插入式或者嵌入式外形的UICC(UniversalIntegratedCircuitCard,通用集成电路卡)中实现。插入式UICC被理解为可取出的(U)SIM卡(SIM=SubscriberIdentityModule,用户识别模块,U=Universal,通用)。嵌入式UICC或eUICC被理解为具有与插入式UICC相同功能的焊接模块。此外,在UICC中还存储有安全关键数据,在此是加密密钥,用于认证和加密算法。硬件技术上分离的安全元件(诸如插入式UICC或eUICC)在移动终端设备中的未来是不确定的,并且未来还可能出现无需在硬件技术上分离的安全元件的移动终端设备。在移动终端设备上存储附加应用程序被广泛使用,这些附加应用程序超出了电话的原始应用范围,并且同样地处理安全关键数据。附加应用程序通常作为Apps(应用程序)直接存储在移动终端设备的处理器芯片中。在那里,附加应用程序以及其安全关键数据相对不受保护。通常的移动终端设备的处理器芯片是相对受到良好保护的安全处理器,特别是为了存储附加应用程序而设置的应用处理器,和为了终端设备在移动无线电通信网络中的无线电通信而设置的基带处理器。诸如Apps的附加应用程序通常主要或完全存储在应用处理器中。如果UICC允许,附加应用程序以及其安全关键数据(例如密钥)可以存储在UICC中。特别地,存储在应用处理器中的附加应用程序的安全关键部分可以转移到UICC中,UICC具有比应用处理器更高的安全级别。UICC中的存储空间相对有限。某些UICC因此不允许在UICC中存储附加应用程序或其一部分。附加应用程序的示例是用于借助移动终端设备支付向非接触式的(例如基于NFC的)支付终端进行支付的支付应用。此外,在诸如智能手机的移动终端设备上越来越多地使用对于加密服务、诸如语音加密或者数据加密的附加应用程序。附加应用程序(例如,支付应用程序)的加密子任务,诸如加密、解密、签名生成或者签名验证,由加密算法的实现来执行。
技术介绍
在加密算法的白盒实现中遵循如下方案:在实现中隐藏安全关键数据、特别是秘密加密密钥,使得对实现进行完全访问(totalaccess)的攻击者不能够从实现中提取出安全关键数据。白盒加密特别是对于没有独立安全元件的移动终端设备是可用的且有意义的,从而安全关键数据存储在不可信的环境中。本专利技术实现了加密的块密码算法(BlockchiffrierAlgorithmus)高级加密标准AES的解决方案,该算法在[3][NIST-AES]NISTfips197,"AnnouncingtheADVANCEDENCRYPTIONSTANDARD(AES),2001年11月26日中公开。AES包括轮次的数量。根据[3]第5.1章,AES的基本轮包括四种变换SubBytes、ShiftRows、MixColumns和AddRoundKey。最后一轮与其余轮略有不同,其例如不包含MixColumn变换。SubBytes变换是非线性的比特替换,该替换在使用称为S-Box的替换表的情况下执行。图1是中间AES轮的示意图,即不是第一AES轮且也不是最后AES轮的轮,并且该轮包括变换ShiftRows、AddRoundKey、SubBytes和MixColumns。在此,对输入数据x和密钥数据k进行处理。S.Chow、P.Eisen、H.Johnson、P.C.vanOorschot的专业文章[2][Chow-AES],"White-BoxCryptographyandanAESImplementation",inproceedingsoftheNinthWorkshoponSelectedAreasinCryptography(SAC2002)第250-270页,2002年,公开了针对具有128比特密钥长度和Nr=10轮的AES-128的AES加密算法的白盒实现,其中AES由取决于密钥的表(lookuptables,查找表)实现(参见摘要)。此外,代替单独的变换,在表中实现变换的组合(摘要)。AES的实施通过取决于密钥的表中的一系列查找、即表调用来实现。根据[2]第3章,第6页的开篇,通过将AES算法中的每个步骤与随机选择的双射进行组合来实现白盒掩蔽。根据[2]第3.1章,通过使用设计原理T(x)=S(xXORk)的取决于密钥的表(lookuptables,查找表)或者“T-Boxen”,将密钥安置在SubBytes变换的S-Box算子中,其中x是S-Box输入值,k是密钥,S是AESS-Box,并且XOR是XOR算子。因此,每个T-Box都是S-Box和先前的AddRoundKey变换的组合。对于T-Box的具体设计,[2]第4章和图1给出四种可能性I-IV。特别地,在图1中作为类型II示出了的AES轮的实现,其中向轮的T-Box变换馈送的轮输入值借助双射映射(8×8混合双射)是白盒掩蔽的。本申请的图2示出了将[2][Chow-AES]中图1类型II表示的白盒掩蔽的T-Box在表调用中实现的可能性。图2针对AES的第r轮示出了值x'借助随机选择的双射A(4i+j)(r)(双射在[2]第3章中没有标记)、取决于密钥的T-BoxTj(xXORk(4i+j)(r))和置换Bj(r)的映射,其中j=0,...3。通过双射A产生扩散,通过置换B产生加密设计标准意义上的混淆。在J.W.Bos、Ch.Hubain、W.Michiels和Ph.Teuwen的专业出版物[3]“DifferentialComputationAnalysis:HidingyourWhite-BoxDesignsisNotEnough”,eprint.i本文档来自技高网
...

【技术保护点】
1.一种处理器装置,所述处理器装置具有在其上实现的、加密算法AES的可实施的白盒掩蔽的实现,所述加密算法AES包括多轮,其中在使用轮输入值x的情况下产生轮输出值,‑其中每轮包括使用轮密钥k的AddRoundKey变换和SubBytes变换T,‑其中所述实现是白盒掩蔽的,为此在至少一轮或者每轮的轮输入处不提供轮输入值x而是提供掩蔽的轮输入值,所述掩蔽的轮输入值事先已经通过将可逆的掩蔽映射A应用于轮输入值x来产生,其特征在于,通过在至少一轮或每轮的轮输入处不提供轮输入值x而是提供白盒轮输入值x',来将白盒掩蔽的实现加强,所述白盒轮输入值由(i)借助可逆的掩蔽映射A掩蔽的轮输入值x和(ii)同样利用可逆的掩蔽映射A掩蔽的模糊值y的级联来形成;其中,从白盒轮输入值x′仅向SubBytes变换T馈送(i)轮输入值x,而不馈送(ii)掩蔽的模糊值y。

【技术特征摘要】
【国外来华专利技术】2016.07.12 DE 102016008456.11.一种处理器装置,所述处理器装置具有在其上实现的、加密算法AES的可实施的白盒掩蔽的实现,所述加密算法AES包括多轮,其中在使用轮输入值x的情况下产生轮输出值,-其中每轮包括使用轮密钥k的AddRoundKey变换和SubBytes变换T,-其中所述实现是白盒掩蔽的,为此在至少一轮或者每轮的轮输入处不提供轮输入值x而是提供掩蔽的轮输入值,所述掩蔽的轮输入值事先已经通过将可逆的掩蔽映射A应用于轮输入值x来产生,其特征在于,通过在至少一轮或每轮的轮输入处不提供轮输入值x而是提供白盒轮输入值x',来将白盒掩蔽的实现加强,所述白盒轮输入值由(i)借助可逆的掩蔽映射A掩蔽的轮输入值x和(ii)同样利用可逆的掩蔽映射A掩蔽的模糊值y的级联来形成;其中,从白盒轮输入值x′仅向SubBytes变换T馈送(i)轮输入值x,而不馈送(ii)掩蔽的模糊值y。2.根据权利要求1所述处理器装置,其中,所述实现在相应的轮内还包括:-在SubBytes变换之前借助掩蔽映射A的逆掩蔽映射A-1对轮输入值x'中的掩蔽的输入值x进行去掩蔽变换,所述去掩蔽变换被设计为,向SubBytes变换T馈送未掩蔽的轮输入值x,-以及对轮输入值x'中的模糊值y进行从掩蔽映射A到随机可逆的映射σ的重新掩蔽变换,所述重新掩蔽变换被设计为,根据利用掩蔽映射A掩蔽的模糊值y产生利用随机可逆的映射σ掩蔽的模糊值y。3.根据权利要求1或2所述处理器装置,其中通过在至少一轮或每轮的轮输出处应用随机可逆的仿射映射B,来进一步加强至少一轮或者每轮的轮输出,更确切地说所述映射B应用于:(i)利用至少SubBytes变换T处理的轮输入值x和(ii)可能利用至少随机可逆的映射σ掩蔽的模糊值y。4.根据权利要求1至3中任一项所述处理器装置,其中,不使用SubBytes变换而是使用组合的SubBytes变换,所述组合的SubBytes变换由传统的AESSubBytes变换S和AESMixColumns变换MC的组合根据T(x)=(MC)S(x)来形成。5.根据权利要求1至4中任一项所述处理器装置,其中,所述仿射映射A进一步被设计为,使得仿射映射A的输出值中的每个比特取决于来自模糊值y的至少一个比特,由此实现了仿射映射A的输出值在统计上的平衡。6.根据权利要求5所述处理器装置,其中,如下地实现在统计上的平衡:掩蔽映射A由矩阵A形成,在矩阵A中对于模糊值y的映射提供可逆的子矩阵,其中,在对于模糊值y提供的每个子矩阵的每一行中,至少...

【专利技术属性】
技术研发人员:S鲍尔
申请(专利权)人:捷德移动安全有限责任公司
类型:发明
国别省市:德国,DE

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1