Network Working Group | L. Johansson |
Internet-Draft | NORDUNet |
Intended status: Informational | February 18, 2012 |
Expires: August 19, 2012 |
An IANA registry for Level of Assurance (LoA) Profiles
draft-johansson-loa-registry-04
This document establishes an IANA registry for Level of Assurance (LoA) Profiles. The registry is intended to be used as an aid to discovering such LoA definitions in protocols that use an LoA concept, including SAML 2.0 and OpenID Connect.
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 August 19, 2012.
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 described in the Simplified BSD License.
This document establishes an IANA registry for Level of Assurance Profiles. One definition of a 'level of assurance' is given in RFC4949 [RFC4949] which also identifies the roots of such profiles in the NIST special publication series, in particular SP 800-63 [SP63]. Such profiles are used in various protocols, including SAML 2.0 and OpenID Connect. For SAML 2.0 the registry entries reference XML schema definitions that fulfil the requirements of sstc.saml-assurance-profile [OASIS.sstc.saml-assurance-profile]. For OpenID Connect the registry consists a controlled vocabulary for the iso29115level claim type. Quoting from sstc.saml-assurance-profile [OASIS.sstc.saml-assurance-profile] we find the following definition of the concept of level of assurance:
Many existing (and potential) SAML federation deployments have adopted a “levels of assurance” (or LOA) model for categorizing the wide variety of authentication methods into a small number of levels, typically based on some notion of the strength of the authentication. Federation members (service providers or “relying parties”) then decide which level of assurance is required to access specific protected resources, based on some assessment of “value” or “risk”.
Several so called trust frameworks and identity federations now exist, some of which define one or more Level of Assurance (LoA). The purpose of this specification is to create an IANA registry where such LoA definitions can be discovered. While the quote above references SAML explicitly the notion of a "level of assurance" has gained wide-spread acceptance and should be treated as a protocol-independent concept. The proposed IANA registry attempts to reflects this.
Although the registry will contain URIs that reference SAML Authentication Context Profiles other protocols MAY use such URIs to represent levels of assurance definitions without relying on their SAML XML definitions. Use of the registry by protocols other than SAML or OpenID Connect is encouraged.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
The name of the registry shall be "SAML 2.0 LoA Context Class", in plural "SAML LoA Context Classes". The term LoA is an abbreviation of Level of Assurance.
The following information MUST be provided with each registration:
Note that it is not uncommon for a single XML Schema to contain definitions of multiple URIs. In that case the registration MUST be repeated for each URI. Both the name and the URI MUST uniquely identify the LoA. The name is meant to be used in protocols where URIs are not appropriate. In addition the requester is expected to provide basic contact information and the name of the organization on behalf of which the LoA definition is registered.
The name MUST fulfill the following ABNF:
label = ( ALPHA / DIGIT ) name = label 1*( label / "-" / "." / "_" )
The following ABNF productions represent reserved values and names matching any of these productions MUST NOT be present in any registration:
reserved = loa / al / num loa = ( "l" / "L" ) ( "o" / "O" ) ( "a" / "A") *DIGIT al = ( "a" / "A") ( "l" / "L") *DIGIT num = *DIGIT
The reason for excluding these productions is a desire to avoid a race to register overly generic LoA profiles under names like "AL1" or "LOA2".
SAML 2.0 Context Class Definition
<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://foo.example.com/assurance/loa1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://foo.example.com/assurance/loa1" finalDefault="extension" blockDefault="substitution" version="2.0"> <xs:redefine schemaLocation="saml-schema-authn-context-loa-profile.xsd"> <xs:annotation> <xs:documentation> Class identifier: http://foo.example.com/assurance/loa1 Defines Level 1 of FAF </xs:documentation> </xs:annotation> <xs:complexType name="GoverningAgreementRefType"> <xs:complexContent> <xs:restriction base="GoverningAgreementRefType"> <xs:attribute name="governingAgreementRef" type="xs:anyURI" fixed="http://foo.example.com/foo_assurance.pdf#section1" use="required"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:redefine> </xs:schema>
The example is borrowed from sstc.saml-assurance-profile [OASIS.sstc.saml-assurance-profile]
The registry is to be operated under the "Designated Expert Review" policy from RFC5226 [RFC5226] employing a pool of experts. IANA is kindly asked to do rough randomized load-balancing among the experts and also do an initial review of each submission to ensure that the name is unique within the registry.The initial pool of expert and the review criteria are outlined below.
Registrations that reference multiple LoAs in a consistent set of policies - for instance when a trust framework defines multiple levels of assurance - the registered LoA Name and URIs SHOULD be consistently named so as to be easily identified as belonging to the same set of registrations. For instance fruitLoA1,fruitLoA2 and fruitLoA3 is preferred over apple,pear and banana when these Names refer to a single set of policies defining 3 LoAs.
The expectation of the IANA LoA Registry is that it contain bona fide Level of Assurance Profiles while not presenting a very high bar for entry. Expert reviewers SHOULD NOT place undue value in any percieved or actual quality of the associated trust framework or federation and SHOULD only exclude such registrations that in the view of the experts do not represent bona fide attempts at defining an LoA.
The designated experts are also expected to verify that the registration is consistent and that the provided XML fulfills the requirements of sstc.saml-assurance-profile [OASIS.sstc.saml-assurance-profile].
The intended use for this registry is to serve as a basis for discovery of LoA definitions that might for instance be used by protocol-specific (eg SAML 2.0 or OpenID Connect) management tools. Consumers of the registry MUST NOT treat it as a complete list of all existing LoA definitions and MUST provide a way for the user to provide additional Level of Assurance Profile references by other means. It is not expected that all LoA definitions will be contained in this registry.
The presense of an entry in the registy MUST NOT be taken to imply any semantics beyond the review done by the expert reviewers as part of the registration process.
This document sets up a registry with IANA making the whole document a set of considerations for IANA.
An implementor of MUST NOT treat the registry as a trust framework or federation and MUST NOT make any assumptions about the properties of any of the listed level of assurance URIs or their associated trust frameworks or federations based on their presense in the IANA registry.
RL 'Bob' Morgan, Scott Cantor, Lucy Lynch and John Bradley were involved in the initial discussions around this idea and contributed to the semantics of the registry. The various versions of the draft was socialized in the Kantara Federation Interoperability WG and in other parts of the identity community.
Note to the RFC editor: This section should be removed before publication.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[OASIS.sstc.saml-assurance-profile] | Morgan, RL, Madsen, PM and S Cantor, "SAML V2.0 Identity Assurance Profiles Version 1.0", November 2010. |
[RFC5226] | Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. |
[SP63] | NIST, "Electronic Authentication Guideline, NIST Special Publication 800-63", June 2004. |
[RFC4949] | Shirey, R., "Internet Security Glossary, Version 2", RFC 4949, August 2007. |