draft-ietf-kitten-krb-auth-indicator-07.txt   rfc8129.txt 
Internet Engineering Task Force A. Jain Internet Engineering Task Force (IETF) A. Jain
Internet-Draft Georgia Tech Request for Comments: 8129 Georgia Tech
Updates: 4120 (if approved) N. Kinder Updates: 4120 N. Kinder
Intended status: Standards Track N. McCallum Category: Standards Track N. McCallum
Expires: August 13, 2017 Red Hat, Inc. ISSN: 2070-1721 Red Hat, Inc.
February 9, 2017 March 2017
Authentication Indicator in Kerberos Tickets Authentication Indicator in Kerberos Tickets
draft-ietf-kitten-krb-auth-indicator-07
Abstract Abstract
This document updates RFC 4120 in order to specify an extension in This document updates RFC 4120, as it specifies an extension in the
the Kerberos protocol. It defines a new authorization data type AD- Kerberos protocol. It defines a new authorization data type,
AUTHENTICATION-INDICATOR. The purpose of introducing this data type AD-AUTHENTICATION-INDICATOR. The purpose of introducing this data
is to include an indicator of the strength of a client's type is to include an indicator of the strength of a client's
authentication in service tickets so that application services can authentication in service tickets so that application services can
use it as an input into policy decisions. use it as an input into policy decisions.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on August 13, 2017. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc8129.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Document Conventions . . . . . . . . . . . . . . . . . . . . 2 2. Document Conventions . . . . . . . . . . . . . . . . . . . . 2
3. AD Type Specification . . . . . . . . . . . . . . . . . . . . 3 3. AD Type Specification . . . . . . . . . . . . . . . . . . . . 2
4. Assigned Numbers . . . . . . . . . . . . . . . . . . . . . . 3 4. Assigned Numbers . . . . . . . . . . . . . . . . . . . . . . 3
5. Security Considerations . . . . . . . . . . . . . . . . . . . 3 5. Security Considerations . . . . . . . . . . . . . . . . . . . 3
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
7.1. Normative References . . . . . . . . . . . . . . . . . . 4 7.1. Normative References . . . . . . . . . . . . . . . . . . 4
7.2. Informative References . . . . . . . . . . . . . . . . . 5 7.2. Informative References . . . . . . . . . . . . . . . . . 5
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 6 Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 6
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 6 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
1. Introduction 1. Introduction
Kerberos [RFC4120] allows secure interaction among users and services Kerberos [RFC4120] allows secure interaction among users and services
over a network. It supports a variety of authentication mechanisms over a network. It supports a variety of authentication mechanisms
using its pre-authentication framework [RFC6113]. The Kerberos using its pre-authentication framework [RFC6113]. The Kerberos
authentication service has been architected to support password-based authentication service has been architected to support password-based
authentication as well as multi-factor authentication using one-time authentication as well as multi-factor authentication using one-time
password devices, public-key cryptography and other pre- password devices, public-key cryptography, and other
authentication schemes. Implementations that offer pre- pre-authentication schemes. Implementations that offer
authentication mechanisms supporting significantly different pre-authentication mechanisms supporting significantly different
strengths of client authentication may choose to keep track of the strengths of client authentication may choose to keep track of the
strength of the authentication that was used, for use as an input strength of the authentication that was used, for use as an input
into policy decisions. into policy decisions.
This document specifies a new authorization data type to convey This document specifies a new authorization data type to convey
authentication strength information to application services. authentication strength information to application services.
Elements of this type appear within an AD-CAMMAC (authorization data Elements of this type appear within an AD-CAMMAC (Authorization Data
type Container Authenticated by Multiple Message Authentication type Container Authenticated by Multiple Message Authentication
Codes) [RFC7751] container. Codes) [RFC7751] container.
2. Document Conventions 2. Document Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
3. AD Type Specification 3. AD Type Specification
skipping to change at page 3, line 22 skipping to change at page 3, line 16
the following ASN.1 [X.680] type: the following ASN.1 [X.680] type:
AD-AUTHENTICATION-INDICATOR ::= SEQUENCE OF UTF8String AD-AUTHENTICATION-INDICATOR ::= SEQUENCE OF UTF8String
Each UTF8String value is a short string that indicates that a Each UTF8String value is a short string that indicates that a
particular set of requirements was met during the initial particular set of requirements was met during the initial
authentication. These strings are intended to be compared against authentication. These strings are intended to be compared against
known values. They are not intended to store structured data. Each known values. They are not intended to store structured data. Each
string MUST be either: string MUST be either:
* A URI which references a Level of Assurance Profile [RFC6711] o A URI that references a Level of Assurance Profile [RFC6711], or
* A site-defined string, which MUST NOT contain a colon, whose o A site-defined string, which MUST NOT contain a colon, whose
meaning is determined by the realm administrator. meaning is determined by the realm administrator.
Authorization data elements of type AD-AUTHENTICATION-INDICATOR MUST Authorization data elements of type AD-AUTHENTICATION-INDICATOR MUST
be included in an AD-CAMMAC container so that their contents can be be included in an AD-CAMMAC container so that their contents can be
verified as originating from the KDC. Elements of type AD- verified as originating from the KDC. Elements of type
AUTHENTICATION-INDICATOR MAY safely be ignored by applications and AD-AUTHENTICATION-INDICATOR MAY safely be ignored by applications and
KDCs that do not implement this element. KDCs that do not implement this element.
4. Assigned Numbers 4. Assigned Numbers
RFC 4120 [RFC4120] is updated in the following way: RFC 4120 [RFC4120] is updated in the following way:
o The ad-type number 97 is assigned for AD-AUTHENTICATION-INDICATOR, o The ad-type number 97 is assigned for AD-AUTHENTICATION-INDICATOR,
updating the table in Section 7.5.4 of RFC 4120 [RFC4120]. updating the table in Section 7.5.4 of RFC 4120 [RFC4120].
o The table in Section 5.2.6 of RFC 4120 [RFC4120] is updated to map o The table in Section 5.2.6 of RFC 4120 [RFC4120] is updated to map
the ad-type 97 to "DER encoding of AD-AUTHENTICATION-INDICATOR". the ad-type 97 to "DER encoding of AD-AUTHENTICATION-INDICATOR".
5. Security Considerations 5. Security Considerations
Elements of type AD-AUTHENTICATION-INDICATOR are wrapped in AD-CAMMAC Elements of type AD-AUTHENTICATION-INDICATOR are wrapped in AD-CAMMAC
containers. AD-CAMMAC supersedes AD-KDC-ISSUED, and allows both containers. AD-CAMMAC supersedes AD-KDC-ISSUED and allows both
application services and the KDC to verify the authenticity of the application services and the KDC to verify the authenticity of the
contained authorization data. contained authorization data.
KDC implementations MUST use AD-CAMMAC verifiers as described in the KDC implementations MUST use AD-CAMMAC verifiers as described in the
the security considerations of RFC 7751 [RFC7751] to ensure that AD- security considerations of RFC 7751 [RFC7751] to ensure that
AUTHENTICATION-INDICATOR elements are not modified by an attacker. AD-AUTHENTICATION-INDICATOR elements are not modified by an attacker.
Application servers MUST validate the AD-CAMMAC container before Application servers MUST validate the AD-CAMMAC container before
making authorization decisions based on AD-AUTHENTICATION-INDICATOR making authorization decisions based on AD-AUTHENTICATION-INDICATOR
elements. Application servers MUST NOT make authorization decisions elements. Application servers MUST NOT make authorization decisions
based on AD-AUTHENTICATION-INDICATOR elements which appear outside of based on AD-AUTHENTICATION-INDICATOR elements that appear outside of
AD-CAMMAC containers. AD-CAMMAC containers.
Using multiple strings in AD-AUTHENTICATION-INDICATOR may lead to Using multiple strings in AD-AUTHENTICATION-INDICATOR may lead to
ambiguity when a service tries to make a decision based on the AD- ambiguity when a service tries to make a decision based on the
AUTHENTICATION-INDICATOR values. This ambiguity can be avoided if AD-AUTHENTICATION-INDICATOR values. This ambiguity can be avoided if
indicator values are always used as a positive indication of certain indicator values are always used as a positive indication of certain
requirements being met during the initial authentication. For requirements being met during the initial authentication. For
example, if a "without-password" indicator is inserted whenever example, if a "without-password" indicator is inserted whenever
authentication occurs without a password, a service might assume this authentication occurs without a password, a service might assume this
is an indication that a higher-strength client authentication is an indication that a higher-strength client authentication
occurred. However, this indicator might also be inserted when no occurred. However, this indicator might also be inserted when no
authentication occurred at all (such as anonymous PKINIT). authentication occurred at all (such as anonymous PKINIT).
Service evaluation of site-defined indicators MUST consider the realm Application service evaluation of site-defined indicators MUST
of original authentication in order to avoid cross-realm indicator consider the realm of original authentication in order to avoid
collisions. Failure to enforce this property can result in invalid cross-realm indicator collisions. Failure to enforce this property
authorization. can result in invalid authorization decisions.
6. IANA Considerations 6. IANA Considerations
This document has no actions for IANA. This document does not require any IANA actions.
7. References 7. References
7.1. Normative References 7.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 5, line 11 skipping to change at page 4, line 50
Kerberos Pre-Authentication", RFC 6113, Kerberos Pre-Authentication", RFC 6113,
DOI 10.17487/RFC6113, April 2011, DOI 10.17487/RFC6113, April 2011,
<http://www.rfc-editor.org/info/rfc6113>. <http://www.rfc-editor.org/info/rfc6113>.
[RFC7751] Sorce, S. and T. Yu, "Kerberos Authorization Data [RFC7751] Sorce, S. and T. Yu, "Kerberos Authorization Data
Container Authenticated by Multiple Message Authentication Container Authenticated by Multiple Message Authentication
Codes (MACs)", RFC 7751, DOI 10.17487/RFC7751, March 2016, Codes (MACs)", RFC 7751, DOI 10.17487/RFC7751, March 2016,
<http://www.rfc-editor.org/info/rfc7751>. <http://www.rfc-editor.org/info/rfc7751>.
[X.680] ITU-T, "Information technology -- Abstract Syntax Notation [X.680] ITU-T, "Information technology -- Abstract Syntax Notation
One (ASN.1): Specification of basic notation -- ITU-T One (ASN.1): Specification of basic notation", ITU-T
Recommendation X.680 (ISO/IEC International Standard Recommendation X.680, ISO/IEC International Standard
8824-1:2008)", 2008. 8824-1:2008, November 2008.
[X.690] ITU-T, "Information technology -- ASN.1 encoding rules: [X.690] ITU-T, "Information technology -- ASN.1 encoding rules:
Specification of Basic Encoding Rules (BER), Canonical Specification of Basic Encoding Rules (BER), Canonical
Encoding Rules (CER) and Distinguished Encoding Rules Encoding Rules (CER) and Distinguished Encoding Rules
(DER) -- ITU-T Recommendation X.690 (ISO/IEC International (DER)", ITU-T Recommendation X.690, ISO/IEC International
Standard 8825-1:2008)", 2008. Standard 8825-1:2008, November 2008.
7.2. Informative References 7.2. Informative References
[RFC6711] Johansson, L., "An IANA Registry for Level of Assurance [RFC6711] Johansson, L., "An IANA Registry for Level of Assurance
(LoA) Profiles", RFC 6711, DOI 10.17487/RFC6711, August (LoA) Profiles", RFC 6711, DOI 10.17487/RFC6711, August
2012, <http://www.rfc-editor.org/info/rfc6711>. 2012, <http://www.rfc-editor.org/info/rfc6711>.
Appendix A. ASN.1 Module Appendix A. ASN.1 Module
KerberosV5AuthenticationIndicators { KerberosV5AuthenticationIndicators {
iso(1) identified-organization(3) dod(6) internet(1) iso(1) identified-organization(3) dod(6) internet(1)
security(5) kerberosV5(2) modules(4) security(5) kerberosV5(2) modules(4)
authentication-indicators(9) authentication-indicators(9)
} DEFINITIONS EXPLICIT TAGS ::= BEGIN } DEFINITIONS EXPLICIT TAGS ::= BEGIN
AD-AUTHENTICATION-INDICATOR ::= SEQUENCE OF UTF8String AD-AUTHENTICATION-INDICATOR ::= SEQUENCE OF UTF8String
END END
Appendix B. Acknowledgements Acknowledgements
Dmitri Pal (Red Hat) Dmitri Pal (Red Hat)
Simo Sorce (Red Hat) Simo Sorce (Red Hat)
Greg Hudson (MIT) Greg Hudson (MIT)
Authors' Addresses Authors' Addresses
Anupam Jain Anupam Jain
Georgia Tech Georgia Tech
225 North Ave NW 225 North Ave NW
Atlanta, GA 30332 Atlanta, GA 30332
USA United States of America
EMail: ajain323@gatech.edu Email: ajain323@gatech.edu
Nathan Kinder Nathan Kinder
Red Hat, Inc. Red Hat, Inc.
444 Castro St. 444 Castro St.
Suite 500 Suite 500
Mountain View, CA 94041 Mountain View, CA 94041
USA United States of America
EMail: nkinder@redhat.com Email: nkinder@redhat.com
Nathaniel McCallum Nathaniel McCallum
Red Hat, Inc. Red Hat, Inc.
100 East Davie Street 100 East Davie Street
Raleigh, NC 27601 Raleigh, NC 27601
USA United States of America
EMail: npmccallum@redhat.com Email: npmccallum@redhat.com
 End of changes. 28 change blocks. 
57 lines changed or deleted 52 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/