<?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 I see Local Attestation is in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151654#M2585</link>
    <description>&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;I see Local Attestation is only for two enclave in one SGX. I am wondering if someone already built a secure channel between&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px;"&gt;two SGX and how?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&amp;nbsp;Appreciate any help!&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 05 Jul 2018 02:44:49 GMT</pubDate>
    <dc:creator>Wu__Cheney</dc:creator>
    <dc:date>2018-07-05T02:44:49Z</dc:date>
    <item>
      <title>Is distributed IAS possible in the future?</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151653#M2584</link>
      <description>&lt;DIV class="clear: both" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;Hi there,&lt;/DIV&gt;

&lt;DIV class="clear: both" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV class="clear: both" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;I am currently working on a project trying to leverage the Intel SGX. M&lt;SPAN style="margin: 0px; padding: 0px; border: 0px; outline: 0px;"&gt;&lt;SPAN style="margin: 0px; padding: 0px; border: 0px; outline: 0px;"&gt;y&lt;/SPAN&gt;&amp;nbsp;only concern is the&amp;nbsp;Remote&amp;nbsp;Attestation service has to contact to Intel's centralized IAS. It really makes us concern about our customers' privacy and our services are totally dependent on Intel side. I am wondering if some kind of distributed IASs are possible in the future? Is it possible that my company can hold an IAS-like service to verify the hardware ourself? I guess most of you have &lt;/SPAN&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;already&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="margin: 0px; padding: 0px; border: 0px; outline: 0px;"&gt;thought about that. Hope someone could give me more details here.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;

&lt;DIV class="clear: both" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV class="clear: both" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;I would appreciate any help!&lt;/DIV&gt;

&lt;DIV class="clear: both" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;&amp;nbsp;&lt;/DIV&gt;

&lt;DIV class="clear: both" style="margin: 0px; padding: 0px; border: 0px; outline: 0px; color: rgb(0, 0, 0); font-family: Tahoma, Arial, STHeiti, SimSun; font-size: 14px;"&gt;Regards&lt;/DIV&gt;

&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Thu, 05 Jul 2018 02:34:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151653#M2584</guid>
      <dc:creator>Wu__Cheney</dc:creator>
      <dc:date>2018-07-05T02:34:16Z</dc:date>
    </item>
    <item>
      <title>I see Local Attestation is</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151654#M2585</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 13.008px;"&gt;I see Local Attestation is only for two enclave in one SGX. I am wondering if someone already built a secure channel between&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px;"&gt;two SGX and how?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&amp;nbsp;Appreciate any help!&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Jul 2018 02:44:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151654#M2585</guid>
      <dc:creator>Wu__Cheney</dc:creator>
      <dc:date>2018-07-05T02:44:49Z</dc:date>
    </item>
    <item>
      <title>If you read through the</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151655#M2586</link>
      <description>&lt;P&gt;If you read through the Remote Attestation documentation that was updated in 2016&amp;nbsp;https://software.intel.com/sites/default/files/managed/57/0e/ww10-2016-sgx-provisioning-and-attestation-final.pdf you will see that the process uses EPID (Enhanced Privacy ID) which only identifies that the device is in a group of many devices, but cannot uniquely identify the device.&amp;nbsp; In other words, if a system performed remote attestation 10 times, Intel sees 10 unique remote attestation sessions, and since these sessions go through a service provider, not directly to Intel, even the IP address of the device is unknown to Intel.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;The same document also identifies all the information received by Intel, all of which support the detection of the SGX subsystem being up to date or not.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;There is a bit more complexity around linkable quotes, and the paper explains it nicely.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 06 Jul 2018 01:05:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151655#M2586</guid>
      <dc:creator>ChrisMcConnell</dc:creator>
      <dc:date>2018-07-06T01:05:14Z</dc:date>
    </item>
    <item>
      <title>Good morning, I hope the week</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151656#M2587</link>
      <description>&lt;P&gt;Good morning, I hope the week has gone well for everyone.&lt;/P&gt;

&lt;P&gt;This thread caught our eye when it originally went past and we were&lt;BR /&gt;
	meaning to comment on it, given the importance of the issues involved.&lt;BR /&gt;
	Unfortunately, development deadlines precluded us from responding but&lt;BR /&gt;
	we now have a few spare cycles and thought these issues were important&lt;BR /&gt;
	enough to resurrect and in the process take a whack at the 'Best&lt;BR /&gt;
	Reply' moniker... :-)&lt;/P&gt;

&lt;P&gt;With respect to Wu's second message above regarding developing a&lt;BR /&gt;
	secure channel between two SGX enclaves.&amp;nbsp; We were actually completing&lt;BR /&gt;
	development of our POSSUM protocol at the time the post was authored.&lt;BR /&gt;
	POSSUM is designed to implement direct secure enclave&amp;lt;-&amp;gt;enclave&lt;BR /&gt;
	communication with no intermediaries.&lt;/P&gt;

&lt;P&gt;By direct, we mean the participating enclaves implement all of the&lt;BR /&gt;
	quote generation and verification steps needed to interact with Intel&lt;BR /&gt;
	Attestation Services (IAS) without using a Service Provider (SP)&lt;BR /&gt;
	intermediary.&amp;nbsp; The enclaves implement OCALL's to request the&lt;BR /&gt;
	generation of the platform quote for transmission to the communication&lt;BR /&gt;
	counter-party since, obviously, an enclave cannot execute an enclave.&lt;/P&gt;

&lt;P&gt;The secured communications conduit is about as self-contained and&lt;BR /&gt;
	independent as can be designed.&amp;nbsp; So what Wu asks about is certainly&lt;BR /&gt;
	doable.&lt;/P&gt;

&lt;P&gt;We also ended up designing an independent implementation of the EPID&lt;BR /&gt;
	provisioning process which gave us some interesting background&lt;BR /&gt;
	experience, which we thought was relevant with respect to&lt;BR /&gt;
	Christopher's reply regarding the privacy guarantees of SGX&lt;BR /&gt;
	attestation.&lt;/P&gt;

&lt;P&gt;Ernie Brickell did a masterful job with designing the security and&lt;BR /&gt;
	anonymity guarantees that Enhanced Privacy ID (EPID) technology&lt;BR /&gt;
	enjoys.&amp;nbsp; It is, however, one element of a complex eco-system of&lt;BR /&gt;
	cryptography and protocols that make up the SGX architecture in its&lt;BR /&gt;
	totality.&lt;/P&gt;

&lt;P&gt;Christopher comments that the IP address of a device requesting quote&lt;BR /&gt;
	verification isn't known, since the request transits through a Service&lt;BR /&gt;
	Provider (SP).&amp;nbsp; Obviously this is not the case in our architecture,&lt;BR /&gt;
	since the devices themselves implement the IAS transactions.&amp;nbsp; In&lt;BR /&gt;
	addition there are potential issues with adversarial SP's that privacy&lt;BR /&gt;
	papers have already been authored on.&lt;/P&gt;

&lt;P&gt;So ultimately, from a privacy perspective, the issue comes down to&lt;BR /&gt;
	whether or not Intel is able to reliably link the EPID secret key,&lt;BR /&gt;
	provisioned to an SGX capable platform, to a physical processor and by&lt;BR /&gt;
	extension the surrounding platform.&amp;nbsp; As noted above, this is not as&lt;BR /&gt;
	simple as suggesting that a private EPID key only identifies a device&lt;BR /&gt;
	within a cohort of devices in a group.&lt;/P&gt;

&lt;P&gt;The linkage of a platform to a private key is secondary to the EPID&lt;BR /&gt;
	provisioning process that is triggered inside of the AESM the first&lt;BR /&gt;
	time a remote attestation request is received.&amp;nbsp; On a 'virgin'&lt;BR /&gt;
	platform, this involves a four step protocol that internally&lt;BR /&gt;
	implements the EPID 'join' protocol that generates a private key&lt;BR /&gt;
	paired against the group public key of the processor family.&lt;/P&gt;

&lt;P&gt;Of interest is that the fact that Intel is able to detect previously&lt;BR /&gt;
	provisioned platforms and 'short-circuit' the provisioning process&lt;BR /&gt;
	after step 2 is complete.&amp;nbsp; In this case the message reply from step 2&lt;BR /&gt;
	can be fed to the step 4 completion process that extracts the member&lt;BR /&gt;
	credential from the message and seals it to the current platform TCB.&lt;/P&gt;

&lt;P&gt;All of this is implemented as part of a 'key escrow' program by Intel&lt;BR /&gt;
	in order to avoid generating a new private key pairing if a previously&lt;BR /&gt;
	provisioned and sealed EPID blob has been lost.&amp;nbsp; This of course&lt;BR /&gt;
	engenders the operative question of how does Intel 'know' which key&lt;BR /&gt;
	belongs to which platform.&lt;/P&gt;

&lt;P&gt;To accomplish this the initial step in the platform provisioning&lt;BR /&gt;
	process is to implement an 'Endpoint Selection' (ES) procedure that&lt;BR /&gt;
	generates a Platform Provisioning ID (PPID) that uniquely identifies&lt;BR /&gt;
	the platform or more specifically the processor die that generates it.&lt;BR /&gt;
	This process takes advantage of the unique Provisioning Key (PK) that&lt;BR /&gt;
	is fused into the processor die when it is manufactured.&lt;/P&gt;

&lt;P&gt;The ES procedure is implemented by the Platform Certification Enclave&lt;BR /&gt;
	(PCE) which is one of the prebuilt enclaves supplied by Intel.&amp;nbsp; It and&lt;BR /&gt;
	the ProVisioning Enclave (PVE) have access to the PK by virtue of&lt;BR /&gt;
	having the SGX_FLAGS_PROVISION_KEY bit set in their attributes flag.&lt;/P&gt;

&lt;P&gt;The PPID is created by using a 'null' derivation of the PK.&amp;nbsp; This is&lt;BR /&gt;
	done by setting both the CPU and ENCLAVE security versions (SVN's) to&lt;BR /&gt;
	null in the key derivation request structure.&amp;nbsp; Since the provisioning&lt;BR /&gt;
	key derivation process is not dependent on the platform owner epoch&lt;BR /&gt;
	key this results in a key that will be unique and invariant over the&lt;BR /&gt;
	lifetime of the processor.&lt;/P&gt;

&lt;P&gt;The actual PPID is created by using this processor invariant key to&lt;BR /&gt;
	generate an AES128_CMAC based message authentication code over an&lt;BR /&gt;
	input block of sixteen null bytes, ie:&lt;/P&gt;

&lt;P&gt;PPID = AES128_CMAC&lt;SUB&gt;pk&lt;/SUB&gt;(0{16})&lt;/P&gt;

&lt;P&gt;This effectively cloaks the value of the key but retains the&lt;BR /&gt;
	characteristic of having a unique 128 bit identification key for the&lt;BR /&gt;
	lifetime of the processor.&lt;/P&gt;

&lt;P&gt;As noted above Intel implements a key escrow service for protecting a&lt;BR /&gt;
	platform's private member group credential (private key).&amp;nbsp; The provisioning&lt;BR /&gt;
	enclave encrypts the join request proof elements using a derived&lt;BR /&gt;
	PROVISION_SEAL key and returns that material to the Intel provisioning&lt;BR /&gt;
	service.&amp;nbsp; It would be a reasonable assumption that the PPID would be&lt;BR /&gt;
	used as the database index key for the escrowed material.&lt;/P&gt;

&lt;P&gt;It is important to note that the PROVISION_SEAL key is derived from&lt;BR /&gt;
	the platform unique root seal key that is fused into the processor at&lt;BR /&gt;
	the time of manufacture and which Intel has no visibility to.&amp;nbsp; This&lt;BR /&gt;
	results in the tenable assertion that Intel has no access to the&lt;BR /&gt;
	platform's key and by extension an inability to determine which&lt;BR /&gt;
	platform is generating an attestation quote.&lt;/P&gt;

&lt;P&gt;There is one additional level of security that may be imposed on this&lt;BR /&gt;
	process and that is the notion of whether or not Intel is implementing&lt;BR /&gt;
	a 'blinded' join process in the EPID issuance code.&amp;nbsp; The Intel SGX SDK&lt;BR /&gt;
	includes a copy of their open-source implementation of the member and&lt;BR /&gt;
	verifier portions of the EPID code but the issuer code is not&lt;BR /&gt;
	currently available in any form.&lt;/P&gt;

&lt;P&gt;For those following along at home the canonical reference for how EPID&lt;BR /&gt;
	works is Brickell and Li's reference paper:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://eprint.iacr.org/2009/095.pdf" target="_blank"&gt;https://eprint.iacr.org/2009/095.pdf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;That paper does not contain the word 'blind' but in a presentation to&lt;BR /&gt;
	NIST by Brickell and Li that is summarized in the following slides:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://csrc.nist.gov/csrc/media/events/meeting-on-privacy-enhancing-cryptography/documents/brickell.pdf" target="_blank"&gt;https://csrc.nist.gov/csrc/media/events/meeting-on-privacy-enhancing-cryptography/documents/brickell.pdf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Page six makes reference to the fact that; 'EPID key issuing can be&lt;BR /&gt;
	blinded'.&amp;nbsp; It would be helpful if there was a cryptographic summary available which discussed the computational&lt;BR /&gt;
	barriers that are implemented in the blinding process to disclosure of&lt;BR /&gt;
	sensitive material.&lt;/P&gt;

&lt;P&gt;Intel accedes to the notion of the sensitivity of the join process in&lt;BR /&gt;
	their document discussing EPID provisioning and attestation services&lt;BR /&gt;
	which is available at the following URL:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/sites/default/files/managed/57/0e/ww10-2016-sgx-provisioning-and-attestation-final.pdf" target="_blank"&gt;https://software.intel.com/sites/default/files/managed/57/0e/ww10-2016-sgx-provisioning-and-attestation-final.pdf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Section 4.4.4 on page 8 describes provisioning step 4 that implements&lt;BR /&gt;
	the blind join and key certification process with the following:&lt;/P&gt;

&lt;P&gt;"As these operations are very security sensitive, the processing takes&lt;BR /&gt;
	place inside a secure environment".&lt;/P&gt;

&lt;P&gt;Given this, the availability of a cryptographic description of the&lt;BR /&gt;
	blinding process would be positive with respect to assisting SGX&lt;BR /&gt;
	architects in their evaluation of the overall security and privacy&lt;BR /&gt;
	posture of the SGX EPID architecture.&lt;/P&gt;

&lt;P&gt;As was noted at the outset, privacy is a complex subject, particularly&lt;BR /&gt;
	in the face of a persistent and unique indexing element.&amp;nbsp; Hopefully&lt;BR /&gt;
	the above summary is helpful with respect to assisting the community&lt;BR /&gt;
	in understanding and evaluating the architectural elements they are&lt;BR /&gt;
	working with.&lt;/P&gt;

&lt;P&gt;In closing, the above analysis suggests a positive response to Wu's&lt;BR /&gt;
	first question on whether or not an IAS-like service can be built.&amp;nbsp; If&lt;BR /&gt;
	there is interest we can provide additional dialog on how this could&lt;BR /&gt;
	be possibly implemented.&lt;/P&gt;

&lt;P&gt;Best wishes for a pleasant weekend to everyone.&lt;/P&gt;

&lt;P&gt;Dr. Greg&lt;/P&gt;</description>
      <pubDate>Fri, 26 Oct 2018 09:39:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151656#M2587</guid>
      <dc:creator>Dr__Greg</dc:creator>
      <dc:date>2018-10-26T09:39:52Z</dc:date>
    </item>
    <item>
      <title>Dr. Greg, et al.</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151657#M2588</link>
      <description>&lt;P&gt;Dr. Greg, et al.&lt;/P&gt;&lt;P&gt;I made a note of a few attestation questions posted on the forums in the past so I could come back to them at the right time...&lt;/P&gt;&lt;P&gt;I just wanted to make you all aware of some new 3rd party attestation primitives that were recently announced and released, in case you hadn't already seen them.&amp;nbsp; Our new Data Center Attestation Primitives (DCAP) help large enterprises and service providers provide a way to build out their own attestation capabilities.&lt;/P&gt;&lt;P&gt;A new whitepaper was just recently published with info and lots of links on DCAP:&lt;/P&gt;&lt;P&gt;&lt;A href="https://software.intel.com/en-us/blogs/2018/12/09/an-update-on-3rd-party-attestation" target="_blank"&gt;https://software.intel.com/en-us/blogs/2018/12/09/an-update-on-3rd-party-attestation&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;&lt;P&gt;Scott&lt;/P&gt;</description>
      <pubDate>Wed, 12 Dec 2018 19:19:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Is-distributed-IAS-possible-in-the-future/m-p/1151657#M2588</guid>
      <dc:creator>Scott_R_Intel</dc:creator>
      <dc:date>2018-12-12T19:19:04Z</dc:date>
    </item>
  </channel>
</rss>

