The TCP/IP Guide - Version 3.0 (Contents) ` 1598 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
Well, in the case of the World Wide Web this is true, but the issue is even more important
due to the significance of the changes in the content of what HTTP messages carry. HTTP
has become the vehicle for transporting any and every kind of information, including a large
amount of personal data. HTTP was initially designed to carry academic documents such
as memos about research projects, but today is more likely to carry someone’s mortgage
application, credit card details or medical details. Thus, not only does HTTP have the usual
security issues such as preventing unauthorized access, it needs to deal with privacy
concerns as well.
HTTP Authentication Methods
The main HTTP/1.1 standard, RFC 2616, also does not deal extensively with security
matters. These are addressed in detail instead in the companion document, RFC 2617,
which explains the two methods of HTTP authentication. Highly summarized, they are:
☯ Basic Authentication: This is a conventional user/password type of authentication.
When a client sends a request to a server that requires authentication to access a
resource, the server sends a response to the client’s initial request that contains a
WWW-Authenticate header. The client then sends a new request containing the
Authorization header, which carries a base64-encoded username and password
combination.
☯ Digest Authentication: Basic authentication is not considered strong security
because it sends credentials “in the clear”, which means that they can be intercepted.
Digest authentication uses the same headers as basic authentication, but employs
more sophisticated techniques, including encryption, that protect against a malicious
person “snooping” credentials information. Digest authentication is not considered as
strong as public key encryption, but is a lot better than basic authentication. It’s also a
darn sight more complicated. The full details of how it works are in RFC 2617.
Security and Privacy Concerns and Issues
Both RFC 2616 and 2617 also address some of the specific security concerns and threats
that can potentially affect HTTP clients and servers. These include actions such as
spoofing, counterfeit servers, replay attacks and much more. One concern addressed is the
potential for “man-in-the-middle” attacks, where an attacker interposes between the client
and server. Since proxies are inherently “men in the middle”, they represent a security
concern in this area. The same authentication methods used for servers can also be
applied to authentication with proxies. The Proxy-Authenticate and Proxy-Authorization
headers are used instead of WWW-Authenticate and Authorization.
The standards also discuss a number of privacy issues. Some that are worthy of note:
☯ Handling of Sensitive Information: The HTTP protocol can carry any type of infor-
mation, and it does not inherently protect the privacy of data in HTTP message
entities. To ensure the privacy of sensitive information, other techniques must be used
(which we will discuss shortly).