(57)【特許請求の範囲】
【請求項１】
認証デバイスと認証対象デバイスとの間の鍵共有方法であって、
前記認証デバイスは、
予め共有情報を前記認証対象デバイスと共有してあり、
前記認証デバイス及び認証対象デバイスの一方は、
所定の方法で生成した生成値を前記認証デバイス及び認証対象デバイスの他方と共有し、
前記認証デバイス及び認証対象デバイスそれぞれは、
分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、
前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を共通鍵として共有する、
鍵共有方法。
【請求項２】
前記認証デバイス及び認証対象デバイスそれぞれは、
前記生成値を暗号鍵として前記共有情報を暗号化し、暗号化した共有情報を所定の分割手法で分割して前記複数の第１分散情報を生成する、
請求項１に記載の鍵共有方法。
【請求項３】
前記認証デバイス及び認証対象デバイスそれぞれは、
前記生成値を暗号鍵として前記共有情報を秘密分散法で分散して前記複数の第１分散情報を生成する、
請求項１に記載の鍵共有方法。
【請求項４】
前記認証デバイス及び認証対象デバイスそれぞれは、
前記生成値に代えて、前記生成値から所定の派生手法で派生した派生値を用いる、
請求項１から請求項３のいずれか一項に記載の鍵共有方法。
【請求項５】
前記認証デバイスは、
デバイス固有の固有情報を含むデバイス情報を記憶し、
前記デバイス情報を第１の暗号鍵で暗号化し、暗号化したデバイス情報を所定の分割手法で分割して複数の第２分散情報を生成し、
前記複数の第２分散情報のうちの一の第２分散情報を前記共有情報として前記認証対象デバイスと共有する、
請求項１から請求項４のいずれか一項に記載の鍵共有方法。
【請求項６】
前記認証デバイスは、
デバイス固有の固有情報を含むデバイス情報を記憶し、
第１の暗号鍵を用いて前記デバイス情報を秘密分散法で分散して複数の第２分散情報を生成し、
前記複数の第２分散情報のうちの一の第２分散情報を前記共有情報として前記認証対象デバイスと共有する、
請求項１から請求項４のいずれか一項に記載の鍵共有方法。
【請求項７】
前記認証デバイスは、
前記所定の符号化手法及び第２の暗号鍵を用いて、前記複数の第２分散情報のうちの他の第２分散情報から複数の第３分散情報を生成し、
前記複数の第３分散情報のうちの一の第３分散情報を前記認証対象デバイスと共有し、
前記認証デバイス及び認証対象デバイスそれぞれは、
前記一の第３分散情報及び前記一の第２分散情報を合成した合成値を生成し、
前記所定の符号化手法に前記生成値を用いて前記合成値から前記複数の第１分散情報を生成する、
請求項５又は請求項６に記載の鍵共有方法。
【請求項８】
前記認証デバイスは、
前記デバイス情報を外部のサーバから取得可能である、
請求項５から請求項７のいずれか一項に記載の鍵共有方法。
【請求項９】
前記認証デバイス及び認証対象デバイスそれぞれは、
前記複数の第１分散情報の一部の第１分散情報それぞれ又は前記一部の第１分散情報から派生した複数の派生情報それぞれを複数の異なる共通鍵として共有する、
請求項１から請求項８のいずれか一項に記載の鍵共有方法。
【請求項１０】
前記認証対象デバイスは、
前記複数の第１分散情報のうちの認証用の第１分散情報を前記認証デバイスに送信し、
前記認証デバイスは、
前記認証対象デバイスが送信した認証用の第１分散情報及び自身が保持する認証用の第１分散情報を用いて前記認証対象デバイスを認証する、
請求項１から請求項９のいずれか一項に記載の鍵共有方法。
【請求項１１】
前記認証デバイス及び認証対象デバイスそれぞれは、
前記共有情報から生成された複数の第１分散情報のうちの一の第１分散情報を用いて前記共有情報を更新し、
更新した共有情報に基づいて前記複数の第１分散情報と異なる複数の第１分散情報を生成する、
請求項１０に記載の鍵共有方法。
【請求項１２】
前記認証デバイスは、
自身が保持する認証用の第１分散情報を消去することにより、前記認証対象デバイスの認証を停止する、
請求項１０又は請求項１１に記載の鍵共有方法。
【請求項１３】
認証デバイス及び認証対象デバイスを備える鍵共有システムであって、
前記認証デバイスは、
予め共有情報を前記認証対象デバイスと共有してあり、
前記認証デバイス及び認証対象デバイスの一方は、
所定の方法で生成した生成値を前記認証デバイス及び認証対象デバイスの他方と共有し、
前記認証デバイス及び認証対象デバイスそれぞれは、
分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成する分散情報生成部と、
前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証デバイスと前記認証対象デバイスとの間の共通鍵として生成する共通鍵生成部と
を備える鍵共有システム。
【請求項１４】
共有情報及び所定の方法で生成された生成値を認証対象デバイスと共有してあり、
分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成する分散情報生成部と、
前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証対象デバイスとの間の共通鍵として生成する共通鍵生成部と
を備える認証デバイス。
【請求項１５】
共有情報及び所定の方法で生成された生成値を認証デバイスと共有してあり、
分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成する分散情報生成部と、
前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証デバイスとの間の共通鍵として生成する共通鍵生成部と
を備える認証対象デバイス。
【請求項１６】
コンピュータに、
共有情報及び所定の方法で生成された生成値を認証対象デバイスと共有し、
分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、
前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証対象デバイスとの間の共通鍵として生成する、
処理を実行させるコンピュータプログラム。
【請求項１７】
コンピュータに、
共有情報及び所定の方法で生成された生成値を認証デバイスと共有し、
分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、
前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証デバイスとの間の共通鍵として生成する、
処理を実行させるコンピュータプログラム。
【請求項１８】
認証デバイスと認証対象デバイスとの間の認証方法であって、
前記認証デバイスは、
予め共有情報を前記認証対象デバイスと共有してあり、
前記認証デバイス及び認証対象デバイスの一方は、
所定の方法で生成した生成値を前記認証デバイス及び認証対象デバイスの他方と共有し、
前記認証デバイス及び認証対象デバイスそれぞれは、
分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、
前記複数の第１分散情報のうちの一の第１分散情報を認証情報として共有する、
認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵共有方法、鍵共有システム、認証デバイス、認証対象デバイス、コンピュータプログラム及び認証方法に関する。
【背景技術】
【０００２】
近年、セキュリティ上の問題が徐々に顕在化しつつあり、モバイル機器、サーバとクライアント、ＩｏＴデバイス、パーソナルコンピュータと外部記録装置、車両内のＥＣＵ（Electronic Control Unit）とセンサ群などの様々なデバイス間での情報授受のための通信を保護する必要性が高まっている。このため、セキュリティの問題対応に暗号技術が利用されている。
【０００３】
特許文献１には、データ暗号化用の共通鍵を、公開鍵と秘密鍵のキーペアを用いて授受することができる公開暗号方式を利用した、セキュリティのインフラである公開鍵暗号基盤（ＰＫＩ：Public Key Infrastructure）が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１２３８８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
公開鍵暗号基盤では、公開鍵で暗号化し、秘密鍵で復号する公開鍵暗号方式を利用しているが、公開鍵暗号方式は、一般的に共通鍵暗号方式に比べて処理が重いため、処理時間が長く、処理能力の大きいデバイスでしか使用できない等の制約がある。また、公開鍵暗号基盤では、共通鍵が暗号化されているとはいえ、共通鍵が通信路を介して交換されるので、漏洩や不正取得のリスクが存在する。
【０００６】
本発明は、斯かる事情に鑑みてなされたものであり、公開鍵暗号基盤を利用することなく共通鍵を共有することができる鍵共有方法、鍵共有システム、認証デバイス、認証対象デバイス、コンピュータプログラム及び認証方法を明らかにする。
【課題を解決するための手段】
【０００７】
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、認証デバイスと認証対象デバイスとの間の鍵共有方法であって、前記認証デバイスは、予め共有情報を前記認証対象デバイスと共有してあり、前記認証デバイス及び認証対象デバイスの一方が所定の方法で生成した生成値を他方と共有し、前記認証デバイス及び認証対象デバイスそれぞれは、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を共通鍵として共有する。
【発明の効果】
【０００８】
本発明によれば、公開鍵暗号基盤を利用することなく共通鍵を共有することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態の鍵共有システムの構成の一例を示す模式図である。
【図２】分散ファイルの生成方法の第１例を示す模式図である。
【図３】分散ファイルの生成方法の第２例を示す模式図である。
【図４】共有情報としてのファイル甲ａの共有方法の一例を示すフロー図である。
【図５】共通鍵の共有方法の一例を示すフロー図である。
【図６】共通鍵の共有方法の他の例を示すフロー図である。
【図７】同時に複数個の共通鍵を生成する一例を示す模式図である。
【図８】認証デバイスと認証対象デバイスとの間の秘匿通信の一例を示す模式図である。
【図９】認証用の情報の更新方法の一例を示すフロー図である。
【図１０】共有情報の漏洩又は不正取得に対処する方法の一例を示すフロー図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を説明する。図１は本実施の形態の鍵共有システムの構成の一例を示す模式図である。鍵共有システムは、認証対象デバイス１０及び認証デバイス５０を備える。なお、図１では、認証対象デバイス１０及び認証デバイス５０をそれぞれ１台だけ図示しているが、認証対象デバイス１０及び認証デバイス５０それぞれは、複数台あってもよい。認証対象デバイス１０と認証デバイス５０との間には通信路１が設けられている。後述のように、認証対象デバイス１０と認証デバイス５０とが共通鍵を共有することにより、認証対象デバイス１０と認証デバイス５０との間に秘匿通信路を開設することができる。
【００１１】
認証デバイス５０は、認証対象デバイス１０を認証する側のデバイスであり、認証対象デバイス１０は、認証される側のデバイスである。本実施の形態の鍵共有システムは、モバイル通信時の認証及び鍵共有、サーバとクライアント間の認証及び鍵共有、ＩｏＴデバイス同士の間、あるいはＩｏＴデバイスと管理装置との間で通信する際の認証及び鍵共有、パーソナルコンピュータ（ＰＣ）と外部機器（例えば、ＵＳＢ（Universal Serial Bus）機器など）との間の認証及び鍵共有、自動車のＥＣＵ（Electronic Control Unit）とセンサ群の間、あるいはＥＣＵ同士の間の認証及び鍵共有など、様々なデバイスに適用することができる。認証対象デバイス１０は、例えば、クライアントＰＣ、スマートフォン、タブレット、エアコンなどの家電とすることができる。認証デバイス５０は、例えば、ルーター、ゲートウェイ装置、ターミナル装置、サーバなどとすることができる。
【００１２】
認証デバイス５０は、デバイス全体を制御するＣＰＵ（Central Processing Unit）５１、ＲＯＭ（Read Only Memory）５２、ＲＡＭ（Random Access Memory）５３、通信部５４、及び記憶部５５を備える。記憶部５５は、不揮発性の記録媒体であり、例えば、半導体メモリ又はハードディスクなどで構成することができる。記憶部５５には、コンピュータプログラムが記録されており、当該コンピュータプログラムは、乱数生成機能５５１、鍵派生機能５５２、分散データ生成機能５５３、共通鍵生成機能５５４、データ合成機能５５５、デバイス認証機能５５６、及び秘匿通信機能５５７などの機能を有する。なお、各機能は、ハードウェアで実現してもよい。コンピュータプログラムをＲＡＭ５３に読み込み、ＲＡＭ５３に展開されたコンピュータプログラムをＣＰＵ５１で実行することにより、各機能を実行することができる。
【００１３】
ＲＯＭ５２は、例えば、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）、フラッシュメモリ等で構成することができる。ＲＯＭ５２には、デバイス情報５２１（例えば、ファイル（甲））が保存されている。デバイス情報５２１は、認証デバイス固有の固有情報を含む。固有情報は、例えば、デバイスの製造番号、デバイスＩＤなどでもよい。
【００１４】
認証デバイス５０は、デバイス情報５２１を外部のサーバ（不図示）から取得してＲＯＭ５２に保持することができる。例えば、外部のサーバで複数の認証デバイス５０を一括管理するとともに、必要に応じてデバイス情報５２１を更新することにより、認証デバイス５０は、最新のデバイス情報５２１を取得することができる。これにより、デバイス情報５２１の危殆化を防止できる。
【００１５】
通信部５４は、所要の通信モジュール等で構成され、通信路１を介して認証対象デバイス１０との通信機能を提供する。
【００１６】
乱数生成機能５５１は、生成値としての乱数（Ｒ）を生成する。乱数生成機能５５１は、生成の都度、異なる乱数（Ｒ）を生成することができる。
【００１７】
鍵派生機能５５２は、乱数生成機能５５１が生成した乱数（Ｒ）に対して、所定の派生手法を用いて派生値（Ｒ′）を生成することができる。派生手法は、適宜の手法を用いることができる。例えば、乱数（Ｒ）に対してハッシュ演算を行って得られたハッシュ値を派生値（Ｒ′）としてもよく、乱数（Ｒ）に所定値を加えてもよく、乱数（Ｒ）に所定値を加えて得られた値に対してハッシュ演算を行って得られたハッシュ値を派生値（Ｒ′）としてもよい。派生手法は、これらに限定されない。認証デバイス５０及び認証対象デバイス１０において、同じ派生手法を用いる。
【００１８】
分散データ生成機能５５３は、暗号鍵を用いて、分散前のファイルから複数の分散ファイルを生成することができる。なお、「暗号鍵」は、公開鍵暗号基盤の秘密鍵と異なる鍵である。分散データ生成機能５５３は、暗号鍵を用いて、デバイス情報５２１（ファイル（甲））から複数の分散ファイル（例えば、ファイル（甲ａ）、ファイル（甲ｂ））を生成することができる。複数の分散ファイルのうちの一の分散ファイル（例えば、ファイル（甲ａ）は、共有情報として、認証対象デバイス１０との間で共有することができる。具体的には、認証デバイス５０は、通信部５４を介して、一の分散ファイル（ファイル（甲ａ））を認証対象デバイス１０に送信する。
【００１９】
これにより、認証デバイス５０と認証対象デバイス１０は、ファイル（甲ａ）を予め共有することができる。ファイル（甲ａ）の共有方法は、例えば、認証デバイス５０と認証対象デバイス１０のセキュリティレベルやセキュリティポリシー等に応じて適宜の方法を用いることができる。
【００２０】
また、分散データ生成機能５５３は、乱数（Ｒ）又は派生値（Ｒ′）を暗号鍵とし、所定の符号化手法を用いて、共有情報としてのファイル（甲ａ）から複数の第１分散情報としての分散ファイル（たとえば、２つのファイル（甲ａａ）、ファイル（甲ａｂ））を生成することができる。所定の符号化手法は、分散前データを複数に分散した分散データの全部又は一部が揃うことにより分散前データを復元できる手法であり、認証デバイス５０及び認証対象デバイス１０において、同じ符号化手法を用いる。
【００２１】
図２は分散ファイルの生成方法の第１例を示す模式図である。第１例では、図２に示すように、暗号鍵を用いて共通鍵暗号方式により元のデータを暗号化する。暗号化アルゴリズムとしては、例えば、ＤＥＳ（Data Encryption Standard）又はＡＥＳ（Advanced Encryption Standard）などを用いることができる。共通鍵暗号方式で用いる暗号鍵は暗号化データに埋め込まれている。次に、暗号化データを複数のデータに分割（断片化）する。暗号化データのどの部分をどのように分割するか（分割手法）は、予め取り決めておくことができる。図２の例では、３つのファイルに分割されているが、分割数は３に限定されるものではなく、２でもよく、４以上でもよく、所要の数のファイルに分割（分散）することができる。元のデータのサイズは、適宜決定することができるが、データのサイズは大きい方が解読されにくいので、元のデータサイズは大きい方が好ましい。なお、図２の例では、暗号化した後に分割したが、これに限定されるものではなく、元のデータを分割し、分割した各データを暗号化してもよい。
【００２２】
第１分散情報としての分割後ファイル（分散ファイル）それぞれは、何の意味も持たないバイナリ列となる。複数の分割後ファイルのうち１つの分割後ファイルが仮に漏洩又は不正取得されたとしても、漏洩又は不正取得された分割後ファイルだけでは何の意味もないデータになっており、漏洩又は不正取得された分割後ファイルから他の分割後ファイル（漏洩又は不正取得されていない）を類推することができない。これにより、後述のような鍵共有のセキュリティを向上させることができる。
【００２３】
図３は分散ファイルの生成方法の第２例を示す模式図である。第２例は、いわゆる秘密分散法を用いるものであり、図３に示すように、元のデータを共通鍵暗号方式で暗号化しながら、複数の分散ファイルに分散する。暗号化アルゴリズムとしては、例えば、ＤＥＳ又はＡＥＳなどを用いることができる。共通鍵暗号方式で用いる暗号鍵も分散されて、複数の分散ファイルそれぞれに埋め込まれるので、鍵の管理が不要となる。また、秘密分散を行う都度、分散数や分散比率を適宜変更することができる。図３の例では、３つのファイルに分散されているが、分散数は３に限定されるものではなく、２でもよく、４以上でもよく、所要の数のファイルに分散することができる。元のデータのサイズは、適宜決定することができるが、データのサイズは大きい方が解読されにくいので、元のデータサイズは大きい方が好ましい。
【００２４】
第１分散情報としての分散ファイルそれぞれは、何の意味も持たないバイナリ列となる。複数の分散ファイルのうち１つの分散ファイルが仮に漏洩又は不正取得されたとしても、漏洩又は不正取得された分散ファイルだけでは何の意味もないデータになっており、漏洩又は不正取得された分散ファイルから他の分散ファイル（漏洩又は不正取得されていない）を類推することができない。これにより、後述のような鍵共有のセキュリティを向上させることができる。図２又は図３に例示する方法によって得られた分割後ファイル（分散ファイル）それぞれを、分散データとも称する。すなわち、分散データは、元のデータを暗号化し、暗号化データを所定の分割方法で分割して得られた各データ（分割後ファイル）であり、あるいは所定の秘密分散法によって得られた分散ファイルを意味する。
【００２５】
共通鍵生成機能５５４は、分散データ生成機能５５３が生成した複数の分散ファイル（例えば、ファイル（甲ａａ）、ファイル（甲ａｂ））のうち、一の分散ファイル（例えば、ファイル（甲ａｂ））から共通鍵を生成する。一の分散ファイルから共通鍵を生成する鍵派生アルゴリズムについては、認証対象デバイス１０と認証デバイス５０との間でアルゴリズムの合意ができていれば、いかなるアルゴリズムを用いてもよい。例えば、一の分散ファイル（ファイル（甲ａｂ））に対してＳＨＡ−２５６等の一方向ハッシュ関数を使う等、種々の方法を用いることができる。
【００２６】
また、共通鍵生成機能５５４は、一の分散ファイルから複数の異なる共通鍵を生成することができる。この場合、認証対象デバイス１０と認証デバイス５０との間の通信確立から通信終了までのセッション毎に、共通鍵を切り替えることができる。これにより、通信の秘匿性、セキュリティをさらに向上させることができる。切り替える共通鍵を使用する順番は、認証対象デバイス１０と認証デバイス５０との間で識別できていればよい。
【００２７】
データ合成機能５５５は、複数のファイルを合成することができる。ファイルの合成は、ファイルをバイナリ列として考えた場合、複数のファイルを単純に繋げて合成してもよく、一のファイルを所定数のバイナリ列に分け、それぞれのバイナリ列を他のファイルに埋め込んで合成してもよい。ファイルの合成方法は、種々の方法を取り得る。
【００２８】
デバイス認証機能５５６は、認証対象デバイス１０が正規のデバイスであるか否かを判定すべく認証対象デバイス１０を認証する。認証方法の詳細は後述する。
【００２９】
秘匿通信機能５５７は、認証デバイス５０が認証対象デバイス１０と秘匿通信を行うための機能である。具体的には、秘匿通信機能５５７は、共通鍵生成機能５５４が生成した共通鍵を用いて、所要のデータを暗号化し、暗号化データを認証対象デバイス１０に送信する。また、秘匿通信機能５５７は、共通鍵生成機能５５４が生成した共通鍵を用いて、認証対象デバイス１０が送信した暗号化データを復号する。また、秘匿通信機能５５７は、通信確立から通信終了までのセッションを管理する。
【００３０】
認証対象デバイス１０は、デバイス全体を制御するＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、通信部１４、及び記憶部１５を備える。記憶部１５は、不揮発性の記録媒体であり、例えば、半導体メモリ又はハードディスクなどで構成することができる。記憶部１５には、コンピュータプログラムが記録されており、当該コンピュータプログラムは、乱数生成機能１５１、鍵派生機能１５２、分散データ生成機能１５３、共通鍵生成機能１５４、データ合成機能１５５、及び秘匿通信機能１５６などの機能を有する。なお、各機能は、ハードウェアで実現してもよい。コンピュータプログラムをＲＡＭ１３に読み込み、ＲＡＭ１３に展開されたコンピュータプログラムをＣＰＵ１１で実行することにより、各機能を実行することができる。
【００３１】
通信部１４は、所要の通信モジュール等で構成され、通信路１を介して認証デバイス５０との通信機能を提供する。
【００３２】
乱数生成機能１５１は、乱数生成機能５５１と同一の機能を実現することができる。乱数（Ｒ）の生成は、認証対象デバイス１０又は認証デバイス５０のいずれか一方で行えばよい。認証対象デバイス１０又は認証デバイス５０のいずれが乱数（Ｒ）を生成するかは予め決定しておくことができる。認証対象デバイス１０は、認証デバイス５０に比べて、一般的に、ＣＰＵの処理能力が低く、メモリの容量が少なく、高機能でなくてもよいので、乱数生成機能１５１を具備しなくてもよい。本明細書では、認証デバイス５０が乱数（Ｒ）を生成するものとして説明する。
【００３３】
鍵派生機能１５２、分散データ生成機能１５３、共通鍵生成機能１５４、データ合成機能１５５、及び秘匿通信機能１５６は、それぞれ鍵派生機能５５２、分散データ生成機能５５３、共通鍵生成機能５５４、データ合成機能５５５、及び秘匿通信機能５５７と同一の機能を実現することができる。
【００３４】
次に、認証デバイス５０及び認証対象デバイス１０の処理について説明する。
【００３５】
図４は共有情報としてのファイル（甲ａ）の共有方法の一例を示すフロー図である。認証デバイス５０は、ファイル（甲）を保持している（Ｓ５０１）。ファイル（甲）は、デバイス情報５２１とすることができる。ファイル（甲）は、デバイスの製造番号やデバイスＩＤなどのデバイス固有の固有情報を含むので、仮にある認証デバイス５０のファイル（甲）が漏洩又は不正取得されたとしても、他の認証デバイス５０のファイル（甲）は漏洩しない。よって、セキュリティを向上させることができる。なお、固有情報は、デバイスの製造番号やデバイスＩＤに限定されるものではなく、デバイスの形式番号（型番）、製造メーカ名、デバイスのカタログ番号、デバイスの取説番号などの個々に識別可能な情報であればよい。ただし、固有情報は、必ずしも識別可能な情報でなくてもよい。
【００３６】
認証デバイス５０は、暗号鍵（第１の暗号鍵）を用いて、ファイル（甲）を、複数の第２分散情報としての２つのファイル（甲ａ、甲ｂ）に分散する（Ｓ５０２）。ここでのファイルの分散は、図２又は図３に例示した手法を用いることができる。仮に、ファイル（甲）が漏洩又は不正取得されたとしても、攻撃者は暗号鍵及び分散アルゴリズムが分からないので、２つのファイル（甲ａ、甲ｂ）が類推されることを防止できる。
【００３７】
認証デバイス５０は、２つのファイル（甲ａ、甲ｂ）のうち、一方のファイル（ここでは、ファイル（甲ａ））を認証対象デバイス１０に送信して共有する（Ｓ５０３）。認証対象デバイス１０は、ファイル（甲ａ）を受信して記憶部１５に保持する（Ｓ１０１）。これにより、認証デバイス５０と認証対象デバイス１０は、ファイル（甲ａ）を共有することになる。
【００３８】
ファイル（甲ａ）の共有は、任意のタイミングで柔軟に行うことができる。例えば、認証デバイス５０と認証対象デバイス１０とが同じ製造事業者で製造され、両者の紐付けが予め分かっている場合には、製造段階（出荷前）で行うことができる。また、認証対象デバイス１０の初期設定時や、初回起動時などのタイミングでファイル（甲ａ）を共有してもよい。
【００３９】
デバイス情報５２１であるファイル（甲）を共有情報として共有せずに、ファイル（甲ａ）を共有情報として共有することにより、仮にファイル（甲ａ）が漏洩又は不正取得されても、ファイル（甲）を用いて異なる２つのファイル（甲ａ、甲ｂ）を再度生成することができ、認証デバイス５０及び認証対象デバイス１０それぞれは、後述のように異なる共通鍵を生成でき、共有情報の漏洩又は不正取得の影響を低減できる。
【００４０】
図５は共通鍵の共有方法の一例を示すフロー図である。図４で説明したように、認証デバイス５０と認証対象デバイス１０は、ファイル（甲ａ）を予め共有している。認証対象デバイス１０は、認証デバイス５０に対して認証要求を送信する（Ｓ１１１）。
【００４１】
認証デバイス５０は、乱数（Ｒ）を生成し（Ｓ５１１）、生成した乱数（Ｒ）を認証対象デバイス１０に送信して乱数（Ｒ）を共有する（Ｓ５１２）。認証デバイス５０は、生成した乱数（Ｒ）を記憶部５５に保持することができる。認証対象デバイス１０は、受信した乱数（Ｒ）を記憶部１５に保持することができる。
【００４２】
認証デバイス５０は、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ）を２つのファイル（甲ａａ、甲ａｂ）に分散する（Ｓ５１３）。ここでのファイルの分散は、図２又は図３に例示した手法を用いることができる。認証デバイス５０は、生成したファイル（甲ａａ、甲ａｂ）を記憶部５５に保持することができる。
【００４３】
認証対象デバイス１０も、認証デバイス５０と同様、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ）を２つのファイル（甲ａａ、甲ａｂ）に分散する（Ｓ１１２）。ここでのファイルの分散は、認証デバイス５０と同一の手法を用いることができる。認証対象デバイス１０は、生成したファイル（甲ａａ、甲ａｂ）を記憶部１５に保持することができる。
【００４４】
認証デバイス５０及び認証対象デバイス１０は、乱数（Ｒ）を暗号鍵として使用したが、乱数（Ｒ）に代えて、乱数（Ｒ）から派生した派生値（Ｒ′）を暗号鍵として使用してもよい。乱数（Ｒ）は、通信路１を介して授受されるので、漏洩又は不正取得される可能性がないわけではない。仮に、乱数（Ｒ）が漏洩又は不正取得されても、鍵派生アルゴリズムが漏洩しない限り、所定の符号化手法で実際に使用する暗号鍵の漏洩を防止できる。また、通信路を流れた乱数（Ｒ）をそのまま利用する場合に比べて、鍵共有のセキュリティを向上させることができる。
【００４５】
また、認証デバイス５０と認証対象デバイス１０の間で乱数（Ｒ）を共有する都度、すなわち、認証対象デバイス１０が認証要求を送信する都度、認証デバイス５０が生成する乱数（Ｒ）を異なる値にしてもよい。これにより、認証要求の都度、ステップＳ１１２、Ｓ５１３の処理により、異なるファイル（甲ａａ、甲ａｂ）を生成することができる。更に、認証デバイス５０と認証対象デバイス１０では、通信路を介して、これらのファイルを交換することなく、それぞれのデバイスで生成できる。また、ステップＳ１１２、Ｓ５１３の処理により、異なるファイル（甲ａａ、甲ａｂ）を生成し、生成した一方のファイル（例えば、甲ａａでもよく、甲ａｂでもよい）から乱数Ｒ′を生成し、生成した乱数Ｒ′を共有して、さらに、ステップＳ１１２、Ｓ５１３と同様の処理により、甲ａａ及び甲ａｂのような分散情報を生成してもよい。
【００４６】
認証対象デバイス１０は、２つのファイル（甲ａａ、甲ａｂ）のうちの一方（図の例では、ファイル（甲ａａ））を認証用の第１分散情報として認証デバイス５０に送信する（Ｓ１１３）。送信する甲ａａは、手を加えなくてもよいが、さらにセキュリティや効率を高めるために、ＳＨＡ−２のようなＨＡＳＨ関数を施した結果を認証デバイス５０に送信してもよい。当然、この時のアルゴリズムは任意のものでよいが、認証デバイス５０と認証対象デバイス１０とも保有しているものとする。
【００４７】
認証デバイス５０は、受信したファイル（甲ａａ）と自身が保持しているファイル（甲ａａ）を比較して認証対象デバイス１０を認証する（Ｓ５１４）。具体的には、認証デバイス５０は、受信したファイル（甲ａａ）と自身が保持しているファイル（甲ａａ）とが一致している場合、認証対象デバイス１０が正規のデバイスであるとして認証成功であると判定する。この場合、認証デバイス５０は、認証完了の通知を認証対象デバイス１０に送信する（Ｓ５１５）。認証デバイス５０は、受信したファイル（甲ａａ）と自身が保持しているファイル（甲ａａ）とが一致しない場合、認証不可であるとして処理を停止することができる。ステップＳ５１５の処理は必須ではない。また、甲ａａ同士を比較する構成に代えて、甲ａａに対してＳＨＡ−２のようなＨＡＳＨ関数を施して得られた結果同士を比較してもよい。
【００４８】
認証デバイス５０は、認証が成功した場合、ファイル（甲ａｂ）から共通鍵を生成する（Ｓ５１６）。共通鍵は、ファイル（甲ａｂ）からＨＡＳＨ関数等を施した鍵派生アルゴリズムを用いて生成することができる。なお、ファイル（甲ａｂ）自身もしくはファイル（甲ａｂ）の一部を共通鍵としてもよい。
【００４９】
認証対象デバイス１０も、認証デバイス５０と同様、ファイル（甲ａｂ）から共通鍵を生成する（Ｓ１１４）。これ以降、認証対象デバイス１０と認証デバイス５０は、秘匿通信を確立し、所要のデータを共通鍵で暗号化及び復号することができる。
【００５０】
上述のように、認証デバイス５０及び認証対象デバイス１０それぞれが、所定の符号化手法により、第１分散情報としての同じファイル（甲ａｂ）を生成するので、認証デバイス５０と認証対象デバイス１０との間でファイル（甲ａｂ）の授受を行う必要がない。なお、図５の例では、ファイル（甲ａａ）を認証用に用い、ファイル（甲ａｂ）を暗号鍵生成用に用いたが、ファイル（甲ａａ）又は（甲ａｂ）のどちらか一方を用いて認証用と共通鍵生成してもよい。しかし、この場合、暗号鍵生成用の情報が通信路を流れるので、ファイル（甲ａａ）又は（甲ａｂ）のどちらか一方を用いて認証用と共通鍵生成用とするか否かは、例えば、システムのセキュリティポリシー等に従ってもよい。また、セキュリティポリシーによっては、両方を用いて、認証用と共有鍵生成用のファイルを生成してもよい。また、分散数は、２つに限定されず、３つ以上に分散した場合は、一部もしくは、全部を使うことでもよい。
【００５１】
また、認証デバイス５０及び認証対象デバイス１０それぞれが、共通鍵を生成することができるので、共通鍵が通信路１を介して交換されることがなく、共通鍵の漏洩や不正取得のリスクを低減できる。また、公開鍵暗号基盤を利用する必要がないので、処理が軽くなり、処理時間を短くすることができるとともに、処理能力の制約も緩和され、幅広いデバイス間で鍵共有を実現することができる。
【００５２】
また、２つのファイル（甲ａａ、甲ａｂ）は所定の符号化手法を用いて生成されているので、認証用の情報として通信路１を介して授受されるファイル（甲ａａ）が、仮に漏洩又は不正取得されたとしても、ファイル（甲ａａ）からファイル（甲ａｂ）を類推できない。よってファイル（甲ａｂ）から共通鍵を生成することはない。
【００５３】
また、上述の例では、所定の符号化手法を用いて生成された２つのファイル（甲ａａ、甲ａｂ）の一方のファイル（甲ａａ）を認証用の情報とし、他方のファイル（甲ａｂ）を共通鍵の生成に用いるので、認証対象デバイス１０の認証と共通鍵の共有が一度に完了する。
【００５４】
認証デバイス５０は、自身が保持する認証用のファイル（甲ａａ）を消去することにより、認証対象デバイス１０の認証を停止することができる。すなわち、認証デバイス５０は、自身が保持しているファイル（甲ａａ）を消去することにより、認証対象デバイス１０から受信したファイル（甲ａａ）と一致するファイルが存在しないので、認証不可であるとして処理を停止することができる。特に、認証デバイス５０が、多数の認証対象デバイス１０を管理する場合、それぞれの認証対象デバイス１０を個別に認証不可とする処理は処理労力を要する。このような場合、認証デバイス５０が保持する多数の認証対象デバイス１０それぞれの認証用の情報（甲ａａに相当する情報）を全て消去することにより、認証対象デバイス１０の認証を停止させる事態が生じた場合、簡単に認証を停止させることができる。また、証明書発行ミスなども誘発しない。
【００５５】
図５の例では、認証デバイス５０及び認証対象デバイス１０それぞれは、ファイル（甲ａ）から暗号鍵（例えば、乱数（Ｒ））を用いて２つのファイル（甲ａａ、甲ａｂ）を生成して、１個の共通鍵を生成する例を説明したが、分散するファイルの数は２つに限定されるものでなく、所要の数のファイルに分散することが可能である。
【００５６】
図５の例では、分散された２のファイルの一方のファイル（例えば、甲ａａ）を認証用のデータとして用いたが、これに限定されるものではなく、分散された２つのファイル（甲ａａ、甲ａｂ）のいずれか一方に対して、ビット列生成アルゴリズム（例えば、ハッシュ関数）を適用して得られた値を認証用のデータとして用いてもよい。
【００５７】
図６は共通鍵の共有方法の他の例を示すフロー図である。図５の例では、認証デバイス５０が生成した乱数（Ｒ）を認証対象デバイス１０に送信して、乱数（Ｒ）を共有する構成であったが、暗号鍵としての乱数（Ｒ）が通信路を流れるというセキュリティ上の懸念が存在する。図６の例では、認証デバイス５０と認証対象デバイス１０それぞれで共通の乱数（Ｒ′）を生成するので、セキュリティ上の懸念を解消できる。以下、具体的に説明する。
【００５８】
認証デバイス５０と認証対象デバイス１０は、ファイル（甲ａ）を予め共有している。認証対象デバイス１０は、認証デバイス５０に対して認証要求を送信する（Ｓ１４１）。認証デバイス５０は、乱数（Ｒ）を生成し（Ｓ５４１）、生成した乱数（Ｒ）を認証対象デバイス１０に送信して乱数（Ｒ）を共有する（Ｓ５４２）。認証デバイス５０は、生成した乱数（Ｒ）を記憶部５５に保持することができる。認証対象デバイス１０は、受信した乱数（Ｒ）を記憶部１５に保持することができる。
【００５９】
認証デバイス５０は、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ）を２つのファイル（甲ａａ、甲ａｂ）に分散する（Ｓ５４３）。ここでのファイルの分散は、図２又は図３に例示した手法を用いることができる。認証デバイス５０は、生成したファイル（甲ａａ、甲ａｂ）を記憶部５５に保持することができる。
【００６０】
認証対象デバイス１０も、認証デバイス５０と同様、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ）を２つのファイル（甲ａａ、甲ａｂ）に分散する（Ｓ１４２）。ここでのファイルの分散は、認証デバイス５０と同一の手法を用いることができる。認証対象デバイス１０は、生成したファイル（甲ａａ、甲ａｂ）を記憶部１５に保持することができる。
【００６１】
認証対象デバイス１０は、２つのファイル（甲ａａ、甲ａｂ）のうちの一方（図の例では、ファイル（甲ａａ）を認証用の第１分散情報として認証デバイス５０に送信する（Ｓ１４３）。認証デバイス５０は、受信したファイル（甲ａａ）と自身が保持しているファイル（甲ａａ）を比較して認証対象デバイス１０を認証する（Ｓ５４４）。具体的には、認証デバイス５０は、受信したファイル（甲ａａ）と自身が保持しているファイル（甲ａａ）とが一致している場合、認証対象デバイス１０が正規のデバイスであるとして認証成功であると判定する。この場合、認証デバイス５０は、認証完了の通知を認証対象デバイス１０に送信する（Ｓ５４５）。認証デバイス５０は、受信したファイル（甲ａａ）と自身が保持しているファイル（甲ａａ）とが一致しない場合、認証不可であるとして処理を停止することができる。
【００６２】
認証対象デバイス１０は、２つのファイル（甲ａａ、甲ａｂ）のうちの一方（図の例では、ファイル（甲ａａ））にハッシュ関数を施して乱数（Ｒ′）を生成する（Ｓ１４４）。認証デバイス５０も、ファイル（甲ａａ）にハッシュ関数を施して乱数（Ｒ′）を生成する（Ｓ５４６）。２つのファイル（甲ａａ、甲ａｂ）のうちのいずれのファイルにハッシュ関数を施すかは、認証対象デバイス１０と認証デバイス５０との間で予め決定しておけばよい。
【００６３】
認証デバイス５０は、乱数（Ｒ′）を暗号鍵として、ファイル（甲ａｂ）を２つのファイル（甲ａｂ１、甲ａｂ２）に分散する（Ｓ５４７）。ここでのファイルの分散は、図２又は図３に例示した手法を用いることができる。
【００６４】
認証対象デバイス１０も、認証デバイス５０と同様、乱数（Ｒ′）を暗号鍵として、ファイル（甲ａｂ）を２つのファイル（甲ａｂ１、甲ａｂ２）に分散する（Ｓ１４５）。ここでのファイルの分散は、認証デバイス５０と同一の手法を用いることができる。
【００６５】
認証デバイス５０は、ファイル（甲ａｂ１）から共通鍵を生成する（Ｓ５４８）。共通鍵は、ファイル（甲ａｂ１）からＨＡＳＨ関数等を施した鍵派生アルゴリズムを用いて生成することができる。なお、ファイル（甲ａｂ１）自身もしくはファイル（甲ａｂ１）の一部を共通鍵としてもよい。なお、共通鍵は、ファイル（甲ａｂ２）から生成してもよい。
【００６６】
認証対象デバイス１０も、認証デバイス５０と同様、ファイル（甲ａｂ１）から共通鍵を生成する（Ｓ１４６）。これ以降、認証対象デバイス１０と認証デバイス５０は、秘匿通信を確立し、所要のデータを共通鍵で暗号化及び復号することができる。
【００６７】
図７は同時に複数個の共通鍵を生成する一例を示す模式図である。図７に示すように、認証デバイス５０及び認証対象デバイス１０それぞれは、ファイル（甲ａ）から（１＋Ｎ）個の分散ファイルを生成することができる。図７の例では、ファイル（甲ａａ、甲ａ１、甲ａ２、…、甲ａＮ）に分散されている。図５の場合と同様に、ファイル（甲ａａ）は、認証用の情報として用いることができる。Ｎ個のファイル（甲ａ１、甲ａ２、…、甲ａＮ）から、図５の場合と同様の処理を行うことにより、共通鍵Ｆ１、Ｆ２、…、ＦＮを生成することができる。
【００６８】
第５世代移動通信システム（５Ｇ）では、従来のモバイル通信と異なり、同時に複数のチャネルを開設して通信を行うことができる。これにより、１つのデバイスが多数のデバイスと同時に通信を行うことができ、あるいは１：１のデバイス間において１チャネルで通信を行うのではなく、同時に多数のチャネルを開設して通信を行うことができる。第５世代移動通信システムでのモバイル通信において、本実施の形態を適用すれば、実際にはネットワークを介して鍵交換をすることなく、複数の共通鍵を同時に使用することができるので、効率良く、かつ鍵共有を行うまでの間の通信量を低減することができる。また、これにより、ハッカー攻撃耐性も高めることができる。
【００６９】
更に、第５世代移動通信システム（５Ｇ）で、１つのデバイスが多数のデバイスと同時に通信を行う場合の、各々のデバイスとの共通鍵の選択方法は、例えば、次のようになる。ファイル（甲ａａ）をＨＡＳＨして得られた値を、ファイル（甲ａ１、甲ａ２、…、甲ａＮ）から得た共通鍵を使って暗号化する。得られたＮ個の暗号結果を、１個ずつ通信路を介してデバイスに渡す。各デバイス側では、ファイル（甲ａａ）をＨＡＳＨして得られた値を、Ｎ個のファイル（甲ａ１、甲ａ２、…、甲ａＮ）から得た共通鍵で暗号化して得たそれぞれの値と、通信路から得られた値を比較する事により、どの共通鍵を使用するかを判断する。
【００７０】
図８は認証デバイス５０と認証対象デバイス１０との間の秘匿通信の一例を示す模式図である。図８に示すように、認証デバイス５０及び認証対象デバイス１０それぞれは、生成した共通鍵Ｆ１を用いてセッションを確立（秘匿通信路を確立）して、所要の情報の授受を行い、セッションを終了する。次に、認証デバイス５０及び認証対象デバイス１０それぞれは、生成した共通鍵Ｆ１を用いてセッションを確立（秘匿通信路を確立）して、所要の情報の授受を行い、セッションを終了する。以下、同様の処理を行うことができる。例えば、２つの共通鍵Ｆ１、Ｆ２を生成した場合には、セッション毎に共通鍵Ｆ１，Ｆ２を交互に用いることができる。また、３つ以上の共通鍵を生成した場合には、認証デバイス５０と認証対象デバイス１０との間で、共通鍵の使用順番を予め取り決めておけばよい。１つの共通鍵を使用し続ける場合に比べて、認証デバイス５０と認証対象デバイス１０との間の通信のセキュリティレベルをさらに向上させることができる。
【００７１】
図５の例では、認証デバイス５０が認証対象デバイス１０を認証する場合、認証用の情報としてファイル（甲ａａ）を用いた。すなわち、認証対象デバイス１０を認証する際には、ファイル（甲ａａ）が通信路１を流れることになる。仮に、ファイル（甲ａａ）が漏洩又は不正取得された場合、認証対象デバイス１０のなりすましが行われる可能性がある。特に、認証デバイス５０と認証対象デバイス１０との間において、セッションの確立・終了が繰り返される場合、セッションの都度、同じファイル（甲ａａ）が通信路１を流れ、漏洩又は不正取得の可能性が増す。以下では、このような場合の対処法について説明する。
【００７２】
図９は認証用の情報の更新方法の一例を示すフロー図である。認証デバイス５０と認証対象デバイス１０は、ファイル（甲ａ）を予め共有している。認証対象デバイス１０は、認証デバイス５０に対して認証要求を送信する（Ｓ１２１）。
【００７３】
また、図５で説明した場合と同様に、認証デバイス５０と認証対象デバイス１０は、乱数（Ｒ）を共有しているものとする。
【００７４】
認証デバイス５０は、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ）を２つのファイル（甲ａａ、甲ａｂ）に分散する（Ｓ５２１）。ここでのファイルの分散は、図２又は図３に例示した手法を用いることができる。認証デバイス５０は、生成したファイル（甲ａａ、甲ａｂ）を記憶部５５に保持することができる。
【００７５】
認証対象デバイス１０も、認証デバイス５０と同様、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ）を２つのファイル（甲ａａ、甲ａｂ）に分散する（Ｓ１２２）。ここでのファイルの分散は、認証デバイス５０と同一の手法を用いることができる。認証対象デバイス１０は、生成したファイル（甲ａａ、甲ａｂ）を記憶部１５に保持することができる。
【００７６】
認証対象デバイス１０は、２つのファイル（甲ａａ、甲ａｂ）のうちの一方（図の例では、ファイル（甲ａａ）を認証用の第１分散情報として認証デバイス５０に送信する（Ｓ１２３）。
【００７７】
認証デバイス５０は、受信したファイル（甲ａａ）と自身が保持しているファイル（甲ａａ）を比較して認証対象デバイス１０を認証する（Ｓ５２２）。認証デバイス５０及び認証対象デバイス１０それぞれの以降の処理は、図５の場合と同様であるので、説明を省略する。
【００７８】
前のセッションが終了し、認証対象デバイス１０の認証が必要となる事象が生じたとする（例えば、次のセッションの開始、認証対象デバイス１０の起動など）。認証対象デバイス１０は、認証デバイス５０に対して認証要求を送信する（Ｓ１２４）。更にセキュリティ向上のため、認証デバイス５０は、認証対象デバイス１０に対して認証要求を送信することでもよい。
【００７９】
認証デバイス５０は、ファイル（甲ａｂ）を用いてファイル（甲ａ）を更新してファイル（甲ａ′）を生成する（Ｓ５２３）。ファイル（甲ａ′）の生成は、以下のようにすることができる。すなわち、ファイル（甲ａ）をバイナリ列としたときに、バイナリ列の最後尾に、ファイル（甲ａｂ）のハッシュ値を追加して得られたバイナリ列をファイル（甲ａ′）とすることができる。ファイル（甲ａ）をファイル（甲ａ′）に更新することにより、ファイル（甲ａ′）から分散して生成されるファイルを、ファイル（甲ａ）から分散して生成されるファイル（甲ａａ、甲ａｂ）と異なるものにすることができ、認証用の情報（例えば、ファイル（甲ａａ））と異なる認証用の情報を生成することができる。また、複数のハッシュ関数を準備しておき、ファイル（甲ａｂ）のハッシュ値を求める際に、異なるハッシュ関数を使用することにより、生成されるファイル（甲ａ′）が、生成の都度、異なるようにすることができる。なお、１番最初にファイル（甲ａ）を更新する際には、ファイル（甲ａｂ）が保持されていないので、初期値を用意しておいて当該初期値を用いてもよい。
【００８０】
認証対象デバイス１０も、認証デバイス５０と同様、ファイル（甲ａｂ）を用いてファイル（甲ａ）を更新してファイル（甲ａ′）を生成する（Ｓ１２５）。
【００８１】
認証デバイス５０は、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ′）を２つのファイル（甲ａａ′、甲ａｂ′）に分散する（Ｓ５２４）。ここでのファイルの分散は、図２又は図３に例示した手法を用いることができる。認証デバイス５０は、生成したファイル（甲ａａ′、甲ａｂ′）を記憶部５５に保持することができる。
【００８２】
認証対象デバイス１０も、認証デバイス５０と同様、乱数（Ｒ）を暗号鍵として、ファイル（甲ａ′）を２つのファイル（甲ａａ′、甲ａｂ′）に分散する（Ｓ１２６）。ここでのファイルの分散は、認証デバイス５０と同一の手法を用いることができる。認証対象デバイス１０は、生成したファイル（甲ａａ′、甲ａｂ′）を記憶部１５に保持することができる。
【００８３】
認証対象デバイス１０は、２つのファイル（甲ａａ′、甲ａｂ′）のうちの一方（図の例では、ファイル（甲ａａ′）を認証用の第１分散情報として認証デバイス５０に送信する（Ｓ１２７）。
【００８４】
認証デバイス５０は、受信したファイル（甲ａａ′）と自身が保持しているファイル（甲ａａ′）を比較して認証対象デバイス１０を認証する（Ｓ５２５）。認証デバイス５０及び認証対象デバイス１０それぞれの以降の処理は、図５の場合と同様であるので、説明を省略する。
【００８５】
上述のように、通信路１を流れる認証用の情報は、ファイル（甲ａａ）からファイル（甲ａａ′）に変更され、異なるデータとなっている。これにより、例えば、セッションが変わると、認証用の情報も変わるので、同じ認証用の情報が通信路１を繰り返し流れることを防止し、漏洩又は不正取得の可能性を低めることができる。
【００８６】
図４及び図５の例では、認証デバイス５０と認証対象デバイス１０との間で共有情報としてファイル（甲ａ）を共有している。ファイル（甲ａ）は、通信路１を流れるので、漏洩又は不正取得の可能性は否定できない。そして、攻撃者が何らかの手法を用いてファイル（甲ａ）から分散されたファイル（甲ａｂ）を生成することができたとすると、共通鍵が暴露される可能性も理論上ないわけではない。このような場合、攻撃者が、認証デバイス５０と認証対象デバイス１０との間の長期間に亘って保管された情報を不正取得できたとすると、長期間に亘って保管された情報の内容が後日解読されてしまうという事態も起こり得る。以下では、共有情報が漏洩又は不正取得されても、長期間に亘って授受された情報が後日漏洩することを防止する方法について説明する。
【００８７】
図１０は共有情報の漏洩又は不正取得に対処する方法の一例を示すフロー図である。図４で説明したように、認証デバイス５０は、ファイル（甲ａ、甲ｂ）を保持し、認証対象デバイス１０は、認証デバイス５０との間でファイル（甲ａ）を共有情報として共有している。ファイル（甲ａ）が後日、漏洩又は不正取得される共有情報とする。
【００８８】
認証対象デバイス１０は、認証要求を認証デバイス５０に送信する（Ｓ１３１）。
【００８９】
認証デバイス５０は、暗号鍵（第２の暗号鍵）を用いてファイル（甲ｂ）を分散して第３分散情報としての２つのファイル（甲ｂａ、甲ｂｂ）を生成する（Ｓ５３１）。分散前のファイルとしては、共有情報であるファイル（甲ａ）とは異なるファイル（甲ｂ）を用いている。ファイル（甲ｂ）が漏洩又は不正取得される可能性は極めて低いからである。ここで、分散手法や暗号鍵が漏洩又は不正取得される可能性も低い。暗号鍵（第２の暗号鍵）は、図４で示した暗号鍵（第１の暗号鍵）と同じ鍵でもよく、異なる鍵を用いてもよい。
【００９０】
認証デバイス５０は、一方のファイル（図の例では、ファイル（甲ｂｂ））を認証対象デバイス１０に送信する（Ｓ５３２）。
【００９１】
認証デバイス５０は、ファイル（甲ｂｂ）とファイル（甲ａ）とを合成してファイル（Ｚａ）を生成する（Ｓ５３３）。ファイルの合成方法は、ファイル（甲ｂｂ）とファイル（甲ａ）とを単純に繋いでもよく、あるいは、ファイル（甲ｂｂ）及びファイル（甲ａ）それぞれを複数のバイナリ列に区分し、区分したバイナリ列を交互に並べて１つのファイルにしてもよい。合成方法は適宜の方法を用いることができるが、合成方法をさらに複雑にすれば、セキュリティ強度を上げることができる。
【００９２】
認証対象デバイス１０も、認証デバイス５０と同様の合成方法を用いて、ファイル（甲ｂｂ）とファイル（甲ａ）とを合成してファイル（Ｚａ）を生成する（Ｓ１３２）。これにより、認証デバイス５０及び認証対象デバイス１０は、ファイル（Ｚａ）を共有情報として共有することができる。また、ファイル（Ｚａ）は、通信路１を流れないので、漏洩又は不正取得の可能性は極めて低い。また、ファイル（Ｚａ）を、認証要求の都度、異なるファイルになるように生成すれば、さらにセキュリティを向上させることができる。
【００９３】
認証デバイス５０は、乱数（Ｒ）を生成し（Ｓ５３４）、生成した乱数（Ｒ）を認証対象デバイス１０に送信して乱数（Ｒ）を共有する（Ｓ５３５）。認証デバイス５０は、生成した乱数（Ｒ）を記憶部５５に保持することができる。認証対象デバイス１０は、受信した乱数（Ｒ）を記憶部１５に保持することができる。
【００９４】
認証デバイス５０は、乱数（Ｒ）を暗号鍵として、ファイル（Ｚａ）を２つのファイル（Ｚａａ、Ｚａｂ）に分散する（Ｓ５３６）。ここでのファイルの分散は、図２又は図３に例示した手法を用いることができる。認証デバイス５０は、生成したファイル（Ｚａａ、Ｚａｂ）を記憶部５５に保持することができる。
【００９５】
認証対象デバイス１０も、認証デバイス５０と同様、乱数（Ｒ）を暗号鍵として、ファイル（Ｚａ）を２つのファイル（Ｚａａ、Ｚａｂ）に分散する（Ｓ１３３）。ここでのファイルの分散は、認証デバイス５０と同一の手法を用いることができる。認証対象デバイス１０は、生成したファイル（Ｚａａ、Ｚａｂ）を記憶部１５に保持することができる。
【００９６】
認証デバイス５０と認証対象デバイス１０の間で乱数（Ｒ）を共有する都度、すなわち、認証対象デバイス１０が認証要求を送信する都度、認証デバイス５０が生成する乱数（Ｒ）を異なる値にしてもよい。これにより、認証要求の都度、異なるファイル（Ｚａａ、Ｚａｂ）を生成することができる。
【００９７】
認証対象デバイス１０は、２つのファイル（Ｚａａ、Ｚａｂ）のうちの一方（図の例では、ファイル（Ｚａａ）を認証用の第１分散情報として認証デバイス５０に送信する（Ｓ１３４）。
【００９８】
認証デバイス５０は、受信したファイル（Ｚａａ）と自身が保持しているファイル（Ｚａａ）を比較して認証対象デバイス１０を認証する（Ｓ５３７）。認証成功であると判定した場合、認証デバイス５０は、認証完了の通知を認証対象デバイス１０に送信する（Ｓ５３８）。
【００９９】
以降の処理は、図５の場合と同様であり、認証デバイス５０は、認証が成功した場合、ファイル（Ｚａｂ）から共通鍵を生成する。認証対象デバイス１０も、認証デバイス５０と同様、ファイル（Ｚａｂ）から共通鍵を生成する。これ以降、認証対象デバイス１０と認証デバイス５０は、秘匿通信を確立し、所要のデータを共通鍵で暗号化及び復号することができる。
【０１００】
上述のように、仮に共有情報としてのファイル（甲ａ）が漏洩又は不正取得され、ファイル（甲ａ）から派生する暗号鍵が暴露されたとしても、セッション毎に、共有情報としてのファイル（Ｚａ）から派生する、異なる共通鍵が使用されるので、解読され得る情報は限定的になり、長期間に亘って保管された情報の内容が後日解読される事態を防止できる。
【０１０１】
本実施の形態によれば、実際には通信路を介して共通鍵の共有（鍵交換）を行っているわけではないが、実質的には鍵交換したのと同じ効果を得ることができる。また、通信路を流れる情報（例えば、認証用の情報）からは、共通鍵を生成する基になる情報を類推することができない。これは、秘密分散法などの所定の符号化手法を用いているからである。また、共通鍵を共有するために、通信路を介して授受される情報量が従来よりも少ないので、通信量を低減することができ、かつ、攻撃者からの攻撃耐性を高めることができる。また、従来のような管理コストが高い公開鍵暗号基盤を利用しないことも本実施の形態の特徴である。本実施の形態によれば、処理が軽くなり、処理時間を短くすることができるとともに、処理能力の制約も緩和され、幅広いデバイス間で鍵共有を実現することができる。特に、ＩｏＴデバイスのようにＣＰＵパワーが比較的小さいデバイスにも制限なく適用できる。
【０１０２】
本実施の形態の鍵共有方法は、認証デバイスと認証対象デバイスとの間の鍵共有方法であって、前記認証デバイスは、予め共有情報を前記認証対象デバイスと共有してあり、前記認証デバイス及び認証対象デバイスの一方が所定の方法で生成した生成値を他方と共有し、前記認証デバイス及び認証対象デバイスそれぞれは、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を共通鍵として共有する。
【０１０３】
本実施の形態の鍵共有システムは、認証デバイス及び認証対象デバイスを備える鍵共有システムであって、前記認証デバイスは、予め共有情報を前記認証対象デバイスと共有してあり、前記認証デバイス及び認証対象デバイスの一方が所定の方法で生成した生成値を他方と共有し、前記認証デバイス及び認証対象デバイスそれぞれは、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成する分散情報生成部と、前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証デバイスと前記認証対象デバイスとの間の共通鍵として生成する共通鍵生成部とを備える。
【０１０４】
本実施の形態の認証デバイスは、共有情報及び所定の方法で生成された生成値を認証対象デバイスと共有してあり、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成する分散情報生成部と、前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証対象デバイスとの間の共通鍵として生成する共通鍵生成部とを備える。
【０１０５】
本実施の形態の認証対象デバイスは、共有情報及び所定の方法で生成された生成値を認証デバイスと共有してあり、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成する分散情報生成部と、前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証デバイスとの間の共通鍵として生成する共通鍵生成部とを備える。
【０１０６】
本実施の形態のコンピュータプログラムは、コンピュータに、共有情報及び所定の方法で生成された生成値を認証対象デバイスと共有し、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証対象デバイスとの間の共通鍵として生成する、処理を実行させる。
【０１０７】
本実施の形態のコンピュータプログラムは、コンピュータに、共有情報及び所定の方法で生成された生成値を認証デバイスと共有し、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、前記複数の第１分散情報のうちの一の第１分散情報又は前記一の第１分散情報から派生した派生情報を前記認証デバイスとの間の共通鍵として生成する、処理を実行させる。
【０１０８】
認証デバイスは、予め共有情報を認証対象デバイスと共有してある。認証デバイスは、認証対象デバイスを認証する側のデバイスであり、認証対象デバイスは、認証される側のデバイスである。共有情報は、どのような情報でもよいが、認証デバイスに固有の情報が好ましい。共有情報の共有方法は、例えば、認証デバイスと認証対象デバイスのセキュリティレベルに応じて適宜の方法を用いることができる。
【０１０９】
認証デバイス又は認証対象デバイスは、いずれか一方が所定の方法で生成した生成値を他方と共有する。例えば、認証デバイスが生成値を生成した場合、認証デバイスは生成値を認証対象デバイスに送信することができる。生成値は、例えば、生成の都度、値が異なる生成値が生成されることが好ましく、例えば、乱数発生器が生成する乱数とすることができる。
【０１１０】
認証デバイス及び認証対象デバイスそれぞれは、所定の符号化手法に生成値を用いて共有情報から複数の第１分散情報を生成する。所定の符号化手法は、分散前データを複数に分散した分散データの全部又は一部が揃うことにより分散前データを復元できる手法であり、認証デバイス及び認証対象デバイスにおいて、同じ符号化手法を用いる。これにより、認証デバイス及び認証対象デバイスそれぞれは、共通の第１分散情報を生成することができる。生成値は暗号鍵として使用することができる。暗号鍵は、暗号化及び復号に同じ鍵として使用できる。認証デバイス及び認証対象デバイスそれぞれが、所定の符号化手法により、同じ第１分散情報を生成するので、認証デバイスと認証対象デバイスとの間で第１分散情報の授受を行う必要がない。
【０１１１】
認証デバイス及び認証対象デバイスそれぞれは、複数の第１分散情報のうちの一の第１分散情報又は当該一の第１分散情報から派生した派生情報を共通鍵として共有する。認証デバイス及び認証対象デバイスそれぞれが、共通鍵を生成することができるので、共通鍵が通信路を介して交換されることがなく、共通鍵の漏洩や不正取得のリスクを低減できる。また、公開鍵暗号基盤を利用する必要がないので、処理が軽くなり、処理時間を短くすることができるとともに、処理能力の制約も緩和され、幅広いデバイス間で鍵共有を実現することができる。
【０１１２】
本実施の形態の鍵共有方法において、前記認証デバイス及び認証対象デバイスそれぞれは、前記生成値を暗号鍵として前記共有情報を暗号化し、暗号化した共有情報を所定の分割手法で分割して前記複数の第１分散情報を生成する。
【０１１３】
認証デバイス及び認証対象デバイスそれぞれは、生成値を暗号鍵として共有情報を暗号化し、暗号化した共有情報を所定の分割手法で分割して複数の第１分散情報を生成する。暗号鍵は、暗号化及び復号に同じ鍵として使用できる（共通鍵暗号方式）。所定の分割手法は、暗号化した共有情報をどのような区分で分割するかを取り決めたものである。
【０１１４】
複数の第１分散情報それぞれは、何の意味も持たないバイナリ列となる。複数の第１分散情報のうち１つの第１分散情報が仮に漏洩又は不正取得されたとしても、漏洩又は不正取得された第１分散情報だけでは何の意味もないデータになっており、漏洩又は不正取得された第１分散情報から他の第１分散情報を類推することができない。これにより、鍵共有のセキュリティを向上させることができる。
【０１１５】
本実施の形態の鍵共有方法において、前記認証デバイス及び認証対象デバイスそれぞれは、前記生成値を暗号鍵として前記共有情報を秘密分散法で分散して前記複数の第１分散情報を生成する。
【０１１６】
認証デバイス及び認証対象デバイスそれぞれは、生成値を暗号鍵として共有情報を秘密分散法で分散して複数の第１分散情報を生成する。暗号鍵は、暗号化及び復号に同じ鍵として使用できる（共通鍵暗号方式）。秘密分散法は、例えば、共有情報を暗号鍵で暗号化しながら複数の第１分散情報に分散する。暗号鍵も複数の第１分散情報それぞれに埋め込まれて分散するので、鍵の管理が不要となる。秘密分散を行う都度、分散数や分散比率を適宜変更することができる。
【０１１７】
複数の第１分散情報それぞれは、何の意味も持たないバイナリ列となる。複数の第１分散情報のうち１つの第１分散情報が仮に漏洩又は不正取得されたとしても、漏洩又は不正取得された第１分散情報だけでは何の意味もないデータになっており、漏洩又は不正取得された第１分散情報から他の第１分散情報を類推することができない。これにより、鍵共有のセキュリティを向上させることができる。
【０１１８】
本実施の形態の鍵共有方法において、前記認証デバイス及び認証対象デバイスそれぞれは、前記生成値に代えて、前記生成値から所定の派生手法で派生した派生値を用いる。
【０１１９】
認証デバイス及び認証対象デバイスそれぞれは、生成値に代えて、生成値から所定の派生手法で派生した派生値を用いることができる。派生手法は、適宜の手法を用いることができる。例えば、生成値からハッシュ値を生成してもよく、生成値に所定の情報を加えてもよく、所定の情報を加えたものからハッシュ値を生成してもよい。これにより、認証デバイスと認証対象デバイスとの間で生成値を共有する際に、仮に生成値が漏洩又は不正取得されても、所定の符号化手法で実際に使用する鍵値の漏洩を防止でき、鍵共有のセキュリティを向上させることができる。
【０１２０】
本実施の形態の鍵共有方法において、前記認証デバイスは、デバイス固有の固有情報を含むデバイス情報を記憶し、前記デバイス情報を第１の暗号鍵で暗号化し、暗号化したデバイス情報を所定の分割手法で分割して複数の第２分散情報を生成し、前記複数の第２分散情報のうちの一の第２分散情報を前記共有情報として前記認証対象デバイスと共有する。
【０１２１】
認証デバイスは、デバイス固有の固有情報を含むデバイス情報を記憶する。固有情報は、認証デバイスの固有の情報であればよく、例えば、デバイスの製造番号でもよい。デバイス情報を個々の認証デバイスの固有の情報とすることにより、仮にある認証デバイスのデバイス情報が漏洩又は不正取得されたとしても、他の認証デバイスのデバイス情報が漏洩することを防止できる。
【０１２２】
認証デバイスは、デバイス情報を第１の暗号鍵で暗号化し、暗号化したデバイス情報を所定の分割手法で分割して複数の第２分散情報を生成する。認証デバイスは、生成した複数の第２分散情報のうちの一の第２分散情報を共有情報として認証対象デバイスと共有する。
【０１２３】
デバイス情報を共有情報として共有せずに、一の第２分散情報を共有情報として共有することにより、仮に一の第２分散情報が漏洩又は不正取得されても、デバイス情報を用いて異なる第２分散情報を再度生成することにより、認証デバイス及び認証対象デバイスそれぞれは、異なる共通鍵を生成できるので、漏洩又は不正取得の影響を低減できる。
【０１２４】
本実施の形態の鍵共有方法は、前記認証デバイスは、デバイス固有の固有情報を含むデバイス情報を記憶し、第１の暗号鍵を用いて前記デバイス情報を秘密分散法で分散して複数の第２分散情報を生成し、前記複数の第２分散情報のうちの一の第２分散情報を前記共有情報として前記認証対象デバイスと共有する。
【０１２５】
認証デバイスは、デバイス固有の固有情報を含むデバイス情報を記憶する。固有情報は、認証デバイスの固有の情報であればよく、例えば、デバイスの製造番号でもよい。デバイス情報を個々の認証デバイスの固有の情報とすることにより、仮にある認証デバイスのデバイス情報が漏洩又は不正取得されたとしても、他の認証デバイスのデバイス情報が漏洩することを防止できる。
【０１２６】
認証デバイスは、第１の暗号鍵を用いてデバイス情報を秘密分散法で分散して複数の第２分散情報を生成する。認証デバイスは、生成した複数の第２分散情報のうちの一の第２分散情報を共有情報として認証対象デバイスと共有する。
【０１２７】
デバイス情報を共有情報として共有せずに、一の第２分散情報を共有情報として共有することにより、仮に一の第２分散情報が漏洩又は不正取得されても、デバイス情報を用いて異なる第２分散情報を再度生成することにより、認証デバイス及び認証対象デバイスそれぞれは、異なる共通鍵を生成できるので、漏洩又は不正取得の影響を低減できる。
【０１２８】
本実施の形態の鍵共有方法において、前記認証デバイスは、前記所定の符号化手法及び第２の暗号鍵を用いて、前記複数の第２分散情報のうちの他の第２分散情報から複数の第３分散情報を生成し、前記複数の第３分散情報のうちの一の第３分散情報を前記認証対象デバイスと共有し、前記認証デバイス及び認証対象デバイスそれぞれは、前記一の第３分散情報及び前記一の第２分散情報を合成した合成値を生成し、前記所定の符号化手法に前記生成値を用いて前記合成値から前記複数の第１分散情報を生成する。
【０１２９】
認証デバイスは、所定の符号化手法に第２の暗号鍵を用いて、複数の第２分散情報のうちの他の第２分散情報から複数の第３分散情報を生成する。他の第２分散情報は、認証デバイスと認証対象デバイスとが、共有情報として共有した一の第２分散情報と異なる第２分散情報である。複数の第３分散情報の生成は、例えば、認証デバイスと認証対象デバイスとの間のセッション毎に行うことができる。認証デバイスは、複数の第３分散情報のうちの一の第３分散情報を認証対象デバイスと共有する。これにより、認証デバイスと認証対象デバイスは、セッション毎に、異なる第３分散情報を共有することができる。
【０１３０】
認証デバイス及び認証対象デバイスそれぞれは、一の第３分散情報及び一の第２分散情報を合成した合成値を生成する。合成値は、単純に一の第３分散情報に一の第２分散情報を繋いで合成してもよく、所定数のバイナリ列を交互に入れ替えて合成してもよい。認証デバイス及び認証対象デバイスそれぞれは、所定の符号化手法に生成値を用いて合成値から複数の第１分散情報を生成する。
【０１３１】
認証デバイス及び認証対象デバイスそれぞれは、複数の第１分散情報のうちの一の第１分散情報又は当該一の第１分散情報から派生した派生情報を共通鍵として共有することができる。これにより、認証デバイス及び認証対象デバイスそれぞれは、例えば、セッション毎に、異なる共通鍵を生成して共有することができるので、仮に共有情報として共有した一の第２分散情報が漏洩又は不正取得され、かつ共通鍵が解読されたとしても、セッション毎に共通鍵が異なるので、認証デバイスと認証対象デバイスとの間のネットワークを流れるデータを長期に亘って不正取得されたとしても、解読されるデータは、一の第２分散情報が漏洩又は不正取得されたセッションだけに限定され、不正取得されたデータの全てが解読されることを防止できる。
【０１３２】
本実施の形態の鍵共有方法において、前記認証デバイスは、前記デバイス情報を外部のサーバから取得可能である。
【０１３３】
認証デバイスは、デバイス情報を外部のサーバから取得可能である。例えば、外部のサーバで複数の認証デバイスを一括管理するとともに、必要に応じてデバイス情報を更新することにより、認証デバイスは、最新のデバイス情報を取得することができる。これにより、デバイス情報の危殆化を防止できる。
【０１３４】
本実施の形態の鍵共有方法において、前記認証デバイス及び認証対象デバイスそれぞれは、前記複数の第１分散情報の一部の第１分散情報それぞれ又は前記一部の第１分散情報から派生した複数の派生情報それぞれを複数の異なる共通鍵として共有する。
【０１３５】
認証デバイス及び認証対象デバイスそれぞれは、複数の第１分散情報の一部の第１分散情報それぞれ又は一部の第１分散情報から派生した複数の派生情報それぞれを複数の異なる共通鍵として共有する。モバイル通信の規格５Ｇにおいて、同時に複数のチャネルを開設して通信するケースにも、複数のチャネルそれぞれに異なる共通鍵を割り当てて秘匿通信を実現することができる。
【０１３６】
本実施の形態の鍵共有方法において、前記認証対象デバイスは、前記複数の第１分散情報のうちの認証用の第１分散情報を前記認証デバイスに送信し、前記認証デバイスは、前記認証対象デバイスが送信した認証用の第１分散情報及び自身が保持する認証用の第１分散情報を用いて前記認証対象デバイスを認証する。
【０１３７】
認証対象デバイスは、複数の第１分散情報のうちの認証用の第１分散情報を認証デバイスに送信する。認証デバイスは、認証対象デバイスが送信した認証用の第１分散情報及び自身が保持する認証用の第１分散情報を用いて認証対象デバイスを認証する。例えば、認証デバイスは、認証対象デバイスが送信した認証用の第１分散情報と自身が保持する認証用の第１分散情報が一致する場合、認証対象デバイスを正規のデバイスとして認証する。複数の第１分散情報の中の１つの第１分散情報を認証用の情報として用いるので、認証対象デバイスの認証と共通鍵の共有が一度に完了する。
【０１３８】
本実施の形態の鍵共有方法において、前記認証デバイス及び認証対象デバイスそれぞれは、前記共有情報から生成された複数の第１分散情報のうちの一の第１分散情報を用いて前記共有情報を更新し、更新した共有情報に基づいて前記複数の第１分散情報と異なる複数の第１分散情報を生成する。
【０１３９】
認証デバイス及び認証対象デバイスそれぞれは、共有情報から生成された複数の第１分散情報のうちの一の第１分散情報を用いて共有情報を更新する。例えば、共通情報に、一の第１分散情報のハッシュ値を付け足して共有情報を更新することができる。共有情報の更新は、例えば、セッション毎に行うことができる。認証デバイス及び認証対象デバイスそれぞれは、更新した共有情報に基づいて、異なる複数の第１分散情報を生成する。
【０１４０】
これにより、異なる複数の第１分散情報が生成されるので、認証用の第１分散情報も異ならせることができ、認証デバイスと認証対象デバイスとの間のネットワークを流れる認証用の情報が同じ内容となる可能性を小さくすることができる。
【０１４１】
本実施の形態の鍵共有方法において、前記認証デバイスは、自身が保持する認証用の第１分散情報を消去することにより、前記認証対象デバイスの認証を停止する。
【０１４２】
認証デバイスは、自身が保持する認証用の第１分散情報を消去することにより、認証対象デバイスの認証を停止する。認証対象デバイスの認証を停止させる事態が生じた場合、簡単に認証を停止させることができる。
【０１４３】
本実施の形態の認証方法は、認証デバイスと認証対象デバイスとの間の認証方法であって、前記認証デバイスは、予め共有情報を前記認証対象デバイスと共有してあり、前記認証デバイス及び認証対象デバイスの一方が所定の方法で生成した生成値を他方と共有し、前記認証デバイス及び認証対象デバイスそれぞれは、分散前データを複数に分散した分散データの全部又は一部が揃うことにより前記分散前データを復元できる所定の符号化手法に前記生成値を用いて前記共有情報から複数の第１分散情報を生成し、前記複数の第１分散情報のうちの一の第１分散情報を認証情報として共有する。
【符号の説明】
【０１４４】
１  通信路
１０  認証対象デバイス
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  通信部
１５  記憶部
１５１  乱数生成機能
１５２  鍵派生機能
１５３  分散データ生成機能
１５４  共通鍵生成機能
１５５  データ合成機能
１５６  秘匿通信機能
５０  認証デバイス
５１  ＣＰＵ
５２  ＲＯＭ
５２１  デバイス情報
５３  ＲＡＭ
５４  通信部
５５  記憶部
５５１  乱数生成機能
５５２  鍵派生機能
５５３  分散データ生成機能
５５４  共通鍵生成機能
５５５  データ合成機能
５５６  デバイス認証機能
５５７  秘匿通信機能
【要約】
【課題】公開鍵暗号基盤を利用することなく共通鍵を共有することができる鍵共有方法、鍵共有システム、認証デバイス、認証対象デバイス、コンピュータプログラム及び認証方法を明らかにする。
【解決手段】認証デバイスと認証対象デバイスとの間の鍵共有方法であって、認証デバイスは、予め共有情報を認証対象デバイスと共有してあり、認証デバイス及び認証対象デバイスの一方が所定の方法で生成した生成値を他方と共有し、認証デバイス及び認証対象デバイスそれぞれは、分散前データを複数に分散した分散データの全部又は一部が揃うことにより分散前データを復元できる所定の符号化手法に生成値を用いて共有情報から複数の第１分散情報を生成し、複数の第１分散情報のうちの一の第１分散情報又は一の第１分散情報から派生した派生情報を共通鍵として共有する。
【選択図】図１【図１】
0006863514.tif 000002
【図２】
0006863514.tif 000003
【図３】
0006863514.tif 000004
【図４】
0006863514.tif 000005
【図５】
0006863514.tif 000006
【図６】
0006863514.tif 000007
【図７】
0006863514.tif 000008
【図８】
0006863514.tif 000009
【図９】
0006863514.tif 000010
【図１０】
0006863514.tif 000011