(57)【要約】設計データ記憶部２０２は、複数の設計データを記憶している。判定部２０３は、コンテンツサーバ１０から受信した暗号化コンテンツを復号するための回路が再構成可能部２０８で実現されているか、また、暗号化コンテンツを復号するための回路を実現するための設計データを、保持しているか否か判定する。再構成可能手段において所望の回路が実現されておらず、所望の設計データを保持していない場合には、ネットワークを介して、設計データサーバ３０から所望の設計データを取得する。【特許請求の範囲】
【請求項１】
設計データに基づき、回路を再構成することが可能な再構成可能手段と、
コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段において構成されているか否か判定する第１判定手段と、
前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定する第２判定手段と、
前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得手段とを備え、
前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、回路を再構成する
ことを特徴とするコンテンツ利用装置。
【請求項２】
前記コンテンツ利用装置は、
前記再構成可能手段において、コンテンツの利用に係る複数の機能を実現する回路を構成するための、複数の設計データを保持する設計データ記憶手段を備え、
前記第１判定手段は、前記設計データ記憶手段に、前記コンテンツ利用設計データが記憶されているか否かを判断することにより、前記判定を行う
ことを特徴とする請求項１に記載のコンテンツ利用装置。
【請求項３】
前記コンテンツの利用に係る前記機能は、前記コンテンツの暗号化、又は前記コンテンツが暗号化されて生成された暗号化コンテンツの復号であり、
前記コンテンツ利用回路は、前記暗号化の機能を実現するための回路、又は前記復号の機能を実現するための回路である
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項４】
前記コンテンツ利用装置は、ネットワークを介して外部の設計データサーバと接続されており、
前記取得手段は、
前記設計データサーバから、前記コンテンツ利用設計データを取得する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項５】
前記コンテンツ利用装置は、ネットワークを介して外部のコンテンツサーバと接続されており、
前記コンテンツサーバから、前記暗号化コンテンツ、及び前記コンテンツ利用設計データを一意に識別可能である設計データ識別子とを受信し、
前記取得手段は、
前記設計データサーバへ、前記設計データ識別子を出力し、前記コンテンツ利用設計データの送信を要求し、
前記再構成可能手段は、
取得した前記コンテンツ利用設計データに基づき、前記暗号化コンテンツの復号を実現するための回路である前記コンテンツ利用回路を再構成する
ことを特徴とする請求項４に記載のコンテンツ利用装置。
【請求項６】
前記コンテンツ利用装置は、記録媒体から情報を読み出す媒体入力手段を備え、前記取得手段は、
前記媒体入力手段を介して、前記コンテンツ利用設計データが記録されている記録媒体から、前記コンテンツ利用設計データを取得する
ことを特徴とする請求項３に記載のコンテンツ利用装置。
【請求項７】
前記コンテンツの利用に係る前記機能は、コンテンツの符号化、又は符号化されて生成されたコンテンツの逆符号化であり、
前記コンテンツ利用回路は、前記符号化の機能を実現するための回路、又は前記逆符号化の機能を実現するための回路である
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項８】
前記設計データ記憶手段は、
複数の設計データが配列された設計データテーブルを記憶しており、
前記取得手段は、
前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、
前記コンテンツ利用装置は、更に、
前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、
前記削除判定手段により、設計データを削除すると判定された場合に、削除すべき設計データを選択し、選択した前記設計データを、前記設計データテーブルから削除する設計データ削除手段と
を備えることを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項９】
前記設計データテーブルは、設計データ毎に、設計データと対応付けて、当該設計データが前記再構成可能手段において回路構成された頻度を示す設計データ使用情報を記憶しており、
前記設計データ削除手段は、
前記削除判定手段により、設計データを削除すると判定された場合に、設計データ使用情報を読み、設計データ使用情報が示す使用頻度が最も低い設計データを、前記削除すべき設計データとして選択する
ことを特徴とする請求項８に記載のコンテンツ利用装置。
【請求項１０】
前記設計データ削除手段は、
前記削除判定手段により、設計データを削除すると判定された場合に、前記複数の設計データ情報に含まれる設計データ使用情報を読み、設計データ使用情報が示す使用頻度が所定値以下である設計データを、優先的に前記削除すべき設計データとして選択する
ことを特徴とする請求項８に記載のコンテンツ利用装置。
【請求項１１】
前記設計データ記憶手段は、
複数の設計データが配列された設計データテーブルを記憶しており、
前記取得手段は、
前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、
前記コンテンツ利用装置は、更に、
前記再構成可能手段において、回路が再構成されると、前記設計データテーブルに含まれる複数の設計データの配列を並べ替える更新手段を備える
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１２】
前記コンテンツ利用装置は、更に、
前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、
前記削除判定手段により、設計データを削除すると判定された場合に、前記設計データテーブルの最下位から、所定数の設計データを削除する設計データ削除手段と
を備えることを特徴とする請求項１１に記載のコンテンツ利用装置。
【請求項１３】
前記更新手段は、
前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を１つ上位へ移動させる
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１４】
前記更新手段は、
前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を最上位へ移動させる
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１５】
前記設計データ記憶手段は、
第１アクセス速度で設計データの読出を行う第１記憶部と、
前記第１アクセス速度より速い第２アクセス速度で設計データの読出を行う第２記憶部とを備え、
前記再構成可能手段における回路構成の頻度が所定値以上の設計データを、前記第１記憶部に記憶し、前記頻度が所定値未満の設計データを、前記第２記憶部に記憶する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１６】
前記設計データ記憶手段は、更に、
複数の設計データと使用頻度と格納場所とを対応付けた設計データテーブルを記憶しており、
使用頻度に応じて各設計データの格納場所を前記第１及び第２記憶部の間で移動させる
ことを特徴とする請求項１５に記載のコンテンツ利用装置。
【請求項１７】
前記設計データ記憶手段は、更に、
前記再構成可能手段で実現されている回路の構成に用いられた設計データを識別するためのフラグを記憶している
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１８】
設計データに基づく再構成が可能な回路を含む再構成可能手段と、第１判定手段と、第２判定手段と、取得手段とを備えるコンテンツ利用装置の動作方法であって、
前記第１判定手段により、コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段の前記回路において構成されているか否か判定するステップと、
前記第２判定手段により、前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定するステップと、
前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得ステップと、
前記再構成可能手段により、取得した前記コンテンツ利用設計データに基づき、前記回路を再構成するステップと
を含むことを特徴とするコンテンツ利用方法。
【請求項１９】
設計データに基づく再構成が可能な回路を含む再構成可能手段と、第１判定手段と、第２判定手段と、取得手段とを備えるコンテンツ利用装置で動作するコンピュータプログラムであって、
前記第１判定手段により、コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段の前記回路において構成されているか否か判定させるステップと、
前記第２判定手段により、前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定させるステップと、
前記取得手段により、前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得させるステップと、
前記再構成可能手段により、取得した前記コンテンツ利用設計データに基づき、回路を再構成させるステップと
を含むことを特徴とするコンピュータプログラム。
【請求項２０】
請求項１９に記載のコンピュータプログラムを記憶しているコンピュータ読み取り可能な記録媒体。
【請求項２１】
設計データに基づき、回路を再構成することが可能な再構成可能手段と、
コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段において構成されているか否か判定する第１判定手段と、
前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定する第２判定手段と、
前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得手段とを備え、
前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、回路を再構成する
ことを特徴とする集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、機器内にハードウェア実装されている暗号化方式を更新する技術に関する。
【背景技術】
【０００２】  ネットワークを介したコンテンツの配信、又は記録媒体に記録したコンテンツの配布においては、コンテンツの不正利用を防止し、コンテンツの著作権を保護するために、一般的に、コンテンツは暗号化されて配信、又は配布される。
コンテンツを再生する機器では、暗号化コンテンツを復号する復号処理を行うが、機器における暗号化方式の実装は、必要とされる処理速度や、耐タンパー性の観点からハードウェアで実装されている場合が多い。【０００３】  ここで、暗号化処理に係る秘密情報が暴露された場合には、機器に実装された暗号化方式を新たな暗号化方式に更新し、安全性を保ちたいとの要望があるが、近年では、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＰＬＡ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ａｒｒａｙ）等の再構成が可能なデバイスを用いることにより、ハードウェアで実装された暗号化方式を更新することも可能となってきた（特許文献１参照）。【０００４】  また、特許文献２では、機器の内部に暗号化アルゴリズムファイルを格納するデータベースを保持して、外部からの指示に従い、前記データベースからアルゴリズムファイルを取得し、機器にハードウェア実装されている暗号化アルゴリズムを更新する技術が開示されている。
【特許文献１】特開平１０−３２０１９１号公報
【特許文献２】特開平１０−５５１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】  しかしながら、上記の従来技術では、機器内のデータベースに格納されていない新たな暗号化アルゴリズムには対応できないという問題がある。
本発明は、上記の問題点に鑑みなされたものであって、機器内のデータベースに格納されていない新たな暗号化アルゴリズムにも対応することができるアルゴリズム更新システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】  上記の目的を達成するために、本発明は、コンテンツ利用装置であって、設計データに基づき、回路を再構成することが可能な再構成可能手段と、コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段において構成されているか否か判定する第１判定手段と、前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定する第２判定手段と、前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得手段とを備え、前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、回路を再構成することを特徴とする。
【発明の効果】
【０００７】  ここで、上記の「再構成可能手段」は、後述の実施の形態において、再構成可能部２０８と対応する。「第１判定手段」及び「第２判定手段」は、実施の形態の判定部２０３がその機能を担う。「取得手段」は、実施の形態の送受信部２０１及び設計データ読出／書込部２０４がその機能を担う。
上記の構成によると、コンテンツ利用装置は、再構成可能手段において回路が実現されておらず、且つ、設計データ自体も保持していない回路を構成するため、設計データを外部から取得するので、再構成可能手段において、新たな回路を構築することができる。【０００８】  また、再構成可能手段において、コンテンツ利用回路が既に構成されている場合には再構成は不要であり、コンテンツ利用設計データを既に保持している場合には外部からの取得は不要であるため、第１及び第２判定手段の判定を行うことにより、効率的に回路の再構成を行うことができる。
ここで、前記コンテンツ利用装置は、前記再構成可能手段において、コンテンツの利用に係る複数の機能を実現する回路を構成するための、複数の設計データを保持する設計データ記憶手段を備え、前記第１判定手段は、前記設計データ記憶手段に、前記コンテンツ利用設計データが記憶されているか否かを判断することにより、前記判定を行うように構成してもよい。【０００９】  この構成によると、コンテンツ利用装置は、内部に複数の設計データを格納することができ、設計データ記憶手段に格納されていない設計データは、外部から取得することで、再構成可能手段において、新たな回路を構築することができる。
ここで、前記コンテンツの利用に係る前記機能は、前記コンテンツの暗号化、又は前記コンテンツが暗号化されて生成された暗号化コンテンツの復号であり、前記コンテンツ利用回路は、前記暗号化の機能を実現するための回路、又は前記復号の機能を実現するための回路であるように構成してもよい。【００１０】  この構成によると、前記コンテンツ利用装置は、コンテンツの暗号化処理又は復号処理を行う装置であって、例えば、暗号化処理に係る秘密情報が暴露された場合に、実装されている暗号化方式を新たな暗号化方式に更新し、安全性を保ちたいとの要望が生じた場合、新たな暗号化方式に係る設計データを内部に保持していない場合であっても、外部から取得することにより、再構成可能手段において、新たな暗号化方式に対応する回路を再構築することができる。【００１１】  ここで、前記コンテンツ利用装置は、ネットワークを介して外部の設計データサーバと接続されており、前記取得手段は、前記設計データサーバから、前記コンテンツ利用設計データを取得するように構成してもよい。
この構成によると、コンテンツ利用装置は、ネットワークに接続可能な環境であれば、ネットワークを介して設計データサーバからコンテンツ利用設計データを取得することができる。【００１２】  ここで、前記コンテンツ利用装置は、ネットワークを介して外部のコンテンツサーバと接続されており、前記コンテンツサーバから、前記暗号化コンテンツ、及び前記コンテンツ利用設計データを一意に識別可能である設計データ識別子とを受信し、前記取得手段は、前記設計データサーバへ、前記設計データ識別子を出力し、前記コンテンツ利用設計データの送信を要求し、前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、前記暗号化コンテンツの復号を実現するための回路である前記コンテンツ利用回路を再構成するように構成してもよい。【００１３】  この構成によると、コンテンツ利用装置は、コンテンツサーバから受信した暗号化コンテンツと対応する設計データを、設計データサーバから取得することができる。
ここで、前記コンテンツ利用装置は、記録媒体から情報を読み出す媒体入力手段を備え、前記取得手段は、前記媒体入力手段を介して、前記コンテンツ利用設計データが記録されている記録媒体から、前記コンテンツ利用設計データを取得するように構成してもよい。【００１４】  この構成によると、コンテンツ利用装置は、ネットワークを介さず前記コンテンツ利用設計データを記録媒体から直接読み込むので、安全に前記コンテンツ利用設計データを取得することができる。
ここで、前記コンテンツの利用に係る前記機能は、コンテンツの符号化、又は符号化されて生成されたコンテンツの逆符号化であり、前記コンテンツ利用回路は、前記符号化の機能を実現するための回路、又は前記逆符号化の機能を実現するための回路であるように構成してもよい。【００１５】  この構成によると、前記コンテンツ利用装置は、コンテンツの符号化処理又は逆符号化処理を行う装置であって、複数の設計データを記憶しておくことにより、複数の符号化／逆符号化のアルゴリズムに対応することができる。更には、コンテンツ利用装置が保持していない新たな符号化／逆符号化のアルゴリズムに係る設計データを内部に保持していない場合であっても、外部から取得することにより、再構成可能手段において、新たな符号化／逆符号化回路を再構築することができる。【００１６】  ここで、前記設計データ記憶手段は、複数の設計データが配列された設計データテーブルを記憶しており、前記取得手段は、前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、前記コンテンツ利用装置は、更に、前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、前記削除判定手段により、設計データを削除すると判定された場合に、削除すべき設計データを選択し、選択した前記設計データを、前記設計データテーブルから削除する設計データ削除手段とを備えるように構成してもよい。【００１７】  この構成によると、取得手段が新たなコンテンツ利用設計データを取得する都度、設計データテーブルのデータ量は増加するが、削除判定手段及び削除手段を有することにより、設計データテーブルのデータ量が設計データ記憶手段の記憶容量を超えることを制限することができる。
ここで、前記設計データテーブルは、設計データ毎に、設計データと対応付けて、当該設計データが前記再構成可能手段において回路構成された頻度を示す設計データ使用情報を記憶しており、前記設計データ削除手段は、前記削除判定手段により、設計データを削除すると判定された場合に、設計データ使用情報を読み、設計データ使用情報が示す使用頻度が最も低い設計データを、前記削除すべき設計データとして選択するように構成してもよい。【００１８】  更に、前記設計データ削除手段は、前記削除判定手段により、設計データを削除すると判定された場合に、前記複数の設計データ情報に含まれる設計データ使用情報を読み、設計データ使用情報が示す使用頻度が所定値以下である設計データを、優先的に前記削除すべき設計データとして選択するように構成してもよい。
この構成によると、再構成可能手段による回路の再構成が要求される可能性の低い設計データから優先的に削除することが可能となる。【００１９】  ここで、前記設計データ記憶手段は、複数の設計データが配列された設計データテーブルを記憶しており、前記取得手段は、前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、前記コンテンツ利用装置は、更に、前記再構成可能手段において、回路が再構成されると、前記設計データテーブルに含まれる複数の設計データの配列を並べ替える更新手段を備えるように構成してもよい。【００２０】  この構成によると、例えば更新手段は、設計データテーブルに使用頻度に係る情報を記述せずに設計データテーブルのデータ量を削減しつつ、設計データの使用頻度を管理することが可能となる。
ここで、前記コンテンツ利用装置は、更に、前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、前記削除判定手段により、設計データを削除すると判定された場合に、前記設計データテーブルの最下位から、所定数の設計データを削除する設計データ削除手段とを備えるように構成してもよい。【００２１】  この構成によると、取得手段が新たなコンテンツ利用設計データを取得する都度、設計データテーブルのデータ量は増加するが、削除判定手段及び削除手段を有することにより、設計データテーブルのデータ量が設計データ記憶手段の記憶容量を超えることを制限することができる。
ここで、前記更新手段は、前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を１つ上位へ移動させるように構成してもよい。【００２２】  更に、前記更新手段は、前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を最上位へ移動させるように構成してもよい。
この構成によると、再構成可能手段による回路の再構成が要求される可能性の低い設計データから優先的に削除することが可能となる。【００２３】  ここで、前記設計データ記憶手段は、第１アクセス速度で設計データの読出を行う第１記憶部と、前記第１アクセス速度より速い第２アクセス速度で設計データの読出を行う第２記憶部とを備え、前記再構成可能手段における回路構成の頻度が所定値以上の設計データを、前記第１記憶部に記憶し、前記頻度が所定値未満の設計データを、前記第２記憶部に記憶するように構成してもよい。【００２４】  更に、前記設計データ記憶手段は、更に、複数の設計データと使用頻度と格納場所とを対応付けた設計データテーブルを記憶しており、使用頻度に応じて各設計データの格納場所を前記第１及び第２記憶部の間で移動させるように構成してもよい。
この構成によると、コンテンツ利用装置は、再構成可能手段による回路の再構成が要求される可能性の高い設計データを、アクセス速度の速い記憶部へ記憶し、回路の再構成が要求される可能性の低い設計データを、アクセス速度の遅い記憶部へ記憶するので、回路の再構成を効率的に行うことが可能となる。【００２５】  ここで、前記設計データ記憶手段は、更に、前記再構成可能手段で実現されている回路の構成に用いられた設計データを識別するためのフラグを記憶しているように構成してもよい。
この構成によると、再構成可能手段において回路が構成されている設計データを簡便に識別することが可能であり、回路の再構成が必要であるのか否かの処理が迅速化される。
【図面の簡単な説明】
【００２６】
【図１】アルゴリズム更新システム１の構成を示すシステム構成図である。
【図２】コンテンツサーバ１０に記憶されているコンテンツテーブル１００のデータ構成を示す図である。
【図３】コンテンツ利用装置２０の構成を機能的に示す機能ブロック図である。
【図４】コンテンツ利用装置２０の設計データ記憶部２０２に記憶されている設計データテーブル３００のデータ構成を示す図である。
【図５】設計データテーブル３００ａのデータ構成を示す図である。
【図６】コンテンツ利用装置２０のコンテンツ鍵記憶部２０９に記憶されているコンテンツ鍵テーブル３５０のデータ構成を示す図である。
【図７】設計データサーバ３０に記憶されている設計データテーブル４００のデータ構成を示す図である。
【図８】アルゴリズム更新システム１全体の動作を示すフローチャートであり、図９に続く。
【図９】アルゴリズム更新システム１全体の動作を示すフローチャートであり、図８から続く。
【図１０】コンテンツ利用装置２０の設計データ読出／書込部２０４による、設計データテーブル更新処理の動作を示すフローチャートである。
【図１１】設計データテーブル３００の変形例である設計データテーブル５００のデータ構成を示す図である。
【図１２】設計データテーブル３００の変形例である設計データテーブル５００ａのデータ構成を示す図である。
【図１３】設計データテーブル更新処理の変形例の動作を示すフローチャートである。
【図１４】設計データテーブル３００の変形例である設計データテーブル６００のデータ構成を示す図である。
【符号の説明】
【００２７】      １    アルゴリズム更新システム
１０    コンテンツサーバ
２０    コンテンツ利用装置
２１    ＴＶ
３０    設計データサーバ
４０    ネットワーク
２０１    送受信部
２０２    設計データ記憶部
２０３    判定部
２０４    設計データ読出／書込部
２０５    暗号処理部
２０６    固有鍵記憶部
２０７    復号部
２０８    再構成可能部
２０９    コンテンツ鍵記憶部
２１０    再生制御部
【発明を実施するための最良の形態】
【００２８】  本発明の実施形態として、アルゴリズム更新システム１について図面を参照して説明する。
アルゴリズム更新システム１は、コンテンツサーバから暗号化コンテンツを取得したコンテンツ利用装置が、指定された暗号化アルゴリズムを再構成可能な回路を用いて実現し、コンテンツを復号、再生するシステムである。【００２９】  ＜構成＞
図１は、アルゴリズム更新システム１のシステム構成を示す図である。同図に示すように、アルゴリズム更新システム１は、コンテンツサーバ１０、コンテンツ利用装置２０、ＴＶ２１、及び設計データサーバ３０から構成される。
コンテンツ利用装置２０とＴＶ２１とはケーブルを介して接続されており、コンテンツサーバ１０、コンテンツ利用装置２０、及び設計データサーバ３０は、それぞれネットワーク４０を介して接続されている。【００３０】  １．コンテンツサーバ１０
コンテンツサーバ１０は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット等から構成されるコンピュータシステムである。ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されており、マイクロプロセッサがコンピュータプログラムを実行することにより、コンテンツサーバ１０は、その機能を達成する。【００３１】  コンテンツサーバ１０は、複数の暗号化コンテンツを、後述するコンテンツテーブル１００にて管理している。コンテンツサーバ１０に格納されている各暗号化コンテンツは、コンテンツが、ある暗号化アルゴリズムに従い暗号化されて生成されたデータである。本実施形態におけるコンテンツは、一例として、映画が、ＭＰＥＧ−２規格に従い圧縮符号化されて生成されたデジタルデータであるとする。なお、本発明におけるコンテンツは、映画に限定されないのは勿論であり、音楽、静止画、コンピュータプログラム等でもよい。【００３２】  図２は、コンテンツサーバ１０が記憶しているコンテンツテーブル１００のデータ構成を示す図である。同図に示すように、コンテンツテーブル１００は、複数のコンテンツ情報１０１、１０２、１０３、…を含み、各コンテンツ情報は、コンテンツＩＤ、アルゴリズム特定情報、及び暗号化コンテンツを含む。
例えば、コンテンツ情報１０１は、コンテンツＩＤ「０００１」、アルゴリズム特定情報「Ａ」、暗号化コンテンツ「Ｅｎｃ＿ＣＮＴ＿０００１」を含む。
コンテンツＩＤ「０００１」は、コンテンツ、及び当該コンテンツが暗号化されて生成された暗号化コンテンツを一意に識別するための情報である。【００３３】  アルゴリズム特定情報「Ａ」は、コンテンツＩＤ「０００１」により識別される暗号化コンテンツの暗号化に用いられたアルゴリズムを特定するための情報である。ここで、アルゴリズム特定情報「Ａ」は、具体例として、ＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）を示す情報であるとする。
暗号化コンテンツ「Ｅｎｃ＿ＣＮＴ＿０００１」は、コンテンツＩＤ「０００１」により識別されるコンテンツ「ＣＮＴ＿０００１」に、コンテンツ鍵を暗号鍵として用い、アルゴリズム特定情報「Ａ」により特定される暗号化アルゴリズム、即ちＤＥＳを施すことにより生成されたデータである。【００３４】  コンテンツサーバ１０は、コンテンツ利用装置２０から、コンテンツＩＤを含むコンテンツ送信要求を受信すると、受信したコンテンツＩＤに対応するアルゴリズム特定情報、及び暗号化コンテンツをコンテンツテーブル１００から読み出して、読み出したアルゴリズム特定情報、及び暗号化コンテンツを、コンテンツ利用装置２０へ送信する。
なお、コンテンツテーブル１００に記憶されている各暗号化コンテンツは、それぞれ異なるコンテンツ鍵を用いて暗号化されているものとし、暗号化に用いられたコンテンツ鍵は、コンテンツ利用装置２０へ、安全且つ確実な方法により送信されているものとする。【００３５】  ２．コンテンツ利用装置２０
図３は、コンテンツ利用装置２０の構成を機能的に示す機能ブロック図である。同図に示すように、コンテンツ利用装置２０は、送受信部２０１、設計データ記憶部２０２、判定部２０３、設計データ読出／書込部２０４、暗号処理部２０５、及び再生制御部２１０から構成され、暗号処理部２０５は、更に、固有鍵記憶部２０６、復号部２０７、再構成可能部２０８、及びコンテンツ鍵記憶部２０９から構成される。【００３６】  コンテンツ利用装置２０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット等から構成されるコンピュータシステムである。ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記録されており、マイクロプロセッサが、コンピュータプログラムを実行することにより、コンテンツ利用装置２０は、その機能を達成する。以下では、コンテンツ利用装置２０の各構成要素について説明する。【００３７】  （１）送受信部２０１
送受信部２０１は、ネットワーク接続ユニットであり、ネットワーク４０を介して、コンテンツサーバ１０、及び設計データサーバ３０とデータの送受信を行う。
送受信部２０１は、コンテンツサーバ１０に対し、コンテンツ送信要求を送信し、コンテンツサーバ１０から、アルゴリズム特定情報と暗号化コンテンツとを受信する。受信したアルゴリズム特定情報は、判定部２０３へ出力され、暗号化コンテンツは、再構成可能部２０８へ出力される。【００３８】  また、送受信部２０１は、設計データサーバ３０に対し、設計データ送信要求を送信し、設計データサーバ３０から、暗号化設計データを受信する。受信した暗号化設計データは、設計データ読出／書込部２０４へ出力される。
（２）設計データ記憶部２０２
設計データ記憶部２０２は、設計データが暗号化されて生成された暗号化設計データを記憶している。設計データとは、暗号処理部２０５の再構成可能部２０８において回路を構成するために必要なデータである。具体的には、再構成可能部２０８における論理回路の形成を示す情報や、各論理回路の配線を示す情報等である。【００３９】  設計データ記憶部２０２は、具体的には、図４に示すように設計データテーブル３００を用いて、設計データを管理している。
同図に示すように、設計テーブル３００は、複数の設計データ情報３０１、３０２、…３０３、３０４、３０５、…３０６を含み、各設計データ情報は、設計データＩＤ、暗号化設計データ、フラグ、及び使用回数を含む。【００４０】  例えば、設計データ情報３０１は、設計データＩＤ「Ａ」、暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」、フラグ「０」、及び使用回数「４」を含む。
設計データＩＤ「Ａ」は、設計データ、及び当該設計データが暗号化されて生成された暗号化設計データを一意に識別するための情報である。ここで、本実施形態においては、設計データと暗号化アルゴリズムとが１対１に対応しているものとし、設計データＩＤ「Ａ」は、アルゴリズム特定情報「Ａ」により特定される暗号化アルゴリズムの回路を、再構成可能部２０８において実現するための設計データを識別するための情報である。即ち設計データＩＤ「Ａ」は、先に説明したアルゴリズム特定情報「Ａ」と同じく、ＤＥＳを示す情報である。【００４１】  同様に、設計データＩＤ「Ｂ」は、暗号化アルゴリズム特定情報「Ｂ」により特定される暗号化アルゴリズムの回路を実現するための設計データを識別するための情報である。また、設計データＩＤ「Ｉ」、「Ｊ」、「Ｋ」、及び「Ｖ」についても同様に、それぞれ、アルゴリズム特定情報「Ｉ」、「Ｊ」、「Ｋ」、及び「Ｖ」により特定される暗号化アルゴリズムの回路を実現するための設計データを識別するための情報である。【００４２】  暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」は、設計データＩＤ「Ａ」により識別される設計データ「ＡＲＣ＿Ａ」に、固有鍵を暗号鍵として用い、暗号化アルゴリズムＥ１を施して生成されたデータである。暗号化アルゴリズムＥ１の一例はＤＥＳである。
フラグは、「１」又は「０」の何れかに設定される。フラグが「１」に設定されている設計データ情報は、現在の再構成可能部２０８の回路が、当該設計データ情報に含まれる設計データＩＤにより識別される設計データに基づき構成されていることを示す。フラグが「０」に設定されている設計データ情報は、現在の再構成可能部２０８の回路が、当該設計データ情報に含まれる設計データＩＤにより識別される設計データに基づき構成されていないことを示す。【００４３】  設計データ情報３０２に含まれるフラグは、「１」に設定されていることから、現在、再構成可能部２０８では、設計データＩＤ「Ｂ」により識別される設計データに基づき回路が構成されていることを示している。このとき、設計データ情報３０２以外の他の設計データ情報に含まれるフラグは、全て「０」である。
使用回数は、設計データが、再構成可能部２０８において回路として構成され、暗号化コンテンツの復号処理に使用された回数を示している。【００４４】  設計データ情報３０１の使用回数は「４」であるから、再構成可能部２０８は、設計データＩＤが「Ａ」である設計データに基づき回路を構成し、４個の暗号化コンテンツの復号を行ったことを示している。なお、本実施形態においては、例えば、設計データＩＤが「Ａ」である設計データに基づき、再構成可能部２０８において回路が構成され、その後、複数回続けて、当該回路を用いた復号処理が行われた場合には、その複数回の復号処理をカウントし、使用回数とする。【００４５】  （３）判定部２０３
判定部２０３は、以下の（Ａ）、及び（Ｂ）の二つの判定を行う機能を有する。
（Ａ）送受信部２０１からアルゴリズム特定情報を受け取ると、受け取ったアルゴリズム特定情報により特定される暗号化アルゴリズムの設計データを、設計データテーブル３００に保持しているか否かを判定する。【００４６】  具体的には、受け取ったアルゴリズム特定情報と一致する設計データＩＤが設計データテーブル３００に記憶されているか否かを判断し、一致する設計データＩＤが存在する場合には、設計データを保持しており、一致する設計データＩＤが存在しない場合には、設計データを保持していないと判定する。
（Ｂ）送受信部２０１からアルゴリズム特定情報を受け取ると、受け取ったアルゴリズム特定情報により特定される暗号化アルゴリズムの設計データが、現在、再構成可能部２０８において回路構成がなされているか否かを判定する。【００４７】  具体的には、アルゴリズム特定情報と一致する設計データＩＤを含む設計データ情報の、フラグを読む。フラグが「１」である場合には、現在、当該設計データが、現在、再構成可能部２０８において回路構成が実現していると判定し、フラグが「０」である場合には、回路構成が実現されていないと判定する。
上記（Ａ）及び（Ｂ）の判定結果がともに否定的である場合に、判定部２０３は、送受信部２０１及びネットワーク４０を介して、設計データサーバ３０に対し、設計データＩＤを含む設計データ送信要求を送信する。【００４８】  判定部２０３は、設計データは保持しているが、回路構成が実現されていないと判定した場合には、設計データ読出／書込部２０４に対し、当該設計データに基づく回路構成を指示する。
（４）設計データ読出／書込部２０４
設計データ読出／書込部２０４は、判定部２０３からの指示を受け、設計データテーブル３００から設計データを読み出して、復号部２０７へ出力する。【００４９】  また、送受信部２０１、ネットワーク４０を介して、設計データサーバ３０から、新しい設計データを受け取った場合には、受け取った設計データを、復号部２０７へ出力する。
更に、設計データ読出／書込部２０４は、設計データテーブルの更新処理を行う。具体的には、設計データテーブルに含まれる設計データ情報の更新処理と、設計データテーブル自体の更新処理である。設計データ読出／書込部２０４は、設計データ情報の更新処理として、フラグの設定と、使用回数の更新とを行い、設計データテーブルの更新処理として、設計データサーバ３０から受け取った新しい設計データについての設計データ情報の生成、及び生成した設計データ情報の、設計データテーブルへの追加を行う。【００５０】  ここで、設計データ情報の追加処理について具体的に説明する。設計データ読出／書込部２０４は、設計データ記憶部２０２の最大記憶容量に基づき予め設定されているデータサイズ閾値を保持している。そして、設計データ読出／書込部２０４は、現在、設計データ記憶部２０２に記憶されている設計データテーブルのデータサイズと、データサイズ閾値とを比較する。設計データテーブルのデータサイズが、データサイズ閾値より大きい場合には、先ず、設計データテーブルから、使用回数の最も少ない設計データ情報を削除した後に、新たに生成した設計データ情報を追加する。設計データテーブルのデータサイズが。データサイズ閾値以下である場合には、設計データ情報を削除することなく、新たに生成した設計データ情報をそのまま設計データテーブルに追加する。【００５１】  具体例として、設計データ記憶部２０２が図４に示した設計データテーブル３００を記憶している状態における更新処理について説明する。
設計データ読出／書込部２０４は、設計データサーバ３０から、設計データＩＤ「Ｗ」により識別される暗号化設計データを受信し、当該暗号化設計データに係る設計データ情報３０７を生成する。設計データ読出／書込部２０４は、設計データテーブル３００のデータサイズとデータサイズ閾値とを比較し、設計データテーブル３００のデータサイズが、データサイズ閾値より大きい場合、設計データテーブル３００に含まれる全ての設計データ情報の使用回数欄を参照し、最も使用回数の少ない設計データＩＤ「Ｊ」を有する設計データ情報３０４を設計データテーブル３００から削除する。その後、設計データ読出／書込部２０４は、新たに生成した設計データ情報３０７を、設計データテーブルに追加して、図５に示す新たな設計データテーブル３００ａが生成される。【００５２】  （５）暗号処理部２０５
暗号処理部２０５は、図３に示したように、固有鍵記憶部２０６、復号部２０７、再構成可能部２０８、及びコンテンツ鍵記憶部２０９から構成され、暗号化設計データの復号、暗号化コンテンツの復号等の機能を有する。
（ａ）固有鍵記憶部２０６は、暗号化設計データの復号に用いられる鍵情報である固有鍵を記憶している。【００５３】  （ｂ）復号部２０７は、設計データ読出／書込部２０４から、暗号化設計データを受け取ると、固有鍵記憶部２０６から固有鍵を読み出し、読み出した固有鍵を復号鍵として用い、復号アルゴリズムＤ１を施し、設計データを復号する。ここで、復号アルゴリズムＤ１は、暗号化アルゴリズムＥ１により暗号化された暗号文を平文に変換するためのアルゴリズムであり、その一例はＤＥＳである。復号部２０７は、復号した設計データを再構成可能部２０８へ出力する。【００５４】  なお、復号部２０７の機能は、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。
（ｃ）再構成可能部２０８は、具体的には、組合せ回路や順序回路を実現できる複数の論理回路ブロックと、論理回路ブロック間の配線部分から成る。論理回路ブロックは、ルックアップテーブルとフリップフロップとを含む回路ユニットであり、ルックアップテーブルの設定値を変えることで、所望の論理回路を実現する。また、配線部分には、トランジスタスイッチ等が配され、配線経路が自由に設定可能となっている。なお、本実施形態においては、再構成可能部２０８は、設計データ読出／書込部２０４から受け取る設計データを記憶しておくＲＯＭを含むものとする。【００５５】  再構成可能部２０８は、復号部２０７から設計データを受け取り、受け取った設計データをＲＯＭに記憶する。再構成可能部２０８は、ＲＯＭに記憶された設計データに基づき、論理回路ブロック及び配線部分を制御して、回路を構成する。本実施形態では、再構成可能部２０８で構成される回路は、暗号化コンテンツを復号するための回路であり、再構成可能部２０８は、送受信部２０１から受け取った暗号化コンテンツに対応するコンテンツ鍵を、コンテンツ鍵記憶部２０９から読み出し、読み出したコンテンツ鍵を復号鍵として用い、コンテンツを復号する。再構成可能部２０８は、復号したコンテンツを、再生制御部２１０へ出力する。【００５６】  （ｄ）コンテンツ鍵記憶部２０９は、暗号化コンテンツの復号に用いられる復号鍵であるコンテンツ鍵を記憶している。
具体的には、コンテンツ鍵記憶部２０９は、図６に示すコンテンツ鍵テーブル３５０を記憶している。コンテンツ鍵テーブル３５０は、複数のコンテンツ鍵情報を含み、各コンテンツ鍵情報は、コンテンツＩＤとコンテンツ鍵のデータとを対応付けて構成される。例えば、コンテンツ鍵情報３５１は、コンテンツＩＤ「０００３」とコンテンツ鍵「ＫＣＮＴ＿０００３」とから構成されるが、これは、コンテンツＩＤ「０００３」により識別される暗号化コンテンツを復号するためのコンテンツ鍵が「ＫＣＮＴ＿０００３」であることを示している。【００５７】  コンテンツ鍵テーブル３５０は、コンテンツサーバ１０から、安全且つ確実な方法により、コンテンツ利用装置２０に送信されたものとする。なお、本実施形態において、コンテンツ利用装置２０が、このように予め複数のコンテンツ鍵を保持している構成は必須ではなく、暗号化コンテンツと共に、コンテンツサーバ１０からその都度受信しても良い。
（６）再生制御部２１０
再生制御部２１０は、再構成可能部２０８から、復号されたコンテンツを受け取り、受け取ったコンテンツを再生可能な情報に変換する。具体的には、再生制御部２１０は、ビデオバッファ、オーディオバッファ、ＭＰＥＧ−２ビデオデコーダ、ＭＰＥＧ−２オーディオデコーダ等から構成され、受け取ったコンテンツから、映像信号と音声信号とを生成する。再生制御部２１０は、生成した映像信号と音声信号とを、ＴＶ２１へ出力する。【００５８】  ３．設計データサーバ３０
設計データサーバ３０は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット等から構成されるコンピュータシステムである。ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されており、マイクロプログラムがコンピュータプログラムを実行することにより、設計データサーバ３０は、その機能を達成する。【００５９】  設計データサーバ３０は、図７に示す設計データテーブル４００にて、複数の暗号化設計データを管理している。
図７に示すように、設計データテーブル４００は、複数の設計データ情報４０１、４０２、…、４０３、…を含み、各設計データ情報は、アルゴリズム特定情報と暗号化設計データとを対応付けて構成される。【００６０】  暗号化設計データは、設計データに固有鍵を鍵情報として用い、暗号化アルゴリズムＥ１を施して生成された暗号化データである。例えば、設計データ情報４０１に含まれる暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」は、設計データ「ＡＲＣ＿Ａ」を暗号化して生成されたデータであり、設計データ情報４０３に含まれる暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｗ」は、設計データ「ＡＲＣ＿Ｗ」を暗号化して生成されたデータである。本実施形態における設計データは、先に述べたように、コンテンツ利用装置２０の再構成可能部２０８において、暗号化コンテンツを復号するための復号回路を構成するために必要なデータである。【００６１】  アルゴリズム特定情報は、対応付けられている設計データに基づき、再構成可能部２０８にて構成される回路によって実現されるアルゴリズムを示している。具体的には、設計データ情報４０１に含まれるアルゴリズム特定情報「Ａ」は、設計データ「ＡＲＣ＿Ａ」に基づき構成される回路のアルゴリズムを特定するための情報である。ここで、アルゴリズム特定情報「Ａ」が、具体例としてＤＥＳを示す情報であるとすると、設計データ「ＡＲＣ＿Ａ」は、コンテンツ利用装置２０の再構成可能部２０８において、ＤＥＳの復号回路を構成するために必要なデータである。【００６２】  設計データサーバ３０は、コンテンツ利用装置２０から、アルゴリズム特定情報を含む設計データ送信要求を受信すると、受信したアルゴリズム特定情報に対応する暗号化設計データを設計データテーブル４００から読み出して、読み出した暗号化設計データを、コンテンツ利用装置２０へ送信する。
例えば、設計データサーバ３０は、コンテンツ利用装置２０からアルゴリズム特定情報「Ｗ」を含む設計データ送信要求を受信すると、設計データテーブル４００から、設計データ情報４０３を読み出し、更に、設計データ情報４０３から暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｗ」を読み出して、コンテンツ利用装置２０へ送信する。【００６３】  なお、設計データテーブル４００に記憶されている各暗号化設計データは、同一の固有鍵を用いて暗号化されているものとし、暗号化に用いた固有鍵は、コンテンツ利用装置２０へ、安全且つ確実な方法により送信されているものとする。
＜動作＞
ここでは、図８から図１０のフローチャートを用いて、アルゴリズム更新システム１の動作について説明する。【００６４】  １．システム全体の動作
図８及び図９は、アルゴリズム更新システム１全体の動作を示すフローチャートである。
先ず、コンテンツ利用装置２０において、コンテンツ要求が発生する（ステップＳ１０１）。コンテンツ要求は、例えば、ユーザが視聴したコンテンツのコンテンツＩＤを、図示していない入力手段を用いて、コンテンツ利用装置２０に入力すること等により発生する。【００６５】  コンテンツ利用装置２０の送受信部２０１は、コンテンツＩＤを含むコンテンツ送信要求を、ネットワーク４０を介してコンテンツサーバ１０へ送信し、コンテンツサーバ１０は、コンテンツ送信要求を受信する（ステップＳ１０２）。
コンテンツサーバ１０は、受信したコンテンツ送信要求に含まれるコンテンツＩＤと一致するコンテンツＩＤを有するコンテンツ情報を、コンテンツテーブル１００から読み出す。次に、コンテンツサーバ１０は、読み出したコンテンツ情報から、アルゴリズム特定情報と暗号化コンテンツとを読み出す（ステップＳ１０３）。例えば、コンテンツサーバ１０がステップＳ１０２でコンテンツＩＤ「０００３」を含むコンテンツ送信要求を受信した場合、コンテンツサーバ１０は、コンテンツテーブル１００からコンテンツ情報１０３を読み出し、読み出したコンテンツ情報１０３から、アルゴリズム特定情報「Ｗ」と暗号化コンテンツ「Ｅｎｃ＿ＣＮＴ＿０００３」とを読み出す。【００６６】  コンテンツサーバ１０は、読み出したアルゴリズム特定情報と暗号化コンテンツとをコンテンツ利用装置２０へ送信し、コンテンツ利用装置２０の送受信部２０１は、ネットワーク４０を介して、アルゴリズム特定情報と暗号化コンテンツとを受信する（ステップＳ１０４）。送受信部２０１は、受信した暗号化コンテンツを、当該暗号化コンテンツのコンテンツＩＤと共に再構成可能部２０８へ出力し、受信したアルゴリズム特定情報を、判定部２０３へ出力する。【００６７】  次に、判定部２０３は、ステップＳ１０４で受信したアルゴリズム特定情報により特定される暗号化アルゴリズムの回路が、現在、再構成可能部２０８において構成されているか否かを判定する（ステップＳ１０５）。
具体的には、判定部２０３は、設計データテーブルに含まれる複数の設計データ情報のフラグ欄を読み、フラグが「１」に設定されている設計データの設計データＩＤを読み出す。判定部２０３は、設計データテーブルから読み出した設計データＩＤが、ステップＳ１０４で受信したアルゴリズム特定情報に一致するか否かを判断する。【００６８】  一致する場合には、判定部２０３は、所望の回路が、現在、再構成可能部２０８において構成されていると判定し、一致しない場合、又は設計データテーブルから設計データＩＤが読み出せなかった場合には、所望の回路が、現在、再構成可能部２０８において構成されていないと判定する。
具体例として、ステップＳ１０４で受信したアルゴリズム特定情報が「Ａ」であり、設計データ記憶部２０２が、図４に示した設計データテーブル３００を記憶している場合、フラグが「１」に設定されている設計データ情報は、設計データＩＤ「Ｂ」を含む設計データ情報３０２であるから、設計データＩＤ「Ｂ」と設計データＩＤ「Ａ」とは一致せず、判定部２０３は、現在、再構成可能部２０８において、当該設計データに基づく回路が構成されていないと判定する。一方、ステップＳ１０４で受信したアルゴリズム特定情報が「Ｂ」の場合、判定部２０３は、現在、再構成可能部２０８において、当該設計データに基づく回路が構成されていると判定する。【００６９】  ステップＳ１０５の判定の結果、再構成可能部２０８で回路が構成されていると判定された場合（ステップＳ１０５でＹＥＳ）、ステップＳ２０２へ進み、処理を続ける。
ステップＳ１０５の判定の結果、再構成可能部２０８で回路が構成されていないと判定された場合（ステップＳ１０５でＮＯ）、判定部２０３は、ステップＳ１０４で受信したアルゴリズム特定情報により特定されるアルゴリズムの設計データを、設計データ記憶部２０２に保持しているか否かを判定する（ステップＳ１０６）。具体的には、ステップＳ１０４で受信したアルゴリズム特定情報と一致する設計データＩＤが設計データテーブルに存在するか否かを判断することにより判定を行う。【００７０】  具体例として、設計データ記憶部２０２が、図４に示した設計データテーブル３００を記憶しており、判定部２０３が、アルゴリズム特定情報「Ｗ」を受信した場合について考える。判定部２０３は、設計データテーブル３００に含まれる全ての設計データ情報の設計データＩＤ欄を読み、アルゴリズム特定情報「Ｗ」に一致する設計データＩＤが存在するか否かを判断する。設計データＩＤ「Ｗ」が存在する場合は、設計データを保持していると判定し、設計データＩＤ「Ｗ」が存在しない場合は、設計データを保持していないと判定する。【００７１】  ステップＳ１０６において、ステップＳ１０４で受信したアルゴリズム特定情報により特定される設計データを保持している場合（ステップＳ１０６でＹＥＳ）、設計データ読出／書込部２０４は、設計データ記憶部２０２から、暗号化設計データを読み出し（ステップＳ１２２）、読み出した暗号化設計データを復号部２０７へ出力する。その後、ステップＳ１２３へ進み、処理を続ける。【００７２】  ステップＳ１０６において、ステップＳ１０４で受信したアルゴリズム特定情報により特定される設計データを保持していない場合（ステップＳ１０６でＮＯ）、判定部２０３は、ステップＳ１０４で受信したアルゴリズム特定情報を含む設計データ要求を生成する（ステップＳ１０７）。判定部２０３は、送受信部２０１及びネットワーク４０を介して、アルゴリズム特定情報を含む設計データ要求を、設計データサーバ３０へ送信し、設計データサーバ３０は、設計データ要求を受信する（ステップＳ１０８）。【００７３】  設計データサーバ３０は、ステップＳ１０８で受信した設計データ要求に含まれるアルゴリズム特定情報と一致するアルゴリズム特定情報を有する設計データ情報を、設計データテーブル４００から読み出す。次に、設計データサーバ３０は、読み出した設計データ情報から、暗号化設計データを読み出す（ステップＳ１０９）。ここで、具体例として、設計データサーバ３０が、ステップＳ１０８でアルゴリズム特定情報「Ｗ」を受信した場合、設計データサーバ３０は、図７に示した設計データテーブル４００から、アルゴリズム特定情報「Ｗ」を含む設計データ情報４０３を読み出し、次に、設計データ情報４０３から、暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｗ」を読み出す。【００７４】  設計データサーバ３０は、読み出した暗号化設計データを、ネットワーク４０を介してコンテンツ利用装置２０へ送信し、コンテンツ利用装置２０の送受信部２０１は、暗号化設計データを受信する（ステップＳ１１０）。送受信部２０１は、受信した暗号化設計データを、設計データ読出／書込部２０４へ出力する。
次に、設計データ読出／書込部２０４は、ステップＳ１１０で受信した暗号化設計データに係る設計データ情報を生成する（ステップＳ１１１）。具体的には、設計データＩＤ、暗号化設計データ、フラグ、使用回数を含む１レコードの情報を生成し、その後、ステップＳ１２３へ続く。ここで、設計データＩＤ欄には、ステップＳ１０４で受信したアルゴリズム特定情報を書き込み、暗号化設計データ欄には、ステップＳ１１０で受信した暗号化設計データを書き込む。また、この時点では、フラグは「０」に設定し、使用回数欄には「０」を書き込む。【００７５】  次に、設計データ読出／書込部２０４は、暗号化設計データを、復号部２０７へ出力する。
復号部２０７は、設計データ読出／書込部２０４から暗号化設計データを受け取ると、固有鍵記憶部２０６から固有鍵を読み出す。復号部２０７は、固有鍵を復号鍵として用い、暗号化設計データに、復号アルゴリズムＤ１を施すことにより、設計データを復号する（ステップＳ１２３）。復号部２０７は、復号された設計データを、再構成可能部２０８へ出力する。【００７６】  続いて、再構成可能部２０８は、復号部２０７から受け取った設計データに基づき、回路を再構成する（ステップＳ２０１）。
次に、設計データ読出／書込部２０４において、設計データテーブルの更新処理を行う（ステップＳ２０２）。
次に、再構成可能部２０８は、送受信部２０１から受け取ったコンテンツＩＤに対応するコンテンツ鍵を、コンテンツ鍵記憶部２０９のコンテンツ鍵テーブル３５０から読み出す。具体例として、再構成可能部２０８が、コンテンツＩＤ「０００３」を受け取った場合には、コンテンツ鍵テーブル３５０のコンテンツ鍵情報３５１から、コンテンツ鍵ＫＣＮＴ＿０００３を読み出す。【００７７】  再構成可能部２０８は、読み出したコンテンツ鍵を復号鍵として用い、コンテンツを復号する（ステップＳ２０３）。再構成可能部２０８は、復号したコンテンツを、再生制御部２１０へ出力する。
続いて、再生制御部２１０は、ＭＰＥＧ−２規格に従い圧縮符号化されているコンテンツをデコードし（ステップＳ２０４）、映像信号と音声信号とを生成する。再生制御部２１０は、生成した映像信号と音声信号とをＴＶ２１へ出力し（ステップＳ２０５）、ＴＶ２１は受け取った映像信号と音声信号とを再生する（ステップＳ２０６）。【００７８】  なお、ステップＳ２０２、ステップＳ２０３、及びステップＳ２０４は、この順序で処理が行われるのではなく、それぞれのステップの処理が並行して行われてもよい。
２．設計データテーブル更新処理の動作
図１０は、設計データテーブル更新処理の動作を示すフローチャートである。なお、ここに示す動作は、図９のステップＳ２０２の詳細である。【００７９】  設計データ読出／書込部２０４は、設計データ記憶部２０２に記憶されている設計データテーブルのデータサイズを取得する（ステップＳ３０１）。次に、設計データ読出／書込部２０４は、ステップＳ３０１で取得したデータサイズと、予め内部に記憶しているデータサイズ閾値とを比較する。設計データテーブルのデータサイズがデータサイズ閾値以下の場合（ステップＳ３０２でＮＯ）、ステップＳ３０５へ進む。設計データテーブルのデータサイズがデータサイズ閾値より大きい場合（ステップＳ３０２でＹＥＳ）、設計データ読出／書込部２０４は、設計データテーブルに含まれる全ての設計データ情報の使用回数フィールドを読み、最も使用回数の少ない設計データ情報を選択する（ステップＳ３０３）。【００８０】  設計データ読出／書込部２０４は、ステップＳ３０３で選択した設計データ情報を、設計データテーブルから削除する（ステップＳ３０４）。
次に、設計データ読出／着込み部２０４は、図８のステップＳ１１０で生成した設計データ情報を、設計データテーブルに追加して書き込む（ステップＳ３０５）。
続いて、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報のフラグを「１」に設定し（ステップＳ３０６）、その他の設計データ情報のフラグを「０」に設定する。次に、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報の使用回数を、インクリメントし（ステップＳ３０７）、設計データ読出／書込部２０４は処理を終了する。【００８１】  ＜変形例＞
本発明を上記の実施形態に基づき説明してきたが、本発明は、上記の実施形態に限定されないのは勿論であり、以下のように実施した場合であっても本発明に含まれる。
（１）上記の実施形態では、設計データ情報に、使用回数を示すフィールドを設け、設計データが、再構成可能部２０８におけるコンテンツ復号処理に使用された回数を管理する構成を有する。そして、設計データ情報に含まれる使用回数が最も少ない設計データ情報から、優先的に削除するように構成されているが、本発明における設計データ情報は、使用回数を示すフィールドを有していなくてもよい。【００８２】  例えば、設計データ記憶部２０２は、図１１に示す設計データテーブル５００を記憶していてもよい。設計データテーブル５００は、複数の設計データ情報を含み、各設計データ情報は、設計データＩＤ、暗号化設計データ、及びフラグを含む。図４に示した設計データテーブル３００との相違は、設計データ情報が使用回数のフィールドを含まない点である。【００８３】  このような使用回数を含まない設計データテーブルを記憶している場合、設計データ読出／書込部２０４は、設計データが暗号化コンテンツの復号に使用されると、設計データテーブル５００における設計データ情報の記録位置を、１段上位へ移動させるように構成してもよい。
例えば、設計データＩＤ「Ｂ」により識別される設計データが、暗号化コンテンツの復号に使用されると、設計データ読出／書込部２０４は、設計データ情報５０２の設計データテーブル５００における記録位置を１段上位へ移動させる。その結果、図１２の設計データテーブル５００ａに示すように、設計データＩＤ「Ｉ」を有する設計データ情報５０１の１段上位に、設計データ情報５０２が配置される。【００８４】  設計データ読出／書込部２０４は、再構成可能部２０８でコンテンツの復号処理が行われる都度、このような設計データ情報の並べ替えを行うことにより、設計データテーブルは、使用回数が最大である設計データ情報が最上位に配され、下位に向かい、使用回数の少ない設計データ情報が配置される構成となる。
設計データテーブルから設計データ情報を削除する場合には、設計データテーブルの最下位から優先的に削除することにより、上記実施形態と同様に、使用回数の少ない設計データ情報を優先的の削除することができる。【００８５】  また、設計データ情報の並べ替えの変形例として、再構成可能部２０８でコンテンツの復号処理に使用された設計データ情報を、設計データテーブルの最上位に配置するように構成してもよい。この構成により、最近使用された設計データが削除されるのを防止することが可能となる。
図１３は、設計データ情報を並べ替え、設計データテーブルを更新する処理の動作を示すフローチャートである。なお、ここに示す動作は、システム全体における位置づけとしては、図９のステップＳ２０２の詳細に相当する。【００８６】  設計データ読出／書込部２０４は、設計データ記憶部２０２に記憶されている設計データテーブルのデータサイズを取得する（ステップＳ４０１）。次に、設計データ読出／書込部２０４は、ステップＳ４０１で取得したデータサイズと、予め内部に記憶しているデータサイズ閾値とを比較する。設計データテーブルのデータサイズがデータサイズ閾値以下の場合（ステップＳ４０２でＮＯ）、ステップＳ４０４へ進む。設計データテーブルのデータサイズがデータサイズ閾値より大きい場合（ステップＳ４０２でＹＥＳ）、設計データ読出／書込部２０４は、設計データテーブル内において最下位に位置する設計データ情報を削除する（ステップＳ４０３）。【００８７】  次に、設計データ読出／着込み部２０４は、図８のステップＳ１１０で生成した設計データ情報を、設計データテーブルに追加して書き込む（ステップＳ４０４）。
続いて、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報のフラグを「１」に設定し（ステップＳ４０５）、その他の設計データ情報のフラグを「０」に設定する。【００８８】  次に、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報の、設計データテーブル内における位置を、一段上位へ移動させ（ステップＳ４０６）、設計データ読出／書込部２０４は処理を終了する。
なお、ステップＳ４０３では、最下位に位置する設計データ情報を削除しているが、設計データ情報を削除する際には、一度に所定数の設計データ情報を削除するように構成してもよい。これは、例えば、設計データテーブルのデータサイズに応じて、削除する設計データ情報の数を決定するように構成してもよい。また、これは、設計データ情報が使用回数のフィールドを含む実施形態においても、同様である。【００８９】  （２）本発明における設計データは、その使用回数に応じて、格納する記憶領域を変更するように構成してもよい。
例えば、本発明におけるコンテンツ利用装置は、設計データの記憶領域として、読出速度が高速であるＥＥＰＲＯＭと、読出速度が低速であるＨＤＤとを備えるように構成してもよい。そして、使用回数が多い設計データ情報を読出速度が高速であるＥＥＰＲＯＭに格納し、使用回数が少ない設計データ情報をＨＤＤへ格納するように構成してもよい。【００９０】  図１４は、上記のような構成を有するコンテンツ利用装置の設計データ記憶部が格納している設計データテーブル６００のデータ構成を示す図である。同図に示すように設計データテーブル６００は、複数の設計データ情報６０１、６０２、…、６０３、６０４、…、６０５、及び６０６を含む。
各設計データ情報は、設計データＩＤ、暗号化設計データ、フラグ、使用回数、及び格納領域とを含む。上記の実施形態との相違点は、格納領域のフィールドを備える点である。例えば、設計データテーブル６００では、使用回数が１及び２の何れかである場合には、設計データはＨＤＤに格納されており、使用回数が３以上である場合には、設計データはＥＥＰＲＯＭに格納されている。【００９１】  また、設計データ読出／書込部は、設計データの使用回数に応じて、設計データの格納場所を変更するように構成してもよい。これにより、今後も使用される可能性の高い設計データを読出速度が高速であるＥＥＰＲＯＭに格納しておき、使用される可能性の低い設計データを読出速度が低速であるＨＤＤに格納することができる。
（３）上記の実施形態における暗号処理部２０５は、暗号化設計データの復号処理と暗号化コンテンツの復号処理とを行う構成を有するが、本発明のコンテンツ利用装置は、復号処理に限定されず、暗号化処理を行う場合も本発明に含まれる。【００９２】  更には、本発明は、暗号化処理／復号処理を行うコンテンツ利用装置に限定されず、コンテンツの符号化処理／逆符号化処理等を行う場合にも適用できる。この場合、コンテンツ利用装置は、複数の符号化アルゴリズムに対応する回路を実現するための複数個の設計データを保持しており、要求された符号化アルゴリズムに対応する設計データを内部に保持している場合には、内部に保持する設計データに基づき、再構成可能部において回路を再構成し、要求された符号化アルゴリズムに対応する設計データを内部に保持していない場合には、外部の設計データサーバから、所望の設計データを取得し、取得した設計データに基づき、再構成可能部において回路を再構成するように構成してもよい。【００９３】  （４）上記の実施形態では、コンテンツ利用装置２０と設計データサーバ３０とはネットワーク４０を介して接続されており、コンテンツ利用装置２０は、ネットワーク４０を介した通信により、設計データサーバ３０から設計データを取得する構成を有するが、本発明において、コンテンツ利用装置２０は、ネットワーク経由で設計データを取得する構成は必須ではない。例えば、コンテンツ利用装置２０は、記録媒体との間で情報の入出力を行う媒体入出力手段を備え、媒体入出力手段を介して、設計データが記憶されている記録媒体に直接アクセスし、当該記録媒体から設計データを取得する構成であっても本発明に含まれる。【００９４】  また、上記の実施形態では、コンテンツ利用装置２０とコンテンツサーバ１０とは、ネットワーク４０を介して接続されており、コンテンツ利用装置２０は、ネットワーク４０を介した通信により、コンテンツサーバ１０からアルゴリズム特定情報と暗号化コンテンツとを取得する構成を有するが、本発明において、コンテンツ利用装置２０は、ネットワーク経由でアルゴリズム特定情報と暗号化コンテンツとを取得する構成は必須ではない。上述のように、コンテンツ利用装置２０は、媒体入出力手段を備え、媒体入出力手段を介して、記録媒体から、アルゴリズム特定情報と暗号化コンテンツとを取得する構成であっても本発明に含まれる。【００９５】  更には、アルゴリズム特定情報及び暗号化コンテンツの内、何れかをネットワーク４０経由で取得し、何れかを記録媒体から取得するように構成してもよい。
（５）上記の実施形態では、コンテンツ鍵記憶部２０９が保持する複数個のコンテンツ鍵は、コンテンツ毎に異なる鍵である構成を有するが、本発明においては、コンテンツ毎の異なる鍵である構成は必須ではない。【００９６】  また、上記の実施形態では、固有鍵記憶部２０６が保持する固有鍵とコンテンツ鍵記憶部２０９が保持するコンテンツ鍵とは、別のデータである構成としているが、本発明はその構成に限定されるものではない。例えば、固有鍵とコンテンツ鍵は同一の鍵であってもよい。更には、コンテンツ鍵は静的な鍵データではなく、動的に算出され、コンテンツ鍵記憶部２０９においてテンポラリーに記憶される構成であってもよい。同様に、暗号化設計データを復号する固有鍵も固有である必要はなく、複数機器で共有する鍵であってもよく、さらには、鍵データが変化、あるいは更新される構成であってもよい。【００９７】  （６）上記の実施形態では、コンテンツ利用装置２０は、アルゴリズム特定情報が示す設計データを保持していない場合、ネットワーク４０を介して、設計データを入手する構成としたが、本発明はこの構成に限定されるものではない。例えば、コンテンツ利用装置２０は、通知手段を備え、利用者に対して、当該設計データを保持していない旨を通知するように構成してもよい。そして、利用者から、設計データ入手の指示を受け付ける構成であってもよい。【００９８】  （７）上記の実施形態では、設計データ記憶部２０２に記憶されている設計データテーブルでは、再構成可能部２０８で回路を構成するための設計データを記憶する構成としたが、本発明はその構成に限定されず、例えば、復号部２０７で実現されている暗号化アルゴリズムも同一の設計データテーブルで管理するように構成してもよい。そして、復号部２０７の機能を暗号化コンテンツの復号処理に用いるように構成してもよい。【００９９】  この構成によれば、例えば、復号部２０７で実現されている暗号化アルゴリズムがＤＥＳであり、暗号化コンテンツの復号に必要な復号回路のアルゴリズムがＤＥＳである場合には、再構成可能部２０８で改めてＤＥＳの復号回路を再構成する必要が無く、復号部２０７で暗号化コンテンツを復号することが可能となる。
（８）上記の実施形態では、コンテンツサーバ１０から受信するアルゴリズム特定情報に基づいて、暗号化コンテンツを復号するためのアルゴリズムを特定する構成としたが、本発明はその構成に限定されるものではない。
例えば、コンテンツ利用装置２０が複数の供給元から、暗号化コンテンツを入手する場合、暗号化コンテンツの入手先（暗号化コンテンツの供給元）に応じて、使用する暗号アルゴリズムが予め決まっているように構成してもよい。【０１００】  （９）上記の実施形態では、設計データテーブルを更新する場合、使用回数に応じて設計データ情報を削除する構成としたが、本発明はその構成に限定されるものではない。例えば、設計データ記憶部２０２の容量不足により設計データを削除しなければいけない場合、要領不足の解消に最も効率のよい設計データを１つ以上削除する構成であってもよい。具体的には、３０ＫＢの設計データを追加したい場合、１００ＫＢの設計データを削除する代わりに、１０ＫＢの設計データと２０ＫＢの設計データとを削除する構成であってもよい。【０１０１】  （１０）上記の実施形態では、設計データテーブルを更新する場合、設計データテーブルの最下位に位置する設計データ情報を削除する構成としたが、本発明はその構成に限定されるものではない。例えば、定期的に設計データテーブルを参照して、予め定められた数の設計データ情報を最下位から順に削除していく構成であってもよい。
（１１）本発明の実施の形態では、設計データ読出／書込部２０４は、設計データ記憶部２０２の容量が不足した場合（具体的には、設計データテーブルのデータサイズがデータサイズ閾値より大きい場合）、設計データを削除する構成としたが、本発明はその構成に限定されるものではない。例えば、設計データが暗号処理を実現する機能であり、安全性が低下したことが判明した場合、外部からの指示に従い、当該設計データを削除する構成であってもよい。この場合、再構成可能部２０８において、当該設計データに基づく回路が構成されている場合には、設計データと共にその回路も削除する構成であってもよい。また、安全性の低下のみならず、外部からの設計データの削除要求に従い、設計データ、あるいは再構成可能部２０８の回路を削除する構成であってもよい。【０１０２】  （１２）上記の実施形態は、再構成可能部で回路が実現されている設計データは１つである場合についてのみ記載しているが、本発明において、この構成は必須ではなく、２つ以上の設計データに基づき、回路が実現されている場合も本発明に含まれる。具体例として、再構成可能部において設計データＩＤ「Ｂ」により識別される設計データと、設計データＩＤ「Ｋ」により識別される設計データとに基づき回路が構成されている場合に、設計データ記憶部が記憶する設計データテーブルでは、設計データＩＤ「Ｂ」を有する設計データ情報と、設計データＩＤ「Ｋ」を有する設計データ情報とのフラグ欄に、「１」が設定される。その他の設計データ情報のフラグ欄には「０」が設定されるように構成してもよい。【０１０３】  （１３）請求項に記載の「使用頻度」の一例として、上記実施の形態では、設計データを基に再構成可能部２０８において構成された回路が、暗号化コンテンツの復号処理に使用された使用回数を挙げているがこれに限定されるものではない。
他の例として、設計データが再構成可能部２０８にロードされたロード回数でもよい。具体的には、設計データテーブル３００を構成する各設計データ情報は、使用回数に代わり、ロード回数を含んでいる。設計データ読出／書込部２０４は、設計データ記憶部２０２から暗号化設計データを読み出す度に、読み出した暗号化設計データと対応する使用回数に１加算する。【０１０４】  （１４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。【０１０５】  また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。【０１０６】  また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（１５）また本発明は、上記実施形態におけるコンテンツサーバ１０、コンテンツ利用装置２０、及び設計データサーバ３０の機能ブロックの一部又は全てが集積回路であるＬＳＩとして実現される場合も本発明に含まれる。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０１０７】  また、集積回路化の手法はＬＳＩに限るものではなく、専用回路で実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。【０１０８】  （１６）前記実施形態及び前記変形例をそれぞれ組み合わせた構成も、本発明に含まれる。
【産業上の利用可能性】
【０１０９】  本発明は、コンテンツを利用者に提供する産業や、前記コンテンツを利用することができる機器を生産し、販売する産業において、経営的、継続的、且つ反復的に利用することができる。
【図１】
2006115212.tif 000002
【図２】
2006115212.tif 000003
【図３】
2006115212.tif 000004
【図４】
2006115212.tif 000005
【図５】
2006115212.tif 000006
【図６】
2006115212.tif 000007
【図７】
2006115212.tif 000008
【図８】
2006115212.tif 000009
【図９】
2006115212.tif 000010
【図１０】
2006115212.tif 000011
【図１１】
2006115212.tif 000012
【図１２】
2006115212.tif 000013
【図１３】
2006115212.tif 000014
【図１４】
2006115212.tif 000015
【手続補正書】
【提出日】平成19年10月11日(2007.10.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
設計データに基づき、回路を再構成することが可能な再構成可能手段と、
コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段において構成されているか否か判定する第１判定手段と、
前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定する第２判定手段と、
前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得手段とを備え、
前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、回路を再構成する
ことを特徴とするコンテンツ利用装置。
【請求項２】
前記コンテンツ利用装置は、
前記再構成可能手段において、コンテンツの利用に係る複数の機能を実現する回路を構成するための、複数の設計データを保持する設計データ記憶手段を備え、
前記第１判定手段は、前記設計データ記憶手段に、前記コンテンツ利用設計データが記憶されているか否かを判断することにより、前記判定を行う
ことを特徴とする請求項１に記載のコンテンツ利用装置。
【請求項３】
前記コンテンツの利用に係る前記機能は、前記コンテンツの暗号化、又は前記コンテンツが暗号化されて生成された暗号化コンテンツの復号であり、
前記コンテンツ利用回路は、前記暗号化の機能を実現するための回路、又は前記復号の機能を実現するための回路である
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項４】
前記コンテンツ利用装置は、ネットワークを介して外部の設計データサーバと接続されており、
前記取得手段は、
前記設計データサーバから、前記コンテンツ利用設計データを取得する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項５】
前記コンテンツ利用装置は、ネットワークを介して外部のコンテンツサーバと接続されており、
前記コンテンツサーバから、前記暗号化コンテンツ、及び前記コンテンツ利用設計データを一意に識別可能である設計データ識別子とを受信し、
前記取得手段は、
前記設計データサーバへ、前記設計データ識別子を出力し、前記コンテンツ利用設計データの送信を要求し、
前記再構成可能手段は、
取得した前記コンテンツ利用設計データに基づき、前記暗号化コンテンツの復号を実現するための回路である前記コンテンツ利用回路を再構成する
ことを特徴とする請求項４に記載のコンテンツ利用装置。
【請求項６】
前記コンテンツ利用装置は、記録媒体から情報を読み出す媒体入力手段を備え、
前記取得手段は、
前記媒体入力手段を介して、前記コンテンツ利用設計データが記録されている記録媒体から、前記コンテンツ利用設計データを取得する
ことを特徴とする請求項３に記載のコンテンツ利用装置。
【請求項７】
前記コンテンツの利用に係る前記機能は、コンテンツの符号化、又は符号化されて生成されたコンテンツの逆符号化であり、
前記コンテンツ利用回路は、前記符号化の機能を実現するための回路、又は前記逆符号化の機能を実現するための回路である
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項８】
前記設計データ記憶手段は、
複数の設計データが配列された設計データテーブルを記憶しており、
前記取得手段は、
前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、
前記コンテンツ利用装置は、更に、
前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、
前記削除判定手段により、設計データを削除すると判定された場合に、削除すべき設計データを選択し、選択した前記設計データを、前記設計データテーブルから削除する設計データ削除手段と
を備えることを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項９】
前記設計データテーブルは、設計データ毎に、設計データと対応付けて、当該設計データが前記再構成可能手段において回路構成された頻度を示す設計データ使用情報を記憶しており、
前記設計データ削除手段は、
前記削除判定手段により、設計データを削除すると判定された場合に、設計データ使用情報を読み、設計データ使用情報が示す使用頻度が最も低い設計データを、前記削除すべき設計データとして選択する
ことを特徴とする請求項８に記載のコンテンツ利用装置。
【請求項１０】
前記設計データ削除手段は、
前記削除判定手段により、設計データを削除すると判定された場合に、前記複数の設計データ情報に含まれる設計データ使用情報を読み、設計データ使用情報が示す使用頻度が所定値以下である設計データを、優先的に前記削除すべき設計データとして選択する
ことを特徴とする請求項８に記載のコンテンツ利用装置。
【請求項１１】
前記設計データ記憶手段は、
複数の設計データが配列された設計データテーブルを記憶しており、
前記取得手段は、
前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、
前記コンテンツ利用装置は、更に、
前記再構成可能手段において、回路が再構成されると、前記設計データテーブルに含まれる複数の設計データの配列を並べ替える更新手段を備える
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１２】
前記コンテンツ利用装置は、更に、
前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、
前記削除判定手段により、設計データを削除すると判定された場合に、前記設計データテーブルの最下位から、所定数の設計データを削除する設計データ削除手段と
を備えることを特徴とする請求項１１に記載のコンテンツ利用装置。
【請求項１３】
前記更新手段は、
前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を１つ上位へ移動させる
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１４】
前記更新手段は、
前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を最上位へ移動させる
ことを特徴とする請求項１２に記載のコンテンツ利用装置。
【請求項１５】
前記設計データ記憶手段は、
第１アクセス速度で設計データの読出を行う第１記憶部と、
前記第１アクセス速度より速い第２アクセス速度で設計データの読出を行う第２記憶部とを備え、
前記再構成可能手段における回路構成の頻度が所定値以上の設計データを、前記第１記憶部に記憶し、前記頻度が所定値未満の設計データを、前記第２記憶部に記憶する
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１６】
前記設計データ記憶手段は、更に、
複数の設計データと使用頻度と格納場所とを対応付けた設計データテーブルを記憶しており、
使用頻度に応じて各設計データの格納場所を前記第１及び第２記憶部の間で移動させる
ことを特徴とする請求項１５に記載のコンテンツ利用装置。
【請求項１７】
前記設計データ記憶手段は、更に、
前記再構成可能手段で実現されている回路の構成に用いられた設計データを識別するためのフラグを記憶している
ことを特徴とする請求項２に記載のコンテンツ利用装置。
【請求項１８】
設計データに基づく再構成が可能な回路を含む再構成可能手段と、第１判定手段と、第２判定手段と、取得手段とを備えるコンテンツ利用装置の動作方法であって、
前記第１判定手段により、コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段の前記回路において構成されているか否か判定するステップと、
前記第２判定手段により、前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定するステップと、
前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得ステップと、
前記再構成可能手段により、取得した前記コンテンツ利用設計データに基づき、前記回路を再構成するステップと
を含むことを特徴とするコンテンツ利用方法。
【請求項１９】
設計データに基づく再構成が可能な回路を含む再構成可能手段と、第１判定手段と、第２判定手段と、取得手段とを備えるコンテンツ利用装置で動作するコンピュータプログラムであって、
前記第１判定手段により、コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段の前記回路において構成されているか否か判定させるステップと、
前記第２判定手段により、前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定させるステップと、
前記取得手段により、前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得させるステップと、
前記再構成可能手段により、取得した前記コンテンツ利用設計データに基づき、回路を再構成させるステップと
を含むことを特徴とするコンピュータプログラム。
【請求項２０】
請求項１９に記載のコンピュータプログラムを記憶しているコンピュータ読み取り可能な記録媒体。
【請求項２１】
設計データに基づき、回路を再構成することが可能な再構成可能手段と、
コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段において構成されているか否か判定する第１判定手段と、
前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定する第２判定手段と、
前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得手段とを備え、
前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、回路を再構成する
ことを特徴とする集積回路。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機器内にハードウェア実装されている暗号化方式を更新する技術に関する。
【背景技術】
【０００２】
ネットワークを介したコンテンツの配信、又は記録媒体に記録したコンテンツの配布においては、コンテンツの不正利用を防止し、コンテンツの著作権を保護するために、一般的に、コンテンツは暗号化されて配信、又は配布される。
コンテンツを再生する機器では、暗号化コンテンツを復号する復号処理を行うが、機器における暗号化方式の実装は、必要とされる処理速度や、耐タンパー性の観点からハードウェアで実装されている場合が多い。
【０００３】
ここで、暗号化処理に係る秘密情報が暴露された場合には、機器に実装された暗号化方式を新たな暗号化方式に更新し、安全性を保ちたいとの要望があるが、近年では、ＦＰＧＡ（ＦｉｅｌｄＰｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ）やＰＬＡ（Ｐｒｏｇｒａｍｍａｂｌｅ Ｌｏｇｉｃ Ａｒｒａｙ）等の再構成が可能なデバイスを用いることにより、ハードウェアで実装された暗号化方式を更新することも可能となってきた（特許文献１参照）。
【０００４】
また、特許文献２では、機器の内部に暗号化アルゴリズムファイルを格納するデータベースを保持して、外部からの指示に従い、前記データベースからアルゴリズムファイルを取得し、機器にハードウェア実装されている暗号化アルゴリズムを更新する技術が開示されている。
【特許文献１】特開平１０−３２０１９１号公報
【特許文献２】特開平１０−５５１３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、機器内のデータベースに格納されていない新たな暗号化アルゴリズムには対応できないという問題がある。
本発明は、上記の問題点に鑑みなされたものであって、機器内のデータベースに格納されていない新たな暗号化アルゴリズムにも対応することができるアルゴリズム更新システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の目的を達成するために、本発明は、コンテンツ利用装置であって、設計データに基づき、回路を再構成することが可能な再構成可能手段と、コンテンツの利用に係る１つの機能を実現する回路であるコンテンツ利用回路が、前記再構成可能手段において構成されているか否か判定する第１判定手段と、前記再構成可能手段において前記コンテンツ利用回路を構成するためのコンテンツ利用設計データを、内部に保持しているか否か判定する第２判定手段と、前記第１及び前記第２判定手段による判定が、共に否定的である場合に、前記コンテンツ利用設計データを、外部から取得する取得手段とを備え、前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、回路を再構成することを特徴とする。
【発明の効果】
【０００７】
ここで、上記の「再構成可能手段」は、後述の実施の形態において、再構成可能部２０８と対応する。「第１判定手段」及び「第２判定手段」は、実施の形態の判定部２０３がその機能を担う。「取得手段」は、実施の形態の送受信部２０１及び設計データ読出／書込部２０４がその機能を担う。
上記の構成によると、コンテンツ利用装置は、再構成可能手段において回路が実現されておらず、且つ、設計データ自体も保持していない回路を構成するため、設計データを外部から取得するので、再構成可能手段において、新たな回路を構築することができる。
【０００８】
また、再構成可能手段において、コンテンツ利用回路が既に構成されている場合には再構成は不要であり、コンテンツ利用設計データを既に保持している場合には外部からの取得は不要であるため、第１及び第２判定手段の判定を行うことにより、効率的に回路の再構成を行うことができる。
ここで、前記コンテンツ利用装置は、前記再構成可能手段において、コンテンツの利用に係る複数の機能を実現する回路を構成するための、複数の設計データを保持する設計データ記憶手段を備え、前記第１判定手段は、前記設計データ記憶手段に、前記コンテンツ利用設計データが記憶されているか否かを判断することにより、前記判定を行うように構成してもよい。
【０００９】
この構成によると、コンテンツ利用装置は、内部に複数の設計データを格納することができ、設計データ記憶手段に格納されていない設計データは、外部から取得することで、再構成可能手段において、新たな回路を構築することができる。
ここで、前記コンテンツの利用に係る前記機能は、前記コンテンツの暗号化、又は前記コンテンツが暗号化されて生成された暗号化コンテンツの復号であり、前記コンテンツ利用回路は、前記暗号化の機能を実現するための回路、又は前記復号の機能を実現するための回路であるように構成してもよい。
【００１０】
この構成によると、前記コンテンツ利用装置は、コンテンツの暗号化処理又は復号処理を行う装置であって、例えば、暗号化処理に係る秘密情報が暴露された場合に、実装されている暗号化方式を新たな暗号化方式に更新し、安全性を保ちたいとの要望が生じた場合、新たな暗号化方式に係る設計データを内部に保持していない場合であっても、外部から取得することにより、再構成可能手段において、新たな暗号化方式に対応する回路を再構築することができる。
【００１１】
ここで、前記コンテンツ利用装置は、ネットワークを介して外部の設計データサーバと接続されており、前記取得手段は、前記設計データサーバから、前記コンテンツ利用設計データを取得するように構成してもよい。
この構成によると、コンテンツ利用装置は、ネットワークに接続可能な環境であれば、ネットワークを介して設計データサーバからコンテンツ利用設計データを取得することができる。
【００１２】
ここで、前記コンテンツ利用装置は、ネットワークを介して外部のコンテンツサーバと接続されており、前記コンテンツサーバから、前記暗号化コンテンツ、及び前記コンテンツ利用設計データを一意に識別可能である設計データ識別子とを受信し、前記取得手段は、前記設計データサーバへ、前記設計データ識別子を出力し、前記コンテンツ利用設計データの送信を要求し、前記再構成可能手段は、取得した前記コンテンツ利用設計データに基づき、前記暗号化コンテンツの復号を実現するための回路である前記コンテンツ利用回路を再構成するように構成してもよい。
【００１３】
この構成によると、コンテンツ利用装置は、コンテンツサーバから受信した暗号化コンテンツと対応する設計データを、設計データサーバから取得することができる。
ここで、前記コンテンツ利用装置は、記録媒体から情報を読み出す媒体入力手段を備え、前記取得手段は、前記媒体入力手段を介して、前記コンテンツ利用設計データが記録されている記録媒体から、前記コンテンツ利用設計データを取得するように構成してもよい。
【００１４】
この構成によると、コンテンツ利用装置は、ネットワークを介さず前記コンテンツ利用設計データを記録媒体から直接読み込むので、安全に前記コンテンツ利用設計データを取得することができる。
ここで、前記コンテンツの利用に係る前記機能は、コンテンツの符号化、又は符号化されて生成されたコンテンツの逆符号化であり、前記コンテンツ利用回路は、前記符号化の機能を実現するための回路、又は前記逆符号化の機能を実現するための回路であるように構成してもよい。
【００１５】
この構成によると、前記コンテンツ利用装置は、コンテンツの符号化処理又は逆符号化処理を行う装置であって、複数の設計データを記憶しておくことにより、複数の符号化／逆符号化のアルゴリズムに対応することができる。更には、コンテンツ利用装置が保持していない新たな符号化／逆符号化のアルゴリズムに係る設計データを内部に保持していない場合であっても、外部から取得することにより、再構成可能手段において、新たな符号化／逆符号化回路を再構築することができる。
【００１６】
ここで、前記設計データ記憶手段は、複数の設計データが配列された設計データテーブルを記憶しており、前記取得手段は、前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、前記コンテンツ利用装置は、更に、前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、前記削除判定手段により、設計データを削除すると判定された場合に、削除すべき設計データを選択し、選択した前記設計データを、前記設計データテーブルから削除する設計データ削除手段とを備えるように構成してもよい。
【００１７】
この構成によると、取得手段が新たなコンテンツ利用設計データを取得する都度、設計データテーブルのデータ量は増加するが、削除判定手段及び削除手段を有することにより、設計データテーブルのデータ量が設計データ記憶手段の記憶容量を超えることを制限することができる。
ここで、前記設計データテーブルは、設計データ毎に、設計データと対応付けて、当該設計データが前記再構成可能手段において回路構成された頻度を示す設計データ使用情報を記憶しており、前記設計データ削除手段は、前記削除判定手段により、設計データを削除すると判定された場合に、設計データ使用情報を読み、設計データ使用情報が示す使用頻度が最も低い設計データを、前記削除すべき設計データとして選択するように構成してもよい。
【００１８】
更に、前記設計データ削除手段は、前記削除判定手段により、設計データを削除すると判定された場合に、前記複数の設計データ情報に含まれる設計データ使用情報を読み、設計データ使用情報が示す使用頻度が所定値以下である設計データを、優先的に前記削除すべき設計データとして選択するように構成してもよい。
この構成によると、再構成可能手段による回路の再構成が要求される可能性の低い設計データから優先的に削除することが可能となる。
【００１９】
ここで、前記設計データ記憶手段は、複数の設計データが配列された設計データテーブルを記憶しており、前記取得手段は、前記コンテンツ利用設計データを取得すると、取得した前記コンテンツ利用設計データを、前記設計データテーブルに書き込み、前記コンテンツ利用装置は、更に、前記再構成可能手段において、回路が再構成されると、前記設計データテーブルに含まれる複数の設計データの配列を並べ替える更新手段を備えるように構成してもよい。
【００２０】
この構成によると、例えば更新手段は、設計データテーブルに使用頻度に係る情報を記述せずに設計データテーブルのデータ量を削減しつつ、設計データの使用頻度を管理することが可能となる。
ここで、前記コンテンツ利用装置は、更に、前記設計データテーブルのデータ量に基づき、前記設計データ記憶手段から設計データを削除するか否か判定する削除判定手段と、前記削除判定手段により、設計データを削除すると判定された場合に、前記設計データテーブルの最下位から、所定数の設計データを削除する設計データ削除手段とを備えるように構成してもよい。
【００２１】
この構成によると、取得手段が新たなコンテンツ利用設計データを取得する都度、設計データテーブルのデータ量は増加するが、削除判定手段及び削除手段を有することにより、設計データテーブルのデータ量が設計データ記憶手段の記憶容量を超えることを制限することができる。
ここで、前記更新手段は、前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を１つ上位へ移動させるように構成してもよい。
【００２２】
更に、前記更新手段は、前記再構成可能手段における回路の再構成に用いられた設計データの、前記設計データテーブル内における配列を最上位へ移動させるように構成してもよい。
この構成によると、再構成可能手段による回路の再構成が要求される可能性の低い設計データから優先的に削除することが可能となる。
【００２３】
ここで、前記設計データ記憶手段は、第１アクセス速度で設計データの読出を行う第１記憶部と、前記第１アクセス速度より速い第２アクセス速度で設計データの読出を行う第２記憶部とを備え、前記再構成可能手段における回路構成の頻度が所定値以上の設計データを、前記第１記憶部に記憶し、前記頻度が所定値未満の設計データを、前記第２記憶部に記憶するように構成してもよい。
【００２４】
更に、前記設計データ記憶手段は、更に、複数の設計データと使用頻度と格納場所とを対応付けた設計データテーブルを記憶しており、使用頻度に応じて各設計データの格納場所を前記第１及び第２記憶部の間で移動させるように構成してもよい。
この構成によると、コンテンツ利用装置は、再構成可能手段による回路の再構成が要求される可能性の高い設計データを、アクセス速度の速い記憶部へ記憶し、回路の再構成が要求される可能性の低い設計データを、アクセス速度の遅い記憶部へ記憶するので、回路の再構成を効率的に行うことが可能となる。
【００２５】
ここで、前記設計データ記憶手段は、更に、前記再構成可能手段で実現されている回路の構成に用いられた設計データを識別するためのフラグを記憶しているように構成してもよい。
この構成によると、再構成可能手段において回路が構成されている設計データを簡便に識別することが可能であり、回路の再構成が必要であるのか否かの処理が迅速化される。
【発明を実施するための最良の形態】
【００２６】
本発明の実施形態として、アルゴリズム更新システム１について図面を参照して説明する。
アルゴリズム更新システム１は、コンテンツサーバから暗号化コンテンツを取得したコンテンツ利用装置が、指定された暗号化アルゴリズムを再構成可能な回路を用いて実現し、コンテンツを復号、再生するシステムである。
【００２７】
＜構成＞
図１は、アルゴリズム更新システム１のシステム構成を示す図である。同図に示すように、アルゴリズム更新システム１は、コンテンツサーバ１０、コンテンツ利用装置２０、ＴＶ２１、及び設計データサーバ３０から構成される。
コンテンツ利用装置２０とＴＶ２１とはケーブルを介して接続されており、コンテンツサーバ１０、コンテンツ利用装置２０、及び設計データサーバ３０は、それぞれネットワーク４０を介して接続されている。
【００２８】
１．コンテンツサーバ１０
コンテンツサーバ１０は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット等から構成されるコンピュータシステムである。ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されており、マイクロプロセッサがコンピュータプログラムを実行することにより、コンテンツサーバ１０は、その機能を達成する。
【００２９】
コンテンツサーバ１０は、複数の暗号化コンテンツを、後述するコンテンツテーブル１００にて管理している。コンテンツサーバ１０に格納されている各暗号化コンテンツは、コンテンツが、ある暗号化アルゴリズムに従い暗号化されて生成されたデータである。本実施形態におけるコンテンツは、一例として、映画が、ＭＰＥＧ−２規格に従い圧縮符号化されて生成されたデジタルデータであるとする。なお、本発明におけるコンテンツは、映画に限定されないのは勿論であり、音楽、静止画、コンピュータプログラム等でもよい。
【００３０】
図２は、コンテンツサーバ１０が記憶しているコンテンツテーブル１００のデータ構成を示す図である。同図に示すように、コンテンツテーブル１００は、複数のコンテンツ情報１０１、１０２、１０３、…を含み、各コンテンツ情報は、コンテンツＩＤ、アルゴリズム特定情報、及び暗号化コンテンツを含む。
例えば、コンテンツ情報１０１は、コンテンツＩＤ「０００１」、アルゴリズム特定情報「Ａ」、暗号化コンテンツ「Ｅｎｃ＿ＣＮＴ＿０００１」を含む。
コンテンツＩＤ「０００１」は、コンテンツ、及び当該コンテンツが暗号化されて生成された暗号化コンテンツを一意に識別するための情報である。
【００３１】
アルゴリズム特定情報「Ａ」は、コンテンツＩＤ「０００１」により識別される暗号化コンテンツの暗号化に用いられたアルゴリズムを特定するための情報である。ここで、アルゴリズム特定情報「Ａ」は、具体例として、ＤＥＳ（ＤａｔａＥｎｃｒｙｐｔｉｏｎ Ｓｔａｎｄａｒｄ）を示す情報であるとする。
暗号化コンテンツ「Ｅｎｃ＿ＣＮＴ＿０００１」は、コンテンツＩＤ「０００１」により識別されるコンテンツ「ＣＮＴ＿０００１」に、コンテンツ鍵を暗号鍵として用い、アルゴリズム特定情報「Ａ」により特定される暗号化アルゴリズム、即ちＤＥＳを施すことにより生成されたデータである。  
【００３２】
コンテンツサーバ１０は、コンテンツ利用装置２０から、コンテンツＩＤを含むコンテンツ送信要求を受信すると、受信したコンテンツＩＤに対応するアルゴリズム特定情報、及び暗号化コンテンツをコンテンツテーブル１００から読み出して、読み出したアルゴリズム特定情報、及び暗号化コンテンツを、コンテンツ利用装置２０へ送信する。
なお、コンテンツテーブル１００に記憶されている各暗号化コンテンツは、それぞれ異なるコンテンツ鍵を用いて暗号化されているものとし、暗号化に用いられたコンテンツ鍵は、コンテンツ利用装置２０へ、安全且つ確実な方法により送信されているものとする。
【００３３】
２．コンテンツ利用装置２０
図３は、コンテンツ利用装置２０の構成を機能的に示す機能ブロック図である。同図に示すように、コンテンツ利用装置２０は、送受信部２０１、設計データ記憶部２０２、判定部２０３、設計データ読出／書込部２０４、暗号処理部２０５、及び再生制御部２１０から構成され、暗号処理部２０５は、更に、固有鍵記憶部２０６、復号部２０７、再構成可能部２０８、及びコンテンツ鍵記憶部２０９から構成される。
【００３４】
コンテンツ利用装置２０は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット等から構成されるコンピュータシステムである。ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記録されており、マイクロプロセッサが、コンピュータプログラムを実行することにより、コンテンツ利用装置２０は、その機能を達成する。以下では、コンテンツ利用装置２０の各構成要素について説明する。
【００３５】
（１）送受信部２０１
送受信部２０１は、ネットワーク接続ユニットであり、ネットワーク４０を介して、コンテンツサーバ１０、及び設計データサーバ３０とデータの送受信を行う。
送受信部２０１は、コンテンツサーバ１０に対し、コンテンツ送信要求を送信し、コンテンツサーバ１０から、アルゴリズム特定情報と暗号化コンテンツとを受信する。受信したアルゴリズム特定情報は、判定部２０３へ出力され、暗号化コンテンツは、再構成可能部２０８へ出力される。
【００３６】
また、送受信部２０１は、設計データサーバ３０に対し、設計データ送信要求を送信し、設計データサーバ３０から、暗号化設計データを受信する。受信した暗号化設計データは、設計データ読出／書込部２０４へ出力される。
（２）設計データ記憶部２０２
設計データ記憶部２０２は、設計データが暗号化されて生成された暗号化設計データを記憶している。設計データとは、暗号処理部２０５の再構成可能部２０８において回路を構成するために必要なデータである。具体的には、再構成可能部２０８における論理回路の形成を示す情報や、各論理回路の配線を示す情報等である。
【００３７】
設計データ記憶部２０２は、具体的には、図４に示すように設計データテーブル３００を用いて、設計データを管理している。
同図に示すように、設計テーブル３００は、複数の設計データ情報３０１、３０２、…３０３、３０４、３０５、…３０６を含み、各設計データ情報は、設計データＩＤ、暗号化設計データ、フラグ、及び使用回数を含む。
【００３８】
例えば、設計データ情報３０１は、設計データＩＤ「Ａ」、暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」、フラグ「０」、及び使用回数「４」を含む。
設計データＩＤ「Ａ」は、設計データ、及び当該設計データが暗号化されて生成された暗号化設計データを一意に識別するための情報である。ここで、本実施形態においては、設計データと暗号化アルゴリズムとが１対１に対応しているものとし、設計データＩＤ「Ａ」は、アルゴリズム特定情報「Ａ」により特定される暗号化アルゴリズムの回路を、再構成可能部２０８において実現するための設計データを識別するための情報である。即ち設計データＩＤ「Ａ」は、先に説明したアルゴリズム特定情報「Ａ」と同じく、ＤＥＳを示す情報である。
【００３９】
同様に、設計データＩＤ「Ｂ」は、暗号化アルゴリズム特定情報「Ｂ」により特定される暗号化アルゴリズムの回路を実現するための設計データを識別するための情報である。また、設計データＩＤ「Ｉ」、「Ｊ」、「Ｋ」、及び「Ｖ」についても同様に、それぞれ、アルゴリズム特定情報「Ｉ」、「Ｊ」、「Ｋ」、及び「Ｖ」により特定される暗号化アルゴリズムの回路を実現するための設計データを識別するための情報である。
【００４０】
暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」は、設計データＩＤ「Ａ」により識別される設計データ「ＡＲＣ＿Ａ」に、固有鍵を暗号鍵として用い、暗号化アルゴリズムＥ１を施して生成されたデータである。暗号化アルゴリズムＥ１の一例はＤＥＳである。
フラグは、「１」又は「０」の何れかに設定される。フラグが「１」に設定されている設計データ情報は、現在の再構成可能部２０８の回路が、当該設計データ情報に含まれる設計データＩＤにより識別される設計データに基づき構成されていることを示す。フラグが「０」に設定されている設計データ情報は、現在の再構成可能部２０８の回路が、当該設計データ情報に含まれる設計データＩＤにより識別される設計データに基づき構成されていないことを示す。
【００４１】
設計データ情報３０２に含まれるフラグは、「１」に設定されていることから、現在、再構成可能部２０８では、設計データＩＤ「Ｂ」により識別される設計データに基づき回路が構成されていることを示している。このとき、設計データ情報３０２以外の他の設計データ情報に含まれるフラグは、全て「０」である。
使用回数は、設計データが、再構成可能部２０８において回路として構成され、暗号化コンテンツの復号処理に使用された回数を示している。
【００４２】
設計データ情報３０１の使用回数は「４」であるから、再構成可能部２０８は、設計データＩＤが「Ａ」である設計データに基づき回路を構成し、４個の暗号化コンテンツの復号を行ったことを示している。なお、本実施形態においては、例えば、設計データＩＤが「Ａ」である設計データに基づき、再構成可能部２０８において回路が構成され、その後、複数回続けて、当該回路を用いた復号処理が行われた場合には、その複数回の復号処理をカウントし、使用回数とする。
【００４３】
（３）判定部２０３
判定部２０３は、以下の（Ａ）、及び（Ｂ）の二つの判定を行う機能を有する。
（Ａ）送受信部２０１からアルゴリズム特定情報を受け取ると、受け取ったアルゴリズム特定情報により特定される暗号化アルゴリズムの設計データを、設計データテーブル３００に保持しているか否かを判定する。
【００４４】
具体的には、受け取ったアルゴリズム特定情報と一致する設計データＩＤが設計データテーブル３００に記憶されているか否かを判断し、一致する設計データＩＤが存在する場合には、設計データを保持しており、一致する設計データＩＤが存在しない場合には、設計データを保持していないと判定する。
（Ｂ）送受信部２０１からアルゴリズム特定情報を受け取ると、受け取ったアルゴリズム特定情報により特定される暗号化アルゴリズムの設計データが、現在、再構成可能部２０８において回路構成がなされているか否かを判定する。
【００４５】
具体的には、アルゴリズム特定情報と一致する設計データＩＤを含む設計データ情報の、フラグを読む。フラグが「１」である場合には、現在、当該設計データが、現在、再構成可能部２０８において回路構成が実現していると判定し、フラグが「０」である場合には、回路構成が実現されていないと判定する。
上記（Ａ）及び（Ｂ）の判定結果がともに否定的である場合に、判定部２０３は、送受信部２０１及びネットワーク４０を介して、設計データサーバ３０に対し、設計データＩＤを含む設計データ送信要求を送信する。
【００４６】
判定部２０３は、設計データは保持しているが、回路構成が実現されていないと判定した場合には、設計データ読出／書込部２０４に対し、当該設計データに基づく回路構成を指示する。
（４）設計データ読出／書込部２０４
設計データ読出／書込部２０４は、判定部２０３からの指示を受け、設計データテーブル３００から設計データを読み出して、復号部２０７へ出力する。
【００４７】
また、送受信部２０１、ネットワーク４０を介して、設計データサーバ３０から、新しい設計データを受け取った場合には、受け取った設計データを、復号部２０７へ出力する。
更に、設計データ読出／書込部２０４は、設計データテーブルの更新処理を行う。具体的には、設計データテーブルに含まれる設計データ情報の更新処理と、設計データテーブル自体の更新処理である。設計データ読出／書込部２０４は、設計データ情報の更新処理として、フラグの設定と、使用回数の更新とを行い、設計データテーブルの更新処理として、設計データサーバ３０から受け取った新しい設計データについての設計データ情報の生成、及び生成した設計データ情報の、設計データテーブルへの追加を行う。
【００４８】
ここで、設計データ情報の追加処理について具体的に説明する。設計データ読出／書込部２０４は、設計データ記憶部２０２の最大記憶容量に基づき予め設定されているデータサイズ閾値を保持している。そして、設計データ読出／書込部２０４は、現在、設計データ記憶部２０２に記憶されている設計データテーブルのデータサイズと、データサイズ閾値とを比較する。設計データテーブルのデータサイズが、データサイズ閾値より大きい場合には、先ず、設計データテーブルから、使用回数の最も少ない設計データ情報を削除した後に、新たに生成した設計データ情報を追加する。設計データテーブルのデータサイズが。データサイズ閾値以下である場合には、設計データ情報を削除することなく、新たに生成した設計データ情報をそのまま設計データテーブルに追加する。
【００４９】
具体例として、設計データ記憶部２０２が図４に示した設計データテーブル３００を記憶している状態における更新処理について説明する。
設計データ読出／書込部２０４は、設計データサーバ３０から、設計データＩＤ「Ｗ」により識別される暗号化設計データを受信し、当該暗号化設計データに係る設計データ情報３０７を生成する。設計データ読出／書込部２０４は、設計データテーブル３００のデータサイズとデータサイズ閾値とを比較し、設計データテーブル３００のデータサイズが、データサイズ閾値より大きい場合、設計データテーブル３００に含まれる全ての設計データ情報の使用回数欄を参照し、最も使用回数の少ない設計データＩＤ「Ｊ」を有する設計データ情報３０４を設計データテーブル３００から削除する。その後、設計データ読出／書込部２０４は、新たに生成した設計データ情報３０７を、設計データテーブルに追加して、図５に示す新たな設計データテーブル３００ａが生成される。
【００５０】
（５）暗号処理部２０５
暗号処理部２０５は、図３に示したように、固有鍵記憶部２０６、復号部２０７、再構成可能部２０８、及びコンテンツ鍵記憶部２０９から構成され、暗号化設計データの復号、暗号化コンテンツの復号等の機能を有する。
（ａ）固有鍵記憶部２０６は、暗号化設計データの復号に用いられる鍵情報である固有鍵を記憶している。
【００５１】
（ｂ）復号部２０７は、設計データ読出／書込部２０４から、暗号化設計データを受け取ると、固有鍵記憶部２０６から固有鍵を読み出し、読み出した固有鍵を復号鍵として用い、復号アルゴリズムＤ１を施し、設計データを復号する。ここで、復号アルゴリズムＤ１は、暗号化アルゴリズムＥ１により暗号化された暗号文を平文に変換するためのアルゴリズムであり、その一例はＤＥＳである。復号部２０７は、復号した設計データを再構成可能部２０８へ出力する。
【００５２】
なお、復号部２０７の機能は、ハードウェアで実現してもよいし、ソフトウェアで実現してもよい。
（ｃ）再構成可能部２０８は、具体的には、組合せ回路や順序回路を実現できる複数の論理回路ブロックと、論理回路ブロック間の配線部分から成る。論理回路ブロックは、ルックアップテーブルとフリップフロップとを含む回路ユニットであり、ルックアップテーブルの設定値を変えることで、所望の論理回路を実現する。また、配線部分には、トランジスタスイッチ等が配され、配線経路が自由に設定可能となっている。なお、本実施形態においては、再構成可能部２０８は、設計データ読出／書込部２０４から受け取る設計データを記憶しておくＲＯＭを含むものとする。
【００５３】
再構成可能部２０８は、復号部２０７から設計データを受け取り、受け取った設計データをＲＯＭに記憶する。再構成可能部２０８は、ＲＯＭに記憶された設計データに基づき、論理回路ブロック及び配線部分を制御して、回路を構成する。本実施形態では、再構成可能部２０８で構成される回路は、暗号化コンテンツを復号するための回路であり、再構成可能部２０８は、送受信部２０１から受け取った暗号化コンテンツに対応するコンテンツ鍵を、コンテンツ鍵記憶部２０９から読み出し、読み出したコンテンツ鍵を復号鍵として用い、コンテンツを復号する。再構成可能部２０８は、復号したコンテンツを、再生制御部２１０へ出力する。
【００５４】
（ｄ）コンテンツ鍵記憶部２０９は、暗号化コンテンツの復号に用いられる復号鍵であるコンテンツ鍵を記憶している。
具体的には、コンテンツ鍵記憶部２０９は、図６に示すコンテンツ鍵テーブル３５０を記憶している。コンテンツ鍵テーブル３５０は、複数のコンテンツ鍵情報を含み、各コンテンツ鍵情報は、コンテンツＩＤとコンテンツ鍵のデータとを対応付けて構成される。例えば、コンテンツ鍵情報３５１は、コンテンツＩＤ「０００３」とコンテンツ鍵「ＫＣＮＴ＿０００３」とから構成されるが、これは、コンテンツＩＤ「０００３」により識別される暗号化コンテンツを復号するためのコンテンツ鍵が「ＫＣＮＴ＿０００３」であることを示している。  
【００５５】
コンテンツ鍵テーブル３５０は、コンテンツサーバ１０から、安全且つ確実な方法により、コンテンツ利用装置２０に送信されたものとする。なお、本実施形態において、コンテンツ利用装置２０が、このように予め複数のコンテンツ鍵を保持している構成は必須ではなく、暗号化コンテンツと共に、コンテンツサーバ１０からその都度受信しても良い。
（６）再生制御部２１０
再生制御部２１０は、再構成可能部２０８から、復号されたコンテンツを受け取り、受け取ったコンテンツを再生可能な情報に変換する。具体的には、再生制御部２１０は、ビデオバッファ、オーディオバッファ、ＭＰＥＧ−２ビデオデコーダ、ＭＰＥＧ−２オーディオデコーダ等から構成され、受け取ったコンテンツから、映像信号と音声信号とを生成する。再生制御部２１０は、生成した映像信号と音声信号とを、ＴＶ２１へ出力する。
【００５６】
３．設計データサーバ３０
設計データサーバ３０は、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット等から構成されるコンピュータシステムである。ＲＡＭ又はハードディスクユニットには、コンピュータプログラムが記憶されており、マイクロプログラムがコンピュータプログラムを実行することにより、設計データサーバ３０は、その機能を達成する。
【００５７】
設計データサーバ３０は、図７に示す設計データテーブル４００にて、複数の暗号化設計データを管理している。
図７に示すように、設計データテーブル４００は、複数の設計データ情報４０１、４０２、…、４０３、…を含み、各設計データ情報は、アルゴリズム特定情報と暗号化設計データとを対応付けて構成される。
【００５８】
暗号化設計データは、設計データに固有鍵を鍵情報として用い、暗号化アルゴリズムＥ１を施して生成された暗号化データである。例えば、設計データ情報４０１に含まれる暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ａ」は、設計データ「ＡＲＣ＿Ａ」を暗号化して生成されたデータであり、設計データ情報４０３に含まれる暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｗ」は、設計データ「ＡＲＣ＿Ｗ」を暗号化して生成されたデータである。本実施形態における設計データは、先に述べたように、コンテンツ利用装置２０の再構成可能部２０８において、暗号化コンテンツを復号するための復号回路を構成するために必要なデータである。
【００５９】
アルゴリズム特定情報は、対応付けられている設計データに基づき、再構成可能部２０８にて構成される回路によって実現されるアルゴリズムを示している。具体的には、設計データ情報４０１に含まれるアルゴリズム特定情報「Ａ」は、設計データ「ＡＲＣ＿Ａ」に基づき構成される回路のアルゴリズムを特定するための情報である。ここで、アルゴリズム特定情報「Ａ」が、具体例としてＤＥＳを示す情報であるとすると、設計データ「ＡＲＣ＿Ａ」は、コンテンツ利用装置２０の再構成可能部２０８において、ＤＥＳの復号回路を構成するために必要なデータである。
【００６０】
設計データサーバ３０は、コンテンツ利用装置２０から、アルゴリズム特定情報を含む設計データ送信要求を受信すると、受信したアルゴリズム特定情報に対応する暗号化設計データを設計データテーブル４００から読み出して、読み出した暗号化設計データを、コンテンツ利用装置２０へ送信する。
例えば、設計データサーバ３０は、コンテンツ利用装置２０からアルゴリズム特定情報「Ｗ」を含む設計データ送信要求を受信すると、設計データテーブル４００から、設計データ情報４０３を読み出し、更に、設計データ情報４０３から暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｗ」を読み出して、コンテンツ利用装置２０へ送信する。
【００６１】
なお、設計データテーブル４００に記憶されている各暗号化設計データは、同一の固有鍵を用いて暗号化されているものとし、暗号化に用いた固有鍵は、コンテンツ利用装置２０へ、安全且つ確実な方法により送信されているものとする。
＜動作＞
ここでは、図８から図１０のフローチャートを用いて、アルゴリズム更新システム１の動作について説明する。
【００６２】
１．システム全体の動作
図８及び図９は、アルゴリズム更新システム１全体の動作を示すフローチャートである。
先ず、コンテンツ利用装置２０において、コンテンツ要求が発生する（ステップＳ１０１）。コンテンツ要求は、例えば、ユーザが視聴したコンテンツのコンテンツＩＤを、図示していない入力手段を用いて、コンテンツ利用装置２０に入力すること等により発生する。
【００６３】
コンテンツ利用装置２０の送受信部２０１は、コンテンツＩＤを含むコンテンツ送信要求を、ネットワーク４０を介してコンテンツサーバ１０へ送信し、コンテンツサーバ１０は、コンテンツ送信要求を受信する（ステップＳ１０２）。
コンテンツサーバ１０は、受信したコンテンツ送信要求に含まれるコンテンツＩＤと一致するコンテンツＩＤを有するコンテンツ情報を、コンテンツテーブル１００から読み出す。次に、コンテンツサーバ１０は、読み出したコンテンツ情報から、アルゴリズム特定情報と暗号化コンテンツとを読み出す（ステップＳ１０３）。例えば、コンテンツサーバ１０がステップＳ１０２でコンテンツＩＤ「０００３」を含むコンテンツ送信要求を受信した場合、コンテンツサーバ１０は、コンテンツテーブル１００からコンテンツ情報１０３を読み出し、読み出したコンテンツ情報１０３から、アルゴリズム特定情報「Ｗ」と暗号化コンテンツ「Ｅｎｃ＿ＣＮＴ＿０００３」とを読み出す。
【００６４】
コンテンツサーバ１０は、読み出したアルゴリズム特定情報と暗号化コンテンツとをコンテンツ利用装置２０へ送信し、コンテンツ利用装置２０の送受信部２０１は、ネットワーク４０を介して、アルゴリズム特定情報と暗号化コンテンツとを受信する（ステップＳ１０４）。送受信部２０１は、受信した暗号化コンテンツを、当該暗号化コンテンツのコンテンツＩＤと共に再構成可能部２０８へ出力し、受信したアルゴリズム特定情報を、判定部２０３へ出力する。
【００６５】
次に、判定部２０３は、ステップＳ１０４で受信したアルゴリズム特定情報により特定される暗号化アルゴリズムの回路が、現在、再構成可能部２０８において構成されているか否かを判定する（ステップＳ１０５）。
具体的には、判定部２０３は、設計データテーブルに含まれる複数の設計データ情報のフラグ欄を読み、フラグが「１」に設定されている設計データの設計データＩＤを読み出す。判定部２０３は、設計データテーブルから読み出した設計データＩＤが、ステップＳ１０４で受信したアルゴリズム特定情報に一致するか否かを判断する。
【００６６】
一致する場合には、判定部２０３は、所望の回路が、現在、再構成可能部２０８において構成されていると判定し、一致しない場合、又は設計データテーブルから設計データＩＤが読み出せなかった場合には、所望の回路が、現在、再構成可能部２０８において構成されていないと判定する。
具体例として、ステップＳ１０４で受信したアルゴリズム特定情報が「Ａ」であり、設計データ記憶部２０２が、図４に示した設計データテーブル３００を記憶している場合、フラグが「１」に設定されている設計データ情報は、設計データＩＤ「Ｂ」を含む設計データ情報３０２であるから、設計データＩＤ「Ｂ」と設計データＩＤ「Ａ」とは一致せず、判定部２０３は、現在、再構成可能部２０８において、当該設計データに基づく回路が構成されていないと判定する。一方、ステップＳ１０４で受信したアルゴリズム特定情報が「Ｂ」の場合、判定部２０３は、現在、再構成可能部２０８において、当該設計データに基づく回路が構成されていると判定する。
【００６７】
ステップＳ１０５の判定の結果、再構成可能部２０８で回路が構成されていると判定された場合（ステップＳ１０５でＹＥＳ）、ステップＳ２０２へ進み、処理を続ける。
ステップＳ１０５の判定の結果、再構成可能部２０８で回路が構成されていないと判定された場合（ステップＳ１０５でＮＯ）、判定部２０３は、ステップＳ１０４で受信したアルゴリズム特定情報により特定されるアルゴリズムの設計データを、設計データ記憶部２０２に保持しているか否かを判定する（ステップＳ１０６）。具体的には、ステップＳ１０４で受信したアルゴリズム特定情報と一致する設計データＩＤが設計データテーブルに存在するか否かを判断することにより判定を行う。
【００６８】
具体例として、設計データ記憶部２０２が、図４に示した設計データテーブル３００を記憶しており、判定部２０３が、アルゴリズム特定情報「Ｗ」を受信した場合について考える。判定部２０３は、設計データテーブル３００に含まれる全ての設計データ情報の設計データＩＤ欄を読み、アルゴリズム特定情報「Ｗ」に一致する設計データＩＤが存在するか否かを判断する。設計データＩＤ「Ｗ」が存在する場合は、設計データを保持していると判定し、設計データＩＤ「Ｗ」が存在しない場合は、設計データを保持していないと判定する。
【００６９】
ステップＳ１０６において、ステップＳ１０４で受信したアルゴリズム特定情報により特定される設計データを保持している場合（ステップＳ１０６でＹＥＳ）、設計データ読出／書込部２０４は、設計データ記憶部２０２から、暗号化設計データを読み出し（ステップＳ１２２）、読み出した暗号化設計データを復号部２０７へ出力する。その後、ステップＳ１２３へ進み、処理を続ける。
【００７０】
ステップＳ１０６において、ステップＳ１０４で受信したアルゴリズム特定情報により特定される設計データを保持していない場合（ステップＳ１０６でＮＯ）、判定部２０３は、ステップＳ１０４で受信したアルゴリズム特定情報を含む設計データ要求を生成する（ステップＳ１０７）。判定部２０３は、送受信部２０１及びネットワーク４０を介して、アルゴリズム特定情報を含む設計データ要求を、設計データサーバ３０へ送信し、設計データサーバ３０は、設計データ要求を受信する（ステップＳ１０８）。
【００７１】
設計データサーバ３０は、ステップＳ１０８で受信した設計データ要求に含まれるアルゴリズム特定情報と一致するアルゴリズム特定情報を有する設計データ情報を、設計データテーブル４００から読み出す。次に、設計データサーバ３０は、読み出した設計データ情報から、暗号化設計データを読み出す（ステップＳ１０９）。ここで、具体例として、設計データサーバ３０が、ステップＳ１０８でアルゴリズム特定情報「Ｗ」を受信した場合、設計データサーバ３０は、図７に示した設計データテーブル４００から、アルゴリズム特定情報「Ｗ」を含む設計データ情報４０３を読み出し、次に、設計データ情報４０３から、暗号化設計データ「Ｅｎｃ＿ＡＲＣ＿Ｗ」を読み出す。
【００７２】
設計データサーバ３０は、読み出した暗号化設計データを、ネットワーク４０を介してコンテンツ利用装置２０へ送信し、コンテンツ利用装置２０の送受信部２０１は、暗号化設計データを受信する（ステップＳ１１０）。送受信部２０１は、受信した暗号化設計データを、設計データ読出／書込部２０４へ出力する。
次に、設計データ読出／書込部２０４は、ステップＳ１１０で受信した暗号化設計データに係る設計データ情報を生成する（ステップＳ１１１）。具体的には、設計データＩＤ、暗号化設計データ、フラグ、使用回数を含む1レコードの情報を生成し、その後、ステップＳ１２３へ続く。ここで、設計データＩＤ欄には、ステップＳ１０４で受信したアルゴリズム特定情報を書き込み、暗号化設計データ欄には、ステップＳ１１０で受信した暗号化設計データを書き込む。また、この時点では、フラグは「０」に設定し、使用回数欄には「０」を書き込む。
【００７３】
次に、設計データ読出／書込部２０４は、暗号化設計データを、復号部２０７へ出力する。
復号部２０７は、設計データ読出／書込部２０４から暗号化設計データを受け取ると、固有鍵記憶部２０６から固有鍵を読み出す。復号部２０７は、固有鍵を復号鍵として用い、暗号化設計データに、復号アルゴリズムＤ１を施すことにより、設計データを復号する（ステップＳ１２３）。復号部２０７は、復号された設計データを、再構成可能部２０８へ出力する。
【００７４】
続いて、再構成可能部２０８は、復号部２０７から受け取った設計データに基づき、回路を再構成する（ステップＳ２０１）。
次に、設計データ読出／書込部２０４において、設計データテーブルの更新処理を行う（ステップＳ２０２）。
次に、再構成可能部２０８は、送受信部２０１から受け取ったコンテンツＩＤに対応するコンテンツ鍵を、コンテンツ鍵記憶部２０９のコンテンツ鍵テーブル３５０から読み出す。具体例として、再構成可能部２０８が、コンテンツＩＤ「０００３」を受け取った場合には、コンテンツ鍵テーブル３５０のコンテンツ鍵情報３５１から、コンテンツ鍵ＫＣＮＴ＿０００３を読み出す。
【００７５】
再構成可能部２０８は、読み出したコンテンツ鍵を復号鍵として用い、コンテンツを復号する（ステップＳ２０３）。再構成可能部２０８は、復号したコンテンツを、再生制御部２１０へ出力する。
続いて、再生制御部２１０は、ＭＰＥＧ−２規格に従い圧縮符号化されているコンテンツをデコードし（ステップＳ２０４）、映像信号と音声信号とを生成する。再生制御部２１０は、生成した映像信号と音声信号とをＴＶ２１へ出力し（ステップＳ２０５）、ＴＶ２１は受け取った映像信号と音声信号とを再生する（ステップＳ２０６）。
【００７６】
なお、ステップＳ２０２、ステップＳ２０３、及びステップＳ２０４は、この順序で処理が行われるのではなく、それぞれのステップの処理が並行して行われてもよい。
２．設計データテーブル更新処理の動作
図１０は、設計データテーブル更新処理の動作を示すフローチャートである。なお、ここに示す動作は、図９のステップＳ２０２の詳細である。
【００７７】
設計データ読出／書込部２０４は、設計データ記憶部２０２に記憶されている設計データテーブルのデータサイズを取得する（ステップＳ３０１）。次に、設計データ読出／書込部２０４は、ステップＳ３０１で取得したデータサイズと、予め内部に記憶しているデータサイズ閾値とを比較する。設計データテーブルのデータサイズがデータサイズ閾値以下の場合（ステップＳ３０２でＮＯ）、ステップＳ３０５へ進む。設計データテーブルのデータサイズがデータサイズ閾値より大きい場合（ステップＳ３０２でＹＥＳ）、設計データ読出／書込部２０４は、設計データテーブルに含まれる全ての設計データ情報の使用回数フィールドを読み、最も使用回数の少ない設計データ情報を選択する（ステップＳ３０３）。
【００７８】
設計データ読出／書込部２０４は、ステップＳ３０３で選択した設計データ情報を、設計データテーブルから削除する（ステップＳ３０４）。
次に、設計データ読出／着込み部２０４は、図８のステップＳ１１０で生成した設計データ情報を、設計データテーブルに追加して書き込む（ステップＳ３０５）。
続いて、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報のフラグを「１」に設定し（ステップＳ３０６）、その他の設計データ情報のフラグを「０」に設定する。次に、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報の使用回数を、インクリメントし（ステップＳ３０７）、設計データ読出／書込部２０４は処理を終了する。
【００７９】
＜変形例＞
本発明を上記の実施形態に基づき説明してきたが、本発明は、上記の実施形態に限定されないのは勿論であり、以下のように実施した場合であっても本発明に含まれる。
（１）上記の実施形態では、設計データ情報に、使用回数を示すフィールドを設け、設計データが、再構成可能部２０８におけるコンテンツ復号処理に使用された回数を管理する構成を有する。そして、設計データ情報に含まれる使用回数が最も少ない設計データ情報から、優先的に削除するように構成されているが、本発明における設計データ情報は、使用回数を示すフィールドを有していなくてもよい。
【００８０】
例えば、設計データ記憶部２０２は、図１１に示す設計データテーブル５００を記憶していてもよい。設計データテーブル５００は、複数の設計データ情報を含み、各設計データ情報は、設計データＩＤ、暗号化設計データ、及びフラグを含む。図４に示した設計データテーブル３００との相違は、設計データ情報が使用回数のフィールドを含まない点である。
【００８１】
このような使用回数を含まない設計データテーブルを記憶している場合、設計データ読出／書込部２０４は、設計データが暗号化コンテンツの復号に使用されると、設計データテーブル５００における設計データ情報の記録位置を、１段上位へ移動させるように構成してもよい。
例えば、設計データＩＤ「Ｂ」により識別される設計データが、暗号化コンテンツの復号に使用されると、設計データ読出／書込部２０４は、設計データ情報５０２の設計データテーブル５００における記録位置を１段上位へ移動させる。その結果、図１２の設計データテーブル５００ａに示すように、設計データＩＤ「Ｉ」を有する設計データ情報５０１の１段上位に、設計データ情報５０２が配置される。
【００８２】
設計データ読出／書込部２０４は、再構成可能部２０８でコンテンツの復号処理が行われる都度、このような設計データ情報の並べ替えを行うことにより、設計データテーブルは、使用回数が最大である設計データ情報が最上位に配され、下位に向かい、使用回数の少ない設計データ情報が配置される構成となる。
設計データテーブルから設計データ情報を削除する場合には、設計データテーブルの最下位から優先的に削除することにより、上記実施形態と同様に、使用回数の少ない設計データ情報を優先的の削除することができる。
【００８３】
また、設計データ情報の並べ替えの変形例として、再構成可能部２０８でコンテンツの復号処理に使用された設計データ情報を、設計データテーブルの最上位に配置するように構成してもよい。この構成により、最近使用された設計データが削除されるのを防止することが可能となる。
図１３は、設計データ情報を並べ替え、設計データテーブルを更新する処理の動作を示すフローチャートである。なお、ここに示す動作は、システム全体における位置づけとしては、図９のステップＳ２０２の詳細に相当する。
【００８４】
設計データ読出／書込部２０４は、設計データ記憶部２０２に記憶されている設計データテーブルのデータサイズを取得する（ステップＳ４０１）。次に、設計データ読出／書込部２０４は、ステップＳ４０１で取得したデータサイズと、予め内部に記憶しているデータサイズ閾値とを比較する。設計データテーブルのデータサイズがデータサイズ閾値以下の場合（ステップＳ４０２でＮＯ）、ステップＳ４０４へ進む。設計データテーブルのデータサイズがデータサイズ閾値より大きい場合（ステップＳ４０２でＹＥＳ）、設計データ読出／書込部２０４は、設計データテーブル内において最下位に位置する設計データ情報を削除する（ステップＳ４０３）。
【００８５】
次に、設計データ読出／着込み部２０４は、図８のステップＳ１１０で生成した設計データ情報を、設計データテーブルに追加して書き込む（ステップＳ４０４）。
続いて、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報のフラグを「１」に設定し（ステップＳ４０５）、その他の設計データ情報のフラグを「０」に設定する。
【００８６】
次に、設計データ読出／書込部２０４は、現在、再構成可能部２０８において、回路が実現されている設計データに係る設計データ情報の、設計データテーブル内における位置を、一段上位へ移動させ（ステップＳ４０６）、設計データ読出／書込部２０４は処理を終了する。
なお、ステップＳ４０３では、最下位に位置する設計データ情報を削除しているが、設計データ情報を削除する際には、一度に所定数の設計データ情報を削除するように構成してもよい。これは、例えば、設計データテーブルのデータサイズに応じて、削除する設計データ情報の数を決定するように構成してもよい。また、これは、設計データ情報が使用回数のフィールドを含む実施形態においても、同様である。
【００８７】
（２）本発明における設計データは、その使用回数に応じて、格納する記憶領域を変更するように構成してもよい。
例えば、本発明におけるコンテンツ利用装置は、設計データの記憶領域として、読出速度が高速であるＥＥＰＲＯＭと、読出速度が低速であるＨＤＤとを備えるように構成してもよい。そして、使用回数が多い設計データ情報を読出速度が高速であるＥＥＰＲＯＭに格納し、使用回数が少ない設計データ情報をＨＤＤへ格納するように構成してもよい。
【００８８】
図１４は、上記のような構成を有するコンテンツ利用装置の設計データ記憶部が格納している設計データテーブル６００のデータ構成を示す図である。同図に示すように設計データテーブル６００は、複数の設計データ情報６０１、６０２、…、６０３、６０４、…、６０５、及び６０６を含む。
各設計データ情報は、設計データＩＤ、暗号化設計データ、フラグ、使用回数、及び格納領域とを含む。上記の実施形態との相違点は、格納領域のフィールドを備える点である。例えば、設計データテーブル６００では、使用回数が１及び２の何れかである場合には、設計データはＨＤＤに格納されており、使用回数が３以上である場合には、設計データはＥＥＰＲＯＭに格納されている。
【００８９】
また、設計データ読出／書込部は、設計データの使用回数に応じて、設計データの格納場所を変更するように構成してもよい。これにより、今後も使用される可能性の高い設計データを読出速度が高速であるＥＥＰＲＯＭに格納しておき、使用される可能性の低い設計データを読出速度が低速であるＨＤＤに格納することができる。
（３）上記の実施形態における暗号処理部２０５は、暗号化設計データの復号処理と暗号化コンテンツの復号処理とを行う構成を有するが、本発明のコンテンツ利用装置は、復号処理に限定されず、暗号化処理を行う場合も本発明に含まれる。
【００９０】
更には、本発明は、暗号化処理／復号処理を行うコンテンツ利用装置に限定されず、コンテンツの符号化処理／逆符号化処理等を行う場合にも適用できる。この場合、コンテンツ利用装置は、複数の符号化アルゴリズムに対応する回路を実現するための複数個の設計データを保持しており、要求された符号化アルゴリズムに対応する設計データを内部に保持している場合には、内部に保持する設計データに基づき、再構成可能部において回路を再構成し、要求された符号化アルゴリズムに対応する設計データを内部に保持していない場合には、外部の設計データサーバから、所望の設計データを取得し、取得した設計データに基づき、再構成可能部において回路を再構成するように構成してもよい。
【００９１】
（４）上記の実施形態では、コンテンツ利用装置２０と設計データサーバ３０とはネットワーク４０を介して接続されており、コンテンツ利用装置２０は、ネットワーク４０を介した通信により、設計データサーバ３０から設計データを取得する構成を有するが、本発明において、コンテンツ利用装置２０は、ネットワーク経由で設計データを取得する構成は必須ではない。例えば、コンテンツ利用装置２０は、記録媒体との間で情報の入出力を行う媒体入出力手段を備え、媒体入出力手段を介して、設計データが記憶されている記録媒体に直接アクセスし、当該記録媒体から設計データを取得する構成であっても本発明に含まれる。
【００９２】
また、上記の実施形態では、コンテンツ利用装置２０とコンテンツサーバ１０とは、ネットワーク４０を介して接続されており、コンテンツ利用装置２０は、ネットワーク４０を介した通信により、コンテンツサーバ１０からアルゴリズム特定情報と暗号化コンテンツとを取得する構成を有するが、本発明において、コンテンツ利用装置２０は、ネットワーク経由でアルゴリズム特定情報と暗号化コンテンツとを取得する構成は必須ではない。上述のように、コンテンツ利用装置２０は、媒体入出力手段を備え、媒体入出力手段を介して、記録媒体から、アルゴリズム特定情報と暗号化コンテンツとを取得する構成であっても本発明に含まれる。
【００９３】
更には、アルゴリズム特定情報及び暗号化コンテンツの内、何れかをネットワーク４０経由で取得し、何れかを記録媒体から取得するように構成してもよい。
（５）上記の実施形態では、コンテンツ鍵記憶部２０９が保持する複数個のコンテンツ鍵は、コンテンツ毎に異なる鍵である構成を有するが、本発明においては、コンテンツ毎の異なる鍵である構成は必須ではない。
【００９４】
また、上記の実施形態では、固有鍵記憶部２０６が保持する固有鍵とコンテンツ鍵記憶部２０９が保持するコンテンツ鍵とは、別のデータである構成としているが、本発明はその構成に限定されるものではない。例えば、固有鍵とコンテンツ鍵は同一の鍵であってもよい。更には、コンテンツ鍵は静的な鍵データではなく、動的に算出され、コンテンツ鍵記憶部２０９においてテンポラリーに記憶される構成であってもよい。同様に、暗号化設計データを復号する固有鍵も固有である必要はなく、複数機器で共有する鍵であってもよく、さらには、鍵データが変化、あるいは更新される構成であってもよい。
【００９５】
（６）上記の実施形態では、コンテンツ利用装置２０は、アルゴリズム特定情報が示す設計データを保持していない場合、ネットワーク４０を介して、設計データを入手する構成としたが、本発明はこの構成に限定されるものではない。例えば、コンテンツ利用装置２０は、通知手段を備え、利用者に対して、当該設計データを保持していない旨を通知するように構成してもよい。そして、利用者から、設計データ入手の指示を受け付ける構成であってもよい。
【００９６】
（７）上記の実施形態では、設計データ記憶部２０２に記憶されている設計データテーブルでは、再構成可能部２０８で回路を構成するための設計データを記憶する構成としたが、本発明はその構成に限定されず、例えば、復号部２０７で実現されている暗号化アルゴリズムも同一の設計データテーブルで管理するように構成してもよい。そして、復号部２０７の機能を暗号化コンテンツの復号処理に用いるように構成してもよい。
【００９７】
この構成によれば、例えば、復号部２０７で実現されている暗号化アルゴリズムがＤＥＳであり、暗号化コンテンツの復号に必要な復号回路のアルゴリズムがＤＥＳである場合には、再構成可能部２０８で改めてＤＥＳの復号回路を再構成する必要が無く、復号部２０７で暗号化コンテンツを復号することが可能となる。
（８）上記の実施形態では、コンテンツサーバ１０から受信するアルゴリズム特定情報に基づいて、暗号化コンテンツを復号するためのアルゴリズムを特定する構成としたが、本発明はその構成に限定されるものではない。
例えば、コンテンツ利用装置２０が複数の供給元から、暗号化コンテンツを入手する場合、暗号化コンテンツの入手先（暗号化コンテンツの供給元）に応じて、使用する暗号アルゴリズムが予め決まっているように構成してもよい。
【００９８】
（９）上記の実施形態では、設計データテーブルを更新する場合、使用回数に応じて設計データ情報を削除する構成としたが、本発明はその構成に限定されるものではない。例えば、設計データ記憶部２０２の容量不足により設計データを削除しなければいけない場合、要領不足の解消に最も効率のよい設計データを１つ以上削除する構成であってもよい。具体的には、３０ＫＢの設計データを追加したい場合、１００ＫＢの設計データを削除する代わりに、１０ＫＢの設計データと２０ＫＢの設計データとを削除する構成であってもよい。
【００９９】
（１０）上記の実施形態では、設計データテーブルを更新する場合、設計データテーブルの最下位に位置する設計データ情報を削除する構成としたが、本発明はその構成に限定されるものではない。例えば、定期的に設計データテーブルを参照して、予め定められた数の設計データ情報を最下位から順に削除していく構成であってもよい。
（１１）本発明の実施の形態では、設計データ読出／書込部２０４は、設計データ記憶部２０２の容量が不足した場合（具体的には、設計データテーブルのデータサイズがデータサイズ閾値より大きい場合）、設計データを削除する構成としたが、本発明はその構成に限定されるものではない。例えば、設計データが暗号処理を実現する機能であり、安全性が低下したことが判明した場合、外部からの指示に従い、当該設計データを削除する構成であってもよい。この場合、再構成可能部２０８において、当該設計データに基づく回路が構成されている場合には、設計データと共にその回路も削除する構成であってもよい。また、安全性の低下のみならず、外部からの設計データの削除要求に従い、設計データ、あるいは再構成可能部２０８の回路を削除する構成であってもよい。
【０１００】
（１２）上記の実施形態は、再構成可能部で回路が実現されている設計データは１つである場合についてのみ記載しているが、本発明において、この構成は必須ではなく、２つ以上の設計データに基づき、回路が実現されている場合も本発明に含まれる。具体例として、再構成可能部において設計データＩＤ「Ｂ」により識別される設計データと、設計データＩＤ「Ｋ」により識別される設計データとに基づき回路が構成されている場合に、設計データ記憶部が記憶する設計データテーブルでは、設計データＩＤ「Ｂ」を有する設計データ情報と、設計データＩＤ「Ｋ」を有する設計データ情報とのフラグ欄に、「１」が設定される。その他の設計データ情報のフラグ欄には「０」が設定されるように構成してもよい。
【０１０１】
（１３）請求項に記載の「使用頻度」の一例として、上記実施の形態では、設計データを基に再構成可能部２０８において構成された回路が、暗号化コンテンツの復号処理に使用された使用回数を挙げているがこれに限定されるものではない。
他の例として、設計データが再構成可能部２０８にロードされたロード回数でもよい。具体的には、設計データテーブル３００を構成する各設計データ情報は、使用回数に代わり、ロード回数を含んでいる。設計データ読出／書込部２０４は、設計データ記憶部２０２から暗号化設計データを読み出す度に、読み出した暗号化設計データと対応する使用回数に１加算する。
【０１０２】
（１４）本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
【０１０３】
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
【０１０４】
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
（１５）また本発明は、上記実施形態におけるコンテンツサーバ１０、コンテンツ利用装置２０、及び設計データサーバ３０の機能ブロックの一部又は全てが集積回路であるＬＳＩとして実現される場合も本発明に含まれる。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１０５】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路で実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（FieldProgrammable Gate Array）やＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応などが可能性として有り得る。
【０１０６】
（１６）前記実施形態及び前記変形例をそれぞれ組み合わせた構成も、本発明に含まれる。
【産業上の利用可能性】
【０１０７】
本発明は、コンテンツを利用者に提供する産業や、前記コンテンツを利用することができる機器を生産し、販売する産業において、経営的、継続的、且つ反復的に利用することができる。
【図面の簡単な説明】
【０１０８】
【図１】アルゴリズム更新システム１の構成を示すシステム構成図である。
【図２】コンテンツサーバ１０に記憶されているコンテンツテーブル１００のデータ構成を示す図である。
【図３】コンテンツ利用装置２０の構成を機能的に示す機能ブロック図である。
【図４】コンテンツ利用装置２０の設計データ記憶部２０２に記憶されている設計データテーブル３００のデータ構成を示す図である。
【図５】設計データテーブル３００ａのデータ構成を示す図である。
【図６】コンテンツ利用装置２０のコンテンツ鍵記憶部２０９に記憶されているコンテンツ鍵テーブル３５０のデータ構成を示す図である。
【図７】設計データサーバ３０に記憶されている設計データテーブル４００のデータ構成を示す図である。
【図８】アルゴリズム更新システム１全体の動作を示すフローチャートであり、図９に続く。
【図９】アルゴリズム更新システム１全体の動作を示すフローチャートであり、図８から続く。
【図１０】コンテンツ利用装置２０の設計データ読出／書込部２０４による、設計データテーブル更新処理の動作を示すフローチャートである。
【図１１】設計データテーブル３００の変形例である設計データテーブル５００のデータ構成を示す図である。
【図１２】設計データテーブル３００の変形例である設計データテーブル５００ａのデータ構成を示す図である。
【図１３】設計データテーブル更新処理の変形例の動作を示すフローチャートである。
【図１４】設計データテーブル３００の変形例である設計データテーブル６００のデータ構成を示す図である。
【符号の説明】
【０１０９】
１    アルゴリズム更新システム
１０    コンテンツサーバ
２０    コンテンツ利用装置
２１    ＴＶ
３０    設計データサーバ
４０    ネットワーク
２０１    送受信部
２０２    設計データ記憶部
２０３    判定部
２０４    設計データ読出／書込部
２０５    暗号処理部
２０６    固有鍵記憶部
２０７    復号部
２０８    再構成可能部
２０９    コンテンツ鍵記憶部
２１０    再生制御部
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2006115212.tif 000016
【図２】
2006115212.tif 000017
【図３】
2006115212.tif 000018
【図４】
2006115212.tif 000019
【図５】
2006115212.tif 000020
【図６】
2006115212.tif 000021
【図７】
2006115212.tif 000022
【図８】
2006115212.tif 000023
【図９】
2006115212.tif 000024
【図１０】
2006115212.tif 000025
【図１１】
2006115212.tif 000026
【図１２】
2006115212.tif 000027
【図１３】
2006115212.tif 000028
【図１４】
2006115212.tif 000029
【国際調査報告】
2006115212.tif 000030
2006115212.tif 000031
2006115212.tif 000032
2006115212.tif 000033