CN101847296A - 集成电路、加密通信装置、系统和方法以及信息处理方法 - Google Patents
集成电路、加密通信装置、系统和方法以及信息处理方法 Download PDFInfo
- Publication number
- CN101847296A CN101847296A CN201010138379.4A CN201010138379A CN101847296A CN 101847296 A CN101847296 A CN 101847296A CN 201010138379 A CN201010138379 A CN 201010138379A CN 101847296 A CN101847296 A CN 101847296A
- Authority
- CN
- China
- Prior art keywords
- key
- unit
- computing circuit
- authentication
- coded communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
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
本发明提供了集成电路、加密通信装置、系统和方法以及信息处理方法。提供了一种集成电路,包括运算电路,该运算单元具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到运算电路中的预定值,该密文是通过利用针对该预定值的输入而从运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在该预定秘密信息被使用时,通过把存储在存储单元中的预定值输入到运算电路中并且利用从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复该预定秘密信息。
Description
技术领域
本发明涉及集成电路、加密通信装置、加密通信系统、信息处理方法和加密通信方法。
背景技术
诸如信用卡、现金卡、预付卡、标识卡以及各种会员卡之类的各种卡已经被用在多种情形中。这各种卡中存储有关于卡的类型、发卡者、持有者等等的信息。例如,在磁卡中,这种信息被存储在卡上的磁条中。因此,存在这样的危险,即磁信息被通过一种称为“撇取”(skimming)的技术非法读取或篡改。另一方面,随着卡的广泛使用,使用卡的各种服务被越来越多地提供着,从而增大了卡中记录的信息的数量和价值。因此,需要实现能够安全地保护大量数据的卡。
响应于这种需求,近年来越来越多地使用着被称为IC卡的卡,在这种卡中,小型半导体集成电路(以下称之为IC)被安装在卡的内部。在IC卡中,各种信息被存储在设置于IC中的非易失性存储器中。因此,可以存储比磁卡中更多的信息。此外,加密电路被安装在IC中,并且当与对IC卡中的信息进行读/写的读写器终端(以下称之为终端)执行通信时,执行相互认证和加密通信。因此,即使通信被截取,只要用于相互认证或加密通信的密钥未知,那么也是很难获取其内容的。
用于相互认证的密钥例如是作为IC的配线结构的一部分嵌入的或者是作为存储在非易失性存储器中的程序数据的一部分保存的。因此,要从IC中获取密钥,则必须对IC进行反向工程或者复制IC及存储在其非易失性存储器中的程序数据。然而,要执行诸如反向工程和复制行为之类的非法分析行为,则必须具有专业技能和先进的分析设施。因此,利用通过非法分析行为获得的信息来创建非法终端或非法IC卡被认为是很困难的。
由于上述原因,现今IC卡被广泛用于保存大量的货币信息等等的高价值信息的用途,例如用于卫星付费广播的卡或者处理电子货币的卡。此外,使用其中记录有高价值信息的IC卡的各种服务正被越来越多地提供着。另一方面,诸如对IC的先进非法分析技术和利用测试电路来非法获取密钥的技术之类的各种攻击技术已被提出。另外,通过暴露整个IC的结构来创建复制IC的技术近来正被研究。如果IC被复制,则IC的电路结构和非易失性存储器的内容也被复制,从而用于相互认证和加密通信的密钥也被复制。结果,相互认证和加密通信实质上被无效了。
作为应对非法复制IC的这种使用的一种对策,可以使用在“G.E.Suhand S.Devadas,″Physical Unclonable Functions for Device Authenticationand Secret Key Generation″,The 44th Design Automation Conference,pp.9-14,2007”中描述的方法。那里描述的方法涉及这样一种技术:其通过使用物理不可克隆功能(physical unclonable function,PUF)区分非法复制IC和原始IC以使得仅能够与原始IC进行相互认证和加密通信。PUF是一种运算电路,其被配置为通过利用在实际制造中产生的每个IC的波动(尽管IC设计是相同的),对于同一输入值,为每个IC输出一不同的值。所以,即使输入值相同,安装在原始IC中的PUF输出的输出值和安装在非法复制IC中的PUF输出的输出值也是不同的。这里描述的技术利用了PUF的这种属性。
发明内容
将简要描述上述技术。根据该技术,针对每个IC通过利用一PUF生成的很多对输入值(以下称之为挑战值(challenge value))和输出值(以下称之为响应值(response value))被保存,并且为了认证,一些挑战值被输入到该PUF中以将其输出与所保存的响应值相比较。自然,如果挑战值所输入到的IC是原始IC,则其输出和响应值匹配,而如果IC是非法复制IC,则其输出和响应值不匹配。通常,挑战值和响应值的对是在产品出货前为每个IC生成的,并且被制造商等等(以下称之为中心)保存。然后,认证者参考由中心保存的对信息,以为每个IC提供挑战值以便认证并且还通过使用从IC获得的响应值来执行比较处理。
然而,如果使用诸如上述技术那样的保存很多对挑战值和响应值(以下称之为挑战/响应)的技术,则必须有能够存储很大量数据的数据库。例如,如果多个对被用于一个IC以维持安全性,则需要有流通中的IC的数目×每个IC使用的对的数目那么多的挑战/响应。在中心中构造这样的数据库可能是不现实的。然而,存在这样的问题,即只有能够访问中心中的数据库的终端能够对IC执行认证处理。另外,当应当在IC和终端之间执行相互认证时,存在这样的问题,即实际上非常难以利用上述技术实现相互认证,因为实际上非常难在在IC中存储这样的数据库。
因此,本发明是考虑到上述问题而做出的,希望提供一种能够在无需使用存储针对每个IC的挑战/响应的数据库的情况下利用PUF来实现安全认证的新颖且改进的集成电路、加密通信装置、加密通信系统、信息处理方法和加密通信方法。
根据本发明的一个实施例,提供了一种集成电路,包括:运算电路,该运算单元具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到运算电路中的预定值,该密文是通过利用针对预定值的输入而从运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在该预定秘密信息被使用时,通过把存储在存储单元中的预定值输入到运算电路中并且利用从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复该预定秘密信息。
此外,该集成电路还包括:输出值获取单元,该输出值获取单元在该预定值被从外部给予来时,将该预定值输入到运算电路中以获取输出值并且还将该预定值存储在存储单元中;以及加密单元,该加密单元在该预定秘密信息与该预定值一起被给予来时,利用由输出值获取单元利用运算电路获取的输出值作为密钥来对该预定秘密信息加密,并且将通过加密处理获得的密文存储到存储单元中。
此外,用于相互认证的密钥以使用该输出值作为密钥的密文的形式作为该预定秘密信息被存储在存储单元中,并且当利用用于相互认证的密钥执行相互认证时,解密单元通过将存储在存储单元中的预定值输入到运算电路中并且利用从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复用于相互认证的密钥。
根据本发明的一个实施例,提供了一种加密通信装置,包括:集成电路,该集成电路包括:运算电路,该运算电路具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到运算电路中的预定值,该密文是通过利用针对该预定值的输入而从运算电路输出的输出值作为密钥对与外部装置共享的预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在该预定秘密信息被使用时,通过把存储在存储单元中的预定值输入到运算电路中并且利用从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复该预定秘密信息;相互认证单元,该相互认证单元通过与外部装置执行相互认证来获取共享信息;加密通信密钥生成单元,该加密通信密钥生成单元通过组合由相互认证单元通过相互认证而获取的共享信息和由解密单元恢复的预定秘密信息,来生成用于加密通信的密钥;以及加密通信单元,该加密通信单元利用由加密通信密钥生成单元生成的用于加密通信的密钥来与外部装置执行加密通信。
根据本发明的一个实施例,提供了一种加密通信系统,其包括第一通信装置和第二通信装置。
第一通信装置包括:集成电路,该集成电路包括:运算电路,该算电路具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到运算电路中的预定值,该密文是通过利用针对该预定值的输入而从运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在该预定秘密信息被使用时,通过把存储在存储单元中的预定值输入到运算电路中并且利用从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复该预定秘密信息;相互认证单元,该相互认证单元通过与第二通信装置执行相互认证来获取共享信息;加密通信密钥生成单元,如果在与第二通信装置的成功相互认证后获取了共享信息,则该加密通信密钥生成单元利用解密单元来恢复该预定秘密信息,以通过组合该预定秘密信息和该共享信息来生成用于加密通信的密钥;以及加密通信单元,该加密通信单元利用由加密通信密钥生成单元生成的用于加密通信的密钥来与第二通信装置执行加密通信。
该第二通信装置包括:集成电路,该集成电路包括:运算电路,该算电路具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到运算电路中的预定值,该密文是通过利用针对该预定值的输入而从运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在该预定秘密信息被使用时,通过把存储在存储单元中的预定值输入到运算电路中并且利用从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复该预定秘密信息;相互认证单元,该相互认证单元通过与第一通信装置执行相互认证来获取共享信息;加密通信密钥生成单元,如果在与第一通信装置的成功相互认证后获取了共享信息,则该加密通信密钥生成单元利用解密单元来恢复该预定秘密信息,以通过组合该预定秘密信息和该共享信息来生成用于加密通信的密钥;以及加密通信单元,该加密通信单元利用由加密通信密钥生成单元生成的用于加密通信的密钥来与第一通信装置执行加密通信。
另外,第一通信装置还可包括:运算单元,该运算单元以由加密通信密钥生成单元生成的用于加密通信的密钥作为参数,对由第一通信装置和第二通信装置保存的保存信息执行预定运算处理;以及发送单元,该发送单元把从运算单元输出的第一运算结果发送到第二通信装置。
并且,第二通信装置还可包括:运算单元,该运算单元以由加密通信密钥生成单元生成的用于加密通信的密钥作为参数,对由第一通信装置和第二通信装置保存的保存信息执行预定运算处理;以及发送单元,该发送单元把从运算单元输出的第二运算结果发送到第二通信装置。
此外,第一通信装置可比较从第二通信装置接收的第二运算结果和第一运算结果,第二通信装置可比较从第一通信装置接收的第一运算结果和第二运算结果,并且如果第一运算结果和第二运算结果匹配,则第一通信装置和第二通信装置所拥有的加密通信单元可执行加密通信。
根据本发明的另一个实施例,提供了一种信息处理方法,包括以下步骤:利用包括具有由元件特有物理特性决定的输入/输出特性的运算电路和存储有通过利用针对输入到运算电路中的预定值的输入而从运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的密文和该预定值的存储单元的集成电路,在该预定秘密信息被使用时,在存储在存储单元中的预定值被输入到运算电路中之后,获取与该预定值相对应的输出值;以及通过利用在输出值获取步骤中从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复预定秘密信息。
另外,该信息处理方法还可包括以下步骤:通过与外部装置执行相互认证来获取共享信息;通过组合通过在相互认证步骤中的相互认证获取的共享信息和在恢复步骤中恢复的预定秘密信息来生成用于加密通信的密钥;以及利用在密钥生成步骤中生成的用于加密通信的密钥来与外部装置执行加密通信。
根据本发明的另一个实施例,提供了一种加密通信方法,包括:由第一通信装置执行的以下步骤:通过与第二通信装置执行相互认证来获取共享信息;利用包括具有由元件特有物理特性决定的输入/输出特性的运算电路和存储有通过利用针对输入到运算电路中的预定值的输入而从运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的密文和该预定值的存储单元的集成电路,在与第二通信装置的成功相互认证后获取了共享信息的情况下,在存储在存储单元中的预定值被输入到运算电路中之后,获取与该预定值相对应的输出值;通过利用在输出值获取步骤中从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复预定秘密信息;通过组合在恢复步骤中恢复的预定秘密信息和共享信息来生成用于加密通信的密钥;以及利用在密钥生成步骤中生成的用于加密通信的密钥来与第二通信装置执行加密通信,以及由第二通信装置执行的以下步骤:通过与第一通信装置执行相互认证来获取共享信息;利用包括具有由元件特有物理特性决定的输入/输出特性的运算电路和存储有通过利用针对输入到运算电路中的预定值的输入而从运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的密文和该预定值的存储单元的集成电路,在与第一通信装置的成功相互认证后获取了共享信息的情况下,在存储在存储单元中的预定值被输入到运算电路中后,获取与该预定值相对应的输出值;通过利用在输出值获取步骤中从运算电路输出的输出值对存储在存储单元中的密文解密,来恢复预定秘密信息;通过组合在恢复步骤中恢复的预定秘密信息和共享信息来生成用于加密通信的密钥;以及利用在密钥生成步骤中生成的用于加密通信的密钥来与第一通信装置执行加密通信。
根据本发明的另一个实施例,提供了一种使得计算机实现上述装置拥有的功能的程序。另外,可以提供其中记录有该程序的计算机可读记录介质。
根据本发明,如上所述,无需使用存储有针对每个IC的挑战/响应的数据库,就可以实现使用PUF的安全认证。
附图说明
图1是示出PUF的操作的说明图;
图2示出了使用PUF的认证处理方法的示例;
图3示出了使用PUF的认证处理方法的示例;
图4示出了使用PUF的认证处理方法的示例;
图5示出了使用PUF的认证处理方法的示例;
图6示出了使用PUF的认证处理方法的示例;
图7示出了使用PUF的认证处理方法的示例;
图8示出了使用PUF的认证处理方法的示例;
图9示出了根据本发明第一实施例的IC卡的配置示例;
图10示出了根据该实施例的IC卡用户终端的配置示例;
图11示出了与根据该实施例的认证处理的一部分(登记阶段)有关的处理的流程;
图12示出了与根据该实施例的认证处理的一部分(登记阶段中的PUF处理操作)有关的处理的流程;
图13示出了与根据该实施例的认证处理的一部分(登记阶段中的PUF处理操作)有关的处理的流程;
图14示出了与根据该实施例的认证处理的一部分(登记阶段中的PUF处理操作)有关的处理的流程;
图15示出了与根据该实施例的认证处理的一部分(登记阶段中的PUF处理操作)有关的处理的流程;
图16示出了根据本发明第二实施例的IC卡的配置示例;
图17示出了根据该实施例的IC卡用户终端的配置示例;
图18示出了与根据该实施例的认证处理的一部分(认证阶段)有关的处理的流程;
图19示出了与根据该实施例的认证处理的一部分(密钥匹配确认阶段)有关的处理的流程;
图20示出了与根据该实施例的认证处理的一部分(密钥匹配确认阶段)有关的处理的流程;
图21示出了与根据该实施例的认证处理的一部分(密钥匹配确认阶段)有关的处理的流程;
图22示出了根据本发明第三实施例的IC卡的配置示例;
图23示出了根据该实施例的IC卡用户终端的配置示例;
图24示出了与根据该实施例的认证处理的一部分(登记阶段中的PUF处理操作)有关的处理的流程;
图25示出了与根据该实施例的认证处理的一部分(登记阶段中的PUF处理操作)有关的处理的流程;并且
图26示出了与根据该实施例的认证处理的一部分(登记阶段中的PUF处理操作)有关的处理的流程。
具体实施方式
下面,将参考附图来详细描述本发明的优选实施例。注意,在本说明书和附图中,具有基本相同的功能和结构的结构要素用相同的标号来表示,并且对这些结构要素的重复说明被省略。
[描述的流程]
将简要描述与下述本发明一个实施例有关的描述的流程。首先,将参考图1简要描述PUF的操作。接下来,将参考图2至8来简要描述使用存储有挑战/响应的数据库的认证处理方法。在对其的描述中,将描述根据本发明每个实施例的技术所解决的问题。
接下来,将分别参考图9和10来描述根据本发明第一实施例的IC卡200和IC卡用户终端300的功能配置。在对其的描述中,还将描述在该实施例中中心100的作用。另外,将参考图11来描述下述登记阶段中执行的处理的流程。然后,将参考图12来描述IC卡200和IC卡用户终端300的与使用PUF的部分有关的处理操作。接下来,将参考图13至15来描述在下述认证阶段中执行的处理的流程。
接下来,将分别参考图16和17来描述根据本发明第二实施例的IC卡230和IC卡用户终端330的功能配置。接下来,将参考图18来描述在认证阶段中IC卡用户终端330和IC卡230执行的处理的流程。接下来,将参考图19至21来描述在下述密钥匹配阶段中IC卡用户终端330和IC卡230执行的处理的流程。
接下来,将分别参考图22和23来描述根据本发明第三实施例的IC卡350和IC卡用户终端350的功能配置。接下来,将参考图24至26来描述在认证阶段中IC卡用户终端350和IC卡350执行的处理的流程。最后,将总结实施例的技术思想并且简要描述根据这些技术思想获得的操作效果。
(描述项目)
1:使用PUF的认证处理方法
1-1:PUF的操作
1-2:使用数据库和PUF的认证处理方法
2:第一实施例
2-1:IC卡200的功能配置
2-2:IC卡用户终端300的功能配置
2-3:登记阶段中的处理
2-4:认证阶段中的处理
3:第二实施例
3-1:IC卡230的功能配置
3-2:IC卡用户终端330的功能配置
3-3:认证阶段中的处理
3-3-1:整体处理流程
3-3-2:密钥匹配确认阶段
4:第三实施例
4-1:IC卡250的功能配置
4-2:IC卡用户终端350的功能配置
4-3:认证阶段中的处理
5:总结
<1:使用PUF的认证处理方法>
首先,在开始描述本发明的实施例之前,将例示使用PUF的一般认证处理方法。除了这里描述的认证处理方法之外,例如,WO 2007072450和WO 2008152564也公开了类似的技术。这些技术中的每一个都包括以下所述的问题。通过应用以下所述的本发明的每个实施例,可以解决这些问题。
[1-1:PUF的操作]
首先,将参考图1来描述PUF的操作。图1是示出PUF的操作的说明图。PUF是一种运算电路,其针对挑战值(挑战)的输入而输出响应值(响应)。每个PUF具有这样的属性,即不论同一挑战值被输入到同一PUF中多少次,从该PUF都会输出相同的响应值。PUF的输入/输出特性是由PUF所安装在的元件来决定的。因此,具有相同配置但被安装在不同IC中的PUF具有不同的输入/输出特性。也就是说,如果相同的挑战值被输入到安装在不同IC中的相同配置的PUF中,则从这两个PUF输出的响应值是不同的。
通过利用这种属性,如图1所示,可以很容易区分原始IC(Original)和非法拷贝IC(Copy)。
例如,预定的挑战值(挑战)被预先输入到原始IC中以获取从PUF输出的响应值(响应1)。然后,当执行认证处理时,相同的挑战值(挑战)被输入到要认证的IC中,以获取从该IC的PUF输出的响应值(响应′)。然后,比较所获取的响应值(响应′)和预先获取的响应值(响应1)。如果响应′和响应1匹配,则认证被确立,而如果响应′和响应1不匹配,则认证不被确立。如果要认证的IC是非法拷贝IC(Copy),则所获取的响应值(响应′=响应1)不同于预先获取的响应值(响应1≠响应2)。因此,通过判定IC是非法拷贝IC,可以使其认证不被确立。
[1-2:使用数据库和PUF的认证处理方法]
例如图2中所示的方法被设计作为使用图1所示的PUF的操作和特性的一般认证处理方法。图2是示出使用数据库和PUF的认证处理方法(以下称之为SD07)的说明图。下面将描述SD07。
SD07的认证处理方法被划分成向中心登记挑战/响应的“登记阶段”和利用在登记阶段中登记的挑战/响应来认证IC的“认证阶段”。中心例如是IC的制造商或可信任的第三方。每个挑战值是通过使用例如中心中的伪随机数生成器来随机生成的。在图2的示例中,假定中心预先生成N个挑战值(chal1,...,chalN)。
在登记阶段中,首先从中心向每个IC给予一挑战值。例如,向第k个IC(以下称之为ICk;k=1,...,N)给予挑战值(chalk)。如果挑战值chalk被给予来,则ICk将所给予的挑战值chalk输入到PUF中,以生成响应值(respk)。这样生成的响应值respk被中心所获取。在从所有IC获取响应值(resp1,...,respN)之后,中心把要获取的响应值和给予每个IC的挑战值所构成的对存储在数据库(DB)中。此时,中心通过将每个IC的IDk(k=1,...,N)、挑战值chalk和响应值respk相关联来将这些值存储在数据库中。这样,构造了数据库。
另一方面,在认证阶段中,ID首先被从IC输入到终端中。例如,ICk将IDk输入到终端中。当IDk被从ICk输入时,终端参考该数据库来搜索与IDk相对应的挑战/响应的记录。然后,终端从数据库中获取通过搜索处理而检测到的挑战/响应(chalk,respk)。终端仅把挑战值chalk给予ICk。ICk把所提供的挑战值chalk输入到PUF以生成响应值respk。然后,ICk把所生成的响应值respk提供给终端。
当响应值respk被从ICk提供来时,终端比较所提取的响应值respk和从数据库获取的响应值respk,以检查两个响应值respk是否匹配。基于上述PUF特性,如果ICk是原物,则响应值respk匹配,而如果ICk是非法拷贝,则响应值respk不匹配。当错误地从不是ICk的IC输入IDk时,响应值respk也不匹配。因此,如果响应值respk匹配,则终端通过认定ICk是原始ICk来确立认证。
通过采用上述配置,即使ICk的电路配置和非易失性存储器的内容被非法拷贝,也可防止使用非法IC。然而,在此示例中,IC数目那么多的挑战/响应的数据被存储在数据库中。如果只为每个IC准备一对挑战/响应,则当响应值respk在传输路径上被窃取并且非法获取的响应值respk被使用时,无效认证将被确立。因此,使用一种对于每个会话改变挑战/响应对的方法。
当使用这种方法时,必须为每个IC具有多对挑战/响应。因此,中心在登记阶段中利用多个挑战值来为每个IC生成多对挑战/响应。然后,中心向数据库登记所生成的挑战/响应。利用上述登记处理,将构造出例如图3所示的数据库。然而,假定中心向每个IC中输入m个挑战值并且为每个IC生成m对挑战/响应。与ICk相对应的第j个挑战值被表示为chal(k,j)并且响应值被表示为resp(k,j)。对于图3中所示的数据库,其大小由m×所制造的IC的数目×一对的数据大小决定。
如果例如ID、挑战值和响应值的数据大小分别为128位,所制造的IC的总数为N=10,000,000,并且对的数目为m,则数据库的大小将为10,000,000×(m×(128+128)+128)≈(320m+160)MB。所以,如果m=10,则数据库的数据大小将约为32GB,而如果m=100,则数据库的数据大小将约为320GB。每对挑战/响应在每次该对被用于认证处理时被删除。因此,对的数目m对应于IC可用的认证次数。所以,必须实际将对的数目m设定为较大的数目。另外,存储在数据库中的挑战/响应的信息是要用于认证确立的秘密信息,从而应当作为秘密被严格控制。
由于以上原因,只有中心等等被允许控制像上面那样的数据库。因此,只有能够访问像上面那样的由中心等等控制的数据库的终端才能够使用上述认证方法。此外,实际上IC卡是非常难以保存像上面那样的巨大数据库的,更不用说终端了,因此,即使终端能够访问数据库,也非常难以实现与IC的相互认证。结果,不免要说,实质上是不可能通过使用SD07的方法来实现相互认证的。
(SD07方法的认证处理的流程)
将参考图4至8来更详细描述根据SD07方法的认证阶段中的处理的流程。
首先,将参考图4,图4是示出在认证阶段中中心、终端和IC进行的整个处理的流程的说明图。顺便说一下,终端将被表示为ICI,并且IC将被表示为ICR。ICR的ID被设定为IDR。另外,假定数据库由中心控制。
在认证阶段中,首先从终端向IC发送ID发出请求(S12)。在接收到来自终端的ID发出请求后,IC向终端发送IDR(IC的ID)(S14)。在从IC接收到IDR后,终端将接收到的IDR发送给中心(S16)。在从终端接收到IDR后,中心参考数据库以搜索与IDR相对应的挑战/响应的记录。如果如图3所示对于每个ID存在多个记录,则中心从由IDR标识的记录之中随机地选择一个记录以获取挑战/响应并且删除所获取的挑战/响应的记录(S18)。
如果例如获取了(chal(R,j),resp(R,j)),则中心将(chal(R,j),resp(R,j))发送到终端(S20)。在接收到从中心发送来的(chal(R,j),resp(R,j))之后,终端仅将chal(R,j)发送给ICR(S22)。在接收到从终端发送来的chal(R,j)之后,ICR将接收到的挑战值chal(R,j)输入到PUF中(S24)并且从PUF获取响应值resp(R,j)′(S26)。接下来,ICR将所获取的响应值resp(R,j)′发送到终端(S28)。
在接收到来自ICR的响应值resp(R,j)′之后,终端比较所接收到的响应值resp(R,j)′和从中心获取的响应值resp(R,j)。如果两个响应值匹配,则认证被确立,而如果响应值不匹配,则认证不被确立(S30)。根据SD07执行的认证处理的流程如上所述。在图4的示例中,使用过一次的挑战/响应的记录在步骤S18被删除,因此,认证处理可以抵抗通过再使用窃取的响应值来尝试认证的重放攻击。图4中的示例关注在中心、终端和IC之间相互执行的处理。因此,下面将描述中心、终端和IC分别执行的处理的流程。
(终端进行的处理)
首先,将参考图5来描述根据SD07的认证处理中终端执行的处理的流程。如图5所示,终端向ICR发送ID发出请求(S32)。接下来,终端接收来自ICR的IDR作为ID(S34)。接下来,终端把从ICR接收到的IDR发送到中心(S36)。接下来,终端从中心获取存储在数据库中的、与IDR相对应的挑战/响应(chal(R,j),resp(R,j))(S38)。接下来,终端将挑战/响应chal(R,j)发送给ICR(S40)。接下来,终端从ICR接收响应值resp(R,j)′(S42)。
接下来,终端判定从中心获取的响应值resp(R,j)和从ICR获取的响应值resp(R,j)′是否匹配(S44)。如果resp(R,j)=resp(R,j)′,则终端确立认证(S46)并随后终止认证处理的序列。另一方面,如果resp(R,j)≠resp(R,j)′,则终端不确立认证(S48),并且执行差错处理,然后终止认证处理的序列。因此,终端必须访问中心中的数据库以获取用于认证处理的挑战/响应。只有从中心获取的挑战/响应的挑战值被输入到IC中,并且通过比较从IC获取的响应值和预先获取的响应值来判定是否确立认证。
(IC进行的处理)
接下来,将参考图6来描述根据SD07的认证处理中IC(ICR)执行的处理的流程。如图6所示,在接收到来自终端的ID发出请求后(S52),ICR根据接收到的发出请求向终端发送IDR,IDR是ICR的ID(S54)。接下来,在从终端接收到挑战值chal(R,j)后(S56),ICR执行下面描述的PUF处理操作A,以生成响应值resp(R,j)′(S58)。然后,ICR把通过PUF处理操作A生成的响应值resp(R,j)′发送给终端(S60)。
这里,将参考图7来描述PUF处理操作A的处理。当在步骤S56从终端获取挑战值chal(R,j)后(S62),ICR把所获取的挑战值chal(R,j)输入到PUF中,以获取响应值resp(R,j)′(S64)。接下来,ICR输出从PUF获取的响应值resp(R,j)′作为与挑战值chal(R,j)相对应的响应值resp(R,j)′(S66)。因此,在认证阶段中IC执行的主要处理是通过把从终端接收到的挑战值chal(R,j)输入到PUF中来生成响应值resp(R,j)′。
(中心进行的处理)
接下来,将参考图8来描述根据SD07的认证处理中中心执行的处理的流程。如图8所示,在从终端接收到作为ICR的ID的IDR后(S72),中心搜索以寻找与IDR相对应的数据库DBR(与IDR相对应的一组记录)(S74)并且从检测到的DBR中选择任何挑战/响应(chal(R,j),resp(R,j))(S76)。接下来,中心把所选的(chal(R,j),resp(R,j))发送给终端(S78)并且从数据库中删除(chal(R,j),resp(R,j))(S80)。因此,通过删除被使用过一次的挑战/响应可以获得对重放攻击的抵抗力。
根据已经描述的SD07方法,在登记阶段中构造一存储有针对每个IC的PUF的挑战/响应对的数据库,并且在认证处理中通过使用该数据库来防止使用非法复制IC。然而,如果如上所述使用数据库来防止使用非法复制IC,则数据库的大小将变得巨大。此外,实际上是不可能将这样的数据库安装在IC中的,因此,在终端与IC之间使用SD07方法的相互认证是无法实现的。
面对这样的问题,在下面描述的每个实施例中,将提出一种认证处理方法,其能够在不构造巨大数据库的情况下通过使用PUF来防止使用非法复制IC。此外,可以通过使用该认证处理方法来实现终端与IC之间的相互认证。
(关于相互认证)
如前所述,当终端在认证阶段中认证每个IC时,在登记阶段中构造的数据库中存储的信息被使用。如果使用SD07方法,如上所述,数据库的大小可能变得非常巨大。然而,中心经常保持着充足地环境(计算能力、存储能力)。另外,终端和中心经由安全通信路径连接。因此,终端不需要秘密保存数据库以执行认证。所以,虽然中心需要秘密保存很大的数据库,但是使用SD07方法来认证IC是相当可实现的。
然而,当处理其中存储有诸如货币信息之类的高价值信息的IC卡时,不仅需要由终端认证IC卡,而且还需要由IC卡认证终端。为了利用SD07方法来实现相互认证,必须也在每个终端的IC上安装PUF并且向数据库登记为每个终端生成的挑战/响应对。另外,必须构成每个IC卡能够自由访问数据库的条件或者将该数据库保存在每个IC中。已经描述了让IC卡保存数据库是不现实的这一事实。此外,IC卡通常只能够经由终端来访问中心中的数据库。
所以,当中心秘密保存数据库时,处于对终端的认证尚未被确立的状态中的IC卡是很难访问用于终端认证的数据库的。因此,既然非常难以将数据库存储在IC卡的非易失性存储器中,那么也非常难以利用SD07方法来实现相互认证。另外,即使数据库能够被存储在IC卡中,如果IC的电路配置和非易失性存储器被复制,则数据库本身也将被制造,从而通过非法复制IC确立了相互认证。结果,难以实现防止使用非法复制IC的原本目标。通过使用下面描述的每个实施例的认证处理方法可以解决这些问题。
<2:第一实施例>
首先,将描述本发明的第一实施例。本发明是考虑到上述问题而设计的,并且提供了一种能够在终端与IC卡之间的相互认证得以实现的同时防止使用非法复制IC的方法。本实施例中的技术与SD07的技术的共同之处在于通过利用PUF特性来防止使用非法复制IC,但在如何使用PUF方面有很大不同。根据SD07方法,如上所述,依据在预定的输入被输入到安装在IC中的PUF中之后,对于同样的输入是否能够再次输出预先获取的输出值,来确立认证。如果未确立认证,则自然防止非法复制IC被使用,因为后续的处理被停止了。
另一方面,根据本实施例中的方法,虽然使用了PUF特性,但是并不判断PUF本身的输出值,而是依据利用PUF的输出值加密的秘密信息在认证阶段中是否能够被正确解密来执行认证。通过采用上述配置,就可以不需要诸如SD07之类的方法不可或缺的数据库了。另外,还可以减少IC应当保存的信息的量。结果,可以实现相互认证,同时防止使用非法复制IC。具有上述特性的本实施例中的认证处理方法可被应用到各种认证处理方法和秘密信息的确认机制等等。下面将描述从这种方法中选择出来的具体示例。
可用于实现本实施例中的技术的PUF例如包括硅PUF,光学PUF和数字PUF。硅PUF利用由制造工艺导致的半导体芯片之间的波动。光学PUF利用当放射相干光(例如,激光)时生成的谱样式的不可预测性。作为光学PUF,例如,P.S.Ravikanth″Physical One-Way Functions″,2001的研究结果是已知的。
另一方面,对硅PUF的描述例如可在Blaise Gassend et al.等人的″Silicon Physical Random Functions″,Proceedings of the 9th ACM Conferenceon Computer and Communications Security,November 2002中找到。当然,除了这些技术之外,也可以使用当前或未来可获得的其他配置实现的PUF。另外,取代这些PUF,可以使用像PUF那样输入/输出特性由每个元件特有的物理特性决定的运算电路。
[2-1:IC卡200的功能配置]
首先,将参考图9来描述根据本发明第一实施例的IC卡200的功能配置。其中,也将描述根据本实施例的中心100的主要功能配置。图9是示出根据本实施例的IC卡200的功能配置的说明图。
如图9所示,IC卡200主要包括密钥信息获取单元202、响应生成单元204、PUF 206、存储单元208、加密单元210、相互认证单元212、解密单元214、共享密钥生成单元216、以及加密通信单元218。存储单元208对应于设置在IC卡200中的非易失性存储器。中心100主要包括密钥信息提供单元102和存储单元104。
在根据本实施例的认证处理方法中也存在登记阶段和认证阶段。因此,下面将针对每个阶段分别描述IC卡200的功能配置。然而,在根据本实施例的登记阶段中不构造数据库,而是改为提供每个IC通用的挑战值(chal)和秘密信息(mk)。然后,由每个IC生成与挑战值chal相对应的响应值resp,并且通过用响应值resp作为密钥来加密秘密信息mk。通过加密处理生成的密文C=Eresp(mk)与挑战值chal一起被存储在每个IC的非易失性存储器中。EA(B)表示通过利用密钥A对B加密而获得的密文。EA(B)也可以表示为E(A,B)。
另一方面,在根据本实施例的认证阶段中,每个IC读取由每个IC存储在非易失性存储器中的密文C和挑战值chal,并将挑战值输入到PUF206中以生成响应值resp。然后,在本实施例中,每个IC利用所生成的resp对密文C解密,并且利用通过对密文C解密而获得的秘密信息mk来执行加密通信。结果,非法复制的IC难以获得正确的秘密信息mk,从而使得难以执行加密通信。在本实施例中,通过使用上述方法,无需使用任何数据库,就使得相互认证能够实现,同时防止了非法复制IC被使用。
(与登记阶段有关的功能配置)
首先,将描述IC卡200的与登记阶段有关的功能配置。在登记阶段中,整个系统中通用的挑战值chal和系统秘密信息mk首先被从中心100提供给IC卡200。本实施例中提供的挑战值chal不是对每个IC不同的,而是在包括中心100、IC卡200和下文描述的IC卡用户终端300的整个系统中是通用的。类似地,本实施例中提供的系统秘密信息mk不是对每个IC不同的,而是在包括中心100、IC卡200和下文描述的IC卡用户终端300的整个系统中是通用的。
挑战值chal和系统秘密信息mk被存储在中心100所拥有的存储单元104中。在登记阶段中,挑战值chal和系统秘密信息mk被中心100所拥有的密钥信息提供单元102从存储单元104中读取并提供给每个IC卡200。由中心100提供的挑战值chal和系统秘密信息mk被IC卡200所拥有的密钥信息获取单元202获取。然后,由密钥信息获取单元202获取的挑战值chal被存储在存储单元208中。由密钥信息获取单元202获取的系统秘密信息mk被输入到加密单元210中。
另外,存储在存储单元208中的挑战值chal被响应生成单元204读取并被输入到PUF 206中。PUF 206生成对从响应生成单元204输入的挑战值chal的响应值resp。注意,从PUF 206输出的响应值resp是IC卡200所特有的。由PUF 206生成的响应值resp被输入到响应生成单元204中。在以这种方式生成响应值resp之后,响应生成单元204将响应值resp输入到加密单元210中。
如上所述,来自密钥信息获取单元202的系统秘密信息被输入到加密单元210中,并且来自响应生成单元204的响应值resp也被输入到加密单元210中。然后,加密单元210通过使用所输入的响应值resp作为密钥来对系统秘密信息mk加密。通过该加密处理生成了密文C=Eresp(mk)。由加密单元210生成的密文C被存储在存储单元208中。到此为止的处理是在登记阶段中执行的。在上述处理之后,IC卡200的存储单元208中存储了挑战值chal和密文C。注意,系统秘密信息mk不被保存在IC卡200内。
(与认证阶段有关的功能配置)
接下来,将描述IC卡200的与认证阶段有关的功能配置。在认证阶段中,首先在IC卡200和IC卡用户终端300之间执行相互认证。假定用于相互认证的相互认证密钥Kauth被存储在存储单元208中。从而,相互认证单元212从存储单元208中读取相互认证密钥Kauth,并且通过使用相互认证密钥Kauth来确立与IC卡用户终端300的相互认证。然后,在相互认证得到确立之后,相互认证单元212获取用于与IC卡用户终端300建立会话的会话密钥Kses。相互认证单元212所获取的会话密钥Kses被输入到共享密钥生成单元216中。
在认证阶段中,在实现与IC卡用户终端300的相互认证之后,执行对用于实现与IC卡用户终端300的加密通信的共享密钥K的生成处理。首先,响应生成单元204从存储单元208中读取挑战值chal。然后,响应生成单元204把从存储单元208读取的挑战值chal输入到PUF 206中。PUF 206生成对从响应生成单元204输入的挑战值chal的响应值resp。然后,由PUF 206生成的响应值resp被输入到响应生成单元204中。这样,由响应生成单元204通过利用PUF 206来获取的响应值resp被输入到解密单元214中。
虽然这里描述的是PUF 206生成响应值resp,但如果IC卡200是非法复制IC,则PUF 206生成响应值resp′(≠resp)。在登记阶段中生成响应值resp的IC卡200是中心100认定的原始IC。另一方面,在通过对IC卡200进行非法复制而生成的IC卡200中,包括存储在存储单元208中的密文C和挑战值chal在内的相同配置被复制。然而,原始IC和非法复制IC在PUF 206的输入/输出特性方面确实不同。因此,每次在认证阶段中通过由响应生成单元204使得PUF 206再次生成响应值resp来执行认证时,就可以区分一个IC是原始IC还是非法复制IC。将在记住这一点的同时继续进行描述。然而,在以下描述中假定IC卡200是原始IC。
当响应值resp被从响应生成单元204输入时,解密单元214从存储单元208中读取密文C=Eresp(C)。然后,解密单元214通过利用从响应生成单元204输入的响应值resp作为密钥来对密文C解密。通过该解密处理恢复的系统秘密信息mk被输入到共享密钥生成单元216中。如果从响应生成单元204输入的响应值不同于在生成密文C时使用的响应值,则恢复不出正确的系统秘密信息mk。也就是说,可以基于解密单元214恢复的系统秘密信息是否正确来区分原始IC和非法复制IC。
当系统秘密信息mk被从解密单元214输入时,共享密钥生成单元216通过对从相互认证单元212输入的会话密钥Kses和从解密单元214输入的系统秘密信息mk进行组合来生成共享密钥K。例如,共享密钥生成单元216通过使用散列函数H(...)来生成共享密钥K=H(Kses‖mk)。顺便说一下,A‖B表示A和B的链接。当然,也可以通过利用另一种预定方法组合系统秘密信息mk和会话密钥Kses来生成共享密钥K。注意,上述使用散列函数H的方法是一个示例,任何其他方法都可被应用到本实施例。
由共享密钥生成单元216生成的共享密钥K被输入到加密通信单元218中。加密通信单元218通过使用从共享密钥生成单元216输入的共享密钥K来执行与IC卡用户终端300的加密通信。如果解密单元214未恢复出正确的系统秘密信息mk,则加密通信单元218难以执行加密通信,因为正确的共享密钥K没有被输入到加密通信单元218中。例如,加密通信单元218难以对所获取的密文解密。另外,IC卡用户终端300难以对由加密通信单元218发送的密文解密。所以,如果IC卡200是非法复制IC,那么即使与IC卡用户终端300的相互认证得到确立,用于实际读/写IC卡200的信息的加密通信也是不可实现的。
[2-2:IC卡用户终端300的功能配置]
接下来,将参考图10来描述根据本实施例的IC卡用户终端300的功能配置。图10是示出根据本实施例的IC卡用户终端300的功能配置的说明图。在本实施例中,假定IC卡200和IC卡用户终端300之间的相互认证,因此在IC卡用户终端300中也设置了与IC卡200中基本相同的功能配置。
因此,如图10所示,IC卡用户终端300主要包括密钥信息获取单元302、响应生成单元304、PUF 306、存储单元308、加密单元310、相互认证单元312、解密单元314、共享密钥生成单元316、以及加密通信单元318。存储单元308对应于非易失性存储器。
(与登记阶段有关的功能配置)
首先,将描述IC卡用户终端300的与登记阶段有关的功能配置。在登记阶段中,整个系统中通用的挑战值chal和系统秘密信息mk首先被从中心100提供给IC卡用户终端300。如上所述,本实施例中提供的挑战值chal在包括中心100、IC卡200和下文描述的IC卡用户终端300的整个系统中是通用的。类似地,本实施例中提供的系统秘密信息mk在包括中心100、IC卡200和下文描述的IC卡用户终端300的整个系统中是通用的。
挑战值chal和系统秘密信息mk被存储在中心100所拥有的存储单元104中。在登记阶段中,挑战值chal和系统秘密信息mk被中心100所拥有的密钥信息提供单元102从存储单元104中读取并提供给IC卡用户终端300。由中心100提供的挑战值chal和系统秘密信息mk被IC卡用户终端300所拥有的密钥信息获取单元302获取。然后,由密钥信息获取单元302获取的挑战值chal被存储在存储单元308中。由密钥信息获取单元302获取的系统秘密信息mk被存储在加密单元310中。
另外,存储在存储单元308中的挑战值chal被响应生成单元304读取并被输入到PUF 306中。PUF 306生成对从响应生成单元304输入的挑战值chal的响应值resp。从PUF 306输出的响应值resp是特定于IC卡用户终端300的。注意,从PUF 306输出的响应值resp是IC卡用户终端300所特有的。由PUF 306生成的响应值resp被输入到响应生成单元304中。在利用PUF 306生成响应值resp之后,响应生成单元304将响应值resp输入到加密单元310中。
如上所述,来自密钥信息获取单元302的系统秘密信息被输入到加密单元310,并且来自响应生成单元304的响应值resp也被输入到加密单元310中。然后,加密单元310通过使用所输入的响应值resp作为密钥来对系统秘密信息mk加密。通过该加密处理生成了密文C=Eresp(mk)。由加密单元310生成的密文C被存储在存储单元308中。到此为止的处理是在登记阶段中执行的。在上述处理之后,IC卡用户终端300的存储单元308中存储了挑战值chal和密文C。注意,系统秘密信息mk不被保存在IC卡用户终端300内。
(与认证阶段有关的功能配置)
接下来,将描述IC卡用户终端300的与认证阶段有关的功能配置。在认证阶段中,首先在IC卡用户终端300和IC卡200之间执行相互认证。假定用于相互认证的相互认证密钥Kauth被存储在存储单元308中。从而,相互认证单元312从存储单元308中读取相互认证密钥Kauth,并且通过使用相互认证密钥Kauth来使与IC卡200的相互得到确立。然后,在相互认证得到确立之后,相互认证单元312获取用于与IC卡200建立会话的会话密钥Kses。相互认证单元312所获取的会话密钥Kses被输入到共享密钥生成单元316中。
在认证阶段中,在实现与IC卡200的相互认证之后,执行对用于实现与IC卡200的加密通信的共享密钥K的生成处理。首先,响应生成单元304从存储单元308中读取挑战值chal。然后,响应生成单元304把从存储单元308读取的挑战值chal输入到PUF 306中。PUF 306生成对从响应生成单元304输入的挑战值chal的响应值resp。然后,由PUF 306生成的响应值resp被输入到响应生成单元304中。这样,由响应生成单元304通过利用PUF 306来获取的响应值resp被输入到解密单元314中。在以下描述中,假定IC卡用户终端300是原物。
当响应值resp被从响应生成单元304输入时,解密单元314从存储单元308中读取密文C=Eresp(C)。然后,解密单元314通过利用从响应生成单元304输入的响应值resp作为密钥来对密文C解密。通过该解密处理恢复的系统秘密信息mk被输入到共享密钥生成单元316中。如果从响应生成单元304输入的响应值不同于在生成密文C时使用的响应值,则恢复不出正确的系统秘密信息mk。
当系统秘密信息mk被从解密单元314输入时,共享密钥生成单元316通过对从相互认证单元312输入的会话密钥Kses和从解密单元314输入的系统秘密信息mk进行组合来生成共享密钥K。例如,共享密钥生成单元316通过使用散列函数H(...)来生成共享密钥K=H(Kses‖mk)。当然,也可以通过利用另一种预定方法组合系统秘密信息mk和会话密钥Kses来生成共享密钥K。注意,上述使用散列函数H的方法是一个示例,任何其他方法都可被应用到本实施例。然而,必须注意以下事实:该共享密钥K是利用与用于IC卡200的预定方法相同的预定方法来生成的。
由共享密钥生成单元316生成的共享密钥K被输入到加密通信单元318中。加密通信单元318通过使用从共享密钥生成单元316输入的共享密钥K来执行与IC卡200的加密通信。如果解密单元314未恢复出正确的系统秘密信息mk,则加密通信单元318难以执行加密通信,因为正确的共享密钥K没有被输入到加密通信单元318中。所以,如果IC卡用户终端300是非法复制的IC卡用户终端,那么即使与IC卡200的相互认证得到确立,用于实际读/写IC卡200的信息的加密通信也是不可实现的。
在上文中,已经描述了IC卡200和IC卡用户终端300的功能配置。上述功能配置只是示例,而适当的话可以改变例如相互认证方法、用于加密通信的方法等等。如前所述,本实施例的技术特征在于,IC卡200和IC卡用户终端300在认证阶段中通过相继生成响应值来恢复系统秘密信息mk,并且利用其正确与否来判断IC卡或IC卡用户终端是否原物。所以,只要不改变这些技术特征的实质部分,就可以随意地改变配置。此外,即使进行了这样的改变,也可以认为改变后的配置属于本实施例的技术范围。
[2-3:登记阶段中的处理]
接下来,将参考图11和12来描述在登记阶段中执行的处理的流程。图11是示出在登记阶段中执行的处理的整个流程的说明图。另一方面,图12是示出与使用PUF的部分有关的处理的流程的说明图。
首先,将参考图11。如图11所示,中心100首先将指示每个IC的参数k设定为0(S102)。为了描述方便起见,在以下的描述中,IC卡200和IC卡用户终端300可被简单地表示为IC。区分每个IC的索引也可被附加以将IC表示为ICk之类的。接下来,中心100将参数k递增1(S104)。接下来,中心100参考所制造的IC的数目来判定k≤N是否成立(S106)。如果k≤N成立,中心100则继续进行步骤S108处的处理。另一方面,如果k≤N不成立,中心100则终止处理序列。
如果处理继续到步骤S108,则中心100通过为ICk指定IDk(ICk的ID),来输入在整个系统内通用的挑战值chal和系统秘密信息mk(S108)。接下来,在挑战值chal和系统秘密信息mk被从中心100输入到的ICk中,执行下面描述的PUF处理操作B(S110)。当PUF处理操作B被执行时,在返回到步骤S104处的处理以重复后续处理步骤后,由中心100执行递增参数k的操作(S104)。
接下来,将参考图12。图12详细示出了PUF处理操作B的处理步骤。如图12中所示,ICk首先从中心100获取IDk、挑战值chal和系统秘密信息mk(S112)。接下来,ICk将挑战值chal输入到PUF中,以获取响应值respk(S114)。在以下描述中,像respk那样附加索引k,以表示由ICk的PUF获取的响应值。接下来,ICk利用所获取的响应值respk作为密钥来对系统秘密信息mk加密,以计算密文Ck=Erespk(mk)(S116)。然后,ICk将IDk、挑战值chal和密文Ck存储在非易失性存储器中(S118),然后终止PUF处理操作B的处理步骤。
如上所述,在根据图11和12所示的流程执行处理的情况下,挑战值chal和密文Ck被存储在与ICk相对应的IC卡200的存储单元208和IC卡用户终端300的存储单元308中。由中心100发出的ID(=IDk)在登记阶段中也被存储在存储单元208和308中。
[2-4:认证阶段中的处理]
接下来,将参考图13至15来描述在认证阶段中执行的处理的流程。在该描述中,假定在认证阶段中IC卡用户终端300和IC卡200之间的处理。IC卡用户终端300可被表示为ICI,IC卡200可被表示为ICR。图13是示出在认证阶段中包括IC卡用户终端300和IC卡200之间的交换在内的处理的整体流程的说明图。图14是示出主要在IC卡用户终端300中执行的处理的流程的说明图。图15是示出主要在IC卡200中执行的处理的流程的说明图。
首先,将参考图13。如图13所示,首先执行IC卡用户终端300和IC卡200之间的相互认证处理(S202)。此时,如果相互认证得到确立,则在建立会话时使用的会话密钥Kses被IC卡用户终端300和IC卡200共享。即使IC卡用户终端300和IC卡200之一或两者是非法复制的,在此步骤中执行的认证也得到确立。因此,以下描述的处理是在IC卡用户终端300和IC卡200中执行的。
首先,当相互认证(S202)得到确立时,IC卡用户终端300将挑战值chal输入到PUF中以获取响应值respI(S204)。然后,IC卡用户终端300利用所获取的响应值respI对密文CI解密,以恢复系统秘密信息mk(S206)。DA(B)表示通过使用密钥A对密文B执行解密处理。注意,如果所获取的响应值respI不正确,则恢复不出正确的系统秘密信息mk。在恢复系统秘密信息mk之后,IC卡用户终端300计算用于加密通信的共享密钥K=H(Kses‖mk)(S208)。
类似地,当相互认证(S202)得到确立时,IC卡200将挑战值chal输入到PUF中以获取响应值respR(S210)。然后,IC卡200利用所获取的响应值respR对密文CR解密,以恢复系统秘密信息mk(S212)。注意,如果所获取的响应值respR不正确,则恢复不出正确的系统秘密信息mk。在恢复系统秘密信息mk之后,IC卡200计算用于加密通信的共享密钥K=H(Kses‖mk)(S214)。当以这种方式对共享密钥K进行共享时,在IC卡用户终端300和IC卡200之间执行使用共享密钥K的加密通信(S216)。
在上文中,已经描述了在认证阶段中与系统有关的处理的整体流程。下面将更详细描述IC卡用户终端300和IC卡200分别执行的处理的流程。
首先,将参考图14。如图14所示,在与IC卡200执行相互认证和会话密钥的共享处理之后(S222),IC卡用户终端300判定相互认证是否得到确立(S224)。如果相互认证得到确立,IC卡用户终端300则继续进行步骤S226处的处理。另一方面,如果相互认证未得到确立,IC卡用户终端300则通过认为认证未得到确立来终止处理序列。如果处理继续到步骤S226,则IC卡用户终端300从存储单元308获取挑战值chal和密文CI(S226)。
接下来,IC卡用户终端300将挑战值chal输入到PUF 306中以获取响应值respI(S228)。接下来,IC卡用户终端300通过利用所获取的响应值respI对密文CI解密,以获取系统秘密信息mk(S230)。接下来,IC卡用户终端300通过利用在步骤S222共享的会话密钥Kses和从密文CI恢复的系统秘密信息mk来生成共享密钥K(S232)。
如果IC卡用户终端300是非法复制IC,则在步骤S228获取的响应值respI不同于合法的,因此,在步骤S230恢复不出正确的系统秘密信息mk。所以,在步骤S232无法计算出正确的共享密钥K,从而导致加密通信失败。结果,即使在步骤S222通过非法复制攻击而确立了相互认证,也非常难以非法读/写IC卡200中的信息或者非法读/写IC卡用户终端300中的信息。
接下来,将参考图15。如图15所示,在与IC卡用户终端300执行相互认证和会话密钥的共享处理之后(S242),IC卡200判定相互认证是否得到确立(S244)。如果相互认证得到确立,IC卡200则继续进行步骤S246处的处理。另一方面,如果相互认证未得到确立,IC卡200则通过认为认证未得到确立来终止处理序列。
如果处理继续到步骤S246,则IC卡200从存储单元208获取挑战值chal和密文CR(S246)。接下来,IC卡200将挑战值chal输入到PUF 206中以获取响应值respR(S248)。接下来,IC卡200通过利用所获取的响应值respR对密文CR解密,以获取系统秘密信息mk(S250)。接下来,IC卡200通过利用在步骤S242共享的会话密钥Kses和从密文CR恢复的系统秘密信息mk来生成共享密钥K(S252)。
如果IC卡200是非法复制IC,则在步骤S248获取的响应值respR不同于合法的,因此,在步骤S250恢复不出正确的系统秘密信息mk。所以,在步骤S252无法计算出正确的共享密钥K,从而导致加密通信失败。结果,即使在步骤S242通过非法复制攻击而确立了相互认证,也非常难以非法读/写IC卡200中的信息或者非法读/写IC卡用户终端300中的信息。
如上所述,通过使用根据本实施例的认证处理方法,可以通过充分利用PUF特性来防止利用非法复制IC进行的损害。根据该认证处理方法,不需要像SD07方法那样的数据库。例如,一个挑战值就足够了,因为可以使用整个系统内通用的挑战值。响应值在登记阶段中的执行期间和认证阶段中的执行期间被生成并且在被用于加密或解密后既不被保存在IC上也不被保存在中心中。因此,应当持续保存的响应值的数目为0。每个IC应当保存在非易失性存储器中的信息是一条密文和一个挑战值。所以,这样的信息可以很容易地被存储在普通IC中安装的非易失性存储器中。结果,可以实现终端和IC之间的相互认证,同时防止非法复制攻击。
(补充说明)
上述非易失性存储器(存储单元208和308)可以利用诸如EEPROM和闪存之类的半导体记录介质来实现。通过组合软算法和微小电熔丝的芯片变型(chip morphing)技术实现的PROM也可用作存储单元208和308。EEPROM是电可擦除可编程只读存储器的缩写。PROM是可编程只读存储器的缩写。在认证阶段中使用的相互认证密钥Kauth可通过利用IC的配线结构来预先存储或存储在非易失性存储器中。相互认证密钥Kauth也可以是在登记阶段中由中心100提供的。上述认证处理方法是假定最终执行通过共享密钥加密系统进行的加密通信的示例,但是也可以改为假定通过公共密钥加密系统进行的加密通信的方法。当然,这种修改也包括在本实施例的技术范围内。
在上文中,已经详细描述根据第一实施例的技术。通过应用根据第一实施例的技术,可以实现终端和IC之间的相互认证,同时防止使用非法复制IC。通过应用该技术可以构造具有这种效果的足够安全的系统,但是通过提供一些巧思,还可以实现更安全的系统。下面将描述为了进一步增强安全性而发明的技术。
<3:第二实施例>
在第一实施例中,如上所述,通过设计出在相互认证之后利用会话密钥Kses和系统秘密信息mk计算共享密钥K的配置来防止非法复制IC正确执行加密通信。如果利用一个不同的共享密钥K来执行加密通信,则通常无法想象通过对密文解密获得的值成为某个有意义的值(例如,命令等等)。因此,通过应用第一实施例中的技术,可以充分地实际防止非法复制IC被使用。
然而,从安全增强的观点来看,最好在相互确信与通信对方共享了正确的共享密钥之后才执行加密通信。也就是说,在从非法复制IC接收的密文被解密之前判定共享密钥是否真实的配置是优选的。因此,在相互认证得到确立之后检查密钥匹配的配置被提出作为第二实施例。通过应用这样的配置,通过使由非法复制IC生成的密文不被解密,可以增强安全性。
下面描述的第二实施例是通过在上述第一实施例的认证阶段中在加密通信被执行之前添加密钥匹配核实阶段来获得的。密钥匹配核实阶段是利用预定方法来检查是否保存与通信对方相同的共享密钥的处理步骤。为了描述方便起见,下面描述具体处理内容的示例,但是也可将该方法改为任何判定共享密钥是否被正确共享的方法。也就是说,要注意,密钥匹配核实阶段中的具体处理内容可以被任何具有相同目的的方法所替换。
[3-1:IC卡230的功能配置]
首先,将参考图16来描述根据本发明第二实施例的IC卡230的功能配置。然而,对于具有与上述根据第一实施例的IC卡200的组件基本相同的功能的组件,附加了相同的标号,并省略对其的详细描述。图16是根据本实施例的IC卡230的功能配置的说明图。
如图16所示,IC卡230主要包括密钥信息获取单元202、响应生成单元204、PUF 206、存储单元208、加密单元210、相互认证单元212、解密单元214、共享密钥生成单元216、加密通信单元218、以及密钥匹配核实单元232。所以,与上述根据第一实施例的IC卡200的主要差异在于存在密钥匹配核实单元232。与登记阶段有关的功能配置和处理内容与上述根据第一实施例的IC卡200的基本相同。因此,省略对与登记阶段有关的功能配置和处理内容的描述。
(与认证阶段有关的功能配置)
因此,将描述IC卡230的与认证阶段有关的功能配置。在认证阶段中,首先在IC卡230和IC卡用户终端330之间执行相互认证。相互认证单元212从存储单元208中读取相互认证密钥Kauth,并且通过使用相互认证密钥Kauth来使得与IC卡用户终端330的相互认证得到确立。然后,在相互认证得到确立后,相互认证单元212获取用于与IC卡用户终端330建立会话的会话密钥Kses。由相互认证单元212获取的会话密钥Kses被输入到共享密钥生成单元216中。
在认证阶段中,在实现与IC卡用户终端330的相互认证之后,执行对用于实现与IC卡用户终端330的加密通信的共享密钥K的生成处理。首先,响应生成单元204从存储单元208中读取挑战值chal。然后,响应生成单元204把从存储单元208读取的挑战值chal输入到PUF 206中。PUF 206生成对从响应生成单元204输入的挑战值chal的响应值resp。然后,由PUF 206生成的响应值resp被输入到响应生成单元204中。这样,由响应生成单元204通过利用PUF 206来获取的响应值resp被输入到解密单元214中。
当响应值resp被从响应生成单元204输入时,解密单元214从存储单元208中读取密文C=Eresp(mk)。然后,解密单元214通过利用从响应生成单元204输入的响应值resp作为密钥来对密文C解密。通过该解密处理恢复的系统秘密信息mk被输入到共享密钥生成单元216中。当系统秘密信息mk被从解密单元214输入时,共享密钥生成单元216通过对从相互认证单元212输入的会话密钥Kses和从解密单元214输入的系统秘密信息mk进行组合来生成共享密钥K。
由共享密钥生成单元216生成的共享密钥K被输入到密钥匹配核实单元232中。密钥匹配核实单元232利用预定的方法来检查从共享密钥生成单元216输入的共享密钥K和IC卡用户终端330所保存的共享密钥K是否匹配。作为该预定方法,可以考虑包括使用随机数的MAC运算的方法和使用数字签名的方法在内的各种方法。上述MAC是消息认证码的缩写。如果密钥匹配核实单元232核实了共享密钥K的匹配,则共享密钥K被从密钥匹配核实单元232输入到加密通信单元218中。另一方面,如果密钥匹配核实失败,则密钥匹配核实单元232通过输出差错消息来终止认证处理。
然后,加密通信单元218通过使用从密钥匹配核实单元232输入的共享密钥K来执行与IC卡用户终端330的加密通信。如果解密单元214未恢复出正确的系统秘密信息mk,则加密通信单元218难以执行加密通信,因为在密钥匹配核实单元232中密钥匹配核实失败。所以,如果IC卡230是非法复制IC或者IC卡用户终端330是非法复制IC,那么即使与IC卡用户终端330的相互认证得到确立,用于实际读/写IC卡230的信息的加密通信也是不可实现的。
如果已知IC卡用户终端330是合法IC,则可以识别出密钥匹配核实失败的IC卡230,从而可以很容易地发现可能是非法复制IC的IC卡230。相反,如果已知IC卡230是合法IC,则可以识别出密钥匹配核实失败的IC卡用户终端330,从而可以很容易地发现可能是非法复制IC的IC卡用户终端330。
[3-2:IC卡用户终端330的功能配置]
接下来,将参考图17来描述根据本发明第二实施例的IC卡用户终端330的功能配置。然而,对于具有与上述根据第一实施例的IC卡用户终端300的组件基本相同的功能的组件,附加了相同的标号,并省略对其的详细描述。图17是示出根据本实施例的IC卡用户终端330的功能配置的说明图。
如图17所示,IC卡用户终端330主要包括密钥信息获取单元302、响应生成单元304、PUF 306、存储单元308、加密单元310、相互认证单元312、解密单元314、共享密钥生成单元316、加密通信单元318、以及密钥匹配核实单元332。所以,与上述根据第一实施例的IC卡用户终端300的主要差异在于存在密钥匹配核实单元332。与登记阶段有关的功能配置和处理内容与上述根据第一实施例的IC卡用户终端300的基本相同。因此,省略对与登记阶段有关的功能配置和处理内容的描述。
(与认证阶段有关的功能配置)
因此,将描述IC卡用户终端330的与认证阶段有关的功能配置。在认证阶段中,首先在IC卡用户终端330和IC卡230之间执行相互认证。相互认证单元312从存储单元308中读取相互认证密钥Kauth,并且通过使用相互认证密钥Kauth来使得与IC卡230的相互认证得到确立。然后,在相互认证得到确立后,相互认证单元312获取用于与IC卡230建立会话的会话密钥Kses。由相互认证单元312获取的会话密钥Kses被输入到共享密钥生成单元316中。
在认证阶段中,在实现与IC卡230的相互认证之后,执行对用于实现与IC卡230的加密通信的共享密钥K的生成处理。首先,响应生成单元304从存储单元308中读取挑战值chal。然后,响应生成单元304把从存储单元308读取的挑战值chal输入到PUF 306中。PUF 306生成对从响应生成单元304输入的挑战值chal的响应值resp。然后,由PUF 306生成的响应值resp被输入到响应生成单元304中。这样,由响应生成单元304通过利用PUF 306来获取的响应值resp被输入到解密单元314中。
当响应值resp被从响应生成单元304输入时,解密单元314从存储单元308中读取密文C=Eresp(mk)。然后,解密单元314通过利用从响应生成单元304输入的响应值resp作为密钥来对密文C解密。通过该解密处理恢复的系统秘密信息mk被输入到共享密钥生成单元316中。当系统秘密信息mk被从解密单元314输入时,共享密钥生成单元316通过对从相互认证单元312输入的会话密钥Kses和从解密单元314输入的系统秘密信息mk进行组合来生成共享密钥K。
由共享密钥生成单元316生成的共享密钥K被输入到密钥匹配核实单元332中。密钥匹配核实单元332利用预定的方法来检查从共享密钥生成单元316输入的共享密钥K和IC卡230所保存的共享密钥K是否匹配。作为该预定方法,可以考虑包括使用随机数的MAC运算的方法和使用数字签名的方法在内的各种方法。如果密钥匹配核实单元332核实了共享密钥K的匹配,则共享密钥K被从密钥匹配核实单元332输入到加密通信单元318中。另一方面,如果密钥匹配核实失败,则密钥匹配核实单元332通过输出差错消息来终止认证处理。
然后,加密通信单元318通过使用从密钥匹配核实单元332输入的共享密钥K来执行与IC卡230的加密通信。如果解密单元314未恢复出正确的系统秘密信息mk,则加密通信单元318难以执行加密通信,因为在密钥匹配核实单元332中密钥匹配核实失败。所以,如果IC卡用户终端330是非法复制IC或者IC卡用户终端330是非法复制IC,那么即使与IC卡230的相互认证得到确立,用于实际读/写IC卡用户终端330的信息的加密通信也是不可实现的。
如果已知IC卡用户终端330是合法IC,则可以识别出密钥匹配核实失败的IC卡230,从而可以很容易地发现可能是非法复制IC的IC卡230。相反,如果已知IC卡230是合法IC,则可以识别出密钥匹配核实失败的IC卡用户终端330,从而可以很容易地发现可能是非法复制IC的IC卡用户终端330。
[3-3:认证阶段中的处理]
接下来,将参考图18至21来描述在认证阶段中执行的处理的流程。在该描述中,假定在认证阶段中IC卡用户终端330和IC卡230之间的处理。IC卡用户终端330可被表示为ICI,IC卡230可被表示为ICR。图18是示出在认证阶段中包括IC卡用户终端330和IC卡230之间的交换在内的处理的整体流程的说明图。
图19是示出在密钥匹配核实阶段中包括IC卡用户终端330和IC卡230之间的交换在内的处理的整体流程的说明图。图20是示出在IC卡用户终端330中执行的密钥匹配核实处理的流程的说明图。图21是示出在IC卡230中执行的密钥匹配核实处理的流程的说明图。
(3-3-1:处理的整体流程)
首先,将参考图18。首先中,如图18所示,执行IC卡用户终端330和IC卡230之间的相互认证处理(S302)。此时,如果相互认证得到确立,则在建立会话时使用的会话密钥Kses被IC卡用户终端330和IC卡230共享。即使IC卡用户终端330和IC卡230之一或两者是非法复制的,在此步骤中执行的认证也得到确立。因此,以下描述的处理是在IC卡用户终端330和IC卡230中执行的。
首先,当相互认证(S302)得到确立时,IC卡用户终端330将挑战值chal输入到PUF中以获取响应值respI(S304)。然后,IC卡用户终端330利用所获取的响应值respI对密文CI解密,以恢复系统秘密信息mk(S306)。注意,如果所获取的响应值respI不正确,则恢复不出正确的系统秘密信息mk。在恢复系统秘密信息mk之后,IC卡用户终端330计算用于加密通信的共享密钥K=H(Kses‖mk)(S308)。
类似地,当相互认证(S302)得到确立时,IC卡230将挑战值chal输入到PUF中以获取响应值respR(S310)。然后,IC卡230利用所获取的响应值respR对密文CR解密,以恢复系统秘密信息mk(S312)。注意,如果所获取的响应值respR不正确,则恢复不出正确的系统秘密信息mk。在恢复系统秘密信息mk之后,IC卡230计算用于加密通信的共享密钥K=H(Kses‖mk)(S314)。
当以这种方式对共享密钥K进行共享时,在IC卡用户终端330和IC卡230之间执行共享密钥K的密钥匹配核实处理(S316:密钥匹配核实阶段)。如果在步骤S316中密钥匹配核实得到确立,则在IC卡用户终端330和IC卡230之间执行使用共享密钥K的加密通信(S318)。在上文中,已经描述了在认证阶段中与系统有关的处理的整体流程。接下来,将描述密钥匹配核实阶段中的处理流程。
(3-3-2:密钥匹配核实阶段)
接下来,将参考图19。注意,图19至21所示的密钥匹配核实方法只是一个示例,本实施例并不限于该方法。在此示例中,IC卡用户终端330被假定为启动密钥匹配核实处理的发起者,而IC卡230是与发起者的处理相对应的响应者。因此,如果IC卡230启动密钥匹配确立处理,则IC卡用户终端330变成响应者。
如图19中所示,在密钥匹配核实阶段中,首先IC卡用户终端330生成随机数rI(S332)并且IC卡230生成随机数rR(S324)。接下来,随机数rI被从IC卡用户终端330发送到IC卡230(S326)。在接收到随机数rI后,IC卡230执行MAC运算以计算KCTR=MACK(rR‖rI)(S328)。MACA(B)表示利用密钥A对数据B的MAC运算。接下来,IC卡230链接在步骤S324生成的随机数rR和在步骤S328计算出的KCTR,并把链接的信息发送到IC卡用户终端330(S330)。
接下来,IC卡用户终端330利用从IC卡230接收的随机数rR来执行MAC运算,以计算KCTR′=MACK(rR‖rI)(S332)。接下来,IC卡用户终端330判定从IC卡230获取的KCTR和在步骤S332计算的KCTR′是否匹配,并且如果KCTR和KCTR′不匹配,IC卡用户终端330则通过认为密钥匹配核实未得到确立来终止处理序列(S334)。另一方面,如果KCTR和KCTR′匹配,IC卡用户终端330则利用随机数rR和rI执行MAC运算,以计算KCTI=MACK(rI‖rR)(S336)。
然后,IC卡用户终端330把在步骤S336计算出的KCTI发送到IC卡230(S338)。在接收到KCTI后,IC卡230利用随机数rI和rR执行MAC运算,以计算KCTI′=MACK(rI|rR)(S340)。然后,IC卡230判定在步骤S340计算出的KCTI′和从IC卡用户终端330接收的KCTI是否匹配,并且如果KCTI和KCTI′不匹配,IC卡230则通过认为密钥匹配核实未得到确立来终止处理序列(S342)。另一方面,如果KCTI和KCTI′匹配,IC卡230则启动与IC卡用户终端330的使用共享密钥K的加密通信。
在上文中,已经描述了与密钥匹配核实阶段有关的处理的整体流程。下面将更详细描述IC卡用户终端330和IC卡230分别执行的处理的流程。
首先,将参考图20。如图20所示,IC卡用户终端330(发起者)生成随机数rI并将随机数rI发送到IC卡230(响应者)(S352)。接下来,IC卡用户终端330从IC卡230接收rR‖KCTR(S354)。接下来,IC卡用户终端330利用接收到的rR来执行MAC运算,以计算KCTR′=MACK(rR‖rI)(S356)。接下来,IC卡用户终端330判定是否KCTR′=KCTR(S358)。如果KCTR′=KCTR,IC卡用户终端330则计算KCTI=MACK(rI‖rR),并且将KCTI发送到IC卡230(S360)。另一方面,如果KCTR′≠KCTR,IC卡用户终端330则通过认为密钥不匹配来终止处理序列。
接下来,将参考图21。如图21所示,IC卡230(响应者)从IC卡用户终端330(发起者)接收随机数rI(S362)。接下来,IC卡230生成随机数rR并将随机数rR发送到IC卡用户终端330(S364)。接下来,IC卡230计算KCTR=MACK(rR‖r1),并将KCTR发送到IC卡用户终端330(S366)。接下来,IC卡230接收KCTI(S368)。接下来,IC卡230计算KCTI′=MACK(r1‖rR)(S370)。接下来,IC卡230判定是否KCTI′=KCTI(S372)。如果KCTI′=KCTI,IC卡230则判定密钥匹配(S374)并且利用共享密钥K执行加密通信。另一方面,如果KCTI′≠KCTI,IC卡230则通过认为密钥不匹配来终止处理序列。
在上文中,已经描述了根据本实施例的密钥匹配阶段的处理。虽然在上述密钥匹配核实处理中通过利用使用共享密钥K的随机数的MAC运算来核实密钥匹配,但是,当通过使用例如公共密钥加密技术来实现根据本实施例的技术时,也可以考虑利用用于相互认证的密钥来使用数字签名的方法。对于随机数rI和rR,可以考虑很多种变化,例如用于执行相互认证的密文或者随机数。当然,这种变化也包括在本实施例的技术范围内。
在上文中,已经描述了本发明的第二实施例。在相互认证之后,如上所述,通过执行密钥匹配核实可以避免非法密文被解密的危险。此外,在下述情形中,可以识别出非法复制IC的存在:即,虽然用于相互认证的密钥与每条数据一起通过非法复制被获取,但是所获取的数据中的哪个数据是用于相互认证的密钥并没有被暴露。也就是说,虽然相互认证得到确立但在密钥匹配核实阶段中导致不匹配的IC是非法复制IC,并且通过应用本实施例的技术可以发出该非法复制IC。
<4:第三实施例>
接下来,将描述本发明的第三实施例。在上述第一和第二实施例中,通过在相互认证得到确立后核实加密通信是否能被正确执行或者共享密钥是否匹配来判定IC是否是非法复制IC。于是,根据第一实施例中的方法,必须对密文解密以核实通信对方是否有效。根据第二实施例中的方法,虽然可在对密文解密之前核实有效性,但是通信量比第一实施例中的方法多出了执行密钥匹配核实处理所必需的量。因此,本发明的发明人研究了在不增加通信量的情况下在对密文解密之前核实有效性的方法。作为其结果而发明的是下面描述的第三实施例中的方法。
根据第三实施例中的方法,在登记阶段中利用响应值对相互认证密钥而不是系统秘密信息加密,在认证阶段中利用响应值对该相互认证密钥解密,并且利用解密出的相互认证密钥来执行相互认证。第三实施例中的方法与上述第一和第二实施例的相同之处在于使非法复制IC很难获得正确响应值的特征,但很大的不同在于防止了非法复制IC进行相互认证。如果相互认证未得到确立,则正确的会话密钥不被获得,从而使得难以利用会话密钥来执行加密通信。因此,可以有效地防止非法复制IC篡改或窃取信息。此外,由于非法复制IC难以执行相互认证,因此通信对方无需对非法密文解密,并且密钥匹配核实处理也不发生。
[4-1:IC卡250的功能配置]
首先,将参考图22来描述根据本发明第三实施例的IC卡250的功能配置。其中,还将描述根据本实施例的中心150的主要功能配置。对于具有与上述根据第一实施例的IC卡200的组件基本相同的功能的组件,附加了相同的标号,并省略对其的详细描述。图22是示出根据本实施例的IC卡250的功能配置的说明图。
如图22所示,IC卡250主要包括密钥信息获取单元202、响应生成单元204、PUF 206、存储单元208、加密单元252、解密单元254、相互认证单元256、以及加密通信单元258。中心150主要包括密钥信息提供单元152和存储单元154。
下面将针对每个阶段分别描述IC卡250的功能配置。在根据本实施例的登记阶段中,提供每个IC通用的挑战值(chal)。然后,由每个IC生成对挑战值chal的响应值resp,并且通过用响应值resp作为密钥来对相互认证密钥Kauth加密。通过该加密处理生成的密文EK=Eresp(Kauth)与挑战值chal一起被存储在每个IC的非易失性存储器中。
另一方面,在根据本实施例的认证阶段中,每个IC读取由每个IC存储在非易失性存储器中的密文EK和挑战值chal,并将挑战值输入到PUF
206中以生成响应值resp。然后,每个IC利用所生成的resp对密文EK解密,并且利用通过对密文EK解密而获得的相互认证密钥Kauth来执行相互认证。结果,非法复制IC很难获得相互认证密钥Kauth,从而很难使得相互认证得到确立。在本实施例中,通过使用上述方法,使得相互认证能够实现,同时防止了非法复制IC被使用。
(与登记阶段有关的功能配置)
首先,将描述IC卡250的与登记阶段有关的功能配置。在登记阶段中,整个系统中通用的挑战值chal和相互认证密钥Kauth首先被从中心150提供给IC卡250。挑战值chal和相互认证密钥Kauth被存储在中心150所拥有的存储单元154中。然后,在登记阶段中,挑战值chal和相互认证密钥Kauth被中心150所拥有的密钥信息提供单元152从存储单元154中读取并提供给每个IC卡250。从中心150提供来的挑战值chal和相互认证密钥Kauth被IC卡250所拥有的密钥信息获取单元202获取。
然后,由密钥信息获取单元202获取的挑战值chal被存储在存储单元208中。由密钥信息获取单元202获取的相互认证密钥Kauth被输入到加密单元252中。存储在存储单元208中的挑战值chal被响应生成单元204读取并被输入到PUF 206中。PUF 206生成对从响应生成单元204输入的挑战值chal的响应值resp。从PUF 206输出的响应值resp是IC卡250所特有的。由PUF 206生成的响应值resp被输入到响应生成单元204中。在以这种方式生成响应值resp之后,响应生成单元204将响应值resp输入到加密单元252中。
如上所述,来自密钥信息获取单元202的相互认证密钥Kauth被输入到加密单元252中,并且来自响应生成单元204的响应值resp也被输入到加密单元252中。然后,加密单元252通过使用所输入的响应值resp作为密钥来对相互认证密钥Kauth加密。通过该加密处理生成了密文EK=Eresp(Kauth)。由加密单元252生成的密文EK被存储在存储单元208中。到此为止的处理是在登记阶段中执行的。在上述处理之后,IC卡250的存储单元208中存储了挑战值chal和密文EK。注意,相互认证密钥Kauth不被保存在IC卡250内。
(与认证阶段有关的功能配置)
接下来,将描述IC卡250的与认证阶段有关的功能配置。在认证阶段中,首先在IC卡250和IC卡用户终端350之间执行相互认证。用于相互认证的相互认证密钥Kauth不被存储在存储单元208中。因此,在认证阶段中,执行对用于实现与IC卡用户终端350的相互认证的相互认证密钥Kauth的生成处理。
首先,响应生成单元204从存储单元208中读取挑战值chal。然后,响应生成单元204把从存储单元208读取的挑战值chal输入到PUF 206中。PUF 206生成对从响应生成单元204输入的挑战值chal的响应值resp。然后,由PUF 206生成的响应值resp被输入到响应生成单元204中。这样,由响应生成单元204通过利用PUF 206来获取的响应值resp被输入到解密单元254中。
虽然这里描述的是PUF 206生成响应值resp,但如果IC卡250是非法复制IC,则PUF 206生成响应值resp′(≠resp)。在登记阶段中生成响应值resp的IC卡250是中心150认定的原始IC。另一方面,在通过对IC卡250进行非法复制而生成的IC卡250中,包括存储在存储单元208中的密文EK和挑战值chal在内的相同配置被复制。然而,原始IC和非法复制IC在PUF 206的输入/输出特性方面确实不同。因此,每次通过由响应生成单元204使得PUF 206再次生成响应值resp来执行认证时,就可以区分一个IC是原始IC还是非法复制IC。
当响应值resp被从响应生成单元204输入时,解密单元254从存储单元208中读取密文EK=Eresp(Kauth)。然后,解密单元254通过利用从响应生成单元204输入的响应值resp作为密钥来对密文EK解密。通过该解密处理恢复的相互认证密钥Kauth被输入到相互认证单元256中。如果从响应生成单元204输入的响应值不同于在生成密文EK时使用的响应值,则恢复不出正确的相互认证密钥Kauth。也就是说,可以基于解密单元254恢复的相互认证密钥Kauth是否正确来区分原始IC和非法复制IC。
在相互认证密钥Kauth被输入后,相互认证单元256利用所输入的相互认证密钥Kauth与IC卡用户终端350执行相互认证。然后,在相互认证得到确立后,相互认证单元256获取用于与IC卡用户终端350建立会话的会话密钥Kses。由相互认证单元256获取的会话密钥Kses被输入到加密通信单元258中。然后,加密通信单元258利用从相互认证单元256输入的会话密钥Kses来与IC卡用户终端350执行加密通信。
如果解密单元254未恢复出正确的相互认证密钥Kauth,则相互认证单元256进行的相互认证得不到确立,从而,会话密钥Kses不被输入到加密通信单元258中。因此,利用非法复制IC进行的加密通信不可实现。所以,如果IC卡250是非法复制IC,则用于实际读/写IC卡250的信息的加密通信变得不可实现。
[4-2:IC卡用户终端350的功能配置]
接下来,将参考图23来描述根据本发明第三实施例的IC卡用户终端350的功能配置。其中,还将描述根据本实施例的中心150的主要功能配置。图23是示出根据本实施例的IC卡用户终端350的功能配置的说明图。对于具有与上述根据第一实施例的IC卡200的组件基本相同的功能的组件,附加了相同的标号,并省略对其的详细描述。在本实施例中也假定IC卡250和IC卡用户终端350之间的相互认证,因此,在IC卡用户终端350中也设置了与IC卡250中基本相同的功能配置。
如图23所示,IC卡用户终端350主要包括密钥信息获取单元302、响应生成单元304、PUF 306、存储单元308、加密单元352、解密单元354、相互认证单元356、以及加密通信单元358。
下面将针对每个阶段分别描述IC卡用户终端350的功能配置。在根据本实施例的登记阶段中,提供每个IC通用的挑战值(chal)。然后,由每个IC生成对挑战值chal的响应值resp,并且通过用响应值resp作为密钥来对相互认证密钥Kauth加密。通过该加密处理生成的密文EK=Eresp(Kauth)与挑战值chal一起被存储在每个IC的非易失性存储器中。
另一方面,在根据本实施例的认证阶段中,每个IC读取由每个IC存储在非易失性存储器中的密文EK和挑战值chal,并将挑战值输入到PUF306中以生成响应值resp。然后,每个IC利用所生成的resp对密文EK解密,并且利用通过对密文EK解密而获得的相互认证密钥Kauth来执行相互认证。结果,非法复制IC很难获得正确的相互认证密钥Kauth,从而很难使得相互认证得到确立。在本实施例中,通过使用上述方法,使得相互认证能够实现,同时防止了非法复制IC被使用。
(与登记阶段有关的功能配置)
首先,将描述IC卡用户终端350的与登记阶段有关的功能配置。在登记阶段中,整个系统中通用的挑战值chal和相互认证密钥Kauth首先被从中心150提供给IC卡用户终端350。从中心150提供的挑战值chal和相互认证密钥Kauth被IC卡用户终端350所拥有的密钥信息获取单元302所获取。然后,密钥信息获取单元302获取的挑战值chal被存储在存储单元308中。
由密钥信息获取单元302获取的相互认证密钥Kauth被输入到加密单元352中。存储在存储单元308中的挑战值chal被响应生成单元304读取并被输入到PUF 306中。PUF 306生成对从响应生成单元304输入的挑战值chal的响应值resp。从PUF 306输出的响应值resp是IC卡用户终端350所特有的。由PUF 306生成的响应值resp被输入到响应生成单元304中。在以这种方式生成响应值resp之后,响应生成单元304将响应值resp输入到加密单元352中。
如上所述,来自密钥信息获取单元302的相互认证密钥Kauth被输入到加密单元352中,并且来自响应生成单元304的响应值resp也被输入到加密单元352中。然后,加密单元352通过使用所输入的响应值resp作为密钥来对相互认证密钥Kauth加密。通过该加密处理生成了密文EK=Eresp(Kauth)。由加密单元352生成的密文EK被存储在存储单元308中。到此为止的处理是在登记阶段中执行的。在上述处理之后,IC卡用户终端350的存储单元308中存储了挑战值chal和密文EK。注意,相互认证密钥Kauth不被保存在IC卡用户终端350内。
(与认证阶段有关的功能配置)
接下来,将描述IC卡用户终端350的与认证阶段有关的功能配置。在认证阶段中,首先在IC卡用户终端350和IC卡250之间执行相互认证。用于相互认证的相互认证密钥Kauth不被存储在存储单元308中。因此,在认证阶段中,执行对用于实现与IC卡250的相互认证的相互认证密钥Kauth的生成处理。
首先,响应生成单元304从存储单元308中读取挑战值chal。然后,响应生成单元304把从存储单元308读取的挑战值chal输入到PUF 306中。PUF 306生成对从响应生成单元304输入的挑战值chal的响应值resp。然后,由PUF 306生成的响应值resp被输入到响应生成单元304中。这样,由响应生成单元304通过利用PUF 306来获取的响应值resp被输入到解密单元354中。
当响应值resp被从响应生成单元304输入时,解密单元354从存储单元308中读取密文EK=Eresp(Kauth)。然后,解密单元354通过利用从响应生成单元304输入的响应值resp作为密钥来对密文EK解密。通过该解密处理恢复的相互认证密钥Kauth被输入到相互认证单元356中。如果从响应生成单元304输入的响应值不同于在生成密文EK时使用的响应值,则恢复不出正确的相互认证密钥Kauth。也就是说,可以基于解密单元354恢复的相互认证密钥Kauth是否正确来区分原始IC和非法复制IC。
在相互认证密钥Kauth被输入后,相互认证单元356利用所输入的相互认证密钥Kauth与IC卡250执行相互认证。然后,在相互认证得到确立后,相互认证单元356获取用于与IC卡250建立会话的会话密钥Kses。由相互认证单元356获取的会话密钥Kses被输入到加密通信单元358中。然后,加密通信单元358利用从相互认证单元356输入的会话密钥Kses来与IC卡250执行加密通信。
如果解密单元354未恢复出正确的相互认证密钥Kauth,则相互认证单元356进行的相互认证得不到确立,从而,会话密钥Kses不被输入到加密通信单元358中。因此,利用非法复制IC进行的加密通信不可实现。所以,如果IC卡用户终端350是非法复制IC,则用于实际读/写IC卡250的信息的加密通信变得不可实现。
[4-3:认证阶段中的处理]
接下来,将参考图24至26来描述在认证阶段中执行的处理的流程。图24是示出在认证阶段中包括IC卡用户终端350和IC卡250之间的交换在内的处理的整体流程的说明图。图25是示出主要在IC卡用户终端350中执行的处理的流程的说明图。图26是示出主要在IC卡250中执行的处理的流程的说明图。
首先,将参考图24。如图24所示,IC卡用户终端350首先将挑战值chal输入到PUF中以获取响应值respI(S402)。然后,IC卡用户终端350利用所获取的响应值respI对密文EKI解密,以恢复相互认证密钥Kauth(S404)。注意,如果所获取的响应值respI不正确,则恢复不出正确的相互认证密钥Kauth。
类似地,IC卡250将挑战值chal输入到PUF中以获取响应值respR(S406)。然后,IC卡250利用所获取的响应值respR对密文EKR解密,以恢复相互认证密钥Kauth(S408)。注意,如果所获取的响应值respR不正确,则恢复不出正确的相互认证密钥Kauth。
然后,IC卡用户终端350和IC卡250各自利用解密出的相互认证密钥Kauth执行相互认证,并且如果相互认证得到确立,IC卡用户终端350和IC卡250则共享会话密钥Kses(S410)。如果共享了会话密钥Kses,则在IC卡用户终端350和IC卡250之间执行使用加密通信(S412)。在上文中,已经描述了与认证阶段有关的处理的整体流程。下面将更详细描述IC卡用户终端350和IC卡250分别执行的处理的流程。
首先,将参考图25。如图25所示,IC卡用户终端350从存储单元308中获取挑战值chal和密文EKI(S422)。接下来,IC卡用户终端350将挑战值chal输入到PUF 306中以获取响应值respI(S424)。接下来,IC卡用户终端350通过利用所获取的响应值respI对密文EKI解密,以获取相互认证密钥Kauth(S426)。接下来,IC卡用户终端350利用所获取的相互认证密钥Kauth来执行相互认证和密钥共享处理(S428)。
接下来,IC卡用户终端350判定相互认证是否得到确立(S430)。如果相互认证已得到确立,则IC卡用户终端350通过认为认证确立而利用在步骤S428获取的会话密钥Kses来执行加密通信(S432)。另一方面,如果相互认证未得到确立,IC卡用户终端350则通过认为认证未得到确立来终止与认证处理有关的处理序列。
如果IC卡用户终端350是非法复制IC,则在步骤S424获取的响应值respI不同于合法的,因此,在步骤S426恢复不出正确的相互认证密钥Kauth。所以,在步骤S428相互认证失败。结果,很难通过非法复制攻击来非法读/写IC卡250中的信息或者非法读/写IC卡用户终端350中的信息。
接下来,将参考图26。如图26所示,IC卡250从存储单元208中获取挑战值chal和密文EKR(S442)。接下来,IC卡250将挑战值chal输入到PUF 206中以获取响应值respR(S444)。接下来,IC卡250利用所获取的响应值respR对密文EKR解密,以获取相互认证密钥Kauth(S446)。接下来,IC卡用户终端350利用所获取的相互认证密钥Kauth来执行相互认证和密钥共享处理(S448)。
接下来,IC卡250判定相互认证是否得到确立(S450)。如果相互认证已得到确立,则IC卡250通过认为认证确立而利用在步骤S448获取的会话密钥Kses来执行加密通信(S452)。另一方面,如果相互认证未得到确立,IC卡250则通过认为认证未得到确立来终止与认证处理有关的处理序列(S454)。
如果IC卡250是非法复制IC,则在步骤S444获取的响应值respR不同于合法的,因此,在步骤S446恢复不出正确的相互认证密钥Kauth。所以,在步骤S448相互认证失败。结果,很难通过非法复制攻击来非法读/写IC卡用户终端350中的信息或者非法读/写IC卡250中的信息。
在上文中,已经描述了本发明的第三实施例。如上所述,通过使用根据本实施例的认证处理,与上述第一和第二实施例一样,可以通过充分利用PUF特性来防止利用非法复制IC进行的损害。此外,与上述第一实施例不同,可以在不增加通信量且不对通过加密通信接收的通信对方的密文解密的情况下判定通信对方的有效性。
<5:总结>
最后,将简要总结根据上述每个实施例的认证处理方法。根据每个实施例的认证处理方法涉及一种通过将PUF安装在半导体集成电路(IC)中并将PUF的特性用于相互认证来防止使用非法复制IC的技术。该认证处理方法在不像SD07方法中那样使用数据库的情况下,通过检查利用PUF输出值作为密钥加密的系统秘密信息或相互认证密钥是否能够被解密,来实现对使用非法复制IC的防止。
这里,将简要总结SD07方法和上述每个实施例的方法之间的差异。根据SD07方法,如上所述,中心生成一数据库并秘密管理该数据库,在该数据库中,在登记阶段中存储了与每个IC的PUF相对应的多对挑战/响应。在认证阶段中,终端参考中心的数据库,通过将所登记的挑战值给予IC,来判定该IC是否输出与数据库中登记的响应值相同的响应值。此外,根据SD07方法,通过接收该判定的结果以决定认证是否成功,来防止非法复制IC被使用。
然而,如果采用这种配置方法,则中心构造非常巨大的数据库并且必须安全地保存并管理该数据库。另外,为了执行相互认证必须将该数据库存储在IC中,这使得相互认证实际上不可能实现。例如,如果所制造的IC的总数目N为N=10,000,000,每个IC的ID、挑战值和响应值的数据大小分别为128位,并且为每个IC登记100个挑战/响应,则数据库大小将约为320GB。将这样巨大量的数据存储在IC的非易失性存储器中是非常困难的。
另一方面,根据本发明每个实施例的方法,在登记阶段,只向每个IC给予一个ID、一个挑战值、一条系统秘密信息或者一个相互认证密钥。另外,挑战值和系统秘密信息可以是整个系统中通用的。因此,终端或IC在认证阶段中不需要访问中心来核实PUF的输出值。所以,中心不需要为了实现相互认证而保存信息。
因此,可以实现终端与IC之间的相互认证。由于每个IC或终端在认证阶段中利用PUF的输出值来对密文解密,因此在执行相互认证时可以基于解密值是否正确来判定每个IC或终端是否是非法复制的。结果,与SD07方法一样,可以防止非法复制IC被使用。此外,如果使用上述第二实施例中的方法,则不需要对从通信对方接收的密文解密来核实任何非法IC,从而可以进一步增强安全性。如果使用上述第三实施例中的方法,则可以在不增加通信量并且不对从通信对方接收的密文解密的情况下核实通信对方是否是非法复制的。
(注意)
上述的IC卡200、230和250以及IC卡用户终端300、330和350是集成电路或加密通信装置的示例。上述的PUF 206和306是运算电路的示例。上述的第一和第二实施例中的系统秘密信息mk和第三实施例中的相互认证密钥Kauth是预定秘密信息的示例。上述的挑战值是输入到运算电路中的预定值的示例。上述的响应生成单元204和304是输出值获取单元的示例。上述的共享密钥生成单元216和316是加密通信密钥生成单元的示例。上述的共享密钥K是用于加密通信的密钥的示例。此外,上述的会话密钥Kses是通过相互认证获取的共享信息的示例。上述的IC卡230和IC卡用户终端330是第一或第二通信装置的示例。上述的密钥匹配核实单元232和332是运算电路和发送单元的示例。
本领域的技术人员应当理解,取决于设计要求和其他因素,可以进行各种修改、组合、子组合和变更,只要它们处于所附权利要求或其等同物的范围之内即可。
本发明包含与2009年3月25日向日本专利局提交的日本在先专利申请JP 2009-073676中公开的主题相关的主题,这里通过引用将该申请的全部内容并入。
Claims (9)
1.一种集成电路,包括:
运算电路,该运算电路具有由元件特有物理特性决定的输入/输出特性;
存储单元,其中存储有密文和输入到所述运算电路中的预定值,所述密文是通过利用针对所述预定值的输入而从所述运算电路输出的输出值对预定秘密信息执行加密处理而获得的;以及
解密单元,该解密单元在所述预定秘密信息被使用时,通过把存储在所述存储单元中的预定值输入到所述运算电路中并且利用从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述预定秘密信息。
2.根据权利要求1所述的集成电路,还包括:
输出值获取单元,该输出值获取单元在所述预定值被从外部给予时,将所述预定值输入到所述运算电路中以获取所述输出值并且还将所述预定值存储在所述存储单元中;以及
加密单元,该加密单元在所述预定秘密信息与所述预定值一起被给予时,利用由所述输出值获取单元利用所述运算电路所获取的输出值作为密钥来对所述预定秘密信息加密,并且将通过加密处理获得的密文存储到所述存储单元中。
3.根据权利要求1所述的集成电路,其中,用于相互认证的密钥以使用所述输出值作为密钥的密文的形式作为所述预定秘密信息被存储在所述存储单元中,并且
当利用所述用于相互认证的密钥执行相互认证时,所述解密单元通过将存储在所述存储单元中的预定值输入到所述运算电路中并且利用从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述用于相互认证的密钥。
4.一种加密通信装置,包括:
集成电路,其包括:运算电路,该运算电路具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到所述运算电路中的预定值,该密文是通过利用针对所述预定值的输入而从所述运算电路输出的输出值对与外部装置共享的预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在所述预定秘密信息被使用时,通过把存储在所述存储单元中的预定值输入到所述运算电路中并且利用从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述预定秘密信息;
相互认证单元,该相互认证单元通过与所述外部装置执行相互认证来获取共享信息;
加密通信密钥生成单元,该加密通信密钥生成单元通过组合由所述相互认证单元通过相互认证而获取的共享信息和由所述解密单元恢复的预定秘密信息,来生成用于加密通信的密钥;以及
加密通信单元,该加密通信单元利用由所述加密通信密钥生成单元生成的用于加密通信的密钥来与所述外部装置执行加密通信。
5.一种加密通信系统,包括:
第一通信装置,具有:
集成电路,其包括:运算电路,该运算电路具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到所述运算电路中的预定值,该密文是通过利用针对所述预定值的输入而从所述运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在所述预定秘密信息被使用时,通过把存储在所述存储单元中的预定值输入到所述运算电路中并且利用从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述预定秘密信息;
相互认证单元,该相互认证单元通过与第二通信装置执行相互认证来获取共享信息;
加密通信密钥生成单元,如果在与所述第二通信装置的成功相互认证后获取了所述共享信息,则该加密通信密钥生成单元利用所述解密单元来恢复所述预定秘密信息,以通过组合所述预定秘密信息和所述共享信息来生成用于加密通信的密钥;以及
加密通信单元,该加密通信单元利用由所述加密通信密钥生成单元生成的用于加密通信的密钥来与所述第二通信装置执行加密通信。
所述第二通信装置,具有:
集成电路,其包括:运算电路,该算电路具有由元件特有物理特性决定的输入/输出特性;存储单元,其中存储有密文和输入到所述运算电路中的预定值,该密文是通过利用针对所述预定值的输入而从所述运算电路输出的输出值作为密钥对所述预定秘密信息执行加密处理而获得的;以及解密单元,该解密单元在所述预定秘密信息被使用时,通过把存储在所述存储单元中的预定值输入到所述运算电路中并且利用从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述预定秘密信息;
相互认证单元,该相互认证单元通过与所述第一通信装置执行相互认证来获取共享信息;
加密通信密钥生成单元,如果在与所述第一通信装置的成功相互认证后获取了所述共享信息,则该加密通信密钥生成单元利用所述解密单元来恢复所述预定秘密信息,以通过组合所述预定秘密信息和所述共享信息来生成用于加密通信的密钥;以及
加密通信单元,该加密通信单元利用由所述加密通信密钥生成单元生成的用于加密通信的密钥来与所述第一通信装置执行加密通信。
6.根据权利要求5所述的加密通信系统,其中
所述第一通信装置还具有:
运算单元,该运算单元以由所述加密通信密钥生成单元生成的用于加密通信的密钥作为参数,对由所述第一通信装置和第二通信装置保存的保存信息执行预定运算处理;以及
发送单元,该发送单元把从所述运算单元输出的第一运算结果发送到所述第二通信装置,并且
所述第二通信装置还具有:
运算单元,该运算单元以由所述加密通信密钥生成单元生成的用于加密通信的密钥作为参数,对由所述第一通信装置和第二通信装置保存的保存信息执行预定运算处理;以及
发送单元,该发送单元把从所述运算单元输出的第二运算结果发送到所述第一通信装置,其中
所述第一通信装置比较从所述第二通信装置接收的第二运算结果和所述第一运算结果,
所述第二通信装置比较从所述第一通信装置接收的第一运算结果和所述第二运算结果,并且
如果所述第一运算结果和第二运算结果匹配,则所述第一通信装置和第二通信装置所拥有的加密通信单元执行加密通信。
7.一种信息处理方法,包括以下步骤:
利用包括具有由元件特有物理特性决定的输入/输出特性的运算电路和存储有通过利用针对输入到所述运算电路中的预定值的输入而从所述运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的密文和所述预定值的存储单元的集成电路,在所述预定秘密信息被使用时,在存储在所述存储单元中的所述预定值被输入到所述运算电路中之后,获取与所述预定值相对应的输出值;以及
通过利用在输出值获取步骤中从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述预定秘密信息。
8.根据权利要求7所述的信息处理方法,还包括以下步骤:
通过与外部装置执行相互认证来获取共享信息;
通过组合通过在相互认证步骤中的相互认证获取的共享信息和在恢复步骤中恢复的预定秘密信息来生成用于加密通信的密钥;以及
利用在密钥生成步骤中生成的用于加密通信的密钥来与所述外部装置执行加密通信。
9.一种加密通信方法,包括:
由第一通信装置执行的以下步骤:
通过与第二通信装置执行相互认证来获取共享信息;
利用包括具有由元件特有物理特性决定的输入/输出特性的运算电路和存储有通过利用针对输入到所述运算电路中的预定值的输入而从所述运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的密文和所述预定值的存储单元的集成电路,在与所述第二通信装置的成功相互认证后获取了所述共享信息的情况下,在存储在所述存储单元中的所述预定值被输入到所述运算电路中之后,获取与所述预定值相对应的输出值;
通过利用在输出值获取步骤中从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述预定秘密信息;
通过组合在恢复步骤中恢复的预定秘密信息和所述共享信息来生成用于加密通信的密钥;以及
利用在密钥生成步骤中生成的用于加密通信的密钥来与所述第二通信装置执行加密通信,以及
由所述第二通信装置执行的以下步骤:
通过与所述第一通信装置执行相互认证来获取共享信息;
利用包括具有由元件特有物理特性决定的输入/输出特性的运算电路和存储有通过利用针对输入到所述运算电路中的预定值的输入而从所述运算电路输出的输出值作为密钥对预定秘密信息执行加密处理而获得的密文和所述预定值的存储单元的集成电路,在与所述第一通信装置的成功相互认证后获取了所述共享信息的情况下,在存储在所述存储单元中的所述预定值被输入到所述运算电路中之后,获取与所述预定值相对应的输出值;
通过利用在输出值获取步骤中从所述运算电路输出的输出值对存储在所述存储单元中的密文解密,来恢复所述预定秘密信息;
通过组合在恢复步骤中恢复的预定秘密信息和所述共享信息来生成用于加密通信的密钥;以及
利用在密钥生成步骤中生成的用于加密通信的密钥来与所述第一通信装置执行加密通信。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-073676 | 2009-03-25 | ||
JP2009073676A JP5423088B2 (ja) | 2009-03-25 | 2009-03-25 | 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101847296A true CN101847296A (zh) | 2010-09-29 |
CN101847296B CN101847296B (zh) | 2013-07-10 |
Family
ID=42771906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010138379.4A Expired - Fee Related CN101847296B (zh) | 2009-03-25 | 2010-03-18 | 集成电路、加密通信装置、系统和方法以及信息处理方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100250936A1 (zh) |
JP (1) | JP5423088B2 (zh) |
CN (1) | CN101847296B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102710252A (zh) * | 2012-05-28 | 2012-10-03 | 宁波大学 | 一种高稳态多端口puf电路 |
CN103583013A (zh) * | 2011-06-02 | 2014-02-12 | 三菱电机株式会社 | 密钥信息生成装置以及密钥信息生成方法 |
CN104281812A (zh) * | 2013-06-18 | 2015-01-14 | 马克西姆综合产品公司 | 使用独特识别元件的安全模块 |
CN104584435A (zh) * | 2012-09-28 | 2015-04-29 | 英特尔公司 | 有可访问和不可访问的物理不可克隆功能的集成电路 |
CN105324777A (zh) * | 2013-07-04 | 2016-02-10 | 凸版印刷株式会社 | 装置及认证系统 |
CN105577384A (zh) * | 2014-10-30 | 2016-05-11 | 罗伯特·博世有限公司 | 用于保护网络的方法 |
CN107222460A (zh) * | 2017-05-03 | 2017-09-29 | 飞天诚信科技股份有限公司 | 一种服务器数据存储空间共享的方法及装置 |
CN107615285A (zh) * | 2015-03-05 | 2018-01-19 | 美国亚德诺半导体公司 | 包括物理不可克隆功能和阈值加密的认证系统和装置 |
CN107844715A (zh) * | 2016-09-20 | 2018-03-27 | 华邦电子股份有限公司 | 半导体装置及安全系统 |
CN107852323A (zh) * | 2015-07-31 | 2018-03-27 | 西尔维奥·米卡利 | 伪造品防止 |
CN108352984A (zh) * | 2015-11-05 | 2018-07-31 | 三菱电机株式会社 | 安全装置和安全方法 |
CN108667620A (zh) * | 2012-08-21 | 2018-10-16 | Ictk有限公司 | 处理认证信息的装置及方法 |
CN109765856A (zh) * | 2017-11-09 | 2019-05-17 | 汉芝电子股份有限公司 | 安全逻辑系统及操作安全逻辑系统的方法 |
US10771267B2 (en) | 2014-05-05 | 2020-09-08 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
CN111756540A (zh) * | 2019-03-26 | 2020-10-09 | 北京普安信科技有限公司 | 一种传送密文的方法、终端、服务器及系统 |
CN112286463A (zh) * | 2020-10-30 | 2021-01-29 | 南方电网科学研究院有限责任公司 | 一种数据处理方法、装置、设备和存储介质 |
US10958452B2 (en) | 2017-06-06 | 2021-03-23 | Analog Devices, Inc. | System and device including reconfigurable physical unclonable functions and threshold cryptography |
CN113965595A (zh) * | 2020-07-02 | 2022-01-21 | 中国电信股份有限公司 | 物联网设备配置方法、服务器、设备、系统和存储介质 |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102446248A (zh) * | 2010-09-30 | 2012-05-09 | 国际商业机器公司 | 用于保护企业网络系统内计算装置的存储器数据的装置和方法 |
US8694778B2 (en) * | 2010-11-19 | 2014-04-08 | Nxp B.V. | Enrollment of physically unclonable functions |
US8898461B2 (en) * | 2011-03-03 | 2014-11-25 | Lenovo (Singapore) Pte. Ltd. | Battery authentication method and apparatus |
US10678905B2 (en) | 2011-03-18 | 2020-06-09 | Lenovo (Singapore) Pte. Ltd. | Process for controlling battery authentication |
US9690941B2 (en) * | 2011-05-17 | 2017-06-27 | Microsoft Technology Licensing, Llc | Policy bound key creation and re-wrap service |
JP6014214B2 (ja) * | 2011-06-20 | 2016-10-25 | ルネサスエレクトロニクス株式会社 | 暗号通信システムおよび暗号通信方法 |
JP2013031151A (ja) * | 2011-06-20 | 2013-02-07 | Renesas Electronics Corp | 暗号通信システムおよび暗号通信方法 |
CN107612685A (zh) | 2011-12-29 | 2018-01-19 | 英特尔公司 | 使用在物理上不可克隆的函数的安全密钥存储 |
US20130212642A1 (en) * | 2012-02-12 | 2013-08-15 | John J. Walsh | Resilient Device Authentication System |
US9996480B2 (en) | 2012-07-18 | 2018-06-12 | Analog Devices, Inc. | Resilient device authentication system with metadata binding |
US9258129B2 (en) * | 2012-07-18 | 2016-02-09 | Sypris Electronics, Llc | Resilient device authentication system |
US20140041040A1 (en) * | 2012-08-01 | 2014-02-06 | The Regents Of The University Of California | Creating secure multiparty communication primitives using transistor delay quantization in public physically unclonable functions |
KR101419745B1 (ko) * | 2012-08-07 | 2014-07-17 | 한국전자통신연구원 | 물리적 복제 방지 기능을 기반으로 하는 인증 요청 장치, 인증 처리 장치 및 인증 수행 방법 |
US10771448B2 (en) | 2012-08-10 | 2020-09-08 | Cryptography Research, Inc. | Secure feature and key management in integrated circuits |
CN102855422B (zh) * | 2012-08-21 | 2015-03-04 | 飞天诚信科技股份有限公司 | 一种盗版加密锁的识别方法和装置 |
US9742563B2 (en) * | 2012-09-28 | 2017-08-22 | Intel Corporation | Secure provisioning of secret keys during integrated circuit manufacturing |
GB2507988A (en) | 2012-11-15 | 2014-05-21 | Univ Belfast | Authentication method using physical unclonable functions |
US9154480B1 (en) * | 2012-12-12 | 2015-10-06 | Emc Corporation | Challenge-response authentication of a cryptographic device |
US8938792B2 (en) | 2012-12-28 | 2015-01-20 | Intel Corporation | Device authentication using a physically unclonable functions based key generation system |
US9390291B2 (en) * | 2012-12-29 | 2016-07-12 | Intel Corporation | Secure key derivation and cryptography logic for integrated circuits |
US9197422B2 (en) | 2013-01-24 | 2015-11-24 | Raytheon Company | System and method for differential encryption |
US8995658B2 (en) * | 2013-02-13 | 2015-03-31 | Honeywell International Inc. | Physics-based key generation |
US20140270177A1 (en) * | 2013-03-15 | 2014-09-18 | Ernie Brickell | Hardening inter-device secure communication using physically unclonable functions |
EP2779067B1 (en) * | 2013-03-15 | 2019-05-08 | Maxim Integrated Products, Inc. | Secure authentication based on physically unclonable functions |
JP6182371B2 (ja) * | 2013-06-28 | 2017-08-16 | ルネサスエレクトロニクス株式会社 | 半導体集積回路を含むシステム |
US20150143130A1 (en) * | 2013-11-18 | 2015-05-21 | Vixs Systems Inc. | Integrated circuit provisioning using physical unclonable function |
WO2015119043A1 (ja) * | 2014-02-06 | 2015-08-13 | 国立大学法人電気通信大学 | 認証システム |
EP3131032B1 (en) | 2014-04-09 | 2021-09-22 | ICTK Holdings Co., Ltd. | Authentication apparatus and method |
JP6318868B2 (ja) * | 2014-05-30 | 2018-05-09 | 凸版印刷株式会社 | 認証システム、及び携帯通信端末 |
JP2016046719A (ja) * | 2014-08-25 | 2016-04-04 | 株式会社東芝 | データ生成装置、通信装置、移動体、データ生成方法およびプログラム |
JP6441615B2 (ja) * | 2014-08-29 | 2018-12-19 | 株式会社東海理化電機製作所 | 電子キーシステム |
JP6240589B2 (ja) | 2014-10-31 | 2017-11-29 | 株式会社アドバンテスト | 認証システム、認証方法およびサービス提供システム |
CN105632543B (zh) * | 2014-11-21 | 2018-03-30 | 松下知识产权经营株式会社 | 具有防篡改性的非易失性存储装置及集成电路卡 |
JP2016111446A (ja) * | 2014-12-03 | 2016-06-20 | 株式会社メガチップス | メモリコントローラ、メモリコントローラの制御方法及びメモリシステム |
JP6429167B2 (ja) * | 2015-03-17 | 2018-11-28 | 渡辺 浩志 | 電子装置ネットワークにおける物理的チップ認証方式 |
DE102015208510A1 (de) * | 2015-05-07 | 2016-11-10 | Robert Bosch Gmbh | Verfahren zum Ausführen einer sicherheitskritischen Funktion einer Recheneinheit in einem cyber-physischen System |
US9875378B2 (en) * | 2015-06-12 | 2018-01-23 | QUALCOMOM Incorporated | Physically unclonable function assisted memory encryption device techniques |
CN106357597B (zh) * | 2015-07-24 | 2019-11-05 | 深圳中利汇信息技术有限公司 | 一种让是否通过审核真正安全的系统 |
US20170126414A1 (en) * | 2015-10-28 | 2017-05-04 | Texas Instruments Incorporated | Database-less authentication with physically unclonable functions |
JP6502832B2 (ja) * | 2015-11-13 | 2019-04-17 | 株式会社東芝 | 検査装置、通信システム、移動体および検査方法 |
EP3378054B1 (en) * | 2015-11-20 | 2021-03-17 | Intrinsic ID B.V. | Puf identifier assignment and testing method and device |
GB201522244D0 (en) * | 2015-12-16 | 2016-01-27 | Nagravision Sa | Hardware integrity check |
CA3011279A1 (en) * | 2016-01-11 | 2017-07-20 | Stc.Unm | A privacy-preserving, mutual puf-based authentication protocol |
JP6623473B2 (ja) * | 2016-01-22 | 2019-12-25 | 国立研究開発法人産業技術総合研究所 | 偽造防止回路 |
US10476680B2 (en) | 2016-02-03 | 2019-11-12 | Ememory Technology Inc. | Electronic device with self-protection and anti-cloning capabilities and related method |
US10122538B2 (en) * | 2016-10-12 | 2018-11-06 | Ememory Technology Inc. | Antifuse physically unclonable function unit and associated control method |
US10050796B2 (en) * | 2016-11-09 | 2018-08-14 | Arizona Board Of Regents On Behalf Of Northern Arizona University | Encoding ternary data for PUF environments |
US10148653B2 (en) * | 2016-12-14 | 2018-12-04 | The Boeing Company | Authenticating an aircraft data exchange using detected differences of onboard electronics |
US10944579B2 (en) * | 2017-05-26 | 2021-03-09 | Combined Conditional Access Development And Support, Llc | Device pairing and authentication |
US10505931B2 (en) * | 2017-06-02 | 2019-12-10 | Nxp B.V. | Method for authenticating an integrated circuit device |
US10437524B2 (en) | 2017-10-12 | 2019-10-08 | Nxp B.V. | PUF based boot-loading for data recovery on secure flash devices |
US10897364B2 (en) * | 2017-12-18 | 2021-01-19 | Intel Corporation | Physically unclonable function implemented with spin orbit coupling based magnetic memory |
JP2021040258A (ja) * | 2019-09-04 | 2021-03-11 | 株式会社日立製作所 | 無線システムおよび無線通信方法 |
US11743058B2 (en) * | 2020-03-05 | 2023-08-29 | International Business Machines Corporation | NVDIMM security with physically unclonable functions |
CN114710284B (zh) * | 2022-05-16 | 2022-08-16 | 北京智芯微电子科技有限公司 | 通信保密元件的版本更新方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038445A (ja) * | 2002-07-02 | 2004-02-05 | Nec Tokin Corp | Icカードおよびicカードの暗号方法 |
CN1714330A (zh) * | 2002-11-21 | 2005-12-28 | 皇家飞利浦电子股份有限公司 | 具有非易失存储器模块的电路装置以及对非易失存储器模块中的数据进行加密/解密的方法 |
CN101001143A (zh) * | 2006-01-12 | 2007-07-18 | 中兴通讯股份有限公司 | 一种终端设备对系统设备进行认证的方法 |
JP2008181225A (ja) * | 2007-01-23 | 2008-08-07 | Toshiba Corp | Icカード |
CN101340436A (zh) * | 2008-08-14 | 2009-01-07 | 普天信息技术研究院有限公司 | 基于便携式存储设备实现远程访问控制的方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0575598A (ja) * | 1991-09-18 | 1993-03-26 | Matsushita Electric Ind Co Ltd | 鍵データ共有装置 |
JPH11338982A (ja) * | 1998-05-25 | 1999-12-10 | Mitsubishi Electric Corp | Icメモリカードシステム装置及びそのicメモリカード |
US7840803B2 (en) * | 2002-04-16 | 2010-11-23 | Massachusetts Institute Of Technology | Authentication of integrated circuits |
JP3933003B2 (ja) * | 2002-07-30 | 2007-06-20 | 株式会社日立製作所 | Icカードおよび決済端末 |
KR20060113685A (ko) * | 2003-10-29 | 2006-11-02 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 물리적 랜덤 함수들을 함께 공유하는 신뢰성 있는 포워드비밀 키의 시스템 및 방법 |
US7564345B2 (en) * | 2004-11-12 | 2009-07-21 | Verayo, Inc. | Volatile device keys and applications thereof |
JP4586692B2 (ja) * | 2005-09-20 | 2010-11-24 | 沖電気工業株式会社 | 鍵共有システム,鍵共有装置,鍵共有方法 |
EP2016736A1 (en) * | 2006-04-11 | 2009-01-21 | Koninklijke Philips Electronics N.V. | Noisy low-power puf authentication without database |
JP2008058944A (ja) * | 2006-07-31 | 2008-03-13 | Hitachi Ltd | 暗号通信方法、受信者側装置、鍵管理センタ側装置及びプログラム |
US8290150B2 (en) * | 2007-05-11 | 2012-10-16 | Validity Sensors, Inc. | Method and system for electronically securing an electronic device using physically unclonable functions |
US20110002461A1 (en) * | 2007-05-11 | 2011-01-06 | Validity Sensors, Inc. | Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions |
-
2009
- 2009-03-25 JP JP2009073676A patent/JP5423088B2/ja not_active Expired - Fee Related
-
2010
- 2010-03-16 US US12/725,134 patent/US20100250936A1/en not_active Abandoned
- 2010-03-18 CN CN201010138379.4A patent/CN101847296B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004038445A (ja) * | 2002-07-02 | 2004-02-05 | Nec Tokin Corp | Icカードおよびicカードの暗号方法 |
CN1714330A (zh) * | 2002-11-21 | 2005-12-28 | 皇家飞利浦电子股份有限公司 | 具有非易失存储器模块的电路装置以及对非易失存储器模块中的数据进行加密/解密的方法 |
CN101001143A (zh) * | 2006-01-12 | 2007-07-18 | 中兴通讯股份有限公司 | 一种终端设备对系统设备进行认证的方法 |
JP2008181225A (ja) * | 2007-01-23 | 2008-08-07 | Toshiba Corp | Icカード |
CN101340436A (zh) * | 2008-08-14 | 2009-01-07 | 普天信息技术研究院有限公司 | 基于便携式存储设备实现远程访问控制的方法及装置 |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103583013B (zh) * | 2011-06-02 | 2016-04-13 | 三菱电机株式会社 | 密钥信息生成装置以及密钥信息生成方法 |
CN103583013A (zh) * | 2011-06-02 | 2014-02-12 | 三菱电机株式会社 | 密钥信息生成装置以及密钥信息生成方法 |
CN102710252B (zh) * | 2012-05-28 | 2014-07-30 | 宁波大学 | 一种高稳态多端口puf电路 |
CN102710252A (zh) * | 2012-05-28 | 2012-10-03 | 宁波大学 | 一种高稳态多端口puf电路 |
US10848328B2 (en) | 2012-08-21 | 2020-11-24 | Ictk Holdings Co., Ltd. | Apparatus and method for processing authentication information |
US11729005B2 (en) | 2012-08-21 | 2023-08-15 | Ictk Holdings Co., Ltd. | Apparatus and method for processing authentication information |
CN108667620A (zh) * | 2012-08-21 | 2018-10-16 | Ictk有限公司 | 处理认证信息的装置及方法 |
CN104584435A (zh) * | 2012-09-28 | 2015-04-29 | 英特尔公司 | 有可访问和不可访问的物理不可克隆功能的集成电路 |
CN104584435B (zh) * | 2012-09-28 | 2017-08-29 | 英特尔公司 | 有可访问和不可访问的物理不可克隆功能的集成电路 |
CN104281812A (zh) * | 2013-06-18 | 2015-01-14 | 马克西姆综合产品公司 | 使用独特识别元件的安全模块 |
CN105324777A (zh) * | 2013-07-04 | 2016-02-10 | 凸版印刷株式会社 | 装置及认证系统 |
US10931467B2 (en) | 2014-05-05 | 2021-02-23 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
US10771267B2 (en) | 2014-05-05 | 2020-09-08 | Analog Devices, Inc. | Authentication system and device including physical unclonable function and threshold cryptography |
CN105577384A (zh) * | 2014-10-30 | 2016-05-11 | 罗伯特·博世有限公司 | 用于保护网络的方法 |
CN105577384B (zh) * | 2014-10-30 | 2021-01-01 | 罗伯特·博世有限公司 | 用于保护网络的方法 |
CN107615285B (zh) * | 2015-03-05 | 2020-08-11 | 美国亚德诺半导体公司 | 包括物理不可克隆功能和阈值加密的认证系统和装置 |
CN107615285A (zh) * | 2015-03-05 | 2018-01-19 | 美国亚德诺半导体公司 | 包括物理不可克隆功能和阈值加密的认证系统和装置 |
CN107852323A (zh) * | 2015-07-31 | 2018-03-27 | 西尔维奥·米卡利 | 伪造品防止 |
CN108352984B (zh) * | 2015-11-05 | 2021-06-01 | 三菱电机株式会社 | 安全装置和安全方法 |
CN108352984A (zh) * | 2015-11-05 | 2018-07-31 | 三菱电机株式会社 | 安全装置和安全方法 |
US10841087B2 (en) | 2015-11-05 | 2020-11-17 | Mitsubishi Electric Corporation | Security device, system, and security method |
CN107844715A (zh) * | 2016-09-20 | 2018-03-27 | 华邦电子股份有限公司 | 半导体装置及安全系统 |
CN107222460B (zh) * | 2017-05-03 | 2019-10-08 | 飞天诚信科技股份有限公司 | 一种服务器数据存储空间共享的方法及装置 |
CN107222460A (zh) * | 2017-05-03 | 2017-09-29 | 飞天诚信科技股份有限公司 | 一种服务器数据存储空间共享的方法及装置 |
US10958452B2 (en) | 2017-06-06 | 2021-03-23 | Analog Devices, Inc. | System and device including reconfigurable physical unclonable functions and threshold cryptography |
CN109765856A (zh) * | 2017-11-09 | 2019-05-17 | 汉芝电子股份有限公司 | 安全逻辑系统及操作安全逻辑系统的方法 |
CN111756540A (zh) * | 2019-03-26 | 2020-10-09 | 北京普安信科技有限公司 | 一种传送密文的方法、终端、服务器及系统 |
CN113965595A (zh) * | 2020-07-02 | 2022-01-21 | 中国电信股份有限公司 | 物联网设备配置方法、服务器、设备、系统和存储介质 |
CN112286463A (zh) * | 2020-10-30 | 2021-01-29 | 南方电网科学研究院有限责任公司 | 一种数据处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5423088B2 (ja) | 2014-02-19 |
JP2010226603A (ja) | 2010-10-07 |
CN101847296B (zh) | 2013-07-10 |
US20100250936A1 (en) | 2010-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101847296B (zh) | 集成电路、加密通信装置、系统和方法以及信息处理方法 | |
US9740849B2 (en) | Registration and authentication of computing devices using a digital skeleton key | |
Van Herrewege et al. | Reverse fuzzy extractors: Enabling lightweight mutual authentication for PUF-enabled RFIDs | |
US8868923B1 (en) | Multi-factor authentication | |
US7839278B2 (en) | Volatile device keys and applications thereof | |
CN101488856B (zh) | 用于数字签名以及认证的系统及方法 | |
JP4866863B2 (ja) | セキュリティコード生成方法及びユーザ装置 | |
JPWO2018147456A1 (ja) | 認証ネットワーク | |
US20050044385A1 (en) | Systems and methods for secure authentication of electronic transactions | |
Liu et al. | A secure data backup scheme using multi‐factor authentication | |
US11424919B2 (en) | Protecting usage of key store content | |
US20170032360A9 (en) | Systems and methods for enrolling a token in an online authentication program | |
Moriyama et al. | PUF-based RFID authentication secure and private under memory leakage | |
US20100241865A1 (en) | One-Time Password System Capable of Defending Against Phishing Attacks | |
Liou et al. | A sophisticated RFID application on multi-factor authentication | |
CN110493006B (zh) | 基于非对称密钥池和序列号的抗量子计算二维码认证方法及系统 | |
Daza et al. | FRoDO: Fraud resilient device for off-line micro-payments | |
Plusquellic et al. | Privacy-preserving authentication protocols for iot devices using the sirf puf | |
Liang et al. | A novel lightweight PUF-based RFID mutual authentication protocol | |
Amar et al. | Comment on``SRAM-PUF Based Entities Authentication Scheme for Resource-constrained IoT Devices'' | |
US20200272724A1 (en) | Authentification method | |
Bean et al. | PUF-Based Digital Money with Propagation-of-Provenance and Offline Transfers Between Two Parties | |
Maes et al. | Process variations for security: Pufs | |
CA3239475A1 (en) | Key recovery based on contactless card authentication | |
AU2003270036A1 (en) | Systems and methods for secure authentication of electronic transactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130710 Termination date: 20150318 |
|
EXPY | Termination of patent right or utility model |