(57)【特許請求の範囲】
【請求項１】
ビデオソース機器からビデオシンク機器にマルチフレーム・ビデオコンテンツを送信するために該ビデオソース機器によって実行される方法において、
前記ビデオシンク機器にマルチフレーム・ビデオコンテンツを送信する伝送セッション毎にセッションキーを生成するステップと、
該セッションキーと乱数とを用いて、前記マルチフレーム・ビデオコンテンツのビデオ・フレームに関するフレームキーを生成するステップと、
該ビデオ・フレームを該生成したフレームキーを用いて暗号化するステップと、
を含んでおり、
前記フレームキーは、前記マルチフレーム・ビデオコンテンツの水平帰線消去期間において前記乱数を変更することによって該水平帰線消去期間に修正される
ことを特徴とする方法。
【請求項２】
ビデオソース機器からビデオシンク機器にマルチフレーム・ビデオコンテンツを送信するために該ビデオソース機器によって実行される方法において、
マルチフレーム・ビデオコンテンツの伝送セッション毎に生成されたセッションキーと乱数とを用いて、マルチフレーム・ビデオコンテンツの各ビデオ・フレームに関するフレームキーを生成するステップと、
前記ビデオ・フレームのビデオコンテンツを暗号化するために使用する疑似ランダムビット列を、前記フレームキーを用いて生成するステップと、
を含んでおり、
前記フレームキーは、前記マルチフレーム・ビデオコンテンツの水平帰線消去期間において前記乱数を変更することによって該水平帰線消去期間に修正される
ことを特徴とする方法。
【請求項３】
ビデオシンク機器にマルチフレーム・ビデオコンテンツを送信する伝送セッション毎にセッションキーを生成し、かつ該セッションキーと乱数とを用いて、該マルチフレーム・ビデオコンテンツのビデオ・フレームに関するフレームキーを生成するブロック暗号器と、
該ブロック暗号器に接続されていて、該マルチフレーム・ビデオコンテンツのビデオ・フレームを送信のために暗号化するための疑似ランダムビット列を、前記ビデオ・フレームに関するフレームキーを用いて生成するストリーム暗号器とを備え、
前記フレームキーは、前記マルチフレーム・ビデオコンテンツの水平帰線消去期間において前記乱数を変更することによって該水平帰線消去期間に修正される
ことを特徴とするビデオソース機器。
【請求項４】
ビデオソース機器からマルチフレーム・ビデオコンテンツを受信するビデオシンク機器によって実行される方法において、
受信セッション毎に該受信セッションの間のみ有効なセッションキーを生成するステップと、
前記セッションキーと乱数とを用いて、前記マルチフレーム・ビデオコンテンツのビデオ・フレームに関するフレームキーを生成するステップと、
前記ビデオ・フレームを、前記フレームキーを解読キーとして用いて解読することにより該マルチフレーム・ビデオコンテンツを再生するステップと、
を含んでおり、
前記フレームキーは、前記マルチフレーム・ビデオコンテンツの水平帰線消去期間において前記乱数を変更することによって該水平帰線消去期間に修正される
ことを特徴とする方法。
【請求項５】
ビデオソース機器からマルチフレーム・ビデオコンテンツを受信するビデオシンク機器によって実行される方法において、
前記ビデオソース機器からのマルチフレーム・ビデオコンテンツの伝送セッション毎に生成されたセッションキーと乱数とに基づいて、該マルチフレーム・ビデオコンテンツのビデオ・フレームに関するフレームキーを生成するステップと、
前記ビデオ・フレームのビデオコンテンツを解読するために使用する疑似ランダムビット列を、前記ビデオ・フレームに対応するフレームキーを用いて生成するステップと、
を含んでおり、
前記フレームキーは、前記マルチフレーム・ビデオコンテンツの水平帰線消去期間において前記乱数を変更することによって該水平帰線消去期間に修正される
ことを特徴とする方法。
【請求項６】
ビデオソース機器からマルチフレーム・ビデオコンテンツを受信する受信セッション毎にセッションキーを生成し、かつ該セッションキーと乱数とを用いて、該マルチフレーム・ビデオコンテンツのビデオ・フレームに関するフレームキーを生成するブロック解読器と、
該ブロック解読器に接続されていて、該マルチフレーム・ビデオコンテンツのビデオ・フレームを解読するための疑似ランダムビット列を、前記ビデオ・フレームに関するフレームキーを用いて生成するストリーム解読器とを備え、
前記フレームキーは、前記マルチフレーム・ビデオコンテンツの水平帰線消去期間において前記乱数を変更することによって該水平帰線消去期間に修正される
ことを特徴とするビデオシンク機器。
【発明の詳細な説明】
【０００１】
（発明の背景）
（１．発明の分野）
本発明は、コンテンツ保護の分野に関する。より詳細には、本発明は、ビデオ・ソース・デバイスからビデオ・シンク・デバイスへの確実な伝送を容易にするために、デジタル・ビデオ・コンテンツの保護を提供することを対象とする。
【０００２】
（２．背景情報）
一般に、娯楽、教育、芸術など（以下、集合的に「コンテンツ」と呼ぶ）をデジタル形式でパッケージ化すると、アナログ形式のものよりも高いオーディオおよびビデオの品質が得られる。ただし、特に娯楽業界のコンテンツ製作者は、依然としてデジタル形式を完全に採用することを嫌う。その一番の理由は、デジタル化されたコンテンツが特に著作権侵害されやすいことである。一般に、コピーを繰り返すたびにある程度の品質低下が生じるアナログ形式とは違い、盗用されたデジタル・コンテンツのコピーは、事実上「ゴールド・マスタ」と同じ品質である。その結果、業界では、デジタル・コンテンツの配信およびレンダリングを保護する技法の開発および採用に、多大な努力を費やしてきた。
【０００３】
歴史的には、ビデオ・ソース・デバイス（パーソナル・コンピュータなど）とビデオ・シンク・デバイス（モニタなど）との間の通信インターフェースは、アナログ・インターフェースである。したがって、ソース・デバイスとシンク・デバイスとの間での伝送を保護することには、ほとんど焦点が当てられてこなかった。集積回路や他の関連技術の進歩に伴って、ビデオ・ソース・デバイスとシンク・デバイスとの間に新しいタイプのデジタル・インターフェースが出現してきた。この種の新しいデジタル・インターフェースが使用できるようになり、デジタル・ビデオ・コンテンツを保護するという、さらに新しい課題が生じた。一般に、多くの暗号技術が知られているが、データ量、そのストリーミング性、ビット・レートなどの動作特性、ならびに典型的にはシンク・デバイスではなくソース・デバイス内のインテリジェンスの場所などは、新しい斬新な対策を必要とする１組の固有の課題を与えている。
【０００４】
（発明の概要）
マルチフレーム・ビデオ・コンテンツがビデオ・シンク・デバイスに伝送される伝送セッションごとに、ビデオ・ソース・デバイスによってセッション鍵が生成される。次にビデオ・ソース・デバイスは、ビデオ・シンク・デバイスに伝送するマルチフレーム・ビデオ・コンテンツの対応するフレームの暗号化を容易にするために、少なくともこのセッション鍵を使用して、いくつかの連続するフレーム鍵を生成する。
【０００５】
本発明について、添付の図面に示された限定的でなく例示的な実施形態によって説明するが、この図面では同じ参照番号が同じ要素を表している。
【０００６】
（発明の詳細な説明）
以下の説明では、本発明の様々な態様について説明し、本発明が完全に理解できるように様々な詳細について記載する。ただし、当分野の技術者であれば、本発明が本発明の一部のみまたはすべてを使用して実施可能であり、本発明が特定の細部なしに実施可能であることが明らかであろう。その他の場合には、本発明を不明瞭にしないために、よく知られた特徴は省略または簡略化される。
【０００７】
様々なオペレーションを、本発明を理解するうえで最も役立つ方法で順番に実行された複数の個別のステップとして記載する。ただし、記載順序は、これらのオペレーションが提示された順序で実行する必要がある、すなわち順序に依存していることを意味するものと解釈すべきではない。最後に、繰り返し使用される「一実施形態では」という句は、同じ実施形態を示す場合もあるが、同じものである必要はない。
【０００８】
次に図１を参照すると、一実施形態により、本発明の概要を例示した構成図が示されている。図に示されたように、ビデオ・ソース・デバイス１０２とビデオ・シンク・デバイス１０４が、デジタル・ビデオ・リンク１０６によって互いに結合されている。ビデオ・ソース・デバイス１０２は、デジタル・ビデオ・リンク１０６を介して、ビデオ・シンク・デバイス１０４にビデオ・コンテンツを提供する。本発明によれば、ビデオ・ソース・デバイス１０２およびビデオ・シンク・デバイス１０４は、対称暗号化／解読プロセスを共同して実施できるようになっている。その結果、より堅固に暗号化されたデジタル形式のビデオ・コンテンツを、ビデオ・リンク１０６を介してビデオ・ソース・デバイス１０２からビデオ・シンク・デバイス１０４に提供することができ、伝送中にビデオ・コンテンツを盗用するのがより困難になる。
【０００９】
以下でより詳細に説明するために本明細書に組み込まれた教示を除き、ビデオ・ソース・デバイス１０２およびビデオ・シンク・デバイス１０４は、どちらも当分野で知られた広範囲にわたるこうしたデバイスを表すように意図されている。ビデオ・ソース・デバイスには、すべてのサイズ（手のひらサイズのデバイスからデスクトップおよびそれ以上のデバイス）のコンピュータ、セットアップ・ボックス、またはＤＶＤプレーヤが含まれるが、これらに限定されることはなく、ビデオ・シンク・デバイスには、ＣＲＴモニタ、フラット・パネル・ディスプレイ、またはテレビ受像機が含まれるが、これらに限定されることはない。デジタル・ビデオ・リンク１０６は、動作要件（すなわち、速度、ビット・レートなど）に合致しており、ビデオ・ソース・デバイス１０２とビデオ・シンク・デバイス１０４（以下、簡単にそれぞれソース・デバイスおよびシンク・デバイスと呼ぶ）との間で制御情報が交換できるようにメカニズムが（ハードウェア内にあるかまたはプロトコルを介して）提供される限り、いくつかの機械的および電気的形式のうちいずれか１つで実施することができる。
【００１０】
図２は、一実施形態により、ソース・デバイスからシンク・デバイスにビデオ・コンテンツを提供するための、対称暗号化／解読プロセス・ベースの方法を示す図である。この実施形態では、ソース・デバイス１０２およびシンク・デバイス１０４それぞれには、認証局によって秘密鍵のアレイと相補的な識別子が与えられていると仮定する。図に示されたように、電源を投入するかまたはリセットすると、ソース・デバイス１０２は、第１に、対称暗号化／解読プロセスの基本値をシンク・デバイス１０４に提供する（ブロック２０２）。例示した実施形態では、基本値は乱数（Ａｎ）である。Ａｎは、当分野で知られたいくつかの技法のうちのいずれか１つによって生成することができる。さらに、ソース・デバイス１０２は、シンク・デバイス１０４にそれ自体の識別子（Ａｋ）も提供する（ブロック２０２）。これに応答して、シンク・デバイス１０４はそれ自体の識別子（Ｂｋ）とともに答える（ブロック２０３）。上記の情報を交換すると、ソース・デバイス１０２およびシンク・デバイス１０４は、ＡｋおよびＢｋを使用して認証鍵（Ｋｍ）のコピーをそれぞれ独自で生成する（ブロック２０４および２０５）。例示した実施形態では、ソース・デバイス１０２は、Ｂｋで索引付けされた提供されたアレイの秘密鍵を合計することによってＫｍのコピーを生成し、シンク・デバイス１０４は、Ａｋで索引付けされて提供されたアレイの秘密鍵を合計することによってＫｍのコピーを生成する。この時点で、ソース・デバイス１０２およびシンク・デバイス１０４がどちらも認可デバイスであれば、双方が共通の秘密認証鍵Ｋｍを所有し、共用する。
【００１１】
一実施形態では、ソース・デバイス１０２およびシンク・デバイス１０４には、認証局によってそれぞれ４０の５６ビット秘密鍵アレイが事前に提供されている。Ａｎは６４ビットの乱数であり、Ｋｍは５６ビット長である。前述の認証プロセスに関する詳細は、発明者ならびに譲受人が本出願と共通である、１９９９年３月２４日付け出願の「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  ｔｈｅ  Ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｋｅｙ」という名称の同時係属の米国特許出願第０９／２７５７２２号を参照されたい。
【００１２】
シンク・デバイス１０４が認証を受けていると、ソース・デバイス１０２は、シンク・デバイス１０４にビデオ・コンテンツを伝送する前に、ビデオ・コンテンツを暗号形式に暗号化する。ソース・デバイス１０２は、対称暗号化／解読プロセスを使用し、乱数（Ａｎ）ならびに独自に生成された認証鍵（Ｋｍ）を使用して、ビデオ・コンテンツを暗号化する（ブロック２０６）。暗号形式のビデオ・コンテンツを受け取ると、シンク・デバイス１０４は、同じ対称暗号化／解読プロセスを使用し、提供されたＡｎならびに独自に生成されたＫｍのコピーを使用して、暗号化されたビデオ・コンテンツを解読する（ブロック２０７）。
【００１３】
本発明によれば、ビデオ・コンテンツの暗号化に不可欠な部分として、ソース・デバイス１０２は検証基準値のセットを所定の方法で導出する（ブロック２０８）。同様に、ビデオ・コンテンツの対称解読に不可欠な部分として、シンク・デバイス１０４も、検証値のセットを所定の方法で導出し、これらの導出された検証値をソース・デバイス１０２に伝送する（ブロック２０９）。これらそれぞれの検証値を受け取ると、ソース・デバイス１０２は、受け取った検証値を対応する検証基準値の１つと照らし合わせ、暗号化されたビデオ・コンテンツが本当にシンク・デバイス１０４によって正しく解読されているかどうかを判定および確認する（ブロック２１０）。
【００１４】
例示した実施形態では、ソース・デバイス１０２およびシンク・デバイス１０４は、どちらも検証基準値および検証値を連続して生成するが、検証値は、シンク・デバイス１０４からソース・デバイス１０２に対して所定の間隔で定期的に提供されてもよい。
【００１５】
一実施形態では、検証基準値および検証値はすべて６４ビット長であり、シンク・デバイス１０４は、初期時およびその後６４フレームごとに検証値をソース・デバイス１０２に提供する。
【００１６】
図３ａ〜３ｂは、一実施形態により、対称暗号化／解読プロセスを詳細に示す図である。この実施形態では、ビデオ・コンテンツはマルチフレーム・ビデオ・コンテンツであり、それぞれのフレームが複数ラインのビデオ・コンテンツを有するものと仮定する。フレームの２つのラインの間は、一般に水平帰線期間すなわち水平帰線消去期間（ＨＢＩ）と呼ばれる、シンク・デバイスがそれ自体水平に「戻る」期間である。同様に、２つのフレームの間は、一般に垂直帰線期間または垂直帰線消去期間（ＶＢＩ）と呼ばれる、シンク・デバイスがそれ自体を垂直に「戻る」期間である。
【００１７】
ソース・デバイス１０２は、第１に、伝送セッション用のセッション鍵（Ｋｓ）を生成する（ブロック３０２）。例示した実施形態では、Ｋｓは、認証鍵Ｋｍをブロック暗号鍵として使用し、Ｃ１クロックを適用して、前述の乱数Ａｎのブロック暗号化によって生成される。伝送セッションの持続時間は適用例によって異なる。これは典型的には、ビデオ・コンテンツの普通の境界設定に対応しており、たとえば、１本の映画の伝送を１伝送セッションで構成するか、または連続ホーム・コメディの１話の伝送を１伝送セッションで構成することができる。
【００１８】
セッション鍵Ｋｓを生成すると、ソース・デバイス１０２は第２の乱数の初期バージョン（Ｍ０）を生成する（ブロック３０４）。例示した実施形態では、ソース・デバイス１０２は第１に、前述の乱数Ａｎおよびセッション鍵Ｋｓによるストリーム暗号を（他の入力乱数として、およびストリーム暗号鍵としての２つの役割で）使用し、Ｃ２クロックを適用して、擬似ランダム・ビット・シーケンスを（クロックあたりｐビットで）生成する。ソース・デバイス１０２は、ビット・シーケンスが生成されるときに、擬似ランダム・ビット・シーケンスからＭ０を導出する。
【００１９】
次に、ソース・デバイス１０２は、次のフレーム用のフレーム鍵（Ｋｉ）を生成する（ブロック３０６）。例示した実施形態では、Ｋｉは、セッション鍵Ｋｓをブロック暗号鍵として使用し、Ｃ３クロックを適用して、第２の乱数の直前バージョンＭｉ−１をブロック暗号化することで生成される。すなわち、第１のフレーム、フレーム１では、フレーム鍵Ｋ１は、Ｋｓを使用し、Ｃ３クロックを適用して、前述の第２の乱数Ｍ０の初期バージョンをブロック暗号化することで生成される。さらに、このオペレーションは、その後も垂直帰線消去期間ごとに、次のフレーム、フレーム２、フレーム３と繰り返される。
【００２０】
フレーム鍵Ｋｉを生成すると、ソース・デバイス１０２は、第２の乱数の現在のバージョン（Ｍｉ）を生成する（ブロック３０２）。例示した実施形態では、ソース・デバイス１０２は第１に、第２の乱数の前のバージョンＭｉ−１およびフレーム鍵Ｋｉによるストリーム暗号を（他の入力乱数として、およびストリーム暗号鍵としての２つの役割で）使用し、Ｃ４クロックを適用して、擬似ランダム・ビット・シーケンスを（クロックあたりｐビットで）生成する。ソース・デバイス１０２は、ビット・シーケンスが生成されるときに、擬似ランダム・ビット・シーケンスからＭｉを導出する。
【００２１】
第２の乱数の現在のバージョンＭｉを生成すると、ソース・デバイス１０２はフレームを暗号化するために、擬似ランダム・ビット・シーケンスを（クロックあたりｐビットで）再度生成する（ブロック３０８）。例示した実施形態では、ソース・デバイス１０２は、第２の乱数の直前バージョンＭｉ−１およびフレーム鍵Ｋｉによるストリーム暗号を（他の入力乱数として、およびストリーム暗号鍵としての２つの役割で）使用し、Ｃ５クロック・サイクルを適用して、擬似ランダム・ビット・シーケンスを生成する。ビデオ・コンテンツは、ビデオ・ストリームおよび擬似ランダム・ビット・シーケンスで排他的論理和（ＸＯＲ）オペレーションを実行することによって暗号化される。擬似ランダム・ビット・シーケンスは、クロックあたりのＲＧＢ信号のピクセルを暗号化するのに十分なレートで生成されるのが好ましい。したがって、Ｃ５は、ピクセルあたりのビット数に、線あたりのピクセル数、ならびにフレームあたりの線数を掛けた数に等しい。
【００２２】
例示した実施形態では、擬似ランダム・ビット・シーケンスを生成する間に、ＭｉおよびＫｉを連続して変換するストリーム暗号が使用される。さらに、フレームの水平帰線消去期間でＫｉの現在の状態を連続的に修正することにより、擬似ランダム・ビット・シーケンスの不確定性を増加させることで、暗号化されたビデオ・コンテンツの堅固さがより強くなる（ブロック３１０）。
【００２３】
シンク・デバイス１０４でも同じ方法で、伝送セッション用のセッション鍵（Ｋｓ）を第１に生成する（ブロック３１２）。セッション鍵Ｋｓを生成すると、シンク・デバイス１０４は、第２の乱数の初期バージョン（Ｍ０）を生成する（ブロック３１４）。次にシンク・デバイス１０４は、次のフレーム用のフレーム鍵（Ｋｉ）および第２の乱数（Ｍｉ）を生成する（ブロック３１６）。このオペレーションは、その次のフレームでも、垂直帰線消去間隔ごとに引き続き同様に繰り返される。その間に、フレーム鍵ＫｉおよびＭｉをそれぞれ生成した後、シンク・デバイス１０４は、フレームを解読するために対応する擬似ランダム・ビット・シーケンスを生成する（ブロック３１８）。暗号化されたビデオ・コンテンツは、ビデオ・ストリームおよび対応する擬似ランダム・ビット・シーケンスで、排他的論理和（ＸＯＲ）オペレーションを実行することによって解読される。シンク・デバイス１０４は、擬似ランダム・ビット・シーケンスを生成する間に、連続的にＭｉおよびＫｉを変換するストリーム暗号も使用する。さらに、Ｋｉはフレームの水平帰線消去期間で連続して修正される（ブロック３２０）。Ｋｉ、擬似ランダム・ビット・シーケンス、およびＭｉは、ソース・デバイス１０２について前述したように、対称的に生成される。
【００２４】
一実施形態では、Ｋｓおよび各Ｋｉは、どちらも８４ビット長である。Ｃ１およびＣ３はどちらも４８クロック長である。各ピクセルは２４ビットであり、擬似ランダム・ビット・シーケンスは、クロックあたり２４ビットで生成される。各Ｍｉは６４ビット長、Ｃ３およびＣ４は５６クロック長である。６４ビットの各Ｍｉは、最後の４クロックそれぞれから「低位の」１６ビット・ストリーム暗号出力を連結することによって形成される。
【００２５】
したがって、ビデオ・コンテンツは、著作権侵害の危険性が少ない状態でリンク１０６を介して堅固さが高められた暗号化形式でソース・デバイス１０２からシンク・デバイス１０４へ伝送できるので有利である。
【００２６】
図４は、一実施形態により、図１のビデオ・ソース・デバイスおよびシンク・デバイスをより詳細に示す図である。図に示されるように、ビデオ・ソース・デバイス１０２およびシンク・デバイス１０４には、リンク１０６の両端に配置されたインターフェース１０８ａおよび１０８ｂが含まれる。インターフェース１０８ａおよび１０８ｂに、それぞれ、前述のように本発明のビデオ・コンテンツを保護する方法を実施するために、本発明の暗号１１０およびＸＯＲ１１２を設けるのが望ましい。さらに、説明しやすいように、インターフェース１０８ａには別の乱数発生器１１４も備えられているように図示してある。前にも述べたように、ビデオ・ソース・デバイス１０２およびシンク・デバイス１０４は、インターフェース１０８ａおよび１０８ｂを除き、その他の点では当分野で知られた広範なカテゴリを表すことが意図されている。
【００２７】
乱数発生器１１４は、前述の乱数Ａｎを生成する際に使用される。乱数発生器１１４は、ハードウェアまたはソフトウェアにおいて、当分野で知られたいくつかの技法のうちのいずれか１つで実施することができる。代替の実施形態では、当分野の技術者であれば、以下の説明から、Ａｎを生成する際に別々の乱数発生器を使用せずに暗号１１０を使用することもできることが明らかであろう。
【００２８】
暗号１１０は、ブロック・モード・オペレーションまたはストリーム・モード・オペレーションのいずれかで動作可能な、新規な組み合わされたブロック／ストリーム暗号である。本発明のビデオ・コンテンツ保護方法を実施する際に暗号１１０が使用されるが、前述のセッション鍵Ｋｓおよびフレーム鍵Ｋｉを生成する場合にはブロック・モードで使用され、様々なフレーム（およびそれらがそれぞれのビット・シーケンスから導出される場合は間接的にＭｉ）用の擬似ランダム・ビット・シーケンスを生成する場合にはストリーム・モードで使用される。
【００２９】
ソース・デバイス１０２では、ビデオ・コンテンツを暗号化し、これを、インターフェース１０８ａの暗号１１０によって生成された擬似ランダム・ビット・シーケンスと組み合わせる際に、ＸＯＲ  １１２が使用される。シンク・デバイス１０４では、暗号化されたビデオ・コンテンツを解読し、これを、インターフェース１０８ｂの暗号１１０によって生成された擬似ランダム・ビット・シーケンスと組み合わせる際に、ＸＯＲ  １１２が使用される。
【００３０】
図５は、一実施形態により、図４の組み合わされたブロック／ストリーム暗号をより詳細に示す図である。図に示されるように、組み合わされたブロック／ストリーム暗号１１０には、ブロック鍵セクション５０２、データ・セクション５０４、ストリーム鍵セクション５０６、およびマッピング・セクション５０８が含まれ、互いに結合されている。ブロック鍵セクション５０２およびデータ・セクション５０４は、ブロック・モードならびにストリーム・モードの両方のオペレーションで使用されるが、ストリーム鍵セクション５０６およびマッピング・セクション５０８は、ストリーム・モード・オペレーションでのみ使用される。
【００３１】
簡単に言えば、ブロック・モードでは、ブロック鍵セクション５０２には、前述の認証鍵Ｋｍまたはセッション鍵Ｋｓなどのブロック暗号鍵が提供されるが、データ・セクション５０４には、前述の乱数Ａｎまたは導出された乱数Ｍｉ−１などの平文が提供される。「鍵再入力イネーブル」信号が「ディセーブル」に設定され、ブロック鍵セクション５０２がストリーム鍵セクション５０６から動作可能にデカップリングされる。各クロック・サイクル中に、ブロック暗号鍵ならびに平文が変換される。ブロック暗号鍵は独立して変換されるが、平文の変換はブロック暗号鍵で実行される変換に依存する。所望数のクロック・サイクル経過後、提供された平文は暗号化テキストに変換される。前述のビデオ・コンテンツ保護方法では、ブロック鍵セクション５０２にＫｍが提供され、データ・セクション５０４にＡｎが提供されると、暗号化されたＡｎが読み出されて、セッション鍵Ｋｓとして使用される。ブロック鍵セクション５０２にＫｓが提供され、データ・セクション５０４にＭｉ−１が提供されると、暗号化されたＭｉ−１が読み出されて、フレーム鍵Ｋｉとして使用される。
【００３２】
暗号化された平文を解読するには、前述と同じ方法でブロック鍵セクション５０２とデータ・セクション５０４を使用して中間「鍵」が生成され、離れた場所（格納場所は図示せず）に格納される。格納された中間「鍵」は、その後、予約された順序で暗号化されたテキストに適用され、その結果、暗号化されたテキストが元の平文に解読される。暗号化されたテキストを解読する他の方法については、ブロック鍵セクション５０２およびデータ・セクション５０４について、それぞれ一実施形態により図６〜７を参照しながら詳細に述べた後に説明する。
【００３３】
ストリーム・モードでは、ストリーム鍵セクション５０６に前述のセッション鍵Ｋｓまたはフレーム鍵Ｋｉなどのストリーム暗号鍵が提供される。ブロック鍵セクション５０２およびデータ・セクション５０４には、前述のセッション／フレーム鍵Ｋｓ／Ｋｉおよび導出された乱数Ｍｉ−１などの乱数が提供される。「鍵再入力イネーブル」信号が「ディセーブル」に設定され、ブロック鍵セクション５０２がストリーム鍵セクション５０６に動作可能に結合される。ブロック鍵セクション５０２に格納された乱数の現在の状態を動的に修正するために、前述の水平帰線消去期間などの所定の期間で定期的にストリーム鍵セクション５０６を使用して、１つまたは複数のデータ・ビットを生成する。各クロック・サイクル中に、所定の期間の間、ブロック鍵セクション５０２に格納された乱数とデータ・セクション５０４の両方が変換される。ブロック鍵セクション５０２に提供された乱数は独立して変換されるが、データ・セクション５０４に提供された乱数の変換は、ブロック鍵セクション５０２で実行される変換に依存する。マッピング・ブロック５０６は、新しく変換された状態の２つの乱数からそれぞれサブセットを取り出し、これらを減らして１ビットの擬似ランダム・ビット・シーケンスを生成する。したがって、所望数のクロック・サイクルで、所望の長さの擬似ランダム・ビット・シーケンスが生成される。
【００３４】
例示した実施形態では、「鍵再入力イネーブル」信号の使用により、「鍵再入力イネーブル」信号（「ディセーブル」状態に設定されている）によって出力が有効に廃棄されるため、ブロック・モードの間もストリーム鍵セクション５０６は動作状態のままとすることが可能である。
【００３５】
図６は、一実施形態により、図５のブロック鍵セクションをより詳細に示す図である。図に示されるように、ブロック鍵セクション５０２にはレジスタ６０２ａ〜６０２ｃ、置換ボックス６０４、および線形変換ユニット６０６が含まれる。ブロック・モードでは、レジスタ６０２ａ〜６０２ｃが集合的に、認証鍵Ｋｍまたはセッション鍵Ｋｓなどのブロック暗号鍵に初期設定される。ストリーム・モードでは、レジスタ６０２ａ〜６０２ｃが集合的に、セッション鍵Ｋｓまたはフレーム鍵Ｋｉなどの乱数に初期設定される。各ラウンドで、置換ボックス６０４および線形変換ユニット６０６がレジスタ６０２ａ〜６０２ｃのコンテンツを修正する。より具体的に言えば、置換ボックス６０４はレジスタ６０２ａのコンテンツを受け取り、これを修正した後、置換されたコンテンツをレジスタ６０２ｃに格納する。同様に、線形変換ユニット６０６は、レジスタ６０２ｂおよび６０２ｃのコンテンツを受け取り、これらを線形変換した後、線形変換されたコンテンツをそれに対応してレジスタ６０２ａおよび６０２ｂに格納する。
【００３６】
置換ボックス６０４および線形変換ユニット６０６は、よく知られた暗号化原理に従って様々な方法で実施することができる。特有の一実施については、図７の説明の後でより詳細に説明する。
【００３７】
図７は、一実施形態により、図５のブロック・データ・セクションをより詳細に示す図である。例示した実施形態では、線形変換ユニット７０６がレジスタ７０２ｂ〜７０２ｃのコンテンツを変換する際にレジスタ６０２ｂのコンテンツも考慮に入れる点を除き、データ・セクション５０４がブロック鍵セクション５０２と同様に構築される。ブロック・モードでは、レジスタ７０２ａ〜７０２ｃが集合的に、前述の乱数Ａｎまたは導出された乱数Ｍｉ−１などのターゲットの平文で初期設定される。ストリーム・モードでは、レジスタ７０２ａ〜７０２ｃが集合的に、乱数で初期設定される。各ラウンドで、置換ボックス７０４および線形変換ユニット７０６は、前述の相違点を除き、ブロック鍵セクション５０２で前述したようにレジスタ７０２ａ〜７０２ｃのコンテンツを修正する。
【００３８】
さらにもう一度、置換ボックス６０４および線形変換ユニット６０６を、よく知られた暗号化原理に従って様々な方法で実施することができる。
【００３９】
前述の実施形態の一実施では、レジスタ６０２ａ、６０２ｂ、６０２ｃ、７０２ａ、７０２ｂ、７０２ｃは、それぞれ２８ビット幅である。［レジスタ６０２ａ〜６０２ｃまたは７０２ａ〜７０２ｃが、８４ビットより小さい鍵値または乱数で、集合的に初期設定される場合は必ず、８４ビットより小さい数は低位のビット位置に初期設定され、高位のビット位置にはゼロが埋め込まれる。］さらに、置換ボックス６０４または７０４の各セットは、４入力×４出力の置換ボックス７つで構成される。線形変換ユニット６０６または７０６は、（それぞれが７つの出力を生成する）８つの拡散ネットワークからの出力を組み合わせることによって、それぞれ５６の出力値を生成する。より具体的に言えば、置換ボックス６０４／７０４および線形変換ユニット６０６／７０６のオペレーションは、４つのテーブルに従って指定される。置換ボックス６０４／７０４の場合、ボックスＪへのＩ番目の入力は、レジスタ６０２ａ／７０２ａのビットＩ＊７＋Ｊであり、ボックスＪの出力Ｉは、レジスタ６０２ｃ／７０２ｃのビットＩ＊７＋Ｊへ進む。［ビット０は最下位ビットである。］各拡散ネットワーク（線形変換ユニット６０６ならびに７０６）では、入力は一般にＩ０〜Ｉ６と表示され、出力はＯ０〜Ｏ６と表示される。線形変換ユニット７０６の各拡散ネットワークに対する特別入力は、Ｋ０〜Ｋ６と表示される。
【表１】
0004170620.tif 000002
【表２】
0004170620.tif 000003
【表３】
0004170620.tif 000004
【表４】
0004170620.tif 000005
【００４０】
図５を再度参照すると、中間「鍵」を生成し、それを後ろ向きに適用することによって、暗号化されたテキストを解読できることに留意されたい。あるいは、逆の置換ボックス６０４／７０４および線形変換ユニット６０６／７０６が含まれるか、またはこれらが逆の方法で動作するように動的に再構成できる実施形態では、暗号化されたテキストを以下のように解読することができる。第１に、平文を暗号化する際に使用する暗号鍵がブロック鍵セクション５０２にロードされ、ブロック鍵セクション５０２がＲ−１ラウンドだけ先に進められることになり、すなわち、平文の暗号化に適用されたラウンド数（Ｒ）よりも１ラウンド短くなる。初期のＲ−１ラウンド終了後、暗号化されたテキストがデータ・セクション５０４にロードされ、ブロック鍵セクション５０２およびデータ・セクション５０４の両セクションは「後ろ向き」に動作するものであって、すなわち、置換ボックス６０４／７０４および線形変換ユニット６０６／７０６がそれぞれ逆の置換および線形変換を適用する。
【００４１】
図８ａ〜８ｃは、一実施形態により、図５のストリーム鍵セクションをより詳細に示す図である。図８ａに示されるように、ストリーム鍵セクション５０６には、いくつかの線形フィードバック・シフト・レジスタ（ＬＦＳＲ）８０２および結合器関数８０４が含まれ、図のように互いに結合されている。ＬＦＳＲ  ８０２は集合的に、たとえば前述のフレーム鍵Ｋｉなどのストリーム暗号鍵で初期設定される。オペレーション中には、ストリーム暗号鍵がＬＦＳＲ  ８０２を通って連続的にシフトされる。選択出力がＬＦＳＲ  ８０２から取り出され、結合器関数８０４を使用してこの選択出力が結合される。ストリーム・モード（このモードの下では、鍵再入力が可能である）では、結合された結果を使用して、ブロック鍵セクション５０２内でのブロック暗号鍵のその後の現在の状態が動的に修正される。
【００４２】
例示した実施形態では、長さの異なる４つのＬＦＳＲが使用される。３セットの出力が４つのＬＦＳＲから取り出される。ＬＦＳＲによって表される多項式および３セットのＬＦＳＲ出力のビット位置は、以下の表によって得られる。
【表５】
0004170620.tif 000006
【００４３】
結合された結果は、ＬＦＳＲ出力の第１および第２のセットをそれぞれ結合器関数８０２へのデータ入力および制御入力として使用して、ＬＦＳＲ出力の第３のセットから生成される。ＬＦＳＲ出力の第３のセットは、単一ビットに結合される。ストリーム・モード（このモードの下では、鍵再入力が可能である）では、結合された単一ビットを使用して、ブロック鍵セクション５０２でのブロック暗号鍵のその後の現在の状態の所定ビットを動的に修正する。
【００４４】
図８ｂは、一実施形態により、結合器関数８０４を詳細に示す図である。図に示されるように、結合器関数８０４にはシャッフル・ネットワーク８０６およびＸＯＲ  ８０８ａ〜８０８ｂが含まれ、これら相互とＬＦＳＲ  ８０２は図のように直列に結合される。例示した実施形態では、シャッフル・ネットワーク８０６には、相互に直列に結合された４つのバイナリ・シャッフル・ユニット８１０ａ〜８１０ｄが含まれ、最初と最後のバイナリ・シャッフル・ユニット８１０ａおよび８１０ｄは、それぞれＸＯＲ  ８０８ａおよび８０８ｂに結合される。ＸＯＲ  ８０８ａは、ＬＦＳＲ出力の第１のグループを取り、これらをシャッフル・ネットワーク８０６への単一のビット入力として結合する。バイナリ・シャッフル・ユニット８１０ａ〜８１０ｄは直列に伝播し、ＸＯＲ  ８０８ａの出力をシャッフルする。ＬＦＳＲ出力の第２のグループは、バイナリ・シャッフル・ユニット８１０ａ〜８１０ｄのうちの対応するところで、シャッフルを制御する際に使用される。ＸＯＲ  ８０８ｂは、ＬＦＳＲ出力の第３のセットと最後のバイナリ・シャッフル・ユニット８１０ｄの出力とを結合する。
【００４５】
図８ｃは、一実施形態により、１つのバイナリ・シャッフル・ユニット８１０＊（＊はａ〜ｄのうちの１つ）を詳細に示す図である。各バイナリ・シャッフル・ユニット８１０＊には、２つのフリップフロップ８１２ａおよび８１２ｂ、ならびにいくつかのセレクタ８１４ａ〜８１４ｃが含まれ、図のように互いに連結されている。フリップフロップ８１２ａおよび８１２ｂは、２つの状態値（Ａ、Ｂ）を格納するのに使用される。各セレクタ８１４ａ、８１４ｂ、または８１４ｃは、第２グループのＬＦＳＲ出力のうち対応する１つを制御信号として受け取る。セレクタ８１４ａ〜８１４ｂは、それぞれ、ＸＯＲ  ８０８ａの出力または直前のバイナリ・シャッフル・ユニット８１０＊も入力として受け取る。セレクタ８１４ａ〜８１４ｂは、格納された２つの状態値のうちの１つを出力し、格納された値を選択信号の状態に従ってシャッフルならびに修正するために、フリップフロップ８１２ａ〜８１２ｂに結合される。より具体的に言えば、例示した実施形態では、格納された状態値が（Ａ、Ｂ）であり、入力値および選択値が（Ｄ、Ｓ）である場合、バイナリ・シャッフル・ユニット８１０＊はＡを出力し、Ｓの値が「０」であれば（Ｂ、Ｄ）を格納する。バイナリ・シャッフル・ユニット８１０＊は、Ｓの値が「１」であれば、Ｂを出力して（Ｄ、Ａ）を格納する。
【００４６】
再度図５に戻ると、図に示し前述したように、マッピング関数５０８は、ブロック鍵セクション５０２およびデータ・セクション５０４から選択されたレジスタのコンテンツに基づいて、擬似ランダム・ビット・シーケンスを生成する。ブロック鍵セクション５０２およびデータ・セクション５０４が図６〜７に示されるそれぞれの実施形態に従って実施される一実施形態では、マッピング関数５０８は、レジスタ（ＫｙおよびＫｚ）６０２ｂ〜６０２ｃおよびレジスタ（ＢｙおよびＢｚ）７０２ｂ〜７０２ｃのコンテンツに基づいて、クロックあたり２４ビットで擬似ランダム・ビット・シーケンスを生成する。より具体的に言えば、以下の公式に従って、９つの項でＸＯＲオペレーションを実行することによって、２４ビットそれぞれが生成される。
【数１】
0004170620.tif 000007
【００４７】
上式で、「○のなかの＋」は、論理ＸＯＲ関数を表し、「・」は論理ＡＮＤ関数を表し、２４出力ビットの入力値ＢおよびＫは、以下のようになる。
【表６】
0004170620.tif 000008
【００４８】
以上、ビデオ・コンテンツが伝送中に未許可でコピーされるのを防ぐために暗号化および解読するための新しい方法および装置について述べてきた。
【００４９】
エピローグ
以上の内容から、当分野の技術者であれば、本発明の多くの他の変形形態が可能であることを理解されよう。具体的に言えば、本発明はインターフェース１０８ａおよび１０８ｂで実施されるように説明してきたが、論理の中には、ビデオ・ソース・デバイスおよびビデオ・シンク・デバイス１０２および１０４の他の構成要素で分配できるものもある。さらに、非ＬＦＳＲベースのストリーム鍵セクション、前述よりも多いか少ないブロック鍵レジスタ、前述よりも大きいか小さいブロック鍵レジスタ、代替の置換パターンを含む前述よりも多いか少ない置換ユニット、ならびに異なる線形変換ユニットも使用することができる。したがって、本発明は、記載された細部に限定されるものではなく、添付の特許請求の範囲の精神および範囲内であれば修正および変更を実施することができる。
【図面の簡単な説明】
【図１】  一実施形態により、本発明の概要を示す図である。
【図２】  一実施形態により、ソース・デバイスからシンク・デバイスにビデオ・コンテンツを提供するための、対称暗号化／解読プロセス・ベースの方法を示す図である。
【図３】  一実施形態により、図２の対称暗号化／解読プロセスを示す図である。
【図４】  一実施形態により、図１のビデオ・ソース・デバイスおよびシンク・デバイスをより詳細に示す図である。
【図５】  一実施形態により、図４の組み合わされたブロック／ストリーム暗号をより詳細に示す図である。
【図６】  一実施形態により、図５のブロック鍵セクションをより詳細に示す図である。
【図７】  一実施形態により、図５のブロック・データ・セクションをより詳細に示す図である。
【図８】  一実施形態により、図５のストリーム鍵セクションをより詳細に示す図である。
【図１】
0004170620.tif 000009
【図２】
0004170620.tif 000010
【図３】
0004170620.tif 000011
【図４】
0004170620.tif 000012
【図５】
0004170620.tif 000013
【図６】
0004170620.tif 000014
【図７】
0004170620.tif 000015
【図８】
0004170620.tif 000016