- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to ask something about sealing. If you seal your data using MRENCLAVE and as Intel states "anyone can load your enclave", how can you prevent that attacker load your enclave and unseal your data?
Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Alvaro,
You are correct. This is why you have to implement a policy for checking a shared secret between the untrusted application and the enclave before the enclave returns the unsealed data.
Enclaves do not trust the application that loads them, that is why those applications are called "unstrusted."
One way to do this is to create a payload structure that includes a secret and the data. When unsealing the payload, the untrusted application has to provide the enclave the secret that was originally sealed with the data. The enclave compares the provided secret to the original secret that it sealed. If they match, the enclave returns the data to the untrusted application.
Refer to http://www.sgx101.com/portfolio/password_wallet/ for an example of how to seal a user's password and the wallet together. Before returning the unsealed data, the enclave checks that the password provided by the untrusted application matches the unsealed password.
Sincerely,
Jesus G.
Intel Customer Support
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Alvaro,
You are correct. This is why you have to implement a policy for checking a shared secret between the untrusted application and the enclave before the enclave returns the unsealed data.
Enclaves do not trust the application that loads them, that is why those applications are called "unstrusted."
One way to do this is to create a payload structure that includes a secret and the data. When unsealing the payload, the untrusted application has to provide the enclave the secret that was originally sealed with the data. The enclave compares the provided secret to the original secret that it sealed. If they match, the enclave returns the data to the untrusted application.
Refer to http://www.sgx101.com/portfolio/password_wallet/ for an example of how to seal a user's password and the wallet together. Before returning the unsealed data, the enclave checks that the password provided by the untrusted application matches the unsealed password.
Sincerely,
Jesus G.
Intel Customer Support
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page