説明

記憶媒体への信頼性の高いアクセス制御方法および装置

記憶媒体(101)上のコンテンツへのアクセスを許可する方法であって、記憶媒体(101)の、ウォブル等の特性(102)から、暗号データ(Y)を取得する工程と、記憶媒体(101)からヘルパーデータ(W)を読み出す工程と、暗号データ(Y)とヘルパーデータ(W)とへのデルタ縮約関数の適用に基づいて、アクセスを許可する工程とを含む方法、および対応の装置(110)。デルタ縮約関数は、本来の主入力値に十分類似した任意の暗号データ(Y)の値が同一の出力値をもたらすような、ヘルパーデータ(W)の適当な値の選択を可能とする。実質的に異なる暗号データ(Y)の値は、異なる出力値をもたらす。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶媒体上のコンテンツへのアクセスを許可する方法および装置であって、アクセスが許可されるべきか否かを決定するのに用いられる暗号データが、記憶媒体の特性から取得されるような方法および装置に関するものである。
【0002】
本発明はまた、上記のような装置を含む再生および/または記録装置と、本発明に係る方法をプロセッサに実行させるように設計された、コンピュータプログラムとにも関するものである。
【背景技術】
【0003】
CDやDVD等のような記憶媒体上のコンテンツを不正コピーから守るために、コンテンツを暗号化して記憶することがよく行われる。このことは、権限を有する再生装置は、必要な解読鍵の取得が可能なものでなくてはならないことを意味し、その際、好ましくは、権限を有さない再生装置はそれら解読鍵を取得できないような手法がとられる。典型的には、これらの解読鍵は、記憶媒体上に隠されたデータから生成され、好ましくは、記憶媒体上に隠されたデータと再生装置に隠されたデータとから生成される。かかるデータは、権限を有する再生装置の製造時において、それらの再生装置に与えられる。このシステムは、たとえばDVDビデオに用いられている。
【0004】
上記の形態では、暗号化されたコンテンツと記憶媒体上に隠された解読データとの全体を第2の記憶媒体上にコピーすることができる、クローニング攻撃が可能である。そのようなクローニング攻撃に対する防衛は、ディスク上のデータとして解読データを記憶するのではなく、ディスク自体の中に解読データを隠すことによって実現することができる。これを行うための1つの手法が、いわゆる「ウォブル」を用いる手法である。解読データは、記憶媒体の物理パラメータの変動として、その記憶媒体から取得される。異なる媒体は、異なるウォブルを有するか、全くウォブルを有さず、したがって、そのディスクについては、異なる解読鍵が生成される。このことは、コンテンツの解読が失敗することを意味する。そのような「ウォブル」を生成し、かかる「ウォブル」内に情報を記憶する様々な技術が記載された、本発明と譲受人を同じくする米国特許第5,724,327号(整理番号PHN13922)を参照されたい。
【0005】
記録可能なCDまたはDVDディスクをプレスする処理において発生する元来の収差を用いて、それらのディスクに記録されるであろうコンテンツを暗号化するための暗号鍵を生成することも可能である。ディスクの元来の特性を用いて、固有の識別子を生成する技術の一例については、欧州特許出願公開EP−A−0706174号を参照されたい。そのようなアプローチについて知られている1つの問題は、物理特性の測定における小さな偏差が、誤った鍵をもたらし得るという問題である。通常、この問題は、元来の特性ではなく、意図的に作られた、高い信頼性で測定可能な識別子を用いることにより回避される。意図的に書き込まれた補足データから暗号識別子を導出する技術が記載された、本発明と譲受人および発明者を同じくする米国特許第6,209,092号(整理番号PHN16372)を参照されたい。この米国特許の技術は、ディスクの追加加工を必要とし、したがって、加工をより複雑かつ高コストなものとする。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明の1つの目的は、冒頭の段落で述べたような方法であって、記憶媒体の特性の測定値の小さな偏差を許容する方法を提供することである。
【課題を解決するための手段】
【0007】
本発明によれば、上記の目的は、記憶媒体の特性から暗号データを取得する工程と、その記憶媒体からヘルパーデータを読み出す工程と、暗号データとヘルパーデータとへのデルタ縮約関数の適用に基づいてアクセスを許可する工程とを含む方法において達成される。
【0008】
デルタ縮約関数(delta−contracting function)は、主入力(暗号データ)と副入力(ヘルパーデータ)とを有し、それら主入力および副入力に基づいて出力を生成する関数である。副入力は、主入力信号値の複数の範囲、および主入力信号値の各範囲に対する対応の出力値を規定するという意味において、制御入力であると言える。
【0009】
より厳密に言えば、任意の本来の主入力値に対して、デルタ縮約関数は、その本来の主入力値に十分類似した任意の主入力値が同一の出力値をもたらすような、副入力の適当な値の選択を可能とする。一方、実質的に異なる主入力値は、異なる出力値をもたらす。
【0010】
測定値の暗号化処理を可能とするには、測定値は、暗号化処理に先立って、離散的な値に量子化されなくてはならない。いかなる測定値もいくらかのノイズを含んでいると思われるので、量子化の結果は、実験ごとに異なるかもしれない。特に、物理パラメータが量子化の閾値に近い値をとる場合には、わずかな量のノイズが結果を変えてしまうこともあり得る。量子化されたデータを暗号化関数に適用した後では、わずかな変動が強められ、その結果は、期待された結果とは似つかないものとなってしまう。このことは、基本的には暗号化関数に必要な特性である。
【0011】
量子化の閾値に近すぎる暗号データを特定の担体用に適合させるように、ヘルパーデータの適当な選択を行うことができるので、デルタ縮約関数は、取得される暗号データの信頼性を高める。たとえ元来発生している収差由来の測定値が低い信頼性を有するものであるとしても、これにより、かかる測定値を用いることも可能となる。
【0012】
国際特許出願国際公開WO00/51244号、および、Ari JuelsならびにMartin Wattenberg著、G.Tsudik編により発表された対応の記事「A Fuzzy Commitment Scheme(ファジーコミットメント方式)」、第6回コンピュータおよび通信セキュリティACM会議(Sixth ACM Conference on Computer and Communications Security)、第28−36頁、ACMプレス、1999年は共に、参照値に近い値であるが必ずしも参照値に一致する値でなくてもよい生体測定値に基づいて人物を認証する、いわゆるファジーコミットメント方式を開示している。この方式は、攻撃者が参照値に関する情報を知ることを防止する。上記の記事には、この方式の生体認証への応用例のみが記載されており、この方式をウォブルに基づく記憶媒体の認証に応用することについてはもちろんのこと、コピー防止に応用することについても、開示も示唆もされていない。
【0013】
本発明の多くの有利な実施形態が、従属請求項で規定されている。
【0014】
本発明の別の1つの目的は、冒頭の段落で述べたような装置であって、記憶媒体の特性の測定値の小さな偏差を許容することのできる装置を提供することである。
【0015】
本発明によれば、この目的は、記憶媒体上のコンテンツへのアクセスを許可するように設計された装置であって、記憶媒体の特性から暗号データを取得する第1読出手段と、その記憶媒体からヘルパーデータを読み出す第2読出手段と、暗号データとヘルパーデータとへのデルタ縮約関数の適用に基づいてアクセスを許可するアクセス制御手段とを含む装置において達成される。
【発明を実施するための最良の形態】
【0016】
以下、図面に示した実施形態を参照しながら、本発明の上記およびその他の特徴を明らかにする。全図面に亘って、同一の参照番号は、類似または対応の特徴部分を示している。図面に示された特徴部分のうちのいくつかは、典型的にはソフトウェア内において実装されるものであり、それ自体、ソフトウェアモジュールやオブジェクトといったソフトウェア的な存在を表すものである。
【0017】
図1は、本発明に従うホスト装置110と記憶媒体101とを含むシステム100の模式図である。ホスト装置110は、ユーザーが記憶媒体101を置くことができる媒体受け部111と、記憶媒体101からデータを読み出す読出モジュール112と、記憶媒体101から読み出されたコンテンツを処理し、処理されたコンテンツデータを出力部119に供給する様々な処理手段113−117と、ユーザーがホスト装置110の動作を制御するのに使用できるユーザー入力モジュール118とを含んでいる。ホスト装置110はまた、制御モジュール120も含んでいる。この制御モジュール120の作用は、後で説明する。
【0018】
図1では、ホスト装置110は、たとえばコンパクトディスク(CD)リーダーやデジタルバーサタイルディスク(DVD)リーダーといったような、光ディスクドライブとして実現されている。しかしながら、装置110は、フロッピーディスクドライブとして、または、リムーバブルハードディスク、スマートカード、フラッシュメモリ等の記憶媒体用の読出装置としても、容易に実現され得る。ホスト装置110が一部を構成するシステム100は、たとえば、CDプレーヤーおよび/またはレコーダー、DVDプレーヤーおよび/またはレコーダー、パソコン、テレビシステム、ラジオシステム等であってもよい。図4は、ホスト装置110を含むオーディオ再生装置400を示した模式図である。装置400は、ホスト装置110により適当なアクセスが許可された場合においてのみ、記憶媒体101上のコンテンツの再生および/または記憶媒体101上へのコンテンツの記録を行うように設計されている。たとえば、ホスト装置110が読出しのためのアクセスのみを許可した場合は、装置400は、コンテンツの記録またはコピーを行うことはない。
【0019】
ユーザーが記憶媒体101を媒体受け部111に置いた後、読出モジュール112が始動させられる。この始動は、自動的に行われてもよいし、ユーザーによるユーザー入力モジュール118の作動に応答して(たとえば、ボタンを押すことによって)行われてもよい。記憶媒体101上に記録されたコンテンツにアクセスするには(たとえば、コンテンツの読出し、再生、処理、またはコピーを許可するには)、権限付与が必要であると想定されている。アクセスの権限が付与されているか否かを確証するために、ここで、読出モジュール112が、記憶媒体101から暗号データを読み出し、この暗号データを制御モジュール120に供給する。
【0020】
制御モジュール120は、暗号データを受け取り、このデータに基づいてアクセス権限付与を試行する。この試行には、ホスト装置110に記憶された暗号データ、またはシステム100によって供給された暗号データも関与する。この権限付与が確証できない場合、制御モジュール120は、たとえば、出力部119にエラー信号を供給したり、ホスト装置110のフロントパネルにあるLEDを作動させることにより、エラー状態を知らせる。
【0021】
権限付与が確証されると、読出モジュール112は、記憶媒体101からコンテンツデータを読み出し、そのコンテンツデータを処理手段113−117に供給する。暗号データが記憶されている特性に応じて、暗号データの読出しとコンテンツデータの読出しとに、異なる読出手段が必要とされることもあり得る。処理手段113−117の出力は、出力部119へと送られ、この出力部119から、システム100の他の構成要素によるコンテンツの読出しが可能とされている(たとえば、コンテンツを動画としてレンダリングすることや、スピーカーにおいてレンダリングされるオーディオ信号を生成することによる読出し)。最初に、ホスト装置110が準拠システム100内にインストールされていることを、ホスト装置110に確証させることが望ましいかもしれない。このことは、出力119がデジタル出力である場合、特に重要である。システム100の準拠性が確証できない場合には、出力部119には何らコンテンツが存在しないはずである。
【0022】
ホスト装置110は、多種多様な処理手段を備え得る。図1の例示的な実施形態では、処理手段は、解読モジュール113、透かし検出モジュール114、条件付アクセスモジュール115、信号処理モジュール116、およびバス暗号化モジュール117を含んでいる。
【0023】
まず、記憶媒体101から読み出されたままの状態のコンテンツは、制御モジュール120から供給された解読鍵を用いて、解読モジュール113によって解読される。透かし検出モジュール114は、解読されたコンテンツデータを処理して、その中に含まれる埋込データを有する透かしを探索する。この透かしは、たとえば、デジタル著作権管理データ、コンテンツ所有者の識別情報、または記憶担体のリファレンス情報を含み得る。
【0024】
条件付アクセスモジュール115は、コンテンツデータへのアクセスを統制するように設計されている。この条件付アクセスモジュール115は、厳格なコピー禁止体制を遵守させるようにプログラムされてもよいし、コンテンツのデジタル出力への供給を許可しないようにプログラムされてもよい。後者の場合、条件付アクセスモジュール115は、アナログ信号のみが生成され出力部119に供給されるべきであることを示す信号を、信号処理手段116に送る。条件付アクセスモジュール115はまた、アナログ出力部119に供給される信号中において、マクロビジョンその他のコピー防止機構のスイッチオンを行うようにプログラムされてもよい。条件付アクセスモジュール115はさらに、出力部119に供給される信号中に、特定のタイプの透かしを埋め込むようにプログラムされてもよい。条件付アクセスモジュール115はまた、デジタル出力部119に供給される信号中において、特定のタイプの暗号化のスイッチオンを行うようにプログラムされてもよい。
【0025】
信号処理モジュール116は、コンテンツデータを、出力部119上に提供可能な信号へと変換する役割を担う。この処理は、たとえばアナログオーディオおよび/またはビデオ信号を生成する処理を含み得るが、信号中に透かしデータを埋め込む処理、コンテンツの特定部分をフィルタ抽出する処理、コンテンツのデモ再生版を生成する処理等も含んでいてもよい。実行されるべき厳密な信号処理動作または変換動作は、たとえば、コンテンツのタイプ、コンテンツ内に埋め込まれたデジタル著作権管理データ、条件付アクセスモジュール115の出力等に依存する。
【0026】
バス暗号化モジュール117は、出力部119上に提供されるオーディオおよび/またはビデオ信号を暗号化する。たとえば、ホスト装置110は、システム100の他の構成要素と共に認証プロトコルに関与し得る。この認証プロトコルの結果として、ホスト装置110と他の構成要素とが、秘密鍵を共有する。それにより、コンテンツは、その秘密鍵を用いて暗号化され、暗号化された形態で出力部119上に提供され得るようになる。こうすることにより、出力部119から読出しを行うことができる他の構成要素(たとえば、出力部119と接続されたバスで音を聴くことにより、読出しを行うことができる構成要素)は、そのコンテンツにアクセスできないこととなる。
【0027】
ここで、重要なこととして、処理モジュール113−117はすべて、全体または一部がソフトウェアの形態で実装されていてもよいホスト装置110の構成要素である点に留意されたい。必ずしも、これらモジュール113−117のすべてを常に使用しなくてはならないわけではない。本願と譲受人を同じくする欧州特許出願第02077406.3号(整理番号PHNL020549)に記載されているアプローチを用いることにより、これらモジュール113−117のフレキシブルな構成および制御が実現できる。
【0028】
暗号データは、記憶媒体の物理パラメータの変動102として、記憶媒体101上に暗号化されている。この変動は、暗号データを表す変化パターンを示している。かかる記憶媒体の物理パラメータは、記憶媒体上の「ウォブル」と呼ばれることがある。そのような「ウォブル」を生成し、かかる「ウォブル」内に情報を記憶する様々な技術が記載された、本発明と譲受人を同じくする米国特許第5,724,327号(整理番号PHN13922)を参照されたい。当然ながら、かかる物理パラメータに元来生じている変動も、シーズとして用いられ得る。
【0029】
好ましくは、暗号データは、そのトラックに沿って中間領域と交互に配された、光検出可能なマークのパターンとして表される。これらの変動102は、好ましくは、トラック方向と交差する方向に関する、トラック位置の変動である。
【0030】
トラックに沿って情報マークを有する記憶媒体101の別の1つの実施形態は、トラックに沿った情報マークの存在の有無によってもたらされる第1の変動と、そのトラックに付随する変動によってもたらされる第2の変動とを示す。ここで第1の変動は、記録担体上に記録された情報信号を表し、第2の変動は、コードを表す変化パターンを示す。
【0031】
暗号データを得るための他の選択肢もまた可能である。R.Papu、B.Recht、J.Taylor、およびN.Gerhenfeldによる論文「Physical one−way functions(物理的な一方向関数)」、サイエンス、第297巻、20、2002年9月20日、第2026−2030頁を参照されたい。無秩序な散乱媒体が、レーザービームによって励起され、結果として得られた光パターンが測定される。かかる散乱媒体は、光ディスクの表面上のいずれかの個所において、または光ディスク内に埋め込まれたいずれかの個所において、使用され得る。測定された光パターンは、暗号データとしての役割を果たす。この方法に関しては、信頼性が高められる必要があることも、よく認識されている。
【0032】
読出モジュール112は、上記の記憶媒体の物理パラメータの変動102を読み出し、暗号データを再構成して、制御モジュール120に供給する。物理パラメータの変動の測定には、通常、たとえばディスクの光ピックアップのサーボ制御ループに接続された回路のような、特別の回路が必要とされる。測定された変動は、たとえば測定結果の小さな誤差を補償するための巡回冗長検査(Cyclic Redundancy Check;CRC)のような、追加データを伴う暗号データを含んでいてもよい。暗号データは、圧縮その他の暗号化を施された形態で記憶されていてもよい。したがって、暗号データを使用可能な形態にするためには、測定された変動に、復元、復号、またはその他の処理を施す必要があるかもしれない。これらの変動を他の目的に使用できるようにするために、これらの変動に増強その他の処理を施さなくてはならない場合には、処理された変動が、暗号データを表すものである。
【0033】
ここで、物理パラメータは、高い信頼性で測定できるように選択されなくてもよいことが分かった。記録可能なCDまたはDVDディスクのプレス処理において生じる元来の収差を、パラメータとして用いることも可能である。以下、このことをより詳細に説明する。
【0034】
読出モジュール112はまた、ヘルパーデータを記憶媒体101から読み出す。このヘルパーデータは、通常の形態で記憶媒体101上に記録されるものでよく、たとえば、CD上のデータトラックとして、または媒体101の専用のセクター内に記録され得る。また、たとえば透かしを用いて、記憶媒体101上に記録されたコンテンツ内に、ヘルパーデータを埋め込むことも可能であると考えられる。
【0035】
制御モジュール120内における権限付与処理(この権限付与処理に基づいて、記憶媒体101へのアクセスが許可される)は、暗号データとヘルパーデータとへのデルタ縮約関数の適用に基づいている。この適用について説明するため、まず、いくつかの表記法を説明する。
・ Y:記憶媒体101の物理パラメータの値を測定することにより得られたままの状態の、暗号データ。
・ W:記憶媒体101から読み出されたヘルパーデータ。
・ V:制御値。
・ G():デルタ縮約関数。
・ F():暗号化関数。好ましくは狭義の一方向ハッシュ関数であるが、所望の暗号特性を実現できる関数であれば、たとえば鍵付一方向ハッシュ関数、トラップドアハッシュ関数、非対称解読関数、または対称暗号化関数までも含めて、いかなる暗号化関数を用いてもよい。
【0036】
図2に図解した権限付与処理は、以下のように進行する。暗号データYとヘルパーデータWとの両方が、上記に説明したようにして取得され、縮約モジュール205に供給される。ここで、デルタ縮約関数G()が、暗号データYおよびヘルパーデータWに適用され、
Z=G(Y,W)
が得られる。
【0037】
暗号化関数F()(たとえば、よく知られた暗号化のための一方向ハッシュ関数SHA−1、MD5、RIPE−MD、HAVAL、またはSNERFUのうちの1つ)は、ハッシュモジュール206内において、デルタ縮約関数G()の出力結果に適用される。すなわち、
U=F(Z)=F(G(Y,W))
である。
【0038】
関数F()の出力結果Uは、比較器207内において、制御値Vと比較される。UとVとが一致した場合には、権限付与が許可される。一致しなかった場合には、権限付与は許可されない。制御値Vは、ヘルパー値Wと全く同様に、記憶媒体101上に存在していてもよいし、別の経路を介して取得されてもよい。たとえば、制御値Vは、スマートカード上に記憶されていてもよいし、記憶媒体に添付されたチップインディスク上に記憶されていてもよいし(たとえば、本願と出願人を同じくする国際特許出願国際公開WO02/17316号(整理番号PHNL010233)参照)、外部のサーバーに接触することにより取得されてもよい。
【0039】
制御値Vは、たとえば、記憶媒体101の製造時、または記憶媒体101上へのコンテンツの記録時において、予め計算される。物理パラメータが読み出されて、値Xが取得される。値Vは、ランダムに(または擬似ランダムに)選択された何らかの秘密値Sに、ハッシュ関数F()を適用した出力結果として計算される。すなわち、
V=F(S)
である。
【0040】
この秘密値Sは、ヘルパーデータWの決定にも用いられる。Wは、G(X,W)がSに等しくなるように計算される。実用上、このことは、G()は逆関数W=G−1(X,S)の計算が可能なものであることを意味する。
【0041】
上記に説明したように、任意の主入力値に対して、デルタ縮約関数G()は、その本来の主入力値に十分類似した任意の主入力値が同一の出力値をもたらすような、副入力の適当な値の選択を可能とする。一方、実質的に異なる主入力値は、異なる出力値をもたらす。
【0042】
非常に望ましくはあるが、本発明の目的のために厳密に必須ではない1つの特性として、「イプシロン・リビーリング(epsilon revealing)」の特性がある。この特性は、不正なベリファイアが、関数の副入力の値のみを参照して、主入力の値を参照しないような状況に対処する。このような場合、ベリファイアは、出力値についてほとんど学習を行わない(たとえばイプシロンより多くは学習しない)べきである。そのような攻撃の典型的な例は、暗号データYを用いずに、不正コピーされたディスクからデータを取得しようとするハッカーにより、ディスクドライブが改変される例である。
【0043】
第1の実施形態として、副入力は、可能性のあるすべての主入力値とそれらの対応の出力値との、網羅的なリストとして選択され得る。第2の実施形態は、主入力から副入力を減算し、その結果を最も近い整数に丸める関数、または同様の減算結果を、所与の幾何学格子上の最近傍点にマッピングする関数を利用する(JuelsおよびWattenbergによる上記で引用した論文参照)。
【0044】
別の1つの実施形態では、主入力Yは、複数の値を項とするベクトルであると想定される。副入力は、Yのどの項が離散的な値に量子化されても不明確さを生じさせないような「大きな」値を含んでいるかに関する情報を包含する、ベクトルWである。この場合、Z=W*sign(Y)である。ここで、この*は、1つ1つの項ごとの乗算を表しており、ベクトルWは、0および1の値を含んでいる。関数sign(Y)は、Yが負であるときに−1を返し、Yが正であるときに+1を返し、Yが0に等しいときに0を返す関数である。したがって、結果として得られるベクトルは、−1、0、および1の値を含む。
【0045】
別の1つの実施形態では、G(W,Y)がエラー訂正手法を適用する。Yは、離散的な値に量子化される。Wは、冗長性を含んでいる。ここでの例として、1つのエラーを訂正することができるハミング(7,4)コードを考える。この(7,4)コードの例では、Yの長さとWの長さとを合わせた長さが7であり、Yの長さが4である。したがって、Wの長さは3となるはずである。Yは4つの成分を含み、すなわちY=(y,y,y,y)であり、Wは3つの成分を含み、すなわちW=(w,w,w)である。登録の際、
【数1】

を規定する。
【0046】
出力Zは、3つの成分(z,z,z)を含んでおり、これらは、
【数2】

として計算される。ここで、Gは復号関数であり、たとえばJ.B.Fraleigh、「A first code in Abstract Algebra(抽象代数学における最初の規則)」、Addison Wesley、Reading、MA、1993年、第5版、第149−157頁で説明されているような関数である。最近傍デコーダは、7ビットのストリング、すなわち、sign(y)、sign(y)、sign(y)、sign(y)、w、w、wを調べる。
【0047】
このストリングが、
【数3】

の条件を満足しない場合には、デコーダは、この7ビットのストリング内に含まれるビットのうちの1つの反転を試みる。このビットの反転は、変更されたストリングが上記の条件を満たすか、あるいは変更されたストリングが上記の条件を満たすことなくすべてのビットが反転されるまで、行われる。この関数は明らかに、1ビットに等しいデルタを有するデルタ縮約関数である。制御値Vは、V=F(s,s,s)として、登録時に予め計算される。
【0048】
この関数G()はデルタ縮約関数である(すなわち、この関数G()は、Yのわずかな乱れには敏感でない)が、Wが分かっていさえすれば、Zの値を隠すという点においては、より好ましさの低い特性を有している。実際、この関数は3つのビットを明かしてしまうものである。すなわち、ある所与のWに対して、Yの不確定性は、4ビットから1ビットへと減らされる。しかしながら、より大きなコードワードについては、かかる特性はより好ましいものとされ得る。特に、コードのレートが1/2よりも顕著に低い場合にはそうである。そのような場合には、Yの未知のビットの数と比較して、少数の冗長ビットWのみがベリファイアに提供される。符号化方法の使用法については、JuelsおよびWattenbergによる上記で引用した論文を参照されたい。
【0049】
さらに別の1つの実施形態では、主入力および副入力は等しい長さのベクトルであり、Y=(y,y,y,・・・)、W=(w,w,w,・・・)、かつZ=(z,z,z,・・・)である。Y、W、およびZのi次元目に関するデルタ縮約関数G()は、ステップサイズをqとして、
【数4】

である。
【0050】
登録時において、Xのi番目の成分(xと表記する)が測定される。Wに関しては、任意の小さなδに対してx+w+δが同一のzに量子化されるような値に、x+wの値がされるように、wの値が計算されなくてはならない。秘密値Sは、Y、W、およびZと同一の長さを有するベクトルとして選択される。Sのi次元目に関しては、測定されたxに対して
【数5】

となるように、wおよび整数nが選択される。
【0051】
ここで、n=・・・,−1,0,1,2,・・・は、−q/2<w<q/2となるように選択される。nの値は破棄されるが、wの値は、ヘルパーデータWとしてリリースされる。制御値Vは、V=F(S)として、秘密値Sから直接取得される。認証の際、縮約モジュール205が、上記に説明したデルタ縮約関数G()を実行して、Zを取得する。
【0052】
ここまで提示してきた実施形態より、様々な種類のデルタ縮約関数の存在が分かるであろう。用途の広い実装形態では、デルタ縮約関数は、ヘルパーデータWが4つの部分W、W、W、Wに分けられた以下の演算の、1つ以上を含み得る。
− 主入力ベクトルYに対する(線形)行列乗算(Wは行列を規定する)。
− たとえば(上記で最後に述べた実施形態で説明した)Y+Wのような、ヘルパーデータWの線形加算。
− Wが量子化範囲を規定する量子化。
− エラー訂正復号。Wは、たとえば冗長ビットを含むものであってもよい(たとえば、冗長ビットがヘルパーデータから直接取得される、上記でハミング(7,4)コードとして説明した例)。
【0053】
図3は、上記すべての演算の組合せの一例を示している。デルタ縮約関数G()は、線形行列演算H(実数または虚数に対して)、ヘルパーデータWの加算、量子化器/スライサーQ、およびエラー訂正コード(ECC)ブロックに分割される。
【0054】
演算Hは、ヘルパーデータWを用いて、nビットの長さを有する出力Yを生成する。ヘルパーデータWを加算した結果は、nビットの長さを有する出力Yである。Yは量子化器/スライサーQに供給され、この量子化器/スライサーQは、YおよびWから、やはり長さがnである出力Yを生成する。ECCブロックは、入力YおよびWから、n個の信頼性の高いビットZを計算する。暗号化関数F()は、Zをハッシュして、nビットの長さを有するUとする。
【0055】
ハミング(7,4)コードの例示的な実施形態が示したとおり、ヘルパーデータ内におけるエラー訂正冗長ビットの使用を避けることは、情報を隠す特性の点では利点を有する。すなわち、ヘルパーデータが冗長ビット(たとえばCRCビット)の形式でエラー訂正コード内に挿入されることのないような、デルタ縮約関数の下位分類を考えることが有用である(冗長性のないデルタ縮約関数)。ヘルパービットをエラー訂正デコーダへの入力として直接用いるのではなく、デコーダに提供される冗長ビットが、主入力および副入力から情報ビットと同様の手法で生成される。それでもなお、冗長性のないデルタ縮約関数は、エラー訂正復号を含んでいてもよい。図3では、このことは、信号Wが存在しないことを意味する。
【0056】
暗号化されたコンテンツデータECDの解読モジュール113内における解読のための、解読鍵Kの基として、値Zを用いることが可能である。値Zは、そのまま用いられてもよいし、たとえばハッシュ関数を値Zに適用すること等により、処理されてもよい。しかしながら、ここでハッシュ関数F(Z)を用いるべきではない。なぜならば、ハッシュ関数F(Z)を用いると、解読鍵がプレーンテキストで利用可能な値Vに等しくなるためである。しかしながら、実際の実装形態の複雑さを節減するために、F(Z’)の使用を選択してもよい。ここで、Z’は、Zをわずかに変更したもの(たとえば、1つのビットを反転させることによって変更したもの)である。
【0057】
解読鍵Kはさらに、システム100により供給されたデータからも導出され得る。たとえば、コンテンツの解読に必要な最終的な解読鍵を得るために、導出された解読鍵に連鎖させられる秘密値が、工場において、ホスト装置110がインストールされている装置400にプログラムされてもよい。値Z(処理された値であっても、処理されていない値であってもよい)とシステムにより供給されたデータとの組合せが、ハッシュ関数に供給されて、解読鍵が取得されてもよい。
【0058】
続いて、制御モジュール120は、解読鍵を解読モジュール113に供給することができる。この解読モジュール113は、上記に説明したように、この解読鍵を用いてコンテンツを解読することができる。このようにして、コンテンツへのアクセスが暗黙的に許可される。誤った解読鍵が得られている場合には、解読は失敗し、適切な出力は得られない。この場合、解読が失敗したことはその出力から明らかであるので、Vを取得し、UをVと比較することは不要である。
【0059】
解読鍵を何ら供給する必要がない場合でさえも、アクセスを制御することは可能である。比較器207がUとVとの間の違いを検出すれば、制御モジュール120は、出力部119上に提示された信号を抑制することができる。言い換えれば、コンテンツ自体の保護にかかわらず、データUとVとが一致しない場合には、コンテンツへのアクセスは許可されない。
【0060】
この最後のオプションは、本発明を、コピー防止方法(たとえば暗号化を含まないシステムに追加導入されるコピー防止方法)として使用することを可能とする。1つの例は、ダウンロードされたオーディオの、家庭内における、CD−Rへの適法な記録である。図2の認証方法は、新世代のプレーヤー内において応用することが可能である。ヘルパー値Wおよび制御値Yは、工場において、空のCD−R上に記憶される。既存のCDプレーヤーとの互換性を担保するため、記録装置は、コンテンツを平文で記憶する。新規なプレーヤーは、ディスクからWおよびVを取得し、認証を実行し、適法に生成されたCD−Rを再生するが、かかるCD−Rの不正なビットコピーは再生しない。かかる不正なビットコピーも、WおよびVの値のコピーを含むが、この新規なディスクは異なるウォブルを有するので、この新規なディスク上の値Yは、Vとは異なるUの値をもたらす。
【0061】
ここで、上記に説明した実施形態は、本発明を限定するものではなく、単に説明のためのものであり、当業者においては、特許請求の範囲による本発明の範囲から逸脱することなく、多くの変更実施形態を設計することが可能である点に留意されたい。
【0062】
たとえば、本願と出願人を同じくする国際特許出願国際公開WO01/95327号(整理番号PHNL000303)には、通常の手法によるコピー防止および記憶媒体に対する制御のためのデータ記憶方法であるが、記憶媒体の物理パラメータの意図的に作られた変動を用いて、データの暗号化ハッシュを記憶するデータ記憶方法が開示されている。その記憶されたデータのハッシュが、その物理パラメータの測定値と一致することを確認することによって、記憶媒体へのアクセスが統制される。さらに、本発明に従うヘルパーデータの記憶およびデルタ縮約関数の使用を行うことにより、この確認処理の信頼性が高められる。
【0063】
各請求項において括弧内に記された参照符号は、その請求項を限定するものと捉えられるべきものではない。「含む」または「備える」との語は、請求項に列挙された以外の要素または工程の存在を排除するものではない。ある要素の前に置かれた「1つの」との語は、そのような要素が複数存在することを排除するものではない。本発明は、いくつかの明確な構成要素を含むハードウェアによって実装されてもよいし、適切にプログラミングされたコンピュータによって実装されてもよい。
【0064】
いくつかの手段を列挙した装置の請求項については、それら手段のうちのいくつかが、ハードウェアの1つの同一の項目によって実現されてもよい。特定の複数の施策が単に互いに異なる従属請求項で規定されているという事実は、それらの施策の組合せは有利に使用できないということを意味するものではない。
【図面の簡単な説明】
【0065】
【図1】本発明に従うホスト装置と記憶媒体とを含むシステムの模式図
【図2】権限付与処理を図解した模式図
【図3】デルタ縮約関数の1つの実施形態を図解した模式図
【図4】ホスト装置を含むオーディオ再生装置を示した模式図

【特許請求の範囲】
【請求項1】
記憶媒体上のコンテンツへのアクセスを許可する方法であって、前記記憶媒体の特性から暗号データを取得する工程と、前記記憶媒体からヘルパーデータを読み出す工程と、前記暗号データと前記ヘルパーデータとへのデルタ縮約関数の適用に基づいて、前記アクセスを許可する工程とを含むことを特徴とする方法。
【請求項2】
少なくとも前記デルタ縮約関数の前記適用に基づいて、前記コンテンツを解読するための解読鍵を導出する工程を含むことを特徴とする請求項1記載の方法。
【請求項3】
さらに再生または記録装置により供給されるデータに基づいて、前記解読鍵を導出することを特徴とする請求項2記載の方法。
【請求項4】
前記デルタ縮約関数の出力が、前記記憶媒体上に記録された制御値に対応するときに、前記アクセスが許可されることを特徴とする請求項1記載の方法。
【請求項5】
前記デルタ縮約関数の前記出力に暗号化関数を適用する工程と、該暗号化関数の出力を前記制御値と比較する工程とを含むことを特徴とする請求項4記載の方法。
【請求項6】
前記暗号化関数が、一方向ハッシュ関数であることを特徴とする請求項5記載の方法。
【請求項7】
前記デルタ縮約関数が、前記暗号データに対する行列乗算と、前記ヘルパーデータの少なくとも一部の線形加算と、前記ヘルパーデータの一部により量子化範囲が規定される量子化と、エラー訂正復号との組合せを含んでいることを特徴とする請求項1記載の方法。
【請求項8】
記憶媒体上のコンテンツへのアクセスを許可するように設計された装置であって、前記記憶媒体の特性から暗号データを取得する第1読出手段と、前記記憶媒体からヘルパーデータを読み出す第2読出手段と、前記暗号データと前記ヘルパーデータとへのデルタ縮約関数の適用に基づいて、前記アクセスを許可するアクセス制御手段とを含むことを特徴とする装置。
【請求項9】
請求項8記載の装置を含み、該装置によりアクセスが許可されたときに再生および/または記録を実施するように設計されている再生および/または記録装置。
【請求項10】
プロセッサに請求項1記載の方法を実行させるように設計されたコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公表番号】特表2006−513520(P2006−513520A)
【公表日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−567069(P2004−567069)
【出願日】平成15年12月24日(2003.12.24)
【国際出願番号】PCT/IB2003/006322
【国際公開番号】WO2004/066296
【国際公開日】平成16年8月5日(2004.8.5)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
フロッピー
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【氏名又は名称原語表記】Koninklijke Philips Electronics N.V.
【住所又は居所原語表記】Groenewoudseweg 1,5621 BA Eindhoven, The Netherlands
【Fターム(参考)】