(57)【要約】【課題】オペレータが行うことができる操作を容易に制御する。【解決手段】  認証部１１２は、オペレータの認証を行う。さらに、認証部１１２は、オペレータを特定するオペレータIDと、オペレータに許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済のオペレータが要求する暗号関連処理が許可されているかどうかを確認する。暗号処理部１１４は、オペレータが要求する暗号関連処理が許可されている場合に、その暗号関連処理を行う。本発明は、例えば、ICカードなどとの間でデータをやりとりするサーバ側において暗号関連処理を行う、耐タンパ性のある装置などに適用できる。【選択図】図１１
2006109307.tif 000002
【特許請求の範囲】
【請求項１】
IC(Integrated Circuit)チップを利用してサービスを提供するための暗号化に関連する暗号関連処理を行う情報処理装置において、
外部の装置を操作する操作者の認証を行う認証手段と、
前記操作者を特定する特定情報と、前記操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを記憶する記憶手段と、
前記アクセスコントロールリストを参照することにより、認証済の前記操作者が要求する前記暗号関連処理が許可されているかどうかを確認する確認手段と、
前記操作者が要求する前記暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理手段と
を備えることを特徴とする情報処理装置。
【請求項２】
IC(Integrated Circuit)チップを利用してサービスを提供するための暗号化に関連する暗号関連処理を行う情報処理装置の情報処理方法において、
外部の装置を操作する操作者の認証を行う認証ステップと、
前記操作者を特定する特定情報と、前記操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の前記操作者が要求する前記暗号関連処理が許可されているかどうかを確認する確認ステップと、
前記操作者が要求する前記暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理ステップと
を含むことを特徴とする情報処理方法。
【請求項３】
IC(Integrated Circuit)チップを利用してサービスを提供するための暗号化に関連する暗号関連処理を、コンピュータに実行させるプログラムにおいて、
外部の装置を操作する操作者の認証を行う認証ステップと、
前記操作者を特定する特定情報と、前記操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の前記操作者が要求する前記暗号関連処理が許可されているかどうかを確認する確認ステップと、
前記操作者が要求する前記暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、例えば、IC(Integrated Circuit)カードなどのICチップを内蔵した装置を利用してサービスを提供するための暗号化に関連する暗号関連処理について、サービス提供者のオペレータが行うことができる操作（暗号関連処理）を、容易に制御（管理）すること等ができるようにする情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、代金決済において、IC(Integrated Circuit)チップを利用した、いわゆる電子マネーを用いることが普及しつつある。
【０００３】
例えば、ユーザは、PC(Personal Computer)に接続されたR/W(Reader/Writer)に、ICチップを内蔵するICカードを載置することによって、インターネット上のショッピングサイトにおいて購入した代金の支払いを、ICチップにチャージされた電子マネーによって行うことができる。また、ユーザは、実際の店舗において、ICチップを内蔵した携帯電話機を、店舗に設定されたR/Wに近づけることによって、商品の代金の支払いを、ICチップにチャージされた電子マネーによって行うことができる。この商品の代金の支払いのための処理は、PC，R/W、およびICカード（ICチップ）がクライアントとなって、またはICチップを内蔵する携帯電話機がクライアントとなって、サーバからの指示に対し、クライアントが応答することによって行われる。
【０００４】
即ち、サーバにおいて、例えば、ICチップにチャージされている電子マネーの残高の管理や、その残高から商品の代金を減額する処理などの決済処理が行われることによって、電子マネーによる商品の代金の支払いを行う電子マネーサービスを、クライアントのユーザに提供することができる。
【０００５】
なお、サーバに行わせる処理によって、電子マネーサービスに限らず、各種のサービスを、クライアントのユーザに提供することができる。
【０００６】
ところで、上述したようなICチップを利用してサービスを提供するサーバとクライアントとの間では、第三者への情報の漏洩を防止する等のセキュリティを確保するために、データは、暗号化してやりとりされる。
【０００７】
そして、サーバとクライアントでは、データの暗号化に用いられる鍵（暗号鍵）の管理や、データの暗号化、復号、その他の暗号化に関連する暗号関連処理（データの暗号化／復号を利用して行われる認証や署名の作成などを含む）は、セキュリティを確保するため、耐タンパ性のある装置の内部で行われ、また、その耐タンパ性のある装置に対する外部からのアクセスは、認証が成功した場合のみ許可されるようになっており、これにより、外部に、鍵や、暗号化のアルゴリズム等が漏洩することを防止するようになっている。
【０００８】
なお、このようなアクセスの制御に関しては、リソースと、認証ユニットと、署名が関連づけられたプログラムコード本体を実行する実行エンジンとを有するコンピュータシステムにおいて、実行エンジンがコードをロードする際には、リソースと関連づけられた暗号キーを用いて、署名に対する認証操作を実行し、実行エンジン内のコードによってリソースへのアクセスが要求されると、リソースと関連づけられた暗号キーを用いて、署名に対する更なる認証操作を行うことにより、コンピュータシステム上のリソースを保護する技術が、例えば、特許文献１に開示されている。
【０００９】
【特許文献１】特表2003-524252号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、サービス提供者が、上述したようなサーバを利用してサービスを提供する場合、耐タンパ性のある装置（以下、適宜、耐タンパ性装置ともいう）に、そのサービスの提供に用いる新たな鍵の登録等を行う必要がある。
【００１１】
新たな鍵の登録は、外部の装置を操作する操作者としての、例えばサービス提供者のオペレータが、その外部の装置を操作して、耐タンパ性装置にアクセスすることにより行われるが、従来においては、オペレータによる耐タンパ性装置へのアクセスの制御、即ち、耐タンパ性装置へのアクセスに関するオペレータの権限は、例えば、運用によって決められていた。
【００１２】
従って、仮に、悪意のあるオペレータが不正行為をしようとした場合に、その不正行為を防止することが困難であった。
【００１３】
本発明は、このような状況に鑑みてなされたものであり、例えば、鍵の登録その他の暗号関連処理について、オペレータが行うことができる操作（暗号関連処理）を、容易に制御すること等ができるようにするものである。
【課題を解決するための手段】
【００１４】
本発明の情報処理装置は、外部の装置を操作する操作者の認証を行う認証手段と、操作者を特定する特定情報と、操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の操作者が要求する暗号関連処理が許可されているかどうかを確認する確認手段と、操作者が要求する暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理手段とを備えることを特徴とする。
【００１５】
本発明の情報処理方法は、外部の装置を操作する操作者の認証を行う認証ステップと、操作者を特定する特定情報と、操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の操作者が要求する暗号関連処理が許可されているかどうかを確認する確認ステップと、操作者が要求する暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムは、外部の装置を操作する操作者の認証を行う認証ステップと、操作者を特定する特定情報と、操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の操作者が要求する暗号関連処理が許可されているかどうかを確認する確認ステップと、操作者が要求する暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理ステップとを含むことを特徴とする。
【００１７】
本発明においては、外部の装置を操作する操作者の認証が行われる。そして、操作者を特定する特定情報と、操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の操作者が要求する暗号関連処理が許可されているかどうかが確認され、操作者が要求する暗号関連処理が許可されている場合に、その暗号関連処理が行われる。
【発明の効果】
【００１８】
本発明によれば、暗号関連処理について、操作者が行うことができる操作（暗号関連処理）を、容易に制御することが可能となる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
【００２１】
請求項１に記載の情報処理装置は、
IC(Integrated Circuit)チップを利用してサービスを提供するための暗号化に関連する暗号関連処理を行う情報処理装置（例えば、図１１のセキュアチップ処理モジュール２３）において、
外部の装置を操作する操作者の認証を行う認証手段（例えば、図１５のステップＳ１０１の処理を行う図１１の認証部１１２）と、
前記操作者を特定する特定情報と、前記操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを記憶する記憶手段（例えば、図１１のアクセスコントロールリスト記憶部１１３）と、
前記アクセスコントロールリストを参照することにより、認証済の前記操作者が要求する前記暗号関連処理が許可されているかどうかを確認する確認手段（例えば、図１５のステップＳ１３２の処理を行う図１１の認証部１１２）と、
前記操作者が要求する前記暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理手段（例えば、図１１の暗号処理部１１４）と
を備えることを特徴とする。
【００２２】
請求項２に記載の情報処理方法は、
IC(Integrated Circuit)チップを利用してサービスを提供するための暗号化に関連する暗号関連処理を行う情報処理装置（例えば、図１１のセキュアチップ処理モジュール２３）の情報処理方法において、
外部の装置を操作する操作者の認証を行う認証ステップ（例えば、図１５のステップＳ１０１）と、
前記操作者を特定する特定情報と、前記操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の前記操作者が要求する前記暗号関連処理が許可されているかどうかを確認する確認ステップ（例えば、図１５のステップＳ１３２）と、
前記操作者が要求する前記暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理ステップ（例えば、図１５のステップＳ１４２）と
を含むことを特徴とする。
【００２３】
請求項３に記載のプログラムは、
IC(Integrated Circuit)チップを利用してサービスを提供するための暗号化に関連する暗号関連処理を、コンピュータに実行させるプログラムにおいて、
外部の装置を操作する操作者の認証を行う認証ステップ（例えば、図１５のステップＳ１０１）と、
前記操作者を特定する特定情報と、前記操作者に許可する暗号関連処理を表す情報とが対応付けられたリストであるアクセスコントロールリストを参照することにより、認証済の前記操作者が要求する前記暗号関連処理が許可されているかどうかを確認する確認ステップ（例えば、図１５のステップＳ１３２）と、
前記操作者が要求する前記暗号関連処理が許可されている場合に、その暗号関連処理を行う暗号関連処理ステップ（例えば、図１５のステップＳ１４２）と
を含むことを特徴とする。
【００２４】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２５】
図１は、本発明が適用されるサーバクライアントシステム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない）の構成例を示している。
【００２６】
図１のサーバクライアントシステムは、いわゆるクライアントである各種のクライアント側装置１と、いわゆるサーバであるサーバ側装置２とが、例えば、インターネットなどのネットワーク３、さらには、必要に応じて、例えば、移動機（体）通信網などのネットワーク４を介して接続されて構成されている。
【００２７】
クライアント側装置１は、セキュアチップを内蔵している。セキュアチップは、例えば、耐タンパ性のあるセキュアなICチップであり、接触または非接触で、外部の装置とデータのやりとりを行うことができるようになっている。
【００２８】
なお、クライアント側装置１としては、例えば、携帯電話機やPDA(Personal Digital Assistant)などの携帯端末、PC，POS(Point Of Sales)レジ（POSシステム用のレジスタ）、自動販売機、ハンディーターミナルなどがある。また、クライアント側装置１が内蔵するセキュアチップとしては、例えば、電子的な定期券等としてのSuica(R)などに採用されているFeliCa(R)などがある。
【００２９】
サーバ側装置２は、ネットワーク３、さらには、必要に応じて、ネットワーク４を介して、クライアント側装置１との間でデータ（コマンドを含む）をやりとりし、これにより、各種のサービスを提供する。即ち、例えば、クライアント側装置１のセキュアチップに、電子マネーが記憶されている場合において、サーバ側装置２が、クライアント側装置１の電子マネーを対象として、商品の代金を差し引き、その差し引き後の金額によって、クライアント側装置１の電子マネーの金額を更新する処理等を制御することにより、サーバ側装置２は、電子マネーサービスを提供する。
【００３０】
なお、クライアント側装置１は、サーバ側装置２に送信するデータを暗号化して送信し、サーバ側装置２も、クライアント側装置１に送信するデータを暗号化して送信する。
【００３１】
クライアント側装置１におけるデータの暗号化や復号、暗号化／復号に用いられる鍵の発生や管理、相互認証（のためのデータの暗号化／復号など）、相互認証に用いられる乱数の発生、その他のデータの暗号化（秘密化）に関連する暗号関連処理は、耐タンパ性のあるセキュアチップ内で行われるが、サーバ側装置２における暗号関連処理は、耐タンパ性のある専用のハードウェアであるHSM(Hardware Security Module)内で行われる場合と、そのような耐タンパ性のあるHSMを利用せず、サーバ側装置２を実現するソフトウェアなどで行われる場合がある。
【００３２】
また、暗号関連処理には、特に高い秘匿性が要求される暗号関連処理と、それ以外の暗号関連処理とがあり、サーバ側装置２がHSMを備える場合には、特に高い秘匿性が要求される暗号関連処理のみを、HSM内で行い、それ以外の暗号関連処理を、サーバ側装置２を実現するソフトウェアなどで行うことができる。
【００３３】
次に、図２は、クライアント側装置１とサーバ側装置２の機能的な構成例を示している。
【００３４】
クライアント側装置１は、セキュアチップ１１およびクライアントアプリケーション１２、さらには、必要なR/W１３で構成される。
【００３５】
セキュアチップ１１は、耐タンパ性のあるセキュアなICチップであり、接触または非接触で、外部の装置とデータのやりとりを行うことができるようになっている。
【００３６】
即ち、セキュアチップ１１は、クライアントアプリケーション１２と直接、またはR/W１３を介して通信し、例えば、その通信によってクライアントアプリケーション１２から送信されてくるコマンドにしたがって処理を行う。さらに、セキュアチップ１１は、その処理後、コマンドに対するレスポンスとしてのレスポンスデータを、クライアントアプリケーション１２に対して、直接、またはR/W１３を介して送信する。また、セキュアチップ１１は、セキュリティを確保するために、送受信するデータ等に対する暗号関連処理を行う。
【００３７】
クライアントアプリケーション１２は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアで、サーバ側装置２の後述するサーバアプリケーション２１のクライアントとして機能する。クライアントアプリケーション１２は、サーバアプリケーション２１との間でデータ（コマンドを含む）をやりとりし、また、セキュアチップ１１に対して、直接、またはR/W１３を介して、コマンド等を送信することで、セキュアチップ１１に対するデータの読み書き等を行い、これにより、各種のサービスの提供を実現する。
【００３８】
即ち、例えば、クライアントアプリケーション１２およびサーバアプリケーション２１が、電子マネーサービスを提供するソフトウェアであり、セキュアチップ１１内に、電子マネーサービス用の記憶領域が確保されている場合には、セキュアチップ１１に記憶された電子マネーから、商品の代金を差し引き、その差し引き後の金額によって、セキュアチップ１１に記憶された電子マネーの金額を更新するといった、電子マネーサービスのための処理に必要なデータ（コマンドを含む）のやりとりが、クライアントアプリケーション１２とサーバアプリケーション２１との間で行われる。
【００３９】
なお、クライアントアプリケーション１２には、サーバアプリケーション２１との間の通信を制御するモジュールが、必要に応じて含まれる。
【００４０】
R/W１３は、セキュアチップ１１と非接触通信または接触通信を行い、クライアントアプリケーション１２から供給されるコマンド等を、セキュアチップ１１に送信し、また、セキュアチップ１２から送信されてくるデータ等を受信して、クライアントアプリケーション１２に供給する。
【００４１】
サーバアプリケーション２１は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアで、クライアント側装置１のクライアントアプリケーション１２のサーバとして機能する。サーバアプリケーション２１は、クライアントアプリケーション１２との間でデータ（コマンドを含む）をやりとりすることにより、上述した電子マネーサービスその他の各種のサービスを実現する。
【００４２】
また、サーバアプリケーション２１は、セキュリティを確保するため、送受信するデータ等に対する暗号関連処理を、セキュアサーバ２２に依頼する。
【００４３】
なお、サーバアプリケーション２１には、クライアントアプリケーション１２との間の通信を制御するモジュールが、必要に応じて含まれる。
【００４４】
セキュアサーバ２２は、例えば、ハードウェアであるコンピュータで実行されるソフトウェアで、サーバアプリケーション２１からの暗号関連処理の依頼に応じて、自身で暗号関連処理を行い、あるいは、暗号関連処理を、セキュアチップ処理モジュール２３に依頼する。
【００４５】
即ち、セキュアサーバ２２は、サーバアプリケーション２１から依頼される暗号関連処理のうちの、特に高い秘匿性が要求される暗号関連処理を、セキュアチップ処理モジュール２３に依頼し、それ以外の暗号関連処理を、自身（セキュアサーバ２２内）で行う。
【００４６】
セキュアチップ処理モジュール２３は、セキュアサーバ２２からの依頼に応じて、暗号関連処理（特に高い秘匿性が要求される暗号関連処理）を行う。
【００４７】
なお、セキュアチップ処理モジュール２３は、ここでは、例えば、耐タンパ性のある専用のハードウェア内に格納されていることとする。但し、セキュアチップ処理モジュール２３は、例えば、セキュアサーバ２２の１つのモジュール（ソフトウェア）とすることも可能である。
【００４８】
次に、図３は、クライアント側装置１とサーバ側装置２の具体的なハードウェアの構成例を示している。
【００４９】
図３において、クライアント側装置１は、ハードウェアであるR/W１３，ICカード３１、およびPC３２で構成されている。
【００５０】
ICカード３１は、ハードウェアであるセキュアチップ１１を内蔵し、例えば、電子マネーを格納するEdy(R)などのカードに相当する。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４２（によって、実行されるクライアントアプリケーション１２）は、入出力インタフェース５０に接続されたR/W１３を介して、セキュアチップ１１（図３）にアクセスすることができる。
【００６０】
ここで、クライアントアプリケーション１２その他のプログラムは、PC３２に内蔵されている記録媒体としてのハードディスク４５やROM４３に予め記録しておくことができる。
【００６１】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体５１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体５１は、いわゆるパッケージソフトウエアとして提供することができる。
【００６２】
なお、プログラムは、上述したようなリムーバブル記録媒体５１からPC３２にインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、PC３２に無線で転送したり、LAN(Local Area Network)、インターネットといったネットワーク３を介して、PC３２に有線で転送し、PC３２では、そのようにして転送されてくるプログラムを、通信部４８で受信し、内蔵するハードディスク４５にインストールすることができる。
【００６３】
次に、図６は、サーバアプリケーション２１およびセキュアサーバ２２がインストールされる図３のコンピュータ３３のハードウェアの構成例を示している。
【００６４】
ここで、図６において、コンピュータ３３を構成するバス６１乃至リムーバブル記録媒体７１は、図５のバス４１乃至リムーバブル記録媒体５１とそれぞれ同様に構成されるものであるため、その説明は省略する。
【００６５】
なお、図３や図４において、セキュアチップ処理モジュール２３は、通信部６８または入出力インタフェース７０を介して、コンピュータ３３に接続される。
【００６６】
次に、図７は、図２のセキュアチップ１１のハードウェアの構成例を示している。
【００６７】
セキュアチップ１１は、大きく分けて、通信処理部８１とデータ処理部８２とから構成される。通信処理部８１は、セキュアチップ１１の外部と、接触通信または非接触通信をするために必要な処理を行い、これにより、外部から送信されてくるデータ（コマンドを含む）を、データ処理部８２に供給し、また、データ処理部８２からのデータを、外部に送信する。
【００６８】
ここで、セキュアチップ１１で行われる、外部と通信するために必要な処理としては、データ等の符号化／復号や、変調／復調等がある。また、セキュアチップ１１が電源を有しない場合には、通信処理部８１では、外部からの信号から電源（電力）を生成する処理も行われる。
【００６９】
データ処理部８２は、例えば、CPU９１、暗号関連処理部９２、およびメモリ９３で構成され、通信処理部８１から供給されるコマンド等にしたがい、各種の処理を行う。
【００７０】
即ち、CPU９１は、暗号関連処理部９２の制御やメモリ９３の管理を行う。また、CPU９１は、通信処理部８１から供給されるコマンドにしたがい、メモリ９３に対するデータの読み書きや、メモリ９３に記憶されたデータを対象としたデータ処理等を行う。なお、CPU９１は、プログラムを実行することにより各種の処理を行うが、そのプログラムは、メモリ９３に記憶されている。
【００７１】
暗号関連処理部９２は、CPU９１の制御にしたがい、暗号関連処理を行う。ここで、暗号関連処理には、データ（コマンドを含む）の暗号化／復号の他に、例えば、いわゆるチャレンジアンドレスポンス方式での相互認証（相互認証に用いられる乱数の発生等を含む）、暗号化／復号に用いられる鍵（暗号鍵となる情報）の発生（生成）なども含まれる。
【００７２】
メモリ９３は、不揮発性のメモリで、データやプログラムなどを記憶する。なお、メモリ９３は、物理的に１つのメモリであっても良いし、複数のメモリであっても良い。また、メモリ９３を、物理的に複数のメモリで構成する場合には、その一部のメモリとしては、揮発性のメモリを採用することができる。揮発性メモリには、例えば、CPU９１の動作上一時的に記憶しておく必要があるデータなどが記憶される。
【００７３】
次に、CPU９１では、メモリ９３の記憶領域が階層化されて管理されるようになされている。
【００７４】
即ち、図８は、メモリ９３のディレクトリ構造を示している。
【００７５】
メモリ９３の記憶領域のうちの一部は、各種のサービスを提供するためのデータを記憶するデータ記憶領域として使用されるようになっている。このデータ記憶領域は、いわゆるディレクトリに相当するエリア定義領域を階層とする階層構造をなしており、エリア定義領域は、下位（子）の階層のディレクトリに相当するエリア定義領域や、ファイルに相当する、後述するサービス領域を管理するサービス定義領域を有することができるようになされている。
【００７６】
エリア定義領域は、メモリ９３のデータ記憶領域の一部で、サービスを提供するサービス提供者を管理する管理者（サービス提供者自身である場合もある）に割り当てられる。エリア定義領域には、そのエリア定義領域を識別するための名前として使用可能な識別コードとしてのエリアコード、使用可能な空きブロック数を表す空き容量、エリア定義領域（そのエリア定義領域の下位階層のエリア定義領域やサービス定義領域を含む）にアクセスするのに必要な鍵としてのエリアキーなどが配置される。
【００７７】
ここで、CPU９１は、メモリ９３のデータ記憶領域を、固定の記憶容量のブロック単位で管理するようになっており、エリア定義領域が管理するデータ記憶領域の空き容量などは、このブロックの数（ブロック数）によって管理される。
【００７８】
図８の実施の形態では、管理者Ａに最上位階層のエリア定義領域が割り当てられており、これを親の階層として、管理者Ｂ１およびＢ２のエリア定義領域が作成されている。さらに、管理者Ｂ１のエリア定義領域を、親の階層として、管理者Ｃのエリア定義領域が作成されている。
【００７９】
サービス定義領域は、後述するサービス領域を管理するための、メモリ９３のデータ記憶領域の一部で、サービス提供者が提供するサービスに割り当てられる。サービス定義領域には、そのサービス定義領域を識別するための名前として使用可能な識別コードとしてのサービスコード、サービスの提供に必要なデータを記憶するサービス領域の容量を表すブロック数、サービス定義領域（サービス定義領域が管理するサービス領域を含む）にアクセスするのに必要な鍵としてのサービスキーなどが配置される。
【００８０】
サービス領域は、データ記憶領域の一部で、サービスの提供に必要なデータが記憶される、０以上のブロックで構成される。サービス領域を構成するブロック数が、そのサービス領域を管理するサービス定義領域の容量として配置される。
【００８１】
サービス提供者は、ある管理者が管理するエリア定義領域の下位階層に、サービス定義領域を作成し、そのサービス定義領域で管理されるサービス領域を使用して、各種のサービスを提供する。例えば、電子マネーサービスの提供にあたっては、サービス領域に、電子マネーの金額（残高）や、電子マネーによって購入した商品の情報（例えば、商品名や値段など）、商品を購入した年月日などが記憶される。
【００８２】
次に、図９は、図２のセキュアサーバ２２の詳細な構成例を示している。
【００８３】
セキュアサーバ２２は、セキュアチップコマンドモジュール１０１とセキュアチップマネージャモジュール１０２とから構成される。
【００８４】
セキュアチップコマンドモジュール１０１は、例えば、サーバアプリケーション２１からのコマンドの作成の要求（依頼）に応じて、セキュアチップ１１用のコマンドを作成し、サーバアプリケーション２１に供給する。
【００８５】
即ち、サーバアプリケーション２１は、クライアント側装置１のセキュアチップ１１に対して、何らかの処理を指示する場合、その処理に対応するコマンドの作成を、セキュアチップコマンドモジュール１０１に要求し、セキュアチップコマンドモジュール１０１は、その要求に応じ、セキュアチップ１１用のコマンドを作成して、サーバアプリケーション２１に供給する。
【００８６】
従って、サーバアプリケーション２１は、セキュアチップ１１用のコマンドを（知っていても良いが）知っている必要はないので、様々なコマンド体系のセキュアチップ（コマンドとしてのオペコードや、コマンドがとるパラメータ、コマンドの種類などの違いがあるセキュアチップ）が存在する場合であっても、サーバアプリケーション２１を、そのような様々なコマンド体系のセキュアチップごとに製作する必要がない。
【００８７】
即ち、サーバアプリケーション２１は、セキュアチップコマンドモジュール１０１が解釈することができるコマンド体系を使用することができるものであれば良い。
【００８８】
ここで、セキュアチップコマンドモジュール１０１は、上述したように、サーバアプリケーション２１からの要求に応じて、セキュアチップ１１用のコマンドを作成し、サーバアプリケーション２１に供給するが、コマンドをサーバアプリケーション２１に供給する前に、セキュアチップマネージャモジュール１０２に供給して、そのコマンドの暗号化を要求する。そして、セキュアチップコマンドモジュール１０１は、その要求に応じてセキュアチップマネージャモジュール１０２から供給される暗号情報（暗号化後のコマンド等）を、サーバアプリケーション２１に供給する。
【００８９】
セキュアチップマネージャモジュール１０２は、セキュアチップコマンドモジュール１０１からの要求に応じて、コマンドの暗号化等の暗号関連処理を行い、あるいは、暗号関連処理を、セキュアチップ処理モジュール２３に要求する。そして、セキュアチップマネージャモジュール１０２は、自身（セキュアチップマネージャモジュール１０２）またはセキュアチップ処理モジュール２３による暗号関連処理により得られる暗号情報を、セキュアチップコマンドモジュール１０１に供給する。
【００９０】
なお、セキュアチップマネージャモジュール１０２は、セキュアチップ１１用の暗号関連処理を行い、あるいは、セキュアチップ処理モジュール２３に、セキュアチップ１１用の暗号関連処理を行わせる。
【００９１】
即ち、例えば、セキュアチップ１１は、セキュアチップ１１用の暗号化が行われたコマンド（データ）等のみの処理が可能となっている。具体的には、データ（コマンドを含む）の暗号化には、例えば、様々なアルゴリズムの暗号化が存在し、セキュアチップ１１では、あるアルゴリズムの暗号化が採用されている。セキュアチップ１１で採用されている暗号化のアルゴリズムを表す情報（そのアルゴリズムによる暗号化に用いられる鍵を表す情報を含む）を、暗号処理種別ということとすると、セキュアチップマネージャモジュール１０２は、セキュアチップ１１に対応した暗号処理種別の暗号化等を行い、あるいは、セキュアチップ処理モジュール２３に、セキュアチップ１１に対応した暗号処理種別の暗号化等を行わせる。
【００９２】
なお、セキュアチップマネージャモジュール１０２は、セキュアチップ１１の暗号処理種別と異なる暗号処理種別の暗号化等も行うように構成することができる。セキュアチップ処理モジュール２３も同様である。
【００９３】
また、暗号化は、例えば、認証や、後述する通信路の暗号化、同じく後述するパッケージの作成などのために行われるが、暗号処理種別は、これらの認証、通信路の暗号化、パッケージの作成のための暗号化それぞれごとに決めることが可能である。さらに暗号処理種別には、認証や、通信路の暗号化、パッケージの作成に関連する情報、即ち、例えば、認証として、相互認証を行うのか、または、片側認証を行うのかといった情報を含めることが可能である。
【００９４】
次に、図１０を参照して、クライアント側装置１とサーバ側装置２の動作について説明する。
【００９５】
クライアントアプリケーション１２が起動されると、クライアントアプリケーション１２は、まず最初に、ステップＳ２１において、セキュアチップ１１に対して、セキュアチップ１１に関するセキュアチップ(Secure Chip)情報を要求するコマンドを送信する。
【００９６】
セキュアチップ１１は、ステップＳ１１において、クライアントアプリケーション１２からのコマンドを受信して、ステップＳ１２に進み、そのコマンドに対するレスポンスとして、セキュアチップ情報を、クライアントアプリケーション１２に送信する。
【００９７】
クライアントアプリケーション１２は、ステップＳ２２において、セキュアチップ１１からのセキュアチップ情報を受信して、ステップＳ２３に進み、そのセキュアチップ情報を含む初期情報とともに、サーバ側装置２に対して接続を要求するサーバ(Server)接続要求を送信する。
【００９８】
なお、初期情報には、セキュアチップ情報の他、クライアントアプリケーション１２に関するクライアント情報や、クライアントアプリケーション１２が接続しようとするサーバ側装置２のサーバアプリケーション２１を指定するサーバ(Server)アプリ指定（の情報）が含まれる。
【００９９】
また、セキュアチップ情報には、セキュアチップ１１がどのような種類のものかを表す情報であるセキュアチップ種別、セキュアチップ１１で採用されているOS(Operating System)を表す情報であるセキュアチップOS種別、セキュアチップ１１におけるデータの管理に関する情報であるセキュアチップファイル構造(ファイルフォーマット、エリアコードのリスト、サービスコードのリストなど)などが含まれる。セキュアチップ種別によれば、認証や通信路の暗号化、実行権の暗号処理において具体的に用いられる暗号・署名アルゴリズム(DES、T-DES、RSA、EC-DSAなど)や認証でのチャレンジ/レスポンスの方法や具体的な暗号・署名を行う対象のフォーマットやパディングルールなどを特定することができる。
【０１００】
さらに、クライアント情報には、クライアント側装置１のハードウェアを表す情報（例えば、クライアント側装置１が携帯電話機、PC、またはPOSレジであるなどの情報）であるクライアント種別、クライアント側装置１で採用されているOSを表す情報であるクライアントOS種別、クライアントアプリケーション１２を特定する情報であるクライアントアプリID(Identification)、クライアントアプリケーション１２のバージョンを表す情報であるアプリバージョンなどが含まれる。
【０１０１】
ここで、クライアントアプリケーション１２では、例えば、サーバアプリケーション２１に接続した後に、サーバアプリケーション２１からの、セキュアチップ情報その他の初期情報の要求を待って、その要求に応じて、セキュアチップ１１からセキュアチップ情報を取得し、初期情報に含めて、サーバアプリケーション２１に送信することもできる。
【０１０２】
但し、図１０に示したように、クライアントアプリケーション１２において、セキュアチップ１１からセキュアチップ情報を取得しておき、そのセキュアチップ情報を含む初期情報を、サーバ接続要求とともに、サーバアプリケーション２１に送信する場合の方が、クライアントアプリケーション１２とサーバアプリケーション２１との間のやりとりが少なくて済み、処理に要する時間の短縮化を図ることが可能となる。
【０１０３】
さらに、この場合、サーバ側装置２は、クライアント側装置１からのアクセスの開始と同時に、クライアント情報を受信することができるので、そのクライアント情報に基づき、クライアントアプリケーション１２に適したコマンドやメッセージ（画面等のGUI(Graphical User Interface)など）の送受信を行うことが可能となる。ここで、クライアントアプリケーション１２に適したコマンドやメッセージとは、例えば、内容がクライアントアプリケーション１２に適したコマンドやメッセージ、あるいは、一度に送受信する長さや個数がクライアントアプリケーション１２に適したコマンドやメッセージなどを意味する。
【０１０４】
サーバアプリケーション２１は、ステップＳ４１において、クライアントアプリケーション２３からのサーバ接続要求と初期情報を受信し、クライアント側装置１に必要なサービスを提供するためのアプリケーション（ソフトウェア）を起動して、ステップＳ４２に進む。
【０１０５】
ステップＳ４２では、サーバアプリケーション２１は、ステップＳ４１で受信した初期情報に含まれるセキュアチップ情報とクライアント情報を、セキュアサーバ２２のセキュアチップマネージャモジュール１０２に供給する。セキュアチップマネージャモジュール１０２は、ステップＳ６１において、サーバアプリケーション２１からのセキュアチップ情報とクライアント情報を受信し、そのうちのセキュアチップ情報を、セキュアチップ処理モジュール２３に送信する。
【０１０６】
セキュアチップ処理モジュール２３は、ステップＳ８１において、セキュアチップマネージャモジュール１０２からのセキュアチップ情報に基づき、セキュアチップ１１からのアクセスに対する処理の範囲を設定する。
【０１０７】
即ち、セキュアチップ処理モジュール２３は、様々なセキュアチップやサービスの暗号関連処理を行うことができるようになっており、さらに、その様々なセキュアチップやサービスの暗号関連処理に必要な鍵を内蔵している。そして、セキュアチップ１１が、例えば、電子マネーサービスのみの提供を受けうるものであれば、セキュアチップ処理モジュール２３は、セキュアチップ１１からのアクセスに対して、電子マネーサービスを提供するのに必要な暗号関連処理のみを行う（許可する）。また、電子マネーサービスにおけるデータの暗号化／復号に使用する鍵があらかじめ決まっている場合には、セキュアチップ処理モジュール２３は、セキュアチップ１１からのアクセスに対して、電子マネーサービスにおけるデータの暗号化／復号に使用する鍵のみの使用のみを許可し、他のサービスにおけるデータの暗号化／復号に使用する鍵の使用は許可しない。
【０１０８】
一方、セキュアチップマネージャモジュール１０２は、ステップＳ６１でサーバアプリケーション２１から受信したセキュアチップ情報とクライアント情報に基づき、セキュアチップ１１とクライアントアプリケーション１２に対応した処理を行う状態となる。
【０１０９】
即ち、セキュアチップマネージャモジュール１０２は、各種のセキュアチップやクライアントアプリケーションに対応した処理を行うことができるようになっており、セキュアチップマネージャモジュール１０２は、ステップＳ６１でサーバアプリケーション２１から受信したセキュアチップ情報とクライアント情報に基づき、セキュアチップ１１とクライアントアプリケーション１２に対応した処理を行う状態となる。
【０１１０】
例えば、セキュアチップマネージャモジュール１０２は、セキュアチップ１１に対する処理を行うのに必要なリソースを確保するとともに、クライアント側装置１のセキュアチップ１１の種別（例えば、ICカードに内蔵されるセキュアチップであるとか、携帯電話機に内蔵されるセキュアチップであるとかなど）に対応するコマンド体系を表す情報であるコマンド種別と、セキュアチップ１１の暗号処理種別を、セキュアチップ情報等から認識し、その後は、クライアント側装置１に対して送信されるコマンド等に対して、セキュアチップ１１の暗号処理種別に対応した暗号化等を行う状態となる。
【０１１１】
そして、セキュアチップマネージャモジュール１０２は、ステップＳ６２において、セキュアチップコマンドモジュール１０１に対し、初期化の指令を、セキュアチップ１１のコマンド種別とともに送信し、セキュアチップコマンドモジュール１０１は、ステップＳ５１において、その指令とコマンド種別を受信して、自身の状態を、セキュアチップ１１に対応した処理を行うことができるように初期化する。即ち、これにより、セキュアチップコマンドモジュール１０１は、サーバアプリケーション２１からのコマンドの作成の依頼に対して、セキュアチップ１１用のコマンド（セキュアチップ１１のコマンド種別が表すコマンド体系のコマンド）を作成する状態となる。
【０１１２】
その後、サーバアプリケーション２１は、例えば、セキュアチップ処理モジュール２３との間で、いわゆるなりすましを防止するための相互認証を行い、その相互認証が成功すると、セキュアチップ１１とセキュアチップ処理モジュール２３との間でも、なりすましを防止するための認証が行われる。
【０１１３】
ここで、セキュアチップ１１とセキュアチップ処理モジュール２３との間の認証は、セキュアチップ１１の暗号処理種別に基づいて行われる。即ち、セキュアチップ１１の暗号処理種別が、例えば、チャレンジアンドレスポンス方式の相互認証を表している場合には、セキュアチップ１１とセキュアチップ処理モジュール２３との間では、チャレンジアンドレスポンス方式による相互認証が行われる。なお、チャレンジアンドレスポンス方式では、セキュアチップ処理モジュール２３は（セキュアチップ１１でも同様）、乱数を発生し、その乱数を暗号化して、セキュアチップ１１との間でやりとりすることにより、相互認証を行う。この相互認証が成功すると、例えば、その相互認証時に、セキュアチップ処理モジュール２３が発生した乱数が、セキュアチップ１１とセキュアチップ処理モジュール２３との間のセッションを識別するためのセッションキーとされる。
【０１１４】
この後、サーバ側装置２では、セキュリティチップ１１に送信するコマンド（コマンドに付随するパラメータその他のデータを含む）は、セッションキーを鍵として暗号化されて、クライアント側装置１に送信される。また、クライアント側装置１でも、セキュリティチップ１１からサーバ側装置２に送信されるデータ等は、セキュリティチップ１１において、セッションキーを鍵として暗号化されて、サーバ側装置２に送信される。
【０１１５】
このように、クライアント側装置１とサーバ側装置２それぞれにおいて、データ等がセッションキーを鍵として暗号化されて送受信されることにより、そのクライアント側装置１とサーバ側装置２との間の通信路の暗号化、即ち、いわばVPN(Virtual Private Network)が実現される。なお、セッションキーを鍵として用いた暗号化は、セキュアチップ１１の暗号処理種別が表すアルゴリズムにしたがって行われる。
【０１１６】
サーバアプリケーション２１は、ステップＳ４３において、セキュアチップ１１に送信するコマンドの作成の要求を、セキュアチップコマンドモジュール１０１に送信し、セキュアチップコマンドモジュール１０１は、ステップＳ５２において、サーバアプリケーション２１からのコマンドの作成の要求を受信する。
【０１１７】
そして、セキュアチップコマンドモジュール１０１は、ステップＳ５３において、サーバアプリケーション２１からのコマンドの作成の要求に応じて、セキュアチップ１１用のコマンドを作成し、そのコマンドを暗号化して暗号情報とすることの要求を、セキュアチップマネージャモジュール１０２に供給する。セキュアチップマネージャモジュール１０２は、ステップＳ６３において、セキュアチップコマンドモジュール１０１からの、コマンドを暗号化して暗号情報とすることの要求を受信して、ステップＳ６４に進み、その要求を、セキュアチップ処理モジュール２３に送信する。
【０１１８】
即ち、いまの場合、通信路の暗号化に用いられるセッションキーは、セキュアチップ処理モジュール２３内にあるので、セキュアチップマネージャモジュール１０２は、そのセッションキーによるコマンドの暗号化を、セキュアチップ処理モジュール２３に要求する。
【０１１９】
セキュアチップ処理モジュール２３は、ステップＳ８２において、セキュアチップマネージャモジュール１０２からの要求を受信し、その要求に応じて、コマンドを暗号化する。そして、セキュアチップ処理モジュール２３は、ステップＳ８３において、そのコマンドの暗号化により得られた暗号情報を、セキュアチップマネージャモジュール１０２に送信し、セキュアチップマネージャモジュール１０２は、ステップＳ６５において、セキュアチップ処理モジュール２３からの暗号情報を受信する。
【０１２０】
そして、セキュアチップマネージャモジュール１０２は、ステップＳ６６において、セキュアチップ処理モジュール２３から受信した暗号情報を、セキュアチップコマンドモジュール１０１に送信する。
【０１２１】
セキュアチップコマンドモジュール１０１は、ステップＳ５４において、セキュアチップマネージャモジュール１０２からの暗号情報を受信して、ステップＳ５５に進み、その暗号情報（暗号化されたコマンド）を、サーバアプリケーション２１に送信する。
【０１２２】
サーバアプリケーション２１は、ステップＳ４４において、セキュアチップコマンドモジュール１０１からの暗号情報を受信して、ステップＳ４５に進み、その暗号情報（暗号化されたコマンド）を、例えば、クライアント側装置１に対するメッセージであるデバイス用データとともに、クライアントアプリケーション１２に送信する。
【０１２３】
クライアントアプリケーション１２は、ステップＳ２４において、サーバアプリケーション２１からの暗号情報およびデバイス用データを受信して、ステップＳ２５に進み、暗号情報を、セキュアチップ１１に送信する。
【０１２４】
セキュアチップ１１は、ステップＳ１３において、クライアントアプリケーション１２からの暗号情報を受信し、その暗号情報を、セッションキーを用いてコマンドに復号する。さらに、セキュアチップ１１は、そのコマンドに応じた処理を実行し、ステップＳ１４において、そのコマンドに対応するレスポンスとしてのレスポンスデータを、クライアントアプリケーション１２に送信する。なお、レスポンスデータは、セキュアチップ１１において、必要に応じて、セッションキーを用いて暗号化されている。
【０１２５】
クライアントアプリケーション１２は、ステップＳ２６において、セキュアチップ１１からのレスポンスデータを受信して、ステップＳ２７に進み、そのレスポンスデータを、サーバアプリケーション２１に送信する。
【０１２６】
サーバアプリケーション２１は、クライアントアプリケーション１２からのレスポンスデータを受信し、そのレスポンスデータに応じた処理を行い、あるいは、そのレスポンスデータを、セキュアチップコマンドモジュール１０１、セキュアチップマネージャモジュール１０２に送信する。
【０１２７】
なお、ユーザがクライアント側装置１を操作し、何らかのデータ（ユーザ入力データ）を入力した場合には、クライアントアプリケーション１２は、そのデータを、サーバアプリケーション２１に送信する。
【０１２８】
一方、セキュアチップマネージャモジュール１０２は、ステップＳ６７において、セキュアチップ処理モジュールに対して、セッションキーの要求を送信する。
【０１２９】
セキュアチップ処理モジュール２３は、ステップＳ８４において、セキュアチップマネージャモジュール１０２からのセッションキーの要求を受信して、ステップＳ８５に進み、その要求に応じて、セキュアチップ１１との相互認証で得たセッションキーを、セキュアチップマネージャモジュール１０２に送信する。
【０１３０】
セキュアチップマネージャモジュール１０２は、ステップＳ６８において、セキュアチップ処理モジュール２３からのセッションキーを受信して保持する。
【０１３１】
ここで、その後は、セッションキーを用いた暗号化は、セキュアチップマネージャモジュール１０２で行われ、より高い秘匿性が要求される暗号化は、セキュアチップ処理モジュール２３内で行われる。
【０１３２】
従って、このように、セッションキーを用いた暗号化を、セキュアチップマネージャモジュール１０２で行い、より高い秘匿性が要求される暗号化（暗号化を利用して行われる相互認証や、パッケージの作成などを含む）だけを、セキュアチップ処理モジュール２３で行うようにすることにより、セキュアチップ処理モジュール２３において、すべての暗号化（暗号関連処理）を行う場合に比較して、セキュアチップ処理モジュール２３の負荷を軽減することができ、その結果、セキュアチップ処理モジュール２３における処理時間を短くすることができる。
【０１３３】
なお、耐タンパ性のあるセキュアチップ処理モジュール２３を複数設け、その複数のセキュアチップ処理モジュール２３に、異なるセキュアチップに対する暗号関連処理を分散して行わせることにより、１つあたりのセキュアチップ処理モジュール２３の負荷を軽減することができる。
【０１３４】
その後、サーバアプリケーション２１は、ステップＳ４６において、セキュアチップ１１に送信するコマンドの作成の要求を、セキュアチップコマンドモジュール１０１に送信し、セキュアチップコマンドモジュール１０１は、ステップＳ５６において、サーバアプリケーション２１からのコマンドの作成の要求を受信する。
【０１３５】
そして、セキュアチップコマンドモジュール１０１は、ステップＳ５７において、サーバアプリケーション２１からのコマンドの作成の要求に応じて、セキュアチップ１１用のコマンドを作成し、そのコマンドを暗号化して暗号情報とすることの要求を、セキュアチップマネージャモジュール１０２に供給する。セキュアチップマネージャモジュール１０２は、ステップＳ６９において、セキュアチップコマンドモジュール１０１からの、コマンドを暗号化して暗号情報とすることの要求を受信する。
【０１３６】
セキュアチップコマンドモジュール１０１からの要求が、特別なコマンド以外のコマンドの暗号化の要求である場合には、セキュアチップマネージャモジュール１０２は、保持しているセッションキーで、コマンドを暗号化し、ステップＳ７２において、その結果得られる暗号情報を、セキュアチップコマンドモジュール１０１に送信する。
【０１３７】
一方、セキュアチップコマンドモジュール１０１からの要求が、特別なコマンドの暗号化の要求である場合、セキュアチップマネージャモジュール１０２は、ステップＳ７０において、その特別なコマンドを実行する権利である実行権を表す権利書（権利証）（のデータ）の要求を、セキュアチップ処理モジュール２３に送信する。
【０１３８】
ここで、特別なコマンドとしては、例えば、セキュアチップ１１に対するエリア定義領域やサービス定義領域（図８）の登録や削除を要求するコマンドなどがある。
【０１３９】
セキュアチップ処理モジュール２３は、ステップＳ８６において、セキュアチップマネージャモジュール１０２からの要求を受信し、その要求に応じて、その特別なコマンドを実行する実行権を表す権利書（権利証）（のデータ）を生成して暗号化する。さらに、セキュアチップ処理モジュール２３は、その権利書が正当なものであることを証明する証明書（のデータ）を、権利書の暗号化結果に付加し、ステップＳ８７において、その証明書と権利書（の暗号化結果）とを、パッケージとして、セキュアチップマネージャモジュール１０２に送信する。
【０１４０】
なお、セキュアチップ処理モジュール２３は、過去に得たパッケージを記憶しており、セキュアチップマネージャモジュール１０２からの要求が、過去に生成された権利書を要求するものであり、その権利書を含むパッケージが記憶されている場合には、単に、そのパッケージを、セキュアチップマネージャモジュール１０２に送信する。
【０１４１】
セキュアチップマネージャモジュール１０２は、ステップＳ７１において、セキュアチップ処理モジュール２３からのパッケージを受信して、ステップＳ７２に進み、特別なコマンドをセクションキーで暗号化し、その暗号化結果とパッケージとをセットにした暗号情報を、セキュアチップコマンドモジュール１０１に送信する。
【０１４２】
セキュアチップコマンドモジュール１０１は、ステップＳ５８において、セキュアチップマネージャモジュール１０２からの暗号情報を受信して、ステップＳ５９に進み、その暗号情報を、サーバアプリケーション２１に送信する。
【０１４３】
サーバアプリケーション２１は、ステップＳ４７において、セキュアチップコマンドモジュール１０１からの暗号情報を受信して、ステップＳ４８に進み、その暗号情報を、例えば、クライアント側装置１に対するメッセージであるデバイス用データとともに、クライアントアプリケーション１２に送信する。
【０１４４】
クライアントアプリケーション１２は、ステップＳ２８において、サーバアプリケーション２１からの暗号情報およびデバイス用データを受信して、ステップＳ２９に進み、暗号情報を、セキュアチップ１１に送信する。
【０１４５】
セキュアチップ１１は、ステップＳ１５において、クライアントアプリケーション１２からの暗号情報を受信し、その暗号情報を、セクションキーを用いて、コマンドに復号する。さらに、セキュアチップ１１は、必要に応じて、コマンドの実行権を確認した上で、そのコマンドに応じた処理を実行し、ステップＳ１６において、そのコマンドに対応するレスポンスとしてのレスポンスデータを、クライアントアプリケーション１２に送信する。
【０１４６】
クライアントアプリケーション１２は、ステップＳ３０において、セキュアチップ１１からのレスポンスデータを受信して、ステップＳ３１に進み、そのレスポンスデータを、サーバアプリケーション２１に送信する。
【０１４７】
サーバアプリケーション２１は、ステップＳ４９において、クライアントアプリケーション１２からのレスポンスデータを受信し、そのレスポンスデータに応じた処理を行う。
【０１４８】
その後、サーバアプリケーション２１は、クライアント側装置１との通信を終了する場合には、ステップＳ５０において、その旨のメッセージとしての終了通知を、クライアントアプリケーション１２を送信する。クライアントアプリケーション１２は、ステップＳ３２において、サーバアプリケーション２１からの終了通知を受信する。
【０１４９】
上述したように、セキュアサーバ２２（セキュアチップコマンドモジュール１０１およびセキュアチップマネージャモジュール１０２）と、セキュアチップ処理モジュール２３とは、例えば、暗号処理種別その他の仕様が異なる複数のセキュアチップ１１に対応することができるように構成することができる。そして、セキュアサーバ２２とセキュアチップ処理モジュール２３において、クライアント側装置１から送信されてくるセキュアチップ１１のセキュアチップ情報に応じて、セキュアチップ１１に対応した処理を行うことにより、暗号処理種別その他の仕様が異なるセキュアチップ１１ごとに、サーバアプリケーション２１を変更する必要がなくなる。即ち、各種の仕様のセキュリティチップ１１に対して、同一のサーバアプリケーション２１を使用することができる。
【０１５０】
次に、図１１は、セキュアチップ処理モジュール２３の構成例を示すブロック図である。
【０１５１】
セキュアチップ処理モジュール２３は、例えば、セキュアチップ処理部１１１、認証部１１２、アクセスコントロールリスト記憶部１１３、暗号処理部１１４、および鍵管理部１１５から構成される。
【０１５２】
セキュアチップ処理部１１１は、セキュアチップ処理モジュール２３の全体を制御し、外部の装置との間のデータの入出力や、外部の装置からの要求に対する応答などを管理する。
【０１５３】
例えば、セキュアチップ処理部１１１は、上述したサーバアプリケーション２１や、セキュアサーバ２２、その他の外部の装置から要求された暗号関連処理が許可されているか否かの確認を認証部１１２に行わせ、許可されている場合のみ、その要求された暗号関連処理を暗号処理部１１４に行わせる。また、セキュアチップ処理部１１１は、暗号関連処理の結果が暗号処理部１１４から供給されてきたとき、それを、外部の装置に送信する。
【０１５４】
認証部１１２は、セキュアチップ処理部１１１からの要求に応じて、セキュアチップ処理部１１１に対して外部の装置から要求されたアクセス（暗号関連処理）が許可されているか否かの確認を、後述するアクセスコントロールリスト記憶部１１３に記憶されているアクセスコントロールリストを参照して行う。認証部１１２による確認の結果はセキュアチップ処理部１１１に対して出力される。また、認証部１１２は、外部の装置からアクセスがあった場合に、その外部の装置との間で認証を行う。認証部１１２は、その他、例えば、上述したセッションキーとなる乱数の発生なども行う。
【０１５５】
なお、認証部１１２は、セキュアチップ処理部１１１と併せた形で１つの機能として実装することも可能であり、この場合、セキュアチップ処理部１１１と認証部１１２とを併せた１つの機能部は、上述したようなセキュアチップ処理部１１１の処理と、認証部１１２の処理を行う。
【０１５６】
アクセスコントロールリスト記憶部１１３は、アクセスコントロールリストを記憶している。
【０１５７】
ここで、アクセスコントロールリストは、セキュアチップ処理モジュール２３に対してアクセスを要求してくる外部の装置としてのアプリケーション、またはその外部の装置を操作するオペレータ（操作者）を識別するID(Identification)に対応付けて、そのアプリケーションまたはオペレータに許可されているアクセス（暗号関連処理）の内容が記述されているリストで、その記述内容の詳細については、後述する。
【０１５８】
暗号処理部１１４は、暗号関連処理（例えば、鍵の登録／削除や、データの暗号化／復号など）がセキュアチップ処理部１１１から依頼されたとき、その暗号関連処理を行う。また、暗号処理部１１４は、適宜、暗号関連処理の結果をセキュアチップ処理部１１１に返却する。
【０１５９】
ここで、暗号処理部１１４は、セキュアチップ処理部１１１から依頼された暗号関連処理に、鍵が必要な場合は、その鍵を、鍵管理部１１５から取得し、その鍵を用いて、暗号関連処理を行う。なお、鍵管理部１１５から取得された鍵が暗号化されている場合、暗号処理部１１４は、それを復号し、復号して得られた鍵を用いてセキュアチップ処理部１１１から依頼された暗号関連処理を行う。
【０１６０】
鍵管理部１１５は、鍵の管理等を行う。即ち、鍵管理部１１５は、例えば、鍵を暗号化して、暗号化された状態の鍵をキーDB１１６に保存する。また、鍵管理部１１５は、例えば、暗号処理部１１４からの要求に応じて、キーDB１１６に保存されている鍵を暗号化された状態のまま提供する。
【０１６１】
キーDB１１６は、例えば、鍵管理部１１５から供給される、暗号化された状態の鍵等を記憶する。
【０１６２】
ここで、図１１においては、キーDB１１６はセキュアチップ処理モジュール２３の外部に外部記憶装置として設けられているが、セキュアチップ処理モジュール２３の内部に設けることも可能である。
【０１６３】
なお、キーDB１１６が外部記憶装置として設けられる場合、キーDB１１６からの必要な鍵の取得は、鍵管理部１１５によって行うのではなく、キーDB１１６にアクセス可能な所定のアプリケーション（ソフトウェア）によって行い、その所定のアプリケーションによって取得した鍵を、セキュアチップ処理モジュール２３に供給するようにすることができる。
【０１６４】
また、キーDB１１６を、セキュアチップ処理モジュール２３の内部に設ける場合には、キーDB１１６には、鍵を暗号化せずに保持させることができ、この場合、鍵管理部１１５は、キーDB１１６に保持された、暗号化されていない鍵（いわゆる平文）をそのまま暗号処理部１１４に出力する。
【０１６５】
次に、例えば、サーバ側装置２を用いてサービスを提供しようとするサービス提供者は、そのサービスの提供のために、クライアント側装置１とサーバ側装置２との間でやりとりされるデータ（コマンドを含む）の暗号化に用いる鍵や、セキュアチップ１１のエリア定義領域（サービス定義領域）にアクセスするためのサービスキー（エリアキー）としての鍵などを、セキュアチップ処理モジュール２３を介して、キーDB１１６に登録する必要がある。
【０１６６】
キーDB１１６への鍵の登録は、例えば、図１２に示すように、サービス提供者のオペレータが、鍵を管理するためのアプリケーションである鍵管理アプリケーション１２１を操作することにより行う。
【０１６７】
ここで、鍵管理アプリケーション１２１は、ソフトウェアであり、例えば、図６に示したコンピュータ３３と同様に構成されるコンピュータにインストールされて実行される。また、鍵管理アプリケーション１２１から、セキュアチップ処理モジュール２３へのアクセスは、必要に応じて、API(Application Programming Interface)を介して行われる。
【０１６８】
なお、サービス提供者のオペレータには、例えば、サービス提供者の指示にしたがって、鍵の登録等のための操作を行う、いわば補助者としてのオペレータと、その補助者や鍵を管理する鍵管理者としてのオペレータとが存在する。鍵管理者としてのオペレータも、図１３に示すように、鍵管理アプリケーション１２１を介して、セキュアチップ処理モジュール２３にアクセスすることができる。
【０１６９】
次に、図１４は、図１１のアクセスコントロールリスト記憶部１１３に記憶されているアクセスコントロールリストの記述内容を示す図である。
【０１７０】
アクセスコントロールリストには、大きく分けて、「アクセスコントロール情報」、「フォーマット情報」、「鍵アクセス情報」、「アプリ用認証情報」、および「オペレーション用アクセス用認証情報」が記述される。
【０１７１】
「アクセスコントロール情報」は、アクセスコントロールリストに関する基本的な情報であり、有効期間（期限）やアクセスの回数に制限がある場合のその回数（１回／無制限など）が含まれる。
【０１７２】
「フォーマット情報」では、フォーマット名（フォーマットのID）とその他のフォーマット情報とが対応付けられている。ここで、フォーマット名とは、例えば、セキュアチップの仕様を表す情報であり、その他のフォーマット情報には、それに対応付けられているフォーマット名で特定される仕様のセキュアチップに形成されているエリア定義領域のエリアコードやサービス定義領域のサービスコード、そのエリア定義領域やサービス定義領域にアクセスするための鍵を特定する鍵ID、その鍵のバージョンである鍵バージョンなどが含まれる。
【０１７３】
「鍵アクセス情報」は、アプリケーション（サーバアプリケーション２１や鍵管理アプリケーション１２１などの外部のソフトウエア）やオペレータに共通のアクセス権を表す情報である。
【０１７４】
「アプリ用認証情報」では、アプリケーションを特定するアプリIDに、そのアプリIDによって特定されるアプリケーションの認証に関する「アプリ認証情報」としての、例えば、その認証に用いられる鍵の情報、認証に利用する暗号化（復号）のアルゴリズムを表す情報、公開鍵を用いて認証を行う場合のその公開鍵の証明書などが対応付けられている。さらに、「アプリ用認証情報」において、アプリIDに対応付けられている情報としては、その他、そのアプリIDで特定されるアプリケーションに許可される暗号関連処理の情報（認証、鍵の変更、（コマンドを実行するための）実行権の作成、通信路の暗号化（コマンドの暗号化）など）などがある。
【０１７５】
ここで、アプリIDによって特定されるアプリケーションには、クライアントアプリケーション１２や、サーバアプリケーション２１、鍵管理アプリケーション１２１などがある。なお、クライアントアプリケーション１２とサーバアプリケーション２１とは、それらがセットになって、あるサービスを提供するので、あるアプリIDによれば、クライアントアプリケーション１２とサーバアプリケーション２１の両方が特定される。
【０１７６】
「オペレーション用アクセス用認証情報」では、オペレータを特定するオペレータIDに、そのオペレータIDによって特定されるオペレータの認証に関する「オペレータ認証情報」としての、例えば、その認証に用いられる鍵の情報、認証に利用する暗号化（復号）のアルゴリズムを表す情報、公開鍵を用いて認証を行う場合のその公開鍵の証明書などが対応付けられている。さらに、「オペレーション用アクセス用認証情報」において、オペレータIDに対応付けられている情報としては、その他、そのオペレータIDで特定されるオペレータに許可される行為、即ち、オペレータが要求することができる暗号関連処理の情報（鍵の登録（追加）や、参照、変更、削除など）などがある。
【０１７７】
以上のように、アクセスコントロールリストでは、アプリケーションを特定するアプリIDと、そのアプリケーションに許可する暗号関連処理を表す情報とが対応付けられている。さらに、アクセスコントロールリストでは、オペレータを特定するオペレータID（特定情報）と、そのオペレータに許可する暗号関連処理を表す情報とが対応付けられている。
【０１７８】
次に、図１５を参照して、オペレータが鍵管理アプリケーション１２１を操作して、セキュアチップ処理モジュール２３に、鍵／アクセス権（鍵に対するアクセス権を表す情報）を登録する場合の、鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作について説明する。
【０１７９】
サービス提供者のオペレータが、例えば、あるサービスの提供のために行われる暗号関連処理で使用される鍵／アクセス権を、キーDB１１６に登録する場合には、オペレータは、鍵管理アプリケーション１２１（がインストールされたコンピュータ）を操作することにより、セキュアチップ処理モジュール２３にアクセスし、例えば、オペレータにあらかじめ割り当てられているオペレータIDを入力する。
【０１８０】
鍵管理アプリケーション１２１は、オペレータが入力したオペレータIDを、セキュアチップ処理モジュール２３に送信する。セキュアチップ処理モジュール２３では、認証部１１２において、鍵管理アプリケーション１２１からのオペレータIDが受信される。そして、認証部１１２は、ステップＳ１０１において、アクセスコントロールリスト（図１４）を参照し、鍵管理アプリケーション１２１からのオペレータIDに対応付けられている「オペレータ認証情報」にしたがい、鍵管理アプリケーション１２１を操作しているオペレータ（鍵管理アプリケーション１２から送信されてきたオペレータIDによって特定されるオペレータ）の認証を行う。
【０１８１】
認証部１１２がオペレータの認証に成功すると、セキュアチップ処理モジュール２３は、その後、その認証に成功したオペレータからのアクセスに対し、あらかじめ許可されている範囲内の処理を行う状態となる。
【０１８２】
即ち、セキュアチップ処理モジュール２３では、アクセスコントロールリスト（図１４）において、認証に成功したオペレータのオペレータIDに対応付けられている情報にしたがい、そのオペレータ（が操作する鍵管理アプリケーション１２１）からのアクセスに対して実行が許可されている暗号関連処理のみを行い、また、使用が許可されている鍵のみに対するアクセスを許可する状態となる。
【０１８３】
なお、認証部１１２がオペレータの認証に失敗した場合には、セキュアチップ処理モジュール２３は、その後、処理を行わない。
【０１８４】
その後、オペレータが、鍵／アクセス権の登録を要求するように、鍵管理アプリケーション１２１を操作すると、鍵管理アプリケーション１２１は、ステップＳ１０２において、鍵／アクセス権の登録の要求を、その登録の対象である鍵／アクセス権とともに、セキュアチップ処理モジュール２３に送信する。
【０１８５】
ここで、登録の対象である鍵／アクセス権は、例えば、オペレータが鍵管理アプリケーション１２１を操作することにより入力し、セキュアチップ処理モジュール２３に送信することができる。また、鍵／アクセス権は、例えば、鍵管理アプリケーション１２１がインストールされたコンピュータに、ファイルとして記憶させておき、セキュアチップ処理モジュール２３に送信することができる。
【０１８６】
セキュアチップ処理モジュール２３では、ステップＳ１１１において、セキュアチップ処理部１１１が、鍵管理アプリケーション１２１からの鍵／アクセス権とその登録の要求とを受信して、ステップＳ１１２に進み、認証済のオペレータ（鍵管理アプリケーション１２１を操作しているオペレータ）に対して、登録の要求があった鍵／アクセス権の登録が許可されているかどうかの問い合わせを、認証部１１２に送信する。
【０１８７】
認証部１１２は、ステップＳ１３１において、セキュアチップ処理部１１１からの問い合わせを受信して、ステップＳ１３２に進み、その問い合わせに対して、認証済のオペレータに鍵／アクセス権の登録が許可されているかどうかを、アクセスコントロールリストを参照することにより確認する。
【０１８８】
そして、認証部１１２は、鍵／アクセス権の登録が許可されていることが確認された場合、ステップＳ１３３において、鍵／アクセス権の登録が許可されている旨を、セキュアチップ処理部１１１に送信する。
【０１８９】
なお、認証部１１２において、鍵／アクセス権の登録が許可されていることが確認されなかった場合には、その旨が、セキュアチップ処理部１１１に送信され、セキュアチップ処理モジュール２３は、その後、処理を行わない。
【０１９０】
セキュアチップ処理部１１１は、ステップＳ１１３において、認証部１１２からの、鍵／アクセス権の登録が許可されている旨を受信して、ステップＳ１１４に進み、暗号処理部１１４に対して、鍵管理アプリケーション１２１からの鍵／アクセス権を送信することにより、その登録を要求する。
【０１９１】
暗号処理部１１４は、ステップＳ１４１において、セキュアチップ処理部１１１からの鍵／アクセス権を受信して、ステップＳ１４２に進み、その鍵／アクセス権を復号し、鍵管理部１１５に供給する。
【０１９２】
ここで、鍵管理アプリケーション１２１からセキュアチップ処理モジュール２３に送信されてくる鍵／アクセス権は、その登録用の鍵である鍵登録用鍵で暗号化されている。鍵／アクセス権が、例えば、公開鍵方式で暗号化されている場合、鍵登録用鍵は、公開鍵であり、暗号処理部１１４は、その公開鍵と対になる秘密鍵を用いて、暗号化されている鍵／アクセス権を復号する。また、鍵／アクセス権が、例えば、対称鍵（共通鍵）方式で暗号化されている場合、鍵登録用鍵は、共通鍵であり、暗号処理部１１４は、その共通鍵（と同一の鍵である共通鍵）を用いて、暗号化されている鍵／アクセス権を復号する。
【０１９３】
なお、暗号化されている鍵／アクセス権の復号に用いられる鍵（秘密鍵または共通鍵）は、キーDB１１６に保存されており、暗号処理部１１４は、鍵／アクセス権の復号に際し、その復号に用いる鍵を、鍵管理部１１５に要求して取得する。
【０１９４】
鍵管理部１１５は、ステップＳ１５１において、暗号処理部１１４からの鍵／アクセス権を暗号化し、キーDB１１６に供給して記憶（保存）させる。
【０１９５】
その後、暗号処理部１１４は、ステップＳ１４３において、鍵／アクセス権の登録が終了した旨のメッセージを、セキュアチップ処理部１１１に送信する。セキュアチップ処理部１１１は、ステップＳ１１５において、暗号処理部１１４からの、鍵／アクセス権の登録が終了した旨のメッセージを受信して、ステップＳ１１６に進み、そのメッセージを、鍵管理アプリケーション１２１に送信する。鍵管理アプリケーション１２１は、ステップＳ１０３において、セキュアチップ処理部１１１からのメッセージを受信する。
【０１９６】
次に、図１６を参照して、オペレータが鍵管理アプリケーション１２１を操作して、セキュアチップ処理モジュール２３から、鍵／アクセス権を削除する場合の、鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作について説明する。
【０１９７】
サービス提供者のオペレータが、例えば、ある暗号関連処理で使用されている鍵／アクセス権を、キーDB１１６から削除する場合には、オペレータは、図１５で説明した鍵／アクセス権の登録を行う場合と同様に、鍵管理アプリケーション１２１を操作することにより、セキュアチップ処理モジュール２３にアクセスし、例えば、オペレータにあらかじめ割り当てられているオペレータIDを入力する。
【０１９８】
鍵管理アプリケーション１２１は、オペレータが入力したオペレータIDを、セキュアチップ処理モジュール２３に送信する。セキュアチップ処理モジュール２３では、認証部１１２において、鍵管理アプリケーション１２１からのオペレータIDが受信される。そして、認証部１１２は、ステップＳ１７１において、アクセスコントロールリスト（図１４）を参照し、鍵管理アプリケーション１２１からのオペレータIDに対応付けられている「オペレータ認証情報」にしたがい、鍵管理アプリケーション１２１を操作しているオペレータの認証を行う。
【０１９９】
認証部１１２がオペレータの認証に成功すると、セキュアチップ処理モジュール２３は、その後、その認証に成功したオペレータからのアクセスに対し、あらかじめ許可されている範囲内の処理を行う状態となる。
【０２００】
即ち、セキュアチップ処理モジュール２３では、アクセスコントロールリスト（図１４）において、認証に成功したオペレータのオペレータIDに対応付けられている情報にしたがい、そのオペレータ（が操作する鍵管理アプリケーション１２１）からのアクセスに対して実行が許可されている暗号関連処理のみを行い、また、使用が許可されている鍵のみに対するアクセスを許可する状態となる。
【０２０１】
なお、認証部１１２がオペレータの認証に失敗した場合には、セキュアチップ処理モジュール２３は、その後、処理を行わない。
【０２０２】
その後、オペレータが、鍵／アクセス権の削除を要求するように、鍵管理アプリケーション１２１を操作すると、鍵管理アプリケーション１２１は、ステップＳ１７２において、鍵／アクセス権の削除の要求を、その削除の対象の鍵の鍵情報（例えば、鍵IDや鍵バージョンなど）とともに、セキュアチップ処理モジュール２３に送信する。
【０２０３】
ここで、削除の対象の鍵の鍵情報は、例えば、オペレータが鍵管理アプリケーション１２１を操作することにより入力する。
【０２０４】
セキュアチップ処理モジュール２３では、ステップＳ１８１において、セキュアチップ処理部１１１が、鍵管理アプリケーション１２１からの鍵／アクセス権の削除の要求と鍵情報とを受信して、ステップＳ１８２に進み、認証済のオペレータに対して、削除の要求があった鍵／アクセス権の削除が許可されているかどうかの問い合わせを、認証部１１２に送信する。
【０２０５】
認証部１１２は、ステップＳ２０１において、セキュアチップ処理部１１１からの問い合わせを受信して、ステップＳ２０２に進み、その問い合わせに対して、認証済のオペレータに鍵／アクセス権の削除が許可されているかどうかを、アクセスコントロールリストを参照することにより確認する。
【０２０６】
そして、認証部１１２は、鍵／アクセス権の削除が許可されていることが確認された場合、ステップＳ２０３において、鍵／アクセス権の削除が許可されている旨を、セキュアチップ処理部１１１に送信する。
【０２０７】
なお、認証部１１２において、鍵／アクセス権の登録が許可されていることが確認されなかった場合には、その旨が、セキュアチップ処理部１１１に送信され、セキュアチップ処理モジュール２３は、その後、処理を行わない。
【０２０８】
セキュアチップ処理部１１１は、ステップＳ１８３において、認証部１１２からの、鍵／アクセス権の削除が許可されている旨を受信して、ステップＳ１８４に進み、暗号処理部１１４に対して、鍵管理アプリケーション１２１からの鍵情報を送信することにより、その鍵情報によって特定される鍵／アクセス権の削除を要求する。
【０２０９】
暗号処理部１１４は、ステップＳ２１１において、セキュアチップ処理部１１１からの鍵情報を受信して、ステップＳ２１２に進み、その鍵情報によって特定される鍵／アクセス権の削除を、鍵管理部１１５に要求する。
【０２１０】
ここで、暗号処理部１１４は、セキュアチップ処理部１１１からの鍵情報によって特定される鍵／アクセス権の削除の他、必要に応じて、その鍵／アクセス権に関連する鍵／アクセス権の削除も、鍵管理部１１５に要求する。即ち、セキュアチップ処理部１１１からの鍵情報によって特定される鍵が、例えば、ある階層のエリア定義領域にアクセスするためのエリアキーである場合には、暗号処理部１１４は、そのエリアキーの他、そのエリア定義領域の階層よりも下の階層のエリア定義領域やサービス定義領域のエリアキーやサービスキーの削除も、必要に応じて要求する。
【０２１１】
なお、鍵管理部１１５への鍵／アクセス権の削除の要求は、暗号処理部１１４からではなく、セキュアチップ処理部１１１から直接行うことが可能である。
【０２１２】
鍵管理部１１５は、ステップＳ２２１において、キーDB１１６から、暗号処理部１１４から要求のあった鍵／アクセス権を削除する。
【０２１３】
その後、暗号処理部１１４は、ステップＳ２１３において、鍵／アクセス権の削除が終了した旨のメッセージを、セキュアチップ処理部１１１に送信する。セキュアチップ処理部１１１は、ステップＳ１８５において、暗号処理部１１４からの、鍵／アクセス権の削除が終了した旨のメッセージを受信して、ステップＳ１８６に進み、そのメッセージを、鍵管理アプリケーション１２１に送信する。鍵管理アプリケーション１２１は、ステップＳ１７３において、セキュアチップ処理部１１１からのメッセージを受信する。
【０２１４】
次に、図１７を参照して、オペレータが鍵管理アプリケーション１２１を操作して、セキュアチップ処理モジュール２３に、特定のコマンドを実行するための実行権を表す権利書を含むパッケージの生成と、そのパッケージを含ませる権利書の暗号化に用いる鍵についての鍵／アクセス権の登録を要求する場合の、鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作について説明する。
【０２１５】
なお、図１７では、セキュアチップ処理モジュール２３の認証部１１２において、図１５や図１６で説明した、鍵管理アプリケーション１２１を操作するオペレータの認証が、既に行われ、そのオペレータの認証が成功しているものとする。
【０２１６】
オペレータが、特定のコマンドを実行するための実行権を表す権利書を含むパッケージの生成と、そのパッケージを含ませる権利書の暗号化に用いる鍵についての鍵／アクセス権の登録を要求するように、鍵管理アプリケーション１２１を操作すると、鍵管理アプリケーション１２１は、ステップＳ２３１において、パッケージの生成と鍵／アクセス権の登録の要求を、その登録の対象である鍵／アクセス権とともに、セキュアチップ処理モジュール２３に送信する。
【０２１７】
ここで、登録の対象である鍵／アクセス権は、例えば、オペレータが鍵管理アプリケーション１２１を操作することにより入力し、セキュアチップ処理モジュール２３に送信することができる。また、鍵／アクセス権は、例えば、鍵管理アプリケーション１２１がインストールされたコンピュータに、ファイルとして記憶させておき、セキュアチップ処理モジュール２３に送信することができる。
【０２１８】
セキュアチップ処理モジュール２３では、ステップＳ２４１において、セキュアチップ処理部１１１が、鍵管理アプリケーション１２１からの鍵／アクセス権とその登録の要求、およびパッケージの生成の要求を受信して、ステップＳ２４２に進み、認証済のオペレータ（鍵管理アプリケーション１２１を操作しているオペレータ）に対して、登録の要求があった鍵／アクセス権の登録と、生成の要求があったパッケージの生成が許可されているかどうかの問い合わせを、認証部１１２に送信する。
【０２１９】
認証部１１２は、ステップＳ２６１において、セキュアチップ処理部１１１からの問い合わせを受信して、ステップＳ２６２に進み、その問い合わせに対して、認証済のオペレータに鍵／アクセス権の登録とパッケージの生成とが許可されているかどうかを、アクセスコントロールリストを参照することにより確認する。
【０２２０】
そして、認証部１１２は、鍵／アクセス権の登録とパッケージの生成とが許可されていることが確認された場合、ステップＳ２６３において、鍵／アクセス権の登録とパッケージの生成が許可されている旨を、セキュアチップ処理部１１１に送信する。
【０２２１】
なお、認証部１１２において、鍵／アクセス権の登録とパッケージの生成の両方が許可されていることが確認されなかった場合には、その旨が、セキュアチップ処理部１１１に送信され、セキュアチップ処理モジュール２３は、その後、処理を行わない。
【０２２２】
セキュアチップ処理部１１１は、ステップＳ２４３において、認証部１１２からの、鍵／アクセス権の登録とパッケージの生成が許可されている旨を受信して、ステップＳ２４４に進み、鍵管理部１１５に対して、鍵管理アプリケーション１２１からの鍵／アクセス権を送信することにより、その登録を要求する。
【０２２３】
鍵管理部１１５は、ステップＳ２８１において、セキュアチップ処理部１１１からの鍵／アクセス権を受信して暗号化し、キーDB１１６に供給して記憶させる。
【０２２４】
その後、鍵管理部１１５は、ステップＳ２８２において、鍵／アクセス権の登録が終了した旨のメッセージを、セキュアチップ処理部１１１に送信する。セキュアチップ処理部１１１は、ステップＳ２４５において、暗号処理部１１４からの、鍵／アクセス権の登録が終了した旨のメッセージを受信して、ステップＳ２４６に進み、暗号処理部１１４に対して、パッケージの生成の要求を送信する。
【０２２５】
暗号処理部１１４は、ステップＳ２７１において、セキュアチップ処理部１１１からのパッケージの生成の要求を受信して、ステップＳ２７２に進み、特別なコマンドを実行する実行権を表す権利書と、その権利書が正当なものであることを証明する証明書とを生成する。さらに、暗号処理部１１４は、ステップＳ２８１でキーDB１１６に登録（記憶）された鍵を、鍵管理部１１５に要求することにより取得し、その鍵を用いて、権利書を暗号化する。そして、暗号処理部１１４は、権利書の暗号化結果と証明書とのセットをパッケージとして、鍵管理部１１５に供給する。
【０２２６】
鍵管理部１１５は、ステップＳ２８３において、暗号処理部１１４からのパッケージを、キーDB１１６に保存する。
【０２２７】
その後、暗号処理部１１４は、ステップＳ２７３において、パッケージの生成が終了した旨のメッセージを、セキュアチップ処理部１１１に送信する。セキュアチップ処理部１１１は、ステップＳ２４７において、暗号処理部１１４からの、パッケージの生成が終了した旨のメッセージを受信して、ステップＳ２４８に進み、鍵／アクセス権の登録とパッセージの生成が終了した旨のメッセージを、鍵管理アプリケーション１２１に送信する。鍵管理アプリケーション１２１は、ステップＳ２３２において、セキュアチップ処理部１１１からのメッセージを受信する。
【０２２８】
次に、図１８を参照して、オペレータが鍵管理アプリケーション１２１を操作して、セキュアチップ処理モジュール２３に、図１５で説明した鍵登録用鍵の生成を要求する場合の、鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作について説明する。
【０２２９】
なお、図１８でも、セキュアチップ処理モジュール２３の認証部１１２において、図１５や図１６で説明した、鍵管理アプリケーション１２１を操作するオペレータの認証が、既に行われ、そのオペレータの認証が成功しているものとする。さらに、図１８では、セキュアチップ処理モジュール２３において、アクセスコントロールリストを参照することにより、認証済のオペレータに対して、鍵登録用鍵の生成が許可されていることが、既に確認されているものとする。
【０２３０】
オペレータが、鍵登録用鍵の生成を要求するように、鍵管理アプリケーション１２１を操作すると、鍵管理アプリケーション１２１は、ステップＳ３０１において、鍵登録用鍵の生成の要求を、セキュアチップ処理モジュール２３に送信する。
【０２３１】
セキュアチップ処理モジュール２３では、ステップＳ３１１において、セキュアチップ処理部１１１が、鍵管理アプリケーション１２１からの鍵登録用鍵の生成の要求を受信して、ステップＳ３１２に進み、その要求を暗号処理部１１４に供給する。
【０２３２】
暗号処理部１１４は、ステップＳ３２１において、セキュアチップ処理部１１１からの、鍵登録用鍵の生成の要求を受信して、ステップＳ３２２に進み、鍵登録用鍵として、上述した公開鍵方式の公開鍵と秘密鍵、または対称鍵方式の共通鍵を生成する。そして、暗号処理部１１４は、鍵登録用鍵（秘密鍵または共通鍵）を、鍵管理部１１５に供給する。
【０２３３】
鍵管理部１１５は、ステップＳ３４１において、暗号処理部１１４からの鍵登録用鍵を暗号化し、キーDB１１６に供給して記憶させる。
【０２３４】
その後、暗号処理部１１４は、ステップＳ３２３において、鍵登録用鍵（公開鍵または共通鍵）を、セキュアチップ処理部１１１に送信する。なお、暗号処理部１１４では、鍵登録用鍵を暗号化してから、セキュアチップ処理部１１１に送信することができる。
【０２３５】
セキュアチップ処理部１１１は、ステップＳ３１３において、暗号処理部１１４からの鍵登録用鍵を受信して、ステップＳ３１４に進み、その鍵登録用鍵を、鍵管理アプリケーション１２１に送信する。鍵管理アプリケーション１２１は、ステップＳ３０２において、セキュアチップ処理部１１１からの鍵登録用鍵を受信して保持する。
【０２３６】
ここで、サービス提供者のオペレータには、上述したように、サービス提供者の指示にしたがって、鍵の登録等のための操作を行う補助者としてのオペレータと、その補助者や鍵を管理する鍵管理者としてのオペレータとが存在することがある。
【０２３７】
例えば、補助者が、図１５で説明した鍵／アクセス権の登録のための操作を行う場合、補助者に対して、登録の対象の鍵を平文のまま渡してしまうと、補助者に、その鍵（の内容）を知られてしまうおそれがある。
【０２３８】
そこで、鍵管理者が、図１８で説明した鍵登録用鍵の登録のための操作を行い、その結果得られる鍵登録用鍵を用いて、セキュアチップ処理モジュール２３に登録しようとする鍵を暗号化し、その暗号化された鍵を、補助者に渡すことで、補助者に、登録しようとする鍵を知られてしまうことを防止することができる。
【０２３９】
以上のように、セキュアチップ処理モジュール２３では、鍵情報群（鍵ID、鍵バージョン）、その利用方法（鍵に対する操作（登録／変更／削除など）や暗号関連処理（認証／暗号化／権利書の作成など））、鍵情報を利用者する人（オペレータ）やソフトウェアなどの認証方法、および認証に必要となる鍵情報（鍵ID、鍵バージョン、証明書など）を記載可能なアクセスコントロールリストを用意し、そのアクセスコントロールリストにしたがい、鍵情報（鍵ID、鍵バージョン、鍵値）、その利用方法（鍵に対する操作（登録／変更／削除など）や暗号関連処理（認証／暗号化／権利書の作成など））、およびオペレータやソフトウェアなどの認証方法を一括管理することにより、オペレータの認証によって、そのオペレータに許可する操作を、容易に制御することが可能となる。
【０２４０】
さらに、アクセスコントロールリストによれば、例えば、あるサービス提供者が提供するサービスに関するオペレーションを担当するオペレータのオペレータIDに対して、そのサービスに関するオペレーションのみを許可する情報を対応付けておくことにより、オペレータによる鍵情報群（鍵ID、鍵バージョン）へのアクセスや、鍵の登録、削除などを、サービス単位などの柔軟なレベルで許可することが可能となる。
【０２４１】
なお、アプリケーションからのセキュアチップ処理モジュール２３へのアクセスと、オペレータが鍵運用に関するオペレーションを行うことによるセキュアチップ処理モジュール２３へのアクセスとについては、独立に管理することができる。しかしながら、これらのアクセスを独立に管理すると、統一的な管理を行うこと、ひいては、統一的なセキュリティを確保することが困難となる。さらに、アプリケーションからのセキュアチップ処理モジュール２３へのアクセスと、オペレータによるセキュアチップ処理モジュール２３へのアクセスとに関する保守も、別個独立に行う必要が生じる。
【０２４２】
そこで、セキュリティチップ処理モジュール２３では、アクセスコントロールリストにおいて、アプリケーションからのセキュアチップ処理モジュール２３へのアクセスと、オペレータによるセキュアチップ処理モジュール２３へのアクセスとを一元管理するようになっている。このようなアクセスコントロールリストによる一元管理により、鍵へのアクセスに関するセキュリティの向上や保守性を向上させることができる。
【図面の簡単な説明】
【０２４３】
【図１】本発明が適用されるサーバクライアントシステムの構成例を示す図である。
【図２】クライアント側装置１とサーバ側装置２の機能的な構成例を示すブロック図である。
【図３】クライアント側装置１とサーバ側装置２の具体的なハードウェアの構成例を示すブロック図である。
【図４】クライアント側装置１とサーバ側装置２の他の具体的なハードウェアの構成例を示すブロック図である。
【図５】クライアントアプリケーション１２がインストールされるPC３２のハードウェアの構成例を示すブロック図である。
【図６】サーバアプリケーション２１およびセキュアサーバ２２がインストールされるコンピュータ３３のハードウェアの構成例を示すブロック図である。
【図７】セキュアチップ１１のハードウェアの構成例を示すブロック図である。
【図８】メモリ９３のディレクトリ構造を示す図である。
【図９】セキュアサーバ２２の詳細な構成例を示すブロック図である。
【図１０】クライアント側装置１とサーバ側装置２の動作を説明するための図である。
【図１１】セキュアチップ処理モジュール２３の構成例を示すブロック図である。
【図１２】オペレータによるセキュアチップ処理モジュール２３へのアクセスを説明するための図である。
【図１３】オペレータによるセキュアチップ処理モジュール２３へのアクセスを説明するための図である。
【図１４】アクセスコントロールリストを説明する図である。
【図１５】鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作を説明するための図である。
【図１６】鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作を説明するための図である。
【図１７】鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作を説明するための図である。
【図１８】鍵管理アプリケーション１２１とセキュアチップ処理モジュール２３の動作を説明するための図である。
【符号の説明】
【０２４４】
１  クライアント側装置，  ２  サーバ側装置，  ３，４  ネットワーク，  １１  セキュアチップ，  １２  クライアントアプリケーション，  １３  R/W，  ２１  サーバアプリケーション，  ２２  セキュアサーバ，  ２３  セキュアチップ処理モジュール，  ３１  ICカード，  ３２  PC，  ３３  コンピュータ，  ３４  携帯電話機，  ４１  バス，  ４２  CPU，  ４３  ROM，  ４４  RAM，  ４５  ハードディスク，  ４６  出力部，  ４７  入力部，  ４８  通信部，  ４９  ドライブ，  ５０  入出力インタフェース，  ５１  リムーバブル記録媒体，  ６１  バス，  ６２  CPU，  ６３  ROM，  ６４  RAM，  ６５  ハードディスク，  ６６  出力部，  ６７  入力部，  ６８  通信部，  ６９  ドライブ，  ７０  入出力インタフェース，  ７１  リムーバブル記録媒体，  ８１  通信処理部，  ８２  データ処理部，  ９１  CPU，  ９２  暗号関連処理部，  ９３  メモリ，  １０１  セキュアチップコマンドモジュール，  １０２  セキュアチップマネージャモジュール，  １１１  セキュアチップ処理部，  １１２  認証部，  １１３  アクセスコントロールリスト記憶部，  １１４  暗号処理部，  １１５  鍵管理部，  １１６  キーDB，  １２１  鍵管理アプリケーション
【図１】
2006109307.tif 000003
【図２】
2006109307.tif 000004
【図３】
2006109307.tif 000005
【図４】
2006109307.tif 000006
【図５】
2006109307.tif 000007
【図６】
2006109307.tif 000008
【図７】
2006109307.tif 000009
【図８】
2006109307.tif 000010
【図９】
2006109307.tif 000011
【図１０】
2006109307.tif 000012
【図１１】
2006109307.tif 000013
【図１２】
2006109307.tif 000014
【図１３】
2006109307.tif 000015
【図１４】
2006109307.tif 000016
【図１５】
2006109307.tif 000017
【図１６】
2006109307.tif 000018
【図１７】
2006109307.tif 000019
【図１８】
2006109307.tif 000020