(57)【要約】【課題】  検証当事者から依拠当事者へアサーション・メッセージを提供する方法及びシステムを提供する。【解決手段】  本発明は、検証当事者（２０）から依拠当事者（４０）へアサーション・メッセージ（２００）を提供する方法に関し、この方法は、  １つ又は複数のステートメントを含むアサーション（Ａ）を作成するステップと、  アサーション証明（ｐＡ）を作成するステップと、  アサーション（Ａ）及びアサーション証明（ｐＡ）から一時秘密鍵及び対応する一時公開鍵（Ｋ）を作成するステップと、  一時公開鍵（Ｋ）に関する鍵証明（ｐＫ）を作成するステップと、  一時秘密鍵によってアサーション・メッセージ署名（Ｓ）を作成するステップと、  一時公開鍵（Ｋ）と、アサーション証明（ｐＡ）と、鍵証明（ｐＫ）と、アサーション（Ａ）と、メッセージ本体（２２０）と、アサーション・メッセージ署名（Ｓ）とを含む、依拠当事者（４０）へのアサーション・メッセージ（２００）を作成するステップと、を含む。【選択図】      図１
2009538082.tif 000002
【特許請求の範囲】
【請求項１】
検証当事者（２０）から依拠当事者（４０）へのアサーション・メッセージ（２００）を準備する方法であって、
１つ又は複数のステートメントを含むアサーション（Ａ）を作成するステップと、
アサーション証明（ｐＡ）を作成するステップと、
前記アサーション（Ａ）及び前記アサーション証明（ｐＡ）から一時秘密鍵及び対応する一時公開鍵（Ｋ）を作成するステップと、
前記一時公開鍵（Ｋ）に関する鍵証明（ｐＫ）を作成するステップと、
前記一時秘密鍵によってアサーション・メッセージ署名（Ｓ）を作成するステップと、
前記一時公開鍵（Ｋ）と、前記アサーション証明（ｐＡ）と、前記鍵証明（ｐＫ）と、前記アサーション（Ａ）と、メッセージ本体（２２０）と、前記アサーション・メッセージ署名（Ｓ）とを含む前記アサーション・メッセージ（２００）を作成するステップと、
を含む方法。
【請求項２】
前記一時秘密鍵、前記一時公開鍵（Ｋ）及び前記鍵証明（ｐＫ）は、セキュア結合関数によって作成される、請求項１に記載の方法。
【請求項３】
前記セキュア結合関数は検証可能なランダム関数である、請求項２に記載の方法。
【請求項４】
前記アサーション・メッセージ署名（Ｓ）を前記作成するステップは、
前記アサーション・メッセージ（２００）の１つ又は複数の部分のアサーション・メッセージ・ダイジェストを作成するサブステップと、
前記アサーション・メッセージ・ダイジェストから、前記一時秘密鍵によって前記アサーション・メッセージ署名（Ｓ）を作成するサブステップと
を含む、前記請求項のいずれか１項に記載の方法。
【請求項５】
前記アサーション・メッセージ署名（Ｓ）はエンベロープ署名である、前記請求項のいずれか１項に記載の方法。
【請求項６】
前記アサーション証明（ｐＡ）及び／又は前記鍵証明（ｐＫ）は、ゼロ知識証明又は最小開示証明である、前記請求項のいずれか１項に記載の方法。
【請求項７】
前記アサーション証明（ｐＡ）及び／又は前記鍵証明（ｐＫ）は非対話型証明である、前記請求項のいずれか１項に記載の方法。
【請求項８】
前記一時公開鍵（Ｋ）及び前記一時秘密鍵は、デジタル署名アルゴリズム（ＤＳＡ）鍵の対である、前記請求項のいずれか１項に記載の方法。
【請求項９】
前記アサーション・メッセージ署名（Ｓ）は、拡張マークアップ言語デジタル署名（ＸＭＬ−ＤＳＩＧ）標準による署名である、前記請求項のいずれか１項に記載の方法。
【請求項１０】
前記検証可能なランダム関数は、Ｄｏｄｉｓ及びＹａｍｐｏｌｓｋｙによって提案された関数である、請求項３に記載の方法。
【請求項１１】
前記アサーション証明（ｐＡ）は、前記検証当事者（２０）の１つ又は複数のプライベート証明書（１１０）から導出される、前記請求項のいずれか１項に記載の方法。
【請求項１２】
前記方法は、連合識別情報管理（ＦＩＭ）システム、特にＷＳ連合システムにおいて実施される、前記請求項のいずれか１項に記載の方法。
【請求項１３】
アサーション・メッセージ（２００）を評価する方法であって、
前記アサーション・メッセージ（２００）は、１つ又は複数のステートメントを有するアサーション（Ａ）と、前記アサーション（Ａ）に関するアサーション証明（ｐＡ）と、前記アサーション（Ａ）及びアサーション証明（ｐＡ）から作成される一時公開鍵（Ｋ）と、前記一時公開鍵（Ｋ）に関する鍵証明（ｐＫ）と、メッセージ本体（２２０）と、アサーション・メッセージ署名（Ｓ）とを含み、
前記一時公開鍵（Ｋ）を前記鍵証明（ｐＫ）によってチェックするステップと、
前記アサーション（Ａ）を前記アサーション証明（ｐＡ）によってチェックするステップと、
前記アサーション・メッセージ署名（Ｓ）を前記一時公開鍵（Ｋ）によってチェックするステップと、
前記アサーション・メッセージ署名（Ｓ）、前記一時公開鍵（Ｋ）及び前記アサーション（Ａ）の前記チェックの結果が肯定的である場合に、前記アサーション・メッセージ（２００）が妥当であると評価するステップと、
を含む方法。
【請求項１４】
コンピュータ・システム上で実行されるとき、請求項１乃至請求項１３のいずれか１項に記載の前記方法の前記ステップを実行する命令を含むコンピュータ・プログラム。
【請求項１５】
検証当事者（２０）から依拠当事者（４０）にアサーション・メッセージ（２００）を伝送するための伝送エンティティ（６０）であって、
１つ又は複数のステートメントを含むアサーション（Ａ）を作成し、
アサーション証明（ｐＡ）を作成し、
前記アサーション（Ａ）及び前記アサーション証明（ｐＡ）から一時秘密鍵及び対応する一時公開鍵（Ｋ）を作成し、
前記一時公開鍵（Ｋ）に関する鍵証明（ｐＫ）を作成し、
前記秘密鍵によってアサーション・メッセージ署名（Ｓ）を作成し、
前記一時公開鍵（Ｋ）と、前記アサーション証明（ｐＡ）と、前記鍵証明（ｐＫ）と、前記アサーション（Ａ）と、メッセージ本体（２２０）と、前記アサーション・メッセージ署名（Ｓ）とを含む前記アサーション・メッセージ（２００）を前記依拠当事者（４０）に送信する、
ために備えられる伝送エンティティ（６０）。
【請求項１６】
検証当事者からのアサーション・メッセージ（２００）を受信するための受信エンティティ（８０）であって、
前記アサーション・メッセージ（２００）は、１つ又は複数のステートメントを有するアサーション（Ａ）と、前記アサーション（Ａ）に関するアサーション証明（ｐＡ）と、前記アサーション（Ａ）及び前記アサーション証明（ｐＡ）から作成される一時公開鍵（Ｋ）と、前記一時公開鍵（Ｋ）に関する鍵証明（ｐＫ）と、メッセージ本体（２２０）と、アサーション・メッセージ署名（Ｓ）とを含み、
前記一時公開鍵（Ｋ）を前記鍵証明（ｐＫ）によってチェックし、
前記アサーション（Ａ）を前記アサーション証明（ｐＡ）によってチェックし、
前記アサーション・メッセージ署名（Ｓ）を前記一時公開鍵（Ｋ）によってチェックし、
前記アサーション・メッセージ署名（Ｓ）、前記一時公開鍵（Ｋ）及び前記アサーション（Ａ）の前記チェックの結果が肯定的である場合に、前記アサーション・メッセージ（２００）が妥当であると評価する、
ために備えられる受信エンティティ（８０）。
【請求項１７】
アサーション・メッセージ（２００）を含む信号であって、
前記アサーション・メッセージ（２００）は、メッセージ・ヘッダ（２１０）とメッセージ本体（２２０）を含み、
前記メッセージ・ヘッダ（２１０）は、１つ又は複数のステートメントを有するアサーション（Ａ）と、アサーション証明（ｐＡ）と、前記アサーション（Ａ）及び前記アサーション証明（ｐＡ）から作成される一時公開鍵（Ｋ）と、前記一時公開鍵（Ｋ）に関する鍵証明（ｐＫ）と、前記一時公開鍵（Ｋ）に対応する一時秘密鍵によって作成されるアサーション・メッセージ署名（Ｓ）とを含む、
信号。
【請求項１８】
アサーション・メッセージ（２００）の形式を指定するアサーション・メッセージ形式であって、
前記形式による前記アサーション・メッセージ（２００）は、メッセージ・ヘッダ（２１０）とメッセージ本体（２２０）を含み、
前記メッセージ・ヘッダ（２１０）は、１つ又は複数のステートメントを有するアサーション（Ａ）と、アサーション証明（ｐＡ）と、前記アサーション（Ａ）及び前記アサーション証明（ｐＡ）から作成される一時公開鍵（Ｋ）と、前記一時公開鍵（Ｋ）に関する鍵証明（ｐＫ）と、前記一時公開鍵（Ｋ）に対応する一時秘密鍵によって作成されるアサーション・メッセージ署名（Ｓ）とを含む、
アサーション・メッセージ形式。
【請求項１９】
前記アサーション・メッセージ形式は、ウェブ・サービス・セキュリティ（ＷＳ−Ｓｅｃｕｒｉｔｙ）標準及び／又はウェブ・サービス・トラスト（ＷＳ−Ｔｒｕｓｔ）標準による形式である、請求項１８に記載のアサーション・メッセージ形式。
【請求項２０】
請求項１５に記載の伝送エンティティ（６０）と、請求項１６に記載の受信エンティティ（８０）とを含むシステム（１０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検証当事者から依拠当事者へアサーション・メッセージを提供するための方法、システム、伝送エンティティ、受信エンティティ、コンピュータ・プログラム、信号及びアサーション・メッセージの形式に関する。
【背景技術】
【０００２】
インターネットをブラウズするとき又は他の種類の電子商取引を実行するとき、ユーザは彼らのプライバシについてますます心配を高めている。従って、ユーザの識別情報のセキュアで改善された管理に対する要求が高まっている。最も広い意味での識別情報管理は、少なくとも個人デジタル関係の全てを含む、個人に関するあらゆる個人情報の管理を意味する。ビジネスの問題は、例えば、ユーザ管理コストの削減と、電子ビジネスの全体的な増加である。識別情報管理は、インフラストラクチャの問題であり、インターネット及びウェブ標準のような標準がほぼ全ての当事者の便益となり得る。今日の最も重要なオンライン取引は、ユーザに自分の識別情報又は特定の属性をサービス・プロバイダに提供するように要求する。広く用いられている手法としては、ユーザは保証されていない属性をウェブ・フォームに入力するが、これはサービス・プロバイダがビジネス・プロセス自体に必要であるよりも多くの属性を要求することを意味する。サービス・プロバイダは、付加的な情報を用いて、提供された属性の整合性をチェックする。
【０００３】
連合識別情報管理（Federated identity management、ＦＩＭ）プロトコルは、この従来の手法を上回る多くの利点を有する。サービス・プロバイダは、必要な属性を正確に取得し、信頼できる識別情報プロバイダによって認証することができる。ＦＩＭプロトコルは、ユーザの代りに動作するリクエスタを識別情報プロバイダに送信し、そこで、ユーザがサービス・プロバイダによって要求される属性に関する信用証明書を認証し取得するスキームに従う。ＦＩＭ手法は、データ最小化原理、即ちサービスに必要なユーザ・データのみが伝送されること、に従うことで、ユーザのプライバシを強化することができる。ＦＩＭは、ユーザの属性及びプライバシのセキュリティに関する便益を有する幅広く配備され標準化されたプロトコルを提供する。
【０００４】
匿名信用証明書システムは、識別情報管理及び属性交換のためのさらに強力な方法を提供する。この概念は、Ｄ．Ｃｈａｕｍにより非特許文献１において導入された。匿名信用証明書システムの重要な特性は、匿名信用証明書に関する発行トランザクションがその表示トランザクションにリンク不可能なことである。このことは、ユーザが匿名信用証明書を機密に保ち、認証された属性データを依拠当事者に提供するためにそれを何度も使用することを可能にする。高度な匿名信用証明書システムは、非特許文献２に開示されている。この高度な匿名信用証明書システムは、同じ信用証明書の多数の表示でさえも互いにリンク不可能とすることを可能にする。このシステムは、さらに、いわゆるプライベート証明書システムに一般化されて、ユーザが、単一の信用証明書内にストアされ、より多くの差別化された属性をサポートする識別情報属性、それらの属性にわたる任意の論理式の表示、及び検証可能な暗号化属性と属性の暗号コミットメントとの統合、に関するステートメントを選択的に表示することを可能にする。このシステムで属性をアサートするとき、識別情報プロバイダがトランザクションに関与する必要はない。ユーザは、事前に自分のプライベート証明書を取得し、それらをローカルにストアする。ユーザが認証された属性をサービス・プロバイダに提供することを望むときはいつも、ユーザは、１つ又は複数のプライベート証明書を用いて新しい証明を生成し、自分のプライベート証明書内の属性に関する論理式を表示する。
【０００５】
【非特許文献１】D. Chaum. Security without identification:Transaction systems to make big brother obsolete. Communications of the ACM,28(10):1030.1044, Oct. 1985.
【非特許文献２】J. Camenisch and A. Lysyanskaya, Efficientnon-transferable anonymous multi-show credential system with optional anonymityrevocation, in B. Pfitzmann, editor, Advances in Cryptology, EUROCRYPT 2001,volume 2045 of LNCS, Parges 93.118, Spronger Verlag, 2001.
【非特許文献３】Y. Dodis and A. Yampolsly, A VerifiableRandom Function with Short Proofs and Keys, In Public Key Cryptography, volume3386 od LNCS, pages 416.431, 2005.
【非特許文献４】C. Kaler and A. Nadalin, (eds.), WS-Federation:Active Requestor Profile, Version 1.0, Jul 2003. http://www-128.ibm.com/developerworks/library/.
【非特許文献５】BANGERTER, E., CAMENISCH, J., ANDLYSYANSKAYA, A., A.cryptographic framework for the controlled release ofcertified data, Twelfth International Workshop on Security Protocols2004(2004), LNCS, Springer Verlag.
【非特許文献６】J. Camenisch and M. Stadler, Efficientgroup signature schemes for large groups, In B. Kaliski, editor, Advances inCryptology, CRYPTO ’97, volume 1296 ofLNCS, pages 410.424, Springer Verlag, 1997.
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の一般化されたシステムは、知識のゼロ知識証明に基づくものである。現在の署名標準、特に、ＸＭＬ署名に関する安定で良く確立された標準のような公開鍵署名標準は、ゼロ知識証明とは適合しない（Donald Eastlake, Joseph Reagle, David Solo (eds.):XML-SignatureSyntax and Processing, W3C Recommendation, 2002, http://www.w3.org/TR/xmldsig-core/から入手可能)。しかしながら、ＸＭＬ署名は、大部分のＦＩＭ及びウェブ・サービス（ＷＳ）セキュリティのフレームワークの基盤である。
本発明の目的は、識別情報管理のための改善された解決法を提供することである。
【課題を解決するための手段】
【０００７】
本発明は、独立請求項において定義される方法、システム、伝送エンティティ、受信エンティティ、コンピュータ・プログラム、信号及びアサーション・メッセージ形式に向けられる。本発明のさらなる実施形態は、添付の従属請求項において与えられる。
【０００８】
本発明の一態様によれば、検証当事者から依拠当事者へのアサーション・メッセージを準備する方法が提示されるが、この方法は、
１つ又は複数のステートメントを含むアサーションを作成するステップと、
アサーション証明を作成するステップと、
アサーション及びアサーション証明から一時秘密鍵及び対応する一時公開鍵を作成するステップと、
一時公開鍵に関する鍵証明を作成するステップと、
一時秘密鍵によってアサーション・メッセージ署名を作成するステップと、
一時公開鍵、アサーション証明、鍵証明、アサーション、メッセージ本体及びアサーション・メッセージ署名を含むアサーション・メッセージを作成するステップと
を含む。
【０００９】
本発明のこの態様による方法において、一時秘密鍵と一時公開鍵の鍵の対は、アサーション及びアサーション証明から作成される。これが、アサーション及びアサーション証明をメッセージ本体にバインドする。
【００１０】
アサーションのステートメントは、検証当事者の任意の属性に関係することができる。例えば、ステートメントは、検証当事者の年齢、住所、国籍、又はクレジット・カードに関する情報のような検証当事者の識別情報に関する情報を含むことができる。検証当事者の属性に関するステートメントは、論理式として指定することができる。
【００１１】
従来の公開鍵署名は、公開鍵証明書を署名と共に送信するように要求する。類推により、本発明のこの態様によるアサーション、アサーション証明及び一時公開鍵は、従来の公開鍵署名スキームの公開鍵証明書に対応すると考えることができる。
【００１２】
検証当事者は、その属性に関するステートメントを依拠当事者に提供することを望む任意のエンティティとすることができる。例えば、検証当事者は、インターネットのようなネットワークのユーザとすることができる。他の場合には、検証当事者は、それ自体に関する特性を証明するハードウェア・デバイス、又は特性証明により通信を強化する中間当事者とすることができる。
【００１３】
アサーション証明は、アサーション内に作られたステートメントの暗号証明を与える。アサーション証明によって、依拠当事者は、アサーション内に作られたステートメントを検証することができる。
【００１４】
アサーションは、明記することなしにアサーション証明に含めることができる。
【００１５】
依拠当事者は、検証当事者に関する情報を要求する任意のエンティティとすることができる。例えば、依拠当事者は、インターネットを介してサービスを提供するサービス・プロバイダとすることができる。
【００１６】
アサーション・メッセージ署名は、一時秘密鍵によって作成される。アサーション・メッセージ署名によって、アサーション及びアサーション証明は、メッセージのメッセージ本体にセキュアにバインドすることができる。
【００１７】
最後に、アサーション・メッセージは、アサーション、アサーション証明、一時公開鍵、鍵証明、主メッセージ本体、アサーション・メッセージ署名を含むように作成される。アサーション・メッセージは、次に、依拠当事者に送信することができる。
【００１８】
この方法は、秘密鍵／公開鍵署名を要求する方法又はプロトコルによって、アサーション及び対応するアサーション証明の交換を可能にする利点を有する。
【００１９】
本発明の一実施形態によれば、一時秘密鍵、一時公開鍵及び鍵証明は、セキュア結合関数によって作成される。
【００２０】
セキュア結合関数は、一時秘密鍵及び一時公開鍵を含む一時鍵の対がアサーション証明及びアサーションから擬似ランダムに、ランダムに、又は予測不可能に生成されたことの検証を可能にする関数と理解される。言い換えれば、セキュア結合関数は、一時鍵の対と、一時鍵の対によって作成されたアサーション・メッセージ署名とを、それぞれアサーションと、アサーション証明とにバインドする。言い換えれば、セキュア結合関数は、一時秘密鍵を生成するため、及び、一時秘密鍵の暗号コミットメントとして用いられる対応する一時公開鍵に関する正当性証明書を作るために用いられる。
【００２１】
本発明の一実施形態によれば、セキュア結合関数は、検証可能なランダム関数である。
【００２２】
検証可能なランダム関数は、当事者が検証可能なランダム関数を普通の既知値に適用することによって秘密値を生成することを可能にする。検証可能なランダム関数の数学的構造により、当事者は、秘密値がそれにより生成された証明を作成できるようになる。検証可能なランダム関数によって、一時秘密鍵及び一時公開鍵は、それぞれのアサーション及びアサーション証明に関して擬似ランダムに且つ新しく生成される。
【００２３】
この実施形態によれば、鍵証明は、セキュア結合関数、具体的には検証可能なランダム関数を、アサーション、アサーション証明及び随意的に時間スタンプのような他の入力パラメータに適用することによって一時鍵の対が作成されたことを証明する。
【００２４】
本発明のこの態様の一実施形態によれば、アサーション・メッセージ署名は、
アサーション・メッセージの１つ又は複数の部分のアサーション・メッセージ・ダイジェストを作成するサブステップと、
一時秘密鍵によってアサーション・メッセージ・ダイジェストからアサーション・メッセージ署名を作成するサブステップと、
を含む。
【００２５】
これは、署名生成、特に大量の情報の署名生成の効率を向上させる。アサーション・メッセージ・ダイジェストは、署名されるべきアサーション・メッセージの全ての部分から作成されなければならない。本発明のさらに別の実施形態によれば、アサーション・メッセージ・ダイジェストは、ハッシュ関数（hash function）によって計算される。
【００２６】
本発明のこの態様のさらに別の実施形態によれば、アサーション・メッセージ署名はエンベロープ署名である。このようなエンベロープ署名は、全アサーション・メッセージからダイジェストを作成する。このことは、メッセージの全ての部分がエンベロープ署名によって署名されるという利点を有する。
【００２７】
本発明のこの態様のさらに別の実施形態によれば、アサーション証明及び／又は鍵証明は、ゼロ知識証明である。このことは、検証当事者がその識別情報を依拠当事者に明らかにする必要がないという利点を有する。それは完全に匿名のままに留まることができる。それは、多数のトランザクションにわたって完全にリンク不可能なままの状態で、検証当事者がそれ自体に関するステートメントを選択的に提供することを可能にする。
【００２８】
本発明のさらに別の実施形態によれば、アサーション証明及び／又は鍵証明は、最小開示証明である。このことは、使用可能なアルゴリズムの数を増やし、単純な実装解決法を提供するという利点を有する。
【００２９】
本発明のさらに別の実施形態によれば、アサーション証明及び／又は鍵証明は、非対話型証明である。非対話型証明は、例えばＦｉａｔ−Ｓｈａｍｉｒ経験則を対話型ゼロ知識証明に適用することによって確立することができる。これらの非対話型プロトコルは如何なる対話も要求しないので、非対話型証明は単一のアサーション・メッセージに適合する。
【００３０】
本発明のさらに別の実施形態によれば、一時公開鍵及び一時秘密鍵は、デジタル署名アルゴリズム（Digital Signature Algorithm）（ＤＳＡ）鍵の対である。
【００３１】
ＤＳＡは、広く用いられている署名アルゴリズムである。本発明による方法は、このＤＳＡ署名とゼロ知識又は最小開示プロトコルとの組合せを可能にする。
【００３２】
本発明のさらに別の実施形態によれば、アサーション・メッセージ署名は、拡張マークアップ言語デジタル署名（Extended Markup Language Digital Signature）（ＸＭＬ−ＤＳＩＧ）標準による署名である。ＸＭＬ−ＤＳＩＧ署名標準は、例えばＷＳセキュリティ標準などの多くのウェブ・サービス標準の署名標準である。
【００３３】
本発明のさらに別の実施形態によれば、検証可能なランダム関数は、Ｄｏｄｉｓ及びＹａｍｐｏｌｓｋｙによって提案された関数である。
【００３４】
この検証可能なランダム関数の使用は、非常に効率的な解決法である。
【００３５】
この検証可能なランダム関数の詳細な説明は、非特許文献３に与えられている。
【００３６】
この関数は、双一次マッピングに基づく鍵証明をすでに含む。
【００３７】
この双一次マッピングに基づく鍵証明の代わりに、離散的対数の知識の非対話型ゼロ知識証明を用いることができる。
【００３８】
本発明のさらに別の実施形態によれば、アサーション証明は、検証当事者の１つ又は複数のプライベート証明書から導出される。プライベート証明書システムは、洗練された属性のステートメントがサポートされる匿名信用証明書システムの一般化である。プライベート証明書システムは、発行及び使用の両方がプライバシを強化する方法で可能である状態で、識別情報プロバイダからプライベート証明書を取得し、それらを用いて認証ステートメントを作ることを可能にする。ユーザ又は検証当事者は、識別情報プロバイダからプライベート証明書を取得し、これらの証明書をローカルに保持する。証明書は、例えば、多年にわたる長期存続期間を有することができる。証明書は、一旦取得されると、依拠当事者に送信されることはない。ユーザが属性に関するステートメントを有するアサーションを依拠当事者に提供する必要があるときはいつも、１つ又は多数の自分のプライベート証明書を用いて、彼らの第三者により保証された属性に関する部分情報を制御された方法でリリースする。このリリースは、識別情報プロバイダに関わることなく実行することができる。
【００３９】
本発明のさらに別の実施形態によれば、この方法は、連合識別情報管理（ＦＩＭ）システムにおいて実行される。連合識別情報管理（ＦＩＭ）プロトコルは、３つの型のプレイヤ、即ち、その識別情報が連合されるユーザ（検証当事者）、識別情報を証明する識別情報プロバイダ、及びユーザの識別情報の受取り手である依拠当事者、の間のプロトコルである。今日の標準化され、確立されたＦＩＭプロトコルは、典型的には、識別情報プロバイダからユーザに、及びユーザから依拠当事者に伝達される署名されたアサーション・トークンを利用する。このようなプロトコルの有名な例は、非特許文献４において指定されたＷＳ連合アクティブ・リクエスタ・プロフィル（WS-Federation Active Requestor Profile）である。後者は、ＷＳセキュリティ・メッセージに含まれるセキュリティ・アサーションに基づいている。ユーザの識別情報が要求されるときはいつも、セキュリティ・アサーションは、リクエスタ（検証当事者）によって識別情報プロバイダから取得され、次いで依拠当事者に送られる。このことは、ｉ）属性が識別プロバイダによって認証され、ｉｉ）正確に要求された属性が依拠当事者に伝達されるという特性を可能にする。この第１の特性は、依拠当事者に関するセキュリティを提供し、第２の特性は、ユーザ（検証当事者）に関するプライバシを提供する。
【００４０】
本発明の第２の態様によれば、アサーション・メッセージを評価する方法が提供されるが、このアサーション・メッセージは、１つ又は複数のステートメントを有するアサーションと、アサーションに関するアサーション証明と、アサーション及びアサーション証明から作成される一時公開鍵と、一時公開鍵に関する鍵証明と、メッセージ本体と、アサーション・メッセージ署名とを含み、この方法は、
鍵証明によって一時公開鍵をチェックするステップと、
アサーション証明によってアサーションをチェックするステップと、
一時公開鍵によってアサーション・メッセージ署名をチェックするステップと、
アサーション・メッセージ署名、一時公開鍵及びアサーションのチェック結果が肯定的である場合に、アサーション・メッセージが妥当であると評価するステップと
を含む。
【００４１】
アサーション・メッセージを受信する依拠当事者は、一時公開鍵の妥当性、アサーションの妥当性及びアサーション・メッセージ署名の妥当性をチェックしてアサーション・メッセージの妥当性を評価する必要がある。
【００４２】
アサーション・メッセージ署名は一時公開鍵の参照を含み、一時公開鍵は対応する鍵証明の参照を含み、鍵証明はアサーション及びアサーション証明の参照を含むことが好ましい。次に、一時公開鍵の参照はアサーション・メッセージ署名から抽出し、鍵証明の参照は一時公開鍵から抽出することができる。一時公開鍵は、鍵証明によって検証することができる。アサーション及び対応するアサーション証明の参照に従って、アサーション内に作られたステートメントは、アサーション証明によって検証することができる。次に、アサーション・メッセージ署名は、一時公開鍵によって検証することができる。
【００４３】
本発明の異なる態様のステップは異なる順序で実行できることに留意されたい。さらに、これらのステップを組み合せることもでき、即ち、例えば２つ又はそれ以上のステップを同時に実行することができる。
【００４４】
本発明の別の態様は、コンピュータ・システム上で実行されるとき、請求項１乃至請求項１３のいずれか１項に記載の方法のステップを実行するための命令を含むコンピュータ・プログラムに関する。
【００４５】
本発明の別の態様は、検証当事者から依拠当事者にアサーション・メッセージを伝送するための伝送エンティティに関し、この伝送エンティティは、
１つ又は複数のステートメントを含むアサーションを作成し、
アサーション証明を作成し、
アサーション及びアサーション証明から一時秘密鍵及び対応する一時公開鍵を作成し、
一時公開鍵に関する鍵証明を作成し、
一時秘密鍵によってアサーション・メッセージ署名を作成し、
一時公開鍵、アサーション証明、鍵証明、アサーション、主メッセージ本体及びアサーション・メッセージ署名を含むアサーション・メッセージを依拠当事者に送信する、
ために備えられる。
【００４６】
このような伝送エンティティは、例えば、検証当事者のコンピュータとすることができる。
【００４７】
本発明の別の態様は、検証当事者からアサーション・メッセージを受信するための受信エンティティに関するものであり、このアサーション・メッセージは、１つ又は複数のステートメントを有するアサーションと、アサーションに関するアサーション証明と、アサーション及びアサーション証明から作成される一時公開鍵と、一時公開鍵に関する鍵証明と、メッセージ本体と、アサーション・メッセージ署名とを含み、その受信エンティティは、
鍵証明によって一時公開鍵をチェックし、
アサーション証明によってアサーションをチェックし、
一時公開鍵によってアサーション・メッセージ署名をチェックし、
アサーション・メッセージ署名、一時公開鍵及びアサーションのチェック結果が肯定的である場合、アサーション・メッセージ署名が妥当であると評価する、
ために備えられる。
【００４８】
このような受信エンティティは、例えば、依拠当事者のサーバとすることができる。
【００４９】
本発明の別の態様は、アサーション・メッセージを含む信号に関するもので、このアサーション・メッセージはメッセージ・ヘッダとメッセージ本体を含み、このメッセージ・ヘッダは、１つ又は複数のステートメントを有するアサーションと、アサーション証明と、アサーション及びアサーション証明から作成される一時公開鍵と、一時公開鍵に関する鍵証明と、一時公開鍵に対応する一時秘密鍵によって作成されるアサーション・メッセージ署名とを含む。
【００５０】
本発明の別の態様は、アサーション・メッセージの形式を指定するアサーション・メッセージ形式に関するもので、この形式によるアサーション・メッセージはメッセージ・ヘッダとメッセージ本体を含み、このメッセージ・ヘッダは、１つ又は複数のステートメントを有するアサーションと、アサーション証明と、アサーション及びアサーション証明から作成される一時公開鍵と、一時公開鍵に関する鍵証明と、一時公開鍵に対応する一時秘密鍵によって作成されるアサーション・メッセージ署名とを含む。
【００５１】
本発明の別の態様は、請求項１５に記載の伝送エンティティと請求項１６に記載の受信エンティティとを含むシステムに関する。
【００５２】
上に提示された本発明の異なる態様は、プライベート証明書システムのようなゼロ知識証明ベースのプロトコルのセマンティクスをＸＭＬ−ＤＳＩＧ鍵及び署名のような公開鍵署名システムに移行させることを可能にする一般的な構成を提供する。公開鍵署名システムは、多数の業界標準、特にウェブ・サービス（ＷＳ）セキュリティ標準によって広く用いられる必須のものであるので、本発明は広く適用できる。
【００５３】
本発明の異なる態様は、プライベート証明書システムのＷＳセキュリティへの統合を可能にするので、改善されたプライバシ特性を有する新しいＷＳ連合アクティブ・リクエスタ（WS-Federation Active Requestor）プロファイルを可能にする。
【００５４】
特に、上に提示された本発明の異なる態様は、以下の要件、
（ａ）ＸＭＬ−ＤＳＩＧ標準は既に安定であり、且つゼロ知識証明に向けた変更がＸＭＬ−ＤＳＩＧセマンティクスを管理可能性を超えて複雑にする可能性があるので、ＸＭＬ−ＤＳＩＧ標準を変更しないことと、
（ｂ）標準パーツの元の意図を超えた極端に広い解釈を行わず、さらに意図されたセマンティクスに違反しないことと
を満たすシステムの提供を可能にする。
【００５５】
これは、ＷＳセキュリティ環境においてプライベート証明システムを既存の標準セマンティクスにシームレスに統合する可能性を提供する。
【００５６】
本発明の好ましい実施形態を、以下で添付の略図を参照しながら例証としてのみ詳細に説明する。
【００５７】
図面は例証のためだけに与えられ、本発明の実際的な実施例を必ずしも一定の尺度で表しているとは限らない。
【００５８】
用語解説
以下は、この明細書の説明を理解するのに役立つ非公式な定義である。
ユーザ又は検証当事者：その識別情報が管理されるエンティティである。典型的には、ユーザ又は検証当事者は個人であるが、少なくとも小企業が個人のように、例えば旅行予約及び情報収集において他の企業と交信することが多い。他の場合には、検証当事者は、それ自体に関する特性を証明するハードウェア・デバイス、又は特性証明によって通信を強化する中間当事者とすることができる。
依拠当事者：ユーザ又は検証当事者の名前又は属性を知ることを望む、例えばサーバによって代表される、例えば組織のようなエンティティである。組織は、銀行、医者、同僚、インターネット・サービス・プロバイダ及び家族のような全ての個人の通信パートナを含む。
識別情報プロバイダ：個人に関する識別情報関連の情報をストアするエンティティである。これは、銀行、認証局（ＣＡ）、インターネット・サービス・プロバイダ等とすることができる。
「コンピュータ」という用語はＰＣのようなデバイスを含むが、携帯端末、携帯電話及び他の電子デバイスをも含む。
【発明を実施するための最良の形態】
【００５９】
図１を参照して、本発明の例示的な実施形態によるシステム１０の全体的なレイアウトを説明する。図中、同じ又は類似の部分を示すのに同じ参照符号を用いる。このシステムは、検証当事者２０、識別情報プロバイダ３０、及び依拠当事者４０を含む。この実施例において検証当事者２０は、依拠当事者４０との例えば購買取引といった取引を実行することを望むユーザである。検証当事者２０は、コンピュータ６０上で、例えばウェブ・ブラウザといったクライアント・アプリケーション５０を実行する。識別情報プロバイダ３０はサーバ７０を起動し、依拠当事者４０はサーバ８０を起動する。コンピュータ６０は、通信ライン９０を介して識別情報プロバイダ３０のサーバ７０、及び依拠当事者４０のサーバ８０に接続可能である。通信ライン９０は通常、ネットワーク、例えばインターネットにより提供される。識別情報プロバイダ３０は、例えば、銀行、又は識別情報管理サービスを提供する別の専門的な組織とすることができる。識別情報プロバイダ３０は、一般に、識別情報関連の情報（ＩＲＩ）を発行するために備えられる。この識別情報関連の情報という用語により、ＩＲＩは個人又はユーザに関する任意の情報であると理解されたい。識別情報関連の情報ＩＲＩは、名前、住所、グループ会員、権限証明書、人口統計的データ、個人的好み、カレンダ・エントリ、医療及び財務情報、並びに個人に関して又はユーザ名の下でデジタル的にストアできる他の全てのものを含む。検証当事者２０は、例えば、アクセス制御、権限、個人化、認証、ログイン、商業的問題、医療問題、政治問題、又は他の問題に関するようなＩＲＩを望むことができる。識別情報プロバイダ３０は、特に、プライベート証明書又はユーザ証明書とも呼ばれる属性信用証明書を発行するように規定される。識別情報プロバイダ３０のサーバ７０、検証当事者２０のコンピュータ６０及び依拠当事者４０のサーバ８０は、プライベート証明書システムのプラグイン１００を含む。このプライベート証明書システムのプラグイン１００は、システム１０がプライベート証明書システムとして動作することを容易にする。プライベート証明書システムは、属性ステートメントに関する洗練されたアサーションがサポートされる匿名信用証明書システムの一般化である。検証当事者２０は、識別情報プロバイダ３０から１つ又は複数のプライベート証明書１１０を取得することができる。プライベート証明書１１０は、検証当事者２０のコンピュータ６０上にローカルにストアすることができる。検証当事者２０は、プライベート証明書１１０を用いて認証アサーション１２０を作成することができる。認証アサーション１２０は、検証当事者２０の属性に関するステートメントを有するアサーション及び対応するアサーション証明を含む。これらの認証アサーション１２０を依拠当事者４０に送信することによって、検証当事者２０は、完全に匿名でリンク不可能なままの状態で、これらのアサーションを依拠当事者４０に対して証明することができる。アサーションに関する証明は、例えば、非対話型ゼロ知識証明、又は非対話型最小開示証明によって確立することができる。
【００６０】
図２は、本発明の例示的な実施形態によるアサーション・メッセージ２００の形式の略図を示す。アサーション・メッセージ２００は、図１を参照して説明した認証アサーション１２０の好ましい実施形態である。これは、メッセージ・ヘッダ２１０とメッセージ本体２２０を含む。メッセージ・ヘッダ２１０は、アサーションＡを有するアサーション・トークン２３０と、証明トークン２４０と、一時公開鍵Ｋを有する一時公開鍵トークン２５０と、署名Ｓを有するエンベロープ署名トークン２６０とを含む。証明トークン２４０は、アサーションに関するアサーション証明ｐＡを有するアサーション証明トークン２４１と、一時公開鍵Ｋに関する鍵証明ｐＫを有する鍵証明トークン２４２とを含む。エンベロープ署名トークン２６０は、一時公開鍵トークン２５０の参照２７０を含む。一時公開鍵トークン２５０は、証明トークン２４０の参照２８０を含み、証明トークン２４０は、アサーション・トークン２３０の参照２９０を含む。メッセージ・ヘッダ２１０は、さらに別の要素又はトークンを含むことができる。メッセージ本体２２０は、例えば、図１の依拠当事者４０のサービスにアクセスするための要求など、あらゆる種類のメッセージを含むことができる。
【００６１】
コンピュータ６０は、検証当事者２０から依拠当事者４０にアサーション・メッセージ２００を伝送する伝送エンティティとして機能することができる。
【００６２】
サーバ８０は、アサーション・メッセージ２００を受信し、検証する受信エンティティとして機能することができる。
【００６３】
図１におけるシナリオは、検証当事者２０から依拠当事者４０に、図２に示すアサーション・メッセージ２００を提供するための以下のフローについての説明を容易にするように示されている。
【００６４】
図３は、本発明の例示的な実施形態のメッセージ・フローの略図を示す。そこでは、検証当事者２０と、識別情報プロバイダ３０と、依拠当事者４０との間のメッセージ・フローが、それぞれのローマ数字が付与された標識付き矢印で示される。さらなるステップ又はサブステップは、丸ローマ数字によって示される。このフローは、ローマ数字の増加によって示されるように上から下に逐次的に実行されるものと理解されたい。しかしながら、指定された順序なしに並列に実行されるこのプロトコルの多数のインスタンスが存在し得ることに留意されたい。
【００６５】
ステップＩにおいて、検証当事者２０は、検証当事者２０の、例えば、誕生日、郵便番号及び識別情報に関するさらなる情報を含むプライベート証明書を識別情報プロバイダ３０に要求する。識別情報プロバイダ３０は、要求されたプライベート証明書を発行し、ステップＩＩにおいて検証当事者２０にそれを送り返す。ステップＩＩＩにおいて、検証当事者２０は、プライベート証明書をコンピュータ６０上にストアする。ステップＩ及びステップＩＩは数回繰り返すことができる、即ち、検証当事者２０は、幾つかのプライベート証明書をコンピュータ６０上にストアすることができる。
【００６６】
検証当事者２０が依拠当事者４０のサービスを利用することを望む場合には、それは、ステップＩＶにおいて所望のサービスに関するポリシーを取得するための要求を依拠当事者４０に送信する。ステップＶにおいて、依拠当事者４０は、検証当事者２０にポリシーを送り返す。この実施例においては、要求されたサービスに関するポリシーは、ユーザが２１歳以上であることの証明を要求するものと仮定する。ステップＶＩにおいて、検証当事者２０は、受信したポリシーを分析し、これをコンピュータ６０上にストアされた使用可能なプライベート証明書１１０と比較する。１つ又は複数の適切なプライベート証明書１１０が使用可能である場合には、ユーザ又は検証当事者２０はそれぞれそれを選択することができ、コンピュータ６０のプライベート証明書システムのプラグイン１００によって、図２に示すアサーション・メッセージ２００のようなアサーション・メッセージが作成される。この実施例においてアサーション・メッセージは、検証当事者２０が２１歳以上であることのアサーションを含む。このアサーション及び対応するアサーション証明は、プライベート証明書の誕生日から導くことができる。ステップＶＩＩにおいて、アサーション・メッセージが検証当事者２０から依拠当事者４０に送信される。アサーション・メッセージを受信した後、依拠当事者４０は、ステップＶＩＩＩにおいて、アサーション・メッセージの妥当性をチェックする。アサーション・メッセージが妥当と検証された場合には、依拠当事者４０は、結果、例えば要求された情報をステップＩＸにおいて検証当事者２０に送信する。要求された情報は、例えば、２１歳以上の個人のみがアクセス可能なウェブページとすることができる。
【００６７】
検証当事者２０が依拠当事者４０の別のサービスを利用することを望む場合には、それはステップＸにおいて、所望のサービスに関するポリシーを取得するためのさらなる要求を依拠当事者４０に送信することができる。ステップＸＩにおいて、依拠当事者４０は、検証当事者２０にポリシーを送り返す。この実施例においては、要求されたサービスに関するポリシーは検証当事者２０の郵便番号の証明を要求するものと仮定する。ステップＸＩＩにおいて、検証当事者２０は、受信したポリシーを分析し、それをコンピュータ６０上にストアされた使用可能なプライベート証明書１１０と比較する。適切なプライベート証明書１１０が使用可能である場合には、ユーザ又は検証当事者２０はそれぞれそれを選択することができ、コンピュータ６０のプライベート証明書システムのプラグイン１００によって、認証アサーション、即ちアサーション及び対応するアサーション証明が作成される。この実施例において認証アサーションは、検証当事者２０が示された郵便番号を有するという情報を含む。さらに、コンピュータ６０のプライベート証明書システムのプラグイン１００は、認証アサーションを含む別のアサーション・メッセージを作成する。ステップＸＩＩＩにおいてアサーション・メッセージは、検証当事者２０から依拠当事者４０に送信される。アサーション・メッセージを受信した後、依拠当事者４０は、ステップＸＩＶにおいて、アサーション・メッセージの妥当性をチェックする。アサーション・メッセージが妥当であると検証された場合には、依拠当事者４０は、結果、例えば要求された情報をステップＸＶにおいて検証当事者２０に送信する。
【００６８】
図２のアサーション・メッセージ形式を用いて、プライベート信用証明書システムを有する認証をＸＭＬ−ＤＳＩＧのような標準的な公開鍵署名スキームに統合することができる。これは、プライベート信用証明書を有する認証を、それによりＸＭＬ−ＤＳＩＧ署名を生成することができる一時公開鍵／秘密鍵署名を有する認証に移行させることによって確立することができる。この認証の移行に関しては、セキュリティ・モデルは、検証当事者２０が依拠当事者４０によって信頼されていないと想定する。従って、検証当事者２０が忠実にプロトコルに従って一時署名鍵の対を選択すること、さもなければ検証が異常終了することを実行すべきである。これは、検証当事者が単一の認証アサーション毎に擬似ランダムで且つ新しい一時署名鍵の対を常に選択するという要件を設定することによって実施することができる。
【００６９】
一時署名鍵の対のこの特性は、悪意のある検証当事者２０が一時署名鍵の対を複数回使用すること、他のプリンシパルの鍵の対をミスバインドすること、或いは単一の鍵の対を複数の証明書にバインドすることを試みる可能性を防ぐ。本発明のこの実施形態によれば、プライベート信用証明書システムで作られた認証ステートメント（例えば、検証当事者２０が属性ａｔｔ＝「２１歳以上である」を有する）は、以下のステートメントを含むアサーションに変換される。
（ａ）検証当事者２０は、属性ａｔｔ（例えば、「２１歳以上である」）を有する。
（ｂ）検証当事者２０は、一時公開鍵Ｋに対応する一時秘密鍵Ｋｓを保持する。
（ｃ）鍵の対（Ｋｓ；Ｋ）は、このアサーションのために擬似ランダムに新しく生成される。
【００７０】
検証当事者２０によって例えばゼロ知識証明ベースのプロトコルで作られたステートメントの各々に対して、新しい一時鍵の対が新しく擬似ランダムに生成されることを保証することができる。さらに、検証可能な擬似ランダム関数と、一時公開鍵が正しく計算されたことを言明する対応するゼロ知識証明とによって、検証当事者２０が忠実に一時鍵の対を作成したことを保証することができる。一時鍵の対の１回限り性が、トランザクションのリンク不可能性を可能にする。
【００７１】
この一時鍵の対を用いて、証明されたアサーションによって拡張されたセマンティクスでＸＭＬ署名を作成することができる。証明されたアサーションは、アサーション・トークン２３０、証明トークン２４０及び一時公開鍵トークン２５０の、３つのトークン・タイプにおけるマニフェストである。一時公開鍵トークン２５０は、一時鍵の対の特性及び忠実な生成に関するステートメントに関連する。アサーション・トークン２３０は、一時鍵の対に関連する検証当事者２０の属性に関する付加的なステートメントを与える。最後に、証明トークン２４０は、それらステートメントに関する二重証明、即ち、一方で一時鍵の対の特性及び忠実な生成を証明し、他方で検証当事者２０の属性に関するアサーションの付加的なステートメントを証明する、二重証明を保持する。
【００７２】
以下で、アサーション・メッセージの作成及び検証をより詳細に説明する。
【００７３】
前提条件として、Ｇが素数位数ｑの巡回群であり、ｇがそれの生成元であり、ｇ及び群Ｇの両方が図１に示したシステム１０のシステム・パラメータであると仮定する。Ｇ及びｇは、それらが全てのシステム参加者によって、即ち、識別情報プロバイダ３０、検証当事者２０及び依拠当事者４０によって使用されるＤＳＡ署名スキームの公開パラメータとして使用できるように選択される。検証当事者２０が、実行されるプロトコルに必要な全てのプライベート証明書を有すると仮定する。さらに、全ての参加者がプロトコルへの入力として要求される証明書検証鍵を有すると仮定する。前提条件としてさらに、検証可能なランダム関数がシステムを使用する全てのプレイヤに対して、即ち、検証当事者２０、識別情報プロバイダ３０及び依拠当事者４０に対して使用可能であると仮定する。検証可能なランダム関数は、図１に示したプライベート証明書システムのプラグイン１００において使用可能とすることができる。検証可能なランダム関数は、それに関する素数モジュラスｐ及び素数位数ｑ並びに生成元ｇを有する巡回群Ｇによって規定される。
【００７４】
続いて、検証当事者２０（署名者）と依拠当事者４０（検証者）の間のプロトコルである方法を説明する。このプロトコルは、検証当事者２０によって行われるアサーション・メッセージの作成、及び依拠当事者４０によって行われるアサーション・メッセージの検証によって進行する。
【００７５】
図４は、本発明の例示的な実施形態による、図３に示したアサーション・メッセージの作成のフローチャートを示す。
【００７６】
ステップ４００において検証当事者２０は、依拠当事者４０から、現在の要求に関するアクセス情報（アクセス制御ポリシー）含む依拠当事者４０のポリシーを受信する。このステップ４００は、図３を参照して説明したステップＶ及びステップＸＩに対応する。
【００７７】
次のステップ４１０において、受信されたポリシーは、検証当事者２０のコンピュータ６０のプライベート証明書システムのプラグイン１００にストアされているプライベート証明書及び所定のプリファレンスに関して、並びに検証当事者２０の入力に関して分析される。
【００７８】
ステップ４２０において、前のステップ４１０の結果としてアサーションが作成される。このようなアサーションは、例えば、検証当事者２０の年齢が２１歳を超えるか又はそれに等しいことのステートメントとすることができる。
【００７９】
ステップ４３０において、アサーション証明が作成される。本発明のこの実施形態によれば、アサーション証明は、知識についての非対話型ゼロ知識証明であり、即ち、それは、アサーションの妥当性の証明であるが、アサーションの妥当性以外には他の如何なる情報も伝達しない。アサーション証明は、検証当事者２０のプライベート証明書１１０のサブセット、アサーションＡ、証明書発行者の公開鍵及びさらに別の公開パラメータを入力として使用することによって生成される。
【００８０】
アサーション証明の一例の詳細な説明は、非特許文献５に与えられている。この文献は、引用により本明細書に組み入れられる。
【００８１】
以下の説明に関して、可変のコンテキストは対話のセキュリティ・コンテキスト、例えば、現在の時刻又は依拠当事者４０からの質問であると仮定する。
【００８２】
次のステップ４４０において、一時秘密鍵ＫＳ及び一時公開鍵Ｋ並びに鍵証明ｐＫを含む一時ＤＳＡ鍵の対が、アサーションＡ、アサーション証明ｐＡ及びセキュリティ・コンテキストを入力としてＤｏｄｉｓ及びＹａｍｐｏｌｓｋｙの検証可能なランダム関数を用いて生成される。
【００８３】
ステップ４４０は、以下のサブステップを含む。
ａ．）暗号ハッシュ関数（hash function）Ｈを用いて中間値ｍをＡ‖ｐＡ‖コンテキストのハッシュとして計算する。
ｂ．）｛１，．．．，ｑ｝からランダムにｘを選択する。
ｃ．）中間値ｙ：＝ｇ＾ｘを計算する。
ｄ．）一時秘密鍵ＫＳをＫＳ：＝１／（ｘ＋ｍ）（計数ｑ）のように計算する。
ｅ．）一時公開鍵ＫをＫ：＝ｇ＾｛ＫＳ｝（計数ｐ）のように計算する。
ｆ．）Ｃａｍｅｎｉｓｃｈ及びＳｔａｄｌｅｒによる非特許文献６で導入された表記法を用いて、次のように指定される非対話型証明として鍵証明ｐＫを計算する。
【００８４】
鍵証明ｐＫの計算は、以下のサブステップを含む。
ｆ１．）０．．．ｑ−１の整数の組Ｚｑからランダムに変数ｒ１を選択する。
ｆ２．）Ｚｑからランダムに変数ｒ２を選択する。
ｆ３．）ｔ１：＝ｇ＾｛ｒ１｝を計算する。
ｆ４．）ｔ２：＝ｇ＾｛ｒ２｝を計算する。
ｆ５．）ｔ３：＝ｙ＾｛ｒ２｝ｇ＾｛ｍｒ２｝を計算する。
ｆ６．）ｃ：＝Ｈ（ｔ１，ｔ２，ｔ３，ｙ，Ｋ，ｇ，ｐ，ｑ）を計算する。
ｆ７．）ｓ１：＝ｒ１＋ｃｘを計算する。
ｆ８．）ｓ２：＝ｒ２＋ｃＫｓを計算する。
【００８５】
従って、結果として得られた鍵証明ｐＫは（ｙ，Ｋ，ｇ，ｓ１，ｓ２，ｃ）の組によって確立される。
【００８６】
ステップｂ及びステップｃは、検証可能なランダム関数のインスタンスを作成する。ステップｄ、ステップｅ及びステップｆは、検証可能なランダム関数のインスタンスを用いて一時鍵の対及びこの一時鍵の対に関する鍵証明を作成する。
【００８７】
代替的に、鍵証明は双一次マッピングに基づくものとすることができる。
【００８８】
ステップ４５０において、アサーション・メッセージ２００は、メッセージ本体２２０と、一時公開鍵トークン２５０と、アサーション証明トークン２４１及び鍵証明トークン２４２からなる証明トークン２４０と、アサーション・トークン２３０とを含むように部分的にアセンブルされる。
【００８９】
ステップ４６０において、エンベロープされたＸＭＬデジタル署名が、ステップ４５０の部分的にアセンブルされたメッセージに対するアサーション・メッセージ署名として、一時秘密鍵Ｋｓを用いて計算される。一実施形態によれば、ステップ４６０は、ステップ４５０の部分的にアセンブルされたメッセージのアサーション・メッセージ・ダイジェストをハッシュ関数Ｈによって作成するサブステップを含む。次のサブステップにおいて、アサーション・メッセージ署名（Ｓ）が、アサーション・メッセージ・ダイジェストから一時秘密鍵Ｋｓを用いて計算される。
【００９０】
ステップ４７０において、アサーション・メッセージ署名Ｓが、アサーション・メッセージ２００のメッセージ・ヘッダ２１０に付加される。結果として、図２に示されるアサーション・メッセージ２００が得られる。
【００９１】
エンベロープ署名Ｓの代替として、アサーション・メッセージ署名は、メッセージの部分のみに署名することによって作成することができる。しかしながら、少なくともアサーション証明ｐＡは署名されなければならない。
【００９２】
次に、最終ステップ４８０において、アサーション・メッセージが検証当事者２０から依拠当事者４０に送信される。
【００９３】
図５は、本発明の例示的な実施形態によるアサーション・メッセージ２００の検証のフローチャートを示す。以下のステップは、依拠当事者４０によって実行される。
【００９４】
ステップ５００において、依拠当事者４０は、検証当事者２０からアサーション・メッセージ２００を受信する。
【００９５】
ステップ５１０において、アサーションＡ、アサーション証明ｐＡ及び鍵証明ｐＫ、一時公開鍵Ｋ、並びにアサーション・メッセージ署名Ｓがアサーション・メッセージ２００から抽出される。
【００９６】
ステップ５２０において、一時公開鍵Ｋが検証可能なランダム関数によって検証される。検証可能なランダム関数は、依拠当事者４０のサーバ８０のプライベート証明書システムのプラグイン１００において使用可能である。
【００９７】
ステップ５２０の第１のサブステップにおいて、中間値ｍが暗号ハッシュ関数Ｈを用いてＡ‖ｐＡ‖コンテキストのハッシュとして計算される。
【００９８】
ステップ５２０の第２のサブステップにおいて、一時公開鍵Ｋの鍵の正当性を証明するゼロ知識証明ｐＫが検証される。
一時公開鍵の検証は、以下のサブステップを含む。
ａ１．）ｕ１：＝ｙ＾｛−ｃ｝ｇ＾｛ｓ１｝を計算する。
ａ２．）ｕ２：＝Ｋ＾｛−ｃ｝ｇ＾｛ｒ２｝を計算する。
ａ３．）ｕ３：＝ｇ＾｛−ｃ｝ｙ＾｛ｓ２｝ｇ＾｛ｍｓ２｝を計算する。
ａ４．）ｃ’：＝Ｈ（ｕ１，ｕ２，ｕ３，ｙ，Ｋ，ｇ，ｐ，ｑ）を計算する。
ａ５．）ｃとｃ’を比較し、ｃ＝ｃ’の場合に限り、鍵証明ｐＫを検証する。
【００９９】
ステップ５３０において、アサーション証明ｐＡが、検証当事者２０のプライベート証明書のサブセット、アサーションＡ、プライベート証明書の発行者即ち識別情報プロバイダ３０の公開鍵、及びさらに別の公開パラメータ、を入力として使用することによって検証される。
【０１００】
ステップ５４０において、アサーション・メッセージ署名Ｓが一時公開鍵Ｋによって検証される。
【０１０１】
ステップ５２０、ステップ５３０及びステップ５４０において実行された全てのチェックの結果が肯定的である場合に、アサーション・メッセージ２００は妥当であると見なされ、アサーション・メッセージ２００の検証がステップ５５０において発行される。ステップ５２０、ステップ５３０及びステップ５４０において実行されたチェックのうちの一つの結果が否定的である場合には、アサーション・メッセージ２００は妥当ではないと見なされ、検証プロセスはステップ５６０において中止される。
【０１０２】
図６は、ＷＳセキュリティ標準によって実施されるアサーション・メッセージのメッセージ・ヘッダ６００の一実施例を示す。この実施例は、ウェブ・サービス・メッセージのＷＳセキュリティ・ヘッダのスケルトンである。この実施例においては、名前空間ｗｓｓｅはＷＳセキュリティのものであり、ｃｒｅｄは拡張子に関する名前空間であることに留意されたい。
【０１０３】
メッセージ・ヘッダ６００は、アサーション証明及び鍵証明を含む証明セクション６１０と、アサーションを含むアサーション・セクション６２０と、一時公開鍵を含む一時公開鍵セクション６３０と、エンベロープ署名を含むエンベロープ署名セクション６４０とを含む。
【０１０４】
任意の開示された実施形態を、示され及び／又は説明された他の実施形態の１つ又は幾つかと組み合せることができる。これは、実施形態の１つ又は複数の特徴に対しても可能である。
【０１０５】
付加的な実施形態の詳細
説明された技術は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア及び／又はこれらの任意の組み合せを含む、方法、装置、又は製造物品として実施することができる。本明細書で用いられる「製造物品」という用語は、媒体内に実現されるコード又は論理を指し、その媒体は、ハードウェア論理［例えば、集積回路チップ、プログラマブル・ゲート・アレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等］、又は磁気記憶媒体（例えば、ハードディスク・ドライブ、フロッピーディスク、テープ等）、光学記憶装置（ＣＤ−ＲＯＭ、光ディスク等）、揮発性及び不揮発性メモリ・デバイス［例えば、電気的消去可能プログラム可能読取り専用メモリ（ＥＥＰＲＯＭ）、読取り専用メモリ（ＲＯＭ）、プログラム可能読取り専用メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、フラッシュ、ファームウェア、プログラマブル論理等］のような、コンピュータ可読媒体を含むことができる。コンピュータ可読媒体内のコードは、プロセッサによってアクセスされ、実行される。コード又は論理がエンコードされる媒体はまた、空間又は伝送媒体、例えば光ファイバ、銅線等を通して伝播する伝送信号を含むことができる。コード又は論理がエンコードされる伝送信号は、無線信号、衛星伝送、電波、赤外線信号、ブルートゥース等をさらに含むことができる。コード又は論理がエンコードされる伝送信号は、伝送ステーションによって伝送し、受信ステーションによって受信することができ、伝送信号内にエンコードされたコード又は論理は、受信及び伝送ステーション又はデバイスにおけるハードウェア又はコンピュータ可読媒体内でデコードしストアすることができる。さらに、「製造物品」は、コードが具体化され、処理され、実行されるハードウェア及びソフトウェア・コンポーネントの組合せを含むことができる。勿論、当業者であれば、実施形態の範囲から逸脱することなく多くの修正を加えることができること、及び、製造物品は任意の情報伝達媒体を含むことができることを認識するであろう。例えば、製造物品は、機械によって実行されるとき、実行される動作を生じる命令を内部にストアする記憶媒体を含む。
【０１０６】
特定の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態において本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されないソフトウェアにおいて実施される。
【０１０７】
さらに、特定の実施形態は、コンピュータ又は任意の命令実行システムによって又はそれと関連させて用いるためのプログラム・コードを与える、コンピュータ使用可能又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形態をとることができる。この説明のために、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置、又はデバイスによって又はそれと関連させて用いるためのプログラムを含む、ストアする、伝達する、伝播する、又は転送することができる任意の装置とすることができる。この媒体は、電子的、磁気的、光学的、電磁的、赤外線、又は半導体システム（又は装置若しくはデバイス）或いは伝播媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、リジッド磁気ディスク及び光ディスクが含まれる。最新の光ディスクの例には、コンパクト・ディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読み書き（ＣＤ−Ｒ／Ｗ）及びＤＶＤが含まれる。
【０１０８】
「特定の実施形態」、「一実施形態」、「実施形態」、「複数の実施形態」、「この実施形態」、「これらの実施形態」、「１つ又は複数の実施形態」、「幾つかの実施形態」及び「１つの実施形態」という用語は、特に別に明記されない限り、１つ又は複数の（しかし全てではない）実施形態を意味する。「含む」、「備える」、「有する」という用語及びこれらの変形は、特に別に明記されない限り、「含むが、これらに限定されない」を意味する。項目の列挙リストは、特に別に明記されない限り、項目のいずれか又は全てが相互排他的であることを意味しない。不定冠詞（ａ、ａｎ）及び定冠詞（ｔｈｅ）は、特に別に明記されない限り、「１つ又は複数の」を意味する。
【０１０９】
相互に通信しているデバイスは、特に別に明記されない限り、相互に連続的に通信している必要はない。さらに、相互に通信しているデバイスは、直接的に或いは１つ又は複数の中継を介して間接的に通信することができる。さらに、相互に通信している幾つかのコンポーネントを有する実施形態の説明は、全てのそれらコンポーネントが必要であることを意味しない。そうではなく、種々様々な可能な実施形態を示すために様々の随意的なコンポーネントが記述されている。
【０１１０】
さらに、プロセス・ステップ、方法ステップ、アルゴリズム等は逐次的順序で説明することができるが、このようなプロセス、方法及びアルゴリズムは、代替的な順序で機能するように構成することができる。言い換えれば、記述できるステップの任意の順番又は順序は、必ずしもこれらのステップをその順序で実行する必要性を示すわけではない。本明細書において説明されるプロセスのステップは、任意の実際的な順序で実行することができる。さらに、幾つかのステップは、同時に、並列的に、又は共に実行することができる。
【０１１１】
単一のデバイス又は物品が本明細書で説明されるとき、単一のデバイス／物品の代わりに、１つより多くのデバイス／物品（それらが協働してもしなくとも）を用いることができることが明らかであろう。同様に、１つより多くのデバイス又は物品が本明細書において説明される場合は（それらが協働してもしなくとも）、１つより多くのデバイス又は物品の代わりに、単一のデバイス／物品を用いることができることは明らかであろう。デバイスの機能性及び／又は特徴は、このような機能性／特徴を有するとは明記されていない１つ又は複数の他のデバイスによって代替的に具体化することができる。従って、他の実施形態はデバイス自体を含む必要がない。
【０１１２】
本発明の文脈におけるコンピュータ・プログラム手段又はコンピュータ・プログラムは、情報処理能力を有するシステムに特定の機能を直接に実行させる、或いは、ａ）別の言語、コード又は表記への変換、ｂ）異なる有形の形態における複製、のいずれか又は両方の後に実行させるように意図された一組の命令の、任意の言語、コード、又は表記における任意の表現を意味する。
【図面の簡単な説明】
【０１１３】
【図１】本発明の一実施形態によるシステムの略図を示す。
【図２】本発明による一実施形態のメッセージ・フローの略図を示す。
【図３】本発明の一実施形態によるアサーション・メッセージの略図を示す。
【図４】本発明の一実施形態によるアサーション・メッセージの作成のフローチャートを示す。
【図５】本発明の一実施形態によるアサーション・メッセージの検証のフローチャートを示す。
【図６】本発明の一実施形態による、ＷＳセキュリティ標準の形式におけるアサーション・メッセージ・トークンの略図を示す。
【符号の説明】
【０１１４】
１０：システム
２０：検証当事者
３０：識別情報プロバイダ
４０：依拠当事者
５０：クライアント・アプリケーション
６０、７０、８０：サーバ
９０：通信ライン
１００：プライベート証明書システムのプラグイン
１１０：プライベート証明書
１２０：認証アサーション
２００：アサーション・メッセージ
２１０：メッセージ・ヘッダ
２２０：メッセージ本体
２３０：アサーション・トークン
２４０：証明トークン
２４１：アサーション証明トークン
２４２：鍵証明トークン
２５０：一時公開鍵トークン
２６０：エンベロープ署名トークン
２７０、２８０、２９０：参照
【図１】
2009538082.tif 000003
【図２】
2009538082.tif 000004
【図３】
2009538082.tif 000005
【図４】
2009538082.tif 000006
【図５】
2009538082.tif 000007
【図６】
2009538082.tif 000008
【国際調査報告】
2009538082.tif 000009
2009538082.tif 000010
2009538082.tif 000011