Slashdot Mirror


Microsoft To Provide New Encryption Algorithm For the Healthcare Sector

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.

16 of 85 comments (clear)

  1. Don't Use This! by Anonymous Coward · · Score: 5, Funny

    It is based on homophobic encryption!

    1. Re:Don't Use This! by U2xhc2hkb3QgU3Vja3M · · Score: 2

      You read it wrong. What it does mean, however, is that it's going to turn your data gay.

      Not that there's anything wrong with that. /Seinfeld

    2. Re:Don't Use This! by alva_edison · · Score: 2

      I think you meant homeopathic encryption.

      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.

      --
      He effected a bored affect.
  2. SEAL... by Anonymous Coward · · Score: 2, Funny

    Super Easy Access Leak.

  3. Re:Initial Thought by CaptainJeff · · Score: 5, Informative

    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.

  4. Re:Initial Thought by tlhIngan · · Score: 5, Informative

    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.

  5. Re:encrytped by BarbaraHudson · · Score: 2

    >> encrytped

    Someone, please buy the Dice interns a spellchecker for Christmas this year.

    They also need a grammar checker:

    to be ran on encrytped data

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  6. Re:Priorities, people! by FlyHelicopters · · Score: 2

    Wave your arms in the air, scream and shout and run in circles?

  7. Is the operation Authentic? by mx+b · · Score: 4, Interesting

    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.

    Here's the scenario. Homomorphic encryption lets us keep the data constantly encrypted, maintaining confidentiality. Ok, that's cool for data breaches, we stay much better protected from loss of confidentiality.

    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...).

  8. Re:Initial Thought by cfalcon · · Score: 4, Informative

    You fundamentally don't understand homomorphic encryption.

    The results you get are encrypted results. You can't fish with them.

    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.

  9. Re:Initial Thought by slew · · Score: 4, Interesting

    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, 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...

    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...

  10. Re:encrytped by cfalcon · · Score: 2

    "to be ran on encrypted data" seems like solid grammar to me. Imperfect tense, right?

  11. Re:encrytped by BarbaraHudson · · Score: 2

    "to be ran on encrypted data" seems like solid grammar to me. Imperfect tense, right?

    "which allows mathematical operations to be ran on encrytped data" is not proper grammar. "ran" is past tense only. "to be" is future. It should be "to be run on encrypted data."

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
  12. "SEAL" is already a used name by Myria · · Score: 4, Informative

    "SEAL" is the name of a patented cipher from 1994.

    Let me introduce you to my new encryption algorithm, Alien Encoding System (AES). Because that won't conflict at all with existing ciphers...

    --
    "Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
    1. Re:"SEAL" is already a used name by pipedwho · · Score: 2

      I think they need to come up with a better IDEA.

  13. Re:Initial Thought by Anonymous Coward · · Score: 2, Informative

    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.