(57)【要約】管理サーバにて、サービスを提供するためのソフトウェアのハッシュ値が計算され、第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域が生成され、端末から送信された第１の電子署名が付与された利用者情報とハッシュ値と利用者管理情報とに第３の電子署名が付与され、第３の電子署名と利用者情報とハッシュ値と利用者管理情報とから生成された第２のソフトウェア領域が管理サーバとサービス提供サーバとの共通鍵を用いて暗号化され、第１のソフトウェア領域と暗号化された第２のソフトウェア領域とを併せて作成されて端末の公開鍵を用いて暗号化されたソフトウェアＩＣカードが端末へ送信される。
2008117550.tif 000002
【特許請求の範囲】
【請求項１】
端末と、該端末にサービスを提供するサービス提供サーバと、前記サービスを提供するためのソフトウェアを管理する管理サーバとを有するソフトウェアＩＣカードシステムにおいて、
前記端末は、利用者を識別可能な利用者情報に第１の電子署名を付与し、前記第１の電子署名が付与された利用者情報を前記管理サーバへ送信し、
前記管理サーバは、前記ソフトウェアのハッシュ値を計算し、前記ソフトウェアに第２の電子署名を付与し、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成し、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与し、該第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成し、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化し、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成し、作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化し、前記ソフトウェアＩＣカードを前記端末へ送信することを特徴とするソフトウェアＩＣカードシステム。
【請求項２】
請求項１に記載のソフトウェアＩＣカードシステムにおいて、
前記管理サーバは、前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信することを特徴とするソフトウェアＩＣカードシステム。
【請求項３】
請求項１または請求項２に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて前記第１の電子署名を付与することを特徴とするソフトウェアＩＣシステム。
【請求項４】
請求項１乃至３のいずれか１項に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化し、該復号化されたソフトウェアＩＣカードを前記サービス提供サーバへ送信し、
前記サービス提供サーバは、前記端末から送信されてきたソフトウェアＩＣカードの前記第２の電子署名が前記管理サーバのものであるか否かを検証し、前記第２のソフトウェア領域を前記共通鍵を用いて復号化し、前記第３の電子署名が前記管理サーバのものであるか否かを検証するとともに前記第１の電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証し、前記すべての検証の結果が正しい場合、前記端末へサービスを提供することを特徴とするソフトウェアＩＣカードシステム。
【請求項５】
請求項１乃至請求項４のいずれか１項に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、前記管理サーバから送信されてきたソフトウェアＩＣカードを復号化し、復号化されたソフトウェアＩＣカードの第３のソフトウェア領域を更新し、更新されたソフトウェアＩＣカードを暗号化して前記管理サーバへ送信することを特徴とするソフトウェアＩＣカードシステム。
【請求項６】
請求項４または請求項５に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、前記端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて前記送信されてきたソフトウェアＩＣカードを復号化することを特徴とするソフトウェアＩＣカードシステム。
【請求項７】
請求項３または請求項５または請求項６に記載のソフトウェアＩＣカードシステムにおいて、
前記ハードウェアセキュリティモジュールは、ＴＰＭであることを特徴とするソフトウェアＩＣカードシステム。
【請求項８】
第１の電子署名が付与された利用者情報を送信する端末へサービス提供サーバからサービスを提供するためのソフトウェアを管理する管理サーバであって、
前記ソフトウェアのハッシュ値を計算し、前記ソフトウェアに第２の電子署名を付与し、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成し、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与し、該第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成し、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化し、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成し、作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化し、前記ソフトウェアＩＣカードを前記端末へ送信する管理サーバ。
【請求項９】
請求項８に記載の管理サーバにおいて、
前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信することを特徴とする管理サーバ。
【請求項１０】
サービスを提供するサービス提供サーバと前記サービスを提供するためのソフトウェアを管理する管理サーバとに接続された端末であって、
利用者を識別可能な利用者情報に、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて電子署名を付与し、前記電子署名が付与された利用者情報を前記管理サーバへ送信する端末。
【請求項１１】
請求項１０に記載の端末において、
要求したソフトウェアＩＣカードが前記管理サーバから送信されてきた場合、前記送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化し、該復号化されたソフトウェアＩＣカードを前記サービス提供サーバへ送信することを特徴とする端末。
【請求項１２】
請求項１０または請求項１１に記載の端末において、
前記管理サーバから送信されてきたソフトウェアＩＣカードを復号化し、復号化されたソフトウェアＩＣカードの端末管理情報が格納されている領域を更新し、更新されたソフトウェアＩＣカードを暗号化して前記管理サーバへ送信することを特徴とする端末。
【請求項１３】
請求項１０乃至１２のいずれか１項に記載の端末において、
前記端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて前記送信されてきたソフトウェアＩＣカードを復号化することを特徴とする端末。
【請求項１４】
請求項１０乃至１３のいずれか１項に記載の端末において、
前記ハードウェアセキュリティモジュールは、ＴＰＭであることを特徴とする端末。
【請求項１５】
端末にサービスを提供し、前記サービスを提供するためのソフトウェアを管理する管理サーバに接続されたサービス提供サーバであって、
前記端末から送信されてきたソフトウェアＩＣカードに格納された第１のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証し、前記ソフトウェアＩＣカードに格納された第２のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証し、前記第２のソフトウェア領域に格納された利用者情報に付与された電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証し、前記すべての検証の結果が正しい場合、前記端末へサービスを提供するサービス提供サーバ。
【請求項１６】
端末と、該端末にサービスを提供するサービス提供サーバと、前記サービスを提供するためのソフトウェアを管理する管理サーバとを有するソフトウェアＩＣカードシステムにおけるサービス提供方法であって、
前記端末が、利用者を識別可能な利用者情報に第１の電子署名を付与する処理と、
前記端末が、前記第１の電子署名が付与された利用者情報を前記管理サーバへ送信する処理と、
前記管理サーバが、前記ソフトウェアのハッシュ値を計算する処理と、
前記管理サーバが、前記ソフトウェアに第２の電子署名を付与する処理と、
前記管理サーバが、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成する処理と、
前記管理サーバが、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与する処理と、
前記管理サーバが、前記第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成する処理と、
前記管理サーバが、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化する処理と、
前記管理サーバが、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成する処理と、
前記管理サーバが、前記作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化する処理と、
前記管理サーバが、前記ソフトウェアＩＣカードを前記端末へ送信する処理とを有するサービス提供方法。
【請求項１７】
請求項１６に記載のサービス提供方法において、
前記管理サーバが、前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信する処理を有することを特徴とするサービス提供方法。
【請求項１８】
請求項１６または請求項１７に記載のサービス提供方法において、
前記端末が、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて前記第１の電子署名を付与する処理を有することを特徴とするサービス提供方法。
【請求項１９】
請求項１６乃至１８のいずれか１項に記載のサービス提供方法において、
前記端末が、要求したソフトウェアＩＣカードが前記管理サーバから送信されてきた場合、前記送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化する処理と、
前記端末が、前記復号化されたソフトウェアＩＣカードを前記サービス提供サーバへ送信する処理と、
前記サービス提供サーバが、前記端末から送信されてきたソフトウェアＩＣカードの前記第２の電子署名が前記管理サーバのものであるか否かを検証する処理と、
前記サービス提供サーバが、前記第２のソフトウェア領域を前記共通鍵を用いて復号化する処理と、
前記サービス提供サーバが、前記第３の電子署名が前記管理サーバのものであるか否かを検証する処理と、
前記サービス提供サーバが、前記第１の電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証する処理と、
前記すべての検証の結果が正しい場合、前記サービス提供サーバが、前記端末へサービスを提供する処理とを有することを特徴とするサービス提供方法。
【請求項２０】
請求項１６乃至請求項１９のいずれか１項に記載のサービス提供方法において、
前記端末が、前記管理サーバから送信されてきたソフトウェアＩＣカードを復号化する処理と、
前記端末が、前記復号化されたソフトウェアＩＣカードの第３のソフトウェア領域を更新する処理と、
前記端末が、前記更新されたソフトウェアＩＣカードを暗号化する処理と、
前記端末が、前記暗号化したソフトウェアＩＣカードを前記管理サーバへ送信する処理とを有することを特徴とするサービス提供方法。
【請求項２１】
請求項１９または請求項２０に記載のサービス提供方法において、
前記端末が、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて前記送信されてきたソフトウェアＩＣカードを復号化する処理を有することを特徴とするサービス提供方法。
【請求項２２】
第１の電子署名が付与された利用者情報を送信する端末へサービス提供サーバからサービスを提供するためのソフトウェアを管理する管理サーバに、
前記ソフトウェアのハッシュ値を計算する手順と、
前記ソフトウェアに第２の電子署名を付与する手順と、
前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成する手順と、
前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与する手順と、
前記第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成する手順と、
前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化する手順と、
前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成する手順と、
作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化する手順と、
前記ソフトウェアＩＣカードを前記端末へ送信する手順とを実行させるプログラム。
【請求項２３】
請求項２２に記載のプログラムにおいて、
前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信する手順を実行させることを特徴とするプログラム。
【請求項２４】
サービスを提供するサービス提供サーバと前記サービスを提供するためのソフトウェアを管理する管理サーバとに接続された端末に、
利用者を識別可能な利用者情報に、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて電子署名を付与する手順と、
前記電子署名が付与された利用者情報を前記管理サーバへ送信する手順とを実行させるプログラム。
【請求項２５】
請求項２４に記載のプログラムにおいて、
要求したソフトウェアＩＣカードが前記管理サーバから送信されてきた場合、前記送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化する手順と、
前記復号化されたソフトウェアＩＣカードを前記サービス提供サーバへ送信する手順とを実行させることを特徴とするプログラム。
【請求項２６】
請求項２４または請求項２５に記載のプログラムにおいて、
前記管理サーバから送信されてきたソフトウェアＩＣカードを復号化する手順と、
前記復号化されたソフトウェアＩＣカードの端末管理情報が格納されている領域を更新する手順と、
前記更新されたソフトウェアＩＣカードを暗号化する手順と、
前記暗号化されたソフトウェアＩＣカードを前記管理サーバへ送信する手順とを実行させることを特徴とするプログラム。
【請求項２７】
請求項２４乃至２６のいずれか１項に記載のプログラムにおいて、
前記端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて前記送信されてきたソフトウェアＩＣカードを復号化する手順を実行させることを特徴とするプログラム。
【請求項２８】
端末にサービスを提供し、前記サービスを提供するためのソフトウェアを管理する管理サーバに接続されたサービス提供サーバに、
前記端末から送信されてきたソフトウェアＩＣカードに格納された第１のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証する手順と、
前記ソフトウェアＩＣカードに格納された第２のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証する手順と、
前記第２のソフトウェア領域に格納された利用者情報に付与された電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証する手順と、
前記すべての検証の結果が正しい場合、前記端末へサービスを提供する手順とを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを利用したソフトウェアＩＣカードシステム、管理サーバ、端末、サービス提供サーバ、サービス提供方法及びプログラムに関する。
【背景技術】
【０００２】
近年、プラスチックカードにＩＣ（Integrated  Circuit）チップが内蔵されたＩＣカード（Integrated  Circuit  Card）の普及率が高くなってきている。このＩＣカードは、情報の制御や記憶が可能であり、一般的な磁気カードと比べて、大きな記憶容量を持っている。また、偽造や不正使用が困難であり、記憶された情報の機密性に優れているという特徴を持つ。これにより、個人情報が書き込まれたＩＣカードを用いて、当該ＩＣカードの所有者の認証を行うことができ、所有者に適したサービスを提供することができる。【０００３】
このＩＣカードの利用方法としては、ＩＣカードをＩＣカードリーダライタに接触またはかざすことによりＩＣカードに書き込まれた情報を読み出す方法が採られている。【０００４】
また、個人を認証するための認証情報を管理するサーバに、利用者であるクライアントの要求から適当な認証情報を渡す技術が考えられている。【０００５】
また、ネットワーク上にアプリケーションを提供するアプリケーションサーバが追加になった場合、追加されるアプリケーションサーバの認証情報を生成し、当該認証情報を会員情報データベースに登録することにより、アプリケーションを利用する会員が当該アプリケーションを利用できるシステムが考えられている（例えば、特許公開２００６−２５１８６８号公報参照。）。【０００６】
しかしながら、従来のＩＣカードのような物理的なＩＣカードでは、ＩＣカードを複数人で共有する場合、当該ＩＣカードの所持者が利用者にＩＣカードを手渡しまたは郵送しなければならないという問題点がある。【０００７】
また、上述したサーバから適当な認証情報をクライアントに渡す技術においては、サービス提供者にＩＣカードで処理するためのソフトウェアを提供することができないという問題点がある。【０００８】
また、特許公開２００６−２５１８６８号公報に記載されたシステムにおいては、認証情報が登録されたアプリケーションを利用する会員についての会員情報も個々に登録しなければならないという問題点がある。
【発明の開示】
【０００９】
本発明は、上述した課題を解決するため、ネットワークを介して交換または変更が可能なサービスを提供することができるソフトウェアＩＣカードシステム、管理サーバ、端末、サービス提供サーバ、サービス提供方法及びプログラムを提供することを目的とする。
【００１０】
上記目的を達成するために本発明は、
端末と、該端末にサービスを提供するサービス提供サーバと、前記サービスを提供するためのソフトウェアを管理する管理サーバとを有するソフトウェアＩＣカードシステムにおいて、
前記端末は、利用者を識別可能な利用者情報に第１の電子署名を付与し、前記第１の電子署名が付与された利用者情報を前記管理サーバへ送信し、
前記管理サーバは、前記ソフトウェアのハッシュ値を計算し、前記ソフトウェアに第２の電子署名を付与し、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成し、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与し、該第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成し、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化し、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成し、作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化し、前記ソフトウェアＩＣカードを前記端末へ送信することを特徴とする。
【００１１】
また、第１の電子署名が付与された利用者情報を送信する端末へサービス提供サーバからサービスを提供するためのソフトウェアを管理する管理サーバであって、
前記ソフトウェアのハッシュ値を計算し、前記ソフトウェアに第２の電子署名を付与し、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成し、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与し、該第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成し、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化し、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成し、作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化し、前記ソフトウェアＩＣカードを前記端末へ送信する。
【００１２】
また、サービスを提供するサービス提供サーバと前記サービスを提供するためのソフトウェアを管理する管理サーバとに接続された端末であって、
利用者を識別可能な利用者情報に、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて電子署名を付与し、前記電子署名が付与された利用者情報を前記管理サーバへ送信する。
【００１３】
また、端末にサービスを提供し、前記サービスを提供するためのソフトウェアを管理する管理サーバに接続されたサービス提供サーバであって、
前記端末から送信されてきたソフトウェアＩＣカードに格納された第１のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証し、前記ソフトウェアＩＣカードに格納された第２のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証し、前記第２のソフトウェア領域に格納された利用者情報に付与された電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証し、前記すべての検証の結果が正しい場合、前記端末へサービスを提供する。
【００１４】
また、端末と、該端末にサービスを提供するサービス提供サーバと、前記サービスを提供するためのソフトウェアを管理する管理サーバとを有するソフトウェアＩＣカードシステムにおけるサービス提供方法であって、
前記端末が、利用者を識別可能な利用者情報に第１の電子署名を付与する処理と、
前記端末が、前記第１の電子署名が付与された利用者情報を前記管理サーバへ送信する処理と、
前記管理サーバが、前記ソフトウェアのハッシュ値を計算する処理と、
前記管理サーバが、前記ソフトウェアに第２の電子署名を付与する処理と、
前記管理サーバが、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成する処理と、
前記管理サーバが、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与する処理と、
前記管理サーバが、前記第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成する処理と、
前記管理サーバが、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化する処理と、
前記管理サーバが、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成する処理と、
前記管理サーバが、前記作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化する処理と、
前記管理サーバが、前記ソフトウェアＩＣカードを前記端末へ送信する処理とを有する。
【００１５】
また、サービスを提供するためのプログラムであって、第１の電子署名が付与された利用者情報を送信する端末へサービス提供サーバからサービスを提供するためのソフトウェアを管理する管理サーバに、
前記ソフトウェアのハッシュ値を計算する手順と、
前記ソフトウェアに第２の電子署名を付与する手順と、
前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成する手順と、
前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与する手順と、
前記第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成する手順と、
前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化する手順と、
前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成する手順と、
作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化する手順と、
前記ソフトウェアＩＣカードを前記端末へ送信する手順とを実行させる。
【００１６】
また、サービスを提供するサービス提供サーバと前記サービスを提供するためのソフトウェアを管理する管理サーバとに接続された端末に、
利用者を識別可能な利用者情報に、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて電子署名を付与する手順と、
前記電子署名が付与された利用者情報を前記管理サーバへ送信する手順とを実行させる。
【００１７】
また、端末にサービスを提供し、前記サービスを提供するためのソフトウェアを管理する管理サーバに接続されたサービス提供サーバに、
前記端末から送信されてきたソフトウェアＩＣカードに格納された第１のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証する手順と、
前記ソフトウェアＩＣカードに格納された第２のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証する手順と、
前記第２のソフトウェア領域に格納された利用者情報に付与された電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証する手順と、
前記すべての検証の結果が正しい場合、前記端末へサービスを提供する手順とを実行させる。
【００１８】
以上説明したように本発明においては、端末にて、利用者情報に第１の電子署名を付与して管理サーバへ送信し、管理サーバにて、ソフトウェアのハッシュ値を計算し、第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成し、第１の電子署名が付与された利用者情報とハッシュ値と利用者管理情報とに第３の電子署名を付与し、第３の電子署名と第１の電子署名が付与された利用者情報とハッシュ値と利用者管理情報とから第２のソフトウェア領域を生成し、第２のソフトウェア領域を管理サーバとサービス提供サーバとの共通鍵を用いて暗号化し、第１のソフトウェア領域と暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成して端末の公開鍵を用いて暗号化し、端末へ送信する構成としたため、ネットワークを介して交換または変更が可能なサービスを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明のソフトウェアＩＣカードシステムの実施の一形態を示す図である。
【図２】図１に示したソフトウェアＩＣカード管理サーバの一構成例を示すブロック図である。
【図３】図２に示したデータベースの構造の一例を示す図である。
【図４】図１に示した利用者端末の一構成例を示すブロック図である。
【図５】図１に示したサービス提供サーバの一構成例を示すブロック図である。
【図６】図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの登録処理を説明するためのシーケンス図である。
【図７】図４に示した表示部に表示されたソフトウェアＩＣカード発行用の画面の一例を示す図である。
【図８】図２に示したソフトウェアＩＣカード作成部にて作成されるソフトウェアＩＣカードの構成の一例を示す図である。
【図９】図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの利用処理を説明するためのシーケンス図である。
【図１０】図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの利用者情報の更新処理を説明するためのシーケンス図である。
【図１１】図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの利用者管理情報及びソフトウェアの更新処理を説明するためのシーケンス図である。
【発明を実施するための最良の形態】
【００２０】
以下に、本発明の実施の形態について図面を参照して説明する。【００２１】
図１は、本発明のソフトウェアＩＣカードシステムの実施の一形態を示す図である。【００２２】
本形態は図１に示すように、ソフトウェアＩＣカード管理サーバ１０１と、利用者端末１０２と、サービス提供サーバ１０３−１〜１０３−ｎとが、ネットワーク１０４を介して接続された形態である。【００２３】
ソフトウェアＩＣカード管理サーバ１０１は、利用者端末１０２から提供される利用者情報とサービス提供サーバ１０３−１〜１０３−ｎから提供されるソフトウェアとに基づいてソフトウェアＩＣカードを作成する管理サーバである。また、これらの情報をデータベースとして格納して管理する。【００２４】
図２は、図１に示したソフトウェアＩＣカード管理サーバ１０１の一構成例を示すブロック図である。【００２５】
図１に示したソフトウェアＩＣカード管理サーバ１０１には図２に示すように、送信部１１０と、受信部１１１と、ソフトウェアＩＣカード作成部１１２と、データベース１１３とが設けられている。【００２６】
受信部１１１は、ソフトウェアＩＣカードを作成するために必要な情報を、利用者端末１０２及びサービス提供サーバ１０３−１〜１０３−ｎからネットワーク１０４を介して受信する。【００２７】
ソフトウェアＩＣカード作成部１１２は、受信部１１１にて受信された情報に基づいてソフトウェアＩＣカードを作成する。【００２８】
送信部１１０は、ソフトウェアＩＣカード作成部１１２にて作成されたソフトウェアＩＣカードをネットワーク１０４を介して利用者端末１０２へ送信する。【００２９】
データベース１１３は、受信部１１１にて受信された情報を格納する。【００３０】
図３は、図２に示したデータベース１１３の構造の一例を示す図である。【００３１】
図２に示したデータベース１１３には図３に示すように、利用者情報と、署名と、ソフトウェアモジュール群と、利用者管理情報とが格納されている。これらの情報の詳細については、後述する。【００３２】
利用者端末１０２は、本システムを利用する利用者が操作する端末である。利用者端末１０２は、一般的なＰＣ（パーソナルコンピュータ）であっても良いし、携帯端末等の移動可能な端末であっても良く、ネットワーク１０４に接続可能なものであれば良い。【００３３】
図４は、図１に示した利用者端末１０２の一構成例を示すブロック図である。【００３４】
図１に示した利用者端末１０２には図１に示すように、送信部１２０と、受信部１２１と、入力部１２２と、表示部１２３と、署名部１２４と、記憶部１２５と、これらを制御する制御部１２６とが設けられている。【００３５】
入力部１２２は、利用者が当該利用者の操作によって情報を入力するための手段である。例えば、キーボードやマウス、携帯端末の入力ボタン、タッチパネル等である。【００３６】
表示部１２３は、入力部１２２から入力された内容や、ソフトウェアＩＣカード管理サーバ１０１から送信されてきた内容、またはサービス提供サーバ１０３−１〜１０３−ｎから送信されてきたコンテンツ等を表示する。この表示部１２３は、情報を表示する一般的なディスプレイで良い。【００３７】
署名部１２４は、ソフトウェアＩＣカード管理サーバ１０１から入手されたソフトウェアＩＣカードや利用者情報に電子署名（以下、署名と称する）を行う。【００３８】
記憶部１２５は、利用者端末１０２にてソフトウェアＩＣカードに署名、または暗号化するための秘密鍵や、利用者情報を記憶する。【００３９】
送信部１２０は、入力部１２２から入力された情報や、記憶部１２５に記憶されている利用者情報、またはソフトウェアＩＣカードを、ネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１またはサービス提供サーバ１０３−１〜１０３−ｎへ送信する。【００４０】
受信部１２１は、ネットワーク１０４を介して、ソフトウェアＩＣカード管理サーバ１０１から送信されたソフトウェアＩＣカードや、サービス提供サーバ１０３−１〜１０３−ｎから送信されたサービス等を受信する。【００４１】
ここで、署名部１２４を実現するために、ハードウェアセキュリティモジュールを用いるものであっても良い。ハードウェアセキュリティモジュールとは、一般のコンピュータのハードウェアそれぞれ固有に搭載され、別のコンピュータに移行することができないセキュリティモジュールであり、セキュリティやプライバシーを実現する。また、ハードウェアセキュリティモジュールにはメモリが設けられており、当該メモリに秘密鍵を記憶することができる。ハードウェアセキュリティモジュールに記憶された鍵を外部から取り出すことはできない。また、コンピュータに搭載されたハードウェアセキュリティモジュールを当該コンピュータから外した場合、当該コンピュータの起動は不可能となる。そのため、利用者の秘密鍵をハードウェアセキュリティモジュールに記憶することにより、ソフトウェアＩＣカードの安全性を担保することができる。ハードウェアセキュリティモジュールは１つのチップまたはその周辺回路との組み合わせで構成されるものが一般的であり、例えばＴＰＭ（Trusted  Platform  Module）が挙げられる。【００４２】
サービス提供サーバ１０３−１〜１０３−ｎは、本システムを利用する利用者にサービスを提供するサーバである。【００４３】
図５は、図１に示したサービス提供サーバ１０３−１の一構成例を示すブロック図である。なお、図１に示したサービス提供サーバ１０３−２〜１０３−ｎの構成についても、図５に示したサービス提供サーバ１０３−１の構成と同様である。【００４４】
図１に示したサービス提供サーバ１０３−１には図５に示すように、送信部１３０と、受信部１３１と、認証部１３２と、記憶部１３３と、これらを制御する制御部１３４とが設けられている。【００４５】
記憶部１３３は、利用者に提供するサービスのコンテンツや、ソフトウェアＩＣカード管理サーバ１０１から提供される公開鍵等を記憶する。【００４６】
送信部１３０は、ネットワーク１０４を介して利用者端末１０２へソフトウェアＩＣカードの要求を行ったり、利用者端末１０２へサービスの提供を行うために当該サービスのコンテンツを送信したりする。【００４７】
受信部１３１は、利用者端末１０２から送信されたソフトウェアＩＣカードを受信する。【００４８】
認証部１３２は、受信部１３１にて受信されたソフトウェアＩＣカードが正しいものであるかどうかを認証する。【００４９】
以下に、上述したように構成されたソフトウェアＩＣカードシステムにおける処理についてシーケンス図を用いて説明する。まずは、ソフトウェアＩＣカードの登録処理について説明する。【００５０】
図６は、図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの登録処理を説明するためのシーケンス図である。この登録処理は、ソフトウェアＩＣカード管理サーバ１０１と利用者端末１０２との間において行われる。また、利用者がサービス提供サーバ１０３−１から提供されるサービスを希望する場合を例に挙げて説明する。【００５１】
まず、利用者が利用者端末１０２の入力部１２２を用いてソフトウェアＩＣカードを発行するための操作を行うと、ステップ１にて利用者端末１０２の送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へソフトウェアＩＣカードの発行が依頼される。この発行依頼は、利用者端末１０２にてソフトウェアＩＣカード登録用のソフトウェアを立ち上げ、当該ソフトウェアの立ち上げ後に表示部１２３に表示された内容に従って行うものであっても良い。また、利用者端末１０２からネットワーク１０４を介してソフトウェアＩＣカード登録のためのＷｅｂページにアクセスし、表示部１２３に表示された当該ページの内容に従って行うものであっても良い。【００５２】
図７は、図４に示した表示部１２３に表示されたソフトウェアＩＣカード発行用の画面の一例を示す図である。【００５３】
図７に示すように、ソフトウェアＩＣカードの新規発行を行うかどうかの選択肢が表示部１２３に表示される。ソフトウェアＩＣカードを新規発行する場合、「Ｙｅｓ」を選択し、またソフトウェアＩＣカードを発行しない場合は、「Ｎｏ」を選択する。このときの選択方法は、表示されているカーソルをマウスを用いて移動させ、所望の選択肢を選択するものであっても良いし、キーやボタンを操作して所望の選択肢を選択するものであっても良い。【００５４】
また、この選択により利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１へのソフトウェアＩＣカードの発行依頼は、発行依頼用の所定の信号（以下、発行依頼信号と称する）が利用者端末１０２からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されるものである。この発行依頼信号は、利用者端末１０２及びソフトウェアＩＣカード管理サーバ１０１にて発行を依頼するための信号であることが認識できるものであれば良く、その信号形式についてはここでは特に規定しない。【００５５】
利用者端末１０２から送信された発行依頼信号がネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１の受信部１１１にて受信されると、ステップ２にてソフトウェアＩＣカード作成部１１２から送信部１１０を介して利用者端末１０２に利用者情報及び署名が要求される。この利用者情報及びその署名はソフトウェアＩＣカードを発行するために必要な情報である。【００５６】
また、この要求は、情報要求用の所定の信号（以下、情報要求信号と称する）がソフトウェアＩＣカード管理サーバ１０１の送信部１１０からネットワーク１０４を介して利用者端末１０２へ送信されるものである。この情報要求信号は、ソフトウェアＩＣカード管理サーバ１０１及び利用者端末１０２にて情報を要求するための信号であることが認識できるものであれば良く、その信号形式についてはここでは特に規定しない。【００５７】
ソフトウェアＩＣカード管理サーバ１０１から送信された情報要求信号がネットワーク１０４を介して利用者端末１０２の受信部１２１にて受信されると、利用者端末１０２の表示部１２３に利用者情報を入力するためのフォームが表示される。表示部１２３に表示されたフォームに従って利用者が入力部１２２を操作して利用者情報を入力すると、署名部１２４にて入力された利用者情報に第１の電子署名がステップ３にて付与される。ここで、利用者情報が記憶部１２５に予め記憶されており、記憶部１２５に予め記憶されている利用者情報に署名が付与されるものであっても良い。この署名は、利用者情報を対象に記憶部１２５に記憶されている秘密鍵を用いて行われる。また、署名部１２４が上述したハードウェアセキュリティモジュールである場合、署名に用いられる鍵はソフトウェアＩＣカード管理サーバ１０１と利用者端末１０２との共通鍵であっても良い。また、ここでの利用者情報は、利用者を識別可能な情報であれば良く、氏名や予め付与された識別番号等が考えられる。【００５８】
その後、ステップ４にて利用者情報及び署名が送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信される。【００５９】
利用者端末１０２から送信されてきた利用者情報及び署名がソフトウェアＩＣカード管理サーバ１０１の受信部１１１にて受信されると、受信された利用者情報及び署名がステップ５にてソフトウェアＩＣカード作成部１１２によってデータベース１１３に格納される。【００６０】
そして、ステップ６にてソフトウェアＩＣカード作成部１１２によって、サービス提供サーバ１０３−１で利用されるソフトウェアモジュール群（利用ポイント管理等）が組み込まれ、ソフトウェアＩＣカードの第１のソフトウェア領域であるソフトウェア管理領域が生成される。このサービス提供サーバ１０３−１で利用されるソフトウェアモジュール群は、予めデータベース１１３に格納されている。また、ここで、ソフトウェアＩＣカード作成部１１２にてソフトウェアモジュール群のハッシュ値が計算される。このハッシュ値をソフトウェア構成値とする。また、ソフトウェアモジュール群にソフトウェアＩＣカード管理サーバ１０１の秘密鍵を用いて第２の電子署名が付与され、当該署名もソフトウェア管理領域に含まれる。【００６１】
その後、データベース１１３に格納された利用者情報、署名、利用者管理情報、ソフトウェア構成値及びバージョン情報を対象に第３の電子署名であるソフトウェアＩＣカード管理サーバ１０１の署名が付与される。ここで、利用者管理情報とは、利用者の連絡先等の詳細な情報であり、データベース１１３に予め格納されているものである。この署名も、データベース１１３に予め格納されている秘密鍵を用いて行われる。そして、ステップ７にてこれらの情報（利用者情報、署名、利用者管理情報、ソフトウェア構成値及びバージョン情報）及び署名が、データベース１１３に予め格納されている共通鍵を用いて暗号化され、第２のソフトウェア領域であるソフトウェアＩＣカード管理サーバ管理領域が生成される。この共通鍵は、ソフトウェアＩＣカード管理サーバ１０１とサービス提供サーバ１０３−１との間における共通鍵である。【００６２】
また、ステップ８にてソフトウェアＩＣカード作成部１１２にて、第３のソフトウェア領域である利用者端末管理領域が生成される。この利用者端末管理領域には、サービス提供者の情報（利用ポイント等）及びサービス提供者の署名が含まれる。【００６３】
そして、生成されたソフトウェア管理領域と、ソフトウェアＩＣカード管理サーバ管理領域と、利用者端末管理領域とを併せたものがソフトウェアＩＣカードとして構築される。構築されたソフトウェアＩＣカードがステップ９にてソフトウェアＩＣカード作成部１１２において暗号鍵である利用者端末１０２の公開鍵を用いて暗号化される。また、利用者端末１０２の署名部１２４が上述したハードウェアセキュリティモジュールである場合、暗号化に用いられる暗号鍵はソフトウェアＩＣカード管理サーバ１０１と利用者端末１０２との共通鍵であっても良い。【００６４】
ソフトウェアＩＣカードが暗号化されると、ステップ１０にてソフトウェアＩＣカードの作成完了が利用者端末１０２に通知される。この作成完了通知は、ソフトウェアＩＣカードの作成が完了した旨を示す信号が送信部１１０からネットワーク１０４を介して利用者端末１０２へ送信されるものであり、信号の形式についてはここでは特に規定しない。【００６５】
利用者端末１０２にてソフトウェアＩＣカード管理サーバ１０１からソフトウェアＩＣカードの作成完了が通知された後、ステップ１１にて利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１にソフトウェアＩＣカードが要求されると、ステップ１２にてソフトウェアＩＣカード管理サーバ１０１の送信部１１０からネットワーク１０４を介して利用者端末１０２へソフトウェアＩＣカードが送信される。ソフトウェアＩＣカード管理サーバ１０１から送信されたソフトウェアＩＣカードが利用者端末１０２にて受信された後、利用者端末１０２にてソフトウェアＩＣカードが利用可能となる。なお、利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１へのソフトウェアＩＣカードの要求についても、ソフトウェアＩＣカードを要求する旨を示す信号が利用者端末１０２の送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されるものであり、信号の形式についてはここでは特に規定しない。【００６６】
図８は、図２に示したソフトウェアＩＣカード作成部１１２にて作成されるソフトウェアＩＣカードの構成の一例を示す図である。【００６７】
図２に示したソフトウェアＩＣカード作成部１１２にて作成されるソフトウェアＩＣカード１０５は図８に示すように、利用者端末管理領域と、ソフトウェアＩＣカード管理サーバ管理領域と、ソフトウェア管理領域とから構成されている。【００６８】
ソフトウェア管理領域は、ソフトウェアＩＣカード１０５の処理を行うためのソフトウェアの領域であり、ソフトウェアモジュールの構成が変更されている場合、処理することはできない。ソフトウェア管理領域には、ソフトウェアモジュール群と、ソフトウェアＩＣカード管理サーバ１０１の署名とが含まれている。【００６９】
また、ソフトウェアＩＣカード管理サーバ管理領域は、ソフトウェアＩＣカード管理サーバ１０１とサービス提供サーバ１０３−１とが利用する領域であり、利用者端末１０２から参照することができない領域である。ソフトウェアＩＣカード管理サーバ管理領域には、利用者情報と、利用者情報に付与された利用者端末の署名と、利用者管理情報と、ソフトウェア構成値と、バージョン情報とにソフトウェアＩＣカード管理サーバ１０１の署名が付与されたものから構成されている。なお、これらは、ソフトウェアＩＣカード管理サーバ１０１とサービス提供サーバ１０３−１との共通鍵のよって暗号化されている。【００７０】
また、利用者端末管理領域は、利用者端末１０２とサービス提供サーバ１０３−１とが利用可能な領域であり、サービス提供者が書き込んだ情報を利用者が利用者端末１０２を用いて参照することが可能な領域である。利用者端末管理領域には、サービス提供者の情報（利用ポイント等）及びサービス提供者の署名が含まれている。【００７１】
次に、ソフトウェアＩＣカードの利用処理について説明する。【００７２】
図９は、図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの利用処理を説明するためのシーケンス図である。この利用処理は、ソフトウェアＩＣカード管理サーバ１０１と利用者端末１０２とサービス提供サーバ１０３−１〜１０３−ｎとの間において行われる。ここでは、利用者がサービス提供サーバ１０３−１から提供されるサービスを希望する場合を例に挙げて説明する。【００７３】
まず、利用者が利用者端末１０２の入力部１２２を用いてサービス提供サーバ１０３−１へのサービスの提供を要求するための操作を行うと、ステップ２１にて利用者端末１０２の送信部１２０からネットワーク１０４を介してサービス提供サーバ１０３−１へサービスの提供が要求される。この要求は、利用者端末１０２にてサービス提供要求用のソフトウェアを立ち上げ、当該ソフトウェアの立ち上げ後に表示部１２３に表示された内容に従って行うものであっても良い。また、利用者端末１０２からネットワーク１０４を介してサービス提供要求のためのＷｅｂページにアクセスし、表示部１２３に表示された当該ページの内容に従って行うものであっても良い。【００７４】
また、この利用者端末１０２からサービス提供サーバ１０３−１へのサービス提供要求は、サービス提供要求用の所定の信号（以下、サービス提供要求信号と称する）が利用者端末１０２からネットワーク１０４を介してサービス提供サーバ１０３−１へ送信されるものである。このサービス提供要求信号は、利用者端末１０２及びサービス提供サーバ１０３−１にてサービスの提供を要求するための信号であることが認識できるものであれば良く、その信号形式についてはここでは特に規定しない。【００７５】
利用者端末１０２から送信されたサービス提供要求がネットワーク１０４を介してサービス提供サーバ１０３−１の受信部１３１にて受信されると、ステップ２２にてサービス提供サーバ１０３−１の送信部１３０からネットワーク１０４を介して利用者端末１０２にソフトウェアＩＣカードが要求される。このソフトウェアＩＣカードの要求についても、サービス提供サーバ１０３−１から利用者端末１０２へソフトウェアＩＣカードが要求された旨を示す信号がサービス提供サーバ１０３−１の送信部１３０からネットワーク１０４を介して利用者端末１０２へ送信されるものであり、信号の形式についてはここでは特に規定しない。【００７６】
利用者端末１０２にてサービス提供サーバ１０３−１からソフトウェアＩＣカードが要求されると、ステップ２３にて利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１へ当該ソフトウェアＩＣカードが要求される。この要求についても、利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１へソフトウェアＩＣカードが要求された旨を示す信号が利用者端末１０２の送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されるものであり、信号の形式についてはここでは特に規定しない。【００７７】
ソフトウェアＩＣカード管理サーバ１０１にて上記の要求が認識されると、上述した登録処理で作成されたソフトウェアＩＣカードがステップ２４にてソフトウェアＩＣカード管理サーバ１０１の送信部１１０からネットワーク１０４を介して利用者端末１０２へ送信される。【００７８】
利用者端末１０２の受信部１２１にてソフトウェアＩＣカードが受信されると、制御部１２６によって表示部１２３に暗証番号を入力するための画面がステップ２５にて表示される。これは、ソフトウェアＩＣカードを活性化するためのものである。表示部１２３に表示される画面は、暗証番号を入力するための一般的な画面で良い。【００７９】
表示部１２３に表示された画面に従って利用者が入力部１２２を操作して暗証番号を入力し、入力された暗証番号が正しいものであると判断されると、記憶部１２５に予め格納されている秘密鍵を利用することが可能となり、ステップ２６にてソフトウェアＩＣカードが復号鍵を用いて復号化される。この復号鍵は、ステップ９にて暗号化に用いられた暗号鍵と対となる復号鍵が用いられる。【００８０】
ソフトウェアＩＣカードが復号化されると、ステップ２７にて復号化されたソフトウェアＩＣカードが送信部１２０からネットワーク１０４を介してサービス提供サーバ１０３−１へ送信される。【００８１】
利用者端末１０２から送信されたソフトウェアＩＣカードがネットワーク１０４を介してサービス提供サーバ１０３−１の受信部１３１にて受信されると、ステップ２８にて認証部１３２においてソフトウェアＩＣカードのソフトウェア管理領域の署名がソフトウェアＩＣカード管理サーバ１０１の公開鍵を用いて検証される。【００８２】
ステップ２８の検証の結果が正しい場合、ステップ２９にて認証部１３２においてソフトウェアＩＣカードのソフトウェアＩＣカード管理サーバ管理領域が共通鍵を用いて復号化される。【００８３】
そして、ステップ３０にて認証部１３２においてソフトウェアＩＣカードのソフトウェアＩＣカード管理サーバ管理領域のソフトウェアＩＣカード管理サーバ１０１の署名がソフトウェアＩＣカード管理サーバ１０１の公開鍵を用いて検証される。【００８４】
ステップ３０の検証の結果が正しい場合、認証部１３２にてソフトウェアＩＣカード管理サーバ管理領域の利用者端末の署名が利用者端末１０２の公開鍵を用いて検証され、利用者端末が特定され、特定された利用者端末と通信中の利用者端末１０２とが一致するかどうかがステップ３１にて判断される。【００８５】
ステップ３１の判断の結果、特定された利用者端末と通信中の利用者端末１０２とが一致すると判断された場合、ソフトウェアＩＣカード管理サーバ管理領域のソフトウェア構成値からソフトウェア管理領域の構成が正しいことがステップ３２にて確認される。【００８６】
ソフトウェア管理領域の構成が正しいことが確認されると、ステップ３３にてサービス提供サーバ１０３−１から利用者端末１０２へ当該サービスが提供される。【００８７】
サービス提供サーバ１０３−１から利用者端末１０２へのサービス提供後、サービス提供サーバ１０３−１にてソフトウェアＩＣカードのソフトウェアモジュール群を利用して、例えばポイント加算等の処理が行われ、その処理の結果にサービス提供サーバ１０３−１の署名が付与され、それらが利用者端末管理領域に記述される。そして、これらの処理が行われたソフトウェアＩＣカードがステップ３４にてサービス提供サーバ１０３−１の送信部１３０からネットワーク１０４を介して利用者端末１０２へ送信される。【００８８】
サービス提供サーバ１０３−１から送信されたソフトウェアＩＣカードが利用者端末１０２の受信部１２１にて受信されると、受信されたソフトウェアＩＣカードが署名部１２４にて利用者端末１０２の公開鍵を用いて暗号化される。暗号化されたソフトウェアＩＣカードがステップ３５にて送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１に送信されることによりアップロードされる。【００８９】
次に、ソフトウェアＩＣカードの更新処理について説明する。まずは、利用者情報の更新処理について説明する。【００９０】
図１０は、図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの利用者情報の更新処理を説明するためのシーケンス図である。この更新処理は、ソフトウェアＩＣカード管理サーバ１０１と利用者端末１０２との間において行われる。ここでは、利用者がサービス提供サーバ１０３−１から提供されるサービスを希望する場合を例に挙げて説明する。【００９１】
まず、利用者が利用者端末１０２の入力部１２２を用いて利用者情報の更新を依頼するための操作を行うと、ステップ４１にて利用者端末１０２の送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ利用者情報の更新が依頼される。この更新依頼は、利用者端末１０２にて利用者情報更新用のソフトウェアを立ち上げ、当該ソフトウェアの立ち上げ後に表示部１２３に表示された内容に従って行うものであっても良い。また、利用者端末１０２からネットワーク１０４を介して利用者情報更新のためのＷｅｂページにアクセスし、表示部１２３に表示された当該ページの内容に従って行うものであっても良い。【００９２】
また、この利用者情報の更新の依頼は、利用者情報更新依頼用の所定の信号（以下、利用者情報更新依頼信号と称する）が利用者端末１０２からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されるものである。この利用者情報更新依頼信号は、利用者端末１０２及びソフトウェアＩＣカード管理サーバ１０１にて利用者情報の更新を依頼するための信号であることが認識できるものであれば良く、その信号形式についてはここでは特に規定しない。【００９３】
利用者端末１０２から送信された利用者情報更新依頼信号がネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１の受信部１１１にて受信されると、ステップ４２にてソフトウェアＩＣカード作成部１１２から送信部１１０を介して利用者端末１０２に利用者情報が要求される。【００９４】
また、この要求は、利用者情報の要求用の所定の信号がソフトウェアＩＣカード管理サーバ１０１からネットワーク１０４を介して利用者端末１０２へ送信されるものである。当該信号は、ソフトウェアＩＣカード管理サーバ１０１及び利用者端末１０２にて利用者情報を要求するための信号であることが認識できるものであれば良く、その信号形式についてはここでは特に規定しない。【００９５】
ソフトウェアＩＣカード管理サーバ１０１から送信された利用者情報の要求用の信号がネットワーク１０４を介して利用者端末１０２の受信部１２１にて受信されると、利用者端末１０２の表示部１２３に利用者情報を入力するためのフォームが表示される。そのフォームに従って利用者が入力部１２２を操作して利用者情報を入力すると、入力された利用者情報にステップ４３にて署名部１２４において署名が付与される。ここで、利用者情報が記憶部１２５に予め記憶されており、記憶部１２５に予め記憶されている利用者情報に署名が付与されるものであっても良い。この署名は、利用者情報を対象に記憶部１２５に記憶されている秘密鍵を用いて行われる。【００９６】
その後、ステップ４４にて利用者情報及び署名が送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信される。【００９７】
利用者端末１０２から送信されてきた利用者情報及び署名がソフトウェアＩＣカード管理サーバ１０１の受信部１１１にて受信されると、受信された利用者情報及び署名がステップ４５にてソフトウェアＩＣカード作成部１１２によってデータベース１１３に格納される。【００９８】
そして、ソフトウェアＩＣカード作成部１１２によって、サービス提供サーバ１０３−１で利用されるソフトウェアモジュール群が組み込まれ、ステップ４６にてソフトウェアＩＣカードのソフトウェア管理領域が生成される。このサービス提供サーバ１０３−１で利用されるソフトウェアモジュール群は、予めデータベース１１３に格納されている。また、ここで、ソフトウェアＩＣカード作成部１１２にてソフトウェアモジュール群のハッシュ値が計算される。このハッシュ値をソフトウェア構成値とする。また、ソフトウェアモジュール群にソフトウェアＩＣカード管理サーバ１０１の秘密鍵を用いて署名が付与され、当該署名もソフトウェア管理領域に含まれる。【００９９】
その後、データベース１１３に格納された利用者情報、署名、利用者管理情報、ソフトウェア構成値及びバージョン情報を対象に署名が付与される。ここで、利用者管理情報とは、利用者の連絡先等の詳細な情報であり、データベース１１３に予め格納されているものである。この署名も、データベース１１３に予め格納されている秘密鍵を用いて行われる。そして、これらの情報（利用者情報、署名、利用者管理情報、ソフトウェア構成値及びバージョン情報）及び署名が、データベース１１３に予め格納されている共通鍵を用いて暗号化され、ステップ４７にてソフトウェアＩＣカード管理サーバ管理領域が生成される。この共通鍵は、ソフトウェアＩＣカード管理サーバ１０１とサービス提供サーバ１０３−１との間における共通鍵である。【０１００】
また、ステップ４８にてソフトウェアＩＣカード作成部１１２において、利用者端末管理領域が生成される。この利用者端末管理領域には、サービス提供者の情報（利用ポイント等）及びサービス提供者の署名が含まれる。【０１０１】
そして、生成されたソフトウェア管理領域と、ソフトウェアＩＣカード管理サーバ管理領域と、利用者端末管理領域とを併せたものがソフトウェアＩＣカードとして構築される。構築されたソフトウェアＩＣカードがステップ４９にてソフトウェアＩＣカード作成部１１２において暗号鍵を用いて暗号化される。ここで、利用者端末１０２の署名部１２４が上述したハードウェアセキュリティモジュールである場合、暗号化に用いられる暗号鍵はソフトウェアＩＣカード管理サーバ１０１と利用者端末１０２との共通鍵であっても良い。この構築されたソフトウェアＩＣカードが更新後のソフトウェアＩＣカードとなる。【０１０２】
ソフトウェアＩＣカードが暗号化されると、ステップ５０にてソフトウェアＩＣカードの更新が利用者端末１０２に通知される。この更新通知は、ソフトウェアＩＣカードが更新された旨を示す信号が送信部１１０からネットワーク１０４を介して利用者端末１０２へ送信されるものであり、信号の形式についてはここでは特に規定しない。【０１０３】
利用者端末１０２にてソフトウェアＩＣカード管理サーバ１０１からソフトウェアＩＣカードの更新が通知された後、ステップ５１にて利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１に更新前のソフトウェアＩＣカードと更新後のソフトウェアＩＣカードとが要求されると、ステップ５２にてソフトウェアＩＣカード管理サーバ１０１の送信部１１０からネットワーク１０４を介して利用者端末１０２へ更新前のソフトウェアＩＣカードと更新後のソフトウェアＩＣカードとが送信される。ソフトウェアＩＣカード管理サーバ１０１から送信された更新前のソフトウェアＩＣカードと更新後のソフトウェアＩＣカードとが利用者端末１０２の受信部１２１にて受信されると、ステップ５３にて制御部１２６によってそれぞれのソフトウェアＩＣカードが利用者端末１０２の復号鍵を用いて復号化される。この復号鍵は、ステップ４９にて暗号化に用いられた暗号鍵と対となる復号鍵が用いられる。なお、利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１へのソフトウェアＩＣカードの要求については、ソフトウェアＩＣカードを要求する旨を示す信号が利用者端末１０２の送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されるものであり、その信号の形式についてはここでは特に規定しない。【０１０４】
そして、復号化された更新前のソフトウェアＩＣカードの利用者端末管理領域が更新後のソフトウェアＩＣカードの利用者端末管理領域にコピーされ、更新後のソフトウェアＩＣカードの利用者端末管理領域の内容が更新された後、ステップ５４にて利用者端末１０２の公開鍵を用いて暗号化される。【０１０５】
その後、暗号化されたソフトウェアＩＣカードがステップ５５にて送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されることにより、アップロードされる。【０１０６】
次に、利用者管理情報及びソフトウェアの更新処理について説明する。【０１０７】
図１１は、図１〜５に示したソフトウェアＩＣカードシステムにおけるソフトウェアＩＣカードの利用者管理情報及びソフトウェアの更新処理を説明するためのシーケンス図である。この更新処理は、ソフトウェアＩＣカード管理サーバ１０１と利用者端末１０２との間において行われる。ここでは、利用者がサービス提供サーバ１０３−１から提供されるサービスを希望する場合を例に挙げて説明する。【０１０８】
まず、ソフトウェアＩＣカード管理サーバ１０１のデータベース１１３に格納されている利用者情報及び署名がステップ６１にてソフトウェアＩＣカード作成部１１２によって取得される。【０１０９】
そして、ステップ６２にてソフトウェアＩＣカード作成部１１２によって、サービス提供サーバ１０３−１で利用されるソフトウェアモジュール群が更新され、ソフトウェアＩＣカードのソフトウェア管理領域が生成される。ここで更新されるソフトウェアモジュール群は、予めデータベース１１３に格納されている。また、ここで、ソフトウェアＩＣカード作成部１１２にてソフトウェアモジュール群のハッシュ値が計算される。このハッシュ値をソフトウェア構成値とする。また、ソフトウェアモジュール群にソフトウェアＩＣカード管理サーバ１０１の秘密鍵を用いて署名が付与され、当該署名もソフトウェア管理領域に含まれる。【０１１０】
その後、データベース１１３に格納された利用者情報、署名、利用者管理情報、ソフトウェア構成値及びバージョン情報等の情報が更新され、これらの情報を対象に署名が付与される。この署名も、データベース１１３に予め格納されている秘密鍵を用いて行われる。そして、更新された情報（利用者情報、署名、利用者管理情報、ソフトウェア構成値及びバージョン情報）及び署名が、データベース１１３に予め格納されている共通鍵を用いて暗号化され、ステップ６３にてソフトウェアＩＣカード管理サーバ管理領域が生成される。この共通鍵は、ソフトウェアＩＣカード管理サーバ１０１とサービス提供サーバ１０３−１との間における共通鍵である。【０１１１】
また、ステップ６４にてソフトウェアＩＣカード作成部１１２において、利用者端末管理領域が生成される。この利用者端末管理領域には、サービス提供者の情報（利用ポイント等）及びサービス提供者の署名が含まれる。【０１１２】
そして、生成されたソフトウェア管理領域と、ソフトウェアＩＣカード管理サーバ管理領域と、利用者端末管理領域とを併せたものがソフトウェアＩＣカードとして構築される。構築されたソフトウェアＩＣカードがステップ６５にてソフトウェアＩＣカード作成部１１２において利用者端末１０２の公開鍵を用いて暗号化される。この構築されたソフトウェアＩＣカードが更新後のソフトウェアＩＣカードとなる。【０１１３】
ソフトウェアＩＣカードが暗号化されると、ステップ６６にてソフトウェアＩＣカードの更新が利用者端末１０２に通知される。この更新通知は、ソフトウェアＩＣカードが更新された旨を示す信号が送信部１１０からネットワーク１０４を介して利用者端末１０２へ送信されるものであり、信号の形式についてはここでは特に規定しない。【０１１４】
利用者端末１０２にてソフトウェアＩＣカード管理サーバ１０１からソフトウェアＩＣカードの更新が通知された後、ステップ６７にて利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１に更新前のソフトウェアＩＣカードと更新後のソフトウェアＩＣカードとが要求されると、ステップ６８にてソフトウェアＩＣカード管理サーバ１０１の送信部１１０からネットワーク１０４を介して利用者端末１０２へ更新前のソフトウェアＩＣカードと更新後のソフトウェアＩＣカードとが送信される。ソフトウェアＩＣカード管理サーバ１０１から送信された更新前のソフトウェアＩＣカードと更新後のソフトウェアＩＣカードとが利用者端末１０２の受信部１２１にて受信されると、ステップ６９にて制御部１２６によってそれぞれのソフトウェアＩＣカードが利用者端末１０２の秘密鍵を用いて復号化される。なお、利用者端末１０２からソフトウェアＩＣカード管理サーバ１０１へのソフトウェアＩＣカードの要求については、ソフトウェアＩＣカードを要求する旨を示す信号が利用者端末１０２の送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されるものであり、その信号の形式についてはここでは特に規定しない。【０１１５】
そして、復号化された更新前のソフトウェアＩＣカードの利用者端末管理領域が更新後のソフトウェアＩＣカードの利用者端末管理領域にコピーされ、ステップ７０にて利用者端末１０２の公開鍵を用いて暗号化される。【０１１６】
その後、ステップ７１にて暗号化されたソフトウェアＩＣカードが送信部１２０からネットワーク１０４を介してソフトウェアＩＣカード管理サーバ１０１へ送信されることにより、アップロードされる。【０１１７】
なお、本発明においては、上述した機能を実現するためのプログラムをコンピュータにて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータに読み込ませ、実行するものであっても良い。コンピュータにて読取可能な記録媒体とは、フロッピーディスク（登録商標）、光磁気ディスク、ＤＶＤ、ＣＤなどの移設可能な記録媒体の他、コンピュータに内蔵されたＨＤＤ等を指す。この記録媒体に記録されたプログラムは、例えば、本発明においてコンピュータに相当するソフトウェアＩＣカード管理サーバ１０１、利用者端末１０２及びサービス提供サーバ１０３−１のＣＰＵ（ソフトウェアＩＣカード管理サーバ１０１のソフトウェアＩＣカード作成部１１２、利用者端末１０２の制御部１２６及びサービス提供サーバ１０３−１の制御部１３４）にて読み込まれ、ＣＰＵの制御によって、上述したものと同様の処理が行われる。【０１１８】
以上説明したように本発明においては、ソフトウェアＩＣカードを用いることにより、物理的なＩＣカードとは異なり、ネットワークを介して交換することが可能である。【０１１９】
また、ＩＣカード内の処理をソフトウェアで実現するため、機能を柔軟に持たせることができる。つまり、ＩＣカードの機能構成を柔軟に変更できるため、ソフトウェアＩＣカード内の情報や機能を容易に更新することができる。【０１２０】
さらに、安全に鍵管理可能なセキュリティモジュールを利用することで、ソフトウェアＩＣカードの安全性を保証することができる。【０１２１】
上述したように本発明のソフトウェアＩＣカードシステムにおいて、管理サーバは、端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを端末へ送信しても良い。【０１２２】
また、端末は、端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて第１の電子署名を付与しても良い。【０１２３】
また、端末は、送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化し、復号化されたソフトウェアＩＣカードをサービス提供サーバへ送信し、サービス提供サーバは、端末から送信されてきたソフトウェアＩＣカードの第２の電子署名が管理サーバのものであるか否かを検証し、第２のソフトウェア領域を共通鍵を用いて復号化し、第３の電子署名が管理サーバのものであるか否かを検証するとともに第１の電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証し、すべての検証の結果が正しい場合、端末へサービスを提供しても良い。【０１２４】
また、端末は、管理サーバから送信されてきたソフトウェアＩＣカードを復号化し、復号化されたソフトウェアＩＣカードの第３のソフトウェア領域を更新し、更新されたソフトウェアＩＣカードを暗号化して管理サーバへ送信しても良い。【０１２５】
また、端末は、端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて送信されてきたソフトウェアＩＣカードを復号化しても良い。【０１２６】
また、ハードウェアセキュリティモジュールは、ＴＰＭであっても良い。【０１２７】
また、上述したように本発明のサービス提供方法において、管理サーバが、端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを端末へ送信する処理を有しても良い。【０１２８】
また、端末が、端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて第１の電子署名を付与する処理を有しても良い。【０１２９】
また、端末が、要求したソフトウェアＩＣカードが管理サーバから送信されてきた場合、送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化する処理と、端末が、復号化されたソフトウェアＩＣカードをサービス提供サーバへ送信する処理と、サービス提供サーバが、端末から送信されてきたソフトウェアＩＣカードの第２の電子署名が管理サーバのものであるか否かを検証する処理と、サービス提供サーバが、第２のソフトウェア領域を共通鍵を用いて復号化する処理と、サービス提供サーバが、第３の電子署名が管理サーバのものであるか否かを検証する処理と、サービス提供サーバが、第１の電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証する処理と、すべての検証の結果が正しい場合、サービス提供サーバが、端末へサービスを提供する処理とを有しても良い。【０１３０】
また、端末が、管理サーバから送信されてきたソフトウェアＩＣカードを復号化する処理と、端末が、復号化されたソフトウェアＩＣカードの第３のソフトウェア領域を更新する処理と、端末が、更新されたソフトウェアＩＣカードを暗号化する処理と、端末が、暗号化したソフトウェアＩＣカードを管理サーバへ送信する処理とを有しても良い。【０１３１】
また、端末が、端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて送信されてきたソフトウェアＩＣカードを復号化する処理を有しても良い。【０１３２】
また、端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを端末へ送信する手順を管理サーバに実行させても良い。【０１３３】
また、要求したソフトウェアＩＣカードが管理サーバから送信されてきた場合、送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化する手順と、復号化されたソフトウェアＩＣカードをサービス提供サーバへ送信する手順とを端末に実行させても良い。【０１３４】
また、管理サーバから送信されてきたソフトウェアＩＣカードを復号化する手順と、復号化されたソフトウェアＩＣカードの端末管理情報が格納されている領域を更新する手順と、更新されたソフトウェアＩＣカードを暗号化する手順と、暗号化されたソフトウェアＩＣカードを管理サーバへ送信する手順とを端末に実行させても良い。【０１３５】
また、端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて送信されてきたソフトウェアＩＣカードを復号化する手順を端末に実行させても良い。【０１３６】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【０１３７】
この出願は、２００７年３月２８日に出願された日本出願特願２００７−０８４５７１を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008117550.tif 000003
【図２】
2008117550.tif 000004
【図３】
2008117550.tif 000005
【図４】
2008117550.tif 000006
【図５】
2008117550.tif 000007
【図６】
2008117550.tif 000008
【図７】
2008117550.tif 000009
【図８】
2008117550.tif 000010
【図９】
2008117550.tif 000011
【図１０】
2008117550.tif 000012
【図１１】
2008117550.tif 000013
【手続補正書】
【提出日】平成20年11月7日(2008.11.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
端末と、該端末にサービスを提供するサービス提供サーバと、前記サービスを提供するためのソフトウェアを管理する管理サーバとを有するソフトウェアＩＣカードシステムにおいて、
前記端末は、利用者を識別可能な利用者情報に第１の電子署名を付与し、前記第１の電子署名が付与された利用者情報を前記管理サーバへ送信し、
前記管理サーバは、前記ソフトウェアのハッシュ値を計算し、前記ソフトウェアに第２の電子署名を付与し、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成し、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与し、該第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成し、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化し、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成し、作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化し、前記ソフトウェアＩＣカードを前記端末へ送信することを特徴とするソフトウェアＩＣカードシステム。
【請求項２】
請求項１に記載のソフトウェアＩＣカードシステムにおいて、
前記管理サーバは、前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信することを特徴とするソフトウェアＩＣカードシステム。
【請求項３】
請求項１または請求項２に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて前記第１の電子署名を付与することを特徴とするソフトウェアＩＣシステム。
【請求項４】
請求項１乃至３のいずれか１項に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化し、該復号化されたソフトウェアＩＣカードを前記サービス提供サーバへ送信し、
前記サービス提供サーバは、前記端末から送信されてきたソフトウェアＩＣカードの前記第２の電子署名が前記管理サーバのものであるか否かを検証し、前記第２のソフトウェア領域を前記共通鍵を用いて復号化し、前記第３の電子署名が前記管理サーバのものであるか否かを検証するとともに前記第１の電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証し、前記すべての検証の結果が正しい場合、前記端末へサービスを提供することを特徴とするソフトウェアＩＣカードシステム。
【請求項５】
請求項１乃至請求項４のいずれか１項に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、前記管理サーバから送信されてきたソフトウェアＩＣカードを復号化し、復号化されたソフトウェアＩＣカードの第３のソフトウェア領域を更新し、更新されたソフトウェアＩＣカードを暗号化して前記管理サーバへ送信することを特徴とするソフトウェアＩＣカードシステム。
【請求項６】
請求項４または請求項５に記載のソフトウェアＩＣカードシステムにおいて、
前記端末は、前記端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて前記送信されてきたソフトウェアＩＣカードを復号化することを特徴とするソフトウェアＩＣカードシステム。
【請求項７】
請求項３または請求項５または請求項６に記載のソフトウェアＩＣカードシステムにおいて、
前記ハードウェアセキュリティモジュールは、ＴＰＭであることを特徴とするソフトウェアＩＣカードシステム。
【請求項８】
第１の電子署名が付与された利用者情報を送信する端末へサービス提供サーバからサービスを提供するためのソフトウェアを管理する管理サーバであって、
前記ソフトウェアのハッシュ値を計算し、前記ソフトウェアに第２の電子署名を付与し、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成し、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与し、該第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成し、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化し、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成し、作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化し、前記ソフトウェアＩＣカードを前記端末へ送信する管理サーバ。
【請求項９】
請求項８に記載の管理サーバにおいて、
前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信することを特徴とする管理サーバ。
【請求項１０】
（削除）
【請求項１１】
（削除）
【請求項１２】
（削除）
【請求項１３】
（削除）
【請求項１４】
（削除）
【請求項１５】
端末にサービスを提供し、前記サービスを提供するためのソフトウェアを管理する管理サーバに接続されたサービス提供サーバであって、
前記端末から送信されてきたソフトウェアＩＣカードに格納された第１のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証し、前記ソフトウェアＩＣカードに格納された第２のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証し、前記第２のソフトウェア領域に格納された利用者情報に付与された電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証し、前記すべての検証の結果が正しい場合、前記端末へサービスを提供するサービス提供サーバ。
【請求項１６】
端末と、該端末にサービスを提供するサービス提供サーバと、前記サービスを提供するためのソフトウェアを管理する管理サーバとを有するソフトウェアＩＣカードシステムにおけるサービス提供方法であって、
前記端末が、利用者を識別可能な利用者情報に第１の電子署名を付与する処理と、
前記端末が、前記第１の電子署名が付与された利用者情報を前記管理サーバへ送信する処理と、
前記管理サーバが、前記ソフトウェアのハッシュ値を計算する処理と、
前記管理サーバが、前記ソフトウェアに第２の電子署名を付与する処理と、
前記管理サーバが、前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成する処理と、
前記管理サーバが、前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与する処理と、
前記管理サーバが、前記第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成する処理と、
前記管理サーバが、前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化する処理と、
前記管理サーバが、前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成する処理と、
前記管理サーバが、前記作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化する処理と、
前記管理サーバが、前記ソフトウェアＩＣカードを前記端末へ送信する処理とを有するサービス提供方法。
【請求項１７】
請求項１６に記載のサービス提供方法において、
前記管理サーバが、前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信する処理を有することを特徴とするサービス提供方法。
【請求項１８】
請求項１６または請求項１７に記載のサービス提供方法において、
前記端末が、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の秘密鍵を用いて前記第１の電子署名を付与する処理を有することを特徴とするサービス提供方法。
【請求項１９】
請求項１６乃至１８のいずれか１項に記載のサービス提供方法において、
前記端末が、要求したソフトウェアＩＣカードが前記管理サーバから送信されてきた場合、前記送信されてきたソフトウェアＩＣカードを当該端末の秘密鍵を用いて復号化する処理と、
前記端末が、前記復号化されたソフトウェアＩＣカードを前記サービス提供サーバへ送信する処理と、
前記サービス提供サーバが、前記端末から送信されてきたソフトウェアＩＣカードの前記第２の電子署名が前記管理サーバのものであるか否かを検証する処理と、
前記サービス提供サーバが、前記第２のソフトウェア領域を前記共通鍵を用いて復号化する処理と、
前記サービス提供サーバが、前記第３の電子署名が前記管理サーバのものであるか否かを検証する処理と、
前記サービス提供サーバが、前記第１の電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証する処理と、
前記すべての検証の結果が正しい場合、前記サービス提供サーバが、前記端末へサービスを提供する処理とを有することを特徴とするサービス提供方法。
【請求項２０】
請求項１６乃至請求項１９のいずれか１項に記載のサービス提供方法において、
前記端末が、前記管理サーバから送信されてきたソフトウェアＩＣカードを復号化する処理と、
前記端末が、前記復号化されたソフトウェアＩＣカードの第３のソフトウェア領域を更新する処理と、
前記端末が、前記更新されたソフトウェアＩＣカードを暗号化する処理と、
前記端末が、前記暗号化したソフトウェアＩＣカードを前記管理サーバへ送信する処理とを有することを特徴とするサービス提供方法。
【請求項２１】
請求項１９または請求項２０に記載のサービス提供方法において、
前記端末が、該端末固有に搭載されたハードウェアセキュリティモジュールに記憶した当該端末の復号鍵を用いて前記送信されてきたソフトウェアＩＣカードを復号化する処理を有することを特徴とするサービス提供方法。
【請求項２２】
第１の電子署名が付与された利用者情報を送信する端末へサービス提供サーバからサービスを提供するためのソフトウェアを管理する管理サーバに、
前記ソフトウェアのハッシュ値を計算する手順と、
前記ソフトウェアに第２の電子署名を付与する手順と、
前記第２の電子署名が付与されたソフトウェアから第１のソフトウェア領域を生成する手順と、
前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者を管理するための利用者管理情報とに第３の電子署名を付与する手順と、
前記第３の電子署名と前記第１の電子署名が付与された利用者情報と前記ハッシュ値と前記利用者管理情報とから第２のソフトウェア領域を生成する手順と、
前記第２のソフトウェア領域を前記管理サーバと前記サービス提供サーバとの共通鍵を用いて暗号化する手順と、
前記第１のソフトウェア領域と前記暗号化された第２のソフトウェア領域とを併せてソフトウェアＩＣカードを作成する手順と、
作成された前記ソフトウェアＩＣカードを前記端末の公開鍵を用いて暗号化する手順と、
前記ソフトウェアＩＣカードを前記端末へ送信する手順とを実行させるプログラム。
【請求項２３】
請求項２２に記載のプログラムにおいて、
前記端末から当該ソフトウェアＩＣカードが要求された場合、当該ソフトウェアＩＣカードを前記端末へ送信する手順を実行させることを特徴とするプログラム。
【請求項２４】
（削除）
【請求項２５】
（削除）
【請求項２６】
（削除）
【請求項２７】
（削除）
【請求項２８】
端末にサービスを提供し、前記サービスを提供するためのソフトウェアを管理する管理サーバに接続されたサービス提供サーバに、
前記端末から送信されてきたソフトウェアＩＣカードに格納された第１のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証する手順と、
前記ソフトウェアＩＣカードに格納された第２のソフトウェア領域に付与された電子署名が前記管理サーバのものであるか否かを検証する手順と、
前記第２のソフトウェア領域に格納された利用者情報に付与された電子署名が当該ソフトウェアＩＣカードの送信元の端末のものであるか否かを検証する手順と、
前記すべての検証の結果が正しい場合、前記端末へサービスを提供する手順とを実行させるプログラム。
【請求項２９】
ソフトウェアカードを生成する管理サーバであって、
利用者を識別するための利用者識別情報に該利用者の第１電子署名を付与し、前記利用者識別情報と前記第１電子署名とに当該管理サーバが有する第２電子署名を付与し、前記利用者識別情報を外部に接続された外部装置に通信するためのソフトウェアに当該管理サーバの第３電子署名を付与し、前記利用者識別情報と、前記第１電子署名と、前記第２電子署名と、前記第３電子署名と、前記ソフトウェアとを含むソフトウェアカードを生成する管理サーバ。
【請求項３０】
請求項２９に記載の管理サーバにおいて、
前記利用者識別情報と、前記第１電子署名と、前記第２電子署名とを暗号化し、前記生成ではパスワードを含むソフトウェアカードを生成し、前記ソフトウェアが前記パスワードを用いた照合により前記暗号化を復号するためのソフトウェアを含むことを特徴とする管理サーバ。
【請求項３１】
利用者を識別するための利用者識別情報と、前記利用者識別情報に対する利用者の第１電子署名と、前記利用者識別情報と第１電子署名とに対するソフトウェアカードを生成する管理サーバが有する第２電子署名と、前記利用者識別情報を外部に接続された外部装置に通信するソフトウェアに対する前記管理サーバが有する第３電子署名と、前記ソフトウェアとを含むソフトウェアカードとを受信し、前記第１電子署名と、前記第２電子署名と、前記第３電子署名とを検証し、検証された場合に前記ソフトウェアを実行して前記利用者識別情報を前記外部装置に通信するサービス提供装置。
【請求項３２】
請求項３１に記載のサービス提供装置において、
前記利用者識別情報と、第１電子署名と、第２電子署名とは暗号化されており、前記ソフトウェアカードはパスワードを含み、前記ソフトウェアの実行により入力されたパスワードと前記ソフトウェアカードのパスワードとを照合し、検証された場合に、前記暗号化された利用者識別情報と、第１電子署名と、第２電子署名とを復号することを特徴とするサービス提供装置。
【請求項３３】
利用者を識別するための利用者識別情報に利用者の第１電子署名を付与し、前記利用者識別情報と前記第１電子署名とにソフトウェアカードを生成する管理サーバが有する第２電子署名を付与し、前記利用者識別情報を外部に接続された外部装置に通信するためのソフトウェアに管理サーバが有する第３電子署名を付与し、前記利用者識別情報と、前記第１電子署名と、前記第２電子署名と、前記第３電子署名と、前記ソフトウェアとを含むソフトウェアカードを生成するソフトウェアカード生成方法。
【請求項３４】
請求項３３に記載のソフトウェアカード生成方法において、
前記利用者識別情報と、前記第１電子署名と、前記第２電子署名とを暗号化し、前記生成ではパスワードを含むソフトウェアカードを生成し、前記ソフトウェアが前記パスワードを用いた照合により前記暗号化を復号するためのソフトウェアを含むことを特徴とするソフトウェアカード生成方法。
【請求項３５】
利用者を識別するための利用者識別情報と、前記利用者識別情報に対する利用者の第１電子署名と、前記利用者識別情報と第１電子署名とに対するソフトウェアカードを生成する管理サーバが有する第２電子署名と、前記利用者識別情報を外部に接続された外部装置に通信するソフトウェアに対する前記管理サーバが有する第３電子署名と、前記ソフトウェアとを含むソフトウェアカードを受信し、前記第１電子署名と、前記第２電子署名と、前記第３電子署名とを検証し、検証された場合に前記ソフトウェアを実行して前記利用者識別情報を前記外部装置に通信するソフトウェアカード利用方法。
【請求項３６】
請求項３５に記載のソフトウェアカード利用方法において、
前記利用者識別情報と、第１電子署名と、第２電子署名とは暗号化されており、前記ソフトウェアカードはパスワードを含み、前記ソフトウェアの実行により入力されたパスワードと前記ソフトウェアカードのパスワードとを照合し、検証された場合に、前記暗号化された利用者識別情報と、第１電子署名と、第２電子署名とを復号することを特徴とするソフトウェアカード利用方法。
【請求項３７】
利用者を識別するための利用者識別情報と、前記利用者識別情報に対する利用者の第１電子署名と、前記利用者識別情報と第１電子署名とに対するソフトウェアカードを生成する管理サーバが有する第２電子署名と、前記利用者識別情報を外部に接続された外部装置に通信するためのソフトウェアに対する前記管理サーバが有する第３電子署名と、前記ソフトウェアとを含むソフトウェアカード。
【請求項３８】
請求項３７に記載のソフトウェアカードにおいて、
前記利用者識別情報と、第１電子署名と、第２電子署名とが暗号化されており、当該ソフトウェアカードがパスワードを含み、前記ソフトウェアが前記パスワードを用いた照合により前記暗号化を復号するためのソフトウェアを含むことを特徴とすソフトウェアカード。
【請求項３９】
ソフトウェアカードを生成する管理サーバに、
利用者を識別するための利用者識別情報に該利用者の第１電子署名を付与する手順と、
前記利用者識別情報と前記第１電子署名とに当該管理サーバが有する第２電子署名を付与する手順と、
前記利用者識別情報を外部に接続された外部装置に通信するためのソフトウェアに当該管理サーバの第３電子署名を付与する手順と、
前記利用者識別情報と、前記第１電子署名と、前記第２電子署名と、前記第３電子署名と、前記ソフトウェアとを含むソフトウェアカードを生成する手順とを実行させるためのプログラム。
【請求項４０】
請求項３９に記載のプログラムにおいて、
前記利用者識別情報と、前記第１電子署名と、前記第２電子署名とを暗号化する手順と、
前記生成ではパスワードを含むソフトウェアカードを生成する手順と、
前記パスワードを用いた照合により前記暗号化を復号する手順とを実行させるためのプログラム。
【請求項４１】
利用者を識別するための利用者識別情報と、前記利用者識別情報に対する利用者の第１電子署名と、前記利用者識別情報と第１電子署名とに対するソフトウェアカードを生成する管理サーバが有する第２電子署名と、前記利用者識別情報を外部に接続された外部装置に通信するソフトウェアに対する前記管理サーバが有する第３電子署名と、前記ソフトウェアとを含むソフトウェアカードとを受信し、前記第１電子署名と、前記第２電子署名と、前記第３電子署名とを検証する手順と、
前記検証された場合に前記ソフトウェアを実行して前記利用者識別情報を前記外部装置に通信する手順とをコンピュータに実行させるためのプログラム。
【請求項４２】
請求項４１に記載のプログラムにおいて、
前記利用者識別情報と、第１電子署名と、第２電子署名とは暗号化されており、前記ソフトウェアカードはパスワードを含み、前記ソフトウェアの実行により入力されたパスワードと前記ソフトウェアカードのパスワードとを照合する手順と、
前記照合が検証された場合に、前記暗号化された利用者識別情報と、第１電子署名と、第２電子署名とを復号する手順とをコンピュータに実行させるためのプログラム。
【国際調査報告】
2008117550.tif 000014
2008117550.tif 000015