CCF icon indicating copy to clipboard operation
CCF copied to clipboard

Support SEV-SNP attestation in CCF

Open DomAyre opened this issue 3 years ago • 1 comments

Contributes to https://github.com/microsoft/CCF/issues/4068

Key Decisions:

  • We perform a runtime check in virtual builds in PAL to see if we support SEV-SNP
  • We strictly don't allow any kind of mixed networks for now
  • We make a breaking change to the code_ids table, to state the platform the id came from, this is to distinguish potentially identical ids generated by different attestations (either by very remote chance or more likely by an attack on a compromised platform)

Todo:

  • [x] Refactor attestation generation/verification into the PAL layer (covered by https://github.com/microsoft/CCF/pull/4083)
  • [x] Generate and store the raw quote
  • [x] Parse the quote to extract the code id and report data
  • [x] Extract and verify the quote endorsements
    • [ ] Authenticate when getting endorsements
    • [ ] Allow user to specify where to get endorsements from
    • [x] Get the endorsements in PAL

DomAyre avatar Aug 05 '22 15:08 DomAyre

sev-snp@48853 aka 20220819.16 vs main ewma over 20 builds from 48562 to 48846

Click to see table

main

build_id build_number tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem hist_sgx_cft^ RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^ tpcc_virtual_cft^ tpcc_virtual_cft_mem ls_virtual_cft^ ls_virtual_cft_mem ls_jwt_virtual_cft^ ls_jwt_virtual_cft_mem ls_js_virtual_cft^ ls_js_virtual_cft_mem ls_v8_virtual_cft^ ls_v8_virtual_cft_mem ls_full_js_virtual_cft^ ls_full_js_virtual_cft_mem ls_full_v8_virtual_cft^ ls_full_v8_virtual_cft_mem ls_js_jwt_virtual_cft^ ls_js_jwt_virtual_cft_mem
48562 20220815.2 6242.99 8.42835e+07 19715.5 1.63882e+07 5635.6 1.53396e+07 2482.55 1.32424e+07 1574.14 1.66597e+08 2066.59 9.04813e+06 1406.98 9.81771e+07 1916.87 9.04813e+06 19707.5 909447 1.35619e+06 9.20028e+06 3.56168e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48572 20220815.8 6341.7 8.48077e+07 19763.8 1.66503e+07 5496.3 1.53396e+07 2501.6 9.83456e+06 1570.93 1.66597e+08 2107.98 9.31027e+06 1423.48 9.87014e+07 1919.72 8.78598e+06 17907.1 901165 1.3418e+06 9.10214e+06 3.59292e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48583 20220815.13 6332.98 8.40213e+07 19911.4 1.66503e+07 5538.12 1.53396e+07 2546.68 9.83456e+06 1586.74 1.645e+08 2108.78 9.04813e+06 1406.45 9.81771e+07 1926.97 9.04813e+06 19969.9 871522 1.37035e+06 9.28794e+06 3.56174e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48592 20220815.17 6485.44 8.48077e+07 20376.3 1.66503e+07 5673.41 1.53396e+07 2594.85 1.00967e+07 1618.96 1.66597e+08 2112.77 9.04813e+06 1425.72 9.81771e+07 1855.64 1.14074e+07 18035.6 905909 1.37467e+06 9.32596e+06 3.57411e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48597 20220815.19 6322.75 8.37592e+07 20129 1.56017e+07 5646.1 1.56017e+07 2604.46 9.83456e+06 1581.47 1.66597e+08 2119.41 9.04813e+06 1407.74 9.79149e+07 1919.54 9.04813e+06 21175.9 908606 1.38631e+06 9.27116e+06 3.59298e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48608 20220815.24 6185.84 8.3497e+07 19745.5 1.63882e+07 5630.7 1.53396e+07 2495.22 1.00967e+07 1581.38 1.66597e+08 2126.35 9.31027e+06 1400.49 9.73907e+07 1911.7 9.04813e+06 19982.3 890280 1.39008e+06 9.35587e+06 3.59298e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48635 20220816.3 6284.39 8.37592e+07 20503.9 1.69124e+07 5613.67 1.53396e+07 2536.88 1.00967e+07 1600.05 1.66859e+08 2114.81 9.04813e+06 1408.05 9.81771e+07 1923.09 8.78598e+06 20592.2 908239 1.36952e+06 9.21273e+06 3.58663e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48642 20220816.7 6260.86 8.45456e+07 19653.2 1.63882e+07 5677.32 1.53396e+07 2524.16 1.00967e+07 1612.89 1.67121e+08 2117.49 9.31027e+06 1401.11 9.84392e+07 1922.37 9.04813e+06 18369.1 872322 1.38343e+06 9.3475e+06 3.5618e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48672 20220816.16 6333.22 8.45456e+07 20111.1 1.74367e+07 5631.29 1.56017e+07 2536.69 1.00967e+07 1577.62 1.66597e+08 2075.38 9.31027e+06 1397.24 9.81771e+07 1931.89 9.04813e+06 22381.3 906591 1.36989e+06 9.40304e+06 3.65714e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48683 20220816.20 6239.71 8.3497e+07 20020.9 1.6126e+07 5592.7 1.56017e+07 2541.69 1.03588e+07 1551.19 1.66597e+08 2157.57 9.31027e+06 1404.89 9.79149e+07 1927.48 8.78598e+06 18144.3 912041 1.3478e+06 9.29215e+06 3.55556e+07 nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan nan
48698 20220816.25 6140.94 8.42835e+07 19716.8 1.63882e+07 5626.93 1.53396e+07 2427.11 1.00967e+07 1566.11 1.66597e+08 2118.77 9.31027e+06 1386.8 9.79149e+07 1933.12 9.04813e+06 25043.1 876971 1.37875e+06 9.24601e+06 3.58669e+07 11079.7 0 41713 0 10360 0 4469.21 0 2766.55 0 3534.85 0 2531.53 0 3341.36 0
48723 20220817.3 6214.19 8.32349e+07 19633.1 1.74367e+07 5619.72 1.50774e+07 2489.91 1.00967e+07 1563.46 1.66859e+08 2111.37 9.31027e+06 1394.59 9.84392e+07 1926.84 9.04813e+06 26239.4 901443 1.34347e+06 9.09814e+06 3.54325e+07 11359.3 0 43757.8 0 10712.3 0 4405.46 0 2799.92 0 3551.2 0 2479.12 0 3393.52 0
48748 20220817.12 6287.18 8.45456e+07 19721.8 1.58639e+07 5636.57 1.53396e+07 2491.98 1.00967e+07 1564.43 1.66597e+08 2117.22 9.31027e+06 1416.06 9.81771e+07 1938.53 9.04813e+06 22437.1 906752 1.37403e+06 9.22103e+06 3.56794e+07 11343.3 0 43725.9 0 10106.5 0 4650.08 0 2757.07 0 3522.44 0 2426.54 0 3683.47 0
48761 20220817.17 6290.62 8.37592e+07 20050.9 1.66503e+07 5594.8 1.53396e+07 2537.25 1.00967e+07 1639.5 1.66859e+08 2079.59 9.31027e+06 1406.1 9.84392e+07 2010.14 8.78598e+06 23455.3 900740 1.36498e+06 9.16745e+06 3.55562e+07 11489 0 43054.4 0 10217.9 0 4757.92 0 2796.04 0 3674.13 0 2502.54 0 3579.84 0
48766 20220817.19 6329.39 8.40213e+07 19961.8 1.56017e+07 5596.01 1.53396e+07 2532.15 1.03588e+07 1584.56 1.66859e+08 2077.65 1.19317e+07 1394.38 9.76528e+07 1923.62 9.04813e+06 33258.3 874202 1.37658e+06 9.2256e+06 3.5743e+07 11870.6 0 42592.7 0 10689.6 0 4755.35 0 2880.03 0 3649.55 0 2482.02 0 3384.04 0
48771 20220818.2 6210.86 8.32349e+07 20026.3 1.58639e+07 5625 1.53396e+07 2533.51 1.00967e+07 1588.24 1.66335e+08 2117.02 9.04813e+06 1390.73 9.81771e+07 1935.9 9.04813e+06 23062.1 905627 1.40158e+06 9.21269e+06 3.59292e+07 11264.6 0 44076.9 0 10231.5 0 4682.16 0 2814.45 0 3826.75 0 2486.52 0 3498.83 0
48788 20220818.10 6336.81 8.32349e+07 19612.8 1.63882e+07 5575.63 1.56017e+07 2526.12 1.00967e+07 1587.78 1.66597e+08 2011.97 1.27181e+07 1404.76 9.81771e+07 1921.49 8.78598e+06 24152.1 904070 1.37265e+06 9.44645e+06 3.58669e+07 10840.1 0 42945.2 0 10200.6 0 4634.51 0 2774.03 0 3575.62 0 2469.15 0 3327.6 0
48822 20220819.2 6253.74 8.40213e+07 20068.5 1.58639e+07 5596.11 1.53396e+07 2490.71 1.00967e+07 1574.59 1.66597e+08 2111.96 9.31027e+06 1385.61 9.79149e+07 1935.25 9.04813e+06 25389.4 921024 1.34231e+06 9.21676e+06 3.58036e+07 11524.6 0 42495 0 10234.7 0 4682.58 0 2925.03 0 3526.85 0 2484.94 0 3402.4 0
48838 20220819.10 6244.91 8.37592e+07 20147.9 1.56017e+07 5583.05 1.53396e+07 2349.73 1.03588e+07 1576.84 1.66597e+08 2084.43 9.04813e+06 1397.52 9.84392e+07 1922.59 8.78598e+06 24113.9 899901 1.38979e+06 9.20032e+06 3.58669e+07 11789.5 0 42837.3 0 10354.3 0 4750.08 0 2792.27 0 3740.15 0 2500.2 0 3390.03 0
48846 20220819.13 6332.7 8.3497e+07 19685.5 1.6126e+07 5558.51 1.56017e+07 2543.73 1.00967e+07 1583.04 1.66597e+08 2104.13 9.31027e+06 1387.03 9.76528e+07 1876.09 9.04813e+06 28765.6 900689 1.38424e+06 9.19615e+06 3.59292e+07 11120.7 0 40447.3 0 9998.92 0 4542.63 0 2778.38 0 3532.06 0 2503.31 0 3486.38 0

sev-snp

build_id build_number tpcc_virtual_cft^ tpcc_virtual_cft_mem tpcc_sgx_cft^ tpcc_sgx_cft_mem ls_virtual_cft^ ls_virtual_cft_mem ls_jwt_virtual_cft^ ls_jwt_virtual_cft_mem ls_js_virtual_cft^ ls_js_virtual_cft_mem ls_sgx_cft^ ls_sgx_cft_mem ls_jwt_sgx_cft^ ls_jwt_sgx_cft_mem ls_v8_virtual_cft^ ls_v8_virtual_cft_mem ls_js_sgx_cft^ ls_js_sgx_cft_mem ls_full_js_virtual_cft^ ls_full_js_virtual_cft_mem ls_full_v8_virtual_cft^ ls_full_v8_virtual_cft_mem ls_v8_sgx_cft^ ls_v8_sgx_cft_mem ls_js_jwt_virtual_cft^ ls_js_jwt_virtual_cft_mem ls_full_js_sgx_cft^ ls_full_js_sgx_cft_mem hist_sgx_cft^ ls_full_v8_sgx_cft^ ls_full_v8_sgx_cft_mem ls_js_jwt_sgx_cft^ ls_js_jwt_sgx_cft_mem RB put (/s)^ CHAMP put (/s)^ RB get (/s)^ CHAMP get (/s)^
48802 20220818.16 11171.1 0 6262.2 8.3497e+07 40179.6 0 9884.96 0 4775.03 0 19644.6 1.63882e+07 5643.46 1.50774e+07 2831.02 0 2584.9 1.00967e+07 3601.67 0 2482.61 0 1594.41 1.66597e+08 3333.27 0 2149.35 9.04813e+06 28949.3 1394.67 9.81771e+07 1925.17 9.04813e+06 903913 1.37468e+06 9.26274e+06 3.57411e+07
48827 20220819.4 11512.6 0 6422.86 8.40213e+07 44737.1 0 10908.7 0 4548.05 0 19880.8 1.58639e+07 5662.01 1.56017e+07 2867.83 0 2482.08 1.00967e+07 3630.06 0 2503.08 0 1615.43 1.67121e+08 3498.36 0 2071.38 9.31027e+06 25507.3 1424.14 9.84392e+07 1933.03 9.04813e+06 908681 1.37624e+06 9.26688e+06 3.58663e+07
48829 20220819.5 10960.6 0 6394.34 8.45456e+07 40898.9 0 10228.9 0 4740.13 0 19764.3 1.6126e+07 5593.47 1.53396e+07 2801.86 0 2537.83 1.00967e+07 3842.77 0 2513.37 0 1618.94 1.66859e+08 3660.05 0 2108.64 9.31027e+06 25356.2 1418.26 9.76528e+07 2010.91 8.78598e+06 906910 1.35691e+06 9.30055e+06 3.56168e+07
48831 20220819.6 11357.2 0 6261.25 8.42835e+07 43414.8 0 10079 0 4360.93 0 19813 1.6126e+07 5606.75 1.50774e+07 2886.96 0 2483.36 1.03588e+07 3800.44 0 2556.06 0 1587.21 1.67121e+08 3345.38 0 2152.75 9.04813e+06 26927.8 1407.36 9.63421e+07 1930.65 9.04813e+06 890931 1.36943e+06 9.21688e+06 3.56168e+07
48853 20220819.16 11445.9 0 6267.67 8.42835e+07 42969.1 0 10324.6 0 4716.93 0 20020.3 1.74367e+07 5569.27 1.53396e+07 2872.81 0 2456.92 1.00967e+07 3587.07 0 2509.54 0 1602.42 1.66597e+08 3403.85 0 2079.96 1.19317e+07 28277.4 1409.98 9.81771e+07 1963.12 9.04813e+06 910580 1.37949e+06 9.36006e+06 3.58042e+07

images

ccf-bot avatar Aug 16 '22 13:08 ccf-bot