(57)【特許請求の範囲】
【請求項１】
基本プログラムの機能を拡張する拡張プログラムの起動制限を行うプログラム制御装置であって、
指定された拡張プログラムの識別情報と前記基本プログラムの仕向け情報とに基づいて、起動の対象となる対象プログラムを特定する特定手段と、
前記対象プログラムに含まれる、拡張プログラムの識別情報と仕向け情報との対応付け情報を秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号手段と、
前記復号手段により復号された復号後の情報を、前記指定された拡張プログラムの識別情報および前記基本プログラムの仕向け情報と照合する照合手段と、
前記照合手段による照合の結果、一致した場合には前記対象プログラムを拡張プログラムとして実行可能な状態にし、一致しなかった場合には前記対象プログラムを実行可能としないよう制御する手段と
を備えることを特徴とするプログラム制御装置。
【請求項２】
ひとつの記憶媒体に、同一の識別情報を示す複数の拡張プログラムが記憶されており、前記特定手段は、前記複数の拡張プログラムが示す識別情報が指定された際に、当該識別情報と、前記基本プログラムの仕向け情報とを組み合わせた情報に対応する前記複数の拡張プログラムの中の拡張プログラムを、対象プログラムとして特定することを特徴とする請求項１に記載のプログラム制御装置。
【請求項３】
入力された許諾情報が正当であるか判定し、正当であれば前記対象プログラムを記憶手段にロードするロード手段を更に備え、
前記復号手段は、ロードされた前記対象プログラムに含まれる署名情報を復号し、前記照合手段は、前記復号手段により復号された復号後の情報を、前記指定された拡張プログラムの識別情報および前記基本プログラムの仕向け情報と照合することを特徴とする請求項２に記載のプログラム制御装置。
【請求項４】
拡張プログラムにより機能拡張が可能であり、前記拡張プログラムの起動制限を行うための基本プログラムであって、
指定された拡張プログラムの識別情報と前記基本プログラムの仕向け情報とに基づいて、起動の対象となる対象プログラムを特定する特定手段と、
前記対象プログラムに含まれる、拡張プログラムの識別情報と仕向け情報との対応付け情報を秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号手段と、
前記復号手段により復号された復号後の情報を、前記指定された拡張プログラムの識別情報および前記基本プログラムの仕向け情報と照合する照合手段と、
前記照合手段による照合の結果、一致した場合には前記対象プログラムを拡張プログラムとして実行可能な状態にし、一致しなかった場合には前記対象プログラムを実行可能としないよう制御する手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項５】
基本プログラムの機能を拡張する拡張プログラムの起動制限をコンピュータにより行うプログラム制御方法であって、
指定された拡張プログラムの識別情報と、前記基本プログラムの仕向け情報とに基づいて、起動の対象となる対象プログラムを特定する特定工程と、
前記対象プログラムに含まれる、拡張プログラムの識別情報と仕向け情報との対応付け情報を秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号工程と、
前記復号工程により復号された復号後の情報を、前記指定された拡張プログラムの識別情報および前記基本プログラムの仕向け情報と照合する照合工程と、
前記照合工程による照合の結果、一致した場合には前記対象プログラムを拡張プログラムとして実行可能な状態にし、一致しなかった場合には前記対象プログラムを実行可能としないよう制御する工程と
を有することを特徴とするプログラム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基本プログラム上で動作する拡張プログラムを、基本プログラムと拡張プログラムの組み合わせに基づいて起動制限するプログラム制御装置及び方法とプログラムに関する。
【背景技術】
【０００２】
従来、プログラムの起動制御方法として、ライセンス管理方法が数多く出願されている。例えば、ライセンス管理対象となるソフトウェアを暗号化し、ユーザが入力したライセンス番号等の情報を元に、ソフトウェアを復号するための鍵をライセンス発行サーバが発行する。ライセンス管理サービスはこの鍵を受け取り、ライセンス管理対象となるソフトウェアを復号する。その際、ライセンス管理サービスが動作するマシンに固有の情報を使用することにより、他のマシンでのソフトウェアの実行を抑止するもの等が挙げられる（たとえば特許文献１等参照）。
【０００３】
また、地域的な制限を実現する装置としては、例えばＤＶＤプレーヤがある。ＤＶＤプレーヤは、ＤＶＤプレーヤのリージョンコードとＤＶＤビデオのリージョンコードが一致しない場合、ＤＶＤビデオの再生を抑止する。
【特許文献１】特開２００５−７８１６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術では、拡張ソフトウェアのライセンス形態が仕向け地毎に異なる状況には対応できない。例えば、特定の地域では無料で配布している拡張プログラムが、別の地域ではライセンス販売されているような場合がある。この場合、ライセンス販売されている地域内であっても、他の地域で無料配布している拡張プログラムの起動を抑止できない。このため、本来有償であるはずのプログラムを無償で利用できる。
【０００５】
これに対して、ＤＶＤプレーヤは、地域的な再生の制限を実現している。しかしＤＶＤプレーヤでは、ひとつの媒体にはひとつのリージョンコードしか記録できない。このため、たとえば単一の媒体で複数の仕向地向けの拡張プログラムを提供するような実装に適用することは困難である。またＤＶＤではそのコンテンツはコピーコントロールされているが、リージョンコードは暗号化や署名の対象ではない。そのため、コピーコントロールされていない媒体をソフトウェアの提供用の媒体として用いた場合、リージョンコードの偽造等により、地域的な制限の不適当な解除が可能となる。
【０００６】
本発明は上記従来例に鑑みて成されたもので、複数の仕向地向けに拡張プログラムを提供するとともに、各仕向地それぞれに固有の起動制限を実現できるプログラム制御装置及び方法とプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明は以下の構成を備える。すなわち、
基本プログラムの機能を拡張する拡張プログラムの起動制限を行うプログラム制御装置であって、
指定された拡張プログラムの識別情報と前記基本プログラムの仕向け情報とに基づいて、起動の対象となる対象プログラムを特定する特定手段と、
前記対象プログラムに含まれる、拡張プログラムの識別情報と仕向け情報との対応付け情報を秘密鍵で暗号化した署名情報を、前記秘密鍵に対応する公開鍵で復号する復号手段と、
前記復号手段により復号された復号後の情報を、前記指定された拡張プログラムの識別情報および前記基本プログラムの仕向け情報と照合する照合手段と、
前記照合手段による照合の結果、一致した場合には前記対象プログラムを拡張プログラムとして実行可能な状態にし、一致しなかった場合には前記対象プログラムを実行可能としないよう制御する手段とを備える。
【発明の効果】
【０００８】
本発明によって、基本プログラムの構成情報に従って拡張プログラムの起動を制限することにより、本来起動すべきでない拡張プログラムが起動できてしまう問題を解決することが出来る。
【発明を実施するための最良の形態】
【０００９】
［第１実施形態］
＜ソフトウェアの構成＞
図１は、本発明の第１の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装した各プログラムのブロック図である。図１において、拡張プログラム群１０２は、基本プログラム１０１の機能を拡張するために、基本プログラム１０１上で、基本プログラム１０１が用意する機能を用いつつ動作する。基本プログラム１０１はコンピュータにより実行される。拡張プログラム群１０２はたとえば記憶媒体により提供され、利用者による選択や、基本プログラム１０１への対応に応じて、適切な起動制限対象プログラムが拡張プログラムとしてコンピュータにインストールされて実行される。拡張プログラム群１０２には、相異なる国や地域を仕向地とする、同一機能を拡張プログラム群を含む。すなわち拡張プログラム群１０２は、同一の識別情報と相異なる対応付け情報とを持つプログラムが含まれている。
【００１０】
構成情報１０３は基本プログラム１０１の構成情報であり、本例では構成情報としてプログラムの仕向け情報を用いている。本例では、基本プログラム１０１の仕向けは日本であり「ｊａ」である。本例では、構成情報は、拡張プログラムとの対応付けを示す対応付け情報でもある。すなわち、ある仕向地向けの拡張プログラムは、同じ仕向地向けの基本プログラムのアドオンとして実行される。なお図１では、拡張プログラム群とは複数の仕向地に向けた個々の拡張プログラム（図１では起動制限対象プログラムと呼んでいる。）をまとめた総称である。起動制限対象プログラムについては仕向地はその名称の一部として記述される。
【００１１】
起動制限確認処理部１０４は、拡張プログラム群１０２の起動確認処理部１０７から呼び出されるプログラムモジュールである。公開鍵１０５は、拡張プログラム群１０２固有の公開鍵であり、これを用いて起動制限対象プログラム（すなわち拡張プログラム）の認証が行われる。具体的には、この公開鍵１０５に対応する秘密鍵を用いた暗号化により作成されたデジタル署名（署名情報あるいは署名データと呼ぶ。）の復号（解読）に用いられる。公開鍵１０５は、少なくとも拡張プログラム群１０２に含まれる個々の拡張プログラムについて共通に適用される。拡張プログラム識別情報１０６は、拡張プログラム群を一意に識別するための情報であり、例えば拡張プログラム群の名称や、乱数等を用いて自動生成した識別子が使用される。なお本実施形態では拡張プログラム識別情報は、個々の拡張プログラムの識別情報の基本部分とは異なるが、同一であっても良い。
【００１２】
起動確認処理部１０７は、拡張プログラムが基本プログラム１０１上で動作可能か否かを確認するためのプログラムモジュールであり、基本プログラム１０１の起動制限確認処理部１０４の呼び出し結果に応じて、起動の可否を決定する。起動制限対象プログラム１０８、１０９、１１０は、拡張プログラム群に含まれ、基本プログラム１０１にアドオンされて機能を拡張する、各仕向地毎の個々の拡張プログラムである。記憶媒体には、これら拡張プログラムはプログラムファイルとして記録されている。すなわち起動制限対象プログラムのことを単に拡張プログラムと呼ぶ場合もある。
【００１３】
拡張基本プログラム１０１の構成情報１０３に対応して、複数の起動制限対象プログラムを拡張プログラム群に含むことが可能である。この例では、仕向けとして「ｊａ（日本）」「ｕｓ（米国）」「ｅｕ（欧州）」に対応した起動制限対象プログラムが拡張プログラム群１０２に含まれている。起動制限対象プログラムは、例えば、ダイナミックリンクライブラリのような形態で構成され、その名称は、基本部分と、それぞれの仕向け情報と、ライブラリであることを示す拡張部分とを含む。例えば、図の例で起動制限対象プログラムの基本名を、ＥｘｔＰｒｇとすれば、起動制限対象プログラム１０８、１０９、１１０のファイル名はそれぞれ、ＥｘｔＰｒｇ．ｊａ．ｄｌｌ、ＥｘｔＰｒｇ．ｕｓ．ｄｌｌ，ＥｘｔＰｒｇ．ｅｕ．ｄｌｌとなる。起動制限対象プログラムの名称に含まれる仕向情報もやはり基本プログラムとの対応付けを示す対応付け情報ということができる。
【００１４】
起動制限対象プログラム１０８、１０９、１１０内には、プログラムごとの固有情報を公開鍵１０５と対になる秘密鍵で暗号化した署名データ１０８１，１０９１，１１０１がそれぞれ格納される。固有情報は、拡張プログラム識別情報１０６と、各起動制限対象プログラムの仕向け情報とから生成される。固有情報は、例えば、各情報を連結することにより生成される。
【００１５】
拡張プログラム群１０２は、たとえばコンパクトディスク（登録商標）などの記憶媒体に保存され、ユーザに提供される。したがってこの記憶媒体には、複数の国や地域を仕向地とする複数の拡張プログラムが記憶されていることになる。
【００１６】
＜コンピュータの構成＞
図２は、基本プログラム１０１及び拡張プログラム群１０２が動作するホストコンピュータのハードウェア構成を示すブロック図である。図２において、ホストコンピュータ２０１は、ＣＰＵ２０２、ＲＡＭ２０３、ＲＯＭ２０４、外部記憶装置２１１を備える。ＣＰＵ２０２は、こうしたＲＯＭ２０４または外部記憶装置２１１に記憶されたソフトウェアを実行し、システムバス２０５に接続された各デバイスを総括的に制御する。ＲＡＭ２０３は、ＣＰＵ２０２の主メモリあるいはワークエリアなどとして機能する。外部記憶装置２１１は、ハードディスク（ＨＤ）や光ディスク、フレキシブルディスク（ＦＤ）等を持つ。外部記憶装置２１１は、ブートプログラム、オペレーティングシステム、認証サーバ、認証クライアントを含む各種のアプリケーション、データベースデータ、フォントデータ、ユーザファイル等を記憶する。
【００１７】
さらにホストコンピュータ２０１において、キーボードコントローラ（ＫＢＤＣ）２０６は、キーボード（ＫＢＤ）２０７や図示しないポインティングデバイスからの入力情報をＣＰＵ２０２に送る。ビデオコントローラ（ＶＣ）２０８は、ＣＲＴやＬＤＣ等からなる表示装置２０９の表示を制御する。ディスクコントローラ（ＤＫＣ）２１０は、外部記憶装置２１１とのアクセスを制御する。通信コントローラ（ＣＯＭＭ  Ｉ／Ｆ）２１２は、コンピュータをローカルエリアネットワーク（ＬＡＮ）２１３に接続するインターフェースである。
【００１８】
＜拡張プログラムのインストール処理＞
以下、起動確認処理部１０７及び起動制限確認処理部１０４による処理をフローチャートを用いて説明する。図３は、拡張プログラム群１０２に含まれた起動確認処理部１０７の処理を示すフローチャートである。拡張プログラム群１０２を記録した媒体がコンピュータにより読み込まれると、起動確認処理部１０７がロードされて実行される。図３はその実行後の処理を示す。起動確認処理部１０７は媒体に記憶されたプログラムコードであり、それをコンピュータが実行することで図３の手順で機能する起動確認処理部１０７が実現される。
【００１９】
まず、ステップＳ３０１で、拡張プログラム固有の公開鍵１０５と拡張プログラム識別情報１０６とを取り出す。ステップＳ３０２で、取り出された公開鍵１０５と拡張プログラム識別情報１０６および起動制限対象プログラムの基本名をパラメータとして、基本プログラム１０１の起動制限確認処理部１０４を呼び出す。たとえば、公開鍵１０５は２進符号列であり、拡張プログラム識別情報１０６は「Ｅｘｔｅｒｎａｌ  Ｐｒｏｇｒａｍ」などの文字や数字の列、起動制限対象プログラムの基本名も「ＥｘｔＰｒｇ」などの文字数字列である。呼出の結果、起動制限確認処理部１０４より拡張プログラム起動の可否が返されるので、ステップＳ３０３にて、返された値を検証し、起動可能である場合は、ステップＳ３０４にて拡張プログラム群１０２の処理を続行する。検証の結果、起動不可である場合は、ステップＳ３０５にて拡張プログラム群１０２の処理を中止する。その際、ユーザに対し、拡張プログラムが起動できなかった旨を通知する等の処理を行うことも考えられる。拡張プログラム群１０２の処理を続行する場合には、たとえば、Ｓ３０２で特定された起動制限対象プログラムをコンピュータにインストールし、基本プログラム１０１の拡張部分として、指定された機能を遂行する場合に直ちに実行可能な状態とされる。
【００２０】
図４は、基本プログラム１０１の起動制限確認処理部１０４の処理を示すフローチャートである。起動制限確認処理部１０４は起動確認処理部１０７のステップＳ３０２により、拡張プログラムの公開鍵１０５、拡張プログラム識別情報１０６例では及び起動制限対象プログラムの基本名（例では「ＥｘｔＰｒｇ」）と共に呼び出される。
【００２１】
先ず、ステップＳ４０１で、渡された拡張プログラム識別情報１０６（「Ｅｘｔｅｒｎａｌ  Ｐｒｏｇｒａｍ」）と基本プログラムの構成情報１０３（例では「ｊｐ」）とから確認情報を生成する。次にステップＳ４０２で、起動制限対象プログラムの基本名と、基本プログラムの構成情報１０３とから拡張プログラムとなる起動制限対象プログラムを決定する。本例の場合は、起動制限対象プログラムの基本名は「ＥｘｔＰｒｇ」、構成情報１０３は「ｊａ」であるので、起動制限対象プログラムは、「ＥｘｔＰｒｇ．ｊａ．ｄｌｌ」と決定される。「．ｄｌｌ」はライブラリを示す拡張子であり、固定的に付加される。ステップＳ４０３で、ステップＳ４０２で決定した名称を持つ起動制限対象プログラムが拡張プログラム群１０２中に存在するか否か判定する。存在しない場合は、指定された拡張プログラムは起動不可であると判断し、ステップＳ４０７にて、呼出元に「起動不可」である旨を返却する。
【００２２】
ステップＳ４０２で決定した名称を持つ起動制限対象プログラムが存在した場合は、ステップＳ４０４にて、該当する起動制限対象プログラム（ライブラリ）をロードする。本例では、起動制限対象プログラム１０８が該当する。起動制限対象プログラムのロードに失敗した場合は、起動不可である旨を呼出元に返却する（ステップＳ４０７）。ロードに成功した場合は、ステップＳ４０５で、ロードした起動制限対象プログラム１０８から署名データを取り出す。本例ではプログラム１０８に含まれる署名データ１０８１を取り出す。
【００２３】
ステップＳ４０６では、ステップＳ４０１で生成した確認情報とステップＳ４０５にて取り出した署名データを、拡張プログラム群１０２の起動確認処理部１０７より渡された公開鍵１０５にて検証する。公開鍵１０５は署名データ作成時に暗号化に用いた秘密鍵に対応する鍵である。秘密鍵に対応する公開鍵とは、その秘密鍵で暗号化した暗号を解読するための鍵であり、あるいはその逆である。検証はたとえば以下のように行う。署名データを公開鍵で解読し、固有情報に復号する。得られた固有情報をステップＳ４０１で生成した確認情報と照合する。固有情報は、基本プログラム１０１の情報から得られた、その基本プログラムの拡張プログラムとして本来採用されるべきプログラムの識別情報と仕向の情報（構成情報）とを含む。従って照合した両者が一致すれば、拡張プログラム識別情報および構成情報は改竄されておらず、ステップＳ４０２で特定された起動制限対象プログラムは、基本プログラム１０１の拡張プログラムとして利用できる正当なプログラムであると判断できる。したがってこの場合には検証は成功である。一方、一致しない場合、その拡張プログラムの識別情報か、プログラムのファイル名に含まれた仕向情報のいずれかが改竄されているおそれがあると判断できる。したがってこの場合には検証は失敗である。
【００２４】
検証が成功した場合は、ステップＳ４０８にて起動可能である旨を処理の呼出元に返却する。検証に失敗した場合は、起動不可である旨を処理の呼出元に返却する（ステップＳ４０７）。図３の手順により、検証が成功すれば当該起動制限対象プログラムが、基本プログラム１０１に対応する拡張プログラムとしてコンピュータにインストールされ、実行可能な状態とされる。
【００２５】
以上のようにして、本実施形態によれば、仕向情報をディジタル署名の元となる情報の一部として使用しているため、仕向の改竄を防止することができる。これにより、基本プログラムの構成情報に従って拡張プログラムの起動を制限でき、本来起動すべきでない拡張プログラムが起動できてしまう問題を解決することが出来る。
【００２６】
［第２実施形態］
本発明の第２の実施形態は、第１の実施形態の起動制限対象プログラムが、ライセンス制御の管理下にある場合である。図５は、本発明の第２の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのブロック図であり、図１に対し、ライセンス管理サービス５０１が追加されている。他の構成に関しては、第１の実施形態と同じであるため、第１の実施形態の説明で使用した図をそのまま利用することにする。また図５では省略したが、各起動制限対象プログラムには署名データが含まれている。
【００２７】
ライセンス管理サービス５０１は、内部にライセンス情報データベース５０２を持ち、ここに、現在ライセンス管理サービスに登録されているライセンスに関する情報、たとえな復号鍵が格納されている。本実施形態でのライセンス管理の動作の概要を以下に記す。ライセンス管理の対象となる起動制限対象プログラムは、ライセンス管理システムにより暗号化されている。図５の例では、錠が施されている起動制限対象プログラム１０８と起動制限対象プログラム１１０が暗号化されており、起動制限対象プログラム１０９は暗号化がなされていない。即ち、拡張プログラムは、日本及び欧州向けにはライセンス販売されるが、米国向けには無償で配布される。
【００２８】
ユーザはライセンスを購入することにより、拡張アプリケーションの供給元より、ライセンス番号を入手する。ユーザは更に、前記ライセンス番号とアプリケーションが動作するホストコンピュータを一意に識別するホストコンピュータ識別子を、図示しないライセンス発行サーバに送付する。ライセンス発行サーバはライセンスの供給元が用意するライセンスの発行を行うためのサーバである。ライセンス発行サーバはライセンス番号とホストコンピュータ識別子から、起動制限対象プログラム（本例ではプログラム１０８）を復号するための鍵を作成してユーザに送付する。ホストコンピュータを一意に識別するホスト識別子としては、ホストコンピュータのＣＰＵＩＤや、ハードディスクの固体識別番号等が用いられる。ユーザはライセンス発行サーバが発行した鍵を、ライセンス情報（または許諾情報とも呼ぶ。）としてライセンス管理サーバ５０１に登録する。ライセンス管理サーバ５０１は登録された鍵を、ライセンス情報データベース５０２内に保管する。鍵は、ユーザに関連づけたり、プログラム識別情報に関連づけたり、あるいは固有情報に関連づけたりして登録することができる。
【００２９】
拡張プログラムをインストールする手順は、図３及び図７に示したものである。図３は第１実施形態と共通なので説明を省略する。
【００３０】
図７は、基本プログラム１０１の起動制限確認処理部１０４の処理を示すフローチャートである。起動制限確認処理部１０４は起動確認処理部１０７のステップＳ３０２により、拡張プログラムの公開鍵１０５、拡張プログラム識別情報１０６例では及び起動制限対象プログラムの基本名（例では「ＥｘｔＰｒｇ」）と共に呼び出される。図４と共通の部分には図４と同じ符号を付したのでその説明は省略する。図７が図４と相違するのは、ステップＳ４０３で、特定された起動制限対象プログラムが存在する場合、ステップＳ４００−Ｓ７０３を行ってライセンスの認証を行うことである。
【００３１】
ステップＳ７００では、ライセンス管理サーバ５０１から該当する鍵、すなわちライセンス情報の取得を試みる。鍵はたとえばユーザに関連づけたり、プログラム識別情報に関連づけたり、あるいは固有情報に関連づけたりして登録されているので、それら関連づけを用いて取得する鍵を特定する。ステップＳ７０１では、該当する鍵すなわちライセンス情報の取得に成功したか否か判定する。成功すればステップＳ７０２に分岐する。ステップＳ７０２では、そのライセンス情報を用いて、ステップＳ４０２で特定した起動制限対象プログラムの解読（すなわち復号）を試みる。ステップＳ７０３でその結果が成功であったか否か判定する。成功であればステップＳ４０４へ進み、復号後の起動制限対象プログラムをロードする。失敗であれば、起動不可の旨を示す情報を呼出し元に返して処理を終了する。なお復号の成功は、たとえば所定の符号列を元データに埋め込み、それを照合することで判定できる。
【００３２】
この結果、暗号化された起動制限対象プログラム１０８の復号は、起動制限対象プログラムのロード時に行われ、正しいライセンス情報がライセンス管理サービスに登録されていない場合は、ロードに失敗する。また、ライセンス管理下に置かれていない起動制限対象プログラム１０９は暗号化されていないため、ライセンス情報が無くともロードに成功する。
【００３３】
この拡張プログラムを、例えば、米国向けの基本プログラム上で動作させた場合は、ライセンスがなくても動作可能である、しかし、欧州向けの基本プログラム上で動作させた場合は、ライセンスが登録されていない場合は、拡張プログラムは起動しない。更に、米国向けの起動制限対象プログラムのファイル名を、欧州向けのファイル名に変更したとしても、ステップＳ４０６の署名の検証に失敗するため、拡張プログラムは起動しない。
【００３４】
このように、第１実施形態の効果に加えて、仕向ごとのライセンス管理を実現することもできる。
【００３５】
なお、拡張プログラムには、図６に示すように、基本プログラムの仕向け毎の固有情報６０１、６０２、６０３が含まれるものもある。仕向け毎の固有情報６０１、６０２、６０３は、仕向け事に異なるデータや処理が含まれ、拡張プログラム群１０２は、これらのデータや処理を用いてその処理を行う。固有情報としては、例えば、暗号アルゴリズムで使用する鍵のビット長や、暗号アルゴリズム本体の処理が挙げられる。例えば、暗号の鍵長を、米国では５１２ビット、日本では２５６ビット、ある特定の地域では１２８ビットに制限する、といったことが可能となる。また、暗号化の方式として、日本と米国ではＲｉｊｎｄａｅｌ、ある特定の地域ではＤＥＳを強制することが可能となる。
【００３６】
なお、第１及び第２実施形態では、基本プログラムに付加される拡張プログラムの管理を例としたが、たとえば基本プログラムをオペレーティングシステムとみなし、拡張プログラムをそのＯＳ上で動作する他のプログラムとみなした場合にも適用できる。換言すれば、基本プログラムはオペレーティングシステムを含み、拡張プログラムはそのＯＳ上で動作するアプリケーションやドライバ等、ＯＳ以外のプログラムを含むものとしても本発明を適用できる。
【００３７】
なお本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３８】
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００３９】
【図１】第１の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのブロック図である。
【図２】プログラムが動作するホストコンピュータのハードウェア構成を示すブロック図である。
【図３】拡張プログラムの起動確認処理部の処理を示すフローチャートである。
【図４】第１実施形態における基本プログラムの起動制限確認処理部の処理を示すフローチャートである。
【図５】第２の実施形態に係る基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのブロック図である。
【図６】基本プログラム上での拡張プログラムの起動制限を行う方式を実装したプログラムのバリエーションのブロック図である。
【図７】第２実施形態における基本プログラムの起動制限確認処理部の処理を示すフローチャートである。
【符号の説明】
【００４０】
２０２  ＣＰＵ
２０３  ＲＯＭ
２０４  ＲＡＭ
２０５  システムバス
２０６  キーボードコントローラ
２０７  キーボード
２０８  ビデオコントローラ
２０９  表示装置
２１０  外部記憶装置コントローラ
２１１  外部記憶装置
２１２  ネットワークインタ−フェイス
２１３  ローカルエリアネットワーク
【図１】
0005036475.tif 000002
【図２】
0005036475.tif 000003
【図３】
0005036475.tif 000004
【図４】
0005036475.tif 000005
【図５】
0005036475.tif 000006
【図６】
0005036475.tif 000007
【図７】
0005036475.tif 000008