(57)【特許請求の範囲】
【請求項１】
命令を記憶するように構成された非一時的なコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されたとき前記プロセッサに、
ドメイン所有者システムにおいて、サードパーティシステムを識別させ、メッセージの署名を委任させ、
前記サードパーティシステムのドメインネームシステム（ＤＮＳ）レコードにおいて前記サードパーティシステムによってパブリッシュされた暗号化キーにアクセスさせ、前記サードパーティシステムの前記ＤＮＳは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であり、
パブリック−プライベートキーペアを生成させ、前記キーペアの前記パブリックキーは検証キーであり、前記キーペアの前記プライベートキーは委任されたプライベートキーであり、前記委任されたプライベートキーは前記ドメイン所有者システムのドメイン所有者に代わってメッセージに署名するために前記サードパーティシステムによって使用され、
前記暗号化キーを使用して前記委任されたプライベートキーを暗号化させ、暗号化された委任プライベートキーを生成させ、
ＤＮＳサーバ上にある前記ドメイン所有者のＤＮＳレコードにおいて前記暗号化された委任プライベートキーをパブリッシュさせ、
前記サードパーティシステムのネットワークアドレスから前記暗号化された委任プライベートキーを求める要求のみに応答して、前記暗号化された委任プライベートキーで応答するよう前記ＤＮＳサーバを構成させ、
前記ドメイン所有者の前記ＤＮＳレコードにおいて前記検証キーをパブリッシュさせる、
コンピュータ可読記憶媒体。
【請求項２】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
暗号化キーを含む前記アクセスされたＤＮＳレコードのバイトが復号され得ると決定すること、および
前記復号された暗号化キーが、前記プライベート−パブリックキーペアを生成するために使用されたものと同じアルゴリズムで生成されていると決定すること
によって、前記暗号化キーを妥当性検証させるさらなる命令を記憶する、請求項１に記載のコンピュータ可読記憶媒体。
【請求項３】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
前記委任プライベートキーを１つまたは複数のブロックに分割させ、
前記暗号化キーを使用して前記１つまたは複数のブロックの各ブロックを暗号化させ、
各暗号化されたブロックを連結させ、前記暗号化された委任プライベートキーを生成させる、
前記暗号化キーを使用する前記委任プライベートキーの前記暗号化のためのさらなる命令を記憶する、請求項１に記載のコンピュータ可読記憶媒体。
【請求項４】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
前記サードパーティシステムによってパブリッシュされた前記暗号化キーが更新されたと決定させ、
前記委任プライベートキーを前記更新された暗号化キーで再暗号化させ、
前記ドメイン所有者の前記ＤＮＳレコードにおいて前記再暗号化された委任プライベートキーをパブリッシュさせる
さらなる命令を記憶する、請求項１に記載のコンピュータ可読記憶媒体。
【請求項５】
パブリック−プライベートキーペアを生成するステップであって、前記キーペアの前記パブリックキーは暗号化キーであり、前記キーペアの前記プライベートキーは暗号化解除キーであるステップと、
前記暗号化キーをサードパーティシステムのドメインネームサービス（ＤＮＳ）レコードとしてパブリッシュするステップであって、前記サードパーティシステムの前記ＤＮＳは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であるステップと、
ドメイン所有者に代わってメッセージに署名することを求める要求を受信するステップであって、前記メッセージは受信者に送信されるステップと、
前記ドメイン所有者のＤＮＳレコードを介して前記ドメイン所有者によってパブリッシュされた暗号化された委任プライベートキーにアクセスするステップであって、前記暗号化された委任プライベートキーは前記暗号化キーを使用して暗号化されているステップと、
前記暗号化解除キーを使用して前記暗号化された委任プライベートキーを暗号化解除するステップと、
前記委任プライベートキーを使用して前記メッセージの署名を生成するステップと、
前記署名および前記メッセージを前記受信者に送信するステップと
を備える、コンピュータ実施方法。
【請求項６】
パブリック−プライベートキーペアを生成する前記ステップは、
２０４８ビットＲＳＡを使用して前記パブリック−プライベートキーペアを生成するステップをさらに備える、請求項５に記載の方法。
【請求項７】
前記暗号化キーを前記サードパーティシステムのＤＮＳレコードとしてパブリッシュするステップは、
前記ドメイン所有者の識別を示すＤＮＳレコード下で前記暗号化キーをパブリッシュするステップをさらに備え、
前記サードパーティシステムは、複数のドメイン所有者に代わってメッセージに署名することをサポートする、請求項５に記載の方法。
【請求項８】
前記サードパーティシステムの前記ＤＮＳレコードは、前記ＤＮＳレコードと、前記サードパーティシステムのドメイン上でパブリッシュされるその他のテキストレコードとを区別するトークンと、前記ＤＮＳレコードの作成時間と、前記ＤＮＳレコードの満了時間と、同じサブドメイン上で複数の暗号化キーのパブリケーションを可能にするセレクタフィールドと、暗号化に使用されるアルゴリズムを示すフィールドとをさらに備える、請求項５に記載の方法。
【請求項９】
前記暗号化キーを記憶する前記サードパーティシステムの前記ＤＮＳレコードは、ＤＮＳ  ＴＸＴレコードである、請求項５に記載の方法。
【請求項１０】
前記暗号化解除キーによって暗号化解除されることになる前記暗号化された委任プライベートキーのバイトを決定することによって、前記アクセスされる委任プライベートキーを妥当性検証するステップをさらに備える、請求項５に記載の方法。
【請求項１１】
命令を記憶するように構成された非一時的なコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されたとき前記プロセッサに、
ドメイン所有者システムにおいて、サードパーティシステムを識別させ、メッセージの署名を委任させ、
前記サードパーティシステムのドメインネームシステム（ＤＮＳ）レコードにおいて前記サードパーティシステムによってパブリッシュされた暗号化キーにアクセスさせ、前記サードパーティシステムの前記ＤＮＳは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であり、
パブリック−プライベートキーペアを生成させ、前記キーペアの前記パブリックキーは検証キーであり、前記キーペアの前記プライベートキーは委任されたプライベートキーであり、前記委任されたプライベートキーは前記ドメイン所有者システムのドメイン所有者に代わってメッセージに署名するために前記サードパーティシステムによって使用され、
前記暗号化キーを使用して前記委任されたプライベートキーを暗号化させ、暗号化された委任プライベートキーを生成させ、
前記ドメイン所有者のＤＮＳレコードにおいて前記暗号化された委任プライベートキーをパブリッシュさせ、
前記ドメイン所有者の前記ＤＮＳレコードにおいて前記検証キーをパブリッシュさせる、
コンピュータ可読記憶媒体。
【請求項１２】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
２０４８ビットＲＳＡを使用して前記パブリック−プライベートキーペアを生成させる、前記パブリック−プライベートキーペアの前記生成のためのさらなる命令を記憶する、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
暗号化キーを含む前記アクセスされたＤＮＳレコードのバイトは復号が可能であると決定すること、および
前記復号された暗号化キーが、前記プライベート−パブリックキーペアを生成するために使用されたものと同じアルゴリズムで生成されていると決定すること
によって、前記暗号化キーを妥当性検証させるさらなる命令を記憶する、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
前記委任プライベートキーを１つまたは複数のブロックに分割させ、
前記暗号化キーを使用して前記１つまたは複数のブロックの各ブロックを暗号化させ、
各暗号化されたブロックを連結させ、前記暗号化された委任プライベートキーを生成させる、
前記暗号化キーを使用する前記委任プライベートキーの前記暗号化のためのさらなる命令を記憶する、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記暗号化された委任プライベートキーを記憶する前記ドメイン所有者の前記ＤＮＳレコードはＤＮＳ  ＴＸＴレコードである、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１６】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
ＤＮＳサーバ上にある前記ドメイン所有者のＤＮＳレコードにおいて前記暗号化された委任プライベートキーをパブリッシュさせ、
前記サードパーティシステムのネットワークアドレスから前記暗号化された委任プライベートキーを求める要求のみに応答して、前記暗号化された委任プライベートキーで応答するよう前記ＤＮＳサーバを構成させる、
前記ドメイン所有者のＤＮＳレコードにおける前記暗号化された委任プライベートキーのパブリケーションのためのさらなる命令を記憶する、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記ドメイン所有者の前記ＤＮＳレコードは、前記ＤＮＳレコードと、前記ドメイン所有者のドメイン上でパブリッシュされるその他のテキストレコードを区別するトークンと、前記ＤＮＳレコードの作成時間と、前記ＤＮＳレコードの満了時間と、同じサブドメイン上で複数の暗号化キーのパブリケーションを可能にするセレクタフィールドと、暗号化に使用されるアルゴリズムを示すフィールドとをさらに備える、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
前記検証キーを記憶する前記ＤＮＳレコードを、ＤｏｍａｉｎＫｅｙｓ  Ｉｄｅｎｔｉｆｉｅｄ  Ｍａｉｌ（ＤＫＩＭ）と互換性のあるフォーマットにフォーマットさせる、前記ドメイン所有者の前記ＤＮＳレコードにおける前記検証キーの前記パブリケーションのためのさらなる命令を記憶する、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
前記サードパーティシステムによってパブリッシュされた前記暗号化キーが更新されたと決定させ、
前記委任プライベートキーを前記更新された暗号化キーで再暗号化させ、
前記ドメイン所有者の前記ＤＮＳレコードにおいて前記再暗号化された委任プライベートキーをパブリッシュさせる
さらなる命令を記憶する、請求項１１に記載のコンピュータ可読記憶媒体。
【請求項２０】
ドメイン所有者システムにおいて、サードパーティシステムを識別して、メッセージの署名を委任するステップと、
前記サードパーティシステムのドメインネームシステム（ＤＮＳ）レコードにおいて前記サードパーティシステムによってパブリッシュされた暗号化キーにアクセスするステップであって、前記サードパーティシステムの前記ＤＮＳは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であるステップと、
パブリック−プライベートキーペアを生成するステップであって、前記キーペアの前記パブリックキーは検証キーであり、前記キーペアの前記プライベートキーは委任されたプライベートキーであり、前記委任されたプライベートキーは前記ドメイン所有者システムのドメイン所有者に代わってメッセージに署名するために前記サードパーティシステムによって使用されるステップと、
前記暗号化キーを使用して前記委任されたプライベートキーを暗号化し、暗号化された委任プライベートキーを生成するステップと、
前記ドメイン所有者のＤＮＳレコードにおいて前記暗号化された委任プライベートキーをパブリッシュするステップと、
前記ドメイン所有者の前記ＤＮＳレコードにおいて前記検証キーをパブリッシュするステップと
を備える、コンピュータ実施方法。
【請求項２１】
前記暗号化キーを使用して前記委任されたプライベートキーを暗号化する前記ステップは、
前記委任されたプライベートキーを１つまたは複数のブロックに分割するステップと、
前記暗号化キーを使用して前記１つまたは複数のブロックの各ブロックを暗号化するステップと、
各暗号化されたブロックを連結して、前記暗号化された委任プライベートキーを生成するステップと
をさらに備える、請求項２０に記載の方法。
【請求項２２】
前記暗号化された委任プライベートキーを記憶する前記ドメイン所有者の前記ＤＮＳレコードはＤＮＳ  ＴＸＴレコードである、請求項２０に記載の方法。
【請求項２３】
前記ドメイン所有者のＤＮＳレコードにおいて前記暗号化された委任プライベートキーをパブリッシュする前記ステップは、
ＤＮＳサーバ上にある前記ドメイン所有者のＤＮＳレコードにおいて前記暗号化された委任プライベートキーをパブリッシュするステップと、
前記サードパーティシステムのネットワークアドレスから前記暗号化された委任プライベートキーを求める要求のみに応答して、前記暗号化された委任プライベートキーで応答するよう前記ＤＮＳサーバを構成するステップと
をさらに備える、請求項２０に記載の方法。
【請求項２４】
前記サードパーティシステムによってパブリッシュされた前記暗号化キーが更新されたと決定するステップと、
前記委任されたプライベートキーを前記更新された暗号化キーで再暗号化するステップと、
前記ドメイン所有者の前記ＤＮＳレコードにおいて前記再暗号化された委任プライベートキーをパブリッシュするステップと
をさらに備える、請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概して、ネットワーキングの分野に関し、詳細にはドメインネームサービス（ＤＮＳ）を介するプライベートキーの安全な委任された配信に関する。
【背景技術】
【０００２】
関連出願の相互参照
本出願は、参照により全体が本明細書に援用される、２０１５年２月１４日出願の米国特許仮出願第６２／１１６，４１４号明細書の利益を主張するものである。
【０００３】
電子メール（Ｅメール）のような分散メッセージングシステムにおいて、不正なメッセージを除去するため、メッセージの自称の識別に対して、メッセージの発信者を妥当性検証する必要がある。この問題に対する１つの手法は、公開鍵暗号方式を使用してメッセージを検証することである。この手法において、暗号化ハッシュは、メッセージが識別に関連付けられていることを妥当性検証するために使用される。１つまたは複数のパブリックキーは、グローバルに可視的なディレクトリにおいてパブリッシュされ、そこでは識別の保持者のみがディレクトリ内にレコードをパブリッシュすることを許可される。許可された送信者は、対応するプライベートキーを所有しており、このキーを使用してメッセージのハッシュ化されたバージョンを暗号化して、暗号化されたハッシュをメッセージのメタデータとして含めることができる。受信者は、パブリックキーを使用してメタデータを暗号化解除して、それとそれら自身、独立に生成されたメッセージのハッシュとを比較することができる。ハッシュが一致する場合、その送信者は正当である。ＤｏｍａｉｎＫｅｙｓ  Ｉｄｅｎｔｉｆｉｅｄ  Ｍａｉｌ（ＤＫＩＭ）は、電子メール向けのこのシステムの標準的な実装である。
【０００４】
この手法は極めて効果的となり得るが、これは複数の署名エンティティがある場合にはいくつかの問題を有する。プライベートキー配信は、単一の共有ドメインからの単一の共有ドメインに対して許可された（したがって有効なプライベートキーを有するはずである）メッセージに署名することを許可される複数の異なるエンティティがある場合に困難な問題となる。たとえば、「ａｃｍｅ．ｃｏｍ」の管理者が、「ａｊａｘ．ｃｏｍ」からのメッセージの署名を許可しようとする場合、各ドメインは有効なプライベートキーが必要になる。
【０００５】
１つの手法は、共有を除去するために、プライマリドメインの異なるサブドメインを、異なる署名組織に割り振ることである。この状況において、各署名組織は、そのサブドメインについてグローバルディレクトリを完全に制御している。これは機能し得るが、各組織がプライマリドメインの異なるサブドメインを必要とするので、単一のドメインで複数の送信者をサポートするという主要目的を果たすことはできない。
【０００６】
あるいは、各署名エンティティは、各自のプライベート／パブリックキーのペアを生成し、グローバルディレクトリにおいてパブリッシュするためにパブリックキーを許可側ドメイン所有者に提供することができる。対応するパブリックキーをグローバルディレクトリ内の適切な場所でパブリッシュすることによって、ドメイン所有者は、これが署名権限を署名エンティティに委任していることを通知する。しかし、この手動のプロセスは、許可側ドメイン所有者にとってエラーを生じやすく、しかも負担となる傾向がある。これはキーが交換されるごとに手動プロセスの繰り返しを必要とするので、これはまたキー循環のようなベストプラクティスを組み込むことを困難にして、実際問題としてキーが更新されないこともあるという状況を生じることになる。
【発明の概要】
【０００７】
したがって、欠如しているものは、安全な自動化された方式で共有ドメインに対して許可された委任プライベートキーを生成して、そのようなキーの信頼性の高い管理および更新と同様に、複数の異なるエンティティに配信する機能である。
【０００８】
一部の実施形態において、ドメインネームサービス（ＤＮＳ）を介して公開鍵暗号方式の委任プライベートキーを安全に配信するためのシステムおよび方法は、ドメインネームサービス（ＤＮＳ）を介するプライベートキーの安全な自動化配信を可能にするために公開鍵暗号方式を使用するステップを備えることができる。そのような委任プライベートキーは、ドメイン所有者から、ＤＮＳでパブリッシュされた暗号化データを介してサードパーティエンティティに配信される。ドメイン所有者は、それらのドメインのＤＮＳゾーン内のＤＮＳレコードでパブリックキーをパブリッシュする。次いで、サードパーティエンティティは、対称キー交換をネゴシエートするため、または用途に応じて適切なその他の目的で、ドメイン所有者に代わって、メッセージ署名のための対応するプライベートキーを使用することができる。自動システムは、これらのプライベート／パブリックキーのペアを作成および更新すること、ならびにそれらをドメイン所有者によって管理されるドメイン上の適切なＤＮＳレコードにパブリッシュすることを処理する。
【０００９】
一部の実施形態において、（たとえば、ドメイン所有者に代わってメッセージに署名するため）ドメイン所有者によって許可されたプライベートキーを使用しようとするサードパーティエンティティは、公開鍵暗号方式のアルゴリズムを使用して専用のキーペアを生成する。このキーペアは、暗号化解除キーおよび暗号化キーから成る。サードパーティエンティティは、暗号化キーをＤＮＳ  ＴＸＴレコードとして（たとえば、サードパーティエンティティによって所有される既知のドメインのプロトコル定義されたサブドメイン上の）明確な場所にパブリッシュし、暗号化解除キーを秘密にしておく。
【００１０】
一部の実施形態において、ドメインネームサービス（ＤＮＳ）を介して委任プライベートキーを安全に配信するためのシステムおよび方法は、許可側ドメインの所有者に代わって動作する自動システムを含むことができる。この自動システムは、ここで、キーペアジェネレータとして参照される。キーペアジェネレータは、特定のサードパーティエンティティが、特定の許可側ドメインに関連付けられているプライベートキーを使用できるようにするように構成されてもよい。この状況において、キーペアジェネレータは、上記サードパーティエンティティの暗号化キーレコードが存在するかどうかをチェックすることができる。一部の実施形態において、そのような暗号化キーレコードが検出され、許可側ドメインの所有者が権限をサードパーティエンティティに委任しようとする場合、キーペアジェネレータは、委任プライベートキー（プライベートキー）および検証キー（パブリックキー）を含む新たな公開鍵暗号法によるキーペアを生成することができる。キーペアジェネレータは、暗号化キーレコードから取り出された暗号化キーを使用して委任プライベートキーを暗号化して、検証キーおよび暗号化された委任プライベートキーを、それぞれ検証キーレコードおよび暗号化された委任プライベートキーレコードとして知られている明確な場所において、ＤＮＳにパブリッシュすることができる。許可側ドメインの所有者がキーを生成しようとする各サードパーティエンティティに、異なるレコードが生成されてもよい。
【００１１】
一部の実施形態において、ドメインネームサービス（ＤＮＳ）を介して委任プライベートキーを安全に配信するためのシステムおよび方法は、（たとえば、許可されたドメインに代わってメッセージに署名するため）そのような委任プライベートキーを使用しようとするサードパーティエンティティが、対応する検証キーおよび暗号化された委任プライベートキーレコードが存在するかどうかをチェックするステップを含むことができる。それらのレコードが存在する場合、サードパーティエンティティは、そのプライベート暗号化解除キーを使用して、暗号化された委任プライベートキーレコードから委任プライベートキーを暗号化解除することができる。次いで、この委任プライベートキーは、許可側ドメインに代わってサードパーティエンティティによって使用されてもよい。
【００１２】
さらなる実施形態において、（たとえば、メッセージ署名を検証するため、またはプライベートキー保有者と対称キーを安全に交換するため）委任プライベートキーに対応するパブリックキーを使用しようとするパーティは、キーペアジェネレータによってパブリッシュされた検証キーレコードから検証キーを取り出すことができる。検証キーレコードの厳密なフォーマットは、アプリケーションごとに異なり、そのフォーマットは、非限定的なものと見なされるべきである。
【００１３】
このシステムを使用してメッセージ署名を生成するための具体的な例において、このとき標準署名検証アルゴリズムがメッセージ受信者によって実行されてもよく、署名は検証されるかまたは拒否されるかのいずれかであってもよい。いずれの場合においても、検証側パーティは、標準的手順を使用することができ、サードパーティエンティティが署名を実行したことを知る必要はない。
【００１４】
さらなる実施形態において、ドメインネームサービス（ＤＮＳ）を介して委任プライベートキーを安全に配信するためのシステムおよび方法は、公開鍵暗号法による委任プライベートキーの安全な配信をサポートするときに、現存しグローバルに使用可能な、認証ディレクトリシステムであるＤＮＳを活用することによって、インターネット上におけるキー配信の技術を向上させることができる。加えて、その方法は、経過時間に起因するか、または１つまたは複数のキーが改ざんされた可能性に起因して、前記キーの自動更新をサポートすることができる。これは、このようなシステムの本来のセキュリティ性および堅牢性について実質的に向上させる。
【図面の簡単な説明】
【００１５】
開示される実施形態は、詳細な説明、特許請求の範囲、および添付の図（または図面）からさらに容易に明らかとなる利点および特徴を有する。図面の簡単な説明を以下に示す。
【図１】ＤＮＳを介するプライベートキーの安全な委任された配信を可能にする実施形態によるシステムの例を示す図である。
【図２】ドメイン所有者に代わってサードパーティシステムがキーを生成できるようにするための典型的なプロセスを示す一つの実施形態によるインタラクション図およびフローチャートである。
【図３】ドメイン所有者に代わってサードパーティシステム１２０がメッセージに署名できるようにするための典型的なプロセスを示す一つの実施形態によるインタラクション図およびフローチャートである。
【図４】機械可読媒体から命令を読み取り、プロセッサ（またはコントローラ）においてそれらを実行することができるマシンの例の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
図面および後段の説明は、単なる実例としての好ましい実施形態に関連する。以下の説明から、本明細書において開示される構造および方法の代替的実施形態が、特許請求の範囲の原理を逸脱することなく採用され得る実行可能な代替策として容易に理解されるであろうことに留意されたい。
【００１７】
これ以降、いくつかの実施形態に詳細に参照が行われ、その例は添付の図面において示される。実施可能な限り、類似するかまたは同様の参照番号は、図面において使用されてもよく、類似するかまたは同様の機能を示してもよいことに留意されたい。図は、説明することのみを目的として、開示されるシステム（または方法）の実施形態を表す。本明細書において説明される構造および方法の代替的実施形態が、本明細書において説明される原理を逸脱することなく採用され得ることを、当業者は以下の説明から容易に理解するであろう。
【００１８】
構成の概要
実施形態の例として開示されるのは、ＤＮＳを介するプライベートキーの安全な委任された配信を可能にするシステムおよび方法である。実施形態において、サードパーティシステムは、パブリック−プライベートキーペアを生成し、キーペアのパブリックキーは暗号化キーであり、キーペアのプライベートキーは暗号化解除キーである。サードパーティシステムは、暗号化キーを、サードパーティシステムのＤＮＳレコードとしてパブリッシュする。サードパーティシステムは、ドメイン所有者に代わってメッセージに署名することを求める要求を受信し、メッセージは受信者に送信されるものであり、ドメイン所有者のＤＮＳレコードを介してドメイン所有者によってパブリッシュされた暗号化された委任プライベートキーにアクセスし、その暗号化された委任プライベートキーは暗号化キーを使用して暗号化される。サードパーティシステムは、その暗号化解除キーを使用してその暗号化された委任プライベートキーを暗号化解除し、その委任プライベートキーを使用してメッセージの署名を生成する。サードパーティシステムは、その署名およびメッセージを受信者に送信する。
【００１９】
実施形態において、ドメイン所有者システムは、メッセージの署名を委任するためにサードパーティシステムを識別する。ドメイン所有者システムは、サードパーティシステムのＤＮＳレコードにおいてサードパーティシステムによってパブリッシュされた暗号化キーにアクセスする。ドメイン所有者システムは、パブリック−プライベートキーペアを生成し、キーペアのパブリックキーは検証キーであり、キーペアのプライベートキーは委任プライベートキーであり、委任プライベートキーはドメイン所有者システムのドメイン所有者に代わってメッセージに署名するためにサードパーティシステムによって使用される。ドメイン所有者システムは、その暗号キーを使用して委任プライベートキーを暗号化して、暗号化された委任プライベートキーを生成する。そのドメイン所有者システムは、ドメイン所有者のＤＮＳレコードにおいてその暗号化された委任プライベートキーをパブリッシュし、そのドメイン所有者のＤＮＳレコードにおいて検証キーをパブリッシュする。
【００２０】
序文
公開鍵暗号方式は、多くのさまざまなアプリケーションにおいて重要な役割を果たす。しかし、これらのアプリケーションの多くにおいて、プライベートキーを署名者に配信してパブリックキーを識別について関連付ける基礎プロセスを自動化することに重大な課題がある。ＤＮＳは、これらの課題の両方に対処する自動化プロセスをサポートするために使用され得るツールを提供する。
【００２１】
暗号署名のアプリケーションの具体例、メッセージ発信者の識別と受信時のメッセージの完全性とをともに検証するためにメッセージに含まれ得るメタデータについて考察する。この暗号署名は、任意の数の公開鍵暗号方式のアルゴリズム（たとえば、ＲＳＡ、ＤＳＡ）のうちの１つにより実行され得る。そのような暗号署名は、ＤｏｍａｉｎＫｅｙｓ  Ｉｄｅｎｔｉｆｉｅｄ  Ｍａｉｌ（ＤＫＩＭ）プロトコルの使用による電子メールメッセージ認証のドメインにおける固有の使い方を含む広範な用途を有する。
【００２２】
暗号署名を作成する場合、メッセージの発信者は、署名しようとするメッセージを表すバイトのセットを得る。これは通常、その代表するバイトの同じセットを生じる別のメッセージを生成することが極めて困難であることを保証するために、ＳＨＡ−５１２またはＭＤ−５のようなハッシュアルゴリズムにより行われる。この場合、その代表するバイトのセットは、メッセージハッシュとして知られる。
【００２３】
次いで、発信者は、このメッセージハッシュを、これ以降委任プライベートキーと称される、パブリックキーペアのプライベート部分を用いて暗号化する。委任プライベートキーは、メッセージ署名を生成するために使用され、基礎となる暗号法手順の特性により、委任プライベートキーを所有しない者には、正しい署名を生成することを不可能とする。委任プライベートキーの所有は、メッセージに署名することを許可されている者に制限される。
【００２４】
検証キーとして知られる、パブリックキーペアの対応するパブリック部分は、メッセージ署名、ひいてはメッセージの許可および完全性を検証するために使用されてもよい。メッセージの受信者は、メッセージハッシュを生成するために発信者によって採用されたものと同じ手順を使用することができる。次いで、受信者は、そのメッセージ署名を暗号化解除をするために検証キーを使用し、その暗号化解除された値が受信者によって電子計算機を用いて計算されたメッセージハッシュと一致することを確認することができる。値が一致する場合、メッセージ署名は確証される。それ以外の場合、これは拒否される。
【００２５】
メッセージ署名は、メッセージの署名者が、検証キーのキーペアの他方のキーである委任プライベートキーを所有する場合に限り、確証される。したがって、受信者が、検証キーのソースが信頼できることを証明が可能な方法で検証キーを取得することができる場合、メッセージ受信者が、そのメッセージをそのソースに結果的に由来するものとして許可できるようにする。
【００２６】
ドメインネームサービス（ＤＮＳ）は、ドメイン（ひいてはドメインの登録済み所有者の識別）を、安全な方法で検証キーと関連付けるために使用されてもよい。このシナリオにおいて、検証キーを含むＤＮＳ  ＴＸＴレコードは、組織に登録されているゾーン内の明確に定義されたサブドメイン下でパブリッシュされる。組織ドメインの登録済み所有者、または登録済み所有者によって許可されたパーティのみが、そのゾーンでＤＮＳレコードをパブリッシュすることができるので、検証キーを含むＤＮＳレコードのパブリケーションは、登録済み所有者によって許可されなければならない。
【００２７】
暗号署名アルゴリズムは、本質的に、メッセージの発信者が委任プライベートキーを所有することを要求する。検証キーを許可するためのＤＮＳの使用は、検証キーが、彼らのＤＮＳレコードの更新を許可する登録済みドメイン所有者またはパーティに使用可能であることを必要とする。委任プライベートキーおよび検証キーが生成され得るのは、一緒にペアとして生成される場合に限られるので、これは、登録済みドメイン所有者がサードパーティエンティティに、彼らの代わりにメッセージに署名することを許可したいが、そのエンティティに彼らのゾーンでＤＮＳレコードをパブリッシュする能力を与えたくはない場合に、問題を呈する。委任プライベートキーまたは検証キーのいずれかをあるパーティから別のパーティに配信しなくてはならないので、これは多くの問題を呈する。さらに、委任プライベート／検証キーペアの将来の更新は、同様の問題を呈する。
【００２８】
例示のキー委任システム
図１は、実施形態によるＤＮＳを介するプライベートキーの安全な委任された配信を可能にする例示のシステム１００を示す。システム１００は、ネットワーク１５０、１つまたは複数の検証エージェント１６０、ドメイン所有者ＤＮＳサーバ１３０およびサードパーティＤＮＳサーバ１４０、ドメイン所有者システム１１０、ならびにサードパーティシステム１２０を含む。示されるシステム１００は図１に示される要素を含むが、その他の実施形態において、システム１００は異なる要素を含むことができる。さらに、各要素の機能は、その他の実施形態において要素間に異なる形でもたらされてもよい。
【００２９】
有線、無線、またはその組合せであってもよいネットワーク１５０は、検証エージェント１６０、ＤＮＳシステム１３０／１４０、ドメイン所有者システム１１０、およびサードパーティシステム１２０の間の通信を可能にし、インターネット、ＬＡＮ、ＶＬＡＮ（たとえば、ＶＰＮによる）、ＷＡＮ、またはその他のネットワークを含むことができる。１つの実施形態において、ネットワーク１５０は、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユニフォームリソースロケータ（ＵＲＬ）、およびドメインネームシステム（ＤＮＳ）のような標準通信技術および／またはプロトコルを使用する。もう１つの実施形態において、エンティティは、上記で説明される技術の代わりに、またはそれらに加えて、カスタムおよび／または専用のデータ通信技術を使用することができる。
【００３０】
ドメイン所有者ＤＮＳサーバ１３０およびサードパーティＤＮＳサーバ１４０は、ＮＤＳエントリ１３５、１３７、および１４５のようなＤＮＳエントリを、ＤＮＳシステムで使用するために記憶する。各ＤＮＳサーバは、図４を参照して説明されるコンピューティングシステムのような、１つまたは複数のコンピューティングシステムを備えることができる。
【００３１】
各ＤＮＳエントリは、当技術分野において知られている、Ａレコード、ＭＸレコードなどのような、特定のドメインの１つまたは複数のＤＮＳレコードを含むことができる。ＤＮＳエントリ１３５、１３７、および１４５のようなＤＮＳエントリの一部は、検証キー１３６、暗号化された委任プライベートキー１３８、および暗号化キー１４６のような暗号キーを含むことができる。１つの実施形態において、これらのキーは、各ＤＮＳエントリにＴＸＴレコードとして記憶される。これらのキーは、ネットワーク１５０経由で送信されるデータの送信者認証性およびコンテンツに署名し、検証するために使用されてもよい。そのようなデータは、メッセージ、ファイル、電子メールなどを含むことができる。図１に示されるレコードは複数のエントリおよび複数のサーバ上で分割されているが、その他の実施形態において、レコードは、より少ないエントリ、より少ないサーバ、単一のエントリ、または一部のその他の組合せに結合されてもよい。
【００３２】
ドメイン所有者システム１１０は、１つまたは複数のコンピューティングシステム、たとえばドメインをホスティングしてそのドメインに関連するアクティビティを実行するためにドメイン所有者によって使用されるサーバを備える。これらのアクティビティは、Ｗｅｂページにサービスを提供すること、電子メールを送信および受信すること、ファイルをホスティングすること、電子商取引を実行することなどを含むことができる。１つの実施形態において、これらのコンピューティングシステムは、図４を参照して説明されるコンピューティングシステムと同様に構成される。
【００３３】
示されているように、ドメイン所有者システム１１０は、キーペアジェネレータ１１５、および委任プライベートキー１１７を含む。示されるドメイン所有者システム１１０は図１に示される要素を含むが、その他の実施形態において、ドメイン所有者システム１１０は異なる要素を含むことができる。たとえば、ドメイン所有者システム１１０は、公開暗号鍵方式の仕組みにおいて使用されるべき追加のキーを含むことができる。さらに、各要素の機能は、その他の実施形態において要素間に異なる形でもたらされてもよい。
【００３４】
ドメイン所有者システム１１０のキーペアジェネレータ１１５は、プライベートおよびパブリックキーペアを生成する。１つの実施形態において、キーペアジェネレータ１１５は、委任プライベートキー１１７および検証キー１３６から成るキーペアを生成する。検証キー１３６は、このキーペアのパブリックキーであり、一方、委任プライベートキー１１７は、プライベートキーである。キーペアジェネレータ１１５は、検証キー１３６をドメイン所有者ＤＮＳサーバ１３０上のＤＮＳエントリ１３５にレコードとして配置する。
【００３５】
キーペアジェネレータ１１５は、サードパーティＤＮＳサーバ１４０に記憶されている暗号化キー１４６で委任プライベートキー１１７を暗号化することによって、暗号化された委任プライベートキー１３８をさらに生成し、この暗号化された委任プライベートキー１３８をドメイン所有者ＤＮＳサーバ１３０においてレコードとして記憶する。暗号化キー１４６は、キーペアの一部としてサードパーティシステム１２０によって生成される。したがって、サードパーティシステム１２０のみが、委任プライベートキー１３８を取り出すために暗号化された委任プライベートキー１３８を暗号化解除することができ、これはドメイン所有者に代わってデータを署名および／または暗号化するためにサードパーティシステム１２０によって使用されてもよい。
【００３６】
サードパーティシステム１２０は、ドメイン所有者によってサードパーティシステム１２０に安全に渡された委任プライベートキーを使用してドメイン所有者に代わってデータを署名または暗号化する。サードパーティシステム１２０は、１つまたは複数のコンピューティングシステムを備え、ここで、図４を参照して説明されるコンピューティングシステムと同様に構成されてもよい
【００３７】
示されているように、サードパーティシステム１２０は、署名モジュール１２６、キーペアジェネレータ１２５、および暗号化解除キー１２７を含む。示されるサードパーティシステム１２０は図１に示される要素を含むが、その他の実施形態において、サードパーティシステム１２０は異なる要素を含むことができる。たとえば、サードパーティシステム１２０は、公開鍵暗号方式の仕組みにおいて使用されるべき追加のキーを含むことができる。さらに、各要素の機能は、その他の実施形態において要素間に異なる形でもたらされてもよい。
【００３８】
サードパーティシステム１２０の署名モジュール１２６は、プライベートキーを使用してドメイン所有者に代わってメッセージまたはその他のデータに署名する。署名の方法は、公開鍵暗号方式における周知の方法に基づいてもよい。例として、サードパーティシステム１２０は、セキュリティシステム、データ／メッセージ配信サービス、または複数のドメイン所有者に集中メッセージングシステムを提供するその他のサードパーティプロバイダであってもよい。サードパーティシステム１２０は、ドメイン所有者システム１１０に代わってデータおよび／またはその他のメッセージを１つまたは複数の受信者に送信し、データが真正であり改ざんされていないことを受信者が検証できるようにそのデータに署名することもできる。これを行うために、署名モジュール１２６は、ドメイン所有者システム１１０によって提供された暗号化された委任プライベートキー１３８を取り出す。暗号化された委任プライベートキー１３８は、暗号化キー１４６を使用して暗号化された委任プライベートキー１１７である。署名モジュール１２６は、委任プライベートキー１１７にアクセスするために、サードパーティシステム１２０に記憶されている暗号化解除キー１２７を使用して暗号化された委任プライベートキー１３８を暗号化解除することができる。署名モジュール１２６は、受信者に送信されるべきデータの署名を生成するために、暗号化解除化された委任プライベートキー１１７を使用。サードパーティシステムは、署名およびもとのデータを受信者に送信する。
【００３９】
サードパーティシステム１２０のキーペアジェネレータ１２５は、ドメイン所有者に代わってデータの署名を容易にするためにパブリック／プライベートキーペアを生成する。１つの実施形態において、サードパーティシステム１２０がデータに署名すべき各ドメイン所有者について、キーペアジェネレータ１２５は、暗号化解除キー１２７（プライベートキー）および暗号化キー１４６（）を生成する。サードパーティシステム１２０は、サードパーティＤＮＳサーバ１４０上のＤＮＳエントリ１４５のレコードで暗号化キー１４６をパブリッシュし、ドメイン所有者システム１１０が委任プライベートキー１１７を暗号するためにこれを取り出して暗号化された委任プライベートキー１３８を生成するようにする。
【００４０】
検証エージェント１６０は、サードパーティシステム１２０によって署名された署名を検証し、図４で説明されているコンピューティングシステムと同様に構成されてもよい。たとえば、検証エージェント１６０は、サードパーティシステム１２０によって署名されたデータを受信するサーバであってもよい。
【００４１】
検証エージェント１６０は、これが受信したデータの署名を検証するための署名検証器１６５を含む。このデータは、ドメイン所有者システム１１０に代わってサードパーティシステム１２０によって署名されている場合も、またはドメイン所有者システム１１０自体によって署名されている場合もある。署名を検証するため、署名検証器１６５は、ドメイン所有者システム１１０によってＤＮＳエントリ１３５でパブリッシュされた検証キー１３６を使用し、受信したデータが有効であり真正であることを署名が示すかどうかを決定する。たとえば、受信されたデータは、サードパーティシステム１２０によって委任プライベートキー１１７を使用して暗号化されたハッシュにより、ハッシュされている場合もある。署名検証器１６５は、検証キー１３６を使用してハッシュを暗号化解除し、ハッシュが、データのローカルに計算されたハッシュと一致するかどうかを決定する。２つのハッシュが一致する場合、署名検証器１６５は、データが正当なものであることを示す。それ以外の場合、署名検証器１６５は、メッセージが正当なものではないことを示す。
【００４２】
上記で説明されているシステム１００を使用して、サードパーティシステム１２０は、ドメイン所有者に代わってメッセージに署名することができる。これは、登録済みのドメイン所有者が、彼らのドメイン識別に関連付けられている権限を委任したいと考えるサードパーティに、委任プライベートキーを安全に配信できる方法を提供することができる。一部の実施形態において、これは、登録済みドメイン所有者もサードパーティのいずれも初期セットアップ後にＤＮＳレコードを手動で更新する必要がないといった利点をもたらす。上記で説明されているプロセスに関する追加の詳細は、図２〜図３を参照して説明される。
【００４３】
キーペア生成の例示のインタラクション図
図２は、１つの実施形態によるドメイン所有者に代わってサードパーティシステム１２０がキーを生成できるようにするための例示的なプロセスを示すインタラクション図および流れ図である。１つの実施形態において、図２では、処理中の操作が示されている要素に起因するものとしている。しかし、ステップの一部または全部は、その他の要素によって実行されてもよい。加えて、一部の実施形態は、並行して操作を実行するか、異なる順序で操作を実行するか、または異なる操作を実行することができる。また、１つの例示の実施形態において、ステップおよび／またはモジュールは、図４に関して説明されているプロセッサ４０２によって実行され得る、たとえば命令４２４のような命令として具現されてもよいことに留意されたい。
【００４４】
１つの実施形態において、サードパーティシステム１２０は、任意の数のよく知られているパブリックキー暗号化アルゴリズムの１つを使用して暗号化解除および暗号化キーペアを生成する２１０。そのような公開鍵暗号方式のアルゴリズムの非限定的な例は、２０４８ビットのＲｉｖｅｓｔ−Ｓｈａｍｉｒ−Ａｄｌｅｍａｎ（ＲＳＡ）であろう。
【００４５】
暗号化解除キー１２７は、このキーペアのプライベート部分であり、後の使用のために内部で記憶されてもよい。暗号化キー１４６は、このキーペアのパブリック部分であり、サードパーティシステム１２０に署名権限を委任しようと考え得る任意のドメインにＤＮＳを介して使用可能であるように、サードパーティＤＮＳサーバ１４０においてＤＮＳエントリ１４５のレコードとしてパブリッシュされてもよい２１５。
【００４６】
暗号化キー１４６は、任意のドメイン下でパブリッシュされ得る。１つの実施形態において、暗号化キーレコードのパブリケーションは、ａ）レコードがサードパーティシステム１２０に登録されているゾーン内でパブリッシュされる、およびｂ）レコードの場所がサードパーティシステム１２０が委任プライベートキーを取得するドメイン所有者システム１１０と共有されるようなものであってもよい。
【００４７】
暗号化キーパブリケーションの非限定的な例として、Ｅｘａｍｐｌｅ  Ｃｏｒｐ社が、ドメイン「ｅｘａｍｐｌｅｃｏｒｐ．ｃｏｍ」の登録済み所有者であり、ドメイン所有者のサードパーティシステム１２０としての役割を果たすものとする。この場合、Ｅｘａｍｐｌｅ  Ｃｏｒｐの暗号化キー１４６を含むレコードは、ドメインゾーン「＿ｅｎｃｒ．＿ｄｄｋｉｍ．ｅｘａｍｐｌｅｃｏｒｐ．ｃｏｍ」においてパブリッシュされてもよいが、これはそのドメインがＥｘａｍｐｌｅ  Ｃｏｒｐに登録されているゾーン内にあるからである。ドメイン所有者は、このレコードの場所を通知されるか、または暗号化キー１４６を有するレコードの場所を示すドメインゾーンの標準化命名スキームに基づいてこれを自動的に見つけ出すことができる。
【００４８】
１つの実施形態において、サードパーティシステム１２０は、各レコードが別個の暗号化キー１４６を含み、各々が１つまたは複数のドメイン所有者（つまり、許可側ドメイン）との使用を意図されている、複数のレコードを有する。そのような場合、暗号化キー１４６を有する多数の異なるレコードは、サードパーティシステム１２０によってパブリッシュされてもよい。たとえば、前の例に戻って参照すると、これらのレコードは以下の場所においてパブリッシュされてもよい。
１）  ｓｅｎｄｅｒｄｏｍａｉｎ１．＿ｅｎｃｒ．＿ｄｄｋｉｍ．ｅｘａｍｐｌｅｃｏｒｐ．ｃｏｍ、
２）  ｓｅｎｄｅｒｄｏｍａｉｎ２．＿ｅｎｃｒ．＿ｄｄｋｉｍ．ｅｘａｍｐｌｅｃｏｒｐ．ｃｏｍ、
３）  ｓｅｎｄｅｒｄｏｍａｉｎ３．＿ｅｎｃｒ．＿ｄｄｋｉｍ．ｅｘａｍｐｌｅｃｏｒｐ．ｃｏｍ、など。
【００４９】
暗号化キー１４６を含むレコードのフォーマットは、異なる場合もある。１つの実施形態において、暗号化キー１４６を備えるＤＮＳレコードは、ドメイン所有者サーバシステム１１０（およびキーペアジェネレータ１１５）によって読み取られ得るフォーマットである。１つの実施形態において、暗号化キー１４６を備えるレコードはまた、１）このレコードと、このドメイン上でパブリッシュされ得る他のテキストレコードを区別するトークン、２）レコードの作成時間、３）レコードの満了時間、４）同じサブドメイン上で複数の暗号化キー１４６のパブリケーションを可能にするセレクタフィールド、および５）暗号化に使用されるべきアルゴリズムを示すフィールド、を含む多数の情報のその他の部分も含むが、これらに限定されることはない。
【００５０】
そのようなフォーマットの例は、「ｖ＝ＥＮＣＤＤＫＩＭ１；ｋ＝＜．．．＞」というコンテンツを備えるレコードであり、ここで「ｋ＝」に続く値は、Ａｂｓｔｒａｃｔ  Ｓｙｎｔａｘ  Ｎｏｔａｔｉｏｎ  Ｏｎｅ  Ｄｉｓｔｉｎｇｕｉｓｈｅｄ  Ｅｎｃｏｄｉｎｇ  Ｒｕｌｅｓ（ＡＳＮ．１  ＤＥＲ）でエンコードされた暗号化キー値であり、暗号化キーがＲＳＡ−２０４８を使用して生成されたと仮定している。
【００５１】
１つの実施形態において、サードパーティシステム１２０が暗号化キー１４６または暗号化解除キー１２７を再生成する必要がある場合、サードパーティシステム１２０は、キーペアが初めて生成される場合と同様のプロセスを繰り返す。これは、障害条件、損傷したキー、またはその他の理由により必要とされてもよい。
【００５２】
ドメイン所有者の側において、ドメイン所有者システム１１０は、データ署名の委任のためにサードパーティシステム１２０を識別する２４５。１つの実施形態において、これを行うために、ドメイン所有者システム１１０は、サードパーティシステム１２０の識別情報でキーペアジェネレータ１１５の構成を更新する。ドメイン所有者システム１１０は、サードパーティＤＮＳサーバ１４０において暗号化キー１４６を有するＤＮＳエントリが存在するかどうかをチェックする。サードパーティＤＮＳサーバ１４０の場所は、ドメイン所有者システム１１０に外部から提供されてもよいか、またはドメイン所有者システム１１０がサードパーティシステム１２０の提供されたドメインネームを使用してサードパーティＤＮＳサーバ１４０の場所を見出すことができる場合もある。
【００５３】
ドメイン所有者システム１１０は、要求２８２をＤＮＳに送信することによって暗号化キー１４６が存在するかどうかをチェックする。ＤＮＳレコードが存在する場合、ドメイン所有者システム１１０は、サードパーティシステム１２０の暗号化キー１４６を含むＤＮＳレコードを伴う応答２８４を受信する。ドメイン所有者システム１１０は、受信した暗号化キー１４６をレコードから抽出する２５０。
【００５４】
１つの実施形態において、ドメイン所有者システム１１０はまた、１）受信した応答２８４のバイトの暗号化キーが復号され得ること、２）復号されたバイトが予想される暗号化アルゴリズムの有効キーに対応すること、または３）応答２８４のＤＮＳレコードのメタデータが一部の基準を満たすことを保証することを含み得る１つまたは複数の異なる操作を通じて暗号化キー１４６を妥当性検証する２５５。
【００５５】
たとえば、ドメイン所有者システム１１０は、暗号化キー１４６を含む受信したＤＮＳ  ＴＸＴレコードが「ｖ＝ＥＮＣＤＤＫＩＭ；ｋ＝」で始まること、および「ｋ＝」に続く値がＡＳＮ．１  ＤＥＲでエンコードされたＲＳＡパブリックキー（つまり、暗号化キー）に対応することを保証することができる。
【００５６】
暗号化キー１４６の妥当性検証が失敗する場合、ドメイン所有者システム１１０は、エラーをログする、および／またはアラートチャネル（図示せず）にアラートを送信することができる。それ以外の場合、ドメイン所有者システム１１０は、選択されたパブリックキーアルゴリズム（たとえば、ＲＳＡ−２０４８、ＳＨＡ−１）を使用して、委任プライベートキー１１７および検証キー１３６を備えるキーペアを生成する２６０。
【００５７】
ドメイン所有者システム１１０は、暗号化キー１４６を使用して委任プライベートキー１１７を暗号化する２６５。ドメイン所有者システム１１０は、暗号化および暗号化解除キーペアおよび／または委任プライベートキーおよび検証キーペアを生成するために使用されたパブリックキーアルゴリズムを使用するなど、さまざまな暗号化方法を使用して、委任プライベートキー１１７を暗号化することができる。たとえば、暗号化アルゴリズムは、ＲＳＡ−２０４８であってもよい。もう１つの例として、ドメイン所有者システム１１０は、委任プライベートキー１１７を１０２４バイトのブロックに分割することができ、暗号化キー１４６を暗号化キーとしてＲＳＡ−２０４８を使用して各ブロックを暗号化する。ドメイン所有者システム１１０は、結果として生じた出力ブロックを連結して、暗号化された委任プライベートキー１３８を生成するためにそれらをＢａｓｅ６４でエンコードする。
【００５８】
委任プライベートキー１１７を暗号化して暗号化された委任プライベートキー１３８生成した後、ドメイン所有者システム１１０は、ドメイン所有者ＤＮＳサーバ１３０上で暗号された化委任プライベートキー１３８をパブリッシュする２７０。具体的には、１つの実施形態において、ドメイン所有者システム１１０は、暗号化された委任プライベートキー１３８をＴＸＴレコードとしてパブリッシュする。
【００５９】
一部の実施形態において、このＤＮＳ  ＴＸＴレコードは、適切なＤＮＳクエリをサブミットする任意のクライアントに一般に使用可能にされてもよいが、その他の実施形態において、このクエリの結果は、クライアントまたはクエリの特性（たとえば、クライアントＩＰアドレス、時刻）に基づいて変化することがある。これらの後者の実施形態において、これは、暗号化された委任プライベートキー１３８を暗号化解除するために使用され得る暗号化解除キー１２７の漏洩に対するセキュリティの追加的レベルを有効にすることができる。たとえば、ドメイン所有者システム１１０は、暗号化された委任プライベートキー１３８を含むＤＮＳ  ＴＸＴレコードで、サードパーティシステム１２０によって所有されていると知られるＩＰアドレスのセットに応答するようにのみ（たとえば、スプリット−ホライズンＤＮＳまたはスプリット−ビューＤＮＳを用いて）ドメイン所有者ＤＮＳサーバ１３０を構成している場合もある。これは、たとえば暗号化キー１２７が破損している場合であっても、暗号化された委任プライベートキー１３８は、サードパーティシステム１２０によって制御されるインフラストラクチャ内部からしか使用され得ないことを保証する。
【００６０】
ドメイン所有者システム１１０は、任意のドメインで暗号化された委任プライベートキー１３８を有するＤＮＳレコードをパブリッシュすることができる２７０。１つの実施形態において、ドメイン所有者システム１１０は、署名が許可されるべきドメインのゾーン内に暗号化された委任プライベートキー１３８を有するＤＮＳレコードをパブリッシュする。１つの実施形態において、ドメイン所有者システム１１０は、慣例によるかまたは直接通信により、サードパーティシステム１２０によって知られている場所にＤＮＳレコードをパブリッシュする。
【００６１】
暗号化プロセスが明確であり、サードパーティシステム１２０に知られている限り、暗号化解除キー１２７を所有することで、サードパーティシステム１２０が暗号化された委任プライベートキー１３８を暗号化解除して委任プライベートキー１１７を取得できるようにする。さらに、暗号化された委任プライベートキー１３８を暗号化解除することができるのは、そのような暗号化解除には暗号化解除キー１２７の所有が必要となるので、サードパーティシステム１２０だけである。したがって、ドメイン所有者ＤＮＳサーバ１３０における暗号化された委任プライベートキー１３８のパブリケーションは安全である。
【００６２】
上記のプロセスの例として、サードパーティシステム１２０がＥｘａｍｐｌｅＣｏｒｐ．に属すものと仮定し、プライベートキーをＥｘａｍｐｌｅＣｏｒｐ．に委任しようとするドメインが「ｓｏｍｅｄｏｍａｉｎ．ｃｏｍ」であると仮定する。暗号化された委任プライベートキー１３８を含むＤＮＳレコードは、「ｅｘａｍｐｌｅｃｏｒｐ．ｃｏｍ．＿ｓｇｎ．＿ｄｄｋｉｍ．ｓｏｍｅｄｏｍａｉｎ．ｃｏｍ」のドメインにおいてパブリッシュされる場合もある。
【００６３】
暗号化された委任プライベートキー１３８を含むレコードのフォーマットは、異なっていてもよい。１つの実施形態において、レコードは、サードパーティシステム１２０によって読み取られ得るフォーマット（たとえば、テキスト、バイナリ、ビッグエンディアン、リトルエンディアンなど）の暗号化された委任プライベートキー１３８を含む。代替的実施形態において、レコードはまた、１）このレコードと、このドメイン上でパブリッシュされ得るその他のテキストレコードを区別するトークン、２）レコードの作成時間、３）レコードの満了時間、および４）同じサブドメイン上で暗号化された委任プライベートキーを有する複数のレコードのパブリケーションを可能にするセレクタフィールド、を含む多数の情報のその他の部分も含むが、これらに限定されることはない。
【００６４】
上記の例を再度参照すると、レコードのフォーマットは、「ｖ＝ＳＧＮＤＤＫＩＭｌ；ｋ＝＜．．．＞」であってもよく、ここで「Ｋ＝」に続く大括弧内の値は、上記で説明される暗号化された委任プライベートキー１３８である。
【００６５】
１つの実施形態において、ドメイン所有者システム１１０はまた、検証キー１３６をレコードとしてドメイン所有者ＤＮＳサーバ１３０にパブリッシュする２７５。一部の実施形態において、検証キー１３６のパブリケーションドメインおよび正確なフォーマットは、委任プライベートキー１３８が用いられる用途、および検証キー１３６を使用するパーティの対応する予想によって示される。
【００６６】
たとえば、委任プライベートキー１３８が、電子メール認証のＤＫＩＭプロセスの一部として署名キーとしての使用が意図されると仮定する。次いで、検証キー１３６を有するＤＮＳレコードのドメインおよびフォーマットは、ＤＫＩＭによって示される。この場合、以前の例を継続して、「ｅｘａｍｐｌｅｃｏｒｐ」のセレクタを仮定すると、レコードは、「ｅｘａｍｐｌｅｃｏｒｐ．＿ｄｏｍａｉｎｋｅｙ．ｓｏｍｅｄｏｍａｉｎ．ｃｏｍ」においてパブリッシュされ、レコード本体は「ｖ＝ＤＫＩＭｌ；ｐ＝＜．．＞」となり、ここで「ｐ＝」の後の＜＞内の値は、検証キー１３６のＡＳＮ１．ＤＥＲでエンコードされたフォームである。
【００６７】
１つの実施形態において、サードパーティシステム１２０が、委任プライベートキー１３８が発行されているドメインに署名することを前もって許可されている場合、ドメイン所有者システム１１０は、現在廃止のキーの使用を阻止するため、以前暗号化された委任プライベートキーまたは検証キーを含む任意の既存のレコードをドメイン所有者ＤＮＳサーバ１３０からさらに削除することができる。しかし、このプロセスは、すでに署名されている場合もあるが、まだそれらの受信者によって検証されていない任意のメッセージが、正常に検証され得るように、遅延されてもよい。
【００６８】
１つの実施形態において、キーは、サードパーティシステム１２０の初期構成以外のイベントに応じて再生成される。たとえば、サードパーティシステム１２０がその暗号化キー１４６のＤＮＳレコードを新しい暗号化キーで更新することで、この再生成をトリガーする場合がある。１つの実施形態において、ドメイン所有者システム１１０は、そのような変化を検出するために、定期的に暗号化キー１４６を含むレコードをポーリングする。１つの実施形態において、ドメイン所有者システム１１０は、新しい委任プライベートキーおよび検証キーを生成することによる変化に反応するが、その他の実施形態において、ドメイン所有者システム１１０は、既存の委任プライベートキーを新しい暗号化キーで単に暗号化して、新しい暗号化された委任プライベートキーをドメイン所有者ＤＮＳサーバ１３０にパブリッシュする。
【００６９】
１つの実施形態において、ドメイン所有者システム１１０は、既存のキーペアを取り消して、上記で説明されるプロセスを使用してこれを新しいキーペアに置き換える。これは、一部のセキュリティブリーチのために行われるか、または時間の経過に応じて単にベストプラクティスとして行われる場合もある。
【００７０】
データ署名の例示のインタラクション図
図３は、１つの実施形態によるドメイン所有者に代わってサードパーティシステム１２０がメッセージに署名できるようにするための例示的なプロセスを示すインタラクション図および流れ図である。１つの実施形態において、図３は、処理中の操作が示されている要素に起因するものとしている。しかし、ステップの一部または全部は、その他の要素によって実行されてもよい。加えて、一部の実施形態は、並行して操作を実行するか、異なる順序で操作を実行するか、または異なる操作を実行することができる。また、１つの例示の実施形態において、ステップおよび／またはモジュールは、図４に関して説明されているプロセッサ４０２によって実行され得る、たとえば命令４２４のような命令として具現されてもよいことに留意されたい。
【００７１】
サードパーティシステム１２０は、ドメイン所有者（図示せず）に代わってメッセージに署名することを求める要求を受信することができる３１０。サードパーティシステム１２０は、ドメイン所有者ＤＮＳサーバ１３０のような、ＤＮＳサーバ上の知られているレコード場所に記憶されている暗号化された委任プライベートキー１３８にアクセスすることができる３１５。このレコードが見つからない場合、サードパーティシステム１２０はエラーを示すことができる。それ以外の場合、サードパーティシステム１２０は、以前サードパーティシステム１２０によって生成されたローカルに記憶されている暗号化解除キー１２７を使用して暗号化された委任プライベートキー１３８を暗号化解除する３２０。
【００７２】
１つの実施形態において、サードパーティシステム１２０は、暗号化解除された委任プライベートキー１１７を妥当性検証する３２５。委任プライベートキー１１７の妥当性検証は、１）バイトが復号され得ること、２）復号されたバイトが予想される暗号化アルゴリズムの有効キーに対応すること、または３）暗号化された委任プライベートキー１３８を含むＤＮＳレコードのメタデータが一部の基準（たとえば、満了時間、作成時間、使用された暗号化アルゴリズムなど）を満たすことを保証することなどの多くの可能なステップを含むことができる。
【００７３】
たとえば、サードパーティシステム１２０は、暗号化された委任プライベートキーを含むＤＮＳレコードのフォーマットが「ｖ＝ＳＧＮＤＤＫＩＭ；ｋ＝＜．．．＞」と一致すること、および「ｋ＝」に続く値が上記で説明される暗号化された委任プライベートキーに対応することを妥当性検証することができる。
【００７４】
委任プライベートキー１１７が有効と認められると仮定して、サードパーティシステム１２０は、委任プライベートキー１１７をデータの署名プロセスへの入力として使用する。このデータは、電子メールのようなメッセージであってもよく、対称キー交換に使用されてもよい、他である。１つの実施形態において、サードパーティシステム１２０は、委任プライベートキー１１７を使用してデータの署名を生成する３３０。次いで、この署名は、検証エージェント１６０によって検証される３５０。署名プロセスがパブリックキー暗号署名を採用するのであれば、プロセスの厳密な詳細は、方法にとって重要ではない。そのようなプロセスの１つの非限定的な例は、委任プライベートキー１１７をアウトバウンド電子メールのＤＫＩＭ署名として使用することであろう。
【００７５】
メッセージ署名の例は、委任プライベートキーの配信のためのシステムおよび方法がどのように使用され得るかの現実世界の例であるが、メッセージ署名の具体事例は非限定的なものと見なされるべきである。上記で説明されるように、メッセージ署名は、この方法の重要なユースケースであるが、この方法が価値を高めるのはそのようなプロセスだけにとどまらない。
【００７６】
例示のマシンアーキテクチャ
図４は、プロセッサ（またはコントローラ）において機械可読媒体から命令を読み取り、それらを実行することができる例示のマシンのコンポーネントを示すブロック図である。具体的には、図４は、コンピュータシステム４００の例示の形式でマシンの図表示を示す。コンピュータシステム４００は、マシンに、本明細書において説明される方法論（またはプロセス）の任意の１つまたは複数を実行させるための命令４２４（たとえば、プログラムコードまたはソフトウェア）を実行するために使用されてもよい。代替的実施形態において、マシンは、スタンドアロンのデバイスとして、またはその他のマシンに接続する接続された（たとえば、ネットワーク化された）デバイスとして動作する。ネットワーク化された配備において、マシンは、サーバ−クライアントネットワーク環境におけるサーバマシンまたはクライアントマシンの能力で、またはピアツーピア（または分散）ネットワーク環境におけるピアマシンとして、動作することができる。
【００７７】
マシンは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、スマートフォン、モノのインターネット（ＩｏＴ）アプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべきアクションを指定する命令４２４を（順次または別の方法で）実行することができる任意のマシンであってもよい。さらに、単一のマシンのみが示されているが、「マシン」という用語はまた、本明細書において説明される方法論の１つまたは複数を実行するために個別にまたは合同で命令４２４を実行するマシンの任意の集合体を含むように解釈されるものとする。
【００７８】
例示のコンピュータシステム４００は、１つまたは複数の処理ユニット（一般にプロセッサ４０２）を含む。プロセッサ４０２は、たとえば、中央演算処理装置（ＣＰＵ）、グラフィックス処理ユニット（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、コントローラ、状態マシン、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、１つまたは複数の無線周波数集積回路（ＲＦＩＣ）、またはこれらの任意の組合せである。コンピュータシステム４００はまた、メインメモリ４０４を含む。コンピュータシステムは、記憶ユニット４１６を含むことができる。プロセッサ４０２、メモリ４０４、および記憶ユニット４１６は、バス４０８を介して通信する。
【００７９】
加えて、コンピュータシステム４００は、スタティックメモリ４０６、ディスプレイドライバ４１０（たとえば、プラズマディスプレイパネル（ＰＤＰ）、液晶ディスプレイ（ＬＣＤ）、またはプロジェクタを駆動するため）を含むことができる。コンピュータシステム４００はまた、英数字入力デバイス４１２（たとえば、キーボード）、カーソル制御デバイス４１４（たとえば、マウス、トラックボール、ジョイスティック、モーションセンサー、またはその他のポインティング機器）、信号発生デバイス４１８（たとえば、スピーカー）、およびバス４０８を介して通信するようにも構成されるネットワークインターフェイスデバイス４２０を含むことができる。
【００８０】
記憶ユニット４１６は、本明細書において説明される方法論または機能の１つまたは複数を具現する命令４２４（たとえば、ソフトウェア）が記憶されている機械可読媒体４２２を含む。命令４２４はまた、機械可読媒体も構成するコンピュータシステム４００、メインメモリ４０４、およびプロセッサ４０２によるその実行中に、メインメモリ４０４内またはプロセッサ４０２内（たとえば、プロセッサのキャッシュメモリ内）に、完全にまたは少なくとも部分的に、常駐することができる。命令４２４は、ネットワークインターフェイスデバイス４２０を介してネットワーク４２６上で送信または受信されてもよい。
【００８１】
機械可読媒体４２２は、例示の実施形態において単一の媒体として示されているが、「機械可読媒体」という用語は、命令４２４を記憶することができる単一の媒体または複数の媒体（たとえば、中央もしくは分散データベース、または関連するキャッシュおよびサーバ）を含むように解釈されるものとする。「機械可読媒体」という用語はまた、マシンによる実行のために命令４２４を記憶することができ、マシンに、本明細書において説明される方法論の１つまたは複数を実行させる任意の媒体を含むように解釈されるものとする。「機械可読媒体」という用語は、ソリッドステートメモリ、光媒体、および磁気媒体の形態のデータリポジトリを含むが、これらに限定されることはない。
【００８２】
追加の考慮事項
この明細書全体を通じて、複数の例は、単一の例として説明されるコンポーネント、操作、または構造を実施することができる。１つまたは複数の方法の個々の操作は別個の操作として示され説明されているが、個々の操作の１つまたは複数は同時に実行されてもよく、操作が示されている順序で実行されることは必要としない。例示の構成において別個のコンポーネントとして提示される構造および機能は、組み合わされた構造またはコンポーネントとして実施されてもよい。同様に、単一のコンポーネントとして提示される構造および機能は、別個のコンポーネントとして実施されてもよい。これらのならびにその他の変形、変更、追加、および改良は、本明細書における主題の範囲内に含まれる。
【００８３】
本明細書において特定の実施形態が、たとえば、図１〜図５に示されるように、論理、または複数のコンポーネント、モジュール、もしくはメカニズムを含むものとして説明される。モジュールは、ソフトウェアモジュール（たとえば、機械可読媒体または送信信号で具現されたコード）またはハードウェアモジュールを形成することができる。ハードウェアモジュールは、特定の操作を実行することができる有形のユニットであり、特定の方法で構成されるかまたは配置されてもよい。例示の実施形態において、１つまたは複数のコンピュータシステム（たとえば、スタンドアロン、クライアントまたはサーバコンピュータシステム）もしくはコンピュータシステムの１つまたは複数のハードウェアモジュール（たとえば、プロセッサ、またはプロセッサのグループ）は、本明細書において説明される特定の操作を実行するように動作するハードウェアモジュールとしてソフトウェア（たとえば、アプリケーション、またはアプリケーション部分）によって構成されてもよい。
【００８４】
さまざまな実施形態において、ハードウェアモジュールは、機械的または電子的に実施されてもよい。たとえば、ハードウェアモジュールは、特定の操作を実行するために、（たとえば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）のような、特殊用途プロセッサとして）永続的に構成される専用の回路または論理を備えることができる。ハードウェアモジュールはまた、特定の操作を実行するためにソフトウェアによって一時的に構成されるプログラマブル論理または回路（たとえば、汎用プロセッサまたはその他のプログラマブルプロセッサ内に含まれる）を備えることができる。専用の永続的に構成された回路において、または一時的に構成された回路（たとえば、ソフトウェアによって構成された）において、ハードウェアモジュールを機械的に実施するという決定は、コストと時間の考慮によって推進されてもよいことが理解されよう。
【００８５】
本明細書において説明される例示の方法のさまざまな操作は、（たとえば、ソフトウェアによって）一時的に構成されるか、または関連する操作を実行するように永続的に構成される１つまたは複数のプロセッサによって、少なくとも部分的に、実行されてもよい。一時的または永続的のいずれに構成されても、そのようなプロセッサは、１つまたは複数の操作または機能を実行するように動作するプロセッサ実施のモジュールを形成することができる。本明細書において参照されるモジュールは、一部の例示の実施形態において、プロセッサ実施のモジュールを備える。
【００８６】
１つまたは複数のプロセッサはまた、「クラウドコンピューティング」環境において、または「サービスとしてのソフトウェア」（ＳａａＳ）として、関連する操作のパフォーマンスをサポートするように動作することができる。たとえば、操作の少なくとも一部は、（プロセッサを含むマシンの例として）コンピュータのグループによって実行されてもよく、それらの操作はネットワーク（たとえば、インターネット）を介して、および１つまたは複数の適切なインターフェイス（たとえば、アプリケーションプログラムインターフェイス（ＡＰＩ））を介してアクセス可能である。
【００８７】
特定の操作のパフォーマンスは、１つまたは複数のプロセッサ間で分散されて、単一のマシン内に存在するだけではなく、複数のマシンにわたり配備されてもよい。一部の実施形態において、１つまたは複数のプロセッサまたはプロセッサ実施のモジュールは、単一の地理的場所（たとえば、自宅環境、オフィス環境、またはサーバファーム内）に配置されてもよい。その他の例示の実施形態において、１つまたは複数のプロセッサまたはプロセッサ実施のモジュールは、複数の地理的場所にわたり分散されてもよい。
【００８８】
この明細書の一部分は、アルゴリズム、すなわちマシンメモリ（たとえば、コンピュータメモリ）内にビットまたは２進デジタル信号として記憶されたデータへの操作の記号表記に関して提示される。これらのアルゴリズムまたは記号表現は、データ処理技術分野の当業者によって、彼らの作業の要旨を他の当業者に伝達するために使用される技法の例である。本明細書において使用される、「アルゴリズム」は、望ましい結果を導く操作または類似する処理の首尾一貫したシーケンスである。このコンテキストにおいて、アルゴリズムおよび操作は、物理量の物理的操作を伴う。通常、ただし必須ではないが、そのような量は、マシンによる記憶、アクセス、転送、結合、比較、または操作が可能な電気、磁気、または光信号の形態をとることができる。場合によっては、主として共通使用の理由から、そのような信号を、「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「特徴」、「条件」、「番号」、「数値」などの語を使用して称することで利便性が高まる。しかし、これらの用語は、便宜的なラベルにすぎず、適切な物理量に関連付けられるべきである。
【００８９】
特に具体的な記述がない限り、「処理（ｐｒｏｃｅｓｓｉｎｇ）」、「演算（ｃｏｍｐｕｔｉｎｇ）」、「計算（ｃａｌｃｕｌａｔｉｎｇ）」、「決定（ｄｅｔｅｒｍｉｎｉｎｇ）」、「提示（ｐｒｅｓｅｎｔｉｎｇ）」、「表示（ｄｉｓｐｌａｙｉｎｇ）」などの用語を使用する本明細書における説明は、１つまたは複数のメモリ（たとえば、揮発性メモリ、不揮発性メモリ、またはその組合せ）、レジスタ、または情報を受信、記憶、送信、もしくは表示するその他のマシンコンポーネント内の物理的（たとえば、電子、磁気、または光）量として表されるデータを操作または変換するマシン（たとえば、コンピュータ）のアクションまたはプロセスを示すことができる。
【００９０】
本明細書において使用される「１つの実施形態（ｏｎｅ  ｅｍｂｏｄｉｍｅｎｔ）」または「実施形態（ａｎ  ｅｍｂｏｄｉｍｅｎｔ）」の参照は、実施形態に関連して説明される特定の要素、特徴、構造、または特性が、少なくとも１つの実施形態に含まれることを意味する。明細書のさまざまな箇所における「１つの実施形態において」という句の出現は、必ずしもすべてが同一の実施形態に言及するものではない。
【００９１】
一部の実施形態は、「結合された（ｃｏｕｐｌｅｄ）」および「接続された（ｃｏｎｎｅｃｔｅｄ）」という表現をそれらの派生語と共に使用して説明されてもよい。たとえば、一部の実施形態は、２つ以上の要素が直接に物理的または電気的に接触していることを示すために、「結合された」という用語を使用して説明されてもよい。しかし、「結合された」という用語はまた、２つ以上の要素が、相互に直接に接触してはいないが、それでも相互に共動または作用することを意味することができる。実施形態は、このコンテキストにおいて限定されることはない。
【００９２】
本明細書に使用されるように、「備える（ｃｏｍｐｒｉｓｅｓ）」、「備える（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｅｓ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、「有する（ｈａｓ）」、「有する（ｈａｖｉｎｇ）」、またはその任意の他の変形は、非排他的な包含を対象とすることが意図されている。たとえば、要素のリストを備えるプロセス、方法、項目、または装置は、必ずしもそれらの要素のみに限定されることはなく、明示的にリストされていないか、またはそのようなプロセス、方法、項目、もしくは装置に固有のその他の要素を含むことができる。さらに、相容れない明示的な記載がない限り、「または（ｏｒ）」は、排他論理和ではなく、包含論理和を示す。たとえば、条件ＡまたはＢは、Ａは真である（または存在する）かつＢは偽である（または存在しない）、Ａは偽である（または存在しない）かつＢは真である（または存在する）、およびＡとＢが共に真である（または存在する）のうちのいずれか１つによって満足される。
【００９３】
加えて、「ａ」または「ａｎ」の使用は、本明細書において実施形態の要素およびコンポーネントを説明するために採用される。これは、単に利便性のため、および本発明の一般的な意味をもたらすために行われているにすぎない。この説明は、１つまたは少なくとも１つを含むものと解釈されるべきであり、単数形はまた、それ以外を意味することが明白ではない限り、複数形を含む。
【００９４】
この開示を読むことで、当業者は、ＤＮＳを介するプライベートキーの安全な委任配信を可能にするシステムおよび方法のためのさらなる追加の代替的構造および機能設計を理解するであろう。したがって、特定の実施形態および適用が示され、説明されてきたが、開示される実施形態は、本明細書において開示される厳密な構築およびコンポーネントに限定されないことを理解されたい。当業者には容易に明らかとなるさまざまな変形、変更、および変種は、添付の特許請求の範囲において定義される精神および範囲を逸脱することなく、本明細書において開示される方法および装置の配置、操作、および詳細において行われてもよい。
【図１】
0006526244.tif 000002
【図２】
0006526244.tif 000003
【図３】
0006526244.tif 000004
【図４】
0006526244.tif 000005