説明

セキュアホストインタフェース

本発明は、アプリケーションユニット(1,21,41)とドライブユニット(3,23,43)とを有するコピープロテクトされたコンテンツへのアクセス権限を制御するデジタル著作権管理システム(40)と、アプリケーションユニットと、ドライブユニットと、対応するデジタル著作権管理方法とに関する。特に“フィルタ・ドライバ”ハッキングが不可能とされ、又は少なくとも実質的に複雑化されるデジタル著作権管理のセキュリティの向上と、デジタル著作権に関して与えられるコマンドとその実行に関する確実なコンファメーションを可能にするため、アプリケーションユニットは、バスキー(KB)を格納するキーストレージユニット(45)と、アクセス権限に関するメッセージとチャレンジ(RX)とを有するドライブユニットにより実行されるリクエスト(7,27)を生成するリクエスト生成ユニット(47)と、リクエストを送信し、該リクエストに対するレスポンス(13,33)をドライブユニットから受信する通信ユニット(51)と、バスキーを用いてレスポンスを復号化し、レスポンスにおけるチャレンジの指標の有無をチェックすることによって、リクエストとレスポンスとの間のリンクを検証するレスポンス検証ユニット(49)とを有し、ドライブユニットは、バスキーを格納するキーストレージユニット(55)と、アクセス権限に関するメッセージとチャレンジを含むリクエストをアプリケーションユニットから受信し、該リクエストに対するレスポンスを送信する通信ユニット(51)と、リクエストを検証し、メッセージを処理するリクエスト処理ユニット(57)と、チャレンジの指標とメッセージに対するリプライとを含むレスポンスを生成するレスポンス生成ユニット(59)とを有し、チャンレンジの指標とリプライは、バスキーにより暗号的にリンクされ、レスポンスにおけるチャレンジの指標は、リクエストが実行されたことを示す。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションユニットとドライブユニットとを有するコピープロテクトされるコンテンツに対するアクセス権限を制御するデジタル著作権管理システムに関する。本発明はさらに、アプリケーションユニット、ドライブユニット及び対応するデジタル著作権管理方法に関する。
【背景技術】
【0002】
ブルーレイディスクやそれの競合フォーマットであるHD−DVDのコピープロテクションシステムの強力な候補としてAACSが提唱されたことは、光媒体に対するデジタル著作権管理(DRM)への関心を復活させた。AACSの要求の1つは、システムがまだ規定されていない各種ビジネスモデル及び使用ケースをサポートする拡張された及び拡張可能な使用をサポートしなければならないということである。それは、記録及び電子ダウンロードに適用可能である必要がある。
【0003】
同様の要求が、WO2002/015184−A1(PHNL000448)などに記載されるように、解読キーや使用権限などのDRMデータが“キーロッカー(key locker)”と呼ばれるディスク上のエリアに格納される既知のDRMシステムにおいて中心的な役割を担っている。キーロッカーは、特にいわゆる隠されたチャネルキーを利用して暗号化される。隠されたチャネルとは、ドライブのみにアクセス可能であり、好ましくは、メインデータチャネルから独立して格納されるディスク上のエリアである。再生攻撃を回避するため、ドライブは、キーロッカーに格納されるデータが変更されるときは常に、隠されたチャネルを変更する。再生攻撃では、ハッカーはまず、ハードディスクなどの安全な場所にディスク上のDRM権限のビットイメージを格納し、その後、おそらくディスクに暗号的にバインドされている自らの権限を利用し、もとのビットイメージを復元し、これにより、もとの権限を復元する。この攻撃は、それらが使用されるときは常に当該権限を再暗号化することによって回避される。
【0004】
ブルーレイディスクフォーマットに対するDVD+RWのためのVCPSのポートであるBD−VCPSでは(VCPSの仕様については、http://www.licensing.philips.com/vcpsを参照されたい。この仕様の記載が参照することによりここに含まれる。)、ディスクに関する任意のDRM権限をサポートするため、既知の隠されたチャネルなどの特徴が与えられている。この記載について、隠されたチャネルは、“REマーク”として知られている。既知のDRMシステムと異なって、REマークとの直接的なインタフェースが提供され、キーロッカーなどの構成は設けられない。後者は、所望される場合には、ホストアプリケーションにより実現されるかもしれない。このため、ホストがREマークキーにアクセスするのに利用可能な3つのコマンド、すなわち、リード、チェンジ及びワイプが必要とされる。
【0005】
リードコマンドは、以前に確立されたバスキーを使用して暗号化されたREマークキーを返す。チェンジコマンドは、ドライブにREマークに格納されているキーをランダムに変更させる。ワイプコマンドは、ドライブにディスクからREマークをイレースさせる。さらなるエンハンスメントとして、ディスク上への8個などの複数のREマークの格納が可能である。従って、これらのコマンドのそれぞれは、動作すべきものに対する固有のREMマークを示すパラメータを含む。
【0006】
光ディスクドライブのホストインタフェースは、Multi−Media Command(MMC)セットにより規定される。(SCSI Multi−Media Commands−4(T10/1545D)仕様を参照されたい。この仕様の記載は、参照することによりここに含まれる。)当該セットのコマンドは、ドライブが実行すべきアクションを示す記述子ブロック及びパラメータブロック(ホストがドライブにデータを送信する場合)又はデータブロック(ホストがドライブから受信する)から構成される。1つのコマンドは、パラメータブロック及びデータブロックを指定しないかもしれない。まず、上述した必要なコマンドの何れもがパラメータブロックとデータブロックの両方を必要とするため、必要なコマンドはこのアーキテクチャに適合される。しかしながら、特別な手段がなければ、セキュリティホールが存在するであろう。その理由は、ハッカーがホストのOSソフトウェアスタックに“フィルタドライバ”を挿入するかもしれず、それは上記コマンドをブロック及び/又はリダイレクトするためである。この結果、ホスト上で実行されるアプリケーションは、ディスク上のREマークが更新された(又はこの問題については、適切な場所から抽出された)ことを確信することができない。バスキーを確立するためドライブとホストとの間の認証プロトコルを実行し、その後に当該バスキーを使用してコマンドデータを暗号化することは、それだけでは十分でない。
【発明の開示】
【発明が解決しようとする課題】
【0007】
従って、本発明の課題は、デジタル著作権管理におけるセキュリティの向上を可能にし、特に“フィルタドライバ”ハックが不可能とされ、又は少なくとも実質的に複雑化されるデジタル著作権管理システム、アプリケーションユニット、ドライブユニット及び対応するデジタル著作権管理方法を提供することである。さらに、上述したようなリード、ライト又はワイプコマンドなどのデジタル著作権に関して与えられるコマンドに関する確実な確認とそれの実行が存在すべきである。
【課題を解決するための手段】
【0008】
本発明によると、上記課題は、コピープロテクトされたコンテンツへのアクセス権限を制御するドライブユニットを有するデジタル著作権管理システムに使用されるアプリケーションユニットであって、当該アプリケーションユニットは、
・バスキーを格納するキーストレージユニットと、
・前記アクセス権限に関するメッセージとチャレンジとを含む前記ドライブユニットにより実行されるリクエストを生成するリクエスト生成ユニットと、
・前記リクエストを送信し、前記ドライブユニットから前記リクエストに対するレスポンスを受信する通信ユニットと、
・前記バスキーを用いて前記レスポンスを復号化し、前記リクエストが実行されたことを示す前記レスポンスにおける前記チャレンジの指標の有無をチェックすることによって、前記リクエストと前記レスポンスとの間のリンクを検証するレスポンス検証ユニットと、
を有するアプリケーションユニットにより実現される。
【0009】
本発明によると、上記課題は、コピープロテクトされたコンテンツへのアクセス権限を制御するアプリケーションユニットを有するデジタル著作権管理システムに使用されるドライブユニットであって、当該ドライブユニットは、
・バスキーを格納するキーストレージユニットと、
・前記アプリケーションユニットからチャレンジと前記アクセス権限に関するメッセージとを有する当該ドライブユニットによって実行されるリクエストを受信し、前記リクエストにレスポンスを送信する通信ユニットと、
・前記メッセージを処理するリクエスト処理ユニットと、
・前記チャレンジの指標と前記メッセージに対するリプライとを含む前記レスポンスを生成するレスポンス生成ユニットとを有し、前記リプライと前記チャレンジの指標とは、前記バスキーによって暗号的にリンクされ、前記レスポンスにおける前記チャレンジの指標は、前記リクエストが実行されたことを示すドライブユニットにより実現される。
【0010】
さらに本発明によると、上記課題は、上述したアプリケーションユニットとドライブユニットとを有し、バスキーがアプリケーションユニットとドライブユニットに共有されるコピープロテクトされたコンテンツへのアクセス権限を制御するデジタル著作権管理システム及び対応する方法によって実現される。
【0011】
本発明はさらに、アプリケーションユニット上で実行されると、請求項12のデジタル著作権管理方法のステップa)、b)、e)及びf)をアプリケーションユニットに実行させ、ドライブユニット上で実行されると、請求項12のデジタル著作権管理方法のステップb)〜e)をドライブユニットに実行させるコンピュータプログラムコード手段を有するコンピュータプログラムに関する。
【0012】
本発明は、すべての隠されたチャネル又はREマーク関連コマンドにおけるチャレンジ・レスポンス機構を使用するアイデアに基づく。基本的には、REマークアクセスは、2つの独立したコマンドに分けられている。第1コマンドを用いて、ホストはREマークアクセスのためドライブを準備する。このコマンドは、ホストにより生成される乱数などのチャレンジを有し、アクセスモードなどの追加的なパラメータと(REマークのリード、チェンジ、ワイプ)、ディスクが複数のREマークを有する場合、何れのREマークが動作するかについての指標とを有するかもしれない。第2コマンドを用いて、ホストはドライブからREマークデータと共に、第1コマンドと共に送信された乱数とを抽出する。返されたREマークデータは、返されたデータにおける攻撃のカット・アンド・ペーストを防ぐため、乱数に暗号的にバインドされる必要がある。従って、アプリケーションユニットにより送信され、ドライブユニットにより受信されるリクエストは、メッセージとチャレンジとを有し、当該メッセージはアクセス権限をアクセス及び/又は処理するコマンドを含む。
【0013】
本発明によるアプリケーションユニットの実施例では、リクエスト生成ユニットは、バスキーによりメッセージとチャレンジとを暗号的にリンクさせるよう構成される。メッセージとチャレンジとがバスキーにより暗号的にリンクされているとき、例えば、バスキーを利用して、及び/又はメッセージとバスキーとの組み合わせから求められるハッシュ値を含めて一緒に暗号化されるとき、受信者は、メッセージが実際にアプリケーションユニットから得られたものであることを検証することができる。従って、メッセージとチャレンジとの間の暗号リンクを予想するドライブユニットは、リンクしていないメッセージとチャレンジが(多数の)レスポンスを解析することによりバスキーをハッキングするのに利用可能であるため、これらを単に無視するかもしれない。さらに、アプリケーションユニットの検証がない場合、他の何れかの(認証されていない)アプリケーションが、ワイプコマンドを使用することによって隠されたチャネル又はREマークを破壊するかもしれない。これらの危険を回避するための他の準備がある場合、メッセージとチャレンジとの間のリンクは、コマンドもチャレンジも秘密に維持されていないため、省かれるかもしれない。
【0014】
本発明によるアプリケーションユニットの他の実施例では、リクエスト生成ユニットは、リクエストのインテグリティテストに使用するため、リクエストにシグネチャを含めるよう構成される。シグネチャの有効性をチェックすることによって、リクエストを受信したドライブユニットは、送信中などにリクエストが変更した(変更された)か、又は不完全に受信されたか判断するようにしてもよい。このシグネチャは、アプリケーションユニットとドライブユニットの両者によって知られている固定された又は所定のビットパターンであってもよく、リクエストのインテグリティは、例えば、リクエストを復号化することによって、リクエストから適切なシグネチャを求めることにより決定されてもよい。シグネチャはまた、メッセージとチャレンジの組み合わせなどのチェックサムであってもよく、ドライブユニットにより計算されるチェックサムが、リクエストに含まれるシグネチャと比較される。
【0015】
本発明によるアプリケーションユニットのさらなる実施例では、リクエスト生成ユニットはバスキーを用いてリクエストを暗号化するよう構成される。バスキーはドライブユニットとアプリケーションユニットのみしか知らないため、認証されていないユニット、すなわち、バスキーを所有しないユニットは、本発明によるデジタル著作権管理プロトコルに参加することができる。
【0016】
本発明のアプリケーションユニットのさらなる他の実施例では、リクエスト生成ユニットは、ハッシュ関数によって、特にバスキーを用いた鍵付きハッシュ関数によって、チャレンジ及び/又はメッセージから求められる値とバスキーとをリクエストに含めるよう構成される。前の実施例と同様に、本実施例によるアプリケーションユニットから送信されるリクエストは、対応して構成されたドライブユニットによりバスキーを用いて検証されてもよい。
【0017】
本発明によるアプリケーションユニットの好適な実施例では、メッセージは、隠されたチャネルエントリを管理するコマンド、特に隠されたチャネルエントリをリード、チェンジ及び/又はワイプするためのコマンドを含む。他のメッセージが当該メッセージに含まれてもよいが、改ざんに対して隠されたチャネルエントリ又はREマークを管理するのにこれらのコマンドをプロテクトし、又はこれらのコマンドが実際に適切で認証されたドライブユニットにより実行されたという確実なコンファメーションを可能にすることが好ましい。
【0018】
従って、本発明によるドライブユニットの好適な実施例では、リプライは、隠されたチャネルエントリ、特にドライブユニットによりリード又はチェンジされた隠されたチャネルエントリを含む。
【0019】
本発明によるアプリケーションユニットの他の好適な実施例では、リクエスト生成ユニットは、乱数、リクエストを特定する識別子、特に実質的に一意的な識別子、及び/又は所定のデータをチャレンジとしてリクエストに含めるよう構成される。チャレンジとして乱数を使用することは、それが予測不可能であるという効果を有し、アプリケーションユニットからそれを取得する以外に当該乱数を取得する他の方法は実質的に存在しない。チャレンジを提供する他の容易な方法は、識別子をリクエストに含めることである。さらに、例えば、固定された(しかし好ましくは一意的な)チャレンジを各アプリケーションユニットに提供することによって、又はいくつかのリクエストについて共通のチャレンジとして(好ましくはランダムな)数を生成するアプリケーションを有することによって、アプリケーションユニットに所定のチャレンジを提供することが可能である。これらの可能性の組み合わせは、それらのトレードオフの一部を回避することによってそれらの効果の一部を実現するかもしれない。
【0020】
本発明のさらなる他の実施例では、アプリケーションユニットは、ホスト、特にソフトウェアアプリケーションである。本発明は、特にアプリケーションユニットとドライブユニットの間に入る可能性がある他の悪意のあるソフトウェアアプリケーションに関して重大な脆弱性があるソフトウェアアプリケーションに関連する。しかしながら、本発明はまた、ドライブユニットと通信するハードウェア装置などの他の方法により実現されるアプリケーションユニットに適用可能であるということに留意する必要がある。
【発明を実施するための最良の形態】
【0021】
図1は、本発明によるデジタル著作権管理方法の実施例としてREマークアクセスプロトコルの一例を示す。以下の記載は、REマークを参照するが、本発明が特別なタイプの隠されたチャネルデータとしてのREマークに限定されず、デジタル著作権管理のための特別なタイプのデータとしての隠されたチャネルデータを管理することに限定されるものでないということに留意する必要がある。アプリケーションユニット又はホスト1と、ドライブ又はドライブユニット3が、適切な通信手段(図示せず)を介し接続されている。以下において、“ホスト”という用語は“アプリケーションユニット”と同意語として使用され、同じことが“ドライブ”と“ドライブユニット”に適用されることに留意する必要がある。この2ステッププロトコルの前に、ドライブ3及びホスト1は共有バスキーKBをもたらす認証プロトコルを実行していることが仮定される。このような認証プロトコルの一例は、VCPS仕様に求めることができる。
【0022】
REマーク値をリード、チェンジ又はワイプするため、ドライブ3及びホスト1は、以下のステップを登場順に実行する必要がある。
【0023】
ホスト1は、アクセスすべきREマークスロットnと、アクセスモード[mode=0(リード)、1(チェンジ)、2(ワイプ)]を選択する。さらに、ホスト1は、乱数RXを生成する(ステップ5)。その後、ホストは以下のメッセージ7をドライブ1に送信する。
【0024】
【数1】

ここで、記号(M)Kは、メッセージMがキーKにより暗号化されていることを意味する(好ましくは、CBC(Cipher Block Chaining)モードを利用して)。さらに、sigは、メッセージのインテグリティをチェックするため含まれている既知のビットパターンである。メッセージを暗号化する1つの理由は、認証されていないアプリケーションがREマークを破壊することを回避することであることに留意されたい。
【0025】
ドライブ3は、ホスト1から受信したメッセージ7を解読し、当該メッセージ7のフォーマットをチェックする。フォーマットが適切でない場合、ドライブ3はプロトコルを中断する。不適切なフォーマットは、通信エラーを示すか、又は不適切なバスキーを使用することによりREマークを操作しようとしていることを示すかもしれない。他方、メッセージフォーマット及びメッセージの真正性が検証された場合(ステップ9)、ドライブは、パラメータn及びモードにより符号化されたリクエストを実行する(ステップ11)。
【0026】
その後、ドライブは、以下のレスポンスメッセージ13をホストに送信する。
【0027】
【数2】

このレスポンスメッセージ13では、RMは、可能な更新後のn番目のREマーク値の現在値である。モード=2(ワイプ)である場合、ドライブ3はRMをすべてゼロに設定するかもしれない。
【0028】
ホスト1は、ドライブ3から受信したレスポンスメッセージ13を解読し、メッセージ13のフォーマットをチェックする。乱数RX、パラメータn及びモードがメッセージ7においてホスト1がドライブ3に送信した値と同一でない場合、ホスト1はプロトコルを中断し、REマークの新たな値を無視する。そうでない場合、新たな値RMは受け付けされ、DRMデータをプロテクトするためホスト1により使用される。ドライブ3及び/又はホスト1がプロトコルを中断した場合、プロトコルのリトライはステップ5からスタートしなければならないことに留意されたい。
【0029】
図2及び3は、上述したプロトコルを実現するコマンド記述子ブロックのMMCパラメータデータのそれぞれの返されたデータの具体例を提供する。(また、認証プロトコルに使用されるコマンドに関するさらなる情報についてはVCPS仕様を参照されたい。)
図2に示されるSEND KEY RE Markコマンドは、特定のREマーク値をリード、チェンジ又はワイプするため、ホスト1のリクエストを送信する。SEND KEY RE Markコマンドは、上記プロトコルにおけるメッセージ7の機能を提供する。SEND KEY RE Markコマンドのセマティックは、以下のとおりである。
【0030】
ドライブホスト認証プロトコルが良好に終了しなかった場合、ドライブ3はCHECK CONDITIONステータスによりコマンドを終了する。さらに、ドライブ3は、センスバイトSK/ASC/ASCQをILLEGAL REQUEST/COMMAND SEQUENCE ERROR(0x05/0x2C/0x00)にセットする。認証成功後、プロトコルのリトライがステップ5からスタートしなければならない。ドライブ3は、リクエストされたREマークがすでにディスク上に取得されていることをチェックする。そうでない場合、それはランダムに生成された値によりREマークを生成する。REマークの書き込み中に復元不可能なエラーが発生した場合、ドライブ3は、CHECK CONDITIONステータスによりコマンドを終了する。さらに、ドライブ3は、センサバイトSK/ASC/ASCQをILLUGAL REQUEST/SYSTEM RESOURCE FAILURE(0x05/0x55/0x00)にセットする。そうでない場合、ドライブはGOODステータスにより終了する。リザーブされたすべてのバイトが0x00(Reserved)にセットされ、データ長は38にセットされる。
【0031】
“暗号化メッセージ1”は、パラメータn(8ビット)及びモード(8ビット)、ホストからの乱数RX(112ビット)並びに固定されたビットパターンsig(128ビット)を有し、そのすべてがCBCモードによりAES(Advanced Encryption Standard,Federal Information Processing Publication(FIPS PUB)197を参照されたい)を利用したバスキーKB(認証プロトコルを利用して以前に取得された)を利用して暗号化される。
【0032】
図3に示されるREPORT KEY RE Markコマンドは、要求されたREマークの現在値(及び潜在的な更新値)を返す。REPORT KEY RE Markコマンドは上記プロトコルによるメッセージ13の機能を提供する。REPORT KEY RE Markコマンドのセマティックは、以下のとおりである。
【0033】
ドライブ・ホスト認証プロトコルが不成功に終了した場合、ドライブ3はCHECK CONDITIONステータスによりコマンドを終了する。さらに、ドライブ3は、センスバイトSK/ASC/ASCQをILLEGAL REQUEST/COMMAND SEQUENCE ERROR(0x05/0x2C/0x00)にセットする。認証成功後、プロトコルのリトライがステップ5からスタートしなければならい。REマークアクセスシーケンスに違反した場合、又はドライブ3がステップ9においてREマークアクセスプロトコルを中断した場合、ドライブ3はCHECK CONDITIONステータスによりコマンドを終了する。さらに、ドライブ3が、センスバイトSK/ASC/ASCQをILLEGAL REQUEST/COMMAND SEQUENCE ERROR(0x05/0x2C/0x00)にセットする。認証成功後、プロトコルのリトライはステップ5からスタートしなければならない。そうでない場合、ドライブ3はレスポンスメッセージ13内で要求されたREマーク値を返し、GOODステータスステータスにより終了する。リザーブされたすべてのバイトが0x00(Reserved)にセットされ、データ長は38にセットされる。
【0034】
“暗号化メッセージ2”は、パラメータn(8ビット)及びモード(8ビット)、指定されたREマーク値RM(128ビット)並びにホスト1により以前に送信された乱数RX(112ビット)を有し、そのすべてが、CBCモードによりAESを利用してバスキーKB(認証プロトコルを使用して以前に取得された)を用いて暗号化される。
【0035】
図4は、図1に示される実施例に類似したREマークアクセスプロトコルの他の例を示す。再び、この2ステッププロトコルの前に、ドライブ23とホスト21が、共有されたバスキーKBをもたらす認証プロトコルを実行していることが仮定される。図1の実施例のプロトコルとの主な相違は、REマーク値が秘密データであるとみなされないということである。
【0036】
REマーク値をリード、チェンジ又はワイプするため、ドライブ23及びホスト21は登場順により以下のステップを実行しなければならない。
【0037】
ホスト21は、アクセスすべきREマークスロットnとアクセスモード[モード=0(リード)、1(チェンジ)、2(ワイプ)]を選択する。さらに、ホストは乱数RXを生成する(ステップ25)。その後、ホスト21は、以下のメッセージをドライブに送信する。
【0038】
【数3】

ここで、Mは、
【0039】
【数4】

の省略形であり、ハッシュ関数は共有バスキーを使用した鍵付きハッシュ関数である。当該ハッシュ関数はまた他のタイプのものであってもよく、ハッシュを含めることは任意的なものであるということに留意すべきである。その主たる目的は、認証されていないアプリケーションがREマークを破壊することを防ぐことである。ドライブ23は、受信したメッセージ27のフォーマットをチェックする(ステップ29)。当該フォーマットが不適切である場合、通信エラー又はハッキングを示すため、ドライブはプロトコルを中断する。他方、メッセージ27が検証される場合、ドライブ23はパラメータn及びモードに符号化されるリクエストを実行する(ステップ31)。その後、ドライブ23は、以下のレスポンスメッセージ33をホスト21に送信する。
【0040】
【数5】

ここで、Mは、
【0041】
【数6】

を表し、RMは可能な更新後のn番目のREマーク値の現在値である。モード=2(ワイプ)である場合、ドライブはRMをすべてゼロにセットする。ホスト21は、受信したレスポンスメッセージ33のフォーマットをチェックする。乱数RXがホストがメッセージ27によりドライブに送信した値と同一でない場合、ホスト21はプロトコルを中断し、REマークの新たな値を無視する。メッセージに含まれたハッシュがメッセージ27の残りと一致しない場合、ホストはプロトコルを中断し、REマークの新たな値を無視する。そうでない場合、新たな値RMが受け付けされ、DRMデータをプロテクトするため、ホストにより使用される。図1の上記実施例と同様に、ドライブ及び/又はホストがプロトコルを中断した場合、プロトコルのリトライはステップ25からスタートする必要があるということに留意されたい。
【0042】
MMCについて返されたデータブロックとパラメータブロックは、図1に示される実施例のもの、すなわち、図2及び3に示されたものと同様である。
【0043】
以下において、本発明のより抽象的な説明が与えられる。図5に示されるような2つの周知な攻撃に対するAlice(A)とBob(B)との間の通信をセキュアにするための方法は、従来技術から知られている。Aliceは、メッセージ、特にデジタル著作権管理に関するコマンドをBobに相当する受信者に送信するホスト又はアプリケーションユニットに対応する。Alice(A)がBob(B)にメッセージを送信すると、Eve(E)は盗聴し、メッセージの情報を盗もうとするかもしれない。Eve(E)は、盗聴によってAliceがBobに送信する情報を盗もうとしている。すなわち、当該上方の秘匿性が攻撃されている。Mallory(M)は盗聴だけでなく、Bobへのメッセージを変更する。
【0044】
Mallory(M)がAliceがBobに送信するメッセージを変更する場合、情報のインテグリティが攻撃される。
【0045】
これらの攻撃を防ぐための標準的な方法は、AliceとBobが以下のようなプロトコルを実行することである。
1.彼らは通信を開始する前に秘密を共有する。この共有された秘密は、再利用可能である。
2.彼らは、図5の攻撃の下で情報を共有する前に、図6に示されるプロトコルステップを実行する。概略すると、Aliceは共有されている秘密をBobが知っていることを検証することによって、Bobと話をしていることを検証する。Bobは、彼らの共有されている秘密と適切な方法により合成されたAliceにより送信されるチャレンジを返すことが可能であるべきである。任意的には、Bobは、同様にしてAliceと接続されることを検証することが可能である(相互認証)。項f(x,y,...)は、レスポンス又はメッセージがx,y,...を用いて構成されていることを示す。例えば、xがデータであり、yがキーであるとき、f(x,y)は、yによるxの暗号化の結果を示すかもしれない。
3.彼らは、おそらく前の2つのステップからのチェレンジ/レスポンスに基づき、US4,200,770に記載されるようなDiffie−Hellmanキー交換などを利用して、一時的な秘密であるバスキーを共有することにより継続する。
【0046】
この初期段階の後、バスキーと送信された情報とを合成することによって、AliceとBobの間で情報がセキュアに共有することが可能である。バスキーによる暗号化によって秘匿性が保証され、バスキーに基づくMAC(Message Authentication Code)を添付することからインテグリティが得られる。この結果はまた、SAC(Secure Authenticated Channel)として知られている。
【0047】
図6に示されるように、AliceとBobの両者により共有されている秘密がある。この共有されている秘密は、(相互)認証を実行するため利用され、Aliceは、チャンレンジを有する第1リクエストをBobに送信する。Bobは、このチャレンジと共有されている秘密とを用いて第1レスポンスを生成し、当該レスポンスをAliceに送信する。これにより、当該レスポンスの適切な生成をチェックすることによって、AliceはBobと実際に通信することを検証することができる。同じことが、Bobからの第2リクエストとAliceからの第2レスポンスに適用される。通信の適切な参加者の検証後、バスキーがAliceとBobとの間で交換される。さらなる通信について、当該場スキーが共有されている秘密として利用される。
【0048】
図5に示される攻撃とは別に、図7のパート(a)に示されるように、Bobに送信された情報がOtto(O)によりブロック又は妨害されているより一般的でない攻撃のクラスが存在する。Ottoは、例えば、彼のアカウントからデジタル権限のデクリメント又は取り消しをブロックするなど、これを実行する動機付けがあるかもしれない。この攻撃を回避することは基本的には不可能であるが、図7のパート(b)に示されるように、BobがAliceからの送信の受け付けを認証することを要求などすることによって、Aliceは自分が妨害されていることがわかるように、プロトコルを構成することが可能である。このとき、Aliceは、Ottoのアカウントをキャンセルするなど、Ottoを罰するための他の措置をとることが可能である。
【0049】
この直接的な手段による問題点は、BobだけでなくOttoもまた、それがバスキーにより暗号的にプロテクトされていても、このアクノリッジメントを生成することが可能であるということである。すなわち、第1ラウンドでは、Ottoは、Aliceの送信が通過することを許可し、単にBobからのレスポンスを記録する。Aliceからの以降の送信は妨害されるが、図8に示されるように、Ottoは、Aliceにすべてがダンディ(dandy)であるという幻想を与えるため、Bobからの“コンファメーション”を再生する。パート(a)において、OttoはAliceの送信がBobに通過することを許可し、これにより、Bobのコンファメーション“を記録することが可能となる。パート(b)において、Ottoは、Aliceからの以降のすべての送信を妨害するが、Aliceには彼女のメッセージがパート(a)からのBobのレスポンスを再生することによって通過しているという幻想を与える。
【0050】
本発明の課題の1つは、後者の攻撃に対する解決手段を提供することである。この解決手段は、以下のとおりである。すなわち、AliceはBobからのレスポンスが以下の一般的な形式を有することを要求すべきである。
【0051】
【数7】

ここで、“バスキー”は、SACがセットアップされている間の共有されている秘密であり、“セキュリティシグネチャ”は、以下の要件を充足するバイナリ文字列である。
・当該文字列は、十分長く、典型的には64ビットより大きなものであるべきである。
・当該文字列は、Aliceが送信するすべての情報/コマンドに対しこと練っているべきである。
・Aliceは、セキュリティシグネチャを知っているか、又は計算することが可能であるべきである。“他のデータ”は、本開示に関係しないレスポンスの任意的なペイロードである。
【0052】
このレスポンスを受信すると、Aliceは、当該レスポンスが“セキュリティシグネチャ”及び“バスキー”についての自らの知識に従っていることをチェックすべきである。バスキーの目的は、Ottoが図8の攻撃を実行することが可能となるのに、適切なレスポンスがどうあるべきか予測することを防ぐことである。文字列の目的は、OttoがBobから古いレスポンスを再生することを防ぐことであり、このため、シグネチャは常時変更されるべきである。シグネチャは、Ottoが乱数を単に抽出することによって良好な確立によりレスポンスを予測することが不可能となるように、十分長いものであるべきである。
【0053】
このようなレスポンスの構造の具体例として以下があげられる。
・“セキュリティシグネチャ”は、Aliceが送信するすべての情報/コマンドについて単調に増加する整数である。すなわち、“セキュリティシグネチャ”は、コマンドのシリアル番号である。
・“セキュリティシグネチャ”は、
【0054】
【数8】

の形式をとる。ここで、payload[n]は、プロトコルの第nラウンドのペイロードであり、secsig1及びsecsig2は、固定された文字列である。Aliceは、受信したすべてのpayload[n]を記録し、(a)同一のペイロードが2回受信されていないか、また(b)secsig1及びsecsig2が予想されたものであるかチェックする。この形式の“セキュリティシグネチャ”は、Bobのみが実質的に同一でないペイロードを返す場合に限って良好に機能する。上記REマークの例では、このケースとなる。
・“セキュリティシグネチャ”は、プロトコルの各ラウンドについて新規なAliceによりランダムに選択された乱数(チャレンジ)であり、情報/コマンド段階においてBobに転送される。レスポンスを受信すると、Aliceは、Bobからの応答に適切なチャレンジが存在するかチェックする。図9は、このプロトコルの一例を示す。当該チャレンジが、AliceがBobに送信する情報のすべてのブロックについて異なるとき、対応するレスポンスもまた異なる。従って、Aliceは、OttoがBobからの古いレスポンスを再生しているか、又はBob自身が新しいレスポンスを送信しているか検出することが可能である。
【0055】
図9は、図8の攻撃に対する可能なセキュリティ手段を示す。そこでは、Aliceのすべての送信が(ランダムな)チャレンジを有し、Bobはバスキーと適切に合成されたBobのコンファメーションにおいてエコーする必要がある。
【0056】
図9に示されるキー交換及び(相互)認証の各ステップは、図6に示されるものと同一である。しかしながら、さらなる通信は、メッセージのペア、すなわち、リクエストとレスポンスのペアを有し、当該リクエストと共にチャレンジが与えられ、当該チャレンジは再びレスポンスと通信される。チャレンジが、AliceとBobのみによって知られている共有される秘密を使用して暗号処理されているため、リクエストの送信者は、受信者が実際に対応するリクエストを受信したことを検証することができる。好ましくは、当該チャレンジは、リクエストとレスポンスの各ペアの後に変更され、すなわち、同一のチャレンジは、リクエスト共に再び使用されることは実質的にない。これは、いくつかのメッセージを解析することにより共有された秘密の秘匿性を破る可能性を減少させ、再生攻撃の危険を回避する。
【0057】
図10は、アプリケーションユニット41とドライブユニット43とを有する本発明によるデジタル著作権管理システム40を示す。このアプリケーションユニット41は、バスキーを格納する第1キーストレージユニット45と、リクエスト生成ユニット47と、レスポンス検証ユニット49とを有する。ドライブユニット43は、バスキーを格納するキーストレージユニット55と、リクエスト処理ユニット57と、レスポンス生成ユニット59とを有する。ドライブユニット43とアプリケーションユニット41は、通信ユニット51を共有する。ドライブユニットは、デジタル著作権管理の対象となるコンテンツを有するディスク53にアクセスするよう構成され、特に、当該ディスク53の隠されたチャネルに読み書きするよう構成される。
【0058】
動作中、リクエスト生成ユニット47は、メッセージとチャレンジとを有するリクエストを生成し、メッセージは、ディスク53上のREマークを変更するコマンドなど、デジタル著作権関連コマンドを有する。当該リクエストは、通信ユニット51を介しドライブユニット43に送信される。当該リクエストがリクエスト処理ユニット57により有効であると検出される場合、リクエスト処理ユニット57は、例えば、ディスク53上のREマークを変更させる。この変更は、レスポンス生成ユニット59によるレスポンスにチャレンジの指標と共に含まれるREマークに対する新たな値を与える。少なくとも当該レスポンスの生成のため、バスキーが使用され、当該バスキーを用いてリクエストを生成することが好ましい。当該レスポンスは、通信ユニットを介しアプリケーションユニット41に送信される。レスポンスの有効性は、バスキーを用いたレスポンスの復号化後、チャレンジの指標の有無をチェックすることによってレスポンス検証ユニットによりチェックされる。当該レスポンスが有効であると検出された場合、リクエストが実際にドライブユニット43により処理され、レスポンスがドライブユニット43により生成されたことは、アプリケーションユニット41に明らかである。
【0059】
BD−VCPSとしてのデジタル著作権管理システムによって、3回の再生と2回の複製の許可など、ステートフル(stateful)な権利のセキュアな格納がディスク上に設けられる。既知のDRMシステムに使用される隠されたチャネルに類似するREマークなどの光サイドチャネルが、この目的のために使用される。既知のDRMシステムと異なって、BD−VCPSはキーロッカーを規定セス、その代わりにアプリケーションに隠されたチャネルに対する直接的なインタフェースを提供する。本発明者は、アプリケーションとドライブとの間の認証が隠されたチャネルアクセスに関する各種攻撃に対するプロテクションを提供するのに十分でないということを認識している。本発明によると、この問題に対する解決手段は、好ましくは隠されたチャネルに対するアクセス毎に使用される必要がある追加的なチャレンジ・レスポンス機構を追加することから構成される。
【0060】
本発明が上述された実施例を参照して説明されたが、他の実施例もまた同一の課題を達成するのに利用可能であるということは明らかである。本発明の範囲は、上述した実施例に限定されるものでなく、他の通信システムに適用可能である。
【0061】
さらに、請求項を含む本明細書における“有する”という動詞とその派生語の使用は、記載された特徴、整数、ステップ又はコンポーネントの存在を特定するものであると理解され、他の1以上の特徴、整数、ステップ若しくはコンポーネント又はそのグループの存在又は追加を排除するものでないということに留意すべきである。また、請求項の要素に前置される不定冠詞“ある”は、そのような要素が複数存在することを排除するものでないということに留意すべきである。さらに、参照符号は請求項の範囲を限定するものでなく、本発明は、ハードウェアとソフトウェアの両方により実現可能であり、いくつかの“手段”は、同一のハードウェアアイテムにより表されるかもしれない。さらに、本発明は、新規なそれぞれ及びすべての特徴又は特徴の組み合わせにある。
【図面の簡単な説明】
【0062】
【図1】図1は、本発明によるデジタル著作権管理方法の第1実施例の概略的なフローチャートを示す。
【図2】図2は、SEND KEY RE Markコマンドのパラメータデータの構成を示す。
【図3】図3は、REPORT KEY RE Markコマンドの返されたデータの構成を示す。
【図4】図4は、本発明によるデジタル著作権管理方法の第2実施例の概略的なフローチャートを示す。
【図5】図5は、セキュア化されていない通信に対する2つの可能な攻撃を示す。
【図6】図6は、チャレンジ・レスポンス及びキー交換プロトコルの概略的なフローチャートを示す。
【図7】図7は、セキュア化されていない通信に対する他の可能な攻撃を示す。
【図8】図8は、従来の第2の通信に対する可能な攻撃を示す。
【図9】図9は、エンハンスされた通信プロトコルの概略的なフローチャートを示す。
【図10】図10は、本発明によるデジタル著作権管理システムを示す。

【特許請求の範囲】
【請求項1】
コピープロテクトされたコンテンツへのアクセス権限を制御するドライブユニットを有するデジタル著作権管理システムに使用されるアプリケーションユニットであって、
当該アプリケーションユニットは、
バスキーを格納するキーストレージユニットと、
前記アクセス権限に関するメッセージとチャレンジとを含む前記ドライブユニットにより実行されるリクエストを生成するリクエスト生成ユニットと、
前記リクエストを送信し、前記ドライブユニットから前記リクエストに対するレスポンスを受信する通信ユニットと、
前記バスキーを用いて前記レスポンスを復号化し、前記リクエストが実行されたことを示す前記レスポンスにおける前記チャレンジの指標の有無をチェックすることによって、前記リクエストと前記レスポンスとの間のリンクを検証するレスポンス検証ユニットと、
を有するアプリケーションユニット。
【請求項2】
前記リクエスト生成ユニットは、前記バスキーによって前記メッセージと前記チャレンジとを暗号的にリンクさせるよう構成される、請求項1記載のアプリケーションユニット。
【請求項3】
前記リクエスト生成ユニットは、前記リクエストのインテグリティテストに使用するため、シグネチャを前記リクエストに含めるよう構成される、請求項1記載のアプリケーションユニット。
【請求項4】
前記リクエスト生成ユニットは、前記バスキーを用いて前記リクエストを暗号化するよう構成される、請求項1記載のアプリケーションユニット。
【請求項5】
前記リクエスト生成ユニットは、ハッシュ関数によって、特に前記バスキーを用いた鍵付きハッシュ関数によって、前記チャレンジ及び/又は前記メッセージ並びに前記バスキーから求められる値を前記リクエストに含めるよう構成される、請求項1記載のアプリケーションユニット。
【請求項6】
前記メッセージは、隠されたチャネルエントリを管理するコマンド、特に隠されたチャネルエントリをリードするため、隠されたチャネルエントリをチェンジするため、及び/又は隠されたチャネルエントリをワイプするためのコマンドを含む、請求項1記載のアプリケーションユニット。
【請求項7】
前記リクエスト生成ユニットは、乱数、前記リクエストを特定する識別子、特に実質的に一意的な識別子、及び/又は所定のデータを前記チャレンジとして前記リクエストに含めるよう構成される、請求項1記載のアプリケーションユニット。
【請求項8】
当該アプリケーションユニットは、ホスト、特にソフトウェアアプリケーションである、請求項1記載のアプリケーションユニット。
【請求項9】
コピープロテクトされたコンテンツへのアクセス権限を制御するアプリケーションユニットを有するデジタル著作権管理システムに使用されるドライブユニットであって、
当該ドライブユニットは、
バスキーを格納するキーストレージユニットと、
前記アプリケーションユニットからチャレンジと前記アクセス権限に関するメッセージとを有する当該ドライブユニットによって実行されるリクエストを受信し、前記リクエストにレスポンスを送信する通信ユニットと、
前記メッセージを処理するリクエスト処理ユニットと、
前記チャレンジの指標と前記メッセージに対するリプライとを含む前記レスポンスを生成するレスポンス生成ユニットと、
を有し、
前記リプライと前記チャレンジの指標とは、前記バスキーによって暗号的にリンクされ、
前記レスポンスにおける前記チャレンジの指標は、前記リクエストが実行されたことを示すドライブユニット。
【請求項10】
前記リプライは、隠されたチャネルエントリ、特に当該ドライブユニットによりリード又はチェンジされた隠されたチャネルエントリを有する、請求項9記載のドライブユニット。
【請求項11】
請求項1記載のアプリケーションユニットと、請求項9記載のドライブユニットとを有するコピープロテクトされたコンテンツへのアクセス権限を制御するデジタル著作権管理システムであって、
前記バスキーは、前記アプリケーションユニットと前記ドライブユニットとにより共有されるデジタル著作権管理システム。
【請求項12】
バスキーを共有するアプリケーションユニットとドライブユニットとを有するデジタル著作権管理システムにおけるコピープロテクトされたコンテンツへのアクセス権限を制御するデジタル著作権管理方法であって、
a)チャレンジと前記アクセス権限に関するメッセージとを有する前記ドライブユニットにより実行されるリクエストを生成するステップと、
b)前記アプリケーションユニットから前記ドライブユニットに前記リクエストを通信するステップと、
c)前記メッセージを処理するステップと、
d)前記チャレンジの指標と前記メッセージに対するリプライとが前記バスキーにより暗号的にリンクする前記指標と前記リプライとを含むレスポンスを生成するステップと、
e)前記ドライブユニットから前記アプリケーションユニットに前記レスポンスを通信するステップと、
f)前記バスキーを用いて前記レスポンスを復号化し、前記リクエストが実行されたことを示す前記レスポンスにおける前記チャレンジの指標の存在の有無をチェックすることによって、前記リクエストと前記レスポンスとの間のリンクを検証するステップと、
を有する方法。
【請求項13】
前記ステップb)の後であって、前記ステップc)の前に前記リクエストを検証するステップをさらに有するデジタル著作権管理方法。
【請求項14】
当該コンピュータプログラムがアプリケーションユニット上で実行されると、請求項12記載の方法のステップa)、b)、e)及びf)を前記アプリケーションユニットに実行させるコンピュータプログラムコード手段を有するコンピュータプログラム。
【請求項15】
当該コンピュータプログラムがドライブユニット上で実行されると、請求項12記載の方法のステップb)〜e)を前記ドライブユニットに実行させるコンピュータプログラムコード手段を有するコンピュータプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公表番号】特表2008−527892(P2008−527892A)
【公表日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−550914(P2007−550914)
【出願日】平成18年1月13日(2006.1.13)
【国際出願番号】PCT/IB2006/050126
【国際公開番号】WO2006/077510
【国際公開日】平成18年7月27日(2006.7.27)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】