Intel® Software Guard Extensions (Intel® SGX)
Discussion board focused on hardware-based isolation and memory encryption to provide extended code protection in solutions.

Quote information

dankoetfman
Novice
1,033 Views

Hi,

 

I have a couple question regarding the quote that is generated when performing remote attestation.

 

Let's say we have a third party that will send us some blob of data. The third party will send my application the data if the remote attestation is successful. 

 

What happens if I perform another remote attestation (generation of a quote) to another relaying party after my application has received the data blob (data blob from the third party), will the MRENCLAVE change? The enclave is not the same as it was at the start. Will the MRENCLAVE change if my application allocates more memory inside the enclave during run time?

 

By reading the documentation the MRENCALVE will stay the same, it will not change, because it was formed when the enclave was loaded. I just want to check if I have missed something.

 

If this is true, how does the third party know if there is some other data or some other binary in the enclave, when it is trying to verify the quote?

 

Best regards,
Danko

Labels (2)
0 Kudos
1 Solution
KFPW_Intel
Moderator
958 Views

Hi Danko,

 

There will be no more updates are made to MRENCLAVE once the enclave initialization is completed.

 

However, if you mentioned the contents of the pages (including more data from other "application"), the changes of the variables would lead to a different value of MRENCLAVE as mentioned in previous post.

 

Hope that the information that I provided is useful for you. Thank you.

 

Regards,

Ken

 

View solution in original post

0 Kudos
5 Replies
KFPW_Intel
Moderator
1,016 Views

Hi Danko,

 

Thank you for your interest in Intel® SGX.

 

We would like to understand your use cases. Assume that there is a third party is sending data as shown in figure below (Application A and Application B), do you mean there is another "Application C"/ "claims aware applications" sending data to Application B?

 

KFPW_Intel_0-1677548631708.jpeg

 

 

Yes, different builds/versions of an enclave will result in a different MRENCLAVE value. Any change to any of these variables below would lead to a different value in MRENCLAVE.

 

  • The contents of the pages (code, data, stack, heap).
  • The relative position of the pages in the enclave.
  • Any security flags associated with the pages.

 

For your information, once enclave initialization is complete, through the EINIT instruction, no more updates are made to MRENCLAVE as mentioned in this reference.

 

Hope that the information that I provided is useful for you. Please inform us if you have any questions.

Thank you.

 

Regards,

Ken

 

0 Kudos
dankoetfman
Novice
985 Views

Hi Ken,

 

Thank you for your answer.

 

Yes, my question was not really precise.

 

Your description is essentially my question. What if there is an Application C that has already sent information/data to Application A and that data is stored in the enclave of Application A. After that Application B wants to communicate with Application A (let's say Application B also wants to send data to Application A). Then Application A and Application B will engage in remote or local attestation (it depends where the applications are, but that is not important right now). My question was will the MRENCLAVE of Application A change because it now has data from the Application C.  If I understood your answer correctly and from reading the documentation, MRENCLAVE will not change.

 

Is there a way for a remote party to be sure that no information/data or something else is in the enclave from the remote attestation (quote)?

 

Again, sorry If I misunderstood the documentation or your answer.

 

Best regards,
Danko

0 Kudos
KFPW_Intel
Moderator
959 Views

Hi Danko,

 

There will be no more updates are made to MRENCLAVE once the enclave initialization is completed.

 

However, if you mentioned the contents of the pages (including more data from other "application"), the changes of the variables would lead to a different value of MRENCLAVE as mentioned in previous post.

 

Hope that the information that I provided is useful for you. Thank you.

 

Regards,

Ken

 

0 Kudos
dankoetfman
Novice
941 Views

Hi Ken,

 

Thank you. 

 

Yes, so the Quote of the enclave will not change during run time. I just wanted to confirm that.

 

Best regards,
Danko

0 Kudos
KFPW_Intel
Moderator
926 Views

Hi Danko,

 

Thank you for the accepted solution. Hope the information I provided was helpful to you.

 

This thread has been marked as answered and Intel will no longer monitor this thread. If you want a response from Intel

in a follow-up question, please open a new thread.

 

Regards,

Ken


0 Kudos
Reply