1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925
|
<pre>Network Working Group J. Jason
Request for Comments: 3585 Intel Corporation
Category: Standards Track L. Rafalow
IBM
E. Vyncke
Cisco Systems
August 2003
<span class="h1">IPsec Configuration Policy Information Model</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.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This document presents an object-oriented information model of IP
Security (IPsec) policy designed to facilitate agreement about the
content and semantics of IPsec policy, and enable derivations of
task-specific representations of IPsec policy such as storage schema,
distribution representations, and policy specification languages used
to configure IPsec-enabled endpoints. The information model
described in this document models the configuration parameters
defined by IPSec. The information model also covers the parameters
found by the Internet Key Exchange protocol (IKE). Other key
exchange protocols could easily be added to the information model by
a simple extension. Further extensions can further be added easily
due to the object-oriented nature of the model.
This information model is based upon the core policy classes as
defined in the Policy Core Information Model (PCIM) and in the Policy
Core Information Model Extensions (PCIMe).
<span class="grey">Jason, et al. Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
Table of Contents
<a href="#section-1">1</a>. Introduction.................................................. <a href="#page-3">3</a>
<a href="#section-2">2</a>. UML Conventions............................................... <a href="#page-4">4</a>
<a href="#section-3">3</a>. IPsec Policy Model Inheritance Hierarchy...................... <a href="#page-6">6</a>
<a href="#section-4">4</a>. Policy Classes................................................ <a href="#page-11">11</a>
<a href="#section-4.1">4.1</a>. The Class SARule........................................ <a href="#page-13">13</a>
<a href="#section-4.2">4.2</a>. The Class IKERule....................................... <a href="#page-17">17</a>
<a href="#section-4.3">4.3</a>. The Class IPsecRule..................................... <a href="#page-18">18</a>
<a href="#section-4.4">4.4</a>. The Association Class IPsecPolicyForEndpoint............ <a href="#page-18">18</a>
<a href="#section-4.5">4.5</a>. The Association Class IPsecPolicyForSystem.............. <a href="#page-19">19</a>
<a href="#section-4.6">4.6</a>. The Aggregation Class SAConditionInRule................. <a href="#page-19">19</a>
<a href="#section-4.7">4.7</a>. The Aggregation Class PolicyActionInSARule.............. <a href="#page-20">20</a>
<a href="#section-5">5</a>. Condition and Filter Classes.................................. <a href="#page-22">22</a>
<a href="#section-5.1">5.1</a>. The Class SACondition................................... <a href="#page-23">23</a>
<a href="#section-5.2">5.2</a>. The Class IPHeadersFilter............................... <a href="#page-23">23</a>
<a href="#section-5.3">5.3</a>. The Class CredentialFilterEntry......................... <a href="#page-23">23</a>
<a href="#section-5.4">5.4</a>. The Class IPSOFilterEntry............................... <a href="#page-25">25</a>
<a href="#section-5.5">5.5</a>. The Class PeerIDPayloadFilterEntry...................... <a href="#page-26">26</a>
<a href="#section-5.6">5.6</a>. The Association Class FilterOfSACondition............... <a href="#page-28">28</a>
<a href="#section-5.7">5.7</a>. The Association Class AcceptCredentialFrom.............. <a href="#page-29">29</a>
<a href="#section-6">6</a>. Action Classes................................................ <a href="#page-30">30</a>
<a href="#section-6.1">6.1</a>. The Class SAAction...................................... <a href="#page-32">32</a>
<a href="#section-6.2">6.2</a>. The Class SAStaticAction................................ <a href="#page-33">33</a>
<a href="#section-6.3">6.3</a>. The Class IPsecBypassAction............................. <a href="#page-34">34</a>
<a href="#section-6.4">6.4</a>. The Class IPsecDiscardAction............................ <a href="#page-34">34</a>
<a href="#section-6.5">6.5</a>. The Class IKERejectAction............................... <a href="#page-35">35</a>
<a href="#section-6.6">6.6</a>. The Class PreconfiguredSAAction......................... <a href="#page-35">35</a>
<a href="#section-6.7">6.7</a>. The Class PreconfiguredTransportAction.................. <a href="#page-36">36</a>
<a href="#section-6.8">6.8</a>. The Class PreconfiguredTunnelAction..................... <a href="#page-37">37</a>
<a href="#section-6.9">6.9</a>. The Class SANegotiationAction........................... <a href="#page-37">37</a>
<a href="#section-6.10">6.10</a>. The Class IKENegotiationAction.......................... <a href="#page-38">38</a>
<a href="#section-6.11">6.11</a>. The Class IPsecAction................................... <a href="#page-39">39</a>
<a href="#section-6.12">6.12</a>. The Class IPsecTransportAction.......................... <a href="#page-41">41</a>
<a href="#section-6.13">6.13</a>. The Class IPsecTunnelAction............................. <a href="#page-42">42</a>
<a href="#section-6.14">6.14</a>. The Class IKEAction..................................... <a href="#page-42">42</a>
<a href="#section-6.15">6.15</a>. The Class PeerGateway................................... <a href="#page-44">44</a>
<a href="#section-6.16">6.16</a>. The Association Class PeerGatewayForTunnel.............. <a href="#page-45">45</a>
<a href="#section-6.17">6.17</a>. The Aggregation Class ContainedProposal................. <a href="#page-46">46</a>
<a href="#section-6.18">6.18</a>. The Association Class HostedPeerGatewayInformation...... <a href="#page-47">47</a>
<a href="#section-6.19">6.19</a>. The Association Class TransformOfPreconfiguredAction.... <a href="#page-48">48</a>
6.20 The Association Class PeerGatewayForPreconfiguredTunnel. 49
<a href="#section-7">7</a>. Proposal and Transform Classes................................ <a href="#page-50">50</a>
<a href="#section-7.1">7.1</a>. The Abstract Class SAProposal........................... <a href="#page-50">50</a>
<a href="#section-7.2">7.2</a>. The Class IKEProposal................................... <a href="#page-51">51</a>
<a href="#section-7.3">7.3</a>. The Class IPsecProposal................................. <a href="#page-54">54</a>
<a href="#section-7.4">7.4</a>. The Abstract Class SATransform.......................... <a href="#page-54">54</a>
<a href="#section-7.5">7.5</a>. The Class AHTransform................................... <a href="#page-56">56</a>
<span class="grey">Jason, et al. Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<a href="#section-7.6">7.6</a>. The Class ESPTransform.................................. <a href="#page-57">57</a>
<a href="#section-7.7">7.7</a>. The Class IPCOMPTransform............................... <a href="#page-59">59</a>
<a href="#section-7.8">7.8</a>. The Association Class SAProposalInSystem................ <a href="#page-60">60</a>
<a href="#section-7.9">7.9</a>. The Aggregation Class ContainedTransform................ <a href="#page-60">60</a>
<a href="#section-7.10">7.10</a>. The Association Class SATransformInSystem............... <a href="#page-62">62</a>
<a href="#section-8">8</a>. IKE Service and Identity Classes.............................. <a href="#page-63">63</a>
<a href="#section-8.1">8.1</a>. The Class IKEService.................................... <a href="#page-64">64</a>
<a href="#section-8.2">8.2</a>. The Class PeerIdentityTable............................. <a href="#page-64">64</a>
<a href="#section-8.3">8.3</a>. The Class PeerIdentityEntry............................. <a href="#page-65">65</a>
<a href="#section-8.4">8.4</a>. The Class AutostartIKEConfiguration..................... <a href="#page-66">66</a>
<a href="#section-8.5">8.5</a>. The Class AutostartIKESetting........................... <a href="#page-67">67</a>
<a href="#section-8.6">8.6</a>. The Class IKEIdentity................................... <a href="#page-69">69</a>
<a href="#section-8.7">8.7</a>. The Association Class HostedPeerIdentityTable........... <a href="#page-71">71</a>
<a href="#section-8.8">8.8</a>. The Aggregation Class PeerIdentityMember................ <a href="#page-71">71</a>
<a href="#section-8.9">8.9</a>. The Association Class IKEServicePeerGateway............. <a href="#page-72">72</a>
<a href="#section-8.10">8.10</a>. The Association Class IKEServicePeerIdentityTable....... <a href="#page-73">73</a>
<a href="#section-8.11">8.11</a>. The Association Class IKEAutostartSetting............... <a href="#page-73">73</a>
<a href="#section-8.12">8.12</a>. The Aggregation Class AutostartIKESettingContext........ <a href="#page-74">74</a>
<a href="#section-8.13">8.13</a>. The Association Class IKEServiceForEndpoint............. <a href="#page-75">75</a>
<a href="#section-8.14">8.14</a>. The Association Class IKEAutostartConfiguration......... <a href="#page-76">76</a>
8.15. The Association Class IKEUsesCredentialManagementService 77
<a href="#section-8.16">8.16</a>. The Association Class EndpointHasLocalIKEIdentity....... <a href="#page-77">77</a>
<a href="#section-8.17">8.17</a>. The Association Class CollectionHasLocalIKEIdentity..... <a href="#page-78">78</a>
<a href="#section-8.18">8.18</a>. The Association Class IKEIdentitysCredential............ <a href="#page-79">79</a>
<a href="#section-9">9</a>. Implementation Requirements................................... <a href="#page-79">79</a>
<a href="#section-10">10</a>. Security Considerations....................................... <a href="#page-84">84</a>
<a href="#section-11">11</a>. Intellectual Property Statement............................... <a href="#page-84">84</a>
<a href="#section-12">12</a>. References ................................................... <a href="#page-85">85</a>
<a href="#section-12.1">12.1</a>. Normative References.................................... <a href="#page-85">85</a>
<a href="#section-12.2">12.2</a>. Informative References.................................. <a href="#page-86">86</a>
<a href="#section-13">13</a>. Disclaimer.................................................... <a href="#page-86">86</a>
<a href="#section-14">14</a>. Acknowledgments............................................... <a href="#page-86">86</a>
<a href="#section-15">15</a>. Authors' Addresses............................................ <a href="#page-87">87</a>
<a href="#section-16">16</a>. Full Copyright Statement...................................... <a href="#page-88">88</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
IP security (IPsec) policy may assume a variety of forms as it
travels from storage, to distribution, to decision points. At each
step, it needs to be represented in a way that is convenient for the
current task. For example, the policy could exist as, but is not
limited to:
o A Lightweight Directory Access Protocol (LDAP) [<a href="#ref-LDAP" title=""Lightweight Directory Access Protocol (v3)"">LDAP</a>] schema in a
directory.
o An on-the-wire representation over a transport protocol like the
Common Object Policy Service (COPS) [<a href="#ref-COPS" title=""The COPS (Common Open Policy Service) Protocol"">COPS</a>, <a href="#ref-COPSPR" title=""COPS Usage for Policy Provisioning (COPS-PR)"">COPSPR</a>].
<span class="grey">Jason, et al. Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
o A text-based policy specification language suitable for editing by
an administrator.
o An Extensible Markup Language (XML) document.
Each of these task-specific representations should be derived from a
canonical representation that precisely specifies the content and
semantics of the IPsec policy. This document captures this concept
and introduces a task-independent canonical representation for IPsec
policies.
This document focuses mainly on the existing protocols [COMP, ESP,
AH, DOI, IKE]. The model can easily be extended if needed due to its
object-oriented nature.
This document is organized as follows:
o <a href="#section-2">Section 2</a> provides a quick introduction to the Unified Modeling
Language (UML) graphical notation conventions used in this
document.
o <a href="#section-3">Section 3</a> provides the inheritance hierarchy that describes where
the IPsec policy classes fit into the policy class hierarchy
already defined by the Policy Core Information Model (PCIM) and
Policy Core Information Model Extensions (PCIMe).
o Sections <a href="#section-4">4</a> through <a href="#section-8">8</a> describe the classes that make up the IPsec
policy model.
o <a href="#section-9">Section 9</a> presents the implementation requirements for the classes
in the model (i.e., the MUST/MAY/SHOULD status).
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="#ref-KEYWORDS" title=""Key words for use in RFCs to Indicate Requirement Levels"">KEYWORDS</a>].
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. UML Conventions</span>
For this document, a UML static class diagram was chosen as the
canonical representation for the IPsec policy model, because UML
provides a graphical, task-independent way to model systems. A
treatise on the graphical notation used in UML is beyond the scope of
this paper. However, given the use of ASCII drawing for UML static
class diagrams, a description of the notational conventions used in
this document is in order:
<span class="grey">Jason, et al. Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
o Boxes represent classes, with class names in brackets ([])
representing an abstract class.
o A line that terminates with an arrow (<, >, ^, v) denotes
inheritance. The arrow always points to the parent class.
Inheritance can also be called generalization or specialization
(depending upon the reference point). A base class is a
generalization of a derived class, and a derived class is a
specialization of a base class.
o Associations are used to model a relationship between two classes.
Classes that share an association are connected using a line. A
special kind of association is also used: an aggregation. An
aggregation models a whole-part relationship between two classes.
Associations, and therefore aggregations, are also modeled as
classes.
o A line that begins with an "o" denotes aggregation. Aggregation
denotes containment in which the contained class and the
containing class have independent lifetimes.
o At each end of a line representing an association appears a
cardinality (i.e., each association has 2 cardinalities).
Cardinalities indicate the constraints on the number of object
instances in a set of relationships. The cardinality on a given
end of an association indicates the number of different object
instances of that class that may be associated with a single
object instance of the class on the other end of the association.
The cardinality may be:
- a range in the form "lower bound..upper bound" indicating the
minimum and maximum number of objects.
- a number that indicates the exact number of objects.
- an asterisk indicating any number of objects, including zero.
An asterisk is shorthand for 0..n.
- the letter n indicating from 1 to many. The letter n is
shorthand for 1..n.
o A class that has an association may have a "w" next to the line
representing the association. This is called a weak association
and is discussed in [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>].
It should be noted that the UML static class diagram presented is a
conceptual view of IPsec policy designed to aid in understanding. It
does not necessarily get translated class for class into another
<span class="grey">Jason, et al. Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
representation. For example, an LDAP implementation may flatten out
the representation to fewer classes (because of the inefficiency of
following references).
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. IPsec Policy Model Inheritance Hierarchy</span>
Like PCIM and PCIMe, the IPsec Configuration Policy Model derives
from and uses classes defined in the DMTF [<a href="#ref-DMTF">DMTF</a>] Common Information
Model (CIM). The following tree represents the inheritance hierarchy
for the IPsec Policy Model classes and how they fit into PCIM, PCIMe
and the other DMTF models (see Appendices for descriptions of classes
that are not being introduced as part of IPsec model). CIM classes
that are not used as a superclass to derive new classes, but are used
only as references, are not included in this inheritance hierarchy,
but can be found in the appropriate DMTF document: Core Model
[<a href="#ref-CIMCORE">CIMCORE</a>], User Model [<a href="#ref-CIMUSER">CIMUSER</a>] or, Network Model [<a href="#ref-CIMNETWORK">CIMNETWORK</a>].
ManagedElement (DMTF Core Model)
|
+--Collection (DMTF Core Model)
| |
| +--PeerIdentityTable
|
+--ManagedSystemElement (DMTF Core Model)
| |
| +--LogicalElement (DMTF Core Model)
| |
| +--FilterEntryBase (DMTF Network Model)
| | |
| | +--CredentialFilterEntry
| | |
| | +--IPHeadersFilter (PCIMe)
| | |
| | +--IPSOFilterEntry
| | |
| | +--PeerIDPayloadFilterEntry
| |
| +--PeerGateway
| |
| +--PeerIdentityEntry
| |
| +--Service (DMTF Core Model)
| |
| +--IKEService
|
<span class="grey">Jason, et al. Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
+--OrganizationalEntity (DMTF User Model)
| |
| +--UserEntity (DMTF User Model)
| |
| +--UsersAccess (DMTF User Model)
| |
| +--IKEIdentity
|
+--Policy (PCIM)
| |
| +--PolicyAction (PCIM)
| | |
| | +--CompoundPolicyAction (PCIMe)
| | |
| | +--SAAction
| | |
| | +--SANegotiationAction
| | | |
| | | +--IKENegotiationAction
| | | |
| | | +--IKEAction
| | | |
| | | +--IPsecAction
| | | |
| | | +--IPsecTransportAction
| | | |
| | | +--IPsecTunnelAction
| | |
| | +--SAStaticAction
| | |
| | +--IKERejectAction
| | |
| | +--IPsecBypassAction
| | |
| | +--IPsecDiscardAction
| | |
| | +--PreconfiguredSAAction
| | |
| | +--PreconfiguredTransportAction
| | |
| | +--PreconfiguredTunnelAction
| |
| +--PolicyCondition (PCIM)
| | |
| | +--SACondition
| |
| +--PolicySet (PCIMe)
| | |
<span class="grey">Jason, et al. Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
| | +--PolicyGroup (PCIM & PCIMe)
| | |
| | +--PolicyRule (PCIM & PCIMe)
| | |
| | +--SARule
| | |
| | +--IKERule
| | |
| | +--IPsecRule
| |
| +--SAProposal
| | |
| | +--IKEProposal
| | |
| | +--IPsecProposal
| |
| +--SATransform
| |
| +--AHTransform
| |
| +--ESPTransform
| |
| +--IPCOMPTransform
|
+--Setting (DMTF Core Model)
| |
| +--SystemSetting (DMTF Core Model)
| |
| +--AutostartIKESetting
|
+--SystemConfiguration (DMTF Core Model)
|
+--AutostartIKEConfiguration
The following tree represents the inheritance hierarchy of the IPsec
policy model association classes and how they fit into PCIM and the
other DMTF models (see Appendices for description of association
classes that are not being introduced as part of IPsec model).
Dependency (DMTF Core Model)
|
+--AcceptCredentialsFrom
|
+--ElementAsUser (DMTF User Model)
| |
| +--EndpointHasLocalIKEIdentity
| |
| +--CollectionHasLocalIKEIdentity
<span class="grey">Jason, et al. Standards Track [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
|
+--FilterOfSACondition
|
+--HostedPeerGatewayInformation
|
+--HostedPeerIdentityTable
|
+--IKEAutostartConfiguration
|
+--IKEServiceForEndpoint
|
+--IKEServicePeerGateway
|
+--IKEServicePeerIdentityTable
|
+--IKEUsesCredentialManagementService
|
+--IPsecPolicyForEndpoint
|
+--IPsecPolicyForSystem
|
+--PeerGatewayForPreconfiguredTunnel
|
+--PeerGatewayForTunnel
|
+--PolicyInSystem (PCIM)
| |
| +--SAProposalInSystem
| |
| +--SATransformInSystem
|
+--TransformOfPreconfiguredAction
|
+--UsersCredential (DMTF User Model)
|
+--IKEIdentitysCredential
ElementSetting (DMTF Core Model)
|
+--IKEAutostartSetting
MemberOfCollection (DMTF Core Model)
|
+--PeerIdentityMember
PolicyComponent (PCIM)
|
<span class="grey">Jason, et al. Standards Track [Page 9]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-10" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
+--ContainedProposal
|
+--ContainedTransform
|
+--PolicyActionStructure (PCIMe)
| |
| +--PolicyActionInPolicyRule (PCIM & PCIMe)
| |
| +--PolicyActionInSARule
|
+--PolicyConditionStructure (PCIMe)
| |
| +--PolicyConditionInPolicyRule (PCIM & PCIMe)
| |
| +--SAConditionInRule
|
+--PolicySetComponent (PCIMe)
SystemSettingContext (DMTF Core Model)
|
+--AutostartIKESettingContext
<span class="grey">Jason, et al. Standards Track [Page 10]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-11" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Policy Classes</span>
The IPsec policy classes represent the set of policies that are
contained on a system.
+--------------+
| [PolicySet] |*
| ([<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>]) |o--+
+--------------+ |
^ *| |(a)
| +------+
+--------------------------+
| |
+-------------+ +--------------+
| PolicyGroup |0..1 | PolicyRule |*
| ([<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>]) |-----+ | ([<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>]) |o--+
+-------------+ | +--------------+ |(d)
0..1| | ^ |
|(b) | | |*
*| | | +---------------------------+
+--------------------+ |(c) | | PolicyTimePeriodCondition |
| IPProtocolEndpoint | | | | ([<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>]) |
| ([<a href="#ref-CIMNETWORK">CIMNETWORK</a>]) | | | +---------------------------+
+--------------------+ | |
+------------+ | *+----------+*
| System |----+ +-o| SARule |o-------+
| ([<a href="#ref-CIMCORE">CIMCORE</a>])|* | +----------+ |(f)
+------------+ | ^ |
(e)| | |n
+-------------+n | | +--------------+
| SACondition |--------+ | |[PolicyAction]|
+-------------+ | | ([<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>]) |
| +--------------+
| *| ^
| |(g) |
| | +-------+
| *o | |
| +----------------------+ |
| | CompoundPolicyAction | |
| | ([<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>]) | |
| +----------------------+ |
| |
+---------+----+ +---------+
| | |
+---------+ +-----------+ +----------+
| IKERule | | IPsecRule | | SAAction |
+---------+ +-----------+ +----------+
<span class="grey">Jason, et al. Standards Track [Page 11]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-12" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
(a) PolicySetComponent ([<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>])
(b) IPsecPolicyForEndpoint
(c) IPsecPolicyForSystem
(d) PolicyRuleValidityPeriod ([<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
(e) SAConditionInRule
(f) PolicyActionInSARule
(g) PolicyActionInPolicyAction ([<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>])
A PolicyGroup represents the set of policies that are used on an
interface. This PolicyGroup SHOULD be associated either directly
with the IPProtocolEndpoint class instance that represents the
interface (via the IPsecPolicyForEndpoint association) or indirectly
(via the IPsecPolicyForSystem association) associated with the System
that hosts the interface.
The IKE and IPsec rules are used to build or to negotiate the IPsec
Security Association Database (SADB). The IPsec rules represent the
Security Policy Database. The SADB itself is not modeled by this
document.
The IKE and IPsec rules can be described as (also see <a href="#section-6">section 6</a> about
actions):
o An egress unprotected packet will first be checked against the
IPsec rules. If a match is found, the SADB will be checked. If
there is no corresponding IPsec SA in the SADB, and if IKE
negotiation is required by the IPsec rule, the corresponding IKE
rules will be used. The negotiated or preconfigured SA will then
be installed in the SADB.
o An ingress unprotected packet will first be checked against the
IPsec rules. If a match is found, the SADB will be checked for a
corresponding IPsec SA. If there is no corresponding IPsec SA and
a preconfigured SA exists, this preconfigured SA will be installed
in the IPsec SADB. This behavior should only apply to bypass and
discard actions.
o An ingress protected packet will first be checked against the
IPsec rules. If a match is found, the SADB will be checked for a
corresponding IPsec SA. If there is no corresponding IPsec SA and
a preconfigured SA exists, this preconfigured SA will be installed
in the IPsec SADB.
o An ingress IKE negotiation packet, which is not part of an
existing IKE SA, will be checked against the IKE rules. The
SACondition for the IKERule will usually be composed of a
PeerIDPayloadFilterEntry (typically for an aggressive mode IKE
<span class="grey">Jason, et al. Standards Track [Page 12]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-13" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
negotiation) or an IPHeadersFilter. The negotiated SA will then
be installed in the SADB.
It is expected that when an IKE negotiation is required to be
initiated by an IPsec rule, the set of IKE rules will be checked.
The IKE rules check will be based on the outgoing IKE packet using
IPHeadersFilter entries (typically using the HdrDstAddress property).
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. The Class SARule</span>
The class SARule serves as a base class for IKERule and IPsecRule.
Even though the class is concrete, it MUST not be instantiated. It
defines a common connection point for associations to conditions and
actions for both types of rules. Through its derivation from
PolicyRule, an SARule (and therefore IKERule and IPsecRule) also has
the PolicyRuleValidityPeriod association.
Each SARule in a valid PolicyGroup MUST have a unique associated
priority number in the PolicySetComponent.Priority. The class
definition for SARule is as follows:
NAME SARule
DESCRIPTION A base class for IKERule and IPsecRule.
DERIVED FROM PolicyRule (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>] & [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>])
ABSTRACT FALSE
PROPERTIES PolicyRuleName (from PolicyRule)
Enabled (from PolicyRule)
ConditionListType (from PolicyRule)
RuleUsage (from PolicyRule)
Mandatory (from PolicyRule)
SequencedActions (from PolicyRule)
ExecutionStrategy (from PolicyRule)
PolicyRoles (from PolicySet)
PolicyDecisionStrategy (from PolicySet)
LimitNegotiation
<span class="h4"><a class="selflink" id="section-4.1.1" href="#section-4.1.1">4.1.1</a>. The Properties PolicyRuleName, Enabled, ConditionListType,</span>
<span class="h4"> RuleUsage, Mandatory, SequencedActions, PolicyRoles, and</span>
PolicyDecisionStrategy
For a description of these properties, see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>] and [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>].
In SARule subclass instances:
- if the property Mandatory exists, it MUST be set to "true".
- if the property SequencedActions exists, it MUST be set to
"mandatory".
<span class="grey">Jason, et al. Standards Track [Page 13]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-14" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
- the property PolicyRoles is not used in the device-level model.
- if the property PolicyDecisionStrategy exists, it must be set to
"FirstMatching".
<span class="h4"><a class="selflink" id="section-4.1.2" href="#section-4.1.2">4.1.2</a>. The Property ExecutionStrategy</span>
The ExecutionStrategy properties in the PolicyRule subclasses (and in
the CompoundPolicyAction class) determine the behavior of the
contained actions. It defines the strategy to be used in executing
the sequenced actions aggregated by a rule or a compound action. In
the case of actions within a rule, the PolicyActionInSARule
aggregation is used to collect the actions into an ordered set; in
the case of a compound action, the PolicyActionInPolicyAction
aggregation is used to collect the actions into an ordered subset.
There are three execution strategies: do until success, do all, and
do until failure.
"Do Until Success" causes the execution of actions according to the
ActionOrder property in the aggregation instances until a successful
execution of a single action. These actions may be evaluated to
determine if they are appropriate to execute rather than blindly
trying each of the actions until one succeeds. For an initiator,
they are tried in the ActionOrder until the list is exhausted or one
completes successfully. For example, an IKE initiator may have
several IKEActions for the same SACondition. The initiator will try
all IKEActions in the order defined by ActionOrder. I.e., it will
possibly try several phase 1 negotiations with different modes (main
mode then aggressive mode) and/or with multiple IKE peers. For a
responder, when there is more than one action in the rule with "do
until success" condition clause, this provides alternative actions
depending on the received proposals. For example, the same IKERule
may be used to handle aggressive mode and main mode negotiations with
different actions. The responder uses the first appropriate action
in the list of actions.
"Do All" causes the execution of all the actions in the aggregated
set according to their defined order. The execution continues
regardless of failures.
"Do Until Failure" causes the execution of all actions according to a
predefined order until the first failure in execution of an action
instance. Please note that if all actions are successful, then the
aggregated result is a failure. This execution strategy is inherited
from [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>] and is not expected to be of any use for IPsec
configuration.
<span class="grey">Jason, et al. Standards Track [Page 14]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-15" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
For example, in a nested SAs case, the actions of an initiator's rule
might be structured as:
IPsecRule.ExecutionStrategy='Do All'
|
+---1--- IPsecTunnelAction // set up SA from host to gateway
|
+---2--- IPsecTransportAction // set up SA from host through
// tunnel to remote host
Another example, showing a rule with fallback actions might be
structured as:
IPsecRule.ExecutionStrategy='Do Until Success'
|
+---6--- IPsecTransportAction // negotiate SA with peer
|
+---9--- IPsecBypassAction // but if you must, allow in the clear
The CompoundPolicyAction class (See [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>]) may be used in
constructing the actions of IKE and IPsec rules when those rules
specify both multiple actions and fallback actions. The
ExecutionStrategy property in CompoundPolicyAction is used in
conjunction with that in the PolicyRule.
For example, in nesting SAs with a fallback security gateway, the
actions of a rule might be structured as:
IPsecRule.ExecutionStrategy='Do All'
|
+---1--- CompoundPolicyAction.ExecutionStrategy='Do Until Success'
| |
| +---1--- IPsecTunnelAction // set up SA from host to
| | // gateway1
| |
| +---2--- IPsecTunnelAction // or set up SA to gateway2
|
+---2--- IPsecTransportAction // then set up SA from host
// through tunnel to remote
// host
In the case of "Do All", a couple of actions can be executed
successfully before a subsequent action fails. In this case, some
IKE or IPsec actions may have resulted in SAs creation. Even if the
net effect of the aggregated actions is failure, those created SAs
MAY be kept or MAY be deleted.
<span class="grey">Jason, et al. Standards Track [Page 15]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-16" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
In the case of "Do All", the IPsec selectors to be used during IPsec
SA negotiation are:
- for the last IPsecAction of the aggregation (i.e., usually the
innermost IPsec SA): this is the combination of the
IPHeadersFilter class and of the Granularity property of the
IPsecAction.
- for all other IPsecActions of the aggregation: the selector is the
source IP address which is the local IP address, and the
destination IP address is the PeerGateway IP address of the
following IPsecAction of the "Do All" aggregation. NB: the
granularity is IP address to IP address.
If the above behavior is not desirable, the alternative is to define
several SARules, one for each IPsec SA to be built. This will allow
the definition of specific IPsec selectors for all IPsecActions.
<span class="h4"><a class="selflink" id="section-4.1.3" href="#section-4.1.3">4.1.3</a> The Property LimitNegotiation</span>
The property LimitNegotiation is used as part of processing either an
IKE or an IPsec rule.
Before proceeding with a phase 1 negotiation, this property is
checked to determine whether the negotiation role of the rule matches
that defined for the negotiation being undertaken (e.g., Initiator,
Responder, or Both). If this check fails (e.g., the current role is
IKE responder, while the rule specifies IKE initiator), then the IKE
negotiation is stopped. Note that this only applies to new IKE phase
1 negotiations and has no effect on either renegotiation or refresh
operations with peers for which an established SA already exists.
Before proceeding with a phase 2 negotiation, the LimitNegotiation
property of the IPsecRule is first checked to determine if the
negotiation role indicated for the rule matches that of the current
negotiation (Initiator, Responder, or Either). Note that this limit
applies only to new phase 2 negotiations. It is ignored when an
attempt is made to refresh an expiring SA (either side can initiate a
refresh operation). The IKE system can determine that the
negotiation is a refresh operation by checking to see if the selector
information matches that of an existing SA. If LimitNegotiation does
not match and the selector corresponds to a new SA, the negotiation
is stopped.
<span class="grey">Jason, et al. Standards Track [Page 16]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-17" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
The property is defined as follows:
NAME LimitNegotiation
DESCRIPTION Limits the role to be undertaken during negotiation.
SYNTAX unsigned 16-bit integer
VALUE 1 - initiator-only
2 - responder-only
3 - both
<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>. The Class IKERule</span>
The class IKERule associates Conditions and Actions for IKE phase 1
negotiations. The class definition for IKERule is as follows:
NAME IKERule
DESCRIPTION Associates Conditions and Actions for IKE phase 1
negotiations.
DERIVED FROM SARule
ABSTRACT FALSE
PROPERTIES same as SARule, plus
IdentityContexts
<span class="h4"><a class="selflink" id="section-4.2.1" href="#section-4.2.1">4.2.1</a>. The Property IdentityContexts</span>
The IKE service of a security endpoint may have multiple identities
for use in different situations. The combination of the interface
(represented by the IPProtocolEndpoint or by a collection of
IPProtocolEndpoints), the identity type (as specified in the
IKEAction), and the IdentityContexts specifies a unique identity.
The IdentityContexts property specifies the context to select the
relevant IKE identity to be used during the further IKEAction. A
context may be a VPN name or other identifier for selecting the
appropriate identity for use on the protected IPProtocolEndpoint (or
collection of IPProtocolEndpoints).
IdentityContexts is an array of strings. The multiple values in the
array are logically ORed together in evaluating the IdentityContexts.
Each value in the array may be the composition of multiple context
names. So, a single value may be a single context name (e.g.,
"CompanyXVPN"), or it may be combination of contexts. When an array
value is a composition, the individual values are logically ANDed
together for evaluation purposes and the syntax is:
<ContextName>[&&<ContextName>]*
where the individual context names appear in alphabetical order
(according to the collating sequence for UCS-2). So, for example,
<span class="grey">Jason, et al. Standards Track [Page 17]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-18" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
the values "CompanyXVPN", "CompanyYVPN&&TopSecret",
"CompanyZVPN&&Confidential" means that, for the appropriate
IPProtocolEndpoint and IdentityType, the contexts are matched if the
identity specifies "CompanyXVPN", "CompanyYVPN&&TopSecret", or
"CompanyZVPN&&Confidential".
The property is defined as follows:
NAME IdentityContexts
DESCRIPTION Specifies the context in which to select the IKE
identity.
SYNTAX string array
<span class="h3"><a class="selflink" id="section-4.3" href="#section-4.3">4.3</a>. The Class IPsecRule</span>
The class IPsecRule associates Conditions and Actions for IKE phase 2
negotiations for the IPsec DOI. The class definition for IPsecRule
is as follows:
NAME IPsecRule
DESCRIPTION Associates Conditions and Actions for IKE phase 2
negotiations for the IPsec DOI.
DERIVED FROM SARule
ABSTRACT FALSE
PROPERTIES same as SARule
<span class="h3"><a class="selflink" id="section-4.4" href="#section-4.4">4.4</a>. The Association Class IPsecPolicyForEndpoint</span>
The class IPsecPolicyForEndpoint associates a PolicyGroup with a
specific network interface. If an IPProtocolEndpoint of a system
does not have an IPsecPolicyForEndpoint-associated PolicyGroup, then
the IPsecPolicyForSystem associated PolicyGroup is used for that
endpoint. The class definition for IPsecPolicyForEndpoint is as
follows:
NAME IPsecPolicyForEndpoint
DESCRIPTION Associates a policy group to a network interface.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent[ref IPProtocolEndpoint[0..n]]
Dependent[ref PolicyGroup[0..1]]
<span class="h4"><a class="selflink" id="section-4.4.1" href="#section-4.4.1">4.4.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to an IPProtocolEndpoint instance. The [0..n]
cardinality indicates that a PolicyGroup instance may be associated
with zero or more IPProtocolEndpoint instances.
<span class="grey">Jason, et al. Standards Track [Page 18]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-19" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-4.4.2" href="#section-4.4.2">4.4.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to a PolicyGroup instance. The [0..1] cardinality indicates
that an IPProtocolEndpoint instance may have an association to at
most one PolicyGroup instance.
<span class="h3"><a class="selflink" id="section-4.5" href="#section-4.5">4.5</a>. The Association Class IPsecPolicyForSystem</span>
The class IPsecPolicyForSystem associates a PolicyGroup with a
specific system. If an IPProtocolEndpoint of a system does not have
an IPsecPolicyForEndpoint-associated PolicyGroup, then the
IPsecPolicyForSystem associated PolicyGroup is used for that
endpoint. The class definition for IPsecPolicyForSystem is as
follows:
NAME IPsecPolicyForSystem
DESCRIPTION Default policy group for a system.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent[ref System[0..n]]
Dependent[ref PolicyGroup[0..1]]
<span class="h4"><a class="selflink" id="section-4.5.1" href="#section-4.5.1">4.5.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a System instance. The [0..n] cardinality
indicates that a PolicyGroup instance may have an association to zero
or more System instances.
<span class="h4"><a class="selflink" id="section-4.5.2" href="#section-4.5.2">4.5.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to a PolicyGroup instance. The [0..1] cardinality indicates
that a System instance may have an association to at most one
PolicyGroup instance.
<span class="h3"><a class="selflink" id="section-4.6" href="#section-4.6">4.6</a>. The Aggregation Class SAConditionInRule</span>
The class SAConditionInRule associates an SARule with the SACondition
instance(s) that trigger(s) it. The class definition for
SAConditionInRule is as follows:
NAME SAConditionInRule
DESCRIPTION Associates an SARule with the SACondition instance(s)
that trigger(s) it.
DERIVED FROM PolicyConditionInPolicyRule (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>] & [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>])
ABSTRACT FALSE
<span class="grey">Jason, et al. Standards Track [Page 19]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-20" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
PROPERTIES GroupNumber (from PolicyConditionInPolicyRule)
ConditionNegated (from PolicyConditionInPolicyRule)
GroupComponent [ref SARule [0..n]]
PartComponent [ref SACondition [1..n]]
<span class="h4"><a class="selflink" id="section-4.6.1" href="#section-4.6.1">4.6.1</a>. The Properties GroupNumber and ConditionNegated</span>
For a description of these properties, see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>].
<span class="h4"><a class="selflink" id="section-4.6.2" href="#section-4.6.2">4.6.2</a>. The Reference GroupComponent</span>
The property GroupComponent is inherited from
PolicyConditionInPolicyRule and is overridden to refer to an SARule
instance. The [0..n] cardinality indicates that an SACondition
instance may be contained in zero or more SARule instances.
<span class="h4"><a class="selflink" id="section-4.6.3" href="#section-4.6.3">4.6.3</a>. The Reference PartComponent</span>
The property PartComponent is inherited from
PolicyConditionInPolicyRule and is overridden to refer to an
SACondition instance. The [1..n] cardinality indicates that an
SARule instance MUST contain at least one SACondition instance.
<span class="h3"><a class="selflink" id="section-4.7" href="#section-4.7">4.7</a>. The Aggregation Class PolicyActionInSARule</span>
The PolicyActionInSARule class associates an SARule with one or more
PolicyAction instances. In all cases where an SARule is being used,
the contained actions MUST be either subclasses of SAAction or
instances of CompoundPolicyAction. For an IKERule, the contained
actions MUST be related to phase 1 processing, i.e., IKEAction or
IKERejectAction. Similarly, for an IPsecRule, contained actions MUST
be related to phase 2 or preconfigured SA processing, e.g.,
IPsecTransportAction, IPsecBypassAction, etc. The class definition
for PolicyActionInSARule is as follows:
NAME PolicyActionInSARule
DESCRIPTION Associates an SARule with its PolicyAction(s).
DERIVED FROM PolicyActionInPolicyRule (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>] & [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>])
ABSTRACT FALSE
PROPERTIES GroupComponent [ref SARule [0..n]]
PartComponent [ref PolicyAction [1..n]]
ActionOrder (from PolicyActionInPolicyRule)
<span class="grey">Jason, et al. Standards Track [Page 20]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-21" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-4.7.1" href="#section-4.7.1">4.7.1</a>. The Reference GroupComponent</span>
The property GroupComponent is inherited from
PolicyActionInPolicyRule and is overridden to refer to an SARule
instance. The [0..n] cardinality indicates that an SAAction instance
may be contained in zero or more SARule instances.
<span class="h4"><a class="selflink" id="section-4.7.2" href="#section-4.7.2">4.7.2</a>. The Reference PartComponent</span>
The property PartComponent is inherited from PolicyActionInPolicyRule
and is overridden to refer to an SAAction or CompoundPolicyAction
instance. The [1..n] cardinality indicates that an SARule instance
MUST contain at least one SAAction or CompoundPolicyAction instance.
<span class="h4"><a class="selflink" id="section-4.7.3" href="#section-4.7.3">4.7.3</a>. The Property ActionOrder</span>
The property ActionOrder is inherited from the superclass
PolicyActionInPolicyRule. It specifies the relative position of this
PolicyAction in the sequence of actions associated with a PolicyRule.
The ActionOrder MUST be unique so as to provide a deterministic
order. In addition, the actions in an SARule are executed as
follows. See <a href="#section-4.2.2">section 4.2.2</a>, ExecutionStrategy, for a discussion on
the use of the ActionOrder property.
The property is defined as follows:
NAME ActionOrder
DESCRIPTION Specifies the order of actions.
SYNTAX unsigned 16-bit integer
VALUE Any value between 1 and 2^16-1 inclusive. Lower
values have higher precedence (i.e., 1 is the
highest precedence). The merging order of two
SAActions with the same precedence is undefined.
<span class="grey">Jason, et al. Standards Track [Page 21]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-22" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Condition and Filter Classes</span>
The IPsec condition and filter classes are used to build the "if"
part of the IKE and IPsec rules.
*+-------------+
+--------------------| SACondition |
| +-------------+
| * |
| |(a)
| 1 |
| +---------------+
| | FilterList |
| |([<a href="#ref-CIMNETWORK">CIMNETWORK</a>]) |
| +---------------+
| 1 o
|(b) |(c)
| * |
| +-----------------+
| | FilterEntryBase |
| | ([<a href="#ref-CIMNETWORK">CIMNETWORK</a>]) |
| +-----------------+
| ^
| |
| +-----------------+ | +-----------------------+
| | IPHeadersFilter |----+----| CredentialFilterEntry |
| | ([<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>]) | | +-----------------------+
| +-----------------+ |
| |
| +-----------------+ | +--------------------------+
| | IPSOFilterEntry |----+----| PeerIDPayloadFilterEntry |
| +-----------------+ +--------------------------+
|
| *+-----------------------------+
+------------| CredentialManagementService |
| ([<a href="#ref-CIMUSER">CIMUSER</a>]) |
+-----------------------------+
(a) FilterOfSACondition
(b) AcceptCredentialsFrom
(c) EntriesInFilterList (see [<a href="#ref-CIMNETWORK">CIMNETWORK</a>])
<span class="grey">Jason, et al. Standards Track [Page 22]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-23" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-5.1" href="#section-5.1">5.1</a>. The Class SACondition</span>
The class SACondition defines the conditions of rules for IKE and
IPsec negotiations. Conditions are associated with policy rules via
the SAConditionInRule aggregation. It is used as an anchor point to
associate various types of filters with policy rules via the
FilterOfSACondition association. It also defines whether Credentials
can be accepted for a particular policy rule via the
AcceptCredentialsFrom association.
Associated objects represent components of the condition that may or
may not apply at a given rule evaluation. For example, an
AcceptCredentialsFrom evaluation is only performed when a credential
is available to be evaluated against the list of trusted credential
management services. Similarly, a PeerIDPayloadFilterEntry may only
be evaluated when an IDPayload value is available to compare with the
filter. Condition components that do not have corresponding values
with which to evaluate are evaluated as TRUE unless the protocol has
completed without providing the required information.
The class definition for SACondition is as follows:
NAME SACondition
DESCRIPTION Defines the preconditions for IKE and IPsec
negotiations.
DERIVED FROM PolicyCondition (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
ABSTRACT FALSE
PROPERTIES PolicyConditionName (from PolicyCondition)
<span class="h3"><a class="selflink" id="section-5.2" href="#section-5.2">5.2</a>. The Class IPHeadersFilter</span>
The class IPHeadersFilter is defined in [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>] with the following
note:
1) to specify 5-tuple filters that are to apply symmetrically (i.e.,
matches traffic in both directions of the same flows which is
quite typical for SPD entries for ingress and egress traffic), the
Direction property of the FilterList SHOULD be set to "Mirrored".
<span class="h3"><a class="selflink" id="section-5.3" href="#section-5.3">5.3</a>. The Class CredentialFilterEntry</span>
The class CredentialFilterEntry defines an equivalence class that
match credentials of IKE peers. Each CredentialFilterEntry includes
a MatchFieldName that is interpreted according to the
CredentialManagementService(s) associated with the SACondition
(AcceptCredentialsFrom).
<span class="grey">Jason, et al. Standards Track [Page 23]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-24" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
These credentials can be X.509 certificates, Kerberos tickets, or
other types of credentials obtained during the Phase 1 exchange.
Note: this filter entry will probably be checked while the IKE
negotiation takes place. If the check is a failure, then the IKE
negotiation MUST be stopped, and the result of the IKEAction which
triggered this negotiation is a failure.
The class definition for CredentialFilterEntry is as follows:
NAME CredentialFilterEntry
DESCRIPTION Specifies a match filter based on the IKE
credentials.
DERIVED FROM FilterEntryBase (see [<a href="#ref-CIMNETWORK">CIMNETWORK</a>])
ABSTRACT FALSE
PROPERTIES Name (from FilterEntryBase)
IsNegated (from FilterEntryBase)
MatchFieldName
MatchFieldValue
CredentialType
<span class="h4"><a class="selflink" id="section-5.3.1" href="#section-5.3.1">5.3.1</a>. The Property MatchFieldName</span>
The property MatchFieldName specifies the sub-part of the credential
to match against MatchFieldValue. The property is defined as
follows:
NAME MatchFieldName
DESCRIPTION Specifies which sub-part of the credential to match.
SYNTAX string
VALUE This is the string representation of a X.509
certificate attribute, e.g.:
- "serialNumber"
- "signatureAlgorithm"
- "issuerName"
- "subjectName"
- "subjectAltName"
- ...
<span class="h4"><a class="selflink" id="section-5.3.2" href="#section-5.3.2">5.3.2</a>. The Property MatchFieldValue</span>
The property MatchFieldValue specifies the value to compare with the
MatchFieldName in a credential to determine if the credential matches
this filter entry. The property is defined as follows:
NAME MatchFieldValue
DESCRIPTION Specifies the value to be matched by the
MatchFieldName.
<span class="grey">Jason, et al. Standards Track [Page 24]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-25" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
SYNTAX string
VALUE NB: If the CredentialFilterEntry corresponds to a
DistinguishedName, this value in the CIM class is
represented by an ordinary string value. However, an
implementation must convert this string to a DER-
encoded string before matching against the values
extracted from credentials at runtime.
A wildcard mechanism may be used for MatchFieldNames that contain
character strings. The MatchFieldValue may contain a wildcard
character, '*', in the pattern match specification. For example, if
the MatchFieldName is "subjectName", then a MatchFieldValue of
"cn=*,ou=engineering,o=foo,c=be" will successfully match a
certificate whose subject attribute is "cn=Jane
Doe,ou=engineering,o=foo,c=be". The wildcard character can be used
to represent 0 or more characters as would be displayed to the user
(i.e., a wildcard pattern match operates on displayable character
boundaries).
<span class="h4"><a class="selflink" id="section-5.3.3" href="#section-5.3.3">5.3.3</a>. The Property CredentialType</span>
The property CredentialType specifies the particular type of
credential that is being matched. The property is defined as
follows:
NAME CredentialType
DESCRIPTION Defines the type of IKE credentials.
SYNTAX unsigned 16-bit integer
VALUE 1 - X.509 Certificate
2 - Kerberos Ticket
<span class="h3"><a class="selflink" id="section-5.4" href="#section-5.4">5.4</a>. The Class IPSOFilterEntry</span>
The class IPSOFilterEntry is used to match traffic based on the IP
Security Options [<a href="#ref-IPSO" title=""U.S. Department of Defense Security Options for the Internet Protocol"">IPSO</a>] header values (ClassificationLevel and
ProtectionAuthority) as defined in <a href="./rfc1108">RFC 1108</a>. This type of filter
entry is used to adjust the IPsec encryption level according to the
IPSO classification of the traffic (e.g., secret, confidential,
restricted, etc.) The class definition for IPSOFilterEntry is as
follows:
NAME IPSOFilterEntry
DESCRIPTION Specifies the a match filter based on IP Security
Options.
DERIVED FROM FilterEntryBase (see [<a href="#ref-CIMNETWORK">CIMNETWORK</a>])
ABSTRACT FALSE
<span class="grey">Jason, et al. Standards Track [Page 25]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-26" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
PROPERTIES Name (from FilterEntryBase)
IsNegated (from FilterEntryBase)
MatchConditionType
MatchConditionValue
<span class="h4"><a class="selflink" id="section-5.4.1" href="#section-5.4.1">5.4.1</a>. The Property MatchConditionType</span>
The property MatchConditionType specifies the IPSO header field that
will be matched (e.g., traffic classification level or protection
authority). The property is defined as follows:
NAME MatchConditionType
DESCRIPTION Specifies the IPSO header field to be matched.
SYNTAX unsigned 16-bit integer
VALUE 1 - ClassificationLevel
2 - ProtectionAuthority
<span class="h4"><a class="selflink" id="section-5.4.2" href="#section-5.4.2">5.4.2</a>. The Property MatchConditionValue</span>
The property MatchConditionValue specifies the value of the IPSO
header field to be matched against. The property is defined as
follows:
NAME MatchConditionValue
DESCRIPTION Specifies the value of the IPSO header field to be
matched against.
SYNTAX unsigned 16-bit integer
VALUE The values MUST be one of values listed in <a href="./rfc1108">RFC 1108</a>
(or any further IANA Assigned Numbers document).
Some examples for ClassificationLevel are:
61 - TopSecret
90 - Secret
150 - Confidential
171 - Unclassified
For ProtectionAuthority, some examples are:
0 - GENSER
1 - SIOP-ESI
2 - SCI
3 - NSA
4 - DOE
<span class="h3"><a class="selflink" id="section-5.5" href="#section-5.5">5.5</a>. The Class PeerIDPayloadFilterEntry</span>
The class PeerIDPayloadFilterEntry defines filters used to match ID
payload values from the IKE protocol exchange.
PeerIDPayloadFilterEntry permits the specification of certain ID
payload values such as "*@example.com" or "192.0.2.0/24".
<span class="grey">Jason, et al. Standards Track [Page 26]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-27" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
Obviously this filter applies only to IKERules when acting as a
responder. Moreover, this filter can be applied immediately in the
case of aggressive mode but its application is to be delayed in the
case of main mode. The class definition for PeerIDPayloadFilterEntry
is as follows:
NAME PeerIDPayloadFilterEntry
DESCRIPTION Specifies a match filter based on IKE identity.
DERIVED FROM FilterEntryBase (see [<a href="#ref-CIMNETWORK">CIMNETWORK</a>])
ABSTRACT FALSE
PROPERTIES Name (from FilterEntryBase)
IsNegated (from FilterEntryBase)
MatchIdentityType
MatchIdentityValue
<span class="h4"><a class="selflink" id="section-5.5.1" href="#section-5.5.1">5.5.1</a>. The Property MatchIdentityType</span>
The property MatchIdentityType specifies the type of identity
provided by the peer in the ID payload. The property is defined as
follows:
NAME MatchIdentityType
DESCRIPTION Specifies the ID payload type.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] for valid values.
5.5.2. The Property MatchIdentityValue
The property MatchIdentityValue specifies the filter value for
comparison with the ID payload, e.g., "*@example.com". The property
is defined as follows:
NAME MatchIdentityValue
DESCRIPTION Specifies the ID payload value.
SYNTAX string
VALUE NB: The syntax may need to be converted for
comparison. If the PeerIDPayloadFilterEntry type is
a DistinguishedName, the name in the
MatchIdentityValue property is represented by an
ordinary string value, but this value must be
converted into a DER-encoded string before matching
against the values extracted from IKE ID payloads at
runtime. The same applies to IPv4 & IPv6 addresses.
<span class="grey">Jason, et al. Standards Track [Page 27]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-28" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
Different wildcard mechanisms can be used depending on the ID
payload:
- a MatchIdentityValue of "*@example.com" will match a user FQDN ID
payload of "JDOE@EXAMPLE.COM".
- a MatchIdentityValue of "*.example.com" will match a FQDN ID
payload of "WWW.EXAMPLE.COM".
- a MatchIdentityValue of "cn=*,ou=engineering,o=company,c=us" will
match a DER DN ID payload of "cn=John
Doe,ou=engineering,o=company,c=us".
- a MatchIdentityValue of "193.190.125.0/24" will match an IPv4
address ID payload of 193.190.125.10.
- a MatchIdentityValue of "193.190.125.*" will also match an IPv4
address ID payload of 193.190.125.10.
The above wildcard mechanisms MUST be supported for all ID payloads
supported by the local IKE entity. The character '*' replaces 0 or
multiple instances of any character as restricted by the type
specified by MatchIdentityType.
<span class="h3"><a class="selflink" id="section-5.6" href="#section-5.6">5.6</a>. The Association Class FilterOfSACondition</span>
The class FilterOfSACondition associates an SACondition with the
filter specifications (FilterList) that make up the condition. The
class definition for FilterOfSACondition is as follows:
NAME FilterOfSACondition
DESCRIPTION Associates a condition with the filter list that
makes up the individual condition elements.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref FilterList[1..1]]
Dependent [ref SACondition[0..n]]
<span class="h4"><a class="selflink" id="section-5.6.1" href="#section-5.6.1">5.6.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a FilterList instance. The [1..1] cardinality
indicates that an SACondition instance MUST be associated with one
and only one FilterList instance.
<span class="grey">Jason, et al. Standards Track [Page 28]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-29" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-5.6.2" href="#section-5.6.2">5.6.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to an SACondition instance. The [0..n] cardinality
indicates that a FilterList instance may be associated with zero or
more SACondition instances.
<span class="h3"><a class="selflink" id="section-5.7" href="#section-5.7">5.7</a>. The Association Class AcceptCredentialFrom</span>
The class AcceptCredentialFrom specifies which credential management
services (e.g., a CertificateAuthority or a Kerberos service) are to
be trusted to certify peer credentials. This is used to assure that
the credential being matched in the CredentialFilterEntry is a valid
credential that has been supplied by an approved
CredentialManagementService. If a CredentialManagementService is
specified and a corresponding CredentialFilterEntry is used, but the
credential supplied by the peer is not certified by that
CredentialManagementService (or one of the
CredentialManagementServices in its trust hierarchy), the
CredentialFilterEntry is deemed not to match. If a credential is
certified by a CredentialManagementService in the
AcceptCredentialsFrom list of services, but there is no
CredentialFilterEntry, this is considered equivalent to a
CredentialFilterEntry that matches all credentials from those
services.
The class definition for AcceptCredentialFrom is as follows:
NAME AcceptCredentialFrom
DESCRIPTION Associates a condition with the credential management
services to be trusted.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref CredentialManagementService[0..n]]
Dependent [ref SACondition[0..n]]
<span class="h4"><a class="selflink" id="section-5.7.1" href="#section-5.7.1">5.7.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a CredentialManagementService instance. The
[0..n] cardinality indicates that an SACondition instance may be
associated with zero or more CredentialManagementService instances.
<span class="grey">Jason, et al. Standards Track [Page 29]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-30" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-5.7.2" href="#section-5.7.2">5.7.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to a SACondition instance. The [0..n] cardinality indicates
that a CredentialManagementService instance may be associated with
zero or more SACondition instances.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Action Classes</span>
The action classes are used to model the different actions an IPsec
device may take when the evaluation of the associated condition
results in a match.
<span class="grey">Jason, et al. Standards Track [Page 30]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-31" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
+----------+
| SAAction |
+----------+
^
|
+-----------+--------------+
| |
| +---------------------+
| | SaNegotiationAction |
| +---------------------+
| ^
| |
+----------------+ +----------------------+*
| SAStaticAction | | IKENegotiationAction |o----+
+----------------+ +----------------------+ |
^ ^ |
| | |
| +-----------+-------+ |
| | | |
+-------------------+ | +-------------+ +-----------+ |
| IPsecBypassAction |---+ | IPsecAction | | IKEAction | |
+-------------------+ | +-------------+ +-----------+ |
| ^ |
+--------------------+ | | +----------------------+ |
| IPsecDiscardAction |---+ +----| IPsecTransportAction | |
+--------------------+ | | +----------------------+ |
| | |
+-----------------+ | | +-------------------+ |
| IKERejectAction |---+ +----| IPsecTunnelAction | |
+-----------------+ | +-------------------+ |
| *| |
| +--------------+ |
| | |
+-----------------------+ | | +--------------+n |
| PreconfiguredSAAction |---+ |(a) | [SAProposal] |-------+
+-----------------------+ | +--------------+ (b)
*| ^ |
| | | *+-------------+
| | +-------| PeerGateway |
| | +-------------+
| | +-----------------------------+ |0..1 *w|
| +--| PreconfiguredTransportAction| | |(c)
| | +-----------------------------+ | 1|
| | | +--------------+
| | +---------------------------+ * | | System |
| +--| PreconfiguredTunnelAction |-----+ | ([<a href="#ref-CIMCORE">CIMCORE</a>]) |
| +---------------------------+ (e) +--------------+
|
<span class="grey">Jason, et al. Standards Track [Page 31]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-32" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
| 2..6+---------------+
+-------| [SATransform] |
(d) +---------------+
(a) PeerGatewayForTunnel
(b) ContainedProposal
(c) HostedPeerGatewayInformation
(d) TransformOfPreconfiguredAction
(e) PeerGatewayForPreconfiguredTunnel
<span class="h3"><a class="selflink" id="section-6.1" href="#section-6.1">6.1</a>. The Class SAAction</span>
The class SAAction is abstract and serves as the base class for IKE
and IPsec actions. It is used for aggregating different types of
actions to IKE and IPsec rules. The class definition for SAAction is
as follows:
NAME SAAction
DESCRIPTION The base class for IKE and IPsec actions.
DERIVED FROM PolicyAction (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
ABSTRACT TRUE
PROPERTIES PolicyActionName (from PolicyAction)
DoActionLogging
DoPacketLogging
<span class="h4"><a class="selflink" id="section-6.1.1" href="#section-6.1.1">6.1.1</a>. The Property DoActionLogging</span>
The property DoActionLogging specifies whether a log message is to be
generated when the action is performed. This applies for
SANegotiationActions with the meaning of logging a message when the
negotiation is attempted (with the success or failure result). This
also applies for SAStaticAction only for PreconfiguredSAAction with
the meaning of logging a message when the preconfigured SA is
actually installed in the SADB. The property is defined as follows:
NAME DoActionLogging
DESCRIPTION Specifies the whether to log when the action is
performed.
SYNTAX boolean
VALUE true - a log message is to be generated when action
is performed.
false - no log message is to be generated when action
is performed.
<span class="grey">Jason, et al. Standards Track [Page 32]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-33" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.1.2" href="#section-6.1.2">6.1.2</a>. The Property DoPacketLogging</span>
The property DoPacketLogging specifies whether a log message is to be
generated when the resulting security association is used to process
the packet. If the SANegotiationAction successfully executes and
results in the creation of one or several security associations, or
if the PreconfiguredSAAction executes, the value of DoPacketLogging
SHOULD be propagated to an optional field of SADB. This optional
field should be used to decide whether a log message is to be
generated when the SA is used to process a packet. For
SAStaticActions, a log message is to be generated when the
IPsecBypassAction, IPsecDiscardAction, or IKERejectAction are
executed. The property is defined as follows:
NAME DoPacketLogging
DESCRIPTION Specifies whether to log when the resulting
security association is used to process the packet.
SYNTAX boolean
VALUE true - a log message is to be generated when the
resulting security association is used to process the
packet.
false - no log message is to be generated.
<span class="h3"><a class="selflink" id="section-6.2" href="#section-6.2">6.2</a>. The Class SAStaticAction</span>
The class SAStaticAction is abstract and serves as the base class for
IKE and IPsec actions that do not require any negotiation. The class
definition for SAStaticAction is as follows:
NAME SAStaticAction
DESCRIPTION The base class for IKE and IPsec actions that do not
require any negotiation.
DERIVED FROM SAAction
ABSTRACT TRUE
PROPERTIES LifetimeSeconds
<span class="h4"><a class="selflink" id="section-6.2.1" href="#section-6.2.1">6.2.1</a>. The Property LifetimeSeconds</span>
The property LifetimeSeconds specifies how long the security
association derived from this action should be used. The property is
defined as follows:
NAME LifetimeSeconds
DESCRIPTION Specifies the amount of time (in seconds) that a
security association derived from this action should
be used.
SYNTAX unsigned 64-bit integer
<span class="grey">Jason, et al. Standards Track [Page 33]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-34" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
VALUE A value of zero indicates that there is not a
lifetime associated with this action (i.e., infinite
lifetime). A non-zero value is typically used in
conjunction with alternate SAActions performed when
there is a negotiation failure of some sort.
Note: if the referenced SAStaticAction object is a
PreconfiguredSAAction associated to several SATransforms, then the
actual lifetime of the preconfigured SA will be the lesser of the
value of this LifetimeSeconds property and of the value of the
MaxLifetimeSeconds property of the associated SATransform. If the
value of this LifetimeSeconds property is zero, then there will be no
lifetime associated to this SA.
Note: while some SA negotiation protocols [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>] can negotiate the
lifetime as an arbitrary length field, the authors have assumed that
a 64-bit integer will be sufficient.
It is expected that most SAStaticAction instances will have their
LifetimeSeconds properties set to zero (meaning no expiration of the
resulting SA).
<span class="h3"><a class="selflink" id="section-6.3" href="#section-6.3">6.3</a>. The Class IPsecBypassAction</span>
The class IPsecBypassAction is used when packets are allowed to be
processed without applying IPsec encapsulation to them. This is the
same as stating that packets are allowed to flow in the clear. The
class definition for IPsecBypassAction is as follows:
NAME IPsecBypassAction
DESCRIPTION Specifies that packets are to be allowed to pass in
the clear.
DERIVED FROM SAStaticAction
ABSTRACT FALSE
<span class="h3"><a class="selflink" id="section-6.4" href="#section-6.4">6.4</a>. The Class IPsecDiscardAction</span>
The class IPsecDiscardAction is used when packets are to be
discarded. This is the same as stating that packets are to be
denied. The class definition for IPsecDiscardAction is as follows:
NAME IPsecDiscardAction
DESCRIPTION Specifies that packets are to be discarded.
DERIVED FROM SAStaticAction
ABSTRACT FALSE
<span class="grey">Jason, et al. Standards Track [Page 34]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-35" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-6.5" href="#section-6.5">6.5</a>. The Class IKERejectAction</span>
The class IKERejectAction is used to prevent attempting an IKE
negotiation with the peer(s). The main use of this class is to
prevent some denial of service attacks when acting as IKE responder.
It goes beyond a plain discard of UDP/500 IKE packets because the
SACondition can be based on specific PeerIDPayloadFilterEntry (when
aggressive mode is used). The class definition for IKERejectAction
is as follows:
NAME IKERejectAction
DESCRIPTION Specifies that an IKE negotiation should not even be
attempted or continued.
DERIVED FROM SAStaticAction
ABSTRACT FALSE
<span class="h3"><a class="selflink" id="section-6.6" href="#section-6.6">6.6</a>. The Class PreconfiguredSAAction</span>
The class PreconfiguredSAAction is used to create a security
association using preconfigured, hard-wired algorithms and keys.
Notes:
- the SPI for a PreconfiguredSAAction is contained in the
association, TransformOfPreconfiguredAction;
- the session key (if applicable) is contained in an instance of the
class SharedSecret (see [<a href="#ref-CIMUSER">CIMUSER</a>]). The session key is stored in
the property Secret, the property protocol contains either "ESP-
encrypt", "ESP-auth" or "AH", the property algorithm contains the
algorithm used to protect the secret (can be "PLAINTEXT" if the
IPsec entity has no secret storage), the value of property
RemoteID is the concatenation of the remote IPsec peer IP address
in dotted decimal, of the character "/", of "IN" (respectively
"OUT") for inbound SA (respectively outbound SA), of the character
"/", and of the hexadecimal representation of the SPI.
Although the class is concrete, it MUST not be instantiated. The
class definition for PreconfiguredSAAction is as follows:
NAME PreconfiguredSAAction
DESCRIPTION Specifies preconfigured algorithm and keying
information for creation of a security association.
DERIVED FROM SAStaticAction
ABSTRACT TRUE
PROPERTIES LifetimeKilobytes
<span class="grey">Jason, et al. Standards Track [Page 35]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-36" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.6.1" href="#section-6.6.1">6.6.1</a>. The Property LifetimeKilobytes</span>
The property LifetimeKilobytes specifies a traffic limit in kilobytes
that can be consumed before the SA is deleted. The property is
defined as follows:
NAME LifetimeKilobytes
DESCRIPTION Specifies the SA lifetime in kilobytes.
SYNTAX unsigned 64-bit integer
VALUE A value of zero indicates that there is not a
lifetime associated with this action (i.e., infinite
lifetime). A non-zero value is used to indicate that
after this number of kilobytes has been consumed the
SA must be deleted from the SADB.
Note: the actual lifetime of the preconfigured SA will be the lesser
of the value of this LifetimeKilobytes property and of the value of
the MaxLifetimeSeconds property of the associated SATransform. If
the value of this LifetimeKilobytes property is zero, then there will
be no lifetime associated with this action.
Note: while some SA negotiation protocols [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>] can negotiate the
lifetime as an arbitrary length field, the authors have assumed that
a 64-bit integer will be sufficient.
It is expected that most PreconfiguredSAAction instances will have
their LifetimeKilobyte properties set to zero (meaning no expiration
of the resulting SA).
<span class="h3"><a class="selflink" id="section-6.7" href="#section-6.7">6.7</a>. The Class PreconfiguredTransportAction</span>
The class PreconfiguredTransportAction is used to create an IPsec
transport-mode security association using preconfigured, hard-wired
algorithms and keys. The class definition for
PreconfiguredTransportAction is as follows:
NAME PreconfiguredTransportAction
DESCRIPTION Specifies preconfigured algorithm and keying
information for creation of an IPsec transport
security association.
DERIVED FROM PreconfiguredSAAction
ABSTRACT FALSE
<span class="grey">Jason, et al. Standards Track [Page 36]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-37" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-6.8" href="#section-6.8">6.8</a>. The Class PreconfiguredTunnelAction</span>
The class PreconfiguredTunnelAction is used to create an IPsec
tunnel-mode security association using preconfigured, hard-wired
algorithms and keys. The class definition for PreconfiguredSAAction
is as follows:
NAME PreconfiguredTunnelAction
DESCRIPTION Specifies preconfigured algorithm and keying
information for creation of an IPsec tunnel-mode
security association.
DERIVED FROM PreconfiguredSAAction
ABSTRACT FALSE
PROPERTIES DFHandling
<span class="h4"><a class="selflink" id="section-6.8.1" href="#section-6.8.1">6.8.1</a>. The Property DFHandling</span>
The property DFHandling specifies how the Don't Fragment (DF) bit of
the internal IP header is to be handled during IPsec processing. The
property is defined as follows:
NAME DFHandling
DESCRIPTION Specifies the processing of the DF bit.
SYNTAX unsigned 16-bit integer
VALUE 1 - Copy the DF bit from the internal IP header to
the external IP header.
2 - Set the DF bit of the external IP header to 1.
3 - Clear the DF bit of the external IP header to 0.
<span class="h3"><a class="selflink" id="section-6.9" href="#section-6.9">6.9</a>. The Class SANegotiationAction</span>
The class SANegotiationAction specifies an action requesting security
policy negotiation.
This is an abstract class. Currently, only one security policy
negotiation protocol action is subclassed from SANegotiationAction:
the IKENegotiationAction class. It is nevertheless expected that
other security policy negotiation protocols will exist and the
negotiation actions of those new protocols would be modeled as a
subclass of SANegotiationAction.
NAME SANegotiationAction
DESCRIPTION Specifies a negotiation action.
DERIVED FROM SAAction
ABSTRACT TRUE
<span class="grey">Jason, et al. Standards Track [Page 37]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-38" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-6.10" href="#section-6.10">6.10</a>. The Class IKENegotiationAction</span>
The class IKENegotiationAction is abstract and serves as the base
class for IKE and IPsec actions that result in an IKE negotiation.
The class definition for IKENegotiationAction is as follows:
NAME IKENegotiationAction
DESCRIPTION A base class for IKE and IPsec actions that specifies
the parameters that are common for IKE phase 1 and
IKE phase 2 IPsec DOI negotiations.
DERIVED FROM SANegotiationAction
ABSTRACT TRUE
PROPERTIES MinLifetimeSeconds
MinLifetimeKilobytes
IdleDurationSeconds
<span class="h4"><a class="selflink" id="section-6.10.1" href="#section-6.10.1">6.10.1</a>. The Property MinLifetimeSeconds</span>
The property MinLifetimeSeconds specifies the minimum seconds in a
lifetime that will be accepted from the peer. MinLifetimeSeconds is
used to prevent certain denial of service attacks where the peer
requests an arbitrarily low lifetime value, causing renegotiations
with expensive Diffie-Hellman operations. The property is defined as
follows:
NAME MinLifetimeSeconds
DESCRIPTION Specifies the minimum seconds acceptable in a
lifetime.
SYNTAX unsigned 64-bit integer
VALUE A value of zero indicates that there is no minimum
value. A non-zero value specifies the minimum
seconds lifetime.
Note: while IKE can negotiate the lifetime as an arbitrary length
field, the authors have assumed that a 64-bit integer will be
sufficient.
<span class="h4"><a class="selflink" id="section-6.10.2" href="#section-6.10.2">6.10.2</a>. The Property MinLifetimeKilobytes</span>
The property MinLifetimeKilobytes specifies the minimum kilobytes of
a lifetime that will be accepted from the peer. MinLifetimeKilobytes
is used to prevent certain denial of service attacks, where the peer
requests an arbitrarily low lifetime value, causing renegotiations
with correspondingly expensive Diffie-Hellman operations. Note that
there has been considerable debate regarding the usefulness of
applying kilobyte lifetimes to IKE phase 1 security associations, so
it is likely that this property will only apply to the sub-class
IPsecAction. The property is defined as follows:
<span class="grey">Jason, et al. Standards Track [Page 38]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-39" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
NAME MinLifetimeKilobytes
DESCRIPTION Specifies the minimum kilobytes acceptable in a
lifetime.
SYNTAX unsigned 64-bit integer
VALUE A value of zero indicates that there is no minimum
value. A non-zero value specifies the minimum
kilobytes lifetime.
Note: While IKE can negotiate the lifetime as an arbitrary length
field, the authors have assumed that a 64-bit integer will be
sufficient.
<span class="h4"><a class="selflink" id="section-6.10.3" href="#section-6.10.3">6.10.3</a>. The Property IdleDurationSeconds</span>
The property IdleDurationSeconds specifies how many seconds a
security association may remain idle (i.e., no traffic protected
using the security association) before it is deleted. The property
is defined as follows:
NAME IdleDurationSeconds
DESCRIPTION Specifies how long, in seconds, a security
association may remain unused before it is deleted.
SYNTAX unsigned 64-bit integer
VALUE A value of zero indicates that idle detection should
not be used for the security association (only the
seconds and kilobyte lifetimes will be used). Any
non-zero value indicates the number of seconds the
security association may remain unused.
<span class="h3"><a class="selflink" id="section-6.11" href="#section-6.11">6.11</a>. The Class IPsecAction</span>
The class IPsecAction serves as the base class for IPsec transport
and tunnel actions. It specifies the parameters used for an IKE
phase 2 IPsec DOI negotiation. The class definition for IPsecAction
is as follows:
NAME IPsecAction
DESCRIPTION A base class for IPsec transport and tunnel actions
that specifies the parameters for IKE phase 2 IPsec
DOI negotiations.
DERIVED FROM IKENegotiationAction
ABSTRACT TRUE
PROPERTIES UsePFS
UseIKEGroup
GroupId
Granularity
VendorID
<span class="grey">Jason, et al. Standards Track [Page 39]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-40" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.11.1" href="#section-6.11.1">6.11.1</a>. The Property UsePFS</span>
The property UsePFS specifies whether or not perfect forward secrecy
should be used when refreshing keys. The property is defined as
follows:
NAME UsePFS
DESCRIPTION Specifies the whether or not to use PFS when
refreshing keys.
SYNTAX boolean
VALUE A value of true indicates that PFS should be used. A
value of false indicates that PFS should not be used.
<span class="h4"><a class="selflink" id="section-6.11.2" href="#section-6.11.2">6.11.2</a>. The Property UseIKEGroup</span>
The property UseIKEGroup specifies whether or not phase 2 should use
the same key exchange group as was used in phase 1. UseIKEGroup is
ignored if UsePFS is false. The property is defined as follows:
NAME UseIKEGroup
DESCRIPTION Specifies whether or not to use the same GroupId for
phase 2 as was used in phase 1. If UsePFS is false,
then UseIKEGroup is ignored.
SYNTAX boolean
VALUE A value of true indicates that the phase 2 GroupId
should be the same as phase 1. A value of false
indicates that the property GroupId will contain the
key exchange group to use for phase 2.
<span class="h4"><a class="selflink" id="section-6.11.3" href="#section-6.11.3">6.11.3</a>. The Property GroupId</span>
The property GroupId specifies the key exchange group to use for
phase 2. GroupId is ignored if (1) the property UsePFS is false, or
(2) the property UsePFS is true and the property UseIKEGroup is true.
If the GroupID number is from the vendor-specific range (32768-
65535), the property VendorID qualifies the group number. The
property is defined as follows:
NAME GroupId
DESCRIPTION Specifies the key exchange group to use for phase 2
when the property UsePFS is true and the property
UseIKEGroup is false.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>] for valid values.
<span class="grey">Jason, et al. Standards Track [Page 40]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-41" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.11.4" href="#section-6.11.4">6.11.4</a>. The Property Granularity</span>
The property Granularity specifies how the selector for the security
association should be derived from the traffic that triggered the
negotiation. The property is defined as follows:
NAME Granularity
DESCRIPTION Specifies how the proposed selector for the
security association will be created.
SYNTAX unsigned 16-bit integer
VALUE 1 - subnet: the source and destination subnet masks
of the filter entry are used.
2 - address: only the source and destination IP
addresses of the triggering packet are used.
3 - protocol: the source and destination IP addresses
and the IP protocol of the triggering packet are
used.
4 - port: the source and destination IP addresses and
the IP protocol and the source and destination layer
4 ports of the triggering packet are used.
<span class="h4"><a class="selflink" id="section-6.11.5" href="#section-6.11.5">6.11.5</a>. The Property VendorID</span>
The property VendorID is used together with the property GroupID
(when it is in the vendor-specific range) to identify the key
exchange group. VendorID is ignored unless UsePFS is true and
UseIKEGroup is false and GroupID is in the vendor-specific range
(32768-65535). The property is defined as follows:
NAME VendorID
DESCRIPTION Specifies the IKE Vendor ID.
SYNTAX string
<span class="h3"><a class="selflink" id="section-6.12" href="#section-6.12">6.12</a>. The Class IPsecTransportAction</span>
The class IPsecTransportAction is a subclass of IPsecAction that is
used to specify use of an IPsec transport-mode security association.
The class definition for IPsecTransportAction is as follows:
NAME IPsecTransportAction
DESCRIPTION Specifies that an IPsec transport-mode security
association should be negotiated.
DERIVED FROM IPsecAction
ABSTRACT FALSE
<span class="grey">Jason, et al. Standards Track [Page 41]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-42" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-6.13" href="#section-6.13">6.13</a>. The Class IPsecTunnelAction</span>
The class IPsecTunnelAction is a subclass of IPsecAction that is used
to specify use of an IPsec tunnel-mode security association. The
class definition for IPsecTunnelAction is as follows:
NAME IPsecTunnelAction
DESCRIPTION Specifies that an IPsec tunnel-mode security
association should be negotiated.
DERIVED FROM IPsecAction
ABSTRACT FALSE
PROPERTIES DFHandling
<span class="h4"><a class="selflink" id="section-6.13.1" href="#section-6.13.1">6.13.1</a>. The Property DFHandling</span>
The property DFHandling specifies how the tunnel should manage the
Don't Fragment (DF) bit. The property is defined as follows:
NAME DFHandling
DESCRIPTION Specifies how to process the DF bit.
SYNTAX unsigned 16-bit integer
VALUE 1 - Copy the DF bit from the internal IP header to
the external IP header.
2 - Set the DF bit of the external IP header to 1.
3 - Clear the DF bit of the external IP header to 0.
<span class="h3"><a class="selflink" id="section-6.14" href="#section-6.14">6.14</a>. The Class IKEAction</span>
The class IKEAction specifies the parameters that are to be used for
IKE phase 1 negotiation. The class definition for IKEAction is as
follows:
NAME IKEAction
DESCRIPTION Specifies the IKE phase 1 negotiation parameters.
DERIVED FROM IKENegotiationAction
ABSTRACT FALSE
PROPERTIES ExchangeMode
UseIKEIdentityType
VendorID
AggressiveModeGroupId
<span class="grey">Jason, et al. Standards Track [Page 42]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-43" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.14.1" href="#section-6.14.1">6.14.1</a>. The Property ExchangeMode</span>
The property ExchangeMode specifies which IKE mode should be used for
IKE phase 1 negotiations. The property is defined as follows:
NAME ExchangeMode
DESCRIPTION Specifies the IKE negotiation mode for phase 1.
SYNTAX unsigned 16-bit integer
VALUE 1 - base mode
2 - main mode
4 - aggressive mode
<span class="h4"><a class="selflink" id="section-6.14.2" href="#section-6.14.2">6.14.2</a>. The Property UseIKEIdentityType</span>
The property UseIKEIdentityType specifies what IKE identity type
should be used when negotiating with the peer. This information is
used in conjunction with the IKE identities available on the system
and the IdentityContexts of the matching IKERule. The property is
defined as follows:
NAME UseIKEIdentityType
DESCRIPTION Specifies the IKE identity to use during negotiation.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] for valid values.
<span class="h4"><a class="selflink" id="section-6.14.3" href="#section-6.14.3">6.14.3</a>. The Property VendorID</span>
The property VendorID specifies the value to be used in the Vendor ID
payload. The property is defined as follows:
NAME VendorID
DESCRIPTION Vendor ID Payload.
SYNTAX string
VALUE A value of NULL means that Vendor ID payload will be
neither generated nor accepted. A non-NULL value
means that a Vendor ID payload will be generated
(when acting as an initiator) or is expected (when
acting as a responder).
<span class="h4"><a class="selflink" id="section-6.14.4" href="#section-6.14.4">6.14.4</a>. The Property AggressiveModeGroupId</span>
The property AggressiveModeGroupId specifies which group ID is to be
used in the first packets of the phase 1 negotiation. This property
is ignored unless the property ExchangeMode is set to 4 (aggressive
mode). If the AggressiveModeGroupID number is from the vendor-
specific range (32768-65535), the property VendorID qualifies the
group number. The property is defined as follows:
<span class="grey">Jason, et al. Standards Track [Page 43]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-44" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
NAME AggressiveModeGroupId
DESCRIPTION Specifies the group ID to be used for aggressive
mode.
SYNTAX unsigned 16-bit integer
<span class="h3"><a class="selflink" id="section-6.15" href="#section-6.15">6.15</a>. The Class PeerGateway</span>
The class PeerGateway specifies the security gateway with which the
IKE services negotiates. The class definition for PeerGateway is as
follows:
NAME PeerGateway
DESCRIPTION Specifies the security gateway with which to
negotiate.
DERIVED FROM LogicalElement (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Name
PeerIdentityType
PeerIdentity
Note: The class PeerIdentityEntry contains more information about the
peer (namely its IP address).
<span class="h4"><a class="selflink" id="section-6.15.1" href="#section-6.15.1">6.15.1</a>. The Property Name</span>
The property Name specifies a user-friendly name for this security
gateway. The property is defined as follows:
NAME Name
DESCRIPTION Specifies a user-friendly name for this security
gateway.
SYNTAX string
<span class="h4"><a class="selflink" id="section-6.15.2" href="#section-6.15.2">6.15.2</a>. The Property PeerIdentityType</span>
The property PeerIdentityType specifies the IKE identity type of the
security gateway. The property is defined as follows:
NAME PeerIdentityType
DESCRIPTION Specifies the IKE identity type of the security
gateway.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] for valid values.
<span class="grey">Jason, et al. Standards Track [Page 44]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-45" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.15.3" href="#section-6.15.3">6.15.3</a>. The Property PeerIdentity</span>
The property PeerIdentity specifies the IKE identity value of the
security gateway. Based upon the storage chosen for the task-
specific mapping of the information model, a conversion may be needed
from the stored representation of the PeerIdentity string to the real
value used in the ID payload (e.g., IP address is to be converted
from a dotted decimal string into 4 bytes). The property is defined
as follows:
NAME PeerIdentity
DESCRIPTION Specifies the IKE identity value of the security
gateway.
SYNTAX string
<span class="h3"><a class="selflink" id="section-6.16" href="#section-6.16">6.16</a>. The Association Class PeerGatewayForTunnel</span>
The class PeerGatewayForTunnel associates IPsecTunnelActions with an
ordered list of PeerGateways. The class definition for
PeerGatewayForTunnel is as follows:
NAME PeerGatewayForTunnel
DESCRIPTION Associates IPsecTunnelActions with an ordered list of
PeerGateways.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref PeerGateway[0..n]]
Dependent [ref IPsecTunnelAction[0..n]]
SequenceNumber
<span class="h4"><a class="selflink" id="section-6.16.1" href="#section-6.16.1">6.16.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a PeerGateway instance. The [0..n]
cardinality indicates that an IPsecTunnelAction instance may be
associated with zero or more PeerGateway instances.
Note: The cardinality 0 has a specific meaning:
- when the IKE service acts as a responder, this means that the IKE
service will accept phase 1 negotiation with any other security
gateway;
- when the IKE service acts as an initiator, this means that the IKE
service will use the destination IP address (of the IP packets
which triggered the SARule) as the IP address of the peer IKE
entity.
<span class="grey">Jason, et al. Standards Track [Page 45]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-46" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.16.2" href="#section-6.16.2">6.16.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to an IPsecTunnelAction instance. The [0..n] cardinality
indicates that a PeerGateway instance may be associated with zero or
more IPsecTunnelAction instances.
<span class="h4"><a class="selflink" id="section-6.16.3" href="#section-6.16.3">6.16.3</a>. The Property SequenceNumber</span>
The property SequenceNumber specifies the ordering to be used when
evaluating PeerGateway instances for a given IPsecTunnelAction. The
property is defined as follows:
NAME SequenceNumber
DESCRIPTION Specifies the order of evaluation for PeerGateways.
SYNTAX unsigned 16-bit integer
VALUE Lower values are evaluated first.
<span class="h3"><a class="selflink" id="section-6.17" href="#section-6.17">6.17</a>. The Aggregation Class ContainedProposal</span>
The class ContainedProposal associates an ordered list of SAProposals
with the IKENegotiationAction that aggregates it. If the referenced
IKENegotiationAction object is an IKEAction, then the referenced
SAProposal object(s) must be IKEProposal(s). If the referenced
IKENegotiationAction object is an IPsecTransportAction or an
IPsecTunnelAction, then the referenced SAProposal object(s) must be
IPsecProposal(s). The class definition for ContainedProposal is as
follows:
NAME ContainedProposal
DESCRIPTION Associates an ordered list of SAProposals with an
IKENegotiationAction.
DERIVED FROM PolicyComponent (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
ABSTRACT FALSE
PROPERTIES GroupComponent[ref IKENegotiationAction[0..n]]
PartComponent[ref SAProposal[1..n]]
SequenceNumber
<span class="h4"><a class="selflink" id="section-6.17.1" href="#section-6.17.1">6.17.1</a>. The Reference GroupComponent</span>
- The property GroupComponent is inherited from PolicyComponent and
is overridden to refer to an IKENegotiationAction instance. The
[0..n] cardinality indicates that an SAProposal instance may be
associated with zero or more IKENegotiationAction instances.
<span class="grey">Jason, et al. Standards Track [Page 46]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-47" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.17.2" href="#section-6.17.2">6.17.2</a>. The Reference PartComponent</span>
The property PartComponent is inherited from PolicyComponent and is
overridden to refer to an SAProposal instance. The [1..n]
cardinality indicates that an IKENegotiationAction instance MUST be
associated with at least one SAProposal instance.
<span class="h4"><a class="selflink" id="section-6.17.3" href="#section-6.17.3">6.17.3</a>. The Property SequenceNumber</span>
The property SequenceNumber specifies the order of preference for the
SAProposals. The property is defined as follows:
NAME SequenceNumber
DESCRIPTION Specifies the preference order for the SAProposals.
SYNTAX unsigned 16-bit integer
VALUE Lower-valued proposals are preferred over proposals
with higher values. For ContainedProposals that
reference the same IKENegotiationAction,
SequenceNumber values must be unique.
<span class="h3"><a class="selflink" id="section-6.18" href="#section-6.18">6.18</a>. The Association Class HostedPeerGatewayInformation</span>
The class HostedPeerGatewayInformation weakly associates a
PeerGateway with a System. The class definition for
HostedPeerGatewayInformation is as follows:
NAME HostedPeerGatewayInformation
DESCRIPTION Weakly associates a PeerGateway with a System.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref System[1..1]]
Dependent [ref PeerGateway[0..n] [weak]]
<span class="h4"><a class="selflink" id="section-6.18.1" href="#section-6.18.1">6.18.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a System instance. The [1..1] cardinality
indicates that a PeerGateway instance MUST be associated with one and
only one System instance.
<span class="h4"><a class="selflink" id="section-6.18.2" href="#section-6.18.2">6.18.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to a PeerGateway instance. The [0..n] cardinality indicates
that a System instance may be associated with zero or more
PeerGateway instances.
<span class="grey">Jason, et al. Standards Track [Page 47]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-48" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-6.19" href="#section-6.19">6.19</a>. The Association Class TransformOfPreconfiguredAction</span>
The class TransformOfPreconfiguredAction associates a
PreconfiguredSAAction with two, four or six SATransforms that will be
applied to the inbound and outbound traffic. The order of
application of the SATransforms is implicitly defined in [<a href="#ref-IPSEC" title=""Security Architecture for the Internet Protocol"">IPSEC</a>].
The class definition for TransformOfPreconfiguredAction is as
follows:
NAME TransformOfPreconfiguredAction
DESCRIPTION Associates a PreconfiguredSAAction with from one to
three SATransforms.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent[ref SATransform[2..6]]
Dependent[ref PreconfiguredSAAction[0..n]]
SPI
Direction
<span class="h4"><a class="selflink" id="section-6.19.1" href="#section-6.19.1">6.19.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to an SATransform instance. The [2..6]
cardinality indicates that a PreconfiguredSAAction instance may be
associated with two to six SATransform instances.
<span class="h4"><a class="selflink" id="section-6.19.2" href="#section-6.19.2">6.19.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to a PreconfiguredSAAction instance. The [0..n] cardinality
indicates that a SATransform instance may be associated with zero or
more PreconfiguredSAAction instances.
<span class="h4"><a class="selflink" id="section-6.19.3" href="#section-6.19.3">6.19.3</a>. The Property SPI</span>
The property SPI specifies the SPI to be used by the pre-configured
action for the associated transform. The property is defined as
follows:
NAME SPI
DESCRIPTION Specifies the SPI to be used with the SATransform.
SYNTAX unsigned 32-bit integer
<span class="grey">Jason, et al. Standards Track [Page 48]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-49" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-6.19.4" href="#section-6.19.4">6.19.4</a>. The Property Direction</span>
The property Direction specifies whether the SPI property is for
inbound or outbound traffic. The property is defined as follows:
NAME Direction
DESCRIPTION Specifies whether the SA is for inbound or outbound
traffic.
SYNTAX unsigned 8-bit integer
VALUE 1 - this SA is for inbound traffic
2 - this SA is for outbound traffic
<span class="h3"><a class="selflink" id="section-6.20" href="#section-6.20">6.20</a> The Association Class PeerGatewayForPreconfiguredTunnel</span>
The class PeerGatewayForPreconfiguredTunnel associates zero or one
PeerGateways with multiple PreconfiguredTunnelActions. The class
definition for PeerGatewayForPreconfiguredTunnel is as follows:
NAME PeerGatewayForPreconfiguredTunnel
DESCRIPTION Associates a PeerGateway with multiple
PreconfiguredTunnelActions.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent[ref PeerGateway[0..1]]
Dependent[ref PreconfiguredTunnelAction[0..n]]
<span class="h4"><a class="selflink" id="section-6.20.1" href="#section-6.20.1">6.20.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a PeerGateway instance. The [0..1]
cardinality indicates that a PreconfiguredTunnelAction instance may
be associated with one PeerGteway instance.
<span class="h4"><a class="selflink" id="section-6.20.2" href="#section-6.20.2">6.20.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to a PreconfiguredTunnelAction instance. The [0..n]
cardinality indicates that a PeerGateway instance may be associated
with zero or more PreconfiguredSAAction instances.
<span class="grey">Jason, et al. Standards Track [Page 49]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-50" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. Proposal and Transform Classes</span>
The proposal and transform classes model the proposal settings an
IPsec device will use during IKE phase 1 and 2 negotiations.
+--------------+*w 1+--------------+
| [SAProposal] |--------| System |
+--------------+ (a) | ([<a href="#ref-CIMCORE">CIMCORE</a>]) |
^ +--------------+
| |1
+----------------------+ |
| | |
+-------------+ +---------------+ |
| IKEProposal | | IPsecProposal | |
+-------------+ +---------------+ |
*o |
|(b) |(c)
n| |
+---------------+*w |
| [SATransform] |----+
+---------------+
^
|
+--------------------+-----------+---------+
| | |
+-------------+ +--------------+ +----------------+
| AHTransform | | ESPTransform | |IPCOMPTransform |
+-------------+ +--------------+ +----------------+
(a) SAProposalInSystem
(b) ContainedTransform
(c) SATransformInSystem
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. The Abstract Class SAProposal</span>
The abstract class SAProposal serves as the base class for the IKE
and IPsec proposal classes. It specifies the parameters that are
common to the two proposal types. The class definition for
SAProposal is as follows:
NAME SAProposal
DESCRIPTION Specifies the common proposal parameters for IKE and
IPsec security association negotiation.
DERIVED FROM Policy ([<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
ABSTRACT TRUE
PROPERTIES Name
<span class="grey">Jason, et al. Standards Track [Page 50]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-51" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-7.1.1" href="#section-7.1.1">7.1.1</a>. The Property Name</span>
The property Name specifies a user-friendly name for the SAProposal.
The property is defined as follows:
NAME Name
DESCRIPTION Specifies a user-friendly name for this proposal.
SYNTAX string
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. The Class IKEProposal</span>
The class IKEProposal specifies the proposal parameters necessary to
drive an IKE security association negotiation. The class definition
for IKEProposal is as follows:
NAME IKEProposal
DESCRIPTION Specifies the proposal parameters for IKE security
association negotiation.
DERIVED FROM SAProposal
ABSTRACT FALSE
PROPERTIES CipherAlgorithm
HashAlgorithm
PRFAlgorithm
GroupId
AuthenticationMethod
MaxLifetimeSeconds
MaxLifetimeKilobytes
VendorID
<span class="h4"><a class="selflink" id="section-7.2.1" href="#section-7.2.1">7.2.1</a>. The Property CipherAlgorithm</span>
The property CipherAlgorithm specifies the proposed phase 1 security
association encryption algorithm. The property is defined as
follows:
NAME CipherAlgorithm
DESCRIPTION Specifies the proposed encryption algorithm for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>] for valid values.
<span class="grey">Jason, et al. Standards Track [Page 51]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-52" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-7.2.2" href="#section-7.2.2">7.2.2</a>. The Property HashAlgorithm</span>
The property HashAlgorithm specifies the proposed phase 1 security
association hash algorithm. The property is defined as follows:
NAME HashAlgorithm
DESCRIPTION Specifies the proposed hash algorithm for the phase 1
security association.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>] for valid values.
<span class="h4"><a class="selflink" id="section-7.2.3" href="#section-7.2.3">7.2.3</a>. The Property PRFAlgorithm</span>
The property PRFAlgorithm specifies the proposed phase 1 security
association pseudo-random function. The property is defined as
follows:
NAME PRFAlgorithm
DESCRIPTION Specifies the proposed pseudo-random function for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE Currently none defined in [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>], if [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>, <a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] are
extended, then the values of [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>, <a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] are to be
used for values of PRFAlgorithm.
<span class="h4"><a class="selflink" id="section-7.2.4" href="#section-7.2.4">7.2.4</a>. The Property GroupId</span>
The property GroupId specifies the proposed phase 1 security
association key exchange group. This property is ignored for all
aggressive mode exchanges. If the GroupID number is from the
vendor-specific range (32768-65535), the property VendorID qualifies
the group number. The property is defined as follows:
NAME GroupId
DESCRIPTION Specifies the proposed key exchange group for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>] for valid values.
Note: The value of this property is to be ignored in aggressive mode.
<span class="grey">Jason, et al. Standards Track [Page 52]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-53" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-7.2.5" href="#section-7.2.5">7.2.5</a>. The Property AuthenticationMethod</span>
The property AuthenticationMethod specifies the proposed phase 1
authentication method. The property is defined as follows:
NAME AuthenticationMethod
DESCRIPTION Specifies the proposed authentication method for the
phase 1 security association.
SYNTAX unsigned 16-bit integer
VALUE 0 - a special value that indicates that this
particular proposal should be repeated once for each
authentication method that corresponds to the
credentials installed on the machine. For example,
if the system has a pre-shared key and a certificate,
a proposal list could be constructed that includes a
proposal that specifies a pre-shared key and
proposals for any of the public-key authentication
methods. Consult [<a href="#ref-IKE" title=""The Internet Key Exchange (IKE)"">IKE</a>] for valid values.
<span class="h4"><a class="selflink" id="section-7.2.6" href="#section-7.2.6">7.2.6</a>. The Property MaxLifetimeSeconds</span>
The property MaxLifetimeSeconds specifies the proposed maximum time,
in seconds, that a security association will remain valid after its
creation. The property is defined as follows:
NAME MaxLifetimeSeconds
DESCRIPTION Specifies the proposed maximum time that a
security association will remain valid.
SYNTAX unsigned 64-bit integer
VALUE A value of zero indicates that the default of 8
hours be used. A non-zero value indicates the
maximum seconds lifetime.
Note: While IKE can negotiate the lifetime as an arbitrary length
field, the authors have assumed that a 64-bit integer will be
sufficient.
<span class="h4"><a class="selflink" id="section-7.2.7" href="#section-7.2.7">7.2.7</a>. The Property MaxLifetimeKilobytes</span>
The property MaxLifetimeKilobytes specifies the proposed maximum
kilobyte lifetime that a security association will remain valid after
its creation. The property is defined as follows:
NAME MaxLifetimeKilobytes
DESCRIPTION Specifies the proposed maximum kilobyte lifetime
that a security association will remain valid.
SYNTAX unsigned 64-bit integer
<span class="grey">Jason, et al. Standards Track [Page 53]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-54" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
VALUE A value of zero indicates that there should be no
maximum kilobyte lifetime. A non-zero value
specifies the desired kilobyte lifetime.
Note: While IKE can negotiate the lifetime as an arbitrary length
field, the authors have assumed that a 64-bit integer will be
sufficient.
<span class="h4"><a class="selflink" id="section-7.2.8" href="#section-7.2.8">7.2.8</a>. The Property VendorID</span>
The property VendorID further qualifies the key exchange group. The
property is ignored unless the exchange is not in aggressive mode and
the property GroupID is in the vendor-specific range. The property
is defined as follows:
NAME VendorID
DESCRIPTION Specifies the Vendor ID to further qualify the key
exchange group.
SYNTAX string
<span class="h3"><a class="selflink" id="section-7.3" href="#section-7.3">7.3</a>. The Class IPsecProposal</span>
The class IPsecProposal adds no new properties, but inherits proposal
properties from SAProposal, as well as aggregating the security
association transforms necessary for building an IPsec proposal (see
the aggregation class ContainedTransform). The class definition for
IPsecProposal is as follows:
NAME IPsecProposal
DESCRIPTION Specifies the proposal parameters for IPsec security
association negotiation.
DERIVED FROM SAProposal
ABSTRACT FALSE
<span class="h3"><a class="selflink" id="section-7.4" href="#section-7.4">7.4</a>. The Abstract Class SATransform</span>
The abstract class SATransform serves as the base class for the IPsec
transforms that can be used to compose an IPsec proposal or to be
used as a pre-configured action. The class definition for
SATransform is as follows:
NAME SATransform
DESCRIPTION Base class for the different IPsec transforms.
ABSTRACT TRUE
PROPERTIES CommonName (from Policy)
VendorID
MaxLifetimeSeconds
MaxLifetimeKilobytes
<span class="grey">Jason, et al. Standards Track [Page 54]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-55" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-7.4.1" href="#section-7.4.1">7.4.1</a>. The Property CommonName</span>
The property CommonName is inherited from Policy [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>] and specifies
a user-friendly name for the SATransform. The property is defined as
follows:
NAME CommonName
DESCRIPTION Specifies a user-friendly name for this Policy-
related object.
SYNTAX string
<span class="h4"><a class="selflink" id="section-7.4.2" href="#section-7.4.2">7.4.2</a>. The Property VendorID</span>
The property VendorID specifies the vendor ID for vendor-defined
transforms. The property is defined as follows:
NAME VendorID
DESCRIPTION Specifies the vendor ID for vendor-defined
transforms.
SYNTAX string
VALUE An empty VendorID string indicates that the transform
is a standard one.
<span class="h4"><a class="selflink" id="section-7.4.3" href="#section-7.4.3">7.4.3</a>. The Property MaxLifetimeSeconds</span>
The property MaxLifetimeSeconds specifies the proposed maximum time,
in seconds, that a security association will remain valid after its
creation. The property is defined as follows:
NAME MaxLifetimeSeconds
DESCRIPTION Specifies the proposed maximum time that a
security association will remain valid.
SYNTAX unsigned 64-bit integer
VALUE A value of zero indicates that the default of 8 hours
be used. A non-zero value indicates the maximum
seconds lifetime.
Note: While IKE can negotiate the lifetime as an arbitrary length
field, the authors have assumed that a 64-bit integer will be
sufficient.
<span class="h4"><a class="selflink" id="section-7.4.4" href="#section-7.4.4">7.4.4</a>. The Property MaxLifetimeKilobytes</span>
The property MaxLifetimeKilobytes specifies the proposed maximum
kilobyte lifetime that a security association will remain valid after
its creation. The property is defined as follows:
<span class="grey">Jason, et al. Standards Track [Page 55]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-56" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
NAME MaxLifetimeKilobytes
DESCRIPTION Specifies the proposed maximum kilobyte lifetime
that a security association will remain valid.
SYNTAX unsigned 64-bit integer
VALUE A value of zero indicates that there should be no
maximum kilobyte lifetime. A non-zero value
specifies the desired kilobyte lifetime.
Note: While IKE can negotiate the lifetime as an arbitrary length
field, the authors have assumed that a 64-bit integer will be
sufficient.
<span class="h3"><a class="selflink" id="section-7.5" href="#section-7.5">7.5</a>. The Class AHTransform</span>
The class AHTransform specifies the AH algorithm to propose during
IPsec security association negotiation. The class definition for
AHTransform is as follows:
NAME AHTransform
DESCRIPTION Specifies the proposed AH algorithm.
ABSTRACT FALSE
PROPERTIES AHTransformId
UseReplayPrevention
ReplayPreventionWindowSize
<span class="h4"><a class="selflink" id="section-7.5.1" href="#section-7.5.1">7.5.1</a>. The Property AHTransformId</span>
The property AHTransformId specifies the transform ID of the AH
algorithm. The property is defined as follows:
NAME AHTransformId
DESCRIPTION Specifies the transform ID of the AH algorithm.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] for valid values.
<span class="h4"><a class="selflink" id="section-7.5.2" href="#section-7.5.2">7.5.2</a>. The Property UseReplayPrevention</span>
The property UseReplayPrevention specifies whether replay prevention
detection is to be used. The property is defined as follows:
NAME UseReplayPrevention
DESCRIPTION Specifies whether to enable replay prevention
detection.
SYNTAX boolean
VALUE true - replay prevention detection is enabled.
false - replay prevention detection is disabled.
<span class="grey">Jason, et al. Standards Track [Page 56]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-57" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-7.5.3" href="#section-7.5.3">7.5.3</a>. The Property ReplayPreventionWindowSize</span>
The property ReplayPreventionWindowSize specifies, in bits, the
length of the sliding window used by the replay prevention detection
mechanism. The value of this property is meaningless if
UseReplayPrevention is false. It is assumed that the window size
will be power of 2. The property is defined as follows:
NAME ReplayPreventionWindowSize
DESCRIPTION Specifies the length of the window used by the replay
prevention detection mechanism.
SYNTAX unsigned 32-bit integer
<span class="h3"><a class="selflink" id="section-7.6" href="#section-7.6">7.6</a>. The Class ESPTransform</span>
The class ESPTransform specifies the ESP algorithms to propose
during IPsec security association negotiation. The class definition
for ESPTransform is as follows:
NAME ESPTransform
DESCRIPTION Specifies the proposed ESP algorithms.
ABSTRACT FALSE
PROPERTIES IntegrityTransformId
CipherTransformId
CipherKeyLength
CipherKeyRounds
UseReplayPrevention
ReplayPreventionWindowSize
<span class="h4"><a class="selflink" id="section-7.6.1" href="#section-7.6.1">7.6.1</a>. The Property IntegrityTransformId</span>
The property IntegrityTransformId specifies the transform ID of the
ESP integrity algorithm. The property is defined as follows:
NAME IntegrityTransformId
DESCRIPTION Specifies the transform ID of the ESP integrity
algorithm.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] for valid values.
<span class="grey">Jason, et al. Standards Track [Page 57]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-58" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-7.6.2" href="#section-7.6.2">7.6.2</a>. The Property CipherTransformId</span>
The property CipherTransformId specifies the transform ID of the ESP
encryption algorithm. The property is defined as follows:
NAME CipherTransformId
DESCRIPTION Specifies the transform ID of the ESP encryption
algorithm.
SYNTAX unsigned 16-bit integer
VALUE Consult [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] for valid values.
<span class="h4"><a class="selflink" id="section-7.6.3" href="#section-7.6.3">7.6.3</a>. The Property CipherKeyLength</span>
The property CipherKeyLength specifies, in bits, the key length for
the ESP encryption algorithm. For encryption algorithms that use a
fixed-length keys, this value is ignored. The property is defined as
follows:
NAME CipherKeyLength
DESCRIPTION Specifies the ESP encryption key length in bits.
SYNTAX unsigned 16-bit integer
<span class="h4"><a class="selflink" id="section-7.6.4" href="#section-7.6.4">7.6.4</a>. The Property CipherKeyRounds</span>
The property CipherKeyRounds specifies the number of key rounds for
the ESP encryption algorithm. For encryption algorithms that use
fixed number of key rounds, this value is ignored. The property is
defined as follows:
NAME CipherKeyRounds
DESCRIPTION Specifies the number of key rounds for the ESP
encryption algorithm.
SYNTAX unsigned 16-bit integer
VALUE Currently, key rounds are not defined for any ESP
encryption algorithms.
<span class="h4"><a class="selflink" id="section-7.6.5" href="#section-7.6.5">7.6.5</a>. The Property UseReplayPrevention</span>
The property UseReplayPrevention specifies whether replay prevention
detection is to be used. The property is defined as follows:
NAME UseReplayPrevention
DESCRIPTION Specifies whether to enable replay prevention
detection.
SYNTAX boolean
VALUE true - replay prevention detection is enabled.
false - replay prevention detection is disabled.
<span class="grey">Jason, et al. Standards Track [Page 58]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-59" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-7.6.6" href="#section-7.6.6">7.6.6</a>. The Property ReplayPreventionWindowSize</span>
The property ReplayPreventionWindowSize specifies, in bits, the
length of the sliding window used by the replay prevention detection
mechanism. The value of this property is meaningless if
UseReplayPrevention is false. It is assumed that the window size
will be power of 2. The property is defined as follows:
NAME ReplayPreventionWindowSize
DESCRIPTION Specifies the length of the window used by the replay
prevention detection mechanism.
SYNTAX unsigned 32-bit integer
<span class="h3"><a class="selflink" id="section-7.7" href="#section-7.7">7.7</a>. The Class IPCOMPTransform</span>
The class IPCOMPTransform specifies the IP compression (IPCOMP)
algorithm to propose during IPsec security association negotiation.
The class definition for IPCOMPTransform is as follows:
NAME IPCOMPTransform
DESCRIPTION Specifies the proposed IPCOMP algorithm.
ABSTRACT FALSE
PROPERTIES Algorithm
DictionarySize
PrivateAlgorithm
<span class="h4"><a class="selflink" id="section-7.7.1" href="#section-7.7.1">7.7.1</a>. The Property Algorithm</span>
The property Algorithm specifies the transform ID of the IPCOMP
compression algorithm. The property is defined as follows:
NAME Algorithm
DESCRIPTION Specifies the transform ID of the IPCOMP compression
algorithm.
SYNTAX unsigned 16-bit integer
VALUE 1 - OUI: a vendor specific algorithm is used and
specified in the property PrivateAlgorithm. Consult
[<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] for other valid values.
<span class="h4"><a class="selflink" id="section-7.7.2" href="#section-7.7.2">7.7.2</a>. The Property DictionarySize</span>
The property DictionarySize specifies the log2 maximum size of the
dictionary for the compression algorithm. For compression algorithms
that have pre-defined dictionary sizes, this value is ignored. The
property is defined as follows:
<span class="grey">Jason, et al. Standards Track [Page 59]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-60" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
NAME DictionarySize
DESCRIPTION Specifies the log2 maximum size of the dictionary.
SYNTAX unsigned 16-bit integer
<span class="h4"><a class="selflink" id="section-7.7.3" href="#section-7.7.3">7.7.3</a>. The Property PrivateAlgorithm</span>
The property PrivateAlgorithm specifies a private vendor-specific
compression algorithm. This value is only used when the property
Algorithm is 1 (OUI). The property is defined as follows:
NAME PrivateAlgorithm
DESCRIPTION Specifies a private vendor-specific compression
algorithm.
SYNTAX unsigned 32-bit integer
<span class="h3"><a class="selflink" id="section-7.8" href="#section-7.8">7.8</a>. The Association Class SAProposalInSystem</span>
The class SAProposalInSystem weakly associates SAProposals with a
System. The class definition for SAProposalInSystem is as follows:
NAME SAProposalInSystem
DESCRIPTION Weakly associates SAProposals with a System.
DERIVED FROM PolicyInSystem (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
ABSTRACT FALSE
PROPERTIES Antecedent[ref System [1..1]]
Dependent[ref SAProposal[0..n] [weak]]
<span class="h4"><a class="selflink" id="section-7.8.1" href="#section-7.8.1">7.8.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from the PolicyInSystem and is
overridden to refer to a System instance. The [1..1] cardinality
indicates that an SAProposal instance MUST be associated with one and
only one System instance.
<span class="h4"><a class="selflink" id="section-7.8.2" href="#section-7.8.2">7.8.2</a>. The Reference Dependent</span>
The property Dependent is inherited from PolicyInSystem and is
overridden to refer to an SAProposal instance. The [0..n]
cardinality indicates that a System instance may be associated with
zero or more SAProposal instances.
<span class="h3"><a class="selflink" id="section-7.9" href="#section-7.9">7.9</a>. The Aggregation Class ContainedTransform</span>
The class ContainedTransform associates an IPsecProposal with the set
of SATransforms that make up the proposal. If multiple transforms of
the same type are in a proposal, then they are to be logically ORed
and the order of preference is dictated by the SequenceNumber
property. Sets of transforms of different types are logically ANDed.
<span class="grey">Jason, et al. Standards Track [Page 60]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-61" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
For example, if the ordered proposal list were
ESP = { (HMAC-MD5, 3DES), (HMAC-MD5, DES) }
AH = { MD5, SHA-1 }
then the one sending the proposal would want the other side to pick
one from the ESP transform (preferably (HMAC-MD5, 3DES)) list AND one
from the AH transform list (preferably MD5).
The class definition for ContainedTransform is as follows:
NAME ContainedTransform
DESCRIPTION Associates an IPsecProposal with the set of
SATransforms that make up the proposal.
DERIVED FROM PolicyComponent (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
ABSTRACT FALSE
PROPERTIES GroupComponent[ref IPsecProposal[0..n]]
PartComponent[ref SATransform[1..n]]
SequenceNumber
<span class="h4"><a class="selflink" id="section-7.9.1" href="#section-7.9.1">7.9.1</a>. The Reference GroupComponent</span>
The property GroupComponent is inherited from PolicyComponent and is
overridden to refer to an IPsecProposal instance. The [0..n]
cardinality indicates that an SATransform instance may be associated
with zero or more IPsecProposal instances.
<span class="h4"><a class="selflink" id="section-7.9.2" href="#section-7.9.2">7.9.2</a>. The Reference PartComponent</span>
The property PartComponent is inherited from PolicyComponent and is
overridden to refer to an SATransform instance. The [1..n]
cardinality indicates that an IPsecProposal instance MUST be
associated with at least one SATransform instance.
<span class="h4"><a class="selflink" id="section-7.9.3" href="#section-7.9.3">7.9.3</a>. The Property SequenceNumber</span>
The property SequenceNumber specifies the order of preference for the
SATransforms of the same type. The property is defined as follows:
NAME SequenceNumber
DESCRIPTION Specifies the preference order for the SATransforms
of the same type.
SYNTAX unsigned 16-bit integer
VALUE Lower-valued transforms are preferred over transforms
of the same type with higher values. For
ContainedTransforms that reference the same
IPsecProposal, SequenceNumber values must be unique.
<span class="grey">Jason, et al. Standards Track [Page 61]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-62" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-7.10" href="#section-7.10">7.10</a>. The Association Class SATransformInSystem</span>
The class SATransformInSystem weakly associates SATransforms with a
System. The class definition for SATransformInSystem System is as
follows:
NAME SATransformInSystem
DESCRIPTION Weakly associates SATransforms with a System.
DERIVED FROM PolicyInSystem (see [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>])
ABSTRACT FALSE
PROPERTIES Antecedent[ref System[1..1]]
Dependent[ref SATransform[0..n] [weak]]
<span class="h4"><a class="selflink" id="section-7.10.1" href="#section-7.10.1">7.10.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from PolicyInSystem and is
overridden to refer to a System instance. The [1..1] cardinality
indicates that an SATransform instance MUST be associated with one
and only one System instance.
<span class="h4"><a class="selflink" id="section-7.10.2" href="#section-7.10.2">7.10.2</a>. The Reference Dependent</span>
The property Dependent is inherited from PolicyInSystem and is
overridden to refer to an SATransform instance. The [0..n]
cardinality indicates that a System instance may be associated with
zero or more SATransform instances.
<span class="grey">Jason, et al. Standards Track [Page 62]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-63" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. IKE Service and Identity Classes</span>
+--------------+ +-------------------+
| System | | PeerIdentityEntry |
| ([<a href="#ref-CIMCORE">CIMCORE</a>]) | +-------------------+
+--------------+ |*w
1| (a) (b) |
+---+ +------------+
| |
|*w 1 o
+-------------+ +-------------------+ +---------------------+
| PeerGateway | | PeerIdentityTable | | AutostartIKESetting |
+-------------+ +-------------------+ +---------------------+
*| *| *| *|
+----------------------+ |(d) +----------+ |
(c) *| *| *| (e) |
*+------------+* |(f)
+-----------------| IKEService |-----+ |
| (g) +------------+ |(h) |
0..1| *| *| *o
+--------------------+ | +---------------------------+
| IPProtocolEndpoint | | | AutostartIKEConfiguration |
| ([<a href="#ref-CIMNETWORK">CIMNETWORK</a>]) | (i)| +---------------------------+
+--------------------+ |
0..1| |
|(j) +----------------+
*| |*
+-------------+* (k) +------------+ +-----------------------------+
| IKEIdentity |-------| Collection | | CredentialManagementService |
+-------------+ 0..1| ([<a href="#ref-CIMCORE">CIMCORE</a>])| | ([<a href="#ref-CIMUSER">CIMUSER</a>]) |
*| +------------+ +-----------------------------+
|(l)
*|
+--------------+
| Credential |
| ([<a href="#ref-CIMUSER">CIMUSER</a>]) |
+--------------+
(a) HostedPeerIdentityTable
(b) PeerIdentityMember
(c) IKEServicePeerGateway
(d) IKEServicePeerIdentityTable
(e) IKEAutostartSetting
(f) AutostartIKESettingContext
(g) IKEServiceForEndpoint
(h) IKEAutostartConfiguration
(i) IKEUsesCredentialManagementService
(j) EndpointHasLocalIKEIdentity
<span class="grey">Jason, et al. Standards Track [Page 63]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-64" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
(k) CollectionHasLocalIKEIdentity
(l) IKEIdentitysCredential
This portion of the model contains additional information that is
useful in applying the policy. The IKEService class MAY be used to
represent the IKE negotiation function in a system. The IKEService
uses the various tables that contain information about IKE peers as
well as the configuration for specifying security associations that
are started automatically. The information in the PeerGateway,
PeerIdentityTable and related classes is necessary to completely
specify the policies.
An interface (represented by an IPProtocolEndpoint) has an IKEService
that provides the negotiation services for that interface. That
service MAY also have a list of security associations automatically
started at the time the IKE service is initialized.
The IKEService also has a set of identities that it may use in
negotiations with its peers. Those identities are associated with
the interfaces (or collections of interfaces).
<span class="h3"><a class="selflink" id="section-8.1" href="#section-8.1">8.1</a>. The Class IKEService</span>
The class IKEService represents the IKE negotiation function. An
instance of this service may provide that negotiation service for one
or more interfaces (represented by the IPProtocolEndpoint class) of a
System. There may be multiple instances of IKE services on a System
but only one per interface. The class definition for IKEService is
as follows:
NAME IKEService
DESCRIPTION IKEService is used to represent the IKE negotiation
function.
DERIVED FROM Service (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
<span class="h3"><a class="selflink" id="section-8.2" href="#section-8.2">8.2</a>. The Class PeerIdentityTable</span>
The class PeerIdentityTable aggregates the table entries that provide
mappings between identities and their addresses. The class
definition for PeerIdentityTable is as follows:
NAME PeerIdentityTable
DESCRIPTION PeerIdentityTable aggregates PeerIdentityEntry
instances to provide a table of identity-address
mappings.
DERIVED FROM Collection (see [<a href="#ref-CIMCORE">CIMCORE</a>])
<span class="grey">Jason, et al. Standards Track [Page 64]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-65" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
ABSTRACT FALSE
PROPERTIES Name
<span class="h4"><a class="selflink" id="section-8.2.1" href="#section-8.2.1">8.2.1</a>. The Property Name</span>
The property Name uniquely identifies the table. The property is
defined as follows:
NAME Name
DESCRIPTION Name uniquely identifies the table.
SYNTAX string
<span class="h3"><a class="selflink" id="section-8.3" href="#section-8.3">8.3</a>. The Class PeerIdentityEntry</span>
The class PeerIdentityEntry specifies the mapping between peer
identity and their IP address. The class definition for
PeerIdentityEntry is as follows:
NAME PeerIdentityEntry
DESCRIPTION PeerIdentityEntry provides a mapping between a peer's
identity and address.
DERIVED FROM LogicalElement (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES PeerIdentity
PeerIdentityType
PeerAddress
PeerAddressType
The pre-shared key to be used with this peer (if applicable) is
contained in an instance of the class SharedSecret (see [<a href="#ref-CIMUSER">CIMUSER</a>]).
The pre-shared key is stored in the property Secret, the property
protocol contains "IKE", the property algorithm contains the
algorithm used to protect the secret (can be "PLAINTEXT" if the IPsec
entity has no secret storage), the value of property RemoteID must
match the PeerIdentity property of the PeerIdentityEntry instance
describing the IKE peer.
<span class="h4"><a class="selflink" id="section-8.3.1" href="#section-8.3.1">8.3.1</a>. The Property PeerIdentity</span>
The property PeerIdentity contains a string encoding of the Identity
payload for the IKE peer. The property is defined as follows:
NAME PeerIdentity
DESCRIPTION The PeerIdentity is the ID payload of a peer.
SYNTAX string
<span class="grey">Jason, et al. Standards Track [Page 65]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-66" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-8.3.2" href="#section-8.3.2">8.3.2</a>. The Property PeerIdentityType</span>
The property PeerIdentityType is an enumeration that specifies the
type of the PeerIdentity. The property is defined as follows:
NAME PeerIdentityType
DESCRIPTION PeerIdentityType is the type of the ID payload of a
peer.
SYNTAX unsigned 16-bit integer
VALUE The enumeration values are specified in [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] <a href="#section-4.6.2.1">section</a>
<a href="#section-4.6.2.1">4.6.2.1</a>.
<span class="h4"><a class="selflink" id="section-8.3.3" href="#section-8.3.3">8.3.3</a>. The Property PeerAddress</span>
The property PeerAddress specifies the string representation of the
IP address of the peer formatted according to the appropriate
convention as defined in the PeerAddressType property (e.g., dotted
decimal notation). The property is defined as follows:
NAME PeerAddress
DESCRIPTION PeerAddress is the address of the peer with the ID
payload.
SYNTAX string
VALUE String representation of an IPv4 or IPv6 address.
<span class="h4"><a class="selflink" id="section-8.3.4" href="#section-8.3.4">8.3.4</a>. The Property PeerAddressType</span>
The property PeerAddressType specifies the format of the PeerAddress
property value. The property is defined as follows:
NAME PeerAddressType
DESCRIPTION PeerAddressType is the type of address in
PeerAddress.
SYNTAX unsigned 16-bit integer
VALUE 0 - Unknown
1 - IPv4
2 - IPv6
<span class="h3"><a class="selflink" id="section-8.4" href="#section-8.4">8.4</a>. The Class AutostartIKEConfiguration</span>
The class AutostartIKEConfiguration groups AutostartIKESetting
instances into configuration sets. When applied, the settings cause
an IKE service to automatically start (negotiate or statically set as
appropriate) the Security Associations. The class definition for
AutostartIKEConfiguration is as follows:
<span class="grey">Jason, et al. Standards Track [Page 66]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-67" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
NAME AutostartIKEConfiguration
DESCRIPTION A configuration set of AutostartIKESetting instances
to be automatically started by the IKE service.
DERIVED FROM SystemConfiguration (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
<span class="h3"><a class="selflink" id="section-8.5" href="#section-8.5">8.5</a>. The Class AutostartIKESetting</span>
The class AutostartIKESetting is used to automatically initiate IKE
negotiations with peers (or statically create an SA) as specified in
the AutostartIKESetting properties. Appropriate actions are
initiated according to the policy that matches the setting
parameters. The class definition for AutostartIKESetting is as
follows:
NAME AutostartIKESetting
DESCRIPTION AutostartIKESetting is used to automatically initiate
IKE negotiations with peers or statically create an
SA.
DERIVED FROM SystemSetting (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Phase1Only
AddressType
SourceAddress
SourcePort
DestinationAddress
DestinationPort
Protocol
<span class="h4"><a class="selflink" id="section-8.5.1" href="#section-8.5.1">8.5.1</a>. The Property Phase1Only</span>
The property Phase1Only is used to limit the IKE negotiation to a
phase 1 SA establishment only. When set to False, both phase 1 and
phase 2 SAs are negotiated. The property is defined as follows:
NAME Phase1Only
DESCRIPTION Used to indicate whether a phase 1 only or both phase
1 and phase 2 security associations should attempt
establishment.
SYNTAX boolean
VALUE true - attempt to establish a phase 1 security
association
false - attempt to establish phase 1 and phase 2
security associations
<span class="grey">Jason, et al. Standards Track [Page 67]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-68" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-8.5.2" href="#section-8.5.2">8.5.2</a>. The Property AddressType</span>
The property AddressType specifies a type of the addresses in the
SourceAddress and DestinationAddress properties. The property is
defined as follows:
NAME AddressType
DESCRIPTION AddressType is the type of address in SourceAddress
and DestinationAddress properties.
SYNTAX unsigned 16-bit integer
VALUE 0 - Unknown
1 - IPv4
2 - IPv6
<span class="h4"><a class="selflink" id="section-8.5.3" href="#section-8.5.3">8.5.3</a>. The Property SourceAddress</span>
The property SourceAddress specifies the dotted-decimal or colon-
decimal formatted IP address used as the source address in comparing
with policy filter entries and used in any phase 2 negotiations. The
property is defined as follows:
NAME SourceAddress
DESCRIPTION The source address to compare with the filters to
determine the appropriate policy rule.
SYNTAX string
VALUE dotted-decimal or colon-decimal formatted IP address
<span class="h4"><a class="selflink" id="section-8.5.4" href="#section-8.5.4">8.5.4</a>. The Property SourcePort</span>
The property SourcePort specifies the port number used as the source
port in comparing policy filter entries and is used in any phase 2
negotiations. The property is defined as follows:
NAME SourcePort
DESCRIPTION The source port to compare with the filters to
determine the appropriate policy rule.
SYNTAX unsigned 16-bit integer
<span class="h4"><a class="selflink" id="section-8.5.5" href="#section-8.5.5">8.5.5</a>. The Property DestinationAddress</span>
The property DestinationAddress specifies the dotted-decimal or
colon-decimal formatted IP address used as the destination address in
comparing policy filter entries and is used in any phase 2
negotiations. The property is defined as follows:
NAME DestinationAddress
DESCRIPTION The destination address to compare with the filters
to determine the appropriate policy rule.
<span class="grey">Jason, et al. Standards Track [Page 68]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-69" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
SYNTAX string
VALUE dotted-decimal or colon-decimal formatted IP address
<span class="h4"><a class="selflink" id="section-8.5.6" href="#section-8.5.6">8.5.6</a>. The Property DestinationPort</span>
The property DestinationPort specifies the port number used as the
destination port in comparing policy filter entries and is used in
any phase 2 negotiations. The property is defined as follows:
NAME DestinationPort
DESCRIPTION The destination port to compare with the filters to
determine the appropriate policy rule.
SYNTAX unsigned 16-bit integer
<span class="h4"><a class="selflink" id="section-8.5.7" href="#section-8.5.7">8.5.7</a>. The Property Protocol</span>
The property Protocol specifies the protocol number used in comparing
with policy filter entries and is used in any phase 2 negotiations.
The property is defined as follows:
NAME Protocol
DESCRIPTION The protocol number used in comparing policy
filter entries.
SYNTAX unsigned 8-bit integer
<span class="h3"><a class="selflink" id="section-8.6" href="#section-8.6">8.6</a>. The Class IKEIdentity</span>
The class IKEIdentity is used to represent the identities that may be
used for an IPProtocolEndpoint (or collection of IPProtocolEndpoints)
to identify the IKE Service in IKE phase 1 negotiations. The policy
IKEAction.UseIKEIdentityType specifies which type of the available
identities to use in a negotiation exchange and the
IKERule.IdentityContexts specifies the match values to be used, along
with the local address, in selecting the appropriate identity for a
negotiation. The ElementID property value (defined in the parent
class, UsersAccess) should be that of either the IPProtocolEndpoint
or Collection of endpoints as appropriate. The class definition for
IKEIdentity is as follows:
NAME IKEIdentity
DESCRIPTION IKEIdentity is used to represent the identities that
may be used for an IPProtocolEndpoint (or collection
of IPProtocolEndpoints) to identify the IKE Service
in IKE phase 1 negotiations.
DERIVED FROM UsersAccess (see [<a href="#ref-CIMUSER">CIMUSER</a>])
ABSTRACT FALSE
<span class="grey">Jason, et al. Standards Track [Page 69]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-70" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
PROPERTIES IdentityType
IdentityValue
IdentityContexts
<span class="h4"><a class="selflink" id="section-8.6.1" href="#section-8.6.1">8.6.1</a>. The Property IdentityType</span>
The property IdentityType is an enumeration that specifies the type
of the IdentityValue. The property is defined as follows:
NAME IdentityType
DESCRIPTION IdentityType is the type of the IdentityValue.
SYNTAX unsigned 16-bit integer
VALUE The enumeration values are specified in [<a href="#ref-DOI" title=""The Internet IP Security Domain of Interpretation for ISAKMP"">DOI</a>] <a href="#section-4.6.2.1">section</a>
<a href="#section-4.6.2.1">4.6.2.1</a>.
<span class="h4"><a class="selflink" id="section-8.6.2" href="#section-8.6.2">8.6.2</a>. The Property IdentityValue</span>
The property IdentityValue contains a string encoding of the Identity
payload. For IKEIdentity instances that are address types (i.e.,
IPv4 or IPv6 addresses), the IdentityValue string value MAY be
omitted; then the associated IPProtocolEndpoint (or appropriate
member of the Collection of endpoints) is used as the identity value.
The property is defined as follows:
NAME IdentityValue
DESCRIPTION IdentityValue contains a string encoding of the
Identity payload.
SYNTAX string
<span class="h4"><a class="selflink" id="section-8.6.3" href="#section-8.6.3">8.6.3</a>. The Property IdentityContexts</span>
The IdentityContexts property is used to constrain the use of
IKEIdentity instances to match that specified in the
IKERule.IdentityContexts. The IdentityContexts are formatted as
policy roles and role combinations [<a href="#ref-PCIM" title=""Policy Core Information Model -- Version 1 Specification"">PCIM</a>] & [<a href="#ref-PCIME" title=""Policy Core Information Model (PCIM) Extensions"">PCIME</a>]. Each value
represents one context or context combination. Since this is a
multi-valued property, more than one context or combination of
contexts can be associated with a single IKEIdentity. Each value is
a string of the form:
<ContextName>[&&<ContextName>]*
where the individual context names appear in alphabetical order
(according to the collating sequence for UCS-2). If one or more
values in the IKERule.IdentityContexts array match one or more
IKEIdentity.IdentityContexts, then the identity's context matches.
(That is, each value of the IdentityContext array is an ORed
condition.) In combination with the address of the
<span class="grey">Jason, et al. Standards Track [Page 70]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-71" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
IPProtocolEndpoint and IKEAction.UseIKEIdentityType, there SHOULD be
exactly one IKEIdentity. The property is defined as follows:
NAME IdentityContexts
DESCRIPTION The IKE service of a security endpoint may have
multiple identities for use in different situations.
The combination of the interface (represented by
the IPProtocolEndpoint), the identity type (as
specified in the IKEAction) and the IdentityContexts
selects a unique identity.
SYNTAX string array
VALUE string of the form <ContextName>[&&<ContextName>]*
<span class="h3"><a class="selflink" id="section-8.7" href="#section-8.7">8.7</a>. The Association Class HostedPeerIdentityTable</span>
The class HostedPeerIdentityTable provides the name scoping
relationship for PeerIdentityTable entries in a System. The
PeerIdentityTable is weak to the System. The class definition for
HostedPeerIdentityTable is as follows:
NAME HostedPeerIdentityTable
DESCRIPTION The PeerIdentityTable instances are weak (name scoped
by) the owning System.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref System[1..1]]
Dependent [ref PeerIdentityTable[0..n] [weak]]
<span class="h4"><a class="selflink" id="section-8.7.1" href="#section-8.7.1">8.7.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a System instance. The [1..1] cardinality
indicates that a PeerIdentityTable instance MUST be associated in a
weak relationship with one and only one System instance.
<span class="h4"><a class="selflink" id="section-8.7.2" href="#section-8.7.2">8.7.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to a PeerIdentityTable instance. The [0..n] cardinality
indicates that a System instance may be associated with zero or more
PeerIdentityTable instances.
<span class="h3"><a class="selflink" id="section-8.8" href="#section-8.8">8.8</a>. The Aggregation Class PeerIdentityMember</span>
The class PeerIdentityMember aggregates PeerIdentityEntry instances
into a PeerIdentityTable. This is a weak aggregation. The class
definition for PeerIdentityMember is as follows:
<span class="grey">Jason, et al. Standards Track [Page 71]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-72" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
NAME PeerIdentityMember
DESCRIPTION PeerIdentityMember aggregates PeerIdentityEntry
instances into a PeerIdentityTable.
DERIVED FROM MemberOfCollection (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Collection [ref PeerIdentityTable[1..1]]
Member [ref PeerIdentityEntry [0..n] [weak]]
<span class="h4"><a class="selflink" id="section-8.8.1" href="#section-8.8.1">8.8.1</a>. The Reference Collection</span>
The property Collection is inherited from MemberOfCollection and is
overridden to refer to a PeerIdentityTable instance. The [1..1]
cardinality indicates that a PeerIdentityEntry instance MUST be
associated with one and only one PeerIdentityTable instance (i.e.,
PeerIdentityEntry instances are not shared across
PeerIdentityTables).
<span class="h4"><a class="selflink" id="section-8.8.2" href="#section-8.8.2">8.8.2</a>. The Reference Member</span>
The property Member is inherited from MemberOfCollection and is
overridden to refer to a PeerIdentityEntry instance. The [0..n]
cardinality indicates that a PeerIdentityTable instance may be
associated with zero or more PeerIdentityEntry instances.
<span class="h3"><a class="selflink" id="section-8.9" href="#section-8.9">8.9</a>. The Association Class IKEServicePeerGateway</span>
The class IKEServicePeerGateway provides the association between an
IKEService and the list of PeerGateway instances that it uses in
negotiating with security gateways. The class definition for
IKEServicePeerGateway is as follows:
NAME IKEServicePeerGateway
DESCRIPTION Associates an IKEService and the list of PeerGateway
instances that it uses in negotiating with security
gateways.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref PeerGateway[0..n]]
Dependent [ref IKEService[0..n]]
<span class="h4"><a class="selflink" id="section-8.9.1" href="#section-8.9.1">8.9.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a PeerGateway instance. The [0..n]
cardinality indicates that an IKEService instance may be associated
with zero or more PeerGateway instances.
<span class="grey">Jason, et al. Standards Track [Page 72]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-73" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-8.9.2" href="#section-8.9.2">8.9.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to an IKEService instance. The [0..n] cardinality indicates
that a PeerGateway instance may be associated with zero or more
IKEService instances.
<span class="h3"><a class="selflink" id="section-8.10" href="#section-8.10">8.10</a>. The Association Class IKEServicePeerIdentityTable</span>
The class IKEServicePeerIdentityTable provides the relationship
between an IKEService and a PeerIdentityTable that it uses to map
between addresses and identities as required. The class definition
for IKEServicePeerIdentityTable is as follows:
NAME IKEServicePeerIdentityTable
DESCRIPTION IKEServicePeerIdentityTable provides the relationship
between an IKEService and a PeerIdentityTable that it
uses.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref PeerIdentityTable[0..n]]
Dependent [ref IKEService[0..n]]
<span class="h4"><a class="selflink" id="section-8.10.1" href="#section-8.10.1">8.10.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a PeerIdentityTable instance. The [0..n]
cardinality indicates that an IKEService instance may be associated
with zero or more PeerIdentityTable instances.
<span class="h4"><a class="selflink" id="section-8.10.2" href="#section-8.10.2">8.10.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to an IKEService instance. The [0..n] cardinality indicates
that a PeerIdentityTable instance may be associated with zero or more
IKEService instances.
<span class="h3"><a class="selflink" id="section-8.11" href="#section-8.11">8.11</a>. The Association Class IKEAutostartSetting</span>
The class IKEAutostartSetting associates an AutostartIKESetting with
an IKEService that may use it to automatically start an IKE
negotiation or create a static SA. The class definition for
IKEAutostartSetting is as follows:
NAME IKEAutostartSetting
DESCRIPTION Associates a AutostartIKESetting with an IKEService.
DERIVED FROM ElementSetting (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
<span class="grey">Jason, et al. Standards Track [Page 73]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-74" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
PROPERTIES Element [ref IKEService[0..n]]
Setting [ref AutostartIKESetting[0..n]]
<span class="h4"><a class="selflink" id="section-8.11.1" href="#section-8.11.1">8.11.1</a>. The Reference Element</span>
The property Element is inherited from ElementSetting and is
overridden to refer to an IKEService instance. The [0..n]
cardinality indicates an AutostartIKESetting instance may be
associated with zero or more IKEService instances.
<span class="h4"><a class="selflink" id="section-8.11.2" href="#section-8.11.2">8.11.2</a>. The Reference Setting</span>
The property Setting is inherited from ElementSetting and is
overridden to refer to an AutostartIKESetting instance. The [0..n]
cardinality indicates that an IKEService instance may be associated
with zero or more AutostartIKESetting instances.
<span class="h3"><a class="selflink" id="section-8.12" href="#section-8.12">8.12</a>. The Aggregation Class AutostartIKESettingContext</span>
The class AutostartIKESettingContext aggregates the settings used to
automatically start negotiations or create a static SA into a
configuration set. The class definition for
AutostartIKESettingContext is as follows:
NAME AutostartIKESettingContext
DESCRIPTION AutostartIKESettingContext aggregates the
AutostartIKESetting instances into a configuration
set.
DERIVED FROM SystemSettingContext (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Context [ref AutostartIKEConfiguration [0..n]]
Setting [ref AutostartIKESetting [0..n]]
SequenceNumber
<span class="h4"><a class="selflink" id="section-8.12.1" href="#section-8.12.1">8.12.1</a>. The Reference Context</span>
The property Context is inherited from SystemSettingContext and is
overridden to refer to an AutostartIKEConfiguration instance. The
[0..n] cardinality indicates that an AutostartIKESetting instance may
be associated with zero or more AutostartIKEConfiguration instances
(i.e., a setting may be in multiple configuration sets).
<span class="h4"><a class="selflink" id="section-8.12.2" href="#section-8.12.2">8.12.2</a>. The Reference Setting</span>
The property Setting is inherited from SystemSettingContext and is
overridden to refer to an AutostartIKESetting instance. The [0..n]
cardinality indicates that an AutostartIKEConfiguration instance may
be associated with zero or more AutostartIKESetting instances.
<span class="grey">Jason, et al. Standards Track [Page 74]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-75" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-8.12.3" href="#section-8.12.3">8.12.3</a>. The Property SequenceNumber</span>
The property SequenceNumber specifies the ordering to be used when
starting negotiations or creating a static SA. A zero value
indicates that order is not significant and settings may be applied
in parallel with other settings. All other settings in the
configuration are executed in sequence from lower to higher values.
Sequence numbers need not be unique in an AutostartIKEConfiguration
and order is not significant for settings with the same sequence
number. The property is defined as follows:
NAME SequenceNumber
DESCRIPTION The sequence in which the settings are applied
within a configuration set.
SYNTAX unsigned 16-bit integer
<span class="h3"><a class="selflink" id="section-8.13" href="#section-8.13">8.13</a>. The Association Class IKEServiceForEndpoint</span>
The class IKEServiceForEndpoint provides the association showing
which IKE service, if any, provides IKE negotiation services for
which network interfaces. The class definition for
IKEServiceForEndpoint is as follows:
NAME IKEServiceForEndpoint
DESCRIPTION Associates an IPProtocolEndpoint with an IKEService
that provides negotiation services for the endpoint.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref IKEService[0..1]]
Dependent [ref IPProtocolEndpoint[0..n]]
<span class="h4"><a class="selflink" id="section-8.13.1" href="#section-8.13.1">8.13.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to an IKEService instance. The [0..1]
cardinality indicates that an IPProtocolEndpoint instance MUST by
associated with at most one IKEService instance.
<span class="h4"><a class="selflink" id="section-8.13.2" href="#section-8.13.2">8.13.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to an IPProtocolEndpoint that is associated with at most one
IKEService. The [0..n] cardinality indicates an IKEService instance
may be associated with zero or more IPProtocolEndpoint instances.
<span class="grey">Jason, et al. Standards Track [Page 75]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-76" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h3"><a class="selflink" id="section-8.14" href="#section-8.14">8.14</a>. The Association Class IKEAutostartConfiguration</span>
The class IKEAutostartConfiguration provides the relationship between
an IKEService and a configuration set that it uses to automatically
start a set of SAs. The class definition for
IKEAutostartConfiguration is as follows:
NAME IKEAutostartConfiguration
DESCRIPTION IKEAutostartConfiguration provides the relationship
between an IKEService and an
AutostartIKEConfiguration that it uses to
automatically start a set of SAs.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref AutostartIKEConfiguration [0..n]]
Dependent [ref IKEService [0..n]]
Active
<span class="h4"><a class="selflink" id="section-8.14.1" href="#section-8.14.1">8.14.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to an AutostartIKEConfiguration instance. The
[0..n] cardinality indicates that an IKEService instance may be
associated with zero or more AutostartIKEConfiguration instances.
<span class="h4"><a class="selflink" id="section-8.14.2" href="#section-8.14.2">8.14.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to an IKEService instance. The [0..n] cardinality indicates
that an AutostartIKEConfiguration instance may be associated with
zero or more IKEService instances.
<span class="h4"><a class="selflink" id="section-8.14.3" href="#section-8.14.3">8.14.3</a>. The Property Active</span>
The property Active indicates whether the AutostartIKEConfiguration
set is currently active for the associated IKEService. That is, at
boot time, the active configuration is used to automatically start
IKE negotiations and create static SAs. The property is defined as
follows:
NAME Active
DESCRIPTION Active indicates whether the
AutostartIKEConfiguration set is currently active for
the associated IKEService.
SYNTAX boolean
<span class="grey">Jason, et al. Standards Track [Page 76]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-77" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
VALUE true - AutostartIKEConfiguration is currently active
for associated IKEService.
false - AutostartIKEConfiguration is currently
inactive for associated IKEService.
<span class="h3"><a class="selflink" id="section-8.15" href="#section-8.15">8.15</a>. The Association Class IKEUsesCredentialManagementService</span>
The class IKEUsesCredentialManagementService defines the set of
CredentialManagementService(s) that are trusted sources of
credentials for IKE phase 1 negotiations. The class definition for
IKEUsesCredentialManagementService is as follows:
NAME IKEUsesCredentialManagementService
DESCRIPTION Associates the set of CredentialManagementService(s)
that are trusted by the IKEService as sources of
credentials used in IKE phase 1 negotiations.
DERIVED FROM Dependency (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref CredentialManagementService [0..n]]
Dependent [ref IKEService [0..n]]
<span class="h4"><a class="selflink" id="section-8.15.1" href="#section-8.15.1">8.15.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from Dependency and is
overridden to refer to a CredentialManagementService instance. The
[0..n] cardinality indicates that an IKEService instance may be
associated with zero or more CredentialManagementService instances.
<span class="h4"><a class="selflink" id="section-8.15.2" href="#section-8.15.2">8.15.2</a>. The Reference Dependent</span>
The property Dependent is inherited from Dependency and is overridden
to refer to an IKEService instance. The [0..n] cardinality indicates
that a CredentialManagementService instance may be associated with
zero or more IKEService instances.
<span class="h3"><a class="selflink" id="section-8.16" href="#section-8.16">8.16</a>. The Association Class EndpointHasLocalIKEIdentity</span>
The class EndpointHasLocalIKEIdentity associates an
IPProtocolEndpoint with a set of IKEIdentity instances that may be
used in negotiating security associations on the endpoint. An
IKEIdentity MUST be associated with either an IPProtocolEndpoint
using this association or with a collection of IKEIdentity instances
using the CollectionHasLocalIKEIdentity association. The class
definition for EndpointHasLocalIKEIdentity is as follows:
<span class="grey">Jason, et al. Standards Track [Page 77]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-78" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
NAME EndpointHasLocalIKEIdentity
DESCRIPTION EndpointHasLocalIKEIdentity associates an
IPProtocolEndpoint with a set of IKEIdentity
instances.
DERIVED FROM ElementAsUser (see [<a href="#ref-CIMUSER">CIMUSER</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref IPProtocolEndpoint [0..1]]
Dependent [ref IKEIdentity [0..n]]
<span class="h4"><a class="selflink" id="section-8.16.1" href="#section-8.16.1">8.16.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from ElementAsUser and is
overridden to refer to an IPProtocolEndpoint instance. The [0..1]
cardinality indicates that an IKEIdentity instance MUST be associated
with at most one IPProtocolEndpoint instance.
<span class="h4"><a class="selflink" id="section-8.16.2" href="#section-8.16.2">8.16.2</a>. The Reference Dependent</span>
The property Dependent is inherited from ElementAsUser and is
overridden to refer to an IKEIdentity instance. The [0..n]
cardinality indicates that an IPProtocolEndpoint instance may be
associated with zero or more IKEIdentity instances.
<span class="h3"><a class="selflink" id="section-8.17" href="#section-8.17">8.17</a>. The Association Class CollectionHasLocalIKEIdentity</span>
The class CollectionHasLocalIKEIdentity associates a Collection of
IPProtocolEndpoint instances with a set of IKEIdentity instances that
may be used in negotiating SAs for endpoints in the collection. An
IKEIdentity MUST be associated with either an IPProtocolEndpoint
using the EndpointHasLocalIKEIdentity association or with a
collection of IKEIdentity instances using this association. The
class definition for CollectionHasLocalIKEIdentity is as follows:
NAME CollectionHasLocalIKEIdentity
DESCRIPTION CollectionHasLocalIKEIdentity associates a collection
of IPProtocolEndpoint instances with a set of
IKEIdentity instances.
DERIVED FROM ElementAsUser (see [<a href="#ref-CIMUSER">CIMUSER</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref Collection [0..1]]
Dependent [ref IKEIdentity [0..n]]
<span class="h4"><a class="selflink" id="section-8.17.1" href="#section-8.17.1">8.17.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from ElementAsUser and is
overridden to refer to a Collection instance. The [0..1] cardinality
indicates that an IKEIdentity instance MUST be associated with at
most one Collection instance.
<span class="grey">Jason, et al. Standards Track [Page 78]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-79" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h4"><a class="selflink" id="section-8.17.2" href="#section-8.17.2">8.17.2</a>. The Reference Dependent</span>
The property Dependent is inherited from ElementAsUser and is
overridden to refer to an IKEIdentity instance. The [0..n]
cardinality indicates that a Collection instance may be associated
with zero or more IKEIdentity instances.
<span class="h3"><a class="selflink" id="section-8.18" href="#section-8.18">8.18</a>. The Association Class IKEIdentitysCredential</span>
The class IKEIdentitysCredential is an association that relates a set
of credentials to their corresponding local IKE Identities. The
class definition for IKEIdentitysCredential is as follows:
NAME IKEIdentitysCredential
DESCRIPTION IKEIdentitysCredential associates a set of
credentials to their corresponding local IKEIdentity.
DERIVED FROM UsersCredential (see [<a href="#ref-CIMCORE">CIMCORE</a>])
ABSTRACT FALSE
PROPERTIES Antecedent [ref Credential [0..n]]
Dependent [ref IKEIdentity [0..n]]
<span class="h4"><a class="selflink" id="section-8.18.1" href="#section-8.18.1">8.18.1</a>. The Reference Antecedent</span>
The property Antecedent is inherited from UsersCredential and is
overridden to refer to a Credential instance. The [0..n] cardinality
indicates that the IKEIdentity instance may be associated with zero
or more Credential instances.
<span class="h4"><a class="selflink" id="section-8.18.2" href="#section-8.18.2">8.18.2</a>. The Reference Dependent</span>
The property Dependent is inherited from UsersCredential and is
overridden to refer to an IKEIdentity instance. The [0..n]
cardinality indicates that a Credential instance may be associated
with zero or more IKEIdentity instances.
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Implementation Requirements</span>
The following table specifies which classes, properties, associations
and aggregations MUST or SHOULD or MAY be implemented.
4. Policy Classes
4.1. The Class SARule..........................................MUST
4.1.1. The Property PolicyRuleName..............................MAY
4.1.1. The Property Enabled....................................MUST
4.1.1. The Property ConditionListType..........................MUST
4.1.1. The Property RuleUsage...................................MAY
4.1.1. The Property Mandatory...................................MAY
4.1.1. The Property SequencedActions...........................MUST
<span class="grey">Jason, et al. Standards Track [Page 79]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-80" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
4.1.1. The Property PolicyRoles.................................MAY
4.1.1. The Property PolicyDecisionStrategy......................MAY
4.1.2 The Property ExecutionStrategy..........................MUST
4.1.3 The Property LimitNegotiation............................MAY
4.2. The Class IKERule.........................................MUST
4.2.1. The Property IdentityContexts............................MAY
4.3. The Class IPsecRule.......................................MUST
4.4. The Association Class IPsecPolicyForEndpoint...............MAY
4.4.1. The Reference Antecedent................................MUST
4.4.2. The Reference Dependent.................................MUST
4.5. The Association Class IPsecPolicyForSystem.................MAY
4.5.1. The Reference Antecedent................................MUST
4.5.2. The Reference Dependent.................................MUST
4.6. The Aggregation Class SAConditionInRule...................MUST
4.6.1. The Property GroupNumber..............................SHOULD
4.6.1. The Property ConditionNegated.........................SHOULD
4.6.2. The Reference GroupComponent............................MUST
4.6.3. The Reference PartComponent.............................MUST
4.7. The Aggregation Class PolicyActionInSARule................MUST
4.7.1. The Reference GroupComponent............................MUST
4.7.2. The Reference PartComponent.............................MUST
4.7.3. The Property ActionOrder..............................SHOULD
5. Condition and Filter Classes
5.1. The Class SACondition.....................................MUST
5.2. The Class IPHeadersFilter...............................SHOULD
5.3. The Class CredentialFilterEntry............................MAY
5.3.1. The Property MatchFieldName.............................MUST
5.3.2. The Property MatchFieldValue............................MUST
5.3.3. The Property CredentialType.............................MUST
5.4. The Class IPSOFilterEntry..................................MAY
5.4.1. The Property MatchConditionType.........................MUST
5.4.2. The Property MatchConditionValue........................MUST
5.5. The Class PeerIDPayloadFilterEntry.........................MAY
5.5.1. The Property MatchIdentityType..........................MUST
5.5.2. The Property MatchIdentityValue.........................MUST
5.6. The Association Class FilterOfSACondition...............SHOULD
5.6.1. The Reference Antecedent................................MUST
5.6.2. The Reference Dependent.................................MUST
5.7. The Association Class AcceptCredentialFrom.................MAY
5.7.1. The Reference Antecedent................................MUST
5.7.2. The Reference Dependent.................................MUST
6. Action Classes
6.1. The Class SAAction........................................MUST
6.1.1. The Property DoActionLogging.............................MAY
6.1.2. The Property DoPacketLogging.............................MAY
6.2. The Class SAStaticAction..................................MUST
6.2.1. The Property LifetimeSeconds............................MUST
6.3. The Class IPsecBypassAction.............................SHOULD
<span class="grey">Jason, et al. Standards Track [Page 80]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-81" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
6.4. The Class IPsecDiscardAction............................SHOULD
6.5. The Class IKERejectAction..................................MAY
6.6. The Class PreconfiguredSAAction...........................MUST
6.6.1. The Property LifetimeKilobytes..........................MUST
6.7. The Class PreconfiguredTransportAction....................MUST
6.8. The Class PreconfiguredTunnelAction.......................MUST
6.8.1. The Property DFHandling.................................MUST
6.9. The Class SANegotiationAction.............................MUST
6.10. The Class IKENegotiationAction...........................MUST
6.10.1. The Property MinLifetimeSeconds.........................MAY
6.10.2. The Property MinLifetimeKilobytes.......................MAY
6.10.3. The Property IdleDurationSeconds........................MAY
6.11. The Class IPsecAction....................................MUST
6.11.1. The Property UsePFS....................................MUST
6.11.2. The Property UseIKEGroup................................MAY
6.11.3. The Property GroupId...................................MUST
6.11.4. The Property Granularity.............................SHOULD
6.11.5. The Property VendorID...................................MAY
6.12. The Class IPsecTransportAction...........................MUST
6.13. The Class IPsecTunnelAction..............................MUST
6.13.1. The Property DFHandling................................MUST
6.14. The Class IKEAction......................................MUST
6.14.1. The Property ExchangeMode ............................MUST
6.14.2. The Property UseIKEIdentityType........................MUST
6.14.3. The Property VendorID...................................MAY
6.14.4. The Property AggressiveModeGroupId......................MAY
6.15. The Class PeerGateway....................................MUST
6.15.1. The Property Name....................................SHOULD
6.15.2. The Property PeerIdentityType..........................MUST
6.15.3. The Property PeerIdentity..............................MUST
6.16. The Association Class PeerGatewayForTunnel...............MUST
6.16.1. The Reference Antecedent...............................MUST
6.16.2. The Reference Dependent................................MUST
6.16.3. The Property SequenceNumber..........................SHOULD
6.17. The Aggregation Class ContainedProposal..................MUST
6.17.1. The Reference GroupComponent...........................MUST
6.17.2. The Reference PartComponent............................MUST
6.17.3. The Property SequenceNumber............................MUST
6.18. The Association Class HostedPeerGatewayInformation........MAY
6.18.1. The Reference Antecedent...............................MUST
6.18.2. The Reference Dependent................................MUST
6.19. The Association Class TransformOfPreconfiguredAction.....MUST
6.19.1. The Reference Antecedent...............................MUST
6.19.2. The Reference Dependent................................MUST
6.19.3. The Property SPI.......................................MUST
6.19.4. The Property Direction.................................MUST
6.20. The Association Class PeerGatewayForPreconfiguredTunnel..MUST
6.20.1. The Reference Antecedent...............................MUST
<span class="grey">Jason, et al. Standards Track [Page 81]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-82" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
6.20.2. The Reference Dependent................................MUST
7. Proposal and Transform Classes
7.1. The Abstract Class SAProposal.............................MUST
7.1.1. The Property Name.....................................SHOULD
7.2 The Class IKEProposal......................................MUST
7.2.1. The Property CipherAlgorithm............................MUST
7.2.2. The Property HashAlgorithm..............................MUST
7.2.3. The Property PRFAlgorithm................................MAY
7.2.4. The Property GroupId....................................MUST
7.2.5. The Property AuthenticationMethod.......................MUST
7.2.6. The Property MaxLifetimeSeconds.........................MUST
7.2.7. The Property MaxLifetimeKilobytes.......................MUST
7.2.8. The Property VendorID....................................MAY
7.3. The Class IPsecProposal...................................MUST
7.4. The Abstract Class SATransform............................MUST
7.4.1. The Property TransformName............................SHOULD
7.4.2. The Property VendorID....................................MAY
7.4.3. The Property MaxLifetimeSeconds.........................MUST
7.4.4. The Property MaxLifetimeKilobytes.......................MUST
7.5. The Class AHTransform.....................................MUST
7.5.1. The Property AHTransformId..............................MUST
7.5.2. The Property UseReplayPrevention.........................MAY
7.5.3. The Property ReplayPreventionWindowSize..................MAY
7.6. The Class ESPTransform....................................MUST
7.6.1. The Property IntegrityTransformId.......................MUST
7.6.2. The Property CipherTransformId..........................MUST
7.6.3. The Property CipherKeyLength.............................MAY
7.6.4. The Property CipherKeyRounds.............................MAY
7.6.5. The Property UseReplayPrevention.........................MAY
7.6.6. The Property ReplayPreventionWindowSize..................MAY
7.7. The Class IPCOMPTransform..................................MAY
7.7.1. The Property Algorithm..................................MUST
7.7.2. The Property DictionarySize..............................MAY
7.7.3. The Property PrivateAlgorithm............................MAY
7.8. The Association Class SAProposalInSystem...................MAY
7.8.1. The Reference Antecedent................................MUST
7.8.2. The Reference Dependent.................................MUST
7.9. The Aggregation Class ContainedTransform..................MUST
7.9.1. The Reference GroupComponent............................MUST
7.9.2. The Reference PartComponent.............................MUST
7.9.3. The Property SequenceNumber.............................MUST
7.10. The Association Class SATransformInSystem.................MAY
7.10.1. The Reference Antecedent...............................MUST
7.10.2. The Reference Dependent................................MUST
8. IKE Service and Identity Classes
8.1. The Class IKEService.......................................MAY
8.2. The Class PeerIdentityTable................................MAY
8.3.1. The Property Name.....................................SHOULD
<span class="grey">Jason, et al. Standards Track [Page 82]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-83" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
8.3. The Class PeerIdentityEntry................................MAY
8.3.1. The Property PeerIdentity.............................SHOULD
8.3.2. The Property PeerIdentityType.........................SHOULD
8.3.3. The Property PeerAddress..............................SHOULD
8.3.4. The Property PeerAddressType..........................SHOULD
8.4. The Class AutostartIKEConfiguration........................MAY
8.5. The Class AutostartIKESetting..............................MAY
8.5.1. The Property Phase1Only..................................MAY
8.5.2. The Property AddressType..............................SHOULD
8.5.3. The Property SourceAddress..............................MUST
8.5.4. The Property SourcePort.................................MUST
8.5.5. The Property DestinationAddress.........................MUST
8.5.6. The Property DestinationPort............................MUST
8.5.7. The Property Protocol...................................MUST
8.6. The Class IKEIdentity......................................MAY
8.6.1. The Property IdentityType...............................MUST
8.6.2. The Property IdentityValue..............................MUST
8.6.3. The Property IdentityContexts............................MAY
8.7. The Association Class HostedPeerIdentityTable..............MAY
8.7.1. The Reference Antecedent................................MUST
8.7.2. The Reference Dependent.................................MUST
8.8. The Aggregation Class PeerIdentityMember...................MAY
8.8.1. The Reference Collection................................MUST
8.8.2. The Reference Member....................................MUST
8.9. The Association Class IKEServicePeerGateway................MAY
8.9.1. The Reference Antecedent................................MUST
8.9.2. The Reference Dependent.................................MUST
8.10. The Association Class IKEServicePeerIdentityTable.........MAY
8.10.1. The Reference Antecedent...............................MUST
8.10.2. The Reference Dependent................................MUST
8.11. The Association Class IKEAutostartSetting.................MAY
8.11.1. The Reference Element..................................MUST
8.11.2. The Reference Setting..................................MUST
8.12. The Aggregation Class AutostartIKESettingContext..........MAY
8.12.1. The Reference Context..................................MUST
8.12.2. The Reference Setting..................................MUST
8.12.3. The Property SequenceNumber..........................SHOULD
8.13. The Association Class IKEServiceForEndpoint...............MAY
8.13.1. The Reference Antecedent...............................MUST
8.13.2. The Reference Dependent................................MUST
8.14. The Association Class IKEAutostartConfiguration...........MAY
8.14.1. The Reference Antecedent...............................MUST
8.14.2. The Reference Dependent................................MUST
8.14.3. The Property Active..................................SHOULD
8.15. The Association Class IKEUsesCredentialManagementService..MAY
8.15.1. The Reference Antecedent...............................MUST
8.15.2. The Reference Dependent................................MUST
8.16. The Association Class EndpointHasLocalIKEIdentity.........MAY
<span class="grey">Jason, et al. Standards Track [Page 83]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-84" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
8.16.1. The Reference Antecedent...............................MUST
8.16.2. The Reference Dependent................................MUST
8.17. The Association Class CollectionHasLocalIKEIdentity.......MAY
8.17.1. The Reference Antecedent...............................MUST
8.17.2. The Reference Dependent................................MUST
8.18. The Association Class IKEIdentitysCredential..............MAY
8.18.1. The Reference Antecedent...............................MUST
8.18.2. The Reference Dependent................................MUST
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. Security Considerations</span>
This document only describes an information model for IPsec policy.
It does not detail security requirements for storage or delivery of
said information.
Physical models derived from this information model MUST implement
the relevant security for storage and delivery. Most of the classes
(e.g., IpHeadersFilter, SAAction,...) MUST at least provided the
integrity service; other pieces of information MUST also receive the
confidentiality service (e.g., SharedSecret as described in the
classes PeerIdentityEntry and PreconfiguredSAAction).
<span class="h2"><a class="selflink" id="section-11" href="#section-11">11</a>. Intellectual Property Statement</span>
The IETF takes no position regarding the validity or scope of any
intellectual property 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; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in <a href="https://www.rfc-editor.org/bcp/bcp11">BCP-11</a>.
Copies of claims of rights made available for publication 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 Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
<span class="grey">Jason, et al. Standards Track [Page 84]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-85" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h2"><a class="selflink" id="section-12" href="#section-12">12</a>. References</span>
<span class="h3"><a class="selflink" id="section-12.1" href="#section-12.1">12.1</a>. Normative References</span>
[<a id="ref-COMP">COMP</a>] Shacham, A., Monsour, B., Pereira, R. and M. Thomas, "IP
Payload Compression Protocol (IPComp)", <a href="./rfc3173">RFC 3173</a>,
September 2001.
[<a id="ref-ESP">ESP</a>] Kent, S. and R. Atkinson, "IP Encapsulating Security
Payload (ESP)", <a href="./rfc2406">RFC 2406</a>, November 1998.
[<a id="ref-AH">AH</a>] Kent, S. and R. Atkinson, "IP Authentication Header",
<a href="./rfc2402">RFC 2402</a>, November 1998.
[<a id="ref-DOI">DOI</a>] Piper, D., "The Internet IP Security Domain of
Interpretation for ISAKMP", <a href="./rfc2407">RFC 2407</a>, November 1998.
[<a id="ref-IKE">IKE</a>] Harkins, D. and D. Carrel, "The Internet Key Exchange
(IKE)", <a href="./rfc2409">RFC 2409</a>, November 1998.
[<a id="ref-PCIM">PCIM</a>] Moore, B., Ellesson, E., Strassner, J. and A.
Westerinen, "Policy Core Information Model -- Version 1
Specification", <a href="./rfc3060">RFC 3060</a>, February 2001.
[<a id="ref-PCIME">PCIME</a>] Moore, B., Editor, "Policy Core Information Model (PCIM)
Extensions", <a href="./rfc3460">RFC 3460</a>, January 2003.
[<a id="ref-KEYWORDS">KEYWORDS</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-CIMCORE">CIMCORE</a>] DMTF Common Information Model - Core Model v2.5 which
can be found at
<a href="http://www.dmtf.org/standards/CIM_Schema25/CIM_Core25.mof">http://www.dmtf.org/standards/CIM_Schema25/</a>
<a href="http://www.dmtf.org/standards/CIM_Schema25/CIM_Core25.mof">CIM_Core25.mof</a>
[<a id="ref-CIMUSER">CIMUSER</a>] DMTF Common Information Model - User-Security Model v2.5
which can be found at
<a href="http://www.dmtf.org/standards/CIM_Schema25/CIM_User25.mof">http://www.dmtf.org/standards/CIM_Schema25/</a>
<a href="http://www.dmtf.org/standards/CIM_Schema25/CIM_User25.mof">CIM_User25.mof</a>
[<a id="ref-CIMNETWORK">CIMNETWORK</a>] DMTF Common Information Model - Network Model v2.5
which can be found at
<a href="http://www.dmtf.org/standards/CIM_Schema25/CIM_Network25.mof">http://www.dmtf.org/standards/CIM_Schema25/</a>
<a href="http://www.dmtf.org/standards/CIM_Schema25/CIM_Network25.mof">CIM_Network25.mof</a>
[<a id="ref-IPSO">IPSO</a>] Kent, S., "U.S. Department of Defense Security Options
for the Internet Protocol", <a href="./rfc1108">RFC 1108</a>, November 1991.
<span class="grey">Jason, et al. Standards Track [Page 85]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-86" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
[<a id="ref-IPSEC">IPSEC</a>] Kent, S. and R. Atkinson, "Security Architecture for the
Internet Protocol", <a href="./rfc2401">RFC 2401</a>, November 1998.
<span class="h3"><a class="selflink" id="section-12.2" href="#section-12.2">12.2</a>. Informative References</span>
[<a id="ref-LDAP">LDAP</a>] Wahl, M., Howes, T. and S. Kille, "Lightweight Directory
Access Protocol (v3)", <a href="./rfc2251">RFC 2251</a>, December 1997.
[<a id="ref-COPS">COPS</a>] Durham, D., Ed., Boyle, J., Cohen, R., Herzog, S.,
Rajan, R. and A. Sastry, "The COPS (Common Open Policy
Service) Protocol", <a href="./rfc2748">RFC 2748</a>, January 2000.
[<a id="ref-COPSPR">COPSPR</a>] Chan, K., Seligson, J., Durham, D., Gai, S., McCloghrie,
K., Herzog, S., Reichmeyer, R., Yavatkar, R. and A.
Smith, "COPS Usage for Policy Provisioning (COPS-PR)",
<a href="./rfc3084">RFC 3084</a>, March 2001.
[<a id="ref-DMTF">DMTF</a>] Distributed Management Task Force, <a href="http://www.dmtf.org/">http://www.dmtf.org/</a>
<span class="h2"><a class="selflink" id="section-13" href="#section-13">13</a>. Disclaimer</span>
The views and specification herein are those of the authors and are
not necessarily those of their employer. The authors and their
employer specifically disclaim responsibility for any problems
arising from correct or incorrect implementation or use of this
specification.
<span class="h2"><a class="selflink" id="section-14" href="#section-14">14</a>. Acknowledgments</span>
The authors would like to thank Mike Jeronimo, Ylian Saint-Hilaire,
Vic Lortz, William Dixon, Man Li, Wes Hardaker and Ricky Charlet for
their contributions to this IPsec policy model.
Additionally, this document would not have been possible without the
preceding IPsec schema documents. For that, thanks go out to Rob
Adams, Partha Bhattacharya, William Dixon, Roy Pereira, and Raju
Rajan.
<span class="grey">Jason, et al. Standards Track [Page 86]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-87" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h2"><a class="selflink" id="section-15" href="#section-15">15</a>. Authors' Addresses</span>
Jamie Jason
Intel Corporation
MS JF3-206
2111 NE 25th Ave.
Hillsboro, OR 97124
EMail: jamie.jason@intel.com
Lee Rafalow
IBM Corporation, BRQA/502
4205 So. Miami Blvd.
Research Triangle Park, NC 27709
EMail: rafalow@watson.ibm.com
Eric Vyncke
Cisco Systems
7 De Kleetlaan
B-1831 Diegem
Belgium
EMail: evyncke@cisco.com
<span class="grey">Jason, et al. Standards Track [Page 87]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-88" ></span>
<span class="grey"><a href="./rfc3585">RFC 3585</a> IPsec Configuration Policy Model August 2003</span>
<span class="h2"><a class="selflink" id="section-16" href="#section-16">16</a>. Full Copyright Statement</span>
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Jason, et al. Standards Track [Page 88]
</pre>
|