JP6609212B2 - 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体 - Google Patents

暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体 Download PDF

Info

Publication number
JP6609212B2
JP6609212B2 JP2016066512A JP2016066512A JP6609212B2 JP 6609212 B2 JP6609212 B2 JP 6609212B2 JP 2016066512 A JP2016066512 A JP 2016066512A JP 2016066512 A JP2016066512 A JP 2016066512A JP 6609212 B2 JP6609212 B2 JP 6609212B2
Authority
JP
Japan
Prior art keywords
node
value
identification information
common key
password
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.)
Expired - Fee Related
Application number
JP2016066512A
Other languages
English (en)
Other versions
JP2017183932A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2016066512A priority Critical patent/JP6609212B2/ja
Publication of JP2017183932A publication Critical patent/JP2017183932A/ja
Application granted granted Critical
Publication of JP6609212B2 publication Critical patent/JP6609212B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、予めパスワード等の秘密情報を共有する2つのパーティ間でネットワークを介して通信を行う場合に、パスワード等の秘密情報に基づいて共通鍵を生成することで、お互いが正しい通信相手であることを認証して、共通鍵により暗号化された通信チャネルを確立する、暗号化通信チャネル確立システムに関する。
2つのパーティ間でネットワークを介して通信を行う場合に、お互いが正しい通信相手であることを認証して、情報を安全に送受信するための暗号化された通信チャネルを確立することが行われる。暗号化された通信チャネルを確立するために、TLS(Transport Layer Security)とその前任のSSL(Secure Socket Layer)を利用することが知られている。以下、簡単のため、SSL/TLSという。
SSL/TLSを利用する場合、公開鍵暗号方式を使用することを前提としている。このため、2つのパーティに対して、暗号化された通信チャネルを確立するために、例えばサーバの公開鍵を信用することが求められる。このため、サーバの公開鍵を認証するための第三者である認証局を必要とする。
また、SSL/TLSを利用する場合、SSL/TLSにより暗号化された通信チャネルを確立した後に、当該通信チャネルを介して、クライアントはパスワードをサーバに送信することで、サーバがクライアントの認証を行う必要がある。このように、SSL/TLSを利用する場合は、最初に暗号化された通信チャネルを確立し、次に確立された通信チャネルを介して、パスワードを送信することでクライアントの認証を行う2段階方式となる。
また、非特許文献1及び非特許文献2には、暗号化された通信チャネルを確立するための方式が提案されている。
非特許文献1においては、Diffie−Hellmanのパスワードに基づくDH−EKE方式(Diffie−Hellman Encrypted Key Exchange)の改良が提案されている。しかしながら、非特許文献1に記載された改良プロトコルは、TLSと統合可能なDiffie−Hellman鍵交換方式に基づくものであり、より複雑なプロトコルを用いている。
非特許文献2には、EAP−EKE(Extensible Authentication Protocol − Encrypted Key Exchange)が記載されている。EAP−EKEは、Diffie−Hellman鍵交換方式を使用して、HMAC(Hash−based Message Authentication Code)により、共有セッションキーを確立するものである。
Steiner,Michael,et al. "Secure passwaord−based cipher suite for TLS" ACM Transactions on Information and System Security 4.2(2001):134−157. RFC 6124 "An EAP Authentication Method Based on the Encrypted Key Exchange (EKE) Protocol."
従来技術(SSL/TLS)においては、クライアント及びサーバ間の通信において、予めユーザid及びパスワードが設定されている場合であっても、当該ユーザを認証するまでに上記のとおり2段階の手順を踏む必要があった。また、公開鍵を使用してサーバ認証を行うために、第三者である認証局の発行した証明書を必要とする複雑なプロセスを必要とした。さらに、SSL/TLSを使用するサーバでは、例えばハンドシェイクプロセスが処理性能的に重く、ハンドシェイクプロセスが同時期に複数発生した場合に備えて、アクセラレータを用意しておく必要があった。
このため、予めユーザ登録されている場合のクライアント及びサーバ間の通信において、第三者である認証局の発行した証明書を必要としない、シンプルなプロセスにより、暗号化された通信チャネルの確立とユーザ認証とを迅速に行うことが望まれる。
本発明は、あるノード(例えばクライアント)のユーザが他のノード(例えばサーバ)にアクセスするための識別情報(id)及びパスワード(pwC)が予め設定されている場合に、公開鍵及び第三者の認証局を必要とせず、共通鍵を生成し、共通鍵により暗号化された通信チャネルを確立するとともに、同時にノード(例えばクライアント)の認証を行うことができる、暗号化通信チャネル確立システムを提供することを目的とする。本発明において、共通鍵により暗号化された通信チャネルを確立することは、同時にノードの認証が成功したことを意味する。
本発明は、公開鍵を用いることなく、予め秘密(例えばパスワード)を共有する独立したエンティティ間における短時間の安全な通信チャネル確立のためのセッションキーを提供することを目的とする。
本発明では、以下のような解決手段を提供する。
本発明に係る暗号化通信チャネル確立システムは、上記課題を解決するために、第1のノード及び第2のノードがネットワークに接続され、前記第1のノードが前記第2のノードにアクセスするための識別情報とパスワードとが予め設定され、前記第1のノードと前記第2のノードとは、予め共通関数を共有し、前記第1のノードと前記第2のノードとが互いに生成する共通鍵により暗号化された通信チャネルを確立する暗号化通信チャネル確立システムであって、前記第1のノードは、前記第2のノードと一時的に共有する使い捨ての値を取得する第1使い捨て共有値取得部と、前記識別情報を前記第2のノードに送信する接続要求部と、前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第1共通鍵生成部と、を備え、前記第2のノードは、前記第1のノードから前記識別情報を受信する識別情報受信部と前記第1のノードと一時的に共有する使い捨ての値を取得する第2使い捨て共有値取得部と、前記識別情報受信部により受信した前記識別情報に基づいて、予め設定されたパスワードを取得するパスワード取得部と、前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第2共通鍵生成部と、を備える。
また、前記使い捨ての値は、前記第1のノード又は前記第2のノードがランダムに生成したノンスであって、前記第1のノード又は前記第2のノードにより前記第2のノード又は前記第1のノードに送信される前記ノンスとしてもよい。
前記第1のノードは、ランダムにノンスを生成し、前記ノンス又は前記ノンスを前記共通鍵により暗号化した暗号データをチャレンジデータとして前記第2のノードに送信し、前記第2のノードから受信したレスポンスデータを用いて前記第2のノードを認証する第1認証部を備え、前記第2のノードは、前記第1のノードから受信した前記チャレンジデータに基づいてレスポンスデータを生成し、前記レスポンスデータを前記第1のノードに送信する第2レスポンス部を備えるように構成することができる。
前記第2のノードは、ランダムにノンスを生成し、前記ノンス又は前記ノンスを前記共通鍵により暗号化した暗号データをチャレンジデータとして前記第1のノードに送信し、前記第1のノードから受信したレスポンスデータを用いて前記第1のノードを認証する第2認証部を備え、前記第1のノードは、前記第2のノードから受信した前記チャレンジデータに基づいてレスポンスデータを生成し、前記レスポンスデータを前記第2のノードに送信する第1レスポンス部を備えるように構成することができる。
前記共通関数は、一方向性関数又は暗号化関数であるようにしてもよい。
本発明に係る第1のノードは、ネットワークに接続される第1のノードであって、ネットワークに接続された第2のノードにアクセスするための識別情報とパスワードとが予め設定され、前記第2のノードと共有する共通関数を有し、前記第2のノードと一時的に共有する使い捨ての値を取得する第1使い捨て共有値取得部と、前記識別情報を前記第2のノードに送信する接続要求部と、前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第1共通鍵生成部と、を備える。
本発明に係る第2のノードは、ネットワークに接続された第2のノードであって、ネットワークに接続された第1のノードが前記第2のノードにアクセスするための識別情報とパスワードとが予め設定され、前記第1のノードと共有する共通関数を有し、前記第1のノードと一時的に共有する使い捨ての値を取得する第2使い捨て共有値取得部と、前記第1のノードから前記識別情報を受信する識別情報受信部と前記識別情報受信部により受信した前記識別情報に基づいて、予め設定されたパスワードを取得するパスワード取得部と、前記パスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第2共通鍵生成部と、を備える。
本発明に係る暗号化通信チャネル確立方法は、第1のノード及び第2のノードがネットワークに接続され、前記第1のノードが前記第2のノードにアクセスするための識別情報とパスワードが予め設定され、前記第1のノードと前記第2のノードとは、予め共通関数を共有し、前記第1のノードと前記第2のノードとが互いに生成する共通鍵により暗号化された通信チャネルを確立する暗号化通信チャネル確立方法であって、前記第1のノードが、前記第2のノードと一時的に共有する使い捨ての値を取得する第1使い捨て共有値取得ステップと、前記識別情報を前記第2のノードに送信する接続要求ステップと、前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第1共通鍵生成ステップと、を備え、前記第2のノードが、前記第1のノードから、前記識別情報を受信する識別情報受信ステップと前記第1のノードと一時的に共有する使い捨ての値を取得する第2使い捨て共有値取得ステップと、前記識別情報受信ステップにより受信した前記識別情報に基づいて、予め設定されたパスワードを取得するパスワード取得ステップと、前記パスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第2共通鍵生成ステップと、を備える。
本発明に係るプログラムは、コンピュータを前記第1のノード又は前記第2のノードとして機能させる。
本発明に係るコンピュータ読取り可能なプログラム記録媒体は、前記プログラムが記録される。
本発明によれば、第1のノード(例えばクライアント端末)が第2のノード(例えばサーバ)にアクセスするための識別情報及びパスワードが予め設定されている場合に、公開鍵及び第三者の認証局を必要とせず、共通鍵を生成し、共通鍵により暗号化された通信チャネルを確立するとともに、同時にノードの認証を行うことができる。
本発明の実施形態に係る、暗号化通信チャネル確立システムにおける全体構成図である。 本発明の第1実施形態に係る第1のノードの機能構成を示すブロック図である。 本発明の第1実施形態に係る第2のノードの機能構成を示すブロック図である。 本発明の第1実施形態において、第1のノード及び第2のノードにおける、暗号化された通信チャネルの確立についての説明に供するフローチャートである。 本発明の第1実施形態の変形例に係る第1のノードの機能構成を示すブロック図である。 本発明の第1実施形態の変形例に係る第2のノードの機能構成を示すブロック図である。
本発明における暗号化された通信チャネル確立のためのプロトコルは、SSL/TLSの代用となるものではない。むしろ、本発明のプロトコルは、アプリケーション層における暗号化された通信チャネルの確立と認証とを同時に行うように働くものとなる。特に断らない限り、「暗号」は、ブロック暗号又はストリームにおける暗号を意味する。
最も重要な点は、本発明のプロトコルは、第1のノード(例えばクライアント)と第2のノード(例えばサーバ)とが秘密情報(例えばパスワード)を事前に共有することを前提とする点にある。この場合、秘密情報(例えばパスワード)をセキュアに管理することは第2のノード(例えばサーバ)の責任となる。
なお、パスワードそのものではなく、パスワードのハッシュを第2のノード(例えばサーバ)に格納することは、本発明にとっては十分ではない。本発明においては、第2のノード(例えばサーバ)が、暗号化された通信チャネルを確立するために、実際のパスワードの値そのものを必要とする。このように、本発明においては、第1のノード(例えばクライアント)と第2のノード(例えばサーバ)とは、予めパスワード(pwC)を共有しているものとする。
<第1実施形態>
以下、本発明の実施形態の一例である第1実施形態について説明する。図1に示すように、本実施形態に係る暗号化通信チャネル確立システム1は、第1のノード10、第2のノード20、及び通信網30から構成される。
第1のノード10及び第2のノード20は、それぞれCPU等の制御部110、210、記憶部120、220、及び通信部130、230等を含む任意の電子機器とする。典型的には、公知のコンピュータ、例えば、マイクロコンピュータ、スマートフォン、携帯電話等の携帯端末、タブレット端末、ノートパソコン、パソコン、サーバー、及びルーター等の通信機器を含む。
第1のノード10(のノードユーザ)が第2のノード20にアクセスするための識別情報(id)とパスワード(pwC)が予め設定されているものとする。
例えば、第1のノード10がクライアント端末、第2のノード20がサーバの場合、クライアント端末(第1のノード10)におけるノードユーザの識別情報(id)とパスワード(pwC)が予めサーバ(第2のノード20)に設定されていることで、本発明を適用できる。
特に、Webブラウザ(第1のノード10)とWebサーバ(第2のノード20)から構成されるクライアントサーバシステムにおいては、ユーザの識別情報(id)とパスワード(pwC)によりアクセス管理することが一般的なことから、本発明を適用できる。
また、オペレータ(ユーザ)が介在しない、マシンとマシンとの間の通信においても、例えば、あるマシン(第1のノード10)が別のマシン(第2のノード20)にアクセスするために、予め識別情報(id)とパスワード(pwC)とが設定されているものであれば本発明を適用することができる。
また、第1のノード10を例えば無線端末とし、第2のノード20を例えばWiFi(登録商標)ルータのような無線LANルータとした場合、第1のノード10(無線端末)の識別情報(id)とパスワード(pwC)が予め第2のノード20(無線LANルータ)に設定されているものであれば本発明を適用することができる。
また、IOT(Internet Of Things)においても、インターネットに接続し相互に通信する際に、識別情報(id)とパスワード(pwC)により、アクセスコントロールされる場合、本発明を適用することができる。
以上のように、第1実施形態では、第1のノード10(のノードユーザ)が第2のノード20にアクセスするための識別情報(id)とパスワード(pwC)が予め設定されていることを前提とする。以下、簡単のため、第1のノード10(のノードユーザ)が第2のノード20にアクセスするための識別情報(id)とパスワード(pwC)を、第1のノード10から第2のノード20にアクセスするための識別情報(id)とパスワード(pwC)とも言う。
<ノンスについて>
第1のノード10及び第2のノード20の説明に先立ち、ノンスについて説明する。
ノンスとは、暗号通信等で用いられる一度きりの使い捨てのランダムな値を意味する。したがって、第1のノード10又は第2のノード20がノンスを生成する場合、生成されるノンスの値は、生成されるたびに異なる「一度きり」のものとなる。
「一度きり」であることを担保するために、例えば、ノンスの生成手段として、十分なエントロピーを持った乱数を生成する乱数生成手段を、生成される乱数が重複する可能性を現実的でないほどに下げるように構成することが好ましい。また、ノンスを例えば、できるだけ粒度の細かいタイムスタンプから生成することで、重複する可能性を現実的でないほどに下げるように構成してもよい。
<第1のノード10について>
第1のノード10について、図2を参照しながら説明する。
図2は、本実施形態に係る第1のノード10の機能構成を示すブロック図である。
第1のノード10は、制御部110(例えば、CPU)と、記憶部120と、通信部130と、を備える。
制御部110は、記憶部120と、通信部130とを含むハードウェア群の全体を制御する機能部である。
制御部110は、接続要求部111と、第1使い捨て共有値取得部112と、パスワード取得部113と、第1共通鍵生成部114と、第1認証部115と、を備える。これらの各部は、例えば、第1のノード10の記憶部120に格納されたアプリケーションを制御部110が実行することにより機能するように構成することができる。
接続要求部111は、第2のノード20との間で暗号化された通信チャネルを確立するに際して、第1のノード10のノードユーザの識別情報(id)を通信部130を介して第2のノード20に送信する。
なお、識別情報(id)については、第1のノード10の入力部(図示せず)を介してノードユーザにより入力されてもよい。また、ユーザ(オペレータ)が介在しない、又は自動的に処理する場合、識別情報(id)を予め記憶部120に記憶しておき、記憶部120から識別情報(id)を入力するように構成してもよい。
第1使い捨て共有値取得部112は、第2のノード20と一時的に共有する使い捨ての値(r1)を取得する。
具体的には、第1使い捨て共有値取得部112は、第2のノード20の第2使い捨て共有値取得部212により生成されるノンスを一時的に共有する使い捨ての値(r1)として通信部130を介して取得する。
パスワード取得部113は、識別情報(id)に対応するパスワード(pwC)を取得する。具体的には、パスワード取得部113は、第1のノード10の入力部(図示せず)を介してノードユーザにより入力されるパスワードを取得するように構成してもよい。また、ユーザ(オペレータ)が介在しない場合、又は自動的に処理する場合、識別情報に対応するパスワードを予め記憶部120に記憶しておき、パスワード取得部113は、記憶部120からパスワードを入力するように構成してもよい。
第1共通鍵生成部114は、第1のノード10のノードユーザの識別情報(id)に対応するパスワード(pwC)と第1使い捨て共有値取得部112により取得された使い捨ての値(r1)とに基づいて、第1のノード10と第2のノード20とが共有する共通関数により共通鍵(k)を生成する。
[共通関数について]
第1のノード10と第2のノード20とが共有する共通関数について説明する。
共通関数としては、例えばRBKDF2(Passwod−Based Key Derivation Function 2)関数のような一方向性関数を適用することができる。例えば、RBKDF2関数を適用する場合、RBKDF2関数に入力されるパスワードをpwC、ソルト(Salt)をr1とすることで、共通鍵(k)を生成するように構成することができる。
すなわち、パスワードをpwC、使い捨ての値をr1、RBKDF2関数をH()、生成される共通鍵をkとした場合、共通鍵(k)は、式1により算出される。
k = H(pwC,r1) (式1)
また、共通関数として、第1のノード10及び第2のノード20が備える共通の暗号化関数Enc()を適用してもよい。例えば、暗号化関数Enc()を適用する場合、暗号化関数Enc()に入力される暗号鍵をpwC、平文をr1とすることで、共通鍵(k)を生成するように構成することができる。
すなわち、パスワードをpwC、使い捨ての値をr1とした場合、共通鍵(k)は式2により算出される。
k = Enc(r1,pwC) (式2)
共通関数として暗号化関数を用いる場合、第1のノード10及び第2のノード20は、暗号化関数以外の共通関数をインストールする必要がなく、第1のノード及び第2のノードの初期設定を効率的に行うことができる。
なお、共通関数は上記の例に限定されない。例えば、任意の一方向性関数又は暗号化関数を選択することができる。
第1認証部115は、ランダムにノンスを生成し、第1共通鍵生成部114により生成された共通鍵により暗号化したノンスをチャレンジデータとして通信部130を介して第2のノード20に送信し、第2のノード20から受信したレスポンスデータを用いて第2のノード20を認証する。
より具体的には、第1認証部115は、ランダムに生成したノンス(r2)を第1共通鍵生成部114により生成された共通鍵(k)により暗号化することで、チャレンジデータを生成する。第1認証部115は、生成したチャレンジデータを通信部130を介して第2のノード20に送信する。後述するように、第2のノード20では、受信したチャレンジデータを第2のノード20の第2共通鍵生成部214により生成された共通鍵(k)により復号したレスポンスデータを生成し、レスポンスデータを第1のノード10(第1認証部115)に返信する。第1認証部115は、第2のノード20から受信したレスポンスデータが、チャレンジデータの元データ(ランダムに生成したノンス)と同じ値であるか否かを判定する。レスポンスデータがチャレンジデータの元データ(ランダムに生成したノンス)と同じ値である場合、第1認証部115は、第2のノード20が正しいパスワード(pwC)を知っていると判断して、第2のノード20を信頼できるものと認証する。
記憶部120は半導体メモリやハードディスクドライブ等で構成されており、オペレーティングシステム(OS)やアプリケーションと呼ばれるソフトウェアが保存される。
通信部130は、例えば、LAN(Local Area Network)、WAN(Wide Area Netowark)、インターネット回線、有線回線、無線回線等の任意の通信網30に接続し、相互にパケットデータ等の送受信(データ通信)を行う通信プロトコル等を実装する。
<第2のノード20について>
第2のノード10について、図3を参照しながら説明する。
図3は、本実施形態に係る第2のノード20の機能構成を示すブロック図である。
第2のノード20は、第1のノード10と同様に、制御部210(例えば、CPU)と、記憶部220と、通信部230と、を備える。
制御部210は、記憶部220と、通信部230とを含むハードウェア群の全体を制御する機能部である。
制御部210は、識別情報受信部211と、第2使い捨て共有値取得部212と、パスワード取得部213と、第2共通鍵生成部214と、第2レスポンス部216と、を備える。これらの各部は、例えば、第2のノード20の記憶部220に格納されたアプリケーションを制御部210が実行することにより機能するように構成することができる。
識別情報受信部211は、第1のノード10から識別情報(id)を通信部230を介して受信する。
第2使い捨て共有値取得部212は、ランダムにノンス(r1)を生成し、生成したノンスを使い捨ての値とする。
第2使い捨て共有値取得部212は、生成したノンス(r1)を通信部230を介して、第1のノード10(第1使い捨て共有値取得部112)に送信する。そうすることで、第1のノード10及び第2のノード20は、一時的に共有する使い捨ての値(r1)を共有することができる。
パスワード取得部213は、第1のノード10から受信した識別情報(id)に基づいて、予め設定されたパスワード(pwC)を取得する。具体的には、セキュアな記憶部(図示せず)から第1のノード10から受信した識別情報(id)に基づいて、予め設定されたパスワード(pwC)を取得する。なお、セキュアな記憶部は第2のノードが備えてもよい。また、第2のノードとは別のファイルサーバが備えるようにしてもよい。
第2共通鍵生成部214は、パスワード取得部213により取得されたパスワード(pwC)と第2使い捨て共有値取得部により生成された使い捨ての値(r1)とに基づいて、共通関数により共通鍵を生成する。ここで、共通関数は、前述したように、第1のノード10と第2のノード20とが、予め共有する関数である。
こうすることで、第1のノード10から第2のノード20にアクセスするためのパスワード(pwC)が予め設定されている場合、第2共通鍵生成部214により生成された共通鍵(k)と第1共通鍵生成部114により生成された共通鍵(k)とは、同じ値となる。
第2レスポンス部216は、第1のノード10から通信部230を介して受信した暗号化されたノンス(チャレンジデータ)を、第2共通鍵生成部214により生成された共通鍵(k)により復号したレスポンスデータを生成し、レスポンスデータを第1のノード10に送信する。
こうすることで、第1のノード10は、第2のノード20が信頼できるものかどうかを認証することができる。
記憶部220は半導体メモリやハードディスクドライブ等で構成されており、オペレーティングシステム(OS)やアプリケーションと呼ばれるソフトウェアが保存される。
通信部130は、例えば、LAN(Local Area Network)、WAN(Wide Area Netowark)、インターネット回線、有線回線、無線回線等の任意の通信網30に接続し、相互にパケットデータ等の送受信(データ通信)を行う通信プロトコル等を実装する。
以上、第1のノード10及び第2のノード20の機能構成を説明した。
<フローチャートによる動作説明>
次に、図4を参照して、本発明の一実施形態に係る第1のノード10及び第2のノード20間の処理の流れを説明する。図4は、処理の一例を示すフローチャートである。
ここでは、共通関数として、RBKDF2関数を適用した。
また、第1のノード10と第2のノード20とが一時的に共有する使い捨ての値については、第2使い捨て共有値取得部212がランダムに生成したノンス(r1)を、第1ノードの第1使い捨て共有値取得部112に送信する方式を適用した。
なお、第1のノード10(例えばクライアント)と第2のノード20(例えばサーバ)とは、予め識別情報(id)及びパスワード(pwC)を予め共有しているものとする。
[共通鍵の生成]
ステップST101において、第1のノード10(接続要求部111)は、第1のノード10のノードユーザの識別情報(id)を第2のノード20に送信する。
ステップST201において、第2のノード20(識別情報受信部211)は、第1のノード10から識別情報(id)を受信する。
ステップST202において、第2のノード20(第2使い捨て共有値取得部212)は、ランダムにノンス(r1)を生成し、使い捨ての値とし、第1のノード10に送信する。
ステップST203において、第2のノード20(パスワード取得部213)は、受信した識別情報(id)に基づいて、予め設定されたパスワード(pwC)を取得する。
ステップST204において、第2のノード20(第2共通鍵生成部214)は、予め設定されたパスワード(pwC)と第2使い捨て共有値取得部212により生成された使い捨ての値(r1)とに基づいて、共通関数(H)により共通鍵(k)(=H(pwC,r1))を生成する。
ステップST102において、第1のノード10(第1使い捨て共有値取得部112)は、第2のノード20(第2使い捨て共有値取得部212)から送信される使い捨ての値(r1)を受信することで、取得する。
ステップST103において、第1のノード10(第1共通鍵生成部114)は、識別情報(id)に対応するパスワード(pwC)と第1使い捨て共有値取得部112により取得された使い捨ての値(r1)とに基づいて共通関数(H)により共通鍵(k)(=H(pwC,r1))を生成する。
[第1のノード10による第2のノード20の認証]
ステップST104において、第1のノード10(第1認証部115)は、ランダムにノンス(r2)を生成する。
ステップST105において、第1のノード10(第1認証部115)は、共通鍵(k)により暗号化したノンスをチャレンジデータ(c1)(=Enc(r2、k))として、第2のノード20に送信する。
ステップST205において、第2のノード20(第2レスポンス部216)は、第1のノード10から受信したチャレンジデータ(c1)を共通鍵(k)により復号したレスポンスデータ(Dec(c1、k))を生成し、第1のノード10に送信する。
ステップST106において、第1のノード10(第1認証部115)は、第2のノード20から受信したレスポンスデータ(Dec(c1、k))がチャレンジデータの元データ(r2)と同じ値であるか否かを判定する。レスポンスデータ(Dec(c1、k))がチャレンジデータの元データ(r2)と同じ値である場合(Yesの場合)ステップST107に移る。レスポンスデータがチャレンジデータの元データ(ランダムに生成したノンスr2)と異なる値の場合(Noの場合)ステップST101に戻る。
ステップST107において、第1のノード10と第2のノード20との間で、共通鍵(k)により暗号化される通信チャネルが確立されるとともに、第2ノードが信頼できることが認証されたことになる。
[第2のノード20による第1のノード10の認証]
第1のノード10(第1認証部115)が、第2のノード20を信頼できるものと認証できたことで、共通鍵(k)により暗号化される通信チャネルが確立することができる。第2のノード20による第1のノード10の認証についても実質的に完了しているとみなすことができる。
これは、共通鍵(k)が、第1のノード10及び第2のノード20のみが知るパスワード(pwC)により生成されたことに基づく。
以上のように、共通鍵(k)により暗号化される通信チャネルがアプリケーション層に確立されて以降の第1のノード10のアプリケーションと第2のノード20のアプリケーションとの間のデータの送受信は、共通鍵(k)により暗号化される通信チャネル(「暗号化通信チャネル」という)を介して行われるように構成される。
具体的には、第1のノード10のアプリケーション(又は第2のノード20のアプリケーション)が平文を第2のノード20のアプリケーション(又は第1のノード10のアプリケーション)を宛先として送信すると、暗号化通信チャネルにおいて、平文が共通鍵(k)により暗号化され、通信網を伝送される。その後、暗号化通信チャネルにおいて、暗号文が共通鍵(k)により復号され、第2のノード20のアプリケーション(又は第1のノード10のアプリケーション)に平文が引き渡される。
本発明の共通鍵(k)により暗号化される通信チャネルは、第1のノード10と第2のノード20におけるアプリケーション層において、第1のノード10または第2のノード20から相手先(第2のノード10または第1のノード20)に向けて送信されるメッセージは暗号化され、第1のノード10または第2のノード20が相手先(第2のノード10または第1のノード20)から受信するメッセージは復号される。
このように、第1のノード10と第2のノード20との間で、トランスポート層のSSL/TLSを置き換えることなく、アプリケーション層においてアプリケーションデータを、共通鍵(k)により暗号化された状態で送受信することができる。
以上、本発明の実施形態の一例である第1実施形態について説明したが、本発明は、上述した実施形態に限定されるものではない。次に、第1使い捨て共有値取得部112及び第2使い捨て共有値取得部212の別実装例について説明する。
<第1使い捨て共有値取得部112及び第2使い捨て共有値取得部212の変形例1>
第1実施形態においては、第2ノードの第2使い捨て共有値取得部212がランダムに生成したノンス(r1)を、第1ノードの第1使い捨て共有値取得部112に送信することにより、当該ノンス(r1)を第1のノード10と第2のノード20とが一時的に共有する使い捨ての値とした。
これに対して、第1ノード10の第1使い捨て共有値取得部112がランダムに生成したノンスを、第2ノード20に送信することにより、当該ノンスを第1のノード10と第2のノード20とが一時的に共有する使い捨ての値としてもよい。
<第1使い捨て共有値取得部112及び第2使い捨て共有値取得部212の変形例2>
[カウンタ値による、一時的に共有する使い捨ての値について]
ノンスの生成に替えて、カウンタ値を用いて一時的に共有する使い捨ての値を生成するようにしてもよい。この場合、第1のノード10が第1カウンタ(図示せず)を備え、第2のノード20が第2カウンタ(図示せず)を備え、第1カウンタと第2カウンタとが同期を取ることにより、第1カウンタの値(第1カウンタ値)と第2カウンタの値(第2カウンタ値)とが、常に同じ値となるように構成する。そうすることで、第1カウンタの値及び第2のカウンタの値をそれぞれ第1のノード10及び第2のノード20が「一度限り」の一時的に共有する使い捨ての値を取得することができる。
具体的には、第1カウンタ及び第2カウンタの初期設定において、第1カウンタの値及び第2カウンタの値を例えば1になるように初期設定する。その後、例えば共通鍵を生成するたび(又は、共通鍵(k)をリセットするたび)に、第1ノード及び第2ノードは、それぞれ第1カウンタ及び第2カウンタをインクリメントさせることで、第1カウンタ及び第2カウンタとが同期を取るように構成する。なお、インクリメントするタイミングは、共通鍵(k)を生成する前又は共通鍵を生成した後に統一することが好ましい。
[共通鍵の生成について]
第1使い捨て共有値取得部112及び第2使い捨て共有値取得部212をカウンタを用いて構成する場合、第1共通鍵生成部114及び第2共通鍵生成部214による共通鍵(k)の生成について説明する。
共通関数として、RBKDF2関数を適用した場合、第1カウンタ及び第2カウンタの値がi番目(i≧1)の値(i)を示しているとき、パスワードをpwC、RBKDF2関数をH()とすると、第1共通鍵生成部114及び第2共通鍵生成部214により生成される共通鍵(k)は、式3により算出される。
= H(pwC,i) (式3)
また、共通関数として、暗号化関数を適用した場合、第1カウンタ及び第2カウンタの値がi番目(i≧1)の値(i)を示しているとき、パスワードをpwC、暗号化関数をEnc()とすると、第1共通鍵生成部114及び第2共通鍵生成部214により生成される共通鍵(k)は、暗号鍵をpwC、平文をiとすることで、式4により算出される。
= Enc(i,pwC) (式4)
このように第1ノードの第1使い捨て共有値取得部112及び第2ノードの第2使い捨て共有値取得部212は、ノンスをお互いに送付することなく、第1カウンタの示すカウント値及び第2カウンタの示すカウント値をそれぞれ、第1のノード10と第2のノード20とが「一度限り」の一時的に共有する使い捨ての値とするように構成することができる。
<第1認証部115の別実装例>
次に、第1認証部115の別実装例について説明する。
第1実施形態においては、第1認証部115は、ランダムにノンスを生成し、共通鍵(k)により暗号化したノンスをチャレンジデータとして、第2のノード20に送信し、第2のノード20から受信したレスポンスデータを用いて、第2のノード20を認証した。
これに対して、第1認証部115は、ランダムにノンスを生成し、生成したノンスを平文のままチャレンジデータとして、第2のノード20に送信し、第2のノード20から受信したレスポンスデータを用いて第2のノード20を認証するようにしてもよい。
より具体的には、第1認証部115は、ランダムに生成したノンスを平文のままチャレンジデータとして、第2のノード20に送信する。これに対して第2のノード20(第2レスポンス部216)は、受信したチャレンジデータを共通鍵(k)により暗号化したレスポンスデータを生成し、第1のノード10に返信する。
そうすることで、第1認証部115は、第2のノード20(第2レスポンス部216)から受信したレスポンスデータを共通鍵(k)により復号したデータの値が、チャレンジデータ(ランダムに生成したノンス)の値と同じ値であるか否かを判定する。レスポンスデータを共通鍵(k)により復号したデータの値が、チャレンジデータ(ランダムに生成したノンス)の値と同じ値である場合、第1認証部115は、第2のノード20が正しいパスワード(pwC)を知っていると判断して、第2のノード20を信頼できるものと認証することができる。
上記のとおり、第2レスポンス部216は、第1のノード10から受信したチャレンジデータを、共通鍵(k)により暗号化したデータをレスポンスデータとして、第1のノード10に送信するように構成される。
第1認証部115は、チャレンジデータを、平文のままとするか又は共通鍵で暗号化するか、を選択的に利用可能とすることができる。
このために、第1認証部115は、チャレンジデータが平文のままであるか又は共通鍵で暗号化されているかを識別するための識別子をチャレンジデータに付加したデータを第2のノード20に送信するように構成してもよい。
この場合、第2レスポンス部216は、識別子に基づいて、レスポンスデータを生成するように構成される。
<第2のノードによる第1のノードの認証について(その1)>
第1実施形態においては、第1のノード10(第1認証部115)が、第2のノード20を信頼できるものと認証できたことで、共通鍵(k)により暗号化される通信チャネルが確立され、第2のノードによる第1のノードの認証を省略した。
これに対して、第2のノードによる第1のノードの認証を行うようにしてもよい。
この場合、第2のノード20が第1のノード10を認証する方式として、例えば、第2使い捨て共有値取得部212により生成され、第1のノード10に送付済みのノンス(r1)を再利用してもよい。
具体的には、第1のノード10は、ノンス(r1)を共通鍵(k)により暗号化して、第2のノード20に送信する。第2のノード20は、第1のノード10から受信したデータを共通鍵(k)により復号(Dec(c2、k))し、復号されたデータ(Dec(c2、k))がノンス(r1)と同じ値であるか否かを判定する。復号されたデータ(Dec(c2、k))がノンス(r1)と同じ値である場合、第2のノード20は、第1のノード10(のノードユーザ)が予め設定された識別情報とパスワードの持ち主であることを認証することができる。
<第2のノードによる第1のノードの認証について(その2)>
第1実施形態においては、第1のノード10及び第2のノード20がそれぞれ共通鍵(k)を生成した後、第1のノード10(第1認証部115)がチャレンジデータを作成し、第2のノード20からレスポンスを受信することで、第2のノード20を認証した。
これに対して、第1のノード10及び第2のノード20がそれぞれ共通鍵(k)を生成した後、第2のノード10がチャレンジデータを作成し、第1のノード10からレスポンスを受信することで、第1のノード10を認証するように構成してもよい。
特に、一時的に共有する使い捨ての値(r1)を第1のノード10(第1使い捨て共有値取得部112)が生成し、第1のノード10及び第2のノード20がそれぞれ、前記一時的に共有する使い捨ての値(r1)とパスワード(pwC)とに基づいて、共通鍵(k)を生成する場合に、第2のノード20が第1のノード10を認証するように構成することが好ましい。
より具体的には、図5及び図6に示すように、第2のノード20は第1のノード10を認証するために第2認証部215を備える。また、第1のノードは第1レスポンス部116を備える。
第2認証部215は、ランダムにノンスを生成し、共通鍵(k)により暗号化したノンスをチャレンジデータとして、通信部230を介して第1のノード10(第1レスポンス部116)に送信する。
第1レスポンス部116は、第2のノード20(第2認証部215)から通信部130を介して受信した暗号化されたノンス(チャレンジデータ)を、共通鍵(k)により復号したレスポンスデータを生成し、第2のノード20(第2認証部215)に送信する。
第2認証部215は、第1のノード20(第1レスポンス部116)から受信したレスポンスデータを用いて第1のノード10を認証する。
こうすることで、第2認証部215は、第1のノード10が信頼できるものかどうかを認証することができる。
なお、第2認証部215は、前述した第1認証部115の別実装例と同様に、ランダムにノンスを生成し、生成したノンスを平文のままチャレンジデータとして、第1のノード10(第1レスポンス部116)に送信し、第1のノード10(第1レスポンス部116)から受信したレスポンスデータを用いて第1のノード10を認証するように構成してもよい。
第2認証部215の機能は、前述した第1認証部115の機能説明において、「第1」を「第2」に読み替え、また「第2」を「第1」に読み替えることで説明できるため、詳細な説明は省略する。
同様に、第1レスポンス部116の機能は、前述した第2レスポンス部216の機能説明において、「第2」を「第1」に読み替え、また「第1」を「第2」に読み替えることで説明できるため、詳細な説明は省略する。
<SSL/TLSプロトコルを用いた識別情報及びパスワードの初期設定>
第1実施形態においては、第1のノード10と第2のノード20とは、予めパスワードを共有していることが前提であった。これに対して、SSL/TLSプロトコルを利用して、第1のノード10と第2のノード20とが、識別情報及びパスワードを初期設定する一例について説明する。
[初めてのアクセス時]
第1のノード10のノードユーザが初めて第2のノード20にアクセスするときは、SSL/TLSプロトコルを利用して、第1のノードと第2のノードとの間で、第2のノード20の公開鍵を使用して、第2のノード20の認証を行い、暗号化された通信チャネルを確立する。
第1のノード10と第2のノード20との間で暗号化された通信チャネルが確立された後、当該通信チャネルを用いて、第1のノード10と第2のノード20間で、第1のノード10のノードユーザの識別情報(id)及びパスワード(pwC)を初期設定し、第2のノード20は、識別情報(id)とパスワード(pwC)を例えばセキュアに記憶する。
こうすることで、第1のノード10のノードユーザの識別情報(id)とパスワード(pwC)が、第2のノード20に設定されている状態となる。
第1のノード10のノードユーザの識別情報(id)とパスワード(pwC)が、第2のノード20に設定されて以降の第1のノード10から第2のノード20への接続には、パスワード(pwC)に基づく暗号化された通信チャネル確立システム1を適用することができる。
このように、第1のノード10と第2のノード20との間で、識別情報(id)及びパスワード(pwC)が設定されていない場合に、最初に、SSL/TLSを用いて識別情報(id)及びパスワード(pwC)を設定することで、2回目以降の第1のノード10から第2のノード20への接続においては、公開鍵及び第三者の認証局を必要とせず、パスワード(pwC)に基づく共通鍵を生成し、共通鍵により暗号化された通信チャネルを確立するとともに、同時にノードの認証を行うことができる。
<第1実施形態の効果>
以上のように、本実施形態によれば、第1のノード10及び第2のノード20は、通信路上で識別情報(id)と一時的に共有する使い捨ての値(r1)を送受信することで、予め共有する秘密情報であるパスワードと「一度限り」の一時的に共有する使い捨ての値とに基づいて、それぞれ共通鍵を生成する第1共通鍵生成部114及び第2共通鍵生成部214と、を備える。
これにより、公開鍵及び第三者の認証局を必要とせず、証明書発行コストを不要とするとともに、証明書に伴うやりとりの負荷が軽減され、共通鍵により暗号化された通信チャネルを安価に容易に確立することができる。
また、仮に第三者が通信路上に送受信されるデータ(識別情報(id)と一時的に共有する使い捨ての値(r1))を盗聴できたと仮定しても、第三者はパスワード(pwC)を知らない限り、共通鍵(k)を生成することはできず、また、暗号化された通信チャネルを確立する毎に異なる共通鍵が生成されることから、安全性を十分に担保することができる。
また、第1のノード10のノードユーザーが複数いる場合に、あるノードユーザーのパスワードが破られた場合であっても、当該ノードユーザー以外の他のノードユーザーと第2のノード20との間に確立された、暗号化された通信チャネルを脅かすものではないことから、独立して安全性を担保することができる。
また、第1のノード10及び第2のノード20とがパスワードを共有するシステムであれば、本実施形態を適用できることから、クライアントサーバ型のシステムはもとより、WebブラウザとWebサーバ型のシステム、マシン対マシン型のシステム、無線端末と無線LAN機器との接続、さらにはIOT(Internet Of Things)等幅広く適用可能であり、社会的なインフラ基盤として、幅広く提供することができる。
また、第1のノード10は、チャレンジデータ(r2)を共通鍵(k)により暗号化し、第2のノード20に送信し、第2のノード20において共通鍵(k)により復号されたレスポンスデータ(r2)を受信することで、第2のノード20を認証する。
これにより、第1のノード10と第2のノード20との間で、パスワードに基づいて生成される共通鍵による暗号化された通信チャネルを確立できることが、実質的に各ノードの認証の成功を含む。これにより、暗号化された通信チャネルの確立とノードの認証とを、1段階で実行することができる。
また、暗号化通信チャネル確立システム1は、共通関数として、汎用的な一方向性関数又は暗号化関数を利用することができるので、用途に応じて、任意の共通関数を利用することができる汎用性を備える。
以上、本発明の実施形態についてその構成要素の変形例を含めて説明したが、本発明は上述した実施形態に限るものではない。
<第2実施形態>
第1実施形態において、第1共通鍵生成部114及び第2共通鍵生成部214は、パスワード(pwC)及び一時的に共有する使い捨ての値(r1)に基づいて、1個の共通鍵(k)を生成した(式1〜式4)。
これに対して、第1共通鍵生成部114及び第2共通鍵生成部214は、共通鍵(k)に基づいて、さらに、別の共通鍵(k´)を生成するように構成してもよい。
例えば、第1使い捨て共有値取得部112及び第2使い捨て共有値取得部212によりr1とは別の一時的に共有する使い捨ての値(r1´)を取得することにより、RBKDF2関数に入力されるパスワードを共通鍵(k)、ソルト(Salt)をr1´とすることで、式5により共通鍵(k)から別の共通鍵(k´)を生成するように構成することができる。
k´ = H(k,r1´) (式5)
こうすることで、第1共通鍵生成部114及び第2共通鍵生成部214は、2つの共通鍵k=H(pwC,r1)及びk´=H(k,r1´)を生成することができる。
ここで、r1´として、例えば第1のノード10(第1認証部115)の生成したチャレンジデータとなるノンス(r2)を用いてもよい。
同様に、「一度限り」の一時的に共有する使い捨ての値として、第1カウンタ及び第2カウンタの表すカウンタ値を適用する場合、第1カウンタ及び第2カウンタをそれぞれ、インクリメントさせることで、別の共通鍵(k´)を生成するように構成することができる。
例えば、共通鍵(k)を生成した後、第1カウンタ及び第2カウンタをそれぞれ、インクリメントさせて、第1カウンタ及び第2カウンタの値が例えば2となった場合、式6により共通鍵(k)から別の共通鍵(k´)を生成するように構成することができる。
k´ = H(k,2) (式6)
また、「一度限り」の一時的に共有する使い捨ての値として、第1カウンタ及び第2カウンタの表すカウンタ値を適用する場合、第1カウンタ及び第2カウンタをそれぞれ、共通鍵を生成するたびに、インクリメントさせることで、2つの共通鍵(k1、k2)を生成するように構成することができる。
具体的には、例えば、RBKDF2関数に入力されるパスワードを共通鍵(k)とし、ソルト(Salt)を「i」及び「i+1」とすることで、式7及び式8に示すように、2つの共通鍵(k1、k2)を生成するように構成することができる。
k1= H(k,i) (式7)
k2= H(k,i+1) (式8)
このように第1共通鍵生成部114及び第2共通鍵生成部214は、先に生成した共通鍵(k)に基づいて2つの鍵(k、k´)又は2つの鍵(k1、k2)を生成することができる。
なお、第1共通鍵生成部114及び第2共通鍵生成部214が、先に生成した共通鍵(k)に基づいて2つの鍵を生成する方法は、上述した実施例に限定されるものではない。
例えば、共通関数として、暗号化関数Enc()を適用する場合についても、RBKDF2関数の場合と同様に、2つの共通鍵を生成することができる。
第2実施形態で作成する2つの共通鍵について、一方を暗号化に用いるセッション鍵(共通鍵)、他方を完全性の確認に用いるMAC(Message Authentication Code)鍵として、SSL/TLS(レコードプロトコル)に、引き渡すことが可能となる。
すなわち、第2実施形態で作成する2つの共通鍵のうち、一方を暗号化に用いるセッション鍵(共通鍵)、他方を完全性の確認に用いるMAC鍵として、SSL/TLS(レコードプロトコル)のセキュリティ暗号として設定することが可能となる。
こうすることで、SSL/TLSのハンドシェイクプロトコルの代わりに、第2実施形態により、暗号化された通信チャネルの確立及び通信相手の認証といった、暗号通信のための準備を行い、レコードプロトコルは、第2実施形態で生成した2つの共通鍵を使い、送受信するデータの暗号化と完全性(交換されるデータが改ざんされていないこと)のチェックを行うようにすることができる。
<第2実施形態の効果>
第2実施形態によれば、第1のノード(例えばクライアント端末)のノードユーザが第2のノード(例えばサーバ)にアクセスするための識別情報(id)及びパスワード(pwC)が予め設定されている場合に、公開鍵及び第三者の認証局を必要とせず、メッセージの暗号化に用いるセッション鍵(共通鍵)及び完全性の確認に用いるMAC鍵を簡易に生成することができる。
これにより、第1のノードと第2のノード間でセッション鍵により暗号化された通信チャネルを確立するとともに、MAC鍵によりメッセージの改ざんを防止することが可能となり、証明書に伴うやりとりの負荷が軽減され、共通鍵により暗号化された通信チャネルを安価に容易に確立することができる。
本発明の共通鍵により暗号化された通信チャネルを確立する暗号化通信チャネル確立システム1は、専用のシステムによらず、通常のコンピュータシステムを用いて実現できる。例えば、コンピュータに上述の動作を実行するためのプログラムを格納したコンピュータ読み取り可能な記録媒体(CD、DVD,ブルーレイディスク等のリムーバブルメディア等)を配布してもよいし、又はネットワークを介して、サーバー又はクラウドからコンピュータにダウンロードされることにより配布してもよい。
そして、配布されたプログラムをコンピュータにインストールすることにより、第1のノード10、又は第2のノード20等を構成することができる。
そして、プログラムを起動し、OSの制御下で実行することにより、コンピュータに第1のノード10、又は第2のノード20の備える機能部として機能させることができる。
特に、上記プログラム(第1のノードとして機能させるプログラム)をコンピュータに搭載されるブラウザにインストールし、上記プログラム(第2のノードとして機能させるプログラム)をWEBサーバにインストールすることにより、ブラウザとWebサーバにより構成されるブラウザベースのクライアントサーバシステムに本発明の共通鍵により暗号化された通信チャネルを確立する暗号化通信チャネル確立システム1をインストールすることができる。
また、共通鍵により暗号化された通信チャネルを確立する暗号化通信チャネル確立方法も、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(第1のノード10又は第2のノード20)にインストールされる。また、これらのプログラムは、CD−ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
1 暗号化通信チャネル確立システム
10 第1のノード
110 制御部
111 接続要求部
112 第1使い捨て共有値取得部
113 パスワード取得部
114 第1共通鍵生成部
115 第1認証部
116 第1レスポンス部
120 記憶部
130 通信部
20 第2のノード
210 制御部
211 識別情報受信部
212 第2使い捨て共有値取得部
213 パスワード取得部
214 第2共通鍵生成部
215 第2認証部
216 第2レスポンス部
220 記憶部
230 通信部
30 通信網

Claims (9)

  1. 第1のノード及び第2のノードがネットワークに接続され、
    前記第1のノードが前記第2のノードにアクセスするための識別情報とパスワードとが予め設定され、
    前記第1のノードと前記第2のノードとは、予め共通関数を共有し、
    前記第1のノードと前記第2のノードとが互いに生成する共通鍵により暗号化された通信チャネルを確立する暗号化通信チャネル確立システムであって、
    前記第1のノードは、
    第1カウンタと、
    前記第1カウンタの値を前記第2のノードと一時的に共有する使い捨ての値として取得する第1使い捨て共有値取得部と、
    前記識別情報を前記第2のノードに送信する接続要求部と、
    前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第1共通鍵生成部と、
    を備え、
    前記第2のノードは、
    前記第1のノードから前記識別情報を受信する識別情報受信部と、
    第2カウンタと、
    前記第2カウンタの値を前記第1のノードと一時的に共有する使い捨ての値として取得する第2使い捨て共有値取得部と、
    前記識別情報受信部により受信した前記識別情報に基づいて、予め設定されたパスワードを取得するパスワード取得部と、
    前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第2共通鍵生成部と、
    を備え、
    前記第1カウンタと前記第2カウンタとを同期させることにより、前記第1カウンタの値と前記第2カウンタの値とが、常に同じ値となるようになした、暗号化通信チャネル確立システム。
  2. 前記第1のノードは、
    ランダムにノンスを生成し、前記ノンス又は前記ノンスを前記共通鍵により暗号化した暗号データをチャレンジデータとして前記第2のノードに送信し、前記第2のノードから受信したレスポンスデータを用いて前記第2のノードを認証する第1認証部を備え、
    前記第2のノードは、
    前記第1のノードから受信した前記チャレンジデータに基づいてレスポンスデータを生成し、前記レスポンスデータを前記第1のノードに送信する第2レスポンス部を備える、請求項1に記載の暗号化通信チャネル確立システム。
  3. 前記第2のノードは、
    ランダムにノンスを生成し、前記ノンス又は前記ノンスを前記共通鍵により暗号化した暗号データをチャレンジデータとして前記第1のノードに送信し、前記第1のノードから受信したレスポンスデータを用いて前記第1のノードを認証する第2認証部を備え、
    前記第1のノードは、
    前記第2のノードから受信した前記チャレンジデータに基づいてレスポンスデータを生成し、前記レスポンスデータを前記第2のノードに送信する第1レスポンス部を備える、請求項1又は請求項2に記載の暗号化通信チャネル確立システム。
  4. 前記共通関数は、一方向性関数又は暗号化関数である、請求項1乃至請求項3のいずれか1項に記載の暗号化通信チャネル確立システム。
  5. ネットワークに接続された第1のノードであって、
    ネットワークに接続された第2のノードにアクセスするための識別情報とパスワードとが予め設定され、
    前記第2のノードと共有する共通関数を有し、
    前記第2のノードが備える第2カウンタと同期され、常に前記第2カウンタの値と同じ値を出力する第1カウンタと、
    前記第1カウンタの値を前記第2のノードと一時的に共有する使い捨ての値として取得する第1使い捨て共有値取得部と、
    前記識別情報を前記第2のノードに送信する接続要求部と、
    前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第1共通鍵生成部と、
    を備える第1のノード。
  6. ネットワークに接続された第2のノードであって、
    ネットワークに接続された第1のノードが前記第2のノードにアクセスするための識別情報とパスワードとが予め設定され、
    前記第1のノードと共有する共通関数を有し、
    前記第1のノードが備える第1カウンタと同期され、常に前記第カウンタの値と同じ値を出力する第2カウンタと、
    前記第2カウンタの値を前記第1のノードと一時的に共有する使い捨ての値として取得する第2使い捨て共有値取得部と、
    前記第1のノードから前記識別情報を受信する識別情報受信部と、
    前記識別情報受信部により受信した前記識別情報に基づいて、予め設定されたパスワードを取得するパスワード取得部と、
    前記パスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第2共通鍵生成部と、
    を備える第2のノード。
  7. 第1のノード及び第2のノードがネットワークに接続され、
    前記第1のノードが前記第2のノードにアクセスするための識別情報とパスワードが予め設定され、
    前記第1のノードと前記第2のノードとは、予め共通関数を共有し、
    前記第1のノードと前記第2のノードとが互いに生成する共通鍵により暗号化された通信チャネルを確立する暗号化通信チャネル確立方法であって、
    前記第1のノードが、
    前記第1のノードが備える第1カウンタの値を前記第2のノードと一時的に共有する使い捨ての値として取得する第1使い捨て共有値取得ステップと、
    前記識別情報を前記第2のノードに送信する接続要求ステップと、
    前記識別情報に対応するパスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第1共通鍵生成ステップと、
    を備え、
    前記第2のノードが、
    前記第1のノードから、前記識別情報を受信する識別情報受信ステップと、
    前記第2のノードが備える第2カウンタの値を前記第1のノードと一時的に共有する使い捨ての値として取得する第2使い捨て共有値取得ステップと、
    前記識別情報受信ステップにより受信した前記識別情報に基づいて、予め設定されたパスワードを取得するパスワード取得ステップと、
    前記パスワードと前記使い捨ての値とに基づいて前記共通関数により共通鍵を生成する第2共通鍵生成ステップと、
    を備え、
    前記第1カウンタと前記第2カウンタとを同期させることにより、前記第1カウンタの値と前記第2カウンタの値とが、常に同じ値となるようになした、暗号化通信チャネル確立方法。
  8. コンピュータを、請求項1乃至6の何れか一項に記載の第1のノード又は第2のノードとして機能させるプログラム。
  9. 請求項8に記載のプログラムが記録されたことを特徴とするコンピュータ読取り可能なプログラム記録媒体。
JP2016066512A 2016-03-29 2016-03-29 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体 Expired - Fee Related JP6609212B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016066512A JP6609212B2 (ja) 2016-03-29 2016-03-29 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016066512A JP6609212B2 (ja) 2016-03-29 2016-03-29 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体

Publications (2)

Publication Number Publication Date
JP2017183932A JP2017183932A (ja) 2017-10-05
JP6609212B2 true JP6609212B2 (ja) 2019-11-20

Family

ID=60006350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016066512A Expired - Fee Related JP6609212B2 (ja) 2016-03-29 2016-03-29 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体

Country Status (1)

Country Link
JP (1) JP6609212B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2555220B2 (ja) * 1990-12-17 1996-11-20 日本電信電話株式会社 ディジタル移動通信における認証方法
JP4604418B2 (ja) * 2001-07-26 2011-01-05 パナソニック株式会社 通信装置および通信方法
JP2004139295A (ja) * 2002-10-17 2004-05-13 Seiko Epson Corp 他の通信機器との接続認証のための認証キーを保持する通信機器
JP2004274134A (ja) * 2003-03-05 2004-09-30 Matsushita Electric Ind Co Ltd 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント
JP4748774B2 (ja) * 2004-06-02 2011-08-17 キヤノン株式会社 暗号化通信方式及びシステム
WO2011017847A1 (zh) * 2009-08-14 2011-02-17 华为技术有限公司 交换密钥的方法及设备
WO2014209190A1 (en) * 2013-06-28 2014-12-31 Telefonaktiebolaget L M Ericsson (Publ) Encrypting and storing data

Also Published As

Publication number Publication date
JP2017183932A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
US11026084B2 (en) Mobile network authentication method, terminal device, server, and network authentication entity
CN110380852B (zh) 双向认证方法及通信系统
US10951423B2 (en) System and method for distribution of identity based key material and certificate
JP4709815B2 (ja) 認証方法および装置
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
WO2018076365A1 (zh) 密钥协商方法及装置
JP6226197B2 (ja) 証明書発行システム、クライアント端末、サーバ装置、証明書取得方法、及び証明書発行方法
US9043598B2 (en) Systems and methods for providing secure multicast intra-cluster communication
WO2018040758A1 (zh) 认证方法、认证装置和认证系统
CN103763356A (zh) 一种安全套接层连接的建立方法、装置及系统
CN101997679A (zh) 加密信息协商方法、设备及网络系统
JP2009510978A (ja) 制約された暗号キー
JP6548172B2 (ja) 端末認証システム、サーバ装置、及び端末認証方法
WO2010078755A1 (zh) 电子邮件的传送方法、系统及wapi终端
US11070537B2 (en) Stateless method for securing and authenticating a telecommunication
WO2018202109A1 (zh) 一种证书请求消息发送方法、接收方法和装置
Claeys et al. Securing complex IoT platforms with token based access control and authenticated key establishment
WO2022143030A1 (zh) 基于国密标识密码算法的私钥分发系统
US20210392004A1 (en) Apparatus and method for authenticating device based on certificate using physical unclonable function
CN112332986B (zh) 一种基于权限控制的私有加密通信方法及系统
JP2012100206A (ja) 暗号通信中継システム、暗号通信中継方法および暗号通信中継用プログラム
CN109995723B (zh) 一种域名解析系统dns信息交互的方法、装置及系统
EP2905717A1 (en) Device and method for device and user authentication
CN110417722B (zh) 一种业务数据通信方法、通信设备及存储介质
US11818268B2 (en) Hub-based token generation and endpoint selection for secure channel establishment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180308

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190821

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191025

R150 Certificate of patent or registration of utility model

Ref document number: 6609212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees