CN107646130B - 用于生成电子电路固有的值的方法、生成该值的电子电路以及用于使用这样的值的方法 - Google Patents

用于生成电子电路固有的值的方法、生成该值的电子电路以及用于使用这样的值的方法 Download PDF

Info

Publication number
CN107646130B
CN107646130B CN201680030256.4A CN201680030256A CN107646130B CN 107646130 B CN107646130 B CN 107646130B CN 201680030256 A CN201680030256 A CN 201680030256A CN 107646130 B CN107646130 B CN 107646130B
Authority
CN
China
Prior art keywords
value
electronic circuit
values
pairs
puf
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680030256.4A
Other languages
English (en)
Other versions
CN107646130A (zh
Inventor
马尔科·马凯蒂
罗恩·奥捷
克劳迪奥·法维
热罗姆·佩里内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nagravision SARL
Original Assignee
Nagravision SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nagravision SA filed Critical Nagravision SA
Publication of CN107646130A publication Critical patent/CN107646130A/zh
Application granted granted Critical
Publication of CN107646130B publication Critical patent/CN107646130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics

Abstract

用于生成电子电路(10)固有的值(19)的方法,其利用在该电路的部件(11)上执行的物理量的测量;该方法旨在:计算从所述组件上执行的系列测量导出的至少一个值(V)并且将其关联到每个部件(11),通过根据所述系列测量确定统计值,并且通过将所述值(V)定义为所述统计值或者根据该统计值计算的不确定性范围,来完成所述值(V)的计算,形成部件的不可变对的集合,在所述集合中选择对,使得与这些对中的每个对的部件相关联的值(V)间隔至少一个设置值,基于与每个所选择对的部件相关联的值(V)的比较结果,生成电子电路固有的所述值(19)。

Description

用于生成电子电路固有的值的方法、生成该值的电子电路以 及用于使用这样的值的方法
技术领域
本说明书涉及允许生成电子电路(诸如芯片或芯片组)固有的值的方法。更具体地,该方法包括物理上不可克隆功能的使用,也就是无法重复、复制、克隆的功能的使用。本说明书还涉及用于实现该方法的电子电路,以及使用这样的电路的固有的值的方法。
现有技术
物理上不可克隆的功能(简称PUF)目前正在学术界和工业界被作为唯一标识符来源进行研究,物理连接到与集成电路合并或关联的电子元件。主要思想旨在利用这些元件的制造工艺变化,使得电子电路(如芯片或芯片组)由于其固有性质而具有独特性。
这种技术是基于电子元器件的所有制造工艺通常具有的特性。由于这样的过程不可能是完美的,但是它们确保具有一定精度裕度的生产,在这个裕度内它们在它们生产的部件之间产生较小的差异。换句话说,尽管这些部件来自同一条生产线,并且在相同的条件下生产,然而存在着在本质上不由自主地定制这些部件的差异。诀窍是将这些由制造过程的容差所导致的差异转化为可利用的信息。考虑到在生产线末端获得具有完全相同物理特性的部件的两个集成电路的可能性非常低,这一信息可以被认定为几乎是独特的。而且,这个信息具有不可预测并且不能由制造工艺重现的特性。因此可以识别一个部件或一组电子部件等等。
物理上不可克隆的函数(以下称为PUF函数)是通过精确测量这些电子部件的一个或多个物理参数来利用集成电路的部件特有的随机变化的函数。因此,易于创建这样的PUF函数以获得标识符或特定值(以下称为PUF值),但是克隆该功能以获取该值是非常困难的(如果不是不可能的话)。这主要是因为从实际的角度来看,因为定制PUF函数所基于的电子元件的微小差别是不可控的,所以来自这种功能的PUF值是不可能预测和/或复制。来自这些小差异的信息可以用伪随机比特序列表示。因此该信息或唯一值具有例如能够有利地用于加密目的的秘密的所有预期特征。
目前为止考虑的大多数应用可以分为三个主要类别,即利用由这样的PUF函数定义的唯一标识符生成可识别的芯片,经由包含质询和相关联的响应(质询/响应类型)的处理的芯片认证,以及密码密钥的生成。目前,注意到大多数应用是指最后一个类别,并且旨在覆盖将PUF值用作安全消息交换中的密码密钥的解决方案。
这些芯片的缺点在于它们产生的PUF值可能变化。事实上,由于这个值取决于电子元件,所以它只能被定义为在与不存在寄生噪声对应的理想的理论条件下不可改变。现在,实际上,这个PUF值可能根据使用条件而略微波动。这些波动通常可以是指电子元件的工作温度变化或电源的微小变化。它们也可以由电路本身产生的随机噪声(例如在旧电路的情况下)或其所处的环境产生。这些不稳定性涉及错误的响应,即在使用的特定条件下的响应,这些响应不再对应于在受控环境(例如生产线的环境)中获得的反应。
为了能够从这样的芯片获得恒定的PUF值,存在几种已知的解决方案。
第一种解决方案是通过PUF函数产生一个值并将该PUF值存储在芯片的存储器中。因此,每当必须使用该PUF值时,例如作为密码密钥或标识符,将从该存储器中获取该PUF值。现在,将可能是保密的值存储在存储器中并不排除恶意的人读取该值。
第二种解决方案是检查来自PUF函数的值的准确性,或者至少检测这个值是否由于错误而失效。为此,可以将PUF值与参考值进行比较。这个参考值可以是PUF函数最经常产生的值。现在这种比较涉及将参考值存储在存储器中,如所看到的,这不是一个能够被认为是足够安全的解决方案。为了检测由PUF函数产生的值是否是合理的值,另一个解决方案是使用表征PUF值的补充指示。该指示通常用于经由不完全可靠的通信信道的某些数据传输。这样的指示通常可以由奇偶校验位组成,如果来自PUF值的位的和为偶数,则置为零,如果是奇数则置为1。这种指示的第一个缺点是其不能保证PUF值的准确性,只能提供该值是正确的概率的指示。第二个缺点是这样的指示是由基于PUF函数值的计算得出的,因此提供了关于这个值的信息。现在,任何有关这个值的信息都可能对试图识别PUF函数值的恶意的人有帮助。为了避免这第一个缺点,已知的是使用纠错码,例如能够检测到错误并校正错误的汉明码(Hamming codes)。然而,这样的代码也提供了关于PUF值的信息并且具有与上述第二个缺点相同的缺点。另外,这些校正码不能校正各种错误。例如,这些代码中的一些只能校正由于简单的位反转的错误。
第三个解决方案包括连续多次产生这个PUF值,每当我们需要获得这个值时,就在最后返回最经常显示的值之前比较这样产生的PUF值。然而,该过程要求错误概率低,使得在每轮中的所有计算值中可以清楚地识别真实的PUF值。此外,执行不可忽略数量轮需要独占芯片的计算资源的重要的执行时间,并防止后者访问其他进程,特别是针对特定应用使用PUF值。
第四种解决方案描述在公开EP2816757中,并且包括通过设置点数据来设置PUF函数,该设置点数据在初始设置操作期间允许进一步定制托管PUF函数的电子电路。例如,通过选择将要形成该函数基础的部件来获得该定制。换句话说,该设置点数据允许在对于PUF函数有用的芯片的电子部件中选择其上将执行一个或多个物理量的测量的电子部件的子集。该初始化操作通常能够在芯片生产期间发生,或者随后在芯片的测试或初始化阶段期间发生。该解决方案的缺点在于,在该初始化期间、测试或个性化阶段期间,芯片处于“打开状态”,提供对其物理特性的访问,从而对于其应该产生的PUF值,或者至少对于允许识别该值的珍贵信息。因此,即使在有限的环境下,芯片的任何“开放状态”也都是一个保密问题。
EP 2081170描述了一种安全设备,其提供来自哈希函数的密钥的增强的稳定性和机密性。该设备包括PUF单元,其通过使用物理特性来生成来自这种哈希函数的预定义密钥,提供对于攻击的抵抗。它还包括存储部分错误校正信息的单元,产生一条PUF校正信息的PUF函数的校正单元,以及其他几个校正单元。
文献XP031183294(Edward Suh G等人,标题为“Physical Unclonable Functionsfor Device Authentication and Secret Key Generation(用于设备认证和密钥生成的物理上不可克隆的函数)”)描述了基于PUF函数的设计,这些函数利用了从集成电路到集成电路不同的晶体管固有的延迟特性。该文献描述PUF函数如何实现集成电路的低成本认证,并为密码操作生成易失性密钥。
发明内容
本说明书的目的是通过提出一种电子电路来至少部分地解决上述问题,该电子电路能够借助物理上不可克隆的函数在没有外部干预的情况下产生恒定的值。作为另一个目的,还提出了允许在这种电路中生成这样的值的方法,以及使用该值的特定方法。
上述电子电路是指任何电路或电路部件。特别地,它能够是芯片、芯片组或芯片的一部分。
上述形容词“恒定”意味着这个值能够由电子电路在没有发散且以持久的方式再现。因此这个形容词描述了生成的值的稳定性和可靠性。
PUF函数的使用旨在指定该值与电子电路紧密连接,尤其是与本电路的元件实质或物理连接。名称“PUF值”来源于此连接。如前所述,由于这个值取决于它所来自的电子电路的唯一部件,所以它能够有利地是一个几乎唯一的特征,其将仅以一个副本来限定其存在。实际上,获得设置有具有完全相同的物理特性的部件的两个集成电路的机会已经非常小,通过以智能的方式设计具有PUF函数的电子电路,能够将这种机会减少到可忽略的比例。与相同的电子电路批次相比,PUF值的唯一性不仅取决于所考虑的电子电路的数量,还取决于不同的参数,例如用于计算PUF值的部件的数量以及组成PUF值的位数。
在其一般形式中,该方法旨在生成PUF值,即经由测量物理量的电子电路固有的值,这些测量在该电路的部件上进行。该方法包括以下步骤:
-计算从所述部件上执行的一系列计算导出的至少一个值并且将其与每个部件相关联,
-形成不变部件对的集合,
-从所述集合中选择对,使得与这些对中的每个对的部件相关联的值彼此间隔开,即相互分开或彼此隔开至少一个设置值,该设置值特别是不可变且优选是预定义的。
-通过连接与每个选择对的部件相关联的值的比较结果和/或数据的比较结果来生成电子电路固有的所述值,这些数据中的至少一个是从这些值导出的;为了做到这一点,所述结果以不变的,优选预定义的顺序被处理,正如在所述比较期间所述值或关于这些对的数据一样。
在优选实施例中,从一系列测量中导出的值的计算是统计计算。更优选地,该计算旨在根据所述一系列计算确定平均值。从一系列计算中得出的值能够是所确定的平均值。可替换地,也能够在将从一系列测量导出的值定义为计算的不确定性范围之前,针对每个平均值计算不确定性范围。
优选地并且换句话说,根据一系列测量导出的值的计算将包括例如以下步骤:
-根据所述一系列测量中确定统计值,
-将从一系列测量得出的所述值定义为所述统计值或从该统计值计算的不确定性范围;
所述统计值能够是一个平均值,例如该系列的测量的平均值。
从集合中选择对的标准例如可以是与该集合对的部件相关的不确定性范围的不存在重叠。这个标准应用在该选择期间所检验的每一对相关的不确定性范围。
电子电路固有的PUF值例如可以通过比较与先前选择的每对的部件相关联的不确定性范围来生成。因此,优选地,从每个选择的对能够获得具有值1或0的比特,作为比较的结果。由于在为了彼此充分分开而选择的值上执行这些比较,并且由于所比较的值或数据是以不变的顺序取得的,所以这些比较的结果有利地是恒定的,而不管重复多少次。
此外,由于这些比较的结果也是以不变的顺序处理,所以产生的PUF值是恒定值,即随时间稳定,不管有什么干扰。实际上,该值有利地不依赖于由于例如温度波动或电源电压而导致的不合时宜的变化,并且不受由寄生噪声引起的不稳定性的影响。结果,生成该PUF值的过程可能够有利地从一个会话重复到另一个,特别是每次电子电路需要该值用于任何应用时。这个特性允许避免将这个值存储在存储器(例如非易失性存储器)中,以便该应用的进一步使用。而且,这个值的重现性也不取决于产生它的电子电路的任何外部干预。
在任何时候,该电路可以有利地维持在“闭合状态”。没有允许提供能够发现PUF值的指示的信息从该电子电路发出,或者优选永久地存储在该电子电路中。因此,该电路能够通过其自己的方式生成特定于其并且不能被发现的秘密值。
其他的优点和实施例将在以下的详细描述中呈现。
附图说明
由于作为非限制性示例给出的附图示意图,将更好地理解本说明,在附图中:
图1是操作物理上不可克隆的函数(PUF)的电子电路(通常为集成电路)的示意图。
图2是来自在电子电路的部件上进行的测量的统计数据的示例的示意图。
图3是根据第一实施例的方法的主要步骤的示意图。
具体实施方式
参考图1,其表示电子电路10,其通常可以是集成电路、一组芯片、电子芯片、芯片的一部分或将电子电路或电路部分进行集成的任何其它元件。该电路10包括几个电子元件,包括用作源元件的多个部件11,以提供有用的测量来创建物理上不可克隆的函数,即所谓的PUF函数。如在该图中示意性表示的那样,这些部件11例如由不同的振荡器组成,特别是环形振荡器,其数量通常在几十个左右,例如64或128个左右。这些振荡器11优选地各自耦接到测量元件12,该测量元件12用于确定每个振荡器特定的物理值。在这种情况下,测量元件12能够精确地测量将它们专用到的振荡器的频率f。可替换地,一个或有限数量的测量元件12能够由几个振荡器共享来确定每个振荡器特有的所述物理值。尽管在下文中我们基本上将振荡器称为部件11的示例,但是清楚的是,该实施例绝不是限制性的,并且能够使用其他部件11,(通过测量元件12)能够从中测量其他物理量,例如电流、电压、功率、电阻、温度、时间、光强度等。测量元件12通常是因此被配备为测量一个或多个物理量的电子设备。
作为第一种方法,能够认为组成电子电路10的振荡器是相同的,并且从一个电路10到另一个并没有不同,特别是如果它们来自同一生产线。然而,作为第二种方法,能够看到,每个振荡器具有特定的频率,并且振荡器的频率不完全相同,但是从一个振荡器到另一个振荡器它们略微波动。在深亚微米技术中,例如利用在一条或多条相同生产线上的相同制造工艺制造的相同类型的振荡器内的小频率变化足以产生物理上不可克隆的函数。因此这个PUF函数将利用如下事实:每个振荡器具有固有的频率,该固有频率基本上是由于它在制造过程中被提供的小变化。
现在将使用附图来描述该方法。
该方法的目的之一是经由例如物理量的测量来生成电子电路10固有的值19,在此情况下例如是频率。如图1和图3中示意性示出的,这些测量在该电路10的部件11上执行。更具体地,例如将在电子电路10中为此设置的所有部件11上执行一系列测量f1、f2、……、fi
在每一系列测量的基础上,我们将能够针对所使用的每个部件11计算从该部件上进行的测量中得出的至少一个统计值。例如,如图2所示,我们将确定每个系列测量f1、f2、……、fi的平均值
Figure GDA0002747366540000071
此外,也能够在每个平均值附近确定不确定性范围p。该不确定性范围对应于平均值误差的估计,并且可以通过统计公式来确定,诸如用于计算标准偏差或平均值的不确定度的那些统计公式。执行的测量数量越多,因为误差会减少,所以平均的估计就越好。但是,必须找到一个妥协方案,因为执行测量的数量越多,从这些测量中得出统计数据的时间就越长。如图2所示,能够注意到可以用不同的方式来表示不确定性范围p。它可以例如由两个极值a,b来确定,例如通过频率f的比例上的两个频率来确定。在另一个例子中,该范围p可以通过围绕平均值(例如,
Figure GDA0002747366540000072
)的误差e的估计来定义。
从测量f1、f2、……、fi导出的至少一个值V(例如,平均值
Figure GDA0002747366540000073
和/或不确定性范围p)将与这些测量来自的部件相关联。该关联能够例如通过将这个/这些值V与所讨论的部件11的标识符进行关联的记录或表格来获得。这样的关联在图1中通过值V1、V2、……、Vn示出,这些值分别指代通过标识符ID1、ID2、……、IDn识别的部件。诸如微处理器或一组电子元件的计算单元15例如能够在完成这些值V1、V2、……、Vn的计算之后执行该任务。
在图3的左侧所示的第一步之后,存在第二主要步骤,其旨在优选地从先前确定的统计值来自的所有部件来形成部件11的不变对的集合13(也就是组)。该集合13显示在图3的中央左侧,其中不变的部件对由括号中的字母对(Vx-Vy)来表示。因此,这些对中的第一对能够由对(V1-V2)确定,第二对由对(V1-V3)确定等等,直到确定所有可能的组合或特定数量的这些组合。在这个例子中,值V的指示是指从中导出值V的部件的标识符ID。而且,通过该示例能够理解,每一对的部件能够通过这些值来识别。导致形成这些对的顺序能够在例程中定义,例如通过例如由计算单元15执行的编程步骤来定义。重要的是,为了得到不变的部件对,这个顺序一旦定义必须是不可变的,因此有助于PUF值19的重复性。
作为替代,集合13的不变对能够利用表或者预先建立的列表来生成,其中的表或者预先建立的列表定义预先定义的集合对。这样的列表或表能够涉及参考位置(例如分配给部件ID3的位置3),其中与对应部件相关联的值V能够被暂时地顺序存储。例如,这些值一旦被确定就能够被存储,并且直到它们已经用在从集合13中选择成对的部件11的下面的步骤中。
不是考虑电子电路10上可用的所有部件11,也可以只考虑这些部件的子集,只要该子集是完美定义且不变的。
接着是第三主要步骤,在该集合13中选择对16,使得与这些对中的每个对的部件相关联的值V满足至少一个选择标准14。如图3的右中部所示,在该步骤中应用的选择标准14例如能够定义这些值V必须彼此间隔至少一个设置值Vc。例如,如果我们认为与每对的分量11相关的值V是先前计算的不确定性范围p,则该选择可以包括选择不确定性范围不重叠的一对。这种情况在图2中通过指代标识符ID1、ID2的部件对(1-2)产生的范围p1和p2之间的偏差Δ作为示例来示出。在这种情况下,量化范围之间的最小距离的设置值Vc将是空值。如果我们想提高安全程度,并且确保即使是两个范围的最接近的极值(图2中的b1和a2)不能混淆,也可以大于零。
设置值Vc能够被视为达到的值或达到的阈值(最小值)。它能够是预定值或取决于所做的测量。在任何情况下,这个值都将是不可变的常数。这将有助于PUF值19的可重现特性,为了保证完美的可靠性,每次在同一电子电路10产生的过程结束时,PUF值19必须始终一致。
作为替换并且知道如果这些平均值彼此充分隔开,与一对的部件相关联的平均值(例如,
Figure GDA0002747366540000081
)具有不重叠的不确定性范围(p1,p2),则也能够考虑这些平均值而不是他们的不确定性范围。在这种情况下,量化平均值
Figure GDA0002747366540000091
之间的最小偏差的设置值Vc将是至少等于所考虑的两个范围(p1,p2)的平均值的值,优选地至少等于在确定的所有不确定性范围中的两个最大范围的平均值,或者甚至等于所确定的最大不确定性范围的范围p。
如图3所示,执行该选择操作允许获得称为选择的对16的对。当它们被选择时,选择的对16能够暂时存储在例如列表或表格中,直到它们用于生成PUF值19。为了做到这一点,它们能够例如在选择时连续放置在列表中或者被分配索引,例如定义不变顺序的时间顺序标识符。也能够把它们放在列表中或者表格中由(非时间顺序)索引引用的位置。
正如我们所看到的,建立不变对的集合13能够由特定的处理顺序产生。这个处理顺序也是不变的。例如,这样的顺序可以针对连续考虑第一部件11和所有其他部件,然后在第二部件、第三部件、第四部件等连续重复该处理,至少直至处理第n个部件。在选择步骤期间,即上述第三个主要步骤期间,将注意到的是,按这样的处理顺序对于对进行测试,以知道它们是否符合选择标准14,并且如果合适的话,一旦确定它们符合这个选择标准14就连续地将选择的对16放置在列表中,允许自动获得所选择的对16的排序。而且,这种排序因为取决于选择已测试的对所根据的不变处理顺序所以是不可变的。
因此,已经选择的对16能够间接地通过强制的处理顺序进行排序,顺序地依次形成它们,或者直接利用索引或任何参考方式进行排序。
还将注意到的是,在该选择步骤期间,不必检查所有的集合对13,尽管它可以是优选实施例的一部分。我们确实可以检查该集合的不同对,直到达到特定数量的选择的对16。然而,在这种情况下,集合13的对将不得不以不变的顺序被检查,诸如上述不变的处理顺序,然而在该选择步骤期间,如果检查所有的集合对13或者该集合的所有不变子集对,则不需要这样顺序的不变特征。而且,重要的是我们能够识别或排序(直接或间接)每个选择的对16,使得可以在下一步骤中以不变的顺序处理相对于这些对的值或数据有关的比较结果。允许完成该选择步骤的所有实施例能够有利地通过计算单元15或通过任何其他电子单元(处理器、芯片组等)来实现,例如通过读取并且通过执行能够典型地在该单元中预先编程的例程。该例程的执行当然能够使用其他存储设备,诸如临时存储器或计算记录。
一旦完成选择步骤,就有可能根据与每个选择的对16的部件11相关联的值V的比较结果,在第四主要步骤中生成电子电路固有的值19。如稍后将更详细描述的,这些比较也可以涉及这些数据中的至少一个数据是从这些值中导出的。
参照图3的右侧部分,该比较步骤由表达测试“Vx>Vy?”表示。每个选择的对16的值或数据由放置于括号中的数字对来表示,其中每个数字以符号的方式指代一个部件(例如,其标识符)并且包含与该部件相关联的值或从这样的值导出的数据。因此,在图3的示例中,第一选择的对16是对(1-3),第二个是对(2-4),第三个是对(3-n)等等。这些对的值或数据将由比较器17或多个比较器17进行比较,如图1所示。每个比较器17旨在确定它接收到的对的数据或者两个值V中的哪一个数据是例如最大的或最小的(不排除诸如“大于或等于”或“小于或等于”的其他关系运算符)。作为响应,如果在对(XY)的情况下,值Vx例如大于值Vy,比较器17将在其输出处产生基本二进制值18,即位1,而相反情况下为位0。应该注意的是,一对数据或值Vx、Vy将以恒定(即不变)的顺序被处理,并且优选地在这些比较期间被预定义。这是由于如果比较中使用的操作符例如“大于”,则表达式Vx>Vy的结果当然不同于来自相反表达式Vy>Vx的结果。
对于能够进行比较的值或数据,可以考虑以下的假设情况。
在第一种情况下,所比较的值可以是不确定性范围,特别是如果如图2所示,每个范围p1、p2由两个极值a1,b1来定义,分别为a2,b2。为了验证同一对的两个范围不重叠,例如可以容易地控制第一范围p1的两个极值a1、b1中的每一个大于或小于第二范围p2的另外两个极值a2、b2
在第二种情况下,如已经提及,该比较可以是关于与该对的部件相关联的平均值的比较,因为已经被确定(在旨在选择对16的第三主要步骤期间)的是这些平均值周围的不确定性范围不重叠或不能重叠。
在第三种情况下,这种比较可能同时是关于这些范围中心的不确定性范围和平均值。这实际上取决于如何表达正在考虑的范围。在该假设的情况下,范围可以通过平均值V周围的误差e的估计来表示(图2)。
在第四种情况下,这种比较可以关于数据,将从与这对部件关联的值V中导出的数据的至少一个。例如,我们可以考虑这些范围之间的间隙,也就是说将正在考虑的对的两个范围(例如p1、p2)分开的距离Δ(参见图2)。该间隙Δ或范围内距离对应于从与该对的部件相关联的值(不确定性范围)导出的数据。然后可以将该间隙与另一数据进行比较,例如将作为第二设置值的参考值,例如限定最小间隙(Δmin)的值。作为第二个设置值的替代,我们也可以考虑一个设置值范围。例如,我们可以验证对的平均值
Figure GDA0002747366540000111
Figure GDA0002747366540000112
之间的间隙是否在确定设置值范围的两个值之间,例如要达到的最小范围。
不管所选择的假设情况如何,每个比较的结果总是导致如图1和图3的基本二进制值18所示的二进制响应。正是基于这些比较的结果,即基于这些基本二进制值18,将在最后一步中确定PUF值19。为了有助于PUF值的重现性,重要的是这些结果也要以不变的顺序进行处理。例如,能够通过遵照时间顺序或者通过定位每个结果来获得该不变顺序。例如,能够通过这些结果在时间顺序列表中占据的位置或位置来获得该定位,能够通过标识这些位置的索引(特别是如果该列表不是按时间顺序)来获得,或者最终能够通过在二维表(或网格)中定位结果的坐标对来获得。根据这个不变的顺序,将基本二进制值18(比较结果)连续地放置在彼此之后,从而形成如图1和3所示的PUF值19。旨在生成PUF值19的该第四主要步骤能够例如通过计算单元15或通过任何其他电子单元(处理器、芯片组、存储器、计算寄存器等)执行,如先前参照前述步骤所述。
正如有时候已经提到的,能够考虑先前描述的主要步骤的不同实施例。
根据优选实施例并且参考图2中示出的示意图,计算从正考虑的每个部件上执行的一系列测量(f1、f2、……、fi)导出的至少一个值(统计值V)的处理将包括以下步骤:
-根据该系列测量确定平均值
Figure GDA0002747366540000113
-计算每个平均值
Figure GDA0002747366540000114
的不确定性范围p,
-将从系列测量得出的值V定义为如此计算的不确定性范围p或由此确定的平均值
Figure GDA0002747366540000115
应该注意的是,在值V被定义为由此确定的平均值
Figure GDA0002747366540000116
的情况下,用于计算每个平均值
Figure GDA0002747366540000121
的不确定性范围p的前述步骤成为可选步骤。
特别地,将逐个对地执行集合13中的对之中的对的选择,将通过比较与对的部件相关联的不确定性范围p,然后通过选择部件具有不重叠的不确定性范围p的对。换言之并且参考图2,后一步骤确定该对的不确定性范围p1、p2之间的间隙Δ,并且验证该间隙Δ高于或等于零,假定两个范围的重叠产生低于零的间隙Δ。
根据一个实施例,基于作为计算常数给出的置信区间来计算每个平均值
Figure GDA0002747366540000122
的不确定性范围p。例如,这个置信区间能够是大约68%或95%。在统计上,这样的间隔允许量化平均值
Figure GDA0002747366540000123
的准确度。
如图1和3所示,PUF值19由基本二进制值18的有序序列组成。如已经提到的那样,这些值对应于与所选择的对16的部件相关联的值(或数据)比较的结果。这些结果以不变的顺序进行处理,以获得PUF值的一系列比特的排序。为了获得强的PUF值(即安全的值),重要的是它所包含的位数足够高,这样这个值就不会被猜到,例如通过测试有限数量的1和0的所有可能组合。
然而,具有非常大量的位的PUF值对于操纵是不适的,特别是在随后针对它的应用中。为此,建议PUF值是应用于中间值的哈希函数的结果的实施例;该中间值由前述结果的有序处理来确定。换句话说,不是如图1和3所示在将结果(基本二进制值18)进行排序之后直接获得PUF值,而是通过该排序获得中间值。然后将(不变的)哈希函数应用于该中间值以获得PUF值19,其有利地将比中间值更短。这个PUF值19的长度能够例如通过哈希函数来定义。
本说明书的目的还涉及用于生成电路固有的值19(PUF值)的电子电路10(图1)。后者包括多个部件11,在每个部件上或者在其一部分上能够测量至少一个物理量。该物理量通过至少一个测量元件12测量。如果测量元件12的数量等于部件11的数量,则每个部件将具有其测量元件12。如果测量元件12的数量低于部件11的数量,则测量元件12将由多个部件11共享。在所有情况下,从每个部件11,将得到来自所考虑的物理量的一系列测量值(f1,f2,...fi)。这个量将主要取决于部件11的类型。优选地,这些部件将是振荡器,特别是环形振荡器。该电子电路10还包括适于比较两个值的至少一个比较器17,并且优选地,允许与外部环境交换信息到电子电路10的接口20。
该电子电路10包括计算单元15,其用于执行上述方法的步骤,特别是该方法的任何实施例的步骤。
在其基本版本中,该计算单元15将用于:
-计算从在该部件11上执行的一系列测量f1、f2、……、fi导出的至少一个值V并将其关联到每个部件11,
-形成部件11的不可变对的集合13,
-在该集合13中选择对16,使得与这些对16中的每对的部件11相关联的值V间隔至少设置值Vc,
-基于与每对的部件11相关联的值V的比较结果和/或数据的比较结果,至少其中之一源于这些值V,来生成电子电路10固有的值19(PUF值);这些结果以不变的顺序进行处理,正如在所述比较期间与这些对相关的所述值V或数据。
优选地,从一系列测量导出的值V的计算将例如针对:
-根据所述一系列测量中确定统计值,
-将从一系列测量得出的所述值定义为所述统计值或从该统计值计算的不确定性范围;
所述统计值可能是平均值,例如该系列的测量的平均值。
如在该方法的描述中已经提到的那样,测量f1、f2、……、fi和其他计算数据的临时存储能够通过一个或多个存储器(例如易失性类型的存储器)来进行,可能通常集成在计算单元15或连接到它。该计算单元能够用于擦除这些存储器,优选地只要收集或计算的数据的存储被废弃。例如,只要这些数据已经使用,因此不再需要存储这些数据,就能够编程和执行这些数据的擦除。
如在该方法的描述中还提到的,不可变对的集合13的形成能够由例如在中央单元15中的预编程例程产生。
根据上述任何实施例的方法的实现能够利用例如在计算单元15中实现的算法来执行。这种实现通常能够在制造电子电路10的过程中执行。
在图1中,计算单元15中的附图标记15'示意性地示出根据上述任何实施例的方法的任何步骤中的至少一个步骤的实现所需的算法和/或例程集合。
如图1所示,比较器17能够位于计算单元15的外部,或者能够是其一部分,如通过虚线示意该计算单元的扩展所表示。
一旦在电子电路10中实现算法或算法集合15',优选地具有必要的所有常数(即,不变的数据),则该电路具有自主的优点,并且不必使用任何可被利用的初始化或个性化步骤。该电路10因此看起来完全封闭,而没有任何可能访问可以提供其生成的PUF值19有关的信息的任何信息。然后它能够完全自主地生成这个PUF值19。还有利的是,将该电子电路10配置为使得PUF值19或者可以给出关于该值的任何信息的任何信息从不在该电路之外传输(例如,经由接口20),并且优选地,从不在其中永久存储。这意味着,用于临时存储计算出的数据和测量值的资源(存储器、寄存器、表格或其它装置)优选只要已经首次使用电子电路10固有的所述PUF值19就将它们最新的内容舍弃。因此,暂时擦除这些存储装置中存储的数据和值迫使电子电路10在每次该电路中实现的应用使用该值之后重新计算PUF值。
换句话说,电子电路10本身能够生成其他设备或电路或没有人能够知道的PUF值19。只有生成该PUF值的电路10能够知道它。
仍然有利的是,由于该电子电路10优选地不具有允许永久地存储该PUF值的任何存储器或装置,因此每次它的应用中的一个使用该值时,其被强制重新计算该值。虽然这需要更多的时间和计算资源,但这个限制是安全的保证。实际上,除了计算该PUF值的时刻之外,电子电路10有利地表现为对于试图破解它以获得该秘密值的任何人而言是惰性的和无用的。
由于无法将PUF值输出到电子电路10之外,因此后者优选地还将包括应用单元25,该应用单元能够容纳旨在使用PUF值19用于特定目的的至少一个应用。应该理解的是,在这种情况下,词语“应用”意思是电子电路10(特别是由应用单元25)直接用于执行涉及PUF值19的任务或一组任务的程序(或一组软件)。
应用单元25可以包括密码单元,该密码单元能够根据在非对称密码系统中用作私钥的PUF值来生成加密公钥。有利的是,具有这样应用的这样的电路10允许完全保证私钥的保密性,因为它被限制在电子电路10中,并且只能由后者生成而没有任何外部干预。另一方面,公钥可以经由接口20传输。这样的密码单元也将被用于解密消息,该消息将通过公钥进行编码。这些消息可能例如经由接口20来接收。需要生成和使用秘密值的其他应用当然可以在制造电子电路10期间在应用单元25中实现。
优选地,电子电路10可以以单片形式构造,使得无法在不破坏电路的情况下分离其部件。
本说明书还涉及用于使用电子电路10固有的值19的方法。该使用方法具有需要每次生成该PUF值19以供使用的特定特征。因此,为了使用电子电路10固有的该值19,这种方法通过为此目的的前述方法并且特别是通过该方法的任何实施例来强制生成PUF值19。
在更具体的实施例中,将会注意到值19由生成它的电子电路10专门使用。更具体地,该值将由例如在该电子电路10的应用单元25中实现的应用来使用。
此外,优选地当在该电子电路10中实现的应用需要使用该值19时生成该电子电路10固有的值19。换句话说,这意味着在不是真正需要使用该值的情况下,并不生成该PUF值然后预先存储。
虽然已经参考具体的示例实施例描述发明主题的总览,但是在不脱离本发明的各个实施例的更宽广精神和范围的情况下,对于这些实施例可以做出各种修改和改变。例如,可以将各种实施例或者它们的特征进行混合和匹配,或者通过本领域技术人员选择性地进行。发明主题的这样的实施例在此可以是指单独地或者共同地,通过术语“发明”仅是为了方便,而不是如果实际上所公开的不只一个,旨在将该申请的范围主动地限制在任何单个发明或者发明概念。
相信足够详细地描述在此所示的实施例,从而使得本领域技术人员能够实践在此所公开的教导。可以使用其他实施例以及从它们衍生的实施例,这样可以在不脱离本公开文本的范围的情况下做出结构化和逻辑的替换和改变。因此,详细的说明不应当被认为是限制性的,各个实施例的范围仅通过所附权利要求以及这样的权利要求有权的等同物的全部范围来进行限定。

Claims (15)

1.一种用于生成电子电路(10)固有的值(19)的方法,其利用该电子电路(10)的部件(ID1,ID2,…IDn)上执行的物理量的测量,其特征在于,所述方法包括:
-计算从部件(ID1,ID2,…IDn)上执行的一系列测量(f1、f2、……、fi)导出的至少一个值(V)并将其关联到每个部件(ID1,ID2,…IDn),所述值(V)的计算包括:
-根据所述一系列测量(f1、f2、……、fi)确定统计值,
-将从一系列测量导出的所述值(V)定义为所述统计值或从该统计值计算的不确定性范围,
-形成部件(ID1,ID2,…IDn)的不可变对的集合(13),
-在所述集合(13)中选择对(16),使得与这些对(16)中的每一个对的部件(ID1,ID2,…IDn)相关联的值(V)相互间隔至少设置值(Vc),
-通过基于以下列举中的至少一个将比较结果进行串联,来生成所述电子电路(10)固有的值(19):
-与每个所选择的对(16)的部件(ID1,ID2,…IDn)相关联的值,
-其中至少一个从这些值(V)导出的数据,
所述结果类似在所述比较期间的与这些对(16)有关的所述值(V)或数据以不可变的顺序进行处理。
2.根据权利要求1所述的方法,其特征在于,所述统计值是平均值。
3.根据权利要求1或2所述的方法,其特征在于,通过比较与对的部件相关联的不确定性范围,然后通过选择其部件具有不重叠的不确定性范围的对(16),逐个对地执行在所述集合(13)的那些对之中选择对。
4.根据权利要求1或2所述的方法,其特征在于,所述设置值(Vc)取决于所执行的测量。
5.根据权利要求2所述的方法,其特征在于,所述不确定性范围通过限定所述不确定性范围的两个极值或者通过估计所述平均值附近的误差来确定。
6.根据权利要求1或2所述的方法,其特征在于,被比较以生成所述电子电路(10)固有的值(19)的所述数据是至少参考值和量化与所述所选择的对(16)的部件相关联的范围之间的间隔的值。
7.根据权利要求1或2所述的方法,其特征在于,基于特定的置信区间来计算所述不确定性范围。
8.根据权利要求1或2所述的方法,其特征在于,从哈希函数导出所述电子电路(10)固有的值(19),所述哈希函数应用到通过所述结果的有序处理而确定的中间值。
9.一种用于生成该电路固有的值(19)电子电路(10),包括:
-部件(ID1,ID2,…IDn),在每个部件(ID1,ID2,…IDn)上能够测量至少一个物理量,
-至少一个测量元件(12),其允许执行该物理量的测量(f1,f2,…fi),
-至少一个比较器(17),其用于比较两个值,以及
-接口(20),其允许与所述电子电路(10)外部的环境交换信息,
其特征在于,它还包括:
-计算单元(15),其用于执行权利要求1至8中的任一项的步骤,以及
-应用单元(25),其能够容纳意图使用所述电子电路(10)固有的值(19)的至少一个应用。
10.根据权利要求9所述的电子电路(10),其特征在于,它还用于防止该电子电路(10)固有的值(19)通过所述接口(20)的任何传输。
11.根据权利要求9或10所述的电子电路(10),其特征在于,它包括用于暂时存储计算数据和测量值的装置,并且,只要所述电子电路(10)固有的所述值(19)被第一次使用,尽快地从存储装置擦除这些数据和这些值。
12.根据权利要求9或10所述的电子电路(10),其特征在于,所述应用单元(25)是密码单元,其用于根据所述电子电路(10)固有的所述值(19)来生成公钥,在非对称密码系统中该值(19)被用作与所述公钥相关联的私钥,该密码单元还用于利用所述公钥来解密经过编码的消息。
13.一种用于使用电子电路(10)固有的值(19)的方法,其特征在于,为了进行使用,每次通过根据权利要求1至8中的任一项所述的方法来生成该值(19)。
14.根据权利要求13所述的方法,其特征在于,所述值(19)由所述电子电路(10)专门使用。
15.根据权利要求13或14所述的方法,其特征在于,当在该电子电路(10)中实现的应用需要使用该值(19)时,生成该值(19)。
CN201680030256.4A 2015-05-27 2016-05-26 用于生成电子电路固有的值的方法、生成该值的电子电路以及用于使用这样的值的方法 Active CN107646130B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15169422.1 2015-05-27
EP15169422 2015-05-27
PCT/EP2016/061867 WO2016189070A1 (en) 2015-05-27 2016-05-26 Method for generating a value inherent to an electronic circuit, electronic circuit generating this value and method for using such a value

Publications (2)

Publication Number Publication Date
CN107646130A CN107646130A (zh) 2018-01-30
CN107646130B true CN107646130B (zh) 2021-03-19

Family

ID=53434203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680030256.4A Active CN107646130B (zh) 2015-05-27 2016-05-26 用于生成电子电路固有的值的方法、生成该值的电子电路以及用于使用这样的值的方法

Country Status (7)

Country Link
US (1) US20180123807A1 (zh)
EP (1) EP3304737B1 (zh)
JP (1) JP6899778B2 (zh)
KR (1) KR102503366B1 (zh)
CN (1) CN107646130B (zh)
ES (1) ES2825774T3 (zh)
WO (1) WO2016189070A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919216A (zh) * 2017-03-01 2017-07-04 深圳大学 一种基于Cascode电流镜结构的物理不可克隆电路
CN109428712B (zh) * 2017-08-24 2022-01-07 上海复旦微电子集团股份有限公司 数据加、解密方法及数据加、解密系统
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2081170A1 (en) * 2006-11-06 2009-07-22 Panasonic Corporation Information security apparatus

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009519537A (ja) * 2005-12-14 2009-05-14 エヌエックスピー ビー ヴィ 物理的トークンに対するキー抽出パラメータのチップ上評価
US8290150B2 (en) * 2007-05-11 2012-10-16 Validity Sensors, Inc. Method and system for electronically securing an electronic device using physically unclonable functions
JP2011526113A (ja) * 2008-06-27 2011-09-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ アイテムの真正性、完全性、及び/又は物理的状態を検証するための装置、システム、及び方法
US8468186B2 (en) * 2009-08-05 2013-06-18 Verayo, Inc. Combination of values from a pseudo-random source
FR2955394B1 (fr) * 2010-01-18 2012-01-06 Inst Telecom Telecom Paristech Circuit integre en silicium comportant une fonction physiquement non copiable, procede et systeme de test d'un tel circuit
WO2011138823A1 (ja) * 2010-05-06 2011-11-10 三菱電機株式会社 ビット列生成装置及びビット列生成方法
US8619979B2 (en) * 2010-06-25 2013-12-31 International Business Machines Corporation Physically unclonable function implemented through threshold voltage comparison
US8848905B1 (en) * 2010-07-28 2014-09-30 Sandia Corporation Deterrence of device counterfeiting, cloning, and subversion by substitution using hardware fingerprinting
US8850608B2 (en) * 2011-03-07 2014-09-30 University Of Connecticut Embedded ring oscillator network for integrated circuit security and threat detection
KR101359783B1 (ko) * 2012-07-24 2014-02-10 (주)농업전자 부정합 부하 저항 소자 기반 물리적 복제 불가 함수 시스템
US9208355B1 (en) * 2013-05-28 2015-12-08 Sandia Corporation Apparatus, system and method for providing cryptographic key information with physically unclonable function circuitry
EP2816756A1 (fr) 2013-06-18 2014-12-24 Nagravision S.A. Procédé et dispositif cryptographique unique à fonction physiquement induplicable
DE102013013047B4 (de) * 2013-08-06 2015-05-07 Infineon Technologies Ag Bestimmung einer Kennung
WO2015031685A1 (en) * 2013-08-28 2015-03-05 Stc.Unm Systems and methods for analyzing stability using metal resistance variations
JP2015065495A (ja) * 2013-09-24 2015-04-09 ルネサスエレクトロニクス株式会社 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置
US20150134966A1 (en) * 2013-11-10 2015-05-14 Sypris Electronics, Llc Authentication System
US9485094B1 (en) * 2014-04-21 2016-11-01 Maxim Integrated Products, Inc. Systems and methods for stable physically unclonable functions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2081170A1 (en) * 2006-11-06 2009-07-22 Panasonic Corporation Information security apparatus

Also Published As

Publication number Publication date
JP2018517347A (ja) 2018-06-28
CN107646130A (zh) 2018-01-30
EP3304737A1 (en) 2018-04-11
KR20180012761A (ko) 2018-02-06
JP6899778B2 (ja) 2021-07-07
KR102503366B1 (ko) 2023-02-23
ES2825774T3 (es) 2021-05-17
US20180123807A1 (en) 2018-05-03
EP3304737B1 (en) 2020-09-02
WO2016189070A1 (en) 2016-12-01

Similar Documents

Publication Publication Date Title
KR101773483B1 (ko) 디바이스 식별을 위한 물리적 복제 방지 기능 패턴 매칭
US9948470B2 (en) Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
Herder et al. Trapdoor computational fuzzy extractors and stateless cryptographically-secure physical unclonable functions
CN107276761B (zh) 用于测试物理不可克隆功能的设备和方法
EP3207539B1 (en) Cryptographic device comprising a physical unclonable function
CN108243007B (zh) 使用高可靠性物理不可克隆函数生成秘密信息的系统和方法
US11038680B2 (en) Secret key generation using a high reliability physically unclonable function
CN106952378A (zh) 开锁方法及装置、电子锁
US9571276B2 (en) Derivation of a device-specific value
US20150318999A1 (en) Derivation of a Device-Specific Value
US20160006570A1 (en) Generating a key derived from a cryptographic key using a physically unclonable function
WO2019212772A1 (en) Key generation and secure storage in a noisy environment
CN104753667A (zh) 用于提供密码密钥的电路单元
CN107646130B (zh) 用于生成电子电路固有的值的方法、生成该值的电子电路以及用于使用这样的值的方法
Bruneau et al. Development of the unified security requirements of PUFs during the standardization process
TW201915748A (zh) 半導體裝置
Liu et al. Methods for estimating the convergence of inter-chip min-entropy of SRAM PUFs
US11818249B2 (en) Nodes and methods of operating the same
EP3811220B1 (en) Generating a target data based on a function associated with a physical variation of a device
TWI782540B (zh) 基於物理不可複製功能的真隨機數產生器以及用於產生真隨機數的方法
WO2023186414A1 (en) Hamming distance based matching for puf strings

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant