(57)【要約】【課題】セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができるようにする。【解決手段】  アクセスコントロールリスト１４２には、アクセスを許可する鍵や暗号処理に関する情報が記述されている。認証が成功したサーバアプリケーション５１から、所定の暗号処理へのアクセス（暗号処理を行うこと）が要求されたとき、セキュアチップ処理モジュール５３においては、サーバアプリケーション５１によるその所定の暗号処理へのアクセスが許可されているか否かがアクセスコントロールリスト１４２に基づいて確認され、許可されていることが確認された場合、その所定の暗号処理が行われる。本発明は、暗号情報を用いてICチップを制御するサーバアプリケーションからの要求に応じて暗号処理を行うコンピュータに適用することができる。【選択図】図１１
2006107323.tif 000002
【特許請求の範囲】
【請求項１】
暗号化された情報を送信してIC(Integrated Circuit)チップを制御するサーバからの要求に応じて暗号処理を行う情報処理装置において、
要求に応じて許可する暗号処理の種類を管理する管理手段と、
認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理手段により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力手段と
を備えることを特徴とする情報処理装置。
【請求項２】
暗号化された情報を送信してIC(Integrated Circuit)チップを制御するサーバからの要求に応じて暗号処理を行う情報処理方法において、
要求に応じて許可する暗号処理の種類を管理する管理ステップと、
認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理ステップの処理により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力ステップと
を含むことを特徴とする情報処理方法。
【請求項３】
暗号化された情報を送信してIC(Integrated Circuit)チップを制御するサーバからの要求に応じて行う暗号処理をコンピュータに実行させるプログラムにおいて、
要求に応じて許可する暗号処理の種類を管理する管理ステップと、
認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理ステップの処理により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができるようにする情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、クレジットカードや携帯電話機に埋め込まれたFeliCa（登録商標）などの非接触ICチップに電子マネーをチャージ（入金）し、そのチャージされた電子マネーを用いて、商品購入時の代金の支払いをしたりすることが普及しつつある。
【０００３】
代金の支払い時には、自分のクレジットカードや携帯電話機を店舗に設置された端末（リーダライタ）にかざすだけであるから、ユーザは、代金の支払いを迅速に行うことができる。
【０００４】
このような電子マネーシステムは、例えば、図１に示すような構成からなる。
【０００５】
電子マネーシステムのサーバ側はサーバ装置１とSAM(Secure Application Module)２からなり、クライアント側はクライアント装置３とR/W（リーダ／ライタ）４からなる。サーバ装置１とクライアント装置３は、ネットワーク５を介して接続されている。
【０００６】
図１の例においては、クライアント側のR/W４には非接触ICチップ１３が内蔵された携帯電話機６が近接されており、電磁誘導を用いた近距離通信を介してクライアント装置３に接続されている。
【０００７】
サーバ装置１に実装されるサーバアプリケーション１１は、クライアント装置３に実装されるクライアントアプリケーション１２との間で通信を行い、クライアントアプリケーション１２からの要求に応じて作成したコマンド（非接触ICチップ１３に実行させるコマンド）をSAM２に出力する。また、サーバアプリケーション１１は、暗号化が施されたコマンドがSAM２から供給されてきたとき、それをネットワーク５を介してクライアント装置３のクライアントアプリケーション１２に送信する。
【０００８】
SAM２は、耐タンパ性を有する装置であり、暗号処理、および、その暗号処理で用いる鍵の管理を行う。SAM２は、サーバアプリケーション１１から供給されてきたコマンドに暗号化を施し、暗号化されたコマンドをサーバアプリケーション１１に出力する。SAM２と非接触ICチップ１３は、それぞれ共通の鍵を持っており、その鍵で暗号化された情報を送受信することによりSAM２と非接触ICチップ１３の間で暗号通信が実現される。
【０００９】
クライアント装置３のクライアントアプリケーション１２は、所定の要求をサーバ装置１のサーバアプリケーション１１に送信するとともに、サーバアプリケーション１１からコマンドが送信されてきたとき、それをR/W４を介して非接触ICチップ１３に送信し、実行させる。
【００１０】
非接触ICチップ１３は、R/W４等を介してSAM２から送信されてきたコマンドに施されている暗号化を復号し、それを実行する。コマンドの内容が電子マネーの書き換えである場合、このコマンドには書き換える金額の情報なども含まれている。
【００１１】
例えば、このような構成を有する電子マネーシステムにおいて、非接触ICチップ１３に記憶されている電子マネーを用いて携帯電話機６のユーザが購入した商品の代金を支払う場合、クライアント装置３のクライアントアプリケーション１２により、サーバ装置１のサーバアプリケーション１１に対して、商品の代金の支払い要求が送信され、その要求を受信したサーバアプリケーション１１により、電子マネーの残高の読み出しを非接触ICチップ１３に要求するコマンド（Readコマンド）が作成される。
【００１２】
サーバアプリケーション１１により作成されたReadコマンドは、SAM２により暗号化が施された後、サーバ装置１のサーバアプリケーション１１、ネットワーク５、クライアント装置３のクライアントアプリケーション１２、およびR/W４を介して非接触ICチップ１３に送信され、非接触ICチップ１３において復号された後、実行される。Readコマンドが実行されることによって読み出された残高は、非接触ICチップ１３により暗号化が施された後、サーバアプリケーション１１に対するレスポンスとして、R/W４、クライアント装置３のクライアントアプリケーション１２、ネットワーク５、およびサーバ装置１のサーバアプリケーション１１を介してSAM２に送信される。SAM２においては、非接触ICチップ１３から送信されてきた残高に施されている暗号化が復号され、復号された残高がサーバアプリケーション１１に送信される。
【００１３】
これにより、サーバアプリケーション１１は、非接触ICチップ１３に記憶されている現在の電子マネーの残高を確認することができる。
【００１４】
残高を確認したとき、サーバ装置１のサーバアプリケーション１１により、電子マネーの残高の書き換え（商品の代金の分だけ減額した残高への書き換え）を非接触ICチップ１３に要求するコマンド（Writeコマンド）が作成される。
【００１５】
サーバアプリケーション１１により作成されたWriteコマンドは、先に送信されたReadコマンドと同様に、SAM２により暗号化が施された後、サーバ装置１のサーバアプリケーション１１、ネットワーク５、クライアント装置３のクライアントアプリケーション１２、およびR/W４を介して非接触ICチップ１３に送信され、非接触ICチップ１３において復号された後、実行される。このWriteコマンドには、残高をいくらにするのかを表す情報なども含まれている。これにより、非接触ICチップ１３に記憶されている電子マネーの残高が商品の代金の分だけ減額された状態になる。
【００１６】
例えば、残高の減額が完了したことを通知するメッセージが非接触ICチップ１３からサーバアプリケーション１１に送信されるなどの処理が行われた後、一連の処理が終了される。このような一連の処理により、商品の代金の支払いが実現される。
【００１７】
このような構成からなるサーバ−クライアントシステムより、以上のような商品の代金の支払いの他に、例えば、店舗が発行するポイントの管理や、電車の駅の改札機としてクライアント装置３が設けられている場合、乗車料金の支払いなどが実現される。ポイントの管理や乗車料金の支払いの場合も、基本的には、上述した代金の支払いの場合と同様の処理が図１の各装置により行われる。
【００１８】
図１に示すような構成からなるサーバ−クライアントシステムについては特許文献１に開示されている。また、デジタル署名を用いることにより、鍵などの内部リソースに対するアクセスを制御する技術が特許文献２に開示されている。
【特許文献１】特開２００３−１４１０６３号公報
【特許文献２】特表２００３−５２４２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
ところで、上述したように、鍵を管理するSAM２が耐タンパ装置に格納されるものであり、鍵や鍵のリストなどがセキュアな環境にある場合、外部のネットワークを介さずにSAM２と接続されるような、SAM２と同一の環境にあると考えられる装置（例えば、サーバアプリケーション１１を実装するサーバ装置１）からは、SAM２に対するオペレーションを柔軟に行うことができるものの、そのような環境にない装置からは、SAM２に対するオペレーションを柔軟に行うことができないという課題があった。ここで、SAM２に対するオペレーションには、コマンドの暗号化や、非接触ICチップから送信されてきたデータの復号などがある。
【００２０】
例えば、インターネットなどよりなる図１のネットワーク５を介してSAM２と接続されるようなサーバアプリケーションを実装する装置からは、SAM２に対してオペレーションを行うことができない。
【００２１】
これは、仮に、そのサーバアプリケーションを実装する装置が悪意のある装置である場合（装置を扱うユーザが悪意のある者である場合）には、非接触ICチップに対するコマンドを暗号化したり、非接触ICチップからのレスポンスを復号したりすることができるなどのSAM２の機能が悪用されてしまい、非接触ICチップに記憶されている電子マネーの残高が勝手に書き換えられるなどの不正行為が行われてしまうおそれがあることから、SAM２と同一環境にあると考えられる装置以外からはオペレーションを行うことができないようになされているためである。
【００２２】
本発明はこのような状況に鑑みてなされたものであり、セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができるようにするものである。
【課題を解決するための手段】
【００２３】
本発明の情報処理装置は、暗号化された情報を送信してICチップを制御するサーバからの要求に応じて暗号処理を行う情報処理装置であって、要求に応じて許可する暗号処理の種類を管理する管理手段と、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理手段により管理されている種類の暗号処理である場合、要求された所定の暗号処理を行い、処理結果の情報を、制御対象とするICチップに送信する情報として所定のサーバに出力する出力手段とを備えることを特徴とする。
【００２４】
本発明の情報処理方法は、暗号化された情報を送信してICチップを制御するサーバからの要求に応じて暗号処理を行う情報処理方法であって、要求に応じて許可する暗号処理の種類を管理する管理ステップと、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理ステップの処理により管理されている種類の暗号処理である場合、要求された所定の暗号処理を行い、処理結果の情報を、制御対象とするICチップに送信する情報として所定のサーバに出力する出力ステップとを含むことを特徴とする。
【００２５】
本発明のプログラムは、暗号化された情報を送信してICチップを制御するサーバからの要求に応じて行う暗号処理をコンピュータに実行させるプログラムであって、要求に応じて許可する暗号処理の種類を管理する管理ステップと、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理ステップの処理により管理されている種類の暗号処理である場合、要求された所定の暗号処理を行い、処理結果の情報を、制御対象とするICチップに送信する情報として前記所定のサーバに出力する出力ステップとを含むことを特徴とする。
【００２６】
本発明の情報処理装置および方法、並びにプログラムにおいては、要求に応じて許可する暗号処理の種類が管理され、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして管理されている種類の暗号処理である場合、要求された所定の暗号処理が行われ、処理結果の情報が、制御対象とするICチップに送信する情報として所定のサーバに出力される。
【発明の効果】
【００２７】
本発明によれば、セキュリティを確保しつつ、同一環境以外の環境にあるサーバからの要求に対しても、各種の暗号処理を行うことができる。
【発明を実施するための最良の形態】
【００２８】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２９】
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、即ち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００３０】
請求項１に記載の情報処理装置は、暗号化された情報を送信してICチップ（例えば、図４のセキュアチップ４１）を制御するサーバ（例えば、図４のサーバアプリケーション５１）からの要求に応じて暗号処理を行う情報処理装置（例えば、図４のセキュアチップ処理モジュール５３が格納される装置）であって、要求に応じて許可する暗号処理の種類を管理する管理手段（例えば、図１６のステップＳ２２４の処理を実行する図１５のアクセス制御部２０２）と、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理手段により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力手段（例えば、図１６のステップＳ２３３の処理を実行する図１５の暗号処理部２０３）とを備えることを特徴とする。
【００３１】
請求項２に記載の情報処理方法は、暗号化された情報を送信してICチップ（例えば、図４のセキュアチップ４１）を制御するサーバ（例えば、図４のサーバアプリケーション５１）からの要求に応じて暗号処理を行う情報処理方法であって、要求に応じて許可する暗号処理の種類を管理する管理ステップ（例えば、図１６のステップＳ２２４）と、認証が成功した所定のサーバから要求された所定の暗号処理が、許可するものとして前記管理ステップの処理により管理されている種類の暗号処理である場合、要求された前記所定の暗号処理を行い、処理結果の情報を、制御対象とする前記ICチップに送信する情報として前記所定のサーバに出力する出力ステップ（例えば、図１６のステップＳ２３３）とを含むことを特徴とする。
【００３２】
請求項３に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項２に記載の情報処理方法と同様である。
【００３３】
以下、本発明の実施の形態について図を参照して説明する。
【００３４】
図２は、本発明を適用したサーバ−クライアントシステム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない）の構成例を示す図である。
【００３５】
図２のサーバ−クライアントシステムは、いわゆるクライアントである各種のクライアント側装置３１と、いわゆるサーバであるサーバ側装置３２とが、例えば、インターネットなどのネットワーク３３、さらには、必要に応じて、例えば、移動機（体）通信網などのネットワーク３４を介して接続されて構成されている。
【００３６】
クライアント側装置３１はセキュアチップを内蔵している。セキュアチップは、耐タンパ性のあるセキュアなICチップであり、接触または非接触で他の装置とデータのやりとりを行うことができるようになっている。
【００３７】
なお、クライアント側装置３１としては、例えば、携帯電話機やPDA(Personal Digital Assistant)などの携帯端末、PC，POS(Point Of Sales)レジ（POSシステム用のレジスタ）、自動販売機、ハンディターミナルなどがある。また、クライアント側装置３１が内蔵するセキュアチップとしては、例えば、電子的な定期券等としてのSuica（登録商標）などに採用されているFeliCa（登録商標）などがある。
【００３８】
サーバ側装置３２は、ネットワーク３３、さらには、必要に応じてネットワーク３４を介して、クライアント側装置３１との間でデータをやりとりし、これにより、各種のサービスを提供する。即ち、例えば、クライアント側装置３１のセキュアチップに電子マネーが記憶されている場合、サーバ側装置３２が、クライアント側装置３１の電子マネーを対象として、商品の代金を差し引き、その差し引き後の金額になるようにクライアント側装置３１の電子マネーを更新する処理などを制御することにより、サーバ側装置３２は電子マネーサービスを提供する。
【００３９】
なお、クライアント側装置３１は、サーバ側装置３２に送信するデータを暗号化して送信し、サーバ側装置３２も、クライアント側装置３１に送信するデータを暗号化して送信する。
【００４０】
クライアント側装置３１における暗号化、さらには、暗号化されたデータの復号などの暗号処理は、耐タンパ性のあるセキュアチップ内で行われるが、サーバ側装置３２における暗号処理は、耐タンパ性のある専用のハードウェアであるHSM(Hardware Security Module)内で行われる場合と、そのような耐タンパ性のあるHSMを利用せず、サーバ側装置３２を実現するソフトウェアなどで行われる場合がある。
【００４１】
また、暗号処理には、特に高い秘匿性が要求される暗号処理と、それ以外の暗号処理とがあり、サーバ側装置３２がHSMを備える場合には、特に高い秘匿性が要求される暗号処理のみをHSM内で行い、それ以外の暗号処理をサーバ側装置３２を実現するソフトウェアなどで行うことができる。
【００４２】
図３は、クライアント側装置３１とサーバ側装置３２の機能的な構成例を示すブロック図である。
【００４３】
クライアント側装置３１は、セキュアチップ４１およびクライアントアプリケーション４２、さらには、必要なR/W４３で構成される。
【００４４】
セキュアチップ４１は、耐タンパ性のあるセキュアなICチップであり、接触または非接触で、他の装置とデータのやりとりを行う。
【００４５】
即ち、セキュアチップ４１は、クライアントアプリケーション４２と直接、またはR/W４３を介して通信を行い、例えば、その通信によってクライアントアプリケーション４２から送信されてくるコマンドにしたがって処理を行う。また、セキュアチップ４１は、その処理後、コマンドに対するレスポンスとしてのレスポンスデータを、クライアントアプリケーション４２に対して、直接、またはR/W４３を介して送信する。セキュアチップ４１は、セキュリティを確保するために、送受信するデータ等に対する暗号処理も行う。
【００４６】
クライアントアプリケーション４２は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアであり、サーバ側装置３２の後述するサーバアプリケーション５１のクライアントとして機能する。
【００４７】
クライアントアプリケーション４２は、サーバアプリケーション５１との間でデータ（コマンドを含む）をやりとりし、また、セキュアチップ４１に対して、直接、またはR/W４３を介してコマンド等を送信することで、セキュアチップ４１に対するデータの読み書き等を行い、これにより各種のサービスを実現する。
【００４８】
即ち、例えば、クライアントアプリケーション４２およびサーバアプリケーション５１が、電子マネーサービスを提供するソフトウェアであり、セキュアチップ４１内に電子マネーサービス用の記憶領域が確保されている場合、セキュアチップ４１に記憶された電子マネーから、商品の代金を差し引き、その差し引き後の金額になるように、セキュアチップ４１に記憶された電子マネーの金額を更新するといった、電子マネーサービスのための処理に必要なデータ（コマンドを含む）のやりとりがクライアントアプリケーション４２とサーバアプリケーション５１との間で行われる。
【００４９】
なお、クライアントアプリケーション４２には、サーバアプリケーション５１との間の通信を制御するモジュールが必要に応じて含まれる。
【００５０】
R/W４３は、セキュアチップ４１と非接触通信または接触通信を行い、クライアントアプリケーション４２から供給されるコマンド等をセキュアチップ４１に送信し、また、セキュアチップ１２から送信されてくるデータ等を受信して、クライアントアプリケーション４２に供給する。
【００５１】
サーバアプリケーション５１は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアであり、クライアント側装置３１のクライアントアプリケーション４２のサーバとして機能する。サーバアプリケーション５１は、クライアントアプリケーション４２との間でデータ（コマンドを含む）をやりとりすることにより、上述した電子マネーサービスその他の各種のサービスを実現する。
【００５２】
また、サーバアプリケーション５１は、セキュリティを確保するため、送受信するデータ等に対する暗号処理をセキュアサーバ５２に依頼する。
【００５３】
なお、サーバアプリケーション５１には、クライアントアプリケーション４２との間の通信を制御するモジュールが必要に応じて含まれる。
【００５４】
セキュアサーバ５２は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアであり、サーバアプリケーション５１からの暗号処理の依頼に応じて、自身で暗号処理を行い、あるいは、暗号処理をセキュアチップ処理モジュール５３に依頼する。
【００５５】
即ち、セキュアサーバ５２は、サーバアプリケーション５１から依頼される暗号処理のうちの、特に高い秘匿性が要求される暗号処理をセキュアチップ処理モジュール５３に依頼し、それ以外の暗号処理を自身（セキュアサーバ５２内）で行う。
【００５６】
セキュアチップ処理モジュール５３は、セキュアサーバ５２からの依頼に応じて、暗号処理（特に高い秘匿性が要求される暗号処理）を行う。
【００５７】
なお、セキュアチップ処理モジュール５３は、ここでは、例えば、耐タンパ性のある専用のハードウェア内に格納されていることとする。但し、セキュアチップ処理モジュール５３は、例えば、セキュアサーバ５２の１つのモジュール（ソフトウェア）とすることも可能である。セキュアチップ処理モジュール５３を格納するハードウエアが、例えば、図１のSAM２に対応する。
【００５８】
後述するように、このような暗号処理を行うセキュアチップ処理モジュール５３は、自分自身が管理する鍵などに対する外部（サーバアプリケーション５１を含む）からのアクセスを制御するリストを管理しており、このリストでアクセスが許可されている者による要求に対してのみ、コマンドの暗号化などの暗号処理を行う。
【００５９】
図４は、クライアント側装置３１とサーバ側装置３２の具体的なハードウェアの構成例を示すブロック図である。
【００６０】
図４において、クライアント側装置３１は、R/W４３，ICカード６１、およびPC６２で構成されている。
【００６１】
ICカード６１は、ハードウェアであるセキュアチップ４１を内蔵し、例えば、電子マネーを格納するEdy（登録商標）などのカードに相当する。
【００６２】
PC６２は、例えば、ICカード６１のユーザが所有するPCであり、そこには、クライアントアプリケーション４２がインストールされる。ユーザは、PC６２を操作することにより、ICカード６１（セキュアチップ４１）に格納されている電子マネーの残高照会や、電子マネーのチャージ等を行うことができる。
【００６３】
図４において、サーバ側装置３２は、セキュアチップ処理モジュール５３およびコンピュータ６３で構成されている。
【００６４】
コンピュータ６３は、例えば、ハードウェアとしてのサーバ（マシン）で、そこには、サーバアプリケーション５１とセキュアサーバ５２がインストールされる。
【００６５】
図５は、クライアント側装置３１とサーバ側装置３２の具体的なハードウェアの他の構成例を示すブロック図である。なお、図５において、サーバ側装置３２のハードウェア構成は、図４における場合と同様である。
【００６６】
図５において、クライアント側装置３１は携帯電話機６４で構成されている。
【００６７】
携帯電話機６４は、ハードウェアであるセキュアチップ４１を内蔵している。さらに、携帯電話機６４には、クライアントアプリケーション４２がインストールされる。ユーザは、携帯電話機６４を操作することにより、例えば、セキュアチップ４１に格納されている電子マネーの残高照会や、電子マネーのチャージ等を行うことができる。
【００６８】
なお、携帯電話機６４が内蔵するセキュアチップ４１へのアクセスは、携帯電話機６４が有する通信機能を利用して行うこともできるし、また、図５では図示していないR/W４３に対して携帯電話機６４（携帯電話機６４が内蔵するセキュアチップ４１）を近づけることにより行うこともできる。
【００６９】
図６は、クライアントアプリケーション４２がインストールされる図４のPC６２のハードウェア構成例を示すブロック図である。
【００７０】
PC６２は、CPU(Central Processing Unit)７２を内蔵している。CPU７２には、バス７１を介して入出力インタフェース８０が接続されており、CPU７２は、入出力インタフェース８０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部７７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)７３に格納されているプログラムを実行する。
【００７１】
また、CPU７２は、ハードディスク７５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部７８で受信されてハードディスク７５にインストールされたプログラム、またはドライブ７９に装着されたリムーバブル記録媒体８１から読み出されてハードディスク７５にインストールされたプログラムをRAM(Random Access Memory)７４にロードして実行する。
【００７２】
これにより、CPU７２は各種の処理を行う。そして、CPU７２は、その処理結果を、必要に応じて、例えば、入出力インタフェース８０を介してLCD(Liquid Crystal Display)やスピーカ等で構成される出力部７６から出力、または、通信部７８から送信、さらには、ハードディスク７５に記録等させる。
【００７３】
なお、入出力インタフェース８０には、例えば、USB(Universal Serial Bus)端子が設けられており、図４のR/W４３は、そのUSB端子に接続することができる。
【００７４】
図７は、サーバアプリケーション５１およびセキュアサーバ５２がインストールされる図４のコンピュータ６３のハードウェア構成例を示すブロック図である。
【００７５】
図７において、コンピュータ６３を構成するバス９１乃至リムーバブル記録媒体１０１は、図６のバス７１乃至リムーバブル記録媒体８１とそれぞれ同様に構成されるものであるため、その説明は省略する。
【００７６】
図８は、図３のセキュアチップ４１のハードウェア構成例を示すブロック図である。
【００７７】
セキュアチップ４１は、大きく分けて、通信処理部１１１とデータ処理部１１２とから構成される。通信処理部１１１は、接触して、または非接触で、セキュアチップ４１の外部と通信するために必要な処理を行い、これにより、外部から送信されてくるデータ（コマンドを含む）をデータ処理部１１２に供給し、また、データ処理部１１２からのデータを外部に送信する。セキュアチップ４１で行われる、外部と通信するために必要な処理としては、データ等の符号化／復号や、変調／復調等がある。
【００７８】
データ処理部１１２は、例えば、CPU１２１、暗号処理部１２２、およびメモリ１２３で構成され、通信処理部１１１から供給されるコマンドにしたがい、各種の処理を行う。
【００７９】
即ち、CPU１２１は、暗号処理部１２２の制御やメモリ１２３の管理を行う。また、CPU１２１は、通信処理部１１１から供給されるコマンドにしたがい、メモリ１２３に対するデータの読み書きや、メモリ１２３に記憶されたデータを対象としたデータ処理等を行う。なお、CPU１２１は、プログラムを実行することにより各種の処理を行うが、そのプログラムはメモリ１２３に記憶されている。
【００８０】
暗号処理部１２２は、CPU１２１の制御にしたがい、データ（コマンドを含む）の暗号化／復号の暗号処理の他に、例えば、いわゆるチャレンジアンドレスポンス方式での認証に用いる乱数の発生、暗号化／復号に用いる鍵（暗号鍵となる情報）の発生（生成）などの認証処理も行う。即ち、暗号処理部１２２は、暗号化されたデータを用いた各種の処理を行う。
【００８１】
メモリ１２３は不揮発性のメモリであり、データやプログラムなどを記憶する。なお、メモリ１２３は、物理的に１つのメモリであっても良いし、複数のメモリであっても良い。また、メモリ１２３を物理的に複数のメモリで構成する場合には、その一部のメモリとして揮発性のメモリを採用することができる。
【００８２】
CPU１２１では、図９に示すように、メモリ１２３の記憶領域が階層化されて管理される。
【００８３】
図９は、メモリ１２３のディレクトリ構造を示す図である。
【００８４】
メモリ１２３の記憶領域のうちの一部は、各種のサービスを提供するためのデータを記憶するデータ記憶領域として使用される。このデータ記憶領域は、いわゆるディレクトリに相当するエリア定義領域を階層とする階層構造をなしており、エリア定義領域は、エリア定義領域およびサービス定義領域を有することができるようになされている。
【００８５】
エリア定義領域は、メモリ１２３のデータ記憶領域の一部であり、サービスを提供するサービス提供者を管理する管理者（サービス提供者自身である場合もある）に割り当てられる。エリア定義領域には、そのエリア定義領域を識別するための名前として使用可能な識別コードとしてのエリアコード、使用可能な空きブロック数を表す空き容量、エリア定義領域（そのエリア定義領域の下位階層のエリア定義領域やサービス定義領域を含む）にアクセスするのに必要な鍵としてのエリアキーなどが配置される。
【００８６】
図９の実施の形態では、管理者Ａに割り当てられたエリア定義領域が最上位階層を構成しており、これを親の階層として、管理者Ｂ１およびＢ２のエリア定義領域が作成されている。さらに、管理者Ｂ１のエリア定義領域を親の階層として、管理者Ｃのエリア定義領域が作成されている。
【００８７】
サービス定義領域は、後述するサービス領域を管理するためのメモリ１２３のデータ記憶領域の一部であり、サービス提供者が提供するサービスに割り当てられる。サービス定義領域には、そのサービス定義領域を識別するための名前として使用可能な識別コードとしてのサービスコード、サービスの提供に必要なデータを記憶するサービス領域の容量を表すブロック数、サービス定義領域（サービス定義領域が管理するサービス領域を含む）にアクセスするのに必要な鍵としてのサービスキーなどが配置される。
【００８８】
サービス領域は、データ記憶領域の一部であり、サービスの提供に必要なデータが記憶される、０以上のブロックで構成される。サービス領域を構成するブロック数が、そのサービス領域を管理するサービス定義領域の容量として配置される。
【００８９】
ここで、CPU１２１は、メモリ１２３のデータ記憶領域を、固定の記憶容量のブロック単位で管理するようになっており、図９における空き容量やサービス領域の容量は、このブロックの数によって管理される。
【００９０】
サービス提供者は、ある管理者が管理するエリア定義領域の下位階層にサービス定義領域を作成し、そのサービス定義領域で管理されるサービス領域を使用して、各種のサービスを提供する。例えば、電子マネーサービスの提供にあたっては、サービス領域に、例えば、電子マネーの金額（残額）や、電子マネーによって購入した商品の情報（例えば、商品名や値段など）などが記憶される。
【００９１】
図１０は、図３のセキュアサーバ５２の詳細な構成例を示すブロック図である。
【００９２】
セキュアサーバ５２は、セキュアチップコマンドモジュール１３１とセキュアチップマネージャモジュール１３２とから構成される。
【００９３】
セキュアチップコマンドモジュール１３１は、例えば、サーバアプリケーション５１からのコマンドの作成の要求（依頼）に応じて、制御対象としているセキュアチップ４１用のコマンドを作成し、サーバアプリケーション５１に供給する。即ち、サーバアプリケーション５１は、クライアント側装置３１のセキュアチップに対して何らかの処理を指示する場合、その処理に対応するコマンドの作成をセキュアチップコマンドモジュール１３１に要求する。
【００９４】
セキュアチップコマンドモジュール１３１は、サーバアプリケーション５１からの要求に応じて、セキュアチップ４１用のコマンドを作成し、作成したコマンドをサーバアプリケーション５１に供給する。
【００９５】
従って、サーバアプリケーション５１は、制御対象としているセキュアチップ４１用のコマンドを（知っていても良いが）知っている必要はないので、様々なコマンド体系のセキュアチップ（コマンドとしてのオペコードや、コマンドがとるパラメータ、コマンドの種類などの違いがあるセキュアチップ）が存在する場合であっても、サーバアプリケーション５１を、そのような様々なコマンド体系のセキュアチップごとに製作する必要がない。
【００９６】
即ち、サーバアプリケーション５１は、セキュアチップコマンドモジュール１３１が解釈することができるコマンド体系を使用することができるものであれば良い。
【００９７】
ここで、セキュアチップコマンドモジュール１３１は、サーバアプリケーション５１からの要求に応じて、セキュアチップ４１用のコマンドを作成し、サーバアプリケーション５１に供給するが、コマンドをサーバアプリケーション５１に供給する前に、セキュアチップマネージャモジュール１３２に供給して、そのコマンドの暗号化を要求する。そして、セキュアチップコマンドモジュール１３１は、その要求に応じてセキュアチップマネージャモジュール１３２から供給される暗号情報（暗号化後のコマンド等）を、サーバアプリケーション５１に供給する。
【００９８】
セキュアチップマネージャモジュール１３２は、自身（セキュアチップマネージャモジュール１３２）またはセキュアチップ処理モジュール５３による暗号処理により得られる暗号情報をセキュアチップコマンドモジュール１３１に供給する。
【００９９】
ここで、図１０のセキュアチップ処理モジュール５３による外部からのアクセスの管理について説明する。なお、セキュアチップ処理モジュール５３に対するアクセスとは、セキュアチップ処理モジュール５３が管理する鍵を用いた暗号化や復号などの暗号処理をセキュアチップ処理モジュール５３に要求して行わせることをいう。
【０１００】
従って、特定の鍵に対するアクセスが許可されているということは、その特定の鍵を用いた処理をセキュアチップ処理モジュール５３に行わせることが許可されていることを表し、特定の暗号処理に対するアクセスが許可されているということは、認証処理（相互／片側）、コマンドの暗号化処理（全体、または一部の暗号化）、後述するコマンド実行権の作成処理などの各種の暗号処理のうちの、その特定の暗号処理をセキュアチップ処理モジュール５３に行わせることが許可されていることを表す。
【０１０１】
図１１は、セキュアチップ処理モジュール５３によるアクセス管理の概念を示す図である。
【０１０２】
図１１に示すように、セキュアチップ処理モジュール５３は、鍵が格納されたキーDB１４１を管理している。このキーDB１４１は、セキュアチップ処理モジュール５３の内部、または外部の記憶装置内に構築される。キーDB１４１には、例えば、セキュアチップ処理モジュール５３により所定の鍵が用いられて暗号化された状態で鍵が格納される。
【０１０３】
また、図１１に示すように、セキュアチップ処理モジュール５３は、サーバアプリケーション５１やセキュアサーバ５２を含む、外部からのアクセスを制御するためのアクセスコントロールリスト１４２を管理している。
【０１０４】
セキュアチップ処理モジュール５３との認証により正当性が検証され、アクセスが許可されている外部のソフトウエアとしてアクセスコントロールリスト１４２に登録されているソフトウェアだけがアクセス可能とされる。従って、上述したような各種の暗号処理をセキュアチップ処理モジュール５３に行わせるためには、サーバアプリケーション５１は、セキュアチップ処理モジュール５３との認証により自身の正当性が検証されている必要がある。
【０１０５】
なお、図１１においては、サーバアプリケーション５１とセキュアチップ処理モジュール５３が直接接続されているが、このように、セキュアサーバ５２（図３）を介さずに、サーバアプリケーション５１とセキュアチップ処理モジュール５３が直接通信を行うこともある。
【０１０６】
図１２は、アクセスコントロールリスト１４２の記述例を示す図である。
【０１０７】
アクセスコントロールリスト１４２には、大きく分けて、「アクセスコントロールリスト」、「フォーマット情報」、「鍵アクセス情報」、「アプリケーション用認証情報」、および「オペレータ用アクセス用認証情報」が記述される。
【０１０８】
「アクセスコントロールリスト」は、アクセスコントロールリスト１４２に関する基本的な情報であり、有効期間（期限）やアクセスの回数に制限がある場合のその回数（１回／無制限など）が含まれる。
【０１０９】
「フォーマット情報」は、アクセスコントロールリスト１４２が対象とするセキュアチップ４１のフォーマット（システム、エリア、サービスからなる領域構成）と、それぞれの領域に設定されている鍵に関する情報である。「フォーマット情報」には、フォーマット名（フォーマットのID）とフォーマット情報（エリアコード、サービスコード、鍵ID、鍵バージョンなど）が含まれる。
【０１１０】
「鍵アクセス情報」は、アプリケーション（サーバアプリケーション５１などの外部のソフトウエア）とオペレータ（オペレータは、人（管理者）である場合もあるし、オペレーション用のソフトウェアである場合もある）に共通のアクセス権を表す情報である。
【０１１１】
アプリケーションやオペレータは、「鍵アクセス情報」によりアクセス権が認められている（アクセスが許可されている）IDの鍵や、暗号処理にアクセスすることができる。「鍵アクセス情報」には、アクセスを許可する鍵のIDや、許可するアクセス内容（Readコマンドの出力、Writeコマンドの出力、鍵の変更、後述するコマンド実行権の作成）が含まれる。
【０１１２】
「アプリケーション用認証情報」は、アプリケーション（サーバアプリケーション５１）との認証に関する情報である。「アプリケーション用認証情報」には、アプリケーションのIDに対応付けて、認証情報、リスト情報、暗号処理の情報、有効期限の各情報が記述される。
【０１１３】
アプリケーションのIDに対応付けて記述される情報のうちの認証情報は、アプリケーションとの認証で用いる鍵の情報、暗号化されたデータにより認証を行う場合のその暗号化、復号のアルゴリズム、公開鍵を用いて認証を行う場合のその公開鍵の証明書などが含まれる。また、リスト情報には、セキュアチップ４１−サーバ装置３２間で認証を行うためのエリアコード、サービスコードのリストの情報が含まれる。
【０１１４】
暗号処理の情報は、アプリケーションによるアクセスを許可する暗号処理の種類を表し、例えば、それぞれのアプリケーションに対して、相互／片側認証、コマンド実行権作成、コマンドの暗号化などの暗号処理の中から所定の種類の暗号処理が許可される。アプリケーションのIDには、アクセスの有効期間（期限）を表す情報も対応付けられている。
【０１１５】
例えば、アプリケーション５１との間で相互認証を行う場合、アプリケーション５１のIDに対応付けられている認証情報により規定される方法によりセキュアチップ処理モジュール５３との間で認証が行われ、認証が成功したとき、暗号処理の情報により利用が許可される種類の暗号処理に対するアクセスが可能とされる。
【０１１６】
なお、通信路を暗号化するために生成したセッションキーを出力することを許可するか否かを表す情報も、「アプリケーション用認証情報」に含まれる。後述するように、セッションキーの出力が「アプリケーション用認証情報」により許可されている場合、セキュアチップ処理モジュール５３により生成されたセッションキーが、セキュアチップ処理モジュール５３からセキュアチップマネージャモジュール１３２（図１０）に出力される。
【０１１７】
「オペレータ用アクセス用認証情報」は、オペレータとの認証に関する情報である。「オペレータ用アクセス用認証情報」には、オペレータのIDに対応付けて、オペレータとの認証で用いる情報（鍵の情報、暗号化されたデータにより認証を行う場合のその暗号化、復号のアルゴリズム、公開鍵を用いて認証を行う場合のその公開鍵の証明書）、オペレータに許可するアクセス内容（鍵の登録、削除、追加、参照など）を表す情報、および、有効期間（期限）を表す情報が記述される。
【０１１８】
このような各種の情報が記述されたアクセスコントロールリスト１４２を参照して、セキュアチップ処理モジュール５３は、自分自身に対する外部からのアクセスを制御する。従って、アクセスが許可されているソフトウエアだけがセキュアチップ処理モジュール５３に暗号処理をなど行わせることができるから、そのようなアクセスが許可されていないような、悪意のある者が利用する装置のソフトウエアなどの要求に対しては暗号処理が行われないことになり、セキュアチップ処理モジュール５３が外部から不正に利用されるのを防ぐことができる。
【０１１９】
逆に、アクセスが許可されてさえいれば、セキュアチップ処理モジュール５３と同一環境にないソフトウエア（セキュアチップ処理モジュール５３が実装される耐タンパ性のある装置と同一環境以外の環境にある装置）からでも、セキュアチップ処理モジュール５３に暗号処理を行わせることができる。
【０１２０】
次に、図１３および図１４のフローチャートを参照して、クライアント側装置３１とサーバ側装置３２の動作について説明する。
【０１２１】
図１３は、主に、認証処理（サーバアプリケーション５１−セキュアチップ処理モジュール５３間、セキュアチップ４１−セキュアチップ処理モジュール５３間の認証処理）について説明するものであり、図１４は、主に、図１３の認証処理後の、コマンド作成処理について説明するものである。
【０１２２】
クライアントアプリケーション４２が起動されると、クライアントアプリケーション４２は、まず最初に、ステップＳ２１において、セキュアチップ４１に対して、セキュアチップに関するセキュアチップ(Secure Chip)情報を要求するコマンドを送信する。
【０１２３】
セキュアチップ４１は、ステップＳ１１において、クライアントアプリケーション４２からのコマンドを受信して、ステップＳ１２に進み、そのコマンドに対するレスポンスとして、セキュアチップ情報をクライアントアプリケーション４２に送信する。
【０１２４】
クライアントアプリケーション４２は、ステップＳ２２において、セキュアチップ４１からのセキュアチップ情報を受信して、ステップＳ２３に進み、そのセキュアチップ情報を含む初期情報とともに、サーバ側装置３２に対して、接続を要求するサーバ(Server)接続要求を送信する。
【０１２５】
なお、初期情報には、セキュアチップ情報の他、クライアントアプリケーション４２に関するクライアント情報や、クライアントアプリケーション４２が接続しようとするサーバ側装置３２のサーバアプリケーション５１を指定するサーバ(Server)アプリ指定（の情報）が含まれる。
【０１２６】
また、セキュアチップ情報としては、セキュアチップ４１がどのような種類のものかを表す情報であるセキュアチップ種別、セキュアチップ４１で採用されているOS(Operating System)を表す情報であるセキュアチップOS種別、セキュアチップ４１におけるデータの管理に関する情報であるセキュアチップファイル構造（ファイルフォーマット、エリアコードのリスト、サービスコードのリスト（メモリフォーマット））などがある。これにより、サーバ側装置３２において、いま制御対象としているセキュアチップ４１の種別が特定される。
【０１２７】
さらに、クライアント情報としては、クライアント側装置３１のハードウェアを表す情報（例えば、クライアント側装置３１が携帯電話機、PC、またはPOSレジであるなどの情報）であるクライアント種別、クライアント側装置３１で採用されているOSを表す情報であるクライアントOS種別、クライアントアプリケーション４２を特定する情報であるクライアントアプリID(Identification)、クライアントアプリケーション４２のパージョンを表す情報であるアプリバージョンなどがある。
【０１２８】
ここで、クライアントアプリケーション４２では、例えば、サーバアプリケーション５１に接続した後に行われる、セキュアチップ情報その他の初期情報のサーバアプリケーション５１からの要求に応じて、セキュアチップ４１からセキュアチップ情報を取得し、取得したセキュアチップ情報を初期情報に含めてサーバアプリケーション５１に送信することもできる。
【０１２９】
但し、図１３に示すように、クライアントアプリケーション４２において、セキュアチップ４１からセキュアチップ情報を取得してから、そのセキュアチップ情報を含む初期情報をサーバ接続要求とともにサーバアプリケーション５１に送信する場合の方が、クライアントアプリケーション４２とサーバアプリケーション５１との間のやりとりが少なくて済む。
【０１３０】
さらに、この場合、サーバ側装置３２は、クライアント側装置３１からのアクセスの開始と同時にクライアント情報を受信することができるので、そのクライアント情報に基づき、クライアントアプリケーション４２に適したコマンドやメッセージ（画面等のGUI(Graphical User Interface)など）の送受信を行うことが可能となる。ここで、クライアントアプリケーション４２に適したコマンドやメッセージとは、例えば、内容がクライアントアプリケーション４２に適したコマンドやメッセージ、あるいは、一度に送受信する長さや個数がクライアントアプリケーション４２に適したコマンドやメッセージなどを意味する。
【０１３１】
サーバアプリケーション５１は、ステップＳ４１において、クライアントアプリケーション４２からのサーバ接続要求と初期情報を受信し、クライアント側装置３１に必要なサービスを提供するためのアプリケーション（ソフトウェア）を起動して、ステップＳ４２に進む。
【０１３２】
ステップＳ４２では、サーバアプリケーション５１は、ステップＳ４１で受信した初期情報に含まれるセキュアチップ情報とクライアント情報をセキュアサーバ５２のセキュアチップマネージャモジュール１３２に供給する。
【０１３３】
セキュアチップマネージャモジュール１３２は、ステップＳ１１１において、サーバアプリケーション５１からのセキュアチップ情報とクライアント情報を受信し、そのうちのセキュアチップ情報をセキュアチップ処理モジュール５３に供給する。
【０１３４】
セキュアチップ処理モジュール５３は、ステップＳ１５１において、セキュアチップマネージャモジュール１３２から供給されてきたセキュアチップ情報を受信し、ステップＳ１５２に進み、受信したセキュアチップ情報に基づいて、制御対象とするセキュアチップ４１のフォーマットの指定を受ける。後述するように、サーバアプリケーション５１との認証が成功したとき、ここで指定されたフォーマット（フォーマットのそれぞれの領域に設定されている鍵に対応する鍵）にサーバアプリケーション５１（サーバアプリケーション５１からの要求をセキュアチップコマンドモジュール１３１を介して受けたセキュアチップマネージャモジュール１３２）がアクセスすることが許可される。
【０１３５】
即ち、セキュアチップ処理モジュール５３は、様々なセキュアチップやサービスの暗号処理を行うことができるようになっており、さらに、その様々なセキュアチップやサービスの暗号処理に必要な鍵を内蔵している（セキュアチップ４１のメモリ１２３に形成された各領域に設定されている鍵に対応する鍵も内蔵している）。
【０１３６】
そして、セキュアチップ４１が、例えば、電子マネーサービスのみの提供を受けうるものであれば、セキュアチップ処理モジュール５３は、セキュアチップ４１に対して、電子マネーサービスを提供するのに必要な処理のみを行う（許可する）。また、電子マネーサービスにおけるデータの暗号化／復号に使用する鍵があらかじめ決まっている場合には、セキュアチップ処理モジュール５３は、セキュアチップ４１に対して、電子マネーサービスにおけるデータの暗号化／復号に使用する鍵のみの使用のみを許可し、他のサービスにおけるデータの暗号化／復号に使用する鍵の使用は許可しない。
【０１３７】
一方、セキュアチップマネージャモジュール１３２は、ステップＳ１１１でサーバアプリケーション５１から受信したセキュアチップ情報とクライアント情報に基づき、いま制御対象としているセキュアチップ４１とクライアントアプリケーション４２に対応した処理を行う状態となる。
【０１３８】
そして、セキュアチップマネージャモジュール１３２は、ステップＳ１１２において、セキュアチップコマンドモジュール１３１に対し、初期化の指令を供給する。
【０１３９】
セキュアチップコマンドモジュール１３１は、ステップＳ７１において、その指令を受信し、自身の状態を、セキュアチップ４１に対応した処理を行うことができるように初期化する。
【０１４０】
その後、サーバアプリケーション５１（ステップＳ４３）とセキュアチップ処理モジュール５３（ステップＳ１５３）の間で相互認証が行われる。この相互認証が成功したとき（サーバアプリケーション５１の正当性が検証されたとき）、セキュアチップ処理モジュール５３は、ステップＳ１５４において、アクセスコントロールリストに記述されている内容に従って、サーバアプリケーション５１による特定の鍵へのアクセスと、暗号処理へのアクセスを許可する。
【０１４１】
サーバアプリケーション５１−セキュアチップ処理モジュール５３間での相互認証が終了したとき、次に、セキュアチップ４１−セキュアチップ処理モジュール５３間での認証が行われる。
【０１４２】
なお、セキュアチップ４１−セキュアチップ処理モジュール５３間の認証は、例えば、チャレンジアンドレスポンス方式で行われ、その開始を要求するコマンド作成要求が、ステップＳ４４において、サーバアプリケーション５１によりセキュアチップコマンドモジュール１３１に対して行われる。
【０１４３】
セキュアチップコマンドモジュール１３１は、ステップＳ７２において、サーバアプリケーション５１からのコマンドの作成要求を受信し、ステップＳ７３に進み、サーバアプリケーション５１からのコマンドの作成要求に応じて、セキュアチップ４１用のコマンドを作成し、そのコマンドを暗号化して暗号情報とすることの要求をセキュアチップマネージャモジュール１３２に供給する。
【０１４４】
セキュアチップマネージャモジュール１３２は、ステップＳ１１３において、セキュアチップコマンドモジュール１３１からの、コマンドを暗号化して暗号情報とすることの要求を受信して、ステップＳ１１４に進み、その要求をセキュアチップ処理モジュール５３に供給する。
【０１４５】
ステップＳ１５５において、セキュアチップ処理モジュール５３は、セキュアチップマネージャモジュール１３２からの要求を受信し、ステップＳ１５６において、暗号情報を生成するための鍵が、サーバアプリケーション５１によるアクセスが許可されている鍵であり、暗号情報を生成するための暗号処理（例えば、所定のアルゴリズムの暗号化）が、サーバアプリケーション５１によるアクセスが許可されている暗号処理であるか否かをアクセスコントロールリストを参照して確認する。
【０１４６】
例えば、セキュアチップマネージャモジュール１３２からの要求にはサーバアプリケーション５１のIDなども含まれており、ここでは、このIDに対応付けられている、アクセスが許可されている暗号処理の情報が参照されて確認が行われる。
【０１４７】
また、ステップＳ１５６において、セキュアチップ処理モジュール５３は、暗号情報を生成するための鍵と暗号処理のいずれも、サーバアプリケーション５１によるアクセスが許可されていることを確認した場合、例えば、発生した乱数に暗号化を施すことによって暗号情報を生成し、ステップＳ１５７に進み、それをセキュアチップマネージャモジュール１３２に供給する。
【０１４８】
セキュアチップマネージャモジュール１３２は、ステップＳ１１５において、セキュアチップ処理モジュール５３からの暗号情報を受信し、ステップＳ１１６に進み、セキュアチップ処理モジュール５３から受信した暗号情報をセキュアチップコマンドモジュール１３１に供給する。
【０１４９】
セキュアチップコマンドモジュール１３１は、ステップＳ７４において、セキュアチップマネージャモジュール１３２からの暗号情報を受信して、ステップＳ７５に進み、その暗号情報（暗号化されたコマンド）をサーバアプリケーション５１に供給する。
【０１５０】
サーバアプリケーション５１は、ステップＳ４５において、セキュアチップコマンドモジュール１３１からの暗号情報を受信して、ステップＳ４６に進み、その暗号情報（暗号化されたコマンド）を、クライアント側装置３１としてのハードウェアに対するメッセージであるデバイス用データとともにクライアントアプリケーション４２に送信する。
【０１５１】
クライアントアプリケーション４２は、ステップＳ２４において、サーバアプリケーション５１からの暗号情報およびデバイス用データを受信して、ステップＳ２５に進み、暗号情報をセキュアチップ４１に送信する。
【０１５２】
セキュアチップ４１は、ステップＳ１３において、クライアントアプリケーション４２からの暗号情報を受信し、その暗号情報を、セッションキーを用いてコマンドに復号する。また、セキュアチップ４１は、そのコマンドに応じた処理を実行し、ステップＳ１４において、そのコマンドに対応するレスポンスとしてのレスポンスデータをクライアントアプリケーション４２に送信する。なお、レスポンスデータは、セキュアチップ４１において、必要に応じて、セキュアチップ４１が有する鍵を用いて暗号化されている。
【０１５３】
クライアントアプリケーション４２は、ステップＳ２６において、セキュアチップ４１からのレスポンスデータを受信し、ステップＳ２７に進み、そのレスポンスデータをサーバアプリケーション５１に送信する。
【０１５４】
サーバアプリケーション５１は、ステップＳ４７において、クライアントアプリケーション４２からのレスポンスデータを受信し、ステップＳ４８に進み、レスポンスデータをセキュアチップコマンドモジュール１３１に送信し、レスポンス処理を要求する。
【０１５５】
ステップＳ７６において、セキュアチップコマンドモジュール１３１は、サーバアプリケーション５１からのレスポンス処理の要求に応じて、レスポンスデータに含まれる暗号情報（セキュアチップ４１により暗号化された情報）をセキュアチップマネージャモジュール１３２に供給する。
【０１５６】
セキュアチップマネージャモジュール１３２は、ステップＳ１１７において、セキュアチップコマンドモジュール１３１から供給されてきた暗号情報を受信して、ステップＳ１１８に進み、その暗号情報をセキュアチップ処理モジュール５３に供給する。
【０１５７】
ステップＳ１５８において、セキュアチップ処理モジュール５３は、セキュアチップマネージャモジュール１３２から供給されてきた暗号情報を受信し、その暗号情報を復号する。ここで復号された結果が正しい情報であると判定されたとき、セキュアチップ４１−セキュアチップ処理モジュール５３間の認証が成功したものとされる。なお、チャレンジにあたるサーバ側装置３２からのコマンドの送信と、レスポンスにあたるクライアント装置３１からのレスポンスデータの送信は所定の回数だけ繰り返される。
【０１５８】
セキュアチップ４１−セキュアチップ処理モジュール５３間の認証が成功したとき、セキュアチップ処理モジュール５３においては（セキュアチップ４１でも同様）、例えば、ステップＳ１５６で暗号情報生成のために生成された乱数が、セキュアチップ４１とセキュアチップ処理モジュール５３との間のセッションを識別するためのセッションキーとされる。
【０１５９】
この後、サーバ側装置３２では、セキュアチップ４１に送信するコマンド（コマンドに付随するパラメータその他のデータを含む）は、ここで生成されたセッションキーを鍵として暗号化されて、クライアント側装置３１に送信される。また、クライアント側装置３１でも、セキュアチップ４１からサーバ側装置３２に送信されるデータ等は、セキュアチップ４１においてセッションキーを鍵として暗号化されて、サーバ側装置３２に送信される。
【０１６０】
このように、クライアント側装置３１とサーバ側装置３２のそれぞれにおいて、データ等がセッションキーを鍵として暗号化されて送受信されることにより、そのクライアント側装置３１とサーバ側装置３２との間の通信路が暗号化、即ち、いわばVPN(Virtual Private Network)が実現される。
【０１６１】
セッションキーが生成されたとき、セキュアチップマネージャモジュール１３２は、ステップＳ１１９（図１４）において、セキュアチップ処理モジュール５３に対してセッションキーの要求を供給する。
【０１６２】
セキュアチップ処理モジュール５３は、ステップＳ１５９において、セキュアチップマネージャモジュール１３２からのセッションキーの要求を受信して、ステップＳ１６０に進み、サーバアプリケーション５１に許可されているアクセスの内容として、セキュアチップマネージャモジュール１３２に対するセッションキーの出力があるか否かをアクセスコントロールリストを参照して確認する。
【０１６３】
セキュアチップマネージャモジュール１３２にセッションキーを出力することが許可されていることを確認した場合、ステップＳ１６１に進み、セキュアチップ処理モジュール５３は、セキュアチップマネージャモジュール１３２からの要求に応じて、セキュアチップ４１との認証後に生成したセッションキーをセキュアチップマネージャモジュール１３２に供給する。
【０１６４】
セキュアチップマネージャモジュール１３２は、ステップＳ１２０において、セキュアチップ処理モジュール５３から供給されてきたセッションキーを受信し、ステップＳ１２１に進み、それを保持する。
【０１６５】
その後、例えば、セッションキーを用いた暗号化はセキュアチップマネージャモジュール１３２で行われ、より高い秘匿性が要求される暗号化のみがセキュアチップ処理モジュール５３内で行われる。
【０１６６】
このように、セッションキーを用いた暗号化をセキュアチップマネージャモジュール１３２で行い、より高い秘匿性が要求される暗号化（暗号化を利用して行われる相互認証や、後述するパッケージの作成などを含む）だけをセキュアチップ処理モジュール５３で行うようにすることにより、セキュアチップ処理モジュール５３において、すべての暗号処理を行う場合に比較して、セキュアチップ処理モジュール５３の負荷を軽減することができ、その結果、セキュアチップ処理モジュール５３における処理時間を短くすることができる。
【０１６７】
なお、耐タンパ性のあるセキュアチップ処理モジュール５３を複数設け、その複数のセキュアチップ処理モジュール５３に、処理を分散して行わせることにより、１つあたりのセキュアチップ処理モジュール５３の負荷を軽減することができる。
【０１６８】
その後、サーバアプリケーション５１は、ステップＳ４９において、セキュアチップ４１に送信するコマンドの作成の要求をセキュアチップコマンドモジュール１３１に供給する。
【０１６９】
セキュアチップコマンドモジュール１３１は、ステップＳ７８において、サーバアプリケーション５１からのコマンドの作成の要求を受信する。
【０１７０】
セキュアチップコマンドモジュール１３１は、ステップＳ７９において、サーバアプリケーション５１からのコマンドの作成の要求に応じて、コマンドに含める暗号情報の取得をセキュアチップマネージャモジュール１３２に要求する。即ち、この例においては、サーバアプリケーション５１からの要求が、より高い秘匿性が要求される暗号化の必要な特別なコマンドの作成要求であり、この場合、セキュアチップコマンドモジュール１３１は、コマンドに含める暗号情報の取得の要求をセキュアチップマネージャモジュール１３２に供給する。
【０１７１】
ここで、特別なコマンドとしては、例えば、セキュアチップ４１に対するエリア定義領域やサービス定義領域の登録や削除を要求するコマンドなどがある。
【０１７２】
ステップＳ１２２において、セキュアチップマネージャモジュール１３２は、セキュアチップコマンドモジュール１３１からの要求を受信し、ステップＳ１２３に進み、暗号情報（コマンドの実行権）の生成の要求をセキュアチップ処理モジュール５３に供給する。      
【０１７３】
セキュアチップ処理モジュール５３は、ステップＳ１６２において、セキュアチップマネージャモジュール１３２からの要求を受信し、ステップＳ１６３に進み、暗号情報を生成するための鍵が、サーバアプリケーション５１によるアクセスが許可されている鍵であり、暗号情報を生成するための暗号処理が、サーバアプリケーション５１によるアクセスが許可されている暗号処理であるか否か（コマンド実行権の作成が許可されているか否か）をアクセスコントロールリストを参照して確認する。
【０１７４】
また、ステップＳ１６３において、セキュアチップ処理モジュール５３は、暗号情報を生成するための鍵と暗号処理のいずれも、サーバアプリケーション５１によるアクセスが許可されていることを確認した場合、セキュアチップマネージャモジュール１３２からの要求（サーバアプリケーション５１からの要求）に応じて、その特別なコマンドを実行する実行権を表す権利書（のデータ）に暗号処理を施すことによって暗号情報を生成する。
【０１７５】
さらに、セキュアチップ処理モジュール５３は、その権利書が正当なものであることを証明する証明書（のデータ）を、権利書の暗号化結果に付加し、ステップＳ１６４において、その証明書と権利書（の暗号化結果）とをパッケージとして、セキュアチップマネージャモジュール１３２に供給する。
【０１７６】
セキュアチップマネージャモジュール１３２は、ステップＳ１２４において、セキュアチップ処理モジュール５３からのパッケージ（暗号情報）を受信し、ステップＳ１２５に進み、受信した暗号情報をセキュアチップコマンドモジュール１３１に供給する。
【０１７７】
セキュアチップコマンドモジュール１３１は、ステップＳ８０において、セキュアチップマネージャモジュール１３２から供給されてきた暗号情報を受信し、ステップＳ８１に進み、その暗号情報をパラメータ情報として含むコマンドを作成する。セキュアチップコマンドモジュール１３１は、ステップＳ８２において、作成したコマンドの暗号化（セッションキーによる暗号化）をセキュアチップマネージャモジュール１３２に依頼する。
【０１７８】
なお、ステップＳ４９においてサーバアプリケーション５１から作成が要求されたコマンドが特別なコマンドではない場合、ステップＳ７９およびＳ８０のセキュアチップコマンドモジュール１３１の処理、ステップＳ１２２乃至Ｓ１２５のセキュアチップマネージャモジュール１３２の処理、および、ステップＳ１６２乃至Ｓ１６４のセキュアチップ処理モジュール５３の処理は省略され、サーバアプリケーション５１からの要求に応じて、所定のパラメータ情報（パッケージではないパラメータ情報）を含むコマンドがセキュアチップコマンドモジュール１３１により作成される。
【０１７９】
ステップＳ１２６において、セキュアチップマネージャモジュール１３２は、セキュアチップコマンドモジュール１３１からの依頼を受信し、ステップＳ１２７に進み、ステップＳ１２１で保持しておいたセッションキーを用いて、セキュアチップコマンドモジュール１３１により作成されたコマンドに暗号処理（暗号化）を施す。
【０１８０】
ステップＳ１２８において、セキュアチップマネージャモジュール１３２は、暗号処理が施されたコマンドを暗号化データとしてセキュアチップコマンドモジュール１３１に供給する。
【０１８１】
セキュアチップコマンドモジュール１３１は、ステップＳ８３において、セキュアチップマネージャモジュール１３２からの暗号化データを受信して、ステップＳ８４に進み、その暗号化データ（コマンド）をサーバアプリケーション５１に供給する。
【０１８２】
サーバアプリケーション５１は、ステップＳ５０において、セキュアチップコマンドモジュール１３１からのコマンドを受信して、ステップＳ５１に進み、そのコマンドを、クライアント側装置３１としてのハードウェアに対するメッセージであるデバイス用データとともに、クライアントアプリケーション４２に送信する。
【０１８３】
クライアントアプリケーション４２は、ステップＳ２８において、サーバアプリケーション５１からの暗号情報およびデバイス用データを受信して、ステップＳ２９に進み、暗号情報をセキュアチップ４１に送信する。
【０１８４】
セキュアチップ４１は、ステップＳ１５において、クライアントアプリケーション４２からの暗号情報を受信し、その暗号情報をコマンドに復号する。さらに、セキュアチップ４１は、必要に応じて、コマンドの実行権を確認した上で、そのコマンドに応じた処理を実行し、ステップＳ１６において、そのコマンドに対応するレスポンスとしてのレスポンスデータをクライアントアプリケーション４２に送信する。レスポンスデータには、セキュアチップ４１が有するセクションキーにより暗号化が施されている。
【０１８５】
クライアントアプリケーション４２は、ステップＳ３０において、セキュアチップ４１からのレスポンスデータを受信して、ステップＳ３１に進み、そのレスポンスデータをサーバアプリケーション５１に送信する。
【０１８６】
サーバアプリケーション５１は、ステップＳ５２において、クライアントアプリケーション４２からのレスポンスデータを受信し、ステップＳ５３に進み、そのレスポンスデータの復号をセキュアチップコマンドモジュール１３１に要求する。
【０１８７】
ステップＳ８５において、セキュアチップコマンドモジュール１３１は、サーバアプリケーション５１からの要求を受信し、ステップＳ８６に進み、セキュアチップマネージャモジュール１３２に対してレスポンスデータの復号を依頼する。
【０１８８】
ステップＳ１２９において、セキュアチップマネージャモジュール１３２は、セキュアチップコマンドモジュール１３１からの依頼を受信し、ステップＳ１３０に進み、セッションキーを用いてレスポンスデータを復号する。
【０１８９】
ステップＳ１３１において、セキュアチップマネージャモジュール１３２は、復号して得られた復号データをセキュアチップコマンドモジュール１３１に供給する。
【０１９０】
セキュアチップコマンドモジュール１３１は、ステップＳ８７において、セキュアチップマネージャモジュール１３２からの復号データを受信して、ステップＳ８８に進み、その復号データをサーバアプリケーション５１に供給する。
【０１９１】
サーバアプリケーション５１は、ステップＳ５４において、セキュアチップコマンドモジュール１３１からの復号データを受信して、ステップＳ５５に進み、所定のレスポンス処理を行う。これにより、例えば、セキュアチップ４１に送信したコマンドが実行され、情報の書き換えなどがセキュアチップ４１により正常に行われたか否かが確認される。
【０１９２】
以上のような処理が、クライアント側装置３１とサーバ側装置３２との間で行われる。
【０１９３】
次に、以上のようなアクセス制御を行うセキュアチップ処理モジュール５３について詳細に説明する。
【０１９４】
図１５は、セキュアチップ処理モジュール５３の構成例を示すブロック図である。
【０１９５】
セキュアチップ処理モジュール５３は、例えば、セキュアチップ処理機能部２０１、アクセス制御部２０２、暗号処理部２０３、および鍵管理部２０４から構成される。図１５においては、キーDB１４１がセキュアチップ処理モジュール５３の外部に構築されているが、上述したように、セキュアチップ処理モジュール５３の内部に構築される場合もある。
【０１９６】
セキュアチップ処理機能部２０１は、セキュアチップ処理モジュール５３の全体を制御し、セキュアチップマネージャモジュール１３２などの外部との情報の入出力や、外部からの要求に対する応答などを管理する。
【０１９７】
例えば、セキュアチップ処理機能部２０１は、サーバアプリケーション５１（セキュアチップマネージャモジュール１３２）から要求された鍵、暗号処理へのアクセスが許可されているか否かの確認をアクセス制御部２０２に行わせ、アクセスが許可されている場合のみ、その要求された暗号処理を暗号処理部２０３に行わせる。また、セキュアチップ処理機能部２０１は、暗号処理の結果が暗号処理部２０３から供給されてきたとき、それをセキュアチップマネージャモジュール１３２に供給する。
【０１９８】
アクセス制御部２０２は、アクセスコントロールリストを管理し、セキュアチップ処理機能部２０１からの要求に応じて、セキュアチップ処理機能部２０１に対して外部から要求されたアクセスが許可されているか否かの確認を、アクセスコントロールリストを参照して行う。上述したように、アクセスコントロールリストには、アクセスを要求してきたアプリケーション（サーバアプリケーション５１）に許可されているアクセスの内容が記述されている。アクセス制御部２０２による確認結果はセキュアチップ処理機能部２０１に通知される。
【０１９９】
また、アクセス制御部２０２は、サーバアプリケーション５１との間で相互認証を行う。
【０２００】
なお、このアクセス制御部２０２は、セキュアチップ処理機能部２０１と併せた形で１つの機能部として実装することも可能であり、この場合、セキュアチップ処理機能部２０１とアクセス制御部２０２とを併せた１つの機能部は、上述したようなセキュアチップ処理機能部２０１の処理と、アクセス制御部２０２の処理を行う。
【０２０１】
暗号処理部２０３は、鍵を利用した操作（例えば、鍵の登録、削除など）や鍵を利用した特定の暗号処理（例えば、暗号化、復号など）がセキュアチップ処理機能部２０１から依頼されたとき、必要に応じて、鍵管理部２０４から鍵を取得し、取得した鍵を利用して依頼された処理を行う。暗号処理部２０３は、適宜、鍵を利用した操作や暗号処理の結果をセキュアチップ処理機能部２０１に返却する。
【０２０２】
なお、鍵管理部２０４から取得された鍵が暗号化されている場合、暗号処理部２０３は、それを復号し、復号して得られた鍵を用いてセキュアチップ処理機能部２０１から依頼された処理を行う。
【０２０３】
鍵管理部２０４は、暗号化された状態の鍵をキーDB１４１に保存し、暗号処理部２０３からの要求に応じて、キーDB１４１に保存されている鍵を暗号化された状態のまま提供する。
【０２０４】
なお、キーDB１４１が外部記憶装置に構築されている場合、鍵管理部２０４は、自分自身で暗号処理部２０３から要求された鍵をキーDB１４１から取得するだけでなく、キーDB１４１にアクセス可能な所定のソフトウェアを介して鍵を取得することもある。また、暗号化せずに鍵をセキュアチップ処理モジュール５３内部に保持するようにしてもよく、この場合、鍵管理部２０４は、セキュアチップ処理モジュール５３内部に保持しているキーDB１４１から読み出した鍵をそのまま暗号処理部２０３に出力する。
【０２０５】
次に、図１５の各部の動作についてフローチャートを参照して説明する。
【０２０６】
始めに、図１６のフローチャートを参照して、セキュアチップ処理モジュール５３による相互認証処理について説明する。図１６は、図１３のステップＳ１５１乃至Ｓ１５７の処理を、図１５の各部の処理として詳細に示したものである。
【０２０７】
即ち、ステップＳ２２１において、セキュアチップ処理モジュール５３のアクセス制御部２０２は、セキュアチップマネージャモジュール１３２から供給されてきたセキュアチップ情報を受信し、ステップＳ２２２に進み、受信したセキュアチップ情報に基づいて、制御対象とするセキュアチップのフォーマットの指定を受ける。
【０２０８】
また、アクセス制御部２０２は、ステップＳ２２３において、サーバアプリケーション５１との間で相互認証を行い、この相互認証によりサーバアプリケーション５１の正当性が確認できたとき、ステップＳ２２４に進み、自分自身が管理するアクセスコントロールリストに記述されている内容に従って、サーバアプリケーション５１による特定の鍵へのアクセスと、暗号処理へのアクセスを許可する。
【０２０９】
以上のステップＳ２２１乃至Ｓ２２４のアクセス制御部２０２の処理が、図１３のステップＳ１５１乃至Ｓ１５４の処理にそれぞれ対応する。
【０２１０】
暗号情報を生成することの要求がセキュアチップマネージャモジュール１３２から供給されてきたとき、セキュアチップ処理機能部２０１は、ステップＳ２０１において、それを受信する。この要求は、セキュアチップ４１−セキュアチップ処理モジュール５３間の認証を行うために用いられる暗号情報の生成要求（図１３のステップＳ１１４で行われる要求）である。
【０２１１】
ステップＳ２０２において、セキュアチップ処理機能部２０１は、暗号情報を生成するための鍵が、サーバアプリケーション５１によるアクセスが許可されている鍵であり、暗号情報を生成するための暗号処理が、サーバアプリケーション５１によるアクセスが許可されている暗号処理であるか否かを確認することをアクセス制御部２０２に要求する。
【０２１２】
アクセス制御部２０２は、ステップＳ２２５において、セキュアチップ処理機能部２０１からの要求を受信し、ステップＳ２２６に進み、アクセスコントロールリストを参照して、それを確認する。アクセス制御部２０２は、鍵と暗号処理へのアクセスが許可されていることを確認した場合、ステップＳ２２７において、アクセスが許可されていることをセキュアチップ処理機能部２０１に通知する。
【０２１３】
ステップＳ２０３において、セキュアチップ処理機能部２０１は、アクセス制御部２０２からの通知を受信し、ステップＳ２０４に進み、暗号処理部２０３に対して相互認証処理を要求する。
【０２１４】
ステップＳ２３１において、暗号処理部２０３は、セキュアチップ処理機能部２０１からの要求を受信し、ステップＳ２３２に進み、鍵管理部２０４との間で相互認証処理を行う（鍵管理部２０４のステップＳ２４１）。この相互認証が成功したとき、鍵管理部２０４から暗号情報の生成に用いる鍵が供給されてくるから、暗号処理部２０３は、その供給されてきた鍵に施されている暗号を復号し、復号して得られた鍵を用いて暗号情報を生成する。
【０２１５】
ステップＳ２３３において、暗号処理部２０３は、生成した暗号情報を、セキュアチップ４１−セキュアチップ処理モジュール５３間での相互認証で用いる相互認証用のデータとしてセキュアチップ処理機能部２０１に供給する。
【０２１６】
セキュアチップ処理機能部２０１は、ステップＳ２０５において、暗号処理部２０３から供給されてきた相互認証用データを受信し、ステップＳ２０６に進み、それをセキュアチップマネージャモジュール１３２に供給する。
【０２１７】
以上のステップＳ２０１，Ｓ２２６，Ｓ２０６の処理が、図１３のステップＳ１５５乃至Ｓ１５７の処理にそれぞれ対応する。
【０２１８】
次に、図１７のフローチャートを参照して、セキュアチップ処理モジュール５３によるセッションキーの取得処理について説明する。図１７は、図１４のステップＳ１５９乃至Ｓ１６１の処理を、図１５の各部の処理として詳細に示したものである。
【０２１９】
即ち、ステップＳ２５１において、セキュアチップ処理機能部２０１は、セキュアチップマネージャモジュール１３２からのセッションキーの要求（図１４のステップＳ１１９で行われる要求）を受信して、ステップＳ２５２に進み、その要求をアクセス制御部２０２に供給する。
【０２２０】
ステップＳ２７１において、アクセス制御部２０２は、セキュアチップ処理機能部２０１から供給されてきた要求を受信し、ステップＳ２７２に進み、セキュアチップマネージャモジュール１３２に対するセッションキーの出力が許可されているか否かをアクセスコントロールリストを参照して確認する。
【０２２１】
セキュアチップマネージャモジュール１３２へのセッションキーの出力が許可されていると確認した場合、ステップＳ２７３に進み、アクセス制御部２０２は、アクセスが許可されていることをセキュアチップ処理機能部２０１に通知する。
【０２２２】
セキュアチップ処理機能部２０１は、ステップＳ２５３において、アクセス制御部２０２からの通知を受信し、ステップＳ２５４に進み、暗号処理部２０３に対してセッションキーの取得を要求する。
【０２２３】
ステップＳ２８１において、暗号処理部２０３は、セキュアチップ処理機能部２０１からの要求を受信し、ステップＳ２８２に進み、セッションキーを取得する。ここでは、例えば、チャレンジアンドレスポンス方式での相互認証を行うために発生された乱数がセッションキーとして暗号処理部２０３により取得される。暗号処理部２０３は、ステップＳ２８３において、ステップＳ２８２で取得したセッションキーをセキュアチップ処理機能部２０１に出力する。
【０２２４】
ステップＳ２５５において、セキュアチップ処理機能部２０１は、暗号処理部２０３から供給されてきたセッションキーを受信し、ステップＳ２５６に進み、それをセキュアチップマネージャモジュール１３２に供給する。
【０２２５】
以上のステップＳ２５１，Ｓ２７２，Ｓ２５６の処理が、それぞれ、図１４のステップＳ１５９乃至Ｓ１６１の処理に対応する。
【０２２６】
次に、図１８のフローチャートを参照して、セキュアチップ処理モジュール５３によるパッケージの取得処理について説明する。図１８は、図１４のステップＳ１６２乃至Ｓ１６４の処理を、具体的にパッケージを取得する処理として、また、図１５の各部の処理として示したものである。
【０２２７】
ステップＳ２９１において、セキュアチップ処理機能部２０１は、セキュアチップマネージャモジュール１３２からのパッケージの生成要求（図１４のステップＳ１２３で行われる要求）を受信し、ステップＳ２９２に進み、その要求をアクセス制御部２０２に出力する。
【０２２８】
アクセス制御部２０２は、ステップＳ３１１において、セキュアチップ処理機能部２０１からの要求を受信し、ステップＳ３１２に進み、アプリケーション５１によるパッケージの取得が許可されているか否か（コマンド実行権の作成が許可されているか否か）をアクセスコントロールリストを参照して確認し、許可されている場合、ステップＳ３１３に進み、そのことをセキュアチップ処理機能部２０１に通知する。
【０２２９】
ステップＳ２９３において、セキュアチップ処理機能部２０１は、アクセス制御部２０２からの通知を受信し、ステップＳ２９４に進み、暗号処理部２０３に対してパッケージの取得を要求する。
【０２３０】
ステップＳ３２１において、暗号処理部２０３は、セキュアチップ処理機能部２０１からの要求を受信し、ステップＳ３２２に進み、鍵管理部２０４に問い合わせることによって、いまサーバアプリケーション５１（セキュアチップマネージャモジュール１３２）から要求されているパッケージが既に生成されており、鍵管理部２０４により保存されている場合、その、保存されているパッケージを鍵管理部２０４から取得する。鍵管理部２０４においては、暗号処理部２０３からの問い合わせに対する応答が行われる（ステップＳ３３１）。
【０２３１】
暗号処理部２０３は、ステップＳ３２３において、ステップＳ３２２で取得したパッケージをセキュアチップ処理機能部２０１に供給する。
【０２３２】
ステップＳ２９５において、セキュアチップ処理機能部２０１は、暗号処理部２０３により取得されたパッケージを受信する。
【０２３３】
一方、セキュアチップマネージャモジュール１３２から要求されているパッケージがまだ生成されておらず、鍵管理部２０４により保存されていない場合、ステップＳ３２４において、暗号処理部２０３は、セキュアチップマネージャモジュール１３２から要求されているパッケージを生成する。即ち、暗号処理部２０３は、実行権を表す権利書に、鍵管理部２０４から取得した鍵により暗号処理を施して暗号情報を生成し、生成した暗号情報に、その権利書が正当なものであることを証明する証明書を付加することによってパッケージを生成する。
【０２３４】
暗号処理部２０３は、生成したパッケージを鍵管理部２０４に供給し、保存させるとともに、ステップＳ３２５において、セキュアチップ処理機能部２０１に供給する。
【０２３５】
鍵管理部２０４は、ステップＳ３３２において、暗号処理部２０３により生成されたパッケージを受信し、ステップＳ３３３に進み、それを保存する。同じパッケージの生成が再度要求された場合、ここで保存されたパッケージがセキュアチップマネージャモジュール１３２に提供される。
【０２３６】
ステップＳ２９６において、セキュアチップ処理機能部２０１は、暗号処理部２０３により取得されたパッケージを受信する。ステップＳ２９５、またはＳ２９６においてパッケージを受信したとき、セキュアチップ処理機能部２０１は、ステップＳ２９７において、パッケージをセキュアチップマネージャモジュール１３２に供給する。
【０２３７】
セキュアチップ処理モジュール５３においては、それを構成する各部により、以上のような処理が行われる。
【０２３８】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。
【０２３９】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば、汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０２４０】
この記録媒体は、図６に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory)，DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（登録商標）(Mini-Disk)を含む）、もしくは半導体メモリなどよりなるリムーバブル記録媒体５１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM７３やハードディスク７５などで構成される。
【０２４１】
なお、本明細書において、各ステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０２４２】
【図１】従来の電子マネーシステムの構成例を示すブロック図である。
【図２】本発明を適用したサーバ−クライアントシステムの構成例を示すブロック図である。
【図３】図２のクライアント側装置とサーバ側装置の機能構成例を示すブロック図である。
【図４】クライアント側装置とサーバ側装置のハードウェア構成の具体例を示すブロック図である。
【図５】クライアント側装置とサーバ側装置のハードウェア構成の他の具体例を示すブロック図である。
【図６】図４のPCのハードウェア構成例を示すブロック図である。
【図７】図４のコンピュータのハードウェア構成例を示すブロック図である。
【図８】図３のセキュアチップのハードウェア構成例を示すブロック図である。
【図９】セキュアチップのディレクトリ構造の例を示す図である。
【図１０】図３のセキュアサーバの詳細な構成例を示すブロック図である。
【図１１】セキュアチップ処理モジュールによる鍵管理の概念を示す図である。
【図１２】アクセスコントロールリストの例を示す図である。
【図１３】クライアント側装置とサーバ側装置の動作について説明するフローチャートである。
【図１４】クライアント側装置とサーバ側装置の動作について説明する、図１３に続くフローチャートである。
【図１５】セキュアチップ処理モジュールの詳細な構成例を示すブロック図である。
【図１６】セキュアチップ処理モジュールの詳細な処理について説明するフローチャートである。
【図１７】セキュアチップ処理モジュールの他の詳細な処理について説明するフローチャートである。
【図１８】セキュアチップ処理モジュールのさらに他の詳細な処理について説明するフローチャートである。
【符号の説明】
【０２４３】
３１  クライアント側装置，  ３２  サーバ側装置，  ４１  セキュアチップ，  ４２  R/W，  ４３  クライアントアプリケーション，  ５１  サーバアプリケーション，  ５２  セキュアサーバ，  ５３  セキュアチップ処理モジュール，  １３１  セキュアチップコマンドモジュール，  １３２  セキュアチップマネージャモジュール，  ２０１  セキュアチップ処理機能部，  ２０２  アクセス制御部，  ２０３  暗号処理部，  ２０４  鍵管理部
【図１】
2006107323.tif 000003
【図２】
2006107323.tif 000004
【図３】
2006107323.tif 000005
【図４】
2006107323.tif 000006
【図５】
2006107323.tif 000007
【図６】
2006107323.tif 000008
【図７】
2006107323.tif 000009
【図８】
2006107323.tif 000010
【図９】
2006107323.tif 000011
【図１０】
2006107323.tif 000012
【図１１】
2006107323.tif 000013
【図１２】
2006107323.tif 000014
【図１３】
2006107323.tif 000015
【図１４】
2006107323.tif 000016
【図１５】
2006107323.tif 000017
【図１６】
2006107323.tif 000018
【図１７】
2006107323.tif 000019
【図１８】
2006107323.tif 000020