CN114902606A - 信息处理装置、信息处理方法、程序和信息处理系统 - Google Patents
信息处理装置、信息处理方法、程序和信息处理系统 Download PDFInfo
- Publication number
- CN114902606A CN114902606A CN202080091572.9A CN202080091572A CN114902606A CN 114902606 A CN114902606 A CN 114902606A CN 202080091572 A CN202080091572 A CN 202080091572A CN 114902606 A CN114902606 A CN 114902606A
- Authority
- CN
- China
- Prior art keywords
- random number
- information processing
- processing apparatus
- key
- time
- 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
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3236—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 cryptographic hash functions
- H04L9/3242—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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Power Engineering (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
- Lock And Its Accessories (AREA)
Abstract
本技术涉及能够提高时变密钥的安全性的信息处理装置、信息处理方法、程序和信息处理系统。本技术的一个方面的信息处理装置接收从另一信息处理装置发送的第一随机数和第二随机数、生成第三随机数、通过将第二随机数和第三随机数应用于第一固定密钥生成第一时变密钥、通过使用第一时变密钥对第一随机数进行编码,并将经编码的第一随机数和第三随机数发送到所述另一信息处理装置。本技术可以应用于安装有进行非接触通信的IC芯片的IC卡。
Description
技术领域
本技术特别地涉及使得能够提高时变密钥的安全性的信息处理装置、信息处理方法、程序和信息处理系统。
背景技术
近年来,例如通常在商店、车站的检票口等处进行使用安装有FeliCa(注册商标)的IC芯片的IC卡的支付。用户通过将其自己的IC卡保持到R/W(读取器/写入器)装置进行支付。
当IC卡被保持到R/W装置时,在IC卡和R/W装置之间执行用于防止IC卡的未经授权使用的认证处理。在认证处理中,通过使用IC卡和R/W装置预先具有的密钥执行认证。
PTL 1公开了一种通过使用在IC卡中生成的随机数来生成时变密钥,以防止设置在IC卡中的密钥被DFA攻击分析的技术。
DFA(差分故障分析)攻击是一种在加密处理时故意造成故障,从而根据正确的密文和有错误的密文之间的差异来指定用于加密的密钥的技术。
[引文列表]
[专利文献]
[PTL 1]
日本专利特许公开No.2010-45761
发明内容
[技术问题]
在仅使用IC卡中生成的随机数来生成时变密钥的情况下,随机性可能由于随机数生成器的故障或者由于随机数在通信信道中被改变而降低。在随机性降低并且用于生成时变密钥的随机数已变为固定值的情况下,存在DFA攻击将成功的风险。
本技术是鉴于这样的情况而做出的,其目的是使得能够提高时变密钥的安全性。
[问题的解决方案]
根据本技术的第一方面的信息处理装置包括:接收单元,被配置为接收从另一信息处理装置发送的第一随机数和第二随机数;随机数生成单元,被配置为生成第三随机数;时变密钥生成单元,被配置为通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥;加密单元,被配置为通过使用第一时变密钥对第一随机数进行加密;以及发送单元,被配置为将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
根据本技术的第二方面的信息处理装置包括:随机数生成单元,被配置为生成第一随机数和第二随机数;发送单元,被配置为将第一随机数和第二随机数发送到另一信息处理装置;接收单元,被配置为从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数;时变密钥生成单元,被配置为通过使第三随机数和由随机数生成单元生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥;以及认证单元,被配置为通过使用第二时变密钥对加密的第一随机数进行解密,并基于通过解密获得的第一随机数和由随机数生成单元生成的第一随机数来执行认证处理。
在本技术的第一方面中,接收从另一信息处理装置发送的第一随机数和第二随机数、生成第三随机数、通过使第二随机数和第三随机数作用于第一固定密钥生成第一时变密钥、通过使用第一时变密钥对第一随机数进行加密,以及将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
在本技术的第二方面中,生成第一随机数和第二随机数、将第一随机数和第二随机数发送到另一信息处理装置,并且从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数。此外,通过使第三随机数和生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥,通过使用第二时变密钥对加密的第一随机数进行解密,并基于通过解密获得的第一随机数和生成的第一随机数执行认证处理。
附图说明
图1是图示根据本技术的实施例的信息处理系统的构造的示例的视图。
图2是图示认证序列的视图。
图3是图示不当行为示例的视图。
图4是图示根据本技术的实施例的认证序列的示例的视图。
图5是图示另一不当行为示例的视图。
图6是用于描述关于由图4中的认证序列实现的效果的视图。
图7是图示执行MAC单向认证情况下的序列的视图。
图8是图示执行MAC相互认证情况下的序列的视图。
图9是图示从图8继续的序列的视图。
图10是图示执行MAC相互认证和数据读写情况下的序列的视图。
图11是图示从图10继续的序列的视图。
图12是图示执行MAC相互认证和加密数据读写情况下的序列的视图。
图13是图示从图12继续的序列的视图。
图14是图示IC卡的构造的示例的框图。
图15是图示R/W装置的构造的示例的框图。
图16是图示计算机的构造的示例的框图。
具体实施方式
下面给出关于用于实现本技术的各个方面的描述。按以下顺序给出描述。
1.信息处理系统的构造
2.认证序列
3.应用示例
4.装置构造
5.修改
<信息处理系统的构造>
图1是图示根据本技术的实施例的信息处理系统的构造的示例的视图。
如图1中所示,根据本技术的实施例的信息处理系统包括R/W装置1和IC卡2。R/W装置1适当地连接到未图示的计算机。
IC卡2例如是安装有FeliCa(注册商标)的非接触型IC芯片的卡。当IC卡2被保持到R/W装置1时,在R/W装置1和IC卡2之间进行非接触式近距离通信,并且在IC卡2中根据从R/W装置1发送的命令执行各种类型的处理。
例如,在发送读取(Read)命令的情况下,读出IC卡2的IC芯片中存储的信息,并且将读出的信息作为响应发送到R/W装置1。此外,在发送写入(Write)命令的情况下,更新IC卡2的IC芯片中存储的信息,并将表示更新成功的信息作为响应发送到R/W装置1。
下面给出关于在R/W装置1和IC卡2之间执行的认证处理的描述。在认证处理的描述中,适当地使用以下术语。
IDm
:制造ID。IC卡2中每个IC芯片的唯一ID
Ra,Rb,Rc,Rd
:随机数
密文=ENCK(明文)
:使用密钥K对明文执行密码运算(加密),从而获得密文
明文=DECK(密文)
:使用密钥K对密文执行密码运算(解密),从而获得明文
消息=MACK(明文)
:使用密钥K对明文执行密码运算(MAC),从而获得MAC(消息认证代码)
K'=KDFK(a,b)
:参数a和b以及密钥派生函数(KDF)用于从密钥K获得派生密钥K'
?A==B
:比较A和B,从而获得认证结果
A||B
:通过联合A和B获得的值
<认证序列>
·认证序列
图2是图示认证序列的视图。例如,在PTL 1中描述了与基于图2中所示的序列的认证处理类似的处理。
在步骤S1中,R/W装置1生成随机数Ra。用于生成随机数Ra的随机数生成器设在R/W装置1中。
在步骤S2中,R/W装置1将随机数Ra发送到IC卡2。
在步骤S11中,IC卡2接收从R/W装置1发送的随机数Ra。
在步骤S12中,IC卡2生成随机数Rc。在IC卡2中设有用于生成随机数Rc的随机数生成器。
在步骤S13,IC卡2使用随机数Rc和函数KDF基于密钥AK生成密钥Kenc。密钥Kenc由以下公式(1)表示。密钥Kenc的生成是使密钥AK作用于随机数Rc的处理。注意的是,密钥AK是由R/W装置1和IC卡2两者预先保持的共享固定密钥(预先共享密钥)。
[数学公式1]
Kenc=KDFAK(Rc)…(1)
如对话气球#1中所示,因为使用了新生成的随机数Rc,因此使用随机数Rc生成的密钥Kenc是时变密钥。
在步骤S14中,IC卡2使用密钥Kenc对从R/W装置1发送的随机数Ra执行密码运算,以生成消息M1。消息M1由以下公式(2)表示。使用密钥Kenc在IC卡2中执行的密码运算是加密处理。
[数学公式2]
因为用于生成消息M1的密钥是时变密钥,因此进入不可能使用消息M1进行DFA攻击的状态,如对话气球#2中所示。
在步骤S15中,IC卡2联合并发送消息M1和随机数Rc。
在步骤S3中,R/W装置1接收从IC卡2发送的消息M1和随机数Rc。
在步骤S4中,R/W装置1从接收到的信息中提取随机数Rc。
在步骤S5中,R/W装置1使密钥AK作用于随机数Rc,从而生成密钥Kenc。密钥Kenc由以下公式(3)表示。
[数学公式3]
Kenc=KDFAK(Rc)…(3)
在步骤S6中,R/W装置1使用密钥Kenc对消息M1执行密码运算,以获得随机数Ra'。随机数Ra'由以下公式(4)表示。使用密钥Kenc在R/W装置1中执行的密码运算是解密处理。
[数学公式4]
在步骤S7中,R/W装置1通过将在步骤S1中生成的随机数Ra与通过在步骤S6中对消息M1解密而获得的随机数Ra'进行比较来执行认证。
在随机数Ra和随机数Ra'匹配的情况下,作为认证成功执行后续处理。然而,在两者不匹配的情况下,作为认证失败执行后续处理。
图3是图示不当行为示例的视图。
如图3中的对话气球#11中所示,随机数Rc可能由于对设在IC卡2上并用于生成随机数Rc的随机数生成器的攻击,或者由于随机数生成器的故障而变为固定值。注意的是,图3中所示的序列与图2中所示的序列相同。
在这种情况下,因为生成是基于固定值执行的,因此在IC卡2中生成的密钥Kenc不会变成如对话气球#12中所示的时变密钥。换句话说,进入可能使用消息M1进行DFA攻击的状态。
·根据本技术的实施例的认证序列
图4是图示根据本技术的实施例的认证序列的示例的视图。适当地省略与上面给出的描述重复的描述。
在图4中所示的认证序列中,随机数Rd以及随机数Rc用于生成密钥Kenc。因此,密钥Kenc作为时变密钥的属性得以维持。
在步骤S31中,R/W装置1生成随机数Ra和随机数Rd。R/W装置1设有用于生成随机数Ra的随机数生成器和用于生成随机数Rd的随机数生成器。
在步骤S32中,R/W装置1将随机数Ra和随机数Rd联合并发送到IC卡2。
在步骤S41中,IC卡2接收从R/W装置1发送的随机数Ra和随机数Rd。
在步骤S42中,IC卡2生成随机数Rc。
在步骤S43中,IC卡2通过使密钥AK作用于在步骤S42中生成的随机数Rc和从R/W装置1发送的随机数Rd来生成密钥Kenc。密钥Kenc由以下公式(5)表示。
[数学公式5]
Kenc=KDFAK(Rc,RD)…(5)
在步骤S44中,IC卡2使用密钥Kenc对从R/W装置1发送的随机数Ra进行加密,以生成消息M1。
以这种方式,通过使用由IC卡2自身生成的随机数Rc和由R/W装置1生成的随机数Rd的组合在IC卡2中执行密钥Kenc的生成。
因此,即使在随机数Rc由于例如如对话气球#21中所示的对随机数生成器的攻击而变为固定值的情况下,随机数Rd仍为随机数,如对话气球#22所示。使用随机数Rd生成的密钥Kenc成为时变密钥。
此外,因为用于生成消息M1的密钥是时变密钥,因此进入不可能使用消息M1进行DFA攻击的状态,如对话气球#23中所示。
在步骤S45,IC卡2联合并发送消息M1和随机数Rc。
在步骤S33,R/W装置1接收从IC卡2发送的消息M1和随机数Rc。
在步骤S34中,R/W装置1从接收到的信息中提取随机数Rc。
在步骤S35中,R/W装置1通过使密钥AK作用于在步骤S34中提取的随机数Rc和在步骤S31中生成的随机数Rd来生成密钥Kenc。密钥Kenc由上述公式(5)表示。
在R/W装置1中,通过使用由IC卡2生成的随机数Rc和由R/W装置1自身生成的随机数Rd的组合来执行密钥Kenc的生成。
在步骤S36中,R/W装置1使用密钥Kenc对消息M1执行密码运算以解密随机数Ra'。
在步骤S37中,R/W装置1通过将在步骤S31中生成的随机数Ra与在步骤S36中通过解密消息M1获得的随机数Ra'进行比较来执行认证。
在随机数Ra和随机数Ra'匹配的情况下,作为认证成功执行后续处理。然而,在两者不匹配的情况下,作为认证失败执行后续处理。
以这种方式,在R/W装置1和IC卡2之间,通过使用由两者分别生成的随机数生成密钥Kenc。
因此,即使随机数Rc由于例如对IC卡2中的随机数生成器的攻击而变为固定值,也可以防止用于生成密钥Kenc的随机数的随机性的降低。因为密钥Kenc的生成是基于随机数执行的,因此,可以提高作为时变密钥的密钥Kenc的安全性。
·根据本技术的实施例的认证序列的效果
图5是图示另一不当行为示例的视图。
如图5中的对话气球#31所示,由IC卡2生成的随机数Rc可能在通信信道上改变为固定值。图5中所示的序列与图2中所示的序列相同。
在这种情况下,因为生成是基于固定值执行的,因此在R/W装置1中生成的密钥Kenc不会变成时变密钥,如对话气球#32所示。换句话说,进入可能使用消息M1进行DFA攻击的状态,如对话气球#33所示。
图6是用于描述关于由图4中的认证序列实现的效果的视图。
图6中所示的序列与参考图4描述的序列相同。即使在由IC卡2生成的随机数Rc在通信信道中改变为固定值的情况下,如图6中的对话气球#41所示,随机数Rd仍为随机数,如对话气球#42所示。使用随机数Rd生成的密钥Kenc成为时变密钥。
此外,因为用于解密消息M1的密钥是时变密钥,因此进入不可能使用消息M1进行DFA攻击的状态,如对话气球#43中所示。
以这种方式,即使在由IC卡2生成的随机数Rc在通信信道中改变为固定值的情况下,也可以提高作为时变密钥的密钥Kenc的安全性。
<应用示例>
给出关于使用基于随机数Rc和Rd生成的密钥Kenc的认证序列的应用示例的描述。
·应用示例1(MAC单向认证)
图7是图示执行MAC单向认证情况下的序列的视图。
在MAC认证中,使用作为IC卡2中的IC芯片的标识信息的IDm生成MAC。此外,使用MAC,核实是否已执行未经授权的更改等。对于图7,适当地省略与上面给出的描述重复的描述。
在步骤S101中,R/W装置1生成随机数Ra和随机数Rd。
在步骤S102中,R/W装置1在联合随机数Ra和随机数Rd之后将内部认证命令以及随机数Ra和随机数Rd发送到IC卡2。
在步骤S111中,IC卡2接收从R/W装置1发送的内部认证命令、随机数Ra和随机数Rd。
在步骤S112中,IC卡2生成随机数Rc。
在步骤S113中,IC卡2通过使密钥AK作用于在步骤S112中生成的随机数Rc和从R/W装置1发送的随机数Rd来生成密钥(MAC密钥)Kmac。密钥Kmac由以下公式(6)表示。
[数学公式6]
Kmax=KDFAK(Rc,Rd)…(6)
以这种方式,通过使用由IC卡2自身生成的随机数Rc和由R/W装置1生成的随机数Rd的组合在IC卡2中执行密钥Kmac的生成。
在步骤S114中,IC卡2通过使用密钥Kmac对通过将从R/W装置1发送的随机数Ra与IC卡2的IDm联合而得到的数据执行密码计算来生成MAC。MAC由以下公式(7)表示。
[数学公式7]
MAC=MACKmac(Ra||IDm)…(7)
在步骤S115中,IC卡2在联合IDm、随机数Rc和MAC之后发送内部认证响应以及IDm、随机数Rc和MAC。
在步骤S103中,R/W装置1接收从IC卡2发送的IDm、随机数Rc以及MAC。
在步骤S104中,R/W装置1从接收到的信息中提取随机数Rc。
在步骤S105中,R/W装置1通过使密钥AK作用于在步骤S104中提取的随机数Rc和在步骤S101中生成的随机数Rd来生成密钥Kmac。密钥Kmac由以上公式(6)表示。
在R/W装置1中,通过使用由IC卡2生成的随机数Rc和由R/W装置1自身生成的随机数Rd的组合来执行密钥Kmac的生成。
在步骤S106中,R/W装置1通过使用密钥Kmac对通过将从IC卡2发送的随机数Ra与IDm联合得到的数据执行密码计算来生成MAC'。MAC'由以下公式(8)表示。
[数学公式8]
MAC’=MACKmac(Ra||IDm)…(8)在步骤S107中,R/W装置1通过将在步骤S103中接收到的MAC与在步骤S106中生成的MAC'进行比较来执行认证。
在MAC和MAC'匹配的情况下,作为认证成功执行后续处理。然而,在两者不匹配的情况下,作为认证失败执行后续处理。
通过以上述方式执行MAC单向认证,即使在随机数Rc由于例如对IC卡2中的随机数生成器的攻击而变为固定值的情况下,也可以提高作为时变密钥的密钥Kmac的安全性。
·应用示例2(MAC相互认证)
图8和图9是图示在执行MAC相互认证的情况下的序列的视图。对于图8和图9,适当地省略与上面给出的描述重复的描述。
在步骤S131中,R/W装置1生成随机数Ra和随机数Rd。
在步骤S132中,R/W装置1在联合随机数Ra和随机数Rd之后,将相互认证1命令以及随机数Ra和随机数Rd发送到IC卡2。
在步骤S151中,IC卡2接收从R/W装置1发送的相互认证1命令、随机数Ra和随机数Rd。
在步骤S152中,IC卡2生成随机数Rb和随机数Rc。
在步骤S153中,IC卡2通过使密钥AK作用于在步骤S152中生成的随机数Rc和从R/W装置1发送的随机数Rd来生成密钥Kmac。密钥Kmac由以上公式(6)表示。
在步骤S154中,IC卡2通过使用密钥Kmac对通过联合随机数Rb、从R/W装置1发送的随机数Ra和IDm得到的数据执行密码计算来生成MAC。MAC由以下公式(9)表示。
[数学公式9]
MAC=MACKmac(Rb|Ra||IDm)…(9)
在步骤S155中,IC卡2在联合随机数Rb、随机数Rc、IDm和MAC之后,发送相互认证1响应以及随机数Rb、随机数Rc、IDm和MAC。
在步骤S133中,R/W装置1接收从IC卡2发送的随机数Rb、随机数Rc、IDm和MAC。
在步骤S134中,R/W装置1从接收到的信息中提取随机数Rc。
在步骤S135中,R/W装置1通过使密钥AK作用于在步骤S104中提取的随机数Rc和在步骤S131中生成的随机数Rd来生成密钥Kmac。密钥Kmac由以上公式(6)表示。
在步骤S136中,R/W装置1通过使用密钥Kmac对通过联合随机数Rb、随机数Ra和IDm得到的数据执行密码处理来生成MAC'。MAC'由以下公式(10)表示。
[数学公式10]
MAC’=MACKmac(Rb|Ra||IDm)…(10)
在步骤S137中,R/W装置1通过将在步骤S133中接收到的MAC与在步骤S136中生成的MAC'进行比较来执行认证。
在MAC和MAC'匹配的情况下,在步骤S138(图9)中,R/W装置1通过使用密钥Kmac对通过联合在步骤S131中生成的随机数Ra和从IC卡2发送的随机数Rb得到的数据执行密码运算来生成MAC″。MAC″由以下公式(11)表示。
[数学公式11]
MAC″=MACKmac(Ra||Rb)…(11)
在步骤S139中,R/W装置1向IC卡2发送相互认证2命令以及在步骤S138中生成的MAC″。
在步骤S156中,IC卡2接收从R/W装置1发送的相互认证2命令和MAC″。
在步骤S157中,IC卡2通过使用密钥Kmac对通过联合从R/W装置1发送的随机数Ra和在步骤S152中生成的随机数Rb得到的数据执行密码运算来生成MAC″′。MAC″′由以下公式(12)表示。
[数学公式12]
MAC″’=MACKmac(Ra|Rb)…(12)
在步骤S158中,IC卡2通过将在步骤S156中接收到的MAC″与在步骤S157中生成的MAC″′进行比较来执行认证。
在步骤S159中,IC卡2发送MAC″和MAC″′的认证结果。
在步骤S140,R/W装置1接收从IC卡2发送的认证结果。
通过上述处理,可以实现DFA攻击更难的MAC相互认证。
·应用示例3(MAC相互认证与数据读写的组合)
图10和图11是图示在执行MAC相互认证和数据读写的情况下的序列的视图。
通过图10和图11中的处理,IC卡2中存储的数据的读写与MAC相互认证一起执行。对于图10和图11,适当地省略与上面给出的描述重复的描述。
在步骤S171中,R/W装置1生成随机数Ra和随机数Rd。
在步骤S172中,R/W装置1在联合随机数Ra和随机数Rd之后,将相互认证1和读取命令以及随机数Ra和随机数Rd发送到IC卡2。
在步骤S191中,IC卡2接收从R/W装置1发送的相互认证1和读取命令、随机数Ra以及随机数Rd。
在步骤S192中,IC卡2生成随机数Rb和随机数Rc。
在步骤S193中,IC卡2通过使密钥AK作用于在步骤S192中生成的随机数Rc和从R/W装置1发送的随机数Rd来生成密钥Kmac。密钥Kmac由以上公式(6)表示。
在步骤S194中,IC卡2读出存储在IC芯片的存储器中的Data1。
在步骤S195中,IC卡2通过使用密钥Kmac对通过联合在步骤S192中生成的随机数Rb、从R/W装置1发送的随机数Ra和在步骤S194中读出的Data1得到的数据执行密码运算来生成MAC。MAC由以下公式(13)表示。
[数学公式13]
MAC=MACKmac(Rb|Ra||Data1)…(13)
在步骤S196中,IC卡2联合并发送随机数Rb、随机数Rc、Data1和MAC作为相互认证2和读取响应。
在步骤S173中,R/W装置1接收从IC卡2发送的随机数Rb、随机数Rc、Data1和MAC。
在步骤S174中,R/W装置1从接收到的信息中提取随机数Rc。
在步骤S175中,R/W装置1通过使密钥AK作用于在步骤S174中提取的随机数Rc和在步骤S171中生成的随机数Rd来生成密钥Kmac。密钥Kmac由以上公式(6)表示。
在步骤S176中,R/W装置1通过使用密钥Kmac对通过联合随机数Rb、随机数Ra和Data1得到的数据执行密码运算来生成MAC'。MAC'由以下公式(14)表示。
[数学公式14]
MAC’=MACKmac(Rb|Ra||Data1)…(14)
在步骤S177中,R/W装置1通过将在步骤S173中接收到的MAC与在步骤S176中生成的MAC'进行比较来执行认证。
在MAC和MAC'匹配的情况下,在步骤S178(图11)中,R/W装置1通过使用密钥Kmac对通过联合随机数Ra、随机数Rb和Data2得到的数据执行密码运算来生成MAC″。MAC″由以下公式(15)表示。
[数学公式15]
MAC″=MACKmac(Ra|Rb||Data2)…(15)
在步骤S179中,R/W装置1向IC卡2发送相互认证2和写入命令以及Data2和MAC″。Data2是要使其被新存储在IC芯片的存储器中的数据。
在步骤S197中,IC卡2接收从R/W装置1发送的相互认证2和写入命令、Data2和MAC″。
在步骤S198中,IC卡2通过使用密钥Kmac对通过联合随机数Ra、随机数Rb和Data2得到的数据执行密码运算来生成MAC″′。MAC″′由以下公式(16)表示。
[数学公式16]
MAC″’=MACKmac(Ra|Rb||Data2)…(16)
在步骤S199中,IC卡2通过将在步骤S197中接收到的MAC″与在步骤S198中生成的MAC″′进行比较来执行认证。
在步骤S200中,IC卡2在MAC″和MAC″′匹配并且认证成功的情况下写入Data2。
在步骤S201中,IC卡2发送认证结果和写入结果作为相互认证2和写入响应。
在步骤S180中,R/W装置1接收从IC卡2发送的认证结果和写入结果。
·应用示例4(加密MAC相互认证和加密数据读写的组合)
图12和图13是图示执行MAC相互认证和加密数据读写情况下的序列的视图。
图12和图13中的处理与图10和图11中的处理的不同之处在于从IC卡2读出的数据的发送和接收以及写入IC卡2的数据的发送和接收是以加密状态执行的。对于图12和图13,适当地省略与上面给出的描述重复的描述。
在步骤S221中,R/W装置1生成随机数Ra和随机数Rd。
在步骤S222中,R/W装置1在联合随机数Ra和随机数Rd之后,将相互认证1和读取命令以及随机数Ra和随机数Rd发送到IC卡2。
在步骤S251中,IC卡2接收从R/W装置1发送的相互认证1和读取命令、随机数Ra和随机数Rd。
在步骤S252中,IC卡2生成随机数Rb和随机数Rc。
在步骤S253中,IC卡2通过使密钥AK作用于在步骤S252中生成的随机数Rc和从R/W装置1发送的随机数Rd来生成密钥Kenc和密钥Kmac。密钥Kenc和密钥Kmac由以下公式(17)表示。
[数学公式17]
Kenc,Kmax=KDFAK(Rc||Rd)…(17)
在步骤S254中,IC卡2读出存储在IC芯片的存储器中的Data1。
在步骤S255中,IC卡2通过使用密钥Kenc对通过联合在步骤S252中生成的随机数Rb、从R/W装置1发送的随机数Ra和在步骤S254中读出的Data1得到的数据执行密码运算来生成密文C1。密文C1由以下公式(18)表示。
[数学公式18]
C1=ENCKenc(Rb||Ra||Data1)…(18)
在步骤S256中,IC卡2通过使用密钥Kmac对在步骤S255中生成的密文C1执行密码运算来生成MAC。MAC由以下公式(19)表示。
[数学公式19]
MAC=MACKmac(C1)…(19)
在步骤S257中,IC卡2联合并发送随机数Rc、密文C1和MAC作为相互认证2和读取响应。
在步骤S223中,R/W装置1接收从IC卡2发送的随机数Rc、密文C1以及MAC。
在步骤S224中,R/W装置1从接收到的信息中提取随机数Rc。
在步骤S225中,R/W装置1通过使密钥AK作用于在步骤S224中提取的随机数Rc和在步骤S221中生成的随机数Rd,生成密钥Kenc和密钥Kmac。密钥Kenc和密钥Kmac由以上公式(17)表示。
在步骤S226中,R/W装置1通过使用密钥Kmac对从IC卡2发送的密文C1执行密码运算来生成MAC'。MAC'由以下公式(20)表示。
[数学公式20]
MAC’=MACKmac(C1)…(20)
在步骤S227中,R/W装置1通过将在步骤S223中接收到的MAC与在步骤S226中生成的MAC'进行比较来执行认证。
在MAC和MAC'匹配的情况下,在步骤S228(图13)中,R/W装置1使用密钥Kenc对从IC卡2发送的密文C1执行密码运算,从而解密随机数Rb'、随机数Ra'和Data1。解密后的随机数Rb'、随机数Ra'和Data1由以下公式(21)表示。
[数学公式21]
Rb’||Ra’||Data1=DECKenc(C1)…(21)在步骤S229中,R/W装置1将在步骤S221中生成的随机数Ra与在步骤S228中通过解密获得的随机数Ra'进行比较。
在随机数Ra和随机数Ra'匹配的情况下,在步骤S230中,R/W装置1通过使用密钥Kenc对通过联合随机数Ra'、随机数Rb'和Data2得到的数据执行密码运算来生成密文C2。密文C2由以下公式(22)表示。
[数学公式22]
C2=ENCKenc(Ra’||Rb’||Data2)…(22)
在步骤S231中,R/W装置1通过使用密钥Kmac对在步骤S230中生成的密文C2执行密码运算来生成MAC″。MAC″由以下公式(23)表示。
[数学公式23]
MAC″=MACKmac(C2)…(23)
在步骤S232中,R/W装置1向IC卡2发送相互认证2和写入命令以及密文C2和MAC″。
在步骤S258中,IC卡2接收从R/W装置1发送的相互认证2和写入命令、密文C2和MAC″。
在步骤S259中,IC卡2通过使用密钥Kmac对在步骤S258中接收到的密文C2执行密码运算来生成MAC″′。MAC″′由以下公式(24)表示。
[数学公式24]
MAC″’=MACKmac(C2)…(24)
在步骤S260中,IC卡2通过将在步骤S258中接收到的MAC″与在步骤S259中生成的MAC″′进行比较来执行认证。
在MAC″和MAC″′匹配的情况下,在步骤S261中,IC卡2使用密钥Kenc对从R/W装置1发送的密文C2执行密码运算,从而解密随机数Ra″、随机数Rb″和Data2。解密后的随机数Ra″、随机数Rb″和Data2由以下公式(25)表示。
[数学公式25]
Ra″||Rb″||Data2=DECKenc(C2)…(25)
在步骤S262中,IC卡2将在步骤S251中接收到的随机数Ra与在步骤S261中解密获得的随机数Ra″进行比较。
在随机数Ra和随机数Ra″匹配的情况下,在步骤S263中,IC卡2将在步骤S252中生成的随机数Rb与在步骤S261中通过解密获得的随机数Rb″进行比较。
在随机数Rb和随机数Rb″匹配的情况下,在步骤S264中,IC卡2写入Data2。
在步骤S265中,IC卡2发送认证结果和写入结果作为相互认证2和写入响应。
在步骤S233中,R/W装置1接收从IC卡2发送的认证结果和写入结果。
<装置构造>
这里给出关于R/W装置1和IC卡2的构造的描述。
·IC卡2的构造
图14是图示IC卡2的构造的示例的框图。
IC卡2包括天线单元101、接收单元102、解密单元103、认证单元104、加密单元105、发送单元106、随机数生成单元107、密钥生成单元108和存储单元109。
在IC卡2用作信息处理装置的情况下,天线单元101向和从用作另一信息处理装置的R/W装置1中的天线单元151(图15)发送和接收电磁波。
接收单元102经由天线单元101接收和解调从R/W装置1发送的信号。
解密单元103对由接收单元102接收到的加密信息进行解密。
例如,认证单元104基于从解密单元103提供的信息,执行R/W装置1认证处理。基于通过使用时变密钥加密而生成的消息M1执行的认证处理由认证单元104控制。此外,基于作为通过使用时变密钥对包括IDm的数据进行加密而生成的消息的MAC执行的认证处理由认证单元104控制。
此外,在认证处理成功的情况下,认证单元104读出存储在存储单元109中的数据或者将数据写入到存储单元109。
加密单元105对要发送到R/W装置1的信息执行密码运算。数据的加密通过由加密单元105的密码运算来执行。
发送单元106例如对从加密单元105提供的信息进行调制,并使调制后的信息通过被输出到天线单元101来被发送到R/W装置1。
随机数生成单元107生成随机数。随机数生成单元107用作上述随机数生成器。由随机数生成单元107生成的随机数不一定是数学意义上的随机数,并且可以是伪随机数,或者是由计数器生成的计数值。
密钥生成单元108例如基于从随机数生成单元107提供的信息生成时变密钥,并将时变密钥提供给解密单元103和加密单元105。时变密钥是每次生成时改变的密钥。
存储单元109包括IC芯片中的存储器。存储单元109存储各种类型的信息,诸如要在IC芯片中执行的程序、IDm或与电子货币相关的信息。
除了解密单元103之外,来自接收单元102的输出还被提供给例如认证单元104、加密单元105和密钥生成单元108。除了加密单元105之外,来自认证单元104的输出还被提供给例如发送单元106。除了密钥生成单元108之外,来自随机数生成单元107的输出还被提供给例如解密单元103、认证单元104、加密单元105和发送单元106。除了解密单元103和加密单元105之外,来自密钥生成单元108的输出还被提供给认证单元104。
例如,在图4中的认证序列中包括的步骤中的处理中,步骤S41中的处理由接收单元102执行。步骤S42中的处理由随机数生成单元107执行,并且步骤S43中的处理由密钥生成单元108执行。步骤S44中的处理由加密单元105执行,并且步骤S45中的处理由发送单元106执行。
此外,在图7中的认证序列中包括的步骤中的处理中,步骤S111中的处理由接收单元102执行。步骤S112中的处理由随机数生成单元107执行,并且步骤S113中的处理由密钥生成单元108执行。步骤S114中的处理由加密单元105执行,并且步骤S115中的处理由发送单元106执行。
此外,在图8和图9中的认证序列中包括的步骤中的处理中,步骤S151和步骤S156中的处理由接收单元102执行。步骤S152中的处理由随机数生成单元107执行,并且步骤S153中的处理由密钥生成单元108执行。步骤S154和步骤S157中的处理由加密单元105执行,并且步骤S155和步骤S159中的处理由发送单元106执行。步骤S158中的处理由认证单元104执行。
图10及后续各图中的认证序列中包括的IC卡2的每个步骤中的处理类似地由IC卡2中的对应单元执行。
·R/W装置1的构造
图15是图示R/W装置1的构造的示例的框图。
R/W装置1包括天线单元151、接收单元152、解密单元153、认证单元154、加密单元155、发送单元156、随机数生成单元157、密钥生成单元158、存储单元159和接口160。R/W装置1具有类似于IC卡2的构造的构造。适当地省略重复的描述。
在R/W装置1用作信息处理装置的情况下,天线单元151向和从用作另一信息处理装置的IC卡2中的天线单元101发送和接收电磁波。
接收单元152经由天线单元151接收并解调从IC卡2发送的信号。
解密单元153对由接收单元152接收到的加密信息进行解密。
例如,认证单元154基于从解密单元153提供的信息,执行IC卡2的认证处理。基于使用时变密钥加密生成的消息M1执行的认证处理由认证单元154控制。此外,基于作为通过使用时变密钥对包括IDm的数据进行加密而生成的消息的MAC执行的认证处理由认证单元154控制。
加密单元155对要被发送到IC卡2的信息执行密码运算。数据的加密通过由加密单元155的密码运算来执行。
发送单元156例如对从加密单元155提供的信息进行调制,并使调制后的信息通过被输出到天线单元151来发送到IC卡2。
随机数生成单元157生成随机数。
密钥生成单元158例如基于从随机数生成单元157提供的信息生成时变密钥,并将时变密钥提供给解密单元153和加密单元155。
存储单元159存储各种信息项,诸如要由R/W装置1中的CPU执行的程序。
接口160与外部计算机通信,并将来自认证单元154的认证结果发送到外部计算机。
除了解密单元153之外,来自接收单元152的输出还被提供给例如认证单元154、加密单元155和密钥生成单元158。除了加密单元155之外,来自认证单元154的输出还被提供给例如发送单元156。除了密钥生成单元158之外,来自随机数生成单元157的输出还被提供给例如解密单元153、认证单元154、加密单元155和发送单元156。除了解密单元153和加密单元155之外,来自密钥生成单元158的输出还被提供给认证单元154。
例如,在图4中的认证序列中包括的步骤中的处理中,步骤S31中的处理由随机数生成单元157执行。步骤S32中的处理由发送单元156执行,并且步骤S33中的处理由接收单元152执行。步骤S34和步骤S35中的处理由密钥生成单元158执行,并且步骤S36中的处理由解密单元153执行。步骤S37中的处理由认证单元154执行。
此外,在图7中的认证序列中包括的步骤中的处理中,步骤S101中的处理由随机数生成单元157执行。步骤S102中的处理由发送单元156执行,并且步骤S103中的处理由接收单元152执行。步骤S104和步骤S105中的处理由密钥生成单元158执行,并且步骤S106中的处理由加密单元155执行。步骤S107中的处理由认证单元154执行。
在图8和图9中的认证序列中包括的步骤中的处理中,步骤S131中的处理由随机数生成单元157执行。步骤S132和步骤S139中的处理由发送单元156执行,并且步骤S133和步骤S140中的处理由接收单元152执行。步骤S134和步骤S135中的处理由密钥生成单元158执行,并且步骤S136和步骤S138中的处理由加密单元155执行。步骤S137中的处理由认证单元154执行。
图10及后续各图中的认证序列中包括的R/W装置1的每个步骤中的处理类似地由R/W装置1中的对应单元执行。
<修改>
已假设IC卡2是与R/W装置1通信的装置,但可以在具有IC芯片的各种装置(诸如便携式终端或PC)中提供上述IC卡2的功能。
对于R/W侧,类似地可以在具有R/W的各种装置(诸如便携式终端或PC)中提供上述R/W装置1的功能。
可以将如上的认证序列应用于在R/W装置和支持除了FeliCa(注册商标)标准之外的标准的IC芯片之间执行的近距离通信。
·计算机的构造的示例
上述一系列处理可以由硬件执行,并且可以由软件执行。在由软件执行一系列处理的情况下,包括在该软件中的程序从程序记录介质被安装到并入专用硬件的计算机、通用个人计算机等上。
图16是图示根据程序执行上述一系列处理的计算机的硬件的构造的示例的框图。
例如,具有图16中所示构造的计算机连接到R/W装置1,并且可以使得在计算机中执行上述处理。
CPU(中央处理单元)301、ROM(只读存储器)302和RAM(随机存取存储器)303通过总线304相互连接。
输入/输出接口305进一步连接到总线304。包括键盘、鼠标等的输入单元306和包括显示器、扬声器等的输出单元307连接到输入/输出接口305。此外,包括例如硬盘或非易失性存储器的存储单元308、包括例如网络接口的通信单元309以及用于驱动可移动介质311的驱动器310连接到输入/输出接口305。
在如上配置的计算机中,上述一系列处理由CPU 301执行,例如,通过将存储在存储单元308中的程序经由输入/输出接口305和总线304加载到RAM 303中并执行该程序。
由CPU 301执行的程序例如通过被记录到可移动介质311或经由诸如局域网、因特网或数字广播的有线或无线传输介质来提供,并被安装到存储单元308中。
由计算机执行的程序可以是按照本说明书中描述的顺序按时间顺序执行处理的程序,或者可以是并行或在必要时刻(诸如执行调用时的时刻)执行处理的程序。
在本说明书中,系统是指多个组件(诸如,装置或模块(组件))的集合,无论所有组件是否在同一个壳体内。因此,容纳在分开的壳体中并经由网络连接的多个装置,以及其中多个模块被容纳在一个壳体中的一个装置都是系统。
注意的是,本说明书中描述的效果纯粹是示例性的,并且效果不限于它们。可以存在其它效果。
本技术的实施例不限于上述实施例,并且在不背离本技术的主旨的范围内可以进行各种修改。
例如,本技术可以具有云计算构造,其中一个功能经由网络在多个装置之间分配并且共同执行处理。
此外,上述流程图中的每个步骤,除了由一个装置执行外,还可以通过在多个装置之间分配来执行。
另外,在一个步骤中包括多种类型的处理的情况下,被包括在一个步骤中的多种类型的处理除了由一个装置执行外,还可以通过在多个装置之间分配来执行。
·构造组合的示例
本技术还可以具有以下构造。
(1)
一种信息处理装置,包括:
接收单元,被配置为接收从另一信息处理装置发送的第一随机数和第二随机数;
随机数生成单元,被配置为生成第三随机数;
时变密钥生成单元,被配置为通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥;
加密单元,被配置为通过使用第一时变密钥对第一随机数进行加密;以及
发送单元,被配置为将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
(2)
根据上述(1)所述的信息处理装置,还包括:
存储单元,被配置为存储关于设在信息处理装置中的IC芯片的标识信息。
(3)
根据上述(2)所述的信息处理装置,还包括:
认证单元,被配置为控制基于通过使用第一时变密钥对包括标识信息的数据进行加密而生成的消息执行的认证处理。
(4)
根据上述(3)所述的信息处理装置,其中
加密单元通过使用第一时变密钥对通过联合第一随机数和标识信息得到的数据进行加密来生成消息,以及
发送单元将标识信息、第三随机数和消息发送到所述另一信息处理装置。
(5)
根据上述(3)所述的信息处理装置,其中
随机数生成单元生成第三随机数和第四随机数,
加密单元通过使用第一时变密钥对通过联合第四随机数、第一随机数和标识信息得到的数据进行加密来生成第一消息,以及
发送单元将第四随机数、第三随机数、标识信息和第一消息发送到所述另一信息处理装置。
(6)
根据上述(5)所述的信息处理装置,其中
所述另一信息处理装置通过使第二随机数和与第一消息一起发送的第三随机数作用于第一固定密钥来生成第二时变密钥、通过使用第二时变密钥对第四随机数、第一随机数和标识信息进行加密来生成第二消息、以及在基于第一消息和第二消息的认证成功的情况下,通过使用第二时变密钥对第一随机数和第四随机数进行加密来生成第三消息。
(7)
根据上述(6)所述的信息处理装置,其中
接收单元接收从所述另一信息处理装置发送的第三消息,以及
认证单元基于第三消息和通过使用第一时变密钥对第一随机数和第四随机数加密而生成的第四消息执行认证处理。
(8)
根据上述(3)所述的信息处理装置,其中,
在认证处理成功的情况下,认证单元向存储单元写入数据或从存储单元读出数据。
(9)
一种信息处理方法,包括:
由信息处理装置,
接收从另一信息处理装置发送的第一随机数和第二随机数;
生成第三随机数;
通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥;
通过使用第一时变密钥对第一随机数进行加密;以及
将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
(10)
一种使计算机执行以下处理的程序:
接收从另一信息处理装置发送的第一随机数和第二随机数;
生成第三随机数;
通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥;
通过使用第一时变密钥对第一随机数进行加密;以及
将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
(11)
一种信息处理装置,包括:
随机数生成单元,被配置为生成第一随机数和第二随机数;
发送单元,被配置为将第一随机数和第二随机数发送到另一信息处理装置;
接收单元,被配置为从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数;
时变密钥生成单元,被配置为通过使第三随机数和由随机数生成单元生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥;以及
认证单元,被配置为通过使用第二时变密钥对加密的第一随机数进行解密,并基于通过解密获得的第一随机数和由随机数生成单元生成的第一随机数执行认证处理。
(12)
根据上述(11)所述的信息处理装置,其中
标识信息被存储于设在所述另一信息处理装置中的IC芯片中。
(13)
根据上述(12)所述的信息处理装置,其中
认证单元基于通过使用第二时变密钥对包括标识信息的数据进行加密而生成的消息来执行认证处理。
(14)
根据上述(13)所述的信息处理装置,其中
接收单元接收标识信息、第三随机数和在所述另一信息处理装置中通过使用第一时变密钥对通过联合第一随机数和标识信息得到的数据进行加密而生成的第一消息,以及
认证单元基于第一消息和通过使用第二时变密钥对由随机数生成单元生成的第一随机数和从所述另一信息处理装置接收到的标识信息进行加密而生成的第二消息来执行认证处理。
(15)
根据上述(13)所述的信息处理装置,其中,
在所述另一信息处理装置已经生成第四随机数和第三随机数并且已经通过使用第一时变密钥对通过联合第四随机数、第一随机数和标识信息得到的数据进行加密而生成第一消息的情况下,
接收单元接收第四随机数、第三随机数、标识信息以及第一消息。
(16)
根据上述(15)所述的信息处理装置,其中,
在认证处理成功的情况下,发送单元向所述另一信息处理装置发送通过使用第二时变密钥对由随机数生成单元生成的第一随机数和从所述另一信息处理装置接收到的第四随机数进行加密而生成的第三消息。
(17)
一种信息处理方法,包括:
由信息处理装置,
生成第一随机数和第二随机数;
将第一随机数和第二随机数发送到所述另一信息处理装置;
从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数;
通过使第三随机数和生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥;
通过使用第二时变密钥对加密的第一随机数进行解密;以及
基于通过解密获得的第一随机数和生成的第一随机数执行认证处理。
(18)
一种使计算机执行以下处理的程序:
生成第一随机数和第二随机数;
将第一随机数和第二随机数发送到另一信息处理装置;
从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数;
通过使第三随机数和生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥;
通过使用第二时变密钥对加密的第一随机数进行解密;以及
基于通过解密获得的第一随机数和生成的第一随机数执行认证处理。
(19)
一种信息处理系统包括:
信息处理装置,包括
接收单元,被配置为接收从另一信息处理装置发送的第一随机数和第二随机数,
随机数生成单元,被配置为生成第三随机数,
时变密钥生成单元,被配置为通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥,
加密单元,被配置为通过使用第一时变密钥对第一随机数进行加密,以及
发送单元,被配置为将加密的第一随机数和第三随机数发送到所述另一信息处理装置;以及
所述另一信息处理装置,包括
随机数生成单元,被配置为生成第一随机数和第二随机数,
发送单元,被配置为将第一随机数和第二随机数发送到信息处理装置,
接收单元,被配置为从信息处理装置接收第三随机数和在信息处理装置中通过使用第一时变密钥加密的第一随机数,
时变密钥生成单元,被配置为通过使第三随机数和由随机数生成单元生成的第二随机数作用于作为与第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥,以及
认证单元,被配置为通过使用第二时变密钥对加密的第一随机数进行解密,并基于通过解密获得的第一随机数和由随机数生成单元生成的第一随机数执行认证处理。
[参考符号列表]
1:R/W装置
2:IC卡
101:天线单元
102:接收单元
103:解密单元
104:认证单元
105:加密单元
106:发送单元
107:随机数生成单元
108:密钥生成单元
109:存储单元
151:天线单元
152:接收单元
153:解密单元
154:认证单元
155:加密单元
156:发送单元
157:随机数生成单元
158:密钥生成单元
159:存储单元
160:接口
Claims (19)
1.一种信息处理装置,包括:
接收单元,被配置为接收从另一信息处理装置发送的第一随机数和第二随机数;
随机数生成单元,被配置为生成第三随机数;
时变密钥生成单元,被配置为通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥;
加密单元,被配置为通过使用第一时变密钥对第一随机数进行加密;以及
发送单元,被配置为将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
2.根据权利要求1所述的信息处理装置,还包括:
存储单元,被配置为存储关于设在信息处理装置中的IC芯片的标识信息。
3.根据权利要求2所述的信息处理装置,还包括:
认证单元,被配置为控制基于通过使用第一时变密钥对包括标识信息的数据进行加密而生成的消息执行的认证处理。
4.根据权利要求3所述的信息处理装置,其中
加密单元通过使用第一时变密钥对通过联合第一随机数和标识信息得到的数据进行加密来生成消息,以及
发送单元将标识信息、第三随机数和消息发送到所述另一信息处理装置。
5.根据权利要求3所述的信息处理装置,其中
随机数生成单元生成第三随机数和第四随机数,
加密单元通过使用第一时变密钥对通过联合第四随机数、第一随机数和标识信息得到的数据进行加密来生成第一消息,以及
发送单元将第四随机数、第三随机数、标识信息和第一消息发送到所述另一信息处理装置。
6.根据权利要求5所述的信息处理装置,其中
所述另一信息处理装置通过使第二随机数和与第一消息一起发送的第三随机数作用于第一固定密钥来生成第二时变密钥、通过使用第二时变密钥对第四随机数、第一随机数和标识信息进行加密来生成第二消息、以及在基于第一消息和第二消息的认证成功的情况下,通过使用第二时变密钥对第一随机数和第四随机数进行加密来生成第三消息。
7.根据权利要求6所述的信息处理装置,其中
接收单元接收从所述另一信息处理装置发送的第三消息,以及
认证单元基于第三消息和通过使用第一时变密钥对第一随机数和第四随机数加密而生成的第四消息执行认证处理。
8.根据权利要求3所述的信息处理装置,其中,
在认证处理成功的情况下,认证单元向存储单元写入数据或从存储单元读出数据。
9.一种信息处理方法,包括:
由信息处理装置,
接收从另一信息处理装置发送的第一随机数和第二随机数;
生成第三随机数;
通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥;
通过使用第一时变密钥对第一随机数进行加密;以及
将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
10.一种使计算机执行以下处理的程序:
接收从另一信息处理装置发送的第一随机数和第二随机数;
生成第三随机数;
通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥;
通过使用第一时变密钥对第一随机数进行加密;以及
将加密的第一随机数和第三随机数发送到所述另一信息处理装置。
11.一种信息处理装置,包括:
随机数生成单元,被配置为生成第一随机数和第二随机数;
发送单元,被配置为将第一随机数和第二随机数发送到另一信息处理装置;
接收单元,被配置为从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数;
时变密钥生成单元,被配置为通过使第三随机数和由随机数生成单元生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥;以及
认证单元,被配置为通过使用第二时变密钥对加密的第一随机数进行解密,并基于通过解密获得的第一随机数和由随机数生成单元生成的第一随机数执行认证处理。
12.根据权利要求11所述的信息处理装置,其中
标识信息被存储于设在所述另一信息处理装置中的IC芯片中。
13.根据权利要求12所述的信息处理装置,其中
认证单元基于通过使用第二时变密钥对包括标识信息的数据进行加密而生成的消息来执行认证处理。
14.根据权利要求13所述的信息处理装置,其中
接收单元接收标识信息、第三随机数和在所述另一信息处理装置中通过使用第一时变密钥对通过联合第一随机数和标识信息得到的数据进行加密而生成的第一消息,以及
认证单元基于第一消息和通过使用第二时变密钥对由随机数生成单元生成的第一随机数和从所述另一信息处理装置接收到的标识信息进行加密而生成的第二消息来执行认证处理。
15.根据权利要求13所述的信息处理装置,其中,
在所述另一信息处理装置已经生成第四随机数和第三随机数并且已经通过使用第一时变密钥对通过联合第四随机数、第一随机数和标识信息得到的数据进行加密而生成第一消息的情况下,
接收单元接收第四随机数、第三随机数、标识信息以及第一消息。
16.根据权利要求15所述的信息处理装置,其中,
在认证处理成功的情况下,发送单元向所述另一信息处理装置发送通过使用第二时变密钥对由随机数生成单元生成的第一随机数和从所述另一信息处理装置接收到的第四随机数进行加密而生成的第三消息。
17.一种信息处理方法,包括:
由信息处理装置,
生成第一随机数和第二随机数;
将第一随机数和第二随机数发送到所述另一信息处理装置;
从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数;
通过使第三随机数和生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥;
通过使用第二时变密钥对加密的第一随机数进行解密;以及
基于通过解密获得的第一随机数和生成的第一随机数执行认证处理。
18.一种使计算机执行以下处理的程序:
生成第一随机数和第二随机数;
将第一随机数和第二随机数发送到另一信息处理装置;
从所述另一信息处理装置接收在所述另一信息处理装置中生成的第三随机数和在所述另一信息处理装置中通过使用通过使第二随机数和第三随机数作用于第一固定密钥而生成的第一时变密钥加密的第一随机数;
通过使第三随机数和生成的第二随机数作用于作为与由所述另一信息处理装置保持的第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥;
通过使用第二时变密钥对加密的第一随机数进行解密;以及
基于通过解密获得的第一随机数和生成的第一随机数执行认证处理。
19.一种信息处理系统包括:
信息处理装置,包括
接收单元,被配置为接收从另一信息处理装置发送的第一随机数和第二随机数,
随机数生成单元,被配置为生成第三随机数,
时变密钥生成单元,被配置为通过使第二随机数和第三随机数作用于第一固定密钥来生成第一时变密钥,
加密单元,被配置为通过使用第一时变密钥对第一随机数进行加密,以及
发送单元,被配置为将加密的第一随机数和第三随机数发送到所述另一信息处理装置;以及
所述另一信息处理装置,包括
随机数生成单元,被配置为生成第一随机数和第二随机数,
发送单元,被配置为将第一随机数和第二随机数发送到信息处理装置,
接收单元,被配置为从信息处理装置接收第三随机数和在信息处理装置中通过使用第一时变密钥加密的第一随机数,
时变密钥生成单元,被配置为通过使第三随机数和由随机数生成单元生成的第二随机数作用于作为与第一固定密钥相同的固定密钥的第二固定密钥来生成第二时变密钥,以及
认证单元,被配置为通过使用第二时变密钥对加密的第一随机数进行解密,并基于通过解密获得的第一随机数和由随机数生成单元生成的第一随机数执行认证处理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020001410 | 2020-01-08 | ||
JP2020-001410 | 2020-01-08 | ||
PCT/JP2020/048724 WO2021140954A1 (ja) | 2020-01-08 | 2020-12-25 | 情報処理装置、情報処理方法、プログラム、および情報処理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114902606A true CN114902606A (zh) | 2022-08-12 |
Family
ID=76788420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080091572.9A Pending CN114902606A (zh) | 2020-01-08 | 2020-12-25 | 信息处理装置、信息处理方法、程序和信息处理系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230067844A1 (zh) |
JP (1) | JPWO2021140954A1 (zh) |
CN (1) | CN114902606A (zh) |
DE (1) | DE112020006446T5 (zh) |
WO (1) | WO2021140954A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4754359B2 (ja) * | 2006-01-16 | 2011-08-24 | Kddi株式会社 | サービス配信システム |
JP4666240B2 (ja) * | 2008-07-14 | 2011-04-06 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム、および情報処理システム |
DE102009024604B4 (de) * | 2009-06-10 | 2011-05-05 | Infineon Technologies Ag | Erzeugung eines Session-Schlüssels zur Authentisierung und sicheren Datenübertragung |
JP5700128B2 (ja) * | 2011-07-27 | 2015-04-15 | 富士通株式会社 | 暗号化処理装置および認証方法 |
-
2020
- 2020-12-25 CN CN202080091572.9A patent/CN114902606A/zh active Pending
- 2020-12-25 WO PCT/JP2020/048724 patent/WO2021140954A1/ja active Application Filing
- 2020-12-25 JP JP2021570017A patent/JPWO2021140954A1/ja active Pending
- 2020-12-25 US US17/790,670 patent/US20230067844A1/en active Pending
- 2020-12-25 DE DE112020006446.8T patent/DE112020006446T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JPWO2021140954A1 (zh) | 2021-07-15 |
US20230067844A1 (en) | 2023-03-02 |
WO2021140954A1 (ja) | 2021-07-15 |
DE112020006446T5 (de) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11877213B2 (en) | Methods and systems for asset obfuscation | |
US7661132B2 (en) | Tag privacy protection method, tag device, backend apparatus, updater, update solicitor and record medium carrying such programs in storage | |
AU2016217549B2 (en) | Systems and methods for securely managing biometric data | |
US8627080B2 (en) | Systems and methods for mutual authentication using one time codes | |
US9223994B2 (en) | Secure transaction method from a non-secure terminal | |
CN101860528B (zh) | 认证设备和认证方法 | |
US20160295404A1 (en) | System and method for securing communications between a card reader device and a remote server | |
CN107925581A (zh) | 1:n生物体认证、加密、署名系统 | |
US10027639B2 (en) | IC chip performing access control based on encrypted ID | |
CA2921718A1 (en) | Facilitating secure transactions using a contactless interface | |
CN106789024A (zh) | 一种远程解锁方法、装置和系统 | |
US20230252451A1 (en) | Contactless card with multiple rotating security keys | |
CN103606223A (zh) | 一种卡片认证方法及装置 | |
CN111709747B (zh) | 智能终端认证方法及系统 | |
CN103973455A (zh) | 一种信息交互方法 | |
CN113988103B (zh) | 一种基于多标签的rfid识别方法 | |
CN114902606A (zh) | 信息处理装置、信息处理方法、程序和信息处理系统 | |
CN103984906A (zh) | 一种无按键的电子密钥设备 | |
CN113988249B (zh) | 一种基于排列的rfid识别方法 | |
KR20170132464A (ko) | 암복호화 장치 및 이를 이용한 암복호화 방법 | |
CN103986581A (zh) | 一种信息交互系统 | |
CN117669626A (zh) | 基于rfid的加密通信方法及系统 | |
Yassaei | Security and privacy analysis of Radio Frequency Identification systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40069080 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |