(57)【要約】【課題】挿抜可能なプログラム追加用記録媒体に記録されたプログラムの安全性を確保しつつ、プログラム追加用記録媒体からプログラム起動用記録媒体にプログラムを追加できる情報処理装置，画像形成装置，プログラム追加方法を提供することを目的とする。【解決手段】プログラム追加用記録媒体１４０を作成するサーバ１５０と、プログラム追加用記録媒体１４０を用いてプログラム起動用記録媒体１４１にプログラムを追加する情報処理装置３１とを有するシステムのプログラム追加方法であって、サーバ１５０でプログラム起動用記録媒体１４１の識別情報を用いて所定ファイルの電子署名ファイルを作成し、所定ファイルおよび電子署名ファイルをプログラム追加用記録媒体１４０に書き込んで、情報処理装置３１での認証チェックに利用することにより、上記課題を解決する。【選択図】          図６
2004287840.tif 000002
【特許請求の範囲】
【請求項１】
複数の記録媒体を挿抜可能なスロットを有し、前記スロットの１つに挿入されたプログラム追加用記録媒体を用いて前記スロットの他の１つに挿入されているプログラム起動用記録媒体にプログラムを追加する情報処理装置であって、
前記スロットへのプログラム追加用記録媒体の挿入を判定する判定手段と、
前記スロットへのプログラム追加用記録媒体の挿入があったと判定すると、プログラム起動用記録媒体の識別情報を取得してプログラム追加用記録媒体に書き込む書込手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記スロットに対する記録媒体の挿抜を監視する監視手段と、
前記スロットに挿入された記録媒体がプログラム追加用記録媒体であるかを判定するための認証チェックを行う認証チェック手段と
を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記認証チェック手段は、設定ファイルと、設定ファイルおよびプログラム追加用記録媒体の識別情報から作成された第１の電子署名ファイルと、前記書込手段を起動させるためのプログラムと、そのプログラムおよび前記情報処理装置の識別情報から作成された第２の電子署名ファイルとをプログラム追加用記録媒体から読み出し、設定ファイルおよび前記書込手段を起動させるためのプログラムの認証チェックを行うことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記書込手段は、前記スロットへのプログラム追加用記録媒体の挿入があったと判定されたとき、前記判定手段からの指示によりプログラム追加用記録媒体から読み出されて起動されることを特徴とする請求項１記載の情報処理装置。
【請求項５】
複数の記録媒体を挿抜可能なスロットを有し、前記スロットの１つに挿入されたプログラム追加用記録媒体を用いて前記スロットの他の１つに挿入されているプログラム起動用記録媒体にプログラムを追加する情報処理装置であって、
前記スロットへのプログラム追加用記録媒体の挿入を判定する判定手段と、
前記スロットへのプログラム追加用記録媒体の挿入があったと判定すると、プログラム追加用記録媒体からファイルを読み出し、そのファイルの認証チェックの結果に応じて、プログラム追加用記録媒体から読み出したファイルをプログラム起動用記録媒体に追加する追加手段と
を有することを特徴とする情報処理装置。
【請求項６】
前記追加手段は、設定ファイルと、設定ファイルおよびプログラム起動用記録媒体の識別情報から作成された第１の電子署名ファイルと、プログラム起動用記録媒体に追加するプログラムと、そのプログラムおよび前記情報処理装置の識別情報から作成された第２の電子署名ファイルとをプログラム追加用記録媒体から読み出し、設定ファイルおよびプログラム起動用記録媒体に追加するプログラムの認証チェックを行うことを特徴とする請求項４記載の情報処理装置。
【請求項７】
プログラム追加用記録媒体およびプログラム起動用記録媒体は、活線挿抜可能であることを特徴とする請求項１乃至６何れか一項記載の情報処理装置。
【請求項８】
複数の記録媒体を挿抜可能なスロットを有し、前記スロットの１つに挿入されたプログラム追加用記録媒体を用いて前記スロットの他の１つに挿入されているプログラム起動用記録媒体にプログラムを追加する画像形成装置であって、
前記スロットへのプログラム追加用記録媒体の挿入を判定する判定手段と、
前記スロットへのプログラム追加用記録媒体の挿入があったと判定すると、プログラム起動用記録媒体の識別情報を取得してプログラム追加用記録媒体に書き込む書込手段と
を有することを特徴とする画像形成装置。
【請求項９】
前記判定手段は、前記スロットに対する記録媒体の挿抜を監視する監視手段と、
前記スロットに挿入された記録媒体がプログラム追加用記録媒体であるかを判定するための認証チェックを行う認証チェック手段と
を有することを特徴とする請求項８記載の画像形成装置。
【請求項１０】
前記認証チェック手段は、設定ファイルと、設定ファイルおよびプログラム追加用記録媒体の識別情報から作成された第１の電子署名ファイルと、前記書込手段を起動させるためのプログラムと、そのプログラムおよび前記画像形成装置の識別情報から作成された第２の電子署名ファイルとをプログラム追加用記録媒体から読み出し、設定ファイルおよび前記書込手段を起動させるためのプログラムの認証チェックを行うことを特徴とする請求項９記載の画像形成装置。
【請求項１１】
前記書込手段は、前記スロットへのプログラム追加用記録媒体の挿入があったと判定されたとき、前記判定手段からの指示によりプログラム追加用記録媒体から読み出されて起動されることを特徴とする請求項８記載の画像形成装置。
【請求項１２】
複数の記録媒体を挿抜可能なスロットを有し、前記スロットの１つに挿入されたプログラム追加用記録媒体を用いて前記スロットの他の１つに挿入されているプログラム起動用記録媒体にプログラムを追加する画像形成装置であって、
前記スロットへのプログラム追加用記録媒体の挿入を判定する判定手段と、
前記スロットへのプログラム追加用記録媒体の挿入があったと判定すると、プログラム追加用記録媒体からファイルを読み出し、そのファイルの認証チェックの結果に応じて、プログラム追加用記録媒体から読み出したファイルをプログラム起動用記録媒体に追加する追加手段と
を有することを特徴とする画像形成装置。
【請求項１３】
前記追加手段は、設定ファイルと、設定ファイルおよびプログラム起動用記録媒体の識別情報から作成された第１の電子署名ファイルと、プログラム起動用記録媒体に追加するプログラムと、そのプログラムおよび前記画像形成装置の識別情報から作成された第２の電子署名ファイルとをプログラム追加用記録媒体から読み出し、設定ファイルおよびプログラム起動用記録媒体に追加するプログラムの認証チェックを行うことを特徴とする請求項１２記載の画像形成装置。
【請求項１４】
プログラム追加用記録媒体およびプログラム起動用記録媒体は、活線挿抜可能であることを特徴とする請求項８乃至１３何れか一項記載の画像形成装置。
【請求項１５】
プログラム追加用記録媒体を作成するサーバと、プログラム追加用記録媒体を用いてプログラム起動用記録媒体にプログラムを追加する情報処理装置とを有するシステムのプログラム追加方法であって、
前記情報処理装置が、プログラム起動用記録媒体の識別情報をプログラム追加用記録媒体に書き込む識別情報書込段階と、
前記サーバが、プログラム追加用記録媒体からプログラム起動用記録媒体の識別情報を読み出し、その識別情報を用いて所定ファイルの電子署名ファイルを作成して、所定ファイルおよび電子署名ファイルをプログラム追加用記録媒体に書き込むファイル書込段階と、
前記情報処理装置が、プログラム追加用記録媒体から所定ファイルおよび電子署名ファイルを読み出し、電子署名ファイルを用いた所定ファイルの認証チェックの結果に応じて、プログラム追加用記録媒体から読み出した所定ファイルおよび電子署名ファイルをプログラム起動用記録媒体に追加するプログラム追加段階と
を有することを特徴とするプログラム追加方法。
【請求項１６】
前記ファイル書込段階は、前記サーバが、プログラム追加用記録媒体からプログラム起動用記録媒体の識別情報を読み出す段階と、
前記サーバが、前記情報処理装置の機種情報およびプログラム起動用記録媒体に追加するプログラムの識別情報を取得し、その情報処理装置の機種情報およびプログラムの識別情報に応じた所定ファイルを選択する段階と、
前記サーバが、プログラム起動用記録媒体の識別情報を用いて所定ファイルの電子署名ファイルを作成し、所定ファイルおよび電子署名ファイルをプログラム追加用記録媒体に書き込む段階と
を有することを特徴とする請求項１５記載のプログラム追加方法。
【請求項１７】
前記ファイル書込段階により所定ファイルおよび電子署名ファイルを書き込まれたあとのプログラム追加用記録媒体は、設定ファイルと、設定ファイルおよびプログラム起動用記録媒体の識別情報から作成された第１の電子署名ファイルと、プログラム起動用記録媒体に追加するプログラムと、そのプログラムおよび前記情報処理装置の識別情報から作成された第２の電子署名ファイルとを有することを特徴とする請求項１５又は１６記載のプログラム追加方法。
【請求項１８】
前記プログラム追加段階は、設定ファイルと、設定ファイルおよびプログラム起動用記録媒体の識別情報から作成された第１の電子署名ファイルと、プログラム起動用記録媒体に追加するプログラムと、そのプログラムおよび前記情報処理装置の識別情報から作成された第２の電子署名ファイルとをプログラム追加用記録媒体から読み出し、設定ファイルおよびプログラム起動用記録媒体に追加するプログラムの認証チェックを行い、認証チェックの結果が正常であれば、プログラム追加用記録媒体から読み出した設定ファイル，第１の電子署名ファイル，プログラムおよび第２の電子署名ファイルをプログラム起動用記録媒体に追加することを特徴とする請求項１５記載のプログラム追加方法。
【請求項１９】
プログラム追加用記録媒体を作成するサーバと、プログラム追加用記録媒体を用いてプログラム起動用記録媒体にプログラムを追加する画像形成装置とを有するシステムのプログラム追加方法であって、
前記画像形成装置が、プログラム起動用記録媒体の識別情報をプログラム追加用記録媒体に書き込む識別情報書込段階と、
前記サーバが、プログラム追加用記録媒体からプログラム起動用記録媒体の識別情報を読み出し、その識別情報を用いて所定ファイルの電子署名ファイルを作成して、所定ファイルおよび電子署名ファイルをプログラム追加用記録媒体に書き込むファイル書込段階と、
前記画像形成装置が、プログラム追加用記録媒体から所定ファイルおよび電子署名ファイルを読み出し、電子署名ファイルを用いた所定ファイルの認証チェックの結果に応じて、プログラム追加用記録媒体から読み出した所定ファイルおよび電子署名ファイルをプログラム起動用記録媒体に追加するプログラム追加段階と
を有することを特徴とするプログラム追加方法。
【請求項２０】
前記ファイル書込段階は、前記サーバが、プログラム追加用記録媒体からプログラム起動用記録媒体の識別情報を読み出す段階と、
前記サーバが、前記画像形成装置の機種情報およびプログラム起動用記録媒体に追加するプログラムの識別情報を取得し、その画像形成装置の機種情報およびプログラムの識別情報に応じた所定ファイルを選択する段階と、
前記サーバが、プログラム起動用記録媒体の識別情報を用いて所定ファイルの電子署名ファイルを作成し、所定ファイルおよび電子署名ファイルをプログラム追加用記録媒体に書き込む段階と
を有することを特徴とする請求項１９記載のプログラム追加方法。
【請求項２１】
プログラム追加用記録媒体およびプログラム起動用記録媒体は、活線挿抜可能であることを特徴とする請求項１５乃至２０何れか一項記載のプログラム追加方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置，画像形成装置，プログラム追加方法に係り、特にプログラム追加用記録媒体を用いてプログラム起動用記録媒体にプログラムを追加する情報処理装置，画像形成装置，プログラム追加方法に関する。
【０００２】
【従来の技術】
パソコン等の情報処理装置は、情報処理にそれぞれ対応する１つ以上のプログラムを実行させることで様々な情報処理を行わせるものである。また、情報処理装置の応用例としての画像形成装置（以下、融合機という）は、１つの筐体内に表示部，印刷部および撮像部などを設けると共に、プリンタ，コピー，ファクシミリおよびスキャナにそれぞれ対応する４種類のプログラムを設け、そのプログラムを切り替えることより、プリンタ，コピー，ファクシミリおよびスキャナとして動作させるものである。特許文献１には、上記のような融合機の一例が記載されている。
【０００３】
このような情報処理装置や融合機は、電源投入後に、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）およびブートローダ（Ｂｏｏｔ  Ｌｏａｄｅｒ）が起動する。ブートローダは、オペレーティングシステム（ＯＳ）およびルートファイルシステムをＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  ）上に展開してＯＳを起動する。そして、ＯＳはルートファイルシステムをマウントする。ここでマウントとは、ファイルシステムや周辺機器などをアクセス可能な状態に起動することをいう。
【０００４】
ＯＳの起動後、アプリケーション（以下、アプリという）等のプログラムを起動する起動プログラムが起動される。起動プログラムは、情報処理装置や融合機で最初に起動されるプロセスである。
【０００５】
起動プログラムは、所定の設定ファイルに従ってファイルシステムをマウントし、ハードディスク装置（ＨＤＤ）やＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード等のプログラム起動用記録媒体に記録されている情報処理装置や融合機の動作に必要なプログラムを所定の設定ファイルに従って起動している。
【０００６】
近年、ＳＤカードのように挿抜可能なプログラム追加用記録媒体を用いてプログラム起動用記録媒体に、情報処理装置や融合機のプログラムを追加したいという要求が増えている。
【０００７】
【特許文献１】
特開２００２−８４３８３号公報
【０００８】
【発明が解決しようとする課題】
しかしながら、ＳＤカードのように挿抜可能な記録媒体を用いたプログラム追加用記録媒体は、１つ以上の情報処理装置や融合機で順番に利用できるため、そのプログラムを追加する権利（ライセンス）のない情報処理装置や融合機にプログラムを追加されてしまう恐れがあった。
【０００９】
したがって、挿抜可能なプログラム追加用記録媒体から情報処理装置や融合機のプログラム起動用記録媒体にプログラムを追加する場合、プログラム追加用記録媒体に記録されたプログラムが不正に利用されないような仕組みを設け、プログラムの安全性を確保しなければならないという問題があった。
【００１０】
本発明は、上記の点に鑑みなされたもので、挿抜可能なプログラム追加用記録媒体に記録されたプログラムの安全性を確保しつつ、プログラム追加用記録媒体からプログラム起動用記録媒体にプログラムを追加できる情報処理装置，画像形成装置，プログラム追加方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
そこで、上記課題を解決するため、本発明は、複数の記録媒体を挿抜可能なスロットを有し、前記スロットの１つに挿入されたプログラム追加用記録媒体を用いて前記スロットの他の１つに挿入されているプログラム起動用記録媒体にプログラムを追加する為に、前記スロットへのプログラム追加用記録媒体の挿入を判定する判定手段と、前記スロットへのプログラム追加用記録媒体の挿入があったと判定すると、プログラム起動用記録媒体の識別情報を取得してプログラム追加用記録媒体に書き込む書込手段とを有することを特徴とする。
【００１２】
また、本発明は、複数の記録媒体を挿抜可能なスロットを有し、前記スロットの１つに挿入されたプログラム追加用記録媒体を用いて前記スロットの他の１つに挿入されているプログラム起動用記録媒体にプログラムを追加する為に、前記スロットへのプログラム追加用記録媒体の挿入を判定する判定手段と、前記スロットへのプログラム追加用記録媒体の挿入があったと判定すると、プログラム追加用記録媒体からファイルを読み出し、そのファイルの認証チェックの結果に応じて、プログラム追加用記録媒体から読み出したファイルをプログラム起動用記録媒体に追加する追加手段とを有することを特徴とする。
【００１３】
また、本発明は、プログラム追加用記録媒体を作成するサーバと、プログラム追加用記録媒体を用いてプログラム起動用記録媒体にプログラムを追加する情報処理装置とを有するシステムのプログラム追加方法であって、前記情報処理装置が、プログラム起動用記録媒体の識別情報をプログラム追加用記録媒体に書き込む識別情報書込段階と、前記サーバが、プログラム追加用記録媒体からプログラム起動用記録媒体の識別情報を読み出し、その識別情報を用いて所定ファイルの電子署名ファイルを作成して、所定ファイルおよび電子署名ファイルをプログラム追加用記録媒体に書き込むファイル書込段階と、前記情報処理装置が、プログラム追加用記録媒体から所定ファイルおよび電子署名ファイルを読み出し、電子署名ファイルを用いた所定ファイルの認証チェックの結果に応じて、プログラム追加用記録媒体から読み出した所定ファイルおよび電子署名ファイルをプログラム起動用記録媒体に追加するプログラム追加段階とを有することを特徴とする。
【００１４】
また、本発明は、プログラム追加用記録媒体を作成するサーバと、プログラム追加用記録媒体を用いてプログラム起動用記録媒体にプログラムを追加する画像形成装置とを有するシステムのプログラム追加方法であって、前記画像形成装置が、プログラム起動用記録媒体の識別情報をプログラム追加用記録媒体に書き込む識別情報書込段階と、前記サーバが、プログラム追加用記録媒体からプログラム起動用記録媒体の識別情報を読み出し、その識別情報を用いて所定ファイルの電子署名ファイルを作成して、所定ファイルおよび電子署名ファイルをプログラム追加用記録媒体に書き込むファイル書込段階と、前記画像形成装置が、プログラム追加用記録媒体から所定ファイルおよび電子署名ファイルを読み出し、電子署名ファイルを用いた所定ファイルの認証チェックの結果に応じて、プログラム追加用記録媒体から読み出した所定ファイルおよび電子署名ファイルをプログラム起動用記録媒体に追加するプログラム追加段階とを有することを特徴とする。
【００１５】
本発明によれば、プログラム起動用記録媒体にプログラムを追加するためのプログラム追加用記録媒体を、そのプログラム追加用記録媒体に対応する一のプログラム起動用記録媒体でしか利用できないように作成できるので、複数のプログラム起動用記録媒体にプログラムが不正に追加されることを防止し、挿抜可能なプログラム追加用記録媒体に記録されたプログラムの安全性を確保しつつ、プログラム追加用記録媒体からプログラム起動用記録媒体にプログラムを追加できる。
【００１６】
【発明の実施の形態】
次に、本発明の実施の形態について図面に基づいて説明する。
【００１７】
図１は、本発明による情報処理装置の一実施例の構成図である。情報処理装置１は、ソフトウェア群２と，起動部３と，ハードウェア資源４とを含むように構成される。
【００１８】
起動部３は情報処理装置１の電源投入時に最初に実行され、後述するプログラム起動部を起動する。このプログラム起動部は、情報処理装置１のソフトウェア群２を起動する。例えば起動部３のプログラム起動部は、ＳＤカードチェック部１１，プログラム追加部１２，システム制御部１３，アプリ１４−１〜１４−ｎのプログラムを補助記憶装置やＳＤカード等から読み出し、読み出した各プログラムをメモリ装置に転送して起動する。
【００１９】
ハードウェア資源４は、入力装置，表示装置，補助記憶装置，メモリ装置，インターフェース装置，ＳＤカード用スロット等のハードウェアリソースを含む。また、ソフトウェア群２は、ＵＮＩＸ（登録商標）などのＯＳ上に起動されているＳＤカードチェック部１１，プログラム追加部１２，システム制御部１３，アプリ１４−１〜１４−ｎのプログラムを含む。ＯＳは、ＳＤカードチェック部１１，プログラム追加部１２，システム制御部１３，アプリ１４−１〜１４−ｎのプログラムをプロセスとして並列制御する。
【００２０】
ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ  ）１５は、予め定義されている関数によりアプリ１４−１〜１４−ｎからの要求を受信するために利用される。エンジンＩ／Ｆ１６は、予め定義されている関数によりハードウェア資源４に対する要求を送信するために利用される。なお、ＳＤカードチェック部１１，プログラム追加部１２，システム制御部１３およびプログラム起動部の詳細は後述する。
【００２１】
次に、情報処理装置１のハードウェア構成について説明する。図２は、本発明による情報処理装置の一実施例のハードウェア構成図である。
【００２２】
図２の情報処理装置１は、それぞれバスＢで相互に接続されている入力装置２１，表示装置２２，補助記憶装置２３，メモリ装置２４，演算処理装置２５，インターフェース装置２６およびＳＤカード用スロット２７を有するように構成される。
【００２３】
入力装置２１はキーボード及びマウスなどで構成され、様々な操作指示を入力するために用いられる。表示装置２２は、操作に必要な各種ウインドウやデータ等を表示する。インターフェース装置２６は、情報処理装置１をネットワークに接続する為のインターフェースであり、モデムやルータ等で構成される。
【００２４】
ＳＤカード用スロット２７はＳＤカードを挿抜可能なものであり、ＳＤカードの挿入または抜き出しに応じた割り込みを後述するＳＤカードドライバに対して行う。補助記憶装置２３は、各種ファイルやデータ等を格納している。
【００２５】
ＳＤカード用スロット２７に挿入されたＳＤカードや補助記憶装置２３は、情報処理装置１に係る処理を行わせるＳＤカードチェック部１１，プログラム追加部１２，システム制御部１３，アプリ１４−１〜１４−ｎなどのプログラムを格納すると共に、そのプログラムの処理に必要な各種ファイルやデータ等を格納している。
【００２６】
メモリ装置２４は、情報処理装置１の起動時にＳＤカード用スロット２７に挿入されたＳＤカードや補助記憶装置２３からＳＤカードチェック部１１，プログラム追加部１２，システム制御部１３，アプリ１４−１〜１４−ｎなどのプログラムを読み出して格納する。そして、演算処理装置２５は、メモリ装置２４に格納されたＳＤカードチェック部１１，プログラム追加部１２，システム制御部１３，アプリ１４−１〜１４−ｎなどのプログラムに従って処理を実行する。
【００２７】
次に、本発明による情報処理装置１の応用例として融合機３１の構成について説明する。なお、本実施例では融合機３１の処理を中心に説明するが、情報処理装置１の処理も同様である。
【００２８】
図３は、本発明による融合機の一実施例の構成図である。融合機３１は、ソフトウェア群３２と，融合機起動部３３と，ハードウェア資源３４とを含むように構成される。
【００２９】
ソフトウェア群３２は、ＵＮＩＸ（登録商標）などのＯＳ上に起動されているアプリケーション層３５とプラットフォーム３６とを含む。また、ハードウェア資源３４は白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）４１と，カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）４２と，スキャナやファクシミリなどのその他のハードウェアリソース４３とを含む。
【００３０】
アプリケーション層３５は、プリンタ，コピー，ファックスおよびスキャナなどの画像形成にかかるユーザサービスにそれぞれ固有の処理を行うプリンタアプリ５１と，コピーアプリ５２と，ファックスアプリ５３と，スキャナアプリ５４と，ネットファイルアプリ５５とを含む。
【００３１】
また、プラットフォーム３６は、アプリケーション層３５からの処理要求を解釈してハードウェア資源３４の獲得要求を発生するコントロールサービス層３７と、ハードウェア資源３４の管理を行ってコントロールサービス層３７からの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）６９と、ＳＲＭ６９からの獲得要求に応じてハードウェア資源３４の管理を行うハンドラ層３８とを含む。
【００３２】
コントロールサービス層３７は、ネットワークコントロールサービス（ＮＣＳ）６１，デリバリーコントロールサービス（ＤＣＳ）６２，オペレーションパネルコントロールサービス（ＯＣＳ）６３，ファックスコントロールサービス（ＦＣＳ）６４，エンジンコントロールサービス（ＥＣＳ）６５，メモリコントロールサービス（ＭＣＳ）６６，ユーザインフォメーションコントロールサービス（ＵＣＳ）６７，システムコントロールサービス（ＳＣＳ）６８など、一つ以上のサービスモジュールを含むように構成されている。
【００３３】
なお、プラットフォーム３６はＡＰＩ８１を有するように構成されている。ＯＳは、アプリケーション層３５およびプラットフォーム３６の各ソフトウェアをプロセスとして並列実行する。
【００３４】
ＮＣＳ６１のプロセスは、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。例えばＮＣＳ６１は、融合機３１にネットワークを介して接続されるクライアントとのデータ通信を制御する。
【００３５】
ＤＣＳ６２のプロセスは、融合機に蓄積されている文書データの配送などの制御を行う。ＯＣＳ６３のプロセスは、オペレータと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。
【００３６】
ＦＣＳ６４のプロセスは、アプリケーション層３５からＰＳＴＮまたはＩＳＤＮ網を利用したファックス送受信，バックアップ用のメモリで管理されている各種ファックスデータの登録／引用，ファックス読み取り，ファックス受信印刷などを行うためのＡＰＩを提供する。
【００３７】
ＥＣＳ６５のプロセスは、白黒レーザプリンタ４１，カラーレーザプリンタ４２，ハードウェアリソース４３などのエンジン部の制御を行う。ＭＣＳ６６のプロセスは、メモリの取得および解放，ＨＤＤの利用，画像データの圧縮および伸張などのメモリ制御を行う。ＵＣＳ６７のプロセスは、ユーザ情報の管理を行うものである。
【００３８】
ＳＣＳ６８のプロセスは、アプリケーション管理，操作部制御，システム画面表示，ＬＥＤ表示，ハードウェア資源管理，割り込みアプリケーション制御などの処理を行う。
【００３９】
ＳＲＭ６９のプロセスは、ＳＣＳ６８と共にシステムの制御およびハードウェア資源３４の管理を行うものである。例えばＳＲＭ６９のプロセスは、ハードウェア資源３４を利用する上位層からの獲得要求に従って調停を行い、実行制御する。
【００４０】
具体的に、ＳＲＭ６９のプロセスは獲得要求されたハードウェア資源３４が利用可能であるか（他の獲得要求により利用されていないかどうか）を判定し、利用可能であれば獲得要求されたハードウェア資源３４が利用可能である旨を上位層に通知する。
【００４１】
また、ＳＲＭ６９のプロセスは上位層からの獲得要求に対してハードウェア資源３４を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作，メモリ確保，ファイル生成など）を直接実施している。
【００４２】
ハンドラ層３８は、後述するファックスコントロールユニット（ＦＣＵ）の管理を行うファックスコントロールユニットハンドラ（ＦＣＵＨ）７０と、プロセスに対するメモリ領域の割り振り及びプロセスに割り振ったメモリ領域の管理を行うイメージメモリハンドラ（ＩＭＨ）７１とを含む。ＳＲＭ６９およびＦＣＵＨ７０は、エンジンＩ／Ｆ８２を利用して、ハードウェア資源３４に対する処理要求を行う。図３の構成により、融合機３１は各アプリケーションで共通的に必要な処理をプラットフォーム３６で一元的に処理することができる。
【００４３】
次に、融合機３１のハードウェア構成について説明する。図４は、本発明による融合機の一実施例のハードウェア構成図である。
【００４４】
融合機３１は、コントローラ１００と，オペレーションパネル１２０と，ＦＣＵ１２１と，エンジン部１２２とを含む。コントローラ１００は、ＣＰＵ１０１と，システムメモリ１０２と，ノースブリッジ（ＮＢ）１０３と，サウスブリッジ（ＳＢ）１０４と，ＡＳＩＣ１０６と，ローカルメモリ１０７と，ＨＤＤ１０８と、ネットワークインターフェースカード（ＮＩＣ）１０９と，ＳＤカード用スロット１１０と，ＵＳＢデバイス１１１と，ＩＥＥＥ１３９４デバイス１１２と，セントロニクス１１３とを含む。
【００４５】
オペレーションパネル１２０は、コントローラ１００のＡＳＩＣ１０６に接続されている。また、ＦＣＵ１２１およびエンジン部１２２は、コントローラ１００のＡＳＩＣ１０６にＰＣＩバス１２３で接続されている。
【００４６】
コントローラ１００は、ＡＳＩＣ１０６にローカルメモリ１０７，ＨＤＤ１０８などが接続されると共に、ＣＰＵ１０１とＡＳＩＣ１０６とがＣＰＵチップセットのＮＢ１０３を介して接続されている。コントローラ１００は、ＮＢ１０３を介してＣＰＵ１０１とＡＳＩＣ１０６とを接続することにより、ＣＰＵ１０１のインターフェースが公開されていない場合に対応する。なお、ＡＳＩＣ１０６とＮＢ１０３とはＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ  ）１０５を介して接続されている。
【００４７】
このように、図３のアプリケーション層３５やプラットフォーム３６を形成する一つ以上のプロセスを実行制御するため、ＡＳＩＣ１０６とＮＢ１０３とを低速のＰＣＩバスでなくＡＧＰ１０５を介して接続し、パフォーマンスの低下を防いでいる。
【００４８】
ＣＰＵ１０１は、融合機３１の全体制御を行うものである。例えばＣＰＵ１０１は、ＮＣＳ６１，ＤＣＳ６２，ＯＣＳ６３，ＦＣＳ６４，ＥＣＳ６５，ＭＣＳ６６，ＵＣＳ６７，ＳＣＳ６８，ＳＲＭ６９，ＦＣＵＨ７０およびＩＭＨ７１をＯＳ上にそれぞれプロセスとして起動して実行させると共に、アプリケーション層３５を形成するプリンタアプリ５１，コピーアプリ５２，ファックスアプリ５３，スキャナアプリ５４，ネットファイルアプリ５５を起動して実行させる。
【００４９】
ＮＢ１０３は、ＣＰＵ１０１，システムメモリ１０２，ＳＢ１０４，ＡＳＩＣ１０６，ＮＩＣ１０９，ＳＤカード用スロット１１０，ＵＳＢデバイス１１１，ＩＥＥＥ１３９４デバイス１１２およびセントロニクス１１３を接続するためのブリッジである。
【００５０】
ＳＢ１０４，ＮＩＣ１０９，ＳＤカード用スロット１１０，ＵＳＢデバイス１１１，ＩＥＥＥ１３９４デバイス１１２およびセントロニクス１１３は、ＰＣＩバス１１４を介してＮＢ１０３に接続されている。なお、ＳＢ１０４は、ＰＣＩバス１１４とＲＯＭや周辺デバイス等とを接続するためのブリッジである。
【００５１】
システムメモリ１０２は、融合機３１の描画用メモリなどとして用いるメモリである。ローカルメモリ１０７はコピー用画像バッファ，符号バッファとして用いるメモリである。
【００５２】
ＡＳＩＣ１０６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣである。ＨＤＤ１０８は、画像データの蓄積，文書データの蓄積，プログラムの蓄積，フォントデータの蓄積，フォームの蓄積などを行うストレージ（補助記憶装置）の一例である。
【００５３】
ＮＩＣ１０９は、融合機３１をネットワークに接続するインターフェース機器である。ＳＤカード用スロット１１０はＳＤカードを挿抜可能なものであり、ＳＤカードの挿入または抜き出しに応じた割り込みを後述するＳＤカードドライバに対して行う。ＵＳＢデバイス１１１，ＩＥＥＥ１３９４デバイス１１２およびセントロニクス１１３は、夫々の規格に準じたインターフェースである。
【００５４】
また、オペレーションパネル１２０は、オペレータからの入力操作を受け付けると共に、オペレータに向けた表示を行う操作部である。なお、ＦＣＵ１２１はメモリを有している。ＦＣＵ１２１が有するメモリは、例えば融合機３１の電源がＯＦＦのときに受信したファクシミリデータを一時的に格納するために利用される。
【００５５】
図３の融合機起動部３３は、融合機１の電源投入時に最初に実行され、アプリケーション層３５やプラットフォーム３６を起動するものである。図５は、融合機起動部の一例の構成図を示す。融合機起動部３３は、ＲＯＭモニタ１３０およびプログラム起動部１３１を有する。
【００５６】
ＢＩＯＳおよびブートローダとしてのＲＯＭモニタ１３０は電源投入時に実行されるものであり、ハードウェアの初期化，コントローラ１００の診断，ソフトウェアの初期化などを行う。ＲＯＭモニタ１３０は、ＯＳおよびルートファイルシステムをシステムメモリ１０２上に展開してＯＳを起動する。そして、ＯＳはルートファイルシステムをマウントする。
【００５７】
プログラム起動部１３１は、ＯＳから呼び出されるものであり、システムメモリ１０２，ローカルメモリ１０７上にメモリ領域を確保する。プログラム起動部１３１は、融合機１で最初に起動されるプロセスであって、所定の設定ファイルに従ってファイルシステムをマウントする。
【００５８】
プログラム起動部１３１は、融合機３１の動作に必要なアプリケーション層３５およびプラットフォーム３６のプログラムを所定の設定ファイルに従ってＨＤＤ１０８，ＳＤカード，ＲＯＭなどから読み出し、読み出した各プログラムをシステムメモリ１０２，ローカルメモリ１０７上に確保したメモリ領域に展開してアプリケーション層３５およびプラットフォーム３６のプロセスを起動するものである。
【００５９】
更に、プログラム起動部１３１の処理について説明する。プログラム起動部１３１は、起動時に所定のマスタ設定ファイルを読み込み、読み込んだマスタ設定ファイルに従ってファイルシステムのマウントおよびプロセスの起動を行う。また、プログラム起動部１３１は、読み込んだマスタ設定ファイルにマウントの記述が存在した場合、そのマウントの記述に従ってマウント処理を実行する。
【００６０】
さらに、プログラム起動部１３１はマウントしたファイルシステムのルートに所定の設定ファイルが存在する場合やマウントしたファイルシステムのルートに所定の拡張子のファイルを含む所定のディレクトリが存在する場合に、所定の設定ファイル又は所定の拡張子のファイルを読み込んでファイルシステムのマウント処理を行う。
【００６１】
なお、プログラム起動部１３１がマウントできるファイルシステムは、「ｇｚｒｏｍｆｓ」などがある。このファイルシステム「ｇｚｒｏｍｆｓ」は、ｇｚｉｐ圧縮されたＲＯＭＦＳ形式のファイルをＲＡＭ上に展開してマウントする。
【００６２】
以下、プログラム追加用記録媒体としてのアプリ追加用ＳＤカードからプログラム起動用記録媒体としてのアプリ起動用ＳＤカードにプログラムを追加する例について説明していく。
【００６３】
図６は、アプリ追加用ＳＤカードからアプリ起動用ＳＤカードにプログラムを追加する処理の一例の概略図である。融合機３１は、ＳＤカード用スロット１１０の１つに挿入されているアプリ起動用ＳＤカード１４１を有し、アプリ追加用ＳＤカード１４０を用いてアプリ起動用ＳＤカード１４１にプログラムを追加する装置である。また、サーバ１５０はアプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルを作成し、そのファイルをアプリ追加用ＳＤカード１４０に書き込む装置である。
【００６４】
ステップＳ１００では、融合機３１のＳＤカード用スロット１１０にアプリ追加用ＳＤカード１４０が挿入され、暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤがアプリ追加用ＳＤカード１４０に書き込まれる。
【００６５】
ステップＳ２００では、暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤが書き込まれたアプリ追加用ＳＤカード１４０を、例えば融合機３１の保守を行うサービスマン等がサーバ１５０の設置場所まで持っていく。なお、暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤが書き込まれたアプリ追加用ＳＤカード１４０は、サーバ１５０の設置場所まで郵送してもよい。
【００６６】
ステップＳ３００では、サーバ１５０のＳＤカード用スロットにアプリ追加用ＳＤカード１４０が挿入され、そのアプリ追加用ＳＤカード１４０に書き込まれている暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤがサーバ１５０に読み出される。サーバ１５０は、アプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルを作成し、そのファイルをアプリ追加用ＳＤカード１４０に書き込む。
【００６７】
ステップＳ４００では、アプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルが書き込まれたアプリ追加用ＳＤカード１４０を、例えば融合機３１の保守を行うサービスマン等が融合機３１の設置場所まで持っていく。なお、アプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルが書き込まれたアプリ追加用ＳＤカード１４０は、融合機３１の設置場所まで郵送してもよい。
【００６８】
ステップＳ５００では、融合機３１のＳＤカード用スロット１１０に、アプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルが書き込まれたアプリ追加用ＳＤカード１４０が挿入され、後述するような認証チェックが行われる。認証チェックがＯＫであれば、アプリ追加用ＳＤカード１４０に書き込まれていたアプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルを用いて、アプリ起動用ＳＤカード１４１にプログラムを追加する。
【００６９】
次に、図６のステップＳ１００，Ｓ３００およびＳ５００の処理について詳細に説明する。図７は、ステップＳ１００の処理の一例の説明図である。なお、図７の説明図では融合機３１の構成のうち説明に必要な構成を表し、説明に必要のない構成を省略している。
【００７０】
ステップＳ１０１では、融合機３１のＳＤカード用スロット１１０にアプリ追加用ＳＤカード１４０が挿入される。ＳＤカード用スロット１１０は、アプリ追加用ＳＤカード１４０の挿入に応じた割り込みをＳＤカードドライバ１３７に対して行う。
【００７１】
ステップＳ１０２では、ＯＳ１３６が、ＳＤカードドライバ１３７に対する割り込みに応じてプログラム起動部１３１にＳＤカードの挿入検知を通知する。ステップＳ１０３では、プログラム起動部１３１が、ＳＤカードチェック部１３２を起動させる。ステップＳ１０４では、ＳＤカードチェック部１３２がアプリ追加用ＳＤカード１４０のマウントを行い、アプリ追加用ＳＤカード１４０のマウントを行った旨をプログラム起動部１３１に通知して処理を停止する。
【００７２】
アプリ追加用ＳＤカード１４０のマウントを行った旨が通知されると、ステップＳ１０５に進み、プログラム起動部１３１は電子認証チェック用ライブラリ１３４を用いてアプリ追加用ＳＤカード１４０の認証チェックを行う。
【００７３】
ステップＳ１０５での認証チェックは、例えば図８に表した設定ファイルの認証チェックと図１０に表したマウント対象モジュールの認証チェックとを有している。
【００７４】
例えば設定ファイルの認証チェックは、図８に表したフローチャートのように行われる。図８は、設定ファイルの認証チェックの処理の一例のフローチャートである。
【００７５】
ステップＳ６００では、プログラム起動部１３１が、アプリ追加用ＳＤカード１４０に設定ファイルの認証チェックに利用する対象ファイルが存在するか否かを判定する。設定ファイルの認証チェックに利用する対象ファイルは、設定ファイルと、設定ファイルおよびアプリ追加用ＳＤカード１４０のシリアルＩＤのメッセージダイジェスト（以下、ＭＤという）から作成された電子署名ファイルとを含む。
【００７６】
図９は、アプリ追加用ＳＤカードに記録された対象ファイルの一例のイメージ図である。図９の例では、「ｉｎｓｔ．ｃｎｆ」が設定ファイルを表し、「ｉｎｓｔ．ｌｉｃ」が設定ファイルの認証チェックに利用する電子署名ファイルを表し、「ｉｎｓｔ．ｍｏｄ」がマウント対象のモジュールファイルを表し、「ｉｎｓｔ．ｍａｃ」がマウント対象モジュールの認証チェックに利用する電子署名ファイルを表す。
【００７７】
設定ファイルの認証チェックに利用する対象ファイルが存在すると判定すると（Ｓ６００においてＹＥＳ）、プログラム起動部１３１はアプリ追加用ＳＤカード１４０から設定ファイルおよび設定ファイルの認証チェックに利用する電子署名ファイルを取得してステップＳ６０１に進む。
【００７８】
ステップＳ６０１では、プログラム起動部１３１が、アプリ追加用ＳＤカード１４０からシリアルＩＤを取得する。ステップＳ６０３に進み、プログラム起動部１３１はステップＳ６００で取得した設定ファイルと、ステップＳ６０１で取得したアプリ追加用ＳＤカード１４０のシリアルＩＤとのＭＤ１を作成する。ステップＳ６０３に進み、プログラム起動部１３１はステップＳ６００で取得した電子署名ファイルを公開鍵で復号化してＭＤ２を作成する。
【００７９】
ステップＳ６０４に進み、プログラム起動部１３１はＭＤ１とＭＤ２とが等しいか否かを判定する。ＭＤ１とＭＤ２とが等しいと判定すると（Ｓ６０４においてＹＥＳ）、プログラム起動部１３１はステップＳ６０５に進み、設定ファイルの認証チェックがＯＫと判定する。一方、ＭＤ１とＭＤ２とが等しくないと判定すると（Ｓ２４においてＮＯ）、プログラム起動部１３１はステップＳ６０６に進み、設定ファイルの認証チェックがＮＧと判定する。
【００８０】
ＭＤ１とＭＤ２とが等しくなければ、アプリ追加用ＳＤカード１４０に記録されているファイルは不正にコピーされた可能性が高いためである。なお、設定ファイルの認証チェックに利用する対象ファイルが存在しないと判定すると（Ｓ６００においてＮＯ）、プログラム起動部１３１はステップＳ６０６に進み、設定ファイルの認証チェックがＮＧと判定する。
【００８１】
例えばマウント対象モジュールの認証チェックは、図１０に表したフローチャートのように行われる。図１０は、マウント対象モジュールの認証チェックの処理の一例のフローチャートである。
【００８２】
ステップＳ６１０では、プログラム起動部１３１が、アプリ追加用ＳＤカード１４０にマウント対象モジュールの認証チェックに利用する対象ファイルが存在するか否かを判定する。マウント対象モジュールの認証チェックに利用する対象ファイルは、マウント対象のモジュールファイルと、モジュールファイルおよび融合機３１に固有の機種情報のＭＤから作成された電子署名ファイルとを含む。
【００８３】
マウント対象モジュールの認証チェックに利用する対象ファイルが存在すると判定すると（Ｓ６１０においてＹＥＳ）、プログラム起動部１３１はアプリ追加用ＳＤカード１４０からマウント対象のモジュールファイルおよびマウント対象のモジュールファイルの認証チェックに利用する電子署名ファイルを取得してステップＳ６１１に進む。
【００８４】
ステップＳ６１１では、プログラム起動部１３１が、融合機３１に固有の機種情報を取得する。ステップＳ６１２に進み、プログラム起動部１３１はステップＳ６１０で取得したモジュールファイルと、ステップＳ６１１で取得した融合機３１に固有の機種情報とのＭＤ１を作成する。ステップＳ６１３に進み、プログラム起動部１３１はステップＳ６１０で取得した電子署名ファイルを公開鍵で復号化してＭＤ２を作成する。
【００８５】
ステップＳ６１４に進み、プログラム起動部１３１はＭＤ１とＭＤ２とが等しいか否かを判定する。ＭＤ１とＭＤ２とが等しいと判定すると（Ｓ６１４においてＹＥＳ）、プログラム起動部１３１はステップＳ６１５に進み、マウント対象モジュールの認証チェックがＯＫと判定する。
【００８６】
一方、ＭＤ１とＭＤ２とが等しくないと判定すると（Ｓ６１４においてＮＯ）、プログラム起動部１３１はステップＳ６１６に進み、マウント対象モジュールの認証チェックがＮＧと判定する。
【００８７】
ＭＤ１とＭＤ２とが等しくなければ、アプリ追加用ＳＤカード１４０に記録されているファイルはコピーや改竄などの不正を受けた可能性が高いためである。なお、マウント対象モジュールの認証チェックに利用する対象ファイルが存在しないと判定すると（Ｓ６１０においてＮＯ）、プログラム起動部１３１はステップＳ６１６に進み、マウント対象モジュールの認証チェックがＮＧと判定する。
【００８８】
図７に戻り、プログラム起動部１３１はアプリ追加用ＳＤカード１４０の認証チェックがＯＫであればステップＳ１０６に進み、ＮＧであればイベント待ち状態に戻る。
【００８９】
ステップＳ１０６では、プログラム起動部１３１が、アプリ追加用ＳＤカード１４０内のプログラム追加モジュールを利用してプログラム追加部１３３を起動させる。
【００９０】
ステップＳ１０７では、プログラム追加部１３３が、アプリ起動用ＳＤカード１４１のシリアルＩＤをアプリ起動用ＳＤカード１４１から取得する。プログラム追加部１３３は、取得したアプリ起動用ＳＤカード１４１のシリアルＩＤを公開鍵で暗号化する。
【００９１】
ステップＳ１０８では、プログラム追加部１３３が、暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤを図１１のようにアプリ追加用ＳＤカード１４０に書き込んで処理を終了する。
【００９２】
図１１は、暗号化されたアプリ起動用ＳＤカードのシリアルＩＤが記録されたアプリ追加用ＳＤカードの一例のイメージ図である。図１１の例では、「ｓｄｉｄ．ｄａｔ」が暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤを表している。図７の処理によれば、暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤが記録された図１１のようなアプリ追加用ＳＤカード１４０を作成できる。
【００９３】
図１２は、ステップＳ３００の処理の一例の説明図である。ステップＳ３０１では、サーバ１５０が、ＳＤカード用スロット１５１に挿入されたアプリ追加用ＳＤカード１４０から暗号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤ１５２を読み出す。ステップＳ３０２では、サーバ１５０が、入力装置などから入力された機種情報１５３およびアプリ情報１５４を取得する。
【００９４】
機種情報１５３とは、融合機３１に固有の情報である。また、アプリ情報１５４とは、アプリ追加用ＳＤカード１４０を用いて融合機３１のアプリ起動用ＳＤカード１４１に追加するアプリの情報である。
【００９５】
ステップＳ３０３では、サーバ１５０が、ステップＳ３０１で読み出したシリアルＩＤ１５２を秘密鍵で復号化する。また、ステップＳ３０４では、サーバ１５０が、機種情報１５３およびアプリ情報１５４に対応した設定ファイル「ａｐｌ．ｃｎｆ」，マウント対象のモジュール「ａｐｌ．ｍｏｄ」およびマウント対象モジュールの認証チェックに利用する電子署名ファイル「ａｐｌ．ｍａｃ」の群１５５を選択する。
【００９６】
ステップＳ３０５では、サーバ１５０が、ステップＳ３０４で選択された群１５５から設定ファイル「ａｐｌ．ｃｎｆ」１５７を読み出す。そして、ステップＳ３０６では、サーバ１５０が、復号化されたアプリ起動用ＳＤカード１４１のシリアルＩＤ１５６及びステップＳ３０５で読み出された設定ファイル１５７からＭＤ１５８を作成する。
【００９７】
ステップＳ３０７では、サーバ１５０が、ステップＳ３０６で作成したＭＤ１５８を秘密鍵で暗号化して、設定ファイルの認証チェックに利用する電子署名ファイル「ａｐｌ．ｌｉｃ」１５９を作成する。ステップＳ３０８では、サーバ１５０が、ステップＳ３０７で作成した電子署名ファイル１５９を群１５５に追加した新たな群１６０を作成する。ステップＳ３０９では、サーバ１５０が、ステップＳ３０７で作成された群１６０を図１３のようにアプリ追加用カード１４０に書き込んで処理を終了する。
【００９８】
図１３は、アプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルが記録されたアプリ追加用ＳＤカードの一例のイメージ図である。図１３の例では、「ａｐｌ．ｃｎｆ」が設定ファイルを表し，「ａｐｌ．ｌｉｃ」が設定ファイルの認証チェックに利用する電子署名ファイルを表し，「ａｐｌ．ｍｏｄ」がマウント対象のモジュールを表し、「ａｐｌ．ｍａｃ」がマウント対象モジュールの認証チェックに利用する電子署名ファイルを表している。
【００９９】
図１２の処理によれば、アプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルが記録された図１３のようなアプリ追加用ＳＤカード１４０を作成できる。
【０１００】
図１４は、ステップＳ５００の処理の一例の説明図である。なお、図１４の説明図では融合機３１の構成のうち説明に必要な構成を表し、説明に必要のない構成を省略している。
【０１０１】
ステップＳ５０１では、融合機３１のＳＤカード用スロット１１０に図１４のようなアプリ追加用ＳＤカード１４０が挿入される。ＳＤカード用スロット１１０は、アプリ追加用ＳＤカード１４０の挿入に応じた割り込みをＳＤカードドライバ１３７に対して行う。
【０１０２】
ステップＳ５０２では、ＯＳ１３６が、ＳＤカードドライバ１３７に対する割り込みに応じてプログラム起動部１３１にＳＤカードの挿入検知を通知する。ステップＳ５０３では、プログラム起動部１３１が、ＳＤカードチェック部１３２を起動させる。ステップＳ５０４では、ＳＤカードチェック部１３２がアプリ追加用ＳＤカード１４０のマウントを行い、アプリ追加用ＳＤカード１４０のマウントを行った旨をプログラム起動部１３１に通知して処理を停止する。
【０１０３】
アプリ追加用ＳＤカード１４０のマウントを行った旨が通知されると、ステップＳ５０５に進み、プログラム起動部１３１はアプリ追加用ＳＤカード１４０のマウントを行った旨をＳＣＳ６８に通知する。
【０１０４】
ステップＳ５０６では、ＳＣＳ６８が、アプリ追加用ＳＤカード１４０からディレクトリ「ａｄｄｍｏｄ」の下の設定ファイル「ａｐｌ．ｃｎｆ」，設定ファイルの認証チェックに利用する電子署名ファイル「ａｐｌ．ｌｉｃ」，マウント対象のモジュール「ａｐｌ．ｍｏｄ」およびマウント対象モジュールの認証チェックに利用する電子署名ファイル「ａｐｌ．ｍａｃ」を読み出し、電子認証チェック用ライブラリ１３８を用いて認証チェックを行う。
【０１０５】
ステップＳ５０６での認証チェックは、例えば図８に表した設定ファイルの認証チェックと図１０に表したマウント対象モジュールの認証チェックとを有している。ステップＳ５０６での認証チェックの詳細について、前述した図８および図１０を用いて説明する。
【０１０６】
図８のステップＳ６００では、ＳＣＳ６８が、アプリ追加用ＳＤカード１４０に設定ファイルの認証チェックに利用する対象ファイル、例えば図１３のアプリ追加用ＳＤカード１４０の場合、設定ファイル「ａｐｌ．ｃｎｆ」，設定ファイルの認証チェックに利用する電子署名ファイル「ａｐｌ．ｌｉｃ」が存在したか否かを判定する。
【０１０７】
設定ファイル「ａｐｌ．ｃｎｆ」，設定ファイルの認証チェックに利用する電子署名ファイル「ａｐｌ．ｌｉｃ」が存在したと判定したと（Ｓ６００においてＹＥＳ）、ＳＣＳ６８はステップＳ６０１に進む。
【０１０８】
ステップＳ６０１では、ＳＣＳ６８が、アプリ追加用ＳＤカード１４０でなくアプリ起動用ＳＤカード１４１からシリアルＩＤを取得する。ステップＳ６０２に進み、ＳＣＳ６８は設定ファイル「ａｐｌ．ｃｎｆ」と、ステップＳ６０１で取得したアプリ起動用ＳＤカード１４１のシリアルＩＤとのＭＤ１を作成する。ステップＳ６０３に進み、ＳＣＳ６８は設定ファイルの認証チェックに利用する電子署名ファイル「ａｐｌ．ｌｉｃ」を公開鍵で復号化してＭＤ２を作成する。
【０１０９】
ステップＳ６０４に進み、ＳＣＳ６８はＭＤ１とＭＤ２とが等しいか否かを判定する。ＭＤ１とＭＤ２とが等しいと判定すると（Ｓ６０４においてＹＥＳ）、ＳＣＳ６８はステップＳ６０５に進み、設定ファイルの認証チェックがＯＫと判定する。一方、ＭＤ１とＭＤ２とが等しくないと判定すると（Ｓ２４においてＮＯ）、ＳＣＳ６８はステップＳ６０６に進み、設定ファイルの認証チェックがＮＧと判定する。
【０１１０】
ＭＤ１とＭＤ２とが等しくなければ、アプリ追加用ＳＤカード１４０に記録されていたファイルは、ステップＳ６０１でシリアルＩＤを取得したアプリ起動用ＳＤカード１４１でなく、他のアプリ起動用ＳＤカードにプログラムを追加するために作成された可能性が高いためである。
【０１１１】
なお、設定ファイルの認証チェックに利用する設定ファイル「ａｐｌ．ｃｎｆ」，電子署名ファイル「ａｐｌ．ｌｉｃ」が存在しないと判定すると（Ｓ６００においてＮＯ）、ＳＣＳ６８はステップＳ６０６に進み、設定ファイルの認証チェックがＮＧと判定する。
【０１１２】
図１０のステップＳ６１０では、ＳＣＳ６８が、アプリ追加用ＳＤカード１４０にマウント対象モジュールの認証チェックに利用する対象ファイル、例えば図１３のアプリ追加用ＳＤカード１４０の場合、マウント対象のモジュール「ａｐｌ．ｍｏｄ」，マウント対象モジュールの認証チェックに利用する電子署名ファイル「ａｐｌ．ｍａｃ」が存在したか否かを判定する。
【０１１３】
マウント対象のモジュール「ａｐｌ．ｍｏｄ」，マウント対象モジュールの認証チェックに利用する電子署名ファイル「ａｐｌ．ｍａｃ」が存在したと判定すると（Ｓ６１０においてＹＥＳ）、ＳＣＳ６８はステップＳ６１１に進む。ステップＳ６１１では、ＳＣＳ６８が、融合機３１に固有の機種情報を取得する。ステップＳ６１２に進み、ＳＣＳ６８はマウント対象のモジュール「ａｐｌ．ｍｏｄ」と、ステップＳ６１１で取得した融合機３１に固有の機種情報とのＭＤ１を作成する。
【０１１４】
ステップＳ６１３に進み、ＳＣＳ６８はマウント対象モジュールの認証チェックに利用する電子署名ファイル「ａｐｌ．ｍａｃ」を公開鍵で復号化してＭＤ２を作成する。
【０１１５】
ステップＳ６１４に進み、ＳＣＳ６８はＭＤ１とＭＤ２とが等しいか否かを判定する。ＭＤ１とＭＤ２とが等しいと判定すると（Ｓ６１４においてＹＥＳ）、ＳＣＳ６８はステップＳ６１５に進み、マウント対象モジュールの認証チェックがＯＫと判定する。一方、ＭＤ１とＭＤ２とが等しくないと判定すると（Ｓ６１４においてＮＯ）、ＳＣＳ６８はステップＳ６１６に進み、マウント対象モジュールの認証チェックがＮＧと判定する。
【０１１６】
ＭＤ１とＭＤ２とが等しくなければ、アプリ追加用ＳＤカード１４０に記録されていたファイルは、ステップＳ６１１で固有の機種情報を取得した融合機３１でなく、他の融合機にプログラムを追加するために作成された可能性が高いためである。なお、マウント対象モジュールの認証チェックに利用する設定ファイル「ａｐｌ．ｃｎｆ」，電子署名ファイル「ａｐｌ．ｌｉｃ」が存在しないと判定すると（Ｓ６１０においてＮＯ）、ＳＣＳ６８はステップＳ６１６に進み、マウント対象モジュールの認証チェックがＮＧと判定する。
【０１１７】
図１４に戻り、ＳＣＳ６８はステップＳ５０６の認証チェックがＯＫであればステップＳ５０７に進み、ＮＧであればイベント待ち状態に戻る。ステップＳ５０７では、ＳＣＳ６８が、アプリ追加用ＳＤカード１４０から読み出した設定ファイル「ａｐｌ．ｃｎｆ」，設定ファイルの認証チェックに利用する電子署名ファイル「ａｐｌ．ｌｉｃ」，マウント対象のモジュール「ａｐｌ．ｍｏｄ」およびマウント対象モジュールの認証チェックに利用する電子署名ファイル「ａｐｌ．ｍａｃ」を用いて、アプリ起動用ＳＤカード１４１にプログラムが追加される。
【０１１８】
ステップＳ５０７では、ＳＣＳ６８が、設定ファイル「ａｐｌ．ｃｎｆ」，設定ファイルの認証チェックに利用する電子署名ファイル「ａｐｌ．ｌｉｃ」，マウント対象のモジュール「ａｐｌ．ｍｏｄ」およびマウント対象モジュールの認証チェックに利用する電子署名ファイル「ａｐｌ．ｍａｃ」を図１５のようにアプリ起動用カード１４１に書き込んで処理を終了する。
【０１１９】
図１５は、アプリ追加用ＳＤカードによりプログラムを追加されたアプリ起動用ＳＤカードの一例のイメージ図である。図１５の例では、ディレクトリ「ｉｎｉｔ．ｄ」の下の「ａｐｌ．ｃｎｆ」が設定ファイルを表し，「ａｐｌ．ｌｉｃ」が設定ファイルの認証チェックに利用する電子署名ファイルを表す。また、ディレクトリ「ｍｏｄｕｌｅ」の下の「ａｐｌ．ｍｏｄ」がマウント対象のモジュールを表し、「ａｐｌ．ｍａｃ」がマウント対象モジュールの認証チェックに利用する電子署名ファイルを表している。
【０１２０】
本実施例では、融合機３１の処理を中心に説明したが、図１及び図２に示した情報処理装置１への適用が容易である。また、本発明は具体的に開示された実施例に限定されるものではなく、特許請求のの範囲から逸脱することなく、種々の変形や変更が可能である。
【０１２１】
【発明の効果】
上述の如く、本発明によれば、挿抜可能なプログラム追加用記録媒体に記録されたプログラムの安全性を確保しつつ、プログラム追加用記録媒体からプログラム起動用記録媒体にプログラムを追加できる。
【０１２２】
【図面の簡単な説明】
【図１】本発明による情報処理装置の一実施例の構成図である。
【図２】本発明による情報処理装置の一実施例のハードウェア構成図である。
【図３】本発明による融合機の一実施例の構成図である。
【図４】本発明による融合機の一実施例のハードウェア構成図である。
【図５】融合機起動部の一例の構成図を示す。
【図６】アプリ追加用ＳＤカードからアプリ起動用ＳＤカードにプログラムを追加する処理の一例の概略図である。
【図７】ステップＳ１００の処理の一例の説明図である。
【図８】設定ファイルの認証チェックの処理の一例のフローチャートである。
【図９】アプリ追加用ＳＤカードに記録された対象ファイルの一例のイメージ図である。
【図１０】マウント対象モジュールの認証チェックの処理の一例のフローチャートである。
【図１１】暗号化されたアプリ起動用ＳＤカードのシリアルＩＤが記録されたアプリ追加用ＳＤカードの一例のイメージ図である。
【図１２】ステップＳ３００の処理の一例の説明図である。
【図１３】アプリ起動用ＳＤカード１４１にプログラムを追加するためのファイルが記録されたアプリ追加用ＳＤカードの一例のイメージ図である。
【図１４】ステップＳ５００の処理の一例の説明図である。
【図１５】アプリ追加用ＳＤカードによりプログラムを追加されたアプリ起動用ＳＤカードの一例のイメージ図である。
【符号の説明】
１    情報処理装置
２，３２    ソフトウェア群
３    起動部
４    ハードウェア資源
１１，１３２    ＳＤカードチェック部
１２，１３３    プログラム追加部
１３    システム制御部
２７，１１０    ＳＤカード用スロット
３１    融合機
３３    融合機起動部
３４    ハードウェア資源
６８    ＳＣＳ
１３１    プログラム起動部
１３６    オペレーティングシステム（ＯＳ）
１３７    ＳＤカードドライバ
１４０    アプリ追加用ＳＤカード
１４１    アプリ起動用ＳＤカード
１５０    サーバ
【図１】
2004287840.tif 000003
【図２】
2004287840.tif 000004
【図３】
2004287840.tif 000005
【図４】
2004287840.tif 000006
【図５】
2004287840.tif 000007
【図６】
2004287840.tif 000008
【図７】
2004287840.tif 000009
【図８】
2004287840.tif 000010
【図９】
2004287840.tif 000011
【図１０】
2004287840.tif 000012
【図１１】
2004287840.tif 000013
【図１２】
2004287840.tif 000014
【図１３】
2004287840.tif 000015
【図１４】
2004287840.tif 000016
【図１５】
2004287840.tif 000017