説明

情報処理装置、サーバ装置およびプログラム

【課題】2つのデバイス間で相互認証と暗号鍵の共有を行うために、効率的な鍵管理コストと計算コストを両立した認証付き鍵共有方式を提供する。
【解決手段】情報処理装置100aは、外部装置100bと接続され、デバイス鍵記憶部111と、共有鍵記憶部120と、鍵生成部112と、更新部130と、を備える。デバイス鍵記憶部111は、デバイス鍵を記憶する。共有鍵記憶部120は、外部装置との間で共有する共有鍵を記憶する。鍵生成部112は、デバイス鍵とメディアキーブロックとからメディア鍵を生成する。更新部130は、メディア鍵と共有鍵記憶部120に記憶された共有鍵とに基づいて、更新した共有鍵を生成し、生成した共有鍵を共有鍵記憶部120に保存する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、サーバ装置およびプログラムに関する。
【背景技術】
【0002】
2つのデバイス(情報処理装置)間で相互認証と暗号鍵の共有とを行う技術として、IKE(Internet Key Exchange)などの技術が知られている。この技術には、大きく分けると公開鍵暗号系に基づく方法と事前共通鍵に基づく方法が存在する。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】D. Harkins et al.、"RFC2409、The Internet Key Exchange (IKE)" [online]、 November 1998、 retrieved from the Internet: <URL: http://www.ietf.org/rfc/rfc2409.txt>
【非特許文献2】C. Kaufman、"RFC4306、The Internet Key Exchange (IKEv2) Protocol" [online]、 December 2005、 retrieved from the Internet: <URL: http://www.ietf.org/rfc/rfc4306.txt>
【発明の概要】
【発明が解決しようとする課題】
【0004】
公開鍵暗号系に基づく方法は、鍵管理のコストを低減できる点で優れているが、計算コストが増大する。事前共有鍵に基づく方法は、計算コストを低減できる点で優れているが、鍵管理コストが増大する。例えば、あるデバイスが攻撃を受けて秘密情報が漏洩した状況では、公開鍵暗号系に基づく方法は容易にシステムの再構築を実行できる。一方、事前共有鍵に基づく方法ではシステムの再構築に大きなコストが必要であった。
【課題を解決するための手段】
【0005】
実施形態の情報処理装置は、外部装置と接続され、デバイス鍵記憶部と、共有鍵記憶部と、鍵生成部と、更新部と、を備える。デバイス鍵記憶部は、デバイス鍵を記憶する。共有鍵記憶部は、外部装置との間で共有する共有鍵を記憶する。鍵生成部は、デバイス鍵とメディアキーブロックとからメディア鍵を生成する。更新部は、メディア鍵と共有鍵記憶部に記憶された共有鍵とに基づいて、更新した共有鍵を生成し、生成した共有鍵を共有鍵記憶部に保存する。
【図面の簡単な説明】
【0006】
【図1】本実施形態にかかるシステムのブロック図。
【図2】KDCのブロック図。
【図3】更新部のブロック図。
【図4】本実施形態における更新処理のシーケンス図。
【図5】デバイスと事前共有鍵とを管理するグラフ構造の図。
【図6】デバイスと事前共有鍵とを管理するグラフ構造の図。
【図7】デバイスを無効化した場合の木構造の図。
【図8】本実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【0007】
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。
【0008】
本実施形態にかかる情報処理装置は、事前共有鍵に基づく方法で、事前共有鍵の効率的な更新機能を提供することで、鍵管理コストの低減を実現する。事前共有鍵の更新機能を用いて、情報漏洩が生じていないデバイスが保持する全ての事前共有鍵を更新する。また、情報漏洩が生じたデバイスに代わって、所定の更新した事前共有鍵を割り振ったデバイスを設置する。これにより、攻撃者が不正にデバイスを入手したとしても、効率的にシステムを再構築できる。
【0009】
本実施形態にかかる情報処理装置(デバイス)を含むシステムでは、所定の鍵共有方式で用いる事前共有鍵を算出するために適したメディア鍵を導出(生成)できるMKB(メディアキーブロック)を用いる。そして、このMKBを鍵配布センタ(以下、KDC(Key Distribution Center)という。)から各デバイスに配布する。各デバイスは、MKBと自装置のデバイス鍵とからメディア鍵を生成し、生成したメディア鍵と事前共有鍵とを用いて、新たな事前共有鍵を生成する。
【0010】
このため、事前共有鍵の更新にあたって、従来のように、鍵管理サーバから各デバイスに事前共有鍵を配布する必要がない。すなわち、KDCが各デバイスに共通のMKBを配布するだけでよい。また、あるデバイスを無効化する場合は、当該デバイスを無効化するように更新した共通のMKBをKDCが再配布するだけでよい。すなわち、KDCがMKBを配布するだけで、各デバイスで事前鍵共有の更新が可能であり、かつ、デバイスの無効化を容易に実現できる。
【0011】
図1は、本実施形態にかかるシステムの構成の一例を示すブロック図である。図1に示すように、本実施形態のシステムは、情報処理装置としての複数のデバイス100a、100bと、サーバ装置としてのKDC10とが、ネットワーク20で接続された構成となっている。ネットワーク20は、インターネットなどのあらゆるネットワーク形態を適用できる。
【0012】
デバイス100a、100bは同様の構成を備えるため、区別する必要がない場合は単にデバイス100という。デバイス100は2つに限られるものではなく、3以上のデバイス100を備えるように構成してもよい。
【0013】
KDC10は、メディア鍵の生成、MKBの生成、およびMKBの配布などを行う。図2は、KDC10の構成例を示すブロック図である。図2に示すように、KDC10は、受信部11と、送信部12と、MKB生成部13と、鍵記憶部14と、を備えている。
【0014】
受信部11は、デバイス100などの装置から各種データを受信する。送信部12は、デバイス100などの装置に対して各種データを送信する。例えば、送信部12は、MKB生成部13により生成されたMKBをデバイス100に送信する。なお、MKBをデバイス100に入力する方法はこれに限られるものではない。例えば、MKBを記憶した記憶媒体を介してデバイス100に入力するように構成してもよい。
【0015】
鍵記憶部14は、各デバイス100に割り当てられるデバイス鍵、および、デバイス100間で共有する共有鍵を記憶する。鍵記憶部14は、MKB方式における、すべてのデバイス鍵を記憶する。
【0016】
MKB生成部13は、このデバイス鍵を用いてMKBを作成する。MKBの生成方法は、CS(Complete Sub−tree)方式およびSD(Subset Difference)方式などのあらゆる方法を適用できる。
【0017】
KDC10には、公開情報として、署名検証用の公開鍵KPが与えられている。KDC10は、KDC10だけが知る秘密情報として、署名用の公開鍵KPに対する秘密鍵KSを保持している。公開鍵KPと秘密鍵KSは、例えば、楕円曲線を用いたデジタル署名の公開鍵と秘密鍵を用いることができる。
【0018】
図1に戻る。各デバイス100には、少なくとも1つのデバイス鍵が割り当てられている。KDC10は、MKBのメディア鍵として、所定の長さ以上のビット列xを与える。xはKDC10が選んだビット列である。以下では、ビット列xをメディア鍵xという。
【0019】
MKBを受信後、各デバイス100は、当該デバイス100に割り当てられているデバイス鍵によってMKBを処理し、メディア鍵xを取得する。この際、当該デバイス100がMKBによって無効化されている場合、当該デバイス100はMKBを正しく処理することができず、メディア鍵xを正しく取得することはできない。
【0020】
各デバイス100は、通信先である他のデバイスとの間で共有する事前共有鍵を保持している。例えば、デバイス100aとデバイス100bとは、共に事前共有鍵pskを保持している。
【0021】
デバイス100は、MKB処理部110と、共有鍵記憶部120と、更新部130と、通信部140と、を備えている。
【0022】
MKB処理部110は、デバイス100のデバイス鍵を格納(記憶)する。例えば、デバイス100aのMKB処理部110は、配布されているMKBを読み取る。デバイス100aのデバイス鍵が無効化されていない場合、MKB処理部110は、MKBからメディア鍵xを生成できる。MKB処理部110は、生成したメディア鍵xを更新部130に送る。
【0023】
更新部130は、共有鍵記憶部120からデバイス100bとの間で共有する事前共有鍵pskを受け取る。更新部130は、事前共有鍵pskとメディア鍵xとを用いて新たな事前共有鍵psk2を生成する。更新部130は、更新した事前共有鍵psk2を新たな事前共有鍵pskとして共有鍵記憶部120に保存する。更新部130は、更新前の事前共有鍵pskを共有鍵記憶部120から削除してもよい。共有鍵記憶部120は、必要に応じて、通信部140に事前共有鍵pskを送る。通信部140は、事前共有鍵pskに基づいて、認証付鍵交換プロトコルを実行し、暗号通信を行う。
【0024】
MKBの偽造を防止するために、MKB処理部110がMKBの署名を確認するように構成してもよい。この場合、例えば、KDC10は、MKBの正当性を示すために秘密鍵KSを用いてMKBに対応するデジタル署名を生成してMKBと共に送信する。MKB処理部110はKDC10の公開鍵KPを記憶しておき、公開鍵KPを用いてMKBの署名を確認する。
【0025】
また、MKB処理部110は、通信部140にMKBのバージョン番号を送るようにしてもよい。MKBのバージョン番号は、MKBに付随する順序を持つデータである。通信部140は、デバイス100bと鍵共有動作を行う前に、バージョン番号を交換するようにしてもよい。その場合、通信部140は、バージョンが古い相手とは鍵交換を行わない。また、通信部140が、デバイス100bとデータ交換を行い、デバイス100bとの間で共有鍵が正しく共有できたことの確認を行うようにしてもよい。
【0026】
次に、MKB処理部110の詳細な構成例を説明する。図1に示すように、MKB処理部110は、デバイス鍵記憶部111と、鍵生成部112と、を備えている。
【0027】
デバイス鍵記憶部111は、デバイス100に割り当てられているデバイス鍵を記憶する。鍵生成部112は、MKBを読み取り、デバイス鍵記憶部111が記憶するデバイス鍵によってMKBを処理し、メディア鍵xを生成する。鍵生成部112は、生成したメディア鍵xを更新部130に送付する。この際、メディア鍵記憶部(図示せず)を設け、鍵生成部112が生成したメディア鍵xをメディア鍵記憶部に記憶するように構成してもよい。この場合、メディア鍵記憶部が、更新部130からの要求に応じて、メディア鍵xを更新部130に送ってもよい。
【0028】
次に、更新部130の詳細な構成例を説明する。図3は、更新部130の構成例を示すブロック図である。図3に示すように、更新部130は、公開情報記憶部131と、鍵算出部132と、を備えている。
【0029】
公開情報記憶部131は、暗号学的に安全なハッシュ関数Hを記憶する。
【0030】
鍵算出部132は、MKB処理部110より受け取ったメディア鍵xと、共有鍵記憶部120から受け取った事前共有鍵pskと、公開情報記憶部131から受け取ったハッシュ関数Hとから、更新された事前共有鍵psk2を算出する。
【0031】
なお、更新した事前共有鍵の算出に用いる演算はハッシュ関数Hに限られるものではない。メディア鍵xと、事前共有鍵と、を用いて算出するものであればあらゆる演算を適用できる。例えば、ハッシュ関数以外の疑似ランダム関数を用いてもよい。疑似ランダム関数を用いれば、事前共有鍵が不正に流出した場合であっても、メディア鍵xを入手しない限り更新した事前共有鍵の推測が困難となる。
【0032】
また、上記例では、メディア鍵xおよび事前共有鍵pskという2つの変数を入力して更新した事前共有鍵を算出するハッシュ関数Hの例を説明したが、2以上の変数を入力して共有鍵を算出する関数を用いてもよい。
【0033】
なお、通信部140による鍵交換方式は、非特許文献1や非特許文献2の事前共有鍵を用いる認証付鍵交換方式などで実現できる。また、通信部140による鍵交換方式は、非特許文献1や非特許文献2の方式に限られるものではなく、事前共有鍵を利用する方式ならば、あらゆる方式を適用できる。
【0034】
また、通信部140は、メディア鍵xを事前共有鍵とみなして、認証付鍵交換を行ってもよい。このとき、通信部140による鍵交換方式は、リボークされていないデバイスであることのみを認証して鍵共有を行う、匿名認証付鍵交換方式となる。
【0035】
また、各事前共有鍵は独立に設定される必要はなく、木構造などのグラフ構造による依存関係を持っていてもよい。また、各事前共有鍵は、MKBを生成するためのグラフ構造より計算される依存関係を持っていてもよい。
【0036】
なお、上記各記憶部(デバイス鍵記憶部111、共有鍵記憶部120、公開情報記憶部131、鍵記憶部14)は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0037】
次に、このように構成された本実施形態にかかるデバイス100による事前共有鍵の更新処理について図4を用いて説明する。図4は、本実施形態における更新処理の全体の流れを示すシーケンス図である。以下では、デバイス100の事前共有鍵を更新する場合を例に説明する。
【0038】
まず、KDC10のMKB生成部13は、デバイス100のうちリボークするデバイスを特定する情報(リボーク機器情報)とデバイス鍵とを用いてMKBを生成する(ステップS101)。そして、KDC10は、生成したMKBに対して、秘密鍵KSを用いてMKBの署名を生成する(ステップS102)。KDC10の送信部12は、MKBと生成した署名とを各デバイス100に配布する(ステップS103)。
【0039】
デバイス100のMKB処理部110は、公開鍵KPを用いてMKBの署名を検証する(ステップS104)。署名が検証に合格しなかった場合は、以降の処理を中止する。
【0040】
デバイス100の鍵生成部112は、デバイス鍵記憶部111に記憶されたデバイス鍵を用いてMKBを処理し、メディア鍵xを生成する(ステップS105)。MKB処理が実行できなかった場合、デバイス100は無効化されているため処理は中止する。
【0041】
デバイス100の更新部130は、ハッシュ関数H、メディア鍵x、および、事前共有鍵pskにより、更新した事前共有鍵psk2を生成する(ステップS106)。
【0042】
デバイス100の共有鍵記憶部120は、psk2をpskとして記憶する(ステップS107)。
【0043】
他のデバイス100も同様に、MKBの署名の検証、メディア鍵xの生成、更新した事前共有鍵の生成、および、更新した事前共有鍵の記憶を各々実行する。
【0044】
(変形例1)
変形例1では、KDC10が、MKBの生成に関わるグラフ構造と事前共有鍵の管理に関わるグラフ構造とを組み合わせた1つのグラフ構造を管理する。
【0045】
図5は、デバイスと事前共有鍵とを管理するグラフ構造の一例を示す図である。KDC10は、CS方式やSD方式のように木構造のグラフを利用してMKB作成用のデバイス鍵(この例では、k1,・・・,k15)を管理する。すなわち、KDC10は、グラフに含まれる各ノード(第2ノード)に対応づけてデバイス鍵を管理する。また、KDC10は、デバイス100ごとに、相互に異なる木構造の葉に対応するデバイス鍵(この例では、k8,・・・,k15)より、各デバイス100に対応する事前共有鍵を生成する。KDC10は、例えば図5に示すように、グラフの葉から鎖状に連結した各ノード(第1ノード)に対応づけて事前共有鍵を管理する。
【0046】
具体的な手順を述べる。KDC10は、2種類の疑似ランダム関数fとgを保持している。KDC10は、ランダムにk1を生成した後、以降のデバイス鍵をk2=f(k1,0)、k3=f(k1,1)、・・・、k15=f(k7、1)のように、再帰的に生成する。すなわち、木構造の左の子に相当する鍵をkjとし、右の子に相当する鍵をkj+1とし、それらの親に相当する鍵をkiとすると、kj=f(ki,0)、kj+1=f(ki,1)となる。
【0047】
次に、KDC10は、ランダムな値であるmk1を選択し、psk1=h(mk1,k8)、psk2=h(mk1,k9)、・・・、psk8=h(mk1,k15)のように事前共有鍵psk1,・・・、psk8を生成する。
【0048】
そして、KDC10は、例えば、k8を含むデバイス鍵を持つデバイス100と、そのデバイス100と認証付鍵共有を行うデバイス100にはpsk1を持たせる。システムの構成に応じて、KDC10はこのような割り振りを行う。
【0049】
例えば、デバイス鍵にk8を含むデバイス100と、デバイス鍵にk10を含むデバイス100とが認証付鍵共有を行う場合には、各デバイス100が、psk1とpsk3とから所定の方法で事前共有鍵pskを生成し、事前共有鍵に基づくIKEを用いて鍵共有を行うことができる。
【0050】
事前共有鍵の更新は、上記実施形態と同様に、MKBを処理して得られる共通のメディア鍵xを用いて行う。
【0051】
このような管理を行うと、KDC10は木構造の根に相当するデバイス鍵と、事前共有鍵の生成に用いるメディア鍵xの生成規則のみを記憶しておけば良いため、安全に管理すべき情報を削減することができる。
【0052】
図5による管理はあくまでも一例であって、例えば図6のような木構造など、任意のグラフ構造で管理を行ってもよい。
【0053】
また、KDC10は全てのデバイスに同じMKBを送るのではなく、デバイスに応じて、MKBの部分情報を送ってもよい。
【0054】
具体例を図7の状況を用いて説明する。図7は、デバイス鍵k10を含むデバイス100を無効化した場合の木構造の一例を示す図である。CS方式でMKBを作成した場合、MKBはk4で暗号化した暗号文、k11で暗号化した暗号文、および、k3で暗号化した暗号文の3つの暗号文を含む。通常のCS方式では、3つの暗号文全てを含むMKBを全てのデバイスに送付する。しかし、この方法では、各デバイス100は、自装置のデバイス鍵の復元には必要のない無駄なデータも受け取っていることになる。
【0055】
そこで、KDC10が、配布先のデバイス100に応じて、MKBの部分情報を送付してもよい。例えば、デバイス鍵k8を含むデバイス100には、MKBに含まれる暗号文のうち、k4で暗号化した暗号文のみを送付する。また、デバイス100からの問い合わせ(要求)に応じて、対応するMKBの部分情報を送付するようにしてもよい。
【0056】
図7の状況で、CS方式によるMKBの部分情報を配する一例を挙げる。k13を含むデバイス100は、k13を含むデバイス100であることを識別できるIDを含む情報をKDC10に送付する。ここで、IDはKDC10により予め各デバイス100に割り振られた文字列や製造番号や木構造の葉の番号など、デバイス100と木構造を対応付けられるものならば何でもよい。KDC10は、k13を含むデバイス100のIDを受信すると、k13を含むデバイス100が正しく処理できるMKBの部分情報として、MKBに含まれる暗号文のうち、k3で暗号化された暗号文を送付する。
【0057】
図7の状況で、CS方式によるMKBの部分情報を配する別の例を挙げる。k8を含むデバイス100は、k2を含むデバイス100であることを識別できるIDを含む情報をKDC10に送付する。ここで、IDはKDC10により予め各デバイス100に割り振られた文字列や木構造の節の番号など、IDと木構造を対応付けられるものならば何でもよい。KDC10は、k2を含むデバイス100のIDを受信すると、k2を含むデバイス100が正しく処理できるMKBの部分情報として、MKBに含まれる暗号文のうち、k4で暗号化された暗号文とk11で暗号化された暗号文を送付する。デバイス100がKDC10にMKBの問い合わせを行う際に、デバイス100がKDC10に送付すべきIDを、木構造の所定の高さの節に対応づけられる情報に制約してもよい。
【0058】
次に、MKBを送る方法について一例を述べる。ケルベロス(Kerberos)認証と呼ばれるネットワーク認証方式が良く利用されている。以下、ケルベロス認証について簡単に説明する。
【0059】
ケルベロス認証では、サービスを受けるクライアントはケルベロス認証を実行するKDC(以下、KKDC(ケルベロスKDC)という)にアクセスし、受けたいサービスのサーバを通知する。クライアントとKKDCは予め(対称)鍵を共有しており、KKDCは当該鍵を用いてクライアントを認証する。KKDCはクライアントに2つのチケットと呼ばれるデータを送る。1つはクライアント用のチケットであり、もう1つはサーバ用のチケットである。自分用のチケットはKKDCとクライアントの共有鍵で暗号化されている。クライアントは自分用のチケットを復号し、復号データの中からサーバとのセッション鍵を取り出す。また、クライアントはサーバにサーバ用のチケットを送る。サーバ用のチケットは、サーバとKKDCとの共有鍵で暗号化されている。サーバはサーバ用のチケットを復号し、復号データの中からクライアントとのセッション鍵を取り出す。以上の手続きにより、クライアントとサーバとはセッション鍵を共有できる。クライアントがサーバにサービスを要求した際、サーバはセッション鍵を用いてクライアントを認証することができる。
【0060】
今、サーバとクライアントが共有鍵psk0を共有しているものとする。ケルベロス認証を用いて共有鍵psk0を更新したい。サーバとクライアントは、それぞれデバイス鍵を有しているものとする。また、psk0には予め定められた有効期限が記されているものとする。
【0061】
ケルベロス認証のチケットはauthorization−dataというフィールドを有している。KKDCは、チケットのこのフィールドにメディア鍵xを暗号化したMKBと、psk0更新後の鍵(それをpsk1とする)の有効期限を格納する。例えば、今、クライアントがサーバとpsk0を用いた通信を行うと仮定する。クライアントはpsk0の有効期限を確認し、有効であれば、そのままpsk0を用いた通信を行う。
【0062】
しかし、psk0の有効期限が過ぎていた場合、クライアントはKKDCにアクセスしてチケットを受け取る。クライアントはクライアント用チケットを復号してMKBを取り出し、クライアントのデバイス鍵で処理する。当該クライアントがリボークされていない場合、クライアントはメディア鍵xを得る。クライアントはメディア鍵xを用いてpsk0を更新する:psk1←H(x、psk0)。また、チケットに含まれている新しい有効期限をpsk1の有効期限として設定する。そして、クライアントは、サーバにサーバ用チケットを送る。
【0063】
サーバはクライアントからサーバ用チケットを受け取ると、当該チケットを復号してMKBを取り出し、サーバのデバイス鍵で処理する。当該サーバがリボークされていない場合、サーバはメディア鍵xを得る。サーバはメディア鍵xを用いてpsk0を更新する:psk1←H(x、psk0)。また、チケットに含まれている新しい有効期限をpsk1の有効期限として設定する。
【0064】
以上のようにして、クライアントとサーバが共有する共有鍵psk0を更新することができる。なお、同様の手続きにより、クライアントとサーバの共有鍵そのものをクライアントとサーバに配布することが可能である。その場合は、クライアントとサーバ双方において更新手続きは行わず、単に得られたメディア鍵xをクライアントとサーバの間の共有鍵pskとして設定する:psk←x。
【0065】
このように、本実施形態にかかる情報処理装置では、効率的な計算コストと鍵管理コストを両立した認証付鍵共有方式が実現できる。
【0066】
次に、本実施形態にかかる各装置(デバイスおよびKDC)のハードウェア構成について図8を用いて説明する。図8は、本実施形態にかかる装置のハードウェア構成を示す説明図である。
【0067】
本実施形態にかかる装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM(Random Access Memory)53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス61を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【0068】
本実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【0069】
また、本実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0070】
また、本実施形態のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0071】
本実施形態にかかる情報処理装置(デバイス)で実行されるプログラムは、上述した各部(MKB処理部、更新部)を含むモジュール構成となっている。 本実施形態にかかるサーバ装置(KDC)で実行されるプログラムは、上述した各部(受信部、送信部、MKB生成部)を含むモジュール構成となっている。実際のハードウェアとしてはCPU51(プロセッサ)が上記記憶媒体からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【0072】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0073】
10 KDC
11 受信部
12 送信部
13 MKB生成部
14 鍵記憶部
20 ネットワーク
61 バス
100a、100b デバイス
110 MKB処理部
111 デバイス鍵記憶部
112 鍵生成部
120 共有鍵記憶部
130 更新部
131 公開情報記憶部
132 鍵算出部
140 通信部

【特許請求の範囲】
【請求項1】
外部装置と接続される情報処理装置であって、
デバイス鍵を記憶するデバイス鍵記憶部と、
前記外部装置との間で共有する共有鍵を記憶する共有鍵記憶部と、
前記デバイス鍵とメディアキーブロックとからメディア鍵を生成する鍵生成部と、
前記メディア鍵と前記共有鍵記憶部に記憶された前記共有鍵とに基づいて、更新した前記共有鍵を生成し、生成した前記共有鍵を前記共有鍵記憶部に保存する更新部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記更新部は、更新前の前記共有鍵を前記共有鍵記憶部から削除すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記更新部は、少なくとも、前記メディア鍵と前記共有鍵記憶部に記憶された前記共有鍵とを疑似ランダム関数に入力して得られる更新した前記共有鍵を生成すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項4】
生成したメディア鍵を記憶するメディア鍵記憶部をさらに備え、
前記更新部は、前記メディア鍵記憶部に記憶された前記メディア鍵と、前記共有鍵記憶部に記憶された前記共有鍵とに基づいて、更新した前記共有鍵を生成すること、
を特徴とする請求項1に記載の情報処理装置。
【請求項5】
複数の情報処理装置と接続されるサーバ装置であって、
前記情報処理装置間で共有する共有鍵を、グラフに含まれる第1ノードに対応づけて記憶する鍵記憶部と、
前記グラフに含まれる第2ノードに対応づけられるデバイス鍵に基づいてメディアキーブロックを生成するMKB生成部と、
前記メディアキーブロックを前記情報処理装置に送信する送信部と、
を備えることを特徴とするサーバ装置。
【請求項6】
前記グラフは木構造のグラフを含み、
前記鍵記憶部は、前記木構造のグラフの葉に対応づけられる前記第1ノードに対応づけて前記共有鍵を記憶し、
前記MKB生成部は、前記木構造のグラフのノードである前記第2ノードに対応づけられる前記デバイス鍵に基づいて前記メディアキーブロックを生成すること、
を特徴とする請求項5に記載のサーバ装置。
【請求項7】
前記送信部は、前記メディアキーブロックの部分情報のうち、前記情報処理装置によるメディア鍵の生成に用いる部分情報を前記情報処理装置に送信すること、
を特徴とする請求項5に記載のサーバ装置。
【請求項8】
前記送信部は、前記メディアキーブロックの部分情報のうち、前記部分情報を送信する前記情報処理装置に対応する前記デバイス鍵に基づいて生成される前記部分情報を、前記情報処理装置に送信すること、
を特徴とする請求項7に記載のサーバ装置。
【請求項9】
前記送信部は、前記情報処理装置から要求された前記部分情報を前記情報処理装置に送信すること、
を特徴とする請求項7に記載のサーバ装置。
【請求項10】
情報処理装置と接続され、デバイス鍵を記憶するデバイス鍵記憶部と、前記情報処理装置との間で共有する共有鍵を記憶する共有鍵記憶部と、を備える情報処理装置を、
前記デバイス鍵とメディアキーブロックとからメディア鍵を生成する鍵生成部と、
前記メディア鍵と前記共有鍵記憶部に記憶された前記共有鍵とに基づいて、更新した前記共有鍵を生成し、生成した前記共有鍵を前記共有鍵記憶部に保存する更新部と、
として機能させるためのプログラム。
【請求項11】
複数の情報処理装置と接続され、前記情報処理装置間で共有する共有鍵を、グラフに含まれる第1ノードに対応づけて記憶する鍵記憶部を備えるサーバ装置を、
前記グラフに含まれる第2ノードに対応づけられるデバイス鍵に基づいてメディアキーブロックを生成するMKB生成部と、
前記メディアキーブロックを前記情報処理装置に送信する送信部と、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate