JP6526244B2 - ドメインネームサービスを介するプライベートキーの安全な委任された配信 - Google Patents

ドメインネームサービスを介するプライベートキーの安全な委任された配信 Download PDF

Info

Publication number
JP6526244B2
JP6526244B2 JP2017560879A JP2017560879A JP6526244B2 JP 6526244 B2 JP6526244 B2 JP 6526244B2 JP 2017560879 A JP2017560879 A JP 2017560879A JP 2017560879 A JP2017560879 A JP 2017560879A JP 6526244 B2 JP6526244 B2 JP 6526244B2
Authority
JP
Japan
Prior art keywords
key
private key
dns
encrypted
party system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017560879A
Other languages
English (en)
Other versions
JP2018506939A (ja
JP2018506939A5 (ja
Inventor
マーティン ゴールドスタイン ピーター
マーティン ゴールドスタイン ピーター
Original Assignee
ヴァリメール インコーポレイテッド
ヴァリメール インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ヴァリメール インコーポレイテッド, ヴァリメール インコーポレイテッド filed Critical ヴァリメール インコーポレイテッド
Publication of JP2018506939A publication Critical patent/JP2018506939A/ja
Publication of JP2018506939A5 publication Critical patent/JP2018506939A5/ja
Application granted granted Critical
Publication of JP6526244B2 publication Critical patent/JP6526244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は概して、ネットワーキングの分野に関し、詳細にはドメインネームサービス(DNS)を介するプライベートキーの安全な委任された配信に関する。
関連出願の相互参照
本出願は、参照により全体が本明細書に援用される、2015年2月14日出願の米国特許仮出願第62/116,414号明細書の利益を主張するものである。
電子メール(Eメール)のような分散メッセージングシステムにおいて、不正なメッセージを除去するため、メッセージの自称の識別に対して、メッセージの発信者を妥当性検証する必要がある。この問題に対する1つの手法は、公開鍵暗号方式を使用してメッセージを検証することである。この手法において、暗号化ハッシュは、メッセージが識別に関連付けられていることを妥当性検証するために使用される。1つまたは複数のパブリックキーは、グローバルに可視的なディレクトリにおいてパブリッシュされ、そこでは識別の保持者のみがディレクトリ内にレコードをパブリッシュすることを許可される。許可された送信者は、対応するプライベートキーを所有しており、このキーを使用してメッセージのハッシュ化されたバージョンを暗号化して、暗号化されたハッシュをメッセージのメタデータとして含めることができる。受信者は、パブリックキーを使用してメタデータを暗号化解除して、それとそれら自身、独立に生成されたメッセージのハッシュとを比較することができる。ハッシュが一致する場合、その送信者は正当である。DomainKeys Identified Mail(DKIM)は、電子メール向けのこのシステムの標準的な実装である。
この手法は極めて効果的となり得るが、これは複数の署名エンティティがある場合にはいくつかの問題を有する。プライベートキー配信は、単一の共有ドメインからの単一の共有ドメインに対して許可された(したがって有効なプライベートキーを有するはずである)メッセージに署名することを許可される複数の異なるエンティティがある場合に困難な問題となる。たとえば、「acme.com」の管理者が、「ajax.com」からのメッセージの署名を許可しようとする場合、各ドメインは有効なプライベートキーが必要になる。
1つの手法は、共有を除去するために、プライマリドメインの異なるサブドメインを、異なる署名組織に割り振ることである。この状況において、各署名組織は、そのサブドメインについてグローバルディレクトリを完全に制御している。これは機能し得るが、各組織がプライマリドメインの異なるサブドメインを必要とするので、単一のドメインで複数の送信者をサポートするという主要目的を果たすことはできない。
あるいは、各署名エンティティは、各自のプライベート/パブリックキーのペアを生成し、グローバルディレクトリにおいてパブリッシュするためにパブリックキーを許可側ドメイン所有者に提供することができる。対応するパブリックキーをグローバルディレクトリ内の適切な場所でパブリッシュすることによって、ドメイン所有者は、これが署名権限を署名エンティティに委任していることを通知する。しかし、この手動のプロセスは、許可側ドメイン所有者にとってエラーを生じやすく、しかも負担となる傾向がある。これはキーが交換されるごとに手動プロセスの繰り返しを必要とするので、これはまたキー循環のようなベストプラクティスを組み込むことを困難にして、実際問題としてキーが更新されないこともあるという状況を生じることになる。
したがって、欠如しているものは、安全な自動化された方式で共有ドメインに対して許可された委任プライベートキーを生成して、そのようなキーの信頼性の高い管理および更新と同様に、複数の異なるエンティティに配信する機能である。
一部の実施形態において、ドメインネームサービス(DNS)を介して公開鍵暗号方式の委任プライベートキーを安全に配信するためのシステムおよび方法は、ドメインネームサービス(DNS)を介するプライベートキーの安全な自動化配信を可能にするために公開鍵暗号方式を使用するステップを備えることができる。そのような委任プライベートキーは、ドメイン所有者から、DNSでパブリッシュされた暗号化データを介してサードパーティエンティティに配信される。ドメイン所有者は、それらのドメインのDNSゾーン内のDNSレコードでパブリックキーをパブリッシュする。次いで、サードパーティエンティティは、対称キー交換をネゴシエートするため、または用途に応じて適切なその他の目的で、ドメイン所有者に代わって、メッセージ署名のための対応するプライベートキーを使用することができる。自動システムは、これらのプライベート/パブリックキーのペアを作成および更新すること、ならびにそれらをドメイン所有者によって管理されるドメイン上の適切なDNSレコードにパブリッシュすることを処理する。
一部の実施形態において、(たとえば、ドメイン所有者に代わってメッセージに署名するため)ドメイン所有者によって許可されたプライベートキーを使用しようとするサードパーティエンティティは、公開鍵暗号方式のアルゴリズムを使用して専用のキーペアを生成する。このキーペアは、暗号化解除キーおよび暗号化キーから成る。サードパーティエンティティは、暗号化キーをDNS TXTレコードとして(たとえば、サードパーティエンティティによって所有される既知のドメインのプロトコル定義されたサブドメイン上の)明確な場所にパブリッシュし、暗号化解除キーを秘密にしておく。
一部の実施形態において、ドメインネームサービス(DNS)を介して委任プライベートキーを安全に配信するためのシステムおよび方法は、許可側ドメインの所有者に代わって動作する自動システムを含むことができる。この自動システムは、ここで、キーペアジェネレータとして参照される。キーペアジェネレータは、特定のサードパーティエンティティが、特定の許可側ドメインに関連付けられているプライベートキーを使用できるようにするように構成されてもよい。この状況において、キーペアジェネレータは、上記サードパーティエンティティの暗号化キーレコードが存在するかどうかをチェックすることができる。一部の実施形態において、そのような暗号化キーレコードが検出され、許可側ドメインの所有者が権限をサードパーティエンティティに委任しようとする場合、キーペアジェネレータは、委任プライベートキー(プライベートキー)および検証キー(パブリックキー)を含む新たな公開鍵暗号法によるキーペアを生成することができる。キーペアジェネレータは、暗号化キーレコードから取り出された暗号化キーを使用して委任プライベートキーを暗号化して、検証キーおよび暗号化された委任プライベートキーを、それぞれ検証キーレコードおよび暗号化された委任プライベートキーレコードとして知られている明確な場所において、DNSにパブリッシュすることができる。許可側ドメインの所有者がキーを生成しようとする各サードパーティエンティティに、異なるレコードが生成されてもよい。
一部の実施形態において、ドメインネームサービス(DNS)を介して委任プライベートキーを安全に配信するためのシステムおよび方法は、(たとえば、許可されたドメインに代わってメッセージに署名するため)そのような委任プライベートキーを使用しようとするサードパーティエンティティが、対応する検証キーおよび暗号化された委任プライベートキーレコードが存在するかどうかをチェックするステップを含むことができる。それらのレコードが存在する場合、サードパーティエンティティは、そのプライベート暗号化解除キーを使用して、暗号化された委任プライベートキーレコードから委任プライベートキーを暗号化解除することができる。次いで、この委任プライベートキーは、許可側ドメインに代わってサードパーティエンティティによって使用されてもよい。
さらなる実施形態において、(たとえば、メッセージ署名を検証するため、またはプライベートキー保有者と対称キーを安全に交換するため)委任プライベートキーに対応するパブリックキーを使用しようとするパーティは、キーペアジェネレータによってパブリッシュされた検証キーレコードから検証キーを取り出すことができる。検証キーレコードの厳密なフォーマットは、アプリケーションごとに異なり、そのフォーマットは、非限定的なものと見なされるべきである。
このシステムを使用してメッセージ署名を生成するための具体的な例において、このとき標準署名検証アルゴリズムがメッセージ受信者によって実行されてもよく、署名は検証されるかまたは拒否されるかのいずれかであってもよい。いずれの場合においても、検証側パーティは、標準的手順を使用することができ、サードパーティエンティティが署名を実行したことを知る必要はない。
さらなる実施形態において、ドメインネームサービス(DNS)を介して委任プライベートキーを安全に配信するためのシステムおよび方法は、公開鍵暗号法による委任プライベートキーの安全な配信をサポートするときに、現存しグローバルに使用可能な、認証ディレクトリシステムであるDNSを活用することによって、インターネット上におけるキー配信の技術を向上させることができる。加えて、その方法は、経過時間に起因するか、または1つまたは複数のキーが改ざんされた可能性に起因して、前記キーの自動更新をサポートすることができる。これは、このようなシステムの本来のセキュリティ性および堅牢性について実質的に向上させる。
開示される実施形態は、詳細な説明、特許請求の範囲、および添付の図(または図面)からさらに容易に明らかとなる利点および特徴を有する。図面の簡単な説明を以下に示す。
DNSを介するプライベートキーの安全な委任された配信を可能にする実施形態によるシステムの例を示す図である。 ドメイン所有者に代わってサードパーティシステムがキーを生成できるようにするための典型的なプロセスを示す一つの実施形態によるインタラクション図およびフローチャートである。 ドメイン所有者に代わってサードパーティシステム120がメッセージに署名できるようにするための典型的なプロセスを示す一つの実施形態によるインタラクション図およびフローチャートである。 機械可読媒体から命令を読み取り、プロセッサ(またはコントローラ)においてそれらを実行することができるマシンの例の構成を示すブロック図である。
図面および後段の説明は、単なる実例としての好ましい実施形態に関連する。以下の説明から、本明細書において開示される構造および方法の代替的実施形態が、特許請求の範囲の原理を逸脱することなく採用され得る実行可能な代替策として容易に理解されるであろうことに留意されたい。
これ以降、いくつかの実施形態に詳細に参照が行われ、その例は添付の図面において示される。実施可能な限り、類似するかまたは同様の参照番号は、図面において使用されてもよく、類似するかまたは同様の機能を示してもよいことに留意されたい。図は、説明することのみを目的として、開示されるシステム(または方法)の実施形態を表す。本明細書において説明される構造および方法の代替的実施形態が、本明細書において説明される原理を逸脱することなく採用され得ることを、当業者は以下の説明から容易に理解するであろう。
構成の概要
実施形態の例として開示されるのは、DNSを介するプライベートキーの安全な委任された配信を可能にするシステムおよび方法である。実施形態において、サードパーティシステムは、パブリック−プライベートキーペアを生成し、キーペアのパブリックキーは暗号化キーであり、キーペアのプライベートキーは暗号化解除キーである。サードパーティシステムは、暗号化キーを、サードパーティシステムのDNSレコードとしてパブリッシュする。サードパーティシステムは、ドメイン所有者に代わってメッセージに署名することを求める要求を受信し、メッセージは受信者に送信されるものであり、ドメイン所有者のDNSレコードを介してドメイン所有者によってパブリッシュされた暗号化された委任プライベートキーにアクセスし、その暗号化された委任プライベートキーは暗号化キーを使用して暗号化される。サードパーティシステムは、その暗号化解除キーを使用してその暗号化された委任プライベートキーを暗号化解除し、その委任プライベートキーを使用してメッセージの署名を生成する。サードパーティシステムは、その署名およびメッセージを受信者に送信する。
実施形態において、ドメイン所有者システムは、メッセージの署名を委任するためにサードパーティシステムを識別する。ドメイン所有者システムは、サードパーティシステムのDNSレコードにおいてサードパーティシステムによってパブリッシュされた暗号化キーにアクセスする。ドメイン所有者システムは、パブリック−プライベートキーペアを生成し、キーペアのパブリックキーは検証キーであり、キーペアのプライベートキーは委任プライベートキーであり、委任プライベートキーはドメイン所有者システムのドメイン所有者に代わってメッセージに署名するためにサードパーティシステムによって使用される。ドメイン所有者システムは、その暗号キーを使用して委任プライベートキーを暗号化して、暗号化された委任プライベートキーを生成する。そのドメイン所有者システムは、ドメイン所有者のDNSレコードにおいてその暗号化された委任プライベートキーをパブリッシュし、そのドメイン所有者のDNSレコードにおいて検証キーをパブリッシュする。
序文
公開鍵暗号方式は、多くのさまざまなアプリケーションにおいて重要な役割を果たす。しかし、これらのアプリケーションの多くにおいて、プライベートキーを署名者に配信してパブリックキーを識別について関連付ける基礎プロセスを自動化することに重大な課題がある。DNSは、これらの課題の両方に対処する自動化プロセスをサポートするために使用され得るツールを提供する。
暗号署名のアプリケーションの具体例、メッセージ発信者の識別と受信時のメッセージの完全性とをともに検証するためにメッセージに含まれ得るメタデータについて考察する。この暗号署名は、任意の数の公開鍵暗号方式のアルゴリズム(たとえば、RSA、DSA)のうちの1つにより実行され得る。そのような暗号署名は、DomainKeys Identified Mail(DKIM)プロトコルの使用による電子メールメッセージ認証のドメインにおける固有の使い方を含む広範な用途を有する。
暗号署名を作成する場合、メッセージの発信者は、署名しようとするメッセージを表すバイトのセットを得る。これは通常、その代表するバイトの同じセットを生じる別のメッセージを生成することが極めて困難であることを保証するために、SHA−512またはMD−5のようなハッシュアルゴリズムにより行われる。この場合、その代表するバイトのセットは、メッセージハッシュとして知られる。
次いで、発信者は、このメッセージハッシュを、これ以降委任プライベートキーと称される、パブリックキーペアのプライベート部分を用いて暗号化する。委任プライベートキーは、メッセージ署名を生成するために使用され、基礎となる暗号法手順の特性により、委任プライベートキーを所有しない者には、正しい署名を生成することを不可能とする。委任プライベートキーの所有は、メッセージに署名することを許可されている者に制限される。
検証キーとして知られる、パブリックキーペアの対応するパブリック部分は、メッセージ署名、ひいてはメッセージの許可および完全性を検証するために使用されてもよい。メッセージの受信者は、メッセージハッシュを生成するために発信者によって採用されたものと同じ手順を使用することができる。次いで、受信者は、そのメッセージ署名を暗号化解除をするために検証キーを使用し、その暗号化解除された値が受信者によって電子計算機を用いて計算されたメッセージハッシュと一致することを確認することができる。値が一致する場合、メッセージ署名は確証される。それ以外の場合、これは拒否される。
メッセージ署名は、メッセージの署名者が、検証キーのキーペアの他方のキーである委任プライベートキーを所有する場合に限り、確証される。したがって、受信者が、検証キーのソースが信頼できることを証明が可能な方法で検証キーを取得することができる場合、メッセージ受信者が、そのメッセージをそのソースに結果的に由来するものとして許可できるようにする。
ドメインネームサービス(DNS)は、ドメイン(ひいてはドメインの登録済み所有者の識別)を、安全な方法で検証キーと関連付けるために使用されてもよい。このシナリオにおいて、検証キーを含むDNS TXTレコードは、組織に登録されているゾーン内の明確に定義されたサブドメイン下でパブリッシュされる。組織ドメインの登録済み所有者、または登録済み所有者によって許可されたパーティのみが、そのゾーンでDNSレコードをパブリッシュすることができるので、検証キーを含むDNSレコードのパブリケーションは、登録済み所有者によって許可されなければならない。
暗号署名アルゴリズムは、本質的に、メッセージの発信者が委任プライベートキーを所有することを要求する。検証キーを許可するためのDNSの使用は、検証キーが、彼らのDNSレコードの更新を許可する登録済みドメイン所有者またはパーティに使用可能であることを必要とする。委任プライベートキーおよび検証キーが生成され得るのは、一緒にペアとして生成される場合に限られるので、これは、登録済みドメイン所有者がサードパーティエンティティに、彼らの代わりにメッセージに署名することを許可したいが、そのエンティティに彼らのゾーンでDNSレコードをパブリッシュする能力を与えたくはない場合に、問題を呈する。委任プライベートキーまたは検証キーのいずれかをあるパーティから別のパーティに配信しなくてはならないので、これは多くの問題を呈する。さらに、委任プライベート/検証キーペアの将来の更新は、同様の問題を呈する。
例示のキー委任システム
図1は、実施形態によるDNSを介するプライベートキーの安全な委任された配信を可能にする例示のシステム100を示す。システム100は、ネットワーク150、1つまたは複数の検証エージェント160、ドメイン所有者DNSサーバ130およびサードパーティDNSサーバ140、ドメイン所有者システム110、ならびにサードパーティシステム120を含む。示されるシステム100は図1に示される要素を含むが、その他の実施形態において、システム100は異なる要素を含むことができる。さらに、各要素の機能は、その他の実施形態において要素間に異なる形でもたらされてもよい。
有線、無線、またはその組合せであってもよいネットワーク150は、検証エージェント160、DNSシステム130/140、ドメイン所有者システム110、およびサードパーティシステム120の間の通信を可能にし、インターネット、LAN、VLAN(たとえば、VPNによる)、WAN、またはその他のネットワークを含むことができる。1つの実施形態において、ネットワーク150は、ハイパーテキスト転送プロトコル(HTTP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユニフォームリソースロケータ(URL)、およびドメインネームシステム(DNS)のような標準通信技術および/またはプロトコルを使用する。もう1つの実施形態において、エンティティは、上記で説明される技術の代わりに、またはそれらに加えて、カスタムおよび/または専用のデータ通信技術を使用することができる。
ドメイン所有者DNSサーバ130およびサードパーティDNSサーバ140は、NDSエントリ135、137、および145のようなDNSエントリを、DNSシステムで使用するために記憶する。各DNSサーバは、図4を参照して説明されるコンピューティングシステムのような、1つまたは複数のコンピューティングシステムを備えることができる。
各DNSエントリは、当技術分野において知られている、Aレコード、MXレコードなどのような、特定のドメインの1つまたは複数のDNSレコードを含むことができる。DNSエントリ135、137、および145のようなDNSエントリの一部は、検証キー136、暗号化された委任プライベートキー138、および暗号化キー146のような暗号キーを含むことができる。1つの実施形態において、これらのキーは、各DNSエントリにTXTレコードとして記憶される。これらのキーは、ネットワーク150経由で送信されるデータの送信者認証性およびコンテンツに署名し、検証するために使用されてもよい。そのようなデータは、メッセージ、ファイル、電子メールなどを含むことができる。図1に示されるレコードは複数のエントリおよび複数のサーバ上で分割されているが、その他の実施形態において、レコードは、より少ないエントリ、より少ないサーバ、単一のエントリ、または一部のその他の組合せに結合されてもよい。
ドメイン所有者システム110は、1つまたは複数のコンピューティングシステム、たとえばドメインをホスティングしてそのドメインに関連するアクティビティを実行するためにドメイン所有者によって使用されるサーバを備える。これらのアクティビティは、Webページにサービスを提供すること、電子メールを送信および受信すること、ファイルをホスティングすること、電子商取引を実行することなどを含むことができる。1つの実施形態において、これらのコンピューティングシステムは、図4を参照して説明されるコンピューティングシステムと同様に構成される。
示されているように、ドメイン所有者システム110は、キーペアジェネレータ115、および委任プライベートキー117を含む。示されるドメイン所有者システム110は図1に示される要素を含むが、その他の実施形態において、ドメイン所有者システム110は異なる要素を含むことができる。たとえば、ドメイン所有者システム110は、公開暗号鍵方式の仕組みにおいて使用されるべき追加のキーを含むことができる。さらに、各要素の機能は、その他の実施形態において要素間に異なる形でもたらされてもよい。
ドメイン所有者システム110のキーペアジェネレータ115は、プライベートおよびパブリックキーペアを生成する。1つの実施形態において、キーペアジェネレータ115は、委任プライベートキー117および検証キー136から成るキーペアを生成する。検証キー136は、このキーペアのパブリックキーであり、一方、委任プライベートキー117は、プライベートキーである。キーペアジェネレータ115は、検証キー136をドメイン所有者DNSサーバ130上のDNSエントリ135にレコードとして配置する。
キーペアジェネレータ115は、サードパーティDNSサーバ140に記憶されている暗号化キー146で委任プライベートキー117を暗号化することによって、暗号化された委任プライベートキー138をさらに生成し、この暗号化された委任プライベートキー138をドメイン所有者DNSサーバ130においてレコードとして記憶する。暗号化キー146は、キーペアの一部としてサードパーティシステム120によって生成される。したがって、サードパーティシステム120のみが、委任プライベートキー138を取り出すために暗号化された委任プライベートキー138を暗号化解除することができ、これはドメイン所有者に代わってデータを署名および/または暗号化するためにサードパーティシステム120によって使用されてもよい。
サードパーティシステム120は、ドメイン所有者によってサードパーティシステム120に安全に渡された委任プライベートキーを使用してドメイン所有者に代わってデータを署名または暗号化する。サードパーティシステム120は、1つまたは複数のコンピューティングシステムを備え、ここで、図4を参照して説明されるコンピューティングシステムと同様に構成されてもよい
示されているように、サードパーティシステム120は、署名モジュール126、キーペアジェネレータ125、および暗号化解除キー127を含む。示されるサードパーティシステム120は図1に示される要素を含むが、その他の実施形態において、サードパーティシステム120は異なる要素を含むことができる。たとえば、サードパーティシステム120は、公開鍵暗号方式の仕組みにおいて使用されるべき追加のキーを含むことができる。さらに、各要素の機能は、その他の実施形態において要素間に異なる形でもたらされてもよい。
サードパーティシステム120の署名モジュール126は、プライベートキーを使用してドメイン所有者に代わってメッセージまたはその他のデータに署名する。署名の方法は、公開鍵暗号方式における周知の方法に基づいてもよい。例として、サードパーティシステム120は、セキュリティシステム、データ/メッセージ配信サービス、または複数のドメイン所有者に集中メッセージングシステムを提供するその他のサードパーティプロバイダであってもよい。サードパーティシステム120は、ドメイン所有者システム110に代わってデータおよび/またはその他のメッセージを1つまたは複数の受信者に送信し、データが真正であり改ざんされていないことを受信者が検証できるようにそのデータに署名することもできる。これを行うために、署名モジュール126は、ドメイン所有者システム110によって提供された暗号化された委任プライベートキー138を取り出す。暗号化された委任プライベートキー138は、暗号化キー146を使用して暗号化された委任プライベートキー117である。署名モジュール126は、委任プライベートキー117にアクセスするために、サードパーティシステム120に記憶されている暗号化解除キー127を使用して暗号化された委任プライベートキー138を暗号化解除することができる。署名モジュール126は、受信者に送信されるべきデータの署名を生成するために、暗号化解除化された委任プライベートキー117を使用。サードパーティシステムは、署名およびもとのデータを受信者に送信する。
サードパーティシステム120のキーペアジェネレータ125は、ドメイン所有者に代わってデータの署名を容易にするためにパブリック/プライベートキーペアを生成する。1つの実施形態において、サードパーティシステム120がデータに署名すべき各ドメイン所有者について、キーペアジェネレータ125は、暗号化解除キー127(プライベートキー)および暗号化キー146()を生成する。サードパーティシステム120は、サードパーティDNSサーバ140上のDNSエントリ145のレコードで暗号化キー146をパブリッシュし、ドメイン所有者システム110が委任プライベートキー117を暗号するためにこれを取り出して暗号化された委任プライベートキー138を生成するようにする。
検証エージェント160は、サードパーティシステム120によって署名された署名を検証し、図4で説明されているコンピューティングシステムと同様に構成されてもよい。たとえば、検証エージェント160は、サードパーティシステム120によって署名されたデータを受信するサーバであってもよい。
検証エージェント160は、これが受信したデータの署名を検証するための署名検証器165を含む。このデータは、ドメイン所有者システム110に代わってサードパーティシステム120によって署名されている場合も、またはドメイン所有者システム110自体によって署名されている場合もある。署名を検証するため、署名検証器165は、ドメイン所有者システム110によってDNSエントリ135でパブリッシュされた検証キー136を使用し、受信したデータが有効であり真正であることを署名が示すかどうかを決定する。たとえば、受信されたデータは、サードパーティシステム120によって委任プライベートキー117を使用して暗号化されたハッシュにより、ハッシュされている場合もある。署名検証器165は、検証キー136を使用してハッシュを暗号化解除し、ハッシュが、データのローカルに計算されたハッシュと一致するかどうかを決定する。2つのハッシュが一致する場合、署名検証器165は、データが正当なものであることを示す。それ以外の場合、署名検証器165は、メッセージが正当なものではないことを示す。
上記で説明されているシステム100を使用して、サードパーティシステム120は、ドメイン所有者に代わってメッセージに署名することができる。これは、登録済みのドメイン所有者が、彼らのドメイン識別に関連付けられている権限を委任したいと考えるサードパーティに、委任プライベートキーを安全に配信できる方法を提供することができる。一部の実施形態において、これは、登録済みドメイン所有者もサードパーティのいずれも初期セットアップ後にDNSレコードを手動で更新する必要がないといった利点をもたらす。上記で説明されているプロセスに関する追加の詳細は、図2〜図3を参照して説明される。
キーペア生成の例示のインタラクション図
図2は、1つの実施形態によるドメイン所有者に代わってサードパーティシステム120がキーを生成できるようにするための例示的なプロセスを示すインタラクション図および流れ図である。1つの実施形態において、図2では、処理中の操作が示されている要素に起因するものとしている。しかし、ステップの一部または全部は、その他の要素によって実行されてもよい。加えて、一部の実施形態は、並行して操作を実行するか、異なる順序で操作を実行するか、または異なる操作を実行することができる。また、1つの例示の実施形態において、ステップおよび/またはモジュールは、図4に関して説明されているプロセッサ402によって実行され得る、たとえば命令424のような命令として具現されてもよいことに留意されたい。
1つの実施形態において、サードパーティシステム120は、任意の数のよく知られているパブリックキー暗号化アルゴリズムの1つを使用して暗号化解除および暗号化キーペアを生成する210。そのような公開鍵暗号方式のアルゴリズムの非限定的な例は、2048ビットのRivest−Shamir−Adleman(RSA)であろう。
暗号化解除キー127は、このキーペアのプライベート部分であり、後の使用のために内部で記憶されてもよい。暗号化キー146は、このキーペアのパブリック部分であり、サードパーティシステム120に署名権限を委任しようと考え得る任意のドメインにDNSを介して使用可能であるように、サードパーティDNSサーバ140においてDNSエントリ145のレコードとしてパブリッシュされてもよい215。
暗号化キー146は、任意のドメイン下でパブリッシュされ得る。1つの実施形態において、暗号化キーレコードのパブリケーションは、a)レコードがサードパーティシステム120に登録されているゾーン内でパブリッシュされる、およびb)レコードの場所がサードパーティシステム120が委任プライベートキーを取得するドメイン所有者システム110と共有されるようなものであってもよい。
暗号化キーパブリケーションの非限定的な例として、Example Corp社が、ドメイン「examplecorp.com」の登録済み所有者であり、ドメイン所有者のサードパーティシステム120としての役割を果たすものとする。この場合、Example Corpの暗号化キー146を含むレコードは、ドメインゾーン「_encr._ddkim.examplecorp.com」においてパブリッシュされてもよいが、これはそのドメインがExample Corpに登録されているゾーン内にあるからである。ドメイン所有者は、このレコードの場所を通知されるか、または暗号化キー146を有するレコードの場所を示すドメインゾーンの標準化命名スキームに基づいてこれを自動的に見つけ出すことができる。
1つの実施形態において、サードパーティシステム120は、各レコードが別個の暗号化キー146を含み、各々が1つまたは複数のドメイン所有者(つまり、許可側ドメイン)との使用を意図されている、複数のレコードを有する。そのような場合、暗号化キー146を有する多数の異なるレコードは、サードパーティシステム120によってパブリッシュされてもよい。たとえば、前の例に戻って参照すると、これらのレコードは以下の場所においてパブリッシュされてもよい。
1) senderdomain1._encr._ddkim.examplecorp.com、
2) senderdomain2._encr._ddkim.examplecorp.com、
3) senderdomain3._encr._ddkim.examplecorp.com、など。
暗号化キー146を含むレコードのフォーマットは、異なる場合もある。1つの実施形態において、暗号化キー146を備えるDNSレコードは、ドメイン所有者サーバシステム110(およびキーペアジェネレータ115)によって読み取られ得るフォーマットである。1つの実施形態において、暗号化キー146を備えるレコードはまた、1)このレコードと、このドメイン上でパブリッシュされ得る他のテキストレコードを区別するトークン、2)レコードの作成時間、3)レコードの満了時間、4)同じサブドメイン上で複数の暗号化キー146のパブリケーションを可能にするセレクタフィールド、および5)暗号化に使用されるべきアルゴリズムを示すフィールド、を含む多数の情報のその他の部分も含むが、これらに限定されることはない。
そのようなフォーマットの例は、「v=ENCDDKIM1;k=<...>」というコンテンツを備えるレコードであり、ここで「k=」に続く値は、Abstract Syntax Notation One Distinguished Encoding Rules(ASN.1 DER)でエンコードされた暗号化キー値であり、暗号化キーがRSA−2048を使用して生成されたと仮定している。
1つの実施形態において、サードパーティシステム120が暗号化キー146または暗号化解除キー127を再生成する必要がある場合、サードパーティシステム120は、キーペアが初めて生成される場合と同様のプロセスを繰り返す。これは、障害条件、損傷したキー、またはその他の理由により必要とされてもよい。
ドメイン所有者の側において、ドメイン所有者システム110は、データ署名の委任のためにサードパーティシステム120を識別する245。1つの実施形態において、これを行うために、ドメイン所有者システム110は、サードパーティシステム120の識別情報でキーペアジェネレータ115の構成を更新する。ドメイン所有者システム110は、サードパーティDNSサーバ140において暗号化キー146を有するDNSエントリが存在するかどうかをチェックする。サードパーティDNSサーバ140の場所は、ドメイン所有者システム110に外部から提供されてもよいか、またはドメイン所有者システム110がサードパーティシステム120の提供されたドメインネームを使用してサードパーティDNSサーバ140の場所を見出すことができる場合もある。
ドメイン所有者システム110は、要求282をDNSに送信することによって暗号化キー146が存在するかどうかをチェックする。DNSレコードが存在する場合、ドメイン所有者システム110は、サードパーティシステム120の暗号化キー146を含むDNSレコードを伴う応答284を受信する。ドメイン所有者システム110は、受信した暗号化キー146をレコードから抽出する250。
1つの実施形態において、ドメイン所有者システム110はまた、1)受信した応答284のバイトの暗号化キーが復号され得ること、2)復号されたバイトが予想される暗号化アルゴリズムの有効キーに対応すること、または3)応答284のDNSレコードのメタデータが一部の基準を満たすことを保証することを含み得る1つまたは複数の異なる操作を通じて暗号化キー146を妥当性検証する255。
たとえば、ドメイン所有者システム110は、暗号化キー146を含む受信したDNS TXTレコードが「v=ENCDDKIM;k=」で始まること、および「k=」に続く値がASN.1 DERでエンコードされたRSAパブリックキー(つまり、暗号化キー)に対応することを保証することができる。
暗号化キー146の妥当性検証が失敗する場合、ドメイン所有者システム110は、エラーをログする、および/またはアラートチャネル(図示せず)にアラートを送信することができる。それ以外の場合、ドメイン所有者システム110は、選択されたパブリックキーアルゴリズム(たとえば、RSA−2048、SHA−1)を使用して、委任プライベートキー117および検証キー136を備えるキーペアを生成する260。
ドメイン所有者システム110は、暗号化キー146を使用して委任プライベートキー117を暗号化する265。ドメイン所有者システム110は、暗号化および暗号化解除キーペアおよび/または委任プライベートキーおよび検証キーペアを生成するために使用されたパブリックキーアルゴリズムを使用するなど、さまざまな暗号化方法を使用して、委任プライベートキー117を暗号化することができる。たとえば、暗号化アルゴリズムは、RSA−2048であってもよい。もう1つの例として、ドメイン所有者システム110は、委任プライベートキー117を1024バイトのブロックに分割することができ、暗号化キー146を暗号化キーとしてRSA−2048を使用して各ブロックを暗号化する。ドメイン所有者システム110は、結果として生じた出力ブロックを連結して、暗号化された委任プライベートキー138を生成するためにそれらをBase64でエンコードする。
委任プライベートキー117を暗号化して暗号化された委任プライベートキー138生成した後、ドメイン所有者システム110は、ドメイン所有者DNSサーバ130上で暗号された化委任プライベートキー138をパブリッシュする270。具体的には、1つの実施形態において、ドメイン所有者システム110は、暗号化された委任プライベートキー138をTXTレコードとしてパブリッシュする。
一部の実施形態において、このDNS TXTレコードは、適切なDNSクエリをサブミットする任意のクライアントに一般に使用可能にされてもよいが、その他の実施形態において、このクエリの結果は、クライアントまたはクエリの特性(たとえば、クライアントIPアドレス、時刻)に基づいて変化することがある。これらの後者の実施形態において、これは、暗号化された委任プライベートキー138を暗号化解除するために使用され得る暗号化解除キー127の漏洩に対するセキュリティの追加的レベルを有効にすることができる。たとえば、ドメイン所有者システム110は、暗号化された委任プライベートキー138を含むDNS TXTレコードで、サードパーティシステム120によって所有されていると知られるIPアドレスのセットに応答するようにのみ(たとえば、スプリット−ホライズンDNSまたはスプリット−ビューDNSを用いて)ドメイン所有者DNSサーバ130を構成している場合もある。これは、たとえば暗号化キー127が破損している場合であっても、暗号化された委任プライベートキー138は、サードパーティシステム120によって制御されるインフラストラクチャ内部からしか使用され得ないことを保証する。
ドメイン所有者システム110は、任意のドメインで暗号化された委任プライベートキー138を有するDNSレコードをパブリッシュすることができる270。1つの実施形態において、ドメイン所有者システム110は、署名が許可されるべきドメインのゾーン内に暗号化された委任プライベートキー138を有するDNSレコードをパブリッシュする。1つの実施形態において、ドメイン所有者システム110は、慣例によるかまたは直接通信により、サードパーティシステム120によって知られている場所にDNSレコードをパブリッシュする。
暗号化プロセスが明確であり、サードパーティシステム120に知られている限り、暗号化解除キー127を所有することで、サードパーティシステム120が暗号化された委任プライベートキー138を暗号化解除して委任プライベートキー117を取得できるようにする。さらに、暗号化された委任プライベートキー138を暗号化解除することができるのは、そのような暗号化解除には暗号化解除キー127の所有が必要となるので、サードパーティシステム120だけである。したがって、ドメイン所有者DNSサーバ130における暗号化された委任プライベートキー138のパブリケーションは安全である。
上記のプロセスの例として、サードパーティシステム120がExampleCorp.に属すものと仮定し、プライベートキーをExampleCorp.に委任しようとするドメインが「somedomain.com」であると仮定する。暗号化された委任プライベートキー138を含むDNSレコードは、「examplecorp.com._sgn._ddkim.somedomain.com」のドメインにおいてパブリッシュされる場合もある。
暗号化された委任プライベートキー138を含むレコードのフォーマットは、異なっていてもよい。1つの実施形態において、レコードは、サードパーティシステム120によって読み取られ得るフォーマット(たとえば、テキスト、バイナリ、ビッグエンディアン、リトルエンディアンなど)の暗号化された委任プライベートキー138を含む。代替的実施形態において、レコードはまた、1)このレコードと、このドメイン上でパブリッシュされ得るその他のテキストレコードを区別するトークン、2)レコードの作成時間、3)レコードの満了時間、および4)同じサブドメイン上で暗号化された委任プライベートキーを有する複数のレコードのパブリケーションを可能にするセレクタフィールド、を含む多数の情報のその他の部分も含むが、これらに限定されることはない。
上記の例を再度参照すると、レコードのフォーマットは、「v=SGNDDKIMl;k=<...>」であってもよく、ここで「K=」に続く大括弧内の値は、上記で説明される暗号化された委任プライベートキー138である。
1つの実施形態において、ドメイン所有者システム110はまた、検証キー136をレコードとしてドメイン所有者DNSサーバ130にパブリッシュする275。一部の実施形態において、検証キー136のパブリケーションドメインおよび正確なフォーマットは、委任プライベートキー138が用いられる用途、および検証キー136を使用するパーティの対応する予想によって示される。
たとえば、委任プライベートキー138が、電子メール認証のDKIMプロセスの一部として署名キーとしての使用が意図されると仮定する。次いで、検証キー136を有するDNSレコードのドメインおよびフォーマットは、DKIMによって示される。この場合、以前の例を継続して、「examplecorp」のセレクタを仮定すると、レコードは、「examplecorp._domainkey.somedomain.com」においてパブリッシュされ、レコード本体は「v=DKIMl;p=<..>」となり、ここで「p=」の後の<>内の値は、検証キー136のASN1.DERでエンコードされたフォームである。
1つの実施形態において、サードパーティシステム120が、委任プライベートキー138が発行されているドメインに署名することを前もって許可されている場合、ドメイン所有者システム110は、現在廃止のキーの使用を阻止するため、以前暗号化された委任プライベートキーまたは検証キーを含む任意の既存のレコードをドメイン所有者DNSサーバ130からさらに削除することができる。しかし、このプロセスは、すでに署名されている場合もあるが、まだそれらの受信者によって検証されていない任意のメッセージが、正常に検証され得るように、遅延されてもよい。
1つの実施形態において、キーは、サードパーティシステム120の初期構成以外のイベントに応じて再生成される。たとえば、サードパーティシステム120がその暗号化キー146のDNSレコードを新しい暗号化キーで更新することで、この再生成をトリガーする場合がある。1つの実施形態において、ドメイン所有者システム110は、そのような変化を検出するために、定期的に暗号化キー146を含むレコードをポーリングする。1つの実施形態において、ドメイン所有者システム110は、新しい委任プライベートキーおよび検証キーを生成することによる変化に反応するが、その他の実施形態において、ドメイン所有者システム110は、既存の委任プライベートキーを新しい暗号化キーで単に暗号化して、新しい暗号化された委任プライベートキーをドメイン所有者DNSサーバ130にパブリッシュする。
1つの実施形態において、ドメイン所有者システム110は、既存のキーペアを取り消して、上記で説明されるプロセスを使用してこれを新しいキーペアに置き換える。これは、一部のセキュリティブリーチのために行われるか、または時間の経過に応じて単にベストプラクティスとして行われる場合もある。
データ署名の例示のインタラクション図
図3は、1つの実施形態によるドメイン所有者に代わってサードパーティシステム120がメッセージに署名できるようにするための例示的なプロセスを示すインタラクション図および流れ図である。1つの実施形態において、図3は、処理中の操作が示されている要素に起因するものとしている。しかし、ステップの一部または全部は、その他の要素によって実行されてもよい。加えて、一部の実施形態は、並行して操作を実行するか、異なる順序で操作を実行するか、または異なる操作を実行することができる。また、1つの例示の実施形態において、ステップおよび/またはモジュールは、図4に関して説明されているプロセッサ402によって実行され得る、たとえば命令424のような命令として具現されてもよいことに留意されたい。
サードパーティシステム120は、ドメイン所有者(図示せず)に代わってメッセージに署名することを求める要求を受信することができる310。サードパーティシステム120は、ドメイン所有者DNSサーバ130のような、DNSサーバ上の知られているレコード場所に記憶されている暗号化された委任プライベートキー138にアクセスすることができる315。このレコードが見つからない場合、サードパーティシステム120はエラーを示すことができる。それ以外の場合、サードパーティシステム120は、以前サードパーティシステム120によって生成されたローカルに記憶されている暗号化解除キー127を使用して暗号化された委任プライベートキー138を暗号化解除する320。
1つの実施形態において、サードパーティシステム120は、暗号化解除された委任プライベートキー117を妥当性検証する325。委任プライベートキー117の妥当性検証は、1)バイトが復号され得ること、2)復号されたバイトが予想される暗号化アルゴリズムの有効キーに対応すること、または3)暗号化された委任プライベートキー138を含むDNSレコードのメタデータが一部の基準(たとえば、満了時間、作成時間、使用された暗号化アルゴリズムなど)を満たすことを保証することなどの多くの可能なステップを含むことができる。
たとえば、サードパーティシステム120は、暗号化された委任プライベートキーを含むDNSレコードのフォーマットが「v=SGNDDKIM;k=<...>」と一致すること、および「k=」に続く値が上記で説明される暗号化された委任プライベートキーに対応することを妥当性検証することができる。
委任プライベートキー117が有効と認められると仮定して、サードパーティシステム120は、委任プライベートキー117をデータの署名プロセスへの入力として使用する。このデータは、電子メールのようなメッセージであってもよく、対称キー交換に使用されてもよい、他である。1つの実施形態において、サードパーティシステム120は、委任プライベートキー117を使用してデータの署名を生成する330。次いで、この署名は、検証エージェント160によって検証される350。署名プロセスがパブリックキー暗号署名を採用するのであれば、プロセスの厳密な詳細は、方法にとって重要ではない。そのようなプロセスの1つの非限定的な例は、委任プライベートキー117をアウトバウンド電子メールのDKIM署名として使用することであろう。
メッセージ署名の例は、委任プライベートキーの配信のためのシステムおよび方法がどのように使用され得るかの現実世界の例であるが、メッセージ署名の具体事例は非限定的なものと見なされるべきである。上記で説明されるように、メッセージ署名は、この方法の重要なユースケースであるが、この方法が価値を高めるのはそのようなプロセスだけにとどまらない。
例示のマシンアーキテクチャ
図4は、プロセッサ(またはコントローラ)において機械可読媒体から命令を読み取り、それらを実行することができる例示のマシンのコンポーネントを示すブロック図である。具体的には、図4は、コンピュータシステム400の例示の形式でマシンの図表示を示す。コンピュータシステム400は、マシンに、本明細書において説明される方法論(またはプロセス)の任意の1つまたは複数を実行させるための命令424(たとえば、プログラムコードまたはソフトウェア)を実行するために使用されてもよい。代替的実施形態において、マシンは、スタンドアロンのデバイスとして、またはその他のマシンに接続する接続された(たとえば、ネットワーク化された)デバイスとして動作する。ネットワーク化された配備において、マシンは、サーバ−クライアントネットワーク環境におけるサーバマシンまたはクライアントマシンの能力で、またはピアツーピア(または分散)ネットワーク環境におけるピアマシンとして、動作することができる。
マシンは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、スマートフォン、モノのインターネット(IoT)アプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべきアクションを指定する命令424を(順次または別の方法で)実行することができる任意のマシンであってもよい。さらに、単一のマシンのみが示されているが、「マシン」という用語はまた、本明細書において説明される方法論の1つまたは複数を実行するために個別にまたは合同で命令424を実行するマシンの任意の集合体を含むように解釈されるものとする。
例示のコンピュータシステム400は、1つまたは複数の処理ユニット(一般にプロセッサ402)を含む。プロセッサ402は、たとえば、中央演算処理装置(CPU)、グラフィックス処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、コントローラ、状態マシン、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数の無線周波数集積回路(RFIC)、またはこれらの任意の組合せである。コンピュータシステム400はまた、メインメモリ404を含む。コンピュータシステムは、記憶ユニット416を含むことができる。プロセッサ402、メモリ404、および記憶ユニット416は、バス408を介して通信する。
加えて、コンピュータシステム400は、スタティックメモリ406、ディスプレイドライバ410(たとえば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、またはプロジェクタを駆動するため)を含むことができる。コンピュータシステム400はまた、英数字入力デバイス412(たとえば、キーボード)、カーソル制御デバイス414(たとえば、マウス、トラックボール、ジョイスティック、モーションセンサー、またはその他のポインティング機器)、信号発生デバイス418(たとえば、スピーカー)、およびバス408を介して通信するようにも構成されるネットワークインターフェイスデバイス420を含むことができる。
記憶ユニット416は、本明細書において説明される方法論または機能の1つまたは複数を具現する命令424(たとえば、ソフトウェア)が記憶されている機械可読媒体422を含む。命令424はまた、機械可読媒体も構成するコンピュータシステム400、メインメモリ404、およびプロセッサ402によるその実行中に、メインメモリ404内またはプロセッサ402内(たとえば、プロセッサのキャッシュメモリ内)に、完全にまたは少なくとも部分的に、常駐することができる。命令424は、ネットワークインターフェイスデバイス420を介してネットワーク426上で送信または受信されてもよい。
機械可読媒体422は、例示の実施形態において単一の媒体として示されているが、「機械可読媒体」という用語は、命令424を記憶することができる単一の媒体または複数の媒体(たとえば、中央もしくは分散データベース、または関連するキャッシュおよびサーバ)を含むように解釈されるものとする。「機械可読媒体」という用語はまた、マシンによる実行のために命令424を記憶することができ、マシンに、本明細書において説明される方法論の1つまたは複数を実行させる任意の媒体を含むように解釈されるものとする。「機械可読媒体」という用語は、ソリッドステートメモリ、光媒体、および磁気媒体の形態のデータリポジトリを含むが、これらに限定されることはない。
追加の考慮事項
この明細書全体を通じて、複数の例は、単一の例として説明されるコンポーネント、操作、または構造を実施することができる。1つまたは複数の方法の個々の操作は別個の操作として示され説明されているが、個々の操作の1つまたは複数は同時に実行されてもよく、操作が示されている順序で実行されることは必要としない。例示の構成において別個のコンポーネントとして提示される構造および機能は、組み合わされた構造またはコンポーネントとして実施されてもよい。同様に、単一のコンポーネントとして提示される構造および機能は、別個のコンポーネントとして実施されてもよい。これらのならびにその他の変形、変更、追加、および改良は、本明細書における主題の範囲内に含まれる。
本明細書において特定の実施形態が、たとえば、図1〜図5に示されるように、論理、または複数のコンポーネント、モジュール、もしくはメカニズムを含むものとして説明される。モジュールは、ソフトウェアモジュール(たとえば、機械可読媒体または送信信号で具現されたコード)またはハードウェアモジュールを形成することができる。ハードウェアモジュールは、特定の操作を実行することができる有形のユニットであり、特定の方法で構成されるかまたは配置されてもよい。例示の実施形態において、1つまたは複数のコンピュータシステム(たとえば、スタンドアロン、クライアントまたはサーバコンピュータシステム)もしくはコンピュータシステムの1つまたは複数のハードウェアモジュール(たとえば、プロセッサ、またはプロセッサのグループ)は、本明細書において説明される特定の操作を実行するように動作するハードウェアモジュールとしてソフトウェア(たとえば、アプリケーション、またはアプリケーション部分)によって構成されてもよい。
さまざまな実施形態において、ハードウェアモジュールは、機械的または電子的に実施されてもよい。たとえば、ハードウェアモジュールは、特定の操作を実行するために、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)のような、特殊用途プロセッサとして)永続的に構成される専用の回路または論理を備えることができる。ハードウェアモジュールはまた、特定の操作を実行するためにソフトウェアによって一時的に構成されるプログラマブル論理または回路(たとえば、汎用プロセッサまたはその他のプログラマブルプロセッサ内に含まれる)を備えることができる。専用の永続的に構成された回路において、または一時的に構成された回路(たとえば、ソフトウェアによって構成された)において、ハードウェアモジュールを機械的に実施するという決定は、コストと時間の考慮によって推進されてもよいことが理解されよう。
本明細書において説明される例示の方法のさまざまな操作は、(たとえば、ソフトウェアによって)一時的に構成されるか、または関連する操作を実行するように永続的に構成される1つまたは複数のプロセッサによって、少なくとも部分的に、実行されてもよい。一時的または永続的のいずれに構成されても、そのようなプロセッサは、1つまたは複数の操作または機能を実行するように動作するプロセッサ実施のモジュールを形成することができる。本明細書において参照されるモジュールは、一部の例示の実施形態において、プロセッサ実施のモジュールを備える。
1つまたは複数のプロセッサはまた、「クラウドコンピューティング」環境において、または「サービスとしてのソフトウェア」(SaaS)として、関連する操作のパフォーマンスをサポートするように動作することができる。たとえば、操作の少なくとも一部は、(プロセッサを含むマシンの例として)コンピュータのグループによって実行されてもよく、それらの操作はネットワーク(たとえば、インターネット)を介して、および1つまたは複数の適切なインターフェイス(たとえば、アプリケーションプログラムインターフェイス(API))を介してアクセス可能である。
特定の操作のパフォーマンスは、1つまたは複数のプロセッサ間で分散されて、単一のマシン内に存在するだけではなく、複数のマシンにわたり配備されてもよい。一部の実施形態において、1つまたは複数のプロセッサまたはプロセッサ実施のモジュールは、単一の地理的場所(たとえば、自宅環境、オフィス環境、またはサーバファーム内)に配置されてもよい。その他の例示の実施形態において、1つまたは複数のプロセッサまたはプロセッサ実施のモジュールは、複数の地理的場所にわたり分散されてもよい。
この明細書の一部分は、アルゴリズム、すなわちマシンメモリ(たとえば、コンピュータメモリ)内にビットまたは2進デジタル信号として記憶されたデータへの操作の記号表記に関して提示される。これらのアルゴリズムまたは記号表現は、データ処理技術分野の当業者によって、彼らの作業の要旨を他の当業者に伝達するために使用される技法の例である。本明細書において使用される、「アルゴリズム」は、望ましい結果を導く操作または類似する処理の首尾一貫したシーケンスである。このコンテキストにおいて、アルゴリズムおよび操作は、物理量の物理的操作を伴う。通常、ただし必須ではないが、そのような量は、マシンによる記憶、アクセス、転送、結合、比較、または操作が可能な電気、磁気、または光信号の形態をとることができる。場合によっては、主として共通使用の理由から、そのような信号を、「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「特徴」、「条件」、「番号」、「数値」などの語を使用して称することで利便性が高まる。しかし、これらの用語は、便宜的なラベルにすぎず、適切な物理量に関連付けられるべきである。
特に具体的な記述がない限り、「処理(processing)」、「演算(computing)」、「計算(calculating)」、「決定(determining)」、「提示(presenting)」、「表示(displaying)」などの用語を使用する本明細書における説明は、1つまたは複数のメモリ(たとえば、揮発性メモリ、不揮発性メモリ、またはその組合せ)、レジスタ、または情報を受信、記憶、送信、もしくは表示するその他のマシンコンポーネント内の物理的(たとえば、電子、磁気、または光)量として表されるデータを操作または変換するマシン(たとえば、コンピュータ)のアクションまたはプロセスを示すことができる。
本明細書において使用される「1つの実施形態(one embodiment)」または「実施形態(an embodiment)」の参照は、実施形態に関連して説明される特定の要素、特徴、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。明細書のさまざまな箇所における「1つの実施形態において」という句の出現は、必ずしもすべてが同一の実施形態に言及するものではない。
一部の実施形態は、「結合された(coupled)」および「接続された(connected)」という表現をそれらの派生語と共に使用して説明されてもよい。たとえば、一部の実施形態は、2つ以上の要素が直接に物理的または電気的に接触していることを示すために、「結合された」という用語を使用して説明されてもよい。しかし、「結合された」という用語はまた、2つ以上の要素が、相互に直接に接触してはいないが、それでも相互に共動または作用することを意味することができる。実施形態は、このコンテキストにおいて限定されることはない。
本明細書に使用されるように、「備える(comprises)」、「備える(comprising)」、「含む(includes)」、「含む(including)」、「有する(has)」、「有する(having)」、またはその任意の他の変形は、非排他的な包含を対象とすることが意図されている。たとえば、要素のリストを備えるプロセス、方法、項目、または装置は、必ずしもそれらの要素のみに限定されることはなく、明示的にリストされていないか、またはそのようなプロセス、方法、項目、もしくは装置に固有のその他の要素を含むことができる。さらに、相容れない明示的な記載がない限り、「または(or)」は、排他論理和ではなく、包含論理和を示す。たとえば、条件AまたはBは、Aは真である(または存在する)かつBは偽である(または存在しない)、Aは偽である(または存在しない)かつBは真である(または存在する)、およびAとBが共に真である(または存在する)のうちのいずれか1つによって満足される。
加えて、「a」または「an」の使用は、本明細書において実施形態の要素およびコンポーネントを説明するために採用される。これは、単に利便性のため、および本発明の一般的な意味をもたらすために行われているにすぎない。この説明は、1つまたは少なくとも1つを含むものと解釈されるべきであり、単数形はまた、それ以外を意味することが明白ではない限り、複数形を含む。
この開示を読むことで、当業者は、DNSを介するプライベートキーの安全な委任配信を可能にするシステムおよび方法のためのさらなる追加の代替的構造および機能設計を理解するであろう。したがって、特定の実施形態および適用が示され、説明されてきたが、開示される実施形態は、本明細書において開示される厳密な構築およびコンポーネントに限定されないことを理解されたい。当業者には容易に明らかとなるさまざまな変形、変更、および変種は、添付の特許請求の範囲において定義される精神および範囲を逸脱することなく、本明細書において開示される方法および装置の配置、操作、および詳細において行われてもよい。

Claims (24)

  1. 命令を記憶するように構成された非一時的なコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されたとき前記プロセッサに、
    ドメイン所有者システムにおいて、サードパーティシステムを識別させ、メッセージの署名を委任させ、
    前記サードパーティシステムのドメインネームシステム(DNS)レコードにおいて前記サードパーティシステムによってパブリッシュされた暗号化キーにアクセスさせ、前記サードパーティシステムの前記DNSは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であり、
    パブリック−プライベートキーペアを生成させ、前記キーペアの前記パブリックキーは検証キーであり、前記キーペアの前記プライベートキーは委任されたプライベートキーであり、前記委任されたプライベートキーは前記ドメイン所有者システムのドメイン所有者に代わってメッセージに署名するために前記サードパーティシステムによって使用され、
    前記暗号化キーを使用して前記委任されたプライベートキーを暗号化させ、暗号化された委任プライベートキーを生成させ、
    DNSサーバ上にある前記ドメイン所有者のDNSレコードにおいて前記暗号化された委任プライベートキーをパブリッシュさせ、
    前記サードパーティシステムのネットワークアドレスから前記暗号化された委任プライベートキーを求める要求のみに応答して、前記暗号化された委任プライベートキーで応答するよう前記DNSサーバを構成させ、
    前記ドメイン所有者の前記DNSレコードにおいて前記検証キーをパブリッシュさせる、
    コンピュータ可読記憶媒体。
  2. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    暗号化キーを含む前記アクセスされたDNSレコードのバイトが復号され得ると決定すること、および
    前記復号された暗号化キーが、前記プライベート−パブリックキーペアを生成するために使用されたものと同じアルゴリズムで生成されていると決定すること
    によって、前記暗号化キーを妥当性検証させるさらなる命令を記憶する、請求項1に記載のコンピュータ可読記憶媒体。
  3. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    前記委任プライベートキーを1つまたは複数のブロックに分割させ、
    前記暗号化キーを使用して前記1つまたは複数のブロックの各ブロックを暗号化させ、
    各暗号化されたブロックを連結させ、前記暗号化された委任プライベートキーを生成させる、
    前記暗号化キーを使用する前記委任プライベートキーの前記暗号化のためのさらなる命令を記憶する、請求項1に記載のコンピュータ可読記憶媒体。
  4. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    前記サードパーティシステムによってパブリッシュされた前記暗号化キーが更新されたと決定させ、
    前記委任プライベートキーを前記更新された暗号化キーで再暗号化させ、
    前記ドメイン所有者の前記DNSレコードにおいて前記再暗号化された委任プライベートキーをパブリッシュさせる
    さらなる命令を記憶する、請求項1に記載のコンピュータ可読記憶媒体。
  5. パブリック−プライベートキーペアを生成するステップであって、前記キーペアの前記パブリックキーは暗号化キーであり、前記キーペアの前記プライベートキーは暗号化解除キーであるステップと、
    前記暗号化キーをサードパーティシステムのドメインネームサービス(DNS)レコードとしてパブリッシュするステップであって、前記サードパーティシステムの前記DNSは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であるステップと、
    ドメイン所有者に代わってメッセージに署名することを求める要求を受信するステップであって、前記メッセージは受信者に送信されるステップと、
    前記ドメイン所有者のDNSレコードを介して前記ドメイン所有者によってパブリッシュされた暗号化された委任プライベートキーにアクセスするステップであって、前記暗号化された委任プライベートキーは前記暗号化キーを使用して暗号化されているステップと、
    前記暗号化解除キーを使用して前記暗号化された委任プライベートキーを暗号化解除するステップと、
    前記委任プライベートキーを使用して前記メッセージの署名を生成するステップと、
    前記署名および前記メッセージを前記受信者に送信するステップと
    を備える、コンピュータ実施方法。
  6. パブリック−プライベートキーペアを生成する前記ステップは、
    2048ビットRSAを使用して前記パブリック−プライベートキーペアを生成するステップをさらに備える、請求項5に記載の方法。
  7. 前記暗号化キーを前記サードパーティシステムのDNSレコードとしてパブリッシュするステップは、
    前記ドメイン所有者の識別を示すDNSレコード下で前記暗号化キーをパブリッシュするステップをさらに備え、
    前記サードパーティシステムは、複数のドメイン所有者に代わってメッセージに署名することをサポートする、請求項5に記載の方法。
  8. 前記サードパーティシステムの前記DNSレコードは、前記DNSレコードと、前記サードパーティシステムのドメイン上でパブリッシュされるその他のテキストレコードとを区別するトークンと、前記DNSレコードの作成時間と、前記DNSレコードの満了時間と、同じサブドメイン上で複数の暗号化キーのパブリケーションを可能にするセレクタフィールドと、暗号化に使用されるアルゴリズムを示すフィールドとをさらに備える、請求項5に記載の方法。
  9. 前記暗号化キーを記憶する前記サードパーティシステムの前記DNSレコードは、DNS TXTレコードである、請求項5に記載の方法。
  10. 前記暗号化解除キーによって暗号化解除されることになる前記暗号化された委任プライベートキーのバイトを決定することによって、前記アクセスされる委任プライベートキーを妥当性検証するステップをさらに備える、請求項5に記載の方法。
  11. 命令を記憶するように構成された非一時的なコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されたとき前記プロセッサに、
    ドメイン所有者システムにおいて、サードパーティシステムを識別させ、メッセージの署名を委任させ、
    前記サードパーティシステムのドメインネームシステム(DNS)レコードにおいて前記サードパーティシステムによってパブリッシュされた暗号化キーにアクセスさせ、前記サードパーティシステムの前記DNSは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であり、
    パブリック−プライベートキーペアを生成させ、前記キーペアの前記パブリックキーは検証キーであり、前記キーペアの前記プライベートキーは委任されたプライベートキーであり、前記委任されたプライベートキーは前記ドメイン所有者システムのドメイン所有者に代わってメッセージに署名するために前記サードパーティシステムによって使用され、
    前記暗号化キーを使用して前記委任されたプライベートキーを暗号化させ、暗号化された委任プライベートキーを生成させ、
    前記ドメイン所有者のDNSレコードにおいて前記暗号化された委任プライベートキーをパブリッシュさせ、
    前記ドメイン所有者の前記DNSレコードにおいて前記検証キーをパブリッシュさせる、
    コンピュータ可読記憶媒体。
  12. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    2048ビットRSAを使用して前記パブリック−プライベートキーペアを生成させる、前記パブリック−プライベートキーペアの前記生成のためのさらなる命令を記憶する、請求項11に記載のコンピュータ可読記憶媒体。
  13. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    暗号化キーを含む前記アクセスされたDNSレコードのバイトは復号が可能であると決定すること、および
    前記復号された暗号化キーが、前記プライベート−パブリックキーペアを生成するために使用されたものと同じアルゴリズムで生成されていると決定すること
    によって、前記暗号化キーを妥当性検証させるさらなる命令を記憶する、請求項11に記載のコンピュータ可読記憶媒体。
  14. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    前記委任プライベートキーを1つまたは複数のブロックに分割させ、
    前記暗号化キーを使用して前記1つまたは複数のブロックの各ブロックを暗号化させ、
    各暗号化されたブロックを連結させ、前記暗号化された委任プライベートキーを生成させる、
    前記暗号化キーを使用する前記委任プライベートキーの前記暗号化のためのさらなる命令を記憶する、請求項11に記載のコンピュータ可読記憶媒体。
  15. 前記暗号化された委任プライベートキーを記憶する前記ドメイン所有者の前記DNSレコードはDNS TXTレコードである、請求項11に記載のコンピュータ可読記憶媒体。
  16. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    DNSサーバ上にある前記ドメイン所有者のDNSレコードにおいて前記暗号化された委任プライベートキーをパブリッシュさせ、
    前記サードパーティシステムのネットワークアドレスから前記暗号化された委任プライベートキーを求める要求のみに応答して、前記暗号化された委任プライベートキーで応答するよう前記DNSサーバを構成させる、
    前記ドメイン所有者のDNSレコードにおける前記暗号化された委任プライベートキーのパブリケーションのためのさらなる命令を記憶する、請求項11に記載のコンピュータ可読記憶媒体。
  17. 前記ドメイン所有者の前記DNSレコードは、前記DNSレコードと、前記ドメイン所有者のドメイン上でパブリッシュされるその他のテキストレコードを区別するトークンと、前記DNSレコードの作成時間と、前記DNSレコードの満了時間と、同じサブドメイン上で複数の暗号化キーのパブリケーションを可能にするセレクタフィールドと、暗号化に使用されるアルゴリズムを示すフィールドとをさらに備える、請求項11に記載のコンピュータ可読記憶媒体。
  18. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    前記検証キーを記憶する前記DNSレコードを、DomainKeys Identified Mail(DKIM)と互換性のあるフォーマットにフォーマットさせる、前記ドメイン所有者の前記DNSレコードにおける前記検証キーの前記パブリケーションのためのさらなる命令を記憶する、請求項11に記載のコンピュータ可読記憶媒体。
  19. 前記記憶媒体は、プロセッサによって実行されたとき前記プロセッサに、
    前記サードパーティシステムによってパブリッシュされた前記暗号化キーが更新されたと決定させ、
    前記委任プライベートキーを前記更新された暗号化キーで再暗号化させ、
    前記ドメイン所有者の前記DNSレコードにおいて前記再暗号化された委任プライベートキーをパブリッシュさせる
    さらなる命令を記憶する、請求項11に記載のコンピュータ可読記憶媒体。
  20. ドメイン所有者システムにおいて、サードパーティシステムを識別して、メッセージの署名を委任するステップと、
    前記サードパーティシステムのドメインネームシステム(DNS)レコードにおいて前記サードパーティシステムによってパブリッシュされた暗号化キーにアクセスするステップであって、前記サードパーティシステムの前記DNSは、前記サードパーティシステムの認証性を確立することができるグローバルディレクトリシステムの一部であるステップと、
    パブリック−プライベートキーペアを生成するステップであって、前記キーペアの前記パブリックキーは検証キーであり、前記キーペアの前記プライベートキーは委任されたプライベートキーであり、前記委任されたプライベートキーは前記ドメイン所有者システムのドメイン所有者に代わってメッセージに署名するために前記サードパーティシステムによって使用されるステップと、
    前記暗号化キーを使用して前記委任されたプライベートキーを暗号化し、暗号化された委任プライベートキーを生成するステップと、
    前記ドメイン所有者のDNSレコードにおいて前記暗号化された委任プライベートキーをパブリッシュするステップと、
    前記ドメイン所有者の前記DNSレコードにおいて前記検証キーをパブリッシュするステップと
    を備える、コンピュータ実施方法。
  21. 前記暗号化キーを使用して前記委任されたプライベートキーを暗号化する前記ステップは、
    前記委任されたプライベートキーを1つまたは複数のブロックに分割するステップと、
    前記暗号化キーを使用して前記1つまたは複数のブロックの各ブロックを暗号化するステップと、
    各暗号化されたブロックを連結して、前記暗号化された委任プライベートキーを生成するステップと
    をさらに備える、請求項20に記載の方法。
  22. 前記暗号化された委任プライベートキーを記憶する前記ドメイン所有者の前記DNSレコードはDNS TXTレコードである、請求項20に記載の方法。
  23. 前記ドメイン所有者のDNSレコードにおいて前記暗号化された委任プライベートキーをパブリッシュする前記ステップは、
    DNSサーバ上にある前記ドメイン所有者のDNSレコードにおいて前記暗号化された委任プライベートキーをパブリッシュするステップと、
    前記サードパーティシステムのネットワークアドレスから前記暗号化された委任プライベートキーを求める要求のみに応答して、前記暗号化された委任プライベートキーで応答するよう前記DNSサーバを構成するステップと
    をさらに備える、請求項20に記載の方法。
  24. 前記サードパーティシステムによってパブリッシュされた前記暗号化キーが更新されたと決定するステップと、
    前記委任されたプライベートキーを前記更新された暗号化キーで再暗号化するステップと、
    前記ドメイン所有者の前記DNSレコードにおいて前記再暗号化された委任プライベートキーをパブリッシュするステップと
    をさらに備える、請求項20に記載の方法。
JP2017560879A 2015-02-14 2016-01-29 ドメインネームサービスを介するプライベートキーの安全な委任された配信 Active JP6526244B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562116414P 2015-02-14 2015-02-14
US62/116,414 2015-02-14
PCT/US2016/015797 WO2016130340A1 (en) 2015-02-14 2016-01-29 Secure and delegated distribution of private keys via domain name service

Publications (3)

Publication Number Publication Date
JP2018506939A JP2018506939A (ja) 2018-03-08
JP2018506939A5 JP2018506939A5 (ja) 2019-03-22
JP6526244B2 true JP6526244B2 (ja) 2019-06-05

Family

ID=56615461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017560879A Active JP6526244B2 (ja) 2015-02-14 2016-01-29 ドメインネームサービスを介するプライベートキーの安全な委任された配信

Country Status (8)

Country Link
US (3) US9686073B2 (ja)
EP (1) EP3257192B1 (ja)
JP (1) JP6526244B2 (ja)
CN (1) CN108604983B (ja)
AU (1) AU2016218340B2 (ja)
BR (1) BR112017017425A2 (ja)
CA (1) CA2976463C (ja)
WO (1) WO2016130340A1 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10205598B2 (en) * 2015-05-03 2019-02-12 Ronald Francis Sulpizio, JR. Temporal key generation and PKI gateway
CA2943756C (en) * 2016-09-30 2024-02-06 The Toronto-Dominion Bank Information masking using certificate authority
CN108418678B (zh) * 2017-02-10 2019-05-07 贵州白山云科技股份有限公司 一种私钥安全存储和分发的方法及装置
US10637720B2 (en) * 2017-02-28 2020-04-28 International Business Machines Corporation Predictive analytics and device tracking to facilitate minimization of alert events
CN108574569B (zh) * 2017-03-08 2021-11-19 中国移动通信有限公司研究院 一种基于量子密钥的认证方法及认证装置
US10432584B1 (en) * 2017-06-23 2019-10-01 Verisign, Inc. Managing lame delegated domains within a managed DNS service
US10581909B2 (en) * 2017-06-26 2020-03-03 Oath Inc. Systems and methods for electronic signing of electronic content requests
US10715504B2 (en) 2017-07-12 2020-07-14 Wickr Inc. Provisioning ephemeral key pools for sending and receiving secure communications
US11082412B2 (en) 2017-07-12 2021-08-03 Wickr Inc. Sending secure communications using a local ephemeral key pool
US11316666B2 (en) * 2017-07-12 2022-04-26 Amazon Technologies, Inc. Generating ephemeral key pools for sending and receiving secure communications
US10812276B2 (en) 2018-02-23 2020-10-20 International Business Machines Corporation Secure trust based distribution of digital certificates
US10785192B2 (en) 2018-02-28 2020-09-22 Sling Media Pvt. Ltd. Methods and systems for secure DNS routing
US10742696B2 (en) 2018-02-28 2020-08-11 Sling Media Pvt. Ltd. Relaying media content via a relay server system without decryption
US20190305940A1 (en) * 2018-03-28 2019-10-03 Ca, Inc. Group shareable credentials
CN111294379B (zh) * 2018-12-10 2022-06-07 北京沃东天骏信息技术有限公司 区块链网络服务平台及其权限托管方法、存储介质
US11641363B2 (en) * 2019-01-14 2023-05-02 Qatar Foundation For Education, Science And Community Development Methods and systems for verifying the authenticity of a remote service
US11212139B2 (en) 2019-08-29 2021-12-28 Charter Communications Operating, Llc Border gateway protocol (BGP) hijacks prefix signing using public/private keys
US11296872B2 (en) * 2019-11-07 2022-04-05 Micron Technology, Inc. Delegation of cryptographic key to a memory sub-system
CN110969431B (zh) * 2019-11-27 2024-04-19 北京贵泽系统技术有限公司 区块链数字币私钥的安全托管方法、设备和系统
US11606198B2 (en) 2020-01-22 2023-03-14 Valimail Inc. Centrally managed PKI provisioning and rotation
WO2021150799A1 (en) 2020-01-22 2021-07-29 Valimail Inc. Interaction control list determination and device adjacency and relative topography
CA3165696A1 (en) * 2020-01-22 2021-07-29 Jack William Abbott Automated authentication and authorization in a communication system
CN111698088B (zh) * 2020-05-28 2022-10-18 平安科技(深圳)有限公司 密钥轮换方法、装置、电子设备及介质
CN112287364A (zh) * 2020-10-22 2021-01-29 同盾控股有限公司 数据共享方法、装置、系统、介质及电子设备
US11695745B2 (en) 2020-12-01 2023-07-04 Valimail Inc. Automated DMARC device discovery and workflow
WO2022119586A1 (en) 2020-12-01 2022-06-09 Valimail Inc. Automated device discovery and workflow enrichment
CN112751879B (zh) * 2021-01-08 2023-06-27 北京润通丰华科技有限公司 一种拟态dns防御系统通信加密和解密方法
US11271894B1 (en) * 2021-03-10 2022-03-08 Accenture Global Solutions Limited Systems, devices, and methods for private query and exchange of domain information
CN114142995B (zh) * 2021-11-05 2023-08-22 支付宝(杭州)信息技术有限公司 面向区块链中继通信网络的密钥安全分发方法及装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834112B1 (en) * 2000-04-21 2004-12-21 Intel Corporation Secure distribution of private keys to multiple clients
US7281010B2 (en) * 2000-11-15 2007-10-09 Lenovo (Singapore) Pte. Ltd. Trusted computing platform with dual key trees to support multiple public/private key systems
US7773754B2 (en) * 2002-07-08 2010-08-10 Broadcom Corporation Key management system and method
WO2004107700A1 (en) * 2003-05-30 2004-12-09 Privasphere Gmbh System and method for secure communication
EP1636680B1 (en) * 2003-06-10 2016-04-13 Mastercard International, Inc. Systems and methods for conducting secure payment transactions using a formatted data structure
US7313700B2 (en) * 2003-08-26 2007-12-25 Yahoo! Inc. Method and system for authenticating a message sender using domain keys
US6986049B2 (en) * 2003-08-26 2006-01-10 Yahoo! Inc. Method and system for authenticating a message sender using domain keys
US8094810B2 (en) * 2006-02-03 2012-01-10 Massachusetts Institute Of Technology Unidirectional proxy re-encryption
US8538028B2 (en) * 2006-11-20 2013-09-17 Toposis Corporation System and method for secure electronic communication services
CA2586223A1 (en) * 2007-04-19 2007-07-18 Cannotech Experts-Conseils Inc. Opt-in process and nameserver system for ietf dnssec
US20100011420A1 (en) * 2008-07-02 2010-01-14 Barracuda Networks Inc. Operating a service on a network as a domain name system server
WO2010099603A1 (en) * 2009-03-03 2010-09-10 Giuliani Kenneth J Split key secure access system
US8285798B2 (en) * 2009-04-15 2012-10-09 Ecert, Inc. System and method for the management of message policy
US20110296171A1 (en) 2010-05-28 2011-12-01 Christina Fu Key recovery mechanism
EP2661697B1 (en) * 2011-01-07 2018-11-21 Seven Networks, LLC System and method for reduction of mobile network traffic used for domain name system (dns) queries
US20120216040A1 (en) * 2011-02-17 2012-08-23 Ram Tanamy System for Email Message Authentication, Classification, Encryption and Message Authenticity
JP2012199607A (ja) * 2011-03-18 2012-10-18 Anritsu Networks Kk Dnssec代理装置
US9130917B2 (en) * 2011-05-02 2015-09-08 Verisign, Inc. DNSSEC signing server
US9495552B2 (en) * 2012-12-31 2016-11-15 Microsoft Technology Licensing, Llc Integrated data deduplication and encryption
US9367676B2 (en) * 2013-03-22 2016-06-14 Nok Nok Labs, Inc. System and method for confirming location using supplemental sensor and/or location data

Also Published As

Publication number Publication date
US9686073B2 (en) 2017-06-20
JP2018506939A (ja) 2018-03-08
US20170250797A1 (en) 2017-08-31
CA2976463A1 (en) 2016-08-18
US20180048460A1 (en) 2018-02-15
EP3257192A4 (en) 2018-08-29
AU2016218340A1 (en) 2017-08-31
CN108604983B (zh) 2021-06-15
BR112017017425A2 (pt) 2018-04-03
WO2016130340A1 (en) 2016-08-18
US9800402B2 (en) 2017-10-24
EP3257192A1 (en) 2017-12-20
EP3257192B1 (en) 2020-08-12
US20160373252A1 (en) 2016-12-22
CN108604983A (zh) 2018-09-28
AU2016218340B2 (en) 2019-01-03
CA2976463C (en) 2024-01-16

Similar Documents

Publication Publication Date Title
JP6526244B2 (ja) ドメインネームサービスを介するプライベートキーの安全な委任された配信
US20230155821A1 (en) Secure shared key establishment for peer to peer communications
US10659468B2 (en) Access control values
US7051204B2 (en) Methods and system for providing a public key fingerprint list in a PK system
US8527769B2 (en) Secure messaging with read-undeniability and deletion-verifiability
US11457018B1 (en) Federated messaging
JP6731491B2 (ja) データ転送方法、非一過性のコンピュータ読み取り可能な記憶媒体、暗号デバイス、およびデータ使用のコントロール方法
US7822974B2 (en) Implicit trust of authorship certification
JP2018506939A5 (ja)
US20050021969A1 (en) Delegating certificate validation
US8468339B2 (en) Efficient security information distribution
KR20080113356A (ko) 콘텐츠 검증 방법, 컴퓨터 프로그램, 콘텐츠 배포 시스템의노드, 콘텐츠 배포 시스템의 제어 노드, 콘텐츠 배포 시스템의 피어, 및 콘텐츠 배포 시스템
US11349659B2 (en) Transmitting an encrypted communication to a user in a second secure communication network
US8719574B2 (en) Certificate generation using virtual attributes
US10791196B2 (en) Directory lookup for federated messaging with a user from a different secure communication network
KR20220030298A (ko) 참여 엔티티에 대한 네트워크 식별자를 사용하여 블록체인과 연관된 트랜잭션을 용이하게 하는 컴퓨터 구현 시스템 및 방법
WO2017008556A1 (zh) 一种无线接入点和管理平台鉴权的方法和装置
US11368442B2 (en) Receiving an encrypted communication from a user in a second secure communication network
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
CN116561820B (zh) 可信数据处理方法及相关装置
JP2010245712A (ja) Id有効性管理装置及び通信装置及びid有効性管理方法及びデータ処理方法及びプログラム
US20050160041A1 (en) Smartcard-based root certificate methods and apparatuses
WO2023006937A1 (en) Method, cloud-service method, cloud server, self-sovereign identity method for providing a self-sovereign identity cloud service to a user

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190205

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190205

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190507

R150 Certificate of patent or registration of utility model

Ref document number: 6526244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250