DomainKeys Identified Mail T. Hansen Internet-Draft AT&T LaboratoriesExpires: December 27, 2006Intended status: Informational D. Crocker Expires: April 25, 2007 Brandenburg InternetWorking P. Hallam-Baker VeriSign Inc.June 25,October 22, 2006 DomainKeys Identified Mail (DKIM) Service Overviewdraft-ietf-dkim-overview-01.txtdraft-ietf-dkim-overview-02 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 onDecember 27, 2006.April 25, 2007. Copyright Notice Copyright (C) The Internet Society (2006). 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 servertechnology to permit verification oftechnology. This permits verifying the sourceandor intermediary for a message, as well as the contents ofmessages by either Mail Transfer Agents (MTAs) or Mail User Agents (MUAs).messages. The ultimate goal of this framework is to permit a signing domain to assert responsibility for a message, thus proving and protectingmessage senderthe identity associated with the message and the integrity of the messagesthey conveyitself, while retaining the functionality of Internet email as it is known today.Proof andSuch protection of email identity,including repudiation and non-repudiation,may assist in the global control of "spam" and "phishing". This document provides an overview ofDomainKeys Identified MailDKIM and describes how it can fit intooveralla messagingsystems,service, how it relates to other IETF message signaturetechnologies,technologies. It also includes implementation and migrationconsiderations, and outlines potential DKIM applications and future extensions.considerations. Note This document is being discussed on the DKIM mailing list, ietf-dkim@mipassoc.org. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .4 1.1. About This Document5 2. The DKIM Value Proposition . . . . . . . . . . . . . . . . . . 6 3. DKIM's Goals .4 1.2. A Quick Overview of DKIM. . . . . . . . . . . . . . . . .4 1.3. Outline Potential DKIM Applications. . . . . . . 7 3.1. Treat verification failure as if unsigned. . . . .7 2. DKIM Within Existing Internet Email. . . 8 3.2. Domain-level assurance . . . . . . . . . .7 2.1. Review of Internet Mail Service Architecture. . . . . . .7 2.2. Where to Place DKIM Functions8 3.3. Incremental adoption . . . . . . . . . . . . . .10 2.3. Impact on Email Activities. . . . 8 3.4. Minimal infrastructure . . . . . . . . . . . .11 2.4. Migrating from DomainKeys. . . . . 9 3.5. Transparent signature . . . . . . . . . . .12 2.5. { Misc Text -- Should go elsewhere, if used at all }. . .13 3. DKIM Within Existing Internet Email. . . . 9 3.6. Security policy . . . . . . . . .14 3.1. Review of Internet Mail Service Architecture. . . . . . .14 3.2. Where to Place DKIM Functions. . . . . 9 4. A Quick Overview of DKIM . . . . . . . . .17 3.3. Impact on Email Activities. . . . . . . . . . 9 4.1. What is a DKIM signature? . . . . . .17 3.4. Migrating from DomainKeys. . . . . . . . . . 10 4.2. The Selector construct . . . . . .18 3.5. { Misc Text -- Should go elsewhere, if used at all }. . .19 4. DKIM Service Architecture. . . . . . . . 10 4.3. Who validates the signature? . . . . . . . . . .21 5. Relationship to previous Message Signature Technologies. . .23 5.1. Transparent Signature. 10 4.4. What does DKIM NOT do? . . . . . . . . . . . . . . . . .23 5.2. Treat verification failure as if unsigned.11 4.5. Does DKIM eliminate anonymity for email? . . . . . . . .24 5.3. Legacy Client Semantics11 4.6. Outline potential DKIM applications . . . . . . . . . . . 11 4.7. What is a DKIM policy? . . . . . .25 5.4. Key Centric PKI. . . . . . . . . . . 11 5. DKIM Within Existing Internet Email . . . . . . . . . .25 5.5. Domain Level Assurance. . . 12 5.1. Review of Internet Mail Service Architecture . . . . . . 12 5.2. Where to Place DKIM Functions . . . . . . . . . . . .27 5.6. Security Policy. . 15 5.3. Impact on Email Activities . . . . . . . . . . . . . . . 16 5.4. Migrating from DomainKeys . . . .27. . . . . . . . . . . . 18 6. DKIM Service Architecture . . . . . . . . . . . . . . . . . . 19 7. Implementation Considerations . . . . . . . . . . . . . . . .28 6.1.21 7.1. Development . . . . . . . . . . . . . . . . . . . . . . .28 6.2. Deployment21 7.2. Filtering . . . . . . . . . . . . . . . . . . . . . . . .29 6.3. Operations24 7.3. DNS Server . . . . . . . . . . . . . . . . . . . . . . . 24 7.4. Accreditation service .29 7. Outline Future Extensions. . . . . . . . . . . . . . . . . 24 8. Deployment .30 7.1. Introducing a new signing algorithm. . . . . . . . . . .31 7.2. Possible future signature algorithm choices. . . . . . .31 7.3. Transition strategy. . . . . . . 24 8.1. Signing . . . . . . . . . . . .32 7.4. Linkage to Other PKIs. . . . . . . . . . . . . 24 8.2. Verifying . . . . .33 7.5. Trusted Third Party Assertions. . . . . . . . . . . . . .34 7.6. Linkage to X.509 Certificates. . . . . 26 8.3. Transition strategy . . . . . . . . .35 7.7. XKMS. . . . . . . . . . 27 9. Operations . . . . . . . . . . . . . . . . .35 7.8. Verification in the Client. . . . . . . . . 28 9.1. DNS Signature Record Deployment Considerations . . . . . 28 10. Outline Future Extensions . .36 7.9. Per user signature. . . . . . . . . . . . . . . . 31 10.1. Introducing a new signing algorithm . . . .37 7.10. Encryption. . . . . . . 32 10.2. Possible future signature algorithm choices . . . . . . . 32 10.3. Linkage to Other PKIs . . . . . . . . . .37 7.11. Reuse of Key Record. . . . . . . . 33 10.4. Trusted Third Party Assertions . . . . . . . . . . .38 7.12. Use of Policy Record. . 33 10.5. Linkage to X.509 Certificates . . . . . . . . . . . . . . 34 10.6. XKMS . . .38 8. What Needs To Be Moved Here From the Base Doc?. . . . . . . .39 9. Acknowledgements. . . . . . . . . . . . . . . 35 10.7. Verification in the Client . . . . . . . .39 10. Informative References. . . . . . . 36 10.8. Per user signature . . . . . . . . . . . . .39 Authors' Addresses. . . . . . 36 10.9. Encryption . . . . . . . . . . . . . . . . . .41 Intellectual Property and Copyright Statements. . . . . 37 10.10. Reuse of Key Record . . . . .42 1. Introduction 1.1. About This Document This document provides an overview of DomainKeys Identified Mail (DKIM). It provides information for: those who are adopting DKIM; those who are developing DKIM;. . . . . . . . . . . . . . 37 10.11. Use of Policy Record . . . . . . . . . . . . . . . . . . 38 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 38 12. { Misc Text -- Should go elsewhere, if used at all } . . . . . 38 12.1. What Needs To Be Moved Here From the Base Doc? . . . . . 39 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39 13.1. References -- Normative . . . . . . . . . . . . . . . . . 39 13.2. Informative References . . . . . . . . . . . . . . . . . 40 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 40 Intellectual Property and Copyright Statements . . . . . . . . . . 41 1. Introduction This document provides an overview of DomainKeys Identified Mail (DKIM). It is intended for those who are adopting, developing, or deployingDKIM; andDKIM. It also will be helpful for those who are considering extending DKIM, either into other areas or toprovidesupport additional features. ThisdocumentOverview does not provide information on threats to DKIM or email, or details on theimplementation. Such informationprotocol specifics, which can be found inother RFC documents.[I-D.ietf-dkim-base] [I-D.ietf-dkim- threats] Nor does this[I-D.ietf-dkim-base] and [I-D.ietf-dkim-threats], respectively. The documentdescribe how to solve theassumes a background in basic network security technology and services. NOTE: 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.[ NOTE:DKIM creates one, basic tool in what needs to be anumberlarge arsenal ofsections in this document are just placeholderstools, fornow ] 1.2. A Quick Overviewimproving the safety of Internet mail. However by itself, DKIM1.2.1. Axiom: Ubiquitous AuthenticationisGood DKIM builds on previous work innot sufficient to that task and this Overview does not pursue theform of Domain Keys, Identified Internet Mail, Authenticated Sender, Meta-Mail, etc. The starting point for allissues of integrating DKIM into thesetechnologies, and now DKIM, is the belief that authenticating emaillarger efforts. Rather, it is agood thingbasic introduction todo inthe technology and its deployment. NOTE: A number ofitself. It hassections in this document are just placeholders, for now. There have beenpointed out that it is unlikely that RFC 822 [RFC0822] would pass today without some form of strong authentication mechanism. DKIM provides such a strong authentication mechanism. The ultimate goal of DKIM is to achieve a situation wherefour other efforts at standardizing an emailauthentication is ubiquitoussignature scheme: o Privacy Enhanced Mail (PEM) was first published in 1987 [RFC0989] andthe unsigned email becomes the exception the rule,eventually transformed into MIME Object Security Services in 1995 [RFC1848]. Today, they are only of historical interest. o Pretty Good Privacy (PGP) was developed by Phil Zimmerman and first released in 1991.[RFC1991] A later version was standardized asis the case today. Only whenOpenPGP. [RFC3156] o RSA Security, themajorityholder ofInternet email is authenticated is it possible to make interesting conclusions aboutthelack of authentication. It follows then that a new message signature scheme is requiredpatent rights tomeetthegoalprinciple public key cryptography algorithm, independently developed Secure MIME (S/MIME) to transport a PKCS #7 data object. [RFC3851] Development ofubiquitous authentication. In each of the above- mentioned proposals, several design elements are shared: o The signature is carriedS/MIME and OpenPGP has continued. While both have achieved a significant user base neither has achieved ubiquity inthe message headerdeployment or use anddoes not affecttheir goals differ from those of DKIM. In principle themessage body. o The signature may include certain headers. o There is a policy mechanism, either explicitS/MIME protocol can support semantics such as domain level signatures orimplicit, that tells receivers when to expect a signature. o Keys are self-created (it is not necessary to buy a certificate). o Keys aremake use of keys stored in theDNS (it isDNS. However the currently deployed base does notnecessaryand modifying it todeploy a separate key server). The remarkable similarity of these architectural proposals strongly suggests that this architecture should be the basis for ubiquitous authentication. DKIM was produced by merging the twodo so would require extensive effort. Unlike all four previousproposals of DomainKeys and Identified Internet Mail. Significant enhancements were then made from that base. The approach taken byIETF email security initiatives, DKIMdiffers from previous approaches to message signing in that: o the message signature is written asemploys amessage header field sokey centric Public Key Infrastructure (PKI) as opposed to one thatneither human recipients nor existing MUA (Mail User Agent) software are confused by signature-related content appearing in the message body, o thereisno dependencybased onpublic and private key pairs being issued by well-known, trusteda certificateauthorities, o there is no dependency onin thedeploymentstyle ofany new Internet protocols or services for public key distributionKohnfelder (X.509) orrevocation, o it makes no attempt to include encryption as partZimmerman (web of trust). That is, themechanism. 1.2.2. What isowner of a key asserts its validity, rather than relying on having a broader semantic implication of thepurposeassertion, such as a quality assessment ofDKIM?the key's owner/. DKIMletstreats quality assessment as anorganization take responsibility forindependent, value-added service, beyond the initial work of deploying amessage. The organization taking responsibility isvalidating signature service. NOTE: It would be useful to include ahandlercitation to a general discussion about PKI issues, including their long history of difficulties with respect to themessage, either as its originator or as an intermediary. Their reputationInternet. Further, DKIM's PKI isthe basis for evaluating whethersupported as additional information records totrustthemessage for delivery. The ownerexisting Domain Name Service, rather than requiring deployment ofthe domain name being used fora new query infrastructure. This approach also has significant performance advantages as DNS is layers on UDP and key retrieval is typically achieved in a single round trip. 2. The DKIMsignatureValue Proposition Spam can be understood as two separate problems. The first isdeclaringthe problem of the companies thattheyareaccountable for the message.inappropriately aggressive, in sending out unsolicited marketing email. Thismeans that their reputationaccounts for, perhaps, 5% of the spam volume and isat stake. By design, DKIM purposely: oin any case usually handled by existing spam filters. The second problem iscompatible withrogue spam -- often involving criminal activities -- mostly sent from coerced botnets of compromised machines. For this latter set of mail, theexistingorigins of a message are often falsely stated. Even without the addition of independent accreditation services, DKIM allows pair-wise sets of (possibly large) emailinfrastructureproviders andtransparentspam filtering companies to distinguish mail that is associated with a known organization, from mail that might deceptively purport to have thefullest extent possible o requires minimal new infrastructure o can be implemented independently of clientsaffiliation. This inorder to reduce deployment time o does not requireturn allows theusedevelopment oftrusted third parties (e.g., certificate authorities) which might impose significant costs or introduce delays'whitelist' schemes whereby authenticated mail from a known source with good reputation is allowed todeployment o can be deployed incrementally o allows delegationbypass spam filters. In effect the email receiver is using their set ofsigningknown relationships tothird parties o is not intended be usedgenerate their own accreditation/reputation data. This works particularly well forarchival purposes DKIM authentication provides one link intraffic 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 achainstable set ofresponsibility, hopefully leadingorganizations. NOTE: Perhaps add some citations tobetter accountability bydetailed discussions about spam and phishing and thesenders. 1.2.3. What does DKIM do?role of authentication and accreditation in fighting them? DKIMdefines a mechanism by which email messages can be cryptographically signed, permittingused in conjunction with asigning domainreal-time blacklist allows phishing emails toclaim responsibility for the introductionbe preemptively blocked. The value of amessage intocousin domain, that could be mistaken for themail stream. The responsible organization adds a digital signature tolegitimate domain, is significantly reduced if themessage, associating it with a domain namenumber of emails thatorganization. Typically, signing willcan bedone by ansuccessfully 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 serviceagent within the authority of the message originator's Administrative Management Domain (ADMD). (Signing might be performedcan enforce a basic separation between domains used byany of the functional components in that environment, includingsuch known organizations and domains used by others. Receivers who successfully validate aMail User Agent (MUA),signature can use information about the signer as part of aMail Submission Agent (MSA),program to limit spam, spoofing, phishing, oran Internet Boundary MTA.other undesirable behavior, although the DKIMalso permits signing to be performedspecification itself does not prescribe any specific actions byauthorized third-parties.) 1.2.4. Who validatesthesignature? Afterrecipient. 3. DKIM's Goals DKIM lets an organization take responsibility for amessage has been signed, any agent inmessage. The organization taking responsibility typically is a handler of themessage transit pathmessage, either as its originator or as an intermediary. It canchoosealso be an independent service, providing assistance tovalidate the signature. Message recipients can verifya handler of thesignature by queryingmessage. Their reputation is thesigner's domain directlybasis for evaluating whether toretrieve the appropriate public key, and thereby confirm thattrust the messagewas attested to by a party in possession of the private keyforthe signing domain. Typically, validation will be done by an agent in the ADMDdelivery. The owner of themessage recipient. Again, this may be done by any functional component withindomain name being used for a DKIM signature is declaring thatenvironment. (Notably thisthey are accountable for the message. This means that their reputation is at stake. By design, DKIM purposely: o is compatible with thesignatureexisting email infrastructure and transparent to the fullest extent possible o requires minimal new infrastructure o can beused by the recipient ADMD's filtering software, rather than requiring the recipient end-userimplemented independently of clients in order tomake an assessment.) 1.2.5. What does DKIM *not* do? DKIM does not:reduce deployment time ooffer any assertions aboutdoes not require thebehaviorsuse ofthe identity doing the signing. o prescribe any specific actions for receiverstrusted third parties (e.g., certificate authorities) which might impose significant costs or introduce delays totake upon successful (or unsuccessful) signature validation. o provide protection after message delivery.deployment oprotect against re-sending (replay of) a message that already has a valid signature; therefore a transit intermediary or a recipientcanre-post the messagebe deployed incrementally o allows delegation of signing to third parties o is not intended be used for archival purposes DKIM authentication provides one link insuchaway that the signature would remain valid, although the new recipient(s) would not have been specifiedchain of responsibility, hopefully leading to better accountability by theoriginator. 1.3. Outline Potential DKIM Applications TBD 2. DKIM Within Existing Internet Email 2.1. Review of Internet Mail Service Architecture Internet Mail has a simple split betweensenders. 3.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, at least warning the userworld, inthat theformmessage was unsigned. In a small number ofMail User Agents (MUA), andcases thetransmission world, inapplication went even further 'warning' theform ofuser whenever a signed message was received. This approach has proved problematic. Hence for DKIM, theMail Handling Service (MHS) composed of Mail Transfer Agents (MTA). The MHSguidance isresponsible for acceptingthat an email signature verifier is to treat messages with signatures that fail as if they were unsigned. It is highly unlikely that an attacker is going to add amessage from one User and delivering itdigital signature toone or more others, creatingavirtual MUA-to- MUA exchange environment. The first MTA is called the Mail Submission Agent (MSA) andmessage unless doing so causes thefinal MTA is called the Mail Delivery Agent (MDA) +--------+ +---------------->| 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. 2.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). 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 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. This might be subsumed under the 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: 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. 2.1.2. Field Referencing Convention 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 <RFC2822.From> is the From field in an email content header and <RFC2821.MailFrom> is the address in the SMTP "Mail From" command. DKIM associates a "responsible" identity with a message and provides a means of verifying that the association is legitimate. Deciding which ADMD shall perform signing or verifying, which identity to assign and which functional components to use for DKIM processing depend upon the nature of the trust/reputation that is of interest and the most convenient or efficient way to use it. 2.2. Where to Place DKIM Functions Messages may be signed or verified by any functional component within an ADMD, as that domain wishes to arrange, such as: 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. 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 outermost portion of the MHS, true end-to-end service is provided, requiring the smallest amount of trust on the rest of the infrastructure. By signing or verifying at a boundary, the smallest number of systems need modifying and the signature is subject to the smallest amount of handling that can break the signature. The choice of identitymessage touse might notbeobvious. Examples include: Author The domain associated with the RFC2822.From field provides basic authorization for the author to generate mail. Because the organization controllingtreated more favorably than an unsigned one. Any messages thatdomain is closestcarry signatures that fail verification are thus much more likely tothe author, they well mightbein the best position to offer their reputation asabasis for assertinggenuine message that has been damaged in transit than an attempted forgery. It makes no sense to warn thecontentrecipient unless it is"safe". Operator Email reputation services have long-usedknown that theIP Address ofsender always signs email messages and that there is aclient SMTP server as the basis for assessing whether to permit relay or delivery ofhigh probability that amessage. These Addresses identifyforgery would be attempted. 3.2. Domain-level assurance PGP and S/MIME apply theoperatorend-to-end principle in terms ofanindividual originators and recipients, notably using full emailservice, rather than necessarily indicatingaddresses. DKIM seeks accountability at theauthor of messages being sent by that service. Usemore coarse grain of anoperator's domain name isorganization or, perhaps, anatural extension ofdepartment. A deployed construct that enables thismodel. Third-party An independent service might wishgranularity is the domain name, tocertify an author, a message or an operator, by providingwhich the signing key record is bound. 3.3. Incremental adoption DKIM can immediately provide benefit between any two organizations that exchange email and implement DKIM. In the usual manner of "network effects", the benefits of DKIM increase dramatically as itsown signatureadoption increases. 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. 3.4. Minimal infrastructure DKIM can be implemented at amessage. Hence, evaluationvariety of places within an organization's email service. This permits themessage willorganization to choose how much or how little they want DKIM to bebased upon the identitypart ofthat third-party,their infrastructure, rather thananypart of a more localized operation. Similarly, DKIM's reliance on theidentities involved in creation or transferDomain Name Service greatly reduces the amount of new administrative infrastructure that must be deployed over themessage. Indeed, this model is already emerging among a numberopen Internet. Even with use ofreputation-vetting services andthe DNS, one challenge issimilarthat it is usually operated by different administrative staff than those who operate an organization's email service. In order tothe way a credit card permitsensure that DKIM DNS records are accurate, this imposes acustomer to make purchases, based uponrequirement for careful coordination between thereputation oftwo operations groups. 3.5. Transparent signature S/MIME and PGP are both modify thecredit card company --message body. Hence, their presence is visible to all email recipients andits willingnesstheir user software must be able toissue the card. Ultimately,process thechoice of componentassociated constructs. In order to facilitate incremental adoption, DKIM is designed to be transparent forsigning will depend upon both therecipients that do not support it. 3.6. Security policy DKIM is pursuing an incremental innovation, over basic identitybeing used andauthentication, through thetradeoff between flexibilitypublication ofuses, versus administrative and operational control. The choicesecurity policies associated with one or ofcomponent for verification will depend upontheintended use and similar concerns about flexibility and control. A typical choiceidentities presented in a message. For example, a valid DKIM signature allows the signing party to assert responsibility forreputation-related verification will bea message . For a recipient toplace the signature verification function "close"interpret an unsigned message it is necessary tothe message-filtering engine. 2.3. Impact on Email Activities 2.3.1. Resources Although the cryptographic authentication are consideredknow whether it should expect a message from that source to becomputationally expensive,signed and if so thereal impact ofsignature characteristics to expect. It would, therefore, be helpful for amechanism, like DKIM, is remarkably small. Direct impact on CPU-load has been measuredpotential signer to be10-15%. Usually, emailable to publish whether they sign all of their message. Once this isi/o-intensive,published, recipients can choose to handle the receipt of unsigned messages withunused computational capacity. So,added caution. 4. A Quick Overview of DKIM DKIM has a very constrained set of capabilities, primarily targeting email while it islikely that no new hardware willin transit, from an originator to one or more recipients. DKIM defines a mechanism by which email messages can berequired. 2.3.2. Operations Administrative costcryptographically signed, permitting a signing domain todeploy, versus expected reduction inclaim responsibility for thecostpresence ofadministration for problem email. Challengea message in the mail stream. A responsible organization adds a digital signature to the message, associating it with a domain name ofmobile users. Server-resident folders -- web or imap -- no problem. Laptop-resident folders, requires remote MSA access or per-user keying and mobile-author awareness. Key creation and replacement. Update DNS andthat organization. Typically, signingcomponent 2.3.3. Users Challenge of mobile users. Server-resident folders -- web or imap -- no problem. Laptop-resident folders, requires remote MSA access or per-user keying and mobile-author awareness. Challengewill be done by a service agent within the authority ofmailing lists. Different list styles warrant different signature policies. Canthe message originator's Administrative Management Domain (ADMD). (Signing might behidden from end-user; usedperformed byfilter engine. Method and benefits for displaying to users unknown. 2.4. Migrating from DomainKeys 2.4.1. Signing 2.4.1.1. DNS Records DKIM is upward compatible with existing DomainKeys (DK) DNS records, soany of the functional components in that environment, including a Mail User Agent (MUA), a Mail Submission Agent (MSA), or an Internet Boundary MTA. DKIMmodule does not automatically require additional DNS administration!also permits signing to be performed by authorized third-parties.) 4.1. What is a DKIMhas enhancedsignature? A signature covers theDK DNS key record, to permitmessage body and selected header fields. The signer computes a hash of theadditionselected header fields and another hash ofseveralthe body. They then use a private key to cryptographically encode this information, along with other signing parameters.2.4.1.2. Signing Module DKIM usesThe signature information is placed into adifferent RFC2822 [RFC2822]new header fieldfor storingof thesignature, inRFC2822 [RFC2822] message. 4.2. The Selector construct In order todistinguish it from DK. DKIM includes languageallow a domain name tomake it clear whichsupport multiple, simultaneous keys, a particularheader field is signed, if theresignature ismore than oneidentified by the combination of the domain name and an added field, called the "selector". Both of these are coded into the DKIM-Signature headerfieldfield. 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 agiven name inportion of themessage. DKIM allows some values that were scalars in DomainKeysnamespace 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 becolon- separated arrays. For example,based on thelist of query methods used to find a key anddomain name, rather than include the"t=" tags (originally testing, now flags). DKIMselector. This permitscopyingtheoriginal version of headers fields and their values,selector toaid in diagnosing signatures that do not survive transit. DKIM hasbe used only for key administration, rather than having an effect on reputation assessment. 4.3. Who validates theability to limit keys to hash algorithms specified insignature? After alist,message has been signed, any agent in theDNS record. DKIM allows body length limits, to permit signatures, to survivemessage transitthrough some intermediaries, such as some mailing list agents that add textpath can choose to validate theendsignature. Validation of themessage. 2.4.1.3. Boundary MTA Enforce signature policies and practises 2.4.2. Verifying 2.4.2.1. DNS Client 2.4.2.2. Verifying module See "Signing Module". 2.4.2.3. Boundary MTA Strip "local" signaturessignature, by a later agent in the path, demonstrates thatare not local? 2.5. { Misc Text -- Should go elsewhere, if used at all } DKIM permitsthe signing identityto be different from the identities usedtook responsibility for theauthor ormessage Message recipients can verify theinitial posting agent. This is essential, for example, to enable support of signingsignature byauthorized third- parties,querying the signer's domain directly to retrieve the appropriate public key, and thereby confirm that the message was attested topermit signaturesbyemail providers who are otherwise independenta party in possession of thedomain nameprivate key for the signing domain. Typically, validation will be done by an agent in the ADMD of themessage author.message recipient. Again, this may be done by any functional component within that environment. (Notably this means that the signature can be used by the recipient ADMD's filtering software, rather than requiring the recipient end- user to make an assessment.) 4.4. What does DKIMpermits restrictingNOT do? DKIM does not: o offer any assertions about theuse of a signature key to particular typesbehaviors ofservices, such as onlythe identity doing the signing. o prescribe any specific actions foremail. This is helpful when delegating signing authority, such asreceivers to take upon successful (or unsuccessful) signature validation. o provide protection after message delivery. o protect against re-sending (replay of) aparticular departmentmessage that already has a valid signature; therefore a transit intermediary ortoathird-party outsourcing service. With DKIM the signer MUST explicitly listrecipient can re-post theheadersmessage in such a way thatare signed. This is an improvement because it requiresthesigner to usesignature would remain valid, although themore conservative (likely to verify correctly) mechanism and makes it considerably more robust againstnew recipient(s) would not have been specified by thehandling of intermediary MTAs.originator. 4.5. Does DKIMself-signs the DKIM-Signature header field,eliminate anonymity for email? The ability toprotect againstsend a message that does not identify itsbeing modified. In orderauthor is considered tosurvive the vagariesbe a valuable quality ofdifferentthe current emailtransfer systems, mechanisms likesystem. It turns out that DKIMmust evaluate the message data in some canonical form, such as treatingis particularly helpful to this goal, because astringDKIM 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 ofspaces as tabs asthe user, ifthey wereit is still possible to obtain effectively anonymous accounts at example.com and other web mail providers. 4.6. Outline potential DKIM applications TBD 4.7. What is asingle space.DKIMhas added the "relaxed" canonicalization in place of "nofws". 3.policy? TBD 5. DKIM Within Existing Internet Email3.1.5.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 others, 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) +--------+ +---------------->| User | | +--------+ | ^ +--------+ | +--------+ . | User +--+--------->| User | . +--------+ | +--------+ . . | ^ . . | +--------+ . . . +-->| User | . . . +--------+ . . . ^ . . . . . . V . . . +---+----------------+------+------+---+ | . . . . | | +...............>+ . . | | . . . | |+--------------->+ | | | | | | | | | +---------------------->+ | | |+......................>+ . | | . . | |+----------------------------->++.............................>+ | | | | Mail Handling Service (MHS) | +--------------------------------------+ Figure3: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.3.1.1.5.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 activities within the ADMD, versus those involving interactions with other ADMDs. Basic components of ADMD distinction include:Edge:Edge -- Independent transfer services, in networks at the edge of the Internet Mail service.User:User -- End-user services. These might be subsumed under an Edge service, such as is common for web-based email access.Transit: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-+---+ | | +---------+ Figure4: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: Enterprise ServiceProviders:Providers -- Operating an organization's internal data and/or mail services. Internet ServiceProviders: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 ServiceProviders:Providers -- Operating email services, such as for end-users, or mailing lists.3.1.2.5.1.2. Field Referencing Convention 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 <RFC2822.From> is the From field in an email content header and <RFC2821.MailFrom> [RFC2821] is the address in the SMTP "Mail From" command. 5.2. Where to Place DKIM Functions DKIM associates a "responsible" identity with a message and provides a means of verifying that the association is legitimate.The choices of whatDeciding which ADMDto haveshall perform signing or verifying, which identity to assign and which functional components to use for DKIM processing depend upon the nature of the trust/reputation that is of interest and the most convenient or efficient way to use it.3.2. Where to Place DKIM FunctionsMessages may be signed or verified by any functional component within an ADMD, as that domain wishes toarrange, such as: Outbound:arrange. Examples include: Outbound -- MUA, MSA or boundary MTA.Inbound: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 havingandan MHS component do signing or verifying, there is no dependence upon user training or the upgrade of potentially large numbers of user applications.PerhapsFor 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: 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 themost obvious choices withinbest position to offer their reputation as a basis for asserting that theMHS arecontent is "safe". Operator -- Email recipient services have long-used theMSA or MDA, andIP Address of a client SMTP server as theoutbound or inbound (boundary) MTA. By signingbasis for assessing whether to permit relay orverifying atdelivery of a message. These Addresses identify theoutermost portionoperator of an email service, rather than necessarily indicating theMHS, true end-to-end serviceauthor of messages being sent by that service. Use of an operator's domain name isprovided, requiring the smallest amounta natural extension oftrust onthis 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 therestidentity of that third-party, rather than any of theinfrastructure. By signingidentities involved in creating orverifying at a boundary,transferring thesmallestmessage. Indeed, this model is already emerging among a number ofsystems need modifyingreputation-vetting services andthe signatureissubjectsimilar to thesmallest amountway a credit card permits a customer to make purchases, based upon the reputation ofhandling that can breakthesignature.credit card company -- and its willingness to issue the card. Ultimately, deciding where to sign a messageis likelywill 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" todepend upon a combination oftheidentity being used, and tradeoffs between flexibility, control, and administrative ease. 3.3.message-filtering engine. 5.3. Impact on Email Activities3.3.1.5.3.1. Resources Althoughthecryptographic authenticationareis considered to be computationally expensive, the real impact of amechanism,mechanism likeDKIM,DKIM is remarkably small. Direct impact on CPU-load has been measured to be 10-15%.Usually, email isMail handling tends to be, i/o-intensive,withso that dedicated email platforms tend to have unused computational capacity.So, itIt is therefore likely that no new hardware will berequired. 3.3.2. Operations Administrative cost to deploy, versus expected reduction in the cost of administration for problem email. Challenge of mobile users. Server-resident folders -- web or imap -- no problem. Laptop-resident folders, requires remote MSA access or per-user keying and mobile-author awareness. Key creation and replacement. Update DNS and signing component 3.3.3. Users Challenge of mobile users. Server-resident folders -- web or imap -- no problem. Laptop-resident folders, requires remote MSA access or per-user keying and mobile-author awareness. Challenge of mailing lists. Different list styles warrant different signature policies. Can be hidden from end-user; used by filter engine. Method and benefits for displaying to users unknown. 3.4. Migrating from DomainKeys 3.4.1. Signing 3.4.1.1. DNS Records DKIM is upward compatible with existing DomainKeys (DK) DNS records, so that a DKIM module does not automatically require additional DNS administration! DKIM has enhanced the DK DNS key record, to permit the addition of several parameters. 3.4.1.2. Signing Module DKIM uses a different RFC2822 [RFC2822] header fieldrequired forstoring the signature, in order to distinguish it from DK. DKIM includes language to make it clear which particular header field is signed, if there is more than one header field of a given name in the message. DKIM allows some values that were scalars in DomainKeysthese systems to becolon- separated arrays. For example, the list of query methods usedable tofind a key and the "t=" tags (originally testing, now flags).add DKIMpermits copying the original version of headers fields and their values,support. 5.3.2. Operations The costs toaid in diagnosing signatures that do not survive transit.deploy, administer and operate DKIMhasvary greatly, depending upon theability to limit keys to hash algorithms specified in a list, inplacement of DKIM-related modules. The greatest flexibility comes from placing theDNS record. DKIM allows body length limits, to permit signatures, to survive transit through some intermediaries, suchmodules assome mailing list agents that add textclose as possible to the endofuser. However this also imposes themessage. 3.4.1.3. Boundary MTA Enforce signature policies and practises 3.4.2. Verifying 3.4.2.1. DNS Client 3.4.2.2. Verifying module See "Signing Module". 3.4.2.3.greatest costs. The most common scenarios are likely to be: Boundary MTAStrip "local" signatures that are not local? 3.5. { Misc Text--Should go elsewhere, if used at all }Here, DKIMpermits the signing identity to be different from the identitiesis used only for email external to theauthor or the initial posting agent. ThisADMD. Administration and operation isessential,the simplest, but could cause problems forexample, to enable support of signing by authorized third- parties, and to permit signatures by email providersmobile users who areotherwiseassociated 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 thedomain nameADMD.. MSA/MDA (Department) -- Placing DKIM support at the points of submission and delivery increases themessage author. DKIM permits restrictingdeployment costs but still keeps control within theuseADMD's operational staff. It avoids the considerable, added costs ofa signature keyhaving toparticular typesenhance all ofservices, such as only for email.the MUAs. Thisis helpful when delegating signing authority, such as to a particular department or to a third-party outsourcing service. With DKIMdoes not improve the lot of mobile users who submit from independent MSAs but does provide full protection within thesigner MUST explicitly listADMD. MUA -- Obviously this can provide theheaders that are signed. This is an improvement because it requiresmost complete protection, but at thesignercost of considerable added administrative effort. Worse, there is extensive evidence that email infrastructure services often perform changes tousemessage content that can break a message signature. Examples include transformation by themore conservative (likelyMSA toverify correctly) mechanism and makes it considerably more robust againstensure that thehandlingmessage is in full conformance with Internet standards and transformation by Boundary MTAs, to ensure conformance with organizational policies about external communications. In spite ofintermediary MTAs.these concerns, placing DKIMself-signssupport into theDKIM-Signature header field,MUA is the only way toprotect againstensure that a highly mobile user retains itsbeing modified. In orderbenefits, in spite of having tosurvive the vagariessend mail through independent MSAs. Challenge of mobile users. Server-resident folders -- web or imap -- no problem. Laptop-resident folders, requires remote MSA access or per-user keying and mobile-author awareness. Key creation and replacement. Update DNS and signing component 5.3.3. Users Challenge of mobile users. Server-resident folders -- web or imap -- no problem. Laptop-resident folders, requires remote MSA access or per-user keying and mobile-author awareness. Challenge of mailing lists. Different list styles warrant differentemail transfer systems, mechanisms likesignature policies. Can be hidden from end-user; used by filter engine. Method and benefits for displaying to users unknown. 5.4. Migrating from DomainKeys 5.4.1. Signing DNS Records: DKIMmust evaluate the message data in some canonical form, such as treating a string of spaces as tabs as if they wereis upward compatible with existing DomainKeys (DK) DNS records, so that asingle space.DKIM module does not automatically require additional DNS administration! DKIM hasaddedenhanced the"relaxed" canonicalization in placeDK DNS key record, to permit the addition of"nofws". 4.several parameters. Boundary MTA: Enforce signature policies and practices > 5.4.2. Verifying DNS Client: TBD Verifying module: See "Signing Module". 5.4.3. Boundary MTA Strip "local" signatures that are not local? 6. DKIM 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, such as for key retrieval, although the basic DKIM operation provides an initial set. | | - RFC2822 Message V +---------------------------------------------+ +-----------+ | ORIGINATING OR RELAYING ADMD | | | | ============================ | | Signer | | | |PractisesPractices +......>| SIGN MESSAGE | | | | ...> ADD A SIGNATURE HEADER FIELD | +-----+-----+ .....>| . GET (Domain, Selector, Priv-Key) | . . | ... COMPUTE SIGNATURE | . V +----------------+----------------------------+ . +-------+ | - Message . | | | 1*(Domain, Selector, . | Key | | Sig) . | Store | [Internet] . | | | . +---+---+ V . . +---------------------------------------------+ . . | RELAYING OR DELIVERING ADMD | . . | =========================== | . . | | . . | VERIFY MESSAGE (VerifierPractises)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 5: DKIM Service Architecture Basic message process divides between signing the message, validating the signature, and the performing further decision-making based upon the validated signature. The component doing the signing applies whatever signing policies are in force, including ones that determine what private key to use. Validation may be performed by any functional component along the relay and delivery path. The public key is retrieved, based upon the parameters strored in the message. The example shows use of the validated identity for assessing an associated reputation. However it could be applied for other tasks, such as management tracking of mail. 5. Relationship to previous Message Signature Technologies DKIM is the fifth IETF proposal for an email signature scheme. The first RFC describing Privacy Enhanced Mail (PEM) was published in 1987 [RFC0989]. The PEM scheme went through a number of revisions and eventually transformed into MIME Object Security Services in 1995 [RFC1848]. Neither PEM nor MOSS ever achieved significant deployment. PEM relied on the prior deployment of an extensive PKI predicated on a rigid hierarchy of Certificate Authorities. By the time it was understood that this infrastructure assumption was unrealistic the opportunity to deploy PEM had closed. Pretty Good Privacy (PGP) was developed by Phil Zimmerman and released in 1991 and quickly established a significant support base within the security community. This support base was driven by two principal factors: superior ease of deployment and an aggressive marketing campaign assisted byFigure 3: DKIM Service Architecture Basic message processing divides between signing theU.S. government. A working group was formed withinmessage, validating theIETF to continue development ofsignature, and then performing further decision-making based upon thePGP protocol as OpenPGP beginning with publication ofvalidated signature. The component doing theoriginal protocol as an informational RFCsigning applies whatever signing policies are in1996 [RFC1991]. At the same time RSA Security, the holder of the patent rightsforce, including ones that determine what private key to use. Validation may be performed by any functional component along theprinciplerelay and delivery path. The public keycryptography algorithm independently developed Secure MIME (S/MIME) which employedis retrieved, based upon therecently developed MIME format to transport a PKCS #7 data object. S/MIME was particularly attractive for software developers who had already implemented SSL as muchparameters stored in the message. The example shows use of thecode required to supportvalidated identity for assessing an associated reputation. However it could bereused.applied for other tasks, such as management tracking of mail. 7. Implementation Considerations 7.1. Development 7.1.1. Coding Criteria for Cryptographic Applications Correct implementation ofS/MIME and OpenPGP has continued in the IETF since. While both have achievedasignificant user base neither has achieved ubiquity. In particular itcryptographic algorithm isnotable that onlyasmall percentagenecessary but not a sufficient condition for coding ofmessages on the IETF mailing lists concerned withcryptographic applications. Coding of cryptographic libraries requires close attention to security considerations that aresigned. 5.1. Transparent Signature The core goalsunique 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 ofDKIM requirecryptographic private keys and session keys, ensuring thatuse of message signatures becomes ubiquitous. For thisthese are correctly initialized and disposed of. Operating system mechanisms that permit the confidentiality of private keys to bepossible it mustprotected against other processes SHOULD bepossibleused when available. In particular, great care MUST be taken when releasing memory pages toapply a signaturethe operating system toany message in any circumstance with a negligible chanceensure that private key information is not disclosed to other processes. On multiple processor and dual core architectures, certain implementations ofcausingpublic key algorithms such as RSA may be vulnerable to anegative user experiencetiming analysis attack. Support forany recipient regardless of the legacy email client used. Experiences from S/MIME and PGP deploymentcryptographic hardware providing key management capabilities is stronglyindicate that this usability goal can only be met if theencouraged. In addition to offering performance benefits, many cryptographic hardware devices provide robust and verifiable management ofthe signature leaves the message body unchanged. S/MIMEprivate keys. Fortunately appropriately designed andPGPcoded cryptographic libraries areboth designed to achieve the highest levelavailable for most operating system platforms under license terms compatible with commercial, open source and free software license terms. Use ofsecurity possible. The senderstandard cryptographic libraries is strongly encouraged. These have been extensively tested, reduce development time and support a wide range of cryptographic hardware. 7.1.1.1. Signer Signer implementations SHOULD provide amessage is assured that the confidentiality and/or integrityconvenient means ofthe message are protected from the originating end point machinegenerating DNS key records corresponding to thedestination end point. Achieving this levelsigner configuration. Support for automatic insertion ofsecurity naturally places requirements on bothkey records into thesender andDNS is also highly desirable. If supported however such mechanism(s) MUST be properly authenticated. Means of verifying that the signer configuration is compatible with thereceiver. Support for bothsignatureand encryption causespolicy is also highly desirable. Disclosure of asubtle but important architectural assumption to be introduced. Althoughprivate signatureand encryption are complimentary from a cryptographic point of view their effect is entirely different fromkey component to amessaging protocol pointthird party allows that third party to impersonate the sender. Protection ofview. A digitalprivate signature key data ismeta-datatherefore a critical concern. Signers SHOULD support use of cryptographic hardware providinginformation aboutkey management features. The import and export of private keys, and themessage contents. Encryption isability to generate atransformation ofCSR for certificate registration are highly desirable. 7.1.1.2. Verifier Verifiers SHOULD treat themessage content (and possibly related meta-data). The recipientresult of the verification step as anencrypted emailinput to the messagemustevaluation process rather than as providing amatter of course havefinal decision. The knowledge that aspecially adapted email client capablemessage is authentically sent by a domain does not say much about the legitimacy ofdecryptingthemessage. Adding a signature tomessage unless the characteristics of the domain claiming responsibility are known. In particular, verifiers SHOULD NOT automatically assume that a email message that does notin principle createcontain arequirement for the recipient to havesignature or which contains aspecially adapted client provided thesignature that does not validate isadded inforged. Verifiers should treat amannersignature that fails to validate as if no signature was present. 7.1.2. Email Handlers 7.1.2.1. Mail User Agent DKIM isignored by legacy clients. Indesigned to support deployment and use in email components other than an MUA. However an MUA may also however implement DKIM features directly. Outbound: If an MUA is configured to send email directly, rather than relayed through an outbound MTA, thecase ofMUA SHOULD be considered as if it were anS/MIME signatureoutbound MTA for therecipientpurposes of DKIM. An MUA MAY support signing even if mail isat a minimum expectedtohave a client capable of decoding the MIME multipart/ security format.be relayed through an outbound MTA. Inpracticethismeans thatcase therecipient must support S/MIME. OpenPGP allowssignature applied by theuseMUA may be in addition to or in place of the MTA signature. Inbound: An MUA MAY rely on a report of a DKIM signatureencapsulationverification thatis not MIME based. This hastook place at some point in theadvantage thatinbound MTA path. An MUA MAY perform DKIM signature verification directly. Such an MUA SHOULD allow for themessage can be read using a standard email client. The disadvantage with this approachcase where mail isthat the application ofmodified in thesignatureinbound MTA path. 7.1.3. Mail Transfer Agent It isvisible toexpected that theuser and thus intrusive. 5.2. Treat verification failure as if unsigned. PGP and S/MIME were both designed to meetmost common venue for ahigh standardDKIM implementation with be a department or a boundary MTA. Outbound: An Outbound MTA should allow for automatic verification ofcryptographic excellence. AtthetimeMTA configuration such that theprotocols were designedMTA can generate an operator alert if itwas generally considereddetermines thatthe correct thing forit is (1) anapplicationedge MTA, (2) configured to send email messages that doinnot comply with thecase of a signature verification failure waspublished DKIM sending policy. An outbound MTA should be aware that users may employ MUAs that add their own signatures and be prepared towarn the usertake steps necessary to ensure that the messagewas unsigned. In a small number of cases the application went even further 'warning' the user whenever a signed message was received. This type of user experience has since been severely deprecated. A user whosent isconstantly bombardedin compliance withwarningthe advertised email sending policy. Inbound: An inbound that does not support DKIM, it should avoid modifying messagesis much less likelyin ways that prevent verification by other MTAs, or MUAs torespond appropriately when an important warningwhich the message may be forwarded. Intermediaries: An email intermediary isreceived. While modern messaging infrastructure is considerably friendlier to the useboth an inbound and outbound MTA. Each ofdigital signatures thanthe requirements outlined in thepast evensections relating to MTAs apply. If the intermediary modifies aresidual failure rate of 1% resultsmessage inunacceptably high support costs when signatures are used ubiquitously. It is now generally accepteda way that breaks thecorrect semantics for an emailsignatureverifier to adopt are to treat messages withthe intermediary it SHOULD * deploy abuse filtering measures on the inbound mail * remove all signatures thatfail as if they are unsigned. It is highly unlikely that an attacker is going to add a digital signature to a message unless doing so causeswill be broken In addition the intermediary MAY: * Verify the message signature prior tobe treated more favorably thanmodification * Incorporate anunsigned one. Any messages that carry signatures that failAuthentication-Results header to report the verificationare thus much more likelyresult. * Sign the modified message including the Authentication-Results header 7.2. Filtering Developers of filtering schemes designed to accept DKIM authentication results as input should bea genuine messageaware thathas been damaged in transit than an attempted forgery. It makes no sensetheir implementations will be subject towarn the recipient unless it is known that the sender always signscounter-attack by emailmessages and that there is a high probability that a forgery would be attempted. 5.3. Legacy Client Semanticsabusers. Thedeployed baseefficacy ofS/MIME is both a benefit andaburden. While the S/MIME protocol is in principle capable of extensionfiltering scheme cannot therefore be determined by reference tosupport many of the features of DKIM,static test vectors alone; resistance to counter attack must also be considered. Naive learning algorithms that only consider thesame is not truepresence or absence ofthe deployed S/MIME base. While the S/MIME protocol cana valid DKIM signature are vulnerable to an attack inprinciple support semantics such as domain level signatureswhich a spammer ormake useother malefactor signs all their mail, thus creating a large negative value for presence ofkeys storeda DKIM signature in theDNS the legacy deployed base does not. The behaviorhope oflegacy clients receiving an S/MIME message dependentdiscouraging widespread use. If heuristic algorithms are employed they should be trained on feature sets that sufficiently reveal thenovel semantics is likely to result in a negative user experience in a significant numberinternal structure ofcases. 5.4. Key Centric PKI Unlike all four previous IETF email security initiatives,the DKIMemploys a key centric, directory based PKI as opposedresponses. In particular the algorithm should consider the domains purporting toa certificate based PKI inclaim responsibility for thestylesignature rather than the existence ofKohnfelder (X.509)a signature orZimmerman (webnot. Unless a scheme can correlate the DKIM signature with accreditation or reputation data, the presence oftrust). While message syntax and PKIa DKIM signature SHOULD be ignored. 7.3. DNS Server TBD 7.4. Accreditation service TBD 8. Deployment This section describes the basic steps for introducing DKIM into an organization's email service operation. The considerations areorthogonal in principle, implementation practice meansdivided between an organization's generating DKIM signatures (Signing) and an organization's processing of messages thatmost S/MIME clientscontain a DKIM signature (Verifying). 8.1. Signing Creating messages that have DKIM signatures requires modification of onlysupport usetwo portions ofkeys contained in X.509/PKIX digital certificates. Although PGP is sometimes held up as an alternative to a certificate based PKI a PGP key signing is in essence a digital certificate by another name. There has since been considerable conversion as X.509 has adoptedthewebemail service: o Addition of relevant DNS information. o Addition oftrust principle undertheterm cross- certification.signature by a trusted module within the organization's email handling service. The signing module uses the appropriate private key, for creating a signature. Thechief distinction betweenmeans by which thePGP and PKIX modelssigning module obtains this key is not specified by DKIM. Given thatin the PGP model every userDKIM isalso (potentially) a trust provider. In PKIX trust providers are distinct from end-entities. The Kohnfelder architecture was originally designed to allowintended for useof public key cryptography before the ubiquitous availability of networking. A particular benefit of the Kohnfelder architectureduring email transit, rather than for long-term storage, it is expected thatAlice can send an encrypted messagekeys will be changed regularly. Clearly this means that key information should not be hard-coded into software. 8.1.1. DNS Records A receiver attempting toBob whenvalidate a DKIM signature must obtain theonly transport availablepublic key that issending floppy disks through the postal system. Another benefit ofassociated with theKohnfelder architecture issignature for thata signedmessage. The DKIM-Signature header in the messagesupported by a digital certificate is self supportingwill specify the basic domain name doing the signing andmaythe selector to beverified years afterused for thefact provided onlyspecific public key. Hence, the relevant <selector>._domainkeys.<domain-name> DNS record needs to contain a DKIM-related RR that provides theCA signingpublic keydoes not become compromised.information. Theprinciple weakness in PKIs based on the Kohnfelder architecture is the difficultyadministrator oflocatingthecorrect digital keyzone containing the relevant domain name adds this information. DNS administrative software varies considerably in its abilities to add new (types of) DNS records. Initial DKIM DNS information is contained within TXT RRs. 8.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 theabsence of a directory infrastructure. This led Brian LaMacchia, then at MITopen Internet. However, note that it is entirely acceptable todevelophave signing and validation be done by MUAs. Hence theMIT PGP key server, in effect returning tochoice among theoriginal public key directory model proposed by Whitt Diffemodules depends upon software development andMarty Hellman. XML Key Management Service (XKMS) realizes the key centric PKI model as a SOAP based Web Service. Inadministrative overhead tradeoffs. One perspective that helps resolve this choice is theXKMS modeldifference between thePKI client makes a requestflexibility of use by systems at, or close to, theform 'provide me withMUA, versus thesigning keycentralized control thatAlice uses with the PGP protocol'. Although DKIM follows the same architectural model as XKMS, DNSisused asmore easily obtained by implementing thetransport layer in place of SOAP over HTTP. The use of DNS significantly reducesmechanism "deeper" into theinfrastructure requirements for DKIMorganization's email infrastructure, such asexisting DNS servers are usedat its boundary MTA. 8.1.3. Signing Policies and Practices Every organization (ADMD) will have its own policies and practices forkey distribution. This approach also has significant performance advantages as DNS is layers on UDPdeciding when to sign messages and with what domain name and keyretrieval is typically achieved in a single round trip. XKMS requires a TCP session to be established(selector). Examples include signing all mail, signing mail from particular email addresses, or signing mail from particular sub- domains. Given this variability, and therequest and response messages are significantly larger. The principle disadvantage of using DNS over XKMS islikelihood thatthe DNS is a network administration resource designed to answer questions about current network configuration. Whilesigning practices will change over time, itis quite possiblewill useful tore-usehave these decisions represented in some sort of configuration information, rather than being more deeply coded into theDNS infrastructure to support queries about past and even future network configurations thissigning software. 8.2. Verifying Verification isnotperformed within an ADMD that wishes to make assessments based upon thecore objective ofdomain name used for a DKIM signature. Any component within theinfrastructure. The DNS is thus unsuited to supporting any use of digital signaturesADMD that handles messages, whether inwhich long term archival is desirabletransit or being delivered, can be appropriate to do thepossibility of repudiation is undesirable. 5.5. Domain Level Assurance As previously mentioned PGP and S/MIME were designed inverifying. It must communicate theheydayresults of verification to another component within thesecurity end-to-end principle. It has since been realizedADMD that performs theend points with respect to trust are notdesired 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 theend pointsBoundary MTA and assessment performed by the MDA. As withrespect tothecommunication protocol. When Alice sends a personal messagesigning process, choice of service venues for verification and assessment -- such as filtering or presentation toBob it is Alice the person, notthemachine Alice happens to be using thatrecipient user -- depend on trade-offs for flexibility, control, and operational ease. An added concern is that thetrue trust end point. When Alice sendslinkage between verification and assessment entails essential trust: The assessment module must have apiece of business correspondence to Bob itstrong basis for believing that the verification information isher employer.correct. 8.2.1. DNS Client Theobjectiveprimary means of publishing DKIM key information, initially, is through DNS TXT records. Some DNS client software might have problems obtaining these records. As DNS client software improves this will not be an concern. 8.2.2. Boundary Enforcement In order for an assessment module toallow partiestrust the information it receives about verification, it is essential toaccept responsibility for messages by signing them. While accepting responsibility ateliminate verification information originating from outside thepersonal level may be desirableADMD insome circumstanceswhich theInternet now has a billion users. Attempting to achieve accountability inassessment mechanism operates. As apopulationmatter ofa billion usersfriendly practice, it isimpractical, particularly when the owner ofequally important to make sure that verification information, from within thedomain example.com hasADMD, not escape out side of it. In most environments, theabilityeasiest way tocreate a practically unlimited number of accounts within that domain at will. The logical unitenforce this stripping ofaccountability for DKIMverification information istherefore the DNS domain nametowhichplace modules in thesigning key record is boundreceiving andnot the individual email user. 5.6. Security Policysending Boundary MTA(s). For incoming mail, check for known means of communicating verification information and remove it. Theinnovation in DKIMsame applies for outgoing mail. 8.3. Transition strategy Deployment of a new signature algorithm without a 'flag day' requires a transition strategy such thathas no precedentsigners and verifiers can phase in support for theprevious email security standards isnew algorithm independently and if necessary phase out support for thepublication of a security policy. The purpose ofold algorithm independently. DKIMis to allowachieves these requirements through two features. First aparty to accept responsibility for an emailsigned message may contain multiple signatures created by the same signer. Secondly the security policy layer allows the signingit. A message withalgorithms in use to be advertised, thus preventing asignaturedowngrade attack. 8.3.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 a new signing algorithm without disruption of service to legacy verifiers istreatedasiffollows: 1. Signer signs with algorithm A A. Signer advertises that itis unsigned. For a recipient to interpret an unsigned messagesigns with algorithm A 2. Signer signs messages twice, first with 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 necessaryto know whether it should expect a message from4. Signer determines thatsourcesupport for algorithm A it to besigned and if so thewithdrawn A. Signer removes advertisement for Algorithm A B. Signer waits for cached copies of earlier signaturecharacteristicspolicy toexpect.expire C. Signer stops signing with Algorithm A 8.3.2. Verifier transition strategy Theintroductionactions ofsecurity policy allows unsigned messagesthe verifier are independent of the signer's actions andmessages that fail signature validationdo not need to besubjected to a higher level of anti-spam filtering or rejected out of handperformed incircumstances where the owner of the purported originating domain suggests. For exampleabank concerned at the possibility of phishing attack might publishparticular sequence. The verifier may make apolicy stating that all legitimate messages from the domain are signed. While the Sender-ID/SPF security policy format allows application to existing formats including PGP and S/MIME the advantagesdecision todeveloping the protocol and security policy in tandem are considerable. It is not practicalcease accepting algorithm A without first deploying support for algorithm B. Similarly a verifier may be upgraded toexpectsupport algorithm B without requiring algorithm B to beable to write a useful sender signing policy for S/MIME or PGP within the constraintswithdrawn. The decisions of the512 byte response message size imposed on the legacy DNS. 6. Implementation Considerations 6.1. Development What software has to change, to use DKIM? 6.1.1. Signerverifier must make are therefore: o Thesigner needs to add code inverifier MAY change theappropriate agent, to perform signing, and they need to modify their DNS administrative tools to permit creationdegree of confidence associated with any signature at any time, including determining that a given signature algorithm provides a limited assurance ofDKIMauthenticity at a given keyrecords. 6.1.2. Validatorstrength. * Avalidator needs to add codeverifier MAY chose tothe appropriate agent and then feed the result into the portionevaluate signature records in any order it chooses, including making use oftheir system needing it, such as a filtering engine.the signature algorithm for this purpose. o Themere existence ofverifier MAY make avalid signaturedetermination that Algorithm A does notimplyoffer a useful level of security, that themail is acceptable, such as for delivery. Acceptability requires an assessment phase. Hence the resultcost of verifying the signaturevalidation must be fed into a vetting mechanism thatispartless than the value of doing so. * In this case thevalidator's filter. 6.1.3. Outbound mail user agent TBD 6.1.4. Outbound mail transport agent TBD 6.1.5. DNS Server TBD 6.1.6. Mailing list manager TBD 6.1.7. Inbound mail transport agent TBD 6.1.8. Inbound mail user agent TBD 6.1.9. Accreditation service TBD 6.2. Deployment 6.2.1. Signing 6.2.1.1. DNS Records add sig key info 6.2.1.2. Signing Module Delete old signs with same key; add new sig 6.2.1.3. Boundary MTA Enforce signature policiesverifier ignores signatures created using the algorithm A andpractises 6.2.2. Verifying 6.2.2.1. DNS Client Ensure ablereferences toobtain DKIM key sigalgorithm A in policy records6.2.2.2. Verifying module Validate sig; channel info to filtering engine. Maybe provide user- visible info. 6.2.2.3. Boundary MTA Strip "local" signatures thatare treated as if the algorithm is notlocal? 6.3.implemented. o The verifier MAY decide to add support for additional signature algorithms at any time. * The verified MAY add support for algorithm B at any time. 9. Operations6.3.1.This section describes the basic steps for the continued operation of email systems that use DKIM. This section discusses keeping DKIM going, as opposed to getting DKIM started. The primary considerations are: the upkeep of the selector files, and the security of the private keys. 9.1. DNS Signature Record Deployment ConsiderationsTBD 6.3.2. Thoughts on Expiring Signatures TBD 6.3.3.The key point to remember is that the DNSPolicy Record Deployment Considerations TBD 6.3.4. Subdomain Considerations TBD 6.3.5. ThirdDKIM 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 o the use of third partySignature Delegations TBD 7. Outline Future Extensionssigners o security considerations 9.1.1. Time Basis and Security Considerations Thedesignreason 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 isunapologetically focusedunclear 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 onovercomingsystems 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 theneed for immediate deployment and achieving ubiquitoususein the near future. Asof 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 theoriginal design discussions have generally takenselector. o Whenever there is either suspicion or evidence of theapproach 'ifcompromise of the system or the private keys, you should change the selector. 9.1.2. Server Clusters TBD 9.1.3. Deploying New Selectors A primary consideration indoubt leave it out'. The needchanging the selector is remembering toexclude considerationchange it. It needs to be a standard part ofthese features inthenear term is in no way intended to preclude their development atoperational staff Methods and Procedures for your systems. When deploying alater date. Nor isselector, it needs to be phased in: 1. generate thelack ofnew public / private key pair and create aspecification describingselector record with theuse of DKIMpublic key in it 2. add the new selector record to your DNS 3. turn on signing with the new private key 4. optionally back up the old private key in adifferent PKI infrastructure intended to indicate an intention to develop similar capabilities withinsecure location 5. remove theDKIM framework atold private key from your servers 6. after afuture date. DKIM is an exampleperiod of'Design for Deployment'. The need to support rapid deployment istime, remove theoverriding priority. It has traditionally been asserted that deployment of a flawed cryptographic protocol isold selector The time analmost unacceptable risk, that bad security is worse than no security. Experience demonstrates otherwise. Informing users that emailunused selector should be kept in the DNS system isinsecure does not cause them to modify their behavior to avoid dependence thereupon. Deployment of flawed cryptographic security systems such as SSL and WEPdependent on the reason it's being changed. If the private key has definitely beenrectified far more quickly than deployment of protocols such as IPSEC or DNSSEC where caution has prevailed. One possible future for DKIM is that it becomesexposed, thestarting point for a new cryptographic infrastructure that eventually replaces legacy systems including S/MIME and PGP. While this future is certainly preferablecorresponding selector should be removed immediately. Otherwise, longer periods are allowable. 9.1.4. Subdomain Considerations TBD 9.1.5. Third party Signature Delegations Allowing third parties to sign email from your domain opens your system security tonever achieving ubiquitous deployment of strong cryptographicinclude the securityinof theInternet it would certainly takethird party's systems. At along timeminimum, you should not allow the third parties tore-invent this particular wheel. Moreoveruse thedeployment ofsame 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 theproposed DKIM enhancements would face political opposition fromexposure for any given private key, and minimizes theadherents to existing formats toimpact if any given private key were exposed. 9.1.6. Mailing List Management [ Note: this section may berendered historical.controversial. ] Alikely outcomemailing list often provides facilities to its administrator to manipulate parts ofsuch a strategy is thattheexisting two way standards stalemate between S/MIME and PGP would become a three way stalemate. Another possible futuremail messages that are flowing through. The desired goal is thatDKIM providesmessages flowing through the'bootstrap'mailing list will be verifiable by the recipient, which means thatenables ubiquitous use of legacy infrastructure includingeither thedeployed base of PGP and S/MIME capable email clients andmailing list (or its MSA) must sign the message, or the mailing list must not perform actions on the messages that will break existingbusiness infrastructure of commercial Certificate Authorities. Such a strategy would make use ofDKIMin conjunction withsignatures. To avoid breaking existingPKI standards such as PKIX and XKMS and leverage features of PGP and S/MIME where appropriate. 7.1. Introducing a new signing algorithm Regardless of whether extension of the DKIM feature set is desirable the need to replace the signature algorithm is practicallysignatures, acertainty. The RSAmailing list system has these choices: o A mailing list may add its own DKIM signature. If it does this, it must make sure that it adds its signaturealgorithm at best provides equivalent securityafter it performs any content transformations toan 80 bit symmetric cipher when used with a 1024 bit key [cite]. Extendingthekey sizemessage, such as adding a footer to2048 bits improvesthecipher strength to only 112 bit equivalence. Achieving 128 bit security requiresbody, adding aminimum of 3072 bits. Achieving equivalent cipher strengthprefix toa 192 bit symmetric algorithm requires a prohibitive key size. The choice of cryptographic algorithm affectsthe body, modifying the subject header, etc. o If a mailing list does not add its own DKIMalgorithmsignature, it must not modify any existing headers that are listed intwo important ways. First there is the difficultyan h= parameter ofstoring keys inany existing DKIM-Signature headers, nor may it add any footer content to theDNS. Secondlybody if there is no l= in any existing DKIM- Signature headers. o If a mailing list cannot add its own DKIM signature, and must modify theproblemheaders or body in a way that will break verification ofhandling larger signatures.existing DKIM-Signature headers, it should remove any existing DKIM-Signature headers. 10. Outline Future Extensions Thedefault DNS response packet limit of 512 bytes places an effective upper bounddesign of4096 bits on aDKIMkey. In practiceis unapologetically focused on overcoming the need forpackaging, meta-dataimmediate deployment and achieving ubiquitous use in thedesirability of using DNSSEC to signnear future. As such, therecord reducesoriginal design discussions have generally taken theupper bound to no more than 2048 bits.approach 'if in doubt, leave it out'. Thesizeneed to exclude consideration of these features in theDKIM signature itselfnear term isa weaker constraint. Even so, while 1024 and even 2048 bit signatures are likely to be acceptableinmost implementations larger signature sizes may become prohibitive, particularly as the signature must be Base 64 encoded. 7.2. Possible future signature algorithm choices ECC cryptography offersno way intended to preclude their development at ameanslater date. Nor is the lack ofimplementing public key cryptography usingakey size and signature size that are each only twicespecification describing thesizeuse of DKIM with a different PKI infrastructure intended to indicate an intention to develop similar capabilities within theequivalent symmetric key algorithm. While ECC offers clear technical advantages over algorithms based on the difficulty on solving the discrete log problem inDKIM framework at afinite field itfuture date. DKIM isnot possible at this pointan example of 'Design for Deployment'. The need tobe confidentsupport rapid deployment has been the overriding priority. It has traditionally been asserted thata meansdeployment ofapplying ECCa flawed cryptographic protocol is an almost unacceptable risk, and that bad security isconsistent with the position on intellectual property adopted by the DKIM working groupworse than no security. Experience demonstrates otherwise. Informing users that email is insecure does not cause them to modify their behavior to avoid dependence thereupon. Deployment of flawed cryptographic security systems such as SSL and WEP has beenfound. The DSA signature algorithm based on the discrete log problem faces the same key size limitationsrectified far more quickly than deployment of protocols such asRSA. ImportantlyIPSEC or DNSSEC where caution has prevailed. One possible future forthe design ofDKIMand DNSSEC however the signature sizeismuch smaller,that it becomes thesame size asstarting point forECC algorithms. It is likelya new cryptographic infrastructure thatDSA would have received greater attention during the design of DSA if key sizes greater than 512 bitseventually replaces legacy systems including S/MIME andusePGP. While this future is certainly preferable to never achieving ubiquitous deployment ofhash functions stronger than SHA-1 had been supported atstrong cryptographic security in thetime. In March 2006Internet, it would certainly take aproposed revision oflong time to re-invent this particular wheel. Moreover theDSA signature algorithm answered these objections permitting larger key sizes and specifying usedeployment ofstronger hash functions including SHA-256 and SHA 512. Whiletheadvantages offered by DSA are not sufficientproposed DKIM enhancements would face political opposition from the adherents towarrant an immediate transitionexisting formats tothe new algorithm at this late stage it is highly probably that the algorithm willbeemployed by DNSSEC when finally deployed. 7.3. Transition strategy Deploymentrendered historical. A likely outcome of such anew signature algorithm without a 'flag day' requires a transitionstrategysuchis thatsigners and verifiers can phase in support for the new algorithm independently and if necessary phase out support fortheold algorithm independently. DKIM achieves these requirements throughexisting twofeatures. Firstway standards stalemate between S/MIME and PGP would become asigned message may contain multiple signatures created by the same signer. Secondly the security policy layer allowsthree way stalemate. Another possible future is that DKIM provides thesigning algorithms in'bootstrap' that enables ubiquitous useto be advertised, thus preventing a downgrade attack. 7.3.1. Signer transition strategy Letof theold signing algorithm be A,legacy infrastructure, including thenew signing algorithm be B. The sequencedeployed base ofevents by which a Signer may introducePGP and S/MIME capable email clients and the existing business infrastructure of commercial Certificate Authorities. Such anew signing algorithm without disruptionstrategy would make use ofservice 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, firstDKIM in conjunction withalgorithm Aexisting PKI standards such as PKIX andalgorithm B A. The signer testsXKMS and leverage features of PGP and S/MIME where appropriate. 10.1. Introducing a new signingconfiguration B. Signer advertises that it signs withalgorithmA andRegardless of whether extension of the DKIM feature set is desirable, the need to replace the signature algorithmB 3. Signer determines that support for Algorithm Aisno longer necessary 4. Signer determines that support forpractically a certainty. The RSA signature algorithmA itat best provides equivalent security tobe withdrawn A. Signer removes advertisement for Algorithm A B. Signer waits for cached copiesan 80 bit symmetric cipher when used with a 1024 bit key [cite]. Extending the key size to 2048 bits improves the cipher strength to only 112 bit equivalence. Achieving 128 bit security requires a minimum ofearlier signature policy3072 bits. Achieving equivalent cipher strength toexpire C. Signer stops signing with Algorithm A 7.3.2. Verifier transition strategya 192 bit symmetric algorithm requires a prohibitive key size. Theactionschoice of cryptographic algorithm affects theverifier are independent ofDKIM algorithm in two important ways. First there is thesigner's actions and do not need to be performeddifficulty of storing keys ina particular sequence.the DNS. Secondly there is the problem of handling larger signatures. Theverifier may makedefault DNS response packet limit of 512 bytes places an effective upper bound of 4096 bits on adecision to cease accepting algorithm A without first deploying supportDKIM key. In practice the need foralgorithm B. Similarly a verifier may be upgradedpackaging, meta-data and the desirability of using DNSSEC tosupport algorithm B without requiring algorithm Bsign the record reduces the upper bound tobe withdrawn.no more than 2048 bits. Thedecisionssize of theverifier must makeDKIM signature itself is a weaker constraint. Even so, while 1024 and even 2048 bit signatures aretherefore: The verifier MAY changelikely to be acceptable in most implementations larger signature sizes may become prohibitive, particularly since thedegree of confidence associated with anysignatureat any time, including determining that a givenmust be Base 64 encoded. 10.2. Possible future signature algorithmprovideschoices ECC cryptography offers alimited assurancemeans ofauthenticity atimplementing public key cryptography using agivenkeystrength. A. A verifier MAY chose to evaluatesize and signaturerecords in any order it chooses, including making usesize that are each only twice the size of thesignature algorithm for this purpose. The verifier MAY makeequivalent symmetric key algorithm. While ECC offers clear technical advantages over algorithms based on the difficulty on solving the discrete log problem in adetermination that Algorithm A doesfinite field, it is notofferpossible at this point to be confident that auseful levelmeans ofsecurity,applying ECC has been found that is consistent with thecostposition on intellectual property adopted by the DKIM working group. The DSA signature algorithm based on the discrete log problem faces the same key size limitations as RSA. Importantly for the design ofverifyingDKIM and DNSSEC however, the signature size isless thanmuch smaller, thevaluesame size as for ECC algorithms. It is likely that DSA would have received greater attention during the design ofdoing so. A. In this caseDSA if key sizes greater than 512 bits and use of hash functions stronger than SHA-1 had been supported at theverifier ignores signatures created usingtime. In March 2006 a proposed revision of the DSA signature algorithmAanswered these objections permitting larger key sizes andreferences to algorithm A in policy records are treated as ifspecifying thealgorithm isuse of stronger hash functions (including SHA-256 and SHA 512). While the advantages offered by DSA are notimplemented. The verifier MAY decidesufficient toadd support for additional signature algorithms at any time. A. The verified MAY add support forwarrant an immediate transition to the new algorithmBatany time. 7.4.this late stage, it is highly probably that the algorithm will be employed by DNSSEC when finally deployed. 10.3. Linkage to Other PKIs The principle limitations in DKIM are the lack of support for end- user keying, the lack of support for long term verification ofsignaturessignatures, and the lack of support for trusted third party issued assertions. Each of these limitations is determined by the key distribution mechanism rather than the signature format. Although the DNS infrastructure could in principle be extended to support thesefeaturesfeatures, this approach would require substantial modifications that entirely negate the advantage of employing an existing infrastructure. The point of using DNS is to reuse the DNS infrastructure, not necessarily the DNS protocol. The preferred approach to addressing these limitations is to support use of a PKI infrastructure designed to support these requirements such as PKIX, PGP or XKMS.7.5.10.4. Trusted Third Party Assertions 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 behavior of the domain name owner to be predicted may allow the probability that the message is abusive to be determined without the need for heuristic content analysis. Recipients of large volumes of email can generate reputation data for email senders internally. Recipients of smaller volumes of messages are likely to need to acquire reputation data from a third party. In either case the use of reputation data is intrinsically limited to emailsender whichsenders that have established a prior history of sending messages. Another commonly used technique for evaluating email senders is accreditation. Most spam sent today is sent by criminals to further a scheme that is unambiguously illegal. Spam demonstrates an Internet equivalent of Gresham's law: the bad spam drives out the merely irritating, the outright criminal drives out the bad. A message is highly unlikely to be spamifif: the email senderthatcan demonstrate that it is a legitimatebusinessbusiness, and that it has provided a legitimate address where legal process can be served. In addition the accredited email sender may accept a legally binding undertaking not to send spam and possibly post a performance bond that is subject to forfeiture in case of default. As with reputationdatadata, a high volume email recipient may be in a position to establish bilateral agreements with high volume senders. Smaller recipients are not in a position to require accreditation, nor is it practical for each large sender to accredit every sender. Trusted Third Party accreditation services allow an email sender to obtain an accreditation that is recognized by every email recipient that recognizes the Trusted Third Party. [Need use of both systems] [Need means of advertising existence of positive reputation data]7.6.10.5. Linkage to X.509 Certificates The industry standard for distribution of Trusted Third Party data tied to a public key is the X.509v3/PKIX standard. X.509 based PKI is designed to support requirements such as long term archiving of signatures, end entity signing and Trusted Third Party assertions. Combining the DKIM signature format with the PKIX PKI infrastructure provides an equivalent set of capabilities to S/MIME. Two approaches may be used to inform signature verifiers that an X.509 certificate has been issued that makes an assertion about the signing key for a DKIM signature: 1. By means of an attribute in the key record 2. By means of a signature header q= parameter Typical commercially issued digital certificates are considerably larger (1-2 kb) than the 512 byte message size that DNS servers are required to support as a minimum. Practical large scale PKI deployment requires support for certificate chains in addition to the end entity certificate. Publication of a URL for the certificate or certificate chain is therefore a more appropriate approach than storing the certificate data itself in the DNS. The ability to support multiple key distribution mechanisms for the same key is highly desirable. For example a signer may support DNS based key distribution for the convenience and efficiency of transport based DKIM signature verifiers and an X.509 certificate In other cases a signer may intentionally discourage transport verification by only providing an X.509 certificate. An X.509 application of particular interest is the use of DKIM as a signature format for Secure Internet Letterhead (Letterhead). Letterhead employs X.509 certificates containing a LOGOTYPE attribute extension [LOGOTYPE] to identify the certificate subject and/or issuer to the user by means of a brand image such as a corporate logo. [PHB-NIST]7.7.10.6. XKMS XKMS is a key centric PKI that supports registration and location of keys. XKMS is layered as a Web service and the existence of XKMS service for a domain is typically advertised by means of a DNS SRV record. XKISS, the key location component of XKMS provides a superset of the capabilities of the DKIM DNS key distribution mechanism. As XKMS is layered on SOAP over HTTP over TCP/IP the overhead incurred in retrieving keys through XKMS is substantially higher than the single UDP request/response of DNS key distribution. Like X.509 XKMS is designed to key management over time periods of years and decades rather than days and supports the use of trusted third parties. XKMS is designed to allow complexity to be concentrated at the Web service as opposed to the client. A client interacts with an XKMS service using request of the form 'provide a key to verify signatures on messages sent by A using protocol B'. XKMS may also be used as a gateway to one or more PKIs including an X.509 based PKI that makes use of sophisticated features such as cross certification. The verifier may at its option rely on the XKMS service to provide a trusted key or request the complete certificate path allowing offline verification. A signer may notify signature verifiers that a key may be retrieved using XKMS by means of the q= attribute. The verifier may then discover the corresponding XKMS service using the SRV mechanism as set out in the XKMS specification.7.8.10.7. Verification in the Client The DKIM specification is designed to support edge to edge authentication. The specification neither supports nor prohibits verification of DKIM signatures in the client. In particular the specification does not attempt to define client semantics for signatures or provide an exhaustive list of user interface security considerations. For client based verification to bepracticalpractical, it is likelythethat a client needs to be capable of determining that it is able to receive messages that do not get clobbered before coming to any conclusions with respect to unsigned messages. 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 tousersusers, it is also essential that successful verification of a signaturedoesnot result in a less than satisfactory user experiencethancompared to leaving the message unsigned.7.9.10.8. Per user signature Although DKIM is designed to support domain levelsignaturessignatures, the DKIM core design neither supports nor prohibits use of per user signatures. A DKIM key record can specify restrictions on the email addresses it can be used to sign for. These restrictions are not intended to be exhaustive nor are detailed semantics or security considerations set out for interpreting per user signatures. The primary use that this feature is intended tosupportsupport, is to allow a company to delegate the signing authority for bulk marketing communications without the risk of effectively delegating the authority to sign contracts on behalf of the CEO. For per user signing keys to provide value beyond this limited usescenarioscenario, it is likely that additionalrequirements are necessaryrequirements will be necessary, such as the ability to perform long term validation of the key. Linkage to some form of PKI is likely to be necessary. In addition any scheme that involves maintenance of a significant number of public keys will require infrastructure to support that management. 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.AsAt aminimumminimum, a key registration protocol must be defined.7.10.10.9. Encryption DKIM is not designed to support encryption. A strong case can be made for applying the DKIM style of transparent security, key centric key management and domain level keying. It is not clear that re- using the DKIM signature architecture is the best way to achieve this goal. The DKIM signature format in particular is designed to allow meta- data to be attached to a message without modifying the content. Content encryption by its very nature requires modification of the message content. The message encryption formats of PGP and S/MIME both solve the problem of message encryption perfectlyadequately andadequately; there is no reason to believe that a new effort in this space would improve matters. An architecture of this form would require development of an email receiver security policy that allows a recipient to state that encrypted email messages are acceptable and to specify the key distribution infrastructure(s) by which the necessary encryption keys may be discovered. A policy infrastructure of this type is implicit in the XKMS standard. One drawback to this approach is that policy distributionanand key distribution are conflated, an approachhatthat is satisfactory for message level encryption schemes such as PGP andS/MIMES/MIME, but less satisfactory for transport layer encryption such as SSL.7.11.10.10. Reuse of Key Record A number of proposals have been madewhichthat attempt to reuse the DKIM key record. Architects considering this approach should be aware of the advantages and limitations. As a minimum each of the security considerations listed in the DKIM specification should be considered and its possible relevance to the proposed field of use carefully evaluated. Application of a security mechanism outside the context in which it was originally designed for is a principle cause of security failures. DKIM is designed to meet the security needs of an application where the cost of individual failures is insignificant or small. A single spam in an email inbox is not a disaster, indeed it is no longer even an irritation. For the long time spam sufferer who has seen their inbox filled with hundreds or even thousands ofspamsspams, an occasional failure may even be cause forsatisfaction,satisfaction as a reminder of a successfully vanquished foe. One of the chief limitations of using DNS based key records is that maintenance of DNS records is typically a network operations concern. If the entity to which the public key corresponds is a network object (e.g. a mailserver)server), the use of DNS based key management is likely to be satisfactory. If the entity is not a network related object (e.g. an end user) a significant degree of pushback from network administrators should be anticipated. The design of DKIM is designed for rapid deployment in response to an immediate need. As such many of the design decisions are not the decisions that would be taken if the choicewaswere unconstrained by the limitations of the current legacy DNS. In particular the use of Base 64 encoded public keys distributed through TXT records is not ideal. Applications that do not face the same constraints as DKIM should carefully evaluate the feasibility of using the binary key record. In particular an application predicated on the use of DNSSEC to authenticate keys should assume support for DKIM binary key records.7.12.10.11. Use of Policy Record DKIM demonstrates the power of using the DNS to distribute security policy information. It is not possible to achieve robust security unless the parties to a conversation know the security capabilities and expectations of the other. Any party proposing re-use of the DKIM policy record should carefully consider whether their needs would be better met by proposing a flexible security policy architecture in the DKIM style rather than proposing ad-hoc extensions and variations. At a minimum any proposal for new security policy formats that make use of the TXT record should employ a new policy prefix and ensure that mislabeled and wild-carded policy records are not accidentally misinterpreted.8.11. Acknowledgements TBD 12. { 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". 12.1. What Needs To Be Moved Here From the Base Doc? MUA considerations key delegation/ 3rd party9. Acknowledgements TBD 10. Informative13. References 13.1. References -- Normative [I-D.ietf-dkim-base] Allman, E., "DomainKeys Identified MailSignatures (DKIM)", draft-ietf-dkim-base-02(DKIM) Signatures", draft-ietf-dkim-base-05 (work in progress),MayAugust 2006. [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.[RFC0821] Postel, J., "Simple Mail Transfer Protocol", STD 10, RFC 821, August 1982. [RFC0822] Crocker, D., "Standard for the format of ARPA Internet text messages", STD 11,[RFC2822] Resnick, P., "Internet Message Format", RFC822, August 1982.2822, April 2001. 13.2. Informative References [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.[RFC2822] Resnick, P., "Internet Message Format",[RFC2821] Klensin, J., "Simple Mail Transfer Protocol", RFC2822,2821, April 2001. [RFC3156] Elkins, M., Del Torto, D., Levien, R., and T. Roessler, "MIME Security with OpenPGP", RFC 3156, August 2001. [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.USAEmail: pbaker@verisign.com Full Copyright Statement Copyright (C) The Internet Society (2006). 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 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 PropertyStatementThe 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.Disclaimer of Validity 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 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. Copyright Statement Copyright (C) The Internet Society (2006). 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.Acknowledgment Funding for the RFC Editor function iscurrentlyprovided by theInternet Society.IETF Administrative Support Activity (IASA).