CN109756338A - 物理不可克隆功能的远程重新注册 - Google Patents

物理不可克隆功能的远程重新注册 Download PDF

Info

Publication number
CN109756338A
CN109756338A CN201811324713.8A CN201811324713A CN109756338A CN 109756338 A CN109756338 A CN 109756338A CN 201811324713 A CN201811324713 A CN 201811324713A CN 109756338 A CN109756338 A CN 109756338A
Authority
CN
China
Prior art keywords
value
puf
new
key
group
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.)
Granted
Application number
CN201811324713.8A
Other languages
English (en)
Other versions
CN109756338B (zh
Inventor
J·R·瓦尔拉本斯泰因
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.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
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 Analog Devices Inc filed Critical Analog Devices Inc
Publication of CN109756338A publication Critical patent/CN109756338A/zh
Application granted granted Critical
Publication of CN109756338B publication Critical patent/CN109756338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本公开涉及物理不可克隆功能的远程重新注册。随着PUF装置的老化,装置的响应特性也会发生变化。因此,在原始PUF输出上进行的映射可能漂移并变得无效。将隐藏值重新登记或重新映射到PUF响应特性可以解决PUF的变化性质。不幸的是,对手可能在重新注册期间篡改PUF,从而危及PUF的安全性。因此,描述了安全地和远程地重新注册PUF装置的技术。在初始登记PUF装置期间,可以生成PUF装置的多组登记值。对于远程重新注册,可以使用第一组初始注册值来认证PUF装置。在使用第一初始组进行认证时,PUF装置可以重新注册PUF装置并考虑PUF特性的变化。然后可以使用第二组初始登记值来验证PUF装置未被改变。

Description

物理不可克隆功能的远程重新注册
技术领域
本申请涉及基于物理不可克隆功能(“PUF”)的认证***和方法。
背景技术
PUF可以包括根据PUF的独特物理特性产生输出的装置或电路。例如,制造工艺和部件的变化产生包括具有独特硬件特性的电路的芯片,因为即使最小的变化(例如,低于制造商规范)也提供了唯一性。
发明内容
作为物理上不可克隆的功能(PUF)装置的年龄,装置的响应特性发生变化。因此,在原始PUF响应输出上进行的映射可能漂移并最终变得无效。根据一个方面,将隐藏值重新登记或重新映射到PUF响应特性可以解决PUF的改变性质。然而,实现了对手可能在重新注册之前或期间篡改PUF,并且损害PUF的安全性。因此,描述了安全地和远程地重新登记PUF装置的技术。在初始登记PUF装置期间,可以生成PUF装置的多组登记值。对于远程重新注册,可以使用第一组初始登记值来认证PUF装置。在使用第一初始组进行认证时,PUF装置可以重新注册PUF装置并考虑PUF特性的变化。然后可以使用第二组初始注册值来验证PUF装置未被改变。
根据本申请的一个方面,提供认证装置。认证装置可以配置为包括:物理上不可克隆的功能(PUF)装置,被配置为生成所述PUF装置的输出值特征;和连接到所述PUF装置的处理器,所述处理器被配置为:生成第一组初始注册值和第二组初始注册值;在所述PUF装置上执行重新注册命令,其中所述处理器进一步被配置为:使用所述第一组初始注册值验证所述PUF装置;使用所述PUF装置生成至少一组新的登记值;和确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态。
根据一个实施方案,所述处理器进一步被配置为使用所述第二组初始注册值验证所述PUF装置以确定所述PUF装置是否处于未改变状态。根据一个实施方案,所述处理器被配置为:向所述PUF装置发出第一挑战以产生第一输出,所述第一挑战来自所述第一组初始注册值;和使用所述第一输出恢复第一密钥或秘密、或第一共享。
根据一个实施方案,所述处理器被配置为将所述至少一组新的登记值通信给验证装置。根据一个实施方案,所述处理器被配置为在生成所述至少一组新的登记值之后,响应于确定所述PUF装置未处于未改变状态,拒绝所述至少一组新的登记值。根据一个实施方案,所述处理器被配置为在生成所述至少一组新的登记值之后,响应于确定所述PUF装置处于未改变状态,使用所述至少一组新的登记值进行后续认证。
根据一个实施方案,所述处理器被配置为:将挑战值通信给所述PUF装置以产生输出;将所述输出映射到新值,所述新值表示新密钥或机密、或新共享;和包括挑战值和至少一组新的登记值中的新值。根据一个实施方案,所述处理器被配置为:使用所述输出和新值生成辅助值;和在所述至少一组新的登记值中包括辅助值。
根据一个实施方案,所述处理器被配置为:恢复第一密钥,所述第一密钥与所述第一组初始注册值相关联;和使用恢复的第一密钥加密所述至少一组新的登记值的至少一部分。
根据一个实施方案,生成至少一组新的登记值包括:生成至少一个元组,包括挑战值、辅助值、以及密钥或秘密的加密。根据一个实施方案,生成至少一组新的登记值包括生成新密钥的多个共享。验证所述至少一组新的登记值包括:恢复密钥的第一共享和第二共享,所述第一共享和所述第二共享分别与所述第一和第二组初始注册值相关联;和使用恢复的第一和第二共享来验证所述PUF装置。
根据一个方面,提供一种验证装置的计算机实现的方法。该方法包括:通过处理器生成第一组初始注册值和第二组初始注册值,所述第一和第二组初始注册值中的每一个将PUF输出映射到密钥或秘密、或密钥或秘密的共享;在PUF装置上执行重新注册命令,其中执行重新注册命令的行为包括:使用所述第一组初始注册值验证所述PUF装置;使用所述PUF装置生成至少一组新的登记值;和确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态。
根据一个实施方案,确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态的动作包括:使用所述第二组初始注册值验证所述PUF装置。根据一个实施方案,使用所述第一组初始注册值验证所述PUF装置的行为包括:向所述PUF装置发出第一挑战以产生第一输出,所述第一挑战来自所述第一组初始注册值;和使用所述第一输出恢复第一密钥或秘密、或第一共享。
根据一个实施方案,该方法还包括将至少一组新的登记值通信到验证装置。根据一个实施方案,该方法还包括响应于确定所述PUF装置在生成至少一组新的登记值之后未处于未改变状态,拒绝所述至少一组新的登记值。根据一个实施方案,该方法还包括响应于确定PUF装置在生成至少一组新的登记值之后处于未改变状态,使用所述至少一组新的登记值进行后续认证。
根据一个实施方案,生成至少一组新的登记值的动作包括:将挑战值通信给所述PUF装置以产生输出;将所述输出映射到新值,所述新值表示新密钥或机密或新共享;和包括挑战值和至少一组新的登记值中的新值。
根据一个方面,提供存储处理器可执行指令的至少一种非暂时性计算机可读介质。当执行时处理器执行包括以下的方法:生成第一组初始注册值和第二组初始注册值,所述第一和第二组初始注册值中的每一个将PUF输出映射到密钥或秘密、或密钥或秘密的共享;在PUF装置上执行重新注册命令,其中执行重新注册命令的行为包括:使用所述第一组初始注册值验证所述PUF装置;使用所述PUF装置生成至少一组新的登记值;和确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态。
附图说明
将参考以下附图描述本申请的各个方面和实施例。应该理解的是,附图不一定按比例绘制。出现在多个图中的项目在它们出现的所有图中用相同的附图标记表示。
图1是根据一些实施例的可以发生交互的环境的***框图。
图2示出了根据一些实施例的用于登记PUF装置的承诺的示例方法流程。
图3示出了根据一些实施例的用于验证PUF装置的示例方法流程。
图4示出了根据一些实施例的用于重新登记PUF装置的承诺的示例方法流程。
图5示出了根据一些实施例的用于重新登记PUF装置的承诺的多个共享的示例方法流程。
图6是根据一些实施例的用于登记PUF装置以进行阈值加密认证的***方法流程图。
图7是根据一些实施例的用于使用阈值加密认证来验证PUF装置的***方法流程图。
图8是根据一些实施例的计算机***的示意图,该计算机***可以被专门配置为执行本文公开的过程和功能。
具体实施方式
申请人已经意识到,通过注册具有多个承诺的PUF装置,可以安全且远程地执行物理上不可克隆的功能(PUF)装置的重新注册。在一些示例中,装置的第一登记可以在安全设置(例如,制造设施)中发生,从而允许生产者或分销商对第一组登记值的安全性有一定的保证。为了提供这样的保证,***的各种实施例可以最初向PUF装置注册两组初始注册值。一组登记值可以包括在登记或重新登记过程期间生成的一个或多个值的组,用于PUF装置的后续认证。在一些实施方案中,一组登记值可以包括挑战和辅助值,供PUF装置用于恢复密钥或秘密或密钥或秘密的共享。
可以通过基于从PUF选择性地捕获唯一值来将PUF值映射到密钥、秘密或共享来保护密钥、秘密或共享,例如,通过来自PUF的选择性读数或通过向PUF提供挑战以再生身份验证期间的密钥、密钥或共享。安全、远程重新注册允许已经使用的PUF重新映射到他们的秘密或共享,并保证他们没有受到损害。例如,安全重新注册可以通过下列执行:(1)使用第一组初始注册值验证PUF装置,(2)生成新的登记值组,和(3)使用第二组初始注册值验证PUF或新的登记值组。在常规***中,PUF装置重新注册受到安全性和计算资源的限制。因此,提供了本文描述的***和技术用于安全且计算上有效的远程PUF装置重新注册。
基于PUF的认证中存在的一个挑战是PUF的输出可随着PUF装置硬件老化而漂移。在PUF装置达到特定年龄之后,传统***可能需要放弃使用PUF装置,因为PUF装置的输出已经超出允许PUF装置被认证的限制。其他技术需要手动重新注册PUF装置,以便基于PUF装置的硬件的最近状态来配置认证。例如,人可以物理地访问PUF装置并重新注册PUF,或者PUF装置可以物理地进入安全制造设施,其中PUF装置可以重新注册。然而,手动重新注册需要时间和资源来限制PUF装置使用的寿命和规模。
一些传统***可以执行远程重新注册,但是这样做会损害PUF装置的安全性。例如,当PUF装置生成新的登记信息时,验证装置不能验证新的登记信息是否未在重新登记过程期间从已被篡改的PUF装置发送。其他传统***采用非对称密码术来连续地重新注册装置。然而,给定有限的计算和存储器资源,许多装置不能使用非对称密码术来实现连续的重新登记技术。
因此,一些方面涉及实现PUF装置的安全和远程重新登记的***和方法。另外,一些实施例提供了可以在计算和/或存储器资源的有限要求下执行的重新注册的***和方法。
图1示出了根据一些实施例的示例环境100,其中可以执行认证装置的远程和安全重新注册。在该示例中,环境100包括装置110、验证装置120和网络130。装置110可包括PUF112和与PUF 112通信的处理器114。在一些实施方案中,验证器120可以包括与装置110通信的单独服务器。在一些实施方案中,装置110可以通过网络130与验证器120通信。网络130可以包括因特网、局域网(LAN)或可以进行通信的任何其他网络,因为实施例在这方面不受限制。尽管验证器120和装置110在图1中分开示出,在一些实施例中,装置110和验证器120可以被配置为包括单个装置或***的组件。在一个实施方案中,装置110和验证器120可以配置为同一电路板上的独立芯片。在另一个实施例中,装置110和验证器120可以被配置为由处理器执行的单独过程。例如,装置110可以包括与PUF 112交互的过程,并且验证装置120可以包括可信引导过程的阶段。
根据一些实施方案,PUF 112可以包括根据PUF 112的独特物理特性产生输出的电路。例如,制造工艺和部件的变化可以产生包括具有独特硬件特性的电路的芯片。PUF 112可以包括芯片上的一个或多个电路,其基于特定于一个或多个电路的独特硬件特性生成输出。其他PUF的示例包括光学PUF、磁性PUF和声学PUF。在一些实施方案中,PUF 112还可以被配置为基于输入生成输出。例如,响应于接收输入,PUF 112可以被配置为基于PUF 112的唯一硬件属性和输入生成输出。
根据一些实施方案,输入可以包括挑战。在一些实施方案中,PUF 112可以配置为生成输出而不接收输入。在一个示例中,基于SRAM的PUF可以基于存储器位的状态提供PUF输出。通过请求存储器地址或地址处的存储器位的状态,可以获得唯一值并将其用于编码秘密值,密钥,共享等。在一些实施方案中,PUF 112的输出可能是有噪声的并且在恒定输入的多次评估中略微变化。在一些实施方案中,装置110可以使用模糊提取器来使用PUF 112的输出来生成值,该输出对于固定输入是恒定的。在一个示例中,可以使用纠错码(ECC)和辅助值来实现模糊提取,以使用PUF恢复固定输入的恒定值。下面的算法1示出了用于生成辅助值或字符串的示例算法。
在上面的算法1中,装置112生成PUF 112的响应O到挑战c。然后,装置112生成随机k-位值V,其将在随后的时间响应于接收到挑战c而被重建。然后,装置112可以生成辅助字符串P作为Oxor ECC(V)的输出。ECC可以例如包括能够校正t个错误的长度为n的二进制(n,k,2t+1)纠错码。下面的算法2示出了如何使用辅助字符串P来使用PUF恢复值V的示例。
在上面的算法2中,辅助字符串(例如,通过执行算法1生成)用于在PUF 112接收到挑战c时恢复V。PUF 112首先生成对挑战c的响应O’。响应O’可能与算法1中生成的响应O略有不同。然后,装置112可以使用与算法1中使用的校正码ECC相对应的解码方案D来恢复V。在一些实施方案中,当O’在距离t为O的范围内时,可以使用辅助字符串P和解码方案D来恢复值V。在一些实施方案中,距离t可以包括两个相等长度的串之间的许多差异。
PUF的各种示例以及采用PUF的***和技术在名称为“认证***和装置,包括物理不可阻挡功能和门限密码学”的美国公开号2017/0063559中有更详细的描述,该专利在此引入作为参考。
在一些实施方案中,装置110和验证器120可以配置为进行交互以执行身份验证和注册过程。例如,装置110可以使用验证设备120登记并随后使用登记信息执行认证,以便获得对资源(例如,应用程序、文件、服务)的访问。根据一些实施方案,登记包括生成PUF输出与秘密或密钥或秘密或密钥的共享之间的映射。在一些实施方案中,装置110还可以被配置为执行远程和安全的重新注册,例如,更新秘密或共享映射。
在一些实施方案中,装置110可以使用PUF 112执行初始或原始登记以生成可以用于后续认证的多组(例如,两组)初始注册值。根据一些实施方案,装置110可以用验证设备120执行初始登记方法。初始登记方法可以在安全位置执行,其中对手的篡改或其他入侵的风险实质上很低或不存在。例如,初始登记方法可以在部署装置110之前在制造设施中执行。通过在安全位置执行初始登记方法,装置110可以安全地将诸如生成的密钥和/或秘密信息的敏感信息传送到验证设备120。
在一些实施方案中,在初始登记期间,装置110可以从验证装置120接收多个挑战。对于每个挑战,装置110可以使用PUF 112来生成响应。例如,装置110可以向PUF 112发出挑战并接收相应的响应。另外,装置110可以将每个响应映射到密钥、秘密或共享。
在一些实施方案中,装置110可以在初始注册期间生成多组登记值中的每一组作为质询,生成的辅助值以及生成的密钥、秘密或共享。在一个示例中,装置110可以生成每组登记值作为包括挑战、辅助者和密钥,秘密或共享的元组。装置110可以将多组登记值发送到验证器120,验证器120可以存储登记值组并将它们用于装置110的后续验证。
根据一些实施方案,在初始登记装置110之后(例如,在制造设施中),可以部署装置110以供使用。当装置110处于操作中时,可以使用由装置110生成的多组登记值来对其进行认证。例如,验证器120可以使用在初始登记期间生成的登记值组来验证装置110的身份和安全性。在一些实施方案中,装置110可以请求访问资源或服务。验证器120可以被配置为通过使用一个或多个存储的登记值对装置110进行验证来验证装置110的身份和/或确认装置110未被篡改。
根据一些实施方案,在装置110已经展开一段时间之后,PUF 112可以老化。例如,PUF 112的硬件特性可以随时间改变。因此,在PUF 112的原始响应输出上进行的映射可能无效。结果,验证器120可能无法继续使用初始的登记值组来验证装置110。
根据一些实施方案,装配110可以被配置为在装配设备110被部署和/或运行时执行远程重新登记,以便保持可验证。在一些实施方案中,装置110可以配置为定期执行远程重新注册,以防止老化使登记值组无效以进行身份验证。在一些实施方案中,装置110可以命令(例如,通过验证器120)执行远程重新注册。
在一些实施方案中,装置110可以配置为在重新注册期间使用两组初始注册值。在远程重新注册期间,验证设备120可以首先使用第一组初始注册值来认证装置110。在一些实施方案中,验证器120可以使用第一组原始登记值发出第一测试。装置110下然后可以生成对第一测试的响应。如果验证器120确定对第一测试的响应有效,则验证器120可以向装置110发出一个或多个新挑战。装置110可以使用一个或多个新挑战来生成新的登记值组。例如,装置110可以生成一个或多个新组,包括质询、辅助值、密钥、秘密或共享。
在一些实施方案中,装置110可以使用从所述第一组初始注册值恢复的密钥或秘密来加密全部或部分新登记值组。例如,装置110可以使用从所述第一组初始注册值恢复的密钥或秘密来加密一个或多个新生成的密钥,秘密或共享。然后,装置110可以将新的登记值组发送到验证设备120。例如,装置110可以发送多个组,每个组包括挑战,生成的辅助值和加密的密钥,秘密或共享。通过加密全部或部分新登记值组,装置110能够将新生成的密钥,秘密或共享传送到验证装置120,而不暴露密钥,秘密或共享的实际值。因此,即使攻击者能够拦截通信,攻击者也无法恢复新生成的密钥或秘密。
在一些实施方案中,验证器120可以验证收到的新登记值组。例如,验证器120可以在远程重新注册过程之前或期间验证装置110未被篡改。通过这样做,验证器120可以确保新的登记值不被恶意实体生成或破坏。在一些实施方案中,验证器120可以利用第二组初始注册值来验证收到的新登记值组。在一些实施方案中,验证器120可以向装置110发出第二测试并验证装置。验证器120可以使用所述第二组初始注册值生成第二测试。装置110生成对第二个测试的响应。例如,装置110利用从验证器120接收的所述第二组初始注册值的第二挑战和辅助值来恢复密钥,秘密或共享。然后,装置110可以使用恢复的密钥,秘密或共享来生成响应。
根据一些实施方案,验证器120可以基于来自装置110的响应确定是否成功执行了远程重新注册。例如,验证器120可以确保装置110在重新登记的方法期间没有被篡改。在一些实施方案中,在验证第二响应有效时,验证器120可以接受新的登记值组。在一些实施方案中,验证器120可以配置为利用新的登记值组进行后续身份验证和重新注册过程。
图2示出了根据一些实施例的注册服务器(例如,验证器120)的装置(例如,装置110)的示例方法。如上所述,装置和服务器可以是不同的***,或者可以是单个装置的组件。方法200可以在装置(例如,装置110)的初始登记期间执行,例如,在安全位置。例如,可以在部署装置之前在可信环境(例如,制造设施)中执行初始登记。
根据一个实施方案,方法200从动作202开始,其中服务器向装置发送多个挑战(例如装置110)。在一些实施方案中,服务器可以配置为向装置发送两个挑战C1和C2。在一些实施方案中,每个挑战可以包括随机值。例如,挑战可以包括随机的位串。然后,方法200进行到动作204,其中装置使用PUF(例如,PUF 112)来使用挑战来生成值。在一些实施方案中,装置可以将每个挑战作为PUF的输入进行通信。PUF可以被配置为生成与每个挑战相对应的响应。例如,PUF可以生成对应于挑战C1和C2的响应R1和R2。
然后,方法200前进到动作206,其中装置生成密钥、秘密或共享。在一些实施方案中,装置可以被配置为生成密钥,秘密或共享作为在认证期间使用PUF恢复的值,并且对于恒定输入(例如,对于给定的挑战)保持恒定。例如,装置可以生成随机值V1和V2,并分别将值映射到PUF生成的R1和R2。在一个示例中,可以如以上算法1中所述生成V1和V2中的每一个。在一些实施方案中,随机值可以包括随机的位串,随机数或其他类型的随机值。例如,随机值可以包括随机的位组。
然后,方法200进行到动作208,其中装置产生辅助值。在一些实施方案中,装置为生成的密钥,秘密或共享V1和V2生成辅助值。例如,装置可以为V1和V2生成辅助值H1和H2。在一些实施方案中,可以通过执行上述算法1来生成辅助值。例如,每个辅助值可以通过以下方式生成:(1)对生成的值V1和V2执行ECC,以及(2)在值V1和V2上的每个ECC操作的结果与各个PUF响应之间执行“排除或”操作R1和R2产生辅助值H1和H2。在装置接收两个挑战(C1,C2)的示例中,生成两个PUF响应(R1,R2),并生成两个密钥、秘密或共享(V1,V2),装置可以生成两个辅助值(H1,H2),其中各辅助值Hi=ECC(Vi)xor Ri。
然后,方法200前进到动作210,其中装置生成多组登记值并将它们发送到服务器。在一些实施方案中,装置形成一组登记值作为挑战,辅助值,并生成密钥、秘密或共享。例如,对于由装置接收的两个接收到的挑战(C1,C2),装置生成登记值组{C1,H1,V1}和{C2,H2,V2}。在动作212,服务器可以存储登记值组。
在一些实施方案中,服务器不存储密钥,密钥或共享的实际值(例如,V1或V2)。相反,服务器可以被配置为存储密钥,秘密或共享的功能的结果值(例如,f(V1)和f(V2))而不是值(V1和V2)本身。在一些实施方案中,服务器可以被配置为存储密钥,秘密或共享f(V)的单向函数,使得在给定f(V)的情况下恢复V在计算上是不可行的。例如,f(.)可以包括加密散列函数,或者表示椭圆曲线的公共基点G的标量乘以V。因此,服务器在接收到元组{C,H,V}时存储变换的元组{C,H,f(V)}。
在一些实施方案中,为了执行认证,服务器可以将{C,H}发送到装置。.装置可以恢复密钥,秘密或共享V'并将其发送到服务器。服务器可以通过检查f(V’)=f(V)来进行身份验证。仅存储f(V)可以防止对证明器数据库的机密性进行隐蔽的对抗性损害。例如,在对手访问服务器内存的情况下。如果服务器直接存储V的值,则攻击者将能够读取存储在数据库中的密钥,密钥或共享(V)。因此,攻击者可以通过在身份验证期间使用V伪装成装置。然而,通过存储密钥,秘密或共享f(V)的计算上不可逆函数的值,服务器可以防止对手访问实际密钥、秘密或共享V。因此对手将无法与服务器进行身份验证。
在一些实施方案中,服务器可以从装置接收密钥或秘密V的共享Vi。例如,可以分割值V,使得V只能通过使用共享Vi的多项式插值来恢复。在一些实施方案中,可以使用采用两个共享V1和V2的共享方案。共享方案可能需要两个共享来恢复密钥或密钥V。在一些实施方案中,服务器可以被配置为存储与每个共享相关联的挑战和辅助值以及密钥或秘密的功能的值。例如,服务器可以存储{{C1,H1},{C2,H2},f(V)},其中{C1,H1}和{C2,H2}是分别对应于共享V1和V2的挑战辅助对。在一些实施方案中,在验证期间,服务器向装置发出挑战助手对。例如,服务器可以向装置发出{C1,H1}和{C2,H2},并接收装置恢复的共享V1’和V2’。然后,服务器可以使用值V1’和V2’的多项式内插来生成V’,这可以使服务器能够计算f(V’)并与登记期间存储的值f(V)进行比较。
在一些实施方案中,验证器120可以配置为使用一组或多组存储的登记值来验证装置110。例如,为了验证装置110,验证器120可以使用在装配登记或重新登记期间生成的一组或多组登记值(例如,在方法200和/或400期间生成的登记值组)。
图3示出了根据一些实施例的装置(例如具有PUF 112的装置110)验证与服务器(例如验证器120)的示例方法。在装置110最初登记之后(例如通过方法200),方法300可以例如被执行以认证装置110。
方法300开始于动作302,其中服务器将第一挑战组发送到装置。在一些实施方案中,服务器可以使用第一组登记值生成第一挑战组(例如,来自方法200)。在一些实施方案中,挑战组可以包括挑战值、辅助值和测试值。测试值可以包括在认证期间必须由装置处理以生成响应的值。例如,PUF装置可以被配置为使用测试值来执行加密操作以生成响应。基于装置的响应,服务器可以验证装置的身份。在一些实施方案中,服务器可以被配置为通过用密钥或秘密加密随机值(例如,随机数)来生成测试值。密钥或秘密可以包括在装配登记期间生成的值(例如,在方法200期间生成)。例如,在方法300中,服务器生成包括挑战C1,辅助值H1和加密值E_V1(N1)的第一挑战组到装置,其中E_V1(N1)是具有密钥或秘密V1的随机的随机数N1的加密。组{C1,H1,V1}可以包括在登记期间由服务器存储的原始登记值组(例如,在方法200期间)。
然后,方法300前进到动作304,其中装置使用PUF来产生输出。在一些实施方案中,装置可以被配置为将所接收的挑战C1传送到PUF。然后PUF生成输出。例如,PUF产生响应R1。在一些实施方案中,除了PUF的唯一硬件属性之外,PUF还可以基于输入值(例如,挑战C1)生成输出。在其他实施例中,PUF可以生成基于PUF的唯一硬件属性而不是输入值的响应。
然后,方法300前进到动作306,其中装置使用由PUF生成的输出来恢复值。在一些实施方案中,装置可以使用所接收的辅助值和解码代码来恢复密钥或秘密(例如,如上面的算法2所描述的)。在方法300中,装置通过解码PUF的输出R1与接收的辅助值H1之间的“排除或”操作的结果来恢复密钥或秘密V1。
然后,方法300前进到动作308,其中装置产生用于验证装置的响应。在一些实施方案中,装置可以使用恢复的密钥或秘密来执行加密操作。加密操作的结果可用于验证装置的身份。例如,装置可以使用恢复的密钥或秘密V1来解密所接收的加密E_V1(N1)以恢复值N1’。然后,在动作310,装置将加密操作的结果发送到服务器。在一些实施方案中,装置可以被配置为使用加密操作的结果来生成认证令牌,并将认证令牌发送到服务器。例如,在方法300中,装置将恢复的随机数N1’发送到服务器。
然后,方法300前进到动作312,其中服务器验证从装置接收的响应。在一些实施方案中,服务器验证从装置接收的认证令牌。例如,服务器可以被配置为确定恢复的随机数N1’是否与服务器生成的随机数N1匹配。在一些实施方案中,服务器可以被配置为响应于确定对第一挑战组的成功响应而继续认证方法300。例如,如果恢复的随机数N1’与随机数N1匹配,则认证继续。然而,如果服务器确定来自装置的响应无效(例如,N1’不等于N1),则服务器可以被配置为防止装置访问所请求的资源。例如,服务器可以拒绝访问文件或服务的请求。在另一示例中,服务器可以被配置为生成装置已被篡改的警报。在一些实施方案中,服务器可以尝试重新启动认证。
在一些实施方案中,方法300可以响应于第一挑战组的成功认证而结束。响应于确定对第一挑战组的有效响应,服务器可以例如授予装置对所请求资源的访问权。
根据一些实施方案,方法300可以响应于确定装置生成针对第一挑战组的有效响应而继续认证。一些实施方案中,服务器可以继续使用第二组登记值来验证装置(例如,在方法200期间生成)。方法300前进到动作314,其中服务器使用第二组登记值生成第二挑战组。在一些实施方案中,第二挑战组可以包括挑战值,辅助值和测试值。在一些实施方案中,服务器可以配置为通过使用密钥或密钥加密随机现时生成测试值。密钥或秘密可以包括在装置登记期间生成的密钥或秘密。例如,在方法300中,服务器将包括挑战C2,辅助值H2和加密值E_V2(N2)的组发送到装置,其中E_V2(N2)是具有密钥或秘密V2的随机的随机数N2的加密。
然后,方法300将认证方法进行到动作316,其中装置使用PUF来生成输出。在一些实施方案中,装置可以被配置为将所接收的挑战C2传送到PUF。PUF然后生成输出。例如,PUF产生响应R2。在一些实施方案中,除了PUF的唯一硬件属性之外,PUF还可以基于输入值(例如,基于挑战C2)生成输出。
然后,方法300前进到动作318,其中装置使用由PUF生成的输出来恢复值。在一些实施方案中,装置可以使用接收的辅助值H2和解码代码来恢复该值(例如,如上面的算法2所描述的)。在方法300中,装置通过解码PUF的输出(R2)与接收的辅助值(H2)之间的“排除或”操作的结果来恢复密钥或秘密V2。
然后,方法300进行到动作320,其中装置产生用于验证装置的响应。在一些实施方案中,装置可以使用恢复的密钥或秘密来执行加密操作。加密操作的结果可用于验证装置的身份。例如,装置可以使用恢复的密钥或秘密(V2)来解密所接收的加密E_V2(N2)以恢复值N2'。然后,在动作322,装置将加密操作的结果发送到服务器。在一个实施方案中,装置可以被配置为使用加密操作的结果生成认证令牌,并将包括恢复值(N2')的认证令牌发送到服务器。例如,在方法300中,装置将恢复的随机数(N2')发送到服务器。
然后,方法300前进到动作322,其中服务器验证从装置接收的响应。在一些实施方案中,服务器验证从装置接收的认证令牌。例如,服务器可以被配置为确定恢复的随机数N2'是否与服务器生成的随机数N2匹配。如果服务器确定来自装置的响应无效(例如,N2'不等于N2),则服务器可以被配置为防止装置访问所请求的资源。例如,服务器可以拒绝访问文件或服务的请求。在另一示例中,服务器可以被配置为生成装置已被篡改的警报。在一些实施方案中,服务器可以被配置为尝试重新启动认证。
下面的图4示出了根据一些实施例的重新登记的方法400。示例方法400可以由包括PUF(例如,具有PUF 112的装置110)和服务器(例如,验证器120)的装置执行。在一些实施方案中,装置可以被配置为响应于命令(例如,来自验证器120或其他实体)执行重新注册命令。附加地或替代地,装置可以被配置为以设定频率(例如,每个月)执行重新注册命令。
方法400开始于动作402,其中服务器将第一挑战组发送到装置。在一些实施方案中,服务器可以被配置为使用第一组登记值来生成第一挑战组。例如,第一挑战组可以包括在装置的原始登记期间存储的挑战值C1和辅助值H1。服务器还可以生成随机数值N1,并使用在原始登记期间生成的密钥或秘密V1对其进行加密,以生成加密E_V1(N1)。服务器可以将第一挑战组{C1,H1,E_V1(N1)}发送到装置。
然后,方法400前进到动作404,其中装置使用PUF(例如,PUF 112)来使用第一挑战组生成响应值。例如,装置可以将挑战C1通信给PUF。PUF可以产生响应R1。在一些实施方案中,除了PUF的唯一硬件属性之外,PUF还可以基于挑战C1生成响应。
然后,方法400前进到动作406,其中装置使用由PUF生成的输出来恢复密钥或秘密。在一些实施方案中,装置可以采用接收的辅助值和解码代码来恢复该值(例如,如上面的算法2所描述的)。在方法300中,装置通过解码PUF的输出R1与接收的辅助值H1之间的“排除或”操作的结果来恢复密钥或秘密V1。
然后,方法400前进到动作408,其中装置生成将由服务器用于验证装置的值。在一些实施方案中,装置可以使用恢复值V1来执行加密操作。例如,装置可以使用恢复的密钥或秘密V1来解密所接收的加密E_V1(N1)以恢复值N1'。然后,在动作410,装置将加密操作的结果发送到服务器。在一些实施方案中,装置可以被配置为生成包括加密操作的结果的认证令牌并将认证令牌发送到服务器。
然后,方法400前进到动作412,其中服务器验证从装置接收的响应。在一些实施方案中,服务器验证从装置接收的认证令牌。例如,服务器可以被配置为确定恢复的随机数N1'是否与服务器生成的随机数N1匹配。在一些实施方案中,服务器可以被配置为响应于确定对第一挑战组的成功响应而继续重新登记方法400。例如,如果恢复的nonce N1'与nonceN1匹配,则重新注册继续。如果服务器确定来自装置的响应无效,则服务器可以被配置为结束重新注册方法400。
如果在步骤412成功认证了装置(例如,如果N1'=N1),则方法400前进到动作414,其中服务器生成对应于新的登记值组的新挑战值。在一些实施方案中,服务器产生新的挑战并将它们发送到装置。例如,服务器可以配置为生成新的挑战C3和C4并将它们发送到装置。在一些实施方案中,装置可以被配置为生成新的挑战C3和C4。
然后,方法400前进到动作416,其中装置为接收到的挑战C3和C4中的每一个生成响应。在一些实施方案中,装置采用PUF为每个挑战产生输出。在一些实施方案中,装置将每个挑战传递给PUF作为输入并接收相应的输出。例如,PUF可以被配置为分别生成对应于挑战C3和C4的输出R3和R4。
然后,方法400前进到动作418,其中装置生成一个或多个新密钥或秘密。在一些实施方案中,装置可以被配置为生成密钥或秘密作为要使用PUF恢复并且对于恒定输入保持恒定的值(例如,对于给定的挑战)。例如,装置可以生成分别映射到PUF生成的响应R3和R4的密钥或秘密V3和V4。V3和V4中的每一个可以例如如以上算法1中所述生成。在一些实施方案中,装置可以生成V3和V4中的每一个作为随机值,诸如随机位串,随机数或其他类型的随机值作为密钥或秘密。在一些实施方案中,服务器可以被配置为生成密钥或秘密或共享作为要使用装置的PUF恢复的值。例如,服务器可以生成密钥或秘密或共享V3和V4以分别映射到响应R3和R4,并且可以被配置为将V3和V4安全地传送到装置(例如,使用共享的对称加密密钥,或者安全的与装置建立的渠道)。
然后,方法400前进到动作420,其中装置产生辅助值。在一些实施方案中,装置为每个密钥或秘密V3和V4生成辅助值。例如,装置可以为密钥或秘密V3和V4生成辅助值H3和H4。例如,每个辅助值可以通过执行上述算法1来生成。例如,每个辅助值可以通过以下方式生成:(1)对生成的密钥或秘密执行ECC,以及(2)在密钥或秘密上的ECC结果与PUF响应之间执行“排除或”操作以生成对应于PUF响应的辅助值。在装置接收两个挑战(C3,C4)的示例中,生成两个PUF响应(R3,R4),并生成两个密钥或秘密(V3,V4),装置可以生成两个辅助值(H3,H4),其中每个辅助值Hi=ECC(Vi)xor Ri。
然后,方法400前进到动作422,其中装置生成多组登记值并将它们发送到服务器。在一些实施方案中,装置形成一组登记值作为挑战,辅助值和相关的密钥或秘密。在一些实施方案中,装置可以被配置为使用密钥或秘密来加密新生成的密钥或秘密(例如,V3和V4)。在一些实施方案中,密钥或秘密可以包括装置和服务器都可以访问的对称密钥。在一些实施方案中,密钥或秘密可以与原始承诺的第一组原始登记值相关联。例如,装置可以被配置为使用在动作406中恢复的密钥或秘密V1来加密新生成的密钥或秘密V3和V4。然后,装置可以将安全的新登记值组发送到服务器。例如,对于接收到的挑战C3和C4,装置可以生成并发送新的登记值{C3,H3,E_V1(V3)}和{C4,H4,E_V1(V4)},其中E_V1(V3)和E_V1(V4)是使用原始密钥或秘密V1生成的密钥或秘密V3和V4的加密。
然后,方法400前进到动作424,其中服务器接收新的登记值组。在一些实施方案中,服务器可以被配置为使用原始密钥或秘密(例如,V1)来解密新密钥或秘密。例如,服务器可以使用原始密钥或秘密V1解密E_V1(V3)和E_V1(V4)。在一些实施方案中,服务器存储新的登记值{C3,H3,V3}和{C4,H4,V4}。
然后,方法400前进到动作426以验证新接收的登记值组。在一些实施方案中,服务器使用第二组原始登记值生成第二挑战组。例如,服务器可以使用原始登记组{C2,H2,V2}生成第二挑战组{C2,H2,E_V2(N2},其中E_V2(N2)是使用密钥或秘密V2加密的随机生成的随机数N2的加密。服务器将第二个挑战组发送到装置。
然后,方法400前进到动作428,其中装置使用PUF来使用第二挑战组生成响应。例如,装置可以将挑战C2传递给PUF。PUF可以生成响应R2。在一些实施方案中,除了PUF的唯一硬件属性之外,PUF还可以基于挑战C2生成响应。
然后,方法400前进到动作430,其中装置使用由PUF生成的输出来恢复密钥或秘密。在一些实施方案中,装置可以使用接收的辅助值H2和解码代码来恢复该值(例如,如上面的算法2所描述的)。在方法300中,装置通过解码PUF的输出(R2)与接收的辅助值(H2)之间的“排除或”操作的结果来恢复密钥或秘密V2。
然后,方法400前进到动作432,其中装置生成将由服务器用于验证装置的值。在一些实施方案中,装置可以使用恢复值V2来执行加密操作。例如,装置可以使用恢复的密钥或秘密V2来解密第二挑战组中的接收加密E_V2(N2)以恢复值N2'。然后,在动作434,装置将加密操作的结果发送到服务器。例如,在方法400中,装置将恢复的随机数N2'发送到服务器。在一些实施方案中,装置可以被配置为生成认证令牌并且将恢复的随机数N2'包括在认证令牌中。
然后,方法400前进到动作436,其中服务器验证从装置接收的响应。在一些实施方案中,服务器验证从装置接收的认证令牌。例如,服务器可以被配置为确定恢复的随机数N2'是否与服务器生成的随机数N2匹配。如果服务器确定来自装置的响应有效(例如,如果N2’=N2),则服务器可以接受新的登记值组(例如{C3,H3,V3}和{C4,H4,V4})。因此,装置和服务器可以在随后的认证中利用新的登记值组(例如,在方法300中)。然而,如果服务器确定来自装置的响应无效(例如,N2'与N2不匹配),则服务器可以确定装置和/或PUF已经被篡改。在这种情况下,服务器可以配置为拒绝新接收的登记值组。另外,服务器可以进一步存储信息或生成指示装置可能已被篡改的警报。
在一些实施方案中,登记值组可以与实际密钥或秘密的共享相关联。装置可以通过成功恢复密钥或密钥的阈值数量的共享来完成认证。在这些实施例中,验证器120和/或装置可以被配置为存储多组登记值作为与每个共享相关联的挑战助手对以及可以通过组合共享而生成的密钥或秘密。例如,验证器可以存储与第一共享V1相关联的第一组登记值{C1,H1}和与第二共享V2相关联的第二组登记值{C2,H2}以及可以使用共享V1和V2恢复的密钥或秘密V。
在一些实施方案中,Shamir的秘密共享方案可以用于分割密钥或秘密,使得可以使用密钥或秘密的单独共享通过多项式内插来恢复密钥或秘密。例如,在双共享***中,为了恢复密钥或秘密,需要两个值。对于密钥或秘密V,验证设备120可以被配置为将一组登记值存储为{{C1,H1},{C2,H2},V}。在该示例中,在认证期间使用{C1,H1}和{C2,H2}恢复的共享可以用于通过共享的多项式插值来检索密钥或秘密V。验证器120然后可以确定恢复的值是否与存储的密钥或秘密匹配。在一些实施方案中,验证器可以被配置为仅存储使用密钥或秘密执行的功能的结果(例如,f(V))。在该实施例中,验证器可以被配置为使用从装置接收的恢复的共享来恢复密钥或秘密,并计算恢复的密钥或秘密的单向函数。如果单向函数的结果与存储的单向函数结果匹配,则可以验证装置。
根据一些实施例,其中验证器120被配置为存储对应于密钥或秘密或秘密的共享的登记值组,这些登记值组可用于执行安全的远程重新登记。
图5示出了方法500,根据该方法,具有PUF(例如,PUF 112)的装置(例如,装置110)可以使用与共享相关联的登记值组与服务器(例如,验证器120)执行重新注册命令。在一些实施方案中,密钥或秘密装置可以被配置为响应于来自服务器的命令执行重新注册命令。附加地或替代地,装置110可以被配置为以常规频率(例如,每个月)执行重新登记。
方法500开始于动作502,其中服务器生成并发送与第一组登记值相关联的第一挑战组到装置。在一些实施方案中,第一组登记值可以对应于原始密钥或秘密的第一共享。例如,在方法500中,服务器向装置发送挑战、辅助对{C1,H1}。可以在注册过程中生成并存储挑战和辅助者。
然后,方法500前进到动作504,其中装置使用PUF来使用第一挑战组来计算响应值。例如,装置可以将挑战C1传递给PUF。PUF可以生成响应R1。在一些实施方案中,除了PUF的唯一硬件属性之外,PUF还可以被配置为基于挑战C1生成响应。
然后,方法500前进到动作506,其中装置使用由PUF生成的输出来恢复密钥或秘密的第一共享。在一些实施方案中,装置可以使用所接收的辅助值H1和解码代码来恢复第一共享(例如,如上面的算法2所描述的)。在方法500中,装置通过解码PUF的输出R1与接收的辅助值H1之间的“排除或”操作的结果来恢复第一共享V1。
然后,方法500前进到动作508,其中装置将恢复的密钥或秘密的第一共享V1发送到服务器。在一些实施方案中,服务器可以存储第一共享V1。然后,方法500前进到动作510,其中服务器生成对应于新的登记值组的新挑战并将它们发送到装置。例如,服务器生成并发送两个新的挑战C3和C4。在一些实施方案中,装置可以被配置为生成两个新的挑战C3和C4。
然后,方法500前进到动作512,其中装置为挑战C3和C4中的每一个生成响应。在一些实施方案中,装置使用PUF为每个挑战生成输出。在一些实施方案中,装置将每个挑战传递给PUF作为输入并接收相应的输出。例如,PUF可以被配置为分别生成对应于挑战C3和C4的输出R3和R4。
然后,方法500前进到动作514,其中装置生成新密钥或秘密的新共享。在一些实施方案中,装置可以被配置为生成每个共享作为要使用PUF恢复的值并且对于恒定输入保持恒定(例如,对于给定的挑战)。例如,装置可以产生对应于由PUF产生的响应R3和R4的承诺共享V3和V4。承诺共享V3和V4中的每一个可以例如如以上算法1中所述生成。在一些实施方案中,承诺共享可以包括随机值,诸如随机位串、随机数或其他类型的随机值。
然后,方法500前进到动作516,其中装置生成与新密钥或秘密的每个生成的共享相关联的辅助值。在一些实施方案中,装置为每个共享生成辅助值。例如,装置可以为共享V3和V4生成辅助值H3和H4。例如,每个辅助值可以通过执行上述算法1来生成。例如,每个辅助值可以通过以下方式生成:(1)在生成的共享上执行ECC,以及(2)在共享上的ECC的结果和PUF响应之间执行“排除或”操作,以生成对应于该共享的辅助值PUF响应。在装置接收两个挑战(C3,C4)的示例中,生成两个PUF响应(R3,R4),并生成两个共享(V3,V4),装置生成两个辅助值(H3,H4),其中各辅助值Hi=ECC(Vi)xor Ri。
然后,方法500前进到动作518,其中装置生成一组或多组新的登记值并将它们发送到服务器。在一些实施方案中,装置可以被配置为将所生成的共享组合成密钥或秘密。例如,装置可以被配置为使用生成的共享V3和V4生成新密钥或秘密V。装置可以将生成的登记值{{C3,H3},{C4,H4},V}发送到服务器。在一些实施方案中,装置将生成的共享发送到服务器,服务器可以配置为使用新接收的共享生成密钥或秘密V。例如,装置可以将{C3,H3,V3}和{C4,H4,V4}发送到服务器。服务器可以使用共享V3和V4计算新密钥或秘密V,并存储密钥或秘密V或密钥或秘密f(V)的函数值。
然后,方法500开始于动作520,其中服务器使用第二组登记值生成并发送第二挑战组到装置。在一些实施方案中,第二组登记值可以对应于原始密钥或秘密的第二共享。例如,在方法500中,服务器向装置发送挑战,辅助对{C2,H2}。可以在注册过程中生成并存储挑战和辅助者。
然后,方法500前进到动作522,其中装置使用PUF来使用第二挑战组来计算响应值。例如,装置可以将挑战(C2)传达给PUF。PUF可以生成响应(R2)。在一些实施方案中,除了PUF的唯一硬件属性之外,PUF还可以被配置为基于挑战(C2)生成响应。
然后,方法500前进到动作524,其中装置使用由PUF生成的输出来恢复密钥或秘密的第二共享。在一些实施方案中,装置可以使用所接收的辅助值H2和解码代码来恢复第二共享(例如,如上面的算法2所描述的)。在方法500中,装置通过解码PUF的输出R2与接收的辅助值H2之间的“排除或”操作的结果来恢复第二共享V2。
然后,方法500前进到动作526,其中装置发送恢复的密钥或秘密的第二共享以供服务器用于验证装置的验证和/或验证新的登记值组。在动作528,服务器使用所接收的第一和第二共享V1和V2来验证装置。在一些实施方案中,服务器可以被配置为恢复密钥或秘密。例如,服务器可以使用恢复的共享V1和V2执行多项式插值以生成恢复的密钥或秘密V'。在一些实施方案中,服务器可以被配置为将恢复的密钥或秘密V'与存储的密钥或秘密V进行比较。另外或可选地,服务器可以被配置为使用个体共享V1和V2来计算功能并将其进行比较。到原始密钥或秘密上执行的函数的存储结果。
在一个实施方案中,函数f(.)可以表示椭圆曲线上公共基点G的标量乘法。在原始密钥或秘密f(V)=VG上执行的功能可以表示装置的提交密钥或秘密。当服务器接收到恢复的共享V1时,服务器可以计算f(V1)。当服务器收到共享V2时,它可以计算机f(V1)*V2并将结果与VG进行比较。申请人已经意识到,计算f(V1)并存储结果然后乘以共享V2防止两个共享同时在服务器的存储器中存储在存储器中。此外,这阻止了V本身的再生。在另一个实施例中,服务器可以计算f(V1*V2)并将结果与VG进行比较以验证装置。
在一些实施方案中,函数f(.)可以表示加密散列函数。要进行身份验证的服务器可以执行f(V1*V2)并确定在注册期间结果是否等于存储在服务器中的f(V)。在一些实施方案中,服务器可以首先从装置收组V1并存储它,因为在没有V2的情况下验证不能完成。从装置收组(例如,在动作518)一个或多个新的登记值组,但是服务器尚未接受。收组V2后,服务器可以确定f(V1*V2)=f(V)。
然后,方法500前进到动作530,其中服务器确定装置是否被成功认证。如果装置被成功认证530,则方法500前进到动作532,其中服务器存储新接收的登记值组。例如,服务器可以被配置为存储{C3,H3},{C4,H4}和新密钥或秘密(V)和/或新密钥或秘密f(V)的功能。在一些实施方案中,服务器可以被配置为响应于成功认证从接收到的共享V3和V4计算新密钥或秘密(V)。装置和服务器随后可以使用新的登记值组进行身份验证
如果使用原始组的登记值530没有成功地验证装置,则方法500前进到动作534,其中服务器拒绝新的登记值组。在一些实施方案中,服务器可以被配置为响应于检测到认证失败而检测到装置和/或PUF已经被篡改。作为响应,服务器可以阻止装置的访问。附加地或替代地,服务器可以被配置为生成警报或存储指示装置可能已经被破坏的信息。
门限密码学
本发明的一些实施例可以被配置为包含门限密码学***和在题为“认证***和装置包括物理不可阻挡功能和门限密码学”的美国公开号2017/0063559中描述的技术,该专利通过引用结合于此。
根据一些实施方案,门限密码学涉及在一组参与者之间分发加密操作,使得仅在法定数量的参与者的协作下才能进行操作。在一些实施方案中,受信任的经销商为一组参与者生成主私钥或秘密。然后在参与者之间分割私钥或秘密,其中每个参与者接收私钥或秘密的共享。法定数量的参与者必须组合其私有共享以使用主私钥或秘密执行操作。
根据一些实施方案,基于PUF的技术适用于秘密或私人密钥或秘密共享以允许门限密码学用于PUF装置(例如,装置110与PUF 112)。在采用椭圆曲线密码术的一个示例中,分布式密钥或秘密生成用于生成主私钥或秘密Ppriv=(r1+r2)mod q的多个共享(例如,两个:r1,r2)。在一些实施方案中,私钥或秘密本身从不生成或构造。
图6示出了根据一些实施例的用于生成密钥或秘密的共享的示例***方法流程600。图6中所示的方法可以由服务器(例如验证器120)和装置(例如装置110)执行。
示例方法流程600开始于动作602,其中服务器发出登记命令。在一个示例中,服务器和装置在有限域Fp和阶数q的基点G上定义的椭圆曲线E上达成一致,其中p是λ位长。
然后,下方法流程600前进到动作604,其中装置在本地执行分布式密钥或秘密生成方法。例如,装置创建主私钥或秘密(永远不会生成或构建)的共享(r0,r1)及其公钥或秘密A=(r0+r1)*G。在一些实施方案中,不是直接将共享加入(这将构成私钥或秘密),而是通过计算(r0*G)+(r1*G)形成公钥或秘密。
下面的算法3示出了装置执行分布式密钥或秘密生成的示例技术。在算法3中,装置可以例如选择(t,n)为(2,2),以便生成主私钥或秘密的两个共享。
算法3
Goal:Generate shares of master private key
for 1≤i≤n do
Select random polynomial
Compute fi(j),
Store coefficient commitments
Store share commitments{fi(j)·G mod p}j∈[0,...,n]
for 1≤i≤n do
Verify
Verify
end for
Recover share
Recover public key
end for
然后,方法流程600前进到动作606,其中装置产生随机挑战c=c0||c1和每个挑战是λ位长。装置将每个共享ri链接到挑战ci上的PUF的输出Oi,并进一步生成辅助值hi。装置可以例如通过执行下面的算法4来实现这一点。在认证期间,挑战c0和c1以及辅助值h0和h1可用于恢复共享。在一些实施方案中,挑战和辅助数据是公开的,并且不会泄露任何有关共享或私钥或秘密或秘密的信息。
算法4
Goal:Store valne
for PUF Device d do
Select finite fieldof order n
Select E,an elliptic curve over
Finda group generator
Select challenge
x=H(ci,E,G,n)
O=PUF(x)
Write{ci,helperi}to non-volatile memory
end for
算法4示出了使用PUF存储敏感值Vi。在一些实施方案中,挑战ci和辅助数据辅助者i可以是公开的,因为两者都没有揭示关于敏感值Vi.的任何信息。
然后,方法流程600前进到动作608,其中装置生成其公共登记信息。例如,装置生成公钥或秘密A=(r0+r1)*G。装置将登记信息发送给服务器。
然后,方法流程600前进到动作610,其中服务器存储装置的公共登记信息。在一些实施方案中,服务器还可以存储装配所特有的装置标识符(例如,序列号)。
在初始共享生成和装配登记之后,装置和服务器可以执行认证。图7示出了可以由服务器(例如验证器120)和装置(例如装置110)执行的认证的示例***方法流程700。例如,认证可以由执行上面参考图6描述的方法600的服务器和装置执行。
方法流程700开始于动作702,其中,在一些实施方案中,服务器可以要求装置执行加密操作(例如,解密、数字签名生成、零知识证明认证)。可以将服务器配置为发出命令。在一些实施方案中,服务器还可以被配置为发出执行操作所需的任何辅助数据(例如,要解密的密文、要签名的消息)。
然后,方法700前进到动作704,其中装置读取挑战c=c0||c1和辅助数据h=h0||h1来自本地存储。然后,装置使用每个挑战ci查询PUF(例如,PUF 112),并将输出O’i与辅助者hi和纠错码组合以恢复每个共享ri。算法5示出了装置恢复每个共享的示例方法。
算法5
Goal:Retrieve value
for PUF Device d do
Read{ci,helperi}from non-volatile memory
x←H(ci,E,G,n)
O′=PUF(x)
end for
在算法5中,PUF装置读取登记期间存储的每个共享的质询和辅助值。PUF装置然后利用PUF生成输出。然后将PUF输出与存储的辅助值(例如,ECC(Vi)排除或O)一起使用以恢复值Vi
然后,方法700进行到动作706,其中装置对每个共享ri执行阈值操作。然后,在动作708,装置组合阈值操作的输出以形成完整的操作。装置然后将完整操作的结果发送到服务器。下面的算法6示出了装置通过对每个共享执行阈值操作然后组合阈值操作的输出以完成操作来执行操作的示例方法。
算法6
上面的算法6示出了评估需要作为输入共享主私钥或秘密的任意操作的步骤。这些步骤使得操作能够由PUF装置执行,而无需生成,重建或存储私钥或秘密。此外,从服务器的角度来看,PUF装置实现标准的对称或非对称加密协议。也就是说,服务器从不发出挑战或存储辅助数据,并且服务器与装置的交互与任何对称或非对称加密装置的交互无法区分。
方法700在动作710处结束,其中服务器执行验证操作以验证结果。例如,服务器可以验证零知识证明。
在一些实施方案中,在认证之后,装置可以进行到动作712和714,其中装置刷新每个共享ri。在共享刷新方法期间,装置可以生成新的共享并存储相关的挑战和辅助值。
特殊配置的计算机***
例如,各种方面,功能和过程可以分布在专门配置为向一个或多个客户端计算机提供服务的一个或多个计算机***之间,或者作为分布式***的一部分执行整体任务,例如图8中所示的***800的分布式计算机。另外,可以在客户端-服务器或多层***上执行方面,该***包括分布在执行各种功能的一个或多个服务器***之间的组件。因此,实施例不限于在任何特定***或***组上执行。此外,方面、功能和过程可以以软件、硬件或固件或其任何组合来实现。因此,可以使用各种硬件和软件配置在方法、动作、***、***元件和组件内实现方面、功能和过程,并且示例不限于任何特定的分布式架构、网络或通信协议。
现在参考图8,示出了分布式计算机***800的框图,其中实践了各种方面和功能。如图所示,分布式计算机***800包括交换信息的一个或多个计算机***。更具体地,分布式计算机***800包括计算机***802、804和806。如图所示,计算机***802、804和806通过通信网络808互连,并且可以通过通信网络808交换数据。网络808可以包括计算机***可以通过其交换数据的任何通信网络。为了使用网络808交换数据,计算机***802,804和806以及网络808可以使用各种方法,协议和标准,包括光纤通道,令牌环,以太网,无线以太网,蓝牙,IP,IPV6,TCP/IP,UDP,DTN,HTTP,FTP,SNMP,SMS,MMS,SS8,JSON,SOAP,CORBA,REST和Web服务。为了确保数据传输是安全的,计算机***802、804和806可以使用各种安全措施(包括例如SSL或VPN技术)经由网络808传输数据。虽然分布式计算机***800示出了三个联网的计算机***,但是分布式计算机***800不限于此,并且可以包括使用任何介质和通信协议联网的任何数量的计算机***和计算装置。
如图8所示,计算机***802包括处理器810、存储器812、互连构件814、接口816和数据存储元件818。为了实现本文公开的至少一些方面,功能和过程,处理器810执行导致操纵数据的一系列指令。处理器810可以是任何类型的处理器、多处理器或控制器。示例处理器可以包括商用处理器,例如Intel Xeon,Itanium,Core,Celeron或Pentium处理器;AMDOpteron处理器;Apple A4或A5处理器;Sun UltraSPARC处理器;IBM Power5+处理器;IBM大型机芯片;或量子计算机。处理器810通过互连构件814连接到其他***组件,包括一个或多个存储器装置812。
存储器812存储程序(例如,编码为可由处理器810执行的指令序列)和计算机***802的操作期间的数据。因此,存储器812可以是相对高性能的易失性随机存取存储器,例如动态随机存取存储器(“DRAM”)或静态存储器(“SRAM”)。然而,存储器812可以包括用于存储数据的任何装置,例如磁盘驱动器或其他非易失性存储装置。各种示例可以将存储器812组织成特定的,并且在一些情况下,独特的结构以执行本文公开的功能。可以调整和组织这些数据结构以存储特定数据和数据类型的值。
计算机***802的组件通过诸如互连构件814的互连构件耦合。互连构件814可以包括***组件之间的任何通信耦合,例如一个或多个物理总线,其符合诸如IDE、SCSI、PCI和InfiniBand的专用或标准计算总线技术。互连构件814使得能够在计算机***802的***组件之间交换包括指令和数据的通信。
计算机***802还包括一个或多个接口装置816,例如输入装置、输出装置和组合输入/输出装置。接口装置可以接收输入或提供输出。更具体地,输出装置可以呈现用于外部呈现的信息。输入装置可以接受来自外部来源的信息。接口装置的示例包括键盘,鼠标装置,轨迹球,麦克风,触摸屏,打印装置,显示屏,扬声器,网络接口卡等。接口装置允许计算机***802交换信息并与外部通信实体,例如用户和其他***。
数据存储元件818包括计算机可读和可写的非易失性或非暂时性数据存储介质,其中存储有定义由处理器810执行的程序或其他对象的指令。数据存储元件818还可以包括在介质上或介质中记录的信息,并且在程序的执行期间由处理器810处理。更具体地,该信息可以存储在一个或多个数据结构中,该数据结构具体配置为节省存储空间或增加数据交换性能。指令可以持久地存储为编码信号,并且指令可以使处理器810执行本文描述的任何功能。例如,介质可以是光盘、磁盘或闪存等。在操作中,处理器810或一些其他控制器使数据从非易失性记录介质读入另一个存储器,例如存储器812,下这允许处理器810比包括在数据存储元件818中的存储介质更快地访问信息。存储器可以位于数据存储元件818中或存储器812中,然而,处理器810操纵存储器内的数据,然后在完成处理之后将数据复制到与数据存储元件818相关联的存储介质。各种组件可以管理存储介质和其他存储器元件之间的数据移动,并且示例不限于特定的数据管理组件。此外,示例不限于特定存储器***或数据存储***。
尽管计算机***802通过示例的方式示出为可以在其上实践各种方面和功能的一种类型的计算机***,但是方面和功能不限于在计算机***802上实现,如图8所示。可以在具有与图8中所示的架构或组件不同的架构或组件的一个或多个计算机上实践各个方面和功能。例如,计算机***802可以包括专门编程的专用硬件,例如专用于执行本文公开的特定操作的专用组成电路(“ASIC”)。而另一个示例可以使用运行具有Motorola PowerPC处理器的MAC OS System X的几个通用计算装置的网格和运行专有硬件和操作***的若干专用计算装置来执行相同的功能。
计算机***802可以是包括操作***的计算机***,该操作***管理包括在计算机***802中的至少一部分硬件元件。在一些示例中,诸如处理器810的处理器或控制器执行操作***。可以执行的特定操作***的示例包括基于Windows的操作***,诸如可从Microsoft Corporation获得的基于Windows的操作***,MAC OS System X操作***或可从Apple Computer获得的iOS操作***。许多基于Linux的操作***发行版之一,例如RedHat Inc.提供的Enterprise Linux操作***,或者各种来源提供的UNIX操作***。可以使用许多其他操作***,并且示例不限于任何特定的操作***。
处理器810和操作***一起定义计算机平台,为此编写高级编程语言的应用程序。这些组件应用程序可以是可执行的,中间的,字节码的或解释的代码,其使用通信协议(例如,TCP/IP)通过通信网络(例如,因特网)进行通信。类似地,可以使用面向对象的编程语言来实现方面,例如Net,Java,C++,C#(C-Sharp),Python或JavaScript。也可以使用其他面向对象的编程语言。或者,可以使用功能,脚本或逻辑编程语言。
另外,各种方面和功能可以在非编程环境中实现。例如,当在浏览器程序的窗口中查看时,以HTML,XML或其他格式创建的文档可以呈现图形用户界面的各方面或执行其他功能。此外,各种示例可以实现为编程或非编程元件,或其任何组合。例如,可以使用HTML实现网页,而可以用C++编写从网页内调用的数据对象。因此,示例不限于特定的编程语言,并且可以使用任何合适的编程语言。因此,这里公开的功能组件可以包括被配置为执行本文描述的功能的各种元件(例如,专用硬件,可执行代码,数据结构或对象)。
在一些示例中,本文公开的组件可以读取影响组件执行的功能的参数。这些参数可以物理地存储在任何形式的合适存储器中,包括易失性存储器(例如RAM)或非易失性存储器(例如磁性硬盘驱动器)。另外,参数可以逻辑地存储在适当的数据结构(诸如由用户空间应用程序定义的数据库或文件)中或者在通常共享的数据结构(诸如由操作***定义的应用程序注册表)中。另外,一些示例提供***和用户界面,其允许外部实体修改参数,从而配置组件的行为。
基于前述公开内容,本领域普通技术人员应该清楚,这里公开的实施例不限于特定的计算机***平台、处理器、操作***、网络或通信协议。而且,应该显而易见的是,这里公开的实施例不限于特定架构或编程语言。
应当理解,这里讨论的方法和装置的实施例不限于应用于以下描述中阐述的或附图中示出的构造细节和部件布置。所述方法和装置能够在其他实施例中实现并且能够以各种方式实践或实施。这里提供的具体实现的示例仅用于说明性目的,而不是限制性的。特别地,结合任何一个或多个实施例讨论的动作,元件和特征不旨在从任何其他实施例中的类似角色中排除。
此外,这里使用的措辞和术语是出于描述的目的,而不应被视为限制。对以单数形式提及的***和方法的实施例或元件或动作的任何引用也可以包括包括多个这些元件的实施例,并且本文中任何实施例或元件或动作的复数形式的任何引用也可以包括仅包括单个元件的实施例。单数或复数形式的参考并不旨在限制当前公开的***或方法、其组件、动作或元件。这里使用的“包括”、“包含”、“具有”、“含有”、“涉及”及其变形意味着包括其后列出的项目及其等同物以及附加项目。对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个,多于一个和所有所描述的术语中的任何术语。使用元素中的至少一个和元素列表(例如A、B、C)旨在涵盖来自A,B,C(例如A)的任何一个选择,来自A、B、C的任何两个选择(例如A和B),任何三个选择(例如A、B、C)等,以及每个选择的任何倍数。
已经如此描述了本发明的至少一个实施例的若干方面,应当理解,本领域技术人员将容易想到各种改变、修改和改进。这些改变,修改和改进旨在成为本公开的一部分,并且旨在落入本发明的精神和范围内。因此,前面的描述和附图仅是示例性的。

Claims (20)

1.认证装置,包括:
物理上不可克隆的功能(PUF)装置,被配置为生成所述PUF装置的输出值特征;和
连接到所述PUF装置的处理器,所述处理器被配置为:
生成第一组初始注册值和第二组初始注册值;
在所述PUF装置上执行重新注册命令,其中所述处理器进一步被配置为:
使用所述第一组初始注册值验证所述PUF装置;
使用所述PUF装置生成至少一组新的登记值;和
确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态。
2.权利要求1所述的认证装置,其中所述处理器进一步被配置为使用所述第二组初始注册值验证所述PUF装置以确定所述PUF装置是否处于未改变状态。
3.权利要求1所述的认证装置,其中所述处理器被配置为:
向所述PUF装置发出第一挑战以产生第一输出,所述第一挑战来自所述第一组初始注册值;和
使用所述第一输出恢复第一密钥或秘密、或第一共享。
4.权利要求1所述的认证装置,其中所述处理器被配置为将所述至少一组新的登记值通信给验证装置。
5.权利要求1所述的认证装置,其中所述处理器被配置为在生成所述至少一组新的登记值之后,响应于确定所述PUF装置未处于未改变状态,拒绝所述至少一组新的登记值。
6.权利要求1所述的认证装置,其中所述处理器被配置为在生成所述至少一组新的登记值之后,响应于确定所述PUF装置处于未改变状态,使用所述至少一组新的登记值进行后续认证。
7.权利要求1所述的认证装置,其中所述处理器被配置为:
将挑战值通信给所述PUF装置以产生输出;
将所述输出映射到新值,所述新值表示新密钥或机密、或新共享;和
包括挑战值和至少一组新的登记值中的新值。
8.权利要求7所述的认证装置,其中所述处理器被配置为:
使用所述输出和新值生成辅助值;和
在所述至少一组新的登记值中包括辅助值。
9.权利要求1所述的认证装置,其中所述处理器被配置为:
恢复第一密钥,所述第一密钥与所述第一组初始注册值相关联;和
使用恢复的第一密钥加密所述至少一组新的登记值的至少一部分。
10.权利要求1所述的认证装置,其中生成至少一组新的登记值包括:
生成至少一个元组,包括挑战值、辅助值、以及密钥或秘密的加密。
11.权利要求1所述的认证装置,其中生成至少一组新的登记值包括生成新密钥的多个共享。
12.权利要求1所述的认证装置,其中验证所述至少一组新的登记值包括:
恢复密钥的第一共享和第二共享,所述第一共享和所述第二共享分别与所述第一和第二组初始注册值相关联;和
使用恢复的第一和第二共享来验证所述PUF装置。
13.一种验证装置的计算机实现的方法,该方法包括:
通过处理器生成第一组初始注册值和第二组初始注册值,所述第一和第二组初始注册值中的每一个将PUF输出映射到密钥或秘密、或密钥或秘密的共享;
在PUF装置上执行重新注册命令,其中执行重新注册命令的行为包括:
使用所述第一组初始注册值验证所述PUF装置;
使用所述PUF装置生成至少一组新的登记值;和
确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态。
14.根据权利要求13所述的方法,其中确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态的动作包括:使用所述第二组初始注册值验证所述PUF装置。
15.根据权利要求13所述的方法,其中使用所述第一组初始注册值验证所述PUF装置的行为包括:
向所述PUF装置发出第一挑战以产生第一输出,所述第一挑战来自所述第一组初始注册值;和
使用所述第一输出恢复第一密钥或秘密、或第一共享。
16.根据权利要求13所述的方法,进一步包括将至少一组新的登记值通信到验证装置。
17.根据权利要求13所述的方法,还包括:
响应于确定所述PUF装置在生成至少一组新的登记值之后未处于未改变状态,拒绝所述至少一组新的登记值。
18.根据权利要求13所述的方法,还包括响应于确定PUF装置在生成至少一组新的登记值之后处于未改变状态,使用所述至少一组新的登记值进行后续认证。
19.根据权利要求13所述的方法,其中生成至少一组新的登记值的动作包括:
将挑战值通信给所述PUF装置以产生输出;
将所述输出映射到新值,所述新值表示新密钥或机密或新共享;和
包括挑战值和至少一组新的登记值中的新值。
20.存储处理器可执行指令的至少一种非暂时性计算机可读介质,当执行时执行包括以下的方法:
生成第一组初始注册值和第二组初始注册值,所述第一和第二组初始注册值中的每一个将PUF输出映射到密钥或秘密、或密钥或秘密的共享;
在PUF装置上执行重新注册命令,其中执行重新注册命令的行为包括:
使用所述第一组初始注册值验证所述PUF装置;
使用所述PUF装置生成至少一组新的登记值;和
确定所述PUF装置在产生至少一组新的登记值之后是否处于未改变状态。
CN201811324713.8A 2017-11-08 2018-11-08 认证装置、验证装置的计算机实现方法和计算机可读介质 Active CN109756338B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/807,255 2017-11-08
US15/807,255 US10521616B2 (en) 2017-11-08 2017-11-08 Remote re-enrollment of physical unclonable functions

Publications (2)

Publication Number Publication Date
CN109756338A true CN109756338A (zh) 2019-05-14
CN109756338B CN109756338B (zh) 2022-02-11

Family

ID=66178866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811324713.8A Active CN109756338B (zh) 2017-11-08 2018-11-08 认证装置、验证装置的计算机实现方法和计算机可读介质

Country Status (4)

Country Link
US (1) US10521616B2 (zh)
KR (1) KR102665929B1 (zh)
CN (1) CN109756338B (zh)
DE (1) DE102018127126A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366263A (zh) * 2023-05-11 2023-06-30 安徽大学 一种基于puf和可撤销生物特征的认证方法及其应用

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200080263A (ko) * 2017-11-09 2020-07-06 엔체인 홀딩스 리미티드 중재자 컴퓨터 시스템을 이용하여 컴퓨터 프로그램의 정확한 실행을 보장하기 위한 시스템 및 방법
KR20200080265A (ko) 2017-11-09 2020-07-06 엔체인 홀딩스 리미티드 블록체인 상에 확인 키를 기록하기 위한 시스템
US10812277B2 (en) * 2017-11-28 2020-10-20 Taiwan Semiconductor Manufacturing Company Ltd. Method and system for secure key exchange using physically unclonable function (PUF)-based keys
WO2019116187A1 (en) 2017-12-13 2019-06-20 nChain Holdings Limited System and method for securely sharing cryptographic material
EP3741081B1 (en) * 2018-01-16 2021-10-13 Nchain Holdings Limited Computer implemented method and system for obtaining digitally signed data
US11265151B2 (en) 2018-03-09 2022-03-01 Arizona Board Of Regents On Behalf Of Northern Arizona University Key exchange schemes with addressable elements
US10719594B2 (en) * 2018-04-04 2020-07-21 Sri International Secure re-enrollment of biometric templates using distributed secure computation and secret sharing
US11223478B2 (en) 2018-04-04 2022-01-11 Sri International Biometric authentication with template privacy and non-interactive re-enrollment
US11023569B2 (en) 2018-05-29 2021-06-01 Sri International Secure re-enrollment of biometric templates using functional encryption
US11477039B2 (en) * 2018-10-11 2022-10-18 Arizona Board Of Regents On Behalf Of Northern Arizona University Response-based cryptography using physical unclonable functions
US11057211B2 (en) 2018-12-10 2021-07-06 Cisco Technology, Inc. Secured protection of advertisement parameters in a zero trust low power and lossy network
US11362837B2 (en) 2018-12-10 2022-06-14 Cisco Technology, Inc. Generating trustable RPL messages having root-signed rank values
US11182470B2 (en) * 2019-05-24 2021-11-23 Qatar Foundation For Education, Science And Community Development Online account access recovery system and method utilizing secret splitting
US11343109B2 (en) * 2019-06-12 2022-05-24 Arizona Board Of Regents On Behalf Of Northern Arizona University Secure enrollment for physical unclonable function devices
KR102384664B1 (ko) 2019-06-28 2022-04-11 한국전자통신연구원 사용자 장치, 물리적 복제방지 기능 기반 인증 서버 및 그것의 동작 방법
KR102356137B1 (ko) 2019-07-02 2022-01-28 한국전자통신연구원 물리적 복제방지 기능 기반 인증 방법
GB201913058D0 (en) * 2019-09-10 2019-10-23 Ttp Plc Unit verification method and device
KR102398962B1 (ko) * 2019-12-27 2022-05-17 상명대학교산학협력단 격자 기반 퍼지 추출 장치 및 방법
KR20210102740A (ko) * 2020-02-12 2021-08-20 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
WO2021181474A1 (ja) * 2020-03-09 2021-09-16 三菱電機株式会社 鍵生成装置
CN112800438B (zh) * 2020-05-22 2024-01-16 陕西师范大学 在标准模型下计算安全的抗内存泄漏的多级秘密共享方法
DE102020119578A1 (de) * 2020-07-24 2022-01-27 Infineon Technologies Ag Bereitstellen einer Challenge für ein Gerät
DE102020119569B3 (de) 2020-07-24 2021-12-09 Infineon Technologies Ag Bereitstellen einer kryptografischen Information
DE102020119574B4 (de) 2020-07-24 2022-02-17 Infineon Technologies Ag Bereitstellen einer kryptografischen Information
US11804971B2 (en) 2020-08-05 2023-10-31 Analog Devices, Inc. Correcting physical unclonable function errors based on short integers solutions to lattice problems
KR102425916B1 (ko) * 2020-10-23 2022-07-27 상명대학교산학협력단 가변 길이 퍼지 데이터를 지원하는 격자 기반 퍼지 추출 장치 및 방법
US20220385485A1 (en) * 2021-06-01 2022-12-01 Micron Technology, Inc. Identity theft protection with no password access
US20230327864A1 (en) * 2022-04-12 2023-10-12 Huawei Technologies Co., Ltd. Apparatuses, methods, and computer-readable media for generating and utilizing a physical unclonable function key

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318181A (zh) * 2014-09-22 2015-01-28 宁波大学 基于阈值偏差延迟的物理不可克隆函数电路
CN104838385A (zh) * 2012-12-28 2015-08-12 英特尔公司 使用基于物理不可克隆功能的密钥产生***的设备认证
CN105007285A (zh) * 2015-08-19 2015-10-28 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片
US20170063559A1 (en) * 2014-05-05 2017-03-02 Sypris Electronics, Llc Authentication system and device including physical unclonable function and threshold cryptography

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7564345B2 (en) 2004-11-12 2009-07-21 Verayo, Inc. Volatile device keys and applications thereof
DE602006005957D1 (de) 2005-11-29 2009-05-07 Koninkl Philips Electronics Nv Physisches verteilen von geheimnissen und beweisen der nähe unter verwendung von pufs
JP2009533742A (ja) 2006-04-11 2009-09-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データベースなしのノイジーな低電力puf認証
EP2191410B1 (en) 2007-08-22 2014-10-08 Intrinsic ID B.V. Identification of devices using physically unclonable functions
WO2009079050A2 (en) 2007-09-19 2009-06-25 Verayo, Inc. Authentication with physical unclonable functions
EP2465069B1 (en) 2009-08-14 2018-02-21 Intrinsic ID B.V. Physically unclonable function with tamper prevention and anti-aging system
US8819409B2 (en) 2009-10-21 2014-08-26 Intrinsic Id B.V. Distribution system and method for distributing digital information
WO2011089143A1 (en) 2010-01-20 2011-07-28 Intrinsic Id B.V. Device and method for obtaining a cryptographic key
US8868923B1 (en) 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
KR101852115B1 (ko) 2010-10-04 2018-04-25 인트린직 아이디 비브이 개선된 시동 작동을 갖는 물리적 복제 불가 기능부
US8694778B2 (en) 2010-11-19 2014-04-08 Nxp B.V. Enrollment of physically unclonable functions
WO2012122994A1 (en) 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
EP3018607B1 (en) 2013-07-04 2020-10-14 Toppan Printing Co., Ltd. Device and authentication system
US9787480B2 (en) * 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
US9489504B2 (en) * 2013-10-03 2016-11-08 Qualcomm Incorporated Physically unclonable function pattern matching for device identification
US20150134966A1 (en) * 2013-11-10 2015-05-14 Sypris Electronics, Llc Authentication System
US10218517B2 (en) 2014-03-25 2019-02-26 Carnegie Mellon University Methods for generating reliable responses in physical unclonable functions (PUFs) and methods for designing strong PUFs
CN107004380B (zh) 2014-10-13 2020-11-13 本质Id有限责任公司 包括物理不可克隆功能的加密设备
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
JP6929776B2 (ja) 2014-12-24 2021-09-01 イントリンシツク・イー・デー・ベー・ベー 物理的複製不可能関数からの暗号鍵生成
US10091651B2 (en) 2015-12-07 2018-10-02 International Business Machines Corporation Remote authentication through reconfigurable boson samplers
EP3229221B1 (en) * 2016-04-08 2021-08-18 Secure-IC SAS Device and method for testing a physically unclonable function
JP6794297B2 (ja) 2016-05-25 2020-12-02 ヌヴォトンテクノロジージャパン株式会社 認証装置および認証方法
US10146464B2 (en) * 2016-06-30 2018-12-04 Nxp B.V. Method for performing multiple enrollments of a physically uncloneable function

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104838385A (zh) * 2012-12-28 2015-08-12 英特尔公司 使用基于物理不可克隆功能的密钥产生***的设备认证
US20170063559A1 (en) * 2014-05-05 2017-03-02 Sypris Electronics, Llc Authentication system and device including physical unclonable function and threshold cryptography
CN104318181A (zh) * 2014-09-22 2015-01-28 宁波大学 基于阈值偏差延迟的物理不可克隆函数电路
CN105007285A (zh) * 2015-08-19 2015-10-28 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116366263A (zh) * 2023-05-11 2023-06-30 安徽大学 一种基于puf和可撤销生物特征的认证方法及其应用
CN116366263B (zh) * 2023-05-11 2023-07-28 安徽大学 一种基于puf和可撤销生物特征的认证方法及其应用

Also Published As

Publication number Publication date
US10521616B2 (en) 2019-12-31
DE102018127126A1 (de) 2019-05-09
KR102665929B1 (ko) 2024-05-16
US20190138753A1 (en) 2019-05-09
CN109756338B (zh) 2022-02-11
KR20190052631A (ko) 2019-05-16

Similar Documents

Publication Publication Date Title
CN109756338A (zh) 物理不可克隆功能的远程重新注册
US11736298B2 (en) Authentication using key distribution through segmented quantum computing environments
US20210152354A1 (en) Systems and methods for distributed key storage
EP2304636B1 (en) Mobile device assisted secure computer network communications
JP7448220B2 (ja) マルチポイント認証のためのキー生成・預託システム及び方法
US7992193B2 (en) Method and apparatus to secure AAA protocol messages
CN106797313B (zh) 利用动态密钥生成的网络认证***
CN100432889C (zh) 提供断开鉴别的***和方法
JP2014523192A (ja) デバイス及びサーバの通信におけるファジーな認証情報を用いた暗号化によるセキュリティ
US20070255951A1 (en) Token Based Multi-protocol Authentication System and Methods
CN110138548B (zh) 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和***
CN110855667B (zh) 一种区块链加密方法、装置及***
CN110716728B (zh) Fpga逻辑的可信更新方法及装置
JP2017524306A (ja) 暗号化操作における悪意のある変更に対する保護
CN108199847A (zh) 数字安全处理方法、计算机设备及存储介质
CN110098925B (zh) 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和***
CN116484426A (zh) 一种基于可信执行环境的医疗数据联邦学习方法及***
US11856095B2 (en) Apparatus and methods for validating user data by using cryptography
Srinivas et al. An authentication framework for roaming service in global mobility networks
CN110138547B (zh) 基于非对称密钥池对和序列号的量子通信服务站密钥协商方法和***
CN110535632B (zh) 基于非对称密钥池对和dh协议的量子通信服务站aka密钥协商方法和***
CN110176997B (zh) 一种量子通信服务站aka密钥协商方法和***
CN110086627B (zh) 基于非对称密钥池对和时间戳的量子通信服务站密钥协商方法和***
JP3746919B2 (ja) 可変認証情報を用いる資格認証方法
Das et al. Shared-Custodial Password-Authenticated Deterministic Wallets

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