(57)【要約】【課題】装置間の接続に関する情報を用いることで、認証用の秘密鍵を効率良くメンテナンスすることが可能な情報処理装置を提案する。【解決手段】認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶する情報記憶部と、前記情報記憶部に記憶される情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信する通信部と、を備える、情報処理装置が提供される。【選択図】図１
2015115634.tif 000002
【特許請求の範囲】
【請求項１】
認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶する情報記憶部と、
前記情報記憶部に記憶される情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信する通信部と、
を備える、情報処理装置。
【請求項２】
前記通信部は、前記第１の秘密鍵が更新された際に前記第１の秘密鍵を前記情報記憶部に記憶される情報に基づいて前記装置に伝送する、請求項１に記載の情報処理装置。
【請求項３】
前記通信部は、前記第１の秘密鍵を使用する装置で保持される第２の秘密鍵で暗号化された前記第１の秘密鍵を前記装置に伝送する、請求項２に記載の情報処理装置。
【請求項４】
前記通信部は、前記情報記憶部に記憶される全ての装置で共通して保持される第２の秘密鍵及び更新前の前記第１の秘密鍵で暗号化された、更新後の前記第１の秘密鍵を前記装置に伝送する、請求項１に記載の情報処理装置。
【請求項５】
前記通信部は、前記第１の秘密鍵を新たに使用する装置に、前記情報記憶部に記憶される情報に基づいて、前記第１の秘密鍵を該装置に伝送する、請求項１に記載の情報処理装置。
【請求項６】
前記通信部は、新たな前記第１の秘密鍵を使用する装置に、前記情報記憶部に記憶される情報に基づいて、該第１の秘密鍵を前記装置に伝送する、請求項１に記載の情報処理装置。
【請求項７】
前記通信部は、前記第１の秘密鍵を別の第１の秘密鍵に置換して使用する装置に前記第１の秘密鍵を前記情報記憶部に記憶される情報に基づいて前記装置に伝送する、請求項１に記載の情報処理装置。
【請求項８】
前記通信部が前記第１の秘密鍵を前記装置に伝送すると、前記情報記憶部に記憶される前記保持状態の情報を更新する情報更新部をさらに備える、請求項１に記載の情報処理装置。
【請求項９】
前記通信部は、所定のトリガの発生に応じて前記第１の秘密鍵の保持状態の情報を伝送する、請求項１に記載の情報処理装置。
【請求項１０】
前記情報記憶部は、前記第１の秘密鍵を保持する装置の情報をさらに記憶し、
前記通信部は、前記情報記憶部に記憶される、前記第１の秘密鍵を保持する装置の情報に基づいて、送信する前記第１の秘密鍵を選択して伝送する、請求項１に記載の情報処理装置。
【請求項１１】
前記第１の秘密鍵の保持状態の情報に基づいて最新の前記第１の秘密鍵が保持されていない装置の情報を出力する情報出力部をさらに備える、請求項１に記載の情報処理装置。
【請求項１２】
前記第１の秘密鍵を保持する鍵保持部をさらに備える、請求項１に記載の情報処理装置。
【請求項１３】
前記通信部は、前記情報記憶部に記憶されている前記装置間の接続に関する情報に基づいて、送信先の装置を経由した先の装置で用いられる前記第１の秘密鍵を選択して送信する、請求項１に記載の情報処理装置。
【請求項１４】
前記通信部は、前記情報記憶部に記憶されている前記装置間の接続に関する情報から、前記送信先の装置が存在しない場合に到達出来ない装置で用いられる前記第１の秘密鍵以外の前記第１の秘密鍵を選択して送信する、請求項１３に記載の情報処理装置。
【請求項１５】
認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶するステップと、
記憶される各前記情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信するステップと、
を含む、情報処理方法。
【請求項１６】
コンピュータに、
認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶するステップと、
記憶される各前記情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信するステップと、
を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、情報処理方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
スマートフォンと呼ばれる小型で高性能の携帯電話の普及や、腕や顔などに装着できる、いわゆるウェアラブル機器と呼ばれる小型の機器が登場によって、様々なサービスを使用する際に認証に利用する認証デバイスとして、これらの機器が用いられる機会が増えつつある。
【０００３】
また、認証デバイスを個人に紐付けずに、公共施設や企業等がユーザに一時的に貸し出し、システムを使用させるサービスも考えられる。例えば、公共施設や企業で貸し出すＰＣ等の備品を使うための認証や、施設内への入退室用の鍵の解錠や施錠のために、ユーザに認証デバイスを一時的に貸し出すような使われ方が想定される。
【０００４】
このように認証デバイスの数が増えていくと、認証用の秘密鍵のメンテナンスを効率よく行なうことが求められる。例えば特許文献１には、ドアを解錠して入室するための情報を、複数の鍵とロックの間で伝搬させて更新させる技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−２２４１６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記特許文献１には、全ての鍵やロックに伝達すべき全ての情報を保存させて伝搬させている技術が開示されている。従って、上記特許文献１で開示された技術では、鍵やロックの数が増えると、自然と伝達すべき情報が増加する。鍵とロックによっては接触する機会がないものもあると考えられるが、アクセス権に関する全情報を鍵及びロックに保存することになるので、鍵及びロック内のメモリの消費量と、鍵とロックとの間の通信量とが増加してしまう。
【０００７】
そこで本開示では、装置間の接続に関する情報を用いることで、認証用の秘密鍵を効率良くメンテナンスすることが可能な、新規かつ改良された情報処理装置、情報処理方法及びコンピュータプログラムを提案する。
【課題を解決するための手段】
【０００８】
本開示によれば、認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶する情報記憶部と、前記情報記憶部に記憶される情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信する通信部と、を備える、情報処理装置が提供される。
【０００９】
また本開示によれば、認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶するステップと、記憶される各前記情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信するステップと、を含む、情報処理方法が提供される。
【００１０】
また本開示によれば、コンピュータに、認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶するステップと、記憶される各前記情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信するステップと、を実行させる、コンピュータプログラムが提供される。
【発明の効果】
【００１１】
以上説明したように本開示によれば、装置間の接続に関する情報を用いることで、認証用の秘密鍵を効率良くメンテナンスすることが可能な、新規かつ改良された情報処理装置、情報処理方法及びコンピュータプログラムを提供することができる。
【００１２】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１３】
【図１】本開示の一実施形態に係る情報処理装置を含んだ情報処理システムの構成例を示す説明図である。
【図２】本実施形態に係る各デバイスが持つ秘密鍵の例を示す説明図である。
【図３】認証秘密鍵リストの例を示す説明図である。
【図４】認証秘密鍵の送信方向の例を示す説明図である。
【図５】隣接デバイスリストの例を示す説明図である。
【図６】デバイス接続リストの例を示す説明図である。
【図７】鍵追加・更新リストの例を示す説明図である。
【図８】本開示の一実施形態にかかるマスター認証デバイス１００の機能構成例を示す説明図である。
【図９】本開示の一実施形態にかかる認証デバイス２００の機能構成例を示す説明図である。
【図１０】本開示の一実施形態にかかる情報処理システム１の動作例をシーケンス図で示す説明図である。
【図１１】本開示の一実施形態にかかる情報処理システム１の動作例をシーケンス図で示す説明図である。
【図１２】本開示の一実施形態にかかる情報処理システム１の動作例をシーケンス図で示す説明図である。
【図１３】本開示の一実施形態に係る情報処理システム１の動作例をシーケンス図で示す説明図である。
【図１４】鍵追加・更新リストの伝搬の様子を示す説明図である。
【図１５】鍵追加・更新リストの伝搬の様子を示す説明図である。
【図１６】鍵追加・更新リストの伝搬の様子を示す説明図である。
【図１７】認証デバイス２００ａを除いた場合の送信可能なデバイスの関係を示す説明図である。
【図１８】認証デバイス２００ｄを除いた場合の送信可能なデバイスの関係を示す説明図である。
【図１９】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１５】
なお、説明は以下の順序で行うものとする。
１．本開示の一実施形態
１．１．システム構成例
１．２．機能構成例
１．３．動作例
２．ハードウェア構成例
３．まとめ
【００１６】
＜１．本開示の一実施形態＞
［１．１．システム構成例］
様々なサービスを使用する際に認証に利用する認証デバイスとして、スマートフォンなどのネットワークに接続できる機器だけでなく、常に身に付ける指輪や時計等のネットワーク接続が難しいアクセサリ類を用いたり、日替わりまたは外出先に応じて携帯品を変えたりする使われ方が増えていくと考えられる。その結果、個人が複数の認証デバイスを所有する状況が起こり得る。また、認証により許可するサービスや機能の変更や追加、及びサービスや機能の変更や追加に伴う認証用の秘密鍵の追加や更新が頻繁に発生することも想定される。そこで本開示の一実施形態では、このような認証デバイスに対して、認証のための秘密鍵を容易にメンテナンスできる技術を示す。まず、本開示の一実施形態に係るシステム構成例について説明する。図１は、本開示の一実施形態に係る情報処理装置を含んだ情報処理システムの構成例を示す説明図である。以下、図１を用いて情報処理システムの構成例について説明する。
【００１７】
図１に示したように、本開示の一実施形態に係る情報処理装置を含んだ情報処理システム１は、ＰＣ１０と、マスター認証デバイス１００と、認証デバイス２００と、を含んで構成される。図１に示した例では、認証デバイス２００は、５つの認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅで構成される。
【００１８】
図１に示した情報処理システム１は、例えば、ＰＣ１０をユーザに使用させる際に、認証デバイス２００に保存された秘密鍵（認証秘密鍵とも称する）を用いた認証をユーザに行わせるシステムである。認証デバイス２００に保存された認証秘密鍵は、マスター認証デバイス１００によって管理され、認証デバイス２００に配布される。マスター認証デバイス１００は、全てのサービスで用いられる認証秘密鍵の認証デバイス２００への管理を行なう。
【００１９】
図１には、認証デバイス２００ａがスマートフォン、認証デバイス２００ｂがＩＣカード、認証デバイス２００ｃが指輪、認証デバイス２００ｄが腕時計、認証デバイス２００ｅがＵＳＢメモリである例が示されているが、認証デバイス２００は係る例に限定されるものではない。認証デバイス２００は、例えばタブレット型の携帯端末や、他にも腕輪、ネックレス、メガネ等の人間の体に身に付けて用いられるものであってもよい。
【００２０】
本実施形態では、ＰＣ１０をユーザに使用させる際の認証に認証デバイス２００を使用する場合が例として示されているが、本開示は係る例に限定されるものではない。例えばＰＣ１０を用いたＷｅｂサービスのログイン、ドアの解錠及び施錠等をユーザに行わせるシステムにも適用することが出来ることは言うまでもない。
【００２１】
以上、本開示の一実施形態に係るシステム構成例について説明した。ここで、本実施形態における用語の定義について説明する。
【００２２】
（認証秘密鍵）
認証デバイス２００を用いてサービス使用時の認証を受ける際に用いられる秘密鍵を、本実施形態では認証秘密鍵と称する。認証秘密鍵は、パスワード認証方式、公開鍵暗号方式、共通鍵暗号方式等のいずれの認証方式で使用されるものであってもよい。パスワード認証方式の場合は、認証秘密鍵はパスワードに相当し、公開鍵暗号方式の場合は、認証秘密鍵は認証する側が保持する公開鍵に対応する秘密鍵に相当し、共通鍵暗号方式の場合は、認証秘密鍵は認証を受ける側と認証する側とで共通して使用する秘密鍵に相当し得る。
【００２３】
（デバイス秘密鍵）
認証デバイス２００のそれぞれに固有の秘密鍵であって、上述した認証秘密鍵の暗号及び復号に用いられる秘密鍵を、本実施形態ではデバイス秘密鍵と称する。デバイス秘密鍵は、認証デバイス２００の他にマスター認証デバイス１００が保持する。
【００２４】
なお、情報処理システム１の全体で共通のデバイス秘密鍵がマスター認証デバイス１００及び認証デバイス２００で保持されてもよい。情報処理システム１の全体で共通のデバイス秘密鍵がマスター認証デバイス１００及び認証デバイス２００で保持されることで、後述するようなデバイス秘密鍵を用いた認証秘密鍵の暗号及び復号が可能となる。
【００２５】
以下の説明では、デバイス秘密鍵をＫＸ（Ｘはアルファベット）で表し、認証秘密鍵をＫｉ（ｉは整数）で表す。認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅが持つデバイス秘密鍵は、それぞれＫＡ、ＫＢ、ＫＣ、ＫＤ、ＫＥであるとし、情報処理システム１の全体で共通のデバイス秘密鍵をＫＳとする。
【００２６】
（認証秘密鍵リスト）
認証デバイス２００が保持するデバイス秘密鍵及び認証秘密鍵のリストを本実施形態では認証秘密鍵リストと称する。この認証秘密鍵リストは、マスター認証デバイス１００のみが保持する。図２は、本実施形態に係るマスター認証デバイス１００及び認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅが持つ秘密鍵の例を示す説明図である。図２には、マスター認証デバイス１００及び各認証デバイス２００がどの秘密鍵を保持しているかが示されている。
【００２７】
図２に示した例では、マスター認証デバイス１００は全てのデバイス秘密鍵ＫＡ、ＫＢ、ＫＣ、ＫＤ、ＫＥおよび情報処理システム１の全体で共通のデバイス秘密鍵ＫＳを保持することが示されている。また図２に示した例では、認証デバイス２００ａはデバイス秘密鍵ＫＡ、ＫＳを保持することが示されている。認証デバイス２００ｂ〜２００ｅについても同様に、各認証デバイス固有のデバイス秘密鍵と、情報処理システム１の全体で共通のデバイス秘密鍵ＫＳを保持することが示されている。
【００２８】
図２に示した例では、マスター認証デバイス１００は、全ての認証秘密鍵Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５、Ｋ６を保持することが示されている。また図２に示した例では、認証デバイス２００ａも、全ての認証秘密鍵Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５、Ｋ６を保持することが示されている。
【００２９】
以下、認証デバイス２００ｂ、２００ｃは、認証秘密鍵Ｋ１、Ｋ２、Ｋ３、Ｋ４を、認証デバイス２００ｄは、認証秘密鍵Ｋ２のみを、認証デバイス２００ｅは、認証秘密鍵Ｋ２、Ｋ４、Ｋ５、Ｋ６を、それぞれ保持することが、図２に示した例で示されている。
【００３０】
図３は、図２に示したマスター認証デバイス１００及び認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅが持つ秘密鍵の例から生成される認証秘密鍵リストの例を示す説明図である。図３に示した認証秘密鍵リストは、上述したようにマスター認証デバイス１００のみが保持するリストであり、横方向に認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅを識別するためのデバイスＩＤを、縦方向に認証秘密鍵を識別するための認証秘密鍵ＩＤを表した表となっている。
【００３１】
認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅを識別するためのデバイスＩＤはそれぞれＡ、Ｂ、Ｃ、Ｄ、Ｅとしている。また認証秘密鍵Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５、Ｋ６を識別するための認証秘密鍵ＩＤはそれぞれＫｅｙ１、Ｋｅｙ２、Ｋｅｙ３、Ｋｅｙ４、Ｋｅｙ５、Ｋｅｙ６としている。また図３に示した認証秘密鍵リストでは、「０」は認証秘密鍵が保持されていないことを意味し、「１」は認証秘密鍵が保持されていることを示している。
【００３２】
図３に示した認証秘密鍵リストでは、デバイスＩＤがＡである認証デバイス２００ａは、認証秘密鍵ＩＤがＫｅｙ１、Ｋｅｙ２、Ｋｅｙ３、Ｋｅｙ４、Ｋｅｙ５、Ｋｅｙ６の、全ての認証秘密鍵Ｋ１、Ｋ２、Ｋ３、Ｋ４、Ｋ５、Ｋ６を保持することを示している。他の認証デバイス２００ｂ〜２００ｅについても同様である。すなわち、デバイスＩＤがＢである認証デバイス２００ｂ及びデバイスＩＤがＣである認証デバイス２００ｃは、認証秘密鍵ＩＤがＫｅｙ１、Ｋｅｙ２、Ｋｅｙ３、Ｋｅｙ４の、認証秘密鍵Ｋ１、Ｋ２、Ｋ３、Ｋ４を保持し、デバイスＩＤがＤである認証デバイス２００ｄは、認証秘密鍵ＩＤがＫｅｙ２の、認証秘密鍵Ｋ２のみを保持し、デバイスＩＤがＥである認証デバイス２００ｅは、認証秘密鍵ＩＤがＫｅｙ２、Ｋｅｙ４、Ｋｅｙ５、Ｋｅｙ６の、認証秘密鍵Ｋ２、Ｋ４、Ｋ５、Ｋ６を保持している。
【００３３】
認証秘密鍵リストは、所定のトリガの発生に応じて、認証秘密鍵を送信する装置から、または認証秘密鍵を受信する装置から、相手方の装置へ送信される。例えば認証秘密鍵を送受信する双方の装置間で相互認証処理が完了したことが、所定のトリガであっても良い。以下の説明では、認証秘密鍵を送受信する双方の装置間で相互認証処理が完了したことが、認証秘密鍵リストの送信のトリガとなっている例を示すが、他にも、例えばユーザが明示的に装置に対する指示を入力したことが、認証秘密鍵リストの送信のトリガとなってもよい。
【００３４】
（隣接デバイスリスト）
認証デバイス間で、機器が対応する接続形態（例えば、ＮＦＣ、Ｂｌｕｅｔｏｏｔｈ、ＵＳＢ等）に基づいて直接接続して、その認証デバイス間で直接的に認証秘密鍵の送信ができるか否かを示すリストを本実施形態では隣接デバイスリストと称する。隣接デバイスリストは、本実施形態ではマスターデバイス１００のみが保持するリストである。
【００３５】
図４は、本開示の一実施形態にかかる認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅの認証秘密鍵の送信方向の例を示す説明図である。図４では、認証デバイス２００ａは、認証デバイス２００ｂ、２００ｄ、２００ｅに認証秘密鍵を送信することができ、その中で認証秘密鍵２００ｄからは認証秘密鍵を受信することができるが、認証デバイス２００ｃには認証秘密鍵を送信できないことが示されている。
【００３６】
同様に、図４では、認証デバイス２００ｂ、２００ｅは、認証デバイス２００ａからの認証秘密鍵の受信のみが可能であることが示されており、認証デバイス２００ｃは、認証デバイス２００ｄからの認証秘密鍵の受信のみが可能であることが示されている。そして図４には、認証秘密鍵２００ｄは、認証秘密鍵２００ａからの認証秘密鍵の受信と、認証秘密鍵２００ａ、２００ｃへの認証秘密鍵の送信とが可能であることが示されている。
【００３７】
なお、認証秘密鍵の送受信以外の情報の送受信は、図４に示した矢印の方向に限定されなくても良い。例えば、後述するように、認証デバイス２００ａから認証デバイス２００ｂへ認証秘密鍵を送信する際には、予め認証秘密鍵２００ａと認証デバイス２００ｂとの間で相互認証が行われるが、その相互認証の際のメッセージの授受は、認証デバイス２００ｂから認証デバイス２００ａの方向にも行われ得る。
【００３８】
図５は、図４のような認証秘密鍵の送信方向から生成される隣接デバイスリストの例を示す説明図である。隣接デバイスリストはマスターデバイス１００のみが保持するリストであり、また情報処理システム１を管理するユーザが入力することで生成され得る。
【００３９】
図５に示した隣接デバイスリストは、Ｉ行、Ｊ列の要素が「１」の時に、認証デバイスＩから認証デバイスＪへの直接的な認証秘密鍵の送信が可能であることを示し、「０」の時には認証デバイスＩから認証デバイスＪへの直接的な認証秘密鍵の送信が出来ないことを示している。なお、同じデバイス間でも直接的な認証秘密鍵の送信が可能であると表現する。すなわちＩ行、Ｉ列の要素は全て「１」である。
【００４０】
図５の隣接デバイスリストを参照すれば、デバイスＩＤがＡである認証デバイス２００ａは、他の認証デバイス２００ｂ、２００ｄ、２００ｅへ直接的な認証秘密鍵の送信が可能であることが分かる。他の認証デバイス２００ｂ、２００ｃ、２００ｄ、２００ｅについても、図５の隣接デバイスリストを参照することで、どの認証デバイスへ直接的な認証秘密鍵の送信が可能であるかが分かる。
【００４１】
（デバイス接続リスト）
隣接デバイスリストとは異なり、認証デバイス間で認証秘密鍵の送信が直接的または間接的にできるか否かを示すリストを、本実施形態ではデバイス接続リストと称する。デバイス接続リストは、本実施形態ではマスターデバイス１００及び認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅが保持するリストである。
【００４２】
図６は、図４のような認証秘密鍵の送信方向から生成されるデバイス接続リストの例を示す説明図である。デバイス接続リストは、情報処理システム１を管理するユーザが入力することで生成され得る。
【００４３】
図６に示したデバイス接続リストは、Ｉ行、Ｊ列の要素が「１」の時に、認証デバイスＩから認証デバイスＪへの直接的または間接的な認証秘密鍵の送信が可能であることを示し、「０」の時には認証デバイスＩから認証デバイスＪへの直接的にも間接的にも認証秘密鍵の送信が出来ないことを示している。なお、同じデバイス間でも情報の送信が可能であると表現する。すなわちＩ行、Ｉ列の要素は全て「１」である。
【００４４】
図６のデバイス接続リストを参照すれば、デバイスＩＤがＡである認証デバイス２００ａは、他の全ての認証デバイス２００ｂ、２００ｃ、２００ｄ、２００ｅへ直接的または間接的な認証秘密鍵の送信が可能であることが分かる。他の認証デバイス２００ｂ、２００ｃ、２００ｄ、２００ｅについても、図６のデバイス接続リストを参照することで、どの認証デバイスへ直接的または間接的な認証秘密鍵の送信が可能であるかが分かる。
【００４５】
隣接デバイスリストでは、１行、３列の要素が０であり、すなわち、デバイスＩＤがＡである認証デバイス２００ａは、認証デバイス２００ｃへは直接的に認証秘密鍵の送信ができなかった。しかし、認証デバイス２００ａから認証デバイス２００ｃへは、認証デバイス２００ｄを介して認証秘密鍵の送信が可能である。従って認証デバイス２００ａから認証デバイス２００ｃへ間接的に認証秘密鍵を送信できるので、図６に示したデバイス接続リストでは、１行、３列の要素が１になっている。
【００４６】
同様に、隣接デバイスリストでは、４行、２列の要素が０であり、すなわち、デバイスＩＤがＤである認証デバイス２００ｂは、認証デバイス２００ｄへは直接的に認証秘密鍵の送信ができなかった。しかし、認証デバイス２００ｄから認証デバイス２００ｂへは、認証デバイス２００ａを介して認証秘密鍵の送信が可能である。従って認証デバイス２００ｄから認証デバイス２００ｂへ間接的に認証秘密鍵を送信できるので、図６に示したデバイス接続リストでは、４行、２列の要素が１になっている。
【００４７】
（鍵追加・更新リスト）
認証秘密鍵の更新や追加、または認証秘密鍵の置換が発生した際に生成されるリストを、本実施形態では鍵追加・更新リストと称する。鍵追加・更新リストはマスター認証デバイス１００で生成され、マスター認証デバイス１００及び認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅが保持するリストである。
【００４８】
図７は、本開示の一実施形態にかかる鍵追加・更新リストの例を示す説明図である。本開示の一実施形態にかかる鍵追加・更新リストは、＜（認証秘密鍵ＩＤ）：（バージョン番号）：（鍵の追加・更新が未完了の認証デバイスのデバイスＩＤ）＞というフォーマットで生成される。すなわち、鍵追加・更新リストは認証秘密鍵単位で生成されるリストである。図７に示した鍵追加・更新リストは、認証秘密鍵ＩＤがＫｅｙ１のバージョン番号がｖ２の認証秘密鍵は、デバイスＩＤがＢ、Ｃ、Ｅの認証デバイス２００ｂ、２００ｃ、２００ｅで更新が未完了であることを示している。
【００４９】
本開示の一実施形態にかかる情報処理システム１は、上述の複数のリストを用いて認証秘密鍵を認証デバイス同士で効率よく伝搬させることを特徴とする。
【００５０】
以上、本実施形態における用語の定義について説明した。続いて、本開示の一実施形態にかかるマスター認証デバイス１００及び認証デバイス２００の機能構成例について説明する。
【００５１】
［１．２．機能構成例］
図８は、本開示の一実施形態にかかるマスター認証デバイス１００の機能構成例を示す説明図である。以下、図８を用いて本開示の一実施形態にかかるマスター認証デバイス１００の機能構成例について説明する。
【００５２】
図８に示したように、本開示の一実施形態にかかるマスター認証デバイス１００は、暗号機能部１１０と、リスト編集部１２０と、情報保管部１３０と、送受信部１４０と、通知部１５０と、を含んで構成される。
【００５３】
暗号機能部１１０は、マスター認証デバイス１００から認証デバイス２００へ送信する認証秘密鍵の暗号処理を実行する。
【００５４】
リスト編集部１２０は、隣接デバイスリスト、デバイス接続リスト、鍵追加・更新リストの編集処理を実行する。本実施形態では、リスト編集部１２０は特に鍵追加・更新リストの編集処理を実行する。
【００５５】
情報保管部１３０は、本開示の情報記憶部の一例であり、隣接デバイスリスト、デバイス接続リスト、鍵追加・更新リストを保管する。また情報保管部１３０は、デバイス秘密鍵や認証秘密鍵を保持していてもよい。
【００５６】
送受信部１４０は、他の装置、すなわちＰＣ１０や認証デバイス２００との間で情報を送受信する。送受信部１４０は、例えば無線ＬＡＮ、ＮＦＣ（Ｎｅａｒ  ｆｉｅｌｄ  ｃｏｍｍｕｎｉｃａｔｉｏｎ；近距離無線通信）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ等によって他の装置との間で情報を送受信する。送受信部１４０は、暗号機能部１１０で暗号化された認証秘密鍵や、鍵追加・更新リストを他の装置へ送信し、また鍵追加・更新リストを他の装置から受信する。
【００５７】
通知部１５０は、情報を通知する処理を実行する。本実施形態では、通知部１５０は、認証秘密鍵の追加や更新が行われていない認証デバイス２００が残っていれば、その旨を通知する処理を実行する。すなわち、通知部１５０は本開示の情報出力部の一例である。通知部１５０は、例えば液晶ディスプレイ、有機ＥＬディスプレイ、ＬＥＤインジケータ、スピーカ等のハードウェアで構成されてもよく、認証秘密鍵の追加や更新が行われていない認証デバイス２００の情報をメールで送信したり、Ｗｅｂアプリケーションで表示したりする処理を実行するソフトウェアで構成されていてもよい。
【００５８】
以上、図８を用いて本開示の一実施形態にかかるマスター認証デバイス１００の機能構成例について説明した。続いて本開示の一実施形態にかかる認証デバイス２００の機能構成例について説明する。
【００５９】
図９は、本開示の一実施形態にかかる認証デバイス２００の機能構成例を示す説明図である。以下、図９を用いて本開示の一実施形態にかかる認証デバイス２００の機能構成例について説明する。
【００６０】
図９に示したように、本開示の一実施形態にかかる認証デバイス２００は、暗号機能部２１０と、リスト編集部２２０と、情報保管部２３０と、送受信部２４０と、を含んで構成される。
【００６１】
暗号機能部２１０は、マスター認証デバイス１００から認証デバイス２００へ送信される、暗号化された認証秘密鍵の復号処理を実行する。また暗号機能部２１０は、認証デバイス２００から他の認証デバイス２００へ送信する認証秘密鍵の暗号処理を実行する。
【００６２】
リスト編集部２２０は、隣接デバイスリスト、デバイス接続リスト、鍵追加・更新リストの編集処理を実行する。本実施形態では、リスト編集部２２０は特に鍵追加・更新リストの編集処理を実行する。
【００６３】
情報保管部２３０は、本開示の情報記憶部の一例であり、隣接デバイスリスト、デバイス接続リスト、鍵追加・更新リストを保管する。また情報保管部２３０は、デバイス秘密鍵や認証秘密鍵を保持していてもよい。
【００６４】
送受信部２４０は、他の装置、すなわちマスター認証デバイス１００や他の認証デバイス２００との間で情報を送受信する。送受信部２４０は、例えば無線ＬＡＮ、ＮＦＣ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ等によって他の装置との間で情報を送受信する。送受信部１４０は、暗号機能部２１０で暗号化された認証秘密鍵や、鍵追加・更新リストを他の装置（マスター認証デバイス１００や他の認証デバイス２００）へ送信し、また鍵追加・更新リストを他の装置から受信する。
【００６５】
以上、図９を用いて本開示の一実施形態にかかる認証デバイス２００の機能構成例について説明した。続いて、本開示の一実施形態にかかる情報処理システム１の動作例について説明する。
【００６６】
［１．３．システム動作例］
図１０は、本開示の一実施形態にかかる情報処理システム１の動作例をシーケンス図で示す説明図である。図１０に示したのは、認証秘密鍵ＩＤ＝ＫＥＹｉの認証秘密鍵をＫｉからＫｉ’に更新し、更新された認証秘密鍵を、マスター認証デバイス１００から認証デバイス２００ａへ送信する際の動作例である。以下、図１０を用いて本開示の一実施形態にかかる情報処理システム１の動作例について説明する。
【００６７】
例えば、認証デバイス２００ａが使用する、認証秘密鍵ＩＤ＝ＫＥＹ１の認証秘密鍵が、認証秘密鍵の管理者等によってＫ１からＫ１’に更新された場合、マスター認証デバイス１００は、更新された認証秘密鍵Ｋ１’を、例えばＰＣ１０などから取得する（ステップＳ１０１）。マスター認証デバイス１００は、更新された認証秘密鍵Ｋ１’を例えばＰＣ１０などから送受信部１４０で受信することで取得する。
【００６８】
マスター認証デバイス１００は、更新された認証秘密鍵Ｋ１’を上記ステップＳ１０１で取得すると、続いて、この認証秘密鍵Ｋ１’を認証デバイス２００で更新するために、ＫＥＹｉを持つデバイスＩＤを基に，鍵更新リストＬｉ，Ｍを生成する（ステップＳ１０２）。ステップＳ１０２の鍵追加リストの生成処理は、例えばリスト編集部１３０が実行し得る。鍵更新リストＬｉ，Ｍの添字のｉは認証秘密鍵ＩＤ（ここではＫＥＹ１）に対応し、Ｍはマスター認証デバイスが生成した鍵更新リストであることを表す。
【００６９】
図３に示した認証秘密鍵リストでは、Ｋｅｙ１を持つデバイスは、デバイスＩＤ＝Ａ、Ｂ、Ｃの３つ存在する。更新対象の認証秘密鍵のバージョンがｖ２の時、鍵更新リストはＬ１，Ｍ＝＜Ｋｅｙ１：ｖ２：Ａ，Ｂ，Ｃ＞となる。
【００７０】
マスター認証デバイス１００は、上記ステップＳ１０２で鍵更新リストを生成すると、続いて、ステップＳ１０１で取得した、更新された認証秘密鍵Ｋ１’を暗号化する（ステップＳ１０３）。この暗号化は、例えば暗号機能部１１０が実行し得る。
【００７１】
マスター認証デバイス１００は、認証秘密鍵を、鍵更新リストＬｉ，Ｍ内の鍵の更新が未完了のデバイスＩＤに含まれたデバイスのデバイス秘密鍵で暗号化しても良く、またマスター認証デバイス１００は、システム鍵ＫＳと更新前の鍵Ｋｉを用いて暗号化しても良い。前者は、その更新対象の認証秘密鍵が保存されるデバイスの個数分、暗号化された認証秘密鍵を生成することになる。一方、後者は暗号化される認証秘密鍵は１つに抑えられる。
【００７２】
デバイスＡ、Ｂ，ＣがＫｅｙ１に対応した認証秘密鍵Ｋ１を持つ。認証秘密鍵ＩＤ＝ＫＥＹ１の認証秘密鍵がＫ１からＫ１’に更新された場合、マスター認証デバイス１００は認証秘密鍵Ｋ１を持つ認証デバイス２００ａ、２００ｂ、２００ｃのデバイス秘密鍵ＫＡ、ＫＢ、ＫＣを用いて、更新された認証秘密鍵Ｋ１’を，Ｅｎｃ（ＫＡ，Ｋ１’）、Ｅｎｃ（ＫＢ，Ｋ１’）、Ｅｎｃ（ＫＣ，Ｋ１’）のように暗号化する。Ｅｎｃ（Ｘ，Ｙ）は鍵Ｘで情報Ｙを暗号化することを意味する。またマスター認証デバイス１００は、システム鍵ＫＳと更新前の鍵Ｋ１を用いて、例えばＥｎｃ（Ｋ１＋ＫＳ，Ｋ１’）（＋は２つの鍵ビット列の排他的論理和を取ることを意味する）のように暗号化してもよい。
【００７３】
マスター認証デバイス１００は、上記ステップＳ１０３で認証秘密鍵Ｋ１’を暗号化すると、マスター認証デバイス１００から認証秘密鍵Ｋ１’を送信する認証デバイス２００ａとの間で相互認証処理を実行する（ステップＳ１０４）。マスター認証デバイス１００は、認証デバイス２００ａとの間で相互認証処理を実行する際に、システム鍵ＫＳを使用し得る。
【００７４】
認証デバイス２００ａは、上記ステップＳ１０４でマスター認証デバイス１００との間の相互認証処理を実行すると、全ての認証秘密鍵ＩＤとバージョン情報をマスター認証デバイス１００に送信する（ステップＳ１０５）。例えば認証デバイス２００ａは、認証秘密鍵ＩＤ＝Ｋｅｙ１，・・・，Ｋｅｙ６の各バージョン情報をマスター認証デバイス１００へ送る。認証秘密鍵ＩＤ＝Ｋｅｙ１のバージョン情報がｖ１の場合、認証デバイス２００ａは、＜Ｋｅｙ１，ｖ１＞という情報をマスター認証デバイス１００に送信する。
【００７５】
マスター認証デバイス１００は、認証デバイス２００ａから全ての認証秘密鍵ＩＤとバージョン情報を受信すると、上記ステップＳ１０２で生成した鍵更新リストＬｉ，Ｍを参照し、鍵更新の対象となる、すなわちバージョン情報が古い認証秘密鍵ＩＤを選択する（ステップＳ１０６）。この場合、認証デバイス２００ａから送られた認証秘密鍵ＩＤがＫｅｙ１のバージョン情報はｖ１であるが、マスター認証デバイス１００が保持する、認証秘密鍵ＩＤがＫｅｙ１のバージョン情報はｖ２である。従ってマスター認証デバイス１００は、バージョン情報が古い認証秘密鍵ＩＤとしてＫｅｙ１を選択する。
【００７６】
続いてマスター認証デバイス１００は、選択した認証秘密鍵ＩＤに対応した鍵更新リストに基づき、認証デバイス２００ａ用の鍵更新リストを生成する。具体的には、マスター認証デバイス１００は、鍵更新リスト内の鍵更新が未完了のデバイスＩＤと、デバイス接続リスト内で認証デバイス２００ａが送信することができるデバイスＩＤとを比較し、重複するデバイスＩＤを選択する。
【００７７】
例えば、鍵更新リストＬ１，Ｍ＝＜Ｋｅｙ１：ｖ２：Ａ，Ｂ，Ｃ＞内の鍵更新が未完了の認証デバイスのデバイスＩＤはＡ，Ｂ，Ｃであり、図６に示したデバイス接続リストにより、デバイスＩＤがＡである認証デバイス２００ａが接続できる認証デバイスは、認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅである。従ってマスター認証デバイス１００は、鍵更新が未完了の認証デバイスと、認証デバイス２００ａが接続できる認証デバイスとの両者で重複するデバイスＩＤ＝Ａ，Ｂ，Ｃを選択する。
【００７８】
続いてマスター認証デバイス１００は、重複するデバイスＩＤに基づいて鍵更新リストＬｉ，Ｘを生成する。この鍵更新リストにおける、鍵更新が未完了のデバイスＩＤは、上記の重複するデバイスＩＤである。そしてマスター認証デバイス１００は、鍵更新リストの鍵更新未完了デバイスの暗号鍵またはシステム鍵及び更新前の認証秘密鍵で暗号化された認証秘密鍵と、鍵更新リストＬｉ，Ｘと、を認証デバイス２００ａに送信する（ステップＳ１０７）。なお、既に全ての認証秘密鍵が更新されている場合は、マスター認証デバイス１００は空情報を送信する。
【００７９】
例えば、マスター認証デバイス１００は、暗号化された認証秘密鍵Ｅｎｃ（ＫＡ，Ｋ１’）、Ｅｎｃ（ＫＢ，Ｋ１’）、Ｅｎｃ（ＫＣ，Ｋ１’）またはＥｎｃ（Ｋ１＋ＫＳ，Ｋ１’）と、鍵更新リストＬ１，Ａ＝＜Ｋｅｙ１：ｖ２：Ａ，Ｂ，Ｃ＞を、認証デバイス２００ａに送信する。
【００８０】
認証デバイス２００ａは、マスター認証デバイス１００から暗号化された認証秘密鍵及び鍵更新リストＬ１，Ａを受信すると、送信された鍵更新リストＬ１，Ａ内に自身のデバイスＩＤが存在するかどうかを確認する。自身のデバイスＩＤが存在する場合は、認証デバイス２００ａは、保持するデバイス秘密鍵またはシステム鍵及び更新前の認証秘密鍵に基づき、認証秘密鍵を復号する（ステップＳ１０８）。認証デバイス２００ａは、マスター認証デバイス１００から送信された、残りの暗号化された認証秘密鍵Ｅｎｃ（ＫＢ，Ｋ１’）、Ｅｎｃ（ＫＣ，Ｋ１’）またはＥｎｃ（Ｋ１＋ＫＳ，Ｋ１’）を保存する。
【００８１】
マスター認証デバイス１００は、鍵更新リストＬｉ，Ｍについて、鍵更新未完了デバイスＩＤから、送信した認証デバイス２００のデバイスＩＤ（Ｘ）を消去することで鍵更新リストＬｉ，Ｍを更新する（ステップＳ１０９）。すなわち、マスター認証デバイス１００は、鍵更新リストをＬ１，Ｍ＝＜Ｋｅｙ１：ｖ２：Ｂ，Ｃ＞と更新する。
【００８２】
また認証デバイス２００ａも、鍵更新リストＬｉ，Ｘの中で、鍵更新未完了デバイスＩＤから、自身のデバイスＩＤ（Ｘ）を削除することで更新する。すなわち、認証デバイス２００ａは鍵更新リストをＬ１，Ａ＝＜Ｋｅｙ１：ｖ２：Ｂ，Ｃ＞と更新する（ステップＳ１１０）。
【００８３】
マスター認証デバイス１００は、上述したような動作を実行することで、認証デバイス２００ａが未更新の認証秘密鍵を送信することが出来る。また認証デバイス２００ａは、上述したような動作を実行することで、未更新の認証秘密鍵をマスター認証デバイス１００から受信することができる。
【００８４】
なお、上述の例では、認証秘密鍵ＩＤ＝ＫＥＹ１の認証秘密鍵が、認証秘密鍵の管理者等によってＫ１からＫ１’に更新された場合を説明したが、認証秘密鍵が別の認証秘密鍵ＩＤを有する認証秘密鍵に置換される場合も、マスター認証デバイス１００及び認証デバイス２００ａは、同様の処理によって認証秘密鍵の置換を可能とする。
【００８５】
図１１は、本開示の一実施形態にかかる情報処理システム１の動作例をシーケンス図で示す説明図である。図１１に示したのは、認証秘密鍵ＩＤ＝ＫＥＹｉの認証秘密鍵がＫｉからＫｉ’に更新された場合、更新された認証秘密鍵を認証デバイス２００ａから認証デバイス２００ｄへ送信する際の動作例である。以下、図１１を用いて本開示の一実施形態にかかる情報処理システム１の動作例について説明する。なお、図１１に示した各処理は、図１０に示したシーケンス図の処理が完了したこと、すなわち、認証デバイス２００ａの認証秘密鍵ＩＤ＝ＫＥＹ１の認証秘密鍵がＫ１からＫ１’に更新されたことを前提に実行されるものとする。
【００８６】
まず認証デバイス２００ａ及び認証デバイス２００ｄは、互いに通信が出来るように待機状態にする（ステップＳ１２１）。例えば、ＵＳＢの場合はデバイス同士を接続することによって、Ｂｌｕｅｔｏｏｔｈ（登録商標）やアクティブ方式のＮＦＣの場合は一方のデバイスを探索可能状態にし、他方のデバイスを探索状態にすることによって、パッシブ方式のＮＦＣの場合は一方のデバイスを探索状態にすることにより待機状態にする。その後、一方の認証デバイスは、優先的に送信する認証デバイスを決定する。
【００８７】
上記ステップＳ１２１で認証デバイス２００ａ及び認証デバイス２００ｄが待機状態になると、続いて、認証デバイス２００ａ及び認証デバイス２００ｄは、相互認証処理を実行する（ステップＳ１２２）。認証デバイス２００ａ及び認証デバイス２００ｄは、システム鍵ＫＳを用いて相互認証処理を実行し得る。
【００８８】
認証デバイス２００ａは、上記ステップＳ１２２で認証デバイス２００ｄとの間の相互認証処理を実行すると、全ての認証秘密鍵ＩＤとバージョン情報を認証デバイス２００ｄに送信する（ステップＳ１２３）。例えば認証デバイス２００ａは、認証秘密鍵ＩＤ＝Ｋｅｙ１，・・・，Ｋｅｙ６の各バージョンを認証デバイス２００ｄに送る。図１０に示したシーケンス図における処理で、認証デバイス２００ａの認証秘密鍵ＩＤがＫｅｙ１の認証秘密鍵がバージョンｖ２に更新されている。従って、バージョン情報の１つとして、認証デバイス２００ａは例えば＜Ｋｅｙ１：ｖ２＞を認証デバイス２００ｄに送信する。
【００８９】
認証デバイス２００ｄは、認証デバイス２００ａから認証秘密鍵ＩＤ及びバージョン情報を受信し、認証秘密鍵のバージョンを自装置で保存されているものと比較する。そして認証デバイス２００ｄは、古い鍵バージョンを有するリストを選択する。具体的には、認証デバイス２００ｄは、認証デバイス２００ａから＜Ｋｅｙ１：ｖ２＞という情報を受信すると、自装置の認証秘密鍵ＩＤがＫｅｙ１のバージョンと比較する。
【００９０】
認証デバイス２００ｄは、古い鍵バージョンを有するリストを選択すると、古い鍵バージョンの認証秘密鍵ＩＤ及び更新されたバージョン情報を送信する（ステップＳ１２４）。具体的には、認証デバイス２００ｄは、認証デバイス２００ａへ向けて＜Ｋｅｙ１：ｖ２＞という情報を送信する。
【００９１】
認証デバイス２００ｄから認証秘密鍵ＩＤ及びその認証秘密鍵のバージョン情報を受信すると、認証デバイス２００ａは、認証デバイス２００ａが持つ、その認証秘密鍵ＩＤに関する鍵更新リスト内の鍵更新未完了デバイスＩＤと、デバイス接続リスト内で認証デバイス２００ｄが送信可能なデバイスＩＤと比較する。認証デバイス２００ａは、両者で重複するデバイスＩＤを抽出する。そして認証デバイス２００ａは、認証デバイス２００ａから認証デバイス２００ｄに送信する鍵更新リストＬｉ，Ｄを新たに生成する。鍵更新リストＬｉ，Ｄでは、鍵バージョンは新しいバージョンにし、鍵更新未完了デバイスは上記の重複するデバイスＩＤとする。
【００９２】
また認証デバイス２００ａは、暗号化された認証秘密鍵の中で、上記重複するデバイスＩＤの秘密鍵で暗号化されたものを選択し、鍵更新リストｉ，Ｄとともに認証デバイス２００ｄへ送信する。重複するデバイスＩＤが１つでも存在する場合は、認証デバイス２００ａは、暗号化されている更新後の認証秘密鍵を鍵更新リストｉ，Ｄとともに送信する。重複するデバイスＩＤが無ければ、認証デバイス２００ａは、デバイスＩＤの部分は空のままのリストのみを認証デバイス２００ｄへ送信する。
【００９３】
具体的には、認証デバイス２００ａは、認証秘密鍵ＩＤがＫｅｙ１のものについて、Ｌ１，Ａの鍵更新未完了デバイスはＢ，Ｃである。認証デバイス２００ｄの送信可能な認証デバイスのデバイスＩＤはＡ，Ｂ，Ｃ，Ｄ，Ｅなので、両者が重複するデバイスＩＤはＢ，Ｃとなる。従って認証デバイス２００ａは、鍵更新リストＬ１，Ｄ＝＜Ｋｅｙ１：ｖ２：Ｂ，Ｃ＞と、暗号化された認証秘密鍵Ｅｎｃ（ＫＢ，Ｋ１’），Ｅｎｃ（ＫＣ，Ｋ１’）、または暗号化された認証秘密鍵Ｅｎｃ（Ｋ１＋ＫＳ，Ｋ１’）を認証デバイス２００ｄに送信する。
【００９４】
認証デバイス２００ｄは、認証デバイス２００ａから送られた鍵更新リストＬ１，Ｄ内に自分のデバイスＩＤがある場合、自身が保持するデバイス秘密鍵ＫＤまたはシステム鍵ＫＳ及び更新前の認証秘密鍵Ｋ１を基に、更新後の認証秘密鍵を復号する。なお、ここでは認証デバイス２００ａから送られた鍵更新リストＬ１，Ｄ内に認証デバイス２００ｄのデバイスＩＤ（Ｄ）は含まれないため、認証デバイス２００ｄは復号処理を実行しない。
【００９５】
認証デバイス２００ｄは、鍵更新リストＬ１，Ｄの中の鍵更新未完了デバイスＩＤから、自身のデバイスＩＤ（Ｄ）を削除することで、鍵更新リストＬ１，Ｄを更新する。なおこの例では認証デバイス２００ａから送られた鍵更新リストＬ１，Ｄ内に認証デバイス２００ｄのデバイスＩＤ（Ｄ）は含まれないため、認証デバイス２００ｄは鍵更新リストＬ１，Ｄの更新は行わない。また認証デバイス２００ｄは、鍵更新未完了デバイスのデバイス秘密鍵、またはシステム鍵と更新前の認証秘密鍵で暗号化された認証秘密鍵を保存する。具体的には認証デバイス２００ｄは、認証秘密鍵Ｅｎｃ（ＫＢ，Ｋ１’），Ｅｎｃ（ＫＣ，Ｋ１’）、または認証秘密鍵Ｅｎｃ（Ｋ１＋ＫＳ，Ｋ１’）を保存する。
【００９６】
認証デバイス２００ａと認証デバイス２００ｄは、相互に認証秘密鍵の送受信が可能である。従って、認証デバイス２００ｄが鍵更新リストＬ１，Ｄを更新すると、続いて認証デバイス２００ｄは、認証デバイス２００ａへの認証秘密鍵の送信処理を実行する。以降の処理は上記ステップＳ１２４からＳ１２７までの処理と同様の処理が、送信側と受信側とを逆にして、認証デバイス２００ａと認証デバイス２００ｄとで実行される。
【００９７】
認証デバイス２００ａ及び認証デバイス２００ｄは、上述したような動作を実行することで、未更新の認証秘密鍵をお互いに伝搬させることができる。
【００９８】
図１０及び図１１は、更新された認証秘密鍵をマスター認証デバイス１００から認証デバイス２００へ、また認証デバイス２００同士で伝搬させる際の処理を示したものであるが、新たに追加された認証秘密鍵をマスター認証デバイス１００から認証デバイス２００へ、また認証デバイス２００同士で伝搬させる際も同様の処理が実行され得る。
【００９９】
例えば、認証秘密鍵ＩＤがＫｅｙ６の認証秘密鍵Ｋ６を、図３に示したようにデバイスＩＤがＡ、Ｅの認証デバイス２００、すなわち認証デバイス２００ａ、２００ｅに追加する場合を考える。以下の説明では、図１０及び図１１に示したシーケンス図を参照しながら、追加された認証秘密鍵を伝搬させる処理を示す。
【０１００】
まずマスター認証デバイス１００は、追加された認証秘密鍵Ｋ６を、例えばＰＣ１０などから取得する（ステップＳ１０１）。マスター認証デバイス１００は、追加された認証秘密鍵をステップＳ１０１で取得すると、続いて、この認証秘密鍵を認証デバイス２００に追加するために、鍵追加リストＬ６，Ｍを生成する（ステップＳ１０２）。鍵追加リストＬ６，Ｍは、Ｌ６，Ｍ＝＜Ｋｅｙ６：ｖ１：Ａ，Ｅ＞となる。
【０１０１】
続いてマスター認証デバイス１００は、上記ステップＳ１０２で鍵追加リストを生成すると、続いて、ステップＳ１０１で取得した、追加された認証秘密鍵Ｋ６を暗号化する（ステップＳ１０３）。この暗号化は、例えば暗号機能部１１０が実行し得る。マスター認証デバイス１００は、認証秘密鍵を、鍵追加リストＬ６，Ｍ内の鍵の追加が未完了デバイスＩＤに含まれた認証デバイス２００の鍵で暗号化する。すなわちマスター認証デバイス１００は、追加された認証秘密鍵Ｋ６を，Ｅｎｃ（ＫＡ，Ｋ６）、Ｅｎｃ（ＫＥ，Ｋ６）のように暗号化する。
【０１０２】
マスター認証デバイス１００は、追加された認証秘密鍵Ｋ６を上記ステップＳ１０３で暗号化すると、認証秘密鍵を送信する認証デバイス２００ａとの間で相互認証処理を実行する（ステップＳ１０４）。マスター認証デバイス１００は、認証デバイス２００ａとの間で相互認証処理を実行する際には、システム鍵ＫＳを使用する。
【０１０３】
認証デバイス２００ａは、上記ステップＳ１０４でマスター認証デバイス１００との間の相互認証処理を実行すると、全ての認証秘密鍵ＩＤとバージョン情報をマスター認証デバイス１００に送信する（ステップＳ１０５）。マスター認証デバイス１００は、認証デバイス２００ａから全ての認証秘密鍵ＩＤとバージョン情報を受信すると、鍵追加リストＬ６，Ｍを参照し、認証デバイス２００ａが持たない認証秘密鍵ＩＤがＫｅｙ６の認証秘密鍵Ｋ６を選択する（ステップＳ１０６）。
【０１０４】
続いてマスター認証デバイス１００は、選択した認証秘密鍵ＩＤに対応した鍵更新リストに基づき、認証デバイス２００ａ用の鍵追加リストを生成する。認証秘密鍵リストＬ６，Ｍ＝＜Ｋｅｙ６：ｖ１：Ａ，Ｅ＞内の鍵追加が未完了のデバイスＩＤはＡ，Ｅであり、図６に示したデバイス接続リストにより、デバイスＩＤがＡである認証デバイス２００ａが接続できる認証デバイスは、認証デバイス２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅである。従ってマスター認証デバイス１００は、両者で重複するデバイスＩＤ＝Ａ，Ｅを選択する。
【０１０５】
続いてマスター認証デバイス１００は、重複するデバイスＩＤに基づいて鍵追加リストＬ６，Ａを生成する。この鍵更新リストにおける、鍵追加が未完了のデバイスＩＤは、上記の重複するデバイスＩＤである。そしてマスター認証デバイス１００は、鍵追加リストの鍵追加未完了デバイスの暗号鍵で暗号化された追加される認証秘密鍵Ｋ６と、鍵追加リストＬ６，Ａと、を認証デバイス２００ａに送信する（ステップＳ１０７）。
【０１０６】
例えば、マスター認証デバイス１００は、暗号化された認証秘密鍵Ｅｎｃ（ＫＡ，Ｋ６）、Ｅｎｃ（ＫＥ，Ｋ６）と、鍵更新リストＬ６，Ａ＝＜Ｋｅｙ６：ｖ１：Ａ，Ｅ＞を、認証デバイス２００ａに送信する。
【０１０７】
認証デバイス２００ａは、マスター認証デバイス１００から暗号化された認証秘密鍵Ｋ６及び鍵追加リストＬ６，Ａを受信すると、送信された鍵追加リストＬ６，Ａ内に自身のデバイスＩＤが存在するかどうかを確認する。自身のデバイスＩＤが存在する場合は、認証デバイス２００ａは、保持するデバイス秘密鍵に基づき、認証秘密鍵Ｋ６を復号する（ステップＳ１０８）。認証デバイス２００ａは、マスター認証デバイス１００から送信された、残りの暗号化された認証秘密鍵Ｅｎｃ（ＫＥ，Ｋ６）を保存する。
【０１０８】
マスター認証デバイス１００は、鍵追加リストＬ６，Ｍについて、鍵追加未完了デバイスＩＤから、送信した認証デバイス２００のデバイスＩＤ（Ａ）を消去することで鍵更新リストＬ６，Ｍを更新する（ステップＳ１０９）。すなわち、マスター認証デバイス１００は、鍵更新リストをＬ６，Ｍ＝＜Ｋｅｙ６：ｖ１：Ｅ＞と更新する。
【０１０９】
また認証デバイス２００ａも、鍵追加リストＬ６，Ｍの中で、鍵追加未完了デバイスＩＤから、自身のデバイスＩＤ（Ａ）を削除することで更新する。すなわち、認証デバイス２００ａは鍵追加リストＬ６，Ｍ＝＜Ｋｅｙ６：ｖ１：Ｅ＞と更新する（ステップＳ１１０）。
【０１１０】
マスター認証デバイス１００は、上述したような動作を実行することで、認証デバイス２００ａが未追加の認証秘密鍵を送信することが出来る。また認証デバイス２００ａは、上述したような動作を実行することで、未追加の認証秘密鍵をマスター認証デバイス１００から受信することができる。
【０１１１】
続いて、新たに追加された認証秘密鍵Ｋ６を認証デバイス２００同士で伝搬させる際の動作を説明する。なお、以下の説明では、図１１の認証デバイス２００ｄを認証デバイス２００ｅに置き換えるものとする。
【０１１２】
まず認証デバイス２００ａ及び認証デバイス２００ｅは、互いに通信が出来るように待機状態にする（ステップＳ１２１）。続いて、認証デバイス２００ａ及び認証デバイス２００ｅは、相互認証処理を実行する（ステップＳ１２２）。認証デバイス２００ａ及び認証デバイス２００ｅは、システム鍵ＫＳを用いて相互認証処理を実行する。
【０１１３】
認証デバイス２００ａは、上記ステップＳ１２２で認証デバイス２００ｅとの間の相互認証処理を実行すると、全ての認証秘密鍵ＩＤとバージョン情報を認証デバイス２００ｄに送信する（ステップＳ１２３）。例えば認証デバイス２００ａは、認証秘密鍵ＩＤ＝Ｋｅｙ１，・・・，Ｋｅｙ６の各バージョンを認証デバイス２００ｅに送る。バージョン情報の１つとして、認証デバイス２００ａは例えば＜Ｋｅｙ６：ｖ１＞を認証デバイス２００ｅに送信する。
【０１１４】
認証デバイス２００ｅは、認証デバイス２００ａから認証秘密鍵ＩＤ及びバージョン情報を受信し、認証秘密鍵のバージョンを自装置で保存されているものと比較する。そして認証デバイス２００ｅは、保持していない認証秘密鍵を有するリストを選択する。具体的には、認証デバイス２００ｅは、認証デバイス２００ａから＜Ｋｅｙ６：ｖ１＞という情報を受信すると、Ｋｅｙ６は自装置で保存されていないことを把握することができる。
【０１１５】
認証デバイス２００ｅは、保持していない認証秘密鍵を有するリストを選択すると、保持していない認証秘密鍵の認証秘密鍵ＩＤを送信する（ステップＳ１２４）。具体的には、認証デバイス２００ｅは、認証デバイス２００ａへ向けて＜Ｋｅｙ６＞という情報を送信する。
【０１１６】
認証デバイス２００ｅから未追加の認証秘密鍵ＩＤを受信すると、認証デバイス２００ａは、認証デバイス２００ａが持つ、その認証秘密鍵ＩＤに関する鍵追加リスト内の鍵追加未完了デバイスＩＤと、デバイス接続リスト内で認証デバイス２００ｅが送信可能なデバイスＩＤと比較する。認証デバイス２００ａは、両者で重複するデバイスＩＤを抽出する。そして認証デバイス２００ａは、認証デバイス２００ａから認証デバイス２００ｄに送信する鍵更新リストＬ６，Ｅを新たに生成する。鍵追加リストＬ６，Ｅでは、鍵バージョンは「ｖ１」にし、鍵追加未完了デバイスは上記の重複するデバイスＩＤとする。
【０１１７】
また認証デバイス２００ａは、暗号化された認証秘密鍵の中で、上記重複するデバイスＩＤの秘密鍵で暗号化されたものを選択し、鍵更新リスト６，Ｅとともに認証デバイス２００ｅへ送信する。重複するデバイスＩＤが１つでも存在する場合は、認証デバイス２００ａは、暗号化されている、新たに追加する認証秘密鍵を鍵更新リスト６，Ｅとともに送信する。重複するデバイスＩＤが無ければ、認証デバイス２００ａは、デバイスＩＤの部分は空のままのリストのみを認証デバイス２００ｅへ送信する。
【０１１８】
具体的には、認証デバイス２００ａは、認証秘密鍵ＩＤがＫｅｙ６のものについて、Ｌ６，Ａの鍵更新未完了デバイスはＥである。認証デバイス２００ｅの送信可能な認証デバイスのデバイスＩＤはＡ，Ｂ，Ｃ，Ｄ，Ｅなので、両者が重複するデバイスＩＤはＥとなる。従って認証デバイス２００ａは、鍵追加リストＬ６，Ｅ＝＜Ｋｅｙ６：ｖ１：Ｅ＞と、暗号化された認証秘密鍵Ｅｎｃ（ＫＥ，Ｋ６）を認証デバイス２００ｅに送信する。
【０１１９】
認証デバイス２００ｅは、認証デバイス２００ａから送られた鍵追加リストＬ６，Ｅ内に自分のデバイスＩＤ（Ｅ）がある場合、自身が保持するデバイス秘密鍵ＫＥを基に、追加される認証秘密鍵Ｋ６を復号する。
【０１２０】
認証デバイス２００ｅは、鍵追加リストＬ６，Ｅの中で，鍵更新未完了デバイスＩＤから、自身のデバイスＩＤ（Ｅ）を削除することで更新する。また認証デバイス２００ｅは、鍵追加未完了デバイスのデバイス秘密鍵で暗号化された認証秘密鍵を保存するが、この例では残りの暗号化された認証秘密鍵は存在しないので、認証デバイス２００ｅは、残りの暗号化された認証秘密鍵の保存は行わない。
【０１２１】
認証デバイス２００ａと認証デバイス２００ｅは、相互に認証秘密鍵の送受信が可能ではない。従って、認証デバイス２００ｅが鍵追加リストＬ６，Ｅを更新すると、一連の処理は終了される。
【０１２２】
認証デバイス２００ａ及び認証デバイス２００ｅは、上述したような動作を実行することで、未追加の認証秘密鍵を認証デバイス２００ａから認証デバイス２００ｅへ伝搬させることができる。
【０１２３】
以上説明したように、本開示の一実施形態に係る情報処理システム１は、更新や追加がなされた認証秘密鍵を、マスター認証デバイス１００から認証デバイス２００へ、また認証デバイス２００同士で伝搬させることが出来る。しかし、認証デバイス２００の数が膨大になると、認証デバイス２００への認証秘密鍵の追加や更新に漏れが発生する場合がある。そこで本開示の一実施形態に係る情報処理システム１は、鍵追加・更新リストを伝搬させてマスター認証デバイス１００に集めることで、認証秘密鍵の追加や更新がされていない認証デバイス２００を容易に発見できるようにすることを特徴としている。
【０１２４】
図１２は、本開示の一実施形態に係る情報処理システム１の動作例をシーケンス図で示す説明図である。図１２に示したのは、認証デバイス２００ａから認証デバイス２００ｄへ鍵追加・更新リストを伝搬させる際の動作例である。
【０１２５】
まず認証デバイス２００ａ及び認証デバイス２００ｄは、互いに通信が出来るように待機状態にする（ステップＳ１３１）。続いて、認証デバイス２００ａ及び認証デバイス２００ｄは、相互認証処理を実行する（ステップＳ１３２）。認証デバイス２００ａ及び認証デバイス２００ｄは、システム鍵ＫＳを用いて相互認証処理を実行する。
【０１２６】
認証デバイス２００ａは、上記ステップＳ１３２で認証デバイス２００ｄとの間の相互認証処理を実行すると、自身が保持する全ての鍵追加・更新リスト（例えば、鍵追加・更新リストＬ１，Ａ＝＜Ｋｅｙ１：ｖ２：Ｃ＞，・・・，Ｌ６，Ａ＝＜Ｋｅｙ６：ｖ１：Ｅ＞）を認証デバイス２００ｄに送信する（ステップＳ１３３）。
【０１２７】
認証デバイス２００ｄは、認証デバイス２００ａから全ての鍵追加・更新リストを受信すると、自装置で未更新、または未追加の認証秘密鍵があれば、図１１に示したシーケンス図に従い、認証秘密鍵を更新、または追加する。また認証デバイス２００ｄは、認証デバイス２００ａから全ての鍵追加・更新リストを受信すると、自装置で未更新、または未追加の認証秘密鍵が無ければ、鍵追加・更新未完了デバイスＩＤと、認証デバイス２００ｄが送信可能な認証デバイスのデバイスＩＤと、を比較し、追加・更新が未完了のデバイスＩＤから抜けているデバイスＩＤを探す。このデバイスＩＤが、追加・更新が不要な認証デバイス２００のデバイスＩＤである。
【０１２８】
そして認証デバイス２００ｄは、追加・更新が未完了のデバイスＩＤから抜けているデバイスＩＤと、自装置の全ての鍵追加・更新リストを比較し、追加・更新の必要がないデバイスＩＤが存在していれば、そのデバイスＩＤは鍵追加・更新リストから削除するとともに、対応する暗号化された認証秘密鍵も削除する（ステップＳ１３４）。なお認証デバイス２００ｄは、暗号化された認証秘密鍵を削除する際には、追加・更新が未完了のデバイスＩＤのデバイス秘密鍵で暗号化された認証秘密鍵を削除する場合と、システム鍵及び更新前の認証秘密鍵で暗号化された認証秘密鍵を削除する場合の２通りが考えられる。後者の場合は、未完了デバイスＩＤが全て無くなった場合に初めて削除されることになる。
【０１２９】
また認証デバイス２００ｄは、自装置の全ての鍵追加・更新リストにおける鍵追加・更新が未完了のデバイスＩＤと、認証デバイス２００ｄが送信可能な認証デバイス２００のデバイスＩＤとを比較し、鍵追加・更新が未完了のデバイスＩＤから抜けているデバイスＩＤを探す。このデバイスＩＤと認証デバイス２００ａが送信した鍵追加・更新リストとを比較し、認証デバイス２００ａが送信した鍵追加・更新リストに追加・更新が不要なデバイスＩＤが存在していれば、認証デバイス２００ｄは認証デバイス２００ａへその旨を送信する（ステップＳ１３５）。
【０１３０】
認証デバイス２００ａは、認証デバイス２００ａが送信した鍵追加・更新リストに追加・更新が不要なデバイスＩＤが存在している旨を認証デバイス２００ｄから受信すると、そのデバイスＩＤは鍵追加・更新リストから削除するとともに、対応する暗号化された認証秘密鍵も削除する（ステップＳ１３６）。なお認証デバイス２００ａは、暗号化された認証秘密鍵を削除する際には、追加・更新が未完了のデバイスＩＤのデバイス秘密鍵で暗号化された認証秘密鍵を削除する場合と、システム鍵及び更新前の認証秘密鍵で暗号化された認証秘密鍵を削除する場合の２通りが考えられる。後者の場合は、未完了デバイスＩＤが全て無くなった場合に初めて削除されることになる。
【０１３１】
認証デバイス２００ａ及び認証デバイス２００ｄは、上述したような動作を実行することで、認証デバイス２００ａから認証デバイス２００ｄへ鍵追加・更新リストを伝搬させることができる。
【０１３２】
続いて、認証デバイス２００からマスター認証デバイス１００へ鍵追加・更新リストを伝搬させる方法について説明する。図１３は、本開示の一実施形態に係る情報処理システム１の動作例をシーケンス図で示す説明図である。図１３に示したのは、認証デバイス２００ａからマスター認証デバイス１００へ鍵追加・更新リストを伝搬させる際の動作例である。
【０１３３】
まずマスター認証デバイス１００及び認証デバイス２００ａは、相互認証処理を実行する（ステップＳ１４１）。マスター認証デバイス１００及び認証デバイス２００ａは、システム鍵ＫＳを用いて相互認証処理を実行する。
【０１３４】
認証デバイス２００ａは、上記ステップＳ１４１でマスター認証デバイス１００との間の相互認証処理を実行すると、自身が保持する全ての鍵追加・更新リスト（例えば、鍵追加・更新リストＬ１，Ａ＝＜Ｋｅｙ１：ｖ２：Ｃ＞，・・・，Ｌ６，Ａ＝＜Ｋｅｙ６：ｖ１：Ｅ＞）をマスター認証デバイス１００に送信する（ステップＳ１４２）。
【０１３５】
マスター認証デバイス１００は、認証デバイス２００ａから全ての鍵追加・更新リストを受信すると、鍵追加・更新未完了デバイスＩＤと、認証デバイス２００ａが送信可能な認証デバイスのデバイスＩＤとを比較し、追加・更新が未完了のデバイスＩＤから抜けているデバイスＩＤを探す。このデバイスＩＤが、追加・更新が不要な認証デバイス２００のデバイスＩＤである。
【０１３６】
そしてマスター認証デバイス１００は、追加・更新が未完了のデバイスＩＤから抜けているデバイスＩＤと、自装置の全ての鍵追加・更新リストを比較し、追加・更新の必要がないデバイスＩＤが存在していれば、そのデバイスＩＤは鍵追加・更新リストから削除するとともに、対応する暗号化された認証秘密鍵も削除する（ステップＳ１４３）。なおマスター認証デバイス１００は、暗号化された認証秘密鍵を削除する際には、追加・更新が未完了のデバイスＩＤのデバイス秘密鍵で暗号化された認証秘密鍵を削除する場合と、システム鍵及び更新前の認証秘密鍵で暗号化された認証秘密鍵を削除する場合の２通りが考えられる。後者の場合は、未完了デバイスＩＤが全て無くなった場合に初めて削除されることになる。
【０１３７】
またマスター認証デバイス１００は、全ての認証秘密鍵について、追加・更新が未完了の認証デバイス２００が存在していれば、その認証デバイス２００の情報を通知部１５０から通知する（ステップＳ１４４）。認証秘密鍵の追加・更新が未完了の認証デバイス２００の通知は、メールの送信やＷｅｂアプリケーションその他のディスプレイ上のメッセージ表示、スピーカを通じた音声の出力、ＬＥＤインジケータの発光等で行われ得る。
【０１３８】
そしてマスター認証デバイス１００は、認証デバイス２００ａが送信した鍵追加・更新リストに、追加・更新が不要なデバイスＩＤが存在していれば、マスター認証デバイス１００は認証デバイス２００ａへその旨を送信する（ステップＳ１４５）。
【０１３９】
認証デバイス２００ａは、認証デバイス２００ａが送信した鍵追加・更新リストに追加・更新が不要なデバイスＩＤが存在している旨をマスター認証デバイス１００から受信すると、そのデバイスＩＤは鍵追加・更新リストから削除するとともに、対応する暗号化された認証秘密鍵も削除する（ステップＳ１４６）。なお認証デバイス２００ａは、暗号化された認証秘密鍵を削除する際には、追加・更新が未完了のデバイスＩＤのデバイス秘密鍵で暗号化された認証秘密鍵を削除する場合と、システム鍵及び更新前の認証秘密鍵で暗号化された認証秘密鍵を削除する場合の２通りが考えられる。後者の場合は、未完了デバイスＩＤが全て無くなった場合に初めて削除されることになる。
【０１４０】
図１４は、鍵追加・更新リストの伝搬の様子を示す説明図である。図１４に示したのは、認証デバイス２００ｃが認証秘密鍵を更新する必要が有るにもかかわらず、認証デバイス２００ｃがまだ認証秘密鍵を更新していない場合の例である。この場合、マスター認証デバイス１００は、＜Ｋｅｙ１：ｖ２：Ｃ＞という鍵更新リストを認証デバイス２００ａから取得する。そしてマスター認証デバイス１００は、鍵更新リストを参照することで、認証デバイス２００ｃが認証秘密鍵をまだ更新していないことを、情報処理システム１の管理者２に通知することができる。
【０１４１】
マスター認証デバイス１００及び認証デバイス２００ａは、上述したような動作を実行することで、認証デバイス２００ａからマスター認証デバイス１００へ鍵追加・更新リストを伝搬させることができる。またマスター認証デバイス１００は、上述したような動作を実行することで、認証秘密鍵の追加や更新が行われていない認証デバイス２００の存在を容易に検出できるとともに、その認証デバイス２００の存在を通知することができる。
【０１４２】
認証デバイス２００がネットワークへの接続機能を有する場合、そのような機能を有する複数の認証デバイス２００へ同時に認証秘密鍵の追加や更新が行われる場合も考えられる。上述してきた例では、マスター認証デバイス１００から、ある認証デバイス２００ａへ認証秘密鍵を送信する際に、他の認証デバイス２００ｂ、２００ｃ、２００ｄ、２００ｅで使用される認証秘密鍵も併せて送信していた。以下の説明では、複数の認証デバイス２００が同時に認証秘密鍵の追加や更新を行なうことで、認証デバイス２００に伝搬させる認証秘密鍵の数を削減させる方法について説明する。
【０１４３】
図１５は、認証デバイス２００ａのみが最初に認証秘密鍵の更新を行ない、その後他の認証デバイス２００ｂ、２００ｃ、２００ｄ、２００ｅに認証秘密鍵を伝搬させる場合を示している。この場合は、マスター認証デバイス１００から認証デバイス２００ａに、他の認証デバイス２００ｂ、２００ｃ、２００ｄ、２００ｅが使用する認証秘密鍵も送信される。
【０１４４】
図１６は、認証デバイス２００ａ及び認証デバイス２００ｄが最初に認証秘密鍵の更新を行ない、その後他の認証デバイス２００ｂ、２００ｃ、２００ｅに認証秘密鍵を伝搬させる場合を示している。この場合は、マスター認証デバイス１００から認証デバイス２００ａに送られるのは、認証デバイス２００ｂ、２００ｅが使用する認証秘密鍵であり、マスター認証デバイス１００から認証デバイス２００ｄに送られるのは、認証デバイス２００ｂ、２００ｃが使用する認証秘密鍵である。
【０１４５】
このように複数の認証デバイス２００へ同時に認証秘密鍵の追加や更新を行なうことで、認証デバイス２００に持たせる認証秘密鍵の数を減少させることが可能になる。
【０１４６】
マスター認証デバイス１００から複数の認証デバイス２００へ同時に認証秘密鍵の追加や更新を行なう場合の動作例を説明する。ここでは認証秘密鍵ＩＤ＝Ｋｅｙ２の鍵Ｋ２をＫ２’に更新することを考える。マスター認証デバイス１００は、認証秘密鍵の同時更新デバイスとして認証デバイス２００ａ及び認証デバイス２００ｄを選択する。
【０１４７】
マスター認証デバイス１００は、認証デバイス２００ａ及び認証デバイス２００ｄに向けた鍵更新リストを生成する。認証秘密鍵ＩＤ＝Ｋｅｙ２の認証秘密鍵は、更新される認証デバイスのデバイスＩＤはＡ，Ｂ，Ｃ，Ｄ，Ｅであることがわかる．認証デバイス２００ａ及び認証デバイス２００ｄが送信できる認証デバイスは，いずれも全ての認証デバイス２００であることが分かる。従って、同時更新デバイスである認証デバイス２００ａ及び認証デバイス２００ｄの送信先のデバイスＩＤはともにＡ，Ｂ，Ｃ，Ｄ，Ｅとなる。
【０１４８】
続いてマスター認証デバイス１００は、鍵更新リストの鍵更新が未完了のデバイスＩＤを削減する。図１７は、認証デバイス２００ａを除いた場合の送信可能なデバイスの関係を示す説明図である。認証デバイス２００ａに注目すると、認証デバイス２００ａを除いた場合の送信可能なデバイスの関係は、図１７に示したような関係となる。認証デバイス２００ｄから認証デバイス２００ａ、２００ｅには送信できないため、デバイスＩＤ＝｛Ａ，Ｅ｝が到達できない認証デバイス２００ｄから到達できない認証デバイス２００のデバイスＩＤとなる。認証デバイス２００ａを除いた場合の、削減後の鍵更新未完了デバイスＩＤは｛Ｄ，Ｃ｝となる。
【０１４９】
図１８は、認証デバイス２００ｄを除いた場合の送信可能なデバイスの関係を示す説明図である。認証デバイス２００ｄに注目すると、認証デバイス２００ａを除いた場合の送信可能なデバイスの関係は、図１８に示したような関係となる。認証デバイス２００ａから認証デバイス２００ｃ、２００ｄには送信できないため、デバイスＩＤ＝｛Ｃ，Ｄ｝が到達できない認証デバイス２００ｄから到達できない認証デバイス２００のデバイスＩＤとなる。認証デバイス２００ｄを除いた場合の、削減後の鍵更新未完了デバイスＩＤは｛Ｂ，Ｅ｝となる。
【０１５０】
続いてマスター認証デバイス１００は、デバイスＩＤを削減した後の鍵更新未完了のデバイスＩＤに基づいて、同時更新デバイスである認証デバイス２００ａ、２００ｄに送信する暗号化された認証秘密鍵及び鍵更新リストを生成する。
【０１５１】
上記の例の場合、マスター認証デバイス１００は、鍵更新リストＬ２，Ａ＝＜Ｋｅｙ２：ｖ２：Ａ，Ｂ，Ｅ＞及び暗号化された更新後の認証秘密鍵Ｅｎｃ（ＫＡ，Ｋ２’），Ｅｎｃ（ＫＢ，Ｋ２’），Ｅｎｃ（ＫＥ，Ｋ２’）、またはＥｎｃ（ＫＳ＋Ｋ２，Ｋ２’）を認証デバイス２００ａへ送信する。そしてマスター認証デバイス１００は、鍵更新リストＬ２，Ｄ＝＜Ｋｅｙ２：ｖ２：Ｃ，Ｄ＞及び暗号化された更新後の認証秘密鍵Ｅｎｃ（ＫＤ，Ｋ２’），Ｅｎｃ（ＫＣ，Ｋ２’）、またはＥｎｃ（ＫＳ＋Ｋ２，Ｋ２’）を認証デバイス２００ｄへ送信する。
【０１５２】
このようにマスター認証デバイス１００から同時更新デバイスである認証デバイス２００ａ、２００ｄに暗号化された認証秘密鍵を送信することで、認証デバイス２００ａ、２００ｄに持たせる認証秘密鍵の数を減少させることが出来る。認証デバイス２００ａ、２００ｄは、保持すべき認証秘密鍵の数が減ることで、内部メモリ等の記憶媒体の容量を、他の情報の保持のために確保することが出来る。
【０１５３】
以上、本開示の実施形態について説明した。なお上記実施形態において、マスター認証デバイス１００はデバイス秘密鍵や認証秘密鍵を保持していなくても良い。デバイス秘密鍵や認証秘密鍵はＰＣ１０やインターネット上のサーバが保持し、認証デバイス２００に認証秘密鍵を配布する際に、ＰＣ１０やインターネット上のサーバからデバイス秘密鍵や認証秘密鍵を適宜取得するようにしても良い。
【０１５４】
＜２．ハードウェア構成例＞
上記の各アルゴリズムは、例えば、図１９に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、当該各アルゴリズムの処理は、コンピュータプログラムを用いて図１９に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、接触式又は非接触式のＩＣチップ、接触式又は非接触式のＩＣカード、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１５５】
図１９に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１５６】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１５７】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１５８】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１５９】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１６０】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１６１】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１６２】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は接触又は非接触通信用のデバイス等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１６３】
＜３．まとめ＞
以上説明したように本開示の一実施形態によれば、マスター認証デバイス１００は、認証デバイス２００が使用する認証秘密鍵の情報や、認証デバイス２００間の接続に関する情報を用いて、認証デバイス２００に送る認証秘密鍵や、認証デバイス２００間で認証秘密鍵を伝搬させるためのリストを生成する。また認証デバイス２００は、マスター認証デバイス１００から受信したリストを参照して、他の認証デバイス２００へ認証秘密鍵を送信するとともに、当該リストを編集して送信する。
【０１６４】
本開示の一実施形態に係るマスター認証デバイス１００及び認証デバイス２００は、認証処理時に使用される認証秘密鍵に更新や追加が発生した場合に、その更新または追加された認証秘密鍵を、マスター認証デバイス１００から認証デバイス２００に、また認証デバイス２００同士で効率よく伝搬させることが出来る。
【０１６５】
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【０１６６】
また、各装置に内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
【０１６７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１６８】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０１６９】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶する情報記憶部と、
前記情報記憶部に記憶される情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信する通信部と、
を備える、情報処理装置。
（２）
前記通信部は、前記第１の秘密鍵が更新された際に前記第１の秘密鍵を前記情報記憶部に記憶される情報に基づいて前記装置に伝送する、前記（１）に記載の情報処理装置。
（３）
前記通信部は、前記第１の秘密鍵を使用する装置で保持される第２の秘密鍵で暗号化された前記第１の秘密鍵を前記装置に伝送する、前記（２）に記載の情報処理装置。
（４）
前記通信部は、前記情報記憶部に記憶される全ての装置で共通して保持される第２の秘密鍵及び更新前の前記第１の秘密鍵で暗号化された、更新後の前記第１の秘密鍵を前記装置に伝送する、前記（１）〜（３）のいずれかに記載の情報処理装置。
（５）
前記通信部は、前記第１の秘密鍵を新たに使用する装置に、前記情報記憶部に記憶される情報に基づいて、前記第１の秘密鍵を該装置に伝送する、前記（１）〜（４）のいずれかに記載の情報処理装置。
（６）
前記通信部は、新たな前記第１の秘密鍵を使用する装置に、前記情報記憶部に記憶される情報に基づいて、該第１の秘密鍵を前記装置に伝送する、前記（１）〜（５）のいずれかに記載の情報処理装置。
（７）
前記通信部は、前記第１の秘密鍵を別の第１の秘密鍵に置換して使用する装置に前記第１の秘密鍵を前記情報記憶部に記憶される情報に基づいて前記装置に伝送する、前記（１）〜（６）のいずれかに記載の情報処理装置。
（８）
前記通信部が前記第１の秘密鍵を前記装置に伝送すると、前記情報記憶部に記憶される前記保持状態の情報を更新する情報更新部をさらに備える、前記（１）〜（７）のいずれかに記載の情報処理装置。
（９）
前記通信部は、所定のトリガの発生に応じて前記第１の秘密鍵の保持状態の情報を伝送する、前記（１）〜（８）のいずれかに記載の情報処理装置。
（１０）
前記情報記憶部は、前記第１の秘密鍵を保持する装置の情報をさらに記憶し、
前記通信部は、前記情報記憶部に記憶される、前記第１の秘密鍵を保持する装置の情報に基づいて、送信する前記第１の秘密鍵を選択して伝送する、前記（１）〜（９）のいずれかに記載の情報処理装置。
（１１）
前記第１の秘密鍵の保持状態の情報に基づいて最新の前記第１の秘密鍵が保持されていない装置の情報を出力する情報出力部をさらに備える、前記（１）〜（１０）のいずれかに記載の情報処理装置。
（１２）
前記第１の秘密鍵を保持する鍵保持部をさらに備える、前記（１）〜（１１）のいずれかに記載の情報処理装置。
（１３）
前記通信部は、前記情報記憶部に記憶されている前記装置間の接続に関する情報に基づいて、送信先の装置を経由した先の装置で用いられる前記第１の秘密鍵を選択して送信する、前記（１）〜（１２）のいずれかに記載の情報処理装置。
（１４）
前記通信部は、前記情報記憶部に記憶されている前記装置間の接続に関する情報から、前記送信先の装置が存在しない場合に到達出来ない装置で用いられる前記第１の秘密鍵以外の前記第１の秘密鍵を選択して送信する、前記（１３）に記載の情報処理装置。
（１５）
認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶するステップと、
記憶される各前記情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信するステップと、
を含む、情報処理方法。
（１６）
コンピュータに、
認証時に使用される第１の秘密鍵の装置での保持状態の情報及び前記装置間の接続に関する情報を記憶するステップと、
記憶される各前記情報に基づいて前記第１の秘密鍵を前記装置に到達させるよう該第１の秘密鍵を送信するステップと、
を実行させる、コンピュータプログラム。
【符号の説明】
【０１７０】
１００    マスター認証デバイス
２００    認証デバイス
２００ａ、２００ｂ、２００ｃ、２００ｄ、２００ｅ    認証デバイス
【図１】
2015115634.tif 000003
【図２】
2015115634.tif 000004
【図３】
2015115634.tif 000005
【図４】
2015115634.tif 000006
【図５】
2015115634.tif 000007
【図６】
2015115634.tif 000008
【図７】
2015115634.tif 000009
【図８】
2015115634.tif 000010
【図９】
2015115634.tif 000011
【図１０】
2015115634.tif 000012
【図１１】
2015115634.tif 000013
【図１２】
2015115634.tif 000014
【図１３】
2015115634.tif 000015
【図１４】
2015115634.tif 000016
【図１５】
2015115634.tif 000017
【図１６】
2015115634.tif 000018
【図１７】
2015115634.tif 000019
【図１８】
2015115634.tif 000020
【図１９】
2015115634.tif 000021