JP4537431B2 - マイクロプロセッサ - Google Patents

マイクロプロセッサ Download PDF

Info

Publication number
JP4537431B2
JP4537431B2 JP2007206661A JP2007206661A JP4537431B2 JP 4537431 B2 JP4537431 B2 JP 4537431B2 JP 2007206661 A JP2007206661 A JP 2007206661A JP 2007206661 A JP2007206661 A JP 2007206661A JP 4537431 B2 JP4537431 B2 JP 4537431B2
Authority
JP
Japan
Prior art keywords
data
program
cache area
special
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007206661A
Other languages
English (en)
Other versions
JP2008010007A (ja
Inventor
啓二 片多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Pioneer Corp
Original Assignee
Pioneer Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pioneer Corp filed Critical Pioneer Corp
Priority to JP2007206661A priority Critical patent/JP4537431B2/ja
Publication of JP2008010007A publication Critical patent/JP2008010007A/ja
Application granted granted Critical
Publication of JP4537431B2 publication Critical patent/JP4537431B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

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

Claims (4)

  1. 暗号化されたコンテンツ(以下、「暗号化コンテンツ」という)と前記暗号化コンテンツを復号するプログラム(以下、「復号プログラム」という)とを外部バスを介して外部から入力し、当該入力した前記復号プログラムを実行することによって前記暗号化コンテンツを元のコンテンツに復号して前記外部バスへ出力するプログラム実行手段を有するマイクロプロセッサであって、
    前記プログラム実行手段に内部バスを介して接続された特別命令キャッシュ領域と特別データキャッシュ領域とを有し、前記プログラム実行手段が前記外部バスを介して入力する前記復号プログラムと前記暗号化コンテンツとを、前記内部バスを介して前記特別命令キャッシュ領域と前記特別データキャッシュ領域とに振り分けて記憶する内蔵キャッシュメモリと、
    前記内蔵キャッシュメモリが前記復号プログラムと前記暗号化コンテンツを前記特別命令キャッシュ領域と前記特別データキャッシュ領域に夫々記憶する際、前記復号プログラムと前記暗号化コンテンツの属性を示すタグデータを記憶する属性タグメモリと、
    前記内蔵キャッシュメモリの前記特別命令キャッシュ領域と前記特別データキャッシュ領域を前記内部バスを介してアクセスし、当該アクセスした特別命令キャッシュ領域と特別データキャッシュ領域に既に記憶されている前記復号プログラムと前記暗号化コンテンツとを取得し、当該取得した復号プログラムを実行することにより、当該取得した暗号化コンテンツを前記元のコンテンツに復号して前記外部バスへ出力する前記プログラム実行手段と、
    前記プログラム実行手段が前記内部バスを介して前記特別命令キャッシュ領域と前記特別データキャッシュ領域をアクセスする際、当該プログラム実行手段から発生されるプログラム属性データと前記属性メモリに記憶されている前記タグデータとを比較し、当該プログラム属性データと当該タグデータとが一致した場合に限り、前記プログラム実行手段による前記特別命令キャッシュ領域と前記特別データキャッシュ領域からの前記復号プログラムと前記暗号化コンテンツの取得を許可するアクセス識別制限手段と、を備え、
    前記内部バスと内蔵キャッシュメモリと属性タグメモリとプログラム実行手段とアクセス識別制限手段が外部から密閉されていること、
    を特徴とするマイクロプロセッサ。
  2. 前記内蔵キャッシュメモリは、前記特別命令キャッシュ領域と特別データキャッシュ領域をクリア処理した後、前記復号プログラムと前記暗号化コンテンツとを記憶すること、
    を特徴とする請求項1に記載のマイクロプロセッサ。
  3. 前記プログラム実行手段は、前記外部バスを介して入力される断片化された前記復号プログラムと前記暗号化コンテンツとを復元し、当該復元した復号プログラムと暗号化コンテンツを前記内部バスを介して前記内蔵キャッシュメモリの特別命令キャッシュ領域と特別データキャッシュ領域とに振り分けて記憶させること、
    を特徴とする請求項1又は2に記載のマイクロプロセッサ。
  4. 半導体チップに一体形成された構造になっていること、を特徴とする請求項1乃至3に記載のマイクロプロセッサ。
JP2007206661A 2007-08-08 2007-08-08 マイクロプロセッサ Expired - Fee Related JP4537431B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007206661A JP4537431B2 (ja) 2007-08-08 2007-08-08 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007206661A JP4537431B2 (ja) 2007-08-08 2007-08-08 マイクロプロセッサ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11214744A Division JP2001043139A (ja) 1999-07-29 1999-07-29 信号処理装置及びそれに用いる情報記録媒体

Publications (2)

Publication Number Publication Date
JP2008010007A JP2008010007A (ja) 2008-01-17
JP4537431B2 true JP4537431B2 (ja) 2010-09-01

Family

ID=39068085

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007206661A Expired - Fee Related JP4537431B2 (ja) 2007-08-08 2007-08-08 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP4537431B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0314053A (ja) * 1989-06-12 1991-01-22 Toshiba Corp 携帯可能記憶媒体
JPH09134259A (ja) * 1995-11-07 1997-05-20 Fujitsu Ltd セキュリティ機能を有する媒体制御装置および方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0314053A (ja) * 1989-06-12 1991-01-22 Toshiba Corp 携帯可能記憶媒体
JPH09134259A (ja) * 1995-11-07 1997-05-20 Fujitsu Ltd セキュリティ機能を有する媒体制御装置および方法

Also Published As

Publication number Publication date
JP2008010007A (ja) 2008-01-17

Similar Documents

Publication Publication Date Title
US6769087B2 (en) Data storage device and method for controlling the device
JP4489030B2 (ja) プロセッサ内にセキュアな起動シーケンスを提供する方法および装置
EP0794487B1 (en) Image information processing system and microprocessor for the protected reproduction of AV data
JP4850830B2 (ja) コンピュータシステム及びプログラム生成装置
JP4288893B2 (ja) 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子
JP2012014416A (ja) 記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法
JP2008299611A (ja) メモリセキュリティ装置
JPH06259248A (ja) メモリカード
US20130166922A1 (en) Method and system for frame buffer protection
US20100293392A1 (en) Semiconductor device having secure memory controller
EP1073051B1 (en) Signal processing apparatus and method and information recording medium to be used therein
US7130955B2 (en) Microprocessor and video/sound processing system
US20050193195A1 (en) Method and system for protecting data of storage unit
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
JP6696352B2 (ja) プログラマブルロジック装置、情報処理装置、処理方法、及び処理プログラム
KR20020021093A (ko) 엔터테인먼트 장치 및 디지탈 정보 로딩 방법
JP4537431B2 (ja) マイクロプロセッサ
JP7042837B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2001209584A (ja) 情報暗号化装置及びその方法
KR20080088911A (ko) 메모리의 배드정보를 암호화키로 사용하는 데이터저장카드, 연결장치 및 그 방법
JP3825121B2 (ja) マイクロプロセッサ及び映像情報処理システム
JP4429215B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
TWI781464B (zh) 用於資料之加密及解密的運算裝置
US9158943B2 (en) Encryption and decryption device for portable storage device and encryption and decryption method thereof
TWI777842B (zh) 資料保護方法和存儲裝置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100611

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100617

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees