[发明专利]生成软件应用程序的白盒实现的系统和方法有效
申请号: | 200980118647.1 | 申请日: | 2009-05-25 |
公开(公告)号: | CN102047220A | 公开(公告)日: | 2011-05-04 |
发明(设计)人: | 菲利普·阿兰·艾森;格兰特·斯图尔特·古德兹;丹尼尔·阿列·默多克 | 申请(专利权)人: | 爱迪德加拿大公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F21/00;G06F9/45 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 康泉;宋志强 |
地址: | 加拿大*** | 国省代码: | 加拿大;CA |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 软件 应用程序 实现 系统 方法 | ||
技术领域
本发明一般涉及密码术(cryptography)。更具体地说,本发明涉及对被设计为在攻击者已完全访问并控制正在执行的软件的环境中安全操作的软件应用程序的开发。
背景技术
白盒密码(cryptographic)软件是在白盒攻击环境中执行密码功能的软件;也就是说,在这样一种环境中,其中软件应用程序的至少部分并且有可能整个实现可能暴露给攻击者,而该攻击者至少在某种程度上控制并且可能完全控制该软件正运行于其上的平台。
例如,这种环境与诸如数字版权管理(DRM)之类的密码应用程序一起出现,其中电视节目、电影、音乐等等被显示在个人计算机(PC)或其它类似的日用计算设备上,而非经由广播或经由DVD播放器显示在传统电视上。虽然这种日用设备的许多所有者会遵守版权法,但是还是有其它人企图通过制作并出售媒体内容的违法拷贝来盗取该内容而不为他们的使用向其所有者付费,从而在面向PC或类似设备的媒体上获利。PC是一个特别暴露的环境:在行的攻击者可以获得对该设备的完全控制,并且可以详细监控软件运行并利用调试器控制、中止或修改其执行,以及可以重复执行相同的代码以查找可以利用的行为模式等等。
白盒密码软件被设计为在这种环境中运行。以白盒攻击环境为目标的密码功能,虽然可以很好地实现传统密码,却是以极为非传统的方式来实现它,以便阻止攻击者获知软件运行所采用的方式。例如,通常,要么通过部分赋值将密钥嵌入在白盒密码软件的余部中,要么对密钥进行编码。此外,通常对密码的输入和输出文本进行编码,以使得攻击者拥有的密码的传统实现的知识在对白盒密码实现发动攻击方面毫无用处。
在过去,会要求用户确定和指定安全参数,这些安全参数会并入用户定义的软件内,该用户定义的软件还包括用于访问白盒库工具的API调用。换句话说,在过去,通过将已构造的白盒实现包含到软件中而后可选地利用诸如Cloakware TranscoderTM(克劳克维尔代码转换机TM)之类的混淆和/或防篡改工具保护它们的接口数据(例如,对于加密,这通常包括密钥和明文输入以及密文输出)而将白盒加密运算注入到软件应用程序中。将使用密码功能的软件和实现密码功能、密钥(或在公钥密码术的情况下为多个密钥)、文本输入以及文本输出的软件正确地连接在一起的职责在于使用密码功能的程序员(程序员/用户)。
因为每一步都受程序员/用户控制,因此所有问题来自于人们对完美性能的期望。当程序员/用户成功时,结果是该功能是所想要的。如果程序员/用户遗漏了一步或者错误地执行了一步,则该功能可能在总体方式上或在细微方式上与所想要的不同。后者更加危险:总体错误通常在测试过程中被捕捉到;而细微的错误可能容易被遗漏。
因此,明显的是,虽然白盒密码实现的出现已经使DRM内容分发系统更加可行,不过,大的问题归于我们将怎么调用该实现的周围隐含(peri-cryptic)(在未加密文本进入或离开白盒实现的情况下)和相互隐含(inter-cryptic)(在加密文本从一种形式的加密向另一种形式的加密移动的情况下)方面。我们已经确定,除了白盒密码或密码散列本身之外,还需要改进白盒密码或密码散列驻留于其中的软件的构造,以及在系统使用多种加密和散列的情况下不同密码组件中的连接的构造,所述多种加密和散列形成加密或散列内容沿其传播的信息管道的“管件(plumbing)”,其中软件的周围隐含部分和相互隐含部分从前必须由在行的用户详细地手动构造。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于爱迪德加拿大公司,未经爱迪德加拿大公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200980118647.1/2.html,转载请声明来源钻瓜专利网。