专利名称:易失性存储器内的电子密钥的安全存储的制作方法
技术领域:
本发明涉及电子通信设备内的电子密钥存储领域。具体地,本发 明涉及用于在包括易失性存储器和非易失性存储器的集成电路内提供 电子密钥的方法。
本发明还涉及用于提供电子密钥的集成电路。
背景技术:
由于电子通信对现代生活的影响日益增长,对秘密数据的攻击成 为越来越严重的问题。为了抵御数据攻击,使用了电子密钥。当用户 例如通过如因特网之类的计算机网络打开数据连接,使数据存储设备 内的限制区域变得可访问时,必须知道这种密钥。
为了重复使用电子密钥,已经了解到,将这种密钥存储在例如只
读存储器(ROM)或电可擦写可编程只读存储器(EEPROM)之类的 非易失性存储器中。然而,黑客经常袭击包括这种存储器的数据存储 设备以搜集(glean)电子密钥。因此,提供一种能够抵挡多种侵入性 的和非侵入性的黑客攻击的电子密钥存储是极其重要的。
发明内容
可能需要对存储在存储器中的安全数据保护,尤其是电子密钥。 根据独立权利要求的主题满足了这种需要。从属权利要求描述了 本发明的优选的实施例。
根据本发明的一个方面,描述了一种用于在包括易失性存储器和 非易失性存储器的集成电路内提供电子密钥的方法。所描述的方法包 括(a)启动集成电路,(b)读取分配给所述易失性存储器的预定数据 存储单元的逻辑状态,其中所述预定数据存储单元的特征在于,在多 个启动过程中分别采用相同的逻辑状态,以及(c)通过使用所述预定数据存储单元的逻辑状态来产生电子密钥。
本发明的这个方面是基于这种思想即,对于安全数据通信,电 子密钥不必永久存在于集成电路内。根据所提供的方法,只有当需要 密钥时,即当集成电路启动时,才产生电子密钥。在集成电路关闭后 自动销毁电子密钥。因此,密钥仅在易失性存储器中存在相对短的时 间,使得所提供的方法表现出针对许多类型的黑客攻击的有效对抗措 施。
所提供的方法具有这种优点,即密钥包括逻辑状态的随机序列, 所述随机序列不能被预测。该随机序列基于这种事实,即在半导体制 造过程中,这些预定数据存储单元将随机地散布在非易失性存储器中。 然而,由于所有的预定数据存储单元在集成电路内具有其自己特定的 环境,因此在多个不同的启动过程内,它们的启动逻辑状态是稳定的。 因此,即使当集成电路在宽的电压和温度变化范围上操作时,所产生
的电子密钥也将非常健壮(robust)。
根据本发明的一个实施例,所述方法还包括使用存储在非易失性 存储器中的辅助数据集,其中所述辅助数据集包括指示所述预定数据 存储单元的信息。优选地,该辅助数据集包括指针,所述指针直接或 间接地指示所述预定数据存储单元的位置。由于预定数据存储单元始 终采用相同的逻辑状态,以下也将它们称为稳定数据存储单元。
使用描述的辅助数据具有这种优点,即可以非常容易地重建集成 电路关闭时不存在的电子密钥。
根据本发明的另外实施例,所述方法还包括使用存储在非易失性 存储器中的另外的辅助数据集,其中所述另外的辅助数据集包括指示 分配给易失性存储器的至少一些非稳定数据存储单元的另外信息。因 此,非稳定数据存储单元的特征在于,在多个启动过程中分别采用随 机不同的逻辑状态。
这样的优点在于,非易失性存储器也包括关于另外密钥的信息。 当集成电路启动时,也产生该另外密钥。然而,该另外密钥强烈地依 赖于非稳定数据存储单元的噪声。因此,由于该另外密钥是不稳定的, 因此它不能用于受保护的数据通信。然而,该另外密钥的存在使得黑客更加难以找出存储在预定数据存储单元中的相关密钥。特别地,黑 客要在集成电路开启的时间段内,从关于该另外密钥的另外信息中分 离出关于相关密钥的信息将是非常困难的。
根据本发明的另一的实施例,所述方法还包括在使用电子密钥之 后销毁所述电子密钥。这提供了这样的优点,即尤其甚至可以在集成 电路关闭之前销毁电子密钥。因此,可以进一步减小相关电子密钥存 在的持续时间,使得成功的黑客袭击将变得更不可能。
根据本发明的又一实施例,所述方法还包括通过训练过程来识别 所述预定数据存储单元。在这种训练过程期间,启动集成电路若干次。 从而测试哪些数据存储单元是稳定的,即哪些数据存储单元采用始终 相同的逻辑状态,以及哪些数据存储单元是不稳定的,即哪些数据存 储单元采用随机不同的逻辑状态。
所描述的训练过程可以在集成电路已制造完成后立即执行。特别 地,该训练过程可以在不同的操作条件下执行,如各种温度和/或各种 供电电压和数据输入电压的电压电平。其优点在于,可以识别最稳定 的数据存储单元,使得这些最稳定的单元能够用于产生相关电子密钥。
根据本发明的又一实施例,预定数据存储单元随机地分布在易失 性存储器内。用于相关密钥的分别预定的稳定数据存储单元的空间随 机分布的优点在于,因为在易失性存储器内,在空间上识别预定数据 存储单元是非常复杂的,因此黑客袭击将变得更加困难。
可以通过从多个稳定数据存储单元中选择预定数据存储单元来 确定所述空间分布,其中已经通过上述的训练过程识别了所述稳定数 据存储单元。
根据本发明的又一方面,提供用于提供电子密钥的集成电路,所
述集成电路包括(a)包括预定数据存储单元的易失性存储器,所述预
定数据存储单元的特征在于,其在多个启动过程中分别采用相同的逻 辑状态,以及(b)非易失性存储器,其上存储有与所述预定数据存储 单元相关的信息。因此,所述预定数据存储单元的逻辑状态定义了所 述电子密钥。
本发明的这个方面也基于这种思想,即电子密钥不必永久地存在于集成电路内。更合理地,可以仅在需要密钥时,即当集成电路启动 时,才产生电子密钥。在集成电路关闭后自动销毁电子密钥。因此, 密钥仅在易失性存储器中存在相对短的时间,使得所提供的集成电路 对计算机黑客攻击不敏感。
所述预定数据存储单元可以由触发器(flip-flop)来表示,使得可
以由许多不同类型的易失性存储器来实现所描述的集成电路。
由于在易失性存储器内,所有预定数据存储单元具有其自己的特
定半导体环境,因此其启动逻辑状态在多个不同的启动过程中不会改
变。因此,即使当集成电路在宽的电压和温度变化范围上操作时,所
产生的电子密钥也将非常健壮。
优选地,通过所称的辅助数据集来存储与所述预定数据存储单元
相关的信息,所述辅助数据集包括指向所述预定数据存储单元的各个
位置的链接或指针。
根据本发明的实施例,u)易失性存储器包括非稳定数据存储单
元,所述数据存储单元的特征在于,在多个启动过程中分别采用随机
不同的逻辑状态,以及(b)非易失性存储器上存储有与所述非稳定数 据存储单元相关的另外信息。优选地,通过所称的另外或附加的辅助 数据集来存储所述另外信息,所述另外或附加的辅助数据集也包括指 向所述预定数据存储单元的各个位置的链接或指针。
如上面己经描述的那样,非易失性存储器也包括关于另外密钥的 附加信息,当集成电路启动时,也自动产生所述另外密钥。然而,该 另外密钥分别强烈地依赖于非稳定数据存储单元的噪声的统计波动。 因此,该另外密钥是不稳定的,它不能用于编码数据。然而,该另外 密钥的存在使得黑客在寻找表示相关存储密钥的相关稳定数据存储单 元时更加困惑。
根据本发明的又一实施例,所述非易失性存储器包括ROM、 PROM、 EPROM、 EEPROM禾[l/或闪存存储器。其优点在于,可以通 过己知的非易失性存储器来实现用于提供安全电子密钥的集成电路。
根据本发明的又一实施例,所述易失性存储器包括RAM、 DRAM 和/或SRAM。其优点在于,可以通过已知的易失性存储器来实现用于提供安全密钥的集成电路。
必须指出,发明者执行的实验揭示出,当使用SDRAM存储器时,
在尤其宽范围的电压变化和温度变化内,启动逻辑状态是稳定的。
根据本发明的又一实施例,所述预定数据存储单元随机地分布在 易失性存储器内。如上述结合用于在集成电路内提供电子密钥的方法 的优选实施例所指出的那样,预定数据存储单元的空间随机分布的优 点在于使成功的黑客袭击变得更加复杂。
必须注意到,已经参考不同的主题描述了本发明的实施例。特别 地,己经参考方法类型的权利要求描述了一些实施例,而参考装置类 型的权利要求描述了其它实施例。然而,本领域的技术人员将从以上 和以下的描述中可以推断出,除非特别声明,否则除了属于一种类型 主题的特征的任何组合以外,也认为在本申请中公开了在与不同主题 相关的特征之间(特别地,在方法类型权利要求的特征和装置类型权 利要求的特征之间)的任何组合。
根据以下将描述的实施例的示例并参考这些实施例的示例所做的 解释,本发明的以上限定的方面和其它方面是显而易见的。以下将参
考实施例的示例更详细地描述本发明,但是本发明并不限于这些实施 例示例。
图1示出了描述根据本发明的优选实施例的集成电路的示意图。
图2示出了根据本发明的优选实施例的在集成电路内提供电子密 钥的方法的流程图。 参考标记列表 100集成电路 102易失性存储器/RAM 102a预定数据存储单元/稳定数据存储单元 102b非稳定数据存储单元 104非易失性存储器/ROM/EEPROM 110数据总线120通信网络
51 步骤1
52 步骤2
53 步骤3
54 步骤4
55 步骤5
56 步骤具体实施例方式
从图l可以看到,根据本发明的实施例的集成电路100包括易失性 存储器102,例如,随机存取存储器(RAM)。存储器102本身包括多 个数据存储单元,优选地通过触发器来实现所述数据存储单元。将数 据存储单元分为不同类型的数据存储单元。首先,有预定数据存储单 元或稳定数据存储单元102a。这些预定数据存储单元102a的特征在于, 在多个启动过程中分别采用相同的逻辑状态。其次,提供了非稳定数 据存储单元102b。非稳定数据存储单元102b的特征在于,在多个启动 过程中分别采用随机不同的逻辑状态。
为了找出特定数据存储单元是稳定的或者替代地是非稳定的单 元,可以执行训练过程。因此,启动集成电路若干次,测试哪个数据 单元始终采用相同的逻辑值。这些数据单元称作稳定数据存储单元。 当然,也会检测哪些数据单元是不稳定的。为了找出哪些数据存储单 元是最稳定的数据存储单元,可以在不同环境操作条件(如各种温度 和各种电压)下执行训练过程。
集成电路100还包括非易失性存储器104,例如只读存储器(ROM) 或电可擦写可编程只读存储器(EEPROM)。存储器104存储所称的辅 助数据。这些辅助数据包括关于哪些数据存储单元是稳定数据存储单 元102a的信息。优选地,通过适当的指针来存放(lodge)该信息。
根据由此描述的实施例,存储器104还包括所称的附加辅助数据。 这些附加辅助数据包括关于哪些数据存储单元是非稳定数据存储单元102b的信息。同样,优选地,通过适当的指针来存放该信息。
集成电路100与例如因特网之类的通信网络连接。这种连接可以 通过数据总线110来实现。因此,用户或任何其它通信设备可以与集成 电路100通信。
然而,为了与集成电路ioo通信,必须知道临时存储在易失性存
储器102中的电子密钥。该密钥由至少一些预定数据存储单元102a的逻 辑状态来定义。以下,将描述如何产生该电子密钥并将其临时存储在 易失性存储器102中的步骤。
图2示出了用于在集成电路内提供电子密钥的这种方法的流程 图。该方法开始于步骤S1。描述的方法继续至步骤S2。
在步骤S2中,集成电路启动。因此,易失性存储器102内的每个 数据存储单元采用由"0"和"1"表示的特定逻辑电平。描述的方法 继续至步骤S3。
在步骤S3中,从非易失性存储器104中载入所称的辅助数据集。 该辅助数据集包括多个指针,每个指针表示至少一个稳定触发器102a。 描述的方法继续至步骤S4。
在步骤S4中,读出至少一些预定稳定触发器102a的逻辑状态。描 述的方法继续至步骤S5。
在步骤S5中,基于之前从预定数据存储单元102a中读出的逻辑值 来产生电子密钥。现在,电子密钥可以用于安全数据通信。
在这个方面,显而易见的是,当易失性存储器102没有加电时, 电子密钥不存在。为了降低电子密钥可能被窃取的风险,在使用密钥 后可以将其删除。然而,最迟当集成电路将关闭时自动删除该密钥。
最后,该方法以步骤S6结束。
必须注意到,按照相当简单但是有效的针对黑客的对抗措施,人 们可以进一步降低在集成电路的操作期间临时存储的密钥被窃取的风 险。根据这个对抗措施,仅使用一些稳定的数据存储单元102a,从而 所使用的稳定数据存储器102a随机地分布在易失性存储器102内。预定 稳定数据存储单元102a的这样的空间随机应当注意,"包括" 一词不排除其它元件或步骤,"一"并不排除 多个。也可以对结合不同实施例而描述的元件进行组合。应当注意, 权利要求中的参考标记不应当解释为对权利要求范围的限制。
权利要求
1、一种用于在包括易失性存储器(102)和非易失性存储器(104)的集成电路(100)内提供电子密钥的方法,所述方法包括启动集成电路(100),读取分配给所述易失性存储器(102)的预定数据存储单元(102a)的逻辑状态,所述数据存储单元(102a)的特征在于,在多个启动过程中分别采用相同的逻辑状态,以及通过使用所述预定数据存储单元(102a)的逻辑状态来产生所述电子密钥。
2、 根据权利要求l所述的方法,还包括使用存储在所述非易失性存储器(104)中的辅助数据集,其中, 所述辅助数据集包括指示所述预定数据存储单元(102a)的信息。
3、 根据权利要求l所述的方法,还包括-使用存储在所述非易失性存储器(104)中的另外的辅助数据集, 其中,所述另外的辅助数据集包括指示分配给所述易失性存储器(102) 的至少一些非稳定数据存储单元(102b)的另外信息,所述非稳定数 据存储单元(102a)的特征在于,在多个启动过程中分别采用随机不 同的逻辑状态。
4、 根据权利要求1所述的方法,还包括 在使用所述电子密钥后将其销毁。
5、 根据权利要求l所述的方法,还包括 通过训练过程来识别所述预定数据存储单元(102a)。
6、 根据权利要求1所述的方法,其中所述预定数据存储单元U02a)随机地分布在所述易失性存储器 (102)内。
7、 一种用于提供电子密钥的集成电路,所述集成电路(100)包括易失性存储器(102),包括预定数据存储单元(102a),所述预 定数据存储单元(102a)的特征在于,在多个启动过程中分另li采用相同的逻辑状态,以及非易失性存储器(104),其上存储有与所述预定数据存储单元(102a)相关的信息,其中,由所述预定数据存储单元(102a)的逻辑状态来定义所述 电子密钥。
8、 根据权利要求7所述的集成电路,其中所述易失性存储器(102)包括非稳定数据存储单元(102b),所 述非稳定数据存储单元(102b)的特征在于,在多个启动过程中分别 采用随机不同的逻辑状态,以及非易失性存储器(104)上存储有与所述非稳定数据存储单元 (102b)相关的另外信息。
9、 根据权利要求7所述的集成电路,其中所述非易失性存储器(104)包括ROM、PROM、EPROM、EEPROM 和/或闪存存储器。
10、 根据权利要求7所述的集成电路,其中 所述易失性存储器(102)包括RAM、 DRAM禾口/或SRAM。
11、 根据权利要求7所述的集成电路,其中 所述预定数据存储单元(102a)随机地分布在易失性存储器(102)内。
全文摘要
本发明描述了一种用于在包括易失性存储器(102)和非易失性存储器(104)的集成电路(100)内提供电子密钥的方法。所述方法包括启动集成电路(100);读取分配给所述易失性存储器(102)的预定数据存储单元(102a)的逻辑状态,所述数据存储单元(102a)的特征在于,在多个启动过程中分别采用相同的逻辑状态;以及通过使用所述预定数据存储单元(102a)的逻辑状态来产生所述电子密钥。优选地,所述预定数据存储单元(102a)随机地分布在所述易失性存储器(102)内。本发明还描述了一种用于提供电子密钥的集成电路(100)。所述集成电路(100)包括易失性存储器(102),包括预定数据存储单元(102a),所述预定数据存储单元(102a)的特征在于,在多个启动过程中分别采用相同的逻辑状态;以及非易失性存储器(104),其上存储有与所述预定数据存储单元(102a)相关的信息。因此,由所述预定数据存储单元(102a)的对应逻辑状态来定义所述电子密钥。
文档编号G06F21/55GK101421738SQ200780012700
公开日2009年4月29日 申请日期2007年2月15日 优先权日2006年4月10日
发明者弗兰克·萨卡里亚斯, 弗朗斯·李斯特, 汉斯·德琼, 皮姆·图尔斯, 阿尔然·梅尔斯, 马尔腾·韦尔特雷格特, 马蒂亚斯·瓦格纳 申请人:Nxp股份有限公司