(57)【要約】 信頼できる第三者に基づいたエンティティの相互認証の方法とシステムを提供する。前記システムは、第１のエンティティと第２のエンティティと第３のエンティティを備える。第１のエンティティは、第２のエンティティに第１のメッセージを送信し、第２のエンティティより送信される第２のメッセージを受信すると、第３のエンティティに第３のメッセージを送信する。そして、第３のエンティティより送信される第４のメッセージを受信すると、第４のメッセージを検証して、その検証後に第２のエンティティに第５のメッセージを送信する。第２のエンティティは、第１のエンティティより送信される第１のメッセージを受信し、第１のエンティティに第２のメッセージを送信する。そして、第１のエンティティより送信される第５のメッセージを受信すると第５のメッセージを検証する。第３のエンティティは、第１のエンティティにより送信される第３のメッセージを受信する。そして、第１のエンティティ及び第２のエンティティが正当性を有しているか検証し、検証結果に応じて処理を実行し、処理後に第１のエンティティに第４のメッセージを送信する。
2011501582.tif 000002
【特許請求の範囲】
【請求項１】
以下の手順を備える信頼できる第三者に基づいたエンティティ間の相互認証の方法：
手順１）第１のメッセージを第１のエンティティから第２のエンティティへ送信し、前記第１のメッセージは、前記第１のエンティティで生成される第１の時変パラメータR1Aと、前記第１のエンティティの識別子IDAと、第１の任意のテキスト領域Text1と、を備える；
手順２）前記第１のメッセージを受信すると、第２のメッセージを前記第２のエンティティから前記第１のエンティティへ送信し、前記第２のメッセージは、前記第２のエンティティから前記第１のエンティティへ送信されるトークンTokenBAと、前記第２のエンティティの識別子IDBと、第２の任意のテキスト領域Text2と、を備える；
手順３）前記第２のメッセージを受信すると、第３のメッセージを前記第１のエンティティから第３のエンティティへ送信し、前記第３のメッセージは、前記第１のエンティティで生成される第２の時変パラメータR2Aと、前記第２のエンティティで生成される時変パラメータRBと、前記第１のエンティティの識別子IDAと、前記第２のエンティティの識別子IDBと、第３の任意のテキスト領域Text3と、を備える；
手順４）前記第３のメッセージを受信すると、第３のエンティティは、前記第１のエンティティと前記第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行する；
手順５）第４のメッセージを前記第３のエンティティから前記第１のエンティティへ送信し、前記第４のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信されるトークンTokenTAと、第４の任意のテキスト領域Text4と、を備える；
手順６）前記第４のメッセージを受信すると、前記第１のエンティティは、前記第４のメッセージを検証し、前記第１のエンティティが前記第４のメッセージの検証後に前記第２のエンティティの認証を完了する；
手順７）第５のメッセージを前記第１のエンティティから前記第２のエンティティへ送信し、前記第５のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信された前記トークンTokenTAと、前記第１のエンティティから前記第２のエンティティへ送信されるトークンTokenABと、第５の任意のテキスト領域Text5と、を備えるか、又は前記第３のエンティティから前記第１のエンティティへ送信される第２のサブトークンTokenTA2と、TokenABと、Text5と、を備える；
手順８）前記第５のメッセージを受信すると、前記第２のエンティティは前記第５のメッセージを検証し、前記第１のエンティティは前記第５のメッセージの検証後に前記第１のエンティティの認証を完了する。
【請求項２】
請求項１に記載の方法において、前記第１のエンティティと前記第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行する前記手順４）は、以下を備える：
もし前記第３のメッセージ中の前記IDAと前記IDBが証明書であれば、前記第１のエンティティの証明書と前記第２のエンティティの証明書が有効であるか検証し、もし前記第１のエンティティの証明書、及び／又は前記第２のエンティティの証明書が無効であれば、前記第３のメッセージを破棄して認証処理を終了するか、または前記第４のメッセージを前記第１のエンティティに送信して前記手順５）に進む；またはもし前記第１のエンティティの証明書と前記第２のエンティティの証明書が有効であれば、前記第４のメッセージを前記第１のエンティティに送信して前記手順５）に進む。
【請求項３】
請求項１に記載の方法において、前記第１のエンティティと前記第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行する前記手順４）は、以下を備える：
もし前記第３のメッセージ中の前記IDAと前記IDBが区別識別子であれば、前記第１のエンティティの公開鍵と前記第２のエンティティの公開鍵が有効であるか検証し、もし前記第１のエンティティの公開鍵、及び／又は前記第２のエンティティの公開鍵が無効であれば、前記第３のメッセージを破棄して認証処理を終了するか、または前記第４のメッセージを前記第１のエンティティに送信して前記手順５）に進む；またはもし前記第１のエンティティの公開鍵と前記第２のエンティティの公開鍵が有効であれば、前記第４のメッセージを前記第１のエンティティに送信して前記手順５）に進む。
【請求項４】
請求項１〜３の何れか１つに記載の方法において、前記第１のエンティティが前記第４のメッセージを検証する前記手順６）は、以下を備える：
６０１．前記TokenTA、又は前記第３のエンティティから前記第１のエンティティへ送信される第１のサブトークンTokenTA1に含まれる署名を検証し、前記第３のメッセージ中のR2Aが前記TokenTA、又は前記TokenTA1中のR2Aと一致するか否かを検証し、もし検証に合格すれば、前記第２のエンティティの検証結果を取得し、前記第２のエンティティが正当性を有しているか決定し、もし前記第２のエンティティが正当性を有していれば、手順６０２に進む；もし前記第２のエンティティが正当性を有していなければ、認証処理を終了するか、又は前記手順７）に進む；
６０２．前記第２のエンティティの公開鍵を取得して、前記第２のメッセージ中の前記TokenBAに含まれる署名を検証し、前記第１のメッセージ中のR1Aが前記TokenAB中のR1Aと一致するか否かを検証し、もし検証に合格すれば、前記手順７）に進み、それにより前記第２のエンティティは、前記第１のエンティティに認証される。
【請求項５】
請求項４に記載の方法において、前記第２のエンティティで前記第５のメッセージを検証する前記手順８）は、以下を備える：
８０１．前記TokenTA、又は前記TokenTA2中に含まれる署名を検証し、前記第２のメッセージ中のRBが前記TokenTA、又は前記TokenTA2中のRBと一致するか否かを検証し、もし検証に合格すれば、前記第１のエンティティの検証結果を取得し、前記第１のエンティティが有効であるか否かを決定し、もし前記第１のエンティティが有効であれば、手順８０２に進む；もし前記第１のエンティティが無効であれば、認証処理を終了する；
８０２．前記第１のエンティティの公開鍵を取得し、前記TokenAB中に含まれる署名を検証し、前記第２のメッセージ中のRBが前記TokenAB中のRBと一致するか検証し、もし検証に合格すれば、前記第２のエンティティは、前記第１のエンティティの認証を完了する。
【請求項６】
請求項５に記載の方法において、前記第３のメッセージ中のR2Aは、前記第１のメッセージ中のR1Aと同じである。
【請求項７】
請求項６に記載の方法において、前記時変パラメータは、乱数、タイムタグ、又はシリアル番号である。
【請求項８】
請求項７に記載の方法において、もし前記時変パラメータが乱数、又はタイムタグであれば、前記手順１）は任意である。
【請求項９】
以下を備える信頼できる第三者に基づいたエンティティ間の相互認証のシステム：
第１のエンティティ、この第１のエンティティは、第１のメッセージを第２のエンティティに送信し、前記第２のエンティティから送信された第２のメッセージを受信すると、第３のメッセージを第３のエンティティに送信し、前記第３のエンティティから送信された第４のメッセージを受信すると、前記第４のメッセージを検証し、検証後に前記第２のエンティティに第５のメッセージを送信するように適応される；
前記第２のエンティティ、この第２のエンティティは、前記第１のエンティティから送信される前記第１のメッセージを受信し、前記第１のエンティティへ前記第２のメッセージを送信し、前記第１のエンティティから送信される前記第５のメッセージを受信すると前記第５のメッセージを検証するように適応される；
前記第３のエンティティ、この第３のエンティティは、前記第１のエンティティから送信される第３のメッセージを受信し、前記第１のエンティティと前記第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行し、処理後に前記第１のエンティティに前記第４のメッセージを送信するように適応される。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、「信頼できる第三者に基づいたエンティティ間の相互認証の方法、及びシステム」という名称で２００７年１０月２３日に中国特許庁に出願された、中国特許出願Ｎｏ．２００７１００１８９２０．６についての優先権を主張するものであり、これを参考として本出願の全体に組み込まれている。
【０００２】
（発明の分野）
本発明は、一般に通信分野に関するもので、特に信頼できる第三者に基づいたエンティティ間の相互認証の方法、及びそれについてのシステムに関するものである。
【背景技術】
【０００３】
（発明の背景）
現在、相互認証は、通常、通信ネットワークを介してユーザとネットワークのアクセスポイント間に実装されて、有効なネットワークに対する有効なユーザのアクセスを保証している。そして、非対称暗号技術を使用したエンティティの認証方法は片側認証と相互認証の２種類に分類されることがある。特に、認証の一意性／適時性は、タイムスタンプ、シーケンス番号、または乱数のような時変パラメータにより制御される。タイムスタンプやシーケンス番号が時変パラメータとして使用される場合、エンティティ間の相互認証は、２つのパス認証によって完了される。また、乱数が時変パラメータとして使用される場合、エンティティ間の相互認証は、３つのパス認証、または４回のメッセージ送信によって完了される。
【０００４】
認証機構が動作する前または動作中に、認証装置は、申請者の有効な公開鍵を発行する。さもないと認証が危険に晒されたり失敗したりする可能性がある。ここで例として３つのパス相互認証について説明する。
【０００５】
図１を参照すると、認証システムは、２つの認証エンティティＡ，Ｂを備える。認証エンティティＡは、認証エンティティＢに対して、トークンTokenAB=RA||RB|| B||Text3||sSA(RA||RB||B||Text2)を送信し、認証エンティティＢは、認証エンティティＡに対して、トークンTokenBA=RB||RA||A||Text5||sSB(RB||RA|| A||Text4)を送信する。ここでsSXは、エンティティＸの署名を表す。RXは、エンティティＸにより生成される乱数を表す。CertXは、エンティティＸの証明書を表す。Text2、Text3、Text4、及びText5は、任意のテキスト領域を表す。Ｘは、認証エンティティの区別識別子を表し、ここではＡまたはＢである。
【０００６】
３つのパス認証機構の動作過程についての詳細を以下に説明する。
【０００７】
１）エンティティＢは、エンティティＡに対して、乱数RBと任意のテキスト領域Text1を送信する。
【０００８】
２）エンティティＡは、エンティティＢに対して、トークンTokenABと任意の証明書領域CertAを送信する。
【０００９】
３）エンティティＢは、エンティティＡから送信されたメッセージを受信したときに次の手順を実行する。
【００１０】
３．１）エンティティＡの証明書を検証するか、または別の手段によってエンティティＡの有効な公開鍵の取得を保証する。
【００１１】
３．２）エンティティＡの有効な公開鍵を取得した後に、手順２）のトークンTokenABの署名を検証し、エンティティの区別識別子Ｂが正しいか確認し、手順１）で送信された乱数RBが手順２）で受信されたトークンTokenABに含まれる乱数RBと一致するか確認することで、エンティティＡがエンティティＢにより認証される。
【００１２】
４）エンティティＢは、エンティティＡに対して、トークンTokenABと任意の証明書領域CertBを送信する。
【００１３】
５）エンティティＡは、エンティティＢから送信されたトークンTokenBAを含むメッセージを受信したときに次の手順を実行する。
【００１４】
５．１）エンティティＢの証明書を検証するか、または別の手段によってエンティティＢの有効な公開鍵の取得を保証する。
【００１５】
５．２）エンティティＢの有効な公開鍵を取得した後に、手順４）のトークンTokenBAの署名を検証し、エンティティの区別識別子Ａが正しいか検証し、手順２）で送信された乱数RAがトークンTokenBAに含まれる乱数RAと一致するか、及び手順１）で受信された乱数RBがトークンTokenBAに含まれる乱数RBと一致するかを確認することで、エンティティＢがエンティティＡにより認証される。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
明らかなように、３つのパス認証機構の正常な動作は、エンティティＡとエンティティＢがそれぞれ互いの有効な公開鍵を持っているという条件のもとで保証されるが、プロトコルは、有効な公開鍵をどのように取得するか、及びそれについての有効性に関与していない。しかしながら、この保証条件は、現在、多くのアプリケーションにおいて満足できるものではない。例えば、ユーザのアクセス制御機能は、通常、通信ネットワークを介してエンティティの認証機構によって実現される。つまり、ネットワークへのユーザのアクセスは、認証機構が正常に動作する前に禁止される。その結果、ユーザは、認証局にアクセスできなく、又はアクセスすることが困難であり、認証より前に相手側のエンティティ、すなわちネットワークのアクセスポイントの公開鍵の有効性を得ることすらできない。
【課題を解決するための手段】
【００１７】
（発明の要旨）
先行技術における上記の技術的課題を解決するために、本発明は、認証されていないエンティティが、認証より前に相手側の通信エンティティの有効な公開鍵を知らなくても正常に認証されることができるような、信頼できる第三者に基づいたエンティティの相互認証の方法、及びシステムを提供する。
【００１８】
本発明の一実施形態は、次の手順を備えた信頼できる第三者に基づいたエンティティ間の相互認証の方法を提供する。手順１）第１のメッセージを第１のエンティティから第２のエンティティへ送信する。ここで前記第１のメッセージは、前記第１のエンティティによって生成された第１の時変パラメータR1Aと、前記第１のエンティティの識別子IDAと、第１の任意のテキスト領域Text1とを含む。手順２）前記第１のメッセージを受信すると、第２のメッセージを前記第２のエンティティから前記第１のエンティティへ送信する。ここで前記第２のメッセージは、前記第２のエンティティから前記第１のエンティティへ送信されるトークンTokenBAと、前記第２のエンティティの識別子IDBと、第２の任意のテキスト領域Text2とを含む。手順３）前記第２のメッセージを受信すると、第３のメッセージを前記第１のエンティティから第３のエンティティへ送信する。ここで前記第３のメッセージは、前記第１のエンティティで生成された第２の時変パラメータR2Aと、前記第２のエンティティで生成された時変パラメータRBと、前記第１のエンティティの識別子IDAと、前記第２のエンティティの識別子IDBと、第３の任意のテキスト領域Text3とを含む。手順４）前記第３のメッセージを受信すると、前記第１、及び第２のエンティティが正当性を有しているか第３のエンティティによって検証し、検証結果に応じて設定された処理を実行する。手順５）第４のメッセージを前記第３のエンティティから前記第１のエンティティへ送信する。ここで前記第４のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信されたトークンTokenTAと、第４の任意のテキスト領域Text4を含む。手順６）前記第４のメッセージを受信すると、前記第１のエンティティによって前記第４のメッセージを検証し、前記第１のエンティティが前記第４のメッセージを検証した後に前記第２のエンティティの認証を完了する。手順７）第５のメッセージを前記第１のエンティティから前記第２のエンティティへ送信する。ここで前記第５のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信されたトークンTokenTAと、前記第１のエンティティから前記第２のエンティティへ送信されたトークンTokenABと、第５の任意のテキスト領域Text5とを含むか、または前記第３のエンティティから前記第１のエンティティへ送信される第２のサブトークンTokenTA2と、TokenABと、Text5とを含む。手順８）前記第５のメッセージを受信すると、前記第２のエンティティにより前記第５のメッセージを検証し、前記第１のエンティティが前記第５のメッセージを検証した後に前記第１のエンティティの認証を完了する。
【００１９】
好ましくは、前記第１、及び第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行する前記手順４）は、以下を備える。もし前記第３のメッセージ中の前記IDA及び前記IDBが証明書であれば、前記第１のエンティティの証明書と前記第２のエンティティの証明書が有効であるか検証する。そして、もし前記第１のエンティティの証明書、及び／又は前記第２のエンティティの証明書が無効であれば、前記第３のメッセージを破棄して認証処理を終了するか、前記第４のメッセージを前記第１のエンティティへ送信して手順５）に進む。またはもし前記第１のエンティティの証明書、及び前記第２のエンティティの証明書が有効であれば、前記第４のメッセージを前記第１のエンティティへ送信して手順５）に進む。
【００２０】
好ましくは、前記第１、及び第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行する前記手順４）は、以下を備える。もし前記第３のメッセージ中の前記IDA及び前記IDBが区別識別子であれば、前記第１のエンティティの公開鍵と、前記第２のエンティティの公開鍵が有効であるか検証する。そして、もし前記第１のエンティティの公開鍵、及び／又は前記第２のエンティティの公開鍵が無効であれば、前記第３のメッセージを破棄して認証処理を終了するか、前記第４のメッセージを前記第１のエンティティへ送信する。またはもし前記第１のエンティティの公開鍵、及び前記第２のエンティティの公開鍵が有効であれば、前記第４のメッセージを前記第１のエンティティへ送信する。
【００２１】
好ましくは、前記第１のエンティティによって前記第４のメッセージを検証する前記手順６）は、以下を備える。６０１．前記TokenTA、又は前記第３のエンティティから前記第１のエンティティへ送信される第１のサブトークンTokenTA1に含まれる署名を検証し、前記第３のメッセージ中のR2Aが前記TokenTA、又は前記TokenTA1中のR2Aと一致するか否かを検証する。そして、もしその検証に合格すれば、前記第２のエンティティの検証結果を取得して、前記第２のエンティティが正当性を有しているか決定する。そして、もし前記第２のエンティティが正当性を有していれば、次の手順６０２へ進む。もし前記第２のエンティティが正当性を有していなければ、認証処理を終了して前記手順７）へ進む。６０２．前記第２のエンティティの公開鍵を取得して、前記第２のメッセージの前記TokenBAに含まれる署名を検証し、前記第１のメッセージのR1Aが前記TokenAB中のR1Aと一致するか否かを検証する。そして、もしその検証に合格すれば、前記手順７）に進み、前記第２のエンティティは、前記第１のエンティティにより認証される。
【００２２】
好ましくは、前記第２のエンティティによって前記第５のメッセージを検証する前記手順８）は、以下を備える。８０１．前記TokenTA、又は前記TokenTA2に含まれる署名を検証し、前記第２のメッセージ中のRBが前記TokenTA、又は前記TokenTA2のRBと一致するか否かを検証する。そして、もしその検証に合格すれば、前記第１のエンティティの検証結果を取得し、前記第１のエンティティが有効であるか否かを決定する。そして、もし前記第１のエンティティが有効であれば、次の手順８０２へ進む。もし前記第１のエンティティが無効であれば、認証処理を終了する。８０２．前記第１のエンティティの公開鍵を取得し、TokenABに含まれる署名を検証して、前記第２のメッセージのRBがTokenABのRBと一致するか検証する。そして、もしその検証に合格すれば、前記第２のエンティティは、前記第１のエンティティの認証を完了する。
【００２３】
好ましくは、前記第３のメッセージのR2Aは、前記第１のメッセージのR1Aと同じであることが良い。
【００２４】
好ましくは、前記時変パラメータは、乱数、タイムタグ、又はシリアル番号であることが良い。
【００２５】
好ましくは、もし前記時変パラメータが乱数、又はタイムタグであれば、前記手順１）は任意である。
【００２６】
本発明の別の実施形態は、以下のものを備える信頼できる第三者に基づいたエンティティ間の相互認証のシステムを提供する。第１のエンティティ：この第１のエンティティは、第２のエンティティに対して第１のメッセージを送信して、前記第２のエンティティから送信される第２のメッセージを受信すると、第３のエンティティに対して第３のメッセージを送信して、前記第３のエンティティから送信される第４のメッセージを受信すると、その第４のメッセージを検証し、検証後に前記第２のエンティティに対して、第５のメッセージを送信するように適応される。前記第２のエンティティ：この前記第２のエンティティは、前記第１のエンティティから送信される前記第１のメッセージを受信し、前記第１のエンティティに対して前記第２のメッセージを送信し、前記第１のエンティティから送信される前記第５のメッセージを受信すると、前記第５のメッセージを検証するように適応される。前記第３のエンティティ：この前記第３のエンティティは、前記第１のエンティティから前記第３のメッセージを受信し、前記第１のエンティティと前記第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行し、前記処理後に前記第１のエンティティに対して、前記第４のメッセージを送信するように適応される。
【００２７】
本発明の一実施形態は、以下のものを備える信頼できる第三者に基づいたエンティティ間の相互認証のシステムを提供する。第１のエンティティ：第１のエンティティは、第２のエンティティに対して第１のメッセージを送信し、前記第２のエンティティから送信される第２のメッセージを受信すると、第３のエンティティに対して、第３のメッセージを送信し、前記第３のエンティティから送信される第４のメッセージを受信すると、前記第４のメッセージを検証し、その検証後に前記第２のエンティティに対して、第５のメッセージを送信するように適応される。前記第２のエンティティ：前記第２のエンティティは、前記第１のエンティティから送信される前記第１のメッセージを受信し、前記第１のエンティティに対して前記第２のメッセージを送信し、前記第１のエンティティから送信される前記第５のメッセージを受信すると、前記第５のメッセージを検証するように適応される。前記第３のエンティティ：前記第３のエンティティは、前記第１のエンティティから送信される前記第３のメッセージを受信し、前記第１のエンティティと前記第２のエンティティの正当性を検証し、検証結果に応じて設定された処理を実行し、前記処理後に前記第１のエンティティに対して前記第４のメッセージを送信するように適応される。
【００２８】
本発明の前述した実施形態から明らかなように、３エンティティ構造は、認証エンティティが相手側の認証エンティティの有効な公開鍵の知識を前もって必要とすることなく、認証より前に第３のエンティティの公開鍵又は証明書を取得して第３のエンティティから使用のために発行されたユーザ証明書を取得し、又は保管のために前記第３のエンティティに対して自身の公開鍵を提出できるように適応される。プロトコルの動作中に、１つの認証エンティティの公開鍵とその有効性が第三者のエンティティによる検索と検証を通じて、相手側の認証エンティティへ自動的に渡される。従来の認証機構と比較すると、本発明の実施形態は、オンライン検索と公開鍵の認証機構を定義することで、公開鍵の集中管理を可能にし、プロトコルの動作条件を簡潔化し、良好に実現可能なものとし、実用的なアプリケーションで容易に用いることができる。
【図面の簡単な説明】
【００２９】
【図１】図１は、先行技術における３つのパス認証機構の概略図である。
【図２】図２は、本発明における相互認証方法の概略図である。
【発明を実施するための形態】
【００３０】
（発明の詳細な説明）
先ず、本発明にかかる相互認証方法の概略図を例示する図２について説明する。本発明の実施形態では、３つのエンティティを備え、例えば２つの認証エンティティＡ、Ｂと、信頼できる第三者のエンティティ（ＴＰ）とからなる。そのなかで、ValidXは、証明書CertXの有効性を示し、PublicKeyXは、エンティティＸの公開鍵であり、IDXは、エンティティＸの識別子である。エンティティＸは、CertXまたはＸで表される。PubXは、エンティティＸの検証結果を表し、証明書CertXと有効性ValidXとから構成されるか、またはエンティティＸと公開鍵PublicKeyXとから構成される。Ｘは、認証エンティティの区別識別子であり、本実施形態ではＡまたはＢとする。
【００３１】
本実施形態において、各トークンは次のように定義される。
【００３２】
TokenBA=R1A||RB||IDA||sSB(R1A||RB||IDA||Text2)：認証エンティティＢから認証エンティティＡに送信されるトークンであり、R1Aは、認証エンティティＡによって生成される第１の乱数である。
【００３３】
TokenAB=sSA(RB||R1A||IDB||Text5||TokenTA)：認証エンティティＡから認証エンティティＢに送信されるトークンである。
【００３４】
TokenTA=R2A||RB||PubA||PubB||sSTP(R2A||RB||PubA||PubB||Text 4)：信頼できる第三者から認証エンティティＡに送信されるトークンであり、R2Aは、認証エンティティＡによって生成される第２の乱数である。
【００３５】
また、それらを次のように定義することができる。
【００３６】
TokenTA=TokenTA1||TokenTA2
TokenTA1=R2A||PubB||Text6||sSTP(R2A||PubB||Text6)
TokenTA2=RB||PubA||Text7||sSTP(RB||PubA||Text7)
この方法における具体的な流れは次の通りである。
【００３７】
１）認証エンティティＡは、認証エンティティＢに対してメッセージ１を送信する。このメッセージ１は、認証エンティティＡで生成される第１の乱数R1Aと、認証エンティティＡの識別子IDAと、任意のテキスト領域Text1と、を備える。
【００３８】
２）メッセージ１を受信すると、認証エンティティＢは、認証エンティティＡに対してメッセージ２を送信する。このメッセージ２は、認証エンティティＢから認証エンティティＡに送信されるトークンTokenBAと、認証エンティティＢの識別子IDBと、任意のテキスト領域Text2と、を備える。
【００３９】
３）メッセージ２を受信すると、認証エンティティＡは、信頼できる第三者エンティティに対してメッセージ３を送信する。このメッセージ３は、認証エンティティＡで生成される第２の乱数R2Aと、認証エンティティＢで生成された乱数RBと、認証エンティティＡの識別子IDAと、認証エンティティＢの識別子IDBと、任意のテキスト領域Text3、とを備える。
【００４０】
４）信頼できる第三者エンティティは、メッセージ３を受信すると、認証エンティティＡと認証エンティティが正当性を有しているか検証する。
【００４１】
特に、もしメッセージ３中の認証エンティティＡと認証エンティティＢの識別子が証明書であれば、認証エンティティＡの証明書と認証エンティティＢの証明書が有効か検証する。そして、もし認証エンティティＡの証明書、及び／又は認証エンティティＢの証明書が無効であれば、メッセージ３は直接破棄されて認証処理が終了するか、またはメッセージ４が認証エンティティＡに送信されて処理は手順５）に進む。そして、もし認証エンティティＡの証明書と認証エンティティＢの証明書が有効であれば、メッセージ４が認証エンティティＡに送信されて処理は手順５）に進む。
【００４２】
もしメッセージ３中の認証エンティティＡと認証エンティティＢの識別子が区別識別子であれば、認証エンティティＡの公開鍵と認証エンティティＢの公開鍵が有効であるか検証される。そして、もし認証エンティティＡの公開鍵、及び／又は認証エンティティＢの公開鍵が無効であれば、メッセージ３は直接破棄されて認証処理が終了するか、またはメッセージ４が認証エンティティＡに送信されて処理は手順５）に進む。そして、もし認証エンティティＡの公開鍵と認証エンティティＢの公開鍵が有効であれば、メッセージ４が認証エンティティＡに送信されて処理は手順５）に進む。
【００４３】
５）信頼できる第三者エンティティは、認証エンティティＡと認証エンティティＢが正当性を有しているか検証した後に、認証エンティティＡに対して、信頼できる第三者エンティティから認証エンティティＡに送信されるトークンTokenTAと任意のテキスト領域Text4とを備えるメッセージ４を送信する。
【００４４】
６）認証エンティティＡは、メッセージ４を受信するとメッセージ４を検証する。
【００４５】
特に、この検証処理は次の６．１）〜６．３）の処理手順を備える。
【００４６】
６．１）トークンTokenTA、又はトークンTokenTA1に含まれる署名を検証し、メッセージ３中の認証エンティティＡで生成された第２の乱数R2AがトークンTokenTA、又はトークンTokenTA1中のR2Aと一致するか検証する。もし検証に合格すれば手順６．２）に進む。
【００４７】
６．２）認証エンティティＢの検証結果PubBを取得して、認証エンティティＢが正当性を有しているか決定し、もし認証エンティティＢが正当性を有していれば手順６．３）に進む。そうでなければ、認証処理を終了するか手順７）に進む。
【００４８】
６．３）認証エンティティＢの公開鍵を取得して、メッセージ２中のトークンTokenBAに含まれる署名を検証し、メッセージ１中の認証エンティティＡで生成された乱数R1AがトークンTokenBA中のR1Aと一致するか検証する。もし検証に合格すれば、第１のエンティティが第２のエンティティの認証を完了する手順７）に進む。
【００４９】
７）認証エンティティＡは、メッセージ４を検証すると、認証エンティティＢに対してトークンTokenTAとトークンTokenABと任意のテキスト領域Text5とを備えるメッセージ５、又はトークンTokenTA2とトークンTokenABと任意のテキスト領域Text5とを備えるメッセージ５を送信する。
【００５０】
８）認証エンティティＢは、メッセージ５を受信するとメッセージ５を検証する。
【００５１】
特に、この検証処理は次の８．１〜８．３）の処理手順を備える。
【００５２】
８．１）トークンTokenTA、又はトークンTokenTA2に含まれる署名を検証して、メッセージ２中の認証エンティティＢで生成されたRBがトークンTokenTA、又はトークンTokenTA2中のRBと一致するか否かを検証する。もし検証に合格すれば、手順８．２）に進む。
【００５３】
８．２）認証エンティティＡの検証結果PubAを取得して、認証エンティティＡが正当性を有しているか決定し、もし認証エンティティＡが正当性を有していれば手順８．３）に進む。もし認証エンティティＡが正当性を有していなければ、認証処理を終了する。
【００５４】
８．３）認証エンティティＡの公開鍵を取得して、トークンTokenABに含まれる署名を検証し、メッセージ２中のRBがトークンTokenAB中のRBと一致するか否かを検証する。もし検証に合格すれば、第２のエンティティは第１のエンティティの認証を完了する。
【００５５】
前述の実施形態では、時変パラメータが乱数であることに注意すべきである。また、時変パラメータにタイムスタンプ、又はシーケンス番号を用いてもよく、この場合メッセージ１は任意のメッセージであり、上記の手順１）を削除することができる。
【００５６】
本発明の前述の実施形態における、信頼できる第三者に基づいたエンティティ間の相互認証の方法に関連して、本発明の一実施形態は、さらにエンティティＡ、エンティティＢ、及び信頼できる第三者エンティティを備えた、信頼できる第三者に基づくエンティティ間の相互認証システムを提供する。そこでの相互に接続されたエンティティＡとエンティティＢの何れか一方、又は両方は、信頼できる第三者エンティティに接続される。信頼できる第三者のエンティティは、既存の認証サービスエンティティでも、又は新しくシステムに追加されるものでもよい。例えば、信頼できる第三者エンティティは、ユーザとネットワークのアクセスポイント間に適応される、既存の認証サーバー、又は新たにシステムに追加されるものでもよい。
【図１】
2011501582.tif 000003
【図２】
2011501582.tif 000004
【手続補正書】
【提出日】平成22年5月21日(2010.5.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
以下の手順を備える信頼できる第三者に基づいたエンティティ間の相互認証の方法：
手順１）第１のメッセージを第１のエンティティから第２のエンティティへ送信し、前記第１のメッセージは、前記第１のエンティティで生成される第１の時変パラメータR1Aと、前記第１のエンティティの識別子IDAと、第１の任意のテキスト領域Text1と、を備える；
手順２）前記第１のメッセージを受信すると、第２のメッセージを前記第２のエンティティから前記第１のエンティティへ送信し、前記第２のメッセージは、前記第２のエンティティから前記第１のエンティティへ送信されるトークンTokenBAと、前記第２のエンティティの識別子IDBと、第２の任意のテキスト領域Text2と、を備える；
手順３）前記第２のメッセージを受信すると、第３のメッセージを前記第１のエンティティから第３のエンティティへ送信し、前記第３のメッセージは、前記第１のエンティティで生成される第２の時変パラメータR2Aと、前記第２のエンティティで生成される時変パラメータRBと、前記第１のエンティティの識別子IDAと、前記第２のエンティティの識別子IDBと、第３の任意のテキスト領域Text3と、を備える；
手順４）前記第３のメッセージを受信すると、第３のエンティティは、前記第１のエンティティと前記第２のエンティティが正当性を有しているか検証し、検証結果に応じて設定された処理を実行する；
手順５）第４のメッセージを前記第３のエンティティから前記第１のエンティティへ送信し、前記第４のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信されるトークンTokenTAと、第４の任意のテキスト領域Text4と、を備える；
手順６）前記第４のメッセージを受信すると、前記第１のエンティティは、前記第４のメッセージを検証し、前記第１のエンティティが前記第４のメッセージの検証後に前記第２のエンティティの認証を完了する；
手順７）第５のメッセージを前記第１のエンティティから前記第２のエンティティへ送信し、前記第５のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信された前記トークンTokenTAと、前記第１のエンティティから前記第２のエンティティへ送信されるトークンTokenABと、第５の任意のテキスト領域Text5と、を備えるか、又は前記第３のエンティティから前記第１のエンティティへ送信される第２のサブトークンTokenTA2と、前記第１のエンティティから前記第２のエンティティへ送信されるトークンTokenABと、第５の任意のテキスト領域Text5と、を備える；
手順８）前記第５のメッセージを受信すると、前記第２のエンティティは前記第５のメッセージを検証し、前記第２のエンティティは前記第５のメッセージの検証後に前記第１のエンティティの認証を完了する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
請求項１〜３の何れか１つに記載の方法において、前記第１のエンティティが前記第４のメッセージを検証する前記手順６）は、以下を備える：
６０１．前記TokenTA、又は前記第３のエンティティから前記第１のエンティティへ送信される第１のサブトークンTokenTA1に含まれる前記第３のエンティティの署名を検証し、前記第３のメッセージ中のR2Aが前記TokenTA、又は前記TokenTA1中のR2Aと一致するか否かを検証し、もし検証に合格すれば、前記第２のエンティティの検証結果を取得し、前記第２のエンティティが正当性を有しているか決定し、もし前記第２のエンティティが正当性を有していれば、手順６０２に進む；もし前記第２のエンティティが正当性を有していなければ、認証処理を終了するか、又は前記手順７）に進む；
６０２．前記第２のエンティティの公開鍵を取得して、前記第２のメッセージ中の前記TokenBAに含まれる前記第２のエンティティの署名を検証し、前記第１のメッセージ中のR1Aが前記TokenAB中のR1Aと一致するか否かを検証し、もし検証に合格すれば、前記手順７）に進み、それにより前記第２のエンティティは、前記第１のエンティティに認証される。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
請求項４に記載の方法において、前記第２のエンティティで前記第５のメッセージを検証する前記手順８）は、以下を備える：
８０１．前記TokenTA、又は前記TokenTA2中に含まれる前記第３のエンティティの署名を検証し、前記第２のメッセージ中のRBが前記TokenTA、又は前記TokenTA2中のRBと一致するか否かを検証し、もし検証に合格すれば、前記第１のエンティティの検証結果を取得し、前記第１のエンティティが有効であるか否かを決定し、もし前記第１のエンティティが有効であれば、手順８０２に進む；もし前記第１のエンティティが無効であれば、認証処理を終了する；
８０２．前記第１のエンティティの公開鍵を取得し、前記TokenAB中に含まれる前記第１のエンティティの署名を検証し、前記第２のメッセージ中のRBが前記TokenAB中のRBと一致するか検証し、もし検証に合格すれば、前記第２のエンティティは、前記第１のエンティティの認証を完了する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００３
【補正方法】変更
【補正の内容】
【０００３】
（発明の背景）
現在、相互認証は、通常、通信ネットワークを介してユーザとネットワークのアクセスポイント間に実装されて、有効なネットワークに対する有効なユーザのアクセスを保証している。そして、非対称暗号技術を使用したエンティティの認証方法は片側認証と相互認証の２種類に分類されることがある。特に、認証の一意性／適時性は、タイムスタンプ、シーケンス番号、または乱数のような時変パラメータを生成して検証することにより制御される。タイムスタンプやシーケンス番号が時変パラメータとして使用される場合、エンティティ間の相互認証は、２つのパス認証によって完了される。また、乱数が時変パラメータとして使用される場合、エンティティ間の相互認証は、３つのパス認証、または２つの並列認証によって完了される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
３．２）手順２）のトークンTokenAB中に含まれるエンティティＡの署名を検証し、エンティティの区別識別子Ｂが正しいか確認し、手順１）で送信された乱数RBがトークンTokenABに含まれる乱数RBと一致するか確認することで、エンティティＡがエンティティＢにより認証される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
４）エンティティＢは、エンティティＡに対して、トークンTokenBAと任意の証明書領域CertBを送信する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
５．２）手順４）のトークンTokenBA中に含まれるエンティティＢの署名を検証し、エンティティの区別識別子Ａが正しいか確認し、手順２）で送信された乱数RAがトークンTokenBAに含まれる乱数RAと一致するか、及び手順１）で受信された乱数RBがトークンTokenBAに含まれる乱数RBと一致するかを確認することで、エンティティＢがエンティティＡにより認証される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
本発明の一実施形態は、次の手順を備えた信頼できる第三者に基づいたエンティティ間の相互認証の方法を提供する。手順１）第１のメッセージを第１のエンティティから第２のエンティティへ送信する。ここで前記第１のメッセージは、前記第１のエンティティによって生成された第１の時変パラメータR1Aと、前記第１のエンティティの識別子IDAと、第１の任意のテキスト領域Text1とを含む。手順２）前記第１のメッセージを受信すると、第２のメッセージを前記第２のエンティティから前記第１のエンティティへ送信する。ここで前記第２のメッセージは、前記第２のエンティティから前記第１のエンティティへ送信されるトークンTokenBAと、前記第２のエンティティの識別子IDBと、第２の任意のテキスト領域Text2とを含む。手順３）前記第２のメッセージを受信すると、第３のメッセージを前記第１のエンティティから第３のエンティティへ送信する。ここで前記第３のメッセージは、前記第１のエンティティで生成された第２の時変パラメータR2Aと、前記第２のエンティティで生成された時変パラメータRBと、前記第１のエンティティの識別子IDAと、前記第２のエンティティの識別子IDBと、第３の任意のテキスト領域Text3とを含む。手順４）前記第３のメッセージを受信すると、前記第１、及び第２のエンティティが正当性を有しているか第３のエンティティによって検証し、検証結果に応じて設定された処理を実行する。手順５）第４のメッセージを前記第３のエンティティから前記第１のエンティティへ送信する。ここで前記第４のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信されたトークンTokenTAと、第４の任意のテキスト領域Text4を含む。手順６）前記第４のメッセージを受信すると、前記第１のエンティティによって前記第４のメッセージを検証し、前記第１のエンティティが前記第４のメッセージを検証した後に前記第２のエンティティの認証を完了する。手順７）第５のメッセージを前記第１のエンティティから前記第２のエンティティへ送信する。ここで前記第５のメッセージは、前記第３のエンティティから前記第１のエンティティへ送信されたトークンTokenTAと、前記第１のエンティティから前記第２のエンティティへ送信されたトークンTokenABと、第５の任意のテキスト領域Text5とを含むか、または前記第３のエンティティから前記第１のエンティティへ送信される第２のサブトークンTokenTA2と、前記第１のエンティティから前記第２のエンティティへ送信されるトークンTokenABと、第５の任意のテキスト領域Text5とを含む。手順８）前記第５のメッセージを受信すると、前記第２のエンティティにより前記第５のメッセージを検証し、前記第２のエンティティが前記第５のメッセージを検証した後に前記第１のエンティティの認証を完了する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
好ましくは、前記第１のエンティティによって前記第４のメッセージを検証する前記手順６）は、以下を備える。６０１．前記TokenTA、又は前記第３のエンティティから前記第１のエンティティへ送信される第１のサブトークンTokenTA1に含まれる前記第３のエンティティの署名を検証し、前記第３のメッセージ中のR2Aが前記TokenTA、又は前記TokenTA1中のR2Aと一致するか否かを検証する。そして、もしその検証に合格すれば、前記第２のエンティティの検証結果を取得して、前記第２のエンティティが正当性を有しているか決定する。そして、もし前記第２のエンティティが正当性を有していれば、次の手順６０２へ進む。もし前記第２のエンティティが正当性を有していなければ、認証処理を終了して前記手順７）へ進む。６０２．前記第２のエンティティの公開鍵を取得して、前記第２のメッセージの前記TokenBAに含まれる前記第２のエンティティの署名を検証し、前記第１のメッセージのR1Aが前記TokenAB中のR1Aと一致するか否かを検証する。そして、もしその検証に合格すれば、前記手順７）に進み、前記第２のエンティティは、前記第１のエンティティにより認証される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
好ましくは、前記第２のエンティティによって前記第５のメッセージを検証する前記手順８）は、以下を備える。８０１．前記TokenTA、又は前記TokenTA2に含まれる前記第３のエンティティの署名を検証し、前記第２のメッセージ中のRBが前記TokenTA、又は前記TokenTA2のRBと一致するか否かを検証する。そして、もしその検証に合格すれば、前記第１のエンティティの検証結果を取得し、前記第１のエンティティが有効であるか否かを決定する。そして、もし前記第１のエンティティが有効であれば、次の手順８０２へ進む。もし前記第１のエンティティが無効であれば、認証処理を終了する。８０２．前記第１のエンティティの公開鍵を取得し、前記TokenABに含まれる前記第１のエンティティの署名を検証して、前記第２のメッセージのRBが前記TokenAB中のRBと一致するか検証する。そして、もしその検証に合格すれば、前記第２のエンティティは、前記第１のエンティティの認証を完了する。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
５）信頼できる第三者エンティティは、認証エンティティＡに対して、信頼できる第三者エンティティから認証エンティティＡに送信されるトークンTokenTAと任意のテキスト領域Text4とを備えるメッセージ４を送信する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００４６
【補正方法】変更
【補正の内容】
【００４６】
６．１）トークンTokenTA、又はトークンTokenTA1に含まれる信頼できる第三者エンティティの署名を検証し、メッセージ３中の認証エンティティＡで生成された第２の乱数R2AがトークンTokenTA、又はトークンTokenTA1中のR2Aと一致するか検証する。もし検証に合格すれば手順６．２）に進む。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
６．３）認証エンティティＢの公開鍵を取得して、メッセージ２中のトークンTokenBAに含まれる認証エンティティＢの署名を検証し、メッセージ１中の認証エンティティＡで生成された乱数R1AがトークンTokenBA中のR1Aと一致するか検証する。もし検証に合格すれば、第１のエンティティが第２のエンティティの認証を完了する手順７）に進む。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
７）認証エンティティＡは、認証エンティティＢに対してトークンTokenTAとトークンTokenABと任意のテキスト領域Text5とを備えるメッセージ５、又はトークンTokenTA2とトークンTokenABと任意のテキスト領域Text5とを備えるメッセージ５を送信する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
８．１）トークンTokenTA、又はトークンTokenTA2に含まれる信頼できる第三者の署名を検証して、メッセージ２中の認証エンティティＢで生成されたRBがトークンTokenTA、又はトークンTokenTA2中のRBと一致するか否かを検証する。もし検証に合格すれば、手順８．２）に進む。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
８．３）認証エンティティＡの公開鍵を取得して、トークンTokenABに含まれる認証エンティティＡの署名を検証し、メッセージ２中のRBがトークンTokenAB中のRBと一致するか否かを検証する。もし検証に合格すれば、第２のエンティティは第１のエンティティの認証を完了する。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
本発明の前述の実施形態における、信頼できる第三者に基づいたエンティティ間の相互認証の方法に関連して、本発明の一実施形態は、さらにエンティティＡ、エンティティＢ、及び信頼できる第三者エンティティを備えた、信頼できる第三者に基づくエンティティ間の相互認証システムを提供する。そこでの相互に接続されたエンティティＡとエンティティＢの何れか一方は、信頼できる第三者エンティティに接続される。信頼できる第三者のエンティティは、既存の認証サービスエンティティでも、又は新しくシステムに追加されるものでもよい。例えば、信頼できる第三者エンティティは、ユーザとネットワークのアクセスポイント間に適応される、既存の認証サーバー、又は新たにシステムに追加されるものでもよい。
【国際調査報告】
2011501582.tif 000005
2011501582.tif 000006
2011501582.tif 000007
2011501582.tif 000008