【文献】
加藤 岳久,岡田 光司,吉田 琢也,“プライバシを保護する匿名認証システムの開発”,コンピュータセキュリティシンポジウム2003,日本,社団法人情報処理学会,2003年10月29日,第2003巻,第15号,p.569−574
【文献】
“本人認証技術の現状に関する調査報告書”,日本,情報処理振興事業協会セキュリティセンター[オンライ,2003年 3月,p.13−18,[平成24年 8月17日検索],インターネット,URL,<http://www.ipa.go.jp/security/fy14/reports/authentication/authentication2002.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
本発明の実施方法に関するエンティティは、認証エンティティAとB、グループGAとGB、および高信頼第3者TP(TruSTed third Party)を備える。
エンティティAとBは、それぞれグループGAとGB内に位置し、各自が位置するグループのメンバーである。
高信頼第3者TPは、認証エンティティAとBおよびグループGAとGBの高信頼第3者であり、エンティティに認証サービスを提供する。
認証する前に、エンティティAとBは、各自自身のプライベートキーを有し、グループGAとGBは、各自自身のグループパブリックキーを有し、エンティティAとBは、自身のプライベートキーが生成する署名を利用し、各自位置するグループのパブリックキーを用いることができ、検証する。
【0012】
理解し易くするため、以下のようにシンボルを定義する。
【0013】
Valid
GXは、証書Cert
GX(XはAまたはBを代表し、Aは、エンティティAを示し、Bは、エンティティBを示す。以下、同)の有效性を表す;PublicKey
GXをグループGXのパブリックキーとする;I
GXをグループGXの身分識別子とし、ライセンスCert
GXまたはグループの指定子(distingishing identifier)GXとすることができる;Res
GXはグループGXの検証結果を表し、書証Cert
GXおよびその有效性Valid
GXにより構成され、またはグループGXおよびそのパブリックキーPublicKey
GXにより構成され;Tokenをトークンフィールドとする;
SSY(M)をYのメッセージMを署名(Yは、AまたはBまたはTを代表し、Tは、高信頼第3者TPを示す。以下、同)する;Textをオプションテキストとする。“y‖z”は、データ項yとデータ項zが、yは前に、zは後にあるシーケンススプライスによる結果を表す。
【0014】
図1に示す本発明の実施形態に係る匿名エンティティ認証方法は、以下のステップ10から14を備える。
【0015】
ステップ10において、エンティティBは、認証過程を開始するため、エンティティAへメッセージ1を送信する。
【0016】
ステップ11において、エンティティAは、高信頼第3者TPへグループGAの識別子I
GAを備えるメッセージ2を送信する。
ここで、エンティティAはグループGAに位置する。
【0017】
ステップ12において、高信頼第3者TPがメッセージ2を受信後、I
GAに基づきグループGAの合法性を検証し、
かつ、エンティティAへグループGAの検証結果Res
GAと第1トークンを備えるメッセージ3を返送し、第1トークンに高信頼第3者TPの署名を含む。
【0018】
ステップ13において、エンティティAがメッセージ3を受信後、エンティティBへI
GAと第2トークンを備えるメッセージ4を送信し、第2トークンにRes
GA、第1トークンおよびエンティティAの署名が含まれる。
【0019】
ステップ14において、エンティティBがメッセージ4を受信後、メッセージ4を検証し、かつ、検証結果に基づきエンティティAの合法性を確認する。
【0020】
好ましくは、エンティティAがメッセージ3を受信後、かつ、エンティティBへメッセージを送信する前に、エンティティAは、メッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致するか否かを検査する。
メッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致すると検査する場合、エンティティBへメッセージ4を送信する。
もし一致しなければ、認証過程を終了する。
【0021】
具体的に、前記エンティティBは、メッセージ4を検証し、かつ、検証結果に基づきエンティティAの合法性を確認する。
その具体的な実現方式は、以下のステップaからステップcを備えることができる。
【0022】
ステップaにおいて、エンティティBは、高信頼第3者TPの署名が有效か否かを検証し、かつ、メッセージ1においてエンティティBが生成するランダム数R
Bと高信頼第3者TPの署名に備えるランダム数R
Bが一致するか否かを検査する。
もし、高信頼第3者TPの署名が有效で、ランダム数R
Bが一致すれば、ステップbを実行する。
一致しなければ、エンティティAは、非合法であると確認し、かつ、後継メッセージ5を引き続き送信できる。
【0023】
ステップbにおいて、エンティティBが、もし、Res
GAに基づきグループGAが合法で有効であると判断すれば、ステップcを実行する。
合法で有効でなければ、エンティティAは非合法であると確認し、かつ、引き続き後継メッセージ5を送信できる。
【0024】
ステップcにおいて、エンティティBは、I
GAに基づきグループGAのパブリックキーを獲得し、当該パブリックキーに基づきエンティティAの署名が有効か否かを検証し、かつ、グループGBの指定子とエンティティAの署名に備えるグループ指定子GBが一致するか否かを検査する。
そして、メッセージ1においてエンティティBが生成するランダム数R
BとエンティティAの署名に備えるランダム数R
Bが一致するか否かを検査する。
もし、エンティティAの署名が有効で、グループ指定子GBが一致し、ランダム数R
Bが一致すれば、エンティティAは、合法であると確認する。有効でなければ、エンティティAは、非合法であると確認する。
【0025】
さらに、メッセージ1にグループGBの識別子I
GBをさらに備える。
ここで、エンティティBは、グループGBに位置し、かつ、メッセージ2にI
GB高信頼第3者TPをさらに備え、I
GBに基づきグループGBの合法性を検証する。
メッセージ3にグループGBの検証結果Res
GBをさらに備える。
【0026】
これに応じて、ステップ14において、エンティティBは、検証結果に基づきエンティティAの合法性を確認した後、エンティティBは、エンティティAへ第3トークンを備えるメッセージ5を送信し、第3トークンにエンティティBの署名を含む。
エンティティAが、メッセージ5を受信後、メッセージ5を検証し、かつ、検証結果に基づきエンティティBの合法性を確認する。
【0027】
前記エンティティAは、メッセージ5を検証し、かつ、検証結果に基づきエンティティBの合法性を確認する。
その具体的な実現方式として、以下の2つの方法を用いることができる。
【0028】
第1実現方式は、以下のステップaからステップcを備える。
【0029】
ステップaにおいて、エンティティAは、高信頼第3者TPの署名が有效か否かを検証し、かつ、メッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致するか否かを検査する。
もし、一致すれば、ステップbを実行する。一致しなければ、エンティティBは、非合法であると確認し、本フローを終了する。
【0030】
ステップbにおいて、エンティティAが、もし、Res
GBに基づきグループGBが合法で有効であると判断すれば、ステップcを実行する。
有効でなければ、エンティティBは、非合法であると確認し、本フローを終了する。
【0031】
ステップcにおいて、エンティティAは、I
GBに基づきグループGBのパブリックキーを獲得し、当該パブリックキーに基づきエンティティBの署名が有效か否かを検証し、かつ、グループGAの指定子とエンティティBの署名に備えるグループ指定子GAが一致するか否かを検査する。
そして、メッセージ4においてエンティティAが生成するランダム数R
AとエンティティBの署名に備えるランダム数R
Aが一致するか否かを検査する。
もし、エンティティBの署名が有效で、グループ指定子GAが一致し、ランダム数R
Aが一致すれば、エンティティBは、合法であると確認する。そうでなければ、エンティティBは、非合法であると確認する。
【0032】
第2実現方法として、まず、エンティティAが、エンティティBへメッセージ4を送信する前に、エンティティAは、まず高信頼第3者TPの署名が有效か否かを検証し、かつ、メッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致するか否かを検査し、かつ、高信頼第3者TPの署名が有效であると検証し、メッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aは一致すると検査する場合、エンティティBへメッセージ4を送信する。
【0033】
これに応じて、エンティティAが、エンティティBの合法性を検証する。
具体的な実現においては、以下のステップaからステップbを備える。
【0034】
ステップaにおいて、エンティティAが、もし、Res
GBに基づきグループGBが合法で有効であると判断すれば、ステップbを実行する。
合法で有効でなければ、エンティティBは、非合法であると確認し、本フローを終了する。
【0035】
ステップbにおいて、エンティティAは、I
GBに基づきグループGBのパブリックキーを獲得し、当該パブリックキーに基づきエンティティBの署名が有效か否かを検証し、かつ、グループGAの指定子とエンティティBの署名に備えるグループ指定子GAが一致するか否かを検査する。
そして、メッセージ4においてエンティティAが生成するランダム数R
AとエンティティBの署名に備えるランダム数R
Aが一致するか否かを検査する。
もし、エンティティBの署名が有效で、グループ指定子GAが一致し、ランダム数R
Aが一致すれば、エンティティBは、合法であると確認する。そうでなければ、エンティティBは、非合法であると確認する。
【0036】
前記高信頼第3者TPは、I
GAに基づきグループGAの合法性を検査する。
その具体的な実現においては、以下の2つの方式を用いることができる。
【0037】
<第1方式>
もし、メッセージ2におけるI
GAがグループGAの指定子GAであれば、高信頼第3者TPは、グループGAの有效パブリックキーPublicKey
GAを検索する。
もし、検索できれば、GAは、合法であると確認する。検索できなければ、GAは、非合法であると確認する。
【0038】
<第2方式>
もし、メッセージ2におけるI
GAがグループGAのライセンスCert
GAであれば、高信頼第3者TPは、ライセンスCert
GAの有效性Valid
GAを検査する。
もし、Cert
GAが有效であれば、GAは、合法であると確認する。有効でなければ、GAは、非合法であると確認する。
【0039】
同様に、前記高信頼第3者に基づきI
GBグループGBの合法性を検証する。
その具体的な実現においては、以下の2つの方式を用いることができる。
【0040】
<第1方式>
もし、メッセージ2におけるI
GBがグループGBの指定子GBであれば、高信頼第3者TPグループGBの有效パブリックキーPublicKey
GBを検索する。
もし、検索できれば、GBは、合法であると確認する。検索できなければ、GBは、非合法であると確認する。
【0041】
<第2方式>
もし、メッセージ2におけるI
GBがグループGBのライセンスCert
GBであれば、高信頼第3者TPは、ライセンスCert
GBの有效性Valid
GBを検査する。
もし、Cert
GBが有效であれば、GBは、合法であると確認する。有効でなければ、GBは、非合法であると確認する。
【0042】
本方法において、前記第1トークンは、トークンTokenTAを備えることができる。
または、第1トークンは、トークンTokenTA1とTokenTA2を備える。
【0043】
ここで、TokenTAは、高信頼第3者TPのR’
A、R
B、Res
GBおよびRes
GAにあるメッセージに対する署名を備え、TokenTA1は、高信頼第3者TPのR’
AおよびRes
GBにあるメッセージに対する署名を含み、TokenTA2は、高信頼第3者TPのR
BおよびRes
GAにあるメッセージに対する署名を含む。
R’
Aは、メッセージ2に備えるエンティティAが生成するランダム数であり、メッセージ2にもエンティティAが生成するランダム数を備えることができる。
R
Bは、メッセージ1に備えるエンティティBが生成するランダム数であり、かつ、メッセージ2にもR
Bを携帯する。
【0044】
例えば、
TokenTA=sS
T(R’
A‖R
B‖Res
GB‖Res
GA‖Text3)
ここで、Text3は、オプションテキストであり、sS
Tは、高信頼第3者TPの署名である。
【0045】
TokenTA1=sS
T(R’
A‖Res
GB‖Text4),TokenTA2=sS
T(R
B‖Res
GA‖Text3)
ここで、Text3は、オプションテキストであり、sS
Tは、高信頼第3者TPの署名である。
【0046】
第2トークンは、トークンTokenABを備え、TokenABは、R
A、R’
A、Res
GB、Res
GA、TokenTAおよびエンティティAのGA、R
A、GB、R
B、Res
GB、Res
GAとTokenTAにあるメッセージに対する署名を含む。
または、第2トークンは、R
A、Res
GA、TokenTA2およびエンティティAのGA、R
A、GB、R
BとTokenTA2にあるメッセージに対する署名を備える。
R
Aは、メッセージ4にあるエンティティAが生成するランダム数である。
例えば、
TokenAB=R
A‖R’
A‖Text7‖Res
GB‖Res
GA‖TokenTA‖sS
A(GA‖R
A‖GB‖R
B‖Res
GB‖Res
GA‖TokenTA‖Text6)
である。
ここで、Text6、Text7は、オプションテキストであり、sS
Aは、エンティティAの署名である。
TokenAB=R
A‖Res
GA‖Text7‖TokenTA2‖sS
A(GA‖R
A‖GB‖R
B‖TokenTA2‖Text6)
ここで、Text6、Text7は、オプションテキストであり、sS
Aは、エンティティAの署名である。
【0047】
第3トークンは、トークンTokenBAを備え、TokenBAは、エンティティBのGB、R
B、GAおよびR
Aにあるメッセージに対する署名を含む。
R
Aは、メッセージ4に備えるエンティティAが生成するランダム数であり、メッセージ4にエンティティAが生成するランダム数を備えることもできる。
R
Bは、メッセージ1に備えるエンティティBが生成するランダム数であり、メッセージ1にエンティティBが生成するランダム数を備えることもできる。
【0048】
例えば、
TokenBA=Text9‖sS
B(GB‖R
B‖GA‖R
A‖Text8)
である。
ここで、Text8、Text9は、オプションテキストであり、sS
Bは、エンティティBの署名である。
【0049】
本発明において、メッセージ1、メッセージ2とメッセージ3は、それぞれオプションテキストを備える。
メッセージに含まれる各種ランダム数は、時間標記またはシーケンス番号により代替できる。
【0050】
図2に示す、本実施形態は、エンティティBのエンティティAの匿名認証フローのみを備え、具体的に、以下のステップ(1)から(6)を備える。
【0051】
ステップ(1)
エンティティBは、エンティティBが生成するランダム数R
B、グループGBの識別子I
GBおよびオプションテキストText1を備えるメッセージ1をエンティティAへ送信する。
【0052】
ステップ(2)
エンティティAは、R
B、エンティティAが生成するランダム数R’
A、グループGAの識別子I
GA、グループGBの識別子I
GBおよびオプションテキストText2を備えるメッセージ2を高信頼第3者TPへ送信する。
【0053】
ステップ(3)
高信頼第3者TPがメッセージ2を受信後、身分識別子I
GAとI
GBに基づきグループGAとグループGBの合法性を検査する。
【0054】
高信頼第3者TPがグループGAとグループGBの合法性を検査する方式は、以下の具体的な実施方式を備える。
【0055】
メッセージ2において、もし、グループGAの識別子I
GAがグループGAの指定子GAであれば、高信頼第3者TPは、グループGAの有效パブリックキーPublicKey
GAを検索する。
もし、グループGAの識別子I
GAがグループGAのライセンスCert
GAであれば、高信頼第3者TPは、ライセンスCert
GAの有效性Valid
GAを検査する。
もし、グループGBの識別子I
GBがグループGBの指定子GBであれば、高信頼第3者TPは、グループGBの有效パブリックキーPublicKey
GBを検索する。
もし、グループGBの識別子I
GBがグループGBのライセンスCert
GBであれば、高信頼第3者TPは、ライセンスCert
GBの有效性Valid
GBを検査する。
【0056】
ステップ(4)
高信頼第3者TPが、グループGAとグループGBの合法性を検査後,エンティティAへメッセージ3を返送する。
メッセージ3は、グループ検証結果Res
GAとRes
GB、トークンTokenTAおよびオプションテキストText5を備え、または、グループ検証結果Res
GAとRes
GB、トークンTokenTA1とTokenTA2およびオプションテキストText5を備える。
ここで、TokenTAは、高信頼第3者TPのR’
A、R
B、Res
GBおよびRes
GAにあるメッセージに対する署名を含み、TokenTA1は、高信頼第3者TPのR’
AおよびRes
GBにあるメッセージに対する署名を含み、TokenTA2は、高信頼第3者TPのR
BおよびRes
GAにあるメッセージに対する署名を含む。
本発明に係るTokenTAの好ましい実施形態は、
TokenTA=sS
T(R’
A‖R
B‖Res
GB‖Res
GA‖Text3)
である。
本発明に係るTokenTA1およびTokenTA2の好ましい実施形態は、
TokenTA1=sS
T(TR’
A‖Res
GB‖Text4)
TokenTA2=sS
T(R
B‖Res
GA‖Text3)
である。
【0057】
ステップ(5)
エンティティAがメッセージ3を受信後、エンティティBへトークンTokenABとグループ識別子I
GAを備えるメッセージ4を送信する。
ここで、TokenABは、R
A、R’
A、Res
GB、Res
GA、TokenTAおよびエンティティAのGA、R
A、GB、R
B、Res
GB、Res
GAとTokenTAにあるメッセージに対する署名を含む。
本発明に係る好ましい実施形態は、
TokenAB=R
A‖R’
A‖Text7‖Res
GB‖Res
GA‖TokenTA‖sS
A(GA‖R
A‖GB‖R
B‖Res
GB‖Res
GA‖TokenTA‖Text6)
である。
または、TokenABは、R
A、Res
GA、TokenTA2およびエンティティAのGA、R
A、GB、R
BとTokenTA2にあるメッセージに対する署名を含む。
本発明に係る好ましい実施形態は、
TokenAB=R
A‖Res
GA‖Text7‖TokenTA2‖sS
A(GA‖R
A‖GB‖R
B‖TokenTA2‖Text6)
である。
【0058】
ステップ(6)エンティティBがメッセージ4を受信後、メッセージ4を検証する過程は、以下のステップ(6.1)、(6.2)および(6.3)を備える。
【0059】
ステップ(6.1)
エンティティBは、高信頼第3者TPのパブリックキーに基づき、TokenABに含まれるTokenTAまたはTokenTA2の高信頼第3者TPの署名が有効か否かを検証し、かつ、メッセージ1においてエンティティBが生成するランダム数R
BとTokenTAまたはTokenTA2の高信頼第3者TPの署名に備えるランダム数R
Bが一致するか否かを検査する。
もし、高信頼第3者TPの署名が有効であり、高信頼第3者TPの署名に備えるランダム数R
Bが一致すれば、ステップ(6.2)を実行する。
一致しなければ、エンティティAは非合法であると確認する。
【0060】
ステップ(6.2)
エンティティBは、グループGAの検証結果Res
GAを獲得する。
もし、Res
GAに基づきグループGAが合法で有効であると判断すれば、ステップ(6.3)を実行する。
有効でなければ、エンティティAは、非合法であると確認する。
【0061】
ステップ(6.3)
エンティティBはグループGAのパブリックキーを獲得する。
当該パブリックキーに基づきTokenABにおいてエンティティAの署名が有効か否かを検証し、かつ、グループGBの指定子とTokenABにおいてエンティティAの署名に備えるグループ指定子(GB)が一致するか否かを検査し、メッセージ1においてエンティティBが生成するランダム数R
BとTokenABにおいてエンティティAの署名に備えるランダム数R
Bが一致するか否かを検証する。
もし、エンティティAの署名が有効であり、グループ指定子(GB)が一致し、ランダム数R
Bが一致すれば、エンティティAは、合法であると確認する。
そうでなければ、エンティティAは、非合法であると確認し、エンティティBは、エンティティAの認証を完了する。
【0062】
図3に示す、エンティティAとエンティティB間の匿名認証の具体的なフローは、以下のステップ(1)から(8)を備える。
【0063】
ステップ(1)
エンティティBは、エンティティBが生成するランダム数R
B、グループGBの識別子I
GBおよびオプションテキストText1を備えるメッセージ1をエンティティAへ送信する。
【0064】
ステップ(2)
エンティティAがメッセージ1を受信後、高信頼第3者TPへR
B、エンティティAが生成するランダム数R’
A、グループGAの識別子I
GA、グループGBの識別子I
GBおよびオプションテキストText2を備えるメッセージ2を送信する。
【0065】
ステップ(3)
高信頼第3者TPがメッセージ2を受信後、身分証識別子I
GAとI
GBに基づきグループGAとグループGBの合法性を検査する。
【0066】
高信頼第3者TPがグループGAとグループGBの合法性を検査する具体的な方式は、メッセージ2において、
もし、グループGAの識別子I
GAがグループGAの指定子GAであれば、高信頼第3者TPはグループGAの有效パブリックキーPublicKey
GAを検索するステップと;
もし、グループGAの識別子I
GAがグループGAのライセンスCert
GAであれば、高信頼第3者TPはライセンスCert
GAの有效性Valid
GAを検査するステップと;
もし、グループGBの識別子I
GBがグループGBの指定子GBであれば、高信頼第3者TPはグループGBの有效パブリックキーPublicKey
GBを検索するステップと;
もし、グループGBの識別子I
GBがグループGBのライセンスCert
GBであれば、高信頼第3者TPはライセンスCert
GBの有效性Valid
GBを検査するステップと、を備える。
【0067】
ステップ(4)
高信頼第3者TPがグループGAとグループGBの合法性を検査後、エンティティAへメッセージ3を返送するメッセージ3は、グループ検証結果Res
GAとRes
GB、トークンTokenTAおよびオプションテキストText5を備え、または、グループ検証結果Res
GAとRes
GB、トークンTokenTA1とTokenTA2およびオプションテキストText5を備える。
ここで、TokenTAは、高信頼第3者TPのR’
A、R
B、Res
GBおよびRes
GAにあるメッセージに対する署名を含み、TokenTA1に高信頼第3者TPのR’
AおよびRes
GBにあるメッセージに対する署名を含み、TokenTA2は、高信頼第3者TPのR
BおよびRes
GAにあるメッセージに対する署名を含む。
【0068】
本発明に係るTokenTAの好ましい実施形態は、
TokenTA=sS
T(R’
A‖R
B‖Res
GB‖Res
GA‖Text3)
である。
本発明に係るTokenTA1およびTokenTA2の好ましい実施形態は、
TokenTA1=sS(TR’
A‖Res
GB‖Text4)
TokenTA2=sS
T(R
B‖Res
GA‖Text3)
である。
【0069】
ステップ(5)
エンティティAがメッセージ3を受信後、エンティティBへトークンTokenABとグループ識別子I
GAを備えるメッセージ4を送信する。
ここで、TokenABは、R
A、R’
A、Res
GB、Res
GA、TokenTAおよびエンティティAのGA、R
A、GB、R
B、Res
GB、Res
GAとTokenTAにあるメッセージに対する署名を含む。
本発明に係る好ましい実施形態は、
TokenAB=R
A‖R’
A‖Text7‖Res
GB‖Res
GA‖TokenTA‖sS
A(GA‖R
A‖GB‖R
B‖Res
GB‖Res
GA‖TokenTA‖Text6)
である。
または、TokenABは、R
A、Res
GA、TokenTA2およびエンティティAのGA、R
A、GB、R
BとTokenTA2にあるメッセージに対する署名を含む。
本発明に係る好ましい実施形態は、
TokenAB=R
A‖Res
GA‖Text7‖TokenTA2‖sS
A(GA‖R
A‖GB‖R
B‖TokenTA2‖Text6)
である。
【0070】
ステップ(6)
エンティティBがメッセージ4を受信後、メッセージ4を検証する。
検証過程は、以下のステップ(6.1)、(6.2)および(6.3)を備える。
【0071】
ステップ(6.1)
エンティティBは、高信頼第3者TPのパブリックキーに基づき、TokenABに備えるTokenTAまたはTokenTA2の高信頼第3者TPの署名が有効か否かを検証し、かつ、メッセージにおいてエンティティBが生成するランダム数R
BとTokenTAまたはTokenTA2の高信頼第3者TPの署名に備えるランダム数R
Bが一致するか否かを検査する。
高信頼第3者TPの署名が有効で、ランダム数R
Bが一致すれば、ステップ6.2)を実行する。
そうでなければ、エンティティAは非合法であると確認し、かつ、認証過程を終了、またはステップ(7)を実行する。
【0072】
ステップ(6.2)
エンティティBは、グループGAの検証結果Res
GAを獲得する。
もしRes
GAに基づきグループGAが合法で有効であると判断すれば、ステップ6.3)を実行する。
合法で有効でなければ、エンティティAは非合法であると確認し、かつ認証過程を終了、またはステップ(7)を実行する。
【0073】
ステップ(6.3)
エンティティBは、グループGAのパブリックキーを獲得し、当該パブリックキーに基づきTokenABにおいてエンティティAの署名が有効か否かを検証し、かつ、グループGBの指定子とTokenABにおいてエンティティAの署名に備えるグループ指定子(GB)が一致するか否かを検査し、メッセージ1においてエンティティBが生成するランダム数R
BとTokenABにおいてエンティティAの署名に備えるランダム数R
Bが一致するか否かを検証する。
もしエンティティAの署名が有効で、グループ指定子(GB)が一致し、ランダム数R
Bが一致すればエンティティAは合法であると確認する。
そうでなければ、エンティティAは非合法であると確認する。
エンティティBは、エンティティAの認証を完了し、ステップ7)を実行する。
【0074】
ステップ(7)
エンティティBは、エンティティAへトークンTokenBAを備えるメッセージ5を送信する。
TokenBAは、エンティティBのGB、RB、GAおよびR
Aにあるメッセージに対する署名を含む。
本発明に係るTokenBAの好ましい実施形態は、
TokenBA= Text9‖sS
B(GB‖R
B‖GA‖R
A‖Text8)
である。
【0075】
ステップ(8)
エンティティAがメッセージ5を受信後、メッセージ5を検証する。
検証過程は、以下のステップ(8.1)、(8.2)および(8.3)を備える。
【0076】
ステップ(8.1)
エンティティAは、高信頼第3者TPのパブリックキーに基づき、メッセージ3におけるTokenTAまたはTokenTA1の高信頼第3者TPの署名が有効か否かを検証し、かつ、メッセージ2においてエンティティAが生成するランダム数R’
AとTokenTAまたはTokenTA1の高信頼第3者TPの署名データにおけるランダム数R’
Aが一致するか否かを検査する。
もし高信頼第3者TPの署名が有効で、ランダム数R’
Aが一致すればステップ(8.2)を実行する。
そうでなければ、エンティティBは、非合法であると確認する。
【0077】
ステップ(8.2)
エンティティAは、グループGBの検証結果Res
GBを獲得する。
もしRes
GBに基づきグループGBが合法で有効であると判断すれば、ステップ(8.3)を実行する。
合法で有効でなければ、エンティティBは非合法であると確認し、エンティティAは、エンティティBの認証を完了する。
【0078】
ステップ(8.3)
エンティティAは、グループGBのパブリックキーを獲得し、当該パブリックキーに基づきトークンTokenBAにおけるエンティティBの署名が有効か否かを検証し、かつグループGAの指定子とTokenBAのエンティティBの署名におけるグループ指定子(GA)が一致するか否かを検査し、メッセージ4においてエンティティAが生成するランダム数R
AとTokenBAのエンティティBの署名におけるランダム数R
Aが一致するか否かを検証する。
もしエンティティBの署名が有効で、グループ指定子(GA)が一致し、ランダム数R
Aが一致すれば、エンティティBは合法であると確認する。
そうでなければ、エンティティBは非合法であると確認し、エンティティAは、エンティティBの認証を完了する。
【0079】
ここで、ステップ(4)において、メッセージ3が検証結果Res
GAとRes
GB、トークンTokenTAおよびオプションテキストText5を備える場合、前記ステップ(8.1)は繰り上げて前記ステップ(5)にて実行することができる。
即ち、エンティティAがメッセージ3を受信後、先にステップ(8.1)を実行し、検証が通った後、エンティティBへメッセージ4を再び送信する。
【0080】
ランダム数R
A、R’
AおよびR
Bは、時間標記またはシーケンス番号代替を使用し、代替できる。
【0081】
前記のエンティティAとエンティティB間の匿名双向認証過程を介して、可以実現両エンティティ間の双向身分合法性の認証を実現でき、かつ、両エンティティ身分情報がさらされないよう保護する。
【0082】
以上の実施形態で示したオプションテキストText1、Text2、Text3……の存在と内容は全て不確定なものである。
オプションテキストの意義は、主に、本発明の実施者が自身の具体的な需要に基づき自らオプションテキストの内容を定義でき、拡大した目的に達することを考慮したものである。
よって、他の実施形態において、オプションテキストは全て省略できる。
【0083】
図4に示す本発明の実施形態に係る匿名エンティティ認証設備は、
エンティティBが送信するメッセージ1を受信する第1メッセージ受信ユニット40と、
高信頼第3者TPへグループGAの識別子I
GAを備えるメッセージ2を送信する第1メッセージ送信ユニット41と、
高信頼第3者TPが返送するグループGAの検証結果Res
GAと第1トークンを備えるメッセージ3を受信する第2メッセージ受信ユニット42と、
メッセージ3を受信後、エンティティBへI
GAと第2トークンを備えるメッセージ4を送信する第2メッセージ送信ユニット43とを備える。
ここで、本匿名エンティティ認証設備は、グループGAに位置し、
第1トークンに高信頼第3者TPの署名を含み、
第2トークンにRes
GA、第1トークンおよびエンティティAの署名を含む。
【0084】
さらに、第2メッセージ送信ユニットは、エンティティBへメッセージ4を送信する前に、メッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致するか否かを検査する。一致する場合、エンティティBへメッセージ4を送信する。
【0085】
さらに、第1メッセージ受信ユニットが受信するメッセージ1においてグループGBの識別子I
GBをさらに備える。
【0086】
ここで、エンティティBは、グループGBに位置し、かつ、第1メッセージ送信ユニットが送信するメッセージ2においてI
GBをさらに備える。
第2メッセージ受信ユニットが受信するメッセージ3においてグループGBの検証結果Res
GBを備える。
【0087】
当該設備は、さらに、
エンティティBへメッセージ4を送信後、エンティティBが送信する第3トークンを備えるメッセージ5を受信する第3メッセージ受信ユニット44と、
メッセージ5を受信後、メッセージ5を検証し、かつ、検証結果に基づきエンティティBの合法性を確認するエンティティ認証ユニット45とを備える。
ここで、第3トークンには、エンティティBの署名が含まれる
【0088】
さらに、前記エンティティ認証ユニット45は、
ステップaにおいて、高信頼第3者TPの署名が有效か否かを検証し、かつ、メッセージ2において本匿名エンティティ認証設備が生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致するか否かを検査する。
もし一致すれば、ステップbを実行する。
そうでなければ、エンティティBは、非合法であると確認し、本フローを終了する。
ステップbにおいて、もしRes
GBに基づきグループGBが合法で有効であると判断すれば、ステップcを実行する。
そうでなければ、エンティティBは非合法であると確認し、本フローを終了する。
ステップcにおいて、I
GBに基づきグループGBのパブリックキーを獲得し、当該パブリックキーに基づきエンティティBの署名が有效か否かを検証し、かつ、グループGAの指定子とエンティティBの署名に備えるグループ指定子GAが一致するか否かを検査する。そして、メッセージ4においてエンティティAが生成するランダム数R
AとエンティティBの署名に備えるランダム数R
Aが一致するか否かを検査する。
もしエンティティBの署名が有效で、グループ指定子GAが一致し、ランダム数R
Aが一致すれば、エンティティBは合法であると確認する。
そうでなければ、エンティティBは非合法であると確認する。
【0089】
さらに、第1トークンは、トークンTokenTAを備え、または、第1トークンは、トークンTokenTA1とTokenTA2を備える。
ここで、TokenTAは、高信頼第3者TPのR’
A、R
B、Res
GBおよびRes
GAにあるメッセージに対する署名を含み、TokenTA1は、高信頼第3者TPのR’
AおよびRes
GBにあるメッセージに対する署名を含み、TokenTA2は、高信頼第3者TPのR
BおよびRes
GAにあるメッセージに対する署名を含み、
R’
Aは、メッセージ2に備えるエンティティAが生成するランダム数であり、R
Bは、メッセージ1に備えるエンティティBが生成するランダム数であり、メッセージ2にR
Bを備える。
【0090】
さらに、
TokenTA=sS
T(R’
A‖R
B‖Res
GB‖Res
GA‖Text3)
である。
ここで、Text3は、オプションテキストであり、sS
Tは、高信頼第3者TPの署名である。
【0091】
さらに、
TokenTA1=sS
T(R’
A‖Res
GB‖Text4)、
TokenTA2=sS
T(R
B‖Res
GA‖Text3)
である。
ここで、Text3は、オプションテキストであり、sS
Tは、高信頼第3者TPの署名である。
【0092】
さらに、前記第2メッセージ送信ユニット43はさらに、
もし第1トークンがトークンTokenTAを備えれば、エンティティBへメッセージ4を送信する前に、高信頼第3者TPの署名が有效か否かを検証する。かつメッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致するか否かを検査し、
高信頼第3者TPの署名が有效であると検証し、かつメッセージ2においてエンティティAが生成するランダム数R’
Aと高信頼第3者TPの署名に備えるランダム数R’
Aが一致すると検査する場合、エンティティBへメッセージ4を送信する。
【0093】
さらに、前記エンティティ認証ユニット45は、
ステップaにおいて、もしRes
GBに基づきグループGBが合法で有効であると判断すれば、ステップbを実行する。
合法で有効でなければ、エンティティBは非合法であると確認し、本フローを終了する。
ステップbにおいて、I
GBに基づきグループGBのパブリックキーを獲得し、当該パブリックキーに基づきエンティティBの署名が有效か否かを検証し、かつ、グループGAの指定子とエンティティBの署名に備えるグループ指定子GAが一致するか否かを検査する。
そして、メッセージ4においてエンティティAが生成するランダム数R
AとエンティティBの署名に備えるランダム数R
Aが一致するか否かを検査する。
もしエンティティBの署名が有效で、グループ指定子GAが一致し、ランダム数R
Aが一致すれば、エンティティBは合法であると確認する。
そうでなければ、エンティティBは非合法であると確認する。
【0094】
さらに、第2トークンは、トークンTokenABを備え、TokenABは、R
A、R’
A、Res
GBおよびエンティティAのGA、R
A、GB、R
B、Res
GB、Res
GAとTokenTAにあるメッセージに対する署名を含む。
または、第2トークンは、R
A、Res
GA、TokenTA2およびエンティティAのGA、R
A、GB、R
BとTokenTA2にあるメッセージに対する署名を含む。
R
Aは、メッセージ4におけるエンティティAが生成するランダム数である。
【0095】
さらに、
TokenAB=R
A‖R’
A‖Text7‖Res
GB‖Res
GA‖TokenTA‖sS
A(GA‖R
A‖GB‖R
B‖Res
GB‖Res
GA‖TokenTA‖Text6)
である。
ここで、Text6、Text7は、オプションテキストであり、sS
Aは、エンティティAの署名である。
【0096】
さらに、
TokenAB=R
A‖Res
GA‖Text7‖TokenTA2‖sS
A(GA‖R
A‖GB‖R
B‖TokenTA2‖Text6)
である。
ここで、Text6、Text7は、オプションテキストであり、sS
Aは、エンティティAの署名である。
【0097】
さらに、第3トークンは、トークンTokenBAを備え、TokenBAは、エンティティBのGB、R
B、GAおよびR
Aにあるメッセージに対する署名を含む。
R
Aは、メッセージ4に備えるエンティティAが生成するランダム数であり、R
Bは、メッセージ1に備えるエンティティBが生成するランダム数である。
【0098】
さらに、
TokenBA=Text9‖sS
B(GB‖R
B‖GA‖R
A‖Text8
である。
ここで、Text8、Text9は、オプションテキストであり、sS
Bは、エンティティBの署名である。
【0099】
さらに、メッセージ1、メッセージ2とメッセージ3は、それぞれオプションテキストをさらに備える。
【0100】
さらに、ランダム数は、時間標記またはシーケンス番号により代替する。
【0101】
図5に示す本発明の実施形態に係る匿名エンティティ認証設備は、
エンティティAへメッセージ1を送信し、認証過程を開始する第1メッセージ送信ユニット50と;
エンティティAが送信するグループGAの識別子I
GAと第2トークンを備えるメッセージ4を受信する第1メッセージ受信ユニット51と、
メッセージ4を受信後、メッセージ4を検証し、かつ、検証結果に基づきエンティティAの合法性を確認するエンティティ認証ユニット52とを備える。
ここで、第2トークンは、高信頼第3者TPグループGAの検証結果Res
GAと、高信頼第3者TPの署名を含む第1トークンと、エンティティAの署名とを含む。
【0102】
当該設備は、
検証結果に基づきエンティティAの合法性を確認後、エンティティAへエンティティBの署名が含まれる第3トークンを備えるメッセージ5を送信する第2メッセージ送信ユニット53をさらに備える。
【0103】
さらに、前記エンティティ認証ユニット52は、
ステップaにおいて、高信頼第3者TPの署名が有效か否かを検証し、かつ、メッセージ1において本匿名エンティティ承認設備が生成するランダム数R
Bと高信頼第3者TPの署名に備えるランダム数R
Bが一致するか否かを検査する。
もしTPの署名が有效で、ランダム数R
Bが一致すれば、ステップbを実行する。
そうでなければ、エンティティAは非合法であると確認する。
ステップbにおいて、もしRes
GAに基づきグループGAが合法で有効であると判断すれば、ステップcを実行する。
合法で有効でなければ、エンティティAは非合法であると確認する。
ステップcにおいて、I
GAに基づきグループGAのパブリックキーを獲得し、当該パブリックキーに基づきエンティティAの署名が有効か否かを検証し、かつ、グループGBの指定子とエンティティAの署名に備えるグループ指定子GBが一致するか否かを検査する。
そして、メッセージ1においてエンティティBが生成するランダム数R
BとエンティティAの署名に備えるランダム数R
Bが一致するか否かを検査する。
もしエンティティAの署名が有効で、グループ指定子GBが一致し、ランダム数R
Bが一致すれば、エンティティAは合法であると確認する。
そうでなければ、エンティティAは非合法であると確認する。
【0104】
さらに、第1トークンは、トークンTokenTAを備え、または、第1トークンは、トークンTokenTA1とTokenTA2を備える。
【0105】
ここで、TokenTAは、高信頼第3者TPのR’
A、R
B、Res
GBおよびRes
GAにあるメッセージに対する署名を含み、TokenTA1は、高信頼第3者TPのR’
AおよびRes
GBにあるメッセージに対する署名を含み、TokenTA2は、高信頼第3者TPのR
BおよびRes
GAにあるメッセージに対する署名を含み、
R’
Aは、メッセージ2に備えるエンティティAが生成するランダム数であり、R
Bは、メッセージ1に備えるエンティティBが生成するランダム数であり、メッセージ2は、エンティティAがメッセージ1を受信後高信頼第3者TPへ送信するグループGAに備えられる識別子I
GAのメッセージである。
【0106】
さらに、
TokenTA=sS
T(R’
A‖R
B‖Res
GB‖Res
GA‖Text3)
である。
ここで、Text3はオプションテキストであり、sS
Tは高信頼第3者TPの署名である。
【0107】
さらに、
TokenTA1=sS
T(R’
A‖Res
GB‖Text4)
TokenTA2=sS
T(R
B‖Res
GA‖Text3)
ここで、Text3は、オプションテキストであり、sS
Tは、高信頼第3者TPの署名である。
【0108】
さらに、第2トークンは、トークンTokenABを備え、TokenABは、R
A、R’
A、Res
GB、Res
GA、TokenTAおよびエンティティAのGA、R
A、GB、R
B、Res
GB、Res
GAとTokenTAにあるメッセージに対する署名を含むか、または、第2トークンは、R
A、Res
GA、TokenTA2およびエンティティAのGA、R
A、GB、R
BとTokenTA2にあるメッセージに対する署名を含む。
R
Aは、メッセージ4に備えるエンティティAが生成するランダム数である。
【0109】
さらに、
TokenAB=R
A‖R’
A‖Text7‖Res
GB‖Res
GA‖TokenTA‖sS
A(GA‖R
A‖GB‖R
B‖Res
GB‖Res
GA‖TokenTA‖Text6)
である。
ここで、Text6、Text7は、オプションテキストであり,sS
Aは、エンティティAの署名である。
【0110】
さらに、
TokenAB=R
A‖Res
GA‖Text7‖TokenTA2‖sS
A(GA‖R
A‖GB‖R
B‖TokenTA2‖Text6)
である。
ここで、Text6、Text7は、オプションテキストであり、sS
Aは、エンティティAの署名である。
【0111】
さらに、第3トークンは、トークンTokenBAを備え、TokenBAは、エンティティBのGB、R
B、GAおよびR
Aにあるメッセージに対する署名を含み、
R
Aは、メッセージ4に備えるエンティティAが生成するランダム数であり、R
Bは、メッセージ1に備えるエンティティBが生成するランダム数である。
【0112】
さらに、
TokenBA=Text9‖sS
B(GB‖R
B‖GA‖R
A‖Text8)
である。
ここで、Text8、Text9は、オプションテキストであり、sS
Bは、エンティティBの署名である。
【0113】
さらに、メッセージ1は、オプションテキストを備える。
【0114】
さらに、ランダム数は、時間標記またはシーケンス番号により代替する。
【0115】
図6に示す本発明の実施形態に係る高信頼第3者設備は、
グループGAに位置するエンティティAが送信するグループGAの識別子I
GAを備えるメッセージ2を受信するメッセージ受信ユニット60と、
メッセージ2を受信後、I
GAに基づきグループGAの合法性を検証するグループ検証ユニット61と、
エンティティAへグループGAの検証結果Res
GAと第1トークンを備えるメッセージ3を返送するメッセージ受信ユニット62とを備える。
ここで、第1トークンには本高信頼第3者設備の署名が含まれる。
【0116】
さらに、前記グループ検証ユニット61は、さらに、
メッセージ2においてI
GBをさらに備える場合、I
GBに基づきグループGBの合法性を検証する。
メッセージ3にグループGBの検証結果Res
GBをさらに備える。
【0117】
さらに、前記グループ検証ユニット61は、
もしメッセージ2におけるI
GAがグループGAの指定子GAであれば、グループGAの有效パブリックキーPublicKey
GAを検索する。
もし検索できれば、GAは合法であると確認する。検索できなければ、GAは非合法であると確認する。
もしメッセージ2におけるI
GAがグループGAのライセンスCert
GAであれば、ライセンスCert
GAの有效性Valid
GAを検査する。
もしCert
GAが有效であれば、GAは合法であると確認する。
有効でなければ、GAは非合法であると確認する。
【0118】
さらに、前記グループ検証ユニット61は、
もしメッセージ2におけるI
GBがグループGBの指定子GBであれば、グループGBの有效パブリックキーPublicKey
GBを検索する。もし検索できれば、GBは合法であると確認する。
そうでなければ、GBは非合法であると確認する。
もしメッセージ2におけるI
GBがグループGBのライセンスCert
GBであれば、ライセンスCert
GBの有效性Valid
GBを検査する。
もしCert
GB有效であれば、GBは合法であると確認する。有効でなければ、GBは非合法であると確認する。
【0119】
さらに、第1トークンは、トークンTokenTAを備え、または、第1トークンは、トークンTokenTA1とTokenTA2を備える。
【0120】
ここで、TokenTAは、高信頼第3者TPのR’
A、R
B、Res
GBおよびRes
GAにあるメッセージに対する署名を含み、TokenTA1は、高信頼第3者TPのR’
AおよびRes
GBにあるメッセージに対する署名を含み、TokenTA2は、高信頼第3者TPのR
BおよびRes
GAにあるメッセージに対する署名を含む。
R’
Aは、メッセージ2に備えるエンティティAが生成するランダム数であり、R
Bは、メッセージ1に備えるエンティティBが生成するランダム数であり、メッセージ1は、エンティティBがエンティティAへ送信するI
GBを備えるメッセージである。
【0121】
さらに、
TokenTA=sS
T(R’
A‖R
B‖Res
GB‖Res
GA‖Text3)
である。
ここで、Text3は、オプションテキストであり、sS
Tは、高信頼第3者TPの署名である。
【0122】
さらに、
TokenTA1=sS
T(R’
A‖Res
GB‖Text4)、TokenTA2=sS
T(R
B‖Res
GA‖Text3)である。
ここで、Text3は、オプションテキストであり、sS
Tは、高信頼第3者TPの署名である。
【0123】
本発明の好ましい実施形態において記述したが、当業者は、本発明の基本的な技術思想を把握した上、多種多様な変更と変形を行える。
そのような全ての変形と変更、は発明に記述された実施形態と共に、付加する請求の範囲の範囲内にあると解釈されるべきである。
【0124】
無論、当業者により、上述した実施形態に記述された技術的な解決手段を改造し、又はその中の一部の技術要素を置換することもできる。
そのような改造と置換は、本発明の各実施形態の技術の範囲から逸脱するとは見なされない。