CN101433014A - 通信装置及通信系统 - Google Patents

通信装置及通信系统 Download PDF

Info

Publication number
CN101433014A
CN101433014A CN200780015366.4A CN200780015366A CN101433014A CN 101433014 A CN101433014 A CN 101433014A CN 200780015366 A CN200780015366 A CN 200780015366A CN 101433014 A CN101433014 A CN 101433014A
Authority
CN
China
Prior art keywords
key
mentioned
data
shared
shared key
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
Application number
CN200780015366.4A
Other languages
English (en)
Inventor
布田裕一
大森基司
长谷川真吾
矶边秀司
静谷启树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101433014A publication Critical patent/CN101433014A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3242Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3271Cryptographic 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/3273Cryptographic 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 for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)

Abstract

提供一种对冒名攻击也有安全性的通信装置。用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信的通信装置不让第三者知道地在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;在判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。

Description

通信装置及通信系统
技术领域
本发明涉及作为信息安全技术的密码技术,特别涉及用共享密钥与合法的通信对方进行秘密通信的技术。
背景技术
近年来,在家电产品、手机等之间经网络进行通信的机会增加了。例如,AV(Audio Visual,音视频)设备为了保护内容的著作权而在设备之间,而手机为了防止通信内容的泄露而在手机和作为通信对方的装置之间,有时在进行了认证密钥共享后,进行用共享的密钥加密过的通信。这里,所谓认证密钥共享,是指在设备之间等,通过相互认证来确认通信对方的设备是否是正确制作的设备,与此同时共享密钥(以下,将共享的密钥称为共享密钥。)。
例如,有用IEEE1394连接了AV设备时使用的、被称为DTCP(DigitalTransmission Content Protection,数字传输内容保护)的著作权保护标准中规定的认证密钥共享方法(参考非专利文献1)。该方法的认证方式使用采用了椭圆DSA签名的询问—应答认证,密钥共享方式使用椭圆DH密钥共享。询问—应答认证、椭圆DSA签名及椭圆DH密钥共享详见非专利文献2。
上述所示的DTCP的认证密钥共享方法未被特别指出存在安全性的问题、即有实效性的攻击方法。但是,未证明对包含未知攻击方法在内的所有攻击方法的安全性。
这里,所谓“证明安全性”,是指密码体制的安全性不是经验性的,而是可以在数学上证明的。例如,在公钥密码中,证明在没有私钥的用户破译密文的情况下,需要解被认为是数学上难以求解的问题(例如,素因数分解问题或椭圆离散对数问题)。在能够进行该证明的情况下,显示密文的破译比被认为是难以求解的问题更难。因此,在能够进行这种证明的情况下,对公钥密码有安全性证明。
如果不能证明安全性,则只能将密码体制的安全保证到经验上“大概难以破译”这一级别,所以使用该密码体制仍感不安。因此,用户不能安心使用现有的认证密钥共享方法。
因此,提出了采用证明了安全性的密钥分发方式——密钥封装机制(Key Encapsulation Mechanisms,以下称为KEM。)的认证密钥共享方式(参考专利文献1)。该技术不会泄露密钥,所以用户能够安心地共享认证密钥。
专利文献1:国际公开第WO05/039100号
非专利文献1:DTCP Specification的White paper<URL:http://www.dtcp.com/data/spec.html>
非专利文献2:(日本)冈本龙明、山本博资,“现代密码”,产业图书(1997年)
然而,采用KEM的认证密钥共享方法证明了对共享密钥的泄露的安全性,但是未证明对冒名攻击的安全性。所谓冒名攻击,是指攻击者冒充通信对方的用户(设备),与合法的用户(设备)之间进行的泄露合法的用户(设备)的信息或者阻止对方通信的攻击。
因此,发送数据的发送方的装置有可能向冒充合法装置的非法装置发送数据,所以整个系统的安全性仍有问题。
这是因为,例如,即使保证了对共享密钥的泄露的安全性,并且难以根据用共享密钥加密过的一个一个数据来推测共享密钥,如果大量收集加密过的数据,则有时也容易推测共享密钥。
因此,在认证密钥共享中,希望对冒名攻击是安全的。再者,在此情况下,希望不仅对共享密钥的泄露、而且对冒名攻击的防卫策略也有安全性证明。
发明内容
因此,本发明的目的在于提供一种通信装置、通信系统,对冒名攻击也能够证明安全性。
为了实现上述目的,本发明提供一种通信装置,用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信,其特征在于,包括:密钥生成单元,不让第三者知道地在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;判断单元,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及数据生成单元,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
本发明的效果如下。
根据上述所示的结构,通信装置用共享密钥和密钥依赖函数来进行认证,进而用同一共享密钥和密钥依赖函数来生成验证用数据,所以能够防止冒名攻击。以下说明其理由。
通信装置在认证时受到冒名攻击的情况下,通过该认证能够判断出是非法的外部装置,所以通过以后不发送通信对象数据,能够防止冒名攻击。
此外,在认证后由于冒名攻击而从非法的装置接收通信对象数据的情况下,通信装置会从非法的装置接收到通信对象数据,但是如果知道通信对方是非法的装置,则抛弃接收到的通信对象数据即可。在此情况下,为了验证通信对象数据的合法性,也从非法的装置发送验证数据。然而,非法的装置没有共享密钥及依赖于它的密钥依赖函数,所以不能发送合法的验证数据。即使通信装置从非法的装置接收到验证数据,由于接收到的验证数据不是用依赖于通信装置具有的共享密钥的密钥依赖函数生成的,所以与通信装置自身生成的验证数据不同,也能够判断出通信对象数据非法,即发送通信对象数据的装置非法。由此,通信装置在判断出发送了通信对象数据的装置非法的情况下通过抛弃接收到的通信对象数据,能够防止冒名攻击。
再者,通信装置通过证明了安全性的密码体制来生成要共享的共享密钥,所以对泄露是安全的。由此,通信装置用对泄露是安全的共享密钥来进行外部装置的认证及秘密通信,所以也保证了对这些处理的安全性。
以下,简单证明对冒名攻击的安全性。
在认证时,通信装置为了确认外部装置是合法的,需要外部装置生成正确的验证用数据,为此,需要在通信装置和外部装置之间共享同一共享密钥。然而,共享密钥是用证明了安全性的密码体制生成的,所以在数学上能够证明被泄露、即非法的装置取得共享密钥的概率非常小,达到可以忽略的程度。因此,在数学上也能够证明非法的装置不能生成正确的验证用数据。因此,能够证明通信装置对冒名攻击也有安全性。
这里,也可以使上述密钥生成单元生成上述第1密钥数据,通过将上述第1密钥数据秘密地发送到上述外部装置,及秘密地接收上述外部装置生成的第2密钥数据,而在与上述外部装置之间共享上述第1密钥数据及上述第2密钥数据,用共享的上述第1密钥数据和上述第2密钥数据来生成上述共享密钥。
根据该结构,通信装置用秘密地共享的第1密钥数据及第2密钥数据来生成共享密钥,所以共享密钥不会被泄露到外部。
这里,也可以使上述认证是询问应答认证;上述判断单元从上述外部装置接收对询问数据和上述共享密钥施以上述函数而生成的应答数据,进行上述询问应答认证,其中,将上述第1密钥数据作为上述询问数据。
根据该结构,通信装置无需在询问应答认证时重新发送询问数据,所以能够削减通信量。
这里,也可以使上述密钥生成单元通过上述第1密钥数据和上述第2密钥数据之间的逻辑“异或”运算来计算共享密钥数据,根据算出的共享密钥数据来生成上述共享密钥。
根据该结构,通信装置通过第1密钥数据和第2密钥数据之间的逻辑“异或”运算来计算共享密钥数据,所以能够使得难以根据共享密钥数据来导出第1密钥数据和第2密钥数据。
这里,也可以使上述密钥生成单元将上述共享密钥数据的一部分作为上述共享密钥。
根据该结构,通信装置能够通过使共享密钥为共享密钥数据的一部分来生成它。
这里,也可以使上述密钥生成单元将上述共享密钥数据本身作为上述共享密钥。
根据该结构,通信装置使共享密钥与共享密钥数据相同,所以无需重新生成共享密钥。因此,能够削减通信装置中的处理量。
这里,也可以使上述密钥生成单元对上述第1密钥数据和上述第2密钥数据施以上述密钥依赖函数来生成共享密钥数据,根据生成的共享密钥数据来生成上述共享密钥。
根据该结构,通信装置对第1密钥数据和第2密钥数据施以函数而变换为共享密钥数据,所以能够防止第1密钥数据及第2密钥数据的泄露。
这里,也可以使上述密钥依赖函数是依赖于上述共享密钥的单向函数。
根据该结构,通信装置用单向函数来生成共享密钥数据。由此,难以根据生成的共享密钥数据来生成第1密钥数据及第2密钥数据,所以能够提高对第1密钥数据及第2密钥数据的泄露的安全性。
这里,也可以使上述共享密钥是上述判断单元进行认证及生成上述验证用数据时所用的验证用共享密钥;上述密钥生成单元还根据上述共享密钥数据来生成与在上述外部装置之间共享、且用于通信对象数据的加密及解密的密码用共享密钥;上述通信装置还包括:发送单元,用上述密码用共享密钥对上述通信对象数据进行加密,来生成加密数据,将生成的上述加密数据与上述验证用数据一起发送到上述外部装置。
根据该结构,通信装置用要与外部装置共享的密码用共享密钥对通信对象数据进行加密来生成加密数据,将生成的加密数据发送到外部装置,通信对象数据不会被泄露。
这里,也可以使上述共享密钥是验证用共享密钥;上述密钥生成单元还根据上述共享密钥数据来生成要在与上述外部装置之间共享的密码用共享密钥;上述通信装置还包括:接收单元,从上述外部装置接收用上述密码用共享密钥对通信对象数据进行加密所得的加密数据;上述数据生成单元对上述接收单元接收到的加密数据进行解密来取得解密数据,将取得的解密数据作为通信对象数据来生成上述验证用数据。
根据该结构,通信装置根据用要与外部装置共享的密码用共享密钥解密出的加密数据来生成验证数据,所以只要不与外部装置共享合法的密码用共享密钥及合法的验证用共享密钥,则不能取得合法的解密数据及合法的验证用数据。即,只有合法的通信装置才能够取得解密数据及验证数据。
这里,也可以使上述密钥生成单元用密钥封装机制作为上述密钥分发来生成上述共享密钥。
根据该结构,通信装置在与外部装置之间用密钥封装机制来生成共享密钥,所以共享密钥不会被泄露。
此外,通过采用密钥封装机制,对密钥泄露是安全的,所以证明了在认证时对冒名攻击的安全性。
附图说明
图1是密码通信系统1的概要图。
图2是密码通信装置A10的结构方框图。
图3是密码通信装置B20的结构方框图。
图4是密码通信系统1的工作流程图。下接图5。
图5是密码通信系统1的工作流程图。上接图4,下接图6。
图6是密码通信系统1的工作流程图。上接图5,下接图7。
图7是密码通信系统1的工作流程图。上接图6。
标号说明
1  密码通信系统
10 密码通信装置A
20 密码通信装置B
30 通信路径
101、201 输入输出部
102、202 收发部
103、203 公钥(public key)保存部
104、204 私钥(private key)保存部
105、205 KEM密文生成部
106、206 KEM密文解密部
107、207 共享密钥(shared key)生成部
108、208 共享密钥保存部
109、209 询问数据生成部
110、210 应答数据生成部
111、211 应答数据验证部
112、212 MAC生成部
113、213 共用密钥加密部
114、214 共用密钥解密部
115、215 DEM密文生成部
116、216 DEM密文解密部
具体实施方式
1.第1实施方式
下面说明本发明第1实施方式的密码通信系统1。
密码通信系统1如图1所示,由密码通信装置A10和密码通信装置B20构成,密码通信装置A10和密码通信装置B20经通信路径30进行通信。
密码通信装置A10及密码通信装置B20防止密钥的泄露及冒名攻击,与通信对方用共享密钥进行密码通信。
密码通信装置A10及密码通信装置B20的秘密通信大体分来,由3个阶段工作组成。
第1个阶段是密码通信装置A10和密码通信装置B20用KEM进行相互认证及密钥分发、相互的装置共享密钥的阶段。
第2个阶段是密码通信装置A10和密码通信装置B20分别通过用共享的密钥进行询问—应答认证来确认相互的发送对方未进行冒名攻击的阶段。
第3个阶段是用共享的密钥在密码通信装置A10和密码通信装置B20之间经通信路径30收发加密过的数据的阶段。
这里,所谓数据,例如是文本数据、音乐数据、图像数据、电影内容数据。
1.1准备
这里,说明本实施方式所用的密钥分发方式之一的密钥封装机制(KeyEncapsulation Mechanism,以下称为“KEM”。)。
密钥封装机制简单地说,就是用公钥密码在发送装置和接收装置之间分发共享密钥的算法。首先,发送端向公钥加密算法E中输入接收者的公钥pk来生成密文C和共享密钥K,将密文C传输到接收端。然后,接收端向公钥解密算法D中输入私钥sk和密文C来求与发送端相同的共享密钥K。在本说明书中,将密文C也称为“密钥数据K的KEM密文”等。
而且,密钥封装机制的目的在于,通过用密钥封装机制在发送装置和接收装置间共享共享密钥K,其后,用共享密钥K通过共享密钥密码对从发送装置向接收装置发送的通信内容数据进行加密。这里,从具有发送装置的发送者向具有接收装置的接收者单向发送信息,发送者不能虚构地创建共享密钥,抑制了发送者的非法,这一点是现有的密钥分发方式所没有的特征。
作为这种密钥封装机制,公开了被称为PSEC-KEM的算法。
PSEC-KEM算法的细节记载于著者Tatsuaki Okamoto的“Genericconversion for constructing IND-CCA2 public-key encryption in therandom oracle model”,所以省略其说明。以下,简单说明PSEC-KEM算法。
(1)PSEC-KEM的系统参数
PSEC-KEM具有以下系统参数。
·椭圆曲线:E
·椭圆曲线E上的阶数n的点:P
·散列(hash)函数:G、H
椭圆曲线、阶数及散列函数详细描述于非专利文献2,所以这里省略其说明。
散列函数G、H由发送端及接收端双方共享。
(2)PSEC-KEM的公钥和私钥
·随机选择Zn的元素x,生成W=x*P。
这里,Zn是由{0,1,…,n-1}组成的集合,x*P表示通过将椭圆曲线E上的点P相加x次而得到的椭圆曲线上的点。椭圆曲线上的点的相加方法描述于非专利文献2。
·设公钥pk为(E,P,W,n),设私钥sk为x。
(3)PSEC-KEM的加密
加密时,向下述公钥解密算法KemE中输入公钥pk而输出共享密钥K和密文C。
以下说明公钥解密算法KemE。
·随机生成Zn的元素s。
·生成G(s),将G(s)分割为G(s)=a||K。这里,||表示位(bit)结合,所谓将G(s)分割为G(s)=a||K,表示使G(s)的高几位为a,使其余几位为K。
·生成R=a*P,Q=a*W。
·生成v=s xor H(R||Q)。这里,xor表示逻辑“异或”运算。
·输出共享密钥K和密文C=(R,v)。
·发送端的装置将密文C发送到通信对方(接收端的装置)。
(4)PSEC-KEM的解密
接收端的装置从发送端的装置接收密文C,向下述公钥解密算法KemD中输入密文C=(R,v)和私钥sk而输出共享密钥K。
以下说明公钥解密算法KemD。
·生成Q=x*R。这里,如上所述,x是私钥sk。
·生成s’=v xor H(R||Q)。这里,v和R根据密文C来得到。
·生成G(s’),将G(s’)分割为G(s’)=a’||K’。这里,分割的方法与加密端相同。
·检查R=a’*P是否成立。如果成立,则将K’作为共享密钥K输出。
在将该PSEC-KEM算法应用于在发送装置和接收装置之间进行加密通信的密码系统的情况下,首先,发送装置取得通信目的地接收装置的公钥pk,将取得的公钥pk输入到前述公钥加密算法KemE中而导出共享密钥K和密文C,将密文C发送到接收装置。然后,接收装置从发送装置接收密文C,将接收到的密文C和自身具有的私钥sk输入到前述公钥解密算法KemD中,而导出与发送装置导出的相等的共享密钥K。
以下,详细说明该情况。
现在,PSEC-KEM算法设散列函数H的输入为(a*P||a*W),用公钥加密算法KemE使H(a*P||a*W)的值作用于随机生成的元素s而生成v。然后,在公钥解密算法KemD中,可以根据密文C中包含的R=a*P用私钥sk(=x)来求Q=x*R=x*(a*P)=a*(x*P)=a*W,所以通过计算v xor H(a*P||a*W),能够求出公钥加密算法KemE中生成的随机元素s。这里,v xor H(a*P||a*W)是公钥加密算法KemE根据s来计算v的运算的逆运算。因此,公钥加密算法KemE和公钥解密算法KemD能够向散列函数G中输入相同的s的值,能够导出相同的共享密钥K。其结果是,具有私钥sk的接收装置能够导出与发送装置导出的相同的共享密钥K。
另一方面,不知道私钥sk的其他接收装置即使取得公钥pk并接收到密文C,也不知道私钥sk(=x),所以不能根据R=a*P来计算Q=a*W(=(ax)*P),不能导出与发送装置导出的相同的共享密钥K。这是因为,不知道私钥sk的其他接收装置只能利用公钥pk,所以在上述Q的计算中利用公钥pk中包含的W=x*p来取代私钥sk(=x),但是一般根据a*P和W=x*P来求Q=a*W(=(ax)*P)被称为椭圆曲线上的Diffie-Hellman问题,只要不知道a或x的值,就难以计算。这记载于著者Neal Kobl itz的“Algebraic Aspectsof Cryptography”(Algorithms and Computation in Mathematics Vol.3,pp.132-133,Springer-Verlag,1998.),所以这里省略其说明。
即,PSEC-KEM算法不用私钥,而用难以根据a*P来计算a*W的Diffie-Hellman问题,来最终导出共享密钥K,从而如果不知道私钥,就不能导出该共享密钥K。
因此,根据以上,发送装置和接收装置能够秘密地共享共享密钥K,其后,使用私钥密码,对从发送装置向接收装置发送的通信内容数据,用共享密钥K通过共享密钥密码进行加密。
上述PSEC-KEM算法被证明了如果前述椭圆曲线上的Diffie-Hellman问题很困难,则不知道私钥的接收装置不能得到共享密钥K。由于证明了方式的安全性,所以将这种证明称为“安全性证明”。PSEC-KEM之外的其他KEM算法,例如RSA-KEM或NTRU-KEM(参考(日本)特开2004—201292号公报及特开2004—201293号公报)等也以同样的困难的数学问题为根据而证明了安全性。
RSA-KEM的细节记载于著者Victor Shoup的“A proposal for an ISOstandard for public key encryption(version 2.1)”,所以省略其说明。
此外,NTRU-KEM的细节记载于(日本)特开2004—201292号公报及特开2004—201293号公报,所以省略其说明。
有时也用上述说明过的KEM,从2台密码通信装置的双方相互发送KEM密文。在此情况下,通过用从一方的密码通信装置A向另一方的密码通信装置B发送KEM密文而共享的共享密钥(称为KA)、和从密码通信装置B向密码通信装置A发送KEM密文而共享的共享密钥(称为KB)两者来创建共享密钥K,能够进行更安全的密钥共享。
在密码通信系统1中,按这种从双方相互发送KEM密码部分的结构来进行密钥共享。
以下,说明构成密码通信系统1的密码通信装置A10、B20、及他们的工作。
1.2密码通信装置A10的结构
密码通信装置A10如图2所示,由输入输出部101、收发部102、公钥保存部103、私钥保存部104、KEM密文生成部105、KEM密文解密部106、共享密钥生成部107、共享密钥保存部108、询问数据生成部109、应答数据生成部110、应答数据验证部111、MAC(篡改检测码,MessageAuthentication Code)生成部112、共用密钥加密部113、共用密钥解密部114、DEM(Data Encapsulation Mechanism,数据封装机制)密文生成部115、及DEM密文解密部116构成。
(1)公钥保存部103
公钥保存部103保存着密码通信装置B20的公钥KPB。
公钥KPB与私钥KSB一起被相对应地预先提供给密码通信装置B20。此外,在密码通信装置A10中,假设公钥KPB是预先从外部提供并保存着的,或者从密码通信装置B20发送、经通信路径30预先接收并保存着的。
(2)私钥保存部104
私钥保存部104保存着密码通信装置A10的私钥KSA。
私钥KSA与公钥KPA一起被相对应地预先提供给密码通信装置A10。
(3)KEM密文生成部105
KEM密文生成部105用公钥KPB和密钥封装机制(KEM)的公钥加密算法KemE,来生成密钥数据KA及密钥数据KA的KEM密文KEMA。密钥数据KA及KEM密文KEMA的生成方法是与上述所示的PSEC-KEM的加密同样的方法,所以省略其说明。
KEM密文生成部105将生成的KEM密文KEMA经收发部102发送到密码通信装置B20。
KEM密文生成部105将生成的密钥数据KA输出到共享密钥生成部107。
(4)KEM密文解密部106
KEM密文解密部106从密码通信装置B20经收发部102接收用KEM中的公钥加密算法KemE对密钥数据KB进行加密所得的密文——KEM密文KEMB。
KEM密文解密部106向与公钥加密算法KemE对应的公钥解密算法KemD提供私钥KSA及KEM密文KEMB作为输入值,对接收到的KEM密文KEMB进行解密,来生成密钥数据KB。密钥数据KB的解密方法是与上述所示的PSEC-KEM的解密同样的方法,所以省略其说明。
KEM密文解密部106将生成的密钥数据KB输出到共享密钥生成部107。
(5)共享密钥生成部107
共享密钥生成部107分别从KEM密文生成部105接收密钥数据KA,从KEM密文解密部106接收密钥数据KB。
共享密钥生成部107用接收到的密钥数据KA和KB,来生成共用密钥密码(common key cryptosystem)用共享密钥KS和MAC用共享密钥KH,将生成的共用密钥密码用共享密钥KS和MAC用共享密钥KH保存到共享密钥保存部108中。
以下示出生成共用密钥密码用共享密钥KS和MAC用共享密钥KH的具体例。
共享密钥生成部107取密钥数据KA和KB的逻辑“异或”(xor),生成共享密钥数据K。共享密钥生成部107将生成的共享密钥数据K的一部分作为共用密钥密码用共享密钥KS,将其他部分作为MAC用共享密钥KH。即,共享密钥生成部107对生成的共享密钥数据K取得共用密钥密码用共享密钥KS和MAC用共享密钥KH、使其满足K=KS||KH即可。这里,||表示连结。此外,用于从共享密钥数据K中取得共用密钥密码用共享密钥KS和MAC用共享密钥KH的划分位置只要与密码通信装置B20端一致即可,可以是任意的位置。
共享密钥数据K的生成方法只要包含密钥数据KA和KB这两个信息即可。例如,也可以将密钥数据KA和KB的位或字节连结所得的数据K’的散列函数值作为共享密钥数据K。
(6)共享密钥保存部108
共享密钥保存部108具有用于保存共享密钥生成部107生成的共用密钥密码用共享密钥KS和MAC用共享密钥KH的区域。
(7)询问数据生成部109
询问数据生成部109生成随机数——询问数据nA,将生成的询问数据nA经收发部102发送到密码通信装置B20。
询问数据生成部109临时存储生成的询问数据nA。
(8)应答数据生成部110
应答数据生成部110从密码通信装置B20经收发部102接收询问数据nB和对询问数据生成部109发送的询问数据nA的应答数据rB,或者只接收询问数据nB。
(接收到询问数据nB和应答数据rB的情况)
应答数据生成部110从密码通信装置B20接收到询问数据nB和应答数据rB后,临时存储接收到的询问数据nB。
应答数据生成部110将应答数据rB和指示验证应答数据的验证指示输出到应答数据验证部111。
应答数据生成部110从应答数据验证部111接收到指示生成应答数据的应答数据生成指示后,将指示生成篡改检测码(Message AuthenticationCode,MAC)的MAC生成指示、和临时存储着的询问数据nB输出到MAC生成部112。
应答数据生成部110从MAC生成部112接收到MAC值HnB后,将接收到的MAC值HnB作为应答数据rA,经收发部102发送到密码通信装置B20。
MAC值HnB将在后面说明MAC生成部112的部分中描述。
(只接收到询问数据nB的情况)
应答数据生成部110从密码通信装置B20接收到询问数据nB后,将MAC生成指示和接收到的询问数据nB输出到MAC生成部112。
应答数据生成部110从MAC生成部112接收到MAC值HnB后,将接收到的MAC值HnB作为应答数据rA,与询问数据生成部109生成的询问数据nA一起,经收发部102发送到密码通信装置B20。
(9)应答数据验证部111
应答数据验证部111从应答数据生成部110接收到验证指示和应答数据rB后,取得询问数据生成部109临时存储着的询问数据nA。
应答数据验证部111将MAC生成指示和取得的询问数据nA输出到MAC生成部112。
应答数据验证部111从MAC生成部112接收到MAC值HnA后,判断MAC值HnA和应答数据rB是否一致。
在判断为一致的情况下,应答数据生成部110将应答数据生成指示输出到应答数据生成部110。
在判断为不一致的情况下,应答数据生成部110中止与密码通信有关的整个处理。
应答数据验证部111从密码通信装置B20经收发部102接收到应答数据rB后,取得询问数据生成部109临时存储着的询问数据nA,进行与上述同样的动作,验证应答数据rB。
(10)MAC生成部112
MAC生成部112预先存储着带密钥散列函数Hash。所谓带密钥散列函数,是指被提供密钥和数据作为输入、依赖于密钥的单向函数。本实施方式中所用的带密钥散列函数Hash是使用MAC用共享密钥KH、而且依赖于MAC用共享密钥KH的函数。带密钥散列函数记载于非专利文献2的189~195页,所以省略其说明。
MAC生成部112对MAC对象数据使用共享密钥保存部108中保存着的MAC用共享密钥KH,来生成(计算)由规定的位长t(t在1以上)组成的篡改检测码的值(MAC值)。
这里,设MAC对象数据DM的MAC值为HDM=Hash(KH,DM)。此外,Hash(KH,DM)表示用MAC用共享密钥KH通过带密钥散列函数Hash计算出的数据DM的散列值。
MAC生成部112从应答数据生成部110接收到MAC生成指示和询问数据nB后,取得共享密钥保存部108中保存着的MAC用共享密钥KH。MAC生成部112用预先存储着的带密钥散列函数Hash和取得的KH,来计算询问数据nB的MAC值HnB(=Hash(KH,nB)),将算出的MAC值HnB输出到应答数据生成部110。
MAC生成部112从应答数据验证部111接收到MAC生成指示和询问数据nA后,取得共享密钥保存部108中保存着的MAC用共享密钥KH。MAC生成部112用预先存储着的带密钥散列函数Hash和取得的KH,来计算询问数据nA的MAC值HnA(=Hash(KH,nA)),将算出的MAC值HnA输出到应答数据验证部111。
MAC生成部112从DEM密文生成部115接收到MAC生成指示、和用共用密钥密码加密、发送到密码通信装置B20的数据(以下称为加密对象数据。)DA后,取得共享密钥保存部108中保存着的MAC用共享密钥KH。MAC生成部112用预先存储着的带密钥散列函数Hash和取得的KH,来计算加密对象数据DA的MAC值HDA(=Hash(KH,DA)),将算出的MAC值HDA输出到DEM密文生成部115。
MAC生成部112接收到MAC生成指示、和从DEM密文解密部116接收到解密数据DB’后,取得共享密钥保存部108中保存着的MAC用共享密钥KH。MAC生成部112用预先存储着的带密钥散列函数Hash和取得的KH,来计算针对解密数据DB’的MAC值HDB’(=Hash(KH,DB’)),将算出的MAC值HDB’输出到DEM密文生成部115。
解密数据DB’将在后面说明共用密钥解密部114的部分中描述。
Hash(KH,DM)也可以为Hash(KH,DM)=SHA1(KH||DM)。这里,SHA1(x)是x的SHA1散列函数值,||表示连结。
(11)共用密钥加密部113
共用密钥加密部113从DEM密文生成部115接收到加密对象数据DA和指示加密的加密指示后,取得共享密钥保存部108中保存着的共用密钥密码用共享密钥KS。
共用密钥加密部113用取得的共用密钥密码用共享密钥KS和共用密钥密码算法对加密对象数据DA进行加密,来生成针对加密对象数据DA的加密数据EDA(=Enc(KS,DA))。这里,Enc(KS,DA)表示用密钥KS通过共用密钥密码对数据DA进行加密所得的密文。共用密钥密码例如是DES密码或AES密码。共用密钥密码的细节记载于非专利文献2的79~105页,所以省略其说明。
共用密钥加密部113将生成的加密数据Enc(Ks,DA)输出到DEM密文生成部115。
(12)共用密钥解密部114
共用密钥解密部114从DEM密文解密部116接收到用共用密钥密码用共享密钥KS对加密对象数据DB进行加密所得的加密数据EDB(=Enc(KS,DB))、和指示对加密数据进行解密的解密指示后,取得共享密钥保存部108中保存着的共用密钥密码用共享密钥KS。
共用密钥解密部114用取得的共用密钥密码用共享密钥KS和共用密钥解密算法对加密数据Enc(KS,DB)进行解密,来生成解密数据DB’。
共用密钥解密部114将生成的解密数据DB’输出到DEM密文解密部116。
(13)DEM密文生成部115
DEM密文生成部115从外部经输入输出部101接收到加密对象数据DA后,将加密指示和接收到的加密对象数据DA输出到共用密钥加密部113。
DEM密文生成部115将MAC指示和接收到的加密对象数据DA输出到MAC生成部112。
DEM密文生成部115从共用密钥加密部113接收到加密数据EDA(=Enc(KS,DA)),从MAC生成部112接收到MAC值HDA(=Hash(KH,DA))后,连结它们,来生成DEM密文DEMA(=Enc(KS,DA)||HDA)。
DEM密文生成部115将生成的DEM密文DEMA经收发部102发送到密码通信装置B20。
(14)DEM密文解密部116
DEM密文解密部116从密码通信装置B20经收发部102接收DEM密文DEMB(=EDB||HDB)。这里,EDB是用密码通信装置B20具有的共用密钥密码用共享密钥KS对加密对象数据DB进行加密所得的加密数据(Enc(KS,DB)),HDB是加密对象数据DB的MAC值(Hash(KH,DB))。
DEM密文解密部116将接收到的DEM密文DEMB(=EDB||HDB)分离为加密数据EDB和MAC值HDB。
这里,示出分解的一例。假设DEM密文DEMB的位长为u,如上所述,MAC值HDB的位长是t,所以知道u>t。DEM密文解密部116从DEM密文DEMB的起始处起提取由u-t位长组成的数据,将提取出的数据作为加密数据EDB,将其余由t位长组成的数据作为MAC值HDB。
DEM密文解密部116将解密指示和加密数据EDB(=Enc(KS,DB))输出到共用密钥解密部114。
DEM密文解密部116从共用密钥解密部114接收到解密数据DB’后,将MAC指示和解密数据DB’输出到MAC生成部112。
DEM密文解密部116接收到MAC值HDB’(=Hash(KH,DB’))后,与从DEM密文DEMB分离出的HDB进行比较,判断是否一致。
在判断为一致的情况下,DEM密文解密部116将解密数据DB’、即加密对象数据DB经输入输出部101输出到外部。
在判断为不一致的情况下,DEM密文解密部116中止与密码通信有关的整个处理。
(15)输入输出部101
输入输出部101从外部接受加密对象数据DA,将接受到的加密对象数据DA输出到DEM密文生成部115。
输入输出部101从DEM密文解密部116接收到解密数据DB’后,将接收到的解密数据DB’输出到外部。
(16)收发部 102
收发部102从KEM密文生成部105接收到KEM密文KEMA后,将接收到的KEM密文KEMA经通信路径30发送到密码通信装置B20。
收发部102从密码通信装置B20经通信路径30接收到KEM密文KEMB后,将接收到的KEM密文KEMB输出到KEM密文解密部106。
收发部102从询问数据生成部109接收到询问数据nA后,将接收到的询问数据nA经通信路径30发送到密码通信装置B20。
收发部102从应答数据生成部110接收到应答数据rA后,将接收到的应答数据rA经通信路径30发送到密码通信装置B20。
收发部102从密码通信装置B20经通信路径30接收到询问数据nB和应答数据rB,或者只接收到询问数据nB后,将接收到的询问数据nB及应答数据rB、或者询问数据nB输出到应答数据生成部110。
收发部102从密码通信装置B20经通信路径30接收到应答数据rB后,将接收到的应答数据rB输出到应答数据验证部111。
收发部102从DEM密文生成部115接收到DEM密文DEMA后,将接收到的DEM密文DEMA经通信路径30发送到密码通信装置B20。
收发部102从密码通信装置B20经通信路径30接收到DEM密文DEMB后,将接收到的DEM密文DEMB输出到DEM密文解密部116。
1.3密码通信装置B20的结构
密码通信装置B20如图3所示,由输入输出部201、收发部202、公钥保存部203、私钥保存部204、KEM密文生成部205、KEM密文解密部206、共享密钥生成部207、共享密钥保存部208、询问数据生成部209、应答数据生成部210、应答数据验证部211、MAC生成部212、共用密钥加密部213、共用密钥解密部214、DEM密文生成部215、及DEM密文解密部216构成。
(1)公钥保存部203
公钥保存部203保存着密码通信装置A10的公钥KPA。
公钥KPA与私钥KSA一起被相对应地预先提供给密码通信装置A10。此外,此外,在密码通信装置B20中,假设公钥KPA是预先从外部提供并保存着的,或者从密码通信装置A10发送、经通信路径30预先接收并保存着的。
(2)私钥保存部204
私钥保存部204保存着密码通信装置B20的私钥KSB。
私钥KSB与公钥KPB一起被相对应地预先提供给密码通信装置B20。
(3)KEM密文生成部205
KEM密文生成部205用公钥KPA和密钥封装机制(KEM)的公钥加密算法KemE,来生成密钥数据KB及密钥数据KB的KEM密文KEMB。密钥数据KB及KEM密文KEMB的生成方法是与上述所示的PSEC-KEM的加密同样的方法,所以省略其说明。
KEM密文生成部205将生成的KEM密文KEMB经收发部202发送到密码通信装置A10。
KEM密文生成部205将生成的密钥数据KB输出到共享密钥生成部207。
(4)KEM密文解密部206
KEM密文解密部206从密码通信装置A10经收发部202,接收KEM密文KEMA。
KEM密文解密部206向与公钥加密算法KemE对应的公钥解密算法KemD提供私钥KSB及KEM密文KEMA作为输入值,对接收到的KEM密文KEMA进行解密,来生成密钥数据KA。密钥数据KA的解密方法是与上述所示的PSEC-KEM的解密同样的方法,所以省略其说明。
KEM密文解密部206将生成的密钥数据KA输出到共享密钥生成部207。
(5)共享密钥生成部207
共享密钥生成部207分别从KEM密文生成部205接收密钥数据KB,从KEM密文解密部206接收密钥数据KA。
共享密钥生成部207用接收到的密钥数据KA和KB,来生成共用密钥密码用共享密钥KS和MAC用共享密钥KH,将生成的共用密钥密码用共享密钥KS和MAC用共享密钥KH保存到共享密钥保存部208中。
共用密钥密码用共享密钥KS和MAC用共享密钥KH的生成采用与共享密钥生成部107中的生成方法相同的方法。
(6)共享密钥保存部208
共享密钥保存部208具有用于保存共享密钥生成部207生成的共用密钥密码用共享密钥KS和MAC用共享密钥KH的区域。
(7)询问数据生成部209
询问数据生成部209生成随机数——询问数据nB,将生成的询问数据nB经收发部202发送到密码通信装置B20。
询问数据生成部209临时存储生成的询问数据nB。
(8)应答数据生成部 210
应答数据生成部210从密码通信装置A10经收发部202接收询问数据nA、和对询问数据生成部209发送的询问数据nB的应答数据rA,或者只接收询问数据nA。
(接收到询问数据nA和应答数据rA的情况)
应答数据生成部210从密码通信装置A10接收到询问数据nA和应答数据rA后,临时存储接收到的询问数据nA。
应答数据生成部210将应答数据rA、和指示验证应答数据的验证指示输出到应答数据验证部211。
应答数据生成部210从应答数据验证部211接收到指示生成应答数据的应答数据生成指示后,将MAC生成指示和临时存储着的询问数据nA输出到MAC生成部212。
应答数据生成部210从MAC生成部212接收到MAC值HnA后,将接收到的MAC值HnA作为应答数据rB,经收发部202发送到密码通信装置A10。
MAC值HnA将在后面说明MAC生成部212的部分中描述。
(只接收到询问数据nA的情况)
应答数据生成部210从密码通信装置A10接收到询问数据nA后,将MAC生成指示和接收到的询问数据nA输出到MAC生成部212。
应答数据生成部210从MAC生成部112接收到MAC值HnA后,将接收到的MAC值HnA作为应答数据rB,与询问数据生成部209生成的询问数据nB一起,经收发部202发送到密码通信装置B20。
(9)应答数据验证部 211
应答数据验证部211从应答数据生成部210接收到验证指示和应答数据rA后,取得询问数据生成部209临时存储着的询问数据nB。
应答数据验证部211将MAC生成指示和取得的询问数据nB输出到MAC生成部212。
应答数据验证部211从MAC生成部212接收到MAC值HnB后,判断MAC值HnB和应答数据rA是否一致。
在判断为一致的情况下,应答数据生成部210将应答数据生成指示输出到应答数据生成部210。
在判断为不一致的情况下,应答数据生成部210中止与密码通信有关的整个处理。
应答数据验证部211从密码通信装置A10经收发部202接收到应答数据rA后,取得询问数据生成部209临时存储着的询问数据nB,进行与上述同样的动作,验证应答数据rA。
(10)MAC生成部 212
MAC生成部212预先存储着带密钥散列函数Hash。
MAC生成部212对MAC对象数据DM使用共享密钥保存部208中保存着的MAC用共享密钥KH,来生成(计算)由规定的位长t(t在1以上)组成的MAC值HDM。MAC生成部212生成的MAC值的位长与密码通信装置A20的MAC生成部112生成的MAC值的位长相同。
MAC生成部212从应答数据生成部210接收到MAC生成指示和询问数据nA后,取得共享密钥保存部208中保存着的MAC用共享密钥KH。MAC生成部212用预先存储着的带密钥散列函数Hash、和取得的KH,来计算询问数据nA的MAC值HnA(=Hash(KH,nA)),将算出的MAC值HnA输出到应答数据生成部210。
MAC生成部212从应答数据验证部211接收到MAC生成指示和询问数据nB后,取得共享密钥保存部208中保存着的MAC用共享密钥KH。MAC生成部212用预先存储着的带密钥散列函数Hash和取得的MAC用共享密钥KH,来计算询问数据nB的MAC值HnB(=Hash(KH,nB)),将算出的MAC值HnB输出到应答数据验证部211。
MAC生成部212从DEM密文生成部215接收到MAC生成指示、和加密、发送到密码通信装置A10的数据——加密对象数据DB后,取得共享密钥保存部208中保存着的MAC用共享密钥KH。MAC生成部212用预先存储着的带密钥散列函数Hash和取得的MAC用共享密钥KH,来计算加密对象数据DB的MAC值HDB(=Hash(KH,DB)),将算出的MAC值HDB输出到DEM密文生成部215。
MAC生成部212接收到MAC生成指示、和从DEM密文解密部216接收到解密数据DA’后,取得共享密钥保存部208中保存着的MAC用共享密钥KH。MAC生成部212用预先存储着的带密钥散列函数Hash、和取得的MAC用共享密钥KH,来计算解密数据DA’的MAC值HDA’(=Hash(KH,DA’)),将算出的MAC值HDA’输出到DEM密文生成部215。
解密数据DA’将在后面说明共用密钥解密部214的部分中描述。
(11)共用密钥加密部 213
共用密钥加密部213从DEM密文生成部215接收到加密对象数据DB、和指示加密的加密指示后,取得共享密钥保存部208中保存着的共用密钥密码用共享密钥KS。
共用密钥加密部213用取得的共用密钥密码用共享密钥KS和共用密钥密码算法对加密对象数据DB进行加密,来生成加密对象数据DB的加密数据EDB(=Enc(KS,DB))。这里,Enc(KS,DB)表示用密钥KS通过共用密钥密码对数据DB进行加密所得的密文。共用密钥密码例如是DES密码或AES密码。共用密钥密码记载于非专利文献2的79~105页。
共用密钥加密部213将生成的加密数据Enc(Ks,DB)输出到DEM密文生成部215。
(12)共用密钥解密部 214
共用密钥解密部214从DEM密文解密部216接收到用共用密钥密码用共享密钥KS对加密对象数据DA进行加密所得的加密数据EDA(=Enc(KS,DA))、和指示对加密数据进行解密的解密指示后,取得共享密钥保存部208中保存着的共用密钥密码用共享密钥KS。
共用密钥解密部214用取得的共用密钥密码用共享密钥KS和共用密钥解密算法对加密数据Enc(KS,DA)进行解密,来生成解密数据DA’。
共用密钥解密部214将生成的解密数据DA’输出到DEM密文解密部216。
(13)DEM密文生成部 215
DEM密文生成部215从外部经输入输出部201接收到加密对象数据DB后,将加密指示和接收到的加密对象数据DB输出到共用密钥加密部213。
DEM密文生成部215将MAC指示和接收到的加密对象数据DB输出到MAC生成部212。
DEM密文生成部215从共用密钥加密部213接收到加密数据EDB(=Enc(KS,DB)),从MAC生成部212接收到MAC值HDB(=Hash(KH,DB))后,连结它们,来生成DEM密文DEMB(=Enc(KS,DB)||HDB)。
DEM密文生成部215将生成的DEM密文DEMB经收发部202发送到密码通信装置A10。
(14)DEM密文解密部 216
DEM密文解密部216从密码通信装置A10经收发部202接收DEM密文DEMA(=EDA||HDA)。这里,EDA是用密码通信装置A10具有的共用密钥密码用共享密钥KS对加密对象数据DA进行加密所得的加密数据(Enc(KS,DA)),HDA是加密对象数据DA的MAC值(Hash(KH,DA))。
DEM密文解密部216将接收到的DEM密文DEMA(=EDA||HDA)分离为加密数据EDA和MAC值HDA。DEM密文解密部216用与上述所示的DEM密文解密部116的分解的方法相同的方法来分解DEM密文DEMA。
DEM密文解密部216将解密指示和加密数据EDA(=Enc(KS,DA))输出到共用密钥解密部214。
DEM密文解密部216从共用密钥解密部214接收到解密数据DA’后,将MAC指示和解密数据DA’输出到MAC生成部212。
DEM密文解密部216接收到MAC值HDA’(=Hash(KH,DB’))后,与从DEM密文DEMA分离出的HDA进行比较,判断是否一致。
在判断为一致的情况下,DEM密文解密部216将解密数据DA’、即加密对象数据DA经输入输出部201输出到外部。
在判断为不一致的情况下,DEM密文解密部216中止与密码通信有关的整个处理。
(15)输入输出部 201
输入输出部201从外部接受加密对象数据DB,将接受到的加密对象数据DB输出到DEM密文生成部215。
输入输出部201从DEM密文解密部216接收到解密数据DA’后,将接收到的解密数据DA’输出到外部。
(16)收发部 202
收发部202从KEM密文生成部205接收到KEM密文KEMB后,将接收到的KEM密文KEMA经通信路径30发送到密码通信装置A10。
收发部202从密码通信装置A10经通信路径30接收到KEM密文KEMA后,将接收到的KEM密文KEMA输出到KEM密文解密部206。
收发部202从询问数据生成部209接收到询问数据nB后,将接收到的询问数据nB经通信路径30发送到密码通信装置A10。
收发部202从应答数据生成部210接收到应答数据rB后,将接收到的应答数据rB经通信路径30发送到密码通信装置A10。
收发部202从密码通信装置A10经通信路径30接收到询问数据nA和应答数据rA,或者只接收到询问数据nA后,将接收到的询问数据nA及应答数据rA、或者询问数据nA输出到应答数据生成部210。
收发部202从密码通信装置A10经通信路径30接收到应答数据rA后,将接收到的应答数据rA输出到应答数据验证部211。
收发部202从DEM密文生成部215接收到DEM密文DEMB后,将接收到的DEM密文DEMB经通信路径30发送到密码通信装置A10。
收发部202从密码通信装置A10经通信路径30接收到DEM密文DEMA后,将接收到的DEM密文DEMA输出到DEM密文解密部216。
1.4密码通信系统1的工作
(1)工作概要
密码通信系统1的工作大体分来,由密码通信装置A10和密码通信装置B20共享密钥的密钥共享阶段、使用共享的密钥来相互认证的询问—应答认证阶段、使用共享的密钥来收发数据的数据密码通信阶段组成。
在密钥共享阶段,密码通信装置A10和密码通信装置B20用KEM来进行相互认证及密钥分发,相互的装置共享密钥。
在询问—应答认证阶段,通过用共享的密钥进行询问—应答认证,密码通信装置A10和密码通信装置B20分别确认相互的发送对方未进行冒名攻击。
在数据密码通信阶段,用共享的密钥在密码通信装置A10和密码通信装置B20之间经通信路径30来收发加密过的数据。
这里,所谓数据,例如是文本数据、音乐数据、图像数据、电影内容数据。
(2)动作
以下,用图4至图7所示的流程图来说明密码通信系统1的工作。
密码通信装置A10的KEM密文生成部105用公钥KPB和KEM的公钥加密算法KemE,来生成密钥数据KA及密钥数据KA的KEM密文KEMA(步骤S5)。
KEM密文生成部105将生成的KEM密文KEMA发送到密码通信装置B20(步骤S10)。
密码通信装置B20的KEM密文解密部206从密码通信装置A10经收发部202接收KEM密文KEMA(步骤S15)。
KEM密文解密部206用与公钥加密算法KemE对应的公钥解密算法KemD、及私钥KSB对接收到的KEM密文KEMA进行解密,来生成密钥数据KA(步骤S20)。
密码通信装置B20的KEM密文生成部205用公钥KPA和KEM的公钥加密算法KemE,来生成密钥数据KB及密钥数据KB的KEM密文KEMB(步骤S25)。
KEM密文生成部205将生成的KEM密文KEMB发送到密码通信装置A10(步骤S30)。
密码通信装置B20的共享密钥生成部207用KEM密文生成部205生成的密钥数据KB、和KEM密文解密部206生成的密钥数据KA,来生成共享密钥K(=KA xor KB)(步骤S35)。
共享密钥生成部207根据生成的共享密钥K来生成共用密钥密码用共享密钥KS和MAC用共享密钥KH(K=KS||KH),将生成的共用密钥密码用共享密钥KS和MAC用共享密钥KH保存到共享密钥保存部208中(步骤S40)。
密码通信装置A10的KEM密文解密部106从密码通信装置B20经收发部102接收KEM密文KEMB(步骤S45)。
KEM密文解密部106用公钥解密算法KemD、及私钥KSA对接收到的KEM密文KEMB进行解密,来生成密钥数据KB(步骤S50)。
密码通信装置A10的共享密钥生成部107用KEM密文生成部105生成的密钥数据KA、和KEM密文解密部106生成的密钥数据KB,来生成共享密钥K(=KA xor KB)(步骤S55)。
共享密钥生成部107用生成的共享密钥K来生成共用密钥密码用共享密钥KS和MAC用共享密钥KH(K=KS||KH),将生成的共用密钥密码用共享密钥KS和MAC用共享密钥KH保存到共享密钥保存部108中(步骤S60)。
密码通信装置A10的询问数据生成部109生成询问数据nA(步骤S65),将生成的询问数据nA发送到密码通信装置B20(步骤S70)。
密码通信装置B20的应答数据生成部210从密码通信装置A10接收询问数据nA(步骤S75)。
密码通信装置B20的MAC生成部212用共享密钥保存部208中保存着的MAC用共享密钥KH、和预先存储着的带密钥散列函数Hash,来计算询问数据nA的MAC值HnA(=Hash(KH,nA)),将算出的MAC值HnA作为应答数据rB(步骤S80)。
密码通信装置B20的询问数据生成部209生成询问数据nB(步骤S85)。
询问数据生成部209将询问数据nB,应答数据生成部210将应答数据rB,分别发送到密码通信装置A10(步骤S90)。
密码通信装置A10的应答数据生成部110从密码通信装置B20接收询问数据nB和应答数据rB(步骤S95)。
应答数据生成部110将应答数据rB和验证指示输出到应答数据验证部111。应答数据验证部111从应答数据生成部110接收到验证指示和应答数据rB后,取得询问数据生成部109临时存储着的询问数据nA。应答数据验证部111将MAC生成指示和取得的询问数据nA输出到MAC生成部112。MAC生成部112用共享密钥保存部108中保存着的MAC用共享密钥KH和带密钥散列函数Hash,来计算询问数据nA的MAC值HnA,将算出的MAC值HnA输出到应答数据验证部111。应答数据验证部111从MAC生成部112接收到MAC值HnA后,判断MAC值HnA和应答数据rB是否一致(步骤S100)。
在判断为不一致的情况下(步骤S100中的“NG”),中止与密码通信有关的处理。
在判断为一致的情况下(步骤S100中的“OK”),应答数据生成部110将应答数据生成指示输出到应答数据生成部110。应答数据生成部110从应答数据验证部111接收到应答数据生成指示后,将MAC生成指示和临时存储着的询问数据nB输出到MAC生成部112。MAC生成部112从应答数据验证部111接收到MAC生成指示和询问数据nB后,用共享密钥保存部208中保存着的MAC用共享密钥KH和带密钥散列函数Hash,来计算询问数据nB的MAC值HnB(=Hash(KH,nB)),将算出的MAC值HnB作为应答数据rA(步骤S105)。
应答数据生成部110将应答数据rA发送到密码通信装置B20(步骤S110)。
密码通信装置B20的应答数据验证部211从密码通信装置A10接收应答数据rA(步骤S115)。
应答数据验证部211取得询问数据生成部209临时存储着的询问数据nB。应答数据验证部211将MAC生成指示和取得的询问数据nB输出到MAC生成部212。MAC生成部212从应答数据验证部211接收到MAC生成指示和询问数据nB后,用共享密钥保存部208中保存着的MAC用共享密钥KH和带密钥散列函数Hash,来计算询问数据nB的MAC值HnB,将算出的MAC值HnB输出到应答数据验证部211。应答数据验证部211从MAC生成部212接收到MAC值HnB后,判断MAC值HnB和应答数据rA是否一致(步骤S120)。
在判断为不一致的情况下(步骤S120中的“NG”),中止与密码通信有关的处理。
在判断为一致的情况下(步骤S120中的“OK”),继续进行与密码通信有关的处理。
密码通信装置A10的DEM密文生成部115从外部经输入输出部101接收加密对象数据DA(步骤S125)。
密码通信装置A10的共用密钥加密部113用共用密钥保存部108中保存着的共用密钥密码用共享密钥KS和共用密钥密码算法对DEM密文生成部115接收到的加密对象数据DA进行加密,来生成加密对象数据DA的加密数据EDA(=Enc(KS,DA))(步骤S130)。
密码通信装置A10的MAC生成部112用共用密钥保存部108中保存着的MAC用共享密钥KH和带密钥散列函数Hash,来计算DEM密文生成部115接收到的加密对象数据DA的MAC值HDA(=Hash(KH,DA))(步骤S135)。
DEM密文生成部115连结共用密钥加密部113生成的加密数据EDA、和MAC生成部112算出的MAC值HDA,来生成DEM密文DEMA(=Enc(KS,DA)||HDA)(步骤S140)。
DEM密文生成部115将生成的DEM密文DEMA发送到密码通信装置B20(步骤S145)。
密码通信装置B20的DEM密文解密部216从密码通信装置A10接收DEM密文DEMA(步骤S150)。
DEM密文解密部216将接收到的DEM密文DEMA分离为加密数据EDA和MAC值HDA(步骤S155)。
密码通信装置B20的共用密钥解密部214用共享密钥保存部208中存储着的共用密钥密码用共享密钥KS和共用密钥解密算法对DEM密文解密部216取得的加密数据EDA进行解密,来生成解密数据DA’(步骤S160)。
密码通信装置B20的MAC生成部212用共享密钥保存部208中保存着的MAC用共享密钥KH和带密钥散列函数Hash,来计算共用密钥解密部214生成的解密数据DA’的MAC值HDA’(=Hash(KH,DA’))(步骤S165)。
DEM密文解密部216比较MAC生成部212算出的MAC值HDA’(=Hash(KH,DB’))、和从DEM密文DEMA分离出的HDA,判断是否一致(步骤S170)。
在判断为不一致的情况下(步骤S170中的“NG”),中止与密码通信有关的处理。
在判断为一致的情况下(步骤S170中的“OK”),DEM密文解密部216将解密数据DA’、即加密对象数据DA经输入输出部201输出到外部(步骤S175)。
密码通信装置B20的DEM密文生成部215从外部经输入输出部201接收加密对象数据DB(步骤S180)。
密码通信装置B20的共用密钥加密部213用共享密钥保存部208中保存着的共用密钥密码用共享密钥KS和共用密钥密码算法对DEM密文生成部215接收到的加密对象数据DB进行加密,来生成加密对象数据DB的加密数据EDB(=Enc(KS,DA))(步骤S185)。
密码通信装置B20的MAC生成部212用共享密钥保存部208中保存着的MAC用共享密钥KH和带密钥散列函数Hash,来计算DEM密文生成部215接收到的加密对象数据DB的MAC值HDB(=Hash(KH,DB))(步骤S190)。
DEM密文生成部215连结共用密钥加密部213生成的加密数据EDB、和MAC生成部212算出的MAC值HDB,来生成DEM密文DEMB(=Enc(KS,DB)||HDB)(步骤S195)。
DEM密文生成部215将生成的DEM密文DEMB发送到密码通信装置A10(步骤S200)。
密码通信装置A10的DEM密文解密部116从密码通信装置B20接收DEM密文DEMB(步骤S205)。
DEM密文解密部116将接收到的DEM密文DEMB(=EDB||HDB)分离为加密数据EDB和MAC值HDB(步骤S210)。
密码通信装置A10的共用密钥解密部114用共享密钥保存部108中保存着的共用密钥密码用共享密钥KS和共用密钥解密算法对DEM密文解密部116取得的加密数据EDB进行解密,来生成解密数据DB’(步骤S215)。
密码通信装置A10的MAC生成部112用共享密钥保存部108中保存着的MAC用共享密钥KH和带密钥散列函数Hash,来计算共用密钥解密部114生成的解密数据DB’的MAC值HDB’(=Hash(KH,DB’))(步骤S220)。
DEM密文解密部116比较MAC生成部112算出的MAC值HDB’、和从DEM密文DEMB分离出的HDB,判断是否一致(步骤S225)。
在判断为不一致的情况下(步骤S225中的“NG”),中止与密码通信有关的处理。
在判断为一致的情况下(步骤S230中的“OK”),DEM密文解密部116将解密数据DB’、即加密对象数据DB经输入输出部101输出到外部(步骤S230)。
这里,密钥共享阶段相当于步骤S5至步骤S60的处理,询问—应答认证阶段相当于步骤S65至步骤S120的处理,数据密码通信阶段相当于步骤S125至步骤S230的处理。
1.5第1实施方式的效果
在第1实施方式中,通过在密钥封装机制(KEM)和发送DEM密文的处理上追加用MAC用共享密钥来执行询问—应答认证的处理,不仅能够保证共享密钥泄露的困难性,也能够保证对冒名攻击的安全性。
以下,对此进行详细说明。
只要是发送用按密钥封装机制而共享的密钥对数据进行加密所得的加密数据和该数据的带密钥散列函数值的方式,则作为数据加密方法,以困难的数学问题为根据而保证了能够证明与共享密钥的泄露和密文数据的平文数据的泄露有关的安全性。
这记载于著者Victor Shoup的“A proposal for an ISO standard forpublic key encryption(version 2.1)”,所以这里省略其说明。
本方式同样发送用按密钥封装机制而共享的密钥对数据进行加密所得的加密数据和该数据的带密钥散列值,所以能够保证同样的安全性。
此外,在密码通信装置A10中,如果未保持正确的私钥KSA,则不能对KEM密文KEMB进行解密来取得密钥数据KB,所以不能得到与密码通信装置B20共享的共用密钥密码用共享密钥KS及MAC用共享密钥KH。因此,不能在步骤S215中对加密数据EDB进行解密。此外,密码通信装置B20也同样,如果未保持正确的私钥KSB,则不能对KEM密文KEMA进行解密来取得密钥数据KA,所以不能得到与密码通信装置A10共享的共用密钥密码用共享密钥KS及MAC用共享密钥KH。因此,不能在步骤S160中对加密数据EDA进行解密。为了正确地取得密钥数据KA或密钥数据KB,需要正确的私钥KSA或KSB。
因此,通过从双方的设备相互发送KEM密文KEMB、KEMA,能够实现双向的认证。
再者,在第1实施方式中,用MAC用共享密钥KH来执行询问—应答认证。为了判定为是正确的密码通信装置,需要发送正确的应答数据。在第1实施方式中,为了生成应答数据,使用DEM密文生成部所使用的MAC生成部。DEM密文生成部所使用的MAC生成部只要不知道MAC用共享密钥KH,则能够生成正确的应答数据的概率非常低。
因此,在能够生成正确的应答数据的情况下,即,在通过认证而能够进行冒名攻击的情况下,则攻击者知道了MAC用共享密钥KH。但是,不限于MAC用共享密钥KH,能够证明用KEM生成的各共享密钥的泄露很困难(对共享密钥的泄露是安全的),所以能够证明冒名攻击很困难。
根据以上,能够实现不仅能够保证密钥泄露和平文泄露的安全性、而且能够保证对冒名攻击的安全性的认证密钥共享,其价值很大。
1.6密码通信系统1的变形例
在上述实施方式中,密码通信系统1由2台密码通信装置构成,但是不限于此。
本发明的密码通信系统也可以由在1台计算机装置内具有防篡改性的区域A和另一区域B值收发(输入输出)数据时进行密码通信的2个程序组成。这2个程序由计算机装置执行,在执行的2个程序间,进行本发明的密码通信。
这里,假设进行密码通信的2个程序为程序A及B,程序A存在于区域A中,程序B存在于区域B中。
程序A及程序B分别包含输入输出步骤、收发部步骤、KEM密文生成步骤、KEM密文解密步骤、共享密钥生成步骤、询问数据生成步骤、应答数据生成步骤、应答数据验证步骤、MAC生成步骤、共用密钥加密步骤、共享密钥解密步骤、DEM密文生成步骤、及DEM密文解密步骤。
此外,区域A及B与上述所示的密码通信装置同样,具有保存着通信对方的公钥的公钥保存部、保存着自身的私钥的私钥保存部、及具有保存共用密钥密码用共享密钥KS和MAC用共享密钥KH的区域的共享密钥保存部。这里,假设区域A中的各保存部的内容的结构是:区域A具有防篡改性,所以不会泄露到外部,而区域B中的各保存部的内容也不会泄露到外部(例如,防篡改性)。
各步骤通过进行与上述实施方式中所示的各构件同样的工作,与上述同样,实现了密钥共享阶段、询问—应答认证阶段及数据密码通信阶段,所以省略对各步骤的动作的说明。
这里,将本发明适用于2个程序间的密码通信,但是不限于此。
本发明也可以适用于密码通信装置和程序之间的密码通信。具体地说,也可以适用于密码通信装置为DVD装置、程序被记录在DVD上的情况下的密码通信。程序由DVD装置内的执行单元执行,在DVD装置具备的构件(例如与密码通信装置A10同样的构件)和执行的程序间进行本发明的密码通信。
1.7其他变形例
上述说明过的实施方式是本发明的实施的一例,本发明丝毫不限于该实施方式,在不脱离其主旨的范围内可以各种形态来实施。例如,如下情况也被包含在本发明中。
(1)在上述实施方式中,从密码通信装置A10及密码通信装置B20分别收发数据,但是不限于此。
也可以使只有一个密码通信装置(例如密码通信装置A10)发送数据,只有另一个密码通信装置(例如密码通信装置B20)接收数据。
(2)在上述实施方式中,在密钥共享阶段和询问—应答认证阶段之间、询问—应答认证阶段和数据密码通信阶段之间,也可以在途中包含其他某些处理,例如确认设备的功能(音乐视听功能、电影视听功能或广播接收功能等)的处理。此外,各阶段的内部的处理步骤的顺序不限于上述所示的。
(3)在上述实施方式中,在询问—应答认证阶段,各密码通信装置将随机生成的询问数据发送到通信对方的装置,但是不限于此。
也可以使各密码通信装置将根据来自通信对方的KEM密文而求出的密钥数据(如果是密码通信装置A10则是密钥数据KB,如果是密码通信装置B20则是密钥数据KA)作为询问数据。
通过这样做,能够削减发送询问数据的处理。此时,对方能通过确认自身生成的密钥数据和作为询问数据发送的密钥数据是否一致来进行与询问—应答认证阶段同样的认证。
例如,密码通信装置A10从密码通信装置B20接收到询问数据rB(=Hash(KH,KA)后,计算自身生成的KA的MAC值,通过判断算出的MAC值和询问数据rB是否一致,来认证通信对方。
此外,密码通信装置B20从密码通信装置A10接收到询问数据rA(=Hash(KH,KB)后,计算自身生成的KB的MAC值,通过判断算出的MAC值和询问数据rA是否一致,来认证通信对方。
(4)在上述实施方式中,各密码通信装置的共享密钥生成部生成共享密钥K,将生成的共享密钥K的一部分作为共用密钥密码用共享密钥KS,将其他部分作为MAC用共享密钥KH,但是不限于此。
也可以使各密码通信装置的共享密钥生成部将生成的共享密钥K本身作为共用密钥密码用共享密钥KS及MAC用共享密钥KH。即,K=KS=KH。
(5)在上述实施方式中,各密码通信装置的共享密钥生成部在生成共享密钥K时用密钥KA和密钥KB的逻辑“异或”来生成,但是不限于此。
共享密钥生成部也可以使用MAC生成部所使用的散列函数Hash,来生成共享密钥K。
例如,各密码通信装置的共享密钥生成部可以将Hash(KA,KB)作为共享密钥K,也可以将Hash(KB,KA)作为共享密钥K。
此外,在散列函数Hash为上述实施方式中所示的SHA1的情况下,各密码通信装置的共享密钥生成部可以将SHA1(KA||KB)作为共享密钥K,也可以将SHA1(KB||KA)作为共享密钥K。
由此,生成共享密钥的安全性提高。
(6)在上述实施方式中,各密码通信装置将通信对方的公钥预先保存在公钥保存部中,但是不限于此。
也可以使密码通信装置将证书中心发行的公钥证书(包含证书中心对公钥的签名和公钥本身)发送到通信对方。例如,密码通信装置A10从作为通信对方的密码通信装置B20接收对公钥KPB的公钥证书,密码通信装置B20从作为通信对方的密码通信装置A10接收对公钥KPA的公钥证书。
在此情况下,作为通信对方的密码通信装置具有证书中心的公钥,在密钥共享阶段之前,用证书中心的公钥来验证相互的公钥证书,在判定为正确的证书时将公钥证书中包含的公钥保存到公钥保存部中。
此外,也可以是各密码通信装置从证书中心接收公钥证书。
(7)在上述实施方式中,在进行询问—应答认证时,采用了计算带密钥散列值的方法,但是不限于此。
例如,也可以是交换用MAC用共享密钥KH对询问数据进行加密而生成的应答数据。
此情况下的验证可以比较对应答数据的加密进行解密的结果和发送方保持着的询问数据,也可以比较用同样的方法对发送方保持着的询问数据进行加密所得的结果和应答数据。
此外,认证方法也并不限于询问—应答。可以是用KEM共享的密钥数据影响认证结果的任何认证方法。
此外,在询问—应答认证中,也不限于上述实施方式中所示的认证方法。也可以是用与上述所示的方法不同的方法进行的询问—应答认证。
以下,说明其一例。这里,以图5所示的步骤S65至S100的变更点为中心来说明密码通信装置A10认证密码通信装置B20的情况。
密码通信装置A10执行步骤S65后,用密码通信装置A10具有的MAC用共享密钥KH对生成的询问数据nA进行加密来生成加密数据Enc(KH,nA)。
密码通信装置A10在步骤S70中将生成的加密数据Enc(KH,nA)发送到密码通信装置B20。
密码通信装置B20在步骤S75中接收加密数据Enc(KH,nA)。
密码通信装置B20在步骤S80中用自身具有的MAC用共享密钥KH对接收到的加密数据Enc(KH,nA)进行解密,生成解密数据nA’,将生成的加密数据nA’作为应答数据rB(=nA’)。
密码通信装置B20执行步骤S85、S90。
密码通信装置A10执行步骤S95后,比较接收到的应答数据和自身存储着的询问数据nA来判断密码通信装置B20的合法性。
在步骤S85中,密码通信装置B20也可以用密码通信装置B20具有的MAC用共享密钥KH对生成的询问数据nB进行加密来生成加密数据Enc(KH,nB)。此时,密码通信装置A10在步骤S105中,用自身具有的MAC用共享密钥KH对接收到的加密数据Enc(KH,nB)进行解密,生成解密数据nB’,将生成的加密数据nB’作为应答数据rA(=nB’)。
(8)在上述实施方式中,双向进行询问—应答认证,但是不限于此。
也可以是单向的询问—应答认证。在此情况下,也能够证明对被认证者的冒名攻击的安全性。
在此情况下,无需创建MAC用共享密钥KH,也可以直接用密钥数据KA或密钥数据KB来进行认证。即,由于是单向的认证,所以如果KEM密文的接收方具有正确的私钥,则能够取得密钥数据KA或密钥数据KB,所以用取得的密钥数据进行认证即可。
在此情况下,例如在共享密钥数据KA的情况下,通过从密码通信装置B20向密码通信装置A10进行单向认证,也能够进行简单的相互认证。即,由于能够共享密钥数据,因此可以确认密码通信装置B20具有合法的私钥KSB,所以能够确认密码通信装置B20是合法的。其后,通过询问—应答认证,能确认密码通信装置A10是否是共享密钥数据KA的装置,所以能够确认密码通信装置A10的合法性。
此外,当然可以在生成了MAC用共享密钥KH后,用它来进行单向的认证,在上述情况下也可以进行从密码通信装置A10向密码通信装置B20的单向认证。
(9)在上述实施方式中,密码通信装置B20也可以是带IC功能的存储卡。
带IC功能的存储卡的结构可以由与密码通信装置B20同样的构件来实现,所以这里省略其说明。
在本发明中,假设带IC功能的存储卡包含在密码通信装置的概念中。即,本发明可以适用于2个带IC功能的存储卡间的密码通信,也可以适用于在上述所示的密码通信装置A10和带IC功能的存储卡间的密码通信。
(10)在上述实施方式中,共享密钥生成部107及207对共享密钥数据K取得共用密钥密码用共享密钥KS和MAC用共享密钥KH,使得满足K=KS||KH,但是不限于此。
共享密钥生成部107及207也可以对共享密钥数据K取得共用密钥密码用共享密钥KS和MAC用共享密钥KH,使得满足K=KH||KS。
例如,也可以将对共享密钥数据施以不同的变换而得到的2个值分别作为共用密钥密码用共享密钥KS和MAC用共享密钥KH。
即,共用密钥密码用共享密钥KS和MAC用共享密钥KH分别是依赖于共享密钥数据而决定的值即可。
(11)在上述实施方式中,密码通信装置B20将应答数据rB和询问数据nB一起发送到密码通信装置A10,但是不限于此。
也可以将应答数据rB和询问数据nB以不同的定时发送到密码通信装置A10。在此情况下,密码通信装置A10也可以以不同的定时来接收应答数据rB和询问数据nB。
(12)上述各装置具体地说是由微处理器、ROM、RAM、硬盘驱动器、显示单元、键盘、鼠标等构成的计算机系统。在上述RAM或硬盘驱动器中,存储着计算机程序。各装置通过使上述微处理器根据上述计算机程序工作,来实现其功能。这里,计算机程序为了实现规定的功能,是组合多个表示对计算机的指令的指令码而构成的。
(13)也可以使构成上述各装置的构件的一部分或全部由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个构成部分集成在1个芯片上而制造出的超多功能LSI,具体地说,是包含微处理器、ROM、RAM等而构成的计算机系统。在上述RAM中,存储着计算机程序。系统LSI通过使上述微处理器根据上述计算机程序工作,来实现其功能。
此外,构成上述各装置的构件的各部可以分别单片化,也可以包含一部分或全部来单片化。
此外,这里,称为系统LSI,但是根据集成度的不同,有时也称为IC、LSI、S(超)LSI、U(甚)LSI。此外,集成电路化的手法并不限于LSI,也可以用专用电路或通用处理器来实现。也可以利用在制造LSI后可编程的FPGA(Field Programmable Gate Array,现场可编程门阵列)或可重构LSI内部的电路单元的链接或设置的可重构处理器。
再者,如果由于半导体技术的进步或派生的别的技术而出现了替代LSI的集成电路化的技术,则当然也可以用该技术来进行功能块的集成化。适用生物技术等也有可能性。
(14)构成上述各装置的构件的一部分或全部也可以由可插入各装置并可拔出的IC卡或单体的模块构成。上述IC卡或上述模块是由微处理器、ROM、RAM等构成的计算机系统。也可以使上述IC卡或上述模块包含上述超多功能LSI。上述IC卡或上述模块通过使微处理器根据计算机程序工作,来实现其功能。也可以使该IC卡或该模块具有防篡改性。
(15)本发明也可以是上述所示的方法。此外,可以是用计算机来实现这些方法的计算机程序,也可以是由上述计算机程序组成的数字信号。
(16)此外,本发明也可以是记录着上述计算机程序或上述数字信号的计算机可读的记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc,蓝光光盘)、半导体存储器等。此外,也可以是这些记录介质上记录着的上述数字信号。
(17)此外,本发明也可以是经由电信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等而传输的上述计算机程序或上述数字信号。
(18)此外,本发明也可以是包括微处理器和存储器的计算机系统,上述存储器存储着上述计算机程序,上述微处理器根据上述计算机程序来工作。
(19)此外,也可以通过将上述程序或上述数字信号记录到上述记录介质上来移送,或者通过将上述程序或上述数字信号经由上述网络等来移送,而用独立的其他计算机系统来实施。
(20)也可以分别组合上述实施方式及上述变形例。
1.8总结
(1)本发明是一种密码通信系统,包括第1密码通信装置和第2密码通信装置,在上述第1密码通信装置和上述第2密码通信装置之间分发密钥,用共享的密钥从上述第1密码通信装置向上述第2密码通信装置发送内容数据,其特征在于,上述第1密码通信装置包括:输入部,接受上述内容数据的输入;第1收发部,向上述第2密码通信装置发送数据,从上述第2密码通信装置接收数据;第1密钥密文生成部,生成第1密钥和对第1密钥进行加密所得的第1密钥密文;第1密钥密文解密部,对第2密钥密文进行解密来生成第1解密密钥;第1共享密钥生成部,根据上述第1密钥和上述第1解密密钥来生成第1共享密钥;第1共享密钥保存部,保存上述第1共享密钥;第1询问数据生成部,生成第1询问数据;第1应答数据生成部,生成对第2询问数据的第1应答数据;第1应答数据验证部,验证第2应答数据;以及数据密文生成部,对上述内容数据进行加密来生成加密内容数据;上述第2密码通信装置包括:输出部,输出解密内容数据;第2收发部,向上述第1密码通信装置发送数据,从上述第1密码通信装置接收数据;第2密钥密文生成部,生成第2密钥和对第2密钥进行加密所得的第2密钥密文;第2密钥密文解密部,对上述第1密钥密文进行解密来生成第2解密密钥;第2共享密钥生成部,根据上述第2密钥和上述第2解密密钥来生成第2共享密钥;第2共享密钥保存部,保存上述第2共享密钥;第2询问数据生成部,生成上述第2询问数据;第2应答数据生成部,生成对上述第1询问数据的上述第2应答数据;第2应答数据验证部,验证上述第1应答数据;以及数据密文解密部,对上述加密内容数据进行解密来生成上述解密内容数据;上述第1应答数据生成部使用应答数据用带密钥散列函数来生成将上述第1共享密钥的全部或一部分作为密钥的带密钥散列值而作为上述第1应答数据;上述第1应答数据验证部使用上述应答数据用带密钥散列函数来生成将上述第1共享密钥的全部或一部分作为密钥的带密钥散列值并用来验证上述第2应答数据;上述数据密文生成部使用将上述第1共享密钥的全部或一部分作为密钥的带密钥散列值、数据密文用带密钥散列函数来生成上述加密内容数据;上述第2应答数据生成部使用应答数据用带密钥散列函数来生成将上述第2共享密钥的全部或一部分作为密钥的带密钥散列值而作为上述第2应答数据;上述第2应答数据验证部使用上述应答数据用带密钥散列函数来生成将上述第2共享密钥的全部或一部分作为密钥的带密钥散列值并用来验证上述第1应答数据;上述数据密文解密部使用上述数据密文用带密钥散列函数来生成将上述第2共享密钥的全部或一部分作为密钥的带密钥散列值。
(2)在上述(1)中,上述应答数据用带密钥散列函数和上述数据密文用带密钥散列函数也可以相同。
(3)在上述(1)中,上述第1密钥密文及上述第2密钥密文也可以用密钥封装机制来生成。
(4)在上述(1)至(3)的任一项中,也可以使上述第1共享密钥生成部将上述第1密钥和上述第1解密密钥的逻辑“异或”作为上述第1共享密钥来输出,上述第2共享密钥生成部将上述第2密钥和上述第2解密密钥的逻辑“异或”作为上述第2共享密钥来输出。
(5)在上述(1)至(3)的任一项中,也可以使上述第1共享密钥生成部将用生成共享密钥的散列函数——共享密钥生成散列函数对上述第1密钥和上述第1解密密钥的位连结计算出的散列值作为上述第1共享密钥来输出,上述第2共享密钥生成部将用上述共享密钥生成散列函数对上述第2密钥和上述第2解密密钥的位连结计算出的散列值作为上述第2共享密钥来输出。
(6)在上述(5)中,也可以使上述应答数据用带密钥散列函数和上述数据密文用带密钥散列函数基于上述共享密钥生成散列函数。
(7)在上述(1)至(6)的任一项中,也可以使上述第1密码通信装置不包括第1询问数据生成部,将上述第1询问数据作为上述第1密钥;上述第2密码通信装置不包括第2询问数据生成部,将上述第2询问数据作为上述第2密钥。
(8)此外,本发明是一种密码通信系统中的内容发送装置,该密码通信系统包括内容发送装置和内容接收装置,在上述内容发送装置和上述内容接收装置之间分发密钥,用共享的密钥来进行加密通信,其特征在于,该内容发送装置包括:输入部,接受上述内容数据的输入;收发部,向上述内容接收装置发送数据,从上述内容接收装置接收数据;第1密钥密文生成部,生成第1密钥和对第1密钥进行加密所得的第1密钥密文;第1密钥密文解密部,对从上述内容接收装置发送的第2密钥密文进行解密来生成第1解密密钥;共享密钥生成部,根据上述第1密钥和上述第1解密密钥来生成第1共享密钥;共享密钥保存部,保存上述第1共享密钥;询问数据生成部,生成第1询问数据;应答数据生成部,生成对从上述内容接收装置发送的第2询问数据的第1应答数据;应答数据验证部,验证从上述内容接收装置发送的第2应答数据;以及数据密文生成部,对上述内容数据进行加密来生成加密内容数据;上述应答数据生成部使用应答数据用带密钥散列函数来生成将上述第1共享密钥的全部或一部分作为密钥的带密钥散列值而作为上述第1应答数据;上述应答数据验证部使用上述应答数据用带密钥散列函数来生成将上述第1共享密钥的全部或一部分作为密钥的带密钥散列值并用来验证上述第2应答数据;上述数据密文生成部使用数据密文用带密钥散列函数来生成将上述第1共享密钥的全部或一部分作为密钥的带密钥散列值。
(9)在上述(8)中,上述第1密钥密文及上述第2密钥密文也可以用密钥封装机制来生成。
(10)在上述(9)中,上述应答数据用带密钥散列函数和上述数据密文用带密钥散列函数也可以基于上述共享密钥生成散列函数。
(11)此外,本发明是一种密码通信系统中的内容接收装置,该密码通信系统包括内容发送装置和内容接收装置,在上述内容发送装置和上述内容接收装置之间分发密钥,用共享的密钥来进行加密通信,其特征在于,上述内容接收装置包括:输出部,输出解密内容数据;收发部,向上述内容发送装置发送数据,从上述内容发送装置接收数据;第2密钥密文生成部,生成第2密钥和对第2密钥进行加密所得的第2密钥密文;第2密钥密文解密部,对从上述内容发送装置发送的第1密钥密文进行解密来生成第2解密密钥;共享密钥生成部,根据上述第2密钥和上述第2解密密钥来生成第2共享密钥;共享密钥保存部,保存上述第2共享密钥;询问数据生成部,生成第2询问数据;应答数据生成部,生成对从上述内容发送装置发送的第1询问数据的上述第2应答数据;应答数据验证部,验证从上述内容发送装置发送的上述第1应答数据;以及数据密文解密部,对从上述内容发送装置发送的加密内容数据进行解密来生成上述解密内容数据;上述应答数据生成部使用应答数据用带密钥散列函数来生成将上述第2共享密钥的全部或一部分作为密钥的带密钥散列值而作为上述第2应答数据;上述应答数据验证部使用上述应答数据用带密钥散列函数来生成将上述第2共享密钥的全部或一部分作为密钥的带密钥散列值并用来验证上述第1应答数据;上述数据密文解密部使用数据密文用带密钥散列函数来生成将上述第2共享密钥的全部或一部分作为密钥的带密钥散列值。
(12)在上述(11)中,上述第1密钥密文及上述第2密钥密文也可以用密钥封装机制来生成。
(13)在上述(11)、(12)的任一项中,上述应答数据用带密钥散列函数和上述数据密文用带密钥散列函数也可以基于上述共享密钥生成散列函数。
(14)根据这些结构,通过在使用密钥封装机制进行了密钥共享之后,追加使用共享的密钥的询问—应答认证,能够保证冒名攻击的安全性,所以其价值很大。
产业上的可利用性
构成本发明的各装置、各方法及计算机程序可以在需要安全而且可靠地处理信息的所有产业中经营性地、持续性地及反复性地使用。
此外,构成本发明的各装置、各方法及各计算机程序可以在电器设备制造产业中经营性地、持续性地及反复性地制造、销售。
权利要求书(按照条约第19条的修改)
1.(修改后)一种通信装置,用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信,其特征在于,包括:
密钥生成单元,在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断单元,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成单元,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
2.(修改后)如权利要求1所述的通信装置,其特征在于,
上述密钥生成单元生成第1密钥数据,通过将上述第1密钥数据秘密地发送到上述外部装置,及秘密地接收上述外部装置生成的第2密钥数据,而在与上述外部装置之间共享上述第1密钥数据及上述第2密钥数据,用共享的上述第1密钥数据和上述第2密钥数据来生成上述共享密钥。
3.如权利要求2所述的通信装置,其特征在于,
上述认证是询问应答认证;
上述判断单元从上述外部装置接收对询问数据和上述共享密钥施以上述函数而生成的应答数据,进行上述询问应答认证,其中,将上述第1密钥数据作为上述询问数据。
4.如权利要求2所述的通信装置,其特征在于,
上述密钥生成单元通过上述第1密钥数据和上述第2密钥数据之间的逻辑“异或”运算来计算共享密钥数据,根据算出的共享密钥数据来生成上述共享密钥。
5.如权利要求4所述的通信装置,其特征在于,
上述密钥生成单元将上述共享密钥数据的一部分作为上述共享密钥。
6.如权利要求4所述的通信装置,其特征在于,
上述密钥生成单元将上述共享密钥数据本身作为上述共享密钥。
7.如权利要求2所述的通信装置,其特征在于,
上述密钥生成单元对上述第1密钥数据和上述第2密钥数据施以上述密钥依赖函数来生成共享密钥数据,根据生成的共享密钥数据来生成上述共享密钥。
8.如权利要求1所述的通信装置,其特征在于,上述密钥依赖函数是依赖于上述共享密钥的单向函数。
9.(修改后)如权利要求2所述的通信装置,其特征在于,
上述共享密钥是上述判断单元进行认证及生成上述验证用数据时所用的验证用共享密钥;
上述密钥生成单元还根据上述第1密钥数据和上述第2密钥数据来生成与在上述外部装置之间共享、且用于通信对象数据的加密及解密的密码用共享密钥;
上述通信装置还包括:发送单元,用上述密码用共享密钥对上述通信对象数据进行加密,来生成加密数据,将生成的上述加密数据与上述验证用数据一起发送到上述外部装置。
10.(修改后)如权利要求2所述的通信装置,其特征在于,
上述共享密钥是验证用共享密钥;
上述密钥生成单元还根据上述第1密钥数据和上述第2密钥数据来生成要在与上述外部装置之间共享的密码用共享密钥;
上述通信装置还包括:接收单元,从上述外部装置接收用上述密码用共享密钥对通信对象数据进行加密所得的加密数据;
上述数据生成单元对上述接收单元接收到的加密数据进行解密来取得解密数据,将取得的解密数据作为通信对象数据来生成上述验证用数据。
11.如权利要求1所述的通信装置,其特征在于,
上述密钥生成单元用密钥封装机制作为上述密钥分发来生成上述共享密钥。
12.(修改后)一种通信装置,将开始执行的程序作为通信对方,用与上述程序共享的密钥来进行通信对象数据的秘密通信,其特征在于,包括:
密钥生成单元,在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断单元,通过用在与上述程序之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述程序是否合法;以及
数据生成单元,在上述判断单元判断出上述程序合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
13.(修改后)一种程序,使计算机装置执行,将计算机装置作为通信对方,用与上述计算机装置共享的密钥来进行通信对象数据的秘密通信,其特征在于,包含:
密钥生成步骤,在与上述计算机装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述计算机装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述计算机装置是否合法;以及
数据生成步骤,在上述判断步骤判断出上述计算机装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
14.(修改后)一种第1程序,被保存在第1区域中,将存在于第2区域中的第2程序作为通信对方,用与上述第2程序共享的密钥来进行通信对象数据的秘密通信,
上述第1程序及上述第2程序由计算机装置执行;
上述第1程序包含:
密钥生成步骤,在与上述第2程序之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述第2程序之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述第2程序是否合法;以及
数据生成步骤,在上述判断步骤判断出上述第2程序合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
15.(修改后)一种通信系统,用第1及第2通信装置间共享的密钥来进行通信对象数据的秘密通信,其特征在于,
上述第1通信装置包括:
第1密钥生成单元,在与上述第2通信装置之间用证明了安全性的密码体制来生成要共享的第1共享密钥;
第1判断单元,通过用在与上述第2通信装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述第2通信装置是否合法;以及
第1数据生成单元,在上述第1判断单元判断出上述第2通信装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述第1共享密钥的上述密钥依赖函数相同的函数来生成第1验证用数据;
上述第2通信装置发送上述第1通信装置进行认证时所用的数据。
16.(修改后)如权利要求15所述的密码通信系统,其特征在于,
上述第2通信装置还包括:
第2密钥生成单元,在与上述第1通信装置之间用证明了安全性的密码体制来生成要共享的第2共享密钥;
第2判断单元,通过用上述密钥依赖函数进行认证,来判断上述第1通信装置是否合法;以及
第2数据生成单元,在上述第2判断单元判断出上述第1通信装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述第2共享密钥的上述密钥依赖函数相同的函数来生成第2验证用数据;
上述第1通信装置发送上述第2通信装置进行认证时所用的数据。
17.(修改后)一种通信方法,在用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信的通信装置中使用,其特征在于,包含:
密钥生成步骤,在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成步骤,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
18.(修改后)一种通信程序,在用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信的通信装置中使用,其特征在于,包含:
密钥生成步骤,在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成步骤,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
19.(修改后)如权利要求18所述的通信程序,其特征在于,
上述通信程序被记录在计算机可读的记录介质上。
20.(修改后)一种通信装置的集成电路,该通信装置用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信,其特征在于,包括:
密钥生成单元,在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断单元,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成单元,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。

Claims (20)

1.一种通信装置,用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信,其特征在于,包括:
密钥生成单元,不让第三者知道地在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断单元,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成单元,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
2.如权利要求1所述的通信装置,其特征在于,
上述密钥生成单元生成上述第1密钥数据,通过将上述第1密钥数据秘密地发送到上述外部装置,及秘密地接收上述外部装置生成的第2密钥数据,而在与上述外部装置之间共享上述第1密钥数据及上述第2密钥数据,用共享的上述第1密钥数据和上述第2密钥数据来生成上述共享密钥。
3.如权利要求2所述的通信装置,其特征在于,
上述认证是询问应答认证;
上述判断单元从上述外部装置接收对询问数据和上述共享密钥施以上述函数而生成的应答数据,进行上述询问应答认证,其中,将上述第1密钥数据作为上述询问数据。
4.如权利要求2所述的通信装置,其特征在于,
上述密钥生成单元通过上述第1密钥数据和上述第2密钥数据之间的逻辑“异或”运算来计算共享密钥数据,根据算出的共享密钥数据来生成上述共享密钥。
5.如权利要求4所述的通信装置,其特征在于,
上述密钥生成单元将上述共享密钥数据的一部分作为上述共享密钥。
6.如权利要求4所述的通信装置,其特征在于,
上述密钥生成单元将上述共享密钥数据本身作为上述共享密钥。
7.如权利要求2所述的通信装置,其特征在于,
上述密钥生成单元对上述第1密钥数据和上述第2密钥数据施以上述密钥依赖函数来生成共享密钥数据,根据生成的共享密钥数据来生成上述共享密钥。
8.如权利要求1所述的通信装置,其特征在于,上述密钥依赖函数是依赖于上述共享密钥的单向函数。
9.如权利要求1所述的通信装置,其特征在于,
上述共享密钥是上述判断单元进行认证及生成上述验证用数据时所用的验证用共享密钥;
上述密钥生成单元还根据上述共享密钥数据来生成与在上述外部装置之间共享、且用于通信对象数据的加密及解密的密码用共享密钥;
上述通信装置还包括:发送单元,用上述密码用共享密钥对上述通信对象数据进行加密,来生成加密数据,将生成的上述加密数据与上述验证用数据一起发送到上述外部装置。
10.如权利要求1所述的通信装置,其特征在于,
上述共享密钥是验证用共享密钥;
上述密钥生成单元还根据上述共享密钥数据来生成要在与上述外部装置之间共享的密码用共享密钥;
上述通信装置还包括:接收单元,从上述外部装置接收用上述密码用共享密钥对通信对象数据进行加密所得的加密数据;
上述数据生成单元对上述接收单元接收到的加密数据进行解密来取得解密数据,将取得的解密数据作为通信对象数据来生成上述验证用数据。
11.如权利要求1所述的通信装置,其特征在于,
上述密钥生成单元用密钥封装机制作为上述密钥分发来生成上述共享密钥。
12.一种通信装置,将开始执行的程序作为通信对方,用与上述程序共享的密钥来进行通信对象数据的秘密通信,其特征在于,包括:
密钥生成单元,不让第三者知道地在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断单元,通过用在与上述程序之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述程序是否合法;以及
数据生成单元,在上述判断单元判断出上述程序合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
13.一种程序,使计算机装置执行,将计算机装置作为通信对方,用与上述计算机装置共享的密钥来进行通信对象数据的秘密通信,其特征在于,包含:
密钥生成步骤,不让第三者知道地在与上述计算机装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述计算机装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述计算机装置是否合法;以及
数据生成步骤,在上述判断步骤判断出上述计算机装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
14.一种第1程序,被保存在第1区域中,将存在于第2区域中的第2程序作为通信对方,用与上述第2程序共享的密钥来进行通信对象数据的秘密通信,
上述第1程序及上述第2程序由计算机装置执行;
上述第1程序包含:
密钥生成步骤,不让第三者知道地在与上述第2程序之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述第2程序之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述第2程序是否合法;以及
数据生成步骤,在上述判断步骤判断出上述第2程序合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
15.一种通信系统,用第1及第2通信装置间共享的密钥来进行通信对象数据的秘密通信,其特征在于,
上述第1通信装置包括:
第1密钥生成单元,不让第三者知道地在与上述第2通信装置之间用证明了安全性的密码体制来生成要共享的第1共享密钥;
第1判断单元,通过用在与上述第2通信装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述第2通信装置是否合法;以及
第1数据生成单元,在上述第1判断单元判断出上述第2通信装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述第1共享密钥的上述密钥依赖函数相同的函数来生成第1验证用数据;
上述第2通信装置发送上述第1通信装置进行认证时所用的数据。
16.如权利要求14所述的密码通信系统,其特征在于,
上述第2通信装置还包括:
第2密钥生成单元,不让第三者知道地在与上述第1通信装置之间用证明了安全性的密码体制来生成要共享的第2共享密钥;
第2判断单元,通过用上述密钥依赖函数进行认证,来判断上述第1通信装置是否合法;以及
第2数据生成单元,在上述第2判断单元判断出上述第1通信装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述第2共享密钥的上述密钥依赖函数相同的函数来生成第2验证用数据;
上述第1通信装置发送上述第2通信装置进行认证时所用的数据。
17.一种通信方法,在用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信的通信装置中使用,其特征在于,包含:
密钥生成步骤,不让第三者知道地在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成步骤,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
18.一种通信程序,在用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信的通信装置中使用,其特征在于,包含:
密钥生成步骤,不让第三者知道地在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断步骤,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成步骤,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
19.如权利要求17所述的通信程序,其特征在于,
上述通信程序被记录在计算机可读的记录介质上。
20.一种通信装置的集成电路,该通信装置用与通信对方的外部装置共享的密钥来进行通信对象数据的秘密通信,其特征在于,包括:
密钥生成单元,不让第三者知道地在与上述外部装置之间用证明了安全性的密码体制来生成要共享的共享密钥;
判断单元,通过用在与上述外部装置之间共享、且依赖于上述共享密钥的密钥依赖函数进行认证,来判断上述外部装置是否合法;以及
数据生成单元,在上述判断单元判断出上述外部装置合法的情况下,在通信对象数据的秘密通信时,为了验证上述通信对象数据的合法性,而使用上述通信对象数据,用与依赖于上述共享密钥的上述密钥依赖函数相同的函数来生成验证用数据。
CN200780015366.4A 2006-04-28 2007-04-23 通信装置及通信系统 Pending CN101433014A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006125925 2006-04-28
JP125925/2006 2006-04-28

Publications (1)

Publication Number Publication Date
CN101433014A true CN101433014A (zh) 2009-05-13

Family

ID=38655402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200780015366.4A Pending CN101433014A (zh) 2006-04-28 2007-04-23 通信装置及通信系统

Country Status (4)

Country Link
US (1) US20090100264A1 (zh)
JP (1) JPWO2007125877A1 (zh)
CN (1) CN101433014A (zh)
WO (1) WO2007125877A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027493A (zh) * 2012-12-21 2015-11-04 移动熨斗公司 安全移动应用连接总线
CN107483505A (zh) * 2017-09-29 2017-12-15 武汉斗鱼网络科技有限公司 一种对视频聊天中的用户隐私进行保护的方法及系统
CN107683421A (zh) * 2015-05-29 2018-02-09 高通股份有限公司 用于确定设备之间的距离的上限的系统和方法
CN107959688A (zh) * 2017-12-14 2018-04-24 恒宝股份有限公司 一种终端和摄像设备相互认证的安全认证方法及其认证系统

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959199B2 (en) * 2008-03-18 2015-02-17 Reduxio Systems Ltd. Network storage system for a download intensive environment
US20120291106A1 (en) * 2010-01-19 2012-11-15 Nec Corporation Confidential information leakage prevention system, confidential information leakage prevention method, and confidential information leakage prevention program
TWI420339B (zh) * 2010-11-10 2013-12-21 Ind Tech Res Inst 軟體授權系統及方法
EP2813029B1 (en) * 2012-02-09 2020-12-02 Irdeto B.V. System and method for generating and protecting cryptographic keys
EP2712222B1 (en) * 2012-09-25 2020-04-01 Alcatel Lucent Confidential provisioning of secret keys over the air
US9866382B2 (en) * 2012-12-21 2018-01-09 Mobile Iron, Inc. Secure app-to-app communication
WO2014167389A1 (en) * 2013-04-12 2014-10-16 Nokia Siemens Networks Oy Secure radio information transfer over mobile radio bearer
WO2015075796A1 (ja) * 2013-11-21 2015-05-28 株式会社 東芝 コンテンツ管理システム、ホスト装置及びコンテンツ鍵アクセス方法
EP2961207A1 (en) * 2014-06-24 2015-12-30 Gemalto SA Method, server and telecommunications system for establishing, through an OTA server, a secured communication channel between an administrative agent comprised in a device and a third party server
EP3002964A1 (en) * 2014-10-02 2016-04-06 Gemalto Sa Method of sending a data from a secure token to a server
KR101544722B1 (ko) * 2014-11-13 2015-08-18 주식회사 엘지씨엔에스 부인 방지 방법, 이를 위한 결제 관리 서버 및 사용자 단말기
CA2977950C (en) 2015-02-27 2020-12-22 Telefonaktiebolaget Lm Ericsson (Publ) Security arrangements in communication between a communication device and a network device
US10411886B1 (en) 2015-12-29 2019-09-10 Amazon Technologies, Inc. Authenticating secure channel establishment messages based on shared-secret
US11153087B1 (en) 2015-12-29 2021-10-19 Amazon Technologies, Inc. Hub-based token generation and endpoint selection for secure channel establishment
JP6613909B2 (ja) * 2016-01-15 2019-12-04 富士通株式会社 相互認証方法、認証装置および認証プログラム
US10230700B2 (en) * 2016-08-09 2019-03-12 Lenovo (Singapore) Pte. Ltd. Transaction based message security
US10728240B2 (en) * 2017-10-19 2020-07-28 Global Tel*Link Corporation Variable-step authentication for communications in controlled environment
JP7299708B2 (ja) * 2019-01-15 2023-06-28 グローリー株式会社 認証システム、管理装置及び認証方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7334127B2 (en) * 1995-04-21 2008-02-19 Certicom Corp. Key agreement and transport protocol
JP4691244B2 (ja) * 2000-11-10 2011-06-01 株式会社東芝 限定受信システムの限定受信装置及びセキュリティモジュール、限定受信システム、限定受信装置認証方法及び暗号通信方法
JP4248990B2 (ja) * 2002-10-16 2009-04-02 パナソニック株式会社 パスワード復元システム
KR20050053527A (ko) * 2002-10-16 2005-06-08 마츠시타 덴끼 산교 가부시키가이샤 암호복구 시스템
US7660998B2 (en) * 2002-12-02 2010-02-09 Silverbrook Research Pty Ltd Relatively unique ID in integrated circuit
WO2004051921A1 (ja) * 2002-12-03 2004-06-17 Matsushita Electric Industrial Co., Ltd. 鍵共有システム、共有鍵生成装置及び共有鍵復元装置
US7813512B2 (en) * 2003-10-16 2010-10-12 Panasonic Corporation Encrypted communication system and communication device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027493A (zh) * 2012-12-21 2015-11-04 移动熨斗公司 安全移动应用连接总线
CN105027493B (zh) * 2012-12-21 2018-09-07 移动熨斗公司 安全移动应用连接总线
CN107683421A (zh) * 2015-05-29 2018-02-09 高通股份有限公司 用于确定设备之间的距离的上限的系统和方法
CN107483505A (zh) * 2017-09-29 2017-12-15 武汉斗鱼网络科技有限公司 一种对视频聊天中的用户隐私进行保护的方法及系统
CN107483505B (zh) * 2017-09-29 2020-10-16 武汉斗鱼网络科技有限公司 一种对视频聊天中的用户隐私进行保护的方法及系统
CN107959688A (zh) * 2017-12-14 2018-04-24 恒宝股份有限公司 一种终端和摄像设备相互认证的安全认证方法及其认证系统
CN107959688B (zh) * 2017-12-14 2020-11-10 恒宝股份有限公司 一种终端和摄像设备相互认证的安全认证方法及其认证系统

Also Published As

Publication number Publication date
US20090100264A1 (en) 2009-04-16
WO2007125877A1 (ja) 2007-11-08
JPWO2007125877A1 (ja) 2009-09-10

Similar Documents

Publication Publication Date Title
CN101433014A (zh) 通信装置及通信系统
CN106411521B (zh) 用于量子密钥分发过程的身份认证方法、装置及系统
Rodriguez-Henriquez et al. A brief introduction to modern cryptography
US6535980B1 (en) Keyless encryption of messages using challenge response
KR101492644B1 (ko) 타원 곡선 공개키 암호화 검증을 위한 방법
CN100559751C (zh) 伪公钥加密方法和系统
EP2361462B1 (en) Method for generating an encryption/decryption key
Karuppiah et al. A secure lightweight authentication scheme with user anonymity for roaming service in ubiquitous networks
CN101800738B (zh) 一种移动设备安全访问与存储内网数据的实现系统及方法
CN109274502B (zh) 公钥加密及密钥签名的创建方法、设备及可读存储介质
CN103339958A (zh) 密钥传输协议
CN107094108A (zh) 连接到数据总线的部件和在该部件中实现加密功能的方法
KR20170035665A (ko) 키 교환 장치 및 방법
Bai et al. Elliptic curve cryptography based security framework for Internet of Things (IoT) enabled smart card
CN103986583A (zh) 一种动态加密方法及其加密通信系统
CN103118363A (zh) 一种互传秘密信息的方法、系统、终端设备及平台设备
Niu et al. A novel user authentication scheme with anonymity for wireless communications
CN105025036A (zh) 一种基于互联网的认知能力测试值加密和传输方法
CN114499857A (zh) 一种实现大数据量子加解密中数据正确性与一致性的方法
Kumar et al. Boolean Algebra based effective and efficient asymmetric key cryptography algorithm: BAC algorithm
Zhang et al. Robust and efficient password authenticated key agreement with user anonymity for session initiation protocol‐based communications
KR100542652B1 (ko) 무선 통신 환경을 위한 키 분배 프로토콜 방법
CN101296077A (zh) 一种基于总线型拓扑结构的身份认证系统
Rajam et al. Enhanced elliptic curve cryptography
Gobi et al. A comparative study on the performance and the security of RSA and ECC algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090513