4 ms·
My humble understanding is this is a very theoretical result, unlikely to result in unreversable malware, or improvements in the DRM near you. Here's a brief s
by Nimi 13y ago
My humble understanding is this is a very theoretical result, unlikely to result in unreversable malware, or improvements in the DRM near you.
Here's a brief summary (obviously, I might be missing a lot of things):
1. "They (researchers in 2001, some of which are authors of this new paper) showed that there exist unobfuscatable functions – a family of functions {f s } such that given any circuit that implements f s , an efficient procedure can extract the secret s; however, any efficient adversary given only black-box access to f s cannot guess even a single bit of s with non-negligible advantage."
That result still holds - one cannot obfuscate any function, and this is proven.
2. "indistinguishability obfuscation: An indistinguishability obfuscator iO for a class of circuits C guarantees that given two equivalent circuits C 1 and C 2 from the class, the two distribution of obfuscations iO(C 1 ) and iO(C 2 ) should be computationally indistinguishable."
Note that this works only for equivalent circuits.
3. "Using indistinguishability obfuscator for NC 1 together with any (leveled) fully homomorphic encryption (FHE) scheme with decryption in NC 1 (e.g. [Gen09b, BV11, BGV12, Bra12, GSW13]), we show how to obtain an indistinguishability obfuscator for all polynomial-size circuits".
Again, this is indistinguishability obfuscator, which works only for equivalent circuits. Also, FHE is very slow nowadays, AFAIK there are no actual deployments of that concept, because of the prohibitive slowness (e.g. a single AES encryption taking days).
4. "Using indistinguishability obfuscator for polynomial-size circuits, together with injective one-way functions, public-key encryption, and a novel variant of Sahai’s simulation-sound non-interactive zero knowledge [Sah99] proofs, we show how to obtain functional encryption schemes supporting all polynomial-size circuits."
This is awesome and sounds like it can obfuscate malware or be used to make actual DRM, but again, the indistinguishability obfuscator is likely so slow as to not be practical these days. Maybe in a few decades?
Obviously I'm not writing this to take anything away from this huge theoretical result - just saying this is likely not what other commenters think it is. And again, my reading of this is very possibly inaccurate.
- venomsnake 13y agoSo their use of FHM is a bit like someone saying - we could colonize Jupiter if we just get enough anti matter. And how that could be used as a DRM - this is the part I don't get?
- Nimi 13y agoThis isn't that far-fetched - I wouldn't bet my life that this technology will still be undeployed in, say, 50 years. Academic research is about those discoveries too - even everyday stuff that is now taken for granted, like memory garbage collection, was considered impractical in the beginning. Regarding DRM: "In Functional Encryption, ciphertexts encrypt inputs x and keys are issued for strings y. The striking feature of this system is that using the key SK y to decrypt a ciphertext CT x = Enc(x), yields the value F(x,y) but does not reveal anything else about x". You can take x to be the code of the computer game you wrote, and F to be a code simulator. This sounds like the type of DRM game manufacturers want.
- venomsnake 13y agoOnce again I cannot see how it can be used as DRM - what prevents from installing in a VM and sharing it around, writing a wrapper around the executable that intercepts system calls and just gives what it wants etc?
- Nimi 13y agoThis is too complicated to answer in a forum post. The general idea is that no number appears in the code as-is, instead all numbers appear encrypted. You have to have a way to do "encrypted multiplication" - take two encrypted numbers, and get the encryption of their multiplication, without decrypting them in the process. Also for addition. This is called fully homomorphic encryption (finally discovered several years ago, by one of the authors of this paper). This paper builds upon that result. Edit: also, see here for a simpler technique that seems to work: https://news.ycombinator.com/item?id=6160742 https://news.ycombinator.com/item?id=6160742
- pbsd 13y agoYou're right -- this is a great theoretical result, but it is hopelessly impractical for use today (just like FHE). Also note that the security of the scheme itself is untested. There are a handful of hardness assumptions here that have withstood little scrutiny, including the ones inherited from FHE and multilinear maps.
- deleted 13y ago[deleted]
- Nimi 13y agoI think they can use this for game DRM, if the game can contact the vendor's server, and request a confirmation that this customer account purchased the game. Nowadays, skilled reverse engineers can modify the game code and "skip over" the calling-home part. With obfuscated code, this isn't possible.
- deleted 13y ago[deleted]
- sehrope 13y agoYes but a non trivial amount of the app would need to be obfuscated. You wouldn't be able to just obfuscate the license validation code as the caller could then be modified to skip over that function call. If this really is as slow as it sounds like it is (still interesting though!) then it wouldn't be practical for game programming. The entire game would run like molasses.