Internet DRAFT - draft-wchuang-grunion
draft-wchuang-grunion
Application Area Working Group W. Chuang
Internet-Draft Google, Inc.
Expires: April 10, 2016 October 8, 2015
S/MIME Proxy Forwarding
draft-wchuang-grunion-01
Abstract
S/MIME provides the means to protect message body content but does
not protect the sender and recipient identity nor other headers. We
propose a means to do so by proxying the sending and receiving via a
trusted SMTP server. This document describes how the proxyies are
discovered and the wrapped messages created. This then describes how
the proxy forwarding is done.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on April 10, 2016.
Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Chuang Expires April 10, 2016 [Page 1]
Internet-Draft SMIME-Grunion October 2015
This document may not be modified, and derivative works of it may not
be created, and it may not be published except as an Internet-Draft.
Table of Contents
1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Fully Trusted Proxy . . . . . . . . . . . . . . . . . . . 5
2.2. Partly Trusted Proxy . . . . . . . . . . . . . . . . . . 6
3. Proxying Metadata . . . . . . . . . . . . . . . . . . . . . . 6
3.1. CMS Extension . . . . . . . . . . . . . . . . . . . . . . 7
3.2. Certificate Extension . . . . . . . . . . . . . . . . . . 8
4. Message Sending And Receiving . . . . . . . . . . . . . . . . 9
4.1. Outbound . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2. Inbound . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Handling Bounce Message . . . . . . . . . . . . . . . . . 10
4.4. Header Processing . . . . . . . . . . . . . . . . . . . . 11
5. General Delivery Traffic with Grunion Delivery . . . . . . . 11
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.1. References . . . . . . . . . . . . . . . . . . . . . . . 12
6.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12
1. Motivation
Making private the email sender and recipient remains an open issue
for email delivery despite several privacy protecting RFCs. S/MIME
[RFC5751] provides for the means to wrap the message body but not the
header in an effective way, Secure Headers Fields [RFC7508] provides
a means to wrap most headers but not the envelope sender and
recipient, and Secure SMTP over TLS [RFC2487] has limitations
described as follows. Traditionally mail delivery through SMTP is
sent via cleartext and many SMTP servers still only offer this. To
enhance security, SMTP may offer TLS, but the STARTTLS option may be
hidden by an active Man-In- the-middle (MitM) that prevents the
initiation of the handshake that makes the message delivery private
(EFF link) [1]. Further, a sophisticated MitM adversary may allow
encryption but with their own TLS keys so they can eavesdrop all the
while depending on certain clients not to check the validity of the
server TLS certificates.
Thus mail delivery despite significant effort is still vulnerable to
eavesdropping or MitM. The recent Snowden leaks about the PRISM
program have shown that relationship metadata about who is
communicating with whom is often as important as the message
contents.
Chuang Expires April 10, 2016 [Page 2]
Internet-Draft SMIME-Grunion October 2015
2. Introduction
We propose that S/MIME wrapped, meaning encrypted messages, be sent
through partly or fully trusted SMTP MSA and MDA servers via proxy
accounts that act as forwarders that hide the true recipient and
sender. While it is assumed that a (partly or fully) trusted network
can be established between the sender and recipient to their
respective proxy SMTP servers (MSA and MDA), mail delivery between
the proxy SMTP servers is assumed to be untrusted i.e. vulnerable to
passive monitoring and MitM. We propose a process described later by
which only the non- identifying forwarding proxy accounts names are
potentially seen by the eavesdropper and that the message body is
wrapped in a way that does not leak the contents nor the true sender
or recipient identity. The proxy accounts should sustain enough
aggregate traffic and be unrelated to the original sender and
recipient such that traffic analysis is very difficult. The
following diagram illustrates the proxying process. This forwarding
via proxies is analogous to a networking proxying and forwarding of
Chaum-mixes wrapped messages in Onion routing. Our approach also
uses proxies and Chaum message wrapping but differs in that the
sender and receiver have trusted proxies that are statically defined
and willing to support mail flow (which may be large). To
differentiate we call this process S/MIME Grunion forwarding after
the small fish that likes to bury itself in the sand when spawning.
+-----+ +-----+
+--------+ +--------+ +-+ +-+ +--------+ +-+ +-+
| | | Sender | |Untrusted| | Proxy | |Untrusted|
| Sender +--> MSA +-->Network +--> Sender +-->Network +-+
| | | | +-+ +-+ | MSA | +-+ +-+ |
+--------+ +--------+ +-----+ +--------+ +-----+ |
|
+----------------------------------------------------------+
|
| +----------+ +-----+ +----------+ +-----------+
| | Proxy | +-+ +-+ | Recipient| | |
+--> Recipient+-->Untrusted+--> MDA +--> Recipient |
| MDA | |Network | | | | |
+----------+ +-+ +-+ +----------+ +-----------+
+-----+
Figure 1: SMTP Delivery with Partly Trusted Proxying
We differentiate the proxy as partly or fully trusted as an optional
profile provides increased security at the cost of additional
encryption and special handling for bounced messages. The partly
trusted proxy is used when the sender and recipient do not trust the
proxy MSA and MDA SMTP servers to see the body content, the full
Chuang Expires April 10, 2016 [Page 3]
Internet-Draft SMIME-Grunion October 2015
path, or message headers. The sender proxy is not trusted to know
who the recipient is, and the recipient proxy is not trusted to see
who the sender is. However the proxies are trusted to forward the
message on behalf of the sender and to do cryptographic processing.
It also similarly does not trust the network between the end-point to
see the body content, the full path, or message headers. This
approach uses S/MIME message/822 header [RFC5751] (RFC5751 sec 3.1)
to wrap the whole message including the header and body. A new
headers suitably modified with the proxy sender and recipients as
described shortly is prepended. Special consideration must be made
to protect the end-point privacy when specifying a return path in
case of bounce messages, when handling message headers generated
during the delivery process and when signing the message.
+--------+ +--------+ +------+ +-----------+ +-----------+
| | | Proxy | +-+ +-+ | Proxy | | |
| Sender +----> Sender +--> Untrusted+--> Recipient +--> Recipient |
| | | MSA | | Network | | MDA | | |
+--------+ +--------+ +-+ +-+ +-----------+ +-----------+
+------+
Figure 2: SMTP Delivery with Fully Trusted Proxying
The fully trusted proxy is used when the sender and recipient trust
the proxy SMTP servers to be given the clear-text headers but wishes
to use the proxied wrapping of the message when the message is
delivered between the MSA and MDA. Here the network between end-
point and the proxy SMTP servers is fully trusted meaning is capable
of keeping messages private. This might be guaranteed by
communication through a closed network behind a firewall, or it might
be on the open internet but guaranteed to prevent an active MiTM by
mandating use of SMTP TLS with certificate chain checks. It also
assumed that bounce messages are not generated from the end-points to
the proxying SMTP server as the bounce with the original headers
might reveal content to the untrusted network. This restriction for
fully trusted proxying precludes more elaborate send paths that the
partially trusted proxying can support. Fully trusted proxying will
also be capable of handling traditional S/MIME CMS [RFC5652] parts be
it signed or encrypted if the sender wishes to keep the message
content private from the proxy servers yet authenticated. The
advantage of the partly trusted proxy approach is that by being able
to read the headers at the proxies, it does not special handling for
return-path or 'Received:' headers which greatly simplifies message
setup at the client, and during forwarding which reduces runtime
overhead. While both partly and fully trusted proxying modes should
be supported, it is likely that fully trusted proxying will be much
easier to deploy while maintaining most of the desired privacy
properties. Because of the ease of deployment, we proposed that
Chuang Expires April 10, 2016 [Page 4]
Internet-Draft SMIME-Grunion October 2015
another use of the fully trusted proxy model could be used as a
general replacement for opportunistic TLS even when the original
message did not use S/MIME so long as both the sender and recipient
SMTP support this model. This will be described later in the
document.
2.1. Fully Trusted Proxy
The Fully Trusted Proxy diagram below illustrates that the proxy-
sender wraps the original message once and sets a proxy header using
the proxy-sender and proxy-recipient where the content may already be
a RFC5751 S/MIME wrapped message. The Grunion S/MIME wrapped message
and proxy head is what is seen by the untrusted network until it is
received by the proxy-recipient which unwraps the original message
and forwards it to the true recipient. The proxy sender is also
capable of unwrapping the Grunion message in case of bounces. In the
following table, the sender proxy address is assumed to be in the
same domain as the sender, and similarly the recipient proxy address
is assumed to be in the same domain as the recipient.
The later tables illustrates the differences between partly vs fully
trusted proxy methods. Note that CMS may wrap the message body only
or both header and message body. The tables describe the TO and FROM
headers addresses and the SMTP TO and FROM addresses (envelope TO and
FROM) at each step. The Message column indicates S/MIME message body
wrapping where the public keys used are: ps- proxy sender, pr- proxy
recipient, r- recipient. Note that the bounce (not illustrated) may
also use the recipient public key. The domains are: S- sender, R-
recipient and potentially PS- proxy sender, PR-proxy recipient. The
headers are: h- original header, and h_p- proxy header.
Step FROM TO SMTP FROM SMTP TO Message (after)
Sender(orig) send@S recip@R (h,b)
Sender proxy@S proxy@R send@S proxy@S (h_p, Kpr(h, Kr(b)))
Proxy-Sender proxy@S proxy@R proxy@S proxy@R (h_p, Kpr(h, Kr(b)))
+ MSA
Proxy-Recipient proxy@S proxy@R (h, Kr(b))
+ MDA
Recipient send@S recip@R (h, b)
(decrypted)
Figure 3: Fully Trusted Message Header and Body
Note that the SMTP FROM (MAIL FROM) address is rewritten at the Proxy
Sender MSA from sender@S to proxy@S as that server notices the
Grunion message being forwarded.
Chuang Expires April 10, 2016 [Page 5]
Internet-Draft SMIME-Grunion October 2015
2.2. Partly Trusted Proxy
The Partly Trusted Proxy diagram illustrates that the message is
wrapped thrice with proxy headers by the true sender so as to hide
the true path even from the proxies.
Step FROM TO SMTP FROM SMTP TO Message (after)
Sender(orig) send@S recip@R (h, b)
Sender MSA send@S proxy@PS send@S proxy@PS (h_ps, Kps(
(h_pr, Kpr(
(h_r, Kr(h, b))
))))
Proxy-Sender MSA proxy@PS proxy@PR proxy@PS proxy@PR (h_pr, Kpr(
(h_r, Kr(h, b))))
Proxy-Recipient proxy@PR recip@R proxy@PR recip@R (h_r, Kr(h, b))
MDA
Recipient MSA proxy@PR recip@R (h_r, Kr(h, b))
Recipient send@S recip@R (h, b)
(decrypted)
Figure 4: Partly Trusted Message Header and Body
Proxy accounts define a new altered delivery path that hides the
original sender and recipient by replacing them with a new sender and
recipient email address i.e. proxy accounts. Discovery of the proxy
accounts is through the X.509 certificates or CMS through a new
certificate extension or by a CMS extension that points to the
aforementioned extension. In the X.509 case, this is found by
searching the certificate chain from the end-entity certificate
through the intermediate Certificate Authority certificates. Both
the sender and the recipient must each specify a certificate chain
where one of the certificates has the extension for the S/MIME
Grunion routing to work. The extensions are described shortly.
3. Proxying Metadata
Grunion routing requires several CMS and X.509 Certificate extensions
for the purposes of discovering proxying certificates, for
determining which forwarding profile to use, and to support message
delivery during forwarding. One feature is duplicating the proxying
certificate discovery specification in both CMS and X.509
certificate. The advantage of the X.509 extension is that it must be
valid for duration of the certificate validity i.e. proxying support
must be valid during that time whereas the CMS extension has no such
guarantee. However there is a bootstrapping problem which the CMS
extension resolves. The certificate issuer might want to prove that
the proxying path does deliver mail via the proxy SMTP server to or
Chuang Expires April 10, 2016 [Page 6]
Internet-Draft SMIME-Grunion October 2015
from the recipient and server. The issuer could generate a test
message via the CMS format. Once the path is proven a certificate
with the X.509 extensions can be issued.
3.1. CMS Extension
Senders supporting this protocol should advertise this support via a
CMS signed-attribute as described in RFC5652 [RFC5652] and RFC2634
[RFC2634] called TrustedProxySupported. The OID for this attribute
is TBD. This attribute may take an repeated argument
certificatePaths which is the same format as Subject Information
Accesss in RFC5280 [RFC5280] section 4.2.2.2 which describes a means
to obtain certificates from a remote location e.g. URL. This
follows the guidelines there for fetching certificates using a
specified protocol and then how to interpret the fetched content.
There is a second argument certificateIdentifier that specifies which
certificates found at the remote location can be used for
TrustedProxying. This is the same format as the Authority Key
Identifier information in RFC5280 [RFC5652] section 4.2.1.1. If the
certificatePaths and/or certificateIdentifier argument are not
present, then it is assumed that the proxying certificates for the
Grunion forwarding profile is discovered from the certificates in the
message signature i.e. certificates in the CMS SignedData part.
Specifying more than one certificateIdentifier provides path
diversity and when multiple are present the sender should randomly
pick one to use. The ASN.1 syntax is:
TrustedProxySupported := SEQUENCE {
certificatePaths SubjectInfoAccessSyntax OPTIONAL
certificatesIdentifier ProxyCertificateIdentifier OPTIONAL
}
ProxyCertificateIdentifier := SEQUENCE {
keyIdentifier KeyIdentifier OPTIONAL,
proxyCertIssuer GeneralNames OPTIONAL,
proxyCertSerialNumber CertificateSerialNumber OPTIONAL
}
KeyIdentifier ::= OCTET STRING
Figure 5: TrustedProxySupported
Messages with the TrustedProxySupported attribute must specify a
Grunion proxying certificate either referenced by the certificate
specified by certificatesPaths/certificateIdentifier or from the
signature certificate with a TrustedProxyCertificate extension (next
section). This is intended to help the sender find information
needed to set up S/MIME Grunion forwarding but does not necessarily
indicate that the current message is using S/MIME Grunion forwarding.
Chuang Expires April 10, 2016 [Page 7]
Internet-Draft SMIME-Grunion October 2015
There is a second signed attribute TrustedProxyForwarding that
indicates a message is using the Grunion forwarding. The OID is TBD.
This takes two arguments. The first bounceMessage is an optional
pre- generated bouncy message. This is not set if using the fully
trusted proxying or if the message is already a bounce. If the pre-
generated bounce message is needed, then the sender creates the
bounceMessage for each wrapped CMS part as otherwise the bounce
message is lost during unwrapping. They use the same structure as
partly trusted proxying to protect privacy but addressed in the
reverse direction i.e. from current location back to the sender. The
inner message contains an indication that the message has bounced,
some identifying message-id header to correlate the bounce to the
original message, and a description of the current proxy that will
likely generate the bounce e.g. destination address. Then working
from sender back to the current location, the message is recursively
wrapped with that destination's public key. A new header with the
destination address as TO is appended. The second argument is the
Grunion forwarding profile used i.e. whether partly or fully trusted
proxying is assumed.
TrustedProxyForwarding := SEQUENCE {
bounceMessage EnvelopedData OPTIONAL
profile TrustedProxyProfile
}
TrustedProxyProfile : = ENUMERATED {
FullyTrusted(0),
PartlyTrusted(1)
}
Figure 6: TrustedProxyForwarding
3.2. Certificate Extension
We propose a new X.509 certificate [RFC5280] extension that
designates that a specified email account can act as a trusted proxy
(either partly or fully trusted) in the process of S/MIME grunion
forwarding. The TrustedProxyCertificate extension implies a binding
of the proxy account to that certificate's public key and associated
private-key for the purposes of email encryption and signing, and
that such a binding will exist as long as the certificate is valid.
The extension also serves as another subject alternative name
argument trustedProxy. Consequently the certificate containing the
specified email address must have a valid issuance path and valid
name in the presence of any path constraints using the process
specified in RFC5280. Note that trusted proxy certificate may be an
intermediate CA certificate. There is a second argument proxyProfile
that specifies whether the trusted proxy supports partly trusted or
fully trusted profiles or both. OID for the extension is TBD. If
Chuang Expires April 10, 2016 [Page 8]
Internet-Draft SMIME-Grunion October 2015
this certificate extension appears as part of the user's signature,
it must not be placed on the end-entity certificate user certificate
as it would otherwise share the keys with the end-entity. The ASN.1
syntax is:
TrustedProxyCertificate := SEQUENCE {
trustedProxy IA5String
proxyProfile TrustedProxyProfiles
}
TrustedProxyProfiles : = SEQUENCE {
profile TrustedProxyProfile
}
Figure 7: TrustedProxyCertificate
We also propose that the TrustedProxySupported be an additional
certificate extensions that also implies support for a trusted proxy
with an external certificate chain distinct from the current one.
Unlike TrustedProxyCertificate this extension doesn't imply that the
proxy certificate is in the user's issuance path.
TrustedProxySupported would generally be placed on the user end-
entity certificate and are analogous to the CMS extensions in that
describes how to fetch the proxy certificate and interpret the
content. Keep in mind that unlike the CMS extension, these binds the
user certificate to trusted proxy for the duration of the validity of
the certificate. This means that use of the trusted proxy to reach
the user will be available through the life of the certificate.
4. Message Sending And Receiving
The following describes the mechanisms for implementing Grunion S/
MIME forwarding.
4.1. Outbound
The message is composed normally using the true sender and true
recipient or recipients. In the fully trusted case, the sender may
first process the message i.e. encrypt/sign using traditional S/MIME
3.2 CMS [RFC5751] and the recipient's public key, and encoded as a
application/pkcs7-mime part. The message MIME tree is embedded
message/rfc822 part as described in RFC5751 section 3.1. The new
message is encrypted following the instructions in RFC5751 section
3.3 to create an application/pkcs7-mime MIME part using the proxy
recipient's public key. A new proxy header is generated with the
proxy- sender and proxy-recipient as the TO and FROM addresses and
prepended. Signing the message should be precisely done. Only the
original message or inner wrapped message can be signed using the
sender's private key to maintain the privacy of the end-points.
Chuang Expires April 10, 2016 [Page 9]
Internet-Draft SMIME-Grunion October 2015
However if signature certificate designates the trusted proxy which
also could be specified by CMS, then the signature must be visible
when the outermost wrap is removed. This is important because the
trusted proxy public-key will be used in any bounce messages, and
messages lacking that on bounce may otherwise be dropped.
In the partly trusted case, message creation uses almost the same
wrapping strategy as the partial proxying. Wrapping is done from the
recipient back to the proxy sender recursively. The wrapping takes
the message body in a message/rfc822 part and wrapped with that
step's recipient public key. A new proxy header is generated using
that step's sender and recipient. To protect the sender and
recipient identity there should be at least two SMTP proxying steps,
but more are possible and could be encoded and decoded without
modification. This document does not describe how to discover those
intermediaries because so far there hasn't been a use case identified
for them. Any message signing done should be on the original
unwrapped message to protect the privacy of the endpoints and using
the sender's private key.
4.2. Inbound
Each proxying SMTP server looks for TrustedProxyForwarding CMS
extension. If found, it checks whether the profile is supported,
otherwise bounce the message. It then checks to see if the FROM
field is a supported user, and then if the CMS specified
RecipientInfo matches an available key. If so unwraps the message
including extracting the message/rfc822 if found, otherwise bounce
the message. The proxying SMTP server observes the new header's TO
address as the forwarding destination.
4.3. Handling Bounce Message
One issue with practical mail delivery is that some messages cannot
be delivered and must be bounced. In the partially trusted case, the
initial bounce will takes the TrustedProxyForwarding bounceMessage
content as the body content and sends it along the return path. This
will be forwarded and unwrapped in a privacy preserving way. If the
bounce initiator understands Grunion forwarding, it should extract
bounceMessage, and send that content as the bounce message. If it
doesn't understand this formatting, it may bounce the entire message
and the initial recipient of the bounce will have to extract the
bounceMessage content in addition to unwrapping and forwarding. In
the fully trusted proxy case, the proxy sender should add itself as a
recipient in addition to the proxy recipient to enable decryption of
the message it sent but was bounced. If there is a bounce it should
rewrap the bounce message using the sender proxy public key found
from the sender's signature certificates or from the CMS reference,
Chuang Expires April 10, 2016 [Page 10]
Internet-Draft SMIME-Grunion October 2015
and use the fully trusted CMS structure and addressing. Note that
the bounced message in both cases transfers in encrypted form between
the proxies retracing the original sending path thus maintaining
privacy of the contents and the headers. p
4.4. Header Processing
All user generated headers are wrapped in both proxying models.
However there are dynamically generated headers appended to the
message as it are propagated along the SMTP send path. Fully trusted
proxying means that the proxies can see, and preserve headers which
is very useful for debugging without breaking the privacy contract.
However SMTP proxying servers should be careful not propagate
information about the sender or recipient such as their IP or DNS
address. For example the "Received" header is dynamically generated
at SMTP receive time with debug information about the environment,
timestamp proxy address and potentially the sender. Grunion
forwarders should scrub the sender or recipient (on bounce) address.
Similarly authentication and result headers such as DKIM, SPF and
DMARC can similarly be propagated. Partly trusted headers is much
more restrictive in order to protect the more restrictive privacy
contract. In the current design, all dynamically generated headers
are not propagated to the recipient at the proxy SMTP servers.
5. General Delivery Traffic with Grunion Delivery
A domain may advertise that all messages may be delivered via Grunion
forwarding. As such it could replace opportunistic SMTP TLS to
maintain message privacy so long as the sender and recipient SMTP
servers can support Grunion forwarding and can act as the proxies.
Unlike SMTP TLS which advertises TLS capability on a per session
basis, this capability is advertised as being supported as long as
the certificate is valid. As the TrustedProxyCertificate extension
may be placed on the intermediate CA certificate, it can be present
in other usage scenarios besides S/MIME email such as part of the
SMTP server TLS certificates chain. A stateful SMTP server could
track past intermediate certificates presented to it to determine
whether a new delivery can be transmitted with the message wrapped in
Grunion S/MIME even if the current session doesn't specify STARTTLS.
If a message is already wrapped by the sender with the proxy
recipient key, the message should not be rewrapped by the proxying
sender SMTP server. To maintain endpoint privacy between the
endpoint to the SMTP server only the fully trusted profile should be
used.
Chuang Expires April 10, 2016 [Page 11]
Internet-Draft SMIME-Grunion October 2015
6. References
6.1. References
[RFC2487] Hoffman, P., "SMTP Service Extension for Secure SMTP over
TLS", RFC 2487, DOI 10.17487/RFC2487, January 1999,
<http://www.rfc-editor.org/info/rfc2487>.
[RFC2634] Hoffman, P., Ed., "Enhanced Security Services for S/MIME",
RFC 2634, DOI 10.17487/RFC2634, June 1999,
<http://www.rfc-editor.org/info/rfc2634>.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
<http://www.rfc-editor.org/info/rfc5280>.
[RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321,
DOI 10.17487/RFC5321, October 2008,
<http://www.rfc-editor.org/info/rfc5321>.
[RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, DOI
10.17487/RFC5322, October 2008,
<http://www.rfc-editor.org/info/rfc5322>.
[RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70,
RFC 5652, DOI 10.17487/RFC5652, September 2009,
<http://www.rfc-editor.org/info/rfc5652>.
[RFC5751] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
Mail Extensions (S/MIME) Version 3.2 Message
Specification", RFC 5751, DOI 10.17487/RFC5751, January
2010, <http://www.rfc-editor.org/info/rfc5751>.
[RFC7508] Cailleux, L. and C. Bonatti, "Securing Header Fields with
S/MIME", RFC 7508, DOI 10.17487/RFC7508, April 2015,
<http://www.rfc-editor.org/info/rfc7508>.
6.2. URIs
[1] https://www.eff.org/deeplinks/2014/11/starttls-downgrade-attacks
Author's Address
Chuang Expires April 10, 2016 [Page 12]
Internet-Draft SMIME-Grunion October 2015
Weihaw Chuang
Google, Inc.
1600 Amphitheatre Parkway
Mountain View, CA 94043
US
Email: weihaw@google.com
Chuang Expires April 10, 2016 [Page 13]