(57)【要約】本発明の鍵の生成方法では、先ず、第１の装置及び第２の装置を一のバイブレータに接触させた状態で、バイブレータが振動を発生し、第１の装置が備える第１の加速度センサ及び第２の装置が備える第２の加速度センサがその振動を検出する。引き続いて、第１の加速度センサの検出結果に基づく第１の特徴値を第１の装置が第２の装置に通知し、第２の加速度センサの検出結果に基づく第２の特徴値を第２の装置が第１の装置に通知する。そして、第１の装置が、通知された第２の特徴値と第１の特徴値とを比較し、比較結果に基づいて鍵を生成し、第２の装置が、通知された第１の特徴値と第２の特徴値とを比較し、比較結果に基づいて鍵を生成する。
2012091164.tif 000002
【特許請求の範囲】
【請求項１】
バイブレータに当該装置及び他の装置が接触しているとき前記バイブレータが発生する振動に応じて当該装置に発生する加速度を検出するための加速度センサと、
前記加速度センサの検出結果に基づく第１の特徴値を前記他の装置に送信するための送信手段と、
前記他の装置に発生した加速度に基づく第２の特徴値を前記他の装置から受信するための受信手段と、
前記受信手段にて受信した前記第２の特徴値と前記第１の特徴値とを比較し、比較結果に基づいて鍵を生成する鍵生成手段と、
を備えることを特徴とする鍵生成装置。
【請求項２】
前記バイブレータは振動を発生するオン区間と発生しないオフ区間を連続して複数回繰り返し、前記加速度センサは複数のオン区間を検出し、
前記送信手段は、前記複数のオン区間のそれぞれの検出結果に基づく複数の第１の特徴値を前記他の装置に送信し、
前記受信手段は、前記複数のオン区間のそれぞれの検出結果に基づく複数の第２の特徴値を前記他の装置から受信し、
前記鍵生成手段は、前記複数の第１の特徴値のひとつと、当該第１の特徴値に対応する前記複数の第２の特徴値のひとつとを比較して得られる複数の比較結果に基づいてひとつの鍵を生成する
ことを特徴とする請求項１に記載の鍵生成装置。
【請求項３】
前記鍵生成手段は、前記複数の第１の特徴値のひとつと、当該第１の特徴値に対応する前記複数の第２の特徴値のひとつとを比較し、互いに一致する一組の第１及び第２の特徴値に基づいてひとつの鍵小片を生成し、前記第１及び第２の特徴値に対応するオン区間の時系列順に複数の前記鍵小片を連結することによりひとつの鍵を生成することを特徴とする請求項２に記載の鍵生成装置。
【請求項４】
前記バイブレータを備えることを特徴とする請求項１乃至３のいずれか１つに記載の鍵生成装置。
【請求項５】
振動を発生または停止するランダムに定められた長さの区間に従って、前記バイブレータに対して振動を発生または停止させるように制御するバイブレータ制御手段と、
前記加速度センサによる、前記区間を含む期間の振動の検出結果を、予め定められた時間長さの時間窓に区切り、前記時間窓毎に量子化する量子化手段と、
前記量子化手段にて量子化した前記検出結果に基づいて前記第１の特徴値を生成する特徴値生成手段と
を更に備えることを特徴とする、請求項１乃至４のいずれか１つに記載の鍵生成装置。
【請求項６】
前記バイブレータ制御手段は、生成しようとする鍵の鍵長に応じて定められた数の前記区間に従って、前記バイブレータに振動を発生又は停止させることを特徴とする請求項５に記載の鍵生成装置。
【請求項７】
前記量子化手段は振動の有無を二値に量子化し、
前記特徴値生成手段は同じ値の量子値が連続する時間窓からなる継続区間の時間窓の数に基づいて前記第１の特徴値を生成する
ことを特徴とする請求項５又は６に記載の鍵生成装置。
【請求項８】
前記特徴値生成手段は、連続する３つの時間窓の量子値のうち２番目の時間窓の量子値のみが他の時間窓の量子値と異なるとき、前記２番目の時間窓の量子値を前記他の時間窓の量子値に変更する処理を、前記継続区間の時間窓を計数するのに先だって行なうことを特徴とする請求項７に記載の鍵生成装置。
【請求項９】
前記特徴値生成手段は、
前記継続区間の最初の時間窓を始端、前記継続区間の最後の時間窓の直後の時間窓を終端とするとき、前記始端及び終端の時間窓のいずれかの量子値を変更した量子値を求める手段と、
前記変更した量子値を該当する時間窓に適用した場合に、同じ値の量子値が連続する時間窓からなる継続区間の時間窓の数に基づいて第１の候補値を生成する手段とを備え、
前記送信手段は前記第１の特徴値に加えて前記第１の候補値を送信し、
前記受信手段は前記第２の特徴値に加えて、前記第１の候補値と同様にして生成された第２の候補値を受信し、
前記鍵生成手段は、前記受信手段にて受信した前記第２の特徴値及び第２の候補値のいずれかと、前記第１の特徴値及び第１の候補値のいずれかとを比較し、比較結果に基づいて鍵を生成する
ことを特徴とする請求項７又は８に記載の鍵生成装置。
【請求項１０】
入力された値のハッシュ値を出力するハッシュ手段を更に備え、
前記送信手段は、前記第１の特徴値の代わりにまたは前記第１の特徴値及び第１の候補値の代わりに、前記ハッシュ手段にて求めた第１の特徴値のハッシュ値をまたは前記ハッシュ手段にて求めた第１の特徴値及び第１の候補値のハッシュ値を、第１のハッシュ値として前記他の装置に送信し、
前記受信手段は、前記第２の特徴値の代わりにまたは前記第２の特徴値及び第２の候補値の代わりに、前記第２の特徴値のハッシュ値をまたは前記第２の特徴値及び第２の候補値のハッシュ値を第２のハッシュ値として受信し、
前記鍵生成手段は、前記受信手段にて受信した第２のハッシュ値と、前記ハッシュ手段にて生成した第１のハッシュ値とを比較し、比較結果に基づいて鍵を生成する
ことを特徴とする請求項１乃至９のいずれか１つに記載の鍵生成装置。
【請求項１１】
請求項１乃至１０のいずれか１つに記載の鍵生成装置を複数備え、少なくともひとつの前記バイブレータを備えることを特徴とする鍵生成システム。
【請求項１２】
加速度センサ、データ通信手段及びプロセッサを備える装置にて実行されるプログラムを記憶するコンピュータ読取り可能な記録媒体であって、前記プログラムは、
バイブレータに当該装置及び他の装置が接触しているとき前記バイブレータが発生する振動に応じて当該装置に発生する加速度を前記加速度センサにて検出する検出手順と、
前記加速度センサの検出結果に基づく第１の特徴値を前記データ通信手段にて前記他の装置に送信する送信手順と、
前記バイブレータが発生する振動に応じて前記他の装置に発生した加速度に基づく第２の特徴値を、前記データ通信手段にて前記他の装置から受信する受信手順と、
前記受信手順にて受信した前記第２の特徴値と前記第１の特徴値とを比較し、比較結果に基づいて鍵を生成する鍵生成手順と、
を前記プロセッサに実行させるコンピュータ読取り可能な記録媒体。
【請求項１３】
前記検出手順では、前記バイブレータに振動を発生するオン区間と発生しないオフ区間を連続して複数回繰り返させ、前記加速度センサに複数のオン区間を検出させ、
前記送信手順では、前記複数のオン区間のそれぞれの検出結果に基づく複数の第１の特徴値を前記他の装置に送信し、
前記受信手順では、前記複数のオン区間のそれぞれの検出結果に基づく複数の第２の特徴値を前記他の装置から受信し、
前記鍵生成手順では、前記複数の第１の特徴値のひとつと、当該第１の特徴値に対応する前記複数の第２の特徴値のひとつとを比較して得られる複数の比較結果に基づいてひとつの鍵を生成する
ことを特徴とする請求項１２に記載のコンピュータ読取り可能な記録媒体。
【請求項１４】
前記鍵生成手順は、前記複数の第１の特徴値のひとつと、当該第１の特徴値に対応する前記複数の第２の特徴値のひとつとを比較し、互いに一致する一組の第１及び第２の特徴値に基づいてひとつの鍵小片を生成し、前記第１及び第２の特徴値に対応するオン区間の時系列順に複数の前記鍵小片を連結することによりひとつの鍵を生成することを特徴とする請求項１３に記載のコンピュータ読取り可能な記録媒体。
【請求項１５】
更にバイブレータを備える装置にて実行されるプログラムを記憶したコンピュータ読取り可能な記録媒体であって、前記プログラムは、当該バイブレータの動作を制御する手順をコンピュータに実行させることを特徴とする請求項１２乃至１４のいずれか１つに記載のコンピュータ読取り可能な記録媒体。
【請求項１６】
前記プログラムは、
振動を発生または停止するランダムに定められた長さの区間に従って、前記バイブレータに振動を発生または停止させる制御手順と、
前記加速度センサによる、前記区間を含む期間の振動の検出結果を、予め定められた時間長さの時間窓に区切り、前記時間窓毎に量子化する量子化手順と、
前記量子化手順にて量子化した前記検出結果に基づいて前記第１の特徴値を生成する特徴値生成手順と
を前記プロセッサに実行させることを特徴とする、請求項１２乃至１５のいずれか１つに記載のコンピュータ読取り可能な記録媒体。
【請求項１７】
前記制御手順は、生成しようとする鍵の鍵長に応じて定められた数の前記区間に従って、前記バイブレータに振動を発生又は停止させることを特徴とする請求項１６に記載のコンピュータ読取り可能な記録媒体。
【請求項１８】
前記量子化手順は振動の有無を二値に量子化し、
前記特徴値生成手順は同じ値の量子値が連続する時間窓からなる継続区間の時間窓の数に基づいて前記第１の特徴値を生成する
ことを特徴とする請求項１６又は１７に記載のコンピュータ読取り可能な記録媒体。
【請求項１９】
前記特徴値生成手順は、連続する３つの時間窓の量子値のうち２番目の時間窓の量子値のみが他の時間窓の量子値と異なるとき、前記２番目の時間窓の量子値を前記他の時間窓の量子値に変更する処理を、前記継続区間の時間窓を計数するのに先だって行なうことを特徴とする請求項１８に記載のコンピュータ読取り可能な記録媒体。
【請求項２０】
前記特徴値生成手順は、
前記継続区間の最初の時間窓を始端、前記継続区間の最後の時間窓の直後の時間窓を終端とするとき、前記始端及び終端の時間窓のいずれかの量子値を変更した量子値を求める手順と、
前記変更した量子値を該当する時間窓に適用した場合に、同じ値の量子値が連続する時間窓からなる継続区間の時間窓の数に基づいて第１の候補値を生成する手順とを備え、
前記送信手順は前記第１の特徴値に加えて前記第１の候補値を送信し、
前記受信手順は前記第２の特徴値に加えて、前記第１の候補値と同様にして生成された第２の候補値を受信し、
前記鍵生成手順は、前記受信手順にて受信した前記第２の特徴値及び第２の候補値のいずれかと、前記第１の特徴値及び第１の候補値のいずれかとを比較し、比較結果に基づいて鍵を生成する
ことを特徴とする請求項１８又は１９に記載のコンピュータ読取り可能な記録媒体。
【請求項２１】
前記プログラムは、入力された値のハッシュ値を出力するハッシュ手順を更に備え、
前記送信手順は、前記第１の特徴値の代わりにまたは前記第１の特徴値及び第１の候補値の代わりに、前記ハッシュ手順にて求めた第１の特徴値のハッシュ値をまたは前記ハッシュ手順にて求めた第１の特徴値及び第１の候補値のハッシュ値を、第１のハッシュ値として前記他の装置に送信し、
前記受信手順は、前記第２の特徴値の代わりにまたは前記第２の特徴値及び第２の候補値の代わりに、前記第２の特徴値のハッシュ値をまたは前記第２の特徴値及び第２の候補値のハッシュ値を第２のハッシュ値として受信し、
前記鍵生成手順は、前記受信手順にて受信した第２のハッシュ値と、前記ハッシュ手順にて生成した第１のハッシュ値とを比較し、比較結果に基づいて鍵を生成する
ことを特徴とする請求項１２乃至２０のいずれか１つに記載のコンピュータ読取り可能な記録媒体。
【請求項２２】
第１の装置及び第２の装置を一のバイブレータに接触させた状態で、前記バイブレータに振動を発生させ、前記第１の装置が備える第１の加速度センサ及び前記第２の装置が備える第２の加速度センサにその振動を検出させる検出段階と、
前記第１の加速度センサの検出結果に基づく第１の特徴値を前記第１の装置が前記第２の装置に送信する送信段階と、
前記第２の加速度センサの検出結果に基づく第２の特徴値を前記第２の装置から前記第１の装置が受信する受信段階と、
前記第１の装置が、受信した前記第２の特徴値と前記第１の特徴値とを比較し、比較結果に基づいて鍵を生成する鍵生成段階と
を含むことを特徴とする鍵の生成方法。
【請求項２３】
前記検出段階では、前記バイブレータに振動を発生するオン区間と発生しないオフ区間を連続して複数回繰り返させ、前記第１および第２の加速度センサに複数のオン区間を検出させ、
前記送信段階では、前記複数のオン区間のそれぞれの検出結果に基づく複数の第１の特徴値を前記第２の装置に送信し、
前記受信段階では、前記複数のオン区間のそれぞれの検出結果に基づく複数の第２の特徴値を前記第２の装置から受信し、
前記鍵生成段階では、前記複数の第１の特徴値のひとつと、当該第１の特徴値に対応する前記複数の第２の特徴値のひとつとを比較して得られる複数の比較結果に基づいてひとつの鍵を生成する
ことを特徴とする請求項２２に記載の鍵の生成方法。
【請求項２４】
前記鍵生成段階は、前記複数の第１の特徴値のひとつと、当該第１の特徴値に対応する前記複数の第２の特徴値のひとつとを比較し、互いに一致する一組の第１及び第２の特徴値に基づいてひとつの鍵小片を生成し、前記第１及び第２の特徴値に対応するオン区間の時系列順に複数の前記鍵小片を連結することによりひとつの鍵を生成することを特徴とする請求項２３に記載の鍵の生成方法。
【請求項２５】
振動を発生または停止するランダムに定められた長さの区間に従って、前記バイブレータに対して振動を発生または停止させるように制御する制御段階と、
前記加速度センサによる、前記区間を含む期間の振動の検出結果を、予め定められた時間長さの時間窓に区切り、前記時間窓毎に量子化する量子化段階と、
前記量子化段階にて量子化した前記検出結果に基づいて前記第１の特徴値を生成する特徴値生成段階と
を含むことを特徴とする、請求項２２乃至２４のいずれか１つに記載の鍵の生成方法。
【請求項２６】
前記制御段階は、生成しようとする鍵の鍵長に応じて定められた数の前記区間に従って、前記バイブレータに振動を発生又は停止させることを特徴とする請求項２５に記載の鍵の生成方法。
【請求項２７】
前記量子化段階は振動の有無を二値に量子化し、
前記特徴値生成段階は同じ値の量子値が連続する時間窓からなる継続区間の時間窓の数に基づいて前記第１の特徴値を生成する
ことを特徴とする請求項２５又は２６に記載の鍵の生成方法。
【請求項２８】
前記特徴生成段階は、連続する３つの時間窓の量子値のうち２番目の時間窓の量子値のみが他の時間窓の量子値と異なるとき、前記２番目の時間窓の量子値を前記他の時間窓の量子値に変更する処理を、前記継続区間の時間窓を計数するのに先だって行なうことを特徴とする請求項２７に記載の鍵の生成方法。
【請求項２９】
前記特徴生成段階は、
前記継続区間の最初の時間窓を始端、前記継続区間の最後の時間窓の直後の時間窓を終端とするとき、前記始端及び終端の時間窓のいずれかの量子値を変更した量子値を求める段階と、
前記変更した量子値を該当する時間窓に適用した場合に、同じ値の量子値が連続する時間窓からなる継続区間の時間窓の数に基づいて第１の候補値を生成する段階とを含み、
前記送信段階は前記第１の特徴値に加えて前記第１の候補値を送信し、
前記受信段階は前記第２の特徴値に加えて、前記第１の候補値と同様にして生成された第２の候補値を受信し、
前記鍵生成段階は、前記受信段階にて受信した前記第２の特徴値及び第２の候補値のいずれかと、前記第１の特徴値及び第１の候補値のいずれかとを比較し、比較結果に基づいて鍵を生成する
ことを特徴とする請求項２７又は２８に記載の鍵の生成方法。
【請求項３０】
入力された値のハッシュ値を出力するハッシュ段階を更に備え、
前記送信段階は、前記第１の特徴値の代わりにまたは前記第１の特徴値及び第１の候補値の代わりに、前記ハッシュ段階にて求めた第１の特徴値のハッシュ値をまたは前記ハッシュ段階にて求めた第１の特徴値及び第１の候補値のハッシュ値を、第１のハッシュ値として前記第２の装置に送信し、
前記受信段階は、前記第２の特徴値の代わりにまたは前記第２の特徴値及び第２の候補値の代わりに、前記第２の特徴値のハッシュ値をまたは前記第２の特徴値及び第２の候補値のハッシュ値を第２のハッシュ値として受信し、
前記鍵生成段階は、前記受信段階にて受信した第２のハッシュ値と、前記ハッシュ段階にて生成した第１のハッシュ値とを比較し、比較結果に基づいて鍵を生成する
ことを特徴とする請求項２２乃至２９のいずれか１つに記載の鍵の生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗号アルゴリズムの手順を制御するための鍵の生成に関する。
【背景技術】
【０００２】
ワイヤレスインタフェースを備えた装置間でその場限りのデータの送受信を行なうため、安全で使い勝手のよい相互認証システムが求められている。こうした相互認証システムに関連する技術の例として以下のようなものが存在する。
ワイヤレスインタフェースを備える装置同士が行なう相互認証として、例えば、ＰＩＮ（Ｐｅｒｓｏｎａｌ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｎｕｍｂｅｒ）を利用するものが知られている（以下、この技術を「関連技術１」と呼ぶ）。
また、特許文献１のように、装置に設けられたボタンが押されたことを検出し、固有のグループ接続用ＩＤを生成して、これを共通鍵（認証鍵）として互いに認証に利用するものも知られている（以下、この技術を「関連技術２」と呼ぶ）。
非特許文献１では、非接触ＩＣリーダを備えた装置間をかざしあって、鍵交換を行い、これを認証鍵として互いに利用している（以下、この技術を「関連技術３」と呼ぶ）。
非接触ＩＣリーダよりも実装コスト面で有利な機器である加速度センサを用いた手段が特許文献２、非特許文献２〜６に記載されている。これらは加速度センサを備えた２つの装置に外部から同じ動きを加える（例えば、強く振る）ことにより、共通の変化量を共有して、それをもとに認証鍵を共有する（以下、この技術を「関連技術４」と呼ぶ）。
関連技術１では、十分な鍵長による強い暗号強度を得るためには、桁数の多いデータを誤りなく入力することが必要であり、煩雑かつ困難であることから、使い勝手上の問題があった。
関連技術２では、ボタンを押すという操作は第三者によっても容易になされる操作であり、偶然または故意に第三者によりボタンが押された場合に、不要に認証鍵を第三者に提供することになる点で、安全性の問題があった。
関連技術３では、相互認証する各装置に非接触ＩＣリーダを実装する必要があり、装置のコスト上の問題があった。
関連技術４では、ユーザが２つの装置を一体として保持したまま両者を強く振るといった操作を行なう必要があるが、こうした操作はそれ自体が困難な場合がある。
また、関連技術４では、２つの装置を一体として保持する都合上、装置の大きさ、形状、重さ等に関する制約が大きい。本技術を適用するには、２つの装置を一体とした状態で保持可能であるような大きさ、形状を有する必要がある。例えば一方の装置が据え付け型の装置である場合や、一体として保持するのが難しいような形状、大きさ、重さを２つの装置のどちらか一方でも有している場合には、適用が困難であるか又は不可能である。
また、関連技術４では、二つの装置を一体化して振ることから、そうした振動に対する耐性を装置が有する必要がある。通常、設計段階では装置のユーザは特定されておらず、不特定のユーザが振動を加えることを前提とするのであれば、加えられる振動の振幅や速さに個人差があることを考慮し、振動耐性にある程度の余裕を持って装置を設計する必要があり、この点でも装置の設計時の制約となっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３６６３８号
【特許文献２】特開２００８−３１１７２６号
【非特許文献】
【０００４】
【非特許文献１】ＳＤＫ  ｆｏｒ  ＦｅｌｉＣａ  Ｐｒｏｄｕｃｔｓ、インターネット（ｈｔｔｐ：／／ｗｗｗ．ｓｏｎｙ．ｃｏ．ｊｐ／Ｐｒｏｄｕｃｔｓ／ｆｅｌｉｃａ／ｐｄｔ／ｄａｔａ／ＳＤＫ＿Ｐｒｏｄｕｃｔｓ．ｐｄｆ）
【非特許文献２】Ｊ．Ｌｅｓｔｅｒ，Ｂ．Ｈａｎｎａｆｏｒｄ，ａｎｄ  Ｇ．Ｂｏｒｒｉｅｌｌｏ．″Ａｒｅ  Ｙｏｕ  Ｗｉｔｈ  Ｍｅ？″−Ｕｓｉｎｇ  ａｃｃｅｌｅｒｏｍｅｔｅｒｓ  ｔｏ  ｄｅｔｅｒｍｉｎｅ  ｉｆ  ｔｗｏ  ｄｅｖｉｃｅｓ  ａｒｅ  ｃａｒｒｉｅｄ  ｂｙ  ｔｈｅ  ｓａｍｅ  ｐｅｒｓｏｎ．Ｐｅｒｖａｓｉｖｅ２００４，ＬＮＣＳ  ３００１，ｐｐ．３３−５０，２００４．
【非特許文献３】Ｙ．Ｈｕｙｎｈ  ａｎｄ  Ｂ．Ｓｃｈｉｅｌｅ．Ａｎａｌｙｚｉｎｇ  ｆｅａｔｕｒｅｓ  ｆｏｒ  ａｃｔｉｖｉｔｙ  ｒｅｃｏｇｎｉｔｉｏｎ．ｓＯｃ−ＥＵＳＡＩ′０５，ｐｐ．１５９−１６３，２００５．
【非特許文献４】Ｄ．Ｂｉｃｈｌｅｒ，Ｇ．Ｓｔｒｏｍｂｅｒｇ，Ｍ．Ｈｕｅｍｅｒ，ａｎｄ  Ｍ．Ｌｏｗ．Ｋｅｙ  ｇｅｎｅｒａｔｉｏｎ  ｂａｓｅｄ  ｏｎ  ａｃｃｅｌｅｒａｔｉｏｎ  ｄａｔａ  ｏｆ  ｓｈａｋｉｎｇ  ｐｒｏｃｅｓｓｅｓ．ＵｂｉＣｏｍｐ２００７，ＬＮＣＳ  ４７１７，ｐｐ．３０４−４１７，２００７．
【非特許文献５】Ｒ．Ｍａｙｒｈｏｆｅｒ  ａｎｄ  Ｈ．Ｇｅｌｌｅｒｓｅｎ．Ｓｈａｋｅ  ｗｅｌｌ  ｂｅｆｏｒｅ  ｕｓｅ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｂａｓｅｄ  ｏｎ  ａｃｃｅｌｅｒｏｍｅｔｅｒ  ｄａｔａ．Ｐｅｒｖａｓｉｖｅ２００７，ＬＮＣＳ  ４４８０，ｐｐ．１４４−１６１，２００７．
【非特許文献６】南貴博、仁野裕一、野田潤、中村嘉隆、関浩之南貴博、仁野裕一、野田潤、中村嘉隆、関浩之著「ユーザの動作類似度に基づく共通鍵生成法」、インターネット（ｈｔｔｐ：／／ｗｗｗ−ｈｉｇａｓｈｉ．ｉｓｔ．ｏｓａｋａ−ｕ．ａｃ．ｊｐ／〜ｙ−ｎａｋａｍｒ／ｒｅｓｅａｒｃｈ／ｃｓｅｃ／４４ｃｓｅｃ．ｐｄｆ）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、２つの装置を一体化して振るといった困難な操作をユーザに要求せず、かつ、装置の形状、大きさ、重さ等に対する制約が緩い鍵生成技術、及びこの鍵生成技術に基づく相互認証技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明による鍵の生成方法は、第１の装置及び第２の装置を一のバイブレータに接触させた状態で、バイブレータが振動を発生し、第１の装置が備える第１の加速度センサ及び第２の装置が備える第２の加速度センサがその振動を検出する振動検出段階と、第１の加速度センサの検出結果に基づく第１の特徴値を第１の装置が第２の装置に送信する送信段階と、第２の加速度センサの検出結果に基づく第２の特徴値を第２の装置から第１の装置が受信する受信段階と、第１の装置が、受信した第２の特徴値と第１の特徴値とを比較し、比較結果に基づいて鍵を生成する鍵生成段階とを含む。
また、本発明によるコンピュータ読取り可能な記録媒体は、加速度センサ、データ通信手段及びプロセッサを備える装置にて実行されるプログラムを記憶した記録媒体であって、プログラムは、バイブレータに当該装置及び当該他の装置が接触しているときバイブレータが発生する振動に応じて当該装置に発生する加速度を加速度センサにて検出する手順と、加速度センサの検出結果に基づく第１の特徴値をデータ通信手段にて他の装置に送信する送信手順と、バイブレータが発生する振動に応じて他の装置に発生した加速度に基づく第２の特徴値を、データ通信手段にて他の装置から受信する受信手順と、受信手順にて受信した第２の特徴値と第１の特徴値とを比較し、比較結果に基づいて鍵を生成する鍵生成手順とをプロセッサに実行させるためのものである。
【発明の効果】
【０００７】
本発明によれば、第１及び第２の装置を同じバイブレータに接触させてバイブレータを振動させることにより、第１及び第２の装置に同じ振動源からの振動を加え、この振動に基づいて鍵を生成する。このため、第１及び第２の装置を一体化した状態で振動を加えるといった操作をユーザに要求する必要がない。また、鍵を生成するためには第１及び第２の装置を一体化して保持する必要はなく、単に両装置をバイブレータに接触させるだけでよいので、両装置の寸法、外形重さ等に対する設計上の制約が大幅に緩和され、装置の一方を据付け型にすることも可能である。また、両装置に対する加振の振幅、速さ等をバイブレータの仕様から予め把握することができるので、不特定のユーザによる振幅、速さの個人差を考慮する必要がなく、この点でも設計上の制約を緩和することができる。
【図面の簡単な説明】
【０００８】
図１は本発明の一実施の形態に係る鍵生成システムを示すブロック図であり、
図２は図１に示した鍵生成システムに使用される第１の装置を示すブロック図であり、
図３は図１に示した鍵生成システムに使用される第２の装置を示すブロック図であり、
図４は鍵を生成するときの、図１に示した鍵生成システムに使用される、第１の装置、第２の装置及び加振装置の接触状態を説明するための図であり、
図５は図１に示した鍵生成システムの加振装置内のバイブレータ制御部の動作を説明するためのフローチャートであり、
図６は図２および図３に示した第１および第２の装置内の振動量子化部が加速度センサ出力を時間窓に分割する動作の例を説明するためのフローチャートであり、
図７は時間窓に分割した加速度センサ出力の例を説明するための図であり、
図８は特徴ベクトルと候補ベクトルの関係を説明するための図であり、
図９はパルス的な量子値を修正して特徴ベクトル及び候補ベクトルを生成するときの、図２および図３に示した第１および第２の装置内の特徴ベクトル生成部の動作を説明するためのフローチャートであり、
図１０は図２および図３に示した第１および第２の装置内の鍵生成部が特徴ベクトル及び候補ベクトルから鍵小片を生成する動作を説明するためのフローチャートであり、
図１１は本発明の一実施例に係る第１の装置のブロック図であり、
図１２は本発明の一実施例に係る第２の装置のブロック図である。
【発明を実施するための形態】
【０００９】
本発明の一実施の形態に係る鍵生成システム１００について説明する。
（１）図１に示すように、鍵生成システム１００は、第１の装置１、第２の装置２、および加振装置３からなる。加振装置３は第１の装置１、第２の装置２のいずれかに内蔵しても構わない。以下、第１の装置１、第２の装置２をそれぞれ「装置Ａ」、「装置Ｂ」と記す。
図２は第１の装置（装置Ａ）１の構成を示すブロック図である。
第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２はいずれも加速度センサ、鍵生成部、通信部を備える例えば図２に示すような装置である。より具体的には、第１の装置（装置Ａ）１および第２の装置（装置Ｂ）２の各々は、携帯電話端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄａｔａ  Ａｓｓｉｓｔａｎｔ）、ノート型コンピュータ等である。
図２に示されるように、第１の装置（装置Ａ）１は、第１の加速度センサ１０Ａ、第１の振動量子化部１１Ａ、第１の特徴ベクトル生成部１２Ａ、第１の鍵生成部１３Ａ、第１の通信部１４Ａ、および第１の相互認証部１５Ａを備える。
尚、図２には第１の装置（装置Ａ）１の構成例を示したが、第２の装置（装置Ｂ）２も同様の構成であってよい。その場合、第２の装置（装置Ｂ）２は、図３に示されるように、第２の加速度センサ１０Ｂ、第２の振動量子化部１１Ｂ、第２の特徴ベクトル生成部１２Ｂ、第２の鍵生成部１３Ｂ、第２の通信部１４Ｂ、および第２の相互認証部１５Ｂを備える。
第１および第２の通信部１４Ａ、１４Ｂは互いにデータ通信可能な通信インタフェース装置であり、有線・無線の別、両者を接続するネットワークの数や種別等を問わない。第１および第２の通信部１４Ａ、１４Ｂは、無線通信インタフェースであることが便宜上好ましいが、有線通信インタフェースであっても良い。第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２が携帯電話端末であるならば、第１および第２の通信部１４Ａ、１４Ｂは移動体通信網の基地局と無線通信を行なう無線通信装置であってもよいし、大半の携帯電話端末が備えるＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）等の赤外線通信装置、或いはＢｌｕｅｔｏｏｔｈ等の近距離無線通信の送受信機であってもよい。
図１に示されるように、加振装置３は、バイブレータ４と、バイブレータ４の動作を制御するバイブレータ制御部５とを含む。
一般に、携帯電話端末は、使用者に対して着信等を通知する振動を発生するためのバイブレータを備えるが、このバイブレータを加振装置３のバイブレータ４として用いることとしてもよい。第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２が共に携帯電話端末の場合、両装置がバイブレータ４を備えることになる。その場合、本発明の実施形態における鍵生成で用いるバイブレータはどちらか一方のバイブレータである。
次に、鍵を生成するための動作について説明する。
（２）先ず、図４に示すように、第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２の両方を加振装置３に接触させる。バイブレータ４を第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２のどちらかに内蔵する場合は、第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２を互いに直接、接触させる。
（３）次に、図４のように、第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２、および加振装置３を互いに接触させた状態で、バイブレータ制御部５はバイブレータ４をオンオフする。このときのバイブレータ制御部５の制御動作の例を図５に示す。図５に示すバイブレータ制御部５の制御動作については後で詳細に説明する。バイブレータの振動方法の一例としては、階段状に変化する振幅、特に、所定振幅に振動する／しないの二進法的な振動が考えられる。他の例としては連続的に変化するものが考えられる。
（４）引き続いて、第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２は、それぞれ、第１および第２の加速度センサ１０Ａ、１０Ｂによって振動を検出する。
（５）第１および第２の振動量子化部１１Ａ、１１Ｂは、それぞれ、第１および第２の加速度センサ１０Ａ、１０Ｂの出力を予め定められた長さの時間窓に分割し、分割した各時間窓の値を量子化する。第１および第２の振動量子化部１１Ａ、１１Ｂが加速度センサ出力を時間窓に分割する動作の例を図６に示す。図６に示す振動量子化部の動作については後で詳細に説明する。また、時間窓に分割した加速度センサ出力の例を図７に示す。これらの例では、バイブレータ４は振動する／しないの二進法的な動作をすることを前提としている。
第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２、加振装置３の間の接触状態や接触方法によって、第１および第２の加速度センサ１０Ａ、１０Ｂが検出するアナログ量の加速度には多少の違いが生じる。このため、アナログ量の加速度に基づいて鍵を生成すると、実用的に十分な鍵長を有する同じ鍵を第１の装置（装置Ａ）１、第２に装置（装置Ｂ）２の両方で生成するのは困難である。
これに対して、図７に示すように、アナログ量の加速度を時間窓に分割し、量子化した加速度センサ出力を用いて鍵を生成して、第１の装置（装置Ａ）１と第２の装置（装置Ｂ）２が共有する加速度に生じる誤差を吸収することにより、実用に十分な鍵長を有する認証鍵を第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２の間で共有できるようになる。
（６）引き続いて、時間窓に分割し、量子化した第１の加速度センサ１０Ａの出力値に基づいて、第１の特徴ベクトル生成部１２Ａは、第１の特徴ベクトル群Ｖｆａ０、Ｖｆａ１、Ｖｆａ２、…を生成する。また、第１の特徴ベクトル生成部１２Ａは、第１の特徴ベクトル群を構成する、第１の特徴ベクトルＶｆａ０に対応する候補ベクトル群Ｖｃａ０１、Ｖｃａ０２、Ｖｃａ０３、…、第２の特徴ベクトルＶｆａ１に対応する候補ベクトル群Ｖｃａ１１、Ｖｃａ１２、Ｖｃａ１３、…、第３の特徴ベクトルＶｆａ２に対応する候補ベクトル群Ｖｃａ２１、Ｖｃａ２２、Ｖｃａ２３、…を生成する。
同様に、第２の特徴ベクトル生成部１２Ｂは、第２の特徴ベクトル群Ｖｆｂ０、Ｖｆｂ１、Ｖｆｂ２、…を生成し、第２の特徴ベクトル群を構成する、第１の特徴ベクトルＶｆｂ０に対応する候補ベクトル群Ｖｃｂ０１、Ｖｃｂ０２、Ｖｃｂ０３、…、第２の特徴ベクトルＶｆｂ１に対応する候補ベクトル群Ｖｃｂ１１、Ｖｃｂ１２、Ｖｃｂ１３、…、第３の特徴ベクトルＶｆｂ２に対応する候補ベクトル群Ｖｃｂ２１、Ｖｃｂ２２、Ｖｃｂ２３、…を生成する。
以下、第１の装置（装置Ａ）１が生成する第１の特徴ベクトル群Ｖｆａ０、Ｖｆａ１、Ｖｆａ２、…を総称してＶｆａｉ（ｉは０以上の整数で特徴ベクトルの時系列的なインデックス）と記し、第１の装置（装置Ａ）１が第１の特徴ベクトル群の第１の特徴ベクトルＶｆａ０に対応して生成する候補ベクトル群を総称してＶｃａ０ｊ（ｊは０以上の整数で候補ベクトルの時系列的なインデックス）と記し、第１の装置（装置Ａ）１が生成する第１の候補ベクトル群を総称してＶｃａｉｊと記す。
第２の装置（装置Ｂ）２が生成する特徴ベクトル及び候補ベクトルについても同様である。すなわち、第２の装置（装置Ｂ）２が生成する第２の特徴ベクトル群Ｖｆｂ０、Ｖｆｂ１、Ｖｆｂ２、…を総称してＶｆｂｉ（ｉは０以上の整数で特徴ベクトルの時系列的なインデックス）と記し、第２の装置（装置Ｂ）２が第２の特徴ベクトル群の第１の特徴ベクトルＶｆｂ０に対応して生成する候補ベクトル群を総称してＶｃｂ０ｊ（ｊは０以上の整数で候補ベクトルの時系列的なインデックス）と記し、第２の装置（装置Ｂ）２が生成する第２の候補ベクトル群を総称してＶｃｂｉｊと記す。
特徴ベクトルは、連続して同じ量子値に量子化されている区間、即ち継続区間の時間窓の数と、その量子値とを組み合わせて生成するベクトルである。例えば特徴ベクトルは量子値と、その量子値が連続する時間窓の数の２進法表記とを連結した構造を有する。図７に図示した時間窓の量子値は左から順に“０”、“１”、“１”、“１”、“１”、“１”、“０”、“０”、“０”、“１”、“０”であるが、左から２番目の時間窓から６番目の時間窓までの間、量子値“１”が５つ連続する継続区間が存在するので、この継続区間に基づく特徴ベクトルは、量子値が“１”、連続する時間窓の数が５、即ち２進法表記で“１０１”なので、両者を連結した“１１０１”となる。
候補ベクトルは、特徴ベクトルを生成した継続区間の始端及び終端のいずれか一方或いは両方の時間窓の量子値を他の値に変更した上で、特徴ベクトルと同様に、連続して同じ量子値に量子化されている区間の時間窓の数と、その量子値とを組み合わせて生成するベクトルである。継続区間の始端の時間窓は、継続区間の最初の時間窓であり、継続区間の終端の時間窓は、継続区間の直後の時間窓である。始端及び終端の時間窓のいずれか一方または両方の量子値を変更した後の状態で、同じ値の量子値が連続する時間窓からなる継続区間の時間窓の数に基づいて候補ベクトルを生成する。
候補ベクトルには、３つがある。その１つ目は、継続区間の始端の時間窓の量子値を変更しつつ終端の時間窓の量子値を変更しないで生成するものである。２つ目は、始端の時間窓の量子値を変更せずに終端の時間窓の量子値を変更して生成するものである。３つ目は、始端及び終端の時間窓の量子値を変更して生成するものである。これら３つのうち、始端及び終端の両方を変更して生成する３つ目の候補ベクトルは、継続区間全体をずらしたものとなり、特徴ベクトルと同じ値になるので生成しなくともよい。図８に示した例では、特徴ベクトル“１１０１”に対して、始端の量子値のみを変更して生成した候補ベクトル“１１００”、終端の量子値のみを変更した候補ベクトル“１１１０”を生成している。始端及び終端の量子値を両方変更して生成される候補ベクトル“１１０１”については、特徴ベクトルと同値なので生成しない。
このように、特徴ベクトルと共に候補ベクトルを生成するのは、第１の装置（装置Ａ）１が生成した第１の特徴ベクトル群及び第１の候補ベクトル群からなる第１のベクトル群と、第２の装置（装置Ｂ）２が生成した第２の特徴ベクトル群及び第２の候補ベクトル群からなる第２のベクトル群とを比較して、両ベクトル群の間に一致するベクトルが存在すると、そのベクトルに基づいて鍵を生成するためである。ここで一致とは、第１の特徴ベクトル群と第２の特徴ベクトル群の一致だけではなく、第１の特徴ベクトル群と第２の候補ベクトル群の一致や、第１の候補ベクトル群と第２の特徴ベクトル群の一致、および第１の候補ベクトル群と第２の候補ベクトル群の一致をも含む。
このような第１のベクトル群と第２のベクトル群との比較を行なう理由は次のようなものである。（１０）にて後述するように、第１の装置（装置Ａ）１と第２の装置（装置Ｂ）２とは、一致する特徴ベクトル／候補ベクトルに基づいて鍵小片を生成し、所定数の鍵小片を連結して鍵を生成する。従って、鍵を生成するには、一致する特徴ベクトル／候補ベクトルを所定数以上得る必要がある。
さて、第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２及び加振装置３の間の接触状態によっては、加速度の検出タイミングが第１の加速度センサ１０Ａと第２の加速度センサ１０Ｂの間でずれることがある。このようなとき、継続区間の始端または終端のタイミングが第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２間でずれるので、両装置にて生成する特徴ベクトルが一致しない。こうした不一致が多発すると、特徴ベクトル同士の比較からだけでは必要な数の鍵小片を生成するのが困難になる。
こうした事情に鑑みて、特徴ベクトルを生成した継続区間の始端及び終端の量子値を変更する。このように変更した継続区間は、いわば、仮定した検出タイミングのずれを修正したものである。こうして変更した継続区間に基づいて候補ベクトルを生成し、特徴ベクトルに加えて、第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２間での比較対象とすることにより、検出タイミングのずれをある程度吸収することができる。その結果、実用に十分な鍵長を有する認証鍵を装置Ａ、Ｂの間で共有できるようになる。
また、両装置を接触させる際、一方の装置の持ち方が不安定である等の理由により、その一方の装置のみにパルス的な振動が発生し、この振動がノイズとして混入して、パルス的な量子値が生成されることがある。このようなパルス的な量子値に対応するため、第１および第２の特徴ベクトル生成部１２Ａ、１２Ｂは、第１および第２の特徴ベクトル群及び第１および第２の候補ベクトル群の生成に先立って、パルス的な量子値を持つ時間窓の値を修正することにしてもよい。パルス的な量子値を有する時間窓とは、３つの連続した時間窓Ｗｎ−１、Ｗｎ、Ｗｎ＋１（ｎは自然数）を考えたとき、Ｗｎ−１とＷｎ＋１は同じ値でＷｎの値だけが異なるような値を持つ時間窓であり、Ｗｎ−１＝Ｗｎ＋１＝０、Ｗｎ＝１またはＷｎ−１＝Ｗｎ＋１＝１、Ｗｎ＝０であるようなＷｎである。時間窓を十分に短くすればこうしたパルス的な量子値は誤差であると考えられる。このような値を有する時間窓の値を修正し、前後の時間窓と値を一致させることとすれば、こうした誤差を除外することができる。
例えば図８の右から２番目の時間窓の量子値は“１”だが、その前後の時間窓の量子値はどちらも“０”であり、パルス的な量子値と考えられるので、この時間窓の量子値を“０”に修正した上で、第１および第２の特徴ベクトル群及び第１および第２の候補ベクトル群を生成することにしてもよい。パルス的な量子値を修正して第１および第２の特徴ベクトル群及び第１および第２の候補ベクトル群を生成するときの、第１および第２の特徴ベクトル生成部１２Ａ、１２Ｂの動作を図９に示す。
（７）更に、図１０に示すように、第１の特徴ベクトル生成部１２Ａは、ｉ個目の第１の特徴ベクトルのハッシュ値Ｈ（Ｖｆａｉ）と、その第１の候補ベクトルのハッシュ値Ｈ（Ｖｃａｉｊ）を全て生成する。上述したように、ｉ個目の第１の特徴ベクトルＶｆａｉに対応して２つの第１の候補ベクトルＶｃａｉ０、Ｖｃａｉ１を生成するので、ｉ個目の第１の特徴ベクトルＶｆａｉに対応して３つの第１のハッシュ値Ｈ（Ｖｆａｉ）、Ｈ（Ｖｃａｉ０）、Ｈ（Ｖｃａｉ１）を生成することになる。同様に、第２の特徴ベクトル生成部１２Ｂは、第２の特徴ベクトルのハッシュ値Ｈ（Ｖｆｂｉ）と、その第２の候補ベクトルの第２のハッシュ値Ｈ（Ｖｃｂｉｊ）を全て生成する（ステップＳ４２）。ここでＨ（Ｘ）はＸを一方向ハッシュした値を表す。ｉは現在注目している特徴ベクトルを示すインデックスであり、ｉの初期値は０である。本項（７）及び後述する（８）（９）を同じｉに対して行なった後、所望の鍵長の鍵を生成するために必要な鍵小片が得られるまで、ｉを１ずつ増やして（７）〜（９）を繰り返す。尚、セキュリティ上好ましくはないものの、ハッシュ値の生成を省略して、特徴ベクトル及び候補ベクトルをそのまま伝送して後の処理を行なうことも可能であることは当業者であれば容易に理解できるであろう。
（８）第１および第２の通信部１４Ａ、１４Ｂを介して、（７）にて第２の装置（装置Ｂ）２が生成した第２のハッシュ値Ｈ（Ｖｆｂｉ）、Ｈ（Ｖｃｂｉｊ）を全て第１の装置（装置Ａ）１に送信する。同様に、（７）にて第１の装置（装置Ａ）１が生成した第１のハッシュ値Ｈ（Ｖｆａｉ）、Ｈ（Ｖｃａｉｊ）を全て第２の装置（装置Ｂ）２に送信する（ステップＳ４２）。
（９）第１の装置（装置Ａ）１において、第１の鍵生成部１３Ａは、自身の第１の特徴ベクトル生成部１２Ａにて生成した第１の特徴ベクトルＶｆａｉのハッシュ値Ｈ（Ｖｆａｉ）、対応する第１の候補ベクトルのハッシュ値Ｈ（Ｖｃａｉｊ）からなる複数の第１のハッシュ値と、第１の通信部１４Ａを介して第２の装置（装置Ｂ）２から受信した、第１の特徴ベクトルＶｆａｉに対応する第２の特徴ベクトルＶｆｂｉのハッシュ値Ｈ（Ｖｆｂｉ）、第２の候補ベクトルのハッシュ値Ｈ（Ｖｃｂｉｊ）からなる複数の第２のハッシュ値とを比較する。このように、第１の鍵生成部１３Ａは、ｉ個目の第１の特徴ベクトルＶｆａｉに対応する第１のハッシュ値のグループと、同じくｉ個目の第２の特徴ベクトルＶｆｂｉに対応する第２のハッシュ値のグループとを比較し、一方のグループのいずれかのハッシュ値が他方のグループのいずれかのハッシュ値と一致する場合、そのハッシュ値に対応する特徴ベクトル或いは候補ベクトルを鍵小片とする（ステップＳ４３）。前者と後者のグループ間に一致するハッシュ値が存在しない場合、その第１の特徴ベクトルＶｆａｉに基づく鍵小片の生成は行なわない。第２の装置（装置Ｂ）２においても同様である。
上述したようにひとつの特徴ベクトルには複数の候補ベクトルが対応するので、どちらのハッシュ値のグループも、一の特徴ベクトルのハッシュ値と、その特徴ベクトルに対応する複数の候補ベクトルのハッシュ値とを含む。例えば、第１の特徴ベクトルＶｆａ０のハッシュ値Ｈ（Ｖｆａ０）と、第１の特徴ベクトルＶｆａ０に対応する第１の候補ベクトルのハッシュ値Ｈ（Ｖｃａ００）、Ｈ（Ｖｃａ０１）からなる第１のハッシュ値の第１のグループＡと、第２の特徴ベクトルＶｆｂ０のハッシュ値Ｈ（Ｖｆｂ０）と、第２の特徴ベクトルＶｆｂ０に対応する第２の候補ベクトルのハッシュ値Ｈ（Ｖｃｂ００）、Ｈ（Ｖｃｂ０１）からなる第２のハッシュ値の第２のグループＢとを比較したときに、第１のグループＡに属する第１のハッシュ値Ｈ（Ｖｆａ０）と、第２のグループＢに属する第２のハッシュ値Ｈ（Ｖｃｂ０１）が一致したとする。この場合、第１の特徴ベクトルＶｆａ０と、第２の候補ベクトルＶｃｂ０１とが一致したことになるので、第１の装置（装置Ａ）１では第１の鍵生成部１３Ａが第１の特徴ベクトルＶｆａ０を鍵小片とする。第２の装置（装置Ｂ）２でも同様の比較を行ない、同じ結果が得られるので、第２の鍵生成部１３Ｂは第２の候補ベクトルＶｃｂ０１を鍵小片とする。この例では第１のグループＡの第１の特徴ベクトルと、第２のグループＢの第２の候補ベクトルとが一致したが、両グループの第１および第２の特徴ベクトルが一致する場合や、両グループの第１および第２の候補ベクトルが一致する場合もある。
（１０）（７）〜（９）をすべての特徴ベクトルについて行なう（ステップＳ４４）。即ち、ｉの現在の値に１を加算した上で（７）〜（９）を繰り返す。
（１１）鍵小片の数の閾値と、（１０）で得られた鍵小片の数とを比較し、閾値を超えている場合、鍵小片を連結して鍵を生成する（ステップＳ４５）。
（１２）第１の装置（装置Ａ）１、第２の装置（装置Ｂ）２は生成した鍵を用いて認証を行なう。認証方式の例としてはチャレンジ＆レスポンス方式がある。チャレンジ＆レスポンス方式では、第１の装置（装置Ａ）１はチャレンジと呼ばれるランダム値を生成して第２の装置（装置Ｂ）２に送信する。このチャレンジを受信した第２の装置（装置Ｂ）２は、自身が（１１）にて生成した鍵と、第１の装置（装置Ａ）１から受信したチャレンジとを掛け合わせて演算処理を行ない、その結果生成したハッシュ値を第２のレスポンスとして第１の装置（装置Ａ）１に送信する。レスポンスを受信した第１の装置（装置Ａ）１は、先に生成したチャレンジと自身が（１１）にて生成した鍵とを用いて同様の演算処理を行なって第１のレスポンスを生成し、この第１のレスポンスと第２の装置（装置Ｂ）２から受信した第２のレスポンスとを比較する。これら第１および第２のレスポンスが一致する場合、第１の装置（装置Ａ）１は第２の装置（装置Ｂ）２を認証する。
（１３）第１の装置（装置Ａ）１は鍵を用いて暗号化したデータを第２の装置（装置Ｂ）２に送信し、第２の装置（装置Ｂ）２は鍵を用いて暗号化したデータを復号する。
【実施例１】
【００１０】
図１１に示されるように、本実施例の第１の装置２０Ａ（装置Ａ）は、第１のバイブレータ２１Ａ、第１のバイブレータ制御部２２Ａを内蔵する以外の点では上述の鍵生成システム１００における第１の装置１と同様の構成である。第１のバイブレータ２１Ａ、第１のバイブレータ制御部２２Ａはそれぞれ上述の鍵生成システム１００におけるバイブレータ４、バイブレータ制御部５に対応する。
同様に、図１２に示されるように、本実施例の第２の装置２０Ｂ（装置Ｂ）は、第２のバイブレータ２１Ｂ、第２のバイブレータ制御部２２Ｂを内蔵する以外の点では上述の鍵生成システム１００における第２の装置２と同様の構成である。第２のバイブレータ２１Ｂ、第２のバイブレータ制御部２２Ｂはそれぞれ上述の鍵生成システム１００におけるバイブレータ４、バイブレータ制御部５に対応する。
図１１および図１２に示すように、第１の装置２０Ａ（装置Ａ）、第２の装置２０Ｂ（装置Ｂ）は、第１および第２のバイブレータ２１Ａ、２１Ｂおよび第１および第２の加速度センサ１０Ａ、１０Ｂをそれぞれ備え、さらに第１および第２のバイブレータ制御部２２Ａ、２２Ｂと、第１および第２の振動量子化部１１Ａ、１１Ｂ、第１および第２の特徴ベクトル生成部１２Ａ、１２Ｂ、第１及び第２の鍵生成部１３Ａ、１３Ｂ、第１および第２の通信部１４Ａ、１４Ｂ、第１および第２の相互認証部１５Ａ、１５Ｂを備える。参照符号末尾のＡ、Ｂは装置Ａ、装置Ｂを区別するためのものであり、区別する必要がない場合、以下Ａ、Ｂを付さない場合がある。
能動的に自身から認証を要求するような装置でない場合、バイブレータ２１およびバイブレータ制御部２２を必ずしも備えなくてもよい。装置Ａ、装置Ｂのいずれかがバイブレータ及びバイブレータ制御部を備えればよい。
各装置は、具体的には、プログラムに従って動作するパーソナルコンピュータ等の情報処理装置によって実現される。複数台想定される装置は全て同様の構成である。図１１及び図１２の各々には１台のユーザ端末の構成のみを示している。
図１１および図１２の各々に示す各部はそれぞれ以下のように動作する。
バイブレータ制御部２２は、各装置が接触状態にあるとき、バイブレータがオンである区間（オン区間）の長さ、オフである区間（オフ区間）の長さを動的に変化させながら、オンオフを連続して複数回繰り返すようにバイブレータ２１の動作を制御する。これにより、接触状態にある各装置の加速度センサ１０にて、振動を検出する区間をオン区間として、振動を検出しない区間をオフ区間として、それぞれ複数区間検出させる。これは例えば携帯電話に備えるバイブレータ用モータのＰＷＭ制御可能などにより実現される。なお、バイブレータ制御部２２は外部からのユーザ操作に基づき、相互認証を実施する装置間の何れか一方のみで駆動される。オンオフの繰り返し回数を増やせば、特徴ベクトル及び対応する候補ベクトルの数を増やすことができ、より多くの鍵小片を生成することができるようになるので、より長い鍵長の鍵を生成することができるようになる。
振動量子化部１１は、あらかじめ各加速度センサ１０の静止状態で計測される平均加速度の大きさａ＿ａｖｇを求めておく。これは、センサごとにあらかじめ異なる計測誤差を取り除くために用いる。バイブレータ制御部２２の作用によって、加速度センサ１０から加速度の時系列データを得たとき、これをサイズＷ＿ｏｎｏｆｆの小区間（窓）に分割する。このとき、一定の割合、例えば５０％の割合で前後の窓とオーバーラップさせてよい。そして、窓内の平均加速度の大きさａ＿ｗとａ＿ａｖｇを比較し、一定の値以上の差がある場合、その窓を“１”に、それ未満の場合は“０”に量子化する。図７に量子値の例を示す。
特徴ベクトル生成部１２は、まず前後一窓分の量子値と比較して量子値の異なる窓（パルス的な判定結果の窓）に対して、当該窓の量子値を前後の窓の量子値にあわせる修正を施した後、連続して“１”あるいは“０”と量子化されている区間（継続区間）の窓数と、その量子値とを組み合わせ、特徴ベクトルを生成する。これは例えば、図７に示すように、“１”の窓が５個連続して見られる場合、“１”が“１０１”（２進）個連続したことから“１１０１”と特徴ベクトル化する。なお、図７においては、簡単のためオーバーラップは０％としている。さらに当該継続区間に関する量子値の変化する窓に“１”および“０”の両方の量子値の候補を持たせ、上記特徴ベクトル生成部１２と同様の手段をもって、その候補ベクトルを生成する。
図８に本処理を持って生成する特徴ベクトルと候補ベクトルの例を示す。特徴ベクトル“１１０１”に対する候補ベクトルは“１１０１”と“１１１０”である。候補ベクトルに特徴ベクトルと同じ“１１０１”も現れるがこれは候補ベクトルとして扱わなくてよい。
鍵生成部１３は、特徴ベクトルを例えば時系列順に一方向ハッシュ化して互いに交換し、候補のうちの一つでも一致すればそれを鍵小片とする。そして、鍵小片が得られた窓数の総窓数に対する割合が一定の閾値以上であれば、得られた鍵小片を全て連結したものを共通鍵とし、これをもとに相互認証を実施する。相互認証部としては、チャレンジレスポンス認証などの広く知られている従来技術を利用できる。
次に、第１および第２の装置２０Ａ、２０Ｂをそれぞれ装置Ａ、装置Ｂとして構成した鍵生成システムの動作について説明する。ここでは装置Ａの第１のバイブレータ２１Ａを駆動して鍵を生成し、装置Ｂの第２のバイブレータ２１Ｂは駆動しないこととして説明する。
図５は、本システムの第１のバイブレータ制御部２２Ａの動作の一例を示すフローチャートである。まずユーザは装置Ａ、装置Ｂを互いに接触させる。その上で、第１のバイブレータ制御部２２Ａは、ステップＳ１１において、第１のバイブレータ２１Ａの振動をオンにする時間幅をランダムに決定し、決定した時間幅だけ第１のバイブレータ２１Ａの振動をオンにする（ステップＳ１２）。次にステップＳ１３において、第１のバイブレータ制御部２２Ａは、第１のバイブレータ２１Ａの振動をオフにする時間幅をランダムに決定し、決定した時間幅だけ第１のバイブレータ２１Ａの振動をオフにする（ステップＳ１４）。そして、第１のバイブレータ制御部２２Ａは、一定時間の経過や、ユーザまたはシステムおよびアプリケーションからの終了イベントの発火を確認し、これらのいずれかまたは組合せをもって終了条件を満足するとする（ステップＳ１５）。終了条件を満たさない場合は、第１のバイブレータ制御部２２Ａは、再びステップＳ１１から処理を繰り返す。ここで、ユーザからの終了イベントの発火とは、ユーザのボタン操作などの明示的な操作を意味する。また、システムおよびアプリケーションからの終了イベントの発火とは、例えば、第１の鍵生成部１３Ａによって必要十分な鍵が生成された時点で通知されるシグナルなどを意味する。その他の条件を持って、終了判定を行ってもよい。また、Ｓ１３、Ｓ１４、Ｓ１１、Ｓ１２、Ｓ１５のステップ順で処理をしても構わない。
図６は、本システムの第１および第２の振動量子化部１１Ａ、１１Ｂの動作の一例を示すフローチャートである。ステップＳ２１において、第１および第２の振動量子化部１１Ａ、１１Ｂは、各加速度センサの静止状態で計測される平均加速度の大きさａ＿ａｖｇを求めておく。第１のバイブレータ制御部２２Ａの作用によって、第１の加速度センサ１０Ａから加速度の時系列データを得たとき、装置Ａでは、第１の振動量子化部１１Ａはこれをサイズｗ＿ｏｎｏｆｆの小区間（窓）に分割する（ステップＳ２２）。そして、第１の振動量子化部１１Ａは、それぞれの窓に対して、窓内の平均加速度の大きさａ＿ｗを求め（ステップＳ２４）、ａ＿ｗとａ＿ａｖｇとの差分が一定閾値ｋ以上であることを確認し（ステップＳ２５）、ｋ以上であれば当該窓を“１”に量子化する（ステップＳ２６）。また、第１の振動量子化部１１Ａは、それ未満の場合は当該窓を“０”に量子化する（ステップＳ２７）。第１の振動量子化部１１Ａは、これを全ての窓について処理を繰り返す（ステップＳ２８）。装置Ｂにおいても、第２の加速度センサ１０Ｂから得た加速度の時系列データに基づいて第２の振動量子化部１１Ｂは同様の処理を行なう。
図９は、本システムの第１および第２の特徴ベクトル生成部１２Ａ、１２Ｂの動作の一例を示すフローチャートである。第１および第２の特徴ベクトル生成部１２Ａ、１２Ｂは、ステップＳ３１で、パルス的な量子値、すなわち前後一窓分の量子値と比較して当該窓のみ異なっている窓を探索し、ステップＳ３２で当該窓の量子値を反転する。これを全てのパルス的な量子値の窓に対して繰り返した後（ステップＳ３３）、第１および第２の特徴ベクトル生成部１２Ａ、１２Ｂは、同じ量子値の連続する区間（継続区間）を決定して（ステップＳ３４）、連続して“１”あるいは“０”と判定されている窓数とその量子値をもとに特徴ベクトルとする（ステップＳ３５）。さらに当該継続区間における立ち上がりまたは立ち下がりの時間窓、具体的には当該継続区間の最初の窓と最後の次の窓について、第１および第２の特徴ベクトル生成部１２Ａ、１２Ｂは、当該窓の量子値に“１”あるいは“０”の両方の候補を持たせ（ステップＳ３６）、各特徴ベクトルの候補となるベクトル（候補ベクトル）を計算する（ステップＳ３７）。
図１０は、本システムの第１および第２の鍵生成部１３Ａ、１３Ｂの動作の一例を示すフローチャートである。第１および第２の鍵生成部１３Ａ、１３Ｂは、ステップＳ４１において、注目する特徴ベクトルを設定する。これは、時系列に古いものから順に注目してよいが、その他の約束に則って注目する順を決定してよい。ただしこの約束は、相手装置との間で合意がとれていることを前提とする。そして、第１および第２の鍵生成部１３Ａ、１３Ｂは、ステップＳ４２において、当該特徴ベクトルおよびその候補ベクトルを個々に一方向ハッシュ化して、その全てを相手装置と交換する。第１および第２の鍵生成部１３Ａ、１３Ｂは、ステップＳ４３で、そのうちの一つでも一致すればそれを鍵小片とする。これを全特徴ベクトルにおいて、処理するまで繰り返し（ステップＳ４４）、第１および第２の鍵生成部１３Ａ、１３Ｂは、鍵小片が得られた窓数の総窓数に対する割合が一定の閾値以上であれば、得られた鍵小片を全て連結したものを共通鍵とする（ステップＳ４５）。
以上のように、本実施例によれば、例えば携帯電話に搭載されるバイブレータのＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御により振動のオン、オフの間隔長を動的にランダム変化させ、これを加速度センサで収集した接触状態にある二つの装置で、認証のために用いる共通鍵を共有可能となる。このとき、バイブレータで発生する振動は微細であるために生じる誤差を吸収し、実用的な鍵長の認証鍵を共有することができる。
以上、実施形態（及び実施例）を参照して本発明を説明したが、本発明は上記実施形態（及び実施例）に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、２０１０年１２月２８日に出願された日本特許出願第２０１０−２９３０９４号からの優先権を基礎とし、その利益を主張するものであり、その開示はここに全体として参考文献として組み込まれる。
【図１】
2012091164.tif 000003
【図２】
2012091164.tif 000004
【図３】
2012091164.tif 000005
【図４】
2012091164.tif 000006
【図５】
2012091164.tif 000007
【図６】
2012091164.tif 000008
【図７】
2012091164.tif 000009
【図８】
2012091164.tif 000010
【図９】
2012091164.tif 000011
【図１０】
2012091164.tif 000012
【図１１】
2012091164.tif 000013
【図１２】
2012091164.tif 000014
【国際調査報告】
2012091164.tif 000015
2012091164.tif 000016
2012091164.tif 000017