4

I was in a workshop about privacy recently and at some point, a passionate debate started about Intel's Software Guard Extensions (SGX). Although I have a security background (Master in Information Security), I find it very difficult to understand exactly how SGX works. But I understand that it is an alternative to homomorphic encryption, since it can process data securely way faster than homomorphic encryption does.

At that workshop some people made the argument that there are no guarantees about privacy when it comes to SGX and that, by using SGX, you basically have to consider Intel a trusted third party.

My question is: What are the concerns, or drawbacks, regarding Intel's SGX when it comes to privacy?

  • 1
    I wouldn't necessarily say SGX is an alternative to homomorphic encryption. SGX requires that you trust Intel and is ultimately a hardware solution to a problem. Homomorphic encryption requires that you trust math, and is a software solution. – mikeazo Sep 27 '17 at 14:46
  • Here is a good resource: youtube.com/watch?v=0ZVFy4Qsryc – mikeazo Oct 6 '17 at 17:13
  • When using an Intel processor, you always have to trust them, regardless of whether or not you are making use of SGX. – forest Dec 19 '17 at 4:42
-1

Intel SGX does not really replace homomorphic encryption. It is designed to protect from compromise of one of the communicating computers by verifying, that the other computer runs the correct, unmodified software and that any data the SW saves can be only read by the unmodified software. You have to trust Intel to achieve this. This can be used to for example make sure, that self-destructing messages are really deleted by the other party in communication. Signal wants to use it to confirm they don't keep user metadata and contact list.

On the other hand, to protect the data, you can still add your own encryption as an inner layer, whether in transport or at rest.

As for privacy and trust in Intel, this is a moot point considering the Intel Managment Engine is effectively a backdoor into your computer black box with full access to your computer, that can not be fully removed or disabled.

  • This can be used to for example make sure, that self-destructing messages are really deleted by the other party in communication If the data exists outside SGX then there is no way that SGX can ensure that it is deleted. – AndrolGenhald Apr 20 '18 at 15:17
  • @AndrolGenhald You obviously misunderstand how SGX ower network works. SGX adds a layer of encryption, that can be only decrypted by an app running verified code. Therefore, it is possible to make self-destructing messages, the app just has to delete its own encryption key (separate from SGX), and it can not be extracted or not deleted as the app is protected and verified by SGX. Yes, technically you can still store the ciphertext, but you can't get the key ever again. – Peter Harmann Apr 20 '18 at 16:27
  • I assumed we were talking about messages shown to the user, was that an incorrect assumption? If the plaintext ever leaves SGX then you can't guarantee it won't be copied. – AndrolGenhald Apr 20 '18 at 19:03
  • @AndrolGenhald No, I was talking about IM apps, such as signal, that allow self-destructing messages. But Signal is open-source, so you can easily make a version that would store the messages despite them being supposed to be deleted and the other user would not know. Of course, screenshots are still possible, but those would not really by trusted by anyone, as it would be very easy to manufacture them in MS Paint or Photoshop. Also, you could add countermeasures and SGX would verify they are in place making it even harder. – Peter Harmann Apr 21 '18 at 10:40
  • In that case your statement still sounds very misleading to me. The Signal protocol offers message repudiation, but that's very different from ensuring deletion, and that feature is unrelated to SGX anyway. – AndrolGenhald Apr 21 '18 at 17:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.