JP4576100B2 - 情報再生装置、セキュアモジュールおよび情報再生方法 - Google Patents
情報再生装置、セキュアモジュールおよび情報再生方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
- Television Signal Processing For Recording (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Description
【発明の属する技術分野】
本発明は、例えば、インターネットを介してダウンロードされた情報または記録媒体に格納されている情報を再生するための情報再生装置、セキュアモジュールおよび情報再生方法に関するものであり、特に、パーソナルコンピュータ等のオープンアーキテクチャを有する装置に対して、最低限のハードウェアを付加することで、安全なソフトウェア処理を実行することができる情報再生装置、セキュアモジュールおよび情報再生方法に関するものである。
【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出力部
Claims (38)
- 情報を再生する情報再生装置において、
内部に格納されている情報を外部から参照することができない構造を有し、ロードされる前のセキュアソフトウェアをセキュアモジュール格納情報として予め格納するセキュアモジュールと、
外部から参照することが可能であり、前記セキュアソフトウェアがロードされるメモリと、
前記セキュアモジュールに実装され、前記メモリにロードされた動作中のセキュアソフトウェアであるメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出し、該メモリ格納情報と、前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、
を備えたことを特徴とする情報再生装置。 - 前記セキュアモジュールに実装され、前記メモリ格納情報として前記メモリにロードされるセキュアソフトウェアが用いるバッファの位置を変更する変更手段を備えたことを特徴とする請求項1に記載の情報再生装置。
- 前記改ざんチェック手段は、前記メモリ格納情報の全てを読み出すことを特徴とする請求項1または2に記載の情報再生装置。
- 前記改ざんチェック手段は、前記メモリ格納情報の一部を読み出すことを特徴とする請求項1または2に記載の情報再生装置。
- 前記改ざんチェック手段は、チェックサムにより前記メモリ格納情報と前記セキュアモジュール格納情報との比較を行うことを特徴とする請求項1〜4のいずれか一つに記載の情報再生装置。
- 前記改ざんチェック手段は、不定期に前記メモリからの読み出しを行うことを特徴とする請求項1〜5のいずれか一つに記載の情報再生装置。
- 前記セキュアモジュールに実装され、いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を書き換える書き換え手段を備え、前記改ざんチェック手段は、書き換え後のメモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項1〜6のいずれか一つに記載の情報再生装置。
- 前記書き換え手段は、不定期に前記メモリ格納情報の書き換えを行うことを特徴とする請求項7に記載の情報再生装置。
- 前記書き換え手段は、前記メモリ格納情報の一部を書き換えることを特徴とする請求項7または8に記載の情報再生装置。
- 前記セキュアモジュールに実装され、ハードディスクドライブに記憶されているセキュアソフトウェアである原情報に変更をかけ、変更後の情報をメモリ格納情報として前記メモリに格納する格納制御手段を備えたことを特徴とする請求項1〜9のいずれか一つに記載の情報再生装置。
- 前記格納制御手段は、前記メモリにロードされるセキュアソフトウェアが切り替えられることにより前記メモリ格納情報を更新した場合に、更新前のセキュアソフトウェアが用いていたバッファの位置情報を更新後のセキュアソフトウェアへ引継がせることを特徴とする請求項10に記載の情報再生装置。
- 前記格納制御手段は、前記セキュアモジュール内のみに存在する鍵を用いて前記メモリにロードされるセキュアソフトウェアの処理対象となるMPEGデータである原情報を暗号化し、暗号化された原情報を前記メモリ格納情報の処理対象となるMPEGデータとして前記メモリに格納することを特徴とする請求項10または11に記載の情報再生装置。
- 前記セキュアモジュールに実装されており、前記メモリ格納情報の暗号化または復号化に用いられる鍵を保持し、前記改ざんチェック手段により改ざんが検知されない場合、鍵を外部へ供給する鍵管理手段を備えたことを特徴とする請求項1〜12のいずれか一つに記載の情報再生装置。
- 前記鍵管理手段は、有効時間が設定された前記鍵を供給することを特徴とする請求項13に記載の情報再生装置。
- 前記鍵管理手段は、供給の度に鍵を変更することを特徴とする請求項13または14に記載の情報再生装置。
- 前記鍵管理手段は、前記改ざんチェック手段により改ざんが検知された場合、前記鍵の供給を停止することを特徴とする請求項13〜15のいずれか一つに記載の情報再生装置。
- 前記セキュアモジュールに実装され、直接アクセスにより、前記セキュアモジュール内の秘密情報を前記メモリに書き込む書込手段を備え、前記改ざんチェック手段は、書き込まれた前記秘密情報に対応する応答情報に基づいて前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項1〜16のいずれか一つに記載の情報再生装置。
- 前記秘密情報は、1度目で正規の情報が読み出され2度目で違う情報が読み出されるように制御されるメモリ空間に格納されていることを特徴とする請求項17に記載の情報再生装置。
- 情報再生装置に実装され、内部に格納されている情報を外部から参照することができない構造を有し、ロードされる前のセキュアソフトウェアをセキュアモジュール格納情報として予め格納するセキュアモジュールにおいて、
外部から参照することが可能であって前記情報再生装置に実装されたメモリにロードされた動作中のセキュアソフトウェアであるメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出す読み出し手段と、
読み出された前記メモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック手段と、
を備えることを特徴とするセキュアモジュール。 - 前記メモリ格納情報として前記メモリにロードされるセキュアソフトウェアが用いるバッファの位置を変更する変更手段を備えたことを特徴とする請求項19に記載のセキュアモジュール。
- 前記読み出し手段は、前記メモリ格納情報の全てを読み出すことを特徴とする請求項19または20に記載のセキュアモジュール。
- 前記読み出し手段は、前記メモリ格納情報の一部を読み出すことを特徴とする請求項19または20に記載のセキュアモジュール。
- 前記改ざんチェック手段は、チェックサムにより前記メモリ格納情報と前記セキュアモジュール格納情報との比較を行うことを特徴とする請求項19〜22のいずれか一つに記載のセキュアモジュール。
- 前記読み出し手段は、不定期に前記メモリからの読み出しを行うことを特徴とする請求項19〜23のいずれか一つに記載のセキュアモジュール。
- いずれの手段も介さずに直接アクセスにより前記メモリに格納されたメモリ格納情報を書き換える書き換え手段を備え、前記改ざんチェック手段は、書き換え後のメモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項19〜24のいずれか一つに記載のセキュアモジュール。
- 前記書き換え手段は、不定期に前記メモリ格納情報の書き換えを行うことを特徴とする請求項25に記載のセキュアモジュール。
- 前記書き換え手段は、前記メモリ格納情報の一部を書き換えることを特徴とする請求項25または26記載のセキュアモジュール。
- ハードディスクドライブに記憶されているセキュアソフトウェアである原情報に変更をかけ、変更後の情報をメモリ格納情報として前記メモリに格納する格納制御手段を備えたことを特徴とする請求項19〜27のいずれか一つに記載のセキュアモジュール。
- 前記格納制御手段は、前記メモリに実装されるセキュアソフトウェアが切り替えられることにより前記メモリ格納情報を更新した場合に、更新前のセキュアソフトウェアが用いていたバッファの位置情報を更新後のセキュアソフトウェアへ引継がせることを特徴とする請求項28に記載のセキュアモジュール。
- 前記格納制御手段は、前記セキュアモジュール内のみに存在する鍵を用いて前記メモリにロードされるセキュアソフトウェアの処理対象となるMPEGデータである原情報を暗号化し、暗号化された原情報を前記メモリ格納情報の処理対象となるMPEGデータとして前記メモリに格納することを特徴とする請求項28または29に記載のセキュアモジュール。
- 前記メモリ格納情報の暗号化または復号化に用いられる鍵を保持し、前記改ざんチェック手段により改ざんが検知されない場合、鍵を外部へ供給する鍵管理手段を備えたことを特徴とする請求項19〜30のいずれか一つに記載のセキュアモジュール。
- 前記鍵管理手段は、有効時間が設定された前記鍵を供給することを特徴とする請求項31に記載のセキュアモジュール。
- 前記鍵管理手段は、供給の度に鍵を変更することを特徴とする請求項31または32に記載のセキュアモジュール。
- 前記鍵管理手段は、前記改ざんチェック手段により改ざんが検知された場合、前記鍵の供給を停止することを特徴とする請求項31〜33のいずれか一つに記載のセキュアモジュール。
- 直接アクセスにより、前記セキュアモジュール内の秘密情報を前記メモリに書き込む書込手段を備え、前記改ざんチェック手段は、書き込まれた前記秘密情報に対応する応答情報に基づいて前記メモリ格納情報の改ざんをチェックすることを特徴とする請求項19〜34のいずれか一つに記載のセキュアモジュール。
- 前記秘密情報は、1度目で正規の情報が読み出され2度目で違う情報が読み出されるように制御されるメモリ空間に格納されていることを特徴とする請求項35に記載のセキュアモジュール。
- 内部に格納されている情報を外部から参照することができない構造を有し、ロードされる前のセキュアソフトウェアをセキュアモジュール格納情報として予め格納するセキュアモジュール内で実行され、外部から参照することが可能なメモリにロードされた動作中のセキュアソフトウェアであるメモリ格納情報をいずれの手段も介さずに直接アクセスにより読み出す読み出し工程と、
前記セキュアモジュール内で実行され、読み出された前記メモリ格納情報と前記セキュアモジュール格納情報との比較結果に基づいて、前記メモリ格納情報の改ざんをチェックする改ざんチェック工程と、
を含むことを特徴とする情報再生方法。 - 前記メモリ格納情報として前記メモリに実装されるセキュアソフトウェアが用いるバッファの位置を変更する変更工程を含むことを特徴とする請求項37に記載の情報再生方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003203751A JP4576100B2 (ja) | 2002-07-30 | 2003-07-30 | 情報再生装置、セキュアモジュールおよび情報再生方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002221856 | 2002-07-30 | ||
JP2003203751A JP4576100B2 (ja) | 2002-07-30 | 2003-07-30 | 情報再生装置、セキュアモジュールおよび情報再生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004129227A JP2004129227A (ja) | 2004-04-22 |
JP4576100B2 true JP4576100B2 (ja) | 2010-11-04 |
Family
ID=32300659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003203751A Expired - Lifetime JP4576100B2 (ja) | 2002-07-30 | 2003-07-30 | 情報再生装置、セキュアモジュールおよび情報再生方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4576100B2 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244339A (ja) * | 2005-03-07 | 2006-09-14 | Fujitsu Ltd | 情報処理装置、セキュア装置およびデジタルコンテンツ復号用ソフトウエア |
JP4698285B2 (ja) * | 2005-05-19 | 2011-06-08 | 富士通株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
CN101313570A (zh) | 2005-11-29 | 2008-11-26 | 汤姆森特许公司 | 用于使得数字内容安全的方法和装置 |
JP4908026B2 (ja) | 2006-03-22 | 2012-04-04 | 株式会社東芝 | 情報処理装置 |
JP4957148B2 (ja) | 2006-09-26 | 2012-06-20 | 富士通株式会社 | 鍵管理機能を持つセキュア素子および情報処理装置 |
JP5018558B2 (ja) * | 2008-02-29 | 2012-09-05 | 富士通株式会社 | 記憶領域割当方法および情報処理装置 |
JP5141655B2 (ja) * | 2009-09-02 | 2013-02-13 | ソニー株式会社 | ストリーム復号・暗号化装置 |
JP5588781B2 (ja) * | 2010-08-10 | 2014-09-10 | 富士通株式会社 | セキュアモジュールおよび情報処理装置 |
JP5772031B2 (ja) | 2011-02-08 | 2015-09-02 | 富士通株式会社 | 通信装置およびセキュアモジュール |
JP2012174228A (ja) * | 2011-02-24 | 2012-09-10 | Kyocera Corp | プログラム保護装置および通信装置 |
JP5775738B2 (ja) | 2011-04-28 | 2015-09-09 | 富士通株式会社 | 情報処理装置、セキュアモジュール、情報処理方法、および情報処理プログラム |
EP2903202A4 (en) | 2012-09-28 | 2015-11-04 | Fujitsu Ltd | INFORMATION PROCESSING DEVICE AND SEMICONDUCTOR DEVICE |
JP2014235326A (ja) * | 2013-06-03 | 2014-12-15 | 富士通セミコンダクター株式会社 | システム、情報処理装置、セキュアモジュール、および検証方法 |
JP7018864B2 (ja) * | 2018-10-15 | 2022-02-14 | ルネサスエレクトロニクス株式会社 | 半導体装置及びその制御方法 |
JP7010543B1 (ja) * | 2020-11-19 | 2022-01-26 | Necプラットフォームズ株式会社 | コンピュータシステム、ソフトウェア改竄検証方法、及び、プログラム |
CN116090032B (zh) * | 2022-06-29 | 2023-10-20 | 荣耀终端有限公司 | 显示方法及相关装置 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63105545A (ja) * | 1986-10-22 | 1988-05-10 | Sony Corp | 復号化装置 |
JPH03503220A (ja) * | 1989-06-06 | 1991-07-18 | ブル・セー・ペー・8 | メッセージの完全性をチェックする方法及び携帯装置 |
JPH03239032A (ja) * | 1990-02-16 | 1991-10-24 | Sony Corp | スクランブル信号の受信装置 |
JPH10283190A (ja) * | 1997-04-09 | 1998-10-23 | Fujitsu Ltd | 記憶媒体駆動装置、記憶媒体及びデータ保護方法 |
JPH1139158A (ja) * | 1997-07-18 | 1999-02-12 | Nippon Telegr & Teleph Corp <Ntt> | 実行プログラムの保護方法およびその装置 |
JP2001500293A (ja) * | 1996-09-05 | 2001-01-09 | エリクソン インコーポレイテッド | 電子メモリ改竄防止システム |
JP2001147898A (ja) * | 1999-11-18 | 2001-05-29 | Ricoh Co Ltd | 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体 |
JP2001154577A (ja) * | 1999-11-29 | 2001-06-08 | Ricoh Co Ltd | 原本性保証電子保存装置、原本性保証電子保存方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
WO2001043342A1 (fr) * | 1999-12-06 | 2001-06-14 | Sanyo Electric Co., Ltd. | Systeme de distribution de donnees et enregistreur utilise avec ce systeme |
JP2002000885A (ja) * | 1993-05-20 | 2002-01-08 | Le Tekku:Kk | 遊技機制御用マイクロコンピュータチップ |
JP2002312221A (ja) * | 2001-04-17 | 2002-10-25 | Matsushita Electric Ind Co Ltd | アクセス制御機能付き記憶装置、及びファイル・アクセス制御プログラム |
JP2003507784A (ja) * | 1999-08-13 | 2003-02-25 | ヒューレット・パッカード・カンパニー | 記憶されたデータの使用に対する強制的な制限 |
JP2003507785A (ja) * | 1999-08-13 | 2003-02-25 | ヒューレット・パッカード・カンパニー | コンピュータ・プラットフォームおよびその運用方法 |
JP2003058669A (ja) * | 2001-08-17 | 2003-02-28 | Ace Denken:Kk | ゲームプログラム、ゲームサイト運営装置およびゲームプログラム改ざん検出方法 |
JP2003173215A (ja) * | 2001-09-26 | 2003-06-20 | Sony Corp | 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子 |
JP2003198527A (ja) * | 2001-12-27 | 2003-07-11 | Fujitsu Ltd | 情報再生装置およびセキュアモジュール |
JP2004054834A (ja) * | 2002-07-24 | 2004-02-19 | Matsushita Electric Ind Co Ltd | プログラム開発方法、プログラム開発支援装置およびプログラム実装方法 |
-
2003
- 2003-07-30 JP JP2003203751A patent/JP4576100B2/ja not_active Expired - Lifetime
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63105545A (ja) * | 1986-10-22 | 1988-05-10 | Sony Corp | 復号化装置 |
JPH03503220A (ja) * | 1989-06-06 | 1991-07-18 | ブル・セー・ペー・8 | メッセージの完全性をチェックする方法及び携帯装置 |
JPH03239032A (ja) * | 1990-02-16 | 1991-10-24 | Sony Corp | スクランブル信号の受信装置 |
JP2002000885A (ja) * | 1993-05-20 | 2002-01-08 | Le Tekku:Kk | 遊技機制御用マイクロコンピュータチップ |
JP2001500293A (ja) * | 1996-09-05 | 2001-01-09 | エリクソン インコーポレイテッド | 電子メモリ改竄防止システム |
JPH10283190A (ja) * | 1997-04-09 | 1998-10-23 | Fujitsu Ltd | 記憶媒体駆動装置、記憶媒体及びデータ保護方法 |
JPH1139158A (ja) * | 1997-07-18 | 1999-02-12 | Nippon Telegr & Teleph Corp <Ntt> | 実行プログラムの保護方法およびその装置 |
JP2003507785A (ja) * | 1999-08-13 | 2003-02-25 | ヒューレット・パッカード・カンパニー | コンピュータ・プラットフォームおよびその運用方法 |
JP2003507784A (ja) * | 1999-08-13 | 2003-02-25 | ヒューレット・パッカード・カンパニー | 記憶されたデータの使用に対する強制的な制限 |
JP2001147898A (ja) * | 1999-11-18 | 2001-05-29 | Ricoh Co Ltd | 原本性保証電子保存方法、装置及びコンピュータ読み取り可能な記録媒体 |
JP2001154577A (ja) * | 1999-11-29 | 2001-06-08 | Ricoh Co Ltd | 原本性保証電子保存装置、原本性保証電子保存方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
WO2001043342A1 (fr) * | 1999-12-06 | 2001-06-14 | Sanyo Electric Co., Ltd. | Systeme de distribution de donnees et enregistreur utilise avec ce systeme |
JP2002312221A (ja) * | 2001-04-17 | 2002-10-25 | Matsushita Electric Ind Co Ltd | アクセス制御機能付き記憶装置、及びファイル・アクセス制御プログラム |
JP2003058669A (ja) * | 2001-08-17 | 2003-02-28 | Ace Denken:Kk | ゲームプログラム、ゲームサイト運営装置およびゲームプログラム改ざん検出方法 |
JP2003173215A (ja) * | 2001-09-26 | 2003-06-20 | Sony Corp | 情報処理装置、プログラムロード方法、記録媒体、プログラム更新方法及び回路素子 |
JP2003198527A (ja) * | 2001-12-27 | 2003-07-11 | Fujitsu Ltd | 情報再生装置およびセキュアモジュール |
JP2004054834A (ja) * | 2002-07-24 | 2004-02-19 | Matsushita Electric Ind Co Ltd | プログラム開発方法、プログラム開発支援装置およびプログラム実装方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2004129227A (ja) | 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 (ja) | 情報再生装置、セキュアモジュールおよび情報再生方法 | |
JP4473330B2 (ja) | データ・アクセス制御機能を使用した、統合システム内でのセキュア動作の初期化、維持、更新および回復 | |
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 | |
TWI490724B (zh) | 用於加載至少一個軟體模組的代碼的方法 | |
US7130911B2 (en) | Method for monitoring unauthorized access to data stored in memory buffers | |
US7302589B2 (en) | Method for securing memory mapped control registers | |
US20080040806A1 (en) | Method and apparatus for securing unprotected content files from unauthorized use | |
AU9582298A (en) | Method and apparatus for controlling access to confidential data |
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 |