<?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 am not sure why you think in Intel® Software Guard Extensions (Intel® SGX)</title>
    <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177419#M3408</link>
    <description>&lt;P&gt;I am not sure why you think trusted time is only available in simulation - you can use it in actual HW mode too.&lt;/P&gt;

&lt;P&gt;Here's the Linux source for it:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://github.com/01org/linux-sgx/blob/1115c195cd60d5ab2b80c12d07e21663e5aa8030/sdk/tae_service/tae_service.cpp"&gt;https://github.com/01org/linux-sgx/blob/1115c195cd60d5ab2b80c12d07e21663e5aa8030/sdk/tae_service/tae_service.cpp&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;You'll need "trusted services" on your system &lt;SPAN style="color: rgb(85, 85, 85); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-weight: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;FONT face="Tahoma"&gt;(Management Engine SW)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 13 Sep 2017 03:27:06 GMT</pubDate>
    <dc:creator>Francisco_C_Intel</dc:creator>
    <dc:date>2017-09-13T03:27:06Z</dc:date>
    <item>
      <title>Timestamp Cycle Counter (TSC)</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177414#M3403</link>
      <description>&lt;P&gt;Hi All,&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I would like to ask about accessing the timestamp cycle counter (TSC) from an enclave.&lt;/P&gt;

&lt;P&gt;Is it going through the OS or Is it a direct access to the register hardware?.&lt;/P&gt;

&lt;P&gt;Is there any example code for using it?&lt;/P&gt;

&lt;P&gt;Regards&lt;/P&gt;

&lt;P&gt;Amr&lt;/P&gt;</description>
      <pubDate>Mon, 04 Sep 2017 19:32:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177414#M3403</guid>
      <dc:creator>Amr_A_</dc:creator>
      <dc:date>2017-09-04T19:32:28Z</dc:date>
    </item>
    <item>
      <title>Hello Amr,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177415#M3404</link>
      <description>&lt;P&gt;Hello&amp;nbsp;Amr,&lt;/P&gt;

&lt;P&gt;Here is an excerpt from the SGX manual on this question:&lt;/P&gt;

&lt;P&gt;RDTSC and RDTSCP are legal inside an enclave for processors that support SGX2 (subject to the value of CR4.TSD).&lt;BR /&gt;
	For processors which support SGX1 but not SGX2, RDTSC and RDTSCP will cause #UD.&lt;BR /&gt;
	RDTSC and RDTSCP instructions may cause a VM exit when inside an enclave.&lt;BR /&gt;
	Software developers must take into account that the RDTSC/RDTSCP results are not immune to influences by other&lt;BR /&gt;
	software, e.g. the TSC can be manipulated by software outside the enclave.&lt;/P&gt;

&lt;P&gt;Please refer to section of "39.6.1 Illegal Instructions" in the System Programming Guide at&lt;/P&gt;

&lt;P&gt;&lt;A href="https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3d-part-4-manual.pdf" target="_blank"&gt;https://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-3d-part-4-manual.pdf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;for more info.&lt;/P&gt;

&lt;P&gt;Thanks,&lt;/P&gt;

&lt;P&gt;Hoang&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Sep 2017 14:57:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177415#M3404</guid>
      <dc:creator>Hoang_N_Intel</dc:creator>
      <dc:date>2017-09-12T14:57:47Z</dc:date>
    </item>
    <item>
      <title>Hello Hoang,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177416#M3405</link>
      <description>&lt;P&gt;Hello Hoang,&lt;/P&gt;

&lt;P&gt;Thanks a lot for your reply. I wil take a careful look into that.&lt;/P&gt;

&lt;P&gt;Regards&lt;/P&gt;

&lt;P&gt;Amr&lt;/P&gt;</description>
      <pubDate>Tue, 12 Sep 2017 16:00:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177416#M3405</guid>
      <dc:creator>Amr_A_</dc:creator>
      <dc:date>2017-09-12T16:00:30Z</dc:date>
    </item>
    <item>
      <title>To add some more info:</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177417#M3406</link>
      <description>&lt;P&gt;To add some more info:&lt;/P&gt;

&lt;P&gt;If you want to call RDTSC, you'll need to create an OCALL and get that information (I don't believe there aren't any SGX2 processors in the market right now).&lt;/P&gt;

&lt;P&gt;Regardless of whether you are using an SGX1 system with an OCALL&amp;nbsp;or an&amp;nbsp;SGX2 system without an OCALL, remember (as Hoang points out) that&lt;/P&gt;

&lt;P&gt;"RDTSC/RDTSCP results are not immune to influences by other software, e.g. the TSC can be manipulated by software outside the enclave."&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Sep 2017 21:53:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177417#M3406</guid>
      <dc:creator>Francisco_C_Intel</dc:creator>
      <dc:date>2017-09-12T21:53:24Z</dc:date>
    </item>
    <item>
      <title>Hi Francisco</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177418#M3407</link>
      <description>&lt;P&gt;Hi Francisco&lt;/P&gt;

&lt;P&gt;Thanks for your reply. So, RSTSC is not trusted. and what I got also that &lt;SPAN style="color: rgb(83, 87, 94); font-family: Arial, 宋体, Tahoma, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;sgx_get_trusted_time API is only available during the simulation mode.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="color: rgb(83, 87, 94); font-family: Arial, 宋体, Tahoma, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;So is there any way of getting source sense of time within SGX?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="color: rgb(83, 87, 94); font-family: Arial, 宋体, Tahoma, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="color: rgb(83, 87, 94); font-family: Arial, 宋体, Tahoma, Helvetica, sans-serif; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;Amr&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Sep 2017 22:04:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177418#M3407</guid>
      <dc:creator>Amr_A_</dc:creator>
      <dc:date>2017-09-12T22:04:17Z</dc:date>
    </item>
    <item>
      <title>I am not sure why you think</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177419#M3408</link>
      <description>&lt;P&gt;I am not sure why you think trusted time is only available in simulation - you can use it in actual HW mode too.&lt;/P&gt;

&lt;P&gt;Here's the Linux source for it:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://github.com/01org/linux-sgx/blob/1115c195cd60d5ab2b80c12d07e21663e5aa8030/sdk/tae_service/tae_service.cpp"&gt;https://github.com/01org/linux-sgx/blob/1115c195cd60d5ab2b80c12d07e21663e5aa8030/sdk/tae_service/tae_service.cpp&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;You'll need "trusted services" on your system &lt;SPAN style="color: rgb(85, 85, 85); text-transform: none; text-indent: 0px; letter-spacing: normal; font-family: intel-clear, tahoma, Helvetica, helvetica, Arial, sans-serif; font-size: 14px; font-style: normal; font-weight: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; orphans: 2; widows: 2; background-color: rgb(255, 255, 255); font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;"&gt;&lt;FONT face="Tahoma"&gt;(Management Engine SW)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 03:27:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177419#M3408</guid>
      <dc:creator>Francisco_C_Intel</dc:creator>
      <dc:date>2017-09-13T03:27:06Z</dc:date>
    </item>
    <item>
      <title>Hi Francisco,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177420#M3409</link>
      <description>&lt;P&gt;Hi Francisco,&lt;/P&gt;

&lt;P&gt;First of all, I really can't thank you enough. Your replies are extremely helpful for me.&lt;/P&gt;

&lt;P&gt;The Developer reference manual in 2016 states that "sgx_get_trusted_time" &lt;STRONG&gt;API is only available in the simulation mode&lt;/STRONG&gt;. However, I see that they removed this comment in 2017 version !!. So you are right, It could be used in Hardware. Also, as a verification, I tried the &lt;A href="https://github.com/01org/linux-sgx/tree/0356eb6249ed93510ca66f057a5ae74dda7b10a2/SampleCode/SealedData"&gt;SealedData &lt;/A&gt;example in hardware mode, as it has this API, and it looks working fine for me.&lt;/P&gt;

&lt;P&gt;However, I see that this API is only useful in getting the relative trusted time between two calls as long as the returned nonces are constant, otherwise, it is not useful. So I do not think it gives a secure system time (Linux time), It is only helpful in getting a relative trusted time between two calls. This is what I got until now. Is that right?&lt;/P&gt;

&lt;P&gt;Also, I tried very hard to look into the idea behind it. How can they guarantee such secure feature? Is there a dedicated hw timer or what? Do you have any idea?&lt;/P&gt;

&lt;P&gt;Thanks again for your great support.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 05:26:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177420#M3409</guid>
      <dc:creator>Amr_A_</dc:creator>
      <dc:date>2017-09-13T05:26:32Z</dc:date>
    </item>
    <item>
      <title>I am having a hard time</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177421#M3410</link>
      <description>&lt;P&gt;I am having a hard time finding external documentation for the details on this. It uses the PSDA service:&lt;/P&gt;

&lt;P&gt;&lt;A href="https://github.com/01org/linux-sgx/tree/1115c195cd60d5ab2b80c12d07e21663e5aa8030/psw/ae/pse/pse_op"&gt;https://github.com/01org/linux-sgx/tree/1115c195cd60d5ab2b80c12d07e21663e5aa8030/psw/ae/pse/pse_op&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;I don't think you can trust the Linux time. Is there a specific reason you need to know Linux time as opposed to time since you last called "get secure time"?&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 20:25:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177421#M3410</guid>
      <dc:creator>Francisco_C_Intel</dc:creator>
      <dc:date>2017-09-13T20:25:20Z</dc:date>
    </item>
    <item>
      <title>Thanks a lot Francisco for</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177422#M3411</link>
      <description>&lt;P&gt;Thanks a lot Francisco for your time and support. What I got that sgx_get_trusted_time&amp;nbsp; is only useful in getting relative time. For example, if we want to get the Execution_time of "some code", we will do the following:&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;(Time1 , nonce1 ) = sgx_get_trusted_time().
// some code goes here
(Time2 , nonce2 ) = sgx_get_trusted_time().

if( nonce1 == nonce2)
Execution_time = Time2 - Time1
else
//no trusted execution time can be obtained&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;So as you see, It does not give us like UTC time or any global time. We need to build application that has trusted notion of global Time like UTC which can be the linux time. My questions can be summarized in the following:&lt;/P&gt;

&lt;P&gt;1- Do you suggest something to do to get more information on how they made sgx_get_trusted_time ? I can't find anything useful too:(.&lt;/P&gt;

&lt;P&gt;2.Also, Do you have on mind an idea on how we can get Trusted UTC time?&lt;/P&gt;

&lt;P&gt;Thanks again&lt;/P&gt;

&lt;P&gt;Amr&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Sep 2017 20:52:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177422#M3411</guid>
      <dc:creator>Amr_A_</dc:creator>
      <dc:date>2017-09-13T20:52:09Z</dc:date>
    </item>
    <item>
      <title>1. Recently posted - https:/</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177423#M3412</link>
      <description>&lt;P&gt;1. Recently posted&amp;nbsp;- &lt;A href="https://community.intel.com/legacyfs/online/drupal_files/managed/1b/a2/Intel-SGX-Platform-Services.pdf"&gt;https://software.intel.com/sites/default/files/managed/1b/a2/Intel-SGX-Platform-Services.pdf&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;2. I think you may need to go out to the network (or to the system)&amp;nbsp;via a (trusted) secure channel or something like that. You really can't get the time from the system directly, since by design the system isn't trusted.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 17:46:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177423#M3412</guid>
      <dc:creator>Francisco_C_Intel</dc:creator>
      <dc:date>2017-09-26T17:46:18Z</dc:date>
    </item>
    <item>
      <title>Hi Francisco,</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177424#M3413</link>
      <description>&lt;P&gt;Hi Francisco,&lt;/P&gt;

&lt;P&gt;Thanks a lot for your reply and support&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 17:49:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177424#M3413</guid>
      <dc:creator>Amr_A_</dc:creator>
      <dc:date>2017-09-26T17:49:04Z</dc:date>
    </item>
    <item>
      <title>I recently figured out that</title>
      <link>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177425#M3414</link>
      <description>&lt;P style="box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px;"&gt;I recently figured out that in the sgx_get_trusted_time API execution flow which is,&lt;/P&gt;

&lt;P style="box-sizing: border-box; margin-bottom: 16px; color: rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px;"&gt;App Enclave &amp;lt;-&amp;gt;AESM(untrusted)&amp;lt;-&amp;gt; PSE enclave(trusted) &amp;lt;-&amp;gt; AESM &amp;lt;-&amp;gt;CSE/ME(trusted)&lt;/P&gt;

&lt;P style="box-sizing: border-box; color: rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 14px; margin-bottom: 0px !important;"&gt;even if all the data is encrypted, there is a chance that a malicious Operating System can delay the packet through the IPC communication between App Enclave and AESM. If a packet can be delayed, then the encrypted time value inside the packet will no longer make sense. So my question is, Is it possible for an OS to delay the packet between AESM and App enclave? If yes, then sgx_get_trusted_time can no longer be trusted. Kindly correct me if I am wrong?&lt;/P&gt;</description>
      <pubDate>Tue, 19 Dec 2017 18:49:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Software-Guard-Extensions/Timestamp-Cycle-Counter-TSC/m-p/1177425#M3414</guid>
      <dc:creator>Fatima_A_</dc:creator>
      <dc:date>2017-12-19T18:49:50Z</dc:date>
    </item>
  </channel>
</rss>

