(57)【要約】  秘密の情報をブロックチェーン上に記録する際に、長期に渡って安全に秘匿する鍵交換システムおよび鍵交換方法を提供する。鍵交換システム５であって、第１の端末１が、第１の公開鍵を含めた第１のトランザクションを生成する許諾発行部と、第１の秘密鍵を保持する第１の鍵保管領域と、取引固有情報と、第２の公開鍵と、第１の秘密鍵と、を用いて共通鍵を生成する第１の暗号・復号化部と、を備え、第２の端末２が、第２の公開鍵を含めた第２のトランザクションを生成する許諾要求部と、第２の秘密鍵を保持する第２の鍵保管領域と、取引固有情報と、第１の公開鍵と、第２の秘密鍵と、を用いて共通鍵を生成する第２の暗号・復号化部と、を備え、第１の暗号・復号化部は、共通鍵で秘密の情報を暗号化し、第２の暗号・復号化部は、共通鍵で暗号化された秘密の情報を復号化する。
2018235845.tif 000002
【特許請求の範囲】
【請求項１】
ブロックチェーンが構築されるネットワークを介して相互に接続された、第１の端末および第２の端末を含む鍵交換システムであって、
前記第１の端末は、
第１の公開鍵と、許諾要求に対する許諾発行と、を含めた第１のトランザクションを生成する許諾発行部と、
第１の秘密鍵を保持する第１の鍵保管領域と、
前記第１のトランザクション、第２のトランザクションおよび特定ブロックのパラメータの少なくとも１つである取引固有情報と、第２の公開鍵と、前記第１の秘密鍵と、を用いて共通鍵を生成する第１の暗号・復号化部と、を備え、
前記第２の端末は、
前記第２の公開鍵と、前記許諾要求と、を含めた前記第２のトランザクションを生成する許諾要求部と、
第２の秘密鍵を保持する第２の鍵保管領域と、
前記取引固有情報と、前記第１の公開鍵と、前記第２の秘密鍵と、を用いて前記共通鍵を生成する第２の暗号・復号化部と、を備え、
前記第１の暗号・復号化部は、前記第１の暗号・復号化部が生成した前記共通鍵で秘密の情報を暗号化し、
前記第２の暗号・復号化部は、前記ネットワークを介して取得した、暗号化された前記秘密の情報を、前記第２の暗号・復号化部が生成した前記共通鍵で復号化する、鍵交換システム。
【請求項２】
前記取引固有情報は、前記第１のトランザクション、前記第２のトランザクションおよび前記特定ブロックのパラメータである、請求項１に記載の鍵交換システム。
【請求項３】
前記特定ブロックのパラメータは、前記第１のトランザクションまたは前記第２のトランザクションが格納されたブロックに付された固有の番号である、請求項１または２に記載の鍵交換システム。
【請求項４】
前記特定ブロックのパラメータは、前記第１のトランザクションまたは前記第２のトランザクションが格納されたブロックのサイズである、請求項１または２に記載の鍵交換システム。
【請求項５】
前記秘密の情報は、グループ共通鍵であり、
前記第２の端末は、前記ネットワークを介して、前記グループ共通鍵で暗号化された共有情報を取得可能である、請求項１から４のいずれか一項に記載の鍵交換システム。
【請求項６】
前記第２の端末は複数であり、
複数の前記第２の端末のそれぞれは、互いに異なる共通鍵を生成する、請求項５に記載の鍵交換システム。
【請求項７】
前記第１の公開鍵、前記第２の公開鍵、前記第１の秘密鍵および第２の秘密鍵は、ＥＣＤＨ鍵交換方式で生成される、請求項１から６のいずれか一項に記載の鍵交換システム。
【請求項８】
ブロックチェーンが構築されるネットワークを介して相互に接続された、第１の端末および第２の端末を含む鍵交換システムで実行される鍵交換方法であって、
前記第１の端末が、第１の秘密鍵を保持するステップと、
前記第２の端末が、第２の秘密鍵を保持するステップと、
前記第２の端末が、第２の公開鍵と、許諾要求と、を含めた第２のトランザクションを生成するステップと、
前記第１の端末が、第１の公開鍵と、前記許諾要求に対する許諾発行と、を含めた第１のトランザクションを生成するステップと、
前記第１の端末が、前記第１のトランザクション、前記第２のトランザクションおよび特定ブロックのパラメータの少なくとも１つである取引固有情報と、第２の公開鍵と、前記第１の秘密鍵と、を用いて共通鍵を生成する第１の共通鍵生成ステップと、
前記第１の端末が、前記第１の共通鍵生成ステップで生成された前記共通鍵で秘密の情報を暗号化するステップと、
前記第２の端末が、前記取引固有情報と、前記第１の公開鍵と、前記第２の秘密鍵と、を用いて前記共通鍵を生成する第２の共通鍵生成ステップと、
前記第２の端末が、前記ネットワークを介して取得した、暗号化された前記秘密の情報を、前記第２の共通鍵生成ステップで生成された前記共通鍵で復号化するステップと、を含む、鍵交換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロックチェーン上で前方秘匿性を有する鍵交換システムおよび鍵交換方法に関する。
【背景技術】
【０００２】
近年、ビットコイン（登録商標）などのデジタル仮想通貨が普及しつつある。このような仮想通貨では、中央集権的な管理を必要とせずに、信頼性を担保可能な仕組みが導入されている。ビットコイン（登録商標）などの仮想通貨において、ブロックチェーンと呼ばれる技術が用いられている。ブロックチェーン技術において、参加者間でやり取りされる情報の信頼性は、参加者全体で形成されるネットワーク内での合意形成のプロセスによって担保され、かつ、改ざんまたは二重使用等の不正を系全体で防ぐことで、ブロックチェーンの健全性が保たれる（非特許文献１）。ブロックチェーンは、参加者間の仮想通貨等の取引情報（トランザクション）がブロックと呼ばれる単位でまとめられたものである。ブロックチェーンは、Ｐ２Ｐ（Peer To Peer）ネットワークにおいて参加者が共有する一つの巨大な元帳として機能する。【０００３】
非特許文献１によれば、図８に示すように、デジタル署名の連鎖により仮想通貨の取引情報（トランザクション）が表現される。そして、図９に示すように、生成された複数のトランザクションは、所定条件下で、ブロックチェーン生成装置によってブロックにまとめられる。新たなブロックは、Ｐ２Ｐネットワークにおいて、既存のブロックチェーンに連結される。そして、更新されたブロックチェーンは各コンピュータ（参加者の端末）で共有される。ここで、ブロックチェーン生成装置は、ブロックチェーンに含まれていないトランザクションを収集して、収集したトランザクションと、現在のブロックチェーンの末尾のブロック（第ｎのブロック）のハッシュ値（２５６ビット）を含む新たなブロック（第ｎ＋１のブロック）を生成する。また、ブロックチェーン生成装置は、新たなブロック（第ｎ＋１のブロック）に対して、暗号学的ハッシュ関数（ＳＨＡ−２５６）を適用した場合のハッシュ値の先頭のいくつかのビットがすべて“０”になるような適切値を探索する。ブロックチェーン生成装置は、適切値も含む新たなブロック（第ｎ＋１のブロック）を、現在のブロックチェーンの末尾に連結して、ブロードキャストする。このように、Ｐ２Ｐネットワーク上でブロックチェーンが構築される。その後、ブロックチェーン検証装置は、ブロードキャストされたブロックチェーンを検証して、その検証結果を他の端末と共有する。【０００４】
ビットコイン（登録商標）に代表されるような公開を前提としたブロックチェーンにおいては、登録される取引情報はすべて公開される。ここに秘密の情報を含める場合には、当該情報を暗号化してからトランザクションに格納することが求められる。例えば、特許文献１にはデジタルコンテンツの許諾管理に適用する技術が開示されている。特許文献１が開示する技術では、暗号化されたデジタルコンテンツを利用する際に、ブロックチェーンを介して利用の許諾情報と合わせて、コンテンツを復号する共通鍵を利用者に受け渡す。ここで、共通鍵は利用者以外には知られたくない秘密の情報である。特許文献１が開示する技術では、ブロックチェーンを介して公開鍵暗号を用いた鍵交換を実施し、暗号化された共通鍵をブロックチェーンに登録する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１７−５０７６３号公報
【非特許文献】
【０００６】
【非特許文献１】斉藤賢爾、“ビットコイン−人間不在のデジタル巨石貨幣”、ＷＩ    ＤＥテクニカルレポート
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ブロックチェーンに登録されたトランザクションは、すべての参加者に共有され、ブロックチェーン内で永続的に蓄積される。ビットコイン（登録商標）に代表されるような一般的なブロックチェーンでは、一度登録されたトランザクションの内容は、後から取り消したり、改ざんしたりすることが困難である。そのため、ある利用者によって暗号化され、トランザクションに含められた秘密の情報は、過去に遡って誰でも取得することができる。【０００８】
例えば特許文献１が開示する技術では、秘密の情報は、利用者の公開鍵で暗号化され、ペアとなる秘密鍵で復号される。仮に復号に使う秘密鍵が流出した場合、その秘密鍵を用いた秘密の情報が全て復号可能となる。即ち、単純に公開鍵暗号を用いた方法では、暗号化された秘密の情報を長期に渡って安全に秘匿することは困難である。【０００９】
かかる事情に鑑みてなされた本発明の目的は、秘密の情報をブロックチェーン上に記録する際に、長期に渡って安全に秘匿する鍵交換システムおよび鍵交換方法を提供することにある。
【課題を解決するための手段】
【００１０】
一実施形態に係る鍵交換システムは、ブロックチェーンが構築されるネットワークを介して相互に接続された、第１の端末および第２の端末を含む鍵交換システムであって、前記第１の端末は、第１の公開鍵と、許諾要求に対する許諾発行と、を含めた第１のトランザクションを生成する許諾発行部と、第１の秘密鍵を保持する第１の鍵保管領域と、前記第１のトランザクション、第２のトランザクションおよび特定ブロックのパラメータの少なくとも１つである取引固有情報と、第２の公開鍵と、前記第１の秘密鍵と、を用いて共通鍵を生成する第１の暗号・復号化部と、を備え、前記第２の端末は、前記第２の公開鍵と、前記許諾要求と、を含めた前記第２のトランザクションを生成する許諾要求部と、第２の秘密鍵を保持する第２の鍵保管領域と、前記取引固有情報と、前記第１の公開鍵と、前記第２の秘密鍵と、を用いて前記共通鍵を生成する第２の暗号・復号化部と、を備え、前記第１の暗号・復号化部は、前記第１の暗号・復号化部が生成した前記共通鍵で秘密の情報を暗号化し、前記第２の暗号・復号化部は、前記ネットワークを介して取得した、暗号化された前記秘密の情報を、前記第２の暗号・復号化部が生成した前記共通鍵で復号化する。【００１１】
また、一実施形態に係る鍵交換方法は、ブロックチェーンが構築されるネットワークを介して相互に接続された、第１の端末および第２の端末を含む鍵交換システムで実行される鍵交換方法であって、前記第１の端末が、第１の秘密鍵を保持するステップと、前記第２の端末が、第２の秘密鍵を保持するステップと、前記第２の端末が、第２の公開鍵と、許諾要求と、を含めた第２のトランザクションを生成するステップと、前記第１の端末が、第１の公開鍵と、前記許諾要求に対する許諾発行と、を含めた第１のトランザクションを生成するステップと、前記第１の端末が、前記第１のトランザクション、前記第２のトランザクションおよび特定ブロックのパラメータの少なくとも１つである取引固有情報と、第２の公開鍵と、前記第１の秘密鍵と、を用いて共通鍵を生成する第１の共通鍵生成ステップと、前記第１の端末が、前記第１の共通鍵生成ステップで生成された前記共通鍵で秘密の情報を暗号化するステップと、前記第２の端末が、前記取引固有情報と、前記第１の公開鍵と、前記第２の秘密鍵と、を用いて前記共通鍵を生成する第２の共通鍵生成ステップと、前記第２の端末が、前記ネットワークを介して取得した、暗号化された前記秘密の情報を、前記第２の共通鍵生成ステップで生成された前記共通鍵で復号化するステップと、を含む。
【発明の効果】
【００１２】
本発明によれば、秘密の情報をブロックチェーン上に記録する際に、長期に渡って安全に秘匿する鍵交換システムおよび鍵交換方法が提供される。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る鍵交換システムの構成を例示する図である。
【図２】暗号化処理部の構成を例示する図である。
【図３】一実施形態に係る鍵交換方法を説明するためのシーケンス図である。
【図４】ルートユーザ用の暗号化処理部の構成を例示する図である。
【図５】クライアントユーザ用の暗号化処理部の構成を例示する図である。
【図６】別の一実施形態に係る鍵交換方法を説明するためのシーケンス図である。
【図７】図６の続きのシーケンス図である。
【図８】一般的な仮想通貨における署名を説明する図である。
【図９】一般的な仮想通貨におけるブロックチェーンを説明する図である。
【発明を実施するための形態】
【００１４】
［第１実施形態］
（鍵交換システム）
図１は第１実施形態に係る鍵交換システム５の構成を例示する図である。鍵交換システム５は、複数の端末（ユーザＡ端末１、ユーザＢ端末２およびその他の端末３）を備える。端末はユーザによって使用される情報処理装置である。複数の端末のそれぞれは、例えばパーソナルコンピュータ（ＰＣ：Personal Computer）またはスマートフォン等であってもよい。複数の端末は、相互に通信可能に、Ｐ２Ｐネットワーク４（ブロックチェーンネットワーク、単にネットワークともいう）を介して自律分散的に接続されている。なお、図１に示す鍵交換システム５が備える複数の端末の数は一例であって、これに限るものではない。例えば、鍵交換システム５は、２つ以上のその他の端末３を備えてもよい。
【００１５】
鍵交換システム５を構成する複数の端末のそれぞれに、デジタル仮想通貨の取引を実現するためのプログラムがインストールされる。各端末は、Ｐ２Ｐネットワーク４を介して、ブロックチェーンおよびトランザクションを取得する。また、複数の端末は、取引の不正を監視し、唯一のブロックチェーンを共有する。ここで、鍵交換システム５で扱われるトランザクションは、送り手と宛先とが明記され、送り手の電子署名がついた取引の証拠データを含む。
【００１６】
鍵交換システム５を構成する複数の端末のそれぞれは、デジタル仮想通貨の各取引で、役割に応じてブロックチェーン生成装置、ブロックチェーン検証装置、または、トランザクション生成装置として機能する。
【００１７】
ブロックチェーン生成装置は、複数のトランザクションを含むブロックを連結した既存のブロックチェーンに、新たなブロックを連結して、新たなブロックチェーンを生成する。新たなブロックは、既存のブロックチェーンの生成後に発生したトランザクションを含む。ブロックチェーン生成装置が生成した新たなブロックチェーンは、Ｐ２Ｐネットワーク４を介して、他の端末に共有される。このように、ブロックチェーンはＰ２Ｐネットワーク４上で構築される。
【００１８】
ブロックチェーン検証装置は、ブロックチェーン生成装置が生成したブロックチェーンを検証する。ブロックチェーン検証装置が検証した結果は、Ｐ２Ｐネットワーク４を介して、他の端末に共有される。
【００１９】
トランザクション生成装置は、デジタル仮想通貨の取引に伴うトランザクションを生成する。トランザクション生成装置が生成したトランザクションは、Ｐ２Ｐネットワーク４を介して、他の端末に共有される。
【００２０】
複数の端末（ユーザＡ端末１、ユーザＢ端末２およびその他の端末３）のそれぞれは、暗号化処理部１０と、ブロックチェーン記憶部３０と、ブロックチェーン制御部４０と、トランザクション発行部５０と、を備える。
【００２１】
暗号化処理部１０は例えば暗号・復号化等に関する処理を実行する。暗号化処理部１０の詳細については後述する。ここで、以下の説明において、その他の端末３は秘密の情報Ｓを共有する対象となっていない。そのため、図１において、その他の端末３の暗号化処理部１０の表記は省略されている。
【００２２】
ブロックチェーン記憶部３０は、上記のように複数の端末で共有されるブロックチェーンを記憶する記憶装置である。例えば、ブロックチェーン記憶部３０は、半導体記憶デバイスおよび磁気記憶デバイスの少なくとも一方で構成されてもよい。
【００２３】
ブロックチェーン制御部４０は、ブロックチェーンの記憶に関する制御を実行する。ブロックチェーン制御部４０は、特に、他の端末と自律分散的に協調して、最新のブロックチェーンを端末内に保持する（ブロックチェーン記憶部３０に記憶させる）役割を有する。また、ブロックチェーン制御部４０は、例えば暗号化処理部１０からの要求に応じてブロックチェーン記憶部３０からブロックチェーンを読み出して、暗号化処理部１０に出力してもよい。
【００２４】
トランザクション発行部５０は、端末がトランザクション生成装置として機能する場合等に、取引に伴うトランザクションを生成する。また、トランザクション発行部５０は、生成したトランザクションを、Ｐ２Ｐネットワーク４を介して他の端末にブロードキャストする。
【００２５】
図２は暗号化処理部１０の詳細な構成を例示する図である。暗号化処理部１０は、許諾要求部１１と、許諾発行部１２と、暗号・復号化部１３と、鍵管理部１４と、鍵保管領域１５と、を備える。
【００２６】
許諾要求部１１は、公開鍵と、許諾要求と、を含めたトランザクションを生成する。ここで、公開鍵は鍵管理部１４によって生成される。許諾要求部１１は、生成したトランザクションをトランザクション発行部５０に出力する。許諾要求部１１が生成したトランザクションは、トランザクション発行部５０によって、Ｐ２Ｐネットワーク４を介して他の端末にブロードキャストされる。
【００２７】
許諾発行部１２は、公開鍵と、許諾発行と、を含めたトランザクションを生成する。許諾発行部１２は、生成したトランザクションをトランザクション発行部５０に出力する。許諾発行部１２が生成したトランザクションは、トランザクション発行部５０によって、Ｐ２Ｐネットワーク４を介して他の端末にブロードキャストされる。
【００２８】
暗号・復号化部１３は、暗号・復号化に関する処理を実行する。暗号・復号化部１３は、Ｐ２Ｐネットワーク４から秘密の情報Ｓを共有する相手の公開鍵を取得する。また、暗号・復号化部１３は、鍵保管領域１５に保管した自身の秘密鍵等を用いてセッション鍵（ある時間だけ有効な使い捨ての暗号鍵）を算出する。また、暗号・復号化部１３は、算出したセッション鍵を用いて、秘密の情報Ｓを暗号化する。また、暗号・復号化部１３は暗号化された秘密の情報Ｓを、セッション鍵を用いて復号化する。ここで、復号化の際には、暗号・復号化部１３は鍵保管領域１５に保管したセッション鍵を用いてもよいし、再度セッション鍵を算出してもよい。ここで、暗号化された秘密の情報Ｓは、所定の方法でトランザクションに内包されることによって、ブロックチェーンへの登録が可能になる。
【００２９】
鍵管理部１４は、公開鍵および秘密鍵に関する処理を実行する。鍵管理部１４は、公開鍵および秘密鍵の生成、参照および削除を実行する。鍵管理部１４は、他のモジュール（例えば許諾要求部１１、許諾発行部１２および暗号・復号化部１３）によって利用される。ここで、本実施形態において、公開鍵および秘密鍵の生成にはＥＣＤＨ（Elliptic Curve Diffie-Hellman）鍵交換方式が用いられる。
【００３０】
鍵保管領域１５は、鍵管理部１４が生成した秘密鍵を保管（保持）する。また、鍵保管領域１５は、暗号・復号化部１３によって算出されたセッション鍵を一時的に保管してもよい。
【００３１】
（鍵交換方法）
以下に、ユーザＡとユーザＢとが、鍵交換システム５のブロックチェーン上で秘密の情報Ｓを共有する手順（本実施形態に係る鍵交換システム５における鍵交換方法）について説明する。ここで、ユーザＡはユーザＡ端末１（第１の端末）の使用者である。また、ユーザＢはユーザＢ端末２（第２の端末）の使用者である。
【００３２】
図３は、本実施形態に係る鍵交換方法を説明するためのシーケンス図である。図３のユーザＡはユーザＡ端末１を意味する。また、図３のユーザＢはユーザＢ端末２を意味する。
【００３３】
この例で、秘密の情報Ｓは、ユーザＡによって生成された非公開の情報である。図３は、ユーザＢが秘密の情報Ｓの閲覧（または使用）に関してユーザＡに許諾を要求して、ユーザＡが承認してユーザＢのみに秘密の情報Ｓを公開する場合の鍵交換のシーケンスを示す。ここで、全ての通信は各ユーザが発行するトランザクションによって行われる。また、公開鍵等のデータの受け渡しはブロックチェーンを介して行われる。また、上記の通り、本実施形態ではＥＣＤＨ鍵交換が採用されており、ユーザＡおよびユーザＢは同一の楕円曲線を用いて鍵を生成する。例えば、特定の一つの楕円曲線を用いて鍵を生成するプログラムがユーザＡ端末１およびユーザＢ端末２にインストールされていてもよい。このとき、ユーザＡ端末１およびユーザＢ端末２に共通にインストールされた当該プログラムは、プロセッサによって実行されることで暗号化処理部１０として機能する。
【００３４】
まず、ユーザＢ端末２の鍵管理部１４は、楕円曲線暗号を用いた秘密鍵ｅｓｋｂ（第２の秘密鍵）および公開鍵ＥＰＫｂ（第２の公開鍵）を生成する（図３の（１））。また、ユーザＢ端末２の鍵保管領域１５（第２の鍵保管領域）は、生成された秘密鍵ｅｓｋｂを保持する。
【００３５】
ユーザＢ端末２は、許諾要求（すなわち、秘密の情報Ｓの閲覧等の許諾を要求することを示す情報）およびＥＣＤＨ鍵交換用の公開鍵ＥＰＫｂを含むトランザクションＴｂ（第２のトランザクション）を生成して、Ｐ２Ｐネットワーク４を介してブロードキャストする（図３の（２））。詳細には、トランザクションＴｂは許諾要求部１１によって生成されてトランザクション発行部５０に出力される。トランザクションＴｂはトランザクション発行部５０によってブロードキャストされる。ここで、許諾要求は、例えば秘密の情報Ｓを特定するための識別子またはフラグ値等を含んでいてもよい。
【００３６】
Ｐ２Ｐネットワーク４では、新たなブロックチェーンを生成するプロセスによって、公開鍵ＥＰＫｂが格納されたトランザクションＴｂを含むブロック（図３のブロックＮ−１）がブロックチェーンに追加される。例えば、ブロックチェーン生成装置として機能するその他の端末３が新たなブロックチェーンを生成してもよい。トランザクションＴｂを含むブロックがブロックチェーンに追加された後に、ユーザＡ端末１はトランザクションＴｂに含まれる許諾要求を確認する。また、ユーザＡ端末１は公開鍵ＥＰＫｂを取得する（図３の（３））。図３の（１）〜（３）のプロセスによって、ユーザＢの公開鍵ＥＰＫｂがユーザＡに共有される。
【００３７】
次に、ユーザＡ端末１の鍵管理部１４は、楕円曲線暗号を用いた秘密鍵ｅｓｋａ（第１の秘密鍵）および公開鍵ＥＰＫａ（第１の公開鍵）を生成する（図３の（４））。また、ユーザＡ端末１の鍵保管領域１５（第１の鍵保管領域）は、生成された秘密鍵ｅｓｋａを保持する。
【００３８】
ユーザＡ端末１は、許諾発行（すなわち、許諾要求に対して、秘密の情報Ｓの閲覧等を承認し許諾を発行したことを示す情報）およびＥＣＤＨ鍵交換用の公開鍵ＥＰＫａを含むトランザクションＴａ（第１のトランザクション）を生成して、Ｐ２Ｐネットワーク４を介してブロードキャストする（図３の（５））。詳細には、トランザクションＴａは許諾発行部１２によって生成されてトランザクション発行部５０に出力される。トランザクションＴａはトランザクション発行部５０によってブロードキャストされる。ここで、許諾発行は、例えばユーザＢからの許諾要求を特定するための識別子またはフラグ値等を含んでいてもよい。
【００３９】
Ｐ２Ｐネットワーク４では、新たなブロックチェーンを生成するプロセスによって、公開鍵ＥＰＫａが格納されたトランザクションＴａを含むブロック（図３のブロックＮ）がブロックチェーンに追加される。例えば、ブロックチェーン生成装置として機能するその他の端末３が新たなブロックチェーンを生成してもよい。トランザクションＴａを含むブロックがブロックチェーンに追加された後に、ユーザＢ端末２はトランザクションＴａに含まれる許諾発行を確認する。また、ユーザＢ端末２は公開鍵ＥＰＫａを取得する（図３の（６））。図３の（４）〜（６）のプロセスによって、ユーザＡの公開鍵ＥＰＫａがユーザＢに共有される。
【００４０】
ここで、ＥＣＤＨ鍵交換においては、次の式（Ａ）が成り立つ。
σ＝ｅｓｋａＥＰＫｂ＝ｅｓｋｂＥＰＫａ  ・・・（Ａ）
【００４１】
相手の公開鍵と自身の秘密鍵によって計算される値σは、ユーザＡとユーザＢとで同一の値となる。そのため、ユーザＡおよびユーザＢは、事前に取り決めた鍵導出関数ＫＤＦを用いて、値σから同一の鍵（共通鍵）を生成することが可能である。ユーザＡおよびユーザＢは、例えばＡＥＳ−ＧＣＭ等の共通鍵暗号方式で、鍵導出関数ＫＤＦで得られた共通鍵を用いて秘密の情報Ｓを暗号・復号化できる。
【００４２】
共通鍵は、鍵導出関数ＫＤＦのパラメータに値を与えることによって算出される。ここで、仮に値σだけを鍵導出関数ＫＤＦのパラメータとして共通鍵を算出するならば、ユーザＡの秘密鍵（または、ユーザＢの秘密鍵）が流出した場合に、共通鍵で暗号化した全ての情報が解読されるおそれがある。そこで、ユーザＡとユーザＢとが共に認識している「関連するトランザクション」および「関連するブロック（特定ブロック）のパラメータ」を、さらに鍵導出関数ＫＤＦのパラメータとして用いる。このことにより、鍵導出関数ＫＤＦで算出される共通鍵は、セッション鍵、すなわち、ある時間だけ有効な使い捨ての暗号鍵となる。
【００４３】
本実施形態において、セッション鍵であるｋは次の式（Ｂ）で表される。
ｋ＝ＫＤＦ（σ||Ｔａ||Ｔｂ||Ｎ）  ・・・（Ｂ）
【００４４】
式（Ｂ）の値σは上記の式（Ａ）で算出される。また、式（Ｂ）に示すように、「関連するトランザクション」として、許諾要求を含むトランザクションＴｂおよび許諾発行を含むトランザクションＴａが用いられる。また、式（Ｂ）に示すように、「関連するブロックのパラメータ」として、トランザクションＴａが格納されたブロックの番号Ｎが用いられる。ここで、トランザクションＴａ，Ｔｂおよびブロックの番号Ｎ（ブロックに付された固有の番号）は、取引毎に定まる値である。つまり、トランザクションＴａ，Ｔｂおよびブロックの番号Ｎは、Ｐ２Ｐネットワーク４上における、取引毎に固有の情報である。そのため、トランザクションＴａ，Ｔｂおよびブロックの番号Ｎを用いて算出されたセッション鍵は取引毎に固有の鍵となる。
【００４５】
ユーザＡ端末１の暗号・復号化部１３（第１の暗号・復号化部）は、秘密鍵ｅｓｋａおよび公開鍵ＥＰＫｂから式（Ａ）に従って値σを算出する。そして、ユーザＡ端末１は、式（Ｂ）に従ってセッション鍵（かつ、共通鍵）であるｋを生成する（図３の（８）、第１の共通鍵生成ステップ）。
【００４６】
そして、ユーザＡ端末１は、セッション鍵であるｋを用いて暗号化された秘密の情報Ｓを含むトランザクションを、Ｐ２Ｐネットワーク４を介して他の端末にブロードキャストする（図３の（９））。詳細には、暗号・復号化部１３が、セッション鍵を用いて、秘密の情報Ｓを暗号化する。暗号化された秘密の情報Ｓは、所定の方法でトランザクションに内包されて、トランザクション発行部５０に出力される。トランザクション発行部５０は、生成したトランザクションを、Ｐ２Ｐネットワーク４を介して他の端末にブロードキャストする。
【００４７】
一方、ユーザＢ端末２の暗号・復号化部１３（第２の暗号・復号化部）は、秘密鍵ｅｓｋｂおよび公開鍵ＥＰＫａから式（Ａ）に従って値σを算出する。そして、ユーザＢ端末２は、式（Ｂ）に従ってセッション鍵（かつ、共通鍵）であるｋを生成する（図３の（７）、第２の共通鍵生成ステップ）。
【００４８】
そして、ユーザＢ端末２の暗号・復号化部１３は、Ｐ２Ｐネットワーク４を介して取得した、暗号化された秘密の情報Ｓを、セッション鍵であるｋを用いて復号化する（図３の（１０））。
【００４９】
以上のように、本実施形態によれば、秘密の情報Ｓは、上記の式（Ａ）および（Ｂ）に従う、共通鍵であるｋによって暗号・復号化される。共通鍵であるｋは、取引毎に定まる値である「関連するトランザクション」および「関連するブロックのパラメータ」を用いて算出される。そのため、ｋは取引毎に固有のセッション鍵となる。したがって、本実施形態に係る鍵交換システム（および、同システム上における鍵交換方法）は、前方秘匿性を有し、秘密の情報をブロックチェーン上に記録する際に、長期に渡って安全に秘匿することができる。
【００５０】
［第２実施形態］
第１実施形態に係る鍵交換システム５では二者（ユーザＡおよびユーザＢ）で秘密の情報Ｓが共有された。第２実施形態に係る鍵交換システム５では、多人数のグループにおいて秘密の情報Ｓが共有されるように拡張する。
【００５１】
本実施形態において、グループに属するユーザは、全体で用いられる共通鍵（グループ共通鍵）を使用する。グループ共通鍵は、グループに属するユーザのうち管理権限を有するルートユーザによって生成される。グループに属するユーザは、共有情報をグループ共通鍵によって暗号化して、グループに属する他のユーザが取得可能な場所に配置する（例えばブロックチェーンに登録する）。また、グループに属するユーザは、暗号化された共有情報を、グループ共通鍵によって復号化する。ここで、共有情報は、グループのユーザ以外には秘匿すべき情報の一つである。
【００５２】
ここで、第１実施形態に係る鍵交換システム５では、セッション鍵を用いて暗号化された秘密の情報Ｓが二者間で送受信された。第１実施形態において、二者間の秘密の情報Ｓ（セッション鍵による暗号・復号化の対象）は、例えば情報そのものであっても、情報にアクセスするためのパスワードまたは暗号鍵であってもよい。本実施形態に係る鍵交換システム５では、暗号化されたグループ共通鍵が、ルートユーザと「グループに属するルートユーザ以外のユーザ（クライアントユーザ）」のそれぞれとの間で送受信される。つまり、本実施形態において、二者間の秘密の情報Ｓはグループ共通鍵である。また、本実施形態において、二者間のグループ共通鍵の送受信は、クライアントユーザの数だけ実行される。以下の説明において、ルートユーザＵ１とクライアントユーザＵｄとの間のセッション鍵をｋｄとする（ｄは２以上の整数）。また、以下の説明においては、グループ共通鍵をｋとする。
【００５３】
（鍵交換システム）
本実施形態に係る鍵交換システム５の構成は、第１実施形態の構成に類似する。図１のユーザＡ端末１はルートユーザＵ１の端末に対応する。また、図１のユーザＢ端末２はクライアントユーザＵｄの端末に対応する。ここで、グループがｎ人（ｎは３以上の整数）のユーザで構成される場合に、クライアントユーザＵ２，Ｕ３，…Ｕｎのそれぞれが固有の端末を有する。すなわち、本実施形態に係る鍵交換システム５は、図１のユーザＢ端末２を複数備える構成になり得る。
【００５４】
また、第１実施形態において、ユーザＡ端末１の暗号化処理部１０は、ユーザＢ端末２の暗号化処理部１０と同じ構成であった。本実施形態では、ルートユーザＵ１はグループ共通鍵の生成等の管理をする。そのため、ルートユーザＵ１の端末の暗号化処理部１０ａは、クライアントユーザＵｄの端末の暗号化処理部１０ｂと構成が異なっている。
【００５５】
図４はルートユーザＵ１用の暗号化処理部１０ａの構成を例示する図である。暗号化処理部１０ａは、許諾要求部１１と、許諾発行部１２と、セッション鍵暗号部１３ａと、鍵管理部１４と、鍵保管領域１５と、グループ共通鍵暗号・復号化部１６と、グループ共通鍵管理部１７と、グループ共通鍵保管領域１８と、を備える。ここで、許諾要求部１１、許諾発行部１２、鍵管理部１４および鍵保管領域１５の説明は、第１実施形態（図２参照）と同じであるため省略する。
【００５６】
セッション鍵暗号部１３ａは、Ｐ２Ｐネットワーク４からクライアントユーザＵｄの公開鍵を取得する。また、セッション鍵暗号部１３ａは、鍵保管領域１５に保管した自身の秘密鍵等を用いて、ルートユーザＵ１とクライアントユーザＵｄとの間におけるセッション鍵を算出する。また、セッション鍵暗号部１３ａは、算出したセッション鍵を用いて、グループ共通鍵管理部１７を介して取得したグループ共通鍵を暗号化する。ここで、暗号化されたグループ共通鍵は、所定の方法でトランザクションに内包されることによって、ブロックチェーンへの登録が可能になる。
【００５７】
グループ共通鍵暗号・復号化部１６は、グループ共通鍵保管領域１８に保管されたグループ共通鍵を用いて共有情報を暗号化する。暗号化された共有情報は、所定の方法でトランザクションに内包されることによって、ブロックチェーンへの登録が可能になる。また、グループ共通鍵暗号・復号化部１６は、暗号化された共有情報を、グループ共通鍵を用いて復号化する。
【００５８】
グループ共通鍵管理部１７は、グループ共通鍵に関する処理を実行する。グループ共通鍵管理部１７は、グループ共通鍵の生成、参照および削除を実行する。また、グループ共通鍵管理部１７は、クライアントユーザＵｄの削除時等に、グループ共通鍵を更新する。例えば、グループにクライアントユーザＵｄが追加された場合に、グループ共通鍵管理部１７は、グループ共通鍵に追加されたクライアントユーザＵｄとの対応付けを実行して、グループ共通鍵保管領域１８に保管する。一方で、クライアントユーザＵｄが削除された場合に、グループ共通鍵管理部１７は、それまでグループ共通鍵保管領域１８に保管されていたグループ共通鍵を破棄する。そして、グループ共通鍵管理部１７は、新たにグループ共通鍵を生成する。つまり、クライアントユーザＵｄの削除（グループからの脱退）の場合には、脱退したクライアントユーザＵｄの不正利用を防止するために、グループ共通鍵管理部１７は新たにグループ共通鍵を生成する。
【００５９】
グループ共通鍵保管領域１８は、グループ共通鍵管理部１７が生成したグループ共通鍵を保管（保持）する。
【００６０】
図５はクライアントユーザＵｄ用の暗号化処理部１０ｂの構成を例示する図である。暗号化処理部１０ｂは、許諾要求部１１と、許諾発行部１２と、セッション鍵復号化部１３ｂと、鍵管理部１４と、鍵保管領域１５と、グループ共通鍵暗号・復号化部１６と、を備える。ここで、許諾要求部１１、許諾発行部１２、鍵管理部１４および鍵保管領域１５の説明は、第１実施形態（図２参照）と同じであるため省略する。
【００６１】
セッション鍵復号化部１３ｂは、Ｐ２Ｐネットワーク４からルートユーザＵ１の公開鍵を取得する。また、セッション鍵復号化部１３ｂは、鍵保管領域１５に保管した自身の秘密鍵等を用いて、ルートユーザＵ１とクライアントユーザＵｄとの間におけるセッション鍵を算出する。また、セッション鍵復号化部１３ｂは、ブロックチェーンより取得した暗号化されたグループ共通鍵を、算出したセッション鍵を用いて復号化する。
【００６２】
グループ共通鍵暗号・復号化部１６は、セッション鍵復号化部１３ｂが復号化することによって取得したグループ共通鍵を用いて、共有情報を暗号化する。暗号化された共有情報は、所定の方法でトランザクションに内包されることによって、ブロックチェーンへの登録が可能になる。また、グループ共通鍵暗号・復号化部１６は、暗号化された共有情報を、グループ共通鍵を用いて復号化する。暗号化処理部１０ｂのグループ共通鍵暗号・復号化部１６は、グループ共通鍵の取得の手法が異なるだけで、暗号化処理部１０ａのグループ共通鍵暗号・復号化部１６と同じ構成および機能を備える。
【００６３】
（鍵交換方法）
以下に、クライアントユーザＵｄが、ルートユーザＵ１からブロックチェーン上でグループ共通鍵ｋを共有する手順について説明する。ここで、ルートユーザＵ１はユーザＡ端末１の使用者である。また、クライアントユーザＵｄはユーザＢ端末２の使用者である。図６および図７の例のように、クライアントユーザＵｄが複数いる場合には、クライアントユーザＵｄのそれぞれが各自のＢ端末２を使用する。
【００６４】
図６は、本実施形態に係る鍵交換方法を説明するためのシーケンス図である。また、図７は、図６の続きを示すシーケンス図である。図６および図７のルートユーザＵ１はユーザＡ端末１を意味する。また、図６および図７のクライアントユーザＵｄ（ｄ＝２〜５）のそれぞれはユーザＢ端末２を意味する。
【００６５】
ユーザＡ端末１のグループ共通鍵管理部１７はグループ共通鍵ｋを生成する（図６の（１））。グループ共通鍵ｋは、グループのユーザ（ルートユーザＵ１およびクライアントユーザＵｄ）以外には秘匿すべき情報の一つである。
【００６６】
ルートユーザＵ１は、クライアントユーザＵｄとの間でＥＣＤＨ鍵交換を実施して、セッション鍵ｋｄを共有する（図６の（２））。
【００６７】
セッション鍵ｋｄはクライアントユーザＵｄ毎に異なる。そして、ルートユーザＵ１は、グループ共通鍵ｋをセッション鍵ｋｄで暗号化して、クライアントユーザＵｄへ配布する（図７の（３））。
【００６８】
そして、クライアントユーザＵｄは、セッション鍵ｋｄで復号化して、グループ共通鍵ｋを入手する（図７の（４））。
【００６９】
ルートユーザＵ１は、クライアントユーザＵｄのそれぞれに対して、セッション鍵ｋｄを用いた鍵交換方法（図６の（２）、図７の（３）および（４））を実行する。セッション鍵ｋｄを用いた鍵交換方法は、秘密の情報Ｓをグループ共通鍵ｋとした場合の第１実施形態の鍵交換方法に対応する。すなわち、セッション鍵ｋｄを用いた鍵交換方法の詳細は、第１実施形態と同じであるため説明を省略する。図６および図７の例では、ルートユーザＵ１は、４人のクライアントユーザＵｄのそれぞれに対して、順に鍵交換（グループ共通鍵ｋの共有）を行う。
【００７０】
以上のように、本実施形態においては、第１実施形態と同様に、秘密の情報Ｓをブロックチェーン上に記録する際に、長期に渡って安全に秘匿する鍵交換システムおよび鍵交換方法が実現される。また、第２実施形態においては、長期に渡って安全に、多人数のグループにおいて秘密の情報Ｓを共有することが可能である。
【００７１】
上述の実施形態は代表的な例として説明している。本発明の趣旨および範囲内で、多くの変更および置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形および変更が可能である。
【００７２】
例えば、上述の実施形態において、鍵を生成する際にＥＣＤＨ鍵交換方式が使用された。ここで、ＥＣＤＨ鍵交換方式に代えてＤＨ鍵交換方式、ＲＳＡ鍵交換方式、ＭＱＶ鍵交換方式またはＨＭＱＶ鍵交換方式等が使用されてもよい。
【００７３】
また、上述の実施形態において、セッション鍵を算出する際に、「関連するトランザクション」および「関連するブロックのパラメータ」として、トランザクションＴａ，Ｔｂおよびブロックの番号Ｎの全てが用いられていた。関連するトランザクションおよびブロックに固有の情報（取引固有情報）として多くの情報が含まれることによって、より確実に、長期に渡って安全に秘密の情報Ｓを秘匿する共通鍵が生成されていた。しかし、事前にユーザＡとユーザＢとの間で定めておけば、取引固有情報は、トランザクションＴａ，Ｔｂおよび関連するブロックのパラメータの一部だけ（少なくとも１つ）が用いられてもよい。また、事前にユーザＡとユーザＢとの間で定めておけば、取引固有情報として、トランザクションＴａ，Ｔｂおよびブロックの番号Ｎとは異なる値が用いられてもよい。例えば「関連するブロックのパラメータ」として、トランザクションＴｂが格納されたブロックの番号Ｎ−１が用いられてもよい。また、例えば「関連するブロックのパラメータ」として、ブロックの番号ＮまたはＮ−１ではなく、ブロックの番号ＮまたはＮ−１のブロックのサイズが用いられてもよい。また、例えば、「関連するトランザクション」として、トランザクションＴａおよびＴｂとは異なるトランザクションが用いられてもよい。また、「関連するトランザクション」として、当該トランザクション全体のデータを用いてもよく、あるいは、当該トランザクションの一部のデータ（例えば、少なくとも電子署名を含む一部のデータ）を用いてもよい。
【００７４】
本開示内容の多くの側面は、プログラム命令を実行可能なハードウェアにより実行される一連の動作として示される。プログラム命令を実行可能なハードウェアは、パーソナルコンピュータ、スマートフォン等に限定されず、例えば、専用コンピュータ、ワークステーション、ＰＣＳ（Personal Communications System、パーソナル移動通信システム）、データ処理機能を備えた移動（セルラー）電話機、タブレット端末、ゲーム機、電子ノートパッド、ラップトップコンピュータ、ＧＰＳ（Global Positioning System）受信機またはその他のプログラム可能なデータ処理装置が含まれる。各実施形態では、種々の動作または制御方法は、プログラム命令（ソフトウェア）、および／または一以上のプロセッサにより実行されるプログラムモジュール等により実行されることに留意されたい。一以上のプロセッサには、例えば、マイクロプロセッサ、ＣＰＵ（中央演算処理ユニット）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＤＳＰ（Digital Signal Processor）、ＰＬＤ（Programmable Logic Device）、ＦＰＧＡ（Field Programmable Gate Array）またはこれらいずれかの組合せ等が含まれる。
【符号の説明】
【００７５】
１    端末（ユーザＡ端末）
２    端末（ユーザＢ端末）
３    端末（その他の端末）
５    鍵交換システム
１０    暗号化処理部
１０ａ  暗号化処理部（ルートユーザ用）
１０ｂ  暗号化処理部（クライアントユーザ用）
１１    許諾要求部
１２    許諾発行部
１３    暗号・復号化部
１３ａ  セッション鍵暗号部
１３ｂ  セッション鍵復号化部
１４    鍵管理部
１５    鍵保管領域
１６    グループ共通鍵暗号・復号化部
１７    グループ共通鍵管理部
１８    グループ共通鍵保管領域
３０    ブロックチェーン記憶部
４０    ブロックチェーン制御部
５０    トランザクション発行部
【図１】
2018235845.tif 000003
【図２】
2018235845.tif 000004
【図３】
2018235845.tif 000005
【図４】
2018235845.tif 000006
【図５】
2018235845.tif 000007
【図６】
2018235845.tif 000008
【図７】
2018235845.tif 000009
【図８】
2018235845.tif 000010
【図９】
2018235845.tif 000011
【国際調査報告】
2018235845.tif 000012
2018235845.tif 000013