处理器安全制造技术

技术编号:8416330 阅读:130 留言:0更新日期:2013-03-15 05:17
包括处理器的装置,该处理器经安排以一旦启动或重启便自动执行引导代码。引导代码包括代码认证过程,以验证附加代码是否经认证用于在处理器上执行。单独的安全单元包括私有解锁密钥和密码逻辑,该密码逻辑经配置以使用私有解锁密钥来签名部分数据,从而生成经签名的解锁文件用于供应至存储位置。处理器经安排以从存储位置访问解锁文件,使其可用而无需连接至安全单元。引导代码进一步包括解锁认证过程,其经配置以检查存储位置中的解锁文件,并且如果可用则基于其签名来验证解锁文件是否经认证用于在该处理器上使用,以便在验证解锁文件的条件下对引导认证过程去除限制。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及对在处理器上执行的代码进行认证。
技术介绍
公开密钥密码(cryptography)涉及生成非对称密钥对,通常称之为公开密钥和私有密钥。这样称呼是因为私有密钥由上述密码方案的实施方所保密,同时将公开密钥分配给一个或多个其他方(然而它不需要在自由或任意可用的意义上“公开”——在很多情况下,仍然谨慎地限制公开密钥的分配)。如图I中所示意性示出的,一般是基于输入到密钥生成函数102的大量随机数来生成公开和私有密钥对。公开密钥K’和私有密钥K依据该生成函数和随机数而因此数学上彼此相关,但是由于该函数的性质,因此从公开密钥K’导出或推断出私有密钥K实际上 是不可行的。密钥生成函数的一个示例是RSA(Rivest, Shamir和Adleman)算法。适用于密钥生成函数102的该算法和其他合适的算法的细节对于本领域技术人员是熟悉的。公开密钥密码出现了两种类型。第一种是公开密钥加密,据此发送方使用公开密钥来加密消息并且接收方使用私有密钥来解密消息,因此使消息的信息内容对于除了私有密钥的持有者外的任何人保密。第二种是认证,据此某一信息的供应者使用私有密钥来“签名”该信息。然后,公开密钥的任何持有者均可验证该信息确实来源于私有密钥的持有者,并且因此该信息是可靠的。非对称或公开密钥技术的特有特征在于,用于加密或签名信息的密钥与用于解密或认证信息的密钥是不同的。以下涉及后一种用于认证的公开密钥密码。如图2中所示意性示出的,为了对将运行在处理器上的其他软件的可靠性进行验证,可由安全引导过程(procedure)来使用这样的技术。图2示出了集成电路(IC)或“芯片”形式的处理器204。处理器芯片204包括中央处理单元(CPU) 206和第一非易失性片上存储器208,以及可选地包括第二非易失性片上存储器210。另外,CPU 206可操作地耦合至非易失性片外存储器212。第一片上存储器208是主引导存储器,其存储主引导代码。CPU 206是硬连线的,以便处理器一旦启动或重启,CPU 206便从主引导存储器208自动地开始执行主引导代码。主引导代码被执行时,实施处理器启动和运行所需的基本初始化。主引导存储器208优选地采用安全只读存储器(ROM)的形式,该只读存储器被安排为不可由客户或用户来改变,例如,一次性可编程存储器,其中的数据成分一旦经编程就永久性地熔合,从而不能重写存储器。片外存储器212可用于存储次级引导代码。主引导代码据此包括这样的过程其一旦已合适地配置处理器,则自动地激发次级引导代码的执行来提供进一步的“软件”引导功能。次级引导代码允许处理器204的一些引导功能由客户(例如,用户终端的制作者,所述用户终端诸如其中将结合芯片的无线移动蜂窝装置)“现场(in the field)”编程,相反主引导代码来自芯片本身的制造商的预编程,并且不应该是由客户或用户可改变的。片外存储器212还可用于存储用于在处理器上运行的应用程序和/或数据文件。片外存储器212例如可以是诸如外部闪存的可擦除可编程存储器(EPROM)。可替代地或此外,次级片上存储器210可用于存储次级引导代码、其他应用程序和/或数据文件。次级片上存储器210例如可以是诸如片上闪存的EEPR0M。另外,可以从磁性存储介质或甚至从诸如因特网的网络来取回应用程序和数据。生产处理器是供应给客户用于在诸如用户终端的产品中使用的处理器的实例(instance)。生产处理器往往经配置以仅对使用生产密钥所签名的软件进行认证,将装置锁定为仅运行已经使用这些安全生产密钥所正式签名的代码。具体地,引导代码经配置以在允许其他代码执行前验证所述其他代码已经被可靠地签名。例如,次级引导代码可经配置以在允许应用程序加载和执行前验证所述应用程序已经被可靠地签名。如图2所示,签名过程包括将私有密钥和应用程序代码两者输入密码函数202中,其基于私有密钥输出具有密码签名的代码。密码函数202是诸如哈希函数的单向函数,其 细节对于本领域技术人员将是熟悉的。安装在片外存储器212 (或次级片上存储器210)上的是应用程序的该经签名的版本。引导代码包括或具有相应公开密钥的知识,并且经配置以在允许将应用程序加载并运行在处理器上(并且仅在验证的条件下才这样做)之前使用公开密钥来验证该签名的可靠性。因此,处理器可以验证它正在执行已被授权用于在该处理器上使用的软件,即,来源于上述持有私有密钥并且因此被授权为处理器供应应用程序的一方(一般是芯片的设计者或制造商,或他们的授权合作者)。类似的过程也可用于认证数据文件。尽管如此,能够解锁个别生产处理器从而其可运行试用软件是可取的。这应该以避免危害尚未被明确解锁的装置的方式来进行。习惯上,这往往使用秘密后门来进行。然而,由于隐匿不是足够的安全措施——“隐匿的”秘密后门机制可能成为公知的,并且如果这样的话,那么处理器的每个实例的安全均会受到危害,因此该方法有缺陷。另外可以根本不提供进行解锁的特征,使得不可能为特定装置提供试用软件。在这样的情况下,允许试用软件的唯一方法将是泄露私有生产密钥,其将会由于所涉及的安全过程而十分昂贵,并且还将会冒着包括生产密钥并由此危害处理器的每个实例的安全的风险。已经提出涉及在制造装置时存储芯片ID的安全数据库的方法。然而,考虑到进行制造的环境,安全地维护这些数据库将具有先天上的困难。可取的是提供可以被解锁以运行未经签名的试用软件的处理器,但是不会显著地危害处理器的每个实例的安全。
技术实现思路
根据本专利技术的一个方面,提供一种系统包括包括处理器和存储器的装置,所述存储器存储经安排以由所述处理器一旦启动或重启便自动地执行的引导代码,其中所述引导代码包括可操作以验证附加代码是否经认证用于在所述处理器上执行的代码认证过程;以及单独的安全单元,所述单独的安全单元包括私有解锁密钥和密码逻辑,所述密码逻辑经配置以使用所述私有解锁密钥来签名部分数据,从而生成经签名的解锁文件用于供应至存储位置;其中所述处理器经安排以从所述存储位置访问所述解锁文件,使得所述解锁文件对于所述处理器是可用的,而无需要求所述处理器和所述安全单元之间的连接;以及,其中所述引导代码进一步包括经配置以检查所述存储位置中所述解锁文件的可用性的解锁认证过程,并且如果可用则基于其签名来验证所述解锁文件是否经认证用于在所述处理器上使用,以使得在验证所述解锁文件的条件下对所述引导认证过程去除限制。因此,本专利技术修改安全引导代码来查找和认证经签名的解锁文件。如果存在所述经签名的解锁文件,则所述安全引导将对所述认证过程去除限制,以优选地接受采用相比生产密钥具有较低安全级别的开发密钥所签名的代码和数据,或甚至可能完全绕过所述认证过程。由诸如软件狗的安全单元来生成所述解锁文件。常规的安全软件狗必须保持插入到装置中以允许其运行具体的软件。只要将软件狗连接至所述装置,则其使得软件运行以及不再运行——在所述软件狗已经断开连接后,所述软件将不在所述装置上运行。·然而,本专利技术的所述安全单元生成解锁文件,其存储到可由所述处理器访问但是与所述安全单元分开的位置,并且因此对于所述处理器可用而所述安全单元不需要物理地连接至所述处理器。这样,一旦已经生成所述解锁文件,即使所述安全单元并没有物理地存在,但是因为所述解本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.02.12 GB 1002403.21.一种系统,包括 包括处理器和存储器的装置,所述存储器存储经安排以由所述处理器一旦启动或重启便自动执行的引导代码,其中所述引导代码包括可操作以验证附加代码是否经认证用于在所述处理器上执行的代码认证过程;以及 包括私有解锁密钥和密码逻辑的单独的安全单元,所述密码逻辑经配置以使用所述私有解锁密钥来签名部分数据,从而生成经签名的解锁文件用于供应至存储位置; 其中所述处理器经安排以从所述存储位置访问所述解锁文件,使得所述解锁文件对于所述处理器是可用的,而无需要求所述处理器和所述安全单元之间的连接;以及 其中所述引导代码进一步包括解锁认证过程,所述解锁认证过程经配置以对在所述存储位置中的所述解锁文件的可用性进行检查,并且如果可用,则基于其签名来验证所述解锁文件是否经认证用于在所述处理器上使用,以便在验证所述解锁文件的条件下对所述引导认证过程去除限制。2.根据权利要求I所述的系统,其中所述处理器具有受限制模式和去除限制模式,并且通过硬件设定或由硬件所保护的其他机制来设置为所述受限制模式,所述代码认证过程经配置以在所述受限制模式中以较高安全级别进行操作,以及在所述去除限制模式中以较低安全级别进行操作;以及 其中所述解锁认证过程经配置以通过覆写所述硬件设定或其他受硬件保护的机制并且因此启用所述去除限制模式来实施所述去除限制。3.根据权利要求2所述的系统,其中所述处理器由一个或多个熔丝锁存器设置为所述受限制模式,所述解锁认证过程经配置以通过覆写所述一个或多个熔丝锁存器来实施所述去除限制。4.根据以上任何一项权利要求所述的系统,其中 所述装置包括所述装置和所述处理器中的至少一个的标识符; 所述密码逻辑经配置以使用所述私有解锁密钥来对包括所述标识符的拷贝的部分数据进行签名,从而生成所述经签名的解锁文件;以及 所述解锁认证过程经配置以基于所述解锁文件的签名和所述标识符来验证所述解锁文件是否经认证用于在所述处理器上使用。5.根据权利要求4所述的系统,其中 所述处理器具有嵌入式芯片标识符; 所述密码逻辑经配置以使用所述私有解锁密钥来对包括所述芯片标识符的拷贝的部分数据进行签名,从而生成所述经签名的解锁文件;以及 所述解锁认证过程经配置以基于所述解锁文件的签名和芯片标识符来验证所述解锁文件是否经认证用于在所述处理器上使用。6.根据权利要求5所述的系统,其中所述芯片标识符被写入所述处理器的熔丝锁存器中。7.根据以上任何一项权利要求所述的系统,其中所述安全单元是便携式安全单元。8.根据权利要求7所述的系统,包括单独的计算机终端,其可操作以与所述便携式安全单元交互并由此接收所述经签名的解锁文件,并且供应所述经签名的解锁文件至所述存储位置。9.根据权利要求8所述的系统,其中所述计算机终端经安排以经由网络供应所述经签名的解锁文件至所述存储位置。10.根据权利要求9所述的系统,其中所述计算机终端经安排以经由互联网供应所述经签名的解锁文件至所述存储位置。11.根据权利要求8、9或10所述的系统,其中所述计算机终端远离所述装置,其分开至少200米。12.根据权利要求11所述的系统,其中所述计算机终端在地理上远 离所述装置,其分开至少10公里。13.根据权利要求8至12任何一项所述的系统,其中所述计算机终端可操作以通过所述交互的方式来发起所述经签名的解锁文件的所述生成。14.根据权利要求4和13所述的系统,其中所述发起包括从所述计算机终端供应所述标识符的所述拷贝给所述便携式安全单元。15.根据权利要求14所述的系统,其中所述计算机终端经安排以经由网络从所述处理器接收所述标识符的所述拷贝。16.根据权利要求15所述的系统,其中所述计算机终端经安排以经由互联网从所述处理器接收所述标识符的所述拷贝。17.根据权利要求8至16任何一项所述的系统,其中所述交互包括所述便携式安全单元与所述计算机终端物理地配对。18.根据权利要求7至17任何一项所述的系统,其中所述便携式安全单元包括计数器,所述计数器经安排以便将所述密码逻辑限制到生成有限数目的解锁文件。19.根据权利要求18所述的系统,包括重新充值设施,其允许经授权的提供者来重新充值所述计数器。20.根据权利要求19所述的系统,其中所述重新充值设施经安排以远程供应经签名的重新充值文件给所述便携式安全单元,所述重新充值文件采用私有重新充值密钥所签名;以及所述密码逻辑经配置以使用相应的公开重新充值密钥来验证所述重新充值文件是否采用所述私有重新充值密钥所签名,并且在这样对所述经签名的重新充值文件进行验证的条件下重新充值所述计数器。21.根据权利要求18、19或20所述的系统,其中所述密码逻辑经配置以防止对于同一个标识符生成多个解锁文件。22.根据以上任何一项权利要求所述的系统,其中所述附加代码采用私有代码密钥所签名,所述代码认证过程经配置以使用与所述私有代码密钥相对应的公开代码密钥来验证所述附加代码,并且所述解锁认证过程经配置以使用与所述私有解锁密钥相对应的公开解锁密钥来验证所述解锁文件。23.根据权利要求2和22所述的系统,其中 所述附加代码采用所述私有代码密钥的较高安全实例和所述私有代码密钥的较低安全实例之一所签名; 在所述较高安全级别,所述代码认证过程要求使用与第一私有密钥的所述较高安全实例相对应的所述公开代码密钥的实例来验证所述附加代码;以及 在所述较低安全级别,所述代码认证过程能使用与所述第一私有密钥的所述较低安全实例相对应的所述公开代码密钥的实例来验证所述附加代码。24.根据以上任何一项权利要求所述的系统,其中 所述引导代码包括主引导代码和次级引导代码,所述主引导代码存储在嵌入所述处理器上的只读存储器中;以及 所述处理器硬连线以一旦所述处理器启动或者重启,则执行所述主引导代码,所述主引导代码包括初步认证过程,其经配置以验证所述次级引...

【专利技术属性】
技术研发人员:皮特·卡明亚历克斯·伯德瑞让·马克·吉拉德特
申请(专利权)人:辉达技术英国有限公司
类型:
国别省市:

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

1