3 ms·
You don't understand how this works. Firefox just provides some APIs that the DRM blob can use. All the decryption is done by the blob, not Firefox. You can rev
by bubblethink 10y ago
You don't understand how this works. Firefox just provides some APIs that the DRM blob can use. All the decryption is done by the blob, not Firefox. You can reverse engineer the blob itself to an extent, but that will also become impossible with SGX (hence 4k on kabylake + edge only).
- flukus 10y agoCan't you just run in an emulator to get the blob? It looks like qemu was the first to support SGX: https://en.wikipedia.org/wiki/Software_Guard_Extensions https://en.wikipedia.org/wiki/Software_Guard_Extensions
- bubblethink 10y agoNo, that's all fine for mucking around and developing apps, but actual SGX needs attestation which the emulator can't fake. That's the whole point of SGX.
- flukus 10y agoBut how does that remain a secret when the browser can MitM everything between the CPU and the web?
- bubblethink 10y agoThere is a hardware-based secret which emulators cannot obtain or fake. That breaks the attestation chain. At the heart of it, there is some stuff that only your processor can do and not you the user even though you may have full control over the operating system. The OS is in SGX's threat model.
- Rusky 10y agoWhat's to stop someone reverse engineering the blob before it's loaded into an SGX enclave? I don't understand it very well so I could be missing something, but wouldn't that at least let someone document how the DRM works even if not running their own implementation?
- bubblethink 10y agoIt would be of no use (and the code can also be encrypted for additional obfuscation). There is no private data in the blob. The blob communicates to mothership once it's safe inside the enclave, and that's when sensitive data is transmitted over an encrypted channel which only the blob can decrypt inside the enclave.
- ndesaulniers 10y agoDigital signatures. Not that I actually know how it's implemented, but I would expect someone like Netflix to pay Intel for the build infrastructure to be able to build signed blobs that the SGX will load. The "someone" in your hypothetical can modify the blob, but then they won't be able to resign the blob, so SGX will fail to load it.
- MBCook 10y agoWe still have the good old DMCA to make sure that anyone who does do that kind of thing could be punished to a ridiculous extent.
- ReverseCold 10y agoOh, apparently I don't. Still though, it should be 100% possible to circumvent it given that it's playing on the device.