説明

マイクロプロセッサ

【課題】マイクロプロセッサにおいて、暗号化されたコンテンツを復号するための特別プログラムが漏洩することを防止する。
【解決手段】密封された状態でアクセス識別制限回路付きメモリ15を形成し、復号化特別プログラムを特別命令キャッシュ領域CSと特別データキャッシュ領域DSに記憶させる。この特別プログラムによってのみ、暗号化コンテンツを元のコンテンツに復号して再生する。また、特別プログラムの属性情報TGを記憶する属性タグメモリ15dを備え、特別命令キャッシュ領域CSと特別データキャッシュ領域DSがアクセスされた際、アクセス識別制限回路ユニット15bがそのアクセスと同時に供給されるプログラムの属性情報TDと属性タグメモリ15d中の属性情報TGとを比較し一致しないときは、特別命令キャッシュ領域CSと特別データキャッシュ領域DSに対するアクセスを禁止することで、特別プログラムが外部に漏洩するのを防止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばビデオデータ、オーディオデータ、コンピュータプログラム等の暗号化されたコンテンツを復号するための信号処理技術に関し、特に、コンテンツに対する不正処理行為を防止することが可能な信号処理技術に関するものである。
【背景技術】
【0002】
例えば、CD(Compact Disc)やDVD(Digital Video Disc又はDigital Versatile Disc)等の情報記録媒体に記録されているコンテンツを第三者が不正な目的で使用するのを防止するため、情報記録媒体にはコンテンツが予め暗号化されて記録されている。
【0003】
従来、この暗号化されたコンテンツ(以下、暗号化コンテンツという)を元のコンテンツ(いわゆる平文のコンテンツ)に復号して再生するには、復号処理のための特定用途集積回路装置(以下、特定用途ICという)を搭載した再生専用基板(以下、再生ボードという)を備えたパーソナルコンピュータ等で再生する必要があり、これにより、第三者の不正処理行為を防止することとしていた。
【0004】
つまり、特定用途ICには、暗号化コンテンツを復号するための復号鍵と復号アルゴリズムがデータとして内蔵されており、この特定用途ICは外部から見えないように物理的にパッケージングされているので、不正な行為者(攻撃者)が復号鍵と復号アルゴリズムを入手することができず、よって、コンテンツの保護が可能になるとされていた。
【0005】
また、パーソナルコンピュータの普及に伴い、上記のような再生ボードを設けなくとも、情報再生用プログラムを実行することによって、ソフトウェア的に暗号化コンテンツを元のコンテンツに復号できるようにもなっている。この場合には、上記の特定用途ICに内蔵されている復号鍵及び復号アルゴリズムと同じ機能を有する再生用プログラムをパーソナルコンピュータ内に設定(インストール)しておき、この再生用プログラムを実行することで、情報記録媒体中の暗号化コンテンツを復号して再生するようになっていた。
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、上記の再生ボードを備えたパーソナルコンピュータは、図9(a)に示すように、マザーボードである電気回路基板1上に、少なくとも、マイクロプロセッサ(CPU)2と、システムコントロール用のメモリ/バスコントローラ3、主記憶メモリ(DRAM)4、特定用途ICを搭載した再生ボード5、CDプレーヤやDVDプレーヤ等の情報記録媒体再生装置7を接続するための入出力ポート6が備えられた構成となっている。主記憶メモリ4は、電気回路基板1上にパターン配線されたバスを介してメモリ/バスコントローラ3に接続され、再生ボード5と入出力ポート6は、PCIバス等を介してメモリ/バスコントローラ3に接続されている。
【0007】
そして、情報記録媒体再生装置7に記憶されている暗号化コンテンツの再生を開始させると、マイクロプロセッサ2は、特定用途IC中に記憶されている復号鍵と復号アルゴリズムを読み出して主記憶メモリ4に記憶させた後、情報記録媒体再生装置7から供給される暗号化コンテンツを、この主記憶メモリ4に記憶された復号鍵と復号アルゴリズムに基づいて復号処理すると共に、復号化されたコンテンツを伸張処理することにより、元のコンテンツを再生するようになっている。
【0008】
ここで、不正な行為者は、特定用途IC中に格納されている復号鍵と復号アルゴリズムを直接入手することはできないが、暗号化コンテンツの再生時に、これら復号鍵と復号アルゴリズムを実行するためには、予め主記憶メモリ4に転送されて記憶されるので、主記憶メモリ4に転送・記憶された復号鍵と復号アルゴリズムをデータとして簡単な読取りプログラムで読み取ることができるという問題があった。
【0009】
すなわち、主記憶メモリ4は、外部に対して開放された状態で設けられており、マイクロプロセッサ2が任意のプログラムを実行する際に通常のメモリアクセスが行われるものであることから、不正な行為者は、既存の読取りプログラムや不正な読取りプログラムを実行させて主記憶メモリ4をメモリアクセスするだけで、容易に復号鍵と復号アルゴリズムを入手することができ、これらの復号鍵と復号アルゴリズムを解析することで、暗号化コンテンツを不正に処理することが可能となるという問題があった。
【0010】
一方、図9(b)に示すように上記の再生ボードが備えられていないパーソナルコンピュータで暗号化コンテンツを再生する場合や、再生ボードを使用しないで暗号化コンテンツを再生するような場合には、再生処理の開始に先立って、情報再生用プログラムが情報記録媒体再生装置7から主記憶メモリ4へ転送されて記憶される。そして、マイクロプロセッサ2が、主記憶メモリ4に記憶された情報再生用プログラムの中の復号鍵と復号アルゴリズム及び伸張処理用プログラムを実行し、情報記録媒体再生装置7から供給される暗号化コンテンツの復号及び伸張処理を行うことで、元のコンテンツを再生する。
【0011】
したがって、情報再生用プログラムによって暗号化コンテンツをソフトウェア的に再生する場合にも、不正な行為者は、主記憶メモリ4に記憶されている復号鍵と復号アルゴリズムをデータとして容易に読み取ることができ、その入手した復号鍵と復号アルゴリズムを解析することで、暗号化コンテンツを不正に処理することが可能となるという問題があった。
【0012】
本発明は、上記従来技術の問題点に鑑みてなされたものであり、暗号化されたコンテンツを不正処理することを防止する信号処理技術を提供することを目的とする。
【課題を解決するための手段】
【0013】
請求項1に記載の発明は、プログラム及びデータを記憶するための記憶手段と、前記記憶手段に記憶されたプログラムが実行されていない場合には、前記記憶手段へのアクセスを拒否する許否手段と、を備えることを特徴とするマイクロプロセッサである。
【0014】
請求項2に記載の発明は、請求項1に記載のマイクロプロセッサにおいて、前記記憶手段に記憶された前記プログラムを実行させるプログラム実行手段と、前記プログラム実行手段が前記記憶手段にアクセスする際に、前記プログラムの属性データを供給する供給手段と、前記供給手段によって供給される属性データに基づいて、実行されている前記プログラムによって前記記憶手段にアクセスされているか否かを識別する識別手段と、を備え、前記許否手段は、前記識別手段が、前記記憶手段へのアクセスが実行されている前記プログラムによるものではないと識別した場合には、前記記憶手段へのアクセスを拒否すること、を特徴とする。
【0015】
請求項3に記載の発明は、請求項2に記載のマイクロプロセッサにおいて、前記プログラムが記録された前記記憶手段を特別モードに設定する設定手段を有し、前記許否手段は、前記特別モードに設定された前記記憶手段へのアクセスが、実行されている前記プログラムによるものではない場合には、前記記憶手段へのアクセスを拒否すること、を特徴とする。
【0016】
請求項4に記載の発明は、請求項1乃至3に記載のマイクロプロセッサにおいて、半導体チップに一体形成された構造になっていること、を特徴とする。
【発明を実施するための最良の形態】
【0017】
以下、本発明の実施の形態を図面を参照して説明する。図1は、本実施形態に係るマイクロプロセッサの構成を示すブロック図、図2は、マイクロプロセッサ内に形成されているアクセス識別制限回路付きメモリの構成を示すブロック図である。
【0018】
図1において、マイクロプロセッサ(以下、データプロセッサという)8は、それぞれ暗号化されたビデオデータやオーディオデータ、テキストデータ、プログラム等の暗号化されたコンテンツを復号して再生することが可能な集積回路装置であり、半導体製造技術によって同一の半導体チップ(ダイ)に一体成形された所謂サーキットオンアチップ(Circuit on a chip)構造となっている。更に、データプロセッサ8は、ダイが樹脂モールド等によって封止され、外部からは見ることができない構造となっている。
【0019】
データプロセッサ8には、主要回路として、実行ユニット9、ロード/ストアユニット10、シーケンサー11、データキャッシュユニット12、命令キャッシュユニット13、外部バスインタフェースユニット14及びアクセス識別制限回路付きメモリ15が形成されている。更に、これらの主要回路間でデータ転送を行うための内部バスBUS1と内部メモリバスBUS2及びその他のデータ転送用バスBUS3,BUS4が形成されている。
【0020】
内部バスBUS1には、実行ユニット9、ロード/ストアユニット10、シーケンサー11及びアクセス識別制限回路付きメモリ15が接続されている。内部メモリバスBUS2には、ロード/ストアユニット10、シーケンサー11、データキャッシュユニット12、命令キャッシュユニット13、アクセス識別制限回路付きメモリ15が接続されている。また、データキャッシュユニット12と命令キャッシュユニット13は、データ転送用バスBUS3を介して外部バスインタフェースユニット14に接続され、外部バスインタフェースユニット14に接続されているデータ転送用バスBUS4は、後述する電気回路基板16に形成された外部バスBUS5に接続されるようになっている。
【0021】
実行ユニット9は、所謂マイクロプロセッサ(CPU)と同様に、コンピュータプログラムを実行するための命令制御部と演算制御部等の機能部ユニット回路を備えて形成されている。尚、実行ユニット9の機能については、各種文献に開示された所謂マイクロプロセッサ(CPU)と同様であるのでその詳細な説明は割愛するが、上記の命令制御部は、命令(instruction)の読み出しと解読、その命令のオペランドアドレス(operand adress)の生成を行い、データプロセッサ8全体の制御を行う。演算制御部は、上記命令制御部によって解読されたオペレーション(operation)に従って、加減剰余、論理演算等の実行の制御を行う。
【0022】
ロード/ストアユニット10、シーケンサー11、データキャッシュユニット12、命令キャッシュユニット13、外部バスインタフェースユニット14及びアクセス識別制限回路付きメモリ15は、実行ユニット9が実行する命令(instruction)又はデータの転送の制御を行うRISC型の記憶制御部を構成している。そして、実行ユニット9中の上記命令制御部で生成されるオペランドアドレス等を論理アドレス(仮想アドレス)から実アドレス(物理アドレス)に変換し、データキャッシュユニット12と命令キャッシュユニット13及びアクセス識別制限回路付きメモリ15内に命令(instruction)又はデータが格納されているかどうかを調べ、格納されていればそれらの命令又はデータを読み出して実行ユニット9へ供給する等の制御を行う。
【0023】
一方、データキャッシュユニット12と命令キャッシュユニット13及びアクセス識別制限回路付きメモリ15内に命令(instruction)又はデータが格納されていない場合は、外部バスインタフェースユニット14を介して主記憶メモリ17をメモリアクセスし、主記憶メモリ17内の命令(instruction)又はデータを読み出して、データキャッシュユニット12と命令キャッシュユニット13、アクセス識別制限回路付きメモリ15へ転送した後、それらの命令(instruction)又はデータを実行ユニット9へ供給する等の制御を行う。
【0024】
より具体的には、命令キャッシュユニット13には、何度も頻繁に実行されるプログラムの一部を主記憶メモリ17から読み出して格納しておくためのキャッシュメモリ領域(以下、通常命令キャッシュ領域という)が設けられ、データキャッシュユニット12には、使用頻度の高いデータを主記憶メモリ17から読み出して格納しておくためのキャッシュメモリ領域(以下、通常データキャッシュ領域という)が設けられ、これら通常命令キャッシュ領域と通常データキャッシュ領域は、主記憶メモリ17より高速なメモリ素子で形成されている。
【0025】
ただし、命令キャッシュユニット13とデータキャッシュユニット12には、暗号化されたコンテンツを復号するための特別なプログラムとデータは格納されず、後述するように、これらの特別なプログラムとデータは、アクセス識別制限回路付きメモリ15に設けられている内蔵キャッシュメモリ15cに格納される。
【0026】
アクセス識別制限回路付きメモリ15には、暗号化されたコンテンツを復号するためのプログラムを主記憶メモリ17から読み出して格納しておくためのキャッシュメモリ領域(以下、特別命令キャッシュ領域という)CSと、暗号化の際にデータを格納するためのキャッシュメモリ領域(以下、特別データキャッシュ領域という)DSが設けられ、これら特別命令キャッシュ領域CSと特別データキャッシュ領域DSは、主記憶メモリ17より高速なメモリ素子で形成されている。
【0027】
ロード/ストアユニット10は、実行ユニット9がデータ転送命令を実行する際に上記通常データキャッシュ領域又は特別データキャッシュ領域DSに対しメモリアクセスを行ってデータ転送を行う。
シーケンサー11は、上記の実アドレスに対応する通常命令キャッシュ領域又は特別命令キャッシュ領域CSに対しメモリアクセスを行って命令実行の制御を行う。
外部バスインタフェースユニット14は、データプロセッサ8と主記憶メモリ17及び入出力ポート18に接続された情報記録媒体再生装置19との間でのプログラム及びデータの転送制御を行う。
【0028】
ここで、上記アクセス識別制限回路付きメモリ15は、図2に示すように、メモリ管理ユニット15a、アクセス識別制限回路ユニット15b、内蔵キャッシュメモリ15c、属性タグメモリ15dを備えて構成されている。
【0029】
メモリ管理ユニット15aは、ロード/ストアユニット10を介して供給される論理アドレスを実アドレスに変換し、アクセス識別制限回路ユニット15bに供給する。内蔵キャッシュメモリ15cは、上記の特別命令キャッシュ領域CSと特別データキャッシュ領域DSを備えて構成されている。属性タグメモリ15dは、主記憶メモリ17のアドレスを識別するためのタグデータが記憶されている。
【0030】
アクセス識別制限回路ユニット15bは、内部メモリバスBUS2を介してロード/ストアユニット10から供給されるアクセス制御命令を受けると、メモリ管理ユニット15aからの上記実アドレスの所定ビットをデコードし、そのデコードデータに基づいて属性タグメモリ15dをメモリアクセスすることにより、属性タグメモリ15dに記憶されているタグデータTGを読み取る。
【0031】
更に、アクセス識別制限回路ユニット15bは、読み取ったタグデータTGと内部バスBUS1を介して実行ユニット9から供給されるプログラム属性データTDとを比較し、これらのデータTG,TDが一致した場合には、上記デコードデータに対応する特別命令キャッシュ領域CS内のプログラムコード又は特別データキャッシュ領域DS内のデータをシーケンサー11又はロード/ストアユニット10を介して実行ユニット9へ転送する。データTG,TDが一致しなかった場合には、特別命令キャッシュ領域CS内のプログラムコード及び特別データキャッシュ領域DS内のデータを実行ユニット9へ転送しない。
【0032】
すなわち、アクセス識別制限回路ユニット15bは、タグデータTGとプログラム属性データTDとが一致した場合に限り、実行ユニット9と内蔵キャッシュメモリ15cとの間でのプログラムコード又はデータの転送を許可する。タグデータTGとプログラム属性データTDとが不一致の場合には、上記プログラムコード及びデータの転送を禁止し、これによって、内蔵キャッシメモリ15cに対するアクセス要求を受け付けないようになっている。
【0033】
次に、かかる構成を有するデータプロセッサ8の動作を図3ないし図6に示すフローチャートを参照して説明する。尚、主記憶メモリ17には、所謂アプリケーションプログラムである復号鍵や復号アルゴリズム等の特別なプログラムを実行するためのオペレーティングシステム(operating system:OS)が予め記憶されており、このオペレーティングシステムの下で、CDプレーヤやDVDプレーヤ等の情報記録媒体再生装置19で再生されるコンテンツ(暗号化コンテンツ)を復号して再生する。
【0034】
まず、情報記録媒体再生装置19で再生されるCDやDVD等の情報記録媒体には、データ圧縮及び暗号化が施された暗号化コンテンツの他、再生用の特別なプログラム、すなわち、暗号化コンテンツを復号するための復号鍵及び復号アルゴリズムと、必要に応じて復号後のコンテンツをデータ伸張するための伸張プログラムと、これらデータ圧縮及び暗号化が施された暗号化コンテンツと復号鍵と復号アルゴリズム及び伸張プログラムをデータプロセッサ8内に入力するためのローダープログラム等が記録されている。
【0035】
更に、少なくとも復号鍵と復号アルゴリズムは断片化されて記録されており、再生処理に寄与しないダミープログラムと共に、解析が困難な状態(例えばランダムな状態)で記録されている。
【0036】
図3において、ユーザーがデータ圧縮及び暗号化が施されたコンテンツの再生を行うために、再生処理の準備を指令すると、実行ユニット9が情報記録媒体再生装置19を起動させ、情報記録媒体に記録されている上記特別なプログラムを主記憶メモリ17に転送させて記憶させる(ステップ100)。ただし、復号鍵と復号アルゴリズムは断片化されたままの状態で主記憶メモリ17に記憶されるため、これら断片化された復号鍵と復号アルゴリズムを主記憶メモリ17から読み取られたとしても、本来の復号鍵と復号アルゴリズムを復元することは極めて困難である。
【0037】
次に、実行ユニット9が、主記憶メモリ17に記憶された上記特別なプログラムのうちのローダープログラムを実行し、復号鍵と復号アルゴリズム及び伸張プログラムをアクセス識別制限回路ユニット15b中の内蔵キャッシュメモリ15cに記憶させる(ステップ102,104,106)。
【0038】
ここで、実行ユニット9がアクセス識別制限回路ユニット15bに対し最初にアクセス制御すると、アクセス識別制限回路ユニット15bは、内蔵キャッシュメモリ15cを特別モードに設定し、特別命令キャッシュ領域CSと特別データキャッシュ領域DSをクリアさせる(ステップ102)。
【0039】
次に、そのクリア処理の完了後、特別命令キャッシュ領域CSと特別データキャッシュ領域DSに復号鍵と復号アルゴリズム及び伸張プログラムを転送し(ステップ104)、アクセスチェックを行って記憶させる(ステップ106)。更に、ローダープログラムは、断片化されている復号鍵と復号アルゴリズムを連続した復号鍵と復号アルゴリズムに復元化するキャッシュ初期化命令コードを有しており、これにより、復元化された復号鍵と復号アルゴリズム及び伸張プログラムを特別命令キャッシュ領域CSと特別データキャッシュ領域DSに記憶させると共に、特別命令キャッシュ領域CSと特別データキャッシュ領域DSの各インデックスアドレスに対応付けてタグデータTGを属性タグメモリ15dに記憶させる(ステップ104,106)。そして、復号鍵と復号アルゴリズム及び伸張プログラムが正常に記憶されると、暗号化コンテンツの再生を行うための準備が完了する。尚、ステップ106においてアクセスエラーが発生すると、復号鍵と復号アルゴリズム及び伸張プログラムの記憶が行われず、実行ユニット9によるエラーチェックのための割り込み処理が行われることになる。
【0040】
このように復号鍵と復号アルゴリズム及び伸張プログラムが復元されてキャッシュメモリ15cに記憶された後、ユーザーが再生開始の指令を行うと、実行ユニット9が、特別命令キャッシュ領域CSと特別データキャッシュ領域DSに記憶された復号鍵と復号アルゴリズム及び伸張プログラムを実行し、情報記録媒体再生装置19から供給される暗号化コンテンツを復号及び伸張処理することにより、元の(いわゆる平文の)コンテンツに再生して主記憶メモリ17へ転送し記憶させる。そして、主記憶メモリ17に記憶されたコンテンツを外部バスBUS4を介してディスプレイやオーディオシステム(図示省略)へ転送することにより、画像再生やオーディオ再生が行われる。
【0041】
ここで、実行ユニット9が特別命令キャッシュ領域CSと特別データキャッシュ領域DS中に記憶された復号鍵と復号アルゴリズム及び伸張プログラムを実行する際、プログラムコードの読み出しは図4に示すフローチャート、データの読み出しは図5に示すフローチャート、データの書き込みは図6に示すフローチャートに従って行われる。
【0042】
図4において、実行ユニット9がアクセス識別制限回路付きユニット15対しプログラムコード(operation code)の読み出しアクセスを行うと(ステップ200)、メモリ管理ユニット15aが論理アドレスを実アドレスに変換し(ステップ202)、アクセス識別制限回路ユニット15bがその実アドレスをチェックすることにより、内蔵キャッシュメモリ15cに対するアクセスか否かチェックする(ステップ204,206)。
【0043】
ここで、内蔵キャッシュメモリ15c又は上記通常命令キャッシュ領域に対するアクセスでない場合には、実行ユニット9はステップ208の処理に移行し、主記憶メモリ17に記憶されているプログラムコードを読み出して、内蔵キャッシュメモリ15c又は上記通常命令キャッシュ領域に格納し、更に、内蔵キャッシュメモリ15cに格納した場合には、ステップ212において、その格納したプログラムコードを読み出して、プログラムコードの読み出し処理を完了する。
【0044】
一方、ステップ206において上記通常命令キャッシュ領域に対するアクセスの場合には、ステップ212において、通常命令キャッシュ領域に格納されているプログラムコードを読み出して、プログラムコードの読み出し処理を完了する。
また、ステップ206において内蔵キャッシュメモリ15cに対するアクセスの場合には、ステップ210に移行し、アクセス識別制限回路ユニット15bが、アクセス要求と同時に実行ユニット9から供給された特別属性データTDと属性タグメモリ15d中のタグデータTGを比較する(ステップ210)。そして、これらのデータTD,TGが一致している場合には、ステップ212に移行し、内蔵キャッシュメモリ15cの特別命令キャッシュ領域CSからプログラムコードを読み出して実行ユニット9へ転送することにより、プログラムコードの読み出しを完了し、実行ユニット9が転送されたプログラムコードを実行することで、復号鍵と復号アルゴリズムに基づいて暗号化コンテンツの復号化が行われる。
【0045】
また、ステップ210において、データTD,TGが一致していない場合には、実行ユニット9によるエラーチェックのための割り込み処理が行われることになる。
【0046】
このように、プログラムコードの読み出しアクセスの際、アクセス識別制限回路ユニット15bが、特別属性データTDと属性タグメモリ15d中のタグデータTGとの一致又は不一致の確認を行い、不一致の場合には内蔵キャッシュメモリ15cへのアクセスを拒否し、一致した場合に限り、内蔵キャッシュメモリ15cへのアクセスを許可するようにしたので、不正なアクセスを排除することができる。
【0047】
次に、図5において、実行ユニット9がアクセス識別制限回路付きユニット15対しデータの読み出しアクセスを行うと(ステップ300)、メモリ管理ユニット15aが論理アドレスを実アドレスに変換し(ステップ302)、アクセス識別制限回路ユニット15bがその実アドレスをチェックすることにより、内蔵キャッシュメモリ15cに対するアクセスか否かチェックする(ステップ304,306)。
【0048】
ここで、内蔵キャッシュメモリ15c又は上記通常命令キャッシュ領域に対するアクセスでない場合には、実行ユニット9はステップ308の処理に移行し、主記憶メモリ17に記憶されているデータを読み出して、内蔵キャッシュメモリ15c又は上記通常命令キャッシュ領域に格納する。更に、内蔵キャッシュメモリ15cにデータを格納した場合には、ステップ312において、その格納したデータを読み出して、データの読み出し処理を完了する。
【0049】
一方、ステップ306において上記通常命令キャッシュ領域に対するアクセスの場合には、ステップ312において、通常命令キャッシュ領域に格納されているデータを読み出して、データの読み出し処理を完了する。
【0050】
また、ステップ306において内蔵キャッシュメモリ15cに対するアクセスの場合には、ステップ310の処理に移行し、アクセス識別制限回路ユニット15bが、アクセス要求と同時に実行ユニット9から供給された特別属性データTDと属性タグメモリ15d中のタグデータTGを比較する。そして、これらのデータTD,TGが一致している場合には、ステップ312に移行し、内蔵キャッシュメモリ15cの特別データキャッシュ領域DSからデータを読み出して実行ユニット9へ転送することにより、データの読み出しを完了し、実行ユニット9が転送されたデータを処理することで、復号鍵と復号アルゴリズムに基づいて暗号化コンテンツの復号化が行われる。
また、ステップ310において、データTD,TGが一致していない場合には、実行ユニット9によるエラーチェックのための割り込み処理が行われることになる。
【0051】
このように、データの読み出しアクセスの際、アクセス識別制限回路ユニット15bが、特別属性データTDと属性タグメモリ15d中のタグデータTGとの一致又は不一致の確認を行い、不一致の場合には内蔵キャッシュメモリ15cへのアクセスを拒否し、一致した場合に限り、内蔵キャッシュメモリ15cへのアクセスを許可するようにしたので、不正なアクセスを排除することができる。
【0052】
次に、図6において、実行ユニット9がアクセス識別制限回路付きユニット15対しデータ書き込みのアクセスを行うと(ステップ400)、メモリ管理ユニット15aが論理アドレスを実アドレスに変換し(ステップ402)、アクセス識別制限回路ユニット15bがその実アドレスをチェックすることにより、内蔵キャッシュメモリ15cに対するアクセスか否かチェックする(ステップ404,406)。
【0053】
ここで、内蔵キャッシュメモリ15c又は上記通常命令キャッシュ領域に対するアクセスでない場合には、実行ユニット9はステップ408の処理に移行し、データを主記憶メモリ17に記憶させ、データの書き込み処理を完了する。
【0054】
一方、ステップ406において上記通常命令キャッシュ領域に対するアクセスの場合には、ステップ412において、通常命令キャッシュ領域にデータを書き込んで、データの書き込み処理を完了する。
【0055】
また、ステップ406において内蔵キャッシュメモリ15cに対するアクセスの場合には、ステップ410の処理に移行し、アクセス識別制限回路ユニット15bが、アクセス要求と同時に実行ユニット9から供給された特別属性データTDと属性タグメモリ15d中のタグデータTGを比較する。そして、これらのデータTD,TGが一致している場合には、ステップ412に移行し、内蔵キャッシュメモリ15cの特別データキャッシュ領域DSへデータを書き込むことにより、データの書き込み処理を完了する。
また、ステップ410において、データTD,TGが一致していない場合には、実行ユニット9によるエラーチェックのための割り込み処理が行われることになる。
【0056】
このように、アクセス識別制限回路ユニット15bが、特別属性データTDと属性タグメモリ15dの一致又は不一致の確認を行うことにより、復号鍵と復号アルゴリズムのデータが適正にアクセスされたか否か判断されるので、不正なアクセスを排除することができる。
【0057】
以上説明したように、本実施形態のデータプロセッサ8によれば、復号鍵や復号アルゴリズム等の特別なプログラムをアクセス識別制限回路付きメモリ15に記憶させ、アクセス識別制限回路付きメモリ15に記憶したこれらの特別なプログラムを実行することによってのみ、暗号化コンテンツを元のコンテンツに復号して再生するようにしたので、復号鍵や復号アルゴリズム等の特別なプログラムが外部に漏洩するのを防止し、ひいてはコンテンツの保護が可能となる。
【0058】
すなわち、アクセス識別制限回路付きメモリ15に記憶した上記特別なプログラムを、外部から密閉されたデータプロセッサ8の内部においてのみ実行することで、暗号化コンテンツの復号と再生が行われる。よって、ユーザーや不正な行為者に対しては、データプロセッサ8に対し供給される暗号化コンテンツと、その復号及び再生がなされたコンテンツを入手することができるが、その間になされた復号化処理のプロセスを確認することができないようになっている。このため、復号鍵や復号アルゴリズム等の特別なプログラムが外部に漏洩するのを防止することができる。
【0059】
更に、図4及び図5に示したように、特別属性データTDと属性タグメモリ15d中のタグデータTGとの一致又は不一致の確認を行い、不一致の場合には、特別命令キャッシュ領域CS及び特別データキャッシュ領域DSに対するアクセスを禁止するようにしたので、不正な行為者に復号鍵と復号アルゴリズムが取得されることを防止することができる。
【0060】
更に、図3に示したように、ロードプログラムによって復号鍵と復号アルゴリズムを特別命令キャッシュ領域CS及び特別データキャッシュ領域DS内に記憶させる際に、特別命令キャッシュ領域CS及び特別データキャッシュ領域DS中の旧いプログラム及びデータを必ずクリアしてから記憶させるようにしたので、再生処理を行う度に、ロードプログラムによって復号鍵と復号アルゴリズムを特別命令キャッシュ領域CS及び特別データキャッシュ領域DS内に記憶させるようになっている。このため、不正な行為者によって復号鍵と復号アルゴリズムが取得されることを防止することができる。
【0061】
尚、以上の説明では、信号処理専用のデータプロセッサ8について説明したが、本発明は、一般に市販されているマイクロプロセッサ(CPU)で再生用プログラムを実行させてソフトウェア的に暗号化コンテンツを復号及び再生させる場合にも、復号鍵と復号アルゴリズム等の特別なプログラムを漏洩から防止することができる。
【0062】
例えば、図7はペンティアム系のマイクロプロセッサ(インテル社製)20を用いた一般的な回路構成を示している。マイクロプロセッサ20は、マザーボードと呼ばれる電気回路基板21に搭載されている。マイクロプロセッサ20内に形成されているシステムバスインタフェースユニット22が電気回路基板21上に形成されている外部バスBUS6と接続され、外部バスBUS6には、主記憶メモリ23が接続されると共に、入出力ポート24を介して情報記録媒体再生装置25が接続されている。
【0063】
マイクロプロセッサ20内には、主要回路として、上記のシステムバスインタフェースユニット22の他、実行ユニット26、命令フェッチユニット27、命令デコーダ28、レジスタアロケーションテーブル29、リオーダーバッファ30、命令キャッシュユニット31、データキャッシュユニット32が形成されており、システムバスインタフェースユニット22と命令キャッシュユニット31及びデータキャッシュユニット32間でのプログラム及びデータの授受が内部バスBUS7を介して行われるようになっている。
【0064】
これら主要回路の機能については各種文献に開示されているので、詳細な説明は割愛する。但し、本実施形態の主要な点として、命令キャッシュユニット31に形成されている命令キャッシュメモリは、通常の命令キャッシュ領域31a、すなわちレベル1(L1)の命令キャッシュ領域31aの他、復号鍵や復号アルゴリズムに関する特別なプログラムコードを記憶するための特別CS用キャッシュ領域31bが形成されている。データキャッシュユニット32に形成されているデータキャッシュメモリも、通常のデータキャッシュ領域32a、すなわちレベル1(L1)のデータキャッシュ領域32aの他、復号鍵や復号アルゴリズムに関する特別なデータを記憶するための特別DS用キャッシュ領域32bが形成されている。
【0065】
より具体的には、図8に示すように、命令キャッシュユニット31とデータキャッシュユニット32には内蔵キャッシュメモリが形成され、この内蔵キャッシュユニットは、通常の命令キャッシュ領域31aとデータキャッシュ領域32aの他、特別なプログラムコードとデータを記憶するための特別CS用キャッシュ領域32bと特別DS用キャッシュ領域32bが設けられている。更に、実行ユニット26と命令フェッチユニット27及び内部バスBUS7に接続するキャッシュ制御回路33と、タグメモリ34が備えられている。
【0066】
タグメモリ34は、特別CS用キャッシュ領域31bのインデックスアドレスに対応するタグデータ(特別CS専用タグという)TGCを記憶するタグ記憶領域34aと、特別DS用キャッシュ領域32bのインデックスアドレスに対応するタグデータ(特別DS専用タグという)TGDを記憶するタグ記憶領域34bと、通常の命令キャッシュ領域31a及びデータキャッシュ領域32aのインデックスアドレスに対応するタグデータ(通常タグという)を記憶するタグ記憶領域34cが設けられている。
【0067】
かかる構成において、ユーザーが暗号化コンテンツの再生を行うために、再生処理の準備を指令すると、図3に示したフローチャートと同様の処理が行われることにより、情報記録媒体に記録されている復号鍵、復号アルゴリズム、ローダープログラム、伸張プログラム等の特別なプログラムが情報記録媒体再生装置25から主記録メモリ23に転送されて記憶された後、主記録メモリ23に記憶された上記ローダープログラムが実行される。
【0068】
尚、復号鍵と復号アルゴリズムは断片化されたままの状態で主記憶メモリ23に記憶されるため、これら断片化された復号鍵と復号アルゴリズムを主記憶メモリ23から読み取られたとしても、本来の復号鍵と復号アルゴリズムを復元することは極めて困難である。
【0069】
ローダープログラムが実行されると、先ず特別CS用キャッシュ領域31bと特別DS用キャッシュ領域32bがクリアされた後、主記録メモリ23に記憶されている復号鍵と復号アルゴリズム及び伸張プログラムが復元され、特別CS用キャッシュ領域31bと特別DS用キャッシュ領域32bに転送されて記憶され、更に、タグメモリ34のタグ記憶領域34aに、特別CS用キャッシュ領域31bのインデックスアドレスに対応付けて特別なタグデータTGCが記憶され、タグ記憶領域34bに、特別DS用キャッシュ領域32bのインデックスアドレスに対応付けて特別なタグデータTGDがそれぞれ記憶される。
【0070】
次に、マイクロプロセッサ20が、特別CS用キャッシュ領域31bと特別DS用キャッシュ領域32bに記憶された復号鍵と復号アルゴリズム及び伸張プログラムを実行し、情報記録媒体再生装置25から転送される暗号化コンテンツの再生処理を開始すると、図4〜図6に示したフローチャートの処理と同様に、プログラムコードの読み出しは図4に示すフローチャート、データの読み出しは図5に示すフローチャート、データの書き込みは図6に示すフローチャートに従って行われる。
【0071】
すなわち、プログラムコードの読み出し時には、キャッシュ制御回路33が、命令フェッチユニット27からのアクセス要求と同時に供給される特別属性データTDとタグ記憶領域34a中のタグデータTGCとを比較し、これらのデータTD,TGCが一致している場合に限って、特別CS用キャッシュ領域31b中のプログラムコードを読み出して命令デコーダ28側へ転送する。
【0072】
データの読み出し時には、キャッシュ制御回路33が、実行ユニット26中のメモリオーダバッファからのアクセス要求と同時に供給される特別属性データTDとタグ記憶領域34b中のタグデータTGDとを比較し、これらのデータTD,TGDが一致している場合に限って、特別DS用キャッシュ領域32b中のデータを読み出してリオーダーバッファ30側へ転送する。
【0073】
また、データの書き込み時においても、実行ユニット26中のメモリオーダバッファからのアクセス要求と同時に供給される特別属性データTDとタグ記憶領域34b中のタグデータTGDとを比較し、これらのデータTD,TGDが一致している場合に限って、特別DS用キャッシュ領域32bへのデータ書き込みが行われる。
【0074】
したがって、一般に市販されているマイクロプロセッサ20で再生用プログラムを実行させてソフトウェア的に暗号化コンテンツを復号及び再生させる場合においても、復号鍵、復号アルゴリズム等の外部ヘの漏洩を防止する必要のある特別なプログラムはマイクロプロセッサ20内においてのみ実行され、更に、マイクロプロセッサ20内において暗号化コンテンツを元のコンテンツに復号及び伸張するための処理過程も外部からは分からないので、復号鍵や復号アルゴリズム等の特別なプログラムが外部に漏洩するのを防止し、ひいてはコンテンツの保護が可能となる。
【図面の簡単な説明】
【0075】
【図1】本実施形態に係るデータプロセッサの構成を示すブロック図である。
【図2】データプロセッサに内蔵されているアクセス識別制限回路付きメモリの構成を示すブロック図である。
【図3】アクセス識別制限回路付きメモリに再生用の特別なプログラムを格納する際の動作を示すフローチャートである。
【図4】アクセス識別制限回路付きメモリに記憶されている特別なプログラムを不正に読み出すことを禁止する動作を示すフローチャートである。
【図5】アクセス識別制限回路付きメモリに記憶されている特別なデータを不正に読み出すことを禁止する動作を示すフローチャートである。
【図6】アクセス識別制限回路付きメモリに不正にデータを書き込むことを禁止する動作を示すフローチャートである。
【図7】一般的なマイクロプロセッサに本発明を適用した場合のマイクロプロセッサの構成を示すブロック図である。
【図8】一般的なマイクロプロセッサに本発明を適用した場合の内蔵キャッシュユニットの構成を示すブロック図である。
【図9】従来のパーソナルコンピュータにおける問題点を説明するための図である。
【符号の説明】
【0076】
8…データプロセッサ
9…実行ユニット
10…ロード/ストアユニット
11…シーケンサー
12…データキャッシュユニット
13…命令キャシュユニット
14…外部バスインタフェースユニット
15…アクセス識別制限回路付きメモリ
15a…メモリ管理ユニット
15b…アクセス識別制限回路ユニット
15c…内蔵キャッシュメモリ
15d…属性タグメモリ
16…電気回路基板
17…主記憶メモリ
18…入出力ポート
19…情報記録媒体再生装置
CS…特別命令キャシュ領域
DS…特別データキャッシュ領域
BUS1…内部バス
BUS2…内部メモリバス
BUS3,BUS4…データ転送用バス
BUS5…外部バス
20…マイクロプロセッサ
21…電気回路基板
22…システムバスインタフェース
23…主記憶メモリ
24…入出力ポート
25…情報記録媒体再生装置
26…実行ユニット
27…命令フェッチユニット
28…命令デコーダ
29…レジスタアロケーションテーブル
30…リオーダーバッファ
31…命令キャッシュユニット
31a…通常の命令キャッシュ領域
31b…特別CS用キャッシュ領域
32…データキャッシュユニット
32a…通常のデータキャッシュ領域
32b…特別DS用キャッシュ領域
33…キャッシュ制御回路
34…タグメモリ
34a,34b,34c…タグ記憶領域

【特許請求の範囲】
【請求項1】
プログラム及びデータを記憶するための記憶手段と、
前記記憶手段に記憶されたプログラムが実行されていない場合には、前記記憶手段へのアクセスを拒否する許否手段と、
を備えることを特徴とするマイクロプロセッサ。
【請求項2】
前記記憶手段に記憶された前記プログラムを実行させるプログラム実行手段と、
前記プログラム実行手段が前記記憶手段にアクセスする際に、前記プログラムの属性データを供給する供給手段と、
前記供給手段によって供給される属性データに基づいて、実行されている前記プログラムによって前記記憶手段にアクセスされているか否かを識別する識別手段と、を備え、
前記許否手段は、前記識別手段が、前記記憶手段へのアクセスが実行されている前記プログラムによるものではないと識別した場合には、前記記憶手段へのアクセスを拒否すること、
を特徴とする請求項1に記載のマイクロプロセッサ。
【請求項3】
前記プログラムが記録された前記記憶手段を特別モードに設定する設定手段を有し、
前記許否手段は、前記特別モードに設定された前記記憶手段へのアクセスが、実行されている前記プログラムによるものではない場合には、前記記憶手段へのアクセスを拒否すること、
を特徴とする請求項2に記載のマイクロプロセッサ。
【請求項4】
半導体チップに一体形成された構造になっていること、
を特徴とする請求項1乃至3に記載のマイクロプロセッサ。

【図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


【公開番号】特開2008−10007(P2008−10007A)
【公開日】平成20年1月17日(2008.1.17)
【国際特許分類】
【出願番号】特願2007−206661(P2007−206661)
【出願日】平成19年8月8日(2007.8.8)
【分割の表示】特願平11−214744の分割
【原出願日】平成11年7月29日(1999.7.29)
【出願人】(000005016)パイオニア株式会社 (3,620)
【Fターム(参考)】