(57)【特許請求の範囲】
【請求項１】
署名入りメッセージの署名を検証する方法であって、
受信先が送信元からの前記署名入りメッセージを受信するステップであって、前記署名入りメッセージは１つのコンパクト型属性を含み、前記コンパクト型属性は複数のコンテンツ・タイプを含み、前記複数のコンテンツ・タイプは、前記コンパクト型属性内で所定の順序で出現し、前記コンパクト型属性は当該コンパクト型属性に関連付けられたオブジェクト識別子によって識別され、前記コンパクト型属性は処理フラグおよびセキュリティ・アサーションを含み、前記処理フラグは前記セキュリティ・アサーションを処理するためのルールを含み、前記セキュリティ・アサーションは、前記送信元および前記受信先の両方によって信頼される機関によって作成される、前記受信するステップと、
前記受信するステップからの前記署名入りメッセージを構文解析することによって、前記処理フラグおよび前記セキュリティ・アサーションを含む前記コンパクト型属性内の前記複数のコンテンツ・タイプを読み出すステップであって、前記コンパクト型属性内の前記複数のコンテンツ・タイプの前記所定の順序を利用することを含む前記読み出すステップと、
前記処理フラグおよび前記セキュリティ・アサーションに基づいて、前記署名入りメッセージの前記署名が正当であること検証するステップであって、前記ルールを使用して、前記セキュリティ・アサーションに署名するのに使われた鍵が、前記セキュリティ・アサーションに署名するのに使われた前記鍵を検査することの結果として、前記送信元および前記受信先の両方によって信頼される前記機関を識別するか、又は識別しないかのいずれかを判定することを含む前記検証するステップと
を含む、前記方法。
【請求項２】
前記正当性確認を行うステップは、
前記鍵が前記信頼される前記機関を識別すると判定した上で、前記セキュリティ・アサーションの署名が正当であることを確認するステップと、
前記署名を正当として前記確認した上で、前記署名入りメッセージの前記署名が正当であると判定するステップと、
前記署名入りメッセージの前記署名を正当として是認するステップと
を含む、請求項１に記載の方法。
【請求項３】
前記正当性確認を行うステップは、
前記鍵が前記信頼される前記機関を識別しないと判定した上で、前記署名入りメッセージの前記署名を失当として否認するステップ
を含む、請求項１に記載の方法。
【請求項４】
前記正当性確認を行うステップは、
前記鍵が前記信頼される前記機関を識別すると判定した後で、前記セキュリティ・アサーションの署名が失当と判定するステップと、
前記署名入りメッセージの前記署名を失当として否認するステップと
を含む、請求項１に記載の方法。
【請求項５】
前記正当性確認を行うステップは、
前記鍵が前記信頼される前記機関を識別すると判定した上で、前記セキュリティ・アサーションの署名が正当であることを確認するステップと、
前記セキュリティ・アサーションの署名を正当として前記確認した上で、前記署名入りメッセージの前記署名が失当と判定するステップと、
前記署名入りメッセージの前記署名を失当として否認するステップと
を含む、請求項１に記載の方法。
【請求項６】
署名入りメッセージの署名を検証する為のコンピュータ・プログラムであって、コンピュータに、請求項１〜５のいずれか一項に記載の方法の各ステップを実行させる、コンピュータ・プログラム。
【請求項７】
プロセッサと、前記プロセッサに連結されたメモリと、前記プロセッサに連結されたコンピュータ可読ストレージ・デバイスとを含むコンピュータ・システムであって、前記ストレージ・デバイスは、前記メモリを介し前記プロセッサに実行されて、署名入りメッセージの署名を検証する為に請求項１〜５のいずれか一項に記載の方法を遂行するよう構成されたプログラム・コードを包含する、前記コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号で保護されたメッセージのためのコンパクト型属性に関する。
【背景技術】
【０００２】
在来の暗号で保護されたメッセージの構文は、各コンテンツ・タイプおよびフォーマットに対し別々の属性を用いており、これが複雑な属性表現とメッセージ中の属性の非効率的処理とをもたらしている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
在来の暗号メッセージ構文を用いる暗号化メッセージに対する在来式の属性では、属性の各々のコンテンツ・タイプがそれぞれのオブジェクト識別子を必要とする。このため、ある暗号化メッセージに、２つの拡張マークアップ言語（ＸＭＬ：ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）コンテンツ・タイプを含める必要がある場合、その暗号化メッセージは２つの別々の属性を必要とする。暗号化メッセージの各属性は、一意的なオブジェクト識別子を持つ独特なオブジェクトとして定義され、別個の属性ラッパー・ペア内に表現されており、多くの在来式属性を表現するための重複したマークアップをもたらす。例えば、暗号化メッセージが、セキュリティ・アサーション・マークアップ言語（ＳＡＭＬ：Ｓｅｃｕｒｉｔｙ  Ａｓｓｅｒｔｉｏｎ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）フォーマットのセキュリティ・コンテンツ・タイプと、ＸＭＬ鍵管理サービス（ＸＫＭＳ：ＸＭＬ  Ｋｅｙ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅｓ）プロトコルによって定義された鍵管理コンテンツ・タイプとを含む場合、その暗号化メッセージは、例えば、ＳＡＭＬコンテンツに対する第一オブジェクト識別子「１．３．１３３．１６．８４０．９．７３．１．０．１」、およびＸＫＭＳコンテンツに対する第二オブジェクト識別子「１．３．１３３．１６．８４０．９．７３．１．０．２」など、各コンテンツ・タイプに対し２つのオブジェクト識別子を持つ必要がある。
【課題を解決するための手段】
【０００４】
本発明の一つの実施形態によれば、署名入りメッセージの署名を検証する方法は、受信先が送信元から署名入りメッセージを受信するステップであって、該署名入りメッセージは、所定の順序で出現するコンポーネント群を含むコンパクト型属性を含み、これらコンポーネント群はコンパクト型属性に関連付けられたオブジェクト識別子によって識別され、該コンポーネント群は処理フラグおよびセキュリティ・アサーションを含み、処理フラグはセキュリティ・アサーションを処理するためのルールを含み、セキュリティ・アサーションは、送信元および受信先の両方が信頼する機関によって作成される、該受信するステップと、前記受信するステップからの署名入りメッセージを構文解析することによって、処理フラグおよびセキュリティ・アサーションを含むコンパクト型属性のコンポーネント群を読み出すステップと、処理フラグおよびセキュリティ・アサーションに基づいて、署名入りメッセージの署名の正当性確認を行うステップと、を含む。
【０００５】
本発明の一つの実施形態によれば、コンピュータ・プログラム製品は、コンピュータ可読プログラム・コードを具体化するコンピュータ可読メモリ・ユニットを含む。本コンピュータ可読プログラム・コードは、コンピュータ・システムのプロセッサによって実行されたとき、コンパクト型属性を有する署名入りメッセージの署名を検証する方法を遂行する命令を包含する。
【０００６】
本発明の一つの実施形態によれば、コンピュータ・システムは、プロセッサと、プロセッサに連結されたメモリと、プロセッサに連結されたコンピュータ可読ストレージ・デバイスとを含み、前記ストレージ・デバイスは、メモリを介しプロセッサに実行されて、コンパクト型属性を有する署名入りメッセージの署名を検証する方法を遂行するよう構成されたプログラム・コードを包含する。
【０００７】
本発明の一つの実施形態によれば、コンピュータ・インフラストラクチャをサポートするためのプロセスが提供され、前記プロセスは、コンピュータ・システムにおいて、コンピュータ可読コードの生成、統合、ホスティング、維持、および展開のうちの少なくとも一つに対する、少なくとも一つのサポート・サービスを提供することを含み、上記コードは、コンピューティング・システムと相まって、コンパクト型属性を有する署名入りメッセージの署名を検証する方法を遂行する能力を有する。
【図面の簡単な説明】
【０００８】
【図１】本発明の諸実施形態による、コンパクト型属性を有する、暗号で保護されたメッセージを用いる安全な通信のためのシステムを示す。
【図２】本発明の諸実施形態による、図１の暗号で保護されたメッセージの署名を検証する方法を表すフローチャートであり、この検証は図１の受信先によって行われる。
【図３】本発明の諸実施形態による、署名入りメッセージのコンパクト型属性中の処理ルールに従って図２のステップ１４０で遂行される、図１の署名入りメッセージの署名を検証する方法を表すフローチャートである。
【図４】本発明の諸実施形態による、暗号メッセージ構文（ＣＭＳ：Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｍｅｓｓａｇｅ  Ｓｙｎｔａｘ）メッセージ中で使われた、ＡＳＮ．１（Ａｂｓｔｒａｃｔ  Ｓｙｎｔａｘ  Ｎｏｔａｔｉｏｎ  Ｏｎｅ）フォーマットによる、署名入りメッセージに対するコンパクト型属性の定義の一例である。
【図５】本発明の諸実施形態による、暗号メッセージ構文（ＣＭＳ）メッセージ中で使われた、ＡＳＮ．１フォーマットによる、署名入りメッセージのコンパクト型属性としてのＸＭＬ属性の定義の一例である。
【図６】本発明の諸実施形態による、暗号メッセージ構文（ＣＭＳ）メッセージ中で使われた、ＡＳＮ．１フォーマットによる、署名入りメッセージのコンパクト型属性としてのＸＭＬ属性の定義の一例である。
【図７】本発明の諸実施形態による、コンパクト型属性を有する署名入りメッセージを用いる、安全な通信のために使われるコンピュータ・システムを示す。
【発明を実施するための形態】
【０００９】
図１は、本発明の諸実施形態による、コンパクト型属性２３を有する署名入りメッセージ２１を用いる安全な通信のためのシステム１０を示す。
【００１０】
システム１０は、送信元１１、受信先４１、および送信元１１と受信先４１とをつなぐデジタル通信ネットワーク１３を含む。送信元１１および受信先４１は、それぞれの汎用コンピュータ・システムを実行している。このコンピュータ・システムの詳細については後記の図７の説明に示す。
【００１１】
送信元１１は、所定の構文スキーマによって、署名入りメッセージ２１内の署名２２を使って暗号で保護された署名入りメッセージ２１を作成する。署名入りメッセージ２１の作成において、送信元１１は、送信元１１が署名入りメッセージ２１の署名２２を生成するのに使った鍵の正当性、および署名２２の信用性を保証するために、信頼できる機関にセキュリティ・アサーション３２の発行を要請する。セキュリティ・アサーション３２は、該セキュリティ・アサーションの発行後所定の期間で無効になるので、送信元１１は署名入りメッセージ２１にタイムスタンプを付す。送信元は、ＳＡＭＬ機関のセキュリティ・アサーション３２を、署名された属性コンテンツ・タイプとして、コンパクト型属性２３の中に挿入する。しかる後、送信元１１は、署名入りメッセージ２１を、デジタル通信ネットワーク１３を介して受信先４１に送信する。本明細書において、用語「セキュリティ・アサーション・マークアップ言語（ＳＡＭＬ）機関」と、「認証機関（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ）」と、「信頼できる第三者機関（ＴＴＰ：Ｔｒｕｓｔｅｄ  Ｔｈｉｒｄ  Ｐａｒｔｙ）」とは、送信元１１および受信先４１の双方に信頼されるエンティティを示す用語として置き換え可能に使われる。
【００１２】
受信先４１は、ＳＡＭＬ機関によって作成されたセキュリティ・アサーション３２を使って、送信元１１からの署名入りメッセージ２１の署名２２を検証する、署名検証プロセス４２を含む。受信先４１は、デジタル通信ネットワーク１３を介して署名入りメッセージ２１を受信し、署名検証プロセス４２を使って、受信した署名入りメッセージ２１を構文解析する。在来式のＸ．５０９証明書パス正当性確認法と対照的に、セキュリティ・アサーション３２の検証は、署名入りメッセージ２１のより簡素なフォーマット、および署名入りメッセージ２１のコンパクト型属性２３中に出現するコンテンツ・タイプの順序の固定化によって、効率的で迅速である。署名検証プロセス４２によって遂行されるステップについては、後記の図２および図３の説明に示す。
【００１３】
署名入りメッセージ２１は、署名２２およびコンパクト型属性２３を含む。コンパクト型属性２３は、処理フラグ３１およびセキュリティ・アサーション３２のコンテンツ・タイプを含む。署名入りメッセージ２１は、証明書のセット群、および失効／期限切れ証明書をリストする証明書失効リスト（ＣＲＬ：Ｃｅｒｔｉｆｉｃａｔｅ  Ｒｅｖｏｃａｔｉｏｎ  Ｌｉｓｔ）群をさらに含む。
【００１４】
コンパクト型属性２３は、一つ以上のコンテンツ・タイプ・コンポーネント群のそれぞれの値を担持するオブジェクトである。本発明の一つの実施形態において、各コンテンツ・タイプ・コンポーネントは、拡張マークアップ言語（ＸＭＬ）属性型である。コンパクト型属性２３は、オブジェクト識別子（ＯＩＤ：ｏｂｊｅｃｔ  ｉｄｅｎｔｉｆｉｅｒ）によって識別され、属性ラッパー・ペアを使って表現される。しかして、コンパクト型属性２３は、送信元１１が、在来式の暗号メッセージ属性を使って作成されたメッセージよりも短縮されたメッセージを作成することを可能にする。
【００１５】
コンパクト型属性２３内で、各コンテンツ・タイプ・コンポーネントは所定の順序で出現する。しかして、送信元１１は、重複した値を、何ら順序をもたない在来式の属性を使った場合よりも容易に排除することができ、受信先４１は、メッセージのサイズが低減され、コンパクト型属性２３内のコンテンツ・タイプ・コンポーネント群の順序が固定化されることによって、署名入りメッセージ２１のコンパクト型属性２３をずっと効率的に構文解析することができる。コンテンツ・タイプ・コンポーネント群の順序の固定化は、受信先４１が、コンパクト型属性２３中のコンテンツ・タイプ・コンポーネント群の出現の順序を検査することによって、ある特定のコンテンツ・タイプ・コンポーネントがコンパクト型属性２３の線形時間中に存在するかどうかを判定することをさらに可能にする。対照的に、在来式の属性では、どのコンテンツ・タイプ・コンポーネントも決まった順序なくして出現するので、在来式の署名入りメッセージの受信先は、ある属性に対する全ての値を調べて、特定のコンテンツ・タイプ・コンポーネントがその在来式の署名入りメッセージ中に存在するかどうかを判定しなければならない。
【００１６】
コンパクト型属性２３の処理フラグ３１コンテンツ・タイプ・コンポーネントは、署名入りメッセージ２１の署名２２の正当性および信用性を判定するため、在来式の認証メカニズムに換えてコンパクト型属性２３中に含まれるセキュリティ・アサーション３２が使われることを示す、署名入りメッセージ２１の受信先４１に対する情報を含む。在来式の認証メカニズムの例には、なかんずく、国際電気通信連合（ＩＴＵ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）の電気通信標準化部門（ＩＴＵ−Ｔ）による、公開鍵暗号インフラストラクチャ（ＰＫＩ：ｐｕｂｌｉｃ  ｋｅｙ  ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）のためのＸ．５０９証明書パス正当性確認規格などを挙げることができよう。
【００１７】
本発明の一つの実施形態において、署名入りメッセージ２１は、コンパクト型属性２３を使うことによって、暗号メッセージ構文（ＣＭＳ）メッセージの圧縮バイナリおよびＸＭＬ両方のフォーマット表現に対応する。署名入りメッセージ２１は、ＡＮＳＩ  Ｘ９．７３−２０１０で公表された米国規格協会（ＡＮＳＩ：Ａｍｅｒｉｃａｎ  Ｎａｔｉｏｎａｌ  Ｓｔａｎｄａｒｄｓ  Ｉｎｓｔｉｔｕｔｅ）による、ＡＳＮ．１フォーマットの暗号メッセージ構文（ＣＭＳ）に基づく、ＳｉｇｎｅｄＤａｔａフォーマットである。同じ実施形態において、セキュリティ・アサーション３２は、セキュリティ・アサーション・マークアップ言語（ＳＡＭＬ）フォーマットである。
【００１８】
在来の暗号メッセージ構文を用いる暗号化メッセージに対する在来式の属性では、属性の各々のコンテンツ・タイプがそれぞれのオブジェクト識別子を必要とする。このため、ある暗号化メッセージに、２つの拡張マークアップ言語（ＸＭＬ）のコンテンツ・タイプを含める必要がある場合、その暗号化メッセージは２つの別々の属性を必要とする。暗号化メッセージの各属性は、一意的なオブジェクト識別子を持つ独特なオブジェクトとして定義され、別個の属性ラッパー・ペア内に表現されており、多くの在来式属性を表現するための重複したマークアップをもたらす。例えば、暗号化メッセージが、セキュリティ・アサーション・マークアップ言語（ＳＡＭＬ）フォーマットのセキュリティ・コンテンツ・タイプと、ＸＭＬ鍵管理サービス（ＸＫＭＳ）プロトコルによって定義された鍵管理コンテンツ・タイプとを含む場合、その暗号化メッセージは、例えば、ＳＡＭＬコンテンツに対する第一オブジェクト識別子「１．３．１３３．１６．８４０．９．７３．１．０．１」、およびＸＫＭＳコンテンツに対する第二オブジェクト識別子「１．３．１３３．１６．８４０．９．７３．１．０．２」など、各コンテンツ・タイプに対し２つのオブジェクト識別子を持つ必要がある。
【００１９】
暗号で保護されたメッセージに対する在来式の構文の例には、なかんずく、圧縮バイナリ・メッセージに対する米国規格協会（ＡＮＳＩ）のＸ９．７３暗号メッセージ構文（ＣＭＳ）、ＡＮＳＩ  Ｘ９．９６拡張マークアップ言語（ＸＭＬ）ＣＭＳ、ＸＭＬコンテンツ属性を包含するＡＮＳＩ  Ｘ９．７３−２０１０などを挙げることができよう。在来式の暗号メッセージ構文は、ＡＳＮ．１スキーマで代表され、これは、データを表現し、符号化し、送信し、復号するためのデータ構造を記述する、標準的でフレキシブルな表記法でもある。
【００２０】
暗号で保護されたメッセージのユーザは、セキュリティ・ソフトウェア製品でよく使用されるＸＭＬコンテンツのさまざまな識別されたタイプを扱う必要がある。これらセキュリティ・ソフトウェア製品の例には、なかんずく、ＩＢＭ（ＩＢＭ社の登録商標）のＴｉｖｏｌｉ（ＩＢＭ社の登録商標）などを挙げることができよう。（ＩＢＭおよびＴｉｖｏｌｉは、米国および他の国におけるインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。）ＸＭＬコンテンツ・タイプの例には、なかんずく、ウェブ・サービス記述言語（ＷＳＤＬ：Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）、ウェブ・サービス・ポリシ・フレームワーク（ＷＳ−Ｐｏｌｉｃｙ：Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｐｏｌｉｃｙ  Ｆｒａｍｅｗｏｒｋ）、ウェブ・サービス・セキュリティ・ポリシ（ＷＳ−Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ：Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｓｅｃｕｒｉｔｙ  Ｐｏｌｉｃｙ）、ＯＡＳＩＳ（Ｒ）の拡張アクセス制御マークアップ言語（ＸＡＣＭＬ：ｅＸｔｅｎｓｉｂｌｅ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＯＡＳＩＳ（Ｒ）のサービス・プロビジョニング・マークアップ言語（ＳＰＭＬ：Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ウェブ・サービス連合言語／仕様（ＷＳ−Ｆｅｄｅｒａｔｉｏｎ：Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｆｅｄｅｒａｔｉｏｎ  Ｌａｎｇｕａｇｅ／Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、ＩＢＭ（ＩＢＭ社の登録商標）のウェブ・サービス・セキュリティ・ケルベロス（ＷＳ−Ｋｅｒｂｅｒｏｓ：Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｓｅｃｕｒｉｔｙ  Ｋｅｒｂｅｒｏｓ）、ウェブ・サービス・プライバシ・ポリシ（ＷＳ−Ｐｒｉｖａｃｙ：Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｐｒｉｖａｃｙ  Ｐｏｌｉｃｙ）などを挙げることができよう。（ＯＡＳＩＳは、米国および他の国におけるＯＡＳＩＳ組織の登録商標である。）
【００２１】
暗号メッセージ構文（ＣＭＳ）中の在来式の属性を使って、署名入りメッセージ中に全ての必要なＸＭＬコンテンツ・タイプを取り入れると、その署名入りメッセージは著しく長くなり、それぞれのＸＭＬコンテンツ・タイプの出現の数と順序の制限条件の欠如に起因して、該署名入りメッセージの構文解析が複雑になる。コンパクト型属性２３におけるＸＭＬコンテンツ・タイプの表現の例を、図４、図５および図６に示す。
【００２２】
図２は、本発明の諸実施形態による、上記図１の暗号で保護されたメッセージの署名を検証する方法を表すフローチャートであり、この検証は上記図１の受信先によって行われる。
【００２３】
本発明の一つの実施形態において、暗号で保護された通信に対するデジタル署名スキームが実施される。送信元は、送信するメッセージの作成において、ある鍵生成方法を用いて解読のための秘密鍵と対応する公開鍵とを選択する。続いて、送信元は署名を使ってそのメッセージに署名する。次いで、送信元はその署名入りメッセージを受信先に送信する。本明細書では、送信元が行う鍵生成および署名プロセスは説明しない。というのは、本コンパクト型属性は、送信元の鍵生成および署名プロセスに影響を与えないからである。受信先の署名検証プロセスは、下記のステップ１１０から１５０までを遂行することによって、署名入りメッセージを受信しその署名を検証する。
【００２４】
ステップ１１０で、署名検証プロセスは、送信元からの署名入りメッセージを受信する。次いで、署名検証プロセスはステップ１２０に進む。
【００２５】
ステップ１２０で、署名検証プロセスは、上記ステップ１１０で受信した署名入りメッセージを構文解析し、署名入りメッセージ内のコンパクト型属性を読み出す（recover）。次いで署名検証プロセスはステップ１３０に進む。
【００２６】
ステップ１３０で、署名検証プロセスは、上記ステップ１２０で読み出されたコンパクト型属性を構文解析し、コンパクト型属性の中に組み込まれた処理フラグおよび署名されたセキュリティ・アサーションを読み出す(recover)。次いで署名検証プロセスはステップ１４０に進む。
【００２７】
ステップ１４０で、署名検証プロセスは、コンパクト型属性の署名されたセキュリティ・アサーション中に示された処理ルールに従って、署名入りメッセージの署名の正当性確認を行う。セキュリティ・アサーションの処理ルールによって遂行される諸ステップについては後記の図３の説明に示す。次いで、署名検証プロセスはステップ１５０に進む。
【００２８】
ステップ１５０で、署名検証プロセスは、上記ステップ１４０の結果に基づいて、署名入りメッセージの署名を是認もしくは否認する。その後、署名検証プロセスは終了する。受信先は、メッセージの信ぴょう性に関し上記署名検証プロセスによって得られた結果を受信先のユーザに報告する。
【００２９】
図３は、本発明の諸実施形態による、署名入りメッセージのコンパクト型属性中の処理ルールに従って上記図２のステップ１４０で遂行される、上記図１の署名入りメッセージの署名を検証する方法を表すフローチャートである。
【００３０】
ステップ２１０で、処理ルール・モジュールは、署名されたセキュリティ・アサーションの署名を生成する際に使われ、セキュリティ・アサーションを作成したエンティティを識別する鍵を検査する。次いで、処理ルール・モジュールはステップ２２０に進む。
【００３１】
ステップ２２０で、処理ルール・モジュールは、セキュリティ・アサーションに署名したエンティティが信頼できる機関かどうかを判定する。送信元および受信先の両方は、該信頼できる機関によって署名されたデータを信用する。処理ルール・モジュールが、署名されたセキュリティ・アサーションの署名に対する鍵は該信頼できる機関を示していると判定すれば、処理ルール・モジュールは次いでステップ２３０に進む。処理ルール・モジュールが、署名されたセキュリティ・アサーションの署名に対する鍵は信頼できる機関を示していないと判定した場合は、処理ルール・モジュールは次いでステップ３００に進む。
【００３２】
ステップ２３０で、処理ルール・モジュールは、署名されたセキュリティ・アサーションの署名の正当性確認を行う。次いで、処理ルール・モジュールはステップ２４０に進む。
【００３３】
ステップ２４０で、処理ルール・モジュールは、上記ステップ２３０で検査された、署名されたセキュリティ・アサーションの署名が正当であるかどうかを判定する。処理ルール・モジュールが、署名されたセキュリティ・アサーションの署名が正当であると判定すれば、処理ルール・モジュールは次いでステップ２５０に進む。処理ルール・モジュールが、署名されたセキュリティ・アサーションの署名が失当と判定した場合は、処理ルール・モジュールは次いでステップ３００に進む。
【００３４】
ステップ２５０で、処理ルール・モジュールは、上記図２のステップ１１０で受信された署名入りメッセージの署名の正当性確認を行う。次いで、署名検証プロセスはステップ２６０に進む。
【００３５】
ステップ２６０で、処理ルール・モジュールは、上記ステップ２５０で検査された署名入りメッセージの署名が正当であるかどうかを判定する。署名検証プロセスが、署名入りメッセージの署名が正当であると判定すれば、署名検証プロセスは次いでステップ２７０に進む。署名検証プロセスが、署名入りメッセージの署名が失当と判定した場合は、署名検証プロセスは次いでステップ３００に進む。
【００３６】
ステップ２７０で、処理ルール・モジュールは、上記図２のステップ１１０で受信した署名入りメッセージの署名を是認し、終了する。署名検証プロセスは、上記図２のステップ１５０に進む。
【００３７】
ステップ３００で、処理ルール・モジュールは、上記図２のステップ１１０で受信した署名入りメッセージの署名を否認し、終了する。署名検証プロセスは、上記図２のステップ１５０に進む。
【００３８】
図４は、本発明の諸実施形態による、暗号メッセージ構文（ＣＭＳ）メッセージ中で使われた、ＡＳＮ．１フォーマットによる、署名入りメッセージに対するコンパクト型属性の定義の一例である。
【００３９】
ラインＬ１０１からＬ１１７までは、「Ａｔｔｒｉｂｕｔｅ（属性）」ラッパー・ペア内に記述された、ある属性を表す。
【００４０】
ラインＬ１０２は属性のタイプを表し、この例では「ｔｙｐｅ（タイプ）」ラッパー・ペア内に記述された属性識別子「１．３．１３３．１６．８４０．９．７３．１．０」である。
【００４１】
ラインＬ１０３からＬ１１６までは、「ｖａｌｕｅ（値）」ラッパー・ペア内に記述された、「ＳＥＴ」コンテンツ・タイプを含む属性の値を表す。
【００４２】
ラインＬ１０４からＬ１１５までは、それぞれのラッパー・ペア内に記述された２種類のＸＭＬコンテンツ属性のペイロード「ＰｒｏｃｅｓｓｉｎｇＲｕｌｅ（処理ルール）」および「ｓａｍｌ」を表す。
【００４３】
コンパクト型属性表現のこの例は、ＡＳＮ．１のＸＭＬ符号化規則（ＸＥＲ：ＸＭＬ  Ｅｎｃｏｄｉｎｇ  Ｒｕｌｅｓ）を用いＡＳＮ．１型の値を符号化することによって得られる。図４に示されたコンパクト型属性は、Ｘ．５００ディレクトリ・サービス用のディレクトリ・アクセス・プロトコル（ＤＡＰ：Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）、またはＸ．５００ライト・ディレクトリ・サービス用のライトウェイト・ディレクトリ・アクセス・プロトコル（ＬＤＡＰ：Ｌｉｇｈｔｗｅｉｇｈｔ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）を実装しているアプリケーションでの使用に適している。
【００４４】
ラインＬ１０７からＬ１０９までは、処理ルールを規定している。ラインＬ１０８は、処理ルールの名称を定めており、これは情報オブジェクト識別子フォーマットである。ルール「１．２．３．４．５」は、署名入りメッセージの受信先に対し、なかんずく、ＸＭＬコンテンツの目的、直接のアプリケーション処理、処理対象の特定の場所中のＸＭＬコンテンツの処理／取扱いの方法などの情報を伝える。処理ルール・コンテンツ・タイプは、随意的コンポーネント「ｓｅｍａｎｔｉｃｓ（セマンティクス）」を有し、該コンポーネントは、参考情報コンテンツを提供するため使われる統一資源識別子（ＵＲＩ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）値など、署名入りメッセージの送信元によって選択された任意の種類の値を保持する。あるいは、該コンポーネントに受信先がそれに基づいて行動できる情報を包含させることもできよう。また、「ｓｅｍａｎｔｉｃｓ」コンポーネントは、署名入りメッセージの署名を立証するためにＳＡＭＬアサーションを用いるべきことを示すＳＡＭＬアサーションを保持し、これによりＣＭＳ暗号メッセージ処理が向上される。処理ルール・コンテンツ・タイプ中の「ｓｅｍａｎｔｉｃｓ」コンポーネントの一例を、添付の図５に示す。
【００４５】
図５および図６は、本発明の諸実施形態による、暗号メッセージ構文（ＣＭＳ）メッセージ中で使われたＡＳＮ．１フォーマットによる署名入りメッセージのコンパクト型属性としての、ＸＭＬ属性の定義の例である。
【００４６】
図５のラインＬ２０１からＬ２３７まで、および図６のラインＬ３０１からＬ３３３までは、コンパクト型属性を定義している。図５中の、ラインＬ２０２からＬ２０５までは、コンパクト型属性ＸＭＬ−Ａｔｔｒｉｂｕｔｅ（ＸＭＬ属性）が、随意的コンポーネントＰｒｏｃｅｓｓｉｎｇＲｕｌｅｓ（処理ルール）が最初に出現し次にＸＭＬｃｏｎｔｅｎｔｓ（ＸＭＬコンテンツ）コンポーネント群が続くシーケンスとして定義されていることを表す。ラインＬ２０６からＬ２１２までは、Ｐｒｏｃｅｓｓｉｎｇ  Ｒｕｌｅｓの定義を表す。ラインＬ２１３からＬ２３３までは、ＸＭＬｃｏｎｔｅｎｔｓのコンポーネント群が、所定の順序で出現する１７個の随意的サブコンポーネントと、ラインＬ２３３中の、ＸＭＬｃｏｎｔｅｎｔｓコンポーネントのサブコンポーネントに対するゼロ個以上の例外とのシーケンスとして定義されていることを表す。ラインＬ２３４からＬ２３７までは、コンパクト型属性ＸＭＬ−Ａｔｔｒｉｂｕｔｅの拡張機能を定義する。
【００４７】
図６中の、ラインＬ３０１からＬ３０２までは、上記図５のラインＬ２３５からＬ２３７までに定義された拡張機能中で使われるＸＭＬ型ＭＡＲＫＵＰ（ＸＭＬ型マークアップ）に対するホルダを定義する。追加されるＸＭＬコンテンツ・タイプは、該拡張機能の定義に基づいてＸＭＬ型ＭＡＲＫＵＰを使って定義することができる。ラインＬ３０４からＬ３２０までは、上記図５のＸＭＬｃｏｎｔｅｎｔｓコンポーネント群中に定義されたそれぞれのＸＭＬコンテンツ・タイプの値に対するそれぞれのルールを表す。コンパクト型属性ＸＭＬ−Ａｔｔｒｉｂｕｔｅは、ラインＬ３３０からＬ３３２  までに示される単一のオブジェクト識別子ＯＩＤとエイリアスとによって識別される。
【００４８】
図７は、本発明の諸実施形態による、コンパクト型属性を有する署名入りメッセージを用いる安全な通信のために使われる、コンピュータ・システム９０を示す。
【００４９】
コンピュータ・システム９０は、プロセッサ９１と、プロセッサ９１に連結された入力デバイス９２と、プロセッサ９１に連結された出力デバイス９３と、各々がプロセッサ９１に連結されたメモリ・デバイス９４および９５とを含む。本明細書において、コンピュータ・システム９０は、任意の種類のプログラム可能データ処理装置を表す。
【００５０】
入力デバイス９２は、入力データ９６をコンピュータ・システム９０中に受信するために用いられる。入力デバイス９２は、なかんずく、キーボード、キー・パッド、マウス、タッチ・スクリーン、スキャナ、音声認識デバイス、センサ、ネットワーク・インターフェース・カード（ＮＩＣ：ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄ）、音声／映像オーバー・インターネット・プロトコル（ＶＯＩＰ：Ｖｏｉｃｅ／ｖｉｄｅｏ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アダプタ、無線アダプタ、電話アダプタ、専用回線アダプタなどとすることができる。出力デバイス９３は、コンピュータ・プログラム・コード９７により生成された結果をコンピュータ・システム９０のユーザに伝えるために使われる。出力・デバイス９３は、なかんずく、プリンタ、プロッタ、コンピュータ・スクリーン、磁気テープ、リムーバブル・ハード・ディスク、フレキシブル・ディスク、ＮＩＣ、ＶＯＩＰアダプタ、無線アダプタ、電話アダプタ、専用回線アダプタ、音声もしくは視覚またはその両方の信号発生器、発光ダイオード（ＬＥＤ：ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ）などとすることができる。
【００５１】
本発明のコンポーネント群のいずれについても、本発明のコンパクト型属性を有する署名入りメッセージを使う、安全な通信のためのプロセスに関しコンピューティング・インフラストラクチャの展開または組み込みを提供するサービス・プロバイダによって、その展開、管理、保守サービスなどを行うことができる。前述のように、本発明は、コンピュータ可読コードを（例えば、コンピューティング・システム９０などの）コンピューティング・システムに組み込み、ホスティングし、維持し、展開することを含む、コンピュータ・インフラストラクチャをサポートするためのプロセスを開示し、上記コードは、コンピューティング・システムと相まって、コンパクト型属性を有する署名入りメッセージを用いる安全な通信のための方法を遂行する能力を有する。
【００５２】
別の実施形態において、本発明は、会費、広告、もしくは料金ベースまたはこれらの組み合わせで、本発明のプロセス・ステップを遂行する方法を提供する。すなわち、ソリューション・インテグレータなどのサービス・プロバイダは、本発明のコンパクト型属性を有する署名入りメッセージを使う、安全な通信のためのプロセスの生成、維持、サポートなどを提供することが可能である。この場合、サービス・プロバイダは、一人以上の顧客に対し、本発明のプロセス・ステップを遂行するコンピュータ・インフラストラクチャの生成、維持、サポートなどを行うことができる。サービス・プロバイダは、見返りとして、例えば予約申し込みもしくは料金契約またはその両方の下で顧客（群）から支払いを受けることができ、もしくは、サービス・プロバイダは、一人以上の第三者に対して広告コンテンツを販売することによって支払いを受けることができ、または前述の両方を行うこともできる。
【００５３】
図７では、コンピュータ・システム９０は、ハードウェアおよびソフトウェアの特定の構成で示されているが、当業者なら存知のように、図７の特定のコンピュータ・システム９０に関して前述した目的のために、ハードウェアおよびソフトウェアの任意の構成を用いることが可能である。例えば、メモリ・デバイス９４および９５は、別個のメモリ・デバイスよりもむしろ単一のメモリ・デバイスの部分とすることもできよう。
【００５４】
当業者なら周知のように、本発明の諸態様は、システム、方法、またはコンピュータ・プログラム製品として具現することができる。従って、本発明の諸態様は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態（ファームウエア、常駐ソフトウェア、マイクロコードなどを含む）、あるいは、一般に本明細書では全て「回路」、「モジュール」、または「システム」といわれることもある、ソフトウェアおよびハードウェア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の諸態様は、媒体に具体化されたコンピュータ可読プログラム・コードを有する一つ以上のコンピュータ可読媒体（群）中に具現されたコンピュータ・プログラム製品の形を取ることもできる。
【００５５】
一つ以上のコンピュータ可読媒体（群）の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読ストレージ媒体とすることができる。本明細書において、用語「メモリ・デバイス」９４、９５は、コンピュータ可読ストレージ媒体を表す。コンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的、または半導体の、システム、装置、もしくはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のさらに具体的な例（非包括的リスト）には、一つ以上の配線を有する電気接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、消去可能プログラム可能読み取り専用メモリ（ＥＰＲＯＭ（ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）またはフラッシュ・メモリ）、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、光ストレージ・デバイス、磁気ストレージ・デバイス、または前述の任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体とすることもできる。
【００５６】
コンピュータ可読信号媒体には、例えばベースバンド中にまたは搬送波の一部として具現されたコンピュータ可読のプログラム・コードを有する、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の適切な組み合わせを含め、さまざまな形態の任意の形を取ることが可能である。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではないが、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。
【００５７】
コンピュータ可読媒体中に具現されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、ＲＦなど、またはこれらの任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。
【００５８】
本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コード９７は、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および、“Ｃ”プログラミング言語または類似のプログラミング言語などの在来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合わせで記述することができる。このコンピュータ・プログラム・コード９７は、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで全体的に実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することも可能で、あるいは遠隔のコンピュータまたはサーバで全体的に実行することもできる。後者のシナリオでは、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介し）外部のコンピュータへの接続を行うこともできる。
【００５９】
本発明の実施形態による方法、装置（システム）およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら、本発明の態様を説明してきた。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、および、フローチャート図もしくはブロック図またはその両方中のブロックの組み合わせは、コンピュータ・プログラム命令によって実装可能である。本明細書において、用語「コンピュータ・プログラム命令」は用語「コンピュータ・プログラム・コード」９７と置き換え可能である。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群／動作群を実装するための手段を生成するようにすることができる。
【００６０】
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令することができるコンピュータ可読ストレージ媒体に格納し、そのコンピュータ可読ストレージ媒体に格納された命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能／動作を実装する命令群を包含する製造品を生成するようにすることができる。
【００６１】
さらに、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、これらコンピュータ上、他のプログラム可能装置上、または他のデバイス上で一連のオペレーション・ステップを実行させてコンピュータに実装されるプロセスを生成し、これらコンピュータ上または他のプログラム可能装置上で実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群／動作群を実装するためのプロセスを提供するようにすることも可能である。
【００６２】
図中のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、およびオペレーションを示している。この点に関し、フローチャートまたはブロック図中の各ブロックは、規定の論理機能（群）を遂行するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、一部の別の実装においては、ブロック中に記載された機能が、図に記載された順序を外れて行われ得ることに留意すべきである。例えば、連続して示された２つのブロックが、関与する機能によって実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロック群の組み合わせは、特定の機能または動作を実施する、専用ハードウェア・ベースのシステム、または専用ハードウェアとコンピュータ命令との組み合わせによって実装可能なことにも留意すべきである。
【００６３】
特許請求の範囲におけるミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクションの要素全ての、対応する構造、材料、動作および均等物は、具体的に請求された他の請求要素と組み合わせてその機能を遂行するための、一切の構造、材料または動作を包含することが意図されている。本発明の記述は、例示および説明の目的で提示されたもので、網羅的であることも、または開示した形態の発明をに限定することも意図されていない。当業者には、本発明の範囲および趣旨から逸脱することのない多くの修改および変形が明白であろう。本実施形態は、本発明の原理および実際的な応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えたさまざまな実施形態に関して、本発明を理解できるように選択し説明されたものである。
【図１】
0005777226.tif 000002
【図２】
0005777226.tif 000003
【図３】
0005777226.tif 000004
【図４】
0005777226.tif 000005
【図５】
0005777226.tif 000006
【図６】
0005777226.tif 000007
【図７】
0005777226.tif 000008