CN110089075A - 用于计算模糊提取器的矩阵的伪随机生成以及用于验证的方法 - Google Patents

用于计算模糊提取器的矩阵的伪随机生成以及用于验证的方法 Download PDF

Info

Publication number
CN110089075A
CN110089075A CN201780081526.9A CN201780081526A CN110089075A CN 110089075 A CN110089075 A CN 110089075A CN 201780081526 A CN201780081526 A CN 201780081526A CN 110089075 A CN110089075 A CN 110089075A
Authority
CN
China
Prior art keywords
equipment
bit string
processor
seed
method described
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
CN201780081526.9A
Other languages
English (en)
Other versions
CN110089075B (zh
Inventor
J.瓜哈尔多梅尔尚
P.杜普利斯
C.胡特
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN110089075A publication Critical patent/CN110089075A/zh
Application granted granted Critical
Publication of CN110089075B publication Critical patent/CN110089075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

公开了一种用于验证第一设备的方法。在一个实施例中,该方法包括以下步骤:从远离第一设备的第二设备接收帮助器位串;测量第一设备的物理不可克隆函数关于挑战位串的第一响应位串;从帮助器位串减去第一响应位串;使用利用种子初始化的伪随机数生成器重构随机矩阵;以及使用随机矩阵解码减法的结果,如果帮助器位串使用处于与第一响应位串的阈值类似水平内的先前测量的第二响应位串进行编码,则从解码提供共享秘密位串,否则解码输出错误值。

Description

用于计算模糊提取器的矩阵的伪随机生成以及用于验证的 方法
本申请要求享有2016年12月30日提交的美国临时申请序列号62/440,744的优先权的权益,该美国临时申请的公开内容以其整体通过引用并入本文。
技术领域
本文档中所公开的方法和设备涉及密码学,并且更具体地涉及用于设备验证的物理不可克隆函数和模糊提取器的使用。
背景技术
在一些应用中,物理不可克隆函数(PUF)用于验证设备。然而,任何PUF的原始响应是有噪声的,并且必须经后处理以在每次查询PUF时导出例如等同密钥。模糊提取器可以利用误差校正码来构造并且用于使用公开可得到的所谓帮助器数据来从PUF的原始响应移除噪声。由于误差校正码的本质(以及存在于帮助器数据中的冗余信息),传统的信息理论模糊提取器不保留存在于PUF的原始响应中的全部熵。例如,如果PUF的原始响应具有n位的熵,那么在PUF的原始响应通过传统的信息理论模糊提取器处理之后仅m位可以被使用,其中mn。这样的熵损失在其中PUF的原始响应具有有限量的熵的情形中尤其糟糕。作为示例,初步实验指示MEMS-PUF的原始响应的熵总量略微少于90位。然而,如果PUF响应用于导出对称密钥则这在安全性方面是不足的。例如,德国BSI技术指南TR-02102-1“ ”(版本2015-01,2015年2月10日)要求至少128位的对称秘密密钥长度。
相应地,提供一种对传统模糊提取器的可替换方案将是有利的,在该可替换方案中可以保留PUF的完整熵并且可以从其导出较长的密钥。另外,如果该方法可以用于验证具有最小存储器容量的轻量PUF使能设备则也将是有利的。
发明内容
公开了一种用于验证第一设备的方法。该方法包括以下步骤:利用第一设备的收发器从远离第一设备的第二设备接收帮助器位串;测量第一设备的物理不可克隆函数关于挑战位串的第一响应位串,物理不可克隆函数由第一设备的处理器和第一设备的另外的物理组件之一来提供;利用第一设备的处理器从帮助器位串减去第一响应位串;利用第一设备的处理器使用利用种子初始化的伪随机数生成器重构随机矩阵;以及利用第一设备的处理器使用随机矩阵解码减法的结果,如果帮助器位串使用处于与第一响应位串的阈值类似水平内的先前测量的第二响应位串进行编码,则从解码提供共享秘密位串,否则解码输出错误值。
公开了一种用于验证第一设备的另外的方法。该另外的方法包括以下步骤:测量第一设备的物理不可克隆函数关于挑战位串的第一响应位串,物理不可克隆函数由第一设备的组件提供;利用第一设备的处理器从均匀分布的随机向量导出共享秘密位串;利用第一设备的处理器使用利用种子初始化的伪随机数生成器重构随机矩阵;利用第一设备的处理器通过将随机矩阵与均匀分布的随机向量相乘并且向乘法的结果添加第一响应位串来编码帮助器位串;以及利用第一设备的收发器向远离第一设备的第二设备传输帮助器位串。
附图说明
结合附图在以下描述中解释方法和设备的前述方面和其它特征。
图1示出包括证明设备和证实设备的系统。
图2示出具有种子化的伪随机矩阵生成的计算模糊提取器的框图。
图3示出用于使用具有种子化的伪随机矩阵生成的计算模糊提取器来验证设备的方法。
图4示出具有种子化的伪随机矩阵生成的反向计算模糊提取器的框图。
图5示出用于使用具有种子化的伪随机矩阵生成的反向计算模糊提取器来验证设备的方法。
具体实施方式
出于促进本公开的原理理解的目的,现在将参考在图中图示并且在以下书面说明书中描述的实施例。要理解,不由此意图对本公开的范围的限制。还要理解,本公开包括对所说明的实施例的任何更改和修改,并且还包括如本公开所涉及的领域中的技术人员正常将想到的本公开的原理的另外应用。
图1示出包括证明设备102(在本文还称为“证明器”)和证实设备104(在本文还称为“证实器”)的系统100。证明设备102和证实设备104经由诸如网络106(例如因特网、无线局域网或无线网格网络)之类的不安全的通信信道或直接通信信道(例如射频标识(RFID)或近场通信(NFC))与彼此通信。给定通信信道的不安全性,证实设备104和证明设备102配置成执行验证过程以至少证实证明设备102的身份和真实性。在一些实施例中,验证过程是相互验证过程,其中证实设备102和104二者的身份和真实性。
在一些实施例中,证明设备102可以包括安全性令牌、智能卡、硬件安全性模块、机器、控制器、致动器、传感器、平板计算机、智能电话、膝上型计算机或配置用于与主机系统或另一设备通信的任何其它设备。在至少一些实施例中,证明设备是具有相对有限的处理能力和存储器的轻量设备,诸如物联网(IoT)设备。
在所示出的实施例中,证明设备102包括处理器108、存储器110和收发器112。证明设备102还可以包括可操作地连接到处理器108并且配置成提供一个或多个服务或功能的许多附加的组件,诸如感测元件、致动器、接口、显示器等(未示出)。存储器110配置成存储程序指令,所述程序指令在被处理器108施行时使得证明设备102能够执行一个或多个服务或功能。附加于用于实现证明设备102的主要服务或功能的程序指令,程序指令至少包括用于向证实设备104证明证明设备102的身份和真实性的验证程序114。存储器110还配置成存储数据116,数据116可以包括由验证程序126利用的数据。
存储器110可以是能够存储可由处理器108访问的信息的任何类型的设备,诸如存储器卡、ROM、RAM、能够写入的存储器、只读存储器、硬驱动器、盘、闪速存储器,或充当数据存储设备的各种其它计算机可读介质中的任何一个,如本领域普通技术人员将认识到的那样。此外,尽管在F中单片地示出存储器110,但是存储器110可以包括用于不同目的的不同类型的若干分立存储器。
处理器108可以包括具有中央处理器、多个处理器、用于实现功能性的专用电路的系统,或者其它系统。另外,本领域普通技术人员将认识到,“处理器”包括处理数据、信号或其它信息的任何硬件系统、硬件机构或硬件组件。
收发器112可以是配置用于与其它电子设备通信、包括发送通信信号和接收通信信号的能力的各种设备中的任何一个。收发器112可以包括配置成与不同网络和系统通信的不同类型的收发器。收发器112至少配置成在证明设备102与证实设备104之间交换数据,但是还可以配置成与网络106上的附加设备通信。在一个实施例中,收发器112配置成使用诸如Wi-Fi、蓝牙、RFID、NFC、ZigBee、Z-Wave或以太网之类的协议交换数据。
证明设备102还具有物理不可克隆函数(PUF)118,其可以由配置成接收输入(例如挑战位串)并且产生唯一输出(例如响应位串)的处理器108利用。PUF 118的输出响应取决于证明设备102的至少一个组件的唯一物理结构,并且充当用于证明设备102的数字指纹。在至少一个实施例中,证明设备102的半导体设备,诸如处理器108、存储器110、收发器112或MEMS传感器(未示出),为PUF 118提供基础。在其它实施例中,证明设备102可以包括仅配置成提供PUF 118的专用半导体设备(未示出)。
提供PUF 118的半导体设备或其它组件的微结构包括通过在制造期间自然引入并且甚至通过制造者进行控制或复制也不可行的随机物理变化。此外,在一些类型的PUF使能半导体设备中,诸如温度、供给电压和电磁干扰之类的环境条件中的变化也向设备的操作中引入随机性和不可预测性。作为结果,PUF 118具有生成对特定输入的响应的唯一且不可预测的方式。另外,对于给定的挑战输入串,PUF 118每一次不一定可靠地产生精确相同的响应串。而是,对于给定的挑战输入串,PUF 118可以在每一次它被使用时可靠地生成类似但不等同的响应。以此方式,PUF 118可以被视为具有有噪声的响应。
证明设备102还具有伪随机数生成器(PRNG)130,其可以由处理器108利用,被配置成利用种子(例如位串)初始化并且产生伪随机输出数据(例如伪随机位串、向量、和/或矩阵)。与以不可重复的方式生成随机输出数据的“真正”随机数生成器相对,如果PRNG 130利用相同的种子进行初始化,则它以可重复的方式产生相同的随机输出数据。在一些实施例中,PRNG 130包括仅配置成提供PRNG 130的专用硬件设备。然而,在其它实施例中,PRNG130可以实现为存储在存储器110上的由处理器108施行以生成随机输出数据的程序指令。
在一些实施例中,与证明设备102相对,证实设备104是主机系统,诸如远程服务器、本地控制中枢(例如,如使用在家庭自动化系统中那样)、支付资讯站、或必须证实所连接的设备的身份和真实性的任何其它设备。此外,证实设备104一般具有比证明设备102更多的处理能力和更多的存储器,并且更好地适合于承载验证过程的任何计算上或存储器集中的方面。
在所示出的实施例中,证实设备104包括处理器120、存储器122和收发器124。存储器122配置成存储程序指令,所述程序指令在由处理器120施行时使得证实设备104能够执行一个或多个服务或功能。附加于用于实现证实设备104的主要服务或功能的程序指令,程序指令至少包括用于证实证明设备102的身份和真实性的验证程序126。存储器122还配置成存储数据128,数据128可以包括由验证程序126利用的数据,诸如证明设备102的PUF 118的挑战和经测量的响应对。
存储器122可以是能够存储可由处理器120访问的信息的任何类型的设备,诸如存储器卡、ROM、RAM、能够写入的存储器、只读存储器、硬驱动器、盘、闪速存储器,或充当数据存储设备的各种其它计算机可读介质中的任何一个,如本领域普通技术人员将认识到的那样。此外,尽管在图中单片地示出存储器122,但是存储器122可以包括用于不同目的的不同类型的若干分立存储器。
处理器120可以包括具有中央处理器、多个处理器、用于实现功能性的专用电路的系统,或者其它系统。另外,本领域普通技术人员将认识到,“处理器”包括处理数据、信号或其它信息的任何硬件系统、硬件机构或硬件组件。
收发器124可以是配置用于与其它电子设备通信、包括发送通信信号和接收通信信号的能力的各种设备中的任何一个。收发器124可以包括配置成与不同网络和系统通信的不同类型的收发器。收发器124至少配置成在证实设备104与证明设备102之间交换数据,但是还可以配置成与网络106上的附加设备通信。在一个实施例中,收发器124配置成使用诸如Wi-Fi、蓝牙、RFID、NFC、ZigBee、Z-Wave或以太网之类的协议交换数据。
图2示出具有种子化的伪随机矩阵生成的计算模糊提取器200的框图。不同于被定义为信息理论对象的传统的模糊提取器,计算模糊提取器200利用基于随错学习(LWE)的计算安全性,其是后量子安全的,以保留PUF 118的完整熵并且获取较长的密码密钥。不同于许多传统的模糊提取器,不从PUF响应提取密码密钥。而是,随机线性码用于使用LWE假设导出较长密钥,并且PUF响应用于以利用充分类似的PUF响应的知识可解密的方式“加密”密钥。
计算模糊提取器200包括生成函数202。生成函数202接收作为输入的PUF 118的先前测量的响应w。此外,生成函数202接收作为输入的随机矩阵A和均匀分布的随机向量。在至少一个实施例中,向量是随机线性码。在一个示例性实施例中,矩阵A和向量根据 在有限域内被均匀采样,其中n是安全性参数,,并且q是质数,如在Computational Fuzzy Extractors(Benjamin Fuller,XianruiMeng和Leonid Reyzin,在Advances in Cryptology-ASIACRYPT 2013中,第174-193页,Springer,2013)中所描述的,其中mnq被选择以便维持提供输入串w的源的完整熵。生成函数202包括使用矩阵乘法和加法计算向量的编码函数204,向量可以被视为的加密,其中解密从任何接近的w工作。另外,生成函数202从随机向量导出共享秘密。在一个实施例中,共享秘密是包括随机向量的第一到元素的位串。在一个实施例中,共享秘密与随机向量相同。生成函数202的输出是共享秘密和帮助器数据。帮助器数据p被视为公开数据并且可以对对手是已知的,而共享秘密可以用作密码密钥或用于验证。
计算模糊提取器200还包括再生函数206。再生函数206接收作为输入的PUF 118的经测量的响应。此外,再生函数206接收作为输入的帮助器数据 。特别地,PRNG 130利用种子s初始化,并且重构被提供给再生函数206的矩阵A。以此方式,种子s也可以被视为公开帮助器数据。再生函数206包括计算的减法函数208。此外,再生函数206包括解码函数210,解码函数210解码减法的结果,并且如果响应根据某个预定度量充分接近和/或类似于响应(例如之间的汉明距离小于t)则能够在共享秘密处输出。否则,如果响应不充分接近和/或类似于响应(例如之间的汉明距离大于t),则解码函数210未能解析并且输出错误值。这样的解码算法的一个实施例在Computational Fuzzy Extractors(Benjamin Fuller,XianruiMeng和Leonid Reyzin,在Advances in Cryptology-ASIACRYPT 2013中,第174-193页,Springer,2013)中已知,其中解码算法(1)随机地选择行而没有替代;(2)将A、b约束到行并且标注这些;(3)找到的线性独立的n行,并且如果不存在这样的行,则输出并且停止;(4)通过来标注(分别)到这些行的约束并且计算;(5)如果具有多于t的非零坐标则返回到步骤(1);以及(6)输出。在至少一个实施例中,PRNG 130一次重构矩阵一行(或一列),并且解码函数210在解码过程期间一次访问矩阵A一行(或一列)。再生函数206的输出取决于解码函数210的解析而是共享秘密或错误值
在一些实施例中,计算模糊提取器200的生成函数202和再生函数206实现在处理器108和/或处理器120中的硅块中,并且作为处理器中的函数是可访问的。在其它实施例中,模糊提取器200的生成函数202和再生函数206使用硬件和软件的组合、或者纯粹软件(例如验证程序114和126)来实现,优选地使用存储软件指令但是不能被容易地修改以确保用于模糊提取器的软件指令未被更改的存储器110和/或存储器122的区域来实现。
如以下更加详细讨论的,在验证过程期间,生成函数202基于先前测量的响应w、矩阵A和向量来生成帮助器数据p和共享秘密。证明设备104接收挑战c(例如位串)和帮助器数据p。向PUF 118提供挑战串c,PUF 118输出有噪声的响应。PRNG 130利用种子s初始化,并且重构被提供给再生函数206的矩阵A。在一个实施例中,种子s是均匀随机的种子。再生函数206输出共享秘密或错误值。如果证明设备102是真实的(即包括唯一的PUF设备118),则它将成功地再生共享秘密。然而,如果证明设备102不是真实的(即不包括唯一的PUF设备118),则它不能成功地再生共享秘密,并且将输出错误值
图3示出用于使用具有种子化的伪随机矩阵生成的计算模糊提取器200来验证设备的详细方法300。在该方法的描述中,方法正在执行某种任务或功能的陈述是指:控制器或通用处理器施行存储在操作性地连接到控制器或处理器的非暂时性计算机可读存储介质中的经编程的指令,以操纵数据或操作系统100中的一个或多个组件以执行该任务或功能。以上的证明设备102的处理器108或证实设备104的处理器120可以是这样的控制器或处理器,并且所施行的程序指令(例如验证程序114和126)可以存储在存储器110和122中。此外,方法的步骤可以以任何可行的时间顺序执行,而不管在图中示出的顺序或以其描述步骤的顺序。
方法300以以下步骤开始:在证实设备与证明设备之间交换验证请求和验证请求回执以准备验证(块302和304)。特别地,参考本文详细讨论的特定实施例,作为初步步骤,证明设备102和证实设备104配置成交换验证请求和验证请求回执消息以准备证明设备102的验证。在一个实施例中,证明设备102的处理器108配置成操作收发器112以向证实设备104传输验证请求auth Req 。在至少一个实施例中,验证请求auth Req 包括唯一地标识证明设备102的标识符ID。证实设备104利用收发器124接收验证请求auth Req 。证实设备104的处理器120配置成将所接收的标识符ID与存储在数据库128中的已知标识符的列表比较。如果标识符ID是已知的标识符,则处理器120配置成操作收发器124以向证明设备102传输验证请求回执auth Ack 。要指出的是,在一些实施例中,证实设备102配置成向证明设备102传输验证请求auth Req ,并且证明设备102配置成向证实设备104传输具有标识符ID的验证请求回执auth Ack
方法300以以下步骤继续:从证实设备的存储器读取证明设备的物理不可克隆函数对挑战位串的先前测量的响应位串(块306)。特别地,在一些实施例中,对于每一个已知的标识符ID,证实设备104的数据库128存储多个挑战-响应位串对,其中每一个响应位串是PUF 118对不同挑战位串的经测量的响应(其对应于相应标识符ID)。在至少一个实施例中,在证明设备102的制造时间处、在包括PUF 118的特定组件的制造时间处、或者否则在验证过程之前生成该对。在从证明设备102接收到验证请求auth Req 之后或响应于从证明设备102接收到验证请求auth Req ,证实设备104的处理器120配置成读取先前测量的响应位串。在一个实施例中,处理器120配置成使用用于决定要利用哪个经测量的响应位串的时间表或其它规则集合从多个经测量的响应位串选择经测量的响应位串
方法300以以下步骤继续:使用计算模糊提取器的生成函数来生成共享秘密位串和公开的帮助器数据(块308)。特别地,证实设备104的处理器120配置成使用如以上关于图2所讨论的鲁棒的计算模糊提取器200的生成函数202来从均匀分布的随机向量导出共享秘密位串。另外,处理器120配置成通过使用如以上关于图2所讨论的鲁棒的计算模糊提取器200的生成函数202的编码函数204,将随机矩阵A与均匀分布的随机向量相乘并且向乘法的结果添加先前测量的响应位串w来编码帮助器位串。在一个实施例中,处理器120配置成在验证时间处生成均匀分布的随机向量。在一个实施例中,处理器120配置成在证明设备102的制造时间处或在某个其它在先时间处生成随机矩阵A,其被视为公开的帮助器数据p的部分。在至少一个实施例中,处理器120配置成使用等同于证明设备的PRNG 130的PRNG来生成矩阵A并且在存储器122中存储用于初始化PRNG和生成矩阵A的种子s
方法300以以下步骤继续:从证实设备传输帮助器位串(块310)并且在证明设备处接收帮助器位串(块312)。特别地,证实设备104的处理器120操作收发器124以向证明设备102传输至少帮助器位串。证明设备102配置成利用收发器112接收帮助器位串。在一些实施例中,证实设备104还在验证期间或在某个其它在先时间处向证明设备102传输用于重构矩阵A的种子s,连同帮助器位串。然而,在许多实施例中,种子s不需要在验证期间被传输,因为它在证明设备102的制造时间处被安装在其存储器110上,并且在不同的验证期间重用相同的矩阵A。在证明设备102的初始部署之后,证实设备104配置成仅传输新的种子s,如果出于安全性相关原因而必要的话。
方法300以以下步骤继续:从证实设备传输挑战位串(块314)并且在证明设备处接收挑战位串(块316)。特别地,如以上所讨论的,证实设备104的数据库128存储多个挑战-响应位串对,其中每一个响应位串是PUF 118对不同的挑战位串的经测量的响应。证实设备104的处理器120配置成操作收发器124以向证明设备102传输挑战位串c,挑战位串c对应于由证实设备104用于生成帮助器位串的响应位串。证明设备102配置成利用收发器112接收挑战位串c
在一些可替换的实施例中,挑战位串c可以在制造时间处被安装到证明设备102的存储器110上。在这样的实施例中,可以省略从证实设备104传输挑战位串c的步骤(块314)。而是,证明设备102的处理器108配置成从存储器110读取挑战位串c。在一个实施例中,处理器108响应于接收到帮助器位串而读取挑战位串c。在一些实施例中,在存储器110中存储多个挑战位串。在一个实施例中,处理器108配置成使用用于决定要利用哪个挑战位串c的时间表或其它规则集合来从所述多个挑战位串选择挑战位串c
方法300以以下步骤继续:测量证明设备的物理不可克隆函数对挑战位串的响应位串(块318)。特别地,证明设备102的处理器108配置成向PUF 118提供作为输入的挑战位串c。处理器108测量、接收或以其它方式确定PUF 118对挑战位串c的有噪声的响应
方法300以以下步骤继续:利用种子初始化伪随机数生成器,并且使用伪随机数生成器重构随机矩阵(块320)。特别地,证明设备102的处理器108配置成利用种子s初始化PRNG 130。在至少一个实施例中,处理器108配置成从存储器110读取种子s。在其它实施例中,处理器108配置成从证实设备104接收种子s。在初始化PRNG 130之后,处理器配置成使用经初始化的PRNG 130来重构随机矩阵A
方法300以以下步骤继续:使用计算模糊提取器的再生函数来再生共享秘密位串(块322)。特别地,证明设备102的处理器108配置成使用如以上关于图2所讨论的鲁棒的计算模糊提取器200的再生函数206的减法函数208从帮助器位串减去有噪声的响应。另外,处理器108配置成通过使用如以上关于图2所讨论的鲁棒的计算模糊提取器200的再生函数206的解码函数210解码减法的结果来试图导出共享秘密。如以上所讨论的,如果响应根据某个预定度量充分接近和/或类似于响应(例如之间的汉明距离小于t),则解码函数210能够输出共享秘密。否则,如果响应不充分接近和/或类似于响应(例如之间的汉明距离大于t),则解码函数210未能解析并且输出错误值
在至少一个实施例中,证明设备102的处理器108配置成在解码过程期间一次重构随机矩阵A一行(或一列)或有限数目行(或列),并且解码过程一次访问矩阵A一行或有限数目行。在一个实施例中,处理器108配置成操作存储器110以仅存储将下个被解码过程访问的矩阵A的行(或列)。在访问特定行(或列)之后,处理器108配置成重构和存储由解码过程所必需的矩阵A的下一行(或列)。以此方式,仅要求存储器110在任何给定时间处存储矩阵A的有限部分,从而最小化存储器110的必需容量。
方法300以以下步骤继续:从证明设备传输(i)指示验证成功的确认消息和(ii)指示验证不成功的拒绝消息中的一个(块324),并且在证实设备处接收(i)确认消息和(ii)拒绝消息中的所述一个(块326)。特别地,响应于共享秘密从解码过程成功导出,证明设备102的处理器108配置成操作收发器112以向证实设备104传输验证确认消息auth conf ,其指示证明设备102和/或证实设备104被成功验证。响应于解码过程未能解析并且输出错误值,处理器108配置成操作收发器112向证实设备104传输验证拒绝消息auth rej ,其指示证明设备102和/或证实设备104未被成功验证。
图4示出具有种子化的伪随机矩阵生成的反向计算模糊提取器400的框图。除了在证明设备102和证实设备104上执行的功能反向之外,反向计算模糊提取器400类似于计算模糊提取器200。特别地,如以下更加详细讨论的,在验证过程期间,证明设备102从证实设备104接收挑战c(例如位串)。向PUF 118提供挑战串c,PUF 118输出有噪声的响应。PRNG130利用种子s初始化并且重构被提供给生成函数202的矩阵A。生成函数202基于有噪声的响应、矩阵A和向量而输出帮助器数据p和共享秘密。向证实设备104提供帮助器数据p,并且再生函数206基于先前测量的响应w和帮助器数据p而输出共享秘密或错误值。如果共享秘密被成功输出,则证实设备104知晓证明设备102是真实的(即包括唯一的PUF设备118)。否则,如果输出错误值,则证实设备104知晓证明设备102不真实(即不包括唯一的PUF设备118)。
图5示出用于使用具有种子化的伪随机矩阵生成的反向计算模糊提取器400来验证设备的详细方法500。在该方法的描述中,方法正在执行某种任务或功能的陈述是指:控制器或通用处理器施行存储在操作性地连接到控制器或处理器的非暂时性计算机可读存储介质中的经编程的指令,以操纵数据或操作系统100中的一个或多个组件以执行该任务或功能。以上的证明设备102的处理器108或证实设备104的处理器120可以是这样的控制器或处理器,并且所施行的程序指令(例如验证程序114和126)可以存储在存储器110和122中。此外,方法的步骤可以以任何可行的时间顺序执行,而不管在图中示出的顺序或以其描述步骤的顺序。
方法500以以下步骤开始:在证实设备与证明设备之间交换验证请求和验证请求回执以准备验证(块502和504),这基本上类似于方法300的步骤302和304,并且不再次详细描述。
方法500以以下步骤继续:从证实设备传输挑战位串(块506)并且在证明设备处接收挑战位串(块508)。特别地,在一些实施例中,证实设备104的处理器120操作收发器124以向证明设备102传输挑战位串c。在一些实施例中,对于每一个已知的标识符ID,证实设备104的数据库128存储多个挑战-响应位串对,其中每一个响应位串是PUF 118对不同挑战位串的经测量的响应(其对应于相应标识符ID)。在至少一个实施例中,在证明设备102的制造时间处、在包括PUF 118的特定组件的制造时间处、或者否则在验证过程之前生成该对。在从证明设备102接收到验证请求auth Req 之后或响应于从证明设备102接收到验证请求auth Req ,证实设备104的处理器120配置成从数据库128选择挑战位串c并且操作收发器124向证明设备102传输挑战位串c。在一个实施例中,处理器120配置成使用用于决定要利用哪个挑战位串c的时间表或其它规则集合从多个挑战位串选择挑战位串c。证明设备102配置成利用收发器112接收挑战位串c
在一些可替换的实施例中,挑战位串c可以在制造时间处被安装到证明设备102的存储器110上。在这样的实施例中,可以省略从证实设备104传输挑战位串c的步骤(块506)。而是,证明设备102的处理器108配置成从存储器110读取挑战位串c。在一个实施例中,处理器108响应于接收到验证请求回执auth Ack 而读取挑战位串c。在一些实施例中,在存储器110中存储多个挑战位串。在一个实施例中,处理器108配置成使用用于决定要利用哪个挑战位串c的时间表或其它规则集合来从所述多个挑战位串选择挑战位串c
方法500以以下步骤继续:测量证明设备的物理不可克隆函数对挑战位串的响应位串(块510)。特别地,证明设备102的处理器108配置成向PUF 118提供作为输入的挑战位串c。处理器108测量、接收或以其它方式确定PUF 118对挑战位串c的有噪声的响应
方法500以以下步骤继续:利用种子初始化伪随机数生成器,并且使用伪随机数生成器重构随机矩阵(块512)。特别地,证明设备102的处理器108配置成利用种子s初始化PRNG 130。在至少一个实施例中,处理器108配置成从存储器110读取种子s。在其它实施例中,处理器108配置成从证实设备104接收种子s。在初始化PRNG 130之后,处理器配置成使用经初始化的PRNG 130来重构随机矩阵A
方法500以以下步骤继续:使用反向计算模糊提取器的生成函数来生成共享秘密位串和公开的帮助器数据(块514)。特别地,证明设备102的处理器108配置成使用如以上关于图2所讨论的反向计算模糊提取器200的生成函数202来从均匀分布的随机向量导出共享秘密位串。另外,处理器108配置成通过使用如以上关于图2所讨论的反向计算模糊提取器200的生成函数202的编码函数204,将随机矩阵A与均匀分布的随机向量相乘并且向乘法的结果添加有噪声的响应位串来编码帮助器位串。在一个实施例中,处理器108配置成在验证时间处生成均匀分布的随机向量。在一个实施例中,处理器108配置成在验证时间处或在某个其它在先时间处从证实设备104接收随机矩阵A连同挑战位串c,随机矩阵A被视为公开的帮助器数据p的部分。然而,在许多实施例中,随机矩阵A在制造时间处被安装在存储器110上,并且在不同的验证期间重用。在证明设备102的初始部署之后,证实设备104配置成仅传输新的随机矩阵A,如果出于安全性相关原因而必要的话。在可替换的实施例中,证明设备102的处理器108可以生成随机矩阵A并且将其提供给证实设备104。
方法500以以下步骤继续:从证明设备传输帮助器位串(块516)并且在证实设备处接收帮助器位串(块518)。特别地,证明设备102的处理器108操作收发器112以向证实设备104至少传输帮助器位串。证实设备104配置成利用收发器124接收帮助器位串。在一些实施例中,证明设备102向证实设备104传输所有公开的帮助器数据p,包括随机矩阵A
方法500以以下步骤继续:从证实设备的存储器读取证明设备的物理不可克隆函数对挑战位串的先前测量的响应位串(块520)。特别地,如以上所讨论的,证实设备104的数据库128存储多个挑战-响应位串对,其中每一个响应位串是PUF 118对不同挑战位串的经测量的响应。在接收到帮助器位串之后,证实设备104的处理器120配置成读取先前测量的响应位串w,其对应于由证明设备102用于生成帮助器位串的挑战位串c
方法500以以下步骤继续:使用反向计算模糊提取器的再生函数来再生共享秘密位串(块522)。特别地,证实设备104的处理器120配置成使用如以上关于图2所讨论的反向计算模糊提取器200的再生函数206的减法函数208从帮助器位串减去先前测量的响应位串。另外,处理器120配置成通过使用如以上关于图2所讨论的反向计算模糊提取器200的再生函数206的解码函数210解码减法的结果来试图导出共享秘密。如以上所讨论的,如果响应根据某个预定度量充分接近和/或类似于响应(例如之间的汉明距离小于t),则解码函数210能够输出共享秘密。否则,如果响应不充分接近和/或类似于响应(例如之间的汉明距离大于t),则解码函数210未能解析并且输出错误值
方法500以以下步骤继续:从证实设备传输(i)指示验证成功的确认消息和(ii)指示验证不成功的拒绝消息中的一个(块524),并且在证明设备处接收(i)确认消息和(ii)拒绝消息中的所述一个(块526)。特别地,响应于共享秘密从解码过程成功导出,证实设备104的处理器120配置成操作收发器124以向证明设备102传输验证确认消息auth conf ,其指示证明设备102被证实设备104成功验证。响应于解码过程未能解析并且输出错误值,处理器120配置成操作收发器124以向证明设备102传输验证拒绝消息auth rej ,其指示证明设备102未被证实设备104成功验证。
本文所描述的方法(例如方法300和/或计算模糊提取器200)通过以下方式分别或组合地改进证明设备102和证实设备104的运作:使得它/它们能够更高效地操作,以验证证明设备102。特别地,通过使用PRNG 130和种子s重构随机矩阵A,显著减少针对证明设备102的存储器容量要求。例如,在一些实施例中,整个矩阵A可以大小方面为数百兆字节,而种子s可以如8至16字节那样小。类似地,在出于安全性相关原因而必须传输新的种子s的情况下,通过仅传输种子s而不是整个矩阵A来节省大量带宽和功率。以此方式,本文所描述的方法可以实现在具有更有限的架构约束的较廉价的设备上。另外,在反向模糊提取器400的情况下,设备甚至更高效地操作以验证证明设备102。特别地,在一个实施例中,生成函数202以运行,并且再生函数206以运行。在反向模糊提取器400中,计算上昂贵的再生函数206实现在证实设备104上,并且不太计算上昂贵的生成函数202实现在证明设备102上。以此方式,该方法可以有利地实现在轻量的证明设备102上。最后,保留PUF 118的完整熵,并且可以获取较长的密码密钥。
虽然已经在附图和前述描述中详细图示和描述了本公开,但是这应当被视为本质上是说明性而非限制性的。要理解,仅已经呈现了优选实施例,并且期望保护进入本公开的精神内的所有改变、修改和另外的应用。

Claims (20)

1.一种验证第一设备的方法,所述方法包括:
利用第一设备的收发器从远离第一设备的第二设备接收帮助器位串;
测量第一设备的物理不可克隆函数关于挑战位串的第一响应位串,物理不可克隆函数由第一设备的组件提供;
利用第一设备的处理器从帮助器位串减去第一响应位串;
利用第一设备的处理器使用利用种子初始化的伪随机数生成器重构随机矩阵;以及
利用第一设备的处理器使用随机矩阵解码减法的结果,如果帮助器位串使用处于与第一响应位串的阈值类似水平内的先前测量的第二响应位串进行编码,则从解码提供共享秘密位串,否则解码输出错误值。
2.权利要求1所述的方法,还包括:
利用第一设备的收发器向第二设备传输(i)指示验证成功的确认消息和(ii)指示验证不成功的拒绝消息中的一个,只有如果从解码提供共享秘密位串才传输确认消息,否则传输拒绝消息。
3.权利要求1所述的方法,还包括:
利用第二设备的处理器从第二设备的存储器存储读取第二响应位串,第二响应位串使用第一设备的物理不可克隆函数在第一设备的制造时间处被先前测量和存储;
利用第二设备的处理器从均匀分布的随机向量导出共享秘密位串;
利用第二设备的处理器通过将随机矩阵与均匀分布的随机向量相乘并且向乘法的结果添加第二响应位串来编码帮助器位串;以及
利用第二设备的收发器向第一设备传输帮助器位串。
4.权利要求1所述的方法,还包括:
利用第一设备的收发器从第二设备接收挑战位串。
5.权利要求1所述的方法,还包括:
从第一设备的存储器存储读取挑战位串。
6.权利要求1所述的方法,还包括:
利用第一设备的处理器从第一设备的存储器存储读取种子,种子在第一设备的制造时间处被存储在存储器存储中。
7.权利要求1所述的方法,还包括:
利用第一设备的传输器从第二设备接收种子;以及
利用第一设备的处理器在第一设备的存储器存储中存储种子,所接收的种子替代第一设备的存储器存储中的种子的任何当前存储的版本。
8.权利要求1所述的方法,还包括:
利用第一设备的传输器传输验证请求消息,验证请求消息包括第一设备的标识符。
9.权利要求1所述的方法,其中物理不可克隆函数由第一设备的处理器和第一设备的存储器存储中的一个提供。
10.权利要求1所述的方法,其中物理不可克隆函数由配置成提供物理不可克隆函数的第一设备的微机电系统提供。
11.一种验证第一设备的方法,所述方法包括:
测量第一设备的物理不可克隆函数关于挑战位串的第一响应位串,物理不可克隆函数由第一设备的组件提供;
利用第一设备的处理器从均匀分布的随机向量导出共享秘密位串;
利用第一设备的处理器使用利用种子初始化的伪随机数生成器重构随机矩阵;
利用第一设备的处理器通过将随机矩阵与均匀分布的随机向量相乘并且向乘法的结果添加第一响应位串来编码帮助器位串;以及
利用第一设备的收发器向远离第一设备的第二设备传输帮助器位串。
12.权利要求11所述的方法,还包括:
利用第二设备的收发器从第一设备接收帮助器位串;
利用第二设备的处理器从第二设备的存储器存储读取第一设备的物理不可克隆函数关于挑战位串的先前测量的第二响应位串,第二响应位串在第一设备的制造时间处被测量和存储;
利用第二设备的处理器从帮助器位串减去第二响应位串;
利用第二设备的处理器使用随机矩阵解码减法的结果,如果第一响应位串处于与第二响应位串的阈值类似水平内,则从解码提供共享秘密位串,否则解码输出错误值;以及
利用第二设备的收发器向第一设备传输(i)指示验证成功的确认消息和(ii)指示验证不成功的拒绝消息中的一个,只有如果从解码提供共享秘密位串才传输确认消息,否则传输拒绝消息。
13.权利要求12所述的方法,还包括:
利用第一设备的收发器从第二设备接收(i)确认消息和(ii)拒绝消息中的所述一个。
14.权利要求11所述的方法,还包括:
利用第一设备的收发器从第二设备接收挑战位串。
15.权利要求11所述的方法,还包括:
从第一设备的存储器存储读取挑战位串。
16.权利要求11所述的方法,还包括:
利用第一设备的处理器从第一设备的存储器存储读取种子,种子在第一设备的制造时间处被存储在存储器存储中。
17.权利要求11所述的方法,还包括:
利用第一设备的传输器从第二设备接收种子;以及
利用第一设备的处理器在第一设备的存储器存储中存储种子,所接收的种子替代第一设备的存储器存储中的种子的任何当前存储的版本。
18.权利要求11所述的方法,还包括:
利用第一设备的传输器传输验证请求消息,验证请求消息包括第一设备的标识符。
19.权利要求11所述的方法,其中物理不可克隆函数由第一设备的处理器和第一设备的存储器存储中的一个提供。
20.权利要求11所述的方法,其中物理不可克隆函数由配置成提供物理不可克隆函数的第一设备的微机电系统提供。
CN201780081526.9A 2016-12-30 2017-12-27 用于计算模糊提取器的矩阵的伪随机生成以及用于验证的方法 Active CN110089075B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662440744P 2016-12-30 2016-12-30
US62/440744 2016-12-30
PCT/EP2017/084600 WO2018122230A1 (en) 2016-12-30 2017-12-27 Pseudo-random generation of matrices for a computational fuzzy extractor and method for authentication

Publications (2)

Publication Number Publication Date
CN110089075A true CN110089075A (zh) 2019-08-02
CN110089075B CN110089075B (zh) 2022-12-27

Family

ID=61157153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780081526.9A Active CN110089075B (zh) 2016-12-30 2017-12-27 用于计算模糊提取器的矩阵的伪随机生成以及用于验证的方法

Country Status (4)

Country Link
US (1) US11146410B2 (zh)
EP (1) EP3563516B1 (zh)
CN (1) CN110089075B (zh)
WO (1) WO2018122230A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677254A (zh) * 2019-09-20 2020-01-10 广州城市职业学院 一种超轻量级的rfid认证方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018183572A1 (en) * 2017-03-29 2018-10-04 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
US11050574B2 (en) 2017-11-29 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. Authentication based on physically unclonable functions
US10754619B2 (en) 2018-09-27 2020-08-25 Intel Corporation Self-calibrated von-neumann extractor
US11303462B2 (en) * 2018-11-19 2022-04-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Unequally powered cryptography using physical unclonable functions
US11841983B2 (en) * 2019-06-07 2023-12-12 Ohio State Innovation Foundation Systems and methods using hybrid Boolean networks as physically unclonable functions
US11456867B2 (en) * 2019-10-25 2022-09-27 International Business Machines Corporation Trust-anchoring of cryptographic objects
US11568093B2 (en) * 2020-04-17 2023-01-31 SK Hynix Inc. Data scramblers with enhanced physical security

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101542496A (zh) * 2007-09-19 2009-09-23 美国威诚股份有限公司 利用物理不可克隆功能的身份验证
US20100177898A1 (en) * 2007-06-14 2010-07-15 Intrinsic Id Bv Device and method for providing authentication
US20110215829A1 (en) * 2007-08-22 2011-09-08 Intrinsic Id B.V. Identification of devices using physically unclonable functions
US8868923B1 (en) * 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
US20150195088A1 (en) * 2014-01-03 2015-07-09 William Marsh Rice University PUF Authentication and Key-Exchange by Substring Matching
US20160110571A1 (en) * 2013-07-02 2016-04-21 Soongsil University Research Consortium Techno-Park Rfid tag authentication system
CN105723651A (zh) * 2013-11-10 2016-06-29 赛普利斯电子有限责任公司 可验证装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11171785B2 (en) * 2016-10-31 2021-11-09 Katholieke Universiteit Leuven Authentication method and system
EP3640923A1 (en) * 2016-12-21 2020-04-22 Merck Patent GmbH Puf based composite security marking for anti-counterfeiting
EP3340215B1 (en) * 2016-12-23 2024-05-22 Secure-IC SAS System and method for generating secret information using a high reliability physically unclonable function

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100177898A1 (en) * 2007-06-14 2010-07-15 Intrinsic Id Bv Device and method for providing authentication
US20110215829A1 (en) * 2007-08-22 2011-09-08 Intrinsic Id B.V. Identification of devices using physically unclonable functions
CN101542496A (zh) * 2007-09-19 2009-09-23 美国威诚股份有限公司 利用物理不可克隆功能的身份验证
US8868923B1 (en) * 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
US20160110571A1 (en) * 2013-07-02 2016-04-21 Soongsil University Research Consortium Techno-Park Rfid tag authentication system
CN105723651A (zh) * 2013-11-10 2016-06-29 赛普利斯电子有限责任公司 可验证装置
US20150195088A1 (en) * 2014-01-03 2015-07-09 William Marsh Rice University PUF Authentication and Key-Exchange by Substring Matching

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHRISTOPHER HUTH ET AL.: "《Securing systems on the Internet of Things via physical properties of devices and communications》", 《2015 ANNUAL IEEE SYSTEMS CONFERENCE (SYSCON) PROCEEDINGS》 *
GHAITH HAMMOURI AND BERK SUNAR: "《PUF-HB: A Tamper-Resilient HB Based Authentication Protocol》", 《APPLIED CRYPTOGRAPHY AND NETWORK SECURITY,6TH INTERNATIONAL CONFERENCE, ACNS 2008》 *
李艳,周清雷: "《PUF-NLHB:基于PUF的轻量级认证协议》", 《小型微型计算机系统》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677254A (zh) * 2019-09-20 2020-01-10 广州城市职业学院 一种超轻量级的rfid认证方法
CN110677254B (zh) * 2019-09-20 2022-06-10 广州城市职业学院 一种超轻量级的rfid认证方法

Also Published As

Publication number Publication date
EP3563516A1 (en) 2019-11-06
WO2018122230A1 (en) 2018-07-05
CN110089075B (zh) 2022-12-27
EP3563516B1 (en) 2020-09-16
US20190349208A1 (en) 2019-11-14
US11146410B2 (en) 2021-10-12

Similar Documents

Publication Publication Date Title
CN110089075A (zh) 用于计算模糊提取器的矩阵的伪随机生成以及用于验证的方法
CN104885404B (zh) 无线电标签和阅读器之间相互认证的方法
WO2006038183A1 (en) Two-way error correction for physical tokens
CN105553648A (zh) 量子密钥分发、隐私放大及数据传输方法、装置及系统
CN106576046B (zh) 将元数据与硬件固有属性绑定的系统和设备
EP3317997B1 (en) Quantum tokens
CN102165458A (zh) 认证装置和用户
US9553729B2 (en) Authentication method between a reader and a radio tag
CN110290134A (zh) 一种身份认证方法、装置、存储介质及处理器
JP2010528512A (ja) 検証エンティティによるエンティティの認証方法
CN110100413A (zh) 用于认证的鲁棒计算模糊提取器及方法
KR102554982B1 (ko) 역계산 퍼지 추출기 및 인증을 위한 방법
Agrawal et al. Game-set-MATCH: Using mobile devices for seamless external-facing biometric matching
CN104966193A (zh) 一种利用蓝牙的安全传送id的系统和方法
CN115913577B (zh) 一种基于轻量级spongent哈希算法的抗物理克隆设备认证系统及方法
CN110089073A (zh) 用于通过无线通信系统控制致动器的设备、系统和方法
CN112417424A (zh) 一种电力终端的认证方法及系统
JP2003298570A (ja) 秘密証拠供託方法および秘密証拠供託システム
CN104184591A (zh) 一种ttf认证方法
JP6059160B2 (ja) シェア変換システム、シェア変換方法、プログラム
Abdul-Jabbar Secure QR-code generation in healthcare
US20060126826A1 (en) Apparatus and method of encoding and decoding information
KR20180117858A (ko) 양자 암호 기반의 암호화 통신 시스템 및 그에 의한 인증 방법
KR100873790B1 (ko) 저가의 전자장치에 적합한 인증 시스템 및 인증 방법
CN115587811A (zh) 数字签名的验证方法及装置

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