描述了用于执行敏感代码和数据的安全执行环境,其包括安全资产管理单元(SAMU)。SAMU提供安全执行环境以运行敏感代码,例如,与为内容消耗建立的复制保护方案相关的代码。SAMU架构允许基于硬件的安全引导和存储器保护,并为主机处理器所提供的代码提供立即响应式代码执行。SAMU可从加密和已签署的内核代码引导,并执行加密、已签署的代码。基于硬件的安全配置便于防止垂直或水平特权扰乱。
Method and apparatus for protecting sensitive code and data architecture
A secure execution environment for performing sensitive code and data is described that includes a secure asset management unit (SAMU). SAMU provides a secure execution environment to run sensitive code, for example, with the code for the copy protection scheme for content consumption. The SAMU architecture allows hardware based security guidance and memory protection, and provides immediate response code execution for the code provided by the host processor. SAMU can boot from encrypted and signed kernel code, and perform encrypted, signed code. Hardware based security configuration facilitates vertical or horizontal privilege disruption.
【技术实现步骤摘要】
【国外来华专利技术】
本申请涉及基于硬件的安全执行环境。
技术介绍
数字版权管理(DRM)许可证的可靠技术实施假设防止对解密的数字内容的原始位流的直接访问以及该许可证实施机制本身是可能的。然而,这难以在诸如个人计算机(PC)的开放式计算平台上实现。PC被发现难以对维持敏感代码和数据的机密性变得可靠。维持代码或安全数据的机密性的当前方法包括现有的基于软件的解决方案,其依赖于反调试、完整性监控和混淆技术来阻止逆向工程和篡改。另一技术涉及认证系统希望在安全引导过程中在装入时间执行的软件代码和/或数据常数。这可例如经由如本领域中的普通技术人员所认识到的签署验证技术来实现。但是装入时间认证技术也具有缺点。例如,在这种技术中,在安全引导过程中,认证只发生一次。因此,利用装入时间认证技术的系统在运行时间易受编程攻击和/或数据损坏的影响,其中运行时间被识别为紧接着在装入时间之后(即,在安全引导过程之后)的时间段。现有的计算系统常常试图通过实现基于证书的安全系统来保护存储在寄存器中的数据的完整性。在这样的系统中,对寄存器(即,在可被读/写的存储器中的位置)的访问被限制到其证书被验证的那些功能(即,软件程序)。该验证可由计算系统内的逻辑实现。然而,基于证书的安全系统具有很多缺点。例如,基于证书的安全系统只能够实施一种数据访问策略。具体地,具有可行证书的功能将被允许访问寄存器内的数据,而没有可行证书的功能将被拒绝访问数据。因为这些系统只依赖于基于证书的验证作为用于数据访问的机制,它们易受下面情境的影响:其中欺诈功能不恰当地获取可行证书并因此被允许访问寻求保护的数据。此外,这些系统假设基于证书的数据访问是对寻求保护的所有类型的数据的适当的安全策略。然而,使用不同的访问策略来保护不同类型的数据常常是合乎需要的。已知的技术(诸如上面讨论的那些技术)当它们在以在常规PC上运行为目标的软件中实现时对于在DRM系统中使用常常是不够的。存在可用来使逆向工程变得可能的很多工具。此外,在PC中,操作系统的保护架构和访问控制模型使它们对用作DRM内容再现客户端的平台是笨重的,因为难以使用开放式架构来保护敏感软件。维持机密性的当前方法已被证明对抵抗非正式黑客是有效的,以高计算和功率开销为代价。但是高值资产仍然难以防范职业黑客。因此,需要在个人计算环境中提供一种用于执行敏感代码和数据的安全执行环境。实施方案的概述本文所述的实施方案包括为基于硬件的保护执行环境提供的安全配置,其允许立即响应式敏感代码被装入安全执行环境中。运行时间生成的数据也可被安全地保护,即使存储在外部存储器中。用于存储器映射的每个上下文被单独地管理,确保在相应的上下文之间的机密性。执行环境包括安全资产管理单元(SAMU)的架构细节。SAMU通过从主机处理器卸载以加密格式的代码或数据来提供程序代码或数据的安全执行环境,用于认证并用于维持代码或数据的机密性。SAMU通过提供抗篡改软件的平台来减小所消耗的功率,并减小有效软件的失效的频率。此外,SAMU对诚实的用户是非侵入的,并提供保护执行环境来使敏感代码的逆向工程变得很难。基于硬件的安全配置有利于防止垂直或水平特权扰乱。附图简述从结合附图作为例子给出的下面的描述中可以有更详细的理解,其中:附图说明图1A示出根据一个实施方案的主机系统,其中敏感代码从处理器卸载到安全资产管理单元(SAMU);图1B示出SAMU顶级架构;图2是SAMU运行时间上下文设置的流程图;以及图3示出SAMU软件堆栈。实施方案的详细描述如本文使用的术语“处理器”指下列项中的任一个:处理器、处理器核心、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)或类似的设备。处理器可形成另一设备例如集成北桥、应用处理器(Apps处理器)、CPU、DSP等的部分。如本文使用的处理器核心可以是x86、RISC或其它指令集核心。安全资产管理单元(SAMU)是配置在处理器核心内的组件或是被配置来与处理器核心合作而执行的单独组件。当被配置在处理器核心中或作为独立于处理器核心的单独组件时,SAMU可被配置来执行下列操作中的至少一个:从主机处理器卸载敏感代码或对存储器中的敏感代码或数据加密。SAMU可在硬件中实现以提供基于硬件的保护执行环境。在这样的环境中,敏感代码和数据可在安全存储器中受保护,并且可以仅以纯文本形式存储在高速缓冲存储器或嵌入式存储器中。此外,在生产部件上完全禁用调试;且安全内核“拥有”并控制执行环境,且对存储器和资源的访问都被控制。SAMU可与处理器共享存储器,或其可具有专用存储器。图1A示出根据一个实施方案的主机系统101,其中敏感代码从处理器卸载到SAMU。图1A示出包括经由系统总线或内部总线105连接的处理器102和SAMU104的系统101。系统101可以是能够与对等机交换数据的任何计算机系统。此外,系统101可包括使用安全协议来在处理器102和SAMU104之间传输数据的一个或多个应用程序(未不出)。应用程序可以在内核空间或用户空间中运行。处理器102被配置来在系统内核(未示出)中操作。处理器102与外部设备通过接口连接以从内容源(例如,来自互联网的内容媒介,诸如Blu-ray 磁盘,等等)检索加密数据和消息(即,数据包)。处理器102可将加密数据提供至SAMU104以用于解密和处理。一些数据集例如导航数据可从SAMU104返回到处理器102以控制总媒介消耗过程。当需要保护时,SAMU104也可将数据以再次加密的格式发送回处理器102。在一个实施方案中,SAMU104包括处理堆栈,处理堆栈被配置来实现对发送到外部设备并从外部设备接收的数据的处理。因此,当系统101建立与外部设备或互联网而不是处理所发送和接收的数据包的主机处理器102的连接时,SAMU104经由在SAMU104上实现的处理堆栈而提供这个处理功能。在另一实施方案中,SAMU104可以是处理器102的一部分。关于图1B更详细解释了 SAMU104的架构。SAMU104包括安全引导只读存储器(ROM) 110、存储器管理单元(MMU) 120、指令高速缓冲存储器(1-Cache) 130、数据高速缓冲存储器(D-Cache)140、存储器高级加密标准(M-AES)组件150、整体性检验器(IV)160、安全加速器170、处理器核心180、安全内核185和存储器接口 190。安全加速器170被配置来实现下列项中的至少一个:128b/192b/256b AES ;安全散列算法(SHA-1/-2) ;Rivest, ShamirAdlemen (RSA)密码术;椭圆曲线密码(ECC)算术;数据加密标准(DES) ;3DES ;RivestCipher4 (RC4) ; 1024b/2048b/3072b模块化求幂;或提供真实随机数发生器。SAMU104可支持多个处理器模式,包括用于娃中的引导代码的模式。其它处理器模式可由安全内核185定义,包括例如:内核核心功能;内核服务;内部开发的SAMU104应用程序;第三方开发的SAMU104应用程序;已签署的但不受阻碍的SAMU104应用程序;或未签署的不受阻碍的SAMU104应用程序。引导R0M110被配置来执行以硅形本文档来自技高网...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:丹尼尔·W·翁,
申请(专利权)人:超威半导体公司,
类型:
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。