| draft-ietf-pana-pana-04.txt | draft-ietf-pana-pana-05.txt | |
|---|---|---|
| PANA Working Group D. Forsberg | PANA Working Group D. Forsberg | |
| Internet-Draft Nokia | Internet-Draft Nokia | |
| Expires: November 5, 2004 Y. Ohba (Ed.) | Expires: January 15, 2005 Y. Ohba (Ed.) | |
| Toshiba | Toshiba | |
| B. Patil | B. Patil | |
| Nokia | Nokia | |
| H. Tschofenig | H. Tschofenig | |
| Siemens | Siemens | |
| A. Yegin | A. Yegin | |
| Samsung | Samsung | |
| May 7, 2004 | July 17, 2004 | |
| Protocol for Carrying Authentication for Network Access (PANA) | Protocol for Carrying Authentication for Network Access (PANA) | |
| draft-ietf-pana-pana-04 | draft-ietf-pana-pana-05 | |
| Status of this Memo | Status of this Memo | |
| This document is an Internet-Draft and is in full conformance with | By submitting this Internet-Draft, I certify that any applicable | |
| all provisions of Section 10 of RFC2026. | patent or other IPR claims of which I am aware have been disclosed, | |
| and any of which I become aware will be disclosed, in accordance with | ||
| RFC 3668. | ||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |
| Task Force (IETF), its areas, and its working groups. Note that other | Task Force (IETF), its areas, and its working groups. Note that | |
| groups may also distribute working documents as Internet-Drafts. | other groups may also distribute working documents as | |
| Internet-Drafts. | ||
| 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." | |
| The list of current Internet-Drafts can be accessed at http:// | The list of current Internet-Drafts can be accessed at | |
| www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |
| This Internet-Draft will expire on November 5, 2004. | This Internet-Draft will expire on January 15, 2005. | |
| Copyright Notice | Copyright Notice | |
| Copyright (C) The Internet Society (2004). All Rights Reserved. | Copyright (C) The Internet Society (2004). All Rights Reserved. | |
| Abstract | Abstract | |
| This document defines the Protocol for Carrying Authentication for | This document defines the Protocol for Carrying Authentication for | |
| Network Access (PANA), a link-layer agnostic transport for Extensible | Network Access (PANA), a link-layer agnostic transport for Extensible | |
| Authentication Protocol (EAP) to enable network access authentication | Authentication Protocol (EAP) to enable network access authentication | |
| between clients and access networks. PANA can carry any | between clients and access networks. PANA can carry any | |
| authentication method that can be specified as an EAP method, and can | authentication method that can be specified as an EAP method, and can | |
| be used on any link that can carry IP. PANA covers the | be used on any link that can carry IP. PANA covers the | |
| client-to-network access authentication part of an overall secure | client-to-network access authentication part of an overall secure | |
| network access framework, which additionally includes other protocols | network access framework, which additionally includes other protocols | |
| and mechanisms for service provisioning, access control as a result | and mechanisms for service provisioning, access control as a result | |
| of initial authentication, and accounting. | of initial authentication, and accounting. | |
| Table of Contents | Table of Contents | |
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 5 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 | |
| 1.1 Specification of Requirements . . . . . . . . . . . . . . 5 | 1.1 Specification of Requirements . . . . . . . . . . . . . . 5 | |
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . 6 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 6 | |
| 3. Protocol Overview . . . . . . . . . . . . . . . . . . . . 8 | 3. Protocol Overview . . . . . . . . . . . . . . . . . . . . . 8 | |
| 4. Protocol Details . . . . . . . . . . . . . . . . . . . . . 10 | 3.1 Illustration of a Complete Message Sequence . . . . . . . 9 | |
| 4.1 Common Processing Rules . . . . . . . . . . . . . . . . . 10 | 4. Protocol Details . . . . . . . . . . . . . . . . . . . . . . 11 | |
| 4.1.1 Payload Encoding . . . . . . . . . . . . . . . . . . . . . 10 | 4.1 Common Processing Rules . . . . . . . . . . . . . . . . . 11 | |
| 4.1.2 Transport Layer Protocol . . . . . . . . . . . . . . . . . 11 | 4.1.1 Payload Encoding . . . . . . . . . . . . . . . . . . . 11 | |
| 4.1.3 Fragmentation . . . . . . . . . . . . . . . . . . . . . . 11 | 4.1.2 Transport Layer Protocol . . . . . . . . . . . . . . . 12 | |
| 4.1.4 Sequence Number and Retransmission . . . . . . . . . . . . 11 | 4.1.3 Fragmentation . . . . . . . . . . . . . . . . . . . . 12 | |
| 4.1.5 PANA Security Association . . . . . . . . . . . . . . . . 12 | 4.1.4 Sequence Number and Retransmission . . . . . . . . . . 12 | |
| 4.1.6 Message Authentication Code . . . . . . . . . . . . . . . 14 | 4.1.5 PANA Security Association . . . . . . . . . . . . . . 13 | |
| 4.1.7 Message Validity Check . . . . . . . . . . . . . . . . . . 14 | 4.1.6 Message Authentication Code . . . . . . . . . . . . . 15 | |
| 4.1.8 Error Handling . . . . . . . . . . . . . . . . . . . . . . 15 | 4.1.7 Message Validity Check . . . . . . . . . . . . . . . . 15 | |
| 4.2 Discovery and Initial Handshake Phase . . . . . . . . . . 16 | 4.1.8 Error Handling . . . . . . . . . . . . . . . . . . . . 17 | |
| 4.3 Authentication Phase . . . . . . . . . . . . . . . . . . . 19 | 4.2 Discovery and Initial Handshake Phase . . . . . . . . . . 17 | |
| 4.4 Re-authentication . . . . . . . . . . . . . . . . . . . . 22 | 4.2.1 Discovery and Initial Handshake with NAP-ISP | |
| 4.5 Termination Phase . . . . . . . . . . . . . . . . . . . . 23 | Authentication Separation . . . . . . . . . . . . . . 20 | |
| 4.6 Illustration of a Complete Message Sequence . . . . . . . 24 | 4.3 Authentication Phase . . . . . . . . . . . . . . . . . . . 21 | |
| 4.7 Device ID Choice . . . . . . . . . . . . . . . . . . . . . 27 | 4.4 Re-authentication . . . . . . . . . . . . . . . . . . . . 24 | |
| 4.8 Session Lifetime . . . . . . . . . . . . . . . . . . . . . 27 | 4.5 Termination Phase . . . . . . . . . . . . . . . . . . . . 26 | |
| 4.9 Mobility Handling . . . . . . . . . . . . . . . . . . . . 28 | 4.6 Example Sequence for NAP and ISP Separate | |
| 4.10 Support for Separate EP . . . . . . . . . . . . . . . . . 30 | Authentications . . . . . . . . . . . . . . . . . . . . . 26 | |
| 5. PANA Security Association Establishment . . . . . . . . . 31 | 4.7 Responding to Duplicate Requests . . . . . . . . . . . . . 28 | |
| 6. Message Formats . . . . . . . . . . . . . . . . . . . . . 32 | 4.8 Device ID Choice . . . . . . . . . . . . . . . . . . . . . 29 | |
| 6.1 IP and UDP Headers . . . . . . . . . . . . . . . . . . . . 32 | 4.9 Updating PaC' Address . . . . . . . . . . . . . . . . . . 29 | |
| 6.2 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 32 | 4.10 Session Lifetime . . . . . . . . . . . . . . . . . . . . 30 | |
| 6.3 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 34 | 4.11 Retransmission of Duplicate Answers . . . . . . . . . . 31 | |
| 6.4 PANA Messages . . . . . . . . . . . . . . . . . . . . . . 36 | 4.12 Mobility Handling . . . . . . . . . . . . . . . . . . . 31 | |
| 6.4.1 Message Specifications . . . . . . . . . . . . . . . . . . 36 | 4.13 Support for Separate EP . . . . . . . . . . . . . . . . 33 | |
| 6.4.2 PANA-PAA-Discover (PDI) . . . . . . . . . . . . . . . . . 37 | 5. PANA Security Association Establishment . . . . . . . . . . 34 | |
| 6.4.3 PANA-Start-Request (PSR) . . . . . . . . . . . . . . . . . 37 | 6. Message Formats . . . . . . . . . . . . . . . . . . . . . . 35 | |
| 6.4.4 PANA-Start-Answer (PSA) . . . . . . . . . . . . . . . . . 37 | 6.1 IP and UDP Headers . . . . . . . . . . . . . . . . . . . . 35 | |
| 6.4.5 PANA-Auth-Request (PAR) . . . . . . . . . . . . . . . . . 38 | 6.2 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 35 | |
| 6.4.6 PANA-Auth-Answer (PAN) . . . . . . . . . . . . . . . . . . 38 | 6.3 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 37 | |
| 6.4.7 PANA-Bind-Request (PBR) . . . . . . . . . . . . . . . . . 38 | 6.4 PANA Messages . . . . . . . . . . . . . . . . . . . . . . 39 | |
| 6.4.8 PANA-Bind-Answer (PBA) . . . . . . . . . . . . . . . . . . 38 | 6.4.1 Message Specifications . . . . . . . . . . . . . . . . 39 | |
| 6.4.9 PANA-Reauth-Request (PRAR) . . . . . . . . . . . . . . . . 39 | 6.4.2 PANA-PAA-Discover (PDI) . . . . . . . . . . . . . . . 40 | |
| 6.4.10 PANA-Reauth-Answer (PRAA) . . . . . . . . . . . . . . . . 39 | 6.4.3 PANA-Start-Request (PSR) . . . . . . . . . . . . . . . 40 | |
| 6.4.11 PANA-Termination-Request (PTR) . . . . . . . . . . . . . . 39 | 6.4.4 PANA-Start-Answer (PSA) . . . . . . . . . . . . . . . 40 | |
| 6.4.12 PANA-Termination-Answer (PTA) . . . . . . . . . . . . . . 39 | 6.4.5 PANA-Auth-Request (PAR) . . . . . . . . . . . . . . . 41 | |
| 6.4.13 PANA-Error (PER) . . . . . . . . . . . . . . . . . . . . . 40 | 6.4.6 PANA-Auth-Answer (PAN) . . . . . . . . . . . . . . . . 41 | |
| 6.4.14 PANA-FirstAuth-End-Request (PFER) . . . . . . . . . . . . 40 | 6.4.7 PANA-Bind-Request (PBR) . . . . . . . . . . . . . . . 41 | |
| 6.4.15 PANA-FirstAuth-End-Answer (PFEA) . . . . . . . . . . . . . 40 | 6.4.8 PANA-Bind-Answer (PBA) . . . . . . . . . . . . . . . . 42 | |
| 6.5 AVPs in PANA . . . . . . . . . . . . . . . . . . . . . . . 40 | 6.4.9 PANA-Reauth-Request (PRAR) . . . . . . . . . . . . . . 42 | |
| 6.5.1 MAC AVP . . . . . . . . . . . . . . . . . . . . . . . . . 41 | 6.4.10 PANA-Reauth-Answer (PRAA) . . . . . . . . . . . . . 42 | |
| 6.5.2 Device-Id AVP . . . . . . . . . . . . . . . . . . . . . . 41 | 6.4.11 PANA-Termination-Request (PTR) . . . . . . . . . . . 42 | |
| 6.5.3 Session-Id AVP . . . . . . . . . . . . . . . . . . . . . . 41 | 6.4.12 PANA-Termination-Answer (PTA) . . . . . . . . . . . 43 | |
| 6.5.4 Cookie AVP . . . . . . . . . . . . . . . . . . . . . . . . 42 | 6.4.13 PANA-Error (PER) . . . . . . . . . . . . . . . . . . 43 | |
| 6.5.5 Protection-Capability AVP . . . . . . . . . . . . . . . . 42 | 6.4.14 PANA-FirstAuth-End-Request (PFER) . . . . . . . . . 43 | |
| 6.5.6 Termination-Cause AVP . . . . . . . . . . . . . . . . . . 42 | 6.4.15 PANA-FirstAuth-End-Answer (PFEA) . . . . . . . . . . 43 | |
| 6.5.7 Result-Code AVP . . . . . . . . . . . . . . . . . . . . . 42 | 6.4.16 PANA-Update-Request (PUR) . . . . . . . . . . . . . 44 | |
| 6.5.8 EAP-Payload AVP . . . . . . . . . . . . . . . . . . . . . 46 | 6.4.17 PANA-Update-Answer (PUA) . . . . . . . . . . . . . . 44 | |
| 6.5.9 Session-Lifetime AVP . . . . . . . . . . . . . . . . . . . 46 | 6.5 AVPs in PANA . . . . . . . . . . . . . . . . . . . . . . . 44 | |
| 6.5.10 Failed-AVP AVP . . . . . . . . . . . . . . . . . . . . . . 46 | 6.5.1 MAC AVP . . . . . . . . . . . . . . . . . . . . . . . 44 | |
| 6.5.11 NAP-Information AVP . . . . . . . . . . . . . . . . . . . 46 | 6.5.2 Device-Id AVP . . . . . . . . . . . . . . . . . . . . 45 | |
| 6.5.12 ISP-Information AVP . . . . . . . . . . . . . . . . . . . 47 | 6.5.3 Session-Id AVP . . . . . . . . . . . . . . . . . . . . 45 | |
| 6.5.13 Provider-Identifier AVP . . . . . . . . . . . . . . . . . 47 | 6.5.4 Cookie AVP . . . . . . . . . . . . . . . . . . . . . . 45 | |
| 6.5.14 Provider-Name AVP . . . . . . . . . . . . . . . . . . . . 47 | 6.5.5 Protection-Capability AVP . . . . . . . . . . . . . . 45 | |
| 6.5.15 EP-Device-Id AVP . . . . . . . . . . . . . . . . . . . . . 47 | 6.5.6 Termination-Cause AVP . . . . . . . . . . . . . . . . 45 | |
| 6.5.16 Key-Id AVP . . . . . . . . . . . . . . . . . . . . . . . . 47 | 6.5.7 Result-Code AVP . . . . . . . . . . . . . . . . . . . 46 | |
| 6.5.17 Post-PANA-Address-Configuration (PPAC) AVP . . . . . . . . 47 | 6.5.8 EAP-Payload AVP . . . . . . . . . . . . . . . . . . . 50 | |
| 6.5.18 Nonce AVP . . . . . . . . . . . . . . . . . . . . . . . . 48 | 6.5.9 Session-Lifetime AVP . . . . . . . . . . . . . . . . . 50 | |
| 6.6 AVP Occurrence Table . . . . . . . . . . . . . . . . . . . 49 | 6.5.10 Failed-AVP AVP . . . . . . . . . . . . . . . . . . . 50 | |
| 7. PANA Protocol Message Retransmissions . . . . . . . . . . 51 | 6.5.11 NAP-Information AVP . . . . . . . . . . . . . . . . 50 | |
| 7.1 Transmission and Retransmission Parameters . . . . . . . . 53 | 6.5.12 ISP-Information AVP . . . . . . . . . . . . . . . . 50 | |
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . 54 | 6.5.13 Provider-Identifier AVP . . . . . . . . . . . . . . 50 | |
| 8.1 PANA UDP Port Number . . . . . . . . . . . . . . . . . . . 54 | 6.5.14 Provider-Name AVP . . . . . . . . . . . . . . . . . 51 | |
| 8.2 PANA Multicast Address . . . . . . . . . . . . . . . . . . 54 | 6.5.15 EP-Device-Id AVP . . . . . . . . . . . . . . . . . . 51 | |
| 8.3 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 54 | 6.5.16 Key-Id AVP . . . . . . . . . . . . . . . . . . . . . 51 | |
| 8.3.1 Message Type . . . . . . . . . . . . . . . . . . . . . . . 54 | 6.5.17 Post-PANA-Address-Configuration (PPAC) AVP . . . . . 51 | |
| 8.3.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . . . 54 | 6.5.18 Nonce AVP . . . . . . . . . . . . . . . . . . . . . 52 | |
| 8.4 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 54 | 6.5.19 IP-Address AVP . . . . . . . . . . . . . . . . . . . 52 | |
| 8.4.1 AVP Code . . . . . . . . . . . . . . . . . . . . . . . . . 54 | 6.6 AVP Occurrence Table . . . . . . . . . . . . . . . . . . . 52 | |
| 8.4.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . . . 55 | 7. PANA Protocol Message Retransmissions . . . . . . . . . . . 56 | |
| 8.4.3 Vendor Id . . . . . . . . . . . . . . . . . . . . . . . . 55 | 7.1 Transmission and Retransmission Parameters . . . . . . . . 58 | |
| 8.5 AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 55 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . 59 | |
| 8.5.1 MAC AVP Values . . . . . . . . . . . . . . . . . . . . . . 55 | 8.1 PANA UDP Port Number . . . . . . . . . . . . . . . . . . . 59 | |
| 8.5.2 Device-Id AVP Values . . . . . . . . . . . . . . . . . . . 55 | 8.2 PANA Multicast Address . . . . . . . . . . . . . . . . . . 59 | |
| 8.5.3 Protection-Capability AVP Values . . . . . . . . . . . . . 55 | 8.3 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 59 | |
| 8.5.4 Result-Code AVP Values . . . . . . . . . . . . . . . . . . 55 | 8.3.1 Message Type . . . . . . . . . . . . . . . . . . . . . 59 | |
| 8.5.5 Termination-Cause AVP Values . . . . . . . . . . . . . . . 55 | 8.3.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . 60 | |
| 8.5.6 Provider-Identifier AVP Values . . . . . . . . . . . . . . 55 | 8.4 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 60 | |
| 8.5.7 Post-PANA-Address-Configuration AVP Values . . . . . . . . 55 | 8.4.1 AVP Code . . . . . . . . . . . . . . . . . . . . . . . 60 | |
| 9. Security Considerations . . . . . . . . . . . . . . . . . 56 | 8.4.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . 61 | |
| 10. Open Issues and Change History . . . . . . . . . . . . . . 62 | 8.5 AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 61 | |
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . 63 | 8.5.1 Algorithm Values of MAC AVP . . . . . . . . . . . . . 61 | |
| Normative References . . . . . . . . . . . . . . . . . . . 64 | 8.5.2 Protection-Capability AVP Values . . . . . . . . . . . 61 | |
| Informative References . . . . . . . . . . . . . . . . . . 66 | 8.5.3 Termination-Cause AVP Values . . . . . . . . . . . . . 61 | |
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . 69 | 8.5.4 Result-Code AVP Values . . . . . . . . . . . . . . . . 61 | |
| Intellectual Property and Copyright Statements . . . . . . 71 | 8.5.5 Post-PANA-Address-Configuration AVP Values . . . . . . 62 | |
| 9. Security Considerations . . . . . . . . . . . . . . . . . . 63 | ||
| 10. Open Issues and Change History . . . . . . . . . . . . . . . 69 | ||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 70 | ||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 71 | ||
| 12.1 Normative References . . . . . . . . . . . . . . . . . . . 71 | ||
| 12.2 Informative References . . . . . . . . . . . . . . . . . . 72 | ||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 75 | ||
| Intellectual Property and Copyright Statements . . . . . . . 77 | ||
| 1. Introduction | 1. Introduction | |
| Providing secure network access service requires access control based | Providing secure network access service requires access control based | |
| on the authentication and authorization of the clients and the access | on the authentication and authorization of the clients and the access | |
| networks. Initial and subsequent client-to-network authentication | networks. Initial and subsequent client-to-network authentication | |
| provides parameters that are needed to police the traffic flow | provides parameters that are needed to police the traffic flow | |
| through the enforcement points. A protocol is needed to carry | through the enforcement points. A protocol is needed to carry | |
| authentication methods between the client and the access network. | authentication methods between the client and the access network. | |
| Currently there is no standard network-layer solution for | Currently there is no standard network-layer solution for | |
| authenticating clients for network access. | authenticating clients for network access. Appendix A of | |
| [I-D.ietf-pana-usage-scenarios] describes the problem statement that | [I-D.ietf-pana-requirements] describes the problem statement that led | |
| led to the development of PANA. | to the development of PANA. | |
| Scope of this work is identified as designing a link-layer agnostic | Scope of this work is identified as designing a link-layer agnostic | |
| transport for network access authentication methods. The Extensible | transport for network access authentication methods. The Extensible | |
| Authentication Protocol (EAP) [I-D.ietf-eap-rfc2284bis] provides such | Authentication Protocol (EAP) [RFC3748] provides such authentication | |
| authentication methods. In other words, PANA will carry EAP which | methods. In other words, PANA will carry EAP which can carry various | |
| can carry various authentication methods. By the virtue of enabling | authentication methods. By the virtue of enabling transport of EAP | |
| transport of EAP above IP, any authentication method that can be | above IP, any authentication method that can be carried as an EAP | |
| carried as an EAP method is made available to PANA and hence to any | method is made available to PANA and hence to any link-layer | |
| link-layer technology. There is a clear division of labor between | technology. There is a clear division of labor between PANA, EAP and | |
| PANA, EAP and EAP methods. | EAP methods. | |
| Various environments and usage models for PANA are identified in the | Various environments and usage models for PANA are identified in | |
| [I-D.ietf-pana-usage-scenarios] Internet-Draft. Potential security | Appendix A of [I-D.ietf-pana-requirements]. Potential security | |
| threats for network-layer access authentication protocol are | threats for network-layer access authentication protocol are | |
| discussed in [I-D.ietf-pana-threats-eval] draft. These two drafts | discussed in [I-D.ietf-pana-threats-eval]. These have been essential | |
| have been essential in defining the requirements | in defining the requirements [I-D.ietf-pana-requirements] on the PANA | |
| [I-D.ietf-pana-requirements] on the PANA protocol. Note that some of | protocol. Note that some of these requirements are imposed by the | |
| these requirements are imposed by the chosen payload, EAP | chosen payload, EAP [RFC3748]. | |
| [I-D.ietf-eap-rfc2284bis]. | ||
| There are components that are part of a complete secure network | There are components that are part of a complete secure network | |
| solution but are outside of the PANA protocol specification, | solution but are outside of the PANA protocol specification, | |
| including IP address configuration, authentication method choice, | including IP address configuration, authentication method choice, | |
| filter rule installation, data traffic protection and PAA-EP | filter rule installation, data traffic protection and PAA-EP | |
| protocol. These components are described in separate documents | protocol. These components are described in separate documents (see | |
| [I-D.ietf-pana-framework][I-D.ietf-pana-snmp]. | [I-D.ietf-pana-framework] and [I-D.ietf-pana-snmp]). | |
| 1.1 Specification of Requirements | 1.1 Specification of Requirements | |
| In this document, several words are used to signify the requirements | In this document, several words are used to signify the requirements | |
| of the specification. These words are often capitalized. The key | of the specification. These words are often capitalized. The key | |
| words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", | |
| "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document | "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document | |
| are to be interpreted as described in [RFC2119]. | are to be interpreted as described in [RFC2119]. | |
| 2. Terminology | 2. Terminology | |
| This section describes some terms introduced in this document: | This section describes some terms introduced in this document: | |
| PANA Session: | PANA Session: | |
| PANA session is defined as the exchange of messages between the | A PANA session begins with the initial handshake between the PANA | |
| PANA Client (PaC) and the PANA Authentication Agent (PAA) to | Client (PaC) and the PANA Authentication Agent (PAA), and | |
| authenticate a user (PaC) for network access. If the | terminates by an authentication failure, a timeout, or an explicit | |
| authentication is unsuccessful, the session is terminated. The | termination message. A fixed session identifier is maintained | |
| session is considered as active until there is a disconnect | throughout a session. A session cannot be shared across multiple | |
| indication by the PaC or the PAA terminates it. A distinct PANA | physical network interfaces. A distinct PANA session is | |
| session is associated with a pair of device identifiers of PaC and | associated with the device identifiers of PaC and PAA. | |
| PAA. For example, if the PaC has two interfaces connected to the | ||
| same IP link with different IP addresses and IP address is used as | ||
| a device identifier, a distinct PANA session will be created per | ||
| interface if both interfaces addresses need to be authorized for | ||
| network access. | ||
| Session Identifier: | Session Identifier: | |
| This identifier is used to uniquely identify a PANA session on the | This identifier is used to uniquely identify a PANA session on the | |
| PAA and PaC. It is included in PANA messages to bind the message | PAA and PaC. It includes an identifier of the PAA, therefore it | |
| to a specific PANA session. | cannot be shared across multiple PAAs. It is included in PANA | |
| messages to bind the message to a specific PANA session. This | ||
| bidirectional identifier is allocated by the PAA following the | ||
| initial handshake and freed when the session terminates. | ||
| PANA Security Association: | PANA Security Association: | |
| A PANA security association is a relationship between the PaC and | A PANA security association is a relationship between the PaC and | |
| PAA, formed by the sharing of cryptographic keying material and | PAA, formed by the sharing of cryptographic keying material and | |
| associated context. Security associations are duplex. That is, | associated context. Security associations are duplex. That is, | |
| one security association is needed to protect the bidirectional | one security association is needed to protect the bidirectional | |
| traffic between the PaC and the PAA. | traffic between the PaC and the PAA. | |
| PANA Client (PaC): | PANA Client (PaC): | |
| Skipping to change at page 7, line 7: | ||
| Device Identifier (DI): | Device Identifier (DI): | |
| The identifier used by the network as a handle to control and | The identifier used by the network as a handle to control and | |
| police the network access of a client. Depending on the access | police the network access of a client. Depending on the access | |
| technology, this identifier might contain any of IP address, | technology, this identifier might contain any of IP address, | |
| link-layer address, switch port number, etc. of a connected | link-layer address, switch port number, etc. of a connected | |
| device. | device. | |
| PANA Authentication Agent (PAA): | PANA Authentication Agent (PAA): | |
| The access network side entity of the protocol whose | The protocol entity in the access network side whose | |
| responsibility is to verify the credentials provided by a PANA | responsibility is to verify the credentials provided by a PANA | |
| client and grant network access service to the device associated | client and grant network access service to the device associated | |
| with the client and identified by a DI. | with the client and identified by a DI. Note the authentication | |
| and authorization procedure can, according to the EAP model, be | ||
| also offloaded to the backend AAA infrastructure. | ||
| Enforcement Point (EP): | Enforcement Point (EP): | |
| A node on the access network where per-packet enforcement policies | A node on the access network where per-packet enforcement policies | |
| (i.e., filters) are applied on the inbound and outbound traffic of | (i.e., filters) are applied on the inbound and outbound traffic of | |
| client devices. Information such as DI and (optionally) | client devices. Information such as the DI and (optionally) | |
| cryptographic keys are provided by PAA per client for constructing | cryptographic keys are provided by the PAA per client for | |
| filters on the EP. | constructing filters on the EP. | |
| Network Access Provider (NAP): | Network Access Provider (NAP): | |
| A service provider that provides physical and link-layer | A service provider that provides physical and link-layer | |
| connectivity to an access network it manages. | connectivity to an access network it manages. | |
| AAA-Key: | AAA-Key: | |
| A key derived by the EAP peer and EAP server and transported to | A key derived by the EAP peer and EAP server and transported to | |
| the authenticator [I-D.ietf-eap-keying]. | the authenticator [I-D.ietf-eap-keying]. | |
| 3. Protocol Overview | 3. Protocol Overview | |
| The PANA protocol involves two functional entities namely the PaC and | The PANA protocol involves two functional entities namely the PaC and | |
| the PAA. The protocol resides above the transport layer and the | the PAA. The protocol resides above the transport layer and the | |
| details are explained in Section 4. | details are explained in Section 4. | |
| The placement of the entities used in PANA largely depends on a | The placement of the entities used in PANA largely depends on a | |
| certain architecture. The PAA may optionally interact with a AAA | selected architecture. The PAA may optionally interact with a AAA | |
| backend to authenticate the user (PaC). The EP, mentioned in the | backend to authenticate the user (PaC). The EP, mentioned in the | |
| context with PANA, is a logical entity. There is, however, the option | context with PANA, is a logical entity. In case that the PAA and the | |
| that the EP is not physically co-located with the PAA. In case that | EP are co-located only an API is required for intercommunication | |
| the PAA and the EP are co-located only an API is required for | instead of a separate protocol. In the case where the PAA is | |
| intercommunication instead of a separate protocol. In the case where | separated from the EP, a separate protocol will be used between the | |
| the PAA is separated from the EP, a separate protocol will be used | PAA and the EP for managing access control. A description of this | |
| between the PAA and the EP for managing access control. The protocol | protocol is outside the scope of this draft and is covered in | |
| and messaging between the PAA and EP for access authorization is | [I-D.ietf-pana-snmp]. | |
| outside the scope of this draft and will be dealt separately. Figure | ||
| 1 illustrates the interactions in a simplified manner: | Figure 1 illustrates the interactions in a simplified manner: | |
| PaC EP PAA AAA | PaC EP PAA AAA | |
| --- --- --- --- | --- --- --- --- | |
| PAA Discovery | PAA Discovery | |
| <---------------------o------------> (1) | <---------------------o------------> (1) | |
| PANA Authentication AAA interaction | PANA Authentication AAA interaction | |
| <----------------------------------><------------> (2) | <----------------------------------><------------> (2) | |
| Authorization | Authorization | |
| <------------- (3) | <------------- (3) | |
| Figure 1: PANA Framework | Figure 1: PANA Framework | |
| PANA supports authentication of a PaC using various EAP methods. The | PANA supports authentication of a PaC using various EAP methods. The | |
| EAP method used depends on the level of security required for the EAP | EAP method used depends on the level of security required for the EAP | |
| messaging itself. PANA does not secure the data traffic itself. | messaging itself. PANA does not secure the data traffic itself. | |
| However, EAP methods that enable key exchange may allow other | However, EAP methods that enable key exchange may allow other | |
| protocols to be bootstrapped for securing the data traffic | protocols to be bootstrapped for securing the data traffic (e.g., | |
| [I-D.ietf-pana-ipsec]. | [I-D.ietf-pana-ipsec]). | |
| From a state machine aspect, PANA protocol consists of three phases | From a state machine point of view, the PANA protocol consists of | |
| three phases | ||
| 1. Discovery and initial handshake phase | 1. Discovery and initial handshake phase | |
| 2. Authentication phase | 2. Authentication phase | |
| 3. Termination phase | 3. Termination phase | |
| In the first phase, an IP address of PAA is discovered and a PANA | In the first phase, an IP address of PAA is discovered and a PANA | |
| session is established between PaC and PAA. EAP messages are | session is established between PaC and PAA. EAP messages are | |
| exchanged and a PANA SA is established in the second phase. The | exchanged and a PANA SA is established in the second phase. The PANA | |
| established PANA session as well as a PANA SA is deleted in the third | session as well as the PANA SA is deleted in the third phase. | |
| phase. | ||
| In addition, PANA defines the following two types of | ||
| re-authentication procedures that are performed while an established | ||
| PANA session exists. | ||
| 1. Re-authentication based on EAP | ||
| 2. Re-authentication based on PANA-Reauth exchange | ||
| The former type of re-authentication is used mainly for extending | ||
| authorization lifetime or for updating the cryptographic keying | ||
| material of a PANA SA. The latter type of re-authentication is used | ||
| mainly for maintaining the presence of the communicating peers each | ||
| other so that the established PANA session can be terminated as soon | ||
| as the presence of the peer is lost. | ||
| 3.1 Illustration of a Complete Message Sequence | ||
| A complete PANA message sequence is illustrated in Figure 2. The | ||
| example assumes the following scenario: | ||
| o The PaC initiates the discovery and initial handshake phase by | ||
| multicasting a PANA-PAA-Discover message. The PAA responds with a | ||
| PANA-Start-Request message with a cookie to be stateless in the | ||
| discovery and initial handshake phase. At the end of the the | ||
| discovery and initial handshake phase, the PaC sends a | ||
| PANA-Start-Answer message with a cookie in response to the | ||
| PANA-Start-Request. | ||
| o An EAP authentication method with a single round trip is used in | ||
| the authentication phase. A AAA-Key is derived from the EAP | ||
| method and used for establishing a PANA SA. | ||
| o At the end of the authentication phase, the PAA sends a | ||
| PANA-Bind-Request message and the PaC responds with a | ||
| PANA-Bind-Answer message. These messages contains a MAC AVP and a | ||
| Key-Id AVP, as well as other AVPs for which usages are explained | ||
| in Section 4, to securely establish a PANA session with a PANA SA. | ||
| o After the PANA SA is established, all messages are integrity and | ||
| replay protected with MAC AVPs. | ||
| o Re-authentication based on the PANA-Reauth-Request/ PANA-Reauth | ||
| exchange is performed. | ||
| o The PaC initiates termination of the PANA session by sending a | ||
| PANA-Termination-Request message. | ||
| o Sequence numbers in PANA headers are not shown. | ||
| PaC PAA Message[AVPs] | ||
| ----------------------------------------------------- | ||
| // Discovery and initial handshake phase | ||
| -----> PANA-PAA-Discover | ||
| <----- PANA-Start-Request[Nonce, Cookie] | ||
| -----> PANA-Start-Request-Answer[Nonce, Cookie] | ||
| // Authentication phase | ||
| <----- PANA-Auth-Request[Session-Id, EAP] | ||
| -----> PANA-Auth-Answer[Session-Id, EAP] | ||
| <----- PANA-Auth-Request[Session-Id, EAP] | ||
| -----> PANA-Auth-Answer[Session-Id, EAP] | ||
| <----- PANA-Bind-Request[Session-Id, EAP{Success}, | ||
| Device-Id, Lifetime, Protection-Cap., Key-Id, MAC] | ||
| -----> PANA-Bind-Answer[Session-Id, Device-Id, Key-Id, MAC] | ||
| // Re-authentication based on PANA-Reauth exchange | ||
| <----- PANA-Reauth-Request[Session-Id, MAC] | ||
| -----> PANA-Reauth-Answer[Session-Id, MAC] | ||
| // Termination phase | ||
| -----> PANA-Termination-Request[Session-Id, MAC] | ||
| <----- PANA-Termination-Answer[Session-Id, MAC] | ||
| Figure 2: A Complete Message Sequence | ||
| 4. Protocol Details | 4. Protocol Details | |
| 4.1 Common Processing Rules | 4.1 Common Processing Rules | |
| 4.1.1 Payload Encoding | 4.1.1 Payload Encoding | |
| The payload of any PANA message consists of zero or more AVPs | The payload of any PANA message consists of zero or more AVPs | |
| (Attribute Value Pairs). A brief description of the AVPs defined in | (Attribute Value Pairs). A brief description of the AVPs defined in | |
| this document is listed below: | this document is listed below: | |
| Skipping to change at page 11, line 8: | ||
| on a NAP and an ISP, respectively. | on a NAP and an ISP, respectively. | |
| o Key-Id AVP: contains a AAA-Key identifier. | o Key-Id AVP: contains a AAA-Key identifier. | |
| o PPAC AVP: Post-PANA-Address-Configuration AVP. Conveys the list | o PPAC AVP: Post-PANA-Address-Configuration AVP. Conveys the list | |
| of IP address configuration methods available when sent by the | of IP address configuration methods available when sent by the | |
| PAA, and the chosen method when sent by the PaC. | PAA, and the chosen method when sent by the PaC. | |
| o Nonce AVP: contains a randomly chosen value. | o Nonce AVP: contains a randomly chosen value. | |
| o IP-Address AVP: contains an IP Address of a PaC. | ||
| 4.1.2 Transport Layer Protocol | 4.1.2 Transport Layer Protocol | |
| PANA uses UDP as its transport layer protocol. The UDP port number | PANA uses UDP as its transport layer protocol. The UDP port number | |
| is TBD. All messages except for PANA-PAA-Discover are always | is TBD. All messages except for PANA-PAA-Discover are always | |
| unicast. PANA-PAA-Discover MAY be unicasted when the PaC knows the | unicast. PANA-PAA-Discover MAY be unicasted when the PaC knows the | |
| IP address of the PAA. | IP address of the PAA. | |
| 4.1.3 Fragmentation | 4.1.3 Fragmentation | |
| PANA does not provide fragmentation of PANA messages. Instead, it | PANA does not provide fragmentation of PANA messages. Instead, it | |
| relies on fragmentation provided by EAP methods and IP layer when | relies on fragmentation provided by EAP methods and IP layer when | |
| needed. | needed. | |
| 4.1.4 Sequence Number and Retransmission | 4.1.4 Sequence Number and Retransmission | |
| PANA uses sequence numbers to provide ordered delivery of EAP | PANA uses sequence numbers to provide ordered delivery of EAP | |
| messages. The design involves use of two sequence numbers to prevent | messages. The design involves use of two sequence numbers to prevent | |
| some of the DoS attacks on the sequencing scheme. Every PANA packet | some of the DoS attacks on the sequencing scheme. Every PANA packet | |
| include one transmitted sequence number (tseq) and one received | includes one transmitted sequence number (tseq) and one received | |
| sequence number (rseq) in the PANA header. See [1] for detailed | sequence number (rseq) in the PANA header. See [1] for detailed | |
| explanation on why two sequence numbers are needed. | explanation on why two sequence numbers are needed. | |
| The two sequence number fields have the same length of 32 bits and | The two sequence number fields have the same length of 32 bits and | |
| appear in PANA header. tseq starts from initial sequence number | appear in PANA header. The transmission sequence number starts from | |
| (ISN) and is monotonically increased by 1. The serial number | initial sequence number (ISN) and is monotonically increased by 1. | |
| arithmetic defined in [RFC1982] is used for sequence number | This rule applies to all PANA messages but PANA-PAA-Discover. The | |
| operation. The ISNs are exchanged between PaC and PAA during the | serial number arithmetic defined in [RFC1982] is used for sequence | |
| discovery and initial handshake phase (see Section 4.2). The rules | number operation. The ISNs are exchanged between PaC and PAA during | |
| that govern the sequence numbers in other phases are described as | the discovery and initial handshake phase (see Section 4.2). The | |
| follows. | rules that govern the sequence numbers in other phases are described | |
| as follows. | ||
| o When a message is sent, a new sequence number is placed on the | o When a message is sent, a new sequence number is placed on the | |
| tseq field of message regardless of whether it is sent as a result | tseq field of message regardless of whether it is sent as a result | |
| of retransmission or not. When a message is sent, rseq is copied | of retransmission or not. When a message is sent, rseq is copied | |
| from the tseq field of the last accepted message. | from the tseq field of the last accepted message. | |
| o When a message is received, it is considered valid in terms of | o When a message is received, it is considered valid in terms of | |
| sequence numbers if and only if (i) its tseq is greater than the | sequence numbers if and only if (i) its tseq is greater than the | |
| tseq of the last accepted message and (ii) its rseq falls in the | tseq of the last accepted message and (ii) its rseq falls in the | |
| range between the tseq of the last acknowledged message + 1 and | range between the tseq of the last acknowledged message and the | |
| the tseq of the last transmitted message. | tseq of the last transmitted message. | |
| PANA relies on EAP-layer retransmissions, or for example NAS | PANA relies on EAP-layer retransmissions, or for example NAS | |
| functionality [I-D.ietf-aaa-eap], for retransmitting EAP Requests | functionality [I-D.ietf-aaa-eap], for retransmitting EAP Requests | |
| based on timer. Other PANA layer messages that require a response | based on timer. Other PANA layer messages that require a response | |
| from the communicating peer are retransmitted based on timer at | from the communicating peer are retransmitted based on timer at | |
| PANA-layer until a response is received (in which case the | PANA-layer until a response is received (in which case the | |
| retransmission timer is stopped) or the number of retransmission | retransmission timer is stopped) or the number of retransmission | |
| reaches the maximum value (in which case the PANA session MUST be | reaches the maximum value (in which case the PANA session MUST be | |
| deleted immediately). For PANA-layer retransmission, the | deleted immediately). For PANA-layer retransmission, the | |
| retransmission timer SHOULD be calculated as described in [RFC2988] | retransmission timer SHOULD be calculated as described in [RFC2988] | |
| Skipping to change at page 12, line 39: | ||
| PANA-FirstAuth-End-Request and PANA-FirstAuth-End-Answer messages at | PANA-FirstAuth-End-Request and PANA-FirstAuth-End-Answer messages at | |
| the end of the EAP authentication which resulted in deriving a new | the end of the EAP authentication which resulted in deriving a new | |
| AAA-Key. The Key-Id AVP is of type Unsigned32 and MUST contain a | AAA-Key. The Key-Id AVP is of type Unsigned32 and MUST contain a | |
| value that uniquely identifies the AAA-Key within the PANA session. | value that uniquely identifies the AAA-Key within the PANA session. | |
| The PANA-Bind-Answer message (or the PANA-FirstAuth-End-Answer | The PANA-Bind-Answer message (or the PANA-FirstAuth-End-Answer | |
| message) sent in response to a PANA-Bind-Request message (or a | message) sent in response to a PANA-Bind-Request message (or a | |
| PANA-FirstAuth-End-Request message) with a Key-Id AVP MUST contain a | PANA-FirstAuth-End-Request message) with a Key-Id AVP MUST contain a | |
| Key-Id AVP with the same AAA-Key identifier carried in the request. | Key-Id AVP with the same AAA-Key identifier carried in the request. | |
| PANA-Bind-Request, PANA-Bind-Answer, PANA-FirstAuth-End-Request and | PANA-Bind-Request, PANA-Bind-Answer, PANA-FirstAuth-End-Request and | |
| PANA-FirstAuth-End-Answer messages with a Key-Id AVP MUST also carry | PANA-FirstAuth-End-Answer messages with a Key-Id AVP MUST also carry | |
| a MAC AVP whose value is computed by using the new PANA-MAC-Key | a MAC AVP whose value is computed by using the new PANA-MAC-KEY | |
| derived from the new AAA-Key (or the new pair of AAA-Keys when the | derived from the new AAA-Key (or the new pair of AAA-Keys when the | |
| PANA_MAC_KEY is derived from two AAA-Keys). Although the | PANA_MAC_KEY is derived from two AAA-Keys). Although the | |
| specification does not mandate a particular method for calculation of | specification does not mandate a particular method for calculation of | |
| Key-Id AVP value, a simple method is to use monotonically increasing | Key-Id AVP value, a simple method is to use monotonically increasing | |
| numbers." | numbers. | |
| The created PANA SA is deleted when the corresponding PANA session is | The created PANA SA is deleted when the corresponding PANA session is | |
| deleted. The lifetime of the PANA SA is the same as the lifetime of | deleted. The lifetime of the PANA SA is the same as the lifetime of | |
| the PANA session for simplicity. | the PANA session for simplicity. | |
| PANA SA attributes as well as PANA session attributes are listed | PANA SA attributes as well as PANA session attributes are listed | |
| below: | below: | |
| PANA Session attributes: | PANA Session attributes: | |
| * Session-Id | * Session-Id | |
| * Device-Id of PaC | * Device-Id of PaC | |
| * Device-Id of PAA | * Device-Id of PAA | |
| * List of device identifiers of EPs | * IP address of PaC (may be the same as the Device-Id of PaC) | |
| * Initial tseq of PaC (ISN_pac) | * IP address of PAA (may be the same as the Device-Id of PAA) | |
| * Initial tseq of PAA (ISN_paa) | * List of device identifiers of EPs | |
| * Last transmitted tseq value | * Last transmitted tseq value | |
| * Last received rseq value | * Last received rseq value | |
| * Last transmitted message payload | * Last transmitted message payload | |
| * Retransmission interval | * Retransmission interval | |
| * Session lifetime | * Session lifetime | |
| * Protection-Capability | * Protection-Capability | |
| * PANA SA attributes: | * PANA SA attributes: | |
| + AAA-Key | + Nonce generated by PaC (PaC_nonce) | |
| + AAA-Key Identifier | + Nonce generated by PAA (PAA_nonce) | |
| + PANA_MAC_Key | + AAA-Key | |
| The PANA_MAC_Key is used to integrity protect PANA messages. When | + AAA-Key Identifier | |
| the PANA_MAC_Key is derived from a single AAA-Key, it is computed in | ||
| the following way: | ||
| PANA_MAC_KEY = The first N bits of | + PANA_MAC_KEY | |
| HMAC_SHA1(AAA-Key, ISN_pac | ISN_paa | Session-ID) | ||
| where the value of N depends on the integrity protection algorithm in | The PANA_MAC_Key is used to integrity protect PANA messages and | |
| use, i.e., N=160 for HMAC-SHA1. | derived from AAA-Key(s). When two AAA-Keys (AAA-Key1 and AAA-Key2) | |
| are generated as a result of double EAP authentication (see Section | ||
| 4.3) the compound AAA-Key can be computed as follows ('|' indicates | ||
| concatenation): | ||
| When the PANA_MAC_Key is derived from two AAA-Keys, it is computed in | AAA-Key = AAA-Key1 | AAA-Key2 | |
| the following way: | The PANA_MAC_KEY is computed in the following way: | |
| PANA_MAC_KEY = The first N bits of | PANA_MAC_KEY = The first N bits of | |
| HMAC_SHA1(AAA-Key1 | AAA-Key2, ISN_pac | ISN_paa | | HMAC_SHA1(AAA-Key, PaC_nonce | PAA_nonce | Session-ID) | |
| Session-ID) | ||
| where AAA-Key1 and AAA-Key2 are AAA-Keys for the first and second EAP | ||
| authentication in a single PANA authentication phase, respectively. | ||
| The length of AAA-Key, AAA-Key1 and AAA-Key2 MUST be N bits or | where the value of N depends on the integrity protection algorithm in | |
| longer. See Section 4.1.6 for the detailed usage of the | use, i.e., N=160 for HMAC-SHA1. The length of AAA-Key MUST be N bits | |
| PANA_MAC_Key. | or longer. See Section Section 4.1.6 for the detailed usage of the | |
| PANA_MAC_KEY. | ||
| 4.1.6 Message Authentication Code | 4.1.6 Message Authentication Code | |
| A PANA message can contain a MAC (Message Authentication Code) AVP | A PANA message can contain a MAC (Message Authentication Code) AVP | |
| for cryptographically protecting the message. | for cryptographically protecting the message. | |
| When a MAC AVP is included in a PANA message, the value field of the | When a MAC AVP is included in a PANA message, the value field of the | |
| MAC AVP is calculated by using the PANA_MAC_Key in the following way: | MAC AVP is calculated by using the PANA_MAC_KEY in the following way: | |
| MAC AVP value = PANA_MAC_PRF(PANA_MAC_Key, PANA_PDU) | MAC AVP value = PANA_MAC_PRF(PANA_MAC_KEY, PANA_PDU) | |
| where PANA_PDU is the PANA message including the PANA header, with | where PANA_PDU is the PANA message including the PANA header, with | |
| the MAC AVP value field first initialized to 0. PANA_MAC_PRF | the MAC AVP value field first initialized to 0. PANA_MAC_PRF | |
| represents the pseudo random function corresponding to the MAC | represents the pseudo random function corresponding to the MAC | |
| algorithm specified in the MAC AVP. In this version of draft, | algorithm specified in the MAC AVP. In this version of draft, | |
| PANA_MAC_PRF is HMAC-SHA1. The PaC and PAA MUST use the same | PANA_MAC_PRF is HMAC-SHA1. The PaC and PAA MUST use the same | |
| algorithm to calculate a MAC AVP they originate and receive. The | algorithm to calculate a MAC AVP they originate and receive. The | |
| algorithm is determined by the PAA when a PANA-Bind-Request with a | algorithm is determined by the PAA when a PANA-Bind-Request with a | |
| MAC AVP is sent. When the PaC does not support the MAC algorithm | MAC AVP is sent. When the PaC does not support the MAC algorithm | |
| specified in the PANA-Bind-Request message, it MUST silently discard | specified in the PANA-Bind-Request message, it MUST silently discard | |
| Skipping to change at page 15, line 7: | ||
| o Each field in the message header contains a valid value including | o Each field in the message header contains a valid value including | |
| sequence number, message length, message type, version number, | sequence number, message length, message type, version number, | |
| flags, etc. | flags, etc. | |
| o When a device identifier of the communication peer is bound to the | o When a device identifier of the communication peer is bound to the | |
| PANA session, it matches the device identifier carried in MAC and/ | PANA session, it matches the device identifier carried in MAC and/ | |
| or IP header(s), or other auxiliary indetifier provided by the | or IP header(s), or other auxiliary indetifier provided by the | |
| lower-layers (e.g., circuit ID). | lower-layers (e.g., circuit ID). | |
| o The message type is one of the expected types in the current | o The message type is one of the expected types in the current | |
| state. | state. Specifically the following messages are unexpected and | |
| invalid: | ||
| * In discovery and initial handshake phase: | ||
| + PANA-Termination-Request and PANA-Reauth-Request. | ||
| + PANA-Bind-Request. | ||
| + PANA-Update-Request. | ||
| * In authentication phase: | ||
| + PANA-PAA-Discover. | ||
| + PANA-Termination-Request and PANA-Reauth-Request. | ||
| + PANA-Update-Request. | ||
| + PANA-Start-Request after a PaC receives the first valid | ||
| PANA-Auth-Request. | ||
| * After successful PANA authentication: | ||
| + PANA-Start-Request as well as a non-duplicate | ||
| PANA-Bind-Request (see section Section 4.7 for definition of | ||
| duplicate requests). | ||
| + PANA-PAA-Discover without a Session-Id AVP. | ||
| * In termination phase: | ||
| + PANA-PAA-Discover. | ||
| + All requests but PANA-Termination-Request. | ||
| o The message payload contains a valid set of AVPs allowed for the | o The message payload contains a valid set of AVPs allowed for the | |
| message type and there is no missing AVP that needs to be included | message type and there is no missing AVP that needs to be included | |
| in the payload. | in the payload. | |
| o Each AVP is decoded correctly. | o Each AVP is decoded correctly. | |
| o When a MAC AVP is included, the AVP value matches the MAC value | o When a MAC AVP is included, the AVP value matches the MAC value | |
| computed against the received message. | computed against the received message. | |
| Skipping to change at page 15, line 29: | ||
| identifier type contained in the AVP is supported (this check is | identifier type contained in the AVP is supported (this check is | |
| for both PaC and PAA) and is the requested one (this check is for | for both PaC and PAA) and is the requested one (this check is for | |
| PAA only) and the device identifier value contained in the AVP | PAA only) and the device identifier value contained in the AVP | |
| matches the value extracted from the lower-layer encapsulation | matches the value extracted from the lower-layer encapsulation | |
| header corresponding to the device identifier type contained in | header corresponding to the device identifier type contained in | |
| the AVP. Note that a Device-Id AVP carries the PaC's device | the AVP. Note that a Device-Id AVP carries the PaC's device | |
| identifier in messages from PaC to PAA and PAA's device identifier | identifier in messages from PaC to PAA and PAA's device identifier | |
| in messages from PAA to PaC. | in messages from PAA to PaC. | |
| Invalid messages MUST be discarded in order to provide robustness | Invalid messages MUST be discarded in order to provide robustness | |
| against DoS attacks and an unprotected. In addition, a | against DoS attacks. In addition, a non-acknowledged error | |
| non-acknowledged error notification message MAY be returned to the | notification message MAY be returned to the sender. See Section | |
| sender. See Section 4.1.8 for details. | 4.1.8 for details. | |
| 4.1.8 Error Handling | 4.1.8 Error Handling | |
| PANA-Error message MAY be sent by either PaC or PAA when a badly | PANA-Error message MAY be sent by either PaC or PAA when a badly | |
| formed PANA message is received or in case of other errors. If the | formed PANA message is received or in case of other errors. If the | |
| cause of this error message was a request message (e.g., | cause of this error message was a request message (e.g., | |
| PANA-PAA-Discover or *-Request), then the request MAY be | PANA-PAA-Discover or *-Request), then the request MAY be | |
| retransmitted immediately without waiting for its retransmission | retransmitted immediately without waiting for its retransmission | |
| timer to go off. If the cause of the error was a response message, | timer to go off. If the cause of the error was a response message, | |
| the receiver of the PANA-Error message SHOULD NOT resend the same | the receiver of the PANA-Error message SHOULD NOT resend the same | |
| Skipping to change at page 16, line 8: | ||
| configurable parameter. | configurable parameter. | |
| When an error message is sent unprotected with MAC AVP and the | When an error message is sent unprotected with MAC AVP and the | |
| lower-layer is insecure, the error message is treated as an | lower-layer is insecure, the error message is treated as an | |
| informational message. The receiver of such an error message MUST | informational message. The receiver of such an error message MUST | |
| NOT change its state unless the error persists and the PANA session | NOT change its state unless the error persists and the PANA session | |
| is not making any progress. | is not making any progress. | |
| 4.2 Discovery and Initial Handshake Phase | 4.2 Discovery and Initial Handshake Phase | |
| When a PaC attaches to a network, and knows that it has to discover | When a PaC attaches to a network, and knows that it has to discover a | |
| PAA for PANA, it SHOULD send a PANA-PAA-Discover message to a | PAA, it SHOULD send a PANA-PAA-Discover message to a well-known link | |
| well-known link local multicast address (TBD) and UDP port (TBD). | local multicast address (TBD) and UDP port (TBD). The PANA PAA | |
| PANA PAA discovery assumes that PaC and PAA are one hop away from | discovery assumes that PaC and PAA are one hop away from each other. | |
| each other. If PaC knows the IP address of the PAA (some | If the PaC knows the IP address of the PAA (based on | |
| pre-configuration), it MAY unicast the PANA discovery message to that | pre-configuration), it MAY unicast the PANA discovery message to that | |
| address. PAA SHOULD answer to the PANA-PAA-Discover message with a | address. The PAA SHOULD respond to the PANA-PAA-Discover message | |
| PANA-Start-Request message. | with a PANA-Start-Request message. | |
| When the PAA receives such a request, or upon receiving some lower | When the PAA receives such a request, or upon receiving some lower | |
| layer indications of a new PaC, PAA SHOULD unicast a | layer indications of a new PaC, the PAA SHOULD unicast a | |
| PANA-Start-Request message. | PANA-Start-Request message. | |
| There can be multiple PAAs on the link. The authentication and | There can be multiple PAAs on the link. The authentication and | |
| authorization result does not depend on which PAA is chosen by the | authorization result does not depend on which PAA is chosen by the | |
| PaC. By default the PaC MAY choose the PAA that sent the first | PaC. By default the PaC MAY choose the PAA that sent the first | |
| response. | response. | |
| PaC MAY also choose to start sending packets before getting | The PaC MAY also choose to start sending packets before getting | |
| authenticated. In that case, the network MAY detect this and send an | authenticated. In that case, the network may detect this and the PAA | |
| unsolicited PANA-Start-Request message to PaC in addition to | MAY send an unsolicited PANA-Start-Request message to the PaC in | |
| filtering the unauthorized traffic. EP is the node that can detect | addition to filtering the unauthorized traffic. The EP is the node | |
| such activity. PAA-to-EP protocol MAY be used for this purpose. | that can detect such activity. The PAA-to-EP protocol MAY be used | |
| for this purpose. | ||
| A PANA-Start-Request message MAY carry a Cookie AVP that contains a | A PANA-Start-Request message MAY carry a Cookie AVP that contains a | |
| cookie. The rseq field of the header is set to zero (0). The tseq | cookie. The rseq field of the header is set to zero (0). The tseq | |
| field of the header contains the initial sequence number. The cookie | field of the header contains the initial sequence number. The cookie | |
| is used for preventing the PAA from resource consumption DoS attacks | is used for preventing the PAA from resource consumption DoS attacks | |
| by blind attackers. The cookie is computed in such a way that it does | by blind attackers. The cookie is computed in such a way that it | |
| not require any per-session state maintenance on the PAA in order to | does not require any per-session state maintenance on the PAA in | |
| verify the cookie returned in a PANA-Start-Answer message. The exact | order to verify the cookie returned in a PANA-Start-Answer message. | |
| algorithms and syntax used for generating cookies does not affect | The exact algorithms and syntax used for generating cookies does not | |
| interoperability and hence is not specified here. An example | affect interoperability and hence is not specified here. An example | |
| algorithm is described below. | algorithm is described below. | |
| Cookie = | Cookie = | |
| <secret-version> | HMAC_SHA1( <Device-Id of PaC> | <secret> ) | <secret-version> | HMAC_SHA1( <Device-Id of PaC> , <secret> ) | |
| where <secret> is a randomly generated secret known only to the PAA, | where <secret> is a randomly generated secret known only to the PAA, | |
| <secret-version> is an index used for choosing the secret for | <secret-version> is an index used for choosing the secret for | |
| generating the cookie and '|' indicates concatenation. The secret- | generating the cookie and '|' indicates concatenation. The | |
| version should be changed frequently enough to prevent replay | secret-version should be changed frequently enough to prevent replay | |
| attacks. The secret key is locally known to the PAA only and valid | attacks. The secret key is valid for a certain time frame. | |
| for a certain time frame. | ||
| Protection-Capability and Post-PANA-Address-Configuration AVPs MAY be | ||
| optionally included in the PANA-Start-Request in order to indicate | ||
| required and available capabilities for the network access. These | ||
| AVPs MAY be used by the PaC for assessing the capability match even | ||
| before the authentication takes place. But these AVPs are provided | ||
| during the insecure discovery phase, there are certain security risks | ||
| involved in using the provided information. See Section 9 for further | ||
| discussion on this. | ||
| PAA MAY enable NAP-ISP authentication separation by setting the | ||
| S-flag of the message header of the PANA-Start-Request. Also, the | ||
| PANA-Start-Request MAY contain zero or one NAP-Information AVP and | ||
| zero or more ISP-Information AVPs to advertise the information on the | ||
| NAP and/or ISPs. | ||
| When a PaC receives the PANA-Start-Request message in response to the | ||
| PANA-PAA-Discover message, it responds with a PANA-Start-Answer | ||
| message if it wishes to enter the authentication phase. The | ||
| PANA-Start-Answer message contains the initial sequence numbers in | ||
| the tseq and rseq fields of the PANA header, a copy of the received | ||
| Cookie (if any) as the PANA payload. | ||
| If the S-flag of the received PANA-Start-Request message is not set, | ||
| PaC MUST NOT set the S-flag in the PANA-Start-Answer message sent | ||
| back to the PAA. In this case, PaC MAY indicate its choice of ISP by | ||
| including an ISP-Information AVP in the PANA-Start-Answer message. | ||
| When a AAA backend is used, the identity of the destination AAA | ||
| server or realm MUST be determined based on the explicitly chosen | ||
| ISP. When the ISP-Information AVP is not present, the access network | ||
| MAY rely on the client identifier carried in the EAP authentication | ||
| method to make this determination. | ||
| If the S-flag of the received PANA-Start-Request message is set, PaC | ||
| can indicate its desire to perform separate EAP authentication for | ||
| NAP and ISP by setting the S-flag in the PANA-Start-Answer message. | ||
| If the S-flag in the PANA-Start-Answer message is not set, only one | ||
| authentication is performed and the processing occurs as described | ||
| earlier. If the S-flag in the PANA-Start-Answer message is set, the | ||
| determination of the destination AAA server or realm for ISP | ||
| authentication is performed as described earlier. In addition, where | ||
| backend AAA servers are used for NAP authentication, the NAP is | ||
| considered the ultimate AAA realm, and the destination AAA server for | ||
| this authentication is determined entirely by the local configuration | ||
| on the access server hosting PAA (NAS). | ||
| The PaC can choose an ISP and contain an ISP-Information AVP for the | ||
| chosen ISP in a PANA-Start-Answer message even when there is no | ||
| ISP-Information AVP contained in the PANA-Start-Request message. | ||
| When the PAA receives the PANA-Start-Answer message from the PaC, it | When the PAA receives the PANA-Start-Answer message from the PaC, it | |
| verifies the cookie. The cookie is considered as valid if the | verifies the cookie. The cookie is considered as valid if the | |
| received cookie has the expected value. If the computed cookie is | received cookie has the expected value. If the computed cookie is | |
| valid, the protocol enters the authentication phase. Otherwise, it | valid, the protocol enters the authentication phase. Otherwise, it | |
| MUST silently discard the received message. | MUST silently discard the received message. | |
| Initial EAP Request MAY be optionally carried by the | Initial EAP Request MAY be optionally carried by the | |
| PANA-Start-Request (as opposed to by a later PANA-Auth-Request) | PANA-Start-Request (as opposed to by a later PANA-Auth-Request) | |
| message in order to reduce the number of round-trips. This | message in order to reduce the number of round-trips. This | |
| optimization SHOULD NOT be used if the PAA discovery is desired to be | optimization SHOULD NOT be used if the PAA discovery is desired to be | |
| stateless. | stateless. | |
| When the S-flag is set in a PANA-Start-Request message, the initial | Protection-Capability and Post-PANA-Address-Configuration AVPs MAY be | |
| EAP Request MUST NOT be carried in the PANA-Start-Request message. | optionally included in the PANA-Start-Request in order to indicate | |
| (If the initial EAP Request were contained in the PANA-Start-Request | required and available capabilities for the network access. These | |
| message during the S-flag negotiation, the PaC cannot tell whether | AVPs MAY be used by the PaC for assessing the capability match even | |
| the EAP Request is for NAP authentication or ISP authentication.) | before the authentication takes place. But these AVPs are provided | |
| during the insecure discovery phase, there are certain security risks | ||
| involved in using the provided information. See Section 9 for | ||
| further discussion on this. | ||
| If the initial EAP Request message is carried in the | If the initial EAP Request message is carried in the | |
| PANA-Start-Request message, an EAP Response message MUST be carried | PANA-Start-Request message, an EAP Response message MUST be carried | |
| in the PANA-Start-Answer message returned to the PAA. | in the PANA-Start-Answer message returned to the PAA. | |
| In any case, PANA MUST NOT generate an EAP message on behalf of EAP | In any case, PANA MUST NOT generate an EAP message on behalf of EAP | |
| peer or EAP (pass-through) authenticator. | peer or EAP (pass-through) authenticator. | |
| The PANA-Start-Request/Answer exchange is needed before entering | The PANA-Start-Request/Answer exchange is needed before entering | |
| authentication phase even when the PaC is pre-configured with PAAs IP | authentication phase even when the PaC is pre-configured with PAAs IP | |
| address and the PANA-PAA-Discover message is unicast. | address and the PANA-PAA-Discover message is unicast. | |
| A Nonce AVP MUST be included in PANA-Start-Request and | ||
| PANA-Start-Answer messages. | ||
| A PANA-Start-Request message that carries a Cookie AVP is never | A PANA-Start-Request message that carries a Cookie AVP is never | |
| retransmitted. A PANA-Start-Request message that does not carry a | retransmitted. A PANA-Start-Request message that does not carry a | |
| Cookie AVP is retransmitted based on timer. A PANA-Start-Answer | Cookie AVP is retransmitted based on timer. A PANA-Start-Answer | |
| message that carries a Cookie AVP is retransmitted based on timer. A | message that carries a Cookie AVP is retransmitted based on timer. A | |
| PANA-Start-Answer message that does not carry a Cookie AVP is never | PANA-Start-Answer message that does not carry a Cookie AVP is never | |
| retransmitted based on timer. | retransmitted based on timer. | |
| It is possible that both PAA and PaC initiate the discovery and | It is possible that both PAA and PaC initiate the discovery and | |
| initial handshake procedure at the same time, i.e., the PAA sends a | initial handshake procedure at the same time, i.e., the PAA sends a | |
| PANA-Start-Request message while the PaC sends a PANA-PAA-Discover | PANA-Start-Request message while the PaC sends a PANA-PAA-Discover | |
| message. To resolve the race condition, the PAA SHOULD silently | message. To resolve the race condition, the PAA SHOULD silently | |
| discard the PANA-PAA-Discover message received from the PaC after it | discard the PANA-PAA-Discover message received from the PaC after it | |
| has sent a PANA-Start-Request message with creating a state (i.e., no | has sent a PANA-Start-Request message with creating a state (i.e., no | |
| Cookie AVP included) for the PaC. In this case PAA will retransmit | Cookie AVP included) for the PaC. In this case PAA will retransmit | |
| PANA-Start-Request based on a timer, if PaC doesn't respond in time | PANA-Start-Request based on a timer, if PaC doesn't respond in time | |
| (message was lost for example). If PAA had sent stateless | (message was lost for example). If PAA had sent stateless | |
| PANA-Start-Request message (i.e., a Cookie AVP was included), then it | PANA-Start-Request message (i.e., a Cookie AVP was included), then it | |
| SHOULD answer to the PANA-PAA-Discover message. | SHOULD answer to the PANA-PAA-Discover message. | |
| PaC PAA Message | Figure 3 shows an example sequence for the discovery and initial | |
| handshake phase when a PANA-PAA-Discover message is sent by a PaC. | ||
| Figure 4 shows an example sequence for the discovery and initial | ||
| handshake phase that is triggered by data traffic. | ||
| PaC PAA Message(tseq,rseq)[AVPs] | ||
| ------------------------------------------------------ | ------------------------------------------------------ | |
| -----> PANA-PAA-Discover(0,0) | -----> PANA-PAA-Discover(0,0) | |
| <----- PANA-Start-Request(x,0)[Cookie] | <----- PANA-Start-Request(x,0)[Nonce, Cookie] | |
| -----> PANA-Start-Answer(y,x)[Cookie] | -----> PANA-Start-Answer(y,x)[Nonce, Cookie] | |
| (continued to authentication phase) | (continued to authentication phase) | |
| Figure 2: Example Sequence for Discovery and Initial Handshake Phase | Figure 3: Example Sequence for Discovery and Initial Handshake Phase | |
| when PANA-PAA-Discover is sent by PaC | when PANA-PAA-Discover is sent by PaC | |
| PaC EP PAA Message | PaC EP PAA Message(tseq,rseq)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| ---->o (Data packet arrival or L2 trigger) | ---->o (Data packet arrival or L2 trigger) | |
| ------> PAA-to-EP protocol, or another mechanism | ------> PAA-to-EP protocol, or another mechanism | |
| <------------ PANA-Start-Request(x,0)[Cookie] | <------------ PANA-Start-Request(x,0)[Nonce, Cookie] | |
| ------------> PANA-Start-Answer(y,x)[Cookie] | ------------> PANA-Start-Answer(y,x)[Nonce, Cookie] | |
| (continued to authentication phase) | (continued to authentication phase) | |
| Figure 3: Example Sequence for Discovery and Initial Handshake when | Figure 4: Example Sequence for Discovery and Initial Handshake when | |
| discovery is triggered by data traffic | discovery is triggered by data traffic | |
| 4.2.1 Discovery and Initial Handshake with NAP-ISP Authentication | ||
| Separation | ||
| In the discovery and initial handshake phase, a PAA MAY enable | ||
| NAP-ISP authentication separation ([I-D.ietf-pana-framework]) by | ||
| setting the S-flag of the message header of the PANA-Start-Request. | ||
| Also, the PANA-Start-Request MAY contain zero or one NAP-Information | ||
| AVP and zero or more ISP-Information AVPs to advertise the | ||
| information on the NAP and/or ISPs. | ||
| When a PaC receives the PANA-Start-Request message in response to the | ||
| PANA-PAA-Discover message, it responds with a PANA-Start-Answer | ||
| message if it wishes to enter the authentication phase. The | ||
| PANA-Start-Answer message contains the initial sequence numbers in | ||
| the tseq and rseq fields of the PANA header, a copy of the received | ||
| Cookie (if any) as the PANA payload. | ||
| If the S-flag of the received PANA-Start-Request message is not set, | ||
| PaC MUST NOT set the S-flag in the PANA-Start-Answer message sent | ||
| back to the PAA. In this case, PaC MAY indicate its choice of ISP by | ||
| including an ISP-Information AVP in the PANA-Start-Answer message. | ||
| When a AAA backend is used, the identity of the destination AAA | ||
| server or realm MUST be determined based on the explicitly chosen | ||
| ISP. When the ISP-Information AVP is not present, the access network | ||
| MAY rely on the client identifier carried in the EAP authentication | ||
| method to make this determination. | ||
| If the S-flag of the received PANA-Start-Request message is set, PaC | ||
| can indicate its desire to perform separate EAP authentication for | ||
| NAP and ISP by setting the S-flag in the PANA-Start-Answer message. | ||
| If the S-flag in the PANA-Start-Answer message is not set, only one | ||
| authentication is performed and the processing occurs as described in | ||
| Section 4.2. If the S-flag in the PANA-Start-Answer message is set, | ||
| the determination of the destination AAA server or realm for ISP | ||
| authentication is performed as described earlier. In addition, where | ||
| backend AAA servers are used for NAP authentication, the NAP is | ||
| considered the ultimate AAA realm, and the destination AAA server for | ||
| this authentication is determined entirely by the local configuration | ||
| on the access server hosting PAA (NAS). | ||
| The PaC can choose an ISP and contain an ISP-Information AVP for the | ||
| chosen ISP in a PANA-Start-Answer message even when there is no | ||
| ISP-Information AVP contained in the PANA-Start-Request message. | ||
| When the S-flag is set in a PANA-Start-Request message, the initial | ||
| EAP Request MUST NOT be carried in the PANA-Start-Request message. | ||
| (If the initial EAP Request were contained in the PANA-Start-Request | ||
| message during the S-flag negotiation, the PaC cannot tell whether | ||
| the EAP Request is for NAP authentication or ISP authentication.) | ||
| 4.3 Authentication Phase | 4.3 Authentication Phase | |
| The main task in authentication phase is to carry EAP messages | The main task in authentication phase is to carry EAP messages | |
| between PaC and PAA. EAP Request messages are carried in PANA- | between PaC and PAA. EAP Request messages are carried in | |
| Auth-Request messages and optionally carried in PANA-Start-Request | PANA-Auth-Request messages and optionally carried in | |
| messages. EAP Response messages are carried in PANA-Auth-Answer | PANA-Start-Request messages. EAP Response messages are carried in | |
| messages and optionally carried in PANA-Start-Answer messages. When | PANA-Auth-Answer messages and optionally carried in PANA-Start-Answer | |
| an EAP Success/Failure message is sent from a PAA, the message is | messages. When an EAP Success/Failure message is sent from a PAA, | |
| carried in a PANA-Bind-Request (PBR) or PANA-FirstAuth-End-Request | the message is carried in a PANA-Bind-Request (PBR) or | |
| (PFER) message. The PANA-FirstAuth-End-Reques message MUST be used | PANA-FirstAuth-End-Request (PFER) message. The | |
| at the end of the first EAP when the PaC and PAA have negotiated | PANA-FirstAuth-End-Reques message MUST be used at the end of the | |
| during the discovery and initial handshake phase to perform separate | first EAP when the PaC and PAA have negotiated during the discovery | |
| NAP and ISP authentications in a single PANA authentication phase. | and initial handshake phase to perform separate NAP and ISP | |
| Otherwise, the PANA-Bind-Request message MUST be used. The | authentications in a single PANA authentication phase. Otherwise, | |
| PANA-Bind-Request and PANA-FirstAuth-End-Request messages MUST be | the PANA-Bind-Request message MUST be used. The PANA-Bind-Request | |
| acknowledged with a PANA-Bind-Answer (PBA) and a | and PANA-FirstAuth-End-Request messages MUST be acknowledged with a | |
| PANA-FirstAuth-End-Answer (PFEA) messages, respectively. | PANA-Bind-Answer (PBA) and a PANA-FirstAuth-End-Answer (PFEA) | |
| messages, respectively. Figure 5 shows an example sequence for the | ||
| authentication phase without separating NAP and ISP authentications. | ||
| PaC PAA Message(tseq,rseq)[AVPs] | ||
| ------------------------------------------------- | ||
| (continued from discovery and initial handshake phase) | ||
| <----- PANA-Auth-Request(x+1,y)[Session-Id, EAP{Request}] | ||
| -----> PANA-Auth-Answer(y+1,x+1)[Session-Id, EAP{Response}] | ||
| . | ||
| . | ||
| <----- PANA-Auth-Request (x+2,y+1)[Session-Id, EAP{Request}] | ||
| -----> PANA-Auth-Answer (y+2,x+2)[Session-Id, EAP{Response}] | ||
| <----- PANA-Bind-Request(x+3,y+2) | ||
| [Session-Id, EAP{Success}, Device-Id, Lifetime, | ||
| Protection-Cap., PPAC, MAC] | ||
| -----> PANA-Bind-Answer(y+3,x+3) | ||
| [Session-Id, Device-Id, PPAC, MAC] | ||
| Figure 5: Example Sequence in Authentication Phase | ||
| When the PaC and PAA have negotiated during the discovery and initial | When the PaC and PAA have negotiated during the discovery and initial | |
| handshake phase to perform separate NAP and ISP authentications, the | handshake phase to perform separate NAP and ISP authentications, the | |
| S-flag of PANA-Auth-Request and PANA-Auth-Answer messages MUST be | S-flag of PANA-Auth-Request and PANA-Auth-Answer messages MUST be | |
| set. Otherwise, the S-flag MUST NOT be set. | set. Otherwise, the S-flag MUST NOT be set. | |
| When separate NAP and ISP authentications are performed, the PAA | When separate NAP and ISP authentications are performed, the PAA | |
| determines the execution order of NAP authentication and ISP | determines the execution order of NAP authentication and ISP | |
| authentication. In this case, the PAA can indicate which EAP | authentication. In this case, the PAA can indicate which EAP | |
| authentication is currently occurring by using N-flag in the PANA | authentication is currently occurring by using N-flag in the PANA | |
| Skipping to change at page 20, line 24: | ||
| EAP authentication has failed, the PAA can choose not to perform the | EAP authentication has failed, the PAA can choose not to perform the | |
| second EAP authentication by clearing the S-flag of the | second EAP authentication by clearing the S-flag of the | |
| PANA-FirstAuth-End-Request message. In this case, the S-flag of the | PANA-FirstAuth-End-Request message. In this case, the S-flag of the | |
| PANA-FirstAuth-End-Answer message sent by the PaC MUST be cleared. | PANA-FirstAuth-End-Answer message sent by the PaC MUST be cleared. | |
| If the S-flag of the PANA-FirstAuth-End-Request message is set when | If the S-flag of the PANA-FirstAuth-End-Request message is set when | |
| the first EAP authentication has failed, the PaC can choose not to | the first EAP authentication has failed, the PaC can choose not to | |
| perform the second EAP authentication by clearing the S-flag of the | perform the second EAP authentication by clearing the S-flag of the | |
| PANA-FirstAuth-End-Answer message. If the first EAP authentication | PANA-FirstAuth-End-Answer message. If the first EAP authentication | |
| failed and the S-flag is not set in the PANA-FirstAuth-End-Answer | failed and the S-flag is not set in the PANA-FirstAuth-End-Answer | |
| message as a result of those operations, the PANA session MUST be | message as a result of those operations, the PANA session MUST be | |
| immediately deleted. Otherwise, the second EAP authentication MUST be | immediately deleted. Otherwise, the second EAP authentication MUST | |
| performed. | be performed. | |
| Currently, use of multiple EAP methods in PANA is designed only for | Currently, use of multiple EAP methods in PANA is designed only for | |
| NAP-ISP authentication separation. It is not for arbitrary EAP | NAP-ISP authentication separation. It is not for arbitrary EAP | |
| method sequencing, or giving the PaC another chance when an | method sequencing, or giving the PaC another chance when an | |
| authentication method fails. The NAP and ISP authentication are | authentication method fails. The NAP and ISP authentication are | |
| considered completely independent. Presence or success of one should | considered completely independent. Presence or success of one should | |
| not effect the other. Making a network access authorization decision | not effect the other. Making a network access authorization decision | |
| based on the success or failure of each authentication is a network | based on the success or failure of each authentication is a network | |
| policy issue. | policy issue. | |
| Skipping to change at page 21, line 6: | ||
| successful, the PANA-FirstAuth-End-Request and | successful, the PANA-FirstAuth-End-Request and | |
| PANA-FirstAuth-End-Answer messages as well as PANA-Auth-Request and | PANA-FirstAuth-End-Answer messages as well as PANA-Auth-Request and | |
| PANA-Auth-Answer messages in the second EAP authentication MUST be | PANA-Auth-Answer messages in the second EAP authentication MUST be | |
| protected with the key derived from the AAA-Key for the first EAP | protected with the key derived from the AAA-Key for the first EAP | |
| authentication. The PANA-Bind-Request and PANA-Bind-Answer messages | authentication. The PANA-Bind-Request and PANA-Bind-Answer messages | |
| and all subsequent PANA messages MUST be protected either with the | and all subsequent PANA messages MUST be protected either with the | |
| AAA-Key for the first EAP authentication if the first EAP | AAA-Key for the first EAP authentication if the first EAP | |
| authentication succeeds and the second EAP authentication fails, or | authentication succeeds and the second EAP authentication fails, or | |
| with the AAA-Key for the second EAP authentication if the first EAP | with the AAA-Key for the second EAP authentication if the first EAP | |
| authentication fails and the second EAP authentication succeeds, or | authentication fails and the second EAP authentication succeeds, or | |
| with the compound key derived from the two AAA-Keys, one for the | with the compound AAA-Key derived from the two AAA-Keys, one for the | |
| first EAP authentication and the other from the second EAP | first EAP authentication and the other from the second EAP | |
| authentication, if both the first and second EAP authentications | authentication, if both the first and second EAP authentications | |
| succeed (see Section 4.1.5 for how the compound key is derived). | succeed. | |
| The PANA-Bind-Request and the PANA-Bind-Answer message exchange is | The PANA-Bind-Request and the PANA-Bind-Answer message exchange is | |
| also used for binding device identifiers of the PaC and the PAA to | also used for binding device identifiers of the PaC and the PAA to | |
| the PANA SA when the identifiers are either IP or MAC addresses. To | the PANA SA when the identifiers are either IP or MAC addresses. To | |
| achieve this, the PANA-Bind-Request and the PANA-Bind-Answer SHOULD | achieve this, the PANA-Bind-Request and the PANA-Bind-Answer SHOULD | |
| contain a device identifier of the PAA and the PaC, respectively, in | contain a device identifier of the PAA and the PaC, respectively, in | |
| a Device-Id AVP. Device identifier exchange that is protected by a | a Device-Id AVP. Device identifier exchange that is protected by a | |
| MAC AVP prevents man-in-the-middle attacks. The PaC MUST use the | MAC AVP prevents man-in-the-middle attacks. The PaC MUST use the | |
| same type of device identifier as contained in the PANA-Bind-Request | same type of device identifier as contained in the PANA-Bind-Request | |
| message. The PANA-Bind-Request message MAY also contain a | message. The PANA-Bind-Request message MAY also contain a | |
| Skipping to change at page 22, line 13: | ||
| e.g., authorization rejected by a AAA proxy or authorization locally | e.g., authorization rejected by a AAA proxy or authorization locally | |
| rejected by a PAA. When this occurs, the PAA MUST send | rejected by a PAA. When this occurs, the PAA MUST send | |
| PANA-Bind-Request with a result code PANA_AUTHORIZATION_REJECTED. If | PANA-Bind-Request with a result code PANA_AUTHORIZATION_REJECTED. If | |
| a AAA-Key is established between PaC and PAA by the time when the | a AAA-Key is established between PaC and PAA by the time when the | |
| EAP-Success is generated by the EAP server (this is the case when the | EAP-Success is generated by the EAP server (this is the case when the | |
| EAP method provides protected success indication), the this PANA-Bind | EAP method provides protected success indication), the this PANA-Bind | |
| message exchange MUST be protected with a MAC AVP and with carrying a | message exchange MUST be protected with a MAC AVP and with carrying a | |
| Key-Id AVP. The AAA-Key and the PANA session MUST be deleted after | Key-Id AVP. The AAA-Key and the PANA session MUST be deleted after | |
| the PANA-Bind message exchange. | the PANA-Bind message exchange. | |
| PaC PAA Message(tseq,rseq)[AVPs] | ||
| ------------------------------------------------- | ||
| (continued from discovery and initial handshake phase) | ||
| <----- PANA-Auth-Request(x+1,y)[EAP{Request}] | ||
| -----> PANA-Auth-Answer(y+1,x+1)[EAP{Response}] | ||
| . | ||
| . | ||
| <----- PANA-Auth-Request (x+2,y+1)[EAP{Request}] | ||
| -----> PANA-Auth-Answer (y+2,x+2)[EAP{Response}] | ||
| <----- PANA-Bind-Request(x+3,y+2) | ||
| [EAP{Success}, Device-Id, Lifetime, Protection-Cap., | ||
| PPAC, MAC] | ||
| -----> PANA-Bind-Answer(y+3,x+3)[Device-Id, PPAC, MAC] | ||
| Figure 4: Example Sequence in Authentication Phase | ||
| 4.4 Re-authentication | 4.4 Re-authentication | |
| There are two types of re-authentication supported by PANA. | There are two types of re-authentication supported by PANA. | |
| The first type of re-authentication is based on EAP by entering an | The first type of re-authentication is based on EAP by entering an | |
| authentication phase. In this case, some or all message exchanges | authentication phase. In this case, some or all message exchanges | |
| for discovery and initial handshake phase MAY be omitted in the | for discovery and initial handshake phase MAY be omitted in the | |
| following way. When a PaC wants to initiate EAP-based | following way. When a PaC wants to initiate EAP-based | |
| re-authentication, it sends a unicast PANA-PAA-Discovery message to | re-authentication, it sends a unicast PANA-PAA-Discovery message to | |
| the PAA. This message MUST contain a Session-Id AVP which is used | the PAA. This message MUST contain a Session-Id AVP which is used | |
| Skipping to change at page 23, line 5: | ||
| to start an authentication phase. If the PAA can not recognize the | to start an authentication phase. If the PAA can not recognize the | |
| session identifier, it proceeds with regular authentication by | session identifier, it proceeds with regular authentication by | |
| sending back PANA-Start-Request. When the PAA initiates EAP-based | sending back PANA-Start-Request. When the PAA initiates EAP-based | |
| re-authentication, it sends a PANA-Auth-Request message containing | re-authentication, it sends a PANA-Auth-Request message containing | |
| the session identifier for the PaC to enter an authentication phase. | the session identifier for the PaC to enter an authentication phase. | |
| PAA SHOULD initiate EAP authentication before the current session | PAA SHOULD initiate EAP authentication before the current session | |
| lifetime expires. In both cases, the tseq and rseq values are | lifetime expires. In both cases, the tseq and rseq values are | |
| inherited from the previous (re-)authentication. For any EAP-based | inherited from the previous (re-)authentication. For any EAP-based | |
| re-authentication, if there is an established PANA SA, | re-authentication, if there is an established PANA SA, | |
| PANA-Auth-Request and PANA-Auth-Answer messages MUST be protected by | PANA-Auth-Request and PANA-Auth-Answer messages MUST be protected by | |
| adding a MAC AVP to each message. | adding a MAC AVP to each message. Any subsequent EAP-based | |
| authentication MUST be performed with the same ISP and NAP that was | ||
| selected during the initial authentication. An example sequence for | ||
| the EAP-based re-authentication initiated by a PaC is shown in Figure | ||
| 6. | ||
| PaC PAA Message | ||
| ------------------------------------------------------ | ||
| -----> PANA-PAA-Discover(0,0)[Session-Id] | ||
| <----- PANA-Auth-Request(p,q)[Session-Id, EAP, MAC] | ||
| -----> PANA-Auth-Answer(q+1,p)[Session-Id, EAP, MAC] | ||
| <----- PANA-Auth-Request(p+1,q+1)[Session-Id, EAP, MAC] | ||
| -----> PANA-Auth-Answer(q+2,p+1)[Session-Id, EAP, MAC] | ||
| <----- PANA-Bind-Request(p+2,q+2) | ||
| [Session-Id, EAP{Success}, Device-Id, Key-Id, | ||
| Lifetime, Protection-Cap., PPAC, MAC] | ||
| -----> PANA-Bind-Answer(q+3,p+2) | ||
| [Session-Id, Device-Id, Key-Id, PPAC, MAC] | ||
| Figure 6: Example Sequence for EAP-based re-authentication initiated | ||
| by PaC | ||
| The second type of re-authentication is based on a single protected | The second type of re-authentication is based on a single protected | |
| message exchange without entering the authentication phase. | message exchange without entering the authentication phase. | |
| PANA-Reauth-Request and PANA-Reauth-Answer messages are used for this | PANA-Reauth-Request and PANA-Reauth-Answer messages are used for this | |
| purpose. If there is an established PANA SA, both the PaC and the | purpose. If there is an established PANA session, both the PaC and | |
| PAA are allowed to send a PANA-Reauth-Request message to the | the PAA are allowed to send a PANA-Reauth-Request message to the | |
| communicating peer whenever it needs to make sure the availability of | communicating peer whenever they need to make sure the availability | |
| the PANA SA on the peer and expect the peer to return a PANA- | of the session on the peer and expect the peer to return a | |
| Reauth-Answer message. Both PANA-Reauth-Request/ PANA-Reauth-Answer | PANA-Reauth-Answer message. Both PANA-Reauth-Request and | |
| messages MUST be protected with a MAC AVP. | PANA-Reauth-Answer messages MUST be protected with a MAC AVP when a | |
| PANA SA is available. | ||
| Implementations MUST limit the rate of performing re-authentication | Implementations MUST limit the rate of performing re-authentication | |
| for both types of re-authentication. The PaC and the PAA can handle | for both types of re-authentication. The PaC and the PAA can handle | |
| rate limitation on their own, they don't have to perform any | rate limitation on their own, they do not have to perform any | |
| coordination with each other. There is no negotiation of timers for | coordination with each other. There is no negotiation of timers for | |
| this purpose. | this purpose. | |
| Figure 7 and Figure 8 show re-authentication procedures based on | ||
| PANA-Reauth exchange initiated by a PaC and a PAA, respectively. | ||
| PaC PAA Message(tseq,rseq)[AVPs] | PaC PAA Message(tseq,rseq)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| -----> PANA-Reauth-Request(q,p)[MAC] | -----> PANA-Reauth-Request(q,p)[Session-Id, MAC] | |
| <----- PANA-Reauth-Answer(p+1,q)[MAC] | <----- PANA-Reauth-Answer(p+1,q)[Session-Id, MAC] | |
| Figure 5: Example Sequence for PaC-initiated second type | Figure 7: Example Sequence for PaC-initiated second type | |
| Re-authentication | Re-authentication | |
| PaC PAA Message(tseq,rseq)[AVPs] | PaC PAA Message(tseq,rseq)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| <----- PANA-Reauth-Request(p,q)[MAC] | <----- PANA-Reauth-Request(p,q)[Session-Id, MAC] | |
| -----> PANA-Reauth-Answer(q+1,p)[MAC] | -----> PANA-Reauth-Answer(q+1,p)[Session-Id, MAC] | |
| Figure 6: Example Sequence for PAA-initiated second type | Figure 8: Example Sequence for PAA-initiated second type | |
| Re-authentication | Re-authentication | |
| 4.5 Termination Phase | 4.5 Termination Phase | |
| A procedure for explicitly terminating a PANA session can be | A procedure for explicitly terminating a PANA session can be | |
| initiated either from PaC (i.e., disconnect indication) or from PAA | initiated either from PaC (i.e., disconnect indication) or from PAA | |
| (i.e., session revocation). The PANA-Termination-Request and the | (i.e., session revocation). The PANA-Termination-Request and the | |
| PANA-Termination-Answer message exchanges are used for disconnect | PANA-Termination-Answer message exchanges are used for disconnect | |
| indication and session revocation procedures. | indication and session revocation procedures. | |
| Skipping to change at page 24, line 4: | ||
| 4.5 Termination Phase | 4.5 Termination Phase | |
| A procedure for explicitly terminating a PANA session can be | A procedure for explicitly terminating a PANA session can be | |
| initiated either from PaC (i.e., disconnect indication) or from PAA | initiated either from PaC (i.e., disconnect indication) or from PAA | |
| (i.e., session revocation). The PANA-Termination-Request and the | (i.e., session revocation). The PANA-Termination-Request and the | |
| PANA-Termination-Answer message exchanges are used for disconnect | PANA-Termination-Answer message exchanges are used for disconnect | |
| indication and session revocation procedures. | indication and session revocation procedures. | |
| The reason for termination is indicated in the Termination-Cause AVP. | The reason for termination is indicated in the Termination-Cause AVP. | |
| When there is an established PANA SA established between the PaC and | When there is an established PANA SA established between the PaC and | |
| the PAA, all messages exchanged during the termination phase MUST be | the PAA, all messages exchanged during the termination phase MUST be | |
| protected with a MAC AVP. When the sender of the | protected with a MAC AVP. When the sender of the | |
| PANA-Termination-Request receives a valid acknowledgment, all states | PANA-Termination-Request receives a valid acknowledgment, all states | |
| maintained for the PANA session MUST be deleted immediately. | maintained for the PANA session MUST be deleted immediately. | |
| PaC PAA Message(tseq,rseq)[AVPs] | PaC PAA Message(tseq,rseq)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| -----> PANA-Termination-Request(q,p)[MAC] | -----> PANA-Termination-Request(q,p)[Session-Id, MAC] | |
| <----- PANA-Termination-Answer(p+1,q)[MAC] | <----- PANA-Termination-Answer(p+1,q)[Session-Id, MAC] | |
| Figure 7: Example Sequence for Session Termination | ||
| 4.6 Illustration of a Complete Message Sequence | ||
| A complete PANA message sequence is illustrated in Figure 8. The | ||
| example assumes the following scenario: | ||
| o PaC multicasts PANA-PAA-Discover message | ||
| o The ISNs used by the PAA and the PaC are x and y, respectively. | ||
| o A single EAP sequence is used in authentication phase. | ||
| o An EAP authentication method with a single round trip is used in | ||
| the EAP sequence. | ||
| o The EAP authentication method derives keys. The PANA SA is | ||
| established based on the unique and fresh session key provided by | ||
| the EAP method. | ||
| o After PANA SA is established, all messages are integrity and | ||
| replay protected with the MAC AVP. | ||
| o Re-authentication based on the PANA-Reauth-Request/ PANA-Reauth- | ||
| Answer exchange is performed. | ||
| o The PANA session is terminated as a result of the PANA- | ||
| Termination-Request indication from the PaC. | ||
| PaC PAA Message(tseq,rseq)[AVPs] | ||
| ----------------------------------------------------- | ||
| // Discovery and initial handshake phase | ||
| -----> PANA-PAA-Discover (0,0) | ||
| <----- PANA-Start-Request (x,0)[Cookie] | ||
| -----> PANA-Start-Request-Answer (y,x)[Cookie] | ||
| // Authentication phase | ||
| <----- PANA-Auth-Request(x+1,y)[EAP] | ||
| -----> PANA-Auth-Answer(y+1,x+1)[EAP] | ||
| <----- PANA-Auth-Request(x+2,y+1)[EAP] | ||
| -----> PANA-Auth-Answer(y+2,x+2)[EAP] | ||
| <----- PANA-Bind-Request(x+3,y+2) | ||
| [EAP{Success}, Device-Id, Lifetime, Protection-Cap., MAC] | ||
| -----> PANA-Bind-Answer(y+3,x+3)[Device-Id, MAC] | ||
| // Re-authentication | ||
| <----- PANA-Reauth-Request (x+4,y+3)[MAC] | ||
| -----> PANA-Reauth-Answer (y+4,x+4)[MAC] | ||
| // Termination phase | Figure 9: Example Sequence for Session Termination | |
| -----> PANA-Termination-Request(y+5,x+4)[MAC] | ||
| <----- PANA-Termination-Answer (x+5,y+5)[MAC] | ||
| Figure 8: A Complete Message Sequence | 4.6 Example Sequence for NAP and ISP Separate Authentications | |
| Another PANA message sequence is illustrated in Figure 9. The example | A PANA message sequence where NAP and ISP separate authentications | |
| assumes the following scenario: | occur is illustrated in Figure 10. The example assumes the following | |
| scenario: | ||
| o PaC multicasts PANA-PAA-Discover message | o The PaC multicasts PANA-PAA-Discover message. | |
| o The ISNs used by the PAA and the PaC are x and y, respectively. | o The ISNs used by the PAA and the PaC are x and y, respectively. | |
| o PAA offers NAP and ISP separate authentication, as well as a | o The PAA offers NAP and ISP separate authentications, as well as a | |
| choice of ISP from "ISP1" and "ISP2". PaC accepts the offer from | choice of ISP from "ISP1" and "ISP2". The PaC accepts the offer | |
| PAA, with choosing "ISP1" as the ISP. | from PAA, with choosing "ISP1" as the ISP. | |
| o An EAP sequence for NAP authentication and an EAP sequence for ISP | o An EAP sequence for NAP authentication and an EAP sequence for ISP | |
| authentication is performed in this order in authentication phase. | authentication is performed in this order in authentication phase. | |
| o An EAP authentication method with a single round trip is used in | o An EAP authentication method with a single round trip is used in | |
| the EAP sequence. | each EAP sequence. | |
| o The EAP authentication methods derive keys. Once the two EAP | o Two AAA-Keys are derived from the EAP authentication methods, | |
| authenticatioins are successful, the PANA_MAC_KEY is derived from | i.e., AAA-Key1 and AAA-Key2. The PANA_MAC_KEY is first derived | |
| the two AAA-Keys. | from the AAA-Key1 upon the completion of the first EAP, and then | |
| it is updated so that it is derived from both AAA-Key1 and | ||
| AAA-Key2 upon the completion of the second EAP. | ||
| o After PANA SA is established, all messages are integrity and | o After a PANA SA is established, all messages are integrity and | |
| replay protected with the MAC AVP. | replay protected with MAC AVPs. | |
| o Re-authentication based on the PANA-Reauth-Request/ PANA-Reauth- | o Re-authentication based on the PANA-Reauth exchange is performed. | |
| Answer exchange is performed. | ||
| o Re-authentication and termination phase are not shown. | o Re-authentication and termination phase are not shown. | |
| o Session-Id AVP is not shown. | ||
| PaC PAA Message(tseq,rseq)[AVPs] | PaC PAA Message(tseq,rseq)[AVPs] | |
| ----------------------------------------------------- | ----------------------------------------------------- | |
| // Discovery and initial handshake phase | // Discovery and initial handshake phase | |
| -----> PANA-PAA-Discover (0,0) | -----> PANA-PAA-Discover (0,0) | |
| <----- PANA-Start-Request (x,0) // S-flag set | <----- PANA-Start-Request (x,0) // S-flag set | |
| [Cookie, ISP-Information("ISP1"), | [Nonce, Cookie, ISP-Information("ISP1"), | |
| ISP-Information("ISP2"), | ISP-Information("ISP2"), | |
| NAP-Information("MyNAP")] | NAP-Information("MyNAP")] | |
| -----> PANA-Start-Request-Answer (y,x) // S-flag set | -----> PANA-Start-Request-Answer (y,x) // S-flag set | |
| [Cookie, ISP-Information("ISP1")] // PaC chooses "ISP1" | [Nonce, Cookie, ISP-Information("ISP1")]// PaC chooses "ISP1" | |
| // Authentication phase | // Authentication phase | |
| <----- PANA-Auth-Request(x+1,y)[EAP] // NAP authentication | <----- PANA-Auth-Request(x+1,y)[EAP] // NAP authentication | |
| // S- and N-flags set | // S- and N-flags set | |
| -----> PANA-Auth-Answer(y+1,x+1)[EAP] // S- and N-flags set | -----> PANA-Auth-Answer(y+1,x+1)[EAP] // S- and N-flags set | |
| <----- PANA-Auth-Request(x+2,y+1)[EAP] // S- and N-flags set | <----- PANA-Auth-Request(x+2,y+1)[EAP] // S- and N-flags set | |
| -----> PANA-Auth-Answer(y+2,x+2)[EAP] // S- and N-flags set | -----> PANA-Auth-Answer(y+2,x+2)[EAP] // S- and N-flags set | |
| <----- PANA-FirstAuth-End-Request(x+3,y+2) // S- and N-flags set | <----- PANA-FirstAuth-End-Request(x+3,y+2) // S- and N-flags set | |
| [EAP{Success}, Key-Id, MAC] | [EAP{Success}, Key-Id, MAC] | |
| -----> PANA-FirstAuth-End-Answer(y+3,x+3) // S- and N-flags set | -----> PANA-FirstAuth-End-Answer(y+3,x+3) // S- and N-flags set | |
| Skipping to change at page 26, line 45: | ||
| // S-flag set | // S-flag set | |
| -----> PANA-Auth-Answer(y+4,x+4)[EAP, MAC] // S-flag set | -----> PANA-Auth-Answer(y+4,x+4)[EAP, MAC] // S-flag set | |
| <----- PANA-Auth-Request(x+4,y+5)[EAP, MAC]// S-flag set | <----- PANA-Auth-Request(x+4,y+5)[EAP, MAC]// S-flag set | |
| -----> PANA-Auth-Answer(y+5,x+5)[EAP, MAC] // S-flag set | -----> PANA-Auth-Answer(y+5,x+5)[EAP, MAC] // S-flag set | |
| <----- PANA-Bind-Request(x+5,y+6) // S-flag set | <----- PANA-Bind-Request(x+5,y+6) // S-flag set | |
| [EAP{Success}, Device-Id, Key-Id, | [EAP{Success}, Device-Id, Key-Id, | |
| Lifetime, Protection-Cap., PPAC, MAC] | Lifetime, Protection-Cap., PPAC, MAC] | |
| -----> PANA-Bind-Answer(y+6,x+5) // S-flag set | -----> PANA-Bind-Answer(y+6,x+5) // S-flag set | |
| [Device-Id, Key-Id, PPAC, MAC] | [Device-Id, Key-Id, PPAC, MAC] | |
| Figure 9: A Complete Message Sequence for NAP and ISP Separate | Figure 10: A Complete Message Sequence for NAP and ISP Separate | |
| Authentications | Authentications | |
| 4.7 Device ID Choice | 4.7 Responding to Duplicate Requests | |
| The device identifiers used in the context of PANA can be an IP | Since PANA is designed over UDP, an answer as well as a request can | |
| address, a MAC address, or an identifier that is not carried on data | be lost. In order to provide robustness against possible loss of | |
| synchronization between a PaC and a PAA, the responder MAY send a | ||
| duplicate answer to a request that it had just answered. The only | ||
| difference between two consecutive duplicate requests are the | ||
| sequence numbers and the content of MAC AVP (when present). | ||
| o When a PaC receives a duplicate PANA-Start-Request message for | ||
| which it has already answered, it SHOULD send a duplicate | ||
| PANA-Start-Answer message until it receives a valid | ||
| PANA-Auth-Request message. | ||
| o When a PaC receives a duplicate PANA-FirstAuth-End-Request message | ||
| for which it has already answered, it SHOULD send a duplicate | ||
| PANA-FirstAuth-End-Answer message until it receives a valid | ||
| PANA-Auth-Request message for the second EAP authentication. | ||
| o When a PaC receives a duplicate PANA-Bind-Request message for | ||
| which it has already answered, it SHOULD send a duplicate | ||
| PANA-Bind-Answer message until it receives some hint provided | ||
| outside the PANA protocol (e.g., receipt of a secure association | ||
| protocol message from an EP or receipt of data traffic) indicating | ||
| that the PAA has received a PANA-Bind-Answer message. | ||
| o When a PaC or a PAA receives a duplicate PANA-Termination-Request | ||
| message for which it has already answered, it MAY send a duplicate | ||
| PANA-Termination-Answer message in accordance with the timers | ||
| described in Section 7. | ||
| 4.8 Device ID Choice | ||
| The device identifier used in the context of PANA can be an IP | ||
| address, a MAC address, or an identifier that is not carried in data | ||
| packets but has local significance in identifying a connected host | packets but has local significance in identifying a connected host | |
| (e.g., circuit ID). The last type of identifiers are commonly used | (e.g., circuit ID). The last type of identifiers are commonly used | |
| in physically secured point-to-point links where MAC addresses are | in physically secured point-to-point links where MAC addresses are | |
| not available. | not available. | |
| It is assumed that PAA knows the link type and the security | It is assumed that the PAA knows the link type and the security | |
| mechanisms being provided or required on the access network (e.g., | mechanisms being provided or required on the access network (e.g., | |
| based on physical security, link-layer ciphers enabled before or | based on physical security, link-layer ciphers enabled before or | |
| after PANA, or IPsec). Based on that information, the PAA can decide | after PANA, or IPsec). Based on that information, the PAA can decide | |
| what type of device ID will be used when running PANA with the | what type of device ID will be used when running PANA with the | |
| client. When IPsec-based mechanism [I-D.ietf-pana-ipsec] is the | client. When IPsec-based security [I-D.ietf-pana-ipsec] is the | |
| choice of access control, PAA SHOULD provide an IP address as device | choice of access control, the PAA SHOULD provide an IP address as | |
| ID, and expect the PaC to provide its IP address in return. In case | device ID, and expect the PaC to provide its IP address in return. | |
| IPsec is not used, MAC addresses are used as device IDs when | In case IPsec is not used, MAC addresses are used as device IDs when | |
| available. If non-IPsec access control is enabled, and a MAC address | available. If non-IPsec access control is enabled, and a MAC address | |
| is not available, device ID exchange does not occur within PANA. | is not available, device ID exchange does not occur within PANA. | |
| Instead, peers rely on lower-layers to provide locally-significant | Instead, peers rely on lower-layers to provide locally-significant | |
| identifiers along with received PANA packets. | identifiers along with received PANA packets. | |
| 4.8 Session Lifetime | 4.9 Updating PaC' Address | |
| A PaC's IP address can change in certain situations. For example, | ||
| the PANA framework [I-D.ietf-pana-framework] describes a case in | ||
| which a PaC replaces a pre-PANA address (PRPA) with a post-PANA | ||
| address (POPA), and the PaC and PAA create host routes to each other | ||
| in order to maintain on-link communication based on the POPA. The | ||
| PAA needs to be notified about the change of PaC address. | ||
| After the PaC has changed its address, it MUST send a | ||
| PANA-Update-Request message to the PAA. The message MUST carry the | ||
| new PaC address in an IP-Address AVP. If the address contained in | ||
| the request is invalid, the PAA MUST send a PANA-Error message with | ||
| the result code PANA_INVALID_IP_ADDRESS. Otherwise, the PAA MUST | ||
| update the PANA session with the new PaC address and return a | ||
| PANA-Update-Answer message. If there is an established PANA SA, both | ||
| PANA-Update-Request and PANA-Update-Answer messages MUST be protected | ||
| with a MAC AVP. | ||
| 4.10 Session Lifetime | ||
| The authentication phase determines the PANA session lifetime when | The authentication phase determines the PANA session lifetime when | |
| the network access authorization succeeds. The Session-Lifetime AVP | the network access authorization succeeds. The Session-Lifetime AVP | |
| MAY be optionally included in the PANA-Bind-Request message to inform | MAY be optionally included in the PANA-Bind-Request message to inform | |
| PaC about the valid lifetime of the PANA session. It MUST be ignored | PaC about the valid lifetime of the PANA session. It MUST be ignored | |
| when included in other PANA messages. When there are multiple EAP | when included in other PANA messages. When there are multiple EAP | |
| authentication taking place, this AVP SHOULD be included after the | authentication taking place, this AVP SHOULD be included after the | |
| final authentication. | final authentication. | |
| The lifetime is a non-negotiable parameter that can be used by PaC to | The lifetime is a non-negotiable parameter that can be used by PaC to | |
| Skipping to change at page 28, line 16: | ||
| the peers. | the peers. | |
| When separate EAP authentications are performed for ISP and NAP in a | When separate EAP authentications are performed for ISP and NAP in a | |
| single PANA session, it is possible that different authorization | single PANA session, it is possible that different authorization | |
| lifetime values are associated with the two authentications. In this | lifetime values are associated with the two authentications. In this | |
| case, the smaller authorization lifetime value MUST be used for | case, the smaller authorization lifetime value MUST be used for | |
| calculating the PANA Session-Lifetime value. As a result, when | calculating the PANA Session-Lifetime value. As a result, when | |
| EAP-based re-authentication occurs, both NAP and ISP authentications | EAP-based re-authentication occurs, both NAP and ISP authentications | |
| will be performed in the same re-authentication procedure. | will be performed in the same re-authentication procedure. | |
| 4.9 Mobility Handling | 4.11 Retransmission of Duplicate Answers | |
| A mobile PaC's AAA performance can be enhanced by deploying a | Since PANA is designed over UDP, an answer as well as a request can | |
| context-transfer-based mechanism, where some session attributes are | be lost. In order to improve robustness against possible loss of | |
| transferred from the previous PAA to the current one in order to | synchronization between a PaC and a PAA, the responder of a request | |
| avoid performing a full EAP authentication (reactive approach). | MAY send a duplicate answer to a duplicate request for which already | |
| Additional mechanisms that are based on the proactive AAA state | answered (as well as a fresh answer to a new request if any). In | |
| establishment at one or more candidate PAAs may be developed in the | PANA, a duplicate PANA-Start-Request or PANA-Start-Answer message has | |
| future [I-D.irtf-aaaarch-handoff]. The details of a | the same contents as the original request or answer, respectively. A | |
| duplicate request other than PANA-Start-Request has the same contents | ||
| as the original request except for the transmission sequence number | ||
| and a MAC AVP (if any). Also, a duplicate answer other than | ||
| PANA-Start-Answer has the same contents as the original answer except | ||
| for the transmission and receiving sequence numbers and a MAC AVP (if | ||
| any). Retransmission of a duplicate answer in response to a | ||
| duplicate request occurs in the following ways. | ||
| o When a PaC receives a duplicate PANA-Start-Request message for | ||
| which it has already answered, it MAY send a duplicate | ||
| PANA-Start-Answer message until it receives a valid | ||
| PANA-Auth-Request message. | ||
| o When a PaC receives a duplicate PANA-FirstAuth-End-Request message | ||
| for which it has already answered, it MAY send a duplicate | ||
| PANA-FirstAuth-End-Answer message until it receives a valid | ||
| PANA-Auth-Request message for the second EAP authentication. | ||
| o When a PaC receives a duplicate PANA-Bind-Request message for | ||
| which it has already answered, it MAY send a duplicate | ||
| PANA-Bind-Answer message until it receives some hint provided | ||
| outside the PANA protocol (e.g., receipt of a secure association | ||
| protocol message from an EP or receipt of data traffic) indicating | ||
| that the PAA has received a PANA-Bind-Answer message. | ||
| o When a PaC or a PAA receives a duplicate PANA-Termination-Request | ||
| message for which it has already answered, it MAY send a duplicate | ||
| PANA-Termination-Answer message for a while before deleting the | ||
| PANA session. The period to send duplicate | ||
| PANA-Termination-Answer messages may be a configurable parameter. | ||
| 4.12 Mobility Handling | ||
| A mobile PaC's network access authentication performance can be | ||
| enhanced by deploying a context-transfer-based mechanism, where some | ||
| session attributes are transferred from the previous PAA to the new | ||
| one in order to avoid performing a full EAP authentication (reactive | ||
| approach). Additional mechanisms that are based on the proactive AAA | ||
| state establishment at one or more candidate PAAs may be developed in | ||
| the future [I-D.irtf-aaaarch-handoff]. The details of a | ||
| context-transfer-based mechanism is provided in this section. | context-transfer-based mechanism is provided in this section. | |
| Upon changing its point of attachment, a PaC that wants to quickly | Upon changing its point of attachment, a PaC that wants to quickly | |
| resume its ongoing PANA session without running EAP MAY send its | resume its ongoing PANA session without running EAP MAY send its | |
| unexpired PANA session identifier in its PANA-Start-Answer message. | unexpired PANA session identifier in its PANA-Start-Answer message. | |
| Along with the Session-Id AVP, MAC and Nonce AVPs MUST be included in | Along with the Session-Id AVP, a MAC AVP MUST be included in this | |
| this message. Nonce AVP carries a randomly chosen value (PaC_Nonce), | message. The MAC AVP is computed by using the PANA_MAC_KEY shared | |
| and MAC AVP is computed by using the PANA_MAC_Key shared between the | between the PaC and its previous PAA that has an unexpired PANA | |
| PaC and its previous PAA that has an unexpired PANA session with the | session with the PaC. This action signals PaC's desire to perform | |
| PaC. This action signals PaC's desire to perform the mobility | the mobility optimization. In the absence of a Session-Id AVP in | |
| optimization. In the absence of Session-Id AVP in this message, PANA | this message, the PANA session takes its usual course (i.e., | |
| session takes its usual course (i.e., EAP-based authentication is | EAP-based authentication is performed). | |
| performed). | ||
| If PAA receives a session identifier in the PANA-Start-Answer | If a PAA receives a session identifier in the PANA-Start-Answer | |
| message, and it is configured to enable this optimization, it SHOULD | message, and it is configured to enable this optimization, it SHOULD | |
| retrieve the PANA session attributes from the previous PAA. Current | retrieve the PANA session attributes from the previous PAA. Current | |
| PAA determines the identity of the previous PAA by looking at the | PAA determines the identity of the previous PAA by looking at the | |
| DiameterIdentity part of the PANA session identifier. The MAC AVP | DiameterIdentity part of the PANA session identifier. The MAC AVP | |
| can only be verified by the previous PAA, therefore a copy of the | can only be verified by the previous PAA, therefore a copy of the | |
| PANA message SHOULD be provided to the previous PAA. The mechanism | PANA message SHOULD be provided to the previous PAA. The mechanism | |
| required to send a copy of the PANA-Start-Answer message from current | required to send a copy of the PANA-Start-Answer message from current | |
| PAA to the previous PAA, and retrieve the session attributes is | PAA to the previous PAA, and retrieve the session attributes is | |
| outside the scope of PANA protocol. Seamoby Context Transfer | outside the scope of PANA protocol. Seamoby Context Transfer | |
| Protocol [I-D.ietf-seamoby-ctp] might be useful for this purpose. | Protocol [I-D.ietf-seamoby-ctp] might be useful for this purpose. | |
| Skipping to change at page 29, line 20: | ||
| In case the current PAA can retrieve the on-going PANA session | In case the current PAA can retrieve the on-going PANA session | |
| attributes from the previous PAA, the PANA session continues with a | attributes from the previous PAA, the PANA session continues with a | |
| PANA-Bind exchange. | PANA-Bind exchange. | |
| As part of the context transfer, an intermediate AAA-Key material is | As part of the context transfer, an intermediate AAA-Key material is | |
| provided by the previous PAA to the current PAA. | provided by the previous PAA to the current PAA. | |
| AAA-Key-int = The first N bits of | AAA-Key-int = The first N bits of | |
| HMAC-SHA1(AAA-Key, DiameterIdentity | Session-ID) | HMAC-SHA1(AAA-Key, DiameterIdentity | Session-ID) | |
| In case there are two AAA-Keys generated from a NAP-ISP | ||
| authentication, the AAA-Key-int computation is: | ||
| AAA-Key-int = The first N bits of | ||
| HMAC-SHA1(AAA-Key1 | AAA-Key2, DiameterIdentity | | ||
| Session-ID) | ||
| The value of N depends on the integrity protection algorithm in use, | The value of N depends on the integrity protection algorithm in use, | |
| i.e., N=160 for HMAC-SHA1. DiameterIdentity is the identifier of the | i.e., N=160 for HMAC-SHA1. DiameterIdentity is the identifier of the | |
| current PAA. Session-ID is the identifier of the PaC's PANA session | current PAA. Session-ID is the identifier of the PaC's PANA session | |
| with the previous PAA. | with the previous PAA. | |
| The current PAA and PaC compute the new AAA-Key by using the nonce | The current PAA and PaC compute the new AAA-Key by using the nonce | |
| values and the AAA-Key-int. PAA_Nonce is the randomly chosen value | values and the AAA-Key-int. | |
| that MUST be carried in a Nonce AVP in the PANA-Bind-Request message. | ||
| AAA-Key-new = The first N bits of | AAA-Key-new = The first N bits of | |
| HMAC-SHA1(AAA-Key-int, PaC_nonce | PAA_nonce) | HMAC-SHA1(AAA-Key-int, PaC_nonce | PAA_nonce) | |
| New PANA_MAC_Key is computed based on the algorithm described in | New PANA_MAC_KEY is computed based on the algorithm described in | |
| Section 4.1.5, by using the new AAA-Key and the new Session-ID | Section 4.1.5, by using the new AAA-Key and the new Session-ID | |
| assigned by the current PAA. The MAC AVP contained in the | assigned by the current PAA. The MAC AVP contained in the | |
| PANA-Bind-Request and PANA-Bind-Answer messages MUST be generated and | PANA-Bind-Request and PANA-Bind-Answer messages MUST be generated and | |
| verified by using the new PANA_MAC_Key. The Session-ID AVP MUST | verified by using the new PANA_MAC_KEY. The Session-ID AVP MUST | |
| include a new session identifier assigned by the current PAA. A new | include a new session identifier assigned by the current PAA. A new | |
| PANA session is created upon successful completion of this exchange. | PANA session is created upon successful completion of this exchange. | |
| Note that correct operation of this optimization relies on many | Note that correct operation of this optimization relies on many | |
| factors, including applicability of authorization state from one | factors, including applicability of authorization state from one | |
| network attachment to another. [I-D.ietf-eap-keying] identifies this | network attachment to another. [I-D.ietf-eap-keying] identifies this | |
| operation as "fast handoff" and provides deployment considerations. | operation as "fast handoff" and provides deployment considerations. | |
| Operators are recommended to take those guidelines into account when | Operators are recommended to take those guidelines into account when | |
| using this optimization in their networks. | using this optimization in their networks. | |
| 4.10 Support for Separate EP | 4.13 Support for Separate EP | |
| PANA allows PAA and EP to be separate entities. In this case, if | PANA allows the PAA and the EP to be separate entities. In this | |
| data traffic protection needs to be initiated after successful PANA | case, if data traffic protection needs to be initiated after | |
| authentication phase, PaC needs to know the device identifier of | successful PANA authentication phase, the PaC needs to know the | |
| EP(s) so that it is able to establish a security association with | device identifier of EP(s) so that it is able to establish a security | |
| each EP to protect data traffic. | association with each EP to protect data traffic. | |
| To this end, when a Protection-Capability AVP with either | To this end, when a Protection-Capability AVP with either | |
| L2_PROTECTION or IPSEC_PROTECTION in the AVP payload is carried in a | L2_PROTECTION or IPSEC_PROTECTION in the AVP payload is carried in a | |
| PANA-Bind-Request message and if there is an EP that has a different | PANA-Bind-Request message and if there is an EP that has a different | |
| device identifier than that of the PAA, one or more EP-Device-Id AVPs | device identifier than that of the PAA, one or more EP-Device-Id AVPs | |
| MUST also be carried in the PANA-Bind-Request message. In this case, | MUST also be carried in the PANA-Bind-Request message. In this case, | |
| if one EP has the same device identifier as the PAA, an EP-Device-Id | if one EP has the same device identifier as the PAA, an EP-Device-Id | |
| AVP that contains the device identifier of the EP (i.e., the PAA) | AVP that contains the device identifier of the EP (i.e., the PAA) | |
| MUST also be included in the PANA-Bind-Request. | MUST also be included in the PANA-Bind-Request. | |
| Aside from provisioning EP, the same PAA-to-EP protocol MAY be used | Aside from provisioning the EP, the same PAA-to-EP protocol MAY be | |
| for triggering the PAA upon detecting the need to authenticate a new | used for triggering the PAA upon detecting the need to authenticate a | |
| client. | new client. | |
| 5. PANA Security Association Establishment | 5. PANA Security Association Establishment | |
| When PANA is used over an already established secure channel, such as | When PANA is used over an already established secure channel, such as | |
| physically secured wires or ciphered link-layers, we can reasonably | physically secured wires or ciphered link-layers, we can reasonably | |
| assume that man-in-the-middle attack or service theft is not possible | assume that man-in-the-middle attacks or service theft is not | |
| [I-D.ietf-pana-threats-eval]. | possible. See [I-D.ietf-pana-threats-eval] for a detailed | |
| discussion. | ||
| Anywhere else where there is no secure channel prior to PANA, the | In environments where no secure channel prior to the PANA execution | |
| protocol needs to protect itself against such attacks. The device | is available, PANA needs to protect itself against a number of | |
| identifier that is used during the authentication needs to be | attacks. The device identifier that is used during the | |
| verified at the end of the authentication to prevent service theft | authentication needs to be verified at the end of the authentication | |
| and DoS attacks. Additionally, a free loader should be prevented | to prevent service theft and DoS attacks. Additionally, a free | |
| from spoofing data packets by using the device identifier of an | loader should be prevented from spoofing data packets by using the | |
| already authorized legitimate client. Both of these requirements | device identifier of an already authorized legitimate client. Both | |
| necessitate generation of a security association between the PaC and | of these requirements necessitate generation of a security | |
| the PAA at the end of the authentication. This can only be done when | association between the PaC and the PAA at the end of the | |
| the authentication method used can generate cryptographic keys. Use | authentication. This can only be done when the authentication method | |
| of secret keys can prevent attacks which would otherwise be very easy | used can generate session keys. Use of session keys can prevent | |
| to launch by eavesdropping on and spoofing traffic over an insecure | attacks which would otherwise be very easy to launch by eavesdropping | |
| link. | on and spoofing traffic over an insecure link. | |
| PANA relies on EAP and the EAP methods to provide a session key in | The EAP method provided session key is transported to the PAA (if | |
| order to establish a PANA security association. An example of such a | necessary) and is subsequently input to the creation of the PANA SA. | |
| method is EAP-TLS [RFC2716], whereas EAP-MD5 | Applying the PANA SA to the messages exchanged during the final PANA | |
| [I-D.ietf-eap-rfc2284bis] is an example of a method that cannot | handshake provides implicit key confirmation to both the PAA and the | |
| create such keying material. The choice of EAP method becomes | PaC. Implicit key confirmation shows both, the PaC and the PAA, that | |
| important, as discussed in the next section. | they possess the unique and fresh session key. | |
| This keying material is already used within PANA during the final | Protecting the final PANA handshake also ensures that the device | |
| handshake. This handshake ensures that the device identifier that is | identifier (and other information) cannot be modified by an | |
| bound to the PaC at the end of the authentication process is not | adversary. Further usage of the keying material is discussed in | |
| coming from a man-in-the-middle, but from the legitimate PaC. | ||
| Knowledge of the same keying material on both PaC and the PAA helps | ||
| prove this. The other use of the keying material is discussed in | ||
| [I-D.ietf-pana-framework]. | [I-D.ietf-pana-framework]. | |
| 6. Message Formats | 6. Message Formats | |
| This section defines message formats for PANA protocol. | This section defines message formats for PANA protocol. | |
| 6.1 IP and UDP Headers | 6.1 IP and UDP Headers | |
| The Hop Limit (or TTL) field of the IP header MUST be set to 255. | The Hop Limit (or TTL) field of the IP header MUST be set to 255. | |
| When a PANA-PAA-Discover message is multicast, IP destination address | When a PANA-PAA-Discover message is multicast, IP destination address | |
| Skipping to change at page 35, line 47: | ||
| AVP Length | AVP Length | |
| The AVP Length field is three octets, and indicates the number of | The AVP Length field is three octets, and indicates the number of | |
| octets in this AVP including the AVP Code, AVP Length, AVP Flags, | octets in this AVP including the AVP Code, AVP Length, AVP Flags, | |
| and the AVP data | and the AVP data | |
| Vendor-Id | Vendor-Id | |
| The Vendor-Id field is present if the 'V' bit is set in the AVP | The Vendor-Id field is present if the 'V' bit is set in the AVP | |
| Flags field. The optional four-octet Vendor-Id field contains the | Flags field. The optional four-octet Vendor-Id field contains the | |
| uniquely assigned id value, encoded in network byte order. Any | IANA assigned "SMI Network Management Private Enterprise Codes" | |
| vendor wishing to implement a vendor-specific PANA AVP MUST use | [ianaweb] value, encoded in network byte order. Any vendor | |
| their own Vendor-Id along with their privately managed AVP address | wishing to implement a vendor-specific PANA AVP MUST use their own | |
| space, guaranteeing that they will not collide with any other | Vendor-Id along with their privately managed AVP address space, | |
| vendor's vendor-specific AVP(s), nor with future IETF | guaranteeing that they will not collide with any other vendor's | |
| applications. | vendor-specific AVP(s), nor with future IETF applications. | |
| Data | Data | |
| The Data field is zero or more octets and contains information | The Data field is zero or more octets and contains information | |
| specific to the Attribute. The format and length of the Data | specific to the Attribute. The format and length of the Data | |
| field is determined by the AVP Code and AVP Length fields. | field is determined by the AVP Code and AVP Length fields. | |
| 6.4 PANA Messages | 6.4 PANA Messages | |
| Figure 10 lists all PANA messages defined in this document | Figure 11 lists all PANA messages defined in this document | |
| Message Direction: PaC---PAA | Message Direction: PaC---PAA | |
| ---------------------------------------- | ---------------------------------------- | |
| PANA-PAA-Discover --------> | PANA-PAA-Discover --------> | |
| PANA-Start-Request <-------- | PANA-Start-Request <-------- | |
| PANA-Start-Answer --------> | PANA-Start-Answer --------> | |
| PANA-Auth-Request <-------- | PANA-Auth-Request <-------- | |
| PANA-Auth-Answer --------> | PANA-Auth-Answer --------> | |
| Skipping to change at page 36, line 38: | ||
| PANA-Bind-Request <-------- | PANA-Bind-Request <-------- | |
| PANA-Bind-Answer --------> | PANA-Bind-Answer --------> | |
| PANA-Reauth-Request <-------> | PANA-Reauth-Request <-------> | |
| PANA-Reauth-Answer <-------> | PANA-Reauth-Answer <-------> | |
| PANA-Termination-Request <-------> | PANA-Termination-Request <-------> | |
| PANA-Termination-Answer <-------> | PANA-Termination-Answer <-------> | |
| PANA-Update-Request --------> | ||
| PANA-Update-Answer <-------- | ||
| PANA-Error <-------> | PANA-Error <-------> | |
| Figure 10: PANA Message Overview | Figure 11: PANA Message Overview | |
| 6.4.1 Message Specifications | 6.4.1 Message Specifications | |
| Every PANA message MUST include a corresponding ABNF [RFC2234] | Every PANA message MUST include a corresponding ABNF [RFC2234] | |
| specification found in [RFC3588]. Note that PANA messages have a | specification found in [RFC3588]. Note that PANA messages have a | |
| different header format compared to Diameter. | different header format compared to Diameter. | |
| Example: | Example: | |
| message ::= < PANA-Header: <Message type>, [REQ] [SEP] > | message ::= < PANA-Header: <Message type>, [REQ] [SEP] > | |
| Skipping to change at page 37, line 25: | ||
| 0*1 < Session-Id > | 0*1 < Session-Id > | |
| * [ AVP ] | * [ AVP ] | |
| 6.4.3 PANA-Start-Request (PSR) | 6.4.3 PANA-Start-Request (PSR) | |
| PANA-Start-Request (PSR) is sent by the PAA to the PaC. The PAA sets | PANA-Start-Request (PSR) is sent by the PAA to the PaC. The PAA sets | |
| the transmission sequence number to an initial random value. The | the transmission sequence number to an initial random value. The | |
| received sequence number is set to zero (0). | received sequence number is set to zero (0). | |
| PANA-Start-Request ::= < PANA-Header: 2, REQ [SEP] > | PANA-Start-Request ::= < PANA-Header: 2, REQ [SEP] > | |
| { Nonce } | ||
| [ Cookie ] | [ Cookie ] | |
| [ EAP-Payload ] | [ EAP-Payload ] | |
| [ NAP-Information ] | [ NAP-Information ] | |
| * [ ISP-Information ] | * [ ISP-Information ] | |
| [ Protection-Capability] | [ Protection-Capability] | |
| [ PPAC ] | [ PPAC ] | |
| * [ AVP ] | * [ AVP ] | |
| 6.4.4 PANA-Start-Answer (PSA) | 6.4.4 PANA-Start-Answer (PSA) | |
| PANA-Start-Answer (PSA) is sent by the PaC to the PAA in response to | PANA-Start-Answer (PSA) is sent by the PaC to the PAA in response to | |
| a PANA-Start-Request message. The PANA_start message transmission | a PANA-Start-Request message. The PANA_start message transmission | |
| sequence number field is copied to the received sequence number | sequence number field is copied to the received sequence number | |
| field. The transmission sequence number is set to initial random | field. The transmission sequence number is set to initial random | |
| value. | value. | |
| PANA-Start-Answer ::= < PANA-Header: 2 [SEP] > | PANA-Start-Answer ::= < PANA-Header: 2 [SEP] > | |
| { Nonce } | ||
| [ Session-Id ] | [ Session-Id ] | |
| [ Cookie ] | [ Cookie ] | |
| [ Nonce ] | ||
| [ EAP-Payload ] | [ EAP-Payload ] | |
| [ ISP-Information ] | [ ISP-Information ] | |
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | ||
| 6.4.5 PANA-Auth-Request (PAR) | 6.4.5 PANA-Auth-Request (PAR) | |
| PANA-Auth-Request (PAR) is sent by the PAA to the PaC. | PANA-Auth-Request (PAR) is sent by the PAA to the PaC. | |
| PANA-Auth-Request ::= < PANA-Header: 3, REQ [SEP] [NAP] > | PANA-Auth-Request ::= < PANA-Header: 3, REQ [SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| < EAP-Payload > | < EAP-Payload > | |
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| Skipping to change at page 38, line 42: | ||
| PANA-Bind-Request ::= < PANA-Header: 4, REQ [SEP] [NAP] > | PANA-Bind-Request ::= < PANA-Header: 4, REQ [SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| { Result-Code } | { Result-Code } | |
| { PPAC } | { PPAC } | |
| [ EAP-Payload ] | [ EAP-Payload ] | |
| [ Device-Id ] | [ Device-Id ] | |
| [ Session-Lifetime ] | [ Session-Lifetime ] | |
| [ Protection-Capability ] | [ Protection-Capability ] | |
| [ Key-Id ] | [ Key-Id ] | |
| [ Nonce ] | ||
| * [ EP-Device-Id ] | * [ EP-Device-Id ] | |
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 6.4.8 PANA-Bind-Answer (PBA) | 6.4.8 PANA-Bind-Answer (PBA) | |
| PANA-Bind-Answer (PBA) is sent by the PaC to the PAA in response to a | PANA-Bind-Answer (PBA) is sent by the PaC to the PAA in response to a | |
| PANA-Result-Request message. | PANA-Result-Request message. | |
| PANA-Bind-Answer ::= < PANA-Header: 4 [,SEP] [NAP] > | PANA-Bind-Answer ::= < PANA-Header: 4 [,SEP] [NAP] > | |
| Skipping to change at page 39, line 20: | ||
| [ Key-Id ] | [ Key-Id ] | |
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 6.4.9 PANA-Reauth-Request (PRAR) | 6.4.9 PANA-Reauth-Request (PRAR) | |
| PANA-Reauth-Request (PRAR) is either sent by the PaC or the PAA. | PANA-Reauth-Request (PRAR) is either sent by the PaC or the PAA. | |
| PANA-Reauth-Request ::= < PANA-Header: 5, REQ > | PANA-Reauth-Request ::= < PANA-Header: 5, REQ > | |
| < Session-Id > | < Session-Id > | |
| [ Device-Id ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 6.4.10 PANA-Reauth-Answer (PRAA) | 6.4.10 PANA-Reauth-Answer (PRAA) | |
| PANA-Reauth-Answer (PRAA) is sent in response to a | PANA-Reauth-Answer (PRAA) is sent in response to a | |
| PANA-Reauth-Request. | PANA-Reauth-Request. | |
| PANA-Reauth-Answer ::= < PANA-Header: 5 > | PANA-Reauth-Answer ::= < PANA-Header: 5 > | |
| < Session-Id > | < Session-Id > | |
| [ Device-Id ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 6.4.11 PANA-Termination-Request (PTR) | 6.4.11 PANA-Termination-Request (PTR) | |
| PANA-Termination-Request (PTR) is sent either by the PaC or the PAA. | PANA-Termination-Request (PTR) is sent either by the PaC or the PAA. | |
| PANA-Termination-Request ::= < PANA-Header: 6, REQ > | PANA-Termination-Request ::= < PANA-Header: 6, REQ > | |
| < Session-Id > | < Session-Id > | |
| < Termination-Cause > | < Termination-Cause > | |
| Skipping to change at page 40, line 46: | ||
| PANA-FirstAuth-End-Answer (PFEA) is sent by the PaC to the PAA in | PANA-FirstAuth-End-Answer (PFEA) is sent by the PaC to the PAA in | |
| response to a PANA-FirstAuth-End-Request message. | response to a PANA-FirstAuth-End-Request message. | |
| PANA-FirstAuth-End-Answer ::= < PANA-Header: 8, REQ [SEP] [NAP] > | PANA-FirstAuth-End-Answer ::= < PANA-Header: 8, REQ [SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| < Device-Id > | < Device-Id > | |
| [ Key-Id ] | [ Key-Id ] | |
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 6.4.16 PANA-Update-Request (PUR) | ||
| PANA-Update-Request (PUR) is sent by the PaC to the PAA. | ||
| PANA-Update-Request ::= < PANA-Header: 9, REQ > | ||
| < Session-Id > | ||
| < IP-Address > | ||
| * [ AVP ] | ||
| 0*1 < MAC > | ||
| 6.4.17 PANA-Update-Answer (PUA) | ||
| PANA-Update-Answer (PUA) is sent by the PAA to the PaC in response to | ||
| a PANA-Update-Request. | ||
| PANA-Update-Answer ::= < PANA-Header: 9 > | ||
| < Session-Id > | ||
| * [ AVP ] | ||
| 0*1 < MAC > | ||
| 6.5 AVPs in PANA | 6.5 AVPs in PANA | |
| Some of the used AVPs are defined in this document and some of them | Some of the used AVPs are defined in this document and some of them | |
| are defined in other documents like [RFC3588]. PANA proposes to use | are defined in other documents like [RFC3588]. PANA proposes to use | |
| the same name space with [RFC3588]. For temporary allocation, PANA | the same name space with [RFC3588]. For temporary allocation, PANA | |
| uses AVP type numbers starting from 1024. | uses AVP type numbers starting from 1024. | |
| 6.5.1 MAC AVP | 6.5.1 MAC AVP | |
| The first octet (8 bits) of the MAC (Code 1024) AVP data contains the | The first octet (8 bits) of the MAC (Code 1024) AVP data contains the | |
| Skipping to change at page 42, line 47: | ||
| Abort-Session-Request message. | Abort-Session-Request message. | |
| SESSION_TIMEOUT 8 (PAA -> PaC) | SESSION_TIMEOUT 8 (PAA -> PaC) | |
| The session has timed out, and service has been terminated. | The session has timed out, and service has been terminated. | |
| 6.5.7 Result-Code AVP | 6.5.7 Result-Code AVP | |
| The Result-Code AVP (AVP Code 1030) is of type Unsigned32 and | The Result-Code AVP (AVP Code 1030) is of type Unsigned32 and | |
| indicates whether an EAP authentication was completed successfully or | indicates whether an EAP authentication was completed successfully or | |
| whether an error occurred. Here are Result-Code AVP values taken from | whether an error occurred. Here are Result-Code AVP values taken | |
| [RFC3588] and adapted for PANA. | from [RFC3588] and adapted for PANA. | |
| 6.5.7.1 Authentication Results Codes | 6.5.7.1 Authentication Results Codes | |
| These result code values inform the PaC about the authentication and | These result code values inform the PaC about the authentication and | |
| authorization result. The authentication result and authorization | authorization result. The authentication result and authorization | |
| result can be different as described below, but only one result that | result can be different as described below, but only one result that | |
| corresponds to the one detected first is returned. | corresponds to the one detected first is returned. | |
| PANA_SUCCESS 2001 | PANA_SUCCESS 2001 | |
| Skipping to change at page 44, line 25: | ||
| caused the failure. | caused the failure. | |
| PANA_UNKNOWN_SESSION_ID 5002 | PANA_UNKNOWN_SESSION_ID 5002 | |
| Error code from PAA to PaC or from PaC to PAA. The message | Error code from PAA to PaC or from PaC to PAA. The message | |
| contained an unknown Session-Id. PAA MUST NOT send this error | contained an unknown Session-Id. PAA MUST NOT send this error | |
| result code value to PaC if PaC sent an unknown Session-Id in the | result code value to PaC if PaC sent an unknown Session-Id in the | |
| PANA-Start-Answer message (session resumption). | PANA-Start-Answer message (session resumption). | |
| PANA_INVALID_AVP_VALUE 5004 | PANA_INVALID_AVP_VALUE 5004 | |
| Error code from PAA to PaC or from PaC to PAA. The message | Error code from PAA to PaC or from PaC to PAA. The message | |
| contained an AVP with an invalid value in its data portion. A | contained an AVP with an invalid value in its data portion. A | |
| PANA message indicating this error MUST include the offending AVPs | PANA message indicating this error MUST include the offending AVPs | |
| within a Failed-AVP AVP. | within a Failed-AVP AVP. | |
| PANA_MISSING_AVP 5005 | PANA_MISSING_AVP 5005 | |
| Error code from PAA to PaC or from PaC to PAA. The message did not | Error code from PAA to PaC or from PaC to PAA. The message did | |
| contain an AVP that is required by the message type definition. | not contain an AVP that is required by the message type | |
| If this value is sent in the Result-Code AVP, a Failed-AVP AVP | definition. If this value is sent in the Result-Code AVP, a | |
| SHOULD be included in the message. The Failed-AVP AVP MUST | Failed-AVP AVP SHOULD be included in the message. The Failed-AVP | |
| contain an example of the missing AVP complete with the Vendor-Id | AVP MUST contain an example of the missing AVP complete with the | |
| if applicable. The value field of the missing AVP should be of | Vendor-Id if applicable. The value field of the missing AVP | |
| correct minimum length and contain zeroes. | should be of correct minimum length and contain zeroes. | |
| PANA_RESOURCES_EXCEEDED 5006 | PANA_RESOURCES_EXCEEDED 5006 | |
| Error code from PAA to PaC. A message was received that cannot be | Error code from PAA to PaC. A message was received that cannot be | |
| authorized because the client has already expended allowed | authorized because the client has already expended allowed | |
| resources. An example of this error condition is a client that is | resources. An example of this error condition is a client that is | |
| restricted to one PANA session and attempts to establish a second | restricted to one PANA session and attempts to establish a second | |
| session. | session. | |
| PANA_CONTRADICTING_AVPS 5007 | PANA_CONTRADICTING_AVPS 5007 | |
| Skipping to change at page 46, line 20: | ||
| the protection capability specified in the Protection-Capability | the protection capability specified in the Protection-Capability | |
| AVP. | AVP. | |
| PANA_PPAC_CAPABILITY_UNSUPPORTED 5017 | PANA_PPAC_CAPABILITY_UNSUPPORTED 5017 | |
| Error code from PaC to PAA. This error is returned in a | Error code from PaC to PAA. This error is returned in a | |
| PANA-Bind-Answer message when there is no match between the list | PANA-Bind-Answer message when there is no match between the list | |
| of PPAC methods offered by the PAA and the ones available on the | of PPAC methods offered by the PAA and the ones available on the | |
| PaC. | PaC. | |
| PANA_INVALID_IP_ADDRESS 5018 | ||
| Error code from PAA to PaC. This error is returned in a | ||
| PANA-Error message when the IP-Address AVP in the received | ||
| PANA-Update-Request message is invalid (e.g., a non-unicast | ||
| address). | ||
| 6.5.8 EAP-Payload AVP | 6.5.8 EAP-Payload AVP | |
| The EAP-Payload AVP (AVP Code 1031) is of type OctetString and is | The EAP-Payload AVP (AVP Code 1031) is of type OctetString and is | |
| used to encapsulate the actual EAP packet that is being exchanged | used to encapsulate the actual EAP packet that is being exchanged | |
| between the EAP peer and the EAP authenticator. | between the EAP peer and the EAP authenticator. | |
| 6.5.9 Session-Lifetime AVP | 6.5.9 Session-Lifetime AVP | |
| The Session-Lifetime AVP (Code 1032) data is of type Unsigned32. It | The Session-Lifetime AVP (Code 1032) data is of type Unsigned32. It | |
| contains the number of seconds remaining before the current session | contains the number of seconds remaining before the current session | |
| Skipping to change at page 49, line 5: | ||
| using one of the methods indicated by the other flags. Refer to | using one of the methods indicated by the other flags. Refer to | |
| [I-D.ietf-pana-framework] for a detailed discussion on when these | [I-D.ietf-pana-framework] for a detailed discussion on when these | |
| methods can be used. | methods can be used. | |
| 6.5.18 Nonce AVP | 6.5.18 Nonce AVP | |
| The Nonce AVP (Code 1041) is of type OctetString. The data contains | The Nonce AVP (Code 1041) is of type OctetString. The data contains | |
| a randomly generated value in opaque format. The data length MUST be | a randomly generated value in opaque format. The data length MUST be | |
| between 8 and 256 bytes inclusive. | between 8 and 256 bytes inclusive. | |
| 6.5.19 IP-Address AVP | ||
| The IP-Address (AVP Code: 1042) contains an IP address of a PaC. The | ||
| payload format of the IP-Address AVP is the same as that of the | ||
| Device-Id AVP (see See section Section 6.5.2). Address families for | ||
| IPv4 or IPv6 MUST be used for this AVP. | ||
| 6.6 AVP Occurrence Table | 6.6 AVP Occurrence Table | |
| The following tables lists the AVPs used in this document, and | The following tables lists the AVPs used in this document, and | |
| specifies in which PANA messages they MAY, or MAY NOT be present. | specifies in which PANA messages they MAY, or MAY NOT be present. | |
| The table uses the following symbols: | The table uses the following symbols: | |
| 0 The AVP MUST NOT be present in the message. | 0 The AVP MUST NOT be present in the message. | |
| 0+ Zero or more instances of the AVP MAY be present in the | 0+ Zero or more instances of the AVP MAY be present in the | |
| Skipping to change at page 49, line 37: | ||
| | Message | | | Message | | |
| | Type | | | Type | | |
| +-----+-----+-----+-----+-----+-----+-----+ | +-----+-----+-----+-----+-----+-----+-----+ | |
| Attribute Name | PSR | PSA | PAR | PAN | PBR | PBA | PDI | | Attribute Name | PSR | PSA | PAR | PAN | PBR | PBA | PDI | | |
| --------------------+-----+-----+-----+-----+-----+-----+-----+ | --------------------+-----+-----+-----+-----+-----+-----+-----+ | |
| Result-Code | 0 | 0 | 0 | 0 | 1 | 1 | 0 | | Result-Code | 0 | 0 | 0 | 0 | 1 | 1 | 0 | | |
| Session-Id | 0 | 0-1 | 1 | 1 | 1 | 1 | 0-1 | | Session-Id | 0 | 0-1 | 1 | 1 | 1 | 1 | 0-1 | | |
| Termination-Cause | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Termination-Cause | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| EAP-Payload | 0-1 | 0-1 | 1 | 1 | 0-1 | 0 | 0 | | EAP-Payload | 0-1 | 0-1 | 1 | 1 | 0-1 | 0 | 0 | | |
| MAC | 0 | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | 0 | | MAC | 0 | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | 0 | | |
| Nonce | 0 | 0-1 | 0 | 0 | 0-1 | 0 | 0 | | Nonce | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | |
| Device-Id | 0 | 0 | 0 | 0 | 0-1 | 0-1 | 0 | | Device-Id | 0 | 0 | 0 | 0 | 0-1 | 0-1 | 0 | | |
| Cookie | 0-1 | 0-1 | 0 | 0 | 0 | 0 | 0 | | Cookie | 0-1 | 0-1 | 0 | 0 | 0 | 0 | 0 | | |
| Protection-Cap. | 0-1 | 0 | 0 | 0 | 0-1 | 0 | 0 | | Protection-Cap. | 0-1 | 0 | 0 | 0 | 0-1 | 0 | 0 | | |
| PPAC | 0-1 | 0 | 0 | 0 | 1 | 0-1 | 0 | | PPAC | 0-1 | 0 | 0 | 0 | 1 | 0-1 | 0 | | |
| Session-Lifetime | 0 | 0 | 0 | 0 | 0-1 | 0 | 0 | | Session-Lifetime | 0 | 0 | 0 | 0 | 0-1 | 0 | 0 | | |
| Failed-AVP | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Failed-AVP | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| ISP-Information | 0+ | 0-1 | 0 | 0 | 0 | 0 | 0 | | ISP-Information | 0+ | 0-1 | 0 | 0 | 0 | 0 | 0 | | |
| NAP-Information | 0-1 | 0 | 0 | 0 | 0 | 0 | 0 | | NAP-Information | 0-1 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| EP-Device-Id | 0 | 0 | 0 | 0 | 0+ | 0 | 0 | | EP-Device-Id | 0 | 0 | 0 | 0 | 0+ | 0 | 0 | | |
| Key-Id | 0 | 0 | 0 | 0 | 0-1 | 0-1 | 0 | | Key-Id | 0 | 0 | 0 | 0 | 0-1 | 0-1 | 0 | | |
| IP-Address | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| --------------------+-----+-----+-----+-----+-----+-----+-----+ | --------------------+-----+-----+-----+-----+-----+-----+-----+ | |
| Figure 11: AVP Occurrence Table (1/2) | Figure 12: AVP Occurrence Table (1/3) | |
| +---------------------------------------------+ | +---------------------------------------------+ | |
| | Message | | | Message | | |
| | Type | | | Type | | |
| +------+------+-----+-----+-----+------+------+ | +------+------+-----+-----+-----+------+------+ | |
| Attribute Name | PRAR | PRAA | PTR | PTA | PER | PFER | PFEA | | Attribute Name | PRAR | PRAA | PTR | PTA | PER | PFER | PFEA | | |
| --------------------+------+------+-----+-----+-----+------+------+ | --------------------+------+------+-----+-----+-----+------+------+ | |
| Result-Code | 0 | 0 | 0 | 0 | 1 | 1 | 0 | | Result-Code | 0 | 0 | 0 | 0 | 1 | 1 | 0 | | |
| Session-Id | 1 | 1 | 1 | 1 | 1 | 1 | 1 | | Session-Id | 1 | 1 | 1 | 1 | 1 | 1 | 1 | | |
| Termination-Cause | 0 | 0 | 1 | 0 | 0 | 0 | 0 | | Termination-Cause | 0 | 0 | 1 | 0 | 0 | 0 | 0 | | |
| EAP-Payload | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | EAP-Payload | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | |
| MAC | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | | MAC | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | 0-1 | | |
| Nonce | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Nonce | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Device-Id | 0-1 | 0-1 | 0 | 0 | 0 | 0 | 0 | | Device-Id | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Cookie | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Cookie | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Protection-Cap. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Protection-Cap. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| PPAC | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | PPAC | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Session-Lifetime | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Session-Lifetime | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Failed-AVP | 0 | 0 | 0 | 0 | 1 | 0 | 0 | | Failed-AVP | 0 | 0 | 0 | 0 | 1 | 0 | 0 | | |
| ISP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ISP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| NAP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | NAP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| EP-Device-Id | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | EP-Device-Id | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Key-Id | 0 | 0 | 0 | 0 | 0 | 0-1 | 0-1 | | Key-Id | 0 | 0 | 0 | 0 | 0 | 0-1 | 0-1 | | |
| IP-Address | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| --------------------+------+------+-----+-----+-----+------+------+ | --------------------+------+------+-----+-----+-----+------+------+ | |
| Figure 12: AVP Occurrence Table (2/2) | Figure 13: AVP Occurrence Table (2/3) | |
| +-----------+ | ||
| | Message | | ||
| | Type | | ||
| +-----+-----+ | ||
| Attribute Name | PUR | PUA | | ||
| --------------------+-----+-----+ | ||
| Result-Code | 0 | 0 | | ||
| Session-Id | 1 | 1 | | ||
| Termination-Cause | 0 | 0 | | ||
| EAP-Payload | 0 | 0 | | ||
| MAC | 0-1 | 0-1 | | ||
| Nonce | 0 | 0 | | ||
| Device-Id | 0 | 0 | | ||
| Cookie | 0 | 0 | | ||
| Protection-Cap. | 0 | 0 | | ||
| PPAC | 0 | 0 | | ||
| Session-Lifetime | 0 | 0 | | ||
| Failed-AVP | 0 | 0 | | ||
| ISP-Information | 0 | 0 | | ||
| NAP-Information | 0 | 0 | | ||
| EP-Device-Id | 0 | 0 | | ||
| Key-Id | 0 | 0 | | ||
| IP-Address | 1 | 0 | | ||
| --------------------+-----+-----+ | ||
| Figure 14: AVP Occurrence Table (3/3) | ||
| 7. PANA Protocol Message Retransmissions | 7. PANA Protocol Message Retransmissions | |
| The PANA protocol provides retransmissions for all the message | The PANA protocol provides retransmissions for all the message | |
| exchanges except PANA-Auth-Request/Answer. PANA-Auth-Request | exchanges except PANA-Auth-Request/Answer. PANA-Auth-Request | |
| messages carry EAP requests which are retransmitted by the EAP | messages carry EAP requests which are retransmitted by the EAP | |
| protocol entities when needed. The messages that need PANA-level | protocol entities when needed. The messages that need PANA-level | |
| retransmissions are listed below: | retransmissions are listed below: | |
| PANA-PAA-Discover (PDI) | PANA-PAA-Discover (PDI) | |
| PANA-Start-Request (PSR)* | PANA-Start-Request (PSR)* | |
| PANA-Start-Answer (PSA)** | PANA-Start-Answer (PSA)** | |
| PANA-Bind-Request (PBR) | PANA-Bind-Request (PBR) | |
| PANA-FirstAuth-End-Request (PFER) | PANA-FirstAuth-End-Request (PFER) | |
| PANA-Reauth-Request (PRAR) | PANA-Reauth-Request (PRAR) | |
| PANA-Termination-Request (PTR) | PANA-Termination-Request (PTR) | |
| PANA-Update-Request (PUR) | ||
| *) PSR that carries a Cookie AVP is not retransmitted. | *) PSR that carries a Cookie AVP is not retransmitted. | |
| **) PSA that does not carry a Cookie AVP is not retransmitted. | **) PSA that does not carry a Cookie AVP is not retransmitted. | |
| The PDI and PSA messages are always sent by the PaC. PBR is sent by | The PDI and PSA messages are always sent by the PaC. PBR is sent by | |
| PAA. The last two messages, PRAR and PTR are sent either by PaC or | PAA. The last two messages, PRAR and PTR are sent either by PaC or | |
| PAA. | PAA. | |
| The rule is that the sender of the request message retransmits the | The rule is that the sender of the request message retransmits the | |
| request if the corresponding answer is not received in time. Answer | request if the corresponding answer is not received in time. Answer | |
| messages are sent as answers to the request messages, not based on a | messages are sent as answers to the request messages, not based on a | |
| timer. Exception to this rule is the PSA message. Because of the | timer. Exception to this rule is the PSA message. Because of the | |
| stateless nature of the PAA in the beginning PaC provides | stateless nature of the PAA in the beginning PaC provides | |
| retransmission also for the PSA message. PANA-Error messages MUST | retransmission also for the PSA message. PANA-Error messages MUST | |
| not be retransmitted. See Section 4.1.8 for more details of PANA | NOT be retransmitted. See Section 4.1.8 for more details of PANA | |
| error handling. | error handling. | |
| PANA retransmission timers are based on the model used in DHCPv6 | PANA retransmission timers are based on the model used in DHCPv6 | |
| [RFC3315]. Variables used here are also borrowed from this | [RFC3315]. Variables used here are also borrowed from this | |
| specification. PANA is a request response like protocol. The | specification. PANA is a request response like protocol. The | |
| message exchange terminates when either the request sender | message exchange terminates when either the request sender | |
| successfully receives the appropriate answer, or when the message | successfully receives the appropriate answer, or when the message | |
| exchange is considered to have failed according to the retransmission | exchange is considered to have failed according to the retransmission | |
| mechanism described below. | mechanism described below. | |
| Skipping to change at page 54, line 8: | ||
| REQ_MRD 0 Configurable. | REQ_MRD 0 Configurable. | |
| So for example the first RT for the PBR message is calculated using | So for example the first RT for the PBR message is calculated using | |
| REQ_IRT as the IRT: | REQ_IRT as the IRT: | |
| RT = REQ_IRT + RAND*REQ_IRT | RT = REQ_IRT + RAND*REQ_IRT | |
| 8. IANA Considerations | 8. IANA Considerations | |
| This section provides guidance to the Internet Assigned Numbers | This section provides guidance to the Internet Assigned Numbers | |
| Authority (IANA) regarding registration of values related to the | Authority (IANA) regarding registration of values related to the PANA | |
| Diameter protocol, in accordance with BCP 26 [IANA]. The following | protocol, in accordance with BCP 26 [IANA]. The following policies | |
| policies are used here with the meanings defined in BCP 26: "Private | are used here with the meanings defined in BCP 26: "Private Use", | |
| Use", "First Come First Served", "Expert Review", "Specification | "First Come First Served", "Expert Review", "Specification Required", | |
| Required", "IETF Consensus", "Standards Action". | "IETF Consensus", "Standards Action". | |
| This section explains the criteria to be used by the IANA for | This section explains the criteria to be used by the IANA for | |
| assignment of numbers within namespaces defined within this document. | assignment of numbers within namespaces defined within this document. | |
| For registration requests where a Designated Expert should be | For registration requests where a Designated Expert should be | |
| consulted, the responsible IESG area director should appoint the | consulted, the responsible IESG area director should appoint the | |
| Designated Expert. For Designated Expert with Specification | Designated Expert. For Designated Expert with Specification | |
| Required, the request is posted to the PANA WG mailing list (or, if | Required, the request is posted to the PANA WG mailing list (or, if | |
| it has been disbanded, a successor designated by the Area Director) | it has been disbanded, a successor designated by the Area Director) | |
| for comment and review, and MUST include a pointer to a public | for comment and review, and MUST include a pointer to a public | |
| specification. Before a period of 30 days has passed, the Designated | specification. Before a period of 30 days has passed, the Designated | |
| Expert will either approve or deny the registration request and | Expert will either approve or deny the registration request and | |
| publish a notice of the decision to the PANA WG mailing list or its | publish a notice of the decision to the PANA WG mailing list or its | |
| successor. A denial notice must be justified by an explanation and, | successor. A denial notice must be justified by an explanation and, | |
| in the cases where it is possible, concrete suggestions on how the | in the cases where it is possible, concrete suggestions on how the | |
| request can be modified so as to become acceptable. | request can be modified so as to become acceptable. | |
| 8.1 PANA UDP Port Number | 8.1 PANA UDP Port Number | |
| TBD. | PANA uses one well-known UDP port number (Section 4.1.2, Section 4.2 | |
| and Section 6.1, which needs to be assigned by the IANA. | ||
| 8.2 PANA Multicast Address | 8.2 PANA Multicast Address | |
| TBD. | PANA uses one well-known IPv4 multicast address for which the scope | |
| is limited to be link-local by setting the TTL field to 255, and one | ||
| well-known IPv6 link-local scoped multicast address (Section 4.2 and | ||
| Section 6.1), which need to be assigned by the IANA. | ||
| 8.3 PANA Header | 8.3 PANA Header | |
| As defined in Section 6.2, the PANA header contains two fields that | ||
| requires IANA namespace management; the Message Type and Flags field. | ||
| 8.3.1 Message Type | 8.3.1 Message Type | |
| TBD. | The Message Type namespace is used to identify PANA messages. Values | |
| 0-16,777,213 are for permanent, standard message types, allocated by | ||
| IETF Consensus [IANA]. This document defines the Message Types 1-8. | ||
| See Section 6.4.1 for the assignment of the namespace in this | ||
| specification. | ||
| The values 16,777,214 and 16,777,215 (hexadecimal values 0xfffffe - | ||
| 0xffffff) are reserved for experimental messages. As these codes are | ||
| only for experimental and testing purposes, no guarantee is made for | ||
| interoperability between communicating PaC and PAA using experimental | ||
| commands, as outlined in [IANA-EXP]. | ||
| 8.3.2 Flags | 8.3.2 Flags | |
| TBD. | There are eight bits in the Flags field of the PANA header. This | |
| document assigns bit 0 ('R'equest), bit 4 ('S'eparate) and bit 5 | ||
| ('N'AP Authentication). The remaining bits MUST only be assigned via | ||
| a Standards Action [IANA]. | ||
| 8.4 AVP Header | 8.4 AVP Header | |
| As defined in Section 6.3, the AVP header contains three fields that | ||
| requires IANA namespace management; the AVP Code, AVP Flags and | ||
| Vendor-Id fields where only the AVP Code and AVP Flags create new | ||
| namespaces. | ||
| 8.4.1 AVP Code | 8.4.1 AVP Code | |
| TBD. | The AVP Code namespace is used to identify attributes. There are | |
| multiple namespaces. Vendors can have their own AVP Codes namespace | ||
| which will be identified by their Vendor-ID (also known as | ||
| Enterprise-Number) and they control the assignments of their | ||
| vendor-specific AVP codes within their own namespace. The absence of | ||
| a Vendor-ID or a Vendor-ID value of zero (0) identifies the IETF IANA | ||
| controlled AVP Codes namespace. The AVP Codes and sometimes also | ||
| possible values in an AVP are controlled and maintained by IANA. | ||
| 8.4.2 Flags | AVP Code 0 is not used. This document defines the AVP Codes | |
| 1024-1041. See Section 6.5 for the assignment of the namespace in | ||
| this specification. | ||
| TBD. | AVPs may be allocated following Designated Expert with Specification | |
| Required [IANA]. Release of blocks of AVPs (more than 3 at a time | ||
| for a given purpose) should require IETF Consensus. | ||
| 8.4.3 Vendor Id | Note that PANA defines a mechanism for Vendor-Specific AVPs, where | |
| the Vendor-Id field in the AVP header is set to a non-zero value. | ||
| Vendor-Specific AVPs codes are for Private Use and should be | ||
| encouraged instead of allocation of global attribute types, for | ||
| functions specific only to one vendor's implementation of PANA, where | ||
| no interoperability is deemed useful. Where a Vendor-Specific AVP is | ||
| implemented by more than one vendor, allocation of global AVPs should | ||
| be encouraged instead. | ||
| TBD. | 8.4.2 Flags | |
| There are 8 bits in the AVP Flags field of the AVP header, defined in | ||
| Section 6.3. This document assigns bit 0 ('V'endor Specific) and bit | ||
| 1 ('M'andatory). The remaining bits should only be assigned via a | ||
| Standards Action . | ||
| 8.5 AVP Values | 8.5 AVP Values | |
| 8.5.1 MAC AVP Values | Certain AVPs in PANA define a list of values with various meanings. | |
| For attributes other than those specified in this section, adding | ||
| additional values to the list can be done on a First Come, First | ||
| Served basis by IANA [IANA]. | ||
| TBD. | 8.5.1 Algorithm Values of MAC AVP | |
| 8.5.2 Device-Id AVP Values | As defined in Section 6.5.1, the Algorithm field of MAC AVP (AVP Code | |
| 1024) defines the value of 1 (one) for HMAC-SHA1. | ||
| TBD. | All remaining values are available for assignment via IETF Consensus | |
| [IANA]. | ||
| 8.5.3 Protection-Capability AVP Values | 8.5.2 Protection-Capability AVP Values | |
| TBD. | As defined in Section 6.5.5, the Protection-Capability AVP (AVP Code | |
| 1028) defines the values 0 and 1. | ||
| 8.5.4 Result-Code AVP Values | All remaining values are available for assignment via a Standards | |
| Action [IANA]. | ||
| TBD. | 8.5.3 Termination-Cause AVP Values | |
| 8.5.5 Termination-Cause AVP Values | As defined in Section 6.5.6, the Termination-Cause AVP (AVP Code | |
| 1029) defines the values 1, 4 and 8. | ||
| TBD. | All remaining values are available for assignment via IETF Consensus | |
| [IANA]. | ||
| 8.5.6 Provider-Identifier AVP Values | 8.5.4 Result-Code AVP Values | |
| TBD. | As defined in Section 6.5.7, the Result-Code AVP (AVP Code 1030) | |
| defines the values 2001, 3001-3002, 3008-3009, 4001, 5001-5009 and | ||
| 5011-5019. | ||
| 8.5.7 Post-PANA-Address-Configuration AVP Values | All remaining values are available for assignment via IETF Consensus | |
| [IANA]. | ||
| TBD. | 8.5.5 Post-PANA-Address-Configuration AVP Values | |
| As defined in Section 6.5.17, the Post-PANA-Address-Configuration AVP | ||
| (AVP Code 1040) defines the bits 0 ('N': no configuration), 1 ('D': | ||
| DHCP), 2 ('A' stateless autoconfiguration), 3 ('T': DHCP with IPsec | ||
| tunnel mode) and 4 ('I': IKEv2). | ||
| All remaining values are available for assignment via a Standards | ||
| Action [IANA]. | ||
| 9. Security Considerations | 9. Security Considerations | |
| The PANA protocol provides ordered delivery for EAP messages. If an | The PANA protocol provides ordered delivery for EAP messages. If an | |
| EAP method that provides session keys is used, a PANA SA is created. | EAP method that provides session keys is used, a PANA SA is created. | |
| The EAP Success/Failure message is one of the signaling messages | The EAP Success/Failure message is one of the signaling messages | |
| which is integrity protected with this PANA SA. The PANA protocol | which is integrity protected with this PANA SA. The PANA protocol | |
| does not provide security protection for the initial EAP message | does not provide security protection for the initial EAP message | |
| exchange. Integrity protection can only be provided after the PANA | exchange. Integrity protection can only be provided after the PANA | |
| SA has been established. Thus, PANA re-authentication, revocation and | SA has been established. Thus, PANA re-authentication, revocation | |
| disconnect notifications can be authenticated, integrity and replay | and disconnect notifications can be authenticated, integrity and | |
| protected. In certain environments (e.g., on a shared link) the EAP | replay protected. In certain environments (e.g., on a shared link) | |
| method selection is an important issue. | the EAP method selection is an important issue. | |
| The PANA framework described in this document covers the discussion | The PANA framework described in this document covers the discussion | |
| of different protocols which are of interest for a protocol between | of different protocols which are of interest for a protocol between | |
| the PaC and the PAA (typically referred as the PANA protocol). | the PaC and the PAA (typically referred as the PANA protocol). | |
| The PANA itself consists of a sequence of steps which are executed to | The PANA itself consists of a sequence of steps which are executed to | |
| complete the network access authentication procedure. Some of these | complete the network access authentication procedure. Some of these | |
| steps are optional. | steps are optional. | |
| The following execution steps have been identified as being relevant | The following execution steps have been identified as being relevant | |
| Skipping to change at page 58, line 20: | ||
| with this session key transport are described in | with this session key transport are described in | |
| [I-D.ietf-eap-keying]. | [I-D.ietf-eap-keying]. | |
| The establishment of a PANA SA is required in environments where no | The establishment of a PANA SA is required in environments where no | |
| physical or link layer security is available. The PANA SA allows | physical or link layer security is available. The PANA SA allows | |
| subsequently exchanged messages to experience cryptographic | subsequently exchanged messages to experience cryptographic | |
| protection. For the current version of the document an integrity | protection. For the current version of the document an integrity | |
| object (MAC AVP) is defined which supports data-origin | object (MAC AVP) is defined which supports data-origin | |
| authentication, replay protection based on sequence numbers and | authentication, replay protection based on sequence numbers and | |
| integrity protection based on a keyed message digest. | integrity protection based on a keyed message digest. | |
| Confidentiality protection is not provided. The session keys used for | Confidentiality protection is not provided. The session keys used | |
| this object have to be provided by the EAP method. For this version | for this object have to be provided by the EAP method. For this | |
| of the document it is assumed that no negotiation of algorithms and | version of the document it is assumed that no negotiation of | |
| parameters takes place. Instead HMAC-SHA1 is used by default. A | algorithms and parameters takes place. Instead HMAC-SHA1 is used by | |
| different algorithm may be chosen by default in a future version of | default. A different algorithm may be chosen by default in a future | |
| the PANA protocol specification. The used algorithm is indicated in | version of the PANA protocol specification. The used algorithm is | |
| the header of the Integrity object. To select the security | indicated in the header of the Integrity object. To select the | |
| association for signaling message protection the Session ID is | security association for signaling message protection the Session ID | |
| conveyed. The keyed message digest included in the Integrity object | is conveyed. The keyed message digest included in the Integrity | |
| will include all fields of the PANA signaling message including the | object will include all fields of the PANA signaling message | |
| sequence number field of the packet. | including the sequence number fields of the packet. | |
| The protection of subsequent signaling messages prevents an adversary | The protection of subsequent signaling messages prevents an adversary | |
| from acting as a man-in-the-middle adversary, from injecting packets, | from acting as a man-in-the-middle adversary, from injecting packets, | |
| from replaying messages and from modifying the content of the | from replaying messages and from modifying the content of the | |
| exchanged packets. This prevents subsequently described threats. | exchanged packets. This prevents subsequently described threats. | |
| If an entity (PAA or PaC) loses its state (especially the current | If an entity (PAA or PaC) loses its state (especially the current | |
| sequence number) then the entire PANA protocol has to be restarted. | sequence number) then the entire PANA protocol has to be restarted. | |
| No re-synchronization procedure is provided. | No re-synchronization procedure is provided. | |
| Skipping to change at page 61, line 12: | ||
| to transmit a tear-down message. This message causes state removal, | to transmit a tear-down message. This message causes state removal, | |
| a stop of the accounting procedure and removes the installed packet | a stop of the accounting procedure and removes the installed packet | |
| filters. | filters. | |
| It is obvious that such a message must be protected to prevent an | It is obvious that such a message must be protected to prevent an | |
| adversary from deleting state information and thereby causing denial | adversary from deleting state information and thereby causing denial | |
| of service attacks. | of service attacks. | |
| i) Mobility optimization | i) Mobility optimization | |
| The mobility optimization described in Section 4.9 involves the | The mobility optimization described in Section 4.12 involves the | |
| previous PAA providing a AAA-Key to the current PAA of the PaC. | previous PAA providing a AAA-Key to the current PAA of the PaC. | |
| There are security risks stemming from potential compromise of PAAs. | There are security risks stemming from potential compromise of PAAs. | |
| Compromise of the current PAA does not yield compromise of the | Compromise of the current PAA does not yield compromise of the | |
| previous PAA, as AAA-Key cannot be computed from a compromised | previous PAA, as AAA-Key cannot be computed from a compromised | |
| AAA-Key-new. But a compromised previous PAA along with the | AAA-Key-new. But a compromised previous PAA along with the | |
| intercepted nonce values leads to the compromise of AAA-Key-new. | intercepted nonce values leads to the compromise of AAA-Key-new. | |
| Operators should be aware of the potential risk of using this | Operators should be aware of the potential risk of using this | |
| optimization. An operator can reduce the risk exposure by forcing | optimization. An operator can reduce the risk exposure by forcing | |
| the PaC to perform an EAP-based authentication immediately after the | the PaC to perform an EAP-based authentication immediately after the | |
| optimized PANA execution. | optimized PANA execution. | |
| j) Updating PaC's address | ||
| An attacker can generate a PANA-Update-Request with an IP-Address | ||
| AVP. There are several threats: | ||
| o An attacker spoofs an address and registers itself with the | ||
| address. If the registered address is not assigned to any PaC, | ||
| subsequent PANA messages sent from the PAA to the attacker will | ||
| not reach any node and this is not a significant harm. If the | ||
| registered address is assigned to some PaC, subsequent PANA | ||
| messages sent from the PAA to the attacker will reach the PaC, but | ||
| will be silently discarded because the Session-Id is different. | ||
| o An attacker registers other PaC with any address. As a result, | ||
| subsequent PANA messages sent from the PAA to the PaC will not | ||
| reach the PaC. | ||
| To avoid all those attacks against an address update, an additional | ||
| mechanism may be defined outside the PANA protocol for the PAA to | ||
| validate ownership of the address. | ||
| 10. Open Issues and Change History | 10. Open Issues and Change History | |
| A list of open issues is maintained at [2]. | A list of open issues is maintained at [2]. | |
| Issues incorporated in PANA-01 June 2003: 1, 3, 10, 5, 6, 7 and 11. | Issues incorporated in PANA-01 June 2003: 1, 3, 10, 5, 6, 7 and 11. | |
| Issues incorporated in PANA-02 October 2003: 8, 17, 18, 19, 20, 21, | Issues incorporated in PANA-02 October 2003: 8, 17, 18, 19, 20, 21, | |
| 22, 23, 24, 25, 26, 30, 31, 32 and 33. | 22, 23, 24, 25, 26, 30, 31, 32 and 33. | |
| Issues incorporated in PANA-03 February 2004: 2, 16, 34, 35, 36, 38, | Issues incorporated in PANA-03 February 2004: 2, 16, 34, 35, 36, 38, | |
| 39, 40, 42, 43, 44, 50, 51 and 60. | 39, 40, 42, 43, 44, 50, 51 and 60. | |
| Issues incorporated in PANA-04 May 2004: 28, 52, 53, 56, 57, 58, 59, | Issues incorporated in PANA-04 May 2004: 28, 52, 53, 56, 57, 58, 59, | |
| 61, 62, 63, 64, 65, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 and 83. | 61, 62, 63, 64, 65, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80 and 83. | |
| Issues incorporated in PANA-05 July 2004: 84, 85, 91, 92, 93, 96, 97, | ||
| 98, 99, 100, 103 and 107. | ||
| 11. Acknowledgments | 11. Acknowledgments | |
| We would like to thank Jari Arkko, Mohan Parthasarathy, Julien | We would like to thank Jari Arkko, Mohan Parthasarathy, Julien | |
| Bournelle, Rafael Marin Lopez and all members of the PANA working | Bournelle, Rafael Marin Lopez, Pasi Eronen, Randy Turner, Erik | |
| group for their valuable comments to this document. | Nordmark and all members of the PANA working group for their valuable | |
| comments to this document. | ||
| Normative References | 12. References | |
| 12.1 Normative References | ||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |
| [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC | [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", RFC | |
| 2131, March 1997. | 2131, March 1997. | |
| [RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, | [RFC1982] Elz, R. and R. Bush, "Serial Number Arithmetic", RFC 1982, | |
| August 1996. | August 1996. | |
| [RFC2988] Paxson, V. and M. Allman, "Computing TCP's Retransmission | [RFC2988] Paxson, V. and M. Allman, "Computing TCP's Retransmission | |
| Timer", RFC 2988, November 2000. | Timer", RFC 2988, November 2000. | |
| [I-D.ietf-eap-rfc2284bis] | ||
| Blunk, L., "Extensible Authentication Protocol (EAP)", | ||
| draft-ietf-eap-rfc2284bis-09 (work in progress), February | ||
| 2004. | ||
| [RFC2716] Aboba, B. and D. Simon, "PPP EAP TLS Authentication | ||
| Protocol", RFC 2716, October 1999. | ||
| [RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax | [RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax | |
| Specifications: ABNF", RFC 2234, November 1997. | Specifications: ABNF", RFC 2234, November 1997. | |
| [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G. and J. | [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G. and J. | |
| Arkko, "Diameter Base Protocol", RFC 3588, September 2003. | Arkko, "Diameter Base Protocol", RFC 3588, September 2003. | |
| [RFC2462] Thomson, S. and T. Narten, "IPv6 Stateless Address | [RFC2462] Thomson, S. and T. Narten, "IPv6 Stateless Address | |
| Autoconfiguration", RFC 2462, December 1998. | Autoconfiguration", RFC 2462, December 1998. | |
| [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet | [RFC2464] Crawford, M., "Transmission of IPv6 Packets over Ethernet | |
| Networks", RFC 2464, December 1998. | Networks", RFC 2464, December 1998. | |
| [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and | [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and | |
| M. Carney, "Dynamic Host Configuration Protocol for IPv6 | M. Carney, "Dynamic Host Configuration Protocol for IPv6 | |
| (DHCPv6)", RFC 3315, July 2003. | (DHCPv6)", RFC 3315, July 2003. | |
| [RFC3456] Patel, B., Aboba, B., Kelly, S. and V. Gupta, "Dynamic | [RFC3456] Patel, B., Aboba, B., Kelly, S. and V. Gupta, "Dynamic | |
| Host Configuration Protocol (DHCPv4) Configuration of | Host Configuration Protocol (DHCPv4) Configuration of | |
| IPsec Tunnel Mode", RFC 3456, January 2003. | IPsec Tunnel Mode", RFC 3456, January 2003. | |
| [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J. and H. | ||
| Levkowetz, "Extensible Authentication Protocol (EAP)", RFC | ||
| 3748, June 2004. | ||
| [I-D.ietf-eap-keying] | [I-D.ietf-eap-keying] | |
| Aboba, B., "EAP Key Management Framework", | Aboba, B., "Extensible Authentication Protocol (EAP) Key | |
| draft-ietf-eap-keying-01 (work in progress), October 2003. | Management Framework", draft-ietf-eap-keying-02 (work in | |
| progress), June 2004. | ||
| [IANA] Narten, T. and H. Alvestrand, "Guidelines for Writing an | [IANA] Narten, T. and H. Alvestrand, "Guidelines for Writing an | |
| IANA Considerations Section in RFCs", BCP 26, RFC 2434, | IANA Considerations Section in RFCs", BCP 26, RFC 2434, | |
| October 1998. | October 1998. | |
| Informative References | 12.2 Informative References | |
| [I-D.ietf-pana-requirements] | [I-D.ietf-pana-requirements] | |
| Yegin, A. and Y. Ohba, "Protocol for Carrying | Yegin, A. and Y. Ohba, "Protocol for Carrying | |
| Authentication for Network Access (PANA)Requirements", | Authentication for Network Access (PANA)Requirements", | |
| draft-ietf-pana-requirements-07 (work in progress), June | draft-ietf-pana-requirements-08 (work in progress), June | |
| 2003. | 2004. | |
| [I-D.ietf-aaa-eap] | [I-D.ietf-aaa-eap] | |
| Eronen, P., Hiller, T. and G. Zorn, "Diameter Extensible | Eronen, P., Hiller, T. and G. Zorn, "Diameter Extensible | |
| Authentication Protocol (EAP) Application", | Authentication Protocol (EAP) Application", | |
| draft-ietf-aaa-eap-05 (work in progress), April 2004. | draft-ietf-aaa-eap-08 (work in progress), June 2004. | |
| [I-D.puthenkulam-eap-binding] | [I-D.puthenkulam-eap-binding] | |
| Puthenkulam, J., "The Compound Authentication Binding | Puthenkulam, J., "The Compound Authentication Binding | |
| Problem", draft-puthenkulam-eap-binding-04 (work in | Problem", draft-puthenkulam-eap-binding-04 (work in | |
| progress), October 2003. | progress), October 2003. | |
| [RFC2522] Karn, P. and W. Simpson, "Photuris: Session-Key Management | [RFC2522] Karn, P. and W. Simpson, "Photuris: Session-Key Management | |
| Protocol", RFC 2522, March 1999. | Protocol", RFC 2522, March 1999. | |
| [I-D.ietf-pana-usage-scenarios] | ||
| Ohba, Y., "Problem Statement and Usage Scenarios for | ||
| PANA", draft-ietf-pana-usage-scenarios-06 (work in | ||
| progress), April 2003. | ||
| [I-D.ietf-pana-threats-eval] | [I-D.ietf-pana-threats-eval] | |
| Parthasarathy, M., "PANA Threat Analysis and security | Parthasarathy, M., "Protocol for Carrying Authentication | |
| requirements", draft-ietf-pana-threats-eval-04 (work in | and Network Access Threat Analysis and Security | |
| progress), May 2003. | Requirements", draft-ietf-pana-threats-eval-06 (work in | |
| progress), June 2004. | ||
| [I-D.ietf-pana-ipsec] | [I-D.ietf-pana-ipsec] | |
| Parthasarathy, M., "PANA enabling IPsec based Access | Parthasarathy, M., "PANA enabling IPsec based Access | |
| Control", draft-ietf-pana-ipsec-03 (work in progress), May | Control", draft-ietf-pana-ipsec-03 (work in progress), May | |
| 2004. | 2004. | |
| [I-D.ietf-pana-framework] | [I-D.ietf-pana-framework] | |
| Jayaraman, P., "PANA Framework", | Jayaraman, P., "PANA Framework", | |
| draft-ietf-pana-framework-00 (work in progress), May 2004. | draft-ietf-pana-framework-00 (work in progress), May 2004. | |
| Skipping to change at page 67, line 15: | ||
| [I-D.ietf-eap-statemachine] | [I-D.ietf-eap-statemachine] | |
| Vollbrecht, J., Eronen, P., Petroni, N. and Y. Ohba, | Vollbrecht, J., Eronen, P., Petroni, N. and Y. Ohba, | |
| "State Machines for Extensible Authentication Protocol | "State Machines for Extensible Authentication Protocol | |
| (EAP) Peer and Authenticator", | (EAP) Peer and Authenticator", | |
| draft-ietf-eap-statemachine-03 (work in progress), March | draft-ietf-eap-statemachine-03 (work in progress), March | |
| 2004. | 2004. | |
| [I-D.ietf-seamoby-ctp] | [I-D.ietf-seamoby-ctp] | |
| Loughney, J., "Context Transfer Protocol", | Loughney, J., "Context Transfer Protocol", | |
| draft-ietf-seamoby-ctp-08 (work in progress), January | draft-ietf-seamoby-ctp-10 (work in progress), June 2004. | |
| 2004. | ||
| [RFC2716] Aboba, B. and D. Simon, "PPP EAP TLS Authentication | ||
| Protocol", RFC 2716, October 1999. | ||
| [I-D.ietf-ipsec-ikev2] | [I-D.ietf-ipsec-ikev2] | |
| Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", | Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", | |
| draft-ietf-ipsec-ikev2-13 (work in progress), March 2004. | draft-ietf-ipsec-ikev2-14 (work in progress), June 2004. | |
| [I-D.josefsson-pppext-eap-tls-eap] | [I-D.josefsson-pppext-eap-tls-eap] | |
| Josefsson, S., Palekar, A., Simon, D. and G. Zorn, | Josefsson, S., Palekar, A., Simon, D. and G. Zorn, | |
| "Protected EAP Protocol (PEAP)", | "Protected EAP Protocol (PEAP)", | |
| draft-josefsson-pppext-eap-tls-eap-07 (work in progress), | draft-josefsson-pppext-eap-tls-eap-07 (work in progress), | |
| October 2003. | October 2003. | |
| [I-D.ietf-pppext-eap-ttls] | [I-D.ietf-pppext-eap-ttls] | |
| Funk, P. and S. Blake-Wilson, "EAP Tunneled TLS | Funk, P. and S. Blake-Wilson, "EAP Tunneled TLS | |
| Authentication Protocol (EAP-TTLS)", | Authentication Protocol (EAP-TTLS)", | |
| Skipping to change at page 69, line 5: | ||
| 2004. | 2004. | |
| [802.11] Institute of Electrical and Electronics Engineers, | [802.11] Institute of Electrical and Electronics Engineers, | |
| "Information technology - telecommunications and | "Information technology - telecommunications and | |
| information exchange between systems - local and | information exchange between systems - local and | |
| metropolitan area networks - specific requirements part | metropolitan area networks - specific requirements part | |
| 11: Wireless lan medium access control (mac) and physical | 11: Wireless lan medium access control (mac) and physical | |
| layer (phy) specifications", IEEE Standard 802.11, | layer (phy) specifications", IEEE Standard 802.11, | |
| 1999(R2003). | 1999(R2003). | |
| [IANA-EXP] | ||
| Narten, T., "Assigning Experimental and Testing Numbers | ||
| Considered Useful", BCP 82, RFC 3692, January 2004. | ||
| URIs | URIs | |
| [1] <http://www.toshiba.com/tari/pana/sequence-number.txt> | [1] <http://www.toshiba.com/tari/pana/sequence-number.txt> | |
| [2] <http://danforsberg.info:8080/pana-issues/> | [2] <http://danforsberg.info:8080/pana-issues/> | |
| Authors' Addresses | Authors' Addresses | |
| Dan Forsberg | Dan Forsberg | |
| Nokia Research Center | Nokia Research Center | |
| Skipping to change at page 71, line 8: | ||
| 75 West Plumeria Drive | 75 West Plumeria Drive | |
| San Jose, CA 95134 | San Jose, CA 95134 | |
| USA | USA | |
| Phone: +1 408 544 5656 | Phone: +1 408 544 5656 | |
| EMail: alper.yegin@samsung.com | EMail: alper.yegin@samsung.com | |
| Intellectual Property Statement | Intellectual Property Statement | |
| The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |
| intellectual property or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed to | |
| pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |
| this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |
| might or might not be available; neither does it represent that it | might or might not be available; nor does it represent that it has | |
| has made any effort to identify any such rights. Information on the | made any independent effort to identify any such rights. Information | |
| IETF's procedures with respect to rights in standards-track and | on the procedures with respect to rights in RFC documents can be | |
| standards-related documentation can be found in BCP-11. Copies of | found in BCP 78 and BCP 79. | |
| claims of rights made available for publication and any assurances of | ||
| licenses to be made available, or the result of an attempt made to | Copies of IPR disclosures made to the IETF Secretariat and any | |
| obtain a general license or permission for the use of such | assurances of licenses to be made available, or the result of an | |
| proprietary rights by implementors or users of this specification can | attempt made to obtain a general license or permission for the use of | |
| be obtained from the IETF Secretariat. | such proprietary rights by implementers or users of this | |
| specification can be obtained from the IETF on-line IPR repository at | ||
| http://www.ietf.org/ipr. | ||
| The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |
| copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |
| rights which may cover technology that may be required to practice | rights that may cover technology that may be required to implement | |
| this standard. Please address the information to the IETF Executive | this standard. Please address the information to the IETF at | |
| Director. | ietf-ipr@ietf.org. | |
| Full Copyright Statement | ||
| Copyright (C) The Internet Society (2004). All Rights Reserved. | Disclaimer of Validity | |
| This document and translations of it may be copied and furnished to | This document and the information contained herein are provided on an | |
| others, and derivative works that comment on or otherwise explain it | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |
| or assist in its implementation may be prepared, copied, published | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | |
| and distributed, in whole or in part, without restriction of any | ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | |
| kind, provided that the above copyright notice and this paragraph are | INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | |
| included on all such copies and derivative works. However, this | INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |
| document itself may not be modified in any way, such as by removing | WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |
| the copyright notice or references to the Internet Society or other | ||
| Internet organizations, except as needed for the purpose of | ||
| developing Internet standards in which case the procedures for | ||
| copyrights defined in the Internet Standards process must be | ||
| followed, or as required to translate it into languages other than | ||
| English. | ||
| The limited permissions granted above are perpetual and will not be | Copyright Statement | |
| revoked by the Internet Society or its successors or assignees. | ||
| This document and the information contained herein is provided on an | Copyright (C) The Internet Society (2004). This document is subject | |
| "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | to the rights, licenses and restrictions contained in BCP 78, and | |
| TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | except as set forth therein, the authors retain all their rights. | |
| BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | ||
| HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | ||
| MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||
| Acknowledgment | Acknowledgment | |
| Funding for the RFC Editor function is currently provided by the | Funding for the RFC Editor function is currently provided by the | |
| Internet Society. | Internet Society. |