📄 rfc2941.txt
字号:
Network Working Group T. Ts'o, EditorRequest for Comments: 2941 VA Linux SystemsObsoletes: 1416 J. AltmanCategory: Standards Track Columbia University September 2000 Telnet Authentication OptionStatus of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.Copyright Notice Copyright (C) The Internet Society (2000). All Rights Reserved.Abstract This document describes the authentication option to the telnet [1] protocol as a generic method for negotiating an authentication type and mode including whether encryption should be used and if credentials should be forwarded. While this document summarizes currently utilized commands and types it does not define a specific authentication type. Separate documents are to be published defining each authentication type. This document updates a previous specification of the telnet authentication option, RFC 1416 [2], so that it can be used to securely enable the telnet encryption option [3].1. Command Names and Codes AUTHENTICATION 37 Authentication Commands IS 0 SEND 1 REPLY 2 NAME 3 Authentication Types NULL 0 KERBEROS_V4 1Ts'o & Altman Standards Track [Page 1]RFC 2941 Telnet Authentication Option September 2000 KERBEROS_V5 2 SPX* 3 MINK* 4 SRP 5 RSA*[also used by SRA*] 6 SSL* 7 [unassigned] 8 [unassigned] 9 LOKI* 10 SSA* 11 KEA_SJ 12 KEA_SJ_INTEG 13 DSS 14 NTLM* 15 Authentication types followed by (*) were never submitted to the IETF for consideration as an Internet standard. Following historical practice, future authentication type numbers and authentication modifiers will be assigned by the IANA under a First Come First Served policy as outlined by RFC 2434 [4]. Despite the fact that authentication type numbers are allocated out of an 8-bit number space (as are most values in the telnet specification) it is not anticipated that the number space is or will become in danger of being exhausted. However, if this should become an issue, when over 50% of the number space becomes allocated, the IANA shall refer allocation requests to either the IESG or a designated expert for approval. IANA is instructed not to issue new suboption values without submission of documentation of their use. Modifiers AUTH_WHO_MASK 1 AUTH_CLIENT_TO_SERVER 0 AUTH_SERVER_TO_CLIENT 1 AUTH_HOW_MASK 2 AUTH_HOW_ONE_WAY 0 AUTH_HOW_MUTUAL 2 ENCRYPT_MASK 20 ENCRYPT_OFF 0 ENCRYPT_USING_TELOPT 4 ENCRYPT_AFTER_EXCHANGE 16 ENCRYPT_RESERVED 20 INI_CRED_FWD_MASK 8 INI_CRED_FWD_OFF 0Ts'o & Altman Standards Track [Page 2]RFC 2941 Telnet Authentication Option September 2000 INI_CRED_FWD_ON 82. Command Meanings This document makes reference to a "server" and a "client". For the purposes of this document, the "server" is the side of the connection that performed the passive TCP open (TCP LISTEN state), and the "client" is the side of the connection that did the active open. IAC WILL AUTHENTICATION The client side of the connection sends this command to indicate that it is willing to send and receive authentication information. IAC DO AUTHENTICATION The servers side of the connection sends this command to indicate that it is willing to send and receive authentication information. IAC WONT AUTHENTICATION The client side of the connection sends this command to indicate that it refuses to send or receive authentication information; the server side must send this command if it receives a DO AUTHENTICATION command. IAC DONT AUTHENTICATION The server side of the connection sends this command to indicate that it refuses to send or receive authentication information; the client side must send this command if it receives a WILL AUTHENTICATION command. IAC SB AUTHENTICATION SEND authentication-type-pair-list IAC SE The sender of this command (the server) requests that the remote side send authentication information for one of the authentication types listed in "authentication-type-pair-list". The "authentication-type-pair-list" is an ordered list of "authentication-type" pairs. Only the server side (DO AUTHENTICATION) is allowed to send this. IAC SB AUTHENTICATION IS authentication-type-pair <auth data> IAC SE The sender of this command (the client) is sending the authentication information for authentication type "authentication-type-pair". Only the client side (WILL AUTHENTICATION) is allowed to send this.Ts'o & Altman Standards Track [Page 3]RFC 2941 Telnet Authentication Option September 2000 IAC SB AUTHENTICATION REPLY authentication-type-pair <auth data> IAC SE The sender of this command (the server) is sending a reply to the the authentication information received in a previous IS command. Only the server side (DO AUTHENTICATION) is allowed to send this. IAC SB AUTHENTICATION NAME remote-user IAC SE This optional command is sent to specify the account name on the remote host that the user wishes to be authorized to use. Note that authentication may succeed, and the authorization to use a particular account may still fail. Some authentication mechanisms may ignore this command. The "authentication-type-pair" is two octets, the first is the authentication type, and the second is a modifier to the type. The authentication type may or may not include built-in encryption. For instance, when the Kerberos 4 authentication type is negotiated encryption must be negotiated with the telnet ENCRYPT option. However, the SSL and KEA_SJ authentication types provide an encrypted channel as part of a successful telnet AUTH option negotiation. There are currently five one bit fields defined in the modifier. The first two of these bits are processed as a pair, the AUTH_WHO_MASK bit and the AUTH_HOW_MASK bit. There are four possible combinations of these two bits: AUTH_CLIENT_TO_SERVER AUTH_HOW_ONE_WAY The client will send authentication information about the local user to the server. If the negotiation is successful, the server will have authenticated the user on the client side of the connection. AUTH_SERVER_TO_CLIENT AUTH_HOW_ONE_WAY The server will authenticate itself to the client. If the negotiation is successful, the client will know that it is connected to the server that it wants to be connected to. AUTH_CLIENT_TO_SERVER AUTH_HOW_MUTUAL The client will send authentication information about the local user to the server, and then the server will authenticateTs'o & Altman Standards Track [Page 4]RFC 2941 Telnet Authentication Option September 2000 itself to the client. If the negotiation is successful, the server will have authenticated the user on the client side of the connection, and the client will know that it is connected to the server that it wants to be connected to. AUTH_SERVER_TO_CLIENT AUTH_HOW_MUTUAL The server will authenticate itself to the client, and then the client will authenticate itself to the server. If the negotiation is successful, the client will know that it is connected to the server that it wants to be connected to, and the server will know that the client is who it claims to be. The third and fifth bits in the modifier are the ENCRYPT_MASK bits. These bits are used to determine if and how encryption should be enabled. Of the four possible combinations only three are currently defined: ENCRYPT_OFF Encryption will not be used for this session. TELOPT ENCRYPT SHOULD NOT be negotiated. This mode MUST be used with all AUTH types that do not provide a shared secret to be used as a session key. ENCRYPT_USING_TELOPT Encryption will be negotiated via the use of TELOPT ENCRYPT. Immediately after authentication has completed TELOPT ENCRYPT MUST be negotiated in both directions. This is required to occur before credentials forwarding; other telnet options are negotiated; or any user data is transmitted. A failure to successfully negotiate TELOPT ENCRYPT in either direction MUST result in immediate session termination. ENCRYPT_AFTER_EXCHANGE Encryption will be activated in both directions immediately after the successful exchange of the shared secret to be used as the session key. The encryption algorithm to be used MUST be implied by the AUTH type. The fourth bit field in the modifier is the INI_CRED_FWD_MASK bit. This bit is either set to INI_CRED_FWD_ON or INI_CRED_FWD_OFF. This bit is set by the client to advise the server to expect forwarded credentials from the client.Ts'o & Altman Standards Track [Page 5]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -