(57)【特許請求の範囲】
【請求項１】
プログラムに従って処理を行うプログラム実行モジュールと、
前記プログラム実行モジュールに接続され、前記プログラム実行モジュールとの間で相互に認証を行うとともに、当該プログラム実行モジュールによる実行の対象となった対象プログラムを認証し、認証に成功するまでは、前記プログラム実行モジュールによる前記対象プログラムの実行を行わせないよう制御する実行制御モジュールと、を含み、
前記実行制御モジュールが、当該実行制御モジュールによって実行される相互認証プログラムを保持する記憶手段を含み、
前記実行制御モジュールが、メインバスを介しての通信を行うことができない際に、前記メインバスとは異なる、前記プログラム実行モジュールと前記実行制御モジュールとが接続されたバスを介して行われる、前記相互認証プログラムの認証の結果に応じて、前記メインバスを介した通信を可能とするか否かを制御する、
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記対象プログラムは暗号化されており、前記実行制御モジュールは、認証に成功した対象プログラムを復号して、プログラム実行モジュールの処理に供することを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記対象プログラムは、予め定められた種別のいずれかに分類されており、前記実行制御モジュールは、前記種別ごとに予め設定された復号鍵を保持しており、前記実行制御モジュールは対象プログラムの種別に対応する復号鍵を用いて、当該対象プログラムを復号することを特徴とする情報処理装置。
【請求項４】
請求項１から３のいずれか一項に記載の情報処理装置であって、
前記実行制御モジュールは、実行の対象となる各プログラムについて、バージョンごとの実行の許否を表す許否情報を取得し、対象プログラムのバージョンが、許否情報により実行可能とされている場合に、前記プログラム実行モジュールによる対象プログラムの実行を行わせることを特徴とする情報処理装置。
【請求項５】
プログラムに従って処理を行うプログラム実行モジュールと、
前記プログラム実行モジュールに接続され、相互認証プログラムを保持し、前記プログラム実行モジュールとの間で前記相互認証プログラムによる相互認証を行う実行制御モジュールとを含むコンピュータを用い、
前記実行制御モジュールにより、実行の対象となった対象プログラムを認証し、認証に成功するまでは、前記プログラム実行モジュールによる前記対象プログラムの実行を行わせないよう制御して、
前記実行制御モジュールにより、メインバスを介しての通信を行うことができない際に、前記メインバスとは異なる、前記プログラム実行モジュールと前記実行制御モジュールとが接続されたバスを介して行われる、前記相互認証プログラムの認証の結果に応じて、前記メインバスを介した通信を可能とするか否かを制御する、
ことを特徴とするプログラム実行制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムに従って動作する情報処理装置、及びそれにおけるプログラム実行制御の方法に関する。
【背景技術】
【０００２】
近年、情報処理装置において、正当な権限なく改ざんされたプログラムを実行させ、ユーザの意図しない情報漏洩を生じさせる等の問題が浮上している。また情報処理装置のうちには、正当なライセンスを受けたプログラムのみを実行させたいものもある。さらにライセンスを受けたプログラムであっても、正規の情報処理装置以外の情報処理装置を用いて、例えばエミュレータなどのソフトウエアを利用して実行されることを阻止すべきものもある。
【０００３】
こうした目的のため、従来、特許文献１に開示のように、プログラムを暗号化しておき、プロセッサ側において復号して実行するという方法などが考えられている。
【０００４】
また別の方法として、プログラムの起動時に、各プログラムごとに予め発行されているハッシュ値を記憶しておき、プログラムの実行モジュールであるプロセッサが、当該記憶しているハッシュ値を参照して実行の対象となるプログラムを認証するものがある。
【特許文献１】米国特許第５９３７０６３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の方法では、プログラムの実行主体と復号、検証を行う主体とが同一であり、復号や検証を行うプログラムが不正なものと交換された場合に対処できない。またハッシュ値を記憶する方法では、製品製造後に開発されるプログラムのハッシュ値をどのようにして安全に保持させるかが問題となる。
【０００６】
本発明は上記実情に鑑みて為されたもので、その目的の一つは、プログラム実行主体において実行されるすべてのプログラムを検証させることができ、また、製造後に開発されるプログラムについての認証をも行い得る情報処理装置、及びそれにおけるプログラム実行制御方法を提供することである。
【課題を解決するための手段】
【０００７】
上記従来例の問題点を解決するための本発明は、情報処理装置であって、プログラムに従って処理を行うプログラム実行モジュールと、前記プログラム実行モジュールに接続され、前記プログラム実行モジュールとの間で相互に認証を行うとともに、当該プログラム実行モジュールによる実行の対象となった対象プログラムを認証し、認証に成功するまでは、前記プログラム実行モジュールによる前記対象プログラムの実行を行わせないよう制御する実行制御モジュールと、を含むことを特徴としている。
【０００８】
ここで前記対象プログラムは暗号化されており、前記実行制御モジュールは、認証に成功した対象プログラムを復号して、プログラム実行モジュールの処理に供することとしてもよい。
【０００９】
またここで前記対象プログラムは、予め定められた種別のいずれかに分類されており、前記実行制御モジュールは、前記種別ごとに予め設定された復号鍵を保持しており、前記実行制御モジュールは対象プログラムの種別に対応する復号鍵を用いて、当該対象プログラムを復号することとしてもよい。
【００１０】
さらに、前記実行制御モジュールは、実行の対象となる各プログラムについて、バージョンごとの実行を許否を表す許否情報を取得し、対象プログラムのバージョンが、許否情報により実行可能とされている場合に、前記プログラム実行モジュールによる対象プログラムの実行を行わせることとしてもよい。
【００１１】
また、本発明の一態様に係るプログラム実行制御方法は、プログラムに従って処理を行うプログラム実行モジュールと、前記プログラム実行モジュールに接続され、前記プログラム実行モジュールとの間で相互に認証を行う実行制御モジュールとを含むコンピュータを用い、前記実行制御モジュールにより、実行の対象となった対象プログラムを認証し、認証に成功するまでは、前記プログラム実行モジュールによる前記対象プログラムの実行を行わせないよう制御することを特徴としている。
【発明を実施するための最良の形態】
【００１２】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置１は、図１に示すように、制御部１１と、記憶部１２と、インタフェース部１３と、操作部１４と、外部記録媒体ドライブ１５と、表示制御部１６と、実行制御モジュール１７と、を含んで構成されている。このうち、制御部１１と、記憶部１２と、インタフェース部１３と、表示制御部１６と、実行制御モジュール１７とは、メインバスＭＢを介して相互に接続されている。また、制御部１１と実行制御モジュール１７とはセキュアバスＳＢを介しても接続されている。
【００１３】
制御部１１は、ＣＰＵ等、プログラムに従って動作するプログラム実行モジュールであり、ここでは記憶部１２または外部記録媒体ドライブ１５に格納されているプログラムに従って動作している。本実施の形態では、この制御部１１は、実行制御モジュール１７により実行許可されたプログラムのみを実行することになる。この制御部１１の動作については後に述べる。また、この制御部１１は、メインバスＭＢのバスマスタとしても動作する。さらに制御部１１は、セキュアバスＳＢのコントローラを備えて、相互認証のための鍵情報を保持している。
【００１４】
記憶部１２は、ＲＡＭ１２ａやＲＯＭ１２ｂなどの記憶媒体を含んで構成されている。ここでＲＡＭ１２ａは、外部記録媒体ドライブ１５によって読み出されたプログラムを格納する。また、このＲＡＭ１２ａは、制御部１１のワークメモリとしても動作する。ＲＯＭ１２ｂは、情報処理装置１の起動時に必要となるプログラム（例えばＢＩＯＳ（Basic Input Output System）など）や、パラメータ等を保持している。
【００１５】
インタフェース部１３は、制御部１１と操作部１４と外部記録媒体ドライブ１５と実行制御モジュール１７とに接続されており、操作部１４が出力する信号を制御部１１に出力する。また、このインタフェース部１３は、制御部１１から入力される指示を外部記録媒体ドライブ１５に出力し、また、外部記録媒体ドライブ１５から入力されるデータを実行制御モジュール１７に出力する。
【００１６】
操作部１４は、キーボードやマウス、またはゲームコントローラ等であり、ユーザの行った指示操作の内容を、インタフェース部１３を介して制御部１１に出力する。外部記録媒体ドライブ１５は、インタフェース部１３を介して入力される指示に従い、ＤＶＤやブルーレイ・ディスクなどの外部記録媒体からデータを読み出して、インタフェース部１３を介して実行制御モジュール１７に出力する。表示制御部１６は、ディスプレイや、テレビ受像機等に接続されており、制御部１１から入力される指示に従って、ディスプレイ等に表示する画像を生成して出力する。
【００１７】
実行制御モジュール１７は、制御部１１による実行の対象となるプログラム（対象プログラム）を認証し、認証が成功するまで、制御部１１に対して対象プログラムの実行を行わせないよう制御する。この実行制御モジュール１７は、図２に示すように、制御部２１と、記憶部２２とを含んで構成されている。ここで制御部２１は、マイクロコンピュータ等であり、記憶部２２に格納されているプログラムを実行する。記憶部２２は、制御部２１によって実行されるプログラム（相互認証プログラム、署名検証プログラム、及び復号プログラム）やパラメータを格納している。この実行制御モジュール１７の動作については後に説明する。
【００１８】
本実施の形態の情報処理装置１の制御部１１によって実行されるプログラムには、（１）ＢＩＯＳ等の起動時実行プログラム、（２）ローダなどのシステムをロードするプログラム、（３）ＯＳ（Operating System）などのシステム（基本プログラム）、（４）ゲームや、ワードプロセッサ等のアプリケーションプログラムなどの複数の種別に分類される。また、各プログラムは、いずれも暗号化されており、図３に示すような構造のデータとして記憶部１２や、外部記録媒体に保持されている。すなわち、本実施の形態の情報処理装置１の制御部１１が実行するプログラムは、コード部分を暗号化した暗号化コード部（ＥCEK[code]）と、ヘッダ部Ｈと、このヘッダ部Ｈのハッシュ値（Ｈ[Header]）を署名鍵CSKで暗号化した署名情報部（ＥCSK[H[Header]]）とを含んで構成されている。なお、ヘッダ部Ｈには、コード部分のハッシュ値（Ｈ[code]）を含む。
【００１９】
ここで署名鍵CSKは、プログラムのライセンスを発行する組織において秘密に保持される秘密鍵であり、この秘密鍵に対応する公開鍵CVKとともに発行される。この公開鍵CVKは、実行制御モジュール１７の記憶部２２に格納される。
【００２０】
以下、制御部１１と実行制御モジュール１７との動作について説明する。なお、以下の説明に置いて実行制御モジュール１７の記憶部２２には、署名鍵CSKに対応する公開鍵CVKと、プログラムの暗号化コード部の復号に用いる復号鍵CEKとが格納されている。また、記憶部２２は、制御部２１によって実行される相互認証プログラムと、署名検証プログラムと、復号プログラムとを保持している。制御部２１は、これらのプログラムを実行することにより、機能的には、図４に示すように、相互認証部３１と、署名検証部３２と、プログラム復号部３３と、システム起動処理部３４と、プログラム起動処理部３５とを含んで構成されることになる。
【００２１】
実行制御モジュール１７の制御部２１は、電源投入時にリセット信号の入力を受けて起動し、相互認証プログラムの実行を開始し、相互認証部３１としての処理を開始する。相互認証部３１の処理については後に述べる。
【００２２】
署名検証部３２は、処理の対象となるプログラムに含まれるヘッダ部Ｈのハッシュ値を演算して、演算ハッシュ値を得るとともに、署名情報部のデータを公開鍵CVKで復号して署名ハッシュ値を得る。そして演算ハッシュ値と署名ハッシュ値とが一致しているか否かを確認して、確認の結果を出力する。
【００２３】
プログラム復号部３３は、処理の対象となるプログラムに含まれる暗号化コード部を復号鍵CEKで復号し、プログラムのコードを取得し、取得したコードを出力する。
【００２４】
ここで相互認証部３１の動作について説明する。相互認証部３１が動作を開始した時点では制御部１１は起動しておらず、メインバスＭＢのバスマスタとしての動作を行なっていない。このためにメインバスＭＢを介しての通信を行なうことはできない。そこで実行制御モジュール１７は制御部１１との間でセキュアバスＳＢを介して通信を行なう。
【００２５】
相互認証部３１は、記憶部２２から相互認証プログラムを読み出す。この相互認証プログラムもまた、図３に示すデータ構造を有して、署名検証部３２にてこの相互認証プログラムの認証を行なってもよい。相互認証部３１は、セキュアバスＳＢを介して制御部１１から相互認証用の鍵情報を取得する。相互認証部３１は、制御部１１から取得した相互認証用の鍵情報を用いて認証を行なう。この相互認証の方法については、例えば事前共有鍵方式など、広く知られている方法を用いることができるので、ここでの詳細な説明を省略する。
【００２６】
相互認証部３１は、ここでの相互認証に失敗した場合には、処理を中断する。このとき制御部１１は起動されず、実質的にシステムの起動が阻止される。他方、相互認証部３１は、相互認証に成功した場合には、制御部１１に対してリセット信号を出力して、制御部１１を起動するべく、システム起動処理部３４に対して、システムの起動を指示する。ここで制御部１１にリセット信号が出力されると、メインバスＭＢを介して、各部が相互に通信可能となる。
【００２７】
システム起動処理部３４は、ＢＩＯＳ等の起動時実行プログラム及びＯＳを読み出すローダを制御部１１に実行させる処理を行う。ここでは、ＢＩＯＳ等の起動時実行プログラムやローダのプログラムは、記憶部１２のＲＯＭ１２ｂに格納されているとする。システム起動処理部３４は、記憶部１２のＲＯＭ１２ｂからＢＩＯＳのプログラムを読み出す。このＢＩＯＳのプログラムもまた、図３に示すデータ構造を有している。システム起動処理部３４は、このＢＩＯＳのプログラムを処理対象のプログラムとして署名検証部３２に出力する。ここで署名検証部３２が出力する確認の結果、演算ハッシュ値と署名ハッシュ値とが一致していない（認証に失敗した）場合、処理を中断する。この場合、情報処理装置１は起動しないこととなる。
【００２８】
一方、演算ハッシュ値と署名ハッシュ値とが一致していれば（認証に成功すれば）、処理対象となったＢＩＯＳのプログラムをプログラム復号部３３に出力する。そしてプログラム復号部３３が出力する復号後のプログラムコードを記憶部１２に格納する。ここで記憶部１２上でコードを格納するアドレスは、制御部１１が起動時に実行するプログラムを保持する領域とする。
【００２９】
次にシステム起動処理部３４は、制御部１１に対してリセット信号を出力して、制御部１１を起動する。
【００３０】
制御部１１は、ＢＩＯＳの処理を開始する。例えばＢＩＯＳに外部記録媒体ドライブ１５のデバイスドライバのプログラムが含まれていれば、制御部１１がＢＩＯＳの処理を開始したことにより、外部記録媒体ドライブ１５からのプログラムの読み出しが可能となる。
【００３１】
システム起動処理部３４は、記憶部１２のＲＯＭ１２ｂからローダのプログラムを読み出す。このローダのプログラムもまた、図３に示すデータ構造を有している。システム起動処理部３４は、このローダのプログラムを処理対象のプログラムとして署名検証部３２に出力する。ここで署名検証部３２が出力する確認の結果、演算ハッシュ値と署名ハッシュ値とが一致していない（認証に失敗した）場合、処理を中断する。この場合、情報処理装置１はＢＩＯＳのプログラムは実行可能な状態であるが、プログラムを読み出すためのプログラムが実行されないこととなり、実質的に起動しないこととなる。
【００３２】
一方、演算ハッシュ値と署名ハッシュ値とが一致していれば（認証に成功すれば）、処理対象となったローダのプログラムをプログラム復号部３３に出力する。そしてプログラム復号部３３が出力する復号後のプログラムコードを記憶部１２に格納する。そしてシステム起動処理部３４は、制御部１１に対して、当該プログラムコードの実行を開始させる（例えば割り込みベクタをローダプログラムを格納した記憶部１２の先頭アドレスに設定して、割り込み信号を出力する）。
【００３３】
これにより制御部１１は、ローダのプログラムの実行を開始する。ここでローダのプログラムが例えば、外部記録媒体ドライブ１５にセットされた外部記録媒体からプログラムを読み出すものであるとする。制御部１１は、外部記録媒体ドライブ１５にプログラムの読み出しを指示する。外部記録媒体ドライブ１５は、セットされた外部記録媒体からプログラムを読み出して実行制御モジュール１７に出力する。ここでは外部記録媒体に、オペレーティングシステム（ＯＳ）と、当該ＯＳの制御下で実行されるアプリケーションプログラムとが格納されているものとする。
【００３４】
外部記録媒体ドライブ１５は、まず、外部記録媒体のブートセクタ（起動時に読み出すべき領域）に格納されているＯＳを読み出して、実行制御モジュール１７に出力する。ここで読み出されたＯＳのプログラムもまた、図３に示すデータ構造を有している。プログラム起動処理部３５は、このＯＳのプログラムを処理対象のプログラムとして署名検証部３２に出力する。ここで署名検証部３２が出力する確認の結果、演算ハッシュ値と署名ハッシュ値とが一致していない（認証に失敗した）場合、処理を中断し、ＯＳの起動が行われない。
【００３５】
一方、演算ハッシュ値と署名ハッシュ値とが一致していれば（認証に成功すれば）、処理対象となったＯＳのプログラムをプログラム復号部３３に出力する。そしてプログラム復号部３３が出力する復号後のプログラムコードを記憶部１２に格納する。そしてプログラム起動処理部３５は、制御部１１に対して、当該プログラムコードの実行を開始させる（例えば割り込みベクタをＯＳのプログラムを格納した記憶部１２の先頭アドレスに設定して、割り込み信号を出力する）。これにより、制御部１１がＯＳとしての処理を開始する。
【００３６】
またＯＳは、コマンドプログラムとしてシェルプログラム（アプリケーションプログラムを起動するためのランチャー）を実行するが、このコマンドプログラムもまた、図３に示す構造を備えて実行制御モジュール１７により認証され、認証に成功したときにコード部分の復号が行われて制御部１１の実行に供されることになる。
【００３７】
さらにこのシェルプログラムに対するユーザの操作により、アプリケーションプログラムの起動が指示されると、制御部１１は、外部記録媒体ドライブ１５にアプリケーションプログラムの読み出しを指示する。外部記録媒体ドライブ１５は、外部記録媒体に格納されているアプリケーションプログラムを読み出して、実行制御モジュール１７に出力する。
【００３８】
ここで読み出されたアプリケーションのプログラムもまた、図３に示すデータ構造を有している。プログラム起動処理部３５は、このアプリケーションのプログラムを処理対象のプログラムとして署名検証部３２に出力する。ここで署名検証部３２が出力する確認の結果、演算ハッシュ値と署名ハッシュ値とが一致していない（認証に失敗した）場合、処理を中断し、アプリケーションの起動は行われない。
【００３９】
一方、演算ハッシュ値と署名ハッシュ値とが一致していれば（認証に成功すれば）、処理対象となったアプリケーションのプログラムをプログラム復号部３３に出力する。そしてプログラム復号部３３が出力する復号後のプログラムコードを記憶部１２に格納する。そしてプログラム起動処理部３５は、制御部１１に対して、当該プログラムコードの実行を開始させる（例えば割り込みベクタをアプリケーションプログラムを格納した記憶部１２の先頭アドレスに設定して、割り込み信号を出力する）。これにより、制御部１１がアプリケーションプログラムに従って処理を開始する。
【００４０】
このように本実施の形態によると、プログラム実行モジュールである制御部１１による実行の対象となった対象プログラムを認証し、認証に成功するまでは、制御部１１に対象プログラムの実行を行わせないよう制御される。
【００４１】
なお、ここで制御部１１と、実行制御モジュール１７との間で送受されるデータ（実行するべきプログラムの先頭アドレス等の情報）は、暗号化されてもよい。この場合、制御部１１は、当該データを暗号化し、また復号する暗復号器を備えて、暗号化されているデータを復号し、割り込みベクタの設定などを行う。また実行制御モジュール１７も暗復号器を備えて、制御部１１に対して出力するデータを暗号化して出力する。
【００４２】
なお、ここまでの説明において、（１）ＢＩＯＳ等の起動時実行プログラム、（２）ローダなどのシステムをロードするプログラム、（３）ＯＳ（Operating System）などのシステム（基本プログラム）、（４）ゲームや、ワードプロセッサ等のアプリケーションプログラムなどの複数の種別ごとに、コード部分の暗号化に用いる暗号鍵を異ならせてもよい。この場合は、実行制御モジュール１７の記憶部１２には、各プログラムの種別ごとの復号鍵を格納しておく。
【００４３】
そして、プログラム復号部３３は、処理の対象となったプログラムの種別を判別し、当該判別の結果に対応する復号鍵を記憶部１２から読み出す。そして当該読み出した復号鍵を利用してコード部分の復号を行う。なお、種別の判別は、プログラムのヘッダ情報に種別を特定する情報を含めておき、当該情報を参照して行うこととすればよい。
【００４４】
また本実施の形態においては、実行制御モジュール１７が、実行の対象となる各プログラムについて、バージョンごとの実行を許否を表す許否情報を取得し、対象プログラムのバージョンが、許否情報により実行可能とされている場合に、対象プログラムの認証及び復号等を行って制御部１１による実行を許可してもよい。
【００４５】
この場合、許否情報は、記憶部１２のＲＯＭ１２ｂに格納しておけばよい。この許否情報は、例えば図５に示すように、プログラムごとに、バージョンの情報と、各バージョンについての起動を許可するか否かを表すフラグとを関連づけたものである。
【００４６】
実行制御モジュール１７は、外部記録媒体ドライブ１５から実行の対象として読み出されたプログラムの入力を受けたときに、記憶部１２から許否情報を読み出す。そして、入力されたプログラムのバージョンを、例えば当該プログラムのヘッダ情報から検出する。そして当該プログラムに係る許否情報を参照して、検出したバージョンの実行が許可されているか否かを調べる。ここで、実行が許可されていなければ、処理を中断する。また許可されていれば、認証の処理を行う。このようにすると、バージョンごとに個別のアクセス制御が可能となる。
【００４７】
本実施の形態によれば、プログラムの実行主体である制御部１１によって実行されるすべてのプログラムを検証させることができる。ここですべてのプログラムとは、相互認証のためのプログラムや、ＢＩＯＳ等の基本プログラムを含む。さらに本実施の形態では、これらの基本プログラムを認証する際に、制御部１１が現に起動していなくてもよい。例えば相互認証後に一度制御部１１の動作を停止（クロックの入力や、電源の供給を停止）してもよい。
【００４８】
また、事前にプログラムに関するハッシュ値などを保持しておく必要がないので、製造後に開発されるプログラムについての認証をも行い得る。さらに、実行制御モジュール１７における認証用の認証鍵は公開鍵であるので、仮に実行制御モジュール１７内のデータが不正に読み出された場合にもこの実行制御モジュール１７の認証に耐えるプログラムを製造することは事実上不可能となっている。なお、実行制御モジュール１７は、いわゆる耐タンパ性を備えたハードウエアパッケージに納めておいてもよい。耐タンパ性を備えたハードウエアパッケージを製造する方法は、開封により記憶内容が消去されるものなど、広く知られている種々の方法を採用できるので、ここでの詳細な説明を省略する。
【００４９】
さらにここまでの説明では、制御部１１と実行制御モジュール１７とは、互いに異なるパッケージに内包され、相互にバス等を介して接続されているものとして説明した（このために相互認証や授受するデータが暗号化される）が、制御部１１と実行制御モジュール１７とを同一のパッケージに収納してもよい。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施の形態に係る情報処理装置の構成例を表すブロック図である。
【図２】本発明の実施の形態に係る実行制御モジュールの例を表す構成ブロック図である。
【図３】本発明の実施の形態に係る情報処理装置によって実行されるプログラムの格納時のデータ構造例を表す説明図である。
【図４】本発明の実施の形態に係る情報処理装置の実行制御モジュールの機能ブロック図である。
【図５】本発明の実施の形態に係る情報処理装置が利用する許否情報の例を表す説明図である。
【符号の説明】
【００５１】
１  情報処理装置、１１，２１  制御部、１２，２２  記憶部、１３  インタフェース部、１４  操作部、１５  外部記録媒体ドライブ、１６  表示制御部、１７  実行制御モジュール、３１  相互認証部、３２  署名検証部、３３  プログラム復号部、３４  システム起動処理部、３５  プログラム起動処理部。
【図１】
0004537940.tif 000002
【図２】
0004537940.tif 000003
【図３】
0004537940.tif 000004
【図４】
0004537940.tif 000005
【図５】
0004537940.tif 000006