JP4600750B2 - データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム - Google Patents

データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム Download PDF

Info

Publication number
JP4600750B2
JP4600750B2 JP2005024358A JP2005024358A JP4600750B2 JP 4600750 B2 JP4600750 B2 JP 4600750B2 JP 2005024358 A JP2005024358 A JP 2005024358A JP 2005024358 A JP2005024358 A JP 2005024358A JP 4600750 B2 JP4600750 B2 JP 4600750B2
Authority
JP
Japan
Prior art keywords
firmware
general
purpose processor
memory
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005024358A
Other languages
English (en)
Other versions
JP2006209690A (ja
Inventor
大輔 武田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005024358A priority Critical patent/JP4600750B2/ja
Publication of JP2006209690A publication Critical patent/JP2006209690A/ja
Application granted granted Critical
Publication of JP4600750B2 publication Critical patent/JP4600750B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明はデータ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラムに関し、特にセキュリティ処理を行うデータ処理回路に適用して好適なものである。
近年、インターネット等のネットワークを介した種々のコンテンツ配信サービスが広く普及している。このようなコンテンツ配信サービスでは、CDやDVDといった媒体を介してではなく、コンテンツのデータ(以下、これをコンテンツデータとも呼ぶ)そのものをネットワークを介してユーザの端末に提供するようになされているため、コンテンツの不正利用を防止することがいっそう強く求められており、このため様々なセキュリティ対策が講じられている。
かかるセキュリティ対策の一つとして、例えばサービスを利用するための端末に、外部からの解析や改竄を困難にしたタンパレジスタントモジュールと呼ばれる特殊なハードウェアモジュールを組み込み、このモジュール内で、外部から隠蔽することが望ましいコンテンツ保護のためのセキュリティ処理を行うことにより、このセキュリティ処理をブラックボックス化してコンテンツの不正利用を防止するようになされたものがある(例えば特許文献1参照)。
特開2001−22271公報(第9図)
しかしながら、上述のような特定のセキュリティ処理に特化した専用のハードウェアモジュール(以下、これを専用モジュールと呼ぶことにする)は、その特殊性から、汎用のハードウェアモジュール(以下、これを汎用モジュールと呼ぶことにする)と比べて多大なコストがかかるという問題がある。
このような問題を解決するため、例えばファームウェアを書き替えることで種々の処理を行い得る汎用の演算プロセッサ(以下、これを単に汎用プロセッサと呼ぶ)を有する汎用モジュールを、専用モジュールの代わりとして用いることが考えられるが、このような汎用モジュールを用いた場合、コンテンツの不正利用を防止し得るのに十分なセキュリティを得ることが難しかった。
例えば図5に示すような汎用モジュール100を実装した従来の端末T100で、セキュリティ処理を実行する場合、以下のようなセキュリティ上の問題が生じる。
端末T100は、全体を統括制御するCPU101、及び各種ファームウェアを記録するハードディスクドライブ102が、PCIバスPB等を介して汎用モジュール100と接続されており、CPU101の制御のもと、ハードディスクドライブ102から読み出したファームウェアを汎用モジュール100で実行させることにより、上述のようなセキュリティ処理を行うようになされている。
汎用モジュール100は、汎用プロセッサ100Aと、汎用プロセッサ100Aのメモリ(以下、これをプロセッサメモリとも呼ぶ)PMと、汎用プロセッサ100AのLocalバスLBとモジュール外のPCIバスPBとを中継するPCI−Localブリッジ100Bとを有し、CPU101の制御のもと、ハードディスクドライブ102から読み出されたファームウェアが、このPCI−ローカルブリッジ100Bを介して汎用プロセッサ100AのプロセッサメモリPMに書き込まれる。
ちなみに、このプロセッサメモリPMには、図5(B)に示すように、汎用プロセッサ100Aが起動時最初にアクセスするアドレス(以下、これを実行開始アドレスとも呼ぶ)が予め設定されており、ファームウェアはこの実行開始アドレスから順に書き込まれるようになされている。
このようにしてCPU101は、ファームウェアを汎用プロセッサ100AのプロセッサメモリPMに実行開始アドレスから書き込んだ後、汎用プロセッサ100Aを起動させるためのプロセッサ起動コマンドを、PCIバスPBを介して汎用モジュール100に供給する。
汎用モジュール100のPCI−ローカルブリッジ100Bは、CPU101からプロセッサ起動コマンドを受け取ると、このプロセッサ起動コマンドを汎用プロセッサ100A用のプロセッサ起動コマンドに変換して、これを汎用プロセッサ100Aに送信する。
汎用プロセッサ100Aは、このプロセッサ起動コマンドに応じて起動すると共に、プロセッサメモリPMの実行開始アドレスにアクセスして、ここに書き込まれたファームウェアを実行することにより、当該ファームウェアに基づくセキュリティ処理を開始する。
このように、かかる汎用モジュール100は、外部からファームウェアがプロセッサメモリPMの実行開始アドレスから書き込まれた後、プロセッサ起動コマンドが供給されさえすれば、この書き込まれたファームウェアを汎用プロセッサ100Aに実行させるようになされているため、例えば外部から不正なファームウェアがプロセッサメモリPMの実行開始アドレスから書き込まれた状態で、プロセッサ起動コマンドが供給されてしまえば、この不正なファームウェアを正当なファームウェアと同様に汎用プロセッサ100Aに実行させることになる。ちなみに、この場合の不正なファームウェアとは、コンテンツの不正利用を目的として、例えばセキュリティ処理の内容を解析・改竄するようなファームウェアのことである。
すなわち、このような汎用モジュール100でセキュリティ処理を実行する場合、汎用モジュールを不正に起動させて不正なファームウェアを実行させるといった不正起動攻撃を防ぐことが難しく、このためセキュリティ処理の内容を容易に解析・改竄される恐れがあり、結果として、コンテンツの不正利用を防止し得るのに十分なセキュリティを得ることが困難であった。
このように、汎用モジュール100を用いた場合、専用モジュールを用いる場合と比べて、コストは抑えられるものの、セキュリティが著しく低くなるという問題があった。
本発明は以上の点を考慮してなされたもので、コストを抑えつつ、セキュリティを向上し得るデータ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラムを提案しようするものである。
かかる課題を解決するため本発明のデータ処理回路においては、モリに書き込まれファームウェアを実行する汎用プロセッサと、外部のバスと汎用プロセッサのバスとをブリッジして汎用プロセッサと外部とを中継する中継回路とを設け、中継回路が、外部からのアクセスが禁止され第1のファームウェアを記憶する記憶部を内蔵し、外部から供給される第1の起動命令に応じて、当該記憶部に記憶されている第1のファームウェアを読み出してメモリの実行開始アドレスから書き込み、続いて汎用プロセッサに対して第1の起動命令に応じた第2の起動命令を出力し、汎用プロセッサが、第2の起動命令に応じて起動すると共に、実行開始アドレスに書き込まれた第1のファームウェアを実行するようにした。
このようにこのデータ処理回路では、中継回路が、外部から供給される汎用プロセッサを起動させるための第1の起動命令に応じて、中継回路に内蔵された記憶部に記憶してあるファームウェアを汎用プロセッサの実行開始アドレスに書き込んでから汎用プロセッサを起動させてこのファームウェアを実行させるようにしたことにより、例えば、不正なファームウェアが汎用プロセッサの実行開始アドレスに書き込まれた状態で、外部から第1の起動命令が供給されたとしても、汎用プロセッサが起動する際、この不正なファームウェアを中継回路に記憶してあるファームウェアで上書き消去するので、汎用プロセッサを不正に起動させて不正なファームウェアを実行させるといった不正起動攻撃を確実に防ぐことができる。
またこのようにこのデータ処理回路では、第1の起動命令に応じたファームウェアの書き込み及び汎用プロセッサの起動を、中継回路が担うようにしたことにより、中継回路以外の部分であるプロセッサ及びメモリには、汎用のものを用いることができる。
本発明によれば、中継回路が、外部から供給される汎用プロセッサを起動させるための第1の起動命令に応じて、中継回路に内蔵された記憶部に記憶してあるファームウェアを汎用プロセッサの実行開始アドレスに書き込んでから汎用プロセッサを起動させてこのファームウェアを実行させるようにしたことにより、例えば、不正なファームウェアが汎用プロセッサの実行開始アドレスに書き込まれた状態で、外部から第1の起動命令が供給されたとしても、汎用プロセッサが起動する際、この不正なファームウェアを中継回路に記憶してあるファームウェアで上書き消去するので、汎用プロセッサを不正に起動させて不正なファームウェアを実行させるといった不正起動攻撃を確実に防ぐことができ、またこのように第1の起動命令に応じたファームウェアの書き込み及び汎用プロセッサの起動を、中継回路が担うようにしたことにより、中継回路以外の部分であるプロセッサ及びメモリには、汎用のものを用いることができ、かくしてコストを抑えつつ、セキュリティを向上し得るデータ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラムを実現できる。
以下図面について、本発明の一実施の形態を詳述する。
(1)コンテンツ再生装置の構成
図1において、1は全体としてネットワークNTを介して配信される楽曲コンテンツを再生可能なコンテンツ再生装置を示し、ホストCPU(Central Processing Unit)2、ROM(Read Only Memory)3、RAM(Random Access Memory)4、ハードディスクドライブ5、及び操作部6(以下、これらをホスト側とも呼ぶ)が、ホストバスHBに接続されると共に、ネットワークインタフェース部7、及びセキュリティ処理モジュール8(後述する)がPCIバスPBに接続され、さらにホストバスHBとPCIバスPBとがホスト−PCIブリッジ9を介して接続されている。また、セキュリティ処理モジュール8には、音声処理部10を介してスピーカSPが接続されている。
このコンテンツ再生装置1は、ホストCPU2が全体を統括制御するようになされており、操作部6を介して、ネットワークNT上のコンテンツ配信サーバ(図示せず)から配信される楽曲コンテンツの取得操作が行われると、これに応じて、楽曲コンテンツの配信を要求する要求信号を、ネットワークインタフェース部7を介して、ネットワークNT上のコンテンツ配信サーバに送信する。
コンテンツ配信サーバは、コンテンツ再生装置1から、かかる要求信号を受信すると、これに応じて、要求された楽曲コンテンツの配信にともなう対価をコンテンツ再生装置1のユーザに対して課金するための課金処理を実行すると共に、要求された楽曲コンテンツに対応するコンテンツデータと、当該コンテンツデータを利用する権利がある旨を示す権利情報とを、ネットワークNTを介して、コンテンツ再生装置1に送信する。
コンテンツ再生装置1は、コンテンツ配信サーバから、コンテンツデータとその権利情報とを、ネットワークインタフェース部7を介して受信すると、これらをハードディスクドライブ5に記録する。その後、コンテンツ再生装置1は、操作部6を介してコンテンツデータの再生操作が行われると、これに応じて、コンテンツデータとその権利情報とをハードディスクドライブ5から読み出し、これらをセキュリティ処理モジュール8に供給する。
セキュリティ処理モジュール8は、ホストCPU2からの命令に応じて、ハードディスクドライブ5から読み出されたセキュリティ処理用のファームウェア(以下、これをセキュリティファームとも呼ぶ)を実行することにより、権利情報が正しいものであるか否か(すなわちコンテンツ再生装置1で正規に取得した権利情報であるか否か)を確認して、正しいものであると確認できた場合にのみ、この権利情報に対応するコンテンツデータの利用を許可するといったコンテンツ保護のためのセキュリティ処理を実行するようになされている。
ここで、ハードディスクドライブ5に記録されているコンテンツデータ、権利情報、及びセキュリティファームは、それぞれが異なる暗号鍵で暗号化されているものとする。
実際上、セキュリティ処理モジュール8は、その内部に、暗号化されたセキュリティファームウェアを復号するための復号鍵(以下、これをセキュリティファームキーとも呼ぶ)と、このセキュリティファームキーを用いてセキュリティファームを復号すると共に、復号したセキュリティファームを実行するためのプログラム(以下、これをFirmwareLoaderとも呼ぶ)とを格納しており、ホストCPU2からの命令に応じて、このFirmwareLoaderを起動することにより、セキュリティファームを実行してセキュリティ処理を開始するようになされている。
セキュリティ処理を開始したセキュリティ処理モジュール8は、まずハードディスクドライブ5から読み出された権利情報を、例えば自身が持つ、暗号化された権利情報を復号するための復号鍵(以下、これを権利情報キー)を用いて復号する。
次いで、このセキュリティ処理モジュール8は、復号した権利情報が正しいものであるか否かを確認し、正しいものであると確認できた場合にのみ、この権利情報と、例えば自身が持つコンテンツデータ用の鍵情報とを用いて、暗号化されたコンテンツデータを復号するための復号鍵(以下、これをコンテンツキーとも呼ぶ)を生成し、このコンテンツキーを用いて、権利情報と共に読み出されたコンテンツデータを復号することで、このコンテンツデータの利用を許可し、この復号したコンテンツデータ(以下、これを復号済コンテンツデータとも呼ぶ)を音声処理部10に供給する。
音声処理部10は、セキュリティ処理モジュール8から供給された復号済コンテンツデータに対して所定のデジタルアナログ変換処理を施すことにより音声信号を得、この音声信号に基づく音声(すなわち楽曲コンテンツ)を、スピーカSPを介して出力する。
このようにコンテンツ再生装置1では、楽曲コンテンツの再生時、権利情報の確認や暗号化されたコンテンツデータの復号といったコンテンツ保護のためのセキュリティ処理をセキュリティ処理モジュール8内で実行するようになされており、以下、このセキュリティ処理の実行手順について、セキュリティ処理モジュール8の内部構成と合わせて説明する。
(2)セキュリティ処理モジュールの内部構成及びセキュリティ処理の実行手順
まず、セキュリティ処理モジュール8の内部構成について、図2を用いて説明する。セキュリティ処理モジュール8は、汎用プロセッサ8Aと、汎用プロセッサ8Aの外部メモリ(以下、これをプロセッサ外メモリとも呼ぶ)PMeと、汎用プロセッサ8AのLocalバスLBとモジュール外のPCIバスPBとを中継するPCI−Localブリッジ8Bとを有しており、このうち汎用プロセッサ8A及びプロセッサ外メモリPMeには、既存の汎用DSP(Digital Signal Processor)及び汎用RAMが用いられているのに対し、PCI−Localブリッジ8Bには、コンテンツ再生装置1専用のデバイスが用いられている。
汎用プロセッサ8Aは、複数のレジスタ(図示せず)と、これとは異なる内蔵メモリ(以下、これをプロセッサ内メモリとも呼ぶ)PMiとを有し、これら複数のレジスタ及びプロセッサ内メモリPMiのアドレスと、プロセッサ外メモリPMeのアドレスとをまとめて、1つのアドレス空間として利用するようになされている。
つまり、汎用プロセッサ8Aのアドレス空間は、図3に示すように、プロセッサ内メモリ領域20と、レジスタ領域21と、プロセッサ外メモリ領域22とでなり、さらにこのうちのレジスタ領域21は、後述する外部メモリインタフェース設定レジスタ21aとその他の設定レジスタ21bとに分けられ、プロセッサ外メモリ領域22は、使用部22aと未使用部22bとに分けられている。
さらに、プロセッサ外メモリ領域22の使用部22aは、その先頭アドレスから順に、上述のFirmwareLoaderなどを格納するFirmwareLoaderエリアa1と、セキュリティ処理モジュール8の状態を示すステータス情報を格納するStatusエリアa2と、セキュリティ処理モジュール8がCPU2に通知する(ホストCPU2が読み出す)応答コマンドやイベントコマンドを格納するModuleCommandエリアa3と、セキュリティ処理モジュール8がホストCPU2に転送する(ホストCPU2が読み出す)データを格納するReadBufferエリアa4と、ホストCPU2がセキュリティ処理モジュール8に発行する(ホストCPU2が書き込む)コマンドを格納するHostCommandエリアa5と、ホストCPU2がセキュリティ処理モジュール8に転送する(ホストCPU2が書き込む)データを格納するWriteBufferエリアa6と、復号後のセキュリティファームを格納するファームウェア実行エリアa7とに分けられている。
また、このうちのModuleCommandエリアa3、ReadBufferエリアa4、HostCommandエリアa5、及びWriteBufferエリアa6は、ホストCPU2から転送される復号前の暗号化されたセキュリティファームなどを一時的に格納する暗号化ファームウェア転送エリアa8を兼用するようにもなされている。
さらにこの汎用プロセッサ8Aでは、プロセッサ内メモリ領域20の先頭アドレスが、起動時最初にアクセスするアドレス(すなわち実行開始アドレス)に規定されている。
一方、PCI−Localブリッジ8B(図2)は、外部からのアクセスが禁止された内蔵メモリ(以下、これをブリッジ内メモリとも呼ぶ)BMを有し、このブリッジ内メモリBMに、上述した権利情報キー、コンテンツデータ用の鍵情報、セキュリティファームキー、及びFirmwareLoaderと、後述する汎用プロセッサ8Aを初期設定する初期設定処理用のファームウェア(以下、これを初期設定ファームとも呼ぶ)とを格納しており、必要に応じて、これらを汎用プロセッサ8Aが利用するアドレス空間の所定エリアに書き込むようになされている。
セキュリティ処理モジュール8は、ホストCPU2からの命令を、PCI−Localブリッジ8Bで受け取り、当該PCI−Localブリッジ8Bが、この命令に応じて、汎用プロセッサ8Aを制御することにより、上述のセキュリティ処理を実行するようになされている。
ここで、汎用プロセッサ8Aの起動からセキュリティ処理を実行するまでの手順(すなわちセキュリティ処理の実行手順)について、図4のシーケンスチャートを用いて説明する。このシーケンスチャートは、ホストCPU2、PCI−Localブリッジ8B、及び汎用プロセッサ8Aによるセキュリティ処理の実行手順を示すものであり、このときホストCPU2はROM3に記録してあるプログラムに従って、またPCI−Localブリッジ8Bはブリッジ内メモリBMに記録してあるプログラムに従って動作するようになされている。
コンテンツ再生装置1のホストCPU2は、例えば電源投入時、あるいは操作部6を介した手動操作に応じて、開始ステップSP1において、セキュリティ処理モジュール8をリセットするためのリセット信号を、PCI−Localブリッジ8Bに送信する。
PCI−Localブリッジ8Bは、ホストCPU2から送られてくるリセット信号を受け取ると、ステップSP2において、受け取ったリセット信号を汎用プロセッサ8A用のリセット信号に変換して、これを汎用プロセッサ8Aに送信する。ここで、このリセット信号により汎用プロセッサ8Aが一旦リセットされる。
つづいてホストCPU2は、ステップSP1からステップSP3に移り、このステップSP3において、汎用プロセッサ8A内のレジスタを初期設定するための初期設定用データを、汎用プロセッサ8Aが利用するアドレス空間の暗号化ファームウェア転送エリアa8に書き込み、次のステップSP4に移る。ここで、この初期設定用データとは、汎用プロセッサ8Aのクロックを設定するクロック設定用データや、汎用プロセッサ8Aのキャッシュメモリのサイズを設定するキャッシュメモリ設定用データや、プロセッサ外メモリPMeのインタフェースを設定する外部メモリI/F設定データ等である。
ステップSP4においてホストCPU2は、一旦リセットされた汎用プロセッサ8Aを起動させるためのプロセッサ起動コマンドを、PCI−Localブリッジ8Bに送信する。
PCI−Localブリッジ8Bは、ホストCPU2から送られてくるプロセッサ起動コマンドを受け取ると、ステップSP5において、自身のブリッジ内メモリBMに記憶されている初期設定ファームを読み出し、これを汎用プロセッサ8Aの実行開始アドレス(プロセッサ内メモリ領域20の先頭アドレス)から書き込み、次のステップSP6に移る。
ステップSP6においてPCI−Localブリッジ8Bは、ホストCPU2から受け取ったプロセッサ起動コマンドを汎用プロセッサ8A用のプロセッサ起動コマンドに変換して、これを汎用プロセッサ8Aに送信する。
このようにこのPCI−Localブリッジ8Bは、ホストCPU2から受け取ったプロセッサ起動コマンドに応じて、PCI−Localブリッジ8B内に格納された初期設定ファームを、汎用プロセッサ8Aの実行開始アドレスに書き込んでから、この汎用プロセッサ8Aにプロセッサ起動コマンドを送るようにしたことにより、何らかのモジュール上の不具合(例えばセキュリティホール)などを利用して、外部から不正なファームウェアが、汎用プロセッサ8Aの実行開始アドレスに書き込まれたとしても、この不正なファームウェアを初期設定ファームで上書き消去して、この不正なファームウェアが復号及び実行されることを防止することができる。
汎用プロセッサ8Aは、PCI−Localブリッジ8Bから送られてくるプロセッサ起動コマンドに応じて起動すると共に、ステップSP7において、規定されている実行開始アドレス(プロセッサ内メモリ領域20の先頭アドレス)にアクセスして、ここに書き込まれている初期設定ファームを実行する。この初期設定ファームは、暗号化ファームウェア転送エリアa8に書き込まれた初期設定データに基づいて、汎用プロセッサ8Aの初期設定処理を行うファームウェアであり、汎用プロセッサ8Aは、この初期設定ファームを実行することにより自身の初期設定を行う。
そして汎用プロセッサ8Aは、この初期設定処理が終了すると、ステップSP8に移り、このステップSP8において、初期設定処理が終了したことを示す終了通知情報をPCI−Localブリッジ8Bに送信する。
PCI−Localブリッジ8Bは、汎用プロセッサ8Aから初期設定処理が終了したことを示す終了通知情報を受け取ると、ステップSP9において、受け取った終了通知情報をホストCPU2用の終了通知情報に変換して、これをホストCPU2に送信する。
ホストCPU2は、PCI−Localブリッジ8Bから初期設定処理が終了したことを示す終了通知情報を受け取ると、汎用プロセッサ8Aが起動して初期設定処理が終了したことを認識し、ステップSP10において、ハードディスクドライブ5から読み出した暗号化された状態のセキュリティファームを、汎用プロセッサ8Aの暗号化ファームウェア転送エリアa8に書き込み、次のステップSP11に移る。
ステップSP11においてホストCPU2は、汎用プロセッサ8Aに、FirmwareLoaderを起動させるためのコマンド(以下、これをFirmwareLoader起動コマンドとも呼ぶ)を、PCI−Localブリッジ8Bに送信する。
PCI−Localブリッジ8Bは、ホストCPU2から送られてくるFirmwareLoader起動コマンドを受け取ると、ステップSP12において、自身のブリッジ内メモリBMに記憶されているFirmwareLoaderとセキュリティファームキーとを読み出し、読み出したFirmwareLoaderを汎用プロセッサ8AのFirmwareLoaderエリアa1の先頭アドレスから書き込み、またセキュリティファームキーをプロセッサ内メモリ領域20に書き込み、次のステップSP13に移る。
ステップSP13においてPCI−Localブリッジ8Bは、ステップSP11でホストCPU2から受け取ったFirmwareLoader起動コマンドを、汎用プロセッサ8A用のFirmwareLoader起動コマンドに変換し、この変換したFirmwareLoader起動コマンドを汎用プロセッサ8Aに送信する。
汎用プロセッサ8Aは、PCI−Localブリッジ8Bから送られてくるFirmwareLoader起動コマンドを受け取ると、ステップSP14において、FirmwareLoaderエリアa1の先頭アドレスにアクセスして、ここに書き込まれているFirmwareLoaderを実行する。
このFirmwareLoaderは、上述したように、暗号化された状態のセキュリティファームを、セキュリティファームキーを用いて復号してから実行するファームウェアであり、くわえて本実施の形態のFirmwareLoaderは、復号する前にセキュリティファームの正当性をチェックするようにもなされている。
すなわち汎用プロセッサ8Aは、このステップSP14において、FirmwareLoaderを実行することにより、まず自身の暗号化ファームウェア転送エリアa8に書き込まれている暗号化された状態のセキュリティファームの正当性をチェックする。
ここで、このセキュリティファームの正当性をチェックする手法については、例えば、このセキュリティファームのハッシュ値や、MAC値を取るなどの手法を用いればよく、また、セキュリティファームの正当性をチェックし得る手法であれば、この他種々の手法を用いてもよい。
そして汎用プロセッサ8Aは、セキュリティファームが正当なものであると確認できた場合には、このセキュリティファームをプロセッサ内メモリ領域20に書き込まれているセキュリティファームキーを用いて復号し、この復号したセキュリティファームをファームウェア実行エリアa7に書き込み、次のステップSP15に移る。
また一方で、セキュリティファームが正当であると確認できなかった場合、汎用プロセッサ8Aは、このセキュリティファームを復号せずに、次のステップSP15に移る。
ステップSP15において汎用プロセッサ8Aは、FirmwareLoaderによる、正当性のチェック及びセキュリティファームの復号(ただし復号は、セキュリティファームが正当なものであると確認できた場合にのみ)が終了したことを示す終了通知情報をPCI−Localブリッジ8Bに送信する。ここで、この終了通知情報には、正当性のチェック結果も含まれているものとする。
PCI−Localブリッジ8Bは、汎用プロセッサ8Aから、正当性のチェック及びセキュリティファームの復号が終了したこと及び正当性のチェック結果を示す終了通知情報を受け取ると、ステップSP16において、受け取った終了通知情報をホストCPU2用の終了通知情報に変換して、これをホストCPU2に送信する。
これによりホストCPU2は、暗号化ファームウェア転送エリアa8に書き込まれたセキュリティファームが正当なものであるか否かを判断し得、このセキュリティファームが正当なものではない、すなわち不正なものであると判断した場合には、例えば、再度リセット信号をPCI−Localブリッジ8Bに送信して汎用プロセッサ8Aを再起動させるようにしてもよいし、あるいは不正なファームウェアが書き込まれたことを音声等でユーザに通知して、以降の処理を中断するようにしてもよい。
上述のステップSP14で、セキュリティファームが正当なものであると確認でき、このセキュリティファームを復号した汎用プロセッサ8Aは、上述のようにステップSP15で終了通知情報を送信した後、次のステップSP17に移る。
ステップSP17において汎用プロセッサ8Aは、FirmwareLoaderによるセキュリティファームの実行に移行し、ファームウェア実行エリアa7に書き込まれている復号されたセキュリティファームを実行する。これにより汎用プロセッサ8Aは、このセキュリティファームに基づいて、上述のセキュリティ処理を行う。
以上で、汎用プロセッサ8Aの起動からセキュリティ処理を実行するまでの手順(すなわちセキュリティ処理の実行手順)の説明を終了する。なお、ステップSP8からステップSP9、及びステップSP15からステップSP16においては、説明の便宜上、汎用プロセッサ8AがPCI−Localブリッジ8Bを介してホストCPU2に終了通知情報を送信すると述べたが、実際には、この終了通知情報が、汎用プロセッサ8Aにより、ReadBufferエリアa4などに書き込まれ、これをホストCPU2が、読み出すようになされている。
このようにこのセキュリティ処理モジュール8では、モジュール外(すなわちホストCPU2)からプロセッサ起動コマンドが供給されると、これに応じて、モジュール内のPCI−Localブリッジ8Bが、自身のブリッジ内メモリBMに格納されている初期設定ファームを、汎用プロセッサ8Aが利用するアドレス空間の実行開始アドレスに書き込み、つづいてこのPCI−Localブリッジ8Bが、汎用プロセッサ8Aにプロセッサ起動コマンドを送信して、汎用プロセッサ8Aを起動させ、初期設定ファームを実行させるようにした。
すなわちこのセキュリティ処理モジュール8では、モジュール外から供給されるプロセッサ起動コマンドに応じて、PCI−Localブリッジ8B内に格納された初期設定ファームを、汎用プロセッサ8Aの実行開始アドレスに書き込んでから、この汎用プロセッサ8Aを起動させるようにしたことにより、例えば、不正なファームウェアが汎用プロセッサ8Aの実行開始アドレスに書き込まれた状態で、プロセッサ起動コマンドが供給されたとしても、このときこの不正なファームウェアが初期設定ファームで上書き消去されるので、汎用プロセッサ8Aを不正に起動させて不正なファームウェアを実行させるような不正起動攻撃を確実に防ぐことができる。
また、このセキュリティ処理モジュール8では、上述したように、暗号化されたセキュリティファームを復号するためのセキュリティファームキーと、このセキュリティファームキーを用いて暗号化されたセキュリティファームを復号して実行するFirmwareLoaderとを、PCI−Localブリッジ8Bのブリッジ内メモリBMに格納しておき、モジュール外から供給されるFirmwareLoader起動コマンドに応じて、PCI−Localブリッジ8Bが汎用プロセッサ8AにFirmwareLoaderを実行させるようにした。
すなわちこのセキュリティ処理モジュール8では、モジュール内に格納されているセキュリティファームキーとFirmwareLoaderとを用いて、モジュール外から供給される暗号化されたセキュリティファームをモジュール内で復号して実行するようにしたことにより、モジュール外に格納されたセキュリティファームが不正に読み出されて容易に解析・改竄されることを防止することができる。また、このセキュリティファームキーとFirmwareLoaderとを、モジュール内のPCI−Localブリッジ8Bに格納しておくようにしたことにより、このセキュリティファームキーとFirmwareLoaderとをモジュール外から隠蔽することができると共に、PCI−Localブリッジ8B以外の部分(すなわち汎用プロセッサ8A及びプロセッサ外メモリPMeなど)については、汎用のものを用いることができる。
さらに、このセキュリティ処理モジュール8では、暗号化されたセキュリティファームの復号前に、このセキュリティファームに対する正当性のチェックを行い、正当なものであると確認できた場合にのみ、セキュリティファームを復号して実行するようにした。これにより、外部から不正なファームウェアや改竄された暗号化ファームウェアが、セキュリティ処理モジュール8内の暗号化ファームウェア転送エリアa8に書き込まれたとしても、この不正なファームウェアや改竄された暗号化ファームウェアの復号及び実行を防止することができる。
(3)アドレス空間のアクセス制限
さらにこのセキュリティ処理モジュール8では、PCI−Localブリッジ8Bにより、汎用プロセッサ8Aのアドレス空間の各領域に対して、その領域に格納される情報の用途に応じたアクセス制限がかけられている。
実際上、このアクセス制限としては、図3に示すように、モジュール外からの書き込みのみを許可するWriteOnlyと、モジュール外からの読み出し及び書き込みの両方を許可するRead/Writeと、モジュール外からのアクセスを禁止するアクセス禁止との3種類があり、アドレス空間の各領域は、これら3種類のアクセス制限によりWriteOnlyエリア、Read/Writeエリア、及びアクセス禁止エリアのいずれかに設定されている。
ここで、WriteOnlyエリアに設定される領域は、ホストCPU2がセキュリティ処理モジュール8に発行する(ホストCPU2が書き込む)コマンドを格納するHostCommandエリアa5と、ホストCPU2がセキュリティ処理モジュール8に転送する(ホストCPU2が書き込む)データを格納するWriteBufferエリアa6とする。このように、ホストCPU2から送られてくる情報を格納する領域は、WriteOnlyエリアに設定する。
次に、Read/Writeエリアに設定される領域は、外部メモリインタフェース設定レジスタ21aと、セキュリティ処理モジュール8の状態を示すステータス情報を格納するStatusエリアa2と、セキュリティ処理モジュール8がホストCPU2に通知する(ホストCPU2が読み出す)応答コマンドやイベントコマンドを格納するModuleCommandエリアa3と、セキュリティ処理モジュール8がホストCPU2に転送する(ホストCPU2が読み出す)データを格納するReadBufferエリアa4とする。
実際上、外部メモリインタフェース設定レジスタ21aは、プロセッサ外メモリPMeを使用するためにホストCPU2が設定するレジスタであり、正しく設定できたかどうかをホストCPU2が確認できるように、この外部メモリインタフェース設定レジスタ21aに対してはモジュール外からの書き込みだけでなく読み出しも許可する。
また同様に、Statusエリアa2、ModuleCommandエリアa3及びReadBufferエリアa4についても、ホストCPU2が情報を読み出した後にこの情報を書換/消去する場合などもあるので、モジュール外からの読み出しだけでなく書き込みも許可する。
このように、ホストCPU2から送られてくる情報、及びホストCPU2に送る情報を格納する領域はRead/Writeエリアに設定する。
そして、これ以外の領域である、プロセッサ内メモリ領域20、その他の設定レジスタ21b、プロセッサ外メモリ領域22の未使用部22b、FirmwareLoaderエリアa1、及びファームウェア実行エリアa7は、アクセス禁止エリアに設定される。
実際上、プロセッサ内メモリ領域20は、汎用プロセッサ8Aの実行開始アドレスを含み、PCI−Localブリッジ8Bから送られてくる初期設定ファームやセキュリティキーを格納する領域であると共に、セキュリティ処理の最重要部分を実行するために使用される領域であり、セキュリティ処理の改竄・解析を防ぐためにモジュール外からのアクセスが禁止される。
また、その他の設定レジスタ21bは、汎用プロセッサ8Aの各種設定を行うレジスタであり、この設定がモジュール外から不正に変更されてセキュリティホールを作られることを防ぐために、モジュール外からのアクセスが禁止される。
さらに、プロセッサ外メモリ領域22の未使用部22bには、使用部22aに書き込まれたデータの写像が現れる恐れがあるので、モジュール外からのアクセスが禁止される。
さらに、FirmwareLoaderエリアa1は、PCI−Localブリッジ8Bから送られてくるFirmwareLoaderを格納する領域であり、FirmwareLoaderの改竄・解析を防ぐためにモジュール外からのアクセスが禁止される。
さらに、ファームウェア実行エリアa7は、FirmwareLoaderによって復号されたファームウェアを格納して実行する領域であり、復号したファームウェアの改竄・解析を防ぐためにモジュール外からのアクセスが禁止される。
このように、ホストCPU2がアクセスする必要がなく、セキュリティ処理に係わるセキュリティキー、FirmwareLoader、及び復号したセキュリティファームなどの秘密情報を格納する領域はアクセス禁止エリアに設定する。
また、暗号化ファームウェア転送エリアa8は、ModuleCommandエリアa3、ReadBufferエリアa4、HostCommandエリアa5、及びWriteBufferエリアa6と兼用されているので、WriteOnlyエリア又はRead/Writeエリアとなる。
このようにしてセキュリティ処理モジュール8では、PCI−Localブリッジ8Bにより、汎用プロセッサ8Aのアドレス空間の各領域に対して、その領域に格納される情報の用途に応じたアクセス制限をかけるようにし、特に、ホストCPU2がアクセスする必要がなく、セキュリティ処理に係わる秘密情報を格納する領域については、モジュール外からのアクセスを禁止するようにした。これにより、秘密情報が漏洩してセキュリティ処理が解析・改竄されることを防止することができる。
(4)動作及び効果
以上の構成においてセキュリティ処理モジュール8では、ホストCPU2からプロセッサ起動コマンドが供給されると、これに応じて、モジュール内のPCI−Localブリッジ8Bが、自身のブリッジ内メモリBMに格納されている初期設定ファームを、汎用プロセッサ8Aが利用するアドレス空間の実行開始アドレスに書き込み、つづいてこのPCI−Localブリッジ8Bが、汎用プロセッサ8Aにプロセッサ起動コマンドを送信して、汎用プロセッサ8Aを起動させ、初期設定ファームを実行させるようにした。
すなわちこのセキュリティ処理モジュール8では、モジュール外から供給されるプロセッサ起動コマンドに応じて、PCI−Localブリッジ8B内に格納された初期設定ファームを、汎用プロセッサ8Aの実行開始アドレスに書き込んでから、この汎用プロセッサ8Aを起動させるようにしたことにより、例えば、不正なファームウェアが汎用プロセッサ8Aの実行開始アドレスに書き込まれた状態で、プロセッサ起動コマンドが供給されたとしても、この不正なファームウェアが初期設定ファームにより上書き消去されるので、汎用プロセッサ8Aを不正に起動させて不正なファームウェアを実行させるような不正起動攻撃を確実に防ぐことができる。
また、このセキュリティ処理モジュール8では、モジュール内のPCI−Localブリッジ8B内に格納された、暗号化されたセキュリティファームを復号して実行するプログラムであるFirmwareLoaderに、暗号化されたセキュリティファームに対する正当性のチェック機能を設けるようにした。
すなわち、セキュリティ処理モジュール8では、セキュリティ処理を実行する前に、このFirmwareLoaderを汎用プロセッサ8Aに実行させることで、暗号化されたセキュリティファームの復号前に、このセキュリティファームに対する正当性のチェックを行い、正当なものであると確認できた場合にのみ、セキュリティファームを復号して実行するようにした。
これにより、セキュリティ処理モジュール8では、外部から不正なファームウェアや改竄された暗号化ファームウェアが、モジュール内に書き込まれたとしても、この不正なファームウェアや改竄された暗号化ファームウェアの復号及び実行を防止することができる。
また、このようなセキュリティを向上させるための初期設定ファーム及びFirmwareLoaderなどをPCI−Localブリッジ8Bに記憶し、またこれら初期設定ファーム及びFirmwareLoaderなどの所定エリアへの書き込みをこのPCI−Localブリッジ8Bが担うようにしたことにより、セキュリティ処理モジュール8のPCI−Localブリッジ8B以外の部分(すなわち汎用プロセッサ8Aが及びプロセッサ外メモリPMeなど)には、汎用のものを採用することができる。またこのことを言い換えれば、新規に開発する部分がPCI−Localブリッジ8Bだけでよく、このためセキュリティ処理モジュール8の全てを新規に開発する場合と比して、その開発費、開発時間、コストを大幅に削減できる。
以上の構成によれば、PCI−Localブリッジ8Bが、モジュール外から供給されるプロセッサ起動コマンドに応じて、ブリッジ内メモリBMに記憶してある初期設定ファームを汎用プロセッサ8Aが利用するアドレス空間の実行開始アドレスに書き込んでから汎用プロセッサ8Aを起動させてこの初期設定ファームを実行させるようにしたことにより、例えば、不正なファームウェアがこの実行開始アドレスに書き込まれた状態で、モジュール外からプロセッサ起動コマンドが供給されたとしても、汎用プロセッサ8Aが起動する際には、この不正なファームウェアを初期設定ファームで上書き消去するので、汎用プロセッサ8Aを不正に起動させて不正なファームウェアを実行させるといった不正起動攻撃を確実に防ぐことができ、またこのようにプロセッサ起動コマンドに応じた初期設定ファームの書き込み及び汎用プロセッサ8Aの起動を、PCI−Localブリッジ8Bが担うようにしたことにより、PCI−Localブリッジ8B以外の部分には、汎用のものを用いることができ、かくして汎用プロセッサを用いてコストを抑えつつ、セキュリティを向上させることができる。
(5)他の実施の形態
なお上述の実施の形態においては、コンテンツの不正利用を防止するためのセキュリティ処理を実行するセキュリティ処理モジュール8に本発明を適用する場合について述べたが、本発明はこれに限らず、例えば、個人情報、暗号データ、ネットワーク認証データ、及び接続機器認証データなどのような外部から隠蔽したい秘密情報を処理するモジュールに適用することができ、この場合も、コストを抑えてセキュリティを向上させたモジュールを実現することができる。また、このようなモジュールに本発明を適用することができるので、セキュリティ処理モジュール8を有するコンテンツ再生装置1に限らず、例えば、ICカード、携帯電話機、及び防犯装置などのような、種々のセキュリティ処理を行う装置に適用することができる。
また上述の実施の形態においては、ホストCPU2から供給されるプロセッサ起動コマンドに応じて、PCI−Localブリッジ8Bが、初期設定ファームを汎用プロセッサ8Aが利用するアドレス空間の実行開始アドレスに書き込んでから汎用プロセッサ8Aを起動させるようにした場合について述べたが、本発明はこれに限らず、このとき例えば初期設定用ファーム以外の役割を担うファームウェアをこの実行開始アドレスに書き込むようにしてもよい。実際上、本発明では、プロセッサ起動コマンドに応じて、汎用プロセッサ8Aを起動させる直前に、何らかのファームウェアを実行開始アドレスに書き込めばよく、こうすることで、不正なファームウェアを上書き消去することができる。
さらに上述の実施の形態においては、FirmwareLoaderを、プロセッサ外メモリ領域22のFirmwareLoaderエリアa1の先頭アドレスから書き込むようにしたが、本発明はこれに限らず、セキュリティファームが書き込まれる暗号化ファームウェア転送エリアa8及びファームウェア実行エリアa7と違う領域であり、かつモジュール外からのアクセスが禁止されたエリアであれば、どのエリアに書き込んでもよい。
さらに上述の実施の形態においては、ホストCPU2が初期設定用データを汎用プロセッサ8Aの暗号化ファームウェア転送エリアa8に書き込むようにした場合について述べたが、本発明はこれに限らず、この初期設定用データを、PCI−Localブリッジ8Bのブリッジ内メモリBMに記憶しておき、ホストCPU2からのプロセッサ起動コマンドに応じて、PCI−Localブリッジ8Bが、汎用プロセッサ8Aの例えばアクセス禁止エリアに書き込むようにしてもよい。このようにすれば、さらにセキュリティを向上させることができる。
さらに上述の実施の形態においては、汎用プロセッサ8Aが利用するアドレス空間の各領域を図3に示すように割り当て、それぞれの領域にアクセス制限をかけるようにした場合について述べたが、本発明はこれに限らず、汎用プロセッサ8A及び各領域の用途に応じて、領域の割り当て及びアクセス制限を設定すればよく、必ずしも、図3に示すような領域の割り当て及びアクセス制限に限定するものではない。
さらに上述の実施の形態においては、汎用プロセッサ8Aの実行開始アドレスを、プロセッサ内メモリ領域20の先頭アドレスとした場合について述べたが、本発明はこれに限らず、汎用プロセッサ8Aの仕様などに合わせて、他の領域のアドレスを実行開始アドレスとして規定するようにしてもよい。
さらに上述の実施の形態においては、セキュリティファームを暗号化した状態で、モジュール外のハードディスクドライブ5に記録しておくようにした場合について述べたが、本発明はこれに限らず、このセキュリティファームが仮に暗号化されていなくとも、FirmwareLoaderによりこのセキュリティファームの正当性をチェックするので、不正なセキュリティファームの実行を防止することができる。ただし、セキュリティファームを暗号化しておくほうが、セキュリティが強固になることは言うまでもない。
さらに上述の実施の形態においては、PCI−Localブリッジ8Bに記憶されているセキュリティファームキーを、汎用プロセッサ8Aのプロセッサ内メモリ領域20に書き込み、このセキュリティファームキーを用いて、暗号化されたセキュリティファームを復号するようにした場合について述べたが、本発明はこれに限らず、例えば、PCI−Localブリッジ8Bには、セキュリティファームキーを生成するための鍵情報を書き込んでおき、この鍵情報を用いてFirmwareLoader上でセキュリティファームキーを生成して、セキュリティファームを復号するようにしてもよい。この場合、セキュリティファームキーは、実際にセキュリティファームを復号するときになって初めてFirmwareLoader上で生成されるので、PCI−Localブリッジ8Bから不正に読み出される恐れをなくすことができる。このことは、セキュリティファームキーに限らず、秘密情報である権利情報キーや、コンテンツデータ用の鍵情報に対しても同様であり、こうすることで、さらにセキュリティを向上させることができる。
さらに上述の実施の形態においては、第1のファームウェアとしての初期設定ファームや、実行用プログラムとしてのFirmwareLoaderや、第2のファームウェアとしてのセキュリティファームを実行する汎用プロセッサと、初期設定ファーム及びFirmwareLoaderを記憶すると共に、CPU2から供給されるプロセッサ起動コマンド(第1の起動命令)を汎用プロセッサ用のプロセッサ起動コマンド(第2の起動命令)に変換し、またホストCPU2から供給されるFirmwareLoader起動コマンド(第3の起動命令)を汎用プロセッサ用のFirmwareLoader起動コマンド(第4の起動命令)に変換して出力する中継回路としてのPCI−Localブリッジ8Bと、汎用プロセッサ8Aがアクセス可能なメモリであるプロセッサ外メモリPMeなどによって、データ処理回路としてのセキュリティ処理モジュール8を構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を用いるようにしてもよい。
さらに上述の実施の形態においては、制御部としてのホストCPU2や、データ処理回路としてのセキュリティ処理モジュール8などによって、データ処理装置としてのコンテンツ再生装置1を構成するようにした場合について述べたが、本発明はこれに限らず、この他種々の構成を用いるようにしてもよい。
本発明は、セキュリティ処理を実行する様々な回路及び装置で広く利用できる。
コンテンツ再生装置の全体構成を示す略線図である。 セキュリティ処理モジュールの内部構成を示す略線図である。 汎用プロセッサのアドレス空間を示す略線図である。 セキュリティ処理の実行手順を示すシーケンスチャートである。 汎用モジュールを実装した従来端末の構成を示す略線図である。
符号の説明
1……コンテンツ再生装置、2……ホストCPU、3……ROM、4……RAM、5……ハードディスクドライブ、6……操作部、7……ネットワークインタフェース部、8……セキュリティ処理モジュール、8A……汎用プロセッサ、8B……PCI−Localブリッジ、9……ホスト−PCIブリッジ、10……音声処理部、20……プロセッサ内メモリ領域、21……レジスタ領域、21a……外部メモリ設定インタフェース設定レジスタ、21b……その他の設定レジスタ、22……プロセッサ外メモリ領域、22a……使用部、22b……未使用部、a1……FirmwareLoaderエリア、a2……Statusエリア、a3……ModuleCommandエリア、a4……ReadBufferエリア、a5……HostCommandエリア、a6……WriteBufferエリア、a7……ファームウェア実行エリア、a8……暗号化ファームウェア転送エリア、BM……ブリッジ内メモリ、HB……ホストバス、LB……Localバス、NT……ネットワーク、PB……PCIバス、PMe……プロセッサ外メモリ、PMi……プロセッサ内メモリ。

Claims (14)

  1. モリに書き込まれファームウェアを実行する汎用プロセッサと、
    外部のバスと上記汎用プロセッサのバスとをブリッジして上記汎用プロセッサと外部とを中継する中継回路と
    を具え、
    上記中継回路は、
    外部からのアクセスが禁止され第1のファームウェアを記憶する記憶部を内蔵し、外部から供給される第1の起動命令に応じて、当該記憶部に記憶されている第1のファームウェアを読み出して上記メモリの実行開始アドレスから書き込み、続いて上記汎用プロセッサに対して上記第1の起動命令に応じた第2の起動命令を出力し、
    上記汎用プロセッサは、
    上記第2の起動命令に応じて起動すると共に、上記実行開始アドレスに書き込まれた上記第1のファームウェアを実行する
    ータ処理回路。
  2. 上記メモリには、上記汎用プロセッサを初期設定するための初期設定用データが書き込まれ、
    上記汎用プロセッサは、
    上記第2の起動命令に応じて起動すると共に、上記実行開始アドレスに書き込まれた上記第1のファームウェアを実行することにより、上記初期設定用データに基づいて初期設定を行う
    求項1に記載のデータ処理回路。
  3. 上記メモリには、第2のファームウェアが書き込まれ、
    上記中継回路の記憶部には、上記第2のファームウェアの正当性を検出して実行するための実行用プログラムが記憶され、
    上記中継回路は、
    部から供給される第3の起動命令に応じて、上記記憶部に記憶されている実行用プログラムを読み出して上記メモリの上記第2のファームウェアが書き込まれた位置とは異なる位置に書き込み、続いて上記汎用プロセッサに対して上記第3の起動命令に応じた第4の起動命令を出力し、
    上記汎用プロセッサは、
    上記第4の起動命令に応じて、上記メモリに書き込まれた上記実行用プログラムを実行することにより、上記メモリに書き込まれた上記第2のファームウェアの正当性を検出し、当該検出結果に応じて、当該第2のファームウェアを実行する
    求項2に記載のデータ処理回路。
  4. 上記実行用プログラムは、
    暗号化された上記第2のファームウェアを復号する機能を有し、
    上記汎用プロセッサは、
    上記第4の起動命令に応じて、上記メモリに書き込まれた上記実行用プログラムを実行することにより、上記メモリに書き込まれた暗号化された上記第2のファームウェアの正当性を検出し、当該検出結果に応じて、当該暗号化された第2のファームウェアを復号して実行する
    求項3に記載のデータ処理回路。
  5. 上記メモリは、
    上記汎用プロセッサに内蔵された内蔵メモリと、上記汎用プロセッサの外部に設けられた外部メモリとでなり、
    上記第1のファームウェアは、
    上記内蔵メモリの実行開始アドレスから書き込まれ、
    上記初期設定データは、
    上記外部メモリの第1の領域に書き込まれ、
    上記第2のファームウェアは、
    上記初期設定が終了した後に、上記第1の領域に書き込まれ、
    上記実行用プログラムは、
    上記外部メモリの第2の領域に書き込まれる
    求項に記載のデータ処理回路。
  6. 制御部と、
    モリに書き込まれファームウェアを実行する汎用プロセッサと、
    上記制御部のバスと上記汎用プロセッサのバスとをブリッジして上記汎用プロセッサと上記制御部とを中継する中継回路と
    を具え、
    上記中継回路は、
    外部からのアクセスが禁止され第1のファームウェアを記憶する記憶部を内蔵し、上記制御部から供給される第1の起動命令に応じて、当該記憶部に記憶されている第1のファームウェアを読み出して上記メモリの実行開始アドレスから書き込み、続いて上記汎用プロセッサに対して上記第1の起動命令に応じた第2の起動命令を出力し、
    上記汎用プロセッサは、
    上記第2の起動命令に応じて起動すると共に、上記実行開始アドレスに書き込まれた上記第1のファームウェアを実行する
    ータ処理装置。
  7. 外部からのアクセスが禁止され第1のファームウェアを記憶する記憶部を内蔵し、外部のバスと汎用プロセッサのバスとをブリッジして当該汎用プロセッサと外部とを中継する中継回路が、外部から供給される第1の起動命令に応じて、上記記憶部に記憶されている第1のファームウェアを読み出して上記汎用プロセッサがアクセスするメモリの実行開始アドレスから書き込む第1ファームウェア書込ステップと、
    上記第1ファームウェア書込ステップで上記第1のファームウェアを書き込んだ後、上記中継回路が、上記第1の起動命令に応じた第2の起動命令を上記汎用プロセッサに出力して当該汎用プロセッサを起動させ、当該汎用プロセッサに上記実行開始アドレスに書き込んだ上記第1のファームウェアを実行させる第1ファームウェア実行ステップと
    を具えるデータ処理方法。
  8. 上記メモリには、外部から上記汎用プロセッサを初期設定するための初期設定用データが書き込まれ
    上記第1ファームウェア実行ステップでは、
    上記中継回路が、上記実行開始アドレスに書き込んだ上記第1のファームウェアを、上記汎用プロセッサに実行させることにより、上記初期設定用データに基づいて上記汎用プロセッサの初期設定を行う
    求項に記載のデータ処理方法。
  9. 上記メモリには、外部から第2のファームウェアが書き込まれ
    外部から供給される第3の起動命令に応じて、上記中継回路が、上記記憶部に記憶されている、上記第2のファームウェアの正当性を検出して実行するための実行用プログラムを、上記メモリの上記第2のファームウェアが書き込まれた位置とは異なる位置に書き込む実行用プログラム書込ステップと、
    上記中継回路が、上記実行用プログラム書込ステップで上記実行用プログラム書き込んだ後、上記第3の起動命令に応じた第4の起動命令を上記汎用プロセッサに出力して、上記メモリに書き込んだ上記実行用プログラムを上記汎用プロセッサに実行させることにより、上記メモリに書き込まれた上記第2のファームウェアの正当性を検出させ、当該検出結果に応じて、当該第2のファームウェアを上記汎用プロセッサに実行させる実行用プログラム実行ステップと
    さらに具える請求項に記載のデータ処理方法。
  10. 上記実行用プログラムは、暗号化された上記第2のファームウェアを復号する機能を有し、
    上記実行用プログラム実行ステップでは、
    上記中継回路が、上記メモリに書き込んだ上記実行用プログラムを上記汎用プロセッサに実行させることにより、上記メモリに書き込まれた暗号化された上記第2のファームウェアの正当性を検出させ、当該検出結果に応じて、当該暗号化された第2のファームウェアを上記汎用プロセッサに復号させて実行させる
    請求項に記載のデータ処理方法。
  11. 上記メモリは、
    上記汎用プロセッサに内蔵された内蔵メモリと、上記汎用プロセッサの外部に設けられた外部メモリとでなり、
    上記第1のファームウェアは、
    上記内蔵メモリの実行開始アドレスから書き込まれ、
    上記初期設定データは、
    上記外部メモリの第1の領域に書き込まれ、
    上記第2のファームウェアは、
    上記初期設定が終了した後に、上記第1の領域に書き込まれ、
    上記実行用プログラムは、
    上記外部メモリの第2の領域に書き込まれる
    求項に記載のデータ処理方法。
  12. 制御部が、メモリに書き込まれファームウェアを実行する汎用プロセッサと、外部からのアクセスが禁止され第1のファームウェアを記憶する記憶部を内蔵し、当該制御部のバスと汎用プロセッサのバスとをブリッジして当該汎用プロセッサと外部とを中継する中継回路とを有するデータ処理回路に、上記第1のファームウェアを上記中継回路の記憶部から読み出させて上記メモリの実行開始アドレスに書き込ませ、続いて上記実行開始アドレスに書き込ませた上記第1のファームウェアを上記汎用プロセッサに実行させるための起動命令を供給する供給ステップ
    を具えるデータ処理制御方法。
  13. 汎用プロセッサと中継回路とを有するデータ処理回路に対し、
    外部からのアクセスが禁止され第1のファームウェアを記憶する記憶部を内蔵し、外部のバスと上記汎用プロセッサのバスとをブリッジして当該汎用プロセッサと外部とを中継する上記中継回路が、外部から供給される第1の起動命令に応じて、上記記憶部に記憶されている第1のファームウェアを読み出して上記汎用プロセッサがアクセスするメモリの実行開始アドレスから書き込む第1ファームウェア書込ステップと、
    上記第1ファームウェア書込ステップで上記第1のファームウェアを書き込んだ後、上記中継回路が、上記第1の起動命令に応じた第2の起動命令を上記汎用プロセッサに出力して当該汎用プロセッサを起動させ、当該汎用プロセッサに上記実行開始アドレスに書き込んだ上記第1のファームウェアを実行させる第1ファームウェア実行ステップと
    を実行させるためのデータ処理プログラム。
  14. 制御部とデータ処理回路とを有するデータ処理装置に対し、
    上記制御部が、メモリに書き込まれファームウェアを実行する汎用プロセッサと、外部からのアクセスが禁止され第1のファームウェアを記憶する記憶部を内蔵し、当該制御部のバスと汎用プロセッサのバスとをブリッジして当該汎用プロセッサと外部とを中継する中継回路とを有する上記データ処理回路に、上記第1のファームウェアを上記中継回路の記憶部から読み出させて上記メモリの実行開始アドレスに書き込ませ、続いて上記実行開始アドレスに書き込ませた上記第1のファームウェアを上記汎用プロセッサに実行させるための起動命令を供給する供給ステップ
    を実行させるためのデータ処理制御プログラム。
JP2005024358A 2005-01-31 2005-01-31 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム Expired - Fee Related JP4600750B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005024358A JP4600750B2 (ja) 2005-01-31 2005-01-31 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005024358A JP4600750B2 (ja) 2005-01-31 2005-01-31 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム

Publications (2)

Publication Number Publication Date
JP2006209690A JP2006209690A (ja) 2006-08-10
JP4600750B2 true JP4600750B2 (ja) 2010-12-15

Family

ID=36966435

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005024358A Expired - Fee Related JP4600750B2 (ja) 2005-01-31 2005-01-31 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム

Country Status (1)

Country Link
JP (1) JP4600750B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8181038B2 (en) * 2007-04-11 2012-05-15 Cyberlink Corp. Systems and methods for executing encrypted programs
JP2010217975A (ja) * 2009-03-13 2010-09-30 Nec System Technologies Ltd 情報処理装置、アプリケーションプログラム、及びアプリケーションプログラムの実行方法
JP6736456B2 (ja) 2016-11-17 2020-08-05 キオクシア株式会社 情報処理装置およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04104358A (ja) * 1990-08-23 1992-04-06 Hitachi Ltd マイクロコンピュータ装置
JPH05265849A (ja) * 1992-03-17 1993-10-15 Fujitsu Ltd 立上げrom制御方式
JP2003108257A (ja) * 2001-07-06 2003-04-11 Texas Instruments Inc デジタルデバイスのセキュリティを守るための、安全なブートローダー
JP2005018770A (ja) * 2003-06-23 2005-01-20 Internatl Business Mach Corp <Ibm> システム・オン・チップのためのセキュリティ・アーキテクチャ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04104358A (ja) * 1990-08-23 1992-04-06 Hitachi Ltd マイクロコンピュータ装置
JPH05265849A (ja) * 1992-03-17 1993-10-15 Fujitsu Ltd 立上げrom制御方式
JP2003108257A (ja) * 2001-07-06 2003-04-11 Texas Instruments Inc デジタルデバイスのセキュリティを守るための、安全なブートローダー
JP2005018770A (ja) * 2003-06-23 2005-01-20 Internatl Business Mach Corp <Ibm> システム・オン・チップのためのセキュリティ・アーキテクチャ

Also Published As

Publication number Publication date
JP2006209690A (ja) 2006-08-10

Similar Documents

Publication Publication Date Title
JP3389186B2 (ja) 半導体メモリカード及び読み出し装置
US7228436B2 (en) Semiconductor integrated circuit device, program delivery method, and program delivery system
JP4395302B2 (ja) 半導体メモリカード及びその制御方法
US20100217964A1 (en) Method and apparatus for controlling enablement of jtag interface
EP2528004A1 (en) Secure removable media and method for managing the same
KR20140046476A (ko) 인증 장치
US20100293392A1 (en) Semiconductor device having secure memory controller
US20050177823A1 (en) License management
US20030145182A1 (en) Data storage apparatus, data storing method, data verification apparatus, data access permission apparatus, and program and storage medium therefor
CN107832589A (zh) 软件版权保护方法及其系统
JP2009516884A (ja) ポータブルデバイスの特性に自動的に結合されるデジタル作品をダウンロードする方法
CN102184143A (zh) 一种存储设备数据的保护方法、装置及系统
JP4767619B2 (ja) 外部記憶装置およびsbc制御方法
JP4600750B2 (ja) データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム
JP4596247B2 (ja) データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム
US20110055589A1 (en) Information certification system
CN103838997A (zh) 一种单片机密码验证方法及装置
KR20080088911A (ko) 메모리의 배드정보를 암호화키로 사용하는 데이터저장카드, 연결장치 및 그 방법
JP4388040B2 (ja) 不正接続防止システム、不正接続防止方法、ユーザ端末、及びユーザ端末用プログラム
RU2251752C2 (ru) Карта полупроводниковой памяти и устройство считывания данных
KR100811157B1 (ko) 전자음반 장치 및 이를 위한 기록매체
KR100811153B1 (ko) 전자음반 장치 및 이를 위한 기록매체
CN116226870B (zh) 安全增强系统及方法
KR20050049973A (ko) 이동식 저장 장치의 저장 제어 방법 및 이를 이용한정보단말
KR100358108B1 (ko) 하드디스크 데이터 보호장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100602

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

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

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

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees