(57)【要約】【課題】  違法にコンテンツを取得する顧客に対する潜在販売力が失われないようにする。【解決手段】  プログラマブルハードウェアを使用してコンテンツを暗号化する方法および装置を開示する。一実施形態では、コンテンツ要求がコンテンツプロバイダに送られる。コンテンツ要求に応答して、セッションキーを受け取る。セッションキーを使用して、プログラマブルハードウェアが第１の構成に構成される。識別キーが生成され、第１の構成のプログラマブルハードウェアを使用して識別キーが暗号化される。暗号化済み識別キーがコンテンツプロバイダに送られる。次に、その識別キーを含む暗号化済みコンテンツを受け取る。【選択図】図１
2005006302.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツ要求をコンテンツプロバイダ（１００）に送ること（３０５）と、
前記コンテンツ要求に応答してセッションキーを受け取ること（３１０）と、
前記セッションキーを使用してプログラマブルハードウェア（１７０）を構成すること（３１５）であって、それによって第１の構成の前記プログラマブルハードウェアを生成する、構成することと、
識別キーを生成すること（３２０）と、
前記第１の構成のプログラマブルハードウェアを使用することであって、それによって前記識別キーを暗号化する（３３０）使用することと、
前記暗号化済み識別キーを前記コンテンツプロバイダに送ること（３３５）と、
前記識別キーを含む暗号化済みコンテンツを受け取ること（３４０）と
を含む方法。
【請求項２】
前記暗号化済み識別キーに応答して、前記コンテンツプロバイダから前記暗号化済みコンテンツに関連する送信キーを受け取ること（４１０）であって、前記送信キーは、前記暗号化済みコンテンツの第１階層の暗号化に関連する送信キーを受け取ることと、
前記送信キーを使用して前記プログラマブルハードウェアを構成すること（４１５）であって、それによって第２の構成の前記プログラマブルハードウェアを生成する構成することと、
前記第２の構成のプログラマブルハードウェアを使用して、前記暗号化済みコンテンツから前記第１階層の暗号化を除去し（４２０）、コンテンツアクセスキーを露出させることであって、前記コンテンツアクセスキーは前記暗号化済みコンテンツの第２階層の暗号化に関連する第１階層の暗号化を除去することと
をさらに含む請求項１記載の方法。
【請求項３】
前記暗号化済みコンテンツは、
前記識別キーおよびアクセス権とともに埋め込まれたコンテンツ
を含む
請求項１または２記載の方法。
【請求項４】
前記アクセス権は、
満了日、許容閲覧時間、および許容アクセスカウントのうちの少なくとも１つ
を含む
請求項３記載の方法。
【請求項５】
前記コンテンツプロバイダから、前記暗号化済みコンテンツに関連するコンテンツアクセスキーを受け取ること（７０５）と、
前記コンテンツアクセスキーを使用して前記プログラマブルハードウェアを構成すること（７１０）であって、それによって前記プログラマブルハードウェアの第２の構成を生成する構成することと、
前記第２の構成のプログラマブルハードウェアを使用することであって、それによって前記暗号化済みコンテンツを復号化する（７３０）使用することと
をさらに含む請求項１記載の方法。
【請求項６】
前記第２の構成を使用することは、
前記第２の構成を使用することであって、それによって前記暗号化済みコンテンツの少なくとも一部を復号化することと、
前記コンテンツに埋め込まれているコンテンツ識別キーを前記識別キーと比較することと、
前記コンテンツ識別キーが前記識別キーと一致すると判断すること（７２５）と
前記暗号化済みコンテンツを復号化することと
を含む
請求項５記載の方法。
【請求項７】
前記プログラマブルハードウェアは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）（２００）である
請求項１〜６のいずれかに記載の方法。
【請求項８】
前記識別キーを、前記プログラマブルハードウェアの制限領域に書き込むこと（３２５）
をさらに含む請求項１〜７のいずれかに記載の方法。
【請求項９】
コンテンツカスタマ（１５０）からコンテンツ要求を受け取る（５０５）と、前記コンテンツカスタマにセッションキーを送ること（５１０）と、
前記セッションキーの送信に応答して暗号化済み識別キーを受け取ること（５１５）と、
プログラマブルハードウェアを第１の構成に構成すること（５２０）と、
前記第１の構成の前記プログラマブルハードウェアを使用することによって識別キーを取得すること（５２５）であって、それによって前記暗号化済み識別キーを復号化する取得することと、
前記プログラマブルハードウェアを第２の構成に構成すること（５３０）と、
前記第２の構成の前記プログラマブルハードウェアを使用することであって、それによて前記コンテンツ要求に関連するコンテンツから、前記識別キーを含む第１の暗号化済みコンテンツを生成する（５３５）使用することと
とを含む方法。
【請求項１０】
前記第２の構成の前記プログラマブルハードウェアを使用することは、
前記第２の構成の前記プログラマブルハードウェアを使用して、前記識別キーを前記コンテンツ要求に関連する前記コンテンツ中の少なくとも１つの場所に挿入し、前記識別キーが挿入された前記コンテンツを暗号化すること
を含む
請求項９記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルハードウェアを使用したコンテンツ暗号化に関する。
【背景技術】
【０００２】
出現しつつあるインターネット使用可能なデジタルアセットコマースの世界では、アセットを容易に転送できることにより、新たな多くのビジネスチャンスが与えられる。
残念なことに、この転送のし易さは、デジタルアセットを広範な違法コピーおよび配布に曝すことにもなる。
デジタル形式のコンテンツは劣化せずにコピーすることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
そのため、配給元およびアーティストは、普通であればコンテンツを購入したであろうが、そうする代わりに違法にそのコンテンツを取得する顧客に対する潜在販売力を失う。
【課題を解決するための手段】
【０００４】
プログラマブルハードウェアを使用してコンテンツを暗号化する方法および装置を開示する。
一実施形態では、コンテンツ要求がコンテンツプロバイダに送られる。
コンテンツ要求に応答して、セッションキーを受け取る。
セッションキーを使用して、プログラマブルハードウェアが第１の構成に構成される。
識別キーが生成され、第１の構成のプログラマブルハードウェアを使用して識別キーが暗号化される。
暗号化済み識別キーがコンテンツプロバイダに送られる。
次に、その識別キーを含む暗号化済みコンテンツを受け取る。
【０００５】
別の実施形態では、コンテンツ要求をコンテンツカスタマから受け取った後、セッションキーがコンテンツカスタマに送られる。
セッションキーの送信に応答して、暗号化済み識別キーを受け取る。
プログラマブルハードウェアが構成され、これを使用して暗号化済み識別キーが復号化される。
次に、プログラマブルハードウェアが第２の構成に構成され、これを使用して、コンテンツ要求に関連するコンテンツから識別キーを含む暗号化コンテンツが生成される。
【０００６】
本発明の例示的な実施形態を図面に示す。
【発明を実施するための最良の形態】
【０００７】
コンテンツをコンテンツカスタマ１５０に提供するコンテンツプロバイダ１００を含む例示的な構成を図１に示す。
コンテンツプロバイダ１００は、コンテンツカスタマ１５０に通信可能に接続される。
コンテンツプロバイダ１００は、コンテンツをコンテンツカスタマ１５０に提供する、ネットワーク上のコンピュータであることができる。
たとえば、コンテンツプロバイダは、デジタル映画、オーディオファイル、ソフトウェアプログラム、またはテキストファイル等のコンテンツをクライアントカスタマ１５０に提供する、ワールドワイドウェブ上のサーバであることができる。
【０００８】
コンテンツプロバイダ１００は、テープドライブ、ディスクドライブ、コンパクトディスク（ＣＤ）ドライブ、ＣＤプレーヤ、デジタル多目的ディスク（ＤＶＤ）プレーヤ、またはコピー、再生、もしくは他の種類のコンテンツアクセスのためにコンテンツを提供する他の装置等のソース装置であってもよい。
コンテンツカスタマ１５０は、テープドライブ、ディスクドライブ、書き込み可能ＣＤドライブ、記録可能ＤＶＤドライブ、コンピュータモニタ、テレビ、ステレオ、またはコピー、再生、格納、もしくは他の種類のコンテンツアクセスの宛先である他の装置等、クライアントコンピュータまたは宛先装置であることができる。
【０００９】
コンテンツプロバイダ１００は、コンテンツライブラリ１３０に通信可能に接続することができる。
コンテンツライブラリ１３０は、コンテンツカスタマ１５０が要求することができる１つまたは複数のオーディオファイル、ビデオファイル、テキストファイル、または他の種類のファイルを収容したコンピュータファイルまたはデータベースであることができる。
他の実施形態がコンテンツライブラリを含まなくてもよいことを理解されたい。
その代わり、提供すべきコンテンツはバッファに格納してもよく、またはディスク、テープ、ＣＤ、ＤＶＤ、または他の種類の記憶媒体に格納されたデータであってもよい。
【００１０】
コンテンツプロバイダ１００は、キーライブラリ１３５にも通信可能に接続される。
キーライブラリ１３５は、本願において後述する暗号化プロセスの一環で使用される１つまたは複数のキーを収容する。
他の実施形態はキーライブラリ１３５を含まなくてもよい。
その代わり、キーは提供すべきコンテンツとともに別の場所に格納されてもよく、代替のソースから提供してもよく、または「オンザフライ」で生成してもよい。
【００１１】
プログラマブルハードウェア１２０は、コンテンツプロバイダ１００に通信可能に接続される。
また、プログラマブルハードウェア１７０はコンテンツカスタマ１５０に通信可能に接続される。
プログラマブルハードウェア１２０、１７０は、様々な異なる構成で構成することが可能なフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブル論理回路（ＰＬＤ）、または一種のマイクロプロセッサ等のデバイスである。
プログラマブルデバイス１２０、１７０は、それぞれの現在の構成に従って別様にデータを操作する。
本願全体を通して、プログラマブルハードウェアによって行われる機能を参照するが、代替の実施形態では、こういった機能は構成可能ソフトウェアによって行われてもよいことを理解されたい。
【００１２】
コンテンツプロバイダ１００は、プログラマブルハードウェア１２０を使用してコンテンツを暗号化することができる。
コンテンツカスタマ１５０は、プログラマブルハードウェア１７０を使用してコンテンツを復号化することができる。
コンテンツプロバイダ１００およびコンテンツカスタマ１５０は、それぞれのプログラマブルデバイスを構成することが可能であり、またそれぞれのプログラマブルデバイスにデータを入力することが可能である。
しかしながら、これらプロバイダおよびカスタマの一方または両方は、特定の構成パターンによって生成されるプログラマブルデバイスの構成を知らなくてもよく、そのため、特定のパターンで構成されているときにプログラマブルデバイスがどのようにデータを操作するかを無視することができる。
プログラマブルハードウェアを使用してコンテンツを暗号化することにより、プログラマブルハードウェアがその構成に応じて略無限の数のアルゴリズムの可能性を提供することができるため、傍受者が暗号化済みコンテンツにアクセスすることを難しくすることができる。
【００１３】
プログラマブルハードウェア１７０はキージェネレータ１８０を備える。
一実施形態では、キージェネレータ１８０は乱数発生器であることができる。
キージェネレータ１８０を使用して、暗号化プロセスにおいて使用する識別キーを生成することができる。
代替の実施形態では、キージェネレータ１８０はプログラマブルハードウェア１７０に通信可能に接続された別個の構成要素であってもよいことを理解されたい。
【００１４】
記憶媒体１８５は、コンテンツプロバイダから受け取ったコンテンツを格納するために使用することができる。
記憶媒体１８５は、コンテンツを格納するディスク、ＣＤ、テープ、ＤＶＤ、または他の種類の装置であることができる。
実施形態によっては記憶媒体１８５を備えなくてもよいことを理解されたい。
たとえば、コンテンツカスタマが再生装置である場合、ユーザに対してコンテンツを再生する構成要素にコンテンツを直接送ってもよい。
【００１５】
上に述べた構成では、異なる構成要素について、他の構成要素に通信可能に接続されているものとして説明した。
通信可能な接続とは、構成要素間で通信が可能な接続のことである。
これは、構成要素間での通信を可能にするバス、ケーブル、ネットワーク、無線機構、または他の機構によるものであることができる。
【００１６】
一実施形態においては、プログラマブルハードウェア１７０は図２に示すようなフィールドプログラマブルゲートアレイ（ＦＰＧＡ）２００であることができる。
ＦＰＧＡ２００は、構成ビットストリーム等の構成パターンを受け取る構成入力２０５を備える。
構成パターンは、構成可能要素２２０を構成する際に使用される。
構成可能要素２２０は、ＡＮＤ、ＯＲ、ＮＡＮＤ、およびＮＯＲゲート等の論理ゲートが一続きになったもの、または配列されたものからなってよい。
構成可能要素は、フリップフロップ等、記憶素子であってもよい。
【００１７】
異なる構成パターンは、ＦＰＧＡ２００を様々な異なる構成に構成する際に使用することができる。
データ入力２１５は、ある構成のＦＰＧＡ２００にデータを入力する。
データは、構成可能要素の構成に応じて別様に操作される。
データ出力２２５は構成可能要素に接続され、操作済みデータの出力に使用される。
【００１８】
ＦＰＧＡ２００は再構成不可能メモリ２１０も備える。
再構成不可能メモリ２１０は、暗号化プロセスにおいて使用される識別キーの格納に使用することができる。
ＦＰＧＡ２００は、識別キーを生成し、識別キーを使用して再構成不可能メモリ２１５を最初に構成するキージェネレータ２３０をさらに備える。
他の実施形態では、ＦＰＧＡ２００は再構成不可能メモリ２１０またはキージェネレータ２１０を備えなくてもよい。
【００１９】
図３は、コンテンツカスタマによって使用し得るコンテンツ受け取り方法３００を示す。
この方法は、コンテンツ要求をコンテンツプロバイダに送ること（３０５）で始まる。
コンテンツ要求は、インターネットを介してコンテンツをダウンロードしたいクライアントによって行われた要求であっても、データをコピーするコンピュータまたは宛先装置によって行われた要求であっても、格納されているコンテンツにアクセスしている再生装置によって行われた要求であっても、または他のコンテンツ要求であってもよい。
【００２０】
次に、コンテンツ要求に応答して、コンテンツプロバイダからセッションキーを受け取る（３１０）。
このセッションキーは、プログラマブルハードウェア１７０の構成に使用するビットストリームまたは他の種類の構成パターンであることができる。
【００２１】
次に、プログラマブルハードウェア１７０が、セッションキーを使用することによって第１の構成に構成される（３１５）。
たとえば、セッションキーをＦＰＧＡの構成ポートに入力し、ＦＰＧＡの構成に使用することができる。
結果として得られるプログラマブルハードウェアの構成は、その構成によって決定されるアルゴリズムに従ってデータを操作するロジックである。
【００２２】
略同時に、識別キーが生成される（３２０）。
識別キーは、当分野において既知の任意の種類の乱数発生器で発生される乱数であることができる。
これは、要求されたコンテンツのコピーまたはアクセスを制限する一意の識別子として使用することが可能である。
一実施形態においては、プログラマブルハードウェア１７０は、乱数発生器を備えたＦＰＧＡである。
ＦＰＧＡは、ＦＰＧＡ外部の回路と対話して、アナログノイズジェネレータ等のジェネレータに種を与えることによって識別キーを生成する。
【００２３】
識別キーは、生成されると、それ以降の参照のために格納される（３２５）。
識別キーは、コンテンツの取得に使用されるプログラマブルハードウェア１７０、または同様のプログラマブルハードウェアによってのみアクセス可能な制限領域に格納することができる。
プログラマブルハードウェアしかこの領域にアクセスすることができない状態のままであるよう保証するために、制限領域へのアクセス要求を監視することができ、プログラマブルハードウェアによって行われた要求以外の要求をすべて阻止することができる。
【００２４】
一実施形態においては、制限領域は、コンテンツを格納することになる、同じ記憶媒体の領域であることができる。
ユーザは、通常のインタフェースコマンドを通してこの領域にアクセスすることができない。
識別キーをコンテンツと同じ記憶媒体に格納することで、プログラマブルハードウェア１７０が備えられた任意の装置がコンテンツにアクセスできるようにすることができるが、適切な識別キーが制限領域に格納されていないコンテンツのコピーにはアクセスすることができない。
代替として、識別キーは、プログラマブルハードウェア内のメモリ等、この特定のプログラマブルハードウェアにのみアクセス可能な領域に格納してもよい。
これにより、コンテンツの再生を、コンテンツの取得に使用されたプログラマブルハードウェアにアクセスできる装置のみに限定することができる。
【００２５】
次に、プログラマブルハードウェアを使用して、識別キーが暗号化される（３３０）。
識別キーをプログラマブルハードウェアに通して、暗号化済みキーを生成することができる。
プログラマブルハードウェアは、第１の構成のプログラマブルハードウェアによって決定されるアルゴリズムに従って識別キーを暗号化する。
【００２６】
次に、暗号化済み識別キーがコンテンツプロバイダに送られる（３３５）。
次に、暗号化済みコンテンツを受け取る（３４０）。
暗号化済みコンテンツは、要求されたコンテンツおよび識別キーを暗号化された形で含む。
本願の他のどこかで述べるように、識別キーを使用して、識別キーにアクセスできるカスタマのみがコンテンツを復号化することができるよう保証することが可能である。
【００２７】
暗号化済みコンテンツとともに、他の情報も受け取ることができる。
暗号化済みコンテンツを復号化するために、コンテンツアクセスキーを受け取ることができる。
コンテンツが２階層の暗号化で送られた場合、送信の外層の復号化に使用することができる送信キーを受け取ることができる。
後のコンテンツのコピーまたは共有に使用し得る他のキーを受け取ってもよい。
【００２８】
さらに、暗号化の外層を復号化する一環として、コンテンツのアクセス権も暗号化済みコンテンツとともに受け取るか、または露出することができる。
こういったアクセス権は、コンテンツの閲覧またはアクセスに対する満了日、コンテンツを閲覧する、またはコンテンツにアクセスすることができる総時間量を制限する許容閲覧時間、およびコンテンツにアクセスすることができる回数を制限する許容アクセスカウントを含むことができる。
こういったアクセス権は、後で使用するために制限領域に書き込むことができる。
この領域は、識別キーの格納に使用される領域と同じであってもよく、または異なる領域であってもよい。
【００２９】
図３には方法に対する順序を示しているが、代替の実施形態は異なる順序を使用してもよいことを理解されたい。
たとえば、プログラマブルハードウェアを構成する（３１５）前に識別キーを生成（３２０）してもよい。
さらに、識別キーは、生成後のいずれの時点で格納（３２５）してもよい。
【００３０】
一実施形態においては、暗号化済みコンテンツを受け取った後、後でアクセスまたは再生するために格納することができる。
図４は、コンテンツを受け取った後で格納する方法４００を示す。
コンテンツは、さらなるセキュリティのために２階層の暗号化を使用して受け取られている場合もある。
最も外側の層の暗号化は、コンテンツおよびコンテンツへのアクセスを提供するコンテンツアクセスキーの暗号化に使用することができる。
コンテンツを後にコピーする、または現在のコンテンツカスタマの第２のカスタマからアクセスする際に使用される構成キー等、他の情報も外層の暗号化で暗号化することが可能である。
【００３１】
コンテンツを格納する前に、コンテンツが二重に暗号化されているか否かについて判断される（４０５）。
コンテンツが２階層の暗号化で暗号化されている場合、最も外側の層の暗号化を復号化するために、送信キーもコンテンツプロバイダから受信することになる（４１０）。
送信キーは、暗号化済みコンテンツへのヘッダとして受信することができる。
例として、送信キーは、プログラマブルハードウェアの構成に使用されるビットストリームまたは他の種類の構成パターンであることができる。
プログラマブルハードウェアは、送信キーを使用することによって第２の構成に構成される（４１５）。
【００３２】
次に、第２の構成のプログラマブルハードウェアを使用して、外層の暗号化が復号化される（４２０）。
これは、プログラマブルハードウェアが第２の構成に構成されている間に、プログラマブルハードウェアのデータ入力に暗号化済みコンテンツを通すことによって行うことができる。
この復号化プロセスの一環として、最終層のコンテンツおよび他の情報、たとえばアクセス権を復号化するコンテンツアクセスキーも露出させることができる。
アクセス権は、露出している場合、記憶媒体の制限領域に書き込むことができる。
【００３３】
外層の暗号化が除去された後、またはコンテンツが二重に暗号化されていないと判断された場合（４０５）、最終層の暗号化で暗号化されたコンテンツが、コンテンツアクセスキーとともに格納される（４２５）。
コンテンツが二重に暗号化されていなかった場合、暗号化済みコンテンツとともに、コンテンツアクセスキーもコンテンツプロバイダから受け取る。
後続のコンテンツカスタマが使用し得る他のキーも格納することができる。
コンテンツは、ディスク、ＣＤ、テープ、または記録可能ＤＶＤ等、任意の種類の記憶媒体に格納することができる。
【００３４】
格納される暗号化済みコンテンツは識別キーを含む。
コンテンツを暗号化された形式で格納することにより、暗号化されていないコンテンツへのアクセスが、暗号化されているコンテンツに含まれる識別キーと一致する識別キーにアクセスできる装置に限定される。
他のどこかで説明したように、これは、コンテンツの取得に使用されたプログラマブルデバイスにアクセスできる装置のみであることができる。
識別キーも記憶媒体に格納される場合、図７に説明する復号化プロセスにおいて使用することができるプログラマブルデバイスにアクセスできるいずれの装置にもアクセスを与えることができる。
【００３５】
図５は、コンテンツプロバイダによって使用され得るコンテンツ転送プロセス５００を示す流れ図である。
コンテンツ要求を受け取った（５０５）後、セッションキーがコンテンツカスタマに送られる（５１０）。
コンテンツ転送プロセスによって使用されるキーは、キーライブラリから取得しても、または転送するコンテンツに関連付けてもよい。
【００３６】
次に、セッションキーに応答して、暗号化済み識別キーをコンテンツカスタマから受け取る（５１５）。
識別キーは、セッションキーを使用して構成されたプログラマブルハードウェアによって決定されたアルゴリズムに従って、コンテンツカスタマによって暗号化されている場合もある。
【００３７】
コンテンツプロバイダは、識別キーを復号化するようにプログラマブルハードウェアが構成されるように、それぞれのプログラマブルハードウェアを構成する際に必要なキーにアクセスすることができる。
したがって、コンテンツプロバイダのプログラマブルハードウェアは、適当なキーを使用して第１の構成に構成される（５２０）。
コンテンツカスタマのプログラマブルハードウェア内のロジックは、コンテンツプロバイダのプログラマブルハードウェア内のロジックと同じであっても異なってもよいことを理解されたい。
したがって、復号化アルゴリズムを使用してのプロバイダのプログラマブルハードウェアの構成に使用されるキーは、コンテンツカスタマに送られるセッションキーと同じであっても異なっていてもよい。
【００３８】
プログラマブルハードウェアが構成された後、識別キーが、第１の構成によって決定された復号化アルゴリズムに従って復号化される（５２５）。
次に、プログラマブルハードウェアが、別のキーを使用して第２の構成に構成される（５２０）。
この第２の構成のプログラマブルハードウェアを使用して、カスタマによって要求されるコンテンツが暗号化される（５３５）。
一実施形態においては、コンテンツが暗号化されている間、プログラマブルハードウェアは、識別キーをコンテンツの１つまたは複数の場所に挿入してもよい。
代替として、識別キーは、暗号化プロセスに先立って、コンテンツの１つまたは複数の場所に挿入してもよく、またはコンテンツに添付してもよい。
次に、識別キーを含む暗号化済みコンテンツがコンテンツカスタマに送られる（５４０）。
暗号化済みコンテンツを復号化するようにカスタマのプログラマブルハードウェアを構成するために使用し得るコンテンツアクセスキーも送られる。
傍受者は、上に述べたプロセスに従って転送されたコンテンツを傍受することができないであろう。
図７を参照してさらに説明するように、いくつかの実施形態においては、ユーザがコンテンツに含まれる識別キーにアクセスできない場合、暗号化済みコンテンツを復号化することができない。
【００３９】
代替の実施形態においては、コンテンツとともに他の情報を暗号化することができる。
たとえば、コンテンツのコピー権およびコンテンツの許可されたいずれのコピーについてのコピー権も指定するコピー権情報をコンテンツに添付し、コンテンツとともに暗号化することができる。
コンテンツカスタマがコンテンツプロバイダとして機能できるようにするキーをコンテンツとともに暗号化してもよい。
代替として、コピー権情報またはキー等の情報をコンテンツとは別個に送ってもよい。
【００４０】
さらに、暗号化済みコンテンツおよび他の情報、たとえばアクセス権、他の構成キー、およびコンテンツアクセスキーは、第２の階層の暗号化で暗号化することができる。
この第２の階層の暗号化を行うために、キーを使用してプログラマブルハードウェアを第３の構成に構成する。
次に、第３の構成のプログラマブルハードウェアを使用して、暗号化済みコンテンツおよび他の情報が暗号化される。
次に、カスタマが、最初に暗号化されたコンテンツではなくこの二重に暗号化されたコンテンツを受け取ることができる。
外層の暗号化を除去するようにカスタマのプログラマブルハードウェアを構成するために使用することができる送信キーもまた送ることができる。
【００４１】
図６は、後に配布するために媒体を作成する方法を示す。
このプロセスは、ＤＶＤ映画または音楽ＣＤの製造業者が使用し得る。
代替の実施形態は図６に示す順序と異なる順序を用いてもよいことを理解されたい。
【００４２】
まず、この媒体を一意に識別する際に使用される識別キーが取得される（６０５）。
識別キーは同じコンテンツを含むすべての媒体に対して同じであってもよく、または各媒体が各自の識別キーを有してもよい。
識別キーは、生成されても、またはキーライブラリもしくは他の場所から取得してもよい。
【００４３】
次に、プログラマブルハードウェアが構成される。
結果として得られるプログラマブルハードウェアの構成は、その構成によって決定されるアルゴリズムに従ってデータを操作するロジックである。
この構成のプログラマブルハードウェアを使用して、媒体コンテンツを暗号化する（６１５）。
【００４４】
暗号化プロセス６１５の一環として、プログラマブルハードウェアは、識別キーをコンテンツの１つまたは複数の場所に挿入してもよい。
代替として、暗号化プロセスに先立って、識別キーをコンテンツの１つまたは複数の場所に挿入しても、またはコンテンツに添付してもよい。
【００４５】
略同時に、識別キーが媒体の制限領域に書き込まれる（６２０）。
この領域は、ユーザがアクセス不可能であり得る領域である。
一実施形態においては、制限領域は、プログラマブルハードウェアによってのみアクセス可能な領域であることができる。
【００４６】
次に、識別キーを含む暗号化済みコンテンツが媒体に書き込まれる（６３０）。
暗号化済みコンテンツを復号化するようにカスタマのプログラマブルハードウェアを構成するために使用されるコンテンツアクセスキーもまた、コンテンツへのヘッダとして媒体に書き込むことができる。
【００４７】
コンテンツカスタマが受け取ったコンテンツの場合のように、このプロセスによって作成された媒体コンテンツは、図７を参照して後述するプロセスと同様のプロセスでアクセスすることができる。
一実施形態においては、媒体が、コンテンツに挿入された識別キーと一致する識別キーを含んでいない場合、コンテンツは復号化されない。
したがって、上に述べた実施形態は、無許可のコピープロセス中に制限領域に書き込まれた識別キーをコピーされないであろうことから違法コピーを打倒することができる。
【００４８】
図７は、暗号化済みコンテンツにアクセスする方法７００を示す。
暗号化済みコンテンツは、取得直後にアクセスしてもよく、または記憶媒体からアクセスしてもよい。
一実施形態によれば、コンテンツは、図８に説明する許可を受けたコピー中、またはコンテンツを再生または使用していている間にのみ復号化可能である。
これにより、ユーザは暗号化されていないコンテンツに決してアクセスできないことから、さらなるコンテンツ保護が提供される。
【００４９】
この方法は、コンテンツを復号化するキーとして使用されるコンテンツアクセスキーを取得することによって始まる（７０５）。
このキーは、暗号化済みコンテンツへのヘッダとして送信または格納され得る。
一実施形態においては、コンテンツアクセスキーは、図４を参照して説明した外層の暗号化を除去することによって取得される。
【００５０】
次に、プログラマブルハードウェアがコンテンツアクセスキーを使用して構成される（７１０）。
結果として得られるプログラマブルハードウェアの構成は、その構成によって決定される復号化アルゴリズムに従ってデータを操作するロジックである。
【００５１】
次に、暗号化済みコンテンツに含まれるコンテンツ識別キーが取得される（７１５）。
このコンテンツ識別キーは、コンテンツ識別キーが見つかるまで、暗号化済みコンテンツの一部を構成されたプログラマブルハードウェアに通すことによって取得することができる。
略同時に、ユーザ識別キーも取得される（７２０）。
ユーザ識別キーは、プログラマブルデバイスの記憶領域、記憶媒体上の制限領域、または他の場所から検索することができる。
【００５２】
次に、コンテンツ識別キーがユーザ識別キーと比較される（７２５）。
キーが一致しない場合、コンテンツは暗号化されず、コンテンツに対するアクセスが無効になるかまたは拒絶される（７３５）。
コンテンツ識別キーがユーザ識別キーと一致する場合、コンテンツは、構成されたプログラマブルハードウェアを使用して復号化される（７３０）。
これは、プログラマブルハードウェアのデータ入力に暗号化済みコンテンツを通すことによって行うことができる。
次に、通されたコンテンツが、プログラマブルハードウェアの構成によって決定される復号化アルゴリズムに従って復号化される。
代替の実施形態では、暗号化されていないコンテンツがアナログ形式でのみ利用可能なように、復号化されたコンテンツを次に、プログラマブルハードウェアに接続されたデジタル／アナログ変換器に通すことができる。
【００５３】
図８は、暗号化済みコンテンツのコピーに使用される方法を示す。
ホストがコピー要求を開始した（８００）後、コピーが許可されているか否かが判断される（８１０）。
コピーが許可されているか否かの判断に使用することができるプロセスを図９に示す。
【００５４】
図９を参照すると、プログラマブルハードウェアは、コンテンツアクセスキーを使用して第１の構成に構成される（９０５）。
プログラマブルハードウェアは、コピーについてソース装置に関連するものであっても、またはターゲット装置に関連するものであってもよい。
コンテンツアクセスキーは、暗号化済みコンテンツ上のヘッダから取得される場合もあれば、別の場所から取得される場合もある。
結果として得られるプログラマブルハードウェアの構成は、その構成によって決定される復号化アルゴリズムに従ってデータを操作するロジックである。
【００５５】
第１の構成のプログラマブルハードウェアを使用して、コンテンツ識別キーおよびコピー権情報が取得される（９１０）。
コンテンツ識別キーは、コンテンツ識別キーが見つかるまで、構成されたハードウェアに暗号化済みコンテンツの一部を通すことによって取得することができる。
コピー権情報は、同様にして取得することができるか、または記憶媒体上の制限領域もしくは別の領域から取得することができる。
コピー権情報は、暗号化されている場合、第１の構成のプログラマブルハードウェアにコピー権情報を通すことによって復号化することができる。
代替の実施形態は、コピー権情報を含まなくてもよい。
【００５６】
次に、コンテンツ識別キーがユーザ識別キーと比較される（９１５）。
ユーザ識別キーは、ユーザがアクセス不可能な記憶媒体上の領域等、制限領域から取得することができる。
キーが一致しない場合（９２０）、コピーが許可されていないと判断される（９２５）。
【００５７】
キーが一致する場合、別のチェックを行って、コピー権によりコピーが許可されるか否かを判断することができる（９３０）。
９１０において取得されたコピー権情報が読み出され、どのコピー権が暗号化済みコンテンツに関連するか判断される。
コピー権は、無制限のコピー権利を認める、設定回数のみのコピーを認める、またはコピーをまったく認めない場合がある。
他のコピー権情報を含むこともできる。
たとえば、コピー権情報は、許可を受けたコピーに認めるべきコピー権を含むことができる。
こういった権利は、オリジナルコンテンツのコピー権と同じであっても、または別であってもよい。
コピー権情報を含まない代替の実施形態では、キーが一致する場合、コピーが許可されていると判断することができることを理解されたい。
【００５８】
コピー権によりコピーが許可されない場合、コピーが許可されてないと判断される（９２５）。
コピー権により無制限のコピーが許可される場合（９３５）、コピーが許可されていると判断される。
【００５９】
コピー権により設定回数のみのコピーが許可されている場合、コピー履歴が読み取られる（９４０）。
コピー履歴は、記憶媒体上の制限領域または他の場所から読み取ることができる。
コピー履歴は、行われたコピー回数の履歴およびこれらコピーが行われた日付を含むことができる。
コピー履歴は、暗号化されている場合、第１の構成のプログラマブルハードウェアにコピー履歴を通すことによって復号化することができる。
【００６０】
一実施形態においては、コピー権によって許可されているコピー回数が行われたコピー回数未満の場合（９４５）、コピーが許可されると判断される。
その他の場合、許可を受けたコピー回数分コピーが行われ、それ以上のコピーは許可されない（９２５）。
コピーが許可される場合、新しくコピーを行ったことに関連する情報を記録するように、コピープロセスのある時点でコピー履歴を更新することができる。
【００６１】
図８に戻り、コピーが許可されていないと判断される場合、データコピー要求が拒絶される（８２５）。
その他の場合、コンテンツは復号化される（８２０）。
コンテンツは、図７を参照して説明したプロセスと同様のプロセスで復号化することができ、ディスクドライブまたは記録可能ＣＤドライブ等、ソース装置に関連するプログラマブルデバイスによって行うことができる。
【００６２】
コンテンツが復号化された後、あるいは復号化プロセスの一環として、コンテンツに関連するコンテンツ識別キーが除去される（８３０）。
コンテンツのコピーに使用すべき新しい識別キーを受け取る（８３５）。
この新識別キーは、ターゲット装置によって生成してもよく、また５１０、５１５、５２０、および５２５に説明したプロセスと同様のプロセスで受け取ってもよい。
【００６３】
次に、プログラマブルデバイスは、暗号化アルゴリズムを使用してプログラマブルハードウェアを構成するキーを使用して、第２の構成で構成される（８４０）。
このキーは、コンテンツとともに格納されても、キーライブラリから取得しても、または別の場所から取得してもよい。
第２の構成のプログラマブルハードウェアを使用して、コンテンツが暗号化される（８４５）。
新識別キーは、コンテンツが暗号化される前に、あるいは暗号化プロセスの一環として、コンテンツに添付されるか、またはコンテンツの１つまたは複数の場所に挿入される。
コピーに関連するコピー権情報もコンテンツとともに暗号化することができる。
代替として、コピーのコピー権情報は、暗号化されていない形でコンテンツに添付してもよい。
【００６４】
次に、暗号化済みコンテンツが、コピー媒体にコピーするターゲット装置に送られる（８５０）。
コンテンツアクセスキーおよび他の任意のキーまたは情報を含むヘッダを、暗号化済みコンテンツとともに送ることができる。
さらに、コンテンツは、第２の階層の暗号化を使用してターゲット装置に送ることができる。
ターゲット装置は、図４に説明したプロセスと同様のプロセスを使用して、コンテンツを媒体に書き込む前に外層の暗号化を除去することができる。
コピー権情報がコンテンツの一部として暗号化されていない場合、ターゲット装置は、暗号化済みコンテンツを媒体にコピーする前、コピーしている間、またはコピーした後に、コピー権情報をコピー媒体の資源エリアに書き込むことができる。
【００６５】
代替の実施形態が上に述べたコピープロセスに対する変形を含み得ることを理解されたい。
たとえば、オリジナルコンテンツを復号化せず、識別キーを除去しなくてもよい。
その代わりに、コピーはオリジナルコンテンツと同じ識別キーを使用することができる。
そして、オリジナルコンテンツの識別キーをターゲット装置に送り、コピーされたコンテンツにアクセスできるように、コピー媒体の制限領域に書き込むことができる。
セキュリティ目的のために、コンテンツ識別キーは、ターゲット装置に送られる前に、第２階層の暗号化で暗号化済みコンテンツとともに暗号化することができる。
【００６６】
図１０は、コンテンツへのアクセス規制に使用し得るプロセス１０００を示す。
コンテンツへのアクセスを要求している装置に関連するプログラマブルハードウェアが、コンテンツアクセスキーを使用して構成される（１００５）。
コンテンツアクセスキーは、暗号化済みコンテンツへのヘッダとして格納しても、または別の場所に格納してもよい。
【００６７】
次に、コンテンツに関連するアクセス権および識別キーが取得される（１０１０）。
例として、コンテンツ識別キーは、プログラマブルデバイスにコンテンツの一部を通すことによって取得することができる。
アクセス権も同様に取得しても、または制限領域から読み取ってもよい。
アクセス権が暗号化された形式で制限領域に格納されている場合、プログラマブルデバイスを使用してアクセス権を復号化することができる。
アクセス権は、コンテンツにアクセスすることができる許容回数、コンテンツを閲覧またはアクセスすることができる許容時間期間、コンテンツを閲覧可能な総経過閲覧時間、および／またはコンテンツにアクセスする満了日を含むことができる。
他のアクセス権も含むことができる。
【００６８】
次に、コンテンツ識別キーがユーザ識別キーと比較される（１０１５）。
ユーザ識別キーは、ユーザがアクセス不可能な記憶媒体上の領域等、制限領域から取得することができる。
キーが一致しない場合（１０２０）、コンテンツへのアクセスは拒絶される（１０２５）。
【００６９】
キーが一致する場合（１０２０）、アクセス履歴が読み取られる（１０３０）。
アクセス履歴は、コンテンツを含む記憶媒体上の制限領域または他の場所から読み取ることができる。
アクセス履歴が暗号化されている場合、構成されたプログラマブルハードウェアに通すことによって復号化することができる。
アクセス権が満了日からなる実施形態においては、アクセス履歴は、満了日にまだ達していないと判断された後に読み出されても、または読み出されなくてもよい。
【００７０】
アクセス権を越えていないと判断される（１０３５）。
一実施形態においては、アクセス権は、許可を受けたアクセスの総回数を含む。
コンテンツにアクセスした回数が許可を受けたアクセス回数未満であるという情報をアクセス履歴が含む場合、他のアクセス権を越えていない限りコンテンツへのアクセスは許可される（１０４０）。
アクセス履歴情報に、許可を受けた回数分、コンテンツにアクセスしてしまっていることが示されている場合、コンテンツへのアクセスは拒絶される（１０２５）。
閲覧者がコンテンツを閲覧可能である、総経過閲覧時間からなる場合、同様のチェックが行われる。
【００７１】
一実施形態においては、アクセス権は、他のアクセス権に加えて、または他のアクセス権の代わりに満了日からなり得る。
満了日は、全体的な日付であっても、またはコンテンツが取得された日付に相対的な日付であってもよい。
この実施形態においては、満了日は、コンテンツにアクセスしている装置に関連する日付コードと比較することができる。
満了日を過ぎている場合、コンテンツへのアクセスは拒絶される（１０２５）。
さらなるセキュリティのために、日付コードは、プログラマブルハードウェアの一部であり得る不揮発性時計回路によって生成することができる。
電力が時計回路から除去された場合、この回路は、すべての日付符号化コンテンツをアクセス不可能にする状態にリセットすることができる。
【００７２】
上に述べたもの以外のアクセス権も考慮される。
アクセス権を越えてしまっているか否かについての判断は、解析すべきアクセス権に応じて変化し得る。
いくつかの実施形態においては、アクセス権を越えてしまっている場合、コンテンツを破壊することができる。
これは、コンテンツのいくらかまたはすべてを上書きすることによって実現し得る。
コンテンツへのアクセスが許可される場合、新しいアクセスを反映するようにアクセス履歴を更新することができる。
アクセス履歴を更新する前に、ユーザの行動を監視して、ユーザがコンテンツを閲覧した総経過閲覧時間を求めることができる。
【００７３】
アクセス権を格納し取得することができる多くの方法があることを理解されたい。
一実施形態においては、アクセス権は更新可能であり得る。
アクセス識別キーを使用してアクセス権を暗号化することにより、さらなるセキュリティを提供することが可能である。
図３および図５に説明したプロセスと同様のプロセスを使用して、新しい、または更新されたアクセス権を送受信することが可能である。
更新されたアクセス権は、当初受け取ったアクセス権とは別のアクセス識別キーを使用して暗号化することが可能である。
新しい、または更新されたアクセス権、およびアクセス権に関連する識別キーを、アクセスすべきコンテンツを含む同じ記憶媒体上の制限領域に書き込むことが可能である。
【図面の簡単な説明】
【００７４】
【図１】コンテンツプロバイダおよびコンテンツカスタマの例示的な構成を示すブロック図である。
【図２】図１に示すプログラマブルハードウェアの例示的な実施形態を示す。
【図３】図１のコンテンツカスタマによって使用され得る、コンテンツを受け取る例示的な方法を示す流れ図である。
【図４】図３に示す方法によって受け取ることができるコンテンツの格納を示す流れ図である。
【図５】図１のコンテンツプロバイダによって使用され得る暗号化済みコンテンツを転送する例示的な方法を示す。
【図６】一実施形態による暗号化済みコンテンツを有する媒体を作成する方法を示す。
【図７】暗号化済みコンテンツにアクセスする例示的なプロセスを示す流れ図である。
【図８】一実施形態による暗号化済みコンテンツをコピーするプロセスを示す流れ図である。
【図９】図８のコピープロセスにおいて使用し得る、許容コピー権を判断する例示的な方法を示す。
【図１０】例示的なアクセス規制プロセスを示す。
【符号の説明】
【００７５】
１００・・・コンテンツプロバイダ、
１２０・・・プログラマブルハードウェア、
１３０・・・コンテンツライブラリ、
１３５・・・キーライブラリ、
１５０・・・コンテンツカスタマ、
１７０・・・プログラマブルハードウェア、
１８０・・・キージェネレータ、
１８５・・・記憶媒体、
２００・・・フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、
２０５・・・構成入力、
２１０・・・再構成不可能メモリ、
２１５・・・データ入力、
２２０・・・構成可能要素、
２２５・・・データ出力、
２３０・・・キージェネレータ、
【図１】
2005006302.tif 000003
【図２】
2005006302.tif 000004
【図３】
2005006302.tif 000005
【図４】
2005006302.tif 000006
【図５】
2005006302.tif 000007
【図６】
2005006302.tif 000008
【図７】
2005006302.tif 000009
【図８】
2005006302.tif 000010
【図９】
2005006302.tif 000011
【図１０】
2005006302.tif 000012