説明

コンテンツ復号化装置、コンテンツ送信装置およびコンテンツ受信装置

【課題】 1回の通信で送信されるファイル毎に鍵を変更する送受信システムにおいても、送受信エラーの発生時に受信済以降のデータのみを再度送受信できる送受信システムを提供すること。
【解決手段】 受信装置20は、コンテンツの各データ範囲に対応付けて、1または複数の鍵を保存するための鍵リスト26に保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に属する鍵を選択し、選択された鍵を使用して、コンテンツのデータを復号化する。選択された鍵が、復号化しようとするコンテンツのデータ範囲に属さない場合、鍵リスト26に保存された鍵の中から、現在設定されている鍵とは異なる鍵を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化されたコンテンツを復号化する復号化装置、暗号化されたコンテンツを一旦復号化し、別の鍵で暗号化して送信する送信装置、および暗号化されたコンテンツを受信する受信装置、ならびにそれらの動作プログラムに関する。
【背景技術】
【0002】
コンテンツファイル(以下、単にファイルということがある)を送信する送信装置と、送信装置からファイルを受信してデータベースに保存する受信装置とを備えるコンテンツ送受信システムにおいて、ファイルの第三者による傍受または改ざん、あるいはファイルの不正使用を防止するために、ファイルを鍵によって暗号化する方法が採用されている。送信装置または受信装置は、ファイル毎に一意的な鍵を使ってファイルを暗号化/復号化する。また、1回の通信で送信されるファイル毎に鍵を変更することにより、セキュリティを向上することができる。
【0003】
一方、ファイルの送受信時に送受信エラー等の障害が発生すると、ファイルの送受信が途中で停止してしまう。この場合、ファイル全体を最初から送受信し直すと送受信が完了するまでに時間がかかってしまうので、受信済のデータ以降のデータのみを送受信する方法が採られている。しかし、この方法と、上記の1回の通信で送信されるファイル毎に鍵を変更する暗号化技術との両方を採用することは、以下の理由により不可能である。すなわち、1つのファイルの各データ範囲によって復号化する鍵が変更されてしまうからである。現在の技術では、受信装置は1つのファイルに対して鍵を1つしか保存しない。従って、ファイルを再生している途中で復号化する鍵が変わってしまい、ファイルの再生が途中で停止してしまう。そのため、1回の通信で送信されるファイル毎に鍵を変更する暗号化技術を用いる場合、送受信が途中で停止してしまうと、最初からファイル全体を送受信し直し、ファイルのデータ範囲によって鍵が変更されないようにする必要がある。
【0004】
【特許文献1】特開2000−341324号公報
【特許文献2】特開2003−318881号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明の目的は、1回の通信で送信されるファイル毎に鍵を変更する送受信システムにおいても、送受信エラーの発生時に受信済以降のデータのみを送受信できる送受信システムを提供することである。
【課題を解決するための手段】
【0006】
本発明の好ましい実施形態のコンテンツ復号化装置は、コンテンツを保存するためのコンテンツデータベースと、該コンテンツの各データ範囲に対応付けられた、1または複数の鍵を保存するための鍵リストと、該鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択する鍵選択手段と、該鍵選択手段によって選択された鍵を使用して、該コンテンツのデータを復号化する復号化手段とを備える。
【0007】
鍵リストにはコンテンツの各データ範囲(鍵有効範囲)に対応して一意の鍵が保存されている。コンテンツを復号化する場合には、まず鍵リストの中からこれから復号化しようとするデータ範囲に対応した鍵を選択して、この鍵を設定する。選択された鍵を使用してコンテンツのデータを復号化する。つまり、鍵リストに保存されている鍵を順番に使用することにより、コンテンツのデータ全体を復号化することができる。従って、通信毎に鍵を変更する技術においても、送受信エラー等によりコンテンツ受信が途中で停止した時に、受信済のデータ以降のデータのみ再取得することができる。通信毎に変化する鍵を受信したデータ範囲に対応付けて保存して、データ範囲に対応する鍵を鍵リストに基づいて選択し、復号化するからである。
【0008】
好ましい実施形態においては、コンテンツ復号化装置は、上記鍵選択手段によって選択された鍵が、復号化しようとするコンテンツのデータ範囲に対応するか否かを判断する判断手段をさらに備える。該判断手段が選択された鍵が復号化しようとするコンテンツのデータ範囲に対応しないと判断した場合、上記鍵選択手段は、上記鍵リストに保存された鍵の中から、現在選択されている鍵とは異なる鍵を選択する。
【0009】
選択されている鍵が復号化しようとするデータ範囲に対応しないと判断されると、鍵リストの中から別の鍵を選択し設定する。つまり、現在選択されている鍵がデータ範囲に対応する間は、選択されている鍵を使ってコンテンツのデータを復号化し、現在選択されている鍵が復号化しようとするデータ範囲を外れると鍵を変更して、変更した鍵を使用して再びコンテンツのデータを復号化する。そのため、鍵リストに保存された鍵を順番に使ってデータ範囲の全てを復号化することができる。
【0010】
好ましい実施形態においては、コンテンツ復号化装置は、上記コンテンツおよび該コンテンツを復号化する鍵を受信する受信手段と、該鍵を、該コンテンツの各データ範囲に対応付けて前記鍵リストに登録する鍵登録手段とをさらに備える。
【0011】
コンテンツを受信した場合に、受信したコンテンツの各データ範囲に対応付けて鍵を保存するので、上記の通り、通信毎に変化する鍵を受信したデータ範囲毎に保存することができる。
【0012】
本発明の別の局面においては、コンテンツ復暗号化システムが提供され得る。このシステムは、上記のコンテンツ復号化装置と、コンテンツ暗号化装置とを備える。該コンテンツ暗号化装置は、コンテンツを暗号化する鍵を生成する鍵生成手段と、該鍵生成手段が生成した鍵を使用して該コンテンツを暗号化する暗号化手段と、該コンテンツおよび該鍵を該コンテンツ復号化装置に送信する送信手段とを有する。
【0013】
本発明の好ましい実施形態のコンテンツ送信装置は、コンテンツを保存するためのコンテンツデータベースと、該コンテンツの各データ範囲に対応付けられた、1または複数の鍵を保存するための鍵リストと、該鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択する鍵選択手段と、該鍵選択手段によって選択された鍵を使用して、該コンテンツのデータを復号化する復号化手段と、受信装置が該コンテンツを復号化するための受信装置用鍵を生成する鍵生成手段と、該鍵生成手段が生成した該受信装置用鍵を使用して、該復号化手段が復号化したコンテンツを暗号化する暗号化手段と、該暗号化手段が暗号化したコンテンツを該受信装置に送信する送信手段とを備える。
【0014】
コンテンツを送信する際には、まず、受信装置用鍵を生成する。鍵リストの中から送信しようとするデータ範囲に対応した鍵を選択して、この鍵を設定する。選択した鍵を使ってコンテンツのデータを復号化する。生成した受信装置用鍵を使用して再びコンテンツを暗号化し、受信装置に送信する。例えば、ピアツーピア通信方式では装置間でお互いにコンテンツの送受信が行われ、1台の装置が送信装置の機能と受信装置の機能とを有する。すなわち、送信装置も他装置からコンテンツを受信することになるが、この時にコンテンツのデータ範囲の全てを復号化できるように、データ範囲に対応付けて鍵を保存している。送信装置がコンテンツを送信する際にはコンテンツを一旦復号化する必要があるからである。
【0015】
本発明の好ましい実施形態のコンテンツ受信装置は、コンテンツを保存するためのコンテンツデータベースと、該コンテンツの各データ範囲に対応付けられた、1または複数の鍵を保存するための鍵リストと、該コンテンツおよび該コンテンツを復号化する鍵を受信する受信手段と、該コンテンツを該コンテンツデータベースに登録するコンテンツ登録手段と、該鍵を、該コンテンツのデータ範囲に対応付けて該鍵リストに登録する鍵登録手段とを備える。
【0016】
コンテンツを受信すると、受信したコンテンツのデータ範囲(鍵有効範囲)に対応付けて一意に鍵を保存する。そのため、コンテンツを復号化する場合に、鍵リストの中からこれから復号化しようとするデータに対応した鍵を選択して、この鍵を設定し、選択した鍵を使ってコンテンツのデータを復号化することができる。つまり、鍵リストに保存されている鍵を順番に使用することにより、コンテンツのデータ範囲全体を復号化することができる。従って、通信毎に鍵を変更する技術においても、送受信エラー等によりコンテンツ送受信が途中で停止した時に、受信済のデータ以降のデータのみを再取得することができる。通信毎に変化する鍵を受信した各データ範囲毎に保存して、データ範囲に対応する鍵を鍵リストに基づいて設定し、復号化することができるからである。
【0017】
好ましい実施形態においては、コンテンツ受信装置は、上記鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択する鍵選択手段と、該鍵選択手段によって選択された鍵を使用して、該コンテンツのデータを復号化する復号化手段と、該復号化手段が復号化したコンテンツのデータを再生する再生手段とをさらに備える。
【0018】
本発明の別の局面においては、コンテンツ復号化プログラムが提供され得る。このプログラムは、コンテンツの各データ範囲に対応付けられた1または複数の鍵を保存するための鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択する鍵選択ステップと、該鍵選択ステップによって選択された鍵を使用して、該コンテンツのデータを復号化する復号化ステップとをコンピュータに実行させる。
【0019】
本発明のさらに別の局面においては、コンテンツ受信プログラムが提供され得る。このプログラムは、送信装置からコンテンツおよび該コンテンツを復号化する鍵を受信する受信ステップと、該受信したコンテンツをコンテンツデータベースに登録するコンテンツ登録ステップと、該コンテンツの各データ範囲に対応付けて、1または複数の鍵を保存するための鍵リストに、該受信した鍵を該受信したコンテンツのデータ範囲に対応付けて登録する鍵登録ステップとをコンピュータに実行させる。
【発明の効果】
【0020】
本発明のコンテンツ復号化装置は、鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択し、選択した鍵を使用して、コンテンツのデータを復号化するので、通信毎に鍵が変更し1つのコンテンツのデータ範囲毎に鍵が異なる場合にも、コンテンツのデータ全体を復号化することができる。
【発明を実施するための最良の形態】
【0021】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態によるコンテンツ送受信システム1の構成を示すブロック図である。例えば、コンテンツ送受信システム1は、ピアツーピア型のコンテンツ送受信システムであり、複数のピア間でコンテンツを相互に送受信する。図1の例では、2つのピア10および20を記載しており、説明を簡単化するため、ピア10は特に送信装置10としての機能に注目して記載し(以下、送信装置10とする)、ピア20は受信装置20としての機能を注目して記載する(以下、受信装置20とする)。なお、送信装置10および受信装置20は、コンテンツを復号化する復号化装置の機能を有する。送信装置10および受信装置20はインターネット、LAN等のネットワーク30を介して相互に接続される。送信装置10は、鍵によって暗号化されたコンテンツ(例えば、映像、音楽、音声および/または静止画等)のファイル(以下、単にファイルということがある)を保有している。送信装置10は、鍵によってファイルを一旦復号化し、新たに生成した鍵によって再びファイルを暗号化してファイルを鍵と共に受信装置20に送信する。受信装置20は、送信装置10から送信されたファイルおよび鍵を受信し、その鍵を使ってファイルを復号化して再生する。
【0022】
送信装置10は、コンテンツデータベース11、送信装置10全体の動作を制御するマイコン12、ROM、RAM、バッファメモリ等のメモリ13、暗号/復号アプリケーション14、インターフェース15、および鍵データベース16を有する。コンテンツデータベース11、暗号/復号アプリケーション14および鍵データベース16は例えば図示しないハードディスクに格納されている。コンテンツデータベース11は複数のコンテンツのファイルを保存する。暗号/復号アプリケーション14は、コンテンツデータベース11に保存されたファイルを鍵データベース16内に保存された鍵によって復号化する。暗号/復号アプリケーション14は、また、鍵を生成し、生成した鍵によってファイルを暗号化する。鍵は、暗号/復号アプリケーション14によって通信毎にその都度生成される。インターフェース15は、受信装置20からコンテンツ送信の要求を受信し、暗号化されたファイルおよび鍵を受信装置20に送信するインターフェースである。鍵データベース16は、詳細は後述するが、ファイルの各データ範囲に対応する1または複数の鍵を保存する。
【0023】
受信装置20は、コンテンツデータベース21、受信装置20全体の動作を制御するマイコン22、ROM,RAM,バッファメモリ等のメモリ23、復号アプリケーション24、インターフェース25、鍵データベース26および再生アプリケーション27を有する。インターフェース25は、送信装置10にファイル送信の要求を送信し、送信装置10からファイルおよび鍵を受信するインターフェースである。コンテンツデータベース21、復号アプリケーション24、鍵データベース26および再生アプリケーション27は例えば図示しないハードディスクに格納されている。コンテンツデータベース21は送信装置10から受信したファイルを保存する。復号アプリケーション24は、鍵データベース26に保存された鍵によって、コンテンツデータベース21に保存されたファイルを復号化する。復号プログラム24は、また、送信装置10から受信した鍵をファイルのデータ範囲に対応付けて鍵データベース26に保存する。鍵データベース26は、詳細は後述するが、ファイルの各データ範囲に対応する1または複数の鍵を保存する。再生アプリケーション27は、コンテンツデータベース21に保存されたファイルを再生する。
【0024】
鍵データベース16,26の詳細を説明する。鍵データベースは、ファイルの各データ範囲に対応付けて、各データを復号化するための鍵を保存する。すなわち、本例では通信毎に鍵を変えてファイルのデータが送信されるので、1つのファイルであってもデータ範囲によって復号化する鍵が異なる。そこで、各データ範囲毎に復号化するための鍵を保存する。鍵データベースは、表1に示す鍵リストを保存している。鍵リストは、1つのファイルに対して1つ保存されており、ファイルの各データ範囲に対応する鍵を管理するリストである。
【表1】

【0025】
鍵リストは、鍵番号と鍵情報とを含む。鍵番号は、各鍵情報に付与される通し番号(0,1,2,・・)であり、1つのファイルに対する鍵の数だけこの番号が存在する。鍵情報は、ファイルの各データ範囲を復号化する鍵に関する情報である。鍵情報の詳細を表2に示す。
【表2】

【0026】
鍵情報は、鍵cryptkeyおよび鍵有効範囲offsetを含む。鍵cryptkeyには、ファイルの各データ範囲を復号化する鍵が保存される。鍵有効範囲は、対応する鍵によって復号化できるファイルのデータ範囲を示す。鍵有効範囲には、例えば、対応する鍵によって復号化できるデータ範囲の終了アドレスが保存される。終了アドレスのみが保存されることにより、鍵によって復号化できるデータ範囲の開始アドレスも判断できる。すなわち、復号化できるデータ範囲の開始アドレスは、鍵番号が1つ前の鍵によって復号化できるデータの終了アドレスである。もちろん、鍵有効範囲として、開始アドレスのみ、開始アドレスと終了アドレス、または開始アドレスとサイズ等を用いてもよい。
【0027】
図2は、鍵と、鍵によって復号化できる各データ範囲との対応関係を示す図である。鍵0によって復号化できるデータは開始アドレス0から終了アドレス149までのデータA0(サイズは150)であり、鍵1によって復号化できるデータは開始アドレス150から終了アドレス399までのデータA1(サイズは250)である(以下、A2,A3共に同様)。
【0028】
次に、コンテンツ送受信システム1の動作を説明する。まず、送信装置10のファイル送信処理(復号化処理および暗号化処理を含む)について図3を参照して説明する。送信装置10は、受信装置20がファイルを復号化するための鍵を生成する(S301)。本例では、セキュリティを高めるため、同一のファイルに対して装置毎に鍵を変更している。ここでは、受信装置20用の鍵を新たに生成する。鍵の生成は、マイコン12が暗号/復号アプリケーション14を実行して行われる。送信装置10は、復号開始アドレスをメモリ13に設定する(S302)。復号開始アドレスは、暗号化されたファイルの復号化を開始する最初のアドレスである。復号開始アドレスは、また、復号完了した位置を把握するためのアドレスでもある。ファイルを受信装置20に送信する際に、受信装置20が送信を要求するファイルの開始アドレスを指定するので、送信装置10はこのアドレスを復号開始アドレスとして設定する。通常、ファイルの全てを送信する場合、復号開始アドレスは0に設定される。
【0029】
送信装置10は、鍵リストに基づいて、S302で設定された復号開始アドレスに対応する鍵をメモリ13内に設定する(選択する)(S303)。鍵を設定するとは、復号開始アドレスに対応する鍵番号を選択してメモリ13に設定することを意味する。例えば、図2を参照して、復号開始アドレスが0に設定された場合、鍵番号は0に設定される。送信装置10は、設定された復号開始アドレスがファイルサイズ未満であるか否かを判断する(S304)。復号開始アドレスがファイルサイズに達していればファイル送信処理終了となるが、ファイルサイズ未満であればS305〜S310の処理を繰り返す。なお、ファイルサイズはコンテンツ情報として記憶されている。送信装置10は、復号開始アドレスが現在設定されている鍵番号の鍵有効範囲内に属するか否かを判断する(S305)。鍵有効範囲内であれば、鍵リストに基づいて、現在設定されている鍵番号に対応する鍵を使ってファイルのデータを復号化する(S306)。
【0030】
送信装置10は、S306で復号化されたファイルのデータを、S301で新たに生成した受信装置20用の鍵を使って再び暗号化する(S307)。暗号化はマイコン12が暗号/復号アプリケーションを実行することにより行われる。送信装置10は、暗号化したファイルのデータをインターフェース15を介して受信装置20に送信する(S308)。この際に、図4に示す通り、ファイルのヘッダ部分に送信予定のファイルサイズおよびS301で生成した鍵を添付して送信する。送信装置20は、設定されている復号開始アドレスにS306で復号化したデータのサイズを加算して、新たな復号開始アドレスを算出し、メモリを書き換える(S309)。
【0031】
以上の処理を繰り返していると、復号開始アドレスが鍵有効範囲に属さないようになる(S305:NO)。その時、送信装置10は鍵番号をインクリメントする(1加える)ことにより、設定されている鍵を別の鍵に変更する(S310)。例えば、図2を参照して、鍵番号を1に変更する。従って、新たに設定した鍵番号に対応する鍵によってファイルのデータを復号化できるようになる。これは、鍵番号がデータのアドレスの順番に付与されているので、鍵番号をインクリメントすると、次に復号化するデータ範囲の鍵を設定できるからである。以上の動作により、ファイルを送信するが、送受信エラー等の理由によりファイルの送受信が中断した場合、受信装置20は受信済のデータの終了アドレスを指定して、受信済のデータ以降のデータの送信を要求する。送信装置10は鍵を新たに生成し(S301)、復号開始アドレスを受信装置20が指定したアドレスに設定して、上記と同じ処理を繰り返す。
【0032】
次に、受信装置20の受信処理について図5を参照して説明する。受信装置20は、ファイルの受信済サイズを0に初期化する(S501)。受信済サイズはメモリ23内に設定される。受信装置20は、送信装置10からファイルを受信する(S502)。具体的には、受信装置20が開始アドレスを指定してファイル送信を送信装置10に要求する。送信装置10から図4に示すファイルが送信されるので、受信装置20はまずヘッダ部分のファイルサイズおよび鍵を受信し、次にデータ本体を受信する。受信装置20は、ファイルのデータをコンテンツデータベース21に登録する。ファイルの受信が一旦終了すると(正常にファイルのデータ全てを受信終了する場合だけでなく、送受信エラー等によりファイルの送受信が途中で中断した場合も含む)、メモリ23内の受信済サイズをS502で実際に受信したデータのサイズに書き換える(S503)。
【0033】
受信装置20は、受信予定のファイルサイズをメモリに設定する(S504)。ファイルサイズは図4に示すとおりファイルのヘッダに含まれている。受信装置20は、鍵リストの鍵番号0に、受信したファイルのデータ範囲に対応付けて鍵情報を登録する(S505)。まず、受信装置20は、ファイルの受信済サイズに基づいて鍵リストに鍵有効範囲を登録する。具体的には、図2のように、受信済サイズ(例えば150)を鍵有効範囲(終了アドレス)として登録する(ここでは、開始アドレスは0であるので、受信済サイズがそのまま終了アドレスになる)。次に、S502で受信したファイルのヘッダに含まれる鍵を鍵リストに登録する。これにより、S502で受信したファイルのデータに対応する鍵情報が鍵リストに登録される。
【0034】
次に、受信装置20は受信済サイズがS504で設定したファイルサイズ未満であるか否かを判断する(S506)。S502において正常にファイルのデータ全てを受信できれば、受信済サイズはファイルサイズと等しくなるので(S506:NO)、受信処理を終了する。この場合、鍵リストには1つの鍵情報のみが登録される。
【0035】
一方、S502において送受信エラー等によりファイルの送受信が途中で中断した場合、受信済サイズはファイルサイズ未満であるので(S506:YES)、S507〜S510へと進み、受信済のデータ以降のデータを受信する。つまり、送受信エラーによって受信が中断した回数だけS506〜S510の処理が繰り返される。詳細には、受信装置20は、受信済データの終了アドレスを、データを取得開始するアドレスとして指定し、送信装置10に受信済のデータ以降のデータを送信するよう要求する。そして、ファイルのデータを受信し、コンテンツデータベース21に登録する(S507)。
【0036】
受信装置20は、受信済サイズをS507で実際に受信したデータのサイズに書き換える(S508)。受信装置20は今回の受信予定のファイルサイズをメモリに設定する(S509)。ファイルサイズは図4に示すとおりファイルのヘッダに含まれている。ここでは、S502で受信したデータを除く残りのデータサイズとなる。受信装置20は、鍵リストの鍵番号1に、受信したデータに対応する鍵の鍵情報を登録する(S510)。まず、受信装置20は、S507で受信したデータの受信済サイズに基づいて鍵有効範囲を鍵リストに登録する。具体的には、図2のように、受信済サイズ(例えば250)を、鍵番号1の鍵有効範囲に加算した値を終了アドレスである鍵有効範囲(例えば400)として登録する。次に、S507で受信したファイルのヘッダに含まれる鍵を鍵リストに登録する。これにより、S507で受信したファイルのデータに対応する鍵情報が登録される。S506に戻り、再び受信済サイズがS509で設定したファイルサイズ未満であるか否かが判断される。以上の処理を繰り返すことにより、S506で受信済サイズがファイルサイズと等しくなると、受信処理が終了する。なお、S506〜S510の処理を実行した回数分だけ鍵情報が追加される。例えば、S506〜S510の処理を3回繰り返した場合には、鍵リストには4つの鍵情報が登録される。
【0037】
次に、受信装置20のコンテンツ再生処理(復号化処理を含む)について図6を参照して説明する。ファイルの復号化に関しては、図3と同じまたは類似するので、図3と同一のステップ番号を付し、説明を簡略化する。受信装置20は、復号開始アドレスをメモリ23に設定する(S302)。ユーザが単にファイルの再生のみを入力した場合には、1つのファイルを最初から全て再生することになるので、復号開始アドレスは0に設定される。一方、ユーザがファイルの再生アドレスを入力した場合、ユーザが入力したアドレスが復号開始アドレスとして設定される。受信装置20は、鍵リストに基づいて、S302で設定された復号開始アドレスに対応する鍵番号をメモリ23内に設定する(S303)。復号開始アドレスがファイルサイズ未満であり(S304:YES)、復号開始アドレスが鍵有効範囲内にあるので(S305:YES)、受信装置20は設定された鍵番号に対応する鍵を使ってファイルを復号化する(S306)。
【0038】
受信装置20は、S306で復号化したファイルのデータを再生する(S601)。具体的には、再生アプリケーション27をマイコン22が実行することによってファイルのデータを再生する。例えば、ファイルがエンコードされた映像データである場合には、ファイルのデータをデコードして外部に接続された図示しないディスプレイおよびスピーカー等に出力され、映像および音声として再生される。次に、受信装置20は、設定されている復号開始アドレスにS306で復号化したデータのサイズを加算して、新たな復号開始アドレスを算出し、メモリ23を書き換える(S309)。S304〜S309の処理を繰り返していると、復号開始アドレスが鍵有効範囲に属さないようになる(S305:NO)。S310において、受信装置10は鍵番号をインクリメントすることにより、ファイルのデータを新たに設定した鍵番号に対応する鍵によって復号化できるようになる(S306)。以上の動作を繰り返すことにより、S304で復号開始アドレスがファイルサイズに達すると、再生処理を終了する。
【0039】
以上のように、ファイルの各データ範囲に対応付けて鍵を保存することにより、1つのファイルのデータ範囲によって鍵が異なる場合であっても、ファイルの全体を復号化することができる。復号化した後に、ファイルを再生し、あるいは再び暗号化して送信することができる。
【0040】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。例えば、図6のS310で鍵番号をインクリメントした後、S305に戻って復号開始アドレスが鍵有効範囲に属するか否かを再度判断してもよい。例えば、ファイルを巻き戻す場合や早送りする場合、単に鍵番号を1つ進めるだけでは復号開始アドレスに対応する鍵番号を設定できない場合がある。そのため、鍵有効範囲が復号開始アドレスに対応するまでS305,S310の処理を繰り返せばよい。また、コンテンツ送信装置は暗号化されたコンテンツを保有しているが、暗号化されていないコンテンツを保有していてもよい。この場合、上記のコンテンツを一旦復号化する処理が省かれる。また、上記の送信装置の処理、受信装置の処理、あるいはこれらに含まれる復号化処理をコンピュータに実行させるプログラムが提供されてもよく、さらに、これらのプログラムを記録した記録媒体が提供されてもよい。
【産業上の利用可能性】
【0041】
本発明は、端末同士でコンテンツを相互に送受信するピアツーピア通信に適用可能である。この場合、1つの端末は、実施形態の送信装置および受信装置の機能を共に有する。また、ピアツーピア通信だけでなく、サーバ(送信装置)−クライアント(受信装置)方式にも適用可能である。
【図面の簡単な説明】
【0042】
【図1】コンテンツ送受信システムを示すブロック図である。
【図2】鍵リストの構成を示す図である。
【図3】送信装置の送信処理および復号化処理を示すフローチャートである。
【図4】送信装置が送信するファイルのデータ構造を示す図である。
【図5】受信装置の受信処理および鍵登録処理を示すフローチャートである。
【図6】受信装置の再生処理および復号化処理を示すフローチャートである。
【符号の説明】
【0043】
1 コンテンツ送受信システム
10 送信装置
20 受信装置
11、21 コンテンツデータベース
14 復号/暗号アプリケーション
24 復号アプリケーション
16、26 鍵データベース
27 再生アプリケーション

【特許請求の範囲】
【請求項1】
コンテンツを保存するためのコンテンツデータベースと、
該コンテンツの各データ範囲に対応付けられた、1または複数の鍵を保存するための鍵リストと、
該鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択する鍵選択手段と、
該鍵選択手段によって選択された鍵を使用して、該コンテンツのデータを復号化する復号化手段とを備える、コンテンツ復号化装置。
【請求項2】
前記鍵選択手段によって選択された鍵が、復号化しようとするコンテンツのデータ範囲に対応するか否かを判断する判断手段をさらに備え、
該判断手段が選択された鍵が復号化しようとするコンテンツのデータ範囲に対応しないと判断した場合、前記鍵選択手段が前記鍵リストに保存された鍵の中から、現在選択されている鍵とは異なる鍵を選択する、請求項1に記載のコンテンツ復号化装置。
【請求項3】
前記コンテンツおよび該コンテンツを復号化する鍵を受信する受信手段と、
該鍵を、該コンテンツの各データ範囲に対応付けて前記鍵リストに登録する鍵登録手段とをさらに備える、請求項1または2に記載のコンテンツ復号化装置。
【請求項4】
請求項1〜3のいずれかに記載のコンテンツ復号化装置と、コンテンツ暗号化装置とを備え、
該コンテンツ暗号化装置が、コンテンツを暗号化する鍵を生成する鍵生成手段と、
該鍵生成手段が生成した鍵を使用して該コンテンツを暗号化する暗号化手段と、
該コンテンツおよび該鍵を該コンテンツ復号化装置に送信する送信手段とを有する、コンテンツ復暗号化システム。
【請求項5】
コンテンツを保存するためのコンテンツデータベースと、
該コンテンツの各データ範囲に対応付けられた、1または複数の鍵を保存するための鍵リストと、
該鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択する鍵選択手段と、
該鍵選択手段によって選択された鍵を使用して、該コンテンツのデータを復号化する復号化手段と、
受信装置が該コンテンツを復号化するための受信装置用鍵を生成する鍵生成手段と、
該鍵生成手段が生成した該受信装置用鍵を使用して、該復号化手段が復号化したコンテンツを暗号化する暗号化手段と、
該暗号化手段が暗号化したコンテンツを該受信装置に送信する送信手段とを備える、コンテンツ送信装置。
【請求項6】
コンテンツを保存するためのコンテンツデータベースと、
該コンテンツの各データ範囲に対応付けられた、1または複数の鍵を保存するための鍵リストと、
該コンテンツおよび該コンテンツを復号化する鍵を受信する受信手段と、
該コンテンツを該コンテンツデータベースに登録するコンテンツ登録手段と、
該鍵を、該コンテンツのデータ範囲に対応付けて該鍵リストに登録する鍵登録手段とを備える、コンテンツ受信装置。
【請求項7】
コンテンツの各データ範囲に対応付けられた1または複数の鍵を保存するための鍵リストに保存された鍵の中から、復号化しようとするコンテンツのデータ範囲に対応する鍵を選択する鍵選択ステップと、
該鍵選択ステップによって選択された鍵を使用して、該コンテンツのデータを復号化する復号化ステップとをコンピュータに実行させる、コンテンツ復号化プログラム。
【請求項8】
送信装置からコンテンツおよび該コンテンツを復号化する鍵を受信する受信ステップと、
該受信したコンテンツをコンテンツデータベースに登録するコンテンツ登録ステップと、
該コンテンツの各データ範囲に対応付けて、1または複数の鍵を保存するための鍵リストに、該受信した鍵を該受信したコンテンツのデータ範囲に対応付けて登録する鍵登録ステップとをコンピュータに実行させる、コンテンツ受信装置の動作プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate