DomainKeys Identified Mail                                     T. Hansen
Internet-Draft                                         AT&T Laboratories
Intended status: Informational                                D. Crocker
Expires: September 5, 2007                   Brandenburg InternetWorking
                                                         P. Hallam-Baker
                                                           VeriSign Inc.
                                                           March 4, 2007

   DomainKeys Identified Mail (DKIM) Message Signing Service Overview

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-

   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

   The list of Internet-Draft Shadow Directories can be accessed at

   This Internet-Draft will expire on September 5, 2007.

Copyright Notice

   Copyright (C) The IETF Trust (2007).


   DomainKeys Identified Mail (DKIM) associates a "responsible" identity
   with a message and provides a means of verifying that the association
   is legitimate.[I-D.ietf-dkim-base].  DKIM defines a domain-level
   authentication framework for email using public-key cryptography and
   key server technology.  This permits verifying the source or

Hansen, et al.          Expires September 5, 2007               [Page 1]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   intermediary for a message, as well as the contents of messages.  The
   ultimate goal of this framework is to permit a signing domain to
   assert responsibility for a message, thus proving and protecting the
   identity associated with the message and the integrity of the
   messages itself, while retaining the functionality of Internet email
   as it is known today.  Such protection of email identity, may assist
   in the global control of "spam" and "phishing".  This document
   provides an overview of DKIM and describes how it can fit into a
   messaging service, how it relates to other IETF message signature
   technologies.  It also includes implementation and migration

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.1.  Background . . . . . . . . . . . . . . . . . . . . . . . .  4
     1.2.  The DKIM Value Proposition . . . . . . . . . . . . . . . .  5
     1.3.  Phishing . . . . . . . . . . . . . . . . . . . . . . . . .  6
     1.4.  Conventions  . . . . . . . . . . . . . . . . . . . . . . .  6
   2.  Goals  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
     2.1.  Treat verification failure as if unsigned. . . . . . . . .  7
     2.2.  Domain-level assurance . . . . . . . . . . . . . . . . . .  7
     2.3.  Incremental adoption . . . . . . . . . . . . . . . . . . .  7
     2.4.  Minimal infrastructure . . . . . . . . . . . . . . . . . .  8
     2.5.  Transparent signature  . . . . . . . . . . . . . . . . . .  8
     2.6.  Security policy  . . . . . . . . . . . . . . . . . . . . .  9
   3.  Function and Use . . . . . . . . . . . . . . . . . . . . . . .  9
     3.1.  What is a DKIM signature?  . . . . . . . . . . . . . . . .  9
     3.2.  The Selector construct . . . . . . . . . . . . . . . . . .  9
     3.3.  Validation . . . . . . . . . . . . . . . . . . . . . . . . 10
     3.4.  What does DKIM NOT do? . . . . . . . . . . . . . . . . . . 10
     3.5.  Does DKIM eliminate anonymity for email? . . . . . . . . . 11
   4.  DKIM Within Existing Internet Email  . . . . . . . . . . . . . 11
     4.1.  Review of Internet Mail Service Architecture . . . . . . . 11
     4.2.  Where to Place DKIM Functions  . . . . . . . . . . . . . . 14
     4.3.  Impact on Email Activities . . . . . . . . . . . . . . . . 15
     4.4.  Migrating from DomainKeys  . . . . . . . . . . . . . . . . 17
   5.  Service Architecture . . . . . . . . . . . . . . . . . . . . . 18
   6.  Development  . . . . . . . . . . . . . . . . . . . . . . . . . 20
     6.1.  Coding Criteria for Cryptographic Applications . . . . . . 20
     6.2.  Email Infrastructure Agents  . . . . . . . . . . . . . . . 21
     6.3.  Filtering  . . . . . . . . . . . . . . . . . . . . . . . . 22
     6.4.  DNS Server . . . . . . . . . . . . . . . . . . . . . . . . 23
   7.  Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . 23
     7.1.  Signing  . . . . . . . . . . . . . . . . . . . . . . . . . 23
     7.2.  Verifying  . . . . . . . . . . . . . . . . . . . . . . . . 24
     7.3.  Mail User Agent  . . . . . . . . . . . . . . . . . . . . . 25

Hansen, et al.          Expires September 5, 2007               [Page 2]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

     7.4.  Transition strategy  . . . . . . . . . . . . . . . . . . . 25
   8.  On-going Operations  . . . . . . . . . . . . . . . . . . . . . 27
     8.1.  DNS Signature Record Deployment Considerations . . . . . . 27
     8.2.  Private Key Management . . . . . . . . . . . . . . . . . . 29
     8.3.  Mailing list manager developers  . . . . . . . . . . . . . 29
   9.  Example Uses . . . . . . . . . . . . . . . . . . . . . . . . . 30
     9.1.  Protection of Internal Mail  . . . . . . . . . . . . . . . 30
     9.2.  Recipient-based Assessments  . . . . . . . . . . . . . . . 30
     9.3.  DKIM Support in the Client . . . . . . . . . . . . . . . . 31
     9.4.  Per user signature . . . . . . . . . . . . . . . . . . . . 31
   10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 32
   11. { Misc Text -- Should go elsewhere, if used at all } . . . . . 32
   12. Informative References . . . . . . . . . . . . . . . . . . . . 33
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 34
   Intellectual Property and Copyright Statements . . . . . . . . . . 35

Hansen, et al.          Expires September 5, 2007               [Page 3]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

1.  Introduction

   DomainKeys Identified Mail (DKIM) associates a "responsible" identity
   with a message and provides a means of verifying that the association
   is legitimate.[I-D.ietf-dkim-base].  DKIM defines a domain-level
   authentication framework for email using public-key cryptography and
   key server technology.  This permits verifying the source or
   intermediary for a message, as well as the contents of messages.  The
   ultimate goal of this framework is to permit a signing domain to
   assert responsibility for a message, thus proving and protecting the
   identity associated with the message and the integrity of the
   messages itself, while retaining the functionality of Internet email
   as it is known today.  Such protection of email identity, may assist
   in the global control of "spam" and "phishing".  This document
   provides an overview of DKIM and describes how it can fit into a
   messaging service, how it relates to other IETF message signature
   technologies.  It also includes implementation and migration

   This document provides an overview of DomainKeys Identified Mail
   (DKIM).  It is intended for those who are adopting, developing, or
   deploying DKIM.  It also will be helpful for those who are
   considering extending DKIM, either into other areas or to support
   additional features.  This Overview does not provide information on
   threats to DKIM or email, or details on the protocol specifics, which
   can be found in [I-D.ietf-dkim-base] and [I-D.ietf-dkim-threats],
   respectively.  The document assumes a background in basic network
   security technology and services.

   It must be stressed that neither this document nor DKIM attempt to
   provide solutions to the world's problems with spam, phish, virii,
   worms, joe jobs, etc.  DKIM creates one basic tool in what needs to
   be a large arsenal of tools, for improving the safety of Internet
   mail.  However by itself, DKIM is not sufficient to that task and
   this Overview does not pursue the issues of integrating DKIM into
   these larger efforts.  Rather, it is a basic introduction to the
   technology and its deployment.

1.1.  Background

   There have been four other efforts at standardizing an email
   signature scheme:

   o  Privacy Enhanced Mail (PEM) was first published in 1987 [RFC0989]

   o  PEM eventually transformed into MIME Object Security Services in
      1995 [RFC1848].  Today, these two are only of historical interest.

Hansen, et al.          Expires September 5, 2007               [Page 4]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   o  Pretty Good Privacy (PGP) was developed by Phil Zimmerman and
      first released in 1991.[RFC1991] A later version was standardized
      as OpenPGP.  [RFC3156]

   o  RSA Security, the holder of the patent rights to the principle
      public key cryptography algorithm, independently developed Secure
      MIME (S/MIME) to transport a PKCS #7 data object.  [RFC3851]

   Development of S/MIME and OpenPGP has continued.  While both have
   achieved a significant user base, neither has achieved ubiquity in
   deployment or use and their goals differ from those of DKIM.

   In principle the S/MIME protocol can support semantics such as domain
   level signatures or make use of keys stored in the DNS.  However the
   currently deployed base does not and modifying it to do so would
   require extensive effort.

   Unlike previous IETF email security initiatives, DKIM employs a key
   centric Public Key Infrastructure (PKI) as opposed to one that is
   based on a certificate in the style of Kohnfelder (X.509) or
   Zimmerman (web of trust).  That is, the owner of a key asserts its
   validity, rather than relying on having a broader semantic
   implication of the assertion, such as a quality assessment of the
   key's owner.  DKIM treats quality assessment as an independent,
   value-added service, beyond the initial work of deploying a
   validating signature service.

   Further, DKIM's PKI is supported as additional information records to
   the existing Domain Name Service, rather than requiring deployment of
   a new query infrastructure.  This approach also has significant
   performance advantages as DNS is layered on UDP and key retrieval is
   typically achieved in a single round trip.

1.2.  The DKIM Value Proposition

   Spam can be understood as two separate problems.  The first is the
   problem of companies that are inappropriately aggressive, in sending
   out unsolicited marketing email.  This accounts for, perhaps, 5% of
   the spam volume and is in any case usually handled by existing spam
   filters.  [N.B. need a reference for the 5%.]  The second problem is
   rogue spam -- often involving criminal activities -- mostly sent from
   coerced botnets of compromised machines.  For this latter set of
   mail, the origins of a message are often falsely stated.

      DKIM provides a means of associating a verifiable identity with a
      message.  Given the presence of that identity, a receiver can make
      decisions about further handling of the message, based upon
      assessments of that identity.

Hansen, et al.          Expires September 5, 2007               [Page 5]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   For messages that produce a valid signature, it will be possible to
   make affirmative trust assessments.  For messages using identities
   that are typically signed, it will be possible to detect some types
   of phishing emails and block them.

1.3.  Phishing

   The value of a cousin domain, that could be mistaken for the
   legitimate domain, is significantly reduced if the number of emails
   that can be successfully sent from it is small.

   Phishing attacks are typically made against trusted brands, that is,
   names that are closely affiliated with well-known organizations.  A
   DKIM-based accreditation service can enforce a basic separation
   between domains used by such known organizations and domains used by

   Receivers who successfully validate a signature can use information
   about the signer as part of a program to limit spam, spoofing,
   phishing, or other undesirable behavior, although the DKIM
   specification itself does not prescribe any specific actions by the

1.4.  Conventions

   In this document, references to structured fields of a message use a
   two-part dotted notation.  The first part cites the document that
   contains the specification for the field and the second is the name
   of the field.  Hence <RFC2822.From> is the From field in an email
   content header [RFC2822] and <RFC2821.MailFrom> is the address in the
   SMTP "Mail From" command.  [RFC2821]

   This document is being discussed on the DKIM mailing list,

2.  Goals

   DKIM lets an organization take responsibility for a message.  The
   organization taking responsibility typically is a handler of the
   message, either as its originator or as an intermediary.  It can also
   be an independent service, providing assistance to a handler of the
   message.  Their reputation is the basis for evaluating whether to
   trust the message for delivery.

   The owner of the domain name being used for a DKIM signature is
   declaring that they are accountable for the message.  This means that
   their reputation is at stake.

Hansen, et al.          Expires September 5, 2007               [Page 6]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   By design, DKIM purposely:

   o  is compatible with the existing email infrastructure and
      transparent to the fullest extent possible

   o  requires minimal new infrastructure

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

   o  does not require the use of new trusted third parties (e.g.,
      certificate authorities) that might impose significant costs or
      introduce delays to deployment

   o  can be deployed incrementally, with separate deployment of signers
      and verifiers in either order

   o  allows delegation of signing to third parties

   o  is not intended be used for archival purposes

   DKIM authentication provides one link in a chain of responsibility,
   hopefully leading to better accountability by the senders.

2.1.  Treat verification failure as if unsigned.

   PGP and S/MIME were both designed for strong cryptographic
   protection.  This included treating validation failure as message
   failure.  For DKIM, the guidance is that an email signature verifier
   is to treat messages with signatures that fail as if they were
   unsigned.  Hence the message will revert to normal handling, through
   the receiver's existing filtering mechanisms.

2.2.  Domain-level assurance

   PGP and S/MIME apply the end-to-end principle in terms of individual
   originators and recipients, notably using full email addresses.  DKIM
   seeks accountability at the more coarse grain of an organization or,
   perhaps, a department.  A deployed construct that enables this
   granularity is the domain name, to which the signing key record is

2.3.  Incremental adoption

   DKIM can immediately provide benefits between any two organizations
   that exchange email and implement DKIM.  In the usual manner of
   "network effects", the benefits of DKIM increase dramatically as its
   adoption increases.

Hansen, et al.          Expires September 5, 2007               [Page 7]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   Although it is envisioned that this mechanism will call upon
   independent assessment services, they are not essential in order to
   obtain initial benefit.  For example DKIM allows pair-wise sets of
   (possibly large) email providers and spam filtering companies to
   distinguish mail that is associated with a known organization, from
   mail that might deceptively purport to have the affiliation.  This in
   turn allows the development of 'whitelist' schemes whereby
   authenticated mail from a known source with good reputation is
   allowed to bypass some spam filters.  In effect the email receiver is
   using their set of known relationships to generate their own
   accreditation/reputation data.  This works particularly well for
   traffic between large sending providers and large receiving
   providers.  However it also works well for any operator, public or
   private, that has mail traffic dominated by exchanges among a stable
   set of organizations.

   Over time, DKIM adoption might become sufficiently widespread to
   permit special, negative handling of messages that are not signed.
   However early benefits do not require this more-stringent

2.4.  Minimal infrastructure

   DKIM can be implemented at a variety of places within an
   organization's email service.  This permits the organization to
   choose how much or how little they want DKIM to be part of their
   infrastructure, rather than part of a more localized operation.
   Similarly, DKIM's reliance on the Domain Name Service greatly reduces
   the amount of new administrative infrastructure that must be deployed
   over the open Internet.

   Even with use of the DNS, one challenge is that it is usually
   operated by different administrative staff than those who operate an
   organization's email service.  In order to ensure that DKIM DNS
   records are accurate, this imposes a requirement for careful
   coordination between the two operations groups.

2.5.  Transparent signature

   S/MIME and PGP both modify the message body.  Hence, their presence
   is visible to all email recipients and their user software must be
   able to process the associated constructs.  In order to facilitate
   incremental adoption, DKIM is designed to be transparent to
   recipients that do not support it.

Hansen, et al.          Expires September 5, 2007               [Page 8]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

2.6.  Security policy

   DKIM separates basic authentication from policy.  An authenticated
   identity may be subject to a variety of processing policies, either
   ad hoc or standardized.  The only policy inherent in a DKIM signature
   is that the signer is asserting (some) responsibility for the
   message.  Other possible policies to consider developing include
   asserting a relationship between the signing identity and the author
   (RFC 2822 From) domain identity, as well as whether to tread unsigned
   message with that From domain as problematic.  It would, therefore,
   be helpful for a potential signer to be able to publish various
   policies, to permit a receiver to know more about the signer's

3.  Function and Use

   DKIM has a very constrained set of capabilities, primarily targeting
   email while it is in transit, from an originator to one or more
   recipients.  DKIM defines a mechanism by which email messages can be
   cryptographically signed, permitting a signing domain to claim
   responsibility for the presence of a message in the mail stream.  A
   responsible organization adds a digital signature to the message,
   associating it with a domain name of that organization.  Typically,
   signing will be done by a service agent within the authority of the
   message originator's Administrative Management Domain (ADMD).
   (Signing might be performed by any of the functional components in
   that environment, including a Mail User Agent (MUA), a Mail
   Submission Agent (MSA), or an Internet Boundary MTA.  DKIM also
   permits signing to be performed by authorized third-parties.)

3.1.  What is a DKIM signature?

   A signature covers the message body and selected header fields.  The
   signer computes a hash of the selected header fields and another hash
   of the body.  They then use a private key to cryptographically encode
   this information, along with other signing parameters.  The signature
   information is placed into a new header field of the [RFC2822]

3.2.  The Selector construct

   For a single domain, DKIM permits use of multiple signing keys and/or
   multiple signers.  To do this, DKIM identifies a particular signature
   as a combination of the domain name and an added field, called the
   "selector".  Both of these are coded into the DKIM-Signature header

Hansen, et al.          Expires September 5, 2007               [Page 9]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   Selectors are assigned according to the administrative needs of the
   signing domain, such as for rolling over to a new key or for
   delegating of the right to authenticate a portion of the namespace to
   a trusted third party.

      Examples include:

      NOTE:   It is intended that assessments of DKIM identities be
         based on the domain name, and not include the selector.  This
         permits the selector to be used only for key administration,
         rather than having an effect on reputation assessment.

3.3.  Validation

   After a message has been signed, any agent in the message transit
   path can choose to validate the signature, to determine that the
   signing identity took responsibility for the message.  Message
   recipients can verify the signature by querying the signer's domain
   directly to retrieve the appropriate public key, and thereby confirm
   that the message was attested to by a party in possession of the
   private key for the signing domain.  Typically, validation will be
   done by an agent in the ADMD of the message recipient.

3.4.  What does DKIM NOT do?

   A DKIM signature does not:

   o  offer any assertions about the behaviors of the identity doing the

   o  prescribe any specific actions for receivers to take upon
      successful (or unsuccessful) signature validation.

   o  provide protection after message delivery.

   o  protect against re-sending (replay of) a message that already has
      a valid signature; therefore a transit intermediary or a recipient
      can re-post the message in such a way that the signature would
      remain valid, although the new recipient(s) would not have been
      specified by the originator.

Hansen, et al.          Expires September 5, 2007              [Page 10]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

3.5.  Does DKIM eliminate anonymity for email?

   The ability to send a message that does not identify its author is
   considered to be a valuable quality of the current email system.  It
   turns out that DKIM is particularly helpful to this goal, because a
   DKIM signature will typically be used to identity an email system
   operator, rather than a content author.  Knowing that a mail
   definitely came from does not threaten the anonymity of
   the user, if it is still possible to obtain effectively anonymous
   accounts at and other web mail providers.

4.  DKIM Within Existing Internet Email

4.1.  Review of Internet Mail Service Architecture

   Internet Mail has a simple split between the user world, in the form
   of Mail User Agents (MUA), and the transmission world, in the form of
   the Mail Handling Service (MHS) composed of Mail Transfer Agents
   (MTA).  The MHS is responsible for accepting a message from one User
   and delivering it to one or more other users, creating a virtual MUA-
   to-MUA exchange environment.  The first MTA is called the Mail
   Submission Agent (MSA) and the final MTA is called the Mail Delivery
   Agent (MDA)

Hansen, et al.          Expires September 5, 2007              [Page 11]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

               +---------------->|  User  |
               |                 +--------+
               |                      ^
   +--------+  |          +--------+  .
   |  User  +--+--------->|  User  |  .
   +--------+  |          +--------+  .
       .       |               ^      .
       .       |   +--------+  .      .
       .       +-->|  User  |  .      .
       .           +--------+  .      .
       .                ^      .      .
       .                .      .      .
       V                .      .      .
   |   .                .      .      .   |
   |   +...............>+      .      .   |
   |   .                       .      .   |
   |   +......................>+      .   |
   |   .                              .   |
   |   +.............................>+   |
   |                                      |
   |     Mail Handling Service (MHS)      |

                Figure 1: Basic Internet Mail Service Model

   Modern Internet Mail service is marked by many independent operators,
   many different components for providing users with service and many
   other components for performing message transfer.  Consequently, it
   is necessary to distinguish administrative boundaries that surround
   sets of functional components.

4.1.1.  Administrative Actors

   Operation of Internet Mail services is apportioned to different
   providers (or operators).  Each can be composed of an independent
   ADministrative Management Domain (ADMD).  An ADMD operates with an
   independent set of policies and interacts with other ADMDs according
   to differing types and amounts of trust.  Examples include an end-
   user operating their desktop client, a department operating a local
   Relay, an IT department operating an enterprise Relay and an ISP
   operating a public shared email service.  These can be configured
   into many combinations of administrative and operational
   relationships, with each ADMD potentially having a complex
   arrangement of functional components.  Figure 2 depicts the
   relationships among ADMDs.  Perhaps the most salient aspect of an
   ADMD is the differential trust that determines its policies for

Hansen, et al.          Expires September 5, 2007              [Page 12]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   activities within the ADMD, versus those involving interactions with
   other ADMDs.

   Basic components of ADMD distinction include:

      Edge:   Independent transfer services, in networks at the edge of
         the Internet Mail service.

      User:   End-user services.  These might be subsumed under an Edge
         service, such as is common for web-based email access.

      Transit:   These are Mail Service Providers (MSP) offering value-
         added capabilities for Edge ADMDs, such as aggregation and

   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  |   |
               |    |  -----  |   |
               |    |         |   |
                    |         |

        Figure 2: ADministrative Management Domains (ADMD) Example

   The distinction between Transit network and Edge network transfer
   services is primarily significant because it highlights the need for
   concern over interaction and protection between independent
   administrations.  The interactions between functional components
   within an ADMD are subject to the policies of that domain.

   Common ADMD examples are:

Hansen, et al.          Expires September 5, 2007              [Page 13]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

      Enterprise Service Providers:   Operating an organization's
         internal data and/or mail services.

      Internet Service Providers:   Operating underlying data
         communication services that, in turn, are used by one or more
         Relays and Users.  It is not necessarily their job to perform
         email functions, but they can, instead, provide an environment
         in which those functions can be performed.

      Mail Service Providers:   Operating email services, such as for
         end-users, or mailing lists.

4.2.  Where to Place DKIM Functions

   Deciding which ADMD shall perform signing or verifying, which
   identity to assign and which functional components to use for DKIM
   processing depends upon the nature of the trust/reputation that is of
   interest and the most convenient or efficient way to use it.
   Messages may be signed or verified by any functional component within
   an ADMD, as that domain wishes to arrange.  Examples include:

      Outbound:   MUA, MSA or boundary MTA.

      Inbound:   Boundary MTA, MDA or MUA.

   By having an MUA do the signing or verifying, there is no dependence
   upon implementation by an email service infrastructure.  By having an
   MHS component do signing or verifying, there is no dependence upon
   user training or the upgrade of potentially large numbers of user

   For implementation by an ADMD's email service operators, perhaps the
   most obvious choices within the MHS are the MSA or MDA, and the
   outbound or inbound (boundary) MTA.  By signing or verifying at the
   MSA and MDA, respectively, this outermost portion of the MHS provides
   true end-to-end service, and requires the smallest amount of trust of
   the intervening service infrastructure.  By signing or verifying at a
   boundary, the smallest number of systems need modifying within an
   ADMD and the signature is subject to the smallest amount of handling
   that can break the signature.  Note, however, that this will
   eliminate DKIM signing for mail that stays within the ADMD.

   The choice of identity to use might not be obvious.  Examples

Hansen, et al.          Expires September 5, 2007              [Page 14]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

      Author:   The domain associated with the RFC2822.From field
         provides basic authorization for the author to generate mail.
         Because the organization controlling that domain is closest to
         the author, they well might be in the best position to offer
         their reputation as a basis for asserting that the content is

      Operator:   Email recipient services have long-used the IP Address
         of a client SMTP server as the basis for assessing whether to
         permit relay or delivery of a message.  These Addresses
         identify the operator of an email service, rather than
         necessarily indicating the author of messages being sent by
         that service.  Use of an operator's domain name is a natural
         extension of this model.

      Third-party:   An independent service might wish to certify an
         author, a message or an operator, by providing its own
         signature to a message.  Hence, evaluation of the message will
         be based upon the identity of that third-party, rather than any
         of the identities involved in creating or transferring the
         message.  Indeed, this model is already emerging among a number
         of reputation-vetting services and is similar to the way a
         credit card permits a customer to make purchases, based upon
         the reputation of the credit card company -- and its
         willingness to issue the card.

   Ultimately, deciding where to sign a message will depend upon both
   the identity being used and tradeoffs among flexibility of uses,
   administrative control, and operational control.  Deciding where to
   verify a message will depend upon the intended use and similar
   concerns about flexibility and control.  A typical choice for
   reputation-related verification will be to place the signature
   verification function "close" to the message-filtering engine.

4.3.  Impact on Email Activities

4.3.1.  Resources

   Although public-key cryptographic authentication is considered to be
   computationally expensive, the real impact of a mechanism like DKIM
   can be remarkably small.  Direct impact on CPU-load has been measured
   to be 10-15%.  Mail handling tends to be I/O-intensive, so that
   dedicated email platforms tend to have unused computational capacity.
   It is therefore likely that no new hardware will be required for
   these systems to be able to add DKIM support.

Hansen, et al.          Expires September 5, 2007              [Page 15]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

4.3.2.  Operations

   The costs to deploy, administer and operate DKIM vary greatly,
   depending upon the placement of DKIM-related modules.  The greatest
   flexibility comes from placing the modules as close as possible to
   the end user.  However this also imposes the greatest costs.  The
   most common scenarios are likely to be:

      Boundary MTA:   Here, DKIM is used only for email external to the
         ADMD.  Administration and operation is the simplest, but could
         cause problems for mobile users who are associated with the
         organization but must send mail using facilities that are
         independent of their home ADMD.  It also provides no assistance
         for inter-departmental accountability within the ADMD..

      MSA/MDA (Department):   Placing DKIM support at the points of
         submission and delivery increases the deployment costs but
         still keeps control within the ADMD's operational staff.  It
         avoids the considerable, added costs of having to enhance all
         of the MUAs.  This does not improve the lot of mobile users who
         submit from independent MSAs, but does provide full protection
         within the ADMD.

      MUA:   Obviously this can provide the most complete protection,
         but at the cost of considerable added administrative effort.
         Worse, there is extensive evidence that email infrastructure
         services often perform changes to message content that can
         break a message signature.  Examples include transformation by
         the MSA to ensure that the message is in full conformance with
         Internet standards and transformation by Boundary MTAs, to
         ensure conformance with organizational policies about external

4.3.3.  Mobile Users

   Mobile users often must post messages through MSAs that are not under
   the control of the user's home ADMD.  Placing DKIM signing into the
   MUA is the only way to ensure that a highly mobile user retains all
   of its benefits, in spite of having to send mail through these
   independent MSAs.  However this leads to the administrative overhead
   of having a DKIM DNS key selector record for each mobile user.  For
   mail reading, no changes are needed.

Hansen, et al.          Expires September 5, 2007              [Page 16]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

4.3.4.  Mailing Lists

   A mailing list takes delivery of a message and reposts it, usually
   with significant changes to the message.  This will often break a
   DKIM signature, although DKIM has some features to survive simple
   mailing list modifications.  For mailing lists that impose
   substantial changes, it will be the responsibility of the list
   operator to add their own DKIM signature.

4.4.  Migrating from DomainKeys

4.4.1.  Signing

      DNS Records:   DKIM is upward compatible with existing DomainKeys
         (DK) [I-D.delany-domainkeys-base] DNS records, so that a DKIM
         module does not automatically require additional DNS
         administration!  However, it should be noted that DKIM has
         enhanced the DomainKeys DNS key record format by adding several
         optional parameters.

      Boundary MTA:   The principle use of DomainKeys is at Boundary
         MTAs.  Because no operational transition is ever instantaneous,
         a signer SHOULD add a DKIM signature to a message that has a
         DomainKeys signature, rather than replacing it, until such time
         as DomainKeys receive-side support is sufficiently reduced.
         With respect to signing policies, a reasonable, initial
         approach is to use DKIM signatures in the same way as
         DomainKeys signatures are already being use.

4.4.2.  Verifying

      DNS Client:   DNS queries for the DKIM key record, use the same
         Domain Name naming conventions and the same basic record
         format.  No changes to the DNS client should be required.

      Verifying module:   See "Signing Module".

4.4.3.  Boundary MTA

   Independent of whether a Boundary MTA is performing general message
   filtering, a helpful practice is to have it check for DKIM signatures
   that purport to be made with a domain name that belongs to the ADMD
   of the Boundary MTA.  If the signature does not validate, the MTA MAY
   decide to delete the signature.

Hansen, et al.          Expires September 5, 2007              [Page 17]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

5.  Service Architecture

   DKIM provides an end-to-end service for signing and verifying
   messages that are in transit.  It is divided into components that can
   be performed using different, external services (e.g., key
   retrieval), although the basic DKIM operation provides an initial

Hansen, et al.          Expires September 5, 2007              [Page 18]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

                                            | - RFC2822 Message
    +-----------+       |         ORIGINATING OR RELAYING ADMD        |
    |  Signer   |       |         ============================        |
    | Practices +......>|  SIGN MESSAGE                               |
    +-----+-----+       |   ...> ADD A SIGNATURE HEADER FIELD         |
          .         ...>|   .     GET (Domain, Selector, Priv-Key)    |
          .        /    |   ...   COMPUTE SIGNATURE                   |
          .        V    +----------------+----------------------------+
          .    +-------+                    | - Message
          .    |  Key  |                    |      1*(Domain, Selector,
          .    | Store |                [Internet]    Sig)
          .    +---+---+                    V
          .        .    +---------------------------------------------+
          .        .    |          RELAYING OR DELIVERING ADMD        |
          .        .    |          ===========================        |
          .        .    |  VERIFY MESSAGE (Verifier Practices)        |
          .        .    |   ...> VERIFY A SIGNATURE HEADER FIELD      |
          .        .    |   .     GET A SIGNATURE                     |
          .        \...>|   .     LOOKUP PUB-KEY (Domain, Selector)   |
          .             |   .     VERIFY SIGNATURE VALUE              |
          .             |   ...   EVALUATE SIGNATURE CONSTRAINTS      |
          .             +-------------------+-------------------------+
          .                                 |  - Verified Domain(s)
          .                                 V  - [Report]
          .             +---------------------------------------------+
          \............>|   MESSAGE DISPOSITION                       |
           ............>|       SIGNER PRACTICES                      |
          /             |       REPUTATION                            |
    +-----+------+      +---------------------------------------------+
    | Reputation |

                    Figure 3: DKIM Service Architecture

   Basic message processing is divided between signing the message,
   validating the signature, and then making further decisions based
   upon the validated signature.  The signing component applies whatever
   signing policies are in force, including ones that determine which
   private key to use.  Validation may be performed by any functional
   component along the relay and delivery path.  Validators retrieve the
   public key based upon the parameters stored in the message.  The
   figure shows using the validated identity to assess an associated
   reputation, but it could be applied to other tasks, such as
   management tracking of mail.

Hansen, et al.          Expires September 5, 2007              [Page 19]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

6.  Development

6.1.  Coding Criteria for Cryptographic Applications

   Correct implementation of a cryptographic algorithm is a necessary
   but not a sufficient condition for coding of cryptographic
   applications.  Coding of cryptographic libraries requires close
   attention to security considerations that are unique to cryptographic

   In addition to the usual security coding considerations, such as
   avoiding buffer or integer overflow and underflow, implementers
   should pay close attention to management of cryptographic private
   keys and session keys, ensuring that these are correctly initialized
   and disposed of.

   Operating system mechanisms that permit the confidentiality of
   private keys to be protected against other processes SHOULD be used
   when available.  In particular, great care MUST be taken when
   releasing memory pages to the operating system to ensure that private
   key information is not disclosed to other processes.

   On multiple processor and dual core architectures, certain
   implementations of public key algorithms such as RSA may be
   vulnerable to a timing analysis attack.

   Support for cryptographic hardware providing key management
   capabilities is strongly encouraged.  In addition to offering
   performance benefits, many cryptographic hardware devices provide
   robust and verifiable management of private keys.

   Fortunately appropriately designed and coded cryptographic libraries
   are available for most operating system platforms under license terms
   compatible with commercial, open source and free software license
   terms.  Use of standard cryptographic libraries is strongly
   encouraged.  These have been extensively tested, reduce development
   time and support a wide range of cryptographic hardware.

6.1.1.  Signer

   Signer implementations SHOULD provide a convenient means of
   generating DNS key records corresponding to the signer configuration.
   Support for automatic insertion of key records into the DNS is also
   highly desirable.  If supported however such mechanism(s) MUST be
   properly authenticated.

   Means of verifying that the signer configuration is compatible with
   the signature policy is also highly desirable.

Hansen, et al.          Expires September 5, 2007              [Page 20]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   Disclosure of a private signature key component to a third party
   allows that third party to impersonate the sender.  Protection of
   private signature key data is therefore a critical concern.  Signers
   SHOULD support use of cryptographic hardware providing key management

   The import and export of private keys, and the ability to generate a
   Certificate Signing Request (CSR) for certificate registration are
   highly desirable.

6.1.2.  Verifier

   Verifiers SHOULD treat the result of the verification step as an
   input to the message evaluation process rather than as providing a
   final decision.  The knowledge that a message is authentically sent
   by a domain does not say much about the legitimacy of the message,
   unless the characteristics of the domain claiming responsibility are

   In particular, verifiers SHOULD NOT automatically assume that an
   email message that does not contain a signature, or that contains a
   signature that does not validate, is forged.  Verifiers should treat
   a signature that fails to validate the same as if no signature were

6.2.  Email Infrastructure Agents

   It is expected that the most common venue for a DKIM implementation
   will be within the infrastructure of an organization's email service,
   such as a department or a boundary MTA.

      Outbound:   An MSA or Outbound MTA should allow for automatic
         verification of the MTA configuration such that the MTA can
         generate an operator alert if it determines that it is (1) an
         edge MTA, (2) configured to send email messages that do not
         comply with the published DKIM sending policy.

         An outbound MTA should be aware that users may employ MUAs that
         add their own signatures and be prepared to take steps
         necessary to ensure that the message sent is in compliance with
         the advertised email sending policy.

      Inbound:   An inbound MTA or an MDA that does not support DKIM
         should avoid modifying messages in ways that prevent
         verification by other MTAs, or MUAs to which the message may be

Hansen, et al.          Expires September 5, 2007              [Page 21]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

      Intermediaries:   An email intermediary is both an inbound and
         outbound MTA.  Each of the requirements outlined in the
         sections relating to MTAs apply.  If the intermediary modifies
         a message in a way that breaks the signature, the intermediary

         +  SHOULD deploy abuse filtering measures on the inbound mail,

         +  MAY remove all signatures that will be broken

      In addition the intermediary MAY:

      *  Verify the message signature prior to modification.

      *  Incorporate an indication of the verification results into the
         message, such as using an Authentication-Results header

      *  Sign the modified message including the verification results
         (e.g., the Authentication-Results header).

6.3.  Filtering

   Developers of filtering schemes designed to accept DKIM
   authentication results as input should be aware that their
   implementations will be subject to counter-attack by email abusers.
   The efficacy of a filtering scheme cannot therefore be determined by
   reference to static test vectors alone; resistance to counter attack
   must also be considered.

   Naive learning algorithms that only consider the presence or absence
   of a valid DKIM signature are vulnerable to an attack in which a
   spammer or other malefactor signs all their mail, thus creating a
   large negative value for presence of a DKIM signature in the hope of
   discouraging widespread use.

   If heuristic algorithms are employed, they should be trained on
   feature sets that sufficiently reveal the internal structure of the
   DKIM responses.  In particular the algorithm should consider the
   domains purporting to claim responsibility for the signature, rather
   than the existence of a signature or not.

   Unless a scheme can correlate the DKIM signature with accreditation
   or reputation data, the presence of a DKIM signature SHOULD be

Hansen, et al.          Expires September 5, 2007              [Page 22]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

6.4.  DNS Server

   At a minimum, a DNS server that handles queries for DKIM key records
   must perform server administrators to add free-form TXT records.  It
   would, of course, be better for provide them with a structured form,
   to support the DKIM-specific fields.

7.  Deployment

   This section describes the basic steps for introducing DKIM into an
   organization's email service operation.  The considerations are
   divided between the generating DKIM signatures (Signing) and the
   processing of messages that contain a DKIM signature (Verifying).

7.1.  Signing

   Creating messages that have DKIM signatures requires modification of
   only two portions of the email service:

   o  Addition of relevant DNS information.

   o  Addition of the signature by a trusted module within the
      organization's email handling service.

   The signing module uses the appropriate private key to create a
   signature.  The means by which the signing module obtains this key is
   not specified by DKIM.  Given that DKIM is intended for use during
   email transit, rather than for long-term storage, it is expected that
   keys will be changed regularly.  Clearly this means that key
   information should not be hard-coded into software.

7.1.1.  DNS Records

   A receiver attempting to validate a DKIM signature must obtain the
   public key that is associated with the signature for that message.
   The DKIM-Signature header in the message will specify the basic
   domain name doing the signing and the selector to be used for the
   specific public key.  Hence, the relevant
   <selector>._domainkeys.<domain-name> DNS record needs to contain a
   DKIM-related resource record (RR) that provides the public key

   The administrator of the zone containing the relevant domain name
   adds this information.  Initial DKIM DNS information is contained
   within TXT RRs.  DNS administrative software varies considerably in
   its abilities to add new types of DNS records.

Hansen, et al.          Expires September 5, 2007              [Page 23]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

7.1.2.  Signing Module

   The module doing signing can be placed anywhere within an
   organization's trusted Administrative Management Domain (ADMD);
   common choices are expected to be department-level posting and
   delivering agents, as well as boundary MTAs to the open Internet.
   (Note that it is entirely acceptable for MUAs to perform signing and
   validation.)  Hence the choice among the modules depends upon
   software development and administrative overhead tradeoffs.  One
   perspective that helps resolve this choice is the difference between
   the flexibility of use by systems at (or close to) the MUA, versus
   the centralized control that is more easily obtained by implementing
   the mechanism "deeper" into the organization's email infrastructure,
   such as at its boundary MTA.

7.1.3.  Signing Policies and Practices

   Every organization (ADMD) will have its own policies and practices
   for deciding when to sign messages and with what domain name and key
   (selector).  Examples include signing all mail, signing mail from
   particular email addresses, or signing mail from particular sub-
   domains.  Given this variability, and the likelihood that signing
   practices will change over time, it will be useful to have these
   decisions represented in some sort of configuration information,
   rather than being more deeply coded into the signing software.

7.2.  Verifying

   Verification is performed within an ADMD that wishes to make
   assessments based upon the DKIM signature's domain name.  Any
   component within the ADMD that handles messages, whether in transit
   or being delivered, can do the verifying and subsequent assessments.
   Verification and assessment might occur within the same software
   mechanism, such as a Boundary MTA, or an MDA.  Or they may be
   separated, such as having verification performed by the Boundary MTA
   and assessment performed by the MDA.

   As with the signing process, choice of service venues for
   verification and assessment -- such as filtering or presentation to
   the recipient user -- depend on trade-offs for flexibility, control,
   and operational ease.  An added concern is that the linkage between
   verification and assessment entails essential trust: the assessment
   module MUST have a strong basis for believing that the verification
   information is correct.

Hansen, et al.          Expires September 5, 2007              [Page 24]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

7.2.1.  DNS Client

   The primary means of publishing DKIM key information, initially, is
   initially through DNS TXT records.  Some DNS client software might
   have problems obtaining these records; as DNS client software
   improves this will not be a concern.

7.2.2.  Boundary Enforcement

   In order for an assessment module to trust the information it
   receives about verification (e.g., Authentication-Results headers),
   it MUST eliminate verification information originating from outside
   the ADMD in which the assessment mechanism operates.  As a matter of
   friendly practice, it is equally important to make sure that
   verification information generated within the ADMD not escape outside
   of it.

   In most environments, the easiest way to enforce this is to place
   modules in the receiving and sending Boundary MTA(s) that strip any
   existing verification information.

7.3.  Mail User Agent

   DKIM is designed to support deployment and use in email components
   other than an MUA.  However an MUA MAY also implement DKIM features

      Outbound:   If an MUA is configured to send email directly, rather
         than relayed through an outbound MSA, the MUA SHOULD be
         considered as if it were an outbound MTA for the purposes of
         DKIM.  An MUA MAY support signing even if mail is to be relayed
         through an outbound MSA.  In this case the signature applied by
         the MUA may be in addition to any MSA signature.

      Inbound:   An MUA MAY rely on a report of a DKIM signature
         verification that took place at some point in the inbound MTA
         path (e.g., an Authentication-Results header), or an MUA MAY
         perform DKIM signature verification directly.  A verifying MUA
         SHOULD allow for the case where mail is modified in the inbound
         MTA path.

7.4.  Transition strategy

   Deployment of a new signature algorithm without a 'flag day' requires
   a transition strategy such that signers and verifiers can phase in
   support for the new algorithm independently, and (if necessary) phase

Hansen, et al.          Expires September 5, 2007              [Page 25]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   out support for the old algorithm independently.

   [Note: this section assumes that a security policy mechanism exists.
   It is subject to change.]

   DKIM achieves these requirements through two features: First a signed
   message may contain multiple signatures created by the same signer.
   Secondly the security policy layer allows the signing algorithms in
   use to be advertised, thus preventing a downgrade attack.

7.4.1.  Signer transition strategy

   Let the old signing algorithm be A, the new signing algorithm be B.
   The sequence of events by which a Signer may introduce the new
   signing algorithm B, without disruption of service to legacy
   verifiers, is as follows:

   1.  Signer signs with algorithm A

       A.  Signer advertises that it signs with algorithm A

   2.  Signer signs messages twice, with both algorithm A and algorithm

       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

   4.  Signer determines that support for algorithm A is to be withdrawn

       A.  Signer removes advertisement for Algorithm A

       B.  Signer waits for cached copies of earlier signature policy to

       C.  Signer stops signing with Algorithm A

7.4.2.  Verifier transition strategy

   The actions of the verifier are independent of the signer's actions
   and do not need to be performed in a particular sequence.  The
   verifier may make a decision to cease accepting algorithm A without
   first deploying support for algorithm B. Similarly a verifier may be
   upgraded to support algorithm B without requiring algorithm A to be

Hansen, et al.          Expires September 5, 2007              [Page 26]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   withdrawn.  The decisions of the verifier must make are therefore:

   o  The verifier MAY change the degree of confidence associated with
      any signature at any time, including determining that a given
      signature algorithm provides a limited assurance of authenticity
      at a given key strength.

      *  A verifier MAY evaluate signature records in any order it
         chooses, including using the signature algorithm to choose the

   o  The verifier MAY make a determination that Algorithm A does not
      offer a useful level of security, or that the cost of verifying
      the signature is less than the value of doing so.

      *  In this case the verifier would ignore signatures created using
         algorithm A and references to algorithm A in policy records
         would be treated as if the algorithm were not implemented.

   o  The verifier MAY decide to add support for additional signature
      algorithms at any time.

      *  The verifier MAY add support for algorithm B at any time.

8.  On-going Operations

   This section describes the basic steps for operation of email systems
   that use DKIM, after the capability has initially been deployed.  The
   primary considerations are:

   o  the upkeep of the selector files, and

   o  the security of the private keys.

8.1.  DNS Signature Record Deployment Considerations

   The key point to remember is that the DNS DKIM selectors WILL and
   SHOULD be changed over time.  Some reasons for changing DKIM
   selectors are well understood; others are still theoretical.  There
   are several schemes that may be used to determine the policies for
   changing DKIM selectors:

   o  time based

   o  associations with clusters of servers

Hansen, et al.          Expires September 5, 2007              [Page 27]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   o  the use of third party signers

   o  security considerations

8.1.1.  Time Basis and Security Considerations

   The reason for changing the selector periodically is usually related
   to the security exposure of a system.  When the potential exposure of
   the private keys associated with the DKIM selector have reached
   sufficient levels, the selector should be changed.  (It is unclear
   currently what kinds of metrics can be used to aid in deciding when
   the exposure has reached sufficient levels to warrant changing the

   For example,

   o  Selectors should be changed more frequently on systems that are
      widely exposed, than on systems that are less widely exposed.  For
      example, a gateway system that has numerous externally-accessible
      services running on it, is more widely exposed than one that ONLY
      runs a mail server.

   o  Selectors should be changed more frequently on operating systems
      that are under wide attack.

   o  While the use of DKIM information is transient, keys with
      sufficient exposure do become stale and should be changed.

   o  Whenever you make a substantial system change, such as bringing up
      a new server, or making a major operating system change, you
      should consider changing the selector.

   o  Whenever there is either suspicion or evidence of the compromise
      of the system or the private keys, you should change the selector.

8.1.2.  Deploying New Selectors

   A primary consideration in changing the selector is remembering to
   change it.  It needs to be a standard part of the operational staff
   Methods and Procedures for your systems.  If they are separate, both
   the mail team and the DNS team will be involved in deploying new

   When deploying a new selector, it needs to be phased in:

   1.  generate the new public / private key pair and create a selector
       record with the public key in it

Hansen, et al.          Expires September 5, 2007              [Page 28]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   2.  add the new selector record to your DNS

   3.  verify that the new selector record can be used to verify

   4.  turn on signing with the new private key

   5.  remove the old private key from your servers

   6.  after a period of time, remove the old selector from your DNS

   The time an unused selector should be kept in the DNS system is
   dependent on the reason it's being changed.  If the private key has
   definitely been exposed, the corresponding selector should be removed
   immediately.  Otherwise, longer periods are allowable.

8.1.3.  Subdomain Considerations

   A Domain Name is the basis for making differential quality
   assessments about a DKIM-signed message.  It is reasonable for a
   single organization to have a variety of very different activities,
   which warrant a variety of very different assessments.  A convenient
   way to distinguish among such activities is to sign with different
   domain names.  That is, the organization should sign with sub-domain
   names that are used for different organizational activities.

8.1.4.  Third party Signature Delegations

   Allowing third parties to sign email from your domain opens your
   system security to include the security of the third party's systems.
   At a minimum, you should not allow the third parties to use the same
   selector and private key as your main mail system.  It is recommended
   that each third party be given their own private key and selector.
   This limits the exposure for any given private key, and minimizes the
   impact if any given private key were exposed.

8.2.  Private Key Management

   The permissions of private key files must be carefully managed.  If
   key management hardware support is available, it should be used.
   Auditing software should be used to periodically verify that the
   permissions on the private key files remain secure. [ Expand this
   section? ]

8.3.  Mailing list manager developers

   A mailing list often provides facilities to its administrator to
   manipulate parts of the mail messages that flow through the list.

Hansen, et al.          Expires September 5, 2007              [Page 29]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   The desired goal is that messages flowing through the mailing list
   will be verifiable by the recipient as being from the list, or
   failing that, as being from the individual list members.

   In most cases, the list and/or its mail host SHOULD add its own DKIM
   signature to list mail.  This could be done in the list management
   software, in an outgoing MSA or MTA, or both.  List management
   software often makes modifications to messages that will break
   incoming signatures, such as adding subject tags, adding message
   headers or footers, and adding, deleting, or reordering MIME parts.
   By adding its own signature after these modifications, the list
   provides a valid recognizable signature for list recipients.

   In some cases, mailing list software is simple enough that signatures
   on incoming messages will still be valid after being remailed by the
   list.  It is still preferable that the list sign its mail so that
   recipients can distinguish mail sent through the list from mail sent
   directly by list members, but in the absence of a list signature, a
   recipient may be able to recognize and use the signatures of list
   members known to the recipient.

9.  Example Uses

   A DKIM signature tells the signature verifier that the owner of a
   particular domain name accepts responsibility for the message.
   Combining this information with information that allows the history
   of the domain name owner to be assessed may allow processing the
   message, based on the probability that the message is likely to be
   trustworthy, or not, without the need for heuristic content analysis.

9.1.  Protection of Internal Mail

   One identity is particularly amenable to easy and accurate
   assessment: The organization's own identity!  Members of an
   organization tend to trust messages that purport to be from within
   that organization.  However Internet Mail does not provide a
   straightforward means of determining whether such mail is, in fact,
   from within the organization.  DKIM can be used to remedy this
   exposure.  If the organization signs all of its mail, then its
   boundary MTAs can look for mail purporting to be from the
   organization but which does not contain a valid signature.  Such mail
   can be presumed to be spurious.

9.2.  Recipient-based Assessments

   Recipients of large volumes of email can generate reputation data for
   email senders internally.  Recipients of smaller volumes of messages

Hansen, et al.          Expires September 5, 2007              [Page 30]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   are likely to need to acquire reputation data from a third party.  In
   either case the use of reputation data is intrinsically limited to
   email senders that have established a prior history of sending

   In fact, an email receiving service may be in a position to establish
   bilateral agreements with particular senders, such as business
   partners or trusted bulk sending services.  Although it is not
   practical for each recipient to accredit every sender, definition of
   core networks of explicit trust can be quite useful.

9.2.1.  Third-party Assessments

   For scaling efficiency, it is appealing to have Trusted Third Party
   assessment services, to allow an email sender to obtain a single
   assessment that is then recognized by every email recipient that
   recognizes the Trusted Third Party.

9.3.  DKIM Support in the Client

   The DKIM specification is expected to be used primarily between
   Boundary MTAs, or other infrastructure components of the originating
   and receiving ADMDs.  However there is nothing in DKIM that is
   specific to those venues.  In particular, it should be possible to
   support signing and validating in MUAs.

   However, it is comment for components of an ADMD's email
   infrastructure to do violence to message, so as to render a DKIM
   signature invalid.  Hence, users of MUAs that support DKIM signing
   and/or validating need a basis for knowing that their associated
   email infrastructure will maintain signature validity.

   DKIM requires that all verifiers treat messages with signatures that
   do not verify as if they are unsigned.  If verification in the client
   is to be acceptable to users, it is also essential that successful
   verification of a signature not result in a less than satisfactory
   user experience compared to leaving the message unsigned.

9.4.  Per user signature

   Although DKIM's use of domain names is optimized for a scope of
   organization-level signing, it is possible to have sub-domains and/or
   selectors be administered in a way that supports per-user signing.

   NOTE:   As stated earlier, it is important to distinguish between use
      of selectors, for differential administration of keys, versus sub-
      domains, for differential reputations.

Hansen, et al.          Expires September 5, 2007              [Page 31]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   As a constraint on an authorized DKIM signing agent, their associated
   key record can specify restrictions on the email addresses permitted
   to be signed with that domain and key.  A typical intent of this
   feature is to allow a company to delegate the signing authority for
   bulk marketing communications without the risk of effectively
   delegating the authority to sign messages purporting to come from the
   domain-owning organization's CEO.

   NOTE:   Any scheme that involves maintenance of a significant number
      of public keys is likely to require infrastructure enhancements,
      to support that management.  For example, a system in which the
      end user is required to generate a public key pair and transmit it
      to the DNS administrator out of band is not likely to meet
      acceptance criteria for either usability or security.

10.  Acknowledgements


11.  { Misc Text -- Should go elsewhere, if used at all }

   DKIM permits the signing identity to be different from the identities
   used for the author or the initial posting agent.  This is essential,
   for example, to enable support of signing by authorized third-
   parties, and to permit signatures by email providers who are
   otherwise independent of the domain name of the message author.

   DKIM permits restricting the use of a signature key to particular
   types of services, such as only for email.  This is helpful when
   delegating signing authority, such as to a particular department or
   to a third-party outsourcing service.

   With DKIM the signer MUST explicitly list the headers that are
   signed.  This is an improvement because it requires the signer to use
   the more conservative (likely to verify correctly) mechanism and
   makes it considerably more robust against the handling of
   intermediary MTAs.

   DKIM self-signs the DKIM-Signature header field, to protect against
   its being modified.

   In order to survive the vagaries of different email transfer systems,
   mechanisms like DKIM must evaluate the message data in some canonical
   form, such as treating a string of spaces as tabs as if they were a
   single space.  DKIM has added the "relaxed" canonicalization in place
   of "nofws".

Hansen, et al.          Expires September 5, 2007              [Page 32]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

   MUA UI considerations

   key delegation/ 3rd party

12.  Informative References

              Delany, M., "Domain-based Email Authentication Using
              Public Keys Advertised in the DNS  (DomainKeys)",
              draft-delany-domainkeys-base-06 (work in progress),
              July 2006.

              Allman, E., "DomainKeys Identified Mail (DKIM)
              Signatures", draft-ietf-dkim-base-10 (work in progress),
              February 2007.

              Fenton, J., "Analysis of Threats Motivating DomainKeys
              Identified Mail (DKIM)", draft-ietf-dkim-threats-03 (work
              in progress), May 2006.

              Kucherawy, M., "Message Header for Indicating Sender
              Authentication Status",
              draft-kucherawy-sender-auth-header-04 (work in progress),
              February 2007.

   [RFC0989]  Linn, J. and IAB Privacy Task Force, "Privacy enhancement
              for Internet electronic mail: Part I: Message encipherment
              and authentication procedures", RFC 989, February 1987.

   [RFC1848]  Crocker, S., Galvin, J., Murphy, S., and N. Freed, "MIME
              Object Security Services", RFC 1848, October 1995.

   [RFC1991]  Atkins, D., Stallings, W., and P. Zimmermann, "PGP Message
              Exchange Formats", RFC 1991, August 1996.

   [RFC2821]  Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
              April 2001.

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

   [RFC3156]  Elkins, M., Del Torto, D., Levien, R., and T. Roessler,
              "MIME Security with OpenPGP", RFC 3156, August 2001.

Hansen, et al.          Expires September 5, 2007              [Page 33]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

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

Authors' Addresses

   Tony Hansen
   AT&T Laboratories
   200 Laurel Ave.
   Middletown, NJ  07748


   Dave Crocker
   Brandenburg InternetWorking
   675 Spruce Dr.
   Sunnyvale, CA  94086


   Phillip Hallam-Baker
   VeriSign Inc.


Hansen, et al.          Expires September 5, 2007              [Page 34]

Internet-Draft    DKIM Message Signing Service Overview       March 2007

Full Copyright Statement

   Copyright (C) The IETF Trust (2007).

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

   This document and the information contained herein are provided on an

Intellectual Property

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

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

   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


   Funding for the RFC Editor function is provided by the IETF
   Administrative Support Activity (IASA).

Hansen, et al.          Expires September 5, 2007              [Page 35]