Internet DRAFT - draft-winter-opsawg-eap-metadata
draft-winter-opsawg-eap-metadata
Operations Area Working Group S. Winter
Internet-Draft RESTENA
Intended status: Standards Track July 06, 2015
Expires: January 7, 2016
A Configuration File Format for Extensible Authentication Protocol (EAP)
Deployments
draft-winter-opsawg-eap-metadata-02
Abstract
This document specifies a YANG module and derived XML and JSON file
formats for transfering configuration information of deployments of
the Extensible Authentication Protocol (EAP). Such configuration
files are meant to be discovered, consumed and used by EAP supplicant
software to achieve secure and automatic EAP configuration on the
consuming device.
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 January 7, 2016.
Copyright Notice
Copyright (c) 2015 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.
Winter Expires January 7, 2016 [Page 1]
Internet-Draft EAP Metadata File Format July 2015
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Problem Statement . . . . . . . . . . . . . . . . . . . . 2
1.2. Other Approaches . . . . . . . . . . . . . . . . . . . . 4
1.3. Requirements Language . . . . . . . . . . . . . . . . . . 4
1.4. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. YANG module for EAP Metadata . . . . . . . . . . . . . . . . 4
2.1. Location of the YANG module and derived XML Schema . . . 4
2.2. Description of YANG Module Elements . . . . . . . . . . . 4
2.2.1. Overall structure . . . . . . . . . . . . . . . . . . 4
2.2.2. The 'AuthenticationMethods' container . . . . . . . . 5
2.2.3. The 'ProviderInfo' container . . . . . . . . . . . . 9
2.3. Internationalisation / Multi-language support . . . . . . 10
3. Derivation of formats from YANG source . . . . . . . . . . . 11
4. Issuer Authentication, Integrity Protection and Encryption of
EAP Metadata configuration files . . . . . . . . . . . . . . 11
5. XML Farget Format: File Discovery . . . . . . . . . . . . . . 11
5.1. By MIME-Type: application/eap-config-xml . . . . . . . . 11
5.2. By filename extension: .eap-config-xml . . . . . . . . . 11
5.3. By network location: SCAD . . . . . . . . . . . . . . . . 12
6. Design Decisions . . . . . . . . . . . . . . . . . . . . . . 12
6.1. Why YANG and not directly XML, JSON or $FOO? . . . . . . 12
6.2. Shallow vs. Deep definition of EAP method properties . . 12
6.3. EAP tunneling inside EAP tunnels . . . . . . . . . . . . 12
6.4. Placement of 'OuterIdentity' inside
'AuthenticationMethod' . . . . . . . . . . . . . . . . . 12
7. Implementation Status . . . . . . . . . . . . . . . . . . . . 12
8. Security Considerations . . . . . . . . . . . . . . . . . . . 15
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 16
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 16
11.1. Normative References . . . . . . . . . . . . . . . . . . 16
11.2. Informative References . . . . . . . . . . . . . . . . . 16
Appendix A. Appendix A: MIME Type Registration Template . . . . 18
1. Introduction
1.1. Problem Statement
The IETF has produced the Extensible Authentication Protocol (EAP,
[RFC3748] and numerous EAP methods (for example EAP-TTLS [RFC5281],
EAP-TLS [RFC5216] and EAP-pwd [RFC5931]); the methods have many
properties which need to be setup on the EAP server and matched as
configuration items on the EAP peer for a secure EAP deployment.
Setting up these configuration items is comparatively easy if the
end-user devices which implement the EAP peer functionality are under
Winter Expires January 7, 2016 [Page 2]
Internet-Draft EAP Metadata File Format July 2015
central administrative control, e.g. in closed enterprise
environments. Group policies or device provisioning by the IT
department can push the settings to user devices.
In other environments, for example "BYOD" scenarios where users bring
their own devices which are not under enterprise control, or in EAP-
based WISP environments (see e.g. [HS20] and
[I-D.wierenga-ietf-eduroam]) where it is not desired neither for the
ISP nor for his user that the device control is in the ISPs hands,
configuration of EAP is significantly harder as it has to be done by
potentially very non-technical end users.
Correct configuration of all EAP deployment parameters is required to
make the resulting authentications
o functional (i.e. the end user can authenticate to an EAP server at
all)
o secure (i.e. the end user device can unambiguously authenticate
the EAP server prior to releasing any sensitive client-side
credentials)
o privacy-preserving (i.e. the end user is able to conceal his
username from the EAP authenticator)
It would be desirable to be able to convey the EAP configuration
information of a deployment in a machine parseable way to the end-
user device, so that all the gory details need not be known/
understood by the user. Instead, the EAP peer software on the device
could consume the configuration information and set up all EAP
authentication details automatically.
However, there is currently no standard way of communicating
configuration parameters about an EAP setup to the EAP peer.
This specification defines such file formats for EAP configuration
metadata. The source definition is a YANG module which allows for
automatic derivation of XML and JSON formats.
The specification allows for unique identification of an EAP identity
provider by scoping it into a namespace and giving it a unique name
inside that namespace. Using this unique identification, other
configuration files (which e.g. detail the wireless media properties
of an Enterprise Wi-Fi setup) can then refer to this particular
instance of EAP identity information as authentication source. The
contents of the EAP configuration file may also be an embedded part
of those other configuration files.
Winter Expires January 7, 2016 [Page 3]
Internet-Draft EAP Metadata File Format July 2015
1.2. Other Approaches
Device manufacturers sometimes have developed their own proprietary
configuration formats, examples include Apple's "mobileconfig" (MIME
type application/x-apple-aspen-config), Microsoft's XML schemata for
EAP methods for use with the command-line "netsh" tool, or Intel's
"PRO/Set Wireless" binary configuration files. The multitude of
proprietary file formats and their different levels of richness in
expression of EAP details create a very heterogenous and non-
interoperable landscape.
New devices which would like to benefit from machine-parseable EAP
configuration currently either have to choose to follow a
competitor's approach and use that competitor's file format or have
to develop their own. This situation is very unsatisfactory.
1.3. Requirements Language
In this document, several words are used to signify the requirements
of the specification. 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
RFC 2119. [RFC2119]
1.4. Terminology
2. YANG module for EAP Metadata
2.1. Location of the YANG module and derived XML Schema
The schema files are currently hosted on this location:
o YANG module: https://www.supplicants.net/site/standardisation/eap-
metadata-02.yang
o XML Schema: https://www.supplicants.net/site/standardisation/eap-
metadata-02.xml
2.2. Description of YANG Module Elements
2.2.1. Overall structure
The root element is the container 'EAPIdentityProviderList', which
contains a list of 'EAPIdentityProvider' elements; these carry the
actual EAP configuration information for this identity provider. In
most practical applications, the 'EAPIdentityProviderList' will
contain only a single element; a longer list can be used for metadata
Winter Expires January 7, 2016 [Page 4]
Internet-Draft EAP Metadata File Format July 2015
transfers between systems or to allow users to select from a set of
providers in one file.
The global uniqueness of each 'EAPIdentityProvider' is ensured by the
combination of the two leafs 'NameIDFormat' which provides a
namespace identifier, and 'ID' which specifies the unique name inside
the namespace. The other leafs and containers in the
'EAPIdentityProvider' list are:
o zero or one 'ValidUntil' date-and-time timestamp with an
indication of possible expiry of the information in the
configuration file. EAP peers importing the configuration file
can use this information for example to re-assess whether the
account is still valid (e.g. if the ValidUntil timestamp has
passed, and authentication attempts consistently fail, the
supplicant should consider the information stale and ask the user
to verify his access authorisation with the EAP identity provider)
o exactly one 'AuthenticationMethods' container with a list of EAP
methods which the EAPIdentityProvider supports. This container is
described in more detail in section Section 2.2.2
o zero or one 'ProviderInfo' container can provide additional
information about the EAPIdentityProvider, e.g. a logo to allow
visual identification of the provider to the user in a user
interface, or Acceptable Use Policies pertaining to the use of
this EAP identity. This element is described in more detail in
section Section 2.2.3
2.2.2. The 'AuthenticationMethods' container
'AuthenticationMethods' contains a sequence of 'AuthenticationMethod'
groupings. Each such grouping specifies the properties of one
supported authentication method of an EAPIdentityProvider. The
content of this grouping is enumerated in section Section 2.2.2.1 The
set of configuration parameters specified in the grouping depends on
the particular EAP method to be configured.
For instance, EAP-PWD [RFC5931] does not require any server
certificate parameters; EAP-FAST and TEAP are the only ones making
use of Protected Access Credential (PAC) provisioning. On the other
hand, properties such as outer ("anonymous") identity or the need for
a trusted root Certification Authority are common to several EAP
methods. The server- and client-side credential types of EAP methods
are defined as a flat list of elements to choose from (see
'ServerSideCredential' and 'ClientSideCredential' below); see section
Section 6.2 for a rationale.
Winter Expires January 7, 2016 [Page 5]
Internet-Draft EAP Metadata File Format July 2015
Where the sequence of 'AuthenticationMethod' groupings contains more
than one element, the order of appearance in the file indicates the
server operator's preference for the supported EAP types; occurences
earlier in the file indicate a more preferred authentication method.
When a consuming device receives multiple 'AuthenticationMethod'
groupings inside 'AuthenticationMethods', it should attempt to
install more preferred methods first. During interactive
provisioning of EAP properties, if the configuration information for
a preferred method is insufficient (e.g. the 'AuthenticationMethod'
is EAP-TLS, but the configuration file does not contain the client
certificate/private key and the device's credential store is not pre-
loaded with the client's certificate), the device should query
whether this more preferred method should be used (requiring the user
to supplement the missing data) or whether a less-preferred method
should be configured instead. In non-interactive provisioning
scenarios, all methods should be tried non-interactively in order
until one method can be installed; if no method can be installed in a
fully automated way, provisioning is aborted.
2.2.2.1. Authentication Method Properties
The 'AuthenticationMethod' grouping contains
o exactly one 'EAPMethod' leaf, which is an enumerated integer of
the EAP method identifier as assigned by IANA (typedef eap-method)
o zero or one container 'ServerSideCredential' which defines means
to authenticate the EAP server to the EAP peer (for a list of the
elements comprising this container, see section Section 2.2.2.2)
o zero or one container 'ClientSideCredential' which defines means
to authenticate the EAP peer to the EAP server (for a list of the
elements comprising this container, see section Section 2.2.2.3)
o zero or more 'InnerAuthenticationMethod' lists. Occurence of this
list indicates that a tunneled EAP method is in use, and that
further server-side and/or client-side credentials are defined
inside the tunnel. The presence of more than one
'InnerAuthenticationMethod' indicates that EAP Method Chaining is
in use, i.e. that several inner EAP methods are to be executed in
sequence inside the tunnel. The order of occurence of the inner
EAP methods defines the chaining order of the methods.
The 'InnerAuthenticationMethod' list itself contains the same
'EAPMethod', 'ServerSideCredentials' and 'ClientSideCredentials'
elements as described in the preceding list, but differs in two
points:
Winter Expires January 7, 2016 [Page 6]
Internet-Draft EAP Metadata File Format July 2015
o It can optionally contain the leaf 'NonEAPAuthMethod' (an
enumerated integer of authentication methods not based on EAP)
instead of 'EAPMethod' because some tunneled EAP types do not
necessarily contain EAP inside the tunnel (e.g. TTLS-PAP, TEAP).
The YANG definition ensures that EAPMethod and NonEAPAuthMethod
are mutually exclusive in instantiations of the YANG module.
o It can NOT contain a further 'InnerAuthenticationMethod' because
establishing a secure tunnel inside an already established secure
tunnel is considered a pathological case which needs not be
considered. See section Section 6.3 for a rationale.
2.2.2.2. The 'ServerSideCredential' container
The server-side authentication of a mutually authenticating EAP
method is typically based on X.509 certificates, which requires the
EAP peer to be pre-provisioned with one or more trusted root
Certification Authority (CA) prior to authenticating. A server is
uniquely identified by presenting a certificate which is signed by
these trusted CAs, and by the EAP peer verifying that the name of the
server matches the expected one. Consequently, a (set of) CAs and a
(set of) server names make up the ServerSideCredentials block.
Note that different EAP methods use different terminology when
referring to trusted CA roots, server certificates, and server name
identification. They also differ or have inherent ambiguity in their
interpretation on where to extract the server name from (e.g. is the
server name the CN part of the DistinguishedName, or is the server
name one of the subjectAltName:DNS entries; what to do if there is a
mismatch?). This specification introduces one single element for CA
trust roots and naming; these notions map into the naming of the
particular EAP methods very naturally. This specification can not
remove the CN vs. sAN:DNS ambiguity in many EAP methods.
o zero or more 'CA' lists: a Certification Authority which is
trusted to sign the expected server certificate. The set of 'CA'
occurences SHOULD contain self-signed root certificates to
establish trust, and MAY contain additional intermediate CA
certificates which ultimately root in these self-signed root CAs.
A configuration file can, but SHOULD NOT include only an
intermediate CA certificate (i.e. without also including the
corresponding self-signed root) because trusting only an
intermediate CA without being able to verify to a self-signed root
is an unsupported notion in many EAP peers.
o zero or more 'ServerID' leafs: these leafs contain the expected
server names in incoming X.509 EAP server certificates. For EAP
methods not using X.509 certificates for their mutual
Winter Expires January 7, 2016 [Page 7]
Internet-Draft EAP Metadata File Format July 2015
authentication, these elements contain other string-based handles
which identify the server (Example: EAP-pwd).
2.2.2.3. The 'ClientSideCredential' container
There is a variety of means to identify the EAP peer to the EAP
server. EAP methods use a subset of these criteria. As with server-
side credentials, the terminology for the credential type may differ
slightly between EAP types. The naming convention in this
specification maps nicely into the method-specific terminology. Not
all the criteria make sense in all contexts; for EAP methods which do
not support a criterion, configuration files SHOULD NOT contain the
corresponding elements, and consumers of the file MUST ignore these
elements.
Specifying any one of these elements is optional and they can occur
at most once. Consumers of configuration files MUST be able to fall
back to user-interactive configuration for these parts if they are
not specified (e.g. ask for the username and password for an EAP
method during import of the EAP configuration data). Configuration
files which contain sensitive elements such as 'Password' MUST be
handled with due care after the import on the device (e.g. ensure
minimal file permissions, or delete the source file after
installing). See also the leaf 'allow-save' below.
The leaf 'allow-save' specifies whether consumers should allow the
user to save the credential persistently; if it is set to false,
sensitive parts of the client-side credentials MUST NOT be
persistently saved on the device. See also section Section 4 for
transport security considerations.
Leaf 'AnonymousIdentity' is typically used on the outside of a
tunneled EAP method and allows to specify which user identity
should be used outside the tunnel. This string is not used for
actual user authentication, but may contain routing hints to send
the request to the right EAP server.
'UserName' contains the actual username to be used for user
authentication. For tunneled EAP methods, this element SHOULD
only occur in the 'InnerAuthenticationMethod's
'ClientSideCredentials' - if differing outer identities are not
desired in the deployment, the 'OuterIdentity' element should be
populated for the 'AuthenticationMethod' element but be populated
with the actual username then.
The 'ClientCertificate' container holds a X.509 certificate and
private key; if the key is protected, the 'Passphrase' leaf MAY be
used to indicate the passphrase, see below
Winter Expires January 7, 2016 [Page 8]
Internet-Draft EAP Metadata File Format July 2015
'Passphrase' contains the passphrase needed to unlock a
cryptographic credential internally on the device (i.e. it is not
used itself for the actual authentication during the EAP
conversation)
'Password' contains the user's password, or an otherwise secret
string which the user needs to authenticate to the EAP server
'PAC' contains the Protected Access Credential, typically used in
EAP-FAST and TEAP.
'ProvisionPAC' is a boolean which indicates whether a PAC should
be provisioned on the first connection. Note that this
specification allows to use 'ProvisionPAC' without a CA nor
ServerID in 'ServerSideCredential'. While this allows the
operation mode of "Anonymous PAC Provisioning" as used in many
field deployments of EAP-FAST (and is thus supported here), due to
the known security vulnerabilities of anonymous PAC provisioning,
this combination SHOULD NOT be used.
2.2.3. The 'ProviderInfo' container
This specification needs to consider that user interaction during the
installation time may be required; the user at the very least must be
empowered to decide whether the configuration file was issued by a
provider he has an account with; the provider may have hints for the
user (e.g. which password to use for the login), or may want to
display links to helpdesk pages in case the user has problems with
the setup or use of his identity.
The 'ProviderInfo' container allows to specify a range of potentially
useful information for display to the user (some of which is relevant
only during installation time, other pieces of information could be
retained by the EAP peer implementation and displayed e.g. in case of
failed authentication):
o 'DisplayName' specifies a user-friendly name for the EAP Identity
Provider. Consumers of this specification should be aware that
this is simple text, and self-asserted by the producer of the
configuration file. If more authoritative information about the
issuer is available (e.g. if the file is signed with S/MIME and
carries an Organisation name (O attribute) in the signing
certificate) then the more authoritative information should be
displayed with more prominence than the self-asserted one.
o 'Description' specifies a generic descriptive text which should be
displayed to the user prior to the installation of the
configuration data.
Winter Expires January 7, 2016 [Page 9]
Internet-Draft EAP Metadata File Format July 2015
o 'ProviderLocation' specifies the approximate geographic
location(s) of the EAP Identity Provider and/or his Points of
Presence. This can be useful if the configuration file contains
multiple 'EAPIdentityProvider' elements; the user device can then
make an informed guess which of the Identity Providers could be a
good match to suggest to the user.
o 'ProviderLogo' specifies the logo of the EAP Identity Provider.
The same self-assertion considerations as for 'DisplayName' above
apply.
o 'TermsOfUse' contains terms of use to be displayed to and
acknowledged by the user prior to the installation of the
configuration on the user's system
o 'Helpdesk' is a container with three possible sub-elements:
'EmailAddress', 'WebAddress' and 'Phone', all of which can be
displayed to the user and possibly retained for future debugging
hints.
2.3. Internationalisation / Multi-language support
Some elements in this specification contain text to be displayed in
User Interfaces; depending on the user's language preferences, it
would be desirable to present the information in a local language.
Other elements contain contact information, and those contact points
may only be able to handle requests in a number of languages; it may
be desirable to present only contact points to the user which are
compatible with his language capabilities.
All elements which either contain localisable text, or which point to
external resources in localised languages, use the grouping
'localized-non-interactive' or 'localized-interactive'. These
groupings can occur more than once in the specification, which
enables an iteration of all applicable languages. If the grouping is
omitted or its 'lang' leaf is set to "C", the instance of the element
is considered a default choice which is to be displayed if no other
language is a better match.
If the entire file content consistently uses only one language set,
e.g. all the elements are to be treated as "default" choices, the
language can also be set for the entire 'EAPIdentityProvider' element
in its own 'lang-tag' leaf.
Winter Expires January 7, 2016 [Page 10]
Internet-Draft EAP Metadata File Format July 2015
3. Derivation of formats from YANG source
The utility 'pyang' is used to derive XML Schema (XSD) from the YANG
source. The Schema for this Internet-Draft was generated with pyang
1.4.1.
4. Issuer Authentication, Integrity Protection and Encryption of EAP
Metadata configuration files
S/MIME or underlying transport security. Nuff said :-)
5. XML Farget Format: File Discovery
5.1. By MIME-Type: application/eap-config-xml
For transports where the categorisation of file types via MIME types
is possible (e.g. HTTP, E-Mail), this document assigns the MIME type
application/eap-config-xml
Edge devices can associate this MIME type to incoming files on such
transports, and register the application which can consume the EAP
Metadata in XML format as the default handler for this file type. By
doing so, for example a single click or tap on a link to the file in
the device's browser will invoke the configuration process.
This method of discovery is analogous to the Apple "mobileconfig"
discovery on recent versions of Mac OS and iOS.
5.2. By filename extension: .eap-config-xml
In situations where file types can not be determined by MIME type
meta-information (e.g. when the file gets stored on a local
filesystem), this document RECOMMENDs that EAP Metadata in XML format
files be stored with the extension
.eap-config-xml
to identify the file as containing EAP Metadata configuration
information in XML format. Edge devices can register the application
which can consume the EAP Metadata with this file extension. By
doing so, for example a single click or tap on the filename in the
device's User Interface will invoke the configuration process.
Winter Expires January 7, 2016 [Page 11]
Internet-Draft EAP Metadata File Format July 2015
5.3. By network location: SCAD
6. Design Decisions
6.1. Why YANG and not directly XML, JSON or $FOO?
XML is a popular choice for EAP configurations: Microsoft's "netsh"
files, Apple's "mobileconfig" files, the Wi-Fi Alliance's
"PerProviderSubscription Managed Object", and other vendor/SDO
definitions are all using XML.
JSON file formats for EAP configuration exist as well; most notable
are Google's most recent efforts for their Chromebook Operating
system.
YANG has a very rich feature set, and can codify restrictions on
which element is allowed when in a much more fine-grained way than
XML Schema could. Since YANG modules can be converted to XML Schema
and be instantiated as XML or JSON, they can serve as an abstract
notion of EAP configuration which can be deployed on consumer devices
in either of those two more popular formats as needed by the device
in question.
6.2. Shallow vs. Deep definition of EAP method properties
6.3. EAP tunneling inside EAP tunnels
6.4. Placement of 'OuterIdentity' inside 'AuthenticationMethod'
7. Implementation Status
RFC Editor Note: Please remove this section and the reference to
[RFC6982] prior to publication.
This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in [RFC6982].
The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort
has been spent to verify the information presented here that was
supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may
exist.
Winter Expires January 7, 2016 [Page 12]
Internet-Draft EAP Metadata File Format July 2015
According to [RFC6982], "this will allow reviewers and working groups
to assign due consideration to documents that have the benefit of
running code, which may serve as evidence of valuable experimentation
and feedback that have made the implemented protocols more mature.
It is up to the individual working groups to use this information as
they see fit".
All of the implementations listed below interoperate from producer-
to consumer-side of the EAP metadata specification.
Producers of the configuration files
o eduroam Configuration Assistant Tool
Organisation: Nicolaus Copernicus University, Torun, Poland
Implementation Name: eduroam Configuration Assistant Tool
This existing tool already produces EAP configuration files in
various proprietary formats for hundreds of EAP Identity
Providers. A module which produces configuration files in the
XML variant as specified in an eralier revision of this draft
(-00) is in production deployment.
Link to production version: https://cat.eduroam.org
Maturity: production
Coverage: entire specification; XML structure aligns with
version -00 of this draft
Licensing: freely distributable with acknowledgement (BSD
style)
Implementation experience: given that the specification is XML,
it is easy to produce a configuration file with common XML
libraries. The CAT Framework is written in PHP, which provides
ample procedures to produce well-formed XML.
Contact Information: Tomasz Wolniewicz (see Section 10); the
CAT software homepage at http://forge.geant.net/CAT/
Consumers of the configuration files
o Android
Organisation: Swansea University, Swansea, Wales, U.K.
Winter Expires January 7, 2016 [Page 13]
Internet-Draft EAP Metadata File Format July 2015
Implementation Name: eduroam CAT app
An Android app, compatible with API level 18 of Android (i.e.
version 4.3 and above); the app consumes the -00 revision of
this specification. The information in the config files is
used to push settings to the SSID 'eduroam' (hard-coded) via
the WifiEnterpriseConfig API. The app is in production
deployment, with a 4-four digit amount of downloads one month
after launch.
Link to production version: https://play.google.com/store/apps/
details?id=uk.ac.swansea.eduroamcat
Maturity: production
Coverage: entire specification; XML structure aligns with
version -00 of this draft
Licensing: Apache 2.0
Implementation experience: parsing XML is rather
straightfoward. The ability to verify signatures on XML files
(S/MIME vs. XMLDSIG as discussed in Section 4) remains unclear
at this point.
Contact Information: eduroam CAT Play Store app contact address
( playstore@eduroam.org )
o Windows
Organisation: Amebis, d.o.o.i, Kamnik, Slovenia
Implementation Name: ArnesLink
A Windows supplicant/Enterprise WiFi installer/debugging
assistant. The application consumes the -02 revision of this
specification. The information from the XML variant of this
specification is embedded in a larger XML file. The additional
parts of the overall configuration file include information
regarding the SSID to configure and other useful, but not EAP-
specific information. The complete set of information is used
to push settings into the Windows Wi-Fi configuration via the
'netsh' tool. The app is in production deployment.
Link to production version: http://ftp.arnes.si/software/
eduroam/ArnesLink/
Maturity: production
Winter Expires January 7, 2016 [Page 14]
Internet-Draft EAP Metadata File Format July 2015
Coverage: entire specification; XML structure aligns with
version -02 of this draft
Licensing: GPL
Implementation experience: parsing XML is rather
straightfoward. For Wi-Fi configuration use, the lack of
802.11 specific details in the config file is an issue.
Contact Information: info@amebis.si
o Linux: the authors of this specification are currently developing
an application for UNIX-like operating systems which configure
enterprise networks via the NetworkManager daemon; the application
can consume the file format as defined in this draft specification
(XML format) and configure the settings via Networkmanager's D-BUS
interface.
8. Security Considerations
9. IANA Considerations
IANA is requested to allocate the MIME type "application/eap-config-
xml" in the MIME Media Types / application registry (see section
Section 5.1). The allocation should contain the following values:
o Name: eap-config-xml
o Template: see Appendix A (RFC editor note: remove this appendix
prior to publication; replace this line with the URL to the
application as posted online)
o Reference: RFCabcd (RFC editor note: replace with the RFC number
of this document)
IANA is requested to allocate the location "TBD" in the "well-known
URIs" registry. The allocation should contain the following values:
o URI Suffix: TBD
o Change Controller: IETF
o Reference: RFCabcd (RFC editor note: replace with the RFC number
of this document)
o Related Information: none
Winter Expires January 7, 2016 [Page 15]
Internet-Draft EAP Metadata File Format July 2015
IANA is requested to register the XML namespace
"urn:ietf:params:xml:ns:eap-config-xml" in the "IETF XML Registry /
ns". The allocation should contain the following values:
o ID: eap-config-xml
o URI: urn:ietf:params:xml:ns:eap-config-xml
o Filename: https://www.iana.org/assignments/xml-registry/ns/eap-
config-xml.txt (to be created by IANA)
o Reference: RFCabcd (RFC editor note: replace with the RFC number
of this document)
IANA is requested to register the XML schema
"urn:ietf:params:xml:schema:eap-config-xml" in the "IETF XML Registry
/ schema". The allocation should contain the following values:
o ID: eap-config-xml
o URI: urn:ietf:params:xml:schema:eap-config-xml
o Filename: https://www.iana.org/assignments/xml-registry/schema/
eap-config-xml.xsd (to be created by IANA; current XSD file is
linked to in section Section 2.1)
o Reference: RFCabcd (RFC editor note: replace with the RFC number
of this document)
10. Contributors
Tomasz Wolniewicz of Nicolaus Copernicus University in Torun, Poland,
provided significant input into this specification.
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
11.2. Informative References
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
Levkowetz, "Extensible Authentication Protocol (EAP)", RFC
3748, June 2004.
Winter Expires January 7, 2016 [Page 16]
Internet-Draft EAP Metadata File Format July 2015
[RFC5216] Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS
Authentication Protocol", RFC 5216, March 2008.
[RFC5281] Funk, P. and S. Blake-Wilson, "Extensible Authentication
Protocol Tunneled Transport Layer Security Authenticated
Protocol Version 0 (EAP-TTLSv0)", RFC 5281, August 2008.
[RFC5931] Harkins, D. and G. Zorn, "Extensible Authentication
Protocol (EAP) Authentication Using Only a Password", RFC
5931, August 2010.
[RFC6982] Sheffer, Y. and A. Farrel, "Improving Awareness of Running
Code: The Implementation Status Section", RFC 6982, July
2013.
[I-D.wierenga-ietf-eduroam]
Wierenga, K., Winter, S., and T. Wolniewicz, "The eduroam
architecture for network roaming", draft-wierenga-ietf-
eduroam-05 (work in progress), March 2015.
[HS20] Wi-Fi Alliance, "Hotspot 2.0 Technical Specification",
2012, <https://www.wi-fi.org/hotspot-20-technical-
specification-v100>.
Winter Expires January 7, 2016 [Page 17]
Internet-Draft EAP Metadata File Format July 2015
Appendix A. Appendix A: MIME Type Registration Template
The following values will be used for the online MIME type
registration at https://www.iana.org/form/media-types
Your Name: Stefan Winter
Your Email Address: stefan.winter@restena.lu
Media Type Name: Application
Subtype name: (Standards tree) eap-config-xml
Required parameters: (none)
Optional parameters: (none)
Encoding Considerations: 8-Bit text
Security Considerations: This file type carries configuration
information for consumer devices. It has the potential to
substantially alter the consumer's device; particularly to install
a new trusted Certification Authority. Applications consuming
files of this type need to be cautious to explain to the end user
what is being altered, so that they understand the consequences.
For further explanations, see Section 8 of draft-winter-opsawg-
eap-metadata. (Note to RFC Editor: replace this reference with
the RFC number of this document once known)
Interoperability Considerations: The file content is XML version
1.0 or later. The encoding SHOULD be UTF-8, but implementations
consuming the file SHOULD be prepared to encounter different
encodings.
Published Specification: draft-winter-opsawg-eap-metadata (Note to
RFC Editor: replace this reference with the RFC number of this
document once known)
Applications which use this media type: files of this type are
intended for consumption by sortware on edge devices; they consume
the information therein to configure authentication parameters
(EAP protocol and EAP method payload configurations) which are
then applied to network or application authentication scenarios.
Fragment Identifier Considerations: files of this type are
expected to be transmitted in their entirety. If a reference to a
specific part of the content is to be made, XML XPath expressions
Winter Expires January 7, 2016 [Page 18]
Internet-Draft EAP Metadata File Format July 2015
are to be used. I.e. fragment identifier formats are not expected
to be used.
Restrictions on Usage: none
Provisional registration: initial submission of this form will be
executed after adoption in the IETF; it will be a provisional
registration. Final registration will be done after IESG review.
Additional information:
Deprecated alias types for this name: none
Magic numbers: none
File extensions: eap-config-xml
Macintosh File Type Codes: TBD
Object Identifiers or OIDs: none
Intended Usage: Common (no further provisions)
Other Information/General Comment: none
Person to contact for further information:
Name: Stefan Winter
E-Mail: stefan.winter@restena.lu
Author/Change controller: IETF
DATA
Author's Address
Winter Expires January 7, 2016 [Page 19]
Internet-Draft EAP Metadata File Format July 2015
Stefan Winter
Fondation RESTENA
6, rue Richard Coudenhove-Kalergi
Luxembourg 1359
LUXEMBOURG
Phone: +352 424409 1
Fax: +352 422473
EMail: stefan.winter@restena.lu
URI: http://www.restena.lu.
Winter Expires January 7, 2016 [Page 20]