(57)【特許請求の範囲】
【請求項１】
暗号化データ・ストリームを受信するように接続された単一の中央処理ユニット（ＣＰＵ）を有するコンピュータ・システム内で、前記暗号化データ・ストリームを処理する装置であって、
受信された前記暗号化データ・ストリームを解読し、生のデータ・ストリームを生成する、前記ＣＰＵ内の第１の解読手段と、
前記暗号化データ・ストリームとは異なる複数の暗号化アルゴリズムのうちの特定の暗号化アルゴリズムにより、前記生のデータ・ストリームを再暗号化し、再暗号化データ・ストリームを生成し、前記特定の暗号化アルゴリズムを該ＣＰＵに接続された第２の構造に知らせる、前記ＣＰＵ内の再暗号化手段と、
前記再暗号化データ・ストリームを、前記ＣＰＵから前記第２の構造に転送する手段と、
前記第２の構造から前記再暗号化データ・ストリームを受信し、該再暗号化データ・ストリームを解読し、前記生のデータ・ストリームを生成する、前記第２の構造に接続された第２の解読手段と
を含み、前記ＣＰＵ内の前記第１の解読手段が、受信された前記暗号化データ・ストリームの解読を実行する一方で、前記ＣＰＵから該ＣＰＵに接続された前記第２の構造に転送される際に、前記生のデータ・ストリームが暴露されないようにする、装置。
【請求項２】
単一の中央処理ユニット（ＣＰＵ）及び該ＣＰＵに接続された構造を有するコンピュータ・システム内で、暗号化データ・ストリームを処理する方法であって、
ａ）前記ＣＰＵにおいて、前記暗号化データ・ストリームを受信するステップと、
ｂ）前記ＣＰＵ上で実行されるモジュール内で、前記暗号化データ・ストリームを解読し、生のデータを生成するステップと、
ｃ）前記暗号化データ・ストリームとは異なる複数の暗号化アルゴリズムのうちの特定の暗号化アルゴリズムにより、前記生のデータを前記ＣＰＵ内で再暗号化し、少なくとも部分的に再暗号化されたデータを生成し、前記特定の暗号化アルゴリズムを該ＣＰＵに接続された第２の構造に知らせるステップと、
ｄ）前記再暗号化に続き、前記少なくとも部分的に再暗号化されたデータを、前記ＣＰＵから前記第２の構造に転送するステップと、
ｅ）前記転送に続き、前記少なくとも部分的に再暗号化されたデータを検索して解読し、生のデータを生成するステップと、
を含み、前記解読が前記ＣＰＵ上で実行される前記モジュール内で発生する一方で、前記ＣＰＵから該ＣＰＵに接続された前記構造に転送される際に、前記生のデータが暴露されないようにし、前記暗号化データ・ストリームが、前記少なくとも部分的に再暗号化されたデータを生成する前記再暗号化ステップｃ）により使用されるのとは異なる暗号化アルゴリズムから生成される、方法。
【請求項３】
単一の中央処理ユニット（ＣＰＵ）及び該ユニットに接続された構造を有するコンピュータ・システム内で、暗号化データ・ストリームを処理するために使用されるコンピュータ読出し可能プログラム・コード手段を記録したコンピュータ読み取り可能な記録媒体であって、
前記ＣＰＵにおいて前記暗号化データ・ストリームを受信し、前記ＣＰＵ内で前記暗号化データ・ストリームを解読し、生のデータを生成し、前記暗号化データ・ストリームとは異なる複数の暗号化アルゴリズムのうちの特定の暗号化アルゴリズムにより、前記生のデータを前記ＣＰＵ内で再暗号化し、少なくとも部分的に再暗号化されたデータを生成し、前記特定の暗号化アルゴリズムを該ＣＰＵに接続された第２の構造に知らせる、コンピュータ読出し可能プログラム・コード手段と、
前記少なくとも部分的に再暗号化されたデータを、前記ＣＰＵから前記第２の構造に転送する、コンピュータ読出し可能プログラム・コード手段と、
前記ＣＰＵに接続された前記構造から、前記少なくとも部分的に再暗号化されたデータを検索し、前記少なくとも部分的に再暗号化されたデータを解読して、生のデータを生成する、コンピュータ読出し可能プログラム・コード手段と
を含み、前記解読が前記ＣＰＵ内で発生する一方で、前記ＣＰＵから該ＣＰＵに接続された前記構造に転送される際に、前記生のデータが暴露されないようにする、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般に、デジタル・ビデオ／音声データを保護する装置及び方法に関し、特に、非暗号化形式のデータをメモリまたはバスなどのアクセス可能な構造において暴露することなく、ＣＰＵからこれらの内部構造へ通信するための、コンピュータ・システム内でのデータの暗号化／解読のための装置、方法及びコンピュータ・プログラム製品に関する。
【０００２】
【従来の技術】
過去１０年間に、世界的な電子通信システムにより、人々が情報を送受信する方法が向上した。特に、リアルタイム・ビデオ及び音声システムの能力は、ここ数年の間に著しく改善した。ビデオ・オン・デマンド、ビデオ会議及びデジタル・ビデオ・ディスク（ＤＶＤ）映画などのサービスを提供するためには、巨大な量の帯域幅が要求される。実際に帯域幅は、しばしばこうしたシステムの有効性の第１の阻害要因となる。
【０００３】
既存の技術により課せられる制約を克服するために、圧縮システムが登場した。これらのシステムは、ピクチャ・シーケンス内の冗長性を除去することにより、伝送されなければならないビデオ及び音声データの量を低減する。受信端末において、ピクチャ・シーケンスが圧縮解除され、リアルタイムに表示され得る。
【０００４】
登場したビデオ圧縮規格の１つの例は、ＭＰＥＧ（Moving Picture Experts Group）規格である。ＭＰＥＧ規格では、ビデオ圧縮がピクチャ内及びピクチャ間の両方において定義される。ピクチャ内のビデオ圧縮は、離散コサイン変換、量子化、可変長符号化、及びハフマン符号化による、時間ドメインから周波数ドメインへのデジタル・イメージの変換により達成される。ピクチャ間のビデオ圧縮は、"動き予測"と呼ばれるプロセスを介して達成され、そこでは動きベクトルと差分データとの和が、あるピクチャから別のピクチャへの画素のセットの変換を記述するために使用される。ＩＳＯ  ＭＰＥＧ２規格は、ビットストリームの構文及び復号プロセスのセマンティックス（意味）だけを指定する。符号化パラメータの特定の選択、及び性能対複雑度のトレードオフは、システム開発者に委ねられる。
【０００５】
デジタル・バーサタイル・ディスク（ＤＶＤ）は、現在登場しつつある技術であり、これはその性質により、動きピクチャなどのデータを無許可の複写から保護するために、拡張的な暗号化を要求する。
【０００６】
ＤＶＤはビデオ、音声並びに、ＤＶＤ復号器により、再生ビデオ、音声及び例えばサブタイトル・データとして使用される他の圧縮データの内容に対する仕様である。ＤＶＤビデオ・データは、ＭＰＥＧ規格（ＩＳＯ／ＩＥＣ１３８１８−２）により指定される。この規格により表現される他に、データはまた業界のＣＳＳ（Content Scrambling System）を用いて暗号化され、それによりＤＶＤ再生のための暗号化された符号化データ・ストリームが生成される。このデータ・ストリームは、ＣＳＳ解読を実行するために認可されたハードウェアにより解読され得る。従来、ＣＳＳ解読はＰＣＩカードにおいて実行され、ＰＣＩカードは更に、暗号化された符号化データ信号のＭＰＥＧ伸長も含む。
【０００７】
【発明が解決しようとする課題】
本発明の目的は、特定の１態様において、暗号化された符号化データ・ストリームのこの従来のＤＶＤ処理を改善することである。
【０００８】
【課題を解決するための手段】
要するに、本発明は第１の態様において、暗号化データ・ストリームを受信するように接続された中央処理ユニット（ＣＰＵ）を有するコンピュータ・システム内で、暗号化データ・ストリームを処理する装置を含む。該装置は、受信された暗号化データ・ストリームを解読し、それにより生のデータ・ストリームを生成する解読手段を中央処理ユニット内に含む。同様に、中央処理ユニット内の再暗号化手段が生のデータ・ストリームを再暗号化し、暗号化データ・ストリームを生成する。その点で、受信される暗号化データ・ストリームは、再暗号化データ・ストリームとは異なる暗号化アルゴリズムから生成される。再暗号化データ・ストリームを中央処理ユニットから、該ユニットに接続されるコンピュータ・システムの第２の構造に転送する手段が提供される。第２の構造に接続される解読手段が、再暗号化データ・ストリームを受信して解読し、生のデータ・ストリームを生成する。生のデータ・ストリームは、中央処理ユニットから該ユニットに接続される第２の構造に転送されるときに暴露されず、一方、中央処理ユニット内の解読手段が、受信された暗号化データ・ストリームをソフトウェアにより解読する。
【０００９】
別の態様では、データ・ストリームを受信するように接続される中央処理ユニットを有するコンピュータ・システム内で、該データ・ストリームを処理する装置が提供される。該装置はデータ・ストリーム内の識別された著作権データを暗号化し、そこから暗号化データを生成する暗号化手段を、中央処理ユニット内に含む。更に暗号化データを中央処理ユニットから、該ユニットに接続されるコンピュータ・システムの構造に転送する手段が提供され、著作権データだけが中央処理ユニットから、前記暗号化データとして転送される。解読手段が暗号化データを受信する構造に接続され、暗号化データを解読する。
【００１０】
上で要約された態様の各々に対する様々な向上が述べられ、特許請求される。更に、対応する方法及びコンピュータ・プログラム製品が提供され、同様に特許請求される。
【００１１】
再度述べるが、本発明によれば、生のデータは圧縮されるか否かに関わらず、該データの盗難を防止するために、ホスト・メモリ・バッファやシステム・バスなどの、アクセス可能なコンピュータ・システム構造内に存在することが許可されない。本発明は特に、デジタル・ビデオ・ディスク（ＤＶＤ）技術などにより使用されるＭＰＥＧ符号化、及びＣＳＳ暗号化ビデオ・データに適用可能である。ここで提供される解読技術は、例えば暗号化／解読アルゴリズム対の新たなマイクロコードをダウンロードする柔軟性を通じて続く変化を可能にする。更に、使用される特定の暗号化／解読アルゴリズムが変化し得る。概念的には、ホスト・ソフトウェアにより解読プロセスを開始し、中央処理ユニットにおいて、異なる暗号化技術を用いてデータを再暗号化し、受信モジュールにおいて、データの解読を完了する。その際、受信モジュールは、中央処理ユニット上で実行される追加のソフトウェア・モジュールを含んでもよいし、或いは中央処理ユニットに接続されるシステム・バス上に存在する復号器などの受信ハードウェア装置を含んでもよい。受信された暗号化データの基本ソフトウェア解読に続く再暗号化は、完全であるかまたは部分的である。受信モジュールにおいて、再暗号化されたデータが解読され、表示されたり音声カードを介して出力されるか、或いは他の処理を受ける。
【００１２】
【発明の実施の形態】
一般的に、本発明は、例えばＣＳＳ技術を用いて暗号化されたデータ・ストリームを処理する装置、方法、及びコンピュータ・プログラム製品を含む。１態様として、本発明は中央処理ユニットにおいて、受信されたＣＳＳ暗号化信号を解読するステップを含み、続いてメモリまたはシステム・バスなどの、ＣＰＵの外部のアクセス可能な任意の構造内で、解読データの生のコピーを暴露しないようにする。このことは、ＣＳＳ暗号化ストリームのソフトウェア解読を可能にする一方で、機密保護データまたは著作権を保護された資料（ここでは集合的に"著作権データ"と呼ぶ）などの保護されるべきデータが、（データ転送の間に）原始データ・ストリームの違法な複写が容易なポイントにおいて、暴露されないことを保証する。ここで述べられる特定の例では、暗号化ストリームはまた、ＭＰＥＧ規格（ＩＳＯ／ＩＥＣ１３８１８−２）を用いて圧縮されたビデオ／音声データの符号化ストリームも含み得る。
【００１３】
本発明によれば、中央処理ユニット内の基本ソフトウェア・モジュールが、ＣＳＳ解読を実行し、次に選択された暗号化／解読アルゴリズムを用いて、データ・ストリームを暗号化する。この暗号化は、任意の著作権データを例えばメモリまたはシステム・バスを通じて、ＣＰＵの外部のソフトウェア・モジュールまたはハードウェア装置の一方または両方に送信する以前に実行される。外部ソフトウェア・モジュールまたはハードウェア装置の一方または両方は、再暗号化データ・ストリームを受信すると、次にそのデータ・ストリームを解読し、それを処理する。すなわち、例えばビデオ・データの場合には、それを表示処理し、音声データの場合には、音声カードに出力したりする。
【００１４】
要するに、ここで含まれる処理には、基本ソフトウェア・モジュールにおいて、データがコンピュータ・システムのＣＰＵからの続く伝送の間に、保護される必要があるか否かを判断するステップが含まれる。肯定の場合、基本モジュールはソフトウェア・モジュールまたはハードウェア装置の一方または両方に、究極的に、暗号化／解読アルゴリズム対を確立するためのデータのストリームを受信するように伝える。この通信は、解読アルゴリズムを受信側のソフトウェア・モジュールまたはハードウェア装置の一方または両方にダウンロードするか、或いは解読ソフトウェア／ハードウェアに、予め定義された複数の暗号化／解読アルゴリズム対の内で、実際に使用される解読アルゴリズムを伝えるステップを含み得る。基本モジュールは選択された暗号化アルゴリズムを用いて、解読されたデータを再暗号化し、データをメモリやシステム・バスなどの任意のアクセス可能な構造を通じて、最終的な解読を実行する受信側のソフトウェア・モジュールまたはハードウェア装置に転送する。受信モジュールもまた、中央処理ユニット内に配置され得るが、これはデータを解読し、通常の処理をその上で実行する。代替例として、中央処理ユニットからの再暗号化データが、システム・メモリまたはシステム・バスの一方または両方を通じて、ビデオ復号器に送信され、ビデオ復号器がデータを解読後、例えば表示のためにそれを復号する。
【００１５】
図１は、本発明に従う装置を使用するコンピュータ・システムの１実施例を示す。基本ソフトウェア・モジュール１０及び２次（または受信）処理ソフトウェア・モジュール２０は、それぞれコンピュータ・システムの中央処理ユニット（ＣＰＵ）内で実行される。処理ユニット・ハードウェア装置３０（復号器など）が、コンピュータ・システムのバス２６の１つ上に存在する。基本ソフトウェア・モジュール１０と２次処理ソフトウェア・モジュール２０または処理ハードウェア３０との間の通信は、ＣＰＵ１１の外部に配置されるメモリ２５及びシステム・バス２６を介するデータ転送を要求する。基本ソフトウェア・モジュール１０は、データ処理モジュール２１及び暗号化モジュール２２を含む。データ処理モジュール２１は、データ・ストリームに対して実行される任意の通常の処理を含み、本発明によれば、受信された暗号化原始データ・ストリームの解読（ＣＳＳ解読など）を含む。２次処理ソフトウェア・モジュール２０は、解読モジュール２３及び処理モジュール２４を含み、処理ハードウェア装置３０は、解読装置２７及びデータ処理装置２８を含む。
【００１６】
原始データは、例えば外部記憶装置またはコンピュータ・システム・ネットワークから、中央処理ユニット１１に到来する。このデータは、違法な複写から保護するために必要とされる部分を含み得る。この部分はここでは"著作権データ"と呼ばれ、それ自身を原始データから区別する。原始データ全体が保護される必要がある場合、著作権データは原始データと等価である。原始データは最初に基本ソフトウェア・モジュール１０の入力に転送され、データ処理モジュール２１により処理される。再度、例えばこれは、ＣＳＳ暗号化された原始データの解読ステップを含み得る。識別された著作権データが次に、暗号化モジュール２２により、異なる暗号化アルゴリズム、すなわちＣＳＳ暗号化以外の暗号化アルゴリズムを用いて再暗号化される。基本ソフトウェア・モジュール１０を通過する原始データは、非暗号化データ・ストリームまたは暗号化データ・ストリームを含み得る。第１のケースでは、データ処理モジュール２１が原始データを処理し、暗号化モジュール２２が暗号化アルゴリズムを実行し、著作権データを暗号化する。例えば暗号化アルゴリズムは、B．Schneierによる"Applied Cryptography"、John Wiley & Sons Inc．、2nd Ed．（1996）で述べられるタイプである。
【００１７】
第２のケースでは、データ処理モジュール２１が原始データを解読し、その後、暗号化モジュール２２がその著作権部分を前記同様の選択暗号化アルゴリズムを用いて再暗号化する。このプロシージャは、横断暗号化（trans-encryption）と呼ばれる。或いはデータ処理モジュール２１が原始データを解読しないように選択し、暗号化モジュール２２が元来暗号化された著作権データに加えて暗号化してもよい。このプロシージャは、層暗号化（layer-encryption）と呼ばれる。有利な点は、横断暗号化は、本発明に従いコンピュータ・システム内で使用される暗号化アルゴリズムが、原始データにより使用されるアルゴリズム、例えばＣＳＳ暗号化と異なることが可能な点である。層暗号化は、複数の暗号化アルゴリズムの使用を可能にし、それにより機密保護を強化する。
【００１８】
暗号化された著作権データは、システム・メモリ２５またはシステム・バス２６の一方または両方を通じて転送され、究極的に２次処理ソフトウェア・モジュール２０または処理ハードウェア装置３０により受信される。上述のように、２次処理ソフトウェア・モジュール２０は、解読モジュール２３及びデータ処理モジュール２４を有し、処理ハードウェア装置３０は、解読装置２７及びデータ処理装置２８を含む。解読モジュール２３及び解読装置２７は、暗号化モジュール２２により暗号化されたデータを解読する。解読されたデータは次に、データ処理モジュール２４またはデータ処理装置２８により、それぞれ処理される。
【００１９】
暗号化モジュール２２及び解読モジュール２３（または解読装置２７）により使用される暗号化／解読アルゴリズム対は、基本ソフトウェア・モジュール１０及び２次処理ソフトウェア・モジュール２０（または処理ハードウェア装置３０）の設計段階において、予め定義されるデフォルトのアルゴリズム対である。或いは、アルゴリズム対がダウンロード可能なアルゴリズムであってもよい。
【００２０】
例えば、暗号化モジュール２２に組み込まれる複数の暗号化アルゴリズム、及び解読モジュール２３または解読装置２７に組み込まれる複数の解読アルゴリズムが存在する。１つの適合対だけが任意の所与の時刻に使用される。暗号化に先立ち、暗号化モジュール２２は信号を解読モジュール２３または解読装置２７に送信し、それらに暗号化モジュール２２が使用する特定のアルゴリズムを知らせる。この信号はソフトウェア・パラメータ、或いはソフトウェアまたはハードウェア割込みの形式である。解読モジュール２３及び解読装置２７は、選択された暗号化／解読アルゴリズム対の対応する解読アルゴリズムを使用する。実際のアルゴリズムの内容は、モジュールまたは装置との間で伝送されないので、実際に使用される暗号化アルゴリズムは、ソフトウェア・モジュールまたはハードウェア装置内で逆エンジニアリングが実行されない限り、知られることはない。
【００２１】
或いは、暗号化モジュール２２及び解読モジュール２３（または解読装置２７）が、設計段階において常駐型の暗号化／解読ルーチンを含むように事前定義され得る。暗号化に先立ち、暗号化モジュール２２は、使用する実際の暗号化及び解読アルゴリズム対を決定する。暗号化モジュール２２は常駐の暗号化アルゴリズムを用い、解読モジュール２３または解読装置２７により使用される選択アルゴリズム対の実際の解読ルーチンを暗号化する。暗号化モジュール２２は次に、実際の解読アルゴリズムの暗号化バージョンを解読モジュール２３または解読装置２７に伝送する。この情報の受信に際して、解読モジュール２３または解読装置２７は常駐の解読アルゴリズムを用い、ダウンロードされた解読アルゴリズムを解読する。解読モジュール２３は次に、解読された解読アルゴリズムをプロシージャ呼び出しとして使用し、一方、解読装置２７は解読アルゴリズムを自身内のプログラマブル回路にロードする。実際の解読アルゴリズムのダウンロードの完了の後、暗号化モジュール２２は実際の暗号化アルゴリズムを用いて、データを暗号化し、また解読モジュール２３または解読装置２７は、ダウンロードされた解読ルーチンを用いてデータを解読する。暗号化／解読ルーチンの更新が所望される場合、異なる暗号化／解読アルゴリズム対が選択され、暗号化モジュール２２が対応する解読アルゴリズムを解読モジュール２３または解読装置２７にダウンロードする。
【００２２】
解読が実行された後、受信データ処理モジュール２４または装置２８が、生の圧縮ビデオ／音声データ信号のＭＰＥＧ復号などの、任意の要求データ処理を実行する。
【００２３】
図２は、図１の装置を用いて、本発明に従いデータを保護する暗号化及び解読プロシージャを確立するための１実施例のフローチャートを示す。この処理フローは、原始データが基本ソフトウェア・モジュール１０（図１）に入力されるとき、開始される。最初に、基本ソフトウェア・モジュール１０が、受信データが保護される必要があるか否かを判断する（ステップ５０）。必要がない場合、暗号化モジュール２２がデータを直接、２次処理ソフトウェア・モジュール２０または処理ハードウェア装置３０に伝達する（ステップ６０）。例えば、ＤＶＤアプリケーションでは、基本ソフトウェア・モジュール１０は、複写生成管理システム（ＣＧＭＳ）データを調査することができる。受信データが保護される必要がある場合、次にステップ５１で、暗号化モジュール２２から解読モジュール２３または解読装置２７に、データの使用に先立ち解読が必要とされることを伝える。
【００２４】
次に、処理は解読アルゴリズムがダウンロードされる必要があるか否かを判断する（ステップ５２）。必要ない場合、これはデフォルトの解読アルゴリズムが使用されることを意味し、処理は直接ステップ５４に移行する。それ以外では、ステップ５３で、アルゴリズムが解読モジュール２３または解読装置２７にダウンロードされる。
【００２５】
解読アルゴリズムを確立した後、暗号化モジュール２２がキーを解読モジュール２３または解読装置２７に伝達し（ステップ５４）、キー及び暗号化アルゴリズムを用いて著作権データを暗号化する（ステップ５５）。暗号化キー及び暗号化データが、単一のビットストリームとして、または別々に、システム・メモリまたはシステム・バスの一方または両方を介して、解読モジュール２３または解読装置２７に送信される。ステップ５６で、解読モジュール２３または解読装置２７は、選択またはダウンロードされたアルゴリズムを用い、データを解読する。暗号化モジュール２２が次に、暗号化キーが更新されるべきか否かを判断する（ステップ５７）。更新されるべきでない場合、暗号化及び解読処理ステップ５５及び５６が繰り返される。要求に応じて同一の暗号化キーが、データ・ストリーム伝送の終りまで使用され得る。それ以外では、ステップ５４に戻り、新たな暗号化キーが解読モジュール２３または解読装置２７に伝達される。
【００２６】
図３は、図２のステップ５４乃至５７に従い、暗号化キーを更新する装置／処理の１実施例を示す。暗号化モジュール２２内には、キー生成モジュール７９、キー暗号化モジュール８０、データ暗号化モジュール８１、及びデータ・マルチプレクサ・モジュール８２が含まれる。キー生成モジュール７９は原始キーを生成し、これはキー暗号化モジュール８０により暗号化され、またデータ暗号化モジュール８１によっても原始データを暗号化するために使用される。データ・マルチプレクサ８２は、暗号化されたキー及び暗号化データを１つのデータ・ストリームに結合し、これがメモリ及びシステム・バス８３を介して、解読モジュール２３または解読装置２７に伝送される。解読モジュール２３及び解読装置２７は、データ・デマルチプレクサ・モジュール／装置８４、キー解読モジュール／装置８５、及びデータ解読モジュール／装置８６を含む。データ・デマルチプレクサ・モジュール／装置８４は、受信されたデータ・ストリームを暗号化データ及び暗号化キーに結合解除する。キーが次に解読モジュール／装置８５により解読され、原始キーが生成される。データ解読モジュール８６は原始キーを用い、暗号化データを解読する。
【００２７】
図４は更に、本発明に従う処理の１実施例を示す。この実施例では、ＣＳＳ解読の後、データ・ストリームが再暗号化され、復号器チップ内での伸長復号に先立ち、再暗号化されたストリームが解読される。図示の処理は、好適には１チップ・マイクロコード内で達成される。
【００２８】
より詳細には、ビット・ストリームがＤＶＤディスク１００からホスト・プロセッサ１１０に読出され、ここで中央処理ユニットが認可されたＤＶＤキーを用いて、ＤＶＤ解読を実行する（１１２）。続く暗号化プロセスを保護するために、任意選択の不正防止（tamper resistance）アルゴリズム１１４が使用され得る。次に、生の暗号化ビット・ストリームが、任意の使用可能な暗号化／解読アルゴリズム、すなわちＣＳＳ符号化以外のアルゴリズムを用いて再暗号化される（１１６）。この再暗号化データは、例えばＭＰＥＧビデオ復号器１２８などの復号器に配送される。解読は対応するビット・ストリーム解読マイクロコードを含むマイクロコードのロード（１２４）に続いて、復号器１２８内で発生する。暗号化され、次に解読されるストリームの厳密な部分は使用されるアルゴリズムと同様、コードのリリース毎に変化し得る。データ・ストリームはＭＰＥＧビデオ・データ・ストリームを含み得、１実施例では、データ・ストリームがＤＶＤ解読処理１１２に続き、少なくとも部分的に再暗号化されるように、各ピクチャ１２０の１つ以上のフィールドが、ビット・ストリーム再暗号化処理１１６に従い暗号化される。解読キー１２２がマイクロコード・ロード１２４と同様、ビデオ・データ・ストリームと一緒に、ビデオ復号器１２８内のビット・ストリーム解読論理１２６に送信される。
【００２９】
当業者であれば、上述の議論から、本発明によれば、（非圧縮のまたは圧縮された）生のデータが、ホスト・メモリ・バッファまたはシステム・バスなどの、アクセス可能なコンピュータ・システム構造内に決して存在せず、それにより生のデータの盗難を防止することが理解されよう。本発明は特に、デジタル・ビデオ・ディスク技術などにより使用される、ＭＰＥＧ符号化及びＣＳＳ符号化ビデオ・データに適用可能である。ここで提供される解読技術は、例えば解明され得る解読アルゴリズムの新たなマイクロコードをロードする柔軟性を通じて、続く変化を可能にする。更に、本発明の再暗号化技術により使用される特定の暗号化／解読アルゴリズムは変化し得る。概念的には、ホスト・ソフトウェアにより解読プロセスを開始し、中央処理ユニットにおいて異なる暗号化技術を用い、データを再暗号化し、受信モジュールにおいてデータの解読を完了する。その際、受信モジュールは、追加のソフトウェア・モジュールを含んでもよいし、或いは復号器などの受信ハードウェア装置を含んでもよい。受信された暗号化データの基本ソフトウェア解読に続く再暗号化は、完全であるかまたは部分的である。例えば、１実施例では、特定のＭＰＥＧデータがホスト・ソフトウェアにより暗号化される。ホストは次に、適切な解読マイクロコード・ロードまたは単一のマイクロコード・ロードを、適切なキーと共に受信モジュールまたは受信ハードウェア装置に送信する。受信モジュールにおいて、マイクロコードがホストにより使用される暗号化アルゴリズムの逆処理を実行する。キーは静的であるか、或いは累算され得る。
【００３０】
更に当業者であれば、本発明が、例えばコンピュータ使用可能媒体を有する装置（例えば１つ以上のコンピュータ・プログラム製品）に含まれ得ることが理解されよう。組み込まれる媒体は、例えば、本発明の能力を提供及び容易にするコンピュータ読出し可能プログラム・コード手段である。本装置はコンピュータ・システムの一部として含まれるか、または別途販売される。
【００３１】
ここで示されたフロー図は、一例として提供されたものである。本発明の趣旨から逸脱すること無しに、これらの図及びここで述べられたステップまたは操作に対する様々な変更が可能である。例えば、特定のケースでは、これらのステップが異なる順序で実行されたり、ステップが追加、消去または変更され得る。更に、ここでは主に、単一の基本モジュール、単一の受信処理モジュール、及び単一の処理ハードウェア装置に関して述べられたが、各タイプの複数のモジュール及びハードウェア装置が、本発明に従う装置として使用され得る。これらの全ての変更は、本発明の一部を成すものと見なされる。
【００３２】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００３３】
（１）  暗号化データ・ストリームを受信するように接続された単一の中央処理ユニット（ＣＰＵ）を有するコンピュータ・システム内で、前記暗号化データ・ストリームを処理する装置であって、
受信された前記暗号化データ・ストリームを解読し、生のデータ・ストリームを生成する、前記ＣＰＵ内の第１の解読手段と、
前記暗号化データ・ストリームとは異なる複数の暗号化アルゴリズムのうちの特定の暗号化アルゴリズムにより、前記生のデータ・ストリームを再暗号化し、再暗号化データ・ストリームを生成し、前記特定の暗号化アルゴリズムを該ＣＰＵに接続された第２の構造に知らせる、前記ＣＰＵ内の再暗号化手段と、
前記再暗号化データ・ストリームを、前記ＣＰＵから前記第２の構造に転送する手段と、
前記第２の構造から前記再暗号化データ・ストリームを受信し、該再暗号化データ・ストリームを解読し、前記生のデータ・ストリームを生成する、前記第２の構造に接続された第２の解読手段と
を含み、前記ＣＰＵ内の前記第１の解読手段が、受信された前記暗号化データ・ストリームの解読を実行する一方で、前記ＣＰＵから該ＣＰＵに接続された前記第２の構造に転送される際に、前記生のデータ・ストリームが暴露されないようにする、装置。
（２）  単一の中央処理ユニット（ＣＰＵ）及び該ＣＰＵに接続された構造を有するコンピュータ・システム内で、暗号化データ・ストリームを処理する方法であって、
ａ）前記ＣＰＵにおいて、前記暗号化データ・ストリームを受信するステップと、
ｂ）前記ＣＰＵ上で実行されるモジュール内で、前記暗号化データ・ストリームを解読し、生のデータを生成するステップと、
ｃ）前記暗号化データ・ストリームとは異なる複数の暗号化アルゴリズムのうちの特定の暗号化アルゴリズムにより、前記生のデータを前記ＣＰＵ内で再暗号化し、少なくとも部分的に再暗号化されたデータを生成し、前記特定の暗号化アルゴリズムを該ＣＰＵに接続された第２の構造に知らせるステップと、
ｄ）前記再暗号化に続き、前記少なくとも部分的に再暗号化されたデータを、前記ＣＰＵから前記第２の構造に転送するステップと、
ｅ）前記転送に続き、前記少なくとも部分的に再暗号化されたデータを検索して解読し、生のデータを生成するステップと、
を含み、前記解読が前記ＣＰＵ上で実行される前記モジュール内で発生する一方で、前記ＣＰＵから該ＣＰＵに接続された前記構造に転送される際に、前記生のデータが暴露されないようにし、前記暗号化データ・ストリームが、前記少なくとも部分的に再暗号化されたデータを生成する前記再暗号化ステップｃ）により使用されるのとは異なる暗号化アルゴリズムから生成される、方法。
（３）  単一の中央処理ユニット（ＣＰＵ）及び該ユニットに接続された構造を有するコンピュータ・システム内で、暗号化データ・ストリームを処理するために使用されるコンピュータ読出し可能プログラム・コード手段を記録したコンピュータ読み取り可能な記録媒体であって、
前記ＣＰＵにおいて前記暗号化データ・ストリームを受信し、前記ＣＰＵ内で前記暗号化データ・ストリームを解読し、生のデータを生成し、前記暗号化データ・ストリームとは異なる複数の暗号化アルゴリズムのうちの特定の暗号化アルゴリズムにより、前記生のデータを前記ＣＰＵ内で再暗号化し、少なくとも部分的に再暗号化されたデータを生成し、前記特定の暗号化アルゴリズムを該ＣＰＵに接続された第２の構造に知らせる、コンピュータ読出し可能プログラム・コード手段と、
前記少なくとも部分的に再暗号化されたデータを、前記ＣＰＵから前記第２の構造に転送する、コンピュータ読出し可能プログラム・コード手段と、
前記ＣＰＵに接続された前記構造から、前記少なくとも部分的に再暗号化されたデータを検索し、前記少なくとも部分的に再暗号化されたデータを解読して、生のデータを生成する、コンピュータ読出し可能プログラム・コード手段と
を含み、前記解読が前記ＣＰＵ内で発生する一方で、前記ＣＰＵから該ＣＰＵに接続された前記構造に転送される際に、前記生のデータが暴露されないようにする、コンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【図１】本発明に従う暗号化／解読装置を使用するコンピュータ・システムの１実施例を示す図である。
【図２】本発明に従う暗号化／解読処理を実行する１実施例のフローチャートである。
【図３】本発明に従う装置の暗号化及び解読モジュール及び（または）機構内の、キーを更新する１実施例のブロック図である。
【図４】本発明に従い、マイクロコードを用いるＤＶＤディスク・データ・ストリーム処理の１実施例を表す図である。
【符号の説明】
１０  基本ソフトウェア・モジュール
１１  ＣＰＵ
２０  ２次（または受信）処理ソフトウェア・モジュール
２１  データ処理モジュール
２２  暗号化モジュール
２３  解読モジュール
２４  処理モジュール
２５  メモリ
２６、８３  システム・バス
２７  解読装置
２８  データ処理装置
３０  処理ユニット・ハードウェア装置
７９  キー生成モジュール
８０  キー暗号化モジュール
８１  データ暗号化モジュール
８２  データ・マルチプレクサ・モジュール
８４  データ・デマルチプレクサ・モジュール／装置
８５  キー解読モジュール／装置
８６  データ解読モジュール／装置
１００  ＤＶＤディスク
１１０  ホスト・プロセッサ
１１２  ＤＶＤ解読処理
１１４  不正防止（tamper resistance）アルゴリズム
１１６  ビット・ストリーム再暗号化処理
１２０  ピクチャ
１２２  解読キー
１２４  マイクロコード・ロード
１２６  ビット・ストリーム解読論理
１２８  ＭＰＥＧビデオ復号器
【図１】
0003953241.tif 000002
【図２】
0003953241.tif 000003
【図３】
0003953241.tif 000004
【図４】
0003953241.tif 000005