diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-11-27 20:54:24 +0100 |
commit | 4bfd864f10b68b71482b35c818559068ef8d5797 (patch) | |
tree | e3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc2952.txt | |
parent | ea76e11061bda059ae9f9ad130a9895cc85607db (diff) |
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc2952.txt')
-rw-r--r-- | doc/rfc/rfc2952.txt | 283 |
1 files changed, 283 insertions, 0 deletions
diff --git a/doc/rfc/rfc2952.txt b/doc/rfc/rfc2952.txt new file mode 100644 index 0000000..91dc266 --- /dev/null +++ b/doc/rfc/rfc2952.txt @@ -0,0 +1,283 @@ + + + + + + +Network Working Group T. Ts'o +Request for Comments: 2952 VA Linux Systems +Category: Informational September 2000 + + + Telnet Encryption: DES 64 bit Cipher Feedback + +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. + +Abstract + + This document specifies how to use the DES encryption algorithm in + cipher feedback mode with the telnet encryption option. + +1. Command Names and Codes + + Encryption Type + + DES_CFB64 1 + + Suboption Commands + + CFB64_IV 1 + CFB64_IV_OK 2 + CFB64_IV_BAD 3 + +2. Command Meanings + + + IAC SB ENCRYPT IS DES_CFB64 CFB64_IV <initial vector> 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. + + IAC SB ENCRYPT REPLY DES_CFB64 CFB64_IV_OK IAC SE + IAC SB ENCRYPT REPLY DES_CFB64 CFB64_IV_BAD IAC SE + + + + +T'so Informational [Page 1] + +RFC 2952 DES 64 bit Cipher Feedback September 2000 + + + 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). + +3. Implementation Rules + + 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. + + 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. + + 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. + + 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. + + 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. + + + + + + + + + + + + +T'so Informational [Page 2] + +RFC 2952 DES 64 bit Cipher Feedback September 2000 + + +4. Algorithm + + 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[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 + + 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). + + 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. + + 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. + + + + + + + + + +T'so Informational [Page 3] + +RFC 2952 DES 64 bit Cipher Feedback September 2000 + + +6. Security Considerations + + 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. + + 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. + +7. Acknowledgments + + This document was originally written by Dave Borman of Cray Research + with the assistance of the IETF Telnet Working Group. + +Author's Address + + Theodore Ts'o, Editor + VA Linux Systems + 43 Pleasant St. + Medford, MA 02155 + + Phone: (781) 391-3464 + EMail: tytso@mit.edu + + + + + + + + + + + + + + + + + + + + + + +T'so Informational [Page 4] + +RFC 2952 DES 64 bit Cipher Feedback September 2000 + + +Full Copyright Statement + + Copyright (C) The Internet Society (2000). All Rights Reserved. + + 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. + + + + + + + + + + + + + + + + + + + +T'so Informational [Page 5] + |