Network Working Group                                            T. Ts'o
Request for Comments: 2952                              VA Linux Systems
Category: Informational                                   September 2000
        
Network Working Group                                            T. Ts'o
Request for Comments: 2952                              VA Linux Systems
Category: Informational                                   September 2000
        

Telnet Encryption: DES 64 bit Cipher Feedback

Telnet加密:DES 64位密码反馈

Status of this Memo

本备忘录的状况

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

Abstract

摘要

This document specifies how to use the DES encryption algorithm in cipher feedback mode with the telnet encryption option.

本文档指定如何在密码反馈模式下使用DES加密算法和telnet加密选项。

1. Command Names and Codes
1. 命令名和代码

Encryption Type

加密类型

DES_CFB64 1

德苏1

Suboption Commands

子选项命令

CFB64_IV 1 CFB64_IV_OK 2 CFB64_IV_BAD 3

CFB64_IV 1 CFB64_IV_OK 2 CFB64_IV_BAD 3

2. Command Meanings
2. 命令含义

IAC SB ENCRYPT IS DES_CFB64 CFB64_IV <initial vector> IAC SE

IAC SB加密是DES_CFB64 CFB64_IV<初始向量>IAC SE

The sender of this command generates a random 8 byte initial vector, and sends it to the other side of the connection using the CFB64_IV command. The initial vector is sent in clear text. Only the side of the connection that is WILL ENCRYPT may send the CFB64_IV command.

此命令的发送方生成一个随机的8字节初始向量,并使用CFB64_IV命令将其发送到连接的另一端。初始向量以明文形式发送。只有将加密的连接端可以发送CFB64_IV命令。

IAC SB ENCRYPT REPLY DES_CFB64 CFB64_IV_OK IAC SE IAC SB ENCRYPT REPLY DES_CFB64 CFB64_IV_BAD IAC SE

IAC SB加密回复DES_CFB64 CFB64_IV_OK IAC SE IAC SB加密回复DES_CFB64 CFB64_IV_BAD IAC SE

The sender of these commands either accepts or rejects the initial vector received in a CFB64_IV command. Only the side of the connection that is DO ENCRYPT may send the CFB64_IV_OK and CFB64_IV_BAD commands. The CFB64_IV_OK command MUST be sent for backwards compatibility with existing implementations; there really isn't any reason why a sender would need to send the CFB64_IV_BAD command except in the case of a protocol violation where the IV sent was not of the correct length (i.e., 8 bytes).

这些命令的发送方接受或拒绝在CFB64_IV命令中接收的初始向量。只有连接的加密端可以发送CFB64_IV_OK和CFB64_IV_BAD命令。CFB64_IV_OK命令必须发送,以便与现有实现向后兼容;发送方确实没有任何理由需要发送CFB64_IV_BAD命令,除非在违反协议的情况下发送的IV长度不正确(即8字节)。

3. Implementation Rules
3. 实施细则

Once a CFB64_IV_OK command has been received, the WILL ENCRYPT side of the connection should do keyid negotiation using the ENC_KEYID command. Once the keyid negotiation has successfully identified a common keyid, then START and END commands may be sent by the side of the connection that is WILL ENCRYPT. Data will be encrypted using the DES 64 bit Cipher Feedback algorithm.

收到CFB64_IV_OK命令后,连接的WILL ENCRYPT端应使用ENC_keyid命令进行keyid协商。一旦keyid协商成功地识别了一个公共keyid,那么将加密的连接端可以发送START和END命令。数据将使用DES 64位密码反馈算法进行加密。

If encryption (decryption) is turned off and back on again, and the same keyid is used when re-starting the encryption (decryption), the intervening clear text must not change the state of the encryption (decryption) machine.

如果关闭加密(解密)并再次打开,并且在重新启动加密(解密)时使用相同的密钥ID,则插入的明文不得更改加密(解密)计算机的状态。

If a START command is sent (received) with a different keyid, the encryption (decryption) machine must be re-initialized immediately following the end of the START command with the new key and the initial vector sent (received) in the last CFB64_IV command.

如果使用不同的密钥ID发送(接收)启动命令,则必须在使用新密钥和最后一个CFB64_IV命令中发送(接收)的初始向量的启动命令结束后立即重新初始化加密(解密)计算机。

If a new CFB64_IV command is sent (received), and encryption (decryption) is enabled, the encryption (decryption) machine must be re-initialized immediately following the end of the CFB64_IV command with the new initial vector, and the keyid sent (received) in the last START command.

如果发送(接收)了新的CFB64_IV命令,并且启用了加密(解密),则必须在CFB64_IV命令结束后立即使用新的初始向量重新初始化加密(解密)计算机,并在最后一个START命令中发送(接收)keyid。

If encryption (decryption) is not enabled when a CFB64_IV command is sent (received), the encryption (decryption) machine must be re-initialized after the next START command, with the keyid sent (received) in that START command, and the initial vector sent (received) in this CFB64_IV command.

如果发送(接收)CFB64_IV命令时未启用加密(解密),则必须在下一个START命令后重新初始化加密(解密)计算机,在该START命令中发送(接收)keyid,并在此CFB64_IV命令中发送(接收)初始向量。

4. Algorithm
4. 算法

Given that V[i] is the initial 64 bit vector, V[n] is the nth 64 bit vector, D[n] is the nth chunk of 64 bits of data to encrypt (decrypt), and O[n] is the nth chunk of 64 bits of encrypted (decrypted) data, then:

假设V[i]是初始64位向量,V[n]是第n个64位向量,D[n]是要加密(解密)的第n个64位数据块,O[n]是64位加密(解密)数据的第n个块,那么:

      V[0] = DES(V[i], key)
      O[n] = D[n] <exclusive or> V[n]
      V[n+1] = DES(O[n], key)
        
      V[0] = DES(V[i], key)
      O[n] = D[n] <exclusive or> V[n]
      V[n+1] = DES(O[n], key)
        
5. Integration with the AUTHENTICATION telnet option
5. 与身份验证telnet选项集成

As noted in the telnet ENCRYPTION option specifications, a keyid value of zero indicates the default encryption key, as might be derived from the telnet AUTHENTICATION option. If the default encryption key negotiated as a result of the telnet AUTHENTICATION option contains less than 8 bytes, then the DES_CFB64 option must not be offered or used as a valid telnet encryption option. If the encryption key negotiated as a result of the telnet AUTHENTICATION option is greater than 16 bytes the first 8 bytes of the key should be used as keyid 0 for data sent from the telnet client to the telnet server, and the second 8 bytes of the key should be used as keyid 0 for data sent by the telnet server to the telnet client. Otherwise, the first 8 bytes of the encryption key is used as keyid zero for the telnet ENCRYPTION option in both directions (with the client as WILL ENCRYPT and the server as WILL ENCRYPT).

如telnet加密选项规范中所述,keyid值为零表示默认加密密钥,这可能是从telnet身份验证选项派生的。如果由于telnet身份验证选项而协商的默认加密密钥包含少于8个字节,则DES_CFB64选项不得提供或用作有效的telnet加密选项。如果由于telnet身份验证选项协商的加密密钥大于16字节,则密钥的前8字节应用作从telnet客户端发送到telnet服务器的数据的密钥ID 0,而密钥的后8字节应用作telnet服务器发送到telnet客户端的数据的密钥ID 0。否则,加密密钥的前8个字节将在两个方向上用作telnet加密选项的密钥ID 0(客户端将加密,服务器将加密)。

In all cases, if the key negotiated by the telnet AUTHENTICATION option was not a DES key, the key used by the DES_CFB64 must have its parity corrected after it is determined using the above algorithm.

在所有情况下,如果telnet身份验证选项协商的密钥不是DES密钥,则DES_CFB64使用的密钥必须在使用上述算法确定后进行奇偶校验更正。

Note that the above algorithm assumes that it is safe to use a non-DES key (or part of a non-DES key) as a DES key. This is not necessarily true of all cipher systems, but we specify this behaviour as the default since it is true for most authentication systems in popular use today, and for compatibility with existing implementations. New telnet AUTHENTICATION mechanisms may specify alternative methods for determining the keys to be used for this cipher suite in their specification, if the session key negotiated by that authentication mechanism is not a DES key and and where this algorithm may not be safely used.

注意,上述算法假设使用非DES密钥(或非DES密钥的一部分)作为DES密钥是安全的。这并不一定适用于所有密码系统,但我们将此行为指定为默认行为,因为它适用于当今流行的大多数身份验证系统,并且与现有实现兼容。如果由该认证机制协商的会话密钥不是DES密钥并且该算法可能无法安全使用,则新的telnet认证机制可以在其规范中指定用于确定该密码套件的密钥的替代方法。

6. Security Considerations
6. 安全考虑

Encryption using Cipher Feedback does not ensure data integrity; the active attacker has a limited ability to modify text, if he can predict the clear-text that was being transmitted. The limitations faced by the attacker (that only 8 bytes can be modified at a time, and the following 8-byte block of data will be corrupted, thus making detection likely) are significant, but it is possible that an active attacker still might be able to exploit this weakness.

使用密码反馈进行加密无法确保数据完整性;如果主动攻击者能够预测正在传输的明文,则其修改文本的能力有限。攻击者面临的限制(一次只能修改8个字节,并且以下8个字节的数据块将被破坏,从而有可能被检测到)非常重要,但活动攻击者仍有可能利用此弱点进行攻击。

The tradeoff here is that adding a message authentication code (MAC) will significantly increase the number of bytes needed to send a single character in the telnet protocol, which will impact performance on slow (i.e. dialup) links.

这里的权衡是,添加消息身份验证码(MAC)将显著增加telnet协议中发送单个字符所需的字节数,这将影响慢速(即拨号)链路的性能。

7. Acknowledgments
7. 致谢

This document was originally written by Dave Borman of Cray Research with the assistance of the IETF Telnet Working Group.

本文件最初由Cray Research的Dave Borman在IETF Telnet工作组的协助下编写。

Author's Address

作者地址

Theodore Ts'o, Editor VA Linux Systems 43 Pleasant St. Medford, MA 02155

西奥多·曹,编辑VA Linux Systems 43马萨诸塞州圣梅德福德,邮编02155

Phone: (781) 391-3464 EMail: tytso@mit.edu

电话:(781)391-3464电子邮件:tytso@mit.edu

Full Copyright Statement

完整版权声明

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。