<?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, in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085916#M701</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Selvaraj, Surenthar (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;SK (Signing Key/Symmetric Key)&lt;/LI&gt;
	&lt;LI&gt;MK (Master Key/Masking Key)&lt;/LI&gt;
	&lt;LI&gt;SMK (SIGMA protocol)&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;you explained what SK, MK and SMK stand for, but left out VK. What does VK mean?&lt;/P&gt;</description>
    <pubDate>Wed, 12 Apr 2017 11:18:57 GMT</pubDate>
    <dc:creator>Adrian_D_</dc:creator>
    <dc:date>2017-04-12T11:18:57Z</dc:date>
    <item>
      <title>Key Derivation - MK, SK, VK, SMK</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085912#M697</link>
      <description>&lt;P&gt;Hey,&lt;/P&gt;

&lt;P&gt;does anyone know what these multiple key in the RemoteAttestation SampelCode are used for?&lt;/P&gt;

&lt;P&gt;What does SK, VK, MK and SMK mean? Does SK stand for Storage-Key or Signing-Key? What are the use, cases for all of that 4 key-types? In dont find online any detailed information!&lt;/P&gt;

&lt;P&gt;Thanks!&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 02 Feb 2017 14:23:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085912#M697</guid>
      <dc:creator>Joe63</dc:creator>
      <dc:date>2017-02-02T14:23:53Z</dc:date>
    </item>
    <item>
      <title> Hi,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085913#M698</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 12px;"&gt;&amp;nbsp;Hi,&lt;/SPAN&gt;&lt;/P&gt;

&lt;UL style="font-size: 13.008px;"&gt;
	&lt;LI&gt;&lt;SPAN style="font-weight: 700;"&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;SK (Signing Key/Symmetric Key)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
	&lt;LI&gt;&lt;SPAN style="font-weight: 700;"&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;MK (Master Key/Masking Key)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
	&lt;LI&gt;&lt;SPAN style="font-weight: 700; font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 12px;"&gt;SMK (&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;SPAN style="font-weight: 700;"&gt;SIGMA protocol)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;
	&lt;LI&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;ISV can use the&amp;nbsp;&lt;/SPAN&gt;&lt;CODE style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 13px; line-height: 1.6em; color: rgb(102, 102, 102);"&gt;sgx_ra_init_ex&lt;/CODE&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;&amp;nbsp;API to provide a callback function to generate the remote attestation keys used in the SIGMA protocol (SMK) and returned by the API&amp;nbsp;&lt;/SPAN&gt;&lt;CODE style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 13px; line-height: 1.6em; color: rgb(102, 102, 102);"&gt;sgx_ra_get_keys&amp;nbsp;&lt;/CODE&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;(SK, MK, and VK).&amp;nbsp;&lt;/SPAN&gt;The decision to use a different KDF is a policy of the ISV, but it should be approved by the ISV’s security process.&amp;nbsp;&lt;/LI&gt;
	&lt;LI&gt;sgx_ ra_derive_secret_keys_t function takes the Diffie-Hellman shared secret as input to allow the ISV enclave to generate their own derived shared keys (SMK, SK, MK and VK).&lt;/LI&gt;
	&lt;LI&gt;Remote Attestation context was generated by sgx_ra_init, the returned &lt;STRONG&gt;SGX_RA_ KEY_MK, SGX_RA_KEY_SK&lt;/STRONG&gt; or &lt;STRONG&gt;SGX_RA_VK&lt;/STRONG&gt; is derived from the Diffie-Hellman shared secret elliptic curve field element between the service provider and the application enclave using the following Key Derivation Function (KDF):
		&lt;UL&gt;
			&lt;LI&gt;KDK = AES-CMAC(key0, gab x-coordinate)&lt;/LI&gt;
			&lt;LI&gt;SGX_RA_KEY_VK = AES-CMAC(KDK, 0x01||’VK’||0x00||0x80||0x00)&lt;/LI&gt;
			&lt;LI&gt;SGX_RA_KEY_MK = AES-CMAC(KDK, 0x01||’MK’||0x00||0x80||0x00)&lt;/LI&gt;
			&lt;LI&gt;SGX_RA_KEY_SK = AES-CMAC(KDK, 0x01||’SK’||0x00||0x80||0x00)&lt;/LI&gt;
		&lt;/UL&gt;
	&lt;/LI&gt;
	&lt;LI&gt;The key0 used in the key extraction operation is 16 bytes of 0x00. The plain text used in the Key derivation calculation is the Diffie-Hellman shared secret elliptic curve field element in Little Endian format.&lt;/LI&gt;
	&lt;LI&gt;The plain text used in each key calculation includes:
		&lt;UL&gt;
			&lt;LI&gt;a counter (0x01)&lt;/LI&gt;
			&lt;LI&gt;a label: the ASCII representation of one of the strings 'VK', 'MK' or 'SK' in Little Endian format&lt;/LI&gt;
			&lt;LI&gt;a bit length (0x80)&amp;nbsp;&lt;/LI&gt;
		&lt;/UL&gt;
	&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;-Surenthar&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2017 06:48:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085913#M698</guid>
      <dc:creator>Surenthar_S_Intel</dc:creator>
      <dc:date>2017-02-03T06:48:25Z</dc:date>
    </item>
    <item>
      <title>Okay thanks, for that</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085914#M699</link>
      <description>&lt;P&gt;Okay thanks, for that information.&lt;/P&gt;

&lt;P&gt;I have another question. I saw the RemoteAttestation example. If i wanna communicate over the secure communication channel (established in the Remot-Attestation process), should i therefor use the SK-Key to sign the data? The background is: i wanna communicate information after the result-message (sent from SP to Enclave), back from the enclave to the SP. The Enclave has received a so called secret from the SP (which is in the result message). As i see it the message was only to demonstrate, that i can protect information with the sk-key right? So if i wanna send a message back to the SP afterward, there are no advantages to put the secret in that message, right? My message has only a payload field and a MAC-field (mac over payload with sk-key). i dont wanna encrypt my payload but i wanna ensure i is from the enclave, so am i processing right?&lt;/P&gt;</description>
      <pubDate>Sat, 04 Feb 2017 11:31:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085914#M699</guid>
      <dc:creator>Joe63</dc:creator>
      <dc:date>2017-02-04T11:31:00Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085915#M700</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;Please refer the link for more info about remote attestation&amp;nbsp;&lt;A href="https://software.intel.com/en-us/articles/intel-software-guard-extensions-remote-attestation-end-to-end-example"&gt;https://software.intel.com/en-us/articles/intel-software-guard-extensions-remote-attestation-end-to-end-example&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;-Surenthar&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2017 11:22:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085915#M700</guid>
      <dc:creator>Surenthar_S_Intel</dc:creator>
      <dc:date>2017-02-06T11:22:36Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085916#M701</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Selvaraj, Surenthar (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;SK (Signing Key/Symmetric Key)&lt;/LI&gt;
	&lt;LI&gt;MK (Master Key/Masking Key)&lt;/LI&gt;
	&lt;LI&gt;SMK (SIGMA protocol)&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;you explained what SK, MK and SMK stand for, but left out VK. What does VK mean?&lt;/P&gt;</description>
      <pubDate>Wed, 12 Apr 2017 11:18:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085916#M701</guid>
      <dc:creator>Adrian_D_</dc:creator>
      <dc:date>2017-04-12T11:18:57Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085917#M702</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;VK: Verification key&lt;/LI&gt;
	&lt;LI&gt;&amp;nbsp;VK is derived &amp;nbsp;from the Diffie-Hellman shared secret elliptic curve field element between the service provider and &amp;nbsp;the application enclave.&lt;/LI&gt;
	&lt;LI&gt;VK &amp;nbsp;= AES-CMAC (0x00, gab &amp;nbsp;x coordinate|| 0x03)&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Wed, 12 Apr 2017 13:22:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Key-Derivation-MK-SK-VK-SMK/m-p/1085917#M702</guid>
      <dc:creator>Anusha_K_Intel</dc:creator>
      <dc:date>2017-04-12T13:22:35Z</dc:date>
    </item>
  </channel>
</rss>

