idnits 2.17.1 draft-melnikov-authentication-results-smime-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 16, 2014) is 3694 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC5083' is defined on line 375, but no explicit reference was found in the text ** Obsolete normative reference: RFC 3501 (Obsoleted by RFC 9051) ** Obsolete normative reference: RFC 7001 (Obsoleted by RFC 7601) ** Obsolete normative reference: RFC 5751 (Obsoleted by RFC 8551) Summary: 3 errors (**), 0 flaws (~~), 3 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Melnikov 3 Internet-Draft Isode Ltd 4 Intended status: Informational March 16, 2014 5 Expires: September 17, 2014 7 Authentication-Results Registration for S/MIME signature verification 8 draft-melnikov-authentication-results-smime-08 10 Abstract 12 RFC 7001 specifies the Authentication-Results header field for 13 conveying results of message authentication checks. This document 14 defines a new authentication method to be used in the Authentication- 15 Results header field for S/MIME related signature checks. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on September 17, 2014. 34 Copyright Notice 36 Copyright (c) 2014 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 53 3. "smime" Authentication Method . . . . . . . . . . . . . . . . 2 54 3.1. S/MIME Results . . . . . . . . . . . . . . . . . . . . . 2 55 3.2. Examples . . . . . . . . . . . . . . . . . . . . . . . . 4 56 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 57 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 58 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 59 6.1. Normative References . . . . . . . . . . . . . . . . . . 9 60 6.2. Informative References . . . . . . . . . . . . . . . . . 10 61 Appendix A. Acknowledgements . . . . . . . . . . . . . . . . . . 11 63 1. Introduction 65 [RFC7001] specifies the Authentication-Results header field for 66 conveying results of message authentication checks. As S/MIME 67 signature verification (and alteration) is sometimes implemented in 68 border message transfer agents, guards and gateways (for example see 69 [RFC3183]), there is a need to convey signature verification status 70 to Mail User Agents (MUA) and downstream filters. This document 71 defines a new authentication method to be used in the Authentication- 72 Results header field for S/MIME related signature checks. 74 2. Conventions Used in This Document 76 The formal syntax uses the Augmented Backus-Naur Form (ABNF) 77 [RFC5234] notation including the core rules defined in Appendix B of 78 RFC 5234 [RFC5234]. 80 3. "smime" Authentication Method 82 S/MIME signature and countersignature verification is represented by 83 the "smime" method and is defined in [RFC5751]. 85 3.1. S/MIME Results 87 The result values used by S/MIME [RFC5751] are as follows: 89 +-----------+-------------------------------------------------------+ 90 | Result | Meaning | 91 | code | | 92 +-----------+-------------------------------------------------------+ 93 | none | The message was not signed. | 94 | | | 95 | pass | The message was signed, the signature or signatures | 96 | | were acceptable to the verifier, and the signature(s) | 97 | | passed verification tests. | 98 | | | 99 | fail | The message was signed and the signature or | 100 | | signatures were acceptable to the verifier, but they | 101 | | failed the verification test(s). | 102 | | | 103 | policy | The message was signed, signature(s) passed | 104 | | verification tests, but the signature or signatures | 105 | | were not acceptable to the verifier. | 106 | | | 107 | neutral | The message was signed but the signature or | 108 | | signatures contained syntax errors or were not | 109 | | otherwise able to be processed. This result is also | 110 | | be used for other failures not covered elsewhere in | 111 | | this list. | 112 | | | 113 | temperror | The message could not be verified due to some error | 114 | | that is likely transient in nature, such as a | 115 | | temporary inability to retrieve a certificate or CRL. | 116 | | A later attempt may produce a final result. | 117 | | | 118 | permerror | The message could not be verified due to some error | 119 | | that is unrecoverable, such as a required header | 120 | | field being absent or the signer's certificate not | 121 | | being available. A later attempt is unlikely to | 122 | | produce a final result. | 123 +-----------+-------------------------------------------------------+ 125 A signature is "acceptable to the verifier" if it passes local policy 126 checks (or there are no specific local policy checks). For example, 127 a verifier might require that the domain in the rfc822Name 128 subjectAltName in the signing certificate matches the domain in the 129 address of the sender of the message, thus making third-party 130 signatures unacceptable. [RFC5751] advises that if a message fails 131 verification, it should be treated as an unsigned message. A report 132 of "fail" here permits the receiver of the report to decide how to 133 handle the failure. A report of "neutral" or "none" preempts that 134 choice, ensuring the message will be treated as if it had not been 135 signed. 137 3.2. Examples 138 Return-Path: 139 Authentication-Results: example.net; 140 smime=fail (certificate is revoked by CRL) 141 body.smime-identifier=aliceDss@example.com 142 body.smime-part=2 143 Received: from ietfa.example.com (localhost [IPv6:::1]) 144 by ietfa.example.com (Postfix) with ESMTP id 2875111E81A0; 145 Fri, 06 Sep 2002 00:35:14 -0700 (PDT) 146 MIME-Version: 1.0 147 To: User2@example.com 148 From: aliceDss@example.com 149 Subject: Example 4.8 150 Message-Id: <020906002550300.249@example.com> 151 Date: Fri, 06 Sep 2002 00:25:21 -0700 152 Content-Type: multipart/signed; 153 micalg=SHA1; 154 boundary="----=_NextBoundry____Fri,_06_Sep_2002_00:25:21"; 155 protocol="application/pkcs7-signature" 157 This is a multi-part message in MIME format. 159 ------=_NextBoundry____Fri,_06_Sep_2002_00:25:21 161 This is some sample content. 162 ------=_NextBoundry____Fri,_06_Sep_2002_00:25:21 163 Content-Type: application/pkcs7-signature; name=smime.p7s 164 Content-Transfer-Encoding: base64 165 Content-Disposition: attachment; filename=smime.p7s 167 MIIDdwYJKoZIhvcNAQcCoIIDaDCCA2QCAQExCTAHBgUrDgMCGjALBgkqhkiG9w0BBwGgggL 168 gMIIC3DCCApugAwIBAgICAMgwCQYHKoZIzjgEAzASMRAwDgYDVQQDEwdDYXJsRFNTMB4XDT 169 k5MDgxNzAxMTA0OVoXDTM5MTIzMTIzNTk1OVowEzERMA8GA1UEAxMIQWxpY2VEU1MwggG2M 170 IIBKwYHKoZIzjgEATCCAR4CgYEAgY3N7YPqCp45PsJIKKPkR5PdDteoDuxTxauECE//lOFz 171 SH4M1vNESNH+n6+koYkv4dkwyDbeP5u/t0zcX2mK5HXQNwyRCJWb3qde+fz0ny/dQ6iLVPE 172 /sAcIR01diMPDtbPjVQh11Tl2EMR4vf+dsISXN/LkURu15AmWXPN+W9sCFQDiR6YaRWa4E8 173 baj7g3IStii/eTzQKBgCY40BSJMqo5+z5t2UtZakx2IzkEAjVc8ssaMMMeUF3dm1nizaoFP 174 VjAe6I2uG4Hr32KQiWn9HXPSgheSz6Q+G3qnMkhijt2FOnOLl2jB80jhbgvMAF8bUmJEYk2 175 RL34yJVKU1a14vlz7BphNh8Rf8K97dFQ/5h0wtGBSmA5ujY5A4GEAAKBgFzjuVp1FJYLqXr 176 d4z+p7Kxe3L23ExE0phaJKBEj2TSGZ3V1ExI9Q1tv5VG/+onyohs+JH09B41bY8i7RaWgSu 177 OF1s4GgD/oI34a8iSrUxq4Jw0e7wi/ZhSAXGKsZfoVi/G7NNTSljf2YUeyxDKE8H5BQP1Gp 178 2NOM/Kl4vTyg+W4o4GBMH8wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCBsAwHwYDVR0j 179 BBgwFoAUcEQ+gi5vh95K03XjPSC8QyuT8R8wHQYDVR0OBBYEFL5sobPjwfftQ3CkzhMB4v3 180 jl/7NMB8GA1UdEQQYMBaBFEFsaWNlRFNTQGV4YW1wbGUuY29tMAkGByqGSM44BAMDMAAwLQ 181 IUVQykGR9CK4lxIjONg2q1PWdrv0UCFQCfYVNSVAtcst3a53Yd4hBSW0NevTFjMGECAQEwG 182 DASMRAwDgYDVQQDEwdDYXJsRFNTAgIAyDAHBgUrDgMCGjAJBgcqhkjOOAQDBC4wLAIUM/mG 183 f6gkgp9Z0XtRdGimJeB/BxUCFGFFJqwYRt1WYcIOQoGiaowqGzVI 185 ------=_NextBoundry____Fri,_06_Sep_2002_00:25:21-- 187 4. IANA Considerations 189 IANA is requested to add the the following entries to the "Email 190 Authentication Methods" subregistry of the "Email Authentication 191 Parameters" registry: 193 +-------+---------+------+----------------+-------------------------+ 194 | Metho | Defined | ptyp | property | value | 195 | d | | e | | | 196 +-------+---------+------+----------------+-------------------------+ 197 | smime | [RFC575 | body | smime-part | The MIME body part | 198 | | 1] | | | reference which | 199 | | | | | contains the signature. | 200 | | | | | Syntax of this property | 201 | | | | | is described by the | 202 | | | | | smime-part ABNF | 203 | | | | | production below. appl | 204 | | | | | ication/pkcs7-signature | 205 | | | | | or | 206 | | | | | application/pkcs7-mime | 207 | | | | | (containing SignedData) | 208 | | | | | media type body parts | 209 | | | | | are references using | 210 | | | | | the
syntax | 211 | | | | | (see Section 6.4.5 of | 212 | | | | | [RFC3501]). If the | 213 | | | | | signature being | 214 | | | | | verified is | 215 | | | | | encapsulated by another | 216 | | | | | CMS content type (e.g. | 217 | | | | | application/pkcs7-mime | 218 | | | | | containing | 219 | | | | | EnvelopedData, which | 220 | | | | | contains SignedData), | 221 | | | | | such inner signature | 222 | | | | | body part can be | 223 | | | | | references using | 224 | | | | | "section[/section..." | 225 | | | | | syntax. | 226 | | | | | | 227 | smime | [RFC575 | body | smime- | The email address | 228 | | 1] | | identifier | [RFC5322] associated | 229 | | | | | with the S/MIME | 230 | | | | | signature. The email | 231 | | | | | address can be | 232 | | | | | specified explicitly or | 233 | | | | | derived from the | 234 | | | | | identity of the signer. | 235 | | | | | Note that this email | 236 | | | | | address can correspond | 237 | | | | | to a counter signature. | 238 | | | | | | 239 | smime | [RFC575 | body | smime-serial | serialNumber of the | 240 | | 1] | | | certificate associated | 241 | | | | | with the S/MIME | 242 | | | | | signature (see section | 243 | | | | | 4.1.2.2 of [RFC5280]. | 244 | | | | | | 245 | smime | [RFC575 | body | smime-issuer | Issuer name DN (e.g. | 246 | | 1] | | | "CN=CA1,ST=BC,c=CA") of | 247 | | | | | the certificate | 248 | | | | | associated with the | 249 | | | | | S/MIME signature (see | 250 | | | | | section 4.1.2.4 of | 251 | | | | | [RFC5280]. | 252 +-------+---------+------+----------------+-------------------------+ 254 smime-part = section ["/" smime-subpart] 255 smime-subpart = smime-part 256 section = 258 Either both or neither of body.smime-serial and body. smime-issuer 259 should be present in an Authentication-Results header field. body 260 .smime-serial and body.smime-issuer are used for cases when body 261 .smime-identifier (email address) can't be derived by the entity 262 adding the corresponding Authentication-Results header field. For 263 example this can be used when gatewaying from X.400. 265 IANA is requested to add the the following entries to the "Email 266 Authentication Result Names" subregistry of the "Email Authentication 267 Parameters" registry: 269 +-----------+-------------+-----------+--------------------+--------+ 270 | Code | Defined | Auth | Meaning | Status | 271 | | | Method | | | 272 +-----------+-------------+-----------+--------------------+--------+ 273 | none | this | smime | [this memo] | active | 274 | | document | | Section 3.1 | | 275 | | | | | | 276 | pass | this | smime | [this memo] | active | 277 | | document | | Section 3.1 | | 278 | | | | | | 279 | fail | this | smime | [this memo] | active | 280 | | document | | Section 3.1 | | 281 | | | | | | 282 | policy | this | smime | [this memo] | active | 283 | | document | | Section 3.1 | | 284 | | | | | | 285 | neutral | this | smime | [this memo] | active | 286 | | document | | Section 3.1 | | 287 | | | | | | 288 | temperror | this | smime | [this memo] | active | 289 | | document | | Section 3.1 | | 290 | | | | | | 291 | permerror | this | smime | [this memo] | active | 292 | | document | | Section 3.1 | | 293 +-----------+-------------+-----------+--------------------+--------+ 295 5. Security Considerations 297 This document doesn't add new security considerations not already 298 covered by [RFC7001] and [RFC5751]. In particular security 299 considerations related to use of weak cryptography over plaintext, 300 weakening and breaking of cryptographic algorithms over time, as well 301 as changing the behavior of message processing based on presence of a 302 signature specified in [RFC5751] are relevant to this document. 303 Similarly, the following security considerations specified in 304 [RFC7001] are particularly relevant to this document: Forged Header 305 Fields, Misleading Results, Internal MTA Lists and Compromised 306 Internal Hosts. 308 To repeat something already mentioned in RFC 7001, Section 7.1: 310 An MUA or filter that accesses a mailbox whose messages are 311 handled by a non-conformant MTA, and understands Authentication- 312 Results header fields, could potentially make false conclusions 313 based on forged header fields. A malicious user or agent could 314 forge a header field using the DNS domain of a receiving ADMD as 315 the authserv-id token in the value of the header field and, with 316 the rest of the value, claim that the message was properly 317 authenticated. The non- conformant MTA would fail to strip the 318 forged header field, and the MUA could inappropriately trust it. 320 For this reason, it is best not to have processing of the 321 Authentication-Results header field enabled by default; instead, 322 it should be ignored, at least for the purposes of enacting 323 filtering decisions, unless specifically enabled by the user or 324 administrator after verifying that the border MTA is compliant. 325 It is acceptable to have an MUA aware of this specification but 326 have an explicit list of hostnames whose Authentication-Results 327 header fields are trustworthy; however, this list should initially 328 be empty. 330 So to emphasize this point: whenever possible, MUAs should implement 331 their own S/MIME signature verification instead of implementing this 332 specification. 334 Note that agents adding Authentication-Results header fields 335 containing S/MIME Authentication Method might be unable to verify 336 S/MIME signatures inside encrypted CMS content types such as 337 EnvelopedData [RFC5652]. So agents processing Authentication-Results 338 header fields can't treat lack of an Authentication-Results header 339 field with S/MIME Authentication Method as an indication that the 340 corresponding S/MIME signature is missing, invalid or valid. 342 6. References 344 6.1. Normative References 346 [RFC3501] Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 347 4rev1", RFC 3501, March 2003. 349 [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax 350 Specifications: ABNF", STD 68, RFC 5234, January 2008. 352 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 353 October 2008. 355 [RFC7001] Kucherawy, M., "Message Header Field for Indicating 356 Message Authentication Status", RFC 7001, September 2013. 358 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 359 Housley, R., and W. Polk, "Internet X.509 Public Key 360 Infrastructure Certificate and Certificate Revocation List 361 (CRL) Profile", RFC 5280, May 2008. 363 [RFC5751] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet 364 Mail Extensions (S/MIME) Version 3.2 Message 365 Specification", RFC 5751, January 2010. 367 6.2. Informative References 369 [RFC3183] Dean, T. and W. Ottaway, "Domain Security Services using S 370 /MIME", RFC 3183, October 2001. 372 [RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, 373 RFC 5652, September 2009. 375 [RFC5083] Housley, R., "Cryptographic Message Syntax (CMS) 376 Authenticated-Enveloped-Data Content Type", RFC 5083, 377 November 2007. 379 Appendix A. Acknowledgements 381 Thank you to Murray S. Kucherawy, David Wilson, Jim Schaad, SM and 382 Steve Kille for comments and corrections on this document. 384 Author's Address 386 Alexey Melnikov 387 Isode Ltd 388 5 Castle Business Village 389 36 Station Road 390 Hampton, Middlesex TW12 2BX 391 UK 393 EMail: Alexey.Melnikov@isode.com