(57)【特許請求の範囲】
【請求項１】
オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法であって、
１）エンティティＢは、乱数ＲＢと、身分標識ＩＤＢと、エンティティＢがエンティティＡの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストＲｅｑＢと、選択可能なテキストＴｅｘｔ１  とを含むメッセージ１を、エンティティＡに送信するステップと、
２  ）エンティティＡは、メッセージ１を受信すると、前記リクエスト  ＲｅｑＢの内容を含み、エンティティＡがエンティティＢの有効な公開鍵または公開鍵証明書の状態、及びエンティティＢがエンティティＡの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストＲｅｑＡＴと、選択可能なテキストＴｅｘｔ２とを含むメッセージ  ２を、信頼できる第三者  ＴＰに送信するステップと、
３  ）信頼できる第三者  ＴＰは、メッセージ  ２を受信すると、エンティティＡとエンティティＢの身分標識  ＩＤＡ  と  ＩＤＢに基づいて公開鍵証明書ＣｅｒｔＡとＣｅｒｔＢの有効性をチェックし、或いは、エンティティＡとエンティティＢとのそれぞれのエンティティ区別子に基づいてエンティティＡとエンティティＢの有効な公開鍵を捜索して、応答ＲｅｐＢの内容を含み、信頼できる第三者によって特定されたエンティティＡの有効な公開鍵または公開鍵証明書の状態、及びエンティティＢの有効な公開鍵または公開鍵証明書の状態を示すための応答ＲｅｐＴＡを特定するステップと、  
４）信頼できる第三者ＴＰが、応答ＲｅｐＴＡと選択可能なテキスト  Ｔｅｘｔ３とを含むメッセージ  ３を、エンティティＡに返信するステップと、
５  ）エンティティＡは、メッセージ  ３を受信すると、乱数  ＲＡと、身分標識  ＩＤＡと、トークンＴｏｋｅｎＡＢ（ＴｏｋｅｎＡＢ  ＝  ｓＳＡ  （  ＲｅｐＢ‖ＲＡ‖ＲＢ‖Ｂ‖Ａ‖Ｔｅｘｔ４）、ｓＳＡがエンティティＡの署名である）と、信頼できる第三者によって特定されたエンティティＡの有効な公開鍵または公開鍵証明書の状態を示すための応答ＲｅｐＢと、選択可能なテキストＴｅｘｔ５とを含むメッセージ４を、エンティティＢに返信するステップと、
６  ）エンティティＢは、メッセージ４を受信すると、
６.１）使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答ＲｅｐＢを検証し、検証が通ると、ステップ６.２  ）を実行し、
６.２）エンティティＡの公開鍵または公開鍵証明書の状態を取得して、トークンＴｏｋｅｎＡＢに含まれたエンティティＡの署名は正確であるか否かを検証すると共に、エンティティＢのエンティティ区別子と、トークンＴｏｋｅｎＡＢにおける、エンティティＡ  の署名データに含まれたエンティティＢのエンティティ区別子とが一致するか否かをチェックし、一致すれば、メッセージ１におけるエンティティＢによって生成された乱数  ＲＢと、トークンＴｏｋｅｎＡＢにおける、エンティティＡの署名データに含まれた乱数  ＲＢとが一致するか否かをチェックし、一致すれば、エンティティＡに対するエンティティＢの認証が通ったと判定し、ステップ  ７  ）を実行するステップと、
７  ）エンティティＢは、トークンＴｏｋｅｎＢＡ（ＴｏｋｅｎＢＡ  ＝  ｓＳＢ  （  ＲＡ‖Ａ‖Ｔｅｘｔ６  ）、  ｓＳＢがエンティティＢの署名である）と、選択可能なテキスト  Ｔｅｘｔ７とを含むメッセージ  ５を、エンティティＡに送信するステップと、
８  ）エンティティＡは、メッセージ  ５を受信すると、
８.１）使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて、メッセージ  ３における応答ＲｅｐＴＡを検証し、検証が通ると、ステップ  ８．２  ）  を実行し、
８．２  ）エンティティＢの公開鍵または公開鍵証明書の状態を取得して、トークンＴｏｋｅｎＢＡにおけるエンティティＢの署名は正確であるか否かを検証すると共に、エンティティＡのエンティティ区別子と、トークンＴｏｋｅｎＢＡにおける、エンティティＢの署名データに含まれたエンティティＡのエンティティ区別子とが一致するか否かをチェックし、一致すれば、メッセージ４における、エンティティＡによって生成された乱数  ＲＡと、トークンＴｏｋｅｎＢＡにおける、エンティティＢの署名データに含まれた乱数  ＲＡとが一致するか否かをチェックし、一致すれば、エンティティＢに対するエンティティＡの認証が通ったと判定するステップと、
を含む方法。  
【請求項２】
オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法であって、
１）エンティティＢは、乱数ＲＢと、エンティティＢがエンティティＡの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストＲｅｑＢと、選択可能なテキストＴｅｘｔ１  とを含むメッセージ１を、エンティティＡに送信するステップと、
２  ）エンティティＡは、メッセージ１を受信すると、前記リクエスト  ＲｅｑＢの内容と等しい、エンティティＢがエンティティＡの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストＲｅｑＡＴと、選択可能なテキストＴｅｘｔ２とを含むメッセージ  ２を、信頼できる第三者  ＴＰに送信するステップと、
３  ）信頼できる第三者  ＴＰは、メッセージ  ２を受信すると、エンティティＡの身分標識  ＩＤＡに基づいて公開鍵証明書ＣｅｒｔＡの有効性をチェックし、或いは、エンティティＡのエンティティ区別子に基づいてエンティティＡの有効な公開鍵を捜索して、応答ＲｅｐＢの内容と等しい、信頼できる第三者によって特定されたエンティティＡの有効な公開鍵または公開鍵証明書の状態を示すための応答ＲｅｐＴＡを特定するステップと、
４）信頼できる第三者ＴＰは、応答ＲｅｐＴＡと選択可能なテキスト  Ｔｅｘｔ３とを含むメッセージ  ３を、エンティティＡに返信するステップと、
５  ）エンティティＡは、メッセージ  ３を受信すると、身分標識  ＩＤＡと、トークンＴｏｋｅｎＡＢ（ＴｏｋｅｎＡＢ＝  ｓＳＡ  （  ＲｅｐＢ  ‖ＲＢ‖Ａ‖Ｔｅｘｔ４）、ｓＳＡがエンティティＡの署名である）と、応答ＲｅｐＢと、選択可能なテキスト  Ｔｅｘｔ５とを含むメッセージ４を、エンティティＢに返信するステップと、
６  ）  エンティティＢは、メッセージ  ４を受信すると、
６.１）使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答ＲｅｐＢを検証し、検証が通ると、ステップ  ６.２  ）を実行し、
６.２）エンティティＡの公開鍵または公開鍵証明書の状態を取得して、トークンＴｏｋｅｎＡＢに含まれたエンティティＡの署名であるか否かを検証すると共に、メッセージ  １  におけるエンティティＢによって生成された乱数  ＲＢと、トークン  ＴｏｋｅｎＡＢにおけるエンティティＡの署名データに含まれた乱数  ＲＢとが一致するか否かをチェックし、一致すれば、検証が通ったと判定するステップと、
を含む方法。
【請求項３】
オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証のシステムであって、
該システムは、エンティティＡと、エンティティＢと、信頼できる第三者とを含み、
請求項１に記載の方法を採用してエンティティの公開鍵の取得、証明書の検証及び認証を行う
ことを特徴とするシステム。
【請求項４】
オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証のシステムであって
該システムは、エンティティＡと、エンティティＢと、信頼できる第三者とを含み、
請求項２に記載の方法を採用してエンティティの公開鍵の取得、証明書の検証及び認証を行う
ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２００９年９月３０日に中国特許局へ提出された、出願番号２００９１００２４１９１.４、発明の名称「オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法及びシステム」である中国特許出願の優先権を主張し、その内容の全ては援用により本願に組み込まれている。
【０００２】
本発明は、ネットワーク技術分野に関し、特に、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法及びシステムに関する。
【背景技術】
【０００３】
現在のコンピュータのネットワーク及び通信ネットワークにおいて、利用者がネットワークにログインし、セキュリティ通信を行う前に、利用者とネットワークとのエンティティ認証、或いは単方向認証や双方向認証を完了させなければならない。利用される認証メカニズムは、一般的に、対称鍵に基づくアルゴリズムと、公開鍵（非対称鍵）に基づくアルゴリズムとの二種類に分かれる。
【０００４】
公開鍵アルゴリズム及び技術に基づく認証メカニズムは、参加者のエンティティが一対の暗号鍵、即ち、公開鍵と秘密鍵のペアを有さなければならないことが要求される。なお、公開鍵は、その他の参与者のエンティティに通知される必要がある。利用できる通知方式には、アウトバンド（out-of-band）通知方式及び証明書方式がある。その中、アウトバンド通知方式は更新しにくいため、使用される場合が少ない一方、証明書方式は多く利用されている。
【０００５】
公開鍵証明書を利用するエンティティ認証方法は、一般的に公開鍵基盤（ＰＫＩ）に基づく必要がある。公開鍵基盤は、公開鍵の概念及び技術を利用してセキュリティサービスを実施・提供するものであって、汎用性を有するセキュリティ基盤である。それは、認証や完備性及び機密性などのセキュリティサービスを提供することができる。公開鍵基盤における非常に重要な二つの概念は、公開鍵証明書と認証局である。なお、公開鍵証明書は、通常、認証局によって配布され、公開鍵証明書における署名は、認証局によって提供され、認証局が、署名を提供することによって、公開鍵証明書の所有者と該所有者の公開鍵との結びつきを証明する。 
【０００６】
認証局に証明された公開鍵証明書は、通常、有効期間があり、有効期間が満了すると、証明書が失効してしまう。公開鍵の証明書と対応する秘密鍵が漏洩すると、該当する公開鍵の証明書も失効してしまう。また、幾つかの他の公開鍵証明書を失効させる場合も存在し、例えば、転勤によって失効する場合などがある。 
【０００７】
ネットワーク通信において認証に参加するエンティティは、通常、失効した公開鍵証明書を持つエンティティとセキュリティ通信を構築することを拒絶する。従って、公開鍵の取得と証明書の検証は、通常、エンティティの認証過程をめぐってサービスを提供する。現在、検証者は、従来の認証メカニズムが運行する前に、また運行している途中に、申請者の有效的な公開鍵を持たなければならず、或いは申請者の公開鍵証明書の状態を分からなければならない。さもなければ、認証過程に損害を与え、或いは、成功できない。図1に示すように、その中のエンティティAとエンティティBとは、認証プロトコルを実行することによって、それらの間の認証を完了させる必要があり、信頼できる第三者TP（Trusted third Party）は、エンティティAとエンティティBにより信頼される第三者エンティティであり、かつ、エンティティAとエンティティBとが認証の前に、信頼できる第三者TPを介して相手エンティティの有効な公開鍵、又は公開鍵証明書の状態を取得しなければならない。
【０００８】
現在、公開鍵証明書の状態の取得は、通常、以下のような二つの方式が採用される。即ち、 
【０００９】
１)CRL:証明書失効リストCRL ( Certificate Revocation List ) をダウンロードし、公開鍵証明書の状態を取得する方式であって、全ての証明書リストのダウンロードと、増加した証明書リストのダウンロードとを含む。あるエンティティがある公開鍵証明書の状態を検証しようとすると、サーバから最新の証明書失効リストをダウンロードした後に、検証しようとした公開鍵証明書は最新の証明書失効リスト CRLに含まれるか否かをチェックする。 
【００１０】
2 )取得された公開鍵証明書の状態をオンラインで問い合わせる方式である。例えば、オンライン証明書状態プロトコル OCSP( Online Certificate Status Protocol )である。オンライン証明書状態プロトコル OCSPは、主にクライアント側とサーバとの二つのエンティティに係り、典型的なクライアント側/サーバ構造である。クライアント側がサーバに請求を送信し、サーバが応答を返信する。請求には検証しようとする一連の証明書が含まれ、応答には一連の証明書の状態及び検証間隔が含まれる。 
【００１１】
相手エンティティの有効な公開鍵または公開鍵証明書状態を予め取得するという保障は、多くの応用環境において満足できない。例えば、ネットワーク構造が利用者、アクセスポイント及びサーバからなる三次元の構造であるアクセスネットワークにおいて、多数の通信ネットワークを含み、通常、エンティティ認証メカニズムを利用して利用者のアクセス制御機能を実現し、認証メカニズムが完成する前に、利用者のネットワークへのアクセスが禁止されることで、利用者は、認証される前に、証明書失効リストCRLやオンライン証明書状態プロトコルOCSP等の方法を利用してアクセスポイント証明書の有効性を検証し、またはアクセスポイントの有効な公開鍵を取得することができない。 
【００１２】
また、幾つかの応用においても、利用者が認証を行う過程において証明書失効リストCRLやオンライン証明書状態プロトコル OCSP等の方式を利用することが難しい。まず、利用者の装置に保存された資源が有限であったり、利用者が証明書失効リスト CRLを保存したくなったりする場合に、証明書失効リスト CRLは周期的にダウンロードされることが実現できない。アクセスネットワークには、資源の制限が存在しないものの、ポリシー制限等の問題が存在する恐れがある。次に、利用者が、オンライン証明書状態プロトコル OCSP等のオンライン問合せメカニズムを使用する際に、バックグラウンドのサーバを介して個別のオンライン証明書状態プロトコル OSCP等のプロトコルを実行する必要はある。これらのプロトコルは、往々、HTTP ( Hypertext Transfer Protocol、ハイパーテキスト・トランスファー・プロトコル）で実行され、アプリケーション層のプロトコルに属し、アクセスネットワークの認証が完成される前に、これらのプロトコルをそのまま利用することは非常に複雑である。利用できるとしても、利用者・サーバ及びアクセスポイント・サーバという構造にて完成される必要があり、利用者・アクセスポイント・サーバという構造に合わず、直接かつ便宜に応用できない。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明は、背景技術に存在している上記の技術問題を解決するために、「利用者・アクセスノード・サーバ」のアクセスネットワーク構成に合って、アクセスネットワークの認証の要求を満足することができるように、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法及びそのシステムを提供する。
【課題を解決するための手段】
【００１４】
本発明の解決しようとする技術案は以下の通りである 。
【００１５】
本発明の実施例は、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法を提供し、当該方法は、以下のステップを含む。 
１)エンティティBは、乱数RBと、身分標識 IDBと、エンティティBがエンティティＡの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストReqBと、選択可能なテキストTextl とを含むメッセージ１を、エンティティAに送信する。
2 )エンティティAは、メッセージ１を受信すると、前記リクエストReqBの内容を含み、エンティティAがエンティティBの有効な公開鍵または公開鍵証明書の状態、及びエンティティBがエンティティAの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストReqATと、選択可能なテキストText2とを含むメッセージ2を、信頼できる第三者TPに送信する。
3 )信頼できる第三者TPは、メッセージ2を受信すると、エンティティAとエンティティBの身分標識IDAとIDBに基づいて公開鍵証明書CertAとCertBの有効性をチェックし、或いは、エンティティAとエンティティBとのそれぞれのエンティティ区別子に基づいてエンティティAとエンティティBの有効な公開鍵を搜索して、応答RepBの内容を含み、信頼できる第三者によって特定されたエンティティAの有効な公開鍵または公開鍵証明書の状態、及びエンティティBの有効な公開鍵または公開鍵証明書の状態を示すための応答RepTAを特定する。
４)信頼できる第三者TPが、応答RepTAと選択可能なテキストText3とを含むメッセージ 3を、エンティティAに返信する。
5 )エンティティAは、メッセージ3を受信すると、乱数RAと、身分標識IDAと、トークンTokenAB（TokenAB=sSA ( RepB‖RA‖RB‖B‖A‖Text４ )、sSAがエンティティAの署名である）と、信頼できる第三者によって特定されたエンティティAの有効な公開鍵または公開鍵証明書の状態を示すための応答RepBと、選択可能なテキストText5とを含むメッセージ４を、エンティティBに返信する。
6 )エンティティBは、メッセージ４を受信すると、 
6.１)使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答RepBを検証する。検証が通ると、ステップ 6.2)を実行する。
6.2 )エンティティAの公開鍵または公開鍵証明書の状態を取得して、トークンTokenABに含まれたエンティティAの署名は正確であるか否かを検証すると共に、エンティティBのエンティティ区別子と、トークンTokenABにおける、エンティティAの署名データに含まれたエンティティBのエンティティ区別子とが一致するか否かをチェックし、一致すれば、メッセージ１における、エンティティBによって生成された乱数RBと、トークンTokenABにおける、エンティティAの署名データに含まれた乱数RBとが一致するか否かをチェックし、一致すれば、エンティティAに対するエンティティBの認証が通ったと判定し、ステップ 7 )を実行する。 
7 )エンティティBは、トークンTokenBA（TokenBA = sSB ( RA‖A‖Text6 )、sSBがエンティティBの署名である）と、選択可能なテキストText7とを含むメッセージ5を、エンティティAに送信する。
8 )エンティティAが、メッセージ 5を受信すると、以下のステップを実行する。
8.１)使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて、メッセージ 3における応答RepTAを検証し、検証が通ると、ステップ 8.2)を実行する。
8.2)エンティティBの公開鍵または公開鍵証明書の状態を取得して、トークンTokenBAにおけるエンティティBの署名は正確であるか否かを検証すると共に、エンティティAのエンティティ区別子と、トークンTokenBAにおける、エンティティBの署名データに含まれたエンティティAのエンティティ区別子とが一致するか否かをチェックし、一致すれば、メッセージ４におけるエンティティAによって生成された乱数 RAと、トークンTokenBAにおけるエンティティBの署名データに含まれた乱数RAとが一致するか否かをチェックし、一致すれば、エンティティBに対するエンティティAの認証が通ったと判定する。
【００１６】
本発明の実施例は、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法を、さらに提供し、前記方法は、以下のステップを含む。
１)エンティティBは、乱数RBと、エンティティBがエンティティAの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストReqBと、選択可能なテキストTextlとを含むメッセージ１を、エンティティAに送信する。
2 )エンティティAは、メッセージ１を受信すると、前記リクエスト ReqBの内容と等しく、エンティティBがエンティティAの有効な公開鍵または公開鍵証明書の状態を要求することを示すためのリクエストReqATと、選択可能なテキストText2とを含むメッセージ2を、信頼できる第三者TPに送信する。
3 )信頼できる第三者 TPは、メッセージ 2を受信すると、エンティティAの身分標識 IDAに基づいて公開鍵証明書CertAの有効性をチェックし、或いは、エンティティAのエンティティ区別子に基づいてエンティティAの有効な公開鍵を搜索して、応答RepTAを特定する。なお、前記応答RepTAは応答RepBの内容と等しいものである。前記応答RepTAは、信頼できる第三者によって特定されたエンティティAの有効な公開鍵または公開鍵証明書の状態を示すためのものである。
４)信頼できる第三者TPは、応答RepTAと選択可能なテキスト Text3とを含むメッセージ3を、エンティティAに返信する。
5)エンティティAは、メッセージ 3を受信すると、身分標識 IDAと、トークンTokenAB（TokenAB= sSA ( RepB ‖RB‖A‖Text４)、sSAがエンティティAの署名である）と、応答RepBと、選択可能なテキストText5とを含むメッセージ４を、エンティティBに返信する。
6 )エンティティBは、メッセージ ４を受信すると、
6.１)使用する公開鍵検証プロトコルまたは配布プロトコルに基づいて応答RepBを検証し、検証が通ると、ステップ 6.2 )を実行する。
6.2 )エンティティAの公開鍵または公開鍵証明書の状態を取得して、トークン TokenABに含まれたエンティティAの署名は正確であるか否かを検証すると共に、メッセージ１におけるエンティティBによって生成された乱数RBと、トークンTokenABにおけるエンティティAの署名データに含まれた乱数 RBとが一致するか否かをチェックし、一致すれば、エンティティAに対するエンティティBの認証が通ったと判定する。
【００１７】
本発明の実施例は、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証のシステムをさらに提供し、該システムは、エンティティAと、エンティティBと、信頼できる第三者とを含む。
前記信頼できる第三者は、応答RepTAを生成してエンティティAに送信するための応答RepTA生成手段を含む。
前記エンティティAはエンティティBの身分を検証する検証手段を含む。前記検証手段は、使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答RepTAを検証し、検証が通ると、エンティティBの公開鍵または公開鍵証明書の状態を取得して、トークンTokenBAにおけるエンティティBの署名は正確であるか否かを検証すると共に、エンティティAのエンティティ区別子と、トークンTokenBAにおけるエンティティBの署名データに含まれたエンティティAのエンティティ区別子とが一致するか否かをチェックし、一致すれば、メッセージ４におけるエンティティAによって生成されたた乱数RAと、トークンTokenBAにおけるエンティティBの署名データに含まれた乱数RAとが一致するか否かをチェックし、一致すれば、検証が通ったと判定する、ように利用される。
前記エンティティBは、エンティティAの身分を検証する検証手段を含む。前記検証手段は、使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答RepBを検証し、検証が通ると、エンティティAの公開鍵または公開鍵証明書の状態を取得して、トークン TokenABに含まれたエンティティAの署名は正確であるか否かを検証すると共に、エンティティBのエンティティ区別子と、トークンにおけるエンティティAの署名データに含まれたエンティティBのエンティティ区別子とが一致するか否かをチェックし、一致すれば、メッセージ１におけるエンティティBによって生成された乱数RBと、トークンTokenABにおけるエンティティAの署名データに含まれた乱数RBとが一致するか否かをチェックし、一致すれば、検証が通ったと判定するように利用される。 
【００１８】
本発明の実施例は、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証のシステムをさらに提供し、該システムは、エンティティAと、エンティティBと、信頼できる第三者とを含む。
前記信頼できる第三者は、応答RepTAを生成してエンティティAに送信するための応答RepTA生成手段を含む。
前記エンティティBは、エンティティAの身分を検証する検証手段を含む。前記検証手段は、使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答RepBを検証し、検証が通ると、エンティティAの公開鍵または公開鍵証明書の状態を取得して、トークン TokenABに含まれたエンティティAの署名は正確であるか否かを検証すると共に、メッセージ１におけるエンティティBによって生成された乱数 RBと、トークンTokenABにおけるエンティティAの署名データに含まれた乱数 RBとが一致するか否かをチェックし、一致すれば、検証が通ったと判定するように利用される。
【００１９】
本発明の実施例は三つのエンティティの枠組みを採用し、エンティティAとエンティティBとは、認証を行う前に、信頼できる第三者の公開鍵または証明書を取得すると共に、信頼できる第三者によって自分に配布された利用者証明書を取得し、または、自分の公開鍵を信頼できる第三者に保管しておくことによって、相手エンティティの有効な公開鍵または公開鍵証明書の状態を事前に分かる必要がない。本発明は、エンティティの公開鍵の取得、証明書の検証及び認証機能を一つのプロトコルに融合して完成させることで、プロトコル実行の效率と效果を向上させることに寄与し、様々の公開鍵の取得と公開鍵証明書状態を検索するプロトコルとを結合しやすく、アクセスネットワークの利用者・アクセスノード・サーバによるネットワーク構造に合って、アクセスネットワークの認証要求を満足している。
【図面の簡単な説明】
【００２０】
【図１】従来の技術における認証メカニズムの作動を示す模式図である。
【図２】本発明の方法を示す模式図である。
【図３】本発明のその他の実施例の方法を示す模式的図である。
【発明を実施するための最良の形態】
【００２１】
本発明の実施例による方法は、三つのセキュリティ要素、即ち、二つのエンティティ ΑとΒ、及び一つの信頼できる第三者 TPに関し、エンティティAと Bは、オンライン信頼できる第三者 TPを介して、認証を完成し、相手のエンティティの有効な公開鍵または公開鍵証明書の状態を取得する。なお、エンティティAは信頼できる第三者 TPと直接に通信することができるが、エンティティBは、エンティティAを介してしか信頼できる第三者 TPとの通信を実現できない。 
【００２２】
簡単にするために、以下のような符号を定義しておく。
【００２３】
エンティティAやエンティティBは、エンティティ Xで示し、Rxはエンティティ Xが生成した乱数を示す。Certxは、エンティティ Xの公開鍵証明書である。IDXは、エンティティ Xの身分標識であって、証明書 Certxまたはエンティティの区別子 Xで示される。ReqXは、エンティティ Xが生成したリクエストであって、相手エンティティの有効な公開鍵または公開鍵証明書の状態等の信息を要求するためのものである。ReqXTは、エンティティ Xによって発生され、または信頼できる第三者 TPに転送されたリクエストを示す。RepXは、ReqXに対してエンティティXに送信した応答、即ち、エンティティ Xへの、その要求されたエンティティの有効な公開鍵または公開鍵証明書の状態等の信息を示す。 RepTXは、信頼できる第三者 TPによって生成されたReqXTに対する応答、即ち、信頼できる第三者 TPからエンティティ Xへの、その直接に要求されまたは転送にて要求されたエンティティの有効な公開鍵または公開鍵証明書の状態等の信息を示す。Tokenがトークンフィールドである。Textは、選択可能なテキストフィールドである。sSxは、エンティティXの署名を示す。なお、ReqB、ReqAT、RepTA及び RepBの形式及び定義は、具体に使用される公開鍵検証プロトコルまたは配布プロトコルに応じて特定される。それらのオンライン公開鍵検証プロトコルや配布プロトコルは、証明書状態プロトコル（GB/T19713を参照)やサーバによる証明書検証プロトコル (IETF RFC5055を参照) 、またはその他の公開鍵配布や検証プロトコルを含む。
【００２４】
図2を参照し、本発明によるオンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書検証及び認証の詳しい流れは、以下の通りである。
【００２５】
１)エンティティBが、乱数RBと身分標識 IDBとリクエストReqBと選択可能なテキストTextl とを含むメッセージ1を、エンティティAに送信する。なお、ReqBは、エンティティBが相手エンティティ（ここで、エンティティA）の有効な公開鍵または公開鍵証明書の状態を要求することを示す。
【００２６】
2 )エンティティAは、メッセージ 1を受信すると、信頼できる第三者 TPに、リクエスト ReqATと選択可能なテキストText2とを含むメッセージ 2を送信する。なお、ReqATは、ReqBの内容を含む必要がある。つまり、ReqATは、エンティティAがエンティティBの有効な公開鍵または公開鍵証明書の状態を要求すること、及びエンティティBがエンティティAの有効な公開鍵または公開鍵証明書の状態を要求することを示す。
【００２７】
3)信頼できる第三者 TPは、メッセージ 2を受信すると、エンティティAとエンティティBの身分標識 IDAとIDBに基づいて公開鍵証明書 CertAとCertBの有効性をチェックし、または、エンティティ区別子AとBに基づいてエンティティAとエンティティBの有効な公開鍵を検索して、応答RepTAを特定する。なお、RepTAは、RepB の内容を含む必要があり、つまり、RepTAは、信頼できる第三者によって特定されたエンティティAの有効な公開鍵または公開鍵証明書の状態、及びエンティティBの有効な公開鍵または公開鍵証明書の状態を含む。
【００２８】
４)信頼できる第三者 TPは、エンティティAに、応答RepTAと選択可能なテキストText3とを含むメッセージ 3を返信する。
【００２９】
5 )エンティティAは、メッセージ 3を受信すると、エンティティBに、乱数 RAと身分標識 IDAとトークンTokenABと応答RepBと選択可能なテキストText5とを含むメッセージ ４を返信する。なお、TokenAB = sSA ( RepB‖RA‖RB‖B‖A‖Text４)、前記応答RepBは、信頼できる第三者によって特定されたエンティティAの有効な公開鍵または公開鍵証明書の状態を示すためのものである。
【００３０】
6 )エンティティBは、メッセージ４を受信すると、以下のステップを実行する。
【００３１】
6.1)使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて、応答RepBを検証し、検証が通ると、ステップ 6.2 )を実行する。
【００３２】
6.2 )エンティティAの公開鍵または公開鍵証明書の状態を取得し、トークン TokenABに含まれたエンティティAの署名は正確であるか否かを検証すると共に、エンティティBの区別子と、トークン TokenABにおける、エンティティAの署名データに含まれたエンティティ区別子（B)とが一致するか否かをチェックし、一致すれば、メッセージ1における、エンティティBによって生成された乱数 RBと、トークン TokenABにおけるエンティティAの署名データに含まれた乱数 RBとが一致するか否かをチェックし、一致すれば、エンティティAに対するエンティティBの認証が通ったと判定し、ステップ7 )を実行する。
【００３３】
7)エンティティBがエンティティAに、トークンTokenBAと選択可能なテキスト Text7とを含むメッセージ 5を送信する。なお、 TokenBA = sSB ( RA‖A‖Text6 )。
【００３４】
8 ) エンティティAは、メッセージ 5を受信すると、以下のステップを実行する。
【００３５】
8.１)使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて、メッセージ 3における応答RepTAを検証し、検証が通ると、ステップ 8.2 )を実行する。
【００３６】
8.2 )エンティティBの公開鍵または公開鍵証明書の状態を取得し、トークンTokenBAにおけるエンティティBの署名は正確であるか否かを検証すると共に、エンティティAの区別子 Aと、トークン TokenBAにおけるエンティティBの署名データに含まれたエンティティ区別子（A )とが一致するか否かをチェックし、一致すれば、メッセージ４におけるエンティティAによって生成された乱数 RAと、トークンTokenBAにおけるエンティティBの署名データに含まれた乱数 RAと一致するか否かをチェックし、一致すれば、エンティティBに対するエンティティAの認証が通ったと判定する。 
【００３７】
上記の実施例において、上記ステップ 8.1)は、上記ステップ 5)に繰り上げて実行してもよい。即ち、エンティティAが、メッセージ3を受信すると、ステップ 8.1)を実行してから、エンティティBにメッセージ ４を送信することになる。 乱数 RAとRBは、タイムスマーク又は番号で取り替えても良い。 
【００３８】
実際の応用において、このような認証システムを利用するには、通常、エンティティBは通信を行う利用者の端末に駐留し、エンティティAはネットワークアクセスポイントに駐留し、上記の実施例のエンティティBとエンティティAとの双方向の認証方法により、利用者とネットワークアクセスポイントの双方正当性の認証が実現され、正当なネットワークへの正当な利用者のアクセスを確保する。
【００３９】
実際の応用において、利用者がアクセスしたネットワークは、正当なものであることのみを特定する必要のある場合がある、このとき、上記の実施例における前記の方法を修正する必要がある。即ち、メッセージ 5を省略し、メッセージ 1乃至メッセージ ４の内容を簡略化にし、ステップ 7 )と 8 )を省略して、エンティティAに対するエンティティBの片方の認証を実現する。その具体的なワークフローは、図 3に示すように、以下のように記載されている。
【００４０】
1)エンティティBがエンティティAに、乱数 RBとリクエスト ReqBと選択可能なテキスト Textlとを含むメッセージ1を送信する。なお、ReqBは、エンティティBが相手エンティティ（ここで、エンティティA )の有効な公開鍵または公開鍵証明書の状態を要求することを示す。 
【００４１】
2 )エンティティAは、メッセージ 1を受信すると、信頼できる第三者 TPに、リクエスト ReqATと選択可能なテキストText2とを含むメッセージ 2を送信する。なお、ReqATは、ReqBの内容と等しい。即ち、ReqATもエンティティBがエンティティAの有効な公開鍵または公開鍵証明書の状態を要求することを示す。
【００４２】
3 )信頼できる第三者 TPは、メッセージ 2を受信すると、エンティティAの身分標識 IDAに基づいて公開鍵証明書 CertAの有効性をチェックし、或いは、エンティティ区別子 Aに基づいてエンティティAの有効な公開鍵を搜索して、応答RepTAを特定する。なお、RepTAは、RepBの内容と等しい。即ち、 RepTAは、信頼できる第三者 TPによって特定されたエンティティAの有効な公開鍵または公開鍵証明書の状態を示す。
【００４３】
４)信頼できる第三者 TPがエンティティAに、応答RepTAと選択可能なテキスト Text3とを含むメッセージ 3を返信する。
【００４４】
5 )エンティティAは、メッセージ 3を受信すると、エンティティBに、身分標識 IDAと重みフラグ TokenABと応答RepBと選択可能なテキスト Text5とを含むメッセージ４を返信する。なお、 TokenAB = sSA ( RepB ‖RB‖A‖Text４ )。 
【００４５】
6 ) エンティティBがメッセージ ４を受信すると、以下のステップを実行する。
【００４６】
6.１)使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて、応答RepBを検証する。検証が通ると、ステップ 6.2 )を実行する。
【００４７】
6.2 )エンティティAの公開鍵または公開鍵証明書の状態を取得し、トークン TokenABに含まれたエンティティAの署名は正確であるか否かを検証すると共に、メッセージ 1 におけるエンティティBによって生成された乱数 RBと、トークン TokenABにおけるエンティティAの署名データに含まれた乱数 RBとが一致するか否かをチェック、一致すれば、エンティティAに対するエンティティBの認証が通ったと判定する。  
【００４８】
本発明は、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証のシステムを、さらに提供し、該システムは、エンティティA、エンティティB及び信頼できる第三者を含み、信頼できる第三者は、応答RepTA 生成手段を含む。信頼できる第三者は、応答RepTA生成手段で応答RepTAを生成し、エンティティAに送信する。エンティティAは、エンティティBの身分を検証する検証手段を含む。エンティティBの身分を検証する検証手段は、使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて、応答RepTAを検証し、検証が通ると、エンティティBの公開鍵または公開鍵証明書の状態を取得し、トークン TokenBAにおけるエンティティBの署名は正確であるか否かを検証すると共に、エンティティAの区別子 Aと、トークン  TokenBAにおけるエンティティBの署名データに含まれたエンティティ区別子（A )とが一致するか否かをチェックし、一致すれば、メッセージ ４におけるエンティティAによって生成された乱数 RAと、トークン  TokenBA中におけるエンティティBの署名データに含まれた乱数 RAとが一致するか否かをチェックし、一致すれば、検証が通ったと判定する。前記エンティティBは、エンティティAの身分を検証する検証手段を含む。エンティティAの身分を検証する検証手段は、使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答RepBを検証し、検証が通ると、エンティティAの公開鍵または公開鍵証明書の状態を取得して、トークンTokenABに含まれたエンティティA の署名は正確であるか否かを検証すると共に、エンティティBの区別子と、トークン  TokenABにおけるエンティティAの署名データに含まれたエンティティ区別子（B )とが一致するか否かをチェックし、一致すれば、メッセージ 1におけるエンティティBによって生成された乱数 RBと、トークン  TokenABにおけるエンティティAの署名データに含まれた乱数 RBとが一致するか否かをチェックし、一致すれば、検証が通ったと判定する。
【００４９】
本発明は、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証のシステムを、さらに提供し、該システムは、エンティティAとエンティティBと信頼できる第三者とを含む。信頼できる第三者は、応答RepTA 生成手段を含む。信頼できる第三者は、応答RepTA生成手段により応答RepTAを生成してエンティティAに送信する。 前記エンティティBは、エンティティAの身分を検証する検証手段を含む。エンティティAの身分を検証する検証手段は、使用される公開鍵検証プロトコルまたは配布プロトコルに基づいて応答RepBを検証し、検証が通ると、エンティティAの公開鍵または公開鍵証明書の状態を取得し、トークン TokenABに含まれたエンティティAの 署名は正確であるか否かを検証すると共に、メッセージ １におけるエンティティBによって生成された乱数 RBと、トークンTokenABにおけるエンティティAの署名データに含まれた乱数 RBとが一致するか否かをチェックし、一致すれば、検証が通ったと判定する。
【００５０】
上記の実施例における各符号、例えば、エンティティAと B 、乱数 RAとRB、メッセージ１〜5 、選択可能なテキスト１〜5 、及び各身分標識、リクエスト或いは応答メッセージ等は、同じ属性の名称（例えば、二つのエンティティ）を区別して記載の便宜を図ったものだけであり、本発明を限定するものではない。
【００５１】
上記本発明が提供した、オンライン信頼できる第三者を導入したエンティティの公開鍵の取得、証明書の検証及び認証の方法及びシステムを詳しく説明した。本明細書において、具体的な例を利用して本発明の原理及び実施の形態を説明したが、上記の実施例の説明は、ただ本発明の方法及びその核心思想に対する理解に寄与するものだけである。また、当業者にとって、本発明の思想に従って、具体的な実施の形態及び応用の範囲において幾つか変更することができる。以上により、本明細書に記載されたものは、本発明を限定するものとして理解すべきではない。
【図１】
0005425314.tif 000002
【図２】
0005425314.tif 000003
【図３】
0005425314.tif 000004