(57)【要約】【課題】情報機器間でアドホックな接続関係を構築する相互認証システム等を提供する。【解決手段】相互認証システム１は、複数台の端末装置３および４と、相互認証サーバ２とが相互に接続されて構成される。各端末装置３は、周辺の環境音を音声データとして収集する音声データ収集手段３ａと、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信する特徴ベクトル生成手段３ｂと、返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行う相互認証手段３ｃとを備える。そして相互認証サーバ２は、取得時刻が予め与えられた差分内である特徴ベクトルを選択する特徴ベクトル選択手段２ａと、これらの特徴ベクトルが一致するか否かを判定する特徴ベクトル比較手段２ｂと、一致する場合に認証鍵を生成する鍵共有手段２ｃとを有する。【選択図】図１
2014138404.tif 000002
【特許請求の範囲】
【請求項１】
複数台の端末装置と、相互認証サーバとが相互に接続されて構成される相互認証システムであって、
前記各端末装置が、周辺の環境音を音声データとして収集する音声データ収集手段と、前記音声データの周波数成分を解析して特徴ベクトルを生成して前記相互認証サーバに送信する特徴ベクトル生成手段と、前記特徴ベクトルに応じて前記相互認証サーバから返信されてきた認証鍵を利用して前記他の端末装置との間で相互認証を行う相互認証手段とを備え、
前記相互認証サーバが、前記各端末装置から受信した前記特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する特徴ベクトル選択手段と、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する特徴ベクトル比較手段と、前記特徴ベクトルが一致する場合に前記各端末装置に対して前記認証鍵を生成して送信する鍵共有手段とを有すること、を特徴とする相互認証システム。
【請求項２】
前記各端末装置が、予め相互間で時刻を合わせる時刻同期手段を有すること、を特徴とする請求項１に記載の相互認証システム。
【請求項３】
前記端末装置が、前記時刻同期手段によって前回時刻を合わせてからの経過時間と過去において発生した時刻ズレ量の平均値とから前記音声データを取得した正確な時刻を算出する時刻補正手段を有すること、を特徴とする請求項２に記載の相互認証システム。
【請求項４】
前記端末装置の前記特徴ベクトル生成手段が、
前記音声データを一定時間間隔の時間窓に分割して各々の前記時間窓に対してＦＦＴ（高速フーリエ変換）を行ってパワースペクトルを出力するフーリエ変換機能と、
出力された前記パワースペクトルの周波数ごとのパワーレベルを予め設定された閾値と照合することにより前記周波数ごとの特徴ベクトルを出力する量子化機能とを有すること、を特徴とする請求項１に記載の相互認証システム。
【請求項５】
前記端末装置の前記特徴ベクトル生成手段が、
前記フーリエ変換機能によって得られた前記パワースペクトルから予め定められたカットオフ周波数以上の周波数成分を除去してこれを前記量子化機能に移行するカットオフ機能を有すること、を特徴とする請求項４に記載の相互認証システム。
【請求項６】
前記端末装置の前記特徴ベクトル生成手段が、
前記フーリエ変換機能によって得られた前記パワースペクトルからパワーレベルの高い順に予め定められた数の複数の周波数を選択してこれを前記量子化機能に移行する周波数選択機能を有すること、を特徴とする請求項４に記載の相互認証システム。
【請求項７】
前記特徴ベクトル生成手段の前記量子化機能が、選択された前記各周波数と当該周波数におけるパワーレベルを前記閾値と比較した結果とを含む前記特徴ベクトルを出力すること、を特徴とする請求項６に記載の相互認証システム。
【請求項８】
前記特徴ベクトル生成手段の前記量子化機能が、前記閾値を予め複数与えられており、選択された前記各周波数と当該周波数におけるパワーレベルを前記各閾値と比較した結果を候補ベクトルとし、これらの各候補ベクトルを合わせて前記特徴ベクトルとして出力すること、を特徴とする請求項７に記載の相互認証システム。
【請求項９】
前記相互認証サーバの前記特徴ベクトル比較手段が、前記各端末装置間で前記特徴ベクトルに含まれる前記候補ベクトルが１つでも一致する場合に、当該各端末装置の前記特徴ベクトルが一致すると判定すること、を特徴とする請求項８に記載の相互認証システム。
【請求項１０】
前記相互認証サーバの前記鍵共有手段が、前記時系列データの対象時間範囲において一致した前記特徴ベクトルの単位時間当たりの情報量の合計値を算出し、この算出された情報量の合計値が予め与えられた一定値以上である場合にのみ、前記一致した特徴ベクトルを連接すると共にこの一致した特徴ベクトルを連接したもののハッシュ値を前記認証鍵として生成すること、を特徴とする請求項９に記載の相互認証システム。
【請求項１１】
他の端末装置および相互認証サーバと相互に接続されて相互認証システムを構成する一の端末装置であって、
周辺の環境音を音声データとして収集する音声データ収集手段と、
前記音声データの周波数成分を解析して特徴ベクトルを生成して前記相互認証サーバに送信する特徴ベクトル生成手段と、
この前記特徴ベクトルに応じて前記相互認証サーバから返信されてきた認証鍵を利用して前記他の端末装置との間で相互認証を行う相互認証手段と
を備えること、を特徴とする端末装置。
【請求項１２】
複数の端末装置と相互に接続されて相互認証システムを構成する相互認証サーバであって、
前記各端末装置から受信した前記特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する特徴ベクトル選択手段と、
当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する特徴ベクトル比較手段と、
前記特徴ベクトルが一致する場合に前記各端末装置に対して認証鍵を生成して送信する鍵共有手段と
を有すること、を特徴とする相互認証サーバ。
【請求項１３】
複数台の端末装置と、相互認証サーバとが相互に接続されて構成される相互認証システムにあって、
前記各端末装置の音声データ収集手段が、周辺の環境音を音声データとして収集し、
前記各端末装置の特徴ベクトル生成手段が、前記音声データの周波数成分を解析して特徴ベクトルを生成して前記相互認証サーバに送信し、
前記相互認証サーバの特徴ベクトル選択手段が、前記各端末装置から受信した前記特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択し、
前記相互認証サーバの特徴ベクトル比較手段が、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定し、
前記相互認証サーバの鍵共有手段が、前記特徴ベクトルが一致する場合に前記各端末装置に対して認証鍵を生成して送信し、
前記各端末装置の相互認証手段が、返信されてきた前記認証鍵を利用して前記他の端末装置との間で相互認証を行う
こと、を特徴とする相互認証方法。
【請求項１４】
他の端末装置および相互認証サーバと相互に接続されて相互認証システムを構成する一の端末装置にあって、
音声データ収集手段が、周辺の環境音を音声データとして収集し、
特徴ベクトル生成手段が、前記音声データの周波数成分を解析して特徴ベクトルを生成して前記相互認証サーバに送信し、
相互認証手段が、前記特徴ベクトルに応じて前記相互認証サーバから返信されてきた認証鍵を利用して前記他の端末装置との間で相互認証を行うこと、を特徴とする相互認証方法。
【請求項１５】
複数の端末装置と相互に接続されて相互認証システムを構成する相互認証サーバにあって、
特徴ベクトル選択手段が、前記各端末装置から受信した前記特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択し、
特徴ベクトル比較手段が、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定し、
鍵共有手段が、前記特徴ベクトルが一致する場合に前記各端末装置に対して認証鍵を生成して送信すること、を特徴とする相互認証方法。
【請求項１６】
他の端末装置および相互認証サーバと相互に接続されて相互認証システムを構成する一の端末装置にあって、
前記端末装置が備えるプロセッサに、
周辺の環境音を音声データとして収集する手順、
前記音声データの周波数成分を解析して特徴ベクトルを生成して前記相互認証サーバに送信する手順、
および前記特徴ベクトルに応じて前記相互認証サーバから返信されてきた認証鍵を利用して前記他の端末装置との間で相互認証を行う手順
を実行させること、を特徴とする相互認証プログラム。
【請求項１７】
複数の端末装置と相互に接続されて相互認証システムを構成する相互認証サーバにあって、
前記相互認証サーバが備えるプロセッサに、
前記各端末装置から受信した前記特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する手順、
当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する手順、
および前記特徴ベクトルが一致する場合に前記各端末装置に対して認証鍵を生成して送信する手順
を実行させること、を特徴とする相互認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は相互認証システム、端末装置、相互認証サーバ、相互認証方法および相互認証プログラムに関し、特に特定の機器間でのアドホックな接続関係を構築するための相互認証システム等に関する。
【背景技術】
【０００２】
情報機器相互間でのデータ通信の技術は最近とみに発達しているが、その中でも特定の機器間で「アドホックな（恒常的でない、一時的な）」接続関係を構築したい場合が出てきている。たとえば、ある会社の社員と出入り業者が業務上の打ち合わせをする時に、その打ち合わせの出席者間で資料や議事録などを共有したい場合がそうである。あるいは、特定の場所（たとえば飲食店の店頭、コンサートやスポーツ試合の会場など）にいる特に接点のない人たち同士でコミュニティを構築したい場合などもそうである。
【０００３】
そのようなアドホックな接続関係を構築する場合にも機器間の相互認証は必須である。この場合の相互認証は、たとえば長い桁数のＰＩＮ（Personal Identification Number）やパスワードなどをユーザに入力させるような煩雑な操作ではなく、ユーザにとってより単純な操作で行えることが望ましい。
【０００４】
これに関連する技術として、以下のような技術文献がある。特許文献１には、装置に設けられたボタンが同時に押されたことを検出して固有のグループ接続用ＩＤを生成し、これを共通鍵（認証鍵）として相互認証に利用するという、通信機能を備えた装置のグループ化方法が記載されている。
【０００５】
非特許文献１には、非接触ＩＣリーダを備えた装置間をかざしあって鍵共有を行い、これを認証鍵として相互認証に利用するという技術の概要が記載されている。また、特許文献２〜３および非特許文献２〜４には、加速度センサを備えた２つの装置に外部から同じ動きを加えることによって共通の変化量を検出し、このことによって認証鍵を共有するという技術が記載されている。
【０００６】
また、特許文献４には、ウェブサーバが生成して端末に表示された二次元コードを携帯端末が読み取り、これによってユーザを特定する固有情報を生成するという相互認証システムが記載されている。特許文献５には、複数の端末とセッション管理装置からなり、端末−セッション管理装置で確立された暗号化チャネルを介して端末間で鍵情報を交換するという認証方法が記載されている。
【０００７】
さらに、特許文献６には、車載機器で位置情報や加速度情報などのような時系列データを利用して認証を行うという認証システムが記載されている。特許文献７には、光ディスク装置で、光スポット間のタイミングずれ量を装置上で学習してクロックの位相を補正するという技術が記載されている。特許文献８には、ディスク装置の駆動音をサンプリングして、これによって当該装置を良品と不良品とに分類するという技術が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３７０７６６０号公報
【特許文献２】特開２００８−３１１７２６号公報
【特許文献３】特開２０１０−１８７２８２号公報
【特許文献４】特開２００９−１２４３１１号公報
【特許文献５】特開２００５−１６０００５号公報
【特許文献６】特開２０１１−１０１１１８号公報
【特許文献７】特開平０８−２２１７５９号公報
【特許文献８】特開平０８−０７７６８３号公報
【非特許文献】
【０００９】
【非特許文献１】ソニー株式会社、「SDK for NFC/SDK for FeliCa製品概要」、２０１１年１２月１２日、［平成２４年１月３１日検索］、インターネット＜URL：http://www.sony.co.jp/Products/felica/business/data/SDK_Products.pdf＞
【非特許文献２】J. Lester, B. Hannaford, and G. Borriello. "“Are You With Me?” - Using accelerometers to determine if two devices are carried by the same person.",Pervasive2004, LNCS 3001,pp.33-50, 2004.
【非特許文献３】Y. Huynh and B. Schiele. "Analyzing features for activity recognition." sOc-EUSAI’05, pp.159-163, 2005.
【非特許文献４】D. Bichler, G. Stromberg, M. Huemer, and M. Low. "Key generation based on acceleration data of shaking processes." UbiComp2007, LNCS 4717, pp.304-417, 2007.
【発明の概要】
【発明が解決しようとする課題】
【００１０】
前述した各々の相互認証の方法であるが、特許文献１に記載の技術では、ボタンを押すという操作は第三者によっても容易になしうる行為であるので、正当ではない第三者に対して認証鍵を発行してしまう危険性がある。また、ボタンを同時に押す操作でタイミングがズレると、正当なユーザであっても正常に認証できない場合がありうるので、このシステムによる利便性は高くない。非特許文献１に記載の技術では、各装置に非接触ＩＣリーダを装備する必要があるので、コスト上の問題がある。
【００１１】
特許文献２〜３および非特許文献２〜４に記載の技術では、ユーザが装置２つを合わせて振るなどのような操作が必要となる。たとえば大きい、重い、衝撃に弱いなどのような物理的な理由でそのような操作ができない機器も多く存在するので、それらの機器に対しては適用できない。
【００１２】
この問題を解決しうる技術は、残る特許文献４〜８にも記載されていない。特許文献４に記載の技術は、端末と携帯端末が各々同一ユーザの物であることを認証するためのものであり、アドホックな接続関係を構築するものではないので、そもそもの発明の目的が異なる。特許文献５に記載の技術は、認証鍵を配送するための通信経路を構築する技術であり、認証鍵生成の技術ではない。
【００１３】
特許文献６に記載の技術は、車の位置情報や加速度情報などを利用して車載機器の認証を行う技術であるので、車載機器以外に適用できる技術ではない。特許文献７に記載の技術は、光ディスク装置でクロックの位相を補正するという技術であるので、これも認証鍵生成に適用できる技術ではない。特許文献８に記載の技術は、ディスク装置を良品と不良品とに分類するという技術であるので、これも認証鍵生成に適用できる技術ではない。
【００１４】
また、認証鍵を発行するサーバコンピュータは、一度に多くの端末機器から発行依頼を受けた場合に過負荷が生じやすいので、端末機器側で行える処理はなるべく端末機器側で行うことが望ましい。特に最近は、端末機器として高機能なスマートフォンが多く用いられるようになっているので、可能な限り端末機器側で処理を行う必要性がなおさら高まっているといえる。この点について解決しうる技術も、特許文献１〜８および非特許文献１〜４には記載されていない。
【００１５】
本発明の目的は、ユーザにとって煩雑な操作を必要とせず、コストを大幅に増大させず、かつサーバ側の負荷を軽減して情報機器間でアドホックな接続関係を構築することを可能とする相互認証システム、端末装置、相互認証サーバ、相互認証方法および相互認証プログラムを提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明に係る相互認証システムは、複数台の端末装置と、相互認証サーバとが相互に接続されて構成される相互認証システムであって、各端末装置が、周辺の環境音を音声データとして収集する音声データ収集手段と、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信する特徴ベクトル生成手段と、この特徴ベクトルに応じて相互認証サーバから返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行う相互認証手段とを備え、相互認証サーバが、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する特徴ベクトル選択手段と、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する特徴ベクトル比較手段と、特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信する鍵共有手段とを有すること、を特徴とする。
【００１７】
上記目的を達成するため、本発明に係る端末装置は、他の端末装置および相互認証サーバと相互に接続されて相互認証システムを構成する一の端末装置であって、周辺の環境音を音声データとして収集する音声データ収集手段と、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信する特徴ベクトル生成手段と、この特徴ベクトルに応じて相互認証サーバから返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行う相互認証手段とを備えること、を特徴とする。
【００１８】
上記目的を達成するため、本発明に係る相互認証サーバは、複数の端末装置と相互に接続されて相互認証システムを構成する相互認証サーバであって、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する特徴ベクトル選択手段と、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する特徴ベクトル比較手段と、特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信する鍵共有手段とを有すること、を特徴とする。
【００１９】
上記目的を達成するため、本発明に係る相互認証方法は複数台の端末装置と、相互認証サーバとが相互に接続されて構成される相互認証システムにあって、各端末装置の音声データ収集手段が、周辺の環境音を音声データとして収集し、各端末装置の特徴ベクトル生成手段が、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信し、相互認証サーバの特徴ベクトル選択手段が、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択し、相互認証サーバの特徴ベクトル比較手段が、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定し、相互認証サーバの鍵共有手段が、特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信し、各端末装置の相互認証手段が、返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行うこと、を特徴とする。
【００２０】
上記目的を達成するため、本発明に係る他の相互認証方法は、他の端末装置および相互認証サーバと相互に接続されて相互認証システムを構成する一の端末装置にあって、音声データ収集手段が、周辺の環境音を音声データとして収集し、特徴ベクトル生成手段が、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信し、相互認証手段が、特徴ベクトルに応じて相互認証サーバから返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行うこと、を特徴とする。
【００２１】
上記目的を達成するため、本発明に係る他の相互認証方法は、複数の端末装置と相互に接続されて相互認証システムを構成する相互認証サーバにあって、特徴ベクトル選択手段が、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択し、特徴ベクトル比較手段が、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定し、鍵共有手段が、特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信すること、を特徴とする。
【００２２】
上記目的を達成するため、本発明に係る相互認証プログラムは、他の端末装置および相互認証サーバと相互に接続されて相互認証システムを構成する一の端末装置にあって、端末装置が備えるプロセッサに、周辺の環境音を音声データとして収集する手順、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信する手順、および特徴ベクトルに応じて相互認証サーバから返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行う手順を実行させること、を特徴とする。
【００２３】
上記目的を達成するため、本発明に係る他の相互認証プログラムは、複数の端末装置と相互に接続されて相互認証システムを構成する相互認証サーバにあって、相互認証サーバが備えるプロセッサに、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する手順、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する手順、および特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信する手順を実行させること、を特徴とする。
【発明の効果】
【００２４】
本発明は、上記したように、端末装置周辺の環境音の特徴ベクトルが一致する場合に相互認証サーバが認証鍵を生成するように構成したので、多くの機器が予め備えている音声入力手段をそのまま利用して相互認証を行うことができる。これによって、ユーザにとって煩雑な操作を必要とせず、コストを大幅に増大させず、かつサーバ側の負荷を軽減して情報機器間でアドホックな接続関係を構築することが可能であるという、優れた特徴を持つ相互認証システム、端末装置、相互認証サーバ、相互認証方法および相互認証プログラムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の基本形態に係る相互認証システムの構成について示す説明図である。
【図２】本発明の第１の実施形態に係る相互認証システムの構成について示す説明図である。
【図３】図２に示した特徴ベクトル生成手段の構成をさらに詳しく示す説明図である。
【図４】図２に示した音声データ圧縮手段が環境音の代表値を得る動作の一例について示す説明図である。
【図５】図３に示した特徴ベクトル生成手段のフーリエ変換機能が行う処理について示す説明図である。
【図６】図３に示した特徴ベクトル生成手段のカットオフ機能が行う処理について示す説明図である。
【図７】図３に示した特徴ベクトル生成手段の量子化機能が行う処理について示す説明図である。
【図８】図３に示した特徴ベクトル生成手段の量子化機能が図７に示した処理を行うに当たって、予め用意されている複数通りの量子化パターンの例について示す説明図である。
【図９】図２に示した特徴ベクトル選択手段および特徴ベクトル比較手段が行う処理について示す説明図である。
【図１０】図２に示した鍵共有手段が行う処理について示す説明図である。
【図１１】実験的に作成された相互認証システムの例を示す説明図である。
【図１２】図１１に示した相互認証システムで、各端末装置の間で算出された情報量の総和の測定時間に対する変化を示すグラフである。
【図１３】図２に示した時刻補正手段による処理について示す説明図である。
【図１４】図２に示した相互認証サーバと端末装置との間で行われる相互認証の動作について示すフローチャートである。
【図１５】本発明の第２の実施形態に係る相互認証システムの構成について示す説明図である。
【図１６】図１５で示した特徴ベクトル生成手段のより詳しい構成について示す説明図である。
【図１７】図１６に示した周波数選択機能および量子化機能による処理について詳しく示す説明図である。
【図１８】図１５で示した特徴ベクトル比較手段が行う処理について示す説明図である。
【図１９】図１５に示した相互認証サーバと端末装置との間で行われる相互認証の動作について示すフローチャートである。
【発明を実施するための形態】
【００２６】
（基本形態）
以下、本発明の基本形態の構成について添付図１に基づいて説明する。
基本形態に係る相互認証システム１は、複数台の端末装置３および４と、相互認証サーバ２とがネットワーク５を介して相互に接続されて構成される相互認証システムである。各端末装置３は、周辺の環境音を音声データとして収集する音声データ収集手段３ａと、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信する特徴ベクトル生成手段３ｂと、この特徴ベクトルに応じて相互認証サーバから返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行う相互認証手段３ｃとを備える。そして相互認証サーバ２は、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する特徴ベクトル選択手段２ａと、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する特徴ベクトル比較手段２ｂと、特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信する鍵共有手段２ｃとを有する。
具体的にこれらの手段をどのように実現し、処理がどのように行われるかは、以下の第１〜２の実施形態として説明する。
【００２７】
（第１の実施形態）
続いて、本発明の実施形態の構成について添付図２〜３に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る相互認証システム１００は、複数台の端末装置２０と、相互認証サーバ１０とが相互に接続されて構成される相互認証システムである。各端末装置２０は、周辺の環境音を音声データとして収集する音声データ収集手段２０２と、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信する特徴ベクトル生成手段２０４と、特徴ベクトルに応じて相互認証サーバから返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行う相互認証手段２０６とを備える。そして相互認証サーバ１０は、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択する特徴ベクトル選択手段１０２と、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定する特徴ベクトル比較手段１０３と、特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信する鍵共有手段１０４とを有する。
【００２８】
また、各端末装置２０が、予め相互間で時刻を合わせる時刻同期手段２０１を有する。さらに端末装置２０は、時刻同期手段によって前回時刻を合わせてからの経過時間と過去において発生した時刻ズレ量の平均値とから音声データを取得した正確な時刻を算出する時刻補正手段２０５を有する。
【００２９】
そして端末装置２０の特徴ベクトル生成手段２０４は、音声データを一定時間間隔の時間窓に分割して各々の時間窓に対してＦＦＴ（高速フーリエ変換）を行ってパワースペクトルを出力するフーリエ変換機能２０４ａと、出力されたパワースペクトルの周波数ごとのパワーレベルを予め設定された閾値と照合することにより周波数ごとの特徴ベクトルを出力する量子化機能２０４ｃとを有する。さらに、フーリエ変換機能によって得られたパワースペクトルから予め定められたカットオフ周波数以上の周波数成分を除去してこれを量子化機能に移行するカットオフ機能２０４ｂも有する。
【００３０】
以上の構成を備えることにより、相互認証システム１は、ユーザにとって煩雑な操作を必要とせず、コストを大幅に増大させず、かつサーバ側の負荷を軽減して情報機器間でアドホックな接続関係を構築することが可能となる。
以下、これをより詳細に説明する。
【００３１】
図２は、本発明の第１の実施形態に係る相互認証システム１００の構成について示す説明図である。相互認証システム１００は、相互認証を行う対象となる２台の端末装置２０ａと２０ｂ（以後総称して端末装置２０という）、およびこれら端末装置２０に対して認証鍵を生成して与える相互認証サーバ１０とがネットワーク３０を介して相互に接続されて構成される。ここで、ネットワーク３０は有線接続であっても無線接続であってもよく、その接続形態やプロトコルなどは特に問わない。
【００３２】
相互認証サーバ１０は、コンピュータ装置としての基本的な構成を備えている。即ち、コンピュータプログラムの動作主体であるプロセッサ１１と、プログラムおよびデータを記憶する記憶手段１２と、各端末装置２０とのデータ通信を行う通信手段１３とを備える。
【００３３】
相互認証サーバ１０のプロセッサ１１は、相互認証プログラムが動作することにより、端末装置２０との間で時刻を合わせる時刻同期手段１０１、各端末装置２０で生成された特徴ベクトルを受信し、その中から取得時刻が予め与えられた差分内であるものを選択する特徴ベクトル選択手段１０２、選択された特徴ベクトルを各端末装置間で比較し、これらが一致するか否かを判定する特徴ベクトル比較手段１０３、および特徴ベクトルが一致した場合に各端末装置２０に対して認証鍵を生成して送信する鍵共有手段１０４の各々として機能する。また記憶手段１２には生成された認証鍵１１１が記憶される。
【００３４】
端末装置２０（２０ａおよび２０ｂ）はいずれも同一の構成を備え、またいずれもコンピュータ装置としての基本的な構成を備えている。即ち、コンピュータプログラムの動作主体であるプロセッサ２１と、プログラムおよびデータを記憶する記憶手段２２と、相互認証サーバ１０や他の端末装置２０とのデータ通信を行う通信手段２３と、マイクロフォンなどによって音声データを取得して入力する音声入力手段２４とを備える。
【００３５】
端末装置２０のプロセッサ２１は、相互認証プログラムが動作することにより、他装置との間で時刻を合わせる時刻同期手段２０１、音声入力手段２４を介して取得した環境音を音圧の時系列変化のデータ（音声データ）として収集する音声データ収集手段２０２、取得した音声データのデータ量を圧縮する音声データ圧縮手段２０３、圧縮された音声データから特徴ベクトルを生成して相互認証サーバ１０に送信する特徴ベクトル生成手段２０４、時刻同期手段２０１が合わせた時刻をさらに精密に補正する時刻補正手段２０５、および相互認証サーバ１０から認証鍵を受信して相互認証を行う相互認証手段２０６の各々として機能する。また記憶手段２２には、相互認証サーバ１０から受信した認証鍵２１１が記憶される。
【００３６】
図３は、図２に示した特徴ベクトル生成手段２０４の構成をさらに詳しく示す説明図である。特徴ベクトル生成手段２０４は、さらに３つの機能部、即ちフーリエ変換機能２０４ａ、カットオフ機能２０４ｂ、および量子化機能２０４ｃに分かれる。
【００３７】
フーリエ変換機能２０４ａは、入力された時系列データに対してＦＦＴ（高速フーリエ変換）を行い、パワースペクトルを出力する。カットオフ機能２０４ｂは、入力されたパワースペクトルの、予め与えられたカットオフ周波数以上の周波数成分をカットする。量子化機能２０４ｃは、出力されたこのパワースペクトルを、予め与えられた複数の閾値と照合することによって、周波数ごとのパワースペクトルの量子化値を要素とする特徴ベクトルを出力する。
【００３８】
（時刻同期手段）
次に、相互認証サーバ１０および端末装置２０の各手段の動作について説明する。相互認証サーバ１０、端末装置２０ａおよび２０ｂで、各々の時刻同期手段１０１および２０１は、相互間で時刻を合わせる時刻同期処理を実施する。この時刻同期処理は、相互認証サーバ１０、端末装置２０ａおよび２０ｂの各々の電源投入時に行うようにしてもよく、また特定の周期で定期的に行うようにしてもよい。時刻同期には、ＮＴＰ（Network Time Protocol）プロトコルを利用することができる。外部のＮＴＰサーバを利用できる場合、端末装置２０の同期処理はＮＴＰを介して当該外部サーバに問い合わせてもよく、この場合、相互認証サーバ１０に必ずしも時刻同期手段１０１を設けなくてもよい。なお、時刻補正手段２０５による処理については後述する。
【００３９】
（音声データ収集手段）
端末装置２０の音声データ収集手段２０２は、上記の時刻同期処理が行われていることが前提で、あらかじめ相互認証サーバ１０と各端末装置２０の相互間で共通の値として設定されている基準時刻ｔ０と時間間隔ｗとに基づいて、現時刻（基準時間からの経過時間）ｔ（ただしｔ０＋（α−１）ｗ＜ｔ＜ｔ０＋αｗ、αは自然数）としたとき、ｔ＝（ｔ０＋αｗ）時点から時間ｗ分の環境音を音声入力手段２４を介して取得し、これを相互認証サーバ１０と各端末装置２０の相互間で共通の値として設定されているサンプリングレートｆ（単位Ｈｚ）でサンプリングして、音圧データとして取得する。
【００４０】
ここで、ｔ０、ｗ、およびｆの値は、時刻同期処理の際に共通の値として設定するようにしてもよい。たとえば、ｔ０＝０、ｗ＝３、ｔ＝１０、ｆ＝８０００（８ｋＨｚ）といった値が設定されている場合、時刻１２〜１５秒の間、環境音を８０００個／秒の音圧値からなる時系列の音声データとして収集するということを意味する。
【００４１】
（音声データ圧縮手段）
図４は、図２に示した音声データ圧縮手段２０３が環境音の代表値を得る動作の一例について示す説明図である。音声データ圧縮手段２０３は、音声データ収集手段２０２によって収集されたｆ個／秒の環境音の音圧データ２５１に対して、これをｆｃ（ｆ＞ｆｃ）個／秒のデータとしてデータ量を削減する。
【００４２】
より具体的には、ｆをｆｃで除算して得る商の個数毎にデータを分割し、分割毎に求める最大値をその区間の代表値とし、計ｆｃ個の時系列データ２５２を生成する。そして、相互認証サーバ１０に対して、その時系列データ２５２を、音声データ収集手段２０２でのセンシング時間を示すラベル２５２ｂと共に、相互認証サーバ１０に送信する。ここでいうラベル２５２ｂとは、たとえば「ｔ０＋αｗ〜ｔ０＋（α＋１）ｗ」などのように、音声データを取得した時間範囲を示すものである。また、最大値のかわりに当該時間範囲の平均値を代表値とすることもできる。以後、この「音声データを取得した時間範囲」を、対象時間範囲という。
【００４３】
この例では、ｆ＝８０００、ｆｃ＝１００として、音声データ圧縮手段２０３は音圧値の８０個毎の平均値を求め、１００個／秒の時系列データ２５２を得る。ｗ＝３である場合、３秒毎に３００個の時系列データが得られることとなる。この処理によって、音声データに含まれる高周波成分を取り除いた時系列データとすることができる。
【００４４】
（特徴ベクトル生成手段・フーリエ変換機能）
図５は、図３に示した特徴ベクトル生成手段２０４のフーリエ変換機能２０４ａが行う処理について示す説明図である。フーリエ変換機能２０４ａは、音声データ圧縮手段２０３によって得られた時系列データを、予め与えられた一定時間間隔の小区間に分割する。これをここでは時間窓３０１〜３０３という。そして、フーリエ変換機能２０４ａは各々の時間窓に対してＦＦＴ（Fast Fourier Transform、高速フーリエ変換）を行い、その周波数特性を示すパワースペクトルを出力する。図５には、時間窓３０１に対して出力されたパワースペクトル３１１を示している。
【００４５】
各端末装置２０から受信する時系列データは、前述のように１００個／単位時間の音圧値を含む。図５に示した例では、連続した６４個の音圧値を１つの時間窓３０１としている。かつ、そのうちの５０％（３２個）を次の時間窓３０２と重ねられた形としている。これに続く時間窓３０３も、前の時間窓３０２と５０％（３２個）が重複した形となっている。この連続する時間窓が重ねられる割合は任意に設定することができる。このようにすることによって、同じ対象時間範囲の時系列データからより多くの時間窓を比較対象データとして切り出すことができる。
【００４６】
（特徴ベクトル生成手段・カットオフ機能）
図６は、図３に示した特徴ベクトル生成手段２０４のカットオフ機能２０４ｂが行う処理について示す説明図である。カットオフ機能２０４ｂは、出力されたパワースペクトル３１１から、予め与えられたカットオフ周波数ｆｍ以上の周波数成分をカットする。図６に示した例ではｆｍ＝１０Ｈｚとしているが、このカットオフ周波数は任意に設定できる。あるいは、カットオフ機能２０４ｂを、フーリエ変換機能２０４ａの前段に置かれたいわゆるＬＰＦ（ローパスフィルタ）によってアナログ的に実現してもよい。
【００４７】
ただし、ｆｍは音声データ圧縮手段２０３が時系列データ作成に使用したｆｃの半分以下の値でなければならない。本明細書で示した例ではｆｃ＝１００Ｈｚであるので、ｆｍ＝１０Ｈｚは十分その条件を満たす。
【００４８】
（特徴ベクトル生成手段・量子化機能）
図７は、図３に示した特徴ベクトル生成手段２０４の量子化機能２０４ｃが行う処理について示す説明図である。量子化機能２０４ｃは、フーリエ変換機能２０４ａから出力されたパワースペクトル３１１に対して量子化パターンを適用して量子化処理を行う。ここでいう量子化パターンとは、カットオフ周波数ｆｍ以下で予め与えられた各成分周波数に対して、複数の閾値を設定したものである。量子化パターンは複数パターンが予め用意されているが、これについては後述することにし、図７では１つの量子化パターンによる処理を示している。
【００４９】
図７に示した例では、１つの量子化パターンには、パワースペクトル３１１の各成分周波数に対して４つの閾値Ｔ１〜Ｔ４が含まれており、各々の成分周波数におけるパワーを５段階に分類している。ここでは、成分周波数を０〜１０Ｈｚの１Ｈｚ刻みに設定している。たとえば成分周波数「０Ｈｚ」の場合、この各成分周波数に対応するパワーとは「０Ｈｚ以上１Ｈｚ未満」の周波数範囲におけるパワーの最大値を意味する。１Ｈｚ以上の成分周波数に対しても同様である。なお、実運用においては、上記刻みは、ＦＦＴの入力とするデータの単位時間あたりのデータ点数ｆｃと時間窓内のデータ点数Nから、ｆｃ／Ｎとして求められるものである。
【００５０】
各成分周波数に対応するパワーがＴ４以上であれば領域（５）、Ｔ３以上Ｔ４未満であれば領域（４）、Ｔ２以上Ｔ３未満であれば領域（３）、Ｔ１以上Ｔ２未満であれば領域（２）、Ｔ１未満であれば領域（１）に分類される。これらの閾値および成分周波数の、各々の個数と値は任意に設定することができる。なお、本明細書の本文中では、たとえば「５の丸数字」を「（５）」と表記するようにしている。
【００５１】
以上、図７で示したパワースペクトル３１１に対して、特徴ベクトル生成手段２０４は特徴ベクトル３２１を出力して、相互認証サーバ１０に送信する。ここでいう特徴ベクトルとは、各成分周波数１〜１０Ｈｚに対して、当該周波数におけるパワーが対応する領域を並べたものである。
【００５２】
図８は、図３に示した特徴ベクトル生成手段２０４の量子化機能２０４ｃが図７に示した処理を行うに当たって、予め用意されている複数通りの量子化パターンの例について示す説明図である。図８に示した例では、４通りの量子化パターン３３１〜３３４が用意されており、その各々が図７に示したものと同様に４つの閾値を含んでいる。
【００５３】
この量子化パターンの数も任意に設定できるが、各量子化パターンの間で閾値の数は共通する。各量子化パターンに含まれる閾値は、時系列データから算出したパワースペクトルの最大値を基準にして、指数関数的に幅を広げたものである。そして、各量子化パターンの間では、この閾値は少しずつ異なる。
【００５４】
詳しくは後述するが、パワーが閾値付近にある場合、音響特性や音源からの位置などが僅かに異なるだけでも、得られたパワーの値が閾値より高いか低いかが変わる場合がある。その結果として、同じ環境音から得られた時間窓であっても、異なる特徴ベクトルが出力される場合がある。そのため、量子化機能２０４ｃでは閾値を少しずつずらした複数通りの量子化パターンを用意して、１つの時間窓から複数通りの特徴ベクトルを出力するようにしている。
【００５５】
ここまでの処理は、一つの端末装置２０で取得された環境音から得られる音声データに対して行われるものであり、他の端末装置で取得された音声データは特に関与しないので、端末装置２０単体で行っても全く差し支えない。音声データから得られた特徴ベクトルを、他の端末装置で得られた特徴ベクトルとの間で比較する処理は、この次に説明する相互認証サーバ１０の特徴ベクトル比較手段１０３で行われる。
【００５６】
（特徴ベクトル選択手段・特徴ベクトル比較手段）
図９は、図２に示した特徴ベクトル選択手段１０２および特徴ベクトル比較手段１０３が行う処理について示す説明図である。特徴ベクトル比較手段１０３は、各端末装置２０ａおよび２０ｂの量子化機能２０４ｃが出力した複数通りの特徴ベクトルを、同一の時間窓について比較し、これらの各端末装置が収集した環境音が同一であるか否かを判定する。その際、量子化機能２０４ｃで用意された量子化パターンがｃ通りであるとすると、同一の時間窓で各端末装置２０ａおよび２０ｂの各々からｃ個の特徴ベクトルが出力される。
【００５７】
ここでいう「同一の時間窓」とは、各端末装置２０ａおよび２０ｂで全く同じ時間範囲で観測および処理された時間窓という意味であるが、特徴ベクトル選択手段１０２は、センシング時刻が予め与えられた差分内である特徴ベクトルの組み合わせを「同一の時間窓」として選択する。時刻同期手段１０１および２０１による時刻同期処理によって発生しうる時刻ズレは、おおよそ０．０１秒単位であるので、たとえば０．０５秒程度をこの「与えられた差分」とすることが望ましい。
【００５８】
そして特徴ベクトル比較手段１０３が、各端末装置２０ａおよび２０ｂで同一の時間窓を対象としてｃ通りずつ出力された特徴ベクトルに対して、総当たりで比較を行い、１つでも一致したものがあれば端末装置２０ａおよび２０ｂ間で時系列データが一致していると判断する。
【００５９】
図９で示した例では、同一の時間範囲において各端末装置２０ａおよび２０ｂから各々特徴ベクトル３４１および３４２が出力されている。量子化パターン数は各々ｃ＝４であるので、出力された特徴ベクトル３４１および３４２は各々４通りずつである。この特徴ベクトル３４１および３４２は、いずれも０〜３Ｈｚの１Ｈｚ刻みの各成分周波数に対応するパワーが各々図８〜９のどの領域に該当するかを表している。
【００６０】
なお、図９および後述の図１０では、説明を平易なものとするために、各特徴ベクトルを「０〜３Ｈｚの１Ｈｚ刻み」の各成分周波数に対応するパワーのみを表示している。「各成分周波数に対応するパワー」の定義は、図７と同様である。たとえば成分周波数「０Ｈｚ」の場合、この各成分周波数に対応するパワーとは「０Ｈｚ以上１Ｈｚ未満」の周波数範囲におけるパワーの最大値を意味する。１Ｈｚ以上の成分周波数に対しても同様である。
【００６１】
特徴ベクトル比較手段１０３は、このうちの「（５）（１）（２）（１）」が、特徴ベクトル３３１の上から３番目と特徴ベクトル３３２の上から１番目とで一致したことを発見したので、もうこれで端末装置２０ａおよび２０ｂ間で時系列データが一致したと判断する。
【００６２】
（鍵共有手段）
図１０は、図２に示した鍵共有手段１０４が行う処理について示す説明図である。鍵共有手段１０４は、この比較結果を受けて、端末装置２０ａおよび２０ｂに対して認証鍵１１１を生成して記憶手段１２に記憶すると共に、この認証鍵を端末装置２０ａおよび２０ｂに送信する。
【００６３】
その際、鍵共有手段１０４は、一致した特徴ベクトルの生成確率から情報量を計算し、時間窓毎で一致した特徴ベクトルの情報量の総和を鍵長として、この鍵長が一定の閾値を超える場合にのみ、一致した時間窓を連接したもののハッシュ値を認証鍵１１１とする。ここでいう情報量（選択情報量、自己エントロピー）とは、情報理論でいう概念であり、ある事象の発生する確率をＰとすると、以下の数１で計算される情報量Ｉ（ビット）である。
【数１】
2014138404.tif 000003
【００６４】
鍵共有手段１０４は、比較対象となる時間範囲の中で、一致した特徴ベクトルの総数、および個々の特徴ベクトルの一致回数をカウントするが、このカウントは時間窓単位でリセットされるものではなく、対象時間範囲内の他の時間窓において一致した特徴ベクトルについても累積してカウントし、一致した特徴ベクトルの情報量（ビット）の総和を求める。
【００６５】
図１０に示した例では、端末装置２０ａおよび２０ｂの間で一致した特徴ベクトル３４１の総数が１０個あり、その中で「（５）（１）（４）（１）」が３個、「（５）（２）（４）（１）」が１個、「（５）（１）（４）（２）」が１個、「（５）（１）（３）（１）」が３個、「（５）（２）（４）（２）」が２個一致している。その各々の特徴ベクトルは、端末装置２０ａおよび２０ｂから得られた時系列データの波形２６１および２６２から、特定の対象時間範囲において得られた時間窓３０１または３０２から得られ、特徴ベクトル比較手段で一致が観測されたものである。
【００６６】
この場合、たとえば「（５）（１）（４）（１）」の場合は１０個中３個が一致したので、確率Ｐ＝３／１０を上記の数１に適用すると、情報量Ｉ＝１．７３７ビットと求められる。他の特徴ベクトルについても同様に情報量を算出して、その合計を鍵長として求めると１２．４４ビットと求められる。この例では閾値を１０ビットに設定しているので、ここで算出された「１２．４４ビット」はこの閾値を超える。
【００６７】
図１１は、実験的に作成された相互認証システム４０１の例を示す説明図である。この相互認証システム４０１は、端末装置４２０ａ〜ｃという３台の端末装置と、相互認証サーバ４１０とが無線ネットワークを介して接続されて構成される。端末装置４２０ａ〜ｃは各々、図２〜３に示した端末装置２０と同一の構成を持つ。相互認証サーバ４１０は、図２〜３に示した相互認証サーバ１０と同一の構成を持つ。端末装置４２０ａおよび４２０ｂは同一の室内４２１に、端末装置４２０ｃはその隣室４２２に、それぞれ設置されている。
【００６８】
そして、端末装置４２０ａおよび４２０ｂの間と、端末装置４２０ａおよび４２０ｃの間とで、各々図１０までで説明した手法によって、一致した特徴ベクトルの情報量の総和を算出した。図１２は、図１１に示した相互認証システム４０１で、端末装置４２０ａおよび４２０ｂの間と、端末装置４２０ａおよび４２０ｃの間とで算出された情報量の総和の測定時間に対する変化を示すグラフである。端末装置４２０ａおよび４２０ｂの間で算出された情報量の総和をグラフ４３１、端末装置４２０ａおよび４２０ｃの間で算出された情報量の総和をグラフ４３２として表している。
【００６９】
言い換えるなら、グラフ４３１は同一の環境音が観測されるべき状況、これに対してグラフ４３２は同一の環境音が観測されるべきでない状況で、各々の場合に算出された情報量の総和を表している。図１２で一目瞭然となっているように、グラフ４３１および４３２は情報量の総和が明らかに異なるので、その中間の適切な値を閾値４３３として予め設定し、センシングを行った対象時間の長さに対応する閾値を得られた情報量の総和と比較して、環境音が同一であるか否かを検出することができる。
【００７０】
そして、環境音が同一であると判定された場合に、鍵共有手段１０４が、一致した特徴ベクトル３４１を連接したもののハッシュ値を認証鍵１１１として生成して記憶手段１２に記憶させ、端末装置２０ａおよび２０ｂに送信する。ここでいうハッシュ値は、一致した特徴ベクトル３４１を連接したものを非可逆関数に入力して得られた出力値である。
【００７１】
（相互認証手段）
端末装置２０ａおよび２０ｂでは、相互認証手段２０４がこの認証鍵２１１（１１１）を受信して記憶手段２２に記憶すると共に、この認証鍵によって端末装置２０ａおよび２０ｂが相互認証を行う。この認証鍵１１１（２１１）の送受信は、ＳＳＬ（Secure Socket Layer）などのようなセキュアな通信方式によって行うことが望ましい。また、相互認証の動作は、チャレンジレスポンス認証などのような公知技術を利用することができる。
【００７２】
（時刻補正手段）
以上で説明した処理は、相互認証サーバ１０、端末装置２０ａおよび２０ｂの間で精密に時刻が同期していることが前提である。前述の時刻同期手段１０１および２０１による時刻同期処理が実施されていても、それら各装置相互間の時刻は０．０１秒単位の時刻ズレが発生しうる。特徴ベクトル比較手段１０３による比較処理を正常に行うためには、各装置相互間の時刻ズレを可能な限り０に近づけることが望ましい。
【００７３】
図１３は、図２に示した時刻補正手段２０５による処理について示す説明図である。前述したように８０００個／秒の音声データを音声データ圧縮手段２０３によって１００個／秒に圧縮し、かつ各時間窓が連続した６４個の音圧値によって構成される場合の時間窓４５１を、図１３では示している。この場合、この時間窓４５１に対して時刻ズレ４５２が０．６４秒以上となれば、特徴ベクトル比較手段１０３は全く異なる時刻における時間窓の特徴ベクトルを比較することとなってしまう。これでは、比較自体に意味がなくなる。時刻補正手段２０５は、そのような時刻ズレを０に近づけるための処理を行う。
【００７４】
前述の時刻同期手段１０１および２０１による時刻同期処理が行われるタイミングで、時刻補正手段２０５は、この時刻同期処理で修正した時刻ズレ量と、前回の時刻同期処理からの経過時間から「単位時間当たりの時刻ズレ量」を算出して記録する。そして、特徴ベクトル生成手段２０４による処理が行われるタイミングで、過去において記録された単位時間当たりの時刻ズレ量の平均値と、前回の時刻同期処理から現在時刻までの経過時間を、近似式に適用して現在時刻における時刻ズレ量を算出して、この時刻ズレ量によって現在時刻を補正した時刻を、前述のセンシング時刻とする。
【００７５】
この時に利用される近似式は、たとえば線形近似式、対数近似式、多項近似式など、任意の式を用いることができる。予め用意された複数種類の近似式の中で、以下の数２で示される決定係数Ｒ２がより１に近くなる、即ち相対的残差がより少なくなる近似式を処理ごとに都度選択するようにしてもよい。ここでｙｉは標本値、即ち各々の時刻同期処理の際に実測された時刻ズレ量である。ｆｉは各々の時刻同期処理の際の近似式による推定値である。
【数２】
2014138404.tif 000004
【００７６】
（フローチャート）
図１４は、図２に示した相互認証サーバ１０と端末装置２０との間で行われる相互認証の動作について示すフローチャートである。まず、相互認証サーバ１０と端末装置２０で、各々の時刻同期手段１０１および２０１は、相互間で時刻を合わせる時刻同期処理を実施する（ステップＳ１０１および２０１）。
【００７７】
次に、端末装置２０の側で、音声データ収集手段２０２が音声入力手段２４を介して環境音を音声データとして取得し（ステップＳ２０２）、これに合わせて時刻補正手段２０５が時刻ズレを含めたセンシング時刻を算出する（ステップＳ２０３）。そして、端末装置２０の音声データ圧縮手段２０３が、取得された音声データからデータ量を削減した時系列データを作成し、この時系列データから各々の時間窓に対して予め用意されたｃ通りの量子化パターンを適用してｃ個の特徴ベクトルを生成して、これを相互認証サーバ１０に送信する（ステップＳ２０４）。
【００７８】
相互認証サーバ１０では、特徴ベクトル選択手段１０２が、両方の端末装置から送信された特徴ベクトルについて、センシング時刻が予め与えられた差分内である特徴ベクトルの組み合わせを「同一の時間窓」として選択して（ステップＳ１０２）、特徴ベクトル比較手段１０３が、各端末装置で選択された「同一の時間窓」の特徴ベクトルを総当たりで比較し、１個でも特徴ベクトルが共通であれば一致したと判定する（ステップＳ１０３）。特徴ベクトルが一致しなければ、処理は異常終了となる。
【００７９】
この比較結果を受けた鍵共有手段１０４は、一致した特徴ベクトルの生成確率から、各一致した特徴ベクトルの情報量を計算し、その総和が与えられた閾値を超える場合にのみ、一致した特徴ベクトルを連接したもののハッシュ値を認証鍵として、各端末に送信する（ステップＳ１０４〜１０５）。その特徴ベクトルの情報量が一定の閾値を超えない場合にも、処理は異常終了となる。端末装置２０ａおよび２０ｂの相互認証手段２０４は、受信したこの認証鍵によって相互認証を行う（ステップＳ２０５）。
【００８０】
以上に示した処理により、この相互認証システムでは、音声入力だけで十分な強度を持った有効な認証鍵を生成して発行することが可能となる。これには特別な操作は特に必要ではなく、また音声入力に必要なハードウェアやソフトウェアなども多くの機器が予め備えているので、導入にかかるコストも小さい。
【００８１】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係る相互認証方法は、複数台の端末装置２０と、相互認証サーバ１０とが相互に接続されて構成される相互認証システムにあって、各端末装置の音声データ収集手段が、周辺の環境音を音声データとして収集し（図１４・ステップＳ２０２）、各端末装置の特徴ベクトル生成手段が、音声データの周波数成分を解析して特徴ベクトルを生成して相互認証サーバに送信し（図１４・ステップＳ２０４）、相互認証サーバの特徴ベクトル選択手段が、各端末装置から受信した特徴ベクトルの中から取得時刻が予め与えられた差分内であるものを選択し（図１４・ステップＳ１０２）、相互認証サーバの特徴ベクトル比較手段が、当該端末装置間でこれらの特徴ベクトルが一致するか否かを判定し（図１４・ステップＳ１０３）、相互認証サーバの鍵共有手段が、特徴ベクトルが一致する場合に各端末装置に対して認証鍵を生成して送信し（図１４・ステップＳ１０５）、各端末装置の相互認証手段が、返信されてきた認証鍵を利用して他の端末装置との間で相互認証を行う（図１４・ステップＳ２０５）。
【００８２】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行する相互認証サーバ１０のプロセッサ１１に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００８３】
（本実施形態によって得られる効果）
前述の特許文献２〜３および非特許文献２〜４には、ユーザが「装置２つを合わせて振る」という構成が開示されている。本実施形態が認証に利用する環境音も広い意味での「振動」といえるが、下記の理由から、先行技術が開示する手法を本実施形態にそのまま適用することはできない。
【００８４】
この先行技術で認証の操作対象となっている振動は、多くてもせいぜい１秒に数回程度である。それに対して、本実施形態が対象とする音声は、たとえば携帯電話端末の音声通話用のマイクの仕様では、最低でも８ｋＨｚ、８ビットでのサンプリングが必要になる。これをそのまま送信すると、送信する際に膨大な通信量（８キロバイト／秒）が発生し、判定の際の処理量もまた膨大なものとなる。本実施形態では、端末装置２０で収集した環境音データを相互認証サーバ１０に送信する際に、音圧データから生成した特徴ベクトルのみを送信しているので、音声データを送信する場合と比較して、通信量や処理量を大幅に低減している。
【００８５】
本実施形態ではさらに、音圧データを低周波側に限定することにより、いわゆるローパスフィルタを通すことと同様の効果が得ている。環境音は、周期的に発生する「定常音系」と突発的に発生する「パルス系」とに大きく分けることができるが、「定常音系」の環境音は物理的に近接していない異なる場所であっても同一の音が観測される場合が多くある。そして、「定常音系」の環境音は周波数が比較的高いことが多いのに対し、「パルス系」の環境音は周波数が比較的低いことが多い。
【００８６】
従って、本実施形態では、周波数が比較的高い「定常音系」の環境音による影響を低減して、その時・その場でしか観測されない「パルス系」の環境音について一致するか否かを判断することができる。これによって、正当でないユーザに対して認証鍵を誤発行する、即ちフォールス・ポジティブ（false positive）発生の危険性を低減することができるという効果もある。
【００８７】
また、閾値を少しずつ変化させた複数の量子化パターンを用意しておき、これを利用して複数の特徴ベクトルを生成および比較することにより、観測場所の違いや機器同士での音響特性の違いなどによる影響を低減する効果を得ることもできる。
【００８８】
以上の構成によって、本実施形態では、正当でないユーザに対して認証鍵を誤発行する危険の少ない、確実な相互認証を実現することが可能としている。その際に必要となるのは、装置周辺の音声を入力することだけであるので、多くの機器が標準的に備えているハードウェアおよびソフトウェアのみで実施可能である。また、端末装置の台数が増えた場合においても、相互認証サーバにかかる計算量や通信量の負荷を少なくして、スムースに処理を行うことが可能となる。
【００８９】
その際、各々の端末装置の間で時刻が正確に同期している必要があるので、時刻補正手段を設けている。この時刻補正手段によって、各端末装置は最近の時刻同期からのずれを自ら計算することが可能となるので、図１４のステップＳ１０１およびＳ２０１の時刻同期の処理を毎回実行しない（数日に１回程度実行する）ように構成すれば、時刻同期処理によって発生するオーバヘッドを削減できるという副次的効果もある。
【００９０】
（第２の実施形態）
本発明の第２の実施形態に係る相互認証システム５０１は、第１の実施形態の構成に加えて、まず端末装置５２０の特徴ベクトル生成手段５０４が、前述のカットオフ機能２０４ｂの代わりに、フーリエ変換機能によって得られたパワースペクトルからパワーレベルの高い順に予め定められた数の複数の周波数を選択してこれを量子化機能に移行する周波数選択機能５０４ａを有する。そして量子化機能５０４ｂが、選択された各周波数と当該周波数におけるパワーレベルを閾値と比較した結果とを含む特徴ベクトルを出力する。さらに量子化機能５０４ｂは、閾値を予め複数与えられており、選択された各周波数と当該周波数におけるパワーレベルを各閾値と比較した結果を候補ベクトルとし、これらの各候補ベクトルを合わせて特徴ベクトルとして出力する。
【００９１】
相互認証サーバ５１０の特徴ベクトル比較手段５０３は、各端末装置間で特徴ベクトルに含まれる候補ベクトルが１つでも一致する場合に、当該各端末装置の特徴ベクトルが一致すると判定する。そして鍵共有手段１０４は、時系列データの対象時間範囲において一致した特徴ベクトルの単位時間当たりの情報量の合計値を算出し、この算出された情報量の合計値が予め与えられた一定値以上である場合にのみ、一致した特徴ベクトルを連接すると共にこの一致した特徴ベクトルを連接したもののハッシュ値を認証鍵として生成する。
【００９２】
以上の構成によっても第１の実施形態と同一の効果が得られるのに加えて、第１の実施形態ではカットされる高周波帯の音声信号を利用して、可聴帯域上限付近〜可聴帯域外の周波数の音声を利用した認証サービスなどを行うことが可能となる。
以下、これをより詳細に説明する。
【００９３】
図１５は、本発明の第２の実施形態に係る相互認証システム５０１の構成について示す説明図である。相互認証システム５０１は、第１の実施形態で示した相互認証システム１で、相互認証サーバ１０が別の相互認証サーバ５１０に、また端末装置２０が別の端末装置５２０に、各々置換されたものである。
【００９４】
相互認証サーバ５１０は、ハードウェアとしての構成は相互認証サーバ１０と同一であり、またプロセッサ１１で動作するソフトウェアとしての構成も、同一の要素を多く含んでいる。同様に、端末装置５２０もハードウェアとしての構成は端末装置２０と同一であり、またプロセッサ２１で動作するソフトウェアとしての構成も、同一の要素を多く含んでいる。従って、ここではその相違点のみを説明するにとどめる。
【００９５】
相互認証サーバ５１０では、特徴ベクトル比較手段１０３が別の特徴ベクトル比較手段５０３に置換されている。端末装置５２０では、特徴ベクトル生成手段２０４が別の特徴ベクトル生成手段５０４に置換され、また音声データ圧縮手段２０３が省略されている。
【００９６】
（特徴ベクトル生成手段）
図１６は、図１５で示した特徴ベクトル生成手段５０４のより詳しい構成について示す説明図である。特徴ベクトル生成手段５０４は、図３で示した第１の実施形態と同一のフーリエ変換機能１０３ａと、本実施形態に特有の周波数選択機能５０４ａおよび量子化機能５０４ｂとを備える。
【００９７】
特徴ベクトル生成手段５０４は、音声データ収集手段２０２が収集した音声データを、周波数成分のカットオフなどを行うことなくそのまま受け取り、まずフーリエ変換機能１０３ａによってフーリエ変換を行い、（図６に示すような）時間窓ごとのパワースペクトルを出力する。周波数選択機能５０４ａは、そのパワースペクトルの中から、パワーレベルの大きい上位ｋ（≧１）個の周波数を選択する。そして量子化機能５０４ｂは、「そのｋ個の周波数に対するパワーレベル」を予め与えられた閾値と比較し、その比較結果に対応した値を特徴ベクトルとして出力する。
【００９８】
図１７は、図１６に示した周波数選択機能５０４ａおよび量子化機能５０４ｂによる処理について詳しく示す説明図である。図１６では、本発明の概念を平易に説明するためにごく簡単な例についてのみ示している。即ち、周波数選択機能５０４ａは「パワーレベルが高い上位２個」の周波数のみを選択するものとし、また量子化機能５０４ｂは「パワーレベル≧閾値であるか否かのみを判断する」ものとしているが、これらの数がこの例より多くなってももちろんよい。即ち、周波数選択機能５０４ａは「パワーレベルが高い上位ｎ個」（ｎ≧３の自然数）の周波数のみを選択するものとし、量子化機能５０４ｂが「（図８で説明した第１の実施形態と同様に）２個以上の閾値とパワーレベルを比較し、パワーレベルがどの領域に属するかを判断する」ものとしてもよい。
【００９９】
周波数選択機能５０４ａが選択する「パワーレベルが高い上位２個」の周波数を、各々ｆ１およびｆ２とする。そして閾値をＴ１とすると、量子化機能５０４ｂは、周波数ｆ１におけるパワーレベルがＴ１より高く、周波数ｆ２におけるパワーレベルがＴ１より低い場合には、「（ｆ１，１）（ｆ２，０）」を候補ベクトル５５１ａとする。そして、第１の実施形態と同様に、閾値は複数用意されている。図１６では、Ｔ１，Ｔ２，Ｔ３という３通りの閾値を用意した例を示している。そして量子化機能５０４ｂは、全ての閾値を適用して得られた候補ベクトル５５１ａ〜ｃの組を、特徴ベクトル５５１として出力し、相互認証サーバ５１０に送信する。他の端末装置５２０においても、同一の閾値を用いてこれと同一の動作を行う。
【０１００】
（特徴ベクトル選択手段・特徴ベクトル比較手段）
図１８は、図１５で示した特徴ベクトル比較手段５０３が行う処理について示す説明図である。相互認証サーバ５１０の特徴ベクトル選択手段１０２は、第１の実施形態と同様に、各々の端末装置５２０から受信した特徴ベクトルの中でセンシング時刻が予め与えられた差分内であるものを同一の時間窓における特徴ベクトルとして選択する。そして特徴ベクトル比較手段５０３は、選択された同一の時間窓における特徴ベクトルに含まれる候補ベクトルを総当たりで比較し、１つでも一致する候補ベクトルがあれば一致するものと判断する。
【０１０１】
図１８に示した例では、端末装置５２０ａから受信した特徴ベクトル５５１と、端末装置５２０ｂから受信した特徴ベクトル５５２とが、センシング時刻が予め与えられた差分内であるので「同一の時間窓」であると判断されて比較対象となっている。そして、特徴ベクトル５５１に含まれる候補ベクトル５５１ａと、特徴ベクトル５５２に含まれる候補ベクトル５５２ｃが、いずれも「（ｆ１，１）（ｆ２，０）」であるので、これでもう特徴ベクトル５５１と５５２は一致するものと判断される。
【０１０２】
これによって、第１の実施形態における比較処理と同様に、パワーレベルが閾値付近である場合においても、観測場所の違いや機器同士での音響特性の違いなどによる影響を低減して一致するか否かを判断することが可能となる。また、周波数ｆ１またはｆ２においても「予め与えられた差分値内であれば、各端末装置間で一致すると判断する」ための差分値を適宜設けてもよい。
【０１０３】
その際、「（ｆ１，１）（ｆ２，１）」なる候補ベクトルが両方の特徴ベクトルに含まれている場合のみならず、たとえば「（ｆ２，１）（ｆ１，１）」なる候補ベクトルも「（ｆ１，１）（ｆ２，１）」と一致すると判断してもよい。ここで、「（ｆ１，１）（ｆ２，１）」は周波数ｆ１におけるパワーレベルがｆ２におけるパワーレベルよりも大きいことを意味し、「（ｆ２，１）（ｆ１，１）」は逆にｆ２におけるパワーレベルの方が大きいことを意味する。鍵共有手段１０４による処理、およびその他の構成要素による処理は、第１の実施形態と同一である。
【０１０４】
（フローチャート）
図１９は、図１５に示した相互認証サーバ５１０と端末装置５２０との間で行われる相互認証の動作について示すフローチャートである。このフローチャートも、図１４に示した第１の実施形態と同一の動作を多く含むので、そのような動作については同一の参照番号を付して説明を割愛することとする。
【０１０５】
即ち、端末装置５２０の側の動作は、ステップＳ２０１〜２０３は図１４と同一であるが、その後の特徴ベクトルの生成の動作が前述のように異なっている（ステップＳ６０１）。相互認証サーバ５１０の側の動作は、ステップＳ８０４までは図１４と同一であるが、受信した特徴ベクトルを比較して一致するか否かを判定する動作が前述のように異なっている（ステップＳ６０２）。その後に続く動作は、全て図１４と同一である。
【０１０６】
（本実施形態によって得られる効果）
前述した第１の実施形態では、カットオフ機能によって収集された音声データの高周波成分をカットして低周波側に限定し、それから特徴ベクトルを生成していた。これに対して、第２の実施形態では周波数成分のカットオフなどを行わずに特徴ベクトルを生成する。端末装置５２０から相互認証サーバ５１０に送信されるのは音声データそのものではなく「特徴ベクトル」であるので、高周波信号による成分を含んでも、送信にかかる通信量が増大することはない。第１の実施形態ではサンプリング周波数を８ｋＨｚとしたが、これを（たとえば音楽用コンパクトディスクと同じ４４．１ｋＨｚなどのように）可聴帯域全体を含みうる値としても特に問題は無い。
【０１０７】
たとえばアドホックな接続関係を構築したい場面で、（いわゆるモスキート音などのような）可聴帯域上限付近〜可聴帯域外の特定の周波数の音声を意識的に流しておけば、それ以外の場所でその周波数の音声が観測される可能性は低いので、これを利用して正当な認証鍵を確実に発行することが可能となる。また、意識的にそのような音声が流されている環境でなくても、そのような周波数の音声成分を積極的に利用して認証を行うことが可能となる。
【０１０８】
（実施形態の拡張）
以上の通り説明した第１および第２の実施形態には、その趣旨を改変しない範囲でさまざまな拡張が考えられる。以下、これについて説明する。
まず、１つの相互認証システムが３台以上の端末機器を含み、それらの端末機器が３台以上の組で相互認証を行うようにしてもよい。また、１つの相互認証システムに含まれる端末機器のうちの１台が、相互認証サーバとしての機能を兼ね備えてもよい。
【０１０９】
また、相互認証サーバの鍵共有手段が、前述の数１で説明した情報量の合計値が一定値以下の場合に、この特徴ベクトルを一時的に予め備えられた記憶手段に記憶し、同一の端末装置の組から送られてきた特徴ベクトルにさらに一時的に記憶された特徴ベクトルを連接させたもののハッシュ値を認証鍵として生成する構成としてもよい。このようにすれば、ある特定の期間において得られた環境音だけでは十分な鍵長の特徴ベクトルを得ることのできない場合においても、同一の端末装置の組から連続して得られる特徴ベクトルを利用して、有効な認証鍵を生成して利用することが可能となる。
【０１１０】
さらに、ユーザが特定の時間範囲を指定して、その指定された時間範囲のみを本発明で認証を行う対象時間範囲とする、または逆に本発明で認証を行う対象時間範囲から除外するようにするという構成も考えられる。
【０１１１】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【０１１２】
本発明は、特定の機器間でのアドホックな（恒常的でない、一時的な）接続関係を構築するための相互認証システムにおいて利用できる。特に、端末装置がスマートフォンなど、処理能力に比較的余裕がある場合に適している。
【符号の説明】
【０１１３】
１、１００、４０１、５０１  相互認証システム
２、１０、４１０、５１０  相互認証サーバ
１１、２１  プロセッサ
１２、２２  記憶手段
１３、２３  通信手段
３、４、２０、２０ａ、２０ｂ、４２０、４２０ａ、４２０ｂ、４２０ｃ  端末装置
２４  音声入力手段
５、３０  ネットワーク
１０１、２０１  時刻同期手段
２ａ、１０２  特徴ベクトル選択手段
２ｂ、１０３、５０３  特徴ベクトル比較手段
２ｃ、１０４  鍵共有手段
１１１、２１１  認証鍵
３ａ、２０２  音声データ収集手段
２０３  音声データ圧縮手段
３ｂ、２０４、５０４  特徴ベクトル生成手段
２０４ａ  フーリエ変換機能
２０４ｂ  カットオフ機能
２０４ｃ、５０４ｂ  量子化機能
２０５  時刻補正手段
３ｃ、２０６  相互認証手段
５０４ａ  周波数選択機能
【図１】
2014138404.tif 000005
【図２】
2014138404.tif 000006
【図３】
2014138404.tif 000007
【図４】
2014138404.tif 000008
【図５】
2014138404.tif 000009
【図６】
2014138404.tif 000010
【図７】
2014138404.tif 000011
【図８】
2014138404.tif 000012
【図９】
2014138404.tif 000013
【図１０】
2014138404.tif 000014
【図１１】
2014138404.tif 000015
【図１２】
2014138404.tif 000016
【図１３】
2014138404.tif 000017
【図１４】
2014138404.tif 000018
【図１５】
2014138404.tif 000019
【図１６】
2014138404.tif 000020
【図１７】
2014138404.tif 000021
【図１８】
2014138404.tif 000022
【図１９】
2014138404.tif 000023