| draft-ietf-pana-pana-07c.txt | draft-ietf-pana-pana-07d.txt | |
|---|---|---|
| PANA Working Group D. Forsberg | PANA Working Group D. Forsberg | |
| Internet-Draft Nokia | Internet-Draft Nokia | |
| Expires: June 15, 2005 Y. Ohba (Ed.) | Expires: June 24, 2005 Y. Ohba (Ed.) | |
| Toshiba | Toshiba | |
| B. Patil | B. Patil | |
| Nokia | Nokia | |
| H. Tschofenig | H. Tschofenig | |
| Siemens | Siemens | |
| A. Yegin | A. Yegin | |
| Samsung | Samsung | |
| December 15, 2004 | December 24, 2004 | |
| Protocol for Carrying Authentication for Network Access (PANA) | Protocol for Carrying Authentication for Network Access (PANA) | |
| draft-ietf-pana-pana-07c | draft-ietf-pana-pana-07d | |
| Status of this Memo | Status of this Memo | |
| By submitting this Internet-Draft, I certify that any applicable | By submitting this Internet-Draft, I certify that any applicable | |
| patent or other IPR claims of which I am aware have been disclosed, | 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 | and any of which I become aware will be disclosed, in accordance with | |
| RFC 3668. | 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 | Task Force (IETF), its areas, and its working groups. Note that | |
| Skipping to change at page 1, line 41: | ||
| 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 | The list of current Internet-Drafts can be accessed at | |
| http://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 June 15, 2005. | This Internet-Draft will expire on June 24, 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 | |
| Skipping to change at page 3, line 5: | ||
| 6.1 IP and UDP Headers . . . . . . . . . . . . . . . . . . . . 33 | 6.1 IP and UDP Headers . . . . . . . . . . . . . . . . . . . . 33 | |
| 6.2 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 33 | 6.2 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 33 | |
| 6.3 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 35 | 6.3 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 35 | |
| 7. PANA Messages, Message Specifications and AVPs . . . . . . . 38 | 7. PANA Messages, Message Specifications and AVPs . . . . . . . 38 | |
| 7.1 PANA Messages . . . . . . . . . . . . . . . . . . . . . . 38 | 7.1 PANA Messages . . . . . . . . . . . . . . . . . . . . . . 38 | |
| 7.2 PANA Message ABNF Specification . . . . . . . . . . . . . 38 | 7.2 PANA Message ABNF Specification . . . . . . . . . . . . . 38 | |
| 7.2.1 PANA-PAA-Discover (PDI) . . . . . . . . . . . . . . . 40 | 7.2.1 PANA-PAA-Discover (PDI) . . . . . . . . . . . . . . . 40 | |
| 7.2.2 PANA-Start-Request (PSR) . . . . . . . . . . . . . . . 41 | 7.2.2 PANA-Start-Request (PSR) . . . . . . . . . . . . . . . 41 | |
| 7.2.3 PANA-Start-Answer (PSA) . . . . . . . . . . . . . . . 41 | 7.2.3 PANA-Start-Answer (PSA) . . . . . . . . . . . . . . . 41 | |
| 7.2.4 PANA-Auth-Request (PAR) . . . . . . . . . . . . . . . 41 | 7.2.4 PANA-Auth-Request (PAR) . . . . . . . . . . . . . . . 41 | |
| 7.2.5 PANA-Auth-Answer (PAN) . . . . . . . . . . . . . . . . 41 | 7.2.5 PANA-Auth-Answer (PAN) . . . . . . . . . . . . . . . . 42 | |
| 7.2.6 PANA-Reauth-Request (PRAR) . . . . . . . . . . . . . . 42 | 7.2.6 PANA-Reauth-Request (PRAR) . . . . . . . . . . . . . . 42 | |
| 7.2.7 PANA-Reauth-Answer (PRAA) . . . . . . . . . . . . . . 42 | 7.2.7 PANA-Reauth-Answer (PRAA) . . . . . . . . . . . . . . 42 | |
| 7.2.8 PANA-Bind-Request (PBR) . . . . . . . . . . . . . . . 42 | 7.2.8 PANA-Bind-Request (PBR) . . . . . . . . . . . . . . . 42 | |
| 7.2.9 PANA-Bind-Answer (PBA) . . . . . . . . . . . . . . . . 43 | 7.2.9 PANA-Bind-Answer (PBA) . . . . . . . . . . . . . . . . 43 | |
| 7.2.10 PANA-Ping-Request (PPR) . . . . . . . . . . . . . . 43 | 7.2.10 PANA-Ping-Request (PPR) . . . . . . . . . . . . . . 43 | |
| 7.2.11 PANA-Ping-Answer (PPA) . . . . . . . . . . . . . . . 43 | 7.2.11 PANA-Ping-Answer (PPA) . . . . . . . . . . . . . . . 43 | |
| 7.2.12 PANA-Termination-Request (PTR) . . . . . . . . . . . 43 | 7.2.12 PANA-Termination-Request (PTR) . . . . . . . . . . . 44 | |
| 7.2.13 PANA-Termination-Answer (PTA) . . . . . . . . . . . 44 | 7.2.13 PANA-Termination-Answer (PTA) . . . . . . . . . . . 44 | |
| 7.2.14 PANA-Error-Request (PER) . . . . . . . . . . . . . . 44 | 7.2.14 PANA-Error-Request (PER) . . . . . . . . . . . . . . 44 | |
| 7.2.15 PANA-Error-Answer (PEA) . . . . . . . . . . . . . . 44 | 7.2.15 PANA-Error-Answer (PEA) . . . . . . . . . . . . . . 44 | |
| 7.2.16 PANA-FirstAuth-End-Request (PFER) . . . . . . . . . 44 | 7.2.16 PANA-FirstAuth-End-Request (PFER) . . . . . . . . . 45 | |
| 7.2.17 PANA-FirstAuth-End-Answer (PFEA) . . . . . . . . . . 45 | 7.2.17 PANA-FirstAuth-End-Answer (PFEA) . . . . . . . . . . 45 | |
| 7.2.18 PANA-Update-Request (PUR) . . . . . . . . . . . . . 45 | 7.2.18 PANA-Update-Request (PUR) . . . . . . . . . . . . . 45 | |
| 7.2.19 PANA-Update-Answer (PUA) . . . . . . . . . . . . . . 45 | 7.2.19 PANA-Update-Answer (PUA) . . . . . . . . . . . . . . 46 | |
| 7.3 AVPs in PANA . . . . . . . . . . . . . . . . . . . . . . . 45 | 7.3 AVPs in PANA . . . . . . . . . . . . . . . . . . . . . . . 46 | |
| 7.3.1 MAC AVP . . . . . . . . . . . . . . . . . . . . . . . 47 | 7.3.1 Cookie AVP . . . . . . . . . . . . . . . . . . . . . . 48 | |
| 7.3.2 Device-Id AVP . . . . . . . . . . . . . . . . . . . . 48 | 7.3.2 Device-Id AVP . . . . . . . . . . . . . . . . . . . . 48 | |
| 7.3.3 Session-Id AVP . . . . . . . . . . . . . . . . . . . . 48 | 7.3.3 EAP-Payload AVP . . . . . . . . . . . . . . . . . . . 49 | |
| 7.3.4 Cookie AVP . . . . . . . . . . . . . . . . . . . . . . 48 | 7.3.4 Failed-AVP AVP . . . . . . . . . . . . . . . . . . . . 49 | |
| 7.3.5 Protection-Capability AVP . . . . . . . . . . . . . . 48 | 7.3.5 IP-Address AVP . . . . . . . . . . . . . . . . . . . . 49 | |
| 7.3.6 Termination-Cause AVP . . . . . . . . . . . . . . . . 49 | 7.3.6 ISP-Information AVP . . . . . . . . . . . . . . . . . 49 | |
| 7.3.7 Result-Code AVP . . . . . . . . . . . . . . . . . . . 49 | 7.3.7 Key-Id AVP . . . . . . . . . . . . . . . . . . . . . . 49 | |
| 7.3.8 EAP-Payload AVP . . . . . . . . . . . . . . . . . . . 52 | 7.3.8 MAC AVP . . . . . . . . . . . . . . . . . . . . . . . 50 | |
| 7.3.9 Session-Lifetime AVP . . . . . . . . . . . . . . . . . 53 | 7.3.9 NAP-Information AVP . . . . . . . . . . . . . . . . . 50 | |
| 7.3.10 Failed-AVP AVP . . . . . . . . . . . . . . . . . . . 53 | 7.3.10 Nonce AVP . . . . . . . . . . . . . . . . . . . . . 50 | |
| 7.3.11 NAP-Information AVP . . . . . . . . . . . . . . . . 53 | 7.3.11 Notification AVP . . . . . . . . . . . . . . . . . . 50 | |
| 7.3.12 ISP-Information AVP . . . . . . . . . . . . . . . . 53 | 7.3.12 Post-PANA-Address-Configuration (PPAC) AVP . . . . . 51 | |
| 7.3.13 Provider-Identifier AVP . . . . . . . . . . . . . . 53 | 7.3.13 Protection-Capability AVP . . . . . . . . . . . . . 52 | |
| 7.3.14 Provider-Name AVP . . . . . . . . . . . . . . . . . 53 | 7.3.14 Provider-Identifier AVP . . . . . . . . . . . . . . 52 | |
| 7.3.15 Key-Id AVP . . . . . . . . . . . . . . . . . . . . . 54 | 7.3.15 Provider-Name AVP . . . . . . . . . . . . . . . . . 52 | |
| 7.3.16 Post-PANA-Address-Configuration (PPAC) AVP . . . . . 54 | 7.3.16 Result-Code AVP . . . . . . . . . . . . . . . . . . 52 | |
| 7.3.17 Nonce AVP . . . . . . . . . . . . . . . . . . . . . 55 | 7.3.17 Session-Id AVP . . . . . . . . . . . . . . . . . . . 56 | |
| 7.3.18 IP-Address AVP . . . . . . . . . . . . . . . . . . . 55 | 7.3.18 Session-Lifetime AVP . . . . . . . . . . . . . . . . 56 | |
| 8. Retransmission Timers . . . . . . . . . . . . . . . . . . . 56 | 7.3.19 Termination-Cause AVP . . . . . . . . . . . . . . . 56 | |
| 8.1 Transmission and Retransmission Parameters . . . . . . . . 57 | 8. Retransmission Timers . . . . . . . . . . . . . . . . . . . 58 | |
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 59 | 8.1 Transmission and Retransmission Parameters . . . . . . . . 59 | |
| 9.1 PANA UDP Port Number . . . . . . . . . . . . . . . . . . . 59 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 61 | |
| 9.2 PANA Multicast Address . . . . . . . . . . . . . . . . . . 59 | 9.1 PANA UDP Port Number . . . . . . . . . . . . . . . . . . . 61 | |
| 9.3 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 59 | 9.2 PANA Multicast Address . . . . . . . . . . . . . . . . . . 61 | |
| 9.3.1 Message Type . . . . . . . . . . . . . . . . . . . . . 59 | 9.3 PANA Header . . . . . . . . . . . . . . . . . . . . . . . 61 | |
| 9.3.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . 60 | 9.3.1 Message Type . . . . . . . . . . . . . . . . . . . . . 61 | |
| 9.4 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 60 | 9.3.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . 62 | |
| 9.4.1 AVP Code . . . . . . . . . . . . . . . . . . . . . . . 60 | 9.4 AVP Header . . . . . . . . . . . . . . . . . . . . . . . . 62 | |
| 9.4.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . 61 | 9.4.1 AVP Code . . . . . . . . . . . . . . . . . . . . . . . 62 | |
| 9.5 AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 61 | 9.4.2 Flags . . . . . . . . . . . . . . . . . . . . . . . . 63 | |
| 9.5.1 Algorithm Values of MAC AVP . . . . . . . . . . . . . 61 | 9.5 AVP Values . . . . . . . . . . . . . . . . . . . . . . . . 63 | |
| 9.5.2 Protection-Capability AVP Values . . . . . . . . . . . 61 | 9.5.1 Algorithm Values of MAC AVP . . . . . . . . . . . . . 63 | |
| 9.5.3 Termination-Cause AVP Values . . . . . . . . . . . . . 61 | 9.5.2 Post-PANA-Address-Configuration AVP Values . . . . . . 63 | |
| 9.5.4 Result-Code AVP Values . . . . . . . . . . . . . . . . 61 | 9.5.3 Protection-Capability AVP Values . . . . . . . . . . . 63 | |
| 9.5.5 Post-PANA-Address-Configuration AVP Values . . . . . . 62 | 9.5.4 Result-Code AVP Values . . . . . . . . . . . . . . . . 63 | |
| 10. Security Considerations . . . . . . . . . . . . . . . . . . 63 | 9.5.5 Termination-Cause AVP Values . . . . . . . . . . . . . 64 | |
| 10.1 General Security Measures . . . . . . . . . . . . . . . 63 | 10. Security Considerations . . . . . . . . . . . . . . . . . . 65 | |
| 10.2 Discovery . . . . . . . . . . . . . . . . . . . . . . . 64 | 10.1 General Security Measures . . . . . . . . . . . . . . . 65 | |
| 10.3 EAP Methods . . . . . . . . . . . . . . . . . . . . . . 65 | 10.2 Discovery . . . . . . . . . . . . . . . . . . . . . . . 66 | |
| 10.4 Separate NAP and ISP Authentication . . . . . . . . . . 65 | 10.3 EAP Methods . . . . . . . . . . . . . . . . . . . . . . 67 | |
| 10.5 Cryptographic Keys . . . . . . . . . . . . . . . . . . . 65 | 10.4 Separate NAP and ISP Authentication . . . . . . . . . . 67 | |
| 10.6 Per-packet Ciphering . . . . . . . . . . . . . . . . . . 66 | 10.5 Cryptographic Keys . . . . . . . . . . . . . . . . . . . 67 | |
| 10.7 PAA-to-EP Communication . . . . . . . . . . . . . . . . 66 | 10.6 Per-packet Ciphering . . . . . . . . . . . . . . . . . . 68 | |
| 10.8 Liveness Test . . . . . . . . . . . . . . . . . . . . . 67 | 10.7 PAA-to-EP Communication . . . . . . . . . . . . . . . . 68 | |
| 10.9 Updating PaC's IP Address . . . . . . . . . . . . . . . 67 | 10.8 Liveness Test . . . . . . . . . . . . . . . . . . . . . 69 | |
| 10.10 Early Termination of a Session . . . . . . . . . . . . . 67 | 10.9 Updating PaC's IP Address . . . . . . . . . . . . . . . 69 | |
| 11. Open Issues and Change History . . . . . . . . . . . . . . . 68 | 10.10 Early Termination of a Session . . . . . . . . . . . . . 69 | |
| 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 69 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 70 | |
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 70 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 71 | |
| 13.1 Normative References . . . . . . . . . . . . . . . . . . . 70 | 12.1 Normative References . . . . . . . . . . . . . . . . . . . 71 | |
| 13.2 Informative References . . . . . . . . . . . . . . . . . . 71 | 12.2 Informative References . . . . . . . . . . . . . . . . . . 72 | |
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 73 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 73 | |
| A. Example Sequence of Separate NAP and ISP Authentication . . 75 | A. Example Sequence of Separate NAP and ISP Authentication . . 75 | |
| Intellectual Property and Copyright Statements . . . . . . . 77 | 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. Client-to-network authentication provides parameters that | networks. Client-to-network authentication provides parameters that | |
| are needed to police the traffic flow through the enforcement points. | are needed to police the traffic flow through the enforcement points. | |
| Skipping to change at page 7, line 33: | ||
| procedure can, according to the EAP model, be also offloaded to | procedure can, according to the EAP model, be also offloaded to | |
| the backend AAA infrastructure. | the backend AAA infrastructure. | |
| PANA Session: | PANA Session: | |
| A PANA session begins with the handshake between the PANA Client | A PANA session begins with the handshake between the PANA Client | |
| (PaC) and the PANA Authentication Agent (PAA), and terminates as a | (PaC) and the PANA Authentication Agent (PAA), and terminates as a | |
| result of an authentication failure, a timeout, or an explicit | result of an authentication failure, a timeout, or an explicit | |
| termination message. A fixed session identifier is maintained | termination message. A fixed session identifier is maintained | |
| throughout a session. A session cannot be shared across multiple | throughout a session. A session cannot be shared across multiple | |
| network interfaces. | network interfaces. Only one device identifier of the PaC is | |
| allowed to be bound to a PANA session for simplicity. | ||
| 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 includes an identifier of the PAA, therefore it | PAA and PaC. It includes an identifier of the PAA, therefore it | |
| cannot be shared across multiple PAAs. It is included in PANA | cannot be shared across multiple PAAs. It is included in PANA | |
| messages to bind the message to a specific PANA session. This | messages to bind the message to a specific PANA session. This | |
| bidirectional identifier is allocated by the PAA following the | bidirectional identifier is allocated by the PAA following the | |
| handshake and freed when the session terminates. | handshake and freed when the session terminates. | |
| Skipping to change at page 9, line 14: | ||
| 3. Protocol Overview | 3. Protocol Overview | |
| The PANA protocol is run between a client (PaC) and a server (PAA) in | The PANA protocol is run between a client (PaC) and a server (PAA) in | |
| order to perform authentication and authorization for the network | order to perform authentication and authorization for the network | |
| access service. | access service. | |
| The protocol messaging consists of a series of request and responses, | The protocol messaging consists of a series of request and responses, | |
| some of which may be initiated by either ends. Each message can | some of which may be initiated by either ends. Each message can | |
| carry zero or more AVPs as payload. The main payload of PANA is EAP | carry zero or more AVPs as payload. The main payload of PANA is EAP | |
| which performs authentication. PANA helps PaC and PAA establish an | which performs authentication. PANA helps the PaC and PAA establish | |
| EAP session. | an EAP session. | |
| PANA is a UDP-based protocol. It has its own retransmission | PANA is a UDP-based protocol. It has its own retransmission | |
| mechanism to reliably deliver messages. | mechanism to reliably deliver messages. | |
| PANA messages are sent between a PaC and PAA as part of a PANA | PANA messages are sent between the PaC and PAA as part of a PANA | |
| session. A PANA session consists of distinct phases: | session. A PANA session consists of distinct phases: | |
| o Discovery and handshake phase: This is the phase that initiates a | o Discovery and handshake phase: This is the phase that initiates a | |
| new PANA session. The PaC discovers the PAA(s) by either | new PANA session. The PaC discovers the PAA(s) by either | |
| explicitly soliciting advertisements for them or receiving | explicitly soliciting advertisements for them or receiving | |
| unsolicited advertisements. The PaC's answer sent in response to | unsolicited advertisements. The PaC's answer sent in response to | |
| an advertisement starts a new session. | an advertisement starts a new session. | |
| o Authentication and authorization phase: Immediately following the | o Authentication and authorization phase: Immediately following the | |
| discovery and handshake phase is the EAP execution between the PAA | discovery and handshake phase is the EAP execution between the PAA | |
| Skipping to change at page 10, line 32: | ||
| -----> PANA-Bind-Answer | -----> PANA-Bind-Answer | |
| // Access phase (IP data traffic allowed) | // Access phase (IP data traffic allowed) | |
| <----- PANA-Ping-Request | <----- PANA-Ping-Request | |
| -----> PANA-Ping-Answer | -----> PANA-Ping-Answer | |
| // Termination phase | // Termination phase | |
| -----> PANA-Termination-Request | -----> PANA-Termination-Request | |
| <----- PANA-Termination-Answer | <----- PANA-Termination-Answer | |
| Figure 1: Illustration of PANA Messages in a Session | Figure 1: Illustration of PANA messages in a session | |
| Note that depending on the environment and deployment the protocol | Note that depending on the environment and deployment the protocol | |
| flow depicted in Figure 1 can be abbreviated. | flow depicted in Figure 1 can be abbreviated. | |
| Cryptographic protection of messages between the PaC and PAA is | Cryptographic protection of messages between the PaC and PAA is | |
| possible as soon as EAP in conjunction with the EAP method exports a | possible as soon as EAP in conjunction with the EAP method exports a | |
| shared key. That shared key is used to create a PANA SA. The PANA | shared key. That shared key is used to create a PANA SA. The PANA | |
| SA helps generating per-message authentication codes that provide | SA helps generating per-message authentication codes that provide | |
| integrity protection and authentication. | integrity protection and authentication. | |
| Skipping to change at page 11, line 18: | ||
| session. | session. | |
| 4.1 Payload Encoding | 4.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). The subsequent sections refer to these | (Attribute Value Pairs). The subsequent sections refer to these | |
| AVPs, therefore the list of AVPs are provided with a brief | AVPs, therefore the list of AVPs are provided with a brief | |
| description before more extensive descriptions are included later in | description before more extensive descriptions are included later in | |
| the document. | the document. | |
| o Cookie AVP: contains a random value that is generated by a PAA and | o Cookie AVP: contains a random value that is generated by the PAA | |
| used for making PAA discovery robust against blind resource | and used for making PAA discovery robust against blind resource | |
| consumption DoS attacks. | consumption DoS attacks. | |
| o Protection-Capability AVP: contains the type of per-packet | o Protection-Capability AVP: contains the type of per-packet | |
| protection (link-layer vs. network-layer) when a cryptographic | protection (link-layer vs. network-layer) when a cryptographic | |
| mechanism should be enabled after PANA authentication. | mechanism should be enabled after PANA authentication. | |
| o Device-Id AVP: contains a device identifier (link-layer address or | o Device-Id AVP: contains a device identifier (link-layer address or | |
| an IP address) of the PaC or an EP. | an IP address) of the PaC or an EP. | |
| o EAP AVP: contains an EAP PDU. | o EAP AVP: contains an EAP PDU. | |
| Skipping to change at page 12, line 16: | ||
| o PPAC AVP: Post-PANA-Address-Configuration AVP. Used to indicate | o PPAC AVP: Post-PANA-Address-Configuration AVP. Used to indicate | |
| the available/chosen IP address configuration methods that can be | the available/chosen IP address configuration methods that can be | |
| used by the PaC after successful PANA authentication. | used by the PaC after successful PANA authentication. | |
| o Nonce AVP: contains a randomly chosen value that is used in | o Nonce AVP: contains a randomly chosen value that is used in | |
| cyrptographic key computations. | cyrptographic key computations. | |
| o IP-Address AVP: contains an IP Address of the PaC. | o IP-Address AVP: contains an IP Address of the PaC. | |
| o Notification AVP: contains a displayable message. | ||
| 4.2 Discovery and Handshake Phase | 4.2 Discovery and Handshake Phase | |
| When a PaC attaches to a network, and knows that it has to discover a | When a PaC attaches to a network, and knows that it has to discover a | |
| PAA, it SHOULD send a PANA-PAA-Discover message to a well-known link | PAA, it SHOULD send a PANA-PAA-Discover message to a well-known link | |
| local multicast address (TBD) and UDP port (TBD). The PAA discovery | local multicast address (TBD) and UDP port (TBD). The PAA discovery | |
| assumes that the PaC and the PAA are one IP hop away from each other. | assumes that the PaC and the PAA are one IP hop away from each other. | |
| If the PaC knows the IP address of the PAA (based on | If the PaC knows the IP address of the PAA (based on | |
| pre-configuration), it MAY unicast the PANA-PAA-Discover message to | pre-configuration), it MAY unicast the PANA-PAA-Discover message to | |
| that address. | that address. | |
| When the PAA receives a PANA-PAA-Discover message from a PaC, the PAA | When the PAA receives a PANA-PAA-Discover message from a PaC, the PAA | |
| SHOULD unicast a PANA-Start-Request message to the PaC. | SHOULD unicast a PANA-Start-Request message to the PaC. | |
| The PaC MAY also choose to start sending data packets before getting | The PaC MAY also choose to start sending data packets before getting | |
| authenticated. The EP in an access network that implements PANA | authenticated. The EP in an access network that implements PANA | |
| SHOULD drop unauthorized packets upon receipt. Additionally, the EP | SHOULD drop unauthorized packets upon receipt. Additionally, the EP | |
| MAY also take this traffic as an indication of unauthorized PaC and | MAY also take this traffic as an indication of unauthorized PaC and | |
| notify the PAA. The EP-to-PAA notification SHOULD be sent via | notify the PAA. The EP-to-PAA notification SHOULD be sent via | |
| [I-D.ietf-pana-snmp]. In response, the PAA SHOULD send an | [I-D.ietf-pana-snmp]. In response, the PAA SHOULD send an | |
| unsolicited PANA-Start-Request message to the PaC. This is called | unsolicited PANA-Start-Request message to the PaC. This is called | |
| "traffic-driven PAA discovery" (an alternative to PaC explicitly | "traffic-driven PAA discovery" (an alternative to the PaC explicitly | |
| soliciting for PAA). Note that this optional feature MAY NOT be | soliciting for a PAA). Note that this optional feature MAY NOT be | |
| present in all deployments, therefore PaCs MUST NOT assume its | present in all deployments, therefore the PaC MUST NOT assume its | |
| availability. The EP-to-PAA notification MAY also be generated in | availability. The EP-to-PAA notification MAY also be generated in | |
| response to receiving a link-up event notification on the EP | response to receiving a link-up event notification on the EP | |
| [I-D.ietf-dna-link-information]. | [I-D.ietf-dna-link-information]. | |
| When a PaC receives a PANA-Start-Request message from a PAA, it | When the PaC receives a PANA-Start-Request message from a PAA, it | |
| responds with a PANA-Start-Answer message if it wishes to enter the | responds with a PANA-Start-Answer message if it wishes to enter the | |
| authentication and authorization phase. | authentication and authorization phase. | |
| There can be multiple PAAs on the link and a PaC may receive multiple | There can be multiple PAAs on the link and the PaC may receive | |
| PANA-Start-Request messages from those PAAs. The authentication and | multiple PANA-Start-Request messages from those PAAs. The | |
| authorization result does not depend on which PAA is chosen by the | authentication and authorization result does not depend on which PAA | |
| PaC. By default the PaC MAY choose the PAA that sent the first | is chosen by the PaC. By default the PaC MAY choose the PAA that | |
| response. | sent the first response. | |
| 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 | |
| random value generated by the PAA. The random value is referred to | random value generated by the PAA. The random value is referred to | |
| as a cookie. The cookie is used for preventing the PAA from resource | as a cookie. The cookie is used for preventing the PAA from resource | |
| consumption DoS attacks by blind attackers which bombard the PAA with | consumption DoS attacks by blind attackers which bombard the PAA with | |
| PANA-PAA-Discover messages. By relying on a cookie mechanism the PAA | PANA-PAA-Discover messages. By relying on a cookie mechanism the PAA | |
| can avoid per-PaC state creation until after the PaC can produce the | can avoid per-PaC state creation until after the PaC can produce the | |
| same cookie in its PANA-Start-Answer message. In order to do that, | same cookie in its PANA-Start-Answer message. In order to do that, | |
| the cookie MUST be computed in such a way that it does not require | the cookie MUST be computed in such a way that it does not require | |
| any per-session state maintenance on the PAA in order to verify the | any per-session state maintenance on the PAA in order to verify the | |
| cookie returned in a PANA-Start-Answer message. The PAA discovery | cookie returned in the PANA-Start-Answer message. The PAA discovery | |
| that takes advantage of cookies is called "stateless PAA discovery". | that takes advantage of cookies is called "stateless PAA discovery". | |
| The exact algorithms and syntax used by the PAA to generate cookies | The exact algorithms and syntax used by the PAA to generate cookies | |
| does not affect interoperability and hence is not specified here. An | does not affect interoperability and hence is not specified here. An | |
| example algorithm is described below. | example 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 | |
| Skipping to change at page 13, line 41: | ||
| When the PaC sends a PANA-Start-Answer message in response to a | When the PaC sends a PANA-Start-Answer message in response to a | |
| PANA-Start-Request containing a Cookie AVP, the answer MUST contain a | PANA-Start-Request containing a Cookie AVP, the answer MUST contain a | |
| Cookie AVP with the cookie value copied from the request. | Cookie AVP with the cookie value copied from the request. | |
| 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 and authorization | valid, the protocol enters the authentication and authorization | |
| phase. Otherwise, it MUST silently discard the received message. | phase. Otherwise, it MUST silently discard the received message. | |
| Initial EAP Request MAY be optionally carried by the | The initial EAP Request message 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 since transmission of an EAP request creates a state at EAP | stateless since transmission of an EAP Request message creates a | |
| layer. See [I-D.ietf-eap-statemachine] for more information on the | state at EAP layer. See [I-D.ietf-eap-statemachine] for more | |
| EAP state machine and the allocation of state information in the | information on the EAP state machine and the allocation of state | |
| respective protocol steps. | information in the respective protocol steps. | |
| A Protection-Capability AVP and a Post-PANA-Address-Configuration | A Protection-Capability AVP and a Post-PANA-Address-Configuration | |
| (PPAC) AVP MAY be included in the PANA-Start-Request in order to | (PPAC) AVP MAY be included in the PANA-Start-Request in order to | |
| indicate required and available capabilities for the network access. | indicate required and available capabilities for the network access. | |
| These AVPs MAY be used by the PaC for assessing the capability match | These AVPs MAY be used by the PaC for assessing the capability match | |
| even before the authentication takes place. Since these AVPs are | even before the authentication takes place. Since these AVPs are | |
| provided during the insecure discovery and handshake phase, there are | provided during the insecure discovery and handshake phase, there are | |
| certain security risks involved in using the provided information. | certain security risks involved in using the provided information. | |
| See Section 10 for further discussion on this. | See Section 10 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. | |
| Skipping to change at page 14, line 17: | ||
| provided during the insecure discovery and handshake phase, there are | provided during the insecure discovery and handshake phase, there are | |
| certain security risks involved in using the provided information. | certain security risks involved in using the provided information. | |
| See Section 10 for further discussion on this. | See Section 10 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. | |
| The PANA-Start-Request/Answer exchange is needed before entering the | The PANA-Start-Request/Answer exchange is needed before entering the | |
| authentication and authorization phase even when the PaC is | authentication and authorization phase even when the PaC is | |
| pre-configured with PAAs IP address and the PANA-PAA-Discover message | pre-configured with the IP address of the PAA and the | |
| is unicast. | PANA-PAA-Discover message is unicast. | |
| A Nonce AVP MUST be included in PANA-Start-Request and | A Nonce AVP MUST be included in the PANA-Start-Request and | |
| PANA-Start-Answer messages. The nonces are used to establish a fresh | PANA-Start-Answer messages. The nonces are used to establish a fresh | |
| PANA_MAC_KEY (see Section 5.3) which is a transient session key in | PANA_MAC_KEY (see Section 5.3) which is a transient session key in | |
| the EAP key hierarchy [I-D.ietf-eap-keying] and is used only in the | the EAP key hierarchy [I-D.ietf-eap-keying] and is used only in the | |
| PANA protocol. A Nonce AVP MUST be included in PANA-Start-Request | PANA protocol. A Nonce AVP MUST be included in the | |
| and PANA-Start-Answer messages. The nonces are used to establish a | PANA-Start-Request and PANA-Start-Answer messages. The nonces are | |
| PANA SA. | used to establish a PANA SA. | |
| A PANA-Start-Request message of a stateless PAA discovery MUST NOT be | A PANA-Start-Request message in stateless PAA discovery MUST NOT be | |
| retransmitted as this voids the statelessness on the PAA. Instead, | retransmitted as this voids the statelessness on the PAA. Instead, | |
| the PaC MUST retransmit the PANA-PAA-Discover until it receives a | the PaC MUST retransmit the PANA-PAA-Discover message until it | |
| PANA-Start-Request message, and retransmit the PANA-Start-Answer | receives a PANA-Start-Request message, and retransmit the | |
| message until it receives a PANA-Auth-Request message. The PaC can | PANA-Start-Answer message until it receives a PANA-Auth-Request | |
| determine whether the PAA is using stateless discovery by the | message. The PaC can determine whether the PAA is using stateless | |
| presence of Cookie AVP. The PANA-Start-Request message MUST be | discovery by the presence of Cookie AVP. The PANA-Start-Request | |
| retransmitted instead of the PANA-Start-Answer message when stateful | message MUST be retransmitted instead of the PANA-Start-Answer | |
| PAA discovery is used. | message when stateful PAA discovery is used. | |
| It is possible that both the PAA and the PaC initiate the discovery | It is possible that both the PAA and the PaC initiate the discovery | |
| and handshake procedure at the same time, i.e., the PAA sends a | and 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 is included in the message) for the PaC. In this case the | Cookie AVP is included in the message) for the PaC. In this case the | |
| PAA will retransmit PANA-Start-Request based on a timer, if the PaC | PAA will retransmit the PANA-Start-Request message based on a timer, | |
| doesn't respond in time (message was lost for example). If the PAA | if the PaC doesn't respond in time (the message was lost for | |
| had sent a PANA-Start-Request message without creating a state for | example). If the PAA had sent a PANA-Start-Request message without | |
| the PaC (i.e., a Cookie AVP was included in the message), then it | creating a state for the PaC (i.e., a Cookie AVP was included in the | |
| SHOULD answer to the PANA-PAA-Discover message. | message), then it SHOULD answer to the PANA-PAA-Discover message. | |
| Figure 2 shows an example sequence for the discovery and handshake | Figure 2 shows an example sequence for the discovery and handshake | |
| phase when a PANA-PAA-Discover message is sent by the PaC. Figure 3 | phase when a PANA-PAA-Discover message is sent by the PaC. Figure 3 | |
| shows an example sequence for the discovery and handshake phase that | shows an example sequence for the discovery and handshake phase with | |
| is triggered by data traffic. | traffic-driven PAA discovery. | |
| PaC PAA Message(seqno)[AVPs] | PaC PAA Message(seqno)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| -----> PANA-PAA-Discover(0) | -----> PANA-PAA-Discover(0) | |
| <----- PANA-Start-Request(x)[Nonce, Cookie] | <----- PANA-Start-Request(x)[Nonce, Cookie] | |
| -----> PANA-Start-Answer(x)[Nonce, Cookie] | -----> PANA-Start-Answer(x)[Nonce, Cookie] | |
| (continued to the authentication and | (continued to the authentication and | |
| authorization phase) | authorization phase) | |
| Figure 2: Example Sequence for Discovery and Handshake Phase when | Figure 2: Example sequence for the discovery and handshake phase when | |
| PANA-PAA-Discover is sent by PaC | PANA-PAA-Discover is sent by the PaC | |
| PaC EP PAA Message(seqno)[AVPs] | PaC EP PAA Message(seqno)[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)[Nonce, Cookie] | <------------ PANA-Start-Request(x)[Nonce, Cookie] | |
| ------------> PANA-Start-Answer(x)[Nonce, Cookie] | ------------> PANA-Start-Answer(x)[Nonce, Cookie] | |
| (continued to the authentication and | (continued to the authentication and | |
| authorization phase) | authorization phase) | |
| Figure 3: Example Sequence for Discovery and Handshake when discovery | Figure 3: Example sequence for the discovery and handshake phase with | |
| is triggered by data traffic | traffic-driven PAA discovery | |
| 4.3 Authentication and Authorization Phase | 4.3 Authentication and Authorization Phase | |
| The main task of the authentication and authorization phase is to | The main task of the authentication and authorization phase is to | |
| carry EAP messages between the PaC and the PAA. EAP Request and | carry EAP messages between the PaC and the PAA. EAP Request and | |
| Response messages are carried in PANA-Auth-Request messages. | Response messages are carried in PANA-Auth-Request messages. | |
| PANA-Auth-Answer messages are simply used to acknowledge receipt of | PANA-Auth-Answer messages are simply used to acknowledge receipt of | |
| the requests. As an optimization, a PANA-Auth-Answer message MAY | the requests. As an optimization, a PANA-Auth-Answer message MAY | |
| include the EAP Response. This optimization MAY not be used when it | include the EAP Response message. This optimization MAY not be used | |
| takes time to generate the EAP-Response (due to, e.g., intervention | when it takes time to generate the EAP Response message (due to, | |
| of human input), in which case returning an EAP-Auth-Anser message | e.g., intervention of human input), in which case returning an | |
| without piggybacking an EAP-Response can avoid unnecessary | EAP-Auth-Answer message without piggybacking an EAP Response message | |
| retransmission of the PANA-Auth-Request message. Another | can avoid unnecessary retransmission of the PANA-Auth-Request | |
| optimization allows optionally carrying the first EAP Request/ | message. Another optimization allows optionally carrying the first | |
| Response in PANA-Start-Request/Answer message as described in Section | EAP Request/Response message in PANA-Start-Request/Answer message as | |
| 4.2. | described in Section 4.2. | |
| PANA allows execution of two separate authentication methods, one | PANA allows execution of two separate authentication methods, one | |
| with NAP and one with ISP under the same PANA session. This optional | with NAP and one with ISP under the same PANA session. This optional | |
| feature may be offered by the PAA and accepted by the PaC. When | feature may be offered by the PAA and accepted by the PaC. When | |
| performed separately, the result of the first EAP authentication is | performed separately, the result of the first EAP authentication is | |
| signaled via PANA-FirstAuth-End-Request and PANA-FirstAuth-End-Answer | signaled via PANA-FirstAuth-End-Request and PANA-FirstAuth-End-Answer | |
| message exchange which delineates the first method execution from the | message exchange which delineates the first method execution from the | |
| next. See Section 4.7 for a detailed discussion on separate NAP and | next. See Section 4.7 for a detailed discussion on separate NAP and | |
| ISP authentication. | ISP authentication. | |
| The result of PANA authentication is carried in a PANA-Bind-Request | The result of PANA authentication is carried in a PANA-Bind-Request | |
| message sent from PAA to PaC. This message carries the final EAP | message sent from the PAA to the PaC. This message carries the final | |
| authentication result (whether it is the second EAP authentication | EAP authentication result (whether it is the second EAP | |
| result of NAP and ISP separate authentication, or the sole EAP | authentication result of NAP and ISP separate authentication, or the | |
| authentication result) and the result of PANA authentication. The | sole EAP authentication result) and the result of PANA | |
| PANA-Bind-Request message MUST be acknowledged with a | authentication. The PANA-Bind-Request message MUST be acknowledged | |
| PANA-Bind-Answer (PBA) message. Figure 4 shows an example sequence | with a PANA-Bind-Answer (PBA) message. Figure 4 shows an example | |
| in the authentication and authorization phase (no separate | sequence in the authentication and authorization phase (no separate | |
| authentication). | authentication). | |
| PaC PAA Message(seqno)[AVPs] | PaC PAA Message(seqno)[AVPs] | |
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | |
| (continued from the discovery and handshake phase) | (continued from the discovery and handshake phase) | |
| <----- PANA-Auth-Request(x+1) | <----- PANA-Auth-Request(x+1) | |
| [Session-Id, EAP{Request}] | [Session-Id, EAP{Request}] | |
| -----> PANA-Auth-Answer(x+1) // No piggybacking EAP-Response | -----> PANA-Auth-Answer(x+1) // No piggybacking EAP Response | |
| [Session-Id] | [Session-Id] | |
| -----> PANA-Auth-Request(y) | -----> PANA-Auth-Request(y) | |
| [Session-Id, EAP{Response}] | [Session-Id, EAP{Response}] | |
| <----- PANA-Auth-Answer(y) | <----- PANA-Auth-Answer(y) | |
| [Session-Id] | [Session-Id] | |
| <----- PANA-Auth-Request(x+2) | <----- PANA-Auth-Request(x+2) | |
| [Session-Id, EAP{Request}] | [Session-Id, EAP{Request}] | |
| -----> PANA-Auth-Answer(x+2) // Piggybacking EAP-Response | -----> PANA-Auth-Answer(x+2) // Piggybacking EAP Response | |
| [Session-Id, EAP{Response}] | [Session-Id, EAP{Response}] | |
| <----- PANA-Bind-Request(x+3) | <----- PANA-Bind-Request(x+3) | |
| [Session-Id, EAP{Success}, Device-Id, | [Session-Id, EAP{Success}, Device-Id, | |
| Lifetime, Protection-Cap., PPAC, MAC] | Lifetime, Protection-Cap., PPAC, MAC] | |
| -----> PANA-Bind-Answer(x+3) | -----> PANA-Bind-Answer(x+3) | |
| [Session-Id, Device-Id, PPAC, MAC] | [Session-Id, Device-Id, PPAC, MAC] | |
| Figure 4: Example Sequence in Authentication and Authorization Phase | Figure 4: Example sequence for the authentication and authorization | |
| phase | ||
| When an EAP method that is capable of deriving keys is used during | When an EAP method that is capable of deriving keys is used during | |
| the authentication and authorization phase and the keys are | the authentication and authorization phase and the keys are | |
| successfully derived, the PANA message that carries the EAP Success | successfully derived, the PANA message that carries the EAP Success | |
| (PANA-FirstAuth-End-Request, PANA-Bind-Request) and any subsequent | message (i.e., a PANA-FirstAuth-End-Request or a PANA-Bind-Request | |
| message MUST contain a MAC AVP. | message) and any subsequent message MUST contain a MAC AVP. | |
| 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 EP(s), and | also used for binding device identifiers of the PaC and EP(s), and | |
| the IP address of the PAA to the PANA SA. To achieve this, the | the IP address of the PAA to the PANA SA. To achieve this, the | |
| PANA-Bind-Request message MUST contain the device identifier in a | PANA-Bind-Request message MUST contain the device identifier in a | |
| Device-Id AVP for each EP if a Protection-Capability AVP is included | Device-Id AVP for each EP if a Protection-Capability AVP is included | |
| in the message. Otherwise, the message SHOULD contain the device | in the message. Otherwise, the message SHOULD contain the device | |
| identifier in a Device-Id AVP for each EP when a link-layer or IP | identifier in a Device-Id AVP for each EP when a link-layer or IP | |
| address is used as the device identifier of the PaC. The | address is used as the device identifier of the PaC. The | |
| PANA-Bind-Request message MUST also contain the IP address of the PAA | PANA-Bind-Request message MUST also contain the IP address of the PAA | |
| Skipping to change at page 17, line 22: | ||
| of device identifier as contained in the request. If the | of device identifier as contained in the request. If the | |
| PANA-Bind-Answer message sent from the PaC does not contain a | PANA-Bind-Answer message sent from the PaC does not contain a | |
| Device-Id AVP with the same device identifier type contained in the | Device-Id AVP with the same device identifier type contained in the | |
| request, the PAA sends a PANA-Error-Request message with a | request, the PAA sends a PANA-Error-Request message with a | |
| PANA_MISSING_AVP result code, and wait for a PANA-Error-Answer | PANA_MISSING_AVP result code, and wait for a PANA-Error-Answer | |
| message to terminate the session. The PANA-Bind-Request message with | message to terminate the session. The PANA-Bind-Request message with | |
| a PANA_SUCCESS result code MUST also contain a Protection-Capability | a PANA_SUCCESS result code MUST also contain a Protection-Capability | |
| AVP if link-layer or network-layer ciphering is enabled after the | AVP if link-layer or network-layer ciphering is enabled after the | |
| authentication and authorization phase. The PANA-Bind-Request | authentication and authorization phase. The PANA-Bind-Request | |
| message MAY also contain a Protection-Capability AVP to indicate if | message MAY also contain a Protection-Capability AVP to indicate if | |
| link-layer or network-layer ciphering should be initiated after PANA. | link-layer or network-layer ciphering should be enabled after the | |
| No link-layer or network-layer specific information is included in | authentication and authorization phase. No link-layer or | |
| the Protection-Capability AVP. It is assumed that the PAA is aware | network-layer specific information is included in the | |
| of the security capabilities of the access network. The PANA | Protection-Capability AVP. It is assumed that the PAA is aware of | |
| protocol does not specify how the PANA SA and the | the security capabilities of the access network. The PANA protocol | |
| Protection-Capability AVP will be used to provide per-packet | does not specify how the PANA SA and the Protection-Capability AVP | |
| protection for data traffic. | will be used to provide per-packet protection for data traffic. | |
| Additionally, the PANA-Bind-Request message with a PANA_SUCCESS | Additionally, the PANA-Bind-Request message with a PANA_SUCCESS | |
| result code MUST include a Post-PANA-Address-Configuration (PPAC) | result code MUST include a Post-PANA-Address-Configuration (PPAC) | |
| AVP, which helps the PAA to inform the PaC about whether a new IP | AVP, which helps the PAA to inform the PaC about whether a new IP | |
| address MUST be configured and the available methods to do so. The | address MUST be configured and the available methods to do so. In | |
| PaC MUST include a PPAC AVP in order to indicate its choice of method | this case, the PaC MUST include a PPAC AVP in the PANA-Bind-Answer | |
| when there is a match between the methods offered by the PAA and the | message in order to indicate its choice of method when there is a | |
| methods available on the PaC. When there is no match, the PaC MUST | match between the methods offered by the PAA and the methods | |
| send a PANA-Error-Request message with a | available on the PaC. When there is no match, the PaC MUST send a | |
| PANA_PPAC_CAPABILITY_UNSUPPORTED result code and terminate the PANA | PANA-Error-Request message with a PANA_PPAC_CAPABILITY_UNSUPPORTED | |
| session. | result code and terminate the PANA session. | |
| PANA-Bind-Request and PANA-Bind-Answer messages MUST be retransmitted | PANA-Bind-Request and PANA-Bind-Answer messages MUST be retransmitted | |
| based on the retransmission rule described in Section 5.2. | based on the retransmission rule described in Section 5.2. | |
| EAP authentication can fail at a pass-through authenticator without | EAP authentication can fail at a pass-through authenticator without | |
| sending an EAP-Failure message [I-D.ietf-eap-statemachine]. When | sending an EAP Failure message [I-D.ietf-eap-statemachine]. When | |
| this occurs, the PAA SHOULD send a PANA-Error-Request message to the | this occurs, the PAA SHOULD send a PANA-Error-Request message to the | |
| PaC with using PANA_UNABLE_TO_COMPLY result code. The PaC SHOULD not | PaC with using PANA_UNABLE_TO_COMPLY result code. The PaC SHOULD not | |
| change its state unless the error message is secured by PANA or lower | change its state unless the error message is secured by PANA or | |
| layer. In any case, a more appropriate way is to rely on a timeout | lower-layer. In any case, a more appropriate way is to rely on a | |
| on the PaC. | timeout on the PaC. | |
| There is a case where EAP authentication succeeds with producing an | There is a case where EAP authentication succeeds with producing an | |
| EAP-Success message but network access authorization fails due to, | EAP Success message but network access authorization fails due to, | |
| e.g., authorization rejected by a AAA or authorization locally | e.g., authorization rejected by a AAA or authorization locally | |
| rejected by the PAA. When this occurs, the PAA MUST send | rejected by the PAA. When this occurs, the PAA MUST send a | |
| 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 the PaC and the PAA by the time when | a AAA-Key is established between the PaC and the PAA by the time when | |
| the EAP-Success message is generated by the EAP server (this is the | the EAP Success message is generated by the EAP server (this is the | |
| case when the EAP method provides protected success indication), this | case when the EAP method provides protected success indication), the | |
| PANA-Bind message exchange MUST be protected with a MAC AVP and carry | PANA-Bind-Request and PANA-Bind-Answer messages MUST be protected | |
| a Key-Id AVP. The AAA-Key and the PANA session MUST be deleted | with a MAC AVP and carry a Key-Id AVP. The AAA-Key and the PANA | |
| immediately after the PANA-Bind message exchange. | session MUST be deleted immediately after the PANA-Bind message | |
| exchange. | ||
| 4.4 Access Phase | 4.4 Access Phase | |
| Once the authentication and authorization phase or the | Once the authentication and authorization phase or the | |
| re-authentication phase successfully completes, the PaC gains access | re-authentication phase successfully completes, the PaC gains access | |
| to the network and can send and receive IP data traffic through EP | to the network and can send and receive IP data traffic through the | |
| and the PANA session enters the access phase. In this phase, | EP(s) and the PANA session enters the access phase. In this phase, | |
| PANA-Ping-Request and PANA-Ping-Answer messages can be used for | PANA-Ping-Request and PANA-Ping-Answer messages can be used for | |
| testing the liveness of the PANA session on the PANA peer. Both the | testing the liveness of the PANA session on the PANA peer. Both the | |
| PaC and the PAA are allowed to send a PANA-Ping-Request message to | PaC and the PAA are allowed to send a PANA-Ping-Request message to | |
| the communicating peer whenever they need to make sure the | the communicating peer whenever they need to make sure the | |
| availability of the session on the peer and expect the peer to return | availability of the session on the peer and expect the peer to return | |
| a PANA-Ping-Answer message. Both PANA-Ping-Request and | a PANA-Ping-Answer message. Both PANA-Ping-Request and | |
| PANA-Ping-Answer messages MUST be protected with a MAC AVP when a | PANA-Ping-Answer messages MUST be protected with a MAC AVP when a | |
| PANA SA is available. | PANA SA is available. | |
| Implementations MUST limit the rate of performing this test. The PaC | Implementations MUST limit the rate of performing this test. The PaC | |
| Skipping to change at page 18, line 45: | ||
| of timers for this purpose. | of timers for this purpose. | |
| Figure 5 and Figure 6 show liveness tests as they are initiated by | Figure 5 and Figure 6 show liveness tests as they are initiated by | |
| the PaC and the PAA respectively. | the PaC and the PAA respectively. | |
| PaC PAA Message(seqno)[AVPs] | PaC PAA Message(seqno)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| -----> PANA-Ping-Request(q)[Session-Id, MAC] | -----> PANA-Ping-Request(q)[Session-Id, MAC] | |
| <----- PANA-Ping-Answer(q)[Session-Id, MAC] | <----- PANA-Ping-Answer(q)[Session-Id, MAC] | |
| Figure 5: Example Sequence for PaC-initiated liveness test | Figure 5: Example sequence for PaC-initiated liveness test | |
| PaC PAA Message(seqno)[AVPs] | PaC PAA Message(seqno)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| <----- PANA-Ping-Request(p)[Session-Id, MAC] | <----- PANA-Ping-Request(p)[Session-Id, MAC] | |
| -----> PANA-Ping-Answer(p)[Session-Id, MAC] | -----> PANA-Ping-Answer(p)[Session-Id, MAC] | |
| Figure 6: Example Sequence for PAA-initiated liveness test | Figure 6: Example sequence for PAA-initiated liveness test | |
| 4.5 Re-authentication Phase | 4.5 Re-authentication Phase | |
| A PANA session in the access phase can enter the re-authentication | The PANA session in the access phase can enter the re-authentication | |
| phase to extend the current session lifetime by re-executing EAP. | phase to extend the current session lifetime by re-executing EAP. | |
| Once the re-authentication phase successfully completes, the session | Once the re-authentication phase successfully completes, the session | |
| re-enters the access phase. Otherwise, the session is deleted. | re-enters the access phase. Otherwise, the session is deleted. | |
| When a PaC wants to initiate re-authentication, it sends a | When the PaC wants to initiate re-authentication, it sends a | |
| PANA-Reauth-Request message to the PAA. This message MUST contain a | PANA-Reauth-Request message to the PAA. This message MUST contain a | |
| Session-Id AVP which is used for identifying the PANA session on the | Session-Id AVP which is used for identifying the PANA session on the | |
| PAA. If the PAA already has an established PANA session for the PaC | PAA. If the PAA already has an established PANA session for the PaC | |
| with the matching identifier, it MUST first respond with a | with the matching session identifier, it MUST first respond with a | |
| PANA-Reauth-Answer, followed by a PANA-Auth-Request that starts a new | PANA-Reauth-Answer message, followed by a PANA-Auth-Request that | |
| EAP authentication. If the PAA cannot identify the session based on | starts a new EAP authentication. If the PAA cannot identify the | |
| the received Session-Id, it MUST respond with a PANA-Error-Request | session, it MAY respond with a PANA-Error-Request message with a | |
| with the error code PANA_UNKNOWN_SESSION_ID. The PAA MUST terminate | result code PANA_UNKNOWN_SESSION_ID. Transmission of this error | |
| the session once it receives a PANA-Error-Answer for the | request is made optional in case this behavior is leveraged for a DoS | |
| PANA-Error-Request. The PANA-Reauth-Request/Answer messages MUST | attack on the PAA. | |
| contain a MAC AVP when there is a PANA SA in order to avoid a denial | ||
| of service attack. | ||
| PaC may receive a PANA-Auth-Request before receiving the answer to | The PaC may receive a PANA-Auth-Request before receiving the answer | |
| its outstanding PANA-Reauth-Request. This condition can arise due to | to its outstanding PANA-Reauth-Request. This condition can arise due | |
| packet re-ordering or a race condition between the PaC and PAA when | to packet re-ordering or a race condition between the PaC and PAA | |
| they both attempt to engage in re-authentication. PaC MUST keep | when they both attempt to engage in re-authentication. The PaC MUST | |
| discarding the received PANA-Auth-Requests until it receives the | keep discarding the received PANA-Auth-Requests until it receives the | |
| answer to its request. | answer to its request. | |
| When the PAA initiates re-authentication, it sends a | When the PAA initiates re-authentication, it sends a | |
| PANA-Auth-Request message containing the session identifier for the | PANA-Auth-Request message containing the session identifier for the | |
| PaC to enter the re-authentication phase. PAA SHOULD initiate EAP | PaC to enter the re-authentication phase. The PAA SHOULD initiate | |
| re-authentication before the current session lifetime expires. | EAP re-authentication before the current session lifetime expires. | |
| Re-authentication of an on-going PANA session MUST maintain the | Re-authentication of an on-going PANA session MUST maintain the | |
| existing sequence numbers. | existing sequence numbers. | |
| For any re-authentication, if there is an established PANA SA, | For any 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. Any subsequent EAP-based | adding a MAC AVP to each message. Any subsequent EAP authentication | |
| authentication MUST be performed with the same ISP and NAP that was | MUST be performed with the same ISP and NAP that was selected during | |
| selected during the initial authentication. An example sequence for | the discovery and handshake phase. An example sequence for | |
| a re-authentication initiated by a PaC is shown in Figure 7. | re-authentication phase initiated by the PaC is shown in Figure 7. | |
| PaC PAA Message(seqno)[AVPs] | PaC PAA Message(seqno)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| -----> PANA-Reauth-Request(q) | -----> PANA-Reauth-Request(q) | |
| [Session-Id, MAC] | [Session-Id, MAC] | |
| <----- PANA-Reauth-Answer(q) | <----- PANA-Reauth-Answer(q) | |
| [Session-Id, MAC] | [Session-Id, MAC] | |
| <----- PANA-Auth-Request(p) | <----- PANA-Auth-Request(p) | |
| [Session-Id, EAP{Request}, MAC] | [Session-Id, EAP{Request}, MAC] | |
| -----> PANA-Auth-Answer(p) // No piggybacking EAP-Response | -----> PANA-Auth-Answer(p) // No piggybacking EAP Response | |
| [Session-Id, MAC] | [Session-Id, MAC] | |
| -----> PANA-Auth-Request(q+1) | -----> PANA-Auth-Request(q+1) | |
| [Session-Id, EAP{Response}, MAC] | [Session-Id, EAP{Response}, MAC] | |
| <----- PANA-Auth-Answer(q+1) // No piggybacking EAP-Response | <----- PANA-Auth-Answer(q+1) // No piggybacking EAP Response | |
| [Session-Id, MAC] | [Session-Id, MAC] | |
| <----- PANA-Auth-Request(p+1) | <----- PANA-Auth-Request(p+1) | |
| [Session-Id, EAP{Request}, MAC] | [Session-Id, EAP{Request}, MAC] | |
| -----> PANA-Auth-Answer(p+1) // Piggybacking EAP-Response | -----> PANA-Auth-Answer(p+1) // Piggybacking EAP Response | |
| [Session-Id, EAP{Response}, MAC] | [Session-Id, EAP{Response}, MAC] | |
| <----- PANA-Bind-Request(p+2) | <----- PANA-Bind-Request(p+2) | |
| [Session-Id, EAP{Success}, Device-Id, Key-Id, | [Session-Id, EAP{Success}, Device-Id, Key-Id, | |
| IP-Address, Lifetime, Protection-Cap., PPAC, MAC] | IP-Address, Lifetime, Protection-Cap., PPAC, MAC] | |
| -----> PANA-Bind-Answer(p+2) | -----> PANA-Bind-Answer(p+2) | |
| [Session-Id, Device-Id, Key-Id, PPAC, MAC] | [Session-Id, Device-Id, Key-Id, PPAC, MAC] | |
| Figure 7: Example Sequence for re-authentication initiated by PaC | Figure 7: Example sequence for the re-authentication phase initiated | |
| by PaC | ||
| 4.6 Termination Phase | 4.6 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 the PaC (i.e., disconnect indication) or from | initiated either from the PaC (i.e., disconnect indication) or from | |
| the PAA (i.e., session revocation). The PANA-Termination-Request and | the PAA (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 between the PaC and the PAA, all | |
| the PAA, all messages exchanged during the termination phase MUST be | messages exchanged during the termination phase MUST be protected | |
| protected with a MAC AVP. When the sender of the | with a MAC AVP. When the sender of the PANA-Termination-Request | |
| PANA-Termination-Request receives a valid acknowledgment, all states | message receives a valid acknowledgment, all states maintained for | |
| maintained for the PANA session MUST be deleted immediately. | the PANA session MUST be deleted immediately. | |
| PaC PAA Message(seqno)[AVPs] | PaC PAA Message(seqno)[AVPs] | |
| ------------------------------------------------------ | ------------------------------------------------------ | |
| -----> PANA-Termination-Request(q)[Session-Id, MAC] | -----> PANA-Termination-Request(q)[Session-Id, MAC] | |
| <----- PANA-Termination-Answer(q)[Session-Id, MAC] | <----- PANA-Termination-Answer(q)[Session-Id, MAC] | |
| Figure 8: Example Sequence for Session Termination Triggered by PaC | Figure 8: Example sequence for the termination phase triggered by PaC | |
| 4.7 Separate NAP and ISP Authentication | 4.7 Separate NAP and ISP Authentication | |
| PANA allows running at most two EAP sessions in sequence in the | PANA allows running at most two EAP sessions in sequence in the | |
| authentication and authorization phase to support separate NAP and | authentication and authorization phase to support separate NAP and | |
| ISP authentication as described in this section. A typical network | ISP authentication as described in this section. A typical network | |
| access authentication includes execution of one EAP method with the | access authentication includes execution of one EAP method with the | |
| ISP. This separation allows PaC to perform an additional | ISP. This separation allows the PaC to perform an additional | |
| authentication method for receiving differentiated services from the | authentication method for receiving differentiated services from the | |
| NAP. | NAP. | |
| Currently, running multiple EAP sessions in sequence in the | Currently, running multiple EAP sessions in sequence in the | |
| authentication and authorization phase is designed only for separate | authentication and authorization phase is designed only for separate | |
| NAP and ISP authentication. It is not for running arbitrary number | NAP and ISP authentication. It is not for running arbitrary number | |
| of EAP sessions in sequence, or giving the PaC another chance to try | of EAP sessions in sequence, or giving the PaC another chance to try | |
| another EAP authentication method within an integrated NAP and ISP | another EAP authentication method within an integrated NAP and ISP | |
| authentication when an EAP authentication method fails. | authentication when an EAP authentication method fails. | |
| Skipping to change at page 21, line 44: | ||
| 4.7.1 Negotiating Separate NAP and ISP Authentication | 4.7.1 Negotiating Separate NAP and ISP Authentication | |
| When the PaC and PAA negotiates in the discovery and handshake phase | When the PaC and PAA negotiates in the discovery and handshake phase | |
| to perform separate NAP and ISP authentication, the PaC and the PAA | to perform separate NAP and ISP authentication, the PaC and the PAA | |
| operate in the following way in addition to the behavior defined in | operate in the following way in addition to the behavior defined in | |
| Section 4.2 | Section 4.2 | |
| In the discovery and handshake phase, the PAA MAY advertise | In the discovery and handshake phase, the PAA MAY advertise | |
| availability of separate NAP and ISP authentication | availability of separate NAP and ISP authentication | |
| ([I-D.ietf-pana-framework]) by setting the S-flag on the message | ([I-D.ietf-pana-framework]) by setting the S-flag on the PANA header | |
| header of the PANA-Start-Request. | of the PANA-Start-Request message. | |
| If the S-flag of the received PANA-Start-Request message is set, the | If the S-flag of the received PANA-Start-Request message is set, the | |
| PaC can indicate its desire to perform separate NAP and ISP | PaC can indicate its desire to perform separate NAP and ISP | |
| authentication by setting the S-flag in the PANA-Start-Answer | authentication by setting the S-flag in the PANA-Start-Answer | |
| message. If the S-flag of the received PANA-Start-Request message is | message. If the S-flag of the received PANA-Start-Request message is | |
| not set, the PaC MUST NOT set the S-flag in the PANA-Start-Answer | not set, the PaC MUST NOT set the S-flag in the PANA-Start-Answer | |
| message sent back to the PAA. | message sent back to the PAA. | |
| If the S-flag in the PANA-Start-Answer message is not set, only one | If the S-flag in the PANA-Start-Answer message is not set, only one | |
| authentication is performed (ISP-only) and the processing occurs as | authentication is performed (ISP-only) and the processing occurs as | |
| described in Section 4.2. | described in Section 4.2. | |
| When the S-flag is set in a PANA-Start-Request message, the initial | 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. | EAP Request message MUST NOT be carried in the PANA-Start-Request | |
| (If the initial EAP Request were contained in the PANA-Start-Request | message. (If the initial EAP Request message were contained in the | |
| message during the S-flag negotiation, the PaC cannot tell whether | PANA-Start-Request message during the S-flag negotiation, the PaC | |
| the EAP Request is for NAP authentication or ISP authentication.) | cannot tell whether the EAP Request message is for NAP authentication | |
| or ISP authentication.) | ||
| 4.7.2 Execution of Separate NAP and ISP Authentication | 4.7.2 Execution of Separate NAP and ISP Authentication | |
| When the PaC and PAA have negotiated in the discovery and handshake | When the PaC and PAA have negotiated in the discovery and handshake | |
| phase to perform separate NAP and ISP authentication, the PaC and the | phase to perform separate NAP and ISP authentication, the PaC and the | |
| PAA operate in the following way in addition to the behavior defined | PAA operate in the following way in addition to the behavior defined | |
| in Section 4.3 | in Section 4.3 | |
| o The S-flag of PANA-Auth-Request and PANA-Auth-Answer messages MUST | o The S-flag of PANA-Auth-Request and PANA-Auth-Answer messages MUST | |
| be set. | be set. | |
| Skipping to change at page 23, line 35: | ||
| AAA-Key for the first EAP authentication. The PANA-Bind-Request and | AAA-Key for the first EAP authentication. The PANA-Bind-Request and | |
| PANA-Bind-Answer messages and all subsequent PANA messages exchanged | PANA-Bind-Answer messages and all subsequent PANA messages exchanged | |
| in the access phase, re-authentication phase and termination phase | in the access phase, re-authentication phase and termination phase | |
| MUST be protected either with the AAA-Key for the first EAP | MUST be protected either with the AAA-Key for the first EAP | |
| authentication if the first EAP authentication succeeds and the | authentication if the first EAP authentication succeeds and the | |
| second EAP authentication fails, or with the AAA-Key for the second | second EAP authentication fails, or with the AAA-Key for the second | |
| EAP authentication if the first EAP authentication fails and the | EAP authentication if the first EAP authentication fails and the | |
| second EAP authentication succeeds, or with the compound AAA-Key | second EAP authentication succeeds, or with the compound AAA-Key | |
| derived from the two AAA-Keys, one for the first EAP authentication | derived from the two AAA-Keys, one for the first EAP authentication | |
| and the other from the second EAP authentication, if both the first | and the other from the second EAP authentication, if both the first | |
| and second EAP authentications succeed. | and second EAP authentication succeed. See Section 5.3 for how to | |
| derive the AAA-Key. | ||
| 5. Protocol Design Details and Processing Rules | 5. Protocol Design Details and Processing Rules | |
| 5.1 Transport Layer | 5.1 Transport Layer | |
| 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 unicast when the PaC knows the IP | unicast. The PANA-PAA-Discover message MAY be unicast when the PaC | |
| address of the PAA. | knows the IP address of the PAA. | |
| 5.1.1 Fragmentation | 5.1.1 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. | |
| 5.2 Sequence Number and Retransmission | 5.2 Sequence Number and Retransmission | |
| PANA uses sequence numbers to provide ordered and reliable delivery | PANA uses sequence numbers to provide ordered and reliable delivery | |
| of messages. | of messages. | |
| PaC and PAA maintain two sequence numbers: the next one to be used | The PaC and PAA maintain two sequence numbers: the next one to be | |
| for a request it initiates and the next one it expects to see in a | used for a request it initiates and the next one it expects to see in | |
| request from the other end. These sequence numbers are 32-bit | a request from the other end. These sequence numbers are 32-bit | |
| unsigned numbers. They are monotonically incremented by 1 as new | unsigned numbers. They are monotonically incremented by 1 as new | |
| requests are generated and received, and wrapped to zero on the next | requests are generated and received, and wrapped to zero on the next | |
| message after 2^32-1. Answers always contain the same sequence | message after 2^32-1. Answers always contain the same sequence | |
| number as the corresponding request. Retransmissions reuse the | number as the corresponding request. Retransmissions reuse the | |
| sequence number contained in the original packet. | sequence number contained in the original packet. | |
| The initial sequence numbers (ISN) are randomly picked by PaC and PAA | The initial sequence numbers (ISN) are randomly picked by the PaC and | |
| as they send their very first request messages. PANA-PAA-Discover | PAA as they send their very first request messages. | |
| message carries sequence number 0. | PANA-PAA-Discover message carries sequence number 0. | |
| When a request message is received, it is considered valid in terms | When a request message is received, it is considered valid in terms | |
| of sequence numbers if and only if its sequence number matches the | of sequence numbers if and only if its sequence number matches the | |
| expected value. This check does not apply to the PANA-PAA-Discover, | expected value. This check does not apply to the PANA-PAA-Discover, | |
| PANA-Start-Request messages. | PANA-Start-Request messages. | |
| When an answer message is received, it is considered valid in terms | When an answer message is received, it is considered valid in terms | |
| of sequence numbers if and only if its sequence number matches that | of sequence numbers if and only if its sequence number matches that | |
| of the currently outstanding request. A peer can only have one | of the currently outstanding request. A peer can only have one | |
| outstanding request at a time. | outstanding request at a time. | |
| PANA messages are retransmitted based on a timer until a response is | PANA messages are retransmitted based on a timer until a response is | |
| received (in which case the retransmission timer is stopped) or the | received (in which case the retransmission timer is stopped) or the | |
| number of retransmission reaches the maximum value (in which case the | number of retransmission reaches the maximum value (in which case the | |
| PANA session MUST be deleted immediately). | PANA session MUST be deleted immediately). | |
| The initial discovery and handshake phase requires special handling. | The initial discovery and handshake phase requires special handling. | |
| PaC MUST retransmit PANA-PAA-Discover if a subsequent | The PaC MUST retransmit the PANA-PAA-Discover message if a subsequent | |
| PANA-Start-Request is not received in time. Even though a | PANA-Start-Request message is not received in time. Even though a | |
| PANA-Start-Request is received, PANA-PAA-Discover may still have to | PANA-Start-Request message is received, the PANA-PAA-Discover message | |
| be retransmitted. This is because a stateless PAA discovery requires | may still have to be retransmitted. This is because stateless PAA | |
| one time transmission of a solicited PANA-Start-Request. PAA MUST | discovery requires one time transmission of a solicited | |
| NOT start a timer and retransmit the request in order to avoid state | PANA-Start-Request message. The PAA MUST NOT start a timer and | |
| creation. If the received PANA-Start-Request included a Cookie AVP | retransmit the request in order to avoid state creation. If the | |
| (an indication of stateless discovery), PaC MUST retransmit | received PANA-Start-Request message included a Cookie AVP (an | |
| PANA-PAA-Discover until the first PANA-Auth-Request is received. | indication of stateless discovery), the PaC MUST retransmit the | |
| Otherwise, PaC can rely on PAA to retransmit the PANA-Start-Requests | PANA-PAA-Discover message until the first PANA-Auth-Request message | |
| as soon as PaC receives the first one (i.e., PaC can stop sending | is received. Otherwise, the PaC can rely on the PAA to retransmit | |
| PANA-PAA-Discover). | the PANA-Start-Request message as soon as the PaC receives the first | |
| one (i.e., the PaC can stop sending the PANA-PAA-Discover message). | ||
| The retransmission timers SHOULD be calculated as described in | The retransmission timers SHOULD be calculated as described in | |
| [RFC2988] to provide congestion control. See Section 8 for default | [RFC2988] to provide congestion control. See Section 8 for default | |
| timer and maximum retransmission count parameters. | timer and maximum retransmission count parameters. | |
| PaC and PAA MUST respond to duplicate requests. Last transmitted | The PaC and PAA MUST respond to duplicate requests. The last | |
| PANA answer MAY be cached in case it is not received by the peer and | transmitted answer MAY be cached in case it is not received by the | |
| that generates a retransmission of the last request. When available, | peer and that generates a retransmission of the last request. When | |
| a cached answer can be used instead of fully processing the | available, the cached answer can be used instead of fully processing | |
| retransmitted request and forming a new answer from scratch. | the retransmitted request and forming a new answer from scratch. | |
| PANA MUST NOT generate EAP message duplication. EAP payload of a | PANA MUST NOT generate EAP message duplication. EAP payload of a | |
| retransmitted PANA message MUST NOT be passed to the EAP layer. | retransmitted PANA message MUST NOT be passed to the EAP layer. | |
| 5.3 PANA Security Association | 5.3 PANA Security Association | |
| A PANA SA is created as an attribute of a PANA session when EAP | A PANA SA is created as an attribute of a PANA session when EAP | |
| authentication succeeds with a creation of a AAA-Key. A PANA SA is | authentication succeeds with a creation of a AAA-Key. A PANA SA is | |
| not created when the PANA authentication fails or no AAA-Key is | not created when the PANA authentication fails or no AAA-Key is | |
| produced by any EAP authentication method. In the case where two EAP | produced by any EAP authentication method. In the case where two EAP | |
| authentications are performed in sequence in the PANA authentication | sessions are performed in sequence in the PANA authentication and | |
| and authorization phase, it is possible that two AAA-Keys are | authorization phase, it is possible that two AAA-Keys are derived. | |
| derived. If this happens, the PANA SA MUST be generated from both | If this happens, the PANA SA MUST be generated from both AAA-Keys. | |
| AAA-Keys. When a new AAA-Key is derived as a result of EAP-based | When a new AAA-Key is derived in the PANA re-authentication phase, | |
| re-authentication, any key derived from the old AAA-Key MUST be | any key derived from the old AAA-Key MUST be updated to a new one | |
| updated to a new one that is derived from the new AAA-Key. In order | that is derived from the new AAA-Key. In order to distinguish the | |
| to distinguish the new AAA-Key from old ones, one Key-Id AVP MUST be | new AAA-Key from old ones, one Key-Id AVP MUST be carried in | |
| carried in PANA-Bind-Request and PANA-Bind-Answer messages or | PANA-Bind-Request and PANA-Bind-Answer messages or | |
| 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 | the Key-Id AVP value, a simple method is to use monotonically | |
| numbers. | increasing numbers. | |
| The PANA session lifetime is bounded by the lifetime granted by the | The PANA session lifetime is bounded by the lifetime granted by the | |
| authentication server (same as AAA-Key lifetime). The lifetime of | authentication server (same as the AAA-Key lifetime). The lifetime | |
| the PANA SA (hence the PANA_MAC_KEY) is the same as the lifetime of | of the PANA SA (hence the PANA_MAC_KEY) is the same as the lifetime | |
| the PANA session. The created PANA SA is deleted when the | of the PANA session. The created PANA SA is deleted when the | |
| corresponding PANA session is deleted. | corresponding PANA session is deleted. | |
| 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 | |
| Skipping to change at page 27, line 15: | ||
| + AAA-Key | + AAA-Key | |
| + AAA-Key Identifier | + AAA-Key Identifier | |
| + PANA_MAC_KEY | + PANA_MAC_KEY | |
| The PANA_MAC_KEY is derived from the available AAA-Key(s) and it is | The PANA_MAC_KEY is derived from the available AAA-Key(s) and it is | |
| used to integrity protect PANA messages. If there is only one | used to integrity protect PANA messages. If there is only one | |
| AAA-Key available, e.g., due to ISP-only authentication, or with one | AAA-Key available, e.g., due to ISP-only authentication, or with one | |
| failed and one successful NAP and ISP separate authentication (see | failed and one successful separate NAP and ISP authentication (see | |
| Section 4.7), the PANA_MAC_KEY computation is based on that single | Section 4.7), the PANA_MAC_KEY computation is based on that single | |
| key. Otherwise, two AAA-Keys available to PANA can be combined in | key. Otherwise, two AAA-Keys available to PANA can be combined in | |
| following way ('|' indicates concatenation): | following way ('|' indicates concatenation): | |
| AAA-Key = AAA-Key1 | AAA-Key2 | AAA-Key = AAA-Key1 | AAA-Key2 | |
| The PANA_MAC_KEY is computed in 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-Key, PaC_nonce | PAA_nonce | Session-ID) | HMAC_SHA1(AAA-Key, PaC_nonce | PAA_nonce | Session-ID) | |
| where the value of N depends on the integrity protection algorithm in | where the value of N depends on the integrity protection algorithm in | |
| use, i.e., N=160 for HMAC-SHA1. The length of AAA-Key MUST be N bits | use, i.e., N=160 for HMAC-SHA1. The length of the AAA-Key MUST be N | |
| or longer. See Section Section 5.4 for the detailed usage of the | bits or longer. See Section Section 5.4 for the detailed usage of | |
| PANA_MAC_KEY. | the PANA_MAC_KEY. | |
| 5.4 Message Authentication Code | 5.4 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) | |
| Skipping to change at page 28, line 30: | ||
| invalid: | invalid: | |
| * In the discovery and handshake phase: | * In the discovery and handshake phase: | |
| + PANA-Termination-Request and PANA-Ping-Request. | + PANA-Termination-Request and PANA-Ping-Request. | |
| + PANA-Bind-Request. | + PANA-Bind-Request. | |
| + PANA-Update-Request. | + PANA-Update-Request. | |
| + PANA-Reauth-Request. | ||
| + PANA-Error-Request. | ||
| * In the authentication and authorization phase: | * In the authentication and authorization phase: | |
| + PANA-PAA-Discover. | + PANA-PAA-Discover. | |
| + PANA-Update-Request. | + PANA-Update-Request. | |
| + PANA-Start-Request after a PaC receives the first valid | + PANA-Start-Request after a PaC receives the first valid | |
| PANA-Auth-Request. | PANA-Auth-Request. | |
| + PANA-Termination-Request before the PaC receives the first | + PANA-Termination-Request before the PaC receives the first | |
| Skipping to change at page 29, line 20: | ||
| 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. | |
| o When a Device-Id AVP is included, the AVP is valid if the device | o When a Device-Id AVP is included, the AVP is valid if the device | |
| identifier type contained in the AVP is supported (check performed | identifier type contained in the AVP is supported (check performed | |
| by both PaC and PAA) and is the requested one (check performed by | by both the PaC and the PAA) and is the requested one (check | |
| PAA only) and the device identifier value contained in the AVP | performed by the PAA only) and the device identifier value | |
| matches the value extracted from the lower-layer encapsulation | contained in the AVP matches the value extracted from the | |
| header corresponding to the device identifier type contained in | lower-layer encapsulation header corresponding to the device | |
| the AVP (check performed by PAA only). Note that a Device-Id AVP | identifier type contained in the AVP (check performed by the PAA | |
| carries the PaC's device identifier in messages from PaC to PAA | only). Note that a Device-Id AVP carries the device identifier of | |
| and EP(s)' device identifier in messages from PAA to PaC. | the PaC in messages from the PaC to the PAA and the device | |
| identifier(s) of the EP(s) in messages from the PAA to the PaC. | ||
| o When an IP-Address AVP is received in a message, the AVP is valid | o When an IP-Address AVP is received in a message, the AVP is valid | |
| if the IP address matches the source address in the IP header. | if the IP address matches the source address in the IP header. | |
| Invalid messages MUST be discarded in order to provide robustness | Invalid messages MUST be discarded in order to provide robustness | |
| against DoS attacks. In addition, an error notification message MAY | against DoS attacks. In addition, an error notification message MAY | |
| be returned to the sender. See Section 5.10 for details. | be returned to the sender. See Section 5.10 for details. | |
| 5.6 Device ID Choice | 5.6 Device ID Choice | |
| Skipping to change at page 30, line 9: | ||
| 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 EP device id will be used when running PANA with the | what type of EP device id will be used when running PANA with the | |
| client. When IPsec-based security [I-D.ietf-pana-ipsec] is the | client. When IPsec-based security [I-D.ietf-pana-ipsec] is the | |
| choice of access control, the PAA SHOULD provide IP address(es) as | choice of access control, the PAA SHOULD provide IP address(es) as | |
| EP(s)' device ID, and expect the PaC to provide its IP address in | EP(s)' device ID, and expect the PaC to provide its IP address in | |
| return. In case IPsec is not used, MAC addresses are used as device | return. In case IPsec is not used, MAC addresses are used as device | |
| IDs when available. If non-IPsec access control is enabled, and a | IDs when available. If non-IPsec access control is enabled, and a | |
| MAC address is not available, device ID exchange does not occur | MAC address is not available, device ID exchange does not occur | |
| within PANA. Instead, peers rely on lower-layers to provide | within PANA. Instead, peers rely on lower-layers to provide | |
| locally-significant identifiers along with received PANA packets. | locally-significant identifiers along with received PANA messages. | |
| 5.7 PaC Updating its IP Address | 5.7 PaC Updating its IP Address | |
| A PaC's IP address can change in certain situations. For example, | A PaC's IP address can change in certain situations. For example, | |
| the PANA framework [I-D.ietf-pana-framework] describes a case in | 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 | 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 | 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 | in order to maintain on-link communication based on the POPA. The | |
| PAA needs to be notified about the change of PaC address. | PAA needs to be notified about the change of PaC address. | |
| After the PaC has changed its address, it MUST send a | After the PaC has changed its address, it MUST send a | |
| PANA-Update-Request message to the PAA. The message MUST carry the | 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 | 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 request is invalid, the PAA MUST send a PANA-Error message with a | |
| the result code PANA_INVALID_IP_ADDRESS. Otherwise, the PAA MUST | result code PANA_INVALID_IP_ADDRESS. Otherwise, the PAA MUST update | |
| update the PANA session with the new PaC address and return a | 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-Answer message. If there is an established PANA SA, both | |
| PANA-Update-Request and PANA-Update-Answer messages MUST be protected | PANA-Update-Request and PANA-Update-Answer messages MUST be protected | |
| with a MAC AVP. | with a MAC AVP. | |
| 5.8 Session Lifetime | 5.8 Session Lifetime | |
| The authentication and authorization phase determines the PANA | The authentication and authorization phase determines the PANA | |
| session lifetime when the network access authorization succeeds. The | session lifetime when the network access authorization succeeds. The | |
| Session-Lifetime AVP MAY be optionally included in the | Session-Lifetime AVP MAY be optionally included in the | |
| PANA-Bind-Request message to inform PaC about the valid lifetime of | PANA-Bind-Request message to inform the PaC about the valid lifetime | |
| the PANA session. It MUST be ignored when included in other PANA | of the PANA session. It MUST be ignored when included in other PANA | |
| messages. | messages. | |
| 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 the | |
| manage PANA-related state. PaC does not have to perform any actions | PaC to manage PANA-related state. The PaC does not have to perform | |
| when the lifetime expires, other than optionally purging local state. | any actions when the lifetime expires, other than optionally purging | |
| PAA SHOULD initiate EAP re-authentication before the current session | local state. The PAA SHOULD initiate the PANA re-authentication | |
| lifetime expires. | phase before the current session lifetime expires. | |
| PaC and PAA MAY optionally rely on lower-layer indications to | The PaC and PAA MAY optionally rely on lower-layer indications to | |
| expedite the detection of a disconnected peer. Availability and | expedite the detection of a disconnected peer. Availability and | |
| reliability of such indications depend on the specific access | reliability of such indications depend on the specific access | |
| technologies. PANA peer can use PANA-Ping-Request message to verify | technologies. A PANA peer can use the PANA-Ping exchange to verify | |
| the disconnection before taking an action. | the disconnection before taking an action. | |
| The session lifetime parameter is not related to the transmission of | The session lifetime parameter is not related to the transmission of | |
| PANA-Ping-Request messages. These messages can be used for | PANA-Ping-Request messages. These messages can be used for | |
| asynchronously verifying the liveness of the peer. The decision to | asynchronously verifying the liveness of the peer. The decision to | |
| send PANA-Ping-Request message is taken locally and does not require | send a PANA-Ping-Request message is taken locally and does not | |
| coordination between the peers. | require coordination between the peers. | |
| When separate ISP and NAP authentication is performed, it is possible | When separate ISP and NAP authentication is performed, it is possible | |
| that different authorization lifetime values are associated with the | that different authorization lifetime values are associated with the | |
| two authentications. In this case, the smaller authorization | two EAP authentication sessions. In this case, the smaller | |
| lifetime value MUST be used for calculating the PANA Session-Lifetime | authorization lifetime value MUST be used for calculating the PANA | |
| value. As a result, both NAP and ISP authentication will be | Session-Lifetime value. As a result, both NAP and ISP authentication | |
| performed in the re-authentication phase. | will be performed in the re-authentication phase. | |
| 5.9 Network Selection | 5.9 Network Selection | |
| In the discovery and handshake phase, a PANA-Start-Request message | The PANA discovery and handshake phase allows the PaC to learn | |
| sent from the PAA MAY contain zero or one NAP-Information AVP and | identity of the NAP and a list of ISPs that are available through the | |
| zero or more ISP-Information AVPs to advertise the information on the | NAP. The PaC can not only learn the ISPs but also convey the | |
| NAP and/or ISPs. The PaC MAY indicate its choice of ISP by including | selected ISP explicitly during the handshake phase. The PAA is | |
| an ISP-Information AVP in the PANA-Start-Answer message. The PaC can | assumed to be pre-configured with the information of ISPs that are | |
| choose an ISP and contain an ISP-Information AVP for the chosen ISP | served by the NAP. | |
| in a PANA-Start-Answer message even when there is no ISP-Information | ||
| AVP contained in the PANA-Start-Request message. When an | ||
| ISP-Information AVP is not present in the PANA-Start-Answer message, | ||
| a default ISP is automatically chosen by the PAA. | ||
| The identity of the destination AAA server or realm MAY be determined | A PANA-Start-Request message sent from the PAA MAY contain zero or | |
| based on the the client identifier (e.g., an NAI) carried in the EAP | one NAP-Information AVP, and zero or more ISP-Information AVPs. The | |
| authentication method. Note that AAA typically uses the client's NAI | PaC MAY indicate its choice of ISP by including an ISP-Information | |
| to route the request to an appropriate home server. PANA's ISP | AVP in the PANA-Start-Answer message. The PaC MAY convey its ISP | |
| selection mechanism does not preclude the use of roaming. That is, | even when there is no ISP-Information AVP contained in the | |
| the realm provided in the NAI may not match the chosen ISP; all that | PANA-Start-Request message. The PaC can do that when it is | |
| is required is that the chosen ISP is capable of routing the request | pre-configured with ISP information. | |
| to the realm in the NAI. As a result, PANA's ISP selection feature | ||
| does not affect the NAI but rather the next hop AAA entity from the | ||
| PAA. Note that this may limit the ability of the access network to | ||
| use a local AAA proxy for all outgoing traffic, assuming ISP | ||
| selection is needed. This is because the PAA can only affect the | ||
| next hop selection at the PAA, and it may not have means to present a | ||
| "source route" to the next hop proxy for doing it in the next step. | ||
| In the roaming case, the PAA MAY carry ISP-Information AVPs only for | ||
| ISPs that are directly connected to the access network it resides, | ||
| not for all possible home ISPs. | ||
| In addition to performing network selection by using PANA for | In the absence of an ISP explicitly selected and conveyed by the PaC, | |
| choosing an ISP, another level of network selection may be performed | ISP selection is typically performed based on the client identifier | |
| by using EAP for choosing AAA intermediaries | (e.g., using the realm portion of an NAI carried in EAP method). A | |
| [I-D.adrangi-eap-network-discovery]. The latter network selection | backend AAA protocol (e.g., RADIUS) will run between the AAA client | |
| occurs over EAP in the authentication and authorization phase after | on the PAA and a AAA server in the selected ISP domain. | |
| completion of the former network selection in the discovery and | ||
| handshake phase, possibly in the scope of the chosen ISP. | The PANA-based ISP selection mechanism dictates the next-hop AAA | |
| proxy on the PAA. If the NAP requires all AAA traffic to go through | ||
| its local AAA proxy, it may have to rely on a mechanism to relay the | ||
| selected ISP information from PAA (AAA client) to the local AAA | ||
| proxy. The local AAA proxy can forward the AAA traffic to the | ||
| selected ISP domain upon processing. Further details, including how | ||
| the AAA client relays AAA routing information to the AAA proxy, are | ||
| outside the scope of PANA. | ||
| An alternative ISP discovery mechanism is outlined in | ||
| [I-D.adrangi-eap-network-discovery] which suggests advertising ISP | ||
| information in-band with the ongoing EAP method execution. | ||
| Deployments using the PANA's built-in ISP discovery mechanism need | ||
| not use the other mechanism. | ||
| 5.10 Error Handling | 5.10 Error Handling | |
| A PANA-Error-Request message MAY be sent by either the PaC or the PAA | A PANA-Error-Request message MAY be sent by either the PaC or the PAA | |
| when a badly formed PANA message is received or in case of other | when a badly formed PANA message is received or in case of other | |
| errors. The receiver of this request MUST respond with a | errors. The receiver of this request MUST respond with a | |
| PANA-Error-Answer message. If the cause of this error message was a | PANA-Error-Answer message. If the cause of this error message was a | |
| request message (e.g., PANA-PAA-Discover or *-Request), then the | request message (e.g., PANA-PAA-Discover or *-Request), then the | |
| request MAY be retransmitted immediately without waiting for its | request MAY be retransmitted immediately without waiting for its | |
| retransmission timer to go off. If the cause of the error was a | retransmission timer to go off. If the cause of the error was a | |
| response message, the receiver of the PANA-Error-Request message | response message, the receiver of the PANA-Error-Request message | |
| SHOULD NOT resend the same response until it receives the next | SHOULD NOT resend the same response until it receives the next | |
| request. | request. | |
| Erroneous PANA messages may be exploited by adverseries to launch DoS | Erroneous PANA messages may be exploited by adverseries to launch DoS | |
| attacks on the victims. Unless the PaC or PAA rate-limits the | attacks on the victims. Unless the PaC or PAA rate-limits the | |
| generated PANA-Error-Request messages it may be overburdened by | generated PANA-Error-Request messages it may be overburdened by | |
| having tp respond to bogus packets. Limiting the number of error | having tp respond to bogus messages. Limiting the number of error | |
| notifications sent to a given peer during a (configurable) period of | notifications sent to a given peer during a (configurable) period of | |
| time may be useful. | time may be useful. | |
| When an error message is sent unprotected (i.e., no MAC AVP) and the | When an error message is sent unprotected (i.e., no 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. | |
| 6. PANA Headers and Formats | 6. PANA Headers and Formats | |
| Skipping to change at page 34, line 34: | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| R(equest) | R(equest) | |
| If set, the message is a request. If cleared, the message is | If set, the message is a request. If cleared, the message is | |
| an answer. | an answer. | |
| S(eparate) | S(eparate) | |
| When the S-flag is set in a PANA-Start-Request message it | When the S-flag is set in a PANA-Start-Request message it | |
| indicates that PAA is willing to offer separate NAP and ISP | indicates that the PAA is willing to offer separate NAP and ISP | |
| authentication. When the S-flag is set in a PANA-Start-Answer | authentication. When the S-flag is set in a PANA-Start-Answer | |
| message it indicates that the PaC accepts on performing | message it indicates that the PaC accepts on performing | |
| separate NAP and ISP authentication. When the S-flag is set in | separate NAP and ISP authentication. When the S-flag is set in | |
| a PANA-Auth-Request/Answer, PANA-FirstAuth-End-Request/Answer | a PANA-Auth-Request/Answer, PANA-FirstAuth-End-Request/Answer | |
| and PANA-Bind-Request/Answer messages it indicates that | and PANA-Bind-Request/Answer messages it indicates that | |
| separate NAP and ISP authentication is being performed in the | separate NAP and ISP authentication is being performed in the | |
| authentication and authorization phase. For other cases, | authentication and authorization phase. For other cases, | |
| S-flag MUST NOT be set. | S-flag MUST NOT be set. | |
| N(AP authentication) | N(AP authentication) | |
| Skipping to change at page 36, line 29: | ||
| 0 1 | 0 1 | |
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| |V M r r r r r r r r r r r r r r| | |V M r r r r r r r r r r r r r r| | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| M(andatory) | M(andatory) | |
| The 'M' Bit, known as the Mandatory bit, indicates whether | The 'M' Bit, known as the Mandatory bit, indicates whether | |
| support of the AVP is required. | support of the AVP is required. | |
| If an AVP with the 'M' bit set is received by a PaC or PAA and | If an AVP with the 'M' bit set is received by the PaC or PAA | |
| either the AVP or its value is unrecognized, the message MUST | and either the AVP or its value is unrecognized, the message | |
| be rejected and the receiver MUST send a PANA-Error message. | MUST be rejected and the receiver MUST send a | |
| If the AVP was unrecognized the PANA-Error message result code | PANA-Error-Request message. If the AVP was unrecognized the | |
| MUST be PANA_AVP_UNSUPPORTED. If the AVP value was | PANA-Error-Request message result code MUST be | |
| unrecognized the PANA-Error message result code MUST be | PANA_AVP_UNSUPPORTED. If the AVP value was unrecognized the | |
| PANA_INVALID_AVP_DATA. In either case the PANA-Error message | PANA-Error-Request message result code MUST be | |
| MUST carry a Failed-AVP AVP containing the offending mandatory | PANA_INVALID_AVP_DATA. In either case the PANA-Error-Request | |
| AVP. | message MUST carry a Failed-AVP AVP containing the offending | |
| mandatory AVP. | ||
| AVPs with the 'M' bit cleared are informational only and a | AVPs with the 'M' bit cleared are informational only and a | |
| receiver that receives a message with such an AVP that is not | receiver that receives a message with such an AVP that is not | |
| supported, or whose value is not supported, MAY simply ignore | supported, or whose value is not supported, MAY simply ignore | |
| the AVP. | the AVP. | |
| V(endor) | V(endor) | |
| The 'V' bit, known as the Vendor-Specific bit, indicates | The 'V' bit, known as the Vendor-Specific bit, indicates | |
| whether the optional Vendor-Id field is present in the AVP | whether the optional Vendor-Id field is present in the AVP | |
| header. When set the AVP Code belongs to the specific vendor | header. When set the AVP Code belongs to the specific vendor | |
| Skipping to change at page 38, line 37: | ||
| PANA-Bind-Request PBR 5 <-------- 7.2.8 | PANA-Bind-Request PBR 5 <-------- 7.2.8 | |
| PANA-Bind-Answer PBA 5 --------> 7.2.9 | PANA-Bind-Answer PBA 5 --------> 7.2.9 | |
| PANA-Ping-Request PPR 6 <-------> 7.2.10 | PANA-Ping-Request PPR 6 <-------> 7.2.10 | |
| PANA-Ping-Answer PPA 6 <-------> 7.2.11 | PANA-Ping-Answer PPA 6 <-------> 7.2.11 | |
| PANA-Termination-Request PTR 7 <-------> 7.2.12 | PANA-Termination-Request PTR 7 <-------> 7.2.12 | |
| PANA-Termination-Answer PTA 7 <-------> 7.2.13 | PANA-Termination-Answer PTA 7 <-------> 7.2.13 | |
| PANA-Error-Request PER 8 <-------> 7.2.14 | PANA-Error-Request PER 8 <-------> 7.2.14 | |
| PANA-Error-Answer PEA 8 <-------> 7.2.15 | PANA-Error-Answer PEA 8 <-------> 7.2.15 | |
| PANA-FirstAuth-End-Request PFER 9 <-------- 7.2.16 | PANA-FirstAuth-End-Request PFER 9 <-------- 7.2.16 | |
| PANA-FirstAuth-End-Answer PFEA 9 --------> 7.2.17 | PANA-FirstAuth-End-Answer PFEA 9 --------> 7.2.17 | |
| PANA-Update-Request PUR 10 --------> 7.2.18 | PANA-Update-Request PUR 10 <-------> 7.2.18 | |
| PANA-Update-Answer PUA 10 <-------- 7.2.19 | PANA-Update-Answer PUA 10 <-------> 7.2.19 | |
| ----------------------------------------------------------- | ----------------------------------------------------------- | |
| Figure 9: Table of PANA Messages | Figure 9: Table of PANA Messages | |
| 7.2 PANA Message ABNF Specification | 7.2 PANA Message ABNF Specification | |
| Every PANA message defined MUST include a corresponding ABNF | Every PANA message defined MUST include a corresponding ABNF | |
| [RFC2234] specification, which is used to define the AVPs that MUST | [RFC2234] specification, which is used to define the AVPs that MUST | |
| or MAY be present. The following format is used in the definition: | or MAY be present. The following format is used in the definition: | |
| Skipping to change at page 40, line 47: | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.1 PANA-PAA-Discover (PDI) | 7.2.1 PANA-PAA-Discover (PDI) | |
| The PANA-PAA-Discover (PDI) message is used to discover the address | The PANA-PAA-Discover (PDI) message is used to discover the address | |
| of PAA(s). The sequence number in this message is always set to zero | of PAA(s). The sequence number in this message is always set to zero | |
| (0). | (0). | |
| PANA-PAA-Discover ::= < PANA-Header: 1 > | PANA-PAA-Discover ::= < PANA-Header: 1 > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 7.2.2 PANA-Start-Request (PSR) | 7.2.2 PANA-Start-Request (PSR) | |
| PANA-Start-Request (PSR) is sent by the PAA to the PaC to advertise | The PANA-Start-Request (PSR) message is sent by the PAA to the PaC to | |
| availability of the PAA and start PANA authentication. The PAA sets | advertise availability of the PAA and start PANA authentication. The | |
| the sequence number to an initial random value. | PAA sets the sequence number to an initial random value. | |
| PANA-Start-Request ::= < PANA-Header: 2, REQ [SEP] > | PANA-Start-Request ::= < PANA-Header: 2, REQ [SEP] > | |
| { Nonce } | { Nonce } | |
| [ Cookie ] | [ Cookie ] | |
| [ EAP-Payload ] | [ EAP-Payload ] | |
| [ NAP-Information ] | [ NAP-Information ] | |
| * [ ISP-Information ] | * [ ISP-Information ] | |
| [ Protection-Capability] | [ Protection-Capability] | |
| [ PPAC ] | [ PPAC ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 7.2.3 PANA-Start-Answer (PSA) | 7.2.3 PANA-Start-Answer (PSA) | |
| PANA-Start-Answer (PSA) is sent by the PaC to the PAA in response to | The PANA-Start-Answer (PSA) message is sent by the PaC to the PAA in | |
| a PANA-Start-Request message. This message completes the handshake | response to a PANA-Start-Request message. This message completes the | |
| to start PANA authentication. | handshake to start PANA authentication. | |
| PANA-Start-Answer ::= < PANA-Header: 2 [SEP] > | PANA-Start-Answer ::= < PANA-Header: 2 [SEP] > | |
| { Nonce } | { Nonce } | |
| [ Cookie ] | [ Cookie ] | |
| [ EAP-Payload ] | [ EAP-Payload ] | |
| [ ISP-Information ] | [ ISP-Information ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.4 PANA-Auth-Request (PAR) | 7.2.4 PANA-Auth-Request (PAR) | |
| PANA-Auth-Request (PAR) is either sent by the PAA or the PaC. Its | The PANA-Auth-Request (PAR) message is either sent by the PAA or the | |
| main task is to carry an EAP-Payload AVP. | PaC. Its main task is to carry an EAP-Payload AVP. | |
| 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 > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.5 PANA-Auth-Answer (PAN) | 7.2.5 PANA-Auth-Answer (PAN) | |
| PANA-Auth-Answer (PAN) is sent by either the PaC or the PAA in | THe PANA-Auth-Answer (PAN) message is sent by either the PaC or the | |
| response to a PANA-Auth-Request message. It MAY carry an EAP-Payload | PAA in response to a PANA-Auth-Request message. It MAY carry an | |
| AVP. | EAP-Payload AVP. | |
| PANA-Auth-Answer ::= < PANA-Header: 3 [SEP] [NAP] > | PANA-Auth-Answer ::= < PANA-Header: 3 [SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| [ EAP-Payload ] | [ EAP-Payload ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.6 PANA-Reauth-Request (PRAR) | 7.2.6 PANA-Reauth-Request (PRAR) | |
| PANA-Reauth-Request (PRAR) is sent by the PaC to the PAA to | The PANA-Reauth-Request (PRAR) message is sent by the PaC to the PAA | |
| re-initiate EAP authentication. | to re-initiate EAP authentication. | |
| PANA-Reauth-Request ::= < PANA-Header: 4, REQ > | PANA-Reauth-Request ::= < PANA-Header: 4, REQ > | |
| < Session-Id > | < Session-Id > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.7 PANA-Reauth-Answer (PRAA) | 7.2.7 PANA-Reauth-Answer (PRAA) | |
| PANA-Reauth-Answer (PRAA) is sent by the PAA to the PaC in response | The PANA-Reauth-Answer (PRAA) message is sent by the PAA to the PaC | |
| to a PANA-Reauth-Request message. | in response to a PANA-Reauth-Request message. | |
| PANA-Reauth-Answer ::= < PANA-Header: 4 > | PANA-Reauth-Answer ::= < PANA-Header: 4 > | |
| < Session-Id > | < Session-Id > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.8 PANA-Bind-Request (PBR) | 7.2.8 PANA-Bind-Request (PBR) | |
| PANA-Bind-Request (PBR) is sent by the PAA to the PaC to deliver the | The PANA-Bind-Request (PBR) message is sent by the PAA to the PaC to | |
| result of PANA authentication. | deliver the result of PANA authentication. | |
| PANA-Bind-Request ::= < PANA-Header: 5, REQ [SEP] [NAP] > | PANA-Bind-Request ::= < PANA-Header: 5, REQ [SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| { Result-Code } | { Result-Code } | |
| { PPAC } | { PPAC } | |
| { IP-Address } | { IP-Address } | |
| [ EAP-Payload ] | [ EAP-Payload ] | |
| [ Session-Lifetime ] | [ Session-Lifetime ] | |
| [ Protection-Capability ] | [ Protection-Capability ] | |
| [ Key-Id ] | [ Key-Id ] | |
| * [ Device-Id ] | * [ Device-Id ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.9 PANA-Bind-Answer (PBA) | 7.2.9 PANA-Bind-Answer (PBA) | |
| PANA-Bind-Answer (PBA) is sent by the PaC to the PAA in response to a | The PANA-Bind-Answer (PBA) message is sent by the PaC to the PAA in | |
| PANA-Bind-Request message. | response to a PANA-Bind-Request message. | |
| PANA-Bind-Answer ::= < PANA-Header: 5 [,SEP] [NAP] > | PANA-Bind-Answer ::= < PANA-Header: 5 [,SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| { Result-Code } | { Result-Code } | |
| [ PPAC ] | [ PPAC ] | |
| [ Device-Id ] | [ Device-Id ] | |
| [ Key-Id ] | [ Key-Id ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.10 PANA-Ping-Request (PPR) | 7.2.10 PANA-Ping-Request (PPR) | |
| PANA-Ping-Request (PPR) is either sent by the PaC or the PAA for | The PANA-Ping-Request (PPR) message is either sent by the PaC or the | |
| performing liveness test. | PAA for performing liveness test. | |
| PANA-Ping-Request ::= < PANA-Header: 6, REQ > | PANA-Ping-Request ::= < PANA-Header: 6, REQ > | |
| < Session-Id > | < Session-Id > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.11 PANA-Ping-Answer (PPA) | 7.2.11 PANA-Ping-Answer (PPA) | |
| PANA-Ping-Answer (PPA) is sent in response to a PANA-Ping-Request. | The PANA-Ping-Answer (PPA) message is sent in response to a | |
| PANA-Ping-Request. | ||
| PANA-Ping-Answer ::= < PANA-Header: 6 > | PANA-Ping-Answer ::= < PANA-Header: 6 > | |
| < Session-Id > | < Session-Id > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.12 PANA-Termination-Request (PTR) | 7.2.12 PANA-Termination-Request (PTR) | |
| PANA-Termination-Request (PTR) is sent either by the PaC or the PAA | The PANA-Termination-Request (PTR) message is sent either by the PaC | |
| to terminate a PANA session. | or the PAA to terminate a PANA session. | |
| PANA-Termination-Request ::= < PANA-Header: 7, REQ > | PANA-Termination-Request ::= < PANA-Header: 7, REQ > | |
| < Session-Id > | < Session-Id > | |
| < Termination-Cause > | < Termination-Cause > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.13 PANA-Termination-Answer (PTA) | 7.2.13 PANA-Termination-Answer (PTA) | |
| PANA-Termination-Answer (PTA) is sent either by the PaC or the PAA in | The PANA-Termination-Answer (PTA) message is sent either by the PaC | |
| response to PANA-Termination-Request. | or the PAA in response to PANA-Termination-Request. | |
| PANA-Termination-Answer ::= < PANA-Header: 7 > | PANA-Termination-Answer ::= < PANA-Header: 7 > | |
| < Session-Id > | < Session-Id > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.14 PANA-Error-Request (PER) | 7.2.14 PANA-Error-Request (PER) | |
| PANA-Error is sent either by the PaC or the PAA to report an error | The PANA-Error-Request (PER) message is sent either by the PaC or the | |
| with the last received PANA message. | PAA to report an error with the last received PANA message. | |
| PANA-Error-Request ::= < PANA-Header: 8 REQ > | PANA-Error-Request ::= < PANA-Header: 8 REQ > | |
| < Session-Id > | < Session-Id > | |
| < Result-Code > | < Result-Code > | |
| * [ Failed-AVP ] | * [ Failed-AVP ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.15 PANA-Error-Answer (PEA) | 7.2.15 PANA-Error-Answer (PEA) | |
| PANA-Error-Answer is sent in response to a PANA-Error-Request. | The PANA-Error-Answer (PEA) message is sent in response to a | |
| PANA-Error-Request. | ||
| PANA-Error-Answer ::= < PANA-Header: 8 > | PANA-Error-Answer ::= < PANA-Header: 8 > | |
| < Session-Id > | < Session-Id > | |
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.16 PANA-FirstAuth-End-Request (PFER) | 7.2.16 PANA-FirstAuth-End-Request (PFER) | |
| PANA-FirstAuth-End-Request (PFER) is sent by the PAA to the PaC to | The PANA-FirstAuth-End-Request (PFER) message is sent by the PAA to | |
| signal the result of the first EAP authentication method when | the PaC to signal the result of the first EAP authentication method | |
| separate NAP and ISP authentication is performed. | when separate NAP and ISP authentication is performed. | |
| PANA-FirstAuth-End-Request ::= < PANA-Header: 9, REQ [SEP] [NAP] > | PANA-FirstAuth-End-Request ::= < PANA-Header: 9, REQ [SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| { EAP-Payload } | { EAP-Payload } | |
| { Result-Code } | { Result-Code } | |
| [ Key-Id ] | [ Key-Id ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.17 PANA-FirstAuth-End-Answer (PFEA) | 7.2.17 PANA-FirstAuth-End-Answer (PFEA) | |
| PANA-FirstAuth-End-Answer (PFEA) is sent by the PaC to the PAA in | The PANA-FirstAuth-End-Answer (PFEA) message is sent by the PaC to | |
| response to a PANA-FirstAuth-End-Request message. | the PAA in response to a PANA-FirstAuth-End-Request message. | |
| PANA-FirstAuth-End-Answer ::= < PANA-Header: 9, REQ [SEP] [NAP] > | PANA-FirstAuth-End-Answer ::= < PANA-Header: 9, REQ [SEP] [NAP] > | |
| < Session-Id > | < Session-Id > | |
| [ Key-Id ] | [ Key-Id ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.18 PANA-Update-Request (PUR) | 7.2.18 PANA-Update-Request (PUR) | |
| PANA-Update-Request (PUR) is sent by the PaC to the PAA to update the | The PANA-Update-Request (PUR) message is sent either by the PaC or | |
| attributes of the PANA session. Currently only the PaC IP address | the PAA to deliver attribute updates and notifications. In the scope | |
| attribute can be updated via this mechanism. | of this specification only the PaC IP address attribute can be | |
| updated via this mechanism. An IP-Address AVP can only be included | ||
| in the PUR messages sent by the PaC. The PUR message can be used to | ||
| deliver just a notification as well. | ||
| PANA-Update-Request ::= < PANA-Header: 10, REQ > | PANA-Update-Request ::= < PANA-Header: 10, REQ > | |
| < Session-Id > | < Session-Id > | |
| < IP-Address > | [ IP-Address ] | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.2.19 PANA-Update-Answer (PUA) | 7.2.19 PANA-Update-Answer (PUA) | |
| PANA-Update-Answer (PUA) is sent by the PAA to the PaC in response to | The PANA-Update-Answer (PUA) message is sent by the PAA to the PaC in | |
| a PANA-Update-Request. | response to a PANA-Update-Request. | |
| PANA-Update-Answer ::= < PANA-Header: 10 > | PANA-Update-Answer ::= < PANA-Header: 10 > | |
| < Session-Id > | < Session-Id > | |
| [ Notification ] | ||
| * [ AVP ] | * [ AVP ] | |
| 0*1 < MAC > | 0*1 < MAC > | |
| 7.3 AVPs in PANA | 7.3 AVPs in PANA | |
| PANA defines several AVPs that are specific to the protocol. A | PANA defines several AVPs that are specific to the protocol. A | |
| number of others AVPs are reused. These are specified in other | number of others AVPs are reused. These are specified in other | |
| documents such as [RFC3588]. | documents such as [RFC3588]. | |
| The following tables lists the AVPs used in this document, and | The following tables lists the AVPs used in this document, and | |
| Skipping to change at page 46, line 25: | ||
| 1+ At least one instance of the AVP MUST be present in the | 1+ At least one instance of the AVP MUST be present in the | |
| message. | message. | |
| +-------------------------------------------+ | +-------------------------------------------+ | |
| | Message | | | Message | | |
| | Type | | | Type | | |
| +---+---+---+---+---+---+---+---+---+---+---+ | +---+---+---+---+---+---+---+---+---+---+---+ | |
| Attribute Name |PSR|PSA|PAR|PAN|PBR|PBA|PDI|PPR|PPA|PTR|PTA| | Attribute Name |PSR|PSA|PAR|PAN|PBR|PBA|PDI|PPR|PPA|PTR|PTA| | |
| --------------------+---+---+---+---+---+---+---+---+---+---+---+ | --------------------+---+---+---+---+---+---+---+---+---+---+---+ | |
| Result-Code | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | Cookie |0-1|0-1| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Session-Id | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | | Device-Id | 0 | 0 | 0 | 0 | 0+|0-1| 0 | 0 | 0 | 0 | 0 | | |
| Termination-Cause | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | ||
| EAP-Payload |0-1|0-1| 1 |0-1|0-1| 0 | 0 | 0 | 0 | 0 | 0 | | EAP-Payload |0-1|0-1| 1 |0-1|0-1| 0 | 0 | 0 | 0 | 0 | 0 | | |
| Failed-AVP | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| IP-Address | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| ISP-Information | 0+|0-1| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Key-Id | 0 | 0 | 0 | 0 |0-1|0-1| 0 | 0 | 0 | 0 | 0 | | ||
| MAC | 0 |0-1|0-1|0-1|0-1|0-1| 0 |0-1|0-1|0-1|0-1| | MAC | 0 |0-1|0-1|0-1|0-1|0-1| 0 |0-1|0-1|0-1|0-1| | |
| NAP-Information |0-1| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Nonce | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Nonce | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Device-Id | 0 | 0 | 0 | 0 | 0+|0-1| 0 | 0 | 0 | 0 | 0 | | Notification |0-1|0-1|0-1|0-1|0-1|0-1|0-1|0-1|0-1|0-1|0-1| | |
| Cookie |0-1|0-1| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Protection-Cap. |0-1| 0 | 0 | 0 |0-1| 0 | 0 | 0 | 0 | 0 | 0 | | ||
| PPAC |0-1| 0 | 0 | 0 | 1 |0-1| 0 | 0 | 0 | 0 | 0 | | PPAC |0-1| 0 | 0 | 0 | 1 |0-1| 0 | 0 | 0 | 0 | 0 | | |
| Protection-Cap. |0-1| 0 | 0 | 0 |0-1| 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Result-Code | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | | ||
| Session-Id | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | | ||
| Session-Lifetime | 0 | 0 | 0 | 0 |0-1| 0 | 0 | 0 | 0 | 0 | 0 | | Session-Lifetime | 0 | 0 | 0 | 0 |0-1| 0 | 0 | 0 | 0 | 0 | 0 | | |
| Failed-AVP | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Termination-Cause | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | | |
| ISP-Information | 0+|0-1| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| NAP-Information |0-1| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Key-Id | 0 | 0 | 0 | 0 |0-1|0-1| 0 | 0 | 0 | 0 | 0 | | ||
| IP-Address | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| --------------------+---+---+---+---+---+---+---+---+---+---+---+ | --------------------+---+---+---+---+---+---+---+---+---+---+---+ | |
| Figure 10: AVP Occurrence Table (1/2) | Figure 10: AVP Occurrence Table (1/2) | |
| +-----------------------------------+ | +-----------------------------------+ | |
| | Message | | | Message | | |
| | Type | | | Type | | |
| +----+----+---+---+---+---+----+----+ | +----+----+---+---+---+---+----+----+ | |
| Attribute Name |PFER|PFEA|PUR|PUA|PER|PEA|PRAR|PRAA| | Attribute Name |PFER|PFEA|PUR|PUA|PER|PEA|PRAR|PRAA| | |
| --------------------+----+----+---+---+---+---+----+----+ | --------------------+----+----+---+---+---+---+----+----+ | |
| Result-Code | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | | Cookie | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Session-Id | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | | Device-Id | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Termination-Cause | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| EAP-Payload | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | EAP-Payload | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Failed-AVP | 0 | 0 | 0 | 0 | 0+| 0 | 0 | 0 | | ||
| IP-Address | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | | ||
| ISP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Key-Id |0-1 |0-1 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| MAC |0-1 |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 |0-1 | | |
| NAP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Nonce | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Nonce | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Device-Id | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Notification |0-1 |0-1 |0-1|0-1|0-1|0-1|0-1 |0-1 | | |
| Cookie | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Protection-Cap. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| PPAC | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | PPAC | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Protection-Cap. | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Result-Code | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | | ||
| Session-Id | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | | ||
| Session-Lifetime | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | Session-Lifetime | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| Failed-AVP | 0 | 0 | 0 | 0 | 0+| 0 | 0 | 0 | | Termination-Cause | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | |
| ISP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| NAP-Information | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| Key-Id |0-1 |0-1 | 0 | 0 | 0 | 0 | 0 | 0 | | ||
| IP-Address | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | | ||
| --------------------+----+----+---+---+---+---+----+----+ | --------------------+----+----+---+---+---+---+----+----+ | |
| Figure 11: AVP Occurrence Table (2/2) | Figure 11: AVP Occurrence Table (2/2) | |
| 7.3.1 MAC AVP | 7.3.1 Cookie AVP | |
| The Cookie AVP (AVP Code 1) is used for carrying a random value | ||
| generated by the PAA. The AVP data is of type OctetString. The | ||
| random value is referred to as a cookie and used for making PAA | ||
| discovery robust against blind resource consumption DoS attacks. The | ||
| exact algorithms and syntax used by the PAA to generate a cookie does | ||
| not affect interoperability and not specified in this document. An | ||
| example cookie generation algorithm is shown in Section 4.2. | ||
| 7.3.2 Device-Id AVP | ||
| The Device-Id AVP (AVP Code 2) is used for carrying device | ||
| identifiers of PaC and EP(s). The AVP data is of Address type | ||
| [RFC3588]. IPv4 and IPv6 addresses are encoded as specified in | ||
| [RFC3588]. The content and format of data (including byte and bit | ||
| ordering) for link-layer addresses is expected to be specified in | ||
| specific documents that describe how IP operates over different | ||
| link-layers. For instance, [RFC2464]. Address families other than | ||
| that are defined for link-layer or IP addresses MUST NOT be used for | ||
| this AVP. | ||
| 7.3.3 EAP-Payload AVP | ||
| The EAP-Payload AVP (AVP Code 3) is used for encapsulating the actual | ||
| EAP message that is being exchanged between the EAP peer and the EAP | ||
| authenticator. The AVP data is of type OctetString. | ||
| 7.3.4 Failed-AVP AVP | ||
| The Failed-AVP AVP (AVP Code 4) provides debugging information in | ||
| cases where a request is rejected or not fully processed due to | ||
| erroneous information in a specific AVP. The AVP data is of type | ||
| Grouped. The format of the Failed-AVP AVP is defined in [RFC3588]. | ||
| 7.3.5 IP-Address AVP | ||
| The IP-Address AVP (AVP Code 5) contains an IP address of the PaC or | ||
| PAA. When it is sent by the PaC, it is used to convey the new IP | ||
| address of the PaC to the PAA when the PaC reconfigures its IP | ||
| address after the successful PANA authentication. This AVP is not | ||
| used if the PaC's IP address used during the authentication and | ||
| authorization phase is still valid. It is sent by the PAA in | ||
| PANA-Bind-Request to bind the IP address of the PAA to the PANA | ||
| session. The payload format of the IP-Address AVP is the same as | ||
| that of the Device-Id AVP (see See Section 7.3.2). Address families | ||
| for IPv4 or IPv6 MUST be used for this AVP. | ||
| 7.3.6 ISP-Information AVP | ||
| The ISP-Information AVP (AVP Code 6) contains zero or one | ||
| Provider-Identifier AVP which carries the identifier of the ISP and | ||
| one Provider-Name AVP which carries the name of the ISP. The AVP | ||
| data is of type Grouped, and it has the following ABNF grammar: | ||
| ISP-Information ::= < AVP Header: 6 > | ||
| 0*1 { Provider-Identifier } | ||
| { Provider-Name } | ||
| * [ AVP ] | ||
| 7.3.7 Key-Id AVP | ||
| The Key-Id AVP (AVP Code 7) is of type Integer32, and contains an | ||
| AAA-Key identifier. The AAA-Key identifier is assigned by PAA and | ||
| MUST be unique within the PANA session. | ||
| 7.3.8 MAC AVP | ||
| The MAC (Message Authentication Code) AVP is used to integrity | The MAC (Message Authentication Code) AVP is used to integrity | |
| protect PANA messages. The first octet of the this AVP (AVP Code 1) | protect PANA messages. The first octet of the this AVP (AVP Code 8) | |
| data contains the MAC algorithm type. Rest of the AVP data payload | data contains the MAC algorithm type. Rest of the AVP data payload | |
| contains the MAC encoded in network byte order. The 8-bit Algorithm | contains the MAC encoded in network byte order. The 8-bit Algorithm | |
| name space is managed by IANA [ianaweb]. The AVP length varies | name space is managed by IANA [ianaweb]. The AVP length varies | |
| depending on the used algorithm. | depending on the used algorithm. | |
| 0 1 2 3 | 0 1 2 3 | |
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | Algorithm | MAC... | | Algorithm | MAC... | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| Skipping to change at page 48, line 4: | ||
| 0 1 2 3 | 0 1 2 3 | |
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| | Algorithm | MAC... | | Algorithm | MAC... | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |
| Algorithm | Algorithm | |
| 1 HMAC-SHA1 (20 bytes) | 1 HMAC-SHA1 (20 bytes) | |
| MAC | MAC | |
| The Message Authentication Code is encoded in network byte order. | The Message Authentication Code is encoded in network byte order. | |
| 7.3.2 Device-Id AVP | 7.3.9 NAP-Information AVP | |
| The Device-Id AVP (AVP Code 2) is used for carrying device | The NAP-Information AVP (AVP Code 9) contains zero or one | |
| identifiers of PaC and EP(s). The AVP data is of Address type | Provider-Identifier AVP which carries the identifier of the NAP and | |
| [RFC3588]. IPv4 and IPv6 addresses are encoded as specified in | one Provider-Name AVP which carries the name of the NAP. The AVP | |
| [RFC3588]. The content and format of data (including byte and bit | data is of type Grouped, and it has the following ABNF grammar: | |
| ordering) for link-layer addresses is expected to be specified in | ||
| specific documents that describe how IP operates over different | ||
| link-layers. For instance, [RFC2464]. Address families other than | ||
| that are defined for link-layer or IP addresses MUST NOT be used for | ||
| this AVP. | ||
| 7.3.3 Session-Id AVP | NAP-Information ::= < AVP Header: 9 > | |
| 0*1 { Provider-Identifier } | ||
| { Provider-Name } | ||
| * [ AVP ] | ||
| All messages pertaining to a specific PANA session MUST include a | 7.3.10 Nonce AVP | |
| Session-Id AVP (AVP Code 3) which carries a PAA-assigned fixed | ||
| session identifier value throughout the lifetime of a session. When | ||
| present, the Session-Id AVP SHOULD appear immediately following the | ||
| PANA header. | ||
| The Session-Id MUST be globally and eternally unique, as it is meant | The Nonce AVP (AVP Code 10) carries a randomly chosen value that is | |
| to identify a PANA session without reference to any other | used in cyrptographic key computations. The AVP data is of type | |
| information, and may be needed to correlate historical authentication | OctetString and it contains a randomly generated value in opaque | |
| information with accounting information. The PANA Session-Id AVP has | format. The data length MUST be between 8 and 256 bytes inclusive. | |
| the same format as the Diameter Session-Id AVP [RFC3588]. | ||
| 7.3.4 Cookie AVP | 7.3.11 Notification AVP | |
| The Cookie AVP (AVP Code 4) is used for carrying a random value | The Notification AVP (AVP Code 11) is optionally used to convey a | |
| generated by the PAA. The AVP data is of type OctetString. The | displayable message sent by either the PaC or the PAA. It can be | |
| random value is referred to as a cookie and used for making PAA | included in any message, whether it is a request or answer. In case | |
| discovery robust against blind resource consumption DoS attacks. The | a notification needs to be sent but there is no outgoing PANA message | |
| exact algorithms and syntax used by the PAA to generate a cookie does | to deliver this AVP, a PANA-Update-Request that only carries a | |
| not affect interoperability and not specified in this document. An | Notification AVP SHOULD be generated. | |
| example cookie generation algorithm is shown in Section 4.2. | ||
| 7.3.5 Protection-Capability AVP | Receipt this AVP does not change PANA state. | |
| The Protection-Capability AVP (AVP Code 5) indicates the | AVP data is of type OctetString and it contains UTF-8 encoded ISO | |
| 10646 characters [RFC2279]. The length of the displayable message is | ||
| determined by the AVP Length field. The message MUST NOT be null | ||
| terminated. | ||
| 7.3.12 Post-PANA-Address-Configuration (PPAC) AVP | ||
| The PPAC AVP (AVP Code 12) is used for conveying the available types | ||
| of post-PANA IP address configuration mechanisms when sent by the | ||
| PAA, and the chosen one when sent by the PaC. Each possible | ||
| mechanisms is represented by a flag. At least one or more of the | ||
| flags MUST be set when sent by the PAA, and exactly one flag MUST be | ||
| set when sent by the PaC. The AVP data is of type Unsigned32. | ||
| The format of the AVP data is as follows: | ||
| 0 1 2 3 | ||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| |N|D|A|T|I| Reserved | | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| PPAC Flags | ||
| N (No configuration) | ||
| The PaC does not have to (if sent by PAA) or will not (if sent | ||
| by PaC) configure a new IP address after PANA. | ||
| D (DHCP) | ||
| The PaC can (if sent by PAA) or will (if sent by PaC) use DHCP | ||
| [RFC2131][RFC3315] to configure a new IP address after PANA. | ||
| A (stateless autoconfiguration) | ||
| The PaC can/will use stateless IPv6 address autoconfiguration | ||
| [RFC2462] to configure a new IP address after PANA. | ||
| T (DHCP with IPsec tunnel mode) | ||
| The PaC can/will use [RFC3456] to configure a new IP address | ||
| after PANA. | ||
| I (IKEv2) | ||
| The PaC can/will use [I-D.ietf-ipsec-ikev2] to configure a new | ||
| IP address after PANA. | ||
| Reserved | ||
| These flag bits are reserved for future use, and MUST be set to | ||
| zero, and ignored by the receiver. | ||
| Unless the N-flag is set, the PaC MUST configure a new IP address | ||
| using one of the methods indicated by the other flags. Refer to | ||
| [I-D.ietf-pana-framework] for a detailed discussion on when these | ||
| methods can be used. | ||
| 7.3.13 Protection-Capability AVP | ||
| The Protection-Capability AVP (AVP Code 13) indicates the | ||
| cryptographic data protection capability supported and required by | cryptographic data protection capability supported and required by | |
| the EPs. The AVP data is of type Unsigned32. Below is a list of | the EPs. The AVP data is of type Unsigned32. Below is a list of | |
| valid data values and associated protection capabilities: | valid data values and associated protection capabilities: | |
| 0 L2_PROTECTION | 0 L2_PROTECTION | |
| 1 IPSEC_PROTECTION | 1 IPSEC_PROTECTION | |
| 7.3.6 Termination-Cause AVP | 7.3.14 Provider-Identifier AVP | |
| The Termination-Cause AVP (AVP Code 6) is used for indicating the | ||
| reason why a session is terminated by the requester. The AVP data is | ||
| of type Enumerated. The following Termination-Cause data values are | ||
| used with PANA. | ||
| LOGOUT 1 (PaC -> PAA) | ||
| The client initiated a disconnect | ||
| ADMINISTRATIVE 4 (PAA -> PaC) | ||
| The client was not granted access, or was disconnected, due to | The Provider-Identifier AVP (AVP Code 14) is of type Unsigned32, and | |
| administrative reasons, such as the receipt of a | contains an IANA assigned "SMI Network Management Private Enterprise | |
| Abort-Session-Request message. | Codes" [ianaweb] value, encoded in network byte order. | |
| SESSION_TIMEOUT 8 (PAA -> PaC) | 7.3.15 Provider-Name AVP | |
| The session has timed out, and service has been terminated. | The Provider-Name AVP (AVP Code 15) is of type UTF8String, and | |
| contains the UTF8-encoded name of the provider. | ||
| 7.3.7 Result-Code AVP | 7.3.16 Result-Code AVP | |
| The Result-Code AVP (AVP Code 7) is of type Unsigned32 and indicates | The Result-Code AVP (AVP Code 16) is of type Unsigned32 and indicates | |
| whether an EAP authentication was completed successfully or whether | whether an EAP authentication was completed successfully or whether | |
| an error occurred. Here are Result-Code AVP values taken from | an error occurred. Here are Result-Code AVP values taken from | |
| [RFC3588] and adapted for PANA. | [RFC3588] and adapted for PANA. | |
| 7.3.7.1 Authentication Results Codes | 7.3.16.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 is | result can be different as described below, but only one result is | |
| returned to the PaC. These codes are used with PANA-Bind-Request and | returned to the PaC. These codes are used with PANA-Bind-Request and | |
| PANA-FirstAuth-End-Request messages. | PANA-FirstAuth-End-Request messages. | |
| PANA_SUCCESS 2001 | PANA_SUCCESS 2001 | |
| Both authentication and authorization processes are successful. | Both authentication and authorization processes are successful. | |
| Skipping to change at page 50, line 4: | ||
| 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 is | result can be different as described below, but only one result is | |
| returned to the PaC. These codes are used with PANA-Bind-Request and | returned to the PaC. These codes are used with PANA-Bind-Request and | |
| PANA-FirstAuth-End-Request messages. | PANA-FirstAuth-End-Request messages. | |
| PANA_SUCCESS 2001 | PANA_SUCCESS 2001 | |
| Both authentication and authorization processes are successful. | Both authentication and authorization processes are successful. | |
| PANA_AUTHENTICATION_REJECTED 4001 | PANA_AUTHENTICATION_REJECTED 4001 | |
| Authentication has failed. When this error is returned, it is | Authentication has failed. When this error is returned, it is | |
| assumed that authorization is automatically failed. | assumed that authorization is automatically failed. | |
| PANA_AUTHORIZATION_REJECTED 5003 | PANA_AUTHORIZATION_REJECTED 5003 | |
| The authorization process has failed. This error could occur when | The authorization process has failed. This error could occur when | |
| authorization is rejected by a AAA or rejected locally by a PAA, | authorization is rejected by a AAA server or rejected locally by a | |
| even if the authentication procedure has succeeded. | PAA, even if the authentication procedure has succeeded. | |
| 7.3.7.2 Protocol Error Result Codes | 7.3.16.2 Protocol Error Result Codes | |
| These codes are used with PANA-Error-Request messages. Unless stated | These codes are used with PANA-Error-Request messages. Unless stated | |
| otherwise, they can be generated by both the PaC and the PAA. | otherwise, they can be generated by both the PaC and the PAA. | |
| PANA_MESSAGE_UNSUPPORTED 3001 | PANA_MESSAGE_UNSUPPORTED 3001 | |
| Message type not recognized or supported. | Message type not recognized or supported. | |
| PANA_UNABLE_TO_DELIVER 3002 | PANA_UNABLE_TO_DELIVER 3002 | |
| PAA was unable to deliver the EAP payload to the authentication | The PAA was unable to deliver the EAP payload to the | |
| server. Only PAA can generate this code. | authentication server. Only the PAA can generate this code. | |
| PANA_INVALID_HDR_BITS 3008 | PANA_INVALID_HDR_BITS 3008 | |
| A message was received whose bits in the PANA header were either | A message was received whose bits in the PANA header were either | |
| set to an invalid combination, or to a value that is inconsistent | set to an invalid combination, or to a value that is inconsistent | |
| with the message type definition. | with the message type definition. | |
| PANA_INVALID_AVP_FLAGS 3009 | PANA_INVALID_AVP_FLAGS 3009 | |
| A message was received that included an AVP whose flag bits are | A message was received that included an AVP whose flag bits are | |
| set to an unrecognized value, or that is inconsistent with the | set to an unrecognized value, or that is inconsistent with the | |
| AVP's definition. | AVP's definition. | |
| PANA_AVP_UNSUPPORTED 5001 | PANA_AVP_UNSUPPORTED 5001 | |
| The received message contained an AVP that is not recognized or | The received message contained an AVP that is not recognized or | |
| supported and was marked with the Mandatory bit. A PANA message | supported and was marked with the Mandatory bit. A PANA message | |
| with this error MUST contain one or more Failed-AVP AVP containing | with this error MUST contain one or more Failed-AVP AVP containing | |
| the AVPs that caused the failure. | the AVPs that caused the failure. | |
| Skipping to change at page 50, line 48: | ||
| PANA_AVP_UNSUPPORTED 5001 | PANA_AVP_UNSUPPORTED 5001 | |
| The received message contained an AVP that is not recognized or | The received message contained an AVP that is not recognized or | |
| supported and was marked with the Mandatory bit. A PANA message | supported and was marked with the Mandatory bit. A PANA message | |
| with this error MUST contain one or more Failed-AVP AVP containing | with this error MUST contain one or more Failed-AVP AVP containing | |
| the AVPs that caused the failure. | the AVPs that caused the failure. | |
| PANA_UNKNOWN_SESSION_ID 5002 | PANA_UNKNOWN_SESSION_ID 5002 | |
| The message contained an unknown Session-Id. PAA MUST NOT send | The message contained an unknown Session-Id. A PANA message | |
| this error result code value to PaC if PaC sent an unknown | indicating this error MUST include the unknown Session-Id AVP | |
| Session-Id in the PANA-Start-Answer message (session resumption). | within a Failed-AVP AVP. | |
| PANA_INVALID_AVP_DATA 5004 | PANA_INVALID_AVP_DATA 5004 | |
| The message contained an AVP with an invalid value in its data | The message contained an AVP with an invalid value in its data | |
| portion. A PANA message indicating this error MUST include the | portion. A PANA message indicating this error MUST include the | |
| offending AVPs within a Failed-AVP AVP. | offending AVPs within a Failed-AVP AVP. | |
| PANA_MISSING_AVP 5005 | PANA_MISSING_AVP 5005 | |
| The message did not contain an AVP that is required by the message | The message did not contain an AVP that is required by the message | |
| Skipping to change at page 51, line 25: | ||
| Failed-AVP AVP SHOULD be included in the message. The Failed-AVP | Failed-AVP AVP SHOULD be included in the message. The Failed-AVP | |
| AVP MUST contain an example of the missing AVP complete with the | AVP MUST contain an example of the missing AVP complete with the | |
| Vendor-Id if applicable. The value field of the missing AVP | Vendor-Id if applicable. The value field of the missing AVP | |
| should be of correct minimum length and contain zeroes. | should be of correct minimum length and contain zeroes. | |
| PANA_RESOURCES_EXCEEDED 5006 | PANA_RESOURCES_EXCEEDED 5006 | |
| A message was received that cannot be authorized because the | A message was received that cannot be authorized because the | |
| client has already expended allowed resources. An example of this | client has already expended allowed resources. An example of this | |
| error condition is a client that is restricted to one PANA session | error condition is a client that is restricted to one PANA session | |
| and attempts to establish a second session. Only PAA can generate | and attempts to establish a second session. Only the PAA can | |
| this code. | generate this code. | |
| PANA_CONTRADICTING_AVPS 5007 | PANA_CONTRADICTING_AVPS 5007 | |
| The PAA has detected AVPs in the message that contradicted each | The PAA has detected AVPs in the message that contradicted each | |
| other, and is not willing to provide service to the client. One | other, and is not willing to provide service to the client. One | |
| or more Failed-AVP AVPs MUST be present, containing the AVPs that | or more Failed-AVP AVPs MUST be present, containing the AVPs that | |
| contradicted each other. Only PAA can generate this code. | contradicted each other. Only the PAA can generate this code. | |
| PANA_AVP_NOT_ALLOWED 5008 | PANA_AVP_NOT_ALLOWED 5008 | |
| A message was received with an AVP that MUST NOT be present. The | A message was received with an AVP that MUST NOT be present. The | |
| Failed-AVP AVP MUST be included and contain a copy of the | Failed-AVP AVP MUST be included and contain a copy of the | |
| offending AVP. | offending AVP. | |
| PANA_AVP_OCCURS_TOO_MANY_TIMES 5009 | PANA_AVP_OCCURS_TOO_MANY_TIMES 5009 | |
| A message was received that included an AVP that appeared more | A message was received that included an AVP that appeared more | |
| Skipping to change at page 52, line 4: | ||
| offending AVP. | offending AVP. | |
| PANA_AVP_OCCURS_TOO_MANY_TIMES 5009 | PANA_AVP_OCCURS_TOO_MANY_TIMES 5009 | |
| A message was received that included an AVP that appeared more | A message was received that included an AVP that appeared more | |
| often than permitted in the message definition. The Failed-AVP | often than permitted in the message definition. The Failed-AVP | |
| AVP MUST be included and contain a copy of the first instance of | AVP MUST be included and contain a copy of the first instance of | |
| the offending AVP that exceeded the maximum number of occurrences. | the offending AVP that exceeded the maximum number of occurrences. | |
| PANA_UNSUPPORTED_VERSION 5011 | PANA_UNSUPPORTED_VERSION 5011 | |
| This error is returned when a message was received, whose version | This error is returned when a message was received, whose version | |
| number is unsupported. | number is unsupported. | |
| PANA_UNABLE_TO_COMPLY 5012 | PANA_UNABLE_TO_COMPLY 5012 | |
| This error is returned when a request is rejected for unspecified | This error is returned when a request is rejected for unspecified | |
| reasons. For example, when an EAP authentication fails at an EAP | reasons. For example, when an EAP authentication fails at an EAP | |
| pass-through authenticator without passing an EAP-Failure message | pass-through authenticator without passing an EAP Failure message | |
| to the PAA, a Result-Code AVP with this error code is carried in | to the PAA, a Result-Code AVP with this error code is carried in | |
| PANA-Error-Request message. | the PANA-Error-Request message. | |
| PANA_INVALID_AVP_LENGTH 5014 | PANA_INVALID_AVP_LENGTH 5014 | |
| The message contained an AVP with an invalid length. The | The message contained an AVP with an invalid length. The | |
| PANA-Error-Request message indicating this error MUST include the | PANA-Error-Request message indicating this error MUST include the | |
| offending AVPs within a Failed-AVP AVP. | offending AVPs within a Failed-AVP AVP. | |
| PANA_INVALID_MESSAGE_LENGTH 5015 | PANA_INVALID_MESSAGE_LENGTH 5015 | |
| This error is returned when a message is received with an invalid | This error is returned when a message is received with an invalid | |
| message length. | message length. | |
| PANA_PROTECTION_CAPABILITY_UNSUPPORTED 5016 | PANA_PROTECTION_CAPABILITY_UNSUPPORTED 5016 | |
| This error is returned when the PaC receives a PANA-Bind-Request | This error is returned when the PaC receives a PANA-Bind-Request | |
| with a Protection-Capability AVP and a valid MAC AVP but does not | message with a Protection-Capability AVP and a valid MAC AVP but | |
| support the protection capability specified in the | does not support the protection capability specified in the | |
| Protection-Capability AVP. Only PaC can generate this code. | Protection-Capability AVP. Only the PaC can generate this code. | |
| PANA_PPAC_CAPABILITY_UNSUPPORTED 5017 | PANA_PPAC_CAPABILITY_UNSUPPORTED 5017 | |
| This error is returned when there is no match between the list of | This error is returned when there is no match between the list of | |
| PPAC methods offered by the PAA and the ones available on the PaC. | PPAC methods offered by the PAA and the ones available on the PaC. | |
| Only PaC can generate this code. | Only the PaC can generate this code. | |
| PANA_INVALID_IP_ADDRESS 5018 | PANA_INVALID_IP_ADDRESS 5018 | |
| This error is returned in a PANA-Error-Request message when the | This error is returned in a PANA-Error-Request message when the | |
| IP-Address AVP in the received PANA-Update-Request message is | IP-Address AVP in the received PANA-Update-Request message is | |
| invalid (e.g., a non-unicast address). Only PAA can generate this | invalid (e.g., a non-unicast address). Only the PAA can generate | |
| code. | this code. | |
| 7.3.8 EAP-Payload AVP | 7.3.17 Session-Id AVP | |
| The EAP-Payload AVP (AVP Code 8) is used for encapsulating the actual | All messages pertaining to a specific PANA session MUST include a | |
| EAP packet that is being exchanged between the EAP peer and the EAP | Session-Id AVP (AVP Code 17) which carries a PAA-assigned fixed | |
| authenticator. The AVP data is of type OctetString. | session identifier value throughout the lifetime of a session. When | |
| present, the Session-Id AVP SHOULD appear immediately following the | ||
| PANA header. | ||
| 7.3.9 Session-Lifetime AVP | The Session-Id MUST be globally and eternally unique, as it is meant | |
| to identify a PANA session without reference to any other | ||
| information, and may be needed to correlate historical authentication | ||
| information with accounting information. The PANA Session-Id AVP has | ||
| the same format as the Diameter Session-Id AVP [RFC3588]. | ||
| The Session-Lifetime AVP (AVP Code 9) contains the number of seconds | 7.3.18 Session-Lifetime AVP | |
| The Session-Lifetime AVP (AVP Code 18) contains the number of seconds | ||
| remaining before the current session is considered expired. The AVP | remaining before the current session is considered expired. The AVP | |
| data is of type Unsigned32. | data is of type Unsigned32. | |
| 7.3.10 Failed-AVP AVP | 7.3.19 Termination-Cause AVP | |
| The Failed-AVP AVP (AVP Code 10) provides debugging information in | ||
| cases where a request is rejected or not fully processed due to | ||
| erroneous information in a specific AVP. The AVP data is of type | ||
| Grouped. The format of the Failed-AVP AVP is defined in [RFC3588]. | ||
| 7.3.11 NAP-Information AVP | ||
| The NAP-Information AVP (AVP Code 11) contains zero or one | ||
| Provider-Identifier AVP which carries the identifier of the NAP and | ||
| one Provider-Name AVP which carries the name of the NAP. The AVP | ||
| data is of type Grouped, and it has the following ABNF grammar: | ||
| NAP-Information ::= < AVP Header: 11 > | ||
| 0*1 { Provider-Identifier } | ||
| { Provider-Name } | ||
| * [ AVP ] | ||
| 7.3.12 ISP-Information AVP | ||
| The ISP-Information AVP (AVP Code 12) contains zero or one | ||
| Provider-Identifier AVP which carries the identifier of the ISP and | ||
| one Provider-Name AVP which carries the name of the ISP. The AVP | ||
| data is of type Grouped, and it has the following ABNF grammar: | ||
| ISP-Information ::= < AVP Header: 12 > | ||
| 0*1 { Provider-Identifier } | ||
| { Provider-Name } | ||
| * [ AVP ] | ||
| 7.3.13 Provider-Identifier AVP | ||
| The Provider-Identifier AVP (AVP Code 13) is of type Unsigned32, and | ||
| contains an IANA assigned "SMI Network Management Private Enterprise | ||
| Codes" [ianaweb] value, encoded in network byte order. | ||
| 7.3.14 Provider-Name AVP | ||
| The Provider-Name AVP (AVP Code 14) is of type UTF8String, and | ||
| contains the UTF8-encoded name of the provider. | ||
| 7.3.15 Key-Id AVP | ||
| The Key-Id AVP (AVP Code 15) is of type Integer32, and contains an | ||
| AAA-Key identifier. The AAA-Key identifier is assigned by PAA and | ||
| MUST be unique within the PANA session. | ||
| 7.3.16 Post-PANA-Address-Configuration (PPAC) AVP | ||
| The PPAC AVP (AVP Code 16) is used for conveying the available types | ||
| of post-PANA IP address configuration mechanisms when sent by the | ||
| PAA, and the chosen one when sent by the PaC. Each possible | ||
| mechanisms is represented by a flag. At least one or more of the | ||
| flags MUST be set when sent by the PAA, and exactly one flag MUST be | ||
| set when sent by the PaC. The AVP data is of type Unsigned32. | ||
| The format of the AVP data is as follows: | ||
| 0 1 2 3 | ||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| |N|D|A|T|I| Reserved | | ||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||
| PPAC Flags | ||
| N (No configuration) | ||
| The PaC does not have to (if sent by PAA) or will not (if sent | ||
| by PaC) configure a new IP address after PANA. | ||
| D (DHCP) | ||
| The PaC can (if sent by PAA) or will (if sent by PaC) use DHCP | ||
| [RFC2131][RFC3315] to configure a new IP address after PANA. | ||
| A (stateless autoconfiguration) | ||
| The PaC can/will use stateless IPv6 address autoconfiguration | ||
| [RFC2462] to configure a new IP address after PANA. | ||
| T (DHCP with IPsec tunnel mode) | ||
| The PaC can/will use [RFC3456] to configure a new IP address | ||
| after PANA. | ||
| I (IKEv2) | ||
| The PaC can/will use [I-D.ietf-ipsec-ikev2] to configure a new | ||
| IP address after PANA. | ||
| Reserved | The Termination-Cause AVP (AVP Code 19) is used for indicating the | |
| reason why a session is terminated by the requester. The AVP data is | ||
| of type Enumerated. The following Termination-Cause data values are | ||
| used with PANA. | ||
| These flag bits are reserved for future use, and MUST be set to | LOGOUT 1 (PaC -> PAA) | |
| zero, and ignored by the receiver. | ||
| Unless the N-flag is set, the PaC MUST configure a new IP address | The client initiated a disconnect | |
| using one of the methods indicated by the other flags. Refer to | ||
| [I-D.ietf-pana-framework] for a detailed discussion on when these | ||
| methods can be used. | ||
| 7.3.17 Nonce AVP | ADMINISTRATIVE 4 (PAA -> PaC) | |
| The Nonce AVP (AVP Code 17) carries a randomly chosen value that is | The client was not granted access, or was disconnected, due to | |
| used in cyrptographic key computations. The AVP data is of type | administrative reasons. | |
| OctetString and it contains a randomly generated value in opaque | ||
| format. The data length MUST be between 8 and 256 bytes inclusive. | ||
| 7.3.18 IP-Address AVP | SESSION_TIMEOUT 8 (PAA -> PaC) | |
| The IP-Address AVP (AVP Code 18) contains an IP address of the PaC or | The session has timed out, and service has been terminated. | |
| PAA. When it is sent by the PaC, it is used to convey the new IP | ||
| address of the PaC to the PAA when the PaC reconfigures its IP | ||
| address after the successful PANA authentication. This AVP is not | ||
| used if the PaC's IP address used during the authentication and | ||
| authorization phase is still valid. It is sent by the PAA in | ||
| PANA-Bind-Request to bind the IP address of the PAA to the PANA | ||
| session. The payload format of the IP-Address AVP is the same as | ||
| that of the Device-Id AVP (see See Section 7.3.2). Address families | ||
| for IPv4 or IPv6 MUST be used for this AVP. | ||
| 8. Retransmission Timers | 8. Retransmission Timers | |
| The PANA protocol provides retransmissions for the PANA-PAA-Discover | The PANA protocol provides retransmissions for the PANA-PAA-Discover | |
| and request messages. | message and all request messages, with the exception that the | |
| PANA-Start-Answer message is retransmitted instead of the | ||
| The rule is that the sender of the request message retransmits the | PANA-Start-Request message in stateless PAA discovery. | |
| request if the corresponding answer is not received in time. Answer | ||
| messages are sent as answers to the request messages, not based on a | ||
| timer. | ||
| 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. | |
| The retransmission behavior is controlled and described by the | The retransmission behavior is controlled and described by the | |
| Skipping to change at page 57, line 38: | ||
| If both MRC and MRD are non-zero, the message exchange fails whenever | If both MRC and MRD are non-zero, the message exchange fails whenever | |
| either of the conditions specified in the previous two paragraphs are | either of the conditions specified in the previous two paragraphs are | |
| met. | met. | |
| If both MRC and MRD are zero, the client continues to transmit the | If both MRC and MRD are zero, the client continues to transmit the | |
| message until it receives a response. | message until it receives a response. | |
| 8.1 Transmission and Retransmission Parameters | 8.1 Transmission and Retransmission Parameters | |
| This section presents a table of values used to describe the message | This section presents a table of values used to describe the message | |
| retransmission behavior of PANA requests (REQ_*) and | retransmission behavior of PANA requests and answers that are | |
| PANA-PAA-Discover message (PDI_*). The table shows default values. | retransmitted (REQ_*) and PANA-PAA-Discover message (PDI_*). The | |
| table shows default values. | ||
| Parameter Default Description | Parameter Default Description | |
| ------------------------------------------------ | ------------------------------------------------ | |
| PDI_IRT 1 sec Initial PDI timeout. | PDI_IRT 1 sec Initial PDI timeout. | |
| PDI_MRT 120 secs Max PDI timeout value. | PDI_MRT 120 secs Max PDI timeout value. | |
| PDI_MRC 0 Configurable. | PDI_MRC 0 Configurable. | |
| PDI_MRD 0 Configurable. | PDI_MRD 0 Configurable. | |
| REQ_IRT 1 sec Initial Request timeout. | REQ_IRT 1 sec Initial Request timeout. | |
| REQ_MRT 30 secs Max Request timeout value. | REQ_MRT 30 secs Max Request timeout value. | |
| Skipping to change at page 60, line 9: | ||
| The Message Type namespace is used to identify PANA messages. Values | The Message Type namespace is used to identify PANA messages. Values | |
| 0-65,533 are for permanent, standard message types, allocated by IETF | 0-65,533 are for permanent, standard message types, allocated by IETF | |
| Consensus [IANA]. This document defines the Message Types 1-10. See | Consensus [IANA]. This document defines the Message Types 1-10. See | |
| Section 7.2.1 through Section 7.2.19 for the assignment of the | Section 7.2.1 through Section 7.2.19 for the assignment of the | |
| namespace in this specification. | namespace in this specification. | |
| The values 65,534 and 65,535 (hexadecimal values 0xfffe - 0xffff) are | The values 65,534 and 65,535 (hexadecimal values 0xfffe - 0xffff) are | |
| reserved for experimental messages. As these codes are only for | reserved for experimental messages. As these codes are only for | |
| experimental and testing purposes, no guarantee is made for | experimental and testing purposes, no guarantee is made for | |
| interoperability between communicating PaC and PAA using experimental | interoperability between the communicating PaC and PAA using | |
| commands, as outlined in [IANA-EXP]. | experimental commands, as outlined in [IANA-EXP]. | |
| 9.3.2 Flags | 9.3.2 Flags | |
| There are 16 bits in the Flags field of the PANA header. This | There are 16 bits in the Flags field of the PANA header. This | |
| document assigns bit 0 ('R'equest), bit 1 ('S'eparate) and bit 2 | document assigns bit 0 ('R'equest), bit 1 ('S'eparate) and bit 2 | |
| ('N'AP Authentication). The remaining bits MUST only be assigned via | ('N'AP Authentication). The remaining bits MUST only be assigned via | |
| a Standards Action [IANA]. | a Standards Action [IANA]. | |
| 9.4 AVP Header | 9.4 AVP Header | |
| Skipping to change at page 60, line 37: | ||
| The AVP Code namespace is used to identify attributes. There are | The AVP Code namespace is used to identify attributes. There are | |
| multiple namespaces. Vendors can have their own AVP Codes namespace | multiple namespaces. Vendors can have their own AVP Codes namespace | |
| which will be identified by their Vendor-ID (also known as | which will be identified by their Vendor-ID (also known as | |
| Enterprise-Number) and they control the assignments of their | Enterprise-Number) and they control the assignments of their | |
| vendor-specific AVP codes within their own namespace. The absence of | 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 | 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 | controlled AVP Codes namespace. The AVP Codes and sometimes also | |
| possible values in an AVP are controlled and maintained by IANA. | possible values in an AVP are controlled and maintained by IANA. | |
| AVP Code 0 is not used. This document defines the AVP Codes 1-18. | AVP Code 0 is not used. This document defines the AVP Codes 1-19. | |
| See Section 7.3.1 through Section 7.3.18 for the assignment of the | See Section 7.3.8 through Section 7.3.5 for the assignment of the | |
| namespace in this specification. | namespace in this specification. | |
| AVPs may be allocated following Designated Expert with Specification | AVPs may be allocated following Designated Expert with Specification | |
| Required [IANA]. Release of blocks of AVPs (more than 3 at a time | Required [IANA]. Release of blocks of AVPs (more than 3 at a time | |
| for a given purpose) should require IETF Consensus. | for a given purpose) should require IETF Consensus. | |
| Note that PANA defines a mechanism for Vendor-Specific AVPs, where | 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. | 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 | Vendor-Specific AVPs codes are for Private Use and should be | |
| encouraged instead of allocation of global attribute types, for | encouraged instead of allocation of global attribute types, for | |
| Skipping to change at page 61, line 22: | ||
| 9.5 AVP Values | 9.5 AVP Values | |
| Certain AVPs in PANA define a list of values with various meanings. | Certain AVPs in PANA define a list of values with various meanings. | |
| For attributes other than those specified in this section, adding | For attributes other than those specified in this section, adding | |
| additional values to the list can be done on a First Come, First | additional values to the list can be done on a First Come, First | |
| Served basis by IANA [IANA]. | Served basis by IANA [IANA]. | |
| 9.5.1 Algorithm Values of MAC AVP | 9.5.1 Algorithm Values of MAC AVP | |
| As defined in Section 7.3.1, the Algorithm field of MAC AVP (AVP Code | As defined in Section 7.3.8, the Algorithm field of MAC AVP (AVP Code | |
| 1) defines the value of 1 (one) for HMAC-SHA1. | 8) defines the value of 1 (one) for HMAC-SHA1. | |
| All remaining values are available for assignment via IETF Consensus | All remaining values are available for assignment via IETF Consensus | |
| [IANA]. | [IANA]. | |
| 9.5.2 Protection-Capability AVP Values | 9.5.2 Post-PANA-Address-Configuration AVP Values | |
| As defined in Section 7.3.5, the Protection-Capability AVP (AVP Code | As defined in Section 7.3.12, the Post-PANA-Address-Configuration AVP | |
| 5) defines the values 0 and 1. | (AVP Code 12) 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 | All remaining values are available for assignment via a Standards | |
| Action [IANA]. | Action [IANA]. | |
| 9.5.3 Termination-Cause AVP Values | 9.5.3 Protection-Capability AVP Values | |
| As defined in Section 7.3.6, the Termination-Cause AVP (AVP Code 6) | As defined in Section 7.3.13, the Protection-Capability AVP (AVP Code | |
| defines the values 1, 4 and 8. | 13) defines the values 0 and 1. | |
| All remaining values are available for assignment via IETF Consensus | All remaining values are available for assignment via a Standards | |
| [IANA]. | Action [IANA]. | |
| 9.5.4 Result-Code AVP Values | 9.5.4 Result-Code AVP Values | |
| As defined in Section 7.3.7.1 and Section 7.3.7.2 the Result-Code AVP | As defined in Section 7.3.16.1 and Section 7.3.16.2 the Result-Code | |
| (AVP Code 7) defines the values 2001, 3001-3002, 3008-3009, 4001, | AVP (AVP Code 16) defines the values 2001, 3001-3002, 3008-3009, | |
| 5001-5009 and 5011-5019. | 4001, 5001-5009 and 5011-5019. | |
| All remaining values are available for assignment via IETF Consensus | All remaining values are available for assignment via IETF Consensus | |
| [IANA]. | [IANA]. | |
| 9.5.5 Post-PANA-Address-Configuration AVP Values | 9.5.5 Termination-Cause AVP Values | |
| As defined in Section 7.3.16, the Post-PANA-Address-Configuration AVP | As defined in Section 7.3.19, the Termination-Cause AVP (AVP Code 19) | |
| (AVP Code 17) defines the bits 0 ('N': no configuration), 1 ('D': | defines the values 1, 4 and 8. | |
| 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 | All remaining values are available for assignment via IETF Consensus | |
| Action [IANA]. | [IANA]. | |
| 10. Security Considerations | 10. Security Considerations | |
| The PANA protocol defines a UDP-based EAP encapsulation that runs | The PANA protocol defines a UDP-based EAP encapsulation that runs | |
| between two IP-enabled nodes on the same IP link. Various security | between two IP-enabled nodes on the same IP link. Various security | |
| threats that are relevant to a protocol of this nature are outlined | threats that are relevant to a protocol of this nature are outlined | |
| in [I-D.ietf-pana-threats-eval]. Security considerations stemming | in [I-D.ietf-pana-threats-eval]. Security considerations stemming | |
| from the use of EAP and EAP methods are discussed in [RFC3748]. This | from the use of EAP and EAP methods are discussed in [RFC3748]. This | |
| section provides a discussion on the security-related issues that are | section provides a discussion on the security-related issues that are | |
| related to PANA framework and protocol design. | related to PANA framework and protocol design. | |
| Skipping to change at page 63, line 31: | ||
| link-layer. In these examples, the lower-layer security is enabled | link-layer. In these examples, the lower-layer security is enabled | |
| even before running the first PANA-based authentication. In the | even before running the first PANA-based authentication. In the | |
| absence of such a pre-established secure channel, one needs to be | absence of such a pre-established secure channel, one needs to be | |
| created in conjunction with PANA using a link-layer or network-layer | created in conjunction with PANA using a link-layer or network-layer | |
| cryptographic mechanism (e.g., IPsec). | cryptographic mechanism (e.g., IPsec). | |
| 10.1 General Security Measures | 10.1 General Security Measures | |
| PANA provides multiple mechanisms to secure a PANA session. | PANA provides multiple mechanisms to secure a PANA session. | |
| Since PaC and PAA are on the same IP link, a simple TTL check on the | Since the PaC and PAA are on the same IP link, a simple TTL check on | |
| received PANA messages prevents off-link attacks. | the received PANA messages prevents off-link attacks. | |
| PANA messages carry sequence numbers, which are monotonically | PANA messages carry sequence numbers, which are monotonically | |
| incremented by 1 with every new request message. These numbers are | incremented by 1 with every new request message. These numbers are | |
| randomly initialized at the beginning of the session, and verified | randomly initialized at the beginning of the session, and verified | |
| against expected numbers upon receipt. A message whose sequence | against expected numbers upon receipt. A message whose sequence | |
| number is different than the expected one is silently discarded. In | number is different than the expected one is silently discarded. In | |
| addition to accomplishing orderly delivery of EAP messages and | addition to accomplishing orderly delivery of EAP messages and | |
| duplicate elimination, this scheme also helps prevent an adversary | duplicate elimination, this scheme also helps prevent an adversary | |
| spoof messages to disturb ongoing PANA and EAP sessions unless it can | spoof messages to disturb ongoing PANA and EAP sessions unless it can | |
| also eavesdrop to synchronize on the expected sequence number. | also eavesdrop to synchronize on the expected sequence number. | |
| Skipping to change at page 64, line 5: | ||
| (i.e., a request or answer with an unexpected sequence number) and | (i.e., a request or answer with an unexpected sequence number) and | |
| any duplicate answer are immediately discarded, and a duplicate | any duplicate answer are immediately discarded, and a duplicate | |
| request can trigger transmission of the cached answer (i.e., no need | request can trigger transmission of the cached answer (i.e., no need | |
| to process the request and generate a new answer). | to process the request and generate a new answer). | |
| The PANA framework defines EP which is ideally located on a network | The PANA framework defines EP which is ideally located on a network | |
| device that can filter traffic from the PaCs before the traffic | device that can filter traffic from the PaCs before the traffic | |
| enters the Internet/intranet. A set of filters can be used to | enters the Internet/intranet. A set of filters can be used to | |
| discard unauthorized packets, such as a PANA-Start-Request message | discard unauthorized packets, such as a PANA-Start-Request message | |
| that is received from the segment of the access network where only | that is received from the segment of the access network where only | |
| PaCs are supposed to be connected. | the PaCs are supposed to be connected. | |
| The protocol also provides authentication and integrity protection to | The protocol also provides authentication and integrity protection to | |
| PANA messages when the used EAP method can generate cryptographic | PANA messages when the used EAP method can generate cryptographic | |
| session keys. A PANA SA is generated based on the AAA-Key exported | session keys. A PANA SA is generated based on the AAA-Key exported | |
| by the EAP method. This SA is used for generating per-packet MAC to | by the EAP method. This SA is used for generating per-packet MAC to | |
| protect the PANA header and payload (including the complete EAP | protect the PANA header and payload (including the complete EAP | |
| message). | message). | |
| The cryptographic protection prevents an adversary from acting as a | The cryptographic protection prevents an adversary from acting as a | |
| man-in-the-middle, injecting messages, replaying messages and | man-in-the-middle, injecting messages, replaying messages and | |
| modifying the content of the exchanged messages. Any packet that | modifying the content of the exchanged messages. Any packet that | |
| fails to pass the MAC verification is silently discarded. The | fails to pass the MAC verification is silently discarded. The | |
| earliest this protection can be enabled is when the very first | earliest this protection can be enabled is when the very first | |
| PANA-Bind-Request or PANA-FirstAuth-End-Request that signals a | PANA-Bind-Request or PANA-FirstAuth-End-Request message that signals | |
| successful authentication is generated. Starting with these | a successful authentication is generated. Starting with these | |
| messages, any subsequent PANA message until the session gets torn | messages, any subsequent PANA message until the session gets torn | |
| down can be cryptographically protected. | down can be cryptographically protected. | |
| The PANA SA enables authenticated and integrity protected exchange of | The PANA SA enables authenticated and integrity protected exchange of | |
| the device ID information between the PaC and PAA. This ensures | the device ID information between the PaC and PAA. This ensures | |
| there were no man-in-the-middle during the PANA authentication. | there were no man-in-the-middle during the PANA authentication. | |
| The lifetime of the PANA SA is set to PANA session lifetime which is | The lifetime of the PANA SA is set to PANA session lifetime which is | |
| bounded by the lifetime granted by the authentication server. An | bounded by the lifetime granted by the authentication server. An | |
| implementation MAY add a tolerance period to that value. Unless the | implementation MAY add a tolerance period to that value. Unless the | |
| Skipping to change at page 65, line 16: | ||
| the capability discovery enabled through inclusion of | the capability discovery enabled through inclusion of | |
| Protection-Capability and Post-PANA-Address-Configuration AVPs in a | Protection-Capability and Post-PANA-Address-Configuration AVPs in a | |
| PANA-Start-Request message is susceptible to spoofing leading to | PANA-Start-Request message is susceptible to spoofing leading to | |
| denial-of service attacks. Therefore, usage of these AVPs during the | denial-of service attacks. Therefore, usage of these AVPs during the | |
| discovery and handshake phase in such insecure networks is NOT | discovery and handshake phase in such insecure networks is NOT | |
| RECOMMENDED. The same AVPs are delivered via an integrity-protected | RECOMMENDED. The same AVPs are delivered via an integrity-protected | |
| PANA-Bind-Request upon successful authentication. | PANA-Bind-Request upon successful authentication. | |
| 10.3 EAP Methods | 10.3 EAP Methods | |
| Eavesdropping EAP packets might cause problems when the EAP method is | Eavesdropping EAP messages might cause problems when the EAP method | |
| weak and enables dictionary or replay attacks or even allows an | is weak and enables dictionary or replay attacks or even allows an | |
| adversary to learn the long-term password directly. Furthermore, if | adversary to learn the long-term password directly. Furthermore, if | |
| the optional EAP Identity payload is used then it allows the | the optional EAP Response/Identity payload is used then it allows the | |
| adversary to learn the identity of the PaC. In such a case a privacy | adversary to learn the identity of the PaC. In such a case a privacy | |
| problem is prevalent. | problem is prevalent. | |
| To prevent these threats, [I-D.ietf-pana-framework] suggests using | To prevent these threats, [I-D.ietf-pana-framework] suggests using | |
| proper EAP methods for particular environments. Depending on the | proper EAP methods for particular environments. Depending on the | |
| deployment environment an EAP authentication which supports user | deployment environment an EAP authentication method which supports | |
| identity confidentiality, protection against dictionary attacks and | user identity confidentiality, protection against dictionary attacks | |
| session key establishment must be used. It is therefore the | and session key establishment must be used. It is therefore the | |
| responsibility of the network operators and users to choose a proper | responsibility of the network operators and users to choose a proper | |
| EAP method. | EAP method. | |
| 10.4 Separate NAP and ISP Authentication | 10.4 Separate NAP and ISP Authentication | |
| The PANA design allows running two separate EAP sessions for the same | The PANA design allows running two separate EAP sessions for the same | |
| PaC in the authentication and authorization phase: one with the NAP, | PaC in the authentication and authorization phase: one with the NAP, | |
| and one with the ISP. The process of arriving at the resultant | and one with the ISP. The process of arriving at the resultant | |
| authorization, which is a combination of the individual | authorization, which is a combination of the individual | |
| authorizations obtained from respective service providers, is outside | authorizations obtained from respective service providers, is outside | |
| Skipping to change at page 66, line 15: | ||
| Two AAA-Keys may be generated as a result of separate NAP and ISP | Two AAA-Keys may be generated as a result of separate NAP and ISP | |
| authentication. In that case, the AAA-Key used with the PANA SA is | authentication. In that case, the AAA-Key used with the PANA SA is | |
| the combination of both keys. | the combination of both keys. | |
| The PANA SA lifetime is bounded by the AAA-Key lifetime. Another | The PANA SA lifetime is bounded by the AAA-Key lifetime. Another | |
| execution of EAP method yields in a new AAA-Key, and updates the PANA | execution of EAP method yields in a new AAA-Key, and updates the PANA | |
| SA, PANA_MAC_KEY and key ID. | SA, PANA_MAC_KEY and key ID. | |
| When link-layer or network-layer ciphering [I-D.ietf-pana-ipsec] is | When link-layer or network-layer ciphering [I-D.ietf-pana-ipsec] is | |
| enabled as a result of successful PANA authentication, a separate | enabled as a result of successful PANA authentication, a separate | |
| PaC-EP master key is generated based on the AAA-Key, session ID, key | PaC-EP master key is generated based on the AAA-Key, session | |
| ID, and EP ID. | identifier, key identifier, and EP device identifier. | |
| The lifetime of PaC-EP master key is bounded by the lifetime of the | The lifetime of PaC-EP master key is bounded by the lifetime of the | |
| PANA SA. This key may be used with a secure association protocol | PANA SA. This key may be used with a secure association protocol | |
| [I-D.ietf-ipsec-ikev2] to produce further cipher-specific and | [I-D.ietf-ipsec-ikev2] to produce further cipher-specific and | |
| transient keys. | transient keys. | |
| 10.6 Per-packet Ciphering | 10.6 Per-packet Ciphering | |
| Networks that are not secured at the lower-layers prior to running | Networks that are not secured at the lower-layers prior to running | |
| PANA can rely on enabling per-packet data traffic ciphering upon | PANA can rely on enabling per-packet data traffic ciphering upon | |
| Skipping to change at page 66, line 50: | ||
| The PANA framework allows separation of PAA from EP(s). SNMPv3 | The PANA framework allows separation of PAA from EP(s). SNMPv3 | |
| [I-D.ietf-pana-snmp] is used between the PAA and EP for provisioning | [I-D.ietf-pana-snmp] is used between the PAA and EP for provisioning | |
| authorized PaC information on the EP. This exchange MUST be always | authorized PaC information on the EP. This exchange MUST be always | |
| physically or cryptographically protected for authentication, | physically or cryptographically protected for authentication, | |
| integrity and replay protection. It MUST also be privacy-protected | integrity and replay protection. It MUST also be privacy-protected | |
| when PaC-EP master key for per-packet ciphering is transmitted to the | when PaC-EP master key for per-packet ciphering is transmitted to the | |
| EP. | EP. | |
| The PaC-EP master key MUST be unique to the PaC and EP pair. The | The PaC-EP master key MUST be unique to the PaC and EP pair. The | |
| session ID and EP's device ID are taken into computation for | session identifier and the device identifier of the EP are taken into | |
| achieving this effect [I-D.ietf-pana-ipsec]. Compromise of an EP | computation for achieving this effect [I-D.ietf-pana-ipsec]. | |
| does not automatically lead to compromise of another EP or the PAA. | Compromise of an EP does not automatically lead to compromise of | |
| another EP or the PAA. | ||
| 10.8 Liveness Test | 10.8 Liveness Test | |
| A PANA session is associated with a session lifetime. The session is | A PANA session is associated with a session lifetime. The session is | |
| terminated unless it is refreshed by a new round of EAP | terminated unless it is refreshed by a new round of EAP | |
| authentication before it expires. Therefore, at the latest a | authentication before it expires. Therefore, at the latest a | |
| disconnected client can be detected when its session expires. A | disconnected client can be detected when its session expires. A | |
| disconnect may also be detected earlier by using PANA ping messages. | disconnect may also be detected earlier by using PANA ping messages. | |
| A request message can be generated by either PaC or PAA at any time | A request message can be generated by either PaC or PAA at any time | |
| and the peer must respond with an answer message. A successful | and the peer must respond with an answer message. A successful | |
| round-trip of this exchange is a simple verification that the peer is | round-trip of this exchange is a simple verification that the peer is | |
| alive. This test can be engaged when there is a possibility that the | alive. | |
| peer might have disconnected (e.g., after the discontinuation of data | ||
| This test can be engaged when there is a possibility that the peer | ||
| might have disconnected (e.g., after the discontinuation of data | ||
| traffic for an extended period of time). Periodic use of this | traffic for an extended period of time). Periodic use of this | |
| exchange as a keep-alive requires additional care as it might result | exchange as a keep-alive requires additional care as it might result | |
| in congestion and hence false alarms. This exchange is | in congestion and hence false alarms. | |
| cryptographically protected when a PANA SA is available in order to | ||
| prevent threats associated with the abuse of this functionality. | This exchange is cryptographically protected when a PANA SA is | |
| available in order to prevent threats associated with the abuse of | ||
| this functionality. | ||
| Any valid PANA answer message received in response to a recently sent | ||
| request message can be taken as an indication of peer's liveness. | ||
| The PaC or PAA MAY forgo sending an explicit PANA-Ping-Request if a | ||
| recent exchange has already confirmed that the peer is alive. | ||
| 10.9 Updating PaC's IP Address | 10.9 Updating PaC's IP Address | |
| Even though the IP-Address AVP in a PANA-Update-Request can be | Even though the IP-Address AVP in a PANA-Update-Request can be | |
| cryptographically protected by the MAC AVP, there is not way to prove | cryptographically protected by the MAC AVP, there is not way to prove | |
| the ownership of the IP address presented by the PaC. Hence an | the ownership of the IP address presented by the PaC. Hence an | |
| authorized PaC can launch a redirect attack by spoofing a victim's IP | authorized PaC can launch a redirect attack by spoofing a victim's IP | |
| address. | address. | |
| 10.10 Early Termination of a Session | 10.10 Early Termination of a Session | |
| The PANA protocol supports the ability for both the PaC and the PAA | The PANA protocol supports the ability for both the PaC and the PAA | |
| to transmit a tear-down message before the session lifetime expires. | to transmit a tear-down message before the session lifetime expires. | |
| This message causes state removal, a stop of the accounting procedure | This message causes state removal, a stop of the accounting procedure | |
| and removes the installed per-PaC state on the EP(s). This message | and removes the installed per-PaC state on the EP(s). This message | |
| is cryptographically protected when PANA SA is present. | is cryptographically protected when PANA SA is present. | |
| 11. Open Issues and Change History | 11. Acknowledgments | |
| A list of open issues is maintained at [1]. | ||
| Open issues: 114, 115, 117, 149 and 150. | ||
| Issues resolved in PANA-07c December 2004: 112, 113, 116, 118, 119, | ||
| 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, | ||
| 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, | ||
| 151, 152 and 153. | ||
| 12. 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, Pasi Eronen, Randy Turner, Erik | Bournelle, Rafael Marin Lopez, Pasi Eronen, Randy Turner, Erik | |
| Nordmark, Lionel Morand, Avi Lior, Susan Thomson, Giaretta Gerardo | Nordmark, Lionel Morand, Avi Lior, Susan Thomson, Giaretta Gerardo | |
| and all members of the PANA working group for their valuable comments | and all members of the PANA working group for their valuable comments | |
| to this document. | to this document. | |
| 13. References | 12. References | |
| 13.1 Normative 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. | |
| [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. | |
| Skipping to change at page 71, line 5: | ||
| [I-D.ietf-eap-keying] | [I-D.ietf-eap-keying] | |
| Aboba, B., "Extensible Authentication Protocol (EAP) Key | Aboba, B., "Extensible Authentication Protocol (EAP) Key | |
| Management Framework", draft-ietf-eap-keying-04 (work in | Management Framework", draft-ietf-eap-keying-04 (work in | |
| progress), November 2004. | progress), November 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. | |
| 13.2 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-09 (work in progress), August | draft-ietf-pana-requirements-09 (work in progress), August | |
| 2004. | 2004. | |
| [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-threats-eval] | [I-D.ietf-pana-threats-eval] | |
| Parthasarathy, M., "Protocol for Carrying Authentication | Parthasarathy, M., "Protocol for Carrying Authentication | |
| and Network Access Threat Analysis and Security | and Network Access Threat Analysis and Security | |
| Requirements", draft-ietf-pana-threats-eval-07 (work in | Requirements", draft-ietf-pana-threats-eval-07 (work in | |
| progress), August 2004. | progress), August 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-04 (work in progress), | Control", draft-ietf-pana-ipsec-05 (work in progress), | |
| September 2004. | December 2004. | |
| [I-D.ietf-pana-framework] | [I-D.ietf-pana-framework] | |
| Jayaraman, P., "PANA Framework", | Jayaraman, P., "PANA Framework", | |
| draft-ietf-pana-framework-02 (work in progress), September | draft-ietf-pana-framework-02 (work in progress), September | |
| 2004. | 2004. | |
| [I-D.ietf-pana-snmp] | [I-D.ietf-pana-snmp] | |
| Mghazli, Y., Ohba, Y. and J. Bournelle, "SNMP usage for | Mghazli, Y., Ohba, Y. and J. Bournelle, "SNMP usage for | |
| PAA-2-EP interface", draft-ietf-pana-snmp-02 (work in | PAA-2-EP interface", draft-ietf-pana-snmp-02 (work in | |
| progress), October 2004. | progress), October 2004. | |
| Skipping to change at page 72, line 8: | ||
| 2004. | 2004. | |
| [I-D.ietf-dna-link-information] | [I-D.ietf-dna-link-information] | |
| Yegin, A., "Link-layer Event Notifications for Detecting | Yegin, A., "Link-layer Event Notifications for Detecting | |
| Network Attachments", draft-ietf-dna-link-information-00 | Network Attachments", draft-ietf-dna-link-information-00 | |
| (work in progress), September 2004. | (work in progress), September 2004. | |
| [I-D.adrangi-eap-network-discovery] | [I-D.adrangi-eap-network-discovery] | |
| Adrangi, F., "Mediating Network Discovery in the | Adrangi, F., "Mediating Network Discovery in the | |
| Extensible Authentication Protocol (EAP)", | Extensible Authentication Protocol (EAP)", | |
| draft-adrangi-eap-network-discovery-06 (work in progress), | draft-adrangi-eap-network-discovery-07 (work in progress), | |
| December 2004. | December 2004. | |
| [ianaweb] IANA, "Number assignment", http://www.iana.org. | [ianaweb] IANA, "Number assignment", http://www.iana.org. | |
| [IANA-EXP] | [IANA-EXP] | |
| Narten, T., "Assigning Experimental and Testing Numbers | Narten, T., "Assigning Experimental and Testing Numbers | |
| Considered Useful", BCP 82, RFC 3692, January 2004. | Considered Useful", BCP 82, RFC 3692, January 2004. | |
| URIs | [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO | |
| 10646", RFC 2279, January 1998. | ||
| [1] <http://danforsberg.info:8080/pana-issues/> | ||
| Authors' Addresses | Authors' Addresses | |
| Dan Forsberg | Dan Forsberg | |
| Nokia Research Center | Nokia Research Center | |
| P.O. Box 407 | P.O. Box 407 | |
| FIN-00045 NOKIA GROUP | FIN-00045 NOKIA GROUP | |
| Finland | Finland | |
| Phone: +358 50 4839470 | Phone: +358 50 4839470 |