(57)【特許請求の範囲】
【請求項１】
コンテンツ鍵によってコンテンツを暗号化し、少なくとも前記コンテンツ鍵を記憶媒体に記憶するデータ処理装置において、
前記コンテンツ鍵を復号するための配送鍵を記憶する記憶手段と、
前記配送鍵によって前記コンテンツ鍵を復号する復号手段と、
前記記憶媒体との相互認証を行うとともに、前記記憶媒体と共有するための一時鍵を生成する相互認証手段と、
前記復号手段で復号された前記コンテンツ鍵を前記一時鍵によって暗号化する暗号化手段と、
少なくとも、前記一時鍵によって暗号化した前記コンテンツ鍵を前記記憶媒体に送信する送信手段と
を備えることを特徴とするデータ処理装置。
【請求項２】
前記一時鍵は、前記コンテンツ鍵を暗号化するだけでなく、前記コンテンツ鍵で暗号化された使用許諾情報、料金情報、または使用回数情報も暗号化する
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
記憶手段、復号手段、相互認証手段、暗号化手段、および送信手段を備えるデータ処理装置のデータ処理方法であって、コンテンツ鍵によってコンテンツを暗号化し、少なくとも前記コンテンツ鍵を記憶媒体に記憶するデータ処理方法において、
前記記憶手段により、前記コンテンツ鍵を復号するための配送鍵を記憶する記憶ステップと、
前記復号手段により、前記配送鍵によって前記コンテンツ鍵を復号する復号ステップと、
前記相互認証手段により、前記記憶媒体との相互認証を行うとともに、前記記憶媒体と共有するための一時鍵を生成する相互認証ステップと、
前記暗号化手段により、前記復号ステップで復号された前記コンテンツ鍵を前記一時鍵によって暗号化する暗号化ステップと、
前記送信手段により、少なくとも、前記一時鍵によって暗号化した前記コンテンツ鍵を前記記憶媒体に送信する送信ステップと
を含むことを特徴とするデータ処理方法。
【請求項４】
コンテンツ鍵によってコンテンツを暗号化し、少なくとも前記コンテンツ鍵を記憶媒体に記憶するデータ処理装置において、
前記コンテンツ鍵を復号するための配送鍵を記憶する記憶手段と、
前記配送鍵によって暗号化された前記コンテンツ鍵を復号する第１の復号手段と、
前記記憶媒体との相互認証を行うとともに、前記記憶媒体と共有するための一時鍵を生成する相互認証手段と、
前記記憶媒体から前記一時鍵によって暗号化された保存鍵を受信する受信手段と、
前記一時鍵によって前記保存鍵を復号する第２の復号手段と、
前記第１の復号手段で復号された前記コンテンツ鍵を前記保存鍵によって暗号化する暗号化手段と、
少なくとも、前記保存鍵で暗号化した前記コンテンツ鍵を前記記憶媒体に送信する送信手段と
を備えることを特徴とするデータ処理装置。
【請求項５】
記憶手段、第１の復号手段、相互認証手段、受信手段、第２の復号手段、暗号化手段、および送信手段を備えるデータ処理装置のデータ処理方法であって、コンテンツ鍵によってコンテンツを暗号化し、少なくとも前記コンテンツ鍵を記憶媒体に記憶するデータ処理方法において、
前記記憶手段により、前記コンテンツ鍵を復号するための配送鍵を記憶する記憶ステップと、
前記第１の復号手段により、前記配送鍵によって暗号化された前記コンテンツ鍵を復号する第１の復号ステップと、
前記相互認証手段により、前記記憶媒体との相互認証を行うとともに、前記記憶媒体と共有するための一時鍵を生成する相互認証ステップと、
前記受信手段により、前記記憶媒体から前記一時鍵によって暗号化された保存鍵を受信する受信ステップと、
前記第２の復号手段により、前記一時鍵によって前記保存鍵を復号する第２の復号ステップと、
前記暗号化手段により、前記第１の復号ステップで復号された前記コンテンツ鍵を前記保存鍵によって暗号化する暗号化ステップと、
前記送信手段により、少なくとも、前記保存鍵で暗号化した前記コンテンツ鍵を前記記憶媒体に送信する送信ステップと
を含むことを特徴とするデータ処理方法。
【請求項６】
コンテンツを復号するコンテンツ鍵を記憶する記憶媒体から前記コンテンツ鍵を受信し、当該コンテンツ鍵で前記コンテンツを復号するデータ復号処理装置において、
前記記憶媒体と相互認証を行うともに、前記記憶媒体と共有するための一時鍵を生成する相互認証手段と、
前記記憶媒体から前記一時鍵によって暗号化された保存鍵を受信する受信手段と、
前記一時鍵によって前記保存鍵を復号する第１の復号手段と、
前記記憶媒体から前記保存鍵によって暗号化された前記コンテンツ鍵を読み出す読み出し手段と、
前記保存鍵によって前記コンテンツ鍵を復号する第２の復号手段と、
前記コンテンツ鍵によって前記コンテンツを復号する第３の復号手段と
を備えることを特徴とするデータ復号処理装置。
【請求項７】
相互認証手段、受信手段、第１の復号手段、読み出し手段、第２の復号手段、および第３の復号手段を備えるデータ復号処理装置のデータ復号処理方法であって、コンテンツを復号するコンテンツ鍵を記憶する記憶媒体から前記コンテンツ鍵を受信し、当該コンテンツ鍵で前記コンテンツを復号するデータ復号処理方法において、
前記相互認証手段により、前記記憶媒体と相互認証を行うともに、前記記憶媒体と共有するための一時鍵を生成する相互認証ステップと、
前記受信手段により、前記記憶媒体から前記一時鍵によって暗号化された保存鍵を受信する受信ステップと、
前記第１の復号手段により、前記一時鍵によって前記保存鍵を復号する第１の復号ステップと、
前記読み出し手段により、前記記憶媒体から前記保存鍵によって暗号化された前記コンテンツ鍵を読み出す読み出しステップと、
前記第２の復号手段により、前記保存鍵によって前記コンテンツ鍵を復号する第２の復号ステップと、
前記第３の復号手段により、前記コンテンツ鍵によって前記コンテンツを復号する第３の復号ステップと
を含むことを特徴とするデータ復号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置および方法、並びにデータ復号処理装置および方法に関し、特に、情報を暗号化して記録するデータ処理装置および方法、並びにデータ復号処理装置および方法に関する。
【０００２】
【従来の技術】
従来の、例えば、FD(Floppy Disc)、CD-R(Compact Disk Recordable)、DVD-RAM(Digital Versatile Disc Random Access Memory)、MD(Mini Disc:商標)等の情報記録媒体に情報を読み書きする情報処理装置は、情報を暗号化して記録する機能は有せず、情報を暗号化して記録したい場合には、予め暗号化した情報をこれらの情報処理装置に供給する必要があった。
【０００３】
しかし、上記の暗号化は、不正な複製や不正な読み出しを制限したいという要求に答えるためのものであり、事前に暗号化したのでは、結局、不正な複製は防ぐことができない。なぜならば、暗号化プログラムまたは復号プログラムが、例えば、PC(Personal Computer)上のプログラムとして供給されていた場合、このプログラムをコピーして配布すれば、暗号化した情報をそのまま複製し、複製したプログラムで復号し利用することができるからである。
【０００４】
また、暗号化または復号のプログラムが情報処理装置のファームウェアとして格納されている場合でも、情報記録媒体の情報そのものは、容易に複製が可能であり、そのファームウェアが格納された情報処理装置を用意すれば、複製した情報を利用することが可能である。
【０００５】
これを解決するため、特殊なメモリ、例えば、読み出しシーケンス等を秘密にした半導体メモリに情報を保存することが考えられる。読み出しシーケンス等を知らない限り、情報の読み出しが困難になるからである。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような特殊な半導体メモリの利用には、読み出しシーケンスに対応した所定の回路が必要になり、また、半導体メモリそのものも汎用品とはならず、単価が大きく上昇してしまう。
【０００７】
本発明はこのような状況に鑑みてなされたものであり、安価な汎用の半導体メモリを使用して、不正な情報の複製を防止することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１に記載のデータ処理装置は、コンテンツ鍵を復号するための配送鍵を記憶する記憶手段と、配送鍵によってコンテンツ鍵を復号する復号手段と、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成する相互認証手段と、復号手段で復号されたコンテンツ鍵を一時鍵によって暗号化する暗号化手段と、少なくとも、一時鍵によって暗号化したコンテンツ鍵を記憶媒体に送信する送信手段とを備えることを特徴とする。
【０００９】
請求項３に記載のデータ処理方法は、記憶手段により、コンテンツ鍵を復号するための配送鍵を記憶する記憶ステップと、復号手段により、配送鍵によってコンテンツ鍵を復号する復号ステップと、相互認証手段により、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成する相互認証ステップと、暗号化手段により、復号ステップで復号されたコンテンツ鍵を一時鍵によって暗号化する暗号化ステップと、送信手段により、少なくとも、一時鍵によって暗号化したコンテンツ鍵を記憶媒体に送信する送信ステップとを含むことを特徴とする。
【００１０】
請求項４に記載のデータ処理装置は、コンテンツ鍵を復号するための配送鍵を記憶する記憶手段と、配送鍵によって暗号化されたコンテンツ鍵を復号する第１の復号手段と、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成する相互認証手段と、記憶媒体から一時鍵によって暗号化された保存鍵を受信する受信手段と、一時鍵によって保存鍵を復号する第２の復号手段と、第１の復号手段で復号されたコンテンツ鍵を保存鍵によって暗号化する暗号化手段と、少なくとも、保存鍵で暗号化したコンテンツ鍵を記憶媒体に送信する送信手段とを備えることを特徴とする。
【００１１】
請求項５に記載のデータ処理方法は、記憶手段により、コンテンツ鍵を復号するための配送鍵を記憶する記憶ステップと、第１の復号手段により、配送鍵によって暗号化されたコンテンツ鍵を復号する第１の復号ステップと、相互認証手段により、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成する相互認証ステップと、受信手段により、記憶媒体から一時鍵によって暗号化された保存鍵を受信する受信ステップと、第２の復号手段により、一時鍵によって保存鍵を復号する第２の復号ステップと、暗号化手段により、第１の復号ステップで復号されたコンテンツ鍵を保存鍵によって暗号化する暗号化ステップと、送信手段により、少なくとも、保存鍵で暗号化したコンテンツ鍵を記憶媒体に送信する送信ステップとを含むことを特徴とする。
【００１８】
請求項６に記載のデータ復号処理装置は、記憶媒体と相互認証を行うともに、記憶媒体と共有するための一時鍵を生成する相互認証手段と、記憶媒体から一時鍵によって暗号化された保存鍵を受信する受信手段と、一時鍵によって保存鍵を復号する第１の復号手段と、記憶媒体から保存鍵によって暗号化されたコンテンツ鍵を読み出す読み出し手段と、保存鍵によってコンテンツ鍵を復号する第２の復号手段と、コンテンツ鍵によってコンテンツを復号する第３の復号手段とを備えることを特徴とする。
【００１９】
請求項７に記載のデータ復号処理方法は、相互認証手段により、記憶媒体と相互認証を行うともに、記憶媒体と共有するための一時鍵を生成する相互認証ステップと、受信手段により、記憶媒体から一時鍵によって暗号化された保存鍵を受信する受信ステップと、第１の復号手段により、一時鍵によって保存鍵を復号する第１の復号ステップと、読み出し手段により、記憶媒体から保存鍵によって暗号化されたコンテンツ鍵を読み出す読み出しステップと、第２の復号手段により、保存鍵によってコンテンツ鍵を復号する第２の復号ステップと、第３の復号手段により、コンテンツ鍵によってコンテンツを復号する第３の復号ステップとを含むことを特徴とする。
【００２０】
請求項１に記載のデータ処理装置および請求項３に記載のデータ処理方法においては、コンテンツ鍵を復号するための配送鍵が記憶され、配送鍵によってコンテンツ鍵が復号され、記憶媒体との相互認証が行われるとともに、記憶媒体と共有するための一時鍵が生成され、復号されたコンテンツ鍵が一時鍵によって暗号化され、少なくとも、一時鍵によって暗号化したコンテンツ鍵が記憶媒体に送信される。
【００２１】
請求項４に記載のデータ処理装置および請求項５に記載のデータ処理方法においては、コンテンツ鍵を復号するための配送鍵が記憶され、配送鍵によって暗号化されたコンテンツ鍵が復号され、記憶媒体との相互認証が行われるとともに、記憶媒体と共有するための一時鍵が生成され、記憶媒体から一時鍵によって暗号化された保存鍵が受信され、一時鍵によって保存鍵が復号され、復号されたコンテンツ鍵が保存鍵によって暗号化され、少なくとも、保存鍵で暗号化したコンテンツ鍵が記憶媒体に送信される。
【００２５】
請求項６に記載のデータ復号処理装置および請求項７に記載のデータ復号処理方法においては、記憶媒体と相互認証を行われるともに、記憶媒体と共有するための一時鍵が生成され、記憶媒体から一時鍵によって暗号化された保存鍵が受信され、一時鍵によって保存鍵が復号され、記憶媒体から保存鍵によって暗号化されたコンテンツ鍵が読み出され、保存鍵によってコンテンツ鍵が復号され、コンテンツ鍵によってコンテンツが復号される。
【００２６】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００２７】
請求項１に記載のデータ処理装置は、コンテンツ鍵を復号するための配送鍵を記憶する記憶手段（例えば、図１の記憶部１５）と、配送鍵によってコンテンツ鍵を復号する復号手段（例えば、図１の復号部１４）と、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成する相互認証手段（例えば、図１の相互認証部１２）と、コンテンツ鍵を一時鍵によって暗号化する暗号化手段（例えば、図１の暗号化部１３）と、少なくとも、一時鍵によって暗号化したコンテンツ鍵を記憶媒体に送信する送信手段（例えば、図１の通信部１１）とを備えることを特徴とする。
【００２８】
請求項４に記載のデータ処理装置は、コンテンツ鍵を復号するための配送鍵を記憶する記憶手段（例えば、図１の記憶部１５）と、配送鍵によって暗号化されたコンテンツ鍵を復号する第１の復号手段（例えば、図１の復号部１４）と、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成する相互認証手段（例えば、図１の相互認証部１２）と、記憶媒体から一時鍵によって暗号化された保存鍵を受信する受信手段（例えば、図１の通信部１１）と、一時鍵によって保存鍵を復号する第２の復号手段（例えば、図１の復号部１４）と、第１の復号手段で復号されたコンテンツ鍵を保存鍵によって暗号化する暗号化手段（例えば、図１の暗号化部１３）と、少なくとも、保存鍵で暗号化したコンテンツ鍵を記憶媒体に送信する送信手段（例えば、図１の通信部１１）とを備えることを特徴とする。
【００３１】
請求項６に記載のデータ復号処理装置は、記憶媒体と相互認証を行うともに、記憶媒体と共有するための一時鍵を生成する相互認証手段（例えば、図１の相互認証部１２）と、記憶媒体から一時鍵によって暗号化された保存鍵を受信する受信手段（例えば、図１の通信部１１）と、一時鍵によって保存鍵を復号する第１の復号手段（例えば、図１の復号部１４）と、記憶媒体から保存鍵によって暗号化されたコンテンツ鍵を読み出す読み出し手段（例えば、図１の通信部１１）と、保存鍵によってコンテンツ鍵を復号する第２の復号手段（例えば、図１の復号部１４）と、コンテンツ鍵によってコンテンツを復号する第３の復号手段（例えば、図１の復号部１４）とを備えることを特徴とする。
【００３２】
図１は、本発明に係る情報処理装置および情報記録媒体の一実施の形態の構成を示すブロック図である。読み書き装置１は、ネットワークに接続され、ネットワークから供給された音楽、静止画像、動画像、コンピュータのプログラム等の情報（以下、コンテンツと称する）を、装着されたICメモリ２に記憶させ、また、ICメモリ２に記憶されているコンテンツを読み出す。通信部１１は、ICメモリ２にコンテンツまたは後述する暗号化されたコンテンツ鍵Ｋｃｏ等を送信し、ICメモリ２からコンテンツまたは後述する暗号化されたコンテンツ鍵Ｋｃｏなどを受信する。相互認証部１２は、ICメモリ２の相互認証部２３と、後述する相互認証処理により、相互認証し、相互認証後、ICメモリ２との通信で、所定の期間利用される一時鍵Ｋｔｅｍｐを生成する。
【００３３】
暗号化部１３は、ネットワークを介して供給されたコンテンツ、またはコンテンツの復号に必要な鍵（以下、コンテンツ鍵Ｋｃｏと称する）等を、共通鍵暗号方式であるDES(Data Encryption Standard)等の所定の方式で暗号化し、通信部１１に供給する。
【００３４】
DESは、５６ビットの共通鍵を用い、平文の６４ビットを１ブロックとして処理する暗号方式である。DESの処理は、平文を撹拌し、暗号文に変換する部分（データ撹拌部）と、データ撹拌部で使用する鍵（拡大鍵）を共通鍵から生成する部分（鍵処理部）からなる。DESのすべてのアルゴリズムは公開されているので、ここでは、データ撹拌部の基本的な処理を簡単に説明する。
【００３５】
まず、平文の６４ビットは、上位３２ビットのＨ0、および下位３２ビットのＬ0に分割される。鍵処理部から供給された４８ビットの拡大鍵Ｋ1、および下位３２ビットのＬ0を入力とし、下位３２ビットのＬ0をＦ関数で撹拌した値が算出される。Ｆ関数は、数値を所定の規則で置き換える「換字」およびビット位置を所定の規則で入れ替える「転置」の２種類の基本変換から構成されている。次に、上位３２ビットのＨ0と、Ｆ関数の出力が排他的論理和され、その結果は下位３２ビットのＬ1とされる。下位３２ビットのＬ0は、上位３２ビットのＨ1とされる。
【００３６】
上位３２ビットのＨ0および下位３２ビットのＬ0を基に、以上の処理を１６回繰り返し、得られた上位３２ビットのＨ16および下位３２ビットのＬ16が暗号文として出力される。復号は、暗号化に使用した共通鍵を用いて、上記の手順を逆にたどることで実現される。
【００３７】
復号部１４は、コンテンツ、コンテンツ鍵Ｋｃｏ等を共通鍵暗号方式であるDES等の所定の方式で復号する。記憶部１５は、ネットワークを介して供給されたコンテンツ鍵Ｋｃｏを復号する配送用鍵Ｋｄなどを記憶し、暗号化部１３または復号部１４に供給する。乱数生成部１６は、コンテンツ鍵Ｋｃｏ等として使用される所定の桁数の乱数を発生する。データ圧縮部１７は、ネットワークを介して供給されたコンテンツを、ATRAC2(Adaptive Transform Acoustic Coding 2：商標)等の所定の方式で圧縮し、暗号化部１３に供給する。
【００３８】
読み書き装置１に装着され、コンテンツを記憶するICメモリ２は、コンテンツ等の記憶等を制御する制御ブロック４１および実際にコンテンツ等を記憶する情報記憶ブロック４２からなる。制御ブロック４１は、シングルチップの暗号処理専用ICで構成され、多層構造を有し、その内部のメモリセルはアルミニウム層等のダミー層に挟まれ、また、動作する電圧または周波数の幅が狭い等、外部から不正にデータが読み出せない耐タンパー性を有する。
【００３９】
制御ブロック４１は、通信部２１、メモリコントローラ２２、相互認証部２３、暗号化部２４、記憶部２５、および復号部２６からなる。通信部２１は、読み書き装置１からコンテンツまたは暗号化されたコンテンツ鍵Ｋｃｏ等を受信し、読み書き装置１にコンテンツまたは暗号化されたコンテンツ鍵Ｋｃｏなどを送信する。メモリコントローラ２２は、通信部２１が受信した暗号化されたコンテンツまたはコンテンツ鍵Ｋｃｏ等を、情報記憶ブロック４２に書き込み、また、情報記憶ブロック４２に書き込まれたコンテンツ等を読み出し、通信部２１等に供給する。相互認証部２３は、読み書き装置１の相互認証部１２と、後述する相互認証処理により、相互認証し、相互認証後、読み書き装置１との通信で、所定の期間利用される一時鍵Ｋｔｅｍｐを生成する。
【００４０】
暗号化部２４は、一旦、復号部２６が復号したコンテンツ鍵Ｋｃｏを、保存用鍵Ｋｓａｖｅで暗号化し、メモリコントローラ２２に供給する。復号部２６は、一時鍵Ｋｔｅｍｐで暗号化されたコンテンツ鍵Ｋｃｏ、または保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏなどを復号し、暗号化部２４または通信部２１に供給する。記憶部２５は、そのICメモリ２に特有の（ICメモリ２毎に、異なる）値を有する保存用鍵Ｋｓａｖｅなどを記憶し、暗号化部２４または復号部２６に供給する。
【００４１】
情報記憶ブロック４２は、EEPROM(Electrically Erasable Programmable Read Only Memory)、フラッシュメモリ、強誘電体メモリなどの電気的に記憶内容を書き換えできる、汎用の不揮発性メモリで構成され、データ検索用テーブル３１、識別情報テーブル３２、暗号化データ３３、および非暗号化データ３４が記憶される。データ検索用テーブル３１には、暗号化データ３３、および非暗号化データ３４として記憶されている情報の内容とその記憶位置を表すデータが記憶されている。識別情報テーブル３２には、記憶されている情報の内容が、暗号化されているか否かを示すデータが記憶される。暗号化データ３３としては、暗号化されたコンテンツ、コンテンツ鍵Ｋｃｏなどが記憶されている。非暗号化データ３４としては、暗号化されていない、コンテンツの使用許諾情報等が記憶される。
【００４２】
図２は、読み書き装置１が、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツ、および配送用鍵Ｋｄで暗号化されたコンテンツ鍵Ｋｃｏをネットワークを介して受信し、コンテンツ鍵Ｋｃｏを復号し、再度、コンテンツ鍵Ｋｃｏを図３または図４で後述する相互認証の処理で共有する一時鍵Ｋｔｅｍｐで暗号化して、コンテンツ、コンテンツ鍵Ｋｃｏ、および所定の情報をICメモリ２に送信し、ICメモリ２がコンテンツ鍵Ｋｃｏで暗号化されたコンテンツ、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏ、および所定の情報を記憶する処理を説明するフローチャートである。ステップＳ１１において、読み書き装置１の相互認証部１２は、ICメモリ２の相互認証部２３と相互認証し、一時鍵Ｋｔｅｍｐ（例えば、後述する図３のステップＳ４２，Ｓ４５の連接Ｒ２‖Ｒ３）を共有する。その処理の詳細は、図３を参照して後述する。ステップＳ１２において、記憶部１５および記憶部２５は、相互認証部１２または相互認証部２３がステップＳ１１の相互認証処理で一時鍵Ｋｔｅｍｐを生成する。ステップＳ１３において、読み書き装置１の復号部１４は、ネットワークを介して受信した、配送用鍵Ｋｄで暗号化されているコンテンツ鍵Ｋｃｏを、予めネットワークを介して受信し、記憶部１５に記憶している配送用鍵Ｋｄを用いて、DESなどの共通鍵暗号方式で復号する。ステップＳ１４において、復号部１４は、コンテンツ鍵Ｋｃｏと一緒に配送用鍵Ｋｄで暗号化され、ネットワークを介して受信した使用許諾情報、料金情報、および使用回数情報などを復号し、取り出す。
【００４３】
ステップＳ１５において、暗号化部１３は、ステップＳ１４で復号されたコンテンツ鍵Ｋｃｏ、使用許諾情報、料金情報、および使用回数情報などを、ステップＳ１１で共有した一時鍵Ｋｔｅｍｐで暗号化する。ステップＳ１６において、通信部１１は、コンテンツ鍵Ｋｃｏで暗号化されているコンテンツ、一時鍵Ｋｔｅｍｐで暗号化されているコンテンツ鍵Ｋｃｏ、一時鍵Ｋｔｅｍｐで暗号化されている使用許諾情報、一時鍵Ｋｔｅｍｐで暗号化されている料金情報、および一時鍵Ｋｔｅｍｐで暗号化されている使用回数情報などをICメモリ２の通信部２１に送信し、ICメモリ２の通信部２１は、それらのデータを受信する。
【００４４】
ステップＳ１７において、ICメモリ２の復号部２６は、通信部２１が受信した一時鍵Ｋｔｅｍｐで暗号化されているコンテンツ鍵Ｋｃｏ、一時鍵Ｋｔｅｍｐで暗号化されている使用許諾情報、一時鍵Ｋｔｅｍｐで暗号化されている料金情報、および一時鍵Ｋｔｅｍｐで暗号化されている使用回数情報などを、ステップＳ１１で共有した一時鍵Ｋｔｅｍｐで復号する。ステップＳ１８において、ICメモリ２の暗号化部２４は、ステップＳ１７で復号されたコンテンツ鍵Ｋｃｏを、予め記憶部２５に記憶された保存用鍵Ｋｓａｖｅで暗号化する。ステップＳ１９において、メモリコントローラ２２は、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを情報記憶ブロック４２の所定の位置に暗号化データ３３として記憶させる。ステップＳ２０において、メモリコントローラ２２は、コンテンツ鍵Ｋｃｏで暗号化されているコンテンツを情報記憶ブロック４２の所定の位置に暗号化データ３３として記憶させる。
【００４５】
ステップＳ２１において、メモリコントローラ２２は、ステップＳ１７で復号した使用許諾情報、料金情報、および使用回数情報などを、情報記憶ブロック４２の所定の位置に非暗号化データ３４として記憶させる。ステップＳ２２において、メモリコントローラ２２は、コンテンツ、コンテンツ鍵Ｋｃｏ、使用許諾情報、料金情報、および使用回数情報などの記憶した位置を示す情報をデータ検索用テーブル３１に記憶させ、コンテンツ、コンテンツ鍵Ｋｃｏ、使用許諾情報、料金情報、および使用回数情報などそれぞれが暗号化されているか否かを示す情報を識別情報テーブル３２に記憶させる。
【００４６】
以上のように、読み書き装置１は、コンテンツおよびコンテンツに付随する情報を、必要に応じて暗号化し、ICメモリ２に記憶させる。
【００４７】
図３は、図２のステップＳ１１に対応する、１つの共通鍵で、共通鍵暗号であるDESを用いる、読み書き装置１の相互認証部１２とICメモリ２の相互認証部２３との相互認証の動作を説明するフローチャートである。ステップＳ３１において、読み書き装置１の相互認証部１２は、６４ビットの乱数Ｒ１を生成する（乱数生成部１６が生成するようにしてもよい）。ステップＳ３２において、読み書き装置１の相互認証部１２は、乱数Ｒ１を、記憶部１５に予め記憶している共通鍵Ｋcで暗号化する（暗号化部１３で暗号化するようにしてもよい）。ステップＳ３３において、読み書き装置１の相互認証部１２は、通信部１１を介して暗号化された乱数Ｒ１をICメモリ２の相互認証部２３に送信する。
【００４８】
ステップＳ３４において、ICメモリ２の相互認証部２３は、受信した乱数Ｒ１を、記憶部２５に予め記憶している共通鍵Ｋcで復号する。ステップＳ３５において、ICメモリ２の相互認証部２３は、３２ビットの乱数Ｒ２を生成する。ステップＳ３６において、ICメモリ２の相互認証部２３は、ステップＳ３４で復号した６４ビットの乱数Ｒ１の下位３２ビットを乱数Ｒ２で入れ替え、連接Ｒ１H‖Ｒ２を生成する。なお、ここでＲｉHは、Ｒｉの上位ビットを表し、Ａ‖Ｂは、ＡとＢの連接（ｎビットのＡの下位に、ｍビットのＢを結合して、（ｎ＋ｍ）ビットとしたもの）を表す。ステップＳ３７において、ICメモリ２の相互認証部２３は、連接Ｒ１H‖Ｒ２を共通鍵Ｋcで暗号化する。ステップＳ３８において、ICメモリ２の相互認証部２３は、通信部２１を介して、暗号化した連接Ｒ１H‖Ｒ２を読み書き装置１に送信する。
【００４９】
ステップＳ３９において、読み書き装置１の相互認証部１２は、受信した連接Ｒ１H‖Ｒ２を共通鍵Ｋcで復号する。ステップＳ４０において、読み書き装置１の相互認証部１２は、復号したＲ１H‖Ｒ２の上位３２ビットＲ１Hを調べ、ステップＳ３１で生成した、乱数Ｒ１の上位３２ビットＲ１Hと一致すれば、ICメモリ２が正当なメモリであることを認証する。生成した乱数Ｒ１Hと、受信したＲ１Hが一致しないとき、処理は終了される。
【００５０】
両者が一致するとき、ステップＳ４１において、読み書き装置１の相互認証部１２は、３２ビットの乱数Ｒ３を生成する。ステップＳ４２において、読み書き装置１の相互認証部１２は、受信し、復号した３２ビットの乱数Ｒ２を上位に設定し、生成した乱数Ｒ３をその下位に設定し、連接Ｒ２‖Ｒ３を生成する。ステップＳ４３において、読み書き装置１の相互認証部１２は、連接Ｒ２‖Ｒ３を共通鍵Ｋcで暗号化する。ステップＳ４４において、読み書き装置１の相互認証部１２は、暗号化された連接Ｒ２‖Ｒ３をICメモリ２の相互認証部２３に送信する。
【００５１】
ステップＳ４５において、ICメモリ２の相互認証部２３は、通信部２１を介して、受信した連接Ｒ２‖Ｒ３を共通鍵Ｋcで復号する。ステップＳ４６において、ICメモリ２の相互認証部２３は、復号した連接Ｒ２‖Ｒ３の上位３２ビットを調べ、ステップＳ３５で生成した乱数Ｒ２と一致すれば、読み書き装置１を正当な読み書き装置として認証し、一致しなければ、不正な読み書き装置として、処理を終了する。
【００５２】
以上のように、ICメモリ２の相互認証部２３と読み書き装置１の相互認証部１２は、相互認証する。相互認証に利用された乱数の連接Ｒ２‖Ｒ３は、その相互認証に続く処理にだけ有効な一時鍵Ｋｔｅｍｐとして利用される。
【００５３】
図４は、図２のステップＳ１１に対応して、公開鍵暗号である、１６０ビット長の楕円曲線暗号を用いて行われる、読み書き装置１の相互認証部１２とICメモリ２の相互認証部２３との相互認証の動作を説明するフローチャートである。ステップＳ５１において、読み書き装置１の相互認証部１２は、６４ビットの乱数Ｒ１を生成する。ステップＳ５２において、読み書き装置１の相互認証部１２は、読み書き装置１の名前、自分自身の公開鍵Ｋｐｒｗ、および認証局の署名を含む証明書（認証局から予め取得しておいたもの）、並びに乱数Ｒ１をICメモリ２の相互認証部２３に送信する。
【００５４】
署名は、データまたは後述する証明書に付け、改竄のチェックおよび作成者認証をするためのデータであり、送信したいデータを基にハッシュ関数でハッシュ値をとり、これを公開鍵暗号の秘密鍵で暗号化して作成される。
【００５５】
ハッシュ関数および署名の照合について説明する。ハッシュ関数は、送信したい所定のデータを入力とし、所定のビット長のデータに圧縮し、ハッシュ値として出力する関数である。ハッシュ関数は、ハッシュ値（出力）から入力を予測することが難しく、ハッシュ関数に入力されたデータの１ビットが変化したとき、ハッシュ値の多くのビットが変化し、また、同一のハッシュ値を持つ入力データを探し出すことが困難である特徴を有する。
【００５６】
署名とデータを受信した受信者は、署名を公開鍵暗号の公開鍵で復号し、その結果（ハッシュ値）を得る。さらに受信されたデータのハッシュ値が計算され、計算されたハッシュ値と、署名を復号して得られたハッシュ値とが、等しいか否かが判定される。送信されたデータのハッシュ値と復号したハッシュ値が等しいと判定された場合、受信したデータは改竄されておらず、公開鍵に対応した秘密鍵を保持する送信者から送信されたデータであることがわかる。署名のハッシュ関数としては、MD4，MD5，SHA-1などが用いられる。
【００５７】
次に公開鍵暗号について説明する。暗号化および復号で同一の鍵（共通鍵）を使用する共通鍵暗号方式に対し、公開鍵暗号方式は、暗号化に使用する鍵と復号するときの鍵が異なる。公開鍵暗号を用いる場合、鍵の一方を公開しても他方を秘密に保つことができ、公開しても良い鍵は、公開鍵と称され、他方の秘密に保つ鍵は、秘密鍵と称される。
【００５８】
公開鍵暗号の他の例である楕円曲線暗号について、簡単に説明する。楕円曲線y^2=x^3+ax+b上の、ある点をBとする。楕円曲線上の点の加算を定義し、nBは、Bをn回加算した結果を表す。同様に、減算も定義する。BとnBからnを算出することは、困難であることが証明されている。BとnBを公開鍵とし、nを秘密鍵とする。乱数rを用いて、暗号文C1およびC2は、平文Mから、公開鍵で式（１）および式（２）の処理で算出される。
C1=M+rnB   （１）
C2=rB    （２）
【００５９】
暗号文C1およびC2は、式（３）の処理で平文Mに、復号される。
M=C1-nC2   （３）
【００６０】
暗号を復号できるのは、秘密鍵nを有するものだけである。以上のように、楕円曲線は、暗号化に使用する鍵と復号するときの鍵を、異なる鍵とすることができる。
【００６１】
また、公開鍵暗号の中で代表的なRSA（Rivest-Shamir-Adleman）暗号についても、簡単に説明する。まず、２つの十分に大きな素数であるpおよびqを求め、さらにpとqの積であるｎを求める。(p-1)と(q-1)の最小公倍数Lを算出し、更に、３以上L未満で、かつ、Ｌと互いに素な数eを求める（すなわち、eとLを共通に割り切れる数は、１のみである）。
【００６２】
次に、Lを法とする乗算に関するeの乗法逆元dを求める。すなわち、d，e、およびLの間には、ed=1 mod Lが成立し、dはユークリッドの互除法で算出できる。このとき、nとeが公開鍵とされ、p,q,およびdが、秘密鍵とされる。
【００６３】
暗号文Cは、平文Mから、式（４）の処理で算出される。
C=M^e mod n   （４）
【００６４】
暗号文Cは、式（５）の処理で平文Mに、復号される。
M=C^d mod n   （５）
【００６５】
証明は省略するが、RSA暗号で平文を暗号文に変換して、それが復号できるのは、フェルマーの小定理に根拠をおいており、式（６）が成立するからである。
M=C^d=(M^e)^d=M^(ed) mod n  （６）
【００６６】
秘密鍵pとqを知っているならば、公開鍵eから秘密鍵dは算出できるが、公開鍵nの素因数分解が計算量的に困難な程度に公開鍵nの桁数を大きくすれば、公開鍵nを知るだけでは、公開鍵eから秘密鍵dは計算できず、復号できない。以上のように、楕円曲線と同様に、RSA暗号でも、暗号化に使用する鍵と復号するときの鍵を、異なる鍵とすることができる。
【００６７】
ステップＳ５３において、ICメモリ２の相互認証部２３は、受信した証明書の署名（認証局の秘密鍵Ｋｓｃａで暗号化されている）を、予め取得しておいた認証局の公開鍵Ｋｐｃａで復号し、平文のまま格納された読み書き装置１の公開鍵Ｋｐｒｗおよび読み書き装置１の名前を取り出す。証明書が認証局が発行した適正なものであれば、証明書の署名を復号することが可能であり、復号して得られた公開鍵Ｋｐｒｗおよび読み書き装置１の名前（ID）のハッシュ値は、平文のまま証明書に格納された読み書き装置１の公開鍵Ｋｐｒｗおよび読み書き装置１の名前（ID）にハッシュ関数を適用し、得られたハッシュ値と一致する。これにより、公開鍵Ｋｐｒｗが改竄されたものでない適正なものであることが認証される。署名を復号出来なかったり、できてもハッシュ値が一致しないときには、適正な公開鍵でないか、適正な読み書き装置でないことになる。この時処理は終了される。
【００６８】
適正な認証結果が得られたとき、ステップＳ５４において、ICメモリ２の相互認証部２３は、６４ビットの乱数Ｒ２を生成する。ステップＳ５５において、ICメモリ２の相互認証部２３は、乱数Ｒ１および乱数Ｒ２の連接Ｒ１‖Ｒ２を生成する。ステップＳ５６において、ICメモリ２の相互認証部２３は、連接Ｒ１‖Ｒ２を自分自身の秘密鍵Ｋｓｉｃで暗号化する。ステップＳ５７において、ICメモリ２の相互認証部２３は、連接Ｒ１‖Ｒ２を、ステップＳ５３で取得した読み書き装置１の公開鍵Ｋｐｒｗで暗号化する。ステップＳ５８において、ICメモリ２の相互認証部２３は、秘密鍵Ｋｓｉｃで暗号化された連接Ｒ１‖Ｒ２、公開鍵Ｋｐｒｗで暗号化された連接Ｒ１‖Ｒ２、および自分自身の公開鍵Ｋｐｉｃを含む証明書（認証局から予め取得しておいたもの）を読み書き装置１の相互認証部１２に送信する。
【００６９】
ステップＳ５９において、読み書き装置１の相互認証部１２は、受信した証明書の署名を予め取得しておいた認証局の公開鍵Ｋｐｃａで復号し、正しければ証明書から公開鍵Ｋｐｉｃを取り出す。この場合の処理は、ステップＳ５３における場合と同様であるので、その説明は省略する。ステップＳ６０において、読み書き装置１の相互認証部１２は、ICメモリ２の秘密鍵Ｋｓｉｃで暗号化されている連接Ｒ１‖Ｒ２を、ステップＳ５９で取得した公開鍵Ｋｐｉｃで復号する。ステップＳ６１において、読み書き装置１の相互認証部１２は、自分自身の公開鍵Ｋｐｒｗで暗号化されている連接Ｒ１‖Ｒ２を、自分自身の秘密鍵Ｋｓｒｗで復号する。ステップＳ６２において、読み書き装置１の相互認証部１２は、ステップＳ６０で復号された連接Ｒ１‖Ｒ２と、ステップＳ６１で復号された連接Ｒ１‖Ｒ２を比較し、一致すればICメモリ２を適正なものとして認証し、一致しなければ、不適正なものとして、処理を終了する。
【００７０】
適正な認証結果が得られたとき、ステップＳ６３において、読み書き装置１の相互認証部１２は、６４ビットの乱数Ｒ３を生成する。ステップＳ６４において、読み書き装置１の相互認証部１２は、ステップＳ６０で取得した乱数Ｒ２および生成した乱数Ｒ３の連接Ｒ２‖Ｒ３を生成する。ステップＳ６５において、読み書き装置１の相互認証部１２は、連接Ｒ２‖Ｒ３を、ステップＳ５９で取得した公開鍵Ｋｐｉｃで暗号化する。ステップＳ６６において、読み書き装置１の相互認証部１２は、暗号化した連接Ｒ２‖Ｒ３をICメモリ２の相互認証部２３に送信する。
【００７１】
ステップＳ６７において、ICメモリ２の相互認証部２３は、暗号化された連接Ｒ２‖Ｒ３を自分自身の秘密鍵Ｋｓｉｃで復号する。ステップＳ６８において、ICメモリ２の相互認証部２３は、復号した乱数Ｒ２が、ステップＳ５４で生成した乱数Ｒ２（暗号化する前の乱数Ｒ２）と一致すれば、読み書き装置１を適正な読み書き装置として認証し、一致しなけば、不適正な読み書き装置として、処理を終了する。
【００７２】
以上のように、公開鍵暗号方式を用いても、ICメモリ２の相互認証部２３と読み書き装置１の相互認証部１２は、相互認証できる。共通鍵暗号を使用した場合と同様に、相互認証に利用された乱数の連接Ｒ２‖Ｒ３は、その相互認証に続く処理にだけ有効な一時鍵Ｋｔｅｍｐとして利用される。
【００７３】
図５は、読み書き装置１が、ネットワークを介して受信した平文のコンテンツを圧縮し、生成したコンテンツ鍵Ｋｃｏで暗号化し、コンテンツ鍵Ｋｃｏを図３または図４で後述する相互認証の処理で共有する一時鍵Ｋｔｅｍｐで、暗号化して、コンテンツおよびコンテンツ鍵ＫｃｏをICメモリ２に送信し、ICメモリ２がコンテンツ鍵Ｋｃｏで暗号化されたコンテンツ、および保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを記憶する処理を説明するフローチャートである。ステップＳ７１において、読み書き装置１の相互認証部１１は、ICメモリ２の相互認証部２１と相互認証し、一時鍵Ｋｔｅｍｐを共有する。相互認証の処理は、図３および図４を使用して説明した処理と同様であるので、詳細な説明は省略する。ステップＳ７２において、記憶部１５および記憶部２５は、一時鍵Ｋｔｅｍｐを生成する。
【００７４】
ステップＳ７３において、データ圧縮部１７は、ATRAC2等の方式で、ネットワークを介して受信した平文のコンテンツを圧縮する。ステップＳ７４において、乱数生成部１６は、コンテンツ鍵Ｋｃｏとして用いる所定の桁数の乱数を生成し、暗号化部１３に供給する。ステップＳ７５において、暗号化部１３は、DES等の所定の方式により、コンテンツを、ステップＳ７４で生成したコンテンツ鍵Ｋｃｏで暗号化する。ステップＳ７６において、暗号化部１３は、DES等の所定の方式により、コンテンツ鍵ＫｃｏをステップＳ７１で共有した一時鍵Ｋｔｅｍｐで暗号化する。ステップＳ７７において、通信部１１は、暗号化したコンテンツおよび暗号化したコンテンツ鍵Ｋｃｏを、ICメモリ２の通信部２１に送信し、ICメモリ２の通信部２１は、暗号化したコンテンツおよび暗号化したコンテンツ鍵Ｋｃｏを受信する。
【００７５】
ステップＳ７８において、ICメモリ２の復号部２６は、通信部２１で受信したコンテンツ鍵Ｋｃｏを一時鍵Ｋｔｅｍｐで復号する。ステップＳ７９において、暗号化部２４は、ステップＳ７８で復号したコンテンツ鍵Ｋｃｏを、予め記憶部２５が記憶している保存用鍵Ｋｓａｖｅで暗号化する。ステップＳ８０において、メモリコントローラ２２は、暗号化したコンテンツ鍵Ｋｃｏを情報記憶ブロック４２に暗号化データ３３として記憶させる。ステップＳ８１において、メモリコントローラ２２は、ステップＳ７８にて通信部２１で受信した、コンテンツ鍵Ｋｃｏで暗号化されているコンテンツを情報記憶ブロック４２に暗号化データ３３として記憶させる。ステップＳ８２において、メモリコントローラ２２は、コンテンツ、およびコンテンツ鍵Ｋｃｏの記憶する位置を示す情報を、データ検索用テーブル３１に記憶させ、コンテンツ、およびコンテンツ鍵Ｋｃｏが暗号化されていることを示す情報を識別情報テーブル３２に記憶させる。
【００７６】
以上のように、読み書き装置１は、ネットワークを介して受信した平文のコンテンツを圧縮し、暗号化して、ICメモリ２に記憶させる。
【００７７】
図６は、読み書き装置１が、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツ、および配送用鍵Ｋｄで暗号化されたコンテンツ鍵Ｋｃｏをネットワークを介して受信し、コンテンツ鍵Ｋｃｏを復号し、再度、コンテンツ鍵ＫｃｏをICメモリ２が記憶する保存用鍵Ｋｓａｖｅで暗号化して、コンテンツ、コンテンツ鍵Ｋｃｏ、および所定の情報をICメモリ２に送信し、ICメモリ２がコンテンツ鍵Ｋｃｏで暗号化されたコンテンツ、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏ、および所定の情報を記憶する処理を説明するフローチャートである。ステップＳ９１において、読み書き装置１の相互認証部１１は、ICメモリ２の相互認証部２１と相互認証し、一時鍵Ｋｔｅｍｐを共有する。相互認証の処理は、図３および図４を使用して説明した処理と同様であるので、詳細な説明は省略する。ステップＳ９２において、記憶部１５および記憶部２５は、一時鍵Ｋｔｅｍｐを生成する。ステップＳ９３において、ICメモリ２の暗号化部２４は、予め記憶部２５が記憶している保存用鍵Ｋｓａｖｅを一時鍵Ｋｔｅｍｐで暗号化する。ステップＳ９４において、通信部２１は、読み書き装置１の通信部１１に暗号化した保存用鍵Ｋｓａｖｅを送信し、読み書き装置１の通信部１１は、暗号化した保存用鍵Ｋｓａｖｅを受信する。
【００７８】
ステップＳ９５において、読み書き装置１の復号部１４は、通信部１１で受信した保存用鍵Ｋｓａｖｅを一時鍵Ｋｔｅｍｐで復号する。ステップＳ９６において、復号部１４は、ネットワークを介して受信したコンテンツ鍵Ｋｃｏを、予め記憶部１５が記憶する配送用鍵Ｋｄで復号する。ステップＳ９７において、復号部１４は、コンテンツ鍵Ｋｃｏと共にネットワークを介して受信した、配送用鍵Ｋｄで暗号化されている使用許諾情報、料金情報、および使用回数情報などを復号し、取り出す。ステップＳ９８において、暗号化部１３は、ステップＳ９６で復号したコンテンツ鍵Ｋｃｏ、ステップＳ９７で復号した使用許諾情報、ステップＳ９７で復号した料金情報、およびステップＳ９７で復号した使用回数情報などを、ステップＳ９５で復号した保存用鍵Ｋｓａｖｅで暗号化する。ステップＳ９９において、通信部１１は、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツ、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏ、保存用鍵Ｋｓａｖｅで暗号化された使用許諾情報、保存用鍵Ｋｓａｖｅで暗号化された料金情報、および保存用鍵Ｋｓａｖｅで暗号化された使用回数情報などをICメモリ２の通信部２１に送信し、ICメモリ２の通信部２１は、これらのデータを受信する。
【００７９】
ステップＳ１００において、ICメモリ２の復号部２６は、通信部２１で受信した保存用鍵Ｋｓａｖｅで暗号化された使用許諾情報、保存用鍵Ｋｓａｖｅで暗号化された料金情報、および保存用鍵Ｋｓａｖｅで暗号化された使用回数情報などを、予め記憶部２５が記憶する保存用鍵Ｋｓａｖｅで復号する。ステップＳ１０１において、メモリコントローラ２２は、復号した使用許諾情報、料金情報、および使用回数情報などを、情報記憶ブロック４２に非暗号化データ３４として記憶させる。ステップＳ１０２において、メモリコントローラ２２は、ステップＳ９９で受信した、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを情報記憶ブロック４２に暗号化データ３３として記憶させる。ステップＳ１０３において、メモリコントローラ２２は、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツを情報記憶ブロック４２に暗号化データ３３として記憶させる。ステップＳ１０４において、メモリコントローラ２２は、コンテンツ、コンテンツ鍵Ｋｃｏ、使用許諾情報、料金情報、および使用回数情報などの記憶した位置を示す情報をデータ検索用テーブルに記録させ、コンテンツ、コンテンツ鍵Ｋｃｏ、使用許諾情報、料金情報、および使用回数情報などがそれぞれ暗号化されているか否かを示す情報を識別情報テーブルに記憶させる。
【００８０】
以上のように、読み書き装置１は、ICメモリ２が予め記憶する保存用鍵Ｋｓａｖｅで、コンテンツおよびコンテンツに付随する情報を暗号化し、ICメモリ２に記憶させる。なお、使用許諾情報、料金情報および使用回数情報等は、一時鍵Ｋｔｅｍｐで暗号化して送っても良い。
【００８１】
図７は、読み書き装置１が、ネットワークを介して受信した平文のコンテンツを圧縮し、生成したコンテンツ鍵Ｋｃｏで暗号化し、コンテンツ鍵ＫｃｏをICメモリ２が記憶する保存用鍵Ｋｓａｖｅで暗号化して、コンテンツおよびコンテンツ鍵ＫｃｏをICメモリ２に送信し、ICメモリ２がコンテンツ鍵Ｋｃｏで暗号化されたコンテンツ、および保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを記憶する処理を説明するフローチャートである。ステップＳ１１１において、読み書き装置１の相互認証部１１は、ICメモリ２の相互認証部２１と相互認証し、一時鍵Ｋｔｅｍｐを共有する。相互認証の処理は、図３および図４を使用して説明した処理と同様であるので、詳細な説明は省略する。ステップＳ１１２において、記憶部１５および記憶部２５は、相互認証部１２または相互認証部２３が生成した、図３のステップＳ４２，Ｓ４５の連接Ｒ２‖Ｒ３（または、図４のステップＳ６４，Ｓ６７の連接Ｒ２‖Ｒ３）を一時鍵Ｋｔｅｍｐとして記憶する。ステップＳ１１３において、暗号部２４は、一時鍵Ｋｔｅｍｐを生成する。ステップＳ１１４において、通信部２１は、一時鍵Ｋｔｅｍｐで暗号化された保存用鍵Ｋｓａｖｅを読み書き装置１の通信部１１に送信し、読み書き装置１の通信部１１は、一時鍵Ｋｔｅｍｐで暗号化された保存用鍵Ｋｓａｖｅを受信する。
【００８２】
ステップＳ１１５において、復号部１４は、通信部１１が受信した保存用鍵Ｋｓａｖｅを一時鍵Ｋｔｅｍｐで復号する。ステップＳ１１６において、データ圧縮部１７は、ATRAC2等の所定の方式で平文のコンテンツを圧縮する。ステップＳ１１７において、乱数生成部１６は、コンテンツ鍵Ｋｃｏとなる所定の桁数の乱数を生成し、暗号化部１３に供給する。ステップＳ１１８において、暗号化部１３は、DES等の所定の方式により、ネットワークを介して受信した平文のコンテンツをコンテンツ鍵Ｋｃｏで暗号化する。ステップＳ１１９において、暗号化部１３は、コンテンツ鍵Ｋｃｏを保存用鍵Ｋｓａｖｅで暗号化する。ステップＳ１２０において、通信部１１は、コンテンツ鍵Ｋｃｏで暗号化したコンテンツおよび保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵ＫｃｏをICメモリ２の通信部２１に送信し、ICメモリ２の通信部２１は、コンテンツ鍵Ｋｃｏで暗号化したコンテンツおよび保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを受信する。
【００８３】
ステップＳ１２１において、メモリコントローラ２２は、通信部２１で受信した、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを情報記憶ブロック４２に暗号化データ３３として記憶させる。ステップＳ１２２において、メモリコントローラ２２は、通信部２１で受信した、コンテンツ鍵Ｋｃｏで暗号化したコンテンツを情報記憶ブロック４２に暗号化データ３３として記憶させる。ステップＳ１２３において、メモリコントローラ２２は、コンテンツ、およびコンテンツ鍵Ｋｃｏの記憶している位置を示す情報をデータ検索用テーブル３１に記憶させ、コンテンツ、およびコンテンツ鍵Ｋｃｏが暗号化されていることを示す情報を識別情報テーブル３２に記憶させる。
【００８４】
以上のように、読み書き装置１は、ネットワークを介して受信した平文のコンテンツを圧縮し、ICメモリ２が記憶する保存用鍵Ｋｓａｖｅで暗号化して、ICメモリ２に記憶させる。なお、使用許諾情報、料金情報および使用回数情報等は、一時鍵Ｋｔｅｍｐで暗号化して送っても良い。
【００８５】
次に、ICメモリ２に記憶されたコンテンツを読み出す処理を説明する。図８は、ICメモリ２に記憶されたデータを読み出す処理を説明するフローチャートである。ステップＳ１３１において、ICメモリ２のメモリコントローラ２２は、識別情報テーブル３２のデータから、読み出しするデータが暗号化されているか否かを判定し、読み出しするデータが暗号化されていると判定された場合、ステップＳ１３２に進み、読み書き装置１およびICメモリ２は、復号の処理を実行し、処理を終了する。ステップＳ１１の復号の処理は、図９または図１０のフローチャートを用いて、その詳細を後述する。
【００８６】
ステップＳ１３１において、読み出しするデータが暗号化されていないと判定された場合、メモリコントローラ２２は、所定のデータを情報記憶ブロック４２から読み出し、通信部２１を介して、読み書き装置１の通信部１１に送信し、処理を終了する。
【００８７】
図９は、図８のステップＳ１３２に対応する、復号の処理を説明するフローチャートである。ステップＳ１４１において、読み書き装置１の相互認証部１２は、ICメモリ２の相互認証部２３と相互認証し、一時鍵Ｋｔｅｍｐを共有する。相互認証の処理は、図３および図４を使用して説明した処理と同様であるので、詳細な説明は省略する。ステップＳ１４２において、記憶部１５および記憶部２５は、一時鍵Ｋｔｅｍｐを生成する。ステップＳ１４３において、メモリコントローラ２２は、情報記憶ブロック４２から、データ検索用テーブルを参照して、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを読み出す。ステップＳ１４４において、復号部２６は、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを、記憶部２５が記憶する保存用鍵Ｋｓａｖｅで復号する。
【００８８】
ステップＳ１４５において、暗号化部２４は、復号したコンテンツ鍵Ｋｃｏを、ステップＳ１４２で生成した一時鍵Ｋｔｅｍｐで暗号化する。ステップＳ１４６において、メモリコントローラ２２は、情報記憶ブロック４２から、データ検索用テーブルを参照して、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツを読み出す。ステップＳ１４７において、通信部２１は、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツおよび一時鍵Ｋｔｅｍｐで暗号化されたコンテンツ鍵Ｋｃｏを読み書き装置１の通信部１１に送信し、読み書き装置１の通信部１１は、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツおよび一時鍵Ｋｔｅｍｐで暗号化されたコンテンツ鍵Ｋｃｏを受信する。
【００８９】
ステップＳ１４８において、読み書き装置１の復号部１４は、通信部１１が受信したコンテンツ鍵Ｋｃｏを、ステップＳ１４２で生成した一時鍵Ｋｔｅｍｐで復号する。ステップＳ１４９において、復号部１４は、コンテンツをコンテンツ鍵Ｋｃｏで復号する。
【００９０】
以上のように、読み書き装置１は、ICメモリ２に、暗号化され記憶されたコンテンツを復号する。
【００９１】
図１０は、図８のステップＳ１３２に対応する、他の復号の処理を説明するフローチャートである。ステップＳ１５１およびステップＳ１５２の処理は、図９のステップＳ１４１およびステップＳ１４２と、それぞれ同様の処理であるのでその説明は省略する。ステップＳ１５３において、暗号化部２４は、記憶部２５が記憶する保存用鍵Ｋｓａｖｅを一時鍵Ｋｔｅｍｐで暗号化する。ステップＳ１５４において、メモリコントローラ２２は、情報記憶ブロック４２から、データ検索用テーブルを参照して、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏ、およびコンテンツ鍵Ｋｃｏで暗号化されたコンテンツを読み出す。ステップＳ１５５において、通信部２１は、一時鍵Ｋｔｅｍｐで暗号化された暗号化保存用鍵Ｋｓａｖｅ、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏ、およびコンテンツ鍵Ｋｃｏで暗号化されたコンテンツを読み書き装置１の通信部１１に送信し、読み書き装置１の通信部１１は、それらのデータを受信する。
【００９２】
ステップＳ１５６において、読み書き装置１の復号部１４は、ステップＳ１５５で受信した、一時鍵Ｋｔｅｍｐで暗号化された保存用鍵Ｋｓａｖｅを記憶部１５が記憶する一時鍵Ｋｔｅｍｐで復号する。ステップＳ１５７において、復号部１４は、ステップＳ１５５で受信した、保存用鍵Ｋｓａｖｅで暗号化されたコンテンツ鍵Ｋｃｏを保存用鍵Ｋｓａｖｅで復号する。ステップＳ１５８において、復号部１４は、ステップＳ１５５で受信した、コンテンツ鍵Ｋｃｏで暗号化されたコンテンツをコンテンツ鍵Ｋｃｏで復号する。
【００９３】
このように、読み書き装置１は、ICメモリ２に記憶された保存用鍵Ｋｓａｖｅを用いて、ICメモリ２に記憶されたコンテンツを復号する。
【００９４】
以上のように、コンテンツ鍵ＫｃｏがICメモリ２毎に異なる保存用鍵Ｋｓａｖｅで暗号化さるので、コンテンツの不正な複製は防止され、かつ、コンテンツが汎用メモリに記憶されるので、ICメモリ２は安価に提供できる。
【００９５】
なお、共通鍵暗号方式は、ブロック暗号であるDESとして説明したが、NTT（商標）が提案するFEAL、IDEA(International Data Encription Algorithm)、または１ビット乃至数ビット単位で暗号化するストリーム暗号などでもよい。
【００９６】
また、コンテンツおよびコンテンツ鍵Ｋｃｏの暗号化は、共通鍵暗号方式を利用するとして説明したが、公開鍵暗号方式で暗号化してもよい。
【００９７】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものとする。
【００９８】
また、上記したような処理を行うコンピュータプログラムをユーザに提供する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【００９９】
【発明の効果】
請求項１に記載のデータ処理装置および請求項３に記載のデータ処理方法によれば、コンテンツ鍵を復号するための配送鍵を記憶し、配送鍵によってコンテンツ鍵を復号し、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成し、復号されたコンテンツ鍵を一時鍵によって暗号化し、少なくとも、一時鍵によって暗号化したコンテンツ鍵を記憶媒体に送信するようにしたので、安価な汎用の半導体メモリを使用して、不正な情報の複製を防止することができるようになる。
【０１００】
請求項４に記載のデータ処理装置および請求項５に記載のデータ処理方法によれば、コンテンツ鍵を復号するための配送鍵を記憶し、配送鍵によって暗号化されたコンテンツ鍵を復号し、記憶媒体との相互認証を行うとともに、記憶媒体と共有するための一時鍵を生成し、記憶媒体から一時鍵によって暗号化された保存鍵を受信し、一時鍵によって保存鍵を復号し、復号されたコンテンツ鍵を保存鍵によって暗号化し、少なくとも、保存鍵で暗号化したコンテンツ鍵を記憶媒体に送信するようにしたので、安価な汎用の半導体メモリを使用して、不正な情報の複製を防止することができるようになる。
【０１０３】
請求項６に記載のデータ復号処理装置および請求項７に記載のデータ復号処理方法によれば、記憶媒体と相互認証を行うともに、記憶媒体と共有するための一時鍵を生成し、記憶媒体から一時鍵によって暗号化された保存鍵を受信し、一時鍵によって保存鍵を復号し、記憶媒体から保存鍵によって暗号化されたコンテンツ鍵を読み出し、保存鍵によってコンテンツ鍵を復号し、コンテンツ鍵によってコンテンツを復号するようにしたので、安価な汎用の半導体メモリを使用して、不正な情報の複製を防止することができるようになる。
【図面の簡単な説明】
【図１】本発明に係る情報処理装置および情報記録媒体の一実施の形態の構成を示すブロック図である。
【図２】ネットワークを介して受信したコンテンツおよびコンテンツ鍵Ｋｃｏを記憶する処理を説明するフローチャートである。
【図３】共通鍵暗号方式で鍵を２つ使用するときの相互認証の処理を説明するフローチャートである。
【図４】公開鍵暗号方式を使用するときの相互認証の処理を説明するフローチャートである。
【図５】ネットワークを介して受信したコンテンツを圧縮して記憶する処理を説明するフローチャートである。
【図６】ネットワークを介して受信したコンテンツを記憶する他の処理を説明するフローチャートである。
【図７】ネットワークを介して受信したコンテンツを記憶する他の処理を説明するフローチャートである。
【図８】  ICメモリ２に記憶されたデータを読み出す処理を説明するフローチャートである。
【図９】復号の処理を説明するフローチャートである。
【図１０】復号の他の処理を説明するフローチャートである。
【符号の説明】
１  読み書き装置，  ２  ICメモリ，  １１  通信部，  １２  相互認証部，１３  暗号化部，  １４  復号部，  １６  乱数生成部，  １９  情報記憶ブロック，  ２３  相互認証部，  ２５  記憶部
【図１】
0004427693.tif 000002
【図２】
0004427693.tif 000003
【図３】
0004427693.tif 000004
【図４】
0004427693.tif 000005
【図５】
0004427693.tif 000006
【図６】
0004427693.tif 000007
【図７】
0004427693.tif 000008
【図８】
0004427693.tif 000009
【図９】
0004427693.tif 000010
【図１０】
0004427693.tif 000011