(57)【要約】【課題】  一度の通信路確立処理で複数の証明書の相互認証を可能とし、通信路を確立するための時間及び計算機資源の増加を抑制でき、また、通信路の管理コストの増加を抑制できる、証明書相互認証システム提供する。【解決手段】  通信路確立要求者なるクライアント１０１は、サーバ２０１に通信路確立要求を送信し、サーバから複数の種類の証明書を受信する。そして、サーバ２０１から受信した複数の証明書を認証し、サーバ２０１に複数の種類のクライアント証明書を送信する。サーバ２０１では、クライアント１０１から受信した複数の証明書を認証し、クライアント１０１に通信路確立通知を送信する。【選択図】  図１
2005267520.tif 000002
【特許請求の範囲】
【請求項１】
通信路確立要求を行うクライアントと、前記クライアントからの通信路確立要求に応答するサーバとで、複数の証明書の相互認証を行う証明書相互認証システムであって、
前記クライアントには、
前記サーバに通信路確立要求を送信する通信路確立要求手段と、
前記サーバから複数の証明書を受信するサーバ証明書受信手段と、
前記サーバから受信した複数の証明書を認証するサーバ証明書認証手段と、
前記サーバから受信した複数の証明書を認証した後に、前記サーバに複数の証明書を送信するクライアント証明書送信手段と、
クライアントから送信した証明書が前記サーバに認証された場合に、前記サーバから通信路確立通知を受信する通信路確立通知受信手段と
を備え、
前記サーバには、
前記クライアントから通信路確立要求を受信する通信路確立要求受信手段と、
前記クライアントに複数の証明書を送信するサーバ証明書送信手段と、
前記クライアントから複数の証明書を受信するクライアント証明書受信手段と、
前記クライアントから受信した複数の証明書を認証するクライアント証明書認証手段と、
クライアントから受信した複数の証明書を認証した後に、通信路確立通知をクライアントに送信する通信路確立通知送信手段と
を備えることを特徴とする証明書相互認証システム。
【請求項２】
前記クライアントには、通信路確立要求先に応じて、送信する証明書を選択するクライアント証明書選択手段を
備え、
前記サーバには、通信路確立要求元に応じて、送信する証明書を選択するサーバ証明書選択手段を
備えることを特徴とする請求項１に記載の証明書相互認証システム。
【請求項３】
通信路確立要求を行うクライアントと、前記クライアントからの通信路確立要求に応答するサーバとで、複数の証明書の相互認証を行う証明書相互認証方法であって、
前記クライアントにより、
前記サーバに通信路確立要求を送信する通信路確立要求手順と、
前記サーバから複数の証明書を受信するサーバ証明書受信手順と、
前記サーバから受信した複数の証明書を認証するサーバ証明書認証手順と、
前記サーバから受信した複数の証明書を認証した後に、前記サーバに複数の証明書を送信するクライアント証明書送信手順と、
クライアントから送信した証明書が前記サーバに認証された場合に、前記サーバから通信路確立通知を受信する通信路確立通知受信手順と
が行われ、
前記サーバにより、
前記クライアントから通信路確立要求を受信する通信路確立要求受信手順と、
前記クライアントに複数の証明書を送信するサーバ証明書送信手順と、
前記クライアントから複数の証明書を受信するクライアント証明書受信手順と、
前記クライアントから受信した複数の証明書を認証するクライアント証明書認証手順と、
クライアントから受信した複数の証明書を認証した後に、通信路確立通知をクライアントに送信する通信路確立通知送信手順とが行われることを特徴とする証明書相互認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一度の通信路確立処理の過程で、複数の証明書の相互認証を可能とする、証明書相互認証システム、及び証明書相互認証方法に関する。
【背景技術】
【０００２】
図６に、従来のクライアントとサーバの認証の手順を示す。図６において、最初に、クライアント１０１ａはサーバ（サーバ内で実行されている１つのアプリケーション）２０１ａに対して通信路確立の要求を送信する（ステップＳ２０１）。サーバ２０１ａは要求に応答すると共に、証明書連鎖（証明書、暗号鍵情報などを含む認証プロセスに必要な一連の情報）を１つ送り、また、「サーバが認証可能な認証局の識別名（DistinguishedName）のリスト」をクライアント１０１ａに送信する（ステップＳ２０２）。なお、本発明では、証明書連鎖のことを、単に「証明書」ともいう。
【０００３】
クライアント１０１ａは、サーバ２０１ａからサーバ側の証明書を1つ受信し、受信した証明書の確認（検証）を行い、DistinguishedNameリスト中の認証局から認証されたクライアント側の証明書を１つサーバ２０１ａに送信する（ステップＳ２０３）。
【０００４】
サーバ２０１ａは、クライアント１０１ａから受信した1つのクライアント側の証明書の確認（認証）を行う、認証が正常に行われると、サーバ２０１ａはクライアント１０１ａに対して、通信路確立終了通知を送信する（ステップＳ２０４）。
【０００５】
その後、クライアント１０１ａとサーバ２０１ａ間でデータの通信が行われる（ステップＳ２０５）。なお、クライアント１０１ａがサーバ２０１ａから要求された証明書を提示できない場合、あるいはお互いの証明書の検証に失敗した場合は、通信路は確立されない。
【０００６】
ところで、１つのサーバ２０１ａ内で異なる複数のアプリケーション（例えば、英会話スクールと、英会話教材シップのサイト、書籍ショップのサイトなど）が運用されている場合に、これらの複数のアプリケーションにアクセスする場合に、図６に示した従来の方法では、クライアント１０１ａとサーバ２０１ａ間では、１つのアプリケーションについて１つずつの証明書で相互認証された安全な通信路を確立する。複数のアプリケーションにアクセスする場合には、これを複数回繰り返し複数本の通信路を確立する必要がある。このため、複数回の通信路確立処理を行うための処理時間が必要となり、また、そのための計算機資源が必要になる。
【０００７】
また、複数本の通信路を持つため、その通信路の管理コストがかかる。管理コストとは、通信路の保持および通信に必要な計算機資源や通信路の切断や再接続などの状況変化に必要な処理などである。
【０００８】
従って、１つのサーバ内に異なるアプリケーション（例えば、英会話スクール、教材シップ、書籍ショップなどのサイト）が運用されている場合には、複数の証明書の認証が一度に行え、かつ１つの通信路の確立で相互認証を行えるシステムに提供が望まれていた。
【０００９】
また、現在は、Ｗｅｂブラウザを使用した電子商取引の電子決裁などに、ＴＬＳ（Transport Layer Security）プロトコルが一般的に広く利用されている。ＴＬＳは、インターネット上で情報を暗号化して送受信するプロトコルであり、ＴＬＳは公開鍵暗号、秘密鍵暗号、デジタル証明書を用い、データの盗聴や改ざん、なりすましを防ぐことができ、ＲＦＣ−２２４６としてＩＥＴＦで標準化されている（例えば、非特許文献１参照）。
【００１０】
ＴＬＳプロトコルを用いたアプリケーションにおいて、複数の証明書を一度に認証しようとすると、次のような問題があり動作しない。
【００１１】
ＴＬＳプロトコルでは、その通信内容のプロトコルが仕様として明確に定められているために、仕様と異なるデータフォーマットを送信した場合、通信規約エラーとなり通信路は確立されない。したがって、複数の証明書の送信は、ＴＬＳプロトコルでは定められていないデータフォーマットであるため、通信規約エラーとなり通信路は確立されない。
【００１２】
また、ネットワークで接続された２台以上の計算機（以降これらの計算機をピアと呼ぶ）の間で複数の証明書による認証を可能とする安全な通信路を確立する必要がある場合が存在する。例えば次のような、ピアツーピア方式で接続された複数のピア上で、異なる証明書の認証を必要とするアプリケーションが異なるピア上で複数の動作している場合である。
【００１３】
ビアＡで教育アプリケーションが動作し、ピアＢで業務アプリケーションが動作しているものとする．ビアＡ、Ｂのユーザが教育アプリケーションおよび業務アプリケーションを同時に利用する。
【００１４】
この場合ピアＡの教育アプリケーションでは、ビアＡが発行した証明書に基づきピアＡおよびピアＢが相互認証を行い、ピアＢの業務アプリケーションでは、ビアＢが発行した証明書に基づきピアＡおよびピアＢが相互認証を行う。
【００１５】
このような場合に、ＴＬＳプロトコルを使用して、サーバのプログラムを記述する場合には、認証を必要とする各アプリケーションごとに通信路を確立する必要があり、その処理に時間がかかる、また、確立された通信路を管理（通信路を記憶するためのメモリ管理や、再接続の処理等）するプログラムの記述が煩雑になる。
【非特許文献１】The TLS Protocol Version 1.0  (http://www.ietf.org/rfc/rfc2246.txt:2004年2月26日現在)
【発明の開示】
【発明が解決しようとする課題】
【００１６】
本発明は、このような問題を解決するためになされたもので、その目的は、一度の通信路確立処理で複数の証明書の相互認証を可能とし、通信路を確立するための時間及び計算機資源の増加を抑制でき、また、通信路の管理コストの増加を抑制できる、証明書相互認証システム、及び証明書相互認証方法を提供することにある。
【課題を解決するための手段】
【００１７】
本発明は、上記課題を解決するためになされたものであり、本発明の証明書相互認証システムは、通信路確立要求を行うクライアントと、前記クライアントからの通信路確立要求に応答するサーバとで、複数の証明書の相互認証を行う証明書相互認証システムであって、前記クライアントには、前記サーバに通信路確立要求を送信する通信路確立要求手段と、前記サーバから複数の証明書を受信するサーバ証明書受信手段と、前記サーバから受信した複数の証明書を認証するサーバ証明書認証手段と、前記サーバから受信した複数の証明書を認証した後に、前記サーバに複数の証明書を送信するクライアント証明書送信手段と、クライアントから送信した証明書が前記サーバに認証された場合に、前記サーバから通信路確立通知を受信する通信路確立通知受信手段とを備え、前記サーバには、前記クライアントから通信路確立要求を受信する通信路確立要求受信手段と、前記クライアントに複数の証明書を送信するサーバ証明書送信手段と、前記クライアントから複数の証明書を受信するクライアント証明書受信手段と、前記クライアントから受信した複数の証明書を認証するクライアント証明書認証手段と、クライアントから受信した複数の証明書を認証した後に、通信路確立通知をクライアントに送信する通信路確立通知送信手段とを備えることを特徴とする。
これにより、一度の通信路確立処理で複数の証明書の相互認証を可能としたため、従来の通信路確立方法よりも、通信路を確立するための時間及び計算機資源を抑えることができる。また、１本の通信路で複数の証明書の相互認証を可能としたため、従来に比べて、その通信路の管理コストを抑えることができる。管理コストとは、通信路の保持および通信に必要な計算機資源や通信路の切断や再接続などの状況変化に必要な処理などである。
【００１８】
また、本発明の証明書相互認証システムは、前記クライアントには、通信路確立要求先に応じて、送信する証明書を選択するクライアント証明書選択手段を備え、前記サーバには、通信路確立要求元に応じて、送信する証明書を選択するサーバ証明書選択手段を備えることを特徴とする。
これにより、クライアント側から送信した証明書を手がかりに、証明書中のクライアント情報について必要以上に把握されてしまうことを防止することができるので、クライアントのプライバシーを保護することができる。また、サーバ側から送信した証明書を手がかりに、証明書中のサーバ情報について必要以上に把握されてしまうことを防止することができるので、サーバのプライバシーを保護することができる。また、セッション確立に不要な証明書を送信しないことによって、証明書確認にかかる時間を短縮できる。
【００１９】
また、本発明の証明書相互認証方法は、通信路確立要求を行うクライアントと、前記クライアントからの通信路確立要求に応答するサーバとで、複数の証明書の相互認証を行う証明書相互認証方法であって、前記クライアントにより、前記サーバに通信路確立要求を送信する通信路確立要求手順と、前記サーバから複数の証明書を受信するサーバ証明書受信手順と、前記サーバから受信した複数の証明書を認証するサーバ証明書認証手順と、前記サーバから受信した複数の証明書を認証した後に、前記サーバに複数の証明書を送信するクライアント証明書送信手順と、クライアントから送信した証明書が前記サーバに認証された場合に、前記サーバから通信路確立通知を受信する通信路確立通知受信手順とが行われ、前記サーバにより、前記クライアントから通信路確立要求を受信する通信路確立要求受信手順と、前記クライアントに複数の証明書を送信するサーバ証明書送信手順と、前記クライアントから複数の証明書を受信するクライアント証明書受信手順と、前記クライアントから受信した複数の証明書を認証するクライアント証明書認証手順と、クライアントから受信した複数の証明書を認証した後に、通信路確立通知をクライアントに送信する通信路確立通知送信手順とが行われることを特徴とする。
これにより、一度の通信路確立処理で複数の証明書の相互認証を可能としたため、従来の通信路確立方法よりも、通信路を確立するための時間及び計算機資源を抑えることができる。また、１本の通信路で複数の証明書の相互認証を可能としたため、従来に比べて、その通信路の管理コストを抑えることができる。管理コストとは、通信路の保持および通信に必要な計算機資源や通信路の切断や再接続などの状況変化に必要な処理などである。
【発明の効果】
【００２０】
本発明の証明書相互認証システムにおいては、通信路確立要求者なるクライアントは、サーバに通信路確立要求を送信し、サーバから複数の証明書を受信する。そして、サーバから受信した複数の証明書を認証し、サーバに複数の種類のクライアント証明書を送信する。サーバでは、クライアントから受信した複数の証明書を認証し、クライアントに通信路確立通知を送信する。
これにより、一度の通信路確立処理で複数の証明書の相互認証を可能としたため、従来の通信路確立手段よりも、通信路を確立するための時間及び計算機資源を抑えることができる。また、１本の通信路で複数の証明書の相互認証を可能としたため、従来に比べて、その通信路の管理コストを抑えることができる。管理コストとは、通信路の保持および通信に必要な計算機資源や通信路の切断や再接続などの状況変化に必要な処理などである。
【００２１】
また、本発明の証明書相互認証システムにおいては、クライアントは、通信路確立要求先に応じて、送信するクライアントの証明書を選択する。また、サーバは、通信路確立要求元に応じて、送信する証明書を選択する。
これにより、クライアント側から送信した証明書を手がかりに、証明書中のクライアント情報について必要以上に把握されてしまうことを防止することができるので、クライアントのプライバシーを保護することができる。また、サーバ側から送信した証明書を手がかりに、証明書中のサーバ情報について必要以上に把握されてしまうことを防止することができるので、サーバのプライバシーを保護することができる。また、セッション確立に不要な証明書を送信しないことによって、証明書確認にかかる時間を短縮できる。
【００２２】
また、本発明の証明書相互認証方法においては、通信路確立要求者なるクライアントは、サーバに通信路確立要求を送信し、サーバから複数の証明書を受信する。そして、サーバから受信した複数の証明書を認証し、サーバに複数の種類のクライアント証明書を送信する。サーバでは、クライアントから受信した複数の証明書を認証し、クライアントに通信路確立通知を送信する。
これにより、一度の通信路確立処理で複数の証明書の相互認証を可能としたため、従来の通信路確立手段よりも、通信路を確立するための時間及び計算機資源を抑えることができる。また、１本の通信路で複数の証明書の相互認証を可能としたため、従来に比べて、その通信路の管理コストを抑えることができる。管理コストとは、通信路の保持および通信に必要な計算機資源や通信路の切断や再接続などの状況変化に必要な処理などである。
【発明を実施するための最良の形態】
【００２３】
次に本発明を実施するための最良の形態について図面を参照して説明する。
図１は、本発明の証明書相互認証システムについて説明するための図である。図１において、通信路確立要求者であるクライアント１０１と、通信路確立要求に応答するサーバ２０１とが通信ネットワーク１で接続されており、サーバ２０１上で複数のアプリケーションＡ、Ｂ、Ｃ（例えば、英会話スクール、英会話教材ショップ、書籍ショップのサイトなど）が運用されている例である。
【００２４】
このような場合に、クライアント１０１が、サーバ２０１内の複数のアプリケーションＡ、Ｂ、Ｃにアクセスするためには、従来は、「アプリケーションＡの証明書（サーバ側）」と「アプリケーションＡ用のクライアントの証明書（クライアント側）」の相互認証による通信路確立処理、「アプリケーションＢの証明書（サーバ側）」と「アプリケーションＢ用のクライアントの証明書（クライアント側）」の相互認証による通信路確立処理、「アプリケーションＣの証明書（サーバ側）」と「アプリケーションＣ用のクライアントの証明書（クライアント側）」の相互認証による通信路確立処理が、個々に必要であった。このため、複数回の通信路確立処理を行うための処理時間が必要となり、また、そのための計算機資源が必要になっていた。
【００２５】
本発明の証明書相互認証システムでは、クライアント１０１からサーバ２０１に通信路確立要求があった場合に、サーバ２０１からクライアント１０１に、複数の証明書（アプリケーションＡの証明書、アプリケーションＢの証明書、アプリケーションＣの証明書）を一度に送る。また、クライアント１０１からサーバ２０１に、複数の証明書（アプリケーションＡ用のクライアントの証明書、アプリケーションＢ用のクライアントの証明書、アプリケーションＣ用のクライアントの証明書）を一度に送り、複数の証明書の相互認証を一度で行う。
【００２６】
図２に、本発明の証明書相互認証システムにおける認証の手順を示す。図２は、複数の証明書で相互認証された通信路を確立する方法の概要を示す図である。ただし、証明書および認証の概要を示しており、公開鍵方式による暗号鍵交換などのシーケンスは省略している。
【００２７】
また、サーバ２０１には、複数のアプリケーション（例えば、英会話スクールと、英会話教材ショップ、書籍ショップのサイトなど）が運用されており、それぞれに、認証用の証明書が用意されているものとする。
【００２８】
最初に、クライアント１０１はサーバ２０１に通信路確立の要求を送信する（ステップＳ１０１）。サーバ２０１は通信路確立要求に応答すると共に、「証明書連鎖（証明書、暗号鍵情報、証明局に関連する情報などを含む認証プロセスに必要な一連の情報、単に「証明書」ともいう）」をクライアント１０１に送信する。この時、送信する証明書は複数でも構わない。送るデータは証明書の数、それに続き証明書をその数だけ送信する。また、サーバ２０１が認証可能な「認証局の識別名（DistinguishedName）のリスト」をクライアント１０１に送信する。さらに、クライアント証明書（複数の候補）の送信を要求する（ステップＳ１０２）。
【００２９】
クライアント１０１はサーバ２０１から、証明書の数の情報を受信し、その後、証明書の数だけ証明書を受信する。受信したすべてのサーバ証明書を公開鍵暗号処理方式により確認（検証）を行う。なお、この場合に、クライアント１０１は自分のアクセスの対象となるアプリケーションについての証明書がどうかに係わらず、すべての証明書について検証を行う。
【００３０】
次に、サーバ２０１から受信した「DistinguishedNameリスト」中の認証局から認証された証明書をサーバ２０１に送信する（ステップＳ１０３）。このとき送信する証明書は複数でも構わない。送信するデータは、証明書の数、それに続く証明書をその数だけ送信する。例えば、２つのアプリケーションにアクセスする場合には、２つの証明書をサーバ２０１に送信する。
【００３１】
サーバ２０１はクライアント１０１から証明書の数を受信し、その後その数だけ証明書を受信する。受信した全てのクライアント１０１の証明書の検証を行い、認証に成功した場合には、通信路確立通知をクライアント１０１へ送信する（ステップＳ１０４）。
【００３２】
その後、クライアント１０１、サーバ２０１間でデータの通信を行う（ステップＳ１０５）。なお、クライアント１０１がサーバ２０１から要求された証明書を提示できない場合、お互いの証明書の検証に１つでも失敗した場合は、通信路は確立されない。また、ステップＳ１０２およびステップＳ１０３で受信した証明書の数だけ証明書を受信できない場合も、通信路は確立されない。
【００３３】
なお、上述したように、本例ではサーバ２０１およびクライアント１０１で複数の証明書の検証を行い、検証中に、その１つの証明書でも検証に失敗すると、以下の理由により通信路の確立は行わないものとしている。
【００３４】
１つの通信路により複数の認証を行っているため、その１つに検証失敗したものが存在すると、他の認証結果を利用した不正な通信が行われる恐れがあるため。また、他の方法として検証失敗したものを除いた通信路の確立を実現するという方法もあるが、お互いが想定した証明書で認証できない場合通信路の確立自体を失敗とした方が自然なこと、プロトコルが煩雑になることの理由によりその方法は採用していないが、もちろん、検証失敗したものを除いた通信路の確立を実現するようにしてもよい。
【００３５】
また、クライアント１０１、サーバ２０１間で通信路が確立し、データの通信を行う場合には、セキュリティポリシー（セキュリティ基準）に従い通信を行うことができる。図３はセキュリティポリシー（セキュリティ基準）テーブルの例を示す図であり、このセキュリティポリシーテーブルの情報に基づいて、そのアクセス元に応じて、アクセス可能な範囲が制限される。例えば、ユーザＡにレベル１（最もセキュリティレベルが低い）、ユーザＢにレベル２（セキュリティレベル中）、ユーザＣにレベル３（最もセキュリティレベルが高い）を設定し、対象となるファイルがレベル２のファイルである場合には、そのファイルに設定されたレベル以上のユーザＢとユーザＣのみが閲覧できるようにした例である。
【００３６】
また、クライアント１０１側およびサーバ２０１側のそれぞれで利用する証明書を動的に選択するようにもできる。例えば、図４に示す証明書選択テーブルの情報を参照して、クライアント１０１側では、アクセス先（ＩＰアドレス）ごとに必要な利用証明書を選択し、サーバ２０１側では、要求元（ユーザのＩＰアドレス）ごとに送信する利用証明書を選択できるようにする。
【００３７】
例えば、図４（ａ）において、クライアント１０１側から「英会話スクール」にアクセスする場合には、クライアント１０１側からサーバ２０１側に、英会話スクールに対する証明書だけを送る。また、「会社Ａ」にアクセスする場合には、英会話スクールに対する証明書と、会社Ａに対する証明書と、書籍ショップに対する証明書の３つの証明書を送信する。
【００３８】
また、図４（ｂ）に示すように、サーバ２０１側において、ＩＰアドレス（１１１.ａａａ.ｂｂｂ.ｃｃｃ）の要求元から通信路確立要求があった場合には、英会話スクールの証明書だけを送信する。また、ＩＰアドレス（１１１.ｂｂｂ．ｃｃｃ.ａａａ）の要求元から通信路確立要求があった場合には、英会話スクールの証明書と、会社Ａの証明書と、書籍ショップの証明書の３つの証明書を送信する。
【００３９】
これにより、クライアント１０１側から送信した証明書を手がかりに、証明書中のクライアント情報について必要以上に把握されてしまうことを防止することができるので、クライアント１０１のプライバシーを保護することができる。またサーバ２０１側から送信した証明書を手がかりに、証明書中のサーバ情報について必要以上に把握されてしまうことを防止することができるので、サーバ２０１のプライバシーを保護することができる。また、セッション確立に不要な証明書を送信しないことによって、証明書確認にかかる時間を短縮できる。
【００４０】
なお、以上説明した本発明の実施の形態においては、通信路確立要求者としてのクライアント１０１と通信路確立要求に応答するサーバ２０１の例を示したが、クライアント１０１は、サーバであってもよいし、さらに、クライアント１０１およびサーバ２０１がピアであってもよい。また、クライアント１０１およびサーバ２０１から送信する証明書の数は常に複数である必要はなく、１つの場合も有り得ることは勿論である。
【００４１】
また、図５は、クライアントとサーバの構成例を示す図であり、本発明に直接関係するものについて示したものである。
【００４２】
クライアント１０１は、クライアント全体を制御する制御部１０２、通信ネットワーク１とクライアント１０１を接続する通信用インタフェース１０３、処理プログラム部１１０、及び記憶部１２０を有している。
【００４３】
また、処理プログラム部１１０には、以下の処理部が含まれている。
通信路確立要求処理部（通信路確立要求手段）１１１は、サーバ２０１に通信路確立要求を送信する処理を行う。
【００４４】
サーバ証明書受信処理部（サーバ証明書受信手段）１１２は、サーバ２０１から複数の種類の証明書を受信する処理を行う。
【００４５】
サーバ証明書認証処理部（サーバ証明書認証手段）１１３は、サーバ２０１から受信した証明書を認証する処理を行う。
【００４６】
クライアント証明書送信処理部（クライアント証明書送信手段）１１４は、サーバ２０１に複数のクライアントの証明書を送信する処理を行う。
【００４７】
通信路確立通知受信処理部（通信路確立通知受信手段）１１５は、サーバ２０１から通信路確立通知を受信する処理を行う。
【００４８】
クライアント証明書選択処理部（クライアント証明書選択手段）１１６は、サーバ２０１に送信する証明書を、通信路確立要求先（アクセス先）に応じて選択する処理を行う。
【００４９】
また、記憶部１２０には、クライアント自身の証明書の情報、証明書選択テーブルなどが記憶されている。
【００５０】
また、サーバ２０１は、サーバ全体を制御する制御部２０２、通信ネットワーク１とサーバ２０１を接続する通信用インタフェース２０３、処理プログラム部２１０、及びデータベース２２０を有している。
【００５１】
また、処理プログラム部２１０には、以下の処理部が含まれている。
通信路確立要求受信処理部（通信路確立要求受信手段）２１１は、クライアント１０１から通信路確立要求を受信する処理を行う。
【００５２】
サーバ証明書送信処理部（サーバ証明書送信手段）２１２は、クライアント１０１に複数の種類の証明書を送信する処理を行う。
【００５３】
クライアント証明書受信処理部（クライアント証明書受信手段）２１３は、クライアント１０１から複数の種類の証明書を受信する処理を行う。
【００５４】
クライアント証明書認証処理部（クライアント証明書認証手段）２１４は、クライアント１０１から受信した証明書を認証する処理を行う。
【００５５】
通信路確立通知送信処理部（通信路確立通知送信手段）２１５は、クライアント１０１の認証後に通信路確立通知をクライアントに送信する処理を行う。
【００５６】
サーバ証明書選択処理部（サーバ証明書選択手段）２１６は、クライアント１０１に応じて、送信する証明書を選択する処理を行う。
【００５７】
セキュリティポリシー処理部２１７は、クライアント１０１に応じてセキュリティレベルを設定し、例えば、閲覧できるファイルの範囲などを設定する。
【００５８】
また、データベース２２０には、アプリケーション情報（複数のアプリケーションＡ、Ｂなど）、各アプリケーションに対応する証明書の情報、証明書選択テーブル、ポリシーテーブルなどが記憶されている。
【００５９】
なお、クライアント１０１内の処理プログラム部１１０、およびサーバ２０１内の処理プログラム部２１０は専用のハードウェアにより実現されるものであってもよく、またこの処理プログラム部はメモリおよびＣＰＵ（中央処理装置）等の汎用の情報処理装置により構成され、この処理部の機能を実現するためのプログラム（図示せず）をメモリにロードして実行することによりその機能を実現させるものであってもよい。
【００６０】
また、クライアント１０１内の処理プログラム部１１０、およびサーバ２０１内の処理プログラム部２１０の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより本発明に必要な処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００６１】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの(伝送媒体ないしは伝送波)、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００６２】
以上、本発明の実施の形態について説明したが、証明書相互認証システムは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【産業上の利用可能性】
【００６３】
本発明は、一度の通信路確立処理で複数の証明書の相互認証を可能としたため、従来の通信路確立方法よりも、通信路を確立するための時間及び計算機資源の増加を抑えることができる効果を有し、証明書相互認証システム、及び証明書相互認証方法などに有用である。
【図面の簡単な説明】
【００６４】
【図１】本発明の証明書相互認証システムについて説明するための図である。
【図２】本発明の証明書相互認証システムにおける認証の手順を示す図である。
【図３】セキュリティポリシーテーブルの例を示す図である。
【図４】証明書選択テーブルの例を示す図である。
【図５】クライアントとサーバの構成例を示す図である。
【図６】従来のクライアントとサーバの認証の手順を示す図である。
【符号の説明】
【００６５】
１  通信ネットワーク
１０１  クライアント
２０１  サーバ
１０２  制御部
１０３  通信用インタフェース
１１０  処理プログラム部
１１１  通信路確立要求処理部
１１２  サーバ証明書受信処理部
１１３  サーバ証明書認証処理部
１１４  クライアント証明書送信処理部
１１５  通信路確立通知受信処理部
１１６  クライアント証明書選択処理部
１２０  データベース
２０１  サーバ
２０２  制御部
２０３  通信用インタフェース
２１０  処理プログラム部
２１１  通信路確立要求受信処理部
２１２  サーバ証明書送信処理部
２１３  クライアント証明書受信処理部
２１４  クライアント証明書認証処理部
２１５  通信路確立通知送信処理部
２１６  サーバ証明書選択処理部
２１７  セキュリティポリシー処理部
２２０  データベース
【図１】
2005267520.tif 000003
【図２】
2005267520.tif 000004
【図３】
2005267520.tif 000005
【図４】
2005267520.tif 000006
【図５】
2005267520.tif 000007
【図６】
2005267520.tif 000008