summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc5265.txt
blob: 9f72486a0b3f4b900aa4d25fc6f18e6157fea39c (plain) (blame)
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
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
Network Working Group                                         S. Vaarala
Request for Comments: 5265                                       Codebay
Category: Standards Track                                    E. Klovning
                                                                Birdstep
                                                               June 2008


         Mobile IPv4 Traversal across IPsec-Based VPN Gateways

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   This document outlines a solution for the Mobile IPv4 (MIPv4) and
   IPsec coexistence problem for enterprise users.  The solution
   consists of an applicability statement for using Mobile IPv4 and
   IPsec for session mobility in corporate remote access scenarios, and
   a required mechanism for detecting the trusted internal network
   securely.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Scope  . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     1.3.  Related Work . . . . . . . . . . . . . . . . . . . . . . .  5
     1.4.  Terms and Abbreviations  . . . . . . . . . . . . . . . . .  5
     1.5.  Requirement Levels . . . . . . . . . . . . . . . . . . . .  6
     1.6.  Assumptions and Rationale  . . . . . . . . . . . . . . . .  7
     1.7.  Why IPsec Lacks Mobility . . . . . . . . . . . . . . . . .  8
   2.  The Network Environment  . . . . . . . . . . . . . . . . . . .  9
     2.1.  Access Mode: 'c' . . . . . . . . . . . . . . . . . . . . . 12
     2.2.  Access Mode: 'f' . . . . . . . . . . . . . . . . . . . . . 13
     2.3.  Access Mode: 'cvc' . . . . . . . . . . . . . . . . . . . . 13
     2.4.  Access Mode: 'fvc' . . . . . . . . . . . . . . . . . . . . 14
     2.5.  NAT Traversal  . . . . . . . . . . . . . . . . . . . . . . 14
   3.  Internal Network Detection . . . . . . . . . . . . . . . . . . 15
     3.1.  Assumptions  . . . . . . . . . . . . . . . . . . . . . . . 16
     3.2.  Implementation Requirements  . . . . . . . . . . . . . . . 16
       3.2.1.  Separate Tracking of Network Interfaces  . . . . . . . 16
       3.2.2.  Connection Status Change . . . . . . . . . . . . . . . 16
       3.2.3.  Registration-Based Internal Network Detection  . . . . 17



Vaarala & Klovning          Standards Track                     [Page 1]
^L
RFC 5265                       MIPv4-VPN                       June 2008


       3.2.4.  Registration-Based Internal Network Monitoring . . . . 17
     3.3.  Proposed Algorithm . . . . . . . . . . . . . . . . . . . . 19
     3.4.  Trusted Networks Configured (TNC) Extension  . . . . . . . 20
     3.5.  Implementation Issues  . . . . . . . . . . . . . . . . . . 20
     3.6.  Rationale for Design Choices . . . . . . . . . . . . . . . 21
       3.6.1.  Firewall Configuration Requirements  . . . . . . . . . 21
       3.6.2.  Registration-Based Internal Network Monitoring . . . . 22
       3.6.3.  No Encryption When Inside  . . . . . . . . . . . . . . 22
     3.7.  Improvements . . . . . . . . . . . . . . . . . . . . . . . 22
   4.  Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 23
     4.1.  Mobile Node Requirements . . . . . . . . . . . . . . . . . 23
     4.2.  VPN Device Requirements  . . . . . . . . . . . . . . . . . 23
     4.3.  Home Agent Requirements  . . . . . . . . . . . . . . . . . 24
   5.  Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
     5.1.  Comparison against Guidelines  . . . . . . . . . . . . . . 24
     5.2.  Packet Overhead  . . . . . . . . . . . . . . . . . . . . . 26
     5.3.  Latency Considerations . . . . . . . . . . . . . . . . . . 27
     5.4.  Firewall State Considerations  . . . . . . . . . . . . . . 27
     5.5.  Intrusion Detection Systems (IDSs) . . . . . . . . . . . . 28
     5.6.  Implementation of the Mobile Node  . . . . . . . . . . . . 28
     5.7.  Non-IPsec VPN Protocols  . . . . . . . . . . . . . . . . . 28
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 29
     6.1.  Internal Network Detection . . . . . . . . . . . . . . . . 29
     6.2.  Mobile IPv4 versus IPsec . . . . . . . . . . . . . . . . . 30
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 31
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 31
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 32
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 32
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 33
   Appendix A.  Packet Flow Examples  . . . . . . . . . . . . . . . . 34
     A.1.  Connection Setup for Access Mode 'cvc' . . . . . . . . . . 34




















Vaarala & Klovning          Standards Track                     [Page 2]
^L
RFC 5265                       MIPv4-VPN                       June 2008


1.  Introduction

   The Mobile IP working group set out to explore the problem and
   solution spaces of IPsec and Mobile IP coexistence.  The problem
   statement and solution requirements for Mobile IPv4 case were first
   documented in [RFC4093].  This document outlines a solution for IPv4.

   The document contains two parts:

   o  a basic solution that is an applicability statement of Mobile IPv4
      and IPsec to provide session mobility between enterprise intranets
      and external networks, intended for enterprise mobile users; and

   o  a technical specification and a set of requirements for secure
      detection of the internal and the external networks, including a
      new extension that must be implemented by a mobile node and a home
      agent situated inside the enterprise network.

   There are many useful ways to combine Mobile IPv4 and IPsec.  The
   solution specified in this document is most applicable when the
   assumptions documented in the problem statement [RFC4093] are valid;
   among others that the solution:

   o  must minimize changes to existing firewall/VPN/DMZ (DeMilitarized
      Zone) deployments;

   o  must ensure that traffic is not routed through the DMZ when the
      mobile node is inside (to avoid scalability and management
      issues);

   o  must support foreign networks with only foreign agent access;

   o  should not require changes to existing IPsec or key exchange
      protocols;

   o  must comply with the Mobile IPv4 protocol (but may require new
      extensions or multiple instances of Mobile IPv4); and

   o  must propose a mechanism to avoid or minimize IPsec re-negotiation
      when the mobile node moves.

1.1.  Overview

   Typical corporate networks consist of three different domains: the
   Internet (untrusted external network), the intranet (trusted internal
   network), and the DMZ, which connects the two networks.  Access to
   the internal network is guarded both by a firewall and a VPN device;




Vaarala & Klovning          Standards Track                     [Page 3]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   access is only allowed if both firewall and VPN security policies are
   respected.

   Enterprise mobile users benefit from unrestricted seamless session
   mobility between subnets, regardless of whether the subnets are part
   of the internal or the external network.  Unfortunately, the current
   Mobile IPv4 and IPsec standards alone do not provide such a service
   [tessier].

   The solution is to use standard Mobile IPv4 (except for a new
   extension used by the home agent in the internal network to aid in
   network detection) when the mobile node is in the internal network,
   and to use the VPN tunnel endpoint address for the Mobile IPv4
   registration when outside.  IPsec-based VPN tunnels require re-
   negotiation after movement.  To overcome this limitation, another
   layer of Mobile IPv4 is used underneath IPsec, in effect making IPsec
   unaware of movement.  Thus, the mobile node can freely move in the
   external network without disrupting the VPN connection.

   Briefly, when outside, the mobile node:

   o  detects that it is outside (Section 3);

   o  registers its co-located or foreign agent care-of address with the
      external home agent;

   o  establishes a VPN tunnel using, e.g., Internet Key Exchange
      Protocol (IKE) (or IKEv2) if security associations are not already
      available;

   o  registers the VPN tunnel address as its co-located care-of address
      with the internal home agent; this registration request is sent
      inside the IPsec tunnel.

   The solution requires control over the protocol layers in the mobile
   node.  It must be capable of (1) detecting whether it is inside or
   outside in a secure fashion, and (2) controlling the protocol layers
   accordingly.  For instance, if the mobile node is inside, the IPsec
   layer needs to become dormant.

   Except for the new Mobile IPv4 extension to improve security of
   internal network detection, current Mobile IPv4 and IPsec standards,
   when used in a suitable combination, are sufficient to implement the
   solution.  No changes are required to existing VPN devices or foreign
   agents.

   The solution described is compatible with different kinds of IPsec-
   based VPNs, and no particular kind of VPN is required.  Because the



Vaarala & Klovning          Standards Track                     [Page 4]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   appropriate Security Policy Database (SPD) entries and other IKE and
   IPsec specifics differ between deployed IPsec-based VPN products,
   these details are not discussed in the document.

1.2.  Scope

   This document describes a solution for IPv4 only.  The downside of
   the described approach is that an external home agent is required and
   that the packet overhead (see Section 5) and overall complexity
   increase.  Optimizations would require significant changes to Mobile
   IPv4 and/or IPsec, and are out of scope of this document.

   VPN, in this document, refers to an IPsec-based remote access VPN.
   Other types of VPNs are out of scope.

1.3.  Related Work

   Related work has been done on Mobile IPv6 in [RFC3776], which
   discusses the interaction of IPsec and Mobile IPv6 in protecting
   Mobile IPv6 signaling.  The document also discusses dynamic updating
   of the IPsec endpoint based on Mobile IP signaling packets.

   The "transient pseudo-NAT" attack, described in [pseudonat] and
   [mipnat], affects any approach that attempts to provide security of
   mobility signaling in conjunction with NAT devices.  In many cases,
   one cannot assume any cooperation from NAT devices, which thus have
   to be treated as any other networking entity.

   The IKEv2 Mobility and Multihoming Protocol (MOBIKE) [RFC4555]
   provides better mobility for IPsec.  This would allow the external
   Mobile IPv4 layer described in this specification to be removed.
   However, deploying MOBIKE requires changes to VPN devices, and is
   thus out of scope of this specification.

1.4.  Terms and Abbreviations

   co-CoA:   co-located care-of address.

   DMZ:   (DeMilitarized Zone) a small network inserted as a "neutral
      zone" between a company's private network and the outside public
      network to prevent outside users from getting direct access to the
      company's private network.

   external network:   the untrusted network (i.e., Internet).  Note
      that a private network (e.g., another corporate network) other
      than the mobile node's internal network is considered an external
      network.




Vaarala & Klovning          Standards Track                     [Page 5]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   FA:   mobile IPv4 foreign agent.

   FA-CoA:   foreign agent care-of address.

   FW:   firewall.

   internal network:   the trusted network; for instance, a physically
      secure corporate network where the i-HA is located.

   i-FA:   Mobile IPv4 foreign agent residing in the internal network.

   i-HA:   Mobile IPv4 home agent residing in the internal network;
      typically has a private address [privaddr].

   i-HoA:   home address of the mobile node in the internal home agent.

   MN:   mobile node.

   NAI:   Network Access Identifier [RFC4282].

   R:   router.

   VPN:   Virtual Private Network based on IPsec.

   VPN-TIA:   VPN tunnel inner address, the address(es) negotiated
      during IKE phase 2 (quick mode), assigned manually, using IPsec-
      DHCP [RFC3456], using the "de facto" standard Internet Security
      Association and Key Management Protocol (ISAKMP) configuration
      mode, or by some other means.  Some VPN clients use their current
      care-of address as their Tunnel Inner Address (TIA) for
      architectural reasons.

   VPN tunnel:   an IPsec-based tunnel; for instance, IPsec tunnel mode
      IPsec connection, or Layer 2 Tunneling Protocol (L2TP) combined
      with IPsec transport connection.

   x-FA:   Mobile IPv4 foreign agent residing in the external network.

   x-HA:   Mobile IPv4 home agent residing in the external network.

   x-HoA:   home address of the mobile node in the external home agent.

1.5.  Requirement Levels

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC 2119
   [RFC2119].



Vaarala & Klovning          Standards Track                     [Page 6]
^L
RFC 5265                       MIPv4-VPN                       June 2008


1.6.  Assumptions and Rationale

   The solution is an attempt to solve the problem described in
   [RFC4093].  The major assumptions and their rationale is summarized
   below.

   Changes to existing firewall and VPN deployments should be minimized:

   o  The current deployment of firewalls and IPsec-based VPNs is much
      larger than corresponding Mobile IPv4 elements.  Thus, a solution
      should work within the existing VPN infrastructure.

   o  Current enterprise network deployments typically centralize
      management of security and network access into a compact DMZ.

   When the mobile node is inside, traffic should not go through the DMZ
   network:

   o  Routing all mobile node traffic through the DMZ is seen as a
      performance problem in existing deployments of firewalls.  The
      more sophisticated firewall technology is used (e.g., content
      scanning), the more serious the performance problem is.

   o  Current deployments of firewalls and DMZs in general have been
      optimized for the case where only a small minority of total
      enterprise traffic goes through the DMZ.  Furthermore, users of
      current VPN remote access solutions do not route their traffic
      through the DMZ when connected to an internal network.

   A home agent inside the enterprise cannot be reached directly from
   outside, even if the home agent contains IPsec functionality:

   o  Deployment of current combined IPsec/MIPv4 solutions are not
      common in large installations.

   o  Doing decryption in the home agents "deep inside" the enterprise
      effectively means having a security perimeter much larger than the
      typical, compact DMZ used by a majority of enterprises today.

   o  In order to maintain a security level equal to current firewall/
      DMZ deployments, every home agent decapsulating IPsec would need
      to do the same firewalling as the current DMZ firewalls (content
      scanning, connection tracking, etc.).








Vaarala & Klovning          Standards Track                     [Page 7]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   Traffic cannot be encrypted when the mobile node is inside:

   o  There is a considerable performance impact on home agents (which
      currently do rather light processing) and mobile nodes (especially
      for small devices).  Note that traffic throughput inside the
      enterprise is typically an order (or more) of magnitude larger
      than the remote access traffic through a VPN.

   o  Encryption consumes processing power and has a significant impact
      on device battery life.

   o  There is also a usability issue involved; the user needs to
      authenticate the connection to the IPsec layer in the home agent
      to gain access.  For interactive authentication mechanisms (e.g.,
      SecurID), this always means user interaction.

   o  Furthermore, if there is a separate VPN device in the DMZ for
      remote access, the user needs to authenticate to both devices, and
      might need to have separate credentials for both.

   o  Current Mobile IPv4 home agents do not typically incorporate IPsec
      functionality, which is relevant for the solution when we assume
      zero or minimal changes to existing Mobile IPv4 nodes.

   o  Note, however, that the assumption (no encryption when inside)
      does not necessarily apply to all solutions in the solution space;
      if the above mentioned problems were resolved, there is no
      fundamental reason why encryption could not be applied when
      inside.

1.7.  Why IPsec Lacks Mobility

   IPsec, as currently specified [RFC4301], requires that a new IKE
   negotiation be done whenever an IPsec peer moves, i.e., changes
   care-of address.  The main reason is that a security association is
   unidirectional and identified by a triplet consisting of (1) the
   destination address (which is the outer address when tunnel mode is
   used), (2) the security protocol (Encapsulating Security Payload
   (ESP) or Authentication Header (AH)), and (3) the Security Parameter
   Index (SPI) ([RFC4301], Section 4.1).  Although an implementation is
   not required to use all of these for its own Security Associations
   (SAs), an implementation cannot assume that a peer does not.

   When a mobile IPsec peer sends packets to a stationary IPsec peer,
   there is no problem; the SA is "owned" by the stationary IPsec peer,
   and therefore the destination address does not need to change.  The
   (outer) source address should be ignored by the stationary peer
   (although some implementations do check the source address as well).



Vaarala & Klovning          Standards Track                     [Page 8]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   The problem arises when packets are sent from the stationary peer to
   the mobile peer.  The destination address of this SA (SAs are
   unidirectional) is established during IKE negotiation, and is
   effectively the care-of address of the mobile peer at time of
   negotiation.  Therefore, the packets will be sent to the original
   care-of address, not a changed care-of address.

   The IPsec NAT traversal mechanism can also be used for limited
   mobility, but UDP tunneling needs to be used even when there is no
   NAT in the route between the mobile and the stationary peers.
   Furthermore, support for changes in current NAT mapping is not
   required by the NAT traversal specification [RFC3947].

   In summary, although the IPsec standard does not as such prevent
   mobility (in the sense of updating security associations on-the-fly),
   the standard does not include a built-in mechanism (explicit or
   implicit) for doing so.  Therefore, it is assumed throughout this
   document that any change in the addresses comprising the identity of
   an SA requires IKE re-negotiation, which implies too heavy
   computation and too large latency for useful mobility.

   The IKEv2 Mobility and Multihoming Protocol (MOBIKE) [RFC4555]
   provides better mobility for IPsec.  This would allow the external
   Mobile IPv4 layer described in this specification to be removed.
   However, deploying MOBIKE requires changes to VPN devices, and is
   thus out of scope of this specification.

2.  The Network Environment

   Enterprise users will access both the internal and external networks
   using different networking technologies.  In some networks, the MN
   will use FAs and in others it will anchor at the HA using co-located
   mode.  The following figure describes an example network topology
   illustrating the relationship between the internal and external
   networks, and the possible locations of the mobile node (i.e., (MN)).
















Vaarala & Klovning          Standards Track                     [Page 9]
^L
RFC 5265                       MIPv4-VPN                       June 2008


      (MN) {fvc}                            {home} (MN)   [i-HA]
       !                                             \     /
    .--+---.                                        .-+---+-.
   (        )                                      (         )
    `--+---'                      [VPN]             `--+----'
        \                           !                  !
      [R/FA]        [x-HA]       .--+--.              [R]
           \         /          (  DMZ  )              !
          .-+-------+--.         `--+--'         .-----+------.
         (              )           !           (              )
         ( external net +---[R]----[FW]----[R]--+ internal net )
         (              )                       (              )
          `--+---------'                         `---+---+----'
            /                                       /     \
  [DHCP]  [R]                              [DHCP] [R]     [R]    [i-FA]
     \    /                                   \   /         \    /
     .+--+---.                               .-+-+--.     .--+--+-.
    (         )                             (        )   (         )
     `---+---'                               `--+---'     `---+---'
         !                                      !             !
        (MN) {cvc}                             (MN) {c}      (MN) {f}

      Figure 1:  Basic topology, possible MN locations, and access modes

   In every possible location described in the figure, the mobile node
   can establish a connection to the corresponding HA(s) by using a
   suitable "access mode".  An access mode is here defined to consist
   of:

   1.  a composition of the mobile node networking stack (i-MIP or
       x-MIP/VPN/i-MIP); and

   2.  registration mode(s) of i-MIP and x-MIP (if used); i.e., co-
       located care-of address or foreign agent care-of address.

   Each possible access mode is encoded as "xyz", where:

   o  "x" indicates whether the x-MIP layer is used, and if used, the
      mode ("f" indicates FA-CoA, "c" indicates co-CoA, absence
      indicates not used);

   o  "y" indicates whether the VPN layer is used ("v" indicates VPN
      used, absence indicates not used); and

   o  "z" indicates mode of i-MIP layer ("f" indicates FA-CoA, "c"
      indicates co-CoA).





Vaarala & Klovning          Standards Track                    [Page 10]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   This results in four access modes:

         c:  i-MIP with co-CoA
         f:  i-MIP with FA-CoA
       cvc:  x-MIP with co-CoA, VPN-TIA as i-MIP co-CoA
       fvc:  x-MIP with FA-CoA, VPN-TIA as i-MIP co-CoA

   This notation is more useful when optimizations to protocol layers
   are considered.  The notation is preserved here so that work on the
   optimizations can refer to a common notation.

   The internal network is typically a multi-subnetted network using
   private addressing [privaddr].  Subnets may contain internal home
   agent(s), DHCP server(s), and/or foreign agent(s).  Current IEEE
   802.11 wireless LANs are typically deployed in the external network
   or the DMZ because of security concerns.

   The figure leaves out a few details worth noticing:

   o  There may be multiple NAT devices anywhere in the diagram.

      *  When the MN is outside, the NAT devices may be placed between
         the MN and the x-HA or the x-HA and the VPN.

      *  There may also be NAT(s) between the VPN and the i-HA, or a NAT
         integrated into the VPN.  In essence, any router in the figure
         may be considered to represent zero or more routers, each
         possibly performing NAT and/or ingress filtering.

      *  When the MN is inside, there may be NAT devices between the MN
         and the i-HA.

   o  Site-to-site VPN tunnels are not shown.  Although mostly
      transparent, IPsec endpoints may perform ingress filtering as part
      of enforcing their policy.

   o  The figure represents a topology where each functional entity is
      illustrated as a separate device.  However, it is possible that
      several network functions are co-located in a single device.  In
      fact, all three server components (x-HA, VPN, and i-HA) may be co-
      located in a single physical device.

   The following issues are also important when considering enterprise
   mobile users:

   o  Some firewalls are configured to block ICMP messages and/or
      fragments.  Such firewalls (routers) cannot be detected reliably.




Vaarala & Klovning          Standards Track                    [Page 11]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   o  Some networks contain transparent application proxies, especially
      for HTTP.  Like firewalls, such proxies cannot be detected
      reliably in general.  IPsec and Mobile IPv4 are incompatible with
      such networks.

   Whenever a mobile node obtains either a co-CoA or an FA-CoA, the
   following conceptual steps take place:

   o  The mobile node detects whether the subnet where the care-of
      address was obtained belongs to the internal or the external
      network using the method described in Section 3 (or a vendor-
      specific mechanism fulfilling the requirements described).

   o  The mobile node performs necessary registrations and other
      connection setup signaling for the protocol layers (in the
      following order):

      *  x-MIP (if used);

      *  VPN (if used); and

      *  i-MIP.

   Note that these two tasks are intertwined to some extent: detection
   of the internal network results in a successful registration to the
   i-HA using the proposed network detection algorithm.  An improved
   network detection mechanism not based on Mobile IPv4 registration
   messages might not have this side effect.

   The following subsections describe the different access modes and the
   requirements for registration and connection setup phase.

2.1.  Access Mode: 'c'

   This access mode is standard Mobile IPv4 [RFC3344] with a co-located
   address, except that:

   o  the mobile node MUST detect that it is in the internal network;
      and

   o  the mobile node MUST re-register periodically (with a configurable
      interval) to ensure it is still inside the internal network (see
      Section 4).








Vaarala & Klovning          Standards Track                    [Page 12]
^L
RFC 5265                       MIPv4-VPN                       June 2008


2.2.  Access Mode: 'f'

   This access mode is standard Mobile IPv4 [RFC3344] with a foreign
   agent care-of address, except that

   o  the mobile node MUST detect that it is in the internal network;
      and

   o  the mobile node MUST re-register periodically (with a configurable
      interval) to ensure it is still inside the internal network (see
      Section 4).

2.3.  Access Mode: 'cvc'

   Steps:

   o  The mobile node obtains a care-of address.

   o  The mobile node detects it is not inside and registers with the
      x-HA, where

      *  T-bit MAY be set (reverse tunneling), which minimizes the
         probability of firewall-related connectivity problems

   o  If the mobile node does not have an existing IPsec security
      association, it uses IKE to set up an IPsec security association
      with the VPN gateway, using the x-HoA as the IP address for IKE/
      IPsec communication.  How the VPN-TIA is assigned is outside the
      scope of this document.

   o  The mobile node sends a MIPv4 Registration Request (RRQ) to the
      i-HA, registering the VPN-TIA as a co-located care-of address,
      where

      *  T-bit SHOULD be set (reverse tunneling) (see discussion below)

   Reverse tunneling in the inner Mobile IPv4 layer is often required
   because of IPsec security policy limitations.  IPsec selectors define
   allowed IP addresses for packets sent inside the IPsec tunnel.
   Typical IPsec remote VPN selectors restrict the client address to be
   VPN-TIA (remote address is often unrestricted).  If reverse tunneling
   is not used, the source address of a packet sent by the MN will be
   the MN's home address (registered with i-HA), which is different from
   the VPN-TIA, thus violating IPsec security policy.  Consequently, the
   packet will be dropped, resulting in a connection black hole.






Vaarala & Klovning          Standards Track                    [Page 13]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   Some types of IPsec-based VPNs, in particular L2TP/IPsec VPNs (PPP-
   over-L2TP-over-IPsec), do not have this limitation and can use
   triangular routing.

   Note that although the MN can use triangular routing, i.e., skip the
   inner MIPv4 layer, it MUST NOT skip the VPN layer for security
   reasons.

2.4.  Access Mode: 'fvc'

   Steps:

   o  The mobile node obtains a foreign agent advertisement from the
      local network.

   o  The mobile node detects it is outside and registers with the x-HA,
      where

      *  T-bit MAY be set (reverse tunneling), which minimizes the
         probability of firewall-related connectivity problems

   o  If necessary, the mobile node uses IKE to set up an IPsec
      connection with the VPN gateway, using the x-HoA as the IP address
      for IKE/IPsec communication.  How the VPN-TIA is assigned is
      outside the scope of this document.

   o  The mobile node sends a MIPv4 RRQ to the i-HA, registering the
      VPN-TIA as a co-located care-of address, where

      *  T-bit SHOULD be set (reverse tunneling) (see discussion in
         Section 2.3)

   Note that although the MN can use triangular routing, i.e., skip the
   inner MIPv4 layer, it MUST NOT skip the VPN layer for security
   reasons.

2.5.  NAT Traversal

   NAT devices may affect each layer independently.  Mobile IPv4 NAT
   traversal [mipnat] SHOULD be supported for x-MIP and i-MIP layers,
   while IPsec NAT traversal [RFC3947][RFC3948] SHOULD be supported for
   the VPN layer.

   Note that NAT traversal for the internal MIPv4 layer may be necessary
   even when there is no separate NAT device between the VPN gateway and
   the internal network.  Some VPN implementations NAT VPN tunnel inner
   addresses before routing traffic to the intranet.  Sometimes this is
   done to make a deployment easier, but in some cases this approach



Vaarala & Klovning          Standards Track                    [Page 14]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   makes VPN client implementation easier.  Mobile IPv4 NAT traversal is
   required to establish a MIPv4 session in this case.

3.  Internal Network Detection

   Secure detection of the internal network is critical to prevent
   plaintext traffic from being sent over an untrusted network.  In
   other words, the overall security (confidentiality and integrity of
   user data) relies on the security of the internal network detection
   mechanism in addition to IPsec.  For this reason, security
   requirements are described in this section.

   In addition to detecting entry into the internal network, the mobile
   node must also detect when it has left the internal network.  Entry
   into the internal network is easier security-wise: the mobile node
   can ensure that it is inside the internal network before sending any
   plaintext traffic.  Exit from the internal network is more difficult
   to detect, and the MN may accidentally leak plaintext packets if the
   event is not detected in time.

   Several events can cause the mobile node to leave the internal
   network, including:

   o  a routing change upstream;

   o  a reassociation of 802.11 on layer 2 that the mobile node software
      does not detect;

   o  a physical cable disconnect and reconnect that the mobile node
      software does not detect.

   Whether the mobile node can detect such changes in the current
   connection reliably depends on the implementation and the networking
   technology.  For instance, some mobile nodes may be implemented as
   pure layer three entities.  Even if the mobile node software has
   access to layer 2 information, such information is not trustworthy
   security-wise, and depends on the network interface driver.

   If the mobile node does not detect these events properly, it may leak
   plaintext traffic into an untrusted network.  A number of approaches
   can be used to detect exit from the internal network, ranging from
   frequent re-registration to the use of layer two information.

   A mobile node MUST implement a detection mechanism fulfilling the
   requirements described in Section 3.2; this ensures that basic
   security requirements are fulfilled.  The basic algorithm described
   in Section 3.3 is one way to do that, but alternative methods may be
   used instead or in conjunction.  The assumptions that the



Vaarala & Klovning          Standards Track                    [Page 15]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   requirements and the proposed mechanism rely upon are described in
   Section 3.1.

3.1.  Assumptions

   The enterprise firewall MUST be configured to block traffic
   originating from external networks going to the i-HA.  In other
   words, the mobile node MUST NOT be able to perform a successful
   Registration Request/Registration Reply (RRQ/RRP) exchange (without
   using IPsec) unless it is connected to the trusted internal network;
   the mobile node can then stop using IPsec without compromising data
   confidentiality.

   If this assumption does not hold, data confidentiality is compromised
   in a potentially silent and thus dangerous manner.  To minimize the
   impact of this scenario, the i-HA is also required to check the
   source address of any RRQ to determine whether it comes from a
   trusted (internal network) address.  The i-HA needs to indicate to
   the MN that it supports the checking of trusted source addresses by
   including a Trusted Networks Configured extension in its registration
   reply.  This new extension, which needs to be implemented by both
   i-HA and the MN, is described in Section 3.4.

   The firewall MAY be configured to block registration traffic to the
   x-HA originating from within the internal network, which makes the
   network detection algorithm simpler and more robust.  However, as the
   registration request is basically UDP traffic, an ordinary firewall
   (even a stateful one) would typically allow the registration request
   to be sent and a registration reply to be received through the
   firewall.

3.2.  Implementation Requirements

   Any mechanism used to detect the internal network MUST fulfill the
   requirements described in this section.  An example of a network
   detection mechanism fulfilling these requirements is given in
   Section 3.3.

3.2.1.  Separate Tracking of Network Interfaces

   The mobile node implementation MUST track each network interface
   separately.  Successful registration with the i-HA through interface
   X does not imply anything about the status of interface Y.

3.2.2.  Connection Status Change

   When the mobile node detects that its connection status on a certain
   network interface changes, the mobile node MUST:



Vaarala & Klovning          Standards Track                    [Page 16]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   o  immediately stop relaying user data packets;

   o  detect whether this interface is connected to the internal or the
      external network; and

   o  resume data traffic only after the internal network detection and
      necessary registrations and VPN tunnel establishment have been
      completed.

   The mechanisms used to detect a connection status change depends on
   the mobile node implementation, the networking technology, and the
   access mode.

3.2.3.  Registration-Based Internal Network Detection

   The mobile node MUST NOT infer that an interface is connected to the
   internal network unless a successful registration has been completed
   through that particular interface to the i-HA, the i-HA registration
   reply contained a Trusted Networks Configured extension
   (Section 3.4), and the connection status of the interface has not
   changed since.

3.2.4.  Registration-Based Internal Network Monitoring

   Some leak of plaintext packets to a (potentially) untrusted network
   cannot always be completely prevented; this depends heavily on the
   client implementation.  In some cases, the client cannot detect such
   a change, e.g., if upstream routing is changed.

   More frequent re-registrations when the MN is inside is a simple way
   to ensure that the MN is still inside.  The MN SHOULD start re-
   registration every (T_MONITOR - N) seconds when inside, where N is a
   grace period that ensures that re-registration is completed before
   T_MONITOR seconds are up.  To bound the maximum amount of time that a
   plaintext leak may persist, the mobile node must fulfill the
   following security requirements when inside:

   o  The mobile node MUST NOT send or receive a user data packet if
      more than T_MONITOR seconds have elapsed since the last successful
      (re-)registration with the i-HA.

   o  If more than T_MONITOR seconds have elapsed, data packets MUST be
      either dropped or queued.  If the packets are queued, the queues
      MUST NOT be processed until the re-registration has been
      successfully completed without a connection status change.






Vaarala & Klovning          Standards Track                    [Page 17]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   o  The T_MONITOR parameter MUST be configurable, and have the default
      value of 60 seconds.  This default is a trade-off between traffic
      overhead and a reasonable bound to exposure.

   This approach is reasonable for a wide range of mobile nodes (e.g.,
   laptops), but has unnecessary overhead when the mobile node is idle
   (not sending or receiving packets).  If re-registration does not
   complete before T_MONITOR seconds are up, data packets must be queued
   or dropped as specified above.  Note that re-registration packets
   MUST be sent even if bidirectional user data traffic is being
   relayed: data packets are no substitute for an authenticated re-
   registration.

   To minimize traffic overhead when the mobile node is idle, re-
   registrations can be stopped when no traffic is being sent or
   received.  If the mobile node subsequently receives or needs to send
   a packet, the packet must be dropped or queued (as specified above)
   until a re-registration with the i-HA has been successfully
   completed.  Although this approach adds packet processing complexity,
   it may be appropriate for small, battery-powered devices, which may
   be idle much of the time.  (Note that ordinary re-registration before
   the mobility binding lifetime is exhausted should still be done to
   keep the MN reachable.)

   T_MONITOR is required to be configurable so that an administrator can
   determine the required security level for the particular deployment.
   Configuring T_MONITOR in the order of a few seconds is not practical;
   alternative mechanisms need to be considered if such confidence is
   required.

   The re-registration mechanism is a worst-case fallback mechanism.  If
   additional information (such as layer two triggers) is available to
   the mobile node, the mobile node SHOULD use the triggers to detect MN
   movement and restart the detection process to minimize exposure.

   Note that re-registration is required by Mobile IPv4 by default
   (except for the atypical case of an infinite binding lifetime);
   however, the re-registration interval may be much larger when using
   an ordinary Mobile IPv4 client.  A shorter re-registration interval
   is usually not an issue, because the internal network is typically a
   fast, wired network, and the shortened re-registration interval
   applies only when the mobile node is inside the internal network.
   When outside, the ordinary Mobile IPv4 re-registration process (based
   on binding lifetime) is used.







Vaarala & Klovning          Standards Track                    [Page 18]
^L
RFC 5265                       MIPv4-VPN                       June 2008


3.3.  Proposed Algorithm

   When the MN detects that it has changed its point of network
   attachment on a certain interface, it issues two simultaneous
   registration requests, one to the i-HA and another to the x-HA.
   These registration requests are periodically retransmitted if reply
   messages are not received.

   Registration replies are processed as follows:

   o  If a response from the x-HA is received, the MN stops
      retransmitting its registration request to the x-HA and
      tentatively determines it is outside.  However, the MN MUST keep
      on retransmitting its registration to the i-HA for a period of
      time.  The MN MAY postpone the IPsec connection setup for some
      period of time while it waits for a (possible) response from the
      i-HA.

   o  If a response from the i-HA is received and the response contains
      the Trusted Networks Configured extension (Section 3.4), the MN
      SHOULD determine that it is inside.  In any case, the MN MUST stop
      retransmitting its registration requests to both i-HA and x-HA.

   o  When successfully registered with the i-HA directly, MN SHOULD de-
      register with the x-HA.

   If the MN ends up detecting that it is inside, it MUST re-register
   periodically (regardless of binding lifetime); see Section 3.2.4.  If
   the re-registration fails, the MN MUST stop sending and receiving
   plaintext traffic, and MUST restart the detection algorithm.

   Plaintext re-registration messages are always addressed either to the
   x-HA or the i-HA, not to both.  This is because the MN knows, after
   initial registration, whether it is inside or outside.  (However,
   when the mobile node is outside, it re-registers independently with
   the x-HA using plaintext, and with the i-HA through the VPN tunnel.)

   Postponing the IPsec connection setup could prevent aborted IKE
   sessions.  Aborting IKE sessions may be a problem in some cases
   because IKE does not provide a reliable, standardized, and mandatory-
   to-implement mechanism for terminating a session cleanly.

   If the x-HA is not reachable from inside (i.e., the firewall
   configuration is known), a detection period of zero is preferred, as
   it minimizes connection setup overhead and causes no timing problems.
   Should the assumption have been invalid and a response from the i-HA
   received after a response from the x-HA, the MN SHOULD re-register
   with the i-HA directly.



Vaarala & Klovning          Standards Track                    [Page 19]
^L
RFC 5265                       MIPv4-VPN                       June 2008


3.4.  Trusted Networks Configured (TNC) Extension

   This extension is a skippable extension.  An i-HA sending the
   extension must fulfill the requirements described in Section 4.3,
   while an MN processing the extension must fulfill the requirements
   described in Section 4.1.  The format of the extension is described
   below.  It adheres to the short extension format described in
   [RFC3344]:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |    Length     |    Sub-Type   |   Reserved    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Type        149

          Length      2

          Sub-Type    0

          Reserved    Set to 0 when sending, ignored when receiving

3.5.  Implementation Issues

   When the MN uses a parallel detection algorithm and is using an FA,
   the MN sends two registration requests through the same FA with the
   same Media Acces Control (MAC) address (or equivalent) and possibly
   even the same home address.  Although this is not in conflict with
   existing specifications, it is an unusual scenario; hence some FA
   implementations may not work properly in such a situation.  However,
   testing against deployed foreign agents seems to indicate that a
   majority of available foreign agents handle this situation.

   When the x-HA and i-HA addresses are the same, the scenario is even
   more difficult for the FA, and it is almost certain that existing FAs
   do not deal with the situation correctly.  Therefore, it is required
   that x-HA and i-HA addresses MUST be different.

   Regardless, if the MN detects that i-HA and x-HA have the same
   address, it MUST assume that it is in the external network and bypass
   network detection to avoid confusing the FA.  Because the HA
   addresses are used at different layers, achieving connectivity is
   possible without address confusion.

   The mobile node MAY use the following hints to determine that it is
   inside, but MUST verify reachability of the i-HA anyway:




Vaarala & Klovning          Standards Track                    [Page 20]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   o  a domain name in a DHCPDISCOVER / DHCPOFFER message

   o  an NAI in a foreign agent advertisement

   o  a list of default gateway MAC addresses that are known to reside
      in the internal network (i.e., configured as such, or have been
      previously verified to be inside)

   For instance, if the MN has reason to believe it is inside, it MAY
   postpone sending a registration request to the x-HA for some time.
   Similarly, if the MN has reason to believe it is outside, it may
   start IPsec connection setup immediately after receiving a
   registration reply from the x-HA.  However, should the MN receive a
   registration reply from the i-HA after IPsec connection setup has
   been started, the MN SHOULD still switch to using the i-HA directly.

3.6.  Rationale for Design Choices

3.6.1.  Firewall Configuration Requirements

   The requirement that the i-HA cannot be reached from the external
   network is necessary.  If not, a successful registration with the
   i-HA (without IPsec) cannot be used as a secure indication that the
   mobile node is inside.  A possible solution to the obvious security
   problem would be to define and deploy a secure internal network
   detection mechanism based on, e.g., signed FA advertisement or signed
   DHCP messages.

   However, unless the mechanism is defined for both FA and DHCP
   messages and is deployed in every internal network, it has limited
   applicability.  In other words, the mobile node MUST NOT assume it is
   in the internal network unless it receives a signed FA or DHCP
   message (regardless of whether or not it can register directly with
   the i-HA).  If it receives an unsigned FA or DHCP message, it MUST
   use IPsec; otherwise, the mobile node can be easily tricked into
   using plaintext.

   Assuming that all FA and DHCP servers in the internal network are
   upgraded to support such a feature does not seem realistic; it is
   highly desirable to be able to take advantage of existing DHCP and FA
   deployments.  Similar analysis seems to apply regardless of what kind
   of additional security mechanism is defined.

   Because a firewall configuration error can have catastrophic data
   security consequences (silent exposure of user data to external
   attackers), a separate protection mechanism is provided by the i-HA.
   The i-HA must be configured, by the administrator, with a list of
   trusted networks.  The i-HA advertises that it knows which



Vaarala & Klovning          Standards Track                    [Page 21]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   registration request source addresses are trusted, using a
   registration reply extension (Trusted Networks Configured extension,
   Section 3.4).  Without this extension, an MN may not rely on a
   successful registration to indicate that it is connected to the
   internal network.  This ensures that user data compromise does not
   occur unless both the firewall and the i-HA are configured
   incorrectly.  Further, occurrences of registration requests from
   untrusted addresses should be logged by the i-HA, exposing them to
   administrator review.

3.6.2.  Registration-Based Internal Network Monitoring

   This issue also affects IPsec client security.  However, as IPsec
   specifications take no stand on how and when client IPsec policies
   are configured or changed (for instance, in response to a change in
   network connectivity), the issue is out of scope for IPsec.  Because
   this document describes an algorithm and requirements for (secure)
   internal network detection, the issue is in scope of the document.

   The current requirement for internal network monitoring was added as
   a fallback mechanism.

3.6.3.  No Encryption When Inside

   If encryption was applied also when MN was inside, there would be no
   security reason to monitor the internal network periodically.

   The main rationale for why encryption cannot be applied when the MN
   is inside was given in Section 1.6.  In short, the main issues are
   (1) power consumption; (2) extra CPU load, especially because
   internal networks are typically switched networks and a lot of data
   may be routinely transferred; (3) existing HA devices do not
   typically integrate IPsec functionality; (4) (IPsec) encryption
   requires user authentication, which may be interactive in some cases
   (e.g., SecurID) and thus a usability issue; and (5) user may need to
   have separate credentials for VPN devices in the DMZ and the HA.

3.7.  Improvements

   The registration process can be improved in many ways.  One simple
   way is to make the x-HA detect whether a registration request came
   from inside or outside the enterprise network.  If it came from
   inside the enterprise network, the x-HA can simply drop the
   registration request.

   This approach is feasible without protocol changes in scenarios where
   a corporation owns both the VPN and the x-HA.  The x-HA can simply
   determine based on the incoming interface identifier (or the router



Vaarala & Klovning          Standards Track                    [Page 22]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   that relayed the packet) whether or not the registration request came
   from inside.

   In other scenarios, protocol changes may be needed.  Such changes are
   out of scope of this document.

4.  Requirements

4.1.  Mobile Node Requirements

   The mobile node MUST implement an internal network detection
   algorithm fulfilling the requirements set forth in Section 3.2.  A
   new configurable MN parameter, T_MONITOR, is required.  The value of
   this parameter reflects a balance between security and the amount of
   signaling overhead, and thus needs to be configurable.  In addition,
   when doing internal network detection, the MN MUST NOT disable IPsec
   protection unless the registration reply from the i-HA contains a
   Trusted Networks Configured extension (Section 3.4).

   The mobile node MUST support access modes c, f, cvc, fvc (Section 2).

   The mobile node SHOULD support Mobile IPv4 NAT traversal [mipnat] for
   both internal and external Mobile IP.

   The mobile node SHOULD support IPsec NAT traversal [RFC3947]
   [RFC3948].

   When the mobile node has direct access to the i-HA, it SHOULD use
   only the inner Mobile IPv4 layer to minimize firewall and VPN impact.

   When the mobile node is outside and using the VPN connection, IPsec
   policies MUST be configured to encrypt all traffic sent to and from
   the enterprise network.  The particular Security Policy Database
   (SPD) entries depend on the type and configuration of the particular
   VPN (e.g., plain IPsec vs. L2TP/IPsec, full tunneling or split
   tunneling).

4.2.  VPN Device Requirements

   The VPN security policy MUST allow communication using UDP to the
   internal home agent(s), with home agent port 434 and any remote port.
   The security policy SHOULD allow IP-IP to internal home agent(s) in
   addition to UDP port 434.

   The VPN device SHOULD implement the IPsec NAT traversal mechanism
   described in [RFC3947] and [RFC3948].





Vaarala & Klovning          Standards Track                    [Page 23]
^L
RFC 5265                       MIPv4-VPN                       June 2008


4.3.  Home Agent Requirements

   The home agent SHOULD implement the Mobile IPv4 NAT traversal
   mechanism described in [mipnat].  (This also refers to the i-HA: NAT
   traversal is required to support VPNs that NAT VPN tunnel addresses
   or block IP-IP traffic.)

   To protect user data confidentiality against firewall configuration
   errors, the i-HA:

   o  MUST be configured with a list of trusted IP subnets (containing
      only addresses from the internal network), with no subnets being
      trusted by default.

   o  MUST reject (drop silently) any registration request coming from a
      source address that is not inside any of the configured trusted
      subnets.  These dropped registration requests SHOULD be logged.

   o  MUST include a Trusted Networks Configured extension (Section 3.4)
      in a registration reply sent in response to a registration request
      coming from a trusted address.

5.  Analysis

   This section provides a comparison against guidelines described in
   Section 6 of the problem statement [RFC4093] and additional analysis
   of packet overhead with and without the optional mechanisms.

5.1.  Comparison against Guidelines

   Preservation of existing VPN infrastructure

   o  The solution does not mandate any changes to existing VPN
      infrastructure, other than possibly changes in configuration to
      avoid stateful filtering of traffic.

   Software upgrades to existing VPN clients and gateways

   o  The solution described does not require any changes to VPN
      gateways or Mobile IPv4 foreign agents.

   IPsec protocol

   o  The solution does not require any changes to existing IPsec or key
      exchange standard protocols, and does not require implementation
      of new protocols in the VPN device.





Vaarala & Klovning          Standards Track                    [Page 24]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   Multi-vendor interoperability

   o  The solution provides easy multi-vendor interoperability between
      server components (VPN device, foreign agents, and home agents).
      Indeed, these components need not be aware of each other.

   o  The mobile node networking stack is somewhat complex to implement,
      which may be an issue for multi-vendor interoperability.  However,
      this is a purely software architecture issue, and there are no
      known protocol limitations for multi-vendor interoperability.

   MIPv4 protocol

   o  The solution adheres to the MIPv4 protocol, but requires the new
      Trusted Networks Configured extension to improve the
      trustworthiness of internal network detection.

   o  The solution requires the use of two parallel MIPv4 layers.

   Handoff overhead

   o  The solution provides a mechanism to avoid VPN tunnel SA
      renegotiation upon movement by using the external MIPv4 layer.

   Scalability, availability, reliability, and performance

   o  The solution complexity is linear with the number of MNs
      registered and accessing resources inside the intranet.

   o  Additional overhead is imposed by the solution.

   Functional entities

   o  The solution does not impose any new types of functional entities
      or required changes to existing entities.  However, an external HA
      device is required.

   Implications of intervening NAT gateways

   o  The solution leverages existing MIPv4 NAT traversal [mipnat] and
      IPsec NAT traversal [RFC3947] [RFC3948] solutions and does not
      require any new functionality to deal with NATs.

   Security implications

   o  The solution requires a new mechanism to detect whether the mobile
      node is in the internal or the external network.  The security of
      this mechanism is critical in ensuring that the security level



Vaarala & Klovning          Standards Track                    [Page 25]
^L
RFC 5265                       MIPv4-VPN                       June 2008


      provided by IPsec is not compromised by a faulty detection
      mechanism.

   o  When the mobile node is outside, the external Mobile IPv4 layer
      may allow some traffic redirection attacks that plain IPsec does
      not allow.  Other than that, IPsec security is unchanged.

   o  More security considerations are described in Section 6.

5.2.  Packet Overhead

   The maximum packet overhead depends on access mode as follows:

   o  f: 0 octets

   o  c: 20 octets

   o  fvc: 77 octets

   o  cvc: 97 octets

   The maximum overhead of 97 octets in the 'cvc' access mode consists
   of the following:

   o  IP-IP for i-MIPv4: 20 octets

   o  IPsec ESP: 57 octets total, consisting of 20 (new IP header),
      4+4+8 = 16 (SPI, sequence number, cipher initialization vector),
      7+2 = 9 (padding, padding length field, next header field), 12
      (ESP authentication trailer)

   o  IP-IP for x-MIPv4: 20 octets

   When IPsec is used, a variable amount of padding is present in each
   ESP packet.  The figures were computed for a cipher with 64-bit block
   size, padding overhead of 9 octets (next header field, padding length
   field, and 7 octets of padding; see Section 2.4 of [RFC4303]), and
   ESP authentication field of 12 octets (HMAC-SHA1-96 or HMAC-MD5-96).
   Note that an IPsec implementation MAY pad with more than a minimum
   amount of octets.

   NAT traversal overhead is not included, and adds 8 octets when IPsec
   NAT traversal [RFC3947] [RFC3948] is used and 12 octets when MIP NAT
   traversal [mipnat] is used.  For instance, when using access mode
   cvc, the maximum NAT traversal overhead is 12+8+12 = 32 octets.
   Thus, the worst case scenario (with the above mentioned ESP
   assumptions) is 129 octets for cvc.




Vaarala & Klovning          Standards Track                    [Page 26]
^L
RFC 5265                       MIPv4-VPN                       June 2008


5.3.  Latency Considerations

   When the MN is inside, connection setup latency does not increase
   compared to standard MIPv4 if the MN implements the suggested
   parallel registration sequence (see Section 3.3).  Exchange of RRQ/
   RRP messages with the i-HA confirms the MN is inside, and the MN may
   start sending and receiving user traffic immediately.  For the same
   reason, handovers in the internal network have no overhead relative
   to standard MIPv4.

   When the MN is outside, the situation is slightly different.  Initial
   connection setup latency essentially consists of (1) registration
   with the x-HA, (2) optional detection delay (waiting for i-HA
   response), (3) IPsec connection setup (IKE), and (4) registration
   with the i-HA.  All but (4) are in addition to standard MIPv4.

   However, handovers in the external network have performance
   comparable to standard MIPv4.  The MN simply re-registers with the
   x-HA and starts to send IPsec traffic to the VPN gateway from the new
   address.

   The MN may minimize latency by (1) not waiting for an i-HA response
   before triggering IKE if the x-HA registration succeeds and (2)
   sending first the RRQ most likely to succeed (e.g., if the MN is most
   likely outside).  These can be done based on heuristics about the
   network, e.g., addresses, MAC address of the default gateway (which
   the mobile node may remember from previous access); based on the
   previous access network (i.e., optimize for inside-inside and
   outside-outside movement); etc.

5.4.  Firewall State Considerations

   A separate firewall device or an integrated firewall in the VPN
   gateway typically performs stateful inspection of user traffic.  The
   firewall may, for instance, track TCP session status and block TCP
   segments not related to open connections.  Other stateful inspection
   mechanisms also exist.

   Firewall state poses a problem when the mobile node moves between the
   internal and external networks.  The mobile node may, for instance,
   initiate a TCP connection while inside, and later go outside while
   expecting to keep the connection alive.  From the point of view of
   the firewall, the TCP connection has not been initiated, as it has
   not witnessed the TCP connection setup packets, thus potentially
   resulting in connectivity problems.

   When the VPN-TIA is registered as a co-located care-of address with
   the i-HA, all mobile node traffic appears as IP-IP for the firewall.



Vaarala & Klovning          Standards Track                    [Page 27]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   Typically, firewalls do not continue inspection beyond the IP-IP
   tunnel, but support for deeper inspection is available in many
   products.  In particular, an administrator can configure traffic
   policies in many firewall products even for IP-IP encapsulated
   traffic.  If this is done, similar statefulness issues may arise.

   In summary, the firewall must allow traffic coming from and going
   into the IPsec connection to be routed, even though they may not have
   successfully tracked the connection state.  How this is done is out
   of scope of this document.

5.5.  Intrusion Detection Systems (IDSs)

   Many firewalls incorporate intrusion detection systems monitoring
   network traffic for unusual patterns and clear signs of attack.
   Since traffic from a mobile node implementing this specification is
   UDP to i-HA port 434, and possibly IP-IP traffic to the i-HA address,
   existing IDSs may treat the traffic differently than ordinary VPN
   remote access traffic.  Like firewalls, IDSs are not standardized, so
   it is impossible to guarantee interoperability with any particular
   IDS system.

5.6.  Implementation of the Mobile Node

   Implementation of the mobile node requires the use of three tunneling
   layers, which may be used in various configurations depending on
   whether that particular interface is inside or outside.  Note that it
   is possible that one interface is inside and another interface is
   outside, which requires a different layering for each interface at
   the same time.

   For multi-vendor implementation, the IPsec and MIPv4 layers need to
   interoperate in the same mobile node.  This implies that a flexible
   framework for protocol layering (or protocol-specific APIs) is
   required.

5.7.  Non-IPsec VPN Protocols

   The solution also works for VPN tunneling protocols that are not
   IPsec-based, provided that the mobile node is provided IPv4
   connectivity with an address suitable for registration.  However,
   such VPN protocols are not explicitly considered.









Vaarala & Klovning          Standards Track                    [Page 28]
^L
RFC 5265                       MIPv4-VPN                       June 2008


6.  Security Considerations

6.1.  Internal Network Detection

   If the mobile node by mistake believes it is in the internal network
   and sends plaintext packets, it compromises IPsec security.  For this
   reason, the overall security (confidentiality and integrity) of user
   data is a minimum of (1) IPsec security and (2) security of the
   internal network detection mechanism.

   Security of the internal network detection relies on a successful
   registration with the i-HA.  For standard Mobile IPv4 [RFC3344], this
   means HMAC-MD5 and Mobile IPv4 replay protection.  The solution also
   assumes that the i-HA is not directly reachable from the external
   network, requiring careful enterprise firewall configuration.  To
   minimize the impact of a firewall configuration problem, the i-HA is
   separately required to be configured with trusted source addresses
   (i.e., addresses belonging to the internal network), and to include
   an indication of this in a new Trusted Networks Configured extension.
   The MN is required not to trust a registration as an indication of
   being connected to the internal network, unless this extension is
   present in the registration reply.  Thus, to actually compromise user
   data confidentiality, both the enterprise firewall and the i-HA have
   to be configured incorrectly, which reduces the likelihood of the
   scenario.

   When the mobile node sends a registration request to the i-HA from an
   untrusted network that does not go through the IPsec tunnel, it will
   reveal the i-HA's address, its own identity including the NAI and the
   home address, and the Authenticator value in the authentication
   extensions to the untrusted network.  This may be a concern in some
   deployments.

   When the connection status of an interface changes, an interface
   previously connected to the trusted internal network may suddenly be
   connected to an untrusted network.  Although the same problem is also
   relevant to IPsec-based VPN implementations, the problem is
   especially relevant in the scope of this specification.

   In most cases, mobile node implementations are expected to have layer
   2 information available, making connection change detection both fast
   and robust.  To cover cases where such information is not available
   (or fails for some reason), the mobile node is required to
   periodically re-register with the internal home agent to verify that
   it is still connected to the trusted network.  It is also required
   that this re-registration interval be configurable, thus giving the
   administrator a parameter by which potential exposure may be
   controlled.



Vaarala & Klovning          Standards Track                    [Page 29]
^L
RFC 5265                       MIPv4-VPN                       June 2008


6.2.  Mobile IPv4 versus IPsec

   MIPv4 and IPsec have different goals and approaches for providing
   security services.  MIPv4 typically uses a shared secret for
   authentication of signaling traffic, while IPsec typically uses IKE
   (an authenticated Diffie-Hellman exchange) to set up session keys.
   Thus, the overall security properties of a combined MIPv4 and IPsec
   system depend on both mechanisms.

   In the solution outlined in this document, the external MIPv4 layer
   provides mobility for IPsec traffic.  If the security of MIPv4 is
   broken in this context, traffic redirection attacks against the IPsec
   traffic are possible.  However, such routing attacks do not affect
   other IPsec properties (confidentiality, integrity, replay
   protection, etc.), because IPsec does not consider the network
   between two IPsec endpoints to be secure in any way.

   Because MIPv4 shared secrets are usually configured manually, they
   may be weak if easily memorizable secrets are chosen, thus opening up
   redirection attacks described above.  Note especially that a weak
   secret in the i-HA is fatal to security, as the mobile node can be
   fooled into dropping encryption if the i-HA secret is broken.

   Assuming the MIPv4 shared secrets have sufficient entropy, there are
   still at least the following differences and similarities between
   MIPv4 and IPsec worth considering:

   o  Both IPsec and MIPv4 are susceptible to the "transient pseudo NAT"
      attack described in [pseudonat] and [mipnat], assuming that NAT
      traversal is enabled (which is typically the case).  "Pseudo NAT"
      attacks allow an attacker to redirect traffic flows, resulting in
      resource consumption, lack of connectivity, and denial of service.
      However, such attacks cannot compromise the confidentiality of
      user data protected using IPsec.

   o  When considering a "pseudo NAT" attack against standard IPsec and
      standard MIP (with NAT traversal), redirection attacks against MIP
      may be easier because:

      *  MIPv4 re-registrations typically occur more frequently than
         IPsec SA setups (although this may not be the case for mobile
         hosts).

      *  It suffices to catch and modify a single registration request,
         whereas attacking IKE requires that multiple IKE packets are
         caught and modified.





Vaarala & Klovning          Standards Track                    [Page 30]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   o  There may be concerns about mixing of algorithms.  For instance,
      IPsec may be using HMAC-SHA1-96, while MIP is always using HMAC-
      MD5 (RFC 3344) or prefix+suffix MD5 (RFC 2002).  Furthermore,
      while IPsec algorithms are typically configurable, MIPv4 clients
      typically use only HMAC-MD5 or prefix+suffix MD5.  Although this
      is probably not a security problem as such, it is more difficult
      to communicate to users.

   o  When IPsec is used with a Public Key Infrastructure (PKI), the key
      management properties are superior to those of basic MIPv4.  Thus,
      adding MIPv4 to the system makes key management more complex.

   o  In general, adding new security mechanisms increases overall
      complexity and makes the system more difficult to understand.

7.  IANA Considerations

   This document specifies a new skippable extension (in the short
   format) in Section 3.4, whose Type and Sub-Type values have been
   assigned.

   Allocation of new Sub-Type values can be made via Expert Review and
   Specification Required [RFC5226].

8.  Acknowledgements

   This document is a joint work of the contributing authors (in
   alphabetical order):

           - Farid Adrangi (Intel Corporation)
           - Nitsan Baider (Check Point Software Technologies, Inc.)
           - Gopal Dommety (Cisco Systems)
           - Eli Gelasco (Cisco Systems)
           - Dorothy Gellert (Nokia Corporation)
           - Espen Klovning (Birdstep)
           - Milind Kulkarni (Cisco Systems)
           - Henrik Levkowetz (ipUnplugged AB)
           - Frode Nielsen (Birdstep)
           - Sami Vaarala (Codebay)
           - Qiang Zhang (Liqwid Networks, Inc.)

   The authors would like to thank the MIP/VPN design team, especially
   Mike Andrews, Gaetan Feige, Prakash Iyer, Brijesh Kumar, Joe Lau,
   Kent Leung, Gabriel Montenegro, Ranjit Narjala, Antti Nuopponen, Alan
   O'Neill, Alpesh Patel, Ilkka Pietikainen, Phil Roberts, Hans
   Sjostrand, and Serge Tessier for their continuous feedback and
   helping us improve this document.  Special thanks to Radia Perlman
   for giving the document a thorough read and a security review.  Tom



Vaarala & Klovning          Standards Track                    [Page 31]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   Hiller pointed out issues with battery-powered devices.  We would
   also like to thank the previous Mobile IP working group chairs
   (Gabriel Montenegro, Basavaraj Patil, and Phil Roberts) for important
   feedback and guidance.

9.  References

9.1.  Normative References

   [RFC2119]    Bradner, S., "Key words for use in RFCs to Indicate
                Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC3344]    Perkins, C., Ed., "IP Mobility Support for IPv4",
                RFC 3344, August 2002.

   [RFC3947]    Kivinen, T., Swander, B., Huttunen, A., and V. Volpe,
                "Negotiation of NAT-Traversal in the IKE", RFC 3947,
                January 2005.

   [RFC3948]    Huttunen, A., Swander, B., Volpe, V., DiBurro, L., and
                M. Stenberg, "UDP Encapsulation of IPsec packets",
                RFC 3948, January 2005.

   [RFC4301]    Kent, S. and K. Seo, "Security Architecture for the
                Internet Protocol", RFC 4301, December 2005.

   [RFC4303]    Kent, S., "IP Encapsulating Security Payload (ESP)",
                RFC 4303, December 2005.

   [RFC5226]    Narten, T. and H. Alvestrand, "Guidelines for Writing an
                IANA Considerations Section in RFCs", BCP 26, RFC 5226,
                May 2008.

   [mipnat]     Levkowetz, H. and S. Vaarala, "Mobile IP Traversal of
                Network Address Translation (NAT) Devices", RFC 3519,
                April 2003.

   [privaddr]   Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot,
                G., and E. Lear, "Address Allocation for Private
                Internets", BCP 5, RFC 1918, February 1996.











Vaarala & Klovning          Standards Track                    [Page 32]
^L
RFC 5265                       MIPv4-VPN                       June 2008


9.2.  Informative References

   [RFC2002]    Perkins, C., "IP Mobility Support", RFC 2002,
                October 1996.

   [RFC3456]    Patel, B., Aboba, B., Kelly, S., and V. Gupta, "Dynamic
                Host Configuration Protocol (DHCPv4) Configuration of
                IPsec Tunnel Mode", RFC 3456, January 2003.

   [RFC3776]    Arkko, J., Devarapalli, V., and F. Dupont, "Using IPsec
                to Protect Mobile IPv6 Signaling Between Mobile Nodes
                and Home Agents", RFC 3776, June 2004.

   [RFC4093]    Adrangi, F. and H. Levkowetz, "Problem Statement: Mobile
                IPv4 Traversal of Virtual Private Network (VPN)
                Gateways", RFC 4093, August 2005.

   [RFC4282]    Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The
                Network Access Identifier", RFC 4282, December 2005.

   [RFC4555]    Eronen, P., "IKEv2 Mobility and Multihoming Protocol
                (MOBIKE)", RFC 4555, June 2006.

   [pseudonat]  Dupont, F. and J. Bernard, "Transient pseudo-NAT attacks
                or how NATs are even more evil than you believed", Work
                in Progress, June 2004.

   [tessier]    Tessier, S., "Guidelines for Mobile IP and IPsec VPN
                Usage", Work in Progress, December 2002.






















Vaarala & Klovning          Standards Track                    [Page 33]
^L
RFC 5265                       MIPv4-VPN                       June 2008


Appendix A.  Packet Flow Examples

A.1.  Connection Setup for Access Mode 'cvc'

   The following figure illustrates connection setup when the mobile
   node is outside and using a co-located care-of address.  IKE
   connection setup is not shown in full, and involves multiple round
   trips (4.5 round trips when using main mode followed by quick mode).











































Vaarala & Klovning          Standards Track                    [Page 34]
^L
RFC 5265                       MIPv4-VPN                       June 2008


    MN-APP      MN        x-HA       VPN        i-HA        CN
     !          !          !          !          !          !
     !          ! -------> !          !          !          !
     !          !  rrq     !          !          !          !
     !          ! -----------------X  !          !          ! rrq not
     !          !  rrq     !          !          !          ! received
     !          !          !          !          !          ! by i-HA
     !          ! <------- !          !          !          !
     !          !  rrp     !          !          !          !
     !          !          !          !          !          !
     !  [wait for detection period for response from i-HA]  !
     !  [may also retransmit to i-HA, depending on config]  ! no rrp
     !          !          !          !          !          ! from i-HA
     !          ! ==(1)==> !          !          !          !
     !          !  ike {1a}! -------> !          !          !
     !          !          !  ike     !          !          !
     !          !          ! <------- !          !          !
     !          ! <==(1)== !  ike     !          !          !
     !          !  ike     !          !          !          !
     :          :          :          :          :          :
     :          :          :          :          :          :
     !          !          !          !          !          !
     !          ! ==(2)==> !          !          !          !
     !          !  rrq {2a}! ==(1)==> !          !          !
     !          !          !  rrq {2b}! -------> !          !
     !          !          !          !  rrq {2c}!          !
     !          !          !          ! <------- !          !
     !          !          ! <==(1)== !  rrp     !          !
     !          ! <==(2)== !  rrp     !          !          !
     !          !  rrp     !          !          !          !
     !          !          !          !          !          !
    [[--- connection setup ok, bidirectional connection up ---]]
     !          !          !          !          !          !
     ! -------> !          !          !          !          !
     !  pkt {3a}! ==(3)==> !          !          !          !
     !          !  pkt {3b}! ==(2)==> !          !          !
     !          !          !  pkt {3c}! ==(1)==> !          !
     !          !          !          !  pkt {3d}! -------> !
     !          !          !          !          !  pkt {3e}!
     !          !          !          !          ! <------- !
     !          !          !          ! <==(1)== !  pkt     !
     !          !          ! <==(2)== !  pkt     !          !
     !          ! <==(3)== !  pkt     !          !          !
     !  <------ !  pkt     !          !          !          !
     !   pkt    !          !          !          !          !
     :          :          :          :          :          :
     :          :          :          :          :          :




Vaarala & Klovning          Standards Track                    [Page 35]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   The notation "==(N)==>" or "<==(N)==" indicates that the innermost
   packet has been encapsulated N times, using IP-IP, ESP, or MIP NAT
   traversal.

   Packets marked with {xx} are shown in more detail below.  Each area
   represents a protocol header (labeled).  Source and destination
   addresses or ports are shown underneath the protocol name when
   applicable.  Note that there are no NAT traversal headers in the
   example packets.

       Packet {1a}
           .------------------------------------.
           ! IP      ! IP      ! UDP   ! IKE    !
           !  co-CoA !  x-HoA  !  500  !        !
           !  x-HA   !  VPN-GW !  500  !        !
           `------------------------------------'

       Packet {2a}
           .--------------------------------------------------------.
           ! IP      ! IP      ! ESP   ! IP       ! UDP   ! MIP RRQ !
           !  co-CoA !  x-HoA  !       !  VPN-TIA !  ANY  !         !
           !  x-HA   !  VPN-GW !       !  i-HA    !  434  !         !
           `--------------------------------------------------------'

       Packet {2b}
           .----------------------------------------------.
           ! IP      ! ESP   ! IP       ! UDP   ! MIP RRQ !
           !  x-HoA  !       !  VPN-TIA !  ANY  !         !
           !  VPN-GW !       !  i-HA    !  434  !         !
           `----------------------------------------------'

       Packet {2c}
           .----------------------------.
           ! IP       ! UDP   ! MIP RRQ !
           !  VPN-TIA !  ANY  !         !
           !  i-HA    !  434  !         !
           `----------------------------'

       Packet {3a}
           .-------------------.
           ! IP     ! user     !
           !  i-HoA ! protocol !
           !  CN    !          !
           `-------------------'







Vaarala & Klovning          Standards Track                    [Page 36]
^L
RFC 5265                       MIPv4-VPN                       June 2008


       Packet {3b}
           .------------------------------------------------------- -
           ! IP      ! IP      ! ESP ! IP       ! IP     ! user      \
           !  co-CoA !  x-HoA  !     !  VPN-TIA !  i-HoA ! protocol../
           !  x-HA   !  VPN-GW !     !  i-HA    !  CN    !           \
           `------------------------------------------------------- -
              - - -----------------.
             \..user     ! ESP     !
             /  protocol ! trailer !
             \           !         !
              - - -----------------'

       Packet {3c}
           .--------------------------------------------------------.
           ! IP      ! ESP ! IP       ! IP     ! user     ! ESP     !
           !  x-HoA  !     !  VPN-TIA !  i-HoA ! protocol ! trailer !
           !  VPN-GW !     !  i-HA    !  CN    !          !         !
           `--------------------------------------------------------'

       Packet {3d}
           .------------------------------.
           ! IP       ! IP     ! user     !
           !  VPN-TIA !  i-HoA ! protocol !
           !  i-HA    !  CN    !          !
           `------------------------------'

       Packet {3e}
           .-------------------.
           ! IP     ! user     !
           !  i-HoA ! protocol !
           !  CN    !          !
           `-------------------'



















Vaarala & Klovning          Standards Track                    [Page 37]
^L
RFC 5265                       MIPv4-VPN                       June 2008


   Packet {3b} with all NAT traversal headers (x-MIP, ESP, and i-MIP) is
   shown below for comparison.

       Packet {3b} (with NAT traversal headers)
           .------------------------------------------------- -
           ! IP      ! UDP  ! MIP    ! IP      ! UDP   ! ESP.. \
           !  co-CoA !  ANY ! tunnel !  x-HoA  !  4500 !       /
           !  x-HA   !  434 ! data   !  VPN-GW !  4500 !       \
           `------------------------------------------------- -
            <=== external MIPv4 ====> <=== IPsec ESP ======== = =

              - - ------------------------------------------------ -
             \..ESP ! IP       ! UDP  ! MIP    ! IP     ! user      \
             /      !  VPN-TIA !  ANY ! tunnel !  i-HoA ! protocol../
             \      !  i-HA    !  434 ! data   !  CN    !           \
              - - ------------------------------------------------ -
              = ===> <==== internal MIPv4 ====> <== user packet == =

              - - -----------------.
             \..user     ! ESP     !
             /  protocol ! trailer !
             \           !         !
              - - -----------------'
              = = ======> <= ESP =>


Authors' Addresses

   Sami Vaarala
   Codebay
   P.O. Box 63
   Espoo  02601
   FINLAND

   Phone: +358 (0)50 5733 862
   EMail: sami.vaarala@iki.fi


   Espen Klovning
   Birdstep
   Bryggegata 7
   Oslo  0250
   NORWAY

   Phone: +47 95 20 26 29
   EMail: espen@birdstep.com





Vaarala & Klovning          Standards Track                    [Page 38]
^L
RFC 5265                       MIPv4-VPN                       June 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.












Vaarala & Klovning          Standards Track                    [Page 39]
^L