Independent Submission S. Ser Internet-Draft March 11, 2019 Intended status: Informational Expires: September 12, 2019 Authentication-Results Registration for OpenPGP Signature Verification draft-ser-authentication-results-openpgp-00 Abstract RFC 7601 specifies the Authentication-Results header field for conveying results of message authentication checks. This document defines a new authentication method to be used in the Authentication- Results header field for PGP-related signature checks. 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 https://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 September 12, 2019. Copyright Notice Copyright (c) 2019 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 (https://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. Ser Expires September 12, 2019 [Page 1] Internet-Draft Authentication-Results for OpenPGP March 2019 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. "pgp" Authentication Method . . . . . . . . . . . . . . . . . 2 2.1. OpenPGP Results . . . . . . . . . . . . . . . . . . . . . 2 2.2. Email Authentication Parameters for OpenPGP . . . . . . . 4 2.2.1. body.pgp-fingerprint . . . . . . . . . . . . . . . . 4 2.2.2. body.pgp-user-id . . . . . . . . . . . . . . . . . . 4 2.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . 4 3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. Normative References . . . . . . . . . . . . . . . . . . . . 6 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6 1. Introduction [RFC7601] specifies the Authentication-Results header field for conveying results of message authentication checks. OpenPGP signature verification is sometimes implemented in border message transfer agents (for instance some MTAs have their own OpenPGP PKI), there is a need to convey signature verification status to Mail User Agents (MUAs) and downstream filters. This document defines a new authentication method to be used in the Authentication-Results header field for OpenPGP-related signature checks. 2. "pgp" Authentication Method OpenPGP signature verification is represented by the "pgp" method and is defined in [RFC4880]. 2.1. OpenPGP Results The result values used by OpenPGP [RFC4880] are as follows: Ser Expires September 12, 2019 [Page 2] Internet-Draft Authentication-Results for OpenPGP March 2019 +-----------+-------------------------------------------------------+ | Result | Meaning | | Code | | +-----------+-------------------------------------------------------+ | none | The message was not signed. | | pass | The message was signed, the signature or signatures | | | were acceptable to the verifier, and the signature(s) | | | passed verification tests. | | fail | The message was signed and the signature or | | | signatures were acceptable to the verifier, but they | | | failed the verification test(s). | | policy | The message was signed and signature(s) passed | | | verification tests, but the signature or signatures | | | were not acceptable to the verifier. | | neutral | The message was signed but the signature or | | | signatures contained syntax errors or were not | | | otherwise able to be processed. This result is also | | | used for other failures not covered elsewhere in this | | | list. | | temperror | The message could not be verified due to some error | | | that is likely transient in nature, such as a | | | temporary inability to retrieve a key. A later | | | attempt may produce a final result. | | permerror | The message could not be verified due to some error | | | that is unrecoverable, such as a required header | | | field being absent or the signer's key not being | | | available. A later attempt is unlikely to produce a | | | final result. | +-----------+-------------------------------------------------------+ OpenPGP Results A signature is "acceptable to the verifier" if it passes local policy checks (or there are no specific local policy checks). For example, a verifier might require that the domain in the user ID in the signing OpenPGP key matches the domain in the address of the author of the message (value of the From header field), thus making third- party signatures unacceptable. [RFC5751] advises that if a message fails verification, it should be treated as an unsigned message. A report of "fail" here permits the receiver of the report to decide how to handle the failure. A report of "neutral" or "none" preempts that choice, ensuring that the message will be treated as if it had not been signed. Ser Expires September 12, 2019 [Page 3] Internet-Draft Authentication-Results for OpenPGP March 2019 2.2. Email Authentication Parameters for OpenPGP This document defines several new authentication parameters for conveying OpenPGP-related information, such as the identity associated with the entity that signed the message or one of its body parts. 2.2.1. body.pgp-fingerprint body.pgp-fingerprint contains the fingerprint [RFC4880] of the key used to generate the OpenPGP signature referenced in the corresponding body.pgp-part. 2.2.2. body.pgp-user-id body.pgp-user-id contains the signer's user ID [RFC4880] associated with the OpenPGP signature referenced in the corresponding body.pgp- part. 2.3. Examples Ser Expires September 12, 2019 [Page 4] Internet-Draft Authentication-Results for OpenPGP March 2019 Return-Path: Authentication-Results: example.net; pgp=pass (1024-bit key) body.pgp-fingerprint=89A8DCE5EAE72D530905C65241BA574B8FBB172B body.pgp-user-id="Michael Elkins " Received: from ietfa.example.com (localhost [IPv6:::1]) by ietfa.example.com (Postfix) with ESMTP id 2875111E81A0; Fri, 06 Sep 2002 00:35:14 -0700 (PDT) From: Michael Elkins To: Michael Elkins Mime-Version: 1.0 Content-Type: multipart/signed; boundary=bar; micalg=pgp-md5; protocol="application/pgp-signature" --bar Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable =A1Hola! Did you know that talking to yourself is a sign of senility? It's generally a good idea to encode lines that begin with From=20because some mail transport agents will insert a greater- than (>) sign, thus invalidating the signature. Also, in some cases it might be desirable to encode any =20 trailing whitespace that occurs on lines in order to ensure =20 that the message signature is not invalidated when passing =20 a gateway that modifies such whitespace (like BITNET). =20 me --bar Content-Type: application/pgp-signature -----BEGIN PGP MESSAGE----- Version: 2.6.2 iQCVAwUBMJrRF2N9oWBghPDJAQE9UQQAtl7LuRVndBjrk4EqYBIb3h5QXIX/LC// jJV5bNvkZIGPIcEmI5iFd9boEgvpirHtIREEqLQRkYNoBActFBZmh9GC3C041WGq uMbrbxc+nIs1TIKlA08rVi9ig/2Yh7LFrK5Ein57U/W72vgSxLhe/zhdfolT9Brn HOxEa44b+EI= =ndaj -----END PGP MESSAGE----- --bar-- Ser Expires September 12, 2019 [Page 5] Internet-Draft Authentication-Results for OpenPGP March 2019 3. IANA Considerations IANA has added the following entries to the "Email Authentication Methods" sub-registry of the "Email Authentication Parameters" registry: TBD IANA has added the following entries to the "Email Authentication Result Names" sub-registry of the "Email Authentication Parameters" registry: TBD 4. Security Considerations TODO 5. Normative References [RFC4880] Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R. Thayer, "OpenPGP Message Format", RFC 4880, DOI 10.17487/RFC4880, November 2007, . [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, . [RFC7601] Kucherawy, M., "Message Header Field for Indicating Message Authentication Status", RFC 7601, DOI 10.17487/RFC7601, August 2015, . Author's Address Simon Ser 14, rue Girardot Villebon-sur-Yvette 91140 France Email: contact@emersion.fr Ser Expires September 12, 2019 [Page 6]