Network Working Group                                          M. Delany
Request for Comments: 4870                                    Yahoo! Inc
Obsoleted By: 4871                                              May 2007
Category: Historic
          Domain-Based Email Authentication Using Public Keys
                   Advertised in the DNS (DomainKeys)

Status of This Memo


This memo defines a Historic Document for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.


Copyright Notice


Copyright (C) The IETF Trust (2007).




"DomainKeys" creates a domain-level authentication framework for email by using public key technology and the DNS to prove the provenance and contents of an email.


This document defines a framework for digitally signing email on a per-domain basis. The ultimate goal of this framework is to unequivocally prove and protect identity while retaining the semantics of Internet email as it is known today.


Proof and protection of email identity may assist in the global control of "spam" and "phishing".


Table of Contents


   1. Introduction ....................................................3
      1.1. Lack of Authentication Is Damaging Internet Email ..........3
      1.2. Digitally Signing Email Creates Credible Domain
           Authentication .............................................4
      1.3. Public Keys in the DNS .....................................4
      1.4. Initial Deployment Is Likely at the Border MTA .............5
      1.5. Conveying Verification Results to MUAs .....................5
      1.6. Technical Minutiae Are Not Completely Covered ..............5
      1.7. Motivation .................................................6
      1.8. Benefits of DomainKeys .....................................6
      1.9. Definitions ................................................7
      1.10. Requirements Notation .....................................8
   2. DomainKeys Overview .............................................8
   3. DomainKeys Detailed View ........................................8
      3.1. Determining the Sending Address of an Email ................9
      3.2. Retrieving the Public Key Given the Sending Domain ........10
           3.2.1. Introducing "selectors" ............................10
           3.2.2. Public Key Signing and Verification Algorithm ......11
           3.2.3. Public key Representation in the DNS ...............13
           3.2.4. Key Sizes ..........................................14
      3.3. Storing the Signature in the Email Header .................15
      3.4. Preparation of Email for Transit and Signing ..............17
           3.4.1. Preparation for Transit ............................18
           3.4.2. Canonicalization for Signing .......................18
         The "simple" Canonicalization Algorithm ...19
         The "nofws" Canonicalization Algorithm ....19
      3.5. The Signing Process .......................................20
           3.5.1. Identifying the Sending Domain .....................20
           3.5.2. Determining Whether an Email Should Be Signed ......21
           3.5.3. Selecting a Private Key and Corresponding
                  Selector Information ...............................21
           3.5.4. Calculating the Signature Value ....................21
           3.5.5. Prepending the "DomainKey-Signature:" Header .......21
      3.6. Policy Statement of Sending Domain ........................22
      3.7. The Verification Process ..................................23
           3.7.1. Presumption that Headers Are Not Reordered .........24
           3.7.2. Verification Should Render a Binary Result .........24
           3.7.3. Selecting the Most Appropriate
                  "DomainKey-Signature:" Header ......................24
           3.7.4. Retrieve the Public Key Based on the
                  Signature Information ..............................26
           3.7.5. Verify the Signature ...............................27
           3.7.6. Retrieving Sending Domain Policy ...................27
           3.7.7. Applying Local Policy ..............................27
      3.8. Conveying Verification Results to MUAs ....................27
   4. Example of Use .................................................29
      4.1. The User Composes an Email ................................29
      4.2. The Email Is Signed .......................................29
      4.3. The Email Signature Is Verified ...........................30
   5. Association with a Certificate Authority .......................31
      5.1. The "DomainKey-X509:" Header ..............................31
   6. Topics for Discussion ..........................................32
      6.1. The Benefits of Selectors .................................32
      6.2. Canonicalization of Email .................................33
      6.3. Mailing Lists .............................................33
      6.4. Roving Users ..............................................33
   7. Security Considerations ........................................34
      7.1. DNS .......................................................34
           7.1.1. The DNS Is Not Currently Secure ....................34
           7.1.2. DomainKeys Creates Additional DNS Load .............35
      7.2. Key Management ............................................35
      7.3. Implementation Risks ......................................35
      7.4. Privacy Assumptions with Forwarding Addresses .............35
      7.5. Cryptographic Processing Is Computationally Intensive .....36
   8. The Trial ......................................................36
      8.1. Goals .....................................................36
      8.2. Results of Trial ..........................................37
   9. Note to Implementors Regarding TXT Records .....................37
   10. References ....................................................37
      10.1. Normative References .....................................37
      10.2. Informative References ...................................38
      Appendix A - Syntax Rules for the Tag=Value Format .............39
      Acknowledgments ................................................40
1. Introduction
1. はじめに

This document proposes an authentication framework for email that stores public keys in the DNS and digitally signs email on a domain basis. Separate documents discuss how this framework can be extended to validate the delivery path of email as well as facilitate per-user authentication.


The DomainKeys specification was a primary source from which the DomainKeys Identified Mail [DKIM] specification has been derived. The purpose in submitting this document is as an historical reference for deployed implementations written prior to the DKIM specification.


1.1. Lack of Authentication Is Damaging Internet Email
1.1. 認証の欠如は、インターネット電子メールを損傷を与えます

Authentication of email is not currently widespread. Not only is it difficult to prove your own identity, it is impossible to prevent others from abusing your identity.


While most email exchanges do not intrinsically need authentication beyond context, it is the rampant abuse of identity by "spammers", "phishers", and their criminal ilk that makes proof necessary. In other words, authentication is as much about protection as proof.


Importantly, the inability to authenticate email effectively delegates much of the control of the disposition of inbound email to the sender, since senders can trivially assume any email address. Creating email authentication is the first step to returning dispositional control of email to the recipient.


For the purposes of this document, authentication is seen from a user perspective, and is intended to answer the question "who sent this email?" where "who" is the email address the recipient sees and "this email" is the content that the recipient sees.


1.2. Digitally Signing Email Creates Credible Domain Authentication
1.2. デジタル署名メールは信用できるドメイン認証を作成します。

DomainKeys combines public key cryptography and the DNS to provide credible domain-level authentication for email.


When an email claims to originate from a certain domain, DomainKeys provides a mechanism by which the recipient system can credibly determine that the email did in fact originate from a person or system authorized to send email for that domain.


The authentication provided by DomainKeys works in a number of scenarios in which other authentication systems fail or create complex operational requirements. These include the following:


o forwarded email


o distributed sending systems


o authorized third-party sending


This base definition of DomainKeys is intended to primarily enable domain-level authenticity. Whether a given message is really sent by the purported user within the domain is outside the scope of the base definition. Having said that, this specification includes the possibility that some domains may wish to delegate fine-grained authentication to individual users.


1.3. Public Keys in the DNS
1.3. DNSでの公開鍵

DomainKeys differs from traditional hierarchical public key systems in that it leverages the DNS for public key management, placing complete and direct control of key generation and management with the owner of the domain. That is, if you have control over the DNS for a given domain, you have control over your DomainKeys for that domain.


The DNS is proposed as the initial mechanism for publishing public keys. DomainKeys is specifically designed to be extensible to other key-fetching services as they become available.


1.4. Initial Deployment Is Likely at the Border MTA
1.4. 初期展開は国境MTAの可能性があります

For practical reasons, it is expected that initial implementations of DomainKeys will be deployed on Mail Transfer Agents (MTAs) that accept or relay email across administrative or organizational boundaries. There are numerous advantages to deployment at the border MTA, including:

実用上の理由から、DomainKeysの初期の実装は受け入れるか、行政や組織の境界を越えてメールを中継メール転送エージェント(MTA)に配備されることが期待されます。 :を含む境界MTAでの展開に多くの利点があり、

o a reduction in the number of MTAs that have to be changed to support an implementation of DomainKeys


o a reduction in the number of MTAs involved in transmitting the email between a signing system and a verifying system, thus reducing the number of places that can make accidental changes to the contents


o removing the need to implement DomainKeys within an internal email network.


However, there is no necessity to deploy DomainKeys at the border as signing and verifying can effectively occur anywhere from the border MTA right back to the Mail User Agent (MUA). In particular, the best place to sign an email for many domains is likely to be at the point of SUBMISSION where the sender is often authenticated through SMTP AUTH or other identifying mechanisms.


1.5. Conveying Verification Results to MUAs
1.5. MUAに検証結果を伝えます

It follows that testing the authenticity of an email results in some action based on the results of the test. Oftentimes, the action is to notify the MUA in some way -- typically via a header line.

テストの結果に基づいて、いくつかのアクションでは、電子メールの結果の信頼性をテストすることになります。典型的には、ヘッダ行を介して - 多くの場合、アクションは、何らかの方法でMUA通知することです。

The "Domainkey-Status:" header is defined in this specification for recording authentication results in the email.


1.6. Technical Minutiae Are Not Completely Covered
1.6. 技術的なマニューシャは完全にカバーされていません

The intent of this specification is to communicate the fundamental characteristics of DomainKeys for an implementor. However, some aspects are derived from the functionality of the openssl command [OPENSSL] and, rather than duplicate that documentation, implementors


are expected to understand the mechanics of the openssl command, sufficient to complete the implementation.


1.7. Motivation
1.7. 動機

The motivation for DomainKeys is to define a simple, cheap, and "sufficiently effective" mechanism by which domain owners can control who has authority to send email using their domain. To this end, the designers of DomainKeys set out to build a framework that:


o is transparent and compatible with the existing email infrastructure


o requires no new infrastructure


o can be implemented independently of clients in order to reduce deployment time


o does not require the use of a central certificate authority that might impose fees for certificates or introduce delays to deployment


o can be deployed incrementally


While we believe that DomainKeys meets these criteria, it is by no means a perfect solution. The current Internet imposes considerable compromises on any similar scheme, and readers should be careful not to misinterpret the information provided in this document to imply that DomainKeys makes stronger credibility statements than it is able to do.


1.8. Benefits of DomainKeys
1.8. DomainKeysのメリット

As the reader will discover, DomainKeys is solely an authentication system. It is not a magic bullet for spam, nor is it an authorization system, a reputation system, a certification system, or a trust system.


However, a strong authentication system such as DomainKeys creates an unimpeachable framework within which comprehensive authorization systems, reputations systems, and their ilk can be developed.


1.9. Definitions
1.9. 定義

With reference to the following sample email:


   Line   Data
   Number Bytes               Content
   ----   --- --------------------------------------------
     01    46 From: "Joe SixPack" <>
     02    40 To: "Suzie Q" <>
     03    25 Subject: Is dinner ready?
     04    43 Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT)
     05    40 Comment: This comment has a continuation
     06    51   because this line begins with folding white space
     07    60 Message-ID: <>
     08    00
     09    03 Hi.
     10    00
     11    37 We lost the game. Are you hungry yet?
     12    00
     13    04 Joe.
     14    00
     15    00

Line 01 is the first line of the email and the first line of the headers.


Lines 05 and 06 constitute the "Comment:" header.


Line 06 is a continuation header line.


Line 07 is the last line of the headers.


Line 08 is the empty line that separates the header from the body.


Line 09 is the first line of the body.


Lines 10, 12, 14, and 15 are empty lines.


Line 13 is the last non-empty line of the email.


Line 15 is the last line of the body and the last line of the email.


Lines 01 to 15 constitute the complete email.


Line 01 is earlier than line 02, and line 02 is later than line 01.


1.10. Requirements Notation
1.10. 要件表記

This document occasionally uses terms that appear in capital letters. When the terms "MUST", "SHOULD", "RECOMMENDED", "MUST NOT", "SHOULD NOT", and "MAY" appear capitalized, they are being used to indicate particular requirements of this specification. A discussion of the meanings of these terms appears in [RFC2119].

このドキュメントは時折大文字で現れる用語を使用しています。ときの用語は、「MUST」、「推奨」「SHOULD」、「NOT MUST」、「SHOULD NOT」、および大文字表示される「MAY」、彼らは、この仕様の特定の要件を示すために使用されています。これらの用語の意味の議論は[RFC2119]に表示されます。

2. DomainKeys Overview
2. DomainKeysの概要

Under DomainKeys, a domain owner generates one or more private/public key pairs that will be used to sign messages originating from that domain. The domain owner places the public key in his domain namespace (i.e., in a DNS record associated with that domain), and makes the private key available to the outbound email system. When an email is submitted by an authorized user of that domain, the email system uses the private key to digitally sign the email associated with the sending domain. The signature is added as a header to the email, and the message is transferred to its recipients in the usual way.


When a message is received with a DomainKey signature header, the receiving system can verify the signature as follows:


1. Extract the signature and claimed sending domain from the email.


2. Fetch the public key from the claimed sending domain namespace.

3. Use public key to determine whether the signature of the email has been generated with the corresponding private key, and thus whether the email was sent with the authority of the claimed sending domain.


In the event that an email arrives without a signature or when the signature verification fails, the receiving system retrieves the policy of the claimed sending domain to ascertain the preferred disposition of such email.


Armed with this information, the recipient system can apply local policy based on the results of the signature test.


3. DomainKeys Detailed View
3. DomainKeysの詳細表示

This section discusses the specifics of DomainKeys that are needed to create interoperable implementations. This section answers the following questions:


Given an email, how is the sending domain determined?


How is the public key retrieved for a sending domain?


As email transits the email system, it can potentially go through a number of changes. Which parts of the email are included in the signature and how are they protected from such transformations?


How is the signature represented in the email?


If a signature is not present, or a verification fails, how does the recipient determine the policy intent of the sending domain?


Finally, on verifying the authenticity of an email, how is that result conveyed to participating MUAs?


While there are many alternative design choices, most lead to comparable functionality. The overriding selection criteria used to choose among the alternatives are as follows:


o use deployed technology whenever possible


o prefer ease of implementation


o avoid trading risk for excessive flexibility or interoperability


o include basic flexibility


Adherence to these criteria implies that some existing email implementations will require changes to participate in DomainKeys. Ultimately, some hard choices need to be made regarding which requirements are more important.


3.1. Determining the Sending Address of an Email
3.1. メールの送信アドレスの決定

The goal of DomainKeys is to give the recipient confidence that the email originated from the claimed sender. As with much of Internet email, agreement over what constitutes the "sender" is no easy matter. Forwarding systems and mailing lists add serious complications to an overtly simple question. From the point of view of the recipient, the authenticity claim should be directed at the domain most visible to the recipient.


In the first instance, the most visible address is clearly the RFC 2822 "From:" address [RFC2822]. Therefore, a conforming email MUST contain a single "From:" header from which an email address with a domain name can be extracted.

[RFC2822]を対処:最初のインスタンスでは、最も目に見えるアドレスは明らか「から」RFC 2822です。ドメイン名と電子メールアドレスを抽出することが可能なヘッダ:したがって、適合の電子メールは、単一の「From」を含まなければなりません。

A conforming email MAY contain a single RFC 2822 "Sender:" header from which an email address with a domain name can be extracted.

ドメイン名とメールアドレスを抽出することができ、そこからヘッダー:準拠した電子メールには、単一のRFC 2822「送信者」を含むかもしれません。

If the email has a valid "From:" and a valid "Sender:" header, then the signer MUST use the sending address in the "Sender:" header.


If the email has a valid "From:" and no "Sender:" header, then the signer MUST use the first sending address in the "From:" header.


In all other cases, a signer MUST NOT sign the email. Implementors should note that an email with a "Sender:" header and no "From:" header MUST NOT be signed.


The domain name in the sending address constitutes the "sending domain".


3.2. Retrieving the Public Key Given the Sending Domain
3.2. 送信ドメイン指定された公開鍵を取得

To avoid namespace conflicts, it is proposed that the DNS namespace "_domainkey." be reserved within the sending domain for storing public keys, e.g., if the sending domain is, then the public keys for that domain are stored in the namespace.


3.2.1. Introducing "selectors"
3.2.1. 「セレクタ」を導入

To support multiple concurrent public keys per sending domain, the DNS namespace is further subdivided with "selectors". Selectors are arbitrary names below the "_domainkey." namespace. A selector value and length MUST be legal in the DNS namespace and in email headers with the additional provision that they cannot contain a semicolon.


Examples of namespaces using selectors are as follows:


"" "" "" ""

”こおぅmべあch。_どまいんけy。えぁmpぇ。ねt” ”せばsとぽl。_どまいんけy。えぁmpぇ。ねt” ”れykじゃゔぃk。_どまいんけy。えぁmpぇ。ねt” ”でふぁうlt。_どまいんけy。えぁmpぇ。ねt”



"" "" ""

”2005。ぱお。_どまいんけy。えぁmpぇ。ねt” ”2005。sql。_どまいんけy。えぁmpぇ。ねt” ”2005。rhv。_どまいんけy。えぁmpぇ。ねt”

Periods are allowed in selectors and are to be treated as component separators. In the case of DNS queries, that means the period defines subdomain boundaries.

期間はセレクタで許可され、コンポーネントセパレータとして扱われるべきです。 DNSクエリの場合には、その期間は、サブドメインの境界を定義することを意味します。

The number of public keys and corresponding selectors for each domain is determined by the domain owner. Many domain owners will be satisfied with just one selector, whereas administratively distributed organizations may choose to manage disparate selectors and key pairs in different regions, or on different email servers.


Beyond administrative convenience, selectors make it possible to seamlessly replace public keys on a routine basis. If a domain wishes to change from using a public key associated with selector "2005" to a public key associated with selector "2006", it merely makes sure that both public keys are advertised in the DNS concurrently for the transition period during which email may be in transit prior to verification. At the start of the transition period, the outbound email servers are configured to sign with the "2006" private key. At the end of the transition period, the "2005" public key is removed from the DNS.


While some domains may wish to make selector values well known, others will want to take care not to allocate selector names in a way that allows harvesting of data by outside parties. For example, if per-user keys are issued, the domain owner will need to make the decision as to whether to make this selector associated directly with the user name or make it some unassociated random value, such as the fingerprint of the public key.


3.2.2. Public Key Signing and Verification Algorithm
3.2.2. 公開鍵署名と検証アルゴリズム

The default signature is an RSA signed SHA1 digest of the complete email.


For ease of explanation, the openssl command is used throughout this document to describe the mechanism by which keys and signatures are managed.


One way to generate a 768-bit private key suitable for DomainKeys is to use openssl like this:


$ openssl genrsa -out rsa.private 768 which results in the file rsa.private containing the key information similar to this:

$ opensslのgenrsa -out rsa.privateこれに似たキー情報を含むファイルrsa.privateになり768:

   -----END RSA PRIVATE KEY-----

Once a private key has been generated, the openssl command can be used to sign an appropriately prepared email, like this:


$ openssl dgst -sign rsa.private -sha1 <input.file

$ opensslのDGST -sign rsa.private -sha1 <input.file

which results in signature data similar to this when represented in Base64 [BASE64] format:


aoiDeX42BB/gP4ScqTdIQJcpAObYr+54yvctqc4rSEFYby9+omKD3pJ/TVxATeTz msybuW3WZiamb+mvn7f3rhmnozHJ0yORQbnn4qJQhPbbPbWEQKW09AMJbyz/0lsl

aoiDeX42BB / gP4ScqTdIQJcpAObYr + 54yvctqc4rSEFYby9 + omKD3pJ / TVxATeTz msybuW3WZiamb + mvn7f3rhmnozHJ0yORQbnn4qJQhPbbPbWEQKW09AMJbyz / 0lsl

How this signature is added to the email is discussed later in this document.


To extract the public key component from the private key, use openssl like this:


$ openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM

$ opensslのRSA -in rsa.private -out rsa.public -pubout -outform PEM

which results in the file rsa.public containing the key information similar to this:


   -----BEGIN PUBLIC KEY-----
   -----END PUBLIC KEY-----

This public key data is placed in the DNS.


With the signature, canonical email contents and public key, a verifying system can test the validity of the signature. The openssl invocation to verify a signature looks like this:


$ openssl dgst -verify rsa.public -sha1 -signature sig.file <input.file

$ opensslのDGST -verify rsa.public -sha1 -signature sig.file <input.file

3.2.3. Public key Representation in the DNS
3.2.3. DNSでの公開鍵の表現

There is currently no standard method defined for storing public keys in the DNS. As an interim measure, the public key is stored as a TXT record derived from a Privacy-Enhanced Mail (PEM) format [PEM], that is, as a Base64 representation of a DER encoded key. Here is an example of a 768-bit RSA key in PEM form:


   -----BEGIN PUBLIC KEY-----
   -----END PUBLIC KEY-----

To save scarce DNS packet space and aid extensibility, the PEM wrapping MUST be removed and the remaining public key data along with other attributes relevant to DomainKeys functionality are stored as tag=value pairs separated by semicolons, for example, as in the following:


brisbane._domainkey IN TXT "g=; k=rsa; p=MHww ... IDAQAB"

TXT、IN brisbane._domainkey "G =; K = RSA; P = MHww ... IDAQAB"

Verifiers MUST support key sizes of 512, 768, 1024, 1536 and 2048 bits. Signers MUST support at least one of the verifier supported key sizes.


The current valid tags are as follows:


g = granularity of the key. If present with a non-zero length value, this value MUST exactly match the local part of the sending address. This tag is optional.


          The intent of this tag is to constrain which sending address
          can legitimately use this selector.  An email with a sending
          address that does not match the value of this tag constitutes
          a failed verification.

k = key type (rsa is the default). Signers and verifiers MUST support the 'rsa' key type. This tag is optional.

K =キータイプ(RSAがデフォルトです)。署名者と検証者は、「RSA」キータイプをサポートしなければなりません。このタグはオプションです。

n = Notes that may be of interest to a human. No interpretation is made by any program. This tag is optional.

N =ヒトへの関心のものであってもよい注意。何解釈は、任意のプログラムによって行われません。このタグはオプションです。

p = public key data, encoded as a Base64 string. An empty value means that this public key has been revoked. This tag MUST be present.

P = Base64文字列としてエンコードされた公開鍵データ、。空の値は、この公開鍵が失効していることを意味します。このタグが存在しなければなりません。

t = a set of flags that define boolean attributes. Valid attributes are as follows:


          y = testing mode.  This domain is testing DomainKeys and
              unverified email MUST NOT be treated differently from
              verified email.  Recipient systems MAY wish to track
              testing mode results to assist the sender.

This tag is optional.


(Syntax rules for the tag=value format are discussed in Appendix A.)

(タグ= valueの形式の構文規則は、付録Aに記載されています)

Keeping the size of the TXT record to a minimum is important as some implementations of content and caching DNS servers are reported to have problems supporting large TXT records. In the example above, the encoding generates a 182-byte TXT record. That this encoding is less than 512 bytes is of particular significance as it fits within a single UDP response packet. With careful selection of query values, a TXT record can accommodate a 2048 bit key.


For the same size restriction reason, the "n" tag SHOULD be used sparingly. The most likely use of this tag is to convey a reason why a public key might have been revoked. In this case, set the "n" tag to the explanation and remove the public key value from the "p" tag.


3.2.4. Key Sizes
3.2.4. 鍵のサイズ

Selecting appropriate key sizes is a trade-off between cost, performance, and risk. This specification does not define either minimum or maximum key sizes -- that decision is a matter for each domain owner.

適切なキーサイズを選択することは、コスト、性能、およびリスクの間のトレードオフです。この仕様は、最小または最大のいずれかのキーサイズを定義していない - その決定は、各ドメインの所有者のための問題です。

Factors that should influence this decision include the following:


o the practical constraint that a 2048-bit key is the largest key that fits within a 512-byte DNS UDP response packet


o larger keys impose higher CPU costs to verify and sign email


o keys can be replaced on a regular basis; thus, their lifetime can be relatively short


o the security goals of this specification are modest compared to typical goals of public key systems


In general, it is expected that most domain owners will use keys that are no larger than 1024 bits.


3.3. Storing the Signature in the Email Header
3.3. 電子メールのヘッダーに署名を保存します

The signature of the email is stored in the "DomainKey-Signature:" header. This header contains all of the signature and key-fetching data.


When generating the signed email, the "DomainKey-Signature:" header MUST precede the original email headers presented to the signature algorithm.


The "DomainKey-Signature:" header is not included in the signature calculation.


For extensibility, the "DomainKey-Signature:" header contains tag=value pairs separated by semicolons, for example, as in the following:


DomainKey-Signature: a=rsa-sha1; s=brisbane;; q=dns; c=simple

DomainKey-署名:= RSA-SHA1。 S =ブリスベン。 D =。 Q = DNS。 C =シンプル

The current valid tags are as follows:


a = The algorithm used to generate the signature. The default is "rsa-sha1", an RSA signed SHA1 digest. Signers and verifiers MUST support "rsa-sha1".

=署名を生成するために使用されるアルゴリズム。デフォルトでは、 "RSA-SHA1"、RSAは、SHA1ダイジェストに署名しています。署名者と検証者は、「RSA-SHA1」をサポートしなければなりません。

b = The signature data, encoded as a Base64 string. This tag MUST be present.

B = Base64文字列として符号化された署名データ、。このタグが存在しなければなりません。

          Whitespace is ignored in this value and MUST be removed when
          reassembling the original signature.  This is another way of
          saying that the signing process can safely insert folding
          whitespace in this value to conform to line-length limits.

c = Canonicalization algorithm. The method by which the headers and content are prepared for presentation to the signing algorithm. This tag MUST be present. Verifiers MUST support "simple" and "nofws". Signers MUST support at least one of the verifier-supported algorithms.

C =正規化アルゴリズム。ヘッダとコンテンツが署名アルゴリズムへの提示のために準備される方法。このタグが存在しなければなりません。検証者は、「シンプル」と「nofws」をサポートしなければなりません。署名者は、検証者がサポートするアルゴリズムのうち少なくとも一つをサポートしなければなりません。

d = The domain name of the signing domain. This tag MUST be present. In conjunction with the selector tag, this domain forms the basis of the public key query. The value in this tag MUST match the domain of the sending email address or MUST be one of the parent domains of the sending email address. Domain name comparison is case insensitive.


             The matching process for this tag is called subdomain
             matching, as the sending email address must be the domain
             or subdomain of the value.

h = A colon-separated list of header field names that identify the headers presented to the signing algorithm. If present, the value MUST contain the complete list of headers in the order presented to the signing algorithm.


          If present, this tag MUST include the header that was used to
          identify the sending domain, i.e., the "From:" or "Sender:"
          header; thus, this tag can never contain an empty value.

If this tag is not present, all headers subsequent to the signature header are included in the order found in the email.


A verifier MUST support this tag. A signer MAY support this tag. If a signer generates this tag, it MUST include all email headers in the original email, as a verifier MAY remove or render suspicious, lines that are not included in the signature.


In the presence of duplicate headers, a signer may include duplicate entries in the list of headers in this tag. If a header is included in this list, a verifier must include all occurrences of that header, subsequent to the "DomainKey-Signature:" header in the verification.


If a header identified in this list is not found after the "DomainKey-Signature:" header in the verification process, a verifier may "look" for a matching header prior to the "DomainKey-Signature:" header; however, signers should not rely on this as early experience suggests that most verifiers do not try to "look" back before the "DomainKey-Signature:" header.

このリストで識別されたヘッダが「DomainKey-署名:」の後に検出されない場合、検証プロセスにおいてヘッダ、「DomainKey-署名:」前マッチングヘッダの「見える」ことができる検証ヘッダ。 「DomainKey-署名:」ヘッダをただし、署名者は、このように初期の経験に頼るべきではありませんが、ほとんどの検証が前に戻って「見える」しようとしないことを示唆しています。

Whitespace is ignored in this value and header comparisons are case insensitive.


q = The query method used to retrieve the public key. This tag MUST be present. Currently, the only valid value is "dns", which defines the DNS lookup algorithm described in this document. Verifiers and signers MUST support "dns".

Q =公開鍵を取得するために使用されるクエリメソッド。このタグが存在しなければなりません。現在、唯一の有効な値は、このドキュメントで説明するDNSルックアップアルゴリズムを定義し、「DNS」、です。検証者と署名者は、「DNS」をサポートしなければなりません。

s = The selector used to form the query for the public key. This tag MUST be present. In the DNS query type, this value is prepended to the "_domainkey." namespace of the sending domain.

S =セレクタは、公開鍵のためのクエリーを形成するために使用されます。このタグが存在しなければなりません。 DNSクエリのタイプでは、この値が前に付加される「_domainkey。」送信ドメインの名前空間。

(Syntax rules for the tag=value format are discussed in Appendix A.)

(タグ= valueの形式の構文規則は、付録Aに記載されています)

Here is an example of a signature header spread across multiple continuation lines:


      DomainKey-Signature: a=rsa-sha1; s=brisbane;;
       c=simple; q=dns;

Extreme care must be taken to ensure that any new tags added to this header are defined and used solely for the purpose of fetching and verifying the signature. Any semantics beyond verification cannot be trusted, as this header is not protected by the signature.


If additional semantics not pertaining directly to signature verification are required, they must only be added as subsequent headers protected by the signature. Semantic additions might include audit information describing the initial submission.


3.4. Preparation of Email for Transit and Signing
3.4. トランジットや署名のための電子メールの調製

The fundamental purpose of a cryptographic signature is to ensure that the signed content matches the contents presented for verification. However, unlike just about every other Internet protocol, the email content is routinely modified as it enters and transits the email system.


Fortunately most of the modifications typically made to email can be predicted and consequently accounted for when signing and verifying.


To maximize the chance of a successful verification, submitted email should be prepared for transport prior to signing, and the data presented to the signing algorithm is canonicalized to exclude the most common and minor changes made to email.


3.4.1. Preparation for Transit
3.4.1. トランジットのための準備

The SMTP protocol defines a number of potential limitations to email transport, particularly pertaining to line lengths and 8-bit content.


While the editor has observed that most modern SMTP implementations accept 8-bit email and long lines, some implementations still do not. Consequently, a DomainKeys implementation SHOULD prepare an email to be suitable for the lowest common denominator of SMTP prior to presenting the email for signing.


3.4.2. Canonicalization for Signing
3.4.2. 署名のための正規化

DomainKeys is initially expected to be deployed at, or close to, the email borders of an organization rather than in MUAs or SUBMISSION servers. In other words, the signing and verifying algorithms normally apply after an email has been packaged, transmogrified, and generally prepared for transmission across the Internet via SMTP and, thus the likelihood of the email being subsequently modified is reduced.


Nonetheless, empirical evidence suggests that some mail servers and relay systems modify email in transit, potentially invalidating a signature.


There are two competing perspectives on such modifications. For most senders, mild modification of email is immaterial to the authentication status of the email. For such senders, a canonicalization algorithm that survives modest in-transit modification is preferred.


For other senders however, any modification of the email - however minor -- results in a desire for the authentication to fail. In other words, such senders do not want a modified email to be seen as being authorized by them. These senders prefer a canonicalization algorithm that does not tolerate in-transit modification of the signed email.

他の送信者が、電子メールのいずれかの修正 - しかしマイナー - 認証が失敗することへの欲求で結果。言い換えれば、そのような送信者が変更された電子メールがそれらによって許可されていると見られることを望んでいません。これらの送信者が署名した電子メールの輸送中の変更を許容しない正規化アルゴリズムを好みます。

To satisfy both requirements, two canonicalization algorithms are defined. A "simple" algorithm that tolerates almost no modification and a "nofws" algorithm that tolerates common modifications as whitespace replacement and header line rewrapping.


A sender may choose either algorithm when signing an email. A verifier MUST be able to process email using either algorithm.


Either algorithm can be used in conjunction with the "h" tag in the "DomainKey-Signature:" header.


Canonicalization simply prepares the email for the signing or verification algorithm. It does not change the transmitted data in any way.

正規化は、単に署名や検証アルゴリズムのための電子メールを準備します。それはどのような方法で送信されるデータは変更されません。 The "simple" Canonicalization Algorithm。 「シンプル」正規化アルゴリズム

o Each line of the email is presented to the signing algorithm in the order it occurs in the complete email, from the first line of the headers to the last line of the body.


o If the "h" tag is used, only those header lines (and their continuation lines if any) added to the "h" tag list are included.


o The "h" tag only constrains header lines. It has no bearing on body lines, which are always included.


o Remove any local line terminator.


o Append CRLF to the resulting line.

得られたラインに追加CRLF O。

o All trailing empty lines are ignored. An empty line is a line of zero length after removal of the local line terminator.


If the body consists entirely of empty lines, then the header/body line is similarly ignored.

本体は空行完全に構成されている場合、ヘッダ/ボディラインも同様に無視されます。 The "nofws" Canonicalization Algorithm。 「nofws」正規化アルゴリズム

The "No Folding Whitespace" algorithm (nofws) is more complicated than the "simple" algorithm for two reasons; folding whitespace is removed from all lines and header continuation lines are unwrapped.


o Each line of the email is presented to the signing algorithm in the order it occurs in the complete email, from the first line of the headers to the last line of the body.


o Header continuation lines are unwrapped so that header lines are processed as a single line.


o If the "h" tag is used, only those header lines (and their continuation lines if any) added to the "h" tag list are included.


o The "h" tag only constrains header lines. It has no bearing on body lines, which are always included.


o For each line in the email, remove all folding whitespace characters. Folding whitespace is defined in RFC 2822 as being the decimal ASCII values 9 (HTAB), 10 (NL), 13 (CR), and 32 (SP).

O電子メールの各行について、すべての折りたたみ空白文字を削除してください。折り畳み空白は小数ASCII値9(HTAB)、10(NL)、13(CR)、及び32(SP)であるとしてRFC 2822に定義されています。

o Append CRLF to the resulting line.

得られたラインに追加CRLF O。

o Trailing empty lines are ignored. An empty line is a line of zero length after removal of the local line terminator. Note that the test for an empty line occurs after removing all folding whitespace characters.


If the body consists entirely of empty lines, then the header/body line is similarly ignored.


3.5. The Signing Process
3.5. 署名プロセス

The previous sections defined the various components and mechanisms needed to sign an email. This section brings those together to define the complete process of signing an email.


A signer MUST only sign email from submissions that are authorized to use the sending address.


Once authorization of the submission has been determined, the signing process consists of the following steps:


o identifying the sending domain


o determining if an email should be signed


o selecting a private key and corresponding selector information


o calculating the signature value


o prepending the "DomainKey-Signature:" header


If an email cannot be signed for some reason, it is a local policy decision as to what to do with that email.


3.5.1. Identifying the Sending Domain
3.5.1. 送信ドメインの識別

The sending domain is determined by finding the email address in the "Sender:" header, or, if the "Sender:" header is not present, the first email address of the "From:" header is used to determine the sending domain.


If the email has an invalid "From:" or an invalid "Sender:" header, it MUST NOT be signed.


If the signer adds the "h" tag to the "DomainKey-Signature:" header, that tag MUST include the header that was used to determine the sending domain.


3.5.2. Determining Whether an Email Should Be Signed
3.5.2. メールが署名すべきかどうかを決定します

A signer can obviously only sign email for domains for which it has a private key and the necessary knowledge of the corresponding public key and selector information, however there are a number of other reasons why a signer may choose not to sign an email.


A signer MUST NOT sign an email if the email submission is not authorized to use the sending domain.


A signer MUST NOT sign an email that already contains a "DomainKey-Signature:" header unless a "Sender:" header has been added that was not included in the original signature. The most obvious case where this occurs is with mailing lists.


A signer SHOULD NOT remove an existing "DomainKey-Signature:" header.


3.5.3. Selecting a Private Key and Corresponding Selector Information
3.5.3. 秘密鍵と対応するセレクタ情報を選択します

This specification does not define the basis by which a signer should choose which private key and selector information to use. Currently, all selectors are equal as far as this specification is concerned, so the decision should largely be a matter of administrative convenience.


3.5.4. Calculating the Signature Value
3.5.4. 署名値の計算

The signer MUST use one of the defined canonicalization algorithms to present the email to the signing algorithm. Canonicalization is only used to prepare the email for signing. It does not affect the transmitted email in any way.


To avoid possible ambiguity, a signing server may choose to remove any pre-existing "DomainKey-Status:" headers from the email prior to preparation for signing and transmission.


3.5.5. Prepending the "DomainKey-Signature:" Header
3.5.5. ヘッダー:「DomainKey-署名」を前に付けます

The final step in the signing process is that the signer MUST prepend the "DomainKey-Signature:" header prior to continuing with the process of transmitting the email.


3.6. Policy Statement of Sending Domain
3.6. ドメインの送信の政策声明

While the disposition of inbound email is ultimately a matter for the receiving system, the introduction of authentication in email creates a need for the sender domain to indicate their signing policy and preferred disposition of unsigned email, in particular, whether a domain is participating in DomainKeys, whether it is testing, and whether it signs all outbound email.


The sending domain policy is very simple and is expressed in the _domainkey TXT record in the DNS of the sending domain. For example, in the domain, the record is called

送信ドメインポリシーは、非常に簡単であり、送信ドメインのDNSに_domainkey TXTレコードで表現されます。たとえば、example.comドメインに、レコードが_domainkey.example.comと呼ばれています。

The contents of this TXT record are stored as tag=value pairs separated by semicolons, for example, as in the following:


_domainkey IN TXT "t=y; o=-; n=notes; r=emailAddress"

TXT IN _domainkey "T = Y; O = - であり; n =ノート; R = EMAILADDRESS"

All tags are optional. The current valid tags are as follows:


n = Notes that may be of interest to a human. No interpretation is made by any program.

N =ヒトへの関心のものであってもよい注意。何解釈は、任意のプログラムによって行われません。

o = Outbound Signing policy ("-" means that this domain signs all email; "~" is the default and means that this domain may sign some email with DomainKeys).

O =アウトバウンド署名ポリシーが( - ;「〜」デフォルトで、このドメインはDomainKeysのといくつかの電子メールに署名することができることを意味し、「」このドメインの兆しすべての電子メールがあることを意味します)。

r = A reporting email address. If present, this defines the email address where invalid verification results are reported. This tag is primarily intended for early implementers -- the content and frequency of the reports will be defined in a separate document.

R =報告のメールアドレス。存在する場合、これは無効な検証結果が報告されている電子メールアドレスを定義します。このタグは、主に早期に実装するためのものです - 報告書の内容と頻度は、別の文書で定義されます。

t = a set of flags that define boolean attributes. Valid attributes are as follows:


          y = testing mode.  This domain is testing DomainKeys, and
              unverified email MUST NOT be treated differently from
              verified email.  Recipient systems MAY wish to track
              testing mode results to assist the sender).

Note that testing mode cannot be turned off by this tag; thus, policy cannot revert the testing mode setting of a Selector.


This tag is optional.


(Syntax rules for the tag=value format are discussed in Appendix A.)

(タグ= valueの形式の構文規則は、付録Aに記載されています)

Recipient systems SHOULD only retrieve this policy TXT record to determine policy when an email fails to verify or does not include a signature. Recipient systems SHOULD not retrieve this policy TXT record for email that successfully verifies. Note that "testing mode" SHOULD also be in the Selector TXT record if the domain owner is running a DomainKeys test.


If the policy TXT record does not exist, recipient systems MUST assume the default values.


There is an important implication when a domain states that it signs all email with the "o=-" setting, namely that the sending domain prefers that the recipient system treat unsigned mail with a great deal of suspicion. Such suspicion could reasonably extend to rejecting such email. A verifying system MAY reject unverified email if a domain policy indicates that it signs all email.

送信ドメインが受信側システムは、疑いの多大なと符号なしのメールを扱うことを好むすなわちことを、設定 - ドメインは、それが「0 =」ですべての電子メールに署名することを述べたときに重要な意味があります。このような疑惑は、合理的な電子メールを拒否するに拡張することができ。ドメインポリシーが、それはすべての電子メールに署名することを示しているかどうかの検査システムは、未確認のメールを拒否することがあります。

Of course, nothing compels a recipient MTA to abide by the policy of the sender. In fact, during the trial, a sending domain would want to be very certain about setting this policy, as processing by recipient MTAs may be unpredictable. Nonetheless, a domain that states that it signs all email MUST expect that unverified email may be rejected by some receiving MTAs.


3.7. The Verification Process
3.7. 検証プロセス

There is no defined or recommended limit on the lifetime of a selector and corresponding public key; however, it is recommended that verification occur in a timely manner with the most timely place being during acceptance or local delivery by the MTA.


Verifying a signature consists of the following three steps:


o extract signature information from the headers


o retrieve the public key based on the signature information


o check that the signature verifies against the contents


In the event that any of these steps fails, the sending domain policy is ascertained to assist in applying local policy.


3.7.1. Presumption that Headers Are Not Reordered
3.7.1. ヘッダの順序が変更されない推定

Indications from deployment of previous versions of this specification suggest that the canonicalization algorithms in conjunction with the "h" tag in the "DomainKey-Signature:" header allows most email to cryptographically survive intact between signing and verifying.


The one assumption that most of the early deployments make is that the headers included in the signature are not reordered prior to verification.


While nothing in this specification precludes a verifier from "looking" for a header that may have been reordered, including being moved to a position prior to the "DomainKey-Signature:" header, such reordered email is unlikely to be successfully verified by most implementations.


A second consequence of this assumption -- particularly in the presence of multiple "DomainKey-Signature:" headers -- is that the first "DomainKey-Signature:" header in the email was the last signature added to the email and thus is the one to be verified.

この仮定の第二結果 - 特に複数の存在下での「DomainKey-署名:」 - :電子メールのヘッダが最後の署名は、電子メールに加え、このように一つであるヘッダは最初の「DomainKey-署名」することです検証します。

3.7.2. Verification Should Render a Binary Result
3.7.2. 検証は、バイナリの検索結果をレンダリングする必要

While the symptoms of a failed verification are obvious -- the signature doesn't verify -- establishing the exact cause can be more difficult. If a selector cannot be found, is that because the selector has been removed, or was the value changed somehow in transit? If the signature line is missing, is that because it was never there, or was it removed by an overzealous filter?

失敗した検証の症状は明らかですが - 署名が検証されない - 正確な原因を確立することがより困難になることができます。セレクタが見つからない場合は、セレクタが削除されている、または値が転送中に何らかの形で変更されたためということですか?署名欄が欠落している場合、それはそこにはなかったので、またはそれがあまりに熱心なフィルターで除去されたことがありますか?

For diagnostic purposes, the exact reason why the verification fails SHOULD be recorded; however, in terms of presentation to the end user, the result SHOULD be presented as a simple binary result: either the email is verified or it is not. If the email cannot be verified, then it SHOULD be rendered the same as all unverified email regardless of whether or not it looks like it was signed.


3.7.3. Selecting the Most Appropriate "DomainKey-Signature:" Header
3.7.3. 最も適切な「DomainKey-署名を:」を選択ヘッダー

In most cases, a signed email is expected to have just one signature -- that is, one "DomainKey-Signature:" header. However, it is entirely possible that an email can contain multiple signatures. In such cases, a verifier MUST find the most appropriate signature to use and SHOULD ignore all other signatures.

ヘッダ:であり、一つの「DomainKey-署名」 - ほとんどの場合、署名された電子メールはちょうど1つのシグネチャを有することが期待されます。しかし、電子メールが複数の署名を含めることができるということは完全に可能です。このような場合、検証者は、使用する最も適切なシグネチャを見つける必要があり、他のすべての署名を無視するべきです。

The process of finding the most appropriate signature consists of the following "best match" rules. The rules are to be evaluated in order.


1. Selecting the sending domain

If the email contains a "Sender:" header, the sending domain is extracted from the "Sender:" address. If this extraction fails, the email SHALL fail verification.


If no "Sender:" header is present, the sending domain is extracted from the first address of the "From:" header. If this extraction fails, the email SHALL fail verification.


2. Domain matching

A signature can only match if the sending domain matches the "d" tag domain -- according to the "d" tag subdomain matching rules.

「D」タグサブドメインマッチング規則に従って - 送信元ドメインが「D」タグドメインと一致する場合、署名にのみ一致させることができます。

3. "h" tag matching

If the signature contains the "h" tag list of headers, that list must include the header used to extract the sending domain in rule 1, above.


4. Most secure signing algorithm

While it is not yet the case, in the event that additional algorithms are added to this specification, a verifier MUST use the signature that contains the most secure algorithm as defined by the future specification. For current implementations, that means verifiers MUST ignore signatures that are coded with an unrecognized signing algorithm.


5. Earlier signatures are preferred

If multiple signatures are equal as far as these rules apply, the signature from the earlier header MUST be used in preference to later signature headers.


Implementors MUST meticulously validate the format and values in the "DomainKey-Signature:" header; any inconsistency or unexpected values MUST result in ignoring that header. Being "liberal in what you accept" is definitely a bad strategy in this security context.

実装者は細心の注意を払っフォーマットと値を検証しなければならない「DomainKey-署名:」ヘッダを、任意の矛盾または予期しない値は、そのヘッダを無視をもたらさなければなりません。 「あなたが受け入れるものにリベラル」であることは間違いなく、このセキュリティコンテキストで悪い戦略です。

In all cases, if a verification fails, the "DomainKey-Status:" header SHOULD be generated and include a message to help explain the reason for failure.


3.7.4. Retrieve the Public Key Based on the Signature Information
3.7.4. 署名情報に基づいて公開鍵を取得します。

The public key is needed to complete the verification process. The process of retrieving the public key depends on the query type as defined by the "q" tag in the "DomainKey-Signature:" header line. Obviously, a public key should only be retrieved if the process of extracting the signature information is completely successful.

公開鍵は、検証プロセスを完了するために必要とされます。 「DomainKey-署名:」ヘッダ行公開鍵を取得する処理は、で「Q」タグによって定義されたクエリのタイプに依存します。署名情報を抽出する処理は、完全に成功した場合、明らかに、公開鍵のみが取り出されるべきです。

Currently, the only valid query type is "dns". The public key retrieval process for this type is as follows:


1. Using the selector name defined by the "s" tag, the "_domainkey" namespace and the domain name defined by the "d" tag, construct and issue the DNS TXT record query string.

1.「S」タグ、「_domainkey」名前空間と「d」のタグによって定義されたドメイン名で定義されたセレクタ名を使用して、DNS TXTレコードクエリ文字列を作成し、発行します。

For example, if s=brisbane and, the query string is "".

例えば、S =ブリスベン、およびd = example.netは、クエリ文字列は「」である場合。

2. If the query for the public key fails to respond, the verifier SHOULD defer acceptance of this email (normally this will be achieved with a 4XX SMTP response code).

2.公開鍵のクエリが応答しなかった場合、検証は(通常、これは4XX SMTP応答コードで達成されます)このメールの受け入れを延期すべきです。

3. If the query for the public key fails because the corresponding data does not exist, the verifier MUST treat the email as unverified.


4. If the result returned from the query does not adhere to the format defined in this specification, the verifier MUST treat the email as unverified.


5. If the public key data is not suitable for use with the algorithm type defined by the "a" tag in the "DomainKey-Signature:" header, the verifier MUST treat the email as unverified.


Implementors MUST meticulously validate the format and values returned by the public key query. Any inconsistency or unexpected values MUST result in an unverified email. Being "liberal in what you accept" is definitely a bad strategy in this security context.

実装者は、細心の注意を払って、公開鍵クエリによって返される形式と値を検証する必要があります。任意の矛盾または予期しない値が未確認のメールをもたらさなければなりません。 「あなたが受け入れるものにリベラル」であることは間違いなく、このセキュリティコンテキストで悪い戦略です。

Latency critical implementations may wish to initiate the public key query in parallel with calculating the SHA-1 hash, as the public key is not needed until the final RSA is calculated.


3.7.5. Verify the Signature
3.7.5. 署名を検証します

Armed with the signature information from the "DomainKey-Signature:" header and the public key information returned by the query, the signature of the email can now be verified.


The canonicalization algorithm defined by the "c" tag in the "DomainKey-Signature:" header defines how the data is prepared for the verification algorithm, and the "a" tag in the same header defines which verification algorithm to use.


3.7.6. Retrieving Sending Domain Policy
3.7.6. ドメインポリシーを送信、取得

In the event that an email fails to verify, the policy of the sending domain MUST be consulted. For now, that means consulting the _domainkey TXT record in the DNS of the domain in the sending domain as defined in Section 3.5.1. For example, if is the sending domain the TXT query is:

電子メールが検証に失敗した場合には、送信ドメインのポリシーが相談しなければなりません。今のところ、それはセクション3.5.1で定義されている送信ドメイン内のドメインのDNSに_domainkey TXTレコードをコンサルティングを意味します。たとえば、example.netが送信ドメインの場合はTXTクエリは次のとおりです。


A verifier SHOULD consider the sending domain policy statement and act accordingly. The range of possibilities is up to the receiver, but it MAY include rejecting the email.


3.7.7. Applying Local Policy
3.7.7. ローカルポリシーを適用します

After all verification processes are complete, the recipient system has authentication information that can help it decide what to do with the email.


It is beyond the scope of this specification to describe what actions a recipient system should take, but an authenticated email presents an opportunity to a receiving system that unauthenticated email cannot. Specifically, an authenticated email creates a predictable identifier by which other decisions can reliably be managed, such as trust and reputation.


Conversely, unauthenticated email lacks a reliable identifier that can be used to assign trust and reputation. It is not unreasonable to treat unauthenticated email as lacking any trust and having no positive reputation.


3.8. Conveying Verification Results to MUAs
3.8. MUAに検証結果を伝えます

Apart from the application of automated policy, the result of a signature verification should be conveyed to the user reading the email.


Most email clients can be configured to recognize specific headers and apply simple rules, e.g., filing into a particular folder. Since DomainKey signatures are expected to be initially verified at the border MTA, the results of the verification need to be conveyed to the email client. This is done with the "DomainKey-Status:" header line prepended to the email.

ほとんどの電子メールクライアントは、特定のフォルダに提出し、例えば、特定のヘッダを認識し、簡単なルールを適用するように構成することができます。 DomainKey署名が最初に境界MTAで確認することが期待されているので、検証の結果は、電子メールクライアントに伝達する必要があります。電子メールの先頭に付加ヘッダ行:これは「DomainKey-ステータス」で行われます。

The "DomainKey-Status:" header starts with a string that indicate the result of the verification. Valid values are as follows:


"good" - the signature was verified at the time of testing "bad" - the signature failed the verification "no key" - the public key query failed as the key does not exist "revoked" - the public key query failed as the key has been revoked "no signature" - this email has no "DomainKey-Signature:" header "bad format" - the signature or the public key contains unexpected data "non-participant" - this sending domain has indicated that it does not participate in DomainKeys

「良い」 - 署名は、テストの時に確認された「悪い」 - 署名検証「どのキー」失敗しない - 鍵は「取り消し」は存在しないと公開鍵のクエリに失敗しました - 公開鍵問合せは、キーとして失敗しました「何の署名」を取り消されていない - このメールには、「DomainKey-署名:」持っていない - 署名や公開鍵は、予期しないデータが含まれている「非参加者」 - ヘッダー「悪い形式を」この送信ドメインが、それは参加しないことが示されましたDomainKeysの

Verifiers may append additional data that expands on the reason for the particular status value.


A client SHOULD just look for "good" and assume that all other values imply that the verification could not be performed for some reason. Policy action as a consequence of this header is entirely a local matter.


Here are some examples:


DomainKey-Status: good DomainKey-Status: bad format


Although it is expected that MTAs will be DomainKey aware before MUAs, it is nonetheless possible that a DomainKey-aware MUA can be fooled by a spoofed "DomainKey-Status:" header that passes through a non-DomainKey-aware MTA.


If this is perceived to be a serious problem, then it may make sense to preclude the "good" value and only have values that effectively demote the email as far as the UA is concerned. That way successful spoofing attempts can only serve to demote themselves.


4. Example of Use

This section shows the complete flow of an email from submission to final delivery, demonstrating how the various components fit together.


4.1. The User Composes an Email
4.1. ユーザーは、Eメールを作成し

From: "Joe SixPack" <> To: "Suzie Q" <> Subject: Is dinner ready? Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT) Message-ID: <>

From: "ジョーアメリカ人男性" <>へ: "スージーQ" <>件名:夕食の準備ができていますか?日付:金、2003年7月11日21時00分37秒-0700(PDT)のMessage-ID:<>



We lost the game. Are you hungry yet?




4.2. The Email Is Signed
4.2. メールは、署名され

This email is signed by the outbound email server and now looks like this:


   DomainKey-Signature: a=rsa-sha1; s=brisbane;;
     c=simple; q=dns;
   Received: from  []
        by with SUBMISSION;
        Fri, 11 Jul 2003 21:01:54 -0700 (PDT)
   From: "Joe SixPack" <>
   To: "Suzie Q" <>
   Subject: Is dinner ready?
   Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT)
   Message-ID: <>



We lost the game. Are you hungry yet?




The signing email server requires access to the private key associated with the "brisbane" selector to generate this signature. Distribution and management of private keys are outside the scope of this document.


4.3. The Email Signature Is Verified
4.3. メールの署名が検証されます

The signature is normally verified by an inbound SMTP server or possibly the final delivery agent. However, intervening MTAs can also perform this verification if they choose to do so.


The verification process uses the domain "" extracted from the "From:" header and the selector "brisbane" from the "DomainKey-Signature:" header to form the DNS TXT query for:

ヘッダおよびセレクタ「ブリスベン」:検証プロセス「は」の「From」から抽出されたドメインを使用して「DomainKey-シグニチャー」のDNS TXTクエリを形成するヘッダ。


Since there is no "h" tag in the "DomainKey-Signature:" header, signature verification starts with the line following the "DomainKey-Signature:" line. The email is canonically prepared for verifying with the "simple" method.


The result of the query and subsequent verification of the signature is stored in the "DomainKey-Status:" header line. After successful verification, the email looks like this:


   DomainKey-Status: good; domainkeys=pass
   Received: from (
             by with SMTP;
             Fri, 11 Jul 2003 21:01:59 -0700 (PDT)
   DomainKey-Signature: a=rsa-sha1; s=brisbane;;
    c=simple; q=dns;
   Received: from  []
        by with SUBMISSION;
        Fri, 11 Jul 2003 21:01:54 -0700 (PDT)
   From: "Joe SixPack" <>
   To: "Suzie Q" <>
   Subject: Is dinner ready?
   Date: Fri, 11 Jul 2003 21:00:37 -0700 (PDT)
   Message-ID: <>



We lost the game. Are you hungry yet?




5. Association with a Certificate Authority

A fundamental aspect of DomainKeys is that public keys are generated and advertised by each domain at no additional cost. This accessibility markedly differs from traditional Public Key Infrastructures where there is typically a Certificate Authority (CA) who validates an applicant and issues a signed certificate -- containing their public key -- often for a recurring fee.

ドメインキーの基本的な態様は、公開鍵が生成され、追加費用なしで、各ドメインによってアドバタイズされることです。このアクセスは格段に通常存在する場合に、従来の公開鍵インフラストラクチャとは異なり、申請を検証し、署名した証明書を発行する認証局(CA) - 自分の公開鍵を含む - 多くの場合、定期的な料金で。

While CAs do impose costs, they also have the potential to provide additional value as part of their certification process. Consider financial institutions, public utilities, law enforcement agencies, and the like. In many cases, such entities justifiably need to discriminate themselves above and beyond the authentication that DomainKeys offers.


Creating a link between DomainKeys and CA-issued certificates has the potential to access additional authentication mechanisms that are more authoritative than domain-owner-issued authentication. It is well beyond the scope of this specification to describe such authorities apart from defining how the linkage could be achieved with the "DomainKey-X509:" header.


5.1. The "DomainKey-X509:" Header
5.1. "DomainKey-X509:" ヘッダー

The "DomainKey-X509:" header provides a link between the public key used to sign the email and the certificate issued by a CA.


The exact content, syntax, and semantics of this header are yet to be resolved. One possibility is that this header contains an encoding of the certificate issued by a CA. Another possibility is that this header contains a URL that points to a certificate issued by a CA.


In either case, this header can only be consulted if the signature verifies and MUST be part of the content signed by the corresponding "DomainKey-Signature:" header. Furthermore, it is likely that MUAs rather than MTAs will confirm that the link to the CA-issued certificate is valid. In part, this is because many MUAs already have built-in capabilities as a consequence of Secure/Multipurpose Internet Mail Extensions (S/MIME) [SMIME] and Secure Socket Layer (SSL) [SSL] support.

ヘッダ:署名が検証し、対応する「DomainKey-署名」によって署名されたコンテンツの一部である必要がある場合はいずれの場合も、このヘッダのみを参照することができます。さらに、のMUAではなく、MTAはCA発行の証明書へのリンクが有効であることを確認する可能性があります。多くのMUAがすでに内蔵されているため、機能/セキュア多目的インターネットメール拡張(S / MIME)[SMIME]とのSecure Socket Layer(SSL)[SSL]サポートの結果として一部では、これがあります。

The proof of linkage is made by testing that the public key in the certificate matches the public key used to sign the email.


An example of an email containing the "DomainKey-X509:" header is:


      DomainKey-Signature: a=rsa-sha1; s=statements;; c=simple; q=dns;
      From: "Large Bank" <>
      To: "Suzie Q" <>
      Subject: Statement for Account: 1234-5678

The format of the retrieved value from the URL is not yet defined, nor is the determination of valid CAs.


The whole matter of linkage to CA-issued certificates is one aspect of DomainKeys that needs to be resolved with relevant CA's and certificate-issuing entities. The primary point is that a link is possible to a higher authority.


6. Topics for Discussion
6.1. The Benefits of Selectors
6.1. セレクタのメリット

Selectors are at the heart of the flexibility of DomainKeys. A domain administrator is free to use a single DomainKey for all outbound mail. Alternatively, the domain administrator may use many DomainKeys differentiated by selector and assign each key to different servers.


For example, a large outbound email farm might have a unique DomainKey for each server, and thus their DNS will advertise potentially hundreds of keys via their unique selectors.


Another example is a corporate email administrator who might generate a separate DomainKey for each regional office email server.


In essence, selectors allow a domain owner to distribute authority to send on behalf of that domain. Combined with the ability to revoke by removal or Time to Live (TTL) expiration, a domain owner has coarse-grained control over the duration of the distributed authority.

本質的には、セレクタは、ドメインの所有者がそのドメインに代わって送信する権限を配布することができます。 (TTL)の有効期限を生きて除去または時間によって取り消す能力と組み合わされ、ドメイン所有者は、分散権限の期間にわたって粗い制御を有しています。

Selectors are particularly useful for domain owners who want to contract a third-party mailing system to send a particular set of mail. The domain owner can generate a special key pair and selector just for this mail-out. The domain owner has to provide the private key and selector to the third party for the life of the mail-out.


However, as soon as the mail-out is completely delivered, the domain owner can revoke the public key by the simple expedient of removing the entry from the DNS.


6.2. Canonicalization of Email
6.2. メールの正規化

It is an unfortunate fact that some email software routinely (and often unnecessarily) transforms email as it transits through the network. Such transformations conflict with the fundamental purpose of cryptographic signatures - to detect modifications.

それは日常いくつかの電子メールソフトウェアという不幸な事実である(そして多くの場合、不必要に)それは、ネットワークを介して遷移するよう電子メールを変換します。暗号署名の基本的な目的を有するこのような変換の競合 - 変更を検出します。

While two canonicalization algorithms are defined in this specification, the primary goal of "nofws" is to provide a transition path to "simple". With a mixture of "simple" and "nofws" email, a receiver can determine which systems are modifying email in ways that cause the signature to fail and thus provide feedback to the modifying system.

2つの正規化アルゴリズムは、本明細書で定義されているが、「nofws」の主な目的は、「単純な」への移行パスを提供することです。 「単純な」及び「nofws」メールの混合物を用いて、受信機は、システムが署名が失敗し、従って改質システムにフィードバックを提供させる方法で電子メールを変更するかを決定することができます。

6.3. Mailing Lists
6.3. メーリングリスト

Integrating existing Mailing List Managers (MLMs) into the DomainKeys authentication system is a complicated area, as the behavior of MLMs is highly variable. Essentially, there are two types of MLMs under consideration: those that modify email to such an extent that verification of the original content is not possible, and those that make minimal or no modifications to an email.


MLMs that modify email in a way that causes verification to fail MUST prepend a "Sender:" header and SHOULD prepend a "List-ID:" header prior to signing for distribution to list recipients.


A participating SUBMISSION server can deduce the need to re-sign such an email by the presence of a "Sender:" or "List-ID:" header from an authorized submission.


MLMs that do not modify email in a way that causes verification to fail MAY perform the same actions as a modifying MLM.


6.4. Roving Users
6.4. 移動ユーザー

One scenario that presents a particular problem with any form of email authentication, including DomainKeys, is the roving user: a user who is obliged to use a third-party SUBMISSION service when unable to connect to the user's own SUBMISSION service. The classic example cited is a traveling salesperson being redirected to a hotel email server to send email.


As far as DomainKeys is concerned, email of this nature clearly originates from an email server that does not have authority to send on behalf of the domain of the salesperson and is therefore indistinguishable from a forgery. While DomainKeys does not prescribe any specific action for such email, it is likely that over time, such email will be treated as second-class email.

限りDomainKeysのを懸念しているとして、この種のメールは明らかに、営業担当者のドメインに代わって送信する権限を持っているため、偽造と区別がつかないいない電子メールサーバーから発信します。 DomainKeysのは、このような電子メールのいずれかの特定のアクションを規定していないが、時間をかけて、そのような電子メールは二級の電子メールとして処理される可能性があります。

The typical solution offered to roving users is to submit email via an authorized server for their domain -- perhaps via a Virtual Private Network (VPN) or a web interface or even SMTP AUTH back to a SUBMISSION server.

おそらく、仮想プライベートネットワーク(VPN)またはバックSUBMISSIONサーバへのWebインターフェース、あるいはSMTP AUTH経由 - 移動ユーザーに提供される典型的な解決策は、そのドメインの認可サーバー経由で電子メールを提出することです。

While these are perfectly acceptable solutions for many, they are not necessarily solutions that are available or possible for all such users.


One possible way to address the needs of this contingent of potentially disenfranchised users is for the domain to issue per-user DomainKeys. Per-user DomainKeys are identified by a non-empty "g" tag value in the corresponding DNS record.


7. Security Considerations
7.1. DNS
7.1. DNS

DomainKeys is primarily a security mechanism. Its core purpose is to make claims about email authentication in a credible way. However, DomainKeys, like virtually all Internet applications, relies on the DNS, which has well-known security flaws [RFC3833].


7.1.1. The DNS Is Not Currently Secure
7.1.1. DNSは現在、安全ではありません

While the DNS is currently insecure, it is expected that the security problems should and will be solved by DNS Security (DNSSEC) [DNSSEC], and all users of the DNS will reap the benefit of that work.


Secondly, the types of DNS attacks relevant to DomainKeys are very costly and are far less rewarding than DNS attacks on other Internet applications.


To systematically thwart the intent of DomainKeys, an attacker must conduct a very costly and very extensive attack on many parts of the DNS over an extended period. No one knows for sure how attackers will respond; however, the cost/benefit of conducting prolonged DNS attacks of this nature is expected to be uneconomical.


Finally, DomainKeys is only intended as a "sufficient" method of proving authenticity. It is not intended to provide strong cryptographic proof about authorship or contents. Other technologies such as GnuPG and S/MIME address those requirements.

最後に、DomainKeysのが唯一の信憑性を証明する「十分な」方法として意図されています。著作者や内容についての強力な暗号証拠を提供するものではありません。このようGnuPGのとS / MIMEなどの他の技術は、これらの要件に対応します。

7.1.2. DomainKeys Creates Additional DNS Load
7.1.2. DomainKeysの追加のDNS負荷を作成します。

A second security issue related to the DNS revolves around the increased DNS traffic as a consequence of fetching selector-based data, as well as fetching sending domain policy. Widespread deployment of DomainKeys will result in a significant increase in DNS queries to the claimed sending domain. In the case of forgeries on a large scale, DNS servers could see a substantial increase in queries.

DNSに関連する第2のセキュリティ問題は、セレクタベースのデータをフェッチするだけでなく、ドメインポリシーを送信フェッチの結果として増加したDNSトラフィックを中心に展開します。 DomainKeysとの広範な展開が主張送信ドメインへのDNSクエリの大幅な増加をもたらすでしょう。大規模な偽造の場合は、DNSサーバはクエリの大幅な増加を見ることができました。

7.2. Key Management
7.2. キー管理

All public key systems require management of key pairs. Private keys in particular need to be securely distributed to each signing mail server and protected on those servers. For those familiar with SSL, the key management issues are similar to those of managing SSL certificates. Poor key management may result in unauthorized access to private keys, which in essence gives unauthorized access to your identity.

すべての公開鍵システムは、鍵ペアの管理を必要とします。特に必要としている秘密鍵はしっかりと各署名メールサーバーに配布し、これらのサーバ上で保護されます。 SSLに精通している方のために、重要な経営課題は、SSL証明書を管理するのと同様です。悪い鍵の管理は、本質的にあなたのアイデンティティへの不正なアクセスを与える、秘密鍵への不正アクセスをもたらすことができます。

7.3. Implementation Risks
7.3. 実装のリスク

It is well recognized in cryptographic circles that many security failures are caused by poor implementations rather than poor algorithms. For example, early SSL implementations were vulnerable because the implementors used predictable "random numbers".


While some MTA software already supports various cryptographic techniques, such as TLS, many do not. This proposal introduces cryptographic requirements into MTA software that implies a much higher duty of care to manage the increased risk.


There are numerous articles, books, courses, and consultants that help programming security applications. Potential implementors are strongly encouraged to avail themselves of all possible resources to ensure secure implementations.


7.4. Privacy Assumptions with Forwarding Addresses
7.4. 転送アドレスと個人情報保護の前提

Some people believe that they can achieve anonymity by using an email forwarding service. While this has never been particularly true, as bounces, over-quota messages, vacation messages, and web bugs all conspire to expose IP addresses and domain names associated with the delivery path, the DNS queries that are required to verify DomainKeys signature can provide additional information to the sender.


In particular, as mail is forwarded through the mail network, the DNS queries for the selector will typically identify the DNS cache used by the forwarding and delivery MTAs.


7.5. Cryptographic Processing Is Computationally Intensive
7.5. 暗号処理は計算量が多いです

Verifying a signature is computationally significant. Early indications are that a typical mail server can expect to increase CPU demands by 8-15 percent. While this increased demand is modest compared to other common mail processing costs -- such as Bayesian filtering -- any increase in resource requirements can make a denial-of-service attack more effective against a mail system.

署名を検証することは、計算上重要です。初期の兆候は、一般的なメールサーバが8から15パーセントによってCPUの需要を高めることが期待できるということです。ベイジアンフィルタリングなど - - この需要の増加が他の一般的なメール処理コストに比べて控えめですが、リソース要件の増加は、メールシステムに対するサービス拒否攻撃をより効果的にすることができます。

A constraining factor of such attacks is that the net computational cost of verifying is bounded by the maximum key size allowed by this specification and is essentially linear to the rate at which mail is accepted by the verifying system. Consequently, the additional computational cost may augment a denial-of-service attack, but it does not add a non-linear component to such attacks.


8. The Trial

The DomainKeys protocol was deployed as a trial to better understand the implications of deploying wide-scale cryptographic email authentication.


Open Source implementations were made available at various places, particularly Source Forge [SOURCEFORGE], which includes links to numerous implementations, both Open Source and commercial.


8.1. Goals
8.1. 目標

The primary goals of the trial were to:


o understand the operational implications of running a DNS-based public key system for email


o measure the effectiveness of the canonicalization algorithms


o experiment with possible per-user key deployment models


o fully define the semantics of the "DomainKey-X509:" header


8.2. Results of Trial
8.2. 裁判の結果

The DomainKeys trial ran for approximately 2 years, in which time numerous large ISPs and many thousands of smaller domains participated in signing or verifying with DomainKeys. The low order numbers are that at least one billion DomainKey signed emails transit the Internet each day between some 12,000 participating domains.


The operational and development experience of that trial was applied to DKIM.


9. Note to Implementors Regarding TXT Records

The DNS is very flexible in that it is possible to have multiple TXT records for a single name and for those TXT records to contain multiple strings.


In all cases, implementors of DomainKeys should expect a single TXT record for any particular name. If multiple TXT records are returned, the implementation is free to pick any single TXT record as the authoritative data. In other words, if a name server returns different TXT records for the same name, it can expect unpredictable results.


Within a single TXT record, implementors should concatenate multiple strings in the order presented and ignore string boundaries. Note that a number of popular DNS command-line tools render multiple strings as separately quoted strings, which can be misleading to a novice implementor.


10. References
10.1. Normative References
10.1. 引用規格

[BASE64] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 4648, October 2006.

[BASE64] Josefsson氏、S.、 "Base16、Base32、およびBase64でデータエンコーディング"、RFC 4648、2006年10月。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。

[PEM] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures", RFC 1421 February, 1993.

[PEM]リン、J.、 "インターネット電子メールのためのプライバシー増進:パートI:メッセージの暗号化と認証手順"、RFC 1421 2月、1993。

10.2. Informative References
10.2. 参考文献

[DKIM] Allman, E., Callas, J., Delany, M., Libbey, M., Fenton, J., and M. Thomas, "DomainKeys Identified Mail (DKIM) Signatures", RFC 4871, May 2007.

[DKIM]オールマン、E.、カラス、J.、デラニー、M.、リビー、M.、フェントン、J.、およびM.トーマス、 "ドメインキー・アイデンティファイド・メール(DKIM)署名"、RFC 4871、2007年5月。





[RFC2822] Resnick, P., Editor, "Internet Message Format", RFC 2822, April 2001.

[RFC2822]レズニック、P.、エディタ、 "インターネットメッセージ形式"、RFC 2822、2001年4月。

[RFC3833] Atkins, D. and R. Austein, "Threat Analysis of the Domain Name System (DNS)", RFC 3833, August 2004.

[RFC3833]アトキンス、D.とR. Austeinと、RFC 3833 "ドメインネームシステム(DNS)の脅威分析"、2004年8月。

[SMIME] Ramsdell, B., Ed., "Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification", RFC 3851, July 2004.

[SMIME] Ramsdell、B.、エド。、 "/セキュア多目的インターネットメール拡張(S / MIME)バージョン3.1メッセージ仕様"、RFC 3851、2004年7月。





Appendix A - Syntax Rules for the Tag=Value Format

付録A - タグのための構文規則=値の形式

A simple tag=value syntax is used to encode data in the response values for DNS queries as well as headers embedded in emails. This section summarized the syntactic rules for this encoding:


o A tag=value pair consists of three tokens, a "tag", the "=" character, and the "value"


o A tag MUST be one character long and MUST be a lowercase alphabetic character


o Duplicate tags are not allowed


o A value MUST only consist of characters that are valid in RFC 2822 headers and DNS TXT records and are within the ASCII range of characters from SPACE (0x20) to TILDE (0x7E) inclusive. Values MUST NOT contain a semicolon but they may contain "=" characters.

O値は、RFC 2822ヘッダーとDNS TXTレコードに有効であり、包括チルド(0x7Eを)に対してSPACE(0x20の)から文字のASCIIの範囲内にある文字から構成されなければなりません。値はセミコロンを含めることはできませんが、彼らは「=」の文字が含まれていてもよいです。

o A tag=value pair MUST be terminated by a semicolon or the end of the data


o Values MUST be processed as case sensitive unless the specific tag description of semantics imply case insensitivity.


o Values MAY be zero bytes long


o Whitespace MAY surround any of the tokens; however, whitespace within a value MUST be retained unless explicitly excluded by the specific tag description. Currently, the only tags that specifically ignore embedded whitespace are the "b" and "h" tags in the "DomainKey-Signature:" header.

O空白はトークンのいずれかを囲むことができます。明示的に特定のタグの説明によって除外されない限りただし、値内の空白は保持されなければなりません。 「DomainKey-署名:」ヘッダ現在、具体的に埋め込まれた空白を無視するだけでタグが「b」および「H」タグです。

o Tag=value pairs that represent the default value MAY be included to aid legibility.


o Unrecognized tags MUST be ignored




The editor wishes to thank Russ Allbery, Eric Allman, Edwin Aoki, Claus Asmann, Steve Atkins, Jon Callas, Dave Crocker, Michael Cudahy, Jutta Degener, Timothy Der, Jim Fenton, Duncan Findlay, Phillip Hallam-Baker, Murray S. Kucherawy, John Levine, Miles Libbey, David Margrave, Justin Mason, David Mayne, Russell Nelson, Juan Altmayer Pizzorno, Blake Ramsdell, Scott Renfro, the team, Malte S. Stretz, Robert Sanders, Bradley Taylor, and Rand Wacker for their valuable suggestions and constructive criticism.

エディタはラスAllbery、エリック・オールマン、エドウィン・青木、クラウスAsmann、スティーブ・アトキンス、ジョン・カラス、デイブ・クロッカー、マイケル・カダヒー、ユッタ・デッジナー、ティモシー・デア、ジム・フェントン、ダンカンフィンドレー、フィリップハラム - ベイカー、マレーS. Kucherawyに感謝したいです、ジョン・レヴァイン、マイルリビー、デビッド辺境伯、ジャスティン・メイソン、デイビット・メイン、ラッセル・ネルソン、フアンAltmayer Pizzorno、ブレイクRamsdell、スコット・レンフロ、Spamhaus.orgチーム、マルテS. Stretz、ロバート・サンダース、ブラッドリー・テイラー、そしてランドワッカーについて彼らの貴重な提案と建設的な批判。

Author's Address


Mark Delany Yahoo! Inc 701 First Avenue Sunnyvale, CA 95087 USA

マーク・ディレイニーのYahoo!株式会社701まずアベニューサニーベール、CA 95087 USA



Full Copyright Statement


Copyright (C) The IETF Trust (2007).


This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

この文書では、BCP 78に含まれる権利と許可と制限の適用を受けており、その中の記載を除いて、作者は彼らのすべての権利を保有します。


この文書とここに含まれている情報は、基礎とCONTRIBUTOR「そのまま」、ORGANIZATION HE / SHEが表すまたはインターネットSOCIETY、(もしあれば)を後援し、IETF TRUST ANDインターネットエンジニアリングタスクフォース放棄ALLに設けられています。保証は、明示または黙示、この情報の利用および特定目的に対する権利または商品性または適合性の黙示の保証を侵害しない任意の保証がこれらに限定されません。

Intellectual Property


The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETFは、本書またはそのような権限下で、ライセンスがたりないかもしれない程度に記載された技術の実装や使用に関係すると主張される可能性があります任意の知的財産権やその他の権利の有効性または範囲に関していかなる位置を取りません利用可能です。またそれは、それがどのような権利を確認する独自の取り組みを行ったことを示すものでもありません。 RFC文書の権利に関する手続きの情報は、BCP 78およびBCP 79に記載されています。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at


The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at

IETFは、その注意にこの標準を実装するために必要とされる技術をカバーすることができる任意の著作権、特許または特許出願、またはその他の所有権を持ってすべての利害関係者を招待します。 ietf-ipr@ietf.orgのIETFに情報を記述してください。



Funding for the RFC Editor function is currently provided by the Internet Society.

RFC Editor機能のための基金は現在、インターネット協会によって提供されます。