プログラムを実行する実行手段を備える情報処理装置であって、前記実行手段が実行するプログラムを格納した読み書き可能な不揮発性メモリと、プログラムに対して署名検証を行う署名検証手段と、プログラムに対して前記署名検証に比して処理負荷の小さい簡易検査を行う簡易検査手段と、該情報処理装置の起動時に前記簡易検査手段を呼び出して前記不揮発性メモリに格納されたプログラムに対する簡易検査を行わせる起動時制御手段と、該情報処理装置の起動後、外部から前記不揮発性メモリに対するプログラムの書き込みが指示されたときに起動し、前記書き込もうとするプログラムに対する署名検証を前記署名検証手段に行わせた結果、前記書き込もうとするプログラムが正当であることが確認された場合に前記不揮発性メモリに対するプログラムの書き込みを実行するプログラム書込制御手段と、を備える情報処理装置。請求項1に記載の情報処理装置であって、前記情報処理装置の起動時とは異なるタイミングで前記署名検証手段に前記不揮発性メモリに格納されたプログラムに対する署名検証を行わせる非起動時検証制御手段を備える、情報処理装置。請求項2に記載の情報処理装置であって、前記非起動時検証制御手段は、周期的に動作する手段であり、前記非起動時検証制御手段の動作タイミングをユーザにより設定可能とした、情報処理装置。請求項2に記載の情報処理装置であって、前記非起動時検証制御手段は、前記実行手段の負荷状態に応じて自動的に動作する手段である情報処理装置。請求項1ないし4のいずれか1項に記載の情報処理装置であって、前記不揮発性メモリに対するプログラムの書き込みは、前記プログラム書込制御手段の指示による書き込みのみが許可される、情報処理装置。請求項1ないし5のいずれか1項に記載の情報処理装置であって、前記起動時制御手段、及び前記簡易検査手段は、マスクROMReadOnlyMemoryに格納されたプログラムが実行されることによって動作するソフトウエア手段であり、前記署名検証手段、及び前記プログラム書込制御手段は、前記不揮発性メモリに格納されたプログラムが実行されることによって動作するソフトウエア手段である、情報処理装置。請求項6に記載の情報処理装置であって、前記署名検証手段が用いる署名鍵は、前記マスクROMに格納される、情報処理装置。通信可能に接続された第1のプロセッサと第2のプロセッサを備える請求項1ないし7のいずれか1項に記載の情報処理装置であって、前記不揮発性メモリは第1のプロセッサに搭載され、前記署名検証手段、前記プログラム書込制御手段は前記第1のプロセッサ上で動作し、前記実行手段は前記第2のプロセッサに搭載され、前記第1のプロセッサに搭載された不揮発性メモリに格納されたプログラムを実行することを特徴とする、情報処理装置。実行手段が実行するプログラムを格納した読み書き可能な不揮発性メモリを備える情報処理装置のプログラム検証方法であって、該情報処理装置の起動時に、前記不揮発性メモリに格納されたプログラムに対する署名検証に比して処理負荷の小さい簡易検査を行う処理と、該情報処理装置の起動後、外部から前記不揮発性メモリに対するプログラムの書き込みが指示されたときに、該書き込もうとするプログラムに対する署名検証を行い、前記書き込もうとするプログラムが正当であることが確認された場合に前記不揮発性メモリに対するプログラムの書き込みを実行する処理と、を前記情報処理装置が実行する、情報処理装置のプログラム検証方法。しかしながら、ディジタル署名を利用した署名検証は、情報処理装置の性能によっては処理時間が長くなる場合があり、起動時間が長くなるという不都合が生じる場合があった。この点、特許文献1に記載の情報処理装置では、署名検証を分割処理しているため、起動時間の短縮に一定の効果を奏することができる。但し、起動後に多くのプログラムを実行しようとすると、結局全てのプログラムについて署名検証が終了するのを待つ必要がある。本発明は、一側面では、プログラムの正当性に対する信頼性を維持しつつ、起動時間の短縮を実現することが可能な情報処理装置等を提供することを目的とする。上記目的を達成するための本発明の一態様は、プログラムを実行する実行手段を備える情報処理装置であって、前記実行手段が実行するプログラムを格納した読み書き可能な不揮発性メモリと、プログラムに対して署名検証を行う署名検証手段と、プログラムに対して前記署名検証に比して処理負荷の小さい簡易検査を行う簡易検査手段と、該情報処理装置の起動時に前記簡易検査手段を呼び出して前記不揮発性メモリに格納されたプログラムに対する簡易検査を行わせる起動時制御手段と、該情報処理装置の起動後、外部から前記不揮発性メモリに対するプログラムの書き込みが指示されたときに起動し、前記署名検証手段に前記書き込もうとするプログラムに対する署名検証を行わせた結果、前記書き込もうとするプログラムが正当であることが確認された場合に前記不揮発性メモリに対するプログラムの書き込みを実行するプログラム書込制御手段と、を備える情報処理装置である。本発明の一側面によれば、プログラムの正当性に対する信頼性を維持しつつ、起動時間の短縮を実現することが可能な情報処理装置等を提供することができる。以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。<第1実施例>[構成]以下、図面を参照し、本発明の第1実施例に係る情報処理装置、及びそのプログラム検証方法について説明する。図1は、本発明の第1実施例に係る情報処理装置1のハードウエア構成例である。情報処理装置1は、主要な構成として、CPUCentralProcessingUnit10と、マスクROMReadOnlyMemory20と、不揮発性メモリ30と、RAMRandomAccessMemory40と、入出力インターフェース50と、タイマ60と、を備える。なお、情報処理装置1は、これらの構成要素の他、DMADirectMemoryAccessコントローラ等のハードウエアを備えてもよい。CPU10は、例えば、プログラムカウンタや命令デコーダ、各種演算器、LSULoadStoreUnit、汎用レジスタ、キャッシュメモリ等を有する。マスクROM20は、書き込み不能なROMである。マスクROM20には、BIOSBasicInputOutputSystem等を含む起動制御モジュール20A、簡易検査モジュール20B、署名鍵20C等のプログラムやデータが格納される。以下、本実施例においてモジュールは、プログラム又はソフトウエアと同義のものとする。不揮発性メモリ30は、例えばフラッシュメモリ、EEPROMElectricallyErasableandProgrammableReadOnlyMemory、HDDHardDiskDrive等である。不揮発性メモリ30には、非起動時検証制御モジュール30A、署名検証モジュール30B、時刻管理モジュール30C、ログ記録モジュール30D、プログラム書込制御モジュール30E、不揮発性メモリ書込モジュール30F、その他、オペレーティングシステムや各種アプリケーションプログラム等、並びにデータが格納される。RAM40は、CPU10により使用されるワーキングメモリとして機能する。入出力インターフェース50は、LANLocalAreaNetworkやインターネット等のネットワーク、或いはSDカードやUSBメモリ等の可搬型メモリ、CD、DVD等の媒体が装着されるスロットやドライブ装置等、或いはマウスやキーボード、ボタン、表示装置等の入出力装置との間で情報の入出力を行う。図2は、本発明の第1実施例に係る情報処理装置1のソフトウエア間の関係を模式的に示す図である。図示するように、情報処理装置1の起動時電源投入時、再起動時等には、起動制御モジュール20Aが簡易検査モジュール20Bを呼び出して動作させる。起動制御モジュール20Aは、情報処理装置1の起動処理全般を制御するプログラムである。簡易検査モジュール20Bは、不揮発性メモリ30に格納されたプログラム、及び必要に応じてデータに対して、パリティチェック等の簡易な検査を行う。これにより、プログラムに改竄や破損等が生じているか否かを検査することができる。図3は、パリティチェックの対象となるプログラムのデータ構造を示す図である。パリティデータは、プログラムの作成時又は更新時に付与される。[起動時の処理]図4は、情報処理装置1の起動時における処理の流れを示すシーケンス図である。まず、ユーザが電源スイッチを押す等して起動指示がなされるとS100、起動制御モジュール20Aは、不揮発性メモリ30に格納されたプログラム等をRAM40に展開すると共に簡易検査モジュール20Bを呼び出し、不揮発性メモリ30に格納されたプログラム等に対する簡易検査を行うように指示するS102。簡易検査モジュール20Bによる簡易検査の結果、不揮発性メモリ30に格納されたプログラム等が正常である旨の応答が簡易検査モジュール20Bから起動制御モジュール20Aに返信されるとS104、起動制御モジュール20Aは既にRAM40に展開しているプログラムを起動させるS106。[非起動時の署名検証]一方、情報処理装置1の起動後には、非起動時検証制御モジュール30Aが所定のタイミングで起動し、署名検証モジュール30Bを呼び出して動作させる非起動時の署名検証。非起動時検証制御モジュール30Aの動作タイミングは、ユーザにより設定される周期的なタイミングであってもよいし、CPU10の処理負荷例えばCPU使用率に応じて自動的に動作するものとしてもよい。後者の場合、例えばCPU使用率が所定値未満の状態が数分間程度継続したときに、非起動時の署名検証を開始する等と定めることができる。ユーザにより非起動時検証制御モジュール30Aの動作タイミングが設定される場合、例えば不揮発性メモリ30上に格納される非起動時検証設定情報30Gを参照して非起動時検証制御モジュール30Aが動作する。図5は、非起動時検証設定情報30Gの一例である。ユーザは、入出力インターフェース50に接続された入出力装置を操作することにより、非起動時の署名検証を行う頻度や時間帯を指定することができる。図6は、非起動時に署名検証が行われる際の処理の流れを示すシーケンス図である。本図は、非起動時の署名検証が非起動時検証設定情報30Gを参照して周期的に行われることを前提としている。まず、非起動時検証制御モジュール30Aが、時刻管理モジュール30Cから時刻情報を取得しS200、非起動時検証設定情報30Gを参照するS202。非起動時の署名検証を実行する時刻になると、非起動時検証制御モジュール30Aは、不揮発性メモリ30に格納されたプログラム等に対する署名検証を行うように、署名検証モジュール30Bに指示するS204。署名検証モジュール30Bによる署名検証は、例えば不揮発性メモリ30上で行われる。これによって、格納アドレスの確認等が可能となるからである。なお、署名検証モジュール30Bは、署名検証モジュール30B自身についての署名検証も行う。非起動時の署名検証が終了すると、非起動時検証制御モジュール30Aは、非起動時検証結果30Hを不揮発性メモリ30に格納するように、ログ記録モジュール30Dに指示するS206。図7は、非起動時検証結果30Hの一例である。非起動時に署名検証が行われる対象となるプログラムのデータ構造については、図3と同様である。ここでは、後述する不揮発性メモリ30への書き込み完了している状態であるため、パリティデータは既に付与されている。[プログラムの書き込み指示がなされたとき]また、情報処理装置1の起動後において、外部から不揮発性メモリ30へのプログラム書込指示がなされたときには、プログラム書込制御モジュール30Eが起動し、当該書き込もうとするプログラムに対する署名検証を署名検証モジュール30Bに行わせ、プログラムが正当であることが確認されると、不揮発性メモリ書込モジュール30Fに当該プログラムを不揮発性メモリ30に書き込ませる。外部からのプログラム書込指示は、入出力インターフェース50を介した書き込み指示全般を指し、SDカードやUSBメモリ、CD、DVD等の装着による指示の場合や、ネットワークを介して外部のコンピュータ等から指示される場合等があり得る。プログラム書込指示とは、新たなプログラムを書き込む指示と、既に不揮発性メモリ30に格納されているプログラムを更新アップデート等する指示との双方を含む。外部からのプログラム書込指示は、典型的には、入出力インターフェース50に入力されたプログラムのヘッダ部分等に書込指示が記述されているのを、オペレーティングシステム等が認識することによって受理される。書き込み指示がなされたときの署名検証は、入出力インターフェース50に入力されたプログラムを一度RAM40に展開してから行ってもよいし、SDカードやUSBメモリ、CD、DVD等の装着による指示の場合は、これらの媒体上で行ってもよい。本実施例において、不揮発性メモリ30へのプログラム書き込みは、プログラム書込制御モジュール30Eの指示、認証がなければ許可されないように、オペレーティングシステム等が管理している。図8は、外部から不揮発性メモリ30へのプログラム書込指示がなされた際の処理の流れを示すシーケンス図である。まず、例えばユーザが、書き込むプログラムを格納したSDカードやUSBメモリをスロット等に装着すると、入出力インターフェース50がヘッダ部分の書込指示を読み取ってオペレーティングシステムに出力する。これによって起動指示がプログラム書込制御モジュール30Eに送信されS300、プログラム書込制御モジュール30Eが起動する。プログラム書込制御モジュール30Eは、プログラムの署名検証指示を署名検証モジュール30Bに送信するS302。図9は、署名検証の対象となるプログラムのデータ構造を示す図である。パリティデータは、プログラム書込制御時の署名検証が完了すると、署名検証モジュール30Bによって付与される。署名検証モジュール30Bが正当性を確認すると、その旨がプログラム書込制御モジュール30Eに送信されるS304。プログラム書込制御モジュール30Eは、署名検証が完了したプログラムを不揮発性メモリ30に書き込むように不揮発性メモリ書込モジュール30Fに指示するS306。この際に、不揮発性メモリ書込モジュール30Fは、自己の処理として書き込みを行ってもよいし、DMAコントローラ等に指示して書き込みを行わせてもよい。以上説明した本実施例の情報処理装置、及びそのプログラム検証方法によれば、不揮発性メモリ30に格納された、或いは書き込もうとしているプログラムの正当性検証を、起動時、非起動時、及び書込指示がなされたときに分散させ、起動時には簡易なパリティチェックのみを行うように制御している。また、不揮発性メモリ30へのプログラム書き込みは、プログラム書込制御モジュール30Eの指示、認証がなければ許可されないように制御される。この結果、プログラムの正当性に対する信頼性を維持しつつ、起動時間の短縮を実現することができる。また、非起動時検証制御モジュール30Aの動作タイミングを、ユーザにより設定される周期的なタイミングとすることにより、ユーザが余り情報処理装置1を使用しない時間帯で署名検証を行うことができる。この結果、署名検証による処理遅延によってユーザが煩わしさを感じるのを抑制することができる。また、非起動時検証制御モジュール30Aの動作タイミングを、CPU10の処理負荷に応じて自動的に動作するものとすることにより、ユーザが情報処理装置1を使用していない期間、或いは処理負荷が低い状態で使用している期間で署名検証を行うことができる。この結果、署名検証による処理遅延によってユーザが煩わしさを感じるのを抑制することができる。<第2実施例>以下、図面を参照し、本発明の第2実施例に係る情報処理装置、及びそのプログラム検証方法について説明する。図10は、本発明の第2実施例に係る情報処理装置1のハードウエア構成例である。情報処理装置2は、互いに通信可能なプロセッサ100と、プロセッサ200と、を備える。プロセッサ間の通信は、例えばUSBUniversalSerialBusやPCI等の通信方式に従って行われる。以下、各構成要素の基本的な機能例えばマスクROMが書き込み不能なROMであること等については第1実施例を参照することとし、詳細な説明を省略する。プロセッサ100は、主要な構成として、CPU110と、マスクROM120と、不揮発性メモリ130と、RAM140と、入出力インターフェース150と、タイマ160と、プロセッサ間通信装置170と、を備える。プロセッサ200は、主要な構成として、CPU210と、マスクROM220と、不揮発性メモリ230と、RAM240と、入出力インターフェース250と、タイマ260と、プロセッサ間通信装置270と、を備える。マスクROM120には、起動制御モジュール120A、簡易検査モジュール120B、署名鍵120C等のプログラムやデータが格納される。以下、本実施例においてモジュールは、プログラム又はソフトウエアと同義のものとする。不揮発性メモリ130には、非起動時検証制御モジュール130A、署名検証モジュール130B、時刻管理モジュール130C、ログ記録モジュール130D、プログラム書込制御モジュール130E、不揮発性メモリ書込モジュール130F、その他、オペレーティングシステムや各種アプリケーションプログラム等、並びにデータが格納される。RAM140は、CPU110により使用されるワーキングメモリとして機能する。入出力インターフェース150は、LANLocalAreaNetworkやインターネット等のネットワーク、或いは表示装置等の入出力装置との間で情報の入出力を行う。プロセッサ200のCPU210は、主に不揮発性メモリ130に格納されたプログラムを実行する。従って、プロセッサ200の不揮発性メモリ230は、プロセッサ200の処理ログを格納するため等に用いられる。また、本実施例の情報処理装置2では、プロセッサ200は制御対象機器を制御するメインプロセッサとして機能し、プロセッサ100は簡易検査、署名検証を行うと共に、外部ネットワークとの送受信を行うサブプロセッサとして機能する。[起動時の処理]第1実施例と同様、情報処理装置2の起動電源投入時、再起動時等には、起動制御モジュール120Aが簡易検査モジュール120Bを呼び出して動作させる。簡易検査モジュール20Bは、不揮発性メモリ130に格納されたプログラム、及び必要に応じてデータに対して、パリティチェック等の簡易な検査を行う。これにより、プログラムに改竄や破損等が生じているか否かを検査することができる。第1実施例と同様、簡易検査は、例えば不揮発性メモリ130に格納されたプログラム等がRAM140に展開された上で実行される。起動時の処理について、ソフトウエア間の関係、シーケンス等については、第1実施例の説明を援用し、詳細な説明を省略する。[非起動時の署名検証]第1実施例と同様、情報処理装置2の起動後には、非起動時検証制御モジュール130Aが所定のタイミングで起動し、署名検証モジュール130Bを呼び出して動作させる非起動時の署名検証。非起動時検証制御モジュール130Aの動作タイミングは、ユーザにより設定される周期的なタイミングであってもよいし、CPU110の処理負荷例えばCPU使用率に応じて自動的に動作するものとしてもよい。後者の場合、例えばCPU使用率が所定値未満の状態が数分間程度継続したときに、非起動時の署名検証を開始する等と定めることができる。非起動時の署名検証について、ソフトウエア間の関係、シーケンス等については、第1実施例の説明を援用し、詳細な説明を省略する。[プログラムの書き込み指示がなされたとき]また、情報処理装置2の起動後において、外部から不揮発性メモリ130へのプログラム書込指示がなされたときには、プログラム書込制御モジュール130Eが起動し、当該書き込もうとするプログラムに対する署名検証を署名検証モジュール130Bに行わせ、プログラムが正当であることが確認されると、不揮発性メモリ書込モジュール130Fに当該プログラムを不揮発性メモリ130に書き込ませる。プログラム書込指示は、プロセッサ100が受け付ける場合と、プロセッサ200が受け付けてプロセッサ100に転送する場合があり得る。いずれの場合も、不揮発性メモリ130へのプログラム書き込みは、プログラム書込制御モジュール130Eの指示、認証がなければ許可されないように、プロセッサ100のオペレーティングシステム等が管理している。図11は、外部から不揮発性メモリ130へのプログラム書込指示がなされた際の処理の流れを示すシーケンス図である。本図は、プロセッサ200がプログラム書込指示を受け付けた場面を表す。まず、ユーザが、書き込むプログラムを格納したSDカードやUSBメモリをプロセッサ200が管理するスロット等に装着すると、入出力インターフェース250がヘッダ部分の書込指示を読み取ってプロセッサ200のオペレーティングシステムに出力する。これによってプログラム書込指示がプロセッサ200からプロセッサ100に送信されS400、プロセッサ100のオペレーティングシステムから起動指示がプログラム書込制御モジュール130Eに送信されS402、プログラム書込制御モジュール130Eが起動する。プログラム書込制御モジュール130Eは、プログラムの署名検証指示を署名検証モジュール130Bに送信するS404。署名検証モジュール130Bが正当性を確認すると、その旨がプログラム書込制御モジュール130Eに送信されるS406。プログラム書込制御モジュール130Eは、署名検証が完了したプログラムを不揮発性メモリ30に書き込むように不揮発性メモリ書込モジュール130Fに指示するS408。この際に、不揮発性メモリ書込モジュール130Fは、自己の処理として書き込みを行ってもよいし、DMAコントローラ等に指示して書き込みを行わせてもよい。以上説明した本実施例の情報処理装置、及びそのプログラム検証方法によれば、プロセッサ200が実行するプログラムを格納する不揮発性メモリ130に格納された、或いは書き込もうとしているプログラムの正当性検証を、起動時、非起動時、及び書込指示がなされたときに分散させ、起動時には簡易なパリティチェックのみを行うように制御している。また、不揮発性メモリ130へのプログラム書き込みは、プログラム書込制御モジュール130Eの指示、認証がなければ許可されないように制御される。この結果、プログラムの正当性に対する信頼性を維持しつつ、起動時間の短縮を実現することができる。また、非起動時検証制御モジュール130Aの動作タイミングを、ユーザにより設定される周期的なタイミングとすることにより、ユーザが余り情報処理装置2を使用しない時間帯で署名検証を行うことができる。この結果、署名検証による処理遅延によってユーザが煩わしさを感じるのを抑制することができる。また、非起動時検証制御モジュール130Aの動作タイミングを、CPU110の処理負荷に応じて自動的に動作するものとすることにより、ユーザが情報処理装置2を使用していない期間、或いは処理負荷が低い状態で使用している期間で署名検証を行うことができる。この結果、署名検証による処理遅延によってユーザが煩わしさを感じるのを抑制することができる。また、プロセッサ200は制御対象機器を制御するメインプロセッサとして機能し、プロセッサ100は簡易検査、署名検証を行うと共に、外部ネットワークとの送受信を行うサブプロセッサとして機能するため、署名検証を行う処理負荷によって、本来行うべき制御対象機器の制御が妨げられるという不都合が生じない。このため、プロセッサ200による迅速な処理を実現することができる。以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。