(57)【要約】  本発明は、キーブロック型認証のためのシステム７０，８０及び方法に関するもので、該システムは複数の部分集合を含む複数のドライブユニット３を有し、一つのドライブユニット３は一群のノードキーＫＮｄと該ドライブユニット３が一部である部分集合を示す識別子ＩＤｄとを有し、アプリケーションユニット１はキーブロックＡＫＢを有する。ハッキングされたドライブユニット３の識別を可能にし、該ハッキングされたドライブユニット３を上記キーブロック型認証から無効にし、その場合において該システムがキーブロック型認証のための既存のシステム及び方法とかなりの程度に互換性があるようにするために、複数の部分集合を含む複数のドライブユニット３であって、一つのドライブユニット３が一群のノードキーＫＮｄと該ドライブユニット３が一部となる部分集合を示す識別子ＩＤｄとを有するような複数のドライブユニット３と；許可キー及び認証キーＫＡｘ，ＫＲauthxの複数の対を含むキーブロックＡＫＢを有するアプリケーションユニット１であって、これらキーの各対が前記部分集合の１つに関連付けられているようなアプリケーションユニット１と；上記識別子ＩＤｄを前記ドライブユニット３から前記アプリケーションユニット１に供給すると共に許可キーＫＡｘを前記アプリケーションユニット１から前記ドライブユニット３へ供給する通信手段７２と；前記ドライブユニット３及び前記アプリケーションユニット１を１対のキーにより認証する認証手段７４とを有するようなシステムが提案され、上記アプリケーションユニット１は前記キーブロックＡＫＢから前記識別子ＩＤｄに対応する前記１対のキーを選択する選択手段６２を有し、前記ドライブユニット３は前記１対のキーのうちの前記認証キーＫＲauthxを前記１対のキーの前記許可キーＫＡｘから前記一群のノードキーＫＮｄにより導出する復号手段５２を有する。
2008545316.tif 000002
【特許請求の範囲】
【請求項１】
キーブロック型認証のためのシステムにおいて、
−  複数の部分集合を含む複数のドライブユニットであって、一つのドライブユニットが、該ドライブユニットが一部となる部分集合を示す識別子及び一群のノードキーを有するような複数のドライブユニットと、
−  許可キー及び認証キーの複数の対を含むキーブロックを有するアプリケーションユニットであって、これらキーの各対が前記部分集合の１つに関連付けられているようなアプリケーションユニットと、
−  前記識別子を前記ドライブユニットから前記アプリケーションユニットに供給すると共に、許可キーを前記アプリケーションユニットから前記ドライブユニットに供給する通信手段と、
−  前記ドライブユニット及び前記アプリケーションユニットを１対のキーにより認証する認証手段と、
を有し、
前記アプリケーションユニットが、前記キーブロックから前記識別子に対応する前記１対のキーを選択する選択手段を有し、
前記ドライブユニットが、前記１対のキーのうちの前記認証キーを前記一群のノードキーにより前記１対のキーのうちの前記許可キーから導出する復号手段を有する、
ようなキーブロック型認証のためのシステム。
【請求項２】
請求項１に記載の認証のためのシステムにおいて、前記ドライブユニットが、特にはドライブ、好ましくは光ディスクドライブであるようなユーザ装置であり、前記アプリケーションユニットがホストコンピュータ上のソフトウェアアプリケーションであるようなシステム。
【請求項３】
請求項１に記載の認証のためのシステムにおいて、前記識別子が実質的に固有な識別子であるようなシステム。
【請求項４】
請求項１に記載の認証のためのシステムにおいて、前記キーブロックが、前記複数の
部分集合のドライブユニットに対応する、特にはバイナリツリー構造のようなツリー構造の表現を有しているようなシステム。
【請求項５】
請求項１に記載の認証のためのシステムにおいて、
以前のキーブロックを用いて前記アプリケーションユニット用の新たなキーブロックを発生するキーブロック発生器を更に有し、
前記キーブロック発生器が、
−  前記以前のキーブロックから少なくとも１つの認証キーを無効にして前記新たなキーブロックを形成する無効化手段と、
−  前記無効化された認証キーに関連付けられたドライブユニットの複数の部分集合を前記新たなキーブロックにおいてドライブユニットの実質的に新たな部分集合に配置する配置手段と、
−  前記新たな部分集合のための新たな認証キーを符号化する新たな許可キーを発生するキー発生手段と、
を有するようなシステム。
【請求項６】
請求項１に記載の認証のためのシステムにおいて、複数のアプリケーションユニットを更に有し、異なるアプリケーションユニットが各々異なるキーブロックを有するようなシステム。
【請求項７】
請求項５に記載の認証のためのシステムにおいて、複数のアプリケーションユニットを更に有し、前記キーブロック発生器が、前記以前のキーブロックから各アプリケーションユニット又はアプリケーションユニットの群に対して異なるキーブロックを発生するように構成されているようなシステム。
【請求項８】
請求項７に記載の認証のためのシステムにおいて、前記キーブロック発生器は前記以前のキーブロックから新たなキーブロックを発生するように構成され、新たなキーブロックがドライブユニットの実質的に新たな部分集合に対して配置されるようなシステム。
【請求項９】
キーブロック型認証のためのシステムにおけるドライブユニットにおいて、前記システムは複数の部分集合を含む複数のドライブユニットとアプリケーションユニットとを有し、前記ドライブユニットが、
−  一群のノードキーと、
−  当該ドライブユニットが一部となる部分集合を示す識別子と、
−  前記識別子を前記アプリケーションユニットに供給すると共に該アプリケーションユニットから許可キーを受信する通信手段と、
−  前記一群のノードキーにより前記許可キーから認証キーを導出する復号手段と、
−  該認証キーにより前記アプリケーションユニットを認証する認証手段と、
を有するようなドライブユニット。
【請求項１０】
キーブロック型認証のためのシステムのアプリケーションユニットにおいて、前記システムは複数の部分集合を含む複数のドライブユニットを更に有し、前記アプリケーションユニットが、
−  許可キー及び認証キーの複数の対を含むキーブロックであって、これらキーの各対が前記ドライブユニットの前記複数の部分集合の１つに関連付けられているようなキーブロックと、
−  ドライブユニットから識別子を受信すると共に、該ドライブユニットに許可キーを供給する通信手段と、
−  前記キーブロックから前記識別子に対応する１対のキーを選択する選択手段と、
−  前記ドライブユニットを認証キーにより認証する認証手段と、
を有するようなアプリケーションユニット。
【請求項１１】
複数のドライブユニットのうちのドライブユニットであって、前記複数のドライブユニットが複数の部分集合を含み、前記ドライブユニットが一群のノードキーと当該ドライブユニットが一部となる部分集合を示す識別子とを有するようなドライブユニットと、
許可キーと認証キーとの複数の対を含むキーブロックを有するアプリケーションユニットであって、これらキーの各対が前記部分集合の１つに関連付けられているようなアプリケーションユニットと、
の間のキーブロック型認証のための方法において、
該方法が、
−  前記識別子を前記アプリケーションユニットに供給するステップと、
−  前記キーブロックから前記識別子に対応する１対のキーを選択するステップと、
−  該１対のキーのうちの許可キーを前記ドライブユニットに供給するステップと、
を有し、
前記ドライブユニットは前記１対のキーのうちの認証キーを前記許可キーから前記一群のノードキーを用いて導出し、前記認証が該認証キーを用いて実行される、
ような方法。
【請求項１２】
コンピュータ上で実行された場合に該コンピュータに請求項１１に記載の方法の各ステップを実行させるコンピュータプログラムコード手段を有するようなコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部分集合を含む複数のドライブユニットを有するようなキーブロック型認証のためのシステム及び方法に関するもので、１つのドライブユニットが一群のノードキーと、当該ドライブユニットが属する部分集合を示す識別子とを有し、アプリケーションユニットがキーブロックを有するようなシステム及び方法に関する。
【背景技術】
【０００２】
キーブロック型認証プロトコルは良く知られており、例えば光ディスクドライブとホストコンピュータシステム上で動作するソフトウェアアプリケーションとの間で使用される。ビデオコンテンツ保護システム（ＶＣＰＳ；http://www.licensing.philips.com/vcps参照）によれば、認証プロトコルはＶＣＰＳ保護ディスクにアクセスするためにアプリケーションによりドライブとで実行されねばならない。ＶＣＰＳ仕様（バージョン１．１以下）に指定されているように、アプリケーションは、アプリケーションキーブロック（ＡＫＢ）及びオプションとして該ＡＫＢに符号化されたルートキーＫＲrootの事前算出されたコピーを含む。アプリケーションはＡＫＢから自身の装置ＩＤと自身のノードキーＫＮｈの群とを用いてＫＲrootを動的に算出することもできる。典型的には、各アプリケーションは個性化されたＫＲrootを持つＡＫＢを含む。
【０００３】
残念ながら、アプリケーションにおけるＫＲrootの動的計算は、単一のアプリケーションがハッキングされた場合でさえも全てのアプリケーションをキー公開ハッキングに対して脆弱にさせる。この脆弱性の理由は、ハッカはハッキングされたアプリケーションから抽出されたノードキーＫＮｈを使用して全ての他のアプリケーション（これらのアプリケーションが固有のルートキーＫＲrootを持つ個人化されたＡＫＢを含んでいても）のＡＫＢに含まれているルートキーＫＲrootを決定することができることにある。従って、該ハッカは、全てのルートキーＫＲrootを含むデータベースを、ハッキングされたアプリケーションの素性（即ち、該データベースを構築するために使用されたノードキーＫＮｈの群）を明らかにすることなしに公開することができる。結果として、該ハッキングは一般大衆に対して公開されたままとなる一方、ハッキングされたアプリケーションは識別することができず、従って無効にすることができない。
【０００４】
このキーを公開するハッキングを軽減する多数の解決策が知られている。第１の解決策は、ＡＫＢを、該ＡＫＢが含まれているもの以外の如何なる他のアプリケーションも許可しないように構成することである。これは、実効的に、該ＡＫＢが（１以上のドライブに加えて）これらの他のＡＫＢを"無効にする"ことを意味する。従って、ハッカは或るアプリケーションのノードキーＫＮｈを使用して、他のアプリケーションのＡＫＢに符号化されたＫＲrootを決定することはできない。第２の解決策は、アプリケーションにＡＫＢ及び関連するルートキーＫＲrootは備えさせるが、該ＡＫＢを復号するために要するノードキーＫＮｈの群は備えさせないことである。
【０００５】
ＶＣＰＳ（バージョン1.2）に対しては、これら解決策の混合が採用されている。何故なら、ＶＣＰＳは他のキーブロック（即ち、ディスクキーブロックＤＫＢ）を復号するために一群のノードキーＫＮｈを必要とし、全てのＫＮｈは同一のキー空間から選択されるからである。ここでは、ＡＫＢは、該ＡＫＢを所有するアプリケーションを含め全てのアプリケーションを"無効にする"ので、そのＫＮｈは該ＡＫＢからＫＲrootを復号するために使用することはできない。
【０００６】
上述した解決策は、ハッキングされたアプリケーションからの結果であり得るようなキーを公開するハッキングは有効に軽減する。その理由は、これら解決策は、当該ハッキングを一般大衆に公開するために、当該ハッカに、ハッキングされたアプリケーションを識別するデータを強制的に公開させるからである。結果として、ハッキングされたアプリケーションを識別し、無効にすることが可能となる。
【０００７】
ハッキングされたアプリケーションの斯様な無効化は、ＡＫＢ以外の手段を介して実行されることに注意すべきである。例えば、ＶＣＰＳは新たなブランク媒体上で供給されるＤＫＢを介してアプリケーションを無効化する。
【０００８】
ハードウェア装置はハッキングされないであろうと仮定する脅威モデル（threat model）においては、上記解決策は十分であろう。しかしながら、より現実的な脅威モデルは、ハードウェア装置も大幅に低い率ではあるがハッキングされるであろうと仮定する。ハッキングされたアプリケーションの結果としてのキーを公開するハッキングは上記解決策により解決され得るであろうが、このモデルにおいては、ハッキングされた装置の結果としてのキーを公開するハッキングに対する脆弱性も出現する。この場合、ハッカはドライブから抽出されたノードキーＫＮｄを使用して、全てのアプリケーションのルートキーＫＲrootのデータベースを構築する。そして、先の場合におけるのと同様に、ハッカは無効化されたドライブの素性を明らかにしないので、識別及びその後の無効化は不可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
従って、本発明の目的は、複数の部分集合を含む複数のドライブユニットを有するキーブロック型認証のためのシステム及び方法であって、一つのドライブユニットが一群のノードキーと当該ドライブユニットが一部である部分集合を示すような識別子とを有し、アプリケーションユニットがキーブロックを有し、ハッキングされたドライブユニットを識別して該ハッキングされたドライブユニットを当該キーブロック型認証から無効にするのを可能にし、且つ、かなりの程度にキーブロック型認証のための既存のシステム及び方法と互換性のあるようなシステム及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的は、本発明によれば、
−  複数の部分集合を含む複数のドライブユニットであって、一つのドライブユニットが、該ドライブユニットが一部となる部分集合を示す識別子及び一群のノードキーを有するような複数のドライブユニットと、
−  許可キー及び認証キーの複数の対を含むキーブロックを有するアプリケーションユニットであって、これらキーの各対が前記部分集合の１つに関連付けられているようなアプリケーションユニットと、
−  前記識別子を前記ドライブユニットから前記アプリケーションユニットに供給すると共に、許可キーを前記アプリケーションユニットから前記ドライブユニットに供給する通信手段と、
−  前記ドライブユニット及び前記アプリケーションユニットを１対のキーにより認証する認証手段と、
を有し、
前記アプリケーションユニットが、前記キーブロックから前記識別子に対応する１対のキーを選択する選択手段を有し、
前記ドライブユニットが、前記１対のキーのうちの前記認証キーを前記一群のノードキーにより前記１対のキーのうちの前記許可キーから導出する第１の復号手段を有する、
ようなキーブロック型認証のためのシステムにより達成される。
【００１１】
また、本発明は請求項９に記載するようなドライブユニットであって、
−  一群のノードキーと、
−  当該ドライブユニットが一部となる部分集合を示す識別子と、
−  前記識別子を前記アプリケーションユニットに供給すると共に該アプリケーションユニットから許可キーを受信する通信手段と、
−  前記一群のノードキーにより前記許可キーから認証キーを導出する復号手段と、
−  該認証キーにより前記アプリケーションユニットを認証する認証手段と、
を有するようなドライブユニットに関するものであると共に、請求項１０に記載したようなアプリケーションユニットであって、
−  許可キー及び認証キーの複数の対を含むキーブロックであって、これらキーの各対が前記ドライブユニットの前記部分集合の１つに関連付けられているようなキーブロックと、
−  ドライブユニットから識別子を受信すると共に、該ドライブユニットに許可キーを供給する通信手段と、
−  前記キーブロックから前記識別子に対応する１対のキーを選択する選択手段と、
−  前記ドライブユニットを認証キーにより認証する認証手段と、
を有するようなアプリケーションユニットにも関するものである。
【００１２】
上記システムに対応するキーブロック型認証のための方法が、請求項１１に記載されている。この方法は、コンピュータ上で実行された場合に該コンピュータに該方法のステップを実行させるようなコンピュータプログラムコードを有するコンピュータプログラムによりコンピュータ上で実施することができる。
【００１３】
本発明は、認証キーと、この認証キーが有効なドライブユニットとの間のリンクが、公開された認証キーが取り出されたハッキングされたドライブユニットを識別するのを可能にするとの洞察に基づいている。認証自体にとっては異なる認証手順が同一の認証キーを使用することは必要ではないので、異なる認証手順に対して、即ち同一又は異なるアプリケーションユニットと認証を行う異なるドライブユニットに対して、異なる認証キーを設けることが可能である。従って、ＡＫＢ内の各許可キーＫＡｘが異なる（好ましくは、固有の）認証キーＫＲauthを符号化することが提案される。結果として、アプリケーションユニットは、１つの認証キーではなく、当該アプリケーションユニットによってＡＫＢから復号することができない場合は複数の認証キーＫＲauthを記憶しなければならない。
【００１４】
ハッカが特定のドライブユニットから前記一群のノードキーＫＮｄを取り出すことができた場合、該ハッカは各アプリケーションユニットのＡＫＢの認証キーＫＲauthのうちの１つしか復号（解読）することができない。従って、キーを公開するハッキングの有効性は減じられることになる。何故なら、全体として公衆のうちの極小さな集合しか、即ちＡＫＢのうちのハッキングされたドライブと同一の部分ツリー内に位置するドライブを持つ者しか、利益を受けることができないであろうからである。
【００１５】
上記ハッカは、ハッキングされたドライブの素性の少なくとも一部を明らかにすることを余儀なくされる。即ち、各ＫＲauthは固有であり、ＡＫＢ内でのその位置は既知であり、従ってＡＫＢを介する経路を決定する当該ハッキングされたドライブの素性の一部がわかる。従って、全ての将来のＡＫＢは、該既知の経路上にあるノードキーを無効にすることができる。結果として、攻撃されたドライブを有限数のステップで無効化することができる。ハッカは、各反復においてドライブの素性（識別）の少なくとももう１つのビットを明らかにすることを余儀なくされる。
【００１６】
アプリケーションユニットがハッキングされたか又はドライブユニットがハッキングされたかを検出することが可能である。アプリケーションユニットがハッキングされた場合、該ユニットに埋め込まれた認証キーＫＲauthの全て又は殆どが、恐らくは概ね同時に、公開される可能性がある。このような場合、該アプリケーションユニットは、新たなＡＫＢを含む新たなバージョンにより置換されねばならない。ドライブユニットがハッキングされた場合、各アプリケーションユニットからの１つのＫＲauthのみが公開されるであろう。このような場合、全てのアプリケーションユニットは新たなＡＫＢ及び新たな認証キーＫＲauthの組を取り込まねばならず、これらにおいては、ハッキングされたドライブユニット及び該ドライブユニットが配置された部分ツリーは無効化される。
【００１７】
アプリケーションキーブロックに含まれる各許可キーから同一のルートキーＫＲrootが導出されるべき従来技術から既知のアプリケーションキーブロックとは異なり、本発明によるアプリケーションキーブロックは複数の許可キーＫＡｘを有し、これも複数の認証キーＫＲauthが、当該アプリケーションキーブロックにおける異なる部分集合のドライブユニットに関連付けられた該複数の許可キーＫＡｘから導出されねばならない。かくして、従来技術による全てのドライブユニットの認証に対して使用される単一のルートキーＫＲrootとは対照的に、異なる部分集合のドライブユニットを認証するために異なる認証キーＫＲauthが使用される。
【００１８】
本発明による認証のためのシステムの一実施例によれば、上記ドライブユニットは特にはドライブ、好ましくは光ディスクドライブ等のユーザ装置であり、上記アプリケーションユニットはホストコンピュータ上のソフトウェアアプリケーションである。キーブロック型の認証は、無許可のアクセスから保護されるべきデータが光データ担体上で提供され、コンピュータ又は何らかの他のホストにロードされるべき場合に特に重要である。
【００１９】
本発明による認証のためのシステムの好ましい実施例において、前記識別子は実質的に固有な識別子とする。各ドライブユニットに対して実質的に固有な識別子を設けることにより、ハッキングされたドライブが正確に識別されると共に無効化され、該無効化により如何なる"無実の"ドライブも影響を受けることがないことを保証することができる。
【００２０】
本発明の他の実施例においては、前記キーブロックは前記ドライブユニットの複数の部分集合に対応する、特にはバイナリツリー構造等のツリー構造の表現を有する。上記部分集合の表現をツリー構造にすることにより、関連する部分集合を短時間に見付ける容易な方法が存在することになる。何故なら、斯様なツリー構造の検索は容易且つ高速であるからである。
【００２１】
有利な実施例において、上記認証のためのシステムは、以前のキーブロックを用いて前記アプリケーションユニット用の新たなキーブロックを発生するキーブロック発生器を更に有し、該キーブロック発生器は、前記以前のキーブロックから少なくとも１つの認証キーを無効にして前記新たなキーブロックを形成する無効化手段と、前記無効化された認証キーに関連付けられたドライブユニットの複数の部分集合を前記新たなキーブロックにおいてドライブユニットの実質的に新たな部分集合に配置する配置手段と、前記新たな部分集合のための新たな認証キーを符号化する新たな許可キーを発生するキー発生手段とを有する。上記キーブロック発生器は上記複数の無効化されていないドライブユニットに対するエントリを、この複数のドライブユニットが当該キーブロックに有効な許可キーが含まれる部分集合により正確にカバーされるように再配置する。
【００２２】
好ましい実施例では、本発明による認証のためのシステムは、複数のアプリケーションユニットを更に有し、異なるアプリケーションユニットが各々異なるキーブロックを有する。当該システムに異なるキーブロックが存在すると、ハッキングを一般大衆に公開するためには、ハッカはハッキングされたドライブユニットの素性の一層多くの詳細を明らかにすることを余儀なくされる。
【００２３】
従って、上記キーブロック発生器は、前記以前のキーブロックから各アプリケーションユニットに対して又はアプリケーションユニットの群に対して異なる新たなキーブロックを発生するように構成されることが更に好ましい。
【００２４】
本発明による認証のためのシステムの有利な実施例では、前記キーブロック発生器は前記以前のキーブロックから新たなキーブロックを発生するように構成され、その場合において、異なる新たなキーブロックが、ドライブユニットの実質的に異なる新たな部分集合に対して配置されるようにする。実質的に異なる新たな部分集合によれば、将来においてハッキングされるドライブユニットは異なる部分集合の一部となるようになるであろう。従って、ハッキングされた許可キーを使用することができるドライブユニットの数は１つの特定のキーブロックに面する１つの特定の部分集合のものに限定されるか、又は当該ハッカは、当該ハッキングが如何なるキーブロックに面する如何なるドライブユニットによっても利用されるようにするために一層多くの情報を明らかにしなければならない。従って、当該ハッキングが実質的に無用のものとなるか、開示された情報がハッキングされたドライブユニットの一層速い追跡を可能にするかの何れかとなる。
【００２５】
ハッキングされたドライブユニットを追跡するために要する反復の数は、前記ＡＫＢを入念に延ばすことにより、即ち許可キーＫＡｘが可能な限りツリーの底部に近く配置されるように該ツリーの上部において追加のノードキーを"無効にする"ことにより低減することができることに注意すべきである。この結果、ＡＫＢは（恐らく非常に）大きくなるが、記憶要件の増加はアプリケーションユニットにとり問題とならない。例えば、ＡＫＢの大きさは、全ての許可キーＫＡｘがツリーのルートの下の１０のレベルである場合、約１６ｋＢに過ぎない。攻撃された又はハッキングされたドライブユニットに焦点を合わせることにより、即ちハッキングされたドライブユニットを含むことが分かっている部分ツリーに追加の"無効化"を追加することにより、完全な無効化は数回の反復のみで達成することができる。このような態様で追跡及び無効化されるべきドライブが複数ある場合、必要とされる反復の数は増加する。何故なら上記焦点合わせが、これらのドライブの全てに対して同時に実行されねばならないからである。しかしながら、別の攻撃されたドライブに焦点を合わせるために別のポピュラーなアプリケーションのＡＫＢが使用されるなら、幾らかの効率性は維持することができる。一層大きな効率は、個々のアプリケーションのインストールが固有のＡＫＢを含み、追加の"無効化"が例えばランダムに選択される場合に得ることができる。この場合、ハッカは、当該ハッキングを公衆に公開するためにＡＫＢの集合内に存在する最低のＫＡｘを明らかにしなければならず、かくしてハッキングされたドライブの素性のかなりの部分を放棄しなければならない。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を、添付図面を参照して更に詳細に説明する。
【００２７】
図１は、既知のＡＫＢの上部の例を示している。ＡＫＢは、ＶＣＰＳ仕様で指定されている汎用可能化キーブロック（ＥＫＢ）構造の例である。
【００２８】
この汎用ＥＫＢにおいて、全ての許可キーＫＡｘは同一のルートキーＫＲrootを符号化する。ＶＣＰＳ ＤＫＢの場合、これは必須である。何故なら、このルートキーはキー階層構造において内容キー（content key）を計算するために使用され、内容キーは全てのプレーヤ及びレコーダに対して明らかに同一であるからである。しかしながら、ＡＫＢの場合、これは必要ではない。その理由は、認証プロトコルの異なる実行の間には何の関係もなく、従って共有される秘密（即ち、ＫＲroot）は異なり得るからである。
【００２９】
ＥＫＢはバイナリツリー構造の表現を含む。白い円及び灰色の円は当該ツリーのノードを表す。黒の円は該ツリーのルートノードを表す。或るノードの直ぐ上のノードは、該ノードの親と呼ばれる。或るノードの直ぐ下のノードは、該ノードの子と呼ばれる。同じ親を持つ２つのノードは、兄弟と呼ばれる。如何なる子も持たないノードは、葉と呼ばれる。或るノードからルートまでの（単一の）経路上にある全てのノードは、該ノードの先祖と呼ばれる。或るノードから葉ノードまでの（複数の）経路上にある全てのノードは、該ノードの子孫と呼ばれる。或るノード及び該ノードの子孫の全てにより形成されるツリーは、部分ツリーと呼ばれる。図１において、白い円は葉ノードを表し、灰色の円は親ノードを表す。ルートノードは当該ツリーにおけるレベル０にある。当該ツリーにおけるレベルｎのノードの子ノードは、該ツリーにおけるレベルｎ＋１にある。当該ＥＫＢはルートノード及び少なくとも１つの葉ノードを含む。
【００３０】
ＥＫＢツリーのノードは、下記の情報、即ち３ビットのタグ及びオプションとしての許可キーＫＡを含んでいる。斯かるタグは、ツリー構造を記述する。各ノードがタグを有する。図１において、各ノードに残された下線のビット系列はタグを示す。タグのビットは下記のような意味を有する。即ち、当該ノードがルートノード又は葉ノードである場合、最左端のタグビットは"１"に設定され、それ以外の場合、最左端のタグビットは"０"に設定される。当該ノードが左側の子を持つ場合は中央のタグビットは"０"に設定され、それ以外の場合、中央のタグビットは"１"に設定される。同様に、当該ノードが右側の子を持つ場合は、最右端のタグビットは"０"に設定され、それ以外の場合、最右端のタグビットは"１"に設定される。許可キーＫＡは、適切なノードキーＫＮで解読されたルートキーＫＲrootからなる。各葉ノードは固有の許可キーＫＡを有する。親ノードは、許可キーＫＡは有さない。図１において、ＫＡｘは許可キーを示す。この表記において、下付け文字ｘは１以上の装置ＩＤの最上位側ビットに合致するビット列である。
【００３１】
図２は、無効にされた装置を伴う、ＶＣＰＳによるアプリケーションキーブロックの一層詳細なツリー構造を示す。該アプリケーションキーブロックＡＫＢはツリー状構造に配列され、該ツリー構造には８個のドライブユニットＩＤ０〜ＩＤ７が設けられている。ドライブユニットＩＤ２は無効化され、従って当該アプリケーションには３つの許可キーが設けられる。ドライブユニットの全体を表すツリーは３つの部分ツリーに分割され、これら部分ツリーはドライブユニットＩＤ０〜ＩＤ７の全体ではなく、無効化されていないドライブユニットＩＤ０、ＩＤ１及びＩＤ３〜ＩＤ７の全体をカバーしている。該ツリー構造によれば、ドライブユニットＩＤ０及びＩＤ１は１つの部分ツリーに含まれ、同様に、ＩＤ４〜ＩＤ７は他の部分ツリーに含まれる。ＩＤ３の部分ツリーはＩＤ３のみを含む。各ドライブユニットのノードキーＫＮｄの群は、ルートから当該ドライブユニットに対応する葉までの経路のノードキーを含む。例えば、ドライブユニットＩＤ０はノードキーＫ１、Ｋ１０及びＫ０００を有し、ドライブユニットＩＤ５のノードキーの群はＫ１、Ｋ１０及びＫ１０１を含む。ＶＣＰＳによる認証のために使用されるルートキーＫ'は、上記キーブロックに暗号化された形態で３回含まれる。各例が認証キーであり、前記アプリケーションキーブロックの部分ツリーの１つに関連付けられたノードキーを使用して暗号化される。E{K00}[K']は斯様な許可キーであり、この場合、Ｋ'はＫ００を使用して暗号化されている。ドライブユニットＩＤ０及びドライブユニットＩＤ１の両方がノードキーＫ００を有しているので、ルートキーＫ'はＫ００を用いた解読を経て上記許可キーE{K00}[K']から導出することができる。上記アプリケーションキーブロックの許可キーからＫ'を得ることができない唯一のドライブユニットは無効化されたドライブユニットＩＤ２である。何故なら、該ユニットはルートキーＫ'を暗号化するために使用されたノードキーの何れに対するアクセスも有さないからである。しかしながら、残りのドライブユニットの１つがハッキングされ、ルートキーＫ'が公開されたら、どのドライブユニットがハッキングされたかを示すものが存在しない。
【００３２】
図３は、本発明によるアプリケーションキーブロックのツリー構造を示している。該ツリーの全体的構造及びドライブユニットの配置は図２に示したものと同一である。キーＫ'は依然として存在するが、このキーＫ'は認証には使用されない。本発明によれば、"ルートキー"は、最早、存在しない。何故なら、各部分ツリーが自身の固有の認証キーを符号化するからである。図３に示されたツリーは、無効化されていないドライブユニットＩＤ０、ＩＤ１及びＩＤ３〜ＩＤ７の全体をカバーする４つの部分ツリーに分割されている。これら部分ツリーの各々は、自身の許可キーを有している。異なる部分ツリーの許可キーは、異なる認証キーを符号化する。かくして、異なる部分ツリーに対しては異なる認証キーが存在する。例えば、認証キーＫ1'はドライブユニットＩＤ０及びＩＤ１の部分ツリーに関連付けられ、認証キーＫ4'はドライブユニットＩＤ６及びＩＤ７の部分ツリーに関連付けられている。図２に示したアプリケーションキーブロックに関するのと同様に、ＩＤ２は認証キーＫ1'〜Ｋ4'の何れも得ることができない。何故なら、これらの認証キーの何れも、ドライブユニットＩＤ２のノードキーの群に含まれるノードキーを使用して暗号化されていないからである。かくして、ドライブユニットＩＤ２は効果的に無効化されるが、成功する認証処理に参加することはできない。残りのドライブユニットの何れかがハッキングされた場合、該ハッカは対応する認証キーＫ1'、Ｋ2'、Ｋ3'又はＫ4'を得ることができる。対応する認証キーを公開することにより、該ハッカはハッキングされたドライブユニットの素性の少なくとも一部は暴露するであろう。
【００３３】
例えば、ドライブユニットＩＤ４がハッキングされ、該ユニットの認証キーＫ3'が公開された場合、ドライブユニットＩＤ４又はＩＤ５の何れかがハッキングされたことは明である。この場合、それに応じて、アプリケーションキーブロックを変更することは可能であろう。ドライブユニットＩＤ４及びＩＤ５の部分ツリーは２つの部分ツリーに分割されるようにし、各々の新たな部分ツリーに、新たな認証キーを符号化するような新たな許可キーを設けるようにする。
【００３４】
例えば、ドライブユニットＩＤ３がハッキングされ、該ユニットの認証キーＫ2'が公開されたような場合、ドライブユニットＩＤ３がハッキングされたことは明らかであり、かくして、該ハッキングされ識別されたドライブユニットＩＤ３を無効化することができる。
【００３５】
２つの部分ツリーのドライブユニットＩＤ４及びＩＤ５並びにＩＤ６及びＩＤ７により示されるように、ハッキングされたドライブユニットを追跡するための必要な繰り返しステップを減少させることが可能である。部分ツリーを一層小さな部分ツリーに巧妙に分割することにより、かくして、同一の部分ツリー内にあると共に同一の認証キーを共有するドライブユニットの数が減少される。繰り返しステップ、即ちハッキングされたドライブユニットが識別されるまでのアプリケーションキーブロックの変更の減少以外に、少ない数のドライブユニット（即ち公開された認証キーを使用することができるハッキングされたドライブユニットと同じ部分ツリー内のドライブユニット）しか存在しないという他の利点も存在する。
【００３６】
図４は、本発明による認証の方法の一実施例を示す。アプリケーションユニット１には、許可キーＫＡｘ及び認証キーＫＲauthx（図３では、Ｋ'と呼ばれる）の対を含むアプリケーションキーブロックＡＫＢが設けられる。ドライブユニット３には、識別子ＩＤｄ及び一群のノードキーＫＮｄが設けられる。上記アプリケーションユニット１と上記ドライブユニット３との間の通信は、該アプリケーションユニット１により開始イベント７において上記ドライブユニット３の識別子を求める開始リクエスト５を送出することにより開始することができる。該開始リクエスト５は上記ドライブ３により受信される。上記開始リクエスト５を受信及び処理するステップ９には、上記ドライブユニット３を識別する識別子ＩＤｄを含む識別子メッセージ１３を上記アプリケーションユニット１に送出するステップ１１が後続する。他の例として、当該プロトコルは、ドライブユニット３により、上記アプリケーションユニット１からの開始リクエスト５無しに、ドライブユニット３により上記識別子ＩＤｄを送出することにより開始することもできる。ステップ１５において、上記識別子ＩＤｄは、上記アプリケーションユニット１により、ＡＫＢにおけるドライブユニット３用の許可キーＫＡｘ及び認証キーＫＲauthxの対を突き止めるために使用される。上記ドライブユニット３が許可されていない場合、例えば該ドライブユニット３に対する許可キーＫＡｘがないか又は認証キーＫＲauthxがない場合、アプリケーションユニット１は当該認証プロトコルを放棄する。
【００３７】
ステップ１７において、上記アプリケーションユニット１は、上記許可キーＫＡｘと、該許可キーＫＡｘの前記ＡＫＢにおける位置を示す指示子ｊと、ランダムなホスト番号ＲＡとを含むメッセージ１９を発生し送信する。ドライブユニット３は、上記許可キーＫＡｘと前記一群のノードキーＫＮｄのうちの上記指示子ｊに関連するノードキーＫＮｊとにより前記認証キーＫＲauthxを得る（ステップ２１）。ステップ２３において、ドライブユニット３はランダムドライブ番号ＲＤとドライブキー貢献ＱＤとを発生し、前記認証キーＫＲauthxを用いて暗号化された上記キー貢献ＱＤ、ドライブ番号ＲＤ及びホスト番号ＲＡを含むメッセージ２５をアプリケーションユニット１に送出する。該アプリケーションユニット１は該メッセージ２５を解読し、該メッセージ２５中に正しいホスト番号ＲＡが存在するかをチェックする（ステップ２７）。該ホスト番号ＲＡがステップ１７の値と同一でない場合は、当該認証プロトコルは放棄される。
【００３８】
ステップ２９においては、ホストキー貢献ＱＡが発生され、前記認証キーＫＲauthxを用いて暗号化された上記ホストキー貢献ＱＡ、ホスト番号ＲＡ及びドライブ番号ＲＤを含むメッセージ３１が当該ドライブに送出される。ステップ３３において、当該ドライブユニット３は上記メッセージ３１を解読し、該メッセージ３１中に正しいドライブ番号ＲＤが存在するかをチェックする。該ドライブ番号ＲＤがステップ２３の値と同一でない場合、当該認証プロトコルは放棄される。
【００３９】
ステップ３５及び３７においては、前記ドライブキー貢献ＱＤ及び前記ホストキー貢献ＱＡからバスキーＫＢが発生される。ここで、該バスキーＫＢはアプリケーションユニット１及びドライブユニット３の両方により共有される秘密であり、アプリケーションユニット１とドライブユニット３との間での上記認証は成功したものとなる。当該認証プロトコルが放棄された場合、該プロトコルはステップ７又はステップ１１において各々再開されねばならない。
【００４０】
図５は、本発明によるキーブロック型認証のためのシステム７０のブロック図を示し、該システムはアプリケーションユニット１及びドライブユニット３を有している。上記アプリケーションユニット１には、許可及び認証キーの対を有するアプリケーションキーブロックＡＫＢが設けられる。該アプリケーションユニット１は、通信手段６０、選択手段６２及び認証手段６４を更に有する。上記ドライブユニット３には、一群のノードキーＫＮｄ及び識別子ＩＤｄが設けられる。該ドライブユニット３は、通信手段５０、復号手段５２及び認証手段５４を更に有する。上記通信手段５０、６０は当該システム７０の通信手段７２の一部であり、上記認証手段５４、６４は当該システム７０の認証手段７４の一部である。
【００４１】
上記識別子ＩＤｄは通信手段７２によりドライブユニット３からアプリケーションユニット１に送信される。選択手段６２は、一対の許可キーＫＡｘ及び認証キーＫＲauthxを前記ＡＫＢから選択するために使用される。該許可キーＫＡｘはアプリケーションユニット１からドライブユニット３に送信され、該ドライブユニットにおいては、復号手段５２が認証キーＫＲauthxを上記許可キーＫＡｘから前記ノードキーＫＮｄの群を用いて導出するために使用される。認証は、認証手段７４により図４を参照して説明したように実行される。
【００４２】
図６は、本発明によるキーブロック型認証のためのシステムの他の実施例８０を示している。該システム８０は、上述したような、複数のアプリケーションユニット１及び複数のドライブユニット３を有している。これらアプリケーションユニット及びドライブユニットの詳細は、明瞭化のために示されていない。当該システム８０は、無効化手段８４，配置手段８６及びキー発生手段８８を持つキーブロック発生器８２を更に有している。該キーブロック発生器８２は、アプリケーションユニット１のための新たなキーブロックＡＫＢを以前のキーブロックを使用して発生する。ドライブユニット３の部分集合を無効化するために、上記無効化手段８４及び配置手段８６を使用して認証キー及び関連する許可キーが上記キーブロックから削除され、該部分集合のうちの無効化されるべきでないドライブユニットに対応するエントリが新たな部分集合に配置され、斯かる新たな部分集合に対し上記キー発生手段８８を用いて許可及び認証キーの新たな対が発生される。斯かる新たなキーブロックは、次いで、アプリケーションユニット１に分配され又は新たなアプリケーションユニット１のために使用される。
【００４３】
本発明によれば、新規なキーブロック型認証方法及び対応する新規なキーブロック型認証システムが提案される。異なるドライブユニットに対して異なる認証キーを提供することにより、ハッキングされたドライブユニットの影響が低減され（即ち、ハッキングにより得られた認証キーの使用可能性が減じられ）、ハッキングされたドライブユニットの無効化を容易にするために、斯かるハッキングされたドライブユニットの識別が可能にされる。
【００４４】
本発明は、既知のＶＣＰＳ認証プロトコルとかなりの程度に互換性がある。本発明を該プロトコルに組み込むために、ハードウェアの又はコマンドセットの変更も必要とされない。当該仕様の現在のバージョンと完全に後方互換性がある。しかしながら、キー発生及びキー発行ツール、並びにソフトウェア製造者に対するキー発行センタのインターフェースは変更されねばならない。勿論、ソフトウェア製造者も同様に適応しなければならない。
【００４５】
本発明は、上述したＶＣＰＳに限定されるものでないことに注意すべきである。何故なら、本発明はブルーレイディスク等の他の光フォーマットにも使用することができ、ＣＰＲＭ及びＡＡＣＳにより使用されているもの等の、他のキーブロックフォーマット及びこれらに基づく認証プロトコルにも適用可能であるからである。
【図面の簡単な説明】
【００４６】
【図１】図１は、ＶＣＰＳによるアプリケーションキーブロックのツリー構造を示す。
【図２】図２は、無効化された装置を伴う、ＶＣＰＳによるアプリケーションキーブロックの更に詳細なツリー構造を示す。
【図３】図３は、本発明によるアプリケーションキーブロックのツリー構造を示す。
【図４】図４は、本発明による認証方法の一実施例を示す。
【図５】図５は、本発明によるキーブロック型認証のためのシステムのブロック図を示す。
【図６】図６は、本発明によるキーブロック型認証のためのシステムの他の実施例を示す。
【図１】
2008545316.tif 000003
【図２】
2008545316.tif 000004
【図３】
2008545316.tif 000005
【図４】
2008545316.tif 000006
【図５】
2008545316.tif 000007
【図６】
2008545316.tif 000008
【国際調査報告】
2008545316.tif 000009
2008545316.tif 000010
2008545316.tif 000011