JPWO2019093478A1 - 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム - Google Patents

鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム Download PDF

Info

Publication number
JPWO2019093478A1
JPWO2019093478A1 JP2019552403A JP2019552403A JPWO2019093478A1 JP WO2019093478 A1 JPWO2019093478 A1 JP WO2019093478A1 JP 2019552403 A JP2019552403 A JP 2019552403A JP 2019552403 A JP2019552403 A JP 2019552403A JP WO2019093478 A1 JPWO2019093478 A1 JP WO2019093478A1
Authority
JP
Japan
Prior art keywords
key exchange
key
information
shared secret
unit
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
JP2019552403A
Other languages
English (en)
Other versions
JP6950745B2 (ja
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 JPWO2019093478A1 publication Critical patent/JPWO2019093478A1/ja
Application granted granted Critical
Publication of JP6950745B2 publication Critical patent/JP6950745B2/ja
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

Abstract

鍵交換装置は、i≠sとし、jを鍵交換の回数とし、kを0以上jより小さい整数の何れかとし、当該鍵交換装置の秘密鍵とは異なる情報である共有秘密情報mkikが記憶される共有秘密鍵記憶部と、共有秘密情報mkikを用いて、外部へ出力する鍵交換情報eiに対して認証及び改ざんを検知する認証情報σiを生成する認証情報付加部と、外部から鍵交換情報es及び鍵交換情報esに対応する認証情報σsを受け取り、上記共有秘密情報mkikを用いて上記認証情報σsを検証し、検証に失敗した場合、鍵交換を停止する認証情報検証部とを含み、上記共有秘密情報mkikは、鍵交換の生成過程で利用する値である。

Description

本発明は、情報通信分野における鍵交換技術で、他の通信装置と通信する通信装置、通信装置が実行する通信システムに関するものである。
複数装置の間で暗号化等に使用する同一の鍵(セッション鍵)を共有する技術に鍵交換プロトコルがある。鍵交換プロトコルの中には、長期的に使用する秘密鍵(長期秘密鍵)を用いてセッション鍵を交換するものがある。
その一例として、Two-round Dynamic Multi-Cast Key Distribution Protocol(以下KY Protocolともいう、非特許文献1参照)がある。KY Protocolを利用すれば、ユーザの動的な変更(通話やメッセージグループへの参加や退出等)に合わせて効率的に再度セッション鍵の交換が可能である。そして、KY Protocolには、いくらユーザ数が増加しても各ユーザの鍵交換に必要なコスト(計算コストや通信コスト等)は一定であるといった特徴がある。
K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji,and T. Yamamoto: "Multi-cast Key Distribution: Scalable, Dynamic and Provably Secure Construction", 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を検証し、検証に失敗した場合、鍵交換を停止する認証情報検証ステップとを含む。
本発明によれば、長期鍵漏洩後のセッション鍵の推測を防ぐことができるという効果を奏する。
第一実施形態に係る鍵交換システムの構成図。 第一実施形態に係る鍵交換装置の機能ブロック図。 第一実施形態に係る鍵交換サーバ装置の機能ブロック図。
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、テキスト中で使用する記号「^」「~」等は、本来直前の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直後に記載する。式中においてはこれらの記号は本来の位置に記述している。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
<第一実施形態のポイント>
第一実施形態では、攻撃者がユーザやサーバに成りすますことを防ぐために、以前のセッション鍵の交換の過程で使用した情報(共有秘密情報=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 j uiとサーバの間で共有されるj回目の共有秘密鍵(本実施形態ではセキュリティパラメータkのメッセージ認証子(MAC)の鍵)
p 素数
G 位数pの有限巡回群
g,h Gの生成元
κ セキュリティパラメータ
Kspaceκ κビットの鍵空間
TCR:{0,1}*→{0,1}κ 標的衝突困難ハッシュ関数
tPRF:{0,1}κ×Kspaceκ×Kspaceκ×{0,1}κ→ Z p ねじれ疑似ランダム関数(参考文献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κ→Z p 擬似ランダム関数
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 Kazuki Yoneyama. "Strongly secure authenticated key exchange from factoring, codes, and lattices". 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)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
図2は鍵交換サーバ装置100の機能ブロック図を示す。鍵交換サーバ装置100は、秘密鍵記憶部101、共有秘密鍵記憶部102、鍵交換アルゴリズム部103、認証情報検証部104、認証情報付加部105、共有秘密鍵共有部106とを含む。まず、各部の処理概要を説明する。
<秘密鍵記憶部101>
秘密鍵記憶部101には、鍵交換サーバ装置100の秘密鍵が記憶される。
<共有秘密鍵記憶部102>
共有秘密鍵記憶部102には、鍵交換サーバ装置100の秘密鍵とは異なる情報であり、鍵交換装置200−iとの間で共有可能な共有秘密情報mk1 k-1,…,mkn k-1が記憶される。本実施形態では、共有秘密情報を固定とするため、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には、鍵交換装置200−iの秘密鍵とは異なる情報であり、鍵交換サーバ装置100との間で共有可能な共有秘密情報mki kが記憶される。
<鍵交換アルゴリズム部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}の5つのフェーズで構成される。{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のユーザの同一性を確認するコミットメント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 0を作成し(σi 0←Sigsk_i(ga_i))、鍵交換アルゴリズム部203に署名データを渡す。鍵交換アルゴリズム部203が鍵交換サーバ装置100に(ga_i、σi 0)を送信する。
2. 鍵交換サーバ装置100の共有秘密鍵共有部106は、鍵交換アルゴリズム部103を経由して(ga_ii 0)を受け取り、検証アルゴリズムVerを用いて、署名σi 0を検証する(1 or ⊥←Verpk_i(ga_ii 0))。共有秘密鍵共有部106は、検証に失敗した場合(⊥が出力された場合)、鍵交換アルゴリズムを停止する。共有秘密鍵共有部106は、検証に成功した場合(1が出力された場合)、長期公開鍵SPKsに含まれるgを用いて、乱数bとgbを作成する。共有秘密鍵共有部106は、秘密鍵記憶部101から秘密鍵sksを取り出し、秘密鍵sksを用いて、署名アルゴリズムSigにより、署名σs 0を作成し(σs 0←Sigsk_s(gb))、鍵交換アルゴリズム部103を経由して各鍵交換装置200−iに(gbs 0)を送信する。さらに、共有秘密鍵共有部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を検証する(1 or ⊥←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に対応する1つの値)を共有秘密鍵として共有秘密鍵記憶部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)を作成し、属性情報とする。ただし、特定区間の時間timejiを含む特定区間の時間の集合をTFji:={timeji_1,timeji_2,…,time ji_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~'iR Kspaceκ、s~iR {0,1}k、s~'iR Kspaceκを作成し、図示しない記憶部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は、共有秘密鍵mki j-1を共有秘密鍵記憶部202から取り出し、署名アルゴリズムTagにより、作成したRiとCiとから署名σi 1を次式により計算する。
σi 1=Tag_(mki j-1)(Ri,Ci)
鍵交換アルゴリズム部203は(Ri,Cii 1)を鍵交換サーバ装置100に送付する。ただし、Tag_(mki j-1)は
Figure 2019093478
を意味する。また、本実施形態では、共有秘密鍵固定方式を採用しているため、mki j-1=mki 0である。なお、RiとCiを鍵交換情報ともいい、署名σi 1を認証情報ともいう。
(Round1 for Server)
1. 鍵交換サーバ装置100の認証情報検証部104は、鍵交換アルゴリズム部103を経由して各鍵交換装置200−iから(Ri,Cii 1)を取得し、共有秘密鍵mki j-1を共有秘密鍵記憶部202から取り出し、検証アルゴリズムVerにより、次式により検証を行う。Ver_(mki j-1)(Ri,Cii 1)
認証情報検証部104は、検証に失敗したら鍵交換アルゴリズムを停止する。認証情報検証部104は、検証に成功した場合のみ、鍵交換アルゴリズムを継続する。ただし、Ver_(mki j-1)は
Figure 2019093478
を意味する。
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へ(sid,Ri-1,Ri+1sev_i 1)を送付し、代表ユーザに対しては代表ユーザである事も伝える。
(Round2 for Users)
1. i∈[1,n]である鍵交換装置200−iの認証情報検証部204は、(sid,Ri-1,Ri+1sev_i 1)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、検証アルゴリズム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 2019093478
を意味する。認証情報付加部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~'∈R Kspaceκ、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-1 Tj)を計算する。
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は、(c1,k',sid,T'i,T',CTi',σi 2)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、検証アルゴリズム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をSK=F''(sid,K1) xor F''(sid,K2)により求める。
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は、(k',CT1',σ1 2)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、検証アルゴリズム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をSK=F''(sid,K1) xor F''(sid,K2)により求める。
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鍵等の鍵サイズが小さく計算コストの小さい情報とすることで、限られた耐タンパ領域を有効に利用することができる。
<変形例>
本実施形態では、鍵交換の相手が鍵交換サーバ装置の場合について、つまり、鍵交換装置と鍵交換サーバ装置との間での鍵交換について説明したが、鍵交換装置と鍵交換装置との間での鍵交換において本発明を適用してもよい。ある鍵交換装置が本実施形態の鍵交換装置として機能し、他の鍵交換装置が本実施形態の鍵交換サーバ装置として機能するように構成すればよい。
<第二実施形態のポイント>
第一実施形態と異なる部分を中心に説明する。
本実施形態では、上記の第一実施形態の共有秘密鍵部分をMAC鍵(mki j-1)ではなくAESの鍵(keyi j-1)とし、各通信に付加する情報を署名σiではなくAESによる暗号文c'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 0を作成し(σi 0←Sigsk_i(ga_i))、鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100に(ga_i、σi 0)を送信する。
2. 鍵交換サーバ装置100の共有秘密鍵共有部106は、鍵交換アルゴリズム部103を経由して(ga_ii 0)を受け取り、検証アルゴリズムVerを用いて、署名σi 0を検証する(1 or ⊥←Verpk_i(ga_ii 0))。共有秘密鍵共有部106は、検証に失敗した場合(⊥が出力された場合)、鍵交換アルゴリズムを停止する。共有秘密鍵共有部106は、検証に成功した場合(1が出力された場合)、長期公開鍵SPKsに含まれるgを用いて、乱数bとgbを作成する。共有秘密鍵共有部106は、秘密鍵記憶部101から秘密鍵sksを取り出し、秘密鍵sksを用いて、署名アルゴリズムSigにより、署名σsを作成し(σs←Sigsk_s(gb))、鍵交換アルゴリズム部103を経由して各鍵交換装置200−iに(gbs)を送信する。さらに、共有秘密鍵共有部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を検証する(1 or ⊥←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に対応する1つの値)を共有秘密鍵として共有秘密鍵記憶部202に保存する。
ここまでの処理により、鍵交換サーバ装置100と鍵交換装置200−iとが共有秘密鍵keyi 0を共有する。
・Dist:
(State Update at New Time Frame)
特定のTFtiにはじめてセッションを行う鍵交換装置200−iは鍵交換サーバ装置100と以下のプロセスを行う。
1. 鍵交換サーバ装置100の鍵交換アルゴリズム部203は、鍵交換装置200−iから接続要求があった場合、その現在時刻に対応する特定区間の時間timejiとユーザの識別子uiからAi=(ui,timeji)を作成し、属性情報とする。ただし、特定区間の時間timejiを含む特定区間の時間の集合をTFji:={timeji_1,timeji_2,…,time ji_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は、共有秘密鍵keyi j-1を共有秘密鍵記憶部202から取り出し、公開鍵暗号方式の暗号化アルゴリズム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 2019093478
を意味する。また、本実施形態では、共有秘密鍵固定方式を採用しているため、keyi j-1=keyi 0である。
(Round1 for Server)
1. 鍵交換サーバ装置100の認証情報検証部104は、鍵交換アルゴリズム部103を経由して各鍵交換装置200−iから(Ri,Ci,ci 1)を取得し、共有秘密鍵keyi j-1を共有秘密鍵記憶部202から取り出し、公開鍵暗号方式の暗号化アルゴリズム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を経由して(sid,Ri-1,Ri+1,csev_i 1)を鍵交換サーバ装置100から取得し、公開鍵暗号方式の暗号化アルゴリズム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)
を計算し、鍵交換サーバ装置100に対して、鍵交換アルゴリズム部203を経由して(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)
を計算し、鍵交換サーバ装置100に対して、鍵交換アルゴリズム部203を経由して(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-1 Tj)を計算する。
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は、(c1,k',sid,T'i,T',CTi',csev_i 2)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、公開鍵暗号方式の暗号化アルゴリズム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をSK=F''(sid,K1) xor F''(sid,K2)により求める。
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は、(k',CT1',csev_1 2)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、公開鍵暗号方式の暗号化アルゴリズム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をSK=F''(sid,K1) xor F''(sid,K2)により求める。
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、初回共有秘密鍵共有ステップ、(Round2 for Users)、(Round2 for Server)及び(Session Key Generation and Post Computation)における処理内容が異なる。異なる部分を中心に説明する。
・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 0を作成し(σi 0←Sigsk_i(ga_i))、鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100に(ga_i、σi 0)を送信する。
2. 鍵交換サーバ装置100の共有秘密鍵共有部106は、(ga_ii 0)を受け取り、検証アルゴリズムVerを用いて、署名σi 0を検証する(1 or ⊥←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 0を作成し(σs 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を検証する(1 or ⊥←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に対応する1つの値)を共有秘密鍵として共有秘密鍵記憶部202に保存する。
ここまでの処理により、鍵交換サーバ装置100と鍵交換装置200−iとが共有秘密鍵mki 0を共有する。
(Round2 for Users)
1. i∈[1,n]である鍵交換装置200−iの認証情報検証部204は、(sid,Ri-1,Ri+1sev_i 1)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、検証アルゴリズム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 2を計算し(σi 2=Tag_(mki j-1)(Ri,ci,Ri-1,Ri+1,ki,si,Ti,Ui,sid,gd_i))、鍵交換サーバ装置100に対して、鍵交換アルゴリズム部203を経由して(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 2を計算し(σi 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-1 Tj)を計算する。
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は、(k',ge_11 2)を鍵交換アルゴリズム部103を経由して鍵交換装置200−1に送信する。
(Session Key Generation and Post Computation)
1. i∈[2,n]である鍵交換装置200−iの認証情報検証部204は、(c1,k',sid,T'i,T',ge_ii 2)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、検証アルゴリズム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をSK=F''(sid,K1)により求める。
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は、(k',ge_11 2)を鍵交換サーバ装置100から取得し、検証アルゴリズム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をSK=F''(sid,K1)により求める。
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を更新してもよい。更新時には、1つ前の共有秘密鍵mki j-1だけでなく、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)は以下の処理を行う。なお、mki 0を第三実施形態と同じ初回共有秘密鍵共有ステップを実施する事で鍵交換サーバ装置100と鍵交換装置200−iの間で交換している事とする。
(Session Key Generation and Post Computation)
1. i∈[2,n]である鍵交換装置200−iの認証情報検証部204は、(c1,k',sid,T'i,T',σi 2)を鍵交換アルゴリズム部203を経由して鍵交換サーバ装置100から取得し、検証アルゴリズム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をSK=F''(sid,K1)により求める。
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は、(k',σ1 2)を鍵交換サーバ装置100から取得し、検証アルゴリズム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をSK=F''(sid,K1)により求める。
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 and Post Computation)フェーズでmki v←PRF(SK, mki v-1)を行い、共有秘密鍵の更新を行う。
<効果>
このような構成により、第三実施形態と同様の効果を得ることができる。
<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
<プログラム及び記録媒体>
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (8)

  1. 鍵交換装置であって、
    i≠sとし、jを鍵交換の回数とし、kを0以上jより小さい整数の何れかとし、
    当該鍵交換装置の秘密鍵とは異なる情報である共有秘密情報mki kが記憶される共有秘密鍵記憶部と、
    共有秘密情報mki kを用いて、外部へ出力する鍵交換情報eiに対して認証及び改ざんを検知する認証情報σiを生成する認証情報付加部と、
    外部から鍵交換情報es及び鍵交換情報esに対応する認証情報σsを受け取り、上記共有秘密情報mki kを用いて上記認証情報σsを検証し、検証に失敗した場合、鍵交換を停止する認証情報検証部とを含み、
    上記共有秘密情報mki kは、鍵交換の生成過程で利用する値である、
    鍵交換装置。
  2. 請求項1の鍵交換装置であって、
    当該鍵交換装置の秘密鍵が記憶される記憶部と、
    鍵交換の過程で生成される関連情報xと上記秘密鍵と上記共有秘密情報mki kとを用いて、共有秘密情報mki jを求める共有秘密鍵共有部とを含む、
    鍵交換装置。
  3. 請求項1または請求項2の鍵交換装置であって、
    上記共有秘密情報は、MAC鍵、または、AES鍵であり、
    外部から鍵交換情報esを受け取る際、及び、鍵交換情報eiを外部へ出力する際に、KY Protocolに基づき処理を行う、
    鍵交換装置。
  4. 鍵交換サーバ装置と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をそれぞれ検証し、検証に失敗した場合、失敗した鍵交換装置との鍵交換を停止する第二認証情報検証部とを含む、
    鍵交換システム。
  5. 請求項4の鍵交換システムであって、
    上記共有秘密情報は、MAC鍵、または、AES鍵であり、
    外部から鍵交換情報e1,…,enを受け取る際、及び、鍵交換情報es_1,…,es_nを外部へ出力する際に、KY Protocolに基づき処理を行う、
    鍵交換システム。
  6. 鍵交換装置を用いる鍵交換方法であって、
    i≠sとし、jを鍵交換の回数とし、kを0以上jより小さい整数の何れかとし、
    上記鍵交換装置の共有秘密鍵記憶部には、上記鍵交換装置の秘密鍵とは異なる情報である共有秘密情報mki kが記憶されるものとし、
    上記鍵交換装置が、共有秘密情報mki kを用いて、外部へ出力する鍵交換情報eiに対して認証及び改ざんを検知する認証情報σiを生成する認証情報付加ステップと、
    上記鍵交換装置が、外部から鍵交換情報es及び鍵交換情報esに対応する認証情報σsを受け取り、上記共有秘密情報mki kを用いて上記認証情報σsを検証し、検証に失敗した場合、鍵交換を停止する認証情報検証ステップとを含む、
    鍵交換方法。
  7. 鍵交換サーバ装置とn台の鍵交換装置iとを用いる鍵交換方法であって、
    i≠sとし、i=1,2,…,nとし、jを鍵交換の回数とし、kを0以上jより小さい整数の何れかとし、
    上記鍵交換装置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を検証し、検証に失敗した場合、鍵交換を停止する認証情報検証ステップとを含む、
    鍵交換方法。
  8. 請求項1から請求項3の何れかの鍵交換装置として、コンピュータを機能させるための鍵交換プログラム。
JP2019552403A 2017-11-10 2018-11-09 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム Active JP6950745B2 (ja)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
JPWO2019093478A1 true JPWO2019093478A1 (ja) 2020-11-19
JP6950745B2 JP6950745B2 (ja) 2021-10-13

Family

ID=66437872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019552403A Active JP6950745B2 (ja) 2017-11-10 2018-11-09 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム

Country Status (5)

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

Families Citing this family (6)

* 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域相结合的密钥传输方法
JP2022091498A (ja) * 2020-12-09 2022-06-21 セイコーエプソン株式会社 暗号通信システム、暗号通信方法および暗号通信装置

Citations (3)

* 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 鍵交換方法、及び、鍵交換処理装置
US20160065370A1 (en) * 2014-08-29 2016-03-03 Eric Le Saint Methods for secure cryptogram generation
JP2016076877A (ja) * 2014-10-08 2016-05-12 日本電信電話株式会社 情報共有システム及び方法、情報共有装置並びにプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263437B1 (en) * 1998-02-19 2001-07-17 Openware Systems Inc Method and apparatus for conducting crypto-ignition processes between thin client devices and server devices over data networks
US7284127B2 (en) * 2002-10-24 2007-10-16 Telefonktiebolaget Lm Ericsson (Publ) Secure communications
GB0321335D0 (en) * 2003-09-11 2003-10-15 Rogers Paul J Method and apparatus for use in security
CN1832397B (zh) * 2005-11-28 2010-09-29 四川长虹电器股份有限公司 电子设备接口间基于公钥证书的认证密钥协商和更新方法
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
CN103338448A (zh) * 2013-06-07 2013-10-02 国家电网公司 一种基于量子密钥分发的无线局域网安全通信方法
SG11201704984SA (en) 2015-01-27 2017-07-28 Visa Int Service Ass Methods for secure credential provisioning
JP6497747B2 (ja) * 2016-04-19 2019-04-10 日本電信電話株式会社 鍵交換方法、鍵交換システム

Patent Citations (3)

* 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 鍵交換方法、及び、鍵交換処理装置
US20160065370A1 (en) * 2014-08-29 2016-03-03 Eric Le Saint Methods for secure cryptogram generation
JP2016076877A (ja) * 2014-10-08 2016-05-12 日本電信電話株式会社 情報共有システム及び方法、情報共有装置並びにプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小林 鉄太郎 TETSUTARO KOBAYASHI 他: "ID-based Scalable and Dynamic Multi-Cast Key Distribution for secure business chat system", 2017年 暗号と情報セキュリティシンポジウム(SCIS2017)予稿集 [USB] 2017年 暗, JPN6021023327, 24 January 2017 (2017-01-24), JP, pages 3 - 5, ISSN: 0004576525 *

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6950745B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
US10785019B2 (en) Data transmission method and apparatus
US10708072B2 (en) Mutual authentication of confidential communication
AU2016211551B2 (en) Methods for secure credential provisioning
US10027654B2 (en) Method for authenticating a client device to a server using a secret element
TWI497336B (zh) 用於資料安全之裝置及電腦程式
US20160119291A1 (en) Secure communication channel with token renewal mechanism
US8433066B2 (en) Method for generating an encryption/decryption key
CN104641592A (zh) 用于无证书认证加密(clae)的方法和系统
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
US11528127B2 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
JPWO2018220693A1 (ja) 情報処理装置、検証装置、情報処理システム、情報処理方法、及び、記録媒体
US11258588B2 (en) Key exchange method and key exchange system
CN114726536A (zh) 一种时间戳生成方法、装置、电子设备及存储介质
JPWO2016199507A1 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム
CN114760046A (zh) 一种身份鉴别方法和装置
JP7251633B2 (ja) 所有者同一性確認システム、認証局サーバおよび所有者同一性確認方法
CN110572257B (zh) 基于身份的数据来源鉴别方法和系统
CN104780049B (zh) 一种安全读写数据的方法
JP7211518B2 (ja) 所有者同一性確認システムおよび所有者同一性確認方法
CN112925535A (zh) 一种密码芯片嵌入式应用安装方法及装置
CN114696999A (zh) 一种身份鉴别方法和装置
WO2021019783A1 (ja) 所有者同一性確認システム、端末および所有者同一性確認方法
JP2009111594A (ja) 短い系列を用いた認証システム
EP3361670B1 (en) Multi-ttp-based method and device for verifying validity of identity of entity

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210906

R150 Certificate of patent or registration of utility model

Ref document number: 6950745

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150