JP2005268903A - 暗号鍵共有装置、暗号鍵共有方法、プログラム及び通信機器 - Google Patents
暗号鍵共有装置、暗号鍵共有方法、プログラム及び通信機器 Download PDFInfo
- Publication number
- JP2005268903A JP2005268903A JP2004074493A JP2004074493A JP2005268903A JP 2005268903 A JP2005268903 A JP 2005268903A JP 2004074493 A JP2004074493 A JP 2004074493A JP 2004074493 A JP2004074493 A JP 2004074493A JP 2005268903 A JP2005268903 A JP 2005268903A
- Authority
- JP
- Japan
- Prior art keywords
- value
- communication data
- communication
- encryption
- encrypted
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Abstract
【課題】 利用者が共有鍵を更新せずとも、通信した相手から次回の通信の暗号化に用いる共有鍵の種を取得し、共有鍵を自動的に更新して通信内容の第三者による盗聴を防止する。
【解決手段】 暗号化通信に用いる共有鍵を機器側で固定的に持たずに、通信の都度、通信の相手装置から共有鍵生成の種となるデータを受信して記憶し、この種に基づいて共有鍵を自動的に生成して共有する暗号鍵共有装置、暗号鍵共有方法、およびプログラム、通信機器を提供する。
【選択図】 図7
【解決手段】 暗号化通信に用いる共有鍵を機器側で固定的に持たずに、通信の都度、通信の相手装置から共有鍵生成の種となるデータを受信して記憶し、この種に基づいて共有鍵を自動的に生成して共有する暗号鍵共有装置、暗号鍵共有方法、およびプログラム、通信機器を提供する。
【選択図】 図7
Description
本発明は、通信相手と鍵情報を共有しこの鍵に基づいた暗号化通信を行う通信機器に関し、特にこの鍵情報を共有するための装置、方法、プログラム及び機器に関する。
近年、比較的高機能な機器を安価に製造できるようになり、例えば家電機器のような従来では単体で使用されるものでもネットワークに接続して使用できるようになっているものも出てきている。反面、ネットワーク化が進むことによりネットワーク上を流れる情報を盗聴される、あるいは利用者IDを盗用されるなどして、秘匿すべき重要な情報の漏洩問題、及びネットワークを介した機器の不正な遠隔操作などが懸念されるようになってきた。
このような問題を回避するために、第三者からの盗聴を防止する目的で、機器間の通信を通信相手同士だけが復号出来るよう通信データを暗号化してから送受信する方法が考えられる。このとき通信相手である両者のみが知り得る、暗号化に用いる鍵を共有する必要がある。例えば公開鍵暗号方式で暗号化し、ICカードに記憶した共有鍵を遠隔に設置されたサーバと交換する方法が提案されている(特許文献1を参照)。
特開2001−069138公報
しかしながら、いつまでも同じ鍵情報を用いて暗号化した情報をやり取りしていたのでは、いずれこの共有鍵が解読される危険がある。あるいは共有鍵を記憶した装置自体(例えばICカード)を解析し、共有鍵が暴かれてしまうことも考えられる。さらには製造時のコスト削減から複数の機器自体に予め同じ共有鍵を設定せざるを得ない場合には、これら同じ共有鍵を持つ他の機器も同様の危険にさらされることになる。
本発明は上記のような問題に鑑みて成されたものであり、利用者が都度共有鍵を更新せずとも、通信した相手から次回の通信の暗号化に用いる共有鍵の種を取得することで通信相手との間で第三者に予想されにくい共有鍵に自動的に更新し、通信内容の第三者による盗聴を防止するものである。
本発明の暗号鍵共有装置とすれば、
暗号化通信すべき相手装置から、第1の値を含む通信データを受信する受信手段と、前記第1の値を記憶する記憶手段と、前記記憶手段に記憶した第1の値に基づいて、前記相手装置との間で通信する通信データの暗号化に使用するための第2の値を生成する共有鍵生成手段と、前記第2の値を含む通信データを、前記相手装置に送信する送信手段とを備えたことを特徴とする暗号鍵共有装置
が提供される。
暗号化通信すべき相手装置から、第1の値を含む通信データを受信する受信手段と、前記第1の値を記憶する記憶手段と、前記記憶手段に記憶した第1の値に基づいて、前記相手装置との間で通信する通信データの暗号化に使用するための第2の値を生成する共有鍵生成手段と、前記第2の値を含む通信データを、前記相手装置に送信する送信手段とを備えたことを特徴とする暗号鍵共有装置
が提供される。
また、この暗号鍵共有装置の方法、計算機で実現するためのプログラム、及びこの暗号鍵共有装置により暗号化通信を行う通信機器が提供される。
さらに、
クライアント装置とこの装置が通信すべきサーバ装置との間の暗号化通信に使用される暗
号鍵を共有するための暗号鍵共有方法であって、前記クライアント装置は、記憶装置に記憶した第1の値に基づいて、前記サーバ装置との間の通信データの暗号化に使用する第2の値を生成し、前記第2の値を含む通信データを前記サーバ装置に送信し、前記サーバ装置は、該通信データを受信して前記第2の値が正しく受信できたか否かを求め、正しく受信できた場合には前記クライアント装置に対して、第2の値の生成に使用する第3の値を含む通信データを送信し、前記クライアント装置は、該通信データを受信し、該通信データに含まれる第3の値を第1の値として前記記憶装置に記憶することを特徴とする暗号鍵共有方法
が提供される。
クライアント装置とこの装置が通信すべきサーバ装置との間の暗号化通信に使用される暗
号鍵を共有するための暗号鍵共有方法であって、前記クライアント装置は、記憶装置に記憶した第1の値に基づいて、前記サーバ装置との間の通信データの暗号化に使用する第2の値を生成し、前記第2の値を含む通信データを前記サーバ装置に送信し、前記サーバ装置は、該通信データを受信して前記第2の値が正しく受信できたか否かを求め、正しく受信できた場合には前記クライアント装置に対して、第2の値の生成に使用する第3の値を含む通信データを送信し、前記クライアント装置は、該通信データを受信し、該通信データに含まれる第3の値を第1の値として前記記憶装置に記憶することを特徴とする暗号鍵共有方法
が提供される。
本発明によれば、利用者が都度共有鍵を更新せずとも、通信した相手から次回の通信の暗号化に用いる共有鍵の種を取得し、この種に基づいて通信相手との間で第三者に予想されにくい共有鍵を自動的に更新することで、第三者による通信内容の盗聴を防止することができる。
(第1の実施形態)
図1は、本実施形態における通信システムの一例を示す図である。図1には機器101、アプリケーションサーバ102、設定用PC103、及びネットワーク104が示されている。
図1は、本実施形態における通信システムの一例を示す図である。図1には機器101、アプリケーションサーバ102、設定用PC103、及びネットワーク104が示されている。
機器101は、ネットワーク104を介してアプリケーションサーバ102や設定用PC103と通信することができるよう、通信機能を備えている。機器101はネットワーク104を介して、他の機器から操作の指示を受け、または問合せに応じた自身の状態に関する情報を応答する。ここでは電子レンジの例を示しているが、一般的な家電製品や携帯端末などネットワーク104を介した通信が可能な通信機能を備えた機器であれば同様に用いることが可能である。
アプリケーションサーバ102は、ネットワーク104を介して機器101や設定用PC103と通信する機能を備えている。そして機器101からの要求に応じて、または自動的に、例えば調理レシピ等の情報を提供する。このとき機器101との間で共有鍵を交換し、機器101との間でこの共有鍵を用いた暗号化通信を行うことができる機能を備えている。アプリケーションサーバ102は1つの機器として設けずネットワーク104に接続された機器(たとえば機器101)が兼任しても構わない。この場合にはネットワーク104を介して機器同士で共有鍵を共有し、その機器の間で暗号化通信を行うことができる。
設定用PC103は、ネットワーク104を介して機器101やアプリケーションサーバ102と通信する機能を備えている。設定用PC103は主に利用者とのインタフェース、例えば画面やキーボードを備えておりネットワーク104を介して各機器に対して設定、状態確認、及び指示する機能を持つ。本実施形態では、例えばアプリケーションサーバ102への初期登録や、機器101の状態確認、及び機器101が記憶する共有鍵の更新指示などが考えられる。
ネットワーク104は、有線LAN、無線LANあるいはシリアル通信のような通信媒体のいずれか、またはそれ以外の通信媒体であっても構わない。ネットワーク104に接続された少なくとも2以上の機器同士が暗号化したデータを送受信可能なネットワークであれば置き換え可能である。例えば、IP(Internet Protocol)を用いたパケット通信が可能なLANを例に説明する。
図2は、本実施形態における通信システムの間の、通信シーケンスの一例を示す図である。
鍵情報を交換するにあたり、どのような機器とでも要求された場合に自動的に鍵を取り交わすのは適当ではない。なぜならばネットワークに接続さえできればデータの授受が出来てしまうとすると、悪意をもった第三者により容易にデータを盗用されてしまう可能性があるからである。また、たとえば隣家に設置されている機器が、自宅に設置された本実施形態の通信システムに接続をされてしまう、あるいはしてしまうのも問題である。
よって本実施形態の通信システムでは通信シーケンスの最初に、鍵を交換すべき機器の識別(機器ID)を、設定用PC103を使用してアプリケーションサーバ102に対して通知する(機器IDの通知201)。するとアプリケーションサーバ102は、この通知に対して正常に受け取ることが出来たか否かの情報を応答する(通知応答202)。このとき設定用PC103を用いずに直接アプリケーションサーバ102に機器IDを入力するようにしても構わない。この場合には機器IDの通知201、及び通知応答202は行われない。
これから鍵を共有する機器、つまり機器101の機器IDが正常に通知できた場合、利用者は機器101の動作状態をアプリケーションサーバ102との間で鍵情報を交換するための鍵交換モードに移行する。このモードの移行は利用者が機器101の動作状態を切り替える操作をしても良いが、たとえば機器101の電源を投入したときには自動的にこのモードになるように機器101を構成しても良い。電源投入時点で鍵交換モードに移行するようにしていた場合は、先の機器IDの通知201が完了した段階で機器101の電源を投入する。
鍵交換モードにある機器101は、暗号鍵である共有鍵を共有する相手、つまりアプリケーションサーバ102に対して鍵情報の初期値を通知する(初期鍵の通知203)。この鍵の初期値には、共有鍵の初期値とこの鍵の検証に使用される情報を含んでいる。この情報の詳細については後述する。このとき、送信される鍵の初期値の情報は、アプリケーションサーバ102が提供する公開鍵を用いて暗号化することが望ましい。情報の暗号化に用いられる公開鍵暗号方式は一般に、公開鍵と秘密鍵の二つの鍵情報を用いて暗号化/復号化する暗号化方式である。ある公開鍵で暗号化したデータは特定の秘密鍵でしか復号できず、ある秘密鍵で暗号化したデータは特定の公開鍵でしか復号できない性質がある。この性質を用いると、特定の相手にのみ正しい情報を伝えることが可能となる。暗号化の仕組み自体の詳細については、ここでは説明しない。
アプリケーションサーバ102は、接続してきた機器101が、先の機器IDの通知201で通知のあった機器IDをもつ機器であれば、機器101から受け取った初期鍵の通知203に含まれる共有鍵とこの共有鍵の検証に使用する情報とにより、この共有鍵が正しいか否かを判断し、この判断結果を通知応答204として機器101に応答する。
通知応答204を受け取った機器101は、先に送信した共有鍵による暗号化通信の開始を要求する(暗号化通信要求205)。これを受けたアプリケーションサーバ102は、暗号化通信要求205の要求を受けることができる場合には、機器101が次回の共有鍵を生成する際の種になる情報を含む、この通信要求を認める通信要求応答206を応答する。
上記のような手順を踏むことにより、機器101とアプリケーションサーバ102との間で共有鍵が共有される。その後、機器101とアプリケーションサーバ102は、共有
した共有鍵を用いた暗号化通信を開始するが、正常に暗号化/復号化が行われるか否かを確認するため、暗号化されたデータを送受信することで到達確認207を行う。本実施形態ではこの到達確認207を行うよう示しているが、鍵の共有後に必ずしも行わねばならないということはない。
した共有鍵を用いた暗号化通信を開始するが、正常に暗号化/復号化が行われるか否かを確認するため、暗号化されたデータを送受信することで到達確認207を行う。本実施形態ではこの到達確認207を行うよう示しているが、鍵の共有後に必ずしも行わねばならないということはない。
たとえば利用者が、機器101とアプリケーションサーバ102との間で正常に暗号化通信が行われているか否かを調べるために設定用PC103から適宜アプリケーションサーバ102に対して到達確認要求208を送信するようにしても良い。この場合には、到達確認要求208を受け取ったアプリケーションサーバ102は、機器101と到達確認207を行い、その結果を到達確認応答209として設定用PC103に応答する。
図3は、本実施形態における通信システムの間の、機器101に対する新たな共有鍵の設定を指示する通信シーケンスの一例を示した図である。
利用者は機器101がアプリケーションサーバ102との間の暗号化通信に使用する共有鍵を更新したい場合、設定用PC103を操作して、機器101に対して共有鍵を更新するための指示をする(初期鍵更新要求301)。するとこれを受けた機器101は設定用PC103に対して更新要求応答302を応答して、自身の動作状態を鍵交換モードに移行する。この操作により機器101は先に説明した初期鍵の通知203、通知応答204、暗号化通信要求205及び通信要求応答206を経て、新たな共有鍵をアプリケーションサーバ102との間で共有する。
図4は、本実施形態における通信システム間の、機器101に対する新たな共有鍵の設定を指示する通信シーケンスの別の一例を示した図である。
設定用PC103から直接機器101に共有鍵の更新を要求するのではなく、設定用PC103はアプリケーションサーバ102に対して、設定用PC103の代理として機器101に共有鍵の更新要求を依頼するものである。設定用PC103はアプリケーションサーバ102に対して、いずれの機器の共有鍵を更新するのかを示すたとえば機器IDを含む、初期鍵代理更新要求401を送信する。アプリケーションサーバ102は、この要求に対する応答を代理更新要求応答402として設定用PC103に応答する。
次に初期鍵代理更新要求401に含まれるたとえば機器IDから、共有鍵を更新すべき機器を特定する。そして特定した機器(ここでは機器101)に対して、この機器が保持する共有鍵を更新する旨の要求を送信する(初期鍵更新要求403)。するとこれを受けた機器101はアプリケーションサーバ102に対して更新要求応答404を応答して、自身の動作状態を鍵交換モードに移行する。この操作により機器101は先に説明した初期鍵の通知203、通知応答204、暗号化通信要求205及び通信要求応答206を経て、新たな共有鍵をアプリケーションサーバ102との間で共有する。
図5は、本実施形態における機器101のブロック構成図の一例を示す図である。図5には、共有鍵設定部501と、これに含まれる乱数発生部502、記憶部503及び演算部504が示されており、さらに暗号処理部505、通信部506及び機器制御部507を備えている。
共有鍵設定部501は、機器101が鍵情報を共有した他の機器と暗号化通信を行う際の共有鍵を該他の機器とやり取りして生成し、この生成した鍵情報を暗号処理部505に暗号鍵として設定すると共に該他の機器にも通知する機能を有する。以下に共有鍵設定部501が備える機能部を個別に説明する。
乱数発生部502は、乱数を発生する機能を有する。ここでいう乱数には、ある規則に基づいて生成した擬似的な乱数も含まれる。
記憶部503は、乱数発生部502が発生した乱数、演算部504が計算した計算値、及び他の機器から受信した情報を記憶する機能を有する。
演算部504は、記憶部503が記憶している値を計算して、再び記憶部503に格納する。演算部504が行う計算には、たとえば複数の数値データの連結や、ハッシュ関数によるある数値の一方向性変換などがある。
暗号処理部505は、共有鍵設定部501や機器制御部507が他の機器と通信すべきデータをやり取りする際に、送信する場合にはこの通信データを暗号化し、受信した通信データについては復号化する機能を有する。暗号処理部505は、暗号化/復号化に際しては通信相手が提供する公開鍵を用いて暗号化/復号化する公開鍵暗号系、共有した秘密鍵を用いて暗号化/復号化する共有鍵暗号系のいずれにも使われる。少なくとも秘密鍵を用いる暗号化/復号化の際は、この秘密鍵に当たる共有鍵を共有鍵設定部501より取得する。
通信部506は、ネットワーク104を介して他の機器と通信するための機能を有している。通信に使用する通信媒体に応じて必要となる機能が異なるのが普通である。ここではネットワーク104を通信媒体とする通信に必要となる機能を備えているものとする。
機器制御部507は、機器101自身の動作を制御する部分であり、例えば電子レンジであれば調理レシピ情報の取得や調理状態の情報の通知、及び自身が備える操作パネルへの表示や電源部の制御などを含んでいても良い。機器制御部507が機器101自身の制御に関連して、ネットワーク104を介して他の機器と通信する必要があるときは、通信データは暗号処理部505を介して暗号化/復号化されるため、この通信でやり取りされる通信データはネットワーク104上では暗号化された状態で伝送される。
図6は、本実施形態におけるアプリケーションサーバ102のブロック構成図の一例を示す図である。図3には、共有鍵設定部601と、これに含まれる乱数発生部602、記憶部603及び演算部604が示されており、さらに暗号処理部605、通信部606及びサーバ機能処理部607を備えている。
共有鍵設定部601は、アプリケーションサーバ102が鍵情報を共有した他の機器と暗号化通信を行う際に、共有鍵を含む受信した鍵設定情報からこの機器が通信すべき機器かどうかを判断し、この共有鍵の情報を暗号処理部605に暗号鍵として設定すると共に該他の機器に次回通信する際に使用する共有鍵の種を送信する機能を有する。以下に共有鍵設定部601が備える機能部を個別に説明する。
乱数発生部602は、乱数を発生する機能を有する。ここでいう乱数には、ある規則に基づいて生成した擬似的な乱数も含まれる。
記憶部603は、乱数発生部602が発生した乱数、演算部604が計算した計算値、及び他の機器から受信した情報を記憶する機能を有する。
演算部604は、記憶部603が記憶している値を計算して、再び記憶部603に格納する。演算部604が行う計算には、たとえば数値データの分割や、数値の比較演算などがある。
暗号処理部605は、共有鍵設定部601やサーバ機能処理部607が他の機器と通信すべきデータをやり取りする際に、送信する場合にはこの通信データを暗号化し、受信した通信データについては復号化する機能を有する。暗号処理部605は、暗号化/復号化に際しては通信相手が提供する公開鍵を用いて暗号化/復号化する公開鍵暗号系、共有した秘密鍵を用いて暗号化/復号化する共有鍵暗号系のいずれにも使われる。少なくとも秘密鍵を用いる暗号化/復号化の際は、この秘密鍵に当たる共有鍵を共有鍵設定部601より取得する。
通信部606は、ネットワーク104を介して他の機器と通信するための機能を有している。通信に使用する通信媒体に応じて必要となる機能が異なるのが普通である。ここではネットワーク104を通信媒体とする通信に必要となる機能を備えているものとする。
サーバ機能処理部607は、アプリケーションサーバ102自身の動作を制御する部分である。例えば他の機器からの要求を受けて調理レシピ情報などを提供するために設けたサーバであれば、このような要求を受ける機能と必要な情報を蓄積し抽出する機能、及びこの情報を当該他の機器に送信する機能を有する。サーバ機能処理部部607がネットワーク104を介して他の機器と通信する必要があるときは、通信データは暗号処理部605を介して暗号化/復号化されるため、この通信でやり取りされる通信データはネットワーク104上では暗号化された状態で伝送される。
図7は、本実施形態における機器101のフローの一例を示す図である。
機器101の処理が開始されると、まず共有すべき共有鍵の種となるR0を、他の機器から取得して記憶部503に記憶しているか否かを判断する(ステップS01)。R0は通信要求応答206に含まれる共有鍵の種の値を指す。通信要求応答206で受け取るはずのR0を記憶していない場合には、乱数発生部502によって機器101自身がR0を生成して記憶部503に記憶する(ステップS02)。R0を記憶していない場合とは、例えば機器101の電源が投入された直後であることが考えられる。
機器101の処理が開始されると、まず共有すべき共有鍵の種となるR0を、他の機器から取得して記憶部503に記憶しているか否かを判断する(ステップS01)。R0は通信要求応答206に含まれる共有鍵の種の値を指す。通信要求応答206で受け取るはずのR0を記憶していない場合には、乱数発生部502によって機器101自身がR0を生成して記憶部503に記憶する(ステップS02)。R0を記憶していない場合とは、例えば機器101の電源が投入された直後であることが考えられる。
次にアプリケーションサーバ102と暗号化通信する際に使用する共有鍵を更新する必要があるか否かを判断する(ステップS03)。ここで共有鍵を更新する必要があるとの判断は、例えば機器101の起動直後で他の機器からR0を取得したことがない場合や、設定用PC103から初期鍵更新要求301を受けた場合、またはアプリケーションサーバ102から初期鍵更新要求403を受けた場合が考えられる。あるいは所定の回数もしくは所定の時間通信するごとに共有鍵を更新するように構成したのであれば、その所定の回数もしくは所定の時間経過後の通信時である。いずれにも該当せず、さらに現在利用している共有鍵を更新する必要がないときは、暗号処理部505は現在利用している共有鍵を用いて通信データを暗号化/復号化しながらアプリケーションサーバ102と通信する(ステップS11)。
ステップS03で共有鍵を更新する必要があると判断したときは、乱数発生部502が発生する乱数によってR1及びSそれぞれの値を定めて記憶部503に記憶する(ステップS04)。次に演算部504により、記憶部503に記憶したR0とR1を連結するなどして組み合わせ、さらに一方向性ハッシュ関数にかけ共有鍵Kを求め記憶部503に記憶する(ステップS05)。ここでR0及びR1を組み合わせて一方向性ハッシュ関数にかけるのは、R1をその機器に依存した値(例えば機器IDやその機器の動作状況に関する値など)とすることで、より予測不可能性の高い擬似乱数を得るための一手法である。よってR0及びR1の組み合わせの方法や符号の長さといった仕様は、ここに示した手法に特に限定しない。例えばR0の値を、ステップS04におけるR1を生成するときの乱数発生部502の種値として用いるようにしてもかまわない。この場合にはR0の選び方次第で、R1のみで共有鍵Kの予測不可能性を十分高くすることもできるので、R1をハッ
シュ関数にかけて得た値を共有鍵Kとすることもできる。もちろん、R0を一方向性ハッシュ関数にかけて得た値を共有鍵Kとすることも可能である。
シュ関数にかけて得た値を共有鍵Kとすることもできる。もちろん、R0を一方向性ハッシュ関数にかけて得た値を共有鍵Kとすることも可能である。
次にステップS05で求めたKとSを、予め定めた規則に従って分離可能に組み合わせ、この組み合わせたデータをアプリケーションサーバ102から提供された公開鍵を用いて暗号化しPを求め記憶部503に記憶する(ステップS06)。その後、PとSの情報を、初期鍵の通知203としてアプリケーションサーバ102に送信する(ステップS07)。
続いてこのP、Sの値を検証した結果に基づくアプリケーションサーバ102からの応答通知204に含まれる可否情報を判断する(ステップS08)。判断の結果が「OK」であれば、暗号化通信要求205をアプリケーションサーバ102に送信し、初期鍵の通知203で送った共有鍵Kを用いる暗号化通信の開始を要求する(ステップS09)。これに応答する通信要求応答206をアプリケーションサーバ102から受信する。機器101は、この通信要求応答206に含まれるR0を抽出し、記憶部503に記憶する(ステップS10)。そして暗号処理部505は現在記憶している共有鍵Kを用いて通信データを暗号化/復号化しながらアプリケーションサーバ102と通信する(ステップS11)。
一方、ステップS08で判断の結果が「OK」でないときは、何らかの理由によりアプリケーションサーバ102との暗号化通信が拒否されたことを意味するので、何もせずに終了する。
このように構成すると、機器101に固定的な共有鍵を設定せずに、他の機器から共有鍵生成の種となる値を取得することによって、個々の機器ごとに第三者にとっての予測が難しい共有鍵を機器自身で自動的に生成し共有することができる。
図8は、本実施形態におけるアプリケーションサーバ102のフローの一例を示す図である。
まずアプリケーションサーバ102は機器101から初期鍵の通知203を受けると、これに含まれるSとPを抽出し記憶部603に記憶する(ステップS21)。次に自身の秘密鍵を用いてPを復号しXを求め、このXを記憶部603に記憶する(ステップS22)。演算部604は、記憶したXを、SとKを組み合わせたときの規則に従って分離し、Sに相当するS´と、Kに相当するK´とを求め、これらを記憶部603に記憶する(ステップS23)。
次に、先に記憶したSと、S´とを比較する(ステップS24)。ここでは機器101が、アプリケーションサーバ102が提供する公開鍵を用いて暗号化したか否かを判定している。なぜならSを含む値の暗号化データを、秘密鍵によって復号化したデータのS´とが同じになるのは、一般にはこの秘密鍵に対応する公開鍵で暗号化した場合でしかあり得ないからである。よってSとS´が同じ値になるということは、すなわちK´は機器101が送信したKと同じであることを意味する。
ステップS24でSとS´が異なる場合は、この値を含む初期鍵の通知203を送信した機器101に対して「NG」である旨の通知応答204を応答して終了する(ステップS26)。
SとS´が同じであった場合は、機器101に「OK」である旨の通知応答204を応答し(ステップS25)、機器101からの暗号化通信要求205を待つ(ステップS2
7)。
7)。
機器101からの暗号化通信要求205が、通知応答204の応答から所定の時間内になかった場合も機器101との暗号化通信を行うことなく終了する(ステップS27)。このように構成すると、初期鍵の通知203があっただけの待ち受けを保持し続けることによるアプリケーションサーバ102の通信資源の浪費を回避できるので、例えば悪意を持った利用者によるサービス不能攻撃の危険を回避するのに効果が期待できる。
所定の時間内に、初期鍵の通知203を送信した機器101から暗号化通信要求205が来た場合は、乱数発生部602により乱数を発生してこの値をR0として記憶部603に記憶する(ステップS28)。そして暗号化通信要求205の応答として、この要求を容認する旨の情報と、このR0を含む通信要求応答206を、機器101に応答する(ステップS29)。ここまでのやり取りによって機器101とアプリケーションサーバ102との間で共有鍵が共有されるので、続いて共有鍵Kを使用した暗号化通信が行われる(ステップS30)。
このように構成すると、例えば十分予測不可能性の高い擬似乱数を自身で発生できないような低機能の機器との間の暗号化通信であっても、アプリケーションサーバ102側で十分予測不可能性の高い擬似乱数を発生させ、これを相手機器が設定する共有鍵の種として提供することにより、第三者にとって予測の難しい共有鍵による暗号化通信を行うことができる。
(第1の実施形態の変形例)
本実施形態の通信システムでは、機器101とアプリケーションサーバ102との間の鍵共有の例を示した。本変形例では、さらに機器101とは別の、アプリケーションサーバ102との間で信頼関係を結んでいる機器がある場合の、アプリケーションサーバ102を介してこの機器と機器101との間の鍵の共有を仲介するものである。
本実施形態の通信システムでは、機器101とアプリケーションサーバ102との間の鍵共有の例を示した。本変形例では、さらに機器101とは別の、アプリケーションサーバ102との間で信頼関係を結んでいる機器がある場合の、アプリケーションサーバ102を介してこの機器と機器101との間の鍵の共有を仲介するものである。
両方の機器とも、一つのアプリケーションサーバ102との間で暗号化通信が成立しているので、この暗号化通信の内容をアプリケーションサーバ102が通信を仲介すれば、両方の機器の間で機器101とアプリケーションサーバ102との間で行ったものと同様の鍵共有手順を実施することが可能となる。
あるいは両方の機器とアプリケーションサーバ102との間の鍵共有は本実施形態に従うが、すでに暗号化通信が確立しているのであれば両方の機器との間の鍵共有手順はさらに簡略化することもできる。最も単純な方法は、例えば一方の装置から共有鍵を他方の機器にアプリケーションサーバ102を介して送信するだけでも良い。
さらに言えば、一方の機器がアプリケーションサーバ102とSSL(Secure Socket Layer)などの本実施形態とは別の鍵交換による暗号化通信を行っていたとしても、本変形例の通信システムを適用することができる。この場合にはこの機器の構成、重要度、接続頻度、接続時間などに基づいて、暗号化通信を実行する際の手順の軽減化、またはより強固な秘匿通信などその機器に適した暗号化通信手段を選択することができる。
このように構成すると、アプリケーションサーバ102との間の信用関係に基づいて、このサーバと通信する複数の機器の間で暗号化通信のための共有鍵の交換が可能となる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実
施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
101:機器
102:アプリケーションサーバ
103:設定用PC
104:ネットワーク
501、601:共有鍵設定部
502、602:乱数発生部
503、603:記憶部
504、604:演算部
505、605:暗号処理部
507:機器制御部
607:サーバ機能処理部
102:アプリケーションサーバ
103:設定用PC
104:ネットワーク
501、601:共有鍵設定部
502、602:乱数発生部
503、603:記憶部
504、604:演算部
505、605:暗号処理部
507:機器制御部
607:サーバ機能処理部
Claims (18)
- 暗号化通信すべき相手装置から、第1の値を含む通信データを受信する受信手段と、
前記第1の値を記憶する記憶手段と、
前記記憶手段に記憶した第1の値に基づいて、前記相手装置との間で通信する通信データの暗号化に使用するための第2の値を生成する共有鍵生成手段と、
前記第2の値を含む通信データを、前記相手装置に送信する送信手段と
を備えたことを特徴とする暗号鍵共有装置。 - 暗号化通信すべき相手装置から、第1の値を含む通信データを受信する受信手段と、
前記第1の値を記憶する記憶手段と、
予め定めた規則に従って数値を生成する数値生成手段と、
前記記憶手段に記憶した第1の値及び前記生成した数値に基づいて、前記相手装置との間で通信する通信データの暗号化に使用するための第2の値を生成する共有鍵生成手段と、
前記第2の値を含む通信データを、前記相手装置に送信する送信手段と
を備えたことを特徴とする暗号鍵共有装置。 - 前記相手装置が公開する公開鍵によって、与えられたデータを暗号化する暗号化手段をさらに備え、
前記送信手段が送信する通信データに含まれる前記第2の値は、前記暗号化手段によって暗号化されていることを特徴とする、請求項1または2に記載の暗号鍵共有装置。 - 前記第1の値が前記記憶手段に記憶されていない場合には、前記共有鍵生成手段が前記第2の値を生成するのに先立って、予め定めた規則に従って該第1の値を生成し、前記記憶手段に記憶する手段をさらに備えたことを特徴とする請求項1または2に記載の暗号鍵共有装置。
- 記憶装置に記憶した第1の値に基づいて、暗号化通信すべき相手装置との間で通信する通信データの暗号化に使用する第2の値を生成し、
前記第2の値を含む通信データを前記相手装置に送信し、
前記相手装置から第3の値を受信し、
第2の値を次に生成するときのために該第3の値を第1の値として前記記憶装置に記憶する
ことを特徴とする暗号鍵共有方法。 - 予め定めた規則に従って数値を生成し、
記憶装置に記憶した第1の値と前記生成した数値に基づいて、暗号化通信すべき相手装置との間で通信する通信データの暗号化に使用する第2の値を生成し、
前記第2の値を含む通信データを前記相手装置に送信し、
前記相手装置から第3の値を受信し、
第2の値を次に生成するときのために該第3の値を第1の値として前記記憶装置に記憶する
ことを特徴とする暗号鍵共有方法。 - 前記通信データを送信する前に、該通信データに含まれる前記第2の値を、前記相手装置が公開する公開鍵によって暗号化する
ことを特徴とする請求項5または6に記載の暗号鍵共有方法。 - 前記第2の値を生成する前に、前記第1の値を記憶しているか否かを判断し、記憶して
いないと判断した場合には、予め定めた規則に従って前記第1の値を生成して記憶する
ことを特徴とする請求項5または6に記載の暗号鍵共有方法。 - クライアント装置とこの装置が通信すべきサーバ装置との間の暗号化通信に使用される暗号鍵を共有するための暗号鍵共有方法であって、
前記クライアント装置は、記憶装置に記憶した第1の値に基づいて、前記サーバ装置との間の通信データの暗号化に使用する第2の値を生成し、
前記第2の値を含む通信データを前記サーバ装置に送信し、
前記サーバ装置は、該通信データを受信して前記第2の値が正しく受信できたか否かを求め、正しく受信できた場合には前記クライアント装置に対して、第2の値の生成に使用する第3の値を含む通信データを送信し、
前記クライアント装置は、該通信データを受信し、
該通信データに含まれる第3の値を第1の値として前記記憶装置に記憶する
ことを特徴とする暗号鍵共有方法。 - 前記クライアント装置は、前記第2の値を含む通信データを送信した後、前記サーバ装置に対しさらに暗号化通信を開始する旨の要求を送信し、
前記サーバ装置は前記第3の値を含む通信データを送信する際、前記第2の値を含む通信データを受信してから所定の時間内に、前記クライアント装置からさらに前記暗号化通信を開始する旨の要求を受信したことを条件に、該送信をすることを特徴とする請求項9に記載の暗号鍵共有方法。 - 記憶装置に記憶した第1の値に基づいて、暗号化通信すべき相手装置との間で通信する通信データの暗号化に使用する第2の値を生成するステップと、
前記第2の値を含む通信データを前記相手装置に送信するステップと、
前記相手装置から第3の値を受信するステップと、
第2の値を次に生成するときのために該第3の値を第1の値として前記記憶装置に記憶するステップと
を有することを特徴とする、計算機で実行可能なプログラム。 - 予め定めた規則に従って数値を生成するステップと、
記憶装置に記憶した第1の値と前記生成した値に基づいて、暗号化通信すべき相手装置との間で通信する通信データの暗号化に使用する第2の値を生成するステップと、
前記第2の値を含む通信データを前記相手装置に送信するステップと、
前記相手装置から第3の値を受信するステップと、
第2の値を次に生成するときのために該第3の値を第1の値として前記記憶装置に記憶するステップと
を有することを特徴とする、計算機で実行可能なプログラム。 - 前記通信データを送信するステップの前に、該通信データに含まれる前記第2の値を、前記相手装置が公開する公開鍵によって暗号化するステップをさらに有する
ことを特徴とする請求項11または12に記載の、計算機で実行可能なプログラム。 - 前記第2の値を生成するステップの前に、前記第1の値を記憶しているか否かを判断するステップと、
記憶していないと判断した場合には、予め定めた規則に従って前記第1の値を生成して記憶するステップと
をさらに有することを特徴とする請求項11または12に記載の、計算機で実行可能なプログラム。 - 暗号化通信すべき相手装置から、第1の値を含む通信データを受信する受信手段と、
前記第1の値を記憶する記憶手段と、
前記記憶手段に記憶した第1の値に基づいて、前記相手装置との間で通信する通信データの暗号化に使用するための第2の値を生成する共有鍵生成手段と、
前記第2の値を含む通信データを、前記相手装置に送信する送信手段と
前記相手装置との間で通信する通信データを暗号化するときの暗号鍵に、前記第2の値を使用して通信データを送受信する暗号化通信手段と
を備えたことを特徴とする通信機器。 - 暗号化通信すべき相手装置から、第1の値を含む通信データを受信する受信手段と、
前記第1の値を記憶する記憶手段と、
予め定めた規則に従って数値を生成する数値生成手段と、
前記記憶手段に記憶した第1の値及び前記生成した数値に基づいて、前記相手装置との間で通信する通信データの暗号化に使用するための第2の値を生成する共有鍵生成手段と、
前記第2の値を含む通信データを、前記相手装置に送信する送信手段と
前記相手装置との間で通信する通信データを暗号化するときの暗号鍵に、前記第2の値を使用して通信データを送受信する暗号化通信手段と
を備えたことを特徴とする通信機器。 - 前記相手装置が公開する公開鍵によって、与えられたデータを暗号化する暗号化手段をさらに備え、
前記送信手段が送信する通信データに含まれる前記第2の値は、該第2の値を前記暗号化手段によって暗号化したデータであることを特徴とする、請求項15または16に記載の通信機器。 - 前記第1の値が前記記憶手段に記憶されていない場合には、前記共有鍵生成手段が前記第2の値を生成するのに先立って、予め定めた規則に従って該第1の値を生成し、前記記憶手段に記憶する手段をさらに備えたことを特徴とする請求項15または16に記載の通信機器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004074493A JP2005268903A (ja) | 2004-03-16 | 2004-03-16 | 暗号鍵共有装置、暗号鍵共有方法、プログラム及び通信機器 |
US11/078,338 US20050235152A1 (en) | 2004-03-16 | 2005-03-14 | Encryption key sharing scheme for automatically updating shared key |
CNA200510054789XA CN1671099A (zh) | 2004-03-16 | 2005-03-16 | 自动更新共享密钥的加密密钥共享方案 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004074493A JP2005268903A (ja) | 2004-03-16 | 2004-03-16 | 暗号鍵共有装置、暗号鍵共有方法、プログラム及び通信機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005268903A true JP2005268903A (ja) | 2005-09-29 |
Family
ID=35042181
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004074493A Pending JP2005268903A (ja) | 2004-03-16 | 2004-03-16 | 暗号鍵共有装置、暗号鍵共有方法、プログラム及び通信機器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20050235152A1 (ja) |
JP (1) | JP2005268903A (ja) |
CN (1) | CN1671099A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007215162A (ja) * | 2006-01-11 | 2007-08-23 | Canon Inc | 情報処理装置及びその制御方法、プログラム、記憶媒体 |
JP2008311696A (ja) * | 2007-06-12 | 2008-12-25 | Hitachi Ltd | アクセス鍵自動配信システム |
JP2013504914A (ja) * | 2009-09-09 | 2013-02-07 | アルカテル−ルーセント | 安全な通信の確立 |
JP2013157894A (ja) * | 2012-01-31 | 2013-08-15 | Tokai Rika Co Ltd | 電子キー登録システム |
WO2013168388A1 (ja) * | 2012-05-07 | 2013-11-14 | 日本電気株式会社 | 無線通信方法、無線通信システム及び無線通信装置 |
CN113423480A (zh) * | 2018-12-20 | 2021-09-21 | 索尼互动娱乐有限责任公司 | 网络游戏系统中的安全数据通道 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE517460C2 (sv) * | 2000-03-24 | 2002-06-11 | Imp Internat Ab | Metod och system för kryptering och autentisiering |
CN101005359B (zh) * | 2006-01-18 | 2010-12-08 | 华为技术有限公司 | 一种实现终端设备间安全通信的方法及装置 |
EP2120393A1 (en) * | 2008-05-14 | 2009-11-18 | Nederlandse Centrale Organisatie Voor Toegepast Natuurwetenschappelijk Onderzoek TNO | Shared secret verification method |
CN102238000B (zh) * | 2010-04-21 | 2015-01-21 | 华为技术有限公司 | 加密通信方法、装置及系统 |
US9509504B2 (en) * | 2011-08-17 | 2016-11-29 | Red Hat, Inc. | Cryptographic key manager for application servers |
CN104144049B (zh) * | 2014-03-11 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 一种加密通信方法、系统和装置 |
US10136246B2 (en) * | 2015-07-21 | 2018-11-20 | Vitanet Japan, Inc. | Selective pairing of wireless devices using shared keys |
US9794234B2 (en) * | 2015-07-28 | 2017-10-17 | Cisco Technology, Inc. | Pairwise pre-shared key generation system |
US10271209B2 (en) | 2016-06-12 | 2019-04-23 | Apple Inc. | Session protocol for backward security between paired devices |
WO2018028359A1 (zh) * | 2016-08-08 | 2018-02-15 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置、存储介质及电子装置 |
JP7465127B2 (ja) * | 2019-04-12 | 2024-04-10 | 株式会社東海理化電機製作所 | 通信システム及び通信機 |
CN114760047A (zh) * | 2020-12-28 | 2022-07-15 | 科大国盾量子技术股份有限公司 | 一种量子密钥管理方法、装置及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491750A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for three-party entity authentication and key distribution using message authentication codes |
US5495533A (en) * | 1994-04-29 | 1996-02-27 | International Business Machines Corporation | Personal key archive |
EP0840477B1 (en) * | 1996-10-31 | 2012-07-18 | Panasonic Corporation | Secret key transfer method which is highly secure and can restrict the damage caused when the secret key is leaked or decoded |
US7181015B2 (en) * | 2001-07-31 | 2007-02-20 | Mcafee, Inc. | Method and apparatus for cryptographic key establishment using an identity based symmetric keying technique |
JP2004254027A (ja) * | 2003-02-19 | 2004-09-09 | Toshiba Corp | サーバ装置、鍵管理装置、暗号通信方法及びプログラム |
-
2004
- 2004-03-16 JP JP2004074493A patent/JP2005268903A/ja active Pending
-
2005
- 2005-03-14 US US11/078,338 patent/US20050235152A1/en not_active Abandoned
- 2005-03-16 CN CNA200510054789XA patent/CN1671099A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007215162A (ja) * | 2006-01-11 | 2007-08-23 | Canon Inc | 情報処理装置及びその制御方法、プログラム、記憶媒体 |
JP2008311696A (ja) * | 2007-06-12 | 2008-12-25 | Hitachi Ltd | アクセス鍵自動配信システム |
JP2013504914A (ja) * | 2009-09-09 | 2013-02-07 | アルカテル−ルーセント | 安全な通信の確立 |
JP2013157894A (ja) * | 2012-01-31 | 2013-08-15 | Tokai Rika Co Ltd | 電子キー登録システム |
WO2013168388A1 (ja) * | 2012-05-07 | 2013-11-14 | 日本電気株式会社 | 無線通信方法、無線通信システム及び無線通信装置 |
JP2013236171A (ja) * | 2012-05-07 | 2013-11-21 | Nec Engineering Ltd | 無線通信装置及び無線通信方法 |
CN113423480A (zh) * | 2018-12-20 | 2021-09-21 | 索尼互动娱乐有限责任公司 | 网络游戏系统中的安全数据通道 |
Also Published As
Publication number | Publication date |
---|---|
US20050235152A1 (en) | 2005-10-20 |
CN1671099A (zh) | 2005-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20050235152A1 (en) | Encryption key sharing scheme for automatically updating shared key | |
JP5634427B2 (ja) | 鍵生成装置、鍵生成方法およびプログラム | |
KR100610317B1 (ko) | 홈 네트워크를 구성하는 기기들에 대한 인증 장치 및 방법 | |
KR100599131B1 (ko) | 홈 네트워크를 위한 보안장치 및 그의 보안 설정 방법 | |
US9509510B2 (en) | Communication device, communication method, and computer program product | |
CN107659406B (zh) | 一种资源操作方法及装置 | |
WO2010064666A1 (ja) | 鍵配布システム | |
US20040161110A1 (en) | Server apparatus, key management apparatus, and encrypted communication method | |
CN105993146A (zh) | 不访问私钥而使用公钥密码的安全会话能力 | |
US8166293B2 (en) | Client server distributed system, client apparatus, server apparatus, and message encryption method used therefor | |
JP2004343717A (ja) | モバイルアドホックネットワークにおけるノード間の暗号化キー割り当て方法及びこれを用いたネットワーク装置 | |
CA2522555A1 (en) | Secure peer-to-peer messaging invitation architecture | |
KR20090095436A (ko) | 홈 네트워크에서 인증 정보를 관리하는 방법 및 그 장치 | |
JP4975252B2 (ja) | 非共有の秘密を危険にすることなく共有の秘密を検出する方法及び装置 | |
CN1798021B (zh) | 通信支持服务器、通信支持方法、及通信支持系统 | |
JP4344783B2 (ja) | シード配信型ワンタイムid認証 | |
US8341703B2 (en) | Authentication coordination system, terminal apparatus, storage medium, authentication coordination method, and authentication coordination program | |
JPH09321748A (ja) | 共有暗号鍵による通信システム、同システム用サーバ装置、同システム用クライアント装置、及び通信システムにおける暗号鍵の共有方法 | |
JP5784562B2 (ja) | 通信装置およびプログラム | |
JP2006279269A (ja) | 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム | |
JP4924943B2 (ja) | 認証付鍵交換システム、認証付鍵交換方法およびプログラム | |
JP2005175992A (ja) | 証明書配布システムおよび証明書配布方法 | |
JP2006041726A (ja) | 共有鍵交換システム、共有鍵交換方法及び方法プログラム | |
JP2009104509A (ja) | 端末認証システム、端末認証方法 | |
JP2007317091A (ja) | ワンタイムパスワード生成システムおよびワンタイムパスワード生成方法、ワンタイムパスワード生成装置、制御サーバおよびその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080610 |