Network Working Group J. Myers
Request for Comments: 1731 Carnegie Mellon
Category: Standards Track December 1994
IMAP4 Authentication Mechanisms
1. Introduction
The Internet Message Access Protocol, Version 4 [IMAP4] contains the AUTHENTICATE command, for identifying and authenticating a user to an IMAP4 server and for optionally negotiating a protection mechanism for subsequent protocol interactions. This document describes several authentication mechanisms for use by the IMAP4 AUTHENTICATE command.
2. Kerberos version 4 authentication mechanism
The authentication type associated with Kerberos version 4 is "KERBEROS_V4".
Myers [Page 1]
RFC 1731 IMAP4 Authentication Mechanisms December 1994
The client must construct data with the first four octets containing the original server-issued checksum in network byte order, the fifth octet containing the bit-mask specifying the selected protection mechanism, the sixth through eighth octets containing in network byte order the maximum cipher-text buffer size the client is able to receive, and the following octets containing a user name string. The client must then append from one to eight octets so that the length of the data is a multiple of eight octets. The client must then PCBC encrypt the data with the session key and respond to the second ready response with the encrypted data. The server decrypts the data and verifies the contained checksum. The username field identifies the user for whom subsequent IMAP operations are to be performed; the server must verify that the principal identified in the Kerberos ticket is authorized to connect as that user. After these verifications, the authentication process is complete.
Myers [Page 2]
RFC 1731 IMAP4 Authentication Mechanisms December 1994
S: A001 NO Kerberos V4 authentication failed
3. GSSAPI authentication mechanism
The authentication type associated with all mechanisms employing the GSSAPI [RFC1508] is "GSSAPI".
Myers [Page 3]
RFC 1731 IMAP4 Authentication Mechanisms December 1994
If GSS_Accept_sec_context returns GSS_COMPLETE, then if an output_token is returned, the server should return it to the client in a ready response and expect a reply from the client with no data. Whether or not an output_token was returned, the server then should then construct 4 octets of data, with the first octet containing a bit-mask specifying the protection mechanisms supported by the server and the second through fourth octets containing in network byte order the maximum size output_token the server is able to receive. The server must then pass the plaintext to GSS_Seal with conf_flag set to FALSE and issue the generated output_message to the client in a ready response. The server must then pass the resulting client supplied token to GSS_Unseal and interpret the first octet of resulting cleartext as the bit-mask for the selected protection mechanism, the second through fourth octets as the maximum size output_message to send to the client, and the remaining octets as the user name. Upon verifying the src_name is authorized to authenticate as the user name, The server should then consider the client authenticated.
4. S/Key authentication mechanism
The authentication type associated with S/Key [SKEY] is "SKEY".
Myers [Page 4]
RFC 1731 IMAP4 Authentication Mechanisms December 1994
EXAMPLE: The following are two S/Key login scenarios.
5. References
[IMAP4] Crispin, M., "Internet Message Access Protocol - Version 4", RFC 1730, University of Washington, December 1994.
Myers [Page 5]
RFC 1731 IMAP4 Authentication Mechanisms December 1994 6. Security ConsiderationsSecurity issues are discussed throughout this memo.
7. Author's Address
John G. Myers Carnegie-Mellon University 5000 Forbes Ave. Pittsburgh PA, 15213-3890