(57)【特許請求の範囲】
【請求項１】
電子証明書を利用した暗号通信を行う端末装置において、
１つ以上の電子証明書と当該電子証明書それぞれの利用を制限する利用条件とを記憶する認証装置を接続する認証装置接続部と、
前記認証装置接続部が接続する認証装置から利用条件を受信する利用条件受信部と、
前記利用条件受信部が受信した利用条件を記憶する利用条件格納部と、
前記利用条件格納部に記憶された利用条件を基に電子証明書を選択する証明書選択部と、
前記認証装置接続部が接続する認証装置から前記証明書選択部が選択した電子証明書を受信する証明書受信部と、
前記証明書受信部が受信した電子証明書を利用して暗号通信を行う通信部とを備え、
前記認証装置接続部は、
１つ以上の電子証明書と当該電子証明書それぞれの利用を制限する利用条件とを記憶する認証装置と、１つ以上の電子証明書を記憶するが利用条件を記憶しない認証装置とを同時に接続し、
前記利用条件受信部は、
利用条件を記憶しない認証装置からは利用条件を受信せず、
前記利用条件格納部は、
前記利用条件受信部が利用条件を受信しなかった場合、予め定められた利用条件を記憶することを特徴とする端末装置。
【請求項２】
電子証明書を利用した暗号通信を行う端末装置において、
１つ以上の電子証明書と当該電子証明書それぞれの利用を制限する利用条件とを記憶する認証装置と、１つ以上の電子証明書を記憶するが利用条件を記憶しない認証装置とを接続する認証装置接続部と、
前記認証装置接続部が接続する認証装置が利用条件を記憶している場合、当該認証装置から利用条件を受信する利用条件受信部と、
前記認証装置接続部が接続する認証装置が利用条件を記憶している場合、前記利用条件受信部が受信した利用条件を記憶し、前記認証装置接続部が接続する認証装置が利用条件を記憶していない場合、予め定められた利用条件を記憶する利用条件格納部と、
前記利用条件格納部に記憶された利用条件を基に電子証明書を選択する証明書選択部と、
前記認証装置接続部が接続する認証装置から前記証明書選択部が選択した電子証明書を受信する証明書受信部と、
前記証明書受信部が受信した電子証明書を利用して暗号通信を行う通信部とを備えることを特徴とする端末装置。
【請求項３】
前記端末装置は、さらに、
前記証明書選択部が選択した電子証明書を一意的に識別する識別情報を出力する出力部と、
前記出力部が出力した識別情報をユーザに選択させる入力部とを備え、
前記証明書受信部は、
前記認証装置接続部が接続する認証装置から前記入力部がユーザに選択させた識別情報に対応する電子証明書を受信することを特徴とする請求項１又は２に記載の端末装置。
【請求項４】
前記証明書選択部は、
前記利用条件格納部に記憶された利用条件と前記通信部の暗号通信先に関する情報とを比較し、その結果を基に電子証明書を選択することを特徴とする請求項１から３までのいずれかに記載の端末装置。
【請求項５】
前記証明書選択部は、
前記通信部の暗号通信先に関する情報として、少なくとも暗号通信先のホスト名を用いることを特徴とする請求項４に記載の端末装置。
【請求項６】
前記端末装置は、さらに、
前記通信部が行う暗号通信を利用するプログラムを実行する制御部を備え、
前記証明書選択部は、
前記利用条件格納部に記憶された利用条件と前記制御部が実行するプログラムに関する情報とを比較し、その結果を基に電子証明書を選択することを特徴とする請求項１から５までのいずれかに記載の端末装置。
【請求項７】
前記証明書選択部は、
前記制御部が実行するプログラムに関する情報として、少なくともプログラムの名称を用いることを特徴とする請求項６に記載の端末装置。
【請求項８】
前記端末装置は、さらに、
前記通信部が暗号通信に利用する電子証明書の利用条件を暗号通信先から取得する利用条件取得部を備え、
前記利用条件格納部は、
前記利用条件受信部が受信した利用条件に加えて、前記利用条件取得部が取得した利用条件を記憶することを特徴とする請求項１から７までのいずれかに記載の端末装置。
【請求項９】
前記利用条件取得部は、
利用条件として、少なくとも前記通信部が暗号通信に利用する電子証明書を発行した証明書発行局の名称を取得することを特徴とする請求項８に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置及び認証装置及び暗号通信方法及び証明書提供方法に関するものである。
【背景技術】
【０００２】
インターネットを利用したオンラインショッピングが普及してきた。オンラインショッピングでは、商品の購入処理を、ブラウザとサーバがインターネット経由で通信することで実現される。オンラインショッピングにおいて、サーバのなりすましや通信データの盗聴、改ざんの防止は必須の要件である。この要件を満たす技術として、非特許文献１に記載された暗号通信方式ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）が広く用いられている。【０００３】
ＳＳＬを利用したオンラインショッピングにおいて、ユーザ認証は、ユーザ名とパスワードを入力することで実現されることが多い。その場合、成りすましを防止するために、推測されにくいパスワードを選択する必要がある。しかし、多くのユーザは、推測が容易なパスワードを選択してしまう傾向がある。そこで、ユーザ認証にデジタル署名を利用するニーズが高まっている。デジタル署名によるユーザ認証機能はＳＳＬに組み込まれており、デジタル署名は、その生成に用いる秘密鍵さえ盗まれなければ成りすましが困難である。デジタル署名に利用される秘密鍵とデジタル署名を検証する証明書はＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カードやＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）トークンやＵＩＭ（Ｕｓｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）等の秘密鍵の漏洩を防止する仕組みの備わったデバイスに格納される。以降、秘密鍵、秘密鍵に対応する証明書（以降、ユーザ証明書）を保持し、ユーザ認証に用いるデバイスを認証デバイスと呼ぶ。認証デバイスは複数の秘密鍵とユーザ証明書を持つことが今後予想される。なぜなら、異なるサイト毎に利用する秘密鍵・証明書が異なる場合、それぞれが単一の認証デバイスに含まれる方が、別々の認証デバイスに含まれるより利便性が高いからである。
【非特許文献１】Ａｌａｎ  Ｏ．  Ｆｒｅｉｅｒ、他２名、“Ｔｈｅ  ＳＳＬ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ３．０”、［ｏｎｌｉｎｅ］、１９９６年１１月１８日、Ｎｅｔｓｃａｐｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ、［２００４年８月２日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｐ．ｎｅｔｓｃａｐｅ．ｃｏｍ／ｅｎｇ／ｓｓｌ３／ｄｒａｆｔ３０２．ｔｘｔ＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＳＳＬでは、ＳＳＬサーバがＳＳＬクライアントにユーザ証明書の送付要求（Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｑｕｅｓｔ）を送る。その際、証明書の送付要求にはユーザ証明書のタイプ（公開アルゴリズム種別等）やユーザ証明書の証明書発行局名の情報を指定できる。ＳＳＬクライアントは、複数のユーザ証明書を保持する場合、送付された証明書送付要求の証明書タイプ及び証明書発行局名に合致するユーザ証明書を探す。もし、複数のユーザ証明書が条件に合致した場合、利用者に利用する証明書を選択させる必要がある。また、認証デバイスに格納される秘密鍵・ユーザ証明書の数が増えるにしたがって、利用可能なユーザ証明書の候補数が増える。その結果、候補の中から適切な証明書を選択する利用者の負荷が大きくなる。【０００５】
本発明は、アプリケーションがユーザ証明書を利用する時に、利用可能な証明書の候補数を減らし、利用者の証明書選択の負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の端末装置は、
１つ以上の電子証明書と当該電子証明書それぞれの利用を制限する利用条件とを記憶する認証装置を接続する認証装置接続部と、
前記認証装置接続部が接続する認証装置から利用条件を受信する利用条件受信部と、
前記利用条件受信部が受信した利用条件を記憶する利用条件格納部と、
前記利用条件格納部に記憶された利用条件を基に電子証明書を選択する証明書選択部と、
前記認証装置接続部が接続する認証装置から前記証明書選択部が選択した電子証明書を受信する証明書受信部と、
前記証明書受信部が受信した電子証明書を利用して暗号通信を行う通信部とを備えることを特徴とする。【０００７】
前記端末装置は、さらに、
前記証明書選択部が選択した電子証明書を一意的に識別する識別情報を出力する出力部と、
前記出力部が出力した識別情報をユーザに選択させる入力部とを備え、
前記証明書受信部は、
前記認証装置接続部が接続する認証装置から前記入力部がユーザに選択させた識別情報に対応する電子証明書を受信することを特徴とする。【０００８】
前記証明書選択部は、
前記利用条件格納部に記憶された利用条件と前記通信部の暗号通信先に関する情報とを比較し、その結果を基に電子証明書を選択することを特徴とする。【０００９】
前記証明書選択部は、
前記通信部の暗号通信先に関する情報として、少なくとも暗号通信先のホスト名を用いることを特徴とする。【００１０】
前記端末装置は、さらに、
前記通信部が行う暗号通信を利用するプログラムを実行する制御部を備え、
前記証明書選択部は、
前記利用条件格納部に記憶された利用条件と前記制御部が実行するプログラムに関する情報とを比較し、その結果を基に電子証明書を選択することを特徴とする。【００１１】
前記証明書選択部は、
前記制御部が実行するプログラムに関する情報として、少なくともプログラムの名称を用いることを特徴とする。【００１２】
前記認証装置接続部は、
同時に複数の認証装置を接続することを特徴とする。【００１３】
前記認証装置接続部は、
１つ以上の電子証明書と当該電子証明書それぞれの利用を制限する利用条件とを記憶する認証装置と、１つ以上の電子証明書を記憶するが利用条件を記憶しない認証装置とを同時に接続し、
前記利用条件受信部は、
利用条件を記憶しない認証装置からは利用条件を受信せず、
前記利用条件格納部は、
前記利用条件受信部が利用条件を受信しなかった場合、予め定められた利用条件を記憶することを特徴とする。【００１４】
前記端末装置は、さらに、
前記通信部が暗号通信に利用する電子証明書の利用条件を暗号通信先から取得する利用条件取得部を備え、
前記利用条件格納部は、
前記利用条件受信部が受信した利用条件に加えて、前記利用条件取得部が取得した利用条件を記憶することを特徴とする。【００１５】
前記利用条件取得部は、
利用条件として、少なくとも前記通信部が暗号通信に利用する電子証明書を発行した証明書発行局の名称を取得することを特徴とする。【００１６】
また、本発明の認証装置は、
電子証明書を利用した暗号通信を行う端末装置を接続する端末装置接続部と、
１つ以上の電子証明書を記憶する証明書記憶部と、
前記証明書記憶部に記憶された電子証明書それぞれの利用を制限する利用条件を記憶する利用条件記憶部と、
前記端末装置接続部が接続する端末装置に前記利用条件記憶部に記憶された利用条件を送信する利用条件送信部と、
前記端末装置接続部が接続する端末装置に前記証明書記憶部に記憶された電子証明書を送信する証明書送信部とを備えることを特徴とする。【００１７】
前記利用条件記憶部は、
前記端末装置接続部が接続する端末装置の暗号通信先に関する情報を用いて前記証明書記憶部に記憶された電子証明書それぞれの利用を制限する利用条件を記憶することを特徴とする。【００１８】
前記利用条件記憶部は、
前記端末装置接続部が接続する端末装置の暗号通信先に関する情報として、少なくとも暗号通信先のホスト名を用いることを特徴とする。【００１９】
前記利用条件記憶部は、
前記端末装置接続部が接続する端末装置が実行するプログラムに関する情報を用いて前記証明書記憶部に記憶された電子証明書それぞれの利用を制限する利用条件を記憶することを特徴とする。【００２０】
前記利用条件記憶部は、
前記端末装置接続部が接続する端末装置が実行するプログラムに関する情報として、少なくともプログラムの名称を用いることを特徴とする。【００２１】
また、本発明の暗号通信方法は、
電子証明書を利用した暗号通信を行う端末装置を用い、
前記端末装置が、
１つ以上の電子証明書と当該電子証明書それぞれの利用を制限する利用条件とを記憶する認証装置と接続し、
利用条件を前記認証装置から受信し、
受信した利用条件を記憶し、
記憶された利用条件を基に電子証明書を選択し、
選択した電子証明書を前記認証装置から受信し、
受信した電子証明書を利用して暗号通信を行うことを特徴とする。【００２２】
前記暗号通信方法は、さらに、
前記端末装置が、
選択した電子証明書を一意的に識別する識別情報を出力し、
出力した識別情報をユーザに選択させ、
ユーザに選択させた識別情報に対応する電子証明書を前記認証装置から受信することを特徴とする。【００２３】
また、本発明の証明書提供方法は、
電子証明書を記憶する認証装置を用い、
前記認証装置が、
電子証明書を利用した暗号通信を行う端末装置と接続し、
１つ以上の電子証明書を記憶し、
記憶された電子証明書それぞれの利用を制限する利用条件を記憶し、
記憶された利用条件を前記端末装置に送信し、
記憶された電子証明書を前記端末装置に送信することを特徴とする。
【発明の効果】
【００２４】
本発明により、アプリケーションがユーザ証明書を利用する時に、利用可能な証明書の候補数が減り、利用者の証明書選択の負荷を軽減することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を図に基づいて説明する。なお、下記実施の形態１から４では、各実施の形態に係る認証装置（認証デバイス）としてＩＣカード、メモリカード、ＵＩＭ等のカードを例に説明するが、ＵＳＢトークン等、他の認証デバイスにも適用可能である。【００２６】
また、下記実施の形態１から４では、各実施の形態に係る端末装置として携帯電話等の情報端末を例に説明するが、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、パーソナルコンピュータ等、他の情報端末にも適用可能である。【００２７】
実施の形態１．
図１は本実施の形態に係る暗号通信システムの構成を示すブロック図である。【００２８】
情報端末１は、ネットワーク３を経由してサーバ４と通信を行う。情報端末１にはカード２を着脱することができる。ここで、カード２は認証デバイスの一例である。情報端末１は、表示部１１０（出力部）、入力部１２０、記憶部１３０（利用条件格納部）、制御部１４０（証明書選択部を含む）、通信部１５０、カード部１６０（認証装置接続部、利用条件受信部及び証明書受信部から成る）を備えている。本実施の形態では、情報端末は、図２に示したように、例えば携帯電話とするが、これに限定されるものではない。【００２９】
図３は情報端末１の構成を示すブロック図である。【００３０】
制御部１４０は、プログラムをロードして情報端末１内の各部の制御を行う。また、ユーザ証明書及びユーザ証明書の利用条件を管理し、利用可能なユーザ証明書を限定する機能を有する。図４のように、記憶部１３０には、利用者の入力処理を行う入力サービス１３１、通信処理を行う通信サービス１３２、カード２の制御を行うカード制御サービス１３３、ユーザ証明書を選択するユーザ証明書管理サービス１３４、カード２から受け取ったユーザ証明書の利用条件を保持するユーザ証明書利用条件２３４等が記憶されている。各サービスのプログラムは制御部１４０によって読み出され、実行される。入力部１２０は、各種指示の入力や、ボタン入力、文字入力等を行う。カード部１６０は、情報端末１に装着されたＩＣカードやＵＩＭ等のカード２の制御を実行する。表示部１１０は入力情報や出力情報の表示を行う。通信部１５０は、無線又は有線の通信処理を行う。【００３１】
ネットワーク３は、インターネット等のネットワークを示す。サーバ４は、Ｗｅｂサーバ等、ネットワーク３経由で情報端末１からの処理要求に対して、処理を実施し、結果を応答する装置である。【００３２】
カード２は、ＩＣカードやＵＩＭ等、ユーザ証明書やＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）等の公開鍵暗号方式における秘密鍵を保持し、秘密鍵による暗号処理機能を有するカードである。【００３３】
図５のように、カード２は、制御部２１０、Ｉ／Ｏ部２２０（端末装置接続部、利用条件送信部及び証明書送信部から成る）、記憶部２３０（証明書記憶部及び利用条件記憶部から成る）を備えている。【００３４】
カード２において、制御部２１０は、カード２に送付されるコマンドの解釈、実行を行う。Ｉ／Ｏ部２２０は各種接続機器（本実施の形態では、情報端末１）との接続を行う。記憶部２３０には、図６に示すように、カード２を一意的に識別するカードＩＤ２３１、１つ以上のユーザ証明書から成るユーザ証明書群２３２、各ユーザ証明書に対応する秘密鍵から成る秘密鍵群２３３に加えて、ユーザ証明書利用条件２３４が格納されている。図６では、ユーザ証明書と、それぞれのユーザ証明書に対応する秘密鍵が３つ含まれているが、異なる数でも本実施の形態に適用可能である。【００３５】
ユーザ証明書利用条件２３４の詳細を図７に示す。【００３６】
ユーザ証明書利用条件２３４は、カードに含まれるユーザ証明書を一意的に識別するユーザ証明書ＩＤ、ユーザ証明書が利用される時の条件の項目（本実施の形態では、接続先ホスト名と使用アプリケーション名となっているが、これに限らない）、各項目に対して設定された値（以下、条件値という）からなる。図７の例では、ユーザ証明書利用条件２３４は以下を示す。【００３７】
カード２にはユーザ証明書Ａ、Ｂ、Ｃのユーザ証明書ＩＤをもつ３つのユーザ証明書が存在する。ユーザ証明書Ａは、接続先ホスト名が“ｗｗｗ．ｘｘｘ．ｃｏｍ”、使用アプリケーション名が“Ｂｒｏｗｓｅｒ”の場合に利用できる。ユーザ証明書Ｂは、接続先ホスト名が“ｗｗｗ．ｙｙｙ．ｃｏ．ｊｐ”、使用アプリケーション名が任意の名前の場合に利用できる。ユーザ証明書Ｃは、接続ホスト名が未指定、利用アプリケーション名が“ＴｈｅＡｐｐｌｉｃａｔｉｏｎ１”である場合に利用できる。アプリケーションにおいて接続ホスト名が未指定となるのは、ユーザ証明書（に対応する秘密鍵）を電子メールの署名に用いる場合のように、接続先ホストが存在しない場合である。ユーザ証明書利用条件２３４に使用する条件値として、例えば図８のように、ＡＮＹは任意を意味する。また、同様に、Ｎ／Ａは未指定を意味する。【００３８】
次に、上記のように構成された本実施の形態の情報端末１、カード２、ネットワーク３、サーバ４の動作を詳細に説明する。なお、本実施の形態では、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）のクライアント認証におけるユーザ証明書の選択処理を記述しているが、保持する複数のユーザ証明書から利用するユーザ証明書を一つ選択する処理を行うあらゆる暗号処理システムに適用可能である。【００３９】
図９はユーザ証明書の選択処理を含む暗号認証通信の一連動作を示すメッセージシーケンス図である。図１０、図１１、図１２は、順番に、カード２、情報端末１、サーバ４のユーザ証明書の選択処理を含む暗号認証通信の一連動作における処理の流れを示すフロー図である。【００４０】
情報端末１にカード２が装着されると（ステップＳ１００１及びステップＳ１１０１）、情報端末１はカード２との通信路を確立し、ユーザ証明書利用条件２３４の送付をカード２に要求する（ステップＳ１１０２）。カード２は、ユーザ証明書利用条件２３４を情報端末１に送付する（ステップＳ１００２）。情報端末１はユーザ証明書利用条件２３４を受け取ると、ユーザ証明書利用条件２３４を記憶部１３０に保存する（ステップＳ１１０３）。【００４１】
情報端末１は、サーバ４と通信路を確立する。するとサーバ４は、情報端末１にサーバ証明書を送付する（ステップＳ１２０１）。情報端末１は、受信したサーバ証明書を検証し（ステップＳ１１０４）、検証がＯＫ（サーバ証明書の正当性が確認できた）であれば、セッション鍵を生成する（ステップＳ１１０５）。次に、セッション鍵をサーバ証明書に含まれる公開鍵で暗号化し（ステップＳ１１０６）、サーバ４のみが復号できる暗号化されたセッション鍵をサーバ４に送付する（ステップＳ１１０７）。サーバ４は、暗号化されたセッション鍵を受信するとサーバの秘密鍵で復号する（ステップＳ１２０２）。この時点で情報端末１とサーバ４は、セッション鍵を安全に共有したこととなる。【００４２】
次に、サーバ４は、情報端末１の認証を行う。まず、サーバ４は、ユーザ証明書送付要求を情報端末１に送付する（ステップＳ１２０３）。ユーザ証明書送付要求を受信した情報端末１は、現在保持する４つのユーザ証明書から送付する１つの証明書を選択するために、これから行おうとする暗号通信において、ユーザ証明書利用条件２３４の条件項目、“接続先ホスト名”と“利用アプリケーション名”に対応する値（以下、現状値という）を取得する（ステップＳ１１０８）。【００４３】
図１３は、情報端末１が行うユーザ証明書利用条件２３４の現状値取得の処理を示すフロー図である。【００４４】
今、ブラウザがＵＲＬ“ｈｔｔｐｓ：／／ｗｗｗ．ｘｘｘ．ｃｏｍ／ｉｎｄｅｘ．ｈｔｍ”にアクセスしようとしているとする。ユーザ証明書利用条件２３４が図７のような内容であるとすると、ブラウザは、“接続先ホスト名”が“ｗｗｗ．ｘｘｘ．ｃｏｍ”であることを特定し（ステップＳ１３０１）、次に“利用アプリケーション”が“Ｂｒｏｗｓｅｒ”であることを特定する（ステップＳ１３０２）。【００４５】
次に、情報端末１の制御部１４０は、記憶部１３０からユーザ証明書管理サービス１３４を読み出して、以下に示すユーザ証明書選択処理を実行する（ステップＳ１１０９）。【００４６】
図１４は、情報端末１が行うユーザ証明書選択の処理を示すフロー図である。【００４７】
制御部１４０は、ユーザ証明書利用条件２３４から、“接続先ホスト名”が“ｗｗｗ．ｘｘｘ．ｃｏｍ”で、“利用アプリケーション”が“Ｂｒｏｗｓｅｒ”であるユーザ証明書を特定し、そのユーザ証明書ＩＤを出力する。詳細には、図１４に示したように、制御部１４０は、ユーザ証明書利用条件２３４に、接続先ホスト名の現状値と一致する証明書があるか検索する（ステップＳ１４０１）。もし複数の証明書が一致した場合、各証明書に対して、利用アプリケーション名の現状値が条件とマッチするか判断する（ステップＳ１４０２）。この際もし複数のユーザ証明書がマッチした場合には（ステップＳ１４０３）、表示部１１０が、マッチしたユーザ証明書のサブジェクト名（持ち主名）等を利用者に提示し（ステップＳ１４０４）、入力部１２０より選択させる（ステップＳ１４０５）。そしてその結果一つのユーザ証明書が選択される（ステップＳ１４０６）。図７の例ではユーザ証明書Ａが選択される。【００４８】
次に、情報端末１は、カード２にユーザ証明書Ａの送付を要求する（ステップＳ１１１０）。カード２は、ユーザ証明書Ａを情報端末１に送付する（ステップＳ１００３）。情報端末１は、ユーザ証明書Ａを受け取ると、そのユーザ証明書をサーバ４に送付する（ステップＳ１１１１）。また、情報端末１は、カード２に署名の送付を要求する（ステップＳ１１１２）。カード２は、ユーザ証明書Ａに対応する秘密鍵を用いて署名の生成を行い（ステップＳ１００４）、この署名を情報端末１に送付する（ステップＳ１００５）。情報端末１は、カード２から受け取った署名をサーバ４に送付する（ステップＳ１１１３）。サーバ４では、送付されたユーザ証明書を検証する（ステップＳ１２０４）。検証がＯＫ（ユーザ証明書の正当性が確認できた）であれば、ユーザ証明書に含まれる公開鍵を用いて、送付された署名の検証を行う（ステップＳ１２０５）。署名の検証がＯＫ（署名の正当性が確認できた）となれば、サーバ４は通信相手である情報端末１が正しい通信相手であることが認証できたこととなる。その後、情報端末１とサーバ４は、相互に安全に共有したセッション鍵を用いて、盗聴、改ざん、成りすましの防止された暗号認証通信を行う（ステップＳ１１１４及びステップＳ１２０６）。【００４９】
カード２が情報端末１から取り出された場合、情報端末１の記憶部１３０に保持されているユーザ証明書利用条件２３４は削除される。図１５はカード２が情報端末１から取り出されるイメージ図、図１６はカード２が情報端末１から取り出された場合の処理を示すフロー図である。以下図１６を用いて情報端末１からカード２が取り出された時の処理の流れを示す。【００５０】
カード２が情報端末１から取り出されるとカード部１６０から制御部１４０に対してカード２の取り出しが通知される（ステップＳ１６０１）。するとユーザ証明書管理サービス１３４のプログラムが制御部１４０にロードされ、記憶部１３０に保持されているユーザ証明書利用条件２３４を削除する（ステップＳ１６０２）。【００５１】
以上のように本実施の形態では、カード２にユーザ証明書とともにユーザ証明書利用条件２３４が格納され、その情報を情報端末１の記憶部１３０に保持する。そして、情報端末１でユーザ証明書利用条件２３４の項目の現状値を取得し、項目の条件値が現状値とマッチするユーザ証明書を選択する手続きにより、複数のユーザ証明書の中から利用可能なユーザ証明書を自動的に選出することができる。その結果利用者が利用可能なユーザ証明書を判断して選出する手間が軽減される。また、カード２を情報端末１から取り出した場合は、情報端末１のユーザ証明書利用条件２３４が削除されるので、その後ユーザ証明書を利用する要求が発生した場合に、カード部１６０の処理を必要とせず、記憶部１３０のユーザ証明書利用条件リスト１３５を調べるだけで利用できる証明書がないと判断できる。【００５２】
実施の形態２．
本実施の形態では、図１７のように、情報端末１に対して２枚のカードを装着する。各カードの構成は実施の形態１の図５、図６に示したものと同一である。情報端末１の構成には、図１８、図１９に示したように第２カード部１６１が追加されている。また、実施の形態１におけるカード部１６０を第２カード部１６１と区別するため、第１カード部１６０と呼ぶ。【００５３】
第１カード５、第２カード６を装着した場合、それぞれのカードのユーザ証明書利用条件２３４を情報端末１に格納する必要がある。そこで、情報端末１は、図２０のように、複数のユーザ証明書利用条件２３４を含むユーザ証明書利用条件リスト１３５を記憶部１３０に保持する。【００５４】
図２１は、第１カード５、第２カード６を装着したとき、ユーザ証明書利用条件リスト１３５にユーザ証明書利用条件２３４が追加される処理の流れを示すフロー図である。【００５５】
情報端末１に第１カード５が装着されると（ステップＳ２１０１）、情報端末１は第１カード５との通信路を確立し、ユーザ証明書利用条件２３４の送付を第１カード５に要求する（ステップＳ２１０２）。第１カード５は、ユーザ証明書利用条件２３４とカードＩＤ２３１を結合して情報端末１に送付する。図２２に第１カード５が送付するユーザ証明書利用条件２３４とカードＩＤ２３１を結合した情報を示す。情報端末１はユーザ証明書利用条件２３４とカードＩＤ２３１を受け取ると、図２３のようにそれらを一つの要素としてユーザ証明書利用条件リスト１３５を生成する（ステップＳ２１０３）。【００５６】
情報端末１に第２カード６が装着されると（ステップＳ２１０４）、情報端末１は第２カード６との通信路を確立し、ユーザ証明書利用条件２３４の送付を第２カード６に要求する（ステップＳ２１０５）。第２カード６は、ユーザ証明書利用条件２３４とカードＩＤ２３１を結合して情報端末１に送付する。図２４に第２カード６が送付するユーザ証明書利用条件２３４とカードＩＤを結合した情報を示す。情報端末１はユーザ証明書利用条件２３４とカードＩＤ２３１を受け取ると、図２５のようにそれらを一つの要素としてユーザ証明書利用条件リスト１３５を更新する（ステップＳ２１０６）。【００５７】
図２５に示したユーザ証明書利用条件リスト１３５を情報端末１が保持した状態で、ユーザ証明書の選択が必要となった場合、実施の形態１と同様に、ユーザ証明書利用条件２３４の項目の現状値を取得して、その現状値に条件値がマッチするユーザ証明書を選択する。現状値に適合するユーザ証明書利用条件２３４を持つユーザ証明書が存在した場合、そのユーザ証明書のＩＤを出力する。例えば、ブラウザが“ｈｔｔｐｓ：／／ｗｗｗ．ｚｚｚ．ｏｒｇ／ｉｎｄｅｘ．ｈｔｍｌ”にアクセスすることによって、ＳＳＬクライアント認証が発生した場合、ユーザ証明書利用条件２３４の項目“接続先ホスト名”の現状値は“ｗｗｗ．ｚｚｚ．ｏｒｇ”となり、“利用アプリケーション名”は“Ｂｒｏｗｓｅｒ”となる。そして、これらの現状値とマッチする条件値をもつユーザ証明書をユーザ証明書利用条件リスト１３５から検索すると、“ユーザ証明書Ｄ”がマッチして出力される。情報端末１がユーザ証明書Ｄを取得する場合は、ユーザ証明書管理サービス１３４が、ユーザ証明書Ｄを保持するカードのＩＤが９１４８５であることをユーザ証明書利用条件リスト１３５から特定し、カードＩＤ“９１４８５”のカード、即ち第２カード６と通信路を確立し、証明書ＩＤがユーザ証明書Ｄの証明書を取得する。そして、それをアプリケーションに返す。【００５８】
カードを取り出した際には、実施の形態１と同様に情報端末１は、取り出されたカードのカードＩＤ２３１を取得し、そのカードＩＤ２３１に対応づけられたユーザ証明書利用条件リスト１３５内のユーザ証明書利用条件２３４を削除する。【００５９】
以上のように本実施の形態では、２枚のカードを情報端末１に装着した場合でも、情報端末１が、各カードに格納されたユーザ証明書利用条件２３４を保持できるユーザ証明書利用条件リスト１３５を有する。そして、情報端末１は、ユーザ証明書利用条件リスト１３５から、ユーザ証明書利用条件２３４の項目の現状値が条件値に適合するユーザ証明書ＩＤを得ることができるので、利用者が利用可能なユーザ証明書を判断して選出する手間が軽減される。【００６０】
本実施の形態では、２枚のカードが同時に装着できる情報端末１の例を記載したが、Ｎ枚（Ｎは２以上の整数とする）のカードを同時に装着できる情報端末１の場合でも、ユーザ証明書利用条件リスト１３５に含まれるユーザ証明書利用条件２３４の要素がＮになるだけで、ユーザ証明書の選択の手順は同様である。【００６１】
実施の形態３．
本実施の形態では、情報端末１が２枚のカードを装着でき、そのうちの１枚のカード（旧型のカードとする）がユーザ証明書利用条件２３４を保持しない場合でも、旧型のカードのユーザ証明書が選択候補に含まれる仕組みを記述する。【００６２】
本実施の形態では、図２６のように、旧型のカードの例として携帯電話に内蔵されているＵＩＭ（内蔵ＵＩＭ８）を用いる。また、ユーザ証明書利用条件２３４を保持するカードの例としては、メモリカードインタフェースに装着可能なＩＣカード（外部カード７）を用いる。【００６３】
情報端末１は、外部カード７からユーザ証明書利用条件２３４を入手後、内蔵ＵＩＭ８に対してユーザ証明書利用条件２３４の入手を依頼する。内蔵ＵＩＭ８は、情報端末１から受け取った証明書利用条件入手要求を解釈できないのでエラーを返す。情報端末１は、内蔵ＵＩＭ８がユーザ証明書利用条件２３４を保持しない旧型のカードであると判断して、内蔵ＵＩＭ８に対してカードＩＤ２３１及び保持するユーザ証明書ＩＤのみの送付を依頼する。すると内蔵ＵＩＭ８は、カードＩＤ“６９８７４”と保持するユーザ証明書ＩＤ“ユーザ証明書Ｅ”を返す。情報端末１はその情報を基に、図２７のように、得ることのできなかった“接続先ホスト名”、“使用アプリケーション名”の条件値を“ＤＥＦＡＵＬＴ”とする。“ＤＥＦＡＵＬＴ”はＮ／Ａ以外のあらゆる現状値とマッチするとする。また、現状値“ＤＥＦＡＵＬＴ”にマッチするのは“ＤＥＦＡＵＬＴ”のみであるとする。【００６４】
以上のように、本実施の形態では、ユーザ証明書利用条件２３４の項目の条件値に“ＤＥＦＡＵＬＴ”を追加することで、ユーザ証明書利用条件２３４に未対応のカードのユーザ証明書を利用することが事前にわかっているアプリケーションでは、ユーザ証明書利用条件２３４の項目の現状値に“ＤＥＦＡＵＬＴ”を設定し、ユーザ証明書利用条件２３４を保持するカードのユーザ証明書を選択対象から除外することができる。また逆に、ユーザ証明書利用条件２３４を保持するカードが装着されても、ユーザ証明書利用条件２３４を保持しないカードのユーザ証明書が選択候補から除外されてしまうことを防止することができる。【００６５】
実施の形態４．
本実施の形態では、情報端末１で保持するユーザ証明書利用条件リスト１３５にサーバ４から送付された条件項目及び条件値を追加可能としている。【００６６】
情報端末１が、図２７のようなユーザ証明書利用条件リスト１３５を保持しているとする。まず、サーバ４は、サーバ４が信用する証明書発行局（ＣＡ，Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ）が発行したＣＡ証明書の持ち主名がＡまたはＢであることを、情報端末１で動作しているアプリケーションに通知する。すると、図２８のように、そのアプリケーションがユーザ証明書利用条件リスト１３５に項目“サーバ４が信用しているＣＡ証明書の持ち主名”を条件値“Ａ，Ｂ”（ＡまたはＢ）とともに追加する。【００６７】
アプリケーションは、カード２から入手したユーザ証明書利用条件２３４にマッチするユーザ証明書を特定した後、そのマッチしたユーザ証明書の上位ＣＡ証明書が、Ａ又はＢであるかを判定し、その判定をパスしたユーザ証明書を、利用するユーザ証明書とする。そして、利用するユーザ証明書の特定後、情報端末１はサーバ４から送付された条件項目及び条件値をユーザ証明書利用条件リスト１３５から削除する。【００６８】
以上のように、本実施の形態では、カードから入手したユーザ証明書利用条件２３４にマッチするユーザ証明書の中から、さらに、サーバ４から送付された条件に適合したユーザ証明書を選択するので、他の実施の形態と比較して利用可能なユーザ証明書がさらに限定され、利用者が利用するユーザ証明書を判断する負荷が軽減される。【００６９】
前述した各実施の形態で、情報端末１、サーバ４は、コンピュータで実現できるものである。
図示していないが、情報端末１、サーバ４は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。【００７０】
例えば、ＣＰＵは、バスを介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード、表示装置、Ｋ／Ｂ（キーボード）、マウス、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（コンパクトディスクドライブ）、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
ＲＡＭは、揮発性メモリの一例である。ＲＯＭ、ＦＤＤ、ＣＤＤ、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
前述した各実施の形態の情報端末１、サーバ４が扱うデータや情報は、記憶装置あるいは記憶部に保存され、情報端末１、サーバ４の各部により、記録され読み出されるものである。【００７１】
また、通信ボードは、例えば、ＬＡＮ、インターネット、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されている。【００７２】
磁気ディスク装置には、オペレーティングシステム（ＯＳ）、ウィンドウシステム、プログラム群、ファイル群（データベース）が記憶されている。
プログラム群は、ＣＰＵ、ＯＳ、ウィンドウシステムにより実行される。【００７３】
上記情報端末１、サーバ４の各部は、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。【００７４】
上記プログラム群には、実施の形態の説明において「〜部」として説明した処理をＣＰＵに実行させるプログラムが記憶される。これらのプログラムは、例えば、Ｃ言語やＨＴＭＬやＳＧＭＬやＸＭＬなどのコンピュータ言語により作成される。【００７５】
また、上記プログラムは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記憶され、ＣＰＵにより読み出され実行される。【００７６】
このように、上記実施の形態１で説明した暗号システムは、
情報端末とその情報端末に装着可能な、ユーザ証明書と秘密鍵と秘密鍵による暗号機能を有するカードとから構成され、カードが、カードに格納されているユーザ証明書の利用条件を保持し、情報端末が、カードの装着を検出する手段を有し、情報端末がカード装着検出時にそのカードからユーザ証明書利用条件を読み込み情報端末に保存する格納する手段を有し、情報端末がユーザ証明書利用条件の項目の現状値を読み出す手段を有し、読み出した現状値と条件値がマッチすることを判断する手段を有し、マッチしたユーザ証明書のＩＤを特定する手段を有し、ユーザ証明書利用条件にマッチする複数の証明書のＩＤを表示する手段を有し、表示されたＩＤの中から一つのＩＤを選択する手段を有し、選択されたＩＤに対応するユーザ証明書をカードから取得する手段を有し、カード抜き時には情報端末に保存されているユーザ証明書利用条件を削除する手段を有することを特徴とする。【００７７】
また、前記暗号システムは、カード内に保持されるユーザ証明書利用条件に接続先システムの情報が記載されていることを特徴とする。【００７８】
また、前記暗号システムは、カード内に保持されるユーザ証明書利用条件に接続先システムの情報として、ホスト名が記載されていることを特徴とする。【００７９】
また、前記暗号システムは、カード内に保持されるユーザ証明書利用条件に利用するアプリケーションの情報が記載されていることを特徴とする。【００８０】
また、前記暗号システムは、カード内に保持されるユーザ証明書利用条件に利用するアプリケーションの情報として、アプリケーション名が記載されていることを特徴とする。【００８１】
また、上記実施の形態２で説明した暗号システムは、
複数のカードを装着可能な情報端末と、その情報端末に装着可能な、ユーザ証明書と秘密鍵と秘密鍵による暗号機能を有する複数のカードとから構成され、各カードが、カードに格納されているユーザ証明書の利用条件を保持し、情報端末が、カードの装着を検出する手段を有し、情報端末がカード装着検出時に装着されたカードからユーザ証明書利用条件を読み込み情報端末に保存する格納する手段を有し、複数のカードからユーザ証明書利用条件を読み込んだ場合、それら複数のユーザ証明書利用条件をすべて情報端末に保存する格納する手段を有し、情報端末がユーザ証明書利用条件の項目の現状値を読み出す手段を有し、読み出した現状値と条件値がマッチすることを判断する手段を有し、マッチしたユーザ証明書のＩＤを特定する手段を有し、ユーザ証明書利用条件にマッチする複数の証明書のＩＤを表示する手段を有し、表示されたＩＤの中から一つのＩＤを選択する手段を有し、選択されたＩＤに対応するユーザ証明書をカードから取得する手段を有し、カード抜き時には抜いたカードに対応するユーザ証明書利用条件を情報端末に保存されているユーザ証明書利用条件から削除する手段を有することを特徴とする。【００８２】
また、上記実施の形態３及び実施の形態４で説明した暗号システムは、
複数のカードを装着可能な情報端末と、その情報端末に装着可能な、ユーザ証明書と秘密鍵と秘密鍵による暗号機能を有する複数のカードとから構成され、その複数のカードが、カードに格納されているユーザ証明書の利用条件を保持するカードと、保持しないカードとから構成され、情報端末が、カードの装着を検出する手段を有し、情報端末がカード装着検出時に装着されたカードがユーザ証明書利用条件を保持する場合は、その条件を読み込み情報端末に保存する格納する手段を有し、ユーザ証明書利用条件を保持しない場合は、あらゆるユーザ証明書利用条件の現状値にマッチする条件値ＤＥＦＡＵＬＴが設定されたユーザ証明書利用条件を生成し、情報端末に格納する手段を有し、情報端末がユーザ証明書利用条件の項目の現状値を読み出す手段を有し、読み出した現状値と条件値がマッチすることを判断する手段を有し、マッチしたユーザ証明書のＩＤを特定する手段を有し、ユーザ証明書利用条件にマッチする複数の証明書のＩＤを表示する手段を有し、表示されたＩＤの中から一つのＩＤを選択する手段を有し、選択されたＩＤに対応するユーザ証明書をカードから取得する手段を有し、カード抜き時には抜いたカードに対応するユーザ証明書利用条件を情報端末に保存されているユーザ証明書利用条件から削除する手段を有することを特徴とする。【００８３】
また、前記暗号システムは、
サーバから送付されたユーザ証明書利用条件を、情報端末に保持されたユーザ証明書利用条件に追加する手段を有することを特徴とする。【００８４】
また、前記暗号システムは、サーバから送付されるユーザ証明書利用条件に、サーバの信用する証明書発行局の名前が記載されていることを特徴とする。
【図面の簡単な説明】
【００８５】
【図１】実施の形態１に係る暗号通信システムの構成を示すブロック図。
【図２】実施の形態１に係る情報端末と情報端末に装着されるカードの例。
【図３】実施の形態１に係る情報端末の構成を示すブロック図。
【図４】実施の形態１に係る情報端末の記憶部の構成を示す概念図。
【図５】実施の形態１に係るカードの構成を示すブロック図。
【図６】実施の形態１に係るカードの記憶部の構成を示す概念図。
【図７】実施の形態１に係るユーザ証明書利用条件の例。
【図８】実施の形態１に係るユーザ証明書利用条件の設定値の例。
【図９】実施の形態１に係るカードと情報端末とサーバが行う処理を示すシーケンス図。
【図１０】実施の形態１に係るカードが行う処理を示すフロー図。
【図１１】実施の形態１に係る情報端末が行う処理を示すフロー図。
【図１２】実施の形態１に係るサーバが行う処理を示すフロー図。
【図１３】実施の形態１に係る情報端末が行うユーザ証明書利用条件項目の現状値取得処理を示すフロー図。
【図１４】実施の形態１に係る情報端末が行うユーザ証明書選択処理を示すフロー図。
【図１５】実施の形態１に係る情報端末と情報端末から取り出されるカードの例。
【図１６】実施の形態１に係る情報端末が、カードが取り出される際に行う処理を示すフロー図。
【図１７】実施の形態２に係る情報端末と情報端末に装着されるカードの例。
【図１８】実施の形態２に係る暗号通信システムの一部の構成を示すブロック図。
【図１９】実施の形態２に係る情報端末の構成を示すブロック図。
【図２０】実施の形態２に係る情報端末の記憶部の構成を示す概念図。
【図２１】実施の形態２に係る情報端末が行う処理を示すフロー図。
【図２２】実施の形態２に係る情報端末に第１カードから送付される情報の例。
【図２３】実施の形態２に係るユーザ証明書利用条件リストの例（第１カードから情報を取得した直後）。
【図２４】実施の形態２に係る情報端末に第２カードから送付される情報の例。
【図２５】実施の形態２に係るユーザ証明書利用条件リストの例（第２カードから情報を取得した直後）。
【図２６】実施の形態３に係る情報端末と情報端末に装着されるカードの例。
【図２７】実施の形態４に係るユーザ証明書利用条件リストの例（２枚のカードから情報を取得した直後）。
【図２８】実施の形態４に係るユーザ証明書利用条件リストの例（サーバから情報を取得した直後）。
【符号の説明】
【００８６】
１  情報端末、２  カード、３  ネットワーク、４  サーバ、５  第１カード、６  第２カード、７  外部カード、８  内蔵ＵＩＭ、１１０  表示部、１２０  入力部、１３０  記憶部、１３１  入力サービス、１３２  通信サービス、１３３  カード制御サービス、１３４  ユーザ証明書管理サービス、１３５  ユーザ証明書利用条件リスト、１４０  制御部、１５０  通信部、１６０  カード部、２１０  制御部、２２０  Ｉ／Ｏ部、２３０  記憶部、２３１  カードＩＤ、２３２  ユーザ証明書群、２３３  秘密鍵群、２３４  ユーザ証明書利用条件。
【図１】
0004611988.tif 000002
【図２】
0004611988.tif 000003
【図３】
0004611988.tif 000004
【図４】
0004611988.tif 000005
【図５】
0004611988.tif 000006
【図６】
0004611988.tif 000007
【図７】
0004611988.tif 000008
【図８】
0004611988.tif 000009
【図９】
0004611988.tif 000010
【図１０】
0004611988.tif 000011
【図１１】
0004611988.tif 000012
【図１２】
0004611988.tif 000013
【図１３】
0004611988.tif 000014
【図１４】
0004611988.tif 000015
【図１５】
0004611988.tif 000016
【図１６】
0004611988.tif 000017
【図１７】
0004611988.tif 000018
【図１８】
0004611988.tif 000019
【図１９】
0004611988.tif 000020
【図２０】
0004611988.tif 000021
【図２１】
0004611988.tif 000022
【図２２】
0004611988.tif 000023
【図２３】
0004611988.tif 000024
【図２４】
0004611988.tif 000025
【図２５】
0004611988.tif 000026
【図２６】
0004611988.tif 000027
【図２７】
0004611988.tif 000028
【図２８】
0004611988.tif 000029