Cryptography Reference
In-Depth Information
for man-in-the-middle attacks or passive eavesdroppers. The simplest solution
is to do what HTTP did and establish a new port for SSL-enabled connections.
In fact, port 563 was assigned by the Internet Assigned Numbers Authority (IANA)
for this purpose. A better approach, though, especially given that NNTP is a
stateful protocol to begin with, is to establish a plaintext connection over port
119 and defi ne a new command to switch to SSL. When the server receives this
command, assuming the server recognizes, supports, and accepts it, the client
should begin a TLS handshake as shown in Chapter 6.
NNTP uses the STARTTLS command for this purpose. When the client sends
a STARTTLS command, the server must respond with response code 382 indi-
cating that it supports TLS — if it doesn't, the client must either authenticate in
the clear or terminate the connection. The server could even demand client-side
authentication in this case, supplementing the password-based authentication
described in RFC 2980. After the TLS handshake is complete, the NTTP session
continues as it would have in the plaintext case, on the same socket that was
originally established without TLS.
Although the same physical connection is used pre- and post-TLS negotiation,
STARTTLS effectively resets all settings to what they were when the socket itself
was fi rst established. This is done because nothing that occurred prior to a suc-
cessful TLS handshake can be trusted in a security-conscious setting; anything
could have been modifi ed by an active attacker, even if the client established the
connection and immediately tried to submit a STARTTLS to secure it.
Implementing “Multi-hop” SMTP over TLS and
Protecting Email Content with S/MIME
After the World Wide Web itself, email is about as fundamental and ubiquitous
as Internet usage gets. Email has been around even longer than NNTP, and much
longer than SSL or TLS, so it suffers from the same eavesdropping and man-in-
the-middle vulnerabilities as NNTP, but the vulnerabilities are compounded
by the complexity of email itself.
Understanding the Email Model
In the email model, individual users have mail boxes identifi ed by email addresses
such as joshua.davies@ImplementingSSL.com . These mail boxes are hosted
by an email provider, typically at a different site than the actual user. A home
email address, for example, is probably hosted by the user's Internet Service
Provider. The email user connects periodically to check for new messages, but
if a message is sent to a recognized email address, the hosting provider must
store the message until the user connects to download it.
 
Search WWH ::




Custom Search