Internet DRAFT - draft-hallambaker-httpauth
draft-hallambaker-httpauth
Internet Engineering Task Force P. Hallam-Baker
Internet-Draft Comodo Group Inc.
Intended status: Standards Track October 22, 2012
Expires: April 25, 2013
HTTP Authentication Considerations
draft-hallambaker-httpauth-01
Abstract
This draft is input to the HTTP Working Group discussion of HTTP
authentication schemes.
Since the topic is one that the intended audience is more than
familiar with, the presentation style is maybe not what is usual in
such papers.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 25, 2013.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
Hallam-Baker Expires April 25, 2013 [Page 1]
Internet-Draft HTTP Authentication Considerations October 2012
described in the Simplified BSD License.
Table of Contents
1. What is Wrong in Web Authentication . . . . . . . . . . . . . 3
1.1. Password Promiscuity . . . . . . . . . . . . . . . . . . . 3
1.1.1. Password Recovery Schemes . . . . . . . . . . . . . . 4
1.1.2. Phishing . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Provider Lock In . . . . . . . . . . . . . . . . . . . . . 5
1.3. Strong Credentials Compromised by Weak Binding . . . . . . 6
1.3.1. Confirmation vs Authentication . . . . . . . . . . . . 7
1.4. What passwords get right . . . . . . . . . . . . . . . . . 7
2. User Authentication is Three Separate Problems . . . . . . . . 8
2.1. Registration . . . . . . . . . . . . . . . . . . . . . . . 8
2.2. Credential Presentation . . . . . . . . . . . . . . . . . 8
2.3. Message Authentication . . . . . . . . . . . . . . . . . . 9
3. Deployment Approach . . . . . . . . . . . . . . . . . . . . . 10
3.1. Password Managers as Transition Path . . . . . . . . . . . 10
3.2. Non-Transferable Credentials . . . . . . . . . . . . . . . 11
4. Action Plan . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1. Open Protocol for credential management . . . . . . . . . 11
4.2. HTTP Integrity Header . . . . . . . . . . . . . . . . . . 12
4.3. Bindings . . . . . . . . . . . . . . . . . . . . . . . . . 12
5. Security Considerations . . . . . . . . . . . . . . . . . . . 12
5.1. User Lock In . . . . . . . . . . . . . . . . . . . . . . . 12
5.2. Site Lock In . . . . . . . . . . . . . . . . . . . . . . . 12
5.3. Impersonation . . . . . . . . . . . . . . . . . . . . . . 12
5.4. Credential Disclosure . . . . . . . . . . . . . . . . . . 12
5.5. Credential Oracle . . . . . . . . . . . . . . . . . . . . 12
5.6. Randomness of Secret Key . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13
7. Normative References . . . . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13
Hallam-Baker Expires April 25, 2013 [Page 2]
Internet-Draft HTTP Authentication Considerations October 2012
1. What is Wrong in Web Authentication
What is wrong with Web Authentication is that twenty years later we
still depend on passwords and what is worse, the weakest possible
password infrastructure.
Little has changed in the use of password authentication since the
publication of crack in 1990. Before crack it was a point of pride
for many Unix admins that the one way encryption used in UNIX "made
their password system more secure than VMS". It was argued that
making the one way encrypted password file public made the system
more secure than the 'security-through-insecurity' approach of VMS.
VMS also used one way encryption but the password file was only
readable with admin privileges. Endless USENET flames explained
'why' this was a terrible, terrible idea. When crack appeared these
flames were quietly forgotten and it is widely imagined that UNIX
systems have always had shadow passwords.
In the wake of crack it was discovered that most users chose terrible
passwords that could be guessed through a brute force or dictionary
attack in a few hours. The use of a salt made guessing passwords
moderately more difficult as did minimum length password requirements
and a requirement to use a non alphabetic character.
In the two decades since the standard rules for passwords were set in
scripture, computing power has increased by over a billion times and
it is now possible to buy a computer that will fit in the heel of a
shoe that is more powerful than the fastest mainframe on CERN campus
in 1992. The ad-hoc rules developed to make brute force attacks an
order of magnitude harder in 1990 have been rendered utterly
irrelevant by the six orders of magnitude improvement in available
computing power. We have arrived at a situation where we use
passwords that are maximally hard for people to remember while being
trivial for modern computers to break by brute force.
This approach to password security: complacency followed by ad hoc
patches followed by complacency has remained firmly in place since.
1.1. Password Promiscuity
Today the typical Internet user has to remember hundreds of passwords
and account names. Since this is of couse silly, most users, myself
included do no such thing. Most users have the same password for
every account. Security concious users have a different password for
every account they care about and an easy to remember password for
the rest. My New York Times account is phil@hallmabaker.com and the
password is GuessEasy. Go have a party. That information protects
an asset that the New York Times wants to protect. It is not an
Hallam-Baker Expires April 25, 2013 [Page 3]
Internet-Draft HTTP Authentication Considerations October 2012
asset that I care to spend time or effort protecting.
Password promiscuity is a natural strategy that users have adopted to
protect the asset they care about: Their time. Creating and
remembering strong passwords takes time and effort. Blaming users
for not taking time and effort to protect the assets of other people
is futile.
If Alice has shared her password at 100 sites then a single corrupt
actor who can access just one of those sites can gain access to the
other 99.
Account names pose a harder problem since most sites require that the
account name be unique for that site. So a user who finds their
preferred account name is taken has to choose another.
Expecting users to remember all this stuff is stupid, just stupid.
1.1.1. Password Recovery Schemes
Password and account name recovery schemes are necessary because
users cannot remember the hundreds of passwords or account names that
using the Web now involves.
The most common password recovery mechanism is the email callback
authentication mechanism first used by Mallery and Hurwitz on their
Open Meeting system. A challenge (usually in the form of a link) is
sent out to the user to their registered email address. The user
must respond to the challenge to reset their account.
One important consequence of the email callback scheme is that
virtually every Web site that has an accounts mechanism requests an
email address during registration. There is thus no loss of privacy
if the email address is used as the account name. Many sites have
realized this fact and avoid the need for the user to choose an
account name by allowing them to give their email address instead.
A site need not and in fact should not disclose the email address to
other users when this approach is used. Shadow account names allow
the user the courtesy of not having to remember the account name for
that site.
1.1.2. Phishing
Another circumstance that made it difficult to implement strong
security mechanisms at the time was the popular misconception that
the attackers were exclusively teenage miscreants engaged in the
cyber equivalent of joy-riding rather than criminals motivated by
Hallam-Baker Expires April 25, 2013 [Page 4]
Internet-Draft HTTP Authentication Considerations October 2012
money. People were warned that this was not the case but they did
not want to hear.
The core defect of the Web authentication mechanism is that passwords
are presented en-clair to the verifier. Thus any party who can
present a login page to the user stands a good chance of capturing
their credentials.
This problem was of course anticipated a few days after the BASIC
authentication mechanism was proposed and was the original motivation
for DIGEST authentication. But DIGEST authentication did not permit
the re-use of legacy UNIX password files and so implementation did
not take place until it was to late to deprecate BASIC.
Even today, IE7 makes no distinction between a request for
authentication using BASIC vs DIGEST. Thus an attacker can easily
capture the user's credentials through a downgrade attack. DIGEST
was intended to replace BASIC and for BASIC to be expunged from the
spec as dangerous to use.
In the event authentication moved into the HTML layer which likewise
communicated the password enclair to the verifier. Thus enabling
phishing.
1.2. Provider Lock In
Many schemes have been developed to provide the user with a portable
form of credential but all those created to date present the security
risk of lock-in to both users and relying parties.
Such schemes are often described as 'identity management' a term that
seems to hurt rather than help comprehension of the problems
involved.
Many users have found to their cost that when their FaceBook or
Twitter account is disabled, they lose access to every other Web site
linked to it.
While end users are faced with a minor inconvenience, relying party
sites are faced with the risk that the 'identity provider' will
decide to change their terms of service to their great disadvantage
with little or no notice. Essentially the relying parties have
agreed to channel all their traffic through the portal of another
without any form of contractual agreement to prevent the portal owner
setting up a toll booth.
A particular form of lock in that will doom any scheme to an
inevitable and deserved death is any attempt to tie the scheme to the
Hallam-Baker Expires April 25, 2013 [Page 5]
Internet-Draft HTTP Authentication Considerations October 2012
use of any naming registry other than the DNS.
In one recent exercise in mindboggling futility a group of otherwise
rational people spent over five years on a project where the two
identifier forms to be supported were
http://www.whowoulddothis.org/username and =username. It was rather
obviously and abundantly clear that the only rational reason for the
first choice was to corrale users to the inevitable choice of the
second. Well they didn't did they?
One of the problems with such commercial interests is that it is
often considered impolite or somehow improper to point out that they
exist. Even when it is rather clear that their presence is going to
doom the scheme to extinction.
While a naming ragistry can be profitable in theory, there have only
been four such registries established on an international scale in
the history of human civilization. Each supported a new form of
communication, these being the postal system, the telephone system,
the barcode product identifier system and the Internet. While
commercial control of such a registry would of course bring ritches
almost beyond the dreams of MBAs, the chance that such proposals
might succeed is negligible to nil.
1.3. Strong Credentials Compromised by Weak Binding
A secondary Web authentication problem is that use of strong
credentials is compromised by the inadequacy of the Web protocols.
For example, a One Time Password (OTP) token provides strong
authentication when used in the context of a VPN or other application
that can guarantee that the passcode is only presented to the
intended service. When entered into a HTML page, OTP passcodes are
as vulnerable to interception as passwords.
Use of an OTP or public key token provides strong evidence that the
hardware device concerned was in some way involved in a transaction
but not the intention of the token holder.
Consider the case where a wire transfer of $10,000 to be sent to
Nigeria is requested, the bank asks for an OTP value to be entered as
confirmation. The bank can only verify that the value entered is the
next OTP value in sequence. The bank has no means to determine
whether the token holder was looking at a Web page that asked them to
enter the value to confrim the wire transfer or whether they were
looking at a Web page asking if they would like to buy a fluffy pink
bunny for their daughter's birthday.
If an authentication system cannot tell the difference between a con
Hallam-Baker Expires April 25, 2013 [Page 6]
Internet-Draft HTTP Authentication Considerations October 2012
trick and a pink fluffy bunny, it should not be considered strong.
1.3.1. Confirmation vs Authentication
Modern smartphones are ubiquitous and relatively cheap. They provide
a computing capability, a communication capability and a display in a
single package. This is a platform that can and should be leveraged
as an authentication device that can provide proof not only that the
user was involved but that they were committed to the transaction
concerned.
This technology provides us for the first time with a technology
platform that is capable of presenting the user with the actual
transaction they are being asked to confirm and to thus provide a
strong binding between the device and the transaction.
My prefered hardware device for such a use would be a wristwatch with
an intelligent display.
1.4. What passwords get right
Overlooked in most security discussion of passwords is what they get
right, indeed it is often assumed that they have no redeeming
features. Yet if that were the case they would have been gone long
ago. The real problem of passwords is that they work just well
enough to be almost always better than the alternatives.
The biggest advantage of passwords is that every Internet device has
had to develop the affordances to support them. My Internet enabled
weighing scale has a USB socket whose sole purpose is to enable me to
plug it into a computer to set the WiFi network name and password. I
can log into my personal email account from every desktop computer,
laptop, tablet or mobile in the house. I can only acces my corporate
email from the one machine configured for the corporate VPN and smart
token.
Passwords require no dongles, tokens or cards which in turn means
that they don't require device drivers or administrator privileges.
While vendors of such systems strive to present low barriers for such
devices, low barriers can never compete with no barriers if the user
has a choice in the matter. People take effort to secure the assets
they care about which is why banks can't give authentication tokens
to customers while the same customers will go and pay for a
battle.net token to secure the assets that matter to them.
Hallam-Baker Expires April 25, 2013 [Page 7]
Internet-Draft HTTP Authentication Considerations October 2012
2. User Authentication is Three Separate Problems
The term 'authentication' tends to cause confusion due to the fact
that there are actually three separate activities that it can refer
to. When Alice establishes an account at a Web site, the site may
verify her email address is correct. When Alice presents her
username and password, the site verifies the data and if correct
issues a HTTP cookie. When Alice re-visits the same Web site to make
further requests, the cookie is verified each time. Each of these
verifications is a form of authentication but they are totally
different in character and only the last of these is a form of
authentication that is directly related to HTTP.
Attempts have been made to distinguish between these as 'initial
authentication' and 're-authentication' but this also creates
confusion as some people consider the first contact with the user as
the 'initial' authentication and others consider that to be the start
of a Web session.
2.1. Registration
Registration comprises all activities related to the establishment
and maintenance of an account. These include the initial dialogu in
which Alice picks out an account name for display on the site and her
authentication credentials and all subsequent updates including
password resets.
In a small number of circumstances, registration involves
authentication of dopcumentary evidence such as articles of
incorporation, a passport, business license or professional
qualifications. The term validation seems to have emerged as the
term of art for this activity.
Today registration is almost exclusively managed through HTML forms.
Any new system will probably have to respect this approach.
Registration establishes an account that is in almost every case to
be accessible from multiple Web browsers rather than just the browser
on which the registration process was completed.
2.2. Credential Presentation
Unlike the FTP and Telnet protocols that preceded it, HTTP Web
sessions typically span multiple TCP connections. In the typical
case the use will 'log in' to a Web site to establish a session that
then continues for several hours, days or even months.
Like the registration phase, credential presentation has largely
transitioned out of the browser to HTML. Although many users employ
Hallam-Baker Expires April 25, 2013 [Page 8]
Internet-Draft HTTP Authentication Considerations October 2012
plugins and applets that effectively reverse this, filling in the
account an password field from a password database that is stored
locally or in the cloud.
While such 'password managers' have traditionally been considered
part of the problem they are in fact a necessary part of any
solution. If we are going to improve matters we must first offer
users a solution that meets their needs better than current
solutions.
2.3. Message Authentication
Credential presentation has a necessary impact on the user. Since it
would be tedious to enter a username and password for every Web page
view, a lightweight mechanism is necessary to re-authenticate the
user and demonstrate that they are the user that authenticated
themselves when the session was created.
This is the only part of the process that is currently within the
scope of HTTP rather than HTML and probably the only part for which
it will be possible to get agreement on a better mechanism than the
existing one.
The best available mechanism is the HTTP 'cookie'. This is highly
unsatisfactory as a technical mechanism as they are weakly bound to
the HTTP transaction and disclosed to the verifier. These
circumstances in turn lead to numerous forms of cookie-stealling and
cookie-stuffing attacks.
Using cookies for authentication also involves privacy concerns. In
the context of authentication schemes, the use of cookies does not
raise new privacy concerns as the purpose of the authentication
scheme is to establish a session and uniquely identify the user.
Unfortunately the cookie spec permits sites to establish cookies for
tracking purposes without user permission or knowledge. The fact
that cookies may be used for illegitimate purposes compromises
legitimate uses and creates unnecessary transaction costs including
customer serivce calls, congressional subpoenas and accusations on
slashdot.
My proposal for fixing this part of the problem isdescribed in
[I-D.hallambaker-httpintegrity].
While there are many, many concerns that need to be considered in the
registration and credential presentation operations, the problem of
message authentication can be reduced to the problems of:
Hallam-Baker Expires April 25, 2013 [Page 9]
Internet-Draft HTTP Authentication Considerations October 2012
Identifying a security context consisting of at minimum an
authentication algorithm, key and account identifier.
Applying the security context to parts of the HTTP message.
3. Deployment Approach
Proposing a better authentication mechanism for the Web is easy. In
fact there is nobody involved in Web Security that could not develop
a better scheme given a free hand and a group of people interested in
deployment. The development of a secure scheme should be well within
the capabilities of a competent first year Computer Science
undergraduate.
The much harder problem is deployment and in particular how to deploy
a new scheme in the context of the legacy infrastructure. Here the
ease with which a proposal can be made makes deployment harder, not
easier since there are always competing proposals.
3.1. Password Managers as Transition Path
If the users are going to participate in any new scheme it must work
at least as well as the existing password scheme. In particular it
must be possible for the user to access all their accounts from their
browser in a transparent fashion with minimal hassle.
Storing passwords in the cloud is a very good way to achieve the
user's interest even if the sites whose assets may be compromised as
a result may see it as a bad thing. Let us agree for the sake of
argument that we consider passwords to be such an intrinsically
insecure form of authentication that the user choice to store them in
the cloud has negligible impact on the security of the system.
Since all the proposals to improve the Web authentication
infrastructure involve some form of 'identity provider', why not give
that provider the secondary purpose as a password manager?
If the communication between the client and the password manager was
a widely supported Internet standard, users could choose any provider
they liked as their password manager and access their credentials
from any Web browser that they might need to use.
Such a confluence could in itself improve security as once the user
is assured that every browser they need to use has access to their
password manager, there is no need for the password to be memorable.
It is thus possible for the password used for credential presentation
to the site to be long and strong.
Hallam-Baker Expires April 25, 2013 [Page 10]
Internet-Draft HTTP Authentication Considerations October 2012
Use of a standards based password management protocol permits the
user to take their security into their own hands irrespective of what
attempts the sites might attempt to prevent it. What is perhaps more
interesting is that it also sets the scene to enabling use of strong
credentials.
3.2. Non-Transferable Credentials
While Web sites concerned with the risk that their customers store
credentials in the cloud might attempt to frustrate a cloud based
password infrastructure, a much better approach is to co-opt it and
use it as a basis to build on. At the very least, a cloud based
authentication infrastructure provides a useful pre-authentication
step that could be used as a preliminary to a site specific log-in.
But just as an identity provider can also be a cloud password
manager, the converse is also true. The cloud password manager can
also support one or more existing mechanisms that enable credential
presentation authentication without disclosure of the credential
being verified. These could be based on SAML, OpenID, OAUTH or even
some new proposal.
4. Action Plan
My proposal to improve Web authentication has the following parts:
Open Protocol for credential acquisition
HTTP Integrity Header
Bindings for credential presentation employing the commonly used
federated authentication schemes, vis SAML, OAUTH, OpenID, etc.
4.1. Open Protocol for credential management
This protocol would be responsible for managing users legacy
credentials (i.e. passwords) and to support whatever strong
mechanisms for credential exchange were developed.
The protocol itself would require registration, credential
presentation and query components. Once the user had established an
account they would have to be able to bind any browser or device of
their choice to that account, possibly doing so for a very limited
time or for limited sites.
The query component would be of the form 'how do I access site X with
identity Y'. For general applications the broker might then respond
Hallam-Baker Expires April 25, 2013 [Page 11]
Internet-Draft HTTP Authentication Considerations October 2012
with a username and password or a secret to be used to respond to a
challenge. For circumstances requiring higher security the system
might support some form of key splitting or sharing or other control
limiting exposure.
4.2. HTTP Integrity Header
This is described at length in [I-D.hallambaker-httpintegrity]
The biggest challenge in the design of SAML, OAUTH and OpenID was
establishing a secure binding between the authentication token and
the HTTP messages. Using cookies and URI fragments for this purpose
is deeply unsatisfactory.
4.3. Bindings
While we might imagine that we can get by with one single protocol
that is going to solve all our authentication problems we now live in
a world where there is much legacy that demands attention. Even if
we decide that in future we are all going to use one single new
protocol, we have to find a mechanism that allows the credential
management systems to trade in their old lamps for new.
At minimum we require a mechanism that allows Web sites to specify
which forms of authentication credentials they might accept, which
mechanisms for useing them for validation and of transporting the
challenges and responses for such mechanisms within HTTP message
headers.
5. Security Considerations
Since this is a discussion document and the whole thing is talking
about security, I think I will just leave the headings here to remind
people about the security issues I think people should consider.
5.1. User Lock In
5.2. Site Lock In
5.3. Impersonation
5.4. Credential Disclosure
5.5. Credential Oracle
5.6. Randomness of Secret Key
Hallam-Baker Expires April 25, 2013 [Page 12]
Internet-Draft HTTP Authentication Considerations October 2012
6. IANA Considerations
7. Normative References
[I-D.hallambaker-httpintegrity]
Hallam-Baker, P., "HTTP Integrity Header",
draft-hallambaker-httpintegrity-01 (work in progress),
October 2012.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Author's Address
Phillip Hallam-Baker
Comodo Group Inc.
Email: philliph@comodo.com
Hallam-Baker Expires April 25, 2013 [Page 13]