Posted
by
samzenpus
on Monday November 16, 2015 @05:22PM
from the protect-ya-neck dept.

An anonymous reader writes: The healthcare sector gets a hand from Microsoft, who will release a new encryption algorithm which will allow developers to handle genomic data in encrypted format, without the need of decryption, and by doing so, minimizing security risks. The new algorithm is dubbed SEAL (Simple Encrypted Arithmetic Library) and is based on homomorphic encryption, which allows mathematical operations to be run on encrypted data, yielding the same results as if it would run on the cleartext version. Microsoft will create a new tool and offer it as a free download. They've also published the theoretical research. For now, the algorithm can handle only genomic data.

Is that where you keep replacing a random half of the data with zeroes until you get the desired concentration? You need to remember to spike the data with a jolt of energy to make sure that the zeroes remember what the data was. Then you can use the data safely.

If I add two values, and I know the domain of both values... then I... ooooohhhhh, ya never mind, I still have no idea what the two values were, even if I know what they add up too.

I'd still wonder whether this type of encryption which specifically allows for mathematical operations would be weaker than encryption algorythms that don't, but I clearly don't have the correct brain cell arrangements to do that analysis at this time. More learning required.

You've got to realize that the operation that you're doing on the encrypted values is not the same as the corresponding operation on the unencrypted values.

For example, if E is the encryption function, then E(a + b) is not performed by calculating E(a) + E(b). Instead, there's a special "EAdd" binary function you need to call to perform addition on the encrypted values -- in other words: E(a + b) = EAdd(E(a), E(b)). The "EAdd" function may be significantly more complicated than simple addition is.

I guess the point being, if you can operate on encrypted data in the completely same way as if you had the original, what is privacy is advanced through the encryption? It sounds like a second level redirect to encode the sequences to begin with. We know why its being promoted. Having 'no personally identifiable information' sent to and from groups would allow for privacy laws to be bypassed in the name of science. I don't specifically have an axe to grind in that matter, but can you really say the data isn

In your example, ABC runs the tests, and gets encrypted results. These are useful only to the person who has the key to understand Joe's DNA in the first place.

What this allows is the people who process data to not always have to be the same people who have the data. So if you build a server that does really hard math on DNA results, you can be given the encrypted data, perform your math on the encrypted data, and hand back the encrypted result. You never understand the data.

Or, more importantly, you can take your encrypted data and smash out the results on AWS infrastructure that you've rented and retrieve the results without ever having compromised the privacy of the individual to whom the data belongs.

Your initial thoughts are wrong.This is a type of encryption algorithm known as homomorphic encryption, which allows one to do operate on encrypted data without decrypting it.This has no bearing on the strength of the encryption against an adversary.

Practical homomorphic encryption (like this MSFT product) is based on simplified encryption (to make it more practical, duh). AFAIKT in this case the MSFT product is based on a derivative YASHE (yet another somewhat homomorphic encryption) scheme. This is a bit more like steganography than pure encryption as it "hides" the encryption in a ring and requires lattice theory to generate a unique decryption (meaning you can only perform a few addition/multiplication operations before you have to re-decrypt, re-encrypt). Although theoretically, you can make this encryption "strong" by selecting different parameters (and introducing more overhead and lower error bounds), at some point there is a fundamental limit related to the entropy of the data set itself (which for medical-like data is pretty low entropy).

And then there is the (in)famous sum-product puzzle [wikipedia.org], which although is kind of an interesting puzzle in that in illustrates how seemingly impossible obfuscation can be removed by the most innocuous oracle queries.

What will break this type of encryption is not brute force, but say on medical data examining distributional anomalies to make a dictionary of sorts. Also since this appears to be some sort of "ECB-like" encryption (most data is encrypted the same way so you can operate on it), we all know how weak that can be in some situations [wikipedia.org]...

This is why in most medical research, data must be de-identified, not merely encrypted. Not that fixes things by a long shot, but it's better than simply encrypting and hoping...

My initial thought was that if Math can be performed that produces the same results Encrypted vs Unencrypted, is that it isn't very well encrypted. My understanding is that the better encryption techniques approaches what looks like static (randomness).

It's strong. Very strong.

Problem is, there's a tradeoff in time/speed and operations you can do. There are general algorithms that let you do a wide variety of operations, but they are very slow - on the order of a million times slower than unencrypted.

Faster algorithms usually restrict the operations you can do. on the data, and performance is almost equal that of unencrypted.

Note that you don't simply say "I want to add these two numbers" , encrypt them, then just do a simple add - no, the operation after encryption may be a multiplication, or other operation.

And this is actually very useful - because it lets you store critical data in the cloud, and perform manipulations of that data in the cloud, without the cloud provider having to have the encryption key. If the data is stolen, the hacker gets encrypted garbage.

So the current operation is database - you put up an encrypted data in the cloud, and the cloud provider runs an encrypted database service. You can perform limited queries, and the cloud provider will return you the encrypted rows as encrypted blobs to you. You use the key (kept onsite for security), and marvel that you just did a transaction in the cloud, the cloud provider executed the operation, and you got back the rows that you wanted, and at no time other than on your PC was it ever in plaintext.

You could be more fancy - say you want to add up a column - you tell the database server to add it up (encrypted), and the final result is sent back, as encrypted data. You use your key and get your answer.

That's the primary use case for this sort of encryption. Do it right and even in house database can be completely encrypted. So stuff like health information and banking records will never be in plain text until you need it so breaches won't be as harmful.

Continuing the fine tradition of not RTFA around here, I didn't read the research paper but I did skim wikipedia's entry.

Nowhere do I see any mention of authenticity. This is as important as confidentiality and integrity. I'm not saying there isn't a solution (I'm not a cryptographer) but I wonder if anyone has any insight or links to a solution if it exists.

But what if a malicious actor purposely performs an operation on the data? Changing genomic data in this case might mess up diagnoses/research, etc. Future applications could be stuff like medical billing -- if its easy to tack on another bill, even if you don't know previous bills because its encrypted? Is there any mechanism that checks that the operation we perform on the encrypted data was authorized, i.e., that I am a manager allowed to do the operation and I specifically consent to performing the operation? Typical integrity checks wouldn't catch this; integrity is correctness of the data, which means it will only verify the computation was performed correctly and then move on. Authenticity is a different issue.

I would suspect Microsoft Research thought of this. My question is: is there a countermeasure that can be described as part of the algorithm? Or is the countermeasure "be careful with any software that uses this algorithm, make sure it checks authenticity before applying operations!". If the solution is for developers to be careful, I'm not convinced the algorithm made anything better. Many developers do not know cryptography and may assume safety, or may not have the time and resources due to a manager driving a hard deadline; in these cases, "we use MS's algorithm!" can get advertised without any increase in safety (and possibly even a decrease, as some might look to this as a crutch and reason why they can cut corners...).

And that's why no one is deploying general homomorphic encryption. There are a few approaches that run almost as fast as doing the unencrypted work, but only support a very limited set of operations and have space requirements that scale linearly (or worse) with the number of operations that you want to support. If it's targeted at a specific application then it's conceivable that they've managed to create something that's fast, but only useful for a very specific use case.

Homomorphic encryption is a form of encryption that allows computations to be carried out on ciphertext, thus generating an encrypted result which, when decrypted, matches the result of operations performed on the plaintext.

What shall we do? Stop talking? Hello? The best thing is to go on with your life and tell the haters that you don't care. And by the way it is very interesting to do what MS claims to have done. If you want to do cloud computing you must be able to do similar things to data and code.

The worst terrorist attack in French history happened a few days ago. Over a hundred are dead in Paris, and the war against ISIS is escalating.Why the fuck are you wasting time reading and posting completely irrelevant shit on Slashdot when supposedly you have better priorities? For the rest of us the world goes on.

Think back to the PRISM https://en.wikipedia.org/wiki/... [wikipedia.org] idea of advanced, gov friendly US cryptography.
The system will keep out random hospital workers, secretaries, dr's, nurses, visitors, 3rd party developers and will pass any state, federal, out side 3rd party tests that the data is totally secure after and during networking.
So the "genomic data" will be safe until the government copies it in a readable form for law enforcement needs. Law enforcement always has a warrant so access is always allowed

Of course you can create all the illusion of security you want but when you have an operating system with a built in keylogger (M$ Windows 10) then all the security is wasted unless you encrypt it prior to entry into those operating system or any functioning, goal or target typed in by the user at their terminal unless they themselves personally are encrypted. So M$, let's punch holes all over our OS to sell advertising and people's private data and then 'er' 'um' security yes, M$ are all about security. Y

Yep, I was going to say the same thing. Cisco has supported SEAL as a VPN crypto algorithm for quite a while. Not only has it been around for a long time but it's actually in commercial software (e.g. Cisco IOS) and has been refined several times (version 3 came out in 1997). Clearly Microsoft didn't do their due diligence on the name...

Encrypting data using a
homomorphic encryption scheme allows for meaningful
computation on the encrypted data producing the results
of the computation in encrypted form, without the need
for decrypting it or requiring access to the decryption
key.

How long until someone comes up with a blockchain scheme that pays out for computational work done on encrypted data sets?

Normally I'm always a scientific progressive but something about this idea horrifies me. Doing analysis on data while it still remains encrypted? better hope that nothing goes wrong, better hope that there isn't some hidden unknown variable that develops. Kind of like a magic trick and magic tricks have a habit of going wrong..