白盒实施方案内中间值的宽编码制造技术

技术编号:15706394 阅读:69 留言:0更新日期:2017-06-26 19:27
一种用于通过密码系统中的带密钥的密码运算将输入消息映射到输出消息的方法,所述带密钥的密码运算包括多个替代层和状态数据,包括:在所述带密钥的密码运算的第一替代层中将所述输入消息映射到第一状态数据;在所述带密钥的密码运算的多个中间替代层中将所述第一状态数据映射到第二状态数据;以及在所述带密钥的密码运算的最终替代层中将所述第二状态数据映射到输出消息。

Wide encoding of intermediate values in white box implementation schemes

A method for mapping messages to the output message through a password system with key cryptographic operations will input the keyed cryptographic operations includes a plurality of alternative layers and state data, including key in the first layer will replace cryptographic operations of the input message is mapped to the first state data; a number of key intermediate zone in the cryptographic operations will replace the mapping layer first state data to the second state data; and key in the password operation layer will eventually replace the second state data is mapped to the output message.

【技术实现步骤摘要】
白盒实施方案内中间值的宽编码
本文所公开的各种示例性实施例大体上涉及密码函数的白盒实施方案内中间值的宽编码。
技术介绍
因特网向用户提供对数字内容的适宜和广泛的访问。因为因特网是强大的分布式通道,许多用户装置力求直接访问因特网。用户装置可包括个人计算机、膝上型计算机、机顶盒、支持因特网的媒体播放器、移动电话、智能电话、平板计算机、移动无线热点,或能够访问因特网的任何其它装置。使用因特网作为用于有版权内容的分布媒体对保护内容提供商的利益产生有力的挑战。用户装置越来越多地使用加载有合适的软件的处理器来呈现(重放)数字内容,例如音频和/或视频。重放软件的控制是一种强制执行内容所有者的利益(包括可供使用的内容所依据的条款)的方式。先前许多用户装置是封闭系统。当今越来越多的平台是部分开放的。可假设一些用户具有对于提供对内容的访问的硬件和软件的完全控制及访问权,并具有大量时间和资源来攻击和绕过任何内容保护机构。其结果是,内容提供商必须跨越对于其中并非所有用户或用户装置可信任的团体敌对的网络将内容递送到合法用户。可调用安全软件应用来实行各种函数,例如用于保护和验证数字内容的密码函数。为了对抗攻击,这些算法必须被模糊(隐藏)以便防止算法的逆向工程和修改或禁止获得特定用户的安全信息。因此,安全软件应用的功能可通过由实施该安全软件的处理器的指令集定义的各种函数来执行。例如,模糊这些函数的一种方式是通过使用查找表。内容提供商必须跨越对于其中并非所有用户或装置可信任的团体敌对的网络将内容递送到合法用户。这就引起了白盒密码术的发展。在白盒密码术情形中,假设用户具有对于提供对内容的访问的硬件和软件的完全控制以及攻击和绕过任何内容保护机构的不受限制的时间量和资源。强制执行可供使用的内容所依据的条款的安全软件代码应防止被篡改。数字权限管理为安全软件应用的共同应用。用于分布到用户装置的受保护内容的数字权限管理中的一般方法是使用(例如)DES(数据加密标准)、AES(高级加密标准)或使用其它已知加密方案对数字内容进行加密,并使用解密密钥恢复数字内容。这些解密密钥必须被保护以防止对受保护材料的未授权的访问。在数字权限管理的情形中,攻击者具有对强制执行受保护内容的管理和访问的软件的完全控制。因此,攻击者可修改软件以及试图获得用于对受保护内容进行加密的密码密钥。此类密钥可通过分析软件来发现。关于密钥分布,媒体播放器必须从许可证数据库中检索解密密钥以便重放媒体。媒体播放器随后必须将此解密密钥存储在存储器中某处以用于已加密内容的解密。这样就让攻击者有两种选择来攻击密钥。首先,攻击者可逆向编写许可证数据库访问函数,从而允许攻击者从所有许可证数据库中检索资产密钥。在此情况下,攻击者不需要理解密码函数的内部工作。其次,攻击者可以观察内容解密期间对存储器的访问,攻击者可因此检索解密密钥。在这两种情况下,密钥都被视为被破解。数字权限管理(DRM)和其它安全软件的广泛使用引起对安全的防篡改软件的需要,该软件力图使软件窜改变得复杂。存在各种用于提高软件应用的防篡改性能的技术。这些技术中的大多数是基于通过在软件应用的控制和数据路径中添加随机性和复杂度遮罩而隐藏对应用的嵌入式了解。这背后的概念是仅仅通过代码检测来提取信息变得更加困难。因而更难找到(例如)处理对安全应用的访问和许可控制的代码,并因此更难改变代码。如本文所使用,白盒密码术包括一种安全软件应用,其在攻击者具有对运行白盒密码术软件的系统的完全控制的环境中执行密码函数。因此,攻击者可修改输入和输出、追踪软件操作、取样和监视软件在任何时间使用的存储器,甚至可修改软件。因此,需要通过防止揭露安全功能性中使用的机密信息的方式执行安全功能。白盒密码术功能可以各种方式实施。此类方法包括:模糊软件代码;使用模糊机密信息使用的复杂的数学函数;使用查找表;使用有限状态机;或任何其它执行密码函数但是隐藏那些安全功能所需的机密信息的方法。白盒实施方案还可包括一些组件,所述组件包括防调试和防篡改属性。相对于硬件实施方案,优选加密算法的软件实施方案存在若干原因。如此(例如)可能是因为软件解决方案在密钥泄露的情况下可再生、因为其具有较低成本,或因为应用开发者对其中实施白箱系统的硬件没有影响。
技术实现思路
各种示例性实施例的简要概述在下文呈现。在以下概述中可以做出一些简化和省略,其意在突出并介绍各种示例性实施例的一些方面,但不限制本专利技术的范畴。足以允许本领域的普通技术人员产生并使用本专利技术概念的示例性实施例的详细描述将在后续部分呈现。各种实施例涉及用于通过密码系统中带密钥的密码运算将输入消息映射到输出消息,所述带密钥的密码运算包括多个替代层和状态数据,包括:在带密钥的密码运算的第一替代层中将输入消息映射到第一状态数据,其中所述第一替代层包括实施所述第一替代层的N个基本块,并且其中将具有第一大小的非线性编码放置在所述第一替代层的N个基本块的输入和输出上,其中N是整数;在带密钥的密码运算的多个中间替代层中将第一状态数据映射到第二状态数据,其中所述中间替代层包括实施所述中间替代层的M个块,并且其中将具有第二大小的多个非线性编码放置在所述中间替代层的M个基本块的输入和输出上,其中M是整数;以及在带密钥的密码运算的最终替代层中将第二状态数据映射到输出消息,其中所述最终替代层包括实施所述最终替代层的K个基本块,并且其中将具有第三大小的非线性编码放置在所述最终替代层的K个基本块的输入和输出上,其中K是整数,其中第一大小和第三大小大于第二大小,其中N>M,并且其中K>M。描述了各种实施例,其中第一大小和第三大小大于或等于第二大小的两倍。描述了各种实施例,其中密码运算为高级加密标准(AES)。描述了各种实施例,其中密码运算为数据加密标准(DES)。描述了各种实施例,其中第一大小为8位,第二大小为4位,并且第三大小为8位。描述了各种实施例,其中:在中间替代层中实施异或函数的基本块对4位输入进行运算以产生4位输出,并且在第一和最后替代层中实施异或函数的基本块对8位输入进行运算以产生8位输出。描述了各种实施例,其中:在中间替代层中实施异或函数的基本块对具有第二大小的输入进行运算以产生具有第二大小的输出;在第一替代层中实施异或函数的基本块对具有第一大小的输入进行运算以产生具有第一大小的输出;以及在最后替代层中实施异或函数的基本块对具有第三大小的输入进行运算以产生具有第三大小的输出。描述了各种实施例,其中还将线性编码放置在中间替代层中的M个基本块的输入和输出上。其它各种实施例涉及非暂时性机器可读存储媒体,其经指令编码以实施通过密码系统中的带密钥的密码运算将输入消息映射到输出消息,所述带密钥的密码运算包括多个替代层和状态数据,包括:用于在带密钥的密码运算的第一替代层中将输入消息映射到第一状态数据的指令,其中所述第一替代层包括实施所述第一替代层的N个基本块,并且其中将具有第一大小的非线性编码放置在所述第一替代层的N个基本块的输入和输出上,其中N是整数;用于在带密钥的密码运算的多个中间替代层中将第一状态数据映射到第二状态数据的指令,其中所述中间替代层包括实施所述中间替代层的M个块,并且其中将具有第二大小的多个非线性编码放置在所述中间替代层的M个基本块的输入和本文档来自技高网
...
白盒实施方案内中间值的宽编码

【技术保护点】
一种用于通过密码系统中的带密钥的密码运算将输入消息映射到输出消息的方法,所述带密钥的密码运算包括多个替代层和状态数据,其特征在于,包括:在所述带密钥的密码运算的第一替代层中将所述输入消息映射到第一状态数据,其中所述第一替代层包括实施所述第一替代层的N个基本块,并且其中将具有第一大小的非线性编码放置在所述第一替代层的所述N个基本块的所述输入和输出上,其中N是整数;在所述带密钥的密码运算的多个中间替代层中将所述第一状态数据映射到第二状态数据,其中所述中间替代层包括实施所述中间替代层的M个块,并且其中将具有第二大小的多个非线性编码放置在所述中间替代层的所述M个基本块的所述输入和输出上,其中M是整数;以及在所述带密钥的密码运算的最终替代层中将所述第二状态数据映射到输出消息,其中所述最终替代层包括实施所述最终替代层的K个基本块,并且其中将具有第三大小的非线性编码放置在所述最终替代层的所述K个基本块的所述输入和输出上,其中K是整数,其中所述第一大小和第三大小大于所述第二大小,其中N>M,且其中K>M。

【技术特征摘要】
2015.12.16 US 14/971,8511.一种用于通过密码系统中的带密钥的密码运算将输入消息映射到输出消息的方法,所述带密钥的密码运算包括多个替代层和状态数据,其特征在于,包括:在所述带密钥的密码运算的第一替代层中将所述输入消息映射到第一状态数据,其中所述第一替代层包括实施所述第一替代层的N个基本块,并且其中将具有第一大小的非线性编码放置在所述第一替代层的所述N个基本块的所述输入和输出上,其中N是整数;在所述带密钥的密码运算的多个中间替代层中将所述第一状态数据映射到第二状态数据,其中所述中间替代层包括实施所述中间替代层的M个块,并且其中将具有第二大小的多个非线性编码放置在所述中间替代层的所述M个基本块的所述输入和输出上,其中M是整数;以及在所述带密钥的密码运算的最终替代层中将所述第二状态数据映射到输出消息,其中所述最终替代层包括实施所述最终替代层的K个基本块,并且其中将具有第三大小的非线性编码放置在所述最终替代层的所述K个基本块的所述输入和输出上,其中K是整数,其中所述第一大小和第三大小大于所述第二大小,其中N>M,且其中K>M。2....

【专利技术属性】
技术研发人员:W·P·A·J·米歇尔斯乔普·威廉·波斯菲利普·特温
申请(专利权)人:恩智浦有限公司
类型:发明
国别省市:荷兰,NL

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

1