x
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18921 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
394
doc/standardisation/draft-ietf-krb-wg-hw-auth-04.txt
Normal file
394
doc/standardisation/draft-ietf-krb-wg-hw-auth-04.txt
Normal file
@@ -0,0 +1,394 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Kerberos Working Group Matt Crawford
|
||||
Internet Draft Fermilab
|
||||
21 October 2006
|
||||
|
||||
Passwordless Initial Authentication to Kerberos
|
||||
by Hardware Preauthentication
|
||||
<draft-ietf-krb-wg-hw-auth-04.txt>
|
||||
|
||||
|
||||
|
||||
Status of this Memo
|
||||
|
||||
By submitting this Internet-Draft, each author represents that any
|
||||
applicable patent or other IPR claims of which he or she is aware
|
||||
have been or will be disclosed, and any of which he or she becomes
|
||||
aware will be disclosed, in accordance with Section 6 of BCP 79.
|
||||
|
||||
Internet-Drafts are working documents of the Internet Engineering
|
||||
Task Force (IETF), its areas, and its working groups. Note that
|
||||
other groups may also distribute working documents as Internet-
|
||||
Drafts.
|
||||
|
||||
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."
|
||||
|
||||
The list of current Internet-Drafts can be accessed at
|
||||
http://www.ietf.org/1id-abstracts.html.
|
||||
|
||||
To view the list Internet-Draft Shadow Directories, see
|
||||
http://www.ietf.org/shadow.html.
|
||||
|
||||
|
||||
Abstract
|
||||
|
||||
This document specifies an extension to the Kerberos protocol for
|
||||
performing initial authentication of a user without using that
|
||||
user's long-lived password. Any "hardware preauthentication" method
|
||||
may be employed instead of the password, and the key of another
|
||||
principal must be nominated to encrypt the returned credential.
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||
|
||||
|
||||
|
||||
Expires April 26, 2007 Crawford [Page 1]
|
||||
|
||||
Internet Draft Passwordless Hardware Authentication 21 October 2006
|
||||
|
||||
|
||||
document are to be interpreted as described in [KWORD].
|
||||
|
||||
|
||||
1. Motivation
|
||||
|
||||
Many sites using Kerberos for authentication have users who are
|
||||
often, or even always, away from the site. Sometimes these users
|
||||
may need to connect to their site while they have no immediate
|
||||
access to a trustworthy computer with Kerberos software or any other
|
||||
trusted secure remote-access mechanism. Requiring hardware
|
||||
preauthentication in addition to a password for all such users is an
|
||||
incomplete solution because an eavesdropper with access to both the
|
||||
remote users' path to the host in the site and that host's path to
|
||||
the KDC can still steal the user's credential.
|
||||
|
||||
This document specifies a method by which a Kerberos application
|
||||
server can request that a KDC authenticate a user using a hardware
|
||||
preauthentication method and use a key held by the server in the
|
||||
decryption of the KDC's reply, in place of the user's password.
|
||||
|
||||
|
||||
2. Definitions
|
||||
|
||||
The following terms used here are defined in [KRB5] and [KRB5bis]:
|
||||
|
||||
KDC_ERR_PREAUTH_FAILED, KDC_ERR_PREAUTH_REQUIRED, KRB_AS_REQ,
|
||||
KRB_ERROR, PrincipalName, e-data, enc-part, error-code, kdc-
|
||||
options, padata-type, padata-value.
|
||||
|
||||
These terms are defined in [KRB5bis]:
|
||||
|
||||
PA-SAM-CHALLENGE, PA-SAM-CHALLENGE2, PA-SAM-RESPONSE, PA-SAM-
|
||||
RESPONSE2.
|
||||
|
||||
The term "service" denotes some Kerberos service which normally
|
||||
requires a client/server authentication exchange [KRB5] for access
|
||||
and which is capable of both communicating with the KDC's
|
||||
Authentication Service and interacting with the user to the extent
|
||||
required to carry out a single-use authentication mechanism (SAM).
|
||||
It must have access to some principal's long-lived key. Telnet and
|
||||
FTP services are examples.
|
||||
|
||||
The Kerberos Authentication Service will be denoted by "AS" to avoid
|
||||
confusion with the service.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Expires April 26, 2007 Crawford [Page 2]
|
||||
|
||||
Internet Draft Passwordless Hardware Authentication 21 October 2006
|
||||
|
||||
|
||||
3. Method
|
||||
|
||||
This mechanism is intended to be employed when a user connects to a
|
||||
service which normally allows only Kerberos-authenticated access.
|
||||
When the service determines that the user will not authenticate (for
|
||||
example, it receives a telnet "WONT AUTHENTICATION" command
|
||||
[TELAUTH], or an FTP "USER" command without a preceding "AUTH"
|
||||
command [FTPSEC]), it may accept a user principal name and attempt
|
||||
to perform passwordless hardware authentication in the following
|
||||
manner.
|
||||
|
||||
|
||||
3.1. Initial AS Request and reply
|
||||
|
||||
The service, on behalf of the user, prepares a KRB_AS_REQ [KRB5]
|
||||
message with the flag OPT-HARDWARE-AUTH set in the kdc-options
|
||||
field, in addition to any other desired options and lifetimes. The
|
||||
service sends this message to a KDC. If the KDC's policy permits
|
||||
this form of authentication for the user named in the request, and
|
||||
the request is acceptable in all other respects, the KDC determines
|
||||
what hardware preauthentication methods are available for the user
|
||||
principal and constructs a KRB_ERROR message with the error-code set
|
||||
to KDC_ERR_PREAUTH_REQUIRED. The e-data field of this KRB_ERROR
|
||||
message contains a sequence of PA-DATA which includes an element
|
||||
with padata-type equal to PA-ALT-PRINC and an empty padata-value.
|
||||
In addition to that are any elements needed for hardware
|
||||
preauthentication of the user. Typically this will include an
|
||||
element with padata-type PA-SAM-CHALLENGE or PA-SAM-CHALLENGE2 and
|
||||
padata-value appropriate to the authentication method.
|
||||
|
||||
|
||||
3.2. Second AS Request
|
||||
|
||||
The service, upon receiving the KRB_ERROR message from the KDC, must
|
||||
process the PA-ALT-PRINC element by selecting a principal whose
|
||||
long-lived key it has access to, and which is in the same realm as
|
||||
the client. This principal will be referred to as the alternate
|
||||
principal. It processes the PA-SAM-CHALLENGE normally, except that
|
||||
whenever the user's long-lived (password-derived) encryption key is
|
||||
called for, it uses the alternate principal's key instead.
|
||||
|
||||
The service constructs a second KRB_AS_REQ, again with the OPT-
|
||||
HARDWARE-AUTH flag set in the kdc-options field, and this time with
|
||||
a padata field which includes at least these two PA-DATA items, in
|
||||
this order:
|
||||
|
||||
One with padata-type equal to PA-ALT-PRINC and as padata-value
|
||||
the encoded PrincipalName of the alternate principal,
|
||||
|
||||
|
||||
|
||||
Expires April 26, 2007 Crawford [Page 3]
|
||||
|
||||
Internet Draft Passwordless Hardware Authentication 21 October 2006
|
||||
|
||||
|
||||
One with padata-type appropriate for hardware token-based
|
||||
preauthentication, such as PA-SAM-RESPONSE or PA-SAM-RESPONSE2,
|
||||
and padata-value constructed as it would be for normal hardware
|
||||
preauthentication, but with the alternate principal's key used
|
||||
in place of the user's key.
|
||||
|
||||
Other PA-DATA may be present before, between or after these items.
|
||||
|
||||
The service sends this second KRB_AS_REQ to a KDC.
|
||||
|
||||
|
||||
3.3. Final AS Reply
|
||||
|
||||
The KDC begins processing the AS request normally. When the PA-ALT-
|
||||
PRINC field is encountered, the KDC does the following:
|
||||
|
||||
First, if this use of the alternate principal named in the
|
||||
request is against local policy, or if the alternate principal
|
||||
does not exist in the database, a KRB_ERROR message with error-
|
||||
code KDC_ERR_PREAUTH_FAILED is returned and processing ends.
|
||||
|
||||
Then, the alternate principal's key is fetched from the database
|
||||
and held for use in subsequent processing. It will be needed to
|
||||
process the PA-SAM-RESPONSE, PA-SAM-RESPONSE2, or similar
|
||||
preauthentication data, and to encrypt the enc-part of the
|
||||
KRB_AS_REP if authentication is successful.
|
||||
|
||||
The remainder of the AS request processing is normal, with the noted
|
||||
substitution of the alternate principal's key for the user's.
|
||||
|
||||
The service, upon receiving a KRB_AS_REP, uses the alternate
|
||||
principal's key to decrypt the enc-part, saves the user's credential
|
||||
and takes appropriate measures to ensure that the KRB_AS_REP came
|
||||
from a legitimate KDC and not an imposter.
|
||||
|
||||
|
||||
4. IANA Considerations
|
||||
|
||||
No new naming or numbering spaces are created by this specification.
|
||||
Two values from existing spaces are defined in [KRB5bis] for the
|
||||
mechanism of this document:
|
||||
|
||||
The flag OPT-HARDWARE-AUTH is bit 11 in the kdc-options field of
|
||||
a KDC-REQ-BODY.
|
||||
|
||||
The preauthentication type PA-ALT-PRINC is denoted by padata-
|
||||
type 24.
|
||||
|
||||
|
||||
|
||||
|
||||
Expires April 26, 2007 Crawford [Page 4]
|
||||
|
||||
Internet Draft Passwordless Hardware Authentication 21 October 2006
|
||||
|
||||
|
||||
5. Security Considerations
|
||||
|
||||
There are no means provided here for protecting the traffic between
|
||||
the user and the service, so it may be susceptible to eavesdropping,
|
||||
hijacking and alteration. This authentication mechanism is not
|
||||
intended to be used as an alternative to the Kerberos client/server
|
||||
authentication exchange, but as an improvement over making an
|
||||
unprotected connection with a Kerberos password alone, or a password
|
||||
plus a single-use authenticator.
|
||||
|
||||
The alternate principal's key MUST be involved in construction of
|
||||
the PA-SAM-RESPONSE (or PA-SAM-RESPONSE2) padata-value, to prevent
|
||||
an adversary constructing a KRB_AS_REQ using that data but a
|
||||
different alternate principal. In practice, this means that the
|
||||
response data alone must not determine the encryption key for the
|
||||
padata-value.
|
||||
|
||||
A service impersonator can obtain a presumably-valid SAM response
|
||||
from the user which may (or may not) be usable for impersonating the
|
||||
user at a later time. And of course in the case of successful
|
||||
authentication the service obtains access to the user's credentials.
|
||||
As always, if the service host is compromised, so are the
|
||||
credentials; but, with this mechanism, at least the service host
|
||||
never has access to the user's password.
|
||||
|
||||
A service host which accepts a Kerberos password for access
|
||||
typically protects itself against an impostor KDC by using the
|
||||
received ticket-granting credential to get a ticket for a service
|
||||
for which it has the key. This step may be unnecessary when the
|
||||
service host has already successfully used such a key to decrypt the
|
||||
ticket-granting credential itself.
|
||||
|
||||
Use of this authentication method employs the service's long-term
|
||||
key, providing more ciphertext in that key to an eavesdropper. This
|
||||
key is generally of better quality than a password-derived key and
|
||||
any remaining concerns about the strength of the KRB_AS_REP are
|
||||
better addressed by a general mechanism applicable to all AS
|
||||
exchanges.
|
||||
|
||||
|
||||
6. Acknowledgments
|
||||
|
||||
The first implementation of this extension grew from a beginning by
|
||||
Ken Hornstein, which in turn was built on code released by the MIT
|
||||
Kerberos Team.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Expires April 26, 2007 Crawford [Page 5]
|
||||
|
||||
Internet Draft Passwordless Hardware Authentication 21 October 2006
|
||||
|
||||
|
||||
7. References
|
||||
|
||||
[FTPSEC] Horowitz, M. and S. Lunt, "FTP Security Extensions", RFC
|
||||
2228.
|
||||
|
||||
[KRB5] Kohl, J., and C. Neuman, "The Kerberos Network
|
||||
Authentication Service (V5)", RFC 1510.
|
||||
|
||||
[KRB5bis] Neuman, C., T. Yu, S. Hartman, and K. Raeburn, "The
|
||||
Kerberos Network Authentication Service (V5)", RFC 4120.
|
||||
|
||||
[KWORD] S. Bradner, "Key words for use in RFCs to Indicate
|
||||
Requirement Levels," RFC 2119, March 1997.
|
||||
|
||||
[TELAUTH] Ts'o, T. and J. Altman, "Telnet Authentication Option",
|
||||
RFC 2941.
|
||||
|
||||
8. Author's Address
|
||||
|
||||
Matt Crawford
|
||||
Fermilab MS 368
|
||||
PO Box 500
|
||||
Batavia, IL 60510
|
||||
USA
|
||||
|
||||
Phone: +1 630 840-3461
|
||||
EMail: crawdad@fnal.gov
|
||||
|
||||
Disclaimer of Validity
|
||||
|
||||
This document and the information contained herein are provided on
|
||||
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
|
||||
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
|
||||
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
|
||||
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
|
||||
Copyright Statement
|
||||
|
||||
Copyright (C) The Internet Trust (2006). This document is subject
|
||||
to the rights, licenses and restrictions contained in BCP 78, and
|
||||
except as set forth therein, the authors retain all their rights.
|
||||
|
||||
|
||||
Acknowledgment
|
||||
|
||||
|
||||
|
||||
|
||||
Expires April 26, 2007 Crawford [Page 6]
|
||||
|
||||
Internet Draft Passwordless Hardware Authentication 21 October 2006
|
||||
|
||||
|
||||
Funding for the RFC Editor function is currently provided by the
|
||||
Internet Society.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Expires April 26, 2007 Crawford [Page 7]
|
Reference in New Issue
Block a user