安全性密钥生成方法技术

技术编号:2960348 阅读:190 留言:0更新日期:2012-04-11 18:40
一种由安全模块(MOD)所实现的用于生成安全性密钥的方法,该安全模块包括中央单元(CPU)、第一条件访问存储器区段(Z1)和至少一个第二存储器区段(Z2),所述第二存储器区段包括用户程序的全部或者一部分,其中该方法包括以下步骤:    -读出第二存储器区段(Z2)的全部或者一部分,    -基于第二区段(Z2)的数据(DTA)的全部或者一部分和在第一存储器区段(Z1)里存储的秘密信息(MK2,RTN)中的至少一项来生成至少一个根密钥(RK)。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及包括至少一个中央单元和两个存储区域的安全性模块的领域。
技术介绍
这些单元被用于实现密码系统的操作且以单片电路的形式被给出,它们在同一硅芯片上被产生或者它们被装配在一个支撑物上并被嵌入在树脂中或者由覆盖不同元件并在企图的入侵情况下担当熔丝的薄片所保护。这些安全处理器具有被称为自举区段(bootstrap zone)的第一存储器区段,所述区段在处理器的激活期间或者在每次初始化时被执行。这个存储器是ROM类型的,即,它是只读存储器。在启动程序的执行期间,此程序验证第二存储器区段,所述区段是可重写类型的,通常是EEPROM、NVRAM或者Flash类型的。此验证很重要,因为它用来确保在这个第二区段中的数据是有效的,即,它一定是一程序(至少在某种程度上是)。此验证可以用各种方式被实现,例如,印记(imprint)(CRC,Hash)的计算以及此印记与储存在同一区段中的数值的比较。一旦最初已被启动的主程序完成其验证,则它切换到第二区段并在一常规地址处开始用户程序的执行。这类处理器的特性是当程序在第二区段中执行时,它不能自由访问第一区段的存储器。此访问或者被明确禁止或者受验证机制(例如口令)的限制。此限制提供重要的安全性,因为验证手段以及启动数据对用户程序来说是不可访问的。因此保护包含在第一区段中的所有数据不受任意入侵。此第一自举区段除了具有只读存储器(ROM)中的一部分之外,还可能包括可重写的存储器的部分,该可重写的存储器的部分受到同样的安全性条件的限制。当第一区段具有非常有限的大小时,验证程序的执行可以从第二区段被执行。后者被分成验证部分和用户部分。因此,用户程序的验证根据第一区段的数据,即,根据通常储存在所述第一区段中并允许验证第二区段的数据印记的第一密钥,而被执行。第二区段包含构成程序的数据和由该第一密钥所加密的签名(signature)。可以位于第一区段中或者位于第二区段的验证部分中的验证程序计算关于要被验证的数据的唯一印记(Hash,CRC)。为了验证数据被正确地证实,第二区段包含被最初储存在第一区段中的由密钥所加密的印记。此密钥被用来解密所加密的印记,并且所获得的结果与计算出的印记进行比较。这个密钥可以以确定的形式(ROM)或者以编程的形式(EEPROM或者Flash)位于第一区段中。在所述第二种情况中,编程在制造步骤期间或者在一个经授权的中心里被执行,只要在此存储器位置中没有发现其它密钥,第一区段的程序就接受这种写入。此密钥可以是对称的类型的并且因此是秘密的,或者它可以是不对称的类型的。在此第二变形中,此密钥可以在除了第一区段之外的存储器区段中被发现,因为即使第三方发现了此密钥,所述第三方也不能识别被修改的数据集,因为他必需具有相应的私有密钥来识别所述数据。显然,此密钥被负责准备该数据更新的管理中心保持秘密。第二存储器区段的数据可以表示一个或者几个程序、诸如权利或者解密密钥的重要数据、或者二者的组合。用于发现第二区段的内容的已知类型的攻击之一是搜索安全性缺陷,比如允许对处理器进行控制的存储器溢出。一旦成功地进行控制,则第三方向外部传送第二区段的内容并且能够分析所使用的安全性机制和密钥。使用第二存储器区段的内容的知识,所述第三方具有用来管理对于控制此处理器的业务的各种权利和访问的密钥。因此,如果由管理中心管理的密钥发生改变,则此改变命令将被第二存储器区段中的密钥所加密。知道此密钥的第三方就能够解密这则消息并且也更新此新密钥的内容。因此,明显地,虽然可靠的机制被用于验证程序区段(第二区段)的内容,但是一旦安全性已被破坏,则管理中心发出的任何改变都无法影响安全性,因为改变手段(例如新的传输密钥)使用第三方已经拥有的密钥。他因此能够解密更新消息并且也改变其传输密钥。即使在应用中已经纠正了安全性缺口(security breach),但是破坏仍然无法被停止。
技术实现思路
本专利技术的目的是提出一种方法,一旦第二存储器区段的内容已被第三方读取,则该方法恢复这类安全性装置的安全性。使用一种由安全性模块实现的用于生成安全性密钥的方法来达到此目的,此安全性模块包括中央单元、第一条件访问存储器区段和至少一个第二存储器区段,所述第二存储器区段包含用户程序的全部或一部分,其中该方法包括如下步骤-读出第二存储器区段的全部或一部分,-基于第二区段的数据的全部或者一部分和存储在第一存储器区段中的秘密信息的至少一项来生成至少一个根密钥。因此,由于此新的根密钥的生成,有可能保证传输密钥的替换并且以同样的方式保证随后传输的所有密钥的替换。重要的是,这个根密钥决不是固定的,并且因为所述原因而必需不同于诸如工厂密钥的存储在第一存储器区段中的任何密钥。为此原因,使用管理中心所传输的新数据作为变量来生成所述根密钥。在第一种形式中,生成这个新密钥而不必验证第二区段的数据。如果此数据已被修改,则根密钥将只须成为错误的并且通过此密钥对传输密钥的将来的解密不会给出正确的结果。此根密钥因此一方面取决于第二存储器的下载或内容(或者数据),另一方面取决于储存在第三方不可访问的位置中的密钥。根据另一实施例,工厂密钥被储存在第一区段中的秘密程序所替换,该秘密程序根据秘密算法计算关于第二区段数据的全部或一部分的印记。根据特定的算法对第二区段数据的操作(组合、乘法、除法、EXOR等)使得根密钥被确定。附图说明根据如下的详细说明并且参考作为非限制性示例给出的附图,将会更好地理解本专利技术,其中图1描述了安全性处理器装置的构造;图2示出了第二区段的划分;图3描述了用于生成根密钥的机制。具体实施例方式在图1中,模块MOD是安全性处理器模块。为此原因,它处理至少两个存储器区域,即,第一区段Z1和第二区段Z2。第一区段包括所有或部分ROM存储器,并且因此是不可重写的。另外,其中也可能有一部分包括用于变量的RAM或EEPROM形式的存储器。由于特别是在第二区段中的程序的执行期间,其不是可自由访问的,因此这被称为条件访问。第二区段Z2包含处理程序和数据。这个区段包括非易失性存储器,但是有可能写入此类EEPROM。区段Z2还可以包含诸如RAM的易失性存储器。事实上,这个区段通常不是都同一类的并且可以包括几个ROM、RAM、EEPROM、NVRAM和FLASH类型的存储器。在本示例中,被称为工作区段Z2A的区段2的第一部分被考虑用来执行与根密钥的生成相关的操作。用户区Z2B是包含处理程序的部分的示意图。根据实现方法,其可能包括诸如安全性密钥的变量。处理器CPU在初始化或者重置期间在第一区段Z1中被自动搜寻。此时第一安全性操作被执行。这些操作使用第一存储器区段,但是,如果有必要也使用工作区段Z2A。由于第一区段的有限区域,消息被发送给工作区段以便例如执行印记的计算。允许计算此印记的例行程序可以在第二区段中被找到。什么也不能阻止此例行程序形成将被验证的数据的一部分。这个程序被称为系统程序。最初启动的初始化程序计算有关要被验证的数据的常规部分的印记。这个部分由在第二存储器区段中包含的指针所定义。用户区段Z2B的部分机制的说明被包含在图2中。对形成印记的数据的考虑可以在所有的或一部分的用户区段上进行。在实践中,优选地,此印记将是在程序部分上被计算的而不是在数据部分上被计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:亨利·库德尔斯基瑟奇·高梅恩
申请(专利权)人:纳格拉卡德股份有限公司
类型:发明
国别省市:

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

1