(57)【要約】【課題】漏えいしたデバイス鍵を特定する。【解決手段】鍵管理装置は、鍵交換処理部と判定部と送信部と更新部とを備える。鍵交換処理部は、認証とともに共有鍵の交換を実行する鍵交換処理を通信装置との間で実行する。判定部は、認証状況に基づいて、鍵交換処理により認証された通信装置が鍵交換処理の実行前に認証済みであるか否かを判定する。送信部は、認証済みでない場合、鍵交換処理により認証された通信装置のデバイス鍵を更新するための更新情報を通信装置に送信し、認証済みである場合、更新情報を送信しない。更新部は、鍵交換処理の実行前に認証済みでない場合、更新情報を用いてデバイス鍵を更新し、認証済みである場合、デバイス鍵を更新しない。【選択図】図２
2014121076.tif 000002
【特許請求の範囲】
【請求項１】
認証済みの通信装置の識別情報を含む認証状況を記憶する認証状況記憶部と、
認証とともに共有鍵の交換を実行する鍵交換処理を、通信装置との間で実行する鍵交換処理部と、
前記認証状況に基づいて、前記鍵交換処理により認証された通信装置が前記鍵交換処理の実行前に認証済みであるか否かを判定する判定部と、
前記鍵交換処理の実行前に認証済みでない場合、前記鍵交換処理により認証された通信装置のデバイス鍵を更新するための更新情報を、前記鍵交換処理により認証された通信装置に送信し、前記鍵交換処理の実行前に認証済みである場合、前記更新情報を送信しない送信部と、
前記鍵交換処理の実行前に認証済みでない場合、前記更新情報を用いて前記デバイス鍵を更新し、前記鍵交換処理の実行前に認証済みである場合、前記デバイス鍵を更新しない更新部と、
を備える鍵管理装置。
【請求項２】
前記通信装置のデバイス鍵を記憶するデバイス鍵記憶部と、
秘密鍵を記憶する秘密鍵記憶部と、をさらに備え、
前記鍵交換処理部は、前記デバイス鍵により前記通信装置を認証する処理、および、前記秘密鍵により前記鍵管理装置を認証させる処理を含む前記鍵交換処理を実行する、
請求項１に記載の鍵管理装置。
【請求項３】
前記デバイス鍵記憶部は、複数の通信装置それぞれに対応する複数のデバイス鍵を記憶し、
前記鍵交換処理部は、前記デバイス鍵記憶部に記憶されている複数の前記デバイス鍵により前記通信装置を認証する処理、および、前記秘密鍵により前記鍵管理装置を認証させる処理を含む前記鍵交換処理を実行する、
請求項２に記載の鍵管理装置。
【請求項４】
前記通信装置のデバイス鍵を一方向性関数に入力して得られる出力情報を記憶するデバイス鍵記憶部と、
秘密鍵を記憶する秘密鍵記憶部と、をさらに備え、
前記鍵交換処理部は、前記出力情報により前記通信装置を認証する処理、および、前記秘密鍵により前記鍵管理装置を認証させる処理を含む前記鍵交換処理を実行する、
請求項１に記載の鍵管理装置。
【請求項５】
前記デバイス鍵記憶部は、複数の通信装置それぞれに対応する複数の出力情報を記憶し、
前記鍵交換処理部は、前記デバイス鍵記憶部に記憶されている複数の前記出力情報により前記通信装置を認証する処理、および、前記秘密鍵により前記鍵管理装置を認証させる処理を含む前記鍵交換処理を実行する、
請求項４に記載の鍵管理装置。
【請求項６】
前記通信装置の公開鍵を記憶する公開鍵記憶部と、
秘密鍵を記憶する秘密鍵記憶部と、をさらに備え、
前記鍵交換処理部は、前記公開鍵により前記通信装置を認証する処理、および、前記秘密鍵により前記鍵管理装置を認証させる処理を含む前記鍵交換処理を実行する、
請求項１に記載の鍵管理装置。
【請求項７】
前記鍵交換処理部は、予め定められた期間が経過すると、接続された１以上の通信装置それぞれとの間で前記鍵交換処理を実行する、
請求項１に記載の鍵管理装置。
【請求項８】
前記鍵交換処理部は、外部装置から指定された１以上の通信装置それぞれとの間で前記鍵交換処理を実行する、
請求項１に記載の鍵管理装置。
【請求項９】
前記鍵交換処理部は、複数の通信装置それぞれとの間で前記鍵交換処理を実行し、
前記送信部は、前記鍵交換処理により認証された複数の前記通信装置それぞれの識別情報が前記認証状況記憶部に記憶されていない場合、共通の前記更新情報を、認証された複数の前記通信装置それぞれに送信する、
請求項１に記載の鍵管理装置。
【請求項１０】
前記認証状況は、通信装置が認証された回数を含み、
前記判定部は、前記回数が予め定められた閾値を超えた場合に、前記鍵交換処理により認証された通信装置が前記鍵交換処理の実行前に認証済みであると判定する、
請求項１に記載の鍵管理装置。
【請求項１１】
デバイス鍵を記憶するデバイス鍵記憶部と、
認証とともに共有鍵の交換を実行する鍵交換処理を、鍵管理装置との間で実行する鍵交換処理部と、
前記鍵管理装置から送信される、前記デバイス鍵を更新するための更新情報に基づいて、前記デバイス鍵を更新する更新部と、
を備える通信装置。
【請求項１２】
前記鍵管理装置の認証に用いる公開鍵を記憶する公開鍵記憶部をさらに備え、
前記鍵交換処理部は、前記デバイス鍵により前記通信装置を認証させる処理、および、前記公開鍵により前記鍵管理装置を認証する処理を含む前記鍵交換処理を実行する、
請求項１１に記載の通信装置。
【請求項１３】
前記鍵管理装置の認証に用いる公開鍵を記憶する公開鍵記憶部をさらに備え、
前記鍵交換処理部は、前記デバイス鍵を一方向性関数に入力して得られる出力情報により前記通信装置を認証させる処理、および、前記公開鍵により前記鍵管理装置を認証する処理を含む前記鍵交換処理を実行する、
請求項１１に記載の通信装置。
【請求項１４】
前記鍵管理装置の認証に用いる公開鍵を記憶する公開鍵記憶部と、
秘密鍵を記憶する秘密鍵記憶部と、をさらに備え、
前記鍵交換処理部は、前記秘密鍵により前記通信装置を認証させる処理、および、前記公開鍵により前記鍵管理装置を認証する処理を含む前記鍵交換処理を実行する、
請求項１１に記載の通信装置。
【請求項１５】
コンピュータを、
認証済みの通信装置の識別情報を含む認証状況を記憶する認証状況記憶部と、
認証とともに共有鍵の交換を実行する鍵交換処理を、通信装置との間で実行する鍵交換処理部と、
前記認証状況に基づいて、前記鍵交換処理により認証された通信装置が前記鍵交換処理の実行前に認証済みであるか否かを判定する判定部と、
前記鍵交換処理の実行前に認証済みでない場合、前記鍵交換処理により認証された通信装置のデバイス鍵を更新するための更新情報を、前記鍵交換処理により認証された通信装置に送信し、前記鍵交換処理の実行前に認証済みである場合、前記更新情報を送信しない送信部と、
前記鍵交換処理の実行前に認証済みでない場合、前記更新情報を用いて前記デバイス鍵を更新し、前記鍵交換処理の実行前に認証済みである場合、前記デバイス鍵を更新しない更新部、
として機能させるためのプログラム。
【請求項１６】
コンピュータを、
デバイス鍵を記憶するデバイス鍵記憶部と、
認証とともに共有鍵の交換を実行する鍵交換処理を、鍵管理装置との間で実行する鍵交換処理部と、
前記鍵管理装置から送信される、前記デバイス鍵を更新するための更新情報に基づいて、前記デバイス鍵を更新する更新部、
として機能させるためのプログラム。
【請求項１７】
鍵管理装置と１以上の通信装置とを備える通信システムであって、
前記鍵管理装置は、
認証済みの通信装置の識別情報を含む認証状況を記憶する認証状況記憶部と、
認証とともに共有鍵の交換を実行する鍵交換処理を、通信装置との間で実行する第１鍵交換処理部と、
前記認証状況に基づいて、前記鍵交換処理により認証された通信装置が前記鍵交換処理の実行前に認証済みであるか否かを判定する判定部と、
前記鍵交換処理の実行前に認証済みでない場合、前記鍵交換処理により認証された通信装置のデバイス鍵を更新するための更新情報を、前記鍵交換処理により認証された通信装置に送信し、前記鍵交換処理の実行前に認証済みである場合、前記更新情報を送信しない送信部と、
前記鍵交換処理の実行前に認証済みでない場合、前記更新情報を用いて前記デバイス鍵を更新し、前記鍵交換処理の実行前に認証済みである場合、前記デバイス鍵を更新しない第１更新部と、を備え、
前記通信装置は、
デバイス鍵を記憶するデバイス鍵記憶部と、
前記鍵交換処理を、鍵管理装置との間で実行する第２鍵交換処理部と、
前記鍵管理装置から送信される、前記デバイス鍵を更新するための更新情報に基づいて、前記デバイス鍵を更新する第２更新部と、を備える、
通信システム。
【請求項１８】
前記鍵交換処理は、前記鍵管理装置が公開鍵に対応する秘密鍵を保持していることを前記通信装置に示す認証と、前記通信装置が前記通信装置に予め割り振られたデバイス鍵を保持していること前記鍵管理装置に示す認証と、の両方に成功した場合に前記共有鍵を導出する処理であり、
前記送信部は、前記共有鍵が導出されたときに、前記更新情報を前記共有鍵で暗号化した暗号文を前記通信装置に送信し、
前記第１更新部は、前記鍵管理装置の保持するデバイス鍵を、前記更新情報を用いて更新し、
前記第２更新部は、前記鍵管理装置より受信した前記暗号文を前記共有鍵で復号することで前記更新情報を導出し、導出した前記更新情報で前記デバイス鍵を更新する、
請求項１７に記載の通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、鍵管理装置、通信装置、通信システムおよびプログラムに関する。
【背景技術】
【０００２】
正規の再生機器にのみコンテンツ再生用の鍵を与えることにより、コンテンツを保護する技術が存在する。しかし、コンテンツ再生用の鍵が漏えいすると、不正な機器であってもコンテンツの再生が可能となる。漏えいした鍵による被害を防ぐために、その無効化が必要であった。
【０００３】
漏えいした鍵を無効化する技術として、ＭＫＢ（メディアキーブロック）による著作権保護技術が存在する。この技術を用いれば、漏えいした鍵を用いて不正に複製されたコンテンツ再生機器が存在するとき、この機器が用いているデバイス鍵を特定し、適切にＭＫＢを更新することで、漏えいした鍵を無効化できる。漏えいしたデバイス鍵を特定する典型的な方法は、複製された再生機器を入手し、オフラインにて解析をすることで、その機器で使われているデバイス鍵を特定する方法である。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】“Tracing  traitors”,  Benny  Chor,  Amos  Fiat,  Moni  Naor,  and  Benny  Pinkas,  IEEE  Transactions  of  Information  Theory,  vol.46,  No.3,  pp.893-910,  2000.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、複製された機器が一般には販売されない場合などのように、複製された機器の入手が困難な場合には、漏えいしたデバイス鍵を特定することが困難であった。
【課題を解決するための手段】
【０００６】
実施形態の鍵管理装置は、鍵交換処理部と判定部と送信部と更新部とを備える。鍵交換処理部は、認証とともに共有鍵の交換を実行する鍵交換処理を通信装置との間で実行する。判定部は、認証状況に基づいて、鍵交換処理により認証された通信装置が鍵交換処理の実行前に認証済みであるか否かを判定する。送信部は、認証済みでない場合、鍵交換処理により認証された通信装置のデバイス鍵を更新するための更新情報を通信装置に送信し、認証済みである場合、更新情報を送信しない。更新部は、鍵交換処理の実行前に認証済みでない場合、更新情報を用いてデバイス鍵を更新し、認証済みである場合、デバイス鍵を更新しない。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態にかかる通信システムのブロック図。
【図２】第１の実施形態の鍵管理装置のブロック図。
【図３】第１の実施形態のノードのブロック図。
【図４】第１の実施形態の鍵管理装置による排除処理のフローチャート。
【図５】第１の実施形態のノードによる排除処理のフローチャート。
【図６】第１の実施形態の排除処理のシーケンス図。
【図７】変形例の排除処理のシーケンス図。
【図８】第２の実施形態にかかる通信システムのブロック図。
【図９】第１または第２の実施形態の各装置のハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる鍵管理装置の好適な実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
複製機器が使用するデバイス鍵の特定方法として、複製機器を入手し、その複製機器に各デバイス鍵で作成した暗号文を入力し、正しく復号されるか否かを調べる方法が知られている。しかし、複製機器の入手が困難な場合、そのような特定法は適用できないという問題がある。
【００１０】
そこで、第１の実施形態にかかる通信システムは、鍵管理装置によって、通信装置（以下、ノードという）に対して、デバイス鍵を保持していることを示す認証を行い、認証に合格したノードにはデバイス鍵を更新するための情報（更新情報）を送付する。この認証は、期間Ｔの経過ごと、または、外部装置より信号が入力されたとき、などのタイミングで実行される。さらに、期間Ｔは、常に一定である必要は無く、期間Ｔ１の経過後に認証を行ったとき、次の認証はＴ１とは異なる期間Ｔ２の経過後に行ってもよい。また、グループ１に所属する機器は期間Ｔ１毎に認証を行い、グループ２に所属する機器は期間Ｔ２毎に認証を行うというように、所属するグループに応じて、異なる期間を設定することもできる。このようなグループとして、機器の製造メーカに応じたグループや設置されている地域に応じたグループのように予め定められているものや、システムの状況に応じてシステム管理者が動的に割り振るグループを用いることができる。同じデバイス鍵に基づいた認証が複数回実行され合格した場合、そのデバイス鍵は漏えいしたことが特定できる。また、特定を避けるために正しく認証に応じないノードは、認証に合格できないため、デバイス鍵を更新するための更新情報を入手できず、以降の通信を正しく実行できない。
【００１１】
本実施形態にかかるノードを含む通信システムでは、各ノードは、各ノードに割り振られたデバイス鍵セットを予め記録している。各デバイス鍵セットは、少なくとも１つの各ノード固有の鍵を含むものとする。ノードは、鍵管理装置から認証の要求を受信すると、固有のデバイス鍵を利用して、正しいデバイス鍵を保持していることを示す認証を行う。そして、鍵管理装置よりデバイス鍵更新用の更新情報を受信すると、鍵管理装置との間で予め決められた方法により、デバイス鍵の更新を行う。
【００１２】
以上のように、本実施形態では、漏えい鍵を特定し排除するにあたって、正規の機器と鍵管理装置がネットワークを介して接続されていればよく、従来のように、複製機器を入手する必要がない。
【００１３】
図１は、第１の実施形態にかかる通信システムの構成の一例を示すブロック図である。図１に示すように、本実施形態の通信システムは、複数のノード２００ａ〜２００ｃと、鍵管理装置１００とが、ネットワークで接続された構成となっている。また、鍵管理装置１００が管理するネットワーク内に、漏えいしたデバイス鍵を利用して構成された複製機器である複製ノード３００ａ、３００ｂが混入した状況となっている。
【００１４】
なお、ノード２００ａ〜２００ｃは、同様の構成を備えるため、区別する必要がない場合は単にノード２００という。複製ノード３００ａ、３００ｂも区別する必要がない場合は単に複製ノード３００という。ノード２００の個数は３に限られるものではない。また、複製ノード３００の個数は２に限られるものではない。ネットワークは、インターネットなどのあらゆるネットワーク形態を適用できる。各ノードは、鍵管理装置１００と直接接続されている必要はない。
【００１５】
本実施形態では、鍵管理装置１００が、各ノード２００に対して認証要求を送信することで、認証が開始される。
【００１６】
図２は、鍵管理装置１００の構成例を表すブロック図である。図２に示すように、鍵管理装置１００は、秘密鍵記憶部１２１と、認証状況記憶部１２２と、無効化情報記憶部１２３と、デバイス鍵記憶部１２４と、受信部１０１と、送信部１０２と、鍵交換処理部１０３と、判定部１０４と、生成部１０５と、更新部１０６と、を備える。
【００１７】
秘密鍵記憶部１２１は、ノード２００との間で公開鍵暗号方式により鍵管理装置１００であることの認証を実行するために必要な秘密鍵を記憶する。認証状況記憶部１２２は、認証に合格した（認証済みの）ノード２００の識別情報（ノードＩＤ）を含む認証状況を記憶する。認証状況にノード２００のデバイス鍵を含んでもよい。
【００１８】
無効化情報記憶部１２３は、鍵管理装置１００が無効化すべきと判定したノード２００のノードＩＤと、当該ノード２００のデバイス鍵とを含む無効化情報を記憶する。
【００１９】
デバイス鍵記憶部１２４は、鍵管理装置１００の管理対象のグループに属するノード２００のノードＩＤと、ノード２００に割り当てられたデバイス鍵セットとを含む情報を記憶する。すなわち、デバイス鍵記憶部１２４は、ノードＩＤと、ノードＩＤで識別されるノード２００のデバイス鍵セットとを対応付けて記憶する。
【００２０】
デバイス鍵は、例えば、ＣＳ（Complete  Subtree）法に従って割り振られている。この場合、ノード２００の認証にはリーフ鍵を用いた認証が実行される。リーフ鍵は、各デバイスに固有のデバイス鍵成分の一例である。デバイス鍵の構成法はＣＳ法に限られるものではなく、ＳＤ（Subset  Difference）法やＬＫＨ（Logical  Key  Hierarchy）法など、ノード２００固有のデバイス鍵成分を持つあらゆる構成法を適用できる。
【００２１】
受信部１０１は、ノード２００などの外部装置から各種情報を受信する。受信部１０１は、例えば、認証開始の要求、および、認証付鍵交換プロトコルを実行中のデータなどを受信する。認証付鍵交換プロトコルとは、認証とともに共有鍵の交換を実行する鍵交換処理を表す。認証開始の要求とは、複製ノード３００を排除するための認証を開始する要求である。なお、外部装置からグループ制御の要求を受信した場合のみでなく、鍵管理装置１００内で複製ノード３００の排除の要否を判断し、必要と判断した場合に認証を実行してもよい。受信部１０１は、認証開始の要求、および、認証付鍵交換プロトコルのデータを鍵交換処理部１０３に送る。
【００２２】
送信部１０２は、ノード２００などの外部装置に対して各種情報を送信する。送信部１０２は、例えば、認証付鍵交換プロトコルを実行中のデータなどを送信する。また、送信部１０２は、ノード２００のデバイス鍵を更新するための更新情報をノード２００に送信する。
【００２３】
鍵交換処理部１０３は、認証開始の要求が受信された場合に認証付鍵交換プロトコルをノード２００との間で実行する。鍵交換処理部１０３は、認証付鍵交換プロトコルを行うノード２００のノードＩＤが、無効化情報記憶部１２３に記憶されていないか、すなわち、そのノードＩＤが無効化されていないかを確認する。もし無効化されていたら、鍵交換処理部１０３は、エラーを返した後、以降の処理を中断する。次に、鍵交換処理部１０３は、デバイス鍵記憶部１２４に対して、ノードＩＤを送付し、ノードＩＤに対応するデバイス鍵を要求する。
【００２４】
デバイス鍵記憶部１２４は、要求に応じて対応するデバイス鍵を鍵交換処理部１０３に返す。ノードＩＤに対応するデバイス鍵が記憶されていなければ、デバイス鍵記憶部１２４は、エラーを返す。さらに、鍵交換処理部１０３は、秘密鍵記憶部１２１から自装置の秘密鍵を読み出す。ノードＩＤは、例えば、認証付鍵交換プロトコルの実行中のデータに含まれている。この場合、例えば受信部１０１より、ノードＩＤが得られる。そして、鍵交換処理部１０３は、送信部１０２に導出したデータを送り、受信部１０１からデータを受け取ることで、認証付鍵交換プロトコルを実行する。最終的に、認証付鍵交換に成功した場合、導出した共有鍵、認証の対象となったノードＩＤ、および、認証に用いたデバイス鍵を判定部１０４に送る。
【００２５】
このように、鍵交換処理部１０３は、公開鍵暗号方式を利用した認証付鍵交換（鍵管理装置１００の認証）と、事前共有鍵を利用した認証付鍵交換（ノード２００の認証）とのハイブリッド型の鍵交換プロトコルを実行する。
【００２６】
なお、鍵交換処理部１０３がハイブリッド型以外の鍵交換プロトコルを実行してもよい。例えば、事前共有鍵を利用した鍵交換の代わりに、鍵管理装置１００がノード２００の公開鍵を用いて公開鍵暗号方式によりノード２００を認証してもよい。この場合、例えば鍵管理装置１００が、ノード２００の公開鍵を記憶する公開鍵記憶部（図示せず）を備え、鍵交換処理部１０３が記憶された公開鍵を用いてノード２００を認証してもよい。この場合はハイブリッド型の鍵交換プロトコルではなくなる。ハイブリッド型の鍵交換プロトコルの場合は、既に存在する事前共有鍵を用いることができるため、より効率的に処理を実行できる。
【００２７】
１つのノード２００に対してデバイス鍵による認証を複数回繰り返すことで、認証の精度を上げるように構成してもよい。例えば、複製ノード３００が複数のデバイス鍵を持っている場合は、鍵交換処理部１０３は、この複製ノード３００に対して複数のデバイス鍵それぞれについて認証付鍵交換プロトコルを実行してもよい。これにより、不正に入手されたデバイス鍵を一度にチェックできるようになる。
【００２８】
判定部１０４は、認証状況記憶部１２２に記憶された認証状況を参照し、認証付鍵交換プロトコルにより認証されたノード２００が既に認証済みであるかを判定する。例えば、判定部１０４は、鍵交換処理部１０３から、共有鍵と、ノードＩＤと、デバイス鍵とを受け取ると、認証状況記憶部１２２にノードＩＤとデバイス鍵とが記録済みで無いかを調べる。記録済みであれば、判定部１０４は、このノードＩＤとデバイス鍵とを用いた機器が複製されたと判断する。そして、判定部１０４は、無効化情報記憶部１２３にそのノードＩＤとデバイス鍵とを含む無効化情報を記憶する。このとき、認証状況記憶部１２２に、認証に成功した回数を記録する領域を設けておき、認証されたノード２００のノードＩＤに対応する回数を増やすようにしてもよい。
【００２９】
記録済みでなければ、判定部１０４は、受け取ったノードＩＤとデバイス鍵とを認証状況記憶部１２２に記録する。そして、判定部１０４は、生成部１０５に対して、デバイス鍵を更新するための更新情報を要求する。
【００３０】
生成部１０５は、要求に応じて更新情報を生成する。更新情報は、更新前のデバイス鍵と更新情報とから、更新後のデバイス鍵を導出できる情報であればどのような情報であってもよい。
【００３１】
判定部１０４は、生成部１０５から更新情報を受け取る。判定部１０４は、共有鍵を用いて更新情報を暗号化し、送信部１０２にその暗号文を送る。送信部１０２は、暗号化された更新情報をノード２００に送信する。また、判定部１０４は、更新部１０６に更新情報とノードＩＤとを送る。
【００３２】
更新部１０６は、更新情報とノードＩＤとを受け取ると、ノードＩＤをデバイス鍵記憶部１２４に送り、ノードＩＤに対応するデバイス鍵を読み出す。そして、更新部１０６は、読み出したデバイス鍵と更新情報とを用いて、更新したデバイス鍵を導出する。更新部１０６は、ノードＩＤと更新したデバイス鍵との組をデバイス鍵記憶部１２４に記録する。
【００３３】
デバイス鍵の更新法の一例を以下に説明する。Ｈをシステムで共有されているハッシュ関数とし、更新対象のデバイス鍵を（Ｋ１，Ｋ２，Ｋ３）とし、更新情報をｓｅｅｄとする。
【００３４】
このとき、更新されたデバイス鍵（Ｋ１’，Ｋ２’，Ｋ３’）＝（Ｈ（ｓｅｅｄ，Ｋ１）、Ｈ（ｓｅｅｄ,Ｋ２）、Ｈ（ｓｅｅｄ,Ｋ３））とする。例えば、Ｈが疑似ランダム関数であれば、Ｈと（Ｋ１、Ｋ２、Ｋ３）を保持していたとしても、ｓｅｅｄが無ければ、（Ｋ１’,Ｋ２’,Ｋ３’）を推定できない。
【００３５】
本実施形態では、同一のｓｅｅｄを用いてデバイス鍵の更新を行っているが、デバイス鍵ごとに用いるｓｅｅｄが異なってもよい。例えば、上記の例の場合、更新情報はｓｅｅｄ１とｓｅｅｄ２とｓｅｅｄ３とであり、（Ｋ１’,Ｋ２’,Ｋ３’）＝（Ｈ（ｓｅｅｄ１,Ｋ１）、Ｈ（ｓｅｅｄ２,Ｋ２）、Ｈ（ｓｅｅｄ３,Ｋ３））のようにデバイス鍵を更新してもよい。このように更新を行うことで、ノードごとに更新情報を異なるものにできる。このため、更新情報の漏えいに対する耐性が高まる。
【００３６】
また、更新用のｓｅｅｄを送るのではなく、更新されたデバイス鍵自体を直接送付するようにしてもよい。すなわち、更新情報として（Ｋ１’,Ｋ２’,Ｋ３’）が送付され、ノード２００は受け取った情報を更新されたデバイス鍵に割り当てる。
【００３７】
なお、無効化すべきと判定したノード２００を無効化する方法はどのような方法であってもよい。例えば、上述のＭＫＢの技術などを用いてノード２００（のデバイス鍵）を無効化することができる。
【００３８】
図３は、ノード２００の構成例を表すブロック図である。図３に示すように、ノード２００は、公開鍵記憶部２２１と、デバイス鍵記憶部２２２と、受信部２０１と、送信部２０２と、鍵交換処理部２０３と、更新部２０４と、を備える。
【００３９】
公開鍵記憶部２２１は、鍵管理装置１００の公開鍵を記憶する。デバイス鍵記憶部２２２は、ノード２００自身に割り当てられたノードＩＤとデバイス鍵とを記憶する。
【００４０】
受信部２０１は、鍵管理装置１００などの外部装置から各種情報を受信する。例えば、受信部２０１は、認証開始の要求や、認証付鍵交換プロトコル中のデータや、鍵更新情報の暗号文などを鍵管理装置１００から受信する。
【００４１】
送信部２０２は、鍵管理装置１００などの外部装置に対して各種情報を送信する。送信部２０２は、例えば、認証付鍵交換プロトコルを実行中のデータなどを送信する。
【００４２】
鍵交換処理部２０３は、デバイス鍵記憶部２２２に記憶されているノードＩＤおよびデバイス鍵と、公開鍵記憶部２２１に記憶されている公開鍵とを利用して認証付鍵交換プロトコルを実行する。認証付鍵交換に成功した場合、鍵交換処理部２０３は、認証付鍵交換の結果得られた共有鍵を更新部２０４に送る。認証付鍵交換に失敗した場合、ノード２００は処理を終了する。
【００４３】
更新部２０４は、鍵交換処理部２０３から共有鍵を受け取り、送信部２０２から暗号文を受け取る。次に、更新部２０４は、共有鍵を用いて暗号文を復号し、デバイス鍵を更新するための更新情報を得る。そして、更新部２０４は、デバイス鍵記憶部２２２からデバイス鍵を読み出し、読み出したデバイス鍵と更新情報とから、更新したデバイス鍵を導出する。更新部２０４は、更新後のデバイス鍵をデバイス鍵記憶部２２２に記憶する。
【００４４】
なお、上述の各記憶部は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００４５】
また、鍵管理装置１００の各部（受信部１０１、送信部１０２、鍵交換処理部１０３、判定部１０４、生成部１０５、更新部１０６）、および、ノード２００の各部（受信部２０１、送信部２０２、鍵交換処理部２０３、更新部２０４）は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００４６】
次に、このように構成された第１の実施形態にかかる通信システムによる排除処理について説明する。排除処理とは、認証付鍵交換プロトコルを実行することにより不正な機器（複製ノード３００）を検出し、検出した複製ノード３００を通信システムにアクセスできないようにする処理である。以下では、排除処理のうち、鍵管理装置１００が実行する処理（図４）と、ノード２００が実行する処理（図５）と、に分けて説明する。
【００４７】
図４は、鍵管理装置１００による排除処理の一例を示すフローチャートである。まず、鍵管理装置１００の受信部１０１は、外部装置などから、認証付鍵交換プロトコルの実行の契機となる情報（グループ制御の要求など）を受信する（ステップＳ１０１）。鍵交換処理部１０３は、認証付鍵交換プロトコルを実行する（ステップＳ１０２）。
【００４８】
鍵交換処理部１０３は、ノード２００との間の鍵共有が成功したか否かを判断する（ステップＳ１０３）。成功しなかった場合（ステップＳ１０３：Ｎｏ）、排除処理を終了する。成功した場合（ステップＳ１０３：Ｙｅｓ）、判定部１０４は、認証状況を検証する。例えば、判定部１０４は、認証状況記憶部１２２に記憶された認証状況を参照し、認証付鍵交換プロトコルにより認証されたノード２００が既に認証済みであるかを判定する。
【００４９】
検証された場合、すなわち、認証されたノード２００が既に認証済みでない場合（ステップＳ１０４：Ｙｅｓ）、生成部１０５は、更新情報を生成する（ステップＳ１０５）。送信部１０２は、生成された更新情報をノード２００に送信する（ステップＳ１０６）。一方、更新部１０６は、生成された更新情報を用いて該当ノード２００のデバイス鍵を更新する（ステップＳ１０７）。
【００５０】
ステップＳ１０４で、検証されなかった場合、すなわち、認証されたノード２００が既に認証済みであった場合（ステップＳ１０４：Ｎｏ）、判定部１０４は、該当ノード２００のノードＩＤとデバイス鍵とを含む無効化情報を、無効化情報記憶部１２３に記憶し（ステップＳ１０８）、排除処理を終了する。
【００５１】
図５は、ノード２００による排除処理の一例を示すフローチャートである。まず、ノード２００の受信部２０１は、鍵管理装置１００から、認証付鍵交換プロトコルの実行の契機となる情報（認証開始の要求など）を受信する（ステップＳ２０１）。鍵交換処理部２０３は、認証付鍵交換プロトコルを実行する（ステップＳ２０２）。
【００５２】
鍵交換処理部２０３は、鍵管理装置１００との間の鍵共有が成功したか否かを判断する（ステップＳ２０３）。成功しなかった場合（ステップＳ２０３：Ｎｏ）、排除処理を終了する。成功した場合（ステップＳ２０３：Ｙｅｓ）、受信部２０１は、鍵管理装置１００から更新情報を暗号化した暗号文を受信する（ステップＳ２０４）。更新部２０４は、共有鍵を用いて暗号文から更新情報を復号する（ステップＳ２０５）。更新部２０４は、更新情報を用いてデバイス鍵記憶部２２２に記憶されたデバイス鍵を更新し（ステップＳ２０６）、排除処理を終了する。
【００５３】
次に、図６のシーケンス図を用いて排除処理の流れを説明する。図６は、本実施形態の排除処理の一例を示すシーケンス図である。図６の例では、鍵管理装置１００が、認証付鍵交換プロトコルの開始をノード２００に要求する（ステップＳ３０１）。この後、鍵管理装置１００とノード２００との間で認証付鍵交換プロトコルが実行される（ステップＳ３０２、ステップＳ３０３）。この認証付鍵交換プロトコルの中で、鍵管理装置１００とノード２００とがそれぞれ保持するデバイス鍵Ｌｉが利用される。すなわち、ノード２００がデバイス鍵Ｌｉを保持していることを確認することにより、鍵管理装置１００がノード２００を認証する。認証付鍵交換プロトコルにより、共有鍵Ｋが共有される。
【００５４】
鍵管理装置１００は、更新情報ｓｅｅｄを共有鍵Ｋで暗号化した暗号文であるＥｎｃ（Ｋ，ｓｅｅｄ）を、ノード２００に送信する（ステップＳ３０４）。鍵管理装置１００の更新部１０６は、更新情報ｓｅｅｄを利用して、デバイス鍵Ｌｉを更新する（ステップＳ３０５）。同様に、ノード２００の更新部２０４は、更新情報ｓｅｅｄを利用して、デバイス鍵Ｌｉを更新する（ステップＳ３０６）。
【００５５】
（変形例１）
図６では、鍵管理装置１００からの要求で認証付鍵交換プロトコルが開始された。本変形例では、ノード２００’からの要求で認証付鍵交換プロトコルが開始される。ノード２００’は、例えば、一定期間が経過するごとなど、何らかのトリガーで認証を開始する。
【００５６】
図７は、本変形例の排除処理の一例を示すシーケンス図である。図７の例では、ノード２００’が、認証付鍵交換プロトコルの開始を鍵管理装置１００’に要求する（ステップＳ３０１’）。この後の各ステップは図６と同様であるので同一の符号を付し説明を省略する。
【００５７】
このように、第１の実施形態にかかる通信システムでは、デバイス鍵とＭＫＢなどの無効化技術により管理される機器群に対して、鍵管理装置１００が、各機器に固有のデバイス鍵を利用した認証を実行し、認証に合格した場合、デバイス鍵を更新するための情報を安全に送付する。もし、複数の機器が同一のデバイス鍵での認証に合格した場合、そのデバイス鍵は漏えいしたデバイス鍵であると判定し、無効化処理を行う。このようにすることで、認証に応じる複製ノード３００、および、認証に応じない複製ノード３００を排除することができる。
【００５８】
（第２の実施形態）
第２の実施形態にかかる通信システムは、第１の実施形態の鍵管理装置１００の機能を複数の装置に分散する。例えば、デバイス鍵を管理する機能を鍵管理装置４００に備え、認証付鍵交換を実行して更新情報を送る機能を鍵管理装置５００に備えるように構成する。また、安全に分割するために、鍵管理装置５００は、デバイス鍵を保持せず、デバイス鍵を疑似ランダム関数や一方向性関数に与えて導出される値（変形デバイス鍵）を保持する。そして、鍵管理装置５００は、変形デバイス鍵を用いて認証付鍵交換を実行する。
【００５９】
このように構成することで、例え、鍵管理装置５００が保持する情報が全て漏えいしたとしても、デバイス鍵自体の漏えいを防ぐことができる。このため、システム全体の安全性が向上する。さらに、認証と鍵更新の機能とを複数の機器に安全に分散できるため、システムのスケーラビリティを向上させることができる。
【００６０】
図８は、第２の実施形態にかかる通信システムの構成の一例を示すブロック図である。図８に示すように、本実施形態の通信システムは、鍵管理装置４００と、鍵管理装置５００と、ノード２００−２と、を含む。なお、説明の便宜のため、１つのノード２００−２のみを記載しているが、鍵管理装置５００は複数のノード２００−２と接続されていてもよい。
【００６１】
鍵管理装置４００は、受信部４０１と、送信部４０２と、デバイス鍵記憶部１２４と、生成部１０５と、更新部１０６と、無効化情報記憶部１２３と、変形部４０７とを備える。なお、図２と同様の機能については同一の符号を付し、ここでの説明は省略する。
【００６２】
受信部４０１は、鍵管理装置５００などの外部装置から各種情報を受信する。送信部４０２は、鍵管理装置５００などの外部装置に対して各種情報を送信する。送信部４０２は、例えば外部装置からの入力、または、一定時間の経過などに応じて、デバイス鍵記憶部１２４に記憶されているデバイス鍵を変形部４０７に送る。
【００６３】
変形部４０７は、送られたデバイス鍵から変形デバイス鍵を生成する。例えば、変形部４０７は、システムで共通の疑似ランダム関数ＰＲＦを記憶しており、各デバイス鍵Ｄｉを疑似ランダム関数ＰＲＦに与えることで導出される値ＰＲＦ（Ｄｉ）を変形デバイス鍵とする。これは、あくまでも、変形デバイス鍵の決定法の一例である。この他の方法として、あるノード２００−２に割り振られたデバイス鍵を（Ｄ１，Ｄ２，Ｄ３）としたとき、そのノード２００−２の変形デバイス鍵を（ＰＲＦ（Ｄ３））や、（ＰＲＦ（Ｄ１，Ｄ２，Ｄ３））や、（ＰＲＦ（Ｄ１，Ｄ２），ＰＲＦ（Ｄ３））のように構成してもよい。このように、システムで予め定められた変形デバイス鍵の変形規則であれば、任意の規則を用いることができる。
【００６４】
変形部４０７はさらに、生成部１０５を用いて更新情報を生成する。送信部４０２は、変形デバイス鍵と更新情報とを鍵管理装置５００に送る。鍵管理装置５００より無効化情報が送られたとき、更新部１０６は、無効化情報と更新情報とデバイス鍵記憶部１２４に記憶されているデバイス鍵とに基づいて、無効化されていないノード２００−２のデバイス鍵の更新を行う。
【００６５】
鍵管理装置５００は、受信部５０１と、送信部５０２と、秘密鍵記憶部１２１と、鍵交換処理部１０７と、変形デバイス鍵記憶部５２５と、更新情報記憶部５２６と、認証状況記憶部１２２と、判定部１０４と、無効化情報記憶部１２３とを備える。なお、図２と同様の機能については同一の符号を付し、ここでの説明は省略する。
【００６６】
受信部５０１は、鍵管理装置４００およびノード２００−２などの外部装置から各種情報を受信する。送信部５０２は、鍵管理装置４００およびノード２００−２などの外部装置に対して各種情報を送信する。
【００６７】
変形デバイス鍵記憶部５２５は、鍵管理装置４００から送付された変形デバイス鍵を記憶する。更新情報記憶部５２６は、鍵管理装置４００から送付された更新情報を記憶する。なお、鍵管理装置４００が備える生成部１０５を鍵管理装置５００が備え、鍵管理装置５００中で生成された更新情報を鍵管理装置４００に送付するように構成してもよい。
【００６８】
鍵管理装置５００の鍵交換処理部１０７は、変形デバイス鍵と、秘密鍵記憶部１２１に記憶されている秘密鍵とを用いて、ノード２００−２と認証付鍵交換を実行する。
【００６９】
ノード２００−２は、受信部２０１と、送信部２０２と、鍵交換処理部２０３と、公開鍵記憶部２２１と、デバイス鍵記憶部２２２と、変形部２０５−２と、更新部２０４とを備える。なお、図３と同様の機能については同一の符号を付し、ここでの説明は省略する。
【００７０】
変形部２０５−２は、鍵管理装置４００に備えられた変形部４０７と同様の処理を行うことで変形デバイス鍵を導出する。鍵交換処理部２０３は、変形デバイス鍵を用いて認証付鍵交換プロトコルを実行する。
【００７１】
このように、第２の実施形態にかかる通信システムでは、デバイス鍵を管理する機能を鍵管理装置４００に備え、認証付鍵交換を実行して更新情報を送る機能を鍵管理装置５００に備える。これにより、鍵管理装置５００が保持する情報が全て漏えいしたとしても、デバイス鍵自体の漏えいを防ぐことができる。すなわちシステム全体の安全性が向上する。
【００７２】
以上説明したとおり、第１から第２の実施形態によれば、漏えいしたデバイス鍵を容易に特定することが可能となる。
【００７３】
次に、第１または第２の実施形態にかかる装置（鍵管理装置、ノード）のハードウェア構成について図９を用いて説明する。図９は、第１または第２の実施形態にかかる装置のハードウェア構成を示す説明図である。
【００７４】
第１または第２の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、ＨＤＤ（Hard  Disk  Drive）、ＣＤ（Compact  Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス６１を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００７５】
第１または第２の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【００７６】
また、第１または第２の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１または第２の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００７７】
また、第１または第２の実施形態のプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００７８】
第１または第２の実施形態にかかる装置で実行されるプログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ５１（プロセッサ）が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【００７９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８０】
１００  鍵管理装置
１０１  受信部
１０２  送信部
１０３  鍵交換処理部
１０４  判定部
１０５  生成部
１０６  更新部
１０７  鍵交換処理部
１２１  秘密鍵記憶部
１２２  認証状況記憶部
１２３  無効化情報記憶部
１２４  デバイス鍵記憶部
２００  ノード
２０１  受信部
２０２  送信部
２０３  鍵交換処理部
２０４  更新部
２０５−２  変形部
２２１  公開鍵記憶部
２２２  デバイス鍵記憶部
３００  複製ノード
【図１】
2014121076.tif 000003
【図２】
2014121076.tif 000004
【図３】
2014121076.tif 000005
【図４】
2014121076.tif 000006
【図５】
2014121076.tif 000007
【図６】
2014121076.tif 000008
【図７】
2014121076.tif 000009
【図８】
2014121076.tif 000010
【図９】
2014121076.tif 000011