1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
|
Network Working Group H. Tschofenig
Request for Comments: 5106 D. Kroeselberg
Category: Experimental Nokia Siemens Networks
A. Pashalidis
NEC
Y. Ohba
Toshiba
F. Bersani
France Telecom
February 2008
The Extensible Authentication Protocol-Internet Key Exchange Protocol
version 2 (EAP-IKEv2) Method
Status of This Memo
This memo defines an Experimental Protocol for the Internet
community. It does not specify an Internet standard of any kind.
Discussion and suggestions for improvement are requested.
Distribution of this memo is unlimited.
Abstract
This document specifies EAP-IKEv2, an Extensible Authentication
Protocol (EAP) method that is based on the Internet Key Exchange
(IKEv2) protocol. EAP-IKEv2 provides mutual authentication and
session key establishment between an EAP peer and an EAP server. It
supports authentication techniques that are based on passwords,
high-entropy shared keys, and public key certificates. EAP-IKEv2
further provides support for cryptographic ciphersuite negotiation,
hash function agility, identity confidentiality (in certain modes of
operation), fragmentation, and an optional "fast reconnect" mode.
Tschofenig, et al. Experimental [Page 1]
^L
RFC 5106 EAP-IKEv2 Method February 2008
Table of Contents
1. Introduction ....................................................3
2. Terminology .....................................................4
3. Protocol Overview ...............................................6
4. Fast Reconnect ..................................................9
5. Key Derivation .................................................12
6. Session ID, Peer ID, and Server ID .............................13
7. Error Handling .................................................13
8. Specification of Protocol Fields ...............................16
8.1. The Flags, Message Length, and Integrity Checksum
Data Fields ...............................................17
8.2. EAP-IKEv2 Header ..........................................19
8.3. Security Association Payload ..............................19
8.4. Key Exchange Payload ......................................20
8.5. Nonce Payload .............................................20
8.6. Identification Payload ....................................20
8.7. Certificate Payload .......................................20
8.8. Certificate Request Payload ...............................20
8.9. Encrypted Payload .........................................20
8.10. Authentication Payload ...................................20
8.11. Notify Payload ...........................................21
8.12. Next Fast-ID Payload .....................................21
9. Payload Types and Extensibility ................................22
10. Security Considerations .......................................22
10.1. Protected Ciphersuite Negotiation ........................23
10.2. Mutual Authentication ....................................23
10.3. Integrity Protection .....................................23
10.4. Replay Protection ........................................23
10.5. Confidentiality ..........................................23
10.6. Key Strength .............................................24
10.7. Dictionary Attack Resistance .............................24
10.8. Fast Reconnect ...........................................25
10.9. Cryptographic Binding ....................................25
10.10. Session Independence ....................................25
10.11. Fragmentation ...........................................26
10.12. Channel Binding .........................................26
10.13. Summary .................................................26
11. IANA Considerations ...........................................27
12. Contributors ..................................................28
13. Acknowledgements ..............................................28
14. References ....................................................29
14.1. Normative References .....................................29
14.2. Informative References ...................................29
Appendix A ........................................................30
Tschofenig, et al. Experimental [Page 2]
^L
RFC 5106 EAP-IKEv2 Method February 2008
1. Introduction
This document specifies EAP-IKEv2, an EAP method that is based on the
Internet Key Exchange Protocol version 2 (IKEv2) [1]. EAP-IKEv2
provides mutual authentication and session key establishment between
an EAP peer and an EAP server. It supports authentication techniques
that are based on the following types of credentials:
o Asymmetric key pairs: these are public/private key pairs where the
public key is embedded into a digital certificate, and the
corresponding private key is known only to a single party.
o Passwords: these are low-entropy bit strings that are known to
both the server and the peer.
o Symmetric keys: these are high-entropy bit strings that are known
to both the server and the peer.
It is possible to use a different authentication credential (and
thereby technique) for each direction, e.g., the EAP server may
authenticate itself using a public/private key pair and the EAP
client may authenticate itself using a symmetric key. In particular,
the following combinations are expected to be used in practice; these
are referred to as "use cases" or "modes" in the remainder of this
document:
1. EAP server: asymmetric key pair, EAP peer: asymmetric key pair
2. EAP server: asymmetric key pair, EAP peer: symmetric key
3. EAP server: asymmetric key pair, EAP peer: password
4. EAP server: symmetric key, EAP peer: symmetric key
Note that in use cases 2 and 4, a symmetric key is assumed to be
chosen uniformly at random from its key space; it is therefore
assumed that symmetric keys are not derived from passwords. Deriving
a symmetric key from a password is insecure when used with mode 4
since the exchange is vulnerable to dictionary attacks, as described
in more detail in Section 10.7. Also note that in use case 3, the
EAP server must either have access to all passwords in plaintext, or,
alternatively, for each password store, the value prf(password,"Key
Pad for EAP-IKEv2") for all supported pseudorandom functions (also
Tschofenig, et al. Experimental [Page 3]
^L
RFC 5106 EAP-IKEv2 Method February 2008
see Section 8.10 below and Section 2.15 of [1]). Other conceivable
use cases are not expected to be used in practice due to key
management issues, and have not been considered in this document.
Note that the IKEv2 protocol is able to carry EAP exchanges. By
contrast, EAP-IKEv2 does not inherit this capability. That is, it is
not possible to tunnel EAP methods inside EAP-IKEv2. Also note that
the set of functionality provided by EAP-IKEv2 is similar, but not
identical, to that provided by other EAP methods such as, for
example, EAP-TLS [6].
The remainder of this document is structured as follows:
o Section 2 provides an overview of the terminology and the
abbreviations used in this document.
o Section 3 provides an overview of the full EAP-IKEv2 exchange and
thereby specifies the protocol message composition.
o Section 4 specifies the optional EAP-IKEv2 "fast reconnect" mode
of operation.
o Section 5 specifies how exportable session keys are derived.
o Section 6 specifies how the Session-ID, Peer-ID, and Server-ID
elements are derived.
o Section 7 specifies how errors that may potentially occur during
protocol execution are handled.
o Section 8 specifies the format of the EAP-IKEv2 data fields.
Section 8.1 describes how fragmentation is handled in EAP-IKEv2.
o Section 9 specifies the payload type values and describes protocol
extensibility.
o Section 10 provides a list of claimed security properties.
2. Terminology
This document makes use of terms defined in [2] and [1]. In
addition, the keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT,
SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear
in this document, are to be interpreted as described in [3].
Tschofenig, et al. Experimental [Page 4]
^L
RFC 5106 EAP-IKEv2 Method February 2008
A list of abbreviations that are used in this document follows.
AUTH:
Denotes a data field containing either a Message Authentication
Code (MAC) or a signature. This field is embedded into an
Authentication payload, defined in Section 8.10.
CERT:
Public key certificate or similar structure.
CERTREQ:
Certificate Request.
NFID:
Next Fast-ID payload (see Sections 4 and 8.12)
EMSK:
Extended Master Session Key, defined in [2].
HDR:
EAP-IKEv2 header, defined in Section 8.2.
I:
Initiator, the party that sends the first message of an EAP-IKEv2
protocol run. This is always the EAP server.
MAC:
Message Authentication Code. The result of a cryptographic
operation that involves a symmetric key.
MSK:
Master Session Key, defined in [2].
prf:
Pseudorandom function: a cryptographic function whose output is
assumed to be indistinguishable from that of a truly random
function.
Tschofenig, et al. Experimental [Page 5]
^L
RFC 5106 EAP-IKEv2 Method February 2008
R:
Responder, the party that sends the second message of an EAP-IKEv2
protocol run. This is always the EAP peer.
SA:
Security Association. In this document, SA denotes a type of
payload that is used for the negotiation of the cryptographic
algorithms that are to be used within an EAP-IKEv2 protocol run.
Specifically, SAi denotes a set of choices that are accepted by an
initiator, and SAr denotes the choice of the responder.
Signature:
The result of a cryptographic operation that involves an
asymmetric key. In particular, it involves the private part of a
public/private key pair.
SK:
Session Key. In this document, the notation SK{x} denotes that x
is embedded within an Encrypted payload, i.e., that x is encrypted
and integrity-protected using EAP-IKEv2 internal keys. These keys
are different in each direction.
SK_xx:
EAP-IKEv2 internal key, defined in Section 2.14 of [1].
SKEYSEED:
Keying material, defined in Section 2.14 of [1].
3. Protocol Overview
In this section, the full EAP-IKEv2 protocol run is specified. All
messages are sent between two parties, namely an EAP peer and an EAP
server. In EAP-IKEv2, the EAP server always assumes the role of the
initiator (I), and the EAP peer that of the responder (R) of an
exchange.
The semantics and formats of EAP-IKEv2 messages are similar, albeit
not identical, to those specified in IKEv2 [1] for the establishment
of an IKE Security Association. The full EAP-IKEv2 protocol run
consists of two roundtrips that are followed by either an EAP-Success
or an EAP-Failure message. An optional roundtrip for exchanging EAP
identities may precede the two exchanges.
Tschofenig, et al. Experimental [Page 6]
^L
RFC 5106 EAP-IKEv2 Method February 2008
1. R<-I: EAP-Request/Identity
2. R->I: EAP-Response/Identity(Id)
3. R<-I: EAP-Req (HDR, SAi, KEi, Ni)
4. R->I: EAP-Res (HDR, SAr, KEr, Nr, [CERTREQ], [SK{IDr}])
5. R<-I: EAP-Req (HDR, SK{IDi, [CERT], [CERTREQ], [NFID], AUTH})
6. R->I: EAP-Res (HDR, SK{IDr, [CERT], AUTH})
7. R<-I: EAP-Success
Figure 1: EAP-IKEv2 Full, Successful Protocol Run
Figure 1 shows the full EAP-IKEv2 protocol run, including the
optional EAP identity exchange (messages 1 and 2). A detailed
specification of the message composition follows.
Messages 1 and 2 are a standard EAP Identity Request and Response, as
defined in [2]. Message 3 is the first EAP-IKEv2-specific message.
With this, the server starts the actual EAP authentication exchange.
It contains the initiator Security Parameter Index (SPI) in the EAP-
IKEv2 header (HDR) (the initiator selects a new SPI for each protocol
run), the set of cryptographic algorithms the server is willing to
accept for the protection of EAP-IKEv2 traffic (encryption and
integrity protection), and the derivation of the session key. This
set is encoded in the Security Association payload (SAi). It also
contains a Diffie-Hellman payload (KEi), and a Nonce payload (Ni).
When the peer receives message 3, it selects a set of cryptographic
algorithms from the ones that are proposed in the message. In this
overview, it is assumed that an acceptable such set exists (and is
thus selected), and that the Diffie-Hellman value KEi belongs to an
acceptable group. The peer then generates a non-zero Responder SPI
value for this protocol run, its own Diffie-Hellman value (KEr) and
nonce (Nr), and calculates the keys SKEYSEED, SK_d, SK_ai, SK_ar,
SK_ei, SK_er, SK_pi, and SK_pr, according to Section 2.14 of [1].
The peer then constructs message 4. In the context of use cases 1,
2, and 3, the peer's local policy MAY dictate the inclusion of the
optional CERTREQ payload in that message, which gives a hint to the
server to include a certificate for its public key in its next
message. In the context of use case 4, the peer MUST include the
optional SK{IDr} payload, which contains its EAP-IKEv2 identifier,
encrypted and integrity-protected within an Encrypted payload. The
keys used to construct this Encrypted payload are SK_er (for
encryption) and SK_ar (for integrity protection), in accordance with
Tschofenig, et al. Experimental [Page 7]
^L
RFC 5106 EAP-IKEv2 Method February 2008
[1]. The responder's EAP-IKEv2 identifier (IDr) is likely to be
needed in these use cases by the server in order to select the
correct symmetric key or password for the construction of the AUTH
payload of message 5.
Upon reception of message 4, the server also computes SKEYSEED, SK_d,
SK_ai, SK_ar, SK_ei, SK_er, SK_pi, and SK_pr, according to Section
2.14 of [1]. If an SK{IDr} payload is included, the server decrypts
it and verifies its integrity with the corresponding keys. In this
overview, decryption and verification is assumed to succeed. The
server then constructs message 5, which contains only the EAP-IKEv2
header followed by a single Encrypted payload. The keys used to
generate the encrypted payload MUST be SK_ei (for encryption) and
SK_ai (for integrity protection), in accordance with [1]. The
initiator MUST embed at least two payloads in the Encrypted Payload,
as follows. An Identification payload with the initiator's EAP-IKEv2
identifier MUST be embedded in the Encrypted payload. The
Authentication payload MUST be embedded in the Encrypted payload. A
Certificate payload, and/or a Certificate Request payload, MAY also
be embedded in the Encrypted payload. Moreover, a Next Fast-
Reconnect Identifier payload MAY also be embedded in the Encrypted
payload. Message 5 is sent to the responder.
Upon reception of message 5, the responder (EAP peer) authenticates
the initiator (EAP server). The checks that are performed to this
end depend on the use case, local policies, and are specified in [1].
These checks include (but may not be limited to) decrypting the
Encrypted payload, verifying its integrity, and checking that the
Authentication payload contains the expected value. If all checks
succeed (which is assumed in this overview), then the responder
constructs message 6. That message MUST contain the EAP-IKEv2 header
followed by a single Encrypted payload, in which at least two further
payloads MUST be embedded, as shown in Figure 1.
Upon reception of message 6, the initiator (EAP server) authenticates
the responder (EAP peer). As above, the checks that are performed to
this end depend on the use case, local policies, and MUST include
decryption and verification of the Encrypted payload, as well as
checking that the Authentication payload contains the expected value.
If the optional SK{IDr} payload was included in message 4, the EAP
server MUST also ensure that the IDr payload in message 6 is
identical to that in message 4.
If authentication succeeds, an EAP-Success message is sent to the
responder as message 7. The EAP server and the EAP peer generate a
Master Session Key (MSK) and an Extended Master Session Key (EMSK)
after a successful EAP-IKEv2 protocol run, according to Section 5.
Tschofenig, et al. Experimental [Page 8]
^L
RFC 5106 EAP-IKEv2 Method February 2008
4. Fast Reconnect
This section specifies a "fast reconnect" mode of operation for EAP-
IKEv2. This mode is mandatory to implement, but optional to use.
The purpose of fast reconnect is to enable an efficient re-
authentication procedure that also results in a fresh MSK and EMSK.
The "fast reconnect" mode can only be used where an EAP-IKEv2
security context already exists at both the server and the peer, and
its usage is subject to the local policies. In other words, it can
only be used by an EAP server/EAP peer pair that has already
performed mutual authentication in a previous EAP-IKEv2 protocol run.
The fast reconnect mode makes use of dedicated "fast reconnect EAP
identifiers". The idea is that the server indicates its willingness
to engage in "fast reconnect" protocol runs in the future by
including the optional "Next Fast-ID" (NFID) payload in message 5 of
a "full" protocol run (see Figure 1), or in message 3 of a "fast
reconnect" protocol run (see Figure 2). This NFID payload contains a
special EAP identity, denoted Fast Reconnect Identity (FRID) as the
Network Access Identifier (NAI) in the EAP-Response/Identity message.
The FRID contains an obfuscated username part and a realm part. When
generating a FRID, the following aspects should be considered:
The FRID and therefore the pseudonym usernames are generated by
the EAP server. The EAP server produces pseudonym usernames in an
implementation-dependent manner. Only the EAP server needs to be
able to map the pseudonym username to the permanent identity.
EAP-IKEv2 includes no provisions to ensure that the same EAP
server that generated a pseudonym username will be used on the
authentication exchange when the pseudonym username is used. It
is recommended that the EAP servers implement some centralized
mechanism to allow all EAP servers of the home operator to map
pseudonyms generated by other severs to the permanent identity.
If no such mechanism is available, then the EAP server, failing to
understand a pseudonym issued by another server, can request the
peer to send the permanent identity.
When generating FRIDs, the server SHOULD choose a fresh and unique
FRID that is different from the previous ones that were used after
the same full authentication exchange. The FRID SHOULD include a
random component in the username part. The random component works
as a reference to the security context. Regardless of the
construction method, the pseudonym username MUST conform to the
grammar specified for the username portion of an NAI. Also, the
FRID MUST conform to the NAI grammar [4]. The EAP servers, which
subscribers of an operator can use, MUST ensure that the username
part of a FRIDs that they generate are unique.
Tschofenig, et al. Experimental [Page 9]
^L
RFC 5106 EAP-IKEv2 Method February 2008
The peer MAY use the FRID to indicate to start a "fast reconnect"
protocol run. The EAP Identity Response MUST be sent at the
beginning of a "fast reconnect" protocol run. If, in the previous
successful "full" (resp. "fast reconnect") EAP-IKEv2 protocol
execution, the server had not included an NFID payload in message 5
(resp. 3), then the peer MUST NOT start a fast reconnect protocol
run. On reception of FRID, the server maps it to an existing EAP-
IKEv2 security context. Depending on local policy, the server either
proceeds with the "fast reconnect" protocol run, or proceeds with
message 3 of a "full" protocol run. If the server had advertised the
FRID in the previous EAP-IKEv2 protocol execution, it SHOULD proceed
with a "fast reconnect" protocol run. The peer MUST be able to
correctly handle a message 3 of a "full" protocol run, even if it
indicated a FRID in its EAP Identity Response.
Because the peer may fail to save a FRID that was sent in the NFID
payload (for example, due to malfunction), the EAP server SHOULD
maintain, at least, the most recently used FRID in addition to the
most recently issued FRID. If the authentication exchange is not
completed successfully, then the server MUST NOT overwrite the FRID
that was issued during the most recent successful authentication
exchange.
The EAP-IKEv2 fast reconnect exchange is similar to the IKE-SA
rekeying procedure, as specified in Section 2.18 of [1]. Thus, it
uses a CREATE_CHILD_SA request and response. The SPIs on those two
messages would be the SPIs negotiated on the previous exchange.
During fast reconnect, the server and the peer MAY exchange fresh
Diffie-Hellman values.
1. R<-I: EAP-Request/Identity
2. R->I: EAP-Response/Identity(FRID)
3. R<-I: EAP-Req(HDR, SK{SA, Ni, [KEi], [NFID]})
4. R->I: EAP-Res(HDR, SK{SA, Nr, [KEr]})
5. R<-I: EAP-Success
Figure 2: Fast Reconnect Protocol Run
Figure 2 shows the message exchange for the EAP-IKEv2 fast reconnect
mode. As in the full mode, the EAP server is the initiator and the
EAP peer is the responder. The first two messages constitute the
standard EAP identity exchange. Note that, in order to use the "fast
reconnect" mode, message 2 MUST be sent. This is in order to enable
the peer to indicate its "fast reconnect" identity FRID in message 2.
Tschofenig, et al. Experimental [Page 10]
^L
RFC 5106 EAP-IKEv2 Method February 2008
If the server can map the FRID to an existing EAP-IKEv2 context it
proceeds with message 3. Note that, in this message, the server MAY
embed an NFID payload into the encrypted payload to provide a new
FRID to the peer. The server MAY choose to perform a full EAP-IKEv2
run, in which case, it would respond with a message that conforms to
the format of message 3 in Figure 1.
Messages 3 and 4 establish a new EAP-IKEv2 security context. In
message 3, the initiator MUST select a new (non-zero) value for the
SPI field in each proposal substructure in the SA payload (see
Section 3.3 of [1]). The value of the IKE_SA Responder's SPI field
in HDR MUST be the one from the previous successful EAP-IKEv2
protocol run. The nonce inside the Nonce payload (Ni) MUST be fresh,
and the Diffie-Hellman value inside the Diffie-Hellman payload (if
present, KEi) MUST also be fresh. If present, the Diffie-Hellman
value MUST be drawn from the same group as the Diffie-Hellman value
in the previous successful full EAP-IKEv2 protocol run. Note that
the algorithms and keys that are used to construct the Encrypted
payload in message 3 are the same as in the previous successful EAP-
IKEv2 protocol run.
Upon reception of message 3, the responder (EAP peer) decrypts and
verifies the Encrypted payload. If successful (as assumed in Figure
2), it constructs message 4 in a fashion similar to the construction
of message 3. The responder MUST choose a new (non-zero) value for
the SPI field in each proposal substructure. Upon reception of
message 4, the initiator (EAP server) decrypts and verifies the
Encrypted payload. If a correct message 4 is received, then this
protocol run is deemed successful, and the server responds with an
EAP-Success message (message 5).
After successful EAP-IKEv2 fast reconnect protocol run, both the
initiator and the responder generate fresh keying material that is
used for the protection of subsequent EAP-IKEv2 traffic.
Furthermore, both the initiator and the responder MUST generate a
fresh MSK and EMSK and export them.
The new EAP-IKEv2-specific keying material is computed in the same
way as in the full EAP-IKEv2 protocol run, and in accordance with
Section 2.18 of [1]. That is, SKEYSEED is computed as SKEYSEED =
prf(SK_d (old), [g^ir (new)] | Ni | Nr), where SK_d (old) is the key
SK_d from the previous successful EAP-IKEv2 protocol run, Ni and Nr
are the nonces (without the Nonce payload headers) that were
exchanged in messages 3 and 4, and g^ir (new) is the newly computed
Diffie-Hellman key, if both the values KEi and KEr were present in
messages 3 and 4. The remaining EAP-IKEv2-specific keys (SK_d,
SK_ai, SK_ar, SK_ei, SK_er, SK_pi, and SK_pr) are generated as in the
full EAP-IKEv2 protocol run.
Tschofenig, et al. Experimental [Page 11]
^L
RFC 5106 EAP-IKEv2 Method February 2008
The generation of a fresh MSK and EMSK follows the generation of the
EAP-IKEv2-specific keys and adheres to the rules in Section 5.
Note 1: In EAP-IKEv2, the EAP server initiates the fast reconnect
mode and thereby causes fresh session keys to be established.
Note 2: It is conceivable that an adversary tries to launch a replay
attack against the EAP-IKEv2 fast reconnect mode of operation. In
particular, the adversary may try to send a previously captured
message 3 in a subsequent fast reconnect protocol run. This replay
attempt will, however, fail because the keys that the responder will
use to verify and decrypt the Encrypted payload are changed with
every successful reconnect protocol run.
5. Key Derivation
This section describes how the Master Session Key (MSK) and the
Extended Master Session Key (EMSK) are derived in EAP-IKEv2. It is
expected that the MSK and the EMSK are exported by the EAP-IKEv2
process and be used in accordance with the EAP keying framework [7].
During an EAP-IKEv2 protocol run, the initiator and the responder
generate a number of keys, as described above and in accordance with
Section 2.14 of [1]. The generation of these keys is based on a
pseudorandom function (prf) that both parties have agreed to use and
that is applied in an iterative fashion. This iterative fashion is
specified in Section 2.13 of [1] and is denoted by prf+.
In particular, following a successful EAP-IKEv2 protocol run, both
parties generate 128 octets of keying material, denoted KEYMAT, as
KEYMAT = prf+(SK_d, Ni | Nr), where Ni and Nr are the nonces (just
payload without headers) from messages 3 and 4 shown in Figure 1 (in
the context of a full EAP-IKEv2 protocol run) or Figure 2 (in the
context of a fast reconnect EAP-IKEv2 protocol run). Note that only
the nonces are used, i.e., not the entire Nonce payload that contains
them.
The first 64 octets of KEYMAT are exported as the EAP MSK, and the
second 64 octets are exported as the EMSK.
The MSK and EMSK MUST NOT be generated unless an EAP-IKEv2 protocol
run completes successfully. Note that the EAP-IKEv2 method does not
produce an initialisation vector [7].
Tschofenig, et al. Experimental [Page 12]
^L
RFC 5106 EAP-IKEv2 Method February 2008
6. Session ID, Peer ID, and Server ID
The EAP key management framework [7] requires that EAP methods export
three information elements, called the Session-ID, the Peer-ID, and
the Server-ID. In EAP-IKEv2, these elements are derived as follows:
o The Session-ID is constructed and exported as the concatenation of
the following three elements, in this order: (a) the EAP Code Type
for EAP-IKEv2 (to be defined by IANA), (b) the contents of the
Nonce Data field of the Nonce Payload Ni from message 3, (c) the
contents of the Nonce Data field of the Nonce Payload Nr from
message 4.
o In case of a full EAP-IKEv2 protocol run, the Peer-ID is
constructed and exported as the content of the Identification Data
field of the Identification Payload IDr from message 6. Note that
only the "actual" identification data is exported, as indicated in
the Payload Length field; if the Identification Data field
contains any padding, this padding is ignored. In case of a "fast
reconnect" protocol run, the Peer-ID field is constructed in
exactly the same manner, where message 6 refers to the full EAP-
IKEv2 protocol run that originally established the security
context between the EAP peer and EAP server.
o In case of a full EAP-IKEv2 protocol run, the Server-ID is
constructed and exported as the contents of the Identification
Data field of the Identification Payload IDi from message 5. Note
that only the "actual" identification data is exported, as
indicated in the Payload Length field; if the Identification Data
field contains any padding, this padding is ignored. In case of a
"fast reconnect" protocol run, the Server-ID field is constructed
in exactly the same manner, where message 5 refers to the full
EAP-IKEv2 protocol run that originally established the security
context between the EAP peer and EAP server.
7. Error Handling
This section specifies how errors are handled within EAP-IKEv2. For
conveying error information from one party to the other, the Notify
payload is defined and used (see Section 8.11).
If, in a full EAP-IKEv2 protocol run, authentication fails (i.e., the
verification of the AUTH field fails at the server or the peer), but
no other errors have occurred, the message flow deviates from that
described in Section 3. The message flows in the presence of
authentication failures are specified in Appendix A.
Tschofenig, et al. Experimental [Page 13]
^L
RFC 5106 EAP-IKEv2 Method February 2008
If, in message 3 of a full EAP-IKEv2 protocol run (see Figure 1), the
responder receives a Diffie-Hellman value (KEi) that belongs to a
group that is not supported (and in the absence of other errors),
then the responder MUST send a message of the form shown in Figure 3
to the initiator. This effectively becomes message 4 in the full
protocol run.
1. R<-I: EAP-Request/Identity
2. R->I: EAP-Response/Identity(Id)
3. R<-I: EAP-Req (HDR, SAi, KEi, Ni)
4. R->I: EAP-Res (HDR, N(INVALID_KE_PAYLOAD))
Figure 3: Error Handling in Case of Unsupported D-H Value
The above message consists of the EAP-IKEv2 header and a Notification
payload with the value of the Notify Message Type field value set to
17 (INVALID_KE_PAYLOAD). There is a two-octet value associated with
this notification: the number of the selected DH Group in big endian
order, as specified in Section 3.10.1 of [1]. This number MUST
represent a DH group that is supported by both the initiator and the
responder.
If, during a full EAP-IKEv2 protocol run (see Figure 1), the
initiator receives a message conforming to Figure 3 instead of the
usual message 4, then it MUST check whether or not the indicated DH
group was proposed in message 3. If it was not, then the initiator
MUST silently discard the message. Otherwise, the protocol continues
with a new message 3 that the initiator sends to the peer. In this
new message 3, the initiator MUST use a Diffie-Hellman value that is
drawn from the group that is indicated in the Notify payload of
message 4 in Figure 3.
If, in the context of use case 4 and during a full EAP-IKEv2 protocol
run (see Figure 1), the initiator receives, in message 4, an SK{IDr}
payload that decrypts to a non-existent or unauthorised EAP-IKEv2
responder identifier IDr*, then the server SHOULD continue the
protocol with a message conforming to the format of message 5. The
AUTH payload in that message SHOULD contain a value that is
computationally indistinguishable from a value that it would contain
if IDr* was valid and authorised. This can be accomplished, for
example, by generating a random key and calculating AUTH as usual
(however, this document does not mandate a specific mechanism). Only
after receiving message 6, the server SHOULD respond with an
Tschofenig, et al. Experimental [Page 14]
^L
RFC 5106 EAP-IKEv2 Method February 2008
authentication failure notification, i.e., a message conforming to
message 6 in Figure 10. The purpose of this behaviour is to prevent
an adversary from probing the EAP-IKEv2 peer identifier space.
If, in the context of use cases 1, 2, or 3 and during a full EAP-
IKEv2 protocol run (see Figure 1), the initiator receives, in message
4, an SK{IDr} payload that decrypts to an EAP-IKEv2 responder
identifier IDr*, then the server MUST continue the protocol as usual
(note that such a payload would not be required in these use cases).
The server MUST compare IDr* with the IDr received in message 6 and,
in case of a mismatch, MUST respond with an authentication failure
notification, i.e., a message conforming to message 6 in Figure 10.
If no mismatch is detected, normal processing applies.
Other errors do not trigger messages with Notification payloads to be
sent, and MUST be treated as if nothing happened (i.e., the erroneous
EAP-IKEv2 packet MUST be silently discarded). This includes
situations where at least one of the following conditions is met,
with respect to an incoming EAP-IKEv2 packet.
o The packet contains an Encrypted payload that, when decrypted with
the appropriate key, yields an invalid decryption.
o The packet contains an Encrypted payload with a Checksum field
that does not verify with the appropriate key.
o The packet contains an Integrity Checksum Data field (see *Figure
4) that is incorrect.
o The packet does not contain a compulsory field.
o A field in the packet contains an invalid value (e.g., an invalid
combination of flags, a length field that is inconsistent with the
real length of the field or packet, or the responder's choice of a
cryptographic algorithm is different to NONE and any of those that
were offered by the initiator).
o The packet contains an invalid combination of fields (e.g., it
contains two or more Notify payloads with the same Notify Message
Type value, or two or more Transform substructures with the same
Transform Type and Transform ID value).
o The packet causes a defragmentation error.
o The format of the packet is invalid.
Tschofenig, et al. Experimental [Page 15]
^L
RFC 5106 EAP-IKEv2 Method February 2008
o The identity provided by the EAP peer in the EAP-Response/Identity
cannot be associated with either an established security context
(in case of a fast reconnect) or with a real user account (in case
of a full protocol exchange). In that case, the packet is
silently discarded. With an outstanding message from the EAP
server, the client may either retransmit the previous request or,
in case of a fast reconnect, assume that state information was
deleted (e.g., due to garbage collection) at the EAP server and
fall back to a previously used FRID or to the full protocol
exchange.
If an incoming packet contains an error for which a behaviour is
specified in this section, and an error that, in the absence of the
former error, would cause the packet to be silently discarded, then
the packet MUST be silently discarded.
8. Specification of Protocol Fields
In this section, the format of the EAP-IKEv2 data fields and
applicable processing rules are specified. Figure 4 shows the
general packet format of EAP-IKEv2 messages, and the embedding of
EAP-IKEv2 into EAP. The EAP-IKEv2 messages are embedded in the Data
field of the standard EAP Request/Response packets. The Code,
Identifier, Length, and Type fields are described in [2]. The EAP
Type for this EAP method is 49.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Flags | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Length | HDR + payloads ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Integrity Checksum Data |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: General Packet Format of EAP-IKEv2
The Flags field is always present and is used for fragmentation
support, as described in Section 8.1. The Message Length field is
not always present; its presence is determined by a certain flag in
the Flags field, as described in Section 8.1. The field denoted as
"HDR + payloads" in Figure 4 contains the EAP-IKEv2 header (see
Section 8.2), followed by the number of payloads, in accordance with
the composition of EAP-IKEv2 messages, as described in the previous
Tschofenig, et al. Experimental [Page 16]
^L
RFC 5106 EAP-IKEv2 Method February 2008
sections. Note that each payload begins with a generic payload
header that is specified in Section 3.2 of [1].
The Integrity Checksum Data field is not always present; its presence
is determined by a certain flag in the Flags field, as described in
Section 8.1.
In the remainder of this section, the protocol fields that are used
in EAP-IKEv2 are specified. This specification heavily relies on the
IKEv2 specification [1], and many fields are constructed, formatted,
and processed in way that is almost identical to that in IKEv2.
However, certain deviations from standard IKEv2 formatting and
processing exist. These deviations are highlighted in the remainder
of this section.
8.1. The Flags, Message Length, and Integrity Checksum Data Fields
This section describes EAP-IKEv2 fragmentation, and specifies the
encoding and processing rules for the Flags, Message Length, and
Integrity Checksum Data field shown in Figure 4.
Fragmentation support in EAP-IKEv2 is provided by the Flags and
Message Length fields shown in Figure 4. These are encoded and used
as follows:
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|L M I 0 0 0 0 0|
+-+-+-+-+-+-+-+-+
L = Length included
M = More fragments
I = Integrity Checksum Data included
Figure 5: Flags Field
The Flags field is defined in Figure 5. Only the first three bits
(0-2) are used; all remaining bits MUST be set to zero and ignored on
receipt. The L flag indicates the presence of a Message Length
field, and the M flag indicates whether or not the current EAP
message has more fragments. In particular, if the L bit is set, then
a Message Length field MUST be present in the EAP message, as shown
in Figure 4. The Message Length field is four octets long and
contains the length of the entire message (i.e., the length of the
EAP Data field.). Note that, in contrast, the Length field shown in
Figure 4 contains the length of only the current fragment. (Note
that there exist two fields that are related to length: the Length
Tschofenig, et al. Experimental [Page 17]
^L
RFC 5106 EAP-IKEv2 Method February 2008
field, which is a generic EAP field, and the Message Length field,
which is an EAP-IKEv2-specific field.) If the L bit is not set, then
the Message Length field MUST NOT be present.
The M flag MUST be set on all fragments except the last one. In the
last fragment, the M flag MUST NOT be set. Reliable fragment
delivery is provided by the retransmission mechanism of EAP as
described below.
When an EAP-IKEv2 peer receives an EAP-Request packet with the M bit
set, it MUST respond with an EAP-Response with EAP-Type=EAP-IKEv2 and
no data. This serves as a fragment ACK. The EAP server MUST wait
until it receives the EAP-Response before sending another fragment.
In order to prevent errors in processing of fragments, the EAP server
MUST increment the Identifier field for each fragment contained
within an EAP-Request, and the peer MUST include this Identifier
value in the fragment ACK contained within the EAP-Response.
Retransmitted fragments will contain the same Identifier value.
Similarly, when the EAP server receives an EAP-Response with the M
bit set, it MUST respond with an EAP-Request with EAP-Type=EAP-IKEv2
and no data. This serves as a fragment ACK. The EAP peer MUST wait
until it receives the EAP-Request before sending another fragment.
In order to prevent errors in the processing of fragments, the EAP
server MUST increment the Identifier value for each fragment ACK
contained within an EAP-Request, and the peer MUST include this
Identifier value in the subsequent fragment contained within an EAP-
Response.
The Integrity Checksum Data field contains a cryptographic checksum
that covers the entire EAP message, starting with the Code field, and
ending at the end of the EAP Data field. This field, shown in Figure
4, is present only if the I bit is set in the Flags field. The
Integrity Checksum Data field immediately follows the EAP Data field
without padding.
Whenever possible, the Integrity Checksum Data field MUST be present
(and the I bit set) for each fragment, including the case where the
entire EAP-IKEv2 message is carried in a single fragment. The
algorithm and keys that are used to compute the Integrity Checksum
Data field MUST be identical to those used to compute the Integrity
Checksum Data field of the Encrypted Payload (see Section 8.9). That
is, the algorithm and keys that were negotiated and established
during this EAP-IKEv2 protocol run are used. Note that this means
that different keys are used to compute the Integrity Checksum Data
field in each direction. Also note that, for messages where this
Tschofenig, et al. Experimental [Page 18]
^L
RFC 5106 EAP-IKEv2 Method February 2008
algorithm and the keys are not yet established, the Integrity
Checksum Data field cannot be computed and is therefore not included.
This applies, for example, to messages 3 and 4 in Figure 1.
In order to minimize the exposure to denial-of-service attacks on
fragmented packets, messages that are not protected with an Integrity
Checksum Data field SHOULD NOT be fragmented. Note, however, that
those packets are not likely to be fragmented anyway since they do
not carry certificates.
8.2. EAP-IKEv2 Header
The EAP-IKEv2 header, denoted HDR in this specification, is
constructed and formatted according to the rules specified in Section
3.1 of [1].
In the first EAP-IKEv2 message that is sent by the initiator (message
3 in Figure 1), the IKE_SA Responder's SPI field is set to zero.
This is because, at this point in time, the initiator does not know
what SPI value the responder will choose for this protocol run. In
all other messages, both SPI fields MUST contain non-zero values that
reflect the initiator- and responder-chosen SPI values.
In accordance with [1], for this version of EAP-IKEv2, the MjVer
(major version) and MnVer (minor version) fields in the header MUST
be 2 and 0 respectively. The value of the Exchange Type field MUST
be set to 34 (IKE_SA_INIT) in messages 3 and 4, and to 35
(IKE_SA_AUTH) in messages 5 and 6 in Figure 1. In messages 3 and 4
in Figure 2, this value MUST be set to 36 (CREATE_CHILD_SA).
The Flags field of the EAP-IKEv2 header is also constructed according
to Section 3.1 of [1]. Note that this is not the same field as the
Flags field shown in Figure 4.
The Message ID field is constructed as follows. Messages 3 and 4 in
a full protocol run MUST carry Message ID value 0. Messages 5 and 6
in a full protocol run (see Figure 1) MUST carry Message ID value 1.
Messages 3 and 4 in a fast reconnect protocol run MUST carry Message
ID value 2.
8.3. Security Association Payload
The SA payload is used for the negotiation of cryptographic
algorithms between the initiator and the responder. The rules for
its construction adhere to [1]; in particular, Sections 2.7 and 3.3.
In EAP-IKEv2, all Proposal Substructures in the SA payload MUST carry
Protocol ID value 1 (IKE).
Tschofenig, et al. Experimental [Page 19]
^L
RFC 5106 EAP-IKEv2 Method February 2008
8.4. Key Exchange Payload
The Key Exchange payload, denoted KEi if constructed by the initiator
and KEr if constructed by the responder, is formatted according to
the rules specified in Section 3.4 of [1].
8.5. Nonce Payload
The Nonce payload, denoted Ni if constructed by the initiator and Nr
if constructed by the responder, is constructed and formatted
according to the rules specified in Section 3.9 of [1].
8.6. Identification Payload
The Identification payload, denoted IDi if it contains an identifier
for the initiator and IDr if it contains an identifier for the
responder, is constructed and formatted according to the rules
specified in Section 3.5 of [1].
8.7. Certificate Payload
The Certificate payload, denoted CERT, is constructed and formatted
according to the rules specified in Section 3.6 of [1]. Note that
certain certificate encodings for the EAP server certificate, e.g.,
those that need to be resolved via another network protocol, cannot
be used in some typical EAP-IKEv2 deployment scenarios. A user, for
example, that authenticates himself by means of EAP-IKEv2 in order to
obtain network access, cannot resolve the server certificate at the
time of EAP-IKEv2 protocol execution.
8.8. Certificate Request Payload
The Certificate Request payload, denoted CERTREQ, is constructed and
formatted according to the rules specified in Section 3.7 of [1].
8.9. Encrypted Payload
The Encrypted payload, denoted SK{...}, is constructed and formatted
according to the rules specified in Section 3.14 of [1].
8.10. Authentication Payload
The Authentication payload, denoted AUTH, is constructed and
formatted according to the rules specified in Sections 2.15 and 3.8
of [1].
The contents of the Authentication payload depend on which party
generates this field, the use case, and the algorithm that
Tschofenig, et al. Experimental [Page 20]
^L
RFC 5106 EAP-IKEv2 Method February 2008
corresponds to the credential (asymmetric key, symmetric key, or
password) that this party uses to authenticate itself. The
Authentication payload contains either a MAC or a signature.
If the party that generates the Authentication payload authenticates
itself based on a shared secret (i.e., a password or a symmetric
key), then the Authentication payload MUST contain a MAC. This MAC
is calculated using a key that is derived from the shared secret,
according to Section 2.15 of [1]. According to that section, the
shared secret is padded with the string "Key Pad for IKEv2" as part
of this key derivation. For the EAP-IKEv2 method, this rule is
overridden, in that the padding string is redefined as "Key Pad for
EAP-IKEv2". The latter padding string MUST be used for the
derivation of the MAC key from a shared secret in the context of EAP-
IKEv2. This is done in order to avoid the same MAC key to be used
for both IKEv2 and EAP-IKEv2 in scenarios where the same shared
secret is used for both. Note that using a shared secret (e.g., a
password) in the context EAP-IKEv2 that is identical or similar to a
shared secret that is used in another context (including IKEv2) is
nevertheless NOT RECOMMENDED.
8.11. Notify Payload
The Notify payload, denoted N(...), is constructed and formatted
according to the rules specified in Section 3.10 of [1]. The
Protocol ID field of this payload MUST be set to 1 (IKE_SA).
8.12. Next Fast-ID Payload
The Next Fast-ID Payload is defined as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! Next Payload !C! RESERVED ! Payload Length !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
! !
~ Fast-Reconnect-ID (FRID) ~
! !
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: NFID Payload Format
The Next Fast-ID payload, denoted NFID, does not have an equivalent
in IKEv2. Nevertheless, the Next Payload, C, RESERVED, and Payload
Length fields of this payload are constructed according to Section
3.2 of [1]. The payload ID is registered in Section 11. The Fast-
Reconnect-ID field contains a fast reconnect identifier that the peer
Tschofenig, et al. Experimental [Page 21]
^L
RFC 5106 EAP-IKEv2 Method February 2008
can use in the next fast reconnect protocol run, as described in
Section 4. In environments where a realm portion is required, Fast-
Reconnect-ID includes both a username portion and a realm name
portion. The Fast-Reconnect-ID MUST NOT include any terminating null
characters. The encoding of the Fast-Reconnect-ID field MUST follow
the NAI format [4].
9. Payload Types and Extensibility
In EAP-IKEv2, each payload is identified by means of a type field,
which, as specified in [1], is indicated in the "Next Payload" field
of the preceding payload. However, the identifier space from which
EAP-IKEv2 payload types are drawn is independent from the payload
type space of IKEv2. This is because EAP-IKEv2 and IKEv2 may evolve
in a different way and, as such, payload types that appear in one
protocol do not necessary appear in the other. An example of this is
the "Next Fast-ID" (NFID) payload, which does not exist in IKEv2.
The values for the payload types defined in this document are listed
in Section 11. Payload type values 13-127 are reserved to IANA for
future assignment in EAP-IKEv2. Payload type values 128-255 are for
private use among mutually consenting parties.
10. Security Considerations
As mentioned in Section 3, in EAP-IKEv2, the EAP server always
assumes the role of the initiator (I), and the EAP peer takes on the
role of the responder (R) of an exchange. This is in order to ensure
that, in scenarios where the peer authenticates itself based on a
password (i.e., in use case 3), operations that involve this password
only take place after the server has been successfully authenticated.
In other words, this assignment of initiator and responder roles
results in protection against offline dictionary attacks on the
password that is used by the peer to authenticate itself (see Section
10.7).
In order for two EAP-IKEv2 implementations to be interoperable, they
must support at least one common set of cryptographic algorithms. In
order to promote interoperability, EAP-IKEv2 implementations MUST
support the following algorithms based on the "MUST/MUST-"
recommendations given in [5]:
Diffie-Hellman Groups: 1024 MODP Group
IKEv2 Transform Type 1 Algorithms: ENCR_3DES
IKEv2 Transform Type 2 Algorithms: PRF_HMAC_SHA1
IKEv2 Transform Type 3 Algorithms: AUTH_HMAC_SHA1_96
All other options of [5] MAY be implemented.
Tschofenig, et al. Experimental [Page 22]
^L
RFC 5106 EAP-IKEv2 Method February 2008
The remainder of this section describes EAP-IKEv2 in terms of
specific security terminology as required by [2]. The discussion
makes reference to the use cases defined in Section 1.
10.1. Protected Ciphersuite Negotiation
In message 3, the EAP server provides the set of ciphersuites it is
willing to accept in an EAP-IKEv2 protocol run. Hence, the server is
in control of the ciphersuite. An EAP peer that does not support any
of the indicated ciphersuites is not able to authenticate. The local
security policy of the peer MUST specify the set of ciphersuites that
the peer accepts. The server MUST verify that the ciphersuite that
is indicated as being chosen by the peer in message 4, belongs to the
set of ciphersuites that were offered in message 3. If this
verification fails, the server MUST silently discard the packet.
10.2. Mutual Authentication
EAP-IKEv2 supports mutual authentication.
10.3. Integrity Protection
EAP-IKEv2 provides integrity protection of EAP-IKEv2 traffic. This
protection is offered after authentication is completed and it is
facilitated by inclusion of two Integrity Checksum Data fields: one
at the end of the EAP packet (see Figure 4), and one as part of an
Encrypted payload (see Section 8.9).
10.4. Replay Protection
EAP-IKEv2 provides protection against replay attacks by a variety of
means. This includes the requirement that the Authentication payload
is computed as a function of, among other things, a server-provided
nonce and a peer-provided nonce. These nonces are required to be
practically unpredictable by an adversary. Assuming that the
algorithm that is used to compute the Authentication payload does not
contain cryptographic weaknesses, the probability that an
Authentication payload that is valid in a particular protocol run
will also be valid in a subsequent run is therefore negligible.
10.5. Confidentiality
EAP-IKEv2 provides confidentiality of certain EAP-IKEv2 fields,
namely those included in Encrypted payloads. With respect to
identity confidentiality, the following claims are made. Note that
identity confidentiality refers to the EAP-IKEv2 identity of the EAP
peer.
Tschofenig, et al. Experimental [Page 23]
^L
RFC 5106 EAP-IKEv2 Method February 2008
Identity confidentiality is provided in the face of a passive
adversary, i.e., an adversary that does not modify traffic as it is
in transit. Whenever the optional SK{IDr} payload in message 4 of a
full EAP-IKEv2 protocol (see Figure 1) is not included, identity
confidentiality is also provided in the face of an active adversary.
This payload MUST NOT be included in use cases 1, 2, and 3. In use
case 4, this payload MUST be included. Therefore, in use case 4,
EAP- IKEv2 does not provide identity confidentiality in the face of
an active adversary.
Note, however, that the EAP peer provides its identity in message 2
in Figure 1 in cleartext. In order to provide identity
confidentiality as discussed in the previous paragraphs, it is
necessary to obfuscate the username part of the identity (the realm
part must stay intact to allow correct message routing by the
Authentication, Authorization, and Accounting (AAA) infrastructure).
The EAP server then uses the identity information in message 4. The
same mechanism is also used by other EAP methods to provide identity
confidentiality, for example, EAP-TTLS [8].
10.6. Key Strength
EAP-IKEv2 supports the establishment of session keys (MSK and EMSK)
of a variety of key strengths, with the theoretical maximum at 512
bits per key (since this is the size of the MSK and the EMSK).
However, in practice, the effective key strength is likely to be
significantly lower, and depends on the authentication credentials
used, the negotiated ciphersuite (including the output size of the
pseudorandom function), the Diffie-Hellman group used, and on the
extent to which the assumptions on which the underlying cryptographic
algorithms depend really hold. Of the above mechanisms, the one that
offers the lowest key strength can be regarded as a measure of the
effective key strength of the resulting session keys. Note that this
holds for other EAP methods, too.
Due to the large variety of possible combinations, no indication of a
practical effective key strength for MSK or EMSK is given here.
However, those responsible for the deployment of EAP-IKEv2 in a
particular environment should consider the threats this environment
may be exposed to, and configure the EAP-IKEv2 server and peer
policies and authentication credentials such that the established
session keys are of a sufficiently high effective key strength.
10.7. Dictionary Attack Resistance
EAP-IKEv2 can be used in a variety of use cases, as explained in
Section 1. In some of these uses cases, namely use case 1, 2, and 4,
dictionary attacks cannot be launched since no passwords are used.
Tschofenig, et al. Experimental [Page 24]
^L
RFC 5106 EAP-IKEv2 Method February 2008
In use case 3, EAP-IKEv2 provides protection against offline
dictionary attacks, since operations that involve the password are
executed only after the server has authenticated itself (based on a
credential other than a password).
In order to reduce exposure against online dictionary attacks, in use
case 3, the server SHOULD provide the capability to log failed peer
authentication events, and SHOULD implement a suitable policy in case
of consecutive failed peer authentication attempts within a short
period of time (such as responding with an EAP-Failure instead of
message 5 for a predetermined amount of time).
When passwords are used with method 4 (instead of using a key with
high entropy), dictionary attacks are possible, as described in
Section 8 of [1]:
"When using pre-shared keys, a critical consideration is how to
assure the randomness of these secrets. The strongest practice is
to ensure that any pre-shared key contain as much randomness as
the strongest key being negotiated. Deriving a shared secret from
a password, name, or other low-entropy source is not secure.
These sources are subject to dictionary and social engineering
attacks, among others."
Hence, the usage of passwords with mode 4 where the EAP peer and the
EAP server rely on a shared secret that was derived from a password
is insecure. It is strongly recommended to use mode 3 when passwords
are used by the EAP peer.
10.8. Fast Reconnect
EAP-IKEv2 supports a "fast reconnect" mode of operation, as described
in Section 4.
10.9. Cryptographic Binding
EAP-IKEv2 is not a tunnel EAP method. Thus, cryptographic binding
does not apply to EAP-IKEv2.
10.10. Session Independence
EAP-IKEv2 provides session independence in a number of ways, as
follows:
Firstly, knowledge of captured EAP-IKEv2 conversations (i.e., the
information that a passive adversary may obtain) does not enable the
adversary to compute the Master Session Key (MSK) and Extended Master
Session Key (EMSK) that resulted from these conversations. This
Tschofenig, et al. Experimental [Page 25]
^L
RFC 5106 EAP-IKEv2 Method February 2008
holds even in the case where the adversary later obtains access to
the server and/or the peer's long-term authentication credentials
that were used in these conversations. That is, EAP-IKEv2 provides
support for "perfect forward secrecy". However, whether or not this
support is made use of in a particular EAP-IKEv2 protocol run,
depends on when the peer and the server delete the Diffie-Hellman
values that they used in that run, and on whether or not they use
fresh Diffie-Hellman values in each protocol run. The discussion in
Section 2.12 of [1] applies.
Secondly, an active adversary that does not know the peer's and
server's long-term authentication credentials cannot learn the MSK
and EMSK that were established in a particular protocol run of EAP-
IKEv2, even if it obtains access to the MSK and EMSK that were
established in other protocol runs of EAP-IKEv2. This is because the
MSK and the EMSK are a function of, among other things, data items
that are assumed to be generated independently at random in each
protocol run.
10.11. Fragmentation
EAP-IKEv2 provides support for fragmentation, as described in Section
8.1.
10.12. Channel Binding
Channel binding is not supported in EAP-IKEv2.
10.13. Summary
EAP security claims are defined in Section 7.2.1 of [2]. The
security claims for EAP-IKEv2 are as follows:
Ciphersuite negotiation: Yes
Mutual authentication: Yes
Integrity protection: Yes
Replay protection: Yes
Confidentiality: Yes
Key derivation: Yes; see Section 5
Key strength: Variable
Dictionary attack prot.: Yes; see Section 10.7
Fast reconnect: Yes; see Section 4
Crypt. binding: N/A
Session independence: Yes; see Section 10.10
Fragmentation: Yes; see Section 10.11
Channel binding: No
Tschofenig, et al. Experimental [Page 26]
^L
RFC 5106 EAP-IKEv2 Method February 2008
11. IANA Considerations
IANA has allocated value 49 for the EAP method type indicating EAP-
IKEv2. EAP-IKEv2 has already earlier successfully passed Designated
Expert Review as mandated by RFC 3748 for IANA allocations.
In addition, IANA has created a new registry for "EAP-IKEv2
Payloads", and populated it with the following initial entries listed
below.
The following payload type values are used by this document.
Next Payload Type | Value
----------------------------------+----------------------------------
No Next payload | 0
Security Association payload | 33
Key Exchange payload | 34
Identification payload |
(when sent by initiator, IDi) | 35
Identification payload |
(when sent by responder, IDr) | 36
Certificate payload | 37
Certificate Request payload | 38
Authentication payload | 39
Nonce payload | 40
Notification payload | 41
Vendor ID payload | 43
Encrypted payload | 46
Next Fast-ID payload | 121
RESERVED TO IANA | 1-32, 42, 44-45, 47-120, 122-127
PRIVATE USE | 128-255
Payload type values 1-120 match the corresponding payloads in the
IKEv2 IANA registry. That is, the EAP-IKEv2 payloads that have been
assigned a type value in the range 1-120 have a semantically
equivalent payload type in IKEv2, with an identical payload type
value. However, there exist payloads types in IKEv2 that do not have
a semantically equivalent payload in EAP-IKEv2; this explains the
fact that the payload type values 42, 44, and 45 have not been
assigned in EAP-IKEv2; these values remain RESERVED TO IANA for this
version of EAP-IKEv2.
Payload type values 121-127 are used for EAP-IKEv2 specific payloads,
i.e., for payloads that do not have a semantically equivalent payload
in IKEv2. Note that this range has been reserved for this purpose in
the IKEv2 IANA registry too. This means that the same payload type
values will not be used for different things in IKEv2 and EAP-IKEv2
protocols.
Tschofenig, et al. Experimental [Page 27]
^L
RFC 5106 EAP-IKEv2 Method February 2008
Payload type values 122-127 are reserved to IANA for future
assignment to EAP-IKEv2-specific payloads. Payload type values
128-255 are for private use among mutually consenting parties.
The semantics of the above-listed payloads is provided in this
document (0-127) and refer to IKEv2 when necessary (1-120).
New payload type values with a description of their semantic will be
assigned after Expert Review. The expert is chosen by the IESG in
consultation with the Security Area Directors and the EMU working
group chairs (or the working group chairs of a designated successor
working group). Updates can be provided based on expert approval
only. A designated expert will be appointed by the Security Area
Directors. Based on expert approval it is possible to delete entries
from the registry or to mark entries as "deprecated".
Each registration must include the payload type value and the
semantic of the payload.
12. Contributors
The authors are grateful to Krzysztof Rzecki, Rafal Mijal, Piotr
Marnik, and Pawel Matejski, who, during their implementation of EAP-
IKEv2 (see http://eap-ikev2.sourceforge.net/), provided invaluable
feedback and identified a number of errors in previous versions of
this document.
13. Acknowledgements
The authors also thank Pasi Eronen for his invaluable comments as
expert reviewer assigned by the EAP working group chairs Jari Arkko
and Bernard Aboba. The authors would also like to thank Guenther
Horn, Thomas Otto, Paulo Pagliusi, and John Vollbrecht for their
insightful comments and suggestions. The members of the PANA design
team; in particular, D. Forsberg and A. Yegin, also provided comments
on the initial version of this document. We would like to thank Hugo
Krawczyk for his feedback regarding the usage of the password-based
authentication.
The authors are grateful to the members of the EAP keying design team
for their discussion in the area of the EAP Key Management Framework.
We would like to thank Jari Arkko for his support and for his
comments. Finally, we would like to thank Charlie Kaufman, Bernard
Aboba, and Paul Hoffman for their comments during IETF Last Call.
Tschofenig, et al. Experimental [Page 28]
^L
RFC 5106 EAP-IKEv2 Method February 2008
14. References
14.1. Normative References
[1] Kaufman, C., Ed., "Internet Key Exchange (IKEv2) Protocol", RFC
4306, December 2005.
[2] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
Levkowetz, Ed., "Extensible Authentication Protocol (EAP)", RFC
3748, June 2004.
[3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, March 1997.
[4] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The Network
Access Identifier", RFC 4282, December 2005.
[5] Schiller, J., "Cryptographic Algorithms for Use in the Internet
Key Exchange Version 2 (IKEv2)", RFC 4307, December 2005.
14.2. Informative References
[6] Aboba, B. and D. Simon, "PPP EAP TLS Authentication Protocol",
RFC 2716, October 1999.
[7] Aboba, B., "Extensible Authentication Protocol (EAP) Key
Management Framework", Work in Progress, February 2007.
[8] Funk, P. and S. Blake-Wilson, "EAP Tunneled TLS Authentication
Protocol (EAP-TTLS)", Work in Progress, July 2004.
Tschofenig, et al. Experimental [Page 29]
^L
RFC 5106 EAP-IKEv2 Method February 2008
Appendix A. EAP-IKEv2 Protocol Runs with Failed Authentication
This appendix illustrates how authentication failures are handled
within EAP-IKEv2. Note that authentication failures only occur in
full EAP-IKEv2 protocol runs.
Figure 10 shows the message flow in case the EAP peer fails to
authenticate the EAP server.
1. R<-I: EAP-Request/Identity
2. R->I: EAP-Response/Identity(Id)
3. R<-I: EAP-Req (HDR, SAi1, KEi, Ni)
4. R->I: EAP-Res (HDR, SAr1, KEr, Nr, [CERTREQ], [SK{IDr}])
5. R<-I: EAP-Req (HDR, SK {IDi, [CERT], [CERTREQ], [IDr], AUTH})
6. R->I: EAP-Res(HDR, SK {N(AUTHENTICATION_FAILED)})
7. R<-I: EAP-Failure
Figure 10: EAP-IKEv2 with Failed Server Authentication
The difference in the full successful exchange described in Section 3
is that, in message 6, the EAP peer MUST answer the EAP server with
an Encrypted payload that contains a Notify payload with the Notify
Message Type value set to 24 (AUTHENTICATION_FAILED). In that
message, the Message ID field in the EAP-IKEv2 header (HDR) MUST
carry Message ID value 2. In message 7, an EAP-Failure message MUST
be returned by the EAP server.
Tschofenig, et al. Experimental [Page 30]
^L
RFC 5106 EAP-IKEv2 Method February 2008
Figure 11 shows the message flow in case the EAP server fails to
authenticate the EAP peer.
1. R<-I: EAP-Request/Identity
2. R->I: EAP-Response/Identity(Id)
3. R<-I: EAP-Req (HDR, SAi1, KEi, Ni)
4. R->I: EAP-Res (HDR, SAr1, KEr, Nr, [CERTREQ], [SK{IDr}])
5. R<-I: EAP-Req (HDR, SK {IDi, [CERT], [CERTREQ], AUTH})
6. R->I: EAP-Res (HDR, SK {IDr, [CERT], AUTH})
7. R<-I: EAP-Req (HDR, SK {N(AUTHENTICATION_FAILED)})
8. R->I: EAP-Res (HDR, SK {})
9. R<-I: EAP-Failure
Figure 11: EAP-IKEv2 with Failed Peer Authentication
Compared to the full successful exchange, one additional roundtrip is
required. In message 7, the EAP server MUST send an EAP request with
Encrypted payload that contains a Notify payload with the Notify
Message Type value set to 24 (AUTHENTICATION_FAILED), instead of
sending an EAP-Success message. The EAP peer, upon receiving message
7, MUST send an empty EAP-IKEv2 (informational) message in reply to
the EAP server's error indication, as shown in message 8. In
messages 7 and 8, the Message ID field in the EAP-IKEv2 header (HDR)
MUST carry Message ID value 2. Finally, by means of message 9, the
EAP server answers with an EAP-Failure.
Tschofenig, et al. Experimental [Page 31]
^L
RFC 5106 EAP-IKEv2 Method February 2008
Authors' Addresses
Hannes Tschofenig
Nokia Siemens Networks
Otto-Hahn-Ring 6
Munich, Bavaria 81739
Germany
EMail: Hannes.Tschofenig@nsn.com
URI: http://www.tschofenig.com
Dirk Kroeselberg
Nokia Siemens Networks
Otto-Hahn-Ring 6
Munich, Bavaria 81739
Germany
EMail: Dirk.Kroeselberg@nsn.com
Andreas Pashalidis
NEC
Kurfuersten-Anlage 36
Heidelberg 69115
Germany
EMail: pashalidis@nw.neclab.eu
Yoshihiro Ohba
Toshiba America Research, Inc.
1 Telcordia Drive
Piscataway, NJ 08854
USA
EMail: yohba@tari.toshiba.com
Florent Bersani
France Telecom R&D
38, rue du General Leclerc
Issy-Les-Moulineaux, Cedex 92794
France
EMail: florent.ftrd@gmail.com
Tschofenig, et al. Experimental [Page 32]
^L
RFC 5106 EAP-IKEv2 Method February 2008
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Tschofenig, et al. Experimental [Page 33]
^L
|