RFC 1412
Telnet Authentication: SPX
Telnet Authentication: SPX π
okay bestie, here's the vibe check on this one π§ RFC 1412 from the Network Working Group π, written by K. Alagappan at Digital Equipment Corporation, dated January 1993. It's an Experimental Protocol π§ͺ, and the title block doesn't list anything it obsoletes or updates.
Status of This Memo β¨
so basically this memo defines an Experimental Protocol for the Internet community π. People are literally invited to talk about it and suggest improvements π«Ά. For the official standardization state and status of this protocol, go check the current edition of the "IAB Official Protocol Standards" π. Distribution of this memo is unlimited π .
1. Command Names and Codes π
these are the names and numbers you'll see floating around π
Authentication Types
SPX 3
Suboption Commands
AUTH 0
REJECT 1
ACCEPT 2
2. Command Meanings π¦
The AUTH command π
this is how the SPX authentication token gets sent over to the remote side of the connection β¨
IAC SB AUTHENTICATION IS <authentication-type-pair> AUTH
<SPX authentication token> IAC SE
the doc that explains the token syntax is still coming, so hold tight π. The first octet of the <authentication-type-pair> value is SPX π. The second octet is a modifier to the SPX authentication type, which is giving main character energy π.
The ACCEPT command π«§
this one means the authentication worked, periodt π
IAC SB AUTHENTICATION REPLY <authentication-type-pair> ACCEPT
<mutual response> IAC SE
after an SPX authentication exchange, both sides have securely established a random 8-byte key π. That key is the default key for the ENCRYPTION option, so it's iconic and it's important π. If the AUTH_HOW_MUTUAL bit is set in the second octet of the authentication-type-pair, the sender includes the mutual response bytes π€. The receiver of the ACCEPT command compares the "mutual response" with its expected mutual response π.
the doc for mutual response syntax is also still coming π. If the AUTH_HOW_ONE_WAY bit is set in the second octet of the authentication-type-pair, the sender includes zero bytes of mutual response πΈ.
The REJECT command π
this one means the authentication did not work π. If there's any more data in the sub-option, it's an ASCII text message explaining the reason for the rejection π.
IAC SB AUTHENTICATION REPLY <authentication-type-pair> REJECT
<optional reason for rejection> IAC SE
3. Implementation Rules π
ok this part is the lowkey strict stuff π«£. Every command after the first AUTHENTICATION IS must carry the same set of modifiers (e.g., CLIENT|MUTUAL) for subsequent AUTHENTICATION IS and AUTHENTICATION REPLY commands π.
If the second octet of the authentication-type-pair has the AUTH_WHO bit set to AUTH_WHO_CLIENT, then the client sends the initial AUTH command, and the server responds with either ACCEPT or REJECT π€.
If the second octet of the authentication-type-pair has the AUTH_WHO bit set to AUTH_WHO_SERVER, then the server sends the initial AUTH command, and the client responds with either ACCEPT or REJECT π₯.
4. Examples π§ββοΈ
okay the example is so cute, it's basically a story π. User "joe" wants to log in as user "pete" on machine "foo" π. If "pete" has set things up on "foo" to let "joe" access his account, then the client sends this:
IAC SB AUTHENTICATION NAME "pete" IAC SE
IAC SB AUTHENTICATION IS SPX AUTH <joe's spx authentication
token> IAC SE
The server then authenticates the user as "joe" from the token information, and it sends back either ACCEPT or REJECT ποΈ. If mutual authentication is being used, the server includes a mutual response in the ACCEPT message π€.
β οΈ bestie, the authorization check is separate! It happens after the authentication exchange is complete. So it's possible for the client to receive an ACCEPT (based on the authentication token) but for joe to still be denied access to log in to pete's account ππ .
here's the whole sequence, in all its glory π¬
Client Server
IAC DO AUTHENTICATION
IAC WILL AUTHENTICATION
[ The server is now free to request authentication information.
]
IAC SB AUTHENTICATION SEND SPX
CLIENT|MUTUAL SPX CLIENT|ONE_WAY
IAC SE
[ The server has requested mutual SPX authentication. If mutual
authentication is not supported, then the server is willing to
do one-way SPX authentication. ]
[ The client will now respond with the name of the user that it
wants to log in as, and the SPX authentication token. ]
IAC SB AUTHENTICATION NAME
"pete" IAC SE
IAC SB AUTHENTICATION IS SPX
CLIENT|MUTUAL AUTH <spx
authentication token
information> IAC SE
[ The server responds with an ACCEPT command to state that the
authentication was successful. ]
[ If AUTH_HOW_MUTUAL, the server responds with the mutual
response so the client can verify that it is really talking to
the right server. ]
[ If AUTH_HOW_ONE_WAY, the server responds with a NULL mutual
response, since the client is willing to trust the server
already. ]
IAC SB AUTHENTICATION REPLY SPX
CLIENT|MUTUAL ACCEPT <mutual
response> IAC SE
Security Considerations π
π¨ okay, this part is seriously important, so no skipping! π¨
the ability to negotiate a common authentication mechanism between client and server is a feature of the authentication option that should be used with caution π¬. When the negotiation is performed, no authentication has happened yet π«£. So each system has no way of knowing whether or not it's talking to the system it intends π. An intruder could try to negotiate the use of an authentication system that's either weak, or already compromised by the intruder π. That's a whole mood, so be careful out there π‘οΈ.
Author's Address π
the author is Kannan Alagappan at Digital Equipment Corporation:
Kannan Alagappan
Digital Equipment Corporation
550 King Street, LKG1-2/A19
Littleton, MA 01460
EMail: kannan@sejour.lkg.dec.com
Mailing List: telnet-ietf@CRAY.COM
the working group can be reached through its current chair π§βπ»:
Steve Alexander
INTERACTIVE Systems Corporation
1901 North Naper Boulevard
Naperville, IL 60563-8895
Phone: (708) 505-9100 x256
EMail: stevea@isc.com
π that's the whole RFC, bestie! π Authentication is a big deal, so keep it cute and keep it careful π¦β¨
π¦ where this page comes from
- ietf: rfc1412 1993-01
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms