(57)【要約】【課題】エンドポイントアドレスおよびセキュリティ情報を有するデータ構造を提供すること。【解決手段】データ構造は、エンティティに対する１つまたは複数のエンドポイントアドレスを含むアドレスフィールドを含む。そのデータ構造はさらに、エンティティとの安全な通信を可能にするための１つまたは複数の鍵を含むセキュリティフィールドを含む。そのデータ構造によると、アドレスフィールドおよびセキュリティフィールドのコンテンツをデータ構造中でシリアル化することもできる。データ構造は、新しいアドレスフィールドおよびセキュリティフィールドを追加できるように拡張することができる。【選択図】図２
2006180478.tif 000002
【特許請求の範囲】
【請求項１】
データ構造であって、
エンティティに対する１つまたは複数のエンドポイントアドレスを含むアドレスフィールドと、
１つまたは複数のエンドポイントアドレスのうちの少なくとも１つを使用して前記エンティティと安全な通信を可能にするために１つまたは複数の鍵を含むセキュリティフィールドとを含み、
前記アドレスフィールドおよび前記セキュリティフィールドのコンテンツは、前記データ構造中でシリアル化されること、および前記データ構造は新しいアドレスフィールドおよびセキュリティフィールドを追加できるように拡張可能であることを特徴とするデータ構造。
【請求項２】
前記エンティティを識別する識別フィールドをさらに含むことを特徴とする請求項１に記載のデータ構造。
【請求項３】
前記アドレスフィールドは、アドレスおよびセキュリティ情報を含む１つまたは複数の参照を含むことを特徴とする請求項１に記載のデータ構造。
【請求項４】
前記エンドポイントアドレスは、ＭＡＣアドレス、ＵＲＬ、ＵＲＩ、電子メールアドレス、電話番号、ＩＭアドレス、および物理メールアドレスのうちの少なくとも１つを含むことを特徴とする請求項１に記載のデータ構造。
【請求項５】
前記アドレスフィールドは、前記エンティティを識別する、代表エンティティに対するアドレスを含むことを特徴とする請求項１に記載のデータ構造。
【請求項６】
前記セキュリティフィールドは、ＳＰＮ、ＵＰＮ、Ｘ．５０９の拇印、セキュリティトークン、発行者およびシリアル番号、公開鍵、埋め込まれた証明書、検査可能なＤＮＳ要求のうちの少なくとも１つを含むことを特徴とする請求項１に記載のデータ構造。
【請求項７】
前記セキュリティフィールドは、指紋、虹彩走査、音声認識、およびＤＮＡ認識を表すデータのうちの少なくとも１つを含む生体認証データを含むことを特徴とする請求項１に記載のデータ構造。
【請求項８】
前記データ構造は、ＸＭＬブロック中でシリアル化されることを特徴とする請求項１に記載のデータ構造。
【請求項９】
前記セキュリティフィールドは、セキュリティルールを含むことを特徴とする請求項１に記載のデータ構造。
【請求項１０】
前記セキュリティルールは、セキュリティ情報の論理結合を含むことを特徴とする請求項９に記載のデータ構造。
【請求項１１】
前記セキュリティルールは、ウェブサービス通信からの「Ｔｏ（宛先）」、「Ｆｒｏｍ（送信者）」、「Ｒｅｐｌｙ  Ｔｏ（返信先）」フィールドなどのアドレス指定可能なフィールドを使用することを特徴とする請求項９に記載のデータ構造。
【請求項１２】
メッセージを前記エンティティに送信するために、特定のエンドポイントアドレスをいつ使用するかを記述するポリシーをさらに含むことを特徴とする請求項１に記載のデータ構造。
【請求項１３】
前記ポリシーは、日付および／または時刻の範囲、データの機密性、データの緊急度または優先順位、データの分類、データのトピック、プロンプトを出した結果のユーザの選択、マシン登録のデフォルト、アプリケーション登録のデフォルト、ユーザ登録のデフォルト、特定用途向けロジック、カスタム登録の拡張、受信者の属性、およびエンティティの存在のうちの少なくとも１つを含めた基準を含むことを特徴とする請求項１２に記載のデータ構造。
【請求項１４】
エンティティの存在は、公開されたＩＭデータ、エンドポイントの参照、ＷＳＤＬ契約、エンドポイント契約、ネットワーク上のマシンの存在、時刻、接触しようとする試み、ピアツーピアの存在データ、特有のアプリケーションを動作させること、およびアプリケーションモードのうちの少なくとも１つによって判定されることを特徴とする請求項１３に記載のデータ構造。
【請求項１５】
前記データ構造は、埋め込まれた署名によって包まれていることを特徴とする請求項１に記載のデータ構造。
【請求項１６】
前記埋め込まれた署名は、ＸＭＬエンベロープ署名であることを特徴とする請求項１５に記載のデータ構造。
【請求項１７】
埋め込まれたセキュリティヘッダをさらに含むことを特徴とする請求項１に記載のデータ構造。
【請求項１８】
前記アドレスフィールド中の１つまたは複数のエンドポイントアドレスは、共用可能または共用不可として指定されることを特徴とする請求項１に記載のデータ構造。
【請求項１９】
データ構造であって、
エンティティを識別する識別フィールドと、
前記エンティティに対する１つまたは複数のエンドポイントアドレスを含むアドレスフィールドとを含み、
前記識別フィールドおよび前記アドレスフィールドのコンテンツは、前記データ構造中でシリアル化されること、および前記データ構造は新しい識別フィールドおよび新しいアドレスフィールドを追加できるように拡張可能であることを特徴とするデータ構造。
【請求項２０】
前記アドレスフィールドは参照を含むことを特徴とする請求項１９に記載のデータ構造。
【請求項２１】
前記エンドポイントアドレスは、ＭＡＣアドレス、ＵＲＬ、ＵＲＩ、電子メールアドレス、電話番号、ＩＭアドレス、および物理メールアドレスのうちの少なくとも１つを含むことを特徴とする請求項１９に記載のデータ構造。
【請求項２２】
前記アドレスフィールドは、前記エンティティを識別する、代表エンティティに対するアドレスを含むことを特徴とする請求項１９に記載のデータ構造。
【請求項２３】
前記データ構造は、ＸＭＬブロック中でシリアル化されることを特徴とする請求項１９に記載のデータ構造。
【請求項２４】
メッセージを前記エンティティに送信するために、特定のエンドポイントアドレスをいつ使用するかを記述するポリシーをさらに含むことを特徴とする請求項１９に記載のデータ構造。
【請求項２５】
前記ポリシーは、日付および／または時刻の範囲、データの機密性、データの緊急度または優先順位、データの分類、データのトピック、プロンプトを出した結果のユーザの選択、マシン登録のデフォルト、アプリケーション登録のデフォルト、ユーザ登録のデフォルト、特定用途向けロジック、カスタム登録の拡張、受信者の属性、およびエンティティの存在のうちの少なくとも１つを含めた基準を含むことを特徴とする請求項２４に記載のデータ構造。
【請求項２６】
エンティティの存在は、公開されたＩＭデータ、エンドポイントの参照、ＷＳＤＬ契約、エンドポイント契約、ネットワーク上のマシンの存在、時刻、接触しようとする試み、ピアツーピアの存在データ、特有のアプリケーションを動作させること、およびアプリケーションモードのうちの少なくとも１つによって判定されることを特徴とする請求項２５に記載のデータ構造。
【請求項２７】
前記データ構造は埋め込まれた署名によって包まれていることを特徴とする請求項１９に記載のデータ構造。
【請求項２８】
前記埋め込まれた署名は、ＸＭＬエンベロープ署名であることを特徴とする請求項２７に記載のデータ構造。
【請求項２９】
埋め込まれたセキュリティヘッダをさらに含むことを特徴とする請求項１９に記載のデータ構造。
【請求項３０】
前記アドレスフィールド中の１つまたは複数のエンドポイントアドレスは、共用可能または共用不可として指定されることを特徴とする請求項１９に記載のデータ構造。
【請求項３１】
前記アドレスフィールドの前記コンテンツが変更されたとき、増分することができる値を含むグローバル識別バージョンをさらに含むことを特徴とする請求項１９に記載のデータ構造。
【請求項３２】
参照データ構造を作成する方法であって、
エンティティに対する１つまたは複数のエンドポイントアドレスを含むアドレスフィールドを作成するステップと、
１つまたは複数のエンドポイントアドレスのうちの少なくとも１つを使用して前記エンティティと安全な通信を可能にするために１つまたは複数の鍵を含むセキュリティフィールドを作成するステップと、
シリアル化された拡張可能データ構造を作成するために、前記アドレスフィールドおよび前記セキュリティフィールド中のデータをシリアル化するステップと
を含むことを特徴とする方法。
【請求項３３】
前記エンティティを識別する識別フィールドを作成するステップをさらに含むことを特徴とする請求項３２に記載の方法。
【請求項３４】
少なくとも１つの追加のエンドポイントアドレスを前記アドレスフィールドに追加し、かつ／または１つの追加の鍵を前記セキュリティフィールドに追加するように、前記シリアル化されたデータ構造を他のシリアル化されたデータ構造とマージするステップをさらに含むことを特徴とする請求項３２に記載の方法。
【請求項３５】
前記アドレスフィールド中のエンドポイントアドレスと、前記他のシリアル化されたデータ構造中のエンドポイントアドレスとの間の競合を解決するステップをさらに含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
競合を解決する前記ステップは、前記競合を解決するためにユーザにプロンプトを安全に出すこと、マシン登録のデフォルトを用いること、アプリケーション登録のデフォルトを用いること、ユーザ登録のデフォルトを用いること、特定用途向けロジックを起動すること、カスタム登録の拡張を用いること、エンティティまたは所望のアクションに送信される前記データの様々な態様を考慮すること、および最近入力されたエンドポイントアドレスを選択することのうちの少なくとも１つのステップを含むことを特徴とする請求項３５に記載の方法。
【請求項３７】
請求項３２に記載の諸ステップを実施するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項３８】
参照データ構造を作成する方法であって、
エンティティを識別するデータを含む識別フィールドを作成するステップと、
前記エンティティに対する１つまたは複数のエンドポイントアドレスを含むアドレスフィールドを作成するステップと、
シリアル化された拡張可能データ構造を作成するために前記識別フィールドおよび前記アドレスフィールド中のデータをシリアル化するステップと
を含むことを特徴とする方法。
【請求項３９】
少なくとも１つの追加のエンドポイントアドレスを前記アドレスフィールドに追加するように、前記シリアル化されたデータ構造を他のシリアル化されたデータ構造とマージするステップをさらに含むことを特徴とする請求項３８に記載の方法。
【請求項４０】
前記アドレスフィールド中のエンドポイントアドレスと、前記他のシリアル化されたデータ構造中のエンドポイントアドレスとの間の競合を解決するステップをさらに含むことを特徴とする請求項３９に記載の方法。
【請求項４１】
競合を解決する前記ステップは、前記競合を解決するためにユーザに対してプロンプトを安全に出すこと、マシン登録のデフォルトを用いること、アプリケーション登録のデフォルトを用いること、ユーザ登録のデフォルトを用いること、特定用途向けロジックを起動すること、カスタム登録の拡張を用いること、エンティティまたは所望のアクションに送信される前記データの様々な態様を考慮すること、および最近入力されたエンドポイントアドレスを選択することのうちの少なくとも１つのステップを含むことを特徴とする請求項４０に記載の方法。
【請求項４２】
請求項３８に記載の諸ステップを実施するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
【請求項４３】
ネットワーク上のエンドポイント相互間で通信する方法であって、
ネットワーク上のエンティティに対するエンドポイントアドレスを取得するために、シリアル化された拡張可能データ構造にアクセスするステップと、
セキュリティキーを取得するために、前記シリアル化された拡張可能データ構造にアクセスするステップと、
前記セキュリティキーを用いてデータを暗号化するステップと、
前記ネットワーク上の前記エンティティに対する前記エンドポイントアドレスに前記データを送信するステップと
を含むことを特徴とする方法。
【請求項４４】
取得すべき前記適切なセキュリティキーを決定するために、前記シリアル化された拡張可能データ構造中のセキュリティルールにアクセスするステップをさらに含むことを特徴とする請求項４３に記載の方法。
【請求項４５】
サードパーティから前記シリアル化された拡張可能データ構造を受信するステップをさらに含むことを特徴とする請求項４３に記載の方法。
【請求項４６】
エンドポイントアドレスを取得するために前記シリアル化された拡張可能データ構造にアクセスする前記ステップは、前記エンティティに対する複数のエンドポイントアドレスから、どのエンドポイントアドレスを選択すべきかを判定するためにポリシールールにアクセスするステップを含むことを特徴とする請求項４３に記載の方法。
【請求項４７】
どのエンドポイントアドレスを選択すべきかの前記判定は、利用可能な１組のトランスポートプロトコル、日付および／または時刻の範囲、送信される前記データの機密性、前記データの緊急度または優先順位、前記データの分類、前記データのトピックのうちの少なくとも１つに基づくルールを実施することを含むことを特徴とする請求項４６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、エンドポイント相互間における通信の分野に関する。より詳細には、本発明は、エンティティに対するエンドポイントへのアドレスを識別すること、および安全な通信のためのセキュリティ情報をエンドポイントに提供することに関する。
【背景技術】
【０００２】
現在のコンピュータネットワーキングは非常にユビキタスになってきており、ほぼすべてのタイプの通信に存在するまでになっている。例えば、コンピュータネットワークは電子メールデータを送信するために使用される。コンピュータネットワークは、インターネットまたは他の広域ネットワーク、およびローカルエリアネットワークを介してアクセスできるものなど、静的および動的データの膨大なリポジトリにアクセスするために使用される。さらに、コンピュータネットワークは、現在の電話応用分野における交換局間で、音声およびファックスデータを送信するために使用される主要な媒体である。
【０００３】
ネットワーク上のデータは、あるエンドポイントから別のエンドポイントへ移動する。データは、エンドポイントへの伝送中、他のポイントを介して移動することができる。エンドポイントは、通常、アドレス指定可能であり、それは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス、ＵＲＩ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ）など特有のアドレスをエンドポイントの識別に使用できることを意味する。例示的なエンドポイントは、プロセッサ、サーバ、ウェブサービス、電子メールアドレス、資源などを含む。
【０００４】
その膨大な量の有益なデータはネットワーク上で送信されるが、悪意のあるかつ／または非倫理的な個人は、ネットワークを損なう方法を工夫することに無数の資源を費やしてきた。これらの個人は、不正なまたは悪意のある使用を行うために損なわれたネットワークからデータを抽出することができる。例えば、エンドポイント間でクレジットカード情報を渡すことを含む電子商取引トランザクションは、ある個人がそのクレジットカード情報を不正に使用して商品またはサービスを取得できることにより損なわれる可能性がある。
【０００５】
ネットワークを損なうにはいくつかの方法を使用することができる。例えば、ある個人が、ネットワーク上の通信を「聞く」ためにネットワーク回線を「盗聴」することができる。あるいは、「なりすまし（ｓｐｏｏｆｉｎｇ）」技法を使用することもできる。なりすましは、その情報を送信している資源以外の資源に見えるコンピュータ、ＣＰＵ、ウェブサーバ、などの資源から情報を送信することを含む。例えば、ウェブサーバは、それが、実際は、アサートされたＩＰアドレスとは異なるＩＰアドレスを有する場合であっても、そのウェブサーバにアクセスする人により信頼されているＩＰ（ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）アドレスでそれ自体が識別される情報を送信することができる。
【０００６】
ネットワークを損なう活動と戦うために、様々な技法が使用されている。そのいくつかを挙げると、ネットワークを盗聴した個人が理解できないようにするためにデータをスクランブルする暗号化が使用される。なりすましを阻止するために、識別情報の提示を要求する様々な認証技法が実施されている。したがって、資源は、その識別を検査するために、ネットワーク上の他の資源にパスワードなどのトークンを提供する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
いくつかのセキュリティシステムは、セッション前にブートストラップを使用する。セッション前ブートストラップは、そのセッションの主題であるデータの送信および受信前に、エンドポイントを認証するためにエンドポイント相互間で情報を交換することを含む。その認証情報を送信する前にエンドポイントにアクセスしようと試みるユーザは、その通信するエンドポイントが信用できるエンドポイントまたは望ましいエンドポイントであることを検査することができない。したがって、セッション前ブートストラップ交換は、なりすましが行われたデータが送信され受信され得る本質的に信用できない交換である。したがって、セッション前ブートストラップセキュリティ交換の必要性をなくすシステム、あるいはセッション前ブートストラップ交換をより安全にするシステムを有することは新規性があり有益となるはずである。
【０００８】
既存のシステムを用いる他の取組みは、アドレスを記憶している参照が、通常、情報を経路指定可能な単一のアドレスを含むことである。例えば、参照は、１人に対して１つの電子メールアドレスを含むことができる。しかし、その電子メールアドレスが、仕事用電子メールアドレスである場合、その人が仕事から離れているときなど、そのアドレスに送信され幾つかのメッセージをタイムリーにその人が受信できない可能性が高い。なお、人は、接触可能ないくつかのアドレスを有することもできる。現在のシステムによると、その人にメッセージを送信したいユーザは、そのユーザにとって適切なアドレスを選択するように要求される。したがって、メッセージを特定の識別にアドレス指定することができ、その特定の識別のために最も適切なエンドポイントにメッセージが届くようにできるシステムを有することは新規性があり有益となるはずである。
【課題を解決するための手段】
【０００９】
一実施形態は、アドレスフィールドを有するデータ構造を含む。そのアドレスフィールドは、１つのエンティティに対する１つまたは複数のエンドポイントアドレスを含む。そのデータ構造はさらに、そのエンティティとの安全な通信を可能にするために、暗号鍵などの１つまたは複数の鍵を含むセキュリティフィールドを含む。アドレスフィールドおよびセキュリティフィールドのコンテンツは、データ構造中でシリアル化される。データ構造は、新しいアドレスフィールドおよびセキュリティフィールドを追加できるように拡張可能である。
【００１０】
他の実施形態は、識別フィールドを含むデータ構造を含む。識別フィールドはエンティティを識別する。データ構造はさらに、エンティティに対する１つまたは複数のエンドポイントアドレス含むアドレスフィールドを含む。識別フィールドおよびアドレスフィールドのコンテンツは、データ構造中でシリアル化される。データ構造は、新しい識別フィールドおよび新しいアドレスフィールドを追加できるように拡張可能である。
【００１１】
他の実施形態は、参照データ構造を作成する方法を含む。本方法は、１つのエンティティに対する１つまたは複数のエンドポイントアドレスを含むアドレスフィールドを作成するステップを含む。本方法はさらに、エンティティとの安全な通信を可能にするために１つまたは複数の鍵を含むセキュリティフィールドを作成することを含む。本方法はまた、シリアル化された拡張可能なデータ構造を作成するためにアドレスフィールドおよびセキュリティフィールド中のデータをシリアル化することを含む。
【００１２】
さらに他の実施形態は、参照データ構造を作成する方法を含む。本方法は、エンティティを識別するデータを含む識別フィールドを作成するステップを含む。本方法はさらに、そのエンティティに対する１つまたは複数のエンドポイントアドレスを含むアドレスフィールドを作成することを含む。さらに、方法は、シリアル化された拡張可能データ構造を作成するために識別フィールドおよびアドレスフィールド中でデータをシリアル化することを含む。
【００１３】
一実施形態は、ネットワーク上でエンドポイント相互間で通信する方法を含む。本方法は、ネットワーク上のエンティティに対するエンドポイントアドレスを取得するために、シリアル化された拡張可能データ構造にアクセスすることを含む。本方法はさらに、セキュリティキーを取得するために、シリアル化された拡張可能データ構造にアクセスすることを含む。さらに、本方法は、そのセキュリティキーを用いてデータを暗号化することを含む。さらに、本方法は、ネットワーク上のエンティティに対するエンドポイントアドレスにそのデータを送信することを含む。
【００１４】
本明細書に記載のいくつかの実施形態は、セッション前セキュリティブートストラップセキュリティ交換を必要とせずに、ネットワーク上で通信を可能にする。それは、エンドポイントアドレス情報と共にセキュリティ情報をシリアル化することによって達成される。また諸実施形態によると、１つの識別を１つのエンティティに対して使用することができるが、その識別を、エンティティにアクセスするためのいくつかのエンドポイントアドレスを識別するのに使用することもできる。
【００１５】
本発明のこれらのおよび他の利点ならびに機能は、以下の記述および添付の特許請求の範囲からより完全に明らかとなり、あるいはこの後に述べる本発明の実施によって理解することができる。
【００１６】
本発明の前述のおよび他の利点ならびに機能を取得する方法が理解できるように、添付図面に示す本発明の特有の実施形態を参照することにより、前に簡単に述べた本発明のより詳細な説明を示す。これらの図面は本発明の典型的な実施形態だけを示しており、したがって、本発明の範囲を限定するものと見なすべきではないと理解して、添付図面を使用することにより、本発明を、追加の特性および詳細と共に記述し説明する。
【発明を実施するための最良の形態】
【００１７】
一実施形態では、他のエンティティをアドレス指定するためのアドレスを有する参照中に、期待されるセキュリティ情報をエンティティがすでに有することによって、セッション前ブートストラップの必要性が除かれる。セキュリティ情報が暗号化鍵を含む場合、その参照を有するエンティティは、他方のエンティティとの通信開始時に、暗号化された情報をその他方のエンティティに送信し受信することができる。
【００１８】
図１は、本発明の諸実施形態を実施できる一環境を示す。エンティティＡ１０２は、エンティティＢ１０４とのセッションを開始する必要がある。エンティティＡ１０２は、巻物で示したデータ構造１０６を有する。本実施形態では、データ構造１０６は、アドレスフィールド１０８およびセキュリティ情報フィールド１１０を含む参照である。
【００１９】
アドレスフィールド１０８は、エンティティＢに対する少なくとも１つのアドレスを含む。アドレスは、例えば、プロセッサのためのＭＡＣアドレス、ウェブサービスのためのＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）またはＵＲＩ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｉｄｅｎｔｉｆｉｅｒ）、電子メール通信のための電子メールアドレス、電話、ファックス、ページャ、および／またはセル電話通信のための電話番号、インターネットメッセージング（ＩＭ）アドレス、物理メールアドレスなどとすることができる。
【００２０】
セキュリティ情報フィールド１１０は、例えば、識別、検査可能なプルーフ、暗号化鍵、証明書、パスワードなどのセキュリティ情報を含むことができる。一実施形態では、セキュリティ情報は、エンティティＡがエンティティＢとのセッションを開始しようとしたとき、エンティティＢから戻されることが期待される情報を含む。あるいは、セキュリティ情報は、セッションのデータ送信の一部としてセッション中にエンティティＢによって送信された情報を識別するのに有効であり得る。いくつかの実施形態では、セキュリティ情報フィールドは、データを暗号化し暗号化解除するための公開鍵を含むことができる。セキュリティ情報フィールドがデータを暗号化するための鍵を含む場合、エンティティＡ１０２は、暗号化されたデータをエンティティＢ１０４に送信開始することができる。エンティティＢ１０４が応答できない場合、エンティティＢ１０４は、Ｂ１０４で使用される公開鍵に対応する秘密鍵を有していない可能性が高く、したがって、エンティティＢ１０４がなりすましである可能性が高い。したがって、エンティティＡ１０２は、エンティティＢ１０４による悪意のある活動を阻止するために、エンティティＢ１０４とのどんな公開セッションも閉じる。
【００２１】
セキュリティ情報フィールド１１０中に含むことができるいくつかの特有のセキュリティ情報は、ＳＰＮ（Ｓｅｒｖｉｃｅ  Ｐｒｉｎｃｉｐａｌ  Ｎａｍｅ）、ＵＰＮ（Ｕｓｅｒ  Ｐｒｉｎｃｉｐａｌ  Ｎａｍｅ）、Ｘ．５０９の拇印（ｔｈｕｍｂｐｒｉｎｔ）、セキュリティトークン、発行者およびシリアル番号、ＰＧＰ（Ｐｒｅｔｔｙ  Ｇｏｏｄ  Ｐｒｉｖａｃｙ）方式からの公開鍵、埋め込まれた証明書、検査可能なＤＮＳ要求などを含む。
【００２２】
セキュリティ情報はまた、生体認証データを表すデータを含むことができる。例えば、セキュリティ情報フィールド１１０は、指紋、紅彩走査、音声認識、ＤＮＡ認証などを示す情報を含むことができる。
【００２３】
一実施形態では、エンティティＡ１０２は、図１に示すエンティティＣ１１２などサードパーティからアウトオブバンド（ｏｕｔ−ｏｆ−ｂａｎｄ）でデータ構造１０６を受け取ることができる。諸実施形態では、アドレス情報およびセキュリティ情報を含むデータをシリアル化することができる。例えば、一実施形態では、データ構造１０６は、ＸＭＬ（拡張マークアップ言語）文書とすることができる。アドレスおよびセキュリティ情報を含むサンプルのＸＭＬブロックを以下のように構成することができる。
【００２４】
【表１】
2006180478.tif 000003
【００２５】
この実施例では、セキュリティフィールドには、アドレスフィールド中で識別されたウェブサイトに対する検査可能なＤＮＳ要求が含まれている。この検査可能なＤＮＳ要求は、セキュアＨＴＴＰＳ（ＴＬＳ／ＳＳＬ）プロトコルに類似した方法で使用することができる。セッション中にエンティティＢ１０４からエンティティＡ１０２に渡されたセキュリティ情報は、その情報の顧客であるエンティティＡ１０２によって検査することができる。本発明の諸実施形態によるとさらに、既存のセキュリティ仕様を拡張することができる。例えば、諸実施形態は、ｈｔｔｐｓを介して、あるいはＷＳ（ウェブサービス）Ｓｅｃｕｒｉｔｙ仕様のうちの１つに記述される方法を介して、識別情報を提供することを含むことができる。
【００２６】
本発明の諸実施形態によると、セキュリティ情報の複数の部分をセキュリティ情報フィールド１１０中に含めることができる。したがって、セキュリティ情報の複数の部分を要求することによってセキュリティを高めることができる。その実施例は、その識別を検査するために２つ（またはそれ以上）の形式の識別を提供するように要求される場合と類似している。セキュリティ情報の複数の部分を有するＸＭＬブロックの実施例を以下に示す。
【００２７】
【表２】
2006180478.tif 000004
【００２８】
セキュリティ情報の様々な部分を認証用に使用できる様々なセキュリティ要件およびルールを実装することができる。例えば、セキュリティ情報フィールド１１０は、セキュリティ情報の複数部分のブール組合せを実施することができる。セキュリティルールは、セキュリティ情報の２つの特有な部分を要求することができる。あるいは、セキュリティルールは、セキュリティ情報の一部分を他の代用とするようにできる。他のルールによると、セキュリティ情報の複数の部分を特有な種類の対話、通信チャネル、時刻（ｔｉｍｅｓ  ｏｆ  ｔｈｅ  ｄａｙ）、メッセージサイズ、メッセージコンテンツのタイプなどに対して適用可能にすることができる。
【００２９】
さらに、参照はセキュリティ情報を含んでいるため、ウェブサービス通信における「Ｔｏ（宛先）」、「Ｆｒｏｍ（送信者）」、「Ｒｅｐｌｙ  Ｔｏ（返信先）」フィールドなどアドレス指定可能なフィールドに基づいてセキュリティルールをエンティティで確立することができる。例えば、他のエンティティＢ１０４のためのセキュリティ情報を含むデータ構造１０６を有するエンティティＡ１０２が、エンティティＢ１０４からメッセージを受信した場合、アクセス権を事前に許可することが可能であるため、セキュリティアクセスに対する許可を、「Ｔｏ（宛先）」、「Ｆｒｏｍ（送信者）」、「Ｒｅｐｌｙ  Ｔｏ（返信先）」または他のフィールドに基づいて行うことができる。
【００３０】
データ構造１０６などの参照が受信された場合、そのセキュリティ情報フィールド１１０中のセキュリティ情報が信頼でき、かつ信用できるかを確認する必要がある。一実施形態では、サードパーティが信用できるソースであり、かつその信用できるサードパーティエンティティＣ１１２だけをその参照が通過する場合であれば、サードパーティエンティティＣ１１２からその参照を受信したとき、その確認は実施され得る。ｔｒｕｓｔチェーンが確立できない場合は、本発明のいくつかの実施形態によると、埋め込まれた署名により参照を包むことができる。署名は、参照とそのデータを共に包むことができる。一実施形態では、ＸＭＬエンベロープ署名を用いてそれを実施することができる。他の署名表示もまた使用することができる。さらに他の諸実施形態では、ＷＳ―Ｓｅｃｕｒｉｔｙセキュリティヘッダなど、参照中に埋め込まれたセキュリティヘッダを使用する。セキュリティヘッダを用いることにより、複数の署名および暗号化を行うことができる。他の実施形態では、データ構造１０６は、それとは別個に記憶された署名を用いて署名することができる。
【００３１】
図２を参照すると、エンティティに対するユーバ（Ｕｂｅｒ）（またはグローバル）識別の概念を含む他の態様が示されている。具体的には、データ構造２０２は、メッセージをエンティティに送達することのできるエンドポイントアドレスを指定することができる。データ構造２０２は、識別フィールドおよびエンドポイントアドレスフィールドを含む。識別フィールドは、一般に、エンティティへのメッセージのアドレスを指定するのに使用できる識別を含む。アドレスフィールドは、メッセージを送信できる特有のエンドポイントアドレスを含む。したがって、ユーザは、そのエンティティにアクセスするために、特定タイプの媒体またはエンドポイントに対してアドレスを具体的に提供する必要がなくエンティティに対するユーバ識別を使用することができる。データ構造２０２は、図１に示すデータ構造１０２の一部分とすることができる。あるいは、データ構造１０２は、データ構造２０２の一部分とすることもできる。他の実施態様では、データ構造２０２は、図１に示すデータ構造１０２などいくつかの様々なデータ構造への参照を含むことができる。
【００３２】
図２は、データ構造２０２がエンティティに対する様々なエンドポイントアドレスを指定するためのフィールドを含むことを示す。この実施例では、データ構造２０２中のフィールドは、インターネットメッセージング（ＩＭ）クライアント２５０のアドレス、陸線電話番号２５２、セル電話番号２５４、ファックス番号２５６、物理メールアドレス２５８、電子メールアドレス２６０などを指定する。一実施形態では、エンティティに対するアドレスとして代表を使用することもできる。例えば、あるエンティティに対するアドレスとして、別のエンティティに属するアドレスを用いることもできる。こうすると、例えば、エンティティが、他のエンティティを代表してある種のタスクを有する場合に有益である。例えば、エンティティが、管理補助を代表する管理タスクを有している場合、管理問題に関連する電子メールは、管理補助に属する電子メールアドレスではなく、参照中に含まれる電子メールアドレスに向けて送信することができる。１つの代替実施形態では、データ構造はさらに、タスクを代表するエンティティに関する情報を含むことができる。このような情報は、識別情報、代表範囲などを含むことができる。
【００３３】
本発明では、ＸＭＬ文書などの拡張可能データ構造２０２を使用する。この方法では、アドレスは、プリセットしたアドレスグループに限定されず、そうではなくて、必要に応じてまたは技術が向上するにつれて、様々なアドレスを追加することができる。
【００３４】
諸実施形態によると、エンティティに対する特有のエンドポイントにアクセスするために、どの通信媒体およびアドレスを使用できるかに関するルールを、データ構造２０２中で指定することができる。さらに、ある識別に対する特有のエンドポイントを、いつ、なぜ、どのように使用するかを示すポリシールールを、アドレスと共に記憶することができる。一実施形態を実施するデータ構造の実施例を以下に示す。
【００３５】
【表３】
2006180478.tif 000005
【００３６】
この実施例では、ＸＭＬブロックは、エンドポイントアドレスのリストを含む。エンドポイントアドレス内には、いつ特定のエンドポイントを使用すべきかについての設定を記述するポリシーがある。具体的には、この実施例は、１組の利用可能なトランスポートプロトコル、日付および／または時刻の範囲、エンティティに送信されるデータの機密性、エンティティに送信されるデータの緊急度または優先順位、エンティティに送信されるデータの分類（例えば、仕事または個人）、エンティティに送信されるデータのトピックなどに基づいてエンドポイントを選択するための基準を示す。
【００３７】
他の実施形態では、エンドポイントアドレスを、データ構造２０２中のポリシーステートメントのリスト内に記載することができる。他の実施形態では、ポリシー情報は何も提供されないことが予想される。その場合、エンドポイントアドレスは、他の機構を用いて選択することができる。アドレスは、安全にプロンプトが出されたユーザ、マシン登録のデフォルト、アプリケーション登録のデフォルト、ユーザ登録のデフォルト、特定用途向けロジックの起動、カスタム登録拡張の使用、データまたは所望のアクションの他の態様の考慮などによって選択することができる。
【００３８】
いくつかの実施形態では、エンドポイントアドレスの決定を、特有の受信者またはその受信者の属性に基づいて行うことができる。例えば、エンドポイントアドレスの選択は、識別、アドレスクラス、一般属性、プライバシポリシーなどの属性に基づくことができる。他の複合表現もまた、エンティティに接触するのにどのエンドポイントアドレスを使用するかを判定するのに使用することができる。例えば、一表現によると、そのエンティティがＩＭにログオンしている場合、かつプレゼンテーションソフトウェアがプレゼンテーションモードで動作していない場合、業務時間中は特定のアドレスを使用するよう示すことができる。
【００３９】
さらに、エンドポイントアドレスを参照することによってエンティティに接触できる位置にエンティティが存在するかどうかに基づいて、エンドポイントアドレスの決定を行うことができる。エンティティが、あるエンドポイントアドレスに存在するかどうかを判定するために、様々な機構を使用することができる。例えば、Ｍｉｃｒｏｓｏｆｔ  Ｍｅｓｓｅｎｇｅｒ、Ｙａｈｏｏ  Ｍｅｓｓｅｎｇｅｒ、ＩＣＵなどのＩＭサービスは、エンティティがオンラインにあるときそれを公開する。エンティティの有無を判定するために、エンドポイント参照を使用することもできる。エンドポイントおよびＷＳＤＬ（ウェブサービス記述言語）の契約を用いてエンティティが存在するかどうか判定することができる。クライアントのリスト中に表示されるネットワーク上のマシンの存在を用いて、エンティティがマシンに存在するかどうかを判定することができる。時刻に基づくエンティティの予想位置を用いて、エンティティが存在するかどうか判定することができる。アドレスをｐｉｎｇすること、またはセッションの開始を要求することなどによって接続する試みを用いて、エンティティが存在するかどうか判定することができる。ピアツーピアの存在データを用いて、エンティティが特定のエンドポイントアドレスに存在するかどうか判定することができる。特有のアプリケーションを動作させることを用いて、エンティティの有無を判定することができる。ユーザを示すショーモード（ｓｈｏｗ  ｍｏｄｅ）などのアプリケーションモードを用いて、エンティティの有無を判定することもできる。
【００４０】
いくつかの実施形態によると、複数のユーバ識別をマージすることができる。例えば、図３のエンティティＡ１０２などのエンティティは、エンティティＢ１０４に対する参照データ構造１０６中のエンドレスポイントアドレス情報を、エンティティＣ１１２から受信することができる。エンティティＡ１０２は、データ構造３７０中の追加の参照を、エンティティＢ１０４に対する追加のエンドレスポイントアドレスを有するエンティティＤ３７２から受信することができる。データ構造１０６およびデータ構造３７０からのアドレスは、組み合わせてデータ構造３０６で表されるマージされた参照にすることができる。
【００４１】
参照がマージされたとき、競合する情報が存在する可能性がある。例えば、データ構造１０６およびデータ構造３７０は、１つのエンティティに対して異なる作業用電子メールアドレスを有する可能性がある。競合するデータを解決するために使用できるいくつかの方法がある。その方法は、ユーザにその競合を解決するようにプロンプトを安全に出すこと、マシン登録のデフォルトを使用すること、アプリケーション登録のデフォルトを使用すること、ユーザ登録のデフォルトを使用すること、特定用途向けロジックを起動すること、カスタム登録拡張を使用すること、エンティティまたは所望のアクションに送信されるデータの様々な態様を考慮すること、最近入力されたアドレスを選択することなどを含む。
【００４２】
ここに示す諸実施形態は、参照文書としてユーバ識別を示しているが、他の実施形態では、ユーバ識別は他の参照文書へのポインタの集合体とすることができる。例えば、ＸＭＬのユーバ識別文書は、参照文書がアドレスおよびセキュリティ情報フィールドを含むＸＭＬ参照文書への参照を含むことができる。
【００４３】
いくつかの実施形態では、ＵｂｅｒＩｄｅｎｔｉｔｙ（ユーバ識別）はさらに、ＧｌｏｂａｌＩｄｅｎｔｉｔｙＶｅｒｓｉｏｎ（グローバル識別バージョン）として前述した値を増分することを含むことができる。その値は、ＵｂｅｒＩｄｅｎｔｉｔｙのＥｎｄＰｏｉｎｔｓ（エンドポイント）部分における任意の値が変わったときに増分される。この方法では、より新しい参照が検出できるように、ＵｂｅｒＩｄｅｎｔｉｔｙ参照をキャッシュすることができる。
【００４４】
本発明によって企図された諸実施形態は、他のエンティティに識別文書または参照文書を転送する方法を可能にすることができる。したがって、いくつかの実施形態では、いつ情報を共用できるのかを指定することができる。例えば、参照は、いくつかのアドレスを含むことができる。アドレスのうちのいくつかは共用可能であると識別され、他のものは共用不可と識別される。したがって、その参照が他のエンティティに転送されたとき、共用できないアドレスは、他のエンティティに送信される前に参照から除去される。一実施例では、正常に動作するプログラムは、参照の共用可能なプロパティまたは共用不可のプロパティおよびアドレスを識別することができる。正常に動作するプログラムは、他のアプリケーションまたはエンティティに参照を転送する前に、その参照から共用不可プロパティおよびアドレスを除去することができる。
【００４５】
ユーバ識別を含む実施形態における参照のセキュリティおよび検査は、図１の記述に関して前述した参照のセキュリティに類似したものとすることができる。ユーバ識別を有する参照を検査する方法は、ユーバ識別を有する参照の受信者がすべての鍵およびトークンを、受け取りかつ／または使用する前に検査することを含む。検査は、例えば、ユーザにプロンプトを安全に出すこと、信用できるまたは検査されたストア中の鍵またはトークンの位置を突き止めること、信用できるパーティと相互証明をまたは検査を行い、識別の代替形態を送信すること、鍵または他の暗号検査によって安全確保することなどによって実施することができる。相互証明は、本明細書で前述したものと類似の署名コンポーネントを有するユーバ識別による一実施例で実施することもできる。さらに、ユーバ識別は、相互証明、認証、および／または他のエンティティからの検査ステートメントを含む１つまたは複数の証明エレメントを含む。一実施形態では、証明エレメントは、証明のタイプおよび／または要求される検査強度を示す情報を含むことができる。いくつかの実施形態では、ユーバ識別参照を暗号化することができる。具体的には、一実施形態では、セキュリティポリシーは明確に提供されるが、ユーバ識別参照を構成する実際のデータはいくつかのエンティティに対して暗号化される。
【００４６】
次に図４を参照すると、本発明の一実施形態が様々な諸行為（ａｃｔ）を含む方法として示される。図４に示す方法は、コンピュータネットワーク上でエンドポイント相互間の通信を可能にする。方法４００は、ネットワーク上のエンティティに対するエンドポイントアドレスを取得するために、シリアル化された拡張可能データ構造にアクセスする行為ｔを含む（行為４０２）。データ構造は、図１に示すデータ構造１０６、図２に示すデータ構造２０２、図３に示すデータ構造３０６およびデータ構造３７２などのデータ構造とすることができる。エンドポイントアドレスは、図１に示すアドレスフィールド１０８に記憶された１つまたは複数のアドレスを含むことができる。エンドポイントアドレスを取得するために、シリアル化された拡張可能データ構造にアクセスする行為（行為４０２）はさらに、そのエンティティに対する複数のエンドポイントアドレスからどのエンドポイントアドレスを選択すべきかを判定するためのポリシールールにアクセスすることを含むことができる。エンドポイントアドレスを選択するためのルールは、本明細書で前述している。
【００４７】
方法４００はさらに、セキュリティキーを取得するためにシリアル化された拡張可能データ構造にアクセスする行為を含む（行為４０４）。セキュリティキーは、図１に示すセキュリティ情報フィールド１１０中のセキュリティ情報とすることができる。前述のように、セキュリティキーは、データを暗号化するために用いられる公開鍵または他の暗号化鍵とすることができる。セキュリティキーを取得するためにシリアル化された拡張可能データ構造にアクセスする行為（行為４０４）はさらに、取得すべき適切なセキュリティキーを決定するためのセキュリティルールにアクセスすることを含むことができる。
【００４８】
方法４００はさらに、セキュリティキーを用いてデータを暗号化する行為を含む。暗号化は、適切な任意の暗号化方法を用いて達成することができる。暗号化の方法は、本明細書で前述している。
【００４９】
方法４００はさらに、データをエンドポイントアドレスに送信する行為を含む。この方法によると、方法４００はセッション前のセキュリティブートストラップを必要とせずに、ネットワーク上のエンドポイント相互間でデータの送信を可能にする。
【００５０】
図５を参照すると、本発明を実施するための例示的なシステムは、処理装置５２１と、システムメモリ５２２と、システムメモリ５２２を含む様々なシステムコンポーネントを処理装置５２１に結合するシステムバス５２３とを含む従来のコンピュータ５２０の形の汎用コンピューティング装置を含む。システムバス５２３は、メモリバスまたはメモリ制御装置、周辺装置バス、および任意の様々なバスアーキテクチャを使用するローカルバスを含む任意のいくつかのタイプのバス構造とすることができる。システムメモリは、ＲＯＭ（読出し専用メモリ）５２４およびＲＡＭ（ランダムアクセスメモリ）５２５を含む。起動中など、コンピュータ５２０内のエレメント相互間で情報の転送を行うことができる基本ルーチンを含むＢＩＯＳ（基本入出力システム）５２６をＲＯＭ５２４に記憶することができる。
【００５１】
コンピュータ５２０はまた、磁気ハードディスク５３９に対して読出しおよび書込みを行うための磁気ハードディスクドライブ５２７、取外し可能磁気ディスク５２９に対して読出しまたは書込みを行うための磁気ディスクドライブ５２８、およびＣＤ−ＲＯＭまたは他の光媒体などの取外し可能光ディスク５３１に対して読出しまたは書込みを行うための光ディスクドライブ５３０を含むことができる。磁気ハードディスクドライブ５２７、磁気ディスクドライブ５２８、および光ディスクドライブ５３０は、ハードディスクドライブインターフェース５３２、磁気ディスクドライブインターフェース５３３、および光ドライブインターフェース５３４によって、それぞれ、システムバス５２３に接続されている。ドライブおよびその関連するコンピュータ可読媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、およびコンピュータ５２０のための他のデータの不揮発性ストレージを提供する。本明細書に記載の例示的な環境は、磁気ハードディスク５３９、取外し可能磁気ディスク５２９、および取外し可能光ディスク５３１を使用しているが、磁気カセット、フラッシュメモリカード、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、ベルヌーイカートリッジ、ＲＡＭ、ＲＯＭなどを含む、データを記憶するための他のタイプのコンピュータ可読媒体を使用することができる。
【００５２】
オペレーティングシステム５３５、１つまたは複数のアプリケーションプログラム５３６、他のプログラムモジュール５３７、およびプログラムデータ５３８を含む、１つまたは複数のプログラムモジュールを含むプログラムコード手段は、ハードディスク５３９、磁気ディスク５２９、光ディスク５３１、ＲＯＭ５２４、またはＲＡＭ５２５に記憶することができる。ユーザは、キーボード５４０、ポインティング装置５４２、またはマイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナなどの他の入力装置（図示せず）を介してコンピュータ５２０にコマンドおよび情報を入力することができる。これらのおよび他の入力装置は、システムバス５２３に結合されたシリアルポートインターフェース５４６を介して処理装置５２１に接続されることが多い。あるいは、入力装置は、パラレルポート、ゲームポート、またはＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）など他のインターフェースによって接続することもできる。モニタ５４７または他の表示装置もまた、ビデオアダプタ５４８などのインターフェースを介してシステムバス５２３に接続されている。モニタに加えて、パーソナルコンピュータは、通常、スピーカやプリンタなど他の周辺出力装置（図示せず）を含む。
【００５３】
コンピュータ５２０は、遠隔コンピュータ５８３、５９３などの１つまたは複数の遠隔コンピュータへの論理接続を用いて、ネットワーク化環境中で動作することができる。遠隔コンピュータ５８３および５９３はそれぞれ、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、同位装置または他の共通ネットワークノードとすることができ、通常、コンピュータ５２０に関して前に述べた多くのまたはすべての要素を含む。図５に示す論理接続は、ＬＡＮ（ローカルエリアネットワーク）５５１およびＷＡＮ（広域ネットワーク）５５２を含むが、それは例のために提示したものであり、限定するものではない。このようなネットーキング環境はオフィス規模、または企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて普通のものである。
【００５４】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ５２０は、ネットワークインターフェースまたはアダプタ５５３を介してローカルネットワーク５５１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ５２０は、モデム５５４、無線リンク、またはインターネットなどの広域ネットワーク５５２を介して通信を確立するための他の手段を含むことができる。モデム５５４は、それを内部または外部とすることができるが、シリアルポートインターフェース５４６を介して、システムバス５２３に接続される。ネットワーク化環境では、コンピュータ５２０またはその部分に関して示されたプログラムモジュールは、遠隔メモリストレージ装置に記憶することができる。図示されたネットワーク接続は、例示のためのものであり、広域ネットワーク５５２を介して通信を確立する他の手段を使用することができることも理解されたい。
【００５５】
本発明は、その趣旨または本質的な特性を逸脱することなく他の特有の形態で実施することができる。前述の諸実施形態は、すべてに関して例示的なものにすぎず、限定的なものではないと見なすべきである。したがって、本発明の範囲は、前述の説明によってではなく、添付の特許請求の範囲によって示される。特許請求の範囲の意味およびその等価な範囲に含まれるすべての変更は、その範囲に含まれるものとする。
【図面の簡単な説明】
【００５６】
【図１】エンドポイントおよびセキュリティ情報が参照内に記憶される例示的なエンドポイント通信を示す図である。
【図２】いくつかのエンドポイントアドレスを含むサンプル参照を示す図である。
【図３】組み合わせた参照へとマージされる複数の参照の実施例を示す図である。
【図４】本発明の一実施形態で実施される方法を示す図である。
【図５】本発明のいくつかの態様を実施することができる一環境を示す図である。
【符号の説明】
【００５７】
５２１  処理装置
５２２  システムメモリ
５２３  システムバス
５３２  ハードディスクドライブインターフェース
５３３  磁気ハードディスクドライブインターフェース
５３４  光ドライブインターフェース
５３５  オペレーティングシステム
５３６  アプリケーションプログラム
５３７  他のプログラムモジュール
５３８  プログラムデータ
５４０  キーボード
５４６  シリアルポートインターフェース
５４７  モニタ
５４８  ビデオアダプタ
５５１  ローカルエリアネットワーク
５５２  広域ネットワーク
５５３  ネットワークインターフェース
５５４  モデム
５８３  遠隔コンピュータ
５９３  遠隔コンピュータ
【図１】
2006180478.tif 000006
【図２】
2006180478.tif 000007
【図３】
2006180478.tif 000008
【図４】
2006180478.tif 000009
【図５】
2006180478.tif 000010