(57)【要約】【課題】サービスを享受する利用者の秘密鍵が盗まれる可能性のない、相互認証方法及びプログラム、該プログラムを記録した記録媒体、ＩＣカード、端末装置並びにＩＣカード管理サーバ装置の提供。【解決手段】アプリケーション用サーバ装置４と相互認証を行う端末装置２に接続され、公開鍵証明書・秘密鍵のペアを一以上読出・追加・更新可能に格納し、証明書管理テーブルを介して当該ペアを特定するキーコンテナ名を格納するアプリケーション対応情報格納領域ＤＦ１１と、当該ペアが格納されている場所とキーコンテナ名との対応関係を示す証明書管理テーブルＷＥＦ２１１とを持つ記憶手段１１と、記憶手段１１内の秘密鍵により、ディジタル署名の作成、データの暗号化を行う暗号認証用モジュール１３とを具備する、という特徴的構成手段の採用。【選択図】図３
2004153711.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを提供するアプリケーション用サーバ装置と、ＩＣカードが接続される端末装置と相互認証を行う方法であって、
アプリケーション用サーバ装置から、アプリケーション対応情報格納領域を特定する場所情報と共に相互認証要求を受けた前記端末装置が、
公開鍵証明書・秘密鍵のペアを格納するファイルを支配下にもつ公開鍵証明書用ファイルを当該ペア毎に、当該ペアを特定するキーコンテナ名を格納するファイルを支配下に持つアプリケーション対応情報格納領域をアプリケーション毎に、キーコンテナ名と公開鍵証明書用ファイル名との対応付けを行う証明書管理テーブルを支配下に持つ証明書管理用ファイルを、ファイル構成とする前記ＩＣカードに対して、
第１段階として、当該受けた場所情報に基いて、キーコンテナ名の読出しを行い、
第２段階として、当該読出したキーコンテナ名に基いて、前記証明書管理テーブルを用いて公開鍵証明書用ファイル名の読出しを行い、
第３段階として、当該読出した公開鍵証明書用ファイル名に基いて、公開鍵証明書の読出しを行う、
以上の段階を踏んで、前記端末装置が、前記ＩＣカードに格納されている公開鍵証明書を、キーコンテナ名と対応して取得した後に、前記アプリケーション用サーバ装置に対して、相互認証の許可を通知する、
ことを特徴とする相互認証方法。
【請求項２】
前記方法は、
新たなアプリケーション並びに公開鍵証明書及び秘密鍵のペアの登録を行う場合には、
前記端末装置が、アプリケーション用サーバ装置に対して、ユーザ登録要求を、当該端末装置に接続されたＩＣカードから受けた証明書所有者名と共に送信するステップ、
当該アプリケーション用サーバ装置が、ＩＣカード管理サーバ装置に対して、そのアプリケーション名と証明書所有者名と共にユーザ登録を要求するステップ、
当該要求を受けたＩＣカード管理サーバ装置が、アプリケーション名−証明書所有者名管理ＤＢに対して受信したアプリケーション名及び証明書所有者名を追加した後に、前記端末装置に対して公開鍵を要求するステップ、
当該要求を受けた端末装置が、当該要求に応じて生成された公開鍵を前記ＩＣカード管理サーバ装置に送信するステップ、
当該送信された公開鍵を受けたＩＣ管理サーバ装置が、登録サーバ装置に、認証サーバ装置への署名依頼を含めて公開鍵証明書の発行申請を行うステップ、
当該発行申請に基いて、前記認証サーバ装置から配布された公開鍵証明書を、前記登録サーバ装置経由にて受けたＩＣカード管理サーバ装置が、前記端末装置に当該受けた公開鍵証明書を配布するステップ、
当該配布された公開鍵証明書を受けた端末装置が、前記接続されているＩＣカードに対して、必要となるファイルを創生し、当該受けた公開鍵証明書と秘密鍵のペア、そのアプリケーション用のキーコンテナ名をそれぞれ当該創生されたファイルに格納すると共に、前記証明書管理テーブルの更新を行うステップ、
を順に行う、
ことを特徴とする請求項１に記載の相互認証方法。
【請求項３】
アプリケーションを提供するアプリケーション用サーバ装置と相互認証を行う端末装置に接続されるカードであって、
公開鍵証明書・秘密鍵のペアを一以上読出・追加・更新可能に格納し、証明書管理テーブルを介して当該ペアを特定するキーコンテナ名を格納するアプリケーション対応情報格納領域と、前記カード内にて当該ペアが格納されている場所とキーコンテナ名との対応関係を示す前記証明書管理テーブルとを持つ、記憶手段、
当該記憶手段内の秘密鍵により、ディジタル署名の作成、データの暗号化を行う暗号認証用モジュール、
前記端末装置に対して前記記憶手段及び前記暗号認証用モジュールとの入出力の制御を行う入出力制御部、
を具備した、
ことを特徴とするＩＣカード。
【請求項４】
ＩＣカードと接続されて、アプリケーションを提供するアプリケーション用サーバ装置との相互認証を行う装置であって、
前記アプリケーション用サーバ装置から、そのアプリケーションに対応して公開鍵証明書及び秘密鍵のペアを特定するキーコンテナ名が格納されているアプリケーション対応情報格納領域を特定する場所情報と共に、相互認証要求を受信すると、当該受信したアプリケーション対応情報格納領域を特定する場所情報に基いて、前記接続されたＩＣカード内に格納されているそのアプリケーションが使用するキーコンテナ名を読出すアプリケーション対応キーコンテナ名取得モジュール、
当該アプリケーション対応キーコンテナ名取得モジュールにより読出されたキーコンテナ名に基いて、前記接続されたＩＣカード内に格納されている証明書管理テーブルより、証明書が格納されている場所情報を読出し、当該読出した場所情報に基いて公開鍵証明書を読出す暗号認証用モジュール、
前記アプリケーション対応キーコンテナ名取得モジュールにより読出したキーコンテナ名を指定し、前記接続されたＩＣカードに対してディジタル署名の作成、データの暗号化の要求をも行う前記暗号認証用モジュール、
を具備する、
ことを特徴とする端末装置。
【請求項５】
前記装置は、
前記接続されたＩＣカードに対してアプリケーション装置からのアプリケーションの登録を行うに当ってなされる、必要となる公開鍵・秘密鍵の生成又は当該ＩＣカードへの公開鍵・秘密鍵の生成要求、当該生成した公開鍵又は当該生成要求により当該ＩＣカードから取得した公開鍵の証明書である公開鍵証明書の発行手続、当該ＩＣカードのファイルの創生、当該創生したファイルへの公開鍵証明書と対応する秘密鍵の書込み、公開鍵証明書と対応する秘密鍵のペアを特定するユニークなキーコンテナ名の生成と当該ＩＣカードへの書込み、前記証明書管理テーブルの更新を行う、ＩＣカード発行モジュール、をも具備する、
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
前記装置は、
前記接続されたＩＣカードから公開鍵証明書を読出し、証明書ストアへ格納する証明書ストア登録モジュール、
当該証明書ストア登録モジュールにより前記読出しされた公開鍵証明書を対応するキーコンテナ名と共に格納する場所である証明書ストア、
をも具備する、
ことを特徴とする請求項４又は５に記載の端末装置。
【請求項７】
アプリケーションを提供するアプリケーション用サーバ装置と相互認証を行う端末装置に接続されるＩＣカード内の情報、アプリケーションにつき管理を行う装置であって、
アプリケーション名とそのアプリケーションに対応する公開鍵証明書・秘密鍵のペアが格納されている前記ＩＣカード内の場所を表すアプリケーション対応情報格納領域を特定する場所情報とを対に格納するアプリケーション対応情報管理テーブルを持ち、その読出、更新、追加を行う、アプリケーション用データ管理モジュールを具備した、
ことを特徴とするＩＣカード管理サーバ装置。
【請求項８】
前記装置は、
アプリケーション名毎にそのアプリケーション登録された証明書所有者名を格納するアプリケーション名−証明書所有者名管理ＤＢを、具備する、
ことを特徴とする請求項７に記載のＩＣカード管理サーバ装置。
【請求項９】
ＩＣカードとリーダライタを介して接続されかつネットワークを介してアプリケーションを提供するアプリケーション用サーバ装置に接続されているコンピュータに格納されて利用に供されるプログラムであり、
前記アプリケーション用サーバ装置から、そのアプリケーションに対応して公開鍵証明書及び秘密鍵のペアを特定するキーコンテナ名が格納されているアプリケーション対応情報格納領域を特定する場所情報と共に、相互認証要求を受信すると、当該受信したアプリケーション対応情報格納領域を特定する場所情報に基いて、前記接続されたＩＣカード内に格納されているそのアプリケーションが使用するキーコンテナ名を読出すアプリケーション対応キーコンテナ名取得機能、
当該アプリケーション対応キーコンテナ名取得機能により読出されたキーコンテナ名に基いて、前記接続されたＩＣカード内に格納されている証明書管理テーブルより、証明書が格納されている場所情報を読出し、当該読出した場所情報に基いて公開鍵証明書を読出す一方と、当該アプリケーション対応キーコンテナ名取得機能により読出したキーコンテナ名を指定し、前記接続されたＩＣカードに対してディジタル署名の作成、データの暗号化の要求をも行う暗号認証機能、
を前記コンピュータに実行させる、
ことを特徴とする相互認証用プログラム。
【請求項１０】
前記プログラムは、
前記接続されたＩＣカードに対してアプリケーション装置からのアプリケーションの登録を行うに当ってなされる、必要となる公開鍵・秘密鍵の生成又は当該ＩＣカードへの公開鍵・秘密鍵の生成要求、当該生成した公開鍵又は当該生成要求により当該ＩＣカードから取得した公開鍵の証明書である公開鍵証明書の発行手続、当該ＩＣカードのファイルの創生、当該創生したファイルへの公開鍵証明書と対応する秘密鍵の書込み、公開鍵証明書と対応する秘密鍵のペアを特定するユニークなキーコンテナ名の生成と当該ＩＣカードへの書込み、前記証明書管理テーブルの更新を行う、ＩＣカード発行機能を、前記コンピュータに実行させる、
ことを特徴とする請求項９に記載の相互認証プログラム。
【請求項１１】
前記プログラムは、
前記接続されたＩＣカードから公開鍵証明書を読出し、証明書ストアへ格納する証明書ストア登録機能、当該証明書ストア登録機能により前記読出しされた公開鍵証明書を対応するキーコンテナ名と共に格納する場所たるメモリ機能を、前記コンピュータに実行させる、
ことを特徴とする請求項９又は１０に記載の相互認証プログラム。
【請求項１２】
アプリケーションを提供するアプリケーション用サーバ装置と相互認証を行う端末装置とに接続されたコンピュータに格納されるプログラムであり、
アプリケーション名とそのアプリケーションに対応する公開鍵証明書・秘密鍵のペアが格納されている前記端末装置に接続されるＩＣカード内の場所を表すアプリケーション対応情報格納領域を特定する場所情報とを対に格納するアプリケーション対応情報管理テーブルを持たせ、その読出、更新、追加を行うアプリケーション用データ管理機能を、前記コンピュータに実行させる、
ことを特徴とする相互認証プログラム。
【請求項１３】
前記プログラムは、
アプリケーション名毎にそのアプリケーション登録された証明書所有者名を格納するアプリケーション名−証明書所有者名管理ＤＢ機能を、前記コンピュータに実行させる、
ことを特徴とする請求項１２に記載の相互認証プログラム。
【請求項１４】
請求項９、１０、１１、１２又は１３に記載のプログラムを実行する手続を実録した、
ことを特徴とする相互認証プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションによりサービスを提供するに当って行われる、アプリケーション用サーバ装置とＩＣカードが接続された端末装置との間における相互認証に関し、一以上のアプリケーション、ＩＣカードのそれぞれが公開鍵証明書及びそれに対応する秘密鍵を保持してその相互認証を行う相互認証方法及びその方法の発明の実施に直接使用する、相互認証プログラム、該プログラムを記録した記録媒体、ＩＣカード、端末装置及びＩＣカード管理サーバ装置に関する。
【０００２】
【従来の技術】
従来、サービスを受ける利用者の公開鍵証明書とそれに対応する秘密鍵の管理については、例えば、次のように行われている。
▲１▼一般的なＷｅｂブラウザ（Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｎｅｔｓｃａｐｅ  ｃｏｍｍｕｎｉｃａｔｏｒなど）においては、端末内に格納している。
【０００３】
▲２▼「鍵管理サーバシステム」（特開２０００−４９７６６）においては、公開鍵証明書とそれに対応する秘密鍵をセンタ装置において管理し、使用時に端末にダウンロードして端末に格納している。
▲３▼一般的なＷｅｂブラウザを使用し、かつ公開鍵証明書とそれに対応する秘密鍵を格納できるＡｃｔｉｖｅ  Ｃａｒｄなど（織田博靖他著、シーメディア社発行、「セキュリティＩＣカードの基礎と応用」、ｐ１５９参照）を使用する場合においては、その公開鍵証明書の選択を端末の利用者が行う必要がある。
【０００４】
【発明が解決しようとする課題】
しかしながら、▲１▼一般的なＷｅｂブラウザ、▲２▼「鍵管理サーバシステム」にあっては、秘密鍵が端末に格納されるので、盗まれる可能性があるという、セキュリティ上の問題がある。
更に、▲１▼一般的なＷｅｂブラウザを用いる場合には、端末にサービスを受ける利用者の秘密鍵を予め格納しなければならないことから、不特定又は多数が利用する端末によるサービスにおいては適用できないという、不利、不便さがある。
【０００５】
また、▲１▼一般的なＷｅｂブラウザを用いる場合には、各アプリケーションに使用する公開鍵証明書とそれに対応する秘密鍵のペアを、ＩＣカードに格納する場合であっても、端末の利用者は何れのペアを使用するかを指定する必要があり、利用者に対して大きな負担を課しており、何れのペアを使用すればよいのか分らない場合も多々生じる。
【０００６】
ここにおいて、本発明の解決すべき主要な目的は以下の通りである。
本発明の第１の目的は、サービスを受ける利用者の秘密鍵が盗まれる可能性のない、相互認証方法及びプログラム、該プログラムを記録した記録媒体、ＩＣカード、端末装置並びにＩＣカード管理サーバ装置を提供することにある。
【０００７】
本発明の第２の目的は、不特定又は多数の者が利用する端末においてもサービスを受けられる、相互認証方法及びプログラム、該プログラムを記録した記録媒体、ＩＣカード、端末装置並びにＩＣカード管理サーバ装置を提供することにある。
【０００８】
本発明の第３の目的は、利用者がサービスを受ける際に、何れの公開鍵証明書を使用すればよいかを利用者が意識する必要のない、相互認証方法及びプログラム、該プログラムを記録した記録媒体、ＩＣカード、端末装置並びにＩＣカード管理サーバ装置を提供することにある。
【０００９】
本発明の他の目的は、明細書、図面、特に特許請求の範囲における各請求項の記載から自ずと明らかとなろう。
【００１０】
【課題を解決するための手段】
本発明方法は、上記課題の解決に当り、アプリケーションを提供するアプリケーション用サーバ装置と、ＩＣカードが接続される端末装置と相互認証を行うに当って、アプリケーション用サーバ装置から、アプリケーション対応情報格納領域を特定する場所情報と共に相互認証要求を受けた当該端末装置が、公開鍵証明書・秘密鍵のペアを格納するファイルを支配下にもつ公開鍵証明書用ファイルを当該ペア毎に、当該ペアを特定するキーコンテナ名を格納するファイルを支配下に持つアプリケーション対応情報格納領域をアプリケーション毎に、キーコンテナ名と公開鍵証明書用ファイル名との対応付けを行う証明書管理テーブルを支配下に持つ証明書管理用ファイルを、ファイル構成とする当該ＩＣカードに対して、第１段階として、当該受けた場所情報に基いて、キーコンテナ名の読出しを行い、第２段階として、当該読出したキーコンテナ名に基いて、当該証明書管理テーブルを用いて公開鍵証明書用ファイル名の読出しを行い、第３段階として、当該読出した公開鍵証明書用ファイル名に基いて、公開鍵証明書の読出しを行う、以上の段階を踏んで、当該端末装置が、当該ＩＣカードに格納されている公開鍵証明書を、キーコンテナ名と対応して取得した後に、当該アプリケーション用サーバ装置に対して、相互認証の許可を通知する、という特徴的構成手法を講じる。
【００１１】
本発明カードは、上記課題の解決に当り、公開鍵証明書・秘密鍵のペアを一以上読出・追加・更新可能に格納し、証明書管理テーブルを介して当該ペアを特定するキーコンテナ名を格納するアプリケーション対応情報格納領域と、カード内にて当該ペアが格納されている場所とキーコンテナ名との対応関係を示す当該証明書管理テーブルとを持つ、記憶手段、当該記憶手段内の秘密鍵により、ディジタル署名の作成、データの暗号化を行う暗号認証用モジュール、端末装置に対して当該記憶手段及び当該暗号認証用モジュールとの入出力の制御を行う入出力制御部を具備する、という特徴的構成手段を講じる。
【００１２】
本発明端末装置は、上記課題の解決に当り、アプリケーション用サーバ装置から、そのアプリケーションに対応して公開鍵証明書及び秘密鍵のペアを特定するキーコンテナ名が格納されているアプリケーション対応情報格納領域を特定する場所情報と共に、相互認証要求を受信すると、当該受信したアプリケーション対応情報格納領域を特定する場所情報に基いて、接続されたＩＣカード内に格納されているそのアプリケーションが使用するキーコンテナ名を読出すアプリケーション対応キーコンテナ名取得モジュール、当該アプリケーション対応キーコンテナ名取得モジュールにより読出されたキーコンテナ名に基いて、当該接続されたＩＣカード内に格納されている証明書管理テーブルより、証明書が格納されている場所情報を読出し、当該読出した場所情報に基いて公開鍵証明書を読出す暗号認証用モジュール、当該アプリケーション対応キーコンテナ名取得モジュールにより読出したキーコンテナ名を指定し、当該接続されたＩＣカードに対してディジタル署名の作成、データの暗号化の要求をも行う当該暗号認証用モジュールを具備する、という特徴的構成手段を講じる。
【００１３】
本発明サーバ装置は、上記課題の解決に当り、アプリケーション名とそのアプリケーションに対応する公開鍵証明書・秘密鍵のペアが格納されているＩＣカード内の場所を表すアプリケーション対応情報格納領域を特定する場所情報とを対に格納するアプリケーション対応情報管理テーブルを持ち、その読出、更新、追加を行う、アプリケーション用データ管理モジュールを具備する、という特徴的構成手段を講じる。
【００１４】
本発明プログラムは、上記課題の解決に当り、本発明端末装置、本発明サーバ装置における構成内部機能の稼動手順を、それぞれ一般のコンピュータに実行させる、という特徴的構成手順を講じる。
【００１５】
本発明記録媒体は、上記課題の解決に当り、本発明プログラムの手順を実行可能な手続として媒体に実録するという、特徴的構成手続を講じる。
【００１６】
更に、具体的詳細に述べると、当該課題の解決では、本発明が次に列挙する新規な特徴的構成手法、手段、手順又は手続を採用することにより、上記目的を達成するようになされる。
【００１７】
本発明方法の第１の特徴は、アプリケーションを提供するアプリケーション用サーバ装置と、ＩＣカードが接続される端末装置と相互認証を行う方法であって、アプリケーション用サーバ装置から、アプリケーション対応情報格納領域を特定する場所情報と共に相互認証要求を受けた前記端末装置が、公開鍵証明書・秘密鍵のペアを格納するファイルを支配下にもつ公開鍵証明書用ファイルを当該ペア毎に、当該ペアを特定するキーコンテナ名を格納するファイルを支配下に持つアプリケーション対応情報格納領域をアプリケーション毎に、キーコンテナ名と公開鍵証明書用ファイル名との対応付けを行う証明書管理テーブルを支配下に持つ証明書管理用ファイルを、ファイル構成とする前記ＩＣカードに対して、第１段階として、当該受けた場所情報に基いて、キーコンテナ名の読出しを行い、第２段階として、当該読出したキーコンテナ名に基いて、前記証明書管理テーブルを用いて公開鍵証明書用ファイル名の読出しを行い、第３段階として、当該読出した公開鍵証明書用ファイル名に基いて、公開鍵証明書の読出しを行う、以上の段階を踏んで、前記端末装置が、前記ＩＣカードに格納されている公開鍵証明書を、キーコンテナ名と対応して取得した後に、前記アプリケーション用サーバ装置に対して、相互認証の許可を通知してなる、相互認証方法の構成採用にある。
【００１８】
本発明方法の第２の特徴は、上記本発明方法の第１の特徴における前記方法が、新たなアプリケーション並びに公開鍵証明書及び秘密鍵のペアの登録を行う場合には、前記端末装置が、アプリケーション用サーバ装置に対して、ユーザ登録要求を、当該端末装置に接続されたＩＣカードから受けた証明書所有者名と共に送信するステップ、当該アプリケーション用サーバ装置が、ＩＣカード管理サーバ装置に対して、そのアプリケーション名と証明書所有者名と共にユーザ登録を要求するステップ、当該要求を受けたＩＣカード管理サーバ装置が、アプリケーション名−証明書所有者名管理ＤＢに対して受信したアプリケーション名及び証明書所有者名を追加した後に、前記端末装置に対して公開鍵を要求するステップ、当該要求を受けた端末装置が、当該要求に応じて生成された公開鍵を前記ＩＣカード管理サーバ装置に送信するステップ、当該送信された公開鍵を受けたＩＣ管理サーバ装置が、登録サーバ装置に、認証サーバ装置への署名依頼を含めて公開鍵証明書の発行申請を行うステップ、当該発行申請に基いて、前記認証サーバ装置から配布された公開鍵証明書を、前記登録サーバ装置経由にて受けたＩＣカード管理サーバ装置が、前記端末装置に当該受けた公開鍵証明書を配布するステップ、当該配布された公開鍵証明書を受けた端末装置が、前記接続されているＩＣカードに対して、必要となるファイルを創生し、当該受けた公開鍵証明書と秘密鍵のペア、そのアプリケーション用のキーコンテナ名をそれぞれ当該創生されたファイルに格納すると共に、前記証明書管理テーブルの更新を行うステップ、を順に行ってなる、相互認証方法の構成採用にある。
【００１９】
本発明カードの第１の特徴は、アプリケーションを提供するアプリケーション用サーバ装置と相互認証を行う端末装置に接続されるカードであって、公開鍵証明書・秘密鍵のペアを一以上読出・追加・更新可能に格納し、証明書管理テーブルを介して当該ペアを特定するキーコンテナ名を格納するアプリケーション対応情報格納領域と、前記カード内にて当該ペアが格納されている場所とキーコンテナ名との対応関係を示す前記証明書管理テーブルとを持つ、記憶手段、当該記憶手段内の秘密鍵により、ディジタル署名の作成、データの暗号化を行う暗号認証用モジュール、前記端末装置に対して前記記憶手段及び前記暗号認証用モジュールとの入出力の制御を行う入出力制御部、を具備してなる、ＩＣカードの構成採用にある。
【００２０】
本発明装置の第１の特徴は、ＩＣカードと接続されて、アプリケーションを提供するアプリケーション用サーバ装置との相互認証を行う装置であって、前記アプリケーション用サーバ装置から、そのアプリケーションに対応して公開鍵証明書及び秘密鍵のペアを特定するキーコンテナ名が格納されているアプリケーション対応情報格納領域を特定する場所情報と共に、相互認証要求を受信すると、当該受信したアプリケーション対応情報格納領域を特定する場所情報に基いて、前記接続されたＩＣカード内に格納されているそのアプリケーションが使用するキーコンテナ名を読出すアプリケーション対応キーコンテナ名取得モジュール、当該アプリケーション対応キーコンテナ名取得モジュールにより読出されたキーコンテナ名に基いて、前記接続されたＩＣカード内に格納されている証明書管理テーブルより、証明書が格納されている場所情報を読出し、当該読出した場所情報に基いて公開鍵証明書を読出す暗号認証用モジュール、前記アプリケーション対応キーコンテナ名取得モジュールにより読出したキーコンテナ名を指定し、前記接続されたＩＣカードに対してディジタル署名の作成、データの暗号化の要求をも行う前記暗号認証用モジュール、を具備してなる、端末装置の構成採用にある。
【００２１】
本発明装置の第２の特徴は、上記本発明装置の第１の特徴における前記装置が、前記接続されたＩＣカードに対してアプリケーション装置からのアプリケーションの登録を行うに当ってなされる、必要となる公開鍵・秘密鍵の生成又は当該ＩＣカードへの公開鍵・秘密鍵の生成要求、当該生成した公開鍵又は当該生成要求により当該ＩＣカードから取得した公開鍵の証明書である公開鍵証明書の発行手続、当該ＩＣカードのファイルの創生、当該創生したファイルへの公開鍵証明書と対応する秘密鍵の書込み、公開鍵証明書と対応する秘密鍵のペアを特定するユニークなキーコンテナ名の生成と当該ＩＣカードへの書込み、前記証明書管理テーブルの更新を行う、ＩＣカード発行モジュール、をも具備してなる、端末装置の構成採用にある。
【００２２】
本発明装置の第３の特徴は、上記本発明装置の第１又は第２の特徴における前記装置が、前記接続されたＩＣカードから公開鍵証明書を読出し、証明書ストアへ格納する証明書ストア登録モジュール、当該証明書ストア登録モジュールにより前記読出しされた公開鍵証明書を対応するキーコンテナ名と共に格納する場所である証明書ストア、をも具備してなる、端末装置の構成採用にある。
【００２３】
本発明装置の第４の特徴は、アプリケーションを提供するアプリケーション用サーバ装置と相互認証を行う端末装置に接続されるＩＣカード内の情報、アプリケーションにつき管理を行う装置であって、アプリケーション名とそのアプリケーションに対応する公開鍵証明書・秘密鍵のペアが格納されている前記ＩＣカード内の場所を表すアプリケーション対応情報格納領域を特定する場所情報とを対に格納するアプリケーション対応情報管理テーブルを持ち、その読出、更新、追加を行う、アプリケーション用データ管理モジュールを具備してなる、ＩＣカード管理サーバ装置の構成採用にある。
【００２４】
本発明装置の第５の特徴は、上記本発明装置の第４の特徴における前記装置が、アプリケーション名毎にそのアプリケーション登録された証明書所有者名を格納するアプリケーション名−証明書所有者名管理ＤＢを、具備してなる、ＩＣカード管理サーバ装置の構成採用にある。
【００２５】
本発明プログラムの第１の特徴は、ＩＣカードとリーダライタを介して接続されかつネットワークを介してアプリケーションを提供するアプリケーション用サーバ装置に接続されているコンピュータに格納されて利用に供されるプログラムであり、前記アプリケーション用サーバ装置から、そのアプリケーションに対応して公開鍵証明書及び秘密鍵のペアを特定するキーコンテナ名が格納されているアプリケーション対応情報格納領域を特定する場所情報と共に、相互認証要求を受信すると、当該受信したアプリケーション対応情報格納領域を特定する場所情報に基いて、前記接続されたＩＣカード内に格納されているそのアプリケーションが使用するキーコンテナ名を読出すアプリケーション対応キーコンテナ名取得機能、当該アプリケーション対応キーコンテナ名取得機能により読出されたキーコンテナ名に基いて、前記接続されたＩＣカード内に格納されている証明書管理テーブルより、証明書が格納されている場所情報を読出し、当該読出した場所情報に基いて公開鍵証明書を読出す一方と、当該アプリケーション対応キーコンテナ名取得機能により読出したキーコンテナ名を指定し、前記接続されたＩＣカードに対してディジタル署名の作成、データの暗号化の要求をも行う暗号認証機能、を前記コンピュータに実行させてなる、相互認証用プログラムの構成採用にある。
【００２６】
本発明プログラムの第２の特徴は、上記本発明プログラムの第１の特徴における前記プログラムが、前記接続されたＩＣカードに対してアプリケーション装置からのアプリケーションの登録を行うに当ってなされる、必要となる公開鍵・秘密鍵の生成又は当該ＩＣカードへの公開鍵・秘密鍵の生成要求、当該生成した公開鍵又は当該生成要求により当該ＩＣカードから取得した公開鍵の証明書である公開鍵証明書の発行手続、当該ＩＣカードのファイルの創生、当該創生したファイルへの公開鍵証明書と対応する秘密鍵の書込み、公開鍵証明書と対応する秘密鍵のペアを特定するユニークなキーコンテナ名の生成と当該ＩＣカードへの書込み、前記証明書管理テーブルの更新を行う、ＩＣカード発行機能を、前記コンピュータに実行させてなる、相互認証プログラムの構成採用にある。
【００２７】
本発明プログラムの第３の特徴は、上記本発明プログラムの第１又は第２の特徴における前記プログラムが、前記接続されたＩＣカードから公開鍵証明書を読出し、証明書ストアへ格納する証明書ストア登録機能、当該証明書ストア登録機能により前記読出しされた公開鍵証明書を対応するキーコンテナ名と共に格納する場所たるメモリ機能を、前記コンピュータに実行させてなる、相互認証プログラムの構成採用にある。
【００２８】
本発明プログラムの第４の特徴は、アプリケーションを提供するアプリケーション用サーバ装置と相互認証を行う端末装置とに接続されたコンピュータに格納されるプログラムであり、アプリケーション名とそのアプリケーションに対応する公開鍵証明書・秘密鍵のペアが格納されている前記端末装置に接続されるＩＣカード内の場所を表すアプリケーション対応情報格納領域を特定する場所情報とを対に格納するアプリケーション対応情報管理テーブルを持たせ、その読出、更新、追加を行うアプリケーション用データ管理機能を、前記コンピュータに実行させてなる、相互認証プログラムの構成採用にある。
【００２９】
本発明プログラムの第５の特徴は、上記本発明プログラムの第４の特徴における前記プログラムが、アプリケーション名毎にそのアプリケーション登録された証明書所有者名を格納するアプリケーション名−証明書所有者名管理ＤＢ機能を、前記コンピュータに実行させてなる、相互認証プログラムの構成採用にある。
【００３０】
本発明記録媒体の第１の特徴は、上記本発明プログラムの第１、第２、第３、第４又は第５の特徴におけるプログラムを実行する手続を記録媒体に実録してなる、相互認証プログラムを記録した記録媒体の構成採用にある。
【００３１】
かかる構成採用により、主に、次の第１乃至第４の点を実現することになる。
第１に、格納されたデータが盗まれることなく安全なＩＣカードに複数の公開鍵証明書とそれに対応する秘密鍵を格納することができるので、アプリケーション用サーバ装置がＩＣカードの認証が可能となり、利用者が利用したいアプリケーションに対して何れの公開鍵証明書と対応する秘密鍵ペアを使用すればよいかを選択する、という煩雑さをなくすことができる。
【００３２】
第２に、アプリケーションは、ＩＣカード管理サーバ装置からＩＣカード内のアプリケーション対応情報格納領域を特定する場所情報を取得できるので、何れの利用者のＩＣカードであっても、意識することなく、アプリケーションが使用する公開鍵証明書を指定できる。
【００３３】
第３に、ＩＣカードに新たな公開鍵証明書と対応する秘密鍵のペア及びこれに対応したアプリケーションを登録する場合において、端末装置の装置内のソフトを何ら変更することなく、ＩＣカード内のデータ追加・変更のみでもって行うことができる。
【００３４】
第４に、アプリケーションは、ＩＣカード管理サーバ装置から、ＩＣカード内の新たなアプリケーション対応情報格納領域を特定する場所情報を取得することができ、何れの利用者のＩＣカードであっても、意識することなくアプリケーションが使用する公開鍵証明書と対応する秘密鍵を自動に指定することができる。
【００３５】
ここで、本発明を、前述した従来の技術と対比させて説明しておく。
第１の点として、秘密鍵・公開鍵証明書ペアの安全性の点については、本発明においては、ＩＣカード内に格納するので、その安全性は保たれるところ、▲１▼一般的なＷｅｂブラウザでは、端末内にそのペアを格納するので、その安全性は保たれない。
【００３６】
▲２▼「鍵管理サーバシステム」では、センタ装置からそのペアをダウンロードして、端末に格納するので、その安全性は保たれず、▲３▼Ａｃｔｉｖｅ  Ｃａｒｄなどを利用した一般的なＷｅｂブラウザでは、ＩＣカード内に格納するので、一応その安全は保たれることになる。
【００３７】
第２の点として、不特定又は多数が利用する端末でのサービスの点については、本発明においては十分その要請に応えられるところ、▲１▼一般的なＷｅｂブラウザでは、端末内にそのペアを格納していることからその要請に応えることはできず、▲２▼「鍵管理サーバシステム」、▲３▼Ａｃｔｉｖｅ  Ｃｅｒｄなどを利用した一般的なＷｅｂブラウザでは、その要請には応えられる。
【００３８】
第３の点として、アプリケーション対応公開鍵証明書の自動選択の点については、本発明についてはそれを行うことができるところ、▲１▼一般的なＷｅｂブラウザ、▲３▼Ａｃｔｉｖｅ  Ｃａｒｄなどを利用した一般的なＷｅｂブラウザでは、利用者が選択する構成であるので、それを行うことはできず、▲２▼「鍵管理サーバシステム」においてはそれを行うことができる。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態をカード例、端末装置例、サーバ装置例、プログラム例、記録媒体例及び方法例として説明する。
【００４０】
（カード例、端末装置例、サーバ装置例、プログラム例、記録媒体例）
図１は、本発明の一実施形態であるＩＣカード、端末装置、ＩＣカード管理サーバ装置を構成要素に持つシステムの構成図であり、図２、３、４は、それぞれ図１の、ＩＣカード管理サーバ装置の内部機能構成図、端末装置、ＩＣカードの内部構成機能図、アプリケーション用サーバ装置の内部機能構成図である。
【００４１】
なお、端末装置、ＩＣカード管理サーバ装置３は、一般のコンピュータ（ＣＰＵ、メモリ、ネットワークとの通信機能手段などを具備し、必要に応じてＩＣカードＲ／Ｗなどの入出力手段などを具備した電子計算機）に、本発明の一実施形態である相互認証プログラムを格納しそのプログラムを実行させることにより、そのコンピュータにて実現でき、その相互認証プログラムは、一般の、記録媒体に記録して提供することも、電気通信回線（図１のネットワークに限らない）を通じて提供することも可能とする。
【００４２】
［システム概要］
かかるシステムは、ＩＣカード１、端末装置２、ＩＣカード管理サーバ装置３、アプリケーション用サーバ装置４、登録サーバ装置５、認証サーバ装置６、ネットワーク７により構築される。
ＩＣカード１は、サービスを受けるユーザが所有するカードである。
【００４３】
端末装置２は、キーボード、マウスなどによりなる入力手段２１、ディスプレイなどの出力手段２２、装置本体２３、ＩＣカード１と直接データの送受信を行うＩＣカードリーダライタ２４（接触方式、非接触方式を問わない。）からなり、サービスを受けるユーザが使用する装置である。
ＩＣカード管理サーバ装置３は、ＩＣカード１内の情報、アプリケーションを管理する装置である。
【００４４】
アプリケーション用サーバ装置４は、端末装置２とネットワーク７を介して接続してユーザに対しアプリケーションが機能してサービスを提供する装置である。
登録サーバ装置５は、ユーザの公開鍵証明書の作成・登録を行う装置である。
認証サーバ装置６は、登録サーバ装置５により作成された公開鍵証明書にディジタル署名を作成・付与して、ユーザの公開鍵証明書を発行する装置である。
【００４５】
［ＩＣカード管理サーバ装置］
ＩＣカード管理サーバ装置３は、秘密鍵格納部３１１の秘密鍵による、データの暗号化、ディジタル署名の作成、公開鍵証明書格納部３１２の公開鍵証明書内の公開鍵による、暗号化データの復号、署名検証を行う暗号認証モジュール３１と、アプリケーション対応情報管理テーブル（アプリケーションとアプリケーション対応情報格納領域を特定する場所情報（図においては「アプリケーション対応情報格納領域特定場所情報」と略記）との対応関係を示すテーブルであり、アプリケーションがＩＣカード１内において使用することができるＤＦ（専用ファイル）名を示すテーブル）３２１及びアプリケーション名−証明書所有者名管理ＤＢ（アプリケーションに登録された証明書所有者名の一覧を示すデータベースで、その一例として、証明書所有者名を特定する情報としてメールアドレスを格納している場合を図示しているものの、証明書所有者を特定する情報であれば、ユーザＩＤなどでも何でもよい。）３２２を検索、読出し、データの追加・更新を行うアプリケーション用データ管理モジュール３２と、Ｗｅｂサーバソフト３３とにより構成される。
【００４６】
［端末装置］
前述のように、入力手段２１、出力手段２２、装置本体２３及びＩＣカードリーダライタ２４からなる端末装置２の内、装置本体２３は、更に、通信用制御モジュール２３１、全体制御用モジュール２３２、証明書ストア登録モジュール２３３、ＩＣカード発行モジュール２３４、アプリケーション対応キーコンテナ名取得モジュール２３５、暗号認証用モジュール２３６、証明書ストア２３７及びＩＣカードリーダライタ制御モジュール２３８からなり、その各モジュールなどの詳細は次の通りである。
【００４７】
通信用制御モジュール２３１は、ネットワーク７を介して、ＩＣカード管理サーバ装置３、アプリケーション用装置４、登録サーバ装置５及び認証サーバ装置６とデータの送受信を行うモジュールである。
全体制御用モジュール２３２は、装置本体２３全体を制御するモジュールである。
【００４８】
証明書ストア登録モジュール２３３は、ＩＣカード１から公開鍵証明書の読出及び証明書ストア２３７への保存、証明書ストア２３７からの読出を行うモジュールである。
【００４９】
ＩＣカード発行モジュール２３４は、▲１▼ＩＣカード１にアプリケーションを登録し、▲２▼これに伴い必要となる公開鍵・秘密鍵の生成、▲３▼公開鍵証明書の発行手続、▲４▼ＩＣカード１のファイル創生とファイルへの公開鍵証明書とそれに対応する秘密鍵の書込み、▲５▼公開鍵証明書とそれに対応する秘密鍵ペアを特定するユニークなキーコンテナ名の生成とＩＣカード１への書込み、▲６▼証明書管理テーブルへの新たなキーコンテナ名と証明書格納場所情報の対応情報の書込みなどの処理を実行・制御するモジュールである。
【００５０】
ここで、▲２▼の公開鍵・秘密鍵の生成については、秘密鍵が盗まれないようＩＣカード１内部で行っても良く、かかる場合には、ＩＣカード１から生成された公開鍵のみ入手して公開鍵証明書の発行手続を行うものとする。かく構成することにより、より安全に秘密鍵を扱うことができるものの、ＩＣカード１の処理能力によっては、公開鍵・秘密鍵の生成に時間がかかる場合も生じるので、状況によって、何れの構成とするかは使いわける必要がある。
【００５１】
アプリケーション対応キーコンテナ名取得モジュール２３５は、アプリケーションが端末装置２との間で相互認証を行う前に、ＩＣカード１内に存在する公開鍵証明書とそれに対応する秘密鍵のペアの内、アプリケーションが使用する公開鍵証明書とそれに対応する秘密鍵のペアを指定する為に、アプリケーションに対応する公開鍵証明書のキーコンテナ名をＩＣカード１内のアプリケーション対応情報格納領域から取得するモジュールである。
【００５２】
暗号認証用モジュール２３６は、ＰＣ／ＳＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ／Ｓｍａｒｔ  Ｃａｒｄ仕様におけるＣＳＰ（Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）に相当する次の▲１▼▲２▼▲３▼に示すモジュールである。
【００５３】
▲１▼アプリケーション対応キーコンテンツ名取得モジュール２３５にて取得したキーコンテナ名に従ってＩＣカード１内の記憶手段１１に存在する証明書管理テーブルから指定されたキーコンテナ名に対応する証明書格納場所情報を読出し、当該読出した証明書格納場所情報に存在する秘密鍵により、ＩＣカード１内の暗号認証用モジュール（ディジタル署名を生成するモジュール）１３に対し、データの暗号化要求を行って、データの暗号化を行ったり、ディジタル署名生成要求を行い、ディジタル署名生成を行ったりするモジュールである。
【００５４】
▲２▼アプリケーション対応キーコンテンツ名取得モジュール２３５にて取得したキーコンテナ名に従ってＩＣカード１内の記憶手段１１に存在する証明書管理テーブルから指定されたキーコンテナ名に対応する証明書格納場所情報を読出し、これにより公開鍵証明書を読出したり、▲３▼証明書ストア２３７に存在する公開鍵証明書内の公開鍵により、署名の検証などを行ったりするそれぞれのモジュールである。
【００５５】
証明書ストア２３７は、暗号認証用モジュール２３６によりＩＣカード１から読出した公開鍵証明書を対応するキーコンテナ名と共に格納し、署名検証時などに読み出したりすることができるストアである。
ＩＣカードリーダライタ用制御モジュール２３８は、ＩＣカードリーダライタ２４とのデータ送受信を行うモジュールである。
【００５６】
［ＩＣカード］
ＩＣカード１は、公開鍵証明書及びそれに対応する秘密鍵並びにこれらを管理する為のデータなどを格納する記憶手段１１と、ＩＣカードリーダライタ２４とデータ送受信を行う入出力制御部１２と、記憶手段１１内の秘密鍵（後述するように、端末装置２により指定されたキーコンテナ名に対応した秘密鍵）によりディジタル署名の作成、データの暗号化を行う暗号認証用モジュール１３とにより構成される。
【００５７】
［アプリケーション用サーバ装置］
アプリケーション用サーバ装置４は、ネットワーク７を経由して、端末装置２、ＩＣカード管理サーバ装置３と通信を行い、アプリケーションを機能させるソフトであるＷｅｂサーバソフト４１と、アプリケーションによるサービスを行うと共に端末装置２との間で相互認証を行うモジュールであるアプリケーション用モジュールと、アプリケーション用サーバ装置４の秘密鍵を用いて、ディジタル署名の作成、データの暗号化、公開鍵証明書の読出を行うモジュールである暗号認証モジュール４３と、アプリケーション用サーバ装置４の、秘密鍵を格納した秘密鍵格納部４４と、公開鍵証明書を格納した公開鍵証明書格納部４５とから構成される。
【００５８】
［ＩＣカードの記憶手段内のファイル構成］
ところで、ＩＣカード１の記憶手段１１内のファイル構成につき説明する。
図５、６、７は、順に、ユーザ配布時である初期発行時の、一アプリケーション（ＡＰ１）及び公開鍵証明書・秘密鍵の一ペアが登録された時の、図２に例示したアプリケーション名−証明書所有者名管理ＤＢ状態の時の、証明書所有者名が「ｓｕｚｕｋｉ．ｔａｒｏ＠ａａ．ｂｂ．ｃｏ．ｊｐ」である場合のＩＣカードの記憶手段のファイル構成図である。
【００５９】
図８、９は、それぞれ、証明書所有者名が「ｙａｍａｄａ．ｉｃｈｉｒｏ＠ｂｂ．ｃｃ．ｃｏ．ｊｐ」、「ｉｔｏ．ｊｉｒｏ＠ｃｃ．ｄｄ．ｃｏ．ｊｐ」である場合の、図２に例示したアプリケーション名−証明書所有者名管理ＤＢの状態におけるＩＣカードの記憶手段のファイル構成図である。
【００６０】
図５の様に、初期発行時においては、当該ＩＣカード１のマスターファイルであるＭＦ、当該ＩＣカード１がＩＣカード管理サーバ装置３との間において相互認証を行いアプリケーション登録などの処理を行う際に必要となる、秘密鍵を格納する内部基礎ファイルであるＩＥＦ０１、公開鍵証明書を格納する作業用基礎ファイルであるＷＥＦ０１、公開鍵証明書にユニークな証明書所有者名を格納する作業用基礎ファイルであるＷＥＦ０２、ＩＣカード１利用者本人であることを確認する為の照合に必要なパスワード（ＰＩＮ）を格納する内部基礎ファイルであるＩＥＦ０２でもって構成されている。
【００６１】
図５のファイル構成の下、一アプリケーション（ＡＰ１）及び公開鍵証明書・秘密鍵のペアを登録すると、図６の様に、専用ファイルであるＤＦ１１（ＡＰ１用ＤＦ）の支配の下に、アプリケーション対応情報格納領域に対応するアプリケーション（ＡＰ１）が使用するキーコンテナ名（「キーコンテナ１１」）を格納する作業用基礎ファイルであるＷＥＦ１１１と、専用ファイルであるＤＦ２１の支配の下に、証明書管理テーブルが格納されている作業用基礎ファイルであるＷＥＦ２１１（「キーコンテナ１１がＤＦ３１に存在している。」旨を示す。）と、専用ファイルであるＤＦ３１の支配の下に、キーコンテナ１１に対応する秘密鍵１１を格納する内部基礎ファイルであるＩＥＦ３１１と、キーコンテナ１１に対応する公開鍵証明書１１を格納する作業用基礎ファイルであるＷＥＦ３１１とが追加される。
【００６２】
なお、専用ファイルであるＤＦ１１、ＤＦ２１、ＤＦ３１は、それぞれ、アプリケーション対応情報格納領域（ファイル）、証明書管理用ファイル、公開鍵証明書用ファイルである（以下、同様。）。
【００６３】
図６のファイル構造の下、更に、ＡＰ２、…、ＡＰｍ及び公開鍵証明書・秘密鍵のペアを登録すると、図７のファイル構造となる。即ち、ＡＰ２追加時には、▲１▼専用ファイルであるＤＦ１２（ＡＰ２用ＤＦ）及びその支配の下に、アプリケーション対応情報格納領域に対応するアプリケーション（ＡＰ２）が使用するキーコンテナ名（「キーコンテナ１２」）を格納する作業用基礎ファイルであるＷＥＦ１２１が追加される。
【００６４】
さらに、▲２▼専用ファイルであるＤＦ２１の支配の下に、証明書管理テーブルが格納されている作業用基礎ファイルであるＷＥＦ２１１に、「キーコンテナ１２がＤＦ３２に存在しているということが、▲３▼専用ファイルであるＤＦ３２及びその支配の下に、キーコンテナ１２に対応する秘密鍵１２を格納する内部基礎ファイルであるＩＥＦ３２１、キーコンテナ１２に対応する公開鍵証明書１２を格納する作業用基礎ファイルであるＷＥＦ３２１とがそれぞれ追加される。
図８についても、即ち、ＡＰｍなどの追加時も、同様である。
【００６５】
（方法例）
本発明の一実施形態たる相互認証方法を前述したことを前提に、説明する。
図１０、１１は、相互認証方法を説明した説明図であり、それぞれ、アプリケーション、公開鍵証明書及び秘密鍵登録時における図１のシステムのシーケンス図、アプリケーションのサービス提供時における図１のシステムのシーケンス図である。
【００６６】
［アプリケーション、公開鍵証明書、秘密鍵登録時のシーケンス説明］
アプリケーション、公開鍵証明書及び秘密鍵登録時においては、次のＳ１−１乃至Ｓ１−１８が行われる。
Ｓ１−１として、サービスを受けるユーザが所有するＩＣカード１を端末装置２に接続する。
【００６７】
Ｓ１−２として、端末装置２がパスワードの入力を受ける。
Ｓ１−３１として、パスワード照合が正しいければ、ＩＣカード１が証明書所有者名を端末装置２に送信する。
Ｓ１−３として、端末装置２が、アプリケーション用サーバ装置４に対して、ユーザ登録要求を証明書所有者名と共に送信する。
【００６８】
Ｓ１−４として、アプリケーション用サーバ装置４が、ＩＣカード管理サーバ装置３に対して、ユーザ登録要求を、アプリケーション名及び証明書所有者名と共に送信する。
Ｓ１−５として、ＩＣカード管理サーバ装置３が、アプリケーション名−証明書所有者名管理ＤＢ３２２に、受信したアプリケーション名及び証明書所有者名を追加する。
【００６９】
Ｓ１−６として、ＩＣカード管理サーバ装置３が、端末装置２に対して、ユーザ公開鍵を要求する。
Ｓ１−７として、端末装置２が、公開鍵と秘密鍵のペアを生成する。
Ｓ１−８として、端末装置２が、その生成した公開鍵を、ＩＣカード管理サーバ装置３に送信する。
【００７０】
Ｓ１−９として、ＩＣカード管理サーバ装置３が、登録サーバ装置５に対して、公開鍵証明書の発行申請を行う。
Ｓ１−１０として、登録サーバ装置５が、認証サーバ装置６に対して、ディジタル署名依頼を送信する。
【００７１】
Ｓ１−１１として、認証サーバ装置６が、ユーザ公開鍵証明書を発行する。
Ｓ１−１２として、認証サーバ装置６が、発行した公開鍵証明書を登録サーバ装置５に配布する。
Ｓ１−１３として、登録サーバ装置５が、ユーザ公開鍵証明書を登録する。
【００７２】
Ｓ１−１４として、登録サーバ装置５が、ユーザ公開鍵証明書をＩＣカード管理サーバ装置３に配布する。
Ｓ１−１５として、ＩＣカード管理サーバ装置３が、ユーザ公開鍵証明書を装置内に登録する。
Ｓ１−１６として、ＩＣカード管理サーバ装置３が、端末装置２に配布する。
【００７３】
Ｓ１−１７として、端末装置２が、ＩＣカード１に対して、一次発行要求を行う。これにより、ファイル創生が行われる。
Ｓ１−１８として、端末装置２が創生した各ファイルに、公開鍵証明書、秘密鍵、アプリケーション用キーコンテナ名を書込むと共に証明書管理テーブルを更新する。
【００７４】
［アプリケーション提供の際のシーケンス説明］
アプリケーション提供の際の端末装置とアプリケーション用サーバ装置との相互認証として、次のＳ２−１乃至Ｓ２−１７が行われる。
【００７５】
Ｓ２−１として、サービスを受けるユーザが所有するＩＣカード１を端末装置２に接続する。
Ｓ２−２として、端末装置２がパスワードの入力を受ける。
Ｓ２−３として、パスワード照合が正しいければ、ＩＣカード１が証明書所有者名を端末装置２に送信する。
【００７６】
Ｓ２−３１として、端末装置２が、アプリケーション用サーバ装置４に対して、接続要求を証明書所有者名と共に送信する。
Ｓ２−４として、アプリケーション用サーバ装置４が、ＩＣカード管理サーバ装置３にアプリケーション名と証明書所有者名と共にユーザ登録確認要求を送信する。その送信を受けたＩＣカード管理サーバ３が、受信したＡＰ名において、証明書所有者名がＡＰ名−登録証明書所有者名管理用ＤＢ３２２に登録されているか否か確認する。
【００７７】
Ｓ２−５として、ＩＣカード管理サーバ３が、Ｓ２−４にて登録されていることの確認ができれば、登録確認通知をそのアプリケーションに対応するアプリケーション対応情報格納領域特定場所情報と共にアプリケーション用サーバ装置４に送信する。
Ｓ２−６として、アプリケーション用サーバ装置４は端末装置２に対して、ＡＰ対応情報格納領域特定場所情報と共に相互認証要求を送信する。
【００７８】
Ｓ２−７及びＳ２−８として、端末装置２が、ＩＣカード１に対して、ＡＰ対応情報格納領域特定場所情報に基いて、キーコンテナ名を読出して、取得する。
Ｓ２−９乃至Ｓ２−１１として、端末装置２が、証明書管理用ＤＦ内の証明書管理テーブルより、指定されたキーコンテナ名に対応する証明書格納場所情報（＝公開鍵証明書用ＤＦ名）を読出す。
【００７９】
Ｓ２−１２乃至Ｓ２−１４として、端末装置２が、読出した証明書格納場所情報により、公開鍵証明書を読出す。
Ｓ２−１５として、端末装置２が、読出した公開鍵証明書をキーコンテナ名と共に証明書ストア２３７に格納する。
【００８０】
Ｓ２−１６及びＳ２−１７として、端末装置２が、アプリケーション用サーバ装置４に対して、相互認証許可通知を送信し、端末装置２、アプリケーション用サーバ装置４間において，ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）等による相互認証及び暗号通信を行う。
【００８１】
ＳＳＬにおいては、証明書ストア２３７に格納されたユーザの公開鍵証明書及びアプリケーション用サーバ装置４内に格納されたアプリケーションの公開鍵証明書を相互に交換し（Ｓ２−１７１、Ｓ２−１７２）、端末装置２が、アプリケーション用サーバ装置４に送信するメッセージ（又はそのダイジェスト）をＩＣカード１内の秘密鍵を使用して暗号認証用モジュール２３６により、暗号化し、アプリケーション用サーバ装置４に送信する（Ｓ２−１７３、Ｓ２−１７４）。
【００８２】
なお、ＳＳＬの詳細については、例えば「ＰＫＩハンドブック」（小松文子著、ソフトリサーチセンタ発行）の第５章ＰＫＩアプリケーションにおいて公知であるので、その説明は省略する。
【００８３】
また、新たなアプリケーションを追加する際には、例えば、図１０のシーケンスの如く、ＩＣカード１に、新たな公開鍵証明書及びそれに対応する秘密鍵のペアを記憶手段１１に追加し、新たに定義したキーコンテナ名をその追加したペアのキーコンテナ名とし、証明書管理テーブルへのその旨（その定義したキーコンテナ名とそのペアが格納されている証明書格納場所情報との対）の追加、新たに追加するアプリケーションの為にアプリケーション対応情報格納領域を追加し、その領域に、その定義したキーコンテナ名を格納することにより行うことができる。
【００８４】
その際、既にそのＩＣカード１の記憶手段１１に存在する公開鍵証明書・秘密鍵のペアを用いる場合には、そのペアのキーコンテナ名を新たに追加するアプリケーションが使用するキーコンテナ名として用いることもできる。更に、別の考えとしては、図１０のシーケンスにより同一のペアが作成されたような場合には、ＩＣカード１のメモリ機能を効率よく使用することから、そのキーコンテナ名を新たに定義することなく、既に存在するペアのキーコンテナ名を用いることもできる。
【００８５】
以上、本発明の実施の形態として、カード例、端末装置例、サーバ装置例、プログラム例、記録媒体例及び方法例を説明したが、本発明の目的を達し、下記する効果を奏する範囲において、適宜変更して実施可能である。
【００８６】
【発明の効果】
本発明によれば、不特定又は多数の者が利用する端末装置に、利用者が所有するＩＣカードを接続することにより、複数のサービスを提供することができる。即ち、ＩＣカードに格納された複数の公開鍵証明書の内、アプリケーションが指定した公開鍵証明書により、アプリケーション用サーバ装置はＩＣカードの認証が可能であり、サービス利用者が指定する必要がなく、利用者にかかる負担を課すことがない。
【００８７】
また、ＩＣカードに新たな公開鍵証明書とこれに対応したアプリケーションを登録する場合には、端末装置内のＩＣカード制御ソフトを変更することなく、ＩＣカード内においてアプリケーション対応情報格納領域及びキーコンテナ名、証明書格納場所情報の追加、証明書管理用ＤＦの更新を行うことにより、実現できる。
【００８８】
従って、ネットワークによるサービス提供時、サービスを受ける利用者が端末装置に接続して認証を行う為の公開鍵証明書と対応する秘密鍵をＩＣカードに格納することにより、セキュリティが極めて高くなる。また、アプリケーション毎に公開鍵証明書と対応する秘密鍵を自動的にアプリケーションが指定できるので、利用者がしかもサービス毎に何れの公開鍵証明書を使用しなければならないか選択する必要がなくなる。
本発明は、以上に代表される優れた効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施形態であるＩＣカード、端末装置、ＩＣカード管理サーバ装置を構成要素に持つシステムの構成図である。
【図２】図１のＩＣカード管理サーバ装置の内部機能構成図である。
【図３】図１の、端末装置及びＩＣカードの内部構成機能図である。
【図４】図１のアプリケーション用サーバ装置の内部機能構成図である。
【図５】証明書所有者名が「ｓｕｚｕｋｉ．ｔａｒｏ＠ａａ．ｂｂ．ｃｏ．ｊｐ」でありかつユーザ配布時である初期発行時のＩＣカードにおける記憶手段内のファイル構成図である。
【図６】証明書所有者名が「ｓｕｚｕｋｉ．ｔａｒｏ＠ａａ．ｂｂ．ｃｏ．ｊｐ」でありかつ一アプリケーション（ＡＰ１）及び公開鍵証明書・秘密鍵の一ペアが登録された時のＩＣカードにおける記憶手段内のファイル構成図である。
【図７】証明書所有者名が「ｓｕｚｕｋｉ．ｔａｒｏ＠ａａ．ｂｂ．ｃｏ．ｊｐ」でありかつ図２に例示したアプリケーション名−証明書所有者名管理ＤＢの状態下におけるＩＣカードの記憶手段内のファイル構成図である。
【図８】証明書所有者名が「ｙａｍａｄａ．ｉｃｈｉｒｏ＠ｂｂ．ｃｃ．ｃｏ．ｊｐ」でありかつ図２に例示したアプリケーション名−証明書所有者名管理ＤＢの状態下におけるＩＣカードの記憶手段内のファイル構成図である。
【図９】証明書所有者名が「ｉｔｏ．ｊｉｒｏ＠ｃｃ．ｄｄ．ｃｏ．ｊｐ」でありかつ図２に例示したアプリケーション名−証明書所有者名管理ＤＢの状態におけるＩＣカードの記憶手段内のファイル構成図である
【図１０】本発明の一実施形態たる相互認証方法について、アプリケーション、公開鍵証明書、秘密鍵登録時における図１のシステムのシーケンス図である。
【図１１】本発明の一実施形態たる相互認証方法について、アプリケーションのサービス提供時における図１のシステムのシーケンス図である。
【符号の説明】
１…ＩＣカード
１１、１１ａ、１１ｂ、１１ｃ、１１ｄ、１１ｅ…記憶手段
１２…入出力制御部
１３…暗号認証用モジュール
２…端末装置
２１…入力手段
２２…出力手段
２３…装置本体
２３１…通信用制御モジュール
２３２…全体制御用モジュール
２３３…証明書ストア登録モジュール
２３４…ＩＣカード発行モジュール
２３５…アプリケーション対応キーコンテナ名取得モジュール
２３６…暗号認証用モジュール
２３７…証明書ストア
２３８…ＩＣカードリーダライタ制御モジュール
２４…ＩＣカードリーダライタ
３…ＩＣカード管理サーバ装置
３１…暗号認証モジュール
３１１…秘密鍵格納部
３１２…公開鍵証明書格納部
３２…アプリケーション用データ管理モジュール
３２１…アプリケーション対応情報管理テーブル
３２２…アプリケーション名−証明書所有者名管理ＤＢ
３３…Ｗｅｂサーバソフト
４…アプリケーション用サーバ装置
４１…Ｗｅｂサーバソフト
４２…アプリケーション用モジュール
４３…暗号認証モジュール
４４…秘密鍵格納部
４５…公開鍵証明書格納部
５…登録サーバ装置
６…認証サーバ装置
７…ネットワーク
【図１】
2004153711.tif 000003
【図２】
2004153711.tif 000004
【図３】
2004153711.tif 000005
【図４】
2004153711.tif 000006
【図５】
2004153711.tif 000007
【図６】
2004153711.tif 000008
【図７】
2004153711.tif 000009
【図８】
2004153711.tif 000010
【図９】
2004153711.tif 000011
【図１０】
2004153711.tif 000012
【図１１】
2004153711.tif 000013