产生随机位串的设备和方法

文档序号:6455604阅读:98来源:国知局
专利名称:产生随机位串的设备和方法
技术领域
本发明涉及一种设备和方法,用于产生位串,尤其是代表密钥或 唯一标识符的位串。
背景技术
在许多电子设备中,例如智能卡、蜂窝电话、DRM硬件和芯片中,
通常需要硬件中包含唯一标识符和/或机密的密钥。传统上;在芯片
本身被制造之后,在一个独立的处理中为芯片提供这样的标识符/密 钥。 一种方法是设定所谓的"保险"值。另一种方法是给芯片装配附
加的EEPR0M,标识符/密钥可以写入其中。
然而,通过这些方法存储的位串可以轻易地被读出,这在位串被 用作机密密钥时成为严重问题。 一旦位串被攻击者所知,他便可以轻 易地创建芯片的复制品,包括和原始芯片相同的机密,或者写出可以 模拟芯片行为的计算机程序。
此外,额外的写入处理成本较高并且EEPROM甚至会引入额外的花 销。EEPROM具有其它缺点,因为攻击者可以改变所存储的数据。
为了避免额外的成本并获得较好的安全性,在现有技术中已经提 出不从所存储的值中获取位串,而是从芯片自身的物理特性中获得, 例如电阻、电导、电容或延迟时间(参考文件R.Posch, Protecting Devices by Active Coating, Journal of Universal Computer Science, vol. 4, no. 7 (1998),第652 - 668页;B. Gassend, D. Clarke, M. vanDijk, S. Devades, Silicon Physical Random Functions, Proc. 9'h ACM Conf. on Computer and Communications Security, 2002年 11月)。
这样的物理特性有时被称为物理不可克隆功能(PUF)或物理随机 功能,如果所述特性在相关设备的制造过程中在某种程度上不能控制。 缺乏控制性是有利的,因为它允许能够以极高的可能性从随机且唯一 的特性值获取位串。
相较于上述方法使用PUF的优点在于-生产成本得以降低,
-攻击者难以从芯片"之外"读取相关的物理参数值,
-芯片实际上不能被克隆,即使攻击者已经获得密钥或标识符,
以及
- PUF提供一些内在墓改检测,因为多种试探的攻击将明显地影响 相关物理参数,而位串是由所述相关物理参数获得的。
然而,不同类型的PUF有一些缺点。例如,将光学P'JF(参考文件 P. Pappu, Physical One-Way Functions, PhD thesis, MIT 2001) 集成到一集成电路或芯片的结构内是十分复杂和高成本的,多数是由 于所需的光学器件造成了比实现其它类型的PUF更高的成本。此外, 对所需传感器数据(例如大的位图)的处理需要许多资源。假设可以 高命中率地猜出或预测从集成电路的延迟时间产生的位串(参考文件 B.Gassend, D.Clarke, M. van Dijk, S. Devades, Silicon Physical Random Functions,Proc.9'h ACM Conf.on Computer and Communications Security, 2002年11月)。才艮据关于利用例如结构 的电阻或电导的已知知识(参考文件R. Posch, Protecting Devices by Active Coating, Journal of Universal Computer Science, vol.4, no.7 (1998)),必然需要额外的努力来避免相关特性轻易地从 芯片之外被读出。这种方法的另一缺点在于即使当前的生产方法实现 了对所述特性的良好控制。因此有可能"克隆"这样的物理随机功能。

发明内容
本发明的一个目的是提供一种克服或避免了上述缺点的设备和方 法,用于产生位串,尤其是代表密钥或唯一标识符的位串。
特别地,本发明的一个目的是提供一种使用物理随机功能产生位 串的设备和方法,其中实现本发明的芯片能够轻松执行物理测量,特 别是利用了合理的延迟时间、能量损耗、CPU负栽和存储器使用。
在本发明的第一方面中,提供一种用于产生位串的设备,其包括
-至少一个二极管,
-连接至所述至少一个二极管的连接器,用于向所迷至少一个二 极管提供电压,和
-连接至所述至少一个二极管的二极管击穿处理器,用于检测由
6于提供给所述至少一个二极管超过其击穿电压的电压而导致所述至少 一个二极管的击穿,并且用于基于所述击穿的所述检测产生所述位串。 在本发明的另一方面中,提供一种用于产生位串的装置,与上述
设备相反,其自身不包括任何二极管,而包括
-用于将至少一个二极管连接至所述装置并用于向所述至少一个 二极管提供电压的连接器,和
-连接至所述连接器的二极管击穿处理器,用于检测由于提供给所 述至少一个二极管超过其击穿电压的电压而导致连接至所述连接器的 所述至少一个二极管的击穿,并且用于基于所述击穿的所述检测产生 所述位串。
在本发明的又一方面中,提供一种产生位串的方法,其包括下列 步骤
-向至少一个二极管提供超过所述至少一个二极管的击穿电压的 电压,
检测由提供所述电压导致的所述至少一个二极管所遭受的击穿,
以及
-基于所述击穿的所述检测产生位串。
本发明的另一方面包括一种计算机程序,其包括程序代码单元, 用于当所述计算机程序在所述设备或所述装置上被执行时,使得根据 本发明的设备或装置执行根据本发明的方法的步骤。所述计算机程序 可能自身完全地将用于执行相应方法的所有步骤包含在软件中,或者 可能仅仅是参考或使用这样的完整计算机程序的概要或链接。
本发明的又一方面包括用于产生位串的二极管的使用,其中基于 由于提供给所述二极管超过所述二极管的击穿电压的电压而导致的二 极管的击穿来产生所述位串。
本发明的优选实施例限定在从属权利要求中。可以理解的是,如 各自的从属权利要求中所限定的,本发明的设备、装置、方法和计算 机程序具有相似和/或相同的优选实施例。
本发明基于这样的认识,即二极管击穿的情况对于遭受击穿的二 极管来说足够复杂,以用作物理不可克隆功能(PUF)或物理随机功能, 因为可能发生击穿的精确电压值在制造过程中实际上无法控制并且实 际上不能够通过二极管的一般检测而预测。多个二极管或二极管阵列表现出更为复杂的特质,导致更大量不同的对于二极管经受的各种局 面的响应。此外,二极管击穿不仅复杂和实际上不可预测(其精确值), 而且还可以轻易地由公共集成电路的简单装置检测到。因此,利用一
个或多个二极管的击穿来产生位串实现了将PUF包括进集成电路而无
需复杂的附加设备。
本发明涉及基于一个或多个二极管的击穿情况产生位串。 一个或 多A - ;te吝妯拔胜T招一 is吝水萝由.压tWi由.店—斩一—*5吝法拔$
二极管击穿处理器,其检测所述击穿以及(可选地)诸如精确击穿电 压的相关情况,并且基于该击穿的检测产生位串。所述位串可以被用 作唯一标识符或密钥。
本发明提供的优势效果在于,用于实现这样的PUF和(如果需要 的话)用于读出所述PUF的附加组件和传感器价格便宜并且易于操作。 在理想情况下,PUF由芯片中已经存在的组件组成。因此,可以获得具 有平均信息量(信息内容)的PUF,所述平均信息量足够大以至于能够 得出足够长的位串(例如用于标识符的40位;用于AES钥的128位), 从而攻击者不能猜出所述位串。此外,例如,实现本发明的芯片的PUF 测量过程中的电磁发射、能量损耗和其它"旁信道"不会使攻击者得 出位串,这在位串代表密钥的情况下尤其有用。


下面参考随后描述的实施例,本发明的这些和其它方面将变得明
显并得以阐明。附图中
图1示出根据本发明的设备的第一实施例;
图2示出根据本发明的设备的第二实施例,以及外部电压源;
图3示出根据本发明的设备的第三实施例,以及外部电压源;
图4示出根据本发明的装置的第一实施例,以及多个外部二极管;
图5示出根据本发明的装置的第二实施例,以及外部电压源和多
个外部二极管;和
图6示出根据本发明的方法的流程图。
具体实施例方式
图1示出根据本发明的设备10的第一实施例。设备10包括二极管11、 二极管击穿处理器13和电压源15。 二极管11经由连接器12 与电压源15连接,并且与二极管11并联设置的二极管击穿处理器13 也连接至这些连接器12。电压源15适于将反向偏置电压提供给二极管 11。只要提供给二极管11的电压低于它的击穿电压,则该二极管11 非导通并且没有或只有很小的电流流过。 一旦提供给二极管11的电压 高于它的击穿电压,该二极管11将击穿并有(较大的)电流流过。二 极管击穿处理器13检测二极管11的击穿并基于该检测产生位串。
在此实施例中,发生击穿的电压被检测并充当产生位串的基础。 然后二极管击穿处理器13输出该产生的位串。由于所述位串是根据二 极管11的特性(其对于该二极管11是唯一的)获取的,因此所产生 的位串可以充当设备10的标识符。
对于本领域技术人员来说已知许多不同的检测击穿的方式和方 法,因此这里省略对二极管击穿处理器13的详细描述。例如,可以使 用专用电路,其能够通过检测击穿时流经二极管11的(增加的)电流, 也可使用多用途集成电路或以适当方式连接至二极管11的处理器。改 变(例如包括在二极管击穿处理器13中的)触发器的状态可以用于记 录二极管击穿。
在所产生的位串被用作标识符的情况下,优选的是提供可以经受 击穿而不被破坏的二极管,以便位串(即标识符)可以被重复地读出。
图2示出根据本发明的设备20的第二实施例,以及外部电压源25。 设备20包括多个并联设置的二极管21、 二极管击穿处理器23、多个 电阻器27和两个连接器22。 二极管击穿处理器23与多个二极管21串 联设置并与该多个二极管21中的每一个二极管21单独连接。所述多 个电阻器27的电阻器27与每个二极管串联设置,每个电阻器的电阻 为1MIi。在本实施例中,经过击穿处理器23、多个二极管21和多个 电阻器27,从一个连接器22到另一连接器22形成一线路。在操作过 程中,设备20经由连接器22连接至可控电压源25。
在操作过程中,外部电压源25向连接器22提供电压,并因此向 多个二极管21提供反向偏压。电压被控制为从较低电压值升高至较高 电压值。在该电压扫描过程中,达到并超过所述多个二极管21中的二 极管21的击穿电压,其中二极管21经受击穿的顺序取决于它们各自 的击穿电压。二极管21中发生的击穿被二极管击穿处理器23检测,并基于该检测产生位串。由于二极管击穿处理器23与每个二极管21 单独连接,因此击穿的发生可以与其中发生击穿的特定二极管21相关 联。因此,不仅可以检测击穿的发生,而且还可以检测二极管21经受 击穿的顺序。二极管击穿处理器23基于所检测的顺序产生位串。
在此实施例中,将两个二极管21 ^见为形成一对二极管,从而有四 对二极管21。取决于每对二极管21中哪一个二极管先遭受击穿,设定 《; ;说^ 4-^泰(^i夂厶^ ^右直^"5T能沾古沐丧^千二招瞢的击宫
产生位串。例如,可以从一个二极管的击穿电压的(精确)值计算一 部分位串,然后将若干这样的部分合并以形成位串。此外,可以根据 位串特定位的设定来确定在例如电压扫描的前半部分中特定二极管是 否发生击穿。
在击穿情况下,经受击穿的二极管的电阻突然降低。然而与二极
管21串联设置的电阻器27防止高电流流经该二极管21,高电流会破 坏二极管21。
在本发明的变型中,电压扫描不是普通意义上的扫描,而是降低 至被提供给所述多个二极管21的单个电压。在此情况下,较低电压值 和较高电压值相同,并且不存在二极管经受击穿的可检测顺序。然而, 取决于所提供的电压, 一些二极管将经受击穿而其它的不会。该单个 电压"扫描,,的结果将形成用于产生位串的适当基础。
在本实施例中,多个二极管包括八个二极管。然而,很显然,所 述多个二极管中二极管的数量也可以是其它的数量,这取决于要产生 的位串的大小以及基于二极管的击穿产生位串的方式。这也适用于这 里所述的本发明的其它实施例。
此外,在本实施例中,电阻器27具有1MQ的电阻,但是它们当然 可以具有不同的电阻(优选地至少为100kQ),如果有必要的话,该 电阻确保在击穿期间或之后流经二极管的电流足够小以避免破坏。本 领域技术人员已知的控制电流的其它方式可以替代地或附加地使用。
然而,在本发明的不同实现中,期望将本发明的设备能够操作的 次数,或者将二极管可以用于产生位串的次数限制为给定数量。在这 样的实施例中,可以想到不提供电阻器或一些其它电流控制,以便确 保二极管在给定数量的使用之后最终被破坏。
以串联连接设置的不同组件的顺序对于本发明并不重要。可以选择不同的设置顺序来实现本发明。
在替换实施例中,与图2中的十分相似,外部电压源25适于提供 预定电压扫描,其中二极管击穿处理器23适于检测预定电压扫描的开 始以及多个二极管中发生击穿的时间。与上面参考图2所述的实施例 相似,在该替换实施例中不需要测量发生击穿的电压,因为为了根据 多个二极管的击穿特性产生位串,检测击穿的顺序或时间已足够。
图3示出根据本发明的设备30的第三实施例,以及外部电压源35。 设备30包括多个并联设置的二极管31、 二极管击穿处理器33、与多 个二极管31并联设置的电压表36和电阻器37。设备30进一步包括两 个连接器32,其由串联设置的二极管击穿处理器33、多个二极管31 和电阻器37,以及存储单元38连接。二极管击穿处理器33连接至存 储单元38,用于根据请求从其接收数据。二极管击穿处理器33还连接 至电压表36,用于接收关于提供给多个二极管31的电压的数据。所述 多个二极管31之一是参考二极管31,。在操作中,外部电压源35经 由连接器32连接至所述设备。此外,在外部电压源35和二极管击穿 处理器33之间有数据链接。
外部电压源35适于根据预定的时间函数产生从较低电压到较高电 压的电压扫描范围,以将该电压扫描提供给设备30 (从而提供给设备 30中的多个二极管31 )并将该时间的电压函数的指示传输给二极管击 穿处理器33。如果较高电压超过二极管的击穿电压,多个二极管31中 的每个二极管31将在电压扫描过程中经受击穿,二极管击穿处理器33 检测该击穿的时间。发生击穿的电压由电压表36检测并被传输至击穿 处理器33。还是与参考图2所述的实施例相似,电阻器37防止足够高 会破坏二极管31的电流流经二极管31。
在该实施例中,二极管击穿处理器33已经获得关于二极管发生击 穿的时间点(相对于电压扫描的开始时间)的数据和关于发生击穿的 电压(由电压表测量)的数据。此外,参考二极管31,的击穿电压被 存储在存储单元38中,存储单元38还包括用于密钥提取算法的帮助 数据。所述帮助数据在设备的注册阶段获得并之后被存储在存储单元 38中。基于所有这些数据,二极管击穿处理器33可以计算多个二极管 31的实际击穿电压,其带有对来自各个源的噪声因素(例如温度波动、 外部电磁场、机械压力、辐射、潮湿或振荡)的高精确性的补偿。然
ii后,基于所获得的击穿电压产生位串。该位串的产生具有高再生性,
使得该位串可以十分可靠地用作标识设备30的标识符。
图4示出根据本发明的装置40的第一实施例,以及多个外部二极 管41。装置40包括二极管击穿处理器43、与用于连接多个外部二极 管41的连接器42串联设置的可控电压源45和电阻器47。多个外部二 极管41包括在载体单元49中。整体设置的操作与根据本发明的上述 设备的操作相似。因此这里省略更为详细的描述。与上述设备的主要 区别在于所述多个二极管41与包括二极管击穿处理器43的装置40分 开设置。这允许所述多个二极管可以由不同的多个二极管代替。多个 二极管41的击穿电压在其相对和绝对值方面本质随机,因此包括所述 多个二极管41的载体单元49可以传输用于加密目的的(机密)密钥。
图5示出根据本发明的装置50的另一实施例,以及多个外部二极 管51和外部电压源55。装置50包括设有五个连接器52的二极管击穿 处理器53。 二极管击穿处理器53经由连接器52中的四个单独连接至 并联设置的外部多个二极管51中的每个二极管。外部电阻器57和外 部电压源55与多个外部二极管51串联连接,外部电压源55连接至二 极管击穿处理器53。该配置的操作还是与根据本发明的上述设备的操 作相似。因此不必进行更为详细的描述。不同于图4示出的设置,该 实施例中的电阻器和电压源不设在装置内部,而是和多个二极管一起 由载体单元59包含。
图6示出根据本发明的方法的流程图。在第一步骤1,向至少一个 二极管提供电压,其中所述电压高于该至少一个二极管的击穿电压, 以使得它遭受击穿。该击穿在接下来的步骤2中被检测,并在步骤3 中基于所述检测产生位串。
在本发明的上下文中,术语"位串"不仅指具有两个不同值或状 态的符号的序列,如广泛使用的"0"和"1"序列,而且还指具有更 多不同值的符号的序列,例如每个符号具有三个不同状态或值。
例如,通过首先将可能的击穿电压的整个区间划分为2"个等可能 性的子区间,可以从每个二极管获得n-位符号。这些区间被标记为O, 1,…2"'。 一个二极管的击穿电压属于区间数x。然后该区间数x是PUF "响应",其是不可预测的n-位值。应当注意的是,区间的数量并不 必须是2的幂,而且也可以将时间轴而不是电压轴划分为多个区间。
12应当理解的是,在本发明的上下文中,在这些信息编码方式之间不存在相关联的区别,因为一个序列可以轻易地被转换为用不同方式对相同信息进行编码的序列。
本领域技术人员可以清楚地理解术语"击穿,,和"击穿电压"。然而,取决于实现本发明的特定条件,可以给这些术语赋予不同的含义。例如,代替将击穿开始(一些情况下难以准确地找到)时的电压值作为击穿电压,也可以取这样的电压值作为"击穿电压",即流经二极管的电流达到或超过所选值时的电压值或被反向偏置的二极管表现出预定的不同电阻时的电压值。
本发明已经在附图和上面说明书中净皮详细地说明和描述。然而,这些图示和说明书作为示例被给出,因此不应当视为限制。此外,本发明不局限于公开的实施例。
通过附图、说明和权利要求的学习,在实现所保护的发明时,本领域技术人员可以理解和实现所公开实施例的其它变化。
权利要求中,使用词语"包括"及其变化不排除其它元件或步骤,并且不定冠词"一"或"一个"不排除多个。单个单元可以实现权利要求所列出的一些项目的功能。基本的事实是多个不同的从属权利要求中列出的一些措施并不指示这些措施的组合不能被有效地利用。
计算机程序可以存储/分配在适宜的介质上,例如光学存储介质或和其它硬件一起使用或作为其一部分的固态介质,但是也可以以其它方式分配,例如经由互联网或其它有线或无线通信系统。
权利要求中的任何附图标记不应当构成对权利要求的限制。
权利要求
1.一种用于产生位串的设备(10,20,30),其包括-至少一个二极管(11,21,31),-连接至所述至少一个二极管(11,21,31)的连接器(12,22,32),用于向所述至少一个二极管(11,21,31)提供电压,和-连接至所述至少一个二极管(11,21,31)的二极管击穿处理器(13,23,33),用于检测由于提供给所述至少一个二极管(11,21,31)超过其击穿电压的电压而导致所述至少一个二极管(11,21,31)的击穿,并且用于基于所述击穿的所述检测产生所述位串。
2. 如权利要求1中的设备(20, 30),包括并联设置的多个二极管。
3. 如权利要求1中的设备(10),还包括连接至所述连接器(12) 的电压源(15),用于向所述至少一个二极管(11)提供电压。
4. 如权利要求1中的设备(20, 30),其中所述连接器(22, 32) 适于将外部电压源(25, 35)连接至所述至少一个二极管(21, 31)。
5. 如权利要求3或4中的设备(10, 20, 30),其中所述电压源 (15, 25, 35)适于向所述至少一个二极管(11)提供范围在预定较低电压和预定较高电压之间的电压扫描。
6. 如权利要求1中的设备(IO),其中所述二极管击穿处理器(13) 适于检测所述至少一个二极管(11)的击穿电压。
7. 如权利要求2中的设备(20, 30),其中所述二极管击穿处理 器(23, 33)适于在提供给所述多个二极管(21, 31)的预定电压扫 描过程中检测下列中的至少一个-所述多个二极管(21, 31)中的二极管(21, 31)的至少一个 击穿的时间,和-所述多个二极管(n, 31)中的二极管(21, 31)遭受击穿的顺序。
8. 如权利要求7中的设备(20, 30),其中所述二极管击穿处理 器(23, 33)适于-接收关于与电压扫描相关的时间的信息,和/或 -测量提供给所述多个二极管的电压。
9. 如权利要求2中的设备(20, 30),其中所述二极管击穿处理器(23, 33)适于检测所述多个二极管的哪个二极管(23, 33)由于 提供预定电压而遭受击穿。
10. 如权利要求2中的设备(20, 30),其中所述多个二极管(21, 31)包括参考二极管(31,),并且所述二极管击穿处理器适于检测 所述参考二极管(31,)的击穿电压和所述多个二极管(21, 31)中 不同于所述参考二极管(31,)的二极管(21, 31)的击穿电压之间 的差别。
11. 如权利要求1中的设备(30),进一步包括连接至所述二极管 击穿处理器(33)的存储单元(38),其中所述二极管击穿处理器(33) 适于通过密钥提取算法在操作过程中使用包含在所述存储单元(38 ) 中的预定帮助数据由检测到的所述至少一个二极管(31)的击穿电压产生位串。
12. 如权利要求1中的设备(20, 30),还包括与所述至少一个二 极管(21, 31)中的每一个串联的电阻器(27, 37),尤其是具有100k D或更大电阻的电阻器(27, 37)。
13. 如权利要求1中的设备(10, 20, 30 ),其中所述至少一个二 极管(11, 21, 31)能够经受击穿而不被破坏。
14. 如权利要求1中的设备(10, 20, 30),其中所述至少一个二 极管(ll, 21, 31 )适于在经受预定数量的击穿之后具有被改变的击 穿特质。
15. —种用于产生位串的装置(40, 50),所述装置包括-用于将至少一个二极管(41, 51)连接至所述装置并用于向所 述至少一个二极管(41, 51)提供电压的连接器(42, 52),和-连接至所述连接器(42, 52 )的二极管击穿处理器(43, 53), 用于检测由于提供给连接至所述连接器(42, 52)的所述至少一个二 极管(41, 51 )超过其击穿电压的电压而导致所述至少一个二极管(41, 51)的击穿,并且用于基于所述击穿的所述检测产生所述位串。
16. 如权利要求15中的装置(40),进一步包括连接至所述连接 器(42)的电压源(45)。
17. 用于产生位串的二极管(11, 21, 31, 31, , 41, 51)的使用, 其中基于由于提供给所述二极管(11, 21, 31, 31, , 41, 51)超过 所述二极管(11, 21, 31, 31, , 41, 51)的击穿电压的电压而导致的二极管(11, 21, 31, 31, , 41, 51)的击穿来产生所述位串。
18. —种产生位串的方法,所述方法包括下列步骤-向至少一个二极管(11, 21, 31, 31, , 41, 51)提供超过所 述至少一个二极管(ll, 21, 31, 31, , 41, 51)的击穿电压的电压,-检测由提供所述电压导致的所述至少一个二极管(11, 21, 31, 31, , 41, 51)所经受的击穿,以及-基于所述击穿的所述检测产生位串。
19. —种计算机程序,其包括程序代码单元,用于当所述计算机程 序在如权利要求1中的设备(10, 20, 30)或如权利要求15中的装置(40, 50 )上被执行时,使得所述设备(10, 20, 30)或所述装置(40, 50)执行如权利要求18中的方法的步骤。
全文摘要
本发明涉及基于一个或多个二极管(11,21,31,41,51)的击穿情况产生位串。一个或多个二极管(11,21,31,41,51)被提供超过二极管(11,21,31,41,51)的击穿电压的电压,二极管连接至二极管击穿处理器(13,23,33,43,53),其检测击穿和可选地检测相关情况,例如精确的击穿电压,并基于所述检测产生位串,所述位串可以用作唯一标识符或密钥。
文档编号G06F7/58GK101495957SQ200780028680
公开日2009年7月29日 申请日期2007年7月16日 优先权日2006年7月31日
发明者A·H·M·阿克曼斯, B·斯科里克, H·P·特因霍特, P·T·图伊尔斯, R·H·W·萨尔特斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1