CN111183611A - 具有物理不可克隆功能的设备 - Google Patents
具有物理不可克隆功能的设备 Download PDFInfo
- Publication number
- CN111183611A CN111183611A CN201880048790.7A CN201880048790A CN111183611A CN 111183611 A CN111183611 A CN 111183611A CN 201880048790 A CN201880048790 A CN 201880048790A CN 111183611 A CN111183611 A CN 111183611A
- Authority
- CN
- China
- Prior art keywords
- puf
- payment
- source
- data
- tamper
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims description 265
- 238000000034 method Methods 0.000 claims description 195
- 230000004044 response Effects 0.000 claims description 118
- 238000005259 measurement Methods 0.000 claims description 97
- 230000015654 memory Effects 0.000 claims description 73
- 238000012937 correction Methods 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 63
- 230000008569 process Effects 0.000 claims description 51
- 230000008859 change Effects 0.000 claims description 45
- 229910021417 amorphous silicon Inorganic materials 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000012986 modification Methods 0.000 claims description 12
- 238000002310 reflectometry Methods 0.000 claims description 11
- 229910021420 polycrystalline silicon Inorganic materials 0.000 claims description 7
- 230000015556 catabolic process Effects 0.000 claims description 5
- 229910001092 metal group alloy Inorganic materials 0.000 claims description 5
- 229920005591 polysilicon Polymers 0.000 claims description 5
- 238000001514 detection method Methods 0.000 abstract description 28
- 238000004891 communication Methods 0.000 description 57
- 238000004193 electrokinetic chromatography Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 21
- 238000012544 monitoring process Methods 0.000 description 20
- 238000004519 manufacturing process Methods 0.000 description 15
- 230000003750 conditioning effect Effects 0.000 description 13
- 238000003860 storage Methods 0.000 description 13
- 239000000758 substrate Substances 0.000 description 11
- 238000012360 testing method Methods 0.000 description 11
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 10
- 239000003990 capacitor Substances 0.000 description 8
- 229910052710 silicon Inorganic materials 0.000 description 8
- 239000010703 silicon Substances 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000005553 drilling Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000000576 coating method Methods 0.000 description 6
- 238000011022 operating instruction Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 239000011248 coating agent Substances 0.000 description 5
- 230000007613 environmental effect Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 239000004020 conductor Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000246 remedial effect Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000001052 transient effect Effects 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 230000035699 permeability Effects 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 150000003071 polychlorinated biphenyls Chemical class 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000638 stimulation Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 229910000859 α-Fe Inorganic materials 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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/3278—Cryptographic 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
一种设备可以包括一个或多个源,诸如用作适于物理不可克隆功能(PUF)数据的源的电路元件和电气组件。可以从PUF源获取PUF数据。所得的PUF值可用于生成可用于设备安全操作(诸如加密和篡改检测)的信息。
Description
相关申请
本申请要求于2018年3月30日提交的且题为“具有可修改的物理不可克隆功能的设备(Devices with Modifiable Physically Unclonable Functions)”的美国专利申请第15/942,288号的优先权,该美国专利申请通过引用并入本文。本申请要求于2018年3月30日提交的且题为“具有板载物理不可克隆功能的设备(Devices with On-BoardPhysically Unclonable Functions)”的美国专利申请第15/942,299号的优先权,该美国专利申请通过引用并入本文。本申请要求于2018年1月31日提交的且题为“具有物理不可克隆功能的设备安全性(Device Security with Physically Unclonable Functions)”的美国专利申请第15/885,688号的优先权,该美国专利申请通过引用并入本文。本申请要求于2018年1月16日提交的且题为“具有可修改的物理不可克隆功能的设备(Devices withModifiable Physically Unclonable Functions)”的美国临时申请第62/617,993号的优先权,该美国专利申请通过引用并入本文。本申请还要求于2017年12月15日提交的且题为“具有物理不可克隆功能的设备安全性(Device Security with Physically UnclonableFunctions)”的美国专利申请第15/844,510号的优先权,该美国专利申请通过引用并入本文。本申请进一步要求于2017年7月18日提交的且题为“具有物理不可克隆功能的设备安全性(Device Security with Physically Unclonable Functions)”的美国临时专利申请第62/534,181号的优先权,该美国专利申请通过引用并入本文。
背景技术
电子设备可执行涉及关键信息的操作,关键信息诸如个人识别信息、账户信息、医疗信息、商业信息或具有经济或其他价值的各种其他类型的敏感信息。对于尝试通过窃听或破解设备来访问此类关键信息的黑客或其他攻击者而言,此类电子设备可能是适合的目标。例如,攻击者可能会尝试监视发送到设备或由设备接收的信号以及设备内部的信号。这可以通过非侵入性或侵入性手段来完成。在许多情况下,攻击者尝试物理访问设备的组件,诸如承载数据的一条或多条通信线路或通信和处理支付信息的处理器。攻击者还可能尝试模拟受攻击的外部设备或设备的内部组件。因此,设备制造商采用多种方法来加密和保护关键信息、安全地存储加密信息以及识别和防止篡改尝试。
附图说明
通过结合附图考虑以下详细描述,本公开的以上和其他特征、其性质和各种优点将变得更加明显。
图1示出根据本公开的一些实施例的支付系统的说明性框图;
图2描绘根据本公开的一些实施例的支付设备和支付终端的说明性框图;
图3描绘根据本公开的一些实施例的支付读取器的说明性框图;
图4A描绘根据本公开的一些实施例的示例性的基于防篡改网格电容的物理不可克隆功能;
图4B描绘根据本公开的一些实施例的示例性的基于防篡改涂层的物理不可克隆功能;
图5A描绘根据本公开的一些实施例的示例性的基于存储器的物理不可克隆功能(PUF,Physically Unclonable Function);
图5B描绘根据本公开的一些实施例的示例性的基于环形振荡器的物理不可克隆功能;
图5C描绘根据本公开的一些实施例的示例性的基于仲裁器的物理不可克隆功能;
图6A描绘根据本公开的一些实施例的示例性的基于线性电容的物理不可克隆功能测量;
图6B描绘根据本公开的一些实施例的根据物理不可克隆功能推导进行测量的示例性芯片卡接口;
图6C描绘根据本公开的一些实施例的示例性的基于线性时域反射法的物理不可克隆功能测量;
图7A描绘根据本公开的一些实施例的示例性PUF可靠性确定;
图7B描绘根据本公开的一些实施例的示例性PUF独特性确定;
图8A描绘根据本公开的一些实施例的示例性PUF随机性确定;
图8B描绘根据本公开的一些实施例的示例性PUF位混叠确定;
图9A描绘根据本公开的一些实施例的用于基于PUF的设备身份验证的处理流程的示例性示图;
图9B描绘根据本公开的一些实施例的用于PUF初始化和密钥生成的处理流程的示例性示图;
图10A描绘根据本公开的一些实施例的用于PUF密钥初始化的处理流程的示例性示图;
图10B描绘根据本公开的一些实施例的用于PUF密钥重建的处理流程的示例性示图;
图11描绘根据本公开的一些实施例的基于PUF的设备保护的示例性流程图;
图12描绘根据本公开的一些实施例的PUF源选择的示例性流程图;
图13描绘根据本公开的一些实施例的PUF源的说明性框图;
图14描绘用于PUF源的示例性介电熔断器;
图15描绘用于PUF源的示例性非晶硅熔断器;
图16描绘根据本公开的一些实施例的用于修改PUF源的处理流程的示例图;以及
图17描绘用于基于至少一个可编程PUF源和至少一个不可编程PUF源来生成随机值的电路的说明性框图。
图18描绘具有读取器芯片和板载PUF源的示例性印刷电路板。
图19描绘用于组合来自多个PUF源(诸如至少一个板载PUF源和至少一个片上PUF源)的PUF数据以提供加密密钥的处理流程的示例性示图。
图20描绘具有时域反射计的示例性读取器芯片,该时域反射计用于询问板载PUF源以获得PUF数据。
图21描绘在读取器芯片与印刷电路板的至少一个其他组件之间的信号路径内的示例性板载PUF源。
图22描绘在专用于板载PUF源的路径内的示例性板载PUF源。
图23描绘可以形成在印刷电路板上的示例性导电迹线。
图24描绘在迹线中钻完孔之后的图23的示例性导电迹线。
具体实施方式
电子设备,诸如支付读取器,可以包括加密处理能力和篡改保护设备。例如,可以在电子设备的独特部分(例如,物理上和/或逻辑上分离的独特部分)内执行加密操作,使得关键信息仅以加密形式提供给外部设备或电子设备的各部分。篡改保护设备可以包括各种物理和电气组件(例如,篡改线、篡改网格、温度监视器、电压监视器、时钟监视器、篡改圆顶、篡改涂层、线路检测篡改设备、RF篡改检测组件等),以识别并防止窃听和篡改检测尝试。
在包括EMV卡、刷卡或NFC支付功能的支付读取器的示例性实施例中,对于攻击者而言有多种机会尝试获取关键信息(诸如支付信息)或以其他方式参与欺诈性交易。例如,攻击者可以尝试拦截NFC通信、读取通过与EMV卡的物理连接进行通信的数据,或者从传统的刷卡交易的磁条中拦截该数据。此外,携载该信息和其他关键信息的信号在支付读取器内传输,并由处理器和支付读取器的其他电路进行处理。
因此,多种类型的篡改检测设备(诸如温度监视器和电压监视器)被集成到示例性支付读取器中。这些篡改检测设备可以感测对于获得对支付读取器的不当物理访问的尝试(例如,通过打开支付读取器或钻入支付读取器以访问信号或组件),感测对于物理地向支付读取器提供电信号的尝试(例如,以便将恶意信号注入支付读取器的外部可访问引脚(诸如EMV引脚)内的尝试),以及感测对于将恶意信号无线引入支付读取器的尝试。一些篡改检测设备可以响应于篡改尝试而产生响应,诸如断开电路。
在一些实施例中,可以与包括物理组件特性的物理不可克隆功能(PUF)协同执行加密和/或篡改操作,该物理不可克隆功能可以用于基于物理组件中的变化来生成位的独特模式,并且针对其的这些变化很难复制。一个或多个PUF可以用于加密,例如,作为密钥值的源,作为用于加密的种子值,或以其他类似方式。因为PUF值对于为PUF值的源的物理结构是独特的,所以有可能直接从物理组件获取PUF值,而不是将这样的值存储在设备的存储器中。在一些实施例中,可以从多个物理结构生成多个PUF值,并且可以将其组合以产生密钥,或者以其他方式用于生成密钥和其他加密值。在一些实施例中,PUF的至少一部分可以基于物理组件,该物理组件对篡改尝试进行响应,使得由PUF生成或由其加密的任何加密密钥或其他关键信息在篡改尝试发生时可以变得不可读。在一些实施例中,即使在没有100%数据的情况下,也可以采用错误校正方法来恢复PUF数据。可以对这种错误校正进行分层,以便仅执行某些操作(例如,执行关闭操作、接收固件更新,或将篡改尝试的记录通信给其他设备(诸如远程服务器))。PUF可以基于各种物理参数,诸如:电子组件(诸如SRAM)的启动值;电子组件(诸如反相器)的延迟值;物理组件(诸如印制电路板、天线)或迹线的阻抗;天线和相关传输电路的RF传输特性;触摸屏或麦克风、反射光或音频信号、振动感测、机电系统(例如微机电电路)以及驻留于设备上的其他电气或机械系统的物理响应。
在一个实施例中,设备篡改可以包括下述活动:以非授权的方式尝试改变设备(诸如支付读取器)的预定义功能;检索其受保护信息;或模仿其身份。例如,在机械篡改中,设备会被打开以暴露关键信号并监视使用这些信号传输的信息。电子芯片级篡改可以暴露存储器的关键内容,以泄露保留在该存储器中的秘密密钥。
在一些情况下,用于篡改尝试的目标设备可以包括关键信息(诸如独特ID),该信息有助于与权威机构(例如,远程支付服务系统或支付卡发行方)建立信任,并允许该设备针对某些功能对其自身进行身份验证。创建独特ID的一种方法是基于设备的独特属性(一个或多个设备PUF),以使这些属性对于该设备保持独特,但它们随设备的不同而不同。示例性PUF可以是基于系统的(例如,它可以从其印刷电路板电迹线、分立组件、物理封壳等的独特属性推出),或者可以是基于硅的(例如,它可以从某些硅块(诸如存储器或其部分)的独特属性推出)。PUF标识符可以用作系统的电子指纹以用于执行各种操作(诸如加密操作)。
示例性PUF可以例如通过禁用某些功能或修改PUF本身的各个方面(例如,使一个或多个熔断器跳闸以更改可为PUF读取的值)来感测篡改尝试并提供响应。上述可以由PUF自动执行(例如,PUF或其某些部分本身用于篡改检测),也可以基于独立的篡改检测和PUF修改来执行。以这种方式,PUF可以在发生篡改事件时能够擦除/消除任何关键信息(例如,其自身独特的“指纹”ID或随后推出的秘密密钥)。在一些实施例中,PUF的修改或对PUF的访问的删除可以仅在执行篡改尝试分析(例如,通过设备本身和/或远程服务器执行篡改尝试分析)时被临时修改。在其他实施例中,如果需要的话,可以使用与PUF实施集成的外部输入来不可逆地抑制PUF的功能(例如,与PUF相关联的独特ID)。
多个PUF可以组合,多种PUF类型也可以组合(例如,基于系统的PUF可以与基于硅的PUF组合)。这样的组合可以提供对PUF功能性和独特性的增强,并且即使在不容易修改或禁用了PUF的一部分(例如,基于硅的PUF)时也可以提供自动篡改检测。在一些实施例中,多个PUF组合可用于提供可用于多个应用程序和操作模式的多个ID。
由于基于PUF的独特ID仅驻留在它们所基于的硬件中,因此实施基于PUF的设备保护系统可以减少将秘密密钥存储在片上或片外的任何物理存储器中的需求。
在某些情况下,PUF可以被修改(例如,擦除或重新编程)以对给定的输入提供不同的响应。作为示例,PUF可以具有一个或多个用于产生PUF值的熔断器。就这一点而言,可将输入施加到PUF以使一个或多个信号通过熔断器,并且这些信号的测量值可用于计算或以其他方式确定由PUF响应于输入而提供的一个或多个PUF值。响应于检测到的事件,例如篡改尝试,电路可以进一步配置为基于检测到的事件来选择一个或多个熔断器以进行修改,并且通过发送具有足够高电流或电压的信号通过熔断器以改变其电阻来修改每个选择的熔断器,从而改变PUF对输入的响应。
图1描绘根据本公开的一些实施例的支付系统1的说明性框图。在一个实施例中,支付系统1包括支付设备10、支付终端20、网络30和支付服务器40。尽管本公开的基于PUF的系统可以在各种设备中实现,但是在本文描述的示例性实施例中,该设备可以是支付终端(例如,支付终端的支付读取器)。在示例性实施例中,支付服务器40可包括由不同实体操作的多个服务器,诸如支付服务系统50和银行服务器60。支付系统1的这些组件促进商户和顾客之间的电子支付交易。
商户与顾客之间的电子交易发生在顾客的支付设备10和商户的支付终端20之间。顾客具有支付设备10,例如具有磁条的信用卡、具有EMV芯片的信用卡,或启用NFC的电子设备(诸如运行支付应用程序的智能手机)。商户具有支付终端20,诸如能够处理支付信息(例如,加密的支付卡数据和用户身份验证数据)和交易信息(例如,购买金额和购买点信息)的支付终端或其他电子设备,诸如运行支付应用程序的智能手机或平板电脑。
在一些实施例中(例如,对于低价值交易或对于少于由NFC或EMV支付设备10指示的支付限额的支付交易),可以在支付终端20处处理支付交易的初始处理和批准。在其他实施例中,支付终端20可以通过网络30与支付服务器40进行通信。尽管支付服务器40可以由单个实体操作,但是在一个实施例中,支付服务器40可以包括由任何适当的实体操作的任何适当数量的服务器,诸如支付服务系统50以及商户和顾客的一个或多个银行(例如,银行服务器60)。支付终端20和支付服务器40通信支付和交易信息,以确定交易是否被授权。例如,支付终端20可以通过网络30向支付服务器40提供加密的支付数据、用户身份验证数据、购买金额信息和购买点信息。如本文所述,在一些实施例中,加密和身份验证过程中的一些或全部可以基于从支付终端20的一个或多个PUF获得的信息来执行。
支付服务器40可以基于该接收到的信息以及与顾客或商户账户有关的信息来确定交易是否被授权,并且通过网络30响应支付终端20以指示支付交易是否被授权。可以基于关于一个或多个PUF的预定或已知信息来执行授权,该预定或已知信息可以基于如本文所述的初始化过程来建立。支付服务器40还可以将附加信息(诸如交易标识符)发送到支付终端20。
基于在支付终端20处从支付服务器40接收到的信息,商户可以向顾客指示交易是否已被批准。在诸如芯片卡支付设备的一些实施例中,可以在支付终端处(例如在支付终端的屏幕上)指示批准。在诸如为NFC支付设备操作的的智能电话或手表的其他实施例中,关于批准的交易的信息和附加信息(例如,收据、特价、优惠券或会员忠诚计划信息)可以被提供给NFC支付设备以显示在智能手机或手表的屏幕上或存储在存储器中。
在一些实施例中,攻击者或其他用户可能尝试通过监视传输或获得对支付系统1的组件的访问来获取支付信息。作为示例,支付系统1的这些组件中的每个都可以为攻击者提供机会来窃听支付和交易信息或注入恶意信号。例如,攻击者可能尝试监视在支付设备10、支付终端20、网络30和支付服务器40中的任何之间中继的信号。在一些实施例中,可以对由支付系统1的组件发送或接收的传输进行加密。在其他攻击中,攻击者可能尝试用伪造的组件代替支付系统1的组件之一,例如通过创建伪造的支付设备10或支付终端20,或通过将到网络30或支付服务器40的通信拦截或重定向来这样做。在其他攻击中,攻击者可能尝试修改支付系统1的组件之一,例如通过将支付设备10、支付终端20或支付服务器40中的一个或多个修改为窃听或注入恶意信号或提取存储在存储器中的密钥值来这样做。
支付系统1的设备可以具有适当的硬件和软件的组合以利用一个或多个PUF(例如,基于支付终端20的物理组件而建立)。PUF可以按防止攻击的方式促进设备的身份验证和信息的加密。由于由PUF生成的密钥未存储在存储器中(即PUF值“存储”在物理组件本身中),攻击者无法获得对ID和/或密钥信息的有用物理访问。可以将多个PUF一起使用以创建密钥和ID,并且可以在各种情况下利用不同的密钥和ID。在一些实施例中,PUF的操作的各个方面以及关于篡改尝试的信息可以由支付终端20提供给支付服务器40。支付服务器40可以具有有助于监视篡改硬件和PUF并且可以提供校正措施或提供指令以修改支付终端20的操作方式的硬件和软件及其任何合适组件。在一些实施例中,支付服务器40可以提供固件,所述固件例如通过将PUF的不同子集用于不同操作、修改错误校正阈值以及针对支付终端20的不同操作和通信改变加密级别来修改支付终端20和PUF的操作。
图2描绘根据本公开的一些实施例的支付设备10和支付终端20的说明性框图。尽管将理解的是,支付系统1的支付设备10和支付终端20可以任何合适的方式实现,但是在一个实施例中,支付终端20可以包括支付读取器22和商户设备29。然而,将理解如本文使用的术语“支付终端”可以指代支付终端的任何合适的组件,诸如支付读取器22。在一个实施例中,支付终端20的支付读取器22可以是促进支付设备10和运行销售点应用程序的商户设备29之间的交易的无线通信设备。
在一个实施例中,支付设备10可以是能够与支付终端20通信(例如,经由支付读取器22通信)的设备,诸如NFC设备12或EMV芯片卡14。芯片卡14可以包括安全集成电路,其能够根据一种或多种电子支付标准(诸如由EMVCo颁布的那些标准)与支付终端(诸如支付终端20)进行通信、生成加密的支付信息并提供加密的支付信息以及的其他支付或交易信息(例如,本地处理的支付交易限额)。芯片卡14可以包括用于与支付读取器22通信的触针(例如,根据ISO 7816),并且在一些实施例中,可以经由近场15感应地耦合到支付读取器22。被感应耦合到支付读取器22的芯片卡14可使用由支付读取器22根据诸如ISO 14443的无线通信标准提供的无线载波信号的负载调制来与支付读取器22进行通信。
NFC设备12可以是能够与支付终端20进行安全交易(例如,经由与支付读取器22的通信)的电子设备,诸如智能电话、平板电脑或智能手表。NFC设备12可以具有用于执行安全交易功能的硬件(例如,包括硬件和可执行代码的安全元件)和/或软件(例如,根据主机卡仿真例程在处理器上运行的可执行代码)。在支付交易期间,NFC设备12可以经由近场15感应耦合至支付读取器22,并且可以通过由支付读取器22根据一种或多种无线通信标准(诸如ISO 14443和ISO 18092)提供的无线载波信号的有源或无源负载调制与支付终端20进行通信。
尽管可以任何合适的方式来实施支付终端20,但是在一个实施例中,支付终端20可以包括支付读取器22和商户设备29。商户设备29运行销售点应用程序,其提供针对商户的用户界面并且促进与支付读取器22和支付服务器40的通信。支付读取器22可以促进支付设备10和商户设备29之间的通信。如本文所述,支付设备10(诸如NFC设备12或芯片卡14)可以通过感应耦合与支付读取器22通信。这在图2中示出为近场15,其包括从支付读取器22发射的具有合适频率(例如13.56MHz)的无线载波信号。
在一个实施例中,支付设备10可以是非接触式支付设备,诸如NFC设备12或芯片卡14,并且支付读取器22和非接触式支付设备10可以通过在近场15内调制无线载波信号进行通信。为了将信息通信到支付设备10,支付读取器22基于要从支付读取器22发送的数据来改变无线载波信号的幅度和/或相位,从而得到被发送到支付设备的无线数据信号。该信号由支付读取器22的天线发送,该天线被调谐为以13.56MHz的频率进行发送,并且如果支付设备10在近场15的范围内(例如0到10cm)也具有适当调谐的天线,则支付设备接收由支付读取器22发送的无线载波信号或无线数据信号。在无线数据信号的情况下,支付设备10的处理电路能够解调接收到的信号并处理从支付读取器22接收到的数据。
当非接触式支付设备(诸如支付设备10)在近场15的范围内时,其感应耦合至支付读取器22。因此,支付设备10还能够经由有源或无源负载调制来调制无线载波信号。通过改变支付设备10的天线的调谐特性(例如,通过基于要发送的调制数据选择性地将并行负载切换到天线电路中),在支付设备10和支付读取器22处都修改了无线载波信号,从而得到调制的无线载波信号。以这种方式,支付设备能够将调制后的数据发送到支付读取器22。
一些实施例中,支付读取器22还包括能够接收芯片卡14的EMV插槽21。芯片卡14可具有触点,当芯片卡14被插入到EMV插槽21中时该触点与支付读取器22的相应触点接合。支付读取器22通过这些触点向芯片卡14的EMV芯片供电,并且支付读取器22和芯片卡14通过由触点建立的通信路径进行通信。
支付读取器22还可包括用于与磁条卡(图2中未示出)对接的硬件。在一些实施例中,硬件可以包括插槽,该插槽引导顾客刷磁条卡的磁化条或将磁条卡的磁化条插入到插槽中,使得磁条读取器可以从磁条卡接收支付信息。接收到的支付信息然后由支付读取器22处理。
商户设备29可以是任何合适的设备,诸如平板电脑支付设备24、移动支付设备26或支付终端28。在计算设备(诸如平板电脑支付设备24或移动支付设备26)的情况下,销售点应用程序可以提供购买和支付信息的输入、与顾客的交互以及与支付服务器40的通信。例如,支付应用程序可以提供商户能够选择的服务菜单和用于自动执行交易的一系列菜单或屏幕。支付应用程序还可以有助于输入顾客身份验证信息,诸如签名、PIN码或生物测定信息。也可以在专用支付终端28上提供类似的功能。
商户设备29可以经由通信路径23/25/27与支付读取器22通信。尽管通信路径23/25/27可以经由有线(例如,以太网、USB、FireWire(火线)、Lightning(闪电))或无线(例如,Wi-Fi、蓝牙、NFC或ZigBee(紫蜂))连接来实施,但是在一个实施例中,支付读取器22可以经由蓝牙低功耗接口与商户设备29进行通信,使得支付读取器22和商户设备29成为连接的设备。在一些实施例中,例如,当交易额小或与支付服务器40没有连接时,支付交易的处理可以在支付读取器22和商户设备29上本地发生。在其他实施例中,商户设备29或支付读取器22可以经由公共或专用通信网络30与支付服务器40通信。尽管通信网络30可以是任何合适的通信网络,但是在一个实施例中,通信网络30可以是互联网,并且可以在支付终端20和支付服务器40之间以加密格式(如通过传输层安全性(TLS)或安全套接字层(SSL)协议)通信支付和交易信息。
在一些实施例中,在商户设备29上运行的应用程序可以接收关于篡改尝试和PUF操作的信息。例如,可以提供关于篡改尝试和PUF操作的信息,使得商户设备的应用程序请求关于是否正在发生特定篡改尝试的信息(例如,诸如该设备未被触摸的视觉确认,或者用于执行诸如电源重启以修改设备状态的指令的操作)。信息也可以由商户设备29提供给支付读取器22,以提供支付读取器22的软件可以用来分析可能的篡改尝试的信息(例如,地理信息、温度信息、辅助传感器信息,诸如声音、视频、动作,或从商户设备29的传感器确定的红外数据,或软件中设计用于记录篡改事件的某些寄存器的内容等)。
图3描绘根据本公开的一些实施例的示例性支付读取器22的框图。尽管在图3中以特定布置描绘特定组件,但是将理解的是,支付读取器22可以包括附加组件,图3中描绘的一个或多个组件可以不包括在支付读取器22中,并且可以适当的方式重新布置支付读取器22的组件。在一个实施例中,支付读取器22包括读取器芯片100、多个支付接口(例如,非接触式接口102和接触式接口104)、电源106、无线通信接口108、有线通信接口110、信号调节设备112和防篡改设备118。在一个实施例中,支付读取器22的读取器芯片100可以包括通用处理单元120、通用存储器122、加密处理单元125和加密存储器128、防篡改电路116、接触式接口104和NFC信号调节设备112。如果需要,图3的所有或一些组件可以驻留在单个印刷电路板或其他结构上。在一些实施例中,组件可以驻留在多个印刷电路板上或其他类型的结构上。
在示例性的实施例中,任何合适的组件或其组合都可以用作适于PUF数据的源,包括物理接口、电路迹线、电线、分立组件、存储器、逻辑运算、FPGA、天线、终端、外壳、测试点、传感器、相机和其他类似组件。如本文所述,形成一个或多个PUF的物理组件可以具有可被访问或测量的独特物理特性,诸如通过访问与组件相关联的模拟值(例如,电流、电压等)或数字值、测量组件的物理特性(长度、阻抗、复信号特性、电容、电阻、电感、RF特性、负载、初始启动值等),以及执行其他合适的分析或测量以推出PUF值。
尽管在一个实施例中,将把处理单元存储器、接触式接口104、信号调节设备112和防篡改电路116描述为封装在读取器芯片100中,并以特定方式配置,但将理解的是,通用处理单元120、通用存储器122、加密处理单元125、加密存储器128、接触式接口104、信号调节设备112和防篡改电路116可以按其他合适的方式定位和配置以执行如本文描述的支付读取器22的功能。还将理解的是,读取器芯片100的功能可以体现在单个集成电路(IC)芯片或多个IC芯片中,每个芯片包括处理单元、存储器和其他组件的任何适当组合以共同执行本文描述的读取器芯片100的功能。
在一些实施例中,读取器芯片100可以是具有处理单元的合适的芯片。支付读取器22的读取器芯片100的处理单元120可以是合适的处理器,并且可以包括执行、控制支付读取器22的功能所需的硬件、软件、存储器和电路。处理单元120可以包括一个或多个处理器,并且可以基于从任何适当数量的存储器和存储器类型提供的指令来执行读取器芯片100的操作。在一些实施例中,处理单元120可以具有多个独立的处理单元,例如多核处理器或其他类似的组件。在一个实施例中,处理单元120可以执行存储在读取器芯片100的存储器122中的指令,以控制支付读取器22的操作和处理。如本文所使用的那样,处理器或处理单元可包括一个或多个处理器,所述处理器具有执行本文描述的处理功能所需的处理能力,包括但不限于硬件逻辑(例如,由描述硬件配置的软件诸如硬件描述语言(HDL)软件所设计的硬件)、在处理器上运行的计算机可读指令,或其任何合适的组合。处理器可以运行软件以执行本文所述的操作,所述软件包括在有形的非暂时性计算机可读存储介质上以机器可读形式访问的软件。在一些实施例中,可以利用处理单元的组件(例如,时钟源、晶体管、终端等)或处理单元的特性(例如,执行不同的计算操作和工作量的时间)来建立PUF值。在一个实施例中,处理器可以使用内部电压调节器块来建立PUF。处理器可以使用瞬态I/O值来建立PUF。处理器还可以使用电子系统的瞬态方面来生成要与PUF结合使用的随机数。
在示例性实施例中,读取器芯片100的处理单元120可以包括两个RISC处理器,其配置为作为用于基于存储在存储器122中的指令来控制支付读取器22的各个组件的操作的中心。如本文所使用的那样,存储器可以指任何合适的有形或非暂时性存储介质。有形(或非暂时性)存储介质的示例包括磁盘、拇指驱动器和存储器等,但不包括传播的信号。有形计算机可读存储介质包括易失性和非易失性、可移除和不可移除介质,诸如计算机可读指令、数据结构、程序模块或其他数据。此类介质的示例包括RAM、ROM、EPROM、EEPROM、SRAM、闪存(嵌入式或非嵌入式)、磁盘或光存储、磁存储,或存储由处理器或计算机设备访问的信息的任何其他非暂时性介质。在一些实施例中,例如,基于制造工艺变化、基本晶体管参数变化、金属层变化(例如,金属条的宽度变化)等,一个或多个存储器组件可以用作PUF源。用于存储器的数字值或其他值在某些情况下可以从存储器中读取(例如,来自SRAM的数字值),在所述情况下存储器的物理状态可对应于独特的PUF值(例如在启动时或在某些情况(施加的电压、电流、控制信号等)施加到存储器之后)。
读取器芯片100还可以包括附加电路,诸如接口电路、模拟前端电路、安全电路和监视组件电路。在一个实施例中,接口电路可以包括用于与无线通信接口108对接的电路(例如,Wi-Fi、蓝牙经典和低功耗蓝牙),用于与有线通信接口110对接的电路(例如,USB、以太网、FireWire、HDMI和Lightning),用于与其他通信接口或总线对接的电路(例如I2C、SPI、UART和GPIO),以及与电源106对接的电路(例如功率管理电路、功率转换电路、整流器,和电池充电电路)。包括组件值和其他组件特性的物理测量值在内的此类电路的特性可用于形成PUF值的全部或一部分,如诸如组件或总线的处理或通信速度的信息也可以如此。
在示例性实施例中,读取器芯片100可执行与支付交易的处理有关的功能、与支付设备对接、加密以及其他特定于支付的功能。在一些实施例中,读取器芯片100可以包括用于处理加密处理操作的加密处理单元125。注意,通用处理单元120和加密处理单元125中的每个可以具有与其相关联的专用存储器(例如,通用存储器122和加密存储器128)。以这种方式,可以由加密存储器128安全地存储特定的加密处理和关键安全信息(例如,加密密钥、密码、用户信息等),并由加密处理单元125处理这些信息。在一些实施例中,如本文所使用的那样,加密处理单元125和/或加密存储器128可以与处理单元120和/或存储器122类似的方式用作PUF。
读取器芯片100的通用处理单元120和加密处理单元125中的一个或两者例如可以使用任何适当的内部总线和通信技术与另一个通信(例如,处理单元120可以与加密处理单元125通信,以及反之亦然)。以这种方式,读取器芯片100可以处理交易并且传送关于已处理的交易(例如,与商户设备29交易)的信息。在一些实施例中,这些通信的特性(例如,对某些命令或通信的响应速度)或有助于这些通信的总线、迹线和组件的特性的测量值可以提供用于获取PUF信息的源。其他特性可以是基于协议的,诸如肯定应答(ack)/否定应答(nak)序列、奇偶校验、CRC、流控制等。
读取器芯片100还可以包括用于实现接触式接口104的电路(例如,用于与插入到插槽21中的芯片卡14的EMV芯片直接对接的电源和通信电路)。在一些实施例中,读取器芯片100还可以包括信号调节FPGA 112和用于与非接触式接口102对接的模拟前端电路(例如,电磁兼容性(EMC)电路、匹配电路、调制电路和测量电路)。接触式接口104可以是用于向支付芯片(诸如芯片卡14的EMV芯片)供电并与EMV芯片通信的合适接口。接触式接口104可以包括用于根据EMV规范与芯片卡14物理接口连接的多个接触引脚(图3中未示出)。在一些实施例中,接触式接口104可以包括电源(VCC)引脚、接地(GND)引脚、用于复位EMV卡的复位(RST)引脚、用于提供时钟信号的时钟(CLK)引脚、用于为EMV卡提供编程电压的编程电压(VPP)引脚、用于提供EMV通信的输入输出(I/O)引脚,以及两个辅助引脚。以这种方式,支付读取器和芯片卡14能够交换信息,诸如支付信息。注意,在一些实施例中,接触式接口104可以被容纳在读取器芯片100上,并且可以经由任何合适的方式(例如,公共内部总线)与读取器芯片100的各个组件通信。可以查询或测量这些组件中任何一个的各个方面,以获取如本文所述的PUF信息。例如,可以基于初始状态或特定施加的信号来确定或测量与接触式接口的组件(例如,迹线、分立组件、卡接口、终端等)的特定操作状态相关联的模拟和/或数字值。用于获取PUF信息的其他来源可包括通过接触卡接口传输信息位时的瞬时和/或随机延迟,以及用于传输和接收数据的电压水平上的变化。
非接触式接口102可以提供与非接触式设备(诸如NFC设备12或芯片卡14)的NFC通信。基于读取器芯片100提供的信号,非接触式接口102的天线可以输出载波信号或调制信号。载波信号可以是具有固定频率(诸如13.56MHz)的信号。根据诸如ISO 14443和ISO18092的调制程序,调制信号可以是载波信号的调制版本。当支付读取器22感应耦合至非接触设备时,非接触设备也可以调制载波信号,其可以由非接触式接口102感测到并且被提供给读取器芯片100以进行处理。基于载波信号的这些调制,支付读取器22和非接触式设备能够通信信息,诸如支付信息。在一些实施例中,可以测量非接触式接口的一个或多个特性,或者可以使用非接触式接口来测量设备的其他操作特性,诸如RF发射。例如,该设备的其他组件可能具有特征性RF发射,当非接触式接口不发射NFC载波或数据信号时,可由该非接触式接口感测到所述发射。其他组件可以通过各种操作例程(例如,频率、功率、波形)进行循环,其可影响由非接触式接口感测所得的周期性信号并提供PUF信息源的方式。此外,非接触式接口102的发射和接收路径包括一个或多个天线部分、匹配电路、滤波器、放大器,以及可以被直接测量或评估以获得PUF值的其他类似组件。可以用来获得PUF值的示例性特性可以包括互感、电磁耦合因子、天线和/或铁氧体材料的电磁导磁率,以及其他类似因子。
电源106可以包括一个或多个电源,诸如到AC电源、DC电源或电池的物理连接。电源106可以包括用于将AC或DC电源转换为多个DC电压以供支付读取器22的组件使用的电源转换电路。当电源106包括电池时,可以通过物理电源连接、通过感应充电,或通过任何其他合适的方法为电池充电。尽管在图3中未描绘为物理上连接到支付读取器22的其他组件,但是电源106可以根据那些组件的需求向支付读取器22的组件提供各种电压。在一些实施例中,电源电压、电流、功率输出、主电池初始充电值、耗尽率、充电率、纽扣电池初始充电值,以及对某些命令或查询信号的响应可以提供独特的值,该值可以提供独特PUF信息的来源。
支付读取器22可以为攻击者提供吸引人的目标,因为如上所述,它提供了一个中心点,该中心点用于通过多个接口接收支付并用于将该信息与其他设备(例如,商户设备29)进行通信。攻击者可能尝试篡改支付读取器22以便访问将信号携载到各种支付接口或通信接口的内部电连接,或可能尝试篡改支付读取器22的处理器或其他电路。因此,支付读取器22可以包括用于监视和防止尝试篡改支付读取器22的硬件的各种机制,诸如防篡改设备118。例如,在一些实施例中,支付读取器22的防篡改设备118可以包括篡改开关,其响应于尝试打开支付读取器22的外壳、将支付卡以外的设备插入到支付插槽21或磁条读取器内、将不当的设备放置在支付读取器22的NFC接口附近,或者以其他方式尝试获取到支付读取器的任何组件22的物理或电子访问而改变其电气状态。
在一些实施例中,防篡改设备118可以包括篡改开关,该篡改开关可以是响应于物理刺激而改变其电气状态的组件。示例性篡改开关可位于支付读取器22的各个位置处,使得打开支付读取器22的外壳或修改支付读取器22的物理结构的任何尝试都可以导致篡改开关改变其物理状态(例如,导致断路)。
在一些实施例中,防篡改设备118可以包括篡改开关,该篡改开关响应于电刺激而改变其电气状态。示例性支付读取器22可以具有多个连接点,在这些连接点处可以将电信号施加到连接点。例如,在一些实施例中,支付读取器22的支付插槽21(图2)可以具有与EMV卡的相应引脚对接的EMV引脚。攻击者可能尝试访问那些引脚以监视引脚(例如I/O引脚)或向支付读取器22提供恶意信号(例如通过欺骗EMV卡)。在一些实施例中,篡改开关可以响应于与预期信号特性(例如,电流、电压、占空比、波形、电容等)不匹配的信号,并修改其电气状态(例如,通过断开电路、闭合电路、修改电信号的幅度或相位等)。尽管已经在EMV支付插槽21(图2)的引脚的情境下描述了这种篡改开关,但是将理解的是可以在支付读取器22的任何电信号线或连接上实施这种篡改开关。
在一些实施例中,攻击者例如可以通过发送射频(RF)电磁信号以在支付读取器22内创建或修改信号或临时或永久禁用或修改支付读取器22的一个或多个组件的操作来尝试不需要物理访问支付读取器22的攻击。示例性的防篡改设备118可以包括篡改开关,该篡改开关可以响应于异常或与攻击相对应的RF信号的感测特性,诸如信号强度、波形、频率、占空比等。响应于这种感测到的特性,篡改开关可以修改其电气状态(例如,通过断开电路、闭合电路、修改电信号的幅度或相位等)。
另一个示例性的防篡改设备118可包括可提供支付读取器22的内部组件或其关键组件的完全封闭的篡改网格。在一些实施例中,篡改网格可以包括紧密接近并创建覆盖受保护组件的图案的导电迹线。由于篡改网格的独特且密集的图案,难以在不损坏导电网格的情况下获得对组件的物理访问。这会导致篡改网格的电气状态上的变化(例如,通过断开电路、闭合电路、修改电信号的幅度或相位等),上述变化可用于检测篡改尝试并采取校正措施。
在一些实施例中,防篡改设备118可以包括防篡改温度电路,该防篡改温度电路用于测量支付读取器22内的温度,将所测得的温度与一个或多个阈值温度进行比较,并且在检测到篡改尝试时作出响应。防篡改温度电路可以包括温度感测组件(例如,多晶硅电阻器电路)以及用于将支付读取器22内的温度与阈值进行比较的硬件、软件或其他手段的任何组合。在一些实施例中,防篡改温度电路可以耦合至其他防篡改设备118(例如,篡改开关),以响应于测得温度或测得温度与一个或多个预定义温度阈值的比较来控制防篡改设备118的操作(例如,关闭防篡改设备118)。
任何防篡改设备118或其任何合适的组合都可以提供用于获得PUF信息的源。例如,可以确定或测量防篡改设备的物理特性(例如,电容、对电压或电流的响应、阻抗、其他组件测量值、篡改迹线的物理配置或长度、篡改设备的物理大小、组件的温度响应,以及其他合适的特性)以获取PUF信息。因为防篡改设备118响应于篡改尝试而改变其物理特性,所以利用防篡改设备获取PUF信息可以导致对攻击的自动响应,因为潜在的PUF值会在发生篡改事件后以防止使用该PUF进行加密和身份验证的方式而发生变化。在一些实施例中,印刷电路板(PCB)可以包括专用于PUF源的PCB的特殊区域。
在一些实施例中,防篡改设备118的监视可以最初由防篡改电路116(例如,其可以低功率模式或基于替代的低功率源进行操作)来执行。可以周期性地执行监视,或者在一些实施例中,可以将监视的定时随机化(例如,基于随机数发生器),使得监视的定时是不可预测的(例如,通过基于随机模式给实时时钟选择性地提供功率)。通过仅在一段时间内监视篡改设备,可以由防篡改电路116和篡改设备118实现较小的平均电流消耗。
在一个实施例中,防篡改电路116可以向支付读取器22的其他组件提供已经检测到篡改尝试的通知。通知可以被存储(例如,存储在与防篡改电路116相关联的存储器中)以在支付读取器22的其他组件(例如,处理单元120)接收到功率时被提供给支付读取器22的其他组件,或者在一些实施例中可以导致一个或多个组件被唤醒的方式被提供(例如,作为中断)。一旦识别出篡改尝试,就可以记录和/或处理篡改尝试,例如,通过采取校正措施、提供通知、删除关键信息(例如,从加密存储器128中删除关键信息)、禁用通信接口、修改PUF的物理特性或禁止访问PUF、修改与PUF相关联的错误校正过程、任何其他合适的响应,或其任意组合。在一些实施例中,该处理的一些或全部可以由防篡改电路116执行。
无线通信接口108可以包括合适的无线通信硬件(例如,天线、匹配电路等)和一个或多个处理器,该一个或多个处理器具有进行无线通信(例如,经由诸如低功耗蓝牙与商户设备29的通信)并且控制相关电路所需的处理能力,所述相关电路包括但不限于硬件逻辑、在处理器上运行的计算机可读指令,或其任何合适的组合。可以查询或测量这些组件中任何一个的各个方面,以获取本文所述的PUF信息。例如,可以基于初始状态或特定施加的信号来确定或测量与无线通信接口108的组件(例如,迹线、离散组件、卡接口、终端等)的特定操作状态相关联的模拟和/或数字值。可以从无线通信接口108的存储器中获取PUF值。在一些实施例中,可以基于由系统中包括的电路所测得的电磁(RF)波传播模式来获得PUF值。
有线通信接口110可以包括用于与其他设备或通信网络有线通信的任何合适的接口,诸如USB、Lightning、HDMI或移动HDMI、FireWire、以太网、任何其他合适的有线通信接口,或其任意组合。在一些实施例中,有线通信接口110可允许支付读取器与商户设备29和支付服务器40之一或两者进行通信。如本文所述可以查询或测量有线通信接口110的各方面以获取PUF信息。例如,可以基于初始状态或特定施加的信号来确定或测量与有线通信接口的组件(例如,迹线、分立组件、卡接口、终端等)的特定操作状态相关联的模拟和/或数字值。
在一些实施例中,读取器芯片100可以包括耦合到非接触式接口102以处理提供给非接触式接口102的信号以及从非接触式接口102接收的信号的信号调节设备112。尽管信号调节设备112可以包括任何合适的硬件、软件或其任何组合,但是在示例性实施例中,信号调节设备可以包括FPGA。信号调节设备112可以调节发送到非接触式接口102的信号和从非接触式接口102接收的信号,诸如当使用NFC通信的支付设备10与支付读取器22进行通信时。在一个实施例中,信号调节设备112可以基于存储在读取器芯片100上的指令(例如,信号调节指令136)进行操作,以用于与非接触式接口102交互。可以确定或测量信号调节接口的特性,并将其用作PUF值的源,如本文所述(例如,基于信号传播模式、NFC盲点、天线阻抗等)。
在一些实施例中,读取器22可以包括PUF测量和控制电路,其可以与读取器芯片100、通用处理单元120和/或加密处理单元125分离,或者可以至少部分地与这些组件的一些或全部集成。在本文所述的示例性实施例中,PUF测量和控制电路126可以按提供物理和逻辑篡改保护的多个级别的方式集成在读取器22的安全外壳内。PUF测量和控制电路可以提供用于执行与PUF组件对接并执行PUF组件测量的电路和互连,并且可以提供到任何这种PUF源组件的直接或间接连接。例如,PUF测量和控制电路可以包括用于查询存储器的数字接口、C2V转换器、电压和电流测量电路、周期性源、模拟源、数字源、模拟通信接口、电池和电源测量、纽扣电池测量,或其他合适的组件。PUF测量和控制电路还可以控制PUF组件,诸如改变PUF组件的电气特性以便擦除或重新编程PUF,如将在下面更详细地描述的那样。
在一些实施例中,通用存储器122可以是如本文所述的任何合适的存储器,并且可以包括用于控制支付读取器22的操作并执行支付读取器22的一般交易处理操作的多组指令,诸如操作指令130、交易处理指令132和防篡改指令138。
操作指令130可以包括用于控制支付读取器22的一般操作的指令,所述操作诸如内部通信、功率管理、消息处理、系统监视、睡眠模式、用户界面响应和控制、接触式接口104、无线接口108、有线接口110或信号调节设备112的操作,以及其他组指令的管理。在一个实施例中,操作指令130可以提供执行由支付读取器22的读取器芯片100的处理单元120执行的大多数处理操作所需的操作系统和应用程序。
操作指令130还可以包括用于与商户设备29进行交互的指令。在一个实施例中,商户设备29可以正在运行销售点应用程序。操作指令130可以包括用于在读取器芯片100的处理单元120上运行的补充应用程序的指令,以便与销售点应用程序交换信息。例如,销售点应用程序可以提供便于用户(诸如商户)与顾客进行购买交易的用户界面。菜单可以提供项目的选择、税费的计算、小费的添加以及其他相关功能。当是时候接收支付时,销售点应用程序可以将消息发送到支付读取器22(例如,经由无线接口108)。操作指令130例如通过下述来促进支付的处理:经由非接触式接口102或接触式接口104获取支付信息,并调用读取器芯片100的各种资源来处理该支付信息(例如,通过使用加密处理单元125执行存储在加密存储器128中的内容),并通过生成响应消息,所述响应消息经由无线通信接口108和有线通信接口110被传送到商户设备29的销售点应用程序。
操作指令130还可包括用于与支付服务器40处的支付服务系统50交互的指令。在一个实施例中,支付服务系统50可以与支付读取器22和商户设备29的销售点应用程序相关联。例如,支付服务系统50可以具有关于对支付服务系统50注册的支付读取器22和商户设备29的信息(例如,基于独特标识符和/或PUF值)。该信息可用于处理与商户和顾客金融机构的服务器的交易、用于向商户提供分析和报告,以及汇总交易数据。支付读取器22可以处理支付信息(例如,基于读取器芯片100的操作),并且将处理后的支付信息通信给销售点应用程序,该销售点应用程序进而与支付服务系统50进行通信。以这种方式,来自支付读取器22的消息可以被转发到支付服务器40的支付服务系统50,使得支付读取器22和支付服务系统50可以共同处理支付交易。
交易处理指令132可以包括用于控制支付读取器22的一般交易处理操作的指令,诸如控制支付读取器22与支付设备10之间的交互(例如,用于经由非接触式接口102和接触式接口104与支付设备对接),选择支付处理程序(例如,基于与支付方法相关联的支付处理实体),与加密处理器125接口连接,以及交易处理的任何其他合适方面。
交易处理指令132还可包括用于在支付读取器22处处理支付交易的指令。在一个实施例中,交易处理指令可以符合支付标准,诸如由EMV颁布的那些支付标准。取决于所使用的支付方式(例如,欧陆卡、万事达、维萨、美国运通等),可以选择与该支付方式相关联的特定处理程序,并且可以根据该程序来处理交易。当由处理单元120执行时,这些指令可以确定是否在本地处理交易、如何从支付设备访问支付信息、如何处理该支付信息、执行哪些加密功能、与支付服务器交换的通信类型,以及与支付交易处理有关的任何其他合适信息。在一些实施例中,交易处理指令132可以执行高级处理,并且为处理单元120提供指令以与加密处理单元125通信以执行大多数交易处理操作。另外,交易处理指令132可以提供指令,以用于从芯片卡(例如,经由接触式接口104和加密处理单元125)获取任何合适的信息,诸如授权响应、卡用户名、卡到期等。
防篡改指令138可以包括指令,以用于操作防篡改电路116和防篡改设备118、当检测到篡改尝试时禁用支付读取器22的资源,以及在没有篡改尝试的情况下,可以允许支付读取器22的正常操作。在一些实施例中,防篡改指令138可以包括用于监视耦合到防篡改电路116的一个或多个资源的读取器芯片100的一个或多个引脚(未具体示出)的指令,以由防篡改电路116识别对篡改尝试的检测。例如,防篡改指令138可包括用于监视由防篡改电路116提供给唤醒引脚的信号以及指示篡改尝试或篡改尝试类型的信号的指令。在一些实施例中,防篡改指令138的一些或全部方面可以存储在加密存储器128中,并且可以由加密处理单元125执行。
防篡改指令138可以包括用于在防篡改电路116的输出指示篡改尝试时采取措施的指令。在一些实施例中,防篡改指令138可包括用于例如经由网络30向商户设备29、支付服务器40或向支付终端20的用户提供篡改通知的指令。篡改通知可以包括适当的通知,诸如通过支付读取器22的无线接口108或有线接口110传输的消息,或听觉、视觉或物理警报信号。在一个实施例中,可以经由支付读取器22的资源来提供篡改通知,并且可以向用户提供检测到篡改尝试的通知(例如,光、声音、机械振动的输出、其组合,或其他输出)。
在一些实施例中,防篡改指令138可包括用于控制支付读取器22的资源的指令,例如,以便限制入侵者对支付读取器22的信息的访问。例如,在一些实施例中,防篡改指令138例如可包括用于禁用支付读取器22的接口或支付读取器22的PUF的指令,以防止进一步获取或传输潜在的敏感数据。防篡改指令138可包括用于通用处理单元120以提供信号来禁用电源106的指令。就这一点而言,通用处理单元120可以选择性地禁用从电源106向支付读取器22的各种资源(诸如支付读取器22或读取器芯片100的任何接口)的电源供应。
在一些实施例中,防篡改指令138可以选择性地禁用攻击者可能尝试访问以获取潜在敏感信息的支付读取器22的资源,同时允许其他资源(例如,防篡改电路116)继续操作。例如,防篡改指令138可包括用于移除、清除、删除或擦除存储在加密存储器128中的一个或多个加密密钥的指令,以便在检测到篡改尝试时防止访问加密数据,从而提供可永久修改PUF或移除对PUF源的访问的信号。类似地,防篡改指令138可包括用于响应于检测到篡改尝试而从通用存储器122或加密存储器128中移除、清除、删除或擦除任何适当信息(诸如用户信息(例如,个人身份信息、金融账户信息或其他信息))的指令。就这一点而言,防篡改指令138可包括用于在检测到篡改尝试之后继续监视防篡改电路116的输出并且如果在预定量的时间内检测到另一次篡改尝试就采取步骤以进一步禁止支付读取器22的操作(例如,完全关闭支付读取器22的电源)的指令。在其他实施例中,防篡改指令138可包括用于执行其他操作的其他指令。
在一些实施例中,防篡改指令138可包括用于收集篡改尝试的指令,其可以在支付读取器22处本地识别或者可以被传输到外部系统(例如,支付服务器40)以进行篡改事件的存储、分析和复杂处理(例如,基于在类似情况下发生的其他已知篡改事件)。在一些实施例中,这种外部分析可以导致在通用处理单元120处接收到信号,该信号可以响应于该输入而切断到读取器芯片100或支付读取器22的一个或多个组件的供电。
加密处理单元125可以是如本文所述的任何合适的处理器,并且在一些实施例中,可以执行用于处理支付交易的加密功能。例如,在一些实施例中,加密处理单元125可以基于由PUF提供的一个或多个加密密钥来加密和解密数据,其方式为将加密功能从支付读取器22的其他组件隔离并且保护PUF值不被暴露给支付读取器22的其他组件或永久存储在存储器中。
在一些实施例中,加密存储器128可以是如本文所述的任何合适的存储器或其组合,并且可包括用于执行加密操作的多组指令,诸如支付处理指令176、加密指令178和PUF处理指令。支付处理指令176可包括用于执行支付处理的各方面的指令,诸如提供与特定支付程序关联使用的加密技术,访问账户和处理信息,任何其他合适的支付处理功能,或其任何合适的组合。加密指令178可以包括用于执行加密操作的指令。加密处理单元125可以执行加密指令178以执行各种加密功能,诸如在作为支付交易一部分的支付和交易信息上加密、解密、签名或验证签名。
PUF处理指令172可以与PUF源以及PUF测量和控制电路126交互以获得PUF数据并基于PUF数据执行处理。在一些实施例中,PUF测量和控制电路126可以从一个或多个PUF源获得PUF数据并处理PUF数据,使得PUF值(例如,代表PUF数据的一系列二进制值)被提供给加密处理单元125。在其他实施例中,PUF数据中的一些或全部可以由PUF测量和控制电路作为原始数据提供为一个或多个模拟和/或数字值,这取决于特定的PUF数据源和由PUF测量和控制电路126执行的任何附加处理。
在一些实施例中,PUF处理指令172可以处理接收到的PUF数据或PUF值以供加密处理单元125使用。在其中PUF数据由多个PUF数据源提供的实施例中,PUF处理指令可以提供PUF值的适当处理,例如,组合PUF值或执行多步骤处理以生成最终的PUF值。在一些实施例中,即使不是所有接收到的PUF值都正确,PUF处理指令也可以提供将错误校正码应用于接收到的PUF数据以提取可用的PUF值。示例性的错误校正码包括二进制奇偶校验码、汉明码,例如汉明(7,4)、汉明(63,57)、汉明(127,120)和循环冗余校验(CRC)码,例如CRC-32。PUF处理指令172可以进一步提供对加密、身份验证、初始化以及如本文所提供的其他步骤的促进。可以仅在必要时才访问和存储PUF值以及由此生成的任何加密密钥,以使它们不会存储在非易失性存储器中,从而使攻击者更难以访问。
图4A描绘根据本公开的一些实施例的示例性的基于防篡改网格电容的物理不可克隆功能。在一些实施例中,防篡改网格可包括形成整体网格结构的电迹线图案,该网格结构使得难以接近下面的组件。信号迹线可以呈各种图案,并且在一些实施例中可以包括一个或多个串联迹线,当串联电路径断开时,这些迹线形成开路。如在图4A的俯视图中所示,迹线可以彼此重叠,其中垂直线代表一个串联连接的路径,以及水平线代表另一串联连接的电路路径。在其他实施例中,可以提供额外的连接,使得篡改尝试的确定基于其他测得的参数,诸如阻抗或频率响应。
防篡改网格的每条迹线可以具有电势并且相对于相邻迹线可以具有特定的位置。通过将迹线的相邻部分连接到测量电路(例如,C2V转换器测量电路),可以确定表示篡改网格的多个相邻点之间电容的电容。以这种方式,防篡改网格可以具有可被测量并且可以按独特且不可重复的方式取决于制造过程的众多电容值。可以将这些值提供为模拟或数字PUF数据,并且在一些实施例中,可以将其与阈值进行比较,以建立与测得的电容和电容阈值之间的比较相关联的0或1的二进制值。
图4B描绘根据本公开的一些实施例的示例性的基于防篡改涂层的物理不可克隆功能。在一个实施例中,设备(例如,支付读取器22)的一个或多个内部或外部表面的一些或全部可以涂覆有具有已知导电特性的一个或多个层(例如,单个部分导电层或多个交错的导电层和非导电层)。可以在一层或多层上提供多个测量点(例如,测量点401和402),以测量PUF涂层的特性,例如,通过测量施加到PUF涂层的信号的电压、阻抗来进行测量。在一个实施例中,数十个或数百个测量点可以选择性地将预定信号和预定信号模式施加到导电层,导电层的测量可以基于与阈值的比较来提供模拟或数字PUF数据和/或二进制0和1值。除了提供PUF值之外,将信号施加到PUF涂层还可以基于感测到的信号值的变化来提供篡改检测。在一些实施例中,篡改检测可以自动执行,因为响应于篡改尝试,可能未成功确定所得的PUF值。
图5A描绘根据本公开的一些实施例的示例性的基于存储器的物理不可克隆功能(PUF)。基于存储器的PUF可以按使得物理存储器结构(例如,如在硅中实施)响应于标准条件而返回到默认状态(诸如施加或移除适于存储器的操作电压)的方式由多种存储技术构成。例如,在其中电压施加到存储器的初始启动条件下,表示存储器状态的位可以返回到基于底层硅和存储器技术的结构的默认状态。在一些实施例中,一旦从基于存储器的PUF中提取默认PUF值,就可以正常方式(例如,作为RAM)利用该存储器来操作设备。
图5B描绘根据本公开的一些实施例的示例性的基于环形振荡器的物理不可克隆功能。环形振荡器可以基于在环形振荡器的制造期间发生的制造差异而以不同的频率操作。尽管这些频率差异在功能上可能并不重要,但它们可能会在默认条件下以所需的随机性、独特性和每个PUF可重复性出现,以提供可用于生成PUF值的信息。在示例性实施例中,环形振荡器PUF值(例如,表示独特ID或密钥值的二进制0或1)可以基于针对不同环形振荡器的频率比较。
在示例性实施例中,N个环形振荡器可以根据N个振荡器中每个振荡器的相对频率导致振荡器的N!个不同排序。作为这N个振荡器的独立比较的结果,因此有可能生成log2(N!)个独立位(例如,25个振荡器可以产生133位,128个振荡器可以产生716位,而256个振荡器可以产生1687位)。在图5B中示出用于向振荡器查询这些位的一个示例性实施例。每个振荡器1……N耦合到两个多路复用器。多路复用器针对适当的时间有选择地将振荡器输出的不同组合提供给相应的计数器(例如,具有足够的分辨率以为环形振荡器的每个频率范围提供不同的计数器输出,对具有高相似性频率的振荡器考虑到错误校正)。对于振荡器的每种组合,可以将计数器值提供给输出1或0的比较器,这取决于哪个计数器具有如计数器所示的较高频率。将理解的是,可以提供其他处理可能性,诸如多组并行连接的计数器和比较器,以进行更快的处理或提供更高的频率分辨率。而且,在一些实施例中,可以基于较低的采样时间来确定初始PUF值,并且如果错误校正不能提取可接受的PUF值,则可以执行附加采样。
图5C描绘根据本公开的一些实施例的示例性的基于仲裁器的物理不可克隆功能。电子组件(诸如反相器、晶体管、逻辑门、二极管、多路复用器和其他类似组件)可能具有不同的延迟,这些延迟对于底层信号处理操作可能并不关键,但可用于创建具有所需随机性、独特性和每一PUF可重复性的PUF数据。在示例性实施例中,可以通过以其他方式具有不同的基于制造的延迟的功能上相同的组件来提供多个延迟路径,并且PUF检测电路可以比较这些延迟以确定PUF值。可以按照基于由PUF检测电路的制造过程和操作所赋予的已知延迟变化来提供足够的分辨率的方式来选择多个延迟元件和PUF检测电路。在一个实施例中,可以基于提供给延迟元件的一个或多个源信号,将PUF检测电路的输入设置为初始状态,可以改变源信号(例如,上升沿信号),以及确定的PUF值可以基于上升沿信号通过多个延迟路径的相对到达时间来确定。
在图5C中描绘基于仲裁器的PUF的示例性实施例。在图5C中,K组2个并行多路复用器被串联布置。向每组多路复用器提供c位质询,这有助于通过多路复用器的众多延迟路径。每个多路复用器接收两个源信号之一(例如,在图5C的示例中为相同的上升沿源信号,但是其他源信号可设置有不同的延迟元件和PUF检测电路),并选择两个信号中的哪个来提供作为基于MUX输入的输出。MUX具有互补输入,使得两个源信号中的每个都通过MUX链传播。然后将这些输出提供给每个后续组的MUX,并最终提供给PUF检测电路(诸如D型双稳态多谐振荡器),其根据通过MUX的路径来输出1或0(例如,针对特定的c位质询)。可以提供c位质询的不同组合,以提取适于不同MUX延迟路径的不同PUF值。
图6A描绘根据本公开的一些实施例的示例性的基于线性电容的物理不可克隆功能测量。在一实施例中,图6A中所描绘的组件和电路可对应于电容监视系统,以检测组件的电容,组件诸如篡改网格、芯片卡接口电路,或设备(诸如支付读取器22)的其他组件和电路。在一个实施例中,电容监视系统至少包括:振荡器(OSC)、参考电容器(CREF)和电容测量电路,以测量与该设备的一个或多个组件相关的电容(CMEAS)。
在支付读取器22的示例性设备中,电容监视系统的组件可以被结合到读取器芯片100中和/或支付读取器22中的其他地方。电容监视系统可以被布置为电容分割器,其使用电容测量电路来测量或确定组件电容(CMEAS)上的变化。可以提供不同的电容测量点(例如,来自篡改网格、触摸屏、芯片卡接口或其他来源)作为CMEAS。电容测量电路可以包括数据采集电路和一个或多个传感器。振荡器(OSC)可以按单个固定频率或可变频率提供输出信号,该可变频率可以从一系列频率中进行更改或选择。在一个实施例中,由振荡器(OSC)提供的输出信号可以由读取器芯片100的时钟提供。在其他实施例中,振荡器(OSC)可以提供可以根据需要进行相位和/或幅度移位的脉冲。如果振荡器正在提供脉冲作为输出信号,则电容测量电路可以结合有A/D转换器以数字化相应的测得信号,然后可以对其进行处理以确定电容值。在一个实施例中,参考电容器(CREF)可以具有固定的电容。然而,在其他实施例中,参考电容器(CREF)可以具有可由用户选择的可变电容。在一个实施例中,可以通过选择性地使一组电容器中的电容器接合和分离来提供可变电容,以获得参考电容器(CREF)的期望电容。
电容测量电路可以测量一个或多个组件之间的电容。例如,电容测量电路可以选择性地测量篡改网格的电容,诸如图4中所示,触摸屏或诸如芯片卡接口的接口如图6B中所示。例如,在图6B中,电容测量电路可以测量芯片卡接口的任意两个引脚之间的电容(CMEAS),所述接口诸如电压接口502、复位接口504、时钟接口506、I/O接口508、接地接口510、编程接口512,或平行板514。电容测量电路将测得的分量电容(CMEAS)发送到处理单元120,以进一步处理并存储在存储器122中。在一个实施例中,电容测量电路402可以与时钟和振荡器(OSC)同步地操作,以便执行相位匹配的测量。
在一些实施例中,电容值可用于基于绝对值(例如,转换为电容的多位数字值)或电容之间的比较来建立PUF值。此外,电容的变化还可能提供篡改检测,因为攻击者将通常尝试挫败篡改网格或通过组件(诸如卡或用户界面)来获得访问。在一些实施例中,处理单元120可以针对要被监视的接触式接口104的每个电容建立用于组件电容(CMEAS)的基准,然后将组件电容(CMEAS)的后续确定与存储在存储器122中的基准进行比较。在其他实施例中,使用适于PUF的电容值可以提供自动篡改检测,因为篡改可以防止身份验证和密钥生成。
图6C描绘根据本公开的一些实施例的示例性的基于线性时域反射法的物理不可克隆功能测量。时域反射法可用于测量设备内任何合适信号路径的特性,并可基于反射的幅度、相位和其他特性提供信息。这些特性可用于基于信号路径的各个特性(例如,多位数字值或二进制相位和/或幅度比较)或基于多个信号路径之间的反射的比较来生成PUF值。在一些实施例中,这样的值还可以用于基于经反射特性的变化(例如,表示将意外元素引入到信号路径中)的独立篡改检测,或者可以基于由此产生的PUF值的失败提供自动篡改检测,以提供身份验证和/或适当的密钥生成。
在一个实施例中,图6C中所描绘的组件和电路可以对应于TDR(时域反射法)监视系统以确定可耦合到TDR监视系统(例如,经由各种多路复用路径等)的各种信号路径的特性。在一个实施例中,TDR监视系统450至少包括TDR电路652、发射器654、检测器656和耦合器658。TDR电路652可以耦合到发射器654以在相应的信号路径662上经由耦合器(诸如多路复用器)发射脉冲或信号。在一些实施例中,多个发射器654可以被耦合以同时在多个信号路径上发射脉冲,并且比较电路(未示出)可以被用来比较相似信号路径的响应以提取PUF值。在实施例中,由发射器发送的脉冲或信号可以是电信号或光信号。
TDR电路652可以监视脉冲的传输以及从信号路径662返回的相应反射。除了基于特性反射确定PUF值之外,TDR电路还可以识别篡改尝试和/或基于篡改尝试自动改变PUF值。例如,在时间T0处将脉冲发送到信号路径662可以在时间T1处提供第一预期或正常反射响应。但是,可以基于在位置660处耦合到信号路径的篡改设备664接收第二次反射。结果,响应的总体幅度和/或相位可能会变化,从而导致确定篡改尝试或从响应生成的PUF值上的变化。
图7A描绘根据本公开的一些实施例的示例性PUF可靠性确定。尽管PUF可靠性确定基于示例性的基于存储器的PUF,但是将理解的是,可以利用各种合适的PUF来做出类似的确定。如本文所述,任何PUF可能不会在所有时间和所有条件下都提供相同的响应。例如,电源电压、温度、外部噪声源或随时间的磨损上的差异可能导致针对某些PUF组件的边际结果不同(例如,基于存储器的PUF值漂移超过针对二进制输出的阈值、延迟时间上的变化、振荡器频率的变化、电容的变化,或反射特性的变化)。因此,可以使用错误校正程序(诸如错误校正码)来从不完美的PUF结果中提取可用的PUF值。可能希望将PUF错误率保持在最大值以下,这可以决定对错误校正程序的选择。在一些实施例中,对于不同的操作或情况以及相关联的多个错误校正操作,可以存在多个允许的错误率。
错误率可以基于存储的PUF响应与在错误校正之前的测得的PUF响应的比较。存储的PUF响应可以被存储在适当位置(诸如远程服务器)处(例如,在制造、测试或初始化过程期间创建并存储),以防止攻击者访问和PUF值的本地长期存储。在一个实施例中,可以从PUF读取PUF值,并且以加密的形式发送PUF值,以与存储的PUF值进行比较(例如,基于由错误校正后的PUF本身或由其他PUF源提供的加密)。在图7A中所示的示例性实施例中,错误率6.25%对应于两个错误位。基于错误率,可以确定PUF源是否可以继续用于生成PUF值。在一些实施例中,可以随着时间推移来监视PUF值以识别PUF错误模式。如果仅某些位的子集重复提供错误,并且剩余足够数量的正确位,则可以忽略错误位。可以基于错误位中的概率或模式来修改或更新错误校正过程,并且可以引入附加的PUF源或将其与初始PUF源组合以提供附加的PUF值。
图7B描绘根据本公开的一些实施例的示例性PUF独特性确定。如本文所述,期望的是PUF在单个PUF源类型的不同特定PUF之间表现出具有独特性的阈值水平。尽管可以针对任何合适的PUF执行这种独特性分析,但是在图7B的示例性实施例中,可以将两个存储器类型的PUF进行比较以确定该PUF是否足够独特以用作PUF(例如,可预测的PUF可能更容易受到攻击)。如本文所述,PUF可具有制造成具有非确定性差异的组件,可对其进行分析以创建合适的PUF源。在示例性实施例中,可以一次或多次(例如,在安装在设备中之前、在安装在设备中之后、在基于从多个设备传输到服务器的信息的现场中)分析PUF源,以确定是否PUF之间存在所需的独特性。在一些实施例中,多个相同类型的PUF源(例如,存储器设备、延迟元件、振荡器、篡改网格、电容性特征、信号路径特征等)可以确认不同的设备是否具有足够高程度的独特性,例如,使得每个设备至少具有与任何其他设备的差异阈值%(例如,45%、48%、49%等),并且该设备没有任何部分(例如,存储器的特定子集)在众多的多个设备中有规则地具有单个值。取决于确定的独特性值,PUF可以只用于受限的目的(例如,较低的安全性操作或值),或可以使用其他PUF源。在一些实施例中,可以使用独特性和其他测量值来权衡PUF操作的其他方面,诸如安全性得分(例如,基于访问PUF的难度和/或针对PUF的篡改保护(启用PUF或外围设备)、操作条件下的缺乏差异等)。在其中将PUF数据与阈值或其他数据进行比较或者基于输入刺激(诸如信号)的实施例中,可以修改阈值或输入的各个方面以调节独特性。
图8A描绘根据本公开的一些实施例的示例性PUF随机性确定。除了提供可重复且独特的值外,可能还需要确保特定的PUF源在如何分配独特的PUF值时表现出足够程度的随机性。因此,即使PUF源提供的值相对于相同类型的其他PUF源而言看上去是独特的,但PUF源可能不会在这些PUF值的分布中提供随机性(例如,作为具有以类似的方式更改PUF值的部分或区段的结果)。因此,理想的PUF源应最终提供具有相同能力以提供1或0响应的PUF值。如图8A中所示,将1至n个设备表示为定义出位空间。更改质询中的任何一个位(例如,对于使用质询位的某些PUF类型)应更改大约一半的响应位。图8B描绘根据本公开的一些实施例的示例性的PUF位混叠确定。类似于随机性确定,任何位或位集合应当具有PUF值为0或1的大约50%的概率。如图8B中所示,可以为同一类型的PUF源标识一组设备1至n的位空间中任何特定的位位置,并且其具有的值应超过位混叠阈值(例如45%、48%、49%)。可以在各种时间执行随机性和位混叠检查,包括在制造期间或基于在设备处执行的测试以及从多个设备提供给服务器的信息。取决于确定的随机性值,PUF可以仅用于受限的目的(例如,较低的安全性操作或值),或者可以利用其他PUF源。在一些实施例中,可以将随机性和其他测量值与PUF操作的其他方面(诸如,安全分数)进行权衡(例如,基于访问PUF的难度和/或针对PUF的篡改保护(启用PUF或外围设备)、缺乏操作条件下的差异等)。在其中PUF数据与阈值或其他数据进行比较或者基于输入刺激(诸如信号)的一些实施例中,可以修改阈值或输入的方面以调节随机性。
图9A描绘根据本公开的一些实施例的用于基于PUF的设备身份验证的处理流程的示例性示图。在特定设备A的初始化或其他设置期间,一系列质询和响应可以向PUF提供并记录,例如记录在存储设备内或远程设备处。因为设备A的PUF源的内部结构引起特定的响应,所以可以将这些质询和响应值提供给内部PUF或远程设备,以确定PUF是否真实,即它可以返回对特定质询的正确响应。因为除了最初存储质询和响应的设备外,质询和响应是未知的,所以可以通过发布质询集并确定相应的响应是否匹配(例如,当前响应是否与先前的响应匹配)来确认设备A的真实性。
图9B描绘根据本公开的一些实施例的用于PUF初始化和密钥生成的处理流程的示例性示图。在图9B的左侧描绘用于特定PUF源的初始化程序。PUF值被输出到错误校正码编码电路,该电路为特定的PUF输出创建错误校正码。一旦使用错误校正码初始化了ECC,就可以在现场操作PUF源以生成密钥。如在图9B的右侧所示,查询PUF源并输出PUF值。将那些PUF值提供给将ECC解码应用于PUF值的ECC解码电路。ECC编码的PUF值可以用作密钥或其他标识符,或者在如图9B中所示的实施例中,被散列并提供为密钥生成算法的输入。如果PUF在ECC解码的限制内可操作(即,在重新生成期间输出的PUF值,在ECC解码之后,匹配初始化的PUF值),则可以将密钥用于具有PUF源的设备与具有基于正确的PUF密钥的其他设备之间的加密通信。
图10A描绘根据本公开的一些实施例的用于利用模糊提取器进行PUF源初始化的处理流程的示例性示图。如图10A中所示,PUF源1000可以将参考响应输出到模糊提取器1010。模糊提取器1010可以一起执行密钥生成和ECC编码。可以基于私密放大过程来执行密钥生成,该私密放大过程可以压缩和/或散列PUF值以创建全熵加密密钥。模糊提取器还可以创建公共校验子掩码,该公共校验子掩码可以作为用于ECC解码的公共辅助数据1030存储在设备中。
图10B描绘根据本公开的一些实施例的用于PUF密钥重建的处理流程的示例性示图。相似的模糊提取器1020可以与PUF源1000、ECC解码和辅助数据1030一起工作,以基于PUF响应和ECC解码来创建校正的参考响应。然后可以在校正后的PUF数据上执行私密放大处理以生成密钥。如果PUF在ECC解码的限制内可操作(即,在重新生成期间输出的PUF值,在ECC解码之后,匹配来自初始化的PUF值),则可以将密钥用于具有PUF源的设备和具有基于正确PUF密钥的其他设备之间的加密通信。
鉴于上文描述的结构和设备,参照图11至图12的流程图将更好地理解可以根据所公开的主题实施的方法。尽管为了说明的简单起见,将方法示出和描述为一系列步骤,但是应当理解和意识到的是这样的图示或相应的描述不受步骤顺序的限制,因为某些步骤可能会在与本文所描绘和描述的不同顺序和/或与其他步骤同时发生。应当理解的是,通过流程图示出的任何非按序的或分支的流程指示可以实施以实现相同或相似结果的各种其他分支、流程路径和步骤顺序。而且,实施以下描述的方法可以不需要所有图示的步骤。
图11描绘根据本公开的一些实施例的用于将用于设备安全性的PUF用于设备中的示例性步骤。在步骤802,可以如本文所述访问一个或多个PUF数据源。如本文所述,多个PUF数据源可以在单个设备中可访问。在一些实施例中,PUF源的选择可以基于PUF的特定用例,诸如用于ID、身份验证、篡改检测、加密、密钥生成、种子值或其他类似操作。一旦访问了PUFS,则处理可以继续到步骤804。
在步骤804,可以如本文所述对访问的PUF数据执行错误校正。在一些实施例中,可以针对不同的PUF源、应用或用例对错误校正进行分层。在一些情况下,可以为特定的PUF提供多个错误校正结果,并根据不同类型或级别的错误校正的成功与否来执行不同的安全级别或操作。例如,低弹性错误校正(例如,要求较高精度的PUF数据)可以用于关键安全操作,而较高弹性错误校正(例如,需要较低精度的PUF数据)可以用于不太关键的操作。例如,单个PUF源可以将PUF数据提供给两个ECC,并且可以基于哪个ECC成功处理数据而仅执行特定操作。
作为进一步的示例,第一ECC能够校正PUF数据中高达第一阈值数目的错误,并且第二ECC能够校正PUF数据中高达第二阈值数目的错误。如果第一ECC能够成功地校正PUF数据中的每个错误,则可以允许第一组(一个或多个)安全操作。如果第二ECC能够成功地校正PUF数据中的每个错误,则可以允许第二组(一个或多个)安全操作。在一些实施例中,篡改事件可以导致对从PUF源获取的PUF数据的改变,使得给定的ECC无法成功地校正PUF数据中的每个错误。ECC无法成功校正PUF数据中的至少某些错误可用于识别篡改事件的发生。在其他示例中,可以使用其他技术来执行错误校正并使用错误校正过程的结果。
在步骤806,可以从在步骤802和804输出的PUF值生成信息,诸如密钥。在一些实施例中,来自多个源的多个PUF值可以用于生成单个密钥或多个密钥,基于多个级别的密钥生成步骤。PUF值也可以用于各种其他目的,诸如提供数字签名、识别篡改尝试,以及本文所述的各种其他数据和处理操作。
在步骤808,可以确定信息(例如,密钥)的生成是否已经成功。这可以基于诸如原始PUF值、错误校正结果、与其他过程或设备的通信,或其他类似操作的信息。如果所有信息均已成功生成,则处理可以继续到步骤810,并且可以基于PUF生成的信息来执行处理操作。如果没有成功生成所有信息,则处理可以继续到步骤812。
在步骤812,可以确定对于未成功生成的PUF生成的信息是否存在可能的补救措施,诸如应用替代ECC操作、访问替代的PUF源、降低安全性或其他操作层次、用相同PUF源和ECC执行附加尝试,或本文所述的其他类似操作。如果可能的补救措施可用,则处理可以基于任何修订的参数(如果有的话)返回到步骤802。如果没有可能的补救措施,则处理可以继续到步骤814。
在步骤814,可以将一种或多种校正措施应用于设备。在一些实施例中,校正措施的选择可以基于多个分层PUF源和/或分层ECC操作中的哪一个成功地生成了PUF生成的信息(如果有的话)。可以基于这种分层的成功操作以及其他可用数据(诸如失败尝试的次数、与设备关联的操作或环境数据、设备的情况(例如,交易处理操作、位置、一天中的时间等),以及由其他设备(诸如服务器或商户设备)提供的信息和命令,来应用具有不同严重程度的不同校正措施。校正措施可包括本文所述的各种操作,包括但不限于禁用对PUF源的访问、销毁PUF源、禁用对通信接口的访问、提供错误消息、提供错误显示、提供对干扰篡改设备的对策、禁用对加密过程的访问、销毁存储器设备或擦除其中描述的关键信息、请求固件更新、向远程服务器提供详细的日志数据,以及其他类似操作。一旦在步骤814采取了校正措施,图11的处理可以结束。
图12描绘根据本公开的一些实施例的用于测试、建立和初始化PUF源和ECC的步骤。尽管图12的步骤可以描述为应用于单个PUF源,但是将理解的是,图12的步骤可以同时应用于多个PUF源和/或类型,例如,以便一起并在多步骤PUF处理操作中测试PUF源和/或类型的操作。
在步骤902,如本文所述可以从PUF源获得数据。通过将相关的初始条件应用于PUF源以及将相关的信号(例如质询数据)应用于PUF源,可以直接从PUF源获得数据。在一些实施例中,类似配置的PUF源类型(例如,类似制造的SRAM、仲裁器、振荡器、电容性电路、TDR电路等)可以位于多个类似设备中,并且可以从来自不同设备的各种PUF源获取数据。此外,可以在不同的环境和操作条件下反复从任何PUF源获取数据。在一些实施例中,ECC测试代码或各种ECC类型可以被应用于PUF数据。以这种方式,可以从一个PUF源或多个PUF源获取各种数据,以促进步骤904、906和908中的不同PUF测试操作。例如,在步骤904中,可以如本文所述执行可靠性测试,例如,基于来自同一PUF源的PUF数据的多个数据采集步骤并在各种操作、环境和ECC条件下执行。在步骤906,可以基于来自多个PUF源的多组PUF数据并且在各种操作、环境和ECC条件下以本文所述方式检查多个PUF。在步骤908,可以基于来自多个PUF源的多组PUF数据并且在各种操作、环境和ECC条件下以本文所述方式测试PUF均一性和位混叠。另外,可以将其他相关测试应用于一个或多个PUF源,以便确定生命周期影响和其他响应。
在步骤910,可以确定特定的一个PUF源或多个PUF源是否是合适的PUF源。在一些实施例中,可以对各种测试结果进行加权,以获得代表PUF源作为PUF的质量的总体PUF得分。在一些实施例中,特定测试可以具有低于其则必须拒绝PUF源的最小阈值,诸如最低可靠性。在一些实施例中,可以基于步骤910的结果从分层的操作中选择PUF源或应用于PUF源的ECC。如果在步骤910确定PUF源是用于某些目的的合适源,则处理可以继续进行到步骤912。如果否,则处理可结束。在步骤912,PUF源可以如本文所述被初始化,例如通过基于诸如由模糊提取器执行的操作生成信息,诸如与PUF相关联的ECC值。一旦PUF源和其他信息被初始化,则图12的处理可结束。
如上所述,有时可能需要破坏、擦除、重新编程或以其他方式修改PUF源。例如,响应于检测到篡改尝试,PUF源可以被破坏、擦除、重新编程或以其他方式修改。在另一个实施例中,可能需要时不时地对PUF源进行重新编程,诸如在产品开发的各个阶段。作为示例,芯片制造商可以从PUF源获得PUF值,并且该值可以稍后被用于对芯片进行身份验证,诸如当芯片被并入到正在制造的产品中时由产品制造商进行身份验证。然后,产品制造商可以对PUF源进行重新编程,以提供不同的PUF值,该值以后可用于对产品进行身份验证。在另一示例中,可以在一定量的时间或访问次数期满之后对PUF源进行重新编程,以努力增强由PUF源生成的PUF数据的安全性。还有许多其他原因导致可能需要擦除、破坏、重新编程或以其他方式修改PUF源,以使其对给定的输入(例如,质询)提供不同的响应。如本文所用,能够通过电路进行选择性修改以改变PUF源对给定输入的响应的PUF源将被称为“可编程PUF源”。
在一些实施例中,可以通过使用嵌入在设备内的一个或多个熔断器来破坏、擦除、重新编程或以其他方式修改设备的PUF源,并且可以控制这些熔断器以永久地改变其电气特性,从而更改PUF源对给定输入的响应。作为示例,在下文中被称为“质询输入”的输入(例如质询数据,模拟或数字输入信号,或其他类型的输入)可以被施加到PUF源,使得信号至少通过其熔断器之一,并且这种信号的参数(例如电压或电流)可以被测量并用于生成PUF值。当需要对PUF源进行破坏、擦除、重新编程或其他修改时,可以将另一个输入施加到PUF源,使得足够高的电流或电压的信号(例如脉冲)流动通过熔断器以永久地更改熔断器的电气特性。作为示例,熔断器的电阻可以响应于高电压或高电流的信号而增大或减小。此后,当质询输入再次施加到PUF源时,可以测量通过熔断器的信号的不同电压或电流,从而改变PUF源对质询输入的响应。
图13描绘PUF源1100的示例性实施例,其包括多个熔断器1111至1113,所述熔断器具有的电气特性可以被修改以提供对PUF源1100的破坏、擦除、重新编程或其他修改,如将在下文中更详细地描述的那样。为了说明的简单性,图13示出三个熔断器1111至1113,但是在其他实施例中可以使用任何数量的熔断器。如由图13所示,熔断器1111至1113可以分别耦合到多个传感器1121至1123,并且每个传感器1121至1123可以配置为测量通过各个传感器耦合到的相应熔断器的信号的电压或电流。如由图13所示,熔断器1111至1113和传感器1121至1123耦合到PUF测量和控制电路1125。如果需要的话,可以将图13的组件并入到支付读取器(诸如由图3所示的支付读取器22)内并在其中使用。作为示例,PUF测量和控制电路1125可以被并入到图3的读取器芯片100内,并且熔断器1111至1113和传感器1121至1123可以是片外的(即,在读取器芯片100的外部)。作为示例,熔断器1111至1113和传感器1121至1123可以形成在PCB(诸如读取器芯片100驻留在其上的PCB)上或嵌入在PCB中,或者熔断器1111至1113可以在读取器芯片100外部的IC芯片中实施。在其他实施例中,PUF源1100的其他配置以及PUF源1100在其他类型的设备中的使用是可能的。作为示例,熔断器1111至1113和传感器1121至1123可以和PUF测量和控制电路1125并入到同一IC芯片(例如,读取器芯片100)中。其他配置也是可能的。
每个熔断器1111至1113具有诸如电阻的电气特性,由于用于制造熔断器1111至1113的制造工艺的变化,电气特性随设备不同而随机变化。作为示例,如下面将更详细描述的那样,每个熔断器1111至1113可以包括一层或多层,其厚度可以控制熔断器的电气特性(例如,电阻)。在制造期间,熔断器1111至1113的这些厚度以及因此其电气特性可以在特定公差内随机变化,使得可以使用熔断器1111至1113来生成PUF值。
当要由PUF源1100生成PUF值时,PUF测量和控制电路1125可以配置为向PUF源1100施加质询输入,以使信号流动通过每个熔断器1111至1113,并且传感器1121至1123中的每个可以配置为测量通过与之耦合的相应熔断器1111至1113的信号的参数(例如,电流或电压)。为了说明的目的,假设每个传感器1121至1123测量流动通过与之耦合的相应熔断器1111至1113的信号的电流。PUF测量和控制电路1125配置为基于传感器测量值中的至少一项来确定至少一个PUF值。
作为示例,PUF测量和控制电路1125可以简单地使用来自任何传感器1121至1123的原始测量值(例如,电流的测量值)作为PUF值。在其他实施例中,PUF测量和控制电路1125可以处理原始测量值以生成PUF值。例如,PUF测量和控制电路1125可以使用来自传感器1121至1123的原始测量值来计算相应熔断器1111至1113的电阻,然后PUF测量和控制电路1125可以使用计算出的电阻值作为PUF值。还在其他实施例中,PUF测量和控制电路1125可以根据任何期望算法使用原始测量值来计算PUF值。如果需要,PUF测量和控制电路1125可以组合来自多个传感器1121至1123的测量值以便生成PUF值。
在一些实施例中,PUF测量和控制电路1125可以确定适于每个熔断器1111至1113的二进制值,并组合适于多个熔断器1111至1113的二进制值以形成用作PUF值的数字字。作为示例,对于每个熔断器1111至1113,PUF测量和控制电路1125可以将来自熔断器的相应传感器1121至1123的原始测量值与阈值进行比较,且如果超过阈值则确定熔断器1111至1113与逻辑高值(例如1)相关联,如果未超过阈值,则确定熔断器1111至1113与逻辑低值(例如0)相关联。然后,PUF测量和控制电路1125可以将所确定的值用作基于熔断器1111至1113中的一些或全部的多位字中的相应位。作为示例,x个熔断器可用于生成x个位的数字字,其中每个位基于一个单个熔断器的电气特性。在其他实施例中,基于熔断器1111至1113的电气特性来计算或以其他方式确定PUF值的其他技术也是可行的。
如将更详细地描述的那样,无论怎样确定来自熔断器1111至1113的PUF值,当通过传递高电流或高电压的信号(例如脉冲)通过熔断器而熔断器1111至1113被“烧毁”时,都可以改变该PUF值。注意,当使用多个熔断器1111至1113来定义PUF值时,对于每个熔断器1111至1113而言在烧毁之后相对于在烧毁之前的其PUF值不必提供不同的PUF值。在一些实施例中,熔断器1111至1113中的哪一个在烧毁时改变其对给定输入质询的响应是随机的,从而增强从所有熔断器1111至1113推出的PUF值的随机性。
作为示例,在其中每个熔断器1111至1113用于定义多位字的基本上一位PUF值的上述实施例中,不需要将熔断器1111至1113设计为使得当熔断器1111至1113被烧毁时,来自每个熔断器1111至1113的PUF响应被改变。就这一点而言,如上所述,可以将来自每个熔断器1111至1113的响应与阈值进行比较,以确定来自相应熔断器1111至1113的PUF值是逻辑高值还是逻辑低值。可以设置此阈值,并设计熔断器1111至1113,使得当通过传递通过每个熔断器1111至1113的特定信号(例如,具有预定电流或电压的脉冲的信号)而将熔断器1111至1113烧毁时,来自每个熔断器1111至1113的一位PUF值具有大约50%的变化机会。作为示例,可以为熔断器1111至1113选择熔断器的介电层的厚度,如下面更详细地描述的那样,使得当熔断器熔断时取决于制造工艺在介电层厚度随不同熔断器的厚度上的变化而具有大约50%的机会改变。设计熔断器1111至1113,以使每个熔断器1111至1113具有约50%的机会改变其对质询输入的响应有助于增强由熔断器1111至1113提供的多位字的随机性。
图14描绘熔断器1111至1113的示例性实施例。如由图14所示,每个熔断器1111至1113具有导电层1210,在本文中被称为“栅极”,以及形成在衬底1212上的介电层1211。在一个实施例中,衬底1212是硅衬底或其他半导体衬底,所述其他半导体衬底具有位于介电层1211下方的掺杂区1251,从而层1211夹在一对导体之间,当跨栅极1210和掺杂区1251施加电压时,允许电流流动通过介电层1211。虽然为了简化说明而未示出,但是PUF测量和控制电路1125可以形成在衬底1212上并且电耦合到每个熔断器1111至1113的掺杂区1251和栅极1210。在一个实施例中,介电层1211是在栅极1210和衬底1212之间具有约10纳米(nm)厚度的薄氧化物,并且栅极1210可以是多晶硅层。然而,在其他实施例中,熔断器1111至1113的其他材料和布置是可能的。
介电层1211的材料可以具有相对较高的电阻,使得层1211通常充当栅极1210和衬底1211之间的绝缘体。然而,通过保持层1211为薄的,允许小的泄漏电流在栅极1210和衬底1211之间流过。由流动通过熔断器1111至1113的泄漏电流形成的该信号可以由相应的传感器1121至1123测量,并用于生成PUF值,如上所述。就这一点而言,如上所述,PUF测量和控制电路1125可以配置为向每个熔断器1111至1113施加质询输入,并测量一个或多个熔断器中的结果泄漏电流,以提供可以用来确定PUF值的一个或多个测量值。
当将PUF源1100修改为使其将响应于给定质询输入而生成不同的PUF值时,PUF测量和控制电路1125可以配置为选择熔断器1111至1113中的一个或多个来进行修改。对于每个选择的熔断器1111至1113,PUF测量和控制电路1125可以配置为施加超过介电层1211的击穿电压的相对高电压的信号(例如,脉冲)。将这种信号施加到熔断器1111至1113永久地更改熔断器的电气特性。具体地,它减小介电层1211的电阻,使得该层1211变得导电(即,短路)。将足够高的电压或电流施加到熔断器以将其电气状态从基本上绝缘改变为导电(即,以减小电阻)的过程可以被称为熔断器的“烧毁”。熔断器(如由图14所示熔断器)在烧毁时过渡到短路而不是断路的熔断器有时被称为“反熔断器”。
图15描绘熔断器1111至1113的另一示例性实施例。在由图15所示的实施例中,每个熔断器1111至1113具有夹在形成在衬底1315(诸如硅衬底)上的两个导电层1311和1312之间的非晶硅薄层1310。尽管为了简化说明而未示出,PUF测量和控制电路1125可以形成在衬底1315上并且电耦合至每个熔断器1111至1113的导电层1311和1312。类似于上述介电层1211,非晶硅的层1310可具有相对较高的电阻,从而允许少量泄漏电流流动通过熔断器。当需要修改PUF源1100时,图15的熔断器1111至1113中的一个或多个可以按与上面针对由图14所示实施例所述的基本相同的方式烧毁。具体地,当要烧毁熔断器1111至1113时,PUF测量和控制电路1125可以施加足够高电压的信号(例如,脉冲)以将层1310的非晶硅转变成具有低阻抗的多晶硅金属合金,从而将层1310永久地过渡到导体(即,短路)。因此,使用与以上针对图14的实施例所述的基本相同的技术,可以选择性地烧毁熔断器1111至1113以便修改PUF源,使得其响应于给定的质询输入而提供不同的PUF值。在其他实施例中,熔断器1111至1113的其他材料和布置是可能的。
现在将在下面描述用于生成和保护加密密钥的由图13所示的PUF源1100的示例性使用。
在执行安全操作、诸如用于支付交易或其他类型的交易的数据的加密或解密时,图3的加密单元125可以利用加密密钥。当需要这种密钥时,加密处理单元125可以向PUF测量和控制电路1125发送命令,该命令指示电路1125返回来自PUF源1100的PUF值。如上所述,作为响应,PUF测量和控制电路1125可以应用质询输入以使电流流动通过熔断器1111至1113并基于由传感器1121至1123的测量确定PUF值。然后,PUF测量和控制电路1125可以将PUF值发送到加密处理单元125,加密处理单元125可以执行PUF处理指令172,以便根据需要处理PUF值,以便提供加密密钥。作为示例,加密处理单元125可以使用PUF值作为种子,以根据已知的密钥生成算法来生成加密密钥。如果期望的话,加密处理单元125可以在每次需要使用加密密钥时执行相同的处理,从而不必将加密密钥存储在存储器中。
在某一点上,假设图3的防篡改电路116在图16的步骤1410中基于防篡改设备118来检测篡改尝试。作为响应,通用处理单元120可以执行防篡改指令138,其使通用处理单元120触发对PUF源1100的修改。就这一点而言,通用处理单元120可以向PUF测量和控制电路1125发送命令,其指令电路1125修改PUF源1100。PUF测量和控制电路1125可以通过在图16的步骤1415中选择一个或多个熔断器1111至1113烧毁来响应该命令。有多种技术可用于选择要烧毁的熔断器1111至1113。例如,在一个实施例中,PUF测量和控制电路1125可以选择PUF源1100的所有熔断器1111至1113。在另一实施例中,PUF测量和控制电路1125可以根据选择熔断器的任何所需算法来选择熔断器1111至1113中的一些。另外,用于烧毁的熔断器的选择可以基于触发修改的事件的类型。作为示例,为了检测篡改事件,如针对本示例所述,可以预定义要选择用于烧毁的熔断器。然而,如果PUF源1100将被重新编程用于另一目的或响应于不同的触发事件,则PUF测量和控制电路1125可以随机地选择熔断器1111至1113。在其他实施例中,用于选择待烧毁熔断器的其他技术和算法也是可能的。
在图16的步骤1420中,PUF测量和控制电路1125通过施加具有足够高电压的脉冲以改变所选熔断器的电气特性来烧毁所选熔断器。当如由图14或图15的实施例所示配置熔断器时,该脉冲减小脉冲所通过的每个熔断器的电阻。因此,烧毁一个或多个熔断器1111至1113可以具有破坏从PUF源1100恢复加密密钥的能力的效果。就这一点而言,在选择的熔断器已经被烧毁之后当加密单元125从PUF源1100请求PUF值时,PUF测量和控制电路1125将返回不同的PUF值,因为至少一些熔断器1111至1113的电气特性已经改变,从而改变用于推出PUF值的测量值。因此,一旦PUF源1100已经响应于检测到篡改尝试而被更改,则可以防止加密处理单元125生成与在篡改尝试之前使用的相同的加密密钥。
在其他实施例中,出于其他目的或响应于其他类型的事件,可以使用类似的技术来修改PUF源1100。作为示例,如上所述,来自PUF源1100的PUF值可以用作独特值,在本文中被称为“身份验证令牌”,或者可以用于计算或以其他方式确定身份验证令牌,以用于对其中使用PUF源1100的设备进行身份验证。就这一点而言,可以将身份验证令牌发送到远程设备,该远程设备将身份验证令牌与先前由PUF源1100生成的身份验证令牌进行比较以对进行该设备身份验证。在一些情况下,可能需要时不时地或响应于触发事件来对PUF源1100进行重新编程,以便生成新的身份验证令牌。例如,响应于篡改尝试或指示身份验证令牌将被改变的用户输入,PUF源1100可以被改变,使得设备不再能够基于先前的身份验证令牌而被身份验证。在另一个示例中,PUF源1100可以被改变以提供新的身份验证令牌以用于在向前推进的基础上对设备进行身份验证。在其他实施例中,出于其他原因可以修改PUF源1100。
注意,如上所述,可以使用来自多个PUF源的多个PUF值来生成随机值,该随机值可以用于各种目的,诸如如上所述的设备身份验证或加密密钥的生成。尽管可以使用相同类型的PUF源来生成多个PUF值或同一PUF值的多个部分,但是不必在所有实施例中使用相同类型的PUF源。
作为示例,图17示出了示例性实施例,其中处理电路1510(例如,图3的通用处理单元120、加密处理单元125和/或PUF测量和控制电路126)耦合到至少一个可编程PUF源1515(诸如具有由图13所示的熔断器1111至1113的PUF源1100),及至少一个不可编程PUF源1520。不可编程PUF源1520可以是本文描述的由该PUF源提供的PUF值不可被编程的任何PUF源。作为示例,不可编程的PUF源可以是基于存储器的PUF、基于环形振荡器的PUF、基于仲裁器的PUF、基于线性电容的PUF,或基于线性时域反射法的PUF,如以上参考图5A至图6A和图6C所描述的那样。
在由图17所示的实施例中,处理电路1510可以从可编程PUF源1515获得至少一个PUF值,并且从不可编程PUF源1520获得至少一个PUF值,并且基于来自两个PUF源1515和1520的PUF值来生成随机值。作为示例,当处理电路1510正在生成加密密钥或其他独特值时,处理电路1510可以组合来自可编程PUF源1515的至少一个PUF值和来自不可编程PUF源1520的至少一个PUF值,以提供组合值。例如,处理电路1510可以形成组合值,其中该组合值的一部分(例如一半)来自可编程PUF源1515,并且该组合值的另一部分(例如一半)来自不可编程PUF。然后,处理电路1510可以如可期望的那样将这个组合值用作随机值。例如,当生成加密密钥时,处理电路1510可以使用组合值作为种子来生成加密密钥或其他独特值。
如上所述,PUF源可以在芯片上或芯片外,诸如在PCB上。图18示出具有至少一个PUF源1805(以下称为“板载PUF源”)的PCB 1801的示例性实施例,该PUF源1805可以形成或以其他方式定位在PCB 1801的表面上或嵌入在PCB 1801内。如由图18所示,读取器芯片1807(诸如由图3所示的读取器芯片100)可以安装在PCB 1801上并且电连接到板载PUF源1805。读取器芯片1807可以具有至少一个PUF源1811(下文称为“片上PUF源”)和电耦合到板载PUF源1805和片上PUF源1811的处理电路1815。
处理电路1815可以包括图3的通用处理单元120、加密处理单元125和/或PUF测量和控制电路126以及用于执行本文针对处理电路1815描述的功能的任何其他电路中的一个或多个。使用本文描述的任何技术,处理电路1815可以配置为与PUF源1805和1811交互并从PUF源1805和1811获得PUF数据。在PUF源1805和1811中的一个或两个均可编程的实施例中,处理电路1805和1811可以配置为使用本文所述的任何PUF修改技术来重新编程、擦除或以其他方式修改PUF源1805和1811中的任一个。作为示例,PUF源1805和1811中的一个或多个可具有可通过经由熔断器传输电信号而被修改(例如,“烧毁”)的熔断器,如以上针对由图13所描绘的实施例所描述的那样。
在一些实施例中,处理电路1815可以配置成从板载PUF源1805和片上PUF源1811获得PUF数据,并且为了执行安全操作的目的而组合这样的PUF数据。作为示例,处理电路1815可以通过向PUF源1805提交质询并测量或以其他方式确定响应来从板载PUF源1805获得PUF数据,如由图19的框1903所示。类似地,处理电路1815可通过向PUF源1811提交质询并测量或以其他方式确定响应来从片上PUF源1811获得PUF数据,如由图19的框1906所示。然后,处理电路1815可以将从板载PUF源1805获得的PUF数据与从片上PUF源1811获得的PUF数据进行组合以形成组合的PUF值,如由图19的框1915所示。如由图19的框1922所示,处理电路1815可以使用该组合的PUF值来生成或以其他方式提供可用于加密或解密数据(例如,如上所述在支付交易中使用的支付信息)的加密密钥或其他值(例如,身份验证令牌),以便对读取器芯片1807和/或PCB 1801进行身份验证,或以便执行另一安全操作。
在框1915中组合PUF数据时,处理电路100可以简单地将来自一个PUF源的PUF数据的一个或多个位附加到来自另一PUF源的PUF数据的一个或多个位以形成组合值。备选地,可以使用更复杂的算法。作为示例,来自一个PUF源的位可以与来自另一个PUF源的位交错,或者来自每个PUF源的PUF数据可以用作数学算法的输入,以基于来自两个PUF源的PUF数据来计算值。产生该组合的值可以用作加密密钥或用作用于生成加密密钥的种子。还在其他实施例中,可以采用其他技术来组合和使用来自板载PUF源和片上PUF源中的一个或两个的PUF数据。
来自板载PUF源1805或来自板载PUF源1805和芯片上PUF源1811的组合的PUF数据的使用可以提供读取器芯片1807和芯片1807位于其上的PCB 1801的加密结合。作为示例,处理电路1815可以配置为仅当其安装在PCB 1801上并且可以访问板载PUF源1805时才提供用于安全操作的有效密钥。因此,如果读取器芯片1807被从PCB 1801移除,可以防止执行依赖或使用从板载PUF源1805推出的有效标识符(例如,加密密钥或身份验证令牌)的至少某些安全操作。此外,如果片上PUF源1811还用于推出有效标识符,则仅当读取器芯片1807与板载PUF源1805驻留在其上的PCB 1801配对时才可以生成有效标识符。即,在不能访问片上PUF源1811的情况下,连接到PCB 1801的不同的读取器芯片(未示出)将不能使用板载PUF源1805来提供有效标识符。
作为示例,在制造期间或其他时间,处理电路1815可以配置为从板载PUF源1805获得PUF数据,并从片上PUF源1811获得PUF数据,然后使用来自两个PUF源的PUF数据来定义用于加密、身份验证或其他一些安全操作的加密密钥或其他独特值。如果黑客从PCB 1801移除读取器芯片、以改变板载PUF源1805的方式篡改PCB,或者以改变片上PUF源1811的方式篡改读取器芯片1807,则可以防止处理电路1815基于PUF源1805和1811生成前述密钥或值。因此,当发生这种篡改尝试时,可以防止处理电路1815执行依赖于或使用该密钥或值的至少一项安全操作,从而有助于保护读取器芯片1807内或由其处理的敏感数据。
为了更详细地说明前述内容,假设黑客将读取器芯片1807从其PCB 1801移除,并将读取器芯片1807安装在具有被设计为从读取器芯片1807获得敏感信息的组件的另一PCB(未示出)上。在初始化时,处理电路1815可以配置为从板载PUF源1805获得PUF数据,并使用这种数据来提供用于身份验证、加密或其他安全操作的密钥(例如,身份验证令牌)。如果读取器芯片1807已被黑客转移到其他PCB,则新板的电气(例如,阻抗)特性可能与PCB 1801的电气(例如,阻抗)特性不同,且特别是与板载PUF源1805的电气(例如,阻抗)特性不同。因此,当处理电路1815初始化并尝试询问板载PUF源1805时,与先前将读取器芯片1815安装在PCB 1801上时相比,由处理电路1815获得的PUF数据可能会有所不同,因此处理电路1815不太可能提供用于身份验证、加密或其他安全操作的有效密钥。在这种情况下,可以防止由读取器芯片1807进行的一个或多个安全操作,以有助于保护敏感信息的未授权访问。
注意,可以使用各种类型的组件来实施板载PUF源1805。作为示例,在一些实施例中,板载PUF源1805可以包括一个或多个无源组件,诸如形成在PCB 1801上或嵌入在PCB1801中的电阻器、电容器或电感器和/或导电连接。在这样的实施例中,处理电路1815可以包括用于测量、感测或分析包括PUF源1805的路径的阻抗特性的电路,以便从这样的阻抗特性推出PUF数据的一个或多个值。
作为示例,图20示出示例性实施例,其中处理电路1815包括时域反射计(TDR)2001和处理单元2011,诸如由图3所描绘的加密处理单元125。TDR 2001可以配置为沿着包括板载PUF源1805的路径2018传输电信号(例如,脉冲)。当信号沿着该路径传播时,信号的一部分向往回朝向TDR 2001反射并由TDR 2001测量。沿路径2018的阻抗不连续性会改变从这些点反射的反射幅度,使得反射随时间的推移定义路径2018的签名。因此,路径中存在无源组件(诸如电阻器、电感器和电容器)以及导电连接的长度和设计(例如,宽度和厚度)会影响由TDR 2001测得的签名。此外,这些组件的制造工艺上的差异还会导致签名随板不同而随机变化,因此可以将这些组件用作PUF数据的来源。
有多种技术可用于从TDR 2001的测量结果中推出PUF数据。作为示例,对于TDR2001而言可以在脉冲或其他信号沿路径2018传输后的预定时间对返回值进行测量,然后在算法上组合测量以推出用作PUF数据的值。在其他实施例中,用于从TDR测量值确定PUF数据的其他技术是可能的。
在一些实施例中,可以改变或以其他方式控制在PCB 1801上形成的迹线的配置或形状,以影响由TDR 2001测量的签名。作为示例,可以有意地为不同的PCB改变板载PUF源1805(或其他PUF源)的迹线的配置或形状,以便提供可用于身份验证或以其他方式识别PCB1801的独特TDR签名。此外,从制造工艺变化所导致的迹线随板不同的配置或形状上的变化也会增强PUF数据的随机性。
为了更好地说明上述内容,参考图23,其示出可以在PCB 1801上形成的一对示例性导电迹线2052和2053。迹线2052具有加宽的区域2062,在本文中被称为“标志”,其提供了增加的表面积以利于钻出一个或多个孔,如将在下文中更详细地描述的那样。迹线2053类似地具有标志2063。为了简化说明,图23示出两条迹线2052和2053,其中每条迹线具有单个标志。在其他实施例中,可以存在任何数量的迹线,其中任何迹线都具有如可期望的任何数量的标志。
如由图24所示,每个标志2062和2063可以被钻孔以形成孔。在这一点上,图24示出图23的迹线2052和2053,其中在标志2062中钻有两个孔2071和2072,以及在标志2063中钻有三个孔2073至2075。对于每个标志2062和2063,可以根据任何期望的图案在其中钻出任何数量的孔。通过移除形成迹线的一部分导电材料,形成每个孔的钻孔会改变迹线在其相应标志处的阻抗不连续性。即,在其中具有钻孔的标志(或迹线的其他部分)相对于在钻孔之前的相同迹线将具有不同的反射特性。此外,这种反射特性将取决于在标志中钻出的孔的图案。因此,由于孔2071和2072的存在,在来自标志2062的反射到达TDR 2001时由TDR2001进行的反射测量将不同,并且类似地由于孔2073至2075的存在,在来自标志2063的反射到达TDR 2001时由TDR 2001进行的反射测量将不同。结果,由于在由TDR分析的迹线中存在孔2071至2075,因此由TDR 2001测量的签名以及因此从具有迹线2062和2063的PUF源1805推出的PUF数据将是不同的。
如上所述,可以有意地随板的不同而改变在标志2062和2063中形成的孔的图案,使得每个PCB 1801具有不同的迹线图案。进一步地,孔图案的选择可以随板的不同而被随机化,以努力增强从由迹线2052和2053所定义的PUF源生成的PUF数据的随机性。不管是否有意改变孔的图案,钻孔过程中的变化可导致孔图案上的小规模随机变化,从而有助于PUF数据随板不同的随机化。因此,在一些实施例中,可以将相同的钻孔图案施加到每个板上,但是钻孔图案上的变化可以导致形成用于生成PUF数据的PUF源。如本文中更详细描述的那样,使用随机化的孔图案来定义PUF源(诸如板载PUF源1805)的技术可以与无源部件的使用结合使用或与之分开使用。
在其他实施例中,可以使用其他技术来改变或以其他方式控制PCB 1801上的迹线的几何形状,而无需使用标志和/或不钻孔。无论使用何种技术形成或更改迹线,更改迹线的几何形状都会影响迹线的阻抗特性,从而影响由TDR 2001测得的签名。此外,在由TDR2001分析的信号路径中还可以改变嵌入在PCB 1801中或形成在PCB 1801上的其他类型结构的几何形状,以便以与以上针对迹线2052和2053所述类似的方式影响TDR测量。
注意,使用板载PUF源1805可以促进对篡改尝试的检测。例如,在由图20所描绘的实施例中,路径2018的任何更改都可以改变沿路径的一个或多个点处的阻抗,从而改变由TDR 2001检测到的签名。事实上,如果黑客尝试将黑客设备或其他外部设备电连接到路径2018,则连接点处的阻抗将被改变,从而改变由TDR 2001测得的签名。因此,为了检测篡改尝试,TDR 2001可以配置为询问路径2018并测量返回的签名,然后存储签名作为将来测量的基准。此后,当TDR 2001询问路径2018并测量返回的签名时,TDR 2001可以将当前签名与TDR 2001先前测得的基准签名进行比较。基于这种比较,如果当前签名与基准签名存在实质性差异,则TDR 2001可以检测到篡改尝试。
另外,影响路径2018的阻抗的这种篡改尝试可以类似地影响从PUF源1805获得的PUF数据,并且处理电路1815可以响应于PUF数据或从PUF数据推出的密钥的变化类似地检测篡改事件。作为示例,处理电路1815可以使用TDR 2001或其他方式从板载PUF源1805获得PUF数据,并且将这种PUF数据存储为基准以用于将来的比较。此后,当处理电路系统1815从板载PUF源1805获得PUF数据时,处理电路系统1815可将当前PUF数据与基准PUF数据进行比较,并且如果比较的数据不匹配,则检测到篡改事件。而且,通过改变PUF数据,篡改事件可以防止处理电路1815生成有效密钥,从而防止其执行依赖于或使用密钥的至少一项安全操作,如上所述。
在一些实施例中,诸如当使用无源组件来实施板载PUF源1805时,可以在读取器芯片1807与其他组件之间的数据路径内实施板载PUF源1805。作为示例,图21示出一个实施例,其中板载PUF源1805在读取器芯片1807和安装在PCB 1801上的另一组件(例如,IC芯片)2100之间的信号路径内,另一组件诸如图3所描绘的接口102、108或110或电源106。备选地,如由图22所示,板载PUF源1805可以在适于PUF源1805的专用路径内,其中与读取器芯片1807通信的其他组件未电耦合至该路径。
在一些实施例中,TDR 2001可以耦合到篡改网格,诸如上述的任何篡改网格,并用于基于篡改网格的阻抗特性来确定签名。TDR 2001可以配置为当对篡改网格的改变而改变其阻抗时检测篡改尝试,并且因此检测由TDR 2001测量的签名,如以上针对由图20所描绘的板载PUF源1805所描述的那样。如果需要的话,用于检测篡改尝试的篡改网格可以包括形成在定义篡改网格的迹线中的一个或多个标志,其中在标志中钻有随机的孔图案,如上进一步所述。
应当注意,不需要使用TDR 2001来测量或以其他方式确定PUF源的阻抗特性,并且其他类型的设备也可以测量或以其他方式确定PUF源的阻抗特性,以用于获得PUF数据或检测篡改尝试。另外,在以上几个实施例中,处理电路1815被描述为驻留在读取器芯片1807内,但是对于处理电路1815而言可以驻留在其他位置处,例如驻留在其他类型的IC芯片中。
示例项
1.一种用于设备进行安全操作的方法,所述设备具有配置为提供PUF数据的物理不可克隆功能(“PUF”)源,所述方法包括:从PUF源获取PUF数据,其中PUF源配置为使得由PUF源提供的PUF数据响应于PUF源遭受篡改尝试而改变;在所述设备的第一错误校正码电路处,基于错误校正码对获取到的PUF数据进行校正,其中所述错误校正码能够对获取到的PUF数据中的高达阈值数量的错误进行校正;由设备的处理电路基于校正后的PUF数据执行安全操作;在所述设备的第二错误校正码电路处,基于第二错误校正码对获取到的PUF数据进行校正,其中所述第二错误校正码能够对获取到的PUF数据中的高达第二阈值数量的错误进行校正;由所述设备的处理电路基于第二校正后的PUF数据执行第二安全操作;以及当第一错误校正码不能校正所获取到的PUF数据中的每个错误时,由处理电路识别出篡改尝试。
2.一种用于设备进行安全操作的方法,所述方法包括:从设备的物理不可克隆功能(“PUF”)源获取PUF数据,其中所述PUF源与预定的PUF数据相关联,以及其中PUF源配置为使得预定的PUF数据响应于PUF源经历篡改尝试而改变;在所述设备的错误校正码电路处,基于错误校正码对所述PUF数据进行校正,其中与所述预定PUF数据相比较,所述错误校正码能够对PUF数据中的高达阈值数量的错误进行校正;以及由设备的处理电路基于校正后的PUF数据执行安全操作。
3.根据项2所述的方法,还包括:当所述错误校正码不能校正所述PUF数据中的错误时,由所述处理电路识别出所述篡改尝试。
4.根据项2所述的的方法,还包括:在设备的第二错误校正码电路处,基于第二错误校正码对PUF数据进行校正,其中与预定PUF数据相比较,第二错误校正码能够对PUF数据中高达第二阈值数量的错误进行校正。
5.根据项4所述的方法,还包括:由所述设备的处理电路基于第二校正后的PUF数据执行第二安全操作。
6.根据项5所述的方法,还包括:当所述错误校正码不能校正所述PUF数据中的错误时,由所述处理电路识别出所述篡改尝试。
7.根据项2所述的方法,其中所述PUF源包括存储器设备、振荡器、仲裁器、电容感测电路,或时域反射电路。
8.根据项2所述的的方法,还包括:从设备的第二PUF源获取第二PUF数据,其中第二PUF源与预定的第二PUF数据相关联。
9.根据项8所述的方法,其中所述PUF源和所述第二PUF源为不同的PUF源类型。
10.根据项9所述的方法,其中所述PUF源类型中的每个选自存储器设备、振荡器、仲裁器、电容感测电路,或时域反射电路。
11.根据项8所述的的方法,还包括:在校正之前组合PUF数据和第二PUF数据,其中该校正对组合的PUF数据和第二PUF数据进行校正。
12.根据项8所述的方法,还包括:在所述设备的第二错误校正码电路处,基于第二错误校正码来校正所述第二PUF数据,其中与预定第二PUF数据相比较,所述第二错误校正码能够对第二PUF数据中高达阈值数量的错误进行校正;并由设备的处理电路基于第二校正后的PUF数据执行第二安全操作。
13.一种用于设备进行安全操作的方法,所述设备具有配置为提供PUF数据的物理不可克隆功能(“PUF”)源,所述方法包括:从PUF源获取PUF数据,其中PUF源配置为使得由PUF源提供的PUF数据响应于PUF源遭受篡改尝试而改变;基于错误校正码对获取到的PUF数据进行校正;以及由设备的处理电路基于校正后的PUF数据执行安全操作。
14.根据项13所述的方法,还包括:由处理电路基于对由PUF源提供的PUF数据的改变来识别篡改尝试。
15.根据项13所述的方法,其中所述错误校正码能够对所获取到的PUF数据中的高达阈值数量的错误进行校正,并且其中所述方法还包括:基于第二错误校正码来校正所获取到的PUF数据,其中第二错误校正码能够对所获取到的PUF数据中的高达第二阈值数量的错误进行校正。
16.根据项15所述的方法,还包括:由处理电路基于第二错误校正码是否成功地校正所获取到的PUF数据中的每个错误来确定是否执行至少一项安全操作。
17.根据项13所述的方法,还包括:从所述设备的第二PUF源获取第二PUF数据,其中所述第二PUF源配置为使得由所述第二PUF源提供的所述第二PUF数据响应于所述PUF源遭受篡改尝试而改变,并且其中所述PUF源和所述第二PUF源为不同的PUF源类型;以及组合所述PUF数据和所述第二PUF数据。
18.根据项17所述的方法,其中每个PUF源类型选自存储器设备、振荡器、仲裁器、电容感测电路或时域反射电路。
19.一种用于进行安全操作的设备,所述设备包括:物理不可克隆功能(“PUF”)源,其配置为提供PUF数据,其中所述PUF源配置为使得由所述PUF源提供的PUF数据响应于PUF源遭受篡改尝试而改变;处理电路,其配置为从PUF源获取PUF数据,并使用PUF数据执行安全操作;以及错误校正码电路,其配置为在安全操作中使用PUF数据之前校正所获取到的PUF数据中的错误。
20.根据项19所述的设备,其中所述处理电路配置为基于由所述PUF源提供的所述PUF数据的改变来识别所述篡改尝试。
21.根据项19所述的设备,其中所述错误校正码电路配置为基于第一错误校正码来校正所获取到的PUF数据中的错误,所述第一错误校正码能够对所获取到的PUF数据中的高达阈值数量的错误进行校正;以及其中所述设备还包括:第二错误校正电路,其配置为基于第二错误校正码来校正所获取到的PUF数据中的错误,所述第二错误校正码能够对所获取到的PUF数据中的高达第二阈值数量的错误进行校正。
22.根据项21所述的设备,其中所述处理电路配置为基于所述第二错误校正码是否成功地校正所获取到的PUF数据中的每个错误来确定是否执行至少一项安全操作。
23.根据项19所述的设备,还包括:第二PUF源,其配置为提供第二PUF数据,其中第二PUF源配置为使得由第二PUF源提供的第二PUF数据响应于第二PUF数据源遭受篡改尝试而改变,其中处理电路配置为组合PUF数据和第二PUF数据,并且其中PUF源和第二PUF源为不同的PUF源类型。
24.根据项23所述的设备,其中所述PUF源类型中的每个选自存储器设备、振荡器、仲裁器、电容感测电路或时域反射电路。
25.一种支付读取器,其包括:接口,用于从支付设备接收针对支付交易的支付信息;物理不可克隆功能(PUF)源;PUF测量电路,其电耦合到PUF源并配置为从PUF源获得PUF数据;防篡改设备,其具有的电气特性能够响应于由未经授权的用户篡改支付读取器的尝试而改变;防篡改电路,其电耦合到防篡改设备并配置为基于该电气特性的变化来检测由未经授权的用户篡改支付读取器的尝试;具有至少一个第一处理器的通用处理单元;以及加密处理单元,其具有至少一个第二处理器,所述第二处理器配置为接收所述PUF数据,基于所述PUF数据生成加密密钥,并基于所述加密密钥对所述支付信息进行加密,其中所述第一处理器配置为将加密的支付信息发送到支付服务器以批准支付交易,并且其中加密处理单元配置为响应于由防篡改电路检测到的尝试来擦除或修改PUF数据或加密密钥。
26.一种支付读取器,其包括:接口,用于从支付设备接收针对支付交易的支付信息;以及物理不可克隆功能(PUF)源;PUF测量电路,其电耦合到PUF源并配置为从PUF源获得PUF数据;以及至少一个处理单元,其具有至少一个第一处理器,配置为用于将支付信息发送到支付服务器以批准支付交易,所述至少一个处理单元配置为用于执行安全操作,以基于PUF数据处理支付信息。
27.根据项26所述的支付读取器,其中所述接口具有天线,所述天线用于与所述支付设备进行无线通信以接收所述支付信息。
28.根据项26所述的支付读取器,其中所述接口具有用于接收所述支付设备的EMV插槽,并且其中所述接口配置为与所述支付设备的EMV芯片进行通信以接收所述支付信息。
29.根据项26所述的支付读取器,其中所述接口具有磁条读取器,用于从所述支付设备的磁条读取支付信息。
30.根据项26所述的支付读取器,其中所述至少一个处理单元包括具有所述第一处理器的通用处理单元,其中所述至少一个处理单元包括具有第二处理器的加密处理单元,并且其中所述第二处理器配置为基于PUF数据生成用于加密支付信息的密钥。
31.根据项26所述的支付读取器,其中所述PUF测量电路被集成在所述支付读取器的安全区域内。
32.根据项26的支付读取器,还包括:防篡改设备,其具有的电气特性响应于篡改尝试而改变;以及防篡改电路,其电耦合到所述防篡改设备并配置为基于所述电气特性的变化来检测所述篡改尝试。
33.根据项32所述的支付读取器,其中所述支付读取器配置为响应于检测到的篡改尝试来修改所述PUF源。
34.根据项32所述的支付读取器,其中所述支付读取器配置为响应于检测到的篡改尝试而修改或擦除从所述PUF数据推出的值。
35.根据项32所述的支付读取器,其中所述至少一个处理单元包括具有所述第一处理器的通用处理单元,其中所述至少一个处理单元包括具有第二处理器的加密处理单元,其中所述第二处理器配置为(1)基于从PUF数据推出的值执行用于处理支付信息的加密操作;以及(2)将该值存储在加密处理单元的存储器中,并且其中加密处理单元配置为响应于检测到的篡改尝试而从存储器中擦除该值或修改该值。
36.根据项32所述的支付读取器,其中所述防篡改设备包括所述PUF源。
37.根据项32所述的支付读取器,其中所述防篡改设备包括篡改网格,并且其中所述篡改网格包括所述PUF源。
38.根据项32所述的支付读取器,其中所述至少一个处理单元配置为响应于检测到的篡改尝试而将通知发送到所述支付服务器。
39.根据项38所述的支付读取器,其中所述至少一个处理单元配置为响应于检测到的篡改尝试而将通知发送到与所述支付交易相关联的商户设备。
40.一种用于支付读取器中以处理支付交易的方法,所述方法包括:通过所述支付读取器的接口从支付设备接收针对所述支付交易的支付信息;以及从支付读取器的PUF源获得物理不可克隆功能(PUF)数据;基于PUF数据执行用于在支付读取器内处理支付信息的安全操作;以及将支付信息从支付读取器发送到支付服务器以批准支付交易。
41.根据项40所述的方法,其中所述接收包括使用所述支付读取器的天线无线地接收所述支付信息。
42.根据项40所述的方法,还包括用支付读取器的EMV插槽接收支付设备,其中接收支付信息包括从支付设备的EMV芯片接收支付信息。
43.根据项40所述的方法,其中所述接收包括利用所述支付读取器的磁条读取器来读取所述支付设备的磁条。
44.根据项40所述的方法,其中执行所述安全操作包括基于所述PUF数据生成用于加密所述支付信息的密钥。
45.根据项44所述的方法,其中所述发送由所述支付读取器的通用处理单元的处理器执行,并且其中所述生成由所述支付读取器的加密处理单元的处理器执行。
46.根据项40所述的方法,其中所述获得由所述支付读取器的PUF测量电路执行,其中所述PUF测量电路被集成在所述支付读取器的安全区域内。
47.根据项40所述的方法,还包括响应于所述支付读取器的防篡改设备的电气特性上的改变来检测篡改尝试。
48.根据项47所述的方法,还包括响应于所述检测而修改所述PUF源。
49.根据项47所述的方法,其进一步包含响应于所述检测而修改或擦除从所述PUF数据推出的值。
50.根据项47所述的方法,其中由所述支付读取器的加密处理单元的处理器基于从所述PUF数据推出的值来执行所述安全操作,并且其中所述方法包括:
将该值存储在加密处理单元的存储器中;以及
响应于检测,从存储器中擦除该值或修改该值。
51.根据项47所述的方法,其中所述防篡改设备包括所述PUF源。
52.根据项47所述的方法,其中所述防篡改设备包括篡改网格,并且其中所述篡改网格包括该PUF源。
53.根据项47的方法,还包括响应于检测从支付读取器向支付服务器发送通知。
54.根据项47所述的方法,还包括响应于检测从所述支付读取器向与所述支付交易相关联的商户设备发送通知。
55.一种通过响应于篡改尝试而改变PUF源的熔断器的电阻来修改设备的物理不可克隆功能(PUF)源的方法,所述方法包括:发送第一信号通过PUF源的熔断器;用所述设备的传感器测量所述第一信号的参数;使用由传感器测得的第一信号的参数生成防篡改PUF值;使用篡改前PUF值生成加密密钥;检测篡改设备的尝试;响应于对所述尝试的检测而修改所述PUF源,所述修改包括传输具有足够高的电流或电压的第二信号通过所述熔断器以改变所述熔断器的电阻;在所述修改后,发送第三信号通过熔断器;用设备的传感器测量第三信号的参数;以及使用传感器测得的第三信号的参数生成篡改后的PUF值。
56.根据项55所述的方法,其中所述熔断器包括在多个熔断器中,并且其中所述修改随机地改变所述多个熔断器对所述第三信号的响应。
57.根据项55所述的方法,其中所述设备是支付读取器,并且其中所述方法还包括使用所述加密密钥来执行支付交易。
58.一种用于修改设备的物理不可克隆功能(PUF)源的方法,该PUF源具有嵌入在设备中的至少一个熔断器,该方法包括:发送第一信号通过PUF源的至少一个熔断器;用传感器测量第一信号的参数;基于由传感器测得的第一信号的参数从PUF源提供PUF值;在设备内处理PUF值以执行操作;在处理之后在设备处检测事件;利用设备的处理电路基于检测到的事件来确定修改PUF源;以及响应于该确定来修改PUF源,该修改包括发送具有足够高的电流或电压的第二信号通过至少一个熔断器以改变至少一个熔断器的电阻。
59.根据项58所述的方法,还包括将输入施加到所述PUF源,其中响应于所述输入而执行所述发送,且其中所述修改改变所述PUF源对所述输入的响应。
60.根据项58所述的方法,其中所述至少一个熔断器包括多个熔断器,其中所述方法还包括向所述PUF源施加输入,其中响应于所述输入而执行所述发送,并且其中该修改随机地改变多个熔断器对输入的响应。
61.根据项58所述的方法,其中所述事件是由所述设备对用户输入的接收。
62.根据项58所述的方法,其中所述事件是篡改所述设备的尝试。
63.根据项58所述的方法,其中所述设备是支付读取器,并且其中所述操作是执行支付交易。
64.根据项58所述的方法,还包括基于所述PUF值来对所述设备进行身份验证。
65.根据项58所述的方法,其中所述处理包括基于所述PUF值生成加密密钥。
66.根据项58所述的方法,其中所述处理包括基于所述PUF值生成身份验证令牌。
67.根据项58所述的方法,其中所述至少一个熔断器具有介电层,并且其中所述第二信号的电压超过所述介电层的击穿电压。
68.根据项58所述的方法,其中所述至少一个熔断器具有非晶硅的层,并且其中所述第二信号的电压足够高以将所述非晶硅转换成多晶硅金属合金。
69.一种设备,其包括:具有至少一个熔断器的物理不可克隆功能(PUF)源,所述PUF源响应于输入以基于发送通过至少一个熔断器的第一信号的参数的测量来提供PUF值;以及配置成处理所述PUF值以在所述设备内执行操作的电路,所述电路还配置成基于由所述电路检测到的事件来选择所述至少一个熔断器以进行修改,并且通过发送具有足够高电流或电压的第二信号来修改所述至少一个熔断器来改变至少一个熔断器的电阻,从而改变PUF源对输入的响应。
70.根据项69所述的设备,其中所述事件是由所述设备对用户输入的接收。
71.根据项69所述的设备,其中所述事件是篡改所述设备的尝试。
72.根据项69所述的设备,其中所述设备是支付读取器,并且其中所述操作是执行支付交易。
73.根据项69所述的设备,其中所述电路配置为基于所述PUF值生成加密密钥。
74.根据项69所述的设备,其中所述电路配置为基于所述PUF值生成身份验证令牌。
75.根据项69所述的设备,其中所述至少一个熔断器具有介电层,并且其中所述第二信号的电压超过所述介电层的击穿电压。
76.根据项69所述的设备,其中所述至少一个熔断器具有非晶硅的层,并且其中所述第二信号的电压足够高以将所述非晶硅转换成多晶硅金属合金。
77.一种用于修改设备的物理不可克隆功能(PUF)源的方法,该PUF源具有嵌入在该设备中的至少一个熔断器,该方法包括:向该PUF源施加输入,从而使电流流动通过PUF源的至少一个熔断器;用传感器测量该电流;基于所测得的电流从PUF源提供PUF值;在设备内处理PUF值以执行操作;在处理之后在设备处检测事件;利用设备的处理电路基于检测到的事件来确定修改PUF源;响应于该确定而修改PUF源,该修改包括传输足够量的电流通过至少一个熔断器以改变至少一个熔断器的电阻,从而改变PUF源对输入的响应。
78.根据项77所述的方法,其中该设备是支付读取器,并且其中该操作是执行支付交易。
79.根据项77所述的方法,其中所述处理包括基于所述PUF值生成加密密钥。
80.根据项77所述的方法,其中所述处理包括基于所述PUF值生成身份验证令牌。
81.一种支付读取器设备,其包括:具有处理电路以执行安全支付操作的支付芯片;以及位于支付芯片外部但位于支付读取器设备内的物理不可克隆功能(PUF)组件,该PUF组件配置为生成由支付芯片用来执行安全支付操作的PUF数据。
82.根据项81所述的支付读取器设备,其中PUF组件包括嵌入在支付读取器设备的印刷电路板中的无源设备。
83.根据项81所述的支付读取器设备,其中所述处理电路配置为将所述PUF数据与由位于所述支付芯片内部的另一PUF组件生成的另一PUF数据进行组合,以形成组合的PUF数据,并且其中所述支付芯片使用所述组合的PUF数据来用于安全支付操作。
84.根据项81所述的支付读取器设备,其中所述安全支付操作包括对支付卡数据进行加密。
85.根据项81所述的支付读取器设备,其中所述安全支付操作包括对所述支付读取器设备进行身份验证。
86.根据项81所述的支付读取器设备,其中所述处理电路包括时域反射计,所述时域反射计配置为通过所述第一PUF源传输电信号并测量所述电信号的返回,并且其中所述处理电路配置为根据测得的返回来确定PUF数据。
87.一种电子设备,其包括:具有第一物理不可克隆功能(PUF)源的印刷电路板;以及位于印刷电路板上的集成电路(IC)芯片,该IC芯片具有处理电路,该处理电路配置为从第一PUF源接收第一PUF数据,该处理电路还配置为使用第一PUF数据来确定加密密钥或身份验证令牌,其中第一PUF源嵌入在IC芯片外部的印刷电路板中或形成在IC芯片外部的印刷电路板上。
88.根据项87所述的电子设备,其中第一PUF源包括无源设备。
89.根据项87所述的支付读取器,其中所述处理电路包括时域反射计,所述时域反射计配置为通过所述第一PUF源传输电信号并测量所述电信号的返回,并且其中所述处理电路配置为根据测得的返回来确定第一PUF数据。
90.根据项87所述的电子设备,其中所述IC芯片具有第二PUF源,其中所述处理电路配置为从所述第二PUF源接收第二PUF数据,并且其中所确定的加密密钥或身份验证令牌基于第二PUF数据。
91.根据项90所述的支付读取器,其中第一PUF源和第二PUF源中的至少一个具有熔断器,并且其中处理电路配置为通过将足够高的电流或电压的电信号传输通过熔断器以改变熔断器的电阻来修改第一PUF源和第二PUF源中的至少一个。
92.根据项87所述的电子设备,其中所述电子设备是支付读取器,并且其中所述IC芯片是读取器芯片,该读取器芯片配置为接收由所述支付读取器读取的支付数据并基于所确定的加密密钥或身份验证令牌处理支付数据。
93.根据项92所述的电子设备,其中处理电路配置为将第一PUF数据和第二PUF数据组合以形成组合的PUF数据,并且其中所确定的加密密钥或身份验证令牌基于组合的PUF数据。
94.根据项92所述的电子设备,其中安全操作包括对支付数据进行加密。
95.根据项92所述的电子设备,其中安全操作包括对读取器芯片进行身份验证。
96.一种用于具有印刷电路板的电子设备的方法,其中所述印刷电路板具有第一物理不可克隆功能(PUF)源,所述方法包括:通过驻留在印刷电路板上的集成电路(IC)芯片的处理电路从所述第一PUF源确定第一PUF数据,其中第一PUF源嵌入在IC芯片外部的印刷电路板中或形成在IC芯片外部的印刷电路板上;基于第一PUF数据,利用处理电路确定加密密钥或身份验证令牌;以及使用确定的加密密钥或身份验证令牌在IC芯片内执行至少一项安全操作。
97.根据项96所述的方法,其中所述第一PUF源包括无源设备。
98.根据项96所述的方法,还包括:从所述处理电路的时域反射计发送电信号通过所述第一PUF源;以及用时域反射计测量电信号的返回,其中确定第一PUF数据基于所测得的返回。
99.根据项96所述的方法,其中所述IC芯片具有第二PUF源,并且其中所述方法还包括:基于所述第二PUF源,利用所述处理电路确定第二PUF数据,其中确定所述加密密钥或身份验证令牌基于第二PUF数据。
100.根据项99所述的方法,其中所述第一PUF源和所述第二PUF源中的至少一个具有熔断器,并且其中所述方法还包括:通过将足够高的电流或电压的电信号传输通过所述熔断器以改变熔断器的电阻来修改所述第一PUF源和所述第二PUF源中的至少一个。
101.根据项96所述的方法,其中所述电子设备是支付读取器,其中所述IC芯片是读取器芯片,并且其中所述方法还包括:在所述读取器芯片处接收由所述支付读取器读取的支付数据;以及基于确定的加密密钥或身份验证令牌使用处理电路来处理支付数据。
102.根据项101所述的方法,还包括:组合第一PUF数据和第二PUF数据以形成组合的PUF数据,其中确定加密密钥或身份验证令牌基于组合的PUF数据。
103.根据项101的方法,其中执行安全操作包括对支付数据进行加密。
104.根据项101的方法,其中执行安全操作包括对读取器芯片进行身份验证。
前述内容仅是本公开的原理的示例,并且本领域技术人员可以在不脱离本公开范围的情况下进行各种修改。给出上述实施例是为了说明而非限制性的目的。除了本文明确描述的那些形式以外,本公开还可以采取许多形式。因此,要强调的是,本公开不限于明确公开的方法、系统和设备,而是旨在包括在所附权利要求精神之内的对其的变型和修改。
作为另一示例,可以对设备或过程参数(例如,尺寸、配置、组件、过程步骤顺序等)做出改变,以进一步优化所提供的结构、设备和方法,如本文所示和所述。无论如何,本文所述的结构和设备以及相关方法具有许多应用。因此,所公开的主题不应限于本文描述的任何单个实施例,而应根据所附权利要求书的广度和范围来解释。
Claims (53)
1.一种用于修改设备的物理不可克隆功能(PUF)源的方法,PUF源具有嵌入在设备中的至少一个熔断器,所述方法包括:
发送第一信号通过PUF源的至少一个熔断器;
用传感器测量第一信号的参数;
基于由传感器测得的第一信号的参数从PUF源提供PUF值;
在设备内处理PUF值以执行操作;
在该处理之后在设备处检测事件;
利用设备的处理电路基于检测到的事件来确定修改PUF源;以及
响应于该确定来修改PUF源,该修改包括发送具有足够高的电流或电压的第二信号通过至少一个熔断器以改变至少一个熔断器的电阻。
2.根据权利要求1所述的方法,其特征在于,还包括将输入施加到所述PUF源,其中响应于所述输入而执行所述发送,且其中所述修改改变所述PUF源对所述输入的响应。
3.根据权利要求1所述的方法,其特征在于,所述至少一个熔断器包括多个熔断器,其中所述方法还包括向所述PUF源施加输入,其中响应于所述输入而执行所述发送,并且其中所述修改随机地改变多个熔断器对该输入的响应。
4.根据权利要求1所述的方法,其特征在于,所述事件是由所述设备对用户输入的接收。
5.根据权利要求1所述的方法,其特征在于,所述事件是篡改所述设备的尝试。
6.根据权利要求1所述的方法,其特征在于,所述设备是支付读取器,并且其中所述操作是执行支付交易。
7.根据权利要求1所述的方法,其特征在于,所述处理包括基于所述PUF值生成加密密钥。
8.根据权利要求1所述的方法,其特征在于,所述处理包括基于所述PUF值生成身份验证令牌。
9.根据权利要求1所述的方法,其特征在于,所述至少一个熔断器具有介电层,并且其中所述第二信号的电压超过所述介电层的击穿电压。
10.根据权利要求1所述的方法,其特征在于,所述至少一个熔断器具有非晶硅的层,并且其中所述第二信号的电压足够高以将所述非晶硅转换成多晶硅金属合金。
11.一种设备,包括:
具有至少一个熔断器的物理不可克隆功能(PUF)源,所述PUF源响应于输入以基于发送通过至少一个熔断器的第一信号的参数的测量来提供PUF值;以及
配置成处理所述PUF值以在所述设备内执行操作的电路,所述电路还配置成基于由所述电路检测到的事件来选择所述至少一个熔断器以进行修改,并且通过发送具有足够高电流或电压的第二信号来修改所述至少一个熔断器来改变至少一个熔断器的电阻,从而改变PUF源对输入的响应。
12.根据权利要求11所述的设备,其特征在于,所述事件是篡改所述设备的尝试。
13.根据权利要求11所述的设备,其特征在于,所述设备是支付读取器,并且其中所述操作是执行支付交易。
14.根据权利要求11所述的设备,其特征在于,所述至少一个熔断器具有介电层,并且其中所述第二信号的电压超过所述介电层的击穿电压。
15.根据权利要求11所述的设备,其特征在于,所述至少一个熔断器具有非晶硅的层,并且其中所述第二信号的电压足够高以将所述非晶硅转换成多晶硅金属合金。
16.一种电子设备,包括:
具有第一物理不可克隆功能(PUF)源的印刷电路板;以及
位于印刷电路板上的集成电路(IC)芯片,该IC芯片具有处理电路,该处理电路配置为从第一PUF源接收第一PUF数据,该处理电路还配置为使用第一PUF数据来确定加密密钥或身份验证令牌,其中第一PUF源嵌入在IC芯片外部的印刷电路板中或形成在IC芯片外部的印刷电路板上。
17.根据权利要求16所述的电子设备,其特征在于,第一PUF源包括无源设备。
18.根据权利要求16所述的支付读取器,其特征在于,所述处理电路包括时域反射计,所述时域反射计配置为通过所述第一PUF源传输电信号并测量所述电信号的返回,并且其中所述处理电路配置为根据测得的返回来确定第一PUF数据。
19.根据权利要求16所述的电子设备,其特征在于,所述IC芯片具有第二PUF源,其中所述处理电路配置为从所述第二PUF源接收第二PUF数据,并且其中所确定的加密密钥或身份验证令牌基于第二PUF数据。
20.根据权利要求16所述的电子设备,其特征在于,所述电子设备是支付读取器,并且其中所述IC芯片是读取器芯片,该读取器芯片配置为接收由所述支付读取器读取的支付数据并基于所确定的加密密钥或身份验证令牌处理支付数据。
21.根据权利要求20所述的电子设备,其特征在于,所述处理电路配置为将第一PUF数据和第二PUF数据组合以形成组合的PUF数据,并且其中所确定的加密密钥或身份验证令牌基于组合的PUF数据。
22.一种用于具有印刷电路板的电子设备的方法,其中所述印刷电路板具有第一物理不可克隆功能(PUF)源,所述方法包括:
通过驻留在印刷电路板上的集成电路(IC)芯片的处理电路从所述第一PUF源确定第一PUF数据,其中第一PUF源嵌入在IC芯片外部的印刷电路板中或形成在IC芯片外部的印刷电路板上;
基于第一PUF数据,利用处理电路确定加密密钥或身份验证令牌;以及
使用确定的加密密钥或身份验证令牌在IC芯片内执行至少一项安全操作。
23.根据权利要求22所述的方法,其特征在于,所述第一PUF源包括无源设备。
24.根据权利要求22所述的方法,其特征在于,还包括:
从所述处理电路的时域反射计发送电信号通过所述第一PUF源;以及
用时域反射计测量电信号的返回,
其中确定第一PUF数据基于所测得的返回。
25.根据权利要求22所述的方法,其特征在于,所述IC芯片具有第二PUF源,并且其中所述方法还包括:
基于所述第二PUF源,利用所述处理电路确定第二PUF数据,
其中确定所述加密密钥或身份验证令牌基于第二PUF数据。
26.根据权利要求22所述的方法,其特征在于,所述电子设备是支付读取器,其中所述IC芯片是读取器芯片,并且其中所述方法还包括:
在所述读取器芯片处接收由所述支付读取器读取的支付数据;以及
基于确定的加密密钥或身份验证令牌使用处理电路来处理支付数据。
27.根据权利要求22所述的方法,其特征在于,还包括:
组合第一PUF数据和第二PUF数据以形成组合的PUF数据,
其中确定加密密钥或身份验证令牌基于组合的PUF数据。
28.根据权利要求22所述的方法,其特征在于,执行安全操作包括对支付数据进行加密。
29.一种用于设备进行安全操作的方法,所述设备具有配置为提供PUF数据的物理不可克隆功能(“PUF”)源,所述方法包括:
从PUF源获取PUF数据,其中PUF源配置为使得由PUF源提供的PUF数据响应于PUF源遭受篡改尝试而改变;
基于错误校正码对获取到的PUF数据进行校正;以及
由设备的处理电路基于校正后的PUF数据执行安全操作。
30.根据权利要求29所述的方法,其特征在于,还包括:
由处理电路基于对由PUF源提供的PUF数据的改变来识别篡改尝试。
31.根据权利要求29所述的方法,其特征在于,所述错误校正码能够对所获取到的PUF数据中的高达阈值数量的错误进行校正,并且其中所述方法还包括:
基于第二错误校正码来校正所获取到的PUF数据,
其中第二错误校正码能够对所获取到的PUF数据中的高达第二阈值数量的错误进行校正。
32.根据权利要求29所述的方法,其特征在于,还包括:
由处理电路基于第二错误校正码是否成功地校正所获取到的PUF数据中的每个错误来确定是否执行至少一项安全操作。
33.根据权利要求29所述的方法,其特征在于,还包括:
从所述设备的第二PUF源获取第二PUF数据,其中所述第二PUF源配置为使得由所述第二PUF源提供的所述第二PUF数据响应于所述PUF源遭受篡改尝试而改变,并且其中所述PUF源和所述第二PUF源为不同的PUF源类型;以及
组合所述PUF数据和所述第二PUF数据。
34.根据权利要求33所述的方法,其特征在于,每个PUF源类型选自存储器设备、振荡器、仲裁器、电容感测电路或时域反射电路。
35.一种用于进行安全操作的设备,所述设备包括:
物理不可克隆功能(“PUF”)源,其配置为提供PUF数据,其中所述PUF源配置为使得由所述PUF源提供的PUF数据响应于PUF源遭受篡改尝试而改变;
处理电路,其配置为从PUF源获取PUF数据,并使用PUF数据执行安全操作;以及
错误校正码电路,其配置为在安全操作中使用PUF数据之前校正所获取到的PUF数据中的错误。
36.根据权利要求35所述的设备,其特征在于,所述处理电路配置为基于由所述PUF源提供的所述PUF数据的改变来识别所述篡改尝试。
37.根据权利要求35所述的设备,其特征在于,所述错误校正码电路配置为基于第一错误校正码来校正所获取到的PUF数据中的错误,所述第一错误校正码能够对所获取到的PUF数据中的高达阈值数量的错误进行校正,以及其中所述设备还包括:
第二错误校正电路,其配置为基于第二错误校正码来校正所获取到的PUF数据中的错误,所述第二错误校正码能够对所获取到的PUF数据中的高达第二阈值数量的错误进行校正。
38.根据权利要求37所述的设备,其特征在于,所述处理电路配置为基于所述第二错误校正码是否成功地校正所获取到的PUF数据中的每个错误来确定是否执行至少一项安全操作。
39.根据权利要求35所述的设备,其特征在于,还包括:
第二PUF源,其配置为提供第二PUF数据,其中第二PUF源配置为使得由第二PUF源提供的第二PUF数据响应于第二PUF数据源遭受篡改尝试而改变,其中处理电路配置为组合PUF数据和第二PUF数据,并且其中PUF源和第二PUF源为不同的PUF源类型。
40.根据权利要求39所述的设备,其特征在于,所述PUF源类型中的每个选自存储器设备、振荡器、仲裁器、电容感测电路或时域反射电路。
41.一种支付读取器,包括:
接口,用于从支付设备接收针对支付交易的支付信息;
物理不可克隆功能(PUF)源;
PUF测量电路,其电耦合到PUF源并配置为从PUF源获得PUF数据;以及
至少一个处理单元,其具有至少一个第一处理器,配置为用于将支付信息发送到支付服务器以批准支付交易,所述至少一个处理单元配置为用于执行安全操作,以基于PUF数据处理支付信息。
42.根据权利要求41所述的支付读取器,其特征在于,所述接口具有用于接收所述支付设备的EMV插槽,并且其中所述接口配置为与所述支付设备的EMV芯片进行通信以接收所述支付信息。
43.根据权利要求41所述的支付读取器,其特征在于,所述至少一个处理单元包括具有所述第一处理器的通用处理单元,其中所述至少一个处理单元包括具有第二处理器的加密处理单元,并且其中所述第二处理器配置为基于PUF数据生成用于加密支付信息的密钥。
44.根据权利要求41所述的支付读取器,其特征在于,所述PUF测量电路被集成在所述支付读取器的安全区域内。
45.根据权利要求41所述的支付读取器,其特征在于,还包括:
防篡改设备,其具有的电气特性响应于篡改尝试而改变;以及
防篡改电路,其电耦合到所述防篡改设备并配置为基于所述电气特性的改变来检测所述篡改尝试。
46.根据权利要求45所述的支付读取器,其特征在于,所述至少一个处理单元包括具有所述第一处理器的通用处理单元,其中所述至少一个处理单元包括具有第二处理器的加密处理单元,其中所述第二处理器配置为(1)基于从PUF数据推出的值执行用于处理支付信息的加密操作;以及(2)将该值存储在加密处理单元的存储器中,并且其中加密处理单元配置为响应于检测到的篡改尝试而从存储器中擦除该值或修改该值。
47.根据权利要求45所述的支付读取器,其特征在于,所述防篡改设备包括所述PUF源。
48.根据权利要求45所述的支付读取器,其特征在于,所述防篡改设备包括篡改网格,并且其中所述篡改网格包括PUF源。
49.一种用于支付读取器中以处理支付交易的方法,所述方法包括:
通过所述支付读取器的接口从支付设备接收针对所述支付交易的支付信息;
从支付读取器的PUF源获得物理不可克隆功能(PUF)数据;
基于PUF数据执行用于在支付读取器内处理支付信息的安全操作;以及
将支付信息从支付读取器发送到支付服务器以批准支付交易。
50.根据权利要求49所述的方法,其特征在于,执行所述安全操作包括基于所述PUF数据生成用于加密所述支付信息的密钥,其中所述发送由所述支付读取器的通用处理单元的处理器执行,并且其中所述生成由所述支付读取器的加密处理单元的处理器执行。
51.根据权利要求49所述的方法,其特征在于,所述获得由所述支付读取器的PUF测量电路执行,其中所述PUF测量电路被集成在所述支付读取器的安全区域内。
52.根据权利要求49所述的方法,其特征在于,还包括响应于所述支付读取器的防篡改设备的电气特性上的改变来检测篡改尝试,其中所述防篡改设备包括所述PUF源。
53.根据权利要求49所述的方法,其特征在于,还包括:响应于所述支付读取器的防篡改设备的电气特性上的改变来检测篡改尝试,其中所述防篡改设备包括篡改网格,并且其中所述篡改网格包括PUF源。
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762534181P | 2017-07-18 | 2017-07-18 | |
US62/534,181 | 2017-07-18 | ||
US15/844,510 | 2017-12-15 | ||
US15/844,510 US10819528B2 (en) | 2017-07-18 | 2017-12-15 | Device security with physically unclonable functions |
US201862617993P | 2018-01-16 | 2018-01-16 | |
US62/617,993 | 2018-01-16 | ||
US15/885,688 US11018881B2 (en) | 2017-07-18 | 2018-01-31 | Device security with physically unclonable functions |
US15/885,688 | 2018-01-31 | ||
US15/942,288 | 2018-03-30 | ||
US15/942,299 US10438190B2 (en) | 2017-07-18 | 2018-03-30 | Devices with on-board physically unclonable functions |
US15/942,299 | 2018-03-30 | ||
US15/942,288 US10263793B2 (en) | 2017-07-18 | 2018-03-30 | Devices with modifiable physically unclonable functions |
PCT/US2018/042741 WO2019018557A1 (en) | 2017-07-18 | 2018-07-18 | DEVICES HAVING PHYSICALLY NON-CLONABLE FUNCTIONS |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111183611A true CN111183611A (zh) | 2020-05-19 |
Family
ID=70294652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880048790.7A Pending CN111183611A (zh) | 2017-07-18 | 2018-07-18 | 具有物理不可克隆功能的设备 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3656085A1 (zh) |
CN (1) | CN111183611A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111800272A (zh) * | 2020-06-29 | 2020-10-20 | 湖北工业大学 | 一种针对ro puf输出响应的可靠性自检电路及方法 |
CN112286463A (zh) * | 2020-10-30 | 2021-01-29 | 南方电网科学研究院有限责任公司 | 一种数据处理方法、装置、设备和存储介质 |
CN113505401A (zh) * | 2021-07-13 | 2021-10-15 | 湖北工业大学 | 一种可提取芯片和电路板物理指纹的混合puf电路及提取方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110254141A1 (en) * | 2008-12-29 | 2011-10-20 | Nxp B.V. | Physical structure for use in a physical unclonable |
US20130141137A1 (en) * | 2011-06-01 | 2013-06-06 | ISC8 Inc. | Stacked Physically Uncloneable Function Sense and Respond Module |
CN103299310A (zh) * | 2011-01-14 | 2013-09-11 | 西门子公司 | 用于在现场设备中保护安全模块免遭篡改尝试的装置和方法 |
US20160328578A1 (en) * | 2014-01-08 | 2016-11-10 | Stc.Unm | Systems and methods for generating physically unclonable functions from non-volatile memory cells |
-
2018
- 2018-07-18 EP EP18755987.7A patent/EP3656085A1/en not_active Withdrawn
- 2018-07-18 CN CN201880048790.7A patent/CN111183611A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110254141A1 (en) * | 2008-12-29 | 2011-10-20 | Nxp B.V. | Physical structure for use in a physical unclonable |
CN103299310A (zh) * | 2011-01-14 | 2013-09-11 | 西门子公司 | 用于在现场设备中保护安全模块免遭篡改尝试的装置和方法 |
US20130141137A1 (en) * | 2011-06-01 | 2013-06-06 | ISC8 Inc. | Stacked Physically Uncloneable Function Sense and Respond Module |
US20160328578A1 (en) * | 2014-01-08 | 2016-11-10 | Stc.Unm | Systems and methods for generating physically unclonable functions from non-volatile memory cells |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111800272A (zh) * | 2020-06-29 | 2020-10-20 | 湖北工业大学 | 一种针对ro puf输出响应的可靠性自检电路及方法 |
CN112286463A (zh) * | 2020-10-30 | 2021-01-29 | 南方电网科学研究院有限责任公司 | 一种数据处理方法、装置、设备和存储介质 |
CN113505401A (zh) * | 2021-07-13 | 2021-10-15 | 湖北工业大学 | 一种可提取芯片和电路板物理指纹的混合puf电路及提取方法 |
CN113505401B (zh) * | 2021-07-13 | 2022-04-26 | 湖北工业大学 | 一种可提取芯片和电路板物理指纹的混合puf电路及提取方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3656085A1 (en) | 2020-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11775958B2 (en) | Device security with physically unclonable functions | |
US10263793B2 (en) | Devices with modifiable physically unclonable functions | |
US11018881B2 (en) | Device security with physically unclonable functions | |
US10733291B1 (en) | Bi-directional communication protocol based device security | |
WO2019018557A1 (en) | DEVICES HAVING PHYSICALLY NON-CLONABLE FUNCTIONS | |
JP6803935B2 (ja) | 不正および改ざんに対するデバイスの論理的妥当性確認 | |
US10127409B1 (en) | Tamper detection system | |
US9892293B1 (en) | Tamper detection system | |
US9665870B1 (en) | Multi-input tamper detection system | |
US9300665B2 (en) | Credential authentication methods and systems | |
US9818004B1 (en) | Anti-tamper circuit with internal local oscillator | |
US10474846B1 (en) | Processor power supply glitch detection | |
US11652649B2 (en) | Sensor secured by physical unclonable function (PUF) | |
WO2011118548A1 (ja) | 認証処理方法及び装置 | |
US9799180B1 (en) | Multiplexed tamper detection system | |
US10255603B1 (en) | Processor power supply glitch mitigation | |
ES2912620T3 (es) | Detección de manipulación de tarjetas chip en base a línea | |
WO2018111601A1 (en) | Tamper detection system | |
US11044108B1 (en) | Temperature sensing physical unclonable function (PUF) authentication system | |
CN111183611A (zh) | 具有物理不可克隆功能的设备 | |
US10175118B1 (en) | Systems and methods for measuring temperature | |
US10528928B1 (en) | Scanning system with direct access to memory | |
Quadir | Anti-Reverse Engineering Techniques for Integrated Circuits and Electronics Hardware | |
Giessmann | Specification of the Security Target TCOS Passport Version 2.1 Release 1-BAC/P60D144/FSV02 Version: 2.1. 1/20130806 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200519 |
|
WD01 | Invention patent application deemed withdrawn after publication |