Basic access authentication: Difference between revisions

Content deleted Content added
Jumplong (talk | contribs)
m Changed RFC 2068 to RFC 2616 (an update to RFC 2068)
No edit summary
Line 1:
In the context of an [[HTTP]] transaction, the '''basic authentication scheme''' is a method designed to allow a [[web browser]], or other client program, to provide credentials – in the form of a [[user name]] and [[password]] – when making a request. Although the scheme is easily implemented, it relies on the assumption that the connection between the client and server computers is secure and can be trusted. Specifically, the credentials are passed as [[plaintext]] and could be intercepted easily. The scheme also provides no protection for the information passed back from the server.
 
To prevent the user name and password being read directly by a person, they are encoded as a sequence of [[Base64|base-64]] characters before transmission. For example, the user name <tt>&quot;Aladdin&quot;</tt> and password <tt>&quot;open sesame&quot;</tt> would be combined as <tt>&quot;Aladdin:open sesame&quot;</tt> &ndash; which is equivalent to <tt>QWxhZGRpbjpvcGVuIHNlc2FtZQ==</tt> when encoded in base-64. Little effort is required to translate the encoded string back into the user name and password, and many popular security tools will decode the strings "on the fly". Basic authentication must therefore be performed over an encrypted connection (i.e. SSL).
 
One advantage of the basic authentication scheme is that it is supported by almost all popular web browsers. It is rarely used on normal [[Internet]] [[Website|web sites]] but is suitable for small, private systems. A later mechanism, [[digest access authentication]], was developed in order to replace the basic authentication scheme and enable credentials to be passed in a relatively secure manner over an otherwise insecure channel.