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

文档序号:9929737阅读:来源:国知局
。在操作中,第一部分222产生f^x)和y作为中间值。反函数f1 230可以与第一部分222集成,并接收X作为输入以在然后产生值f^x)。与图1中相同,向密码操作的第二部分224输入中间值y。硬件单元240接收^(χ)作为输入,并产生输出X。然后,将输出X输入到第二部分224中。第二部分224然后产生输出。第一部分222、第二部分224、反函数f1 230以及安全硬件单元240可以与以上所述的相同。
[0034]图3示出了使用软件和安全硬件单元二者的密码系统的第三实施例。第三实施例包括白盒实现320和安全硬件单元340。安全硬件单元340与图1的安全硬件单元140类似。除了不划分白盒实现之外,白盒实现320与图1中的白盒实现120类似。相反,在白盒实现320的输入处集成反函数f1 330。在操作中,如上所述将输入X划分为X和y部分。向产生输出f(x)的安全硬件单元340输入值X。然后将输出f(x)输入到可与白盒实现集成的反函数f1 330中。此外,将值y输入到白盒实现320中。白盒实现320产生输出。
[0035]图4示出了使用软件和安全硬件单元二者的密码系统的第四实施例。第四实施例包括白盒实现420和安全硬件单元440 ο安全硬件单元440与图1的安全硬件单元140类似。除了不划分白盒实现之外,白盒实现420与图1中的白盒实现120类似。相反,在白盒实现420的输出处集成反函数f1 430 ο在操作中,白盒实现420接收输入。白盒实现420产生输出,该输出被划分为X和y部分。将值X输入到可与白盒实现集成的反函数f1 430中,以产生输出f1(X)。然后,将输出P(X)输入到安全硬件单元440中,以产生值X。此外,白盒实现420产生值
Iο值X和y是密码函数的输出。
[0036]虽然Chow描述了密码操作的表查找实现,也可以使用有限状态机实现。在题为“Data Processing Method” 的美国专利公开2007/0014394以及WuIf Harder和AtisStrau jums于2008年3 月 11 日在Re-trust Sixth Quarterly Meeting中题为uSynchrosoft MCFACTTM Secure Data Processing Technology” 的演不中公开了使用有限状态机的白盒实现的示例,因此将其各自通过引用并入以用于各种目的,如同其在本文中被完全陈述一样。
[0037]根据本发明实施例的方法可在计算机上作为计算机实现方法来实现。可将根据本发明的方法的可执行代码存储在计算机程序介质上。计算机程序介质的示例包括存储设备、光存储设备、集成电路、服务器、在线软件等。因此,白盒系统可包括实现白盒计算机程序的计算机。这样的系统还可包括其他硬件单元,包括存储器、用于与外部系统传输数据的网络接口、以及白盒系统的单元。
[0038]在本发明的实施例中,计算机程序可包括计算机程序代码,当在计算机上允许计算机程序时,该计算机程序代码适于执行根据本发明的方法的所有步骤。优选地,计算机程序嵌入在非暂时性计算机可读介质中。
[0039]此外,因为白盒密码通常非常复杂和/或被掩盖,人书写起来很乏味。因此,具有自动创建根据本发明实施例的密码系统的方法是有利的。
[0040]可以在计算机上实现根据本发明的创建密码系统的方法作为计算机实现方法,或可在专用硬件中实现该方法,或以其二者的组合来实现该方法。可将根据本发明的方法的可执行代码存储在计算机程序介质上。在这样的方法中,计算机程序可包括计算机程序代码,当在计算机上允许计算机程序时,该计算机程序代码适于执行方法的所有步骤。计算机程序嵌入在非暂时性计算机可读介质中。
[0041 ]可在用户设备(例如,移动电话、台式计算机、机顶盒、智能TV等)上实现本文中描述的密码系统。内容提供商(例如,电视网络、视频流公司、金融机构、音乐流公司等)可向用户设备提供用于从内容提供商接收加密内容的软件。该软件可具有如上所述嵌入其中的加密密钥,且还可包括上述的绑定字符串。然后,内容提供商可向用户设备发送然后可使用所提供的软件来解密的加密内容,并使用该内容。
[0042]图5示出了用于提供用户设备安全内容的系统和处理安全内容的软件应用。系统包括内容服务器500、应用服务器520、用户设备550、552以及数据网络540。用户设备550、552可请求访问内容服务器500经由数据网络540提供的安全内容。数据网络可以是在用户设备550、552与内容服务器500和应用服务器520之间提供连接的任何数据网络。用户设备550、552可以是多个设备之一,例如,机顶盒、媒体流设备、数字视频录制器、平板设备、移动电话、膝上型计算机、便携式媒体设备、智能手表、台式计算机、媒体服务器等。
[0043]用户的访问请求可首先要求下载可使用来处理内容服务器500提供的安全内容的软件应用。可从应用服务器520下载软件应用。可使用上述技术掩盖软件应用,以及软件应用可如上所述地操作。一旦用户设备550、552安装了软件应用,用户设备可在然后从内容服务器500下载安全内容,并使用下载的软件应用访问安全内容。例如,下载的软件应用可执行对从内容服务器接收的加密内容的解密。在其他实施例中,软件应用可执行其他安全操作,例如,如加密、数字签名生成及验证等。
[0044]内容服务器500可控制对向用户设备550、552提供的安全内容的访问。因此,当内容服务器500接收针对安全内容的请求时,内容服务器500可向进行请求的用户设备发送安全内容。同样地,应用服务器520可控制对向用户设备550、552提供的软件应用的访问。因此,当应用服务器520接收针对安全内容的请求时,应用服务器520可向进行请求的用户设备发送软件应用。在向请求软件应用或安全内容的用户设备提供软件应用或安全内容之前,还可以由相应服务器验证该用户设备。
[0045]内容服务器500可包括经由一个或多个系统总线508互连的处理器502、存储器504、用户接口 506、网络接口 510和内容存储器512。将会理解的是,图3在某些方面构建了抽象形式,且设备500的组件的实际组织可以比所示出的更加复杂。
[0046]处理器502可以是能够执行存储器504或存储器512中存储的指令的任何硬件设备。由此,处理器可包括微处理器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其他类似的设备。
[0047]存储器504可包括各种存储器,例如,如L1、L2或L3高速缓存或系统存储器。由此,存储器502可包括静态随机存取存储器(SRAM)、动态RAM(DRAM)、闪存、只读存储器(ROM)或其他类似的存储设备。
[0048]用户接口506可包括用于启用与用户(例如,管理员)的通信的一个或多个设备。例如,用户接口 506可包括用于接收用户命令的显示器、鼠标以及键盘。
[0049]网络接口510可包括用于启用与其他硬件设备的通信的一个或多个设备。例如,网络接口 510可包括被配置为根据以太网协议通信的网络接口卡(NIC)。此外,网络接口 510可实现用于根据TCP/IP协议通信的TCP/IP栈。网络接口 510的各种替代或附加硬件或配置将会是显而易见的。
[0050]内容存储器512可包括一个或多个机器可读内容存储介质,例如,只读存储器(R0M)、随机存取存储器(RAM)、磁碟存储介质、光存储介质、闪存设备、或类似的存储介质。在各个实施例中,内容存储器512可存储要向用户提供的内容。
[0051]应用服务器520包括与内容服务器500中的要素类似的要素,且对内容服务器500中类似要素的描述适用于应用服务器520。此外,用应用存储器532来替代内容存储器512。此外,要注意到,可在单个服务器上实现内容服务器和应用服务器。此外,可在分布式计算机系统以及云计算机系统上实现这样的服务器。
[0052]在处理器上运行的用于实现本发明实施例的特定软件的任何组合构成特定的专用机器。
[0053]本文中使用的术语“非暂时性机器可读存储介质”将会被理解为排除暂时传播信号,而包括所有形式的易失性和非易失性存储器。此外,本文中使用的术语“处理器”将被理解为包含各种设备,例如微处理器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)以及其他类似的处理
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1