(57)【要約】【課題】ユーザー毎に異なる暗号鍵でコンテンツデータを暗号化すると、ユーザーの数が多いと暗号化処理の負荷が大きくなり、共通鍵で暗号化すると、共通鍵が流出した場合に、配信されたコンテンツデータがすべて復号できてしまう。【解決手段】細分化処理部３１により同じデータブロックを複数ずつ複製して生成されたデータブロックグループのうち、暗号化処理部３３は、同一のデータブロックグループに属する複数のデータブロックに対して異なる暗号鍵を用いて暗号化処理を施して暗号化データブロックグループを複数個生成する。鍵生成部３４は、複数の暗号化データブロックグループの生成に用いた複数の暗号鍵を鍵束１０４として出力する。再構成処理部３６は、暗号化したデータブロックグループ１０３からグループ単位で１つずつランダムに選択した暗号化されたデータブロックを結合して一つの暗号化されたコンテンツデータを出力して配信する。【選択図】            図１
2005010523.tif 000002
【特許請求の範囲】
【請求項１】
配信すべきコンテンツデータを所定の方法でＮ個（Ｎは２以上の整数）のデータブロックに分割する第１のステップと、
前記第１のステップにより分割した前記Ｎ個のデータブロックのそれぞれについて、各データブロックを複製して、それぞれＭ個（Ｍは２以上の整数）の全く同じデータブロックからなる全部でＮ個のデータブロックグループを生成する第２のステップと、
同一のデータブロックグループに属する前記Ｍ個のデータブロックに対して、異なる暗号鍵を用いて暗号化処理を施して暗号化データブロックグループを前記Ｎ個生成する第３のステップと、
前記Ｎ個の暗号化データブロックグループの生成に用いた複数の暗号鍵を鍵束として出力する第４のステップと、
前記Ｎ個の暗号化したデータブロックグループからグループ単位で１つずつランダムに選択した全部でＮ個の暗号化されたデータブロックを結合して、一つの暗号化されたコンテンツデータを配信する第５のステップと、
前記第５のステップで選択した前記Ｎ個の暗号化されたデータブロックの暗号化処理に用いた前記Ｎ個の前記暗号鍵を前記鍵束から選択して一つの暗号化コンテンツ鍵として配信する第６のステップと
を含むことを特徴とする暗号化方法。
【請求項２】
請求項１記載の暗号化方法により暗号化されたコンテンツデータを復号化して暗号を解読する復号化方法であって、
Ｎ個（Ｎは２以上の整数）の暗号化したデータブロックグループからグループ単位で１つずつランダムに選択した全部でＮ個の暗号化されたデータブロックが結合されてなる一つの暗号化されたコンテンツデータから前記Ｎ個の暗号化されたデータブロックを分割する第１のステップと、
前記暗号化されたコンテンツデータと共に入力される、前記ランダムに選択した前記Ｎ個の暗号化されたデータブロックの暗号化処理に用いた前記Ｎ個の前記暗号鍵からなる暗号化コンテンツ鍵から前記Ｎ個の暗号鍵を分割する第２のステップと、
前記第１のステップにより分割された前記Ｎ個の暗号化されたデータブロックのそれぞれを、前記第２のステップにより分割された前記Ｎ個の暗号鍵を用いて復号する第３のステップと、
前記第３のステップにより復号化されたＮ個の前記データブロックを結合して元のコンテンツデータを得る第４のステップと
を含むことを特徴とする復号化方法。
【請求項３】
コンテンツ供給者が、配信すべきコンテンツデータを暗号鍵を用いて暗号化し、暗号化されたコンテンツデータと共に前記暗号鍵に関連した暗号化コンテンツ鍵をコンテンツ利用者に配信し、該コンテンツ利用者が、前記暗号化コンテンツ鍵を用いて前記暗号化されたコンテンツデータを復号して元の前記コンテンツデータを得るコンテンツデータ配信システムであって、
前記コンテンツ供給者は、
前記配信すべきコンテンツデータを所定の方法でＮ個（Ｎは２以上の整数）のデータブロックに分割し、分割した各データブロック毎に複製してそれぞれＭ個（Ｍは２以上の整数）の全く同じデータブロックからなるデータブロックグループを生成し、同一のデータブロックグループに属する前記Ｍ個のデータブロックに対して異なる前記暗号鍵を用いて暗号化処理を施して暗号化データブロックグループを前記Ｎ個生成すると共に、該Ｎ個の暗号化データブロックグループの生成に用いた複数の暗号鍵を鍵束として出力するコンテンツ暗号化前処理手段と、
前記Ｎ個の暗号化したデータブロックグループからグループ単位で１つずつランダムに選択した全部でＮ個の前記暗号化されたデータブロックを結合して一つの前記暗号化されたコンテンツデータを出力すると共に、前記選択した前記Ｎ個の暗号化されたデータブロックの暗号化処理に用いた前記Ｎ個の前記暗号鍵を前記鍵束から選択して前記暗号化コンテンツ鍵として出力するコンテンツ暗号化後処理手段とからなる暗号化装置を有し、
前記コンテンツ利用者は、
配信された前記暗号化されたコンテンツデータから前記Ｎ個の暗号化されたデータブロックを分割すると共に、前記配信された前記暗号化コンテンツ鍵から前記Ｎ個の暗号化されたデータブロックに用いた前記Ｎ個の暗号鍵を分割する分割手段と、
前記分割手段により分割された前記Ｎ個の暗号化されたデータブロックのそれぞれを分割された該Ｎ個の暗号鍵を用いて復号する復号手段と、
前記復号されたＮ個の前記データブロックを結合して元のコンテンツデータを得る結合手段とからなる復号化装置を有することを特徴とするコンテンツデータ配信システム。
【請求項４】
前記コンテンツ暗号後処理手段は、前記鍵束から選択した前記Ｎ個の前記暗号鍵を、所定のユーザー鍵を用いて暗号化して前記暗号化コンテンツ鍵として出力する暗号化処理手段を更に有し、前記コンテンツ供給者の前記分割手段は、配信された前記暗号コンテンツ鍵を、前記所定のユーザー鍵を用いて復号して前記Ｎ個の暗号化されたデータブロックに用いた前記Ｎ個の暗号鍵を得る復号処理手段を更に有することを特徴とする請求項３記載のコンテンツデータ配信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は暗号化方法、復号化方法及びコンテンツデータ配信システムに係り、特にディジタルコンテンツデータを多数のユーザーに配信するに際し、ディジタルコンテンツデータの不正使用や、ネットワーク上での盗聴などの不正アクセスを無効化する暗号化方法、暗号を解読する復号化方法及びコンテンツデータ配信システムに関する。
【０００２】
【従来の技術】
オーディオデータ、ビデオデータ、高精細絵画データ、あるいはそれらを組み合わせたディジタルコンテンツデータを多数のユーザーに対して配信するコンテンツデータ配信システムにおいては、ディジタルコンテンツデータに暗号化を施すことによりディジタルコンテンツデータの不正使用や、ネットワーク上での盗聴などの不正アクセスを無効化するようにしている。
【０００３】
図８は従来のコンテンツデータ配信システムの一例の概略構成図を示す。同図において、コンテンツ供給者１はコンテンツデータ４ａを暗号化処理部５において各ユーザーに対して異なる暗号鍵である共通鍵２を用いて所定の共通鍵暗号化法に従い暗号化処理を行い、暗号化コンテンツデータ６を得る。コンテンツ供給者１は、この暗号化コンテンツデータ６と上記暗号化処理に用いた共通鍵２をコンテンツ利用者であるユーザー３に配信する。ユーザー３は受信した暗号化コンテンツデータ６を同じく受信した共通鍵２を用いて復号化処理部７において復号しコンテンツデータ４ｂを得る。
【０００４】
このように、この従来のコンテンツデータ配信システムでは、それぞれのユーザーに対して異なる暗号鍵である共通鍵２でディジタルコンテンツデータに暗号化処理を行うことにより、ネットワーク上での盗聴などの不正アクセスを無効化すると共に、ユーザー間での不正なデータ共有を無効化する。
【０００５】
図９は従来のコンテンツデータ配信システムの他の例の概略構成図を示す。同図において、コンテンツ供給者８は、コンテンツデータ１５ａを暗号化処理部１６においてコンテンツ鍵１１を用いて所定の共通鍵暗号化法に従い暗号化処理を行い、暗号化コンテンツデータ１７を得る。ここで上記暗号化処理に用いたコンテンツ鍵１１をユーザーに個別に関連付けられたユーザー鍵９を用いて暗号化処理部１２において暗号化処理を行い、暗号化コンテンツ鍵１９を得る。
【０００６】
次に、コンテンツ供給者８は、暗号化コンテンツデータ１７と暗号化コンテンツ鍵１９をコンテンツ利用者であるユーザー１０に配信する。ユーザー１０は、まず受信した暗号化コンテンツ鍵１９をユーザーに個別に関連付けられたユーザー鍵９を用いて復号化処理部１３において復号化処理を行い、コンテンツ鍵１４を得る。このコンテンツ鍵１４を用いて、同じく受信した暗号化コンテンツデータ１７を復号化処理部１８において復号しコンテンツデータ１５ｂを得る。
【０００７】
このように、この従来のコンテンツデータ配信システムでは、それぞれのディジタルコンテンツデータは各ユーザーに共通の暗号鍵であるコンテンツ鍵１１で暗号化するが、個々のユーザーに対してはコンテンツ鍵１１を個々のユーザーに対してユニークな暗号鍵であるユーザー鍵９で暗号化を行って得た暗号化コンテンツ鍵１９を伝送し、ディジタルコンテンツデータを再生する装置内部でこのユーザーに対してユニークなユーザー鍵９で暗号化コンテンツ鍵１９を復号してコンテンツ鍵１４を得て、これを用いて暗号化されているディジタルコンテンツデータを復号し、個々のユーザーに関連付けられたディジタルコンテンツデータの利用条件に従いディジタルコンテンツデータを表示する。
【０００８】
なお、暗号の一般的技術としてデータを分割することが行われている（例えば、特許文献１、２参照）。特許文献１には、送信するコンテンツデータに相当する平文を分割した分割平文毎に複数の公開鍵を予め準備し、それらの複数の公開鍵から任意の公開鍵を各分割平文毎に選択し、選択した公開鍵を使用して暗号文を作成する方法が開示されている。
【０００９】
また、特許文献２には、送信するファイルのデータを固定長のブロックに分割して、各ブロックに対する暗号化を行い、ファイルとブロックとの関係を規定するデータ構成管理情報の中に、暗号化の鍵を配信するＥＣＭ（Ｅｎｔｉｔｌｅｍｅｎｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅｓ）に関する情報を含めて、データ構成管理情報と暗号化したブロックとを伝送し、受信側は、受信したデータ構成管理情報に基づいて、伝送される情報の中から必要なデータを取得するようにしたシステムが開示されている。
【００１０】
【特許文献１】
特開２００１−９２３５３号公報
【特許文献２】
特開２００１−３３３０３２号公報
【００１１】
【発明が解決しようとする課題】
しかるに、上記の特許文献１及び２記載の従来システムでは、それぞれのユーザーに対して異なる暗号鍵でディジタルコンテンツデータに暗号化処理を行う方法を用いると、ユーザーの数だけ暗号化を行う必要があり、ユーザーの数が多い場合に、ディジタルコンテンツデータを配信する装置において暗号化処理の負荷が大きくなり問題となる場合がある。
【００１２】
また、ディジタルコンテンツデータを共通の鍵で暗号化する場合は、共通鍵が流出した場合に、配信された同一のディジタルコンテンツデータがすべて復号できてしまう問題があるため、再生装置内部から共通鍵が読み出せないよう処理を施す必要があり、再生装置のコストアップにつながる問題がある。
【００１３】
本発明は以上の点に鑑みなされたもので、ディジタルコンテンツデータの不正使用や、ネットワーク上での盗聴などの不正アクセスを無効化するための効率的な暗号化処理を施した暗号化方法、復号化方法及びコンテンツデータ配信システムを提供することを目的とする。
【００１４】
また、本発明の他の目的は、多数のユーザーに対してディジタルコンテンツデータを配信する装置における暗号化処理の負荷を、ユーザー毎に暗号鍵を使用する暗号化方法に比べて軽減し得ると共に、共通鍵を使用する暗号化方法に比べて再生装置を安価に構成し得る暗号化方法、復号化方法及びコンテンツデータ配信システムを提供することを目的とする。
【００１５】
【課題を解決するための手段】
上記の目的を達成するため、第１の発明の暗号化方法は、配信すべきコンテンツデータを所定の方法でＮ個（Ｎは２以上の整数）のデータブロックに分割する第１のステップと、第１のステップにより分割したＮ個のデータブロックのそれぞれについて、各データブロックを複製して、それぞれＭ個（Ｍは２以上の整数）の全く同じデータブロックからなる全部でＮ個のデータブロックグループを生成する第２のステップと、同一のデータブロックグループに属するＭ個のデータブロックに対して異なる暗号鍵を用いて暗号化処理を施して暗号化データブロックグループをＮ個生成する第３のステップと、Ｎ個の暗号化データブロックグループの生成に用いた複数の暗号鍵を鍵束として出力する第４のステップと、Ｎ個の暗号化したデータブロックグループからグループ単位で１つずつランダムに選択した全部でＮ個の暗号化されたデータブロックを結合して一つの暗号化されたコンテンツデータを配信する第５のステップと、第５のステップで選択したＮ個の暗号化されたデータブロックの暗号化処理に用いたＮ個の暗号鍵を鍵束から選択して一つの暗号化コンテンツ鍵として配信する第６のステップとを含むことを特徴とする。
【００１６】
この発明では、コンテンツデータを第１のステップにより予め細分化して得たデータブロックに対して、第３のステップで異なる暗号鍵を用いて暗号化処理を済ませておくので、細分化された暗号化データブロックの再構成処理だけでデータの個別化が行える。
【００１７】
また、上記の目的を達成するため、第２の発明の復号化方法は、第１の発明の暗号化方法により暗号化されたコンテンツデータを復号化して暗号解読する復号化方法であって、Ｎ個（Ｎは２以上の整数）の暗号化したデータブロックグループからグループ単位で１つずつランダムに選択した全部でＮ個の暗号化されたデータブロックが結合されてなる一つの暗号化されたコンテンツデータからＮ個の暗号化されたデータブロックを分割する第１のステップと、暗号化されたコンテンツデータと共に入力される、ランダムに選択したＮ個の暗号化されたデータブロックの暗号化処理に用いたＮ個の暗号鍵からなる暗号化コンテンツ鍵からＮ個の暗号鍵を分割する第２のステップと、第１のステップにより分割されたＮ個の暗号化されたデータブロックのそれぞれを、第２のステップにより分割されたＮ個の暗号鍵を用いて復号する第３のステップと、第３のステップにより復号化されたＮ個のデータブロックを結合して元のコンテンツデータを得る第４のステップとを含むことを特徴とする。
【００１８】
また、上記の目的を達成するため、第３の発明のコンテンツデータ配信システムは、コンテンツ供給者が、配信すべきコンテンツデータを暗号鍵を用いて暗号化し、暗号化されたコンテンツデータと共に暗号鍵に関連した暗号化コンテンツ鍵をコンテンツ利用者に配信し、コンテンツ利用者が、暗号化コンテンツ鍵を用いて暗号化されたコンテンツデータを復号して元のコンテンツデータを得るコンテンツデータ配信システムであって、
コンテンツ供給者は、配信すべきコンテンツデータを所定の方法でＮ個（Ｎは２以上の整数）のデータブロックに分割し、分割した各データブロック毎に複製してそれぞれＭ個（Ｍは２以上の整数）の全く同じデータブロックからなるデータブロックグループをＮ個生成し、同一のデータブロックグループに属するＭ個のデータブロックに対して異なる暗号鍵を用いて暗号化処理を施して暗号化データブロックグループをＮ個生成すると共に、Ｎ個の暗号化データブロックグループの生成に用いた複数の暗号鍵を鍵束として出力するコンテンツ暗号化前処理手段と、Ｎ個の暗号化したデータブロックグループからグループ単位で１つずつランダムに選択した全部でＮ個の暗号化されたデータブロックを結合して一つの暗号化されたコンテンツデータを出力すると共に、選択したＮ個の暗号化されたデータブロックの暗号化処理に用いたＮ個の暗号鍵を鍵束から選択して暗号化コンテンツ鍵として出力するコンテンツ暗号化後処理手段とからなる暗号化装置を有し、
コンテンツ利用者は、配信された暗号化されたコンテンツデータからＮ個の暗号化されたデータブロックを分割すると共に、配信された暗号化コンテンツ鍵からＮ個の暗号化されたデータブロックに用いたＮ個の暗号鍵を分割する分割手段と、分割手段により分割されたＮ個の暗号化されたデータブロックのそれぞれを分割されたＭ個の暗号鍵を用いて復号する復号手段と、復号されたＮ個のデータブロックを結合して元のコンテンツデータを得る結合手段とからなる復号化装置を有する構成したものである。この発明では、コンテンツデータを暗号化するコンテンツ鍵をユーザー鍵で暗号化しているため、受信装置内で共通のコンテンツ鍵が復元されることがない。
【００１９】
また、上記の目的を達成するため、第４の発明のコンテンツデータ配信システムは、第３の発明におけるコンテンツ暗号後処理手段が、鍵束から選択したＮ個の暗号鍵を、所定のユーザー鍵を用いて暗号化して暗号化コンテンツ鍵として出力する暗号化処理手段を更に有し、コンテンツ供給者の分割手段が、配信された暗号化コンテンツ鍵を、所定のユーザー鍵を用いて復号してＮ個の暗号化されたデータブロックに用いたＭ個の暗号鍵を得る復号処理手段を更に有することを特徴とする。
【００２０】
【発明の実施の形態】
次に、本発明の一実施の形態について、図面と共に説明する。図１は本発明になるコンテンツデータ配信システムの一実施の形態の概略構成図を示す。同図において、コンテンツ供給者２１が行う処理は、コンテンツ暗号化前処理２２とコンテンツ暗号化後処理２３に大別される。
【００２１】
まず、コンテンツ暗号化前処理２２について説明する。コンテンツデータ１００は、細分化処理部３１において後述する方法により細分化されることにより、ｎ＋１個（ｎは任意の自然数）の分割コンテンツデータであるデータブロック１０１にされた後、複製処理部３２に供給される。複製処理部３２は、個々のデータブロック１０１毎に後述する方法により全く同じデータブロックをｍ個複製し、それぞれｍ＋１個（ｍは任意の自然数）の全く同じデータブロックからなるデータブロックグループ１０２を生成する。ここで、ｍ＋１は前記Ｍに、ｎ＋１は前記Ｎに相当する。
【００２２】
このデータブロックグループ１０２は、暗号化処理部３３において同一のデータブロックグループに属するｍ＋１個のデータブロックに対して、鍵生成部３４にて生成された異なる暗号鍵を用いて暗号化されて暗号化データブロックグループ１０３とされる。この暗号化データブロックグループ１０３はｎ＋１個生成される。
【００２３】
上記の鍵生成部３４にて生成された暗号鍵は、記録手段５０に記録されるデータブロック鍵束１０４に含まれる鍵が使用され、これらから全てのデータブロックに対して異なる鍵を用いて行われる。
【００２４】
次に、コンテンツ暗号化後処理２３について説明する。コンテンツ暗号化後処理２３は、先ず暗号化データブロックグループ１０３とデータブロック鍵束１０４を記録手段５０から読み出す。次に、乱数発生部３５において乱数１０５を発生させ、この乱数１０５を再構成処理部３６と部分抽出部３７に入力する。再構成処理部３６では暗号化データブロックグループ１０３を乱数１０５に従い各暗号化データブロックグループから一個ずつ暗号化データブロックを選択し、選択された暗号化データブロックを細分化処理部３１と逆の処理をすることにより結合して暗号化コンテンツデータ１０６を得る。結合方法については後に説明する。
【００２５】
また、部分抽出部３７では、乱数１０５に従い再構成処理部３６で選択された暗号化データブロックに対応するデータブロック鍵をデータブロック鍵束１０４から選出し、これらを結合しコンテンツ鍵１０７とし、そのコンテンツ鍵１０７をユーザーに関連付けられたユーザー鍵１０８を用いて暗号化処理部３８において暗号化処理を行い、暗号化コンテンツ鍵１０９を得る。
【００２６】
このようにして、コンテンツ暗号化後処理２３は、記録手段５０から読み出した暗号化データブロックグループ１０３とデータブロック鍵束１０４に基づき、暗号化処理が行われた暗号化コンテンツデータ１０６と暗号化コンテンツ鍵１０９を生成して、それらをコンテンツ利用者（ユーザー）４０に配信（伝送）する。
【００２７】
ユーザー４０はコンテンツ暗号化前処理２３から受け取った暗号化コンテンツ鍵１０９を復号化処理部４３において、ユーザー鍵１０８を用いて復号し、コンテンツ鍵４１を得る。そのコンテンツ鍵４１は分割処理部４４においてデータブロック鍵１１２に分割される。
【００２８】
また、ユ−ザー４０はコンテンツ暗号化前処理２３から受け取った暗号化コンテンツデータ１０６を、分割処理部４１において暗号化データブロック１０７に分割し、それを復号化処理部４２において、上記分割処理部４４からのデータブロック鍵１１２を用いて、それぞれ対応する暗号化データブロック１０７を復号してデータブロック１１３を得る。このようにして得られたデータブロック１１３は、結合処理部４５にて結合されることにより、コンテンツデータ１１４とされる。このコンテンツデータ１１４は、コンテンツデータ１００を復号化したデータである。
【００２９】
次に、細分化処理部３１によるコンテンツデータの細分化処理について説明する。図２はコンテンツデータの細分化処理の一例を示す。同図に示すように、コンテンツデータ１００は所定の方法で分割されてｎ＋１個のデータブロック１０１−０、１０１−１、１０１−２、１０１−３、１０１−４、・・・、１０１−ｎとなる。
【００３０】
次に、分割されたコンテンツデ−タブロック１０１−０、１０１−１、１０１−２、１０１−３、１０１−４、・・・、１０１−ｎの複製処理と暗号化の例を図３に示す。分割されたコンテンツデータブロック１０１−０は、図１の複製処理部３２により全く同じｍ個のデータブロックが複製され、これら全部で（ｍ＋１）個の複製データブロックに対し、図１の暗号化処理部３３においてそれぞれ異なる暗号鍵で暗号化処理を行い、図３に示すように、全部で（ｍ＋１）個の暗号化データブロック１０３−０−０、１０３−０−１、１０３−０−２、１０３−０−３、・・・、１０３−０−ｍからなる暗号化データブロックグループを得る。
【００３１】
同様に、分割された残りのｎ個のデータブロック１０１−１、１０１−２、１０１−３、１０１−４、・・・、１０１−ｎに対しても、図１の複製処理部３２によりそれぞれ全く同じ（ｍ＋１）個のデ−タブロックに複製し、図１の暗号化処理部３３においてそれぞれ異なる暗号鍵で暗号化処理を行い、（ｍ＋１）個の暗号化データブロック１０３−１−０〜１０３−１−ｍからなる暗号化デ−タブロックグループと、（ｍ＋１）個の暗号化データブロック１０３−２−０〜１０３−２−ｍからなる暗号化データブロックグループと、（ｍ＋１）個の暗号化データブロック１０３−３−０〜１０３−３−ｍからなる暗号化デ−タブロックグループと、（ｍ＋１）個の暗号化データブロック１０３−４−０〜１０３−４−ｍからなる暗号化データブロックグループと、以下同様に（ｍ＋１）個の暗号化デ−タブロック１０３−ｎ−０〜１０３−ｎ−ｍからなる暗号化デ−タブロックグループまでのｎ個の暗号化データブロックグループを得る。このようにして、全部で（ｎ＋１）個の暗号化データブロックグループ１０３が生成され、記録手段５０により記録される。
【００３２】
次に、図１の再構成処理部３６によるコンテンツデータの再構成処理について、図４と共に詳細に説明する。図１の再構成処理部３６は、入力された図４に示す暗号化データブロックグループ１０３のうち、第１の暗号化データブロックグループを構成する（ｍ＋１）個の暗号化データブロック１０３−０−０、１０３−０−１、１０３−０−２、１０３−０−３、・・・、１０３−０−ｍの中から任意の暗号化データブロックを一つ選択する。
【００３３】
同様に、図１の再構成処理部３６は、第２の暗号化データブロックグループを構成する（ｍ＋１）個の暗号化データブロック１０３−１−０〜１０３−１−ｍ、第３の暗号化データブロックグループを構成する（ｍ＋１）個の暗号化データブロック１０３−２−０〜１０３−２−ｍ、第４の暗号化データブロックグループを構成する（ｍ＋１）個の暗号化データブロック１０３−３−０〜１０３−３−ｍ、第５の暗号化データブロックグループを構成する（ｍ＋１）個の暗号化データブロック１０３−４−０〜１０３−４−ｍ、・・・、第（ｎ＋１）の暗号化データブロックグループを構成する（ｍ＋１）個の暗号化データブロック１０３−ｎ−０〜１０３−ｎ−ｍのそれぞれから一個ずつ任意の暗号化データブロックを選択する。
【００３４】
そして、図１の再構成処理部３６は、（ｎ＋１）個の暗号化データブロックグループの各々から任意に一個ずつ選択した、全部で（ｎ＋１）個の暗号化データブロックを図４に示すように時系列的に結合して、暗号化コンテンツデータ１０６を得る。
【００３５】
以上のように、本実施の形態によれば、コンテンツデータ配信時に毎回異なる暗号鍵で暗号化を行い、各ユーザーに対して個別化する従来方法に比べて、コンテンツデータを予め細分化処理部３１で細分化した後に暗号化処理部３３で暗号化処理を済ませておくので、細分化されたコンテンツデータブロックを再構成処理部３６で再構成処理するだけでデータの個別化が行え、これにより、データ配信サーバの負荷を小さくすることができる。
【００３６】
また、コンテンツデータを共通のコンテンツ鍵で暗号化しておいて、配信時にコンテンツ鍵をユーザー毎に異なる鍵で暗号化したものを暗号化コンテンツデータと一緒に配信する従来方法と比較して、本実施の形態では、コンテンツ鍵１０７を暗号化処理部３８にてユーザー毎に異なるユーザー鍵１０８で暗号化して配信するため、受信装置内で共通のコンテンツ鍵１０７が復元されることがないので、共通のコンテンツ鍵の流出の危険を防止できる。
【００３７】
なお、コンテンツ鍵１０７の暗号化処理は、ユーザー毎に異なるユーザー鍵１０８を使用して配信時に毎回行われるが、コンテンツ鍵１０７はコンテンツデータに比べてデータ量が小さいので、ユーザー数が多くてもコンテンツデータをユーザー鍵で暗号化する従来方法に比較して暗号化処理の負荷は問題にならない。
【００３８】
次に、コンテンツ暗号化前処理２２について図５のフローチャートと共に説明する。同図において、コンテンツデータは（ｎ＋１）個のデータブロックｄｔ（０）〜ｄｔ（ｎ）に分割される（ステップ２０１）。次に、変数ｉに初期値「０」を代入し（ステップ２０２）、データブロックｄｔ（ｉ）を（ｍ＋１）個のデータブロックｄｔｂｌｋ（ｉ，０）〜ｄｔｂｌｋ（ｉ，ｍ）に複製された後（ステップ２０３）、変数ｉを１つインクリメントして（ステップ２０４）、インクリメント後の変数ｉの値がｎより大きくなったかどうか判定し（ステップ２０５）、大きくなっていなければｎより大きくなるまで上記のステップ２０３〜２０５の処理を繰り返す。
【００３９】
変数ｉの値がｎより大きなｎ＋１になると、上記のステップ２０３〜２０５の処理により、（ｎ＋１）個のデータブロックｄｔ（０）〜ｄｔ（ｎ）のそれぞれについて、（ｍ＋１）個ずつデータブロックが複製される。次に、暗号鍵ｋｅｙ（０，０）〜ｋｅｙ（ｎ，ｍ）が生成される（ステップ２０６）。続いて、変数ｉとｊがそれぞれ初期値「０」に設定された後（ステップ２０７、２０８）、データブロックｄｔｂｌｋ（ｉ，ｊ）が対応するｋｅｙ（ｉ，ｊ）で暗号化されて暗号化されたデータブロックｄｔｂｌｋ２（ｉ，ｊ）となる（ステップ２０９）。
【００４０】
続いて、変数ｊの値を１つインクリメントした後（ステップ２１０）、インクリメント後の変数ｊの値がｍより大きくなったかどうか判定し（ステップ２１１）、大きくなっていなければｍより大きくなるまで上記のステップ２０９〜２１１の処理を繰り返す。
【００４１】
変数ｊの値がｍより大きなｍ＋１になると、今度はもう一つの変数ｉの値を１つインクリメントした後（ステップ２１２）、インクリメント後の変数ｉの値がｎより大きくなったかどうか判定し（ステップ２１３）、大きくなっていなければｎより大きくなるまで上記のステップ２０８〜２１３の処理を繰り返す。
【００４２】
変数ｉの値がｎより大きなｎ＋１になると、それまでのステップ２０８〜２１３の繰り返し処理により、（ｍ＋１）×（ｎ＋１）個のデータブロックｄｔｂｌｋ（ｉ，ｊ）が対応する（ｍ＋１）×（ｎ＋１）個のｋｅｙ（ｉ，ｊ）で暗号化された暗号化データブロックグループが得られた後、次に、暗号化されたｄｔｂｌｋ２（０，０）〜ｄｔｂｌｋ２（ｎ，ｍ）を暗号化データブロックグループとして記録手段に保存すると共に、使用した暗号鍵ｋｅｙ（０，０）〜ｋｅｙ（ｎ，ｍ）をデータブロック鍵束として保存する（ステップ２１４）。これにより、コンテンツ暗号化前処理を終了する（ステップ２１５）。
【００４３】
次に、コンテンツ暗号化後処理２３について図６のフローチャートと共に説明する。このコンテンツ暗号化後処理２３では、前述した図５のフローチャートによるコンテンツ暗号化前処理で生成、保存した暗号化データブロックグループｄｔｂｌｋ２（０，０）〜ｄｔｂｌｋ２（ｎ，ｍ）とデータブロック鍵束ｋｅｙ（０，０）〜ｋｅｙ（ｎ，ｍ）を使用して暗号化コンテンツデータとコンテンツ鍵を生成する。
【００４４】
まず、変数ｉを初期値「０」に設定し（ステップ３０１）、続いて変数ｋとして「０」から「ｍ」までの整数のうち任意の整数を選択した後（ステップ３０２）、前述した暗号化データブロックグループｄｔｂｌｋ２（ｉ，ｋ）をｓｌｃｔｄｄｔｂｌｋ（ｉ）とし（ステップ３０３）、前述したデータブロック鍵束ｋｅｙ（ｉ，ｋ）をｓｌｃｔｄｋｅｙ（ｉ）とする（ステップ３０４）。
【００４５】
続いて、変数ｉを１インクリメントし（ステップ３０５）、インクリメント後の変数ｉの値がｎより大きくなったかどうか判定し（ステップ３０６）、大きくなっていなければｎより大きくなるまで上記のステップ３０２〜３０６の処理を繰り返す。
【００４６】
変数ｉの値がｎより大きなｎ＋１になると、それまでのステップ３０２〜３０６の繰り返し処理により得られたｓｌｃｔｄｄｔｂｌｋ（０）〜ｓｌｃｔｄｄｔｂｌｋ（ｎ）を結合して暗号化コンテンツデータｅｎｃｄｔを得る（ステップ３０７）。また、ステップ３０２〜３０６の処理により得られたｓｌｃｔｄｋｅｙ（０）〜ｓｌｃｔｄｋｅｙ（ｎ）を結合してコンテンツ鍵ｅｎｃｋｅｙを得る（ステップ３０８）。最後に、コンテンツ鍵ｅｎｃｋｅｙをユーザー鍵で暗号化し、暗号化コンテンツ鍵ｅｎｃｋｅｙ２を得て（ステップ３０９）、コンテンツ暗号化後処理を終了する（ステップ３１０）。
【００４７】
次に、本発明における復号処理について、図７のフローチャートと共に説明する。この復号処理では、図６のフローチャートと共に説明したコンテンツ暗号化後処理で生成した暗号化コンテンツデータｅｎｃｄｔと、暗号化コンテンツ鍵ｅｎｃｋｅｙ２を用いてコンテンツデータを復号する。
【００４８】
図７において、まず、前述した暗号化コンテンツ鍵ｅｎｃｋｅｙ２をユーザー鍵を用いて復号化し、前述したコンテンツ鍵ｅｎｃｋｅｙを得た後（ステップ４０１）、そのコンテンツ鍵ｅｎｃｋｅｙを（ｎ＋１）個のデータブロック鍵ｒｃｋｅｙ（０）〜ｒｃｋｅｙ（ｎ）に分割する（ステップ４０２）。続いて、前述した暗号化コンテンツデータｅｎｃｄｔを（ｎ＋１）個の暗号化データブロックｒｃｄｔｂｌｋ（０）〜ｒｃｄｔｂｌｋ（ｎ）に分割する（ステップ４０３）。続いて、変数ｉに初期値「０」を代入し（ステップ４０４）、ｉ番目の暗号化コンテンツデータブロックｒｃｄｔｂｌｋ（ｉ）を、対応するｉ番目のデータブロック鍵ｒｃｋｅｙ（ｉ）で復号してデータブロックｄｔｂｌｋ（ｉ）を得る（ステップ４０５）。
【００４９】
続いて、変数ｉの値を１インクリメントし（ステップ４０６）、インクリメント後の変数ｉの値がｎより大きくなったかどうか判定し（ステップ４０７）、大きくなっていなければｎより大きくなるまで上記のステップ４０５〜４０７の処理を繰り返す。
【００５０】
変数ｉの値がｎより大きなｎ＋１になると、それまでのステップ４０５〜４０７の繰り返し処理により、暗号化コンテンツデータブロックｒｃｄｔｂｌｋ（０）〜ｒｃｄｔｂｌｋ（ｎ）のそれぞれが、それぞれ対応するｒｃｋｅｙ（０）〜ｒｃｋｅｙ（ｎ）で順次復号されてデータブロックｄｔｂｌｋ（０）〜ｄｔｂｌｋ（ｎ）が得られるので、次に、これら復号されたデータブロックｄｔｂｌｋ（０）〜ｄｔｂｌｋ（ｎ）を結合して、コンテンツデータを得る（ステップ４０８）。これにより、復号処理が終了する（ステップ４０９）。
【００５１】
なお、本発明は上記の実施の形態に限定されるものではなく、例えば、暗号化処理部３８及び４３を設けず、コンテンツ鍵１０７を配信するようにしてもよい。また、本発明はインターネットなど通信ネットワークによるコンテンツデータ配信方法を含む。また、暗号化部と復号部を有して自己管理するディジタルコンテンツデータ暗号化／復号化装置を含む。また、本発明は、図５乃至図７の処理を行うコンピュータプログラムを含む。
【００５２】
【発明の効果】
以上説明したように、本発明によれば、コンテンツデータを予め細分化して得たコンテンツデータブロックに対して暗号化処理を済ませておくので、細分化された暗号化コンテンツデータブロックの再構成処理だけでデータの個別化が行えるため、コンテンツデータ配信時に毎回異なる暗号鍵で暗号化を行い、各ユーザーに対して個別化する従来方法に比べて、データ配信サーバの負荷を小さくすることができる。
【００５３】
また、本発明によれば、コンテンツデータを暗号化するコンテンツ鍵をユーザー鍵で暗号しているため、受信装置内で共通のコンテンツ鍵が復元されることがないので、コンテンツデータを共通のコンテンツ鍵で暗号化しておいて、配信時にコンテンツ鍵をユーザー毎に異なる鍵で暗号化したものを暗号化コンテンツデータと一緒に配信する従来方法と比較して、共通のコンテンツ鍵の流出の危険を防止できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態の概略構成図である。
【図２】図１における細分化処理の説明に用いる図である。
【図３】図１における暗号化処理の説明に用いる図である。
【図４】図１における再構成処理の説明に用いる図である。
【図５】本発明の一実施の形態における暗号化前処理の説明用フローチャートである。
【図６】本発明の一実施の形態における暗号化後処理の説明用フローチャートである。
【図７】本発明の一実施の形態における復号化処理の説明用フローチャートである。
【図８】従来のコンテンツデータ配信システムの一例の概略構成図である。
【図９】従来のコンテンツデータ配信システムの他の例の概略構成図である。
【符号の説明】
２１  コンテンツ供給者
２２  コンテンツ暗号化前処理
２３  コンテンツ暗号化後処理
３１  コンテンツデータ細分化処理部
３２  複製処理部
３３、３８  暗号化処理部
３４  鍵生成部
３５  乱数発生部
３６  再構成処理部
３７  部分抽出部
４０  ユーザー（コンテンツ利用者）
４１、４４  分割処理部
４２、４３  復号化処理部
４５  コンテンツデータ結合処理部
５０  記録手段
１００  コンテンツデータ
１０１  データブロック
１０２  データブロックグループ
１０３  暗号化データブロックグループ
１０４  データブロック鍵束
１０５  乱数
１０６  暗号化コンテンツデータ
１０７  コンテンツ鍵
１０８  ユーザーに関連付けられた暗号鍵（ユーザー鍵）
１０９  暗号化コンテンツ鍵
１１０  暗号化データブロック
１１１  コンテンツ鍵
１１２  データブロック鍵
１１３  データブロック
１１４  復号化されたコンテンツデータ
【図１】
2005010523.tif 000003
【図２】
2005010523.tif 000004
【図３】
2005010523.tif 000005
【図４】
2005010523.tif 000006
【図５】
2005010523.tif 000007
【図６】
2005010523.tif 000008
【図７】
2005010523.tif 000009
【図８】
2005010523.tif 000010
【図９】
2005010523.tif 000011