idnits 2.17.1 draft-korhonen-dime-e2e-security-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([RFC2119]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 254 has weird spacing: '...28 bits e...' -- The document date (July 15, 2013) is 3937 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-40) exists of draft-ietf-jose-json-web-encryption-12 == Outdated reference: A later version (-41) exists of draft-ietf-jose-json-web-signature-12 -- No information found for draft-ietf-aaa-diameter-e2e-sec - is the name correct? Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DIME J. Korhonen 3 Internet-Draft H. Tschofenig 4 Intended status: Standards Track Nokia Siemens Networks 5 Expires: January 16, 2014 July 15, 2013 7 Diameter AVP Level Security: Keyed Message Digests, Digital Signatures, 8 and Encryption 9 draft-korhonen-dime-e2e-security-02.txt 11 Abstract 13 This document defines an extension for end to end authentication, 14 integrity and confidentiality protection of Diameter Attribute Value 15 Pairs. The solutions focuses on protecting Diameter Attribute Value 16 Pairs and leaves the key distribution solution to a separate 17 specification. The integrity protection can be introduced in a 18 backward compatible manner to existing application. The 19 confidentiality protection requires an explicit support from an 20 application, thus is applicable only for newly defined applications. 22 Terminology 24 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 25 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 26 document are to be interpreted as described in RFC 2119 [RFC2119]. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at http://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on January 16, 2014. 45 Copyright Notice 47 Copyright (c) 2013 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. Solution description . . . . . . . . . . . . . . . . . . . . 3 64 2.1. Integrity protection of AVPs . . . . . . . . . . . . . . 3 65 2.2. Confidentiality protection of AVPs . . . . . . . . . . . 6 66 2.3. Definition of the 'End Point' . . . . . . . . . . . . . . 7 67 3. AVP Encoding . . . . . . . . . . . . . . . . . . . . . . . . 7 68 3.1. Signed-Data AVP . . . . . . . . . . . . . . . . . . . . . 7 69 3.2. JWS-Header AVP . . . . . . . . . . . . . . . . . . . . . 8 70 3.3. Header-Parameters AVP . . . . . . . . . . . . . . . . . . 8 71 3.4. JWS-AVP-Payload AVP . . . . . . . . . . . . . . . . . . . 8 72 3.5. JWS-Signature AVP . . . . . . . . . . . . . . . . . . . . 8 73 3.6. Encrypted-Data AVP . . . . . . . . . . . . . . . . . . . 9 74 3.7. JWE-Header AVP . . . . . . . . . . . . . . . . . . . . . 9 75 3.8. JWE-Enc-Key AVP . . . . . . . . . . . . . . . . . . . . . 9 76 3.9. JWE-Init-Vec AVP . . . . . . . . . . . . . . . . . . . . 9 77 3.10. JWE-AVP-Ciphertext AVP . . . . . . . . . . . . . . . . . 9 78 4. Result-Code AVP Values . . . . . . . . . . . . . . . . . . . 10 79 4.1. Transient Failures . . . . . . . . . . . . . . . . . . . 10 80 4.2. Permanent Failures . . . . . . . . . . . . . . . . . . . 10 81 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 82 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 83 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 84 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 85 8.1. Normative References . . . . . . . . . . . . . . . . . . 11 86 8.2. Informational References . . . . . . . . . . . . . . . . 12 87 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 89 1. Introduction 91 The Diameter base protocol [RFC6733] leverages IPsec and TLS for 92 mutual authentication between neighboring Diameter nodes and for 93 channel security offering data origin authentication, integrity and 94 confidentiality protection. The Diameter base protocol, however, 95 also defines Diameter agents, namely Relay Agents, Proxy Agents, 96 Redirect Agents, and Translation Agents. 98 Relay Agents are Diameter agents that accept requests and route 99 messages to other Diameter nodes based on information found in the 100 messages. Since Relays do not perform any application level 101 processing, they provide relaying services for all Diameter 102 applications. 104 Similarly to Relays, Proxy Agents route Diameter messages using the 105 Diameter routing table. However, they differ since they modify 106 messages to implement policy enforcement. 108 Redirect Agents do not relay messages, and only return an answer with 109 the information necessary for Diameter agents to communicate 110 directly, they do not modify messages. Redirect Agents do not have 111 negative impacts on end-to-end security and are therefore not 112 considered in this document. 114 A Translation Agent is a device that provides translation between two 115 protocols. To offer end-to-end security across different protocol 116 requires the ability to convey and process the AVPs defined in this 117 document by both end points. Since such support is very likely not 118 available this document does not cover this functionality. 120 The Diameter extension defined in this document specifies how AVP 121 authentication, integrity and confidentiality protection can be 122 offered using either symmetric or asymmetric cryptography. As a 123 solution mechanism is derived form Javascript Object Signing and 124 Encryption (JOSE). JOSE offers a simple encoding with small set of 125 features ideal for the purpose of Diameter. This document further 126 defines a binary efficient coding of JOSE objects. 128 This document focuses on protecting Diameter AVP and leaves the key 129 distribution solution to a separate specification, which most likely 130 is going to be a specific key exchange application. To offer the 131 functionality two grouped AVPs are defined: Signed-Data and 132 Encrypted-Data. The respective JOSE objects are transported within 133 these two AVPs. 135 2. Solution description 137 2.1. Integrity protection of AVPs 139 JWS represents digitally signed or HMACed content using JSON data 140 structures. The representation in [I-D.ietf-jose-json-web-signature] 141 consists of three parts: the JWS Header, the JWS Payload, and the JWS 142 Signature. The three parts are represented as the concatenation of 143 the encoded strings in that order, with the three strings being 144 separated by period ('.') characters. For the JWS Payload one would 145 define a new JSON object that contains an array of AVP code number 146 and a hash of AVP pairs. The JWS Signature then covers the all APVs 147 to be signed or HMACed. Both JWS Payload and signature MUST use the 148 same hash algorithm of the cryptographic algorithm indicated in the 149 JWS Header. 151 Although the solution relies on the JSON, the encoding into Diameter 152 AVPs differ from the text based encoding of the JSON objects. 153 Specifically, none of of the JWS Header, JWS Payload or JWS Signature 154 are not BASE64 encoded but are processed in their plaintext or binary 155 representation formats. For example, the JWS Header is encoded in 156 its plaintext format into the Header-Parameters AVP: 158 { "typ":"JWT", 159 "alg":"HS256", 160 "kid":"abc123" 161 } 163 The JWS Payload and the JWS Signature hashes and AVP Code values are 164 encoded in their binary format as octets, not in textual or BASE64 165 encoded formats. Sections 3.4 and 3.5 describe the encodings of the 166 needed AVPs. 168 To package a set of AVPs for signing, each AVP octet representation 169 to be protected are first individually hashed and encoded into the 170 "JSON object" with its four octets AVP code number. The entire AVP 171 MUST be input to the hash calculation, from the first byte of the AVP 172 code to the last byte of the AVP data, including all other fields, 173 length, reserved/flags, and optional vendor IDs, and padding. The 174 AVP MUST be input to the hash calculation in network byte order. 176 The JWS Signature is calculated over the entire JWS Payloads and then 177 the all three JWS parts are placed in the Signed-Data AVP. There can 178 be multiple Signed-Data AVPs in a Diameter message. The AVP code in 179 the JWS Payload is to indicate which AVP this hash possibly refers 180 to. If there are multiple instances of the same AVP in the Diameter 181 message, there is no other way than make the verification against all 182 of those. It is possible that the message sender only hashed one AVP 183 of the same type and, therefore, the receiver MUST verify the hash 184 against all occurrences of the AVP of the same code number. Such 185 flexibility is added there to allow reordering of the AVPs and 186 addition or deletion of new AVPs by intermediating agents. 188 If a receiver detects errors with the processing of the Signed-Data 189 AVP it MAY return one of the errors defined in Section 4. If a 190 receiver does not find any AVP the Signed-Data AVP has a signature 191 for, it MAY also return one of the errors defined in Section 4. 193 When AVPs are to be both encrypted and signed, the Encrypted-Data AVP 194 MUST be created first. This means that signing is "outside" 195 encryption. 197 Here is an example: Imagine the following AVPs from the QoS-Resources 198 AVP in the QoS-Install Request (defined in RFC 5866 [RFC5866] message 199 shall be signed. The resulting example message has the following 200 structure: 202 ::= < Diameter Header: 327, REQ, PXY > 203 < Session-Id > 204 { Auth-Application-Id } 205 { Origin-Host } 206 { Origin-Realm } 207 { Destination-Realm } 208 { Auth-Request-Type } 209 [ Signed-Data ] 210 * [ QoS-Resources ] 211 ... 213 Example Diameter Message with Signed-Data AVP 215 The Signed-Data AVP in this example may contain a JWS Header that 216 indicates the use of the HMAC SHA-256 algorithm with the key id 217 'abc123'. The protected AVPs are Session-Id, Origin-Host and Origin- 218 Realm. The calculated HMAC SHA-256 values are for example purposes 219 only (i.e., are not real): 221 JWS Header encoded as such in JWS-Header AVP: 223 {"typ":"JWT", 224 "alg":"HS256", 225 "kid":"abc123" 226 } 228 0x00000xxx // JWS-Header code 'xxx' 229 0x00000034 // Flags=0, Length=52 230 '{"typ":"JWT","alg":"HS256","kid":"abc123"}' // 41 231 0x00,0x00,0x00 // 3 octets padding 233 JWS Payload encoded into three JWS-AVP-Payload AVPs: 235 0x00000zzz // JWS-AVP-Payload code 'zzz' <--+ 236 0x0000001c // Flags=0, Length=28 | 237 0x00000107 // 263, Session-Id, 4 octets s 238 0x9d0e0495 // hash of Session-Id, 128 bits i 239 0xba8c0312 g 240 0xb6274c52 n 241 0x7d51a048 a 242 t 243 0x00000zzz // JWS-AVP-Payload code 'zzz' u 244 0x0000001c // Flags=0, Length=28 r 245 0x00000108 // 264, Origin-Host, 4 octets e 246 0x39ca88ff // hash of Origin-Host, 128 bits | 247 0xaa5a6ff9 c 248 0x029ed95b o 249 0xa534e028 v 250 e 251 0x00000zzz // JWS-AVP-Payload code 'zzz' r 252 0x0000001c // Flags=0, Length=28 a 253 0x00000128 // 296, Origin-Realm, 4 octets g 254 0x202730ac // hash of Origin-Realm, 128 bits e 255 0xa6e3a180 | 256 0x2f44a633 | 257 0xf250f6fe <--+ 259 JWS Signature encoded into the JWS-Signature AVP: 261 0x00000yyy // JWS-Signature code 'yyy' 262 0x00000018 // Flags=0, Length=24 263 0xaabbccdd,0xddeeff00,0x11223344,0x55667788 265 Example JWS Header, Payload and Signature 267 2.2. Confidentiality protection of AVPs 269 The Encrypted-Data AVP (AVP Code TBD) is of type OctetString and 270 contains the JSON Web Encryption (JWE) 271 [I-D.ietf-jose-json-web-encryption] data structure and consists of 272 four parts: the JWE Header, the JWE Encrypted Key, the JWE 273 Initialization Vector and the JWE Ciphertext. The four parts are 274 represented as the concatenation of the encoded strings in that 275 order, with the three strings being separated by period ('.') 276 characters. JWE does not add a content integrity check if not 277 provided by the underlying encryption algorithm. 279 Although the solution relies on the JSON, the encoding into Diameter 280 AVPs differ from the text based encoding of the JSON objects. 281 Specifically, none of of the the JWE Header, the JWE Encrypted Key, 282 the JWE Initialization Vector and the JWE Ciphertext are not BASE64 283 encoded but are processed in their plaintext or binary representation 284 formats. The concept follows what was already described in 285 Section 2.1. 287 A single AVP or an entire list of AVPs MUST be input to the 288 encryption process, from the first byte of the AVP code to the last 289 byte of the AVP data, including all other fields, length, reserved/ 290 flags, and optional vendor IDs, and padding. The AVP MUST be input 291 to the encryption process in network byte order, and the encryptor is 292 free to order AVPs whatever way it chooses. When AVPs are to be both 293 encrypted and authenticated, the Encrypted-Data AVP MUST be created 294 first. 296 Note that the usage of the Encrypted-Data AVP requires explicit 297 support by the Diameter application since a receiving Diameter node 298 must first decrypt the content of the Encrypted-Data AVP in order to 299 evaluate the AVPs carried in the message. In case that a Diameter 300 node is unable to understand the Encrypted-Data AVP and ignores the 301 AVP then two possible outcomes are possible: First, if the encrypted 302 AVPs are optional then their content is not considered by the 303 receiving Diameter server without any indication to the sender that 304 they have not been processes. Worse, in the second case when the 305 encrypted AVPs are mandatory to be processed then the receiving 306 Diameter node will return an error that may not inform the sender 307 about the failure to decrypt the Encrypted-Data AVP. Consequently, 308 the usage of the Encrypted-Data AVP may require changes to the ABNF 309 definition of a Diameter application. 311 If a receiver detects that the contents of the Encrypted-Data AVP is 312 invalid, it SHOULD return the new Result-Code AVP value defined in 313 Section 4. 315 2.3. Definition of the 'End Point' 317 Although this specification claims to introduce the end-to-end 318 security into Diameter, the definition who actually is the 'end 319 point' is not obvious. The 'end point' does not need to be the 320 original Diameter request or answer originator but the Diameter node 321 that inserts the Signed-Data or the Encrypted-Data AVPs into the 322 Diameter message. The node can be the request or answer originator 323 or a proxy agent. Use of proxy agents doing the 'end-to-end' 324 security on behalf of other nodes mimics the deployments where site- 325 to-site VPNs are used. 327 3. AVP Encoding 329 3.1. Signed-Data AVP 331 The Signed-Data AVP (AVP Code TBD1) is of type Grouped and utilizes 332 the JSON Web signature (JWS) mechanism defined in 333 [I-D.ietf-jose-json-web-signature]. The JWS payload is then encoded 334 into the Signed-Data AVP: 336 Signed-Data ::= < AVP Header: TBD1 > 337 { JWS-Header } 338 * { JWS-AVP-Payload } 339 { JWS-Signature } 340 * [ AVP ] 342 3.2. JWS-Header AVP 344 The JWS-Header AVP (AVP Code TBD2) is of type UTF8String and contains 345 the JSON Web Signature Header. The contents of the AVP follow the 346 rules for the header found in [I-D.ietf-jose-json-web-signature], 347 which implies the required IANA registries are also defined by JSON 348 documents. 350 JWS-Header ::= < AVP Header: TBD2 > 351 { Header-Parameters } 352 * [ AVP ] 354 The "alg" is the only REQUIRED Header Parameter for the signature 355 purposes. The "typ" and "kid" Header Parameters are also 356 RECOMMENDED. 358 3.3. Header-Parameters AVP 360 The Header-Parameters AVP (AVP Code TBD3) is of type UTF8String and 361 contains the JSON Header Parameter Name and its value as described in 362 [I-D.ietf-jose-json-web-signature]. The encoding (textual) also 363 follows [I-D.ietf-jose-json-web-signature]. Differing from the JSON 364 specifications the parameter names and values are not BASE64 encoded 365 but in their original UTF-8 representation format. 367 3.4. JWS-AVP-Payload AVP 369 The JWS-AVP-Payload AVP (AVP Code TBD4) is of type OctetString and 370 contains both an AVP Code and a hash of the entire AVP identified by 371 the AVP Code. The first four octets contain the AVP Code in a 372 network byte order followed by the hash octets. The length of the 373 hash octets depends on the used hash algorithm. 375 3.5. JWS-Signature AVP 377 The JWS-Signature AVP (AVP Code TBD5) is of type OctetString and 378 contains the signature calculated over the array of complete JWS-AVP- 379 Payload AVPs (including AVP header fields etc) in the order they 380 appear in the Signed-Data AVP. The length of the signature octets 381 depends on the used signature algorithm. 383 3.6. Encrypted-Data AVP 385 The Encrypted-Data AVP (AVP Code TBD6) is of type Grouped and 386 utilizes the JSON Web Encryption (JWE) mechanism defined in 387 [I-D.ietf-jose-json-web-encryption]. The JWE payload is then encoded 388 into the Encrypted-Data AVP: 390 Encrypted-Data ::= < AVP Header: TBD1 > 391 { JWE-Header } 392 { JWE-Enc-Key } 393 [ JWE-Init-Vec ] 394 { JWE-AVP-Ciphertext } 395 * [ AVP ] 397 3.7. JWE-Header AVP 399 The JWE-Header AVP (AVP Code TBD7) is of type UTF8String and contains 400 the JSON Web Encryption Header. The contents of the AVP follow the 401 rules for the header found in [I-D.ietf-jose-json-web-encryption], 402 which implies the required IANA registries are also defined by JSON 403 documents. 405 JWE-Header ::= < AVP Header: TBD7 > 406 { Header-Parameters } 407 * [ AVP ] 409 The "alg" and "enc" are the REQUIRED Header Parameter for the 410 encryption purposes. The "typ" and "kid" Header Parameters are also 411 RECOMMENDED. 413 3.8. JWE-Enc-Key AVP 415 The JWE-Enc-Key AVP (AVP Code TBD8) is of type OctetString and 416 contains the JWE Encrypted Key in its binary format. 418 3.9. JWE-Init-Vec AVP 420 The JWE-Init-Vec AVP (AVP Code TBD9) is of type OctetString and 421 contains the JWE Initialization Vector in its binary format. 423 3.10. JWE-AVP-Ciphertext AVP 425 The JWE-AVP-Ciphertext AVP (AVP Code TBD10) is of type OctetString 426 and contains the encrypted AVPs. The encrypted AVPs are first 427 concatenated into one large plaintext octet blob and then encrypted 428 as a whole. The length of the ciphertext depends on the used 429 algorithm and encrypted AVPs. The plaintext to be encrypted is never 430 BASE64 encoded but MAY be compressed if a "zip" parameter was 431 included in the JWE Header. 433 4. Result-Code AVP Values 435 This section defines new Diameter result code values for usage with 436 Diameter applications. 438 4.1. Transient Failures 440 Errors that fall within the transient failures category are used to 441 inform a peer that the request could not be satisfied at the time it 442 was received, but MAY be able to satisfy the request in the future. 444 DIAMETER_KEY_UNKNOWN (TBD11) 446 This error code is returned when a Signed-Data or an Encrypted- 447 Data AVP is received that was generated using a key that cannot be 448 found in the key store. This error may, for example, be caused if 449 one of the endpoints of an end-to-end security association lost a 450 previously agreed upon key, perhaps as a result of a reboot. To 451 recover a new end-to-end key establishment procedure may need to 452 be invoked. 454 DIAMETER_HEADER_NAME_ERROR (TBD12) 456 This error code is returned when a Header Parameter Name is not 457 understood in the JWS-Header AVP or in the JWE-Header AVP. 459 4.2. Permanent Failures 461 Errors that fall within the permanent failures category are used to 462 inform the peer that the request failed, and should not be attempted 463 again. 465 DIAMETER_DECRYPTION_ERROR (TBD13) 467 This error code is returned when an Encrypted-Data AVP is received 468 and the decryption fails for an unknown reason. 470 DIAMETER_SIGNATURE_ERROR (TBD14) 472 This error code is returned when a Signed-Data AVP is received and 473 the verification fails for an unknown reason. 475 5. IANA Considerations 476 IANA is requested to allocate AVP codes for the following AVPs: 478 +------------------------------------------------------------------+ 479 | AVP Section | 480 |AVP Name Code Defined Data Type | 481 +------------------------------------------------------------------+ 482 |Signed-Data TBD1 3.1 Grouped | 483 |JWS-Header TBD2 3.x Grouped | 484 |JWS-AVP-Paylaod TBD3 3.x OctetString | 485 |JSW-Signature TBD4 3.x OctetString | 486 |Header-Parameters TBD5 3.x UTF8String | 487 |Encrypted-Data TBD6 3.x Grouped | 488 |JWE-Header TBD7 3.x Grouped | 489 |JWE-Enc-Key TBD8 3.x OctetString | 490 |JWE-Init-Vec TBD9 3.x OctetString | 491 |JWE-AVP-Ciphertext TBD10 3.x OctetString | 492 +------------------------------------------------------------------+ 494 This specification additionally defines a few Result-Code AVP values, 495 see Section 4. 497 6. Security Considerations 499 The purpose of this document is to offer end-to-end security 500 mechanisms for calculating keyed message digest, for signing, and for 501 encryption of Diameter AVPs. 503 An intermediate Diameter agent that for a reason or other reorders 504 the AVPs within the Signed-Data AVP may cause the signature 505 verification fail even if no AVP was actually tampered. 507 7. Acknowledgements 509 We would like to thank the authors of [I-D.ietf-aaa-diameter-e2e-sec] 510 for their work on CMS end-to-end security for Diameter. Their 511 document inspired us. 513 8. References 515 8.1. Normative References 517 [I-D.ietf-jose-json-web-encryption] 518 Jones, M., Rescorla, E., and J. Hildebrand, "JSON Web 519 Encryption (JWE)", draft-ietf-jose-json-web-encryption-12 520 (work in progress), July 2013. 522 [I-D.ietf-jose-json-web-signature] 523 Jones, M., Bradley, J., and N. Sakimura, "JSON Web 524 Signature (JWS)", draft-ietf-jose-json-web-signature-12 525 (work in progress), July 2013. 527 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 528 Requirement Levels", BCP 14, RFC 2119, March 1997. 530 [RFC6733] Fajardo, V., Arkko, J., Loughney, J., and G. Zorn, 531 "Diameter Base Protocol", RFC 6733, October 2012. 533 8.2. Informational References 535 [I-D.ietf-aaa-diameter-e2e-sec] 536 Calhoun, P., "Diameter End-2-End Security Extension", 537 2001. 539 [RFC5866] Sun, D., McCann, P., Tschofenig, H., Tsou, T., Doria, A., 540 and G. Zorn, "Diameter Quality-of-Service Application", 541 RFC 5866, May 2010. 543 Authors' Addresses 545 Jouni Korhonen 546 Nokia Siemens Networks 547 Linnoitustie 6 548 FI-02600 Espoo 549 FINLAND 551 Email: jouni.nospam@gmail.com 553 Hannes Tschofenig 554 Nokia Siemens Networks 555 Linnoitustie 6 556 Espoo 02600 557 Finland 559 Phone: +358 (50) 4871445 560 Email: Hannes.Tschofenig@gmx.net 561 URI: http://www.tschofenig.priv.at