Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud Security for Real This Time: Homomorphic Encryption and the Future of Data Privacy

Craig Stuntz
February 27, 2014

Cloud Security for Real This Time: Homomorphic Encryption and the Future of Data Privacy

Craig Stuntz

February 27, 2014

More Decks by Craig Stuntz

Other Decks in Research


  1. { Cloud Security for Real This Time: Homomorphic Encryption and

    the Future of Data Privacy Craig Stuntz Improving Enterprises
  2. Consumer “I don’t want my personal information stolen.” “I’d rather

    not have to install software to manage my finances.” Cloud Service Provider “I don’t want the data I store to make me a target.” “I can protect my business methods by not redistributing my code.”
  3. Homomorphic Encryption In a Nutshell Client Server Data Cyphertext Result

    Cyphertext Computation Homomorphic Data Plaintext Result Plaintext
  4. Unpadded RSA = mod 1 ∙ 2 = 1 mod

    ∙ (2 mod ) = (1 ∙ 2 ) mod = 1 ∙ 2 mod = E(1 ∙ 2 )
  5.  Multiply  Add, subtract, exponents, etc.  Doesn’t have

    to be (quite) Turing complete  Conditional branching and loops, of a sort  Cannot perform conditional jumps based on (encrypted) user input Fully Homomorphic Encryption
  6. > def choose(first, second, choose_first): .. return first if choose_first

    else second .. > choose(True, False, True) => True > choose(True, False, False) => False first choose_first second
  7. > def my_factorial(n): .. result = 1 .. while n

    > 1: .. result *= n .. n -= 1 .. return result > def my_factorial_less_than_20(n): .. result = 1; .. for i in range(2, 20): .. result *= 1 if i > n else i .. return result > my_factorial_less_than_20(4) => 24 > my_factorial_less_than_20(100) => 121645100408832000L > my_factorial_less_than_20(1000) => 121645100408832000L
  8.  “Nevertheless, the authors of this method to concede that

    making this scheme practical remains an open problem.”  “There exist well known solutions for secure computation of any function… It seems hard to apply these methods to complete continuous functions or represent Real numbers, since the methods inherently work over finite fields.”  “An encryption scheme with these two properties is called a homomorphic encryption scheme. The Paillier system is one homomorphic encryption scheme, but more ones [sic] exist.” Patent Encumbrance
  9. Limitations  Server doesn’t have data to, e.g. hand off

    to third parties  Some fully homomorphic cryptosystems are relatively untested and security not proven. (Both in terms of algorithms and implementation.)  Space issues  Algorithms which operate on homomorphically encrypted data are, for now, anyway, computationally expensive  Client complexity and deployment  Not always clear when to choose fully homomorphic algorithms.  Not a cure-all. Metadata and side-channels still a problem  Moving target!  Patent encumbered
  10. CryptDB  Query-based encryption  Requires no changes to DB

    server  Tested on phpBB, OpenEMR, TPC-C, etc.  Only 14-26% slower than unmodified apps.
  11. 2 Party Secure Computation Sends c = E(x) to Bob

    Computes and sends c’ = E(f(x,y)), ZKP of c’ correctness to Alice Decrypt c’, compute ZKP of valid decryption, and return both to Bob HELLO M y N ame I s Alice HELLO M y N ame I s Bob
  12.  Computing Arbitrary Functions of Encrypted Data, by Craig Gentry.

    Communications of the ACM, Vol. 53, No.3  Building the Swiss Army Knife, by Boaz Barak and Zvika Brakerski  HElib (source code)  CryptDB: Processing Queries on an Encrypted Database, by Raluca Ada Popa, Catherine M.S. Redfield, Nickolai Zeldovich, and Hari Balakrishnan Further reading