<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: DCAP/ECDSA and IAS in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1380365#M5225</link>
    <description>&lt;P&gt;I actually have a related question, let me know if I should post it as a new question instead.&lt;/P&gt;
&lt;P&gt;So, in the Commercial License table (&lt;A href="https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/request-license.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/request-license.html&lt;/A&gt;) , the third row says that it is possible to have a third party Launch Approver but still use the Intel Attestation Service.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Do I understand it correctly, that this only works for processors which support both EPID attestattion and FLC (and due to FLC probably also ECDSA attestation)? My understanding is that "third party Launch Approver" means "Custom Launch Enclave" and thus "requires FLC".&lt;/LI&gt;
&lt;LI&gt;Would this mean that I can swap out the Launch Enclave for a custom one, but keep the rest of the infrastructure the same (Intel provided aesmd, quoting enclave, provisioning enclave, ...) and continue to use EPID with the Intel Attestation Service, or would this require additional modifications? IIUC the launch enclave gets a whitelist from the aesmd (&lt;A href="https://github.com/intel/linux-sgx/blob/e1a37bdc381672509e49e34885730437366194e4/psw/ae/ref_le/ref_le.edl#L47" target="_blank"&gt;https://github.com/intel/linux-sgx/blob/e1a37bdc381672509e49e34885730437366194e4/psw/ae/ref_le/ref_le.edl#L47&lt;/A&gt;), so I guess one would either need to provide some dummy no-op implementation for this ecall (and do the actual work in another new ecall), or one cannot use it with the standard aesmd? The point is, I am asking how to implement this combination (FLC + EPID), as I only found that FLC is mentioned in combination with ECDSA.&lt;/LI&gt;
&lt;LI&gt;I am also curious whether there is
&lt;UL&gt;
&lt;LI&gt;an actual use case behind this combination, or whether&lt;/LI&gt;
&lt;LI&gt;it is just listed in this table because it is technically possible due to how the building blocks are laid out but a reasonable SGX setup would not want to use it in practice (the point that FLC is mostly/only mentioned together with ECDSA/DCAP points to this one). As in "Well,&amp;nbsp;&lt;EM&gt;technically&lt;/EM&gt; you can do it, but don't do it."&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Thanks again!&lt;/P&gt;</description>
    <pubDate>Thu, 28 Apr 2022 09:54:27 GMT</pubDate>
    <dc:creator>ArminD</dc:creator>
    <dc:date>2022-04-28T09:54:27Z</dc:date>
    <item>
      <title>Re: DCAP/ECDSA and IAS</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1380365#M5225</link>
      <description>&lt;P&gt;I actually have a related question, let me know if I should post it as a new question instead.&lt;/P&gt;
&lt;P&gt;So, in the Commercial License table (&lt;A href="https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/request-license.html" target="_blank"&gt;https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/request-license.html&lt;/A&gt;) , the third row says that it is possible to have a third party Launch Approver but still use the Intel Attestation Service.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Do I understand it correctly, that this only works for processors which support both EPID attestattion and FLC (and due to FLC probably also ECDSA attestation)? My understanding is that "third party Launch Approver" means "Custom Launch Enclave" and thus "requires FLC".&lt;/LI&gt;
&lt;LI&gt;Would this mean that I can swap out the Launch Enclave for a custom one, but keep the rest of the infrastructure the same (Intel provided aesmd, quoting enclave, provisioning enclave, ...) and continue to use EPID with the Intel Attestation Service, or would this require additional modifications? IIUC the launch enclave gets a whitelist from the aesmd (&lt;A href="https://github.com/intel/linux-sgx/blob/e1a37bdc381672509e49e34885730437366194e4/psw/ae/ref_le/ref_le.edl#L47" target="_blank"&gt;https://github.com/intel/linux-sgx/blob/e1a37bdc381672509e49e34885730437366194e4/psw/ae/ref_le/ref_le.edl#L47&lt;/A&gt;), so I guess one would either need to provide some dummy no-op implementation for this ecall (and do the actual work in another new ecall), or one cannot use it with the standard aesmd? The point is, I am asking how to implement this combination (FLC + EPID), as I only found that FLC is mentioned in combination with ECDSA.&lt;/LI&gt;
&lt;LI&gt;I am also curious whether there is
&lt;UL&gt;
&lt;LI&gt;an actual use case behind this combination, or whether&lt;/LI&gt;
&lt;LI&gt;it is just listed in this table because it is technically possible due to how the building blocks are laid out but a reasonable SGX setup would not want to use it in practice (the point that FLC is mostly/only mentioned together with ECDSA/DCAP points to this one). As in "Well,&amp;nbsp;&lt;EM&gt;technically&lt;/EM&gt; you can do it, but don't do it."&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;Thanks again!&lt;/P&gt;</description>
      <pubDate>Thu, 28 Apr 2022 09:54:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1380365#M5225</guid>
      <dc:creator>ArminD</dc:creator>
      <dc:date>2022-04-28T09:54:27Z</dc:date>
    </item>
    <item>
      <title>Re:Re: DCAP/ECDSA and IAS</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1380860#M5232</link>
      <description>&lt;P&gt;Hello ArminD,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Xeon Scalable processors do not and never will support EPID attestation so you cannot use IAS to attest Xeon Scalable processors.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Xeon E-series processors with FLC do support EPID so that row in the commercial licensing table applies to Xeon E-series processors, not Xeon Scalable. The Xeon E-series 2200 and 2300 processors support FLC/DCAP and EPID.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The launch enclave approver has nothing to do with attestation so messing with the launch enclave has no effect.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;In Summary, if you have Xeon Scalable with FLC, you must use ECDSA attestation with a DCAP infrastructure. If you have a Xeon E-series processor with FLC, then you can use EPID attestation with IAS.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Jesus G.&lt;/P&gt;&lt;P&gt;Intel Customer Support&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 29 Apr 2022 22:23:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1380860#M5232</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2022-04-29T22:23:28Z</dc:date>
    </item>
    <item>
      <title>Re: DCAP/ECDSA and IAS</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1381433#M5249</link>
      <description>&lt;P&gt;Hello JesusG_Intel,&lt;/P&gt;
&lt;P&gt;thank you for your answer. I think I put my questions into the wrong context in the other thread, sorry for that. Right now our product uses classic EPID attestation on CPUs without FLC, but me and my team had to look at the broader attestation landscape. Currently we have not yet purchased a Xeon Scalable processor.&lt;/P&gt;
&lt;P&gt;I struggle to formulate the question, as I am not really sure what it is that I don't know. The thing is, I (think that I) understand the classic EPID attestation on let's say my i5-6300U from 2017, we successfully used the classic EPID attestation with our commercial license - this covers the last row "Launch Approver=Intel &amp;amp; Attestation Model=Intel Attestation Service". And from the training material on DCAP (e.g. the five videos on the network builders page with the first being [1], and the documentation from [2]), I get the picture of how to realize/setup/implement the components required when I would go with the row "Launch Approver=Third Party &amp;amp; Attestation Model=Third Party" if I had a Scalable 3rd gen Xeon.&lt;BR /&gt;The question is probably, how to go the other two routes which are stated in that table: "Launch Approver=Intel &amp;amp; Attestation Model=Third Party" and "Launch Approver=Third Party &amp;amp; Attestation Model=Intel".&lt;/P&gt;
&lt;P&gt;Now, you wrote that the "Launch Approver=Third Party &amp;amp; Attestation Model=Intel" row applies to the Xeon E-series, as it supports both EPID attestation and FLC. But does that mean that I should implement a custom Launch Enclave to make use of the "Launch Approver=Third Party" characteristics? (I understand that the Launch enclave does not influence to the attestation scheme.) Because if I just use the Intel provided pre-built Launch Enclave, then I think that I am actually in the "Launch Approver=Intel" scenario again, right? I just got the impression that if I modify the launch enclave, then I cannot make use of the other existing infrastructure (like the aesm service), so end up with having to use DCAP again to implement the infrastructure around my custom launch enclave, and as I understand it by using DCAP I also have to use ECDSA attestation (so I landed in the "Attestation Model=Third Party" scenario, having skipped over the "Launch Approver=Third Party &amp;amp; Attestation Model=Intel" row). I think that I haven't seen any material on how to reach the two mixed ThirdParty+Intel rows, or it maybe is that I actually don't fully understand what the "Launch Approver" column means (I read the description of "Launch Approver" on that page).&lt;/P&gt;
&lt;P&gt;Do you understand my problem? If what I write sounds illogical, then maybe a first good step would be if you could tell me what sentences don't make sense.&lt;/P&gt;
&lt;P&gt;Thank you for your patience,&lt;/P&gt;
&lt;P&gt;Armin&lt;/P&gt;
&lt;P&gt;[1] &lt;A href="https://networkbuilders.intel.com/university/course/introduction-to-intelr-sgx-data-center-attestation-primitives-intelr-sgx-dcap" target="_blank"&gt;https://networkbuilders.intel.com/university/course/introduction-to-intelr-sgx-data-center-attestation-primitives-intelr-sgx-dcap&lt;/A&gt;&lt;BR /&gt;[2] &lt;A href="https://download.01.org/intel-sgx/sgx-dcap/1.12.1/linux/docs/" target="_blank"&gt;https://download.01.org/intel-sgx/sgx-dcap/1.12.1/linux/docs/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 03 May 2022 11:54:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1381433#M5249</guid>
      <dc:creator>ArminD</dc:creator>
      <dc:date>2022-05-03T11:54:03Z</dc:date>
    </item>
    <item>
      <title>Re:Re: DCAP/ECDSA and IAS</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1381583#M5252</link>
      <description>&lt;P&gt;Hello ArminD,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;The "launch approver" is the entity that signs the Launch Enclave and sets the&amp;nbsp;launch policy, which determines which enclaves can be loaded and which cannot.&amp;nbsp;See this&amp;nbsp;&lt;A href="https://github.com/intel/linux-sgx/blob/master/psw/ae/ref_le/ref_le.md" rel="noopener noreferrer" target="_blank"&gt;article&lt;/A&gt;&amp;nbsp;for more information on Launch Control Policy Providers, Launch Enclave, and Flexible Launch Control.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can find more detailed information&amp;nbsp;in the&amp;nbsp;&lt;A href="https://software.intel.com/en-us/download/intel-64-and-ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4" rel="noopener noreferrer" target="_blank"&gt;Intel Software Development Manual&lt;/A&gt;, section&amp;nbsp;38.1.4 Intel® SGX Launch Control Configuration,&amp;nbsp;page 4309.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;To become a third-party launch approver, you must do three things on a server platform that supports FLC:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN style="font-size: 10pt;"&gt;In BIOS, set the launch control to third party locked mode and manually enter the hash of the public key you use to sign the launch enclave, as described &lt;/SPAN&gt;&lt;A href="https://github.com/intel/linux-sgx/blob/master/psw/ae/ref_le/ref_le.md#flexible-launch-control" rel="noopener noreferrer" target="_blank"&gt;here&lt;/A&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 10pt;"&gt;Create your own Launch Enclave and sign it with your public key&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 10pt;"&gt;Modify the DCAP driver so that it allows only your enclaves to launch.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Step 3 is the tough one since modifying the driver taints the kernel and you will have to maintain the driver. Most, if not all, people use the SGX DCAP driver built into Linux kernel 5.11 and above.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Remember that the launch approver has nothing to do with the method of attestation - ECDSA vs EPID.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I broke apart your questions and answered them individually...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;B&gt;Q&lt;/B&gt;: how to go the other two routes which are stated in that table:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;"Launch Approver=Intel &amp;amp; Attestation Model=Third Party"&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;A&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: Use DCAP with ECDSA attestation with Intel-provided packages, no modifications. Use processor with FLC support.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;&amp;nbsp;"Launch Approver=Third Party &amp;amp; Attestation Model=Intel".&lt;/SPAN&gt;&lt;UL&gt;&lt;LI&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;A&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: This will use EPID attestation. You can be your own launch approver as described above.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;Q&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: But does that mean that I should implement a custom Launch Enclave to make use of the "Launch Approver=Third Party" characteristics?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;A&lt;/B&gt;: You can theoretically implement a custom launch enclave but will have to maintain your own DCAP driver.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;Q&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: Because if I just use the Intel provided pre-built Launch Enclave, then I think that I am actually in the "Launch Approver=Intel" scenario again, right?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;A:&lt;/B&gt; Correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;Q&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: I just got the impression that if I modify the launch enclave, then I cannot make use of the other existing infrastructure (like the aesm service)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;A&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: Incorrect. The AESM will pick up your modified launch enclave as described &lt;/SPAN&gt;&lt;A href="https://github.com/intel/linux-sgx/blob/e1a37bdc381672509e49e34885730437366194e4/psw/ae/ref_le/ref_le.md#to-build-and-install-the-intelr-sgx-psw-of-ref-le-build" rel="noopener noreferrer" target="_blank" style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;here&lt;/A&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;"&lt;/SPAN&gt;&lt;SPAN style="font-size: 12pt; font-family: -apple-system;"&gt;Note&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: Building with ref-LE is replacing the standard LE in both the build process and also in the aesm_service, the aesm_service will load and configure only the ref-LE if the PSW is built with the flag BUILD_REF_LE=1. And the BUILD_REF_LE=1 is also building the LE shared object (ref_le.so), the ref-LE white list generation tool and a sample white list created with the tool and the test keys."&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;Q&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: so end up with having to use DCAP again to implement the infrastructure around my custom launch enclave, and as I understand it by using DCAP I also have to use ECDSA attestation (so I landed in the "Attestation Model=Third Party" scenario, having skipped over the "Launch Approver=Third Party &amp;amp; Attestation Model=Intel" row).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;B style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;A&lt;/B&gt;&lt;SPAN style="font-size: 10pt; font-family: &amp;quot;Intel Clear&amp;quot;;"&gt;: Incorrect. You can use your own launch enclave, which the AESM will pick up, and you can continue to use EPID. You can use either ECDSA or EPID with your own launch enclave.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Jesus G.&lt;/P&gt;&lt;P&gt;Intel Customer Support&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 03 May 2022 22:20:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1381583#M5252</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2022-05-03T22:20:15Z</dc:date>
    </item>
    <item>
      <title>Re:Re: DCAP/ECDSA and IAS</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1382948#M5274</link>
      <description>&lt;P&gt;&lt;B&gt;This thread has been marked as answered and Intel will no longer monitor this thread. If you want a response from Intel in a follow-up question, please open a new thread.&lt;/B&gt;&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 09 May 2022 19:27:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Re-DCAP-ECDSA-and-IAS/m-p/1382948#M5274</guid>
      <dc:creator>JesusG_Intel</dc:creator>
      <dc:date>2022-05-09T19:27:16Z</dc:date>
    </item>
  </channel>
</rss>

