説明

共通鍵生成端末、鍵共有システム、共通鍵生成方法

【課題】共通鍵を確実かつ安全に共有することのできる共通鍵生成手法を得る。
【解決手段】鍵生成源情報ranを複数取得する鍵生成源取得部と、鍵生成源情報ranのうち所定操作入力前後の所定時間幅tw内に鍵生成源取得部が取得したものを記録する記録部111と、他端末が送信する情報を受信する受信部131と、鍵生成源情報ranの少なくともいずれかに、受信部131が受信した情報と合致するものがあるか否かを検証する受信情報検証部117と、鍵生成源情報ranの少なくともいずれかを用いて他端末に送信する情報を生成する送信情報生成部と、送信情報生成部が生成した情報を他端末に送信する送信部130と、鍵生成源情報ranと合致すると受信情報検証部117が検証した情報と、鍵生成源情報ranを用いて送信情報生成部が生成した情報とに基づき共通鍵を生成する共通鍵生成部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、共通鍵暗号を用いて情報を暗号化する際に用いる共通鍵を生成する端末およびその方法、共通鍵を共有するシステムに関するものである。
【背景技術】
【0002】
従来、『複数の装置間で安全に鍵情報を共有することが可能な鍵共有システムを提供すること。』を目的とした技術として、『認証管理装置20と複数の無線端末装置10とからなる鍵共有システム1において,認証管理装置20は,鍵生成源情報を定期的に生成して各無線端末装置10に発信する。また,各無線端末装置10は,認証管理装置20から定期的に発信される鍵生成源情報を受信しつつ,無線端末装置10に対して直接的に与えられる第1の外部入力の検出をトリガとして,上記受信される鍵生成源情報のうち1又は2以上の鍵生成源情報を選択して保持する。そして,各無線端末装置10は,この保持された1又は2以上の鍵生成源情報に基づいて鍵情報を生成し,この鍵情報を認証管理装置20と共有する。これにより,盗聴装置は,無線端末装置10及び認証管理装置20に対して直接的に与えられる第1の外部入力を検出できないので,装置間で鍵情報を安全に共有できる。』というものが提案されている(特許文献1)。
【0003】
また、『無線LANシステムでは、端末とアクセスポイント間の接続情報の通信が暗号化されていない無線通信により行われるため、無線出力を低減したとしても、第三者が高感度アンテナを用いて無線通信を盗聴した場合には、接続設定値が簡単に漏洩してしまう。このため、無線LANのセキュリティが確保されない可能性がある。』ということを課題とした技術として、『無線ネットワーク接続設定値の秘匿性を高くするために、無線基地局と無線端末から成る無線システムの無線接続情報の設定方法は、無線基地局を無線端末の接続設定要求を受信する待機状態と無線端末の接続設定要求を拒否する閉塞状態を有する構成とし、無線基地局が待機状態のときに、無線端末のユーザに合図を送るステップと、合図に呼応して、ユーザの無線端末から無線基地局に該無線端末の公開鍵暗号を設定するステップと、公開鍵暗号により無線接続情報を暗号化して無線端末に送付するステップとから成るようにした。』というものが提案されている(特許文献2)。
【0004】
【特許文献1】特開2007−88629号公報(要約)
【特許文献2】特開2007−189565号公報(要約)
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記特許文献1に記載の技術では、鍵を共有したい2つの端末同士でユーザ操作を同時に行い、その直後に受信した鍵生成源情報を秘密情報として共有する。このユーザ操作は、ごく正確に同時発生することを想定している。
【0006】
しかしながら、ユーザ操作として、例えば2つの機器にそれぞれ装着されているボタンを同時に押す場合を考えたとき、マニュアル操作であるため手元が狂い同時にボタンを押すことができない、といったことも考えられる。
この場合、ユーザ操作にタイムラグが発生するので、ユーザ操作直後に受信した鍵生成源情報が2つの端末間で異なり、共有可能な鍵生成源情報を一意に決定することができない場合もあり得る。すると、結果的に2つの端末間で共通鍵を生成することができないことになる。
【0007】
特に、第3者からの盗聴が困難になるように鍵生成源情報を頻繁に配信している場合には、上述のタイムラグの間に複数の鍵生成源情報が各端末へ配信されることになり、共有可能な鍵生成源情報を各端末が一意に決定することができない可能性が高くなると考えられる。
【0008】
上記特許文献2に記載の技術では、無線基地局は無線端末から受信した公開鍵を用いてメッセージを暗号化し、無線端末に安全にメッセージを送信する。
しかし、鍵情報そのものを無線信号で送信するため、第3者が容易に鍵情報を盗聴することができ、共通鍵暗号には不向きである。そのため、上記特許文献2では、非対称暗号方式を前提とし、公開鍵を無線配信することとしている。
【0009】
以上のような背景から、共通鍵を確実かつ安全に共有することのできる共通鍵生成手法が望まれていた。
【課題を解決するための手段】
【0010】
本発明に係る共通鍵生成端末は、共通鍵暗号に用いる共通鍵を生成する端末であって、前記共通鍵を生成する基となる鍵生成源情報を複数取得する鍵生成源取得部と、操作入力を受け付ける操作部と、前記鍵生成源情報のうち前記操作部が所定操作入力を受け付けた時点を基準とする所定時間幅内に前記鍵生成源取得部が取得したものを記録する記録部と、他端末が送信する情報を受信する受信部と、前記記録部が記録している鍵生成源情報の少なくともいずれかに、前記受信部が受信した情報と合致するものがあるか否かを検証する受信情報検証部と、前記記録部が記録している鍵生成源情報の少なくともいずれかを用いて前記他端末に送信する情報を生成する送信情報生成部と、前記送信情報生成部が生成した情報を前記他端末に送信する送信部と、前記記録部に記録されている鍵生成源情報と合致すると前記受信情報検証部が検証した情報と、前記記録部に記録されている鍵生成源情報を用いて前記送信情報生成部が生成した情報とに基づき前記共通鍵を生成する共通鍵生成部と、を備えるものである。
【発明の効果】
【0011】
本発明に係る共通鍵生成端末によれば、操作部が所定操作入力を受け付けた時点を基準とする所定時間幅内に取得した鍵生成源情報を記録しておく。
そのため、操作入力を行うタイミングについて端末間のタイムラグがある場合でも、上記所定時間幅以内のタイムラグであれば吸収することができるので、共有可能な共通鍵を確実に生成することができる。
【0012】
また、共通鍵そのものを配信するわけではなく、共通鍵を生成する基となる鍵生成源情報を共有するので、各端末は安全に共通鍵を生成することができる。
【発明を実施するための最良の形態】
【0013】
実施の形態1.
図1は、本発明の実施の形態1に係る鍵共有システムの構成図である。
本実施の形態1に係る鍵共有システムは、無線ノード100aおよび100b、鍵生成源情報配信装置200を有する。
【0014】
無線ノード100aおよび100bは、鍵生成源情報配信装置200が配信する鍵生成源情報を受信することができる位置に存在する。また、無線ノード100aと100bは互いに通信することのできる位置に存在する。
【0015】
鍵生成源情報配信装置200は、鍵生成源情報を配信する。
鍵生成源情報とは、共通鍵を生成する基となる情報のことであり、例えば擬似乱数のシード、あるいは乱数そのものなどがこれに相当する。
【0016】
無線ノード100aと100bは、無線通信を行う通信端末である。無線ノード100aと100bは、後述の図5〜図7で説明する手法を用いて、鍵生成源情報に基づき共有可能な共通鍵を生成する。
【0017】
無線ノード100aと100bは同様の構成を有するため、以下ではこれらを総称するときは無線ノード100と呼び、アルファベットの添字を省略する。各無線ノードが備える構成部についても同様である。
【0018】
図2は、無線ノード100の外観図である。
無線ノード100の筐体外部には、表示灯105、スイッチ110が設けられている。また、無線ノード100は、他のノードと通信するための無線アンテナ104を備える。
ユーザはスイッチ110を操作することにより、無線ノード100に指示を行ったり、外部のイベントを通知したりする。
外部のイベントとは、無線ノードの外部に設置したセンサなどにより検出された外部事象を指す。例えば、無線ノードに外部接続した振動センサの値の変化を外部イベントとして無線ノードに通知する、などが考えられる。この場合、振動センサの値の変化によって、共通鍵の更新(再設定やリフレッシュ)が行われるような利用例が想定される。
表示灯105は、LED(Light Emitting Diode)などの表示手段で構成され、点灯により無線ノード100内部状態を外部に知らせる役割を果たす。例えば、チャレンジレスポンスに成功した、共通鍵の生成に成功したなどの無線ノード内部の処理経過を示す。これにより、ユーザは内部処理を肉眼確認できる。
【0019】
図3は、鍵生成源情報配信装置200の外観図である。
鍵生成源情報配信装置200は、無線通信するための無線アンテナ204を備える。
鍵生成源情報配信装置200は、電源が投入されると、乱数や時刻情報などから構成される鍵生成源情報を所定時間間隔で無線配信する役割を有する。したがって、無線ノード100のようにスイッチや表示灯は必ずしも必要ない。
本発明では、鍵生成源情報をran(n)と表す。nは、鍵生成源情報の通番である。
【0020】
図4は、本実施の形態1に係る無線ノード100の機能ブロック図である。
無線ノード100は、スイッチ110、鍵生成源情報記録部111、一時記録メモリ112、記録テーブル113、共通秘密情報格納部114、ウインドウ時間タイマ115、レスポンス生成部116、チャレンジ検証部117、チャレンジ生成部118、ウインドウ時間設定部120、送信部130、受信部131を備える。
また、無線ノード100は、共通秘密情報格納部114が格納する秘密情報を用いて共通鍵を生成する共通鍵生成部(図示せず)を備える。
【0021】
スイッチ110は、鍵生成源情報記録部111、一時記録メモリ112、ウインドウ時間タイマ115に接続されている。
【0022】
鍵生成源情報記録部111は、受信部131が受信した鍵生成源情報ran(n)のうち、ユーザがスイッチ110を押下した直後のもののみを記録する。詳細は後述の図5で改めて説明する。
鍵生成源情報記録部111は、共通秘密情報格納部114とレスポンス生成部116に接続されている。
【0023】
一時記録メモリ112は、受信部131が受信した鍵生成源情報ran(n)を受信部131から経常的に受け取って記録する。ran(n)を記録しておく時間は、例えば、後述の図5で説明するユーザ操作t1の前ウインドウ時間twから始まり、少なくともユーザ操作t1のあとウインドウ時間twまでに受信した鍵生成源情報を記録する、などとする。
また、スイッチ110が押下されたとき、押下時刻の前後それぞれウインドウ時間tw分の幅内(即ち、時間2twの幅内)に記録した鍵生成源情報ran(n)を、記録テーブル113に移動する。詳細は後述の図5で改めて説明する。
【0024】
記録テーブル113は、チャレンジ検証部117に接続されている。
【0025】
共通秘密情報格納部114は、無線ノード100aと100bで共有する秘密情報を格納する。
本実施の形態1では、鍵生成源情報記録部111に記録された鍵生成源情報ran(n)と、チャレンジ検証部117が検証した鍵生成源情報の2つを、無線ノード100aと100bで共有する秘密情報とする。共有手法は、後述の図5〜図7で改めて説明する。
【0026】
ウインドウ時間タイマ115は、スイッチ110が押下された後、少なくともウインドウ時間twが経過したとき、その旨をチャレンジ生成部118に通知する。
【0027】
レスポンス生成部116は、受信部131が受信したチャレンジ情報と、鍵生成源情報記録部111に記録されている鍵生成源情報ran(n)とを用いて、レスポンス情報を生成する。チャレンジ情報とレスポンス情報については、後述の図5で改めて説明する。
レスポンス生成部116は、生成したレスポンス情報を、送信部130を介してチャレンジ情報の送信元端末に送信する。
【0028】
チャレンジ検証部117は、記録テーブル113の中に、受信部131が受信したレスポンス情報と合致する鍵生成源情報が存在するか否かを検証し特定する。特定した鍵生成源情報は、共通秘密情報格納部114に格納される。
【0029】
チャレンジ生成部118は、例えば乱数で構成される任意のチャレンジ情報を生成し、送信部130を介して送信する。
【0030】
ウインドウ時間設定部120は、ウインドウ時間twの値をユーザが入力して設定するためのインターフェース等から構成される。
【0031】
送信部130は、レスポンス生成部116とチャレンジ生成部118が出力するそれぞれの信号に、送信アドレス、受信アドレス、コード番号を付与したパケットを生成し、他の無線ノードに送信する。パケット形式は、後述の図10〜図11で改めて説明する。
【0032】
受信部131は、鍵生成源情報配信装置200が配信する鍵生成源情報ran(n)を受信し、一時記録メモリ112に格納する。
また、他の無線ノード100から受信したパケットの、送信アドレス、受信アドレス、コード番号を検査した後、鍵生成源情報記録部111、一時記録メモリ112、レスポンス生成部116、チャレンジ検証部117に、各部が受け取る信号を出力する。
【0033】
ウインドウ時間タイマ115、レスポンス生成部116、チャレンジ検証部117、チャレンジ生成部118、ウインドウ時間設定部120、共通鍵生成部は、これらの機能を実現する回路デバイスのようなハードウェアで構成することもできるし、マイコンやCPU(Central Processing Unit)のような演算装置とその動作を規定する回路デバイスで構成することもできる。
【0034】
鍵生成源情報記録部111、一時記録メモリ112、記録テーブル113、共通秘密情報格納部114は、メモリ装置等の記憶手段で構成することができる。これらを共通の記憶手段で構成することもできる。
【0035】
送信部130、受信部131は、無線通信を行うためのインターフェースや信号処理部等を適宜備える。
【0036】
本実施の形態1における「鍵生成源取得部」は、受信部131が相当する。
また、「受信情報検証部」は、チャレンジ検証部117が相当する。
また、「送信情報生成部」は、レスポンス生成部116、チャレンジ生成部118が相当する。
【0037】
以上、本実施の形態1に係る鍵共有システムと無線ノード100の構成を説明した。
次に、無線ノード100aと100bの間で共通鍵を共有する手順を説明する。
【0038】
無線ノード100aと100bの間で共通鍵を共有するに際し、以下の2つの事項について事前に申し合わせておくこととする。
【0039】
<事前の申し合わせ1>
ユーザは、無線ノード100aのスイッチ110aを押下した後に、無線ノード100bのスイッチ110bを押下するものとする。
<事前の申し合わせ2>
ユーザが無線ノード100aと100bのスイッチ110を押下する時間差は、ウインドウ時間tw以内であるものとする。
【0040】
図5は、無線ノード100aと100bが共通鍵を共有する過程を示すシーケンス図である。以下、図5の各ステップについて説明する。
【0041】
(S501):記録開始
無線ノード100aと100bが動作を始める時刻よりも前に、鍵生成源情報配信装置200が鍵生成源情報ran(n)を配信しているものとする。
無線ノード100aの受信部131aは、鍵生成源情報ran(n)を受信し、一時記録メモリ112aへ記録する動作を開始する(時刻t0)。
【0042】
(S502):ユーザ操作
ユーザは、無線ノード100aのスイッチ110aを押下する(時刻t1)。ここではran(09)とran(10)の間にスイッチ110aを押下したものとする。
この時点では、一時記録メモリ112aには鍵生成源情報ran(09)までが記録されている。
鍵生成源情報記録部111aは、ユーザがスイッチ110aを押下した直後に受信部131aが受信した鍵生成源情報を記録する。図5の例では、ran(10)が鍵生成源情報記録部111aに記録される。
このran(10)は、以後の処理において、無線ノード100aが保持する秘密情報として取り扱われる。
【0043】
(S503):ユーザ操作
ユーザは、無線ノード100aのスイッチ110aを押下してからウインドウ時間twが経過するまでの間に、無線ノード100bのスイッチ110bを押下する(時刻t2)。ここではran(11)とran(12)の間にスイッチ110bを押下したものとする。
この時点では、一時記録メモリ112bには鍵生成源情報ran(11)までが記録されている。
鍵生成源情報記録部111bは、ユーザがスイッチ110bを押下した直後に受信部131bが受信した鍵生成源情報を記録する。図5の例では、ran(12)が鍵生成源情報記録部111bに記録される。
このran(12)は、以後の処理において、無線ノード100bが保持する秘密情報として取り扱われる。
【0044】
(S504):タイマ検査
各無線ノードのウインドウ時間タイマ115は、ステップS502とS503それぞれのユーザ操作からウインドウ時間twが経過したか否かを検査する。
【0045】
(S505):鍵生成源情報移行
時刻t1からウインドウ時間tw経過後(時刻t3)、一時記録メモリ112aは、ユーザがスイッチ110aを押下した時刻t1前後のウインドウ時間tw幅内に記録した鍵生成源情報ran(n)を、記録テーブル113aに移行する。
図5の例では、ran(07)〜ran(12)が該当する。このときの記録テーブル113aの内容は、後述の図8で改めて示す。
【0046】
(S506):鍵生成源情報移行
時刻t2からウインドウ時間tw経過後(時刻t4)、一時記録メモリ112bは、ユーザがスイッチ110bを押下した時刻t2前後のウインドウ時間tw幅内に記録した鍵生成源情報ran(n)を、記録テーブル113bに移行する。
図5の例では、ran(09)〜ran(14)が該当する。このときの記録テーブル113bの内容は、後述の図9で改めて示す。
【0047】
(S507):チャレンジ送信
無線ノード100aは、時刻t3からさらに少なくともウインドウ時間twを経過するまで待機する。
次に、チャレンジ生成部118aは、送信部130aを介して、任意のチャレンジ情報chl_1をブロードキャストする。
ブロードキャストを行うのは、無線ノード100aが無線ノード100bの存在を知らない可能性があることによる。即ち、共通の秘密情報を所望する全ての無線ノードにチャレンジ情報chl_1を配布することを意図したものである。このときのパケット形式は後述の図10で改めて説明する。
【0048】
(S508):レスポンス送信
無線ノード100bの受信部131bがチャレンジ情報chl_1を受信した場合、レスポンス生成部116bは、レスポンス情報rsp_1を生成し、送信部130bを介して無線ノード100aに送信する。
レスポンス生成部116bは、受信したチャレンジ情報chl_1と、無線ノード100bの鍵生成源情報記録部111bに記録されている鍵生成源情報ran(12)とを規定演算式Fに適用して、下記式のようにレスポンス情報rsp_1を生成する。
rsp_1=F(chl_1,ran(12))
このときのパケット形式は、後述の図11で改めて説明する。
また、無線ノード100bは、チャレンジ情報のパケットに含まれる無線ノード100aの番号を、適当なメモリ等に記録しておく。
【0049】
(S509):レスポンス検証
無線ノード100aの受信部131aがレスポンス情報rsp_1を受信すると、チャレンジ検証部117aは、記録テーブル113aの中に、レスポンス情報rsp_1と合致する鍵生成源情報ran(n)が記録されているか否かを検証する。
具体的には、ステップS508で説明した規定の演算式と同じ演算式Fを用いて、F(chl_1,ran(07))〜F(chl_1,ran(12))の値を計算し、rsp_1と一致するものがあるか否かを検索する。
ここでは、F(chl_1,ran(12))がrsp_1と一致するので、ran(12)と無線ノード100bの番号を一時的に適当なメモリ等へ記録しておく。
もし、記録テーブル113aの中に、上述の演算によってレスポンス情報rsp_1と合致する鍵生成源情報ran(n)が記録されていなかったときは、無線ノード100aと100bは秘密情報を共有することができなかったとみなし、以後の処理を中断する。
本ステップにより、無線ノード100bがステップS503で秘密情報として記録した鍵生成源情報ran(12)が、無線ノード100aと無線ノード100bの間で共有される。
【0050】
(S510):チャレンジ送信
無線ノード100bは、時刻t4からさらに少なくともウインドウ時間tw経過するまで待機する。
次に、チャレンジ生成部118bは、送信部130bを介して、任意のチャレンジ情報chl_2をブロードキャストする。
本ステップの趣旨は、ステップS507と同様である。
【0051】
(S511):レスポンス送信
無線ノード100aの受信部131aがチャレンジ情報chl_2を受信した場合、レスポンス生成部116aは、レスポンス情報rsp_2を生成し、送信部130aを介して無線ノード100bに送信する。
レスポンス生成部116aは、受信したチャレンジ情報chl_2と、無線ノード100aの鍵生成源情報記録部111aに記録されている鍵生成源情報ran(10)とを規定演算式Fに適用して、下記式のようにレスポンス情報rsp_2を生成する。
rsp_2=F(chl_2,ran(10))
また、無線ノード100aは、チャレンジ情報のパケットに含まれる無線ノード100bの番号を、適当なメモリ等に記録しておく。
【0052】
(S512):レスポンス検証
無線ノード100bの受信部131bがレスポンス情報rsp_2を受信すると、チャレンジ検証部117bは、記録テーブル113bの中に、レスポンス情報rsp_2と合致する鍵生成源情報ran(n)が記録されているか否かを検証する。
具体的には、ステップS508で説明した規定の演算式と同じ演算式Fを用いて、F(chl_2,ran(09))〜F(chl_2,ran(14))の値を計算し、rsp_2と一致するものがあるか否かを検索する。
ここでは、F(chl_2,ran(10))がrsp_2と一致するので、ran(10)と無線ノード100aの番号を一時的に適当なメモリ等へ記録しておく。
もし、記録テーブル113bの中に、上述の演算によってレスポンス情報rsp_2と合致する鍵生成源情報ran(n)が記録されていなかったときは、無線ノード100aと100bは秘密情報を共有することができなかったとみなし、以後の処理を中断する。
本ステップにより、無線ノード100aがステップS502で秘密情報として記録した鍵生成源情報ran(10)が、無線ノード100aと無線ノード100bの間で共有される。
【0053】
(S513):ノード番号一致確認
無線ノード100aと100bのチャレンジ検証部117は、チャレンジ情報受信時とレスポンス検証時それぞれでパケットから抽出した相手方ノード番号が相互に一致するか否かを確認する。
一致したことが確認できればステップS514へ進み、一致が確認できなければ、無線ノード100aと100bは秘密情報を共有することができなかったとみなし、以後の処理を中断する。
【0054】
(S514):秘密情報を共有
以上のステップにより、無線ノード100aと100bは、互いのノード番号を共有したことになる。
さらには、無線ノード100aは無線ノード100bが秘密情報として保持する鍵生成源情報ran(12)を特定し、無線ノード100bは無線ノード100aが秘密情報として保持する鍵生成源情報ran(10)を特定したことになる。
したがって、無線ノード100aと100bの間で、互いのノード番号、鍵生成源情報ran(10)、鍵生成源情報ran(12)が共有されたことになる。
これらは無線ノード100aと100bの間で共有する秘密情報として、共通秘密情報格納部114に格納される。以後、各無線ノードの共通鍵生成部は、この秘密情報を用いて共通鍵を生成する。
これにより、共有する秘密情報を用いて共通鍵を生成することになるので、各端末では同一の共通鍵を生成することができ、共通鍵そのものを無線送信することなく安全にノード間で共有することができるのである。
【0055】
以上、無線ノード100aと100bが共通鍵を共有する過程を、図5のシーケンス図で説明した。
【0056】
図6は、図5のシーケンス図を各無線ノードの動作フローとして表した図である。
両図の対応関係を表すため、同じ処理には同じステップ番号を付した。図5のステップを図6において複数のステップで表す場合は、図6のステップ番号に補助番号を添えた。
図6の処理フローの内容は、図5の各ステップと同様である。
【0057】
図7は、図5のステップS509やS512におけるレスポンス検証処理のフローチャートである。以下、図7の各ステップについて説明する。なお、ここでは無線ノード100aにおけるS509の処理を説明する。
【0058】
(S700)
無線ノード100aの受信部131aがレスポンス情報rsp_1を受信すると、本処理フローが開始される。
(S701)
チャレンジ検証部117aは、記録テーブル113aの中に、レスポンス情報rsp_1と合致する鍵生成源情報ran(n)が記録されているか否かを検証する。
具体的には、ステップS508で説明した規定の演算式と同じ演算式Fを用いて、F(chl_1,ran(07))〜F(chl_1,ran(12))の値を計算し、rsp_1と一致するものがあるか否かを検索する。
【0059】
(S702)
rsp_1と一致するものを検索できればステップS703へ進み、検索できなければステップS704へ進む。
(S703)
チャレンジ検証部117aは、検索した鍵生成源情報(ここではran(12))と無線ノード100bの番号を一時的に適当なメモリ等へ記録しておく。
(S704)
チャレンジ検証部117aは、以後の処理を中断する。
【0060】
図8は、図5のステップS505における記録テーブル113aの記録内容を示す図である。ステップS505では、時刻t1の前後ウインドウ時間tw幅内に受信した鍵生成源情報ran(07)〜ran(12)が記録される。
【0061】
図9は、図5のステップS506における記録テーブル113bの記録内容を示す図である。ステップS506では、時刻t2の前後ウインドウ時間tw幅内に受信した鍵生成源情報ran(09)〜ran(14)が記録される。
【0062】
図10は、チャレンジ情報のパケット構成を示す図である。
チャレンジ情報パケットは、送信アドレス部、受信アドレス部、データ部を有する。
送信アドレス部には、チャレンジ情報パケットの送信元ノード番号が格納される。
受信アドレス部には、ブロードキャストパケットである旨を示す値が格納される。
データ部には、チャレンジ生成部118が生成したチャレンジ情報が格納される。
【0063】
図11は、レスポンス情報のパケット構成を示す図である。
レスポンス情報パケットは、送信アドレス部、受信アドレス部、データ部を有する。
送信アドレス部には、レスポンス情報パケットの送信元ノード番号が格納される。
受信アドレス部には、レスポンス情報パケットの送信先ノード番号が格納される。
データ部には、レスポンス生成部116が生成したレスポンス情報が格納される。
【0064】
以上、無線ノード100aと100bが共通鍵を共有する手順について説明した。
各記憶手段がデータを出力する際には、各記憶手段自体がデータ出力機能を備えていてもよいし、他の機能部やその他の演算装置などが各記憶手段にアクセスし、データを読み取るようにしてもよい。
【0065】
以上のように、本実施の形態1によれば、鍵生成源情報ran(n)が盗聴されたとしても、スイッチ110がいつ押下されたかを盗聴端末が知ることはできないので、各端末がいずれの鍵生成源情報を秘密情報として保持しているかを隠蔽することができる。
【0066】
また、本実施の形態1によれば、ユーザが無線ノード100aと100bで行う操作(スイッチ110の押下)のタイムラグが、事前に申し合わせたウインドウ時間tw以内に収まっていれば、各無線ノード100の記録テーブル113には、他の無線ノードが保持する鍵生成源情報ran(n)が格納されていることになる。
そのため、ユーザ操作にタイムラグがあっても、各無線ノード100で、鍵生成源情報ran(n)を秘密情報として共有することができる。
これにより、ユーザは厳密に時刻を同期させることなく、特段の注意を払わずに操作を行うことができるので、共通鍵を簡易かつ安全に共有することができる。
【0067】
また、本実施の形態1によれば、レスポンス生成部116は、鍵生成源情報記録部111が記録している鍵生成源情報、即ちユーザ操作直後に記録された鍵生成源情報を、チャレンジ情報とともに演算式Fに適用してレスポンス情報を生成する。
これにより、演算式Fを共有している前提の下、鍵生成源情報記録部111が記録している鍵生成源情報を、安全に他の無線ノードに送信することができる。
【0068】
また、本実施の形態1によれば、共通鍵そのものを他の無線ノードに送信するのではなく、共通鍵を生成する基となる鍵生成源情報を無線ノード間で共有し、これに基づき各無線ノードは自ら共通鍵を生成する。
したがって、共通鍵が無線ネットワーク内に流れることがないので、公開鍵暗号方式を用いる必要はなく、安全に共通鍵を無線ノード間で共有することができる。
さらには、共通鍵暗号は一般に公開鍵暗号よりも演算負荷が少ないので、共通鍵を安全に共有する利点をさらに高めることができる。
【0069】
また、本実施の形態1によれば、ウインドウ時間twをウインドウ時間設定部120から入力して変更することにより、ユーザ操作に伴うユーザ負担を変え、無線ノード100の設置状態やユーザの操作状況に合わせることができる。
例えば、2つの無線ノード100が離れて設置されている場合、1人のユーザが双方の無線ノード100の操作を行うと、ユーザ操作に伴う移動時間に起因して、必然的にユーザ操作のタイムラグが大きくなる。
このような場合は、設置状況に合わせたタイムラグを許容するように、ウインドウ時間twを大きく設定するとよい。
【0070】
実施の形態2.
実施の形態1では、無線ノード100aのスイッチ110aを先に押下する例を説明したが、押下する順番は無線ノード100bが先でもよい。本実施の形態2では、このときの動作について説明する。
【0071】
図12は、ユーザが無線ノード100bのスイッチ110bを先に押下した場合において、無線ノード100aと100bが共通鍵を共有する過程を示すシーケンス図である。
図12の動作シーケンスは、図5と同様である。図12の例では、各無線ノード100において行われたユーザ操作の直後に受信した鍵生成源情報、ここではran(08)とran(10)が、無線ノード間で共有されることになる。
【0072】
実施の形態3.
実施の形態1〜2では、ユーザ操作直後に受信した鍵生成源情報ran(n)を鍵生成源情報記録部111に記録することを説明したが、これに限られず、例えばユーザ操作直前に受信した鍵生成源情報ran(n)を鍵生成源情報記録部111に記録するようにしてもよい。
図5の例では、ran(09)とran(11)が、鍵生成源情報記録部111に記録されることになる。
【0073】
ユーザ操作は、各無線ノードで秘密情報として使用し、さらに他の無線ノードに共有させたい秘密情報を指示するために行うものである。そのため、その指示内容を特定できるのであれば、記録する鍵生成源情報ran(n)は、ユーザ操作の直前直後のいずれであってもよいのである。
また、これ以外にも、ユーザ操作を契機として記録する鍵生成源情報ran(n)を確定できるのであれば、ユーザ操作の直前や直後以外に受信した鍵生成源情報ran(n)を鍵生成源情報記録部111に記録するようにしてもよい。
【0074】
実施の形態4.
以上の実施の形態1〜3では、鍵生成源情報ran(n)は、鍵生成源情報配信装置200が配信することとしたが、各無線ノードのいずれかが鍵生成源情報ran(n)を配信する機能を備えていてもよい。
例えば、鍵生成源情報配信装置200が鍵生成源情報ran(n)の一次配信元となり、これを受信した各無線ノードが他の無線ノードに鍵生成源情報ran(n)を転送する、といった形態が考えられる。
【0075】
実施の形態5.
以上の実施の形態1〜4では、鍵生成源情報配信装置200と各無線ノード100は同一の周波数を用いて無線通信を行うことを想定したが、これに限る必要はなく、各無線ノード100が共通に受信することのできる無線信号を用いればよい。
例えば、電波時計が受信する時計情報を含む標準電波を用いることができる。
この場合、各無線ノード100は、標準電波を受信する標準電波受信部と、無線ノード100間で無線通信を行う送信部130および受信部131とを、ともに備えることになる。
【0076】
実施の形態6.
以上の実施の形態1〜5では、各無線ノード100間で共有する鍵生成源情報を特定する手法として、チャレンジ/レスポンス方式を用いたが、これに限る必要はなく、その他の方式を用いて鍵生成源情報を共有することもできる。
【0077】
実施の形態7.
以上の実施の形態1〜6では、各無線ノード100は、鍵生成源情報ran(n)は鍵生成源情報配信装置200から受信することを説明したが、無線ノード100自身が鍵生成源情報ran(n)を生成し、これを各無線ノード100間で同期させる手段を各無線ノード100が備えるようにしてもよい。
【0078】
例えば、各無線ノード100は正確な時計または相互に正確に同期可能な時計を備え、鍵生成源情報配信装置200から鍵生成源情報ran(n)を受信することに代えて、各無線ノード100は、自ら生成する時刻情報を鍵生成源情報ran(n)として用いる。
【0079】
この場合、各無線ノード100では、同一の値を持つ鍵生成源情報ran(n)が同時刻に生成されるので、鍵生成源情報配信装置200から鍵生成源情報ran(n)を受信するのと同等の動作状況となる。したがって、以上の実施の形態で説明した構成と動作をそのまま適用することができる。
【0080】
本実施の形態7における「鍵生成源情報取得部」は、自ら鍵生成源情報ran(n)を生成して取得する手段が相当する。
【0081】
実施の形態8.
以上の実施の形態1〜7において、無線ノード100は無線通信を行う送信部130と受信部131を備えることを説明したが、同様の手法を有線通信に用いることもできる。
また、送信部130と受信部131をノード100から切り離して外部装置に設け、ノード100は共通鍵共有に係る処理のみを行って、その外部装置を介して他ノードと各情報を送受信するように構成してもよい。
【図面の簡単な説明】
【0082】
【図1】実施の形態1に係る鍵共有システムの構成図である。
【図2】無線ノード100の外観図である。
【図3】鍵生成源情報配信装置200の外観図である。
【図4】実施の形態1に係る無線ノード100の機能ブロック図である。
【図5】無線ノード100aと100bが共通鍵を共有する過程を示すシーケンス図である。
【図6】図5のシーケンス図を各無線ノードの動作フローとして表した図である。
【図7】図5のステップS509やS512におけるレスポンス検証処理のフローチャートである。
【図8】図5のステップS505における記録テーブル113aの記録内容を示す図である。
【図9】図5のステップS506における記録テーブル113bの記録内容を示す図である。
【図10】チャレンジ情報のパケット構成を示す図である。
【図11】レスポンス情報のパケット構成を示す図である。
【図12】ユーザが無線ノード100bのスイッチ110bを先に押下した場合において、共通鍵を共有する過程を示すシーケンス図である。
【符号の説明】
【0083】
100a〜100b 無線ノード、110 スイッチ、111 鍵生成源情報記録部、112 一時記録メモリ、113 記録テーブル、114 共通秘密情報格納部、115 ウインドウ時間タイマ、116 レスポンス生成部、117 チャレンジ検証部、118 チャレンジ生成部、120 ウインドウ時間設定部、130 送信部、131 受信部、200 鍵生成源情報配信装置。

【特許請求の範囲】
【請求項1】
共通鍵暗号に用いる共通鍵を生成する端末であって、
前記共通鍵を生成する基となる鍵生成源情報を複数取得する鍵生成源取得部と、
操作入力を受け付ける操作部と、
前記鍵生成源情報のうち前記操作部が所定操作入力を受け付けた時点を基準とする所定時間幅内に前記鍵生成源取得部が取得したものを記録する記録部と、
他端末が送信する情報を受信する受信部と、
前記記録部が記録している鍵生成源情報の少なくともいずれかに、前記受信部が受信した情報と合致するものがあるか否かを検証する受信情報検証部と、
前記記録部が記録している鍵生成源情報の少なくともいずれかを用いて前記他端末に送信する情報を生成する送信情報生成部と、
前記送信情報生成部が生成した情報を前記他端末に送信する送信部と、
前記記録部に記録されている鍵生成源情報と合致すると前記受信情報検証部が検証した情報と、前記記録部に記録されている鍵生成源情報を用いて前記送信情報生成部が生成した情報とに基づき前記共通鍵を生成する共通鍵生成部と、
を備えることを特徴とする共通鍵生成端末。
【請求項2】
前記送信情報生成部は任意の第1チャレンジ情報を生成し、
前記受信情報検証部は、
前記受信部が受信した情報が、
前記記録部に記録されている鍵生成源情報と前記第1チャレンジ情報を所定演算式に適用して得られる情報と一致するか否かにより、
前記検証を実行する
ことを特徴とする請求項1記載の共通鍵生成端末。
【請求項3】
前記受信部は、
前記他端末が送信する任意の第2チャレンジ情報を受信し、
前記送信情報生成部は、
前記第2チャレンジ情報と前記記録部に記録されている鍵生成源情報を前記所定演算式に適用して前記第2チャレンジ情報に対するレスポンス情報を生成する
ことを特徴とする請求項2記載の共通鍵生成端末。
【請求項4】
前記送信部および前記受信部は、前記他端末と無線により通信する
ことを特徴とする請求項1ないし請求項3のいずれかに記載の共通鍵生成端末。
【請求項5】
前記鍵生成源情報を他端末に配信する手段を備えた
ことを特徴とする請求項1ないし請求項4のいずれかに記載の共通鍵生成端末。
【請求項6】
複数の前記鍵生成源情報を自ら生成する手段と、
その複数の鍵生成源情報を他端末との間で共有する手段と、
を備えることを特徴とする請求項1ないし請求項4のいずれかに記載の共通鍵生成端末。
【請求項7】
請求項1ないし請求項4のいずれかに記載の複数の共通鍵生成端末と、
前記鍵生成源情報を各前記共通鍵生成端末に配信する鍵生成源情報配信装置と、
を有することを特徴とする鍵共有システム。
【請求項8】
請求項5または請求項6記載の共通鍵生成端末を複数有する
ことを特徴とする鍵共有システム。
【請求項9】
共通鍵暗号に用いる共通鍵を生成する方法であって、
前記共通鍵を生成する基となる鍵生成源情報を複数取得する鍵生成源取得ステップと、
操作入力を受け付ける操作ステップと、
前記鍵生成源情報のうち前記操作ステップで所定操作入力を受け付けた時点を基準とする所定時間幅内に前記鍵生成源取得ステップで取得したものを記録する記録ステップと、
他端末が送信する情報を受信する受信ステップと、
前記記録ステップで記録した鍵生成源情報の少なくともいずれかに、前記受信ステップで受信した情報と合致するものがあるか否かを検証する受信情報検証ステップと、
前記記録ステップで記録した鍵生成源情報の少なくともいずれかを用いて前記他端末に送信する情報を生成する送信情報生成ステップと、
前記送信情報生成ステップで生成した情報を前記他端末に送信する送信ステップと、
前記記録ステップで記録した鍵生成源情報と合致すると前記受信情報検証ステップで検証した情報と、前記記録ステップで記録した鍵生成源情報を用いて前記送信情報生成ステップで生成した情報とに基づき前記共通鍵を生成する共通鍵生成ステップと、
を有することを特徴とする共通鍵生成方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate