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
|
<pre>Network Working Group S. Vaarala
Request for Comments: 5265 Codebay
Category: Standards Track E. Klovning
Birdstep
June 2008
<span class="h1">Mobile IPv4 Traversal across IPsec-Based VPN Gateways</span>
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
<a href="#section-1">1</a>. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-1.1">1.1</a>. Overview . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-3">3</a>
<a href="#section-1.2">1.2</a>. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-1.3">1.3</a>. Related Work . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-1.4">1.4</a>. Terms and Abbreviations . . . . . . . . . . . . . . . . . <a href="#page-5">5</a>
<a href="#section-1.5">1.5</a>. Requirement Levels . . . . . . . . . . . . . . . . . . . . <a href="#page-6">6</a>
<a href="#section-1.6">1.6</a>. Assumptions and Rationale . . . . . . . . . . . . . . . . <a href="#page-7">7</a>
<a href="#section-1.7">1.7</a>. Why IPsec Lacks Mobility . . . . . . . . . . . . . . . . . <a href="#page-8">8</a>
<a href="#section-2">2</a>. The Network Environment . . . . . . . . . . . . . . . . . . . <a href="#page-9">9</a>
<a href="#section-2.1">2.1</a>. Access Mode: 'c' . . . . . . . . . . . . . . . . . . . . . <a href="#page-12">12</a>
<a href="#section-2.2">2.2</a>. Access Mode: 'f' . . . . . . . . . . . . . . . . . . . . . <a href="#page-13">13</a>
<a href="#section-2.3">2.3</a>. Access Mode: 'cvc' . . . . . . . . . . . . . . . . . . . . <a href="#page-13">13</a>
<a href="#section-2.4">2.4</a>. Access Mode: 'fvc' . . . . . . . . . . . . . . . . . . . . <a href="#page-14">14</a>
<a href="#section-2.5">2.5</a>. NAT Traversal . . . . . . . . . . . . . . . . . . . . . . <a href="#page-14">14</a>
<a href="#section-3">3</a>. Internal Network Detection . . . . . . . . . . . . . . . . . . <a href="#page-15">15</a>
<a href="#section-3.1">3.1</a>. Assumptions . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-3.2">3.2</a>. Implementation Requirements . . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-3.2.1">3.2.1</a>. Separate Tracking of Network Interfaces . . . . . . . <a href="#page-16">16</a>
<a href="#section-3.2.2">3.2.2</a>. Connection Status Change . . . . . . . . . . . . . . . <a href="#page-16">16</a>
<a href="#section-3.2.3">3.2.3</a>. Registration-Based Internal Network Detection . . . . <a href="#page-17">17</a>
<span class="grey">Vaarala & Klovning Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<a href="#section-3.2.4">3.2.4</a>. Registration-Based Internal Network Monitoring . . . . <a href="#page-17">17</a>
<a href="#section-3.3">3.3</a>. Proposed Algorithm . . . . . . . . . . . . . . . . . . . . <a href="#page-19">19</a>
<a href="#section-3.4">3.4</a>. Trusted Networks Configured (TNC) Extension . . . . . . . <a href="#page-20">20</a>
<a href="#section-3.5">3.5</a>. Implementation Issues . . . . . . . . . . . . . . . . . . <a href="#page-20">20</a>
<a href="#section-3.6">3.6</a>. Rationale for Design Choices . . . . . . . . . . . . . . . <a href="#page-21">21</a>
<a href="#section-3.6.1">3.6.1</a>. Firewall Configuration Requirements . . . . . . . . . <a href="#page-21">21</a>
<a href="#section-3.6.2">3.6.2</a>. Registration-Based Internal Network Monitoring . . . . <a href="#page-22">22</a>
<a href="#section-3.6.3">3.6.3</a>. No Encryption When Inside . . . . . . . . . . . . . . <a href="#page-22">22</a>
<a href="#section-3.7">3.7</a>. Improvements . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-22">22</a>
<a href="#section-4">4</a>. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-23">23</a>
<a href="#section-4.1">4.1</a>. Mobile Node Requirements . . . . . . . . . . . . . . . . . <a href="#page-23">23</a>
<a href="#section-4.2">4.2</a>. VPN Device Requirements . . . . . . . . . . . . . . . . . <a href="#page-23">23</a>
<a href="#section-4.3">4.3</a>. Home Agent Requirements . . . . . . . . . . . . . . . . . <a href="#page-24">24</a>
<a href="#section-5">5</a>. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-24">24</a>
<a href="#section-5.1">5.1</a>. Comparison against Guidelines . . . . . . . . . . . . . . <a href="#page-24">24</a>
<a href="#section-5.2">5.2</a>. Packet Overhead . . . . . . . . . . . . . . . . . . . . . <a href="#page-26">26</a>
<a href="#section-5.3">5.3</a>. Latency Considerations . . . . . . . . . . . . . . . . . . <a href="#page-27">27</a>
<a href="#section-5.4">5.4</a>. Firewall State Considerations . . . . . . . . . . . . . . <a href="#page-27">27</a>
<a href="#section-5.5">5.5</a>. Intrusion Detection Systems (IDSs) . . . . . . . . . . . . <a href="#page-28">28</a>
<a href="#section-5.6">5.6</a>. Implementation of the Mobile Node . . . . . . . . . . . . <a href="#page-28">28</a>
<a href="#section-5.7">5.7</a>. Non-IPsec VPN Protocols . . . . . . . . . . . . . . . . . <a href="#page-28">28</a>
<a href="#section-6">6</a>. Security Considerations . . . . . . . . . . . . . . . . . . . <a href="#page-29">29</a>
<a href="#section-6.1">6.1</a>. Internal Network Detection . . . . . . . . . . . . . . . . <a href="#page-29">29</a>
<a href="#section-6.2">6.2</a>. Mobile IPv4 versus IPsec . . . . . . . . . . . . . . . . . <a href="#page-30">30</a>
<a href="#section-7">7</a>. IANA Considerations . . . . . . . . . . . . . . . . . . . . . <a href="#page-31">31</a>
<a href="#section-8">8</a>. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-31">31</a>
<a href="#section-9">9</a>. References . . . . . . . . . . . . . . . . . . . . . . . . . . <a href="#page-32">32</a>
<a href="#section-9.1">9.1</a>. Normative References . . . . . . . . . . . . . . . . . . . <a href="#page-32">32</a>
<a href="#section-9.2">9.2</a>. Informative References . . . . . . . . . . . . . . . . . . <a href="#page-33">33</a>
<a href="#appendix-A">Appendix A</a>. Packet Flow Examples . . . . . . . . . . . . . . . . <a href="#page-34">34</a>
<a href="#appendix-A.1">A.1</a>. Connection Setup for Access Mode 'cvc' . . . . . . . . . . <a href="#page-34">34</a>
<span class="grey">Vaarala & Klovning Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
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 [<a href="./rfc4093" title=""Problem Statement: Mobile IPv4 Traversal of Virtual Private Network (VPN) Gateways"">RFC4093</a>]. 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 [<a href="./rfc4093" title=""Problem Statement: Mobile IPv4 Traversal of Virtual Private Network (VPN) Gateways"">RFC4093</a>] 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.
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Overview</span>
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;
<span class="grey">Vaarala & Klovning Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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
[<a href="#ref-tessier" title=""Guidelines for Mobile IP and IPsec VPN Usage"">tessier</a>].
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 (<a href="#section-3">Section 3</a>);
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
<span class="grey">Vaarala & Klovning Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h3"><a class="selflink" id="section-1.2" href="#section-1.2">1.2</a>. Scope</span>
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 <a href="#section-5">Section 5</a>) 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.
<span class="h3"><a class="selflink" id="section-1.3" href="#section-1.3">1.3</a>. Related Work</span>
Related work has been done on Mobile IPv6 in [<a href="./rfc3776" title=""Using IPsec to Protect Mobile IPv6 Signaling Between Mobile Nodes and Home Agents"">RFC3776</a>], 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 [<a href="#ref-pseudonat" title=""Transient pseudo-NAT attacks or how NATs are even more evil than you believed"">pseudonat</a>] and
[<a href="#ref-mipnat" title=""Mobile IP Traversal of Network Address Translation (NAT) Devices"">mipnat</a>], 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) [<a href="./rfc4555" title=""IKEv2 Mobility and Multihoming Protocol (MOBIKE)"">RFC4555</a>]
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.
<span class="h3"><a class="selflink" id="section-1.4" href="#section-1.4">1.4</a>. Terms and Abbreviations</span>
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.
<span class="grey">Vaarala & Klovning Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 [<a href="#ref-privaddr" title=""Address Allocation for Private Internets"">privaddr</a>].
i-HoA: home address of the mobile node in the internal home agent.
MN: mobile node.
NAI: Network Access Identifier [<a href="./rfc4282" title=""The Network Access Identifier"">RFC4282</a>].
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 [<a href="./rfc3456" title=""Dynamic Host Configuration Protocol (DHCPv4) Configuration of IPsec Tunnel Mode"">RFC3456</a>], 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.
<span class="h3"><a class="selflink" id="section-1.5" href="#section-1.5">1.5</a>. Requirement Levels</span>
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 <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>
[<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="grey">Vaarala & Klovning Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-1.6" href="#section-1.6">1.6</a>. Assumptions and Rationale</span>
The solution is an attempt to solve the problem described in
[<a href="./rfc4093" title=""Problem Statement: Mobile IPv4 Traversal of Virtual Private Network (VPN) Gateways"">RFC4093</a>]. 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.).
<span class="grey">Vaarala & Klovning Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h3"><a class="selflink" id="section-1.7" href="#section-1.7">1.7</a>. Why IPsec Lacks Mobility</span>
IPsec, as currently specified [<a href="./rfc4301" title=""Security Architecture for the Internet Protocol"">RFC4301</a>], 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) (<a href="./rfc4301#section-4.1">[RFC4301], Section 4.1</a>). 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).
<span class="grey">Vaarala & Klovning Standards Track [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 [<a href="./rfc3947" title=""Negotiation of NAT-Traversal in the IKE"">RFC3947</a>].
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) [<a href="./rfc4555" title=""IKEv2 Mobility and Multihoming Protocol (MOBIKE)"">RFC4555</a>]
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.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. The Network Environment</span>
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)).
<span class="grey">Vaarala & Klovning Standards Track [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
(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).
<span class="grey">Vaarala & Klovning Standards Track [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 [<a href="#ref-privaddr" title=""Address Allocation for Private Internets"">privaddr</a>]. 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.
<span class="grey">Vaarala & Klovning Standards Track [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 <a href="#section-3">Section 3</a> (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.
<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>. Access Mode: 'c'</span>
This access mode is standard Mobile IPv4 [<a href="./rfc3344" title=""IP Mobility Support for IPv4"">RFC3344</a>] 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
<a href="#section-4">Section 4</a>).
<span class="grey">Vaarala & Klovning Standards Track [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>. Access Mode: 'f'</span>
This access mode is standard Mobile IPv4 [<a href="./rfc3344" title=""IP Mobility Support for IPv4"">RFC3344</a>] 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
<a href="#section-4">Section 4</a>).
<span class="h3"><a class="selflink" id="section-2.3" href="#section-2.3">2.3</a>. Access Mode: 'cvc'</span>
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.
<span class="grey">Vaarala & Klovning Standards Track [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h3"><a class="selflink" id="section-2.4" href="#section-2.4">2.4</a>. Access Mode: 'fvc'</span>
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
<a href="#section-2.3">Section 2.3</a>)
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.
<span class="h3"><a class="selflink" id="section-2.5" href="#section-2.5">2.5</a>. NAT Traversal</span>
NAT devices may affect each layer independently. Mobile IPv4 NAT
traversal [<a href="#ref-mipnat" title=""Mobile IP Traversal of Network Address Translation (NAT) Devices"">mipnat</a>] SHOULD be supported for x-MIP and i-MIP layers,
while IPsec NAT traversal [<a href="./rfc3947" title=""Negotiation of NAT-Traversal in the IKE"">RFC3947</a>][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
<span class="grey">Vaarala & Klovning Standards Track [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
makes VPN client implementation easier. Mobile IPv4 NAT traversal is
required to establish a MIPv4 session in this case.
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Internal Network Detection</span>
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 <a href="#section-3.2">Section 3.2</a>; this ensures that basic
security requirements are fulfilled. The basic algorithm described
in <a href="#section-3.3">Section 3.3</a> is one way to do that, but alternative methods may be
used instead or in conjunction. The assumptions that the
<span class="grey">Vaarala & Klovning Standards Track [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
requirements and the proposed mechanism rely upon are described in
<a href="#section-3.1">Section 3.1</a>.
<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>. Assumptions</span>
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 <a href="#section-3.4">Section 3.4</a>.
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.
<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>. Implementation Requirements</span>
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
<a href="#section-3.3">Section 3.3</a>.
<span class="h4"><a class="selflink" id="section-3.2.1" href="#section-3.2.1">3.2.1</a>. Separate Tracking of Network Interfaces</span>
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.
<span class="h4"><a class="selflink" id="section-3.2.2" href="#section-3.2.2">3.2.2</a>. Connection Status Change</span>
When the mobile node detects that its connection status on a certain
network interface changes, the mobile node MUST:
<span class="grey">Vaarala & Klovning Standards Track [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h4"><a class="selflink" id="section-3.2.3" href="#section-3.2.3">3.2.3</a>. Registration-Based Internal Network Detection</span>
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
(<a href="#section-3.4">Section 3.4</a>), and the connection status of the interface has not
changed since.
<span class="h4"><a class="selflink" id="section-3.2.4" href="#section-3.2.4">3.2.4</a>. Registration-Based Internal Network Monitoring</span>
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.
<span class="grey">Vaarala & Klovning Standards Track [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="grey">Vaarala & Klovning Standards Track [Page 18]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-19" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-3.3" href="#section-3.3">3.3</a>. Proposed Algorithm</span>
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 (<a href="#section-3.4">Section 3.4</a>), 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 <a href="#section-3.2.4">Section 3.2.4</a>. 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.
<span class="grey">Vaarala & Klovning Standards Track [Page 19]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-20" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-3.4" href="#section-3.4">3.4</a>. Trusted Networks Configured (TNC) Extension</span>
This extension is a skippable extension. An i-HA sending the
extension must fulfill the requirements described in <a href="#section-4.3">Section 4.3</a>,
while an MN processing the extension must fulfill the requirements
described in <a href="#section-4.1">Section 4.1</a>. The format of the extension is described
below. It adheres to the short extension format described in
[<a href="./rfc3344" title=""IP Mobility Support for IPv4"">RFC3344</a>]:
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
<span class="h3"><a class="selflink" id="section-3.5" href="#section-3.5">3.5</a>. Implementation Issues</span>
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:
<span class="grey">Vaarala & Klovning Standards Track [Page 20]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-21" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h3"><a class="selflink" id="section-3.6" href="#section-3.6">3.6</a>. Rationale for Design Choices</span>
<span class="h4"><a class="selflink" id="section-3.6.1" href="#section-3.6.1">3.6.1</a>. Firewall Configuration Requirements</span>
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
<span class="grey">Vaarala & Klovning Standards Track [Page 21]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-22" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
registration request source addresses are trusted, using a
registration reply extension (Trusted Networks Configured extension,
<a href="#section-3.4">Section 3.4</a>). 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.
<span class="h4"><a class="selflink" id="section-3.6.2" href="#section-3.6.2">3.6.2</a>. Registration-Based Internal Network Monitoring</span>
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.
<span class="h4"><a class="selflink" id="section-3.6.3" href="#section-3.6.3">3.6.3</a>. No Encryption When Inside</span>
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 <a href="#section-1.6">Section 1.6</a>. 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.
<span class="h3"><a class="selflink" id="section-3.7" href="#section-3.7">3.7</a>. Improvements</span>
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
<span class="grey">Vaarala & Klovning Standards Track [Page 22]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-23" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Requirements</span>
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. Mobile Node Requirements</span>
The mobile node MUST implement an internal network detection
algorithm fulfilling the requirements set forth in <a href="#section-3.2">Section 3.2</a>. 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 (<a href="#section-3.4">Section 3.4</a>).
The mobile node MUST support access modes c, f, cvc, fvc (<a href="#section-2">Section 2</a>).
The mobile node SHOULD support Mobile IPv4 NAT traversal [<a href="#ref-mipnat" title=""Mobile IP Traversal of Network Address Translation (NAT) Devices"">mipnat</a>] for
both internal and external Mobile IP.
The mobile node SHOULD support IPsec NAT traversal [<a href="./rfc3947" title=""Negotiation of NAT-Traversal in the IKE"">RFC3947</a>]
[<a href="./rfc3948" title=""UDP Encapsulation of IPsec packets"">RFC3948</a>].
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).
<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. VPN Device Requirements</span>
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 [<a href="./rfc3947" title=""Negotiation of NAT-Traversal in the IKE"">RFC3947</a>] and [<a href="./rfc3948" title=""UDP Encapsulation of IPsec packets"">RFC3948</a>].
<span class="grey">Vaarala & Klovning Standards Track [Page 23]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-24" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-4.3" href="#section-4.3">4.3</a>. Home Agent Requirements</span>
The home agent SHOULD implement the Mobile IPv4 NAT traversal
mechanism described in [<a href="#ref-mipnat" title=""Mobile IP Traversal of Network Address Translation (NAT) Devices"">mipnat</a>]. (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 (<a href="#section-3.4">Section 3.4</a>)
in a registration reply sent in response to a registration request
coming from a trusted address.
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Analysis</span>
This section provides a comparison against guidelines described in
<a href="#section-6">Section 6</a> of the problem statement [<a href="./rfc4093" title=""Problem Statement: Mobile IPv4 Traversal of Virtual Private Network (VPN) Gateways"">RFC4093</a>] and additional analysis
of packet overhead with and without the optional mechanisms.
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>. Comparison against Guidelines</span>
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.
<span class="grey">Vaarala & Klovning Standards Track [Page 24]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-25" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 [<a href="#ref-mipnat" title=""Mobile IP Traversal of Network Address Translation (NAT) Devices"">mipnat</a>] and
IPsec NAT traversal [<a href="./rfc3947" title=""Negotiation of NAT-Traversal in the IKE"">RFC3947</a>] [<a href="./rfc3948" title=""UDP Encapsulation of IPsec packets"">RFC3948</a>] 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
<span class="grey">Vaarala & Klovning Standards Track [Page 25]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-26" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 <a href="#section-6">Section 6</a>.
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>. Packet Overhead</span>
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 <a href="./rfc4303#section-2.4">Section 2.4 of [RFC4303]</a>), 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 [<a href="./rfc3947" title=""Negotiation of NAT-Traversal in the IKE"">RFC3947</a>] [<a href="./rfc3948" title=""UDP Encapsulation of IPsec packets"">RFC3948</a>] is used and 12 octets when MIP NAT
traversal [<a href="#ref-mipnat" title=""Mobile IP Traversal of Network Address Translation (NAT) Devices"">mipnat</a>] 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.
<span class="grey">Vaarala & Klovning Standards Track [Page 26]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-27" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-5.3" href="#section-5.3">5.3</a>. Latency Considerations</span>
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 <a href="#section-3.3">Section 3.3</a>). 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.
<span class="h3"><a class="selflink" id="section-5.4" href="#section-5.4">5.4</a>. Firewall State Considerations</span>
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.
<span class="grey">Vaarala & Klovning Standards Track [Page 27]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-28" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h3"><a class="selflink" id="section-5.5" href="#section-5.5">5.5</a>. Intrusion Detection Systems (IDSs)</span>
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.
<span class="h3"><a class="selflink" id="section-5.6" href="#section-5.6">5.6</a>. Implementation of the Mobile Node</span>
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.
<span class="h3"><a class="selflink" id="section-5.7" href="#section-5.7">5.7</a>. Non-IPsec VPN Protocols</span>
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.
<span class="grey">Vaarala & Klovning Standards Track [Page 28]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-29" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Security Considerations</span>
<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a>. Internal Network Detection</span>
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 [<a href="./rfc3344" title=""IP Mobility Support for IPv4"">RFC3344</a>], 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.
<span class="grey">Vaarala & Klovning Standards Track [Page 29]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-30" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a>. Mobile IPv4 versus IPsec</span>
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 [<a href="#ref-pseudonat" title=""Transient pseudo-NAT attacks or how NATs are even more evil than you believed"">pseudonat</a>] and [<a href="#ref-mipnat" title=""Mobile IP Traversal of Network Address Translation (NAT) Devices"">mipnat</a>], 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.
<span class="grey">Vaarala & Klovning Standards Track [Page 30]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-31" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 (<a href="./rfc3344">RFC 3344</a>) or prefix+suffix MD5 (<a href="./rfc2002">RFC 2002</a>). 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.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. IANA Considerations</span>
This document specifies a new skippable extension (in the short
format) in <a href="#section-3.4">Section 3.4</a>, whose Type and Sub-Type values have been
assigned.
Allocation of new Sub-Type values can be made via Expert Review and
Specification Required [<a href="./rfc5226" title="">RFC5226</a>].
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. Acknowledgements</span>
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
<span class="grey">Vaarala & Klovning Standards Track [Page 31]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-32" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. References</span>
<span class="h3"><a class="selflink" id="section-9.1" href="#section-9.1">9.1</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-RFC3344">RFC3344</a>] Perkins, C., Ed., "IP Mobility Support for IPv4",
<a href="./rfc3344">RFC 3344</a>, August 2002.
[<a id="ref-RFC3947">RFC3947</a>] Kivinen, T., Swander, B., Huttunen, A., and V. Volpe,
"Negotiation of NAT-Traversal in the IKE", <a href="./rfc3947">RFC 3947</a>,
January 2005.
[<a id="ref-RFC3948">RFC3948</a>] Huttunen, A., Swander, B., Volpe, V., DiBurro, L., and
M. Stenberg, "UDP Encapsulation of IPsec packets",
<a href="./rfc3948">RFC 3948</a>, January 2005.
[<a id="ref-RFC4301">RFC4301</a>] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", <a href="./rfc4301">RFC 4301</a>, December 2005.
[<a id="ref-RFC4303">RFC4303</a>] Kent, S., "IP Encapsulating Security Payload (ESP)",
<a href="./rfc4303">RFC 4303</a>, December 2005.
[<a id="ref-RFC5226">RFC5226</a>] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", <a href="https://www.rfc-editor.org/bcp/bcp26">BCP 26</a>, <a href="./rfc5226">RFC 5226</a>,
May 2008.
[<a id="ref-mipnat">mipnat</a>] Levkowetz, H. and S. Vaarala, "Mobile IP Traversal of
Network Address Translation (NAT) Devices", <a href="./rfc3519">RFC 3519</a>,
April 2003.
[<a id="ref-privaddr">privaddr</a>] Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot,
G., and E. Lear, "Address Allocation for Private
Internets", <a href="https://www.rfc-editor.org/bcp/bcp5">BCP 5</a>, <a href="./rfc1918">RFC 1918</a>, February 1996.
<span class="grey">Vaarala & Klovning Standards Track [Page 32]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-33" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h3"><a class="selflink" id="section-9.2" href="#section-9.2">9.2</a>. Informative References</span>
[<a id="ref-RFC2002">RFC2002</a>] Perkins, C., "IP Mobility Support", <a href="./rfc2002">RFC 2002</a>,
October 1996.
[<a id="ref-RFC3456">RFC3456</a>] Patel, B., Aboba, B., Kelly, S., and V. Gupta, "Dynamic
Host Configuration Protocol (DHCPv4) Configuration of
IPsec Tunnel Mode", <a href="./rfc3456">RFC 3456</a>, January 2003.
[<a id="ref-RFC3776">RFC3776</a>] Arkko, J., Devarapalli, V., and F. Dupont, "Using IPsec
to Protect Mobile IPv6 Signaling Between Mobile Nodes
and Home Agents", <a href="./rfc3776">RFC 3776</a>, June 2004.
[<a id="ref-RFC4093">RFC4093</a>] Adrangi, F. and H. Levkowetz, "Problem Statement: Mobile
IPv4 Traversal of Virtual Private Network (VPN)
Gateways", <a href="./rfc4093">RFC 4093</a>, August 2005.
[<a id="ref-RFC4282">RFC4282</a>] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The
Network Access Identifier", <a href="./rfc4282">RFC 4282</a>, December 2005.
[<a id="ref-RFC4555">RFC4555</a>] Eronen, P., "IKEv2 Mobility and Multihoming Protocol
(MOBIKE)", <a href="./rfc4555">RFC 4555</a>, June 2006.
[<a id="ref-pseudonat">pseudonat</a>] Dupont, F. and J. Bernard, "Transient pseudo-NAT attacks
or how NATs are even more evil than you believed", Work
in Progress, June 2004.
[<a id="ref-tessier">tessier</a>] Tessier, S., "Guidelines for Mobile IP and IPsec VPN
Usage", Work in Progress, December 2002.
<span class="grey">Vaarala & Klovning Standards Track [Page 33]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-34" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. Packet Flow Examples</span>
<span class="h3"><a class="selflink" id="appendix-A.1" href="#appendix-A.1">A.1</a>. Connection Setup for Access Mode 'cvc'</span>
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).
<span class="grey">Vaarala & Klovning Standards Track [Page 34]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-35" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 ! ! ! ! !
: : : : : :
: : : : : :
<span class="grey">Vaarala & Klovning Standards Track [Page 35]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-36" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 ! !
`-------------------'
<span class="grey">Vaarala & Klovning Standards Track [Page 36]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-37" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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 ! !
`-------------------'
<span class="grey">Vaarala & Klovning Standards Track [Page 37]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-38" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
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
<span class="grey">Vaarala & Klovning Standards Track [Page 38]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-39" ></span>
<span class="grey"><a href="./rfc5265">RFC 5265</a> MIPv4-VPN June 2008</span>
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a>, 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 <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and <a href="https://www.rfc-editor.org/bcp/bcp79">BCP 79</a>.
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
<a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>.
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]
</pre>
|