15 ms·
Remember, SGX is not a security feature. It is a DRM feature meant to take control away from the owner of the machine and give it to content owners. Happy to se
by akersten 6y ago
Remember, SGX is not a security feature. It is a DRM feature meant to take control away from the owner of the machine and give it to content owners. Happy to see every successful attack against this module, and hoping that Intel decides to just ditch it entirely.
- lxgr 6y agoOh boy, here we go again. No, SGX is a technology allowing for the trusted execution of code in an untrusted environment. DRM is one potential application of that technology. See also the comment section on literally _every other HN submission with SGX in the title_, for example here: https://news.ycombinator.com/item?id=22495251 https://news.ycombinator.com/item?id=22495251
- akersten 6y agoYes, indeed here we go again, because I fundamentally disagree that "allowing the trusted execution of code" is any different than DRM. A rose by any other name. I believe a user should have full control over the hardware they own. SGX and other enclaves are a direct affront to that, and I won't give up the fight. If you need a "trusted execution" of code, run it on a server you control.
- _jal 6y ago> If you need a "trusted execution" of code, run it on a server you control. What CPU do you use for this purpose?
- akersten 6y agoI understand the implication here to be "how can you trust your own hardware anyway," and the answer is "of course in theory you can't." Even if you had SGX and wrote your algorithm or whatever to run in it, if your hardware's compromised, the horse has left the stable. Your proprietary algorithm and input that you developed on the compromised hardware are already available to the attacker. So having SGX locally is not going to help. At the end of the day, SGX is not going to defend a proprietary computation if the input and algorithm are already compromised.
- anonymousDan 6y agoAs I said in a sibling comment, think if it more as a way of reducing your TCB in cloud environments. Instead of trusting the whole cloud software stack, you now just trust your app and the hw, both of which you need to trust anyway.
- _jal 6y agoI'm not trying to make that argument. I'm literally asking you, what do you use for that purpose?
- cjbprime 6y agoDo "content owners" actually.. use SGX? I've only ever seen it used for secure boot/trusted environment stuff under the control of the machine's owner, not content DRM.
- akersten 6y agoMaybe not widely yet. But here's[0] an Intel employee saying it's supported, which confirms that it's one of their visions for the module. [0]: https://software.intel.com/en-us/forums/intel-software-guard-extensions-intel-sgx/topic/739833 https://software.intel.com/en-us/forums/intel-software-guard...
- jbk 6y agoPowerdvd requires SGX for 4K Blu-ray’s IIUC https://forum.cyberlink.com/forum/posts/list/77436.page https://forum.cyberlink.com/forum/posts/list/77436.page
- lxgr 6y agoTrusted computing isn't so much about control as it is about trust/attestation. You can run privileged malware on your computer without trusted computing. On the other hand, you can also sandbox trusted computing. If you don't want to run somebody else's code on your computer – don't! (Chances are you're not a cloud provider and nobody is asking you to, anyway.) If you oppose DRM – don't consume content protected by it, whether the DRM is implemented in SGX, TrustZone or just in obfuscated software. Don't get me wrong, I am not the biggest fan of DRM either (I personally see it as an evil, maybe a necessary one though). But shunning the entire field of trusted computing is a bit like opposing theoretical physics because it ultimately has brought us nuclear weapons.
- akersten 6y agoI'm not entirely against the concept of trusted computing, but it's hard to believe that "trusted computing" as we know it today is so innocuous when it's included on consumer CPUs. Why not keep it as a premium feature for server-class CPUs instead?
- uluyol 6y agoI don't think SGX is available on any consumer CPUs.
- akersten 6y agoIt has been part of the architecture since Skylake: > Most Desktop, Mobile (6th generation Core and up) and low-end Server processors (Xeon E3 v5 and up) released since Fall 2015 support SGX.[0] [0]: https://fortanix.com/intel-sgx/ https://fortanix.com/intel-sgx/
- matheusmoreira 6y agoMy laptop has an Intel i7-8750H CPU. https://ark.intel.com/content/www/us/en/ark/products/134906/intel-core-i7-8750h-processor-9m-cache-up-to-4-10-ghz.html https://ark.intel.com/content/www/us/en/ark/products/134906/... > Intel® Software Guard Extensions (Intel® SGX) > Yes with Intel® ME I have it disabled in the firmware settings.
- anonymousDan 6y agoNah. There is massive interest in SGX as a defense in depth technique for secure cloud computing (see Azure confidential computing for example). In fact I believe Intel have recently announced they are deprecating SGX on consumer devices in favour of server hardware. I'm as anti-DRM as the next man but this is just scaremongering.
- akersten 6y agoIf they're getting rid of SGX on consumer devices, I consider that an absolute win, and am happy to tone down my rhetoric. However, I couldn't find anything to that effect with a quick search. Can you share where you saw that announcement?
- lima 6y agoConsumer devices still have other DRM technologies like PAVP/HDCP. SGX is simply unnecessary for consumer-hostile DRM. I don't think SGX + PAVP ever made it past the prototype stage, and the SDK is proprietary. My company actually wanted to use it for a trusted computing application (think "secure transaction approval") and Intel told us it was deprecated and unsupported.
- closeparen 6y agoThere is no world where you just get to tamper with stuff. In the absence of trusted computing, the anti-tamper strategy is server-side policy logic and central databases. The ability to control and trust devices that have left the issuer's physical possession enables decentralized and privacy-preserving architectures. If this tech were perfect (it isn't) you could even do a peer to peer cryptocurrency without proof of work. Just make your peers prove they are running software which will refuse to double-spend.
- deleted 6y ago[deleted]
- CamperBob2 6y agoThe ability to control and trust devices that have left the issuer's physical possession enables decentralized and privacy-preserving architectures. One question: who, exactly, is this "issuer" you're referring to? Me? The people who sold me the computer? The people who manufactured the computer? The people who wrote the CPU microcode that I don't have access to? The government agencies they may or may not answer to? Just make your peers prove they are running software which will refuse to double-spend. OK, make that two questions: how is this not equivalent to solving the Halting Problem? There is no world where you just get to tamper with stuff. There is, if it's my stuff.
- closeparen 6y agoIf it's your stuff, then you control whether remote attestations are required and what checksums / signatures are considered valid.
- deleted 6y ago[deleted]
- CamperBob2 6y agoSo, no answer to the actual questions, it sounds like. Got it.
- matheusmoreira 6y ago> trusted execution of code in an untrusted environment This implies taking power and control away from the user. Trusted execution means execution the user can't tamper with or analyze as well as memory the user has no access to. The user's own machine has been sealed off. It's not just DRM. From a computing freedom point of view, all trusted computing is bad. It prevents legitimate activities like reverse enfineering proprietary software in order to create a free software replacement. Trusted by whom? Invariably it's the company making the software. Users are never empowered by this. Corporations are already in a position of power over most people, we don't need even more technology that gives them even more control. Imagine if this becomes common enough to show up in browsers and the web. Suddenly inspect element and view source no longer work, scripts and ads cannot be blocked and extensions become a thing of the past. All in the name of corporate control.
- wmf 6y agoYou're presenting one situation: someone else's code running in the user's environment. But what about running the user's code in someone else's untrusted environment?
- akersten 6y agoIn my opinion, the idea there is the same as it's always been: don't trust the client.
- lxgr 6y agoSGX is mostly about servers, not clients.
- matheusmoreira 6y ago> someone else's untrusted environment That "someone else" should have the same powers over their machines that users do. They should be allowed to see everything and tamper with anything. After all, the computer is theirs. Other people's computers should always be untrusted.