説明

情報処理装置および方法、並びにプログラム

【課題】セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができるようにする。
【解決手段】 アクセスコントロールリスト142には、アクセスを許可する鍵や暗号処理に関する情報が記述されている。認証が成功したサーバアプリケーション51から、所定の暗号処理へのアクセス(暗号処理を行うこと)が要求されたとき、セキュアチップ処理モジュール53においては、サーバアプリケーション51によるその所定の暗号処理へのアクセスが許可されているか否かがアクセスコントロールリスト142に基づいて確認され、許可されていることが確認された場合、その所定の暗号処理が行われる。本発明は、暗号情報を用いてICチップを制御するサーバアプリケーションからの要求に応じて暗号処理を行うコンピュータに適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができるようにする情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
近年、クレジットカードや携帯電話機に埋め込まれたFeliCa(登録商標)などの非接触ICチップに電子マネーをチャージ(入金)し、そのチャージされた電子マネーを用いて、商品購入時の代金の支払いをしたりすることが普及しつつある。
【0003】
代金の支払い時には、自分のクレジットカードや携帯電話機を店舗に設置された端末(リーダライタ)にかざすだけであるから、ユーザは、代金の支払いを迅速に行うことができる。
【0004】
このような電子マネーシステムは、例えば、図1に示すような構成からなる。
【0005】
電子マネーシステムのサーバ側はサーバ装置1とSAM(Secure Application Module)2からなり、クライアント側はクライアント装置3とR/W(リーダ/ライタ)4からなる。サーバ装置1とクライアント装置3は、ネットワーク5を介して接続されている。
【0006】
図1の例においては、クライアント側のR/W4には非接触ICチップ13が内蔵された携帯電話機6が近接されており、電磁誘導を用いた近距離通信を介してクライアント装置3に接続されている。
【0007】
サーバ装置1に実装されるサーバアプリケーション11は、クライアント装置3に実装されるクライアントアプリケーション12との間で通信を行い、クライアントアプリケーション12からの要求に応じて作成したコマンド(非接触ICチップ13に実行させるコマンド)をSAM2に出力する。また、サーバアプリケーション11は、暗号化が施されたコマンドがSAM2から供給されてきたとき、それをネットワーク5を介してクライアント装置3のクライアントアプリケーション12に送信する。
【0008】
SAM2は、耐タンパ性を有する装置であり、暗号処理、および、その暗号処理で用いる鍵の管理を行う。SAM2は、サーバアプリケーション11から供給されてきたコマンドに暗号化を施し、暗号化されたコマンドをサーバアプリケーション11に出力する。SAM2と非接触ICチップ13は、それぞれ共通の鍵を持っており、その鍵で暗号化された情報を送受信することによりSAM2と非接触ICチップ13の間で暗号通信が実現される。
【0009】
クライアント装置3のクライアントアプリケーション12は、所定の要求をサーバ装置1のサーバアプリケーション11に送信するとともに、サーバアプリケーション11からコマンドが送信されてきたとき、それをR/W4を介して非接触ICチップ13に送信し、実行させる。
【0010】
非接触ICチップ13は、R/W4等を介してSAM2から送信されてきたコマンドに施されている暗号化を復号し、それを実行する。コマンドの内容が電子マネーの書き換えである場合、このコマンドには書き換える金額の情報なども含まれている。
【0011】
例えば、このような構成を有する電子マネーシステムにおいて、非接触ICチップ13に記憶されている電子マネーを用いて携帯電話機6のユーザが購入した商品の代金を支払う場合、クライアント装置3のクライアントアプリケーション12により、サーバ装置1のサーバアプリケーション11に対して、商品の代金の支払い要求が送信され、その要求を受信したサーバアプリケーション11により、電子マネーの残高の読み出しを非接触ICチップ13に要求するコマンド(Readコマンド)が作成される。
【0012】
サーバアプリケーション11により作成されたReadコマンドは、SAM2により暗号化が施された後、サーバ装置1のサーバアプリケーション11、ネットワーク5、クライアント装置3のクライアントアプリケーション12、およびR/W4を介して非接触ICチップ13に送信され、非接触ICチップ13において復号された後、実行される。Readコマンドが実行されることによって読み出された残高は、非接触ICチップ13により暗号化が施された後、サーバアプリケーション11に対するレスポンスとして、R/W4、クライアント装置3のクライアントアプリケーション12、ネットワーク5、およびサーバ装置1のサーバアプリケーション11を介してSAM2に送信される。SAM2においては、非接触ICチップ13から送信されてきた残高に施されている暗号化が復号され、復号された残高がサーバアプリケーション11に送信される。
【0013】
これにより、サーバアプリケーション11は、非接触ICチップ13に記憶されている現在の電子マネーの残高を確認することができる。
【0014】
残高を確認したとき、サーバ装置1のサーバアプリケーション11により、電子マネーの残高の書き換え(商品の代金の分だけ減額した残高への書き換え)を非接触ICチップ13に要求するコマンド(Writeコマンド)が作成される。
【0015】
サーバアプリケーション11により作成されたWriteコマンドは、先に送信されたReadコマンドと同様に、SAM2により暗号化が施された後、サーバ装置1のサーバアプリケーション11、ネットワーク5、クライアント装置3のクライアントアプリケーション12、およびR/W4を介して非接触ICチップ13に送信され、非接触ICチップ13において復号された後、実行される。このWriteコマンドには、残高をいくらにするのかを表す情報なども含まれている。これにより、非接触ICチップ13に記憶されている電子マネーの残高が商品の代金の分だけ減額された状態になる。
【0016】
例えば、残高の減額が完了したことを通知するメッセージが非接触ICチップ13からサーバアプリケーション11に送信されるなどの処理が行われた後、一連の処理が終了される。このような一連の処理により、商品の代金の支払いが実現される。
【0017】
このような構成からなるサーバ−クライアントシステムより、以上のような商品の代金の支払いの他に、例えば、店舗が発行するポイントの管理や、電車の駅の改札機としてクライアント装置3が設けられている場合、乗車料金の支払いなどが実現される。ポイントの管理や乗車料金の支払いの場合も、基本的には、上述した代金の支払いの場合と同様の処理が図1の各装置により行われる。
【0018】
図1に示すような構成からなるサーバ−クライアントシステムについては特許文献1に開示されている。また、デジタル署名を用いることにより、鍵などの内部リソースに対するアクセスを制御する技術が特許文献2に開示されている。
【特許文献1】特開2003−141063号公報
【特許文献2】特表2003−524252号公報
【発明の開示】
【発明が解決しようとする課題】
【0019】
ところで、上述したように、鍵を管理するSAM2が耐タンパ装置に格納されるものであり、鍵や鍵のリストなどがセキュアな環境にある場合、外部のネットワークを介さずにSAM2と接続されるような、SAM2と同一の環境にあると考えられる装置(例えば、サーバアプリケーション11を実装するサーバ装置1)からは、SAM2に対するオペレーションを柔軟に行うことができるものの、そのような環境にない装置からは、SAM2に対するオペレーションを柔軟に行うことができないという課題があった。ここで、SAM2に対するオペレーションには、コマンドの暗号化や、非接触ICチップから送信されてきたデータの復号などがある。
【0020】
例えば、インターネットなどよりなる図1のネットワーク5を介してSAM2と接続されるようなサーバアプリケーションを実装する装置からは、SAM2に対してオペレーションを行うことができない。
【0021】
これは、仮に、そのサーバアプリケーションを実装する装置が悪意のある装置である場合(装置を扱うユーザが悪意のある者である場合)には、非接触ICチップに対するコマンドを暗号化したり、非接触ICチップからのレスポンスを復号したりすることができるなどのSAM2の機能が悪用されてしまい、非接触ICチップに記憶されている電子マネーの残高が勝手に書き換えられるなどの不正行為が行われてしまうおそれがあることから、SAM2と同一環境にあると考えられる装置以外からはオペレーションを行うことができないようになされているためである。
【0022】
本発明はこのような状況に鑑みてなされたものであり、セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができるようにするものである。
【課題を解決するための手段】
【0023】
本発明の情報処理装置は、暗号化された情報を送信してICチップを制御するサーバからの要求に応じて暗号処理を行う情報処理装置であって、要求に応じて許可する暗号処理の種類を管理する管理手段と、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理手段により管理されている種類の暗号処理である場合、要求された所定の暗号処理を行い、処理結果の情報を、制御対象とするICチップに送信する情報として所定のサーバに出力する出力手段とを備えることを特徴とする。
【0024】
本発明の情報処理方法は、暗号化された情報を送信してICチップを制御するサーバからの要求に応じて暗号処理を行う情報処理方法であって、要求に応じて許可する暗号処理の種類を管理する管理ステップと、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理ステップの処理により管理されている種類の暗号処理である場合、要求された所定の暗号処理を行い、処理結果の情報を、制御対象とするICチップに送信する情報として所定のサーバに出力する出力ステップとを含むことを特徴とする。
【0025】
本発明のプログラムは、暗号化された情報を送信してICチップを制御するサーバからの要求に応じて行う暗号処理をコンピュータに実行させるプログラムであって、要求に応じて許可する暗号処理の種類を管理する管理ステップと、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理ステップの処理により管理されている種類の暗号処理である場合、要求された所定の暗号処理を行い、処理結果の情報を、制御対象とするICチップに送信する情報として前記所定のサーバに出力する出力ステップとを含むことを特徴とする。
【0026】
本発明の情報処理装置および方法、並びにプログラムにおいては、要求に応じて許可する暗号処理の種類が管理され、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理されている種類の暗号処理である場合、要求された所定の暗号処理が行われ、処理結果の情報が、制御対象とするICチップに送信する情報として所定のサーバに出力される。
【発明の効果】
【0027】
本発明によれば、セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができる。
【発明を実施するための最良の形態】
【0028】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【0029】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、即ち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【0030】
請求項1に記載の情報処理装置は、暗号化された情報を送信してICチップ(例えば、図4のセキュアチップ41)を制御するサーバ(例えば、図4のサーバアプリケーション51)からの要求に応じて暗号処理を行う情報処理装置(例えば、図4のセキュアチップ処理モジュール53が格納される装置)であって、要求に応じて許可する暗号処理の種類を管理する管理手段(例えば、図16のステップS224の処理を実行する図15のアクセス制御部202)と、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理手段により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力手段(例えば、図16のステップS233の処理を実行する図15の暗号処理部203)とを備えることを特徴とする。
【0031】
請求項2に記載の情報処理方法は、暗号化された情報を送信してICチップ(例えば、図4のセキュアチップ41)を制御するサーバ(例えば、図4のサーバアプリケーション51)からの要求に応じて暗号処理を行う情報処理方法であって、要求に応じて許可する暗号処理の種類を管理する管理ステップ(例えば、図16のステップS224)と、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理ステップの処理により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力ステップ(例えば、図16のステップS233)とを含むことを特徴とする。
【0032】
請求項3に記載のプログラムにおいても、各ステップが対応する実施の形態(但し一例)は、請求項2に記載の情報処理方法と同様である。
【0033】
以下、本発明の実施の形態について図を参照して説明する。
【0034】
図2は、本発明を適用したサーバ−クライアントシステム(システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない)の構成例を示す図である。
【0035】
図2のサーバ−クライアントシステムは、いわゆるクライアントである各種のクライアント側装置31と、いわゆるサーバであるサーバ側装置32とが、例えば、インターネットなどのネットワーク33、さらには、必要に応じて、例えば、移動機(体)通信網などのネットワーク34を介して接続されて構成されている。
【0036】
クライアント側装置31はセキュアチップを内蔵している。セキュアチップは、耐タンパ性のあるセキュアなICチップであり、接触または非接触で他の装置とデータのやりとりを行うことができるようになっている。
【0037】
なお、クライアント側装置31としては、例えば、携帯電話機やPDA(Personal Digital Assistant)などの携帯端末、PC,POS(Point Of Sales)レジ(POSシステム用のレジスタ)、自動販売機、ハンディターミナルなどがある。また、クライアント側装置31が内蔵するセキュアチップとしては、例えば、電子的な定期券等としてのSuica(登録商標)などに採用されているFeliCa(登録商標)などがある。
【0038】
サーバ側装置32は、ネットワーク33、さらには、必要に応じてネットワーク34を介して、クライアント側装置31との間でデータをやりとりし、これにより、各種のサービスを提供する。即ち、例えば、クライアント側装置31のセキュアチップに電子マネーが記憶されている場合、サーバ側装置32が、クライアント側装置31の電子マネーを対象として、商品の代金を差し引き、その差し引き後の金額になるようにクライアント側装置31の電子マネーを更新する処理などを制御することにより、サーバ側装置32は電子マネーサービスを提供する。
【0039】
なお、クライアント側装置31は、サーバ側装置32に送信するデータを暗号化して送信し、サーバ側装置32も、クライアント側装置31に送信するデータを暗号化して送信する。
【0040】
クライアント側装置31における暗号化、さらには、暗号化されたデータの復号などの暗号処理は、耐タンパ性のあるセキュアチップ内で行われるが、サーバ側装置32における暗号処理は、耐タンパ性のある専用のハードウェアであるHSM(Hardware Security Module)内で行われる場合と、そのような耐タンパ性のあるHSMを利用せず、サーバ側装置32を実現するソフトウェアなどで行われる場合がある。
【0041】
また、暗号処理には、特に高い秘匿性が要求される暗号処理と、それ以外の暗号処理とがあり、サーバ側装置32がHSMを備える場合には、特に高い秘匿性が要求される暗号処理のみをHSM内で行い、それ以外の暗号処理をサーバ側装置32を実現するソフトウェアなどで行うことができる。
【0042】
図3は、クライアント側装置31とサーバ側装置32の機能的な構成例を示すブロック図である。
【0043】
クライアント側装置31は、セキュアチップ41およびクライアントアプリケーション42、さらには、必要なR/W43で構成される。
【0044】
セキュアチップ41は、耐タンパ性のあるセキュアなICチップであり、接触または非接触で、他の装置とデータのやりとりを行う。
【0045】
即ち、セキュアチップ41は、クライアントアプリケーション42と直接、またはR/W43を介して通信を行い、例えば、その通信によってクライアントアプリケーション42から送信されてくるコマンドにしたがって処理を行う。また、セキュアチップ41は、その処理後、コマンドに対するレスポンスとしてのレスポンスデータを、クライアントアプリケーション42に対して、直接、またはR/W43を介して送信する。セキュアチップ41は、セキュリティを確保するために、送受信するデータ等に対する暗号処理も行う。
【0046】
クライアントアプリケーション42は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアであり、サーバ側装置32の後述するサーバアプリケーション51のクライアントとして機能する。
【0047】
クライアントアプリケーション42は、サーバアプリケーション51との間でデータ(コマンドを含む)をやりとりし、また、セキュアチップ41に対して、直接、またはR/W43を介してコマンド等を送信することで、セキュアチップ41に対するデータの読み書き等を行い、これにより各種のサービスを実現する。
【0048】
即ち、例えば、クライアントアプリケーション42およびサーバアプリケーション51が、電子マネーサービスを提供するソフトウェアであり、セキュアチップ41内に電子マネーサービス用の記憶領域が確保されている場合、セキュアチップ41に記憶された電子マネーから、商品の代金を差し引き、その差し引き後の金額になるように、セキュアチップ41に記憶された電子マネーの金額を更新するといった、電子マネーサービスのための処理に必要なデータ(コマンドを含む)のやりとりがクライアントアプリケーション42とサーバアプリケーション51との間で行われる。
【0049】
なお、クライアントアプリケーション42には、サーバアプリケーション51との間の通信を制御するモジュールが必要に応じて含まれる。
【0050】
R/W43は、セキュアチップ41と非接触通信または接触通信を行い、クライアントアプリケーション42から供給されるコマンド等をセキュアチップ41に送信し、また、セキュアチップ12から送信されてくるデータ等を受信して、クライアントアプリケーション42に供給する。
【0051】
サーバアプリケーション51は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアであり、クライアント側装置31のクライアントアプリケーション42のサーバとして機能する。サーバアプリケーション51は、クライアントアプリケーション42との間でデータ(コマンドを含む)をやりとりすることにより、上述した電子マネーサービスその他の各種のサービスを実現する。
【0052】
また、サーバアプリケーション51は、セキュリティを確保するため、送受信するデータ等に対する暗号処理をセキュアサーバ52に依頼する。
【0053】
なお、サーバアプリケーション51には、クライアントアプリケーション42との間の通信を制御するモジュールが必要に応じて含まれる。
【0054】
セキュアサーバ52は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアであり、サーバアプリケーション51からの暗号処理の依頼に応じて、自身で暗号処理を行い、あるいは、暗号処理をセキュアチップ処理モジュール53に依頼する。
【0055】
即ち、セキュアサーバ52は、サーバアプリケーション51から依頼される暗号処理のうちの、特に高い秘匿性が要求される暗号処理をセキュアチップ処理モジュール53に依頼し、それ以外の暗号処理を自身(セキュアサーバ52内)で行う。
【0056】
セキュアチップ処理モジュール53は、セキュアサーバ52からの依頼に応じて、暗号処理(特に高い秘匿性が要求される暗号処理)を行う。
【0057】
なお、セキュアチップ処理モジュール53は、ここでは、例えば、耐タンパ性のある専用のハードウェア内に格納されていることとする。但し、セキュアチップ処理モジュール53は、例えば、セキュアサーバ52の1つのモジュール(ソフトウェア)とすることも可能である。セキュアチップ処理モジュール53を格納するハードウエアが、例えば、図1のSAM2に対応する。
【0058】
後述するように、このような暗号処理を行うセキュアチップ処理モジュール53は、自分自身が管理する鍵などに対する外部(サーバアプリケーション51を含む)からのアクセスを制御するリストを管理しており、このリストでアクセスが許可されている者による要求に対してのみ、コマンドの暗号化などの暗号処理を行う。
【0059】
図4は、クライアント側装置31とサーバ側装置32の具体的なハードウェアの構成例を示すブロック図である。
【0060】
図4において、クライアント側装置31は、R/W43,ICカード61、およびPC62で構成されている。
【0061】
ICカード61は、ハードウェアであるセキュアチップ41を内蔵し、例えば、電子マネーを格納するEdy(登録商標)などのカードに相当する。
【0062】
PC62は、例えば、ICカード61のユーザが所有するPCであり、そこには、クライアントアプリケーション42がインストールされる。ユーザは、PC62を操作することにより、ICカード61(セキュアチップ41)に格納されている電子マネーの残高照会や、電子マネーのチャージ等を行うことができる。
【0063】
図4において、サーバ側装置32は、セキュアチップ処理モジュール53およびコンピュータ63で構成されている。
【0064】
コンピュータ63は、例えば、ハードウェアとしてのサーバ(マシン)で、そこには、サーバアプリケーション51とセキュアサーバ52がインストールされる。
【0065】
図5は、クライアント側装置31とサーバ側装置32の具体的なハードウェアの他の構成例を示すブロック図である。なお、図5において、サーバ側装置32のハードウェア構成は、図4における場合と同様である。
【0066】
図5において、クライアント側装置31は携帯電話機64で構成されている。
【0067】
携帯電話機64は、ハードウェアであるセキュアチップ41を内蔵している。さらに、携帯電話機64には、クライアントアプリケーション42がインストールされる。ユーザは、携帯電話機64を操作することにより、例えば、セキュアチップ41に格納されている電子マネーの残高照会や、電子マネーのチャージ等を行うことができる。
【0068】
なお、携帯電話機64が内蔵するセキュアチップ41へのアクセスは、携帯電話機64が有する通信機能を利用して行うこともできるし、また、図5では図示していないR/W43に対して携帯電話機64(携帯電話機64が内蔵するセキュアチップ41)を近づけることにより行うこともできる。
【0069】
図6は、クライアントアプリケーション42がインストールされる図4のPC62のハードウェア構成例を示すブロック図である。
【0070】
PC62は、CPU(Central Processing Unit)72を内蔵している。CPU72には、バス71を介して入出力インタフェース80が接続されており、CPU72は、入出力インタフェース80を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部77が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)73に格納されているプログラムを実行する。
【0071】
また、CPU72は、ハードディスク75に格納されているプログラム、衛星若しくはネットワークから転送され、通信部78で受信されてハードディスク75にインストールされたプログラム、またはドライブ79に装着されたリムーバブル記録媒体81から読み出されてハードディスク75にインストールされたプログラムをRAM(Random Access Memory)74にロードして実行する。
【0072】
これにより、CPU72は各種の処理を行う。そして、CPU72は、その処理結果を、必要に応じて、例えば、入出力インタフェース80を介してLCD(Liquid Crystal Display)やスピーカ等で構成される出力部76から出力、または、通信部78から送信、さらには、ハードディスク75に記録等させる。
【0073】
なお、入出力インタフェース80には、例えば、USB(Universal Serial Bus)端子が設けられており、図4のR/W43は、そのUSB端子に接続することができる。
【0074】
図7は、サーバアプリケーション51およびセキュアサーバ52がインストールされる図4のコンピュータ63のハードウェア構成例を示すブロック図である。
【0075】
図7において、コンピュータ63を構成するバス91乃至リムーバブル記録媒体101は、図6のバス71乃至リムーバブル記録媒体81とそれぞれ同様に構成されるものであるため、その説明は省略する。
【0076】
図8は、図3のセキュアチップ41のハードウェア構成例を示すブロック図である。
【0077】
セキュアチップ41は、大きく分けて、通信処理部111とデータ処理部112とから構成される。通信処理部111は、接触して、または非接触で、セキュアチップ41の外部と通信するために必要な処理を行い、これにより、外部から送信されてくるデータ(コマンドを含む)をデータ処理部112に供給し、また、データ処理部112からのデータを外部に送信する。セキュアチップ41で行われる、外部と通信するために必要な処理としては、データ等の符号化/復号や、変調/復調等がある。
【0078】
データ処理部112は、例えば、CPU121、暗号処理部122、およびメモリ123で構成され、通信処理部111から供給されるコマンドにしたがい、各種の処理を行う。
【0079】
即ち、CPU121は、暗号処理部122の制御やメモリ123の管理を行う。また、CPU121は、通信処理部111から供給されるコマンドにしたがい、メモリ123に対するデータの読み書きや、メモリ123に記憶されたデータを対象としたデータ処理等を行う。なお、CPU121は、プログラムを実行することにより各種の処理を行うが、そのプログラムはメモリ123に記憶されている。
【0080】
暗号処理部122は、CPU121の制御にしたがい、データ(コマンドを含む)の暗号化/復号の暗号処理の他に、例えば、いわゆるチャレンジアンドレスポンス方式での認証に用いる乱数の発生、暗号化/復号に用いる鍵(暗号鍵となる情報)の発生(生成)などの認証処理も行う。即ち、暗号処理部122は、暗号化されたデータを用いた各種の処理を行う。
【0081】
メモリ123は不揮発性のメモリであり、データやプログラムなどを記憶する。なお、メモリ123は、物理的に1つのメモリであっても良いし、複数のメモリであっても良い。また、メモリ123を物理的に複数のメモリで構成する場合には、その一部のメモリとして揮発性のメモリを採用することができる。
【0082】
CPU121では、図9に示すように、メモリ123の記憶領域が階層化されて管理される。
【0083】
図9は、メモリ123のディレクトリ構造を示す図である。
【0084】
メモリ123の記憶領域のうちの一部は、各種のサービスを提供するためのデータを記憶するデータ記憶領域として使用される。このデータ記憶領域は、いわゆるディレクトリに相当するエリア定義領域を階層とする階層構造をなしており、エリア定義領域は、エリア定義領域およびサービス定義領域を有することができるようになされている。
【0085】
エリア定義領域は、メモリ123のデータ記憶領域の一部であり、サービスを提供するサービス提供者を管理する管理者(サービス提供者自身である場合もある)に割り当てられる。エリア定義領域には、そのエリア定義領域を識別するための名前として使用可能な識別コードとしてのエリアコード、使用可能な空きブロック数を表す空き容量、エリア定義領域(そのエリア定義領域の下位階層のエリア定義領域やサービス定義領域を含む)にアクセスするのに必要な鍵としてのエリアキーなどが配置される。
【0086】
図9の実施の形態では、管理者Aに割り当てられたエリア定義領域が最上位階層を構成しており、これを親の階層として、管理者B1およびB2のエリア定義領域が作成されている。さらに、管理者B1のエリア定義領域を親の階層として、管理者Cのエリア定義領域が作成されている。
【0087】
サービス定義領域は、後述するサービス領域を管理するためのメモリ123のデータ記憶領域の一部であり、サービス提供者が提供するサービスに割り当てられる。サービス定義領域には、そのサービス定義領域を識別するための名前として使用可能な識別コードとしてのサービスコード、サービスの提供に必要なデータを記憶するサービス領域の容量を表すブロック数、サービス定義領域(サービス定義領域が管理するサービス領域を含む)にアクセスするのに必要な鍵としてのサービスキーなどが配置される。
【0088】
サービス領域は、データ記憶領域の一部であり、サービスの提供に必要なデータが記憶される、0以上のブロックで構成される。サービス領域を構成するブロック数が、そのサービス領域を管理するサービス定義領域の容量として配置される。
【0089】
ここで、CPU121は、メモリ123のデータ記憶領域を、固定の記憶容量のブロック単位で管理するようになっており、図9における空き容量やサービス領域の容量は、このブロックの数によって管理される。
【0090】
サービス提供者は、ある管理者が管理するエリア定義領域の下位階層にサービス定義領域を作成し、そのサービス定義領域で管理されるサービス領域を使用して、各種のサービスを提供する。例えば、電子マネーサービスの提供にあたっては、サービス領域に、例えば、電子マネーの金額(残額)や、電子マネーによって購入した商品の情報(例えば、商品名や値段など)などが記憶される。
【0091】
図10は、図3のセキュアサーバ52の詳細な構成例を示すブロック図である。
【0092】
セキュアサーバ52は、セキュアチップコマンドモジュール131とセキュアチップマネージャモジュール132とから構成される。
【0093】
セキュアチップコマンドモジュール131は、例えば、サーバアプリケーション51からのコマンドの作成の要求(依頼)に応じて、制御対象としているセキュアチップ41用のコマンドを作成し、サーバアプリケーション51に供給する。即ち、サーバアプリケーション51は、クライアント側装置31のセキュアチップに対して何らかの処理を指示する場合、その処理に対応するコマンドの作成をセキュアチップコマンドモジュール131に要求する。
【0094】
セキュアチップコマンドモジュール131は、サーバアプリケーション51からの要求に応じて、セキュアチップ41用のコマンドを作成し、作成したコマンドをサーバアプリケーション51に供給する。
【0095】
従って、サーバアプリケーション51は、制御対象としているセキュアチップ41用のコマンドを(知っていても良いが)知っている必要はないので、様々なコマンド体系のセキュアチップ(コマンドとしてのオペコードや、コマンドがとるパラメータ、コマンドの種類などの違いがあるセキュアチップ)が存在する場合であっても、サーバアプリケーション51を、そのような様々なコマンド体系のセキュアチップごとに製作する必要がない。
【0096】
即ち、サーバアプリケーション51は、セキュアチップコマンドモジュール131が解釈することができるコマンド体系を使用することができるものであれば良い。
【0097】
ここで、セキュアチップコマンドモジュール131は、サーバアプリケーション51からの要求に応じて、セキュアチップ41用のコマンドを作成し、サーバアプリケーション51に供給するが、コマンドをサーバアプリケーション51に供給する前に、セキュアチップマネージャモジュール132に供給して、そのコマンドの暗号化を要求する。そして、セキュアチップコマンドモジュール131は、その要求に応じてセキュアチップマネージャモジュール132から供給される暗号情報(暗号化後のコマンド等)を、サーバアプリケーション51に供給する。
【0098】
セキュアチップマネージャモジュール132は、自身(セキュアチップマネージャモジュール132)またはセキュアチップ処理モジュール53による暗号処理により得られる暗号情報をセキュアチップコマンドモジュール131に供給する。
【0099】
ここで、図10のセキュアチップ処理モジュール53による外部からのアクセスの管理について説明する。なお、セキュアチップ処理モジュール53に対するアクセスとは、セキュアチップ処理モジュール53が管理する鍵を用いた暗号化や復号などの暗号処理をセキュアチップ処理モジュール53に要求して行わせることをいう。
【0100】
従って、特定の鍵に対するアクセスが許可されているということは、その特定の鍵を用いた処理をセキュアチップ処理モジュール53に行わせることが許可されていることを表し、特定の暗号処理に対するアクセスが許可されているということは、認証処理(相互/片側)、コマンドの暗号化処理(全体、または一部の暗号化)、後述するコマンド実行権の作成処理などの各種の暗号処理のうちの、その特定の暗号処理をセキュアチップ処理モジュール53に行わせることが許可されていることを表す。
【0101】
図11は、セキュアチップ処理モジュール53によるアクセス管理の概念を示す図である。
【0102】
図11に示すように、セキュアチップ処理モジュール53は、鍵が格納されたキーDB141を管理している。このキーDB141は、セキュアチップ処理モジュール53の内部、または外部の記憶装置内に構築される。キーDB141には、例えば、セキュアチップ処理モジュール53により所定の鍵が用いられて暗号化された状態で鍵が格納される。
【0103】
また、図11に示すように、セキュアチップ処理モジュール53は、サーバアプリケーション51やセキュアサーバ52を含む、外部からのアクセスを制御するためのアクセスコントロールリスト142を管理している。
【0104】
セキュアチップ処理モジュール53との認証により正当性が検証され、アクセスが許可されている外部のソフトウエアとしてアクセスコントロールリスト142に登録されているソフトウェアだけがアクセス可能とされる。従って、上述したような各種の暗号処理をセキュアチップ処理モジュール53に行わせるためには、サーバアプリケーション51は、セキュアチップ処理モジュール53との認証により自身の正当性が検証されている必要がある。
【0105】
なお、図11においては、サーバアプリケーション51とセキュアチップ処理モジュール53が直接接続されているが、このように、セキュアサーバ52(図3)を介さずに、サーバアプリケーション51とセキュアチップ処理モジュール53が直接通信を行うこともある。
【0106】
図12は、アクセスコントロールリスト142の記述例を示す図である。
【0107】
アクセスコントロールリスト142には、大きく分けて、「アクセスコントロールリスト」、「フォーマット情報」、「鍵アクセス情報」、「アプリケーション用認証情報」、および「オペレータ用アクセス用認証情報」が記述される。
【0108】
「アクセスコントロールリスト」は、アクセスコントロールリスト142に関する基本的な情報であり、有効期間(期限)やアクセスの回数に制限がある場合のその回数(1回/無制限など)が含まれる。
【0109】
「フォーマット情報」は、アクセスコントロールリスト142が対象とするセキュアチップ41のフォーマット(システム、エリア、サービスからなる領域構成)と、それぞれの領域に設定されている鍵に関する情報である。「フォーマット情報」には、フォーマット名(フォーマットのID)とフォーマット情報(エリアコード、サービスコード、鍵ID、鍵バージョンなど)が含まれる。
【0110】
「鍵アクセス情報」は、アプリケーション(サーバアプリケーション51などの外部のソフトウエア)とオペレータ(オペレータは、人(管理者)である場合もあるし、オペレーション用のソフトウェアである場合もある)に共通のアクセス権を表す情報である。
【0111】
アプリケーションやオペレータは、「鍵アクセス情報」によりアクセス権が認められている(アクセスが許可されている)IDの鍵や、暗号処理にアクセスすることができる。「鍵アクセス情報」には、アクセスを許可する鍵のIDや、許可するアクセス内容(Readコマンドの出力、Writeコマンドの出力、鍵の変更、後述するコマンド実行権の作成)が含まれる。
【0112】
「アプリケーション用認証情報」は、アプリケーション(サーバアプリケーション51)との認証に関する情報である。「アプリケーション用認証情報」には、アプリケーションのIDに対応付けて、認証情報、リスト情報、暗号処理の情報、有効期限の各情報が記述される。
【0113】
アプリケーションのIDに対応付けて記述される情報のうちの認証情報は、アプリケーションとの認証で用いる鍵の情報、暗号化されたデータにより認証を行う場合のその暗号化、復号のアルゴリズム、公開鍵を用いて認証を行う場合のその公開鍵の証明書などが含まれる。また、リスト情報には、セキュアチップ41−サーバ装置32間で認証を行うためのエリアコード、サービスコードのリストの情報が含まれる。
【0114】
暗号処理の情報は、アプリケーションによるアクセスを許可する暗号処理の種類を表し、例えば、それぞれのアプリケーションに対して、相互/片側認証、コマンド実行権作成、コマンドの暗号化などの暗号処理の中から所定の種類の暗号処理が許可される。アプリケーションのIDには、アクセスの有効期間(期限)を表す情報も対応付けられている。
【0115】
例えば、アプリケーション51との間で相互認証を行う場合、アプリケーション51のIDに対応付けられている認証情報により規定される方法によりセキュアチップ処理モジュール53との間で認証が行われ、認証が成功したとき、暗号処理の情報により利用が許可される種類の暗号処理に対するアクセスが可能とされる。
【0116】
なお、通信路を暗号化するために生成したセッションキーを出力することを許可するか否かを表す情報も、「アプリケーション用認証情報」に含まれる。後述するように、セッションキーの出力が「アプリケーション用認証情報」により許可されている場合、セキュアチップ処理モジュール53により生成されたセッションキーが、セキュアチップ処理モジュール53からセキュアチップマネージャモジュール132(図10)に出力される。
【0117】
「オペレータ用アクセス用認証情報」は、オペレータとの認証に関する情報である。「オペレータ用アクセス用認証情報」には、オペレータのIDに対応付けて、オペレータとの認証で用いる情報(鍵の情報、暗号化されたデータにより認証を行う場合のその暗号化、復号のアルゴリズム、公開鍵を用いて認証を行う場合のその公開鍵の証明書)、オペレータに許可するアクセス内容(鍵の登録、削除、追加、参照など)を表す情報、および、有効期間(期限)を表す情報が記述される。
【0118】
このような各種の情報が記述されたアクセスコントロールリスト142を参照して、セキュアチップ処理モジュール53は、自分自身に対する外部からのアクセスを制御する。従って、アクセスが許可されているソフトウエアだけがセキュアチップ処理モジュール53に暗号処理をなど行わせることができるから、そのようなアクセスが許可されていないような、悪意のある者が利用する装置のソフトウエアなどの要求に対しては暗号処理が行われないことになり、セキュアチップ処理モジュール53が外部から不正に利用されるのを防ぐことができる。
【0119】
逆に、アクセスが許可されてさえいれば、セキュアチップ処理モジュール53と同一環境にないソフトウエア(セキュアチップ処理モジュール53が実装される耐タンパ性のある装置と同一環境以外の環境にある装置)からでも、セキュアチップ処理モジュール53に暗号処理を行わせることができる。
【0120】
次に、図13および図14のフローチャートを参照して、クライアント側装置31とサーバ側装置32の動作について説明する。
【0121】
図13は、主に、認証処理(サーバアプリケーション51−セキュアチップ処理モジュール53間、セキュアチップ41−セキュアチップ処理モジュール53間の認証処理)について説明するものであり、図14は、主に、図13の認証処理後の、コマンド作成処理について説明するものである。
【0122】
クライアントアプリケーション42が起動されると、クライアントアプリケーション42は、まず最初に、ステップS21において、セキュアチップ41に対して、セキュアチップに関するセキュアチップ(Secure Chip)情報を要求するコマンドを送信する。
【0123】
セキュアチップ41は、ステップS11において、クライアントアプリケーション42からのコマンドを受信して、ステップS12に進み、そのコマンドに対するレスポンスとして、セキュアチップ情報をクライアントアプリケーション42に送信する。
【0124】
クライアントアプリケーション42は、ステップS22において、セキュアチップ41からのセキュアチップ情報を受信して、ステップS23に進み、そのセキュアチップ情報を含む初期情報とともに、サーバ側装置32に対して、接続を要求するサーバ(Server)接続要求を送信する。
【0125】
なお、初期情報には、セキュアチップ情報の他、クライアントアプリケーション42に関するクライアント情報や、クライアントアプリケーション42が接続しようとするサーバ側装置32のサーバアプリケーション51を指定するサーバ(Server)アプリ指定(の情報)が含まれる。
【0126】
また、セキュアチップ情報としては、セキュアチップ41がどのような種類のものかを表す情報であるセキュアチップ種別、セキュアチップ41で採用されているOS(Operating System)を表す情報であるセキュアチップOS種別、セキュアチップ41におけるデータの管理に関する情報であるセキュアチップファイル構造(ファイルフォーマット、エリアコードのリスト、サービスコードのリスト(メモリフォーマット))などがある。これにより、サーバ側装置32において、いま制御対象としているセキュアチップ41の種別が特定される。
【0127】
さらに、クライアント情報としては、クライアント側装置31のハードウェアを表す情報(例えば、クライアント側装置31が携帯電話機、PC、またはPOSレジであるなどの情報)であるクライアント種別、クライアント側装置31で採用されているOSを表す情報であるクライアントOS種別、クライアントアプリケーション42を特定する情報であるクライアントアプリID(Identification)、クライアントアプリケーション42のパージョンを表す情報であるアプリバージョンなどがある。
【0128】
ここで、クライアントアプリケーション42では、例えば、サーバアプリケーション51に接続した後に行われる、セキュアチップ情報その他の初期情報のサーバアプリケーション51からの要求に応じて、セキュアチップ41からセキュアチップ情報を取得し、取得したセキュアチップ情報を初期情報に含めてサーバアプリケーション51に送信することもできる。
【0129】
但し、図13に示すように、クライアントアプリケーション42において、セキュアチップ41からセキュアチップ情報を取得してから、そのセキュアチップ情報を含む初期情報をサーバ接続要求とともにサーバアプリケーション51に送信する場合の方が、クライアントアプリケーション42とサーバアプリケーション51との間のやりとりが少なくて済む。
【0130】
さらに、この場合、サーバ側装置32は、クライアント側装置31からのアクセスの開始と同時にクライアント情報を受信することができるので、そのクライアント情報に基づき、クライアントアプリケーション42に適したコマンドやメッセージ(画面等のGUI(Graphical User Interface)など)の送受信を行うことが可能となる。ここで、クライアントアプリケーション42に適したコマンドやメッセージとは、例えば、内容がクライアントアプリケーション42に適したコマンドやメッセージ、あるいは、一度に送受信する長さや個数がクライアントアプリケーション42に適したコマンドやメッセージなどを意味する。
【0131】
サーバアプリケーション51は、ステップS41において、クライアントアプリケーション42からのサーバ接続要求と初期情報を受信し、クライアント側装置31に必要なサービスを提供するためのアプリケーション(ソフトウェア)を起動して、ステップS42に進む。
【0132】
ステップS42では、サーバアプリケーション51は、ステップS41で受信した初期情報に含まれるセキュアチップ情報とクライアント情報をセキュアサーバ52のセキュアチップマネージャモジュール132に供給する。
【0133】
セキュアチップマネージャモジュール132は、ステップS111において、サーバアプリケーション51からのセキュアチップ情報とクライアント情報を受信し、そのうちのセキュアチップ情報をセキュアチップ処理モジュール53に供給する。
【0134】
セキュアチップ処理モジュール53は、ステップS151において、セキュアチップマネージャモジュール132から供給されてきたセキュアチップ情報を受信し、ステップS152に進み、受信したセキュアチップ情報に基づいて、制御対象とするセキュアチップ41のフォーマットの指定を受ける。後述するように、サーバアプリケーション51との認証が成功したとき、ここで指定されたフォーマット(フォーマットのそれぞれの領域に設定されている鍵に対応する鍵)にサーバアプリケーション51(サーバアプリケーション51からの要求をセキュアチップコマンドモジュール131を介して受けたセキュアチップマネージャモジュール132)がアクセスすることが許可される。
【0135】
即ち、セキュアチップ処理モジュール53は、様々なセキュアチップやサービスの暗号処理を行うことができるようになっており、さらに、その様々なセキュアチップやサービスの暗号処理に必要な鍵を内蔵している(セキュアチップ41のメモリ123に形成された各領域に設定されている鍵に対応する鍵も内蔵している)。
【0136】
そして、セキュアチップ41が、例えば、電子マネーサービスのみの提供を受けうるものであれば、セキュアチップ処理モジュール53は、セキュアチップ41に対して、電子マネーサービスを提供するのに必要な処理のみを行う(許可する)。また、電子マネーサービスにおけるデータの暗号化/復号に使用する鍵があらかじめ決まっている場合には、セキュアチップ処理モジュール53は、セキュアチップ41に対して、電子マネーサービスにおけるデータの暗号化/復号に使用する鍵のみの使用のみを許可し、他のサービスにおけるデータの暗号化/復号に使用する鍵の使用は許可しない。
【0137】
一方、セキュアチップマネージャモジュール132は、ステップS111でサーバアプリケーション51から受信したセキュアチップ情報とクライアント情報に基づき、いま制御対象としているセキュアチップ41とクライアントアプリケーション42に対応した処理を行う状態となる。
【0138】
そして、セキュアチップマネージャモジュール132は、ステップS112において、セキュアチップコマンドモジュール131に対し、初期化の指令を供給する。
【0139】
セキュアチップコマンドモジュール131は、ステップS71において、その指令を受信し、自身の状態を、セキュアチップ41に対応した処理を行うことができるように初期化する。
【0140】
その後、サーバアプリケーション51(ステップS43)とセキュアチップ処理モジュール53(ステップS153)の間で相互認証が行われる。この相互認証が成功したとき(サーバアプリケーション51の正当性が検証されたとき)、セキュアチップ処理モジュール53は、ステップS154において、アクセスコントロールリストに記述されている内容に従って、サーバアプリケーション51による特定の鍵へのアクセスと、暗号処理へのアクセスを許可する。
【0141】
サーバアプリケーション51−セキュアチップ処理モジュール53間での相互認証が終了したとき、次に、セキュアチップ41−セキュアチップ処理モジュール53間での認証が行われる。
【0142】
なお、セキュアチップ41−セキュアチップ処理モジュール53間の認証は、例えば、チャレンジアンドレスポンス方式で行われ、その開始を要求するコマンド作成要求が、ステップS44において、サーバアプリケーション51によりセキュアチップコマンドモジュール131に対して行われる。
【0143】
セキュアチップコマンドモジュール131は、ステップS72において、サーバアプリケーション51からのコマンドの作成要求を受信し、ステップS73に進み、サーバアプリケーション51からのコマンドの作成要求に応じて、セキュアチップ41用のコマンドを作成し、そのコマンドを暗号化して暗号情報とすることの要求をセキュアチップマネージャモジュール132に供給する。
【0144】
セキュアチップマネージャモジュール132は、ステップS113において、セキュアチップコマンドモジュール131からの、コマンドを暗号化して暗号情報とすることの要求を受信して、ステップS114に進み、その要求をセキュアチップ処理モジュール53に供給する。
【0145】
ステップS155において、セキュアチップ処理モジュール53は、セキュアチップマネージャモジュール132からの要求を受信し、ステップS156において、暗号情報を生成するための鍵が、サーバアプリケーション51によるアクセスが許可されている鍵であり、暗号情報を生成するための暗号処理(例えば、所定のアルゴリズムの暗号化)が、サーバアプリケーション51によるアクセスが許可されている暗号処理であるか否かをアクセスコントロールリストを参照して確認する。
【0146】
例えば、セキュアチップマネージャモジュール132からの要求にはサーバアプリケーション51のIDなども含まれており、ここでは、このIDに対応付けられている、アクセスが許可されている暗号処理の情報が参照されて確認が行われる。
【0147】
また、ステップS156において、セキュアチップ処理モジュール53は、暗号情報を生成するための鍵と暗号処理のいずれも、サーバアプリケーション51によるアクセスが許可されていることを確認した場合、例えば、発生した乱数に暗号化を施すことによって暗号情報を生成し、ステップS157に進み、それをセキュアチップマネージャモジュール132に供給する。
【0148】
セキュアチップマネージャモジュール132は、ステップS115において、セキュアチップ処理モジュール53からの暗号情報を受信し、ステップS116に進み、セキュアチップ処理モジュール53から受信した暗号情報をセキュアチップコマンドモジュール131に供給する。
【0149】
セキュアチップコマンドモジュール131は、ステップS74において、セキュアチップマネージャモジュール132からの暗号情報を受信して、ステップS75に進み、その暗号情報(暗号化されたコマンド)をサーバアプリケーション51に供給する。
【0150】
サーバアプリケーション51は、ステップS45において、セキュアチップコマンドモジュール131からの暗号情報を受信して、ステップS46に進み、その暗号情報(暗号化されたコマンド)を、クライアント側装置31としてのハードウェアに対するメッセージであるデバイス用データとともにクライアントアプリケーション42に送信する。
【0151】
クライアントアプリケーション42は、ステップS24において、サーバアプリケーション51からの暗号情報およびデバイス用データを受信して、ステップS25に進み、暗号情報をセキュアチップ41に送信する。
【0152】
セキュアチップ41は、ステップS13において、クライアントアプリケーション42からの暗号情報を受信し、その暗号情報を、セッションキーを用いてコマンドに復号する。また、セキュアチップ41は、そのコマンドに応じた処理を実行し、ステップS14において、そのコマンドに対応するレスポンスとしてのレスポンスデータをクライアントアプリケーション42に送信する。なお、レスポンスデータは、セキュアチップ41において、必要に応じて、セキュアチップ41が有する鍵を用いて暗号化されている。
【0153】
クライアントアプリケーション42は、ステップS26において、セキュアチップ41からのレスポンスデータを受信し、ステップS27に進み、そのレスポンスデータをサーバアプリケーション51に送信する。
【0154】
サーバアプリケーション51は、ステップS47において、クライアントアプリケーション42からのレスポンスデータを受信し、ステップS48に進み、レスポンスデータをセキュアチップコマンドモジュール131に送信し、レスポンス処理を要求する。
【0155】
ステップS76において、セキュアチップコマンドモジュール131は、サーバアプリケーション51からのレスポンス処理の要求に応じて、レスポンスデータに含まれる暗号情報(セキュアチップ41により暗号化された情報)をセキュアチップマネージャモジュール132に供給する。
【0156】
セキュアチップマネージャモジュール132は、ステップS117において、セキュアチップコマンドモジュール131から供給されてきた暗号情報を受信して、ステップS118に進み、その暗号情報をセキュアチップ処理モジュール53に供給する。
【0157】
ステップS158において、セキュアチップ処理モジュール53は、セキュアチップマネージャモジュール132から供給されてきた暗号情報を受信し、その暗号情報を復号する。ここで復号された結果が正しい情報であると判定されたとき、セキュアチップ41−セキュアチップ処理モジュール53間の認証が成功したものとされる。なお、チャレンジにあたるサーバ側装置32からのコマンドの送信と、レスポンスにあたるクライアント装置31からのレスポンスデータの送信は所定の回数だけ繰り返される。
【0158】
セキュアチップ41−セキュアチップ処理モジュール53間の認証が成功したとき、セキュアチップ処理モジュール53においては(セキュアチップ41でも同様)、例えば、ステップS156で暗号情報生成のために生成された乱数が、セキュアチップ41とセキュアチップ処理モジュール53との間のセッションを識別するためのセッションキーとされる。
【0159】
この後、サーバ側装置32では、セキュアチップ41に送信するコマンド(コマンドに付随するパラメータその他のデータを含む)は、ここで生成されたセッションキーを鍵として暗号化されて、クライアント側装置31に送信される。また、クライアント側装置31でも、セキュアチップ41からサーバ側装置32に送信されるデータ等は、セキュアチップ41においてセッションキーを鍵として暗号化されて、サーバ側装置32に送信される。
【0160】
このように、クライアント側装置31とサーバ側装置32のそれぞれにおいて、データ等がセッションキーを鍵として暗号化されて送受信されることにより、そのクライアント側装置31とサーバ側装置32との間の通信路が暗号化、即ち、いわばVPN(Virtual Private Network)が実現される。
【0161】
セッションキーが生成されたとき、セキュアチップマネージャモジュール132は、ステップS119(図14)において、セキュアチップ処理モジュール53に対してセッションキーの要求を供給する。
【0162】
セキュアチップ処理モジュール53は、ステップS159において、セキュアチップマネージャモジュール132からのセッションキーの要求を受信して、ステップS160に進み、サーバアプリケーション51に許可されているアクセスの内容として、セキュアチップマネージャモジュール132に対するセッションキーの出力があるか否かをアクセスコントロールリストを参照して確認する。
【0163】
セキュアチップマネージャモジュール132にセッションキーを出力することが許可されていることを確認した場合、ステップS161に進み、セキュアチップ処理モジュール53は、セキュアチップマネージャモジュール132からの要求に応じて、セキュアチップ41との認証後に生成したセッションキーをセキュアチップマネージャモジュール132に供給する。
【0164】
セキュアチップマネージャモジュール132は、ステップS120において、セキュアチップ処理モジュール53から供給されてきたセッションキーを受信し、ステップS121に進み、それを保持する。
【0165】
その後、例えば、セッションキーを用いた暗号化はセキュアチップマネージャモジュール132で行われ、より高い秘匿性が要求される暗号化のみがセキュアチップ処理モジュール53内で行われる。
【0166】
このように、セッションキーを用いた暗号化をセキュアチップマネージャモジュール132で行い、より高い秘匿性が要求される暗号化(暗号化を利用して行われる相互認証や、後述するパッケージの作成などを含む)だけをセキュアチップ処理モジュール53で行うようにすることにより、セキュアチップ処理モジュール53において、すべての暗号処理を行う場合に比較して、セキュアチップ処理モジュール53の負荷を軽減することができ、その結果、セキュアチップ処理モジュール53における処理時間を短くすることができる。
【0167】
なお、耐タンパ性のあるセキュアチップ処理モジュール53を複数設け、その複数のセキュアチップ処理モジュール53に、処理を分散して行わせることにより、1つあたりのセキュアチップ処理モジュール53の負荷を軽減することができる。
【0168】
その後、サーバアプリケーション51は、ステップS49において、セキュアチップ41に送信するコマンドの作成の要求をセキュアチップコマンドモジュール131に供給する。
【0169】
セキュアチップコマンドモジュール131は、ステップS78において、サーバアプリケーション51からのコマンドの作成の要求を受信する。
【0170】
セキュアチップコマンドモジュール131は、ステップS79において、サーバアプリケーション51からのコマンドの作成の要求に応じて、コマンドに含める暗号情報の取得をセキュアチップマネージャモジュール132に要求する。即ち、この例においては、サーバアプリケーション51からの要求が、より高い秘匿性が要求される暗号化の必要な特別なコマンドの作成要求であり、この場合、セキュアチップコマンドモジュール131は、コマンドに含める暗号情報の取得の要求をセキュアチップマネージャモジュール132に供給する。
【0171】
ここで、特別なコマンドとしては、例えば、セキュアチップ41に対するエリア定義領域やサービス定義領域の登録や削除を要求するコマンドなどがある。
【0172】
ステップS122において、セキュアチップマネージャモジュール132は、セキュアチップコマンドモジュール131からの要求を受信し、ステップS123に進み、暗号情報(コマンドの実行権)の生成の要求をセキュアチップ処理モジュール53に供給する。
【0173】
セキュアチップ処理モジュール53は、ステップS162において、セキュアチップマネージャモジュール132からの要求を受信し、ステップS163に進み、暗号情報を生成するための鍵が、サーバアプリケーション51によるアクセスが許可されている鍵であり、暗号情報を生成するための暗号処理が、サーバアプリケーション51によるアクセスが許可されている暗号処理であるか否か(コマンド実行権の作成が許可されているか否か)をアクセスコントロールリストを参照して確認する。
【0174】
また、ステップS163において、セキュアチップ処理モジュール53は、暗号情報を生成するための鍵と暗号処理のいずれも、サーバアプリケーション51によるアクセスが許可されていることを確認した場合、セキュアチップマネージャモジュール132からの要求(サーバアプリケーション51からの要求)に応じて、その特別なコマンドを実行する実行権を表す権利書(のデータ)に暗号処理を施すことによって暗号情報を生成する。
【0175】
さらに、セキュアチップ処理モジュール53は、その権利書が正当なものであることを証明する証明書(のデータ)を、権利書の暗号化結果に付加し、ステップS164において、その証明書と権利書(の暗号化結果)とをパッケージとして、セキュアチップマネージャモジュール132に供給する。
【0176】
セキュアチップマネージャモジュール132は、ステップS124において、セキュアチップ処理モジュール53からのパッケージ(暗号情報)を受信し、ステップS125に進み、受信した暗号情報をセキュアチップコマンドモジュール131に供給する。
【0177】
セキュアチップコマンドモジュール131は、ステップS80において、セキュアチップマネージャモジュール132から供給されてきた暗号情報を受信し、ステップS81に進み、その暗号情報をパラメータ情報として含むコマンドを作成する。セキュアチップコマンドモジュール131は、ステップS82において、作成したコマンドの暗号化(セッションキーによる暗号化)をセキュアチップマネージャモジュール132に依頼する。
【0178】
なお、ステップS49においてサーバアプリケーション51から作成が要求されたコマンドが特別なコマンドではない場合、ステップS79およびS80のセキュアチップコマンドモジュール131の処理、ステップS122乃至S125のセキュアチップマネージャモジュール132の処理、および、ステップS162乃至S164のセキュアチップ処理モジュール53の処理は省略され、サーバアプリケーション51からの要求に応じて、所定のパラメータ情報(パッケージではないパラメータ情報)を含むコマンドがセキュアチップコマンドモジュール131により作成される。
【0179】
ステップS126において、セキュアチップマネージャモジュール132は、セキュアチップコマンドモジュール131からの依頼を受信し、ステップS127に進み、ステップS121で保持しておいたセッションキーを用いて、セキュアチップコマンドモジュール131により作成されたコマンドに暗号処理(暗号化)を施す。
【0180】
ステップS128において、セキュアチップマネージャモジュール132は、暗号処理が施されたコマンドを暗号化データとしてセキュアチップコマンドモジュール131に供給する。
【0181】
セキュアチップコマンドモジュール131は、ステップS83において、セキュアチップマネージャモジュール132からの暗号化データを受信して、ステップS84に進み、その暗号化データ(コマンド)をサーバアプリケーション51に供給する。
【0182】
サーバアプリケーション51は、ステップS50において、セキュアチップコマンドモジュール131からのコマンドを受信して、ステップS51に進み、そのコマンドを、クライアント側装置31としてのハードウェアに対するメッセージであるデバイス用データとともに、クライアントアプリケーション42に送信する。
【0183】
クライアントアプリケーション42は、ステップS28において、サーバアプリケーション51からの暗号情報およびデバイス用データを受信して、ステップS29に進み、暗号情報をセキュアチップ41に送信する。
【0184】
セキュアチップ41は、ステップS15において、クライアントアプリケーション42からの暗号情報を受信し、その暗号情報をコマンドに復号する。さらに、セキュアチップ41は、必要に応じて、コマンドの実行権を確認した上で、そのコマンドに応じた処理を実行し、ステップS16において、そのコマンドに対応するレスポンスとしてのレスポンスデータをクライアントアプリケーション42に送信する。レスポンスデータには、セキュアチップ41が有するセクションキーにより暗号化が施されている。
【0185】
クライアントアプリケーション42は、ステップS30において、セキュアチップ41からのレスポンスデータを受信して、ステップS31に進み、そのレスポンスデータをサーバアプリケーション51に送信する。
【0186】
サーバアプリケーション51は、ステップS52において、クライアントアプリケーション42からのレスポンスデータを受信し、ステップS53に進み、そのレスポンスデータの復号をセキュアチップコマンドモジュール131に要求する。
【0187】
ステップS85において、セキュアチップコマンドモジュール131は、サーバアプリケーション51からの要求を受信し、ステップS86に進み、セキュアチップマネージャモジュール132に対してレスポンスデータの復号を依頼する。
【0188】
ステップS129において、セキュアチップマネージャモジュール132は、セキュアチップコマンドモジュール131からの依頼を受信し、ステップS130に進み、セッションキーを用いてレスポンスデータを復号する。
【0189】
ステップS131において、セキュアチップマネージャモジュール132は、復号して得られた復号データをセキュアチップコマンドモジュール131に供給する。
【0190】
セキュアチップコマンドモジュール131は、ステップS87において、セキュアチップマネージャモジュール132からの復号データを受信して、ステップS88に進み、その復号データをサーバアプリケーション51に供給する。
【0191】
サーバアプリケーション51は、ステップS54において、セキュアチップコマンドモジュール131からの復号データを受信して、ステップS55に進み、所定のレスポンス処理を行う。これにより、例えば、セキュアチップ41に送信したコマンドが実行され、情報の書き換えなどがセキュアチップ41により正常に行われたか否かが確認される。
【0192】
以上のような処理が、クライアント側装置31とサーバ側装置32との間で行われる。
【0193】
次に、以上のようなアクセス制御を行うセキュアチップ処理モジュール53について詳細に説明する。
【0194】
図15は、セキュアチップ処理モジュール53の構成例を示すブロック図である。
【0195】
セキュアチップ処理モジュール53は、例えば、セキュアチップ処理機能部201、アクセス制御部202、暗号処理部203、および鍵管理部204から構成される。図15においては、キーDB141がセキュアチップ処理モジュール53の外部に構築されているが、上述したように、セキュアチップ処理モジュール53の内部に構築される場合もある。
【0196】
セキュアチップ処理機能部201は、セキュアチップ処理モジュール53の全体を制御し、セキュアチップマネージャモジュール132などの外部との情報の入出力や、外部からの要求に対する応答などを管理する。
【0197】
例えば、セキュアチップ処理機能部201は、サーバアプリケーション51(セキュアチップマネージャモジュール132)から要求された鍵、暗号処理へのアクセスが許可されているか否かの確認をアクセス制御部202に行わせ、アクセスが許可されている場合のみ、その要求された暗号処理を暗号処理部203に行わせる。また、セキュアチップ処理機能部201は、暗号処理の結果が暗号処理部203から供給されてきたとき、それをセキュアチップマネージャモジュール132に供給する。
【0198】
アクセス制御部202は、アクセスコントロールリストを管理し、セキュアチップ処理機能部201からの要求に応じて、セキュアチップ処理機能部201に対して外部から要求されたアクセスが許可されているか否かの確認を、アクセスコントロールリストを参照して行う。上述したように、アクセスコントロールリストには、アクセスを要求してきたアプリケーション(サーバアプリケーション51)に許可されているアクセスの内容が記述されている。アクセス制御部202による確認結果はセキュアチップ処理機能部201に通知される。
【0199】
また、アクセス制御部202は、サーバアプリケーション51との間で相互認証を行う。
【0200】
なお、このアクセス制御部202は、セキュアチップ処理機能部201と併せた形で1つの機能部として実装することも可能であり、この場合、セキュアチップ処理機能部201とアクセス制御部202とを併せた1つの機能部は、上述したようなセキュアチップ処理機能部201の処理と、アクセス制御部202の処理を行う。
【0201】
暗号処理部203は、鍵を利用した操作(例えば、鍵の登録、削除など)や鍵を利用した特定の暗号処理(例えば、暗号化、復号など)がセキュアチップ処理機能部201から依頼されたとき、必要に応じて、鍵管理部204から鍵を取得し、取得した鍵を利用して依頼された処理を行う。暗号処理部203は、適宜、鍵を利用した操作や暗号処理の結果をセキュアチップ処理機能部201に返却する。
【0202】
なお、鍵管理部204から取得された鍵が暗号化されている場合、暗号処理部203は、それを復号し、復号して得られた鍵を用いてセキュアチップ処理機能部201から依頼された処理を行う。
【0203】
鍵管理部204は、暗号化された状態の鍵をキーDB141に保存し、暗号処理部203からの要求に応じて、キーDB141に保存されている鍵を暗号化された状態のまま提供する。
【0204】
なお、キーDB141が外部記憶装置に構築されている場合、鍵管理部204は、自分自身で暗号処理部203から要求された鍵をキーDB141から取得するだけでなく、キーDB141にアクセス可能な所定のソフトウェアを介して鍵を取得することもある。また、暗号化せずに鍵をセキュアチップ処理モジュール53内部に保持するようにしてもよく、この場合、鍵管理部204は、セキュアチップ処理モジュール53内部に保持しているキーDB141から読み出した鍵をそのまま暗号処理部203に出力する。
【0205】
次に、図15の各部の動作についてフローチャートを参照して説明する。
【0206】
始めに、図16のフローチャートを参照して、セキュアチップ処理モジュール53による相互認証処理について説明する。図16は、図13のステップS151乃至S157の処理を、図15の各部の処理として詳細に示したものである。
【0207】
即ち、ステップS221において、セキュアチップ処理モジュール53のアクセス制御部202は、セキュアチップマネージャモジュール132から供給されてきたセキュアチップ情報を受信し、ステップS222に進み、受信したセキュアチップ情報に基づいて、制御対象とするセキュアチップのフォーマットの指定を受ける。
【0208】
また、アクセス制御部202は、ステップS223において、サーバアプリケーション51との間で相互認証を行い、この相互認証によりサーバアプリケーション51の正当性が確認できたとき、ステップS224に進み、自分自身が管理するアクセスコントロールリストに記述されている内容に従って、サーバアプリケーション51による特定の鍵へのアクセスと、暗号処理へのアクセスを許可する。
【0209】
以上のステップS221乃至S224のアクセス制御部202の処理が、図13のステップS151乃至S154の処理にそれぞれ対応する。
【0210】
暗号情報を生成することの要求がセキュアチップマネージャモジュール132から供給されてきたとき、セキュアチップ処理機能部201は、ステップS201において、それを受信する。この要求は、セキュアチップ41−セキュアチップ処理モジュール53間の認証を行うために用いられる暗号情報の生成要求(図13のステップS114で行われる要求)である。
【0211】
ステップS202において、セキュアチップ処理機能部201は、暗号情報を生成するための鍵が、サーバアプリケーション51によるアクセスが許可されている鍵であり、暗号情報を生成するための暗号処理が、サーバアプリケーション51によるアクセスが許可されている暗号処理であるか否かを確認することをアクセス制御部202に要求する。
【0212】
アクセス制御部202は、ステップS225において、セキュアチップ処理機能部201からの要求を受信し、ステップS226に進み、アクセスコントロールリストを参照して、それを確認する。アクセス制御部202は、鍵と暗号処理へのアクセスが許可されていることを確認した場合、ステップS227において、アクセスが許可されていることをセキュアチップ処理機能部201に通知する。
【0213】
ステップS203において、セキュアチップ処理機能部201は、アクセス制御部202からの通知を受信し、ステップS204に進み、暗号処理部203に対して相互認証処理を要求する。
【0214】
ステップS231において、暗号処理部203は、セキュアチップ処理機能部201からの要求を受信し、ステップS232に進み、鍵管理部204との間で相互認証処理を行う(鍵管理部204のステップS241)。この相互認証が成功したとき、鍵管理部204から暗号情報の生成に用いる鍵が供給されてくるから、暗号処理部203は、その供給されてきた鍵に施されている暗号を復号し、復号して得られた鍵を用いて暗号情報を生成する。
【0215】
ステップS233において、暗号処理部203は、生成した暗号情報を、セキュアチップ41−セキュアチップ処理モジュール53間での相互認証で用いる相互認証用のデータとしてセキュアチップ処理機能部201に供給する。
【0216】
セキュアチップ処理機能部201は、ステップS205において、暗号処理部203から供給されてきた相互認証用データを受信し、ステップS206に進み、それをセキュアチップマネージャモジュール132に供給する。
【0217】
以上のステップS201,S226,S206の処理が、図13のステップS155乃至S157の処理にそれぞれ対応する。
【0218】
次に、図17のフローチャートを参照して、セキュアチップ処理モジュール53によるセッションキーの取得処理について説明する。図17は、図14のステップS159乃至S161の処理を、図15の各部の処理として詳細に示したものである。
【0219】
即ち、ステップS251において、セキュアチップ処理機能部201は、セキュアチップマネージャモジュール132からのセッションキーの要求(図14のステップS119で行われる要求)を受信して、ステップS252に進み、その要求をアクセス制御部202に供給する。
【0220】
ステップS271において、アクセス制御部202は、セキュアチップ処理機能部201から供給されてきた要求を受信し、ステップS272に進み、セキュアチップマネージャモジュール132に対するセッションキーの出力が許可されているか否かをアクセスコントロールリストを参照して確認する。
【0221】
セキュアチップマネージャモジュール132へのセッションキーの出力が許可されていると確認した場合、ステップS273に進み、アクセス制御部202は、アクセスが許可されていることをセキュアチップ処理機能部201に通知する。
【0222】
セキュアチップ処理機能部201は、ステップS253において、アクセス制御部202からの通知を受信し、ステップS254に進み、暗号処理部203に対してセッションキーの取得を要求する。
【0223】
ステップS281において、暗号処理部203は、セキュアチップ処理機能部201からの要求を受信し、ステップS282に進み、セッションキーを取得する。ここでは、例えば、チャレンジアンドレスポンス方式での相互認証を行うために発生された乱数がセッションキーとして暗号処理部203により取得される。暗号処理部203は、ステップS283において、ステップS282で取得したセッションキーをセキュアチップ処理機能部201に出力する。
【0224】
ステップS255において、セキュアチップ処理機能部201は、暗号処理部203から供給されてきたセッションキーを受信し、ステップS256に進み、それをセキュアチップマネージャモジュール132に供給する。
【0225】
以上のステップS251,S272,S256の処理が、それぞれ、図14のステップS159乃至S161の処理に対応する。
【0226】
次に、図18のフローチャートを参照して、セキュアチップ処理モジュール53によるパッケージの取得処理について説明する。図18は、図14のステップS162乃至S164の処理を、具体的にパッケージを取得する処理として、また、図15の各部の処理として示したものである。
【0227】
ステップS291において、セキュアチップ処理機能部201は、セキュアチップマネージャモジュール132からのパッケージの生成要求(図14のステップS123で行われる要求)を受信し、ステップS292に進み、その要求をアクセス制御部202に出力する。
【0228】
アクセス制御部202は、ステップS311において、セキュアチップ処理機能部201からの要求を受信し、ステップS312に進み、アプリケーション51によるパッケージの取得が許可されているか否か(コマンド実行権の作成が許可されているか否か)をアクセスコントロールリストを参照して確認し、許可されている場合、ステップS313に進み、そのことをセキュアチップ処理機能部201に通知する。
【0229】
ステップS293において、セキュアチップ処理機能部201は、アクセス制御部202からの通知を受信し、ステップS294に進み、暗号処理部203に対してパッケージの取得を要求する。
【0230】
ステップS321において、暗号処理部203は、セキュアチップ処理機能部201からの要求を受信し、ステップS322に進み、鍵管理部204に問い合わせることによって、いまサーバアプリケーション51(セキュアチップマネージャモジュール132)から要求されているパッケージが既に生成されており、鍵管理部204により保存されている場合、その、保存されているパッケージを鍵管理部204から取得する。鍵管理部204においては、暗号処理部203からの問い合わせに対する応答が行われる(ステップS331)。
【0231】
暗号処理部203は、ステップS323において、ステップS322で取得したパッケージをセキュアチップ処理機能部201に供給する。
【0232】
ステップS295において、セキュアチップ処理機能部201は、暗号処理部203により取得されたパッケージを受信する。
【0233】
一方、セキュアチップマネージャモジュール132から要求されているパッケージがまだ生成されておらず、鍵管理部204により保存されていない場合、ステップS324において、暗号処理部203は、セキュアチップマネージャモジュール132から要求されているパッケージを生成する。即ち、暗号処理部203は、実行権を表す権利書に、鍵管理部204から取得した鍵により暗号処理を施して暗号情報を生成し、生成した暗号情報に、その権利書が正当なものであることを証明する証明書を付加することによってパッケージを生成する。
【0234】
暗号処理部203は、生成したパッケージを鍵管理部204に供給し、保存させるとともに、ステップS325において、セキュアチップ処理機能部201に供給する。
【0235】
鍵管理部204は、ステップS332において、暗号処理部203により生成されたパッケージを受信し、ステップS333に進み、それを保存する。同じパッケージの生成が再度要求された場合、ここで保存されたパッケージがセキュアチップマネージャモジュール132に提供される。
【0236】
ステップS296において、セキュアチップ処理機能部201は、暗号処理部203により取得されたパッケージを受信する。ステップS295、またはS296においてパッケージを受信したとき、セキュアチップ処理機能部201は、ステップS297において、パッケージをセキュアチップマネージャモジュール132に供給する。
【0237】
セキュアチップ処理モジュール53においては、それを構成する各部により、以上のような処理が行われる。
【0238】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
【0239】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【0240】
この記録媒体は、図6に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(登録商標)(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブル記録媒体51により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM73やハードディスク75などで構成される。
【0241】
なお、本明細書において、各ステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【0242】
【図1】従来の電子マネーシステムの構成例を示すブロック図である。
【図2】本発明を適用したサーバ−クライアントシステムの構成例を示すブロック図である。
【図3】図2のクライアント側装置とサーバ側装置の機能構成例を示すブロック図である。
【図4】クライアント側装置とサーバ側装置のハードウェア構成の具体例を示すブロック図である。
【図5】クライアント側装置とサーバ側装置のハードウェア構成の他の具体例を示すブロック図である。
【図6】図4のPCのハードウェア構成例を示すブロック図である。
【図7】図4のコンピュータのハードウェア構成例を示すブロック図である。
【図8】図3のセキュアチップのハードウェア構成例を示すブロック図である。
【図9】セキュアチップのディレクトリ構造の例を示す図である。
【図10】図3のセキュアサーバの詳細な構成例を示すブロック図である。
【図11】セキュアチップ処理モジュールによる鍵管理の概念を示す図である。
【図12】アクセスコントロールリストの例を示す図である。
【図13】クライアント側装置とサーバ側装置の動作について説明するフローチャートである。
【図14】クライアント側装置とサーバ側装置の動作について説明する、図13に続くフローチャートである。
【図15】セキュアチップ処理モジュールの詳細な構成例を示すブロック図である。
【図16】セキュアチップ処理モジュールの詳細な処理について説明するフローチャートである。
【図17】セキュアチップ処理モジュールの他の詳細な処理について説明するフローチャートである。
【図18】セキュアチップ処理モジュールのさらに他の詳細な処理について説明するフローチャートである。
【符号の説明】
【0243】
31 クライアント側装置, 32 サーバ側装置, 41 セキュアチップ, 42 R/W, 43 クライアントアプリケーション, 51 サーバアプリケーション, 52 セキュアサーバ, 53 セキュアチップ処理モジュール, 131 セキュアチップコマンドモジュール, 132 セキュアチップマネージャモジュール, 201 セキュアチップ処理機能部, 202 アクセス制御部, 203 暗号処理部, 204 鍵管理部

【特許請求の範囲】
【請求項1】
暗号化された情報を送信してIC(Integrated Circuit)チップを制御するサーバからの要求に応じて暗号処理を行う情報処理装置において、
要求に応じて許可する暗号処理の種類を管理する管理手段と、
認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理手段により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項2】
暗号化された情報を送信してIC(Integrated Circuit)チップを制御するサーバからの要求に応じて暗号処理を行う情報処理方法において、
要求に応じて許可する暗号処理の種類を管理する管理ステップと、
認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理ステップの処理により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力ステップと
を含むことを特徴とする情報処理方法。
【請求項3】
暗号化された情報を送信してIC(Integrated Circuit)チップを制御するサーバからの要求に応じて行う暗号処理をコンピュータに実行させるプログラムにおいて、
要求に応じて許可する暗号処理の種類を管理する管理ステップと、
認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理ステップの処理により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力ステップと
を含むことを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2006−107323(P2006−107323A)
【公開日】平成18年4月20日(2006.4.20)
【国際特許分類】
【出願番号】特願2004−295968(P2004−295968)
【出願日】平成16年10月8日(2004.10.8)
【出願人】(504134520)フェリカネットワークス株式会社 (129)
【Fターム(参考)】