使用不可克隆函数的安全身份证的制作方法

文档序号:29715796发布日期:2022-04-16 18:34阅读:86来源:国知局
使用不可克隆函数的安全身份证的制作方法

1.本文中描述的实施方式通常涉及电子凭证系统,并且特别地,涉及安全认证。


背景技术:

2.身份证件例如身份证可以具有存储在其上的多条信息。当使用时,由读取器设备或询问器设备读取身份证。使用各种安全机制来保护存储在身份证上的各条信息,以限制读取器设备的访问。
附图说明
3.在附图中,附图不一定按比例绘制,相似的附图标记可以描述不同视图中的类似的部件。具有不同字母后缀的相似附图标记可以表示类似部件的不同实例。一些实施方式通过示例而不是限制的方式在附图的图中示出,在附图中:
4.图1是示出根据实施方式的凭证系统的框图;
5.图2是示出根据实施方式的在验证者设备上执行的应用与用户设备上的之间的交互的消息序列图;
6.图3是根据实施方式的用于使用物理不可克隆函数(puf)的方法的流程图;
7.图4是根据实施方式的用于使用基于软件的不可克隆函数的方法的流程图;
8.图5是示出根据实施方式的在认证机制中使用不可克隆函数的方法的流程图;
9.图6是示出根据实施方式的在认证机制中使用不可克隆函数的方法的流程图;以及
10.图7是示出根据实施方式的示例机器的框图,可以在该机器上执行本文中讨论的技术(例如,方法)中的任何一种或更多种。
具体实施方式
11.在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对一些示例实施方式的透彻理解。然而,对于本领域技术人员而言将明显的是,可以在没有这些具体细节的情况下实践本公开内容。
12.个人电子身份证正在变得越来越流行。这样的卡可以由政府、学校、医疗保健系统等发行。为了使用个人电子身份证,使用读卡器(例如,读取器设备或询问器设备)来读取包含在卡上的一些或全部信息。存在各种适当的协议来规定读取器设备如何访问身份证上的数据。
13.存在以下安全风险:恶意方可能克隆个人身份证,并且然后通过冒充该卡的所有者来使用该卡以访问地点或资源。本公开内容在用于访问身份证上的数据的安全协议中引入了对不可克隆函数的使用。不可克隆函数可以分为两类:基于软件的和基于硬件的。基于软件的不可克隆函数包括使用单向抽象数学函数的函数,例如素数因式分解、离散对数问题和散列。基于硬件的不可克隆函数使用底层硬件的物理结构或制造的固有随机性来创建
唯一的签名。基于硬件的不可克隆函数也称为物理不可克隆函数(puf)。
14.存在若干不同类型的puf。这些包括光学puf、涂层puf、延迟puf、静态随机存取存储器(sram)puf、射频(rf)puf、蝶形puf、双稳态环puf、数字puf、磁性puf、金属电阻puf等。使用制造和材料的自然变化,几乎保证每个puf是唯一的表示。例如,数字puf是基于在制造期间由光刻变化引起的互连几何随机性,而光学puf是基于施加至表面的光散射粒子的随机施加,当被照射时,其投射独特且可再现的散斑图案。puf是基于物理系统并且是使用物理系统进行评估的可重复且直接的方式。
15.使用不可克隆函数提供了增加的安全性,因为其输出看起来像随机函数,即使对于具有物理权限的攻击者,该随机函数也是不可预测的。不可克隆性是指使用已知技术来设计或制造具有相同区别性特征的另一功能或系统的成本将过于昂贵或不切实际的功能或系统。
16.本公开内容描述了用于通过使用不可克隆函数来提供身份证上的数据元素的更强安全性的改进的通信机制。下面讨论附加特征。
17.系统概述
18.身份凭证(例如,电子证件、卡、移动简档等)包括诸如名字和姓氏、出生日期、地址等的信息。在数字世界中,每条信息是数据元素,并且这些数据元素组合成发布给目标用户的包。具有数字凭证提供了若干优点。信息和证件易于访问。信息是集中的并且可以存储在网络位置中,从而提供备份和冗余。与常规凭证相比,数字凭证还可以更不易于伪造和破坏。
19.此处提供一些术语用于共同参考。应当理解的是,这些术语是非限制性的,并且可以使用所描述的系统和方法中的操作、部件或设备的其他术语、短语或描述。
20.包——包是数据的名称与值的对的集合。数据对的名称可以称为标签、字段或描述。包可以包括关于包的元数据,例如包散列、包签名、包到期等。
21.凭证——凭证是一个或更多个包的封装。聚合凭证包括两个或更多个包。凭证可以包括描述以下的元数据:凭证的发行者、到期或有效日期、或关于凭证的其他信息。
22.发行者——发行者是提供包的个人、实体、服务或其他平台。发行者可以证明包中所包含的数据的真实性、有效性和正确性。发行者可以对包进行签名或者对包中的个人数据进行签名。发行者可以是作为创建数据的发行者的原始发行者,或者是作为再次使用原始发行者的数据的发行者的再发行者。发行者或再发行者可以发行包作为凭证。
23.由发行者提供的数据可以具有相关联的保证级别。保证级别是数据的可信度的指示。保证级别可以是数值范围、字母等级或其他指示。由原始发行者发行的数据可以具有最高保证级别。随着数据在衍生包中被再发行者再次使用和再次发布,保证级别可能逐步降低。通过分析包含在包中的数据的保证级别,能够看到当前包中的数据与原始发行者相距多少步。
24.验证者——验证者是验证包或凭证中数据的设备、人员、实体、服务或其他平台。验证者可以从用户凭证(例如销售点)获得数据,并且然后联系一个或更多个发行者以证实数据。可以使用其他形式的证实,例如通过分析数据签名、分析区块链等。验证者可以验证凭证的真实性或有效性。
25.图1是示出根据实施方式的凭证系统100的框图。凭证系统100包括发行核心包
104a、104b(统称为104)的第一原始发行者102a和第二原始发行者102b(统称为102)。核心包104包括由原始发行者102生成的标签和值。凭证系统100还包括再发行者106,再发行者106对来自凭证系统100中的一个或更多个发行者(或再发行者)的数据进行编译,并且再发行具有来自两个或更多个包的内容的聚合凭证。虽然示出了一个再发行者106,但是应当理解的是,在凭证系统100中多于一个的再发行者106可以是活跃的。
26.再发行者106还可以通过发行其自己的包并将该包与来自其他发行者102的包的数据合并来将其自己的数据添加至聚合凭证。再发行者106可以对其自己的包、其自己的包的部分或聚合凭证进行签名。
27.在图1所示的示例中,第一原始发行者102a是发行出生证明的政府机构(例如,县的公共卫生办公室)。第一原始发行者102a是首先记录用户姓名、出生日期(dob)和出生地的地方。第二原始发行者102b是生产车辆的车辆制造商。生产的每个车辆使用车辆识别号码(vin)唯一地标识。第二原始发行者102b创建具有描述车辆的数据的包。
28.再发行者106可以是产生针对车辆所有权的包的政府机构(例如,机动车辆部门(dmv))。车辆所有权使用唯一地标识该所有权的所有权标识符来进行标识。因此,由再发行者106产生的聚合凭证可以包括:由再发行者106发行的车辆所有权标识符;来自第一原始发行者102a的描述所有者的个人信息的包的一些或全部信息;以及来自第二原始发行者102b的描述车辆的包的一些或全部信息。
29.凭证数据库108可以用于存储来自一个或更多个发行者102或再发行者106的包和其他数据。凭证数据库108可以使用关系数据库管理系统(rdbms)来将包信息组织成表。凭证数据库108可以由各种实体或用户(例如再发行者106、验证者110或用户设备112处的用户)查询。再发行者106可以查询凭证数据库108以获得原始包信息来填充聚合凭证。凭证数据库108可以在一个或更多个服务器上实现,一个或更多个服务器可以由凭证发行实体拥有或操作。在一些实施方式中,凭证发行实体访问凭证数据库108作为服务的一部分。
30.凭证系统100的各种部件可以在一个或更多个网络114上通信,一个或更多个网络114可以包括有助于机器对机器通信的任何已知类型的网络。在不脱离本公开内容的范围的情况下,网络114可以使用相同的通信协议或不同的协议。网络114可以包括有线或无线通信技术。因特网是通信网络的示例,其构成包括通过许多电话系统和其他手段连接的许多计算机、计算网络以及位于世界各地的其他通信设备的因特网协议(ip)网络。通信网络的其他示例包括但不限于普通老式电话系统(pots)、综合业务数字网(isdn)、公共交换电话网(pstn)、局域网(lan)、广域网(wan)、会话发起协议(sip)网络、基于因特网协议的语音(voip)网络、蜂窝网络以及本领域已知的任何其他类型的分组交换或电路交换网络。另外,可以理解的是,通信网络114不必限于任何一种网络类型,而是可以包括几种不同的网络或网络类型。此外,网络114可以包括若干不同的通信介质,例如同轴线缆、铜线缆/导线、光纤线缆、用于发送/接收无线消息的天线以及它们的组合。
31.用户设备112和验证者设备110可以是任何类型的计算设备。用户设备112通常本质上是便携式的,并且可以采用蜂窝电话、移动设备、智能电话、个人数字助理、膝上型计算机、平板计算机、可穿戴设备、便携式凭证卡、密钥卡等的形式。应当理解的是,验证者设备110不必采用移动设备的形式,而是可以实现为个人计算机、台式计算机、信息亭、支付终端、信标等的一部分。
32.在业务期间,可以要求具有用户设备112的用户将凭证116或凭证116的一部分呈现给验证者设备110。例如,验证者设备110可以是具有信标的销售点终端。信标可以周期性地尝试与在通信范围内或者在某个阈值接近度内的用户设备112连接。验证者设备110可以通过无线通信(例如,或wi-fi)与用户设备112连接,并且从用户设备112获得凭证116中的一些或全部。例如,当用户接近结账通道时,信标可以通告连接,用户设备112使用该连接来与信标连接并且构建安全连接。信标可以请求特定凭证信息,例如用户的姓名和信用卡号,并且用户设备112可以利用该信息来进行响应。用户可以选择性地向验证者设备110共享凭证116的部分,以尽可能多地维护个人隐私。验证者设备110可以通过访问发行者102、再发行者106或凭证数据库108来对凭证116进行证实。
33.根据组织系统的方式,用户设备112可以从一个或更多个发行者102或再发行者106获得一个或更多个凭证116。例如,用户可以从政府机动车辆机构获得驾驶执照凭证,并且从健康保险公司获得医疗保健身份卡。替选地,用户可以获得包括来自政府机动车辆机构的包和来自健康保险机构的另一个包的复合凭证。
34.可以由用于从验证者设备110访问用户设备112上的数据的协议和命令集来控制用户设备112与验证者设备110之间的交互。在实施方式中,协议和命令集是来自hid全球公司(hid globalcorporation)的核(core)。
35.核是呈在设备上执行的应用或固件形式的软件实现方式,其管理和保护通过命令集可访问的数据容器的集合。每个数据容器被称为应用数据文件(adf)。每个adf在容器内由oid(对象标识符)唯一地标识。oid是全局唯一的。访问容器的应用将使用oid以选择其希望读取/写入的adf。adf本身包括多个对象。
36.存在用于向已建立的adf读取和写入数据的命令序列。不管应用是读取还是写入数据,它必须首先选择其希望寻址的adf,并且然后建立与该adf的安全信道。一旦这已经完成,则其可以使用put data命令向adf写入或者使用get data命令从adf读取。
37.为了首先访问adf,使用select adf命令以选择应用希望从其读取/向其写入的adf。它需要拥有该adf的秘密密钥集。该密钥集在adf内定义。秘密密钥不是多样化的。
38.general authenticate命令在核内建立与特定adf的安全信道。它需要拥有该adf的认证密钥集。这些密钥集在adf内定义。认证密钥是多样化的,并且因此对于核的每个实例是唯一的。注意,单个adf可以具有多个认证密钥集。可以在adf内定义访问控制规则,其确定必须使用哪个认证密钥集来获得对该adf内的特定对象的读取或写入访问。
39.下一个命令是put data。该命令使得应用能够将数据写入adf内的识别对象。它需要拥有在general authenticate期间建立的会话密钥。另一个命令是get data。该命令使得应用能够从adf内的识别对象读取数据。还存在创建和销毁核内的adf的命令。
40.图2是示出根据实施方式的在验证者设备(例如,验证者设备110)上执行的应用200与用户设备(例如,用户设备112)上的核202之间的交互的消息序列图。应用200发出select seos命令(210)以选择核。这在本地卡中是可选的,因为核是默认应用。核202以文件控制信息进行响应(215)。
41.然后,应用200使用adf的oid发出select adf命令(220)。可以在select adf命令(220)中指定多个adf oid。为了增强安全性,select adf命令(220)包括所支持的不可克隆函数的列表和质询值x。质询值可以是随机值(例如,机器生成的伪随机值)。质询值可以被限制为特定长度,例如4位、8位、2字节或取决于实现方式的其他大小。列表和质询值包括在select adf消息的数据部分中。
42.响应于select adf命令(220),核提供具有数据的加密消息(225),所述数据用于在应用200访问adf的内容时的稍后阶段期间的密钥导出中使用。另外,对select adf命令的响应(225)包括所支持的不可克隆函数的列表所使用的不可克隆函数的标识符(f
used
)以及所使用的不可克隆函数的输出(f(x))。提供所支持的不可克隆函数的列表作为应用200验证响应是有效的并且核202是真实的方式。例如,应用200可以将select adf命令(220)中发送的的值与响应(225)中的的值进行比较,以验证有效响应。
43.如果核202不支持列表中的任何函数,则返回值f(x)等于质询值x。如果核202支持列表中的至少一个函数,则核202可以执行不可克隆函数(操作222)并且返回结果以及对执行了哪个函数的指示(225)。将不可克隆函数的输出f(x)与先前确定的值进行比较以对设备进行证实(操作227)。
44.列表可以包括基于软件的不可克隆函数或基于硬件的不可克隆函数。对于基于软件的不可克隆函数,质询值可以用作函数的输入,并且f(x)是输出。对于基于硬件的不可克隆函数(例如,puf),质询值可以是用于配置硬件的参数。
45.用户设备可以支持硬件不可克隆函数和软件不可克隆函数的组合。例如,用户设备可以实现诸如sram puf、数字puf和蝶形puf的若干硬件puf。每个puf可以使用诸如sram、成对预指定的触发器、预指定的电路等的特定硬件部件。质询值可以用于控制输入的类型、输入的定时、输入的量值或其他方面以触发用户设备的电路、部件或方面中的puf功能。
46.在通过select adf命令(220)选择adf之后,认证阶段用于向adf认证应用200。向核202发出general authenticate命令(230)。对general authenticate命令(230)的响应(235)包括来自核202的用于相互认证的数据。在相互认证中,应用200向核202认证,并且核202向应用200认证。作为相互认证操作的一部分,应用200在general authenticate命令(230)中发送列表和质询值y。在认证操作中使用的f
sup
列表可以不同于以上在select adf(220)通信中使用的列表,或者可以是相同的列表。在响应(235)中,核202包括f
sup
、f
used
和f(y),f(y)是以y作为输入的所使用的不可克隆函数的输出(操作232)。将不可克隆函数的输出f(y)与先前确定的值进行比较以对设备进行证实(操作237)。
47.应用200可以使用返回值f(x)或f(y)来确定核202是否真实以及消息是否有效。将返回值与映射到输入质询值(例如,分别为x或y)的先前已知的结果值进行比较(分
别为操作227或237)。可以将先前已知的结果值存储在安全存储器设备中,并且可以使用安全通信机制将其提供给应用200。先前已知的结果值可以相对于应用200远程存储(例如,在云服务中)并且使用安全通信信道获得。在一些情况下,使用一系列输入值来获得一系列输出值,并且输入值和对应输出值中的每一个存储在安全存储器设备中用于以后参考。输入和输出值可以利用对应的设备标识符或核202标识符进行存储,以唯一地标识与该设备对应的输入/输出对。
48.在应用200与核202相互认证之后,可以执行诸如get data或put data操作的附加操作(240),以从adf中检索数据或者将数据插入adf。
49.尽管此处在各种使用情况下描述了但是应当理解的是,支持puf的安全机制的实现方式不限于装置。以下部分包括能够在任何安全资源设施中实现的处理流程的描述。通常,puf被指定并且提供给执行puf并返回结果的用户设备。对照先前存储的值验证结果以对用户设备进行证实。本文献中描述了附加实施方式和特征。
50.图3是根据实施方式的用于使用物理不可克隆函数(puf)的方法300的流程图。制造puf(操作302)。根据不可克隆函数生成质询和响应对(操作304)。这些质询和响应对可以用于多种类型的所支持的不可克隆函数。质询和响应对存储在安全存储器装置(操作306)。安全存储装置可由验证者设备访问。将puf(例如,用户设备、身份证等)提供给用户设备(操作308)。当用户准备好呈现用户设备以用于认证时,验证者设备从已知质询/响应对中选择质询并且将其发送至用户设备(操作310)。用户设备运行对puf的质询并且返回响应(操作312)。然后,验证者设备能够基于保存在安全存储装置中的质询/响应对来检查并确保响应是正确的(操作314)。如果存在由用户设备支持的若干puf,则用户设备可以选择一个并且将质询用于该特定一个,并且然后向验证者设备提供使用了哪个puf的指示。
51.图4是根据实施方式的用于使用基于软件的不可克隆函数的方法400的流程图。识别基于软件的不可克隆函数并且将其存储在安全存储装置中(402)。验证者设备和用户设备中的每一个可以访问不可克隆函数。当用户准备好呈现用户设备以用于认证时,验证者设备选择质询并且将其发送至用户设备(操作404)。质询可以是随机值。用户设备选择要执行的不可克隆函数(操作406)。不可克隆函数可以从由验证者设备所支持的不可克隆函数的列表中选择。用户设备利用所选择的不可克隆函数运行质询并返回响应(操作408)。用户设备还包括在执行中使用哪个不可克隆函数的指示。然后,验证者设备能够通过利用初始质询执行相同的不可克隆函数并将结果与用户设备提供的结果进行比较来检查并确保响应是正确的(操作410)。
52.操作
53.图5是示出根据实施方式的在认证机制中使用不可克隆函数的方法500的流程图。方法500开始于操作502,在操作502处,在用户设备处从验证者设备接收所支持的不可克隆函数的指示和质询值。在实施方式中,所支持的不可克隆函数的指示被包括在消息结构的字段中。在实施方式中,质询值是随机值。
54.在504处,从所支持的不可克隆函数中识别不可克隆函数。这样获得了所选择的不可克隆函数。
55.在506处,基于质询值执行所选择的不可克隆函数,以获得结果。在实施方式中,所
选择的不可克隆函数是物理不可克隆函数(puf)。在另一实施方式中,基于质询值执行不可克隆函数包括以质询值作为puf的输入比特值来执行puf。
56.在实施方式中,所选择的不可克隆函数是基于软件的不可克隆函数。在另一实施方式中,基于质询值执行不可克隆函数包括以质询值作为基于软件的不可克隆函数的输入值来执行基于软件的不可克隆函数。
57.在508处,将所支持的不可克隆函数的指示、所选择的不可克隆函数以及结果发送至验证者设备以对用户设备进行认证。
58.在实施方式中,凭证存储在用户设备的存储器设备中。在另一实施方式中,不可克隆函数用于保护凭证。在另一实施方式中,方法500包括从验证者设备接收消息以访问凭证,该消息包括所支持的不可克隆函数的指示和质询值,并且该消息具有由协议定义的对应响应消息格式。方法500包括使用对应的响应消息格式将所支持的不可克隆函数的指示、所选择的不可克隆函数和结果发送至验证者设备,以对用户设备进行认证。消息格式可以是命令协议,例如select adf或general authenticate。
59.图6是示出根据实施方式的在认证机制中使用不可克隆函数的方法600的流程图。方法600开始于操作602,在操作602处,验证者设备向用户设备发送所支持的不可克隆函数的指示和质询值。在实施方式中,所支持的不可克隆函数的指示被包括在消息结构的字段中。在实施方式中,质询值是随机值。
60.在604处,从用户设备接收所支持的不可克隆函数的指示、所选择的不可克隆函数和结果。在响应传输中,所选择的不可克隆函数从所支持的不可克隆函数中选择,并且结果是在质询值用作所选择的不可克隆函数的输入的情况下从所选择的不可克隆函数的输出中得出的。在实施方式中,所选择的不可克隆函数是物理不可克隆函数(puf)。在另一实施方式中,所选择的不可克隆函数是基于软件的不可克隆函数。
61.在606处,获得以质询值作为输入的所选择的不可克隆函数的预期结果。这可以从先前利用用户设备测试和生成的质询/响应对的数据库中获得。因此,在实施方式中,以质询值作为输入来获得所选择的不可克隆函数的预期结果包括:访问具有用于用户设备的所支持的不可克隆函数的质询/响应对的安全存储设备,以及通过使用质询值和所选择的不可克隆函数对询问/响应对执行查找来获得预期结果。
62.在608处,基于预期结果与从用户设备接收的结果之间的比较来对用户设备进行认证。
63.示例系统部件
64.实施方式可以以硬件、固件和软件中的一种或者硬件、固件和软件的组合来实现。实施方式还可以被实现为存储在机器可读存储设备上的指令,所述指令可以由至少一个处理器读取和执行以执行本文中描述的操作。机器可读存储设备可以包括用于以机器(例如,计算机)可读的形式存储信息的任何非暂态机制。例如,机器可读存储设备可以包括只读存储器(rom)、随机存取存储器(ram)、磁盘存储介质、光学存储介质、闪存设备以及其他存储设备和介质。
65.处理器子系统可以用于执行机器可读介质上的指令。处理器子系统可以包括一个或更多个处理器,每个处理器具有一个或更多个核。另外,处理器子系统可以设置在一个或更多个物理设备上。处理器子系统可以包括一个或更多个专用处理器,例如图形处理单元
(gpu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)或固定功能处理器。
66.如本文中所描述的,示例可以包括逻辑或多个部件、模块或机制,或者可以对逻辑或多个部件、模块或机制进行操作。模块可以是通信地耦接至一个或更多个处理器以执行本文中描述的操作的硬件、软件或固件。模块可以是硬件模块,并且这样的模块可以被认为是能够执行指定操作的有形实体并且可以以特定方式配置或布置。在示例中,可以以指定方式将电路布置(例如,在内部或者相对于诸如其他电路的外部实体)为模块。在示例中,一个或更多个计算机系统(例如,独立的客户端或服务器计算机系统)或一个或更多个硬件处理器的全部或部分可以通过固件或软件(例如,指令、应用部分或应用)配置为进行操作以执行指定操作的模块。在示例中,软件可以驻留在机器可读介质上。在示例中,软件在由模块的底层硬件执行时使硬件执行指定操作。因此,术语硬件模块应被理解为包含有形实体,有形实体是被物理构造、被专门配置(例如,硬连线)或被临时(例如,暂时)配置(例如,编程)成以指定方式进行操作或执行本文中描述的任何操作中的部分或全部的实体。考虑其中临时配置模块的示例,不需要在任何一个时刻实例化每个模块。例如,其中,模块包括使用软件配置的通用硬件处理器;通用硬件处理器可以在不同的时间被配置为各个不同的模块。软件可以对应地配置硬件处理器,例如以在一个时间实例构成特定模块并在不同时间实例构成不同模块。模块也可以是操作成执行本文中描述的方法的软件模块或固件模块。
67.如在本文献中使用的,电路系统或电路可以例如单独地或以任何组合包括硬连线电路系统、可编程电路系统例如包括一个或更多个单独指令处理核的计算机处理器、状态机电路系统和/或存储由可编程电路系统执行的指令的固件。电路、电路系统或模块可以共同地或单独地被实施为形成较大系统例如集成电路(ic)、片上系统(soc)、台式计算机、膝上型计算机、平板计算机、服务器、智能电话等的一部分的电路系统。
68.如在本文中的任何实施方式中所使用的,术语“逻辑”可以是指被配置成执行前述操作中的任何操作的固件和/或电路系统。固件可以被实施为在存储器设备和/或电路系统中硬编码(例如,非易失性)的代码、指令或指令集和/或数据。
69.如在本文中的任何实施方式中所使用的,“电路系统”可以例如单独地或以任何组合包括硬连线电路系统、可编程电路系统、状态机电路系统、存储由可编程电路系统执行的指令的逻辑和/或固件。电路系统可以实施为集成电路,例如集成电路芯片。在一些实施方式中,电路系统可以至少部分地由执行与本文中描述的功能对应的代码和/或指令集(例如,软件、固件等)的处理器电路系统形成,从而将通用处理器转换为专用处理环境以执行本文中描述的操作中的一个或更多个。在一些实施方式中,处理器电路系统可以被实施为独立的集成电路,或者可以被并入为集成电路上的若干个部件之一。在一些实施方式中,节点或其他系统的各种部件和电路系统可以组合在片上系统(soc)架构中。
70.图7是示出根据实施方式的以计算机系统700为的示例形式的机器的框图,在计算机系统700内可以执行指令集或指令序列以使机器执行本文中所讨论的方法中的任何一种方法。在替选实施方式中,机器作为独立设备进行操作或者可以连接(例如,联网)至其他机器。在联网的部署中,机器可以在服务器-客户端网络环境中以服务器或客户端机器的身份进行操作,或者机器可以在对等(或分布式)网络环境中用作对等机器。机器可以是智能标识卡、智能凭证、电子凭证、验证者设备、用户设备、移动设备、个人计算机(pc)、平板pc、混合平板计算机、个人数字助理(pda)、移动电话、信息亭、信标或者能够执行指定要由该机器
采取的动作的指令(顺序或以其他方式)的任何机器。此外,虽然仅示出了单个机器,但是术语“机器”也应被认为包括机器的任何集合,这些机器单独地或共同地执行一组(或多组)指令以执行本文中所讨论的方法中的任何一种或更多种方法。类似地,术语“基于处理器的系统”应被认为包括由处理器(例如,计算机)控制或操作成单独地或共同地执行指令以执行本文中所讨论的方法中的任何一种或更多种方法的一个或更多个机器的任何集合。
71.示例计算机系统700包括至少一个处理器702(例如,中央处理单元(cpu)、图形处理单元(gpu)或两者、处理器内核、计算节点等)、主存储器704和静态存储器706,它们经由链路708(例如,总线)彼此进行通信。计算机系统700还可以包括视频显示单元710、字母数字输入设备712(例如,键盘)和用户界面(ui)导航设备714(例如,鼠标)。在实施方式中,视频显示单元710、输入设备712和ui导航设备714被并入至触摸屏显示器中。计算机系统700可以另外包括存储设备716(例如,驱动单元)、信号生成设备718(例如,扬声器)、网络接口设备720以及一个或更多个传感器(未示出),例如全球定位系统(gps)传感器、指南针、加速度计、陀螺仪、磁力计或其他类型的传感器。
72.存储设备716包括机器可读介质722,在机器可读介质722上存储有一组或更多组数据结构和指令724(例如,软件),这些数据结构和指令724由本文中描述的方法或功能中的任何一种或更多种体现或利用。在指令724由计算机系统700执行期间,指令724也可以全部或至少部分地驻留在主存储器704、静态存储器706中和/或驻留在处理器702中,其中主存储器704、静态存储器706和处理器702也构成机器可读介质。
73.尽管在示例实施方式中机器可读介质722被示出为单个介质,但是术语“机器可读介质”可以包括存储一个或更多个指令724的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的高速缓存和服务器)。术语“机器可读介质”也应被认为包括任何有形介质,所述任何有形介质能够存储、编码或携载由机器执行并且使机器执行本公开内容的方法中的任何一种或更多种方法的指令,或者所述任何有形介质能够存储、编码或携载由这样的指令利用或与这样的指令相关联的数据结构。因此,术语“机器可读介质”应被认为包括但不限于固态存储器以及光和磁介质。机器可读介质的特定示例包括非易失性存储器,非易失性存储器通过示例的方式包括但不限于半导体存储设备(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和闪存设备;诸如内部硬盘和可移除盘的磁盘;磁光盘;以及cd-rom和dvd-rom盘。
74.还可以利用许多公知的传输协议(例如,http)中的任何一种传输协议经由网络接口设备720使用传输介质在通信网络726上发送或接收指令724。通信网络的示例包括局域网(lan)、广域网(wan)、因特网、移动电话网络、普通老式电话(pots)网络和无线数据网络(例如,蓝牙、wi-fi、3g和4g lte/lte-a、5g、dsrc或wimax网络)。术语“传输介质”应被认为包括能够存储、编码或携载由机器执行的指令并且包括数字或模拟通信信号的任何无形介质或者用于促进这种软件的通信的其他无形介质。
75.其他注释和示例:
76.示例1是一种用户设备,包括:存储器设备;以及处理器子系统,所述处理器子系统在由存储在所述存储器设备上的指令配置时能够操作以执行包括如下步骤的操作:从验证者设备接收所支持的不可克隆函数的指示和质询值;从所支持的不可克隆函数中确认不可克隆函数,以获得所选择的不可克隆函数;基于所述质询值执行所选择的不可克隆函数,以
获得结果;以及将所支持的不可克隆函数的所述指示、所选择的不可克隆函数和所述结果发送至所述验证者设备以认证所述用户设备。
77.在示例2中,示例1的主题包括:其中,所支持的不可克隆函数的所述指示被包括在消息结构的字段中。
78.在示例3中,示例1至2的主题包括:其中,所述质询值是随机值。
79.在示例4中,示例1至3的主题包括:其中,所述选择的不可克隆函数是物理不可克隆函数(puf)。
80.在示例5中,示例4的主题包括:其中,基于所述质询值执行所述不可克隆函数包括:以所述质询值作为所述puf的输入比特值来执行所述puf。
81.在示例6中,示例1至5的主题包括:其中,所选择的不可克隆函数是基于软件的不可克隆函数。
82.在示例7中,示例6的主题包括:其中,基于所述质询值执行所述不可克隆函数包括:以所述质询值作为所述基于软件的不可克隆函数的输入值来执行所述基于软件的不可克隆函数。
83.在示例8中,示例1至7的主题包括:其中,所述存储器设备用以存储凭证。
84.在示例9中,示例8的主题包括:其中,所述不可克隆函数用于保护所述凭证。
85.在示例10中,示例9的主题包括:其中,所述处理器子系统能够操作以执行包括如下步骤的操作:从所述验证者设备接收消息以访问所述凭证,所述消息包括所支持的不可克隆函数的所述指示和所述质询值,并且所述消息具有由协议定义的相应的响应消息格式;以及使用所述相应的响应消息格式将所支持的不可克隆函数的所述指示、所选择的不可克隆函数和所述结果发送至所述验证者设备,以认证所述用户设备。
86.示例11是一种用于保护用户设备上的数据的方法,所述方法包括:从验证者设备接收所支持的不可克隆函数的指示和质询值;从所支持的不可克隆函数中确认不可克隆函数,以获得所选择的不可克隆函数;基于所述质询值执行所述选择的不可克隆函数,以获得结果;以及将所支持的不可克隆函数的所述指示、所选择的不可克隆函数和所述结果发送至所述验证者设备以认证所述用户设备。
87.在示例12中,示例11的主题包括:其中,所支持的不可克隆函数的所述指示被包括在消息结构的字段中。
88.在示例13中,示例11至12的主题包括:其中,所述质询值是随机值。
89.在示例14中,示例11至13的主题包括:其中,所选择的不可克隆函数是物理不可克隆函数(puf)。
90.在示例15中,示例14的主题包括:其中,基于所述质询值执行所述不可克隆函数包括:以所述质询值作为所述puf的输入比特值来执行所述puf。
91.在示例16中,示例11至15的主题包括:其中,所选择的不可克隆函数是基于软件的不可克隆函数。
92.在示例17中,示例16的主题包括:其中,基于所述质询值执行所述不可克隆函数包括:以所述质询值作为所述基于软件的不可克隆函数的输入值来执行所述基于软件的不可克隆函数。
93.在示例18中,示例11至17的主题包括:其中,所述凭证存储在所述用户设备的存储
器设备中。
94.在示例19中,示例18的主题包括:其中,所述不可克隆函数用于保护所述凭证。
95.在示例20中,示例19的主题包括:从所述验证者设备接收消息以访问所述凭证,所述消息包括所支持的不可克隆函数的所述指示和所述质询值,并且所述消息具有由协议定义的相应的响应消息格式;以及使用所述相应的响应消息格式将所支持的不可克隆函数的所述指示、所选择的不可克隆函数和所述结果发送至所述验证者设备,以认证所述用户设备。
96.示例21是一种机器可读介质,所述机器可读介质包括用于保护用户设备上的数据的指令,所述指令在由所述用户设备执行时使所述用户设备执行包括如下步骤的操作:从验证者设备接收所支持的不可克隆函数的指示和质询值;从所支持的不可克隆函数中确认不可克隆函数,以获得所选择的不可克隆函数;基于所述质询值执行所选择的不可克隆函数,以获得结果;以及将所支持的不可克隆函数的所述指示、所述选择的不可克隆函数和所述结果发送至所述验证者设备以认证所述用户设备。
97.在示例22中,示例21的主题包括:其中,所支持的不可克隆函数的所述指示被包括在消息结构的字段中。
98.在示例23中,示例21至22的主题包括:其中,所述质询值是随机值。
99.在示例24中,示例21至23的主题包括:其中,所述选择的不可克隆函数是物理不可克隆函数(puf)。
100.在示例25中,示例24的主题包括:其中,基于所述质询值执行所述不可克隆函数包括:以所述质询值作为所述puf的输入比特值来执行所述puf。
101.在示例26中,示例21至25的主题包括:其中,所选择的不可克隆函数是基于软件的不可克隆函数。
102.在示例27中,示例26的主题包括:其中,基于所述质询值执行所述不可克隆函数包括:以所述质询值作为所述基于软件的不可克隆函数的输入值来执行所述基于软件的不可克隆函数。
103.在示例28中,示例21至27的主题包括:其中,所述存储器设备用以存储凭证。
104.在示例29中,示例28的主题包括:其中,所述不可克隆函数用于保护所述凭证。
105.在示例30中,示例29的主题包括:其中,所述处理器子系统能够操作已执行包括如下步骤的操作:从所述验证者设备接收消息以访问所述凭证,所述消息包括所支持的不可克隆函数的所述指示和所述质询值,并且所述消息具有由协议定义的相应的响应消息格式;以及使用所述相应的响应消息格式将所支持的不可克隆函数的所述指示、所选择的不可克隆函数和所述结果发送至所述验证者设备,以认证所述用户设备。
106.示例31是一种验证者设备,包括:存储器设备;以及处理器子系统,所述处理器子系统在由存储在所述存储器设备上的指令配置时能够操作以执行包括如下步骤的操作:向用户设备发送所支持的不可克隆函数的指示和质询值;从所述用户设备接收所支持的不可克隆函数的所述指示、所选择的不可克隆函数和结果,从所支持的不可克隆函数中选择所选择的不可克隆函数,以及从所选择的不可克隆函数的输出导出所述结果,其中所述质询值被用作所选择的不可克隆函数的输入;以所述质询值作为输入来获得所述选择的不可克隆函数的预期结果;以及基于所述预期结果与从所述用户设备接收到的结果之间的比较来
认证所述用户设备。
107.在示例32中,示例31的主题包括:其中,所支持的不可克隆函数的所述指示被包括在消息结构的字段中。
108.在示例33中,示例31至32的主题包括:其中,所述质询值是随机值。
109.在示例34中,示例31至33的主题包括:其中,所选择的不可克隆函数是物理不可克隆函数(puf)。
110.在示例35中,示例31至34的主题包括:其中,所选择的不可克隆函数是基于软件的不可克隆函数。
111.在示例36中,示例31至35的主题包括:其中,以所述质询值作为输入来获得所选择的不可克隆函数的所述预期结果包括:访问具有用于所述用户设备的所支持的不可克隆函数的质询/响应对的安全存储设备;以及通过使用所述质询值和所选择的不可克隆函数对所述质询/响应对执行查找来获得所述预期结果。
112.示例37是一种在验证者设备处对用户设备进行认证的方法,所述方法包括:向所述用户设备发送所支持的不可克隆函数的指示和质询值;从所述用户设备接收所支持的不可克隆函数的所述指示、所选择的不可克隆函数和结果,从所述支持的不可克隆函数中选择所选择的不可克隆函数,以及从所选择的不可克隆函数的输出导出所述结果,其中所述质询值被用作所选择的不可克隆函数的输入;以所述质询值作为输入来获得所述选择的不可克隆函数的预期结果;以及基于所述预期结果与从所述用户设备接收到的结果之间的比较来认证所述用户设备。
113.在示例38中,示例37的主题包括:其中,所支持的不可克隆函数的所述指示被包括在消息结构的字段中。
114.在示例39中,示例37至38的主题包括:其中,所述质询值是随机值。
115.在示例40中,示例37至39的主题包括:其中,所选择的不可克隆函数是物理不可克隆函数(puf)。
116.在示例41中,示例37至40的主题包括:其中,所选择的不可克隆函数是基于软件的不可克隆函数。
117.在示例42中,示例37至41的主题包括:其中,以所述质询值作为输入来获得所选择的不可克隆函数的所述预期结果包括:访问具有用于所述用户设备的所述支持的不可克隆函数的质询/响应对的安全存储设备;以及通过使用所述质询值和所述选择的不可克隆函数对所述质询/响应对执行查找来获得所述预期结果。
118.示例43是一种机器可读介质,所述机器可读介质包括用于在验证者设备处对用户设备进行认证的指令,所述指令在由所述验证者设备执行时使所述验证者设备执行包括如下步骤的操作:向所述用户设备发送所支持的不可克隆函数的指示和质询值;从所述用户设备接收所支持的不可克隆函数的所述指示、所选择的不可克隆函数和结果,从所支持的不可克隆函数中选择所述选择的不可克隆函数,以及从所选择的不可克隆函数的输出导出所述结果,其中所述质询值被用作所选择的不可克隆函数的输入;以所述质询值作为输入来获得所选择的不可克隆函数的预期结果;以及基于所述预期结果与从所述用户设备接收到的结果之间的比较来认证所述用户设备。
119.在示例44中,示例43的主题包括:其中,所支持的不可克隆函数的所述指示被包括
在消息结构的字段中。
120.在示例45中,示例43至44的主题包括:其中,所述质询值是随机值。
121.在示例46中,示例43至45的主题包括:其中,所选择的不可克隆函数是物理不可克隆函数(puf)。
122.在示例47中,示例43至46的主题包括:其中,所选择的不可克隆函数是基于软件的不可克隆函数。
123.在示例48中,示例43至47的主题包括:其中,以所述质询值作为输入来获得所选择的不可克隆函数的所述预期结果包括:访问具有用于所述用户设备的所支持的不可克隆函数的质询/响应对的安全存储设备;以及通过使用所述质询值和所选择的不可克隆函数对所述质询/响应对执行查找来获得所述预期结果。
124.示例49是包括指令的至少一个机器可读介质,所述指令在由处理电路系统执行时使所述处理电路系统执行操作以实现示例1至48中的任意示例。
125.示例50是一种装置,所述装置包括用于实现示例1至48中的任意示例的手段。
126.示例51是一种用于实现示例1至48中的任意示例的系统。
127.示例52是一种用于实现示例1至48中的任意示例的方法。
128.上面的详细描述包括对附图的参考,这些附图形成了详细描述的一部分。附图通过说明的方式示出了可以实践的特定实施方式。这些实施方式在本文中也被称为“示例”。这样的示例可以包括除了示出或描述的要素之外的要素。然而,还设想了包括示出或描述的要素的示例。此外,还设想了关于特定示例(或者特定示例的一个或更多个方面)或者关于本文中示出或描述的其他示例(或者其他示例的一个或更多个方面)使用示出或描述的那些要素的任何组合或排列的示例(或者示例的一个或更多个方面)。
129.在本文献中引用的出版物、专利和专利文献通过引用以其全部内容并入本文中,就好像通过引用单独地并入一样。如果本文献与如此通过引用并入的那些文献之间的用法不一致,则并入的(一个或多个)参考文献中的用法是对本文献的用法的补充;对于矛盾的不一致之处,以本文献中的用法为准。
130.在本文献中,如在专利文献中常见的,术语“一”或“一个”被用来包括一个或多于一个,独立于“至少一个”或者“一个或更多个”的任何其他情况或用法。在本文献中,除非另有说明,否则术语“或”被用来指代非排他性或,使得“a或b”包括“a而非b”、“b而非a”以及“a和b”。在所附权利要求中,术语“包括(including)”和“其中(in which)”被用作相应术语“包括(comprising)”和“其中(wherein)”的普通英语等同物。此外,在所附权利要求中,术语“包括(including)”和“包括(comprising)”是开放式的,也就是说,包括除了权利要求中在这样的术语之后列出的那些要素之外的要素的系统、设备、物品或过程仍然被认为落入该权利要求的范围内。此外,在所附权利要求中,术语“第一”、“第二”和“第三”等仅用作标签,并且不旨在暗示其对象的数字顺序。
131.上面的描述旨在是说明性的,而不是限制性的。例如,上述示例(或者上述示例的一个或更多个方面)可以与其他示例结合使用。在查看上面的描述之后,可以例如由本领域的普通技术人员使用其他实施方式。摘要使得读者能够快速确定技术公开内容的性质。提交本文献是基于如下理解:本文献将不用来解释或限制权利要求的范围或含义。此外,在上面的具体实施方式中,各种特征可以被分组在一起以简化本公开内容。然而,由于实施方式
可以以所述特征的子集为特征,因此权利要求可能没有阐述本文中公开的每个特征。此外,实施方式可以包括比特定示例中公开的那些特征更少的特征。因此,所附权利要求据此被并入至具体实施方式中,其中权利要求本身作为单独的实施方式。本文中公开的实施方式的范围要参考所附权利要求以及这些权利要求所赋予的等同物的全部范围来确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1