(57)【要約】【課題】  コンテンツの公開を、公開側の負担を軽減した状態で行えるようにする。【解決手段】  端末２１は、他の端末に公開するコンテンツを生成し、暗号化し、サーバ１１に送信し、管理させる。端末２１は、鍵を生成し、生成した鍵を鍵として生成した鍵を暗号化する。暗号化された鍵は、サーバ１１で管理される。端末２１は、端末２２に生成した鍵を配布する。端末２２は、サーバ１１から、端末２１が公開しているコンテンツを取得する。端末２２は、端末２１から配布された鍵を用い、コンテンツを復号する。本発明は、コンテンツを複数のユーザに公開するサーバに適用することができる。【選択図】図１
2006270344.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを公開する第１の端末、公開されているコンテンツを管理するサーバ、および、公開されているコンテンツを利用する第２の端末を含む情報処理システムにおいて、
前記第１の端末は、
前記コンテンツの暗号化に係わる鍵を生成する生成手段と、
前記生成手段により生成された前記鍵を、前記第２の端末に配布する配布手段と、
前記生成手段により生成された前記鍵を、その鍵自身を鍵として暗号化する鍵暗号化  手段と、
前記暗号化手段により暗号化された前記鍵を、前記サーバに送信する鍵送信手段と、
前記コンテンツを生成し、予め保持しているマスター鍵で暗号化する第１のコンテン  ツ暗号化手段と、
前記第１のコンテンツ暗号化手段により暗号化された前記コンテンツを、前記サーバ  に送信するコンテンツ送信手段と
を備え、
前記サーバは、
前記鍵送信手段により送信された前記鍵を受信する鍵受信手段と、
前記鍵受信手段により受信された前記鍵を管理する鍵管理手段と、
前記コンテンツ送信手段により送信された前記コンテンツを受信するコンテンツ受信  手段と、
前記コンテンツ受信手段により受信された前記コンテンツを、コンテンツ暗号化鍵で  暗号化する第２のコンテンツ暗号化手段と、
前記鍵管理手段で管理されている前記鍵を鍵として、前記コンテンツ暗号化鍵を暗号  化するコンテンツ鍵暗号化手段と、
前記第２のコンテンツ暗号化手段により暗号化された前記コンテンツ、前記コンテン  ツ鍵暗号化手段により暗号化された前記コンテンツ暗号化鍵、および、前記コンテンツ  鍵暗号化手段による暗号化に用いられた前記鍵を識別する鍵情報を公開エリアに公開す  る公開手段と
を備え、
前記第２の端末は、
前記配布手段により配布された前記鍵を取得し、記憶する鍵記憶手段と、
前記公開手段により公開エリアに公開されている前記コンテンツ、前記コンテンツ暗  号化鍵、および、前記鍵情報を取得する取得手段と、
前記取得手段により取得された前記鍵情報が示す鍵を、前記鍵記憶手段から読み出し、  前記コンテンツ暗号化鍵を復号するコンテンツ鍵復号手段と、
前記取得手段により取得された前記コンテンツを、前記コンテンツ鍵復号手段により  復号された前記コンテンツ鍵を用いて復号する第１のコンテンツ復号手段と、
前記第１のコンテンツ復号手段により復号された前記コンテンツを、予め保持してい  るマスター鍵で復号する第２のコンテンツ復号手段と
を備える
ことを特徴とする情報処理システム。
【請求項２】
コンテンツの暗号化に係わる鍵を生成する生成手段と、
前記生成手段により生成された前記鍵を、第１の情報処理装置に配布する配布手段と、
前記生成手段により生成された前記鍵を、その鍵自身を鍵として暗号化する鍵暗号化手段と、
前記暗号化手段により暗号化された前記鍵を、第２の情報処理装置に送信する鍵送信手段と、
前記コンテンツを生成し、予め保持しているマスター鍵で暗号化するコンテンツ暗号化手段と、
前記コンテンツ暗号化手段により暗号化された前記コンテンツを、前記第２の情報処理装置に送信するコンテンツ送信手段と
を備えることを特徴とする情報処理装置。
【請求項３】
前記生成手段により生成される鍵は、複数の階層を有するバイナリツリー状の鍵である
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記配布手段は、前記バイナリツリー状の鍵のうち、異なる階層の鍵をセットにして前記第１の情報処理装置に配布する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
他の情報処理装置から配布された鍵を取得し、記憶する鍵記憶手段と、
前記第２の情報処理装置の公開エリアに公開されている暗号化されているコンテンツ、前記コンテンツの暗号化に用いられたコンテンツ暗号化鍵、および、前記コンテンツ暗号化鍵の暗号化に用いられた鍵を識別する鍵情報を取得する取得手段と、
前記取得手段により取得された前記鍵情報が示す鍵を、前記鍵記憶手段から読み出し、前記コンテンツ暗号化鍵を復号するコンテンツ鍵復号手段と、
前記取得手段により取得された前記コンテンツを、前記コンテンツ鍵復号手段により復号された前記コンテンツ鍵を用いて復号する第１のコンテンツ復号手段と、
前記第１のコンテンツ復号手段により復号された前記コンテンツを、前記マスター鍵で復号する第２のコンテンツ復号手段と
をさらに備えることを特徴とする請求項２に記載の情報処理装置。
【請求項６】
コンテンツの暗号化に係わる鍵を生成する生成ステップと、
前記生成ステップにより生成された前記鍵の第１の情報処理装置への配布を制御する配布制御ステップと、
前記生成ステップの処理で生成された前記鍵を、その鍵自身を鍵として暗号化する鍵暗号化ステップと、
前記暗号化ステップの処理で暗号化された前記鍵の第２の情報処理装置への送信を制御する鍵送信制御ステップと、
前記コンテンツを生成し、予め保持されているマスター鍵で暗号化するコンテンツ暗号化ステップと、
前記コンテンツ暗号化ステップの処理で暗号化された前記コンテンツの、前記第２の情報処理装置への送信を制御するコンテンツ送信制御ステップと
を含むことを特徴とする情報処理方法。
【請求項７】
コンテンツの暗号化に係わる鍵を生成する生成ステップと、
前記生成ステップにより生成された前記鍵の第１の情報処理装置への配布を制御する配布制御ステップと、
前記生成ステップの処理で生成された前記鍵を、その鍵自身を鍵として暗号化する鍵暗号化ステップと、
前記暗号化ステップの処理で暗号化された前記鍵の第２の情報処理装置への送信を制御する鍵送信制御ステップと、
前記コンテンツを生成し、予め保持されているマスター鍵で暗号化するコンテンツ暗号化ステップと、
前記コンテンツ暗号化ステップの処理で暗号化された前記コンテンツの、前記第２の情報処理装置への送信を制御するコンテンツ送信制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【請求項８】
他の情報処理装置で生成され、その生成された鍵自身で暗号化された鍵を受信する鍵受信手段と、
前記鍵受信手段により受信された前記鍵を管理する鍵管理手段と、
前記他の情報処理装置で生成され、暗号化されたコンテンツを受信するコンテンツ受信手段と、
前記コンテンツ受信手段により受信された前記コンテンツを、コンテンツ暗号化鍵で暗号化するコンテンツ暗号化手段と、
前記鍵管理手段で管理されている前記鍵を鍵として、前記コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化手段と、
前記コンテンツ暗号化手段により暗号化された前記コンテンツ、前記コンテンツ鍵暗号化手段により暗号化された前記コンテンツ暗号化鍵、および、前記コンテンツ鍵暗号化手段による暗号化に用いられた前記鍵を識別する鍵情報を公開エリアに公開する公開手段と
を備えることを特徴とする情報処理装置。
【請求項９】
他の情報処理装置で生成され、その生成された鍵自身で暗号化された鍵の受信を制御する鍵受信制御ステップと、
前記鍵受信制御ステップの処理で受信が制御された前記鍵を管理する鍵管理ステップと、
前記他の情報処理装置で生成され、暗号化されたコンテンツの受信を制御するコンテンツ受信制御ステップと、
前記コンテンツ受信制御ステップの処理で受信が制御された前記コンテンツを、コンテンツ暗号化鍵で暗号化するコンテンツ暗号化ステップと、
前記鍵管理ステップの処理で管理されている前記鍵を鍵として、前記コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化ステップと、
前記コンテンツ暗号化ステップの処理により暗号化された前記コンテンツ、前記コンテンツ鍵暗号化ステップの処理により暗号化された前記コンテンツ暗号化鍵、および、前記コンテンツ鍵暗号化ステップの処理による暗号化に用いられた前記鍵を識別する鍵情報を公開エリアに公開する公開ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
他の情報処理装置で生成され、その生成された鍵自身で暗号化された鍵の受信を制御する鍵受信制御ステップと、
前記鍵受信制御ステップの処理で受信が制御された前記鍵を管理する鍵管理ステップと、
前記他の情報処理装置で生成され、暗号化されたコンテンツの受信を制御するコンテンツ受信制御ステップと、
前記コンテンツ受信制御ステップの処理で受信が制御された前記コンテンツを、コンテンツ暗号化鍵で暗号化するコンテンツ暗号化ステップと、
前記鍵管理ステップの処理で管理されている前記鍵を鍵として、前記コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化ステップと、
前記コンテンツ暗号化ステップの処理により暗号化された前記コンテンツ、前記コンテンツ鍵暗号化ステップの処理により暗号化された前記コンテンツ暗号化鍵、および、前記コンテンツ鍵暗号化ステップの処理による暗号化に用いられた前記鍵を識別する鍵情報を公開エリアに公開する公開ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置および方法、並びにプログラムに関し、特に、仮想的な仲介点を設け、その仲介点で、ユーザのデータや鍵を管理させることにより、Peer-to-peerなどにおけるコミュニケーションをより円滑に、より効率良く行えるようにする際に適用して好適な情報処理システム、情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
ネットワークの普及や携帯型の端末の普及にともない、端末同士でデータの授受を行う、例えば、Peer-to-peerなどと称されることが一般的に行われている。例えば、所定のサーバからデータをダウンロードすることは一般的に行われている。
【０００３】
サーバからダウンロードされるデータが暗号化されている場合、その暗号を解くための鍵などが必要となる。その鍵は、通常、サーバに、メールアドレスなどの個人情報を登録することを条件に、与えられることが多かった。そのために、匿名性が損なわれるといった問題があった。
【０００４】
また、サーバへのアクセス時に、正当なユーザであるか否かを判断するための認証処理が行われる場合がある。その認証処理には、サーバ側と端末側との間で数回のデータの授受が行われる。このことは、サーバ側と端末側、共に、オーバーヘッドな処理となっている。
【０００５】
さらに、どのユーザに、どのコンテンツを提供するかのアクセス制御を行う必要があるため、サーバ側でのユーザ毎のコンテンツアクセス管理のオーバーヘッドがあると共にサーバ側が、いつ、どのユーザが、どのコンテンツにアクセスしたかを管理することになり匿名性が保たれないという問題があった。
【０００６】
そこで、暗号化データを受ける側が、暗号化データを提供する側に対して匿名性を保ち、また、認証などの処理にかかるオーバーヘッドな処理を削減することを、本出願人が、先に出願した特許文献１において提案している。
【特許文献１】特願２００５−０２７２２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記したように、Peer-to-peerなどと称される端末同士でのデータの授受が一般的に行われるようになってきている。また特許文献１に開示されている技術を適用することにより、端末同士でデータの授受を行う際、そのデータの授受にかかる処理で端末にかかる負担を軽減することができる。
【０００８】
このような状況下では、端末同士でデータの授受を行うことがより普及すると考えられる。よって、所定の端末が他の端末に対して公開するデータの数が増え、他の端末も、その公開されているデータを取得する回数が増えると考えられる。
【０００９】
このように、公開するデータが増加すると、そのデータを記憶（管理）する端末の記憶容量が問題となることがある。すなわち、Peer-to-peerなどでデータを授受する端末が、公開するデータを管理し、また、他の端末で公開されているデータを取得するような場合、それらのデータを全てを記憶するための記憶容量も増大することになる。
【００１０】
また、特許文献１のように、データを公開する側で、データを公開する先の端末の数だけ少なくとも鍵を管理するような場合、公開先の端末が増加すると、その鍵を管理する領域も増加することになる。また、鍵を変更するなどの鍵に係わる演算処理なども増大することになる。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、鍵やデータを管理しやすくする。また、その鍵を用いて、データの授受を簡便に行えるようにし、その授受を行う端末の処理負担を軽減できるようにする。
【課題を解決するための手段】
【００１２】
本発明の情報処理システムは、コンテンツを公開する第１の端末、公開されているコンテンツを管理するサーバ、および、公開されているコンテンツを利用する第２の端末を含む情報処理システムであって、第１の端末は、コンテンツの暗号化に係わる鍵を生成する生成手段と、生成手段により生成された鍵を、第２の端末に配布する配布手段と、生成手段により生成された鍵を、その鍵自身を鍵として暗号化する鍵暗号化手段と、暗号化手段により暗号化された鍵を、サーバに送信する鍵送信手段と、コンテンツを生成し、予め保持しているマスター鍵で暗号化する第１のコンテンツ暗号化手段と、第１のコンテンツ暗号化手段により暗号化されたコンテンツを、サーバに送信するコンテンツ送信手段とを備え、サーバは、鍵送信手段により送信された鍵を受信する鍵受信手段と、鍵受信手段により受信された鍵を管理する鍵管理手段と、コンテンツ送信手段により送信されたコンテンツを受信するコンテンツ受信手段と、コンテンツ受信手段により受信されたコンテンツを、コンテンツ暗号化鍵で暗号化する第２のコンテンツ暗号化手段と、鍵管理手段で管理されている鍵を鍵として、コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化手段と、第２のコンテンツ暗号化手段により暗号化されたコンテンツ、コンテンツ鍵暗号化手段により暗号化されたコンテンツ暗号化鍵、および、コンテンツ鍵暗号化手段による暗号化に用いられた鍵を識別する鍵情報を公開エリアに公開する公開手段とを備え、第２の端末は、配布手段により配布された鍵を取得し、記憶する鍵記憶手段と、公開手段により公開エリアに公開されているコンテンツ、コンテンツ暗号化鍵、および、鍵情報を取得する取得手段と、取得手段により取得された鍵情報が示す鍵を、鍵記憶手段から読み出し、コンテンツ暗号化鍵を復号するコンテンツ鍵復号手段と、取得手段により取得されたコンテンツを、コンテンツ鍵復号手段により復号されたコンテンツ鍵を用いて復号する第１のコンテンツ復号手段と、第１のコンテンツ復号手段により復号されたコンテンツを、予め保持しているマスター鍵で復号する第２のコンテンツ復号手段とを備えることを要旨とする。
【００１３】
本発明の第１の情報処理装置は、第１に、コンテンツの暗号化に係わる鍵を生成する生成手段と、生成手段により生成された鍵を、第１の情報処理装置に配布する配布手段と、生成手段により生成された鍵を、その鍵自身を鍵として暗号化する鍵暗号化手段と、暗号化手段により暗号化された鍵を、第２の情報処理装置に送信する鍵送信手段と、コンテンツを生成し、予め保持しているマスター鍵で暗号化するコンテンツ暗号化手段と、コンテンツ暗号化手段により暗号化されたコンテンツを、第２の情報処理装置に送信するコンテンツ送信手段とを備えることを要旨とする。
【００１４】
第２に、前記第１の要旨に加え、前記生成手段により生成される鍵は、複数の階層を有するバイナリツリー状の鍵であることを要旨とする。
【００１５】
第３に、前記第２の要旨に加え、前記配布手段は、バイナリツリー状の鍵のうち、異なる階層の鍵をセットにして第１の情報処理装置に配布することを要旨とする。
【００１６】
第４に、前記第１の要旨に加え、他の情報処理装置から配布された鍵を取得し、記憶する鍵記憶手段と、第２の情報処理装置の公開エリアに公開されている暗号化されているコンテンツ、コンテンツの暗号化に用いられたコンテンツ暗号化鍵、および、コンテンツ暗号化鍵の暗号化に用いられた鍵を識別する鍵情報を取得する取得手段と、取得手段により取得された鍵情報が示す鍵を、鍵記憶手段から読み出し、コンテンツ暗号化鍵を復号するコンテンツ鍵復号手段と、取得手段により取得されたコンテンツを、コンテンツ鍵復号手段により復号されたコンテンツ鍵を用いて復号する第１のコンテンツ復号手段と、第１のコンテンツ復号手段により復号されたコンテンツを、マスター鍵で復号する第２のコンテンツ復号手段とをさらに備えることを要旨とする。
【００１７】
本発明の第１の情報処理方法は、コンテンツの暗号化に係わる鍵を生成する生成ステップと、生成ステップにより生成された鍵の第１の情報処理装置への配布を制御する配布制御ステップと、生成ステップの処理で生成された鍵を、その鍵自身を鍵として暗号化する鍵暗号化ステップと、暗号化ステップの処理で暗号化された鍵の第２の情報処理装置への送信を制御する鍵送信制御ステップと、コンテンツを生成し、予め保持されているマスター鍵で暗号化するコンテンツ暗号化ステップと、コンテンツ暗号化ステップの処理で暗号化されたコンテンツの、第２の情報処理装置への送信を制御するコンテンツ送信制御ステップとを含むことを要旨とする。
【００１８】
本発明の第１のプログラムは、コンテンツの暗号化に係わる鍵を生成する生成ステップと、生成ステップにより生成された鍵の第１の情報処理装置への配布を制御する配布制御ステップと、生成ステップの処理で生成された鍵を、その鍵自身を鍵として暗号化する鍵暗号化ステップと、暗号化ステップの処理で暗号化された鍵の第２の情報処理装置への送信を制御する鍵送信制御ステップと、コンテンツを生成し、予め保持されているマスター鍵で暗号化するコンテンツ暗号化ステップと、コンテンツ暗号化ステップの処理で暗号化されたコンテンツの、第２の情報処理装置への送信を制御するコンテンツ送信制御ステップとを含む処理をコンピュータに実行させることを要旨とする。
【００１９】
本発明の第２の情報処理装置は、他の情報処理装置で生成され、その生成された鍵自身で暗号化された鍵を受信する鍵受信手段と、鍵受信手段により受信された鍵を管理する鍵管理手段と、他の情報処理装置で生成され、暗号化されたコンテンツを受信するコンテンツ受信手段と、コンテンツ受信手段により受信されたコンテンツを、コンテンツ暗号化鍵で暗号化するコンテンツ暗号化手段と、鍵管理手段で管理されている鍵を鍵として、コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化手段と、コンテンツ暗号化手段により暗号化されたコンテンツ、コンテンツ鍵暗号化手段により暗号化されたコンテンツ暗号化鍵、および、コンテンツ鍵暗号化手段による暗号化に用いられた鍵を識別する鍵情報を公開エリアに公開する公開手段とを備えることを要旨とする。
【００２０】
本発明の第２の情報処理方法は、他の情報処理装置で生成され、その生成された鍵自身で暗号化された鍵の受信を制御する鍵受信制御ステップと、鍵受信制御ステップの処理で受信が制御された鍵を管理する鍵管理ステップと、他の情報処理装置で生成され、暗号化されたコンテンツの受信を制御するコンテンツ受信制御ステップと、コンテンツ受信制御ステップの処理で受信が制御されたコンテンツを、コンテンツ暗号化鍵で暗号化するコンテンツ暗号化ステップと、鍵管理ステップの処理で管理されている鍵を鍵として、コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化ステップと、コンテンツ暗号化ステップの処理により暗号化されたコンテンツ、コンテンツ鍵暗号化ステップの処理により暗号化されたコンテンツ暗号化鍵、および、コンテンツ鍵暗号化ステップの処理による暗号化に用いられた鍵を識別する鍵情報を公開エリアに公開する公開ステップとを含むことを要旨とする。
【００２１】
本発明の第２のプログラムは、他の情報処理装置で生成され、その生成された鍵自身で暗号化された鍵の受信を制御する鍵受信制御ステップと、鍵受信制御ステップの処理で受信が制御された鍵を管理する鍵管理ステップと、他の情報処理装置で生成され、暗号化されたコンテンツの受信を制御するコンテンツ受信制御ステップと、コンテンツ受信制御ステップの処理で受信が制御されたコンテンツを、コンテンツ暗号化鍵で暗号化するコンテンツ暗号化ステップと、鍵管理ステップの処理で管理されている鍵を鍵として、コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化ステップと、コンテンツ暗号化ステップの処理により暗号化されたコンテンツ、コンテンツ鍵暗号化ステップの処理により暗号化されたコンテンツ暗号化鍵、および、コンテンツ鍵暗号化ステップの処理による暗号化に用いられた鍵を識別する鍵情報を公開エリアに公開する公開ステップとを含む処理をコンピュータに実行させることを要旨とする。
【００２２】
本発明の情報処理システムにおいては、１の端末が生成した鍵が、自己を鍵として暗号化され、サーバに提供される。また、１の端末が生成したコンテンツは、マスター鍵で暗号化された状態で、サーバに提供される。サーバに提供された鍵やコンテンツは、サーバ側で管理される。他の端末は、サーバ側で管理されているコンテンツを取得し、復号することができる。
【００２３】
本発明の第１の情報処理装置および方法、並びにプログラムにおいては、生成された鍵に対し、自己を鍵とした暗号化が施される。コンテンツは、マスター鍵で暗号化される。暗号化された鍵やコンテンツは、他の情報処理装置に提供される。
【００２４】
本発明の第２の情報処理装置および方法、並びにプログラムにおいては、他の情報処理装置において、生成され、その生成された鍵に対し、自己を鍵とした暗号化が施された鍵が取得される。また、暗号化されたコンテンツも取得される。コンテンツは、さらにコンテンツ暗号化鍵により暗号化される。鍵やコンテンツは、管理される。
【発明の効果】
【００２５】
本発明によれば、コンテンツを管理するときに端末にかかる処理負荷を軽減させることができる。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２７】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加されたりする発明の存在を否定するものではない。
【００２８】
本発明の情報処理システム（例えば、図１に示すシステム）は、コンテンツを公開する第１の端末（例えば、図１の端末２１）、公開されているコンテンツを管理するサーバ（例えば、図１のサーバ１１）、および、公開されているコンテンツを利用する第２の端末（例えば、端末２２）を含む情報処理システムであって、第１の端末は、コンテンツの暗号化に係わる鍵を生成する生成手段（例えば、図５の鍵生成部１３１）と、生成手段により生成された鍵を、第２の端末に配布する配布手段（例えば、図５の鍵配布部１３３）と、生成手段により生成された鍵を、その鍵自身を鍵として暗号化する鍵暗号化手段（例えば、図５の鍵暗号化部１３２）と、暗号化手段により暗号化された鍵を、サーバに送信する鍵送信手段（例えば、図５の鍵送信部１３４）と、コンテンツを生成し、予め保持しているマスター鍵で暗号化する第１のコンテンツ暗号化手段（例えば、図５のコンテンツ暗号化部１３６）と、第１のコンテンツ暗号化手段により暗号化されたコンテンツを、サーバに送信するコンテンツ送信手段（例えば、図５のコンテンツ送信部１３８）とを備え、サーバは、鍵送信手段により送信された鍵を受信する鍵受信手段（例えば、図３の情報取得部８１）と、鍵受信手段により受信された鍵を管理する鍵管理手段（例えば、図３の鍵管理部８８）と、コンテンツ送信手段により送信されたコンテンツを受信するコンテンツ受信手段（例えば、図３の情報取得部８１）と、コンテンツ受信手段により受信されたコンテンツを、コンテンツ暗号化鍵で暗号化する第２のコンテンツ暗号化手段（例えば、図３の暗号化部８３）と、鍵管理手段で管理されている鍵を鍵として、コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化手段（例えば、図３の暗号化部８３）と、第２のコンテンツ暗号化手段により暗号化されたコンテンツ、コンテンツ鍵暗号化手段により暗号化されたコンテンツ暗号化鍵、および、コンテンツ鍵暗号化手段による暗号化に用いられた鍵を識別する鍵情報を公開エリアに公開する公開手段（例えば、図３のコンテンツ公開部８６）とを備え、第２の端末は、配布手段により配布された鍵を取得し、記憶する鍵記憶手段（例えば、図５の鍵管理部１４０）と、公開手段により公開エリアに公開されているコンテンツ、コンテンツ暗号化鍵、および、鍵情報を取得する取得手段（例えば、図５の取得部１３９）と、取得手段により取得された鍵情報が示す鍵を、鍵記憶手段から読み出し、コンテンツ暗号化鍵を復号するコンテンツ鍵復号手段（例えば、図５の復号部１４２）と、取得手段により取得されたコンテンツを、コンテンツ鍵復号手段により復号されたコンテンツ鍵を用いて復号する第１のコンテンツ復号手段（例えば、図５の復号部１４２）と、第１のコンテンツ復号手段により復号されたコンテンツを、予め保持しているマスター鍵で復号する第２のコンテンツ復号手段（例えば、図５の復号部１４２）とを備える。
【００２９】
本発明の第１の情報処理装置は、コンテンツの暗号化に係わる鍵を生成する生成手段（例えば、図５の鍵生成部１３１）と、生成手段により生成された鍵を、第１の情報処理装置に配布する配布手段（例えば、図５の鍵配布部１３３）と、生成手段により生成された鍵を、その鍵自身を鍵として暗号化する鍵暗号化手段（例えば、図５の鍵暗号化部１３２）と、暗号化手段により暗号化された鍵を、第２の情報処理装置に送信する鍵送信手段（例えば、図５の鍵送信部１３４）と、コンテンツを生成し、予め保持しているマスター鍵で暗号化するコンテンツ暗号化手段（例えば、図５のコンテンツ暗号化部１３６）と、コンテンツ暗号化手段により暗号化されたコンテンツを、第２の情報処理装置に送信するコンテンツ送信手段（例えば、図５のコンテンツ送信部１３８）とを備える。
【００３０】
他の情報処理装置から配布された鍵を取得し、記憶する鍵記憶手段（例えば、図５の鍵管理部１４０）と、第２の情報処理装置の公開エリアに公開されている暗号化されているコンテンツ、コンテンツの暗号化に用いられたコンテンツ暗号化鍵、および、コンテンツ暗号化鍵の暗号化に用いられた鍵を識別する鍵情報を取得する取得手段（例えば、図５の取得部１３９）と、取得手段により取得された鍵情報が示す鍵を、鍵記憶手段から読み出し、コンテンツ暗号化鍵を復号するコンテンツ鍵復号手段（例えば、図５の復号部１４２）と、取得手段により取得されたコンテンツを、コンテンツ鍵復号手段により復号されたコンテンツ鍵を用いて復号する第１のコンテンツ復号手段（例えば、図５の復号部１４２）と、第１のコンテンツ復号手段により復号されたコンテンツを、マスター鍵で復号する第２のコンテンツ復号手段（例えば、図５の復号部１４２）とをさらに備える。
【００３１】
本発明の第２の情報処理装置は、他の情報処理装置で生成され、その生成された鍵自身で暗号化された鍵を受信する鍵受信手段（例えば、図３の情報取得部８１）と、鍵受信手段により受信された鍵を管理する鍵管理手段（例えば、図３の鍵管理部８８）と、他の情報処理装置で生成され、暗号化されたコンテンツを受信するコンテンツ受信手段（例えば、図３の情報取得部８１）と、コンテンツ受信手段により受信されたコンテンツを、コンテンツ暗号化鍵で暗号化するコンテンツ暗号化手段（例えば、図３の暗号化部８３）と、鍵管理手段で管理されている鍵を鍵として、コンテンツ暗号化鍵を暗号化するコンテンツ鍵暗号化手段（例えば、図３の暗号化部８３）と、コンテンツ暗号化手段により暗号化されたコンテンツ、コンテンツ鍵暗号化手段により暗号化されたコンテンツ暗号化鍵、および、コンテンツ鍵暗号化手段による暗号化に用いられた鍵を識別する鍵情報を公開エリアに公開する公開手段（例えば、図３のコンテンツ公開部８６）とを備える。
【００３２】
以下に、本発明の実施の形態について図面を参照して説明する。
【００３３】
［システムの構成について］
図１は、本発明を適用したシステムの一実施の形態の構成を示す図である。ネットワーク１０は、ＷＡＮ（Wide Area Network）やＬＡＮ（Local Area Network）などから構成される。また、ネットワーク１０は、有線で構成されていても良いし、無線で構成されていても良いし、有線と無線が混在していても良い。さらに、ネットワーク１０は、ブルートゥース（Bluetooth）や赤外線などを用いてデータの授受を行う近距離通信も含む。
【００３４】
ネットワーク１０には、サーバ１１と、端末２１乃至２５が接続されている。端末２１乃至２５は、それぞれ、サーバ１１に、コンテンツ（データ）を管理させ、その管理しているコンテンツを他の端末に公開させる機能を有する。
【００３５】
サーバ１１は、比較的大容量な記憶領域を有し、計算能力を有し、端末２１乃至２５がアクセスできる装置であればよい。サーバ１１は、例えば、家庭内ネットワークにおけるサーバでも良いし、共有して複数のユーザが利用する専用のサーバでも良い。
【００３６】
なお、図１においては、端末として端末２１乃至２５を図示したが、ネットワーク１０には、さらに多くの端末が接続されている。また、サーバも、サーバ１１だけでなく、複数のサーバがネットワーク１０に接続されるようにしても良い。
【００３７】
［サーバの構成例］
図２は、サーバ１１の内部構成例を示す図である。サーバ１１は、パーソナルコンピュータなどで構成することができる。サーバ１１のＣＰＵ（Central Processing Unit）４１は、ＲＯＭ（Read Only Memory）４２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）４３には、ＣＰＵ４１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース４５は、キーボードやマウスから構成される入力部４６が接続され、入力部４６に入力された信号をＣＰＵ４１に出力する。また、入出力インタフェース４５には、ディスプレイやスピーカなどから構成される出力部４７も接続されている。
【００３８】
さらに、入出力インタフェース４５には、ハードディスクなどから構成される記憶部４８、および、インターネットなどのネットワークを介して他の装置（例えば、端末２１）とデータの授受を行う通信部４９も接続されている。ドライブ５０は、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、半導体メモリ６４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【００３９】
図３は、サーバ１１が有する機能について説明する図である。サーバ１１は、ネットワーク１０を介して端末２１乃至２５から、それぞれ供給される情報（コンテンツや鍵）を取得する情報取得部８１を有する。情報取得部８１により取得された情報は、蓄積部８２に一旦蓄積される。
【００４０】
蓄積部８２に蓄積された情報のうちコンテンツは、暗号化部８３に供給され、保持部８４に保持されている（必要に応じ生成される）鍵により、暗号化され、コンテンツ管理部８５に管理される。コンテンツ管理部８５に管理されている情報は、コンテンツ公開部８６により、コンテンツの公開を要求してきた端末に対して公開される。内部データベース８７は、コンテンツ管理部８５で管理されているコンテンツが登録された日時、変更された日時、端末側からのデータなどに関するデータを管理する。
【００４１】
ここで、“データの公開”とは、１の端末から供給され、サーバ１１で管理されているコンテンツを、他の端末が取得し、正当な権利を有していれば利用できる状態とされていることであるとする。換言すれば、サーバ１１で管理されているコンテンツを認証などの処理をしなくても取得できる状態にされているコンテンツを、公開されているコンテンツと称する。
【００４２】
蓄積部８２に蓄積されている情報のうち、鍵に関する情報は、鍵管理部８８に供給され、管理される。
【００４３】
［端末の構成例］
次に、端末２１乃至２５の構成について説明する。端末２１乃至２５は、それぞれパーソナルコンピュータで構成することができる。また、各端末２１乃至２５は、基本的に同様な構成とすることができるので、ここでは、端末２１を例に挙げて説明を加える。
【００４４】
図４は、端末２１の内部構成例を示す図である。端末２１のＣＰＵ１０１は、ＲＯＭ１０２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ１０３には、ＣＰＵ１０１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース１０５は、キーボードやマウスから構成される入力部１０６が接続され、入力部１０６に入力された信号をＣＰＵ１０１に出力する。また、入出力インタフェース１０５には、ディスプレイやスピーカなどから構成される出力部１０７も接続されている。
【００４５】
さらに、入出力インタフェース１０５には、ハードディスクなどから構成される記憶部１０８、および、インターネットなどのネットワークを介して他の装置（例えば、サーバ１１）とデータの授受を行う通信部１０９も接続されている。ドライブ１１０は、セットされた記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【００４６】
図５は、端末２１が有する機能について説明する図である。鍵生成部１３１は、コンテンツの暗号化に用いられる鍵を生成する。鍵生成部１３１により生成された鍵は、鍵暗号化部１３２により、暗号化される。暗号化された鍵は、鍵配布部１３３または鍵送信部１３４に供給される。鍵配布部１３３は、他の端末に対して鍵を配布するための処理を実行し、鍵送信部１３４は、サーバ１１に対して鍵を送付する処理を実行する。
【００４７】
鍵暗号化部１３２は、鍵配布部１３３に鍵を供給する場合と、鍵送信部１３４に鍵を供給する場合とで、その暗号化の方式（用いる鍵など）を変更する。
【００４８】
コンテンツ生成部１３５は、コンテンツを生成する。生成されたコンテンツは、コンテンツ暗号化部１３６に供給される。コンテンツ暗号化部１３６は、コンテンツ生成部１３５から供給されたコンテンツを、マスター鍵保持部１３７により保持されているマスター鍵を用いて暗号化する。コンテンツ暗号化部１３６により暗号化されたコンテンツは、コンテンツ送信部１３８により、サーバ１１に対して送信される。
【００４９】
取得部１３９は、他の端末から配布された鍵や、サーバ１１で公開されている他の端末のコンテンツを取得する。取得部１３９は、他の端末からの鍵を取得した場合、鍵管理部１４０に、その取得した鍵を供給し、管理させる。取得部１３９は、サーバ１１で公開されているコンテンツを取得した場合、コンテンツ管理部１４１に、その取得したコンテンツを供給し、管理させる。また、取得部１３９は、コンテンツの暗号化に用いられた鍵などの情報も取得し、その情報を、復号部１４２に供給する。
【００５０】
コンテンツ管理部１４１に管理されているコンテンツは、暗号化されており、端末２１が、正当な権限を有していれば、鍵管理部１４０に管理されている鍵で復号することができる。復号部１４２は、鍵管理部１４０で管理されている鍵を用いて、コンテンツ管理部１４１で管理されているコンテンツを復号し、ディスプレイやスピーカなどから構成される出力部１０７（図４）に供給する。
【００５１】
情報送受信部１４３は、コンテンツＩＤを送信したり、その送信に対応してサーバ１１側から送信されてきたコンテンツを受信したりする。
【００５２】
［システムの動作について］
次に、図６のフローチャートを参照し、図１に示したシステムの動作について説明する。図６に示したフローチャートの説明では、サーバ１１、端末２１、端末２２の間で行われる動作を例に挙げて説明する。また、ここでは、端末２１がコンテンツを公開する側であり、端末２２が、そのコンテンツを利用する側であるとして説明をする。なお、サーバ１１、端末２１、端末２２の各装置における詳細な動作については、後述するため、ここでは、簡便に説明を加える。
【００５３】
また、図６のフローチャートにおける処理の順番は、適宜変更可能であり、図６に示した処理の流れに限定されることを示すものではない。
【００５４】
ステップＳ１１において、端末２１は、鍵の配布に関する処理を実行する。この鍵の配布に関する処理は、生成された鍵を暗号化し、他の端末に配布する処理を含む。
【００５５】
ステップＳ５１において、端末２２は、鍵の記憶に関する処理を実行する。この鍵の記憶に関する処理は、端末２１側のステップＳ１１に対応する処理として実行され、その処理としては、受信された鍵を復号し、記憶するといった処理を含む。
【００５６】
ステップＳ１２において、端末２１は、端末側の鍵に関する処理を実行する。この端末側の鍵に関する処理は、暗号化に用いる鍵の生成、その鍵をサーバに送付するための暗号化の処理などを含む。
【００５７】
ステップＳ３１において、サーバ１１は、サーバ側の鍵に関する処理を実行する。このサーバ側の鍵に関する処理は、端末２１側のステップＳ１２に対応する処理として実行され、その処理としては、端末２１側からの鍵を受信し、登録するといった処理を含む。
【００５８】
ステップＳ１３において、端末２１は、端末側のコンテンツに関する処理を実行する。この端末側のコンテンツに関する処理は、他の端末に対して公開するコンテンツを生成し、暗号化し、サーバ１１に対して送信するといった処理を含む。
【００５９】
ステップＳ３２において、サーバ１１は、サーバ側のコンテンツに関する処理を実行する。このサーバ側のコンテンツに関する処理は、端末２１側のステップＳ１３に対応する処理として実行され、その処理としては、受信されたコンテンツをさらに暗号化し、管理するといった処理を含む。
【００６０】
ステップＳ５２において、端末２２は、コンテンツの利用に関する処理を実行する。このコンテンツの利用に関する処理は、サーバ１１に登録されている他の端末が公開しているコンテンツを、サーバ１１から取得し、復号し、利用する処理を含む。
【００６１】
ステップＳ１４において、端末２１は、端末側の所定の端末の排除に関する処理を実行する。この端末側の所定の端末の排除に関する処理は、端末２１がコンテンツを公開するとして設定した端末から所定の端末を排除する（コンテンツを公開しないと設定する）ために、その排除する端末の情報を、サーバ１１に送信する処理を含む。
【００６２】
ステップＳ３３において、サーバ１１は、サーバ側の所定の端末の排除に関する処理を実行する。このサーバ側の所定の端末の排除に関する処理は、端末２１側のステップＳ１４に対応する処理として実行され、その処理としては、端末２２から要求された排除対象の端末に関する情報を受信し、その情報が示す端末を排除するための処理を含む。
【００６３】
ステップＳ１５において、端末２１は、端末側の情報の参照に関する処理を実行する。この端末側の情報の参照に関する処理は、自己がサーバ１１に対してどのようなコンテンツを登録させたかなどを確認する際に行われる処理であり、参照したいコンテンツのＩＤなどを送付する処理を含む。
【００６４】
ステップＳ３４において、サーバ１１は、サーバ側の情報の参照に関する処理を実行する。このサーバ側の情報の参照に関する処理は、端末２１側のステップＳ１５に対応する処理として実行され、その処理としては、端末２１から要求された参照対象のコンテンツのＩＤを受信し、そのＩＤに対応するコンテンツを読み出し、送信するといった処理を含む。
【００６５】
ステップＳ１６において、端末２１は、端末側の情報の削除に関する処理を実行する。この端末側の情報の削除に関する処理は、自己がサーバ１１に対して登録させたコンテンツから所定のコンテンツを削除する際に行われる処理であり、削除したいコンテンツを送付する処理を含む。
【００６６】
ステップＳ３５において、サーバ１１は、サーバ側の情報の削除に関する処理を実行する。このサーバ側の情報の削除に関する処理は、端末２１側のステップＳ１６に対応する処理として実行され、その処理としては、端末２１から削除が要求されたコンテンツを受信し、そのコンテンツを削除するといった処理を含む。
【００６７】
このようなサーバ１１、端末２１、端末２２で行われる処理の詳細について、それぞれフローチャートを参照しながら以下に説明を加える。
【００６８】
［鍵の配布に関する処理について］
ステップＳ１１において、端末２１側で実行される鍵の配布に関する処理について図７のフローチャートを参照して説明する。ステップＳ１０１において、端末２１の鍵生成部１３１（図５）は、やり取りするユーザ数の概算を決定する。
【００６９】
“やり取りするユーザ数”とは、端末２１が生成したコンテンツを公開する先の端末（その端末を管理するユーザ）の数のことである。また“ユーザ数の概算”とは、生成される鍵が、図８を参照して後述するように、２を累乗した数になるためであり、また、生成された後の時点で、新たにやり取りしたいユーザが増える（または減る）ことも考えられるため、その時点におけるおおよその数が決定されればよいということを意味している。
【００７０】
ステップＳ１０２において、鍵生成部１３１は、ステップＳ１０１において決定されたユーザ数に対応する数の鍵を生成する。ステップＳ１０２における処理が実行されることにより生成される鍵の一例を、図８に示す。鍵生成部１３１（図５）により生成される鍵は、例えば、図８に示すようなバイナリツリー（binary tree）状の鍵である。鍵生成部１３１により生成された鍵は、後述する鍵配布部１３３の処理により、この場合、端末２２乃至２５に、それぞれ配布される。
【００７１】
図８に示したバイナリツリー状の鍵について説明を加える。バイナリツリー状の鍵とは、１つの鍵の下に２つの鍵が関連付けられ、その２つの鍵のそれぞれに、２つの鍵が関連付けられといったような構成を有する鍵であり、それぞれの鍵は、暗号化をする際（または復号する際）の鍵として用いられる鍵である。またバイナリツリー状の鍵は、その構造から、全部で（２n―１）個の鍵から構成される。このnは、鍵の階層の段数を表す。また、一番下の階層の鍵の個数は、（２n-1）個である。
【００７２】
図８に示した端末２１が生成するバイナリツリー状の鍵は、例えば、鍵１６１に鍵１６２と鍵１６３が、鍵１６２に鍵１６４と鍵１６５が、鍵１６３に鍵１６６と鍵１６７が、それぞれ関連付けられた構造とされている。また、例えば、第１階層には鍵１６１が、第２階層には鍵１６２と鍵１６３が、第３階層には鍵１６４乃至１６７が、第４階層には鍵１６８乃至１７５が、第５階層には鍵１７６乃至１９１が、それぞれ配置されている。
【００７３】
この図８に示した鍵構造では、段数が５とされているため、全部で３１（＝２5―１）個の鍵から構成されている。また、一番下の階層、すなわち、第５階層の鍵の個数は、１６（＝２5-1）個とされている。
【００７４】
なおここでは、第１階層から階層が始まるとして説明を続けるが、第０階層から階層が始まるとしても良い。第０階層から階層が始まるとして設定された場合、上記した式など、その設定に合わせて適宜変更される。また、以下の説明においては、バイナリツリー状の鍵の中の１つの鍵を、鍵ＫＥＫと適宜表記する。
【００７５】
ステップＳ１０２において鍵生成部１３１により生成された、例えば、図８に示すような鍵は、鍵暗号化部１３２に供給される。鍵暗号化部１３２は、ステップＳ１０３において、供給された鍵を暗号化する。ステップＳ１０４において、鍵暗号化部１３２により暗号化された鍵は、鍵配布部１３３に供給され、他の端末に対して配布される。
【００７６】
鍵の配布は、直接的に、例えば、ブルートゥースや赤外線による近距離通信や、ＵＳＢなどで直接端末同士を接続して行う通信で、鍵を配布する場合、第３者に取得されてしまう可能性が低いので（盗用される可能性が低いので）、鍵をそのままの状態で、配布してもよい。しかしながら、ネットワーク１０（図１）を介して配布する場合、第３者に取得されてしまう可能性があるため、仮に第３者に取得されてしまっても、その第３者が、取得した鍵を利用できないように、暗号化した状態で、鍵を配布する方が好ましい。
【００７７】
そこで、ステップＳ１０３において、鍵の暗号化が行われる。暗号化の方式などは、どのような方式を用いても良い。
【００７８】
端末２１の鍵生成部１３１により、図８に示すような、第１乃至第５階層から構成されるバイナリツリー状の鍵が生成され、暗号化が施された鍵は、鍵配布部１３３により他の端末に配布される。他の端末に配布されるのは、生成された鍵の一部分である。また、ここでは、鍵の配布される他の端末とは、端末２２乃至２５のことであるとする。
【００７９】
ここでは、端末２２には、鍵１６１、鍵１６２、鍵１６４、鍵１６８、および鍵１７６がセットで配布されるとする。また端末２３には、鍵１６１、鍵１６２、鍵１６４、鍵１６８、および鍵１７７がセットで配布されるとする。また端末２４には、鍵１６１、鍵１６２、鍵１６４、鍵１６９、および鍵１７８がセットで配布されるとする。また端末２５には、鍵１６１、鍵１６２、鍵１６４、鍵１６９、および鍵１７９がセットで配布されるとする。
【００８０】
このように、端末２１で生成された鍵は、第１階層乃至第５階層の鍵がそれぞれセットにされた状態で、端末２２乃至２５に配布される。なお、以下の説明においては、この配信される鍵のセットを鍵ＫＥＫセットと称する。
【００８１】
鍵配布部１３３は、他の端末に鍵を配布する際、その配布先の端末（ユーザ）を識別するためのユーザＩＤを付与（生成）し、そのユーザＩＤも鍵ＫＥＫセットととともに、配布する。なお、ユーザＩＤは、ユーザＩＤだけでは第３者に仮に取得されてしまっても、問題が発生する可能性は低いため、暗号化しないで配布しても良い。
【００８２】
［鍵の記憶に関する処理について］
端末２１において、図７に示したような処理が実行されることにより、端末２２に対して鍵が配布されると、端末２２は、鍵の記憶に関する処理（図６のステップＳ５１に対応する処理）を実行する。この鍵の記憶に関する処理について、図９のフローチャートを参照して説明する。
【００８３】
ステップＳ１２１において、端末２２は、端末２１からの鍵ＫＥＫセットとユーザＩＤを受信する。端末２２も、端末２１と同じ機能を有し、図５に示しような機能を有する。端末２２の取得部１３９’（端末２１の取得部１３９と区別を付けるために、ダッシュを付けて記述する。他の部分も同様に記述する）は、ステップＳ１２１において、端末２１からの鍵ＫＥＫセットとユーザＩＤを受信すると、受信したのは鍵であると判断し、鍵管理部１４０’に対して、受信された鍵とＩＤを供給する。
【００８４】
鍵管理部１４０’は、ステップＳ１２２において、供給された鍵ＫＥＫセットとユーザＩＤを記憶（管理）する。
【００８５】
図１０は、端末２２の鍵管理部１４０’に記憶されている鍵ＫＥＫセットとユーザＩＤの一例を示す図である。端末２２の鍵管理部１４０’には、ユーザＩＤ２１１と鍵ＫＥＫセット２２１が関連付けられて管理され、ユーザＩＤ２１２と鍵ＫＥＫセット２２２が関連付けられて管理されている。
【００８６】
例えば、ユーザＩＤ２１１と鍵ＫＥＫセット２２１は、端末２１から配布されたユーザＩＤと鍵ＫＥＫセットであるために、関連付けられて管理されている。
【００８７】
鍵管理部１４０’には、このようにして、複数の他の端末から配布され、供給された鍵が管理されている。
【００８８】
［端末側の鍵に関する処理について］
次に、端末２１で行われる端末側の鍵に関する処理（図６のステップＳ１２に対応する処理）について、図１１のフローチャートを参照して説明する。端末２１は、鍵を生成した場合、他の端末に配布する（図７のフローチャートに基づく処理）だけなく、サーバ１１に対しても送信するといった処理を行う。
【００８９】
ステップＳ１４１において、鍵暗号化部１３２（図５）は、鍵生成部１３１により生成された、例えば、図８に示したバイナリツリー状の鍵を暗号化する。このステップ１４１が行われる前提として、鍵生成部１３１により鍵が生成されている（図７のステップＳ１０１とステップＳ１０２の処理が行われている）必要がある。
【００９０】
換言すれば、鍵生成部１３１により鍵が生成された場合、他の端末に対して鍵を配布する処理と、サーバ１１に対して鍵を送信する処理とが行われ、その順序は問題ではない。すなわち、鍵が生成された場合、その鍵を他の端末に配布した後に、サーバ１１に対して送信しても良いし、サーバ１１に対して送信した後に、他の端末に配布するようにしても良いし、サーバ１１と他の端末に同時に送信（配布）するようにしても良い。
【００９１】
ステップＳ１４１において、鍵生成部１３１により生成された鍵が、鍵暗号化部１３２により暗号化される。このステップＳ１４１における暗号化の処理は、ネットワーク１０（図１）を介して、端末２１からサーバ１１に対して鍵が送付されるときに、第３者に取得されてしまったとしても、その第３者が取得した鍵を利用できないようにするという目的もあるが、次に示す目的もある。
【００９２】
すなわち、後述するように、端末２１側で生成された鍵は、サーバ１１で管理されるが、サーバ１１で管理されている状態のときに鍵が第３者に取得されてしまう可能性があり、仮に第３者に取得されてしまったとしても、その第３者が取得した鍵を利用できないようにするという目的もある。
【００９３】
ステップＳ１４１において行われる鍵の暗号化は、次に説明するようにして行われる。すなわち、図８に示したようなバイナリツリー状の鍵が生成された場合、３１個の鍵が存在するわけだが、この３１個の鍵が、それぞれ、自己を自己で暗号化するといった方法で、暗号化が行われる。
【００９４】
これは、この鍵自身をサーバ１１側に知られることを防ぐことで、サーバ１１を使わない端末間の直接的な送受信においても、同一の鍵セットを利用することを可能とするためである。
【００９５】
例えば、図８に示した鍵１６１は、鍵１６１が用いられて暗号化される。以下、図８に示した鍵のうちの１つの鍵を表したいときには、例えば、鍵１６１を表したときには、鍵ＫＥＫ１６１と記述する。
【００９６】
このように、鍵ＫＥＫ１６１が鍵ＫＥＫ１６１で暗号化されることを、Ｅ（鍵ＫＥＫ１６１，鍵ＫＥＫ１６１）と表記する。一般的に記載するならば、ＡをＢで暗号化（Encryption）するとき、
Ｅ（Ｂ，Ａ）
と記載する。以下の説明においては、何が何に対して暗号化されるのかということを表現するのに、上記したような表記を行う。
【００９７】
すなわち、ステップＳ１４１における暗号化は、鍵ＫＥＫ毎に、
Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）
とされる暗号化である。
【００９８】
ステップＳ１４１において、鍵暗号化部１３２により、バイナリツリー状の鍵が、それぞれ自己を鍵とする暗号化が行われると、その暗号化された鍵は、鍵送信部１３４に供給される。鍵送信部１４３は、ユーザＩＤを生成する。このユーザＩＤは、鍵配布部１３３が鍵を配布するときに生成したユーザＩＤと共用することができる。すなわち、鍵を管理するサーバ１１側で、バイナリツリー状の鍵のうち、どの鍵がどの端末に割り当てられているのか（配布されたのか）が識別できる情報として、ユーザＩＤが用いられる。
【００９９】
ユーザＩＤは、どの鍵ＫＥＫがどの端末に割り当てられているかだけが判別できれば良い情報である。そのようなユーザＩＤが、ステップＳ１４２の処理として生成される。なお、ここでは、生成されるとしたが、この処理の前の時点で、鍵が他の端末に配布され、その時点で、ユーザＩＤが生成されていれば、そのユーザＩＤを流用して良い。
【０１００】
鍵送信部１３４は、ステップＳ１４３において、暗号化された鍵ＫＥＫとユーザＩＤを、サーバ１１に対して送信する。
【０１０１】
このようにして、端末２１側で生成された鍵ＫＥＫは、サーバ１１に対して暗号化された状態で、送信される。端末２１側では、サーバ１１に対して鍵ＫＥＫを送信するまで、生成した鍵ＫＥＫを保持しておく必要があるが、送信した後は、生成した鍵ＫＥＫを削除してしまっても良い。
【０１０２】
鍵ＫＥＫを削除しても良いということは、端末２１側で、鍵ＫＥＫを管理しなくてもよいことを意味し、鍵ＫＥＫを管理しなければ、鍵ＫＥＫを管理するために必要となる記憶容量を削減することができる。なお、端末２１側では、どの端末にどの鍵ＫＥＫを配布したか（サーバ１１側に送付したユーザＩＤ）は、管理している。
【０１０３】
［サーバ側の鍵に関する処理について］
端末２１において、図１１に示したような処理が実行されることにより、サーバ１１に対して鍵ＫＥＫが送信されると、サーバ１１は、サーバ側の鍵に関する処理（図６のステップＳ３１に対応する処理）を実行する。図１２のフローチャートを参照し、サーバ１１側の鍵に関する処理について説明する。
【０１０４】
サーバ１１の情報取得部８１（図３）は、ステップＳ１６１において、端末２１側から送信されてきた鍵ＫＥＫとユーザＩＤを受信する。情報取得部８１は、受信された鍵ＫＥＫとユーザＩＤを一旦蓄積部８２に蓄積させる。蓄積部８２に蓄積された鍵ＫＥＫとユーザＩＤは、ステップＳ１６２において、鍵管理部８８に供給され、管理される。
【０１０５】
このようにして、サーバ１１側で、端末２１が生成した鍵ＫＥＫが、暗号化されている状態で管理される。また、その暗号化されている鍵ＫＥＫは、どの鍵ＫＥＫがどの端末に対して割り当てられているかを識別するためのユーザＩＤとともに管理されている。
【０１０６】
［端末側のコンテンツに関する処理について］
次に、端末２１で行われる端末側のコンテンツに関する処理（図６のステップＳ１３に対応する処理）について、図１３のフローチャートを参照して説明する。
【０１０７】
端末２１のコンテンツ生成部１３５（図５）は、コンテンツを生成する。ここでコンテンツとは、映像データ、音声データ、プログラムなど、端末２１側で管理することができる種々のデータを含む意味である。
【０１０８】
生成されたコンテンツは、コンテンツ暗号化部１３６に供給される。コンテンツ暗号化部１３６は、ステップＳ１８２において、供給されたコンテンツを、マスター鍵保持部１３７で保持されているマスター鍵ＭＫで暗号化する。
【０１０９】
マスター鍵ＭＫは、ユーザ間（端末間）で共有されている鍵であるとする。この場合、マスター鍵ＭＫは、端末２１乃至２５の間で、共有されている鍵である。また、このマスター鍵ＭＫは、端末に埋め込まれている。“端末に埋め込まれている”とは、端末のユーザが読み出すことができない（取り出して他の目的で利用することができない）状態にされていることを意味する。このようなことを、適宜、マスター鍵ＭＫは安全な領域に保持されていると記述する。
【０１１０】
ここで、コンテンツをコンテンツＣとし、マスター鍵をマスター鍵ＭＫとすると、
Ｅ（マスター鍵ＭＫ、コンテンツＣ）
となる。
【０１１１】
このような暗号化は、コンテンツ毎に行われる。例えば、コンテンツＣ１、コンテンツＣ２、コンテンツＣ３と３つのコンテンツが生成され、暗号化される場合、
Ｅ（マスター鍵ＭＫ、コンテンツＣ１）
Ｅ（マスター鍵ＭＫ、コンテンツＣ２）
Ｅ（マスター鍵ＭＫ、コンテンツＣ３）
という３つの暗号化されたコンテンツが生成されることになる。
【０１１２】
ステップＳ１８３において、使用する鍵ＫＥＫのＩＤが設定される。暗号化したコンテンツを、どの端末（ユーザ）に公開するかにより、この鍵ＫＥＫのＩＤが設定される。例えば、鍵ＫＥＫ１６１（図８）を配布した端末に対してコンテンツを公開する場合、鍵ＫＥＫ１６１のＩＤが設定される。
【０１１３】
鍵ＫＥＫのＩＤとしては、再度図８を参照するに、バイナリツリー状のどの鍵を用いて暗号化されているかがわかれば良く、鍵そのものを指定できるＩＤでも良いし、第ｎ階層の鍵が暗号化に用いられたかがわかるＩＤでも良い。例えば、第５階層の鍵が暗号化に用いられた場合、ＩＤとして“５”とだけ設定するようにしても良い。
【０１１４】
ステップＳ１８４において、公開先のユーザのリストが作成される。コンテンツを公開する先のユーザ（端末）が設定され、その設定されたユーザのユーザＩＤが列挙されたものを公開先リストとする。ステップＳ１８４においては、この公開先リストが作成される。
【０１１５】
ステップＳ１８５において、鍵ＫＥＫのＩＤ、コンテンツ暗号化部１３６で暗号化されたコンテンツ、および、このコンテンツを公開する先の公開先リストは、コンテンツ送信部１３８により、サーバ１１に対して送信される。コンテンツは暗号化されているため、仮に、送信中に第３者に取得されてしまったとしても、その第３者が、コンテンツを利用することはできない。
【０１１６】
このようにして、端末２１側で生成されたコンテンツが、サーバ１１側に送信される。
【０１１７】
「サーバ側のコンテンツに関する処理について」
端末２１において、図１３に示したような処理が実行されることにより、サーバ１１に対してコンテンツが送信されると、サーバ１１は、サーバ側のコンテンツに関する処理（図６のステップＳ３２に対応する処理）を実行する。図１４のフローチャートを参照し、サーバ１１側のコンテンツに関する処理について説明する。
【０１１８】
ステップＳ２０１において、サーバ１１の情報取得部８１（図３）は、端末２１側から送信されてきたコンテンツ、鍵ＫＥＫのＩＤ、公開先リストを受信する。受信されたこれらのデータは、蓄積部８２に供給され、一旦蓄積される。暗号化部８３は、ステップＳ２０２において、蓄積部８３に蓄積されているコンテンツを暗号化するためのコンテンツ暗号化鍵を設定する。暗号化部８３は、例えば、乱数を発生させ、その乱数をコンテンツ暗号化鍵と設定する。ここでは、コンテンツ暗号化鍵を、コンテンツ暗号化鍵ＣＫと記述する。
【０１１９】
暗号化部８３は、ステップＳ２０３において、設定されたコンテンツ暗号化鍵ＣＫで、蓄積部８２に蓄積されているコンテンツ（端末２１から送信されてきたコンテンツ）を暗号化する。この処理により
Ｅ（コンテンツ暗号化鍵ＣＫ、Ｅ（マスター鍵ＭＫ、コンテンツＣ））
が生成される。上記したように、端末２１から送信されてくるコンテンツは、マスター鍵ＭＫにより暗号化されており、その暗号化されているコンテンツを、さらに、コンテンツ暗号化鍵ＣＫで暗号化することになる。
【０１２０】
このようにして２重に暗号化されたコンテンツは、コンテンツ管理部８５に供給され、管理される。
【０１２１】
暗号化部８３は、ステップＳ２０４において、コンテンツ暗号化鍵ＣＫを、コンテンツ提供側の鍵（この場合、端末２１の鍵）で暗号化する。換言すれば、コンテンツ暗号化鍵ＣＫを、端末２１の鍵ＫＥＫで暗号化する。そのための鍵ＫＥＫが、ステップＳ２０４において設定される。
【０１２２】
この鍵ＫＥＫは、鍵管理部８８に管理されている。この鍵管理部８８に管理されている鍵ＫＥＫは、自己を鍵として自己を暗号化したデータであり、上記したように、
Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）
という状態で管理されている。鍵管理部８８には、バイナリツリー状の鍵が管理されているため、１つの鍵ＫＥＫを設定するためには、何らかの情報が必要である。その情報は、ここでは、端末２１側から送信されてきた鍵ＫＥＫのＩＤであるとする。
【０１２３】
すなわち、コンテンツを暗号化する鍵として、端末２１側から送信され、蓄積部８２に蓄積された鍵ＫＥＫのＩＤが示す鍵ＫＥＫが、鍵管理部８８から読み出され、コンテンツ暗号化鍵ＣＫの暗号化に用いられる。
【０１２４】
鍵ＫＥＫのＩＤが示す鍵ＫＥＫが、鍵１６１（図８）である場合、Ｅ（鍵ＫＥＫ１６１、鍵ＫＥＫ１６１）が用いられて、コンテンツ暗号化鍵ＣＫが暗号化される。
【０１２５】
ステップＳ２０５において、Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）を鍵とする暗号化が行われる。ステップＳ２０５の処理が行われることにより、
Ｅ（Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）、コンテンツ暗号化鍵ＣＫ）
が生成される。
【０１２６】
暗号化部８３は、暗号化したコンテンツ暗号化鍵ＣＫをコンテンツ管理部８５に供給し、管理させる。コンテンツ管理部８５には、暗号化されたコンテンツ、そのコンテンツを暗号化したコンテンツ暗号化鍵ＣＫ、そのコンテンツ暗号化鍵ＣＫを暗号化した鍵ＫＥＫを識別するための鍵ＫＥＫのＩＤが管理される。このように、コンテンツ管理部８５に管理されているコンテンツは、端末が、供給を要求してきたときに、その端末に対して供給される。このような状態を、上記したように公開と称する。
【０１２７】
そして、他の端末がアクセスできるサーバ１１内のエリアを公開エリアと称する。その公開エリアは、コンテンツ管理部８５に設けられている（コンテンツ管理部８５である）。コンテンツ管理部８５で管理され、他の端末に公開された状態にすることを公開エリアに公開すると記述する。ステップＳ２０６において、コンテンツ管理部８５で管理されているコンテンツが公開エリアに公開される。
【０１２８】
ステップＳ２０７において、内部データベース８７の内容が更新される。内部データベース８７には、コンテンツが登録された日時などが管理されており、その日時などのデータが適宜更新される。
【０１２９】
図１５は、サーバ１１のコンテンツ管理部８５に管理されているデータについて説明するための図である。コンテンツ管理部８５には、鍵ＫＥＫのＩＤ２４１とコンテンツ暗号鍵ＣＫ２４２が関連付けられて管理されている。このコンテンツ暗号化鍵ＣＫ２４２で暗号化されているコンテンツは、１つのグループとして管理されている。図１５に示した例では、コンテンツ２５１乃至２５３という３つのコンテンツが、１グループとして管理されている。
【０１３０】
このグループに属するコンテンツ２５１乃至２５３が公開されているユーザを示す公開先リスト２６１も、あわせて管理されている。
【０１３１】
コンテンツ管理部８５には、このようなグループが、複数管理されている。サーバ１１は、コンテンツを公開すると、その公開しているコンテンツの提供を端末側から要求される状態となる。
【０１３２】
［コンテンツの利用に関する処理について］
次に、端末２２で行われるコンテンツの利用に関する処理（図６のステップＳ５２に対応する処理）について、図１６のフローチャートを参照して説明する。
【０１３３】
ステップＳ２４１において、端末２２の取得部１３９’（図５）は、サーバ１１にアクセスし、暗号化されたコンテンツと鍵ＫＥＫを取得する。
【０１３４】
受信された鍵ＫＥＫのＩＤ、コンテンツ暗号化鍵ＣＫ、コンテンツは、復号部１４２’に供給される。なお、これらの全てのデータまたは一部のデータは、一旦、コンテンツ管理部１４１’に蓄積された後に、必要に応じて復号部１４２’に供給されるようにしても良い。
【０１３５】
ステップＳ２４５において、復号部１４２’は、供給されたコンテンツ暗号化鍵ＣＫを復号する。コンテンツ暗号化鍵ＣＫは、サーバ１１側で、乱数が発生されることにより生成された鍵であり、鍵ＫＥＫにより暗号化されている（図１４のステップＳ２０２とステップＳ２０３の処理）。よって、復号部１４２’に供給されるコンテンツ暗号化鍵ＣＫは以下のような暗号化されているデータである。
Ｅ（Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）、コンテンツ暗号化鍵ＣＫ）
【０１３６】
すなわち、Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）を鍵として暗号化されたコンテンツ暗号化鍵ＣＫが、復号部１４２’に供給される。このＥ（鍵ＫＥＫ、鍵ＫＥＫ）は、鍵ＫＥＫを鍵として鍵ＫＥＫを暗号化したデータであり、この鍵ＫＥＫは、端末２２側で、ステップＳ１２２（図９）の処理として、端末２１側から配布され、鍵管理部１４０’で管理されている。
【０１３７】
端末２２には、例えば、図８を参照して説明したように、鍵１６１、鍵１６２、鍵１６４、鍵１６８、および鍵１７６がセットで配布されている。配布される際、暗号化が施されて配布されるとして説明したが、端末２２側に配布された時点で、復号され、端末２２では、復号された鍵ＫＥＫのセットが管理されている。
【０１３８】
鍵管理部１４０’には、図１７に示すような鍵ＫＥＫセット２２１が管理されている。すなわちこの場合、鍵ＫＥＫセット２２１として、鍵ＫＥＫ１６１、鍵ＫＥＫ１６２、鍵ＫＥＫ１６４、鍵ＫＥＫ１６８、および、鍵ＫＥＫ１７６が管理されている。
【０１３９】
このように、鍵管理部１４０には、複数の鍵が管理されているため、どの鍵を用いて復号を行うかの情報も、コンテンツ暗号化鍵ＣＫと共に供給される。このどの鍵を用いて復号を行うかの情報は、鍵ＫＥＫのＩＤである。復号部１４２’は、供給された鍵ＫＥＫのＩＤを参照し、鍵管理部１４０に管理されている鍵ＫＥＫのセットから１つの鍵ＫＥＫを読み出す。
【０１４０】
例えば、鍵ＫＥＫのＩＤが鍵ＫＥＫ１６１を示すものであった場合、鍵ＫＥＫセット２２１から、鍵ＫＥＫ１６１が読み出される。
【０１４１】
読み出された鍵ＫＥＫが用いられてコンテンツ暗号化鍵ＣＫの復号が行われる。復号部１４２’に供給されるコンテンツ暗号化鍵ＣＫは、上記したように、
Ｅ（Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）、コンテンツ暗号化鍵ＣＫ）
と暗号化されている。この暗号化されているコンテンツ暗号化鍵ＣＫを復号するために、鍵管理部１４０’で管理されている鍵ＫＥＫが用いられる。
【０１４２】
ここで、読み出された鍵ＫＥＫが、
鍵ＫＥＫ１６１
であり場合、かつ、コンテンツ暗号化鍵ＣＫが、
Ｅ（Ｅ（鍵ＫＥＫ１６１、鍵ＫＥＫ１６１）、コンテンツ暗号化鍵ＣＫ）
であった場合、コンテンツ暗号化鍵ＣＫの暗号化に用いられた鍵ＫＥＫ（鍵ＫＥＫ１６１）と読み出された鍵ＫＥＫ（鍵ＫＥＫ１６１）が同一であるので、読み出された鍵ＫＥＫを用いて、正常にコンテンツ暗号化鍵ＣＫの復号が行われる。
【０１４３】
しかしながら、例えば、読み出された鍵ＫＥＫが、
鍵ＫＥＫ１６１
であり場合、かつ、コンテンツ暗号化鍵ＣＫが、
Ｅ（Ｅ（鍵ＫＥＫ１６２、鍵ＫＥＫ１６２）、コンテンツ暗号化鍵ＣＫ）
であった場合、コンテンツ暗号化鍵ＣＫの暗号化に用いられた鍵ＫＥＫ（鍵ＫＥＫ１６２）と読み出された鍵ＫＥＫ（鍵ＫＥＫ１６１）が同一ではないので、読み出された鍵ＫＥＫを用いて、正常にコンテンツ暗号化鍵ＣＫを復号することができない。
【０１４４】
端末２２が、端末２１から正当に鍵ＫＥＫを配布されていれば（排除されたりしていなければ）、コンテンツ暗号化鍵ＣＫに用いられた鍵ＫＥＫを管理しているため、上記したようなコンテンツ暗号化鍵ＣＫを復号できないといった状況が発生する可能性はないが、正当に鍵ＫＥＫが配布されていなければ発生する可能性がある。
【０１４５】
そこで、コンテンツ暗号化鍵ＣＫが正当（正常）に復号できたか否かが、ステップＳ２４６において判断される。コンテンツ暗号化鍵ＣＫが正常に復号できたか否かを判断する前の段階で、
Ｅ（Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）、コンテンツ暗号化鍵ＣＫ）
に含まれる
Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）
を復号し、その復号された鍵ＫＥＫと、鍵ＫＥＫのＩＤに対応し、鍵管理部８８から読み出される鍵ＫＥＫが一致しているか否かを確認することができ、一致すれば正当であると判断することができる。
【０１４６】
このような、復号された鍵ＫＥＫと読み出された鍵ＫＥＫが一致するか否かを判断することにより、サーバ１１側で行われた暗号化自体が正当であるか否かを判断することができる。仮に、一致しなければ、何らかの不正な処理が行われた可能性があり、そのようなサーバ１１は利用しないようにするといった処理を行うことが可能となる。
【０１４７】
ステップＳ２４６において正常にコンテンツ暗号化鍵ＣＫの復号ができたと判断された場合、ステップＳ２４７に処理が進められるが、正常にコンテンツ暗号化鍵ＣＫの復号ができなかったと判断された場合、図１６のフローチャートの処理は終了される。
【０１４８】
ステップＳ２４７において、正常に復号されたコンテンツ暗号化鍵ＣＫが用いられ、暗号化されているコンテンツが復号される。復号部１４２’に供給されるコンテンツは、サーバ１１側でステップＳ２０３（図１４）において、暗号化されているため、
Ｅ（コンテンツ暗号化鍵ＣＫ、Ｅ（マスター鍵ＭＫ、コンテンツＣ））
という状態のデータとされている。
【０１４９】
ステップＳ２４７においては、まず、復号されたコンテンツ暗号化鍵ＣＫで、Ｅ（コンテンツ暗号化鍵ＣＫ、Ｅ（マスター鍵ＭＫ、コンテンツＣ））が復号される（コンテンツの復号１とする）。この復号が行われることにより、Ｅ（マスター鍵ＭＫ、コンテンツＣ）が取り出される。
【０１５０】
次に、ステップＳ２４８において、コンテンツの復号２が実行される。このコンテンツの復号２では、マスター鍵ＭＫを鍵として復号が行われる。この復号が行われることにより、コンテンツＣが取り出される。
【０１５１】
このようにして、暗号化されているコンテンツの復号が行われる。
【０１５２】
図１８を参照し、再度、コンテンツの利用に関する処理について説明を加える。図１８において、“ＩＤ”との記載は、鍵ＫＥＫのＩＤのことを意味し、“ＫＥＫ”との記載は、鍵ＫＥＫのことを意味し、“ＣＫ”との記載は、コンテンツ暗号化鍵ＣＫのことを意味し、“ＭＫ”との記載は、マスター鍵ＭＫのことを意味し、“Ｃ”との記載は、コンテンツＣのことを意味する。
【０１５３】
ステップＳ２４２において受信された鍵ＫＥＫのＩＤに対応する
鍵ＫＥＫ
が、鍵管理部１４０の鍵ＫＥＫのセットから読み出される。
【０１５４】
ステップＳ２４３において受信された
Ｅ（Ｅ（鍵ＫＥＫ、鍵ＫＥＫ）、コンテンツ暗号化鍵ＣＫ）
に対して、
鍵ＫＥＫ
を鍵とした復号が、ステップＳ２４４において行われる。
【０１５５】
ステップＳ２４４における復号により、
コンテンツ暗号化鍵ＣＫ
が取り出される。
【０１５６】
ステップＳ２４３において受信された
Ｅ（コンテンツ暗号化鍵ＣＫ、Ｅ（マスター鍵ＭＫ、コンテンツＣ））
に対して、
コンテンツ暗号化鍵ＣＫ
を鍵とした復号が、ステップＳ２４６において行われる。
【０１５７】
ステップＳ２４６における復号により、
Ｅ（マスター鍵ＭＫ、コンテンツＣ）
が取り出される。
【０１５８】
ステップＳ２４６において取り出された
Ｅ（マスター鍵ＭＫ、コンテンツＣ）
に対して、マスター鍵保持部１３７で保持されている
マスター鍵ＫＭ
を鍵とした復号が、ステップＳ２４７において行われる。
【０１５９】
ステップ２４７における復号により、
コンテンツＣ
が取り出される。すなわち、コンテンツＣが復号される。
【０１６０】
このようにして復号されたコンテンツＣは、コンテンツ管理部１４１（図５）に記憶（管理）される。
【０１６１】
図１９を参照し、再度、コンテンツの利用に関する処理について説明を加える。図１９は、図１８と同様の記載をしているが、図１９を参照して説明するコンテンツの利用に関する処理は、正常にコンテンツＣを復号できない場合である。
【０１６２】
正常にコンテンツＣを復号できない場合として、例えば、後述する、所定の端末の排除の処理が実行されることにより、コンテンツの公開先として排除されてしまった端末になったときなどがある。所定の端末の排除の処理が実行されることにより、コンテンツ暗号化鍵ＣＫを暗号化する鍵ＫＥＫが変更される。この変更は、すなわち、鍵ＫＥＫのＩＤの変更になる。
【０１６３】
よって、ステップＳ２４２において受信される鍵ＫＥＫのＩＤは、図１８に説明した場合と異なるＩＤ’とされている。また、鍵ＫＥＫも図１８に説明した場合と異なる鍵ＫＥＫ’とされている。
【０１６４】
ステップＳ２４２において受信された鍵ＫＥＫのＩＤ’に対応する
鍵ＫＥＫ’
が、鍵管理部１４０の鍵ＫＥＫのセットから読み出される。しかしながら、排除対象になっている端末であれば、変更された鍵ＫＥＫのＩＤ’に対応する鍵ＫＥＫ’が、鍵管理部１４０に管理されていることはない。よって、ステップＳ２４２における処理で、鍵ＫＥＫ’が読み出されないので、その後の処理は行われない。
【０１６５】
仮に、鍵ＫＥＫのＩＤ’と同じＩＤを有する鍵ＫＥＫが鍵管理部１４０で管理されており、鍵ＫＥＫが読み出されたとしても、その読み出される鍵ＫＥＫは、鍵ＫＥＫ’とは異なる鍵ＫＥＫである。よって、正当性が確認できないため、処理は終了される。
【０１６６】
仮に鍵ＫＥＫのＩＤ’に対応する鍵ＫＥＫが読み出されてしまった場合、また、通常、正当性が確認できなかったため、処理が終了されるのが、何らかの原因で終了されなかった場合（例えば、不正が行われた場合）、ステップＳ２４３において受信された
Ｅ（Ｅ（鍵ＫＥＫ’、鍵ＫＥＫ’）、コンテンツ暗号化鍵ＣＫ）
に対して、読み出された
鍵ＫＥＫ
を鍵とした復号が、ステップＳ２４４において行われる。
【０１６７】
Ｅ（Ｅ（鍵ＫＥＫ’、鍵ＫＥＫ’）、コンテンツ暗号化鍵ＣＫ）は、Ｅ（鍵ＫＥＫ’、鍵ＫＥＫ’）を鍵として暗号化されているため、鍵ＫＥＫでは正しく復号することができない。よって、仮に、鍵ＫＥＫが読み出されるなど、不都合な状態が発生したとしても、このような状況下では、コンテンツが正常に復号されることがない。
【０１６８】
このように、サーバ１１側で、暗号化に用いる鍵ＫＥＫを変えることにより、所定の端末（排除対象とされた端末）においては、コンテンツを復号できないことになる。このことは、不当に鍵ＫＥＫやコンテンツを取得した第３者においても同じであり、結果的にコンテンツを復号（利用）することができない。よって、第３者にコンテンツを不当に利用されてしまうといったことを防ぐことが可能となる。
【０１６９】
［端末側の所定の端末の排除に関する処理］
上記したように、一旦鍵を配布した端末（コンテンツを公開した端末）を、排除する（コンテンツを公開しないようにする）ことができる。端末２１が行う、所定の端末の排除に関する処理（図６のステップＳ１４に対応する処理）について、図２０のフローチャートを参照して説明する。
【０１７０】
ステップＳ２６１において、端末２１の情報送受信部１４３（図５）は、排除対象とする端末のＩＤと、その端末に公開しないコンテンツを送信する（コンテンツそのものでなくても、コンテンツを識別するためのコンテンツＩＤなどでもよい）。端末２１は、他の端末に鍵を配布するとき、配布先の端末を識別するためのユーザＩＤを端末毎に割り当てている（図７のステップＳ１０４）。その処理で割り当てたユーザＩＤを、サーバ１１に対して送信する。
【０１７１】
［サーバ側の所定の端末の排除に関する処理について］
端末２１側で、所定の端末の排除に関する処理が実行されると、その処理に対応し、サーバ１１側でも所定の端末の排除に関する処理（図６のステップＳ３３に対応する処理）が実行される。図２１は、サーバ側の所定の端末の排除に関する処理について説明するためのフローチャートである。
【０１７２】
ステップＳ２８１において、サーバ１１の情報取得部８１は、端末２１からの情報を受信する。その情報には、端末２１側で排除したい端末として設定された端末のユーザＩＤと、その排除対象とされる端末に公開したくないとして設定されたコンテンツそのもの（または、対応するコンテンツＩＤ）とが含まれている。
【０１７３】
ステップＳ２８２において、受信されたコンテンツを暗号化するためのコンテンツ暗号化鍵ＣＫが設定される。ステップＳ２８２乃至Ｓ２８７の処理は、基本的に、図１４のステップＳ２０２乃至２０７と同様であるので、その詳細な説明は省略する。
【０１７４】
すなわち、図２１に示したフローチャートの処理（サーバ側の所定の端末の排除に関する処理）は、公開するコンテンツを暗号化するコンテンツ暗号化鍵ＣＫを、排除対象となる端末が復号できない鍵に変更（コンテンツ暗号化鍵ＣＫを暗号化する鍵ＫＥＫを変更）する処理であり、コンテンツを暗号化するといった点では、図１４に示したフローチャートの処理（サーバ側のコンテンツに関する処理）と同様である。よって、その処理は、同様の流れとすることができる。
【０１７５】
具体的に“公開するコンテンツを暗号化するコンテンツ暗号化鍵ＣＫを、排除対象となる端末が復号できない鍵に変更する”とは、暗号化部８３により、新たに乱数を発生させ、その乱数を、新たなコンテンツ暗号化鍵ＣＫと設定することにより、その変更は行われる。  
【０１７６】
また、“コンテンツ暗号化鍵ＣＫを暗号化する鍵ＫＥＫを変更する”ということに関し、図８を再度参照して説明する。例えば、暗号化に用いられていた鍵ＫＥＫが、鍵ＫＥＫ１６４であり、かつ、排除対象とされている端末が、端末１２４である場合、コンテンツ暗号化鍵ＣＫを暗号化する鍵ＫＥＫは、鍵ＫＥＫ１６８に変更される。
【０１７７】
鍵ＫＥＫ１６８は、端末１２４には配布されていないため、この鍵ＫＥＫ１６８を鍵として暗号化されたデータを、端末１２４は、復号することができない。よって、Ｅ（鍵ＫＥＫ１６８、鍵ＫＥＫ１６８）を鍵として、コンテンツ暗号化鍵ＣＫを暗号化することで、端末１２４を実質的に排除することが可能となる。
【０１７８】
このように暗号化に用いられる鍵ＫＥＫが変更された場合、その変更後の鍵ＫＥＫを示す鍵ＫＥＫのＩＤが、コンテンツ暗号化鍵ＣＫやコンテンツと関連付けられてコンテンツ管理部８５で管理される。
【０１７９】
このようにして、新たな鍵ＫＥＫにより暗号化が行われることにより、排除された端末側では、図１９を参照して説明したように、コンテンツを復号できなくなるため、仮にサーバ１１からコンテンツを取得することができても、結果的には復号できないので、排除されたことになる。
【０１８０】
［端末側の情報の参照に関する処理］
上記したように、端末２１側では、自己が生成したコンテンツは、サーバ１１側で管理させるため、基本的に、端末２１側で管理する必要がない。よって、端末２１は、コンテンツを記憶させるための記憶容量を削減することができる。
【０１８１】
端末２１は、自己がサーバ１１に登録したコンテンツを参照できるように構成されている。その端末側の情報の参照に関する処理（図６のステップＳ１５に対応する処理）について、図２２のフローチャートを参照して説明する。
【０１８２】
ステップＳ３０１において、端末２１の情報送受信部１４３（図５）は、参照したいコンテンツのコンテンツＩＤをサーバ１１に対して送信する。サーバ１１側で、コンテンツＩＤを受信したことによる処理が実行されることにより、端末２１に、サーバ１１からコンテンツが送信されてくる。この送信されてくるコンテンツには、コンテンツそのもののデータの他に、そのコンテンツを公開しているユーザ（端末）のユーザＩＤ（公開先リスト）が含まれる。さらに、そのコンテンツが公開された公開日などの情報もあわせて受信されるようにしても良い。
【０１８３】
このようにして、端末２１のユーザは、サーバ１１に登録したコンテンツを参照することができる。
【０１８４】
［サーバ側の情報の参照に関する処理について］
端末２１側において、図２２に示したような処理が実行されると、その処理に対応する処理として、サーバ１１側では、サーバ側の情報の参照に関する処理（図６のステップＳ３４に対応する処理）が実行される。図２３のフローチャートを参照し、サーバ１１側で実行される情報の参照に関する処理について説明する。
【０１８５】
ステップＳ３２１において、サーバ１１のコンテンツ公開部８６は、端末２１から送信されてきたコンテンツＩＤを受信する。コンテンツ公開部８６は、ステップＳ３２２において、受信したコンテンツＩＤに対応するコンテンツ、そのコンテンツを公開した公開日、および、そのコンテンツを公開しているユーザ（端末）のユーザＩＤ（公開先リスト）をコンテンツ管理部８５と内部エータベース８７を参照して読み出す。
【０１８６】
コンテンツ公開部８６は、ステップＳ３２３において、読み出した情報を、要求を出してきた端末２１に対して送信する。
【０１８７】
［端末側の情報の削除に関する処理について］
端末２１は、上記したように、サーバ１１に登録させたコンテンツと、そのコンテンツに係わる情報を参照することができる。また、参照した結果、そのコンテンツを編集することも勿論可能である。さらに、編集の１つの処理とし、サーバ１１に登録させたコンテンツを削除するといったことも可能である。
【０１８８】
次に、端末２１で行われる情報の削除に関する処理（図６のステップＳ１６に対応する処理）について、図２４のフローチャートを参照して説明する。ステップＳ３４１において、端末２１の情報送受信部１４３（図５）は、削除したいコンテンツそのもの（またはコンテンツＩＤ）を、サーバ１１に対して送信する。
【０１８９】
［サーバ側の情報の削除に関する処理］
端末２１側から削除したいコンテンツが送信されると、サーバ１１は、その端末２１側の処理に対応する処理として、情報の削除に関する処理（図６のステップＳ３５に対応する処理）を実行する。図２５のフローチャートを参照し、サーバ１１側の情報の削除に関する処理について説明する。
【０１９０】
ステップＳ３６１において、サーバ１１のコンテンツ公開部８６は、端末２１から、削除対象のコンテンツを受信する。ステップＳ３６２において、削除対象とされたコンテンツ、鍵の情報、鍵ＫＥＫのＩＤなどが公開エリアから削除される。例えば、公開エリアに、図１５に示したようなコンテンツ２５１乃至２５３が管理されていた場合、そして、そのコンテンツ２５１乃至２５３が削除対象とされた場合、コンテンツ２５１乃至２５３そのもの、鍵ＫＥＫのＩＤ２４１、コンテンツ暗号化鍵ＣＫ２４２、および、公開先リスト２６１が削除される。
【０１９１】
コンテンツ２５１だけが削除対象とされていた場合、コンテンツ２５１そのものが削除される。この場合、コンテンツ２５２とコンテンツ２５３は、削除されないため、コンテンツ２５２とコンテンツ２５３を暗号化したコンテンツ暗号化鍵ＣＫ２４２と、そのコンテンツ暗号化鍵ＣＫ２４２を暗号化した鍵ＫＥＫのＩＤ２４１は、そのまま残される。
【０１９２】
ステップＳ３６３において、必要に応じ、内部データベース８７が更新される。
【０１９３】
このように、端末２１側で生成したコンテンツや暗号化に用いる鍵を、サーバ１１で管理させるようにすることで、記憶容量の小さい端末２１でも、コンテンツを公開することが可能となる。すなわち、端末２１側で管理するデータのサイズを削減することが可能となる。
【０１９４】
また、例えば、所定の端末を排除するような場合、上記したように、暗号化に用いる鍵ＫＥＫを変更することにより、また、変更後の鍵で再暗号化を行うことにより、その排除が実行されるが、その鍵の変更などに係わる演算は、端末２１側では行わず、サーバ１１側で行うので、端末２１側が演算能力が低くても、コンテンツの公開、鍵の変更などを行うことが可能となる。すなわち、端末２１側での演算量を低減させることが可能となる。
【０１９５】
また、上記したように、暗号化が行われるので、意図したユーザのみが、コンテンツを利用できるようになる。すなわち、公開したくないユーザに、コンテンツが公開されてしまうようなことを防ぐことが可能となる。さらに、サーバ１１に対しても暗号化したコンテンツを送付し、管理させることで、サーバ１１からコンテンツなどのデータが、意図しない第３者に利用されてしまったり、サーバ１１自体に悪用されてしまうといったような不都合が発生することを防ぐことが可能となる。
【０１９６】
［記録媒体について］
上述した一連の処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１９７】
記録媒体は、図２に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク６１（フレキシブルディスクを含む）、光ディスク６２（CD-ROM（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク６３（MD（Mini-Disc）（登録商標）を含む）、若しくは半導体メモリ４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ４２や記憶部４８が含まれるハードディスクなどで構成される。
【０１９８】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１９９】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【図面の簡単な説明】
【０２００】
【図１】本発明のシステムの一実施の形態の構成について説明する図である。
【図２】サーバの内部構成例を示す図である。
【図３】サーバの機能を説明する図である。
【図４】端末の内部構成例を示す図である。
【図５】端末の機能を説明する図である。
【図６】システムの動作について説明するフローチャートである。
【図７】端末の動作について説明するフローチャートである。
【図８】生成される鍵について説明するための図である。
【図９】鍵の記憶に関する処理について説明するためのフローチャートである。
【図１０】鍵管理部で管理されるデータについて説明するための図である。
【図１１】端末側の鍵に関する処理について説明するフローチャートである。
【図１２】サーバ側の鍵に関する処理について説明するためのフローチャートである。
【図１３】端末側のコンテンツに関する処理について説明するためのフローチャートである。
【図１４】サーバ側のコンテンツに関する処理について説明するためのフローチャートである。
【図１５】コンテンツ管理部で管理されるデータについて説明するための図である。
【図１６】コンテンツの利用に関する処理について説明するためのフローチャートである。
【図１７】鍵ＫＥＫセットについて説明するための図である。
【図１８】コンテンツの復号について説明するための図である。
【図１９】コンテンツの復号について説明するための図である。
【図２０】端末の排除に関する処理について説明するためのフローチャートである。
【図２１】端末の排除に関する処理について説明するためのフローチャートである。
【図２２】端末側の情報の参照に関する処理について説明するためのフローチャートである。
【図２３】サーバ側の情報の参照に関する処理について説明するためのフローチャートである。
【図２４】端末側の情報の削除に関する処理について説明するためのフローチャートである。
【図２５】サーバ側の情報の削除に関する処理について説明するためのフローチャートである。
【符号の説明】
【０２０１】
１１  サーバ，  ２１乃至２５  端末，  ８１  情報取得部，  ８２  蓄積部，  ８３  暗号化部，  ８４  保持部，  ８５  コンテンツ管理部，  ８６  コンテンツ公開部，  ８７  内部データベース，  ８８  鍵管理部，  １３１  鍵生成部，  １３２  鍵暗号化部，  １３３  鍵配布部，  １３４  鍵送信部，  １３５  コンテンツ生成部，  １３６  コンテンツ暗号化部，  １３７  マスター鍵保持部，  １３８  コンテンツ送信部，  １３９  取得部，  １４０  鍵管理部，  １４１  コンテンツ管理部，  １４２  復号部，  １４３  情報送受信部
【図１】
2006270344.tif 000003
【図２】
2006270344.tif 000004
【図３】
2006270344.tif 000005
【図４】
2006270344.tif 000006
【図５】
2006270344.tif 000007
【図６】
2006270344.tif 000008
【図７】
2006270344.tif 000009
【図８】
2006270344.tif 000010
【図９】
2006270344.tif 000011
【図１０】
2006270344.tif 000012
【図１１】
2006270344.tif 000013
【図１２】
2006270344.tif 000014
【図１３】
2006270344.tif 000015
【図１４】
2006270344.tif 000016
【図１５】
2006270344.tif 000017
【図１６】
2006270344.tif 000018
【図１７】
2006270344.tif 000019
【図１８】
2006270344.tif 000020
【図１９】
2006270344.tif 000021
【図２０】
2006270344.tif 000022
【図２１】
2006270344.tif 000023
【図２２】
2006270344.tif 000024
【図２３】
2006270344.tif 000025
【図２４】
2006270344.tif 000026
【図２５】
2006270344.tif 000027