CN117203688A - 保护加密密钥 - Google Patents
保护加密密钥 Download PDFInfo
- Publication number
- CN117203688A CN117203688A CN202180091329.1A CN202180091329A CN117203688A CN 117203688 A CN117203688 A CN 117203688A CN 202180091329 A CN202180091329 A CN 202180091329A CN 117203688 A CN117203688 A CN 117203688A
- Authority
- CN
- China
- Prior art keywords
- security device
- psk
- key
- digital signature
- message
- 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
- 230000008859 change Effects 0.000 claims abstract description 20
- 230000000873 masking effect Effects 0.000 claims abstract description 11
- 230000004044 response Effects 0.000 claims abstract description 7
- 239000011241 protective layer Substances 0.000 claims description 14
- 230000009466 transformation Effects 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 4
- 239000003814 drug Substances 0.000 claims description 3
- 235000013305 food Nutrition 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims 2
- 230000006870 function Effects 0.000 description 38
- 238000012795 verification Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 8
- 208000030331 Posterior urethral valve Diseases 0.000 description 7
- 239000010410 layer Substances 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000005670 electromagnetic radiation Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000000853 adhesive Substances 0.000 description 2
- 230000001070 adhesive effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 229940079593 drug Drugs 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 235000009754 Vitis X bourquina Nutrition 0.000 description 1
- 235000012333 Vitis X labruscana Nutrition 0.000 description 1
- 240000006365 Vitis vinifera Species 0.000 description 1
- 235000014787 Vitis vinifera Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000000825 pharmaceutical preparation Substances 0.000 description 1
- 229940127557 pharmaceutical product Drugs 0.000 description 1
- 238000000053 physical method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 238000011179 visual inspection Methods 0.000 description 1
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/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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/3247—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 involving digital signatures
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
一种安全装置包括:遮蔽装置,其响应于输入信号始终提供根据遮蔽装置的微结构变化的同一随机输出信号,其中改变遮蔽装置的微结构将改变随机输出信号;基于随机输出信号生成秘钥的密钥生成元件;及使用秘钥产生安全装置所接收的消息的数字签名的数字签名元件。遮蔽装置包围密钥生成元件和数字签名元件的至少一部分以防止接近密钥生成元件和数字签名元件,其中接近密钥生成元件和数字签名元件中的任何一个将改变遮蔽装置的微结构从而改变随机输出信号。安全装置可附着到物品,将安全装置与物品分离可改变遮蔽装置的微结构。
Description
技术领域
本申请涉及伪造品防止领域,尤其涉及保护加密密钥以防止其不适当公开的领域。
背景技术
在数字世界,安全性通常取决于保持一些密钥的秘密状态。例如,数字签名方案包括三个快速算法:密钥生成器G、签名算法S和验证算法V。给定随机字符串r作为输入,用户x使用G产生一对密钥(即字符串):“公开的”密钥PKx和“秘密的”签名密钥SKx。公钥不会“泄露”其对应的秘钥。也就是说,即使知道PKx,除x之外的其他人均不能在少于天文时间的时间内计算出SKx。用户x使用SKx数字地签名消息。对于每一可能的消息(二进制串)m,x针对输入m和SKx运行算法S以产生串SIGx(m),称为x对m的数字签名。
在一些情形下,m可从SIGx(m)取回。如果m不能从SIGx(m)取回,可能重新定义x对消息m的数字签名由(m,SIGx(m))对组成。知道PKx的任何人可使用PKx验证x产生的签名。具体地,在下面输入的基础上(a)用户x的公钥PKx、(b)消息m和(c)声称的x对消息m的数字签名s,验证算法V输出是或者否以满足下面的性质:
1、合法签名总是被验证:如果s=SIGx(m),则V(PKx,m,s)=是;
2、数字签名非常难以伪造:不知道SKx,如果x从来没有签名m,找到串s使得V(PKx,m,s)=是需要天文数字量的时间。
为防止任何其他的人代表其签名消息,用户x必须使得其签名密钥SKx保持秘密(因此称为“秘钥”),以及为使任何人能验证其签名的消息,x必须使其验证密钥PKx公开(因此称为“公钥”)。不用说,在适当设计的数字签名方案中,不仅公钥PKx不泄露其匹配的秘钥SKx,而且密钥生成器G用于产生两密钥的随机输入r也不泄露相应秘钥。否则,在发现r之后,任何人均可基于输入r再次运行密钥生成算法而输出和学习SKx和PKx。
在许多情形下,密钥SK的保密可通过将SK存储在计算签名的硬件设备(例如计算机芯片)中而实现,其在拥有人的控制之下(例如在家中)、远离潜在的敌手。然而,在其它情形下,计算签名的硬件设备不能被存放在安全环境中。例如,在一些情形下,计算签名的硬件设备连接到跨境运输的产品。因而,计算签名的硬件设备可能落入试图读取计算签名的硬件设备中包含的秘钥SK的恶意用户手中。
解决该问题的一种方法是将SK存储在所谓的“防纂改芯片”中。然而,大多数防纂改芯片并不绝对地防纂改,而是仅仅增加纂改难度。防纂改芯片可被外层包围,该外层防止入侵者在不破坏SK的情形下访问防纂改芯片内存储的秘钥。在现实中,这样的外层并非万无一失:它们仅使得读取SK代价更高。使用正确的装备,恶意用户可插入探针并读取SK而不破坏SK。
因而,需要提供一种防止秘钥被恶意用户或其他未经授权的实体确定的机制。
发明内容
根据在此描述的系统,提供一种安全装置,包括:遮蔽装置,其响应于输入信号始终提供根据遮蔽装置的微结构变化的同一随机输出信号,其中改变遮蔽装置的微结构将改变随机输出信号;基于随机输出信号生成秘钥的密钥生成元件;及使用秘钥产生安全装置所接收的消息的数字签名的数字签名元件;其中遮蔽装置包围密钥生成元件和数字签名元件的至少一部分以防止接近密钥生成元件和数字签名元件,接近密钥生成元件和数字签名元件中的任何一个将改变遮蔽装置的微结构从而改变随机输出信号。安全装置还可包括设置在安全装置的一个或多个外表面上的保护层以防止遮蔽装置的微结构在正常使用安全装置时改变。保护层可用于将安全装置附着到物品,其中将安全装置与物品分离会改变遮蔽装置的微结构。安全装置可附着到物品,将安全装置与物品分离可改变遮蔽装置的微结构。实体可连同指明遮蔽装置的输入信号的额外信息和/或关于物品的信息一起对与秘钥对应的公钥进行数字签名。物品可以是钞票、消费品、生产的部件、药品、与食物有关的产品、和/或具有内容物的包裹。另外的安全装置可附着到物品。实体可连同一些信息一起对与秘钥对应的公钥进行数字签名,实体的数字签名连同安全装置一起可构成给定的货币价值。秘钥可仅存在足以对消息签名的时间。输入信号可由实体认证。安全装置可包括设置在安全装置周围的法拉第笼。密钥生成元件还可生成对应于秘钥的公钥。安全装置可输出公钥。输入信号可以是存储在安全装置中的多个质询值之一。输入信号之一可根据安全装置的内部计数器进行选择。安全装置可包括设置在遮蔽装置与密钥生成元件之间的变换元件。变换元件可使用加密散列函数或恒等函数变换随机值信号。安全装置在对消息进行数字签名时可运行无关的计算。
进一步根据在此描述的系统,对消息进行数字签名包括:将消息提供给具有遮蔽装置的安全装置,遮蔽装置响应于输入信号始终提供根据遮蔽装置的微结构变化的同一随机输出信号,其中改变遮蔽装置的微结构将改变随机输出信号;安全装置还具有基于随机输出信号生成秘钥的密钥生成元件及使用秘钥产生安全装置所接收的消息的数字签名的数字签名元件,其中遮蔽装置包围密钥生成元件和数字签名元件的至少一部分以防止接近密钥生成元件和数字签名元件,接近密钥生成元件和数字签名元件中的任何一个将改变遮蔽装置的微结构从而改变随机输出信号;向安全装置提供质询值;及从安全装置获得数字签名。
在此描述的系统为基于例如美国专利10,607,234和10,803,374中的教导使用PUV和PUF的改进,因为这些专利中没有任何一个教导了怎样防止秘钥被恶意用户或其它未经授权的实体确定。例如,如果与美国专利10,803,374的图10中所示类似地简单地将PUV卷绕在一个包含秘钥的硬件周围,没有任何东西将秘钥与PUV联系起来,这样,恶意用户可简单地去除PUV,即使这戏剧性地改变PUV的输入-输出行为,然后评估秘钥。解决该问题的一种方法是向PUV提供固定的输入C,然后使用秘钥连同消息一起对PUV的输出D(C)签名以产生SIGx(M,D(C))。这样,PUV与通过秘钥产生的签名联系起来。然而,这同样失败,因为恶意用户仍可能够破坏PUV并获知秘钥。由于输入C对于将要签名的所有消息均一样,在从在前的签名知道D(C)之后,恶意用户能通过简单地使用获知的秘钥计算签名SIGx(M',D(C))而对任何消息M'进行数字签名。这个问题可通过使C为不可预测的数来代替常数而解决。例如,C可以是消息M的单向散列即H(M),这样,PUV的输出为D(H(M)),签名为SIGx(M,D(H(M)))。然而,这种方法的问题在于,用户没有办法将D(H(M))与比方说随机数区分开。因而,恶意用户可首先破坏D以获知秘钥,然后将新的PUV卷绕在具有秘钥的签名算法S周围,从而获得看上去像所破坏的真装置一样的装置,但提供不同的输出D'(C)。当输入新消息M*时,该新的装置产生数字签名SIGx(M*,H(D'(M*))),但没有办法检测H(D'(M*))为错误值且应该是H(D(M*)),因为没有办法检测D'(M*)是不正确的值(即应该是D(M*))。
附图说明
现在将结合附图更详细地说明在此所述的系统的实施例,附图简要说明如下。
图1为根据在此描述的系统的实施例的仲裁器电路的示意性表示;
图2为根据在此描述的系统的实施例的、提供物理不可克隆值(PhysicallyUnclonable Value,PUV)的装置的示意性表示;
图3A和3B为根据在此描述的系统的实施例的、提供物理不可克隆函数(Physically Unclonable Function,PUF)的装置的二维示意图;
图4为根据在此描述的系统的实施例的、通过受保护的仲裁器电路实施的弱PUV的示意性表示;
图5A和5B为根据在此描述的系统的实施例的、具有保护层(示为虚线)的弱PUV的示意性表示;
图6A和6B为根据在此描述的系统的实施例的、物理安全密钥(physically securekey,PSK)装置的示意性表示,其用提供弱PUV输入-输出函数的遮蔽装置进行构建;
图7为根据在此描述的系统的实施例的、在两个保护层之间具有法拉第(Faraday)笼的PSK装置的示意性表示;
图8示出了根据在此描述的系统的实施例的、具有PSK装置和印刷在其上的字母数字串的纸币;
图9示出了根据在此描述的系统的实施例的、具有PSK装置和QR码的酒瓶;
图10示出了根据在此描述的系统的实施例的、具有PSK装置和QR码的、包含药品的瓶子;
图11示出了根据在此描述的系统的实施例的、具有PSK装置和QR码的密封包裹;
图12示出了根据在此描述的系统的实施例的、具有PSK装置附着到其上的昂贵消费品。
具体实施方式
在此描述的系统使用遮蔽装置,其响应于一输入信号始终提供同样的随机值信号,该随机值信号根据遮蔽装置的微结构变化。遮蔽装置包围系统的、签署数字消息的元件,使得这些元件中的任何元件的未经授权的接近将改变遮蔽装置的微结构,最终防止生成经认证的私钥因而防止用经认证的私钥签署任何消息。
仲裁器电路
图1示出了仲裁器电路100,其包括几个多路复用器102和一个锁存器104。该电路100产生两个不同的延迟通路且每一延迟通路对每一输入X具有相同的布局长度,及基于哪一通路更快而产生输出D(X)。输出D(X)可以是单一比特,但仲裁器电路可被增强使得D(X)为足够长的串。锁存器104的分辨率可足够精细以确保在给定同样的输入X时,只要电路(微结构)尚未被改变(且执行环境未显著改变),将获得相同的输出D(X)。电路100的输出确实可依赖于电路100的微结构,使得对于每一给定输入X,D(X)是随机值,甚至电路的最小改变将导致D(X)变成不同的(及实际上随机的)输出。实际上,具有相同布局的两个仲裁器电路基于相同输入的输出可极大地不同,因为这些仲裁器电路的微结构不同。
尽管仲裁器电路对于每一个别的输入始终输出唯一的随机值,但仲裁器电路的输入-输出函数D(X)并非随机函数。实际上,给定足够多的输入-输出对,可推断D(X),这并非随机函数的性质。对于个别地随机但可容易推断的函数的极端例子,考虑函数f这样进行定义:设r为随机整数,设定f(0)=r,以及对于任何x,f(x)=r+x。之后,对于任何给定输入,f产生随机输出。然而,给定任何的单一输入-输出对(i,f(i)),可容易地计算f在任意输入x时的值:实际上,f(x)=f(i)-i+x。
PUV
美国专利10,607,234B2(下面称为“'234专利”)通过引用组合于此,其示出了怎样构建和使用PUV。照字面地,PUV为具有相关联的、将一对装置映射为是和否的验证算法A的物理装置。本质上,如果电路D为PUV,则:
1、个体随机性。电路D响应于单一选择的输入始终产生单一随机值;及
2、不可克隆性。很难生产两个装置D1和D2,使得:
(a)A(D1)=A(D2)=是;及
(b)D1和D2对于相同的所选输入c产生相同的值。
例如参见图2,其为提供物理不可克隆值(PUV)D的装置200的示意性表示。
'234专利还公开了怎样通过适当地利用电路如仲裁器电路的微结构构建PUV。在该例子中,验证算法A本质上验证两个装置真地由具有相同布局的仲裁器电路组成。
PUF
美国专利10,803,374B2(下面称为“'374专利”)通过引用组合于此,其教导了构建和使用物理不可克隆函数(PUF)。本质上,PUF为其输入-输出函数在实践中为随机函数的装置R:不仅基于输入x的输出R(x)随机,而且不可预测,对于不同于x的输入x1,...,xn,给出输出R(x1),...,R(xn)。
'374专利教导了通过构建装置R而构建PUF,装置R:(a)包括用于加密散列H的PUVD遮蔽电路,及(b)基于输入x,输出H(D(x))。这样的装置R可被保护层覆盖。
例如参见图3A和3B,其示出了PUF 300、300'的不同的二维示意图
1PSK装置
在此描述的系统提供物理安全密钥(PSK)装置,即使相应的PSK装置遭受所有类型的物理攻击,其均能保持加密方案的秘钥SK的秘密性。在一些情形下,PSK装置可从比(上面描述的)'234和'374专利中描述的装置简单得多的装置、以非常不同的方式构建。
1.1弱PUV
弱PUV是满足下面的两个特性的物理装置D:
1、个体随机性。基于任何单一输入C,D始终产生唯一的随机输出D(C);
2、未掌握一定信息不可克隆性。在没有D生成的输入-输出对的情形下,很难找到另一装置D'和输入C使得D(C)=D'(C)。
应注意,弱PUV的未掌握一定信息不可克隆性特性不要求使用验证算法A。这是因为在看到D的任何输出之前D必定很难克隆。如下所述,不存在前述要求非常有益。
参考图4,示出了弱PUV通过受保护的仲裁器电路400实施。受保护的仲裁器电路400与上面描述的仲裁器电路100类似,但仲裁器电路400被保护层402包围,其防止仲裁器电路400的微结构被正常使用的磨损改变。保护层402也可以不透明。
应注意,上面提出的弱PUV的特性1成立,因为特性1对于与图1的仲裁器电路100类似的一般(未经保护的)仲裁器电路已经成立。至于特性2,由于仲裁器电路402基于任何输入产生的输出随机以及未给出由仲裁器电路402生成的输入-输出对,实际上不可能找到确保D'(c)=D(c)的第一受保护的仲裁器电路D、第二受保护的仲裁器电路D'和输入c。可能生产具有与D相同电路布局的另一仲裁器电路D'(无论是否受保护)。实际上,这样的D'能够在未给予D任何输入c并观察到相应的输出D(c)的情形下进行生产。然而,D'的微结构必然将不同于D的微结构,从而输入-输出函数D'(X)将完全不同于D的输入-输出函数。因而,对于任何输入c,D(c)=D'(c)在统计上不可能。
图5A和5B为具有保护层(示为虚线)的弱PUV的示意性表示。例如,保护层可通过特殊的胶粘剂实现,其在施加之后变硬且不可传导。应注意,将保护层施加到仲裁器电路可能改变仲裁器电路的微结构。然而,这不是问题,因为受保护的仲裁器电路的输入-输出函数被取为在施加保护层之后出现的输入-输出函数。仲裁器电路的保护层可跟随仲裁器电路的轮廓,或者可仅在仲裁器电路的外表面周围施加。应注意,受保护的仲裁器电路仅为弱PUV的一个例子,并非要求弱PUV受到保护。在此描述的系统应用于受到保护的以及未经保护的弱PUV。
PUV与弱PUV对比
应注意,对于PUV和弱PUV,个体随机性特性相同,但PUV的不可克隆性远强于弱PUV享有的未掌握一定信息不可克隆性。这在下面详细阐述:
对于PUV,不可克隆性特性要求必须很难产生两个装置D1和D2以及输入c,使得(a)对于指定验证算法A,A(D1,D2)=是;及(b)D1(c)=D2(c)。不可克隆性要求非常强。具体地,不可克隆性特性也应用于生产D1的恶意用户使用D1一段时间之后生产D2并找到使D1和D2产生相同输出的输入c的情形。这突出了在本说明书别处更详细描述的验证算法A的重要作用。
考虑基于仲裁器电路的PUV的例子。回想一下,仲裁器电路D1的输入-输出函数D1(x)可容易推断。因而,在向D1馈送足够多的输入并观察D1的相应输出之后,恶意用户可构建具有与D1同样的输入-输出函数的装置D',即对于所有x,D'(x)=D1(x)。然而,这样构建的装置D'必然不是具有与D1相同布局的仲裁器电路。因而,适当的验证算法A将容易地拒绝这样的一对装置(D1,D'):即,A(D1,D')=否。
然而,应注意,验证算法A应能够处理下述的、更复杂的情形。即,恶意用户:
(1)获得仲裁器电路D1并用其试验而推断输入-输出函数D1(x);
(2)生产(非仲裁器)装置D',使得D'(x)=D1(x),其尽可能小型化以便很难注意到;
(3)构建具有与D1相同布局L的仲裁器电路D2(应注意,D2的微结构必然不同于D1的微结构,D2(x)必然不同于D1(x));
(4)在D2的接线中进行一些切断以防止D2基于任何输入产生任何输出;
(5)构建装置D*,将运行的小型化装置D'隐藏在残废的装置D2中,使得D*的输入-输出函数为D的输入-输出函数。
要保持不可克隆性特性,验证算法必须也拒绝这对装置(D1,D*)。在'234专利的实施例中,算法A验证两个装置D1和D2是否真地由具有相同布局的两个仲裁器电路组成。也就是说,验证D1和D2一般地具有相同的布局L并不足够,而是要验证正是该布局L导致它们的输入-输出函数(具体地,A必须验证L没有切断)。实际上,仅有后面的验证才使A能拒绝(D1,D*)对。这对'234专利的(普通)PUV的仲裁器电路实施施加明显的约束。
应注意,验证算法A要能够检查(和比较)仲裁器电路D1的布局L并确认D1确实使用L来实施D1的输入-输出函数,必须暴露L。暴露可能使前述仲裁器电路成为脆弱的装置,因为,即使L的小改变也将导致D1以完全不同和不可预测的方式工作。因而,该脆弱性排除了其中正常使用的磨损可能改变布局L的应用。
对于弱PUV,未掌握一定信息不可克隆性特性非常宽松,不要求存在或使用另外的验证算法A。由于几个原因,这是主要优点。例如,依赖于验证算法A可使PUV在许多应用中更昂贵。同样,确保A能够运行可能使PUV更脆弱或者在许多设置中不可应用。
下面说明怎样构建三种类型的PSK装置:基本的、经认证的、以及增强的,下面部分还说明怎样将PSK装置用于多种应用,包括不可伪造的钱币、认证产品等。
1.2基本的物理安全密钥
结构和功能
参考图6A,物理安全密钥(PSK)装置600用弱PUV 602构建,其至少遮蔽弱PUV 602产生的输出D(C)、包括实施变换函数F的硬件的可选的变换元件、包括实施密钥生成算法G的密钥生成元件、以及包括实施数字签名方案的数字签名算法S的硬件的数字签名元件。硬件可以是实施F、G和S的、传统的电路和/或处理装置。在此提及F、G和S时应当理解为其中的每一个均包括对应的元件/硬件。弱PUV 602提供遮蔽,这防止访问在计算弱PUV输出期间产生的一些值并防止在不改变弱PUV的输入-输出函数的情形下访问F、G和S。弱PUV 602也可用保护层604遮蔽,其防止在正常使用时意外“擦伤”,或者更一般地,改变弱PUV的输入-输出函数和/或G和S的输入-输出函数。这样,在正常使用时,只要给予相同的输入,弱PUV持续产生相同的输出。提供F的变换元件并非必需,其通过将来自弱PUV 602的输出D(C)连接到密钥生成元件G的输入的虚线606示出。
回想一下,给定输入C,弱PUV始终产生给定的随机值D(C)。同样,给定随机输入,密钥生成算法G是产生公钥和匹配的秘钥的算法。最后,签名算法S接收两个输入:秘密签名密钥和消息。
PSK装置600可接收两个输入:质询C(例如固定值)和消息M,二者按如下所述进行使用:
-质询C被给为弱PUV的输入以产生不进行存储而是提供给变换元件的随机输出D(C),变换元件可使用加密散列函数、恒等函数或任何其它函数对D(C)进行变换以提供变换后的信号。如上面提及的,随机输出D(C)可直接提供给密钥生成元件;
-变换后的信号(或者弱PUV的输出)被给为提供密钥生成算法G的硬件的输入,其进而产生验证密钥PK和与PK对应的秘密签名密钥SK。密钥PK可直接在PSK装置外面输出,而SK被给为实施签名算法S的硬件的第一输入;
-消息M被给为实施签名算法S的硬件的第二输入。因而,S相对于公钥PK产生M的签名SIG(M)。该签名可从PSK装置输出。
应注意,基于随机输入r生成匹配的密钥PK和SK的密钥生成算法G包括其中第一算法G1基于输入r生成秘钥SK及第二算法G2基于输入SK生成匹配的公钥PK的情形(该情形对于基于散列的数字签名方案的密钥生成算法出现,其实际上可以是数字签名方案的实施例)。在该情形下,公钥PK可被生成且仅在某时(例如在初始处理期间)输出而在其它时间(例如在PSK装置仅输出输入消息的签名时)不输出。实际上,在这些其它时间,算法G2可被绕过,同时秘钥SK由G1直接馈给签名算法S。类似地,算法G包括其中第一算法G1'基于随机输入r产生公钥PK和一些额外信息AI以及第二算法G2'基于输入AI(或者AI和PK)输出匹配的秘钥SK的情形。因此,在该情形下,PSK装置600也可产生且仅在某些时候输出PK,而在其它时间仅输出输入消息的签名。
例如,PSK装置600可由用户用于对用户的消息签名。也就是说,用户可使用PSK装置600生成公钥PK,用户将PK作为他们自己的进行广而告之。用户可将PSK装置保留在用户家中,例如连接到用户的计算机,以便以最安全的方式对用户想要的任何消息进行签名。实际上,在许多PKI应用中,保护秘钥是主要问题。PSK装置可由X.509证书系统(或类似系统)中的CA使用,其中CA数字地签名用户证书。
基本安全分析
我们现在分析PSK装置600的安全性。首先,当PSK装置600未使用时,密钥SK甚至不存在,这是保持SK秘密的最佳方式。当使用PSK装置600并具有输入C和M时,密钥SK如魔术般地变为存在并仅用作签名算法S的输入,且一旦PSK装置600停止使用将消失。在PSK装置600处于使用中时如果恶意用户向PSK装置600中插入探针以访问SK,恶意用户的行动改变弱PUV 602的微结构,使得已改变的弱PUV基于输入C产生完全不同的输出,其进而生成完全不同于SK的密钥SK'。因而,恶意用户可读到的任何东西将实际上对知道SK没用。类似地,恶意用户不能够知道随机值D(C),因为D(C)的值也是瞬现的并在被弱PUV 602本身完全遮蔽的空间内短暂地如魔术般地变为存在。
变型
公钥PK的不同的处理
由PSK装置600的密钥生成算法G产生的公钥PK不需要由密钥生成算法G直接输出到外部。例如但并非限制,一旦生成,PK可存储在PSK装置600内的一些长期存储器中,然后在需要公钥的任何时间从该存储器直接输出到外部。
电力
PSK装置600可经外部提供的电力或者内部电力如电池进行工作。外部电力可持续提供或者仅在使用时间期间提供。具体地,电力可由向PSK装置600提供输入C和M的同一装置提供,可能以无接触方式提供。
可变咨询
质询C不需要对于所有PSK装置均为相同的固定值。不同的PSK装置可使用不同的质询来生成给密钥生成算法的随机输入。在该情形下,特定质询C可明确地与特定PSK装置相关联,例如,C可被使得可在PSK装置的保护层上获得,或者C可存储在PSK装置的长期存储器中并在PSK装置被启用时输出,依此类推。优选地,C被验证。例如,C可使用连同最终从C生成的公钥PK一起进行数字签名的额外信息I进行指定。这样,需要使用PSK装置相对于PK对消息M进行数字签名调度任何人知道哪一质询C输入给PSK装置以便启用PSK装置从而内部生成对应的秘钥SK。
多个秘钥
PSK装置600在上面描述为保护单一秘钥SK。现在说明PSK装置600可保护不同的秘钥:SK1,SK2,...。实质上,SK1通过将质询C1给予PSK装置600的弱PUV而产生。这样,弱PUV产生随机值D(C1),其(可能在通过函数F变换之后)馈给密钥生成器G的硬件,该硬件之后产生公钥PK1和对应的秘钥SK1。类似地,SK2通过将质询C2给予弱PUV而产生。这样,随机值D(C2)被馈给密钥生成器G的硬件,该硬件之后产生PK2和SK2,依此类推。质询C1、C2等可被使得可由一个或多个实体分开地或一起获得(可能以经验证的方式)。
还应注意,PSK装置600可处理所有种类的秘钥,并非仅仅数字签名方案的那些秘钥,例如但不限于公钥密码系统的解密密钥。
不同的输入/输出装置
为描述简单起见,我们已描述PSK装置600具有两个分开的外部输入:质询(直接馈给PSK装置600的弱PUV)和消息(作为两个输入之一直接馈给签名算法S的硬件)。这并非限制。例如,可实施具有单一外部输入的PSK装置,该单一外部输入用于指明输入到PSK装置内部的质询和消息,其中,质询和消息之后被分别馈给弱PUV和S。
类似地,PSK装置可具有单一外部输出,公钥PK和经签名的消息通过该输出发送出去。
为对消息M签名,PSK装置需要将质询C和消息M接收为输入。然而,对于仅计算公钥PK,PSK装置可仅接收质询C。PSK装置可实际上构建成在仅接收质询输入时工作。作为替代,PSK装置仅可在接收到两个输入时工作且仅可输出PK和经签名的消息。如果用户希望仅知道PK,用户可仅向PSK装置提供输入C和任何消息x,可不顾输出签名。
参考图6B,备选实施例的PSK装置600'示出了将质询C接收为内部输入的弱PUV602'。在一些情形下,质询C可在PSK装置600'内部产生和/或存储因而提供为PSK装置600'的内部输入。与本说明书别处讨论的PSK装置600一样,弱PUV 602'至少遮蔽弱PUV 602'产生的输出D(C)、包括实施变换函数F的硬件的可选的变换元件、包括实施密钥生成算法G的密钥生成元件、以及包括实施数字签名方案的数字签名算法S的硬件的数字签名元件。
1.3经认证的PSK装置
PSK装置也可由实体E进行认证。这样的实体E安全地使PSK装置与一些信息I相关联。经认证的PSK装置可由其他方安全地使用。在实施例中,经认证的PSK装置按如下所述工作:
设PK为PSK装置生成的公钥。更精确地,设PK为与一旦PSK装置被给予质询C而最终由PSK装置的密钥生成器生成的秘钥对应的公钥。
认证实体E具有已知的公开验证密钥PKE并秘密地处理对应的签名密钥SKE。实体E产生数字签名SIGE(PK,I)并使其可用,其中I为任何类型的信息(例如,时间信息、将给予PSK装置用于它生成与PK对应的秘钥SK的质询C,或者没有信息)。签名SIGE(PK,I)表明E担保信息I相对于能够相对于PK产生数字签名的PSK装置的真实性。如果I是空信息,则SIGE(PK)仅担保公钥PK本身。
E可采用多种方式来获知E进行签名从而认证PSK装置所需要的、公开的PK。例如,E本身可能生产PSK装置并向PSK装置提供特定质询C及使PSK装置输出PK。作为替代,E可从E信任的实体接收PK。
E也可采用多种方式来使SIGE(PK,I)可获得。例如,例如,E例如可按条形码形式将SIGE(PK,I)打印在PSK装置本身上或者单独地打印(例如PSK装置所连接/附着的物品上)(或者可使某人打印SIGE(PK,I))。作为替代,PSK装置可接收SIGE(PK,I)(例如在初始阶段期间)、将SIGE(PK,I)存储在非易失性存储器中、及在随后输出SIGE(PK,I)(例如在相对于PK对消息进行数字签名时)。
安全性分析
应注意,数字签名SIGE(PK,I)将信息I与某一PSK装置的公钥PK安全地绑定,但该签名不需要安全地绑定到PSK装置。在最坏情形下,如果签名与PSK装置分开,用户可能不能够验证PSK装置产生的签名,因为用户不知道哪一公钥PK必须用于验证签名。实际上,即使恶意用户使SIGE(PK,I)可结合不同的物理安全密钥PSK装置'获得,没有人将被欺骗到认为E相对于PSK装置'的公钥担保信息I。实际上,仅PSK装置能重构PK的秘钥SK。因而,PSK装置'和任何其他人均不能相对于PK伪造任何数字签名。
变型
应注意,不同的实体E1,E2,...可用不同的信息I认证PSK装置的同一公钥PK,使得E1用I1认证,E2用I2认证等等。
作为替代,不同的实体可认证同一PSK装置基于不同质询而产生的不同公钥。例如,实体Ej可产生签名SIGEj(PKj,Ij),其中公钥PKj由PSK装置基于质询Cj产生。
1.4增强的PSK装置
如本说明书别处讨论的,基本的PSK装置对于侵入式攻击是安全的。然而,仍然可能有另一类攻击,一般称为“侧信道攻击”、“物理可观察攻击”或“密钥泄漏”。这些攻击可能在同一秘钥SK多次使用时出现(例如为对多个消息进行数字签名,尤其在消息可能由恶意用户选择时)。例如,如果PSK装置连接到外面的电源且恶意用户能准确和及时地测量PSK装置使用SK对一批消息数字签名时PSK装置所消耗的功率,秘钥SK可能被发现。另一攻击可通过在PSK装置用SK对消息数字签名时准确和及时地测量PSK装置发出的电磁辐射而发现SK。
只要PSK装置未被保留在家中或者一些安全的环境中,针对这些非侵入式攻击保护PSK装置很重要。实际上,在该情形下,PSK装置可能落入恶意用户的手中,其能使PSK装置用同一秘钥SK对非常多的消息进行数字签名,从而使恶意用户能测量PSK装置计算期间的任何东西。
增强的PSK装置是对前述侵入式攻击同样有抵抗力的、可从基本的PSK装置构建但附加另外的物理机构的PSK装置。例如,为防止恶意用户精确地测量基本PSK装置在用同一秘钥SK计算多个数字签名期间在精确的时间点吸收的功率,PSK装置可基于内部电源(如电池)运行。作为替代,PSK装置可继续依赖于外部提供的电力运行,但PSK装置可配置成使得在用于生成公钥-秘钥对时或者对消息进行数字签名时,PSK装置还进行所有类型的其它(无关的)计算,从而使恶意用户很难从PSK装置吸收的功率推导SK,因为涉及SK的计算所使用的功率被用于所有类型的其它计算所使用的功率掩蔽。
参考图7,示意性地示出了PSK装置700,其在两个保护层704、706之间具有法拉第笼702以防止恶意用户通过在PSK装置用SK对多个消息数字签名时准确和及时地测量PSK装置发出的电磁辐射而获知SK。法拉第笼702可确保PSK装置700的弱PUV不会因正常使用而改变,同时,去除法拉第笼702将导致PSK装置700的弱PUV的微结构改变。
增强的PSK装置
除了上面的物理方法之外(或者代替上面的物理方法),增强的PSK装置可促使基本PSK装置中已经存在的物理方面改变。实质上,在保留基本PSK装置对非常多的消息进行数字签名的能力的同时,同一秘钥SK可被防止一再地使用。应注意,上面提及的非侵入式攻击要成功,需要同一秘钥SK被使用足够的次数来对消息签名。因而,阻止同一秘钥SK的再次使用可阻挠这样的攻击。
整体方法如下:
-PSK装置使用不同的公钥-秘钥对(PK1,SK1),(PK2,SK2),...;
-如果消息被相对于任何公钥PKi签名,该消息被视为由PSK装置签名;
-每一密钥对(因而及每一秘钥SKi)用于仅签名有限数量的消息,即足够低的数量以防止恶意用户重构SKi。
在不损失一般性的前提下,可能使增强的PSK装置:(1)相对于每一公钥PKi最多数字签名一个消息;及(2)具有一百万个前述PKi因而能够签名高达一百万个消息(应注意,对于大多数应用,一百万个消息绰绰有余,实际上,对于在此明确讨论的应用,绰绰有余)。
PSK装置可具有两个截然不同的阶段,初始化阶段,之后为使用阶段(在其期间,PSK装置不同地运转),及在一些情形下,还具有认证阶段。
初始化阶段
在初始化阶段,PSK装置利用按任何多种方式选择的、不同质询C1,C2,...,C1M的序列。
例如,不同的质询可以是标准且普遍知道的并由所有PSK装置使用,或者不同的质询可针对不同的PSK装置而不同地选择。不同的质询可独立地(例如随机)或者按某一有组织的方式进行选择。例如,C1可以是二进制串0...0,C2可以是二进制串0...01,C3可以是二进制串0...010,以此类推;或者,C1=H(C,1)、C2=H(C,2)等等,其中H为加密散列函数。或者,不同的质询可由PSK装置基于单一质询C的输入而内部(例如伪随机地)选择。
在初始化阶段期间,每一质询Ci被给为PSK装置的外部或内部输入,之后,其生成公钥PKi,具有相应的秘钥SKi。密钥PKi被输出到外部,而SKi既不保存也不输出,而是简单地生成然后忽略(实际上,在初始化阶段期间,用于PSK装置的密钥生成器G的硬件可不同地运行,以产生PKi但不产生SKi;而在使用阶段,用于PSK装置的密钥生成器G的硬件可产生PKi和SKi或者可仅产生SKi)。
认证阶段
在认证阶段,拥有数字签名方案的公开验证密钥PKE的适当实体E(连同相应的秘密签名密钥一起)可对PSK装置产生的公钥PKi进行数字签名,或个别地或一起,可能连同一些另外的信息如时间信息或任何类型的信息(包括根本没有信息)一起。例如,E可:
-对于每一PKi,产生签名PKE(PKi,Ii),其中Ii为被视为有用的任何信息,例如时间信息、关于值i本身的信息、质询Ci、或者任何其他信息,包括没有信息;
-产生单一集体签名:例如SIGE(PK1,PK2,...,PK1M,I)或者SIGE(H(PK1,...,PK1M),I),其中I为被视为有用的任何信息,或者没有信息;或者SIGE(H((PK1,I1),...,(PK1m,I1M))),其中H为加密函数尤其是默克尔(Merkle)散列函数。
E的签名可连同PSK装置一起使得可获得,或者存储在PSK装置内,使得在使用阶段,PSK装置能够自己就使得该签名可获得。
使用阶段
在使用阶段,PSK装置利用实施在非易失性存储器中的计数器(或类似手段)。计数器可用一次写入型存储器实施(概念上,这样的计数器可被想象为具有一百万个方格的纸带。每当计数器增加,下一方格被穿孔,操作容易做但不能不做。因此称为“一次写入型”存储器。如果第一“未被穿孔的”方格为方格号i,则计数器的值为i。在电子电路中,对纸方格穿孔被其它手段代替,例如烧保险丝)。
在用户想要使PSK装置对消息签名时,用户启用PSK装置,其通过(a)读取计数器的当前值i、(b)输出使用户能获知用户使PSK装置对消息进行数字签名必须使用的质询Ci的信息而响应。应注意,如果经认证的质询序列可在PSK装置外面获得,PSK装置可仅输出i或者Ci。如果经认证的质询存储在PSK装置内,则PSK装置能取回并输出经认证的Ci,以此类推。
为获得数字签名,用户向PSK装置输入质询Ci以及用户想要使其被签名的消息M。作为响应,PSK装置可进行下述处理:
1、计算弱PUV的输出D(Ci);
2、(在使用了变换元件时)计算F(D(Ci)),将F(D(Ci))(或者D(Ci),在未使用变换元件时)作为输入馈给PSK装置中用于密钥生成器G的硬件以计算PKi和Ski;
3、向用于签名算法S的硬件馈送输入M和SKi以计算M的数字签名SIGi(M);
4、将PKi和SIGi(M)输出到外部,可能具有值i本身;及
5、增加计数器的值(例如加1)。
如果PSK装置还负责使经证明的公钥PKi可获得,PSK装置还输出E的相应存储的、关于PKi的数字签名,可能及经E认证的任何对应的有关信息。例如,当PSK装置被启用时,PSK装置可输出数字签名SIGE(PKi,Ii),Ii可包括质询Ci。
签名验证
为验证PSK装置这样产生的签名SIGi(M),用户进行下述动作:
-首先,验证SIGi(M)确实是M相对于公开的PKi的有效数字签名;及
-其次,验证PKi的数字签名由E产生并使得可获得。例如,用户可相对于E的公钥PKE验证数字签名SIGE(PKi,Ii)。
安全性分析
应注意,用户不需要验证SIGi(M)是否是PSK装置产生的第i个签名。实际上,PSK装置可能已被不同的人使用,一个人不能确定PSK装置已签名多少在先的消息(尤其在PSK装置未指定PSK装置的计数器的当前值时)。正是PSK装置强迫没有消息相对于同一公钥进行签名,因而避免使用同一秘钥。
还应注意,当前的计数器值被存储在一些内部存储单元中,在不改变PSK装置的弱PUV的微结构的情形下,该内部存储单元不可容易地读取或者不可容易地重新设置。此外,一旦PSK装置重构秘钥SKi对第i个消息数字签名,PSK装置也将计数器值从i增加到i+1。因而,恶意用户不能迫使PSK装置相对于每一SKi计算越来越多的数字签名进而能够(在不存在法拉第笼的情形下)在用SKi对多个消息进行签名时从PSK装置发出的电磁辐射重构SKi。此外,经一次写入型存储器实施计数器防止倒转计数器值的可能性。
在例如经数字签名SIGE(PKi,Ii)知道公钥PKi之后,恶意用户可能生产任意数量的假冒PSK装置,每一假冒PSK装置从外表看与原始PSK装置类似,并使同一签名SIGE(PKi,Ii)可获得。然而,恶意用户不能产生由原始PSK装置签名的第i个消息的数字签名。实际上,恶意用户不能伪造已被原始PSK装置签名的任何消息的签名,因为恶意用户不能获知任何由原始PSK装置瞬息重构并使用的秘密签名密钥。
当然,恶意用户能够生产新的PSK',其完全能够相对于恶意用户的任何公钥PKi'对任何消息M签名。然而,恶意用户将不能够伪造PKi'(连同一些额外信息Ii'一起)的、E的签名,因为恶意用户不知道E的秘密签名密钥。因而,没人将被欺骗到认为PSK'已被E授权。
2PSK装置应用
不可伪造的钞票
实质上,不可伪造的钞票是经适当的实体E(例如中央银行或者代表其行动的另一实体)授权的PSK装置(优选通过信任的设施制造)。为生产这样的钞票比如说面值$100,适当的实体产生签名SIGE(PK,I)并使得其可获得,其中PK为PSK装置基于质询C(例如标准值)生成的公钥,I指值$100及可能另外的信息例如序号、发行日期、在其之后PSK装置失去其货币价值的过期日期、质询C(如果C的值不是标准值),等等。
参考图8,示出了钞票800,其具有PSK装置802和打印在其上的字母数字串804。由于PSK装置802可能小且容易丢失,生产钞票800的实体E可使PSK装置802附着到(尽管并不必然牢固地)方便的介质例如钞票800,其具有传统$100钞票的外观和感觉,以使能够使用视觉检查来确认钞票800的有效性。在该情形下,可能的使SIGE(PK,I)可容易获得的方式是将其打印在承载PSK装置802的同一介质上,例如以某一条形码格式,或者按图8中所示的字母数字串804。
用户能够通过下述行动验证钞票800及其币值:
-相对于公钥PKE验证数字签名SIGE(PK,I);
-验证I指明了币值$100(以及I可能包括的任何其它信息整齐);
-向PSK装置802提供质询C和一些消息M(优选地,临时随机选择的字符串)以获得M相对于PK的数字签名;
-验证PSK装置802确实输出了M相对于经生产钞票800的实体认证的公钥PK的数字签名。
应注意,选择之前从未使用过的消息M符合验证者的利益。实际上,如果每一用户均向PSK装置802呈现标准消息SM来进行数字签名,则恶意用户可能:
(a)复制生产钞票800的实体E的数字签名SIGE(PK,I);
(b)获得SM的相对于原始PSK装置生成的公钥PK的数字签名sig;
(c)生产不太秘密的装置PSK装置',其基于输入SM输出sig;及
(d)使SIGE(PK)连同PSK装置'一起可获得。
通过这样做,恶意用户基本上能够欺骗验证用户相信假冒的PSK装置'是有效的$100钞票。作为对比,如果M在之前从未被签名过(例如因为其随机且足够长),上面的攻击将悲惨地失败,因为假冒的PSK装置'不知道相对于PK产生M的数字签名必需的秘钥SK。
使生产钞票800的实体对所有钞票均使用同一质询C无疑使钞票验证者容易知道使用哪一质询。然而,生产钞票800的实体可针对每一PSK装置的每一公钥PK使用不同的质询C,并使C可获得(例如在SIGE(PK,I)的I中)。
还应注意,可能将多个PSK装置牢固地附着到单一钞票以防止一PSK装置发生故障导致钞票失去其货币价值的可能性。只要这些PSK装置中的至少一个(或者某一子集)工作,钞票被视为真的并保持其价值。恶意用户的任何试图将起作用的PSK装置转移到假钞的行为将改变起作用的PSK装置的微结构和/或以非常可见的方式改变原始钞票的纸张,因而挫败恶意用户。
物品鉴别
具有公开的验证密钥PKE的实体E可通过下述行动鉴别关于(广义定义的)物品的信息A:
-(例如借助于特殊的胶粘剂)将具有公钥PK的PSK装置牢固地附着到物品;及
-产生数字签名SIGE(PK,I)并使得其可获得,其中信息I包括E希望鉴别的关于物品的信息,及可能另外的数据。例如,I也可指明为使得PSK装置内部产生对应于PK的秘密签名密钥而必须给为PSK装置的输入的质询C。
PSK装置牢固地附着到物品,使得任何试图从物品去除PSK装置的行为将导致PSK装置破裂或者改变PSK装置的弱PUV的微结构,从而PSK装置或任何其他人不再有能重构与PK对应的秘钥SK的办法。
应注意,如果将PSK装置牢固地附着到物品上改变PSK装置的弱PUV的微结构,则弱PUV的输入-输出函数可在牢固附着已发生之后确定。类似地,公钥PK和对应的秘钥SK为那些在已发生牢固附着之后经弱PUV由PSK装置内部得出的密钥。
为验证这样鉴别的关于物品的信息A已被实体E(即制造商、生产商、销售商等)鉴别,用户可按一定顺序:
-相对于公钥PKE验证数字签名SIGE(PK,I);
-验证I指明了信息A;
-向PSK装置提供质询C和一些消息M(例如临时随机选择的字符串);及
-相对于E认证的公钥PK验证M的由PSK装置产生的数字签名。
与上面结合不可伪造的钞票描述的一样,选择之前从未使用过的消息M符合验证者的利益。实际上,如果每一用户均让PSK装置对标准消息SM进行数字签名,则恶意用户可能:
(a)复制E的数字签名SIGE(PK,I);
(b)获得SM的相对于原始PSK装置产生的公钥PK的数字签名sig(例如通过购买正品,或者通过在购买之前要求验证正品的真实性);
(c)生产不太秘密的装置PSK装置',其基于输入SM始终输出sig;及
(d)使SIGE(PK)连同PSK装置'一起可获得;
(e)将PSK装置'(不必然牢固地)附着到假冒物品。
通过执行上述步骤,恶意用户基本上能够欺骗验证者相信实体E已针对假冒物品鉴别信息A。作为对比,如果M在之前从未被签名过(这在实践中为M随机进行选择且足够长的情形),该攻击将悲惨地失败,因为假冒的PSK装置'不知道相对于真PSK装置的公钥PK产生数字签名必需的秘钥SK。
应注意,验证者不需要验证PSK装置是否牢固地附着到物品。然而,使PSK装置牢固地附着到物品符合E的利益。
还应注意,可能将多个PSK装置牢固地附着到单一物品以预防某一PSK装置发生故障的可能性。只要这些PSK装置中的至少一个(或者某一子集)起作用,物品被视为真的,关于物品的任何已鉴别的信息也是真的。应注意,使多个PSK装置来鉴别单一物品使系统适应性更强,且不会使能使用一些额外的PSK装置来鉴别假冒物品。实际上,将起作用的PSK装置与真品分离以将起作用的PSK装置(可能连同一些假冒PSK装置一起)放在假冒物品上将不能对假冒物品鉴真,因为分离的起作用的PSK装置的微结构将因分离起作用的PSK装置的行为而改变。
参考图9,物品鉴别系统被示为用在与食物有关的产品上,在该情形下,酒瓶900。酒生产商(或者代表酒生产商行动的实体)将PSK装置902牢固地附着到酒瓶900上,使得酒瓶900在不改变PSK装置902的功能性(即,如本说明书别处描述的,不损坏或改变PSK装置902的弱PUV)的情形下不能打开。酒瓶900还包括具有QR码904(或者用于传递信息的类似机制,包括以明文打印的信息)的标签。QR码904可提供指明生产年份、收割日期、葡萄成分及被认为重要的任何其它信息的信息。在一些情形下,QR码904还可包括消息的数字签名,该消息包括可使用PSK装置902进行验证的信息。在一些情形下,QR码904还可包括用于验证PSK装置902的质询,尽管该质询可从其它来源获得,如本说明书别处所述。
参考图10,物品鉴别系统被示为用在包含药物的瓶子1000上。制药公司(或者代表制药公司行动的实体)将PSK装置1002牢固地附着到瓶子1000上,使得瓶子1000在不改变PSK装置1002的功能性(即,如本说明书别处描述的,不损坏或改变PSK装置1002的弱PUV)的情形下不能打开。瓶子1000还包括具有QR码1004(或者类似机制)的标签。QR码1004可提供指明药物成分、过期日期、可能的副作用、及被认为对鉴别重要的任何其它信息的信息。在一些情形下,QR码1004还可包括消息的数字签名,该消息包括可使用PSK装置1002进行验证的信息。在一些情形下,QR码1004还可包括用于验证PSK装置1002的质询,尽管该质询可从其它来源获得,如本说明书别处所述。
参考图11,物品鉴别系统被示为用在密封的包装1100上。对包装进行密封的实体(或者代表密封包装的实体行动的实体)将PSK装置1102牢固地附着到包装1100上,使得包装1100在不改变PSK装置1102的功能性(即,如本说明书别处描述的,不损坏或改变PSK装置1102的弱PUV)的情形下不能打开。包装1100还包括具有QR码1104(或者类似机制)的标签,QR码可提供指明包装1100的内容物、包装的密封日期、及被认为对鉴别重要的任何其它信息的信息。在一些情形下,QR码1104还可包括消息的数字签名,该消息包括可使用PSK装置1102进行验证的信息。在一些情形下,QR码1104还可包括用于验证PSK装置1102的质询,尽管该质询可从其它来源获得,如本说明书别处所述。
参考图12,物品鉴别系统被示为用在消费品1200上,例如由Louis Vuitton生产的女士手提包。生产商(或者代表生产商行动的实体)将PSK装置1202牢固地附着到消费品1200上,使得在不改变PSK装置1202的功能性(即,如本说明书别处描述的,不损坏或改变PSK装置1202的弱PUV)的情形下不能去除或更换PSK装置1202。PSK装置1202也可具有打印在其上或与其关联的信息,包括保证信息、制造商名称、生产的件数、和/或任何其它被认为有用/重要的信息。在一些情形下,该信息还可包括消息的数字签名,该消息包括可使用PSK装置1202进行验证的信息。在一些情形下,该信息还可包括用于验证PSK装置1202的质询,尽管该质询可从其它来源获得,如本说明书别处所述。还应注意,代替生产商或代表生产商行动的实体附着PSK装置1202,政府官员或者代表政府官员行动的实体可将PSK装置1202附着到在给定国家生产的产品(例如“在意大利生产”),并可使该PSK装置1202与任何其它被认为适当的信息相关联。
一般地,物品鉴别系统可结合要保持其鉴别的任何物品一起使用,例如生产的机器或系统的部件。例如,飞机零件根据特定标准进行生产以确保它们的安全性但也增加了零件的成本。在一些情形下,假冒零件被欺诈性地销售给无猜疑心的接受者而具有灾难性的后果,包括飞机故障和失去生命。
在图8-12的例子中,恶意用户不能制造假冒物品并使任何他人(例如消费者)相信客户正惠顾真品或者任何经认证的信息应用于假冒物品。即使恶意用户购买或生产能够相对于公钥PK'对消息进行数字签名的PSK装置'并将PSK装置'附着到假冒物品,恶意用户也不能伪造生产商/制造商(或者代表生产商/制造商的实体)的数字签名,因为生产商/制造商(或者代表生产商/制造商的实体)的数字签名是相对于针对相应的真PSK装置的公钥PK。因而,恶意用户不能欺骗他人相信生产商/制造商(或者代表生产商/制造商的实体)保证关于假冒物品的任何信息A。
应注意,恶意用户可能将PSK装置与真品分离、将PSK装置附着到假冒物品、及使由原始物品的生产商/制造商(或者代表生产商/制造商的实体)产生的同一数字签名SIGE(PK,I)可获得。然而,在与真品分离之后,PSK装置的弱PUV的微结构已被改变,因而不再能够用于生成与SIGE(PK,I)中指明的公钥PK对应的秘钥,如本说明书别处所述。
在此所述的多个不同实施例可按在此所述的系统的适当组合彼此组合。另外,在某些情形下,只要适当,流程图和/或描述的流水处理的步骤顺序可修改。随后,在屏幕布局中描述的屏幕元素及区域可不同于在此提出的实例。另外,在此所述的系统的多个不同方面可使用软件、硬件、软件和硬件的组合和/或具有所述功件并执行所述功能的其它计算机实施的模块或装置进行实施。
在此所述的系统的软件实施可包括保存在计算机可读介质中的可执行代码。计算机可读介质可以是非短暂介质并包括计算机硬盘驱动器、ROM、RAM、闪存、便携计算机存储介质如CD-ROM、DVD-ROM、闪盘驱动器、SD卡、和/或例如具有通用串行总线(USB)接口的其它驱动器,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。在此所述的系统可结合任何适当的操作系统使用。
对于本领域技术人员,基于在此公开的发明的说明或实施,本发明的其它实施方式将显而易见。说明和例子仅视为示例,本发明的真实范围和精神由权利要求指明。
Claims (19)
1.一种安全装置,包括:
遮蔽装置,其响应于输入信号始终提供根据遮蔽装置的微结构变化的同一随机输出信号,其中改变遮蔽装置的微结构将改变随机输出信号;
基于随机输出信号生成秘钥的密钥生成元件;及
数字签名元件,其使用秘钥产生安全装置所接收的消息的数字签名;其中遮蔽装置包围密钥生成元件和数字签名元件的至少一部分以防止接近密钥生成元件和数字签名元件,接近密钥生成元件和数字签名元件中的任何一个将改变遮蔽装置的微结构从而改变随机输出信号。
2.根据权利要求1所述的安全装置,还包括:
设置在安全装置的一个或多个外表面上的保护层以防止遮蔽装置的微结构在正常使用安全装置时改变。
3.根据权利要求2所述的安全装置,其中,保护层用于将安全装置附着到物品,其中将安全装置与物品分离会改变遮蔽装置的微结构。
4.根据权利要求1所述的安全装置,其中,所述安全装置被附着到物品,其中将安全装置与物品分离会改变遮蔽装置的微结构。
5.根据权利要求4所述的安全装置,其中,实体连同指明至少下述之一的额外信息一起对与秘钥对应的公钥进行数字签名:遮蔽装置的输入信号和关于物品的信息。
6.根据权利要求4所述的安全装置,其中,所述物品是至少下述之一:钞票、消费品、生产的部件、药品、与食物有关的产品、和具有内容物的包裹。
7.根据权利要求6所述的安全装置,其中,另外的安全装置被附着到物品。
8.根据权利要求1所述的安全装置,其中,实体连同一些信息一起对与秘钥对应的公钥进行数字签名,其中所述实体的数字签名连同安全装置一起构成给定的货币价值。
9.根据权利要求1所述的安全装置,其中,秘钥仅存在足以对消息签名的时间。
10.根据权利要求1所述的安全装置,其中,输入信号由实体认证。
11.根据权利要求1所述的安全装置,还包括:
设置在安全装置周围的法拉第笼。
12.根据权利要求1所述的安全装置,其中,密钥生成元件还生成对应于秘钥的公钥。
13.根据权利要求12所述的安全装置,其中,所述安全装置输出所述公钥。
14.根据权利要求1所述的安全装置,其中,输入信号是存储在安全装置中的多个质询值之一。
15.根据权利要求14所述的安全装置,其中,输入信号之一根据安全装置的内部计数器进行选择。
16.根据权利要求1所述的安全装置,还包括:
设置在遮蔽装置与密钥生成元件之间的变换元件。
17.根据权利要求16所述的安全装置,其中,所述变换元件使用加密散列函数和恒等函数之一变换随机值信号。
18.根据权利要求1所述的安全装置,其中,所述安全装置在对消息进行数字签名时运行无关的计算。
19.一种对消息进行数字签名的方法,包括:
将消息提供给根据权利要求1-18任一所述的安全装置;
向安全装置提供质询值;及
从安全装置获得数字签名。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/013870 WO2022159072A1 (en) | 2021-01-19 | 2021-01-19 | Securing cryptographic keys |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117203688A true CN117203688A (zh) | 2023-12-08 |
Family
ID=74661455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180091329.1A Pending CN117203688A (zh) | 2021-01-19 | 2021-01-19 | 保护加密密钥 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240089120A1 (zh) |
EP (1) | EP4281955A1 (zh) |
JP (1) | JP2024503701A (zh) |
CN (1) | CN117203688A (zh) |
WO (1) | WO2022159072A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
MA40917A (fr) | 2014-11-03 | 2017-09-12 | Micali Silvio | Prévention de la contrefaçon |
MA45942A (fr) | 2016-08-08 | 2019-06-19 | Silvio Micali | Prévention de contrefaçon |
US10523443B1 (en) * | 2016-08-24 | 2019-12-31 | Bruce Kleinman | Devices, methods, and systems for cryptographic authentication and provenance of physical assets |
US20200195447A1 (en) * | 2018-12-13 | 2020-06-18 | Ictk Holdings Co., Ltd. | Communication method of client device, issuing device and server |
-
2021
- 2021-01-19 WO PCT/US2021/013870 patent/WO2022159072A1/en active Application Filing
- 2021-01-19 EP EP21706069.8A patent/EP4281955A1/en active Pending
- 2021-01-19 JP JP2023543052A patent/JP2024503701A/ja active Pending
- 2021-01-19 CN CN202180091329.1A patent/CN117203688A/zh active Pending
- 2021-01-19 US US18/270,936 patent/US20240089120A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022159072A1 (en) | 2022-07-28 |
EP4281955A1 (en) | 2023-11-29 |
JP2024503701A (ja) | 2024-01-26 |
US20240089120A1 (en) | 2024-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2359205T3 (es) | Procedimiento y aparato para el almacenamiento y uso seguros de claves criptográficas. | |
JP5739876B2 (ja) | 一意識別子、一意識別子を提供するための方法、および一意識別子の使用 | |
JP5139415B2 (ja) | 物品情報の取得方法及び装置 | |
EP0895149B1 (en) | Computer system for protecting a file and a method for protecting a file | |
US8421593B2 (en) | Apparatus, systems and methods for authentication of objects having multiple components | |
EP2075734A1 (en) | Anonymous biometric tokens | |
US10803374B2 (en) | Counterfeit prevention | |
EP3329635B1 (en) | Counterfeit prevention | |
Yilmaz et al. | ARMOR: An anti-counterfeit security Mechanism for lOw cost Radio frequency identification systems | |
US10607234B2 (en) | Counterfeit prevention | |
US11270184B2 (en) | Counterfeit prevention | |
US11741332B2 (en) | Securing cryptographic keys | |
CN117203688A (zh) | 保护加密密钥 | |
Tuyls et al. | Anti-counterfeiting | |
JP2012060320A (ja) | 情報保護システム、情報記憶媒体、及び情報処理装置 | |
RU2816848C2 (ru) | Способы и системы для подготовки и осуществления проверки аутентичности объекта | |
Pierson et al. | Authentication without secrets | |
Henderson | Smart cards and PC cards | |
Balinsky et al. | Anti-counterfeiting using memory spots | |
Wang | Formal Security Analysis of Australian E-passport Implementation | |
TW543314B (en) | Security module of electronic ticket credit adding system for transportation providing distributed security management architecture |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40104577 Country of ref document: HK |