将白盒实现与精简安全单元绑定的制作方法

文档序号:9929737阅读:461来源:国知局
将白盒实现与精简安全单元绑定的制作方法
【技术领域】
[0001]本文中公开的各个示例性实施例大致涉及将执行密码函数的软件组件与精简安全单元绑定。
【背景技术】
[0002]因特网向用户提供了对数字内容的便利且无所不知的访问。因为因特网是强大的分发渠道,很多用户设备争取直接访问因特网。用户设备可包括个人计算机、膝上型计算机、机顶盒、启用因特网的媒体播放器、移动电话、智能电话、平板机、移动热点或能够访问因特网的任何其他设备。使用因特网作为版权内容的分发媒体对于保护内容提供商的利益而言提出了强制性的挑战。用户设备越来越多地使用加载了适合软件的处理器进行操作,以呈现(回放)数字内容,例如音频和/或视频。对回放软件的控制是强制保护内容所有者利益的一种方式,包括可根据其来使用内容的条款和条件。之前很多用户设备是闭合系统。如今越来越多的平台部分开放。可假设一些用户对提供内容访问的硬件和软件具有完全的控制和访问权,并具有用于攻击和绕过任何内容保护机制的大量时间和资源。因此,内容提供商必须通过敌视的网络向合法用户发放内容,该敌视的网络去往并非所有用户或用户设备都可信的社区。
[0003]可调用安全软件应用来执行各种功能,例如,如使用来保护和验证数字内容的密码函数。为了对抗攻击,必须掩盖这些算法(被隐藏),以防止反向工程和修改算法或者禁止获得用户特定的安全信息。因此,可通过实现安全软件的处理器的指令集所定义的各种功能来执行安全软件应用的功能。例如,掩盖这些功能的一种方式是使用查找表。
[0004]内容提供商必须通过敌视的网络向合法用户发放内容,该敌视的网络去往并非所有用户或设备都可信的社区。这导致了对白盒密码的开发。在白盒密码场景中,假设用户完全控制了提供对内容的访问的硬件和软件,并具有用于攻击和绕过任何内容保护机制的不限量的时间和资源。对可根据其来使用内容的条款和条件进行强制执行的安全软件代码应该是抗篡改的。数字权利管理是安全软件应用的常用应用。数字权利管理中针对向用户设备分发的受保护内容的一般性方案是例如使用DES(数字加密标准)、AES(高级加密标准)或使用其他已知加密方案来加密数字内容,且使用解密密钥来恢复数字内容。必须保护这些解密密钥,以防止对受保护资料的未授权访问。
[0005]在数字权利管理场景中,攻击者完全控制了强制执行对受保护内容的管理和访问的软件。因此,攻击者可以修改软件,且还寻求获得用于加密受保护内容的密码密钥。可通过分析软件来找到这样的密钥。
[0006]关于密钥分发,为了回放媒体,媒体播放器必须从许可数据库取回解密密钥。然后,媒体播放器必须在存储器中的某处存储该解密密钥,以用于解密加密内容。这使得攻击者有两个攻击密钥的选择。首先,攻击者可对许可数据库访问功能进行允许攻击者从所有的许可数据库取回资产密钥的反向工程。在该情形下,攻击者不需要理解密码函数的内部工作方式。第二,攻击者可观察内容解密期间对存储器的访问,从而攻击者可取回解密密钥。在这两种情况下,密码都被认为是遭遇了危险。
[0007]数字权利管理(DRM)和其他安全软件的广泛使用使得出现了对安全、抗篡改的软件的需求,该软件寻求利用软件来使篡改变得复杂。存在用于提高软件应用的抗篡改的各种技术。这些技术中的大多数基于通过在软件应用的控制和数据路径二者中添加一层随机性和复杂性遮盖来隐藏对应用的深入理解。其背后的思想是使仅通过代码审查来提取信息变得更加困难。其因此使得找到例如处理安全应用的访问和许可控制的代码并因而改变该代码变得更加困难。
[0008]本文中使用的白盒密码技术包括在攻击者完全控制了运行白盒密码软件的系统的环境中执行密码函数的安全软件应用。因此,攻击者可修改输入和输出,跟踪软件的操作,在任何时候对软件使用的存储器进行采样和监视,并甚至修改软件。因此,需要通过防止在安全函数中使用的秘密信息泄露的方式来执行安全函数。白盒密码函数可通过各种方式来实现。这样的方法包括:掩盖软件代码;使用掩盖秘密信息的使用的复杂数学函数;使用查找表;使用有限状态机;或执行密码函数但隐藏这些安全函数所需的秘密信息的任何其他方法。白盒实现还可以包含包括抗调试和防篡改特性的组件。
[0009]对于优选密码算法的软件实现而非硬件实现,存在若干原因。例如,这可以是以下情况:因为软件解决方案可在密钥泄露的情况下更新,因为其具有较低成本,或因为应用开发者影响不了实现白盒系统的硬件。
[0010]在以下论文中提出了高级加密标准(AES)和数据加密标准(DES)的白盒实现的基于表的方案:Stanley Chow、Philip Eisen、Harold Johnson和Paul C.Van Oorschot的“White-Box Cryptography and an AES Implementat1n”(Selected Areas inCryptography:9th Annual Internat1nal Workshop , SAC 2002,St.John’s,Newfoundland,Canada,Aug.15-16,2002),之后称为“Chow I” ;以及Stanley Chow、PhilipEisen、Harold Johnson和Paul C.Van Oorschot的“A White-Box DES Implementat1nfor DRM Applicat1ns”(Digital Rights Management:ACM CCS-9 Workshop,DRM 2002,Washington,D.C.,USA,Nov.18,2002),之后称为“Chow 2”。Chow I和Chow 2公开了使用基于表的方案来通过以下方式的组合隐藏密码密钥的方法:利用随机双射编码其表,以及通过将密码边界推出更远到包含的应用中来扩展密码边界。

【发明内容】

[0011]下面呈现各个示例性实施例的简要概要。在以下的概要中可进行一些简化和省略,其旨在突出并介绍各个示例性实施例的一些方面,而不是限制本发明的范围。在稍后的章节中将是示例性实施例的详细描述,该详细描述足以使本领域普通技术人员做出并使用创造性概念。
[0012]各个示例性实施例涉及一种编码有指令的非暂时性计算机可读存储介质,所述指令用于具有第一部分和第二部分的带密钥密码操作,所述第一部分和所述第二部分由将输入消息映射到输出消息的密码系统执行,所述非暂时性计算机可读存储介质包括用于执行以下操作的指令:从密码操作的第一部分向安全硬件设备输出第一密码数据,所述安全硬件设备对所述数据实现安全函数;从所述安全硬件设备接收输出数据;对所述输出数据实现所述安全函数的反转;以及对反转的输出数据执行密码操作的第二部分,其中,将用于对所述输出数据实现所述安全的反转的指令与用于对反转的输出数据执行密码操作的第二部分的指令安全地合并,以使得攻击者不能访问反转的输出。
[0013]描述了各个示例性实施例,还包括一种编码有指令的非暂时性计算机可读存储介质,所述指令用于具有第一部分和第二部分的带密钥密码操作,所述第一部分和所述第二部分由将输入消息映射到输出消息的密码系统执行,所述非暂时性计算机可读存储介质包括用于执行以下操作的指令:执行密码操作的第一部分,以产生密码数据;对密码数据的第一部分实现安全函数的反转;向硬件设备输出反转的密码数据,所述硬件设备对所述数据实现安全函数;从所述硬件设备接收输出数据;以及对硬件设备输出数据执行密码操作的第二部分,其中,用于对密码数据的一部分实现安全函数的反转的指令与用于对密码数据实现安全函数的反转的指令安全地合并,以使得攻击者不能访问反转的输出。
[0014]描述了各个示例性实施例,还包括一种编码有指令的非暂时性计算机可读存储介质,所述指令用于带密钥密码操作,所述带密钥密码操作由将具有第一部分的输入消息映射到输出消息的密码系统执行,所述非暂时性计算机可读存储介质包括用于执行以下操作的指令:从对所述输入消息的第一部分实现安全函数的硬件设备接收输出数据;对所述输出数据实现所述安全函数的反转;以及对反转的输出数据执行密码操作,其中,用于对所述输出数据实现所述安全函数的反转的指令与用于对反转的输出数据执行密码操作的指令安全地合并,以使得攻击者不能访问所述反转的输出。
[0015]描述了各个示例性实施例,还包括一种编码有指令的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1