<?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 Hi again. in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168807#M3131</link>
    <description>&lt;P&gt;Hi again.&lt;/P&gt;&lt;P&gt;The public key is simply compiled into the enclave, as it is in the SGX RA sample I gave.&amp;nbsp; When you build the enclave that is going to use attestation, you must&amp;nbsp;already know the SP you plan to use and therefore know/have access to their public key.&amp;nbsp; You can't decide at runtime which SP you are going to use, if that's what you're thinking.&lt;/P&gt;&lt;P&gt;Scott&lt;/P&gt;</description>
    <pubDate>Fri, 15 Mar 2019 11:19:55 GMT</pubDate>
    <dc:creator>Scott_R_Intel</dc:creator>
    <dc:date>2019-03-15T11:19:55Z</dc:date>
    <item>
      <title>Remote Attestation SP public key</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168804#M3128</link>
      <description>&lt;P&gt;Good morning!I have a doubt about the way in which the application and then the enclave discover the public key of the service provider it wants to communicate with during the remote attestation process. In the white paper of the remote attestation sample it is both said that the function sgx_ra_init takes in input the public key of the SP and the same public key of the SP must be hardcoded inside the enclave. So my doubt is, when is this key provided to the application? Along with the challenge at the very beginning of the Remote attestaion process?&lt;/P&gt;&lt;P&gt;Thank you so much&lt;/P&gt;&lt;P&gt;Alessia&lt;/P&gt;</description>
      <pubDate>Wed, 13 Mar 2019 10:46:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168804#M3128</guid>
      <dc:creator>Perissinotto__Alessi</dc:creator>
      <dc:date>2019-03-13T10:46:21Z</dc:date>
    </item>
    <item>
      <title>Hi Alessia.</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168805#M3129</link>
      <description>&lt;P&gt;Hi&amp;nbsp;Alessia.&lt;/P&gt;&lt;P&gt;Which white paper are you speaking of?&amp;nbsp; If you look at the SGX&amp;nbsp;End-to-End Remote Attestation Code Sample article and it's associated code (links below), you will see the SP key is hard coded in the enclave (search for def_service_public_key)&amp;nbsp;just as you mention, and is ultimately passed into&amp;nbsp;sgx_ra_init.&amp;nbsp; I'm not sure I understand your exact question, so if the links below don't answer it, please feel free to reply.&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/code-sample-intel-software-guard-extensions-remote-attestation-end-to-end-example" target="_blank"&gt;https://software.intel.com/en-us/articles/code-sample-intel-software-guard-extensions-remote-attestation-end-to-end-example&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://github.com/intel/sgx-ra-sample" target="_blank"&gt;https://github.com/intel/sgx-ra-sample&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/en-us/sgx-sdk-dev-reference-sgx-ra-init"&gt;https://software.intel.com/en-us/sgx-sdk-dev-reference-sgx-ra-init&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Scott&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2019 11:01:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168805#M3129</guid>
      <dc:creator>Scott_R_Intel</dc:creator>
      <dc:date>2019-03-15T11:01:29Z</dc:date>
    </item>
    <item>
      <title>Yes! This is what I was</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168806#M3130</link>
      <description>&lt;P&gt;Yes! This is what I was talking about! So how it is possible that the key is hardcoded inside the enclave? Does each machine contains a list of public key that are injected at manufacturing time?&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;&lt;P&gt;Alessia&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2019 11:12:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168806#M3130</guid>
      <dc:creator>Perissinotto__Alessi</dc:creator>
      <dc:date>2019-03-15T11:12:40Z</dc:date>
    </item>
    <item>
      <title>Hi again.</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168807#M3131</link>
      <description>&lt;P&gt;Hi again.&lt;/P&gt;&lt;P&gt;The public key is simply compiled into the enclave, as it is in the SGX RA sample I gave.&amp;nbsp; When you build the enclave that is going to use attestation, you must&amp;nbsp;already know the SP you plan to use and therefore know/have access to their public key.&amp;nbsp; You can't decide at runtime which SP you are going to use, if that's what you're thinking.&lt;/P&gt;&lt;P&gt;Scott&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2019 11:19:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168807#M3131</guid>
      <dc:creator>Scott_R_Intel</dc:creator>
      <dc:date>2019-03-15T11:19:55Z</dc:date>
    </item>
    <item>
      <title>What i cannot understand is</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168808#M3132</link>
      <description>&lt;P&gt;What i cannot understand is how the enclave at the moment of its creation knows the public key of the SP that is going to talk with.&lt;/P&gt;&lt;P&gt;Please,&lt;/P&gt;&lt;P&gt;Alessia&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2019 11:22:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168808#M3132</guid>
      <dc:creator>Perissinotto__Alessi</dc:creator>
      <dc:date>2019-03-15T11:22:12Z</dc:date>
    </item>
    <item>
      <title>Apologies for the back and</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168809#M3133</link>
      <description>&lt;P&gt;Apologies for the back and forth, but I'm still obviously not understanding your misunderstanding.&lt;/P&gt;&lt;P&gt;You, as the developer, have to decide &lt;EM&gt;ahead of enclave build time&lt;/EM&gt; who your RA SP will be.&amp;nbsp; Most (all?) enclave developers who use RA run their own SP service, and therefore coordinated the creation of&amp;nbsp;the SP key pair before they built their enclaves that use RA.&amp;nbsp; Even if you planned to use "SP as a service" from some other&amp;nbsp;entity, you would need to get their public key &lt;EM&gt;before &lt;/EM&gt;you built your enclave and statically compile it in such that it is measured/signed with the enclave and therefore cannot be changed.&lt;/P&gt;&lt;P&gt;Scott&lt;/P&gt;</description>
      <pubDate>Fri, 15 Mar 2019 11:32:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168809#M3133</guid>
      <dc:creator>Scott_R_Intel</dc:creator>
      <dc:date>2019-03-15T11:32:14Z</dc:date>
    </item>
    <item>
      <title>I am starting to learn to</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168810#M3134</link>
      <description>&lt;P&gt;I am starting to learn to figure out how SGX works and googling&amp;nbsp;def_service_public_key leads me here.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My question is, who is the entity that holds the private key associated with that particular public key, 0x72, 0x12, 0x8a, 0x7a ....&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it the Intel's production ra server, the test server, or nobody holds the private key and developers should replace the above mentioned public key accordingly. In another word, is that particular key just a placeholder, or is it something for real?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Another question I am more interested in is, can you show me the precise code spot where the enclave obtains its private key and then proceed to sign the report used for attestation? Is the code in the sgx driver, in application enclave code, or some where else? I need to find that spot of the code to understand the logical flow under the hood. Thanks.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 05 Jun 2019 18:55:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Remote-Attestation-SP-public-key/m-p/1168810#M3134</guid>
      <dc:creator>Mai__Anthony</dc:creator>
      <dc:date>2019-06-05T18:55:18Z</dc:date>
    </item>
  </channel>
</rss>

