| < draft-ietf-abfab-arch-01.txt | draft-ietf-abfab-arch-02.txt > | |||
|---|---|---|---|---|
| ABFAB J. Howlett | ABFAB J. Howlett | |||
| Internet-Draft JANET(UK) | Internet-Draft JANET(UK) | |||
| Intended status: Informational S. Hartman | Intended status: Informational S. Hartman | |||
| Expires: September 11, 2012 Painless Security | Expires: November 25, 2012 Painless Security | |||
| H. Tschofenig | H. Tschofenig | |||
| Nokia Siemens Networks | Nokia Siemens Networks | |||
| E. Lear | E. Lear | |||
| Cisco Systems GmbH | Cisco Systems GmbH | |||
| March 10, 2012 | J. Schaad | |||
| Soaring Hawk Consulting | ||||
| May 24, 2012 | ||||
| Application Bridging for Federated Access Beyond Web (ABFAB) | Application Bridging for Federated Access Beyond Web (ABFAB) | |||
| Architecture | Architecture | |||
| draft-ietf-abfab-arch-01.txt | draft-ietf-abfab-arch-02.txt | |||
| Abstract | Abstract | |||
| Over the last decade a substantial amount of work has occurred in the | Over the last decade a substantial amount of work has occurred in the | |||
| space of federated access management. Most of this effort has | space of federated access management. Most of this effort has | |||
| focused on two use-cases: network and web-based access. However, the | focused on two use-cases: network and web-based access. However, the | |||
| solutions to these use-cases that have been proposed and deployed | solutions to these use-cases that have been proposed and deployed | |||
| tend to have few common building blocks in common. | tend to have few common building blocks in common. | |||
| This memo describes an architecture that makes use of extensions to | This memo describes an architecture that makes use of extensions to | |||
| skipping to change at page 2, line 4 ¶ | skipping to change at page 2, line 6 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on September 11, 2012. | ||||
| This Internet-Draft will expire on November 25, 2012. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2012 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 . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 1.2. An Overview of Federation . . . . . . . . . . . . . . . . 5 | 1.2. An Overview of Federation . . . . . . . . . . . . . . . . 6 | |||
| 1.3. Challenges to Contemporary Federation . . . . . . . . . . 8 | 1.3. Challenges to Contemporary Federation . . . . . . . . . . 9 | |||
| 1.4. An Overview of ABFAB-based Federation . . . . . . . . . . 8 | 1.4. An Overview of ABFAB-based Federation . . . . . . . . . . 9 | |||
| 1.5. Design Goals . . . . . . . . . . . . . . . . . . . . . . . 11 | 1.5. Design Goals . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 1.6. Use of AAA . . . . . . . . . . . . . . . . . . . . . . . . 12 | 1.6. Client to Relying Party Transport . . . . . . . . . . . . 13 | |||
| 2. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 1.7. Use of AAA . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 2.1. Relying Party to Identity Provider . . . . . . . . . . . . 14 | 2. Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 2.2. Client To Identity Provider . . . . . . . . . . . . . . . 17 | 2.1. Relying Party to Identity Provider . . . . . . . . . . . . 16 | |||
| 2.3. Client to Relying Party . . . . . . . . . . . . . . . . . 18 | 2.2. Client To Identity Provider . . . . . . . . . . . . . . . 19 | |||
| 3. Application Security Services . . . . . . . . . . . . . . . . 21 | 2.3. Client to Relying Party . . . . . . . . . . . . . . . . . 20 | |||
| 3.1. Authentication . . . . . . . . . . . . . . . . . . . . . . 21 | 3. Application Security Services . . . . . . . . . . . . . . . . 23 | |||
| 3.2. GSS-API Channel Binding . . . . . . . . . . . . . . . . . 22 | 3.1. Authentication . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 3.3. Host-Based Service Names . . . . . . . . . . . . . . . . . 23 | 3.2. GSS-API Channel Binding . . . . . . . . . . . . . . . . . 24 | |||
| 3.4. Per-Message Tokens . . . . . . . . . . . . . . . . . . . . 24 | 3.3. Host-Based Service Names . . . . . . . . . . . . . . . . . 25 | |||
| 4. Future Work: Attribute Providers . . . . . . . . . . . . . . . 25 | 3.4. Per-Message Tokens . . . . . . . . . . . . . . . . . . . . 26 | |||
| 5. Privacy Considerations . . . . . . . . . . . . . . . . . . . . 26 | 4. Future Work: Attribute Providers . . . . . . . . . . . . . . . 27 | |||
| 5.1. What Entities collect and use Data? . . . . . . . . . . . 26 | 5. Privacy Considerations . . . . . . . . . . . . . . . . . . . . 28 | |||
| 5.2. Relationship between User's and other Entities . . . . . . 27 | 5.1. What Entities collect and use Data? . . . . . . . . . . . 28 | |||
| 5.2. Relationship between User's and other Entities . . . . . . 29 | ||||
| 5.3. What Data about the User is likely Needed to be | 5.3. What Data about the User is likely Needed to be | |||
| Collected? . . . . . . . . . . . . . . . . . . . . . . . . 27 | Collected? . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
| 5.4. What is the Identification Level of the Data? . . . . . . 27 | 5.4. What is the Identification Level of the Data? . . . . . . 29 | |||
| 5.5. Privacy Challenges . . . . . . . . . . . . . . . . . . . . 28 | 5.5. Privacy Challenges . . . . . . . . . . . . . . . . . . . . 30 | |||
| 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 29 | 6. Deployment Considerations . . . . . . . . . . . . . . . . . . 31 | |||
| 6.1. EAP Channel Binding . . . . . . . . . . . . . . . . . . . 29 | 6.1. EAP Channel Binding . . . . . . . . . . . . . . . . . . . 31 | |||
| 6.2. AAA Proxy Behavior . . . . . . . . . . . . . . . . . . . . 29 | 6.2. AAA Proxy Behavior . . . . . . . . . . . . . . . . . . . . 31 | |||
| 7. Security Considerations . . . . . . . . . . . . . . . . . . . 30 | 7. Security Considerations . . . . . . . . . . . . . . . . . . . 32 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 32 | 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . . 33 | 10.1. Normative References . . . . . . . . . . . . . . . . . . . 36 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . . 33 | 10.2. Informative References . . . . . . . . . . . . . . . . . . 36 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 1. Introduction | 1. Introduction | |||
| The Internet uses numerous security mechanisms to manage access to | The Internet uses numerous security mechanisms to manage access to | |||
| various resources. These mechanisms have been generalized and scaled | various resources. These mechanisms have been generalized and scaled | |||
| over the last decade through mechanisms such as SASL/GS2 [RFC5801], | over the last decade through mechanisms such as Simple Authentication | |||
| Security Assertion Markup Language (SAML) [OASIS.saml-core-2.0-os], | and Security Layer (SASL) with the Generic Security Server | |||
| RADIUS [RFC2865], and Diameter [RFC3588]. | Application Program Interface (GSS-API) (known as the GS2 family) | |||
| [RFC5801], Security Assertion Markup Language (SAML) | ||||
| [OASIS.saml-core-2.0-os], RADIUS [RFC2865], and Diameter [RFC3588]. | ||||
| A Relying Party (RP) is the entity that manages access to some | A Relying Party (RP) is the entity that manages access to some | |||
| resource. The actor that is requesting access to that resource is | resource. The actor that is requesting access to that resource is | |||
| often described as the Subject. Many security mechanisms are | often described as the Subject. Many security mechanisms are | |||
| manifested as an exchange of information between these actors. The | manifested as an exchange of information between these actors. The | |||
| RP is therefore able to decide whether the Subject is authorised, or | RP is therefore able to decide whether the Subject is authorised, or | |||
| not. | not. | |||
| Some security mechanisms allow the RP to delegate aspects of the | Some security mechanisms allow the RP to delegate aspects of the | |||
| access management decision to an actor called the Identity Provider | access management decision to an actor called the Identity Provider | |||
| (IdP). This delegation requires technical signalling, trust and a | (IdP). This delegation requires technical signaling, trust and a | |||
| common understanding of semantics between the RP and IdP. These | common understanding of semantics between the RP and IdP. These | |||
| aspects are generally managed within a relationship known as a | aspects are generally managed within a relationship known as a | |||
| 'federation'. This style of access management is accordingly | 'federation'. This style of access management is accordingly | |||
| described as 'federated access management'. | described as 'federated access management'. | |||
| Federated access management has evolved over the last decade through | Federated access management has evolved over the last decade through | |||
| such standards as SAML [OASIS.saml-core-2.0-os], OpenID [1], and | such standards as SAML [OASIS.saml-core-2.0-os], OpenID [1], OAuth | |||
| OAuth [RFC5849], [I-D.ietf-oauth-v2]. The benefits of federated | [RFC5849], [I-D.ietf-oauth-v2] and WS-Trust [WS-TRUST]. The benefits | |||
| access management include: | of federated access management include: | |||
| Single or Simplified sign-on: | Single or Simplified sign-on: | |||
| An Internet service can delegate access management, and the | An Internet service can delegate access management, and the | |||
| associated responsibilities such as identity management and | associated responsibilities such as identity management and | |||
| credentialing, to an organisation that already has a long-term | credentialing, to an organisation that already has a long-term | |||
| relationship with the Subject. This is often attractive for | relationship with the Subject. This is often attractive for | |||
| Relying Parties who frequently do not want these responsibilities. | Relying Parties who frequently do not want these responsibilities. | |||
| The Subject may also therefore require fewer credentials, which is | The Subject may also therefore require fewer credentials, which is | |||
| often desirable. | often desirable. | |||
| Privacy: | Privacy: | |||
| Often a Relying Party does not need to know the identity of a | Often a Relying Party does not need to know the identity of a | |||
| Subject to reach an access management decision. It is frequently | Subject to reach an access management decision. It is frequently | |||
| only necessary for the Relying Party to establish, for example, | only necessary for the Relying Party to establish, for example, | |||
| that the Subject is affiliated with a particular organisation or | that the Subject is affiliated with a particular organisation or | |||
| has a certain role or entitlement. Sometimes the RP does require | has a certain role or entitlement. Sometimes the RP does require | |||
| an identifier for the Subject (for example, so that it can | an identifier for the Subject (for example, so that it can | |||
| recognise the Subject subsequently); in this case, it is common | recognise the Subject subsequently); in this case, it is a common | |||
| practise for the IdP to only release a pseudonym that is specific | practise for the IdP to only release a pseudonym that is specific | |||
| to that particular Relying Party. Federated access management | to that particular Relying Party. Federated access management | |||
| therefore provides various strategies for protecting the Subject's | therefore provides various strategies for protecting the Subject's | |||
| privacy. Other privacy aspects typically of concern are the | privacy. Other privacy aspects typically of concern are the | |||
| policy for releasing personal data about the Subjectfrom the IdP | policy for releasing personal data about the Subject from the IdP | |||
| to the RP, the purpose of the usage, the retention period of the | to the RP, the purpose of the usage, the retention period of the | |||
| data, and many more. | data, and many more. | |||
| Provisioning | Provisioning | |||
| Sometimes a Relying Party needs, or would like, to know more about | Sometimes a Relying Party needs, or would like, to know more about | |||
| a subject than an affiliation or a pseudonym. For example, a | a subject than an affiliation or a pseudonym. For example, a | |||
| Relying Party may want the Subject's email address or name. Some | Relying Party may want the Subject's email address or name. Some | |||
| federated access management technologies provide the ability for | federated access management technologies provide the ability for | |||
| the IdP to provision this information, either on request by the RP | the IdP to supply this information, either on request by the RP or | |||
| or unsolicited. | unsolicited. | |||
| This memo describes the Application Bridging for Federated Access | ||||
| Beyond the Web (ABFAB) architecture. This architecture makes use of | ||||
| extensions to the commonly used security mechanisms for both | ||||
| federated and non-federated access management, including the RADIUS | ||||
| and the Diameter protocol, the Generic Security Service (GSS), the | ||||
| GS2 family, the Extensible Authentication Protocol (EAP) and SAML. | ||||
| The architecture addresses the problem of federated access management | ||||
| to primarily non-web-based services, in a manner that will scale to | ||||
| large numbers of identity providers, relying parties, and | ||||
| federations. | ||||
| 1.1. Terminology | 1.1. Terminology | |||
| This document uses identity management and privacy terminology from | This document uses identity management and privacy terminology from | |||
| [I-D.iab-privacy-terminology]. In particular, this document uses the | [I-D.iab-privacy-terminology]. In particular, this document uses the | |||
| terms identity provider, relying party, (data) subject, identifier, | terms identity provider, relying party, (data) subject, identifier, | |||
| pseudonymity, unlinkability, and anonymity. | pseudonymity, unlinkability, and anonymity. | |||
| In this architecture the IdP consists of the following components: an | In this architecture the IdP consists of the following components: an | |||
| EAP server, a RADIUS or a Diameter server, and optionally a SAML | EAP server, a RADIUS or a Diameter server, and optionally a SAML | |||
| Assertion service. | Assertion service. | |||
| This document uses the term Network Access Identifier (NAI), as | This document uses the term Network Access Identifier (NAI), as | |||
| defined in [RFC4282]. | defined in [RFC4282]. | |||
| One of the problems people will find with reading this document is | ||||
| that the terminology somestimes appears to be inconsistant. This is | ||||
| do the fact that the terms used by the different standards we are | ||||
| picking up don't use the same terms. In general the document uses | ||||
| either a consistant term or the term associated with the standard | ||||
| under discussion as appropriate. For reference we include this table | ||||
| which maps the different terms into a single table. | ||||
| +----------+------------+-------------------+-----------------------+ | ||||
| | Protocol | Subject | Relying Party | Identity Provider | | ||||
| +----------+------------+-------------------+-----------------------+ | ||||
| | ABFAB | Subject | Relying Party | Identity Provider | | ||||
| | | | (RP) | (IdP) | | ||||
| | | | | | | ||||
| | | Principal | | | | ||||
| | | | | | | ||||
| | SAML | | | | | ||||
| | | | | | | ||||
| | GSS-API | | | | | ||||
| | | | | | | ||||
| | EAP | EAP client | | EAP server | | ||||
| | | | | | | ||||
| | | EAP peer | | | | ||||
| | | | | | | ||||
| | SASL | | | | | ||||
| | | | | | | ||||
| | AAA | | AAA Client | AAA server | | ||||
| | | | | | | ||||
| | RADIUS | client | NAS | RADIUS server | | ||||
| +----------+------------+-------------------+-----------------------+ | ||||
| Note that in some cases a cell has been left empty, in these cases | ||||
| there is no direct name that represents this concept. | ||||
| Note to reviewers - I have most likely missed some entries in the | ||||
| table. Please provide me with both correct names from the protocol | ||||
| and missing names that are used in the text below. | ||||
| 1.2. An Overview of Federation | 1.2. An Overview of Federation | |||
| In the previous section we introduced the following actors: | In the previous section we introduced the following actors: | |||
| o the Subject, | o the Subject, | |||
| o the Identity Provider, and | o the Identity Provider, and | |||
| o the Relying Party. | o the Relying Party. | |||
| skipping to change at page 6, line 24 ¶ | skipping to change at page 7, line 24 ¶ | |||
| \ | \ | |||
| \ | \ | |||
| \ +---------+ | \ +---------+ | |||
| \ | | O | \ | | O | |||
| v| Client | \|/ Subject | v| Client | \|/ Subject | |||
| | | | | | | | | |||
| +---------+ / \ | +---------+ / \ | |||
| Figure 1: Entities and their Relationships | Figure 1: Entities and their Relationships | |||
| A federation typically this relationship encompasses operational | A federation agreement typically encompasses operational | |||
| specifications and legal rules: | specifications and legal rules: | |||
| Operational Specifications: | Operational Specifications: | |||
| This includes the technical specifications (e.g. protocols used to | These includes the technical specifications (e.g. protocols used | |||
| communicate between the three parties), process standards, | to communicate between the three parties), process standards, | |||
| policies, identity proofing, credential and authentication | policies, identity proofing, credential and authentication | |||
| algorithm requirements, performance requirements, assessment and | algorithm requirements, performance requirements, assessment and | |||
| audit criteria, etc. The goal of these specifications to make the | audit criteria, etc. The goal of these specifications to make the | |||
| system work and to accomplish interoperability. | system work and to accomplish interoperability. | |||
| Legal Rules: | Legal Rules: | |||
| The legal rules take existing laws into consideration and provide | The legal rules take existing laws into consideration and provide | |||
| contractual obligations to provide further clarification and | contractual obligations to provide further clarification and | |||
| define responsibilities. These legal rules regulate the | define responsibilities. These legal rules regulate the | |||
| skipping to change at page 8, line 10 ¶ | skipping to change at page 9, line 10 ¶ | |||
| Similarly it is also important to note that, in the general case, | Similarly it is also important to note that, in the general case, | |||
| there is no requirement of a long-term relationship between the RP | there is no requirement of a long-term relationship between the RP | |||
| and the Subject. This is a property of federation that yields many | and the Subject. This is a property of federation that yields many | |||
| of its benefits. However, federation does not preclude the | of its benefits. However, federation does not preclude the | |||
| possibility of a pre-existing relationship existing between the RP | possibility of a pre-existing relationship existing between the RP | |||
| and the Subject, nor that they may use the introduction to create a | and the Subject, nor that they may use the introduction to create a | |||
| new long-term relationship independent of the federation. | new long-term relationship independent of the federation. | |||
| Finally, it is important to reiterate that in some scenarios there | Finally, it is important to reiterate that in some scenarios there | |||
| might indeed be a human behind the device denoted as Subject and in | might indeed be a human behind the device denoted as Client and in | |||
| other cases there is no human involved in the actual protocol | other cases there is no human involved in the actual protocol | |||
| execution. | execution. | |||
| 1.3. Challenges to Contemporary Federation | 1.3. Challenges to Contemporary Federation | |||
| As the number of federated services has proliferated, however, the | As the number of federated services has proliferated, the role of the | |||
| role of the individual can become ambiguous in certain circumstances. | individual can become ambiguous in certain circumstances. For | |||
| For example, a school might provide online access to a student's | example, a school might provide online access for a student's grades | |||
| grades to their parents for review, and to the student's teacher for | to their parents for review, and to the student's teacher for | |||
| modifying the grades. A teacher who is also a parent must clearly | modifying the grades. A teacher who is also a parent must clearly | |||
| distinguish here role upon access. | distinguish here role upon access. | |||
| Similarly, as the number of federations proliferates, it becomes | Similarly, as the number of federations proliferates, it becomes | |||
| increasingly difficult to discover which identity provider(s) a user | increasingly difficult to discover which identity provider(s) a user | |||
| is associated with. This is true for both the web and non-web case, | is associated with. This is true for both the web and non-web case, | |||
| but is particularly acute for the latter as many non-web | but is particularly acute for the latter as many non-web | |||
| authentication systems are not semantically rich enough on their own | authentication systems are not semantically rich enough on their own | |||
| to allow for such ambiguities. For instance, in the case of an email | to allow for such ambiguities. For instance, in the case of an email | |||
| provider, the use of SMTP and IMAP protocols does not on its own | provider, the use of SMTP and IMAP protocols does not on its own | |||
| provide for a way to select a federation. However, the building | provide for a way to select a federation. However, the building | |||
| blocks do exist to add this functionality. | blocks do exist to add this functionality. | |||
| 1.4. An Overview of ABFAB-based Federation | 1.4. An Overview of ABFAB-based Federation | |||
| The previous section described the general model of federation, and | The previous section described the general model of federation, and | |||
| its the application of federated access management. This section | its the application of federated access management. This section | |||
| provides a brief overview of ABFAB in the context of this model. | provides a brief overview of ABFAB in the context of this model. | |||
| The steps taken generally in an ABFAB federated authentication/ | The steps taken in an ABFAB federated authentication/authorization | |||
| authorization exchange are as follows: | exchange are as follows: | |||
| 1. Principal provides NAI to Application: Somehow the client is | 1. Principal provides an NAI to Application: The client application | |||
| configured with at least the realm portion of an NAI, which | is configured with an NAI. The provided name contains, at a | |||
| represents the IdP to be discovered. | minimum, the realm of an NAI. The realm represents the IdP to | |||
| be discovered. | ||||
| 2. Authentication mechanism selection: this is the step necessary | 2. Authentication mechanism selection: The GSS-EAP SASL/GS2 | |||
| to indicate that the GSS-EAP SASL/GS2 mechanism will be used for | mechanism is selected for authentication/authorization. | |||
| authentication/authorization. | ||||
| 3. Client Application provides NAI to RP: At the conclusion of | 3. Client Application provides the NAI to RP: The client | |||
| mechanism selection the NAI must be provided to the RP for | application setups a transport to the RP and begins the GSS-EAP | |||
| discovery. | authentication. The RP initiates the EAP protocol to the client | |||
| application, and the client provides the NAI to the RP in the | ||||
| form of the EAP response. | ||||
| 4. Discovery of federated IdP: This is discussed in detail below. | 4. Discovery of federated IdP: The RP uses pre-configured | |||
| Either the RP is configured with authorized IdPs, or it makes | information or a federation proxy to determine what IdP to use | |||
| use of a federation proxy. | based on policy and the provided NAI. This is discussed in | |||
| detail below. | ||||
| 5. Request from Relying Party to IdP: Once the RP knows who the IdP | 5. Request from Relying Party to IdP: Once the RP knows who the IdP | |||
| is, it or its agent will forward the RADIUS/Diameter request to | is, it (or its agent) will send a RADIUS/Diameter request to the | |||
| an IdP, which encapsulates the EAP access request. This may or | IdP. The RADIUS/Diameter access request encapsulates the EAP | |||
| may not contain a SAML request as a series of attributes. At | response. At this stage, the RP will likely have no idea who | |||
| this stage, the RP will likely have no idea who the principal | the principal is. The RP claims its identity to the IdP in AAA | |||
| is. The RP claims its identity to the IdP in AAA attributes, | attributes, and it may contain a SAML Attribute Requests in a | |||
| and it makes whatever SAML Attribute Requests through a AAA | AAA attribute. | |||
| attribute. | ||||
| 6. IdP informs the principal of which EAP method to use: The | 6. IdP informs the principal of which EAP method to use: The | |||
| available and appropriate methods are discussed below in this | available and appropriate methods are discussed below in this | |||
| memo. | memo. | |||
| 7. A bunch of EAP messages happen between the EAP peer and the EAP | 7. The EAP protocol is run: A bunch of EAP messages are passed | |||
| server, i.e., the principal and the IdP in our identity | between the EAP peer and the EAP server, i.e., the principal and | |||
| management terminology, until the result of the authentication | the IdP in our identity management terminology, until the result | |||
| protocol is determined. The number and content of those | of the authentication protocol is determined. The number and | |||
| messages will depend on the EAP method. If the IdP is unable to | content of those messages will depend on the EAP method. If the | |||
| authenticate the principal, the process concludes here. As part | IdP is unable to authenticate the principal, the process | |||
| of this process, the principal will, under protection of EAP, | concludes here. As part of the EAP protocol, the principal will | |||
| assert the identity of the RP to which it intends to | create a channel bindings message to the IdP identifying, among | |||
| authenticate. | other things, the RP to which it is attempting to authenticate. | |||
| The IdP checks the channel binding data from the principal with | ||||
| that provided by the RP via the AAA protocol. If the bindings | ||||
| do not match the IdP fails the EAP protocol. | ||||
| 8. Successful Authentication: At the very least the IdP (its EAP | 8. Successful Authentication: The IdP (its EAP server) and EAP peer | |||
| server) and EAP peer / subject have authenticated one another. | / subject have mutually authenticated each other. As a result | |||
| As a result of this step, the subject and the IdP hold two | of this step, the subject and the IdP hold two cryptographic | |||
| cryptographic keys- a Master Session Key (MSK), and an Extended | keys- a Master Session Key (MSK), and an Extended MSK (EMSK). | |||
| MSK (EMSK). If the asserted identity of the RP by the principal | There is some confidence that the RP is the one the principal is | |||
| matches the identity the RP itself asserted, there is some | communicating with as the channel binding data validated. This | |||
| confidence that the RP is now authenticated to the IdP. | allows for a claim of authentication for the RP to the | |||
| principal. | ||||
| 9. Local IdP Policy Check: At this stage, the IdP checks local | 9. Local IdP Policy Check: At this stage, the IdP checks local | |||
| policy to determine whether the RP and subject are authorized | policy to determine whether the RP and subject are authorized | |||
| for a given transaction/service, and if so, what if any, | for a given transaction/service, and if so, what if any, | |||
| attributes will be released to the RP. Additional policy checks | attributes will be released to the RP. The RP will have done | |||
| will likely have been made earlier just through the process of | it's policy checks during the discovery process. | |||
| discovery. | ||||
| 10. Response from the IdP to the Relying Party: Once the IdP has | 10. Response from the IdP to the Relying Party: Once the IdP has | |||
| made a determination of whether and how to authenticate or | made a determination of whether and how to authenticate and | |||
| authorize the principal to the RP, it returns either a negative | authorize the principal to the RP, it returns either a negative | |||
| AAA result to the RP, or it returns a positive result to the RP, | AAA result to the RP, or it returns a positive result to the RP, | |||
| along with an optional set of AAA attributes associated with the | along with an optional set of AAA attributes associated with the | |||
| principal that could include one or more SAML assertions. In | principal that could include one or more SAML assertions. In | |||
| addition, an EAP MSK is returned to the subject. | addition, an EAP MSK is returned to the RP. | |||
| 11. RP Processes Results. When the RP receives the result from the | 11. RP Processes Results: When the RP receives the result from the | |||
| IdP, it should have enough information to either grant or refuse | IdP, it should have enough information to either grant or refuse | |||
| a resource access request. It may have information that leads | a resource access request. It may have information that | |||
| it to make additional attribute queries. It may have | associates the principal with specific authorization identities. | |||
| information that associates the principal with specific | If additional attributes are needed from the IdP the RP may make | |||
| authorization identies. It will apply these results in an | a new SAML Request to the IdP. It will apply these results in | |||
| application-specific way. | an application-specific way. | |||
| 12. RP returns results to principal: Once the RP has a response it | 12. RP returns results to principal: Once the RP has a response it | |||
| must inform the client application of the result. If all has | must inform the client application of the result. If all has | |||
| gone well, all are authenticated, and the application proceeds | gone well, all are authenticated, and the application proceeds | |||
| with appropriate authorization levels. | with appropriate authorization levels. | |||
| An example communication flow is given below: | An example communication flow is given below: | |||
| Relying Client Identity | Relying Client Identity | |||
| Party App Provider | Party App Provider | |||
| skipping to change at page 11, line 27 ¶ | skipping to change at page 12, line 27 ¶ | |||
| | | | | | | | | |||
| | |< - - (6) - -<| EAP method to Principal | | |< - - (6) - -<| EAP method to Principal | |||
| | | | | | | | | |||
| | |< - - (7) - ->| EAP Exchange to authenticate | | |< - - (7) - ->| EAP Exchange to authenticate | |||
| | | | Principal | | | | Principal | |||
| | | | | | | | | |||
| | | (8 & 9) Local Policy Check | | | (8 & 9) Local Policy Check | |||
| | | | | | | | | |||
| |<====(10)====================<| IdP Assertion to RP | |<====(10)====================<| IdP Assertion to RP | |||
| | | | | | | | | |||
| (11) RP processes | | | | | (11) RP processes results | |||
| results | | | ||||
| | | | | | | | | |||
| |>----(12)----->| | Results to client app. | |>----(12)----->| | Results to client app. | |||
| ----- = Between Client App and RP | ----- = Between Client App and RP | |||
| ===== = Between RP and IdP | ===== = Between RP and IdP | |||
| - - - = Between Client App and IdP | - - - = Between Client App and IdP | |||
| 1.5. Design Goals | 1.5. Design Goals | |||
| Our key design goals are as follows: | Our key design goals are as follows: | |||
| skipping to change at page 12, line 25 ¶ | skipping to change at page 13, line 25 ¶ | |||
| is hard and frought with risk of cryptographic flaws. Achieving | is hard and frought with risk of cryptographic flaws. Achieving | |||
| widespead deployment is even more difficult. A lot of attention on | widespead deployment is even more difficult. A lot of attention on | |||
| federated access has been devoted to the Web. This document instead | federated access has been devoted to the Web. This document instead | |||
| focuses on a non-Web-based environment and focuses on those protocols | focuses on a non-Web-based environment and focuses on those protocols | |||
| where HTTP is not used. Despite the increased excitement for | where HTTP is not used. Despite the increased excitement for | |||
| layering every protocol on top of HTTP there are still a number of | layering every protocol on top of HTTP there are still a number of | |||
| protocols available that do not use HTTP-based transports. Many of | protocols available that do not use HTTP-based transports. Many of | |||
| these protocols are lacking a native authentication and authorization | these protocols are lacking a native authentication and authorization | |||
| framework of the style shown in Figure 1. | framework of the style shown in Figure 1. | |||
| 1.6. Use of AAA | 1.6. Client to Relying Party Transport | |||
| The transport of data between the client and the relying part is not | ||||
| provided by GSS-API. GSS-API creates and consumes messages, but it | ||||
| does not provide the transport itself, instead the protocol using | ||||
| GSS-API needs to provide the transport. In many cases HTTP or HTTPS | ||||
| is used for this transport, but other transports are perfectly | ||||
| acceptable. The core GSS-API document [RFC2743] provides some | ||||
| details on what requirements exist. | ||||
| In addition we highlight the following: | ||||
| o The transport does not need to provide either privacy or | ||||
| integrity. After GSS-EAP has finished negotiation, GSS-API can be | ||||
| used to provide both services. If the negotiation process itself | ||||
| needs protection from eavesdroppers then the transport would need | ||||
| to provide the necessary services. | ||||
| o The transport needs to provide reliable transport of the messages. | ||||
| o The transport needs to ensure that tokens are delivered in order | ||||
| during the negotiation process. | ||||
| o GSS-API messages need to be delivered atomically. If the | ||||
| transport breaks up a message it must also reassemble the message | ||||
| before delivery. | ||||
| 1.7. Use of AAA | ||||
| Interestingly, for network access authentication the usage of the AAA | Interestingly, for network access authentication the usage of the AAA | |||
| framework with RADIUS [RFC2865] and Diameter [RFC3588] was quite | framework with RADIUS [RFC2865] and Diameter [RFC3588] was quite | |||
| successful from a deployment point of view. To map the terminology | successful from a deployment point of view. To map the terminology | |||
| used in Figure 1 to the AAA framework the IdP corresponds to the AAA | used in Figure 1 to the AAA framework the IdP corresponds to the AAA | |||
| server, the RP corresponds to the AAA client, and the technical | server, the RP corresponds to the AAA client, and the technical | |||
| building blocks of a federation are AAA proxies, relays and redirect | building blocks of a federation are AAA proxies, relays and redirect | |||
| agents (particularly if they are operated by third parties, such as | agents (particularly if they are operated by third parties, such as | |||
| AAA brokers and clearing houses). The front-end, i.e. the end host | AAA brokers and clearing houses). The front-end, i.e. the end host | |||
| to AAA client communication, is in case of network access | to AAA client communication, is in case of network access | |||
| skipping to change at page 15, line 30 ¶ | skipping to change at page 17, line 30 ¶ | |||
| business relationship defines what statements the identity provider | business relationship defines what statements the identity provider | |||
| is trusted to make and how these statements are interpreted by the | is trusted to make and how these statements are interpreted by the | |||
| relying party. The AAA framework also permits the relying party or | relying party. The AAA framework also permits the relying party or | |||
| elements between the relying party and identity provider to make | elements between the relying party and identity provider to make | |||
| statements about the relying party. | statements about the relying party. | |||
| The AAA framework provides transport for attributes. Statements made | The AAA framework provides transport for attributes. Statements made | |||
| about the subject by the identity provider, statements made about the | about the subject by the identity provider, statements made about the | |||
| relying party and other information is transported as attributes. | relying party and other information is transported as attributes. | |||
| One demand that the AAA substrate must make of the upper layers is | One demand that the AAA substrate makes of the upper layers is that | |||
| that they must properly identify the end points of the communication. | they must properly identify the end points of the communication. It | |||
| That is- it must be possible for the AAA client at the RP to | must be possible for the AAA client at the RP to determine where to | |||
| determine where to send each RADIUS or Diameter message. Without | send each RADIUS or Diameter message. Without this requirement, it | |||
| this requirement, it would be the RP's responsibility to determine | would be the RP's responsibility to determine the identity of the | |||
| the identity of the principal on its own, without the assistance of | principal on its own, without the assistance of an IdP. This | |||
| an IdP. This architecture makes use of the Network Access Identifier | architecture makes use of the Network Access Identifier (NAI), where | |||
| (NAI), where the IdP is indicated in the realm component [RFC4282]. | the IdP is indicated in the realm component [RFC4282]. The NAI is | |||
| The NAI is represented and consumed by the GSS-API layer as | represented and consumed by the GSS-API layer as GSS_C_NT_USER_NAME | |||
| GSS_C_NT_USER_NAME as specified in [RFC2743]. The GSS-API EAp | as specified in [RFC2743]. The GSS-API EAP mechanism includes the | |||
| mechanism includes the NAI in the EAP Response/Identity message. | NAI in the EAP Response/Identity message. | |||
| The RP needs to discover which federation will be used to contact the | The RP needs to discover which federation will be used to contact the | |||
| IDP. As part of this process, the RP determines the set of business | IDP. As part of this process, the RP determines the set of business | |||
| rules and technical policies governing the relationship; this is | rules and technical policies governing the relationship; this is | |||
| called rules determination. The RP also needs to establish technical | called rules determination. The RP also needs to establish technical | |||
| trust in the communications with the IDP. | trust in the communications with the IDP. | |||
| Rules determination covers a broad range of decisions about the | Rules determination covers a broad range of decisions about the | |||
| exchange. One of these is whether the given RP is permitted to talk | exchange. One of these is whether the given RP is permitted to talk | |||
| to the IDP using a given federation at all, so rules determination | to the IDP using a given federation at all, so rules determination | |||
| skipping to change at page 18, line 11 ¶ | skipping to change at page 20, line 11 ¶ | |||
| giving control of the authentication interface to a potential | giving control of the authentication interface to a potential | |||
| attacker, then the security of the system may be reduced and phishing | attacker, then the security of the system may be reduced and phishing | |||
| opportunities introduced. | opportunities introduced. | |||
| As a result, it is desirable to choose some standardized approach for | As a result, it is desirable to choose some standardized approach for | |||
| communication between the subject's end-host and the identity | communication between the subject's end-host and the identity | |||
| provider. There are a number of requirements this approach must | provider. There are a number of requirements this approach must | |||
| meet. | meet. | |||
| Experience has taught us one key security and scalability | Experience has taught us one key security and scalability | |||
| requirement: it is important that the relying party not get in | requirement: it is important that the relying party not get | |||
| possession of the long-term secret of the entity being authenticated | possession of the long-term secret of the client. Aside from a | |||
| by the AAA server. Aside from a valuable secret being exposed, a | valuable secret being exposed, a synchronization problem can develop | |||
| synchronization problem can also often develop. Since there is no | when the client changes keys with the IdP. | |||
| single authentication mechanism that will be used everywhere there is | ||||
| another associated requirement: The authentication framework must | Since there is no single authentication mechanism that will be used | |||
| allow for the flexible integration of authentication mechanisms. For | everywhere there is another associated requirement: The | |||
| instance, some identity providers may require hardware tokens while | authentication framework must allow for the flexible integration of | |||
| others may use passwords. A service provider would want to support | authentication mechanisms. For instance, some IdPs require hardware | |||
| both sorts of federations, and others. | tokens while others use passwords. A service provider wants to | |||
| provide support for both authentication methods, and other methods | ||||
| from IdPs not yet seen. | ||||
| Fortunately, these requirements can be met by utilizing standardized | Fortunately, these requirements can be met by utilizing standardized | |||
| and successfully deployed technology, namely by the Extensible | and successfully deployed technology, namely by the Extensible | |||
| Authentication Protocol (EAP) framework [RFC3748]. Figure 2 | Authentication Protocol (EAP) framework [RFC3748]. Figure 2 | |||
| illustrates the integration graphically. | illustrates the integration graphically. | |||
| EAP is an end-to-end framework; it provides for two-way communication | EAP is an end-to-end framework; it provides for two-way communication | |||
| between a peer (i.e,service client or principal) through the | between a peer (i.e,service client or principal) through the | |||
| authenticator (i.e., service provider) to the back-end (i.e., | authenticator (i.e., service provider) to the back-end (i.e., | |||
| identity provider). Conveniently, this is precisely the | identity provider). Conveniently, this is precisely the | |||
| skipping to change at page 21, line 31 ¶ | skipping to change at page 23, line 31 ¶ | |||
| GSS-API provides an optional security service called mutual | GSS-API provides an optional security service called mutual | |||
| authentication. This service means that in addition to the initiator | authentication. This service means that in addition to the initiator | |||
| providing (potentially anonymous or pseudonymous) identity to the | providing (potentially anonymous or pseudonymous) identity to the | |||
| acceptor, the acceptor confirms its identity to the initiator. | acceptor, the acceptor confirms its identity to the initiator. | |||
| Especially for the ABFAB context, this service is confusingly named. | Especially for the ABFAB context, this service is confusingly named. | |||
| We still say that mutual authentication is provided when the identity | We still say that mutual authentication is provided when the identity | |||
| of an acceptor is strongly authenticated to an anonymous initiator. | of an acceptor is strongly authenticated to an anonymous initiator. | |||
| RFC 2743, unfortunately, does not explicitly talk about what mutual | RFC 2743, unfortunately, does not explicitly talk about what mutual | |||
| authentication means. Within this document we therefore define it as | authentication means. Within this document we therefore define it | |||
| as: | ||||
| o If a target name is supplied by the initiator, then the initiator | o If a target name is supplied by the initiator, then the initiator | |||
| trusts that the supplied target name describes the acceptor. This | trusts that the supplied target name describes the acceptor. This | |||
| implies both that appropriate cryptographic exchanges took place | implies both that appropriate cryptographic exchanges took place | |||
| for the initiator to make such a trust decision, and that after | for the initiator to make such a trust decision, and that after | |||
| evaluating the results of these exchanges, the initiator's policy | evaluating the results of these exchanges, the initiator's policy | |||
| trusts that the target name is accurate. | trusts that the target name is accurate. | |||
| o The initiator trusts that its idea of the acceptor name correctly | o If no target name is supplied by the initiator, then the initiator | |||
| names the entity it is communicating with. | trusts that its idea of the acceptor name correctly names the | |||
| entity it is communicating with. | ||||
| o Both the initiator and acceptor have the same key material for | o Both the initiator and acceptor have the same key material for | |||
| per-message keys and both parties have confirmed they actually | per-message keys and both parties have confirmed they actually | |||
| have the key material. In EAP terms, there is a protected | have the key material. In EAP terms, there is a protected | |||
| indication of success. | indication of success. | |||
| Mutual authentication is an important defense against certain aspects | Mutual authentication is an important defense against certain aspects | |||
| of phishing. Intuitively, users would like to assume that if some | of phishing. Intuitively, users would like to assume that if some | |||
| party asks for their credentials as part of authentication, | party asks for their credentials as part of authentication, | |||
| successfully gaining access to the resource means that they are | successfully gaining access to the resource means that they are | |||
| skipping to change at page 22, line 17 ¶ | skipping to change at page 24, line 19 ¶ | |||
| It is important, therefore, that the GSS-EAP mechanism implement | It is important, therefore, that the GSS-EAP mechanism implement | |||
| mutual authentication. That is, an initiator needs to be able to | mutual authentication. That is, an initiator needs to be able to | |||
| request mutual authentication. When mutual authentication is | request mutual authentication. When mutual authentication is | |||
| requested, only EAP methods capabale of providing the necessary | requested, only EAP methods capabale of providing the necessary | |||
| service can be used, and appropriate steps need to be taken to | service can be used, and appropriate steps need to be taken to | |||
| provide mutual authentication. A broader set of EAP methods could be | provide mutual authentication. A broader set of EAP methods could be | |||
| supported when a particular application does not request mutual | supported when a particular application does not request mutual | |||
| authentication. It is an open question whether the mechanism will | authentication. It is an open question whether the mechanism will | |||
| permit this. | permit this. | |||
| The AAA infrastructure MAY hide the peer's identity from the GSS-API | ||||
| acceptor, providing anonymity between the peer and initiator. At | ||||
| this time, whether the identity is disclosed is determined by EAP | ||||
| server policy rather than by an indication from the peer. Also, | ||||
| peers are unlikely to be able to determine whether anonymous | ||||
| communication will be provided. For this reason, peers are unlikely | ||||
| to set the anonymous return flag from GSS_Init_Sec_context. | ||||
| 3.2. GSS-API Channel Binding | 3.2. GSS-API Channel Binding | |||
| [RFC5056] defines a concept of channel binding to prevent man-in-the- | [RFC5056] defines a concept of channel binding to prevent man-in-the- | |||
| middle attacks. It is common to provide SASL and GSS-API with | middle attacks. It is common to provide SASL and GSS-API with | |||
| another layer to provide transport security; Transport Layer Security | another layer to provide transport security; Transport Layer Security | |||
| (TLS) is the most common such layer. TLS provides its own server | (TLS) is the most common such layer. TLS provides its own server | |||
| authentication. However there are a variety of situations where this | authentication. However there are a variety of situations where this | |||
| authentication is not checked for policy or usability reasons. Even | authentication is not checked for policy or usability reasons. Even | |||
| when it is checked, if the trust infrastructure behind the TLS | when it is checked, if the trust infrastructure behind the TLS | |||
| authentication is different from the trust infrastructure behind the | authentication is different from the trust infrastructure behind the | |||
| skipping to change at page 30, line 14 ¶ | skipping to change at page 32, line 14 ¶ | |||
| 7. Security Considerations | 7. Security Considerations | |||
| This document describes the architecture for Application Bridging for | This document describes the architecture for Application Bridging for | |||
| Federated Access Beyond Web (ABFAB) and security is therefore the | Federated Access Beyond Web (ABFAB) and security is therefore the | |||
| main focus. This section highlights the main communication channels | main focus. This section highlights the main communication channels | |||
| and their security properties: | and their security properties: | |||
| Client-to-RP Channel: | Client-to-RP Channel: | |||
| This communication channel is secured by TLS executed between the | The channel binding material is provided by any certificates and | |||
| client and the RP. The channel binding material is provided by | the final message (i.e., a cryptographic token for the channel). | |||
| any certificates and the final message (i.e., a cryptographic | Authentication may be provided by the RP to the client but a | |||
| token for the channel). Authentication may be provided by the RP | deployment without authentication at the TLS layer is possible as | |||
| to the client but a deployment without authentication at the TLS | well. In addition, there is a channel between the GSS requestor | |||
| layer is possible as well. In addition, there is a channel | and the GSS acceptor, but the keying material is provided by a | |||
| between the GSS requestor and the GSS acceptor, but the keying | "third party" to both entities. The client can derive keying | |||
| material is provided by a "third party" to both entities. The | material locally, but the RP gets the material from the IdP. In | |||
| client can derive keying material locally, but the RP gets the | the absence of a transport that provides encryption and/or | |||
| material from the IdP. There is no cryptographic binding on this | integrity, the channel between the client and the RP has no | |||
| channel until the EAP processing has finished and the MSK is | ability to have any cryptographic protection until the EAP | |||
| transferred from the IdP to the RP. | authentication has been completed and the MSK is transfered from | |||
| the IdP to the RP. | ||||
| RP-to-IdP Channel: | RP-to-IdP Channel: | |||
| The security of this communication channel is mainly provided by | The security of this communication channel is mainly provided by | |||
| the functionality offered via RADIUS and Diameter. At the time of | the functionality offered via RADIUS and Diameter. At the time of | |||
| writing there are no end-to-end security mechanisms standardized | writing there are no end-to-end security mechanisms standardized | |||
| and thereby the architecture has to rely on hop-by-hop security | and thereby the architecture has to rely on hop-by-hop security | |||
| with trusted AAA entities or, as an alternative but possible | with trusted AAA entities or, as an alternative but possible | |||
| deployment variant, direct communication between the AAA client to | deployment variant, direct communication between the AAA client to | |||
| the AAA server. Note that the authorization result the IdP | the AAA server. Note that the authorization result the IdP | |||
| provides to the RP in the form of a SAML assertion may, however, | provides to the RP in the form of a SAML assertion may, however, | |||
| be protected such that the SAML related components are secured | be protected such that the SAML related components are secured | |||
| end-to-end. | end-to-end. | |||
| The MSK is transported from the IdP to the RP over this channel. | ||||
| As no end-to-end security is provided by AAA, all AAA entities on | ||||
| the path between the RP and IdP have the ability to eavesdrop if | ||||
| no additional security measures are taken. One such measure is to | ||||
| use a transport between the client and the IdP that provides | ||||
| confidentiality. | ||||
| Client-to-IdP Channel: | Client-to-IdP Channel: | |||
| This communication interaction is accomplished with the help of | This communication interaction is accomplished with the help of | |||
| EAP and EAP methods. The offered security protection will depend | EAP and EAP methods. The offered security protection will depend | |||
| on the EAP method that is chosen but a minimum requirement fis to | on the EAP method that is chosen but a minimum requirement fis to | |||
| offer mutual authentication, and key derivation. The IdP is | offer mutual authentication, and key derivation. The IdP is | |||
| responsible during this process to determine that the RP that is | responsible during this process to determine that the RP that is | |||
| communication to the client over the RP-to-IdP channel is the same | communication to the client over the RP-to-IdP channel is the same | |||
| one talking to the IdP. This is accomplished via the EAP channel | one talking to the IdP. This is accomplished via the EAP channel | |||
| binding. | binding. | |||
| Partial list of issues to be addressed in this section: Privacy, | ||||
| SAML, Trust Anchors, EAP Algorithm Selection, Diameter/RADIUS/AAA | ||||
| Issues, Naming of Entities, Protection of passwords, Channel Binding, | ||||
| End-point-connections (TLS), Proxy problems | ||||
| 8. IANA Considerations | 8. IANA Considerations | |||
| This document does not require actions by IANA. | This document does not require actions by IANA. | |||
| 9. Acknowledgments | 9. Acknowledgments | |||
| We would like to thank Mayutan Arumaithurai and Klaas Wierenga for | We would like to thank Mayutan Arumaithurai and Klaas Wierenga for | |||
| their feedback. Additionally, we would like to thank Eve Maler, | their feedback. Additionally, we would like to thank Eve Maler, | |||
| Nicolas Williams, Bob Morgan, Scott Cantor, Jim Fenton, and Luke | Nicolas Williams, Bob Morgan, Scott Cantor, Jim Fenton, and Luke | |||
| Howard for their feedback on the federation terminology question. | Howard for their feedback on the federation terminology question. | |||
| Furthermore, we would like to thank Klaas Wierenga for his review of | Furthermore, we would like to thank Klaas Wierenga for his review of | |||
| the pre-00 draft version. | the pre-00 draft version. | |||
| We would like to thank Jim Schaad for his detailed review of the -00 | ||||
| working group draft version. | ||||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [RFC2743] Linn, J., "Generic Security Service Application Program | [RFC2743] Linn, J., "Generic Security Service Application Program | |||
| Interface Version 2, Update 1", RFC 2743, January 2000. | Interface Version 2, Update 1", RFC 2743, January 2000. | |||
| [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, | [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, | |||
| "Remote Authentication Dial In User Service (RADIUS)", | "Remote Authentication Dial In User Service (RADIUS)", | |||
| RFC 2865, June 2000. | RFC 2865, June 2000. | |||
| skipping to change at page 33, line 35 ¶ | skipping to change at page 36, line 35 ¶ | |||
| Authentication Protocol (EAP)", RFC 3579, September 2003. | Authentication Protocol (EAP)", RFC 3579, September 2003. | |||
| [RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible | [RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible | |||
| Authentication Protocol (EAP) Application", RFC 4072, | Authentication Protocol (EAP) Application", RFC 4072, | |||
| August 2005. | August 2005. | |||
| [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The | [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The | |||
| Network Access Identifier", RFC 4282, December 2005. | Network Access Identifier", RFC 4282, December 2005. | |||
| [I-D.iab-privacy-terminology] | [I-D.iab-privacy-terminology] | |||
| Hansen, M., Tschofenig, H., and R. Smith, "Privacy | Hansen, M., Tschofenig, H., Smith, R., and A. Cooper, | |||
| Terminology", draft-iab-privacy-terminology-00 (work in | "Privacy Terminology and Concepts", | |||
| progress), January 2012. | draft-iab-privacy-terminology-01 (work in progress), | |||
| March 2012. | ||||
| [I-D.ietf-abfab-gss-eap] | [I-D.ietf-abfab-gss-eap] | |||
| Hartman, S. and J. Howlett, "A GSS-API Mechanism for the | Hartman, S. and J. Howlett, "A GSS-API Mechanism for the | |||
| Extensible Authentication Protocol", | Extensible Authentication Protocol", | |||
| draft-ietf-abfab-gss-eap-05 (work in progress), | draft-ietf-abfab-gss-eap-07 (work in progress), May 2012. | |||
| March 2012. | ||||
| 10.2. Informative References | 10.2. Informative References | |||
| [I-D.nir-tls-eap] | [I-D.nir-tls-eap] | |||
| Nir, Y., Sheffer, Y., Tschofenig, H., and P. Gutmann, "A | Nir, Y., Sheffer, Y., Tschofenig, H., and P. Gutmann, "A | |||
| Flexible Authentication Framework for the Transport Layer | Flexible Authentication Framework for the Transport Layer | |||
| Security (TLS) Protocol using the Extensible | Security (TLS) Protocol using the Extensible | |||
| Authentication Protocol (EAP)", draft-nir-tls-eap-13 (work | Authentication Protocol (EAP)", draft-nir-tls-eap-13 (work | |||
| in progress), December 2011. | in progress), December 2011. | |||
| [I-D.ietf-oauth-v2] | [I-D.ietf-oauth-v2] | |||
| Hammer-Lahav, E., Recordon, D., and D. Hardt, "The OAuth | Hammer-Lahav, E., Recordon, D., and D. Hardt, "The OAuth | |||
| 2.0 Authorization Protocol", draft-ietf-oauth-v2-25 (work | 2.0 Authorization Framework", draft-ietf-oauth-v2-26 (work | |||
| in progress), March 2012. | in progress), May 2012. | |||
| [I-D.iab-privacy-considerations] | [I-D.iab-privacy-considerations] | |||
| Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., and | Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., and | |||
| J. Morris, "Privacy Considerations for Internet | J. Morris, "Privacy Considerations for Internet | |||
| Protocols", draft-iab-privacy-considerations-01 (work in | Protocols", draft-iab-privacy-considerations-02 (work in | |||
| progress), October 2011. | progress), March 2012. | |||
| [RFC4017] Stanley, D., Walker, J., and B. Aboba, "Extensible | [RFC4017] Stanley, D., Walker, J., and B. Aboba, "Extensible | |||
| Authentication Protocol (EAP) Method Requirements for | Authentication Protocol (EAP) Method Requirements for | |||
| Wireless LANs", RFC 4017, March 2005. | Wireless LANs", RFC 4017, March 2005. | |||
| [RFC5106] Tschofenig, H., Kroeselberg, D., Pashalidis, A., Ohba, Y., | [RFC5106] Tschofenig, H., Kroeselberg, D., Pashalidis, A., Ohba, Y., | |||
| and F. Bersani, "The Extensible Authentication Protocol- | and F. Bersani, "The Extensible Authentication Protocol- | |||
| Internet Key Exchange Protocol version 2 (EAP-IKEv2) | Internet Key Exchange Protocol version 2 (EAP-IKEv2) | |||
| Method", RFC 5106, February 2008. | Method", RFC 5106, February 2008. | |||
| skipping to change at page 36, line 5 ¶ | skipping to change at page 38, line 21 ¶ | |||
| Cantor, S., Kemp, J., Philpott, R., and E. Maler, | Cantor, S., Kemp, J., Philpott, R., and E. Maler, | |||
| "Assertions and Protocol for the OASIS Security Assertion | "Assertions and Protocol for the OASIS Security Assertion | |||
| Markup Language (SAML) V2.0", OASIS Standard saml-core- | Markup Language (SAML) V2.0", OASIS Standard saml-core- | |||
| 2.0-os, March 2005. | 2.0-os, March 2005. | |||
| [RFC2904] Vollbrecht, J., Calhoun, P., Farrell, S., Gommans, L., | [RFC2904] Vollbrecht, J., Calhoun, P., Farrell, S., Gommans, L., | |||
| Gross, G., de Bruijn, B., de Laat, C., Holdrege, M., and | Gross, G., de Bruijn, B., de Laat, C., Holdrege, M., and | |||
| D. Spence, "AAA Authorization Framework", RFC 2904, | D. Spence, "AAA Authorization Framework", RFC 2904, | |||
| August 2000. | August 2000. | |||
| [WS-TRUST] | ||||
| Lawrence, K., Kaler, C., Nadalin, A., Goodner, M., Gudgin, | ||||
| M., Barbir, A., and H. Granqvist, "WS-Trust 1.4", OASIS | ||||
| Standard ws-trust-200902, February 2009, <http:// | ||||
| docs.oasis-open.org/ws-sx/ws-trust/v1.4/ws-trust.html>. | ||||
| URIs | URIs | |||
| [1] <http://www.openid.net> | [1] <http://www.openid.net> | |||
| [2] <http://www.eduroam.org> | [2] <http://www.eduroam.org> | |||
| Authors' Addresses | Authors' Addresses | |||
| Josh Howlett | Josh Howlett | |||
| JANET(UK) | JANET(UK) | |||
| skipping to change at line 1365 ¶ | skipping to change at page 40, line 40 ¶ | |||
| URI: http://www.tschofenig.priv.at | URI: http://www.tschofenig.priv.at | |||
| Eliot Lear | Eliot Lear | |||
| Cisco Systems GmbH | Cisco Systems GmbH | |||
| Richtistrasse 7 | Richtistrasse 7 | |||
| Wallisellen, ZH CH-8304 | Wallisellen, ZH CH-8304 | |||
| Switzerland | Switzerland | |||
| Phone: +41 44 878 9200 | Phone: +41 44 878 9200 | |||
| Email: lear@cisco.com | Email: lear@cisco.com | |||
| Jim Schaad | ||||
| Soaring Hawk Consulting | ||||
| Email: ietf@augustcellars.com | ||||
| End of changes. 47 change blocks. | ||||
| 153 lines changed or deleted | 267 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||