Home | About HTTP Digest | Features | Documentation | Get Kabel .NET! | Registration & Support | About |
|
About HTTP Digest
HTTP Digest is an extension to the HTTP protocol, which allows more secure authentication than the earlier HTTP scheme called Basic Authentication. Unlike this predecessor, HTTP Digest is conceptualized so that passwords are never exchanged in clear-text and cannot be decrypted from the secure communication’s data stream. The Mechanism: How Credentials are exchanged Like most of today’s authentication schemes, HTTP Digest relies on the concept that server and client know a common secret, a password, which one can use to authenticate the other. Specifically, HTTP Digest implements a so-called Challenge/Response scheme whose process works in the following steps:
Each web application using HTTP Digest has a distinctive Realm property (sometimes also called Domain), which can be thought of as a name for the application, which the Client can commonly identify. Besides identifying the application to the Client, it also serves as a protection against password fraud: the Realm is included in the hashes, which Client and Server exchange; thus, when a hashed challenge for Realm A is compromised, it cannot be used for Realm B. The challenges generated by the Kabel .NET implementation of HTTP Digest do not simply contain random data. Instead, these more “meaningful” challenges contain specially encoded information which the Server later re-uses to determine whether a challenge is possibly too old (“expired”, “stale”), has been used too many times, or is otherwise inappropriate for the requested resource.
The use of tickets becomes necessary because often, a verified challenge will be used for multiple subsequent requests. An advanced intruder could spy on a communication and pick-up an already verified challenge, attach it to his own request and make the Server believe he was the challenge’s original Client. These attacks are called replay attacks but through the use of specialized challenges, the Server is able to recognize and reject them. When a Client is technically authenticated successfully but the ticket he used has become invalid for any above reasons, the Server returns the old ticket as “stale” and returns a new one, which the Client must instead from now on. This re-authentication between Client and Server is handled with interruption to the overall communication; a “stale” ticket does not generate an error (such as “Access Denied”) on the client side, rather the Client will automatically make the same request again using the new challenge. Tickets in Kabel .NET: Timeouts, Usage Counts, Resource Dependence In its base (or “out-of-the-box”) implementation, Kabel .NET offers three ways of specializing tickets.
As acknowledged by the Working Group responsible for drafting the HTTP Digest standard, this mechanism is not as secure as Kerberos or Public Key infrastructures, but still provides adequate protection of Client credentials and Server resources for the purposes of most web applications. [1] While passwords are exchanged securely with this method, be aware that after all HTTP Digest (like any password-based system) is only secure as your shortest and most obvious password. One of the great advantages of HTTP Digest today is its relatively broad availability on client platforms. Thus, client-side implementation of Digest authentication is provided out-of-the-box in the communication APIs of Microsoft Windows as well as Internet Explorer and Opera browsers. Furthermore, it is supported on different SOAP platforms, including the .NET Framework [2], the open-source Ximian Soup [3], Java-based TME Glue [4] and is also expected to ship with version 1.4 of the popular PocketSOAP [5]. [1] HTTP Digest Specification: Formatted
| Original |
Home | About HTTP Digest | Features | Documentation | Get Kabel .NET! | Registration & Support | About |
| Copyright © 2002 uthentic.net, All Rights Reserved |