JP2015159619A - 通信方法、アプリケーション装置、プログラム及び通信システム - Google Patents

通信方法、アプリケーション装置、プログラム及び通信システム Download PDF

Info

Publication number
JP2015159619A
JP2015159619A JP2015116717A JP2015116717A JP2015159619A JP 2015159619 A JP2015159619 A JP 2015159619A JP 2015116717 A JP2015116717 A JP 2015116717A JP 2015116717 A JP2015116717 A JP 2015116717A JP 2015159619 A JP2015159619 A JP 2015159619A
Authority
JP
Japan
Prior art keywords
key
application
communication
encryption
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015116717A
Other languages
English (en)
Other versions
JP5992578B2 (ja
Inventor
佳道 谷澤
Yoshimichi Tanizawa
佳道 谷澤
馬場 伸一
Shinichi Baba
伸一 馬場
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015116717A priority Critical patent/JP5992578B2/ja
Publication of JP2015159619A publication Critical patent/JP2015159619A/ja
Application granted granted Critical
Publication of JP5992578B2 publication Critical patent/JP5992578B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

【課題】鍵共有ネットワークから提供されるアプリケーション鍵を利用して暗号通信を行う通信方法を提供する。【解決手段】一実施形態に係る通信方法は、鍵共有ネットワークからアプリケーション鍵を取得することと、前記アプリケーション鍵の鍵利用方法を決定することと、前記鍵利用方法に従って前記アプリケーション鍵を利用することで暗号通信を行なうことと、備える。【選択図】図4

Description

本発明の実施形態は、通信方法、アプリケーション装置、プログラム及び通信システムに関する。
鍵共有ネットワークは、複数のノードが複数のリンクを介して相互に接続されたネットワークである。各ノードは、リンクを介して接続された対向ノードとの間で乱数を生成し共有する機能と、この乱数を暗号鍵(以下、リンク鍵という)として利用してリンク上で暗号通信を行う機能と、を備える。これらのノードのうちの幾つかは、リンク鍵とは別の乱数である暗号鍵(以下、アプリケーション鍵という)を生成する機能と、このアプリケーション鍵をリンク上で他のノードに送信する機能と、を備える。
鍵共有ネットワークにおけるアプリケーションは、ノードからアプリケーション鍵を取得し、このアプリケーション鍵を利用して他のアプリケーションとの間で暗号データ通信を行う機能を備える。暗号データ通信は、鍵共有ネットワークとは異なるネットワーク(以下、アプリケーションネットワークという)を介して行なわれることができる。
特開2008−154019号公報
鍵共有ネットワークを構成するノードからアプリケーション鍵を取得するアプリケーションは、アプリケーション鍵の鍵利用方法を事前に設定する必要がある。例えば、暗号アルゴリズム(例えば、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)等)で利用する鍵長、鍵ID、及び認証アルゴリズムで利用するIDに関する情報を、通信するアプリケーションの双方で事前に設定する必要がある。このような事前設定は、複数のアプリケーションが互いに通信するようなネットワークを想定すると、現実的でない。
本発明が解決しようとする課題は、鍵共有ネットワークから提供されるアプリケーション鍵を利用して暗号通信を行う通信方法、アプリケーション装置、プログラム及び通信システムを提供することである。
一実施形態に係る通信方法は、鍵共有ネットワークからアプリケーション鍵を取得することと、前記アプリケーション鍵の鍵利用方法を決定することと、前記鍵利用方法に従って前記アプリケーション鍵を利用することで暗号通信を行なうことと、備える。
一実施形態に係る暗号通信システムを示す図。 一実施形態に係るノードの構成を示すブロック図。 一実施形態に係るアプリケーションの構成を概略的に示すブロック図。 一実施形態に係る暗号データ通信を開始する手順を示すシーケンス図。 一実施形態に係る鍵利用方法の一例を示す図。
以下、必要に応じて図面を参照しながら実施形態を説明する。なお、以下の実施形態では、同一の番号を付した部分については同様の動作を行なうものとして、重ねての説明を省略する。
図1は、一実施形態に係る暗号通信システム100を概略的に示している。この暗号通信システム100は、図1に示されるように、鍵共有ネットワーク110及びアプリケーションネットワーク120を含む。アプリケーションネットワーク120は、例えば、インターネットである。
鍵共有ネットワーク110では、複数の(図1の例では5つの)ノード112A〜112Eが複数のノード間リンク114A〜114Fによって相互に接続されている。各ノードは、ノード間リンクを介して接続された対向ノードとの間で暗号通信を行なう。例えば、ノード112Aとノード112Bは、あるリンク鍵を用いてノード間リンク114A上で暗号通信を行なう。ノード112Bとノード112Cは、他のリンク鍵を用いてノード間リンク114C上で暗号通信を行なう。ノード112Bとノード112Eは、さらに他のリンク鍵を用いてノード間リンク114E上で暗号通信を行なう。
鍵共有ネットワーク110におけるアプリケーションは、アプリケーション鍵を利用して他のアプリケーションとの間で暗号通信を行なう。例えば、アプリケーション122Aは、アプリケーション鍵を用いてアプリケーションネットワーク120を介してアプリケーション122Bとの間で暗号通信を行なう。アプリケーションは、ノードとともに一体として実現されてもよく、ノードとは独立した装置又は端末として実現されてもよい。アプリケーションを備える装置をアプリケーション装置と呼ぶ。図1は、アプリケーションがノードから独立した端末として実現される例を示す。
ノード間でリンク鍵を生成し共有する機能は、例えば量子暗号又は量子鍵配送(QKD:quantum key distribution)と呼ばれる技術により実現される。また、ノード間でアプリケーション鍵を生成し共有する技術は、Kollmitzer C., Pivk M. (Eds.), Applied Quantum Cryptography, Lect. Notes Phys. 797 (Springer, Berlin Heidelberg 2010), DOI: 10.1007/978-3-642-04831-9、及びDianati, M., Alleaume, R., Gagnaire, M. and Shen, X. (2008), Architecture and protocols of the future European quantum key distribution network. Security and Communication Networks, 1: 57-74. DOI: 10.1002/sec.13に記載された技術を利用することができる。例えば、ノード112Aは、リンク鍵とは別の乱数であるアプリケーション鍵を生成し、リンク鍵によってアプリケーション鍵を暗号化し、この暗号化されたアプリケーション鍵をノード間リンク114Aを介してノード112Bに送信する。ノード112Bは、この暗号化されたアプリケーション鍵をリンク鍵によって復号化し、さらに、ノード間リンク114Eによって接続されるノード112Eと共有するリンク鍵によってアプリケーション鍵を暗号化し、この暗号化されたアプリケーション鍵をノード間リンク114Eを介してノード112Eに送信する。
図2は、一実施形態に係るノード112を概略的に示している。図2に示されるノード112は、図1に示されるノード112A〜112Eの各々に対応する。ノード112は、ノード間通信部201、アプリケーション鍵生成部202、アプリケーション鍵保持管理部203、状態管理部204、アプリケーション通信部205、制御部206、及びノードプラットフォーム部207を備える。
ノード間通信部201は、ノード間リンク252を介して接続された対向ノード250との間で、量子暗号通信技術を用いて乱数を生成し共有する。生成された乱数はリンク鍵として管理される。リンク鍵は、ノード間リンクを介して接続された他のノードとの間でノード間データ通信を行う際に利用される。ノード間データ通信は、リンク鍵を用いてデータを暗号化する暗号通信である。ここで、他のノードとは、例えば対向ノード250のようなノード間リンクによって直接接続された対向ノードであってもよく、或いは、その対向ノードに対し他のノード間リンクを介して接続される他のノードであってもよい。後者の場合、ノード間通信部201は、鍵共有ネットワーク110において、複数のノードを介して通信を行うためのルーティング機能を提供してもよい。ノード間通信部201によりノード間で交換されるデータは、例えば、アプリケーション鍵のデータである。このようなデータは、ノードが管理するリンク鍵を用いて暗号化されて送信され、受信側で復号化される。
アプリケーション鍵生成部202は、乱数としてアプリケーション鍵を生成する。アプリケーション鍵は、鍵IDを付加した形で生成される。アプリケーション鍵の鍵IDのフォーマットは、いかなる形態のものであってもよい。一例では、アプリケーション鍵の鍵IDは、連続した数字により順序が識別されるものとする。生成されたアプリケーション鍵そのものは、アプリケーション鍵保持管理部203に保持される。なお、鍵IDの付与(対応付け)は、アプリケーション鍵生成部202ではなくアプリケーション鍵保持管理部203が行なってもよい。
アプリケーション鍵保持管理部203は、アプリケーション鍵を保持し管理する。アプリケーション鍵保持管理部203は、アプリケーション鍵生成部202によって生成されたアプリケーション鍵とともに、ノード間通信部201を介して他のノードから受信したアプリケーション鍵を保持することができる。
アプリケーション鍵保持管理部203に保持されているアプリケーション鍵は、アプリケーション通信部205によって、アプリケーション通信リンク262を介して接続されたアプリケーション260に提供される。アプリケーション260に提供された鍵は、アプリケーション鍵保持管理部203から削除されてもよい。アプリケーション鍵保持管理部203で保持されるアプリケーション鍵は、暗号通信システムにおけるセキュリティ上もっとも重要なデータの1つであるため、ファイルシステムやオペレーティングシステム(OS)によって暗号化、改竄防止、アクセス制限等のセキュリティ対策が施されていてもよい。アプリケーション鍵保持管理部203は、様々な方法で実現することができるが、例えば、ファイルシステムやデータベースとして実装することができる。
アプリケーション通信部205は、アプリケーション通信リンク262を介して接続されたアプリケーション260と通信する。アプリケーション通信部205は、アプリケーション260からの要求を受け付ける。この要求には、アプリケーション260からの暗号通信開始/終了要求(即ち、アプリケーション鍵提供開始/終了要求)、アプリケーション鍵取得要求等がある。アプリケーション260によって行なわれる個々の暗号通信をセッションと呼ぶ。セッションには、セッション識別子(セッションID)が付与される。セッションの情報は、状態管理部204によって管理される。セッションの情報は、どのようなセッションが存在するか、どの種類のアプリケーション鍵を割り当てるか等を表す。
さらに、アプリケーション通信部205は、アプリケーション260に対してアプリケーション鍵のデータを提供する。アプリケーション260にアプリケーション鍵のデータを提供する単位は、ノード112がアプリケーション鍵を他のノードと交換する単位と異なってもよい。このため、アプリケーション通信部205及びアプリケーション鍵保持管理部203は、セッションに割り当て済みのアプリケーション鍵のうち、どの部分までの鍵のデータを提供済みであるかも管理してよい。
状態管理部204は、前述のセッションの情報、アプリケーション鍵交換に関連するルールや状況の情報といった各種の状態情報を管理する。これらの情報は、アプリケーション通信部205によって参照されたり変更されたりする。
制御部206は、上記のノード機能を実現する各部を制御し、鍵共有ネットワーク110における一連のアプリケーション鍵共有動作を実現する。
ノードプラットフォーム部207は、ノード112上の他の構成要素の管理、動作に必要なコンピュータのオペレーティングシステム機能、基本的なネットワーク機能、セキュリティ機能等を提供する。
以上説明した本実施形態に係るノードの構成はあくまで一例である。
次に、図3を参照して一実施形態に係るアプリケーションについて説明する。
図3は、本実施形態に係るアプリケーション122を概略的に示している。図3に示されるアプリケーション122は、図1に示されるアプリケーション122A、122B並びに図2に示されるアプリケーション260の各々に対応する。アプリケーション122は、ノード通信・鍵取得部301、アプリケーション実行部302、認証・暗号通信部303、鍵利用方法決定部304、及びアプリケーションプラットフォーム部305を備える。
ノード通信・鍵取得部(単に鍵取得部ともいう)301は、ノード通信リンク352を介して接続されたノード350(具体的にはノード350のアプリケーション通信部)と通信する。ノード通信・鍵取得部301は、アプリケーション122が暗号通信を行うために必要なアプリケーション鍵をノード350から取得する。アプリケーション鍵のデータは、ノード350から鍵ストリームとして提供される。ノード通信・鍵取得部301は、アプリケーション鍵の取得を開始する前にアプリケーション鍵の取得の開始要求を行い、アプリケーション鍵の取得を終了する際にはアプリケーション鍵の取得の終了要求を行う。これによって区別されるアプリケーション鍵の利用がセッションとして識別される。ノード通信・鍵取得部301は、取得したアプリケーション鍵を保持し管理する。ノード通信・鍵取得部301に保持されているアプリケーション鍵は、認証・暗号通信部303によってアプリケーション間の暗号通信に使用される。
アプリケーション実行部302は、暗号通信を行うアプリケーション機能を実行する。アプリケーションの種類は、通信を行うものであればいかなるものであってもよい。一例では、アプリケーションは、ビデオ送信である。暗号通信の際のデータの送受信には、認証・暗号通信部303が利用される。
認証・暗号通信部(単に暗号通信部ともいう)303は、アプリケーション実行部302の動作に必要な通信機能、及び認証、通信データの暗号化、復号化機能を提供する。認証・暗号通信部303は、アプリケーション実行部302から送信データを受け取ると、これを暗号化し、暗号通信リンク362を介して他のアプリケーション360に、暗号化した送信データを送信する。認証・暗号通信部303は、暗号通信リンク362を介して他のアプリケーション360からデータを受信すると、これを復号化し、このデータをアプリケーション実行部302に渡す。さらに、認証・暗号通信部303は、暗号化及び復号化のために新たなアプリケーション鍵が必要になった場合、ノード通信・鍵取得部301から新たなアプリケーション鍵を取得する。
本実施形態では、認証・暗号通信部303が使用する認証・暗号アルゴリズムは、鍵利用方法決定部304によって決定されてもよく、他の方法(例えば、静的なコンフィグレーション、TLS(Transport Layer Security)プロトコルで用いられるネゴシエーション等)で決定されてもよい。なお、認証・暗号通信部303は、暗号通信に加えて、通信相手の認証及びデータ認証を行なうこともできる。本実施形態の認証・暗号通信部303は、ノード通信・鍵取得部301からアプリケーション鍵を取り出し、これを用いて認証及び暗号通信を行なう。このとき、取り出したアプリケーション鍵の鍵利用方法は、鍵利用方法決定部304によって決定されて設定される。認証・暗号通信部303は、鍵利用方法決定部304によって決定された鍵利用方法に従ってアプリケーション鍵(具体的にはアプリケーション鍵の鍵ストリーム)をより小さいサイズに切り出し或いは分割し、切り出したアプリケーション鍵を利用して暗号通信を行う。暗号通信では、切り出したアプリケーション鍵の一部を、例えば、通信相手のアプリケーションと暗号通信するための認証用のID、認証用パスワード、データ認証用の鍵、データ暗号化用の鍵等として用いることができる。鍵利用方法については後述する。
鍵利用方法決定部304は、暗号通信リンク362を介して接続された他のアプリケーション360と通信若しくは交渉を行ない、アプリケーション360との暗号通信に使用するアプリケーション鍵の鍵利用方法を決定する。鍵利用方法決定部304はさらに、暗号通信に利用する暗号アルゴリズムについても決定することができる。
アプリケーションプラットフォーム部305は、アプリケーション122上の他の構成要素を管理、動作に必要なコンピュータのオペレーティングシステム機能、基本的なネットワーク機能、セキュリティ機能等を提供する。
以上説明した本実施形態に係るアプリケーションの構成はあくまで一例である。
図4は、本実施形態に係る暗号データ通信を開始する手順を概略的に示している。図4では、クライアントであるアプリケーション122Aが、サーバであるアプリケーション122Bに対して通信を開始する場面を想定している。なお、ここで示されるシーケンスは、明示しているものを除き、全てアプリケーションネットワーク120を介して行われる。
図4のステップS401では、アプリケーション122Aは、アプリケーション鍵の鍵利用方法を決定するために通信相手のアプリケーション122Bとネゴシエーションを行なう。このネゴシエーションは、アプリケーション122A及びアプリケーション122Bの各々において、アプリケーション実行部302がアプリケーション機能を実行する際に、鍵利用方法決定部304によって実行される。
なお、アプリケーション122Aでは、ノード通信・鍵取得部301は、アプリケーション実行部302からの指示により、ノード通信リンクを介して接続されたノードからアプリケーション鍵を取得する(図4には明示されない)が、このアプリケーション鍵の取得は、鍵利用方法決定部304によるネゴシエーションと並行して実行されてもよく、鍵利用方法決定部304によるネゴシエーションより先に若しくは後に実行されてもよい。アプリケーション122Bにおいても同様に、ノード通信・鍵取得部301は、鍵利用方法決定部304によるネゴシエーションと並行してアプリケーション鍵を取得してもよく、鍵利用方法決定部304によるネゴシエーションより先に若しくは後にアプリケーション鍵を取得してもよい(図4には明示されない)。ただし、アプリケーション122A及びアプリケーション122Bの各々において鍵利用方法決定部304がアプリケーション鍵の鍵利用方法を決定するまでは、アプリケーション122A及びアプリケーション122B間でアプリケーション鍵を利用した暗号データ通信はできない。
アプリケーション122Aとアプリケーション122Bの間でアプリケーション鍵の鍵利用方法を決定するネゴシエーション方法としては、例えば、以下に例示する方法を利用することができる。
アプリケーション122Aの鍵利用方法決定部304は、自身がサポートしている鍵利用方法、即ち、アプリケーション122Aが利用可能な鍵利用方法に関する情報を優先順位付けして保持している。例えば、利用可能な鍵利用方法に関する情報はリストの形態で保持される。アプリケーション122Aの鍵利用方法決定部304は、アプリケーション122Aが利用可能な鍵利用方法のうちの所望する鍵利用方法を1以上含む鍵利用方法リストを作成し、鍵利用方法リストをアプリケーション122Bに送信する(シーケンス1)。鍵利用方法リストは、1以上の鍵決定方法とともにそれらの優先順位(優先度ともいう)を示す情報を含むことができる。同様に、アプリケーション122Bの鍵利用方法決定部304も、アプリケーション122Bが利用可能な鍵利用方法に関する情報を優先順位付けして保持している。アプリケーション122Bの鍵利用方法決定部304は、アプリケーション122Aから鍵利用方法リストを受信すると、この鍵利用方法リストに含まれ、且つ、アプリケーション122Bが利用可能な鍵利用方法の中から、例えば最も優先順位が高い鍵利用方法を選択する。アプリケーション122Bの鍵利用方法決定部304は、選択した鍵利用方法を実際に利用する鍵利用方法としてアプリケーション122Aに通知する(シーケンス2)。
このような鍵利用方法を決定するためのネゴシエーションに関するシーケンスは、様々な方法で実現することができる。
一例では、SIP(Session Initiation Protocol)のようなセッション制御プロトコルを利用してネゴシエーションが行なわれる。具体的には、アプリケーション122Aの鍵利用方法決定部304は、認証・暗号通信部303に指示して、アプリケーションネットワーク120を介してアプリケーション122Bに、鍵利用方法リストを含むSIP要求メッセージ(SIP Request Message)を送信する。続いて、アプリケーション122Bの鍵利用方法決定部304は、アプリケーション122Aから受信した鍵利用方法リストの中から実際に利用する鍵利用方法を選択し、選択した鍵利用方法を示す情報を含むSIP応答メッセージ(SIP Response Message)をアプリケーション122Aに送信する。
他の例では、鍵利用方法決定部304は、認証・暗号通信部303に指示して、TLSやSSL(Secure Socket Layer)における暗号アルゴリズムのネゴシエーションを行なうのと同時に、アプリケーション鍵の鍵利用方法についてもネゴシエーションを行なう。
さらに他の例では、アプリケーション122Aの鍵利用方法決定部304は、アプリケーションネットワーク120ではなく、鍵共有ネットワーク110を介してアプリケーション122Bの鍵利用方法決定部304とネゴシエーションを行なう。具体的には、アプリケーション122Aの鍵利用方法決定部304は、ノード通信・鍵取得部301に指示して、鍵利用方法リストをノードに通知する。鍵利用方法リストは、鍵共有ネットワーク110を構成する複数のノードを介してアプリケーション122Bに到達する。アプリケーション122Bの鍵利用方法決定部304は、受信した鍵利用方法リストの中から実際に利用する鍵利用方法を選択し、これをノードに通知する。アプリケーション122Bの鍵利用方法決定部304が選択した鍵利用方法を示す情報は、鍵共有ネットワーク110を構成する複数のノードを介してアプリケーション122Aに到達する。このように、鍵共有ネットワーク110を介してアプリケーション122A及びアプリケーション122B間でアプリケーション鍵の鍵利用方法を決定することもできる。
以上説明したように、アプリケーションネットワーク120又は鍵共有ネットワーク110を介して、様々なフォーマットのネゴシエーションが可能である。なお、上述したいずれの方法においても、アプリケーション122Aからアプリケーション122Bに送信するのは、アプリケーション122Aが所望する鍵利用方法を1以上含む鍵利用方法リストであり、アプリケーション122Bからアプリケーション122Aに送信するのは、アプリケーション122Bが鍵利用方法リストの中から選択した単一の鍵利用方法を示す情報である。
次に、アプリケーション鍵の鍵利用方法について説明する。
アプリケーション鍵の鍵利用方法は、アプリケーション鍵の鍵ストリームを切り出す若しくは分割する単位(例えばビット数)を示す情報である。例えば、アプリケーション鍵を暗号及び認証の両方に用いる場合、鍵利用方法は、認証に利用する鍵のビット数及び暗号に利用する鍵のビット数を示す情報を含む。さらに、暗号又は認証にID(鍵ID又はユーザID、セッションID等)を含める必要がある場合、鍵利用方法は、IDに利用する鍵のビット数を示す情報を含む。また、暗号データの交換と認証処理を一定の割合で繰り返す場合、鍵利用方法は、次の認証に利用する鍵を切り出すまでに暗号に利用する鍵を切り出す回数を示す情報を含む。
さらに広義には、アプリケーション鍵の鍵利用方法は、利用する暗号アルゴリズムを示す設定情報を含んでもよい。暗号アルゴリズムとしては、AES(Advanced Encryption Standard)、DES(Data Encryption Standard)等を利用することができる。
図5は、アプリケーション鍵の鍵利用方法の一例を示している。より詳細には、図5は、TLS−PSK(Pre-Shared Key)方式の暗号アルゴリズムを利用する場合におけるアプリケーション鍵の鍵利用方法の一例を示している。
図5の例では、アプリケーションは、アプリケーション鍵の鍵ストリームを以下のように切り出して利用する。
1.鍵ストリームの先頭からXビットを認証ID(Pre Shared Key ID)として利用する。
2.認証IDに続く鍵ストリームのYビットを認証鍵(Pre Shared Key)として利用する。
3.認証鍵に続く鍵ストリームのZビットを暗号及びデータ認証用の鍵として利用する。
4.暗号及びデータ認証を利用するデータ交換をα回実行する。
以上を繰り返してアプリケーション鍵を利用する。
この場合において、パラメータX、Y、Z、αが鍵利用方法である。即ち、鍵利用方法は、認証に利用する鍵の長さ、暗号に利用する鍵の長さ、IDの長さ、再認証が必要になるまでに行う暗号データ交換の回数などを示すパラメータを含む。認証・暗号通信部303は、鍵利用方法に従って鍵ストリームを切り出し、切り出したものを認証ID、認証鍵、暗号及びデータ認証用の鍵として解釈する。
本実施形態によれば、アプリケーション間でネゴシエーションを行なって鍵利用方法を決定することにより、鍵利用方法を事前に静的に決定することなく、アプリケーション実行時に鍵利用方法を決定することができる。また、このように鍵利用方法の決定に自由度を持たせることにより、アプリケーションにおいて、多様な暗号化のバリエーションが実行可能になるとともに、アプリケーションにおいて、様々な既存の暗号アルゴリズム実装が、鍵利用ネットワークから提供される鍵ストリームを鍵として利用する通信で利用する(再利用する)ことができる。
なお、図5に示したようなアプリケーション鍵の鍵利用方法を、アプリケーション間で交換されるデータとして記述する方法については、様々なバリエーションが考えられる。例えば、以下に示すテキスト記述は、鍵利用方法を記述する方法の一例となり得る他、前述した様々なフォーマットのネゴシエーションで利用可能である。
「[Auth] ID Length: X, Key length: Y, [Enc] Key length: Z, α times」
図4のステップS402では、アプリケーション122A及びアプリケーション122Bの各々において、鍵利用方法決定部304は、決定した鍵利用方法を認証・暗号通信部303に設定する。アプリケーション122Aの認証・暗号通信部303は、アプリケーション実行部302から送信データを受け取ると、ノード通信・鍵取得部301がノードから取得したアプリケーション鍵を取り出し、鍵利用方法決定部304によって設定された鍵利用方法に従ってアプリケーション鍵を切り出し、切り出したアプリケーション鍵を用いて認証(シーケンス3)及び暗号データ通信(シーケンス4)を行なう。
なお、鍵利用方法決定部304は、暗号データ通信中にネゴシエーションを再度実行してもよい。例えば、ノード通信・鍵取得部301がノードから取得するアプリケーション鍵の鍵ストリームのレート、即ち、鍵共有ネットワーク110からアプリケーション鍵を受信するスループットが低下した場合、ネゴシエーションを再度実行して、暗号化に利用する鍵のサイズを小さくしたり、認証を行なう頻度を小さくしたりする。これにより、暗号データ通信のスループットを維持することができる。なお、このような動作を実現する方法としては、取得するアプリケーション鍵の鍵ストリームのスループットが変化した際に、自身がサポートできる利用可能な(対応可能な)鍵利用方法の種類を変更する方法、優先順位付けを変更する方法などを利用することができる。サポートできる利用可能なアプリケーション鍵の利用方法の種類をあるいは優先順位付けが変更した状態で、再ネゴシエーションを実行した場合、ネゴシエーションの結果として選択されるアプリケーション鍵の利用方法は、再ネゴシエーション前と異なるものが選択され得る。
以上のように、本実施形態によれば、アプリケーション間で鍵共有ネットワークから提供されるアプリケーション鍵の鍵利用方法を決定することにより、鍵利用方法を事前に静的に決定することなく、アプリケーション鍵を利用して暗号通信を行なうことができる。
次に、本実施形態の変形例について説明する。
上述した実施形態では、主として、クライアントであるアプリケーション122Aが、サーバであるアプリケーション122Bに対してネゴシエーションを開始する場面を想定して説明した。しかしながら、アプリケーション122Aとアプリケーション122Bとの間でアプリケーション鍵の鍵利用方法を決定する方法はこれに限定されない。
本実施形態の変形例では、サーバであるアプリケーション122Bは、アプリケーション122Bが利用可能なアプリケーション鍵の鍵利用方法に関する情報を何らかの方法でクライアントであるアプリケーション122Aに対して予め通知する。アプリケーション122Aは、アプリケーション122Bから通知された情報を参照して、アプリケーション122A及びアプリケーション122Bの両方で利用可能なアプリケーション鍵の鍵利用方法の中から優先順位が最も高い鍵利用方法を「実際に利用するアプリケーション鍵の鍵利用方法」として選択する。アプリケーション122Aは、図4のシーケンス1において、送信する鍵利用方法リストに代えて、選択した鍵利用方法を示す情報をアプリケーション122Bに送信する。或いは、アプリケーション122Aは、アプリケーション122Bから通知された情報を参照して、アプリケーション122A及びアプリケーション122Bの両方で利用可能なアプリケーション鍵の鍵利用方法の中から優先順位が高い順に複数の鍵利用方法を選択してもよい。この場合、アプリケーション122Aは、シーケンス1において、選択した複数の鍵利用方法を含む鍵利用方法リストをアプリケーション122Bに送信する。そして、アプリケーション122Bは、シーケンス2において、受信した鍵利用方法リストの中から単一の鍵利用方法を選択し、選択した鍵利用方法を示す情報をアプリケーション122Aに送信する。このような方法も広義のネゴシエーションに含まれる。
なお、サーバであるアプリケーション122Bがアプリケーション122Bで利用可能なアプリケーション鍵の鍵利用方法に関する情報を予め通知する方法としては、例えば、鍵共有ネットワーク上に構築される各ノードに接続されるアプリケーションのアドレス情報を収集し共有するためのディレクトリサービスを利用することができる。この場合、アプリケーション122Bは、ノードにアプリケーション122Bで利用可能なアプリケーション鍵の鍵利用方法に関する情報、利用可能な暗号アルゴリズムに関する情報を通知する。これを受けてノードは、ディレクトリサービスに、アプリケーション122Bで利用可能なアプリケーション鍵の鍵利用方法に関する情報、利用可能な暗号アルゴリズムに関する情報を追記する。アプリケーション122Aは、ノードに対して問い合わせ、問合せを受けたノードがディレクトリサービスに問い合わせた結果を応答することにより、この情報(アプリケーション122Bで利用可能なアプリケーション鍵の鍵利用方法に関する情報、利用可能な暗号アルゴリズムに関する情報)を取得することができる。
さらに、暗号データ通信中にネゴシエーションを再度実行してアプリケーション鍵の鍵利用方法を変更或いは再選択する場合において、ネゴシエーションを開始するアプリケーションは、クライアントであるアプリケーション122Aであっても、サーバであるアプリケーション122Bであっても構わない。
上記各実施形態の少なくとも一部の処理は、汎用のコンピュータを基本ハードウェアとして用いることで実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記憶媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイル又は実行可能な形式のファイルとして記憶媒体に記憶される。記憶媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどを利用できる。記憶媒体は、プログラムを記憶でき、且つ、コンピュータが読み取り可能であれば、いかなる形態のものであってもよい。また、上記処理を実現するプログラムを、インターネット等のネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…暗号通信システム、110…鍵共有ネットワーク、112,112A〜112E,250,350…ノード、120…アプリケーションネットワーク、122,122A,122B,260,360…アプリケーション、201…ノード間通信部、202…アプリケーション鍵生成部、203…アプリケーション鍵保持管理部、204…状態管理部、205…アプリケーション通信部、206…制御部、207…ノードプラットフォーム部、301…ノード通信・鍵取得部、302…アプリケーション実行部、303…認証・暗号通信部、304…鍵利用方法決定部、305…アプリケーションプラットフォーム部。

Claims (10)

  1. 鍵取得部が、接続する鍵共有ネットワーク上の第1の鍵共有装置からアプリケーション鍵を取得することと、
    決定部が、前記鍵共有ネットワーク上の第2の鍵共有装置と接続する通信相手のアプリケーション装置との間で、1以上の鍵利用方法と優先度情報とを対応付けたメッセージを送信し、これに対する応答として、前記1以上の鍵利用方法に含まれる1つの鍵利用方法に関しての通知を受信することによって、採用する鍵利用方法を決定するネゴシエーション手続きを行なうことによって、前記アプリケーション鍵の鍵利用方法を決定することと、
    暗号通信部が、前記決定された鍵利用方法に従って、少なくとも、前記アプリケーション鍵の一部から暗号通信を行うための認証用の識別情報を、前記アプリケーション鍵の別の一部からデータ暗号化に用いる暗号鍵を取り出し、前記認証用の識別情報及び前記暗号鍵を用いることで暗号通信を行なうことと、
    を具備する通信方法。
  2. 前記鍵利用方法は、前記アプリケーション鍵から認証用の識別情報及びデータ暗号化に用いる暗号鍵を取り出す際の鍵の長さと、同じ認証用の識別情報を用いて繰り返しデータ暗号化通信を行う回数と、に関する情報を含む、請求項1に記載の通信方法。
  3. 前記ネゴシエーション手続きを行なうことは、前記鍵共有ネットワークを介して前記通信相手のアプリケーション装置とネゴシエーションを行なうことを備える請求項1に記載の通信方法。
  4. 前記ネゴシエーション手続きを行なうことは、前記鍵共有ネットワークとは異なるネットワークを介して前記通信相手のアプリケーション装置とネゴシエーションを行なうことを備える請求項1に記載の通信方法。
  5. 前記アプリケーション鍵が前記鍵共有ネットワークから受信されるスループットが変動した場合に、前記決定部が、前記通信相手のアプリケーション装置との間で前記ネゴシエーション手続きを再度行うことをさらに具備する請求項1に記載の通信方法。
  6. 前記鍵取得部は、前記接続する鍵共有ネットワーク上の第1の鍵共有装置からアプリケーション鍵を鍵ストリームとして取得し、前記鍵利用方法は、前記取得した鍵ストリームであるアプリケーション鍵を切り出す単位を示す情報を含む、請求項1に記載の通信方法。
  7. 前記暗号通信は、前記決定された鍵利用方法に従って、前記アプリケーション鍵のさらに他の一部から暗号通信するための認証用パスワード又はデータ認証用の鍵を取り出し、前記認証用パスワード又はデータ認証用の鍵をさらに用いることで暗号通信を行なう、請求項1に記載の通信方法。
  8. 接続する鍵共有ネットワーク上の第1の鍵共有装置からアプリケーション鍵を取得する鍵取得部と、
    前記鍵共有ネットワーク上の第2の鍵共有装置と接続する通信相手のアプリケーション装置との間で、1以上の鍵利用方法と優先度情報とを対応付けたメッセージを送信し、これに対する応答として、前記1以上の鍵利用方法に含まれる1つの鍵利用方法に関しての通知を受信することによって、採用する鍵利用方法を決定するネゴシエーション手続きを行なうことによって、前記アプリケーション鍵の鍵利用方法を決定する決定部と、
    前記決定された鍵利用方法に従って、少なくとも、前記アプリケーション鍵の一部から暗号通信を行うための認証用の識別情報を、前記アプリケーション鍵の別の一部からデータ暗号化に用いる暗号鍵を取り出し、前記認証用の識別情報及び前記暗号鍵を用いることで暗号通信を行う暗号通信部と、
    を具備するアプリケーション装置。
  9. コンピュータを、
    接続する鍵共有ネットワーク上の第1の鍵共有装置からアプリケーション鍵を取得する取得手段と、
    前記鍵共有ネットワーク上の第2の鍵共有装置と接続する通信相手のアプリケーション装置との間で、1以上の鍵利用方法と優先度情報とを対応付けたメッセージを送信し、これに対する応答として、前記1以上の鍵利用方法に含まれる1つの鍵利用方法に関しての通知を受信することによって、採用する鍵利用方法を決定するネゴシエーション手続きを行なうことによって、前記アプリケーション鍵の鍵利用方法を決定する決定手段と、
    前記決定された鍵利用方法に従って、少なくとも、前記アプリケーション鍵の一部から暗号通信を行うための認証用の識別情報を、前記アプリケーション鍵の別の一部からデータ暗号化に用いる暗号鍵を取り出し、前記認証用の識別情報及び前記暗号鍵を用いることで暗号通信を行う暗号通信手段として機能させるためのプログラム。
  10. 鍵共有ネットワーク上の第1の鍵共有装置と接続する第1のアプリケーション装置と前記鍵共有ネットワーク上の第2の鍵共有装置と接続する第2のアプリケーション装置との間で暗号通信を行う通信システムであって、
    前記第1のアプリケーション装置は、
    前記第1の鍵共有装置からアプリケーション鍵を取得する取得部と、
    前記第2のアプリケーション装置との間で、1以上の鍵利用方法と優先度情報とを対応付けたメッセージを送信し、これに対する応答として、前記1以上の鍵利用方法に含まれる1つの鍵利用方法に関しての通知を受信することによって、採用する鍵利用方法を決定するネゴシエーション手続きを行なうことによって、前記アプリケーション鍵の鍵利用方法を決定する決定部と、
    前記決定された鍵利用方法に従って、少なくとも、前記アプリケーション鍵の一部から暗号通信を行うための認証用の識別情報を、前記アプリケーション鍵の別の一部からデータ暗号化に用いる暗号鍵を取り出し、前記認証用の識別情報及び前記暗号鍵を用いることで前記第2のアプリケーション装置と暗号通信を行なう暗号通信部と、
    を具備する通信システム。
JP2015116717A 2015-06-09 2015-06-09 通信方法、アプリケーション装置、プログラム及び通信システム Active JP5992578B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015116717A JP5992578B2 (ja) 2015-06-09 2015-06-09 通信方法、アプリケーション装置、プログラム及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015116717A JP5992578B2 (ja) 2015-06-09 2015-06-09 通信方法、アプリケーション装置、プログラム及び通信システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012214087A Division JP2014068313A (ja) 2012-09-27 2012-09-27 通信方法、アプリケーション装置、プログラム及び通信システム

Publications (2)

Publication Number Publication Date
JP2015159619A true JP2015159619A (ja) 2015-09-03
JP5992578B2 JP5992578B2 (ja) 2016-09-14

Family

ID=54183228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015116717A Active JP5992578B2 (ja) 2015-06-09 2015-06-09 通信方法、アプリケーション装置、プログラム及び通信システム

Country Status (1)

Country Link
JP (1) JP5992578B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101771484B1 (ko) * 2015-10-07 2017-08-25 주식회사 텔큐온 보안 토큰을 효율적으로 사용하기 위한 서명 키 생성방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060062392A1 (en) * 2004-07-08 2006-03-23 Magiq Technologies, Inc. Key manager for QKD networks
JP2011044768A (ja) * 2009-08-19 2011-03-03 Nec Corp 秘匿通信システムにおける通信装置および通信制御方法
WO2012025988A1 (ja) * 2010-08-24 2012-03-01 三菱電機株式会社 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
WO2012025987A1 (ja) * 2010-08-24 2012-03-01 三菱電機株式会社 通信端末、通信システム、通信方法及び通信プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060062392A1 (en) * 2004-07-08 2006-03-23 Magiq Technologies, Inc. Key manager for QKD networks
JP2011044768A (ja) * 2009-08-19 2011-03-03 Nec Corp 秘匿通信システムにおける通信装置および通信制御方法
WO2012025988A1 (ja) * 2010-08-24 2012-03-01 三菱電機株式会社 暗号化装置、暗号化システム、暗号化方法及び暗号化プログラム
WO2012025987A1 (ja) * 2010-08-24 2012-03-01 三菱電機株式会社 通信端末、通信システム、通信方法及び通信プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014032982; 谷澤佳道,他: '量子鍵配送技術をモチーフとしたセキュアネットワークの一提案' 2012年電子情報通信学会通信ソサイエティ大会論文集2 , 20120828, p. 139, 一般社団法人電子情報通信学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101771484B1 (ko) * 2015-10-07 2017-08-25 주식회사 텔큐온 보안 토큰을 효율적으로 사용하기 위한 서명 키 생성방법

Also Published As

Publication number Publication date
JP5992578B2 (ja) 2016-09-14

Similar Documents

Publication Publication Date Title
JP5634427B2 (ja) 鍵生成装置、鍵生成方法およびプログラム
JP6223884B2 (ja) 通信装置、通信方法およびプログラム
US9083684B2 (en) Communication node, key synchronization method, and key synchronization system
US9306734B2 (en) Communication device, key generating device, and computer readable medium
EP2677682A1 (en) Key management system
JP5694247B2 (ja) 鍵生成装置、通信方法および通信システム
JP2016181814A (ja) 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP2019523595A (ja) データの複製先であるネットワークノードの識別
US9197608B2 (en) Communication method, application device, program, and communication system
JP6072806B2 (ja) グループメンバによるグループ秘密の管理
JP6076752B2 (ja) 通信装置、通信システムおよびプログラム
WO2015180604A1 (zh) 一种保密通信控制、保密通信方法及装置
JP2016171530A (ja) 通信装置、通信方法、プログラムおよび通信システム
CA3204279A1 (en) System and method for key establishment
US11563575B2 (en) Communication node, method of operating thereof and collaborative system
JP6054224B2 (ja) 通信装置、通信システム、通信方法およびプログラム
JP5992578B2 (ja) 通信方法、アプリケーション装置、プログラム及び通信システム
JP5784562B2 (ja) 通信装置およびプログラム
JP6211818B2 (ja) 通信装置、通信方法、プログラムおよび通信システム
JPWO2019026776A1 (ja) 暗号化通信装置、暗号化通信システム、暗号化通信方法、およびプログラム
JP2011114799A (ja) セキュリティシステム、中継装置、セキュリティ方法、及びプログラム
JP6139803B2 (ja) 通信制御装置、通信装置およびプログラム
JP2005080245A (ja) 情報開示制御方法及び情報開示制御システム及び通信装置及びセッション制御サーバ及び情報開示制御プログラム
JP2015097423A (ja) 通信装置、鍵生成装置、通信方法、プログラムおよび通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160523

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: 20160719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160817

R151 Written notification of patent or utility model registration

Ref document number: 5992578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151