Using Multiple Signing Algorithms with the ARC (Authenticated Received Chain) Protocol
LinkedIn
1000 West Maude Ave
Sunnyvale
California
94085
US
kurta@linkedin.com
ValiMail
Montgomery
San Francisco
California
US
seth@valimail.com
Taughannock Networks
PO Box 727
Trumansburg
New York
US
standards@taugh.com
art
DMARC Working Group
Internet-Draft
The Authenticated Received Chain (ARC) protocol creates a mechanism whereby a
series of handlers of an email message can conduct authentication of the email
message as it passes among them on the way to its destination.
Initial development of ARC has been done with a single allowed signing
algorithm, but RFC 8463 has expanded the supported
algorithms. This specification defines how to extend ARC for multiple signing
algorithms.
The Authenticated Received Chain (ARC) protocol adds a traceable chain of
signatures that cover the handling of an email message through a chain of
intermediary handlers.
Initial development of ARC has been done with a single allowed signing
algorithm, but RFC 8463 expanded the supported
algorithms. This specification defines how to extend ARC for multiple signing
algorithms.
In order to phase in new signing algorithms, this specification identifies how
signers and validators process ARC sets found in email messages.
This section defines terms used in the rest of the document.
The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be
interpreted as described in .
Because many of the core concepts and definitions are found in ,
readers should to be familiar with the contents of , and in
particular, the potential roles of intermediaries in the delivery of email and
the problems created by the initial DMARC .
To enable multiple algorithms, all of the statements in
the ARC spec which refer to "exactly one set of ARC headers per instance" need
to be understood as "at least one set per instance and no more than one set per
instance per algorithm".
There is a separate independent signing chain for each signing algorithm.
Hence, when creating an ARC signature, a signer MUST include only other
signatures that use the same algorithm as the signature being created.
Wnen signing a message with no previous ARC signatures, signers MUST sign using
all supported algorithms.
A signer MUST continue the longest ARC chain(s) in a message with all
algorithms that it supports. That is, if at least one of the longest chains
uses an algorithm that a signer supports, the signer continues the chain(s).
If none of the longest chains in a message use an algorithm supported by a
signer, the signer MUST NOT extend any chains, even if a shorter chain does use
a supported algorithm.
A validator MUST use the longest ARC chain(s) on the message.
If a validator cannot interpret the signing algorithm on any of the longest chains,
validation fails, evven if a shorter chain does use a supported algorithm.
If there is more than one longest chain, the overall result reported can be that of of any of
the validations. The result used when extending an ARC chain MUST be the result
from validating that chain.
Intermediaries MUST be able to validate ARC chains built with either algorithm
but MAY create ARC sets with either (or both) algorithm.
The introductory period should be at least six (6) months.
Intermediaries MUST be able to validate ARC chains build with either algorithm
and MUST create ARC sets with both algorithms. Chains ending with either
algorithm may be used for the result.
ARC sets built with algorithms that are being deprecated MAY be considered
valid within an ARC chain, however, intermediaries MUST NOT create additional
sets with the deprecated algorithm.
The deprecation period should be at least two (2) years.
ARC sets built with algorithms that are obsolete MUST NOT be considered
valid within an ARC chain. Intermediaries MUST NOT create any
sets with any obsoleted algorithm.
No unique privacy considerations are introduced by this specification beyond those
of the base protocol.
No new IANA considerations are introduced by this specification.
No new security considerations are introduced by this specification beyond those
of the base protocol.
Authenticated Received Chain (ARC) Protocol (I-D-16)
This draft is the work of DMARC Working Group.
Grateful appreciation is extended to the people who provided feedback through the discuss
mailing list.
Please address all comments, discussions, and questions to dmarc@ietf.org.