DomainKeys Identified Mail T. Hansen Internet-Draft AT&T Laboratories Intended status: Informational D. Crocker Expires: September 5, 2007 Brandenburg InternetWorking P. Hallam-Baker VeriSign Inc. March 4, 2007 DomainKeys Identified Mail (DKIM) Message Signing Service Overview draft-ietf-dkim-overview-04 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on September 5, 2007. Copyright Notice Copyright (C) The IETF Trust (2007). Abstract DomainKeys Identified Mail (DKIM) associates a "responsible" identity with a message and provides a means of verifying that the association is legitimate.[I-D.ietf-dkim-base]. DKIM defines a domain-level authentication framework for email using public-key cryptography and key server technology. This permits verifying the source or Hansen, et al. Expires September 5, 2007 [Page 1] Internet-Draft DKIM Message Signing Service Overview March 2007 intermediary for a message, as well as the contents of messages. The ultimate goal of this framework is to permit a signing domain to assert responsibility for a message, thus proving and protecting the identity associated with the message and the integrity of the messages itself, while retaining the functionality of Internet email as it is known today. Such protection of email identity, may assist in the global control of "spam" and "phishing". This document provides an overview of DKIM and describes how it can fit into a messaging service, how it relates to other IETF message signature technologies. It also includes implementation and migration considerations. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. The DKIM Value Proposition . . . . . . . . . . . . . . . . 5 1.3. Phishing . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4. Conventions . . . . . . . . . . . . . . . . . . . . . . . 6 2. Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1. Treat verification failure as if unsigned. . . . . . . . . 7 2.2. Domain-level assurance . . . . . . . . . . . . . . . . . . 7 2.3. Incremental adoption . . . . . . . . . . . . . . . . . . . 7 2.4. Minimal infrastructure . . . . . . . . . . . . . . . . . . 8 2.5. Transparent signature . . . . . . . . . . . . . . . . . . 8 2.6. Security policy . . . . . . . . . . . . . . . . . . . . . 9 3. Function and Use . . . . . . . . . . . . . . . . . . . . . . . 9 3.1. What is a DKIM signature? . . . . . . . . . . . . . . . . 9 3.2. The Selector construct . . . . . . . . . . . . . . . . . . 9 3.3. Validation . . . . . . . . . . . . . . . . . . . . . . . . 10 3.4. What does DKIM NOT do? . . . . . . . . . . . . . . . . . . 10 3.5. Does DKIM eliminate anonymity for email? . . . . . . . . . 11 4. DKIM Within Existing Internet Email . . . . . . . . . . . . . 11 4.1. Review of Internet Mail Service Architecture . . . . . . . 11 4.2. Where to Place DKIM Functions . . . . . . . . . . . . . . 14 4.3. Impact on Email Activities . . . . . . . . . . . . . . . . 15 4.4. Migrating from DomainKeys . . . . . . . . . . . . . . . . 17 5. Service Architecture . . . . . . . . . . . . . . . . . . . . . 18 6. Development . . . . . . . . . . . . . . . . . . . . . . . . . 20 6.1. Coding Criteria for Cryptographic Applications . . . . . . 20 6.2. Email Infrastructure Agents . . . . . . . . . . . . . . . 21 6.3. Filtering . . . . . . . . . . . . . . . . . . . . . . . . 22 6.4. DNS Server . . . . . . . . . . . . . . . . . . . . . . . . 23 7. Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.1. Signing . . . . . . . . . . . . . . . . . . . . . . . . . 23 7.2. Verifying . . . . . . . . . . . . . . . . . . . . . . . . 24 7.3. Mail User Agent . . . . . . . . . . . . . . . . . . . . . 25 Hansen, et al. Expires September 5, 2007 [Page 2] Internet-Draft DKIM Message Signing Service Overview March 2007 7.4. Transition strategy . . . . . . . . . . . . . . . . . . . 25 8. On-going Operations . . . . . . . . . . . . . . . . . . . . . 27 8.1. DNS Signature Record Deployment Considerations . . . . . . 27 8.2. Private Key Management . . . . . . . . . . . . . . . . . . 29 8.3. Mailing list manager developers . . . . . . . . . . . . . 29 9. Example Uses . . . . . . . . . . . . . . . . . . . . . . . . . 30 9.1. Protection of Internal Mail . . . . . . . . . . . . . . . 30 9.2. Recipient-based Assessments . . . . . . . . . . . . . . . 30 9.3. DKIM Support in the Client . . . . . . . . . . . . . . . . 31 9.4. Per user signature . . . . . . . . . . . . . . . . . . . . 31 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 32 11. { Misc Text -- Should go elsewhere, if used at all } . . . . . 32 12. Informative References . . . . . . . . . . . . . . . . . . . . 33 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 34 Intellectual Property and Copyright Statements . . . . . . . . . . 35 Hansen, et al. Expires September 5, 2007 [Page 3] Internet-Draft DKIM Message Signing Service Overview March 2007 1. Introduction DomainKeys Identified Mail (DKIM) associates a "responsible" identity with a message and provides a means of verifying that the association is legitimate.[I-D.ietf-dkim-base]. DKIM defines a domain-level authentication framework for email using public-key cryptography and key server technology. This permits verifying the source or intermediary for a message, as well as the contents of messages. The ultimate goal of this framework is to permit a signing domain to assert responsibility for a message, thus proving and protecting the identity associated with the message and the integrity of the messages itself, while retaining the functionality of Internet email as it is known today. Such protection of email identity, may assist in the global control of "spam" and "phishing". This document provides an overview of DKIM and describes how it can fit into a messaging service, how it relates to other IETF message signature technologies. It also includes implementation and migration considerations. This document provides an overview of DomainKeys Identified Mail (DKIM). It is intended for those who are adopting, developing, or deploying DKIM. It also will be helpful for those who are considering extending DKIM, either into other areas or to support additional features. This Overview does not provide information on threats to DKIM or email, or details on the protocol specifics, which can be found in [I-D.ietf-dkim-base] and [I-D.ietf-dkim-threats], respectively. The document assumes a background in basic network security technology and services. It must be stressed that neither this document nor DKIM attempt to provide solutions to the world's problems with spam, phish, virii, worms, joe jobs, etc. DKIM creates one basic tool in what needs to be a large arsenal of tools, for improving the safety of Internet mail. However by itself, DKIM is not sufficient to that task and this Overview does not pursue the issues of integrating DKIM into these larger efforts. Rather, it is a basic introduction to the technology and its deployment. 1.1. Background There have been four other efforts at standardizing an email signature scheme: o Privacy Enhanced Mail (PEM) was first published in 1987 [RFC0989] o PEM eventually transformed into MIME Object Security Services in 1995 [RFC1848]. Today, these two are only of historical interest. Hansen, et al. Expires September 5, 2007 [Page 4] Internet-Draft DKIM Message Signing Service Overview March 2007 o Pretty Good Privacy (PGP) was developed by Phil Zimmerman and first released in 1991.[RFC1991] A later version was standardized as OpenPGP. [RFC3156] o RSA Security, the holder of the patent rights to the principle public key cryptography algorithm, independently developed Secure MIME (S/MIME) to transport a PKCS #7 data object. [RFC3851] Development of S/MIME and OpenPGP has continued. While both have achieved a significant user base, neither has achieved ubiquity in deployment or use and their goals differ from those of DKIM. In principle the S/MIME protocol can support semantics such as domain level signatures or make use of keys stored in the DNS. However the currently deployed base does not and modifying it to do so would require extensive effort. Unlike previous IETF email security initiatives, DKIM employs a key centric Public Key Infrastructure (PKI) as opposed to one that is based on a certificate in the style of Kohnfelder (X.509) or Zimmerman (web of trust). That is, the owner of a key asserts its validity, rather than relying on having a broader semantic implication of the assertion, such as a quality assessment of the key's owner. DKIM treats quality assessment as an independent, value-added service, beyond the initial work of deploying a validating signature service. Further, DKIM's PKI is supported as additional information records to the existing Domain Name Service, rather than requiring deployment of a new query infrastructure. This approach also has significant performance advantages as DNS is layered on UDP and key retrieval is typically achieved in a single round trip. 1.2. The DKIM Value Proposition Spam can be understood as two separate problems. The first is the problem of companies that are inappropriately aggressive, in sending out unsolicited marketing email. This accounts for, perhaps, 5% of the spam volume and is in any case usually handled by existing spam filters. [N.B. need a reference for the 5%.] The second problem is rogue spam -- often involving criminal activities -- mostly sent from coerced botnets of compromised machines. For this latter set of mail, the origins of a message are often falsely stated. DKIM provides a means of associating a verifiable identity with a message. Given the presence of that identity, a receiver can make decisions about further handling of the message, based upon assessments of that identity. Hansen, et al. Expires September 5, 2007 [Page 5] Internet-Draft DKIM Message Signing Service Overview March 2007 For messages that produce a valid signature, it will be possible to make affirmative trust assessments. For messages using identities that are typically signed, it will be possible to detect some types of phishing emails and block them. 1.3. Phishing The value of a cousin domain, that could be mistaken for the legitimate domain, is significantly reduced if the number of emails that can be successfully sent from it is small. Phishing attacks are typically made against trusted brands, that is, names that are closely affiliated with well-known organizations. A DKIM-based accreditation service can enforce a basic separation between domains used by such known organizations and domains used by others. Receivers who successfully validate a signature can use information about the signer as part of a program to limit spam, spoofing, phishing, or other undesirable behavior, although the DKIM specification itself does not prescribe any specific actions by the recipient. 1.4. Conventions In this document, references to structured fields of a message use a two-part dotted notation. The first part cites the document that contains the specification for the field and the second is the name of the field. Hence is the From field in an email content header [RFC2822] and is the address in the SMTP "Mail From" command. [RFC2821] This document is being discussed on the DKIM mailing list, ietf-dkim@mipassoc.org. 2. Goals DKIM lets an organization take responsibility for a message. The organization taking responsibility typically is a handler of the message, either as its originator or as an intermediary. It can also be an independent service, providing assistance to a handler of the message. Their reputation is the basis for evaluating whether to trust the message for delivery. The owner of the domain name being used for a DKIM signature is declaring that they are accountable for the message. This means that their reputation is at stake. Hansen, et al. Expires September 5, 2007 [Page 6] Internet-Draft DKIM Message Signing Service Overview March 2007 By design, DKIM purposely: o is compatible with the existing email infrastructure and transparent to the fullest extent possible o requires minimal new infrastructure o can be implemented independently of clients in order to reduce deployment time o does not require the use of new trusted third parties (e.g., certificate authorities) that might impose significant costs or introduce delays to deployment o can be deployed incrementally, with separate deployment of signers and verifiers in either order o allows delegation of signing to third parties o is not intended be used for archival purposes DKIM authentication provides one link in a chain of responsibility, hopefully leading to better accountability by the senders. 2.1. Treat verification failure as if unsigned. PGP and S/MIME were both designed for strong cryptographic protection. This included treating validation failure as message failure. For DKIM, the guidance is that an email signature verifier is to treat messages with signatures that fail as if they were unsigned. Hence the message will revert to normal handling, through the receiver's existing filtering mechanisms. 2.2. Domain-level assurance PGP and S/MIME apply the end-to-end principle in terms of individual originators and recipients, notably using full email addresses. DKIM seeks accountability at the more coarse grain of an organization or, perhaps, a department. A deployed construct that enables this granularity is the domain name, to which the signing key record is bound. 2.3. Incremental adoption DKIM can immediately provide benefits between any two organizations that exchange email and implement DKIM. In the usual manner of "network effects", the benefits of DKIM increase dramatically as its adoption increases. Hansen, et al. Expires September 5, 2007 [Page 7] Internet-Draft DKIM Message Signing Service Overview March 2007 Although it is envisioned that this mechanism will call upon independent assessment services, they are not essential in order to obtain initial benefit. For example DKIM allows pair-wise sets of (possibly large) email providers and spam filtering companies to distinguish mail that is associated with a known organization, from mail that might deceptively purport to have the affiliation. This in turn allows the development of 'whitelist' schemes whereby authenticated mail from a known source with good reputation is allowed to bypass some spam filters. In effect the email receiver is using their set of known relationships to generate their own accreditation/reputation data. This works particularly well for traffic between large sending providers and large receiving providers. However it also works well for any operator, public or private, that has mail traffic dominated by exchanges among a stable set of organizations. Over time, DKIM adoption might become sufficiently widespread to permit special, negative handling of messages that are not signed. However early benefits do not require this more-stringent enforcement. 2.4. Minimal infrastructure DKIM can be implemented at a variety of places within an organization's email service. This permits the organization to choose how much or how little they want DKIM to be part of their infrastructure, rather than part of a more localized operation. Similarly, DKIM's reliance on the Domain Name Service greatly reduces the amount of new administrative infrastructure that must be deployed over the open Internet. Even with use of the DNS, one challenge is that it is usually operated by different administrative staff than those who operate an organization's email service. In order to ensure that DKIM DNS records are accurate, this imposes a requirement for careful coordination between the two operations groups. 2.5. Transparent signature S/MIME and PGP both modify the message body. Hence, their presence is visible to all email recipients and their user software must be able to process the associated constructs. In order to facilitate incremental adoption, DKIM is designed to be transparent to recipients that do not support it. Hansen, et al. Expires September 5, 2007 [Page 8] Internet-Draft DKIM Message Signing Service Overview March 2007 2.6. Security policy DKIM separates basic authentication from policy. An authenticated identity may be subject to a variety of processing policies, either ad hoc or standardized. The only policy inherent in a DKIM signature is that the signer is asserting (some) responsibility for the message. Other possible policies to consider developing include asserting a relationship between the signing identity and the author (RFC 2822 From) domain identity, as well as whether to tread unsigned message with that From domain as problematic. It would, therefore, be helpful for a potential signer to be able to publish various policies, to permit a receiver to know more about the signer's practices 3. Function and Use DKIM has a very constrained set of capabilities, primarily targeting email while it is in transit, from an originator to one or more recipients. DKIM defines a mechanism by which email messages can be cryptographically signed, permitting a signing domain to claim responsibility for the presence of a message in the mail stream. A responsible organization adds a digital signature to the message, associating it with a domain name of that organization. Typically, signing will be done by a service agent within the authority of the message originator's Administrative Management Domain (ADMD). (Signing might be performed by any of the functional components in that environment, including a Mail User Agent (MUA), a Mail Submission Agent (MSA), or an Internet Boundary MTA. DKIM also permits signing to be performed by authorized third-parties.) 3.1. What is a DKIM signature? A signature covers the message body and selected header fields. The signer computes a hash of the selected header fields and another hash of the body. They then use a private key to cryptographically encode this information, along with other signing parameters. The signature information is placed into a new header field of the [RFC2822] message. 3.2. The Selector construct For a single domain, DKIM permits use of multiple signing keys and/or multiple signers. To do this, DKIM identifies a particular signature as a combination of the domain name and an added field, called the "selector". Both of these are coded into the DKIM-Signature header field. Hansen, et al. Expires September 5, 2007 [Page 9] Internet-Draft DKIM Message Signing Service Overview March 2007 Selectors are assigned according to the administrative needs of the signing domain, such as for rolling over to a new key or for delegating of the right to authenticate a portion of the namespace to a trusted third party. Examples include: jun2005.eng._domainkey.example.com widget.promotion._domainkey.example.com NOTE: It is intended that assessments of DKIM identities be based on the domain name, and not include the selector. This permits the selector to be used only for key administration, rather than having an effect on reputation assessment. 3.3. Validation After a message has been signed, any agent in the message transit path can choose to validate the signature, to determine that the signing identity took responsibility for the message. Message recipients can verify the signature by querying the signer's domain directly to retrieve the appropriate public key, and thereby confirm that the message was attested to by a party in possession of the private key for the signing domain. Typically, validation will be done by an agent in the ADMD of the message recipient. 3.4. What does DKIM NOT do? A DKIM signature does not: o offer any assertions about the behaviors of the identity doing the signing. o prescribe any specific actions for receivers to take upon successful (or unsuccessful) signature validation. o provide protection after message delivery. o protect against re-sending (replay of) a message that already has a valid signature; therefore a transit intermediary or a recipient can re-post the message in such a way that the signature would remain valid, although the new recipient(s) would not have been specified by the originator. Hansen, et al. Expires September 5, 2007 [Page 10] Internet-Draft DKIM Message Signing Service Overview March 2007 3.5. Does DKIM eliminate anonymity for email? The ability to send a message that does not identify its author is considered to be a valuable quality of the current email system. It turns out that DKIM is particularly helpful to this goal, because a DKIM signature will typically be used to identity an email system operator, rather than a content author. Knowing that a mail definitely came from example.com does not threaten the anonymity of the user, if it is still possible to obtain effectively anonymous accounts at example.com and other web mail providers. 4. DKIM Within Existing Internet Email 4.1. Review of Internet Mail Service Architecture Internet Mail has a simple split between the user world, in the form of Mail User Agents (MUA), and the transmission world, in the form of the Mail Handling Service (MHS) composed of Mail Transfer Agents (MTA). The MHS is responsible for accepting a message from one User and delivering it to one or more other users, creating a virtual MUA- to-MUA exchange environment. The first MTA is called the Mail Submission Agent (MSA) and the final MTA is called the Mail Delivery Agent (MDA) Hansen, et al. Expires September 5, 2007 [Page 11] Internet-Draft DKIM Message Signing Service Overview March 2007 +--------+ +---------------->| User | | +--------+ | ^ +--------+ | +--------+ . | User +--+--------->| User | . +--------+ | +--------+ . . | ^ . . | +--------+ . . . +-->| User | . . . +--------+ . . . ^ . . . . . . V . . . +---+----------------+------+------+---+ | . . . . | | +...............>+ . . | | . . . | | +......................>+ . | | . . | | +.............................>+ | | | | Mail Handling Service (MHS) | +--------------------------------------+ Figure 1: Basic Internet Mail Service Model Modern Internet Mail service is marked by many independent operators, many different components for providing users with service and many other components for performing message transfer. Consequently, it is necessary to distinguish administrative boundaries that surround sets of functional components. 4.1.1. Administrative Actors Operation of Internet Mail services is apportioned to different providers (or operators). Each can be composed of an independent ADministrative Management Domain (ADMD). An ADMD operates with an independent set of policies and interacts with other ADMDs according to differing types and amounts of trust. Examples include an end- user operating their desktop client, a department operating a local Relay, an IT department operating an enterprise Relay and an ISP operating a public shared email service. These can be configured into many combinations of administrative and operational relationships, with each ADMD potentially having a complex arrangement of functional components. Figure 2 depicts the relationships among ADMDs. Perhaps the most salient aspect of an ADMD is the differential trust that determines its policies for Hansen, et al. Expires September 5, 2007 [Page 12] Internet-Draft DKIM Message Signing Service Overview March 2007 activities within the ADMD, versus those involving interactions with other ADMDs. Basic components of ADMD distinction include: Edge: Independent transfer services, in networks at the edge of the Internet Mail service. User: End-user services. These might be subsumed under an Edge service, such as is common for web-based email access. Transit: These are Mail Service Providers (MSP) offering value- added capabilities for Edge ADMDs, such as aggregation and filtering. Note that Transit services are quite different from packet-level transit operation. Whereas end-to-end packet transfers usually go through intermediate routers, email exchange across the open Internet is often directly between the Edge ADMDs, at the email level. +-------+ +-------+ +-------+ | ADMD1 | | ADMD3 | | ADMD4 | | ----- | | ----- | | ----- | | | +---------------------->| | | | | User | | |-Edge--+--->|-User | | | | | +--->| | | | | V | | | +-------+ +-------+ | Edge--+---+ | | | | +---------+ | +-------+ | | ADMD2 | | | | ----- | | | | | | +--->|-Transit-+---+ | | +---------+ Figure 2: ADministrative Management Domains (ADMD) Example The distinction between Transit network and Edge network transfer services is primarily significant because it highlights the need for concern over interaction and protection between independent administrations. The interactions between functional components within an ADMD are subject to the policies of that domain. Common ADMD examples are: Hansen, et al. Expires September 5, 2007 [Page 13] Internet-Draft DKIM Message Signing Service Overview March 2007 Enterprise Service Providers: Operating an organization's internal data and/or mail services. Internet Service Providers: Operating underlying data communication services that, in turn, are used by one or more Relays and Users. It is not necessarily their job to perform email functions, but they can, instead, provide an environment in which those functions can be performed. Mail Service Providers: Operating email services, such as for end-users, or mailing lists. 4.2. Where to Place DKIM Functions Deciding which ADMD shall perform signing or verifying, which identity to assign and which functional components to use for DKIM processing depends upon the nature of the trust/reputation that is of interest and the most convenient or efficient way to use it. Messages may be signed or verified by any functional component within an ADMD, as that domain wishes to arrange. Examples include: Outbound: MUA, MSA or boundary MTA. Inbound: Boundary MTA, MDA or MUA. By having an MUA do the signing or verifying, there is no dependence upon implementation by an email service infrastructure. By having an MHS component do signing or verifying, there is no dependence upon user training or the upgrade of potentially large numbers of user applications. For implementation by an ADMD's email service operators, perhaps the most obvious choices within the MHS are the MSA or MDA, and the outbound or inbound (boundary) MTA. By signing or verifying at the MSA and MDA, respectively, this outermost portion of the MHS provides true end-to-end service, and requires the smallest amount of trust of the intervening service infrastructure. By signing or verifying at a boundary, the smallest number of systems need modifying within an ADMD and the signature is subject to the smallest amount of handling that can break the signature. Note, however, that this will eliminate DKIM signing for mail that stays within the ADMD. The choice of identity to use might not be obvious. Examples include: Hansen, et al. Expires September 5, 2007 [Page 14] Internet-Draft DKIM Message Signing Service Overview March 2007 Author: The domain associated with the RFC2822.From field provides basic authorization for the author to generate mail. Because the organization controlling that domain is closest to the author, they well might be in the best position to offer their reputation as a basis for asserting that the content is "safe". Operator: Email recipient services have long-used the IP Address of a client SMTP server as the basis for assessing whether to permit relay or delivery of a message. These Addresses identify the operator of an email service, rather than necessarily indicating the author of messages being sent by that service. Use of an operator's domain name is a natural extension of this model. Third-party: An independent service might wish to certify an author, a message or an operator, by providing its own signature to a message. Hence, evaluation of the message will be based upon the identity of that third-party, rather than any of the identities involved in creating or transferring the message. Indeed, this model is already emerging among a number of reputation-vetting services and is similar to the way a credit card permits a customer to make purchases, based upon the reputation of the credit card company -- and its willingness to issue the card. Ultimately, deciding where to sign a message will depend upon both the identity being used and tradeoffs among flexibility of uses, administrative control, and operational control. Deciding where to verify a message will depend upon the intended use and similar concerns about flexibility and control. A typical choice for reputation-related verification will be to place the signature verification function "close" to the message-filtering engine. 4.3. Impact on Email Activities 4.3.1. Resources Although public-key cryptographic authentication is considered to be computationally expensive, the real impact of a mechanism like DKIM can be remarkably small. Direct impact on CPU-load has been measured to be 10-15%. Mail handling tends to be I/O-intensive, so that dedicated email platforms tend to have unused computational capacity. It is therefore likely that no new hardware will be required for these systems to be able to add DKIM support. Hansen, et al. Expires September 5, 2007 [Page 15] Internet-Draft DKIM Message Signing Service Overview March 2007 4.3.2. Operations The costs to deploy, administer and operate DKIM vary greatly, depending upon the placement of DKIM-related modules. The greatest flexibility comes from placing the modules as close as possible to the end user. However this also imposes the greatest costs. The most common scenarios are likely to be: Boundary MTA: Here, DKIM is used only for email external to the ADMD. Administration and operation is the simplest, but could cause problems for mobile users who are associated with the organization but must send mail using facilities that are independent of their home ADMD. It also provides no assistance for inter-departmental accountability within the ADMD.. MSA/MDA (Department): Placing DKIM support at the points of submission and delivery increases the deployment costs but still keeps control within the ADMD's operational staff. It avoids the considerable, added costs of having to enhance all of the MUAs. This does not improve the lot of mobile users who submit from independent MSAs, but does provide full protection within the ADMD. MUA: Obviously this can provide the most complete protection, but at the cost of considerable added administrative effort. Worse, there is extensive evidence that email infrastructure services often perform changes to message content that can break a message signature. Examples include transformation by the MSA to ensure that the message is in full conformance with Internet standards and transformation by Boundary MTAs, to ensure conformance with organizational policies about external communications. 4.3.3. Mobile Users Mobile users often must post messages through MSAs that are not under the control of the user's home ADMD. Placing DKIM signing into the MUA is the only way to ensure that a highly mobile user retains all of its benefits, in spite of having to send mail through these independent MSAs. However this leads to the administrative overhead of having a DKIM DNS key selector record for each mobile user. For mail reading, no changes are needed. Hansen, et al. Expires September 5, 2007 [Page 16] Internet-Draft DKIM Message Signing Service Overview March 2007 4.3.4. Mailing Lists A mailing list takes delivery of a message and reposts it, usually with significant changes to the message. This will often break a DKIM signature, although DKIM has some features to survive simple mailing list modifications. For mailing lists that impose substantial changes, it will be the responsibility of the list operator to add their own DKIM signature. 4.4. Migrating from DomainKeys 4.4.1. Signing DNS Records: DKIM is upward compatible with existing DomainKeys (DK) [I-D.delany-domainkeys-base] DNS records, so that a DKIM module does not automatically require additional DNS administration! However, it should be noted that DKIM has enhanced the DomainKeys DNS key record format by adding several optional parameters. Boundary MTA: The principle use of DomainKeys is at Boundary MTAs. Because no operational transition is ever instantaneous, a signer SHOULD add a DKIM signature to a message that has a DomainKeys signature, rather than replacing it, until such time as DomainKeys receive-side support is sufficiently reduced. With respect to signing policies, a reasonable, initial approach is to use DKIM signatures in the same way as DomainKeys signatures are already being use. 4.4.2. Verifying DNS Client: DNS queries for the DKIM key record, use the same Domain Name naming conventions and the same basic record format. No changes to the DNS client should be required. Verifying module: See "Signing Module". 4.4.3. Boundary MTA Independent of whether a Boundary MTA is performing general message filtering, a helpful practice is to have it check for DKIM signatures that purport to be made with a domain name that belongs to the ADMD of the Boundary MTA. If the signature does not validate, the MTA MAY decide to delete the signature. Hansen, et al. Expires September 5, 2007 [Page 17] Internet-Draft DKIM Message Signing Service Overview March 2007 5. Service Architecture DKIM provides an end-to-end service for signing and verifying messages that are in transit. It is divided into components that can be performed using different, external services (e.g., key retrieval), although the basic DKIM operation provides an initial set. Hansen, et al. Expires September 5, 2007 [Page 18] Internet-Draft DKIM Message Signing Service Overview March 2007 | | - RFC2822 Message V +---------------------------------------------+ +-----------+ | ORIGINATING OR RELAYING ADMD | | Signer | | ============================ | | Practices +......>| SIGN MESSAGE | +-----+-----+ | ...> ADD A SIGNATURE HEADER FIELD | . ...>| . GET (Domain, Selector, Priv-Key) | . / | ... COMPUTE SIGNATURE | . V +----------------+----------------------------+ . +-------+ | - Message . | Key | | 1*(Domain, Selector, . | Store | [Internet] Sig) . +---+---+ V . . +---------------------------------------------+ . . | RELAYING OR DELIVERING ADMD | . . | =========================== | . . | VERIFY MESSAGE (Verifier Practices) | . . | ...> VERIFY A SIGNATURE HEADER FIELD | . . | . GET A SIGNATURE | . \...>| . LOOKUP PUB-KEY (Domain, Selector) | . | . VERIFY SIGNATURE VALUE | . | ... EVALUATE SIGNATURE CONSTRAINTS | . +-------------------+-------------------------+ . | - Verified Domain(s) . V - [Report] . +---------------------------------------------+ \............>| MESSAGE DISPOSITION | ............>| SIGNER PRACTICES | / | REPUTATION | +-----+------+ +---------------------------------------------+ | Reputation | +------------+> Figure 3: DKIM Service Architecture Basic message processing is divided between signing the message, validating the signature, and then making further decisions based upon the validated signature. The signing component applies whatever signing policies are in force, including ones that determine which private key to use. Validation may be performed by any functional component along the relay and delivery path. Validators retrieve the public key based upon the parameters stored in the message. The figure shows using the validated identity to assess an associated reputation, but it could be applied to other tasks, such as management tracking of mail. Hansen, et al. Expires September 5, 2007 [Page 19] Internet-Draft DKIM Message Signing Service Overview March 2007 6. Development 6.1. Coding Criteria for Cryptographic Applications Correct implementation of a cryptographic algorithm is a necessary but not a sufficient condition for coding of cryptographic applications. Coding of cryptographic libraries requires close attention to security considerations that are unique to cryptographic applications. In addition to the usual security coding considerations, such as avoiding buffer or integer overflow and underflow, implementers should pay close attention to management of cryptographic private keys and session keys, ensuring that these are correctly initialized and disposed of. Operating system mechanisms that permit the confidentiality of private keys to be protected against other processes SHOULD be used when available. In particular, great care MUST be taken when releasing memory pages to the operating system to ensure that private key information is not disclosed to other processes. On multiple processor and dual core architectures, certain implementations of public key algorithms such as RSA may be vulnerable to a timing analysis attack. Support for cryptographic hardware providing key management capabilities is strongly encouraged. In addition to offering performance benefits, many cryptographic hardware devices provide robust and verifiable management of private keys. Fortunately appropriately designed and coded cryptographic libraries are available for most operating system platforms under license terms compatible with commercial, open source and free software license terms. Use of standard cryptographic libraries is strongly encouraged. These have been extensively tested, reduce development time and support a wide range of cryptographic hardware. 6.1.1. Signer Signer implementations SHOULD provide a convenient means of generating DNS key records corresponding to the signer configuration. Support for automatic insertion of key records into the DNS is also highly desirable. If supported however such mechanism(s) MUST be properly authenticated. Means of verifying that the signer configuration is compatible with the signature policy is also highly desirable. Hansen, et al. Expires September 5, 2007 [Page 20] Internet-Draft DKIM Message Signing Service Overview March 2007 Disclosure of a private signature key component to a third party allows that third party to impersonate the sender. Protection of private signature key data is therefore a critical concern. Signers SHOULD support use of cryptographic hardware providing key management features. The import and export of private keys, and the ability to generate a Certificate Signing Request (CSR) for certificate registration are highly desirable. 6.1.2. Verifier Verifiers SHOULD treat the result of the verification step as an input to the message evaluation process rather than as providing a final decision. The knowledge that a message is authentically sent by a domain does not say much about the legitimacy of the message, unless the characteristics of the domain claiming responsibility are known. In particular, verifiers SHOULD NOT automatically assume that an email message that does not contain a signature, or that contains a signature that does not validate, is forged. Verifiers should treat a signature that fails to validate the same as if no signature were present. 6.2. Email Infrastructure Agents It is expected that the most common venue for a DKIM implementation will be within the infrastructure of an organization's email service, such as a department or a boundary MTA. Outbound: An MSA or Outbound MTA should allow for automatic verification of the MTA configuration such that the MTA can generate an operator alert if it determines that it is (1) an edge MTA, (2) configured to send email messages that do not comply with the published DKIM sending policy. An outbound MTA should be aware that users may employ MUAs that add their own signatures and be prepared to take steps necessary to ensure that the message sent is in compliance with the advertised email sending policy. Inbound: An inbound MTA or an MDA that does not support DKIM should avoid modifying messages in ways that prevent verification by other MTAs, or MUAs to which the message may be forwarded. Hansen, et al. Expires September 5, 2007 [Page 21] Internet-Draft DKIM Message Signing Service Overview March 2007 Intermediaries: An email intermediary is both an inbound and outbound MTA. Each of the requirements outlined in the sections relating to MTAs apply. If the intermediary modifies a message in a way that breaks the signature, the intermediary + SHOULD deploy abuse filtering measures on the inbound mail, and + MAY remove all signatures that will be broken In addition the intermediary MAY: * Verify the message signature prior to modification. * Incorporate an indication of the verification results into the message, such as using an Authentication-Results header [I-D.kucherawy-sender-auth-header]. * Sign the modified message including the verification results (e.g., the Authentication-Results header). 6.3. Filtering Developers of filtering schemes designed to accept DKIM authentication results as input should be aware that their implementations will be subject to counter-attack by email abusers. The efficacy of a filtering scheme cannot therefore be determined by reference to static test vectors alone; resistance to counter attack must also be considered. Naive learning algorithms that only consider the presence or absence of a valid DKIM signature are vulnerable to an attack in which a spammer or other malefactor signs all their mail, thus creating a large negative value for presence of a DKIM signature in the hope of discouraging widespread use. If heuristic algorithms are employed, they should be trained on feature sets that sufficiently reveal the internal structure of the DKIM responses. In particular the algorithm should consider the domains purporting to claim responsibility for the signature, rather than the existence of a signature or not. Unless a scheme can correlate the DKIM signature with accreditation or reputation data, the presence of a DKIM signature SHOULD be ignored. Hansen, et al. Expires September 5, 2007 [Page 22] Internet-Draft DKIM Message Signing Service Overview March 2007 6.4. DNS Server At a minimum, a DNS server that handles queries for DKIM key records must perform server administrators to add free-form TXT records. It would, of course, be better for provide them with a structured form, to support the DKIM-specific fields. 7. Deployment This section describes the basic steps for introducing DKIM into an organization's email service operation. The considerations are divided between the generating DKIM signatures (Signing) and the processing of messages that contain a DKIM signature (Verifying). 7.1. Signing Creating messages that have DKIM signatures requires modification of only two portions of the email service: o Addition of relevant DNS information. o Addition of the signature by a trusted module within the organization's email handling service. The signing module uses the appropriate private key to create a signature. The means by which the signing module obtains this key is not specified by DKIM. Given that DKIM is intended for use during email transit, rather than for long-term storage, it is expected that keys will be changed regularly. Clearly this means that key information should not be hard-coded into software. 7.1.1. DNS Records A receiver attempting to validate a DKIM signature must obtain the public key that is associated with the signature for that message. The DKIM-Signature header in the message will specify the basic domain name doing the signing and the selector to be used for the specific public key. Hence, the relevant ._domainkeys. DNS record needs to contain a DKIM-related resource record (RR) that provides the public key information. The administrator of the zone containing the relevant domain name adds this information. Initial DKIM DNS information is contained within TXT RRs. DNS administrative software varies considerably in its abilities to add new types of DNS records. Hansen, et al. Expires September 5, 2007 [Page 23] Internet-Draft DKIM Message Signing Service Overview March 2007 7.1.2. Signing Module The module doing signing can be placed anywhere within an organization's trusted Administrative Management Domain (ADMD); common choices are expected to be department-level posting and delivering agents, as well as boundary MTAs to the open Internet. (Note that it is entirely acceptable for MUAs to perform signing and validation.) Hence the choice among the modules depends upon software development and administrative overhead tradeoffs. One perspective that helps resolve this choice is the difference between the flexibility of use by systems at (or close to) the MUA, versus the centralized control that is more easily obtained by implementing the mechanism "deeper" into the organization's email infrastructure, such as at its boundary MTA. 7.1.3. Signing Policies and Practices Every organization (ADMD) will have its own policies and practices for deciding when to sign messages and with what domain name and key (selector). Examples include signing all mail, signing mail from particular email addresses, or signing mail from particular sub- domains. Given this variability, and the likelihood that signing practices will change over time, it will be useful to have these decisions represented in some sort of configuration information, rather than being more deeply coded into the signing software. 7.2. Verifying Verification is performed within an ADMD that wishes to make assessments based upon the DKIM signature's domain name. Any component within the ADMD that handles messages, whether in transit or being delivered, can do the verifying and subsequent assessments. Verification and assessment might occur within the same software mechanism, such as a Boundary MTA, or an MDA. Or they may be separated, such as having verification performed by the Boundary MTA and assessment performed by the MDA. As with the signing process, choice of service venues for verification and assessment -- such as filtering or presentation to the recipient user -- depend on trade-offs for flexibility, control, and operational ease. An added concern is that the linkage between verification and assessment entails essential trust: the assessment module MUST have a strong basis for believing that the verification information is correct. Hansen, et al. Expires September 5, 2007 [Page 24] Internet-Draft DKIM Message Signing Service Overview March 2007 7.2.1. DNS Client The primary means of publishing DKIM key information, initially, is initially through DNS TXT records. Some DNS client software might have problems obtaining these records; as DNS client software improves this will not be a concern. 7.2.2. Boundary Enforcement In order for an assessment module to trust the information it receives about verification (e.g., Authentication-Results headers), it MUST eliminate verification information originating from outside the ADMD in which the assessment mechanism operates. As a matter of friendly practice, it is equally important to make sure that verification information generated within the ADMD not escape outside of it. In most environments, the easiest way to enforce this is to place modules in the receiving and sending Boundary MTA(s) that strip any existing verification information. 7.3. Mail User Agent DKIM is designed to support deployment and use in email components other than an MUA. However an MUA MAY also implement DKIM features directly. Outbound: If an MUA is configured to send email directly, rather than relayed through an outbound MSA, the MUA SHOULD be considered as if it were an outbound MTA for the purposes of DKIM. An MUA MAY support signing even if mail is to be relayed through an outbound MSA. In this case the signature applied by the MUA may be in addition to any MSA signature. Inbound: An MUA MAY rely on a report of a DKIM signature verification that took place at some point in the inbound MTA path (e.g., an Authentication-Results header), or an MUA MAY perform DKIM signature verification directly. A verifying MUA SHOULD allow for the case where mail is modified in the inbound MTA path. 7.4. Transition strategy Deployment of a new signature algorithm without a 'flag day' requires a transition strategy such that signers and verifiers can phase in support for the new algorithm independently, and (if necessary) phase Hansen, et al. Expires September 5, 2007 [Page 25] Internet-Draft DKIM Message Signing Service Overview March 2007 out support for the old algorithm independently. [Note: this section assumes that a security policy mechanism exists. It is subject to change.] DKIM achieves these requirements through two features: First a signed message may contain multiple signatures created by the same signer. Secondly the security policy layer allows the signing algorithms in use to be advertised, thus preventing a downgrade attack. 7.4.1. Signer transition strategy Let the old signing algorithm be A, the new signing algorithm be B. The sequence of events by which a Signer may introduce the new signing algorithm B, without disruption of service to legacy verifiers, is as follows: 1. Signer signs with algorithm A A. Signer advertises that it signs with algorithm A 2. Signer signs messages twice, with both algorithm A and algorithm B A. The signer tests new signing configuration B. Signer advertises that it signs with algorithm A and algorithm B 3. Signer determines that support for Algorithm A is no longer necessary 4. Signer determines that support for algorithm A is to be withdrawn A. Signer removes advertisement for Algorithm A B. Signer waits for cached copies of earlier signature policy to expire C. Signer stops signing with Algorithm A 7.4.2. Verifier transition strategy The actions of the verifier are independent of the signer's actions and do not need to be performed in a particular sequence. The verifier may make a decision to cease accepting algorithm A without first deploying support for algorithm B. Similarly a verifier may be upgraded to support algorithm B without requiring algorithm A to be Hansen, et al. Expires September 5, 2007 [Page 26] Internet-Draft DKIM Message Signing Service Overview March 2007 withdrawn. The decisions of the verifier must make are therefore: o The verifier MAY change the degree of confidence associated with any signature at any time, including determining that a given signature algorithm provides a limited assurance of authenticity at a given key strength. * A verifier MAY evaluate signature records in any order it chooses, including using the signature algorithm to choose the order. o The verifier MAY make a determination that Algorithm A does not offer a useful level of security, or that the cost of verifying the signature is less than the value of doing so. * In this case the verifier would ignore signatures created using algorithm A and references to algorithm A in policy records would be treated as if the algorithm were not implemented. o The verifier MAY decide to add support for additional signature algorithms at any time. * The verifier MAY add support for algorithm B at any time. 8. On-going Operations This section describes the basic steps for operation of email systems that use DKIM, after the capability has initially been deployed. The primary considerations are: o the upkeep of the selector files, and o the security of the private keys. 8.1. DNS Signature Record Deployment Considerations The key point to remember is that the DNS DKIM selectors WILL and SHOULD be changed over time. Some reasons for changing DKIM selectors are well understood; others are still theoretical. There are several schemes that may be used to determine the policies for changing DKIM selectors: o time based o associations with clusters of servers Hansen, et al. Expires September 5, 2007 [Page 27] Internet-Draft DKIM Message Signing Service Overview March 2007 o the use of third party signers o security considerations 8.1.1. Time Basis and Security Considerations The reason for changing the selector periodically is usually related to the security exposure of a system. When the potential exposure of the private keys associated with the DKIM selector have reached sufficient levels, the selector should be changed. (It is unclear currently what kinds of metrics can be used to aid in deciding when the exposure has reached sufficient levels to warrant changing the selector.) For example, o Selectors should be changed more frequently on systems that are widely exposed, than on systems that are less widely exposed. For example, a gateway system that has numerous externally-accessible services running on it, is more widely exposed than one that ONLY runs a mail server. o Selectors should be changed more frequently on operating systems that are under wide attack. o While the use of DKIM information is transient, keys with sufficient exposure do become stale and should be changed. o Whenever you make a substantial system change, such as bringing up a new server, or making a major operating system change, you should consider changing the selector. o Whenever there is either suspicion or evidence of the compromise of the system or the private keys, you should change the selector. 8.1.2. Deploying New Selectors A primary consideration in changing the selector is remembering to change it. It needs to be a standard part of the operational staff Methods and Procedures for your systems. If they are separate, both the mail team and the DNS team will be involved in deploying new selectors. When deploying a new selector, it needs to be phased in: 1. generate the new public / private key pair and create a selector record with the public key in it Hansen, et al. Expires September 5, 2007 [Page 28] Internet-Draft DKIM Message Signing Service Overview March 2007 2. add the new selector record to your DNS 3. verify that the new selector record can be used to verify signatures 4. turn on signing with the new private key 5. remove the old private key from your servers 6. after a period of time, remove the old selector from your DNS The time an unused selector should be kept in the DNS system is dependent on the reason it's being changed. If the private key has definitely been exposed, the corresponding selector should be removed immediately. Otherwise, longer periods are allowable. 8.1.3. Subdomain Considerations A Domain Name is the basis for making differential quality assessments about a DKIM-signed message. It is reasonable for a single organization to have a variety of very different activities, which warrant a variety of very different assessments. A convenient way to distinguish among such activities is to sign with different domain names. That is, the organization should sign with sub-domain names that are used for different organizational activities. 8.1.4. Third party Signature Delegations Allowing third parties to sign email from your domain opens your system security to include the security of the third party's systems. At a minimum, you should not allow the third parties to use the same selector and private key as your main mail system. It is recommended that each third party be given their own private key and selector. This limits the exposure for any given private key, and minimizes the impact if any given private key were exposed. 8.2. Private Key Management The permissions of private key files must be carefully managed. If key management hardware support is available, it should be used. Auditing software should be used to periodically verify that the permissions on the private key files remain secure. [ Expand this section? ] 8.3. Mailing list manager developers A mailing list often provides facilities to its administrator to manipulate parts of the mail messages that flow through the list. Hansen, et al. Expires September 5, 2007 [Page 29] Internet-Draft DKIM Message Signing Service Overview March 2007 The desired goal is that messages flowing through the mailing list will be verifiable by the recipient as being from the list, or failing that, as being from the individual list members. In most cases, the list and/or its mail host SHOULD add its own DKIM signature to list mail. This could be done in the list management software, in an outgoing MSA or MTA, or both. List management software often makes modifications to messages that will break incoming signatures, such as adding subject tags, adding message headers or footers, and adding, deleting, or reordering MIME parts. By adding its own signature after these modifications, the list provides a valid recognizable signature for list recipients. In some cases, mailing list software is simple enough that signatures on incoming messages will still be valid after being remailed by the list. It is still preferable that the list sign its mail so that recipients can distinguish mail sent through the list from mail sent directly by list members, but in the absence of a list signature, a recipient may be able to recognize and use the signatures of list members known to the recipient. 9. Example Uses A DKIM signature tells the signature verifier that the owner of a particular domain name accepts responsibility for the message. Combining this information with information that allows the history of the domain name owner to be assessed may allow processing the message, based on the probability that the message is likely to be trustworthy, or not, without the need for heuristic content analysis. 9.1. Protection of Internal Mail One identity is particularly amenable to easy and accurate assessment: The organization's own identity! Members of an organization tend to trust messages that purport to be from within that organization. However Internet Mail does not provide a straightforward means of determining whether such mail is, in fact, from within the organization. DKIM can be used to remedy this exposure. If the organization signs all of its mail, then its boundary MTAs can look for mail purporting to be from the organization but which does not contain a valid signature. Such mail can be presumed to be spurious. 9.2. Recipient-based Assessments Recipients of large volumes of email can generate reputation data for email senders internally. Recipients of smaller volumes of messages Hansen, et al. Expires September 5, 2007 [Page 30] Internet-Draft DKIM Message Signing Service Overview March 2007 are likely to need to acquire reputation data from a third party. In either case the use of reputation data is intrinsically limited to email senders that have established a prior history of sending messages. In fact, an email receiving service may be in a position to establish bilateral agreements with particular senders, such as business partners or trusted bulk sending services. Although it is not practical for each recipient to accredit every sender, definition of core networks of explicit trust can be quite useful. 9.2.1. Third-party Assessments For scaling efficiency, it is appealing to have Trusted Third Party assessment services, to allow an email sender to obtain a single assessment that is then recognized by every email recipient that recognizes the Trusted Third Party. 9.3. DKIM Support in the Client The DKIM specification is expected to be used primarily between Boundary MTAs, or other infrastructure components of the originating and receiving ADMDs. However there is nothing in DKIM that is specific to those venues. In particular, it should be possible to support signing and validating in MUAs. However, it is comment for components of an ADMD's email infrastructure to do violence to message, so as to render a DKIM signature invalid. Hence, users of MUAs that support DKIM signing and/or validating need a basis for knowing that their associated email infrastructure will maintain signature validity. DKIM requires that all verifiers treat messages with signatures that do not verify as if they are unsigned. If verification in the client is to be acceptable to users, it is also essential that successful verification of a signature not result in a less than satisfactory user experience compared to leaving the message unsigned. 9.4. Per user signature Although DKIM's use of domain names is optimized for a scope of organization-level signing, it is possible to have sub-domains and/or selectors be administered in a way that supports per-user signing. NOTE: As stated earlier, it is important to distinguish between use of selectors, for differential administration of keys, versus sub- domains, for differential reputations. Hansen, et al. Expires September 5, 2007 [Page 31] Internet-Draft DKIM Message Signing Service Overview March 2007 As a constraint on an authorized DKIM signing agent, their associated key record can specify restrictions on the email addresses permitted to be signed with that domain and key. A typical intent of this feature is to allow a company to delegate the signing authority for bulk marketing communications without the risk of effectively delegating the authority to sign messages purporting to come from the domain-owning organization's CEO. NOTE: Any scheme that involves maintenance of a significant number of public keys is likely to require infrastructure enhancements, to support that management. For example, a system in which the end user is required to generate a public key pair and transmit it to the DNS administrator out of band is not likely to meet acceptance criteria for either usability or security. 10. Acknowledgements TBD 11. { Misc Text -- Should go elsewhere, if used at all } DKIM permits the signing identity to be different from the identities used for the author or the initial posting agent. This is essential, for example, to enable support of signing by authorized third- parties, and to permit signatures by email providers who are otherwise independent of the domain name of the message author. DKIM permits restricting the use of a signature key to particular types of services, such as only for email. This is helpful when delegating signing authority, such as to a particular department or to a third-party outsourcing service. With DKIM the signer MUST explicitly list the headers that are signed. This is an improvement because it requires the signer to use the more conservative (likely to verify correctly) mechanism and makes it considerably more robust against the handling of intermediary MTAs. DKIM self-signs the DKIM-Signature header field, to protect against its being modified. In order to survive the vagaries of different email transfer systems, mechanisms like DKIM must evaluate the message data in some canonical form, such as treating a string of spaces as tabs as if they were a single space. DKIM has added the "relaxed" canonicalization in place of "nofws". Hansen, et al. Expires September 5, 2007 [Page 32] Internet-Draft DKIM Message Signing Service Overview March 2007 MUA UI considerations key delegation/ 3rd party 12. Informative References [I-D.delany-domainkeys-base] Delany, M., "Domain-based Email Authentication Using Public Keys Advertised in the DNS (DomainKeys)", draft-delany-domainkeys-base-06 (work in progress), July 2006. [I-D.ietf-dkim-base] Allman, E., "DomainKeys Identified Mail (DKIM) Signatures", draft-ietf-dkim-base-10 (work in progress), February 2007. [I-D.ietf-dkim-threats] Fenton, J., "Analysis of Threats Motivating DomainKeys Identified Mail (DKIM)", draft-ietf-dkim-threats-03 (work in progress), May 2006. [I-D.kucherawy-sender-auth-header] Kucherawy, M., "Message Header for Indicating Sender Authentication Status", draft-kucherawy-sender-auth-header-04 (work in progress), February 2007. [RFC0989] Linn, J. and IAB Privacy Task Force, "Privacy enhancement for Internet electronic mail: Part I: Message encipherment and authentication procedures", RFC 989, February 1987. [RFC1848] Crocker, S., Galvin, J., Murphy, S., and N. Freed, "MIME Object Security Services", RFC 1848, October 1995. [RFC1991] Atkins, D., Stallings, W., and P. Zimmermann, "PGP Message Exchange Formats", RFC 1991, August 1996. [RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, April 2001. [RFC2822] Resnick, P., "Internet Message Format", RFC 2822, April 2001. [RFC3156] Elkins, M., Del Torto, D., Levien, R., and T. Roessler, "MIME Security with OpenPGP", RFC 3156, August 2001. Hansen, et al. Expires September 5, 2007 [Page 33] Internet-Draft DKIM Message Signing Service Overview March 2007 [RFC3851] Ramsdell, B., "Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification", RFC 3851, July 2004. Authors' Addresses Tony Hansen AT&T Laboratories 200 Laurel Ave. Middletown, NJ 07748 USA Email: tony+dkimov@maillennium.att.com Dave Crocker Brandenburg InternetWorking 675 Spruce Dr. Sunnyvale, CA 94086 USA Email: dcrocker@bbiw.net Phillip Hallam-Baker VeriSign Inc. Email: pbaker@verisign.com Hansen, et al. Expires September 5, 2007 [Page 34] Internet-Draft DKIM Message Signing Service Overview March 2007 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. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 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. 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 http://www.ietf.org/ipr. 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-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Hansen, et al. Expires September 5, 2007 [Page 35]