JP4576100B2 - Information reproducing apparatus, secure module, and information reproducing method - Google Patents

Information reproducing apparatus, secure module, and information reproducing method Download PDF

Info

Publication number
JP4576100B2
JP4576100B2 JP2003203751A JP2003203751A JP4576100B2 JP 4576100 B2 JP4576100 B2 JP 4576100B2 JP 2003203751 A JP2003203751 A JP 2003203751A JP 2003203751 A JP2003203751 A JP 2003203751A JP 4576100 B2 JP4576100 B2 JP 4576100B2
Authority
JP
Japan
Prior art keywords
information
secure
memory
secure module
software
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 - Lifetime
Application number
JP2003203751A
Other languages
Japanese (ja)
Other versions
JP2004129227A (en
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003203751A priority Critical patent/JP4576100B2/en
Publication of JP2004129227A publication Critical patent/JP2004129227A/en
Application granted granted Critical
Publication of JP4576100B2 publication Critical patent/JP4576100B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、インターネットを介してダウンロードされた情報または記録媒体に格納されている情報を再生するための情報再生装置、セキュアモジュールおよび情報再生方法に関するものであり、特に、パーソナルコンピュータ等のオープンアーキテクチャを有する装置に対して、最低限のハードウェアを付加することで、安全なソフトウェア処理を実行することができる情報再生装置、セキュアモジュールおよび情報再生方法に関するものである。
【0002】
【従来の技術】
近年、ブロードバンドインターネットやディジタル放送が普及しつつあり、配信されたコンテンツ(主に、ディジタルAV(Audio Video)の安全性を保障する権利保護技術がクローズアップされている。
【0003】
この中でも特にパーソナルコンピュータ(PC:Personal Computer)は、オープンアーキテクチャであり、基本的に覗き見が出来るため、安全性の実現が困難とされている。
【0004】
しかしながら、一方でパーソナルコンピュータは、ブロードバンドインターネットの主要な出入り口として機能している。従って、パーソナルコンピュータ(出入り口)で安全性が保障される場合には、インターネット全体でのディジタルAVコンテンツの配信が可能になり意義が大きい。
【0005】
従来より、パーソナルコンピュータのソフトウェアによる権利保護については、安全性を保障するアルゴリズムの解析を困難にする難読化による手法が主流であった。
【0006】
しかしながら、パーソナルコンピュータ上のソフトウェアにおいては、一旦、メインメモリ上に実装してしまえば、コピーすることが容易であり、コピーした結果を時間をかけて解析することで、権利保護アルゴリズムが解析できる。
【0007】
従って、難読化による権利保護のシステムは、安全性が低いシステムであると考えられ、放送等恒常性が高いシステムで一度解析されたことによる被害を想定すると、採用が困難である。
【0008】
図7は、パーソナルコンピュータ50を用いた従来のシステムの構成例を示すブロック図である。この図に示したように、従来のシステムは、パーソナルコンピュータ50、ネットワーク51、スピーカ52、表示装置53および入力装置54によって構成されている。
【0009】
パーソナルコンピュータ50は、情報再生装置としての機能を備えており、CPU(Central Processing Unit)50a、ROM(Read Only Memory)50b、RAM(Random Access Memory)50c、ハードディスクドライブ50d、MB(Multimedia Board)50e、I/F(Interface)50f、I/F50g、バス50hによって構成され、ネットワーク51を介してダウンロードされた暗号化情報やハードディスクドライブ50dに格納された暗号化情報を復号してスピーカ52および表示装置53へ出力する。
【0010】
CPU50aは、ハードディスクドライブ50dに格納されているプログラムに従って各種演算処理を実行するとともに、装置の各部を制御する。ROM50bは、CPU50aが実行する基本的なプログラムやデータを格納している。RAM50cは、CPU50aが各種演算処理を実行する際に、実行対象となるプログラムやデータを一時的に格納する。
【0011】
ハードディスクドライブ50dは、CPU50aが実行するプログラムやデータ等を格納している。MB50eは、CPU50aから供給され、暗号化された音声データや画像データを復号し、元の音声信号や画像信号を生成した後、これらをスピーカ52および表示装置53へ出力する。
【0012】
I/F50fは、ネットワーク51を介して情報を送受信する際のインタフェースであり、プロトコル変換やデータのフォーマット変換を実行する。I/F50gは、入力装置54より入力されたデータを、パーソナルコンピュータ50の内部形式のデータに変換する。
【0013】
バス50hは、CPU50a、ROM50b、RAM50c、ハードディスクドライブ50d、MB50e、I/F50fおよびI/F50gを相互に接続し、これらの間で情報の授受を可能にする。
【0014】
ネットワーク51は、例えば、インターネットにより構成されている。スピーカ52は、MB50eから供給された音声信号を音声に変換して出力する。表示装置53は、例えば、CRT(Cathode Ray Tube)モニタや液晶モニタによって構成されており、MB50eから供給された画像信号を画像として表示する。入力装置54は、例えば、マウスやキーボードによって構成されている。
【0015】
図8は、図7に示したパーソナルコンピュータ50における情報の流れを示す図である。同図に示したように、ハードディスクドライブ50dには、基本ソフトウェア、暗号解読鍵群および暗号化コンテンツが格納されている。
【0016】
ここで、基本ソフトウェアは、暗号化コンテンツの暗号を解読するための処理を等を行うためのソフトウェアであり、悪意あるユーザに解読されるのを防止することを目的として、難読化されている。この難読化とは、以下のような処理が施されていることをいう。
【0017】
難読化前 X=X+Y
難読化後 X=X*2+1+Y*2−1
X=X/2
【0018】
すなわち、上記のように、難読化の前後で演算結果が同じであるが、難読化後は、アルゴリズムを解読するのが難しくなっている。
【0019】
ハードディスクドライブ50dにおける暗号解読鍵群は、暗号化コンテンツに施されている暗号を解読するための複数の鍵であり、悪意あるユーザに容易に取得されないようにすることを目的として、秘密のスクランブルが施された状態で秘密の場所に格納されている。
【0020】
暗号化コンテンツは、暗号化処理が施されたコンテンツであり、例えば、画像、音声、コンピュータデータ等から構成されている。
【0021】
暗号化コンテンツの再生が開始されると、以下の処理が実行される。
(1)ハードディスクドライブ50dから難読化された基本ソフトウェアが読み出され、RAM50c上に実装される。
【0022】
(2)読み出された基本ソフトウェアは、必要に応じて秘密の場所に格納され、秘密のスクランブルがかかった暗号解読鍵がハードディスクドライブ50dから読み出される。暗号解読鍵は、例えば、3〜5箇所に分けて秘密の場所に格納され、秘密の演算等を施さないと目的の鍵が得られないように処理されている。
【0023】
(3)ハードディスクドライブ50dから暗号化コンテンツが読み出され、暗号解読鍵で暗号が解読される。
【0024】
(4)暗号解読されたコンテンツが圧縮されている場合には、伸張処理(ビデオコンテンツの場合は、MPEG(Motion Picture Experts Group)伸張処理等)が実行され、得られたコンテンツがRAM50c上のバッファに格納された後、MB50eへ出力される。
【0025】
(5)MB50eは、入力されたコンテンツに対してD/A(Digtal/Analog)変換処理および描画処理を施し、得られた音声信号をスピーカ52(図7参照)へ出力するとともに、画像信号を表示装置53へ出力する。これにより、コンテンツが再生される。
【0026】
【発明が解決しようとする課題】
ところで、前述したように、従来においては、基本ソフトウェアがパーソナルコンピュータ50のRAM50cに実装されるため、悪意のあるユーザによって解読されたり、コピーされたりするという危険性を伴う。
【0027】
仮に、ハードディスクドライブ50dに格納されている基本ソフトウェアやその他を全て暗号化したとしても、その暗号を解くための暗号解読ソフトウェアがパーソナルコンピュータ50のどこかに存在すれば、その暗号解読ソフトウェアを解析して暗号解読鍵の格納場所が特定されると、やはり基本ソフトウェアが解析され、権利保護アルゴリズムが判明してしまう。
【0028】
特に、放送等、公共性が高いネットワークでは、権利保護アルゴリズムが判明しても容易にコンテンツの解読ができない処理法が望まれる。現行のハードウェア主体のディジタルテレビ受信機では、MULTI2、DES(Data Encryption Standard)などの暗号化が行われている。これらは、アルゴリズムは公知であるが、暗号解読鍵が判明しない限り、コンテンツの暗号を解読することが極めて困難である。
【0029】
しかしながら、ディジタルテレビ受信機では、暗号解読鍵がハードウェアに内蔵され、ソフトウェア上には読み出すことができないような構成が採られている。
【0030】
さらに、ディジタルテレビ受信機では、暗号解読回路やコンテンツ処理回路(MPEGビデオ伸張回路やMPEGオーディオ伸張回路)もハードウェアで構成されているため、処理の内容を覗き見することは極めて困難とされている。
【0031】
このようなディジタルテレビ受信機は、実際に商用化が進んでいる。日本のパーフェクTV(商標)や米国のDirecTV(商標)などは、かかるディジタルテレビ受信機の好例である。
【0032】
これに対して、ソフトウェア処理では、暗号解読鍵、暗号解読回路、コンテンツ処理回路が基本ソフトウェアで実現されており、このような基本ソフト自体、さらには途中の演算結果も容易に読み取り可能なパーソナルコンピュータ50上のRAM50cに実装されるため、解析、覗き見が容易に行われてしまうという問題があった。
【0033】
本発明は、上記に鑑みてなされたもので、パーソナルコンピュータ等のオープンアーキテクチャを有する装置に対して、最低限のハードウェアを付加することで、安全なソフトウェア処理を実行することができる情報再生装置、セキュアモジュールおよび情報再生方法を提供することを目的とする。
【0034】
【課題を解決するための手段】
上記目的を達成するために、本発明は、情報を再生する情報再生装置において、内部に格納されている情報を外部から参照することができない構造を有するセキュアモジュールと、外部から参照することが可能なメモリと、前記セキュアモジュールに実装され、いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を読み出し、該メモリ格納情報と、前記セキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、を備えたことを特徴とする。
【0035】
本発明は、情報再生装置に実装され、内部に格納されている情報を外部から参照することができない構造を有するセキュアモジュールにおいて、外部から参照することが可能であって前記情報再生装置に実装されたメモリに格納されたメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出す読み出し手段と、読み出された前記メモリ格納情報と前記セキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、を備えたことを特徴とする。
【0036】
また、本発明は、内部に格納されている情報を外部から参照することができない構造を有するセキュアモジュール内で実行され、いずれの手段も介さずに直接アクセスにより外部から参照することが可能なメモリに格納されたメモリ格納情報を読み出す読み出し工程と、読み出された前記メモリ格納情報と前記セキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック工程と、を含むことを特徴とする。
【0037】
この発明によれば、いずれの手段も介さずに直接アクセスによりメモリに格納されたメモリ格納情報を読み出し、該メモリ格納情報とセキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、メモリ格納情報の改ざんをチェックすることとしたので、パーソナルコンピュータ等のオープンアーキテクチャを有する装置に対して、最低限のハードウェア(セキュアモジュール)を付加することで、安全なソフトウェア処理を実行することができる。
【0038】
【発明の実施の形態】
以下、図面を参照して本発明にかかる情報再生装置、セキュアモジュールおよび情報再生方法の一実施の形態について詳細に説明する。
【0039】
図1は、本発明にかかる一実施の形態の構成を示すブロック図である。同図に示したシステムは、パーソナルコンピュータ100、ネットワーク200および表示装置300や、図示しない入力装置、スピーカ等によって構成されており、セキュアな環境で暗号化された情報(コンテンツ)を復号し、再生するためのものである。
【0040】
パーソナルコンピュータ100は、情報再生装置としての機能を備えており、PCメインプロセッサ101、ハードディスクドライブ102、入出力インタフェース103、サウスブリッジ104、ノースブリッジ105、メインメモリ106、画像LSI(Large Scale Integrated Circuit)107、画像メモリ108、PCI(Peripheral Component Interconnect)バス109およびセキュアモジュール150によって構成されている。
【0041】
また、パーソナルコンピュータ100は、ネットワーク200を介してダウンロードされた暗号化情報(コンテンツ)やハードディスクドライブ102に格納された暗号化情報(コンテンツ)を復号して表示装置300およびスピーカ(図示略)へ出力する。
【0042】
PCメインプロセッサ101は、ハードディスクドライブ102に格納されているセキュアソフトウェアや、その他のソフトウェアに従って各種演算処理を実行するとともに、装置の各部を制御する。
【0043】
ここで、上記セキュアソフトウェアは、後述する図2〜図5に示したセキュアソフトウェア180に対応しており、情報再生に際してセキュアな環境を提供するためのものであり、メインメモリ106に実装される。
【0044】
ハードディスクドライブ102は、ディスクを有する大容量記憶装置であり、PCメインプロセッサ101が実行するセキュアソフトウェア180(図2参照)やその他のソフトウェアを格納している。
【0045】
入出力インタフェース103は、ネットワーク200を介して情報(コンテンツ)を送受信する際のインタフェースであり、プロトコル変換やデータのフォーマット変換を実行する。
【0046】
サウスブリッジ104は、入出力インタフェース103とPCIバス109とを相互接続する機能を備えており、ブリッジ回路を内蔵している。ノースブリッジ105は、PCメインプロセッサ101とメインメモリ106、画像LSI107を相互に接続してデータの橋渡しを行う機能を備えている。なお、サウスブリッジ104とノースブリッジ105とは、高速バスにより相互接続されている。
【0047】
メインメモリ106は、例えば、RAMによって構成されており、図2〜図5に示したセキュアソフトウェア180や、その他ソフトウェアが実装されている。セキュアソフトウェア180がPCメインプロセッサ101により実行されることにより、図2〜図5に示したセキュアソフトウェア180内の各ブロックの機能が実現される。
【0048】
セキュアソフトウェア180は、メインメモリ106に実装され、PCメインプロセッサ101により実行されることにより、セキュアモジュール150と協調して、セキュアな環境で暗号化されたMPEGデータをデコードする機能等を提供する。
【0049】
画像LSI107は、デコード済みの画像情報を画像メモリ108に格納させたり、表示装置300に画像として表示させる機能を備えている。画像メモリ108は、画像LSI107の制御により、画像情報を格納する。
【0050】
PCIバス109は、ハードディスクドライブ102、サウスブリッジ104および後述するセキュアモジュール150のPCIインタフェース155との間を相互接続するバスである。
【0051】
セキュアモジュール150は、TRM(Tamper Resistant Module)構造を有しており、外部からの覗き見を防止するとともに、内部のデータが改ざんされることを防止するハードウェアである。
【0052】
TRM構造は、半導体チップ(この場合、セキュアモジュール150)などの内部解析や改ざんを物理的および論理的に防衛するための構造をいう。具体的には、セキュアモジュール150においては、内部に強固で粘着力が高いコーティングが施され、その表面が剥がされると内部の回路が完全に破壊されたり、ダミーの配線が配されている。
【0053】
セキュアモジュール150は、ハードディスクドライブ102からセキュアソフトウェア180(図2〜図5参照)等を読み出す機能、メインメモリ106に実装されたセキュアソフトウェア180を不定期に書き換える機能、メインメモリ106に設定された各種バッファの位置を不定期に変更する機能、暗号化機能、復号化機能等を備えている。
【0054】
セキュアモジュール150は、セキュアモジュールプロセッサ151、RAM152、ROM153、暗号復号エンジン154およびPCIインタフェース155、内部バス156から構成されている。セキュアモジュールプロセッサ151は、ROM153に格納されたファームウェアを実行することにより、上述したセキュアモジュール150の各種機能を実現する。
【0055】
RAM152は、セキュアモジュールプロセッサ151が各種演算処理を実行する際に、実行対象となるプログラムやデータを一時的に格納する。また、RAM152には、暗号鍵等が格納されている。ROM153は、セキュアモジュールプロセッサ151が実行する基本的なファームウェアやデータを格納している。
【0056】
暗号復号エンジン154は、暗号化機能、復号化機能を実現する。PCIインタフェース155は、PCIバス109を介して各部とのインタフェースをとる。内部バス156は、セキュアモジュールプロセッサ151、RAM152、ROM153、暗号復号エンジン154およびPCIインタフェース155の各部を相互接続するバスである。
【0057】
図2〜図5には、上述したセキュアソフトウェア180や各種ソフトウェアによって実現される機能(初期化/ロード部160、ドライバ170、入力バッファ181〜MPEG出力部188)のブロックが図示されている。これらの図において、図1の各部に対応する部分には同一の符号を付ける。
【0058】
図2に示した初期化/ロード部160は、メインメモリ106(図1参照)に存在し、メインメモリ106上の空き領域を探し、ソフトウェアを当該空きメモリ領域にロード(実装)する機能を備えている。なお、実際には、初期化/ロード部160は、PCメインプロセッサ101でソフトウェアが実行されることにより上記機能を実現する。
【0059】
また、初期化/ロード部160は、パーソナルコンピュータ100の他のアプリケーションソフトウェア(図示略)と連動する必要がある場合、ソフトウェア同士のリンクを設定する機能を備えている。
【0060】
ここで、パーソナルコンピュータ100において、オペレーティングシステム(図示略)の支配下で他のアプリケーションソフトウェアとセキュアソフトウェア180とがマルチタスク環境で同時に動作する場合には、オペレーティングシステムが各ソフトウェアが動作する時間を割り当てる機能を持つ。
【0061】
初期化/ロード部160は、セキュアソフトウェア180が実装されたメモリ領域などの情報をオペレーティングシステムへ通知し、セキュアソフトウェア180が動作する時間の割り当てを行うための制御を行う。
【0062】
これにより、オペレーティングシステムは、例えば、セキュアソフトウェア180が100ミリセカンド動作したら、その後、別のソフトウェアが100ミリセカンド動作するなどのソフトウェア実行に関するスケジューリングを行う。
【0063】
また、初期化/ロード部16がオペレーティングシステムと連携を採る理由は、オペレーティングシステムの配下の複数のタスク(プログラム)の一つとしてセキュアソフトウェア180を動かすには、プロセス間の調整を行うオペレーティングシステムの助けが必要だからである。
【0064】
ドライバ170は、オペレーティングシステムの配下で動作する通常のドライバ用のソフトウェアに対応している。セキュアモジュール150とセキュアソフトウェア180(入力バッファ181)との間においては、ドライバ170を経由して、大容量の情報(暗号化MPEGストリーム等)が授受される。
【0065】
つまり、ドライバ170を利用することにより、オペレーティングシステムにおけるドライバ制御用の各種機能が流用可能となる。
【0066】
なお、セキュアモジュール150とセキュアソフトウェア180との間において、上記暗号化MPEGストリーム以外の情報は、DMA(Direct Memory Access)などの直接アクセスにより授受されることが大前提とされる。つまり、セキュアモジュール150とセキュアソフトウェア180とは、ドライバ170を経由せずに直接アクセスすることになる。
【0067】
このように、直接アクセスを大前提とした場合には、オペレーティングシステムがドライバ170へ提供するさまざまなサービスの利用ができなくなるというデメリットが生じる。
【0068】
しかしながら、この場合には、オペレーティングシステムの配下の外となり、オペレーティングシステムが関知しない環境で情報の授受が行えるため、安全性が増大するというセキュリティ上の大きなメリットが生じるのである。
【0069】
例えば、セキュアモジュール150とセキュアソフトウェア180との間でドライバ170を経由して情報が授受された場合には、常に、オペレーティングシステムに対し割り込みが発生し、この割り込みに基づいて、他のソフトウェアが情報を逐次「覗き見」することが可能となり、セキュリティが低くなる。ここで、数あるドライバの中には、情報を他ソフトウェアに転送するという機能がついたドライバも存在する。
【0070】
一方、セキュアモジュール150とセキュアソフトウェア180との間でドライバ170を経由せずに直接アクセスにより情報を授受した場合には、オペレーティングシステムに対し割り込みが発生しない。
【0071】
従って、他のソフトウェアが「覗き見」をする場合には、ポーリングなどにより常にセキュアソフトウェア180の状態(メインメモリ106上のバッファの位置を解析し、バッファ内の情報が更新されたかチェックし、更新された場合に「覗き見」する)を監視する必要がある。
【0072】
しかしながら、直接アクセスの場合には、セキュアモジュール150からセキュアソフトウェア180へ情報がいつ到達するかが分からないので、ポーリングするのが実質的に不可能となる。なお、仮にポーリングで一部の情報の「覗き見」ができたとしても、全部のデータの「覗き見」は不可能である。
【0073】
また、本一実施の形態において、暗号化MPEGストリームをドライバ170経由としたのは、MPEGストリームが暗号化されていて、たとえ盗まれても安全と判断し、ドライバ170の機能を流用し、効率良く暗号化MPEGストリームをセキュアソフトウェア180に到達させることを優先させたためである。
【0074】
入力バッファ181は、メインメモリ106上に領域設定されたバッファであり、暗号化MPEGストリームを格納する。TSデコーダ182は、暗号復号部184の要求を受け、バッファ181から暗号化MPEGストリーム(正確に言うとMPEG−TSストリーム)を読み出し、TSデコード処理した後にビデオバッファ183に暗号化MPEGビデオ情報を格納する。
【0075】
TSデコード処理は、暗号化MPEGストリームから、圧縮された暗号化MPEGビデオ情報を抽出する処理である。暗号化MPEGストリームには、時分割多重された形で(1)暗号化MPEGビデオ情報、(2)暗号化MPEGオーディオ情報、(3)暗号化MPEGビデオ情報と暗号化MPEGオーディオ情報により構成される番組情報(番組の名称、放送時期、番組のあらすじ、番組の料金など)が含まれている。
【0076】
なお、実際のセキュアソフトウェアでは、暗号化MPEGビデオ情報に加えて、暗号化MPEGオーディオ情報もデコードする必要がある。その場合の暗号化MPEGオーディオ情報のデコードについては、暗号化MPEGビデオ情報のデコードと同種のプログラムが必要になることは言うまでもない。
【0077】
また、TSデコーダ182は、入力バッファ181の容量を常に監視し、それが一定水準以下になると、セキュアソフトウェア180へ入力バッファ181の補給を依頼する。
【0078】
ビデオバッファ183は、メインメモリ106上に領域設定されたバッファであり、上述した暗号化MPEGビデオ情報を格納する。このビデオバッファ183は、MPEGビデオの国際規格で定められたVBVバッファに相当するバッファである。
【0079】
暗号復号部184は、MPEGビデオデコーダ186の要求を受け、ビデオバッファ183から暗号化MPEGビデオ情報を読み出し、小バッファ185が一杯になるまで暗号化MPEGビデオ情報を復号する。また、暗号復号部184は、復号済みの圧縮MPEGビデオ情報を小バッファ185へ格納する。
【0080】
小バッファ185は、メインメモリ106上に領域設定されたバッファであり、上述した圧縮MPEGビデオ情報を格納する。MPEGビデオデコーダ186は、後段のMPEG出力部188が画像情報を出力したことを認識する。
【0081】
ここで、MPEG画像メモリ187に出力した画像情報分の空き領域ができるため、MPEGビデオデコーダ186は、小バッファ185から次の1枚分の圧縮MPEGビデオ情報を読み出し、伸張処理(デコード)を行った後、画像情報をMPEG画像メモリ187に格納する。
【0082】
また、小バッファ185は、少量(画像1枚未満)の圧縮MPEGビデオ情報しか格納できないように設定されている。これは、復号済みの圧縮MPEGビデオ情報をメインメモリ106上に存在させることがセキュリティ上非常に危険であり、この危険を回避するためのである。
【0083】
従って、小バッファ185は、画像1枚分の圧縮MPEGビデオ情報を保持することはなく、MPEGビデオデコーダ186でデコードが開始されてから間もなく「空」になる。
【0084】
また、MPEGビデオデコーダ186は、小バッファ185が「空」になるか、または小バッファ185内の情報量が、予め設定されたしきい値より小さくなった時点で、暗号復号部184に対して復号要求を出し、小バッファ185に圧縮MPEGビデオ情報を格納させる。
【0085】
MPEG画像メモリ187は、例えば、4フレーム分、即ち30分の4秒分(約133ミリセカンド)に対応する画像情報を格納する。MPEG出力部188は、MPEG画像メモリ187から伸張(デコード)済みの画像情報(1枚分または1フレーム分)を読み出し、これを画像LSI107へDMA転送する。ここで、DMA(直接アクセス)を使うのは、MPEG出力部188から画像LSI107への転送を高速に行うためである。
【0086】
一実施の形態では、メインメモリ106に設定されたビデオバッファ183に暗号化された暗号化MPEGビデオ情報を格納する点と、ビデオバッファ183に格納された暗号化MPEGビデオ情報を少しずつ復号化し、小バッファ185に格納しながらMPEGビデオデコードを実行する点に特徴がある。
【0087】
図3に示したセキュアモジュール150において、メモリ空間152Aは、RAM152(図1参照)に設定されており、セキュアモジュール150とTSデコーダ182との間で実行される第1の秘密番号通信で用いられる。
【0088】
セキュアモジュール150(セキュアモジュールプロセッサ151)は、メモリ空間152Aについて1度目は正規の値、2度目は違う値が読み出されるように、制御する。
【0089】
メモリ空間152Bは、RAM152(図1参照)に設定されており、セキュアモジュール150と暗号復号部184との間で実行される第2の秘密番号通信で用いられる。
【0090】
セキュアモジュール150(セキュアモジュールプロセッサ151)は、メモリ空間152Aと同様にして、メモリ空間152Bについて1度目は正規の値、2度目は違う値が読み出されるように、制御する。
【0091】
(電源投入時のセキュア機能)
つぎに、図2を参照して、図1に示したパーソナルコンピュータ100における電源投入時のセキュア機能について説明する。
【0092】
図2には、パーソナルコンピュータ100の電源投入時に、初期化/ロード部160がセキュアモジュール150からセキュアソフトウェア180をメインメモリ106にロードする場合について図示されている。
【0093】
同図において、パーソナルコンピュータ100に電源が投入されると、オペレーティングシステムが起動され、デスクトップ(図示略)に起動すべきソフトウェア(プログラム、アプリケーション)のリストが表示される。
【0094】
これにより、ユーザは、上記リストを見て所望のソフトウェアとして、例えば、セキュアソフトウェア180を起動させる。具体的には、ユーザにより、デスクトップに表示されたセキュアソフトウェア180に対応するアイコンがクリックされると、セキュアソフトウェア180が起動される。
【0095】
つまり、初期化/ロード部160は、セキュアモジュール150に対して、セキュアソフトウェア180のロードを要求する。なお、一般の初期化/ロード部は、ハードディスクドライブ102からソフトウェアを直接ロードするが、一実施の形態では、セキュアモジュール150を経由している。
【0096】
セキュアモジュール150(セキュアモジュールプロセッサ151)は、ハードディスクドライブ102からセキュアソフトウェア180を読み出した後、このセキュアソフトウェア180の特定部分(例えば、秘密の番号が記述された部分)を変更する。つぎに、セキュアモジュール150は、変更後のセキュアソフトウェア180を初期化/ロード部160へ渡す。
【0097】
初期化/ロード部160は、メインメモリ106上の空き領域を探し、当該空き領域に変更後のセキュアソフトウェア180をロード(実装)する。
【0098】
ここで、パーソナルコンピュータ100上のメモリ空間は、セキュアモジュール150からDMAなど直接アクセスできることが前提とされており、例えば、メインメモリ106上のスワップ不可能領域である必要がある。スワップ不可能領域の獲得は、オペレーティングシステムの機能を利用すればよい。
【0099】
仮に、スワップ可能領域にセキュアソフトウェア180が実装された場合、セキュアソフトウェア180は、メインメモリ106上からハードディスクドライブ102のメモリ空間などにオペレーティングシステムの機能で自動的にスワップされる可能性がある。
【0100】
スワップされるのは、同時に複数のソフトウェアが動作し、パーソナルコンピュータ100上のメインメモリ106に全部のソフトウェアが搭載出来なくなるためである。
【0101】
しかしながら、かかる場合には、セキュアソフトウェア180がメインメモリ106上に存在しない可能性があり、セキュアモジュール150からDMAなどで直接アクセスできなくなるという問題が発生する。
【0102】
そこで、一実施の形態では、ロード時にセキュアモジュール150をスワップ不可能領域に実装し、セキュアモジュール150から常にセキュアソフトウェア180の実装位置が分かるようにしている。以上が、電源投入から、セキュアソフトウェア180がメインメモリ106にロードされるまでの動作例である。
【0103】
また、上述のように、電源投入時に初期化/ロード部160を介した場合には、オペレーティングシステムとリンクを貼ることができるので(1)プログラムのバッファ領域、(2)全体のプログラムコード、(3)プログラムの存在するメモリ領域などを全面的に変更することが可能となる。
【0104】
(通常動作時のセキュア機能)
つぎに、図3を参照して、図1に示したパーソナルコンピュータ100における電源投入後の通常動作時のセキュア機能について説明する。
【0105】
図3においては、パーソナルコンピュータ100のメインメモリ106にセキュアソフトウェア180がロード(実装)されている。
【0106】
この場合、セキュアソフトウェア180は、例えば以下のような動作を行う。
同図においては、最終的に画像情報を消費しているのが表示装置300であり、画像LSI107と連動していると考える。
【0107】
まず、画像LSI107が表示装置300にある画像を表示し終えると、次の画像を表示するための準備をセキュアソフトウェア180に依頼する。これにより、MPEG出力部188は、MPEG画像メモリ187から画像情報(1枚分)を読み出し、これを画像LSI107へDMA転送する。
【0108】
暗号復号部184は、MPEGビデオデコーダ186の要求を受け、ビデオバッファ183から暗号化MPEGビデオ情報を取り出し、小バッファ185が一杯になるまで暗号化MPEGビデオ情報を復号する。復号時、暗号復号部184は、セキュアモジュール150から復号鍵を授受する。
【0109】
復号鍵は、ある限られた時間(例えば数秒間)しか有効でなく、それ以降は、新規に復号鍵をセキュアモジュール150から授受する必要がる。セキュアモジュール150から復号鍵を授受するアルゴリズムは、例えば、後述する第2の秘密番号通信に含まれてもよい。
【0110】
これにより、セキュアモジュール150は、セキュアソフトウェア180が秘密の番号を知っていることを確認しつつ、復号鍵を安心してセキュアソフトウェア180へ提供することが可能となる。
【0111】
また、暗号復号部184は、ビデオバッファ183の暗号化MPEGビデオ情報の残存量を常に監視しており、これが一定量以下となったら、TSデコーダ182に暗号化MPEGビデオ情報の補給を依頼する。
【0112】
つぎに、TSデコーダ182は、暗号復号部184からの上記依頼を受け、入力バッファ181から暗号化MPEGストリームを読み出し、TSデコード処理を施す。つぎに、TSデコーダ182は、暗号化MPEGビデオ情報をビデオバッファ183へ格納する。
【0113】
また、TSデコーダ182は、入力バッファ181の容量を常に監視し、それが一定水準以下になると、セキュアモジュール150へ暗号化MPEGストリームの補給を依頼する。
【0114】
これにより、セキュアモジュール150は、ハードディスクドライブ102より暗号化された暗号化MPEGストリームを読み出す。つぎに、セキュアモジュール150の暗号復号エンジン154は、一旦、暗号化MPEGストリームを復号した後、別の暗号鍵で再暗号化する。この再暗号化された暗号化MPEGストリームがセキュアモジュール150からセキュアソフトウェア180へ提供される。
【0115】
ここで、再暗号化するのは、ハードディスクドライブ102から読み出された暗号化MPEGストリームをそのままセキュアソフトウェア180へ提供した場合、パーソナルコンピュータ100で最もセキュリティーが低いセキュアソフトウェア180に復号鍵を渡すことになり、危険だからである。
【0116】
これに対して、セキュアモジュール150において再暗号化した場合には、ハードディスクドライブ102に格納された暗号化MPEGストリームではなく、そのときのセキュアソフトウェア180用に再暗号化した、そのときのセキュアソフトウェア180でしか使えない暗号化MPEGストリームがセキュアソフトウェア180へ提供される。
【0117】
従って、いついかなるときでも読み出せるハードディスクドライブ102内の暗号化MPEGストリームよりも、再暗号化した暗号化MPEGストリームのほうが危険が少ない。
【0118】
また、図3においては、上述した動作に並行して、セキュアソフトウェア180の安全性を確認するための動作が実行される。この動作においては、次の(1)〜(4)に示した処理が実行され、セキュアモジュール150がセキュアソフトウェア180に様々な作用を及ぼし、応答等が授受される。
【0119】
(1)スキャン認証処理
(2)プログラムを不定期に書き換える処理
(3)バッファの位置を不定期に書き換える処理
(4)秘密の番号通信処理
【0120】
ここで、(1)〜(4)において、(1)〜(3)は、セキュアモジュール150により実行される。(4)は、セキュアモジュール150およびセキュアソフトウェア180により実行される。
【0121】
以下では、(1)〜(4)の処理について順次説明する。はじめに、(1)スキャン認証処理について説明する。
【0122】
スキャン認証処理において、セキュアモジュール150は、動作中のセキュアソフトウェア180が実装されているメインメモリ106の一部領域または全領域にDMAなどで直接アクセスし、セキュアソフトウェア180のデータの一部または全部を読み出す。
【0123】
つぎに、セキュアモジュール150は、読み出したデータと、RAM152(図1参照)等に予め格納されたデータとを比較し、一致するか否かにより認証を行う。例えば、悪意のあるユーザによりセキュアソフトウェア180が改ざんされている場合には、プログラムが書き換えられているため、上記比較結果が不一致とされ、認証NGとされる。
【0124】
一方、セキュアソフトウェア180が改ざんされていない場合には、上記比較結果が一致とされ、認証OKとされる。
【0125】
具体的な実現方法としては、セキュアモジュール150のRAM152に、セキュアソフトウェア180と同内容を格納し、メインメモリ106からセキュアソフトウェア180をDMAなどで直接に読み出し、その結果とRAM152に格納されている内容と逐一比較する方法がある。
【0126】
また、一実施の形態では、セキュアモジュール150のRAM152のメモリ容量が小さくセキュアソフトウェア180の全てを格納できない場合には、チェックサムのような方法によりスキャン認証処理を行ってもよい。
【0127】
すなわち、この場合には、セキュアソフトウェア180のコードを全部加算した結果だけをRAM152に格納しておき、メインメモリ106からセキュアソフトウェア180をDMAで読み出した後、コードを加算した結果とRAM152に格納された内容とを比較し、比較結果が一致した場合は、セキュアソフトウェア180が改ざんされていないと判断される(認証結果=OK)。
【0128】
また、スキャン認証による改ざんの検出は、セキュアモジュール150がセキュアソフトウェア180と関係なく単独でセキュアソフトウェア180が実装されているメインメモリ106に直接アクセスすることにより行われる。
【0129】
また、スキャン認証処理は、オペレーティングシステムを一切経由しないのでオペレーティングシステムの機能などを流用した改ざんや覗き見に対しても安全性が強い。
【0130】
これに対して、オペレーティングシステムを経由した場合には、例えば、「いつスキャン認証処理が実行されているか」をオペレーティングシステムへ通知される割り込み情報などで悪意のユーザに簡単に知られてしまう可能性が高いのである。
【0131】
次に、(2)プログラムを不定期に書き換える処理について説明する。プログラムを不定期に書き換える処理において、セキュアモジュール150(セキュアモジュールプロセッサ151)は、セキュアソフトウェア180が動作中に、セキュアソフトウェア180が実装されたメモリ領域(メインメモリ106)に対して、直接にDMA転送などで書き込みをリアルタイムで行う。
【0132】
ここで、前述した(1)スキャン認証処理が読み出し動作であるのに対して、(2)プログラムを不定期に書き換える処理では、書き込み動作を行う。具体的には、オペレーティングシステムにわからないように、セキュアモジュール150がオペレーティングシステムを介さずセキュアソフトウェア180のプログラムなどの一部を書き換える。
【0133】
これにより、後にスキャン認証処理を実行した場合に、セキュアソフトウェア180が動作している最中でも、認証結果がリアルタイムで変化し、スキャン認証処理における安全度が向上する。
【0134】
ここで、スキャン認証とプログラムの不定期の書き換えとの相乗効果について説明する。図2においては、例えば、セキュアソフトウェア180の中の「秘密の番号通信を行うためのプログラム」を書き換える。
【0135】
この場合には、リアルタイムで書き換え、その後、その書き換えたプログラムのコードに対し、スキャン認証処理を実行するため安全度が向上する。悪意のあるユーザ(ハッカー)が如何に有能であっても、リアルタイムに変化するプログラムをハッキングすることが困難であることは、容易に想像される。
【0136】
また、一実施の形態では、書き換えたプログラムの実動作を確認することで、本当に実動作中のプログラムが書き換わっていることを確認することもできる。
これは、以下の攻撃に対して有効である。
【0137】
すなわち、悪意のあるユーザは、スキャン認証を誤魔化すため、スキャン認証用(誤魔化し用)の「セキュアソフトウェアa」と、実際に動作する「セキュアソフトウェアb」というのセキュアソフトウェアをパーソナルコンピュータ100のメインメモリ106に並列的に実装し、「セキュアソフトウェアa」を対象としてスキャン認証処理を実行させ、実動作は「セキュアソフトウェアb」が行うような攻撃が考えられる。
【0138】
スキャン認証の目的は、プログラムの書き換えを不可能にすることである。しかしながら、偽の「セキュアソフトウェアa」を作ることで、悪意のあるユーザによって、「セキュアソフトウェアb」を自由に書き換えられ、スキャン認証が誤魔化される。
【0139】
また、初期化/ロード部160がセキュアソフトウェア180をロードする場合には、セキュアモジュール150に対してロード先のメモリ領域を通知している。
【0140】
しかしながら、その時、初期化/ロード部160がセキュアモジュール150に偽のメモリ領域としてセキュアソフトウェアaのメモリ領域を通知することにより、上述した攻撃が可能となる。
【0141】
これに対して、一実施の形態では、リアルタイムでセキュアソフトウェア180の一部(または全部)を書き換え、その書き換えた結果で、セキュアソフトウェア180の実動作を変化させ、その変化をセキュアモジュール150が検知することでセキュアソフトウェア180の安全性をさらに向上させることができる。
【0142】
一実施の形態において変更されるのは、例えば、「秘密の番号通信プログラム」である。この「秘密の番号通信プログラム」は、セキュアソフトウェア180の中に、セキュアモジュール150とセキュアソフトウェア180との間で「秘密の番号」を通信し、セキュアモジュール150がセキュアソフトウェア180の安全性を確認するためのプログラムである。
【0143】
例えば、セキュアモジュール150から秘密の番号をセキュアソフトウェア180へ通知した後、セキュアソフトウェア180がセキュアモジュール150へ正規の秘密の番号を返信する。
【0144】
ここで、正規の秘密の番号以外の番号がセキュアモジュール150へ返信された場合、セキュアモジュール150は、セキュアソフトウェア180が改ざんされたと判断する。秘密の番号は、複数の番号からなる番号シーケンスであっても良い。
【0145】
このように、一実施の形態では、セキュアモジュール150が、DMAなどの方法で直接にセキュアソフトウェア180に対してスキャン認証処理を実行し、コードの一部をリアルタイムで書き換え、そのコードが動作していることを確認することにより、上述した攻撃を防ぐことができる。
【0146】
以上では、「成り済まし」プログラムを検出する構成例について説明した。「成り済まし」を発見したら、セキュアモジュール150は、セキュアソフトウェア180の暗号復号部184への復号鍵の提供を中止する。
【0147】
セキュアモジュール150では、複数の復号鍵が存在し、各復号鍵が、例えば、数秒間しか有効でない。従って、復号鍵の提供が停止されると、数秒後には、セキュアソフトウェア180で、暗号化MPEGストリームにかかる一連の処理を続行できなくなる。
【0148】
つぎに、(3)バッファの位置を不定期に書き換える処理について説明する。
(3)の処理では、前述した(1)および(2)の処理によりセキュアソフトウェア180の安全性を確認しつつ、さらにセキュアソフトウェア180が使うバッファ(データ領域)をリアルタイムで変更することで「覗き見」攻撃に対処する。
【0149】
ここで、「覗き見」とは、セキュアソフトウェア180の中のデータ領域を本プログラムと同時に(時分割に)動作する他のプログラムが「覗き見」し、情報を盗むことである。
【0150】
本来、パーソナルコンピュータ100におけるメモリ空間は、時分割に動作するどのプログラムからも「覗き見」が可能である。これは、現状のプロセッサがどのメモリ領域もアクセスできるように設計されていて、プログラムごとにメモリ空間のアクセスを制御する機構がないためである。
【0151】
最近では、オペレーティングシステムレベルでプログラムごとにアクセスできるメモリ空間を制御できるものも散見されるが、決して十分でない。悪意のあるユーザがその気になれば、簡単に他のメモリ空間の「覗き見」が可能であり、セキュアソフトウェア180の構造を解析し、どこに肝心なデータがあるかを見つけ出して「覗き見」によりデータを盗むことが可能である。
【0152】
例えば、図3に示したセキュアソフトウェア180では、入力バッファ181、ビデオバッファ183、小バッファ185、MPEG画像メモリ187(総称してバッファという)の位置が特定されれば、そのメモリ空間を「覗き見」することで、MPEGストリーム情報などを盗むことが可能である。
【0153】
特に、復号済みの生の圧縮MPEGビデオ情報が格納された小バッファ185は、扱い易く、悪意のあるユーザの攻撃の標的になり易い。MPEG画像メモリ187は、例え位置が特定されても、デコード済みの大容量の画像情報が格納されている。
【0154】
従って、上記画像情報をハードディスクドライブ102に蓄積し盗むことは、ハードディスクドライブ102のデータ転送スピード、ハードディスクドライブ102に繋がるPCIバス109などの転送スピードを考慮すると困難である。
【0155】
そこで、一実施の形態では、バッファの位置を不定期に書き換える、すなわち、バッファの開始番地などをDMAでプログラムコードを書き換えることにより、「覗き見」による情報の盗難を困難にしている。
【0156】
つぎに、(4)秘密の番号通信処理について説明する。秘密の番号通信処理では、図3に示したセキュアモジュール150は、セキュアソフトウェア180のある領域にデータ(最初の秘密番号など)を書き込む(第1および第2の秘密番号通信)。
【0157】
つぎに、このデータをセキュアソフトウェア180が確認し、適当な番号を返すことで、セキュアモジュール150は、セキュアソフトウェア180の安全性を確認する。
【0158】
秘密の番号は、単独の番号の他に、シーケンス番号であったり、テキスト情報であってもよい。当然ながら、この秘密の番号は、セキュアモジュール150とセキュアソフトウェア180しか知らない情報である。従って、先ほどの「覗き見」解析などでこの番号が解析されないため、秘密の番号は、毎回、セキュアモジュール150により変更される。
【0159】
また、秘密の番号通信処理においては、セキュアモジュール150からセキュアソフトウェア180のメモリ領域にデータが書き込まれた場合には、それを「覗き見」される危険がある。
【0160】
そこで、一実施の形態では、上記危険を回避するために、セキュアモジュール150内に1度読み出すと正規の値が読めるが、2度目は違う値(例えば、「0」)が読み出されるメモリ空間152Aおよび152Bを設けて、これらのメモリ空間152Aおよび152Bを介してデータのやり取りが行われる。
【0161】
また、一実施の形態では、1度読み出すと正規の値で2度目は「0」が出るメモリ空間152B等を利用して、セキュアモジュール150とセキュアソフトウェア180との間で復号鍵や暗号鍵などの情報が授受される。なお、メモリ空間152Aおよび152Bは、当然のことながら、暗号鍵以外の情報の伝達にも使用可能である。
【0162】
(全切替時のセキュア機能)
つぎに、図4を参照して、図1に示したパーソナルコンピュータ100における全切替時のセキュア機能について説明する。
【0163】
図4には、パーソナルコンピュータ100のメインメモリ106にロード(実装)されたセキュアソフトウェア180の通常動作中に初期化/ロード部160を用いて、セキュアソフトウェア180の全てを別のセキュアソフトウェア180’(TSデコーダ182’、暗号復号部184’、MPEGビデオデコーダ186’、MPEG出力部188’等)に切り替える場合が図示されている。
【0164】
全切替時において、メインメモリ106上には、変更前のセキュアソフトウェア180と変更後のセキュアソフトウェア180’とが、一時期、並列的に存在する。
【0165】
これは、動作中にセキュアソフトウェア180を停止させると、例えば、MPEGの画像再生が途中で停止したりする可能性があり、これを避けるための処置である。
【0166】
ここで、セキュアソフトウェア180をメインメモリ106から削除した後に、セキュアソフトウェア180’を初期化/ロード部160よりロードした場合には、時間がかかり、MPEGの画像再生が停止するという事態が発生する。
【0167】
一実施の形態では、上記事態を回避するために、初期化/ロード部160により、セキュアソフトウェア180を削除する前に、セキュアソフトウェア180’を予めメインメモリ106にロードする。これにより、セキュアソフトウェア180からセキュアソフトウェア180’への移行時間が短縮される。
【0168】
また、セキュアソフトウェア180からセキュアソフトウェア180’へ切替を行う場合には、セキュアソフトウェア180が使っていたバッファ領域の引継ぎも必要である。
【0169】
例えば、図2および図3においては、ビデオバッファ183に数秒分の暗号化MPEGビデオ情報が格納されている可能性があり、MPEG画像メモリ187に例えば4フレーム分、即ち30分の4秒分(約133ミリセカンド)の画像情報が格納されている可能性がある。
【0170】
しかも、ビデオバッファ183に何秒分の暗号化MPEGビデオ情報が格納されているかは、MPEGビデオのデコード処理を実行しないと分からない。
【0171】
これは、MPEGの圧縮率が画像に依存し、圧縮容易な画像の場合、たくさんの画像を蓄積できるが、圧縮効率の悪い画像(動画成分が多く、いちいち更新しなくてはならない画像)の場合は、少ししかビデオバッファ183に格納できないためである。このため、一実施の形態では、処理途中のバッファ情報をセキュアソフトウェア180’がセキュアソフトウェア180から引き継ぐ必要がある。
【0172】
通常、セキュアソフトウェアを初期化/ロード部160を使用し切り替える(変更する)のは、以下の理由による。セキュアソフトウェアは、セキュアモジュール150による直接の書き込み(DMA)でリアルタイムに変更されている。
【0173】
しかしながら、この変更では、セキュアソフトウェアの一部を変更するだけで、セキュアソフトウェア全体を変更するのが困難である。セキュアソフトウェアを全体的に変更するには、やはり初期化/ロード部160を経由し、抜本的にやる必要がある。このため、一実施の形態では、初期化/ロード部160による変更も可能な構成としている。
【0174】
具体的には、セキュアモジュール150は、初期化/ロード部160に対して、セキュアソフトウェアの切替要求を出す。これにより、初期化/ロード部160は、セキュアモジュール150へロード要求を出す。セキュアモジュール150は、初期化/ロード部160の要求に応えて、前述した動作と同様にして、「変更されたセキュアソフトウェア180’を初期化/ロード部160へ渡す。
【0175】
ここで、セキュアモジュール150が、最初の切替え要求を初期化/ロード部160へ出す理由は、セキュアモジュール150から出した方が、オペレーティングシステムに近い初期化/ロード部160から出すより安全であり、オペレーティングシステムから何時セキュアソフトウェアの切り替えが行われたかをわからなくするためである。
【0176】
次に、初期化/ロード部160は、パーソナルコンピュータ100上のスワップ不可能空きメモリ領域を見つけてメインメモリ106にセキュアソフトウェア180’をロードする。
【0177】
そして、セキュアモジュール150は、切替の制御を行う。例えば、セキュアモジュール150は、セキュアソフトウェア内のあるメモリ空間に特別の番号を書き込むことで切替の制御を行う。
【0178】
次に、セキュアソフトウェア180からセキュアソフトウェア180’へ制御が移行される。但し、制御を移行する際には、セキュアソフトウェア180が使っていたバッファメモリ空間の制御をセキュアソフトウェア180’へ移行させる必要がある。
【0179】
このため、以下のような具体的な制御が実行される。
【0180】
(1)セキュアモジュール150が切り替え要求信号を初期化/ロード部160に渡す。
【0181】
(2)初期化/ロード部160がセキュアモジュール150にセキュアソフトウェア180’を要求する。
【0182】
(3)セキュアモジュール150は、セキュアソフトウェア180’を初期化/ロード部160へ渡す。
【0183】
(4)初期化/ロード部160は、セキュアソフトウェア180’をメインメモリ106上のスワップ不可能領域にロードする。
【0184】
(5)これで、セキュアソフトウェア180とセキュアソフトウェア180’とがメインメモリ106上に並列的に存在することになる。
【0185】
(6)セキュアモジュール150がセキュアソフトウェア180へセキュアソフトウェア切替指示を出す。
【0186】
(7)セキュアソフトウェア切替指示を受けたセキュアソフトウェア180は、MPEG処理の切りのいい所で制御を、セキュアソフトウェア180’に移行させるため、画像LSI107からの画像表示終了信号の入力を待ち、画像表示終了信号が入力されたところで、以下の処置を講ずる。
【0187】
(a)セキュアソフトウェア180は、MPEG画像メモリ187の開始番地と関連情報をセキュアソフトウェア180’へ通知する。関連情報は、例えば、MPEG画像メモリ187が4フレーム構造の場合、各MPEGフレームの種類(Iピクチャ、Pピクチャ、Bピクチャ)や、更新可能なフレーム、次のフレームに表示すべき画像等に関する情報である。
【0188】
(b)セキュアソフトウェア180は、小バッファ185のメモリ開始番地とデータ残存量に関する情報をセキュアソフトウェア180’へ通知する。
【0189】
(c)セキュアソフトウェア180は、ビデオバッファ183のメモリ開始番地とデータ残存量に関する情報をセキュアソフトウェア180’へ通知する。
【0190】
(d)セキュアソフトウェア180は、入力バッファ181のメモリ開始番地とメモリ残存量に関する情報をセキュアソフトウェア180’に通知する。
【0191】
(e)セキュアソフトウェア180は、使用中の暗号鍵や復号鍵の情報をセキュアソフトウェア180’へ通知する。
【0192】
(8)セキュアソフトウェア180は、セキュアソフトウェア180’に制御を移行させる。
【0193】
(一部切替時のセキュア機能)
つぎに、図5を参照して、図1に示したパーソナルコンピュータ100における一部切替時のセキュア機能について説明する。
【0194】
図5には、パーソナルコンピュータ100のメインメモリ106にロード(実装)されたセキュアソフトウェア180の通常動作中に初期化/ロード部160を用いて、セキュアソフトウェア180の一部(例えば、MPEGビデオデコーダ186)を、別のMPEGビデオデコーダ186’に切り替える場合が図示されている。
【0195】
ここで、前述した図4においては、セキュアソフトウェア180の全部をセキュアソフトウェア180’に切り替える場合について説明したが、一部を切り替える図5の場合が実際的である。図5の場合には、セキュアソフトウェア180の一部しか切り換えないため、バッファも一部しか、引き継がない。
【0196】
全切替時の(1)〜(5)の動作を経て、以下の動作が行われる。
【0197】
(6’)セキュアモジュール150がセキュアソフトウェア180へセキュアソフトウェア切替指示を出す。
【0198】
(7’)セキュアソフトウェア切替指示を受けたセキュアソフトウェア180は、MPEG処理の切りのいい所で制御を、MPEGビデオデコーダ186をMPEGビデオデコーダ186’に移行させるため、画像LSI107からの画像表示終了信号の入力を待ち、画像表示終了信号が入力されたところで、以下の処置を講ずる。
【0199】
(a’)セキュアソフトウェア180は、MPEG画像メモリ187の開始番地と関連情報をMPEGビデオデコーダ186’へ通知する。関連情報は、例えば、MPEG画像メモリ187が4フレーム構造の場合、各MPEGフレームの種類(Iピクチャ、Pピクチャ、Bピクチャ)や、更新可能なフレーム、次のフレームに表示すべき画像等に関する情報である。
【0200】
(b’)セキュアソフトウェア180は、小バッファ185のメモリ開始番地とデータ残存量に関する情報をMPEGビデオデコーダ186’へ通知する。
【0201】
(8’)セキュアソフトウェア180は、MPEGビデオデコーダ186に換えて、MPEGビデオデコーダ186’を正式のMPEGビデオデコーダとして組み込み、処理を開始する。
【0202】
なお、ビデオバッファ183や、入力バッファ181は、MPEGビデオデコーダ186と直接の関連がないため切り替える必要はない。
【0203】
以上説明したように、一実施の形態によれば、図3に示したセキュアモジュール150を設け、セキュアモジュール150からセキュアソフトウェア180が格納されたメインメモリ106へ直接アクセスすることにより、プログラムの書き換え、バッファ位置の変更、スキャン認証等を実行するようにしたので、パーソナルコンピュータ100等のオープンアーキテクチャを有する装置に対して、最低限のハードウェア(セキュアモジュール150)を付加することで、安全なソフトウェア処理を実行することができる。
【0204】
また、一実施の形態によれば、一度目で正規の情報が読み出され2度目で違う情報が読み出されるように制御されるメモリ空間に秘密情報を格納することとしたので、さらにセキュア環境を提供することができる。
【0205】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。
【0206】
例えば、前述した一実施の形態においては、前述したセキュア機能を実現するためのプログラムを図6に示したコンピュータ読み取り可能な記録媒体500に記録して、この記録媒体500に記録されたプログラムを同図に示したコンピュータ400に読み込ませ、実行することにより各機能を実現してもよい。
【0207】
同図に示したコンピュータ400は、上記プログラムを実行するCPU410と、キーボード、マウス等の入力装置420と、各種データを記憶するROM430と、演算パラメータ等を記憶するRAM440と、記録媒体500からプログラムを読み取る読取装置450と、ディスプレイ、プリンタ等の出力装置460と、装置各部を接続するバス470とから構成されている。
【0208】
CPU410は、読取装置450を経由して記録媒体500に記録されているプログラムを読み込んだ後、プログラムを実行することにより、前述した機能を実現する。なお、記録媒体500としては、光ディスク、フレキシブルディスク、ハードディスク等が挙げられる。
【0209】
(付記1)情報を再生する情報再生装置において、
内部に格納されている情報を外部から参照することができない構造を有するセキュアモジュールと、
外部から参照することが可能なメモリと、
前記セキュアモジュールに実装され、いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を読み出し、該メモリ格納情報と、前記セキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、
を備えたことを特徴とする情報再生装置。
【0210】
(付記2)前記改ざんチェック手段は、前記メモリ格納情報の全てを読み出すことを特徴とする付記1に記載の情報再生装置。
【0211】
(付記3)前記改ざんチェック手段は、前記メモリ格納情報の一部を読み出すことを特徴とする付記1に記載の情報再生装置。
【0212】
(付記4)前記改ざんチェック手段は、チェックサムにより前記メモリ格納情報と前記セキュアモジュール格納情報との比較を行うことを特徴とする付記1〜3のいずれか一つに記載の情報再生装置。
【0213】
(付記5)前記メモリ格納情報は、ソフトウェアであることを特徴とする付記1〜4のいずれか一つに記載の情報再生装置。
【0214】
(付記6)前記改ざんチェック手段は、不定期に前記メモリからの読み出しを行うことを特徴とする付記1〜5のいずれか一つに記載の情報再生装置。
【0215】
(付記7)前記セキュアモジュールに実装され、いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を書き換える書き換え手段を備え、前記改ざんチェック手段は、書き換え後のメモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックすることを特徴とする付記1〜6のいずれか一つに記載の情報再生装置。
【0216】
(付記8)前記書き換え手段は、不定期に前記メモリ格納情報の書き換えを行うことを特徴とする付記7に記載の情報再生装置。
【0217】
(付記9)前記書き換え手段は、前記メモリ格納情報の一部を書き換えることを特徴とする付記7または8に記載の情報再生装置。
【0218】
(付記10)前記セキュアモジュールに実装され、原情報に変更をかけ、変更後の情報をメモリ格納情報として前記メモリに格納する格納制御手段を備えたことを特徴とする付記1〜9のいずれか一つに記載の情報再生装置。
【0219】
(付記11)前記格納制御手段は、前記メモリ格納情報を更新した場合に、更新前のメモリ格納情報から更新後のメモリ格納情報への引継を行わせることを特徴とする付記10に記載の情報再生装置。
【0220】
(付記12)前記格納制御手段は、前記セキュアモジュール内のみに存在する鍵を用いて前記原情報を暗号化し、暗号化された原情報を前記メモリ格納情報として前記メモリに格納することを特徴とする付記10または11に記載の情報再生装置。
【0221】
(付記13)前記セキュアモジュールに実装されており、前記メモリ格納情報の暗号化または復号化に用いられる鍵を保持し、前記改ざんチェック手段により改ざんが検知されない場合、鍵を外部へ供給する鍵管理手段を備えたことを特徴とする付記1〜12のいずれか一つに記載の情報再生装置。
【0222】
(付記14)前記鍵管理手段は、有効時間が設定された前記鍵を供給することを特徴とする付記13に記載の情報再生装置。
【0223】
(付記15)前記鍵管理手段は、供給の度に鍵を変更することを特徴とする付記13または14に記載の情報再生装置。
【0224】
(付記16)前記鍵管理手段は、前記改ざんチェック手段により改ざんが検知された場合、前記鍵の供給を停止することを特徴とする付記13〜15のいずれか一つに記載の情報再生装置。
【0225】
(付記17)前記セキュアモジュールに実装され、直接アクセスにより、前記セキュアモジュール内の秘密情報を前記メモリに書き込む書込手段を備え、前記改ざんチェック手段は、書き込まれた前記秘密情報に対応する応答情報に基づいて前記メモリ格納情報の改ざんをチェックすることを特徴とする付記1〜16のいずれか一つに記載の情報再生装置。
【0226】
(付記18)前記秘密情報は、1度目で正規の情報が読み出され2度目で違う情報が読み出されるように制御されるメモリ空間に格納されていることを特徴とする付記17に記載の情報再生装置。
【0227】
(付記19)前記メモリ格納情報は暗号化されたMPEGデータであることを特徴とする付記1〜18のいずれか一つに記載の情報再生装置。
【0228】
(付記20)内部に格納されている情報を外部から参照することができない構造を有するセキュアモジュール内で実行され、いずれの手段も介さずに直接アクセスにより外部から参照することが可能なメモリに格納されたメモリ格納情報を読み出す読み出し工程と、
読み出された前記メモリ格納情報と前記セキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック工程と、
を含むことを特徴とする情報再生方法。
【0229】
(付記21)情報再生装置に実装され、内部に格納されている情報を外部から参照することができない構造を有するセキュアモジュールにおいて、
外部から参照することが可能であって前記情報再生装置に実装されたメモリに格納されたメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出す読み出し手段と、
読み出された前記メモリ格納情報と前記セキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、
を備えたことを特徴とするセキュアモジュール。
【0230】
(付記22)前記読み出し手段は、前記メモリ格納情報の全てを読み出すことを特徴とする付記21に記載のセキュアモジュール。
【0231】
(付記23)前記読み出し手段は、前記メモリ格納情報の一部を読み出すことを特徴とする付記21に記載のセキュアモジュール。
【0232】
(付記24)前記改ざんチェック手段は、チェックサムにより前記メモリ格納情報と前記セキュアモジュール格納情報との比較を行うことを特徴とする付記21〜23のいずれか一つに記載のセキュアモジュール。
【0233】
(付記25)前記メモリ格納情報は、ソフトウェアであることを特徴とする付記21〜24のいずれか一つに記載のセキュアモジュール。
【0234】
(付記26)前記読み出し手段は、不定期に前記メモリからの読み出しを行うことを特徴とする付記21〜25のいずれか一つに記載のセキュアモジュール。
【0235】
(付記27)いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を書き換える書き換え手段を備え、前記改ざんチェック手段は、書き換え後のメモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックすることを特徴とする付記21〜26のいずれか一つに記載のセキュアモジュール。
【0236】
(付記28)前記書き換え手段は、不定期に前記メモリ格納情報の書き換えを行うことを特徴とする付記27に記載のセキュアモジュール。
【0237】
(付記29)前記書き換え手段は、前記メモリ格納情報の一部を書き換えることを特徴とする付記27または28に記載のセキュアモジュール。
【0238】
(付記30)原情報に変更をかけ、変更後の情報をメモリ格納情報として前記メモリに格納する格納制御手段を備えたことを特徴とする付記21〜29のいずれか一つに記載のセキュアモジュール。
【0239】
(付記31)前記格納制御手段は、前記メモリ格納情報を更新した場合に、更新前のメモリ格納情報から更新後のメモリ格納情報への引継を行わせることを特徴とする付記30に記載のセキュアモジュール。
【0240】
(付記32)前記格納制御手段は、前記セキュアモジュール内のみに存在する鍵を用いて前記原情報を暗号化し、暗号化された原情報を前記メモリ格納情報として前記メモリに格納することを特徴とする付記30または31に記載のセキュアモジュール。
【0241】
(付記33)前記メモリ格納情報の暗号化または復号化に用いられる鍵を保持し、前記改ざんチェック手段により改ざんが検知されない場合、鍵を外部へ供給する鍵管理手段を備えたことを特徴とする付記21〜32のいずれか一つに記載のセキュアモジュール。
【0242】
(付記34)前記鍵管理手段は、有効時間が設定された前記鍵を供給することを特徴とする付記33に記載のセキュアモジュール。
【0243】
(付記35)前記鍵管理手段は、供給の度に鍵を変更することを特徴とする付記33または34に記載のセキュアモジュール。
【0244】
(付記36)前記鍵管理手段は、前記改ざんチェック手段により改ざんが検知された場合、前記鍵の供給を停止することを特徴とする付記33〜35のいずれか一つに記載のセキュアモジュール。
【0245】
(付記37)直接アクセスにより、前記セキュアモジュール内の秘密情報を前記メモリに書き込む書込手段を備え、前記改ざんチェック手段は、書き込まれた前記秘密情報に対応する応答情報に基づいて前記メモリ格納情報の改ざんをチェックすることを特徴とする付記21〜36のいずれか一つに記載のセキュアモジュール。
【0246】
(付記38)前記秘密情報は、1度目で正規の情報が読み出され2度目で違う情報が読み出されるように制御されるメモリ空間に格納されていることを特徴とする付記37に記載のセキュアモジュール。
【0247】
(付記39)前記メモリ格納情報は暗号化されたMPEGデータであることを特徴とする付記21〜38のいずれか一つに記載のセキュアモジュール。
【0248】
(付記40)情報再生装置に実装され、内部に格納されている情報を外部から参照することができない構造を有するセキュアモジュールに実行させるためのプログラムを格納した記録媒体において、
外部から参照することが可能であって前記情報再生装置に実装されたメモリに格納されたメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出す読み出し工程手段と、
読み出された前記メモリ格納情報と前記セキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック工程と、
を実行させるためのプログラムを格納したことを特徴とする記録媒体。
【0249】
【発明の効果】
以上説明したように、本発明によれば、いずれの手段も介さずに直接アクセスによりメモリに格納されたメモリ格納情報を読み出し、該メモリ格納情報とセキュアモジュールに予め格納されたセキュアモジュール格納情報との比較結果に基づいて、メモリ格納情報の改ざんをチェックすることとしたので、パーソナルコンピュータ等のオープンアーキテクチャを有する装置に対して、最低限のハードウェア(セキュアモジュール)を付加することで、安全なソフトウェア処理を実行することができるという効果を奏する。
【0250】
また、本発明によれば、セキュアモジュールに実装され、いずれの手段も介さずに直接アクセスによりメモリに格納されたメモリ格納情報を書き換える書き換え手段を設け、書き換え後のメモリ格納情報とセキュアモジュール格納情報との比較結果に基づいて、メモリ格納情報の改ざんをチェックすることとしたので、パーソナルコンピュータ等のオープンアーキテクチャを有する装置に対して、最低限のハードウェア(セキュアモジュール)を付加することで、安全なソフトウェア処理を実行することができるという効果を奏する。
【0251】
また、本発明によれば、セキュアモジュールに実装され、原情報に変更をかけ、変更後の情報をメモリ格納情報としてメモリに格納することとしたので、さらに安全なセキュア環境を提供することができるという効果を奏する。
【0252】
また、本発明によれば、メモリ格納情報を更新した場合に、更新前のメモリ格納情報から更新後のメモリ格納情報への引継を行わせることとしたので、更新に伴う処理停止を回避することができるという効果を奏する。
【0253】
また、本発明によれば、セキュアモジュール内のみに存在する鍵を用いて原情報を暗号化し、暗号化された原情報をメモリ格納情報としてメモリに格納することしたので、さらに安全なセキュア環境を提供することができるという効果を奏する。
【0254】
また、本発明によれば、メモリ格納情報の暗号化または復号化に用いられる鍵を保持し、改ざんチェック手段により改ざんが検知されない場合、鍵を外部へ供給することとしたので、安全性が高い状態で暗号化または復号化を行うことができるという効果を奏する。
【0255】
また、本発明によれば、改ざんチェック手段により改ざんが検知された場合、鍵の供給を停止することとしたので、改ざんによる損害を最小限にとどめることができるという効果を奏する。
【0256】
また、本発明によれば、直接アクセスにより、セキュアモジュール内の秘密情報をメモリに書き込む書込手段を備え、書き込まれた秘密情報に対応する応答情報に基づいてメモリ格納情報の改ざんをチェックすることとしたので、さらに安全なセキュア環境を提供することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる一実施の形態の構成を示すブロック図である。
【図2】図1に示したパーソナルコンピュータ100における電源投入時のセキュア機能を説明するブロック図である。
【図3】図1に示したパーソナルコンピュータ100における通常動作時のセキュア機能を説明するブロック図である。
【図4】図1に示したパーソナルコンピュータ100における全切替時のセキュア機能を説明するブロック図である。
【図5】図1に示したパーソナルコンピュータ100における一部切替時のセキュア機能を説明するブロック図である。
【図6】同一実施の形態の変形例の構成を示すブロック図である。
【図7】パーソナルコンピュータ50を用いた従来のシステムの構成例を示すブロック図である。
【図8】図7に示したパーソナルコンピュータ50における情報の流れを説明する図である。
【符号の説明】
100 パーソナルコンピュータ
101 PCメインプロセッサ
102 ハードディスクドライブ
106 メインメモリ
107 画像LSI
108 画像メモリ
109 PCIバス
150 セキュアモジュール
151 セキュアモジュールプロセッサ
152 RAM
153 ROM
154 暗号復号エンジン
155 PCIインタフェース
200 ネットワーク
300 表示装置
160 初期化/ロード部
170 ドライバ
180 セキュアソフトウェア
180’ セキュアソフトウェア
181 入力バッファ
182 TSデコーダ
183 ビデオバッファ
184 暗号復号部
185 小バッファ
186 MPEGビデオデコーダ
187 MPEG画像メモリ
188 MPEG出力部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information reproducing device, a secure module, and an information reproducing method for reproducing information downloaded via the Internet or information stored in a recording medium, and more particularly, to open a personal computer or the like. The present invention relates to an information reproducing apparatus, a secure module, and an information reproducing method capable of executing safe software processing by adding a minimum amount of hardware to an apparatus having an architecture.
[0002]
[Prior art]
In recent years, broadband Internet and digital broadcasting are becoming widespread, and rights protection technology for ensuring the security of distributed content (mainly digital AV (Audio Video)) has been highlighted.
[0003]
Among these, a personal computer (PC) is an open architecture, and basically it can be peeked, so that it is difficult to realize safety.
[0004]
However, personal computers, on the other hand, function as the main gateway for broadband Internet. Therefore, when safety is ensured by a personal computer (entrance / exit), digital AV contents can be distributed over the entire Internet, which is significant.
[0005]
Conventionally, obfuscation techniques that make it difficult to analyze algorithms that guarantee security have been the mainstream of rights protection using personal computer software.
[0006]
However, once the software on the personal computer is mounted on the main memory, it is easy to copy, and the rights protection algorithm can be analyzed by analyzing the copied result over time.
[0007]
Therefore, a system for protecting rights by obfuscation is considered to be a system with low safety, and it is difficult to adopt it assuming damage caused by analysis once by a system with high constancy such as broadcasting.
[0008]
FIG. 7 is a block diagram illustrating a configuration example of a conventional system using the personal computer 50. As shown in this figure, the conventional system includes a personal computer 50, a network 51, a speaker 52, a display device 53, and an input device 54.
[0009]
The personal computer 50 has a function as an information reproducing apparatus, and includes a CPU (Central Processing Unit) 50a, a ROM (Read Only Memory) 50b, a RAM (Random Access Memory) 50c, a hard disk drive 50d, and an MB (Multimedia Board) 50e. , An I / F (Interface) 50f, an I / F 50g, and a bus 50h, which decrypts the encrypted information downloaded via the network 51 and the encrypted information stored in the hard disk drive 50d to decrypt the speaker 52 and the display device To 53.
[0010]
The CPU 50a executes various arithmetic processes according to a program stored in the hard disk drive 50d and controls each part of the apparatus. The ROM 50b stores basic programs and data executed by the CPU 50a. The RAM 50c temporarily stores programs and data to be executed when the CPU 50a executes various arithmetic processes.
[0011]
The hard disk drive 50d stores programs executed by the CPU 50a, data, and the like. The MB 50e is supplied from the CPU 50a, decrypts the encrypted audio data and image data, generates the original audio signal and image signal, and outputs them to the speaker 52 and the display device 53.
[0012]
The I / F 50f is an interface for transmitting and receiving information via the network 51, and executes protocol conversion and data format conversion. The I / F 50 g converts data input from the input device 54 into data in an internal format of the personal computer 50.
[0013]
The bus 50h connects the CPU 50a, the ROM 50b, the RAM 50c, the hard disk drive 50d, the MB 50e, the I / F 50f, and the I / F 50g to each other, and enables information exchange between them.
[0014]
The network 51 is configured by the Internet, for example. The speaker 52 converts the sound signal supplied from the MB 50e into sound and outputs the sound. The display device 53 includes, for example, a CRT (Cathode Ray Tube) monitor or a liquid crystal monitor, and displays the image signal supplied from the MB 50e as an image. The input device 54 is configured by, for example, a mouse or a keyboard.
[0015]
FIG. 8 is a diagram showing a flow of information in the personal computer 50 shown in FIG. As shown in the figure, the hard disk drive 50d stores basic software, a decryption key group, and encrypted content.
[0016]
Here, the basic software is software for performing processing for decrypting the encrypted content, and is obfuscated for the purpose of preventing it from being decrypted by a malicious user. This obfuscation means that the following processing is performed.
[0017]
Before obfuscation X = X + Y
After obfuscation X = X * 2 + 1 + Y * 2-1
X = X / 2
[0018]
That is, as described above, the calculation results are the same before and after obfuscation, but it is difficult to decipher the algorithm after obfuscation.
[0019]
The decryption key group in the hard disk drive 50d is a plurality of keys for decrypting the cipher applied to the encrypted content. For the purpose of preventing easy acquisition by a malicious user, secret scrambling is performed. It is stored in a secret place.
[0020]
Encrypted content is content that has undergone encryption processing, and is composed of, for example, images, sound, computer data, and the like.
[0021]
When the reproduction of the encrypted content is started, the following processing is executed.
(1) The obfuscated basic software is read from the hard disk drive 50d and mounted on the RAM 50c.
[0022]
(2) The read basic software is stored in a secret place as necessary, and a secret scrambled decryption key is read from the hard disk drive 50d. The decryption key is stored in a secret location, for example, in 3 to 5 locations, and is processed so that a target key cannot be obtained unless a secret calculation or the like is performed.
[0023]
(3) The encrypted content is read from the hard disk drive 50d, and the encryption is decrypted with the decryption key.
[0024]
(4) When the decrypted content is compressed, decompression processing (in the case of video content, MPEG (Motion Picture Experts Group) decompression processing, etc.) is executed, and the obtained content is buffered in the RAM 50c. And then output to the MB 50e.
[0025]
(5) The MB 50e performs D / A (Digtal / Analog) conversion processing and drawing processing on the input content, outputs the obtained audio signal to the speaker 52 (see FIG. 7), and outputs an image signal. The data is output to the display device 53. Thereby, the content is reproduced.
[0026]
[Problems to be solved by the invention]
By the way, as described above, conventionally, since the basic software is installed in the RAM 50c of the personal computer 50, there is a risk that it will be decrypted or copied by a malicious user.
[0027]
Even if all the basic software and other data stored in the hard disk drive 50d are encrypted, if the decryption software for decrypting the encryption exists somewhere in the personal computer 50, the decryption software is analyzed. When the storage location of the decryption key is specified, the basic software is analyzed and the right protection algorithm is determined.
[0028]
In particular, in a highly public network such as broadcasting, a processing method that cannot easily decipher content even if a right protection algorithm is found is desired. In the current hardware-based digital television receiver, encryption such as MULTI2 and DES (Data Encryption Standard) is performed. Although these algorithms are known, it is extremely difficult to decrypt the content unless the decryption key is known.
[0029]
However, the digital television receiver is configured such that the decryption key is built in the hardware and cannot be read out on the software.
[0030]
Furthermore, in the digital television receiver, since the decryption circuit and the content processing circuit (MPEG video decompression circuit and MPEG audio decompression circuit) are also configured by hardware, it is extremely difficult to peek at the contents of the processing. Yes.
[0031]
Such digital television receivers are actually being commercialized. Japanese Perfect TV (trademark) and United States DirecTV (trademark) are good examples of such digital television receivers.
[0032]
On the other hand, in software processing, a decryption key, a decryption circuit, and a content processing circuit are realized by basic software, and such basic software itself, and further a personal computer that can easily read intermediate calculation results 50, there is a problem that analysis and peeping are easily performed.
[0033]
The present invention has been made in view of the above, and an information reproducing apparatus capable of executing safe software processing by adding minimum hardware to a device having an open architecture such as a personal computer. An object of the present invention is to provide a secure module and an information reproduction method.
[0034]
[Means for Solving the Problems]
In order to achieve the above object, according to the present invention, in an information reproducing apparatus for reproducing information, a secure module having a structure in which information stored inside cannot be referred to from outside, and can be referred from outside Memory and information stored in the secure module and read from the memory stored in the memory by direct access without any means, and the memory storage information and the secure module storage information stored in advance in the secure module And tampering check means for checking tampering of the memory storage information based on the comparison result.
[0035]
The present invention is implemented in an information reproducing apparatus and can be referred to from the outside in a secure module having a structure in which information stored inside cannot be referred to from the outside, and is mounted in the information reproducing apparatus. The memory storage information stored in the memory is read out by direct access without any means, and the comparison result between the read memory storage information and the secure module storage information stored in advance in the secure module And a tampering check means for checking tampering of the memory storage information.
[0036]
In addition, the present invention is implemented in a secure module having a structure in which information stored therein cannot be referred to from the outside, and can be referred to from outside by direct access without using any means. A tampering of the memory storage information is checked based on a reading step of reading the stored memory storage information and a comparison result between the read memory storage information and the secure module storage information stored in advance in the secure module A tamper check process.
[0037]
According to this invention, the memory storage information stored in the memory by direct access without any means is read, and based on the comparison result between the memory storage information and the secure module storage information stored in advance in the secure module, Since tampering of memory storage information is checked, it is possible to execute safe software processing by adding a minimum hardware (secure module) to an apparatus having an open architecture such as a personal computer. it can.
[0038]
DETAILED DESCRIPTION OF THE INVENTION
DESCRIPTION OF EMBODIMENTS Hereinafter, an embodiment of an information reproducing apparatus, a secure module, and an information reproducing method according to the present invention will be described in detail with reference to the drawings.
[0039]
FIG. 1 is a block diagram showing the configuration of an embodiment according to the present invention. The system shown in the figure includes a personal computer 100, a network 200, a display device 300, an input device (not shown), a speaker, and the like, and decrypts and reproduces information (content) encrypted in a secure environment. Is to do.
[0040]
The personal computer 100 has a function as an information reproducing apparatus, and includes a PC main processor 101, a hard disk drive 102, an input / output interface 103, a south bridge 104, a north bridge 105, a main memory 106, and an image LSI (Large Scale Integrated Circuit). 107, an image memory 108, a PCI (Peripheral Component Interconnect) bus 109, and a secure module 150.
[0041]
Also, the personal computer 100 decrypts the encrypted information (content) downloaded via the network 200 and the encrypted information (content) stored in the hard disk drive 102 and outputs them to the display device 300 and the speaker (not shown). To do.
[0042]
The PC main processor 101 executes various arithmetic processes according to secure software stored in the hard disk drive 102 and other software, and controls each part of the apparatus.
[0043]
Here, the secure software corresponds to the secure software 180 shown in FIGS. 2 to 5 described later, is for providing a secure environment when reproducing information, and is installed in the main memory 106.
[0044]
The hard disk drive 102 is a mass storage device having a disk, and stores secure software 180 (see FIG. 2) executed by the PC main processor 101 and other software.
[0045]
The input / output interface 103 is an interface for transmitting and receiving information (contents) via the network 200, and executes protocol conversion and data format conversion.
[0046]
The south bridge 104 has a function of interconnecting the input / output interface 103 and the PCI bus 109 and incorporates a bridge circuit. The north bridge 105 has a function of bridging data by connecting the PC main processor 101, the main memory 106, and the image LSI 107 to each other. The south bridge 104 and the north bridge 105 are interconnected by a high-speed bus.
[0047]
The main memory 106 is constituted by, for example, a RAM, and the secure software 180 shown in FIGS. 2 to 5 and other software are installed. When the secure software 180 is executed by the PC main processor 101, the function of each block in the secure software 180 shown in FIGS.
[0048]
The secure software 180 is implemented in the main memory 106 and is executed by the PC main processor 101 to provide a function of decoding MPEG data encrypted in a secure environment in cooperation with the secure module 150.
[0049]
The image LSI 107 has a function of storing decoded image information in the image memory 108 or displaying the decoded image information on the display device 300 as an image. The image memory 108 stores image information under the control of the image LSI 107.
[0050]
The PCI bus 109 is a bus that interconnects the hard disk drive 102, the south bridge 104, and a PCI interface 155 of the secure module 150 described later.
[0051]
The secure module 150 has a TRM (Tamper Resistant Module) structure, and is hardware that prevents peeping from outside and prevents internal data from being falsified.
[0052]
The TRM structure refers to a structure for physically and logically protecting internal analysis and alteration of a semiconductor chip (in this case, the secure module 150). Specifically, the secure module 150 is coated with a strong and highly adhesive coating, and when the surface is peeled off, the internal circuit is completely destroyed or dummy wiring is arranged.
[0053]
The secure module 150 has a function of reading the secure software 180 (see FIGS. 2 to 5) and the like from the hard disk drive 102, a function of irregularly rewriting the secure software 180 installed in the main memory 106, and various settings set in the main memory 106. It has a function for changing the buffer position irregularly, an encryption function, a decryption function, and the like.
[0054]
The secure module 150 includes a secure module processor 151, a RAM 152, a ROM 153, an encryption / decryption engine 154, a PCI interface 155, and an internal bus 156. The secure module processor 151 implements various functions of the secure module 150 described above by executing firmware stored in the ROM 153.
[0055]
The RAM 152 temporarily stores programs and data to be executed when the secure module processor 151 executes various arithmetic processes. The RAM 152 stores an encryption key and the like. The ROM 153 stores basic firmware and data executed by the secure module processor 151.
[0056]
The encryption / decryption engine 154 realizes an encryption function and a decryption function. The PCI interface 155 interfaces with each unit via the PCI bus 109. The internal bus 156 is a bus that interconnects the secure module processor 151, the RAM 152, the ROM 153, the encryption / decryption engine 154, and the PCI interface 155.
[0057]
2 to 5 show blocks of functions (initialization / loading unit 160, driver 170, input buffer 181 to MPEG output unit 188) realized by the above-described secure software 180 and various types of software. In these drawings, portions corresponding to the respective portions in FIG.
[0058]
The initialization / loading unit 160 shown in FIG. 2 exists in the main memory 106 (see FIG. 1), has a function of searching for a free area on the main memory 106, and loading (mounting) software into the free memory area. ing. In practice, the initialization / loading unit 160 realizes the above functions by executing software on the PC main processor 101.
[0059]
In addition, the initialization / loading unit 160 has a function of setting a link between softwares when it is necessary to link with other application software (not shown) of the personal computer 100.
[0060]
Here, in the personal computer 100, when other application software and the secure software 180 operate simultaneously in a multitasking environment under the control of an operating system (not shown), the operating system allocates a time during which each software operates. Has function.
[0061]
The initialization / loading unit 160 notifies the operating system of information such as a memory area in which the secure software 180 is mounted, and performs control for assigning a time for the secure software 180 to operate.
[0062]
Thereby, for example, when the secure software 180 operates for 100 milliseconds, the operating system performs scheduling related to software execution such that another software operates for 100 milliseconds.
[0063]
In addition, the reason why the initialization / loading unit 16 cooperates with the operating system is that, in order to move the secure software 180 as one of a plurality of tasks (programs) under the operating system, the operating system that performs adjustment between processes I need help.
[0064]
The driver 170 corresponds to software for a normal driver that operates under the operating system. A large amount of information (encrypted MPEG stream or the like) is exchanged between the secure module 150 and the secure software 180 (input buffer 181) via the driver 170.
[0065]
That is, by using the driver 170, various functions for driver control in the operating system can be used.
[0066]
It is assumed that information other than the encrypted MPEG stream is exchanged between the secure module 150 and the secure software 180 by direct access such as DMA (Direct Memory Access). That is, the secure module 150 and the secure software 180 are directly accessed without going through the driver 170.
[0067]
Thus, when direct access is a major premise, there is a demerit that various services provided by the operating system to the driver 170 cannot be used.
[0068]
However, in this case, since the information can be exchanged in an environment outside the operating system and the operating system is not concerned, there is a great security advantage in that safety is increased.
[0069]
For example, when information is exchanged between the secure module 150 and the secure software 180 via the driver 170, an interrupt is always generated for the operating system, and other software receives information based on this interrupt. Can be "peeps" sequentially, and security is lowered. Here, some drivers have a function of transferring information to other software.
[0070]
On the other hand, when information is exchanged between the secure module 150 and the secure software 180 by direct access without passing through the driver 170, no interruption occurs in the operating system.
[0071]
Therefore, when other software “peeks”, the state of the secure software 180 is always analyzed by polling or the like (the position of the buffer on the main memory 106 is analyzed to check whether the information in the buffer has been updated and updated. Need to be monitored).
[0072]
However, in the case of direct access, since it is not known when information arrives from the secure module 150 to the secure software 180, polling becomes virtually impossible. It should be noted that even if some information can be “peeked” by polling, it is impossible to “peep” all data.
[0073]
In this embodiment, the encrypted MPEG stream is routed through the driver 170 because the MPEG stream is encrypted and it is judged safe even if it is stolen. This is because priority is given to making the encrypted MPEG stream reach the secure software 180 well.
[0074]
The input buffer 181 is a buffer whose area is set on the main memory 106, and stores an encrypted MPEG stream. The TS decoder 182 receives a request from the encryption / decryption unit 184, reads an encrypted MPEG stream (more precisely, an MPEG-TS stream) from the buffer 181, performs TS decoding processing, and stores the encrypted MPEG video information in the video buffer 183. To do.
[0075]
The TS decoding process is a process for extracting compressed encrypted MPEG video information from an encrypted MPEG stream. The encrypted MPEG stream is composed of (1) encrypted MPEG video information, (2) encrypted MPEG audio information, and (3) encrypted MPEG video information and encrypted MPEG audio information in a time-division multiplexed form. Program information (program name, broadcast time, program outline, program fee, etc.) is included.
[0076]
In actual secure software, it is necessary to decode encrypted MPEG audio information in addition to encrypted MPEG video information. Needless to say, the decoding of the encrypted MPEG audio information in this case requires the same kind of program as the decoding of the encrypted MPEG video information.
[0077]
Also, the TS decoder 182 constantly monitors the capacity of the input buffer 181, and when it falls below a certain level, requests the secure software 180 to replenish the input buffer 181.
[0078]
The video buffer 183 is a buffer whose area is set on the main memory 106, and stores the above-described encrypted MPEG video information. The video buffer 183 is a buffer corresponding to a VBV buffer defined by the international standard for MPEG video.
[0079]
The encryption / decryption unit 184 receives the request from the MPEG video decoder 186, reads the encrypted MPEG video information from the video buffer 183, and decrypts the encrypted MPEG video information until the small buffer 185 is full. The encryption / decryption unit 184 stores the compressed MPEG video information that has been decrypted in the small buffer 185.
[0080]
The small buffer 185 is a buffer whose area is set on the main memory 106, and stores the above-described compressed MPEG video information. The MPEG video decoder 186 recognizes that the subsequent MPEG output unit 188 has output the image information.
[0081]
Here, since there is a free space for the image information output to the MPEG image memory 187, the MPEG video decoder 186 reads the next one piece of compressed MPEG video information from the small buffer 185, and performs expansion processing (decoding). After that, the image information is stored in the MPEG image memory 187.
[0082]
The small buffer 185 is set so that only a small amount (less than one image) of compressed MPEG video information can be stored. This is because it is very dangerous in terms of security to have the compressed MPEG video information that has been decoded exist in the main memory 106, and this danger is avoided.
[0083]
Therefore, the small buffer 185 does not hold compressed MPEG video information for one image, and becomes “empty” soon after the MPEG video decoder 186 starts decoding.
[0084]
Also, the MPEG video decoder 186 determines whether or not the small buffer 185 becomes “empty” or the amount of information in the small buffer 185 becomes smaller than a preset threshold value. A decoding request is issued, and compressed MPEG video information is stored in the small buffer 185.
[0085]
The MPEG image memory 187 stores image information corresponding to, for example, 4 frames, that is, 4/30 seconds (about 133 milliseconds). The MPEG output unit 188 reads the decompressed (decoded) image information (for one sheet or one frame) from the MPEG image memory 187 and DMA-transfers it to the image LSI 107. Here, the reason for using DMA (direct access) is to perform transfer from the MPEG output unit 188 to the image LSI 107 at high speed.
[0086]
In one embodiment, the encrypted MPEG video information stored in the video buffer 183 set in the main memory 106 is stored, and the encrypted MPEG video information stored in the video buffer 183 is decrypted little by little. It is characterized in that MPEG video decoding is executed while being stored in the small buffer 185.
[0087]
In the secure module 150 shown in FIG. 3, the memory space 152A is set in the RAM 152 (see FIG. 1), and is used for the first secret number communication executed between the secure module 150 and the TS decoder 182. .
[0088]
The secure module 150 (secure module processor 151) controls the memory space 152A so that a normal value is read first time and a different value is read second time.
[0089]
The memory space 152B is set in the RAM 152 (see FIG. 1), and is used in the second secret number communication executed between the secure module 150 and the encryption / decryption unit 184.
[0090]
Similarly to the memory space 152A, the secure module 150 (secure module processor 151) controls the memory space 152B so that a normal value is read first time and a different value is read the second time.
[0091]
(Secure function at power-on)
Next, with reference to FIG. 2, a secure function when the personal computer 100 shown in FIG. 1 is turned on will be described.
[0092]
FIG. 2 illustrates a case where the initialization / loading unit 160 loads the secure software 180 from the secure module 150 to the main memory 106 when the personal computer 100 is powered on.
[0093]
In the figure, when the personal computer 100 is turned on, the operating system is activated, and a list of software (programs, applications) to be activated is displayed on the desktop (not shown).
[0094]
As a result, the user sees the above list and activates, for example, secure software 180 as desired software. Specifically, when the user clicks on an icon corresponding to secure software 180 displayed on the desktop, secure software 180 is activated.
[0095]
That is, the initialization / loading unit 160 requests the secure module 150 to load the secure software 180. Note that a general initialization / loading unit directly loads software from the hard disk drive 102, but via the secure module 150 in one embodiment.
[0096]
After reading the secure software 180 from the hard disk drive 102, the secure module 150 (secure module processor 151) changes a specific part (for example, a part in which a secret number is described) of the secure software 180. Next, the secure module 150 passes the changed secure software 180 to the initialization / load unit 160.
[0097]
The initialization / loading unit 160 searches for an empty area on the main memory 106 and loads (implements) the changed secure software 180 in the empty area.
[0098]
Here, it is assumed that the memory space on the personal computer 100 can be directly accessed by the secure module 150, such as DMA, and needs to be a non-swappable area on the main memory 106, for example. The non-swappable area can be acquired using the function of the operating system.
[0099]
If the secure software 180 is installed in the swappable area, the secure software 180 may be automatically swapped from the main memory 106 to the memory space of the hard disk drive 102 by the function of the operating system.
[0100]
The reason for swapping is that a plurality of pieces of software operate simultaneously, and it becomes impossible to install all the software in the main memory 106 on the personal computer 100.
[0101]
However, in such a case, there is a possibility that the secure software 180 does not exist on the main memory 106, and there arises a problem that the secure module 150 cannot be directly accessed by DMA or the like.
[0102]
Therefore, in one embodiment, the secure module 150 is mounted in a non-swappable area at the time of loading so that the secure module 150 can always know the mounting position of the secure software 180. The above is an operation example from when the power is turned on until the secure software 180 is loaded into the main memory 106.
[0103]
In addition, as described above, when the initialization / load unit 160 is connected when the power is turned on, a link with the operating system can be pasted, so that (1) the buffer area of the program, (2) the entire program code, ( 3) It is possible to completely change the memory area where the program exists.
[0104]
(Secure function during normal operation)
Next, with reference to FIG. 3, the secure function during normal operation after power-on in the personal computer 100 shown in FIG. 1 will be described.
[0105]
In FIG. 3, secure software 180 is loaded (implemented) in the main memory 106 of the personal computer 100.
[0106]
In this case, the secure software 180 performs the following operation, for example.
In the figure, it is assumed that the display device 300 eventually consumes image information and is linked to the image LSI 107.
[0107]
First, when the image LSI 107 finishes displaying an image on the display device 300, the secure LSI 180 is requested to prepare for displaying the next image. As a result, the MPEG output unit 188 reads image information (for one sheet) from the MPEG image memory 187 and DMA-transfers it to the image LSI 107.
[0108]
The encryption / decryption unit 184 receives the request from the MPEG video decoder 186, extracts the encrypted MPEG video information from the video buffer 183, and decrypts the encrypted MPEG video information until the small buffer 185 is full. At the time of decryption, the encryption / decryption unit 184 exchanges a decryption key from the secure module 150.
[0109]
The decryption key is only valid for a limited time (for example, several seconds), and after that, a new decryption key needs to be exchanged from the secure module 150. The algorithm for exchanging the decryption key from the secure module 150 may be included in the second secret number communication described later, for example.
[0110]
As a result, the secure module 150 can provide the decryption key to the secure software 180 with peace of mind while confirming that the secure software 180 knows the secret number.
[0111]
Further, the encryption / decryption unit 184 constantly monitors the remaining amount of the encrypted MPEG video information in the video buffer 183. When the amount remains below a certain amount, the encryption / decryption unit 184 requests the TS decoder 182 to replenish the encrypted MPEG video information.
[0112]
Next, the TS decoder 182 receives the request from the encryption / decryption unit 184, reads the encrypted MPEG stream from the input buffer 181 and performs TS decoding processing. Next, the TS decoder 182 stores the encrypted MPEG video information in the video buffer 183.
[0113]
Also, the TS decoder 182 constantly monitors the capacity of the input buffer 181, and when it falls below a certain level, requests the secure module 150 to replenish the encrypted MPEG stream.
[0114]
As a result, the secure module 150 reads the encrypted MPEG stream encrypted from the hard disk drive 102. Next, the encryption / decryption engine 154 of the secure module 150 once decrypts the encrypted MPEG stream and then re-encrypts it with another encryption key. The re-encrypted encrypted MPEG stream is provided from the secure module 150 to the secure software 180.
[0115]
Here, the re-encryption is to pass the decryption key to the secure software 180 having the lowest security in the personal computer 100 when the encrypted MPEG stream read from the hard disk drive 102 is provided to the secure software 180 as it is. Because it is dangerous.
[0116]
On the other hand, when re-encryption is performed in the secure module 150, the secure software 180 is re-encrypted for the secure software 180 at that time, not the encrypted MPEG stream stored in the hard disk drive 102. An encrypted MPEG stream that can only be used with the secure software 180 is provided.
[0117]
Therefore, the re-encrypted encrypted MPEG stream is less dangerous than the encrypted MPEG stream in the hard disk drive 102 that can be read at any time.
[0118]
Further, in FIG. 3, an operation for confirming the safety of the secure software 180 is executed in parallel with the above-described operation. In this operation, the processes shown in the following (1) to (4) are executed, the secure module 150 exerts various actions on the secure software 180, and a response is exchanged.
[0119]
(1) Scan authentication processing
(2) Processing to rewrite the program irregularly
(3) Processing to rewrite the buffer position irregularly
(4) Secret number communication processing
[0120]
Here, in (1) to (4), (1) to (3) are executed by the secure module 150. (4) is executed by the secure module 150 and the secure software 180.
[0121]
Hereinafter, the processes (1) to (4) will be sequentially described. First, (1) scan authentication processing will be described.
[0122]
In the scan authentication process, the secure module 150 directly accesses a partial area or the entire area of the main memory 106 in which the active secure software 180 is mounted by DMA or the like, and reads a part or all of the data of the secure software 180. .
[0123]
Next, the secure module 150 compares the read data with data stored in advance in the RAM 152 (see FIG. 1) and performs authentication based on whether or not they match. For example, if the secure software 180 has been tampered with by a malicious user, the program has been rewritten, so that the comparison result is inconsistent and authentication NG.
[0124]
On the other hand, when the secure software 180 has not been tampered with, the comparison result is matched and the authentication is OK.
[0125]
As a specific implementation method, the same content as the secure software 180 is stored in the RAM 152 of the secure module 150, the secure software 180 is directly read from the main memory 106 by DMA or the like, and the result and the content stored in the RAM 152 are stored. There is a method to compare with each one.
[0126]
In one embodiment, when the memory capacity of the RAM 152 of the secure module 150 is small and the entire secure software 180 cannot be stored, the scan authentication process may be performed by a method such as a checksum.
[0127]
That is, in this case, only the result of adding all the codes of the secure software 180 is stored in the RAM 152, and after the secure software 180 is read out from the main memory 106 by DMA, the result of adding the codes is stored in the RAM 152. If the comparison results match, it is determined that the secure software 180 has not been tampered with (authentication result = OK).
[0128]
Further, detection of tampering by scan authentication is performed by the secure module 150 directly accessing the main memory 106 in which the secure software 180 is mounted independently of the secure software 180.
[0129]
In addition, since the scan authentication process does not go through the operating system at all, it is highly secure against tampering and peeping using functions of the operating system.
[0130]
On the other hand, when going through the operating system, for example, there is a possibility that a malicious user can be easily informed by the interrupt information notified to the operating system such as “when scan authentication processing is executed”. Is expensive.
[0131]
Next, (2) a process of rewriting the program irregularly will be described. In the process of rewriting the program irregularly, the secure module 150 (secure module processor 151) directly transfers the DMA to the memory area (main memory 106) in which the secure software 180 is mounted while the secure software 180 is operating. Write in real time.
[0132]
Here, in contrast to the above-described (1) scan authentication process is a read operation, (2) a write operation is performed in a process of rewriting a program irregularly. Specifically, the secure module 150 rewrites a part of the program of the secure software 180 without using the operating system so that the operating system does not know.
[0133]
As a result, when the scan authentication process is executed later, the authentication result changes in real time even while the secure software 180 is operating, and the degree of safety in the scan authentication process is improved.
[0134]
Here, a synergistic effect between the scan authentication and the irregular rewriting of the program will be described. In FIG. 2, for example, the “program for performing secret number communication” in the secure software 180 is rewritten.
[0135]
In this case, rewriting is performed in real time, and then the scan authentication processing is executed for the code of the rewritten program, so that the safety level is improved. It is easily imagined that it is difficult to hack a program that changes in real time, no matter how capable a malicious user (hacker) is.
[0136]
In one embodiment, it is also possible to confirm that the program actually being rewritten has been rewritten by confirming the actual operation of the rewritten program.
This is effective against the following attacks.
[0137]
In other words, in order for a malicious user to deceive scan authentication, the secure software “scan software” for scan authentication (for deception) and “secure software b” that actually operates are stored in the main memory 106 of the personal computer 100. In other words, the scan authentication process is executed for “secure software a” as an object, and the actual operation is considered to be performed by “secure software b”.
[0138]
The purpose of scan authentication is to make it impossible to rewrite the program. However, by creating a fake “secure software a”, a malicious user can freely rewrite “secure software b”, and the scan authentication is falsified.
[0139]
When the initialization / loading unit 160 loads the secure software 180, the initialization / loading unit 160 notifies the secure module 150 of the load destination memory area.
[0140]
However, at that time, the initialization / loading unit 160 notifies the secure module 150 of the memory area of the secure software a as a fake memory area, thereby enabling the above-described attack.
[0141]
In contrast, in one embodiment, a part (or all) of the secure software 180 is rewritten in real time, and the actual operation of the secure software 180 is changed based on the rewritten result, and the change is detected by the secure module 150. By doing so, the safety of the secure software 180 can be further improved.
[0142]
In one embodiment, for example, a “secret number communication program” is changed. This “secret number communication program” communicates the “secret number” between the secure module 150 and the secure software 180 in the secure software 180, and the secure module 150 confirms the safety of the secure software 180. It is a program for.
[0143]
For example, after notifying the secure software 180 of a secret number from the secure module 150, the secure software 180 returns a regular secret number to the secure module 150.
[0144]
Here, when a number other than the regular secret number is returned to the secure module 150, the secure module 150 determines that the secure software 180 has been tampered with. The secret number may be a number sequence composed of a plurality of numbers.
[0145]
As described above, in one embodiment, the secure module 150 directly executes a scan authentication process on the secure software 180 by a method such as DMA, rewrites a part of the code in real time, and the code operates. By confirming that this is the case, the above-described attack can be prevented.
[0146]
The configuration example for detecting the “spoofed” program has been described above. If the “spoofing” is found, the secure module 150 stops providing the decryption key to the encryption / decryption unit 184 of the secure software 180.
[0147]
In the secure module 150, there are a plurality of decryption keys, and each decryption key is valid for only a few seconds, for example. Therefore, if the provision of the decryption key is stopped, after a few seconds, the secure software 180 cannot continue a series of processes related to the encrypted MPEG stream.
[0148]
Next, (3) processing for rewriting the buffer position irregularly will be described.
In the process (3), while confirming the safety of the secure software 180 by the processes (1) and (2) described above, the buffer (data area) used by the secure software 180 is further changed in real time to Deal with “see” attacks.
[0149]
Here, “peep” means that another program that operates simultaneously with this program (in a time division manner) “seeks” the data area in the secure software 180 and steals information.
[0150]
Originally, the memory space in the personal computer 100 can be “peek” from any program that operates in a time-sharing manner. This is because the current processor is designed so that any memory area can be accessed, and there is no mechanism for controlling access to the memory space for each program.
[0151]
Recently, there are some things that can control the memory space that can be accessed for each program at the operating system level, but this is not enough. If a malicious user is worried about it, it is easy to “peek” into other memory spaces, analyze the structure of the secure software 180, find out where the important data is, and “peek”. It is possible to steal data.
[0152]
For example, in the secure software 180 shown in FIG. 3, if the positions of the input buffer 181, the video buffer 183, the small buffer 185, and the MPEG image memory 187 (collectively referred to as a buffer) are specified, the memory space is “peeked”. By doing this, it is possible to steal MPEG stream information and the like.
[0153]
In particular, the small buffer 185 in which the decoded raw compressed MPEG video information is stored is easy to handle and is easily targeted by malicious users. The MPEG image memory 187 stores a large amount of decoded image information even if the position is specified.
[0154]
Therefore, it is difficult to store and steal the image information in the hard disk drive 102 in consideration of the data transfer speed of the hard disk drive 102 and the transfer speed of the PCI bus 109 connected to the hard disk drive 102.
[0155]
Therefore, in one embodiment, the position of the buffer is rewritten irregularly, that is, the program code is rewritten with DMA such as the start address of the buffer, thereby making it difficult to steal information by “peeps”.
[0156]
Next, (4) secret number communication processing will be described. In the secret number communication process, the secure module 150 shown in FIG. 3 writes data (such as the first secret number) in a certain area of the secure software 180 (first and second secret number communication).
[0157]
Next, the secure module 180 confirms this data and returns an appropriate number, so that the secure module 150 confirms the safety of the secure software 180.
[0158]
In addition to a single number, the secret number may be a sequence number or text information. Of course, this secret number is information that only the secure module 150 and the secure software 180 know. Accordingly, since this number is not analyzed in the previous “peek” analysis or the like, the secret number is changed by the secure module 150 each time.
[0159]
Further, in the secret number communication process, when data is written from the secure module 150 to the memory area of the secure software 180, there is a risk of “peeping” at the data.
[0160]
Therefore, in one embodiment, in order to avoid the above-described danger, a normal value can be read once read into the secure module 150, but a different value (for example, “0”) is read the second time. And 152B are provided, and data is exchanged through these memory spaces 152A and 152B.
[0161]
In one embodiment, a decryption key, an encryption key, etc. are used between the secure module 150 and the secure software 180 using the memory space 152B etc. in which a normal value is read once and “0” is output the second time. Information is exchanged. Of course, the memory spaces 152A and 152B can also be used for transmitting information other than the encryption key.
[0162]
(Secure function at all switching)
Next, the secure function at the time of full switching in the personal computer 100 shown in FIG. 1 will be described with reference to FIG.
[0163]
In FIG. 4, during the normal operation of the secure software 180 loaded (implemented) in the main memory 106 of the personal computer 100, the initializing / loading unit 160 is used to transfer all of the secure software 180 to another secure software 180 ′ ( A case of switching to a TS decoder 182 ′, an encryption / decryption unit 184 ′, an MPEG video decoder 186 ′, an MPEG output unit 188 ′, etc.) is illustrated.
[0164]
At the time of all switching, the secure software 180 before the change and the secure software 180 ′ after the change exist in parallel on the main memory 106 for a period of time.
[0165]
This is a measure for avoiding that, for example, when the secure software 180 is stopped during the operation, the MPEG image reproduction may stop in the middle.
[0166]
Here, when the secure software 180 ′ is loaded from the initialization / loading unit 160 after the secure software 180 is deleted from the main memory 106, it takes time and a situation occurs in which MPEG image reproduction stops.
[0167]
In one embodiment, in order to avoid the above situation, the initialization / loading unit 160 loads the secure software 180 ′ into the main memory 106 before deleting the secure software 180. Thereby, the transition time from the secure software 180 to the secure software 180 ′ is shortened.
[0168]
In addition, when switching from the secure software 180 to the secure software 180 ′, it is necessary to take over the buffer area used by the secure software 180.
[0169]
For example, in FIG. 2 and FIG. 3, there is a possibility that encrypted MPEG video information for several seconds is stored in the video buffer 183, and for example, four frames, that is, four thirty seconds for four seconds in the MPEG image memory 187 ( Image information of about 133 milliseconds) may be stored.
[0170]
In addition, the number of seconds of encrypted MPEG video information stored in the video buffer 183 cannot be known unless the MPEG video decoding process is executed.
[0171]
This is because the MPEG compression rate depends on the image, and if it is an easily compressible image, a large number of images can be stored, but if the image has poor compression efficiency (there are many moving image components that must be updated each time) This is because only a small amount can be stored in the video buffer 183. For this reason, in one embodiment, it is necessary for the secure software 180 ′ to take over the buffer information being processed from the secure software 180.
[0172]
Normally, the secure software is switched (changed) using the initialization / load unit 160 for the following reason. The secure software is changed in real time by direct writing (DMA) by the secure module 150.
[0173]
However, with this change, it is difficult to change the entire secure software only by changing a part of the secure software. In order to change the secure software as a whole, it is necessary to drastically do it via the initialization / load unit 160. For this reason, in the embodiment, the initialization / load unit 160 can be changed.
[0174]
Specifically, the secure module 150 issues a secure software switching request to the initialization / load unit 160. As a result, the initialization / loading unit 160 issues a load request to the secure module 150. In response to the request of the initialization / load unit 160, the secure module 150 “passes the changed secure software 180 ′ to the initialization / load unit 160 in the same manner as described above.
[0175]
Here, the reason why the secure module 150 issues the first switching request to the initialization / load unit 160 is that it is safer to issue from the secure module 150 than from the initialization / load unit 160 close to the operating system. This is to make it difficult to know when the secure software was switched from the operating system.
[0176]
Next, the initialization / loading unit 160 finds a non-swappable free memory area on the personal computer 100 and loads the secure software 180 ′ into the main memory 106.
[0177]
Then, the secure module 150 performs switching control. For example, the secure module 150 controls switching by writing a special number in a certain memory space in the secure software.
[0178]
Next, control is transferred from the secure software 180 to the secure software 180 ′. However, when the control is transferred, it is necessary to transfer the control of the buffer memory space used by the secure software 180 to the secure software 180 ′.
[0179]
For this reason, the following specific control is executed.
[0180]
(1) The secure module 150 passes the switching request signal to the initialization / loading unit 160.
[0181]
(2) The initialization / loading unit 160 requests secure software 180 ′ from the secure module 150.
[0182]
(3) The secure module 150 passes the secure software 180 ′ to the initialization / load unit 160.
[0183]
(4) The initialization / loading unit 160 loads the secure software 180 ′ into the non-swappable area on the main memory 106.
[0184]
(5) Now, the secure software 180 and the secure software 180 ′ exist in parallel on the main memory 106.
[0185]
(6) The secure module 150 issues a secure software switching instruction to the secure software 180.
[0186]
(7) Upon receiving the secure software switching instruction, the secure software 180 waits for the input of an image display end signal from the image LSI 107 in order to transfer control to the secure software 180 ′ at a place where MPEG processing is good, and displays the image. When the end signal is input, the following measures are taken.
[0187]
(A) The secure software 180 notifies the secure software 180 ′ of the start address of the MPEG image memory 187 and related information. For example, when the MPEG image memory 187 has a four-frame structure, the related information includes information on the type of each MPEG frame (I picture, P picture, B picture), an updatable frame, an image to be displayed in the next frame, and the like. It is.
[0188]
(B) The secure software 180 notifies the secure software 180 ′ of information related to the memory start address of the small buffer 185 and the remaining data amount.
[0189]
(C) The secure software 180 notifies the secure software 180 ′ of information regarding the memory start address and the remaining data amount of the video buffer 183.
[0190]
(D) The secure software 180 notifies the secure software 180 ′ of information regarding the memory start address and the remaining memory capacity of the input buffer 181.
[0191]
(E) The secure software 180 notifies the secure software 180 ′ of information on the encryption key and decryption key being used.
[0192]
(8) The secure software 180 transfers control to the secure software 180 ′.
[0193]
(Secure function during partial switching)
Next, a secure function at the time of partial switching in the personal computer 100 shown in FIG. 1 will be described with reference to FIG.
[0194]
FIG. 5 shows a part of secure software 180 (for example, MPEG video decoder 186) using initialization / load unit 160 during normal operation of secure software 180 loaded (implemented) in main memory 106 of personal computer 100. ) Is switched to another MPEG video decoder 186 ′.
[0195]
Here, in FIG. 4 described above, the case where all of the secure software 180 is switched to the secure software 180 ′ has been described, but the case of FIG. 5 where a part is switched is practical. In the case of FIG. 5, since only a part of the secure software 180 is switched, only a part of the buffer is taken over.
[0196]
The following operations are performed through the operations (1) to (5) at the time of full switching.
[0197]
(6 ′) The secure module 150 issues a secure software switching instruction to the secure software 180.
[0198]
(7 ′) The secure software 180 that has received the secure software switching instruction shifts the control to the MPEG video decoder 186 ′ at the point where the MPEG processing is good, so that the image display end signal from the image LSI 107 is transferred. When the image display end signal is input, the following measures are taken.
[0199]
(A ′) The secure software 180 notifies the MPEG video decoder 186 ′ of the start address of the MPEG image memory 187 and related information. For example, when the MPEG image memory 187 has a four-frame structure, the related information includes information on the type of each MPEG frame (I picture, P picture, B picture), an updatable frame, an image to be displayed in the next frame, and the like. It is.
[0200]
(B ′) The secure software 180 notifies the MPEG video decoder 186 ′ of information on the memory start address of the small buffer 185 and the remaining data amount.
[0201]
(8 ′) The secure software 180 incorporates the MPEG video decoder 186 ′ as an official MPEG video decoder instead of the MPEG video decoder 186, and starts processing.
[0202]
Note that the video buffer 183 and the input buffer 181 are not directly related to the MPEG video decoder 186 and need not be switched.
[0203]
As described above, according to the embodiment, the secure module 150 shown in FIG. 3 is provided, and the secure module 150 directly accesses the main memory 106 in which the secure software 180 is stored, thereby rewriting the program and buffering the program. Since the position change, the scan authentication, and the like are executed, a minimum software (secure module 150) is added to a device having an open architecture such as the personal computer 100, so that safe software processing can be performed. Can be executed.
[0204]
Further, according to the embodiment, since the secret information is stored in the memory space that is controlled so that the regular information is read at the first time and the different information is read at the second time, the secure environment is further increased. Can be provided.
[0205]
Although one embodiment of the present invention has been described in detail with reference to the drawings, a specific configuration example is not limited to this one embodiment, and the design can be changed without departing from the gist of the present invention. And the like are included in the present invention.
[0206]
For example, in the above-described embodiment, a program for realizing the above-described secure function is recorded on the computer-readable recording medium 500 shown in FIG. 6, and the program recorded on the recording medium 500 is the same. Each function may be realized by being read and executed by the computer 400 shown in the figure.
[0207]
A computer 400 shown in FIG. 1 executes a program from a CPU 410 that executes the above program, an input device 420 such as a keyboard and a mouse, a ROM 430 that stores various data, a RAM 440 that stores calculation parameters and the like, and a recording medium 500. A reading device 450 for reading, an output device 460 such as a display and a printer, and a bus 470 for connecting each part of the device are configured.
[0208]
The CPU 410 reads the program recorded on the recording medium 500 via the reading device 450 and then executes the program to realize the above-described function. Examples of the recording medium 500 include an optical disk, a flexible disk, and a hard disk.
[0209]
(Supplementary note 1) In an information reproducing apparatus for reproducing information,
A secure module having a structure in which information stored inside cannot be referred to from outside;
Memory that can be referenced from outside,
The memory storage information mounted in the secure module and stored in the memory by direct access without any means, and the comparison result between the memory storage information and the secure module storage information stored in advance in the secure module Falsification check means for checking falsification of the memory storage information based on
An information reproducing apparatus comprising:
[0210]
(Supplementary note 2) The information reproducing apparatus according to supplementary note 1, wherein the tampering check means reads all of the memory storage information.
[0211]
(Supplementary note 3) The information reproducing apparatus according to supplementary note 1, wherein the falsification check means reads a part of the memory storage information.
[0212]
(Supplementary note 4) The information reproducing apparatus according to any one of Supplementary notes 1 to 3, wherein the tampering check unit compares the memory storage information with the secure module storage information by a checksum.
[0213]
(Supplementary note 5) The information reproducing apparatus according to any one of supplementary notes 1 to 4, wherein the memory storage information is software.
[0214]
(Supplementary note 6) The information reproducing apparatus according to any one of supplementary notes 1 to 5, wherein the falsification check unit reads data from the memory irregularly.
[0215]
(Additional remark 7) It is equipped with the rewriting means mounted in the said secure module, and rewrites the memory storage information stored in the said memory by direct access without going through any means, The said tampering check means is the memory storage information after rewriting, The information reproducing apparatus according to any one of appendices 1 to 6, wherein tampering of the memory storage information is checked based on a comparison result with the secure module storage information.
[0216]
(Supplementary note 8) The information reproducing apparatus according to supplementary note 7, wherein the rewriting means rewrites the memory storage information irregularly.
[0217]
(Supplementary note 9) The information reproducing apparatus according to supplementary note 7 or 8, wherein the rewriting means rewrites a part of the memory storage information.
[0218]
(Supplementary note 10) Any one of Supplementary notes 1 to 9, further comprising: a storage control unit which is mounted on the secure module, changes the original information, and stores the changed information in the memory as memory storage information. The information reproducing apparatus according to one.
[0219]
(Supplementary note 11) The information according to supplementary note 10, wherein when the memory storage information is updated, the storage control means causes the memory storage information before the update to be taken over from the memory storage information after the update. Playback device.
[0220]
(Supplementary note 12) The storage control means encrypts the original information using a key existing only in the secure module, and stores the encrypted original information in the memory as the memory storage information. The information reproducing apparatus according to Supplementary Note 10 or 11.
[0221]
(Supplementary Note 13) Key management implemented in the secure module, which holds a key used for encryption or decryption of the memory storage information, and supplies the key to the outside when no alteration is detected by the alteration check means The information reproducing apparatus according to any one of appendices 1 to 12, further comprising: means.
[0222]
(Supplementary note 14) The information reproducing apparatus according to supplementary note 13, wherein the key management means supplies the key with a valid time set.
[0223]
(Supplementary note 15) The information reproducing apparatus according to supplementary note 13 or 14, wherein the key management means changes the key each time it is supplied.
[0224]
(Supplementary note 16) The information reproducing apparatus according to any one of Supplementary notes 13 to 15, wherein the key management unit stops the supply of the key when the alteration check is detected by the alteration check unit.
[0225]
(Supplementary Note 17) A writing unit that is mounted on the secure module and writes the secret information in the secure module to the memory by direct access, and the tamper check unit includes response information corresponding to the written secret information. The information reproducing apparatus according to any one of appendices 1 to 16, wherein the alteration of the memory storage information is checked based on the information.
[0226]
(Supplementary note 18) The information according to supplementary note 17, wherein the secret information is stored in a memory space controlled so that regular information is read out first time and different information is read out a second time Playback device.
[0227]
(Supplementary note 19) The information reproducing apparatus according to any one of supplementary notes 1 to 18, wherein the memory storage information is encrypted MPEG data.
[0228]
(Supplementary note 20) It is executed in a secure module having a structure in which information stored inside cannot be referred to from the outside, and is stored in a memory that can be referred to from outside by direct access without any means. A reading process of reading out stored memory information;
A tamper check step of checking tampering of the memory storage information based on a comparison result between the read memory storage information and the secure module storage information stored in advance in the secure module;
A method for reproducing information, comprising:
[0229]
(Supplementary Note 21) In a secure module that is mounted on an information reproducing device and has a structure in which information stored inside cannot be referred to from outside,
Reading means that can be referred to from the outside and reads the memory storage information stored in the memory mounted in the information reproducing apparatus by direct access without any means;
A tamper check means for checking tampering of the memory storage information based on a comparison result between the read memory storage information and the secure module storage information stored in advance in the secure module;
A secure module characterized by comprising:
[0230]
(Supplementary note 22) The secure module according to supplementary note 21, wherein the reading means reads all the memory storage information.
[0231]
(Supplementary note 23) The secure module according to supplementary note 21, wherein the reading unit reads a part of the memory storage information.
[0232]
(Supplementary note 24) The secure module according to any one of supplementary notes 21 to 23, wherein the tampering check unit compares the memory storage information with the secure module storage information by a checksum.
[0233]
(Supplementary note 25) The secure module according to any one of supplementary notes 21 to 24, wherein the memory storage information is software.
[0234]
(Supplementary note 26) The secure module according to any one of supplementary notes 21 to 25, wherein the reading unit performs reading from the memory irregularly.
[0235]
(Supplementary note 27) Rewriting means for rewriting memory storage information stored in the memory by direct access without any means is provided, and the tamper check means compares the memory storage information after rewriting with the secure module storage information. 27. The secure module according to any one of appendices 21 to 26, wherein the tampering of the memory storage information is checked based on a result.
[0236]
(Supplementary note 28) The secure module according to supplementary note 27, wherein the rewriting means rewrites the memory storage information irregularly.
[0237]
(Supplementary note 29) The secure module according to supplementary note 27 or 28, wherein the rewriting means rewrites a part of the memory storage information.
[0238]
(Supplementary note 30) The secure module according to any one of Supplementary notes 21 to 29, comprising storage control means for changing the original information and storing the changed information in the memory as memory storage information. .
[0239]
(Supplementary note 31) The secure storage unit according to supplementary note 30, wherein when the memory storage information is updated, the storage control means causes the memory storage information before update to be taken over from the memory storage information after update. module.
[0240]
(Supplementary Note 32) The storage control means encrypts the original information using a key that exists only in the secure module, and stores the encrypted original information in the memory as the memory storage information. The secure module according to Supplementary Note 30 or 31.
[0241]
(Supplementary note 33) A key management unit is provided that holds a key used for encryption or decryption of the memory storage information and supplies the key to the outside when the tampering check unit does not detect tampering. The secure module according to any one of appendices 21 to 32.
[0242]
(Supplementary note 34) The secure module according to supplementary note 33, wherein the key management means supplies the key with a valid time set.
[0243]
(Supplementary note 35) The secure module according to supplementary note 33 or 34, wherein the key management means changes the key each time it is supplied.
[0244]
(Supplementary note 36) The secure module according to any one of supplementary notes 33 to 35, wherein the key management unit stops supply of the key when the alteration check is detected by the alteration check unit.
[0245]
(Supplementary Note 37) A writing unit for writing secret information in the secure module to the memory by direct access, wherein the tampering checking unit stores the memory storage information based on the response information corresponding to the written secret information. 37. The secure module according to any one of appendices 21 to 36, wherein tampering is checked.
[0246]
(Supplementary note 38) The secure information according to supplementary note 37, wherein the secret information is stored in a memory space that is controlled so that regular information is read first time and different information is read second time. module.
[0247]
(Supplementary note 39) The secure module according to any one of Supplementary notes 21 to 38, wherein the memory storage information is encrypted MPEG data.
[0248]
(Additional remark 40) In the recording medium which stored the program for making the secure module which is mounted in the information reproducing | regenerating apparatus and has the structure which cannot refer the information stored inside from the outside,
Read process means that can be referred to from the outside and read out the memory storage information stored in the memory mounted in the information reproducing apparatus by direct access without any means;
A tamper check step of checking tampering of the memory storage information based on a comparison result between the read memory storage information and the secure module storage information stored in advance in the secure module;
A recording medium storing a program for executing the program.
[0249]
【The invention's effect】
As described above, according to the present invention, the memory storage information stored in the memory is read by direct access without using any means, and the memory storage information and the secure module storage information stored in advance in the secure module are read out. Based on the comparison result, it was decided to check the tampering of the memory storage information. Therefore, by adding a minimum hardware (secure module) to a device having an open architecture such as a personal computer, a safe software There exists an effect that a process can be performed.
[0250]
Further, according to the present invention, a rewriting unit that is mounted on the secure module and rewrites the memory storage information stored in the memory by direct access without any means is provided, and the memory storage information after rewriting, the secure module storage information, Based on the comparison result, it was decided to check the alteration of the memory storage information. Therefore, it is safe to add a minimum hardware (secure module) to a device having an open architecture such as a personal computer. There is an effect that software processing can be executed.
[0251]
Further, according to the present invention, since it is mounted on the secure module, the original information is changed, and the changed information is stored in the memory as the memory storage information, it is possible to provide a safer secure environment. There is an effect.
[0252]
In addition, according to the present invention, when the memory storage information is updated, the memory storage information before the update is taken over from the memory storage information after the update. There is an effect that can be.
[0253]
Further, according to the present invention, the original information is encrypted using a key that exists only in the secure module, and the encrypted original information is stored in the memory as memory storage information. There is an effect that it can be provided.
[0254]
In addition, according to the present invention, the key used for encryption or decryption of the memory storage information is held, and when tampering is not detected by the tampering check means, the key is supplied to the outside, so that the security is high. There is an effect that encryption or decryption can be performed in the state.
[0255]
Further, according to the present invention, when the alteration is detected by the alteration check means, the supply of the key is stopped, so that it is possible to minimize the damage caused by the alteration.
[0256]
Further, according to the present invention, there is provided a writing means for writing the secret information in the secure module into the memory by direct access, and checking for alteration of the memory storage information based on the response information corresponding to the written secret information; As a result, it is possible to provide a safer secure environment.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment according to the present invention.
FIG. 2 is a block diagram for explaining a secure function at power-on in the personal computer 100 shown in FIG.
FIG. 3 is a block diagram for explaining a secure function during normal operation in the personal computer 100 shown in FIG. 1;
4 is a block diagram for explaining a secure function at the time of full switching in the personal computer 100 shown in FIG. 1. FIG.
FIG. 5 is a block diagram for explaining a secure function at the time of partial switching in the personal computer 100 shown in FIG. 1;
FIG. 6 is a block diagram showing a configuration of a modification of the same embodiment.
FIG. 7 is a block diagram showing a configuration example of a conventional system using a personal computer 50.
8 is a diagram for explaining the flow of information in the personal computer 50 shown in FIG. 7;
[Explanation of symbols]
100 Personal computer
101 PC main processor
102 Hard disk drive
106 Main memory
107 Image LSI
108 Image memory
109 PCI bus
150 Secure Module
151 Secure Module Processor
152 RAM
153 ROM
154 Encryption / decryption engine
155 PCI interface
200 network
300 Display device
160 Initialization / loading section
170 drivers
180 Secure Software
180 'secure software
181 Input buffer
182 TS decoder
183 video buffer
184 Encryption / decryption unit
185 small buffer
186 MPEG video decoder
187 MPEG picture memory
188 MPEG output section

Claims (38)

情報を再生する情報再生装置において、
内部に格納されている情報を外部から参照することができない構造を有し、ロードされる前のセキュアソフトウェアをセキュアモジュール格納情報として予め格納するセキュアモジュールと、
外部から参照することが可能であり、前記セキュアソフトウェアがロードされるメモリと、
前記セキュアモジュールに実装され、前記メモリにロードされた動作中のセキュアソフトウェアであるメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出し、該メモリ格納情報と、前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、
を備えたことを特徴とする情報再生装置。
In an information reproducing apparatus for reproducing information,
Have a structure that can not be referring to the information stored in the inside from the outside, and a secure module for previously storing a previous secure software loaded as a secure module storing information,
A memory that can be referenced from the outside and loaded with the secure software ;
Wherein is implemented in the secure module, said read by directly accessing the memory storage information is a secure operating software loaded into memory without any means, and said memory storing information, the result of comparison between the secure module stores information And a tamper check means for checking tampering of the memory storage information,
An information reproducing apparatus comprising:
前記セキュアモジュールに実装され、前記メモリ格納情報として前記メモリにロードされるセキュアソフトウェアが用いるバッファの位置を変更する変更手段を備えたことを特徴とする請求項1に記載の情報再生装置。2. The information reproducing apparatus according to claim 1, further comprising changing means for changing a buffer position used by secure software mounted on the secure module and loaded into the memory as the memory storage information. 前記改ざんチェック手段は、前記メモリ格納情報の全てを読み出すことを特徴とする請求項1または2に記載の情報再生装置。The information reproducing apparatus according to claim 1, wherein the tampering check unit reads all of the memory storage information. 前記改ざんチェック手段は、前記メモリ格納情報の一部を読み出すことを特徴とする請求項1または2に記載の情報再生装置。3. The information reproducing apparatus according to claim 1, wherein the tampering check unit reads a part of the memory storage information. 前記改ざんチェック手段は、チェックサムにより前記メモリ格納情報と前記セキュアモジュール格納情報との比較を行うことを特徴とする請求項1〜4のいずれか一つに記載の情報再生装置。5. The information reproducing apparatus according to claim 1, wherein the tampering check unit compares the memory storage information with the secure module storage information using a checksum. 前記改ざんチェック手段は、不定期に前記メモリからの読み出しを行うことを特徴とする請求項1〜5のいずれか一つに記載の情報再生装置。The information reproduction apparatus according to claim 1, wherein the tampering checker reads data from the memory irregularly. 前記セキュアモジュールに実装され、いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を書き換える書き換え手段を備え、前記改ざんチェック手段は、書き換え後のメモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項1〜6のいずれか一つに記載の情報再生装置。Rewriting means mounted on the secure module and rewriting the memory storage information stored in the memory by direct access without any means, and the tamper check means includes the memory storage information after rewriting and the secure module storage information. 7. The information reproducing apparatus according to claim 1 , wherein the information stored in the memory is checked for falsification based on a comparison result with the information reproducing apparatus. 前記書き換え手段は、不定期に前記メモリ格納情報の書き換えを行うことを特徴とする請求項7に記載の情報再生装置。The information reproducing apparatus according to claim 7, wherein the rewriting unit rewrites the memory storage information irregularly. 前記書き換え手段は、前記メモリ格納情報の一部を書き換えることを特徴とする請求項7または8に記載の情報再生装置。9. The information reproducing apparatus according to claim 7, wherein the rewriting unit rewrites a part of the memory storage information. 前記セキュアモジュールに実装され、ハードディスクドライブに記憶されているセキュアソフトウェアである原情報に変更をかけ、変更後の情報をメモリ格納情報として前記メモリに格納する格納制御手段を備えたことを特徴とする請求項1〜9のいずれか一つに記載の情報再生装置。The storage module includes a storage control unit that is mounted on the secure module, changes original information that is secure software stored in a hard disk drive, and stores the changed information in the memory as memory storage information. The information reproducing apparatus according to claim 1 . 前記格納制御手段は、前記メモリにロードされるセキュアソフトウェアが切り替えられることにより前記メモリ格納情報を更新した場合に、更新前のセキュアソフトウェアが用いていたバッファの位置情報を更新後のセキュアソフトウェアへ引継がせることを特徴とする請求項10に記載の情報再生装置。When the storage control means updates the memory storage information by switching the secure software loaded into the memory , the storage control means transfers the buffer position information used by the secure software before the update to the secure software after the update. the information reproducing apparatus according to claim 10, characterized in that. 前記格納制御手段は、前記セキュアモジュール内のみに存在する鍵を用いて前記メモリにロードされるセキュアソフトウェアの処理対象となるMPEGデータである原情報を暗号化し、暗号化された原情報を前記メモリ格納情報の処理対象となるMPEGデータとして前記メモリに格納することを特徴とする請求項10または11に記載の情報再生装置。The storage control means encrypts original information, which is MPEG data to be processed by secure software loaded into the memory, using a key existing only in the secure module, and stores the encrypted original information in the memory 12. The information reproducing apparatus according to claim 10 or 11 , wherein the information is stored in the memory as MPEG data to be processed of stored information. 前記セキュアモジュールに実装されており、前記メモリ格納情報の暗号化または復号化に用いられる鍵を保持し、前記改ざんチェック手段により改ざんが検知されない場合、鍵を外部へ供給する鍵管理手段を備えたことを特徴とする請求項1〜12のいずれか一つに記載の情報再生装置。A key management unit that is mounted on the secure module, holds a key used for encryption or decryption of the memory storage information, and supplies the key to the outside when the tampering check unit does not detect tampering The information reproduction apparatus according to claim 1 , wherein the information reproduction apparatus is a reproduction apparatus. 前記鍵管理手段は、有効時間が設定された前記鍵を供給することを特徴とする請求項13に記載の情報再生装置。The information reproducing apparatus according to claim 13, wherein the key management unit supplies the key with a valid time set. 前記鍵管理手段は、供給の度に鍵を変更することを特徴とする請求項13または14に記載の情報再生装置。15. The information reproducing apparatus according to claim 13, wherein the key management unit changes the key each time the key is supplied. 前記鍵管理手段は、前記改ざんチェック手段により改ざんが検知された場合、前記鍵の供給を停止することを特徴とする請求項13〜15のいずれか一つに記載の情報再生装置。16. The information reproducing apparatus according to claim 13, wherein the key management unit stops supply of the key when tampering is detected by the tampering checking unit. 前記セキュアモジュールに実装され、直接アクセスにより、前記セキュアモジュール内の秘密情報を前記メモリに書き込む書込手段を備え、前記改ざんチェック手段は、書き込まれた前記秘密情報に対応する応答情報に基づいて前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項1〜16のいずれか一つに記載の情報再生装置。A writing unit that is mounted on the secure module and writes the secret information in the secure module to the memory by direct access, and the tampering checking unit is configured to store the memory based on the response information corresponding to the written secret information. The information reproducing apparatus according to claim 1, wherein the stored information is checked for tampering. 前記秘密情報は、1度目で正規の情報が読み出され2度目で違う情報が読み出されるように制御されるメモリ空間に格納されていることを特徴とする請求項17に記載の情報再生装置。18. The information reproducing apparatus according to claim 17, wherein the secret information is stored in a memory space controlled so that regular information is read first time and different information is read second time. 情報再生装置に実装され、内部に格納されている情報を外部から参照することができない構造を有し、ロードされる前のセキュアソフトウェアをセキュアモジュール格納情報として予め格納するセキュアモジュールにおいて、
外部から参照することが可能であって前記情報再生装置に実装されたメモリにロードされた動作中のセキュアソフトウェアであるメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出す読み出し手段と、
読み出された前記メモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、
を備えることを特徴とするセキュアモジュール。
Is mounted on the information reproducing apparatus, have a structure that can not be referring to the information stored in the inside from the outside, in the secure module to pre-stored as a secure module stores information in front of secure software loaded,
Reading means that can be referred to from the outside and reads memory storage information that is secure software in operation loaded in a memory mounted in the information reproducing apparatus by direct access without any means;
Wherein a read the memory storage information was based on a comparison result between the secure module storing information, a falsification check means for checking falsification of the memory storage information,
A secure module comprising:
前記メモリ格納情報として前記メモリにロードされるセキュアソフトウェアが用いるバッファの位置を変更する変更手段を備えたことを特徴とする請求項19に記載のセキュアモジュール。20. The secure module according to claim 19, further comprising changing means for changing a position of a buffer used by secure software loaded into the memory as the memory storage information. 前記読み出し手段は、前記メモリ格納情報の全てを読み出すことを特徴とする請求項19または20に記載のセキュアモジュール。21. The secure module according to claim 19, wherein the reading unit reads all of the memory storage information. 前記読み出し手段は、前記メモリ格納情報の一部を読み出すことを特徴とする請求項19または20に記載のセキュアモジュール。21. The secure module according to claim 19, wherein the reading unit reads a part of the memory storage information. 前記改ざんチェック手段は、チェックサムにより前記メモリ格納情報と前記セキュアモジュール格納情報との比較を行うことを特徴とする請求項19〜22のいずれか一つに記載のセキュアモジュール。The secure module according to any one of claims 19 to 22, wherein the tampering check unit compares the memory storage information with the secure module storage information by a checksum. 前記読み出し手段は、不定期に前記メモリからの読み出しを行うことを特徴とする請求項19〜23のいずれか一つに記載のセキュアモジュール。The secure module according to any one of claims 19 to 23, wherein the reading unit performs reading from the memory irregularly. いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を書き換える書き換え手段を備え、前記改ざんチェック手段は、書き換え後のメモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項19〜24のいずれか一つに記載のセキュアモジュール。Rewriting means for rewriting memory storage information stored in the memory by direct access without any means, and the tamper check means is based on a comparison result between the memory storage information after rewriting and the secure module storage information. The secure module according to any one of claims 19 to 24, wherein tampering of the memory storage information is checked. 前記書き換え手段は、不定期に前記メモリ格納情報の書き換えを行うことを特徴とする請求項25に記載のセキュアモジュール。26. The secure module according to claim 25, wherein the rewriting unit rewrites the memory storage information irregularly. 前記書き換え手段は、前記メモリ格納情報の一部を書き換えることを特徴とする請求項25または26記載のセキュアモジュール。27. The secure module according to claim 25 or 26, wherein the rewriting means rewrites a part of the memory storage information. ハードディスクドライブに記憶されているセキュアソフトウェアである原情報に変更をかけ、変更後の情報をメモリ格納情報として前記メモリに格納する格納制御手段を備えたことを特徴とする請求項19〜27のいずれか一つに記載のセキュアモジュール。28. A storage control means for changing original information, which is secure software stored in a hard disk drive, and storing the changed information in the memory as memory storage information. The secure module as described in one. 前記格納制御手段は、前記メモリに実装されるセキュアソフトウェアが切り替えられることにより前記メモリ格納情報を更新した場合に、更新前のセキュアソフトウェアが用いていたバッファの位置情報を更新後のセキュアソフトウェアへ引継がせることを特徴とする請求項28に記載のセキュアモジュール。When the storage control means updates the memory storage information by switching the secure software installed in the memory, the storage control means transfers the buffer position information used by the secure software before the update to the secure software after the update. 29. The secure module according to claim 28, wherein: 前記格納制御手段は、前記セキュアモジュール内のみに存在する鍵を用いて前記メモリにロードされるセキュアソフトウェアの処理対象となるMPEGデータである原情報を暗号化し、暗号化された原情報を前記メモリ格納情報の処理対象となるMPEGデータとして前記メモリに格納することを特徴とする請求項28または29に記載のセキュアモジュール。The storage control means encrypts original information, which is MPEG data to be processed by secure software loaded into the memory, using a key existing only in the secure module, and stores the encrypted original information in the memory 30. The secure module according to claim 28 or 29, wherein the secure module is stored in the memory as MPEG data to be processed. 前記メモリ格納情報の暗号化または復号化に用いられる鍵を保持し、前記改ざんチェック手段により改ざんが検知されない場合、鍵を外部へ供給する鍵管理手段を備えたことを特徴とする請求項19〜30のいずれか一つに記載のセキュアモジュール。20. A key management unit that holds a key used for encryption or decryption of the memory storage information and supplies the key to the outside when the tampering check unit does not detect tampering. 30. The secure module according to any one of 30. 前記鍵管理手段は、有効時間が設定された前記鍵を供給することを特徴とする請求項31に記載のセキュアモジュール。32. The secure module according to claim 31, wherein the key management means supplies the key with a valid time set. 前記鍵管理手段は、供給の度に鍵を変更することを特徴とする請求項31または32に記載のセキュアモジュール。33. The secure module according to claim 31 or 32, wherein the key management means changes the key every time it is supplied. 前記鍵管理手段は、前記改ざんチェック手段により改ざんが検知された場合、前記鍵の供給を停止することを特徴とする請求項31〜33のいずれか一つに記載のセキュアモジュール。The secure module according to any one of claims 31 to 33, wherein the key management unit stops supply of the key when tampering is detected by the tampering check unit. 直接アクセスにより、前記セキュアモジュール内の秘密情報を前記メモリに書き込む書込手段を備え、前記改ざんチェック手段は、書き込まれた前記秘密情報に対応する応答情報に基づいて前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項19〜34のいずれか一つに記載のセキュアモジュール。Write means for writing the secret information in the secure module to the memory by direct access, and the tamper check means checks the tampering of the memory storage information based on the response information corresponding to the written secret information The secure module according to any one of claims 19 to 34, wherein: 前記秘密情報は、1度目で正規の情報が読み出され2度目で違う情報が読み出されるように制御されるメモリ空間に格納されていることを特徴とする請求項35に記載のセキュアモジュール。36. The secure module according to claim 35, wherein the secret information is stored in a memory space controlled so that regular information is read first time and different information is read second time. 内部に格納されている情報を外部から参照することができない構造を有し、ロードされる前のセキュアソフトウェアをセキュアモジュール格納情報として予め格納するセキュアモジュール内で実行され、外部から参照することが可能なメモリにロードされた動作中のセキュアソフトウェアであるメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出す読み出し工程と、
前記セキュアモジュール内で実行され、読み出された前記メモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック工程と、
を含むことを特徴とする情報再生方法。
Have a structure that can not be referring to the information stored in the inside from the outside, is performed within the secure module for previously storing a previous secure software loaded as a secure module storing information, it can be referenced from outside A read process for reading out memory storage information, which is secure software in operation loaded into a simple memory, by direct access without any means ;
The runs in the secure module, based on a result of comparison between the read said memory stores information was to the secure module storing information, a tampering check process for checking the tampering with the memory storage information,
A method for reproducing information, comprising:
前記メモリ格納情報として前記メモリに実装されるセキュアソフトウェアが用いるバッファの位置を変更する変更工程を含むことを特徴とする請求項37に記載の情報再生方法。38. The information reproducing method according to claim 37, further comprising a changing step of changing a position of a buffer used by secure software installed in the memory as the memory storage information.
JP2003203751A 2002-07-30 2003-07-30 Information reproducing apparatus, secure module, and information reproducing method Expired - Lifetime JP4576100B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003203751A JP4576100B2 (en) 2002-07-30 2003-07-30 Information reproducing apparatus, secure module, and information reproducing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002221856 2002-07-30
JP2003203751A JP4576100B2 (en) 2002-07-30 2003-07-30 Information reproducing apparatus, secure module, and information reproducing method

Publications (2)

Publication Number Publication Date
JP2004129227A JP2004129227A (en) 2004-04-22
JP4576100B2 true JP4576100B2 (en) 2010-11-04

Family

ID=32300659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003203751A Expired - Lifetime JP4576100B2 (en) 2002-07-30 2003-07-30 Information reproducing apparatus, secure module, and information reproducing method

Country Status (1)

Country Link
JP (1) JP4576100B2 (en)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244339A (en) * 2005-03-07 2006-09-14 Fujitsu Ltd Information processor, secure device, and digital content decoding software
JP4698285B2 (en) * 2005-05-19 2011-06-08 富士通株式会社 Information processing apparatus, information processing method, and computer program
US20090285280A1 (en) 2005-11-29 2009-11-19 Thomas Patrick Newberry Method and Apparatus for Securing Digital Content
JP4908026B2 (en) * 2006-03-22 2012-04-04 株式会社東芝 Information processing device
JP4957148B2 (en) 2006-09-26 2012-06-20 富士通株式会社 Secure element having key management function and information processing apparatus
JP5018558B2 (en) * 2008-02-29 2012-09-05 富士通株式会社 Storage area allocation method and information processing apparatus
JP5141655B2 (en) * 2009-09-02 2013-02-13 ソニー株式会社 Stream decryption / encryption device
JP5588781B2 (en) * 2010-08-10 2014-09-10 富士通株式会社 Secure module and information processing apparatus
JP5772031B2 (en) 2011-02-08 2015-09-02 富士通株式会社 Communication device and secure module
JP2012174228A (en) * 2011-02-24 2012-09-10 Kyocera Corp Program protection device and communication apparatus
JP5775738B2 (en) 2011-04-28 2015-09-09 富士通株式会社 Information processing apparatus, secure module, information processing method, and information processing program
EP2903202A4 (en) 2012-09-28 2015-11-04 Fujitsu Ltd Information processing device and semiconductor device
JP2014235326A (en) * 2013-06-03 2014-12-15 富士通セミコンダクター株式会社 System, information processing apparatus, secure module, and verification method
JP7018864B2 (en) * 2018-10-15 2022-02-14 ルネサスエレクトロニクス株式会社 Semiconductor devices and their control methods
JP7010543B1 (en) * 2020-11-19 2022-01-26 Necプラットフォームズ株式会社 Computer system, software tampering verification method, and program
CN116090032B (en) * 2022-06-29 2023-10-20 荣耀终端有限公司 Display method and related device

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63105545A (en) * 1986-10-22 1988-05-10 Sony Corp Decoder
JPH03503220A (en) * 1989-06-06 1991-07-18 ブル・セー・ペー・8 Method and mobile device for checking message integrity
JPH03239032A (en) * 1990-02-16 1991-10-24 Sony Corp Receiver for scramble signal
JPH10283190A (en) * 1997-04-09 1998-10-23 Fujitsu Ltd Storage medium driving device, storage medium and data protection method
JPH1139158A (en) * 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> Method for protecting executed program and its device
JP2001500293A (en) * 1996-09-05 2001-01-09 エリクソン インコーポレイテッド Electronic memory tampering prevention system
JP2001147898A (en) * 1999-11-18 2001-05-29 Ricoh Co Ltd Electronic preserving method and device for guaranteeing originality and computer readable recording medium
JP2001154577A (en) * 1999-11-29 2001-06-08 Ricoh Co Ltd Device and method for electronically storing original document property and computer-readable recording medium with recorded program for the method to be executed by computer
WO2001043342A1 (en) * 1999-12-06 2001-06-14 Sanyo Electric Co., Ltd. Data distribution system and recorder for use therein
JP2002000885A (en) * 1993-05-20 2002-01-08 Le Tekku:Kk Microcomputer chip for game machine control
JP2002312221A (en) * 2001-04-17 2002-10-25 Matsushita Electric Ind Co Ltd Memory device with access control function and faile access control program
JP2003507785A (en) * 1999-08-13 2003-02-25 ヒューレット・パッカード・カンパニー Computer platform and its operation method
JP2003507784A (en) * 1999-08-13 2003-02-25 ヒューレット・パッカード・カンパニー Mandatory restrictions on the use of stored data
JP2003058669A (en) * 2001-08-17 2003-02-28 Ace Denken:Kk Game program, game site operating device, and game program alteration detecting method
JP2003173215A (en) * 2001-09-26 2003-06-20 Sony Corp Information processor, program loading method, recording medium, program updating method and circuit element
JP2003198527A (en) * 2001-12-27 2003-07-11 Fujitsu Ltd Information reproducing device and secure module
JP2004054834A (en) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd Program development method, program development support device, and program packaging method

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63105545A (en) * 1986-10-22 1988-05-10 Sony Corp Decoder
JPH03503220A (en) * 1989-06-06 1991-07-18 ブル・セー・ペー・8 Method and mobile device for checking message integrity
JPH03239032A (en) * 1990-02-16 1991-10-24 Sony Corp Receiver for scramble signal
JP2002000885A (en) * 1993-05-20 2002-01-08 Le Tekku:Kk Microcomputer chip for game machine control
JP2001500293A (en) * 1996-09-05 2001-01-09 エリクソン インコーポレイテッド Electronic memory tampering prevention system
JPH10283190A (en) * 1997-04-09 1998-10-23 Fujitsu Ltd Storage medium driving device, storage medium and data protection method
JPH1139158A (en) * 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> Method for protecting executed program and its device
JP2003507784A (en) * 1999-08-13 2003-02-25 ヒューレット・パッカード・カンパニー Mandatory restrictions on the use of stored data
JP2003507785A (en) * 1999-08-13 2003-02-25 ヒューレット・パッカード・カンパニー Computer platform and its operation method
JP2001147898A (en) * 1999-11-18 2001-05-29 Ricoh Co Ltd Electronic preserving method and device for guaranteeing originality and computer readable recording medium
JP2001154577A (en) * 1999-11-29 2001-06-08 Ricoh Co Ltd Device and method for electronically storing original document property and computer-readable recording medium with recorded program for the method to be executed by computer
WO2001043342A1 (en) * 1999-12-06 2001-06-14 Sanyo Electric Co., Ltd. Data distribution system and recorder for use therein
JP2002312221A (en) * 2001-04-17 2002-10-25 Matsushita Electric Ind Co Ltd Memory device with access control function and faile access control program
JP2003058669A (en) * 2001-08-17 2003-02-28 Ace Denken:Kk Game program, game site operating device, and game program alteration detecting method
JP2003173215A (en) * 2001-09-26 2003-06-20 Sony Corp Information processor, program loading method, recording medium, program updating method and circuit element
JP2003198527A (en) * 2001-12-27 2003-07-11 Fujitsu Ltd Information reproducing device and secure module
JP2004054834A (en) * 2002-07-24 2004-02-19 Matsushita Electric Ind Co Ltd Program development method, program development support device, and program packaging method

Also Published As

Publication number Publication date
JP2004129227A (en) 2004-04-22

Similar Documents

Publication Publication Date Title
US7873839B2 (en) Method of and apparatus for reproducing information, and security module
US11651113B2 (en) Program execution device
JP4576100B2 (en) Information reproducing apparatus, secure module, and information reproducing method
JP4473330B2 (en) Initializing, maintaining, updating, and recovering secure operations within an integrated system using data access control functions
EP1370084B1 (en) System for protecting security registers and method thereof
US6438666B2 (en) Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US8181038B2 (en) Systems and methods for executing encrypted programs
US20050177649A1 (en) Computer security apparatus and method using security input device driver
KR19990037007A (en) Security processor with external memory using block chaining and block reordering
TWI490724B (en) Method for loading a code of at least one software module
EP1474922B1 (en) A method for protecting memory buffers from unauthorized access
US7302589B2 (en) Method for securing memory mapped control registers
US20080040806A1 (en) Method and apparatus for securing unprotected content files from unauthorized use

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060612

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100201

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: 20100817

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: 20100823

R150 Certificate of patent or registration of utility model

Ref document number: 4576100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

EXPY Cancellation because of completion of term