(57)【要約】【課題】  異なるデバイス間のデータ転送を伴うコンテンツ利用における不正処理を効果的に防止する構成を提供する。【解決手段】  デバイス間における相互認証に適用する公開鍵証明書の有効性判断のため認定デバイスグループ証明書を用い、認定デバイスグループ証明書の新旧判定に、登録デバイス数、あるいは無効（リボーク）デバイス数などを登録データとして設定したデバイス数データ証明書（ＡＩＣ）を適用する構成とし、登録デバイス数が多いもの、あるいは無効デバイス数の多いものを新しいとみなすなど、登録情報の登録または無効デバイス数の変化状況に基づいて認定デバイスグループ証明書の最新性を判定し、新しい認定デバイスグループ証明書を適用してデバイスの公開鍵証明書の有効性を判定し相互認証を実行する。【選択図】  図１９
2005352522.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であり、
デバイス間の通信を実行する通信インタフェースと、
デバイスの認証処理を実行するデータ処理部とを有し、
前記データ処理部は、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データに基づいて、認定デバイス証明書の新旧判定を実行し、該新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行する構成を有することを特徴とする情報処理装置。
【請求項２】
前記データ処理部は、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数の多いものを新しい証明書であると判定し、また、認定デバイス証明書の無効デバイス数の多いものを新しい証明書であると判定する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置は、
認定デバイス証明書の登録デバイス数または無効デバイス数の少なくともいずれかのデバイス数データを格納したデバイス数データ証明書を格納した記憶部を有し、
前記データ処理部は、
前記記憶部に格納したデバイス数データ証明書と、外部から取得したデバイス数データ証明書とのデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行し、より新しいと判定したデバイス数データ証明書に対応する認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行する構成を有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記デバイス数データ証明書は、改竄検証用の署名データを有し、
前記データ処理部は、
外部から取得したデバイス数データ証明書の署名データの検証を実行し、該検証によって前記デバイス数データ証明書が改竄のない正当な証明書であることの確認を実行する構成を有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記データ処理部は、
前記記憶部に格納したデバイス数データ証明書と、外部から取得したデバイス数データ証明書とのデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行し、前記記憶部の格納証明書を、より新しいデバイス数データ証明書に書き換える更新処理を実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記情報処理装置は、さらに、
認定デバイス証明書を格納した記憶部を有し、
前記データ処理部は、
前記記憶部に格納された認定デバイス証明書を、前記新旧判定に基づいて選択された新しいデバイス数データ証明書に対応する認定デバイス証明書に書き換える更新処理を実行する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記認定デバイス証明書は、デバイスグループ単位の証明書として発行される認定デバイスグループ証明書であり、前記記憶部には、認定デバイスグループ証明書の集合として設定される認定デバイスグループリストを格納し、
前記データ処理部は、
前記記憶部に格納された認定デバイスグループリストを、前記新旧判定に基づいて選択された新しいデバイス数データ証明書に対応する認定デバイスグループリストに書き換える更新処理を実行する構成であることを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記データ処理部は、
前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するとともに、認証対象デバイスとの相互認証および鍵交換（ＡＫＥ）を実行し、相互認証の成立を条件として、セキュア通信路を介したデータ通信を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項９】
前記セキュア通信路は、コンテンツ通信路と、コンテンツの暗号処理に適用する鍵の通信路を含むことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記セキュア通信路は、相互認証および鍵交換（ＡＫＥ）処理によってデバイス間で共有するセッションキーによる暗号化通信路として設定する構成であることを特徴とする請求項８に記載の情報処理装置。
【請求項１１】
前記データ処理部は、
データの再生または記録対象として適用する情報記録媒体からの読み取りデータに含まれる出力制御フラグの値に応じて、デバイス間の通信における暗号化処理の実行の有無を決定する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
情報処理装置であり、
デバイス間の通信を実行する通信インタフェースと、
デバイスの認証処理を実行するデータ処理部と、
認証処理対象デバイス識別子に対応付けたカウント値を格納したカウントデータ記憶部とを有し、
前記データ処理部は、
認証処理対象デバイスから入力するデバイス登録情報を記録した認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行し、該認定デバイス証明書が前記新旧判定用データより古いと判定した場合に、
認証処理対象デバイス識別データが前記カウントデータ記憶部の登録情報として登録され、かつ該識別データに対応するカウント値があらかじめ定められた上限値以下であることを条件として認証処理対象デバイスとの認証処理を実行し、該認証処理対象デバイス識別データ対応のカウント値のカウントアップ処理を実行する構成であることを特徴とする情報処理装置。
【請求項１３】
前記カウントデータ記憶部は、
認証処理対象デバイスの公開鍵証明書ＩＤと、カウンタ値との対応データを格納した構成であり、
前記データ処理部は、
認証処理対象デバイスの公開鍵証明書ＩＤが前記カウントデータ記憶部の登録情報として登録され、かつ該公開鍵証明書ＩＤに対応するカウント値があらかじめ定められた上限値以下であることを条件として、前記認証処理対象デバイスとの認証処理を実行する構成であることを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記カウントデータ記憶部は、
複数の認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値を格納した構成であり、
前記データ処理部は、前記カウントデータ記憶部に登録された複数の認証処理対象デバイスのいずれかのデバイスとの認証処理の実行に際して、複数の認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値のカウントアップ処理を実行する構成であることを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記カウントデータ記憶部は、
個々の認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値を格納した構成であり、
前記データ処理部は、前記カウントデータ記憶部に登録された個々の認証処理対象デバイスとの認証処理の実行に際して、該認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値のカウントアップ処理を実行する構成であることを特徴とする請求項１３に記載の情報処理装置。
【請求項１６】
前記情報処理装置は、
前記カウントデータ記憶部の登録データの更新要求に対して、更新要求実行デバイスの保持する認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行し、該認定デバイス証明書が前記新旧判定用データより古くないと判定されたことを条件として、更新要求を許容する構成であることを特徴とする請求項１２に記載の情報処理装置。
【請求項１７】
前記情報処理装置は、
前記カウントデータ記憶部の登録データの更新要求に対して、さらに、前記更新要求実行デバイスとの認証処理を実行し、認証の成立を条件として更新要求を許容する構成であることを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
情報記録媒体であり、
情報記録媒体を適用したデータ再生またはデータ記録処理を行なうデバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データを格納したデバイス数データ証明書を記録した構成を有することを特徴とする情報記録媒体。
【請求項１９】
前記情報記録媒体は、さらに、
情報記録媒体を適用したデータ再生またはデータ記録処理を行なうデバイスの登録情報を記録した認定デバイス証明書を記録した構成であることを特徴とする請求項１８に記載の情報記録媒体。
【請求項２０】
前記情報記録媒体は、さらに、
セクタデータに分割設定されたコンテンツと、
前記セクタデータに対応する出力制御情報とを格納し、
前記出力制御情報は、
情報記録媒体を装着したドライブ装置において生成した暗号鍵を適用した暗号化データとすることをドライブ装置からの出力条件とするか否かの出力制御フラグを含む構成であることを特徴とする請求項１８に記載の情報記録媒体。
【請求項２１】
情報処理方法であり、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データに基づいて、認定デバイス証明書の新旧判定を実行する証明書新旧判定ステップと、
前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するデバイス判定ステップと、
を有することを特徴とする情報処理方法。
【請求項２２】
前記証明書新旧判定ステップは、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数の多いものを新しい証明書であると判定し、また、認定デバイス証明書の無効デバイス数の多いものを新しい証明書であると判定する処理を実行することを特徴とする請求項２１に記載の情報処理方法。
【請求項２３】
前記情報処理方法は、さらに、
認定デバイス証明書の登録デバイス数または無効デバイス数の少なくともいずれかのデバイス数データを格納した第１のデバイス数データ証明書を記憶部から取得するステップと、
第２のデバイス数データ証明書を外部から取得するステップと、
前期第１および第２、２つのデバイス数データ証明書のデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行するステップと、
より新しいと判定したデバイス数データ証明書に対応する認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するステップと、
を有することを特徴とする請求項２１に記載の情報処理方法。
【請求項２４】
前記デバイス数データ証明書は、改竄検証用の署名データを有し、
前記情報処理方法は、
外部から取得したデバイス数データ証明書の署名データの検証を実行し、該検証によって前記デバイス数データ証明書が改竄のない正当な証明書であることの確認を実行するステップを有することを特徴とする請求項２３に記載の情報処理方法。
【請求項２５】
前記情報処理方法は、さらに、
前記記憶部に格納したデバイス数データ証明書と、外部から取得したデバイス数データ証明書とのデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行し、前記記憶部の格納証明書を、より新しいデバイス数データ証明書に書き換える更新処理を実行するステップを有することを特徴とする請求項２３に記載の情報処理方法。
【請求項２６】
前記情報処理方法は、さらに、
記憶部に格納された認定デバイス証明書を、前記新旧判定に基づいて選択された新しいデバイス数データ証明書に対応する認定デバイス証明書に書き換える更新処理を実行するステップを有することを特徴とする請求項２３に記載の情報処理方法。
【請求項２７】
前記情報処理方法は、さらに、
前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するとともに、認証対象デバイスとの相互認証および鍵交換（ＡＫＥ）を実行し、相互認証の成立を条件として、セキュア通信路を介したデータ通信を実行するステップを有することを特徴とする請求項２１に記載の情報処理方法。
【請求項２８】
前記セキュア通信路は、コンテンツ通信路と、コンテンツの暗号処理に適用する鍵の通信路を含むことを特徴とする請求項２７に記載の情報処理方法。
【請求項２９】
前記セキュア通信路は、相互認証および鍵交換（ＡＫＥ）処理によってデバイス間で共有するセッションキーによる暗号化通信路として設定することを特徴とする請求項２７に記載の情報処理方法。
【請求項３０】
前記情報処理方法は、さらに、
データの再生または記録対象として適用する情報記録媒体からの読み取りデータに含まれる出力制御フラグの値に応じて、デバイス間の通信における暗号化処理の実行の有無を決定するステップを有することを特徴とする請求項２１に記載の情報処理方法。
【請求項３１】
情報処理方法であり、
認証処理対象デバイスから入力するデバイス登録情報を記録した認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行する証明書新旧判定ステップと、
前記証明書新旧判定ステップにおいて、該認定デバイス証明書が前記新旧判定用データより古いと判定した場合に、カウントデータ記憶部の登録情報を参照し、認証処理対象デバイス識別データが登録され、かつ該識別データに対応するカウント値があらかじめ定められた上限値以下であるという条件を満足するか否かを確認する登録データ確認ステップと、
前記登録データ確認ステップにおいて、前記条件を満足すると判定されたことを条件として認証処理対象デバイスとの認証処理を実行する認証ステップと、
認証処理対象デバイス識別データ対応のカウント値のカウントアップ処理を実行するカウンタ更新ステップと、
を有することを特徴とする情報処理方法。
【請求項３２】
前記登録データ確認ステップは、
認証処理対象デバイスの公開鍵証明書ＩＤが前記カウントデータ記憶部の登録情報として登録され、かつ該公開鍵証明書ＩＤに対応するカウント値があらかじめ定められた上限値以下であるという条件を満足するか否かを確認する処理を実行するステップであることを特徴とする請求項３１に記載の情報処理方法。
【請求項３３】
前記情報処理方法は、さらに、
前記カウントデータ記憶部の登録データの更新要求に対して、更新要求実行デバイスの保持する認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行し、該認定デバイス証明書が前記新旧判定用データより古くないと判定されたことを条件として、更新要求を許容するステップを有することを特徴とする請求項３１に記載の情報処理方法。
【請求項３４】
前記情報処理方法は、さらに、
前記カウントデータ記憶部の登録データの更新要求に対して、さらに、前記更新要求実行デバイスとの認証処理を実行し、認証の成立を条件として更新要求を許容することを特徴とする請求項３３に記載の情報処理方法。
【請求項３５】
コンピュータ・プログラムであり、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データに基づいて、認定デバイス証明書の新旧判定を実行する証明書新旧判定ステップと、
前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するデバイス判定ステップと、
を有することを特徴とするコンピュータ・プログラム。
【請求項３６】
コンピュータ・プログラムであり、
認証処理対象デバイスから入力するデバイス登録情報を記録した認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行する証明書新旧判定ステップと、
前記証明書新旧判定ステップにおいて、該認定デバイス証明書が前記新旧判定用データより古いと判定した場合に、カウントデータ記憶部の登録情報を参照し、認証処理対象デバイス識別データが登録され、かつ該識別データに対応するカウント値があらかじめ定められた上限値以下であるという条件を満足するか否かを確認する登録データ確認ステップと、
前記登録データ確認ステップにおいて、前記条件を満足すると判定されたことを条件として認証処理対象デバイスとの認証処理を実行する認証ステップと、
認証処理対象デバイス識別データ対応のカウント値のカウントアップ処理を実行するカウンタ更新ステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、コンテンツの不正利用を防止する情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
近年、ＤＶＤや、青色レーザーディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）など、大容量データの格納可能な情報記録媒体が普及し、例えば高精細画像データや、高品質音声データなどのデジタルコンテンツをディスクなどの記録媒体に記録再生する利用形態が一般化してきている。
【０００３】
情報記録媒体からのコンテンツ再生、コンテンツ記録処理を行なう態様としては、情報記録媒体（ディスク）を駆動するドライブと、再生／記録処理機能を一体化した装置を利用する態様と、ドライブと、再生処理あるいは記録処理プログラムを実行するホストとしての情報処理装置、例えばＰＣなどをバスなどによって接続し、ドライブとホスト間でのデータ転送を伴う処理態様とがある。
【０００４】
例えば、ドライブとホスト間でのデータ転送を行なう場合の問題点として、不正なコンテンツの利用、流出の可能性が高くなるという問題がある。音楽データ、画像データ等、多くのコンテンツは、一般的にその作成者あるいは販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、コンテンツの利用を許諾し、許可のない複製等が行われないようにする構成をとるのが一般的となっている。
【０００５】
デジタル記録装置および記録媒体によれば、画像や音声を劣化させることなく記録、再生を繰り返すことが可能であり、不正コピーされたコンテンツのインターネットを介した配信や、ＣＤ−Ｒ、ＤＶＤ等の記録媒体にコンテンツをコピーした海賊版ディスクの流通は大きな問題となってきている。
【０００６】
ＤＶＤや青色レーザディスク等の大容量型記録媒体には、映像情報、音楽情報をデジタルデータとして格納することが可能である。このようなデジタルデータ記録媒体を市場に流通させる場合には、不正コピーを防止し著作権者の保護を図る構成が必須となる。昨今では、このようなデジタルデータの不正なコピーを防ぐため、デジタル記録装置および記録媒体に違法なコピーを防止するための様々な技術が実用化されている。
【０００７】
例えば、ＤＶＤプレーヤでは、コンテンツ・スクランブルシステム（ＣＳＳ：Ｃｏｎｔｅｎｔ  Ｓｃｒａｍｂｌｅ  Ｓｙｓｔｅｍ）が採用されている。コンテンツ・スクランブルシステムでは、記録媒体、例えばＤＶＤ−ＲＯＭ(Read Only Memory)に、ビデオデータやオーディオデータ等が暗号化されて記録されており、その暗号化されたデータの復号に用いる鍵をライセンスを受けたプレーヤのみに与える。ライセンスは、不正コピーを行わない等の所定の動作規定に従うように設計されたプレーヤに対してのみ与えられる。従って、ライセンスを受けたプレーヤでは、与えられたキーを利用して、情報記録媒体に記録された暗号化データを復号することにより画像や音声を再生することができる。
【０００８】
一方、ライセンスを受けていないプレーヤは、暗号化されたデータを復号するための鍵を有していないため、情報記録媒体に記録された暗号化データの復号を行うことができない。このように、コンテンツ・スクランブルシステム（ＣＳＳ）は、正規のライセンスを持つプレーヤのみのコンテンツ利用を許容するシステムを提供している。
【０００９】
しかし、このコンテンツ・スクランブルシステム（ＣＳＳ）は、確実なコンテンツの不正利用の排除ができないという問題がある。特に、情報記録媒体を装着したドライブからコンテンツをＰＣなどの情報処理装置に出力して再生する処理において、コンテンツの不正利用が行われ得るという問題点が発生する。以下、この問題点について図面を参照して説明する。
【００１０】
図１にコンテンツ・スクランブルシステム（ＣＳＳ）を採用したコンテンツを格納した情報記録媒体の格納データ例と、再生機器（プレーヤ）の処理を示す。
【００１１】
図１に示す情報記録媒体１０は、例えばＤＶＤビデオディスクであり、情報記録媒体１０には、暗号化ディスクキー（Ｓｅｃｕｒｅｄ  Ｄｉｓｃ  Ｋｅｙ）１１、情報記録媒体１０に格納されたコンテンツのタイトル対応の暗号化タイトルキー１２、ＣＳＳ方式に基づくスクランブル処理のなされたコンテンツとしてスクランブルＭＰＥＧデータ１３が格納されている。
【００１２】
情報記録媒体１０を装着してコンテンツ再生を実行する再生機器２０、例えばＤＶＤプレーヤは、再生機器２０に格納されたマスターキーを適用し、ステップＳ１１において、情報記録媒体１０から取得した暗号化ディスクキー（Ｓｅｃｕｒｅｄ  Ｄｉｓｃ  Ｋｅｙ）１１の復号処理を実行し、ディスクキーを取得し、ステップＳ１２において取得したディスクキーを適用して情報記録媒体１０から取得した暗号化タイトルキー１２の復号処理を実行してタイトルキーを取得し、取得したタイトルキーを適用してステップＳ１３において、スクランブルＭＰＥＧデータ１３のスクランブル解除処理を実行した後、ステップＳ１４においてＭＰＥＧデコード処理を実行して音声／映像データ２５を再生する。
【００１３】
次に、コンテンツ再生処理プログラムとしてのプレーヤアプリケーションを実行するホスト（例えばＰＣ）に接続されたドライブからコンテンツをホスト（ＰＣ）側に入力し、ホストのプレーヤアプリケーションによってコンテンツ再生を行なう処理シーケンスについて図２を参照して説明する。
【００１４】
図２に示すように、情報記録媒体を装着したドライブ３０とホスト側のプレーヤアプリケーション４０間で、図に示すステップＳ３１，Ｓ４１において、相互認証および鍵共有（ＡＫＥ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）を実行する。相互認証処理は、例えば公開鍵暗号方式に従ったアルゴリズムに従って実行される。相互認証においてセッションキーが生成され、ドライブ３０とＰＣ側のプレーヤアプリケーション４０がセッションキーを共有する。
【００１５】
ドライブ３０は、ステップＳ３２において、セッションキーを適用して情報記録媒体１０から取得した暗号化ディスクキー１１の再暗号化を実行して、プレーヤアプリケーション４０に送信し、また、ステップＳ３３においてセッションキーを適用して情報記録媒体から取得した暗号化タイトルキー１２の再暗号化を実行して、プレーヤアプリケーション４０に送信する。ドライブ３０と、プレーヤアプリケーション４０の実行装置としてのＰＣは接続バス、例えばＡＴＡＰＩ−ＢＵＳによって接続されており、接続バスを介してこれらの暗号化鍵情報がホスト（ＰＣ）のプレーヤアプリケーション４０側に送信される。
【００１６】
さらに、ドライブ３０は、情報記録媒体から取得し、ＣＳＳ方式に基づくスクランブル処理のなされたコンテンツであるスクランブルＭＰＥＧデータ１３を、ドライブとＰＣ間の接続バスを介してＰＣ側に出力する。
【００１７】
ＰＣ側のプレーヤアプリケーション４０は、ステップＳ４２において、セッションキーを用いて、ドライブ３０から受領した暗号化ディスクキー１１のセッションキーによる再暗号化データを復号して暗号化ディスクキー１１を取得し、さらに、ステプＳ４３において、ドライブ３０から受領した暗号化タイトルキー１２のセッションキーによる再暗号化データを復号して暗号化タイトルキー１２を取得する。
【００１８】
その後のステップＳ５１〜Ｓ５５の処理は、先に図１を参照して説明した処理（Ｓ１１〜Ｓ１４）と同様の処理となる。
【００１９】
この図２に示す処理におけるドライブ側の処理をフローで示した図を図３に示す。ステップＳ６１において情報記録媒体（ディスク）が挿入されたと判定されると、ステップＳ６２において、ホスト、すなわち図２に示すプレーヤアプリケーション４０を実行するＰＣと相互認証および鍵共有（ＡＫＥ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）を実行する。
【００２０】
相互認証および鍵共有（ＡＫＥ）に成功（ステップＳ６３：Ｙｅｓ）すると、ドライブに装着した情報記録媒体の格納コンテンツであるＣＳＳスクランブルデータの出力が許可された状態に移行し、このＣＳＳスクランブルデータの出力許可状態が、情報記録媒体が排出されるまで、あるいは電源がオフされるまで継続されることになる。
【００２１】
このように、ドライブは、コンテンツ出力先の機器との相互認証が成立する前は、ＣＳＳスクランブルデータの出力が許可されない状態に設定され、コンテンツ出力先の機器との相互認証が成立した以降は、ＣＳＳスクランブルデータの出力が許可された状態に設定され、この出力許可状態は情報記録媒体が排出されるまであるいは電源がオフされるまで継続される。
【００２２】
このようなドライブからのコンテンツ出力の許容状態により、図４に示すコンテンツの不正利用が発生し得る。
【００２３】
図４（１）は、ドライブからのコンテンツ出力先であるＰＣ等のホスト側のアプリケーションの切り替えによるコンテンツの迂回利用例を示している。
【００２４】
ホスト（ＰＣ）６０側の処理（ステップＳ７１〜Ｓ７３）について説明する。ステップＳ７１において、情報記録媒体を装着したドライブ５０とホスト（ＰＣ）６０の正規のプレーヤアプリケーション間で相互認証を実行する。この相互認証の成立により、ドライブ５０は、ＣＳＳスクランブルデータの出力許可状態に設定される。
【００２５】
ステップＳ７２において、ドライブ５０からＣＳＳスクランブルデータを含む音声／映像（Audio/Video）データを読み出し、ハードディスクに格納する。
【００２６】
ステップＳ７３において、アプリケーションを切り替えて、ＣＳＳ解除ソフトウェアを適用して、ハードディスクに格納されたＣＳＳスクランブルデータのスクランブル解除処理を実行する。
【００２７】
このような処理によってスクランブル解除が可能であり、スクランブル解除のなされた平文コンテンツは無制限に利用され得る。
【００２８】
図４（２）に示す処理は、ホスト（ＰＣ）とドライブ間の接続バス、例えばＡＴＡＰＩ−ＢＵＳの盗聴処理によるコンテンツの不正利用例を示している。
【００２９】
ホスト（ＰＣ）６０側の処理（ステップＳ８１〜Ｓ８３）について説明する。ステップＳ８１において、情報記録媒体を装着したドライブ５０とホスト（ＰＣ）６０の正規のプレーヤアプリケーション間で相互認証を実行し、コンテンツの取得、再生を実行する。
【００３０】
コンテンツは、ＣＳＳスクランブルデータとして、ホスト（ＰＣ）とドライブ間の接続バス、例えばＡＴＡＰＩ−ＢＵＳを介して入力される。
【００３１】
ホスト６０は、ステップＳ８２において、ホスト（ＰＣ）とドライブ間の接続バスのモニタリングを実行し、モニタリングによって取得したデータ、すなわち、ＣＳＳスクランブルデータをハードディスクに格納する。
【００３２】
ステップＳ６３において、ＣＳＳ解除ソフトウェアを適用して、ハードディスクに格納されたＣＳＳスクランブルデータのスクランブル解除処理を実行する。
【００３３】
このような処理によってスクランブル解除されたコンテンツの取得が可能であり、スクランブル解除のなされた平文コンテンツは無制限に利用され得る。
【００３４】
このように、現行のコンテンツ・スクランブルシステム（ＣＳＳ）は、確実なコンテンツの不正利用の排除ができない。特に、上述したように情報記録媒体を装着したドライブからコンテンツをＰＣなどの情報処理装置に出力して再生する際のコンテンツの不正利用が発生しやすいという問題点が存在する。
【発明の開示】
【発明が解決しようとする課題】
【００３５】
本発明は、上述の問題点に鑑みてなされたものであり、ドライブとホストなど２つの異なるデバイス間のデータ転送を伴うコンテンツの再生あるいは記録処理において、データ転送を実行するデバイス間の相互認証に適用する公開鍵証明書の有効性判定を厳格に実行することにより、コンテンツの不正利用の排除を可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００３６】
さらに、詳細には、デジタルコンテンツの送り側（ソース）デバイスから受け取り側（シンク）デバイスへのコンテンツ転送を行なう場合に、デバイス間で公開鍵暗号をベースとした相互認証を実施し、相互認証において適用する各デバイスの公開鍵証明書の有効性を判断するため証明書（認定デバイスグループ証明書）を参照する。この際、古い証明書（認定デバイスグループ証明書）の適用を排除するため、証明書の新旧判定を、例えば登録デバイス数、あるいは無効（リボーク）デバイス数などのデータに基づいて実行することにより、古い証明書を適用した不正な認証処理に基づく不正なコンテンツ利用の排除を可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００３７】
さらに、本発明は、認証処理対象デバイス識別データとカウント値を対応付けたデータをカウントデータ記憶部の登録情報として登録し、識別データに対応するカウント値があらかじめ定められた上限値以下であることの判定を条件として認証処理対象デバイスとの認証処理を実行して、認証の成立に基づいて情報記録媒体へのアクセスを許容する構成とし、証明書（認定デバイスグループ証明書）の更新が不可能な環境にある場合でも情報記録媒体へのアクセスを可能とし、さらに、カウンタの登録情報を認証対象デバイスの公開鍵証明書ＩＤとカウント値を対応付けたデータとして設定することで、不正なコンテンツ利用の排除を可能とした情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００３８】
本発明の第１の側面は、
情報処理装置であり、
デバイス間の通信を実行する通信インタフェースと、
デバイスの認証処理を実行するデータ処理部とを有し、
前記データ処理部は、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データに基づいて、認定デバイス証明書の新旧判定を実行し、該新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行する構成を有することを特徴とする情報処理装置にある。
【００３９】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数の多いものを新しい証明書であると判定し、また、認定デバイス証明書の無効デバイス数の多いものを新しい証明書であると判定する処理を実行する構成であることを特徴とする。
【００４０】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、認定デバイス証明書の登録デバイス数または無効デバイス数の少なくともいずれかのデバイス数データを格納したデバイス数データ証明書を格納した記憶部を有し、前記データ処理部は、前記記憶部に格納したデバイス数データ証明書と、外部から取得したデバイス数データ証明書とのデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行し、より新しいと判定したデバイス数データ証明書に対応する認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行する構成を有することを特徴とする。
【００４１】
さらに、本発明の情報処理装置の一実施態様において、前記デバイス数データ証明書は、改竄検証用の署名データを有し、前記データ処理部は、外部から取得したデバイス数データ証明書の署名データの検証を実行し、該検証によって前記デバイス数データ証明書が改竄のない正当な証明書であることの確認を実行する構成を有することを特徴とする。
【００４２】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記記憶部に格納したデバイス数データ証明書と、外部から取得したデバイス数データ証明書とのデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行し、前記記憶部の格納証明書を、より新しいデバイス数データ証明書に書き換える更新処理を実行する構成であることを特徴とする。
【００４３】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、認定デバイス証明書を格納した記憶部を有し、前記データ処理部は、前記記憶部に格納された認定デバイス証明書を、前記新旧判定に基づいて選択された新しいデバイス数データ証明書に対応する認定デバイス証明書に書き換える更新処理を実行する構成であることを特徴とする。
【００４４】
さらに、本発明の情報処理装置の一実施態様において、前記認定デバイス証明書は、デバイスグループ単位の証明書として発行される認定デバイスグループ証明書であり、前記記憶部には、認定デバイスグループ証明書の集合として設定される認定デバイスグループリストを格納し、前記データ処理部は、前記記憶部に格納された認定デバイスグループリストを、前記新旧判定に基づいて選択された新しいデバイス数データ証明書に対応する認定デバイスグループリストに書き換える更新処理を実行する構成であることを特徴とする。
【００４５】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するとともに、認証対象デバイスとの相互認証および鍵交換（ＡＫＥ）を実行し、相互認証の成立を条件として、セキュア通信路を介したデータ通信を実行する構成であることを特徴とする。
【００４６】
さらに、本発明の情報処理装置の一実施態様において、前記セキュア通信路は、コンテンツ通信路と、コンテンツの暗号処理に適用する鍵の通信路を含むことを特徴とする。
【００４７】
さらに、本発明の情報処理装置の一実施態様において、前記セキュア通信路は、相互認証および鍵交換（ＡＫＥ）処理によってデバイス間で共有するセッションキーによる暗号化通信路として設定する構成であることを特徴とする。
【００４８】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、データの再生または記録対象として適用する情報記録媒体からの読み取りデータに含まれる出力制御フラグの値に応じて、デバイス間の通信における暗号化処理の実行の有無を決定する構成であることを特徴とする。
【００４９】
さらに、本発明の第２の側面は、
情報処理装置であり、
デバイス間の通信を実行する通信インタフェースと、
デバイスの認証処理を実行するデータ処理部と、
認証処理対象デバイス識別子に対応付けたカウント値を格納したカウントデータ記憶部とを有し、
前記データ処理部は、
認証処理対象デバイスから入力するデバイス登録情報を記録した認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行し、該認定デバイス証明書が前記新旧判定用データより古いと判定した場合に、
認証処理対象デバイス識別データが前記カウントデータ記憶部の登録情報として登録され、かつ該識別データに対応するカウント値があらかじめ定められた上限値以下であることを条件として認証処理対象デバイスとの認証処理を実行し、該認証処理対象デバイス識別データ対応のカウント値のカウントアップ処理を実行する構成であることを特徴とする情報処理装置にある。
【００５０】
さらに、本発明の情報処理装置の一実施態様において、前記カウントデータ記憶部は、認証処理対象デバイスの公開鍵証明書ＩＤと、カウンタ値との対応データを格納した構成であり、前記データ処理部は、認証処理対象デバイスの公開鍵証明書ＩＤが前記カウントデータ記憶部の登録情報として登録され、かつ該公開鍵証明書ＩＤに対応するカウント値があらかじめ定められた上限値以下であることを条件として、前記認証処理対象デバイスとの認証処理を実行する構成であることを特徴とする。
【００５１】
さらに、本発明の情報処理装置の一実施態様において、前記カウントデータ記憶部は、複数の認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値を格納した構成であり、前記データ処理部は、前記カウントデータ記憶部に登録された複数の認証処理対象デバイスのいずれかのデバイスとの認証処理の実行に際して、複数の認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値のカウントアップ処理を実行する構成であることを特徴とする。
【００５２】
さらに、本発明の情報処理装置の一実施態様において、前記カウントデータ記憶部は、個々の認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値を格納した構成であり、前記データ処理部は、前記カウントデータ記憶部に登録された個々の認証処理対象デバイスとの認証処理の実行に際して、該認証処理対象デバイスの公開鍵証明書ＩＤに対応するカウンタ値のカウントアップ処理を実行する構成であることを特徴とする。
【００５３】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記カウントデータ記憶部の登録データの更新要求に対して、更新要求実行デバイスの保持する認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行し、該認定デバイス証明書が前記新旧判定用データより古くないと判定されたことを条件として、更新要求を許容する構成であることを特徴とする。
【００５４】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、前記カウントデータ記憶部の登録データの更新要求に対して、さらに、前記更新要求実行デバイスとの認証処理を実行し、認証の成立を条件として更新要求を許容する構成であることを特徴とする。
【００５５】
さらに、本発明の第３の側面は、
情報記録媒体であり、
情報記録媒体を適用したデータ再生またはデータ記録処理を行なうデバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データを格納したデバイス数データ証明書を記録した構成を有することを特徴とする情報記録媒体にある。
【００５６】
さらに、本発明の情報記録媒体の一実施態様において、前記情報記録媒体は、さらに、情報記録媒体を適用したデータ再生またはデータ記録処理を行なうデバイスの登録情報を記録した認定デバイス証明書を記録した構成であることを特徴とする。
【００５７】
さらに、本発明の情報記録媒体の一実施態様において、前記情報記録媒体は、さらに、セクタデータに分割設定されたコンテンツと、前記セクタデータに対応する出力制御情報とを格納し、前記出力制御情報は、情報記録媒体を装着したドライブ装置において生成した暗号鍵を適用した暗号化データとすることをドライブ装置からの出力条件とするか否かの出力制御フラグを含む構成であることを特徴とする。
【００５８】
さらに、本発明の第４の側面は、
情報処理方法であり、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データに基づいて、認定デバイス証明書の新旧判定を実行する証明書新旧判定ステップと、
前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するデバイス判定ステップと、
を有することを特徴とする情報処理方法にある。
【００５９】
さらに、本発明の情報処理方法の一実施態様において、前記証明書新旧判定ステップは、デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数の多いものを新しい証明書であると判定し、また、認定デバイス証明書の無効デバイス数の多いものを新しい証明書であると判定する処理を実行することを特徴とする。
【００６０】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、認定デバイス証明書の登録デバイス数または無効デバイス数の少なくともいずれかのデバイス数データを格納した第１のデバイス数データ証明書を記憶部から取得するステップと、第２のデバイス数データ証明書を外部から取得するステップと、前期第１および第２、２つのデバイス数データ証明書のデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行するステップと、より新しいと判定したデバイス数データ証明書に対応する認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するステップと、を有することを特徴とする。
【００６１】
さらに、本発明の情報処理方法の一実施態様において、前記デバイス数データ証明書は、改竄検証用の署名データを有し、前記情報処理方法は、外部から取得したデバイス数データ証明書の署名データの検証を実行し、該検証によって前記デバイス数データ証明書が改竄のない正当な証明書であることの確認を実行するステップを有することを特徴とする。
【００６２】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記記憶部に格納したデバイス数データ証明書と、外部から取得したデバイス数データ証明書とのデバイス数データの比較に基づいて各デバイス数データ証明書の新旧比較を実行し、前記記憶部の格納証明書を、より新しいデバイス数データ証明書に書き換える更新処理を実行するステップを有することを特徴とする。
【００６３】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、記憶部に格納された認定デバイス証明書を、前記新旧判定に基づいて選択された新しいデバイス数データ証明書に対応する認定デバイス証明書に書き換える更新処理を実行するステップを有することを特徴とする。
【００６４】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するとともに、認証対象デバイスとの相互認証および鍵交換（ＡＫＥ）を実行し、相互認証の成立を条件として、セキュア通信路を介したデータ通信を実行するステップを有することを特徴とする。
【００６５】
さらに、本発明の情報処理方法の一実施態様において、前記セキュア通信路は、コンテンツ通信路と、コンテンツの暗号処理に適用する鍵の通信路を含むことを特徴とする。
【００６６】
さらに、本発明の情報処理方法の一実施態様において、前記セキュア通信路は、相互認証および鍵交換（ＡＫＥ）処理によってデバイス間で共有するセッションキーによる暗号化通信路として設定することを特徴とする。
【００６７】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、データの再生または記録対象として適用する情報記録媒体からの読み取りデータに含まれる出力制御フラグの値に応じて、デバイス間の通信における暗号化処理の実行の有無を決定するステップを有することを特徴とする。
【００６８】
さらに、本発明の第５の側面は、
情報処理方法であり、
認証処理対象デバイスから入力するデバイス登録情報を記録した認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行する証明書新旧判定ステップと、
前記証明書新旧判定ステップにおいて、該認定デバイス証明書が前記新旧判定用データより古いと判定した場合に、カウントデータ記憶部の登録情報を参照し、認証処理対象デバイス識別データが登録され、かつ該識別データに対応するカウント値があらかじめ定められた上限値以下であるという条件を満足するか否かを確認する登録データ確認ステップと、
前記登録データ確認ステップにおいて、前記条件を満足すると判定されたことを条件として認証処理対象デバイスとの認証処理を実行する認証ステップと、
認証処理対象デバイス識別データ対応のカウント値のカウントアップ処理を実行するカウンタ更新ステップと、
を有することを特徴とする情報処理方法にある。
【００６９】
さらに、本発明の情報処理方法の一実施態様において、前記登録データ確認ステップは、認証処理対象デバイスの公開鍵証明書ＩＤが前記カウントデータ記憶部の登録情報として登録され、かつ該公開鍵証明書ＩＤに対応するカウント値があらかじめ定められた上限値以下であるという条件を満足するか否かを確認する処理を実行するステップであることを特徴とする。
【００７０】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記カウントデータ記憶部の登録データの更新要求に対して、更新要求実行デバイスの保持する認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行し、該認定デバイス証明書が前記新旧判定用データより古くないと判定されたことを条件として、更新要求を許容するステップを有することを特徴とする。
【００７１】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記カウントデータ記憶部の登録データの更新要求に対して、さらに、前記更新要求実行デバイスとの認証処理を実行し、認証の成立を条件として更新要求を許容することを特徴とする。
【００７２】
さらに、本発明の第６の側面は、
コンピュータ・プログラムであり、
デバイスの登録情報を記録した認定デバイス証明書の登録デバイス数または無効とされた無効デバイス数の少なくともいずれかのデバイス数データに基づいて、認定デバイス証明書の新旧判定を実行する証明書新旧判定ステップと、
前記新旧判定に基づいて選択された新しい認定デバイス証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するデバイス判定ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００７３】
さらに、本発明の第７の側面は、
コンピュータ・プログラムであり、
認証処理対象デバイスから入力するデバイス登録情報を記録した認定デバイス証明書の新旧判定処理を自己の保持する新旧判定用データに基づいて実行する証明書新旧判定ステップと、
前記証明書新旧判定ステップにおいて、該認定デバイス証明書が前記新旧判定用データより古いと判定した場合に、カウントデータ記憶部の登録情報を参照し、認証処理対象デバイス識別データが登録され、かつ該識別データに対応するカウント値があらかじめ定められた上限値以下であるという条件を満足するか否かを確認する登録データ確認ステップと、
前記登録データ確認ステップにおいて、前記条件を満足すると判定されたことを条件として認証処理対象デバイスとの認証処理を実行する認証ステップと、
認証処理対象デバイス識別データ対応のカウント値のカウントアップ処理を実行するカウンタ更新ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００７４】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記録媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００７５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００７６】
本発明の構成によれば、ドライブとホストなど２つの異なるデバイス間のデータ転送を伴うコンテンツの再生あるいは記録処理において、データ転送を実行するデバイス間の相互認証に適用する公開鍵証明書の有効性判定を厳格に実行することにより、コンテンツの不正利用を排除することが可能となる。
【００７７】
さらに本発明の構成によれば、接続デバイス間において、コンテンツの送り側（ソース）デバイスから受け取り側（シンク）デバイスへのコンテンツ転送を行なう場合に実行する公開鍵暗号方式の相互認証において適用する各デバイスの公開鍵証明書の有効性を判断するため認定デバイスグループ証明書を適用する。さらに、この認定デバイスグループ証明書の新旧判定に、認定デバイスグループ証明書の集合として設定される認定デバイスグループリスト（登録リスト）の登録デバイス数、あるいは無効（リボーク）デバイス数などを登録データとして設定したデバイス数データ証明書（ＡＩＣ）を適用する構成とし、登録デバイス数が多いものを新しいとみなす、あるいは、無効デバイス数の多いものを新しいとみなすなど、登録情報の登録または無効デバイス数の変化状況に基づいて認定デバイスグループ証明書の最新性を判定する構成として、新しい認定デバイスグループ証明書を適用してデバイスの公開鍵証明書の有効性を判定し相互認証を実行する構成としたので、古い認定デバイス証明書を適用した認証処理、不正なコンテンツ入手が防止され、コンテンツの不正利用が排除される。
【００７８】
また、登録デバイス数、あるいは無効（リボーク）デバイス数などを登録データとして設定したデバイス数データ証明書（ＡＩＣ）に基づいて、適宜、情報処理装置が保管する認定デバイスグループリスト（登録リスト）の更新処理を実行する構成としたので、コンテンツ再生あるいは記録処理を実行する情報処理装置の保管リストを随時更新することが可能となる。
【００７９】
さらに、登録デバイス数または無効デバイス数を各証明書の新旧判定に適用することで、ドライブやホストの証明書格納用の不揮発性メモリとして使用されるフラッシュメモリの書き換え回数を減少させることができる。すなわち、シーケンスナンバーによる新旧判定の場合は、シーケンスナンバーが変更された場合は全て更新することになり、フラッシュメモリの使用頻度が多くなるが、登録デバイス数または無効デバイス数を各証明書の新旧判定に適用することで、登録デバイス数や無効デバイス数が不変の場合はドライブやホストにおいて証明書更新を行う必要がなく、フラッシュメモリの書き換え回数が減少することになる。従って小型で安価なメモリの搭載が可能となる。
【００８０】
さらに、本発明の構成によれば、認証処理対象デバイス識別データとカウント値を対応付けたデータをカウントデータ記憶部の登録情報として登録し、識別データに対応するカウント値があらかじめ定められた上限値以下であることの判定を条件として認証処理対象デバイスとの認証処理を実行して、認証の成立に基づいて情報記録媒体へのアクセスを許容する構成としたので、例えば飛行機の中など、証明書（認定デバイスグループ証明書）の更新が不可能な環境にある場合でも情報記録媒体へのアクセスを可能とした。さらに、カウンタの登録情報を認証対象デバイスの公開鍵証明書ＩＤとカウント値を対応付けたデータとして設定することで、不正なコンテンツ利用の排除が可能となる。
【発明を実施するための最良の形態】
【００８１】
以下、図面を参照しながら本発明の情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。なお、説明は、以下の記載項目に従って行う。
１．情報記録媒体の格納データ
２．コンテンツ再生処理概要
３．ドライブとホスト間のコンテンツ転送を伴う処理
４．カウンタに基づくアクセス許容処理
５．情報処理装置の構成
【００８２】
［１．情報記録媒体の格納データ］
まず、情報記録媒体の格納データについて説明する。図５にコンテンツの格納された情報記録媒体の一例を示す。
【００８３】
このディスクは、例えば、Ｂｌｕ−ｒａｙディスク、ＤＶＤなどの情報記録媒体であり、正当なコンテンツ著作権、あるいは頒布権を持ついわゆるコンテンツ権利者の許可の下にディスク製造工場において製造された正当なコンテンツを格納した情報記録媒体、あるいは、コンテンツを記録可能な情報記録媒体である。なお、以下の実施例では、情報記録媒体の例としてディスク型の媒体を例として説明するが、本発明は様々な態様の情報記録媒体の適用が可能である。
【００８４】
図５に示すように、情報記録媒体１００は、コンテンツ等のデータを格納するデータ格納領域１０１と、ディスクおよび格納コンテンツに対応する付帯情報、コンテンツの復号処理に適用する鍵情報、さらにコンテンツの再生や記録処理を実行するデバイス、すなわちドライブやＰＣ等のホスト、ホストアプリケーションなどの登録情報などを格納するリードイン領域１０２を持つ。
【００８５】
データ格納領域１０１には、暗号化（スクランブル）コンテンツ１１１と、暗号化コンテンツの復号処理に適用する鍵の生成に必要となる情報としての記録シード（ＲＥＣ  ＳＥＥＤ）であるユニットキー生成情報：Ｖｕ１１２が格納される。なお、スクランブル処理は、暗号化処理の一態様であり、本明細書ではスクランブルコンテンツの上位概念として、暗号化コンテンツという表現を用いる。暗号化コンテンツ１１１は、所定のユニット単位に区分され、ユニットに対応付けられたユニットキーを適用した暗号化がなされた状態で、情報記録媒体１００のデータ格納領域１０１に格納される。ユニットキー生成情報：Ｖｕ１１２は、これらの各ユニットキーの生成に適用する情報でありシード情報とも呼ばれる。
【００８６】
リードイン領域１０２には、暗号化コンテンツ１１１の復号処理に適用する鍵の生成に必要となる各種情報が格納される。その１つは、ＲＯＭマーク：Ｖｅ１１４である。ＲＯＭマーク：Ｖｅ１１４は物理インデックス（Ｐｈｙｓｉｃａｌ  Ｉｎｄｅｘ）とも呼ばれ、書き換えの不可能な固定情報である。リードイン領域１０２には、さらに、暗号鍵情報１２０が格納される。
【００８７】
暗号鍵情報１２０は、前述のユニットキー生成情報：Ｖｕ１１２、ＲＯＭマーク：Ｖｅ１１４と同様、情報記録媒体のデータ格納領域１０１に格納された暗号化コンテンツ１１１の復号処理に適用する鍵を生成するための鍵情報（鍵生成情報）によって構成される。
【００８８】
すなわち、暗号化コンテンツ１１１の復号処理に適用する鍵として、例えば情報記録媒体に格納されたコンテンツに対応する鍵として設定されるメディアキー：Ｋｍを取得するために必要となる暗号鍵ブロックであるＲＫＢ（Renewal Key Block）１２１と、暗号化コンテンツ１１１の復号処理に適用する鍵としてのディスクキー：Ｋｄを、メディアキー：Ｋｍを適用して暗号化した暗号化ディスクキーＥＫｍ（Ｋｄ）１２２とを含む情報である。なお、ＥＫａ（ｂ）は、データ：ｂを鍵：Ｋａで暗号化したデータを示すものとする。
【００８９】
ＲＫＢ（Renewal Key Block）１２１は、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックであり、情報記録媒体を利用したコンテンツ再生／記録を実行する正当なライセンスを保有するユーザ機器としての情報処理装置に配布されたデバイスキーを適用した復号処理によってメディアキー：Ｋｍを取得可能とした暗号鍵ブロックである。暗号鍵ブロック：ＲＫＢの構成データを変更することにより、メディアキー：Ｋｍを取得可能なユーザ機器を選別することが可能となる。
【００９０】
管理センタが、コンテンツ再生／記録を実行するデバイス（ユーザ機器や再生アプリケーション）を不正であると判定した場合は、ＲＫＢの構成を変更して、不正機器によるメディアキー：Ｋｍの取得を不可能とすることが可能となる。なお、不正と判定されたデバイスはリボーク（無効）デバイスとして管理センタに登録される。管理センタは、デバイスの登録情報を保持し、適宜更新する。
【００９１】
リードイン領域１０２には、登録情報１３０が格納される。登録情報１３０は、コンテンツの再生や記録処理を実行するデバイス、すなわちドライブやＰＣ等のホスト、ホストアプリケーションなどの公開鍵証明書の有効性の有無を判断するための情報、すなわち、デバイスの登録情報を記録した認定デバイス証明書である認定デバイスグループ証明書（ＡＤＧＣ：Ａｕｔｈｏｒｉｚｅｄ Ｄｅｖｉｃｅ Ｇｒｏｕｐｓ  Ｃｅｒｔｉｆｉｃａｔｅ）の集合として設定される認定デバイスグループリスト（ＡＤＧＬ：ＡＤＧＣ  Ｌｉｓｔ）１３２と、認定デバイスグループリスト（ＡＤＧＬ）に登録されたデバイス数、または無効（リボーク）デバイスとして登録された数、すなわち無効（リボーク）デバイス数の少なくともいずれかのデータバイス数データを格納したデバイス数データ証明書としてのＡＤＧＬインフォメーション証明書（ＡＩＣ：ＡＤＧＬ Ｉｎｆｏｒｍａｔｉｏｎ Ｃｅｒｔｉｆｉｃａｔｅ）１３１を含む情報である。
【００９２】
ＡＤＧＬインフォメーション証明書（ＡＩＣ）１３１と、認定デバイスグループリスト（ＡＤＧＬ：ＡＤＧＣ  Ｌｉｓｔ）１３２の詳細については、さらに後段で説明する。なお、ＲＯＭマーク：Ｖｅ１１４、暗号鍵情報１２０、登録情報１３０は必ずしもリードイン領域１０２に格納されることが必須ではなく、データ領域１０１に格納してもよい。
【００９３】
情報記録媒体１００からのデータ再生、あるいは情報記録媒体１００に対するデータ記録処理を実行する際、記録または再生するコンテンツの処理を実行するデバイス、具体的には、
（ａ）情報記録媒体１００を装着しデータ記録または読み取りを実行するドライブ、
（ｂ）ドライブとのデータ入出力を実行し、コンテンツの再生、あるいは記録コンテンツの生成を実行するホスト
上記（ａ）と（ｂ）のデバイス間で相互認証を実行して、各デバイスが正当なデバイスであることの確認を実行した後、デバイス間のコンテンツの入出力が許容されることになる。この相互認証においては公開鍵暗号方式の認証処理が実行される。
【００９４】
公開鍵暗号方式の認証処理において、ドライブとホスト各デバイスの保持する公開鍵証明書の有効性を相互に確認することが必要となる。この公開鍵証明書の有効性判定に認定デバイスグループ証明書（ＡＤＧＣ）の登録情報が用いられる。しかし、認定デバイスグループ証明書（ＡＤＧＣ）はデバイス登録情報の変化にともない、適宜更新され、新しいバージョンが随時発行される。
【００９５】
古い認定デバイスグループ証明書（ＡＤＧＣ）を利用した認証処理を実行すると、既に無効（リボーク）とされたデバイスが有効なデバイスであるとの誤認定に基づいて、不正なデバイスにコンテンツを出力してしまうといった事態が発生することになる。従って、より新しい認定デバイスグループ証明書（ＡＤＧＣ）を利用した認証処理を行なうことが不正なコンテンツの利用を排除するためには必要となる。本発明の構成では、認定デバイスグループ証明書（ＡＤＧＣ）の新旧を判定するためにＡＤＧＬインフォメーション証明書（ＡＩＣ）を適用する。この処理の詳細については後段で説明する。
【００９６】
次に、情報記録媒体１００に格納される暗号化コンテンツ１１１の記録構成の詳細について、図６〜図８を参照して説明する。図６（ａ）が情報記録媒体に格納されるデータ記録構成である。１８バイトのユーザ制御データ（ＵＣＤ：User Control Data）と、実際のＡＶコンテンツデータなどを含む２０４８バイトのユーザデータ(User Data)が１つのセクタデータとして構成される。
【００９７】
図６（ｂ）に示すように、例えばユーザデータ３セクタ分６１４４バイトのデータが１つのブロック暗号処理単位としての１ユニット（１ＡＵ：Aligned Unit）、すなわちブロックとして設定される。６１４４バイトのデータは、３２ＴＳ（トランスポートストリーム）パケットに相当する。なお、ブロックの設定単位は、３セクタ分６１４４バイトのデータとする方式に限らず、１セクタ分２０４８バイトのデータを１つの暗号処理単位、すなわちブロックとして設定する方式など、様々な設定が可能である。
【００９８】
図６（ｃ）に示すように、コンテンツに対応するコピー制御情報ＣＣＩ（Copy Control Information）を格納したユーザデータは、２Ｋ（２０４８）バイト単位で暗号化されて記録される。
【００９９】
なお、１８バイトのユーザ制御データ（User Control Data）は暗号化対象から除去され、ユーザデータのみが、暗号化されて記録される。
【０１００】
図７は、１つのセクタデータの構成を示している。１つのセクタデータは、１８バイトのユーザ制御データ（ＵＣＤ：User Control Data）と２０４８バイトのユーザデータ(User Data)からなる。
【０１０１】
ユーザ制御データ（ＵＣＤ：User Control Data）はセクタヘッダとも呼ばれ、その一部に、セクタ単位の出力制御情報（Output Control Information）１５１が記録される。
【０１０２】
出力制御情報１５１は、対応するセクタデータ（ユーザデータ）の転送制御情報、例えば情報記録媒体を装着したドライブからホスト（ＰＣ）等の情報処理装置に対する出力の制御情報であるバスプロテクションフラグ（Bus Protection Flag）を含む情報として設定される。
【０１０３】
図８にユーザ制御データ（ＵＣＤ：User Control Data）中に記録される出力制御情報１５１の詳細構成を示す。出力制御情報１５１は、ユーザ制御データ（ＵＣＤ：User Control Data）の１バイト（８ビット）データに記録される。
【０１０４】
ビット６〜０のビットはリザーブ領域であり、
ビット７の１ビットがバスプロテクションフラグ（Bus Protection Flag）として設定される。バスプロテクションフラグ（Bus Protection Flag）は、情報記録媒体の読み出しコンテンツの制御を実行するか否かの判定情報として利用される。具体的には、例えば、
バスプロテクションフラグ（Bus Protection Flag）＝１：出力制限、およびバス暗号化あり
バスプロテクションフラグ（Bus Protection Flag）＝０：出力制限なし
として設定される。なお、バス暗号化は、ドライブとホスト間のコンテンツ転送時に実行する暗号化処理であり、詳細については後述する。
【０１０５】
［２．コンテンツ再生処理概要］
次に、上述した情報記録媒体に格納されたコンテンツの再生処理について説明する。情報記録媒体に格納されたコンテンツの再生態様には２つの態様がある。第１の態様は、情報記録媒体を装着し、情報記録媒体からのデータ読み取りを実行する機器自体が再生処理を実行する態様であり、第２の態様は、情報記録媒体からのデータ読み取りを実行するドライブと、再生処理を実行するホスト（ＰＣ）等の再生処理装置とが別の機器として構成され、ドライブ装置と再生処理装置間がデータ転送用バスによって接続され、接続バスを介したデータ転送を実行して再生処理を行なう態様である。
【０１０６】
まず、情報記録媒体を装着し、情報記録媒体からのデータ読み取りを実行する機器自体が再生処理を実行する処理シーケンスについて図９を参照して説明する。
【０１０７】
ドライブ兼用再生機器３００が、暗号化コンテンツ２０６を格納した情報記録媒体２００をセットしてデータの読み取り、鍵生成、コンテンツ復号などの各種の暗号処理を実行してコンテンツを出力する。
【０１０８】
情報記録媒体２００には、先に、図５を参照して説明した各種の情報、すなわち公開鍵暗号方式に従った相互認証および鍵交換処理（ＡＫＥ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ ａｎｄ Ｋｅｙ Ｅｘｃｈａｎｇｅ）において適用するための登録デバイスリストとしての登録情報２０１、メディアキー：Ｋｍを格納した暗号鍵ブロックとしてのＲＫＢ２０２、ディスクキー：Ｋｄをメディアキー：Ｋｍで暗号化した暗号化ディスクキー：ＥＫｍ（Ｋｄ）２０３、ＲＯＭマーク：Ｖｅ２０４、ユニットキー生成情報：Ｖｕ２０５、暗号化コンテンツ２０６が格納されている。
【０１０９】
ドライブ兼用再生機器３００の処理について説明する。ドライブ兼用再生機器３００は、ステップＳ１０１において、予め機器内に格納されているデバイスキー：Ｋｄｅｖ３０１を適用して暗号鍵ブロックとしてのＲＫＢ２０２の復号処理を実行して、ＲＫＢ２０２からメディアキー：Ｋｍを取得する。なお、ＲＫＢ２０２からメディアキー：Ｋｍを取得できるのは、コンテンツの利用を認められた機器のみであり、前述したように不正機器としてリボークされた機器の持つデバイスキーではＲＫＢの復号が出来ず、メディアキー：Ｋｍを取得することができない。
【０１１０】
ステップＳ１０１においてメディアキー：Ｋｍの取得に成功すると、次に、ステップＳ１０２において、取得したメディアキー：Ｋｍを適用して、情報記録媒体２００から取得した暗号化ディスクキー：ＥＫｍ（Ｋｄ）２０３の復号処理を実行し、ディスクキー：Ｋｄを取得する。
【０１１１】
次にステップＳ１０３において、取得したディスクキー：Ｋｄと、情報記録媒体２００から取得したＲＯＭマーク：Ｖｅ２０４に基づく鍵生成処理、例えばＡＥＳ暗号アルゴリズムに従った鍵生成処理を実行してエンベデッドキー：Ｋｅを生成する。
【０１１２】
ＡＥＳ暗号アルゴリズムに従った鍵生成処理の詳細について、図１０を参照して説明する。図１０に示すように、ＡＥＳ暗号アルゴリズムに従った鍵生成は、ＡＥＳ暗号処理ブロック３１１において、入力値に対して暗号鍵を適用したＡＥＳ暗号処理を実行し、その出力と入力値の排他論理和（ＸＯＲ）演算結果を出力とする処理である。図９のステップＳ１０３においては、入力値を情報記録媒体２００から取得したＲＯＭマーク：Ｖｅ２０４とし、適用鍵をディスクキー：Ｋｄとした鍵生成処理を実行して、出力値としてのエンベデッドキー：Ｋｅを得る。
【０１１３】
次に、ステップＳ１０４において、取得したエンベデッドキー：Ｋｅと、情報記録媒体２００から取得したユニットキー生成情報：Ｖｕ２０５に基づく鍵生成処理を実行してユニットキー：Ｋｕを生成する。この鍵生成処理も、図１０を参照して説明したＡＥＳ暗号アルゴリズムに従った鍵生成処理として実行される。Ｖｕ２０５はファイル"Ｕｎｉｔ＿Ｋｅｙ＿Ｇｅｎ＿Ｖａｌｕｅ．ｉｎｆ"によって複数のユニットの個々のユニットに対して個別の値を定義することができるが、ここではその中の一つのユニットに対する説明を続ける。
【０１１４】
次に、ステップＳ１０５において、生成したユニットキーＫｕを適用した暗号化コンテンツ２０６の復号処理が実行されて、コンテンツが出力される。
【０１１５】
ステップＳ１０５におけるユニットキーＫｕを適用した暗号化コンテンツ２０６の復号処理の詳細について、図１１を参照して説明する。
【０１１６】
暗号化コンテンツ２０６は、所定データ単位のブロック単位での暗号化がなされて情報記録媒体２００に格納されている。図１１に示すように例えば６１４４バイトのセクタデータは、１６バイトのブロックごとの暗号化がなされている。
【０１１７】
復号処理の手順について説明する。まず、６１４４バイトのセクタデータから先頭の１６バイトデータを取得し、ＡＥＳ鍵生成処理ブロック［ＡＥＳ＿Ｇ］３２１において、ＡＥＳ暗号アルゴリズムに従った鍵生成処理を実行する。これは、先に図１０を参照して説明した処理と同様である。ＡＥＳ鍵生成処理ブロック３２１の出力をブロックキー：Ｋｂとし、このブロックキー：Ｋｂを適用して次の１６バイトデータの復号処理をＡＥＳ復号処理ブロック［ＡＥＳ＿Ｄ］３２２において実行する。
【０１１８】
ＡＥＳ復号処理ブロック［ＡＥＳ＿Ｄ］３２２では、セクタデータの第２番目の１６バイトデータと初期値：ＩＶａとの排他論理和（ＸＯＲ）結果を入力としてブロックキー：Ｋｂを適用したＡＥＳ暗号アルゴリズムに従った復号処理を実行して、１６バイトブロックデータの復号データを取得するとともに、次のブロックの復号に適用する入力値とする。以下、同様の処理を繰り返し実行して、復号セクタデータ３２３を得ることができる。なお、初期値：ＩＶａは、予め設定された定数である。ＩＶａは、例えばセクタデータに対応するユーザ制御データあるいはユーザデータから取得することができる値として設定されるという場合もある。
【０１１９】
図９のステップＳ１０５では、このように、ユニットキー：Ｋｕを適用して、ブロック単位の復号処理を実行し、復号されたコンテンツを出力する。
【０１２０】
このように、情報記録媒体からの情報読み取りと再生処理を１つの機器内で実行する場合には、コンテンツの漏洩の可能性は少なく、コンテンツの著作権の侵害といった問題が発生する可能性は少ない。しかし、先に、図２〜４を参照して説明したように、情報記録媒体を装着したドライブからバスを介してＰＣ等の機器にコンテンツ出力を行ない再生処理を行う場合や、ＰＣ等の機器からドライブにコンテンツを入力し情報記録媒体に記録する処理構成の場合には、様々な問題が発生し得る。
【０１２１】
本発明の構成では、このような情報記録媒体を装着したドライブとバスを介して接続されたＰＣ等のホスト機器間でのコンテンツ入出力を行なう構成においてもセキュアなデータ転送を実現しコンテンツの不正利用の防止を可能としている。
【０１２２】
［３．ドライブとホスト間のコンテンツ転送を伴う処理］
次に、ドライブとホスト間のコンテンツ転送を伴う処理の詳細について説明する。まず、図１２以下を参照して情報記録媒体、ドライブ、ＰＣ等のホスト機器側のデータ再生またはデータ記録を実行する機器あるいはアプリケーション等のホストが保持する各種の鍵情報および証明書について説明する。
【０１２３】
ドライブ４００、ホスト５００の各々には、公開鍵暗号方式に従った公開鍵を格納した公開鍵証明書（ＰＫＣ：Ｐｕｂｌｉｃ  Ｋｅｙ  Ｃｅｒｔｉｆｉｃａｔｅ）と秘密鍵（ＫＳ）が格納される。図１２に示すように、ドライブ４００はドライブの公開鍵証明書（ＰＫＣ−Ｄ）４０３、秘密鍵（ＫＳ−Ｄ）４０２を保持し、ホスト５００は、ホスト対応の公開鍵証明書（ＰＫＣ−Ｈ）５０３、秘密鍵（ＫＳ−Ｈ）５０２を保持している。
【０１２４】
情報記録媒体２００、ドライブ４００、およびホスト５００は、公開鍵証明書（ＰＫＣ）、秘密鍵（ＫＳ）の他に、デバイス数データ証明書としてのＡＤＧＬインフォメーションリスト（ＡＩＣ：ＡＤＧＬ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｌｉｓｔ）を有している。すなわち、情報記録媒体２００はＡＩＣ−ＤＩＳＣ２５１を有し、ドライブ４００はＡＩＣ−Ｄ４１１を有し、ホスト５００はＡＩＣ−Ｈ５１１を有している。なお、情報記録媒体の保持情報を（−ＤＩＳＣ）、ドライブの保持情報を（−Ｄ）、ホストの保持情報を（−Ｈ）として示してある。
【０１２５】
情報記録媒体２００と、ホスト５００は、さらに認定デバイス証明書の集合としての認定デバイスグループリスト（ＡＤＧＬ：Ａｕｔｈｏｒｉｚｅｄ  Ｄｅｖｉｃｅ  Ｇｒｏｏｐ  Ｌｉｓｔ）を格納している。すなわち、情報記録媒体２００はＡＤＧＬ−ＤＩＳＣ２５２を格納し、ホスト５００はＡＤＧＬ５１２を保持している。認定デバイスグループリスト（ＡＤＧＬ）は、複数の認定デバイスグループ証明書（ＡＤＧＣ：Ａｕｔｈｏｒｉｚｅｄ  Ｄｅｖｉｃｅ  Ｇｒｏｏｐ  Ｃｅｒｔｉｆｉｃａｔｅ）の集合からなるリストである。
【０１２６】
なお、図１２に示す各データは、情報記録媒体はデータ記録領域またはリードイン領域の記録データとして保持し、ドライブ４００、ホスト５００は不揮発性メモリに保持している。
【０１２７】
これらの各証明書、すなわち、
公開鍵証明書（ＰＫＣ）、
認定デバイスグループ証明書（ＡＤＧＣ）および認定デバイスグループリスト（ＡＤＧＬ）、
ＡＤＧＬインフォメーション証明書（ＡＩＣ）
の詳細構成について、図１３以下を参照して説明する。図１３（ａ）は、各証明書の共通構成を示し、図１３（ｂ）は、各証明書に設定されたタイプ情報と証明書との対応を説明する図である。
【０１２８】
図１３（ａ）に示すように、公開鍵証明書（ＰＫＣ）、認定デバイスグループ証明書（ＡＤＧＣ）、ＡＤＧＬインフォメーション証明書（ＡＩＣ）は、いずれも、
（ａ）証明書タイプ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｔｙｐｅ）
（ｂ）証明書データ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｄａｔａ）
（ｃ）電子署名（Ｓｉｇｎａｔｕｒｅ）
の各データを格納している。
【０１２９】
（ａ）証明書タイプ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｔｙｐｅ）は、図１３（ｂ）に示すように、
１：公開鍵証明書（ＰＫＣ）、
２：認定デバイスグループ証明書（ＡＤＧＣ）、
３：ＡＤＧＬインフォメーション証明書（ＡＩＣ）
のように、各証明書毎に異なるタイプ番号が設定される。タイプ番号に基づいて、どの証明書であるかを判別可能となる。
【０１３０】
（ｂ）証明書データ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｄａｔａ）には、公開鍵証明書（ＰＫＣ）、認定デバイスグループ証明書（ＡＤＧＣ）、ＡＤＧＬインフォメーション証明書（ＡＩＣ）のそれぞれの証明書に応じたデータが格納される。これらの詳細については図１４以下を参照して説明する。
【０１３１】
（ｃ）電子署名（Ｓｉｇｎａｔｕｒｅ）は、各証明書の発行エンティテイとしての管理センタの電子署名、すなわち管理センタの秘密鍵を適用して生成された署名データであり、（ａ）証明書タイプ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｔｙｐｅ）と、（ｂ）証明書データ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｄａｔａ）に対して、管理センタの秘密鍵を適用して生成される署名データである。
【０１３２】
署名データに基づいて、証明書の改竄検証、正当性確認が可能となる。すなわち、公開されている管理センタの公開鍵を適用することで、証明書の改竄検証、正当性確認が可能である。
【０１３３】
以下、各証明書に格納される証明書データの詳細について、図１４〜図１６を参照して説明する。まず、図１４を参照して公開鍵証明書（ＰＫＣ）のデータ構成について説明する。
【０１３４】
図１４（ａ）は、公開鍵証明書（ＰＫＣ）の証明書データの例を示している。図１４（ｂ）は、楕円暗号を適用した公開鍵証明書（ＰＫＣ）のデータ構成例を示している。
【０１３５】
図１４（ａ）に示すように、公開鍵証明書（ＰＫＣ）の証明書データには、証明書ＩＤ、公開鍵、その他の情報が含まれる。例えばドライブは、ドライブに対応する公開鍵を格納した公開鍵証明書（ＰＫＣ−Ｄ）を管理センタから受領し、ドライブが例えばフラッシュメモリなどの不揮発性メモリに格納保持する。また公開鍵に対応する秘密鍵（ＫＳ−Ｄ）も提供される。ホストに対しても公開鍵証明書（ＰＫＣ）と秘密鍵のペアが提供され、ホスト内のハードディスクやフラッシュメモリなどの不揮発性メモリに保持される。
【０１３６】
公開鍵証明書（ＰＫＣ）は、公開の許容されたデータであり、例えば他の機器の要求に応じて出力される。他の機器の公開鍵証明書を受領した機器は、受領した公開鍵証明書に付加された管理センタの署名に基づく公開鍵証明書の改竄検証を実行し、受領した公開鍵証明書の正当性を確認した後、公開鍵証明書から公開鍵を取得する。なお、管理センタの署名に基づく公開鍵証明書の改竄検証は、管理センタの公開鍵を適用して実行される。管理センタの公開鍵も公開されたデータであり、例えばドライブ、ホストの不揮発性メモリ等へ予め格納してあるものを利用する、または、ネットワークあるいは記録媒体を介して受領できる。
【０１３７】
ドライブ、ホストには、公開鍵証明書に併せて秘密鍵が提供される。すなわち、ドライブ、ホストには、それぞれ公開鍵証明書（ＰＫＣ）と秘密鍵のペアが提供され、それぞれのメモリに保持される。公開鍵を格納した公開鍵証明書は公開の許容されたデータであるが、秘密鍵は外部に漏洩することのないように各デバイスにおいてセキュアに保持される。
【０１３８】
図１４（ｂ）は、楕円暗号を適用した公開鍵証明書（ＰＫＣ）のデータ構成例を示している。図１３（ｂ）を参照して説明した証明書タイプ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｔｙｐｅ＝１）、図１４（ａ）を参照して説明した証明書ＩＤ（Ｃｅｒｔｉｆｉｃａｔｅ  ＩＤ）、公開鍵（Ｐｕｂｌｉｃ  Ｋｅｙ）が格納され、これらの格納データに対応して管理センタの秘密鍵を適用して生成された電子署名（Ｓｉｇｎａｔｕｒｅ）が設定される。
【０１３９】
図１５は、（ａ）認定デバイスグループ証明書（ＡＤＧＣ）データ、（ｂ）楕円暗号を適用した認定デバイスグループ証明書（ＡＤＧＣ）データ例、（ｃ）認定デバイスグループリスト（ＡＤＧＬ）の各データ構成を示している。前述したように、（ｃ）認定デバイスグループリスト（ＡＤＧＬ）は、複数の認定デバイスグループ証明書（ＡＤＧＣ）情報を格納したリストとして設定される。
【０１４０】
まず、（ａ）認定デバイスグループ証明書（ＡＤＧＣ）データについて説明する。（ａ）認定デバイスグループ証明書（ＡＤＧＣ）データには、［認定デバイスグループ証明書（ＡＤＧＣ）データ長］、［認定デバイスグループリスト（ＡＤＧＬ）シーケンスナンバー］、［ＡＤＧＣ内の第１〜最終公開鍵証明書ＩＤ］、［認定公開鍵証明書情報］が含まれる。
【０１４１】
認定デバイスグループ証明書（ＡＤＧＣ）は、コンテンツ利用機器としてのドライブやホスト等に発行された公開鍵証明書（ＰＫＣ）が有効であるか無効（リボーク）されたかを示す情報を格納した認定デバイス証明書である。すなわち、コンテンツの管理エンティテイである管理センタが認めた正当なデバイスであるか否かを確認するために適用される。
【０１４２】
相互認証を実行するデバイスは、認証相手から受領した認証相手の公開鍵証明書のＩＤが認定デバイスグループ証明書（ＡＤＧＣ）において有効ＩＤとして登録されている場合に認証相手が有効な公開鍵証明書を保持すると判断する。認証相手から受領した公開鍵証明書のＩＤが認定デバイスグループ証明書（ＡＤＧＣ）において無効ＩＤとして登録されている場合には、認証相手の公開鍵証明書は無効化されており、デバイスが不正であると判定することができる。この場合にはコンテンツの入出力等の処理を行なわない。
【０１４３】
認定デバイスグループ証明書（ＡＤＧＣ）も公開鍵証明書（ＰＫＣ）と同様、管理センタの電子署名を付加し、改竄の困難な証明書として設定される。認定デバイスグループ証明書（ＡＤＧＣ）は、例えば、ドライブ用の認定デバイスグループ証明書（ＡＤＧＣ）、あるいはアプリケーション用の認定デバイスグループ証明書（ＡＤＧＣ）、メーカーＡの機器に対応する認定デバイスグループ証明書（ＡＤＧＣ）など、様々なグループ毎に設定される。
【０１４４】
図１５（ａ）に示す認定デバイスグループ証明書（ＡＤＧＣ）データは、ある１つのグループ対応の証明書データであり、そのグループに属する証明書の発行先としての機器やアプリケーションなど各デバイスそれぞれの公開鍵証明書ＩＤ（ＰＫＣ−ＩＤ）が格納される。これが図１５（ａ）の証明書データ中の［第１〜最終公開鍵証明書ＩＤ］である。さらに、グループに属するデバイスに対応する［認定公開鍵証明書情報］が格納される。［認定公開鍵証明書情報］は、グループに属するデバイスに提供されている公開鍵証明書の有効性を確認可能な情報である。第１〜最終公開鍵証明書ＩＤの各々についての有効性、無効性が確認可能な情報である。
【０１４５】
相互認証処理を実行する場合には、相手方の公開鍵証明書を取得し、[認定公開鍵証明書情報］に基づいて、相手方の公開鍵証明書の有効性を確認することができる。
【０１４６】
認定デバイスグループ証明書（ＡＤＧＣ）は、グループ内の構成メンバーとしてのデバイスの登録数の変更、有効性、無効性の登録情報の変更があった場合は、管理センタにおいて適宜更新され、新たな認定デバイスグループ証明書（ＡＤＧＣ）が発行される。［認定デバイスグループ証明書（ＡＤＧＣ）シーケンスナンバー］は、この更新毎に設定される異なるナンバーである。例えば更新処理毎に数値を増加させたシーケンスナンバーが設定される。
【０１４７】
認定デバイスグループ証明書（ＡＤＧＣ）には、さらにＡＩＣデータが格納される。ＡＩＣデータは、図１６を参照して説明するＡＤＧＬインフォメーション証明書（ＡＩＣ）に格納される情報と同一の情報であり、複数の認定デバイスグループ証明書（ＡＤＧＣ）の集合である認定デバイスグループリスト（ＡＤＧＬ）において登録された全登録デバイス数、あるいは無効化（リボーク）されたデバイス数の少なくともいずれかのデータである。すなわち、ＡＩＣデータは、
（Ａ）ＡＤＧＬへ登録されている全登録デバイス数
（Ｂ）ＡＤＧＬへ登録されている全不正デバイス数
の少なくともいずれかの情報である。
【０１４８】
図１５（ｃ）の認定デバイスグループリスト（ＡＤＧＬ）は、複数の認定デバイスグループ証明書（ＡＤＧＣ）の集合として設定される登録リストであり、リストデータ長、上述したＡＩＣデータ、リストとして登録している認定デバイスグループ証明書（ＡＤＧＣ）数、さらに、認定デバイスグループ証明書（ＡＤＧＣ）情報を格納している。
【０１４９】
図１５（ｂ）は、楕円暗号を適用した認定デバイスグループ証明書（ＡＤＧＣ）データ例を示している。図１３（ｂ）を参照して説明した証明書タイプ（Ｃｅｒｔｉｆｉｃａｔｅ  Ｔｙｐｅ＝２）、図１５（ａ）を参照して説明した［認定デバイスグループ証明書（ＡＤＧＣ）データ長］、［認定デバイスグループ証明書（ＡＤＧＣ）シーケンスナンバー］、［ＡＩＣデータ］、［第１〜最終公開鍵証明書（ＰＫＣ）ＩＤ］、［認定公開鍵証明書情報］が格納され、これらの格納データに対応して管理センタの秘密鍵を適用して生成された電子署名（Ｓｉｇｎａｔｕｒｅ）が設定される。
【０１５０】
（ａ）認定デバイスグループ証明書（ＡＤＧＣ）および（ｃ）の認定デバイスグループリスト（ＡＤＧＬ）は、登録デバイスの変更や、登録デバイスの有効化、無効化などの変更処理に応じて管理センタにおいて随時更新される。［ＡＤＧＬシーケンスナンバー］は、この更新毎に設定される異なるナンバーである。
【０１５１】
図１６は、デバイス数データ証明書として機能するＡＤＧＬインフォメーション証明書（ＡＩＣ）を説明する図である。図１６（ａ）はＡＤＧＬインフォメーション証明書（ＡＩＣ）の証明書データ構成を示し、図１６（ｂ）は、楕円暗号を適用したＡＤＧＬインフォメーション証明書（ＡＩＣ）のデータ構成例を示している。
【０１５２】
図１６（ａ）に示すように、ＡＤＧＬインフォメーション証明書（ＡＩＣ）の証明書データには、［ＡＤＧＬシーケンスナンバー］と［ＡＩＣデータ］が格納される。ＡＤＧＬシーケンスナンバーは、その時点で発行されている最新の認定デバイスグループリスト（ＡＤＧＬ）に対応するシーケンスナンバーである。シーケンスナンバーは、認定デバイスグループリスト（ＡＤＧＬ）の発行毎に例えば１つずつインクリメトされて設定される番号である。
【０１５３】
［ＡＩＣデータ］は、その時点で発行されている最新の認定デバイスグループリスト（ＡＤＧＬ）に対応する
（Ａ）ＡＤＧＬへ登録されている全登録デバイス数
（Ｂ）ＡＤＧＬへ登録されている全無効デバイス数
の少なくともいずれかのデータである。
【０１５４】
情報記録媒体（ディスク）を利用したデータ再生または記録を行なう際、データの入出力を実行するデバイス間、例えばドライブとホスト間では相互認証を行なう。この相互認証の処理において双方の公開鍵証明書（ＰＫＣ）の有効性判定処理を実行することが必要となる。このＰＫＣ有効性判定の際に、認定デバイスグループリスト（ＡＤＧＬ）に含まれる認定デバイスグループ証明書（ＡＤＧＣ）の認定公開鍵証明書情報を参照する。
【０１５５】
しかし、認定デバイスグループ証明書（ＡＤＧＣ）およびの認定デバイスグループリスト（ＡＤＧＬ）は、登録デバイスの変更や、登録デバイスの有効化、無効化などの変更処理に応じて随時更新される。従って、古いＡＤＧＣを適用した有効性判定処理を行なったのでは、既に無効化されているデバイスにコンテンツを出力してしまうといった事態が発生することがある。
【０１５６】
このような事態を防止するため、本発明においては、［認定デバイスグループリスト（ＡＤＧＬ）シーケンスナンバー］、あるいは［ＡＩＣデータ］のいずれかを適用したＡＤＧＬおよびＡＤＧＣの新旧判定を実行し、必要に応じて更新処理を行なう。さらに、更新した認定デバイスグループリスト（ＡＤＧＬ）に含まれる認定デバイスグループ証明書（ＡＤＧＣ）を適用した相互認証処理を行なう。
【０１５７】
図１７に、情報記録媒体、ドライブ、ホストにおける各証明書の格納状況を示す。
情報記録媒体は、１つ以上の認定デバイスグループ証明書（ＡＤＧＣ）を含む認定デバイスグループリスト（ＡＤＧＬ）と、ＡＤＧＬインフォメーション証明書（ＡＩＣ）とをリードイン領域に記録している。
【０１５８】
ドライブは、公開鍵証明書（ＰＫＣ）を不揮発性メモリに格納している。認定デバイスグループリスト（ＡＤＧＬ）は、情報記録媒体から読み出してホストヘ転送する。さらに、認証処理過程において、ホストからホストの公開鍵証明書（ＰＫＣ−Ｈ）登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ）を入力して、ホストの公開鍵証明書（ＰＫＣ−Ｈ）の有効性、すなわちホストの有効性を判定する。さらに、ドライブは、ＡＤＧＬインフォメーション証明書（ＡＩＣ）を不揮発性メモリに格納しており、必要に応じて更新処理を行なう。更新処理は、情報記録媒体またはホストから入力するＡＤＧＬインフォメーション証明書（ＡＩＣ）に従って新旧判定に基づいて実行する。
【０１５９】
ホストは、公開鍵証明書（ＰＫＣ）、認定デバイスグループリスト（ＡＤＧＬ）、ＡＤＧＬインフォメーション証明書（ＡＩＣ）を不揮発性メモリに格納しており、必要に応じてＡＤＧＬ、ＡＩＣの更新処理を行なう。更新処理は、情報記録媒体からドライブ経由、またはホストが接続したサーバからの入力に基づいて実行する。
【０１６０】
次に、ホスト、ドライブにおいて実行するＡＤＧＬインフォメーション証明書（ＡＩＣ）、認定デバイスグループリスト（ＡＤＧＬ）の更新処理の具体的態様について説明する。
なお、ドライブは、
ＡＤＧＬインフォメーション証明書（ＡＩＣ）の更新を実行し、
ホストは、
ＡＤＧＬインフォメーション証明書（ＡＩＣ）と、
認定デバイスグループリスト（ＡＤＧＬ）と、
の更新処理を実行する。なお、認定デバイスグループリスト（ＡＤＧＬ）には１以上の認定デバイスグループ証明書（ＡＤＧＣ）が含まれる。
【０１６１】
なお、以下では更新処理態様について、
（１）ＡＤＧＬシーケンスナンバーに基づく更新処理
（２）ＡＩＣデータ＝登録デバイス数に基づく更新処理
（３）ＡＩＣデータ＝無効（リボーク）デバイス数に基づく更新処理
の３態様について、順次、説明する。
【０１６２】
（１）ＡＤＧＬシーケンスナンバーに基づく更新処理
まず、ＡＤＧＬシーケンスナンバーに基づく更新処理について図１８を参照して説明する。図１８は、情報記録媒体２００に格納されたコンテンツ２５３をドライブ４００を介してホスト５００に出力して再生する際に、ＡＤＧＬインフォメーション証明書（ＡＩＣ）と、認定デバイスグループリスト（ＡＤＧＬ）とをＡＤＧＬシーケンスナンバーに基づいて更新し、ドライブ４００とホスト５００間の相互認証および鍵交換（ＡＫＥ）を更新情報に基づいて実行する処理について説明する図である。なお、コンテンツの出力元をソースとし、コンテンツの入力先をシンクとする。この例では、ドライブ４００がソースでありホスト５００がシンクである。
【０１６３】
まず、ドライブ４００は、情報記録媒体２００に格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１を読み取り、ステップＳ１２１において、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＤＧＬシーケンスナンバーの比較を行う。
【０１６４】
ＡＤＧＬシーケンスナンバーは、前述したように更新毎に新しいナンバー（例えば１インクリメント）が付与され、シーケンスナンバー比較により、情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１との新旧比較が可能となる。例えば、
ＡＩＣ−ＤシーケンスＮｏ．＜ＡＩＣ−ＤＩＳＣシーケンスＮｏ．
である場合に、ＡＩＣ−ＤＩＳＣが、ＡＩＣ−Ｄより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に入れ替える更新処理を実行する。
【０１６５】
なお、ドライブ４００は、ステップＳ１２１における比較更新処理において、まず、情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に付与されている署名を検証し、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）が改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０１６６】
ステップＳ１２２はホスト５００において実行する比較更新処理である。ホスト５００は、ドライブ４００からドライブ４００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を入力し、署名検証により改竄のない証明書であることを確認した後、ホスト５００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１とのＡＤＧＬシーケンスナンバー比較処理を実行する。
ＡＩＣ−ＨシーケンスＮｏ．＜ＡＩＣ−ＤシーケンスＮｏ．
である場合は、ＡＩＣ−Ｄが、ＡＩＣ−Ｈより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１をドライブ４００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１に入れ替える更新処理を実行する。
【０１６７】
なお、ＡＩＣ−ＨシーケンスＮｏ．＜ＡＩＣ−ＤシーケンスＮｏ．
である場合には、ホストがメモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）についても更新処理を実行する。この更新処理は、ドライブ４００を介して情報記録媒体２００の格納している認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換えるか、あるいはネットワークを介して最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新するなどの処理として実行する。
【０１６８】
次に、ドライブ４００は、ステップＳ１２３においてホスト５００のメモリに保持されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１を入力し、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＤＧＬシーケンスナンバーとの比較を行う。
ＡＩＣ−ＤシーケンスＮｏ．＜ＡＩＣ−ＨシーケンスＮｏ．
である場合に、ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１をホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に入れ替える更新処理を実行する。
【０１６９】
なお、ドライブ４００は、ステップＳ１２３における比較更新処理においても、ホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に付与されている署名を検証し、改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０１７０】
ドライブ４００は、ステップＳ１２３における比較更新処理において、さらに、ホスト５００から、ホスト５００のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）５１２に含まれるホストの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得し、署名検証の後、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＤＧＬシーケンスナンバーと、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＤＧＬシーケンスナンバーとの比較を実行する。もし、
ＡＤＧＣ−ＨシーケンスＮｏ．＜ＡＩＣ−ＤシーケンスＮｏ．
である場合、ドライブは、ホストがＡＩＣ−ＤシーケンスＮｏ．に対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、相互認証処理（ＡＫＥ）に進むことなく、処理を中止する。
【０１７１】
ステップＳ１２３において、ドライブ４００が、
ＡＤＧＣ−ＨシーケンスＮｏ．≧ＡＩＣ−ＤシーケンスＮｏ．
であると判定した場合は、次のステップＳ１２４に進む。
【０１７２】
ステップＳ１２４でドライブ４００とホスト５００間で相互認証および鍵交換（ＡＫＥ）処理を実行し、この処理でセッションキーＫｓを生成する。さらに、コンテンツの暗号鍵としてドライブ４００がバスキー（Ｋｂｕｓ）を生成し、バスキー（Ｋｂｕｓ）でコンテンツ２５３を暗号化（ステップＳ１２５）してホスト５００に出力する。さらにバスキーをセッションキーＫｓで暗号化（ステップＳ１２６）してホスト５００に出力する。
【０１７３】
ホスト５００は、ステップＳ１２７において、セッションキーＫｓを適用した復号処理を実行しバスキー（Ｋｂｕｓ）を取得し、ステップＳ１２８において、バスキーを適用した復号処理によりコンテンツを取得する。なお、ステップＳ１２４以下の相互認証およびコンテンツの転送処理については、さらに後段で詳細に説明する。
【０１７４】
本処理例においては、ＡＤＧＬインフォメーション証明書（ＡＩＣ）および認定デバイスグループ証明書（ＡＤＧＣ）に付与されたＡＤＧＬシーケンスナンバーに基づいて、各証明書の新旧を判定し、自デバイスの保持する証明書より新しいＡＤＧＬインフォメーション証明書（ＡＩＣ）や認定デバイスグループ証明書（ＡＤＧＣ）が確認された場合に更新を実行して、更新された認定デバイスグループ証明書（ＡＤＧＣ）に基づいてデバイスの有効性を判定する構成であるので、古い認定デバイスグループ証明書（ＡＤＧＣ）に基づく認証を防止し、不正なコンテンツ利用を排除することが可能となる。
【０１７５】
（２）ＡＩＣデータ＝登録デバイス数に基づく更新処理
次に、ＡＩＣデータを、認定デバイスグループリスト（ＡＤＧＬ）に登録されたデバイス数とした設定において、登録デバイス数に基づいて更新を実行する処理例について図１９を参照して説明する。図１９は、情報記録媒体２００に格納されたコンテンツ２５３をドライブ４００を介してホスト５００に出力して再生する際に、ＡＤＧＬインフォメーション証明書（ＡＩＣ）と、認定デバイスグループリスト（ＡＤＧＬ）とをＡＩＣデータ（登録デバイス数）に基づいて更新し、ドライブ４００とホスト５００間の相互認証および鍵交換（ＡＫＥ）を更新情報に基づいて実行する処理について説明する図である。なお、コンテンツの出力元がソースであり、コンテンツの入力先がシンクであり、この例では、ドライブ４００がソースでありホスト５００がシンクである。
【０１７６】
まず、ドライブ４００は、ステップＳ１３１において、情報記録媒体２００に格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１を読み取り、そのＡＩＣデータ（登録デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（登録デバイス数）との比較を実行する。
【０１７７】
ＡＩＣデータ（登録デバイス数）は、基本的に更新毎に増加する設定であり、ＡＩＣデータ（登録デバイス数）が大きい値を持つものが最新のものであると判定する。例えば、
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＤＩＳＣのＡＩＣデータ
である場合に、ドライブ４００は、ＡＩＣ−ＤＩＳＣが、ＡＩＣ−Ｄより新しいと判断し、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に入れ替える更新処理を実行する。
【０１７８】
なお、ドライブ４００は、ステップＳ１３１における比較更新処理において、まず、情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に付与されている署名を検証し、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）が改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０１７９】
ステップＳ１３２はホスト５００において実行する比較更新処理である。ホスト５００は、ドライブ４００からドライブ４００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を入力し、署名検証により改竄のない証明書であることを確認した後、ホスト５００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１のＡＩＣデータ（登録デバイス数）との比較処理を実行する。
ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合は、ＡＩＣ−Ｄが、ＡＩＣ−Ｈより新しいと判断し、この場合に、ホスト５００は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１をドライブ４００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１に入れ替える更新処理を実行する。
【０１８０】
なお、ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合には、ホストがメモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）についても更新処理を実行する。この更新処理は、ドライブ４００を介して情報記録媒体２００の格納している認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換えるか、あるいはネットワークを介して最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新するなどの処理として実行する。
【０１８１】
さらに、ドライブ４００は、ステップＳ１３３においてホスト５００のメモリに保持されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１を入力し、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（登録デバイス数）との比較を行う。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合に、ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１をホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に入れ替える更新処理を実行する。
【０１８２】
なお、ドライブ４００は、ステップＳ１３３における比較更新処理においても、ホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に付与されている署名を検証し、改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０１８３】
ドライブ４００は、ステップＳ１３３における比較更新処理において、さらに、ホスト５００から、ホスト５００のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）５１２に含まれるホスト登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得し、署名検証の後、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（登録デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（登録デバイス数）との比較を実行する。この比較において、
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ドライブは、ホストがＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、相互認証処理（ＡＫＥ）に進むことなく、処理を中止する。
【０１８４】
ステップＳ１３３において、ドライブ４００が、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
であると判定した場合は、次のステップＳ１３４に進む。
【０１８５】
ステップＳ１３４〜Ｓ１３８において、ドライブ４００とホスト５００間で相互認証および鍵交換（ＡＫＥ）処理、ドライブ４００側のコンテンツ、バスキーの送信処理、ホスト５００側のデータ受信、復号処理が実行されるこれらの処理は、図１８と同様の処理であり、詳細については後段で説明する。
【０１８６】
本処理例においては、ＡＤＧＬインフォメーション証明書（ＡＩＣ）および認定デバイスグループ証明書（ＡＤＧＣ）に付与されたＡＩＣデータとしての登録デバイス数を各証明書の新旧判定に適用している。ＡＩＣデータとしての登録デバイス数は、証明書更新により増加するか、あるいは不変であるが、多くの場合は登録デバイス数の増加であり、無効化（リボーク）された無効デバイスのみ更新された場合は不変である。不変の場合は更新する必要がなく、例えばドライブ４００やホスト５００の証明書格納用の不揮発性メモリとして使用されるフラッシュメモリの書き換え回数を減少させることができる。前述のシーケンスナンバーによる新旧判定の場合は、登録デバイス数が不変であってもシーケンスナンバーが変更された場合は全て更新することになり、フラッシュメモリの使用頻度が多くなるという問題がある。
【０１８７】
ただし、このＡＩＣデータ、すなわち登録デバイス数に基づく証明書の新旧判定を行なう構成においては、例えば無効化（リボーク）デバイスが増加した場合、登録デバイス数を不変のままにしておくと、ドライブやホストにおける更新処理がなされないことになるので、無効化（リボーク）デバイスが増加した場合には、必ず登録デバイス数を増加させるという運用管理が必要となる。無効化（リボーク）デバイスが増加した場合において、登録デバイス数が実増しない場合であっても、例えばダミーの登録デバイスを設定するなどの処理によって登録数を更新することによって運用可能である。
【０１８８】
（３）ＡＩＣデータ＝無効（リボーク）デバイス数に基づく更新処理
次に、ＡＩＣデータを、認定デバイスグループリスト（ＡＤＧＬ）に登録されたデバイス中、無効化（リボーク）された無効デバイス数とした設定において、ＡＩＣデータ、すなわち無効デバイス数に基づく更新処理を実行する場合の処理について図２０を参照して説明する。図２０は、情報記録媒体２００に格納されたコンテンツ２５３をドライブ４００を介してホスト５００に出力して再生する際に、ＡＤＧＬインフォメーション証明書（ＡＩＣ）と、認定デバイスグループリスト（ＡＤＧＬ）とをＡＩＣデータ（無効デバイス数）に基づいて更新し、ドライブ４００とホスト５００間の相互認証および鍵交換（ＡＫＥ）を更新情報に基づいて実行する処理について説明する図である。なお、コンテンツの出力元がソースであり、コンテンツの入力先がシンクであり、この例では、ドライブ４００がソースでありホスト５００がシンクである。
【０１８９】
まず、ドライブ４００は、ステップＳ１４１において、情報記録媒体２００に格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１を読み取り、そのＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を実行する。
【０１９０】
ＡＩＣデータ（無効デバイス数）は、基本的に更新毎に増加する設定であり、ＡＩＣデータ（無効デバイス数）が大きい値を持つものが最新のものであると判定する。例えば、
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＤＩＳＣのＡＩＣデータ
である場合に、ＡＩＣ−ＤＩＳＣが、ＡＩＣ−Ｄより新しいと判断し、この場合に、ドライブ４００は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に入れ替える更新処理を実行する。
【０１９１】
なお、ドライブ４００は、ステップＳ１４１における比較更新処理において、まず、情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に付与されている署名を検証し、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）が改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０１９２】
ステップＳ１４２はホスト５００において実行する比較更新処理である。ホスト５００は、ドライブ４００からドライブ４００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を入力し、署名検証により改竄のない証明書であることを確認した後、ホスト５００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１とのＡＩＣデータ（無効デバイス数）比較処理を実行する。
ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合は、ホスト５００は、ＡＩＣ−ＤがＡＩＣ−Ｈより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１をドライブ４００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１に入れ替える更新処理を実行する。
【０１９３】
なお、ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合には、ホストがメモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）についても更新処理を実行する。この更新処理は、ドライブ４００を介して情報記録媒体２００の格納している認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換えるか、あるいはネットワークを介して最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新するなどの処理として実行する。
【０１９４】
さらに、ドライブ４００は、ステップＳ１４３においてホスト５００のメモリに保持されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１を入力し、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を行う。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合に、ドライブ４００は、ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１をホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に入れ替える更新処理を実行する。
【０１９５】
なお、ドライブ４００は、ステップＳ１４３における比較更新処理においても、ホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に付与されている署名を検証し、改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０１９６】
ドライブ４００は、ステップＳ１４３における比較更新処理において、さらに、ホスト５００から、ホスト５００のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）５１２に含まれるホストの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得し、署名検証の後、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を実行する。この比較において、
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ドライブ４００は、ホストがＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、相互認証処理（ＡＫＥ）に進むことなく、処理を中止する。
【０１９７】
ステップＳ１４３において、ドライブ４００が、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
であると判定した場合は、次のステップＳ１４４に進む。
【０１９８】
ステップＳ１４４〜Ｓ１４８において、ドライブ４００とホスト５００間で相互認証および鍵交換（ＡＫＥ）処理、ドライブ４００側のコンテンツ、バスキーの送信処理、ホスト５００側のデータ受信、復号処理が実行されるこれらの処理は、図１８と同様の処理であり、詳細については後段で説明する。
【０１９９】
本処理例においては、ＡＤＧＬインフォメーション証明書（ＡＩＣ）および認定デバイスグループ証明書（ＡＤＧＣ）に付与されたＡＩＣデータとしての無効デバイス数を各証明書の新旧判定に適用している。ＡＩＣデータとしての無効デバイス数は、証明書更新により増加するかあるいは不変であるが、多くの場合は登録デバイス数のみの増加であって無効デバイス数は不変であり、無効化（リボーク）された無効デバイスが更新された場合は増加する。不変の場合は更新する必要がなく、例えばドライブ４００やホスト５００の証明書格納用の不揮発性メモリとして使用されるフラッシュメモリの書き換え回数を減少させることができる。前述のシーケンスナンバーによる新旧判定の場合は、無効デバイス数が不変であってもシーケンスナンバーが変更された場合は全て更新することになり、フラッシュメモリの使用頻度が多くなるという問題がある。
【０２００】
図１９、図２０を参照して説明したＡＩＣデータに基づくＡＤＧＬインフォメーション証明書（ＡＩＣ）および認定デバイスグループ証明書（ＡＤＧＣ）の新旧判定処理においてドライブおよびホストにおいて実行する比較更新処理１〜３（図１９、図２０参照）の処理手順について図２１、図２２を参照して説明する。
【０２０１】
図２１（ａ）は、ドライブ４００が実行する比較更新処理１、すなわち図１９に示すステップＳ１３１、図２０に示すステップＳ１４１の処理シーケンスを示すフローである。ドライブはステップＳ１５１において、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）を読み出し、ステップＳ１５２において、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）の署名検証を実行する。署名検証により証明書の正当性が確認されない場合（Ｓ１５３：Ｎｏ）は、その後の処理を中止する。この場合コンテンツ転送処理は実行されない。
【０２０２】
署名検証により証明書の正当性が確認された場合（Ｓ１５３：Ｙｅｓ）の場合は、ステップＳ１５４において、情報記録媒体から取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）のＡＩＣデータ（登録デバイス数または無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータ（登録デバイス数または無効デバイス数）との比較を実行する。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＤＩＳＣのＡＩＣデータ
である場合ＡＩＣ−ＤＩＳＣが、ＡＩＣ−Ｄより新しいと判断し、ステップＳ１５５に進み、ドライブは、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）を情報記録媒体から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）に入れ替える更新処理を実行する。上記条件、
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＤＩＳＣのＡＩＣデータ
が満足されない場合は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）を、情報記録媒体から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）に更新する必要がないと判断し、更新処理を行なうことなく処理を終了する。
【０２０３】
次に、図２１（ｂ）のドライブ４００が実行する比較更新処理２、すなわち図１９に示すステップＳ１３３、図２０に示すステップＳ１４３の処理シーケンスについて説明する。ドライブはステップＳ１６１において、ホストからのＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の転送要求を受領後、ステップＳ１６２においてホストからＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）を受領する。ステップＳ１６３において、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の署名検証を実行し、署名検証により証明書の正当性が確認されない場合（Ｓ１６４：Ｎｏ）は、その後の処理を中止する。この場合コンテンツ転送処理は実行されない。
【０２０４】
署名検証により証明書の正当性が確認された場合（Ｓ１６４：Ｙｅｓ）の場合は、ステップＳ１６５において、ホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）のＡＩＣデータ（登録デバイス数または無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータ（登録デバイス数または無効デバイス数）との比較を実行する。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、ステップＳ１６６に進み、ドライブは、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）をホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）に入れ替える更新処理を実行する。上記条件、
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
が満足されない場合は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）をホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）に更新する必要がないと判断し、更新処理を行なわない。
【０２０５】
次に、ステップＳ１６７において、ホストからの認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の受領を確認した後、ステップＳ１６８において、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（登録デバイス数または無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータ（登録デバイス数または無効デバイス数）との比較を実行する。もし、
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ドライブはホストがＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、相互認証処理（ＡＫＥ）に進むことなく、処理を中止する。
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
が成立しない場合は、比較更新処理２を終了する。
【０２０６】
次に、図２２（ｃ）のホスト５００が実行する比較更新処理３、すなわち図１９に示すステップＳ１３２、図２０に示すステップＳ１４２の処理シーケンスについて説明する。ホストはステップＳ１７１において、ドライブに対して、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）の転送要求を実行し、ステップＳ１７２において、ドライブからのＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）の受領を確認すると、ステップＳ１７３において、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）の署名検証を実行し、署名検証により証明書の正当性が確認されない場合（Ｓ１７４：Ｎｏ）は、その後の処理を中止する。この場合コンテンツ転送処理は実行されない。
【０２０７】
ステップＳ１７３において、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）の署名検証により証明書の正当性が確認された場合（Ｓ１７４：Ｙｅｓ）は、ステップＳ１７５において、ホストメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）とのＡＩＣデータ（登録デバイス数または無効デバイス数）比較処理を実行する。
ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合は、ＡＩＣ−Ｄが、ＡＩＣ−Ｈより新しいと判断し、この場合に、ステップＳ１７６に進み、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）をドライブから入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１に入れ替える更新処理を実行する。
【０２０８】
なお、ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合には、ホストがメモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）についても更新処理を実行する。この更新処理は、ドライブを介して情報記録媒体の格納している認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換えるか、あるいはネットワークを介して最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新するなどの処理として実行する。
【０２０９】
次に、図２３を参照して、ドライブおよびホストにおいて実行する比較更新処理１〜３（図１９、図２０参照）の処理において、情報記録媒体（ディスク）、ドライブおよびホスト間で実行されるデータ通信シーケンスについて説明する。
【０２１０】
ステップＳ１８１において、ドライブは情報記録媒体（ディスク）の検出を実行し、情報記録媒体が検出されるとステップＳ１８２において、情報記録媒体（ディスク）のリードイン領域からＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）の読み取りを実行し、ステップＳ１８３において、比較更新処理１（図１９−Ｓ１３１，図２０−Ｓ１４１）を実行する。この比較更新処理１は、
（１）ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）の署名検証
（２）ＡＩＣ−ＤＩＳＣのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータの確認および確認に基づく更新処理が含まれる。
【０２１１】
次にステップＳ１８４において、ホストがディスク検出情報をドライブから取得すると、ステップＳ１８５において、ホストは、ドライブに対してＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）を要求し、ステップＳ１８６において、ホストは、ドライブからＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）を受信する。次にステップＳ１８７において、比較更新処理３（図１９−Ｓ１３２，図２０−Ｓ１４２）を実行する。この比較更新処理３は、
（１）ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）の署名検証
（２）ＡＩＣ−ＤのＡＩＣデータ＞ＡＩＣ−ＨのＡＩＣデータの確認および確認に基づく更新処理が含まれる。
【０２１２】
さらに、
ＡＩＣ−ＤのＡＩＣデータ＞ＡＩＣ−ＨのＡＩＣデータ
である場合、ホストは、ステップＳ１８８において、
認定デバイスグループリスト（ＡＤＧＬ）の更新処理を実行するため、ディスクからの認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）を取得するためドライブに対して、認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）の送信要求を実行し、ドライブはステップＳ１８９においてディスクから認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）を読み取り、ステップＳ１９０において、ホストに送信する。
【０２１３】
ステップＳ１９１において、ホストは、メモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）を認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換える更新処理を実行する。この処理は、
ＡＩＣ−ＤのＡＩＣデータ＞ＡＩＣ−ＨのＡＩＣデータ
である場合にのみ実行される。なお、ホストがネットワーク接続可能な構成である場合には、ネットワークを介して接続されるサーバから最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新してもよい。
【０２１４】
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合、ホストは、ステップＳ１９２において、メモリに格納しているＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）を取得し、ステップＳ１９３においてドライブに送信する。
【０２１５】
ドライブはステップＳ１９４において、比較更新処理２（図１９−Ｓ１３３，図２０−Ｓ１４３）を実行する。この比較更新処理２は、
（１）ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の署名検証
（２）ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータの確認および確認に基づく更新処理が含まれる。
【０２１６】
さらに、ドライブはステップＳ１９５において、ホストから認定デバイスグループリスト（ＡＤＧＬ−Ｈ）に含まれるホストの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を受信し、ステップＳ１９６において、
（１）認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の署名検証
（２）ＡＩＣ−ＤのＡＩＣデータ＞ＡＤＧＣ−ＨのＡＩＣデータの確認および確認に基づく認証処理の実行、中止を決定する。
ＡＩＣ−ＤのＡＩＣデータ＞ＡＤＧＣ−ＨのＡＩＣデータ
が成立する場合には、ホストが古い認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を所有していることになり処理を中止する。
【０２１７】
次に、図２４を参照して、ドライブとホストとをバス接続し、コンテンツの転送を伴う再生処理における全体処理シーケンスについて説明する。
【０２１８】
図２４は、情報記録媒体２００と、情報記録媒体２００をセットし、情報記録媒体２００からのデータ読み取りを実行するドライブ４００と、ドライブ４００からコンテンツ他のデータを接続バスを介して入力し、アプリケーション・プログラムに従ったコンテンツ再生処理を実行するホスト５００の処理を示している。なお、ドライブ４００とホスト５００とを接続するバスは、例えばＡＴＡＰＩ−ＢＵＳによって構成される接続バスである。なお、ＵＳＢその他の接続バスとしてもよい。
【０２１９】
情報記録媒体２００には、先に図９を参照して説明したと同様、図５に示す各種の情報、すなわち公開鍵暗号方式に従った相互認証および鍵交換処理（ＡＫＥ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ ａｎｄ Ｋｅｙ Ｅｘｃｈａｎｇｅ）において適用するための登録デバイスリストとしての登録情報２０１、メディアキー：Ｋｍを格納した暗号鍵ブロックとしてのＲＫＢ２０２、ディスクキー：Ｋｄをメディアキー：Ｋｍで暗号化した暗号化ディスクキー：ＥＫｍ（Ｋｄ）２０３、ＲＯＭマーク：Ｖｅ２０４、ユニットキー生成情報：Ｖｕ２０５、暗号化コンテンツ２０６が格納されている。登録情報２０１には、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）と、認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）が含まれる。
【０２２０】
ドライブ４００には、公開鍵暗号方式に従った管理センタの公開鍵［Ｋｐ＿ｋｉｃ］４０１、公開鍵暗号方式に従ったドライブ対応の秘密鍵［Ｋｓ＿ｄｒｉｖｅ］４０２、公開鍵暗号方式に従ったドライブ対応の公開鍵を格納した公開鍵証明書［Ｃｅｒｔ＿ｄｒｉｖｅ］４０３、およびデバイスキー［Ｋｄｅｖ］４０４、さらに、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を格納している。
【０２２１】
一方、ホスト５００には、公開鍵暗号方式に従った管理センタの公開鍵［Ｋｐ＿ｋｉｃ］５０１、ホスト秘密鍵［Ｋｓ＿ｈｏｓｔ］５０２、ホスト公開鍵を格納したホスト公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］５０３、さらにＡＤＧＬインフォメーション証明書（ＡＩＣ−ｈｏｓｔ）５１１と、認定デバイスグループリスト（ＡＤＧＬ−ｈｏｓｔ）５１２を格納している。
【０２２２】
まず、ステップＳ２０１，Ｓ３０１において、ドライブ４００とホスト５００間で登録情報更新および相互認証および鍵交換（ＡＫＥ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）処理が実行される。
【０２２３】
登録情報更新は、先に図１８〜図２３を参照して説明した処理であり、ＡＤＧＬインフォメーション証明書（ＡＩＣ）と、認定デバイスグループリスト（ＡＤＧＬ）との更新処理が、
（１）ＡＤＧＬシーケンスナンバーに基づく更新処理
（２）ＡＩＣデータ＝登録デバイス数に基づく更新処理
（３）ＡＩＣデータ＝無効（リボーク）デバイス数に基づく更新処理
のいずれかの態様で実行される。
【０２２４】
この登録情報の更新処理に続いて、ドライブ４００とホスト５００間で相互認証および鍵交換（ＡＫＥ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ）が実行される。相互認証および鍵交換（ＡＫＥ：Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ａｎｄ  Ｋｅｙ  Ｅｘｃｈａｎｇｅ）処理の詳細シーケンスについて、図２５を参照して説明する。この処理は、例えば、ＩＳＯ／ＩＥＣ９７９８−３に規定された公開鍵アルゴリズムを利用した相互認証、ＩＳＯ／ＩＥＣ１１７７０−３に規定された公開鍵アルゴリズムを利用した鍵生成処理方式を適用して実行可能である。なお、公開鍵を利用した相互認証方式として実用化された方式としては、例えば、ＤＴＣＰ(Digital Transmission Content Protection) Specification Volume 1 (Informational Version)に記載される方法がある。
【０２２５】
図２５に示す処理シーケンスについて説明する。ステップＳ４０１において、ホストは、ドライブに対して乱数生成処理によって生成したチャレンジデータ［Ｃ＿ｈｏｓｔ］と、公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］を送信する。公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］は、図１４（ｂ）に示す公開鍵証明書である。
【０２２６】
このデータを受け取ったドライブ側は、公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］の署名検証処理により、公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］の正当性を検証する。署名検証処理は、ドライブの保持する管理センタの公開鍵［Ｋｐ＿ｋｉｃ］４０１（図２４参照）を適用して実行される。
【０２２７】
公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］の正当性が検証されると、公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］から公開鍵証明書ＩＤを取得して、ホストの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ）の認定公開鍵証明書情報を参照し、ホストの公開鍵証明書ＩＤが無効化（リボーク）されていない有効なＩＤであるか否かを確認する。ここで適用される認定デバイスグループ証明書（ＡＤＧＣ）は、先の登録情報更新処理において、各種の証明書の新旧比較が実行されて更新された証明書である。
【０２２８】
公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］の正当性が確認されなかったり、あるいは、認定デバイスグループ証明書（ＡＤＧＣ）に基づいて、ホストが登録されていない、もしくは登録されているが無効化（リボーク）されていることが判明した場合にはエラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
【０２２９】
公開鍵証明書［Ｃｅｒｔ＿ｈｏｓｔ］の正当性が確認され、ホストが登録されており、かつ無効化（リボーク）されていない正当な公開鍵証明書を有するホストであることが確認されると、ステップＳ４０２において、ドライブは、ホストに対して乱数生成処理によって生成したチャレンジデータ［Ｃ＿ｄｒｉｖｅ］と、ドライブ側の公開鍵証明書［Ｃｅｒｔ＿ｄｒｉｖｅ］を送信する。
【０２３０】
ホストは、ドライブ側の公開鍵証明書［Ｃｅｒｔ＿ｄｒｉｖｅ］の署名検証を実行する。署名検証処理は、ホスト側で保持する管理センタの公開鍵［Ｋｐ＿ｋｉｃ］５０１（図２４参照）を適用して実行される。
【０２３１】
公開鍵証明書［Ｃｅｒｔ＿ｄｒｉｖｅ］の正当性が確認されると、公開鍵証明書［Ｃｅｒｔ＿ｄｒｉｖｅ］から公開鍵証明書ＩＤを取得して、ドライブの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ）の認定公開鍵証明書情報を参照し、ドライブの公開鍵証明書ＩＤが登録されており、かつ無効化（リボーク）されていない有効なＩＤであるか否かを確認する。ここで適用される認定デバイスグループ証明書（ＡＤＧＣ）は、先の登録情報更新処理において、各種の証明書の新旧比較が実行されて更新された証明書である。
【０２３２】
公開鍵証明書［Ｃｅｒｔ＿ｄｒｉｖｅ］の正当性が確認されなかったり、あるいは、認定デバイスグループ証明書（ＡＤＧＣ）に基づいて、ドライブが登録されていない、もしくは登録されているが無効化（リボーク）されていることが判明した場合にはエラーメッセージの通知などを実行し、処理を終了する。以後のコンテンツ、出力、再生処理は中止される。
【０２３３】
公開鍵証明書［Ｃｅｒｔ＿ｄｒｉｖｅ］の正当性が確認された場合には、ホストは、ドライブから受信したチャレンジデータ［Ｃ＿ｄｒｉｖｅ］に基づく演算を実行しパラメータ［Ａ＿ｈｏｓｔ］を算出し、新たに生成した乱数［Ｒ＿ｈｏｓｔ］とともに、ドライブに送信（ステップＳ４０３）する。
【０２３４】
一方、ドライブは、ホストから受信したチャレンジデータ［Ｃ＿ｈｏｓｔ］に基づく演算を実行しパラメータ［Ａ＿ｄｒｉｖｅ］を算出し、新たに生成した乱数［Ｒ＿ｄｒｉｖｅ］とともに、ホストに送信（ステップＳ４０４）する。
【０２３５】
この処理により、ドライブ、ホストの双方は、乱数[Ｒ_ｈｏｓｔ]、［Ｒ＿ｄｒｉｖｅ］、パラメータ［Ａ＿ｈｏｓｔ］、［Ａ＿ｄｒｉｖｅ］を共有することになり、ドライブと、ホストアプリケーションの双方は、これらの共有データに基づいて共通のセッションキーＫｓを生成（ステップＳ４０５）する。
【０２３６】
ドライブは、さらに、ステップＳ４０６において、乱数に基づいて生成したバスキー：Ｋｂｕｓ、およびバスキーのシーケンス番号：ＳＥＱとの連結データ：［Ｋｂｕｓ‖ＳＥＱ］に、この連結データの改竄検証用データとして算出したハッシュ値［ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］をセッションキー：Ｋｓを用いて暗号化したデータ：ＥＫｓ［（Ｋｂｕｓ‖ＳＥＱ），ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］をホストアプリケーションに送信する。なお、このステップＳ４０６の処理は、図２４において、ステップＳ２０６のバスキー生成処理（Ｇｅｎａｒａｔｅ＿Ｋｂｕｓ）と、ステップＳ２０７のセッションキー：Ｋｓによるバスキーの暗号化処理（ＡＥＳ＿Ｅ）の処理に相当する。
【０２３７】
バスキー：Ｋｂｕｓは、暗号化コンテンツのドライブからホスト側への接続バスを介した転送処理の際の暗号化キーとして用いられる鍵であり、ドライブにおいて乱数に基づいて生成される。バスキーは、例えばディスク挿入検出後の最初の相互認証において乱数生成され、ディスクが排出される、または電源停止まで同じ値が利用される場合や、例えば相互認証のたびに異なるバスキーへ切り替える場合がある。これらの各々の相互認証において、バスキーのすり替え防止を目的として、各バスキー転送に応じたシーケンス番号が対応付けられる。
【０２３８】
図２４に戻り、ドライブ４００が情報記録媒体から取得したコンテンツ等のデータを接続バスを介してホスト５００に転送して再生する処理シーケンスについて説明を続ける。
【０２３９】
ドライブ４００は、ホスト５００との相互認証および鍵交換（ＡＫＥ）が終了すると、ドライブ内に保持するデバイスキー：Ｋｄｅｖ４０４を適用し、ステップＳ２０２において、情報記録媒体２００から読み出した暗号鍵ブロックとしてのＲＫＢ２０２の復号処理を実行して、ＲＫＢ２０２からメディアキー：Ｋｍを取得する。なお、ＲＫＢ２０２からメディアキー：Ｋｍを取得できるのは、コンテンツの利用を認められた機器のみであり、前述したように不正機器としてリボークされた機器の持つデバイスキーではＲＫＢの復号が出来ず、メディアキー：Ｋｍを取得することができない。
【０２４０】
ステップＳ２０２においてメディアキー：Ｋｍの取得に成功すると、次に、ステップＳ２０３において、取得したメディアキー：Ｋｍを適用して、情報記録媒体２００から取得した暗号化ディスクキー：ＥＫｍ（Ｋｄ）２０３の復号処理を実行し、ディスクキー：Ｋｄを取得する。
【０２４１】
次にステップＳ２０４において、取得したディスクキー：Ｋｄと、情報記録媒体２００から取得したＲＯＭマーク：Ｖｅ２０４に基づく鍵生成処理、例えばＡＥＳ暗号アルゴリズムに従った鍵生成処理を実行してエンベデッドキー：Ｋｅを生成する。ＡＥＳ暗号アルゴリズムに従った鍵生成処理は、先に図１０を参照して説明した通りである。
【０２４２】
ドライブは、ステップＳ２０５において、エンベデッドキー：Ｋｅを先の相互認証および鍵交換処理（ＡＫＥ）において生成したセッションキー：Ｋｓで暗号化してホスト５００に対して接続バスを介して送信する。
【０２４３】
ステップＳ２０６、およびステップＳ２０７の処理は、先に図２５を参照して説明した相互認証および鍵交換処理（ＡＫＥ）のステップＳ４０６の処理に相当し、乱数に基づいて、バスキー：Ｋｂｕｓを生成（ステップＳ２０６）し、セッションキー：Ｋｓでバスキー：Ｋｂｕｓを含むデータを暗号化（ステップＳ２０７）して生成したデータをホスト５００に対して接続バスを介して送信する処理である。送信データは、先に図２５を参照して説明したように、乱数に基づいて生成したバスキー：Ｋｂｕｓ、およびバスキーのシーケンス番号：ＳＥＱとの連結データ：［Ｋｂｕｓ‖ＳＥＱ］と、この連結データの改竄検証用データとして算出したハッシュ値［ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］とをセッションキー：Ｋｓを用いて暗号化したデータ：ＥＫｓ［（Ｋｂｕｓ‖ＳＥＱ），ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］である。
【０２４４】
さらに、ドライブ４００は、ステップＳ２０８において、情報記録媒体２００から読み出した暗号化コンテンツ２０６のユーザ制御データ（ＵＣＤ）に含まれる出力制御情報と、相互認証および鍵交換処理（ＡＫＥ）処理において、ホスト５００から取得したホストの公開鍵証明書の格納データとに基づく出力制御を実行し、ステップＳ２０９において、暗号化コンテンツ２０６を制御態様に応じてバスキー：Ｋｂｕｓを用いて暗号化し、生成した暗号化データを接続バスを介してホスト５００に対して出力する。
【０２４５】
情報記録媒体２００から読み出される暗号化コンテンツ２０６は、例えばスクランブル処理のなされた暗号化データであり、ドライブは、このスクランブル処理されたデータをバスキー：Ｋｂｕｓを適用して再暗号化してホスト側に出力する。このバスキー：Ｋｂｕｓを適用した再暗号化処理によるデータ出力を実行することにより、バスキー：Ｋｂｕｓを保持している認証のなされたホストのみが、バスキー：Ｋｂｕｓを適用した復号が可能となり、復号処理によってコンテンツ３５０を取得することが可能となる。
【０２４６】
すなわち、先に、図４を参照して説明したように、コンテンツを入力するＰＣ（ホスト）側でのアプリケーションの切り替えによるコンテンツの迂回取得や、ドライブとホストとの接続バスの転送データを盗聴することによるコンテンツ取得を行なっても、取得されるコンテンツは、バスキー：Ｋｂｕｓによって暗号化されたデータであり、バスキー：Ｋｂｕｓを保有しているのは、ドライブとの認証の成立した特定のホストアプリケーションのみであり、その特定のホストアプリケーションを適用しない限り、入力コンテンツの復号は実行できない。ＣＳＳスクランブルの解除プログラムのみではバスキー：Ｋｂｕｓによって暗号化されたデータの復号は実行できず、コンテンツの不正利用が防止可能となる。
【０２４７】
このように、本発明のドライブ、ホスト等の装置は、前述の新旧判定に基づいて選択された新しい認定デバイスグループ証明書に従って、認証対象デバイスから取得した公開鍵証明書の有効性判定処理を実行するとともに、認証対象デバイスとの相互認証および鍵交換（ＡＫＥ）を実行し、相互認証の成立を条件として、コンテンツ通信路と、コンテンツの暗号処理に適用する鍵の通信路を含むセキュア通信路を設定し、この通信路を介してデータ通信を実行する。
【０２４８】
バスキー：Ｋｂｕｓを適用した暗号化コンテンツ２０６の暗号化処理態様について、図２６を参照して説明する。バスキー：Ｋｂｕｓを適用した暗号化コンテンツ２０６の暗号化処理は、例えば図２６に示すように、ＡＥＳ−ＣＢＣモードを適用したブロック暗号化処理によって実行される。
【０２４９】
ドライブ４００は、情報記録媒体２００から読み出される暗号化コンテンツに対して、ドライブにおいて生成したバスキー：Ｋｂｕｓを適用して、所定データブロック単位（１６バイト）で暗号化する処理を実行する。
【０２５０】
まず、情報記録媒体２００から読み出される暗号化コンテンツの構成データである２０４８バイトのセクタデータ５５０から先頭の１６バイトデータを取得し、初期値：ＩＶｂとの排他論理和（ＸＯＲ）結果を、ＡＥＳ暗号処理部［ＡＥＳ＿Ｅ］５５１に入力し、バスキー：Ｋｂｕｓを適用したＡＥＳ暗号アルゴリズムに従った暗号処理を実行して１６バイトブロックデータの暗号化データを生成する。初期値：ＩＶｂは、予め設定された定数である。ＩＶｂは、例えば、セクタデータ５５０に対応するユーザ制御データ（ＵＣＤ）から取得されるという場合もある。
【０２５１】
さらに、この生成データは、次のブロックの暗号化に適用する入力値として適用される。以下、各１６バイトのブロックデータ毎に排他論理和（ＸＯＲ）およびＡＥＳ暗号処理を同様に繰り返し実行して、バスキーによる暗号化セクタデータ５５２を生成し、このデータをＡＴＡＰＩ−ＢＵＳなどの接続バスを介してホスト５００側のアプリケーションに向けて送信する。ホスト５００側ではこの入力暗号化データを復号して再生処理を行なう。
【０２５２】
図２４に戻り、ホスト５００側の処理シーケンスについて説明する。ホスト５００は、まず、前述したようにステップＳ３０１においてドライブ４００との相互認証および鍵交換（ＡＫＥ）を実行し、セッションキー：Ｋｓを取得する。
【０２５３】
次に、ステップＳ３０２において、ドライブから接続バスを介して入力したセッションキー：Ｋｓによって暗号化されたエンベデッドキー：Ｋｅ、すなわち［ＥＫｓ（Ｋｅ）］に対して、セッションキー：Ｋｓを適用した復号処理を実行しエンベデッドキー：Ｋｅを取得する。
【０２５４】
さらに、ステップＳ３０３において、ドライブから接続バスを介して入力したユニットキー生成情報：Ｖｕに対してエンベデッドキー：Ｋｅを適用したＡＥＳ鍵生成処理（図１０参照）を実行し、ユニットキー：Ｋｕを生成する。
【０２５５】
さらに、ステップＳ３０４において、ドライブから接続バスを介して入力したセッションキー：Ｋｓによって暗号化されたバスキー：Ｋｂｕｓ、すなわち［ＥＫｓ（Ｋｂｕｓ）］に対して、セッションキー：Ｋｓを適用した復号処理を実行しバスキー：Ｋｂｕｓを取得する。
【０２５６】
なお、先に、図２５を参照して説明したように、ドライブから送信されるバスキー：Ｋｂｕｓを含むデータは、バスキー：Ｋｂｕｓおよびバスキーのシーケンス番号：ＳＥＱとの連結データ：［Ｋｂｕｓ‖ＳＥＱ］と、この連結データの改竄検証用データとして算出したハッシュ値［ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］とをセッションキー：Ｋｓを用いて暗号化したデータ：ＥＫｓ［（Ｋｂｕｓ‖ＳＥＱ），ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］である。
【０２５７】
ホスト５００のアプリケーションは、ステップＳ３０４において、データ：ＥＫｓ［（Ｋｂｕｓ‖ＳＥＱ），ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］をセッションキー：Ｋｓで復号し、バスキー：Ｋｂｕｓおよびバスキーのシーケンス番号：ＳＥＱとの連結データ：［Ｋｂｕｓ‖ＳＥＱ］と、この連結データの改竄検証用データとして算出したハッシュ値［ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］とを取得する。
【０２５８】
次に、ステップＳ３０５において、連結データ：［Ｋｂｕｓ‖ＳＥＱ］のハッシュ値を算出し、ドライブからの入力データ中に含まれるハッシュ値［ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］と比較を実行する。両ハッシュ値が一致していれば、連結データ：［Ｋｂｕｓ‖ＳＥＱ］が改竄されていないものと判定し、ステップＳ３０６におけるバスキー：Ｋｂｕｓを適用したコンテンツ復号処理に移行する。
【０２５９】
ステップＳ３０６では、ドライブ４００から入力するバスキー：Ｋｂｕｓによって再暗号化された暗号化コンテンツの復号処理を実行する。
【０２６０】
バスキー：Ｋｂｕｓによって再暗号化された暗号化コンテンツの復号処理の詳細について、図２７を参照して説明する。バスキー：Ｋｂｕｓを適用した暗号化コンテンツの復号処理は、例えば図２７に示すように、ＡＥＳ−ＣＢＣモードを適用したブロック復号処理によって実行される。
【０２６１】
ホスト５００のアプリケーションは、ドライブ４００から接続バスを介して入力する暗号化コンテンツに対して、ドライブから入力したバスキー：Ｋｂｕｓを適用して、所定データブロック単位（１６バイト）で復号する処理を実行する。
【０２６２】
まず、ドライブ４００から接続バスを介して入力する暗号化コンテンツの構成データである２０４８バイトのセクタデータ５７０から先頭の１６バイトデータを取得し、ＡＥＳ復号処理部［ＡＥＳ＿Ｄ］５７１に入力し、バスキー：Ｋｂｕｓを適用したＡＥＳ暗号アルゴリズムに従った復号処理を実行し、さらに、初期値：ＩＶｂとの排他論理和（ＸＯＲ）演算を実行して復号結果を得る。初期値：ＩＶｂは、予め設定された定数である。ＩＶｂは、例えば、セクタデータ５７０に対応するユーザ制御データ（ＵＣＤ）から取得されるという場合もある。
【０２６３】
さらに、１６バイト単位の復号結果データは、次のブロックの復号処理に適用する入力値として適用される。以下、各１６バイトのブロックデータ毎にＡＥＳ復号処理および排他論理和（ＸＯＲ）を同様に繰り返し実行して、バスキーによる暗号化を解除したセクタデータ、すなわち、情報記録媒体２００に格納されたデータ状態としての暗号化（スクランブル）セクタデータ５７２を取得する。
【０２６４】
さらに、ホスト５００は、図２４に示すステップＳ３０７において、ユニットキー：Ｋｕを適用して、情報記録媒体２００に格納されたデータ状態としての暗号化コンテンツの復号処理を実行する。この復号処理は、先に図１１を参照して説明したと同様の処理として実行される。
【０２６５】
以上の処理により、ホスト５００は、復号コンテンツ５２０を取得し、スピーカ、ディスプレイ等の出力部に対する出力処理を行いコンテンツ再生を実行する。
【０２６６】
このように、情報記録媒体のデータ読み取りを実行するドライブにおいて、情報記録媒体から読み出したスクランブル処理されたデータをバスキー：Ｋｂｕｓを適用して再暗号化してホスト側に出力する構成としたので、バスキー：Ｋｂｕｓを保持しているホスト側アプリケーション、すなわちドライブとの相互認証が成立したホストアプリケーションのみにおいてバスキー：Ｋｂｕｓを適用した復号が可能となり、復号処理による暗号化コンテンツの利用が可能となる。
【０２６７】
従って、コンテンツを入力するＰＣ（ホスト）側でのアプリケーションの切り替えによるコンテンツの迂回取得や、ドライブとホストとの接続バスの転送データを盗聴することによるコンテンツ取得を行なってもバスキー：Ｋｂｕｓによって暗号化されたデータの復号は、ドライブとの相互認証が成立し、同一のバスキー：Ｋｂｕｓを持つ唯一のアプリケーションのみが可能となるので、他のアプリケーション、例えばＣＳＳスクランブルの解除プログラムはバスキー：Ｋｂｕｓによる暗号化データの復号が不可能でありコンテンツの不正利用が防止される。
【０２６８】
次に、図２８、図２９を参照して、コンテンツ再生処理におけるドライブとホスト各々の処理シーケンスについて説明する。
【０２６９】
まず、図２８を参照して、ドライブからホストに対するコンテンツ出力を制御するシーケンスについて説明する。
【０２７０】
図２８のフローの各ステップについて説明する。まず、ステップＳ５１１においてドライブに対する情報記録媒体（ディスク）の挿入を検知し、ステップＳ５１２において、バス接続されたホスト側でのコンテンツ再生処理を実行するホストアプリケーションの起動を検知する。これらが検知されたことを条件として、ステップＳ５１３に進み、ホスト側からの相互認証要求を待機し、相互認証要求を受信すると、ステップＳ５１４において、先に説明した登録情報の更新処理と公開鍵暗号方式に従った相互認証および鍵交換（ＡＫＥ）処理を実行する。なお、登録情報の更新処理は、相互認証要求をホストから受信する以前に実行してもよい。
【０２７１】
ステップＳ５１５において、相互認証および鍵交換（ＡＫＥ）処理の完了が確認されると、ステップＳ５１６に進み、ドライブは、バスキー：Ｋｂに対応する乱数Ｒの生成処理を実行し、この生成乱数Ｒをバスキー：Ｋｂとする。この処理は、図２４におけるステップＳ２０６の処理に相当する。なお、バスキー：Ｋｂには、シーケンス番号が対応付けられ、バスキーのすり替えを防止する。
【０２７２】
ステップＳ５１７において、ホスト側からバスキーの転送要求を受領すると、ステップＳ５１８において、バスキー：Ｋｂをホスト側に転送する。この処理は、図２４におけるステップＳ２０７の処理に相当する。なお、このバスキー転送は、図２５の相互認証および鍵交換（ＡＫＥ）処理の最終ステップＳ４０６に相当する処理であり、ドライブは、バスキー：Ｋｂｕｓおよびバスキーのシーケンス番号：ＳＥＱとの連結データ：［Ｋｂｕｓ‖ＳＥＱ］と、この連結データの改竄検証用データとして算出したハッシュ値［ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］とをセッションキー：Ｋｓを用いて暗号化したデータ：ＥＫｓ［（Ｋｂｕｓ‖ＳＥＱ），ｈａｓｈ（Ｋｂｕｓ‖ＳＥＱ）］を生成してホスト側に送信する。
【０２７３】
次に、ステップＳ５１９では、新たな相互認証要求がないことを確認し、また、ステップＳ５２０では、情報記録媒体の排出がなされないことを確認して、ステップＳ５２１において、ホスト側のコンテンツ取得要求、すなわちセクタデータの読み取り要求がなされるまで待機する。
【０２７４】
なお、ステップＳ５１９において、新たな相互認証要求があった場合は、ステップＳ５１４に戻り相互認証および鍵交換（ＡＫＥ）処理を実行し、新たなセッションキーの生成、バスキーの送信を実行する。この際に生成するバスキーは、シーケンス番号：２のバスキーであり、先に生成したバスキー（シーケンス番号１）とは同じバスキーとなる。
【０２７５】
なお、ステップＳ５２０において、ドライブからのディスク排出があったと判定した場合は、ステップＳ５１１に戻り、初期状態に設定され、生成済みのバスキー、セッションキー等のすべてのデータはリセット、すなわち消去される。
【０２７６】
ステップＳ５２１において、ホスト側からセクタデータの読み出し要求があると、ドライブは、ステップＳ５２２において、読み出し対象のセクタデータに対応するセクタヘッダ（ユーザ制御データ）から出力制御情報を読み取り、［バスプロテクションフラグ：ＢＰＦ］の値を判定する。この処理は、図２４のステップＳ２０８の処理に相当する。
【０２７７】
バスプロテクションフラグ：ＢＰＦは、先に図８を参照して説明したように、
ＢＰＦ＝１：出力制限あり、バス暗号化あり、
ＢＰＦ＝０：出力制限なし、
の設定情報である。
【０２７８】
ステップＳ５２２において、読み出し対象のセクタデータに対応するセクタヘッダ（ユーザ制御データ）の出力制御情報中のバスプロテクションフラグ：ＢＰＦが［１］に設定されていると判定した場合は、ステップＳ５２３に進み、情報記録媒体から読出したセクタデータをバスキー：Ｋｂｕｓで暗号化して、ステップＳ５２４においてホスト側に出力する。なお、ステップＳ５２３におけるセクタデータの暗号化処理は、例えば、先に図２６を参照して説明したＡＥＳ−ＣＢＣモードを適用した暗号化処理として実行される。
【０２７９】
ステップＳ５２２において、読み出し対象のセクタデータに対応するセクタヘッダ（ユーザ制御データ）の出力制御情報中のバスプロテクションフラグ：ＢＰＦが［０］に設定されていると判定した場合は、ステップＳ５２３をスキップし、情報記録媒体から読出したセクタデータのバスキー：Ｋｂｕｓによる暗号化処理を実行することなく、ステップＳ５２４において、情報記録媒体からの読出しコンテンツをそのままホスト側に出力する。なお、この読出しコンテンツは、例えばプレイリストやファイルシステム情報などである。
【０２８０】
このように、ドライブは、読み出し対象のセクタデータに対応するセクタヘッダ（ユーザ制御データ）の出力制御情報中のバスプロテクションフラグ：ＢＰＦが［０］か［１］かに基づいてバスキーによる暗号化の要否を判定し、バスキーによる暗号化の必要なデータである場合に、出力コンテンツのバスキーによる暗号化を実行して出力する。
【０２８１】
次に、図２９を参照して、ホスト側の処理について説明する。ステップＳ５５１において、再生アプリケーション・プログラムを起動し、ステップＳ５５２においてディスクがドライブに挿入されたことの通知を受領すると、登録情報の更新処理およびドライブとの相互認証、セッションキーの共有処理を実行する。
【０２８２】
ステップＳ５５４において、相互認証および鍵交換（ＡＫＥ）処理の完了が確認されると、ステップＳ５５５に進み、ホストは、ドライブに対して、エンベデッドキー：Ｋｅを要求する。エンベデッドキー：Ｋｅは、ディスクキー：Ｋｄと、情報記録媒体から取得したＲＯＭマーク：Ｖｅに基づく鍵生成処理、例えばＡＥＳ暗号アルゴリズムに従った鍵生成処理によってドライブで生成される鍵であり、セッションキーＫｓによって暗号化されてホストに送信される。
【０２８３】
ステップＳ５５６において、暗号化されたエンベデッドキー：Ｋｅをドライブから受信すると、ステップＳ５５７において、セッションキーＫｓを適用して復号を実行し、エンベデッドキー：Ｋｅを取得する。さらに、ホストはステップＳ５５８において、暗号化コンテンツの復号処理に適用する鍵の生成に必要となる情報としての記録シード（ＲＥＣ  ＳＥＥＤ）であるユニットキー生成情報：Ｖｕの転送をドライブに要求し、ステップＳ５５９においてユニットキー生成情報：Ｖｕを受信すると、ステップＳ５６０において、エンベデッドキー：Ｋｅとユニットキー生成情報：Ｖｕとに基づいてユニットキー：Ｋｕを生成する。この処理は、図２４のステップＳ３０３の処理に相当する。
【０２８４】
次にホストは、ステップＳ５６１においてバスキー：Ｋｂｕｓの送信要求をドライブに出力し、ステップＳ５６２において、接続バスを介して入力したセッションキー：Ｋｓによって暗号化されたバスキー：Ｋｂｕｓを取得すると、ステップＳ５６３において、セッションキー：Ｋｓを適用した復号処理を実行しバスキー：Ｋｂｕｓを取得する。この処理は、図２４のステップＳ３０５の処理に相当する。
【０２８５】
次に、ＰＣの再生ソフトウェアの完了（Ｓ５６４）がなされておらず、ディスク排出がない（Ｓ５６５）ことの確認の後、ユーザの指示などによりセクタデータの読み出しを行うと判定した場合（Ｓ５６６：Ｙｅｓ）は、ステップＳ５６７においてドライブに対してセクタデータの転送要求を出力する。
【０２８６】
ドライブからセクタデータを受信（Ｓ５６８）し、データが暗号化データである場合（Ｓ５６９：Ｙｅｓ）は、ステップＳ５７０でバスキー：Ｋｂｕｓによって暗号化された暗号化コンテンツの復号処理を実行する。
【０２８７】
バスキー：Ｋｂｕｓによって暗号化された暗号化コンテンツの復号処理は、先に図２７を参照して説明した通り、例えば、ＡＥＳ−ＣＢＣモードを適用したブロック復号処理によって実行される。
【０２８８】
さらに、ホストは、ステップＳ５７１において、ユニットキー：Ｋｕを適用して暗号化コンテンツの復号処理を実行する。この復号処理は、先に図１１を参照して説明したと同様の処理として実行される。以上の処理により、ホストは、復号コンテンツを取得し、コンテンツ再生を実行する。
【０２８９】
上述した説明においては、情報記録媒体からのデータ再生処理を中心として説明したが、ホストが生成あるいは外部から取得したデータをドライブを介して情報記録媒体に記録する場合にも、ドライブとホスト間では相互認証が実行される。この場合にも上述した登録情報の更新、すなわち、ＡＤＧＬインフォメーション証明書（ＡＩＣ）と認定デバイスグループリスト（ＡＤＧＬ）との更新処理を実行する。更新処理態様としては、
（１）ＡＤＧＬシーケンスナンバーに基づく更新処理
（２）ＡＩＣデータ＝登録デバイス数に基づく更新処理
（３）ＡＩＣデータ＝無効（リボーク）デバイス数に基づく更新処理
の３態様のいずれかが実行されることになる。
【０２９０】
図３０を参照して、情報記録媒体２００に対するデータ記録処理を実行する際の登録情報の更新処理例として、ＡＩＣデータ＝無効（リボーク）デバイス数に基づく更新処理シーケンスを説明する。
【０２９１】
図３０は、情報記録媒体２００に対してコンテンツ２５３をドライブ４００を介してホスト５００から入力して記録する際に、ＡＤＧＬインフォメーション証明書（ＡＩＣ）と、認定デバイスグループリスト（ＡＤＧＬ）とをＡＩＣデータ（無効デバイス数）に基づいて更新し、ドライブ４００とホスト５００間の相互認証および鍵交換（ＡＫＥ）を更新情報に基づいて実行する処理について説明する図である。なお、コンテンツの出力元がソースであり、コンテンツの入力先がシンクである。この例では、ホスト５００がソースであり、ドライブ４００がシンクである。
【０２９２】
まず、ドライブ４００は、ステップＳ６０１において、データ書き込み可能な情報記録媒体２００に格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１を読み取り、そのＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を実行する。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＤＩＳＣのＡＩＣデータ
である場合に、ＡＩＣ−ＤＩＳＣが、ＡＩＣ−Ｄより新しいと判断し、この場合に、ドライブ４００は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に入れ替える更新処理を実行する。
【０２９３】
なお、ドライブ４００は、ステップＳ６０１における比較更新処理において、まず、情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に付与されている署名を検証し、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）が改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０２９４】
ステップＳ６０２はホスト５００において実行する比較更新処理である。ホスト５００は、ドライブ４００からドライブ４００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を入力し、署名検証により改竄のない証明書であることを確認した後、ホスト５００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１とのＡＩＣデータ（無効デバイス数）比較処理を実行する。
ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合は、ＡＩＣ−Ｄが、ＡＩＣ−Ｈより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１をドライブ４００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１に入れ替える更新処理を実行する。
【０２９５】
なお、ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合には、ホストがメモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）についても更新処理を実行する。この更新処理は、ドライブ４００を介して情報記録媒体２００の格納している認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換えるか、あるいはネットワークを介して最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新するなどの処理として実行する。
【０２９６】
ドライブ４００は、ステップＳ６０３においてホスト５００のメモリに保持されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１を入力し、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）の比較を行う。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合に、ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１をホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に入れ替える更新処理を実行する。
【０２９７】
なお、ドライブ４００は、ステップＳ６０３における比較更新処理においても、ホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に付与されている署名を検証し、改竄されていない正当な証明書であることを確認する。この確認の後、比較、更新を実行する。
【０２９８】
さらに、ドライブ４００は、ステップＳ６０３における比較更新処理において、ホスト５００から、ホスト５００のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）５１２に含まれるホストの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得し、署名検証の後、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を実行する。もし、
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ドライブは、ホストがＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、相互認証処理（ＡＫＥ）に進むことなく、処理を中止する。
【０２９９】
ステップＳ６０３において、ドライブ４００が、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
であると判定した場合は、次のステップＳ６０４に進む。
【０３００】
ステップＳ６０４〜Ｓ６０８の処理は、
Ｓ６０４：ドライブ４００とホスト５００間で相互認証および鍵交換（ＡＫＥ）処理、
Ｓ６０５：ドライブ４００側において生成したバスキー：Ｋｂｕｓのセッシヨンキー：Ｋｓによる暗号化および送信、
Ｓ６０６：ホスト５００におけるセッシヨンキー：Ｋｓによる復号処理によるバスキー：Ｋｂｕｓ取得
Ｓ６０７：ホスト５００におけるバスキー：Ｋｂｕｓによるコンテンツの暗号化送信処理
Ｓ６０８：ドライブ４００におけるバスキー：Ｋｂｕｓによるコンテンツの復号処理および記録処理
である。
【０３０１】
図３０に示す例は、ＡＩＣデータが、無効（リボーク）デバイス数である場合の更新処理であるが、ＡＤＧＬシーケンスナンバーに基づく更新処理、ＡＩＣデータ＝登録デバイス数に基づく更新処理も、先に説明したコンテンツ再生時の登録情報の更新とほぼ同様の処理として実行される。
【０３０２】
上述した各処理例では、ドライブ側において、ホスト側から入力する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータと、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータとの比較において、ホスト側から入力する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）がドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）より古いものである場合、相互認証処理に移行することなく、処理を打ち切りにする設定として説明したが、このような場合に、ホスト側に新しい認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の取得機会を与え、ドライブは、ホストが取得した新しい認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）について所定回数繰り返して、新旧比較を行う構成例について図３１、図３２を参照して説明する。
【０３０３】
図３１は、情報記録媒体２００からのデータ再生処理を実行する際の登録情報の更新処理例として、ＡＩＣデータ＝無効（リボーク）デバイス数に基づく更新処理シーケンスを示している。
【０３０４】
まず、ドライブ４００は、ステップＳ６２１において、情報記録媒体２００に格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１を読み取り、署名を検証し、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）が改竄されていない正当な証明書であることを確認した後、そのＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を実行する。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＤＩＳＣのＡＩＣデータ
である場合に、ＡＩＣ−ＤＩＳＣが、ＡＩＣ−Ｄより新しいと判断し、この場合に、ドライブ４００は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に入れ替える更新処理を実行する。
【０３０５】
次に、ステップＳ６２２において、ホスト５００は、ドライブ４００からドライブ４００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を入力し、署名検証により改竄のない証明書であることを確認した後、ホスト５００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１とのＡＩＣデータ（無効デバイス数）比較処理を実行する。
ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合は、ＡＩＣ−Ｄが、ＡＩＣ−Ｈより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１をドライブ４００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１に入れ替える更新処理を実行する。
【０３０６】
なお、ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合には、ホストがメモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）についても更新処理を実行する。この更新処理は、ドライブ４００を介して情報記録媒体２００の格納している認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換えるか、あるいはネットワークを介して最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新するなどの処理として実行する。
【０３０７】
ドライブ４００は、ステップＳ６２３においてホスト５００のメモリに保持されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１を入力し、署名確認の後、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）の比較を行う。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合に、ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１をホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に入れ替える更新処理を実行する。
【０３０８】
さらに、ドライブ４００は、ステップＳ６２３における比較更新処理において、ホスト５００から、ホスト５００のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）５１２に含まれるホストの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得し、署名検証の後、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を実行する。この比較処理において、
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ドライブは、ホストがＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、ホストに対して新しい認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の取得および送信を要求するとともに、カウンタ４１２の値を１インクリメントする。この認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）再取得要求は、最大繰り返し回数が設定されており、例えば最大繰り返し回数＝５の場合、カウンタ４１２の値が５になるまで、再取得要求を行う。この許容回数内にホストから入力した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
を満足することになった場合には、その後の処理、すなわち、相互認証処理（ＡＫＥ）に進む。許容回数の再取得処理において取得した証明書が、すべて
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合は、相互認証処理（ＡＫＥ）に進むことなく処理を中止する。
【０３０９】
許容回数（例えば５回）以内にホストから入力した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
を満足することになった場合には、ステップＳ６２４〜Ｓ６２８の処理、すなわち、ドライブ４００とホスト５００間で相互認証および鍵交換（ＡＫＥ）処理、ドライブ４００のバスキー、コンテンツの送信、ホスト５００のコンテンツの復号が実行されることになる。
【０３１０】
図３２を参照して、ドライブ４００が実行する図３１のステップＳ６２３の処理、すなわちホスト側に認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を含む認定デバイスグループリスト（ＡＤＧＬ−Ｈ）の再取得を促す処理の詳細について説明する。
【０３１１】
ドライブはステップＳ７０１において、ホストからのＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の転送要求を受領後、ステップＳ７０２においてホストからＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）を受領する。ステップＳ７０３において、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の署名検証を実行し、署名検証により証明書の正当性が確認されない場合（Ｓ７０４：Ｎｏ）は、その後の処理を中止する。この場合コンテンツ転送処理は実行されない。
【０３１２】
署名検証により証明書の正当性が確認された場合（Ｓ７０４：Ｙｅｓ）の場合は、ステップＳ７０５において、ホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）のＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータ（無効デバイス数）との比較を実行する。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、ステップＳ７０６に進み、ドライブは、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）をホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）に入れ替える更新処理を実行する。上記条件、
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
が満足されない場合は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）がホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）より新しいと判断し、更新処理を行なわない。
【０３１３】
次に、ステップＳ７０７において、ホストからの認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の受領を確認した後、ステップＳ７０８において、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータ（無効デバイス数）との比較を実行する。
【０３１４】
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
が成立していない場合は、ＡＩＣ−ＤのＡＩＣデータに対応する新しいバージョンの認定デバイスグループ証明書であると判断し、ステップＳ７１１においてカウンタ＝０とするリセット処理を実行して、比較更新処理を終了し、次の処理、すなわち相互認証処理に移行する。
【０３１５】
一方、ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ホストは、ＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、ステップＳ７０９に進み、カウンタが許容再取得回数以下であるか否かを判定する。
【０３１６】
カウンタが許容再取得回数以下である場合は、ステップＳ７１０においてカウンタを１つインクリメントして、ホストに対して再度の認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の送信を要求し、ステップＳ７０７以下を繰り返し実行する。
【０３１７】
ステップＳ７０９において、カウンタが許容再取得回数に達していた場合は、相互認証処理（ＡＫＥ）に進むことなく、処理を中止する。
【０３１８】
本処理例に従えば、ホストは自己の保有する認定デバイスグループリスト（ＡＤＧＬ−Ｈ）の更新機会を与えられることになるので、外部から認定デバイスグループリスト（ＡＤＧＬ）を取得してコンテンツの再生や記録を行なうことが可能となる。
【０３１９】
なお、図３１を参照して説明した処理は、ＡＩＣデータが、無効（リボーク）デバイス数である場合の更新処理であるが、ＡＤＧＬシーケンスナンバーに基づく更新処理、ＡＩＣデータ＝登録デバイス数に基づく更新処理も同様、再取得処理を許容した処理として実行可能である。
【０３２０】
［４．カウンタに基づくアクセス許容処理］
図３１、図３２を参照して説明した処理例では、ドライブ側において、ホスト側から入力する認定デバイスグループ証明書に設定されたＡＩＣデータと、ドライブの保持する証明書の新旧判定用データとしてのＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータとをドライブで比較し、ホスト側から入力した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）のＡＩＣデータがドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）より古いものである場合、予め定めた許容回数、ホスト側に新しい認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得する機会を与えて、許容回数以内にホストが取得した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）のＡＩＣデータが、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古いものでなくなった場合に、相互認証処理に移行して、相互認証の成立に基づいて情報記録媒体に対するアクセスを許容する構成であった。
【０３２１】
しかし、例えばホストがネットワーク接続できる環境にない場合、例えば飛行機での移動中であるといった場合には、ホストは、サーバから新しい認定デバイスグループ証明書を取得することができない。このような場合、ホストによる情報記録媒体へのアクセスを完全に拒否してしまうとコンテンツの利用が全くできないことになる。
【０３２２】
以下、図３３他を参照して説明する処理例は、ホスト側の認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）のＡＩＣデータが、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古い場合であっても、予め定めた許容回数以内であれば、認証処理に移行して認証の成立を条件としてホストの情報記録媒体へのアクセスを許容する処理例である。
【０３２３】
図３３は、情報記録媒体２００からのデータ再生処理を実行する際の登録情報の更新処理を行なうが、ＡＩＣデータは、前述した
（１）ＡＤＧＬシーケンスナンバーに基づく更新処理
（２）ＡＩＣデータ＝登録デバイス数に基づく更新処理
（３）ＡＩＣデータ＝無効（リボーク）デバイス数に基づく更新処理
のいずれのデータである。
【０３２４】
まず、ドライブ４００は、ステップＳ６３１において、情報記録媒体２００に格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１を読み取り、署名を検証し、ＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）が改竄されていない正当な証明書であることを確認した後、そのＡＩＣデータ（無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）との比較を実行する。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＤＩＳＣのＡＩＣデータ
である場合に、ＡＩＣ−ＤＩＳＣが、ＡＩＣ−Ｄより新しいと判断し、この場合に、ドライブ４００は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を情報記録媒体２００から読み取ったＡＤＧＬインフォメーション証明書（ＡＩＣ−ＤＩＳＣ）２５１に入れ替える更新処理を実行する。
【０３２５】
次に、ステップＳ６３２において、ホスト５００は、ドライブ４００からドライブ４００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１を入力し、署名検証により改竄のない証明書であることを確認した後、ホスト５００のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１とのＡＩＣデータ（無効デバイス数）比較処理を実行する。
ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合は、ＡＩＣ−Ｄが、ＡＩＣ−Ｈより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１をドライブ４００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１に入れ替える更新処理を実行する。
【０３２６】
なお、ＡＩＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合には、ホストがメモリに格納している認定デバイスグループリスト（ＡＤＧＬ−Ｈ）についても更新処理を実行する。この更新処理は、ドライブ４００を介して情報記録媒体２００の格納している認定デバイスグループリスト（ＡＤＧＬ−ＤＩＳＣ）に置き換えるか、あるいはネットワークを介して最新の認定デバイスグループリスト（ＡＤＧＬ）を取得して更新するなどの処理として実行する。
【０３２７】
ドライブ４００は、ステップＳ６３３においてホスト５００のメモリに保持されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１を入力し、署名確認の後、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（無効デバイス数）の比較を行う。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合に、ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、この場合に、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１をホスト５００から入力したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）５１１に入れ替える更新処理を実行する。
【０３２８】
さらに、ドライブ４００は、ステップＳ６３３における比較更新処理において、ホスト５００から、ホスト５００のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）５１２に含まれるホストの登録情報を格納した認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得し、署名検証の後、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（シーケンスナンバー、または登録デバイス数、または無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）４１１のＡＩＣデータ（シーケンスナンバー、または登録デバイス数、または無効デバイス数）との比較を実行する。この比較処理において、
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ドライブは、ホストがＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書を保持していると判断し、ホストに対して新しい認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の取得および送信を要求するとともに、カウンタ４２２の値を１インクリメントする。
【０３２９】
先に、図３１を参照して説明した例では、許容回数以内にホストから入力する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
を満足しない場合には、認証処理に移行することはなかった。
【０３３０】
本実施例では、ホストから入力する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）と、、ドライブの保持する証明書の新旧判定用データとしてのＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータとの比較において、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
を満足しない場合であっても、予め定められた許容回数以内であれば、認証処理に移行し、認証の成立を条件としてホストのディスクに対するアクセスを許容する。
【０３３１】
例えば、最大許容回数＝５の場合、カウントデータ記憶部としてのカウンタ４１２の値が５になるまでの間は、ホストから入力する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、古いものである場合、すなわち、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
を満足しない場合であっても、認証処理に移行し、認証の成立を条件としてホストのディスクに対するアクセスを許容する。カウンタが６以上になると、ホストから入力する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、古いものである場合、すなわち、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
を満足しない場合には、認証処理に移行することなく、ホストのディスクに対するアクセスを許容しない。
【０３３２】
ホストが新しい認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を例えばサーバなどから取得した場合には、ドライブは認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の正当性を確認した後、カウンタをリセットして認証処理に移行する。
【０３３３】
このカウンタに基づくアクセス許容処理により、例えば飛行機での移動中であるといった場合のように、ホストがサーバから新しい認定デバイスグループ証明書を取得することができない状況であっても、ホストによる情報記録媒体へのアクセスが可能となり、コンテンツの利用が許容されることになる。
【０３３４】
ステップＳ６３４〜Ｓ６３８の処理、すなわち、ドライブ４００とホスト５００間で相互認証および鍵交換（ＡＫＥ）処理、ドライブ４００のバスキー、コンテンツの送信、ホスト５００のコンテンツの復号処理は、前述の他の実施例と同様であるので説明を省略する。
【０３３５】
このような、カウンタに基づくアクセス許容処理を行なう構成とした場合の問題点として、ホスト側のアプリケーションの入れ替え処理による不正利用という問題がある。具体的には、古い認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持するアプリケーションが許容回数までドライブとの認証を実行してコンテンツを利用した後、新しい認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持するアプリケーションがドライブに接続してカウンタをリセットさせる。その後、古い認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持するアプリケーションがドライブに再接続すると、再度、カウンタ許容回数までディスクの利用が可能となってしまうという問題がある。
【０３３６】
この問題を解決するため、図３３に示すドライブのカウントデータ記憶部としてのカウンタ４２２は、図３４に示すように、ホストのアプリケーション対応の公開鍵証明書の識別子（ＣＥＲＴ＿ＩＤ）に対応付けてカウント値を格納する。
【０３３７】
図３４（ａ）は、登録ＣＥＲＴ＿ＩＤ格納部４３１と、カウント値格納部４３２とから構成したカウントデータ記憶部の例であり、登録ＣＥＲＴ＿ＩＤ格納部４３１には１つ以上の登録ＣＥＲＴ＿ＩＤが記録可能な構成を持つ。複数の公開鍵証明書の集合に対して最大の許容回数が設定される。図３４（ｂ）は、登録ＣＥＲＴ＿ＩＤ格納部４４１と、カウント値格納部４４２とを個別に対応するデータとして構成したカウントデータ記憶部の例であり、登録ＣＥＲＴ＿ＩＤ格納部４４１に格納された個々の登録ＣＥＲＴ＿ＩＤに対応するカウント値が独立して記録可能な構成を持つ。
【０３３８】
ドライブ４００は、ホスト５００との認証処理の際にホストから入力するホストアプリケーション対応の公開鍵証明書５３１から公開鍵証明書の識別子（ＣＥＲＴ＿ＩＤ）を取得し、カウントデータ記憶部としてのカウンタ４２２の登録ＣＥＲＴ＿ＩＤ格納部に登録されたＩＤであるか否かを判定し、登録されているＩＤである場合にのみ、カウント値の増加を行ない、認証処理に移行する。なお、この処理を実行するのは、ホストから入力する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、古いものである場合、すなわち、
ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータ
を満足しない場合である。
【０３３９】
なお、認証処理の際にホストから入力するホストアプリケーション対応の公開鍵証明書５３１から公開鍵証明書の識別子（ＣＥＲＴ＿ＩＤ）が、カウンタ４１２に登録されていないＩＤである場合は、認証処理に移行することなく処理を中止する。
【０３４０】
図４４（ａ）の構成のカウンタの場合は、登録された複数の公開鍵証明書ＩＤに対応するカウント値が設定されているので、アプリケーションの切り替えによってそれぞれが古い認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持している場合は、カウント値は、アプリ切り替えによっても順次増加することになり、カウント値が上限に達した時点で、登録された複数の公開鍵証明書ＩＤを持つすべてのアプリケーションは、その後、基本的にドライブを介したディスクアクセスが禁止される。
【０３４１】
カウンタの初期化処理によって、再度、利用可能な状況に設定することが可能であるが、カウンタの初期化処理は、特定の公開鍵証明書ＩＤを持つアプリケーションのみが実行できる構成となっている。これらの処理については、後段で説明する。
【０３４２】
一方、図４４（ａ）の構成のカウンタの場合は、個別の公開鍵証明書ＩＤに対応するカウント値が設定されているので、カウント値は、個々に増加することになる。従って、それぞれのアプリケーションが個別にカウント値が上限に達した時点で、そのアプリケーションのみがドライブを介したディスクアクセスが禁止されることになる。
【０３４３】
図４４（ａ）の構成のカウンタの場合においても、カウンタの初期化処理によって、再度、利用可能な状況に設定することが可能であるが、カウンタの初期化処理は、特定の公開鍵証明書ＩＤを持つアプリケーションのみが実行できる構成となっている。これらの処理については、後段で説明する。
【０３４４】
図３５を参照して、ドライブ４００が実行する図３３のステップＳ６３３の処理、すなわちホスト側から認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を取得し、新旧判定を実行し、さらに、取得証明書が古い場合であってもカウント値に基づく認証移行を許容する処理の詳細について説明する。
【０３４５】
ドライブはステップＳ８０１において、ホストからのＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の転送要求を受領後、ステップＳ８０２においてホストからＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）を受領する。ステップＳ８０３において、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の署名検証を実行し、署名検証により証明書の正当性が確認されない場合（Ｓ８０４：Ｎｏ）は、その後の処理を中止する。この場合コンテンツ転送処理は実行されない。
【０３４６】
署名検証により証明書の正当性が確認された場合（Ｓ８０４：Ｙｅｓ）の場合は、ステップＳ８０５において、ホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）のＡＩＣデータ（シーケンスナンバー、または登録デバイス数、または無効デバイス数）と、自己のメモリに格納された証明書の新旧判定用データとしてのＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータ（シーケンスナンバー、または登録デバイス数、または無効デバイス数）との比較を実行する。
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
である場合ＡＩＣ−Ｈが、ＡＩＣ−Ｄより新しいと判断し、ステップＳ８０６に進み、ドライブは、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）をホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）に入れ替える更新処理を実行する。上記条件、
ＡＩＣ−ＤのＡＩＣデータ＜ＡＩＣ−ＨのＡＩＣデータ
が満足されない場合は、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）がホストから取得したＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）より新しいと判断し、更新処理を行なわない。
【０３４７】
次に、ステップＳ８０７において、ホストからの認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）の受領を確認した後、ステップＳ８０８において、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）に設定されたＡＩＣデータ（シーケンスナンバー、または登録デバイス数、または無効デバイス数）と、自己のメモリに格納されたＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータとの比較を実行する。
【０３４８】
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
が成立していない場合は、ＡＩＣ−ＤのＡＩＣデータに対応する新しいバージョンの認定デバイスグループ証明書であると判断し、ステップＳ８２１に進み、カウンタの初期化を許可し、ステップＳ８２２においてカウンタに登録される公開鍵証明書識別子（ＣＥＲＴ＿ＩＤ）の登録を許可する。すなわち、ドライブのカウンタに格納されたデータの変更処理が実行できるのは、ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータを持つホストのみであり、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古くない認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持するホストのみとなる。
【０３４９】
ステップＳ８２３において、ホストドライブ間の認証処理への移行を承認し、ステップＳ８２４、Ｓ８２５の処理を実行する。ステップＳ８２４，Ｓ８２５の処理はオプションとして実行される処理であり、カウンタ値のリセット処理である。ステップＳ８２４においてホストの公開鍵証明書識別子（ＣＥＲＴ＿ＩＤ）がカウンタの登録情報として登録されているかいなかを判定し、登録されている場合に限り、ステップＳ８２５においてカウント値をリセットする。
【０３５０】
ステップＳ８０８の判定、すなわち、
ＡＤＧＣ−ＨのＡＩＣデータ＜ＡＩＣ−ＤのＡＩＣデータ
である場合、ホストは、ＡＩＣ−ＤのＡＩＣデータに対応しない古いバージョンの認定デバイスグループ証明書しか保持していないと判断し、ステップＳ８０９において、カウンタの初期化を禁止し、ステップＳ８１０においてカウンタに登録される公開鍵証明書識別子（ＣＥＲＴ＿ＩＤ）の登録を禁止する。前述したように、ドライブのカウンタに格納されたデータの変更処理が実行できるのは、ＡＤＧＣ−ＨのＡＩＣデータ≧ＡＩＣ−ＤのＡＩＣデータを持つホストのみであり、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古い認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持するホストは、カウンタに格納されたデータの変更処理が禁止される。次に、ステップＳ８１１に進み、カウンタが許容再取得回数以下であるか否かを判定する。
【０３５１】
カウンタが許容再取得回数以下である場合は、ステップＳ８１３においてホストとの認証処理の移行を承認し、ステップＳ８１４において、カウンタを１つインクリメントする。
【０３５２】
ステップＳ８１２において、カウンタが上限値に達していた場合は、相互認証処理（ＡＫＥ）に進むことなく、処理を中止する。
【０３５３】
本処理例に従えば、ホストは、自己の保有する認定デバイスグループリスト（ＡＤＧＬ−Ｈ）が、ドライブの保有するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古い場合であってもカウンタのカウントが予め定めた許容回数以内であれば、認証処理への移行が許可され、認証の成立を条件として情報記録媒体へのアクセスが可能となる。また、カウンタのカウント値は、ホストアプリケーションの公開鍵証明書のＩＤに対応付けられて設定され、またカウンタの登録データの変更は、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古くない認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持するホストのみとなり、古い認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持するホストによる不正な情報記録媒体へのアクセスを排除することが可能となる。
【０３５４】
次に、図３６、図３７のフローを参照して、ドライブの保有するカウンタの格納データの変更処理の詳細シーケンスについて説明する。図３６がドライブ側の処理シーケンスであり、図３７がホスト側の処理シーケンスを示している。
【０３５５】
まず、図３６を参照して、ドライブ側の処理について説明する。まず、ステップＳ８３１においてホストの認証が成立したことを確認する。認証処理は先に図２５を参照して説明したシーケンスに従って実行される処理である。ホストの認証が成立すると、ステップＳ８３２に進み、カウンタに登録されている登録公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）とカウント値のデータ転送要求の有無を判定し、転送要求があった場合は、ステップＳ８３３においてこれらのデータをホストに出力する。例えば図３４（ａ），（ｂ）いずれかのデータがホストに出力され、ホスト側では、これらのデータをディスプレイに表示するなどしてユーザによる登録内容の確認が可能となる。
【０３５６】
ステップＳ８３４では、カウンタの初期化要求の有無を判定し、初期化要求があった場合は、ステップＳ８３５でカウンタの初期化の許可状態であるかを判定し、許可状態にある場合にのみステップＳ８３６においてカウンタの初期化、すなわちカウント値を０にリセットする処理を実行する。許可状態にない場合は、ステップＳ８３７において初期化拒否メッセージをホストに転送する。なお、初期化許可状態にある場合とは、図３５のフローにおけるステップＳ８２１の処理状態であり、ドライブに接続されたホストから提供された認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古くないことが確認されたホストが接続状態にあることに相当する。
【０３５７】
次にステップＳ８３８において、カウンタに対する新規の公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）登録要求の有無を判定し、登録要求があった場合は、ステップＳ８３９で公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）登録許可状態であるかを判定し、許可状態にある場合にのみステップＳ８４０で、ホストからの公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）受信を確認した後、ステップＳ８４１において、公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）をカウンタに登録する。ステップＳ８３９において登録許可状態にない場合は、ステップＳ８４２に進み、登録拒否メッセージをホストに転送する。なお、登録許可状態にある場合とは、図３５のフローにおけるステップＳ８２２の処理状態であり、ドライブに接続されたホストから提供された認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古くないことが確認されたホストが接続状態にあることに相当する。
【０３５８】
なお、登録許可されたホストは自己の公開鍵証明書ＩＤのみならず、他のアプリケーションの公開鍵証明書のＩＤの登録処理も実行可能である。
【０３５９】
次に、図３７を参照して、ドライブの保有するカウンタの格納データの変更においてホスト側の実行する処理について説明する。ホスト側の処理としては、
（ａ）ドライブのカウンタ情報の取得
（ｂ）カウンタのカウント値の初期化
（ｃ）カウンタに対する公開鍵証明書ＩＤの登録
の３つの処理がある。
【０３６０】
まず、（ａ）ドライブのカウンタ情報の取得処理について説明する。ステップＳ８５１においてホスト−ドライブ間の相互認証および鍵交換（ＡＫＥ）処理の終了（認証成立）を確認し、その後、ステップＳ８５２に進み、ドライブに対してカウントデータ記憶部としてのカウンタ４２２の格納データの転送を要求する。カウンタ４２２の格納データには、登録された公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）とカウンタ値が含まれる。データ構成は、図３４を参照して説明したように複数の公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）とカウンタ値の対応データ、あるいは個別の公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）とカウンタ値の対応データのいずれかのデータである。
【０３６１】
ステップＳ８５３において、ドライブからのデータ転送完了を確認し、ステップＳ８５４において受信データをホスト側のディスプレイに表示する。ユーザは表示データに基づいて、ドライブに登録された公開鍵証明書ＩＤ（ＣＥＲＴ＿ＩＤ）と現在のカウンタ値の対応データの確認を行なうことができる。
【０３６２】
図３７（ｂ）は、ドライブのカウンタに記録されたカウンタ値の初期化、すなわちリセットによるカウンタ値＝０に再セットする処理である。ステップＳ８６１においてホスト−ドライブ間の相互認証および鍵交換（ＡＫＥ）処理の終了（認証成立）を確認し、その後、ステップＳ８６２に進み、ホスト内のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）に含まれる認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を参照して、カウンタのリセットを実行予定のホストアプリケーションの公開鍵証明書（ＣＥＲＴ＿ＩＤ）が無効化されていないことを確認する。
【０３６３】
ステップＳ８６３において、カウンタのリセットを実行予定のホストアプリケーションの公開鍵証明書（ＣＥＲＴ＿ＩＤ）が無効化されていると判定した場合は、ステップＳ８６７に進み、指定された公開鍵証明書（ＣＥＲＴ＿ＩＤ）に対応するカウンタ値の初期化は実行できないことを画面表示して処理を中止する。
【０３６４】
ステップＳ８６３において、カウンタのリセットを実行予定のホストアプリケーションの公開鍵証明書（ＣＥＲＴ＿ＩＤ）が無効化されていないことが確認されると、ステップＳ８６４において、ホストアプリケーションの公開鍵証明書（ＣＥＲＴ＿ＩＤ）に対応するカウンタの値を０にする初期化処理をドライブに要求する。ステップＳ８６５において、カウンタの初期化処理の終了が確認されると、ステップＳ８６６において、初期化処理が完了したことをホスト側のディスプレイに画面表示する。
【０３６５】
図３７（ｃ）は、ドライブのカウンタへ新たな公開鍵証明書識別子（ＣＥＲＴ＿ＩＤ）を登録する処理である。ステップＳ８７１においてホスト−ドライブ間の相互認証および鍵交換（ＡＫＥ）処理の終了（認証成立）を確認し、その後、ステップＳ８７２に進み、ホスト内のメモリに格納された認定デバイスグループリスト（ＡＤＧＬ−Ｈ）に含まれる認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を参照して、登録予定のホストアプリケーションの公開鍵証明書（ＣＥＲＴ＿ＩＤ）が無効化されていないことを確認する。
【０３６６】
ステップＳ８７３において、登録予定のホストアプリケーションの公開鍵証明書（ＣＥＲＴ＿ＩＤ）が無効化されていると判定した場合は、ステップＳ８７７に進み、指定された公開鍵証明書（ＣＥＲＴ＿ＩＤ）の登録処理は実行できないことを画面表示して処理を中止する。
【０３６７】
ステップＳ８７３において、登録予定のホストアプリケーションの公開鍵証明書（ＣＥＲＴ＿ＩＤ）が無効化されていないことが確認されると、ステップＳ８７４において、ホストアプリケーションの公開鍵証明書識別子（ＣＥＲＴ＿ＩＤ）の登録をドライブに要求する。ステップＳ８７５において、公開鍵証明書識別子（ＣＥＲＴ＿ＩＤ）の登録処理の終了が確認されると、ステップＳ８７６において、登録処理が完了したことをホスト側のディスプレイに画面表示する。
【０３６８】
なお、前述したように、上述したカウンタ値のリセット（初期化）処理や、新たな公開鍵証明書識別子（ＣＥＲＴ＿ＩＤ）の登録処理を実行可能なホストアプリケーションは、ドライブの保持するＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）のＡＩＣデータより古くない認定デバイスグループリスト（ＡＤＧＬ−Ｈ）、すなわち、認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）を保持しているホストアプリケーションのみである。すなわちより新しいデバイスの登録情報において有効と認定されているホストアプリケーションのみがこれらの処理の実行が許容されることになる。
【０３６９】
［５．情報処理装置の構成］
次に、図３８、図３９を参照して、ホストおよびドライブ装置の情報処理装置構成例について説明する。
【０３７０】
まず、図３８を参照して、ホストとしての情報処理装置の構成について説明する。情報処理装置８００は、ＯＳやコンテンツ再生または記録アプリケーション・プログラム、相互認証処理プログラムなどの各種プログラムに従ったデータ処理を実行するＣＰＵ８０９、プログラム、パラメータ等の記憶領域としてのＲＯＭ８０８、メモリ８１０、デジタル信号を入出力する入出力Ｉ／Ｆ８０２、アナログ信号を入出力し、Ａ／Ｄ，Ｄ／Ａコンバータ８０５を持つ入出力Ｉ／Ｆ８０４、ＭＰＥＧデータのエンコード、デコード処理を実行するＭＰＥＧコーデック８０３、ＴＳ（Transport Stream）・ＰＳ(Program Stream)処理を実行するＴＳ・ＰＳ処理手段８０６、相互認証、暗号化コンテンツの復号処理など各種の暗号処理を実行する暗号処理手段８０７、ハードディスクなどの記録媒体８１２、記録媒体８１２の駆動、データ記録再生信号の入出力を行なうドライブ８１１を有し、バス８０１に各ブロックが接続されている。
【０３７１】
情報処理装置（ホスト）８００は、例えばＡＴＡＰＩ−ＢＵＳ等の接続バスによってドライブと接続され、上述したバスキーによって暗号化されたコンテンツは、デジタル信号用入出力Ｉ／Ｆ８０２から入力され、必要に応じて暗号化処理手段８０７によって、例えば、ＡＥＳ−ＣＢＣモードによる復号処理が実行される。
【０３７２】
なお、コンテンツ再生あるいは記録処理を実行するプログラムは例えばＲＯＭ８０８内に保管されており、プログラムの実行処理中は必要に応じて、パラメータ、データの保管、ワーク領域としてメモリ８１０を使用する。
【０３７３】
ＲＯＭ８０８または記録媒体８１２には、先に図２４を参照して説明した管理センタの公開鍵、ホスト対応秘密鍵、ホスト対応の公開鍵証明書、さらに、認定デバイスグループリスト（ＡＤＧＬ−Ｈ）、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｈ）の登録情報が格納されている。
【０３７４】
次に、図３９を参照して、情報記録媒体の格納コンテンツの読み取りおよび記録、ホストとのデータ転送を実行するドライブとしての情報処理装置の構成について説明する。ドライブ８５０は、コンテンツ読み取り、コンテンツ記録、転送処理プログラム、相互認証処理プログラムなどの各種プログラムに従ったデータ処理を実行するＣＰＵ８５２、プログラム、パラメータ等の記憶領域としてのＲＯＭ８５５、メモリ８５６、デジタル信号を入出力する入出力Ｉ／Ｆ８５３、相互認証、バスキーの生成、出力データの暗号化処理など各種の暗号処理を実行する暗号処理手段８５４、ＤＶＤ，Ｂｌｕ−ｒａｙディスクなどの情報記録媒体８５８の駆動、データ記録再生信号の入出力を行なう記録媒体Ｉ／Ｆ８５７を有し、バス８５１に各ブロックが接続されている。
【０３７５】
ドライブ８５０は、例えばＡＴＡＰＩ−ＢＵＳ等の接続バスによってホストと接続され、例えば情報記録媒体８５８に格納された暗号化（スクランブル）コンテンツをバスキー：Ｋｂｕｓで、再暗号化し入出力Ｉ／Ｆ８５３から出力する。バスキー：Ｋｂｕｓを適用したコンテンツの暗号化は、暗号化処理手段８５４によって、例えば、ＡＥＳ−ＣＢＣモードで実行される。
【０３７６】
なお、ＲＯＭ８５５、またはメモリ８５６には、先に図２４を参照して説明した管理センタの公開鍵、ドライブに対応する秘密鍵、ドライブに対応する公開鍵証明書、および暗号鍵ブロックＲＫＢの処理に適用するためのデバイスキー：Ｋｄｅｖ、さらに、ＡＤＧＬインフォメーション証明書（ＡＩＣ−Ｄ）が格納されている。また、コンテンツの読み取り、取得、および相互認証処理を実行するプログラム等が格納されている。
【０３７７】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０３７８】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０３７９】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０３８０】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０３８１】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０３８２】
以上、説明したように、本発明の構成によれば、ドライブとホストなど２つの異なるデバイス間のデータ転送を伴うコンテンツの再生あるいは記録処理において、データ転送を実行するデバイス間の相互認証に適用する公開鍵証明書の有効性判定を厳格に実行することにより、コンテンツの不正利用を排除することが可能となる。
【０３８３】
さらに本発明の構成によれば、接続デバイス間において、コンテンツの送り側（ソース）デバイスから受け取り側（シンク）デバイスへのコンテンツ転送を行なう場合に実行する公開鍵暗号方式の相互認証において適用する各デバイスの公開鍵証明書の有効性を判断するため認定デバイスグループ証明書を適用する。さらに、この認定デバイスグループ証明書の新旧判定に、認定デバイスグループ証明書の集合として設定される認定デバイスグループリスト（登録リスト）の登録デバイス数、あるいは無効（リボーク）デバイス数などを登録データとして設定したデバイス数データ証明書（ＡＩＣ）を適用する構成とし、登録デバイス数が多いものを新しいとみなす、あるいは、無効デバイス数の多いものを新しいとみなすなど、登録情報の登録または無効デバイス数の変化状況に基づいて認定デバイスグループ証明書の最新性を判定する構成として、新しい認定デバイスグループ証明書を適用してデバイスの公開鍵証明書の有効性を判定し相互認証を実行する構成としたので、古い認定デバイス証明書を適用した認証処理、不正なコンテンツ入手が防止され、コンテンツの不正利用が排除される。
【０３８４】
また、登録デバイス数、あるいは無効（リボーク）デバイス数などを登録データとして設定したデバイス数データ証明書（ＡＩＣ）に基づいて、適宜、情報処理装置が保管する認定デバイスグループリスト（登録リスト）の更新処理を実行する構成としたので、コンテンツ再生あるいは記録処理を実行する情報処理装置の保管リストを随時更新することが可能となる。
【０３８５】
さらに、登録デバイス数または無効デバイス数を各証明書の新旧判定に適用することで、ドライブやホストの証明書格納用の不揮発性メモリとして使用されるフラッシュメモリの書き換え回数を減少させることができる。すなわち、シーケンスナンバーによる新旧判定の場合は、シーケンスナンバーが変更された場合は全て更新することになり、フラッシュメモリの使用頻度が多くなるが、登録デバイス数または無効デバイス数を各証明書の新旧判定に適用することで、登録デバイス数や無効デバイス数が不変の場合はドライブやホストにおいて証明書更新を行う必要がなく、フラッシュメモリの書き換え回数が減少することになる。従って小型で安価なメモリの搭載が可能となる。
【０３８６】
さらに、本発明の構成によれば、認証処理対象デバイス識別データとカウント値を対応付けたデータをカウントデータ記憶部の登録情報として登録し、識別データに対応するカウント値があらかじめ定められた上限値以下であることの判定を条件として認証処理対象デバイスとの認証処理を実行して、認証の成立に基づいて情報記録媒体へのアクセスを許容する構成としたので、例えば飛行機の中など、証明書（認定デバイスグループ証明書）の更新が不可能な環境にある場合でも情報記録媒体へのアクセスを可能とした。さらに、カウンタの登録情報を認証対象デバイスの公開鍵証明書ＩＤとカウント値を対応付けたデータとして設定することで、不正なコンテンツ利用の排除が可能となる。
【図面の簡単な説明】
【０３８７】
【図１】従来の情報記録媒体格納コンテンツの再生シーケンスを説明する図である。
【図２】従来の情報処理装置におけるドライブ出力コンテンツの再生シーケンスを説明する図である。
【図３】ドライブからのコンテンツ出力シーケンスを説明するフロー図である。
【図４】従来のホストドライブ間のコンテンツ転送を伴う処理構成におけるコンテンツの不正利用例を説明する図である。
【図５】本発明の情報記録媒体の格納データについて説明する図である。
【図６】本発明の情報記録媒体の格納データの構成について説明する図である。
【図７】本発明の情報記録媒体の格納データとしてのセクタデータおよびセクタヘッダの構成について説明する図である。
【図８】本発明の情報記録媒体のセクタヘッダに記録される出力制御情報の詳細について説明する図である。
【図９】情報記録媒体の格納コンテンツの読み取り、再生を実行する再生機器の処理シーケンスについて説明する図である。
【図１０】情報記録媒体の格納コンテンツの再生において実行するＡＥＳ暗号アルゴリズムに従った鍵生成処理について説明する図である。
【図１１】情報記録媒体の格納コンテンツの再生において実行するＡＥＳ暗号アルゴリズムに従ったデータ復号処理について説明する図である。
【図１２】情報記録媒体、ドライブと情報処理装置に格納されるデータについて説明する図である。
【図１３】証明書のデータ構成、および種類について説明する図である。
【図１４】公開鍵証明書のデータ構成について説明する図である。
【図１５】認定デバイスグループ証明書（ＡＤＧＣ）、認定グループリスト（ＡＤＧＬ）のデータ構成について説明する図である。
【図１６】ＡＤＧＬインフォメーション証明書（ＡＩＣ）のデータ構成について説明する図である。
【図１７】情報記録媒体、ドライブ、情報処理装置に格納される証明書について説明する図である。
【図１８】ＡＤＧＬシーケンスナンバーに基づく登録情報の更新処理について説明する図である。
【図１９】ＡＩＣデータ＝登録デバイス数に基づく登録情報の更新処理について説明する図である。
【図２０】ＡＩＣデータ＝無効デバイス数に基づく登録情報の更新処理について説明する図である。
【図２１】ＡＩＣデータに基づく登録情報の更新処理の詳細シーケンスについて説明する図である。
【図２２】ＡＩＣデータに基づく登録情報の更新処理の詳細シーケンスについて説明する図である。
【図２３】ＡＩＣデータに基づく登録情報の更新処理において、情報記録媒体、ドライブ、情報処理装置間の通信シーケンスについて説明する図である。
【図２４】ドライブ、情報処理装置間のコンテンツ転送を伴うコンテンツ再生における登録情報の更新処理、相互認証、コンテンツ再生シーケンスについて説明する図である。
【図２５】ドライブと情報処理装置間で実行する相互認証および鍵交換（ＡＫＥ）処理シーケンスを説明する図である。
【図２６】ドライブで実行するコンテンツのバスキー：Ｋｂｕｓに基づく暗号化処理構成を説明する図である。
【図２７】情報処理装置で実行するコンテンツのバスキー：Ｋｂｕｓに基づく復号処理構成を説明する図である。
【図２８】ドライブからホストに対するコンテンツ転送を伴う再生処理において、ドライブで実行する処理シーケンスを説明するフローチャートである。
【図２９】ドライブからホストに対するコンテンツ転送を伴う再生処理において、ホストで実行する処理シーケンスを説明するフローチャートである。
【図３０】コンテンツの記録処理において実行するＡＩＣデータ＝無効デバイス数に基づく登録情報の更新処理について説明する図である。
【図３１】ホストにおけるＡＤＧＬの再取得を許容した場合のＡＩＣデータ＝無効デバイス数に基づく登録情報の更新処理について説明する図である。
【図３２】ホストにおけるＡＤＧＬの再取得を許容した場合のＡＩＣデータ＝無効デバイス数に基づく登録情報の更新処理時のドライブの処理について説明するフロー図である。
【図３３】ドライブのカウンタの値に応じて、ホストの保持する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が古い場合でも情報記録媒体へのアクセスを許容する構成例を説明する図である。
【図３４】ドライブのカウンタの保持データを説明する図である。
【図３５】ドライブのカウンタの値に応じて、ホストの保持する認定デバイスグループ証明書（ＡＤＧＣ−Ｈ）が古い場合でも情報記録媒体へのアクセスを許容する処理を説明するフロー図である。
【図３６】ドライブのカウンタの保持データの更新処理におけるドライブ側の処理を説明するフロー図である。
【図３７】ドライブのカウンタの保持データの更新処理におけるホスト側の処理を説明するフロー図である。
【図３８】本発明のホストとしての情報処理装置の構成例を示す図である。
【図３９】本発明のドライブとしての情報処理装置の構成例を示す図である。
【符号の説明】
【０３８８】
１０  情報記録媒体
１１  暗号化ディスクキー
１２  暗号化タイトルキー
１３  スクランブルＭＰＥＧデータ
２０  再生機器
２５  音声／映像データ
３０  ドライブ
４０  プレーヤアプリケーション
４５  音声／映像データ
５０  ドライブ
６０  ホスト
１００  情報記録媒体
１０１  ユーザデータ領域
１０２  リードイン領域
１１１  暗号化コンテンツ
１１２  ユニットキー生成情報
１１３  リボーク情報
１１４  ＲＯＭマーク
１２０  暗号鍵情報
１２１  暗号鍵ブロック（ＲＫＢ）
１２２  暗号化ディスクキー
１３０  登録情報
１３１  ＡＤＧＬインフォメーション証明書（ＡＩＣ）
１３２  認定デバイスグループ証明書（ＡＤＧＣ）
１５１  出力制御情報
２００  情報記録媒体
２０１  登録情報
２０２  暗号鍵ブロック（ＲＫＢ）
２０３  暗号化ディスクキー
２０４  ＲＯＭマーク
２０５  ユニットキー生成情報
２０６  暗号化コンテンツ
２５１  ＡＤＧＬインフォメーション証明書（ＡＩＣ）
２５２  認定デバイスグループリスト（ＡＤＧＬ）
２５３  コンテンツ
３００  再生機器
３０１  デバイスキー
３１１  ＡＥＳ暗号処理部
３２１  ＡＥＳ鍵生成処理ブロック
３２２  ＡＥＳ復号処理ブロック
３２３  復号セクタデータ
４００  ドライブ
４０２  秘密鍵
４０３  公開鍵証明書
４０４  デバイスキー
４１１  ＡＤＧＬインフォメーション証明書（ＡＩＣ）
４１２  カウンタ
４２２  カウンタ
４３１  登録ＣＥＲＴ＿ＩＤ格納部
４３２  カウント値格納部
４４１  登録ＣＥＲＴ＿ＩＤ格納部
４４２  カウント値格納部
５００  ホスト
５０２  秘密鍵
５０３  公開鍵証明書
５１１  ＡＤＧＬインフォメーション証明書（ＡＩＣ）
５１２  認定デバイスグループリスト（ＡＤＧＬ）
５２０  コンテンツ
５３１  公開鍵証明書
５５０  セクタデータ
５５１  ＡＥＳ暗号処理部
５５２  バスキーによる暗号化セクタデータ
５７０  バスキーによる暗号化セクタデータ
５７１  ＡＥＳ復号処理部
５７２  暗号化（スクランブル）セクタデータ
８００  情報処理装置
８０１  バス
８０２  入出力Ｉ／Ｆ
８０３  ＭＰＥＧコーデック
８０４  入出力Ｉ／Ｆ
８０５  Ａ／Ｄ，Ｄ／Ａコンバータ
８０６  ＴＳ・ＰＳ処理手段
８０７  暗号処理手段
８０８  ＲＯＭ
８０９  ＣＰＵ
８１０  メモリ
８１１  ドライブ
８１２  記録媒体
８５０  ドライブ装置
８５１  バス
８５２  ＣＰＵ
８５３  入出力Ｉ／Ｆ
８５４  暗号処理手段
８５５  ＲＯＭ
８５６  メモリ
８５７  記録媒体Ｉ／Ｆ
８５８  情報記録媒体
【図１】
2005352522.tif 000003
【図２】
2005352522.tif 000004
【図３】
2005352522.tif 000005
【図４】
2005352522.tif 000006
【図５】
2005352522.tif 000007
【図６】
2005352522.tif 000008
【図７】
2005352522.tif 000009
【図８】
2005352522.tif 000010
【図９】
2005352522.tif 000011
【図１０】
2005352522.tif 000012
【図１１】
2005352522.tif 000013
【図１２】
2005352522.tif 000014
【図１３】
2005352522.tif 000015
【図１４】
2005352522.tif 000016
【図１５】
2005352522.tif 000017
【図１６】
2005352522.tif 000018
【図１７】
2005352522.tif 000019
【図１８】
2005352522.tif 000020
【図１９】
2005352522.tif 000021
【図２０】
2005352522.tif 000022
【図２１】
2005352522.tif 000023
【図２２】
2005352522.tif 000024
【図２３】
2005352522.tif 000025
【図２４】
2005352522.tif 000026
【図２５】
2005352522.tif 000027
【図２６】
2005352522.tif 000028
【図２７】
2005352522.tif 000029
【図２８】
2005352522.tif 000030
【図２９】
2005352522.tif 000031
【図３０】
2005352522.tif 000032
【図３１】
2005352522.tif 000033
【図３２】
2005352522.tif 000034
【図３３】
2005352522.tif 000035
【図３４】
2005352522.tif 000036
【図３５】
2005352522.tif 000037
【図３６】
2005352522.tif 000038
【図３７】
2005352522.tif 000039
【図３８】
2005352522.tif 000040
【図３９】
2005352522.tif 000041