Information Security Theory vs. Reality



Similar documents
Computing on Encrypted Data

NEW CRYPTOGRAPHIC CHALLENGES IN CLOUD COMPUTING ERA

Boosting Linearly-Homomorphic Encryption to Evaluate Degree-2 Functions on Encrypted Data

Privacy, Security and Cloud

Associate Prof. Dr. Victor Onomza Waziri

Verifiable Outsourced Computations Outsourcing Computations to Untrusted Servers

QUANTUM COMPUTERS AND CRYPTOGRAPHY. Mark Zhandry Stanford University

Lecture 3: One-Way Encryption, RSA Example

Advanced Cryptography

Overview of Public-Key Cryptography

Secure Computation Martin Beck

Homomorphic Encryption Method Applied to Cloud Computing

Public Key Compression and Modulus Switching for Fully Homomorphic Encryption over the Integers

CIS 5371 Cryptography. 8. Encryption --

A FULLY HOMOMORPHIC ENCRYPTION SCHEME

Mathematics of Internet Security. Keeping Eve The Eavesdropper Away From Your Credit Card Information

1 Signatures vs. MACs

Paillier Threshold Encryption Toolbox

CS 758: Cryptography / Network Security

Cryptography and Network Security Chapter 9

The application of prime numbers to RSA encryption

Factoring Algorithms

An Efficient Data Security in Cloud Computing Using the RSA Encryption Process Algorithm

Cryptography and Network Security Department of Computer Science and Engineering Indian Institute of Technology Kharagpur

Privacy-Preserving Aggregation of Time-Series Data

Lecture 9 - Message Authentication Codes

RSA Attacks. By Abdulaziz Alrasheed and Fatima

Fully Homomorphic Encryption Using Ideal Lattices

Computing exponents modulo a number: Repeated squaring

A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem

On-the-Fly Multiparty Computation on the Cloud via Multikey Fully Homomorphic Encryption

Private Searching On Streaming Data

Privacy-Preserving Set Operations

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

FACTORING LARGE NUMBERS, A GREAT WAY TO SPEND A BIRTHDAY

Post-Quantum Cryptography #4

Study of algorithms for factoring integers and computing discrete logarithms

Elements of Applied Cryptography Public key encryption

CLOUD computing systems, in which the clients

An Efficient and Secure Data Sharing Framework using Homomorphic Encryption in the Cloud

3-6 Toward Realizing Privacy-Preserving IP-Traceback

Fully homomorphic encryption equating to cloud security: An approach

Lecture 13: Message Authentication Codes

Public Key (asymmetric) Cryptography

RSA Question 2. Bob thinks that p and q are primes but p isn t. Then, Bob thinks Φ Bob :=(p-1)(q-1) = φ(n). Is this true?

Cryptography and Network Security

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

Public Key Cryptography: RSA and Lots of Number Theory

A Fully Homomorphic Encryption Implementation on Cloud Computing

Lecture Note 5 PUBLIC-KEY CRYPTOGRAPHY. Sourav Mukhopadhyay

How To Protect Your Data From Attack

A Comprehensive Data Forwarding Technique under Cloud with Dynamic Notification

Digital Signatures. Prof. Zeph Grunschlag

Lecture 13: Factoring Integers

CSC474/574 - Information Systems Security: Homework1 Solutions Sketch

MACs Message authentication and integrity. Table of contents

The Mathematics of the RSA Public-Key Cryptosystem

Communications security

Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem

Message Authentication Code

Verifiable Delegation of Computation over Large Datasets

A Fast Single Server Private Information Retrieval Protocol with Low Communication Cost

Identity-based Encryption with Post-Challenge Auxiliary Inputs for Secure Cloud Applications and Sensor Networks

Applied Cryptography Public Key Algorithms

Symmetric Key cryptosystem

Can Homomorphic Encryption be Practical?

An Application of the Goldwasser-Micali Cryptosystem to Biometric Authentication

Tackling The Challenges of Big Data. Tackling The Challenges of Big Data Big Data Systems. Security is a Negative Goal. Nickolai Zeldovich

Digital Object Identifier /MSP Date of publication: 5 December 2012

CryptoVerif Tutorial

Cloud and Mobile Computing

Notes on Network Security Prof. Hemant K. Soni

Discrete Mathematics, Chapter 4: Number Theory and Cryptography

Authentication and Encryption: How to order them? Motivation

Quantum Computing Lecture 7. Quantum Factoring. Anuj Dawar

DIGITAL SIGNATURES 1/1

Quantum Computers vs. Computers

Computer Networks. Network Security 1. Professor Richard Harris School of Engineering and Advanced Technology

Secure Data Storage on the Cloud using Homomorphic Encryption

Shor s algorithm and secret sharing

Introduction. Digital Signature

1 Message Authentication

Transcription:

Information Security Theory vs. Reality 0368-4474-01, Winter 2011 Lecture 14: More on vulnerability and exploits, Fully homomorphic encryption Eran Tromer Slides credit: Vinod Vaikuntanathan (U. Toronto) 1

2 More on vulnerability exploitation

Case study: sudo format string vulnerability Report: http://www.sudo.ws/sudo/alerts/sudo_debug.html 3

Case study: sudo format string vulnerability (cont.) Sourcecode: http://www.sudo.ws/sudo/download.html 4

Case study: sudo format string vulnerability (cont.) Sourcecode diff: 5

Case study: sudo format string vulnerability (cont.) Report: http://www.sudo.ws/sudo/alerts/sudo_debug.html 6

Case study: MS06-040 buffer overrun Report: https://technet.microsoft.com/en-us/security/bulletin/ms06-040 7

Case study: MS06-040 buffer overrun (cont.) Report: https://technet.microsoft.com/en-us/security/bulletin/ms06-040 8

Case study: MS06-040 buffer overrun Report: https://technet.microsoft.com/en-us/security/bulletin/ms06-040 9

Understanding binary patches: BinDiff 10

Understanding binary patches: BinDiff (cont.) 11

Metasploit Framework Framework for vulnerability exploitation and penetration testing Capabilities Library of exploit codes Library of payloads (shells, VNC) Victim fingerprinting Opcode database (instruction addresses for various software versions) Exploit encoding (avoiding special character, intrustion and intrusion detection systems) Modular architecture, many add-ons Powerful scriptable command-line interface Convenient GUI and web interfaces 12

Metasploit Framework (cont.) http://www.metasploit.com/ Book: Kennedy, O Gorman, Kearns, Aharoni, Metasplit: The Penetration Tester s Guide (2011 edition) Numerous on-line tutorials Example: https://www.youtube.com/watch?v=mrlauaowt-w 13

Metasploit Framework: back to MS06-040 Demo: https://www.youtube.com/watch?v=mrlauaowt-w 14

Meanwhile, in theory-land Fully Homomorphic Encryption 15

16 of 32 The goal Delegate processing of data without giving away access to it

17 of 32 Example 1: Private Search Delegate PROCESSING of data without giving away ACCESS to it You: Encrypt the query, send to Google (Google does not know the key, cannot see the query) Google: Encrypted query Encrypted results (You decrypt and recover the search results)

18 of 32 Example 2: Private Cloud Computing Delegate PROCESSING of data without giving away ACCESS to it Encrypt x Enc(x), P Enc(P(x)) (Input: x) (Program: P)

19 of 32 Fully Homomorphic Encryption Encrypted x, Program P Encrypted P(x) Definition: (KeyGen, Enc, Dec, Eval) (as in regular public/private-key encryption) Correctness of Eval: For every input x, program P If c = Enc(PK, x) and c = Eval (PK, c, P), then Dec (SK, c ) = P(x). Compactness: Length of c independent of size of P Security = Semantic Security [GM82]

x Fully Homomorphic Encryption [Rivest-Adleman-Dertouzos 78] Enc(x) Knows nothing of x. Function f Eval: f, Enc(x) Enc(f(x)) homomorphic evaluation 20 of 32

21 of 32 Fully Homomorphic Encryption First Defined: Privacy homomorphism [RAD 78] their motivation: searching encrypted data

22 of 32 Fully Homomorphic Encryption First Defined: Privacy homomorphism [RAD 78] their motivation: searching encrypted data Limited Variants: RSA & El Gamal: multiplicatively homomorphic GM & Paillier: additively homomorphic X c* = c 1 c 2 c n = (m 1 m 2 m n ) e mod N c 1 = m 1 e c 2 = m 2 e c n = m n e

Fully Homomorphic Encryption First Defined: Privacy homomorphism [RAD 78] their motivation: searching encrypted data Limited Variants: RSA & El Gamal: multiplicatively homomorphic GM & Paillier: additively homomorphic BGN 05 & GHV 10: quadratic formulas NON-COMPACT homomorphic encryption: 23 of 32 Based on Yao garbled circuits SYY 99 & MGH 08: c* grows exp. with degree/depth IP 07 works for branching programs

Fully Homomorphic Encryption First Defined: Privacy homomorphism [RAD 78] their motivation: searching encrypted data Big Breakthrough: [Gentry09] First Construction of Fully Homomorphic Encryption using algebraic number theory & ideal lattices Full course last semester Today: an alternative construction [DGHV 10]: using just integer addition and multiplication 24 of 32 easier to understand, implement and improve

25 of 32 Constructing fully-homomoprhic encryption assuming hardness of approximate GCD

A Roadmap 1. Secret-key Somewhat Homomorphic Encryption (under the approximate GCD assumption) (a simple transformation) 2. Public-key Somewhat Homomorphic Encryption (under the approximate GCD assumption) (borrows from Gentry s techniques) 26 3. Public-key FULLY Homomorphic Encryption (under approx GCD + sparse subset sum)

Secret-key Homomorphic Encryption Secret key: a large n 2 -bit odd number p (sec. param = n) To Encrypt a bit b: pick a random large multiple of p, say q p pick a random small even number 2 r (q ~ n 5 bits) (r ~ n bits) Ciphertext c = q p+2 r+b noise To Decrypt a ciphertext c: c (mod p) = 2 r+b (mod p) = 2 r+b read off the least significant bit 27

Secret-key Homomorphic Encryption How to Add and Multiply Encrypted Bits: Add/Mult two near-multiples of p gives a near-multiple of p. c 1 = q 1 p + (2 r 1 + b 1 ), c 2 = q 2 p + (2 r 2 + b 2 ) c 1 +c 2 = p (q 1 + q 2 ) + 2 (r 1 +r 2 ) + (b 1 +b 2 ) «p LSB = b 1 XOR b 2 c 1 c 2 = p (c 2 q 1 +c 1 q 2 -q 1 q 2 ) + 2 (r 1 r 2 +r 1 b 2 +r 2 b 1 ) + b 1 b 2 «p LSB = b 1 AND b 2 28

Problems Ciphertext grows with each operation Useless for many applications (cloud computing, searching encrypted e-mail) Noise grows with each operation Consider c = qp+2r+b Enc(b) c (mod p) = r 2r+b lsb(r ) b 2r+b r 29 (q-1)p qp (q+1)p (q+2)p

Problems Ciphertext grows with each operation Useless for many applications (cloud computing, searching encrypted e-mail) Noise grows with each operation Can perform limited number of hom. operations What we have: Somewhat Homomorphic Encryption 30

Public-key Homomorphic Encryption Secret key: an n 2 -bit odd number p Public key: [q 0 p+2r 0,q 1 p+2r 1,,q t p+2r t ] = (x 0,x 1,,x t ) t+1 encryptions of 0 Wlog, assume that x 0 is the largest of them To Decrypt a ciphertext c: c (mod p) = 2 r+b (mod p) = 2 r+b read off the least significant bit 31 Eval (as before)

Public-key Homomorphic Encryption Secret key: an n 2 -bit odd number p Public key: [q 0 p+2r 0,q 1 p+2r 1,,q t p+2r t ] = (x 0,x 1,,x t ) To Encrypt a bit b: pick random subset S c = xi + 2r + b (mod x 0 ) i S [1 t] 32 To Decrypt a ciphertext c: q c (mod p) = 2 r+b i r + (mod r p) = i 2 r+b c = p[ ] + 2[ ] + b (mod kx 0 (for x 0 ) a small k) i S read off the qleast i kq 0 significant r + bit r i kr 0 Eval (as(mult. before) of p) + ( small even noise) + b i S = p[ ] + 2[ ] + b i S i S

Public-key Ciphertext Homomorphic Size Reduction Encryption Secret key: an n 2 -bit odd number p Public key: [q 0 p+2r 0,q 1 p+2r 1,,q t p+2r t ] = (x 0,x 1,,x t ) To Encrypt a bit b: pick random subset S [1 t] Resulting ciphertext < x c = xi + 2r 0 + b (mod x 0 ) i S Underlying bit is the same (since x 0 has even noise) To Noise Decrypt does a ciphertext not increase c: by much (*) c (mod p) = 2 r+b (mod p) = 2 r+b read off the least significant bit 33 Eval: Reduce mod x 0 after each operation (*) additional tricks for mult

A Roadmap Secret-key Somewhat Homomorphic Encryption Public-key Somewhat Homomorphic Encryption 34 3. Public-key FULLY Homomorphic Encryption

How Somewhat Homomorphic is this? Can evaluate (multi-variate) polynomials with m terms, and maximum degree d if d << n. 2 nd m 2 < p / 2 = 2 n / 2 or d ~ n f(x 1,, x t ) = x 1 x 2 x d + + x 2 x 5 x d-2 m terms Say, noise in Enc(x i ) < 2 n Final Noise ~ (2 n ) d + +(2 n ) d = m (2 n ) d 35

From Somewhat to Fully Theorem [Gentry 09]: Convert bootstrappable FHE. FHE = Can eval all fns. Somewhat Bootstrappable HE Augmented Decryption ckt. NAND Dec Dec 36 c 1 sk c 2 sk

Is our Scheme Bootstrappable? What functions can the scheme EVAL? (polynomials of degree < n) (?) Complexity of the (aug.) Decryption Circuit (degree ~ n 1.73 polynomial) Can be made bootstrappable Similar to Gentry 09 Caveat: Assume Hardness of Sparse Subset Sum 37

Security (of the somewhat homomorphic scheme) 38

The Approximate GCD Assumption Parameters of the Problem: Three numbers P,Q and R p q 1 p+r 1 p? (q 1 p+r 1,, q t p+r t ) q 1 [0 Q] Assumption: no PPT adversary r 1 [-R R] can guess the number p odd p [0 P] 39

p (q 1 p+r 1,, q t p+r t ) p? Assumption: no PPT adversary can guess the number p (proof = of security) Semantic Security [GM 82]: no PPT adversary can guess the bit b PK =(q 0 p+2r 0,{q i p+2r i }) Enc(b) =(qp+2r+b) 40

Progress in FHE Galactic Efficient [BV11a, BV11b, BGV11, GHS11, LTV11] asymptotically: nearly linear-time* algorithms practically: a few milliseconds for Enc, Dec [LNV11,GHS11] Strange assumptions Mild assumptions [BV11b, GH11, BGV11] Best Known [BGV11]: (leveled) FHE from worst-case hardness of n O(log n) -approx short vectors on lattices 41 *linear-time in the security parameter

42 sk 1, pk 1 Multi-key FHE x 1 Function f sk 2, pk 2 x 2

43 sk 1, pk 1 Multi-key FHE x 1 Dec y = Eval(f,c 1,c 2 ) Function f sk 2, pk 2 x 2 orrectness: Dec(sk 1,sk 2 y)=f(x 1,x 2 )

Fully homomorphic encryption: discussion Assumptions Mathematical Adversarial model Applicability Decryption? Keys? Alternative: multiparty computation When interaction is free What about integrity? Computationally-sound proofs, proof-carrying data 44