| Internet-Draft | IMAP REMEMBERME | July 2026 |
| Melnikov | Expires 1 February 2027 | [Page] |
- Workgroup:
- Network Working Group
- Internet-Draft:
- draft-melnikov-imap-rememberme-01
- Published:
- Intended Status:
- Standards Track
- Expires:
IMAP REMEMBERME extension for quick reauthentication token generation
Abstract
This document specifies an IMAP extension for generating quick reauthentication tokens that allow clients to re-login without user interaction, once authentication using a strong SASL mechanism is completed.¶
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 1 February 2027.¶
Copyright Notice
Copyright (c) 2026 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. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
1. Introduction
This document specifies an IMAP [RFC9051] extension which is a protocol specific extension to Simple Authentication and Security Layer (SASL) [RFC4422] framework for generation of proof-of-posession reauthentication tokens. Such tokens can be used for subsequent 1 roundtrip reauthentication using SASL mechanisms such as REMEMBERME [draft-ietf-kitten-sasl-rememberme] or HT2-* [draft-ietf-kitten-sasl-ht].¶
The typical sequence of events is going to be like this:¶
-
Client establishes IMAP connection protected by TLS on Connection 1.¶
-
On Connection 1 the client authenticates using a strong SASL mechanism, which might be CPU intensive, and most likely requires user interaction, e.g., SCRAM with 2FA extension, PASSKEY, GSSAPI.¶
-
On Connection 1 the client requests reauthentication token using REMEMBERME command.¶
-
<Connection gets interrupted or closed due to inactivity>¶
-
Client establishes another IMAP connection protected by TLS on Connection N. The client then uses a previous issues quick reauthentication token with one of 1 round trip SASL mechanisms such as REMEMBERME or HT2-*. The same token is reusable on other IMAP connections until it is replaced or revoked.¶
IMAP servers advertise support for this extension by returning one or more TOKEN=<token-type> capabilities in the CAPABILITY response.¶
2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
3. REMEMBERME command
- Arguments:
- Token type¶
- Responses:
- REQUIRED TOKEN response code¶
- Result:
-
OK - new token successfully issued¶
NO - authentication mechanism too week, unrecognized token type¶
BAD - command unknown or arguments invalid,¶
invalid state¶
This command is only valid in authenticated and selected states.¶
Upon receipt of REMEMBERME command the IMAP server checks that the specified token type is recognized and supported. If it is, it generates a new token of the requested type and returns it in the TOKEN response code in the tagged OK response.¶
S: * OK ACME IMAP Server v1.23 is ready C: 22 CAPABILITY S: * CAPABILITY IMAP4rev1 IMAP4rev2 STARTTLS AUTH=PASSKEY AUTH=REMEMBERME AUTH=SCRAM-SHA-256 AUTH=REMEMBERME TOKEN=JWT TOKEN=RANDOM S: 22 CAPABILITY completed C: 23 STARTTLS S: 23 OK Completed C: 24 AUTHENTICATE ... <SASL exchange> S: 24 OK Completed C: 25 REMEMBERME JWT S: 26 OK [TOKEN <base64-encoded-token>] Completed¶
4. Formal Syntax
The following syntax specification uses the Augmented Backus-Naur Form (ABNF) notation as specified in [ABNF].¶
capability =/ "TOKEN=" token-type
;; <capability> from [RFC3501]
token-type = atom
;; SHOULD be registered with IANA
resp-text-code =/ "TOKEN" SP base64-token
base64-token = base64
¶
5. IANA Considerations
TBD. Register the IMAP capabilities and create a separate registry of token types.¶
Register "JWT" [RFC7519] in the newly created registry of token types. Do we need to also define which claims are to be included in JWT payload?¶
Also, do we need a recommended and/or "mandatory to implement" token type?¶
7. References
7.1. Normative References
- [ABNF]
- Crocker, D., Ed. and P. Overell, Ed., "Augmented BNF for Syntax Specifications: ABNF", RFC 5234, , <https://www.rfc-editor.org/info/rfc5234>.
- [RFC2119]
- Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
- [RFC3501]
- Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1", RFC 3501, DOI 10.17487/RFC3501, , <https://www.rfc-editor.org/info/rfc3501>.
- [RFC4422]
- Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple Authentication and Security Layer (SASL)", RFC 4422, DOI 10.17487/RFC4422, , <https://www.rfc-editor.org/info/rfc4422>.
- [RFC8174]
- Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
- [RFC9051]
- Melnikov, A., Ed. and B. Leiba, Ed., "Internet Message Access Protocol (IMAP) - Version 4rev2", RFC 9051, DOI 10.17487/RFC9051, , <https://www.rfc-editor.org/info/rfc9051>.
7.2. Informative References
- [draft-ietf-kitten-sasl-ht]
- Schmaus, F., Molitor, T., and C. Egger, "The Hashed Token SASL Mechanism", Work in Progress, Internet-Draft, draft-ietf-kitten-sasl-ht-02, , <https://www.ietf.org/archive/id/draft-ietf-kitten-sasl-ht-02.txt>.
- [draft-ietf-kitten-sasl-rememberme]
- Bucksch, B. and S. Farrell, "SASL Remember Me", Work in Progress, Internet-Draft, draft-ietf-kitten-sasl-rememberme-00, , <https://www.ietf.org/archive/id/draft-ietf-kitten-sasl-rememberme-00.txt>.
- [RFC7519]
- Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, , <https://www.rfc-editor.org/info/rfc7519>.