CN111630810A - 密钥交换装置、密钥交换系统、密钥交换方法及密钥交换程序 - Google Patents

密钥交换装置、密钥交换系统、密钥交换方法及密钥交换程序 Download PDF

Info

Publication number
CN111630810A
CN111630810A CN201880071965.6A CN201880071965A CN111630810A CN 111630810 A CN111630810 A CN 111630810A CN 201880071965 A CN201880071965 A CN 201880071965A CN 111630810 A CN111630810 A CN 111630810A
Authority
CN
China
Prior art keywords
key
key exchange
information
shared secret
authentication
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
Application number
CN201880071965.6A
Other languages
English (en)
Other versions
CN111630810B (zh
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN111630810A publication Critical patent/CN111630810A/zh
Application granted granted Critical
Publication of CN111630810B publication Critical patent/CN111630810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • 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/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • 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
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • 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/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

密钥交换装置包括:共享秘密密钥存储部,存储作为与该密钥交换装置的秘密密钥不同的信息的共享秘密信息mki k;认证信息附加部,使用共享秘密信息mki k,对向外部输出的密钥交换信息ei,生成用于检测认证和篡改的认证信息σi;以及认证信息验证部,从外部接收密钥交换信息es和与密钥交换信息es对应的认证信息σs,使用上述共享秘密信息mki k验证上述认证信息σs,在验证失败的情况下,停止密钥交换,上述共享秘密信息mki k是在密钥交换的生成过程中利用的值,其中,设i≠s,j为密钥交换的次数,k为0以上且小于j的整数中的任一个。

Description

密钥交换装置、密钥交换系统、密钥交换方法及密钥交换程序
技术领域
本发明涉及在信息通信领域中的密钥交换技术,涉及与其他通信装置进行通信的通信装置、由通信装置执行的通信系统。
背景技术
在多个装置之间共享用于加密等的同一密钥(会话密钥)的技术中有密钥交换协议。在密钥交换协议中,有使用长期使用的秘密密钥(长期秘密密钥)来交换会话密钥的协议。
作为其中一例,有Two-round Dynamic Multi-Cast Key Distribution Protocol(两轮动态多播密钥分发协议)(以下也称为KY Protocol(KY协议),参照非专利文献1)。利用KY Protocol,能够配合用户的动态变更(参加或退出通话、消息组等),有效地再次交换会话密钥。而且,在KY Protocol中具有以下特征:无论用户数增加多少,各用户的密钥交换所需的成本(计算成本或通信成本等)都是一定的。
现有技术文献
非专利文献
非专利文献1:K.Yoneyama,R.Yoshida,Y.Kawahara,T.Kobayashi,H.Fuji,andT.Yamamoto:"Multi-cast Key Distribution:Scalable,Dynamic and Provably SecureConstruction",Proc.of ProvSec 2016,pp.207-226,Nanjing,China,Nov.2016。
发明内容
发明所要解决的课题
在使用长期秘密密钥进行密钥交换的协议中,有时在长期秘密密钥泄漏给攻击者之后,攻击者冒充泄漏的装置,参与密钥交换的攻击变得可能。于是,在密钥交换技术的长期秘密密钥泄漏后,会话密钥会因冒充而泄漏。
例如,即使是KY Protocol,在长期秘密密钥泄漏后,攻击者也能够获取会话密钥。KY Protocol使用以服务器为中心而由多个用户与服务器进行通信的星型网络。密钥交换时,用户和服务器分别使用长期秘密密钥和短期秘密密钥,在用户间交换会话密钥。然而,长期秘密密钥在非易失性存储器上长期保管使用。因此,需要安全保管长期秘密密钥以免泄露给攻击者。关于KY Protocol的安全性,有以下特征:
1.Ephemeral Key Exposure Resilience(短期密钥泄露适应力):即使用户的短期秘密密钥泄露,泄露前的会话密钥也是安全的;
2.Time-based Backward Secrecy(基于时间的后向保密):即使某一会话密钥前后的会话密钥泄漏,也无法推测某一会话密钥本身;
3.Strong Server Key Forward Secrecy(强服务器密钥前向保密):即使用户或服务器的长期秘密密钥泄漏,泄漏前会话完成的会话密钥也是安全的。
如上述3所述,在KY Protocol中,即使长期秘密密钥泄漏,在泄漏前的会话中共享的会话密钥的信息也不会泄漏。然而,在长期秘密密钥泄漏后进行的会话中共享的会话密钥可能会落入攻击者手中。具体而言,当服务器的长期秘密密钥泄漏时,攻击者能够冒充服务器参加密钥交换。在攻击者冒充为服务器后,攻击者在用户间进行对话时秘密地参与密钥交换,从而攻击者也共享对话密钥。此外,在用户的长期秘密密钥泄漏的情况下,由于攻击者能够冒充用户参加会话,因而会话密钥被攻击者共享。
这样,实际上,在密钥交换协议中,存在长期秘密密钥泄漏到攻击者后,由攻击者获取会话密钥的协议。现状是,由于对服务器或用户终端等的侵入,容易发生信息泄漏的情形。为了防止这样的问题,需要服务器或用户安全地保管长期秘密密钥以免泄漏。安全的保管成为服务器或用户的负担。
本发明的目的在于提供一种能够防止长期密钥泄漏后的会话密钥的推测的密钥交换装置、密钥交换系统、密钥交换方法、密钥交换程序。
用于解决课题的手段
为了解决上述课题,根据本发明的一个方面,设i≠s,j为密钥交换的次数,k为0以上且小于j的整数中的任一个,密钥交换装置包括:共享秘密密钥存储部,存储作为与该密钥交换装置的秘密密钥不同的信息的共享秘密信息mki k;认证信息附加部,使用共享秘密信息mki k,对向外部输出的密钥交换信息ei,生成用于检测认证和篡改的认证信息σi;以及认证信息验证部,从外部接收密钥交换信息es和与密钥交换信息es对应的认证信息σs,使用上述共享秘密信息mki k验证上述认证信息σs,在验证失败的情况下,停止密钥交换,上述共享秘密信息mki k是在密钥交换的生成过程中利用的值。
为了解决上述课题,根据本发明的另一方面,密钥交换系统包括密钥交换服务器装置和n台密钥交换装置i。设i≠s,i=1,2,…,n,j为密钥交换的次数,k为0以上且小于j的整数中的任一个,密钥交换装置i包括:共享秘密密钥存储部,存储作为与该密钥交换装置i的秘密密钥不同的信息的共享秘密信息mki k;认证信息附加部,使用共享秘密信息mki k,对向外部输出的密钥交换信息ei,生成用于检测认证和篡改的认证信息σi;以及认证信息验证部,从外部接收密钥交换信息es_i和与密钥交换信息es_i对应的认证信息σs_i,使用上述共享秘密信息mki k验证上述认证信息σs_i,在验证失败的情况下,停止密钥交换。密钥交换服务器装置包括:第二共享秘密密钥存储部,存储作为不同于该密钥交换服务器装置的秘密密钥的信息的共享秘密信息mk1 k,…,mkn k;第二认证信息附加部,使用共享秘密信息mk1 k,…,mkn k,对向外部输出的密钥交换信息es_1,…,es_n生成用于检测认证和篡改的认证信息σs_1,…,σs_n;以及第二认证信息验证部,从外部接收密钥交换信息e1,…,en和分别与密钥交换信息e1,…,en对应的认证信息σ1,…,σn,使用上述共享秘密信息mk1 k,…,mkn k分别验证上述认证信息σ1,…,σn,在验证失败的情况下,停止与失败的密钥交换装置的密钥交换。
为了解决上述课题,根据本发明的另一方面,密钥交换方法使用密钥交换装置。设i≠s,,k为0以上的整数中的任一个,在密钥交换装置的共享秘密密钥存储部中,存储有作为与密钥交换装置的秘密密钥不同的信息的共享秘密信息mki k,密钥交换方法包括:认证信息附加步骤,密钥交换装置使用共享秘密信息mki k,对向外部输出的密钥交换信息ei生成用于检测认证和篡改的认证信息σi;以及认证信息验证步骤,密钥交换装置从外部接收密钥交换信息es和与密钥交换信息es对应的认证信息σs,使用上述共享秘密信息mki k验证上述认证信息σs,在验证失败的情况下,停止密钥交换。
为了解决上述课题,根据本发明的另一方面,密钥交换方法使用密钥交换服务器装置和n台密钥交换装置i。设i≠s,i=1,2,…,n,k为0以上的整数中的任一个,在密钥交换装置i的共享秘密密钥存储部中,存储有作为与密钥交换装置i的秘密密钥不同的信息的共享秘密信息mki k,在密钥交换服务器装置的共享秘密密钥存储部中,存储有作为与该密钥交换服务器装置的秘密密钥不同的信息的共享秘密信息mk1 k,…,mkn k,密钥交换方法包括:初次共享秘密密钥共享步骤,在上述密钥交换服务器装置与上述n台密钥交换装置i之间分别共享共享秘密信息mki k;认证信息附加步骤,密钥交换装置i使用共享秘密信息mki k,对向外部输出的密钥交换信息ei生成用于检测认证和篡改的认证信息σi;第二认证信息验证步骤,密钥交换服务器装置从外部接收密钥交换信息e1,…,en以及分别与密钥交换信息e1,…,en对应的认证信息σ1,…,σn,使用上述共享秘密信息mk1 k,…,mkn k分别验证上述认证信息σ1,…,σn,在验证失败的情况下,停止与失败的密钥交换装置的密钥交换;第二认证信息附加步骤,密钥交换服务器装置使用共享秘密信息mk1 k,…,mkn k,对向外部输出的密钥交换信息es_1,…,es_n生成用于检测认证和篡改的认证信息σs_1,…,σs_n;以及认证信息验证步骤,密钥交换装置i从外部接收密钥交换信息es_i和与密钥交换信息es_i对应的认证信息σs_i,使用上述共享秘密信息mki k验证上述认证信息σs_i,在验证失败的情况下,停止密钥交换。
发明效果
根据本发明,起到能够防止长期密钥泄漏后的会话密钥的推测的效果。
附图说明
图1是第一实施方式的密钥交换系统的结构图。
图2是第一实施方式的密钥交换装置的功能框图。
图3是第一实施方式的密钥交换服务器装置的功能框图。
具体实施方式
以下,对本发明的实施方式进行说明。另外,在用于以下说明的附图中,对具有相同功能的结构部和进行相同处理的步骤标注相同的符号,省略重复说明。在以下的说明中,文本中使用的记号“^”“~”等,本来应该记载在之前的文字的正上方,但由于文本表示法的限制,记载在该文字之后。在公式中,这些记号记载在原来的位置上。此外,只要没有特别说明,以向量或矩阵的各元素单位进行的处理,对该向量或该矩阵的所有元素都适用。
<第一实施方式的要点>
在第一实施方式中,为了防止攻击者冒充用户或服务器,提出了一种进行使用了之前的会话密钥交换过程中使用的信息(共享秘密信息=MAC密钥)和长期秘密密钥这两个信息的认证的密钥交换协议。
在本实施方式中,对共享秘密信息固定方式进行说明。
在本实施方式中,对于现有的密钥交换协议,在密钥交换步骤之前加入以下步骤。
(初次共享秘密密钥共享步骤)
密钥交换装置和密钥交换的对方的密钥交换装置,只有在不拥有认证中可以使用的长期秘密密钥的情况下,才生成自身的长期秘密密钥SSK和长期公开密钥SPK,并保存SSK,使用PKI等技术,在防止篡改的同时进行SPK的交换。并且,密钥交换装置和密钥交换对方的密钥交换装置,在利用自身的长期秘密密钥SSK来添加用于防止冒充和篡改的信息的同时进行密钥共享,共享并保存初次共享秘密密钥mki 0
接着,在现有的密钥交换算法的密钥交换装置间发送接收时,按以下方式修正步骤。
(密钥交换的发送接收时的步骤)
设在密钥交换装置200-i和密钥交换的对方的密钥交换装置200-m之间进行第j次密钥交换。此时,各密钥交换装置在发送信息时,对各密钥交换装置间必要的信息,使用第j次以前的共享秘密密钥mki k(0≤k<j),将用于检测冒充和篡改的信息添加后发送。各密钥交换装置在接收信息时,首先使用共享秘密密钥mki k检查用于冒充和检测的信息,如果不正确,则停止密钥交换算法,在正确时继续密钥交换算法。
另外,在本实施方式中,作为前提,假设在初次共享秘密密钥共享步骤时,能够在攻击者未参与的情况下正确结束算法。作为密钥交换的发送接收时的步骤,密钥交换装置和密钥交换的对方的密钥交换装置,对其间发送的信息,使用自身的SSK和第j次以前的共享秘密密钥mki k来添加用于防止冒充和篡改的信息。这样,即使长期秘密密钥泄漏,由于共享秘密密钥mki k被安全地保管,攻击者也无法伪造用于进行密钥交换时的各通信的冒充和篡改检测的信息。由此,密钥交换装置和密钥交换的对方的密钥交换装置能够防止攻击者的冒充。因此,能够解决因长期秘密密钥的泄漏而导致会话密钥泄漏的课题。
<表示法>
下面,说明本实施方式中使用的记号的表记法。
U:={u1,u2,…uN}属于组的用户的集合
u:={u1,u2,…un|ui∈U}参加密钥交换的用户的集合。另外,假设属于组的用户的全部或一部分参加密钥交换。因此,n≤N。
(ski,pki)ui的秘密密钥和公开密钥
(sks,pks)服务器的秘密密钥和公开密钥
mki jui与服务器间共享的第j次共享秘密密钥(本实施方式中为安全参数k的消息认证符(MAC)的密钥)
p素数
G位数p的有限循环群
g,hG的生成源
κ安全参数
Kspaceκκ比特的密钥空间
TCR:{0,1}*→{0,1}κ目标碰撞困难散列函数
tPRF:{0,1}κ×Kspaceκ×Kspaceκ×{0,1}κ→Zp扭转伪随机函数(参照参考文献1)tPRF’:{0,1}κ×Kspaceκ×Kspaceκ×{0,1}κ→Zp扭转伪随机函数
F:{0,1}κ×G→Zp 2伪随机函数
F':{0,1}κ×Zp→Kspaceκ伪随机函数
F”:{0,1}κ×Kspaceκ→{0,1}κ伪随机函数
F”':{0,1}κ×Kspaceκ→Zp伪随机函数
TFti:={timeti_1,timeti_2,…,timeti_tn}特定区间的时间的集合(Time Frame),ti=1,2,…,fn
TF:={TF1,TF2,…,TFfn}Time Frame的集合
PRF:{0,1}*→{0,1}κ伪随机函数
(参考文献1)Atsushi Fujioka,Koutarou Suzuki,Keita Xagawa,and KazukiYoneyama."Strongly secure authenticated key exchange from factoring,codes,andlattices".Des.Codes Cryptography,76(3):469-504,2015.
<第一实施例>
图1表示第一实施方式的密钥交换系统的结构图。
密钥交换系统包括密钥交换服务器装置100和n台密钥交换装置200-i。各装置通过通信线路等连接,能够相互通信。设i=1,2,…,n。
密钥交换服务器装置100及n台密钥交换装置200-i分别是例如在具有中央运算处理装置(CPU:Central Processing Unit)、主存储装置(RAM:Random Access Memory)等的公知或专用的计算机中读入特别的程序而构成的特别的装置。密钥交换服务器装置100和n台密钥交换装置200-i分别在例如中央运算处理装置的控制下执行各个处理。输入到密钥交换服务器装置100和n台密钥交换装置200-i的数据、或在每个处理中获得的数据被存储在例如主存储装置中,并且存储在主存储装置中的数据根据需要被读出到中央运算处理装置而用于其它处理。密钥交换服务器装置100及n台密钥交换装置200-i的各处理部的至少一部分可以分别由集成电路等硬件构成。密钥交换服务器装置100及n台密钥交换装置200-i各自具备的各存储部,例如能够由RAM(Random Access Memory)等主存储装置、由硬盘或光盘或者闪存(Flash Memory)等半导体存储元件构成的辅助存储装置、或者关系数据库或键-值存储(key-value store)等中间件构成。
图2表示密钥交换服务器装置100的功能框图。密钥交换服务器装置100包括秘密密钥存储部101、共享秘密密钥存储部102、密钥交换算法部103、认证信息验证部104、认证信息附加部105、共享秘密密钥共享部106。首先说明各个部的处理概要。
<秘密密钥存储部101>
秘密密钥存储部101中存储有密钥交换服务器装置100的秘密密钥。
<共享秘密密钥存储部102>
共享秘密信息mk1 k-1,…,mkn k-1被存储在共享秘密密钥存储部102中,共享秘密信息mk1 k-1,…,mkn k-1是与密钥交换服务器装置100的秘密密钥不同的信息,并且能够与密钥交换装置200-i之间共享。在本实施方式中,为了固定共享秘密信息,设k-1=0。
<密钥交换算法部103>
密钥交换算法部103接收来自外部(密钥交换装置200-i)的密钥交换信息e1,…,en作为输入,将在密钥交换的中途生成的关联信息x输出到共享秘密密钥共享部106,并将密钥交换所需的密钥交换信息es_1,…,es_n输出到外部(密钥交换装置200-i)。
<认证信息验证部104>
认证信息验证部104将来自外部(密钥交换装置200-i)的认证信息σ1,…,σn作为输入,分别使用共享秘密信息mk1 k-1,…,mkn k-1验证认证信息σ1,…,σn。认证信息验证部104在验证失败的情况下,停止与失败的密钥交换装置的密钥交换算法。
<认证信息附加部105>
认证信息附加部105将密钥交换算法部103输出的密钥交换信息es_1,…,es_n作为输入,分别使用共享秘密信息mk1 k-1,…,mkn k-1,对密钥交换信息es_1,…,es_n生成用于检测认证和篡改的认证信息σs_1,…,σs_n,发送到密钥交换算法部103。
<共享秘密密钥共享部106>
共享秘密密钥共享部106将密钥交换算法部103的密钥交换所输出的上述关联信息x作为输入,使用秘密密钥和共享秘密信息mk1 k-1,…,mkn k-1,求取共享秘密信息mk1 k,…,mkn k,并保存在共享秘密密钥存储部102中。
接着,对密钥交换装置200-i进行说明。
图3表示密钥交换装置200-i的功能框图。n台密钥交换装置200-i分别包括秘密密钥存储部201、共享秘密密钥存储部202、密钥交换算法部203、认证信息验证部204、认证信息附加部205、共享秘密密钥共享部206。首先说明各个部的处理概要。
<秘密密钥存储部201>
秘密密钥存储部201中存储有密钥交换装置200-i的秘密密钥。
<共享秘密密钥存储部202>
在共享秘密密钥存储部202中,存储有共享秘密信息mki k,共享秘密信息mki k是与密钥交换装置200-i的秘密密钥不同的信息,能够与密钥交换服务器装置100之间共享。
<密钥交换算法部203>
密钥交换算法部203接收来自外部(密钥交换服务器装置100)的密钥交换信息es_i作为输入,将在密钥交换的中途生成的关联信息x输出到共享秘密密钥共享部206,将密钥交换所需的密钥交换信息ei输出到外部(密钥交换服务器装置100)。
<认证信息验证部204>
认证信息验证部204将来自外部(密钥交换服务器装置100)的认证信息σs_i作为输入,分别使用共享秘密信息mki k-1验证密钥交换算法部203的认证信息σs_i。认证信息验证部204在验证失败的情况下,停止与密钥交换服务器装置100的密钥交换算法。
<认证信息附加部205>
认证信息附加部205将密钥交换算法部203输出的密钥交换信息ei作为输入,使用共享秘密信息mki k-1,对密钥交换算法部203的密钥交换信息ei生成用于检测认证和篡改的认证信息σi,并发送给密钥交换算法部203。
<共享秘密密钥共享部206>
共享秘密密钥共享部206将在密钥交换算法部203的密钥交换的中途生成的关联信息x作为输入,使用秘密密钥和共享秘密信息mki k-1,求取共享秘密信息mk1 k,…,mkn k,保存在密钥交换装置200-i的共享秘密密钥存储部202中。
以下,按照处理的流程,对各个部的处理内容进行说明。
在第一实施方式中,提出了以KY Protocol为基础的应用协议。与KY Protocol同样,本应用协议由{Setup,Dist,Join,Leave,Update}五个阶段组成。对{Join,Leave,Update}阶段也能够同样地适应,但只记载Setup和Dist阶段。此外,在本应用协议中,假设服务器S和用户u:={u1,u2,…un|ui∈U}之间进行密钥交换,记述基于PKI的KY Protocol。
本应用协议在初次共享秘密密钥共享步骤和共享秘密密钥更新步骤中,使用RSA加密的秘密密钥作为长期秘密密钥,使用MAC密钥作为共享秘密密钥。本应用协议在共享秘密密钥共享时使用RSA加密的签名进行认证和篡改检测,在DH密钥共享中共享密钥。另外,本发明除了RSA加密的签名以外,还能够利用DSA或ECDSA等在认证和篡改检测中使用的一般的签名技术,DH密钥共享也同样能够利用一般的密钥交换技术。
在本实施方式中,由于采用共享秘密信息固定方式,因而在第j次密钥交换的发送接收时的步骤中,使用初次共享秘密密钥mki 0附加MAC的标签,进行认证和防篡改。然而,也可以采用共享秘密信息固定方式,使用前1个以上的共享秘密密钥的MAC密钥mki k附加MAC标签,进行认证和防篡改。另外,k是0以上且小于j的整数中的任一个,只要在与密钥交换的对方之间预先决定将k设为怎样的值即可。
在传统的KY Protocol中,在Dist的最初制作MAC密钥,对于Dist的部分通信生成MAC标签。在本实施方式中,由于将MAC密钥作为共享秘密密钥来使用,因而不用其构成协议。此外,也不使用用于确认Round1和Round2的用户的同一性的承诺(commitment)Ci=gk_ ihs_i、或用于确认各用户是否具有代表用户(在本实施方式中以用户u1为代表用户)的ki或si的承诺C1=gk_1hs_1来构成。另外,上标和上标中,A_B表示AB,A^B表示AB。此外,作为表示从集合S均匀随机地取出集合S的元素x的记号,表示为x∈RS。·Setup:
1.各用户ui所利用的密钥交换装置200-i的密钥交换算法部203以k为安全参数,使用公开密钥加密方式(Gen,Enc,Dec)的密钥生成算法Gen,生成公开密钥加密方式的秘密密钥ski、公开密钥pki((ski,pki)←Gen(1k))。进一步地,密钥交换装置200-i的密钥交换算法部203以k为安全参数,生成由随机比特串构成的秘密信息(sti,st'i)(stiRKspaceκ、st'iR{0,1}k)。
密钥交换算法部203将(ski,sti,st'i)作为长期秘密密钥SSKi保存在秘密密钥存储部201中,使用PKI等将公开密钥pki与用户关联的技术,将pki作为长期公开密钥SPKi向密钥交换服务器装置100公开。
2.密钥交换服务器装置100的密钥交换算法部103将k作为安全参数,使用为了定义属性信息Ai而使用的信息att,进行基于属性的加密的秘密密钥生成(Params,msk)←Setup(1k、att)。密钥交换算法部103将k作为安全参数,使用公开密钥加密方式(Gen,Enc,Dec)的密钥生成算法Gen,生成公开密钥加密方式的秘密密钥sks、公开密钥pks((sks,pks)←Gen(1k))。进一步地,密钥交换算法部103以k为安全参数,生成由随机比特串构成的秘密信息(sts,st's)(stsRKspaceκ、st'sR{0,1}k)。
密钥交换算法部103将(msk,sks,sts,st's)作为长期秘密密钥SSKs保存在秘密密钥存储部101中,使用PKI等将公开密钥pks与用户关联的技术,将(Params,p,G,g,h,TCR,tPRF,tPRF',F,F',F”,F”',pks)作为长期公开密钥SPKs保存在未图示的存储部中,并向各密钥交换装置200-i公开。
·初次共享秘密密钥共享步骤:
1.各密钥交换装置200-i的共享秘密密钥共享部206获取长期公开密钥SPKs,使用长期公开密钥SPKs中包含的g,生成随机数ai和ga_i。共享秘密密钥共享部206从秘密密钥存储部201中取出秘密密钥ski,使用秘密密钥ski,通过签名算法Sig生成签名σi 0i 0←Sigsk_i(ga_i)),并将签名数据传递给密钥交换算法部203。密钥交换算法部203向密钥交换服务器装置100发送(ga_ii 0)。
2.密钥交换服务器装置100的共享秘密密钥共享部106经由密钥交换算法部103接收(ga_ii 0),并使用验证算法Ver来验证签名σi 0(1or⊥←Verpk_i(ga_ii 0))。共享秘密密钥共享部106在验证失败的情况下(输出了⊥的情况下),停止密钥交换算法。共享秘密密钥共享部106在验证成功的情况下(输出了1的情况下),使用长期公共密钥SPKs中包含的g来生成随机数b和gb。共享秘密密钥共享部106从秘密密钥存储部101中取出秘密密钥sks,使用秘密密钥sks,通过签名算法Sig生成签名σs 0s 0←Sigsk_s(gb)),并经由密钥交换算法部103将(gbs 0)发送到各密钥交换装置200-i。进一步地,共享秘密密钥共享部106使用从各个密钥交换装置200-i接收的ga_i和生成的随机数b生成ga_ib,并且使用用于生成MAC密钥的算法MGen来生成mki 0←MGen(ga_ib)。共享秘密密钥共享部106将mki 0(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部102中。
3.各密钥交换装置200-i的共享秘密密钥共享部206经由密钥交换算法部203接收(gbs 0),使用长期公开密钥SPKs中包含的pks和验证算法Ver,验证签名σs 0(1or⊥←Verpk_s(gbs 0))。共享秘密密钥共享部206在验证失败的情况下(输出了⊥的情况下),停止密钥交换算法。共享秘密密钥共享部206在验证成功的情况下(输出了1的情况下),使用由密钥交换装置200-i生成的随机数ai和从密钥交换服务器装置100接收到的gb来生成ga_ib,并且使用用于生成MAC密钥的算法MGen来生成mki 0←MGen(ga_ib)。共享秘密密钥共享部206将mki 0(这里,i是与密钥交换装置200-i对应的一个值)作为共享秘密密钥存储在共享秘密密钥存储部202中。
通过到此为止的处理,密钥交换服务器装置100和密钥交换装置200-i共享共享秘密密钥mki 0
·Dist:
(State Update at New Time Frame(新的时间框架内的状态更新))
在特定的TFti开始进行会话的密钥交换装置200-i与密钥交换服务器装置100进行以下的处理。
1.密钥交换服务器装置100的密钥交换算法部103在存在来自密钥交换装置200-i的连接请求的情况下,根据与当前时刻对应的特定区间的时间timeji和用户标识符ui生成Ai=(ui,timeji),并将Ai=(ui,timeji)设为属性信息。其中,若将包含特定区间的时间timeji的特定区间的时间的集合设为TFji:={timeji_1,timeji_2,…,timeji_tn},则ji是与ji_1,ji_2,…,ji_tn中的当前时刻对应的值。密钥交换服务器装置100的密钥交换算法部103是基于属性的加密的加密算法,使用用于生成与用户的属性信息对应的密钥的算法Der,根据Params、msk、Ai生成用户的属性秘密密钥uski(uski←Der(Params,msk,Ai))。进一步地,密钥交换算法部103获取密钥交换装置200-i的公开密钥pki,使用公开密钥pki通过公开密钥加密方式的加密算法Enc对uski进行加密(CTi←Encpk_i(uski)),并将密文CTi发送到密钥交换装置200-i。这里,i=1,2,…,n。
2.各密钥交换装置200-i接收密文CTi,从秘密密钥存储部201中取出秘密密钥ski,通过公开密钥加密方式的解密算法Dec对密文CTi进行解密(uski←Decsk_i(CTi)),将属性秘密密钥uski保存在未图示的存储部statei中。
(Round1 for Users(针对用户的第一轮))
1.各密钥交换装置200-i的密钥交换算法部203生成r~iR{0,1}k、r~'iRKspaceκ、k~iR{0,1}k、k~'iRKspaceκ、s~iR{0,1}k、s~'iRKspaceκ,并保存在未图示的存储部ESKi中。并且,密钥交换算法部203生成ri=tPRF(r~i,r~'i,sti,st'i)、ki=tPRF(k~i,k~'i,sti,st'i)、si=tPRF(s~i,s~'i,sti,st'i)。进一步地,密钥交换算法部203生成Ri=gr_i、Ci=gk_ihs_i
2.各密钥交换装置200-i的认证信息附加部205从共享秘密密钥存储部202取出共享秘密密钥mki j-1,通过签名算法Tag,根据生成的Ri和Ci,由下式计算签名σi 1
σi 1=Tag_(mki j-1)(Ri,Ci)
密钥交换算法部203将(Ri,Cii 1)发送给密钥交换服务器装置100。其中,Tag_(mki j-1)意为:
Figure BDA0002480063950000121
此外,在本实施方式中,由于采用了共享秘密密钥固定方式,因而mki j-1=mki 0。另外,Ri和Ci也称为密钥交换信息,签名σi 1也称为认证信息。
(Round1 for Server(针对服务器的第一轮))
1.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从各密钥交换装置200-i获取(Ri,Cii 1),从共享秘密密钥存储部202取出共享秘密密钥mki j-1,通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(Ri,Cii 1)
认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。其中,Ver_(mki j-1)意为:
Figure BDA0002480063950000131
2.密钥交换服务器装置100的密钥交换算法部103从各密钥交换装置200-i获取(Ri,Cii 1),计算sid=TCR(C1,…,Cn),选择一个代表用户。在本实施方式中,将用户u1作为代表用户。认证信息附加部105使用sid和R1,…,Rn,通过签名算法Tag,计算σsev_i 1=Tag_(mki j-1)(sid,Ri-1,Ri+1),并经由密钥交换算法部103发送到各密钥交换装置200-i,对代表用户传达其为代表用户。
(Round2 for Users(针对用户的第二轮))
1.i∈[1,n]的密钥交换装置200-i的认证信息验证部204,经由密钥交换算法部203从密钥交换服务器装置100获取(sid,Ri-1,Ri+1sev_i 1),通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(sid,Ri-1,Ri+1sev_i 1)
认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。另外,sid,Ri-1,Ri+1也称为来自外部(密钥交换服务器装置100)的密钥交换信息,σsev_i 1也称为认证信息。
2.i∈[2,n]的密钥交换装置200-i的密钥交换算法部203计算Ki (l)=F(sid,Ri-1 r_i)、Ki (r)=F(sid,Ri+1 r_i)、Ti=Ki (l)xor Ki (r)。其中,xor意为:
Figure BDA0002480063950000132
认证信息附加部205使用签名算法Tag计算签名σi 2,(σi 2=Tag_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid)),经由密钥交换算法部203对密钥交换服务器装置100发送(ki,si,Tii 2)。
3.作为代表用户的用户u1的密钥交换装置200-i的密钥交换算法部203计算K1 (l)=F(sid,Rn r_1)、K1 (r)=F(sid,R2 r_1)、T1=K1 (l)xor K1 (r)、T'=K1 (l)xor(k1||s1)。认证信息附加部205使用签名算法Tag计算签名σ1 2,(σ1 2=Tag_(mk1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid)),经由密钥交换算法部203对密钥交换服务器装置100发送(T1,T',σ1 2)。
(Round2 for Server(针对服务器的第二轮))
1.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从i∈[2,n]的密钥交换装置200-i获取(ki,si,Tii 2),并通过验证算法Ver由下式进行验证:
Ver_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,σi 2)
认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。
2.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从作为代表用户的用户u1的密钥交换装置200-1获取(T1,T',σ1 2),通过验证算法Ver,由下式进行验证:
Ver_(mk1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid,σ1 2)
认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。
3.密钥交换服务器装置100的密钥交换算法部103生成kS~∈R{0,1}k、kS~'∈RKspaceκ、K1~∈R{0,1}k、K1~'∈R Kspaceκ,计算kS=tPRF(kS~,kS~',sts,st's)、K1=tPRF(K1~,K1~',sts,st's)和k'=(xor2≦i≦n ki)xor ks
4.密钥交换服务器装置100的密钥交换算法部103对i∈[2,n]的密钥交换装置200-i计算Ti'=(xor1≦j≦i-1Tj)。
5.密钥交换服务器装置100的密钥交换算法部103对i∈[1,n]的密钥交换装置200-i,计算Pi:=(ID=Ui)∧(time∈TF)、CTi'=AEnc(Params,Pi,K1)。其中,AEnc是基于属性的加密的加密算法。
6.密钥交换服务器装置100的认证信息附加部105对i∈[2,n]的密钥交换装置200-i,使用签名算法Tag,由下式计算签名σi 2
σi 2=Tag_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,c1,k',Ti',T',CTi')
接着,认证信息附加部105将(c1,k',T'i,T',CTi',σi 2)经由密钥交换算法部103发送给i∈[2,n]的密钥交换装置200-i。
7.密钥交换服务器装置100的认证信息附加部105对作为代表用户的用户u1的密钥交换装置200-1,使用签名算法Tag,由下式计算签名σ1 2
σ1 2=Tag_(mki j-1)(R1,c1,Rn,R2,T1,T',U1,sid,k',CT'1)
接着,认证信息附加部105经由密钥交换算法部103将(k',CT1',σ1 2)发送到密钥交换装置200-1。
(Session Key Generation and Post Computation(会话密钥生成和后期计算))
1.i∈[2,n]的密钥交换装置200-i的认证信息验证部204,经由密钥交换算法部203从密钥交换服务器装置100获取(c1,k',sid,T'i,T',CTi',σi 2),通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,c1,k',Ti',T',CTi',σi 2)
认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
2.密钥交换装置200-i的密钥交换算法部203计算K1 (l)=T'ixor Ki (l)和k1||s1=T'xor K1 (l),并通过基于属性的加密的解密算法ADec,由下式对密文CT'i进行解密:
K1←ADecusk_i(CT'i,Pi)。
进一步地,密钥交换算法部203计算K2=F'(sid,k'xor k1),并通过SK=F”(sid,K1)xor F”(sid,K2)求得会话密钥SK。
3.i∈[2,n]的密钥交换装置200-i的密钥交换算法部203将sid、Hi (l)=Ri-1 r_i、Hi (r)=Ri+1 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部statei中。
4.作为代表用户的用户u1的密钥交换装置200-1的认证信息验证部204经由密钥交换算法部203从密钥交换服务器装置100获取(k',CT1',σ1 2),并通过验证算法Ver由下式进行验证:
Ver_(mk1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid,k',CT'11 2)
认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
5.密钥交换装置200-1的密钥交换算法部203通过基于属性的加密的解密算法ADec,由下式对密文CT'1进行解密。
K1←ADecusk_1(CT'1,P1)
进一步地,密钥交换算法部203计算K2=F'(sid,k'xor k1),并通过SK=F”(sid,K1)xor F”(sid,K2)求得会话密钥SK。
6.密钥交换装置200-1的密钥交换算法部203将sid、H1 (l)=Rn r_i、H1 (r)=R2 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部state1中。
<效果>
根据以上的结构,在对密钥交换服务器装置隐藏会话密钥SK的状态下,在密钥交换装置之间,密钥交换装置能够共享会话密钥SK,能够进行使用了共享秘密信息=MAC密钥和长期秘密密钥这两个信息的认证,防止长期密钥泄漏后的会话密钥的推测。即使服务器或用户的长期秘密密钥信息泄漏,只要共享秘密密钥没有泄漏,便能够防止攻击者交换会话密钥。
例如,可以考虑将共享秘密信息保存在防篡改区域(服务器的HSM或智能手机的SIM等)中并使用。通过将共享秘密信息设为MAC密钥等密钥尺寸小且计算成本小的信息,能够有效地利用有限的防篡改区域。
<变形例>
在本实施方式中,说明了密钥交换的对方是密钥交换服务器装置的情况,即密钥交换装置与密钥交换服务器装置之间的密钥交换,但也可以将本发明应用于密钥交换装置与密钥交换装置之间的密钥交换。构成为某一密钥交换装置作为本实施方式的密钥交换装置发挥功能,其他密钥交换装置作为本实施方式的密钥交换服务器装置发挥功能即可。
<第二实施方式的要点>
以与第一实施方式不同的部分为中心进行说明。
在本实施方式中,将上述第一实施方式的共享秘密密钥部分作为AES的密钥(keyi j-1)而非MAC密钥(mki j-1),将附加在各通信中的信息作为基于AES的密文c'i而非签名σi进行发送,在解密失败的情况下,停止密钥交换算法。
<第二实施方式>
·Setup:
1.各用户ui所利用的密钥交换装置200-i的密钥交换算法部203以k为安全参数,使用公开密钥加密方式(Gen,Enc,Dec)的密钥生成算法Gen,生成公开密钥加密方式的秘密密钥ski、公开密钥pki((ski,pki)←Gen(1k))。进一步地,密钥交换装置200-i的密钥交换算法部203以k为安全参数,生成由随机比特串构成的秘密信息(sti,st'i)(stiRKspaceκ、st'iR{0,1}k)。
密钥交换算法部203将(ski,sti,st'i)作为长期秘密密钥SSKi保存在秘密密钥存储部201中,使用PKI等将公开密钥pki与用户关联的技术,将pki作为长期公开密钥SPKi向密钥交换服务器装置100公开。
2.密钥交换服务器装置100的密钥交换算法部103将k作为安全参数,使用为了定义属性信息Ai而使用的信息att,进行基于属性的加密的秘密密钥生成(Params,msk)←Setup(1k、att)。密钥交换算法部103将k作为安全参数,使用公开密钥加密方式(Gen,Enc,Dec)的密钥生成算法Gen,生成公开密钥加密方式的秘密密钥sks、公开密钥pks((sks,pks)←Gen(1k))。进一步地,密钥交换算法部103以k为安全参数,生成由随机比特串构成的秘密信息(sts,st's)(stsRKspaceκ、st'sR{0,1}k)。
密钥交换算法部103将(msk,sks,sts,st's)作为长期秘密密钥SSKs保存在秘密密钥存储部101中,使用PKI等将公开密钥pks与用户关联的技术,将(Params,p,G,g,h,TCR,tPRF,tPRF',F,F',F”,F”',pks)作为长期公开密钥SPKs保存在未图示的存储部中,并向各密钥交换装置200-i公开。
·初次共享秘密密钥共享步骤:
1.各密钥交换装置200-i的共享秘密密钥共享部206获取长期公开密钥SPKs,使用长期公开密钥SPKs中包含的g,生成随机数ai和ga_i。共享秘密密钥共享部206从秘密密钥存储部201中取出秘密密钥ski,并使用秘密密钥ski,通过签名算法Sig生成签名σi 0i 0←Sigsk_i(ga_i)),经由密钥交换算法部203将(ga_ii 0)发送到密钥交换服务器装置100。
2.密钥交换服务器装置100的共享秘密密钥共享部106经由密钥交换算法部103接收(ga_ii 0),并使用验证算法Ver验证签名σi 0(1or⊥←Verpk_i(ga_ii 0))。共享秘密密钥共享部106在验证失败的情况下(输出了⊥的情况下),停止密钥交换算法。共享秘密密钥共享部106在验证成功的情况下(输出了1的情况下),使用长期公共密钥SPKs中包含的g来生成随机数b和gb。共享秘密密钥共享部106从秘密密钥存储部101中取出秘密密钥sks,使用秘密密钥sks,通过签名算法Sig生成签名σss←Sigsk_s(gb)),并经由密钥交换算法部103将(gbs)发送到各密钥交换装置200-i。进一步地,共享秘密密钥共享部106使用从各个密钥交换装置200-i接收到的ga_i和生成的随机数b来生成ga_ib,并且使用用于生成AES密钥的算法KeyGen来生成keyi 0←KeyGen(ga_ib)。共享秘密密钥共享部106将keyi 0(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部102中。
3.各密钥交换装置200-i的共享秘密密钥共享部206接收(gbs 0),使用长期公开密钥SPKs中包含的pks和验证算法Ver,验证签名σs 0(1or⊥←Verpk_s(gbs 0))。共享秘密密钥共享部206在验证失败的情况下(输出了⊥的情况下),停止密钥交换算法。共享秘密密钥共享部206在验证成功的情况下(输出了1的情况下),使用由密钥交换装置200-i生成的随机数ai和从密钥交换服务器装置100接收到的gb来生成ga_ib,并且使用用于生成AES密钥的算法KeyGen来生成keyi 0←KeyGen(ga_ib)。共享秘密密钥共享部206将keyi 0(这里,i是与密钥交换装置200-i对应的一个值)作为共享秘密密钥存储在共享秘密密钥存储部202中。
通过到此为止的处理,密钥交换服务器装置100和密钥交换装置200-i共享共享秘密密钥keyi 0
·Dist:
(State Update at New Time Frame)
在特定的TFti开始进行会话的密钥交换装置200-i与密钥交换服务器装置100进行以下的处理。
1.密钥交换服务器装置100的密钥交换算法部203在存在来自密钥交换装置200-i的连接请求的情况下,密钥交换服务器装置100的密钥交换算法部203根据与当前时刻对应的特定区间的时间timeji和用户标识符ui生成Ai=(ui,timeji),并将Ai=(ui,timeji)设为属性信息。其中,若将包含特定区间的时间timeji的特定区间的时间的集合设为TFji:={timeji_1,timeji_2,…,timeji_tn},则ji是与ji_1,ji_2,…,ji_tn中的当前时刻对应的值。密钥交换服务器装置100的密钥交换算法部203是基于属性的加密的加密算法,使用用于生成与用户的属性信息对应的密钥的算法Der,根据Params、msk、Ai生成用户的属性秘密密钥uski(uski←Der(Params,msk,Ai))。进一步地,密钥交换算法部203获取密钥交换装置200-i的公开密钥pki,使用公开密钥pki通过公开密钥加密方式的加密算法Enc对uski进行加密(CTi←Encpk_i(uski)),并将密文CTi发送到密钥交换装置200-i。这里,i=1,2,…,n。
2.各密钥交换装置200-i接收密文CTi,从秘密密钥存储部201中取出秘密密钥ski,通过公开密钥加密方式的解密算法Dec对密文CTi进行解密(uski←Decsk_i(CTi)),将属性秘密密钥uski保存在未图示的存储部statei中。(Round1 for Users)
1.各密钥交换装置200-i的密钥交换算法部203生成r~iR{0,1}k、r~'iRKspaceκ、k~iR{0,1}k、k~'iRKspaceκ、s~iR{0,1}k、s~'iRKspaceκ,保存在未图示的存储部ESKi中。并且,认证信息附加部205生成ri=tPRF(r~i,r~'i,sti,st'i)、ki=tPRF(k~i,k~'i,sti,st'i)、si=tPRF(s~i,s~'i,sti,st'i)。进一步地,认证信息附加部205生成Ri=gr_i、Ci=gk_ihs_i
2.各密钥交换装置200-i的认证信息附加部205从共享秘密密钥存储部202中取出共享秘密密钥keyi j-1,通过公开密钥加密方式的加密算法Enc,根据生成的Ri和Ci,由下式计算密文ci 1
ci 1=Enc_(keyi j-1)(Ri,Ci)
认证信息附加部205将(Ri,Ci,ci 1)经由密钥交换算法部203发送给密钥交换服务器装置100。其中,Enc_(keyi j-1)意为:
Figure BDA0002480063950000191
此外,在本实施方式中,由于采用了共享秘密密钥固定方式,因而keyi j-1=keyi 0。(Round1 for Server)
1.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从各密钥交换装置200-i获取(Ri,Ci,ci 1),从共享秘密密钥存储部202取出共享秘密密钥keyi j-1,通过公开密钥加密方式的加密算法Enc计算Enc_(keyi j-1)(Ri,Ci),验证计算结果是否与ci 1相等。认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。
2.密钥交换服务器装置100的密钥交换算法部103从各密钥交换装置200-i获取(Ri,Ci,ci 1),计算sid=TCR(C1,…,Cn),并选择一个代表用户。在本实施方式中,将用户u1作为代表用户。认证信息附加部105使用sid和R1,…,Rn,通过公开密钥加密方式的加密算法Enc计算csev_i 1=Enc_(keyi j-1)(sid,Ri-1,Ri+1),经由密钥交换算法部103向各密钥交换装置200-i发送(sid,Ri-1,Ri+1,csev_i 1)。密钥交换算法部103还在这时对代表用户传达其为代表用户。
(Round2 for Users)
1.i∈[1,n]的密钥交换装置200-i的认证信息验证部204经由密钥交换算法部203从密钥交换服务器装置100获取(sid,Ri-1,Ri+1,csev_i 1),通过公开密钥加密方式的加密算法Enc计算Enc_(keyi j-1)(sid,Ri-1,Ri+1),验证计算结果是否与csev_i 1相等。
认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
2.i∈[2,n]的密钥交换装置200-i的密钥交换算法部203计算Ki (l)=F(sid,Ri-1 r_i)、Ki (r)=F(sid,Ri+1 r_i)、Ti=Ki (l)xor Ki (r),使用公开密钥加密方式的加密算法Enc计算ci 2=Enc_(keyi j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid),并经由密钥交换算法部203对密钥交换服务器装置100发送(ki,si,Ti,ci 2)。
3.作为代表用户的用户u1的密钥交换装置200-i的密钥交换算法部203计算K1 (l)=F(sid,Rn r_1)、K1 (r)=F(sid,R2 r_1)、T1=K1 (l)xor K1 (r)、T'=K1 (l)xor(k1||s1),使用公开密钥加密方式的加密算法Enc计算c1 2=Enc_(key1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid),经由密钥交换算法部203对密钥交换服务器装置100发送(T1,T',c1 2)。
(Round2 for Server)
1.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从i∈[2,n]的密钥交换装置200-i获取(ki,si,Ti,ci 2),通过公开密钥加密方式的加密算法Enc,计算Enc_(keyi j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid),并验证计算结果是否与ci 2相等。认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。
2.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从作为代表用户的用户u1的密钥交换装置200-1获取(T1,T',c1 2),并通过公开密钥加密方式的加密算法Enc计算Enc_(key1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid),验证计算结果是否与c1 2相等。认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。
3.密钥交换服务器装置100的密钥交换算法部103生成kS~∈R{0,1}k、kS~'∈RKspaceκ、K1~∈R{0,1}k、K1~'∈RKspaceκ,计算kS=tPRF(kS~,kS~',sts,st's)、K1=tPRF(K1~,K1~',sts,st's)和k'=(xor2≦i≦n ki)xor ks
4.密钥交换服务器装置100的密钥交换算法部103对i∈[2,n]的密钥交换装置200-i计算Ti'=(xor1≦j≦i-1Tj)。
5.密钥交换服务器装置100的密钥交换算法部103对i∈[1,n]的密钥交换装置200-i,计算Pi:=(ID=Ui)∧(time∈TF)、CTi'=AEnc(Params,Pi,K1)。
6.密钥交换服务器装置100的认证信息附加部105,对i∈[2,n]的密钥交换装置200-i,通过公开密钥加密方式的加密算法Enc,计算csev_i 2=Enc_(keyi j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,c1,k',Ti',T',CTi'),并将(c1,k',T'i,T',CTi',csev_i 2)经由密钥交换算法部103发送给i∈[2,n]的密钥交换装置200-i。
7.密钥交换服务器装置100的认证信息附加部105,对作为代表用户的用户u1的密钥交换装置200-1,通过公开密钥加密方式的加密算法Enc,计算csev_1 2=Enc_(keyi j-1)(R1,c1,Rn,R2,T1,T',U1,sid,k',CT'1),经由密钥交换算法部103将(k',CT1',csev_1 2)发送给密钥交换装置200-1。
(Session Key Generation and Post Computation)
1.i∈[2,n]的密钥交换装置200-i的认证信息验证部204,经由密钥交换算法部203从密钥交换服务器装置100获取(c1,k',sid,T'i,T',CTi',csev_i 2),并通过公开密钥加密方式的加密算法Enc,计算Enc_(keyi j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,c1,k',Ti',T',CTi'),验证计算结果是否与csev_i 2相等。认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
2.密钥交换装置200-i的密钥交换算法部203计算K1 (l)=T'ixor Ki (l)和k1||s1=T'xor K1 (l),并通过基于属性的加密的解密算法ADec,由下式对密文CT'i进行解密:
K1←ADecusk_i(CT'i,Pi)。
进一步地,密钥交换算法部203计算K2=F'(sid,k'xor k1),并根据SK=F”(sid,K1)xor F”(sid,K2)求取会话密钥SK。
3.i∈[2,n]的密钥交换装置200-i的密钥交换算法部203将sid、Hi (l)=Ri-1 r_i、Hi (r)=Ri+1 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部statei中。
4.作为代表用户的用户u1的密钥交换装置200-1的认证信息验证部204经由密钥交换算法部203从密钥交换服务器装置100获取(k',CT1',csev_1 2),通过公开密钥加密方式的加密算法Enc,计算Enc_(key1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid,k',CT'1),验证计算结果是否与csev_1 2相等。认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
5.密钥交换装置200-1的密钥交换算法部203通过基于属性的加密的解密算法ADec,由下式对密文CT'1进行解密:
K1←ADecusk_1(CT'1,P1)。
此外,密钥交换算法部203计算K2=F'(sid,k'xor k1),并通过SK=F”(sid,K1)xorF”(sid,K2)求得会话密钥SK。
6.密钥交换装置200-1的密钥交换算法部203将sid、H1 (l)=Rn r_i、H1 (r)=R2 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部statei中。
<效果>
通过采用这样的结构,能够得到与第一实施方式相同的效果。
<第三实施方式的要点>
以与第一实施方式不同的部分为中心进行说明。
在第三实施方式中,采用共享秘密密钥更新方式。在共享秘密密钥更新方式中,除了共享秘密密钥固定方式的步骤之外,在密钥交换算法共享会话密钥之前,还包括以下的步骤:
共享秘密密钥更新步骤:
在第j次会话密钥交换之前,在密钥交换装置200-i和密钥交换的对方的密钥交换装置200-m之间,密钥交换装置200-i和密钥交换的对方的密钥交换装置200-m使用自身的长期秘密密钥SSK和第j次以前(即k<j)的共享秘密密钥keyi k,进行密钥共享,共享第j次共享秘密密钥keyi j。在此时的通信中,密钥交换装置200-i和密钥交换的对方的密钥交换装置200-m,利用自身的长期秘密密钥SSK和第j次以前(即k<j)的共享秘密密钥keyi k,在附加用于防止冒充和篡改的信息的同时进行共享。共享后,密钥交换装置200-i和密钥交换的对方的密钥交换装置200-m保存新的共享秘密密钥keyi j
<第三实施方式>
第一实施方式和第三实施方式在setup、初次共享秘密密钥共享步骤、(Round2for Users)、(Round2 for Server)以及(Session Key Generation and PostComputation)中的处理内容不同。以不同的部分为中心进行说明。
·Setup:
在第三实施方式中,以不使用基于属性的加密的实施例进行描述。另外,本说明书中描述的所有实施方式可以使用基于属性的加密构成,也可以不使用基于属性的加密构成。
1.各用户ui所利用的密钥交换装置200-i的密钥交换算法部203以k为安全参数,使用公开密钥加密方式(Gen,Enc,Dec)的密钥生成算法Gen,生成公开密钥加密方式的秘密密钥ski、公开密钥pki((ski,pki)←Gen(1k))。进一步地,密钥交换装置200-i的密钥交换算法部203以k为安全参数,生成由随机比特串构成的秘密信息(sti,st'i)(stiRKspaceκ、st'iR{0,1}k)。
密钥交换算法部203将(ski,sti,st'i)作为长期秘密密钥SSKi保存在秘密密钥存储部201中,使用PKI等将公开密钥pki与用户关联的技术,将pki作为长期公开密钥SPKi向密钥交换服务器装置100公开。
2.密钥交换服务器装置100的密钥交换算法部103以k为安全参数,使用公开密钥加密方式(Gen,Enc,Dec)的密钥生成算法Gen,生成公开密钥加密方式的秘密密钥sks、公开密钥pks((sks,pks)←Gen(1k))。进一步地,密钥交换算法部103以k为安全参数,生成由随机比特串构成的秘密信息(sts,st's)(stsRKspaceκ、st'sR{0,1}k)。
密钥交换算法部103将(sks,sts,st's)作为长期秘密密钥SSKs保存在秘密密钥存储部101中,使用PKI等将公开密钥pks与用户关联的技术,将(p,G,g,h,TCR,tPRF,tPRF',F,F',F”,F”',pks)作为长期公开密钥SPKs保存在未图示的存储部中,并向各密钥交换装置200-i公开。
·初次共享秘密密钥共享步骤:
1.各密钥交换装置200-i的共享秘密密钥共享部206获取长期公开密钥SPKs,使用长期公开密钥SPKs中包含的tPRF,根据a~iR{0,1}κ、a~i'∈RKspaceκ、ai=tPRF(a~i,a~i',sti,st'i),求取ai,将(a~i,a~i')保存在未图示的存储部ESKi中,生成ga_i。共享秘密密钥共享部206从秘密密钥存储部201中取出秘密密钥ski,使用秘密密钥ski,通过签名算法Sig生成签名σi 0i 0←Sigsk_i(ga_i)),经由密钥交换算法部203将(ga_ii 0)发送到密钥交换服务器装置100。
2.密钥交换服务器装置100的共享秘密密钥共享部106接收(ga_ii 0),并使用验证算法Ver验证签名σi 0(1or⊥←Verpk_i(ga_ii 0))。共享秘密密钥共享部106在验证失败的情况下(输出了⊥的情况下),停止密钥交换算法。共享秘密密钥共享部106在验证成功的情况下(输出了1的情况下),继续密钥交换算法。
共享秘密密钥共享部106对于各密钥交换装置200-i,使用tPRF,根据b~iR{0,1}κ、b~i'∈RKspaceκ、bi=tPRF(b~i,b~i',sts,st's)求取bi,将(b~i,b~i')保存在未图示的存储部ESKs中,生成gb_i
共享秘密密钥共享部106从秘密密钥存储部101中取出秘密密钥sks,使用秘密密钥sks,通过签名算法Sig生成签名σs 0s 0←Sigsk_s(gb_i)),经由密钥交换算法部103向各密钥交换装置200-i发送(gb_is 0)。进一步地,共享秘密密钥共享部106使用从各个密钥交换装置200-i接收到的ga_i和生成的随机数bi来生成ga_ib_i,并且使用用于生成MAC密钥的算法MGen来生成mki 0←MGen(ga_ib_i)。共享秘密密钥共享部106将mki 0(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部102中。
3.各密钥交换装置200-i的共享秘密密钥共享部206接收(gb_is 0),使用长期公开密钥SPKs中包含的pks和验证算法Ver,验证签名σs 0(1or⊥←Verpk_s(gb_ii 0))。共享秘密密钥共享部206在验证失败的情况下(输出了⊥的情况下),停止密钥交换算法。共享秘密密钥共享部206在验证成功的情况下(输出了1的情况下),使用由密钥交换装置200-i生成的ai和从密钥交换服务器装置100接收的gb_i来生成ga_ib_i,并且使用用于生成MAC密钥的算法MGen来生成mki 0←MGen(ga_ib_i)。共享秘密密钥共享部206将mki 0(这里,i是与密钥交换装置200-i对应的一个值)作为共享秘密密钥存储在共享秘密密钥存储部202中。
通过到此为止的处理,密钥交换服务器装置100和密钥交换装置200-i共享共享秘密密钥mki 0
(Round2 for Users)
1.i∈[1,n]的密钥交换装置200-i的认证信息验证部204,经由密钥交换算法部203从密钥交换服务器装置100获取(sid,Ri-1,Ri+1sev_i 1),通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(sid,Ri-1,Ri+1sev_i 1)
认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
2.i∈[2,n]的密钥交换装置200-i的密钥交换算法部203计算Ki (l)=F(sid,Ri-1 r_i)、Ki (r)=F(sid,Ri+1 r_i)、Ti=Ki (l)xor Ki (r)。共享秘密密钥共享部206进一步根据d~iR{0,1}κ、d~i'∈RKspaceκ、di=tPRF(d~i,d~i',sti,st'i)求取di,将(d~i,d~i')保存在未图示的存储部ESKi中,生成gd_i。共享秘密密钥共享部206使用签名算法Tag计算签名σi 2i 2=Tag_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,gd_i)),并经由密钥交换算法部203对密钥交换服务器装置100发送(ki,si,Ti,gd_ii 2)。
3.作为代表用户的用户u1的密钥交换算法部203计算K1 (l)=F(sid,Rn r_i)、K1 (r)=F(sid,R2 r_i)、T1=K1 (l)xor K1 (r)、T'=K1 (l)xor(k1||s1)。共享秘密密钥共享部206进一步根据d~1R{0,1}κ、d~1'∈RKspaceκ、d1=tPRF(d~1,d~1',st1,st'1)求取d1,将(d~1,d~1')保存在未图示的存储部ESK1中,生成gd_1。共享秘密密钥共享部206使用签名算法Tag计算签名σi 2i 2=Tag_(mk1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid,gd_1)),经由密钥交换算法部203对密钥交换服务器装置100发送(Ti,T',gd_1i 2)。
(Round2 for Server)
1.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从i∈[2,n]的密钥交换装置200-i获取(ki,si,Ti,gd_ii 2),通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,gd_ii 2)
认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。
2.密钥交换服务器装置100的认证信息验证部104经由密钥交换算法部103从作为代表用户的用户u1的密钥交换装置200-1获取(ki,si,Ti,gd_1i 2),通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(ki,si,Ti,gd_1i 2)
认证信息验证部104若验证失败则停止密钥交换算法。认证信息验证部104仅在验证成功的情况下继续密钥交换算法。
3.密钥交换服务器装置100的密钥交换算法部103生成kS~∈R{0,1}*、kS~'∈RKspaceκ、K1~∈R{0,1}*、K1~'∈RKspaceκ,计算kS=tPRF(kS~,kS~',sts,st's)、K1=tPRF(K1~,K1~',sts,st's)和k'=(xor2≦i≦n ki)xor ks
4.共享秘密密钥共享部106根据e~iR{0,1}κ、e~i'∈RKspaceκ、ei=tPRF(e~i,e~i',sti,st'i),求取ei,将(e~i,e~i')保存在未图示的存储部ESKs中,生成ge_i。进一步地,共享秘密密钥共享部106使用从各个密钥交换装置200-i接收到的gd_i和生成的ge_i,生成gd_ie_i,使用用于生成MAC密钥的算法MGen,生成mki 1←MGen(gd_ie_i)。共享秘密密钥共享部106将mki 1(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部102中,删除mki 0
5.密钥交换服务器装置100的密钥交换算法部103对i∈[2,n]的密钥交换装置200-i计算Ti'=(xor1≦j≦i-1Tj)。
6.密钥交换服务器装置100的认证信息附加部105对i∈[2,n]的密钥交换装置200-i,使用签名算法Tag,由下式计算签名σi 2
σi 2=Tag_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,c1,k',Ti',T',ge_i)
进一步地,认证信息附加部105将(c1,k',sid,T'i,T',ge_ii 2)经由密钥交换算法部103发送给i∈[2,n]的密钥交换装置200-i。
7.密钥交换服务器装置100的认证信息附加部105对作为代表用户的用户u1的密钥交换装置200-1,使用签名算法Tag,由下式计算签名σi 2
σ1 2=Tag_(mki j-1)(R1,c1,Rn,R2,T1,T',U1,sid,k',ge_1)
进一步地,认证信息附加部105经由密钥交换算法部103将(k',ge_11 2)发送到密钥交换装置200-1。
(Session Key Generation and Post Computation)
1.i∈[2,n]的密钥交换装置200-i的认证信息验证部204,经由密钥交换算法部203从密钥交换服务器装置100获取(c1,k',sid,T'i,T',ge_ii 2),通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,c1,k',Ti',T',ge_ii 2)
认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
2.密钥交换装置200-i的密钥交换算法部203计算K1 (l)=T'ixor Ki (l)和k1||s1=T'xor K1 (l),并计算K1=F'(sid,k'xor k1)。
进一步地,密钥交换算法部203通过SK=F”(sid,K1)求取会话密钥SK。
3.i∈[2,n]的密钥交换装置200-i的密钥交换算法部203将sid、Hi (l)=Ri-1 r_i、Hi (r)=Ri+1 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部statei中。
进一步地,共享秘密密钥共享部206使用经由密钥交换算法部203从密钥交换服务器装置100接收到的ge_i和在Round2 for Users中生成的gd_i,生成gd_ie_i,使用用于生成MAC密钥的算法MGen,生成mki 1←MGen(gd_ie_i)。共享秘密密钥共享部206将mki 1(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部202中,删除mki 0
4.作为代表用户的用户u1的密钥交换装置200-1的密钥交换算法部203从密钥交换服务器装置100获取(k',ge_11 2),并且通过验证算法Ver,由下式进行验证:
Ver_(mk1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid,k',ge_11 2)
密钥交换算法部203若验证失败则停止密钥交换算法。密钥交换算法部203仅在验证成功的情况下继续密钥交换算法。
5.密钥交换装置200-1的密钥交换算法部203计算K1=F'(sid,k'xor k1)。进一步地,密钥交换算法部203通过SK=F”(sid,K1)求取会话密钥SK。
6.密钥交换装置200-1的密钥交换算法部203将sid、H1 (l)=Rn r_i、H1 (r)=R2 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部statei中。
进一步地,共享秘密密钥共享部206使用经由密钥交换算法部203从密钥交换服务器装置100接收到的ge_i和在Round2 for Users中生成的gd_i,生成gd_ie_i,使用用于生成MAC密钥的算法MGen,生成mki 1←MGen(gd_ie_i)。共享秘密密钥共享部206将mki 1(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部202中,删除mki 0
<效果>
通过这样的结构,能够得到与第一实施方式相同的效果。进一步地,通过更新共享秘密密钥,能够进一步提高安全性。
<变形例>
另外,尽管在本实施方式中,求取共享秘密密钥作为mki 0←MGen(ga_ib_i)、mki 1←MGen(gd_ie_i),但也可以求取共享秘密密钥作为seed←TCR(ga_ib_i)、mki 0←MGen(seed)、seed←TCR(gd_ie_i)、mki 1←MGen(seed)。
在本实施方式中,对共享秘密密钥mki 1进行了说明,但也可以按每一会话j更新共享秘密密钥mki j。更新时,不仅能够使用前一个共享秘密密钥mki j-1,还能够使用前一个以上的共享秘密密钥mki k(0<k<j)。另外,k的值可以通过某种方法与密钥交换的对方预先确定。
<第四实施例的要点>
以与第三实施方式不同的部分为中心进行说明。
在第四实施方式中,采用共享秘密密钥更新方式。
然而,与第三实施例不同,更新共享秘密密钥不是每次更新DH密钥,而是将上一次会话的共享秘密密钥和关联信息输入到伪随机函数的输入中,将输出的值设为被更新了的共享秘密密钥。
另外,在第四实施方式中,将关联信息设为在该会话中共享的会话密钥。
<第四实施方式>
第三实施方式和第四实施方式在(Round2 for Users)、(Round2 for Server)和(Session Key Generation and Post Computation)中的处理内容不同。以不同的部分为中心进行说明。(Round2 for Users)和(Round2 for Server)分别与第二实施方式的(Round2 for Users)和(Round2 for Server)相同。
(Session Key Generation and Post Computation)进行以下处理。另外,通过实施与第三实施方式相同的初次共享秘密密钥共享步骤,在密钥交换服务器装置100和密钥交换装置200-i之间交换mki 0
(Session Key Generation and Post Computation)
1.i∈[2,n]的密钥交换装置200-i的认证信息验证部204,经由密钥交换算法部203从密钥交换服务器装置100获取(c1,k',sid,T'i,T',σi 2),通过验证算法Ver,由下式进行验证:
Ver_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,c1,k',Ti',T',σi 2)
认证信息验证部204若验证失败则停止密钥交换算法。认证信息验证部204仅在验证成功的情况下继续密钥交换算法。
2.密钥交换装置200-i的密钥交换算法部203计算K1 (l)=T'ixor Ki (l)とk1||s1=T'xor K1 (l),并计算K1=F'(sid,k'xor k1)。
进一步地,密钥交换算法部203通过SK=F”(sid,K1)求取会话密钥SK。
3.i∈[2,n]的密钥交换装置200-i的密钥交换算法部203将sid、Hi (l)=Ri-1 r_i、Hi (r)=Ri+1 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部statei中。
进一步地,共享秘密密钥共享部206经由密钥交换算法部203将SK和mki 0输入到伪随机函数PRF,生成mki 1←PRF(SK,mki 0)。共享秘密密钥共享部206将mki 1(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部202中,删除mki 0
4.作为代表用户的用户u1的密钥交换装置200-1的密钥交换算法部203从密钥交换服务器装置100获取(k',σ1 2),并且通过验证算法Ver由下式进行验证:
Ver_(mk1 j-1)(R1,c1,Rn,R2,T1,T',U1,sid,k',σ1 2)
密钥交换算法部203若验证失败则停止密钥交换算法。密钥交换算法部203仅在验证成功的情况下继续密钥交换算法。
5.密钥交换装置200-1的密钥交换算法部203计算K1=F'(sid,k'xor k1)。进一步地,密钥交换算法部203通过SK=F”(sid,K1)求取会话密钥SK。
6.密钥交换装置200-1的密钥交换算法部203将sid、H1 (l)=Rn r_i、H1 (r)=R2 r_i、r=F”'(sid,K1)xor F”'(sid,K2)保存在未图示的存储部statei中。
进一步地,共享秘密密钥共享部206经由密钥交换算法部203将SK和mki 0输入到伪随机函数PRF,生成mki 1←PRF(SK,mki 0)。共享秘密密钥共享部206将mki 1(其中,i=1,2,…,n)作为共享秘密密钥保存在共享秘密密钥存储部202中,删除mki 0
此后,按照上述算法,每当再次实施Dist、Join、Leave或Update时,使用此时共享的会话密钥SKv(设v∈N为实施了密钥交换的次数),在(Session Key Generation andPost Computation)阶段进行mki v←PRF(SK,mki v-1),进行共享秘密密钥的更新。
<效果>
通过这样的结构,能够得到与第三实施方式同样的效果。
<其他的变形例>
本发明不限于上述实施方式和变形例。例如,上述各种处理不仅可以按照记载按时间序列执行,也可以根据执行处理的装置的处理能力或根据需要并行或单独地执行。另外,在不脱离本发明主旨的范围内,可能够进行适当的变更。
<程序和记录介质>
此外,也可以通过计算机实现在上述实施方式和变形例中说明的各装置中的各种处理功能。这种情况下,各装置应该具有的功能的处理内容由程序描述。而且,通过在计算机上执行该程序,在计算机上实现上述各装置中的各种处理功能。
能够将描述处理内容的程序记录在计算机可读记录介质中。作为计算机可读记录介质,例如可以是磁记录装置、光盘、光磁记录介质、半导体存储器等任何介质。
此外,该程序的流通,例如通过销售、转让、租借记录有该程序的DVD、CD-ROM等便携式记录介质来进行。进而,也可以通过将该程序存储在服务器计算机的存储装置中,并经由网络从服务器计算机向其他计算机转发该程序,从而使该程序流通。
执行这样的程序的计算机,例如,首先,将记录在便携式记录介质中的程序或从服务器计算机转发来的程序暂时存储在自身的存储部中。然后,在在执行处理时,该计算机读取存储在自身的存储部中的程序,并根据读取的程序执行处理。此外,作为该程序的其他实施方式,计算机也可以从便携式记录介质直接读取程序,执行按照该程序的处理。进一步地,每当程序从服务器计算机被转发至该计算机时,也可以逐次执行按照接收到的程序的处理。此外,也可以构成为,不进行从服务器计算机向该计算机的程序的转发,仅通过其执行指示和结果获取来实现处理功能,即通过所谓的ASP(Application Service Provider:应用服务提供商)型的服务来执行上述处理。另外,程序中包含用于由电子计算机进行处理、且等同于程序的信息(虽然不是对计算机的直接指令,但具有规定计算机处理的性质的数据等)。
此外,尽管通过在计算机上执行规定的程序来构成各装置,但也可以硬件上实现这些处理内容的至少一部分。

Claims (8)

1.一种密钥交换装置,包括:
共享秘密密钥存储部,存储作为与该密钥交换装置的秘密密钥不同的信息的共享秘密信息mki k
认证信息附加部,使用共享秘密信息mki k,对向外部输出的密钥交换信息ei,生成用于检测认证和篡改的认证信息σi;以及
认证信息验证部,从外部接收密钥交换信息es和与密钥交换信息es对应的认证信息σs,使用所述共享秘密信息mki k验证所述认证信息σs,在验证失败的情况下,停止密钥交换,
所述共享秘密信息mki k是在密钥交换的生成过程中利用的值,
其中,设i≠s,j为密钥交换的次数,k为0以上且小于j的整数中的任一个。
2.如权利要求1所述的密钥交换装置,包括:
存储部,存储该密钥交换装置的秘密密钥;以及
共享秘密密钥共享部,使用在密钥交换过程中生成的关联信息x、所述秘密密钥和所述共享秘密信息mki k,求取共享秘密信息mki j
3.如权利要求1或权利要求2所述的密钥交换装置,其中,
所述共享秘密信息是MAC密钥或AES密钥,
在从外部接收密钥交换信息es时、以及在将密钥交换信息ei输出到外部时,基于KY协议进行处理。
4.一种包括密钥交换服务器装置和n台密钥交换装置i的密钥交换系统,其中,
所述密钥交换装置i包括:
共享秘密密钥存储部,存储作为与该密钥交换装置i的秘密密钥不同的信息的共享秘密信息mki k
认证信息附加部,使用共享秘密信息mki k,对向外部输出的密钥交换信息ei,生成用于检测认证和篡改的认证信息σi;以及
认证信息验证部,从外部接收密钥交换信息es_i和与密钥交换信息es_i对应的认证信息σs_i,使用所述共享秘密信息mki k验证所述认证信息σs_i,在验证失败的情况下,停止密钥交换,
所述密钥交换服务器装置包括:
第二共享秘密密钥存储部,存储作为不同于该密钥交换服务器装置的秘密密钥的信息的共享秘密信息mk1 k,…,mkn k
第二认证信息附加部,使用共享秘密信息mk1 k,…,mkn k,对向外部输出的密钥交换信息es_1,…,es_n生成用于检测认证和篡改的认证信息σs_1,…,σs_n;以及
第二认证信息验证部,从外部接收密钥交换信息e1,…,en和分别与密钥交换信息e1,…,en对应的认证信息σ1,…,σn,使用所述共享秘密信息mk1 k,…,mkn k分别验证所述认证信息σ1,…,σn,在验证失败的情况下,停止与失败的密钥交换装置的密钥交换,
其中,设i≠s,i=1,2,…,n,j为密钥交换的次数,k为0以上且小于j的整数中的任一个。
5.如权利要求4所述的密钥交换系统,其中,
所述共享秘密信息是MAC密钥或AES密钥,
在从外部接收密钥交换信息e1,…,en时、以及向外部输出密钥交换信息es_1,…,es_n时,基于KY协议进行处理。
6.一种使用密钥交换装置的密钥交换方法,其中,
在所述密钥交换装置的共享秘密密钥存储部中,存储有作为与所述密钥交换装置的秘密密钥不同的信息的共享秘密信息mki k
所述方法包括:
认证信息附加步骤,所述密钥交换装置使用共享秘密信息mki k,对向外部输出的密钥交换信息ei生成用于检测认证和篡改的认证信息σi;以及
认证信息验证步骤,所述密钥交换装置从外部接收密钥交换信息es和与密钥交换信息es对应的认证信息σs,使用所述共享秘密信息mki k验证所述认证信息σs,在验证失败的情况下,停止密钥交换,
其中,设i≠s,j为密钥交换的次数,k为0以上且小于j的整数中的任一个。
7.一种使用密钥交换服务器装置和n台密钥交换装置i的密钥交换方法,其中,
在所述密钥交换装置i的共享秘密密钥存储部中,存储有作为与所述密钥交换装置i的秘密密钥不同的信息的共享秘密信息mki k,在所述密钥交换服务器装置的共享秘密密钥存储部中,存储有作为与该密钥交换服务器装置的秘密密钥不同的信息的共享秘密信息mk1 k,…,mkn k
所述方法包括:
初次共享秘密密钥共享步骤,在所述密钥交换服务器装置与所述n台密钥交换装置i之间分别共享共享秘密信息mki k
认证信息附加步骤,所述密钥交换装置i使用共享秘密信息mki k,对向外部输出的密钥交换信息ei生成用于检测认证和篡改的认证信息σi
第二认证信息验证步骤,所述密钥交换服务器装置从外部接收密钥交换信息e1,…,en以及分别与密钥交换信息e1,…,en对应的认证信息σ1,…,σn,使用所述共享秘密信息mk1 k,…,mkn k分别验证所述认证信息σ1,…,σn,在验证失败的情况下,停止与失败的密钥交换装置的密钥交换;
第二认证信息附加步骤,所述密钥交换服务器装置使用共享秘密信息mk1 k,…,mkn k,对向外部输出的密钥交换信息es_1,…,es_n生成用于检测认证和篡改的认证信息σs_1,…,σs_n;以及
认证信息验证步骤,所述密钥交换装置i从外部接收密钥交换信息es_i和与密钥交换信息es_i对应的认证信息σs_i,使用所述共享秘密信息mki k验证所述认证信息σs_i,在验证失败的情况下,停止密钥交换,
其中,设i≠s,i=1,2,…,n,j为密钥交换的次数,k为0以上且小于j的整数中的任一个。
8.一种密钥交换程序,用于使计算机作为权利要求1至权利要求3中任一项所述的密钥交换装置发挥功能。
CN201880071965.6A 2017-11-10 2018-11-09 密钥交换装置、密钥交换系统、密钥交换方法及记录介质 Active CN111630810B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017217291 2017-11-10
JP2017-217291 2017-11-10
PCT/JP2018/041666 WO2019093478A1 (ja) 2017-11-10 2018-11-09 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム

Publications (2)

Publication Number Publication Date
CN111630810A true CN111630810A (zh) 2020-09-04
CN111630810B CN111630810B (zh) 2023-05-30

Family

ID=66437872

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880071965.6A Active CN111630810B (zh) 2017-11-10 2018-11-09 密钥交换装置、密钥交换系统、密钥交换方法及记录介质

Country Status (5)

Country Link
US (1) US11483145B2 (zh)
EP (1) EP3709566B1 (zh)
JP (1) JP6950745B2 (zh)
CN (1) CN111630810B (zh)
WO (1) WO2019093478A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629634A (zh) * 2020-12-09 2022-06-14 精工爱普生株式会社 加密通信系统、加密通信方法及加密通信装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021019807A1 (ja) * 2019-07-31 2021-02-04 真旭 徳山 端末装置、情報処理方法、及びプログラム
JP2021034858A (ja) * 2019-08-23 2021-03-01 日本電信電話株式会社 鍵交換システム、鍵交換装置、鍵交換方法及びプログラム
US20210067350A1 (en) * 2019-09-04 2021-03-04 Adero, Inc. Presence and identity verification using wireless tags
US11870914B2 (en) * 2020-09-04 2024-01-09 Nchain Licensing Ag Digital signatures
CN112564893B (zh) * 2020-10-22 2023-02-03 北京芯盾集团有限公司 电路域和ip域相结合的密钥传输方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1234662A (zh) * 1998-02-19 1999-11-10 电话通有限公司 密码点火处理方法及其装置
US20040083368A1 (en) * 2002-10-24 2004-04-29 Christian Gehrmann Secure communications
CN1832397A (zh) * 2005-11-28 2006-09-13 北京浦奥得数码技术有限公司 电子设备接口间基于公钥证书的认证密钥协商和更新方法
US20060294575A1 (en) * 2003-09-11 2006-12-28 Rogers Paul J Method and apparatus for use in security
CN103338448A (zh) * 2013-06-07 2013-10-02 国家电网公司 一种基于量子密钥分发的无线局域网安全通信方法
US20170302445A1 (en) * 2016-04-19 2017-10-19 Nippon Telegraph And Telephone Corporation Key exchange method and key exchange system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006121215A (ja) 2004-10-19 2006-05-11 Fuji Electric Holdings Co Ltd 鍵交換方法、及び、鍵交換処理装置
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
EP3195521B1 (en) 2014-08-29 2020-03-04 Visa International Service Association Methods for secure cryptogram generation
JP6228903B2 (ja) * 2014-10-08 2017-11-08 日本電信電話株式会社 情報共有システム及び方法、情報共有装置並びにプログラム
US10461933B2 (en) 2015-01-27 2019-10-29 Visa International Service Association Methods for secure credential provisioning

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1234662A (zh) * 1998-02-19 1999-11-10 电话通有限公司 密码点火处理方法及其装置
US20040083368A1 (en) * 2002-10-24 2004-04-29 Christian Gehrmann Secure communications
US20060294575A1 (en) * 2003-09-11 2006-12-28 Rogers Paul J Method and apparatus for use in security
CN1832397A (zh) * 2005-11-28 2006-09-13 北京浦奥得数码技术有限公司 电子设备接口间基于公钥证书的认证密钥协商和更新方法
CN103338448A (zh) * 2013-06-07 2013-10-02 国家电网公司 一种基于量子密钥分发的无线局域网安全通信方法
US20170302445A1 (en) * 2016-04-19 2017-10-19 Nippon Telegraph And Telephone Corporation Key exchange method and key exchange system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114629634A (zh) * 2020-12-09 2022-06-14 精工爱普生株式会社 加密通信系统、加密通信方法及加密通信装置
CN114629634B (zh) * 2020-12-09 2024-02-23 精工爱普生株式会社 加密通信系统、加密通信方法及加密通信装置

Also Published As

Publication number Publication date
WO2019093478A1 (ja) 2019-05-16
US11483145B2 (en) 2022-10-25
EP3709566A1 (en) 2020-09-16
EP3709566B1 (en) 2023-08-23
EP3709566A4 (en) 2021-08-18
JP6950745B2 (ja) 2021-10-13
CN111630810B (zh) 2023-05-30
US20200274704A1 (en) 2020-08-27
JPWO2019093478A1 (ja) 2020-11-19

Similar Documents

Publication Publication Date Title
Abbasinezhad-Mood et al. Efficient anonymous password-authenticated key exchange protocol to read isolated smart meters by utilization of extended Chebyshev chaotic maps
CN109714167B (zh) 适用于移动应用签名的身份认证与密钥协商方法及设备
CN107196763B (zh) Sm2算法协同签名及解密方法、装置与系统
US10027654B2 (en) Method for authenticating a client device to a server using a secret element
CN111630810B (zh) 密钥交换装置、密钥交换系统、密钥交换方法及记录介质
CN110971415A (zh) 一种天地一体化空间信息网络匿名接入认证方法及系统
CN109510818B (zh) 区块链的数据传输系统、方法、装置、设备及存储介质
CN111740828A (zh) 一种密钥生成方法以及装置、设备、加密方法
WO2017195886A1 (ja) 認証システム、認証方法およびプログラム
US11374910B2 (en) Method and apparatus for effecting a data-based activity
US20120323981A1 (en) Proxy calculation system, proxy calculation method, proxy calculation requesting apparatus, and proxy calculation program and recording medium therefor
CN109861956B (zh) 基于状态通道的数据验证系统、方法、装置及设备
CN106789087B (zh) 确定消息的数据摘要、基于多方的数字签名的方法及系统
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
KR20120091618A (ko) 연쇄 해시에 의한 전자서명 시스템 및 방법
CN111565108B (zh) 签名处理方法、装置及系统
Miculan et al. Automated Symbolic Verification of Telegram's MTProto 2.0
CN116155598A (zh) 多服务器架构下的认证方法及系统
CN116155483A (zh) 区块链签名机安全设计方法及签名机
CN112925535A (zh) 一种密码芯片嵌入式应用安装方法及装置
Ashraf et al. Lightweight and authentic symmetric session key cryptosystem for client–server mobile communication
EP3361670B1 (en) Multi-ttp-based method and device for verifying validity of identity of entity
Lee et al. An interactive mobile SMS confirmation method using secret sharing technique
KR101591323B1 (ko) 데이터 전송이 가능한 단말 장치 및 상기 데이터 전송이 가능한 단말 장치의 부인 방지를 위한 데이터 전송 방법
CN114285558B (zh) 一种基于半可信硬件的多方隐私计算方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant