summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc5209.txt
blob: ef5d22e09a7b4123dd07450fa36b9f2e7744805b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
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
Network Working Group                                   P. Sangster
Request for Comments: 5209                                 Symantec
Category: Informational                                 H. Khosravi
                                                              Intel
                                                            M. Mani
                                                              Avaya
                                                         K. Narayan
                                                      Cisco Systems
                                                           J. Tardo
                                                     Nevis Networks
                                                          June 2008


      Network Endpoint Assessment (NEA): Overview and Requirements

Status of This Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Abstract

   This document defines the problem statement, scope, and protocol
   requirements between the components of the NEA (Network Endpoint
   Assessment) reference model.  NEA provides owners of networks (e.g.,
   an enterprise offering remote access) a mechanism to evaluate the
   posture of a system.  This may take place during the request for
   network access and/or subsequently at any time while connected to the
   network.  The learned posture information can then be applied to a
   variety of compliance-oriented decisions.  The posture information is
   frequently useful for detecting systems that are lacking or have
   out-of-date security protection mechanisms such as: anti-virus and
   host-based firewall software.  In order to provide context for the
   requirements, a reference model and terminology are introduced.
















Sangster, et al.             Informational                      [Page 1]
^L
RFC 5209                    NEA Requirements                   June 2008


Table of Contents

   1. Introduction ....................................................3
      1.1. Requirements Language ......................................4
   2. Terminology .....................................................5
   3. Applicability ...................................................7
      3.1. Scope ......................................................7
      3.2. Applicability of Environments ..............................8
   4. Problem Statement ...............................................9
   5. Reference Model ................................................10
      5.1. NEA Client and Server .....................................12
           5.1.1. NEA Client .........................................12
                  5.1.1.1. Posture Collector .........................12
                  5.1.1.2. Posture Broker Client .....................14
                  5.1.1.3. Posture Transport Client ..................15
           5.1.2. NEA Server .........................................15
                  5.1.2.1. Posture Validator .........................15
                  5.1.2.2. Posture Broker Server .....................17
                  5.1.2.3. Posture Transport Server ..................18
      5.2. Protocols .................................................18
           5.2.1. Posture Attribute Protocol (PA) ....................18
           5.2.2. Posture Broker Protocol (PB) .......................19
           5.2.3. Posture Transport Protocol (PT) ....................19
      5.3. Attributes ................................................20
           5.3.1. Attributes Normally Sent by NEA Client: ............21
           5.3.2. Attributes Normally Sent by NEA Server: ............21
   6. Use Cases ......................................................22
      6.1. Initial Assessment ........................................22
           6.1.1. Triggered by Network Connection or Service
                  Request ............................................22
                  6.1.1.1. Example ...................................23
                  6.1.1.2. Possible Flows and Protocol Usage .........23
                  6.1.1.3. Impact on Requirements ....................25
           6.1.2. Triggered by Endpoint ..............................25
                  6.1.2.1. Example ...................................25
                  6.1.2.2. Possible Flows and Protocol Usage .........26
                  6.1.2.3. Impact on Requirements ....................28
      6.2. Posture Reassessment ......................................28
           6.2.1. Triggered by NEA Client ............................28
                  6.2.1.1. Example ...................................28
                  6.2.1.2. Possible Flows & Protocol Usage ...........29
                  6.2.1.3. Impact on Requirements ....................30
           6.2.2. Triggered by NEA Server ............................30
                  6.2.2.1. Example ...................................30
                  6.2.2.2. Possible Flows and Protocol Usage .........31
                  6.2.2.3. Impact on Requirements ....................33





Sangster, et al.             Informational                      [Page 2]
^L
RFC 5209                    NEA Requirements                   June 2008


   7. Requirements ...................................................34
      7.1. Common Protocol Requirements ..............................34
      7.2. Posture Attribute (PA) Protocol Requirements ..............35
      7.3. Posture Broker (PB) Protocol Requirements .................36
      7.4. Posture Transport (PT) Protocol Requirements ..............38
   8. Security Considerations ........................................38
      8.1. Trust .....................................................39
           8.1.1. Endpoint ...........................................40
           8.1.2. Network Communications .............................41
           8.1.3. NEA Server .........................................42
      8.2. Protection Mechanisms at Multiple Layers ..................43
      8.3. Relevant Classes of Attack ................................43
           8.3.1. Man-in-the-Middle (MITM) ...........................44
           8.3.2. Message Modification ...............................45
           8.3.3. Message Replay or Attribute Theft ..................45
           8.3.4. Other Types of Attack ..............................46
   9. Privacy Considerations .........................................46
      9.1. Implementer Considerations ................................47
      9.2. Minimizing Attribute Disclosure ...........................49
   10. References ....................................................50
      10.1. Normative References .....................................50
      10.2. Informative References ...................................50
   11. Acknowledgments ...............................................51

1.  Introduction

   Endpoints connected to a network may be exposed to a wide variety of
   threats.  Some protection against these threats can be provided by
   ensuring that endpoints conform to security policies.  Therefore, the
   intent of NEA is to assess these endpoints to determine their
   compliance with security policies so that corrective measures can be
   provided before they are exposed to those threats.  For example, if a
   system is determined to be out of compliance because it is lacking
   proper defensive mechanisms such as host-based firewalls, anti-virus
   software, or the absence of critical security patches, the NEA
   protocols provide a mechanism to detect this fact and indicate
   appropriate remediation actions to be taken.  Note that an endpoint
   that is deemed compliant may still be vulnerable to threats that may
   exist on the network.

   NEA typically involves the use of special client software running on
   the requesting endpoint that observes and reports on the
   configuration of the system to the network infrastructure.  The
   infrastructure has corresponding validation software that is capable
   of comparing the endpoint's configuration information with network
   compliance policies and providing the result to appropriate
   authorization entities that make decisions about network and
   application access.  Some endpoints may be incapable of running the



Sangster, et al.             Informational                      [Page 3]
^L
RFC 5209                    NEA Requirements                   June 2008


   NEA Client software (e.g., printer) or be unwilling to share
   information about their configuration.  This situation is outside the
   scope of NEA and is subject to local policies.

   The result of an endpoint assessment may influence an access decision
   that is provisioned to the enforcement mechanisms on the network
   and/or endpoint requesting access.  While the NEA Working Group
   recognizes there may be a link between an assessment and the
   enforcement of a resulting access decision, the mechanisms and
   protocols for enforcement are not in scope for this specification.

   Architectures, similar to NEA, have existed in the industry for some
   time and are present in shipping products, but do not offer adequate
   interoperability.  Some examples of such architectures include:
   Trusted Computing Group's Trusted Network Connect [TNC], Microsoft's
   Network Access Protection [NAP], and Cisco's Cisco Network Admission
   Control [CNAC].  These technologies assess the software and/or
   hardware configuration of endpoint devices for the purposes of
   monitoring or enforcing compliance to an organization's policy.

   The NEA Working Group is developing standard protocols that can be
   used to communicate compliance information between a NEA Client and a
   NEA Server.  This document provides the context for NEA including:
   terminology, applicability, problem statement, reference model, and
   use cases.  It then identifies requirements for the protocols used to
   communicate between a NEA Client and NEA server.  Finally, this
   document discusses some potential security and privacy considerations
   with the use of NEA.  The majority of this specification provides
   informative text describing the context of NEA.

1.1.  Requirements Language

   Use of each capitalized word within a sentence or phrase carries the
   following meaning during the NEA WG's protocol selection process:

   MUST - indicates an absolute requirement

   MUST NOT - indicates something absolutely prohibited

   SHOULD - indicates a strong recommendation of a desired result

   SHOULD NOT - indicates a strong recommendation against a result

   MAY - indicates a willingness to allow an optional outcome

   Lower case use of "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and
   "MAY" carry their normal meaning and are not subject to these
   definitions.



Sangster, et al.             Informational                      [Page 4]
^L
RFC 5209                    NEA Requirements                   June 2008


2.  Terminology

   This section defines a set of terms used throughout this document.
   In some cases these terms have been used in other contexts with
   different meanings so this section attempts to describe each term's
   meaning with respect to the NEA WG activities.

   Assessment - The process of collecting posture for a set of
      capabilities on the endpoint (e.g., host-based firewall) such that
      the appropriate validators may evaluate the posture against
      compliance policy.

   Assertion Attributes - Attributes that include reusable information
      about the success of a prior assessment of the endpoint.  This
      could be used to optimize subsequent assessments by avoiding a
      full posture reassessment.  For example, this classification of
      attribute might be issued specifically to a particular endpoint,
      dated and signed by the NEA Server allowing that endpoint to reuse
      it for a time period to assert compliance to a set of policies.
      The NEA Server might accept this in lieu of obtaining posture
      information.

   Attribute - Data element including any requisite meta-data describing
      an observed, expected, or the operational status of an endpoint
      feature (e.g., anti-virus software is currently in use).
      Attributes are exchanged as part of the NEA protocols (see section
      5.2).  NEA recognizes a variety of usage scenarios where the use
      of an attribute in a particular type of message could indicate:

         o previously assessed status (Assertion Attributes),

         o observed configuration or property (Posture Attributes),

         o request for configuration or property information (Request
           Attributes),

         o assessment decision (Result Attributes), or

         o repair instructions (Remediation Attributes).

      The NEA WG will standardize a subset of the attribute namespace
      known as standard attributes.  Those attributes not standardized
      are referred to in this specification as vendor-specific.

   Dialog - Sequence of request/response messages exchanged.






Sangster, et al.             Informational                      [Page 5]
^L
RFC 5209                    NEA Requirements                   June 2008


   Endpoint - Any computing device that can be connected to a network.
      Such devices normally are associated with a particular link layer
      address before joining the network and potentially an IP address
      once on the network.  This includes: laptops, desktops, servers,
      cell phones, or any device that may have an IP address.

   Message - Self contained unit of communication between the NEA Client
      and Server.  For example, a posture attribute message might carry
      a set of attributes describing the configuration of the anti-virus
      software on an endpoint.

   Owner - the role of an entity who is the legal, rightful possessor of
      an asset (e.g., endpoint).  The owner is entitled to maintain
      control over the policies enforced on the device even if the asset
      is not within the owner's possession.  The owner may permit user
      override or augmentation of control policies or may choose to not
      assert any policies limiting use of asset.

   Posture - Configuration and/or status of hardware or software on an
      endpoint as it pertains to an organization's security policy.

   Posture Attributes - Attributes describing the configuration or
      status (posture) of a feature of the endpoint.  For example, a
      Posture Attribute might describe the version of the operating
      system installed on the system.

   Request Attributes - Attributes sent by a NEA Server identifying the
      posture information requested from the NEA Client.  For example, a
      Request Attribute might be an attribute included in a request
      message from the NEA Server that is asking for the version
      information for the operating system on the endpoint.

   Remediation Attributes - Attributes containing the remediation
      instructions for how to bring an endpoint into compliance with one
      or more policies.  The NEA WG will not define standard remediation
      attributes, but this specification does describe where they are
      used within the reference model and protocols.

   Result Attributes - Attributes describing whether the endpoint is in
      compliance with NEA policy.  The Result Attribute is created by
      the NEA Server normally at the conclusion of the assessment to
      indicate whether or not the endpoint was considered compliant.
      More than one of these attributes may be used allowing for more
      granular feature level decisions to be communicated in addition to
      an overall, global assessment decision.






Sangster, et al.             Informational                      [Page 6]
^L
RFC 5209                    NEA Requirements                   June 2008


   Session - Stateful connection capable of carrying multiple message
      exchanges associated with (an) assessment(s) of a particular
      endpoint.  This document defines the term session at a conceptual
      level and does not describe the properties of the session or
      specify requirements for the NEA protocols to manage these
      sessions.

   User - Role of a person that is making use of the services of an
      endpoint.  The user may not own the endpoint so he or she might
      need to operate within the acceptable use constraints defined by
      the endpoint's owner.  For example, an enterprise employee might
      be a user of a computer provided by the enterprise (owner) for
      business purposes.

3.  Applicability

   This section discusses the scope of the technologies being
   standardized and the network environments where it is envisioned that
   the NEA technologies might be applicable.

3.1.  Scope

   The priority of the NEA Working Group is to develop standard
   protocols at the higher layers in the reference model (see section
   5): the Posture Attribute protocol (PA) and the Posture Broker
   protocol (PB).  PA and PB will be designed to be carried over a
   variety of lower layer transport (PT) protocols.  The NEA WG will
   identify standard PT protocol(s) that are mandatory to implement.  PT
   protocols may be defined in other WGs because the requirements may
   not be specific to NEA.  When used with a standard PT protocol (e.g.,
   Extensible Authentication Protocol (EAP), Transport Layer Security
   (TLS) [TLS]), the PA and PB protocols will allow interoperability
   between a NEA Client from one vendor and a NEA Server from another.
   This specification will not focus on the other interfaces between the
   functional components of the NEA reference model nor requirements on
   their internals.  Any discussion of these aspects is included to
   provide context for understanding the model and resulting
   requirements.

   Some tangent areas not shown in the reference model that are also out
   of scope for the NEA working group, and thus this specification,
   include:

      o Standardizing the protocols and mechanisms for enforcing
        restricted network access,

      o Developing standard protocols for remediation of non-compliant
        endpoints,



Sangster, et al.             Informational                      [Page 7]
^L
RFC 5209                    NEA Requirements                   June 2008


      o Specifying protocols used to communicate with remote portions of
        the NEA Client or Server (e.g., remote collectors or validators
        of posture),

      o Supporting a NEA Client providing posture for other endpoints
        (e.g., a NEA Client on an Intrusion Detection System (IDS)
        providing posture for an endpoint without a NEA Client),

      o Defining the set of events or situations that might trigger a
        NEA Client or NEA Server to request an assessment,

      o Detecting or handling lying endpoints (see section 8.1.1 for
        more information).

3.2.  Applicability of Environments

   Because the NEA model is based on NEA-oriented software being present
   on the endpoint and in the network infrastructure, and due to the
   nature of the information being exposed, the use of NEA technologies
   may not apply in a variety of situations possible on the Internet.
   Therefore, this section discusses some of the scenarios where NEA is
   most likely to be applicable and some where it may not be.
   Ultimately, the use of NEA within a deployment is not restricted to
   just these scenarios.  The decision of whether to use NEA
   technologies lies in the hands of the deployer (e.g., network
   provider) based upon the expected relationship they have with the
   owners and users of potential endpoints.

   NEA technologies are largely focused on scenarios where the owner of
   the endpoint is the same as the owner of the network.  This is a very
   common model for enterprises that provide equipment to employees to
   perform their duties.  These employees are likely bound under an
   employment contract that outlines what level of visibility the
   employer expects to have into the employee's use of company assets
   and possibly activities during work hours.  This contract may
   establish the expectation that the endpoint needs to conform to
   policies set forth by the enterprise.

   Some other environments may be in a similar situation and thus find
   NEA technologies to be beneficial.  For example, environments where
   the endpoint is owned by a party (possibly even the user) that has
   explicitly expressed a desire to conform to the policies established
   by a network or service provider in exchange for being able to access
   its resources.  An example of this might be an independent contractor
   with a personal laptop, working for a company imposing NEA assessment
   policies on its employees, who may wish a similar level of access and
   is willing to conform to the company's policies.  NEA technologies
   may be applicable to this situation.



Sangster, et al.             Informational                      [Page 8]
^L
RFC 5209                    NEA Requirements                   June 2008


   Conversely, some environments where NEA is not expected to be
   applicable would be environments where the endpoint is owned by a
   user that has not agreed to conform to a network provider's policies.
   An example might include when the above contractor visits any public
   area like the local coffee shop that offers Internet access.  This
   coffee shop would not be expected to be able to use NEA technologies
   to assess the posture of the contractor's laptop.  Because of the
   potentially invasive nature of NEA technology, such an assessment
   could amount to an invasion of privacy of the contractor.

   It is more difficult to determine whether NEA is applicable in other
   environments, so the NEA WG will consider them to be out of scope for
   consideration and specification.  In order for an environment to be
   considered applicable for NEA, the owner or user of an endpoint must
   have established a clear expectation that it will comply with the
   policies of the owner and operator of the network.  Such an
   expectation likely includes a willingness to disclose appropriate
   information necessary for the network to perform compliance checks.

4.  Problem Statement

   NEA technology may be used for a variety of purposes.  This section
   highlights some of the major situations where NEA technologies may be
   beneficial.

   One use is to facilitate endpoint compliance checking against an
   organization's security policy when an endpoint connects to the
   network.  Organizations often require endpoints to run an
   IT-specified Operating System (OS) configuration and have certain
   security applications enabled, e.g., anti-virus software, host
   intrusion detection/prevention systems, personal firewalls, and patch
   management software.  An endpoint that is not compliant with IT
   policy may be vulnerable to a number of known threats that might
   exist on the network.

   Without NEA technology, ensuring compliance of endpoints to corporate
   policy is a time-consuming and difficult task.  Not all endpoints are
   managed by a corporation's IT organization, e.g., lab assets and
   contractor machines.  Even for assets that are managed, they may not
   receive updates in a timely fashion because they are not permanently
   attached to the corporate network, e.g., laptops.  With NEA
   technology, the network is able to assess an endpoint as soon as it
   requests access to the network or at any time after joining the
   network.  This provides the corporation an opportunity to check
   compliance of all NEA-capable endpoints in a timely fashion and
   facilitate endpoint remediation potentially while quarantined when
   needed.




Sangster, et al.             Informational                      [Page 9]
^L
RFC 5209                    NEA Requirements                   June 2008


   NEA technology can be used to provide posture assessment for a range
   of ways of connecting to the network including (but not limited to)
   wired and wireless LAN access such as using 802.1X [802.1X], remote
   access via IPsec [IPSEC], or Secure Socket Layer (SSL) VPN, or
   gateway access.

   Endpoints that are not NEA-capable or choose not to share sufficient
   posture to evaluate compliance may be subject to different access
   policies.  The decision of how to handle non-compliant or
   non-participating endpoints can be made by the network administrator
   possibly based on information from other security mechanisms on the
   network (e.g., authentication).  For example, remediation
   instructions or warnings may be sent to a non-compliant endpoint with
   a properly authorized user while allowing limited access to the
   network.  Also, network access technologies can use the NEA results
   to restrict or deny access to an endpoint, while allowing
   vulnerabilities to be addressed before an endpoint is exposed to
   attack.  The communication and representation of NEA assessment
   results to network access technologies on the network is out of scope
   for this document.

   Reassessment is a second important use of NEA technology as it allows
   for additional assessments of previously considered compliant
   endpoints to be performed.  This might become necessary because
   network compliance policies and/or endpoint posture can change over
   time.  A system initially assessed as being compliant when it joined
   the network may no longer be in compliance after changes occur.  For
   example, reassessment might be necessary if a user disables a
   security protection (e.g., host-based firewall) required by policy or
   when the firewall becomes non-compliant after a firewall patch is
   issued and network policy is changed to require the patch.

   A third use of NEA technology may be to verify or supplement
   organization asset information stored in inventory databases.

   NEA technology can also be used to check and report compliance for
   endpoints when they try to access certain mission critical
   applications within an enterprise, employing service (application)
   triggered assessment.

5.  Reference Model

   This section describes the reference model for Network Endpoint
   Assessment.  This model is provided to establish a context for the
   discussion of requirements and may not directly map to any particular
   product or deployment architecture.  The model identifies the major





Sangster, et al.             Informational                     [Page 10]
^L
RFC 5209                    NEA Requirements                   June 2008


   functionality of the NEA Client and Server and their relationships,
   as well as the protocols they use to communicate at various levels
   (e.g., PA is carried by the PB protocol).

   While the diagram shows 3 layered protocols, it is envisioned that PA
   is likely a thin message wrapper around a set of attributes and that
   it is batched and encapsulated in PB.  PB is primarily a lightweight
   message batching protocol, so the protocol stack is mostly the
   transport (PT).  The vertical lines in the model represent APIs
   and/or protocols between components within the NEA Client or Server.
   These interfaces are out of scope for standardization in the NEA WG.

    +-------------+                          +--------------+
    |  Posture    |   <--------PA-------->   |   Posture    |
    |  Collectors |                          |   Validators |
    |  (1 .. N)   |                          |   (1 .. N)   |
    +-------------+                          +--------------+
          |                                         |
          |                                         |
          |                                         |
    +-------------+                          +--------------+
    |   Posture   |                          |   Posture    |
    |   Broker    |   <--------PB-------->   |   Broker     |
    |   Client    |                          |   Server     |
    +-------------+                          +--------------+
          |                                         |
          |                                         |
    +-------------+                          +--------------+
    |   Posture   |                          |   Posture    |
    |   Transport |   <--------PT-------->   |   Transport  |
    |   Client    |                          |   Server     |
    |   (1 .. N)  |                          |   (1 .. N)   |
    +-------------+                          +--------------+

       NEA CLIENT                               NEA SERVER

                 Figure 1: NEA Reference Model

   The NEA reference model does not include mechanisms for discovery of
   NEA Clients and NEA Servers.  It is expected that NEA Clients and NEA
   Servers are configured with information that allows them to reach
   each other.  The specific methods of referencing the configuration
   and establishing the communication channel are out of scope for the
   NEA reference model and should be covered in the specifications of
   candidate protocols such as the Posture Transport (PT) protocol.






Sangster, et al.             Informational                     [Page 11]
^L
RFC 5209                    NEA Requirements                   June 2008


5.1.  NEA Client and Server

5.1.1.  NEA Client

   The NEA Client is resident on an endpoint device and comprised of the
   following functionality:

      o Posture Collector(s)

      o Posture Broker Client

      o Posture Transport Client(s)

   The NEA Client is responsible for responding to requests for
   attributes describing the configuration of the local operating domain
   of the client and handling the assessment results including potential
   remediation instructions for how to conform to policy.  A NEA Client
   is not responsible for reporting on the posture of entities that
   might exist on the endpoint or over the network that are outside the
   domain of execution (e.g., in other virtual machine domains) of the
   NEA Client.

   For example, a network address translation (NAT) device might route
   communications for many systems behind it, but when the NAT device
   joins the network, its NEA Client would only report its own (local)
   posture.  Similarly, endpoints with virtualization capabilities might
   have multiple independent domains of execution (e.g., OS instances).
   Each NEA Client is only responsible for reporting posture for its
   domain of execution, but this information might be aggregated by
   other local mechanisms to represent the posture for multiple domains
   on the endpoint.  Such posture aggregation mechanisms are outside the
   focus of this specification.

   Endpoints lacking NEA Client software (which is out of NEA scope) or
   choosing not to provide the attributes required by the NEA Server
   could be considered non-compliant.  The NEA model includes
   capabilities to enable the endpoint to update its contents in order
   to become compliant.

5.1.1.1.  Posture Collector

   The Posture Collector is responsible for responding to requests for
   posture information in Request Attributes from the NEA Server.  The
   Posture Collector is also responsible for handling assessment
   decisions in Result Attributes and remediation instructions in
   Remediation Attributes.  A single NEA Client can have several Posture
   Collectors capable of collecting standard and/or vendor-specific
   Posture Attributes for particular features of the endpoint.  Typical



Sangster, et al.             Informational                     [Page 12]
^L
RFC 5209                    NEA Requirements                   June 2008


   examples include Posture Collectors that provide information about
   Operating System (OS) version and patch levels, anti-virus software,
   and security mechanisms on the endpoint such as host-based Intrusion
   Detection System (IDS) or firewall.

   Each Posture Collector will be associated with one or more
   identifiers that enable it to be specified as the destination in a PA
   message.  The Posture Broker Client uses these identifiers to route
   messages to this Collector.  An identifier might be dynamic (e.g.,
   generated by the Posture Broker Client at run-time during
   registration) or more static (e.g., pre-assigned to the Posture
   Collector at install-time and passed to the Posture Broker Client
   during registration) or a function of the attribute messages the
   Collector desires to receive (e.g., message type for subscription).

   The NEA model allocates the following responsibilities to the Posture
   Collector:

      o Consulting with local privacy and security policies that may
        restrict what information is allowed to be disclosed to a given
        NEA Server.

      o Receiving Request Attributes from a Posture Validator and
        performing the local processing required to respond
        appropriately.  This may include:

         - Collecting associated posture information for particular
           features of the endpoint and returning this information in
           Posture Attributes.

         - Caching and recognizing the applicability of recently issued
           attributes containing reusable assertions that might serve to
           prove compliance and returning this attribute instead of
           posture information.

      o Receiving attributes containing remediation instructions on how
        to update functionality on the endpoint.  This could require the
        Collector to interact with the user, owner, and/or a remediation
        server.

      o Monitoring the posture of (a) particular features(s) on the
        endpoint for posture changes that require notification to the
        Posture Broker Client.

      o Providing cryptographic verification of the attributes received
        from the Validator and offering cryptographic protection to the
        attributes returned.




Sangster, et al.             Informational                     [Page 13]
^L
RFC 5209                    NEA Requirements                   June 2008


   The above list describes the model's view of the possible
   responsibilities of the Posture Collector.  Note that this is not a
   set of requirements for what each Posture Collector implementation
   must support, nor is it an exhaustive list of all the things a
   Posture Collector may do.

5.1.1.2.  Posture Broker Client

   The Posture Broker Client is both a PA message multiplexer and a
   de-multiplexer.  The Posture Broker Client is responsible for
   de-multiplexing the PB message received from the NEA Server and
   distributing each encapsulated PA message to the corresponding
   Posture Collector(s).  The model also allows for the posture
   information request to be pre-provisioned on the NEA Client to
   improve performance by allowing the NEA Client to report posture
   without receiving a request for particular attributes from the NEA
   Server.

   The Posture Broker Client also multiplexes the responses from the
   Posture Collector(s) and returns them to the NEA Server.  The Posture
   Broker Client constructs one or more PB messages using the PA
   message(s) it obtains from the Posture Collector(s) involved in the
   assessment.  The quantity and ordering of Posture Collector responses
   (PA message(s)) multiplexed into the PB response message(s) can be
   determined by the Posture Broker Client based on many factors
   including policy or characteristics of the underlying network
   transport (e.g., MTU).  A particular NEA Client will have one Posture
   Broker Client.

   The Posture Broker Client also handles the global assessment decision
   from the Posture Broker Server and may interact with the user to
   communicate the global assessment decision and aid in any necessary
   remediation steps.

   The NEA model allocates the following responsibilities to the Posture
   Broker Client:

      o Maintaining a registry of known Posture Collectors and allowing
        for Posture Collectors to dynamically register and deregister.

      o Multiplexing and de-multiplexing attribute messages between the
        NEA Server and the relevant Posture Collectors.

      o Handling posture change notifications from Posture Collectors
        and triggering reassessment.

      o Providing user notification about the global assessment decision
        and other user messages sent by the NEA Server.



Sangster, et al.             Informational                     [Page 14]
^L
RFC 5209                    NEA Requirements                   June 2008


5.1.1.3.  Posture Transport Client

   The Posture Transport Client is responsible for establishing a
   reliable communication channel with the NEA Server for the message
   dialog between the NEA Client and NEA Server.  There might be more
   than one Posture Transport Client on a particular NEA Client
   supporting different transport protocols (e.g., 802.1X, VPN).
   Certain Posture Transport Clients may be configured with the address
   of the appropriate Posture Transport Server to use for a particular
   network.

   The NEA model allocates the following responsibilities to the Posture
   Transport Client:

      o  Initiating and maintaining the communication channel to the NEA
         Server.  The Posture Transport Client hides the details of the
         underlying carrier that could be a Layer 2 or Layer 3 protocol.

      o  Providing cryptographic protection for the message dialog
         between the NEA Client and NEA Server.

5.1.2.  NEA Server

   The NEA Server is typically comprised of the following NEA
   functionality:

      o Posture Validator(s)

      o Posture Broker Server

      o Posture Transport Server(s)

   The Posture Validators might be located on a separate server from the
   Posture Broker Server, requiring the Posture Broker Server to deal
   with both local and remote Posture Validators.

5.1.2.1.  Posture Validator

   A Posture Validator is responsible for handling Posture Attributes
   from corresponding Posture Collector(s).  A Posture Validator can
   handle Posture Attributes from one or more Posture Collectors and
   vice-versa.  The Posture Validator performs the posture assessment
   for one or more features of the endpoint (e.g., anti-virus software)
   and creates the result and, if necessary, the remediation
   instructions, or it may choose to request additional attributes from
   one or more Collectors.





Sangster, et al.             Informational                     [Page 15]
^L
RFC 5209                    NEA Requirements                   June 2008


   Each Posture Validator will be associated with one or more
   identifiers that enable it to be specified as the destination in a PA
   message.  The Posture Broker Server uses this identifier to route
   messages to this Validator.  This identifier might be dynamic (e.g.,
   generated by the Posture Broker Server at run-time during
   registration) or more static (e.g., pre-assigned to a Posture
   Validator at install-time and passed to the Posture Broker Server
   during registration) or a function of the attribute messages the
   Validator desires to receive (e.g., message type for subscription).

   Posture Validators can be co-located on the NEA Server or can be
   hosted on separate servers.  A particular NEA Server is likely to
   need to handle multiple Posture Validators.

   The NEA model allocates the following responsibilities to the Posture
   Validator:

      o Requesting attributes from a Posture Collector.  The request may
        include:

         - Request Attributes that indicate to the Posture Collector to
           fetch and provide Posture Attributes for particular
           functionality on the endpoint.

      o Receiving attributes from the Posture Collector.  The response
        from the Posture Collector may include:

         - Posture Attributes collected for the requested functionality.

         - Assertion Attributes that indicate the compliance result from
           a prior assessment.

      o Assessing the posture of endpoint features based on the
        attributes received from the Collector.

      o Communicating the posture assessment result to the Posture
        Broker Server.

      o Communicating the posture assessment results to the Posture
        Collector; this attribute message may include:

         - Result Attributes that communicate the posture assessment
           result.
         - Remediation Attributes that communicate the remediation
           instructions to the Posture Collector.

      o Monitoring out-of-band updates that trigger reassessment and
        require notifications to be sent to the Posture Broker Server.



Sangster, et al.             Informational                     [Page 16]
^L
RFC 5209                    NEA Requirements                   June 2008


      o Providing cryptographic protection for attributes sent to the
        Posture Collector and offering cryptographic verification of the
        attributes received from the Posture Collector.

   The above list describes the model's view of the possible
   responsibilities of the Posture Validator.  Note that this is not a
   set of requirements for what each Posture Validator implementation
   must support, nor is it an exhaustive list of all the things a
   Posture Validator may do.

5.1.2.2.  Posture Broker Server

   The Posture Broker Server acts as a multiplexer and a de-multiplexer
   for attribute messages.  The Posture Broker Server parses the PB
   messages received from the NEA Client and de-multiplexes them into PA
   messages that it passes to the associated Posture Validators.  The
   Posture Broker Server multiplexes the PA messages (e.g., messages
   containing (a) Request Attribute(s) from the relevant Posture
   Validator(s)) into one or more PB messages and sends them to the NEA
   Client via the Posture Transport protocol.  The quantity and ordering
   of Posture Validator responses (PA messages) and global assessment
   decision multiplexed into the PB response message(s) can be
   determined by the Posture Broker Server based on many factors
   including policy or characteristics of the underlying network
   transport (e.g., MTU).

   The Posture Broker Server is also responsible for computing the
   global assessment decision based on individual posture assessment
   results from the various Posture Validators.  This global assessment
   decision is sent back to the NEA Client in Result Attributes within a
   PB message.  A particular NEA Server will have one Posture Broker
   Server, and this Posture Broker Server will handle all the local and
   remote Posture Validators.

   The NEA model allocates the following responsibilities to the Posture
   Broker Server:

      o Maintaining a registry of Posture Validators and allowing for
        Posture Validators to register and deregister.

      o Multiplexing and de-multiplexing posture messages from and to
        the relevant Posture Validators.

      o Computing the global assessment decision based on posture
        assessment results from the various Posture Validators and
        compliance policy.  This assessment decision is sent to the
        Posture Broker Client in a PB message.




Sangster, et al.             Informational                     [Page 17]
^L
RFC 5209                    NEA Requirements                   June 2008


5.1.2.3.  Posture Transport Server

   The Posture Transport Server is responsible for establishing a
   reliable communication channel with the NEA Client for the message
   dialog between the NEA Client and NEA Server.  There might be more
   than one Posture Transport Server on a particular NEA Server to
   support different transport protocols.  A particular Posture
   Transport Server will typically handle requests from several Posture
   Transport Clients and may require local configuration describing how
   to reach the NEA Clients.

   The NEA model allocates the following responsibilities to the Posture
   Transport Server:

      o Initiating and maintaining a communication channel with,
        potentially, several NEA Clients.

      o Providing cryptographic protection for the message dialog
        between the NEA Client and NEA Server.

5.2.  Protocols

   The NEA reference model includes three layered protocols (PA, PB, and
   PT) that allow for the exchange of attributes across the network.
   While these protocols are intended to be used together to fulfill a
   particular role in the model, they may offer overlapping
   functionality.  For example, each protocol should be capable of
   protecting its information from attack (see section 8.2 for more
   information).

5.2.1.  Posture Attribute Protocol (PA)

   PA is a protocol that carries one or more attributes between Posture
   Collectors and their associated Posture Validator.  The PA protocol
   is a message-oriented lightweight wrapper around a set of attributes
   being exchanged.  This wrapper may indicate the purpose of attributes
   within the message.  Some of the types of messages expected include:
   requests for posture information (Request Attributes), posture
   information about the endpoint (Posture Attributes), results of an
   assessment (Result Attributes), reusable compliance assertions
   (Assertion Attributes), and instructions to remediate non-compliant
   portions of the endpoint (Remediation Attributes).  The PA protocol
   also provides the requisite encoding and cryptographic protection for
   the Posture Attributes.







Sangster, et al.             Informational                     [Page 18]
^L
RFC 5209                    NEA Requirements                   June 2008


5.2.2.  Posture Broker Protocol (PB)

   PB is a protocol that carries aggregate attribute messages between
   the Posture Collectors on the NEA Client and the corresponding
   Posture Validators on the NEA Server involved in a particular
   assessment.  The PB protocol provides a session allowing for message
   dialogs for every assessment.  This PB session is then used to bind
   multiple Posture Attribute requests and responses from the different
   Posture Collectors and Posture Validators involved in a particular
   assessment.  The PB protocol may also carry the global assessment
   decision in the Result Attribute from the Posture Broker Server to
   the Posture Broker Client.  PB may be used to carry additional types
   of messages for use by the Posture Broker Client and Server (e.g.,
   information about user preferred interface settings such as
   language).

5.2.3.  Posture Transport Protocol (PT)

   PT is a transport protocol between the NEA Client and the NEA Server
   responsible for carrying the messages generated by the PB protocol.
   The PT protocol(s) transport(s) PB messages during the network
   connection request or after network connectivity has been
   established.

   In scenarios where an initial assessment needs to occur during the
   network connection, the PT protocol (e.g., EAP within 802.1X) may
   have constrained use of the network, so deployments may choose to
   limit the amount and/or size of the attributes exchanged.  The NEA
   Client and NEA Server should be able to detect when a potentially
   constrained situation exists prior to the assessment based upon
   properties of the underlying network protocol.  Using this
   information, NEA policy could dictate what aspects of the endpoint to
   include in the initial assessment and potentially limit the PA
   message attributes exchanged.  This could be followed up by a full
   reassessment after the endpoint is placed on the network.
   Alternatively, deployments can choose not to limit their assessment
   by configuring their network access technology to temporarily grant
   restricted IP connectivity prior to the assessment and use an
   unconstrained, high bandwidth IP-based transport during the
   assessment.  Some of the constraints that may exist for protocols
   involved in the network connection phase include:

      o Limited maximum transmission unit (MTU) size and ability to
        negotiate larger MTUs,

      o Inability to perform multiple roundtrips,

      o Lack of support for piggybacking attributes for other protocols,



Sangster, et al.             Informational                     [Page 19]
^L
RFC 5209                    NEA Requirements                   June 2008


      o Low bandwidth or high latency limitations precluding exchanges
        of large amounts of data,

      o Inability of servers to initiate messages except during the
        network connection phase.

   The PT protocol selection process needs to consider the impact of
   selecting a particular PT and set of underlying protocols on the
   deployment needs of PA and PB.  PA and PB will be selected prior to
   PT so the needs of PA and PB will be known.  Certain underlying
   protocol stacks may be too constrained to support adequate NEA
   assessments during network connection.

   The PT protocol provides reliable message delivery, mutual
   authentication, and cryptographic protection for the PB messages as
   specified by local policy.

5.3.  Attributes

   The PA protocol is responsible for the exchange of attributes between
   a Posture Collector and Posture Validator.  The PB protocol may also
   carry the global assessment decision attributes from the Posture
   Broker Server.  Attributes are effectively the reserved word 'nouns'
   of the posture assessment.  The NEA Server is only able to ask for
   information that has a corresponding attribute, thus bounding what
   type of posture can be obtained.  The NEA WG will define a common
   (standard) set of attributes that are expected to be widely
   applicable to Posture Collectors and thus used for maximum
   interoperability, but Posture Collectors may support additional
   vendor-specific attributes when necessary.

   Depending on the deployment scenario, the purpose of the attributes
   exchanged may be different (e.g., posture information vs. asserted
   compliance).  This section discusses the originator and expected
   situation resulting in the use of each classification of attributes
   in a PA message.  These classifications are not intended to dictate
   how the NEA WG will specify the attributes when defining the
   attribute namespace or schema.













Sangster, et al.             Informational                     [Page 20]
^L
RFC 5209                    NEA Requirements                   June 2008


5.3.1.  Attributes Normally Sent by NEA Client:

      o Posture Attributes - Attributes and values sent to report
        information about a particular aspect (based on semantic of the
        attribute) of the system.  These attributes are typically sent
        in response to Request Attributes from the NEA Server.  For
        example, a set of Posture Attributes might describe the status
        of the host-based firewall (e.g., if running, vendor, version).
        The NEA Server would base its decision on comparing this type of
        attribute against policy.

      o Assertion Attributes - Attributes stating recent prior
        compliance to policy in hopes of avoiding the need to recollect
        the posture and send it to the NEA Server.  Examples of
        assertions include (a) NEA Server provided attributes (state)
        describing a prior evaluation (e.g., opaque to endpoint, signed,
        time stamped items stating specific results) or (b) NEA Client
        identity information used by the NEA Server to locate state
        about prior decisions (e.g., system-bound cookie).  These might
        be returned in lieu of, or in addition to, Posture Attributes.

5.3.2.  Attributes Normally Sent by NEA Server:

      o Request Attributes - Attributes that define the specific posture
        information desired by the NEA Server.  These attributes might
        effectively form a template that the Posture Collector fills in
        (subject to local policy restrictions) with the specific value
        corresponding to each attribute.  The resulting attributes are
        typically Posture or Assertion Attributes from the NEA Client.

      o Result Attributes - Attributes that contain the decisions of the
        Posture Validators and/or Posture Broker Server.  The level of
        detail provided may vary from which individual attributes were
        compliant or not through just the global assessment decision.

      o Remediation Attributes - Attributes that explain to the NEA
        Client and its user how to update the endpoint to become
        compliant with the NEA Server policies.  These attributes are
        sent when the global assessment decision was that the endpoint
        is not currently compliant.  Remediation and Result Attributes
        may both exist within a NEA Server attribute message.

      o Assertion Attributes - Attributes containing NEA Server
        assertions of compliance to a policy for future use by the NEA
        Client.  See section 5.3.1 for more information.






Sangster, et al.             Informational                     [Page 21]
^L
RFC 5209                    NEA Requirements                   June 2008


6.  Use Cases

   This section discusses several of the NEA use cases with intent to
   describe and collectively bound the NEA problem space under
   consideration.  The use cases provide a context and general rationale
   for the defined requirements.  In order to ease understanding of each
   use case and how it maps to the reference model, each use case will
   be accompanied by a simple example and a discussion of how this
   example relates to the NEA protocols.  It should be emphasized that
   the provided examples are not intended to indicate the only approach
   to addressing the use case but rather are included to ease
   understanding of how the flows might occur and impact the NEA
   protocols.

   We broadly classify the use cases into two categories, each with its
   own set of trigger events:

      o Initial assessment - evaluation of the posture of an endpoint
        that has not recently been assessed and thus is not in
        possession of any valid proof that it should be considered
        compliant.  This evaluation might be triggered by a request to
        join a network, a request to use a service, or a desire to
        understand the posture of a system.

      o Reassessment - evaluation of the posture of an endpoint that has
        previously been assessed.  This evaluation could occur for a
        variety of reasons including the NEA Client or Server
        recognizing an occurrence affecting the endpoint that might
        raise the endpoint's risk level.  This could be as simple as it
        having been a long time since the endpoint's prior reassessment.

6.1.  Initial Assessment

   An initial assessment occurs when a NEA Client or Server event occurs
   that causes the evaluation of the posture of the endpoint for the
   first time.  Endpoints do not qualify for this category of use case
   if they have been recently assessed and the NEA Client or Server has
   maintained state (or proof) that the endpoint is compliant and
   therefore does not need to have its posture evaluated again.

6.1.1.  Triggered by Network Connection or Service Request

   This use case focuses on assessments performed at the time an
   endpoint attempts to join a network or request use of a service that
   requires a posture evaluation.  This use case is particularly
   interesting because it allows the NEA Server to evaluate the posture
   of an endpoint before allowing it access to the network or service.




Sangster, et al.             Informational                     [Page 22]
^L
RFC 5209                    NEA Requirements                   June 2008


   This approach could be used to help detect endpoints with known
   vulnerabilities and facilitate their repair before they are admitted
   to the network and potentially exposed to threats on the network.

   A variety of types of endpoint actions could result in this class of
   assessment.  For example, an assessment could be triggered by the
   endpoint trying to access a highly protected network service (e.g.,
   financial or HR application server) where heightened security
   checking is required.  A better known example could include
   requesting entrance to a network that requires systems to meet
   compliance policy.  This example is discussed in more detail in the
   following section.

6.1.1.1.  Example

   An IT employee returning from vacation boots his office desktop
   computer that generates a request to join the wired enterprise
   network.  The network's security policy requires the system to
   provide posture information in order to determine whether the
   desktop's security features are enabled and up to date.  The desktop
   sends its patch, firewall, and anti-virus posture information.  The
   NEA Server determines that the system is lacking a recent security
   patch designed to fix a serious vulnerability and the system is
   placed on a restricted access network.  The desktop follows the
   provided remediation instructions to download and install the
   necessary patch.  Later, the desktop requests again to join the
   network and this time is provided full access to the enterprise
   network after a full assessment.

6.1.1.2.  Possible Flows and Protocol Usage

   The following describes typical message flows through the NEA
   reference model for this example use case:

      1. The IT employee's desktop computer connects to the network
         through an access gateway in the wired enterprise network.

      2. The Posture Broker Server on the NEA Server is instructed to
         assess the endpoint joining the wired network.

      3. Based upon compliance policy, the Posture Broker Server
         contacts the operating system patch, host-based firewall, and
         anti-virus Posture Validators to request the necessary posture.
         Each Posture Validator creates a PA message containing the
         desired attributes to be requested for assessment from the
         desktop system.





Sangster, et al.             Informational                     [Page 23]
^L
RFC 5209                    NEA Requirements                   June 2008


      4. The Posture Broker Server aggregates the PA messages from the
         Posture Validators into a PB message.  The Posture Broker
         Server passes the PB message to the Posture Transport Server
         that uses the PT protocol to send the PB message to the NEA
         Client on the desktop computer.

      5. The Posture Transport Client receives the message from the NEA
         Server and passes it to the Posture Broker Client for message
         delivery.

      6. The Posture Broker Client de-multiplexes the PB message and
         delivers the PA messages with the requests for attributes to
         the firewall, operating system patch, and anti-virus Posture
         Collectors.

      7. Each Posture Collector involved consults local privacy policy
         to determine what information is allowed to be disclosed and
         then returns the requested attributes that are authorized in a
         PA message to the Posture Broker Client.

      8. The Posture Broker Client aggregates these PA messages into a
         single PB message and sends it to the Posture Broker Server
         using the Posture Transport Client to Server session.

      9. The Posture Transport Server provides the PB message to the
         Posture Broker Server that de-multiplexes the message and sends
         the appropriate attributes to the corresponding Posture
         Validator.

     10. Each Posture Validator compares the values of the attributes it
         receives with the expected values defined in its policy.

     11. The anti-virus and firewall Posture Validators return
         attributes to the Posture Broker Server stating the desktop
         computer is compliant, but the operating system patch Posture
         Validator returns non-compliant.  The operating system patch
         Posture Validator creates a PA message that contains attributes
         with remediation instructions in addition to the attribute
         indicating non-compliance result.

     12. The Posture Broker Server aggregates the PA messages and sends
         them in a PB message to the Posture Broker Client via the
         Posture Transport Server and Posture Transport Client.








Sangster, et al.             Informational                     [Page 24]
^L
RFC 5209                    NEA Requirements                   June 2008


     13. The Posture Broker Client delivers the PA messages with the
         results from the various Posture Validators to the Posture
         Collectors including the PA message containing attributes with
         remediation instructions to the operating system patch Posture
         Collector.  This Posture Collector then interacts with the user
         to download and install the needed patches, potentially while
         the endpoint remains quarantined.

     14. Upon completion of the remediation, the above steps 1-10 are
         repeated (triggered by the NEA Client repeating its request to
         join the network).

     15. This time each involved Posture Validator (including the
         operating system patch Posture Validator) returns a compliant
         status and the Posture Broker Server returns a compliant result
         indicating a global success.

     16. The Posture Broker Client receives the compliant result and the
         IT employee's desktop is now on the network.

6.1.1.3.  Impact on Requirements

   The following are several different aspects of the use case example
   that potentially need to be factored into the requirements.

      o Posture assessment before endpoint allowed on network

      o Endpoint sends attributes containing posture information

      o NEA Server sends remediation instructions

      o NEA Client causes a reassessment after remediation

6.1.2.  Triggered by Endpoint

   This use case highlights that an endpoint (possibly at the request of
   a user) may wish to trigger an assessment of its posture to determine
   whether its security protective mechanisms are running and up to
   date.

6.1.2.1.  Example

   A student goes to the terminal room to work on a project.  The
   terminal room contains shared systems owned by the school that are on
   the network.  These systems have been previously used by other
   students so their security posture is unknown.  The student wishes to
   check whether a system is currently in compliance with the school's
   security policies prior to doing work, so she requests a posture



Sangster, et al.             Informational                     [Page 25]
^L
RFC 5209                    NEA Requirements                   June 2008


   assessment.  The NEA Server performs an initial assessment of the
   system and determines it is compliant but the anti-virus protection
   is not in use.  The student receives an advisory response indicating
   the system's anti-virus software is turned off but that otherwise it
   complies with the school's policy.  The student turns on the
   anti-virus software, initiates a scan, and upon completion decides to
   trust the system with her work.

6.1.2.2.  Possible Flows and Protocol Usage

   The following describes the message flows through the NEA reference
   model for the student using a terminal room shared system example:

      1. Student triggers the Posture Broker Client on the computer
         system in the terminal room to initiate a posture assessment.

      2. The Posture Broker Client establishes a session with the
         Posture Broker Server that causes an assessment to be
         triggered.

      3. The Posture Broker Server detects the new session and consults
         policy to determine that Posture Validators to involve in the
         assessment.  The Posture Broker Server decides to employ
         several Posture Validators including the anti-virus Posture
         Validator.

      4. The Posture Validators involved create PA messages containing
         requests for particular attributes containing information about
         the desired terminal room computer based on the school's
         security policy.

      5. The Posture Broker Server assembles a PB message including each
         of the PA messages from the Posture Validators.

      6. The Posture Transport Server sends the PB message to the
         Posture Transport Client where it is passed on to the Posture
         Broker Client.

      7. The Posture Broker Client on the student's computer
         de-multiplexes the PA messages and delivers them to the
         corresponding Posture Collectors.

      8. The Posture Collectors consult privacy policy to decide what
         information to share with the Server.  If allowable, the
         Collectors each return a PA message containing the requested
         posture to the Posture Broker Client.





Sangster, et al.             Informational                     [Page 26]
^L
RFC 5209                    NEA Requirements                   June 2008


      9. The Posture Broker Client aggregates the returned PA messages
         into a PB message and hands it to the Posture Transport Client
         for transmission to the Posture Transport Server.

     10. The Posture Broker Server separates and distributes the Posture
         Collector PA messages to the associated Posture Validators.

     11. The Posture Validators determine whether the attributes
         containing the posture included in the PA message are compliant
         with their policies and returns a posture assessment decision
         to the Posture Broker Server.  In this case, the anti-virus
         Posture Validator returns a PA message indicating a
         non-compliant result because the anti-virus software is not
         running and includes attributes describing how to activate the
         software.

     12. The Posture Broker Server determines the overall compliance
         decision based on all of the Validators' assessment results and
         sends a PB message containing an attribute expressing the
         global assessment decision and the anti-virus Validator's PA
         message.  In this case, the global assessment decision
         indicates the system is compliant (despite the anti-virus
         Validator's result) because the Posture Broker Server policy
         allowed for the anti-virus to not be running as long as the
         system was properly patched and running a firewall (which was
         the case according to the other Posture Validators).

     13. The Posture Transport Server sends the PB message to the
         Posture Transport Client that provides the message to the
         Posture Broker Client.

     14. The Posture Broker Client on the terminal room computer
         examines the PB message's global assessment decision attribute
         and reports to the student that the system was deemed to be
         compliant, but that an advisory was included.

     15. The Posture Broker Client provides the PA message with the
         remediation attributes to the anti-virus Posture Collector that
         interacts with the user to explain how to turn on anti-virus to
         improve the local protections.

     16. The student turns on the anti-virus software and on completion
         steps 1-10 are repeated.

     17. This time the anti-virus Posture Validator returns a success
         status and the Posture Broker Server returns a successful
         global assessment decision in the PB message.




Sangster, et al.             Informational                     [Page 27]
^L
RFC 5209                    NEA Requirements                   June 2008


     18. The Posture Broker Client receives the successful global
         assessment decision in the PB message and the student now uses
         the computer for her assignment.

6.1.2.3.  Impact on Requirements

   The following are several different aspects of the use case example
   that potentially need to be factored into the requirements.

      o Voluntary endpoint requested initial assessment,

      o Successful (compliant) global assessment decision included in PB
        message with a PA message containing an advisory set of
        attributes for remediation.

6.2.  Posture Reassessment

   Reassessment(s) of endpoints can happen anytime after being admitted
   to the network after a successful initial NEA assessment.  These
   reassessments may be event-based, such as driven by posture changes
   detected by the NEA Client, or changes detected by network
   infrastructure such as detection of suspicious behavior or network
   policy updates on the NEA Server.  They may also be periodic (timer-
   driven) to reassess the health of the endpoint.

6.2.1.  Triggered by NEA Client

   This use case allows for software on the endpoint or a user to
   determine that a reassessment of the system is required.  There are a
   variety of reasons why such a reassessment might be beneficial
   including: changes in its previously reported posture, detection of
   potentially suspicious behavior, or even to enable the system to
   periodically poll the NEA Server to assess its condition relative to
   the latest policies.

6.2.1.1.  Example

   The desktops within a company's HR department have a history of poor
   security practices and eventual compromise.  The HR department
   administrator decides to deploy software on each desktop to monitor
   the use of security protective mechanisms to assure their use.  One
   day, an HR person accidentally turns off the desktop firewall.  The
   monitoring process detects the lack of a firewall and contacts the
   NEA Server to request a reassessment of the firewall compliance.  The
   NEA Server returns a decision that the firewall must be reactivated
   to stay on the network.  The NEA Client explains the decision to the
   user and how to reactivate the firewall.  The HR person restarts the
   firewall and initiates a request to rejoin the network.



Sangster, et al.             Informational                     [Page 28]
^L
RFC 5209                    NEA Requirements                   June 2008


6.2.1.2.  Possible Flows & Protocol Usage

   The following describes the message flows through the NEA reference
   model for the HR department example:

      1. The desktop monitoring software that typically might act as a
         Posture Collector triggers the Posture Broker Client to
         initiate a posture reassessment.  The Posture Broker Client
         creates a PB message that contains a PA message indicating the
         desktop firewall has been disabled.

      2. The Posture Broker Client sends the PB message to the Posture
         Broker Server.

      3. The Posture Transport Client sends the PB message to the
         Posture Transport Server over the PT protocol.

      4. The Posture Broker Server receives the PB message and forwards
         the PA message to the firewall Posture Validator for
         evaluation.

      5. The firewall Posture Validator determines that the endpoint is
         no longer compliant because its firewall has been disabled.

      6. The Posture Validator generates a PA message that contains
         attributes indicating a non-compliant posture assessment result
         and remediation instructions for how to reactivate the
         firewall.

      7. The Posture Validator communicates the PA message with the
         posture assessment result to the Posture Broker Server to
         respond back to the NEA Client.

      8. The Posture Broker Server generates a PB message including a
         global assessment decision of non-compliant and the PA message
         from the firewall Posture Validator.

      9. The Posture Transport Server transports the PB message to the
         Posture Transport Client where it is passed to the Posture
         Broker Client.

     10. The Posture Broker Client processes the attribute containing
         the global assessment decision received from the NEA Server and
         displays the non-compliance messages to the user.







Sangster, et al.             Informational                     [Page 29]
^L
RFC 5209                    NEA Requirements                   June 2008


     11. The Posture Broker Client forwards the PA message to the
         firewall Posture Collector; the Posture Collector displays the
         remediation instructions for how to enable the desktop
         firewall.

     12. The user is prompted to initiate a reassessment after
         completing the remediation.

     13. Upon completion of the remediation, the NEA Client reinitiates
         a request for reassessment and steps 1-4 are repeated.  This
         time the firewall Posture Validator determines the endpoint is
         compliant and returns a successful posture assessment decision.

     14. The Posture Broker Server generates a PB message with a global
         assessment decision of compliant and returns this to the NEA
         Client.

6.2.1.3.  Impact on Requirements

   The following are several different aspects of the use case example
   that potentially need to be factored into the requirements.

      o Voluntary, endpoint (software) initiated posture reassessment
        request

      o NEA Server requests specific firewall-oriented Posture
        Attributes

      o NEA Client (firewall Posture Collector) interacts with user to
        remediate problem

6.2.2.  Triggered by NEA Server

   In many cases, especially for reassessment, the NEA Server may
   initiate specific or complete reassessment of one or more endpoints
   triggered by:

      o Time (periodic)
      o Event occurrence
      o Policy updates

6.2.2.1.  Example

   An enterprise requires employees on the network to always stay up to
   date with security critical operating system patches.  A marketing
   employee joins the network and performs an initial assessment.  The
   assessment determines the employee's laptop is compliant.  Several




Sangster, et al.             Informational                     [Page 30]
^L
RFC 5209                    NEA Requirements                   June 2008


   hours later, a major operating system vendor releases a set of
   patches preventing a serious vulnerability that is being exploited on
   the Internet.

   The enterprise administrators make available the patches and change
   the network policy to require them to be installed by 5 PM.  This
   policy change causes the NEA Server to request a reassessment to
   determine which endpoints are impacted and lacking the patches.  The
   marketing employee's laptop is reassessed and determined to need the
   patches.  A remediation advisory is sent and presented to the
   employee explaining how to obtain the patches and that they must be
   installed by 5 PM.  The marketing employee immediately downloads and
   installs the patches and obtains an assertion that all patches are
   now installed.

   At 5 PM, the enterprise performs another reassessment of all impacted
   endpoints to determine if they are now in compliance.  The marketing
   employee's laptop is reassessed and presents the assertion that it
   has the patches installed and thus is determined to be compliant.

6.2.2.2.  Possible Flows and Protocol Usage

   The following describes the message flows through the NEA reference
   model for the above example:

      1. Marketing employee joins network and completes an initial
         assessment resulting in a compliant decision.

      2. The Enterprise Administrator configures an operating system
         patch policy indicating that recent patches are required on all
         endpoints by 5 PM to prevent serious vulnerabilities.

      3. The NEA Server's operating system patch Posture Validator
         becomes aware of this policy change and creates a PA message
         requesting attributes describing OS patches in use and triggers
         the Posture Broker Server to initiate a posture reassessment of
         all endpoints connected to the network.

      4. The Posture Broker creates a PB message that includes the PA
         message from the operating system patch Posture Validator.

      5. The Posture Broker Server gradually establishes a session with
         each available NEA Client.

      6. The Posture Broker Server sends the PB message to the Posture
         Broker Client.





Sangster, et al.             Informational                     [Page 31]
^L
RFC 5209                    NEA Requirements                   June 2008


      7. The Posture Transport Server carries the PB message to the
         Posture Transport Client over the PT protocol.

      8. The Posture Broker Client receives the PB message and forwards
         the PA message to the operating system patch Posture Collector.

      9. The operating system patch Posture Collector determines the OS
         patches present on the endpoint and if authorized by its
         disclosure policy creates a PA message containing the patch
         information attributes.

     10. The Posture Broker Client sends a PB message that includes the
         operating system patch PA message.

     11. The Posture Transport Client transports the PB message to the
         Posture Transport Server where it is passed to the Posture
         Broker Server.

     12. The Posture Broker Server receives the PB message and delivers
         the PA message to the operating system patch Posture Validator.

     13. The operating system patch Posture Validator extracts the
         attributes describing the current OS patches from the PA
         message and uses the values to determine whether the endpoint
         is compliant with the new policy.  The Posture Validator
         determines that the endpoint is not compliant since it does not
         have the new OS patches installed.

     14. The Posture Validator generates a PA message that includes
         attributes stating the posture assessment decision is
         non-compliant and attributes containing the remediation
         instructions to enable the endpoint to download the required OS
         patches.

     15. The Posture Validator communicates the posture assessment
         result to the Posture Broker Server along with its PA message.

     16. The Posture Broker Server generates a global assessment
         decision and sends a PB message with the decision and the
         operating system patch Posture Validator's PA message.

     17. The Posture Transport Server transports the PB message to the
         Posture Transport Client where it is passed to the Posture
         Broker Client.

     18. The Posture Broker Client processes the Result Attribute
         received from the NEA Server and displays the non-compliance
         decision to the user.



Sangster, et al.             Informational                     [Page 32]
^L
RFC 5209                    NEA Requirements                   June 2008


     19. The Posture Broker Client forwards the PA message containing
         the remediation instructions to the operating system patch
         Posture Collector; the Posture Collector guides the user with
         instructions on how to become compliant that include
         downloading the appropriate OS patches to prevent the
         vulnerability.

     20. The marketing employee installs the required patches and now is
         in compliance.

     21. The NEA Client triggers a reassessment of the operating system
         patches that causes a repeat of many of the steps above.  This
         time, in step 13 the operating system patch Posture Validator
         determines the marketing employee's laptop is compliant.  It
         returns a reusable (e.g., signed and dated) set of attributes
         that assert OS patch compliance to the latest policy.  These OS
         patch compliance assertions can be used in a future PA message
         from the operating system patch Collector instead of
         determining and providing the specific patch set posture as
         before.

     22. This time when the operating system patch Posture Collector
         receives the PA message that contains reusable attributes
         asserting compliance, it caches those attributes for future
         use.

     23. Later at 5 PM, the NEA Server triggers a gradual reassessment
         to determine compliance to the patch advisory.  When the
         operating system patch Posture Collector receives the request
         for posture information (like in step 9 above) it returns the
         cached set of assertions (instead of specific OS patch
         information) to indicate that the patches have been installed
         instead of determining all the patches that have been installed
         on the system.

     24. When the operating system patch Posture Validator receives the
         PA message containing the assertions, it is able to determine
         that they are authentic and acceptable assertions instead of
         specific posture.  It returns a posture assessment decision of
         compliant thus allowing the laptop to remain on the network.

6.2.2.3.  Impact on Requirements

   The following are several different aspects of the use case example
   that potentially need to be factored into the requirements.

      o Server-initiated reassessment required due to urgent patch
        availability



Sangster, et al.             Informational                     [Page 33]
^L
RFC 5209                    NEA Requirements                   June 2008


      o NEA Client submits reusable assertion attributes instead of
        posture that patch is installed

      o NEA Server capable of recognizing previously issued assertion
        attributes are sufficient instead of posture

7.  Requirements

   This section describes the requirements that will be used by the NEA
   WG to assess and compare candidate protocols for PA, PB, and PT.
   These requirements frequently express features that a candidate
   protocol must be capable of offering so that a deployer can decide
   whether to make use of that feature.  This section does not state
   requirements about what features of each protocol must be used during
   a deployment.

   For example, a requirement (MUST, SHOULD, or MAY) might exist for
   cryptographic security protections to be available from each protocol
   but this does not require that a deployer make use of all or even any
   of them should they deem their environment to offer other protections
   that are sufficient.

7.1.  Common Protocol Requirements

   The following are the common requirements that apply to the PA, PB,
   and PT protocols in the NEA reference model:

   C-1  NEA protocols MUST support multiple round trips between the NEA
        Client and NEA Server in a single assessment.

   C-2  NEA protocols SHOULD provide a way for both the NEA Client and
        the NEA Server to initiate a posture assessment or reassessment
        as needed.

   C-3  NEA protocols including security capabilities MUST be capable of
        protecting against active and passive attacks by intermediaries
        and endpoints including prevention from replay based attacks.

   C-4  The PA and PB protocols MUST be capable of operating over any PT
        protocol.  For example, the PB protocol must provide a transport
        independent interface allowing the PA protocol to operate
        without change across a variety of network protocol environments
        (e.g., EAP/802.1X, TLS, and Internet Key Exchange Protocol
        version 2 (IKEv2)).







Sangster, et al.             Informational                     [Page 34]
^L
RFC 5209                    NEA Requirements                   June 2008


   C-5  The selection process for NEA protocols MUST evaluate and prefer
        the reuse of existing open standards that meet the requirements
        before defining new ones.  The goal of NEA is not to create
        additional alternative protocols where acceptable solutions
        already exist.

   C-6  NEA protocols MUST be highly scalable; the protocols MUST
        support many Posture Collectors on a large number of NEA Clients
        to be assessed by numerous Posture Validators residing on
        multiple NEA Servers.

   C-7  The protocols MUST support efficient transport of a large number
        of attribute messages between the NEA Client and the NEA Server.

   C-8  NEA protocols MUST operate efficiently over low bandwidth or
        high latency links.

   C-9  For any strings intended for display to a user, the protocols
        MUST support adapting these strings to the user's language
        preferences.

   C-10 NEA protocols MUST support encoding of strings in UTF-8 format
        [UTF8].

   C-11 Due to the potentially different transport characteristics
        provided by the underlying candidate PT protocols, the NEA
        Client and NEA Server MUST be capable of becoming aware of and
        adapting to the limitations of the available PT protocol.  For
        example, some PT protocol characteristics that might impact the
        operation of PA and PB include restrictions on: which end can
        initiate a NEA connection, maximum data size in a message or
        full assessment, upper bound on number of roundtrips, and
        ordering (duplex) of messages exchanged.  The selection process
        for the PT protocols MUST consider the limitations the candidate
        PT protocol would impose upon the PA and PB protocols.

7.2.  Posture Attribute (PA) Protocol Requirements

   The Posture Attribute (PA) protocol defines the transport and data
   model to carry posture and validation information between a
   particular Posture Collector associated with the NEA Client and a
   Posture Validator associated with a NEA Server.  The PA protocol
   carries collections of standard attributes and vendor-specific
   attributes.  The PA protocol itself is carried inside the PB
   protocol.






Sangster, et al.             Informational                     [Page 35]
^L
RFC 5209                    NEA Requirements                   June 2008


   The following requirements define the desired properties that form
   the basis for comparison and evaluation of candidate PA protocols.
   These requirements do not mandate the use of these properties, but
   merely that the candidate protocols are capable of offering the
   property if it should be needed.

   PA-1 The PA protocol MUST support communication of an extensible set
        of NEA standards defined attributes.  These attributes will be
        distinguishable from non-standard attributes.

   PA-2 The PA protocol MUST support communication of an extensible set
        of vendor-specific attributes.  These attributes will be
        segmented into uniquely identified vendor-specific namespaces.

   PA-3 The PA protocol MUST enable a Posture Validator to make one or
        more requests for attributes from a Posture Collector within a
        single assessment.  This enables the Posture Validator to
        reassess the posture of a particular endpoint feature or to
        request additional posture including from other parts of the
        endpoint.

   PA-4 The PA protocol MUST be capable of returning attributes from a
        Posture Validator to a Posture Collector.  For example, this
        might enable the Posture Collector to learn the specific reason
        for a failed assessment and to aid in remediation and
        notification of the system owner.

   PA-5 The PA protocol SHOULD provide authentication, integrity, and
        confidentiality protection for attributes communicated between a
        Posture Collector and Posture Validator.  This enables
        end-to-end security across a NEA deployment that might involve
        traversal of several systems or trust boundaries.

   PA-6 The PA protocol MUST be capable of carrying attributes that
        contain non-binary and binary data including encrypted content.

7.3.  Posture Broker (PB) Protocol Requirements

   The PB protocol supports multiplexing of Posture Attribute messages
   (based on PA protocol) between the Posture Collectors on the NEA
   Client to and from the Posture Validators on the NEA Server (in
   either direction).

   The PB protocol carries the global assessment decision made by the
   Posture Broker Server, taking into account the results of the Posture
   Validators involved in the assessment, to the Posture Broker Client.





Sangster, et al.             Informational                     [Page 36]
^L
RFC 5209                    NEA Requirements                   June 2008


   The PB protocol also aggregates and transports advisories and
   notifications such as remediation instructions (e.g., patch
   references) from one or more Posture Validators.

   The requirements for the PB protocol are:

   PB-1 The PB protocol MUST be capable of carrying attributes from the
        Posture Broker Server to the Posture Broker Client.  This
        enables the Posture Broker Client to learn the posture
        assessment decision and if appropriate to aid in remediation and
        notification of the endpoint owner.

   PB-2 The PB protocol MUST NOT interpret the contents of PA messages
        being carried, i.e., the data it is carrying must be opaque to
        it.

   PB-3 The PB protocol MUST carry unique identifiers that are used by
        the Posture Brokers to route (deliver) PA messages between
        Posture Collectors and Posture Validators.  Such message routing
        should facilitate dynamic registration or deregistration of
        Posture Collectors and Validators.  For example, a dynamically
        registered anti-virus Posture Validator should be able to
        subscribe to receive messages from its respective anti-virus
        Posture Collector on NEA Clients.

   PB-4 The PB protocol MUST be capable of supporting a half-duplex PT
        protocol.  However this does not preclude PB from operating
        full-duplex when running over a full-duplex PT.

   PB-5 The PB protocol MAY support authentication, integrity and
        confidentiality protection for the attribute messages it carries
        between a Posture Broker Client and Posture Broker Server.  This
        provides security protection for a message dialog of the
        groupings of attribute messages exchanged between the Posture
        Broker Client and Posture Broker Server.  Such protection is
        orthogonal to PA protections (which are end to end) and allows
        for simpler Posture Collector and Validators to be implemented,
        and for consolidation of cryptographic operations possibly
        improving scalability and manageability.

   PB-6 The PB protocol MUST support grouping of attribute messages
        optimize transport of messages and minimize round trips.









Sangster, et al.             Informational                     [Page 37]
^L
RFC 5209                    NEA Requirements                   June 2008


7.4.  Posture Transport (PT) Protocol Requirements

   The Posture Transport (PT) protocol carries PB protocol messages
   between the Posture Transport Client and the Posture Transport
   Server.  PT is responsible for providing a protected transport for
   the PB protocol.  The PT protocol may itself be transported by one or
   more concatenated sessions using lower layer protocols, such as
   802.1X, RADIUS [RADIUS], TLS, or IKE.

   This section defines the requirements that candidate PT protocols
   must be capable of supporting.

   PT-1 The PT protocol MUST NOT interpret the contents of PB messages
        being transported, i.e., the data it is carrying must be opaque
        to it.

   PT-2 The PT protocol MUST be capable of supporting mutual
        authentication, integrity, confidentiality, and replay
        protection of the PB messages between the Posture Transport
        Client and the Posture Transport Server.

   PT-3 The PT protocol MUST provide reliable delivery for the PB
        protocol.  This includes the ability to perform fragmentation
        and reassembly, detect duplicates, and reorder to provide
        in-sequence delivery, as required.

   PT-4 The PT protocol SHOULD be able to run over existing network
        access protocols such as 802.1X and IKEv2.

   PT-5 The PT protocol SHOULD be able to run between a NEA Client and
        NEA Server over TCP or UDP (similar to Lightweight Directory
        Access Protocol (LDAP)).

8.  Security Considerations

   This document defines the functional requirements for the PA, PB, and
   PT protocols used for Network Endpoint Assessment.  As such, it does
   not define a specific protocol stack or set of technologies, so this
   section will highlight security issues that may apply to NEA in
   general or to particular aspects of the NEA reference model.

   Note that while a number of topics are outside the scope of the NEA
   WG and thus this specification (see section 3.1), it is important
   that those mechanisms are protected from attack.  For example, the
   methods of triggering an assessment or reassessment are out of scope
   but should be appropriately protected from attack (e.g., an attacker
   hiding the event indicating a NEA Server policy change has occurred).




Sangster, et al.             Informational                     [Page 38]
^L
RFC 5209                    NEA Requirements                   June 2008


   NEA intends to facilitate detection and corrective actions for
   cooperating endpoints to become compliant with network compliance
   policies.  For example, it is envisioned that these policies will
   allow deployers to detect out-of-date, inactive, or absent security
   mechanisms on the endpoint that might leave it more vulnerable to
   known attacks.  If an endpoint is more vulnerable to compromise, then
   it is riskier to have this endpoint present on the network with other
   valuable assets.  By proactively assessing cooperating endpoints
   before their entrance to the network, deployers can improve their
   resilience to attack prior to network access.  Similarly,
   reassessments of cooperating endpoints on the network may be helpful
   in assuring that security mechanisms remain in use and are up to date
   with the latest policies.

   NEA fully recognizes that not all endpoints will be cooperating by
   providing their valid posture (or any posture at all).  This might
   occur if malware is influencing the NEA Client or policies, and thus
   a trustworthy assessment isn't possible.  Such a situation could
   result in the admission of an endpoint that introduces threats to the
   network and other endpoints despite passing the NEA compliance
   assessment.

8.1.  Trust

   Network Endpoint Assessment involves assessing the posture of
   endpoints entering or already on the network against compliance
   policies to assure they are adequately protected.  Therefore, there
   must be an implied distrusting of endpoints until there is reason to
   believe (based on posture information) that they are protected from
   threats addressed by compliance policy and can be trusted to not
   propagate those threats to other endpoints.  On the network provider
   side, the NEA Client normally is expected to trust the network
   infrastructure systems to not misuse any disclosed posture
   information (see section 9) and any remediation instructions provided
   to the endpoint.  The NEA Client normally also needs to trust that
   the NEA Server will only request information required to determine
   whether the endpoint is safe to access the network assets.

   Between the NEA Client and Server there exists a network that is not
   assumed to be trustworthy.  Therefore, little about the network is
   implicitly trusted beyond its willingness and ability to transport
   the exchanged messages in a timely manner.  The amount of trust given
   to each component of the NEA reference model is deployment specific.
   The NEA WG intends to provide security mechanisms to reduce the
   amount of trust that must be assumed by a deployer.  The following
   sections will discuss each area in more detail.





Sangster, et al.             Informational                     [Page 39]
^L
RFC 5209                    NEA Requirements                   June 2008


8.1.1.  Endpoint

   For NEA to properly operate, the endpoint needs to be trusted to
   accurately represent the requested security posture of the endpoint
   to the NEA Server.  By NEA WG charter, the NEA reference model does
   not explicitly specify how to detect or prevent lying endpoints that
   intentionally misrepresent their posture.  Similarly, the detection
   of malware (e.g., root kits) that are able to trick the Posture
   Collectors into returning incorrect information is the subject for
   research and standardization outside the IETF (e.g., Trusted
   Computing Group [TCG]) and is not specifically addressed by the
   model.  However, if such mechanisms are used in a deployment, the NEA
   reference model should be able to accommodate these technologies by
   allowing them to communicate over PA to Posture Validators or work
   orthogonally to protect the NEA Client from attack and assure the
   ability of Posture Collectors to view the actual posture.

   Besides having to trust the integrity of the NEA Client and its
   ability to accurately collect and report Posture Attributes about the
   endpoint, we try to limit other assumed trust.  Most of the usage
   models for NEA expect the posture information to be sent to the NEA
   Server for evaluation and decision making.  When PA and/or PT level
   security protections are used, the endpoint needs to trust the
   integrity and potentially confidentiality of the trust anchor
   information (e.g., public key certificates) used by the Posture
   Collector and/or Posture Transport Client.  However, NEA
   implementations may choose to send or pre-provision some policies to
   the endpoint for evaluation that would assume more trust in the
   endpoint.  In this case, the NEA Server must trust the endpoint's
   policy storage, evaluation, and reporting mechanisms to not falsify
   the results of the posture evaluation.

   Generally the endpoint should not trust network communications (e.g.,
   inbound connection requests) unless this trust has been specifically
   authorized by the user or owner defined policy or action.  The NEA
   reference model assumes the entire NEA Client is local to the
   endpoint.  Unsolicited communications originating from the network
   should be inspected by normal host-based security protective
   mechanisms (e.g., firewalls, security protocols, Intrusion
   Detection/Prevention System (IDS/IPS), etc.).  Communications
   associated with a NEA assessment or reassessment requires some level
   of trust particularly when initiated by the NEA Server
   (reassessment).  The degree of trust can be limited by use of strong
   security protections on the messages as dictated by the network
   deployer and the endpoint user/owner policy.






Sangster, et al.             Informational                     [Page 40]
^L
RFC 5209                    NEA Requirements                   June 2008


8.1.2.  Network Communications

   Between the NEA Client and Server, there may exist a variety of types
   of devices to facilitate the communication path.  Some of the devices
   may serve as intermediaries (e.g., simple L2 switches) so they may
   have the opportunity to observe and change the message dialogs.

   The intermediary devices may fall into a few major categories that
   impact our degree of trust in their operation.  First, some
   intermediary devices may act as message forwarders or carriers for PT
   (e.g., L2 switches, L3 routers).  For these devices we trust them not
   to drop the messages or actively attempt to disrupt (e.g., denial of
   service (DoS)) the NEA deployment.

   Second, some intermediary devices may be part of the access control
   layer of the network and as such, we trust them to enforce policies
   including remediation, isolation, and access controls given to them
   as a result on a NEA assessment.  These devices may also fill other
   types of roles described in this section.

   Third, some devices may act as a termination point or proxy for the
   PT carrier protocol.  Frequently, it is expected that the carrier
   protocol for PT will terminate on the NEA Client and Server so will
   be co-resident with the PT endpoints.  If this expectation is not
   present in a deployment, we must trust the termination device to
   accurately proxy the PT messages without alteration into the next
   carrier protocol (e.g., if inner EAP method messages are transitioned
   from an EAP [EAP] tunnel to a RADIUS session).

   Fourth, many networks include infrastructure such as IDS/IPS devices
   that monitor and take corrective action when suspicious behavior is
   observed on the network.  These devices may have a relationship with
   the NEA Server that is not within scope for this specification.
   Devices trusted by the NEA Server to provide security information
   that might affect the NEA Server's decisions are trusted to operate
   properly and not cause the NEA Server to make incorrect decisions.

   Finally, other types of intermediary devices may exist on the network
   between the NEA Client and Server that are present to service other
   network functions beside NEA.  These devices might be capable of
   passively eavesdropping on the network, archiving information for
   future purposes (e.g., replay or privacy invasion), or more actively
   attacking the NEA protocols.  Because these devices do not play a
   role in facilitating NEA, it is essential that NEA deployers not be
   forced to trust them for NEA to reliably operate.  Therefore, it is
   required that NEA protocols offer security protections to assure
   these devices can't steal, alter, spoof or otherwise damage the
   reliability of the message dialogs.



Sangster, et al.             Informational                     [Page 41]
^L
RFC 5209                    NEA Requirements                   June 2008


8.1.3.  NEA Server

   The NEA Server (including potentially remote systems providing
   posture validation services) is generally trusted to apply the
   specified assessment policies and must be protected from compromise.
   It is essential that NEA Server deployments properly safeguard these
   systems from a variety of attacks from the network and endpoints to
   assure their proper operation.

   While there is a need to trust the NEA Server operation to some
   degree, rigorous security architecture, analysis, monitoring, and
   review should assure its network footprint and internal workings are
   protected from attack.  The network footprint would include
   communications over the network that might be subject to attack such
   as policy provisioning from the policy authoring systems and general
   security and system management protocols.  Some examples of internal
   workings include protections from malware attacking the intra-NEA
   Server communications, NEA Server internal logic, or policy stores
   (particularly those that would change the resulting decisions or
   enforcements).  The NEA Server needs to trust the underlying NEA and
   lower layer network protocols to properly behave and safeguard the
   exchanged messages with the endpoint.  The NEA reference model does
   not attempt to address integrity protection of the operating system
   or other software supporting the NEA Server.

   One interesting example is where some components of the NEA Server
   physically reside in different systems.  This might occur when a
   Posture Validator (or a remote backend server used by a local Posture
   Validator) exists on another system from the Posture Broker Server.
   Similarly, the Posture Broker Server might exist on a separate system
   from the Posture Transport Server.  When there is a physical
   separation, the communications between the remote components of the
   NEA Server must ensure that the PB session and PA message dialogs are
   resistant to active and passive attacks, in particular, guarded
   against eavesdropping, forgery and replay.  Similarly, the Posture
   Validators may also wish to minimize their trust in the Posture
   Broker Server beyond its ability to properly send and deliver PA
   messages.  The Posture Validators could employ end-to-end PA security
   to verify the authenticity and protect the integrity and/or
   confidentiality of the PA messages exchanged.

   When PA security is used, each Posture Validator must be able to
   trust the integrity and potentially confidentiality of its trust
   anchor policies.







Sangster, et al.             Informational                     [Page 42]
^L
RFC 5209                    NEA Requirements                   June 2008


8.2.  Protection Mechanisms at Multiple Layers

   Inherent in the requirements is a desire for NEA candidate protocols
   throughout the reference model to be capable of providing strong
   security mechanisms as dictated by the particular deployment.  In
   some cases, these mechanisms may appear to provide overlapping or
   redundant protections.  These apparent overlaps may be used in
   combination to offer a defense in depth approach to security.
   However, because of the layering of the protocols, each set of
   protections offers slightly different benefits and levels of
   granularity.

   For example, a deployer may wish to encrypt traffic at the PT layer
   to protect against some forms of traffic analysis or interception by
   an eavesdropper.  Additionally, the deployer may also selectively
   encrypt messages containing the posture of an endpoint to achieve
   end-to-end confidentiality to its corresponding Posture Validator.
   In particular, this might be desired when the Posture Validator is
   not co-located with the NEA Server so the information will traverse
   additional network segments after the PT protections have been
   enforced or so that the Posture Validator can authenticate the
   corresponding Posture Collector (or vice versa).

   Different use cases and environments for the NEA technologies will
   likely influence the selection of the strength and security
   mechanisms employed during an assessment.  The goal of the NEA
   requirements is to encourage the selection of technologies and
   protocols that are capable of providing the necessary protections for
   a wide variety of types of assessment.

8.3.  Relevant Classes of Attack

   A variety of attacks are possible against the NEA protocols and
   assessment technologies.  This section does not include a full
   security analysis, but wishes to highlight a few attacks that
   influenced the requirement definition and should be considered by
   deployers selecting use of protective mechanisms within the NEA
   reference model.

   As discussed, there are a variety of protective mechanisms included
   in the requirements for candidate NEA protocols.  Different use cases
   and environments may cause deployers to decide not to use some of
   these mechanisms; however, this should be done with an understanding
   that the deployment may become vulnerable to some classes of attack.
   As always, a balance of risk vs. performance, usability,
   manageability, and other factors should be taken into account.





Sangster, et al.             Informational                     [Page 43]
^L
RFC 5209                    NEA Requirements                   June 2008


   The following types of attacks are applicable to network protocols
   defined in the reference model and thus should be considered by
   deployers.

8.3.1.  Man-in-the-Middle (MITM)

   MITM attacks against a network protocol exist when a third party can
   insert itself between two communicating entities without detection
   and gain benefit from involvement in their message dialog.  For
   example, a malware infested system might wish to join the network
   replaying posture observed from a clean endpoint entering the
   network.  This might occur by the system inserting itself into and
   actively proxying an assessment message dialog.  The impact of the
   damage caused by the MITM can be limited or prevented by selection of
   appropriate protocol protective mechanisms.

   For example, the requirement for PT to be capable of supporting
   mutual authentication prior to any endpoint assessment message
   dialogs prevents the attacker from inserting itself as an active
   participant (proxy) within the communications without detection
   (assuming the attacker lacks credentials convincing either party it
   is legitimate).  Reusable credentials should not be exposed on the
   network to assure the MITM doesn't have a way to impersonate either
   party.  The PT requirement for confidentiality-protected (encrypted)
   communications linked to the above authentication prevents a passive
   MITM from eavesdropping by observing the message dialog and keeping a
   record of the conformant posture values for future use.  The PT
   requirement for replay prevention stops a passive MITM from later
   establishing a new session (or hijacking an existing session) and
   replaying previously observed message dialogs.

   If a non-compliant, active MITM is able to trick a clean endpoint to
   give up its posture information, and the MITM has legitimate
   credentials, it might be able to appear to a NEA Server as having
   compliant posture when it does not.  For example, a non-compliant
   MITM could connect and authenticate to a NEA Server and as the NEA
   Server requests posture information, the MITM could request the same
   posture from the clean endpoint.  If the clean endpoint trusts the
   MITM to perform a reassessment and is willing to share the requested
   posture, the MITM could obtain the needed posture from the clean
   endpoint and send it to the NEA Server.  In order to address this
   form of MITM attack, the NEA protocols would need to offer a strong
   (cryptographic) binding between the posture information and the
   authenticated session to the NEA Server so the NEA Server knows the
   posture originated from the endpoint that authenticated.  Such a
   strong binding between the posture's origin and the authenticating
   endpoint may be feasible so should be preferred by the NEA WG.




Sangster, et al.             Informational                     [Page 44]
^L
RFC 5209                    NEA Requirements                   June 2008


8.3.2.  Message Modification

   Without message integrity protection, an attacker capable of
   intercepting a message might be capable of modifying its contents and
   causing an incorrect decision to be made.  For example, the attacker
   might change the Posture Attributes to always reflect incorrect
   values and thus prevent a compliant system from joining the network.
   Unless the NEA Server could detect this change, the attacker could
   prevent admission to large numbers of clean systems.  Conversely, the
   attacker could allow a malware infested machine to be admitted by
   changing the sent Posture Attributes to reflect compliant values,
   thus hiding the malware from the Posture Validator.  The attacker
   could also infect compliant endpoints by sending malicious
   remediation instructions that, when performed, would introduce
   malware on the endpoint or deactivate security mechanisms.

   In order to protect against such attacks, the PT includes a
   requirement for strong integrity protection (e.g., including a
   protected hash like a Hashed Message Authentication Code (HMAC)
   [HMAC] of the message) so any change to a message would be detected.
   PA includes a similar requirement to enable end-to-end integrity
   protection of the attributes, extending the protection all the way to
   the Posture Validator even if it is located on another system behind
   the NEA Server.

   It is important that integrity protection schemes leverage fresh
   secret information (not known by the attacker) that is bound to the
   authenticated session such as an HMAC using a derived fresh secret
   associated with the session.  Inclusion of freshness information
   allows the parties to protect against some forms of message replay
   attacks using secret information from prior sessions.

8.3.3.  Message Replay or Attribute Theft

   An attacker might listen to the network, recording message dialogs or
   attributes from a compliant endpoint for later reuse to the same NEA
   Server or just to build an inventory of software running on other
   systems watching for known vulnerabilities.  The NEA Server needs to
   be capable of detecting the replay of posture and/or the model must
   assure that the eavesdropper cannot obtain the information in the
   first place.  For this reason, the PT protocol is required to provide
   confidentiality and replay prevention.

   The cryptographic protection from disclosure of the PT, PB, or PA
   messages prevents the passive listener from observing the exchanged
   messages and thus prevents theft of the information for future use.
   However, an active attacker might be able to replay the encrypted
   message if there is no strong link to the originating party or



Sangster, et al.             Informational                     [Page 45]
^L
RFC 5209                    NEA Requirements                   June 2008


   session.  By linking the encrypted message dialog to the
   authentication event and leveraging per-transaction freshness and
   keying exchanges, this prevents a replay of the encrypted
   transaction.

8.3.4.  Other Types of Attack

   This section doesn't claim to present an exhaustive list of attacks
   against the NEA reference model.  Several types of attack will become
   easier to understand and analyze once the NEA WG has created
   specifications describing the specific selected technologies and
   protocols to be used within NEA.  One such area is Denial of Service
   (DoS).  At this point in time, it is not practical to try to define
   all of the potential exposures present within the NEA protocols, so
   such an analysis should be included in the Security Considerations
   sections of the selected NEA protocols.

   However, it is important that the NEA Server be resilient to DoS
   attacks as an outage might affect large numbers of endpoints wishing
   to join or remain on the network.  The NEA reference model expects
   that the PT protocol would have some amount of DoS resilience and
   that the PA and PB protocols would need to build upon that base with
   their own protections.  To help narrow the window of attack by
   unauthenticated parties, it is envisioned that NEA Servers would
   employ PT protocols that enable an early mutual authentication of the
   requesting endpoint as one technique for filtering out attacks.

   Attacks occurring after the authentication would at least come from
   sources possessing valid credentials and could potentially be held
   accountable.  Similarly, NEA protocols should offer strong replay
   protection to prevent DoS-based attacks based on replayed sessions
   and messages.  Posture assessment should be strongly linked with the
   Posture Transport authentications that occurred to assure the posture
   came from the authenticated party.  Cryptographic mechanisms and
   other potentially resource intensive operations should be used
   sparingly until the validity of the request can be established.  This
   and other resource/protocol based attacks can be evaluated once the
   NEA technologies and their cryptographic use have been selected.

9.  Privacy Considerations

   While there are a number of beneficial uses of the NEA technology for
   organizations that own and operate networks offering services to
   similarly owned endpoints, these same technologies might enhance the
   potential for abuse and invasion of personal privacy if misused.
   This section will discuss a few of the potential privacy concerns
   raised by the deployment of this technology and offer some guidance
   to implementers.



Sangster, et al.             Informational                     [Page 46]
^L
RFC 5209                    NEA Requirements                   June 2008


   The NEA technology enables greater visibility into the configuration
   of an endpoint from the network.  Such transparency enables the
   network to take into consideration the strength of the endpoint's
   security mechanisms when making access control decisions to network
   resources.  However, this transparency could also be used to enforce
   restrictive policies to the detriment of the user by limiting their
   choice of software or prying into past or present uses of the
   endpoint.

   The scope of the NEA WG was limited to specifying protocols targeting
   the use cases where the endpoints and network are owned by the same
   party or the endpoint owner has established a clear expectation of
   disclosure/compliance with the network owner.  This is a familiar
   model for governments, institutions, and a wide variety of
   enterprises that provide endpoints to their employees to perform
   their jobs.  In many of these situations, the endpoint is purchased
   and owned by the enterprise and they often reserve the right to audit
   and possibly dictate the allowable uses of the device.  The NEA
   technologies allow them to automate the inspection of the contents of
   an endpoint and this information may be linked to the access control
   mechanisms on the network to limit endpoint use should the endpoint
   not meet minimal compliance levels.

   In these environments, the level of personal privacy the employee
   enjoys may be significantly reduced subject to local laws and
   customs.  However, in situations where the endpoint is owned by the
   user or where local laws protect the rights of the user even when
   using endpoints owned by another party, it is critical that the NEA
   implementation enable the user to control what endpoint information
   is shared with the network.  Such controls imposed by the user might
   prevent or limit their ability to access certain networks or
   protected resources, but this must be a user choice.

9.1.  Implementer Considerations

   The NEA WG is not defining NEA Client policy content standards nor
   defining requirements on aspects of an implementation outside of the
   network protocols; however, the following guidance is provided to
   encourage privacy friendly implementations for broader use than just
   the enterprise-oriented setting described above.

   NEA Client implementations are encouraged to offer an opt-in policy
   to users prior to sharing their endpoint's posture information.  The
   opt-in mechanism should be on a per-user, per-NEA Server basis so
   each user can control which networks can access any posture
   information on their system.  For those networks that are allowed to
   assess the endpoint, the user should be able to specify granular
   restrictions on what particular types and specific attributes Posture



Sangster, et al.             Informational                     [Page 47]
^L
RFC 5209                    NEA Requirements                   June 2008


   Collectors are allowed to disclose.  Posture Validator
   implementations are discouraged from having the default behavior of
   using wild carded requests for posture potentially leading to
   overexposure of information (see section 9.2).  Instead Posture
   Validators, by default, should only request the specific attributes
   that are required to perform their assessment.

   Requests for attributes that are not explicitly allowed (or
   specifically disallowed) to be shared should result in a user
   notification and/or log record so the user can assess whether the
   service is doing something undesirable or whether the user is willing
   to share this additional information in order to gain access.  Some
   products might consider policy-driven support for prompting the user
   for authorization with a specific description of the posture
   information being requested prior to sending it to the NEA Server.

   It is envisioned that the owner of the endpoint is able to specify
   disclosure policies that may override or influence the user's
   policies on the attributes visible to the network.  If the owner
   disclosure policy allows for broader posture availability than the
   user policy, the implementation should provide a feedback mechanism
   to the user so they understand the situation and can choose whether
   to use the endpoint in those circumstances.

   In such a system, it is important that the user's policy authoring
   interface is easy to understand and clearly articulates the current
   disclosure policy of the system including any influences from the
   owner policy.  Users should be able to understand what posture is
   available to the network and the general impact of this information
   being known.  In order to minimize the list of restrictions
   enumerated, use of a conservative default disclosure policy such as
   "that which is not explicitly authorized for disclosure is not
   allowed" might make sense to avoid unintentional leakage of
   information.

   NEA Server implementations should provide newly subscribing endpoints
   with a disclosure statement that clearly states:

      o What information is required

      o How this information will be used and protected

      o What local privacy policies are applicable

   This information will empower subscribing users to decide whether the
   disclosure of this information is acceptable considering local laws
   and customs.




Sangster, et al.             Informational                     [Page 48]
^L
RFC 5209                    NEA Requirements                   June 2008


9.2.  Minimizing Attribute Disclosure

   One important issue in the design of the NEA reference model and
   protocols is enabling endpoints to disclose minimal information
   required to establish compliance with network policies.  There are
   several models that could be considered as to how the disclosed
   attribute set is established.  Each model has privacy related
   benefits and issues that should be considered by product developers.
   This section summarizes three potential models for how attribute
   disclosure might be provided within NEA products and some privacy
   implications potentially associated with each model.

   The first model is easy to implement and deploy but has privacy and
   potentially latency and scalability implications.  This approach
   effectively defaults the local policy to send all known NEA Posture
   Attributes when an assessment occurs.  While this might simplify
   deployment, it exposes a lot of information that is potentially not
   relevant to the security assessment of the system and may introduce
   privacy issues.  For example, is it really important that the
   enterprise know whether Firefox is being used on a system instead of
   other browsers during the security posture assessment?

   The second model involves an out-of-band provisioning of the
   disclosure policy to all endpoints.  This model may involve the
   enterprise establishing policy that a particular list of attributes
   must be provided when a NEA exchange occurs.  Endpoint privacy policy
   may filter this attribute list, but such changes could cause the
   endpoint not to be given network or resource access.  This model
   simplifies the network exchange as the endpoint always sends the
   filtered list of attributes when challenged by a particular network.
   However, this approach requires an out-of-band management protocol to
   establish and manage the NEA disclosure policies of all systems.

   The third model avoids the need for pre-provisioning of a disclosure
   policy by allowing the NEA Server to specifically request what
   attributes are required.  This is somewhat analogous to the policy
   being provisioned during the NEA exchanges so is much easier to
   manage.  This model allows for the NEA Server to iteratively ask for
   attributes based on the values of prior attributes.  Note, even in
   this model the NEA protocols are not expected to be a general purpose
   query language, but rather allow the NEA Server to request specific
   attributes as only the defined attributes are possible to request.
   For example, an enterprise might ask about the OS version in the
   initial message dialog and after learning the system is running Linux
   ask for a different set of attributes specific to Linux than it would
   if the endpoint was a Windows system.  It is envisioned that this





Sangster, et al.             Informational                     [Page 49]
^L
RFC 5209                    NEA Requirements                   June 2008


   approach might minimize the set of attributes sent over the network
   if the assessment is of a complex system (such as trying to
   understand what patches are missing from an OS).

   In each model, the user could create a set of per-network privacy
   filter policies enforced by the NEA Client to prevent the disclosure
   of attributes felt to be personal in nature or not relevant to a
   particular network.  Such filters would protect the privacy of the
   user but might result in the user not being allowed access to the
   desired asset (or network) or being provided limited access.

10. References

10.1.  Normative References

   [UTF8]   Yergeau, F., "UTF-8, a transformation format of ISO 10646",
            STD 63, RFC 3629, November 2003.

10.2.  Informative References

   [802.1X] IEEE Standards for Local and Metropolitan Area Networks:
            Port based Network Access Control, IEEE Std 802.1X-2001,
            June 2001.

   [CNAC]   Cisco, Cisco's Network Admission Control Main Web Site,
            http://www.cisco.com/go/nac

   [EAP]    Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H.
            Levkowetz, Ed., "Extensible Authentication Protocol (EAP)",
            RFC 3748, June 2004.

   [HMAC]   Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-
            Hashing for Message Authentication", RFC 2104, February
            1997.

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

   [NAP]    Microsoft, Network Access Protection Main Web Site,
            http://www.microsoft.com/nap

   [RADIUS] Rigney, C., Willens, S., Rubens, A., and W. Simpson, "Remote
            Authentication Dial In User Service (RADIUS)", RFC 2865,
            June 2000.







Sangster, et al.             Informational                     [Page 50]
^L
RFC 5209                    NEA Requirements                   June 2008


   [TLS]    Dierks, T. and E. Rescorla, "The Transport Layer Security
            (TLS) Protocol Version 1.1", RFC 4346, April 2006.

   [TCG]    Trusted Computing Group, Main TCG Web Site,
            http://www.trustedcomputinggroup.org/

   [TNC]    Trusted Computing Group, Trusted Network Connect Main Web
            Site, https://www.trustedcomputinggroup.org/groups/network/

11.  Acknowledgments

   The authors of this document would like to acknowledge the NEA
   Working Group members who have contributed to previous requirements
   and problem statement documents that influenced the direction of this
   specification: Kevin Amorin, Parvez Anandam, Diana Arroyo, Uri
   Blumenthal, Alan DeKok, Lauren Giroux, Steve Hanna, Thomas Hardjono,
   Tim Polk, Ravi Sahita, Joe Salowey, Chris Salter, Mauricio Sanchez,
   Yaron Sheffer, Jeff Six, Susan Thompson, Gary Tomlinson, John
   Vollbrecht, Nancy Winget, Han Yin, and Hao Zhou.
































Sangster, et al.             Informational                     [Page 51]
^L
RFC 5209                    NEA Requirements                   June 2008


Authors' Addresses

   Paul Sangster
   Symantec Corporation
   6825 Citrine Dr
   Carlsbad, CA 92009 USA
   Phone: +1 760 438-5656
   EMail: Paul_Sangster@symantec.com

   Hormuzd Khosravi
   Intel
   2111 NE 25th Avenue
   Hillsboro, OR 97124 USA
   Phone: +1 503 264 0334
   EMail: hormuzd.m.khosravi@intel.com

   Mahalingam Mani
   Avaya Inc.
   1033 McCarthy Blvd.
   Milpitas, CA 95035 USA
   Phone: +1 408 321-4840
   EMail: mmani@avaya.com

   Kaushik Narayan
   Cisco Systems Inc.
   10 West Tasman Drive
   San Jose, CA 95134
   Phone: +1 408 526-8168
   EMail: kaushik@cisco.com

   Joseph Tardo
   Nevis Networks
   295 N. Bernardo Ave., Suite 100
   Mountain View, CA 94043 USA
   EMail: joseph.tardo@nevisnetworks.com
















Sangster, et al.             Informational                     [Page 52]
^L
RFC 5209                    NEA Requirements                   June 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
   THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
   OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
   THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.












Sangster, et al.             Informational                     [Page 53]
^L