<?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 Memory Encryption in debug enclaves in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Memory-Encryption-in-debug-enclaves/m-p/1118410#M1474</link>
    <description>&lt;P&gt;The Linux SDK manual says (in documenting the function &lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;;color:rgb(51,51,51)"&gt;sgx_create_enclave ):&lt;/SPAN&gt;&lt;BR /&gt;
	"""&lt;/P&gt;

&lt;DIV class="m_-6602495546985626557gmail-page" title="Page 93"&gt;
	&lt;DIV class="m_-6602495546985626557gmail-section" style="background-color:rgb(255,255,255)"&gt;
		&lt;DIV class="m_-6602495546985626557gmail-layoutArea"&gt;
			&lt;DIV class="m_-6602495546985626557gmail-column"&gt;
				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;;color:rgb(51,51,51)"&gt;debug [in] &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;

				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;The valid value is 0 or 1. &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;

				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;0 indicates to create the enclave in non-debug mode. An enclave created in non-debug mode cannot be debugged. &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;

				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;1 indicates to create the enclave in debug mode. &lt;B&gt;The code/data memory inside an enclave created in debug mode is accessible by the debugger or other software outside of the enclave&lt;/B&gt; and thus is &lt;/SPAN&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;;color:rgb(51,51,51)"&gt;not &lt;/SPAN&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;under the same memory access protections as an enclave created in non-debug mode. &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
			&lt;/DIV&gt;
		&lt;/DIV&gt;
	&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;P&gt;"""&lt;BR /&gt;
	&lt;BR /&gt;
	Does that mean that debug enclaves do not make use of the MEE (memory encryption engine)?&lt;BR /&gt;
	I noticed that if I try to access Enclave memory form the un-trusted code I get abort-page behavior, i.e., I get 0xFFFFFFFF. I assume that means the memory is inside the EPC (Enclave page cache). Is that correct?&lt;/P&gt;

&lt;P&gt;Is the entire EPC encrypted, or just non-debug enclaves?&lt;/P&gt;

&lt;P&gt;Ofir&lt;/P&gt;</description>
    <pubDate>Tue, 18 Oct 2016 14:23:16 GMT</pubDate>
    <dc:creator>Ofir_W_</dc:creator>
    <dc:date>2016-10-18T14:23:16Z</dc:date>
    <item>
      <title>Memory Encryption in debug enclaves</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Memory-Encryption-in-debug-enclaves/m-p/1118410#M1474</link>
      <description>&lt;P&gt;The Linux SDK manual says (in documenting the function &lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;;color:rgb(51,51,51)"&gt;sgx_create_enclave ):&lt;/SPAN&gt;&lt;BR /&gt;
	"""&lt;/P&gt;

&lt;DIV class="m_-6602495546985626557gmail-page" title="Page 93"&gt;
	&lt;DIV class="m_-6602495546985626557gmail-section" style="background-color:rgb(255,255,255)"&gt;
		&lt;DIV class="m_-6602495546985626557gmail-layoutArea"&gt;
			&lt;DIV class="m_-6602495546985626557gmail-column"&gt;
				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;;color:rgb(51,51,51)"&gt;debug [in] &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;

				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;The valid value is 0 or 1. &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;

				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;0 indicates to create the enclave in non-debug mode. An enclave created in non-debug mode cannot be debugged. &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;

				&lt;P&gt;&lt;I&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;1 indicates to create the enclave in debug mode. &lt;B&gt;The code/data memory inside an enclave created in debug mode is accessible by the debugger or other software outside of the enclave&lt;/B&gt; and thus is &lt;/SPAN&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;;color:rgb(51,51,51)"&gt;not &lt;/SPAN&gt;&lt;SPAN style="font-size:12pt;font-family:&amp;quot;font000000001da691ef&amp;quot;"&gt;under the same memory access protections as an enclave created in non-debug mode. &lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
			&lt;/DIV&gt;
		&lt;/DIV&gt;
	&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;P&gt;"""&lt;BR /&gt;
	&lt;BR /&gt;
	Does that mean that debug enclaves do not make use of the MEE (memory encryption engine)?&lt;BR /&gt;
	I noticed that if I try to access Enclave memory form the un-trusted code I get abort-page behavior, i.e., I get 0xFFFFFFFF. I assume that means the memory is inside the EPC (Enclave page cache). Is that correct?&lt;/P&gt;

&lt;P&gt;Is the entire EPC encrypted, or just non-debug enclaves?&lt;/P&gt;

&lt;P&gt;Ofir&lt;/P&gt;</description>
      <pubDate>Tue, 18 Oct 2016 14:23:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Memory-Encryption-in-debug-enclaves/m-p/1118410#M1474</guid>
      <dc:creator>Ofir_W_</dc:creator>
      <dc:date>2016-10-18T14:23:16Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Memory-Encryption-in-debug-enclaves/m-p/1118411#M1475</link>
      <description>&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; vertical-align: baseline; color: rgb(0, 0, 0);"&gt;Hi,&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; vertical-align: baseline; color: rgb(0, 0, 0);"&gt;There is only one key in the MEE and it is used for all memory locations whether it is used for a debug or production enclave.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; vertical-align: baseline; color: rgb(0, 0, 0);"&gt;This is because the MEE does not as a first level defence prevent access to memory from SW. There are other changes to the hardware that make access control checks when a memory access occurs. It is these access control checks which are disabled when the debug bit is set and the EDBGRD/EDBGWR instructions are used.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, &amp;quot;Lucida Grande&amp;quot;, sans-serif; vertical-align: baseline; color: rgb(0, 0, 0);"&gt;-Surenthar&lt;/P&gt;</description>
      <pubDate>Thu, 20 Oct 2016 05:58:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Memory-Encryption-in-debug-enclaves/m-p/1118411#M1475</guid>
      <dc:creator>Surenthar_S_Intel</dc:creator>
      <dc:date>2016-10-20T05:58:31Z</dc:date>
    </item>
  </channel>
</rss>

