(57)【特許請求の範囲】
【請求項１】
鍵生成機器が生成するＭＫＢ（Media Key Block）を用いることにより、コンテンツ提供機器が提供するコンテンツを、ホスト機器を通じて記録媒体へ安全に転送するコンテンツ転送方法であって、
前記鍵生成機器が、第１の鍵を生成し、前記第１の鍵から所定の一方向性関数を通じて第２の鍵および第３の鍵を生成し、前記第３の鍵を前記コンテンツ提供機器へ渡すとともに、予め所有する複数のデバイス鍵の一部と前記第１の鍵と前記第２の鍵とからＭＫＢを生成し、この生成したＭＫＢを前記ホスト機器および前記記録媒体へ送信し、
前記ホスト機器が、前記鍵生成機器から送信されるＭＫＢに基づき、予め所有する当該ホスト機器のデバイス鍵から前記第２の鍵を算出し、この算出した第２の鍵を前記記録媒体との認証処理に使用し、
前記記録媒体が、前記鍵生成機器から送信されるＭＫＢに基づき、予め所有する当該記録媒体のデバイス鍵から前記第１の鍵を算出し、この算出した第１の鍵を前記鍵生成機器内の前記一方向性関数と同じ関数を通じて前記第２の鍵および前記第３の鍵を算出し、この算出した第２の鍵を前記ホスト機器との認証処理に使用し、
前記コンテンツ提供機器が、コンテンツと前記鍵生成機器から渡される第３の鍵とに基づき、所定のＭＡＣ（Message Authentication Code）演算を行ってＭＡＣ値を生成し、この生成したＭＡＣ値と当該コンテンツとを、前記ホスト機器と前記記録媒体との間の認証処理の成功後に、前記ホスト機器経由で前記記録媒体へ送信し、
前記記録媒体が、前記コンテンツ提供機器から送信されるコンテンツと前記算出した第３の鍵とに基づき、前記コンテンツ提供機器内の前記ＭＡＣ演算と同じ演算によりＭＡＣ値を生成し、この生成したＭＡＣ値と前記コンテンツ提供機器から送信されるＭＡＣ値とが一致するか否かの検証を行い、一致する場合に当該コンテンツを前記記録媒体内に記録する
ことを特徴とするコンテンツ転送方法。
【請求項２】
前記コンテンツ提供機器が、前記コンテンツ生成機器と前記記録媒体とがＭＡＣ演算を行わず前記鍵生成機器から渡される第３の鍵を用いて前記コンテンツを暗号化し、この暗号化したコンテンツを、前記ホスト機器経由で前記記録媒体へ送信し、
前記記録媒体が、前記コンテンツ提供機器から送信されるコンテンツを前記算出した第３の鍵を用いて復号する
ことを特徴とする請求項１に記載のコンテンツ転送方法。
【請求項３】
前記鍵生成機器が前記ＭＫＢを生成するに際し、任意のホスト機器が所有するデバイス鍵から前記第２の鍵を算出することを可能とするデータと、任意の記録媒体が所有するデバイス鍵から前記第１の鍵を算出することを可能とするデータとを当該ＭＫＢに含めることを特徴とする請求項１又は２に記載のコンテンツ転送方法。
【請求項４】
前記鍵生成機器が前記ＭＫＢを生成するに際し、更に、当該ＭＫＢから任意のホスト機器が算出する第２の鍵が正しいものかどうかを検証するための検証用データと、当該ＭＫＢから任意の記録媒体が算出する第１の鍵が正しいものかどうかを検証するための検証用データとを当該ＭＫＢに含めることを特徴とする請求項３に記載のコンテンツ転送方法。
【請求項５】
任意のホスト機器もしくは記録媒体を無効化する場合、前記鍵生成機器が前記ＭＫＢを生成するに際し、当該ホスト機器が所有するデバイス鍵から前記第２の鍵を算出することを不可とするデータ、もしくは当該記録媒体が所有するデバイス鍵から前記第１の鍵を算出することを不可とするデータを当該ＭＫＢに含めることを特徴とする請求項１乃至４のいずれか１項に記載のコンテンツ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体へのコンテンツの転送を行うコンテンツ転送方法に関する。
【背景技術】
【０００２】
従来、ＲＯＭメディアやインターネットなどの通信ネットワークを介して動画、音楽、プログラムなどのコンテンツを供給者からユーザ側まで配信することが広く行われてきた。コンテンツ配信では、コンテンツを供給する機器から記録媒体までの間を第三者からの秘匿のために暗号化した形で配信される場合がある。その際、暗号化されたデータを復号するためのメディア鍵がそのデータを利用するデバイスに必要となる。メディア鍵は、暗号化されてＭＫＢ（Media Key Block）と呼ばれるデータに含まれた形で提供される（例えば、非特許文献１や非特許文献２を参照）。
【０００３】
この場合の記録媒体には、一般ユーザと呼ばれる秘密を知らない人でもアクセス可能なユーザ領域と、秘密情報も持つ人のみアクセス可能な保護領域とが設けられている。
【０００４】
保護領域とは、ある秘密情報をもったホストなどからはアクセスして記録された情報を正しく扱うことができる領域である。例えばＳＤ（Secure digital）カードは保護領域を備えており、デバイス鍵（Device Key）を有する機器が機器-記録媒体間の認証処理（例えば、特許文献１を参照）を経て、機器とＳＤカードとがそれぞれ同じセッション鍵（Session Key）をその都度ごとに生成し、当該セッション鍵で暗号化してデータをやり取りすることでその保護領域のデータの読み書きが可能となる。一方、デバイス鍵を有さない機器は、機器-記録媒体間の認証処理に失敗するため、保護領域のデータの読み書きは不可能となる。また、セッション鍵を知らない機器は、保護領域のデータを正しく読み書きすることができない。さらに、ホスト自身は秘密情報を外部からアクセスできないようにする耐タンパ性が要求されるが、万が一その秘密情報が漏れ知れ渡ってしまった場合も想定される。上記機器-記録媒体間の認証処理には、その漏れてしまった秘密情報からのアクセスを無効にする仕組みも備えられている。
【０００５】
保護領域を備える記録媒体は、認証なしで読み書き可能な一般領域も備え、例えばその媒体の一般領域に記録した動画コンテンツを暗号化した鍵を保護領域へ記録し、特定のプログラムが保護領域から鍵を読み出し動画コンテンツを復号し再生する。
【０００６】
また、記録媒体は音楽、映像、プログラムなどのコンテンツと呼ばれるデジタルデータを記録する記録媒体として利用されるが、コンテンツ提供者が提供するコンテンツが記録媒体に記録されるまでの間に改ざんされる可能性がある。改ざんを防ぐには、コンテンツ自身に電子的な署名を施すことにより、記録媒体内で署名をチェックすることにより、途中での改ざんを検出することが可能である。その際、改ざん検出用の公開鍵と呼ばれる情報が必要となる。このデータは公開されてもかまわないが書き換えられないように記録媒体に書かれる必要がある。
【０００７】
また、機器-記録媒体間でコンテンツを転送する際には、セキュリティ強化のため、ＭＡＣ演算（例えば、非特許文献３）を用いられることが多い。
【特許文献１】特開２００４−２２０３１７号公報
【非特許文献１】“Content Protection for Recordable Media Specification, SD Memory Card Book Common Part, Revision 0.961, May 3, 2007”、［online］、The 4C Entity, LLC、［平成２０年２月４日検索］、インターネット＜ＵＲＬ：http://www.4centity.com/＞
【非特許文献２】“Content Protection for Recordable Media Specification, Introduction and Common Cryptographic Elements, Revision 1.01, May 3, 2007”、［online］、The 4C Entity, LLC、［平成２０年２月４日検索］、インターネット＜ＵＲＬ：http://www.4centity.com/＞
【非特許文献３】“Handbook of Applied Cryptgraphy”、CRC Press、1996年、Section 9.5 Keyed hash functions (MACS)
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述の機器-記録媒体間の認証処理の機能とコンテンツ改ざん検出の機能を備える記録媒体は、内部に秘密情報や書き換えられてはいけない情報を持つ必要がある。これらを満たすような記録媒体は、かかる情報を外部からアクセスできないような耐タンパ性を有していなければならない。ただ、この耐タンパ性は高度な技術を要するため、場合によっては不十分な耐タンパ性しか持ち合わせていない記録媒体が市場に出てくる可能性も考え得る。そのような問題のある記録媒体にはコンテンツが記録されないように工夫する必要がある。例えば上述の機器-記録媒体間の認証処理において問題のあるホスト機器を排除するだけでなく当該記録媒体を排除するような新たな仕組みを設けることが要求される場合もある。
【０００９】
しかしながら、記録媒体は限られた計算メモリ、計算能力を有する場合が多いため、できるだけ既存の仕組みとの親和性などを保ちながら、コンテンツを安全に記録媒体へ転送できるようにすることが求められる。その際、例えば、記録媒体へのコンテンツ転送時に正しいコンテンツ提供者からのデータを書き込んでいるかどうか、転送を介在するホスト機器に問題がないか、あるいは記録媒体に問題がないか等を、できるだけ既存の方式で確認できるようにすることが望まれる。
【００１０】
本発明は、上記実情に鑑みてなされたものであり、既存の方式を利用しつつ効率的かつ安全にコンテンツを記録媒体へ転送することが可能なコンテンツ転送方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るコンテンツ転送方法は、鍵生成機器が生成するＭＫＢ（Media Key Block）を用いることにより、コンテンツ提供機器が提供するコンテンツを、ホスト機器を通じて記録媒体へ安全に転送するコンテンツ転送方法であって、前記鍵生成機器が、第１の鍵を生成し、前記第１の鍵から所定の一方向性関数を通じて第２の鍵および第３の鍵を生成し、前記第３の鍵を前記コンテンツ提供機器へ渡すとともに、予め所有する複数のデバイス鍵の一部と前記第１の鍵と前記第２の鍵とからＭＫＢを生成し、この生成したＭＫＢを前記ホスト機器および前記記録媒体へ送信し、前記ホスト機器が、前記鍵生成機器から送信されるＭＫＢに基づき、予め所有する当該ホスト機器のデバイス鍵から前記第２の鍵を算出し、この算出した第２の鍵を前記記録媒体との認証処理に使用し、前記記録媒体が、前記鍵生成機器から送信されるＭＫＢに基づき、予め所有する当該記録媒体のデバイス鍵から前記第１の鍵を算出し、この算出した第１の鍵を前記鍵生成機器内の前記一方向性関数と同じ関数を通じて前記第２の鍵および前記第３の鍵を算出し、この算出した第２の鍵を前記ホスト機器との認証処理に使用し、前記コンテンツ提供機器が、コンテンツと前記鍵生成機器から渡される第３の鍵とに基づき、所定のＭＡＣ（Message Authentication Code）演算を行ってＭＡＣ値を生成し、この生成したＭＡＣ値と当該コンテンツとを、前記ホスト機器と前記記録媒体との間の認証処理の成功後に、前記ホスト機器経由で前記記録媒体へ送信し、前記記録媒体が、前記コンテンツ提供機器から送信されるコンテンツと前記算出した第３の鍵とに基づき、前記コンテンツ提供機器内の前記ＭＡＣ演算と同じ演算によりＭＡＣ値を生成し、この生成したＭＡＣ値と前記コンテンツ提供機器から送信されるＭＡＣ値とが一致するか否かの検証を行い、一致する場合に当該コンテンツを前記記録媒体内に記録することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、既存の方式を利用しつつ効率的かつ安全にコンテンツを記録媒体へ転送することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の各実施形態について図面を用いて説明する。  
図１は、本発明の一実施形態に係るコンテンツ転送システムを構成する各種の構成要素を示す図である。
【００１４】
このコンテンツ転送システムは、鍵生成機器１００、コンテンツ提供機器２００、ホスト機器３１０，３２０，３３０，…、記録媒体４１０，４２０，４３０，…から構成される。このうちホスト機器と記録媒体は１つ以上存在し得るが、この図の例ではそのうちの３つをそれぞれ代表的なものとして取り上げている。
【００１５】
なお、記録媒体４１０，４２０，４３０，…以外の機器類は、例えばコンピュータとして実現され、それらの機能の全てもしくは一部はコンピュータプログラムとして実現される。記録媒体４１０，４２０，４３０，…は、例えばＳＤメモリカードとして実現される。機器と記録媒体との接続や、機器間の接続は、直接接続されていてもよいし、ネットワークを通じて接続されていてもよい。また、鍵などの秘密性を要する情報は、前述の背景技術で説明した保護領域などに安全に記憶されるものとする。
【００１６】
鍵生成機器１００は、デバイス鍵ＤＢ１０１、ＭＫＢ生成器１０２、一方向性器１０３、鍵生成器１０４を有する。
【００１７】
コンテンツ提供機器２００は、暗号処理部２０１、ＭＡＣ演算部２０２、コンテンツ２０３を有する。
【００１８】
ホスト機器３１０，３２０，３３０は、それぞれ、ＭＫＢ処理部３１２，３２２，３３２を備え、デバイス鍵（例えば、＃Ｈ１，＃Ｈ２，＃Ｈ３）３１１，３２１，３３１を所有している。また、記録媒体４１０，４２０，４３０は、それぞれ、ＭＫＢ処理部４１２，４２２、４３２を備え、デバイス鍵（例えば、＃Ｍ１，＃Ｍ２，＃Ｍ３）４１１，４１２，４１３を所有している。これらのデバイス鍵は、あらかじめ鍵生成機器１００から配布されて各ホスト機器、各記録媒体に同梱されたものである。なお、デバイス鍵は複数のデバイス鍵を１セットとしてホスト機器、記録媒体に配布されることが一般的である。その場合、本実施形態でのデバイス鍵とはデバイス鍵１セットのことを指す。
【００１９】
図２に、各記録媒体および各ホスト機器が有する各種の要素をより詳細に示す。なお、各要素の機能ついては後で述べる。
【００２０】
任意のホスト機器３００は、デバイス鍵（例えば、＃Ｈ１）３０１、ＭＫＢ処理部３０２、認証処理部３０３を有する。ある記録媒体４００は、デバイス鍵（例えば、＃Ｍ１）４０１、ＭＫＢ処理部４０２、認証処理部４０３、一方向性器４０４、復号処理部４０５、ＭＡＣ演算部４０６、ＭＡＣ検証部４０７を有する。
【００２１】
図３は、同システムの全体の構成と処理の流れを詳細に示す図である。ここでは、鍵生成機器１００が生成する単一のＭＫＢを用いることにより、コンテンツ提供機器２００が提供するコンテンツを、ホスト機器３００を通じて記録媒体４００へ安全に転送する手法について説明する。
【００２２】
鍵生成機器１００は、鍵生成器１０４から第１の鍵（以下、「Ｋｏ」と呼ぶ）を生成し、このＫｏを一方向性器１０３に入れて第２の鍵（以下、「Ｋｍ」と呼ぶ）と第３の鍵（以下、「Ｋｐ」と呼ぶ）とを生成し、生成したＫｐをコンテンツ提供機器２００へ渡す。一方向性器とは、１つの入力から１つ以上の出力の値を計算する関数であり、複数出力の中のある一つの値から他の出力と入力の値を類推することが困難な関数を指す。例えば具体的に以下のような計算式を適用することが可能である。
【００２３】
Ｋｍ＝Ｅｎｃ（Ｋｇ，Ｋｏ） ＸＯＲ Ｋｏ
Ｋｐ＝Ｅｎｃ（Ｋｇ，Ｋｏ ＋ １） ＸＯＲ Ｋｏ ＋ １
ここでＥｎｃ（Ａ，Ｂ）はＢをＡで暗号化した値を示す。Ｋｇは固定の鍵値、＋は加算演算、ＸＯＲは排他的論理和を示す。この計算式による処理によると、Ｋｍ，ＫｐからＫｏの類推は困難である。またＫｍとＫｐ間の類推も困難である。
【００２４】
なお、鍵生成機器１００は、Ｋｐをコンテンツ提供機器２００へ渡すに際し、コンテンツ提供機器２００へ直接Ｋｐを送信するようにしてもよいが、代わりに、鍵生成機器１００がＫｐを所定の記憶媒体に一時的に保管した後に、コンテンツ提供機器２００がそれを読み出す、もしくはそれがコンテンツ提供機器２００側へ送られるという２段階の処理を経てコンテンツ提供機器２００にＫｐが供給されるように構成してもよい。
【００２５】
コンテンツ提供機器２００は、鍵生成機器１００から渡されたＫｐとコンテンツとに基づき、ＭＡＣ演算部２０２により所定のＭＡＣ（Message Authentication Code）演算を行ってＭＡＣ値を生成し、またそのＫｐを用いて暗号処理部２０１によりコンテンツを暗号化し、この暗号化したコンテンツとＭＡＣ値とを、後述するホスト機器３００と記録媒体４００との間の認証処理の成功により形成されるセキュアチャネルを通じて、ホスト機器３００経由で記録媒体４００へ送信する。このときのＭＡＣ演算は、例えば非特許文献３に示される計算式で実現することが可能である。
【００２６】
また、鍵生成機器１００は、ＭＫＢ生成器１０２により、鍵生成器１０４から生成されるＫｏと、一方向性器１０３から生成されるＫｍと、デバイス鍵ＤＢ１０１が有する複数のデバイス鍵の一部とからＭＫＢを生成し、この生成したＭＫＢをホスト機器３００へ送信すると共に記録媒体４００へ送信する。ＭＫＢは、例えば非特許文献２に示されるＭＫＢを利用すれば、Ｋｍを生成するためのＭＫＢや、Ｋｏを生成するためのＭＫＢを生成できるので、ＫｍやＫｏを一つのＭＫＢで生成できるように構成することにより本例で使用するＭＫＢを生成できる。
【００２７】
上記鍵生成機器１００は、ＭＫＢを生成するに際し、任意のホスト機器が所有するデバイス鍵（ここでは、ホスト機器３００が所有するデバイス鍵３０１）からＫｍを算出することを可能とするデータと、任意の記録媒体が所有するデバイス鍵（ここでは、記録媒体４００が所有するデバイス鍵４０１）からＫｏ算出することを可能とするデータとを当該ＭＫＢに含める。また、上記鍵生成機器１００は、ＭＫＢを生成するに際し、更に、当該ＭＫＢから任意のホスト機器（ここでは、ホスト機器３００）が算出するＫｍが正しいものかどうかを検証するための検証用データと、当該ＭＫＢから任意の記録媒体（ここでは、記録媒体４００）が算出するＫｏが正しいものかどうかを検証するための検証用データとを当該ＭＫＢに含める。この場合のＭＫＢのデータ構造の一例を図４に示す。
【００２８】
図４に示されるように、ＭＫＢの中には、ホスト機器用のｘ個のデバイス鍵Ｋｄ＿ｈ１〜Ｋｄ＿ｈｘから、それぞれ、Ｋｍを算出することを可能とする、ｘ個のデータＥｎｃ（Ｋｄ＿ｈ１，Ｋｍ）〜Ｅｎｃ（Ｋｄ＿ｈｘ，Ｋｍ）が備えられる。同様に、記録媒体用のｙ個のデバイス鍵Ｋｄ＿ｍ１〜Ｋｄ＿ｍｙから、それぞれ、Ｋｏを算出することを可能とする、ｙ個のデータＥｎｃ（Ｋｄ＿ｍ１，Ｋｏ）〜Ｅｎｃ（Ｋｄ＿ｍｙ，Ｋｏ）が備えられる。すなわち、ホスト機器がｘ個のデバイス鍵Ｋｄ＿ｈ１〜Ｋｄ＿ｈｘのうちのいずれか１つを所有していれば、対応するデータからＫｍを算出することができる。同様に、記録媒体がｙ個のデバイス鍵Ｋｄ＿ｍ１〜Ｋｄ＿ｍｙのうちのいずれか１つを所有していれば、対応するデータからＫｏを算出することができる。
【００２９】
更に、ＭＫＢの中には、ホスト機器が算出するＫｍが正しいものかどうかを検証するための検証用データＥｎｃ（Ｋｍ，固定データ）と、記録媒体が算出するＫｏが正しいものかどうかを検証するための検証用データＥｎｃ（Ｋｏ，固定データ）とが備えられる。すなわち、検証対象のＫｍを復号して得られるデータが固定データに一致するか否かを判定することにより、Ｋｍが正しいものかどうかを判定することができる。同様に、検証対象のＫｏを復号して得られるデータが固定データに一致するか否かを判定することにより、Ｋｏが正しいものかどうかを判定することができる。
【００３０】
ホスト機器３００は、鍵生成機器１００から送信されるＭＫＢに基づき、ＭＫＢ処理部３０２により、ＭＫＢ処理を実施して、予め所有する当該ホスト機器３００のデバイス鍵３０１からＫｍを算出し、この算出したＫｍを記録媒体４００との認証処理に使用する。
【００３１】
記録媒体４００は、鍵生成機器１００から送信されるＭＫＢに基づき、ＭＫＢ処理部４０２により、ＭＫＢ処理を実施して、予め所有する当該記録媒体４００のデバイス鍵３１０からＫｏを算出し、この算出したＫｏを鍵生成機器１００内の一方向性器（一方向性関数）１０３と同じ一方向性器（一方向性関数）４０４を通じてＫｍおよびＫｐを算出し、この算出したＫｍをホスト機器３００との認証処理に使用する。
【００３２】
ホスト機器３００と記録媒体４００とは、お互いに有するＫｍを利用して認証処理を行う。認証処理としては、例えば特許文献１に示される方式を採用する。この認証処理が成功した場合にのみ、ホスト機器３００と記録媒体４００との間にセキュリティチャネルが形成され、このセキュリティチャネルを通じてコンテンツ提供機器２００からの暗号化コンテンツおよびＭＡＣ値が記録媒体へ送信される。
【００３３】
記録媒体４００は、セキュリティチャネルを通じて送信されてきた暗号化コンテンツを、一方向性器４０４を通じて算出したＫｐを用いて復号した上で、この復号したコンテンツと一方向性器４０４を通じて算出したＫｐとに基づき、コンテンツ提供機器２００内のＭＡＣ演算部２０２でのＭＡＣ演算と同じＭＡＣ演算部４０６でのＭＡＣ演算によりＭＡＣ値を生成し、この生成したＭＡＣ値と、セキュリティチャネルを通じて送信されてきたＭＡＣ値とが一致するか否かの確認をＭＡＣ検証部４０７により行い、コンテンツが改ざんされているか否かの検証を行う。一致する場合には、コンテンツの改ざんは行われなかったものとみなし、当該コンテンツを記録部４０８により所定の記録媒体内に記録する。
【００３４】
このような処理により、効率的かつ安全に正しい改ざんされていないコンテンツのみを記録媒体４００まで運搬し記録することができる。
【００３５】
なお、上記処理において、コンテンツに対する暗合処理部２０１での暗号化や復号処理部４０５での復号は省略することが可能である。勿論、この場合もＭＡＣ検証部４０７により改ざん検出は実施できるため、安全性を維持できる。コンテンツ提供機器の要望により、暗号化の必要はないという場合などに、このような形態を採用することができる。また逆に、上述の暗合処理部２０１での暗号化や復号処理部４０５での復号を行うのであれば、ＭＡＣ演算部２０２，４０６でのＭＡＣ演算やＭＡＣ検証部４０７でのＭＡＣ検証を省略することも可能である。
【００３６】
次に、同システムにおいて、あるデバイス鍵が漏れたり破れたりした場合に、該当するホスト機器や記録媒体を無効化（リボーク）する方法について説明する。
【００３７】
無効化を実現するためには、無効化対象のホスト機器や記録媒体が自身のＭＫＢ処理部でのＭＫＢ処理が失敗してＫｍやＫｏを正しく算出できないようにする。そのためには、ＭＫＢ生成器１０２にてＭＫＢを生成するに際し、無効化対象のホスト機器が所有するデバイス鍵からＫｍを算出することを不可とするデータを当該ＭＫＢに含める、もしくは、無効化対象の記録媒体が所有するデバイス鍵からＫｏを算出することを不可とするデータを当該ＭＫＢに含めるようにする。このような方法を用いることにより、図５に示されるように、例えばホスト機器３２０、ホスト機器３３０、記録媒体４２０だけを選択的に無効化することができる。この場合、認証処理に必要なＫｍを算出できるホスト機器３１０だけが記録媒体４１０，４３０とのみ認証を行える。これにより、例えば問題のあるホスト機器、記録媒体を利用できないようにすることができ、また、特定の機器間だけがコンテンツ転送を行えるようにすることができる。
【００３８】
図６は、ＭＫＢ生成器１０２により一部のデバイス鍵が無効化（リボーク）されたＭＢＫのデータ構造の一例を示す図である。
【００３９】
図６の例では、ホスト機器用のｘ個のデバイス鍵Ｋｄ＿ｈ１〜Ｋｄ＿ｈｘのうち、デバイス鍵Ｋｄ＿ｈ４が無効化され、また、記録媒体用のｙ個のデバイス鍵Ｋｄ＿ｍ１〜Ｋｄ＿ｍｙのうち、デバイス鍵Ｋｄ＿ｍ５が無効化されている。すなわち、デバイス鍵Ｋｄ＿ｈ４を所有するホスト機器は、使用したいデータＥｎｃ（Ｋｄ＿ｈ４，Ｋｍ）がデータＥｎｃ（Ｋｄ＿ｈ４，オール０）に変更されているため、Ｋｍを算出することができず、また、デバイス鍵Ｋｄ＿ｍ５を所有する記録媒体は、使用したいデータＥｎｃ（Ｋｄ＿ｍ５，Ｋｏ）がデータＥｎｃ（Ｋｄ＿ｍ５，オール０）に変更されているため、Ｋｏを算出することができないことになる。
【００４０】
次に、図７のシーケンス図を参照して、同システムを構成する機器間で行われる動作について説明する。ここでは、必要に応じて図３も参照する。
【００４１】
事前に、ホスト機器３００はデバイス鍵Ｋｄ＿ｈを所有し（ステップＳ１）、記録媒体４００はデバイス鍵Ｋｄ＿ｍを所有する（ステップＳ２）。
【００４２】
鍵生成機器１００は、鍵生成器１０４からＫｏを生成し（ステップＳ１１）、このＫｏを一方向性器１０３に入れてＫｍとＫｐとを生成し（ステップＳ１２）、生成したＫｐをコンテンツ提供機器２００へ渡す（ステップＳ１３）。
【００４３】
また、鍵生成機器１００は、ＭＫＢ生成器１０２により、鍵生成器１０４から生成されるＫｏと、一方向性器１０３から生成されるＫｍと、デバイス鍵ＤＢ１０１が有する複数のデバイス鍵の一部とからＭＫＢを生成し、この生成したＭＫＢをホスト機器３００へ送信し（ステップＳ１５）、また、記録媒体４００へ送信する（ステップＳ１６）。
【００４４】
一方、コンテンツ提供機器２００は、鍵生成機器１００から渡されたＫｐとコンテンツとに基づき、ＭＡＣ演算部２０２により所定のＭＡＣ演算を行ってＭＡＣ値を生成し、またそのＫｐを用いて暗号処理部２０１によりコンテンツを暗号化し（ステップＳ２１）、この暗号化したコンテンツとＭＡＣ値とをホスト機器３００へ送信する（ステップＳ２２）。
【００４５】
ホスト機器３００は、鍵生成機器１００から送信されるＭＫＢに基づき、ＭＫＢ処理部３０２により、ＭＫＢ処理（MKB Process）を実施して、所有するデバイス鍵Ｋｄ＿ｈからＫｍを算出する（ステップＳ３１）。この算出したＫｍは、記録媒体４００との認証処理（ステップＳ４３）に使用される。
【００４６】
記録媒体４００は、鍵生成機器１００から送信されるＭＫＢに基づき、ＭＫＢ処理部４０２により、ＭＫＢ処理（MKB Process）を実施して、所有するデバイス鍵Ｋｄ＿ｍからＫｏを算出し（ステップＳ４１）、この算出したＫｏを鍵生成機器１００内の一方向性器（一方向性関数）１０３と同じ一方向性器（一方向性関数）４０４を通じてＫｍおよびＫｐを算出し（ステップＳ４２）、この算出したＫｍをホスト機器３００との認証処理に使用する。
【００４７】
ホスト機器３００と記録媒体４００とは、お互いに有するＫｍを利用して認証処理を行う（ステップＳ４３）。この認証処理が成功すると、ホスト機器３００と記録媒体４００との間にセキュリティチャネルが形成され、このセキュリティチャネルを通じてコンテンツ提供機器２００からの暗号化コンテンツおよびＭＡＣ値が記録媒体へ送信される（ステップＳ４４）。
【００４８】
記録媒体４００は、セキュリティチャネルを通じて送信されてきた暗号化コンテンツを、一方向性器４０４を通じて算出したＫｐを用いて復号した上で、この復号したコンテンツと一方向性器４０４を通じて算出したＫｐとに基づき、コンテンツ提供機器２００内のＭＡＣ演算部２０２でのＭＡＣ演算と同じＭＡＣ演算部４０６でのＭＡＣ演算によりＭＡＣ値を生成し、この生成したＭＡＣ値と、セキュリティチャネルを通じて送信されてきたＭＡＣ値とが一致するか否かの確認をＭＡＣ検証部４０７により行い、コンテンツが改ざんされているか否かの検証を行い、一致すれば、コンテンツの改ざんは行われなかったものとみなし、当該コンテンツを記録部４０８により所定の記録媒体内に記録する（ステップＳ４５）。
【００４９】
以上詳述したように本実施形態によれば、既存の方式を利用しつつ効率的かつ安全にコンテンツを記録媒体へ転送することが可能となる。また、ＭＫＢを用いて無効化を実施することにより、例えば問題のあるホスト機器、記録媒体を利用できないようにすることができ、また、特定の機器間だけがコンテンツ転送を行えるようにすることができる。
【００５０】
なお、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００５１】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００５２】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【００５３】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
【００５４】
また、記憶媒体は１つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００５５】
なお、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００５６】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００５７】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態に係るコンテンツ転送システムを構成する各種の構成要素を示す図。
【図２】各記録媒体および各ホスト機器が有する各種の要素をより詳細に示す図。
【図３】同システムの全体の構成と処理の流れを詳細に示す図。
【図４】ＭＫＢのデータ構造の一例を示す図。
【図５】一部のホスト機器や記録媒体を選択的に無効化することを示す図。
【図６】ＭＫＢ生成器により一部のデバイス鍵が無効化（リボーク）されたＭＢＫのデータ構造の一例を示す図。
【図７】同システムを構成する機器間で行われる動作を示すシーケンス図。
【符号の説明】
【００５９】
１００…鍵生成機器、１０１…デバイス鍵ＤＢ、１０２…ＭＫＢ生成器、１０３…一方向性器、１０４…鍵生成器、２００…コンテンツ提供機器、２０１…暗号処理部、２０２…ＭＡＣ演算部、２０３…コンテンツ、３００，３１０，３２０，３３０…ホスト機器、３０１，３１１，３２１，３３１…デバイス鍵、３０２，３１２，３２２，３３２…ＭＫＢ処理部、３０３…認証処理部、４００，４１０，４２０，４３０…記録媒体、４０１，４１１，４１２，４１３…デバイス鍵、４０２，４１２，４２２，４３２…ＭＫＢ処理部、４０３…認証処理部、４０４…一方向性器、４０５…復号処理部、４０６…ＭＡＣ演算部、４０７…ＭＡＣ検証部、４０８…記録部。
【図１】
0004703668.tif 000002
【図２】
0004703668.tif 000003
【図３】
0004703668.tif 000004
【図４】
0004703668.tif 000005
【図５】
0004703668.tif 000006
【図６】
0004703668.tif 000007
【図７】
0004703668.tif 000008