Keeping Data Secret, Even From Apps That Use It
Nerval's Lobster writes "Datacenters wanting to emulate Google by encrypting their data beyond the ability of the NSA to crack it may get some help from a new encryption technique that allows data to be stored, transported and even used by applications without giving away any secrets. In a paper to be presented at a major European security conference this week, researchers from Denmark and the U.K. collaborated on a practical way to implement a long-discussed encryption concept called Multi-Party Computation (MPC). The idea behind MPC is to allow two parties who have to collaborate on an analysis or computation to do so without revealing their own data to the other party. Though the concept was introduced in 1982, ways to accomplish it with more than two parties, or with standardized protocols and procedures, has not become practical in commercial environments. The Danish/British team revamped an MPC protocol nicknamed SPDZ (pronounced 'speeds'), which uses secret, securely generated keys to distribute a second set of keys that can be used for MPC encryptions. The big breakthrough, according to Smart, was to streamline SPDZ by reducing the number of times global MAC keys had to be calculated in order to create pairs of public and private keys for other uses. By cutting down on repetitive tasks, the whole process becomes much faster; because the new technique keeps global MAC keys secret, it should also make the faster process more secure."
The summary claims that
Though the concept was introduced in 1982, ways to accomplish it with more than two parties, or with standardized protocols and procedures, has not become practical in commercial environments.
(I presume it's quoting the article, but samzenpus has managed to make the link self-referential).
That just isn't true. I've read a very interesting paper about "massively multiplayer" commercial use of MPC back in 2008. It involved Danish researchers, so it may be the same team, and there may be improvements, but it would be good to limit the claims to the actual novelties.
I just upgraded to a smart phone and hated how every app I wanted to download wanted everything. Why should Pac Man need my contacts list and GPS information? So when I saw the submission I though ALL RIGHT!!!
Sadly, this is interesting but solves a completely different problem, so I guess I'll be appless for a while (except the KSHE app, everything it needed had to do with its workings).
TFA doesn't say if this could be used for private messages between individuals. But we need to have every damned thing encrypted, the NSA is only one entity that knows everything about your online life. I think it's damned creepy either way and would like to see it outlawed. Fat chance, though, since the corporate spies own the government.
Free Martian Whores!
How is this different from homomorphism? The thing is that it's not intended to keep secrets. Correlations might still exist that could give basic traffic kinds of data away. Have they figured ways to prevent those secrets from leaking?
John
FTFS:
"Datacenters wanting to emulate Google by encrypting their data beyond the ability of the NSA to crack it..."
bahahahahaha! why would anybody think that goog is trying to "protect" the data of its users/product?
Two datacenters owned by the same company using MPC is a really dumb use case. That won't help at all. The point of Google encrypting cross-dc communications is a forcing manoeuvre - it forces intelligence agencies to go via Google Legal to get information where the request can be analyzed and pushed back on. Even in countries where the legal system is flimsy and corrupt, that's an issue that can be improved significantly just with a single act of Congress or Parliament, whereas undoing their wiretapping infrastructure will prove somewhat harder because there's no adversarial lawyer standing in the way.
A better example might be two datacenters owned by different companies, where they don't mutually trust each other. Or, to give an actual use case, the OTR chat encryption protocol uses MPC to authenticate connections. They call it the socialist millionaires protocol. The two parties agree on a secret word (typically by one user posing a question to the other), and then a variant of MPC is used to verify that both parties selected the same word. The word itself never transits the wire and it's only used for authentication, so it's relatively strong even if the secret word is short or predictable.
Now, for some background. The paper can be found here if you want to skip the million+1 links and registration crap.
The basic idea behind MPC is that you write your shared computation in the form of a boolean circuit, made up of logic gates as if you were making an electronic circuit. The inputs to the program are represented as if they were electronic signals (i.e. as one and zero bits on wires). Once done, there are two protocols you can follow. The original one is by a guy named Andrew Yao. Each wire in the circuit is assigned a pair of keys. The details I'll gloss over now, but basically given the circuit (program) as a template, lots of random keys are created by party A, then the entire "garbled circuit" is sent to party B who will run it. Party A also selects the keys for his input wires and sends them to party B, who doesn't know whether they represent 0 or 1, only party A knows that.
Now party B wants to run the program with his input, but he doesn't want party A to know what his input is. So they use a separate protocol called an oblivious transfer protocol to get party A to cough up the right keys for B's input wires, without A finding out what they were. Finally, party B can run the program by progressively decrypting the wires until the output is arrived at.
What I described above is Yao's protocol. There is also a slightly different protocol called BGV. In BGV you don't send the entire program all at once. Instead, as party B runs through the program, each time they encounter an AND gate they do an oblivious transfer with party A. XOR gates are "free" and don't require any interaction. I forgot what happens for other kinds of gates. Basically, BGV involves both parties interacting throughout the computation, however, it can result in much less network traffic being required if your OT protocol is cheap, because if your circuit is very wide and shallow then most of the garbled program never has to even get transferred at all.
From what I can tell, most of the best results in MPC these days are coming from BGV coupled with new, highly efficient OT protocols. SPDZ appears to work on yet another design, but the basic reliance on circuit form remains.
I think it was in the news recently, a lot, but not for their Linux contributions...
Though, maybe those were referenced too, along with some other contribs to MS, standards organisations, etc.
If anything, I am sure that someone is giving close and fresh look into SElinux parts right now...
Paul B.
Thought it said "reducing the number of times global MAC keys had to be ejaculated". Whoops!
I want to sell you some ocean front property in Colorado and some lake front property in Death Valley.
I'm all for "Keeping Data Secret, Even From Apes That Use It"
Um... wait. Never mind.
Last I heard, the Supreme Court ruled that the NSA could collect metadata and such.
The system is indeed stacked against us, the people.
From the court, to the congress, to the White House, to the law enforcement, to the press - their convergence behind the tyrannical regime spelled DOOM to the very concept of the United States of America.
I left USA more than 10 years ago due to my disgust of what had happened, and the more I see my country from afar, the more sad I'm becoming.
What the fuck is happening to America ?
Why the fuck my fellow Americans are allowing this to happen ?
Muchas Gracias, Señor Edward Snowden !
In a paper to be presented at a major European security conference this week, ...
What is this? Security-by-obscurity?
Just tell us the name of the conference.
Isn't just encrypting the data and having all the decryption done locally with a key (password) the user of the data knows of the best solution? In this way, it is impossible for anyone other than the user to have the data since he's the only one who can decrypt it. Why send your password to a server that will decrypt your documents when you can just have the server host crypted documents and when you need them ask the server to give them to you and then decrypt them yourself, from your own machine?
I think this technology already exists and is already used, directly in the browser. I believe blockchain uses this method.
Check out the Sharemind, three-party secure computation system, it has even a SDK available: http://sharemind.cyber.ee/download-sdk .
The NSA may be a big problem, but it's hardly the only threat to people looking at data they have nothing to do with. How many admins have access to large troves of user data they have nothing to do with, that would make good money if sold to certain parties? How many databases hold data that can't be effectively shielded with more than a single layer from people that should only have access to parts of it? Stop fretting about the NSA in this context, they are only one of many threats this problem tries to solve.
I was promised a flying car. Where is my flying car?
There are large binary blobs in your phone that hold the firmware for the baseband processor and other chips. Rooting the phone will give you some form of control over the OS running the user interface, but not the rest. It is probably trivial for attackers to find a backdoor in one of the binary blobs, once they start looking for it. It may be restricted to that model phone and that version of the binary blob, but chances are, that with just a few actual backdoors, implementations for most of the smart phones can be made. Don't trust your phone any more rooted than non-rooted, it's still mostly unknown territory for you even if you have it rooted.
I was promised a flying car. Where is my flying car?
Does ANYBODY here actually believe google encrypts data so that NSA can't read it?