JPWO2019198516A1 - 鍵配信システム、端末装置、鍵配信方法、及びプログラム - Google Patents

鍵配信システム、端末装置、鍵配信方法、及びプログラム Download PDF

Info

Publication number
JPWO2019198516A1
JPWO2019198516A1 JP2020513189A JP2020513189A JPWO2019198516A1 JP WO2019198516 A1 JPWO2019198516 A1 JP WO2019198516A1 JP 2020513189 A JP2020513189 A JP 2020513189A JP 2020513189 A JP2020513189 A JP 2020513189A JP WO2019198516 A1 JPWO2019198516 A1 JP WO2019198516A1
Authority
JP
Japan
Prior art keywords
key
terminal device
subgroup
public value
key distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020513189A
Other languages
English (en)
Inventor
裕樹 岡野
裕樹 岡野
麗生 吉田
麗生 吉田
鉄太郎 小林
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JPWO2019198516A1 publication Critical patent/JPWO2019198516A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

N台の端末装置Uと、セッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、Nが偶数である場合、奇数番目の端末装置Uが所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置Uが前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、前記鍵配信サーバが、奇数番目の端末装置Uにより計算された第1の公開値を端末装置Ui−1及び端末装置Ui+1に配信し、偶数番目の端末装置Uにより計算された第2の公開値を端末装置Ui−1及び端末装置Ui+1に配信する配信手段と、前記配信手段により配信された第2の公開値を用いて奇数番目の端末装置Uが前記セッション鍵を生成し、前記配信手段により配信された第1の公開値を用いて偶数番目の端末装置Uが前記セッション鍵を生成する鍵生成手段と、を有し、前記同種写像計算手段は、Nが奇数である場合、前記端末装置Uのうち、所定の端末装置Uが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする鍵配信システム。

Description

本発明は、鍵配信システム、端末装置、鍵配信方法、及びプログラムに関する。
スマートフォンやタブレット端末等の各種ユーザ端末の普及に伴って、何等かのデータをサーバに預託することで、このデータを多人数で共有するようなサービスが増えてきた。このようなサービスとしては、例えば、オンラインストレージサービス、グループチャットサービス、グループメールサービス等が挙げられる。
上記のようなサービスを提供するシステムでは、例えば、通信路を暗号化することで通信経路上の盗聴防止が施されていたり、ユーザ端末にデータを残さないことによってユーザ端末の紛失や不正な持ち出しに起因する情報漏えい防止が施されていたりする。このように、上記のようなサービスを提供するシステムでは、通信経路に対する脅威(例えば、盗聴等)やユーザ端末に対する脅威(例えば、紛失や不正な持ち出し等)に対処が行われている場合が多い。
ここで、上記のようなサービスを提供するシステムにおいては、サーバに対する脅威に起因する情報漏えいの恐れも考えられる。サーバに対する脅威には、例えば、サーバに対する外部からの攻撃やサーバ管理者等による内部不正等がある。これらの脅威に起因する情報漏えいを防止する方法として、例えば、サーバに対してはデータを秘匿化し、ユーザ端末でのみデータの復号可能なエンドツーエンド暗号化を行う方法がある。
エンドツーエンド暗号化では、ユーザ端末間で用いる共通鍵をどのように共有するかが問題となる。これに対して、多者間鍵交換技術の1つとして、中央に認証サーバが配置されたスター型のネットワークにおいて、認証サーバに対していかなる情報も漏らさずにユーザ端末間で鍵(以下「セッション鍵」と表す。)を共有することが可能な動的多者鍵配布(DMKD:Dynamic Multi-Cast Key Distribution)プロトコルが知られている。DMKDプロトコルによって、認証サーバに対してデータの内容を秘匿したままユーザ端末間でデータの送受信を行うことができるようになる。また、DMKDプロトコルでは、データの送受信を行う複数のユーザ端末間でのみセッション鍵の共有を行うため、例えば、これらの複数のユーザ端末に対して新たなユーザ端末が追加された場合やこれらの複数のユーザ端末から或るユーザ端末が離脱した場合等にはセッション鍵が更新される。
ところで、以下の参考文献1では、DH(Diffie-Hellman)鍵交換を用いたDMKDプロトコルが提案されている。
[参考文献1]
K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto. 2016. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. Cryptology ePrint Archive, Report 2016/833. (2016).
しかしながら、参考文献1で提案されているDMKDプロトコルは、DH鍵交換を用いているため、耐量子性がないことが知られている。このため、今後、量子コンピュータの実用化が進むにつれて、計算量仮定であるCDH(Computational Diffie-Hellman)・DDH(Decisional Diffie-Hellman)問題が効率よく解かれてしまい、鍵共有の安全性が担保されない可能性がある。これに対して、鍵カプセル化メカニズム(KEM:Key Encapsulation Mechanism)を用いることで、格子暗号や符号ベース暗号等の耐量子暗号に適用可能なDMKDプロトコルが提案されている(非特許文献1)。
金城皓羽、岡野裕樹、斉藤恒和、草川恵太、小林鉄太郎、星野文学、「KEMを用いた動的多者鍵配布プロトコル」、SCIS2018
しかしながら、非特許文献1で提案されている手法は耐量子があるものの、鍵カプセル化メカニズムを用いているため、DH鍵交換を用いたDMKDプロトコルよりも1ラウンド多い通信が必要である。このため、非特許文献1で提案されている手法は、DH鍵交換を用いたDMKDプロトコルよりも余分な通信コストが必要であった。
本発明は、上記の点に鑑みてなされたもので、耐量子性があり、かつ、通信コストが少ない多者間鍵交換を実現することを目的とする。
上記目的を達成するため、本発明の実施の形態は、N(ただし、N≧2)台の端末装置U(i=1,・・・,N)と、該N台の端末装置U間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、Nが偶数である場合、前記端末装置Uのうち、奇数番目の端末装置U(i=1,・・・,N−1)が所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置U(i=2,・・・,N)が前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、前記鍵配信サーバが、奇数番目の端末装置Uにより計算された第1の公開値を端末装置Ui−1(ただし、i=1である場合、U=U)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U)に配信し、偶数番目の端末装置Uにより計算された第2の公開値を端末装置Ui−1及び端末装置Ui+1に配信する配信手段と、前記配信手段により配信された第2の公開値を用いて奇数番目の端末装置Uが前記セッション鍵を生成し、前記配信手段により配信された第1の公開値を用いて偶数番目の端末装置Uが前記セッション鍵を生成する鍵生成手段と、を有し、前記同種写像計算手段は、Nが奇数である場合、前記端末装置Uのうち、予め決められた所定の端末装置Uが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする。
本発明によれば、耐量子性があり、かつ、通信コストが少ない多者間鍵交換を実現することができる。
本発明の実施の形態における鍵交換システムのシステム構成の一例を示す図である。 本発明の実施の形態における鍵配信サーバの機能構成の一例を示す図である。 本発明の実施の形態におけるユーザ端末の機能構成の一例を示す図である。 本発明の実施の形態における鍵交換システムの事前処理の流れの一例を説明するための図である。 本発明の実施の形態における鍵交換システムの鍵交換処理の流れの一例を説明するための図である。 本発明の実施の形態における鍵配信サーバ及びユーザ端末のハードウェア構成の一例を示す図である。
以下、本発明の実施の形態について説明する。本発明の実施の形態では、耐量子暗号として同種写像暗号を用いて、非特許文献1で提案されている手法よりも少ないラウンド(2ラウンド)の通信で多者間鍵交換を行う鍵交換システム1について説明する。
<システム構成>
図1に示すように、本発明の実施の形態における鍵交換システム1には、鍵配信サーバ10と、複数のユーザ端末20とが含まれる。鍵配信サーバ10と各ユーザ端末20とは、例えばインターネット等のネットワーク30を介して通信可能に接続されている。
鍵配信サーバ10は、各ユーザ端末20間で共通鍵を共有するために、各ユーザ端末20の公開鍵の配信を行うサーバである。鍵配信サーバ10は、1台の情報処理装置(コンピュータ)又は複数台の情報処理装置で実現される。
ユーザ端末20は、本発明の実施の形態における鍵交換システム1に登録されているユーザが利用する端末である。各ユーザ端末20は、鍵配信サーバ10を介して、他のユーザ端末20との間で公開鍵を交換することで、共通鍵を共有することができる。ユーザ端末20としては、例えば、スマートフォンやタブレット端末、PC(パーソナルコンピュータ)、ウェアラブルデバイス、ゲーム機器、家電製品、組み込み機器等の種々の情報処理装置を用いることができる。
本発明の実施の形態では、鍵交換システム1に登録されているユーザのうち、鍵交換を行うユーザの数をNとし、これらのユーザが利用するユーザ端末20をそれぞれ「ユーザ端末20」、「ユーザ端末20」、・・・、「ユーザ端末20」と表す。したがって、本発明の実施の形態では、各ユーザ端末20(1≦i≦N)をそれぞれ表す記号として、添え字i(1≦i≦N)を用いる。また、本発明の実施の形態では、鍵配信サーバ10を表す記号として、Sを用いる。
<定義>
ここで、本発明の実施の形態で用いる記号等を定義する。
整数をnとして、整数環Zに対するnを法とする剰余環(又は剰余類環)をZ/nZとする。
また、1以上の整数fを、
Figure 2019198516
又は
Figure 2019198516
が素数となるように選択する。ここで、l及びlは小さい素数(例えば、2及び3)であり、e及びeは整数である。
Figure 2019198516
又は
Figure 2019198516
が素数である場合、これらのうち素数である方(両方が素数である場合は任意に選んだ何れか一方)をpと表す。
また、
Figure 2019198516
を標数pの素体Fの2次拡大体とする。Eを
Figure 2019198516
上の楕円曲線とする。例えば、
Figure 2019198516
とすると、Eは
Figure 2019198516
上の楕円曲線である。ここで、Oは無限遠点である。以降、本発明の実施の形態では、楕円曲線Eは超特異楕円曲線であるものとする。
楕円曲線Eのj不変量を、
Figure 2019198516
とする。楕円曲線Eの任意の点Pと任意の整数mとに対して、Pのm個の和を[m]Pと表す。ただし、和は、楕円曲線上の加算である。
整数mに対して、楕円曲線Eのmねじれ部分群E[m]を、E[m]={P∈E|[m]P=O}と定義する。mねじれ部分群E[m]は、pで割り切れない整数mに対して、
Figure 2019198516
であることが知られている。ここで、
Figure 2019198516
は2つの群A及びBの間に同型写像が存在することを意味する。
本発明の実施の形態では、kをセキュリティパラメータ、シードs∈{0,1}をインデックスとし、定義域Domと値域Rngとを持つ関数族{F:Dom→Rngのうち、疑似ランダム関数と呼ばれる関数を使用する。また、本発明の実施の形態では、この疑似ランダム関数によるねじれ疑似ランダム関数tPRFを使用する。なお、ねじれ疑似ランダム関数tPRFは、入力の一部が知られたとしても、その関数の出力がランダム値と区別が困難であるという性質を有する関数である。
なお、ねじれ疑似ランダム関数については、例えば、以下の参考文献2に開示されている。
[参考文献2]
K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto. 2016. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. Cryptology ePrint Archive, Report 2016/833. (2016).
<機能構成>
図2に示すように、本発明の実施の形態における鍵配信サーバ10は、機能部として、セットアップ部101と、長期秘密ストリング生成部102と、短期秘密ストリング生成部103と、公開情報計算部104と、通信部105と、長期秘密ストリング記憶部106と、短期秘密ストリング記憶部107とを有する。これらの各機能部によって、鍵配信サーバ10は、後述する事前処理(図4)及び鍵交換処理(図5)を実現することができる。
また、図3に示すように、本発明の実施の形態におけるユーザ端末20は、機能部として、長期秘密ストリング生成部201と、短期秘密ストリング生成部202と、ねじれ疑似ランダム関数部203と、同種写像計算部204と、第1疑似ランダム関数部205と、秘密情報計算部206と、第2疑似ランダム関数部207と、通信部208と、長期秘密ストリング記憶部209と、短期秘密ストリング記憶部210と、セッション情報記憶部211とを有する。これら各機能部によって、各ユーザ端末20は、後述する事前処理(図4)及び鍵交換処理(図5)を実現することができる。
<事前処理>
次に、本発明の実施の形態における鍵交換システム1の事前処理の流れについて、図4を参照しながら説明する。図4は、本発明の実施の形態における鍵交換システム1の事前処理の流れの一例を説明するための図である。なお、セキュリティパラメータkは予め決められているものとする。例えば、k=256等に決められているものとする。
ステップS101:鍵配信サーバ10のセットアップステップ
鍵配信サーバ10のセットアップ部101は、kビットの数
Figure 2019198516
が素数となるように整数fを選択する。ここで、l及びlは素数、e及びeは整数である。
また、鍵配信サーバ10のセットアップ部101は、
Figure 2019198516
上の超特異楕円曲線Eを生成し、
Figure 2019198516
Figure 2019198516
とを選択する。基底の選択方法は、例えば、以下の参考文献3に開示されている方法を用いることができる。
[参考文献3]
L. De Feo, D. Jao, Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies, In PQCrypto, pp.19-34, 2011.
更に、鍵配信サーバ10のセットアップ部101は、Kspaceを鍵空間とし、以下のねじれ疑似ランダム関数tPRF,tPRF及びtPRFを生成する。
Figure 2019198516
また、鍵配信サーバ10のセットアップ部101は、以下の疑似ランダム関数F及びF´を生成する。
Figure 2019198516
そして、鍵配信サーバ10のセットアップ部101は、(p,l,e,l,e,E,P,Q,P,Q,tPRF,tPRF,tPRF,F,F´)を公開する。これにより、各ユーザ端末20は、これらの公開された情報を利用することができる。
ステップS102:鍵配信サーバ10の長期秘密ストリング生成ステップ
鍵配信サーバ10の長期秘密ストリング生成部102は、長期秘密ストリングとして、st∈Kspaceと、st´∈{0,1}とを一様ランダムに生成する。そして、鍵配信サーバ10の長期秘密ストリング生成部102は、生成した長期秘密ストリング(st,st´)を長期秘密ストリング記憶部106に保存する。
ステップS103:各ユーザ端末20の長期秘密ストリング生成ステップ
各ユーザ端末20の長期秘密ストリング生成部201は、長期秘密ストリングとして、st∈Kspaceと、st´∈{0,1}とを一様ランダムに生成する。なお、st及びst´は、ユーザ端末20の長期秘密ストリング生成部201により生成された長期秘密ストリングである。
そして、各ユーザ端末20の長期秘密ストリング生成部201は、生成した長期秘密ストリング(st,st´)を、自身の長期秘密ストリング記憶部209に保存する。
<鍵交換処理>
次に、本発明の実施の形態における鍵交換システム1の鍵交換処理の流れについて、図5を参照しながら説明する。図5は、本発明の実施の形態における鍵交換システム1の鍵交換処理の流れの一例を説明するための図である。
以降で説明する鍵交換処理は、鍵交換システム1の動作中に任意の回数実行が可能である。1回あたりの鍵交換の実行を「セッション」と呼ぶ。以降では、或るセッションにおける鍵配信サーバ10及び各ユーザ端末20の動作を説明する。なお、当該セッションを識別するセッション識別子をsid∈{0,1}とする。セッション識別子sidの生成方法としては、任意の方法を用いることができる。例えば、非特許文献1に開示されているように、コミットメントを用いて生成する方法が挙げられる。鍵配信サーバ10及び各ユーザ端末20は、このsidを知っているものとする。
また、各ユーザ端末20の中で代表となるユーザ端末20(代表ユーザ端末)を決めておく。ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20のうち、任意のユーザ端末20を代表ユーザ端末として良い。以降では、ユーザ端末20が代表ユーザ端末であるものとする。代表ユーザ端末の選択及び代表ユーザ端末であることを示す通知は、例えば、鍵配信サーバ10により行われても良い。
また、ユーザ端末20の添え字iはリング状であるものとする。すなわち、i=Nに対して1が加算された場合i=1となり、i=1から−1が減算された場合i=Nとなるものとする。
ここで、同種写像暗号では、DH鍵交換と異なり、或る2つのユーザ端末20において、基底{P,Q}から秘密鍵を生成するか又は基底{P,Q}から秘密鍵を生成するかのいずれかによって計算の非対称性が生じる。
このため、実施例1では、ユーザ端末20の数Nの偶奇によって代表ユーザ端末の処理が異なる場合について説明する。すなわち、実施例1では、Nが偶数である場合は、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20N−1は基底{P,Q}からそれぞれ公開値を計算し、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20は基底{P,Q}からそれぞれ公開値を計算する。一方で、Nが奇数である場合は、代表ユーザ端末であるユーザ端末20は基底{P,Q}及び基底{P,Q}の両方からそれぞれ公開値を計算し、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20N−1は基底{P,Q}からそれぞれ公開値を計算し、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20は基底{P,Q}からそれぞれ公開値を計算する。なお、公開値には、後述するφ(P),φ(Q),φ(P),φ(Q)が含まれる。
また、実施例2では、ユーザ端末20の数Nの偶奇によらずに、全てのユーザ端末20が基底{P,Q}及び基底{P,Q}の両方からそれぞれ共通鍵を生成する場合について説明する。
(実施例1)
以降では、実施例1について説明する。
≪Nが偶数である場合≫
まず、Nが偶数である場合について説明する。
ステップS201:第一鍵生成ステップ(Round1)
以降のS201−11〜S201−15は、iが奇数である各ユーザ端末20(i=1,3,・・・,N−1)が実行する。
S201−11)短期秘密ストリング生成部202は、短期秘密ストリングとして、r (1)∈{0,1}と、r (2)∈Kspaceと、r (3)∈{0,1}と、r (4)∈Kspaceと、k (1)∈{0,1}と、k (2)∈Kspaceとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(r (1),r (2),r (3),r (4),k (1),k (2))を短期秘密ストリング記憶部210に保存する。
S201−12)ねじれ疑似ランダム関数部203は、m=tPRF(r (1),r (2),st,st´)と、n=tPRF(r (3),r (4),st,st´)と、k=tPRF(k (1),k (2),st,st´)とを生成する。なお、長期秘密ストリング(st,st´)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201−13)同種写像計算部204は、[m]P+[n]Qで生成されるEの部分群Kを核に持つ同種写像φ:E→Eと、この同種写像φに付随する楕円曲線Eとを計算する。
なお、部分群Kを核に持つ同種写像φとは、Kerφ=Kとなる同種写像のことである。このような同種写像φと部分群Kとは1対1に対応することが知られている。また、同種写像φに付随する楕円曲線Eは、E=E/Kとも表される。同種写像φの計算方法は、例えば、以下の参考文献4又は5に開示されている方法を用いることができる。
[参考文献4]
J. Velu, Isogenies entre courbes elliptiques, C. R. Acad. Sci. Paris Ser. A-B, 273:A238-241, 1971.
[参考文献5]
Lawrence C.Washington. Elliptic curves: Number theory and cryptography, 2nd ed., CRC Press, 2008.
S201−14)同種写像計算部204は、φ(P)とφ(Q)とを計算する。
S201−15)そして、通信部208は、(φ(P),φ(Q),E)を鍵配信サーバ10に送信する。これより、各ユーザ端末20(i=1,3,・・・,N−1)の公開値(φ(P),φ(Q),E)が鍵配信サーバ10に送信される。
以降のS201−21〜S201−25は、iが偶数である各ユーザ端末20(i=2,4,・・・,N)が実行する。
S201−21)短期秘密ストリング生成部202は、短期秘密ストリングとして、r (1)∈{0,1}と、r (2)∈Kspaceと、r (3)∈{0,1}と、r (4)∈Kspaceと、k (1)∈{0,1}と、k (2)∈Kspaceとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(r (1),r (2),r (3),r (4),k (1),k (2))を短期秘密ストリング記憶部210に保存する。
S201−22)ねじれ疑似ランダム関数部203は、m=tPRF(r (1),r (2),st,st´)と、n=tPRF(r (3),r (4),st,st´)と、k=tPRF(k (1),k (2),st,st´)とを生成する。なお、長期秘密ストリング(st,st´)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201−23)同種写像計算部204は、[m]P+[n]Qで生成されるEの部分群Kを核に持つ同種写像φ:E→Eと、この同種写像φに付随する楕円曲線Eとを計算する。
S201−24)同種写像計算部204は、φ(P)とφ(Q)とを計算する。
S201−25)そして、通信部208は、(φ(P),φ(Q),E)を鍵配信サーバ10に送信する。これより、各ユーザ端末20(i=2,4,・・・,N)の公開値(φ(P),φ(Q),E)が鍵配信サーバ10に送信される。
なお、上記のS201−12及びS201−22におけるm及びnは、長期秘密ストリング記憶部209に記憶されている長期秘密ストリングと、短期秘密ストリング記憶部210に記憶されている短期秘密ストリングとを用いて、必要なときにねじれ疑似ランダム関数から生成することができる。このため、安全上、m及びnは保存しないことが好ましい。
ただし、安全性をあまり考慮しないのであれば、上記のS201−12でm及びn
Figure 2019198516
からランダムに生成して、保存しておいても良い。同様に、上記のS201−22でm及びn
Figure 2019198516
からランダムに生成して、保存しておいても良い。
ステップS202:鍵配信ステップ(Round1)
S202−1)通信部105は、iが奇数である各ユーザ端末20(i=1,3,・・・,N−1)から公開値(φ(P),φ(Q),E)を受信すると共に、iが偶数である各ユーザ端末20(i=2,4,・・・,N)から公開値(φ(P),φ(Q),E)を受信する。
S202−2)通信部105は、iが奇数である各ユーザ端末20(i=1,3,・・・,N−1)に対して、(sid,φi−1(P),φi−1(Q),Ei−1,φi+1(P),φi+1(Q),Ei+1)を送信する。
また、通信部105は、iが偶数である各ユーザ端末20(i=2,4,・・・,N)に対して、(sid,φi−1(P),φi−1(Q),Ei−1,φi+1(P),φi+1(Q),Ei+1)を送信する。
なお、上述したように、ユーザ端末20の添え字iはリング状である。したがって、例えば、i=1であるユーザ端末20に対しては、(sid,φ(P),φ(Q),E,φ(P),φ(Q),E)が送信される。また、例えば、i=Nであるユーザ端末20に対しては、(sid,φN−1(P),φN−1(Q),EN−1,φ(P),φ(Q),E)が送信される。
ステップS203:第二鍵生成ステップ(Round2)
以降のS203−11〜S203−16は、iが1以外の奇数である各ユーザ端末20(i=3,5,・・・,N−1)が実行する。
S203−11)通信部208は、鍵配信サーバ10から(sid,φi−1(P),φi−1(Q),Ei−1,φi+1(P),φi+1(Q),Ei+1)を受信する。
S203−12)同種写像計算部204は、[m]φi−1(P)+[n]φi−1(Q)で生成されるEi−1の部分群Ki−1,iを核に持つ同種写像φi−1,i:Ei−1→Ei−1,iと、この同種写像φi−1,iに付随する楕円曲線Ei−1,iとを計算する。
同様に、同種写像計算部204は、[m]φi+1(P)+[n]φi+1(Q)で生成されるEi+1の部分群Ki+1,iを核に持つ同種写像φi+1,i:Ei+1→Ei+1,iと、この同種写像φi+1,iに付随する楕円曲線Ei+1,iとを計算する。
S203−13)同種写像計算部204は、楕円曲線Ei−1,iのj不変量j(Ei−1,i)と、楕円曲線Ei+1,iのj不変量j(Ei+1,i)とを計算する。
S203−14)次に、第1疑似ランダム関数部205は、K (l)=F(sid,j(Ei−1,i))と、K (r)=F(sid,j(Ei+1,i))とを計算する。
S203−15)次に、第1疑似ランダム関数部205は、K (l)とK (r)とのビット毎の排他的論理和Tを計算する。すなわち、第1疑似ランダム関数部205は、
Figure 2019198516
を計算する。
S203−16)そして、通信部208は、(k,T)を鍵配信サーバ10に送信する。なお、kは、第一鍵生成ステップ(S201)で生成されたものである。
以降のS203−21〜S203−26は、iが偶数である各ユーザ端末20(i=2,4,・・・,N)が実行する。
S203−21)通信部208は、鍵配信サーバ10から(sid,φi−1(P),φi−1(Q),Ei−1,φi+1(P),φi+1(Q),Ei+1)を受信する。
S203−22)同種写像計算部204は、[m]φi−1(P)+[n]φi−1(Q)で生成されるEi−1の部分群Ki−1,iを核に持つ同種写像φi−1,i:Ei−1→Ei−1,iと、この同種写像φi−1,iに付随する楕円曲線Ei−1,iとを計算する。
同様に、同種写像計算部204は、[m]φi+1(P)+[n]φi+1(Q)で生成されるEi+1の部分群Ki+1,iを核に持つ同種写像φi+1,i:Ei+1→Ei+1,iと、この同種写像φi+1,iに付随する楕円曲線Ei+1,iとを計算する。
S203−23)同種写像計算部204は、楕円曲線Ei−1,iのj不変量j(Ei−1,i)と、楕円曲線Ei+1,iのj不変量j(Ei+1,i)とを計算する。
S203−24)次に、第1疑似ランダム関数部205は、K (l)=F(sid,j(Ei−1,i))と、K (r)=F(sid,j(Ei+1,i))とを計算する。
S203−25)次に、第1疑似ランダム関数部205は、K (l)とK (r)とのビット毎の排他的論理和Tを計算する。
S203−26)そして、通信部208は、(k,T)を鍵配信サーバ10に送信する。なお、kは、第一鍵生成ステップ(S201)で生成されたものである。
以降のS203−31〜S203−37は、代表ユーザ端末であるユーザ端末20が実行する。
S203−31)通信部208は、鍵配信サーバ10から(sid,φ(P),φ(Q),E,φ(P),φ(Q),E)を受信する。
S203−32)同種写像計算部204は、[m]φ(P)+[n]φ(Q)で生成されるEの部分群KN,1を核に持つ同種写像φN,1:E→EN,1と、この同種写像φN,1に付随する楕円曲線EN,1とを計算する。
同様に、同種写像計算部204は、[m]φ(P)+[n]φ(Q)で生成されるEの部分群K2,1を核に持つ同種写像φ2,1:E→E2,1と、この同種写像φ2,1に付随する楕円曲線E2,1とを計算する。
S203−33)同種写像計算部204は、楕円曲線EN,1のj不変量j(EN,1)と、楕円曲線E2,1のj不変量j(E2,1)とを計算する。
S203−34)次に、第1疑似ランダム関数部205は、K (l)=F(sid,j(EN,1))と、K (r)=F(sid,j(E2,1))とを計算する。
S203−35)次に、第1疑似ランダム関数部205は、K (l)とK (r)とのビット毎の排他的論理和Tを計算する。
S203−36)次に、第1疑似ランダム関数部205は、K (l)とkとの排他的論理和T´を計算する。すなわち、第1疑似ランダム関数部205は、
Figure 2019198516
を計算する。なお、kは、第一鍵生成ステップ(S201)で生成されたものである。
S203−37)そして、通信部208は、(T´,T)を鍵配信サーバ10に送信する。
ステップS204:第三鍵生成ステップ(Round2)
S204−1)通信部105は、i=1であるユーザ端末20から(T´,T)を受信すると共に、iが1以外の各ユーザ端末20(i=2,3,・・・,N)から(k,T)を受信する。
S204−2)短期秘密ストリング生成部103は、短期秘密ストリングとして、k (1)∈{0,1}と、k (2)∈Kspaceとを一様ランダムに生成する。そして、短期秘密ストリング生成部103は、短期秘密ストリング(k (1),k (2))を短期秘密ストリング記憶部107に保存する。
S204−3)次に、短期秘密ストリング生成部103は、短期秘密ストリング生成部103は、k=tPRF(k (1),k (2),st,st´)と、
Figure 2019198516
とを計算する。なお、st及びst´は、長期秘密ストリング記憶部106に保存されているものを使用する。
S204−4)次に、公開情報計算部104は、各i∈{2,・・・,N}に対して、各T(1≦j≦i−1)同士の排他的論理和T´を計算する。すなわち、公開情報計算部104は、
Figure 2019198516

を計算する。
S204−5)そして、通信部105は、各ユーザ端末20(i=2,・・・,N)に対して、(k´,T´,T´)を送信する。また、通信部105は、ユーザ端末20に対して、k´を送信する。
ステップS205:セッション鍵生成ステップ
以降のS205−11〜S205−14は、iが1以外であるユーザ端末20(すなわち、代表ユーザ端末以外のユーザ端末20)が実行する。
S205−11)通信部208は、鍵配信サーバ10から(k´,T´,T´)を受信する。
S205−12)秘密情報計算部206は、T´とT´との排他的論理和を計算する。この排他的論理和はK (l)と一致する。すなわち、
Figure 2019198516
である。
S205−13)次に、秘密情報計算部206は、T´とK (l)との排他的論理和を計算する。この排他的論理和はkと一致する。すなわち、
Figure 2019198516
である。
S205−14)次に、第2疑似ランダム関数部207は、
Figure 2019198516
を計算する。このKがセッション鍵となる。
そして、第2疑似ランダム関数部207は、セッション鍵Kをセッション情報記憶部211に保存する。
以降のS205−21〜S205−22は、iが1であるユーザ端末20(すなわち、代表ユーザ端末)が実行する。
S205−21)通信部208は、鍵配信サーバ10からk´を受信する。
S205−22)次に、第2疑似ランダム関数部207は、
Figure 2019198516
を計算する。このKがセッション鍵となる。
そして、第2疑似ランダム関数部207は、セッション鍵Kをセッション情報記憶部211に保存する。
これにより、各ユーザ端末20(i=1,2,・・・,N)間で同一のセッション鍵Kが共有される。このセッション鍵Kを用いて、各ユーザ端末20間で送受信されるデータが暗号化される。
≪Nが奇数である場合≫
次に、Nが奇数である場合について説明する。なお、Nが偶数である場合に説明した処理と同様の処理を行う箇所については、適宜、その説明を省略又は簡略化する。
ステップS201:第一鍵生成ステップ(Round1)
iが1以外の奇数である各ユーザ端末20(i=3,5,・・・,N)は、上記のS201−11〜S201−15を実行する。また、iが偶数である各ユーザ端末20(i=2,4,・・・,N−1)は、上記のS201−21〜S201−25を実行する。
以降のS201−31〜S201−35は、iが1であるユーザ端末20(すなわち、代表ユーザ端末)が実行する。
S201−31)短期秘密ストリング生成部202は、短期秘密ストリングとして、r (1)∈{0,1}と、r (2)∈Kspaceと、r (3)∈{0,1}と、r (4)∈Kspaceと、r (5)∈{0,1}と、r (6)∈Kspaceと、r (7)∈{0,1}と、r (8)∈Kspaceと、k (1)∈{0,1}と、k (2)∈Kspaceとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(r (1),r (2),r (3),r (4),r (5),r (6),r (7),r (8),k (1),k (2))を短期秘密ストリング記憶部210に保存する。
S201−32)ねじれ疑似ランダム関数部203は、m=tPRF(r (1),r (2),st,st´)と、n=tPRF(r (3),r (4),st,st´)と、mN+1=tPRF(r (5),r (6),st,st´)と、nN+1=tPRF(r (7),r (8),st,st´)と、k=tPRF(k (1),k (2),st,st´)とを生成する。なお、長期秘密ストリング(st,st´)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201−33)同種写像計算部204は、[m]P+[n]Qで生成されるEの部分群Kを核に持つ同種写像φ:E→Eと、この同種写像φに付随する楕円曲線Eとを計算する。
また、同種写像計算部204は、[mN+1]P+[nN+1]Qで生成されるEの部分群KN+1を核に持つ同種写像φN+1:E→EN+1と、この同種写像φN+1に付随する楕円曲線EN+1とを計算する。
S201−34)同種写像計算部204は、φ(P)と、φ(Q)と、φN+1(P)と、φN+1(Q)とを計算する。
S201−35)そして、通信部208は、(φ(P),φ(Q),E,φN+1(P),φN+1(Q),EN+1)を鍵配信サーバ10に送信する。これより、代表ユーザ端末であるユーザ端末20の公開値(φ(P),φ(Q),E,φN+1(P),φN+1(Q),EN+1)が鍵配信サーバ10に送信される。
なお、上記のS201−32におけるm,n,mN+1及びnN+1は、長期秘密ストリング記憶部209に記憶されている長期秘密ストリングと、短期秘密ストリング記憶部210に記憶されている短期秘密ストリングとを用いて、必要なときにねじれ疑似ランダム関数から生成することができる。このため、安全上、m,n,mN+1及びnN+1は保存しないことが好ましい。
ただし、安全性をあまり考慮しないのであれば、上記のS201−32でm及びn
Figure 2019198516
からランダムに生成すると共に、mN+1及びnN+1
Figure 2019198516
からランダムに生成し、保存しておいても良い。
ステップS202:鍵配信ステップ(Round1)
S202−3)通信部105は、iが1であるユーザ端末20から公開値(φ(P),φ(Q),E,φN+1(P),φN+1(Q),EN+1)を受信する。また、通信部105は、iが1以外の奇数である各ユーザ端末20(i=3,5,・・・,N)から公開値(φ(P),φ(Q),E)を受信すると共に、iが偶数である各ユーザ端末20(i=2,4,・・・,N−1)から公開値(φ(P),φ(Q),E)を受信する。
S202−4)通信部105は、iが奇数である各ユーザ端末20(i=1,3,・・・,N)に対して、(sid,φi−1(P),φi−1(Q),Ei−1,φi+1(P),φi+1(Q),Ei+1)を送信する。
また、通信部105は、iが偶数である各ユーザ端末20(i=2,4,・・・,N−1)に対して、(sid,φi−1(P),φi−1(Q),Ei−1,φi+1(P),φi+1(Q),Ei+1)を送信する。
ステップS203:第二鍵生成ステップ(Round2)
iが1以外の奇数である各ユーザ端末20(i=3,5,・・・,N)は、上記のS203−11〜S203−16を実行する。また、iが偶数である各ユーザ端末20(i=2,4,・・・,N−1)は、上記のS203−21〜S203−26を実行する。
以降のS203−41〜S203−47は、iが1であるユーザ端末20(すなわち、代表ユーザ端末)が実行する。
S203−41)通信部208は、鍵配信サーバ10から(sid,φ(P),φ(Q),E,φ(P),φ(Q),E)を受信する。
S203−42)同種写像計算部204は、[mN+1]φ(P)+[nN+1]φ(Q)で生成されるEの部分群KN,N+1を核に持つ同種写像φN,N+1:E→EN,N+1と、この同種写像φN,N+1に付随する楕円曲線EN,N+1とを計算する。
同様に、同種写像計算部204は、[m]φ(P)+[n]φ(Q)で生成されるEの部分群K2,1を核に持つ同種写像φ2,1:E→E2,1と、この同種写像φ2,1に付随する楕円曲線E2,1とを計算する。
S203−43)同種写像計算部204は、楕円曲線EN,N+1のj不変量j(EN,N+1)と、楕円曲線E2,1のj不変量j(E2,1)とを計算する。
S203−44)次に、第1疑似ランダム関数部205は、K (l)=F(sid,j(EN,N+1))と、K (r)=F(sid,j(E2,1))とを計算する。
S203−45)次に、第1疑似ランダム関数部205は、K (l)とK (r)とのビット毎の排他的論理和Tを計算する。
S203−46)次に、第1疑似ランダム関数部205は、K (l)とkとの排他的論理和T´を計算する。
S203−47)そして、通信部208は、(T´,T)を鍵配信サーバ10に送信する。
以降のステップS204〜ステップS205は、Nが偶数である場合と同様であるため、その説明を省略する。
(実施例2)
以降では、実施例2について説明する。実施例2は、Nが偶数又は奇数のいずれであっても同様の処理を行うものである。すなわち、実施例2では、実施例1と異なり、Nの偶奇による場合分けが発生しない。
ステップS201:第一鍵生成ステップ(Round1)
以降のS201−41〜S201−45は、各ユーザ端末20(i=1,2,・・・,N)が実行する。
S201−41)短期秘密ストリング生成部202は、短期秘密ストリングとして、r (1)∈{0,1}と、r (2)∈Kspaceと、r (3)∈{0,1}と、r (4)∈Kspaceと、r (5)∈{0,1}と、r (6)∈Kspaceと、r (7)∈{0,1}と、r (8)∈Kspaceと、k (1)∈{0,1}と、k (2)∈Kspaceとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(r (1),r (2),r (3),r (4),r (5),r (6),r (7),r (8),k (1),k (2))を短期秘密ストリング記憶部210に保存する。
S201−42)ねじれ疑似ランダム関数部203は、m (1)=tPRF(r (1),r (2),st,st´)と、n (1)=tPRF(r (3),r (4),st,st´)と、m (2)=tPRF(r (5),r (6),st,st´)と、n (2)=tPRF(r (7),r (8),st,st´)と、k=tPRF(k (1),k (2),st,st´)とを生成する。なお、長期秘密ストリング(st,st´)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201−43)同種写像計算部204は、[m (1)]P+[n (1)]Qで生成されるEの部分群K (1)を核に持つ同種写像φ (1):E→E (1)と、この同種写像φ (1)に付随する楕円曲線E (1)とを計算する。
また、同種写像計算部204は、[m (2)]P+[n (2)]Qで生成されるEの部分群K (2)を核に持つ同種写像φ (2):E→E (2)と、この同種写像φ (2)に付随する楕円曲線E (2)とを計算する。
S201−44)同種写像計算部204は、φ (1)(P)と、φ (1)(Q)と、φ (2)(P)と、φ (2)(Q)とを計算する。
S201−45)そして、通信部208は、(φ (1)(P),φ (1)(Q),E (1),φ (2)(P),φ (2)(Q),E (2))を鍵配信サーバ10に送信する。これより、各ユーザ端末20の公開値(φ (1)(P),φ (1)(Q),E (1),φ (2)(P),φ (2)(Q),E (2))が鍵配信サーバ10に送信される。
なお、上記のS201−42におけるm (1),n (1),m (2)及びn (2)は、長期秘密ストリング記憶部209に記憶されている長期秘密ストリングと、短期秘密ストリング記憶部210に記憶されている短期秘密ストリングとを用いて、必要なときにねじれ疑似ランダム関数から生成することができる。このため、安全上、m (1),n (1),m (2)及びn (2)は保存しないことが好ましい。
ただし、安全性をあまり考慮しないのであれば、上記のS201−32でm (1)及びn (1)
Figure 2019198516
からランダムに生成すると共に、m (2)及びn (2)
Figure 2019198516
からランダムに生成し、保存しておいても良い。
ステップS202:鍵配信ステップ(Round1)
S202−5)通信部105は、各ユーザ端末20から公開値(φ (1)(P),φ (1)(Q),E (1),φ (2)(P),φ (2)(Q),E (2))を受信する。
S202−6)通信部105は、各ユーザ端末20に対して、(sid,φi−1 (1)(P),φi−1 (1)(Q),Ei−1 (1),φi+1 (2)(P),φi+1 (2)(Q),Ei+1 (2))を送信する。
ステップS203:第二鍵生成ステップ(Round2)
以降のS201−51〜S201−56は、各ユーザ端末20(i=1,2,・・・,N)が実行する。ただし、S201−54〜S203−56は、代表ユーザ端末であるユーザ端末20と、それ以外のユーザ端末20(i=2,3,・・・,N)とで処理内容が異なる。
S203−51)通信部208は、鍵配信サーバ10から(sid,φi−1 (1)(P),φi−1 (1)(Q),Ei−1 (1),φi+1 (2)(P),φi+1 (2)(Q),Ei+1 (2))を受信する。
S203−52)同種写像計算部204は、[m (2)]φi−1 (1)(P)+[n (2)]φi−1 (1)(Q)で生成されるEi−1 (1)の部分群Ki−1,i (1)を核に持つ同種写像φi−1,i (1):Ei−1 (1)→Ei−1,i (1)と、この同種写像φi−1,i (1)に付随する楕円曲線Ei−1,i (1)とを計算する。
同様に、同種写像計算部204は、[m (1)]φi+1 (2)(P)+[n (1)]φi+1 (2)(Q)で生成されるEi+1 (2)の部分群Ki+1,i (2)を核に持つ同種写像φi+1,i (2):Ei+1 (2)→Ei+1,i (2)と、この同種写像φi+1,i (2)に付随する楕円曲線Ei+1,i (2)とを計算する。
S203−53)同種写像計算部204は、楕円曲線Ei−1,i (1)のj不変量j(Ei−1,i (1))と、楕円曲線Ei+1,i (2)のj不変量j(Ei+1,i (2))とを計算する。
S203−54)ユーザ端末20(i=2,3,・・・,N)の第1疑似ランダム関数部205は、K (l)=F(sid,j(Ei−1,i (1)))と、K (r)=F(sid,j(Ei+1,i (2)))とを計算する。
また、ユーザ端末20の第1疑似ランダム関数部205は、K (l)=F(sid,j(EN,1 (1)))と、K (r)=F(sid,j(E2,1 (2)))とを計算する。
S203−55)次に、ユーザ端末20(i=2,3,・・・,N)の第1疑似ランダム関数部205は、K (l)とK (r)とのビット毎の排他的論理和Tを計算する。
また、ユーザ端末20の第1疑似ランダム関数部205は、K (l)とK (r)との排他的論理和Tを計算すると共に、K (l)とkとの排他的論理和T´を計算する。なお、kは、第一鍵生成ステップ(S201)で生成されたものである。
S203−56)そして、ユーザ端末20(i=2,3,・・・,N)の通信部208は、(k,T)を鍵配信サーバ10に送信する。なお、kは、第一鍵生成ステップ(S201)で生成されたものである。
また、ユーザ端末20の通信部208は、(T´,T)を鍵配信サーバ10に送信する。
以降のステップS204〜ステップS205は、実施例1と同様であるため、その説明を省略する。
<ハードウェア構成>
図6に示すように、本発明の実施の形態における鍵配信サーバ10及びユーザ端末20は、入力装置301と、表示装置302と、外部I/F303と、RAM(Random Access Memory)304と、ROM(Read Only Memory)305と、CPU(Central Processing Unit)306と、通信I/F307と、補助記憶装置308とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
入力装置301は、例えばキーボードやマウス、タッチパネル等である。表示装置302は、例えばディスプレイ等である。なお、鍵配信サーバ10は、入力装置301及び表示装置302のうちの少なくとも一方を有していなくても良い。
外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。記録媒体303aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。記録媒体303aには、鍵配信サーバ10の各機能部を実現する1以上のプログラムやユーザ端末20の各機能部を実現する1以上のプログラム等が記録されていても良い。
RAM304は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM305は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。
CPU306は、ROM305や補助記憶装置308等からプログラムやデータをRAM304上に読み出して処理を実行する演算装置である。鍵配信サーバ10の各機能部やユーザ端末20の各機能部は、CPU306が1以上のプログラムを実行することによって実現される。
通信I/F307は、ネットワーク30に接続するためのインタフェースである。なお、鍵配信サーバ10の各機能部を実現する1以上のプログラムやユーザ端末20の各機能部を実現する1以上のプログラム等は、通信I/F307を介して、所定のサーバ等から取得(ダウンロード)されても良い。
補助記憶装置308は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。補助記憶装置308には、鍵配信サーバ10の各機能部を実現する1以上のプログラムやユーザ端末20の各機能部を実現する1以上のプログラム等が記録される。
本発明の実施の形態における鍵配信サーバ10及びユーザ端末20は、図6に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、図6では、本発明の実施の形態における鍵配信サーバ10が1台の情報処理装置で実現される場合を示したが、これに限られない。本発明の実施の形態における鍵配信サーバ10は、複数台の情報処理装置で実現されていても良い。
<まとめ>
以上のように、本発明の実施の形態における鍵交換システム1では、DMKDプロトコルにおけるDH鍵交換を同種写像暗号に変更することで、耐量子性がある多者間鍵交換を実現することができる。
しかも、本発明の実施の形態における鍵交換システム1の実施例1では、ユーザ端末20の台数Nが偶数である場合、例えば、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20N−1が基底{P,Q}からそれぞれ公開値を計算し、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20が基底{P,Q}からそれぞれ公開値を計算する。これにより、(論理的に)リング状に配置されるユーザ端末20の隣り合うユーザ端末20同士は、異なる基底を使用して公開値を計算することなり、隣り合うユーザ端末20同士での同種写像暗号の鍵交換を少ないラウンド数(2ラウンド)で容易に行うことができるようになる。
一方で、ユーザ端末20の台数Nが奇数である場合、代表ユーザ端末であるユーザ端末20が基底{P,Q}及び基底{P,Q}の両方からそれぞれ公開値を計算し、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20N−1が基底{P,Q}からそれぞれ公開値を計算し、ユーザ端末20,ユーザ端末20,・・・,ユーザ端末20が基底{P,Q}からそれぞれ公開値を計算する。このように、代表ユーザ端末が両方の基底{P,Q}及び{P,Q}からそれぞれ公開値を計算することで、ユーザ端末20全体として、Nが偶数である場合と同様の振る舞いを実現することができ、同種写像暗号の鍵交換を少ないラウンド数で容易に行うことができるようになる。
また、本発明の実施の形態における鍵交換システム1の実施例2では、ユーザ端末20の台数Nの偶奇によらず、全てのユーザ端末20が基底{P,Q}及び基底{P,Q}の両方からそれぞれ公開値を計算する。これにより、ユーザ端末20全体として、実施例1のNが偶数である場合と同様の振る舞いを実現することができ、同種写像暗号の鍵交換を少ないラウンド数で容易に行うことができるようになる。更に、実施例2では、ユーザ数の偶奇に関わらず、同一の処理内容を用いるため、例えば、ユーザの偶奇に応じて条件分岐等が発生しない鍵交換処理を実現することができる。
このように、本発明の実施の形態における鍵交換システム1では、耐量子性があり、かつ、非特許文献1と比べて少ないラウンド数(2ラウンド)の多者間鍵交換(すなわち、耐量子性があり、かつ、通信コストが少ない多者間鍵交換)を実現することができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本願は、日本国に2018年4月11日に出願された基礎出願2018−076343号に基づくものであり、その全内容はここに参照をもって援用される。
1 鍵交換システム
10 鍵配信サーバ
20 ユーザ端末
101 セットアップ部
102 長期秘密ストリング生成部
103 短期秘密ストリング生成部
104 公開情報計算部
105 通信部
106 長期秘密ストリング記憶部
107 短期秘密ストリング記憶部
201 長期秘密ストリング生成部
202 短期秘密ストリング生成部
203 ねじれ疑似ランダム関数部
204 同種写像計算部
205 第1疑似ランダム関数部
206 秘密情報計算部
207 第2疑似ランダム関数部
208 通信部
209 長期秘密ストリング記憶部
210 短期秘密ストリング記憶部
211 セッション情報記憶部

Claims (8)

  1. N(ただし、N≧2)台の端末装置U(i=1,・・・,N)と、該N台の端末装置U間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、
    Nが偶数である場合、前記端末装置Uのうち、奇数番目の端末装置U(i=1,・・・,N−1)が所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置U(i=2,・・・,N)が前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、
    前記鍵配信サーバが、奇数番目の端末装置Uにより計算された第1の公開値を端末装置Ui−1(ただし、i=1である場合、U=U)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U)に配信し、偶数番目の端末装置Uにより計算された第2の公開値を端末装置Ui−1及び端末装置Ui+1に配信する配信手段と、
    前記配信手段により配信された第2の公開値を用いて奇数番目の端末装置Uが前記セッション鍵を生成し、前記配信手段により配信された第1の公開値を用いて偶数番目の端末装置Uが前記セッション鍵を生成する鍵生成手段と、
    を有し、
    前記同種写像計算手段は、
    Nが奇数である場合、前記端末装置Uのうち、予め決められた所定の端末装置Uが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする鍵配信システム。
  2. N(ただし、N≧2)台の端末装置U(i=1,・・・,N)と、該N台の端末装置U間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、
    前記端末装置Uが所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値と、前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値とを計算する同種写像計算手段と、
    前記鍵配信サーバが、前記端末装置Uにより計算された第1の公開値と第2の公開値とをそれぞれ端末装置Ui−1(ただし、i=1である場合、U=U)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U)に配信する配信手段と、
    前記配信手段により配信された第1の公開値及び第2の公開値を用いて、前記端末装置Uが前記セッション鍵を生成する鍵生成手段と、
    を有することを特徴とする鍵配信システム。
  3. 前記同種写像計算手段は、
    前記第1のねじれ部分群の基底を{P,Q}、前記第2のねじれ部分群の基底を{P,Q}、前記第1のねじれ部分群に関する第1のねじれ疑似ランダム関数値をm、前記第1のねじれ部分群に関する第2のねじれ疑似ランダム関数値をn、[m]P+[n]Qで生成される前記楕円曲線の部分群を核に持つ同種写像φとした場合に、前記第1の公開値として、φ(P)及びφ(Q)を計算し、
    前記第2のねじれ部分群に関する第3のねじれ疑似ランダム関数値をm´、前記第2のねじれ部分群に関する第4のねじれ疑似ランダム関数値をn´、[m´]P+[n´]Qで生成される前記楕円曲線の部分群を核に持つ同種写像φ´とした場合に、前記第2の公開値として、φ´(P)及びφ´(Q)を計算する、
    ことを特徴とする請求項1又は2に記載の鍵配信システム。
  4. 前記鍵生成手段は、
    前記配信手段により配信された第1の公開値φi−1(P)及びφi−1(Q)並びにφi+1(P)及びφi+1(Q)が配信された場合、[m]φi−1(P)+[n]φi−1(Q)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第1のj不変量と、[m]φi+1(P)+[n]φi+1(Q)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第2のj不変量とを計算し、計算された第1のj不変量及び第2のj不変量を用いて前記セッション鍵を生成し、
    前記配信手段により配信された第2の公開値φi−1(P)及びφi−1(Q)並びにφi+1(P)及びφi+1(Q)が配信された場合、[m´]φ´i−1(P)+[n´]φ´i−1(Q)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第3のj不変量と、[m´]φ´i+1(P)+[n´]φ´i+1(Q)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第4のj不変量とを計算し、計算された第3のj不変量及び第4のj不変量を用いて前記セッション鍵を生成する、
    ことを特徴とする請求項3に記載の鍵配信システム。
  5. 同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバと接続される端末装置であって、
    所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値又は/及び前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、
    前記セッション鍵を共有する1以上の他の端末装置のうち、所定の2台の端末装置でそれぞれ計算された第1の公開値又は/及び第2の公開値を前記鍵配信サーバから受信する受信手段と、
    前記受信手段が受信した第1の公開値又は/及び第2の公開値を用いて、前記セッション鍵を生成する鍵生成手段と、
    を有することを特徴とする端末装置。
  6. N(ただし、N≧2)台の端末装置U(i=1,・・・,N)と、該N台の端末装置U間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムによる鍵配信方法であって、
    Nが偶数である場合、前記端末装置Uのうち、奇数番目の端末装置U(i=1,・・・,N−1)が所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置U(i=2,・・・,N)が前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手順と、
    前記鍵配信サーバが、奇数番目の端末装置Uにより計算された第1の公開値を端末装置Ui−1(ただし、i=1である場合、U=U)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U)に配信し、偶数番目の端末装置Uにより計算された第2の公開値を端末装置Ui−1及び端末装置Ui+1に配信する配信手順と、
    前記配信手順により配信された第2の公開値を用いて奇数番目の端末装置Uが前記セッション鍵を生成し、前記配信手順により配信された第1の公開値を用いて偶数番目の端末装置Uが前記セッション鍵を生成する鍵生成手順と、
    を有し、
    前記同種写像計算手順は、
    Nが奇数である場合、前記端末装置Uのうち、予め決められた所定の端末装置Uが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする鍵配信方法。
  7. N(ただし、N≧2)台の端末装置U(i=1,・・・,N)と、該N台の端末装置U間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムによる鍵配信方法であって、
    前記端末装置Uが所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値と、前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値とを計算する同種写像計算手順と、
    前記鍵配信サーバが、前記端末装置Uにより計算された第1の公開値と第2の公開値とをそれぞれ端末装置Ui−1(ただし、i=1である場合、U=U)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U)に配信する配信手順と、
    前記配信手順により配信された第1の公開値及び第2の公開値を用いて、前記端末装置Uが前記セッション鍵を生成する鍵生成手順と、
    を有することを特徴とする鍵配信方法。
  8. 同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバと接続される端末装置を、
    所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値又は/及び前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段、
    前記セッション鍵を共有する1以上の他の端末装置のうち、所定の2台の端末装置でそれぞれ計算された第1の公開値又は/及び第2の公開値を前記鍵配信サーバから受信する受信手段、
    前記受信手段が受信した第1の公開値又は/及び第2の公開値を用いて、前記セッション鍵を生成する鍵生成手段、
    として機能させるためのプログラム。
JP2020513189A 2018-04-11 2019-03-27 鍵配信システム、端末装置、鍵配信方法、及びプログラム Pending JPWO2019198516A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018076343 2018-04-11
JP2018076343 2018-04-11
PCT/JP2019/013412 WO2019198516A1 (ja) 2018-04-11 2019-03-27 鍵配信システム、端末装置、鍵配信方法、及びプログラム

Publications (1)

Publication Number Publication Date
JPWO2019198516A1 true JPWO2019198516A1 (ja) 2021-04-01

Family

ID=68163651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020513189A Pending JPWO2019198516A1 (ja) 2018-04-11 2019-03-27 鍵配信システム、端末装置、鍵配信方法、及びプログラム

Country Status (3)

Country Link
US (1) US11411720B2 (ja)
JP (1) JPWO2019198516A1 (ja)
WO (1) WO2019198516A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3097093A1 (fr) * 2019-06-07 2020-12-11 Stmicroelectronics S.R.L. Procédé et dispositif de calcul sur courbes elliptiques par des dispositifs à ressources limitées
JPWO2022244151A1 (ja) * 2021-05-19 2022-11-24
CN115242468B (zh) * 2022-07-07 2023-05-26 广州河东科技有限公司 一种基于rs485总线的安全通信系统及其方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0739559B1 (en) * 1993-09-09 2003-04-09 BRITISH TELECOMMUNICATIONS public limited company Method for key distribution using quantum cryptography
WO2001086855A2 (en) * 2000-04-28 2001-11-15 The Regents Of The University Of California Apparatus for free-space quantum key distribution in daylight
US7581093B2 (en) * 2003-12-22 2009-08-25 Nortel Networks Limited Hitless manual cryptographic key refresh in secure packet networks
US7437081B2 (en) * 2004-11-01 2008-10-14 Magiq Technologies, Inc System and method for providing two-way communication of quantum signals, timing signals, and public data
US7826749B2 (en) * 2005-09-19 2010-11-02 The Chinese University Of Hong Kong Method and system for quantum key distribution over multi-user WDM network with wavelength routing
US7889868B2 (en) * 2005-09-30 2011-02-15 Verizon Business Global Llc Quantum key distribution system
US7940757B2 (en) * 2006-02-23 2011-05-10 Cisco Technology, Inc. Systems and methods for access port ICMP analysis
WO2009093036A2 (en) * 2008-01-25 2009-07-30 Qinetiq Limited Quantum cryptography apparatus
US20110206204A1 (en) * 2008-10-17 2011-08-25 Dmitry Ivanovich Sychev Methods and devices of quantum encoding on dwdm (roadm) network and fiber optic links .
GB0819665D0 (en) * 2008-10-27 2008-12-03 Qinetiq Ltd Quantum key dsitribution
KR101351012B1 (ko) * 2009-12-18 2014-01-10 한국전자통신연구원 다자간 양자 통신에서의 사용자 인증 방법 및 장치
US9237098B2 (en) * 2012-07-03 2016-01-12 Cisco Technologies, Inc. Media access control (MAC) address summation in Datacenter Ethernet networking
JP6030925B2 (ja) * 2012-11-12 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理システム
US10560265B2 (en) * 2013-06-08 2020-02-11 Quantumctek Co., Ltd. Mobile secret communications method based on quantum key distribution network
KR101776137B1 (ko) * 2014-10-30 2017-09-19 에스케이 텔레콤주식회사 양자 키 분배 시스템에서 복수의 장치에 키를 공급하는 장치 및 방법
CN105991285B (zh) * 2015-02-16 2019-06-11 阿里巴巴集团控股有限公司 用于量子密钥分发过程的身份认证方法、装置及系统
JP6400513B2 (ja) * 2015-03-18 2018-10-03 株式会社東芝 量子鍵配送装置、量子鍵配送方法およびプログラム
CN106301769B (zh) * 2015-06-08 2020-04-10 阿里巴巴集团控股有限公司 量子密钥输出方法、存储一致性验证方法、装置及系统
US11588783B2 (en) * 2015-06-10 2023-02-21 Cisco Technology, Inc. Techniques for implementing IPV6-based distributed storage space
US9960465B2 (en) * 2015-07-30 2018-05-01 Lg Chem, Ltd. Battery pack
KR101860234B1 (ko) * 2016-12-20 2018-05-21 엘에스산전 주식회사 듀얼 포트 스위치의 링크 속도 설정 방법
US10476794B2 (en) * 2017-07-30 2019-11-12 Mellanox Technologies Tlv Ltd. Efficient caching of TCAM rules in RAM
US10673883B2 (en) * 2018-05-14 2020-06-02 Cisco Technology, Inc. Time synchronization attack detection in a deterministic network
US11212294B2 (en) * 2018-09-12 2021-12-28 Grid7 LLC Data packet security with expiring time-based hash message authentication codes (HMACs)
US11902421B2 (en) * 2018-10-24 2024-02-13 Nippon Telegraph And Telephone Corporation Server device, communication terminal, communication system, and program
US11245527B2 (en) * 2019-10-30 2022-02-08 Seagate Technology Llc Secure distribution networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
古川 悟,國廣 昇,高島 克幸: "同種写像を用いたグループ鍵共有", SCIS2016 [USB] SCIS2016 2016 SYMPOSIUM ON CRYPTOGR, JPN6019023449, 19 January 2016 (2016-01-19), pages 1 - 8, ISSN: 0004657593 *

Also Published As

Publication number Publication date
WO2019198516A1 (ja) 2019-10-17
US11411720B2 (en) 2022-08-09
US20210083853A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
TWI822693B (zh) 產生臨界值保管庫之電腦施行方法
TWI797147B (zh) 臨界數位簽章方法及系統
US11316676B2 (en) Quantum-proof multiparty key exchange system, quantum-proof multiparty terminal device, quantum-proof multiparty key exchange method, program, and recording medium
TWI821248B (zh) 用以移轉數位資產支配權之電腦實施方法及系統
CN110417726A (zh) 一种密钥管理方法及相关设备
CN106209739A (zh) 云存储方法及系统
JP7316283B2 (ja) デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JPWO2019198516A1 (ja) 鍵配信システム、端末装置、鍵配信方法、及びプログラム
JP2016526851A (ja) 暗号鍵を共有するためのシステム
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
EP3379769A1 (en) Method of rsa signature or decryption protected using multiplicative splitting of an asymmetric exponent
JP2008042590A (ja) 受信者装置及び送信者装置及び暗号通信システム及びプログラム
CN114443718A (zh) 一种数据查询方法及系统
Can et al. A comprehensive literature of genetics cryptographic algorithms for data security in cloud computing
JP2018037938A (ja) 鍵交換方法、鍵交換システム
CN108768642A (zh) 一种数据聚合方法、装置、计算机设备及存储介质
Parwekar et al. Public auditing: cloud data storage
Wang et al. Dynamic threshold changeable multi‐policy secret sharing scheme
CN116248359A (zh) 一种基于不经意传输协议的数据传输系统、方法及装置
Liu et al. Pairing-free certificateless signature with security proof
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
JP7254296B2 (ja) 鍵交換システム、情報処理装置、鍵交換方法及びプログラム
WO2022091217A1 (ja) 鍵交換システム、端末、鍵交換方法、及びプログラム
Mao et al. Parallel checking of content integrity in multi‐cloud storage of heterogeneous sensor systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220705