(57)【特許請求の範囲】
【請求項１】
暗号機能を搭載可能な装置であって、
暗号機能を提供する１つ以上の暗号機能提供手段と、
前記暗号機能提供手段を代理する暗号機能を提供しない代理手段と、
暗号機能を利用する暗号機能利用手段と、
前記暗号機能利用手段からの暗号処理要求を受信し、前記暗号処理要求に含まれる暗号アルゴリズムの指定に応じて前記暗号処理要求を前記１つ以上の暗号機能提供手段の何れかに振り分ける振り分け手段と
を有し、前記振り分け手段は前記暗号処理要求に前記暗号機能提供手段の指定が含まれていると前記暗号処理要求を前記代理手段に振り分けることを特徴とする装置。
【請求項２】
前記振り分け手段は、起動時に、前記暗号機能提供手段から提供可能な暗号アルゴリズムの情報を受信して設定すると共に、前記代理手段が代理する前記暗号機能提供手段と同じ暗号アルゴリズムの情報を前記代理手段から受信して設定し、前記代理手段の前記暗号処理要求が振り分けられる優先度が前記暗号機能提供手段の前記暗号処理要求が振り分けられる優先度よりも高くなるように前記代理手段と前記暗号機能提供手段との優先度を設定することを特徴とする請求項１記載の装置。
【請求項３】
前記代理手段は、前記暗号機能利用手段に利用させない前記暗号機能提供手段に対応するように設けられることを特徴とする請求項１又は２記載の装置。
【請求項４】
前記代理手段は、暗号機能の提供を、前記暗号機能提供手段の利用許可のある前記暗号機能利用手段に制限する機能が無い前記暗号機能提供手段に対応するように設けられることを特徴とする請求項１又は２記載の装置。
【請求項５】
暗号機能を搭載可能な装置における暗号機能利用制限方法であって、
暗号機能を利用する暗号機能利用手段からの暗号処理要求を振り分け手段が受信する受信ステップと、
前記暗号処理要求に含まれる暗号アルゴリズムの指定に応じて前記暗号処理要求を、暗号機能を提供する１つ以上の暗号機能提供手段の何れかに前記振り分け手段が振り分ける振り分けステップと
を有し、前記振り分けステップは前記暗号処理要求に前記暗号機能提供手段の指定が含まれていると前記暗号処理要求を、前記暗号機能提供手段を代理する暗号機能を提供しない代理手段に振り分けることを特徴とする暗号機能利用制限方法。
【請求項６】
前記振り分け手段は、起動時に、前記暗号機能提供手段から提供可能な暗号アルゴリズムの情報を受信して設定すると共に、前記代理手段が代理する前記暗号機能提供手段と同じ暗号アルゴリズムの情報を前記代理手段から受信して設定し、前記代理手段の前記暗号処理要求が振り分けられる優先度が前記暗号機能提供手段の前記暗号処理要求が振り分けられる優先度よりも高くなるように前記代理手段と前記暗号機能提供手段との優先度を設定することを特徴とする請求項５記載の暗号機能利用制限方法。
【請求項７】
前記代理手段は、前記暗号機能利用手段に利用させない前記暗号機能提供手段に対応するように設けられることを特徴とする請求項５又は６記載の暗号機能利用制限方法。
【請求項８】
前記代理手段は、暗号機能の提供を、前記暗号機能提供手段の利用許可のある前記暗号機能利用手段に制限する機能が無い前記暗号機能提供手段に対応するように設けられることを特徴とする請求項５又は６記載の暗号機能利用制限方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は暗号機能を搭載可能な装置及び暗号機能利用制限方法に係り、特に暗号機能を搭載可能な装置における暗号機能の利用を制限する、暗号機能を搭載可能な装置及び暗号機能利用制限方法に関する。
【背景技術】
【０００２】
例えば暗号機能を搭載可能な装置を第三国に輸出する場合は機密の暗号アルゴリズムが利用できないような仕組みを設けておかなければ、輸出規制をクリアできない。しかしながら、機密の暗号アルゴリズムは国家の暗号政策（ポリシー）や国家間の関係等により異なるものである（例えば特許文献１〜３参照）。
【０００３】
したがって、暗号機能を搭載可能な装置を第三国に輸出する場合は例えば輸出先（仕向け地）毎に異なる機密の暗号アルゴリズムが搭載されていない装置を輸出先毎に用意していた。
【特許文献１】特開平１０−１７１６４８号公報
【特許文献２】特開平１０−３１３３０９号公報
【特許文献３】特許第３７５３８８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、機密の暗号アルゴリズムが搭載されていない装置を輸出先毎に用意しておくことは、無駄が多かった。このため、暗号機能を搭載可能な装置を第三国に輸出する製造業者（メーカー）は機密の暗号アルゴリズムが利用できない信頼性の高い仕組みを容易に実現することを望んでいた。
【０００５】
本発明は、上記の点に鑑みなされたもので、信頼性の高い暗号機能の利用制限を容易に実現可能な、暗号機能を搭載可能な装置及び暗号機能利用制限方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、暗号機能を搭載可能な装置であって、暗号機能を提供する１つ以上の暗号機能提供手段と、前記暗号機能提供手段を代理する暗号機能を提供しない代理手段と、暗号機能を利用する暗号機能利用手段と、前記暗号機能利用手段からの暗号処理要求を受信し、前記暗号処理要求に含まれる暗号アルゴリズムの指定に応じて前記暗号処理要求を前記１つ以上の暗号機能提供手段の何れかに振り分ける振り分け手段とを有し、前記振り分け手段は前記暗号処理要求に前記暗号機能提供手段の指定が含まれていると前記暗号処理要求を前記代理手段に振り分けることを特徴とする。
【０００９】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、信頼性の高い暗号機能の利用制限を容易に実現可能な、暗号機能を搭載可能な装置及び暗号機能利用制限方法を提供可能である。
【発明を実施するための最良の形態】
【００１１】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。
【実施例１】
【００１２】
まず、本実施例の理解を容易とするため、暗号機能を搭載可能な装置（以下、単に装置と呼ぶ）において暗号機能を利用する従来の仕組みについて説明する。図１は従来の装置のソフトウェア構成図である。図１の装置は、Ｊａｖａ  ＯＳＧｉ１，コンポーネント管理部（ＣＭＰ管理部）２，コンポーネント（ＣＭＰ）３−１〜３−４，暗号Ｉ／Ｆ部（ＪＣＥ）４，アクセス制御部５，暗号ロジック部の暗号プロバイダ６Ａ及び６Ｂを有する構成である。
【００１３】
Ｊａｖａ  ＯＳＧｉ１は、プラットフォームであるフレームワーク（Ｆｒａｍｅｗｏｒｋ）と、その上でサービスとして動作するバンドル（Ｂｕｎｄｌｅ）で構成されたＪａｖａ言語に基づく、ＳＯＡ（Ｓｅｒｖｉｃｅ  Ｏｒｉｅｎｔｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）ベースのサービスプラットフォームである。Ｊａｖａ  ＯＳＧｉ１はプログラムの土台として機能し、プログラムの起動や終了を制御する。
【００１４】
コンポーネント管理部２はコンポーネント３−１〜３−４のインストールを管理するものである。コンポーネント３−１〜３−４は暗号プロバイダ６Ａ及び６Ｂを利用するアプリケーションである。暗号Ｉ／Ｆ部４はコンポーネント３−１〜３−４から暗号処理要求を受信し、後述のように暗号プロバイダ６Ａ又は６Ｂへ振り分けるものである。
【００１５】
暗号プロバイダ６Ａ及び６Ｂは、受信した暗号処理要求に基づいて実際の暗号処理を行うものである。暗号プロバイダ６Ａ及び６Ｂは暗号処理結果を暗号Ｉ／Ｆ部４経由で暗号処理要求の送信元であるコンポーネント３−１〜３−４の何れかに送信する。暗号プロバイダ６Ａはアクセス制御機能を有するものとする。また、暗号プロバイダ６Ｂはアクセス制御機能を有していないものとする。
【００１６】
アクセス制御部５は、アクセス制御機能を有する暗号プロバイダ６Ａから利用制限確認要求を受信すると、暗号処理要求の送信元である例えばコンポーネント３−１に暗号プロバイダ６Ａの利用許可があるかを確認し、その確認結果を利用制限確認応答として暗号プロバイダ６Ａに送信するものである。
【００１７】
図２は、アクセス制御部がコンポーネントに暗号プロバイダの利用許可があるかを確認するために利用するアクセス制御データベースの作成手順を表した一例のフローチャートである。なお、コンポーネント３−１は暗号プロバイダ６Ａの利用許可があるものとして説明する。
【００１８】
ステップＳ１に進み、コンポーネント３−１はコンポーネント管理部２にインストールを要求する。コンポーネント管理部２は、コンポーネント３−１のインストールを行うと共に、ステップＳ２においてアクセス制御パーミッションファイル要求をコンポーネント３−１に対して行う。
【００１９】
ステップＳ３に進み、コンポーネント３−１はアクセス制御パーミッションファイル１２をコンポーネント管理部２に提示する。ステップＳ４に進み、コンポーネント管理部２は提示されたアクセス制御パーミッションファイル１２をアクセス制御データベースに格納してデータベース化する。アクセス制御データベース１１には、コンポーネント３−１が暗号プロバイダ６Ａの利用許可を有していることが格納される。
【００２０】
図２のフローチャートによれば、コンポーネント３−１〜３−４毎に、暗号プロバイダ６Ａ又は６Ｂの利用許可を有しているか否かがアクセス制御データベース１１に格納される。従って、アクセス制御部５はアクセス制御データベース１１を確認することで、暗号処理要求の送信元であるコンポーネント３−１〜３−４の何れかに暗号プロバイダ６Ａ又は６Ｂの利用許可があるかを確認できる。
【００２１】
図３は、起動時に暗号Ｉ／Ｆ部が行う処理の処理手順を表した一例のフローチャートである。ステップＳ１１に進み、起動制御部２１は暗号Ｉ／Ｆ部４に起動要求を行う。起動要求を受けた暗号Ｉ／Ｆ部４はステップＳ１２に進み、プロバイダ定義ファイル２２を読み出し、プロバイダロードを行う暗号プロバイダ６Ａ及び６Ｂを選択する。
【００２２】
ステップＳ１３に進み、暗号Ｉ／Ｆ部４は暗号プロバイダ６Ａに対して暗号プロバイダロードを行う。また、ステップＳ１４に進み、暗号Ｉ／Ｆ部４は暗号プロバイダ６Ｂに対して暗号プロバイダロードを行う。ステップＳ１３及びＳ１４の暗号プロバイダロードにより、暗号Ｉ／Ｆ部４は暗号プロバイダ６Ａ及び６Ｂの暗号アルゴリズム及び優先度を取得する。ステップＳ１５に進み、暗号Ｉ／Ｆ部４は起動処理結果を起動制御部２１に通知する。図３のフローチャートによれば、暗号Ｉ／Ｆ部４は起動した暗号プロバイダ６Ａ及び６Ｂの暗号アルゴリズム及び優先度を取得し、保持しておくことができる。
【００２３】
また、図４はアクセス制御機能を有する暗号プロバイダの暗号処理手順を表した一例のフローチャートである。ステップＳ２１に進み、暗号プロバイダ６Ａの利用許可があるコンポーネント３−１は暗号Ｉ／Ｆ部４に暗号処理要求を行う。ステップＳ２１の暗号処理要求には暗号アルゴリズム及び暗号鍵の指定が含まれる。
【００２４】
ステップＳ２２に進み、暗号Ｉ／Ｆ部４はステップＳ２１の暗号処理要求に含まれる暗号アルゴリズムの指定に基づき、その暗号アルゴリズムを利用可能な例えば暗号プロバイダ６Ａに暗号処理要求を振り分ける。ステップＳ２３に進み、暗号プロバイダ６Ａはアクセス制御部５に対して利用制限確認要求を行う。
【００２５】
ステップＳ２４に進み、アクセス制御部５はアクセス制御データベース１１に格納されているアクセス制御パーミッションファイル１２を確認し、暗号処理要求の送信元であるコンポーネント３−１に暗号プロバイダ６Ａの利用許可があることを確認する。
【００２６】
ステップＳ２５に進み、アクセス制御部５は暗号処理要求の送信元であるコンポーネント３−１に暗号プロバイダ６Ａの利用許可があることを示す確認結果を暗号プロバイダ６Ａに送信する。すると、暗号プロバイダ６Ａはコンポーネント３−１から受信した暗号処理要求に応じた暗号処理を行う。ステップＳ２６，Ｓ２７に進み、暗号プロバイダ６Ａは暗号処理結果を暗号Ｉ／Ｆ部４経由でコンポーネント３−１に送信する。
【００２７】
図４のフローチャートでは、アクセス制御機能を有する暗号プロバイダ６Ａの暗号処理手順を表している。次に、アクセス制御機能を有さない暗号プロバイダ６Ｂの暗号処理手順について説明する。
【００２８】
図５は、アクセス制御機能を有さない暗号プロバイダの暗号処理手順を表した一例のフローチャートである。ステップＳ３１に進み、暗号プロバイダ６Ｂの利用許可がないコンポーネント３−２は暗号Ｉ／Ｆ部４に暗号処理要求を行う。ステップＳ３１の暗号処理要求には暗号アルゴリズムＤ及び暗号鍵の指定が含まれる。
【００２９】
ステップＳ３２に進み、暗号Ｉ／Ｆ部４はステップＳ３１の暗号処理要求に含まれる暗号アルゴリズムＤの指定に基づき、その暗号アルゴリズムＤを保持している暗号プロバイダ６Ｂを検索する。ステップＳ３３に進み、暗号Ｉ／Ｆ部４はステップＳ３２で検索した暗号プロバイダ６Ｂに暗号処理要求を振り分ける。ステップＳ３３の暗号処理要求には暗号アルゴリズムＤ及び暗号鍵の指定が含まれる。
【００３０】
暗号プロバイダ６Ｂはアクセス制御機能を有していない為、アクセス制御部５に対して利用制限確認要求を行わない。言い換えれば、暗号プロバイダ６Ｂは暗号処理要求の送信元であるコンポーネント３−２に暗号プロバイダ６Ｂの利用許可が有るか無いかを確認できない。
【００３１】
結果として、暗号プロバイダ６Ｂは暗号プロバイダ６Ｂの利用許可のないコンポーネント３−２からの暗号処理要求に応じた暗号処理を行う。暗号プロバイダ６Ｂは、ステップＳ３４，Ｓ３５に進み、暗号処理結果を暗号Ｉ／Ｆ部４経由でコンポーネント３−２に送信する。
【００３２】
このように、図４のフローチャートは、コンポーネント３−２が利用許可のない暗号プロバイダ６Ｂを利用できてしまうため、問題がある。
【００３３】
図６は、アクセス制御機能を有さない暗号プロバイダの暗号処理手順を表した他の例のフローチャートである。図６のフローチャートは暗号Ｉ／Ｆ部４が例えばコンポーネント３−２からの暗号プロバイダ６Ｂの直接指定を受け付ける例である。
【００３４】
ステップＳ４１に進み、暗号プロバイダ６Ｂの利用許可がないコンポーネント３−２は暗号Ｉ／Ｆ部４に暗号処理要求を行う。ステップＳ４１の暗号処理要求には暗号アルゴリズム，暗号鍵及び暗号プロバイダ６Ｂの指定が含まれる。
【００３５】
ステップＳ４２に進み、暗号Ｉ／Ｆ部４はステップＳ４１の暗号処理要求に含まれる暗号プロバイダ６Ｂの指定に基づき、ステップＳ４１の暗号処理要求を暗号プロバイダ６Ｂに振り分ける。ステップＳ４２の暗号処理要求には暗号アルゴリズム，暗号鍵及び暗号プロバイダ６Ｂの指定が含まれる。
【００３６】
暗号プロバイダ６Ｂはアクセス制御機能を有していない為、アクセス制御部５に対して利用制限確認要求を行わない。言い換えれば、暗号プロバイダ６Ｂは暗号処理要求の送信元であるコンポーネント３−２に暗号プロバイダ６Ｂの利用許可が有るか無いかを確認できない。
【００３７】
結果として、暗号プロバイダ６Ｂは暗号プロバイダ６Ｂの利用許可のないコンポーネント３−２からの暗号処理要求に応じた暗号処理を行う。暗号プロバイダ６Ｂは、ステップＳ４３，Ｓ４４に進み、暗号処理結果を暗号Ｉ／Ｆ部４経由でコンポーネント３−２に送信する。
【００３８】
このように、図６のフローチャートは、コンポーネント３−２が利用許可のない暗号プロバイダ６Ｂを利用できてしまうため、問題がある。
【００３９】
そこで、本実施例では図５及び図６に示したような問題を以下のように解決する。図７は本実施例の装置のソフトウェア構成図である。図７の装置は、図１の装置の構成に代理プロバイダ７が追加された構成である。代理プロバイダ７はアクセス制御機能を有していない暗号プロバイダ６Ｂに対応するものであり、暗号プロバイダ６Ｂの代理応答を行うものである。
【００４０】
代理プロバイダ７は、暗号プロバイダ６Ｂの代理応答を後述のように行うことで、例えばコンポーネント３−２が利用許可のない暗号プロバイダ６Ｂを利用できてしまうという図５及び図６に示したような問題を解決する。
【００４１】
図８は、アクセス制御機能を有さない暗号プロバイダの暗号処理手順を表した本実施例のフローチャートである。図８のフローチャートは暗号Ｉ／Ｆ部４が例えばコンポーネント３−２からの暗号プロバイダ６Ｂの直接指定を受け付ける例である。
【００４２】
なお、暗号Ｉ／Ｆ部４は図３に示したフローチャートの処理により代理プロバイダ７の暗号アルゴリズム及び優先度を取得しているものとする。図８の例では、暗号Ｉ／Ｆ部４が代理プロバイダ７の暗号アルゴリズム及び優先度として暗号プロバイダ６Ｂと同じ暗号アルゴリズムＤ及び暗号プロバイダ６Ｂよりも高い優先度を取得しているものとする。
【００４３】
ステップＳ５１に進み、暗号プロバイダ６Ｂの利用許可がないコンポーネント３−２は暗号Ｉ／Ｆ部４に暗号処理要求を行う。ステップＳ５１の暗号処理要求には暗号アルゴリズム，暗号鍵及び暗号プロバイダ６Ｂの指定が含まれる。
【００４４】
暗号Ｉ／Ｆ部４はステップＳ５１の暗号処理要求に含まれる暗号プロバイダ６Ｂの指定に基づき、暗号プロバイダ６Ｂ及び代理プロバイダ７を選択するが、最終的に暗号プロバイダ６Ｂよりも優先度の高い代理プロバイダ７を選択する。
【００４５】
ステップＳ５２に進み、暗号Ｉ／Ｆ部４はステップＳ５１の暗号処理要求を代理プロバイダ７に振り分ける。ステップＳ５２の暗号処理要求には暗号アルゴリズム，暗号鍵及び暗号プロバイダ６Ｂの指定が含まれる。
【００４６】
代理プロバイダ７は、暗号処理要求に対して暗号処理拒否応答を返すものである。したがって、代理プロバイダ７はステップＳ５３に進み、ステップＳ５２の暗号処理要求に応じて暗号処理拒否応答を暗号Ｉ／Ｆ部４に送信する。ステップＳ５４に進み、暗号Ｉ／Ｆ部４は暗号処理結果（失敗）をコンポーネント３−２に送信する。
【００４７】
結果として、暗号プロバイダ６Ｂは暗号プロバイダ６Ｂの利用許可のないコンポーネント３−２からの暗号処理要求に応じた暗号処理を行わない。なお、ステップＳ５１の暗号処理要求に暗号アルゴリズムＤ及び暗号鍵の指定が含まれる場合であっても、暗号Ｉ／Ｆ部４は暗号アルゴリズムＤの指定に基づき、その暗号アルゴリズムＤを保持している暗号プロバイダ６Ｂ及び代理プロバイダ７を検索するが、最終的に暗号プロバイダ６Ｂよりも優先度の高い代理プロバイダを選択する。結果として、暗号プロバイダ６Ｂは暗号プロバイダ６Ｂの利用許可のないコンポーネント３−２からの暗号処理要求に応じた暗号処理を行わない。
【００４８】
このように、図８のフローチャートは、コンポーネント３−２が利用許可のない暗号プロバイダ６Ｂを利用できず、図５及び図６に示したような問題を解決している。本実施例の装置は、利用させたくない暗号プロバイダ６Ｂに対応する代理プロバイダ７を用意しておくことで、信頼性の高い暗号機能の利用制限を容易に実現できる。
【実施例２】
【００４９】
図９は本実施例のシステムのハードウェア構成図である。図９のシステムは装置３１とアプリケーションサーバ３２とがインターネットやＬＡＮ等のネットワーク３３を介してデータ通信可能に接続されている。図９の装置３１は、一例としてＣＰＵ，ＲＡＭ，ＲＯＭ，ＮＩＣ（ネットワークインターフェースカード）を有する構成を示している。
【００５０】
図１０は本実施例の装置のソフトウェア構成図である。装置３１は、Ｊａｖａ  ＯＳＧｉ１，コンポーネント管理部２，コンポーネント３−１〜３−４，暗号Ｉ／Ｆ部４，アクセス制御部５，インストール実行部４１，暗号プロバイダ制御部４２，ネットワーク制御部４３，システム起動制御部４４を有する構成である。図１０の装置３１は暗号ロジック部に暗号プロバイダ６Ａ及び６Ｂを有していないか、ＨＴＴＰＳができる最低強度の暗号プロバイダを有する。
【００５１】
図１１は本実施例のアプリケーションサーバのソフトウェア構成図である。図１１のアプリケーションサーバ３２は、暗号プロバイダ６−１〜６−３，暗号プロバイダ判断部５１，地域情報取得部５２，アプリケーション提供部５３及びネットワーク制御部５４を有する構成である。図１１のアプリケーションサーバ３２は、暗号強度「低」の暗号プロバイダ６−１，暗号強度「中」の暗号プロバイダ６−２，暗号強度「高」の暗号プロバイダ６−３を有している。
【００５２】
装置３１は、図１２，図１３のフローチャートに示すように、アプリケーションサーバ３２が提供可能と判断した暗号強度の暗号プロバイダ６−１〜６−３をダウンロードして利用する。図１２，図１３はアプリケーションサーバから装置に暗号プロバイダをダウンロードして利用する処理手順を示す一例のフローチャートである。
【００５３】
ステップＳ６１に進み、装置３１のコンポーネント管理部２はネットワーク制御部４３に暗号プロバイダダウンロード要求を行う。ステップＳ６２に進み、ネットワーク制御部４３はｈｔｔｐ（ｓ）通信によりアプリケーションサーバ３２のネットワーク制御部５４へ暗号プロバイダダウンロード要求を行う。なお、ステップＳ６２の暗号プロバイダダウンロード要求におけるｈｔｔｐ：ｂｏｄｙ部には、装置３１が設置されている地域を識別する為の地域識別情報が含まれる。
【００５４】
ステップＳ６３に進み、ネットワーク制御部５４は、暗号プロバイダダウンロード要求があったことをアプリケーション提供部５３へ通知する。ステップＳ６４に進み、アプリケーション提供部５３はネットワーク制御部５４へ地域識別情報取得要求を行う。ネットワーク制御部５４はステップＳ６５に進み、暗号プロバイダダウンロード要求に含まれていた地域識別情報を地域情報取得部５２に取得させ、地域識別情報をアプリケーション提供部５３へ送信する。
【００５５】
ステップＳ６６に進み、アプリケーション提供部５３は地域識別情報を暗号プロバイダ判断部５１に送信する。ステップＳ６７に進み、暗号プロバイダ判断部５１は後述の図１４に示すダウンロード許可判断処理により、暗号プロバイダ６−１〜６−３から装置３１へ提供可能な暗号プロバイダを判断する。ここでは、暗号プロバイダ６−３が装置３１へ提供可能な暗号プロバイダとして判断された例を説明する。なお、装置３１へ提供可能な暗号プロバイダは複数個であってもよいし、ダウンロード要求を拒否する０個であってもよい。
【００５６】
ステップＳ６８に進み、暗号プロバイダ判断部５１はステップＳ６７で判断した提供可能な暗号プロバイダ６−３をアプリケーション提供部５３に通知する。そして、ステップＳ６９〜Ｓ７１に進み、アプリケーション提供部５３はステップＳ６７で装置３１へ提供可能と判断された暗号プロバイダ６−３のプログラムを、ネットワーク制御部５４及び装置３１のネットワーク制御部４３経由でコンポーネント管理部２にダウンロードする。
【００５７】
ステップＳ７２に進み、コンポーネント管理部２はインストール実行部４１に暗号プロバイダ６−３のプログラムを送信し、インストール実行要求を行う。インストール実行部４１はステップＳ７３に進み、暗号プロバイダ制御部４２へ暗号プロバイダ６−３のインストール実行要求を行う。
【００５８】
ステップＳ７４に進み、暗号プロバイダ制御部４２は暗号Ｉ／Ｆ部４に暗号プロバイダ追加処理要求を行う。暗号プロバイダ追加処理は、前述したプロバイダ定義ファイル２２の更新等、暗号プロバイダ６−３を暗号ロジック部へ追加する為に必要な処理である。ステップＳ７５に進み、暗号プロバイダ制御部４２はシステム起動制御部４４へシステム再起動要求を行い、装置３１を再起動させる。再起動後、装置３１は暗号ロジック部に暗号プロバイダ６−３を有している。
【００５９】
図１４は、ダウンロード許可判断処理の手順を示す一例のフローチャートである。アプリケーション提供部５３から地域識別情報を受信すると、暗号プロバイダ判断部５１はステップＳ１００に進み、地域識別情報が暗号プロバイダ６−１〜６−３を提供可能な地域か判断する。
【００６０】
地域識別情報は、装置３１の言語コード，ＧＰＳ（全地球測位システム）位置情報，地域情報，ＧＭＴ（グリニッジ平均時）エリア，ＩＰアドレス等である。例えば暗号プロバイダ判断部５１は、言語コードがＡ言語の場合，ＧＰＳ位置情報がＢ地域の場合，地域情報がＣ地域の場合，ＧＭＴエリアがＤ地域の場合，ＩＰアドレスがＥ国の場合等に、地域識別情報が暗号プロバイダ６−１〜６−３を提供可能な地域でないと判断する。
【００６１】
地域識別情報が暗号プロバイダ６−１〜６−３を提供可能な地域であれば、暗号プロバイダ判断部５１はステップＳ１０１に進み、地域識別情報により提供可能な暗号強度の暗号プロバイダを決定する。例えば暗号プロバイダ判断部５１は、地域識別情報がＡ地域の場合に暗号強度「低」の暗号プロバイダ６−１を提供可能な暗号強度の暗号プロバイダとして決定し、地域識別情報がＢ地域の場合に暗号強度「高」の暗号プロバイダ６−３を提供可能な暗号強度の暗号プロバイダとして決定する。ステップＳ１０２に進み、暗号プロバイダ判断部５１はステップＳ１０１で決定した提供可能な暗号強度の暗号プロバイダのダウンロードを許可する。
【００６２】
一方、ステップＳ１００において、地域識別情報が暗号プロバイダ６−１〜６−３を提供可能な地域でなければ、暗号プロバイダ判断部５１はステップＳ１０３に進み、暗号プロバイダ６−１〜６−３のダウンロードを拒否する。
【００６３】
このように、本実施例の装置３１は最初、暗号ロジック部に暗号プロバイダを有しておらず、装置３１が設置されている地域を識別する為の地域識別情報に基づき、提供可能な暗号強度の暗号プロバイダをアプリケーションサーバ３２からダウンロードして利用するため、装置３１が設置されている地域に応じて信頼性の高い暗号機能の利用制限を容易に実現できる。
【実施例３】
【００６４】
図１５は本実施例の装置のハードウェア構成図である。図１５の装置６１は、一例としてＣＰＵ，ＲＡＭ，ＲＯＭ，ＮＩＣ及び外部記憶媒体インターフェースを有する構成を示している。
【００６５】
図１６は本実施例の装置のソフトウェア構成図である。装置６１は、Ｊａｖａ  ＯＳＧｉ１，コンポーネント管理部２，コンポーネント３−１〜３−４，暗号Ｉ／Ｆ部４，アクセス制御部５，インストール実行部４１，暗号プロバイダ制御部４２，システム起動制御部４４，外部記憶媒体制御部７１を有する構成である。図１６の装置６１は暗号ロジック部に暗号プロバイダ６Ａ及び６Ｂを有していないか、ＨＴＴＰＳができる最低強度の暗号プロバイダを有する。
【００６６】
装置６１は、図１７のフローチャートに示すように、提供可能と判断した暗号強度の暗号プロバイダを外部記憶媒体からインストールして利用する。図１７は外部記憶媒体から装置に暗号プロバイダをインストールして利用する処理手順を示す一例のフローチャートである。図１７のフローチャートは外部記憶媒体から読み出された暗号プロバイダが暗号ロジック部に追加される例を表している。
【００６７】
ステップＳ８１に進み、外部記憶媒体制御部７１は例えばスロットに挿入された外部記憶媒体を検知する。ステップＳ８２に進み、外部記憶媒体制御部７１はプログラム検知をコンポーネント管理部２に通知する。ステップＳ８３に進み、コンポーネント管理部２はプログラム取得を外部記憶媒体制御部７１に要求する。
【００６８】
ステップＳ８４に進み、外部記憶媒体制御部７１は外部記憶媒体からプログラム（暗号プロバイダ）を読み出し、コンポーネント管理部２にロードする。コンポーネント管理部２はステップＳ８５に進み、外部記憶媒体から読み出された暗号プロバイダのプログラムをインストール実行部４１に送信し、インストール実行要求を行う。インストール実行部４１はステップＳ８６に進み、暗号プロバイダ制御部４２へ外部記憶媒体から読み出された暗号プロバイダのインストール実行要求を行う。
【００６９】
ステップＳ８７に進み、暗号プロバイダ制御部４２は前述の図１４に示すダウンロード許可判断処理と同様なインストール可否判断処理により、外部記憶媒体から読み出された暗号プロバイダのうち装置６１へ追加可能な暗号プロバイダを判断する。
【００７０】
ステップＳ８８に進み、暗号プロバイダ制御部４２は暗号Ｉ／Ｆ部４に暗号プロバイダ追加処理要求を行う。暗号プロバイダ追加処理は、前述したプロバイダ定義ファイル２２の更新等、追加可能と判断された暗号プロバイダを暗号ロジック部へ追加する為に必要な処理である。ステップＳ８９に進み、暗号プロバイダ制御部４２はシステム起動制御部４４へシステム再起動要求を行い、装置６１を再起動させる。再起動後、装置６１は暗号ロジック部にステップＳ８７で追加可能と判断された暗号プロバイダを有している。
【００７１】
また、図１８は外部記憶媒体から装置に暗号プロバイダをインストールして利用する処理手順を示す他の例のフローチャートである。図１８のフローチャートは外部記憶媒体から読み出された暗号プロバイダが暗号ロジック部に追加されない例を表している。
【００７２】
ステップＳ９１〜Ｓ９６の処理は図１７のステップＳ８１〜Ｓ８６と同様であり、説明を省略する。ステップＳ９７に進み、暗号プロバイダ制御部４２は前述の図１４に示すダウンロード許可判断処理と同様なインストール可否判断処理により、外部記憶媒体から読み出された暗号プロバイダのうち装置６１へ追加可能な暗号プロバイダを判断する。
【００７３】
ここでは装置６１へ追加可能な暗号プロバイダが無かったものとする。ステップＳ９８に進み、暗号プロバイダ制御部４２はインストール実行部４１に対し、インストール拒絶応答を行う。ステップＳ９９に進み、インストール実行部４１はコンポーネント管理部２へインストール失敗応答を行う。
【００７４】
このように、本実施例の装置６１は最初、暗号ロジック部に暗号プロバイダを有しておらず、装置６１が設置されている地域を識別する為の地域識別情報に基づき、追加可能な暗号強度の暗号プロバイダを外部記憶媒体からインストールして利用するため、装置６１が設置されている地域に応じて信頼性の高い暗号機能の利用制限を容易に実現できる。
【００７５】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば暗号機能を搭載可能な装置の一例としての複合機やコピー機などの画像処理装置に本発明を適用すれば、輸出先が他国となる画像処理装置に、信頼性の高い暗号機能の利用制限を容易に実現可能である。
【図面の簡単な説明】
【００７６】
【図１】従来の装置のソフトウェア構成図である。
【図２】アクセス制御部がコンポーネントに暗号プロバイダの利用許可があるかを確認するために利用するアクセス制御データベースの作成手順を表した一例のフローチャートである。
【図３】起動時に暗号Ｉ／Ｆ部が行う処理の処理手順を表した一例のフローチャートである。
【図４】アクセス制御機能を有する暗号プロバイダの暗号処理手順を表した一例のフローチャートである。
【図５】アクセス制御機能を有さない暗号プロバイダの暗号処理手順を表した一例のフローチャートである。
【図６】アクセス制御機能を有さない暗号プロバイダの暗号処理手順を表した他の例のフローチャートである。
【図７】本実施例の装置のソフトウェア構成図である。
【図８】アクセス制御機能を有さない暗号プロバイダの暗号処理手順を表した本実施例のフローチャートである。
【図９】本実施例のシステムのハードウェア構成図である。
【図１０】本実施例の装置のソフトウェア構成図である。
【図１１】本実施例のアプリケーションサーバのソフトウェア構成図である。
【図１２】アプリケーションサーバから装置に暗号プロバイダをダウンロードして利用する処理手順を示す一例のフローチャート（１／２）である。
【図１３】アプリケーションサーバから装置に暗号プロバイダをダウンロードして利用する処理手順を示す一例のフローチャート（２／２）である。
【図１４】ダウンロード許可判断処理の手順を示す一例のフローチャートである。
【図１５】本実施例の装置のハードウェア構成図である。
【図１６】本実施例の装置のソフトウェア構成図である。
【図１７】外部記憶媒体から装置に暗号プロバイダをインストールして利用する処理手順を示す一例のフローチャートである。
【図１８】外部記憶媒体から装置に暗号プロバイダをインストールして利用する処理手順を示す他の例のフローチャートである。
【符号の説明】
【００７７】
１    Ｊａｖａ  ＯＳＧｉ
２    コンポーネント管理部（ＣＭＰ管理部）
３−１〜３−４    コンポーネント（ＣＭＰ）
４    暗号Ｉ／Ｆ部（ＪＣＥ）
５    アクセス制御部
６Ａ，６Ｂ    暗号プロバイダ
７    代理プロバイダ
１１    アクセス制御データベース
２１    起動制御部
２２    プロバイダ定義ファイル
３１，６１    暗号機能を搭載可能な装置
３２    アプリケーションサーバ
３３    ネットワーク
４１    インストール実行部
４２    暗号プロバイダ制御部
４３，５４    ネットワーク制御部
４４    システム起動制御部
５１    暗号プロバイダ判断部
５２    地域情報取得部
５３    アプリケーション提供部
７１    外部記憶媒体制御部
【図１】
0005303988.tif 000002
【図２】
0005303988.tif 000003
【図３】
0005303988.tif 000004
【図４】
0005303988.tif 000005
【図５】
0005303988.tif 000006
【図６】
0005303988.tif 000007
【図７】
0005303988.tif 000008
【図８】
0005303988.tif 000009
【図９】
0005303988.tif 000010
【図１０】
0005303988.tif 000011
【図１１】
0005303988.tif 000012
【図１２】
0005303988.tif 000013
【図１３】
0005303988.tif 000014
【図１４】
0005303988.tif 000015
【図１５】
0005303988.tif 000016
【図１６】
0005303988.tif 000017
【図１７】
0005303988.tif 000018
【図１８】
0005303988.tif 000019