Storage & Retrieval Privacy

Slides:



Advertisements
Similar presentations
Cloud Computing Security Monir Azraoui, Kaoutar Elkhiyaoui, Refik Molva, Melek Ӧ nen, Pasquale Puzio December 18, 2013 – Sophia-Antipolis, France.
Advertisements

Off-the-Record Communication, or, Why Not To Use PGP
Efficient Information Retrieval for Ranked Queries in Cost-Effective Cloud Environments Presenter: Qin Liu a,b Joint work with Chiu C. Tan b, Jie Wu b,
Encipherment Using Modern Symmetric-Key Ciphers. 8.2 Objectives ❏ To show how modern standard ciphers, such as DES or AES, can be used to encipher long.
Spring 2000CS 4611 Security Outline Encryption Algorithms Authentication Protocols Message Integrity Protocols Key Distribution Firewalls.
Sri Lanka Institute of Information Technology
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
1 Uncoercible Communication, or How to Lie with Impunity Matthew Kerner CSEP 590 3/5/06.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Introduction to Practical Cryptography Lecture 9 Searchable Encryption.
CSCE 715 Ankur Jain 11/16/2010. Introduction Design Goals Framework SDT Protocol Achievements of Goals Overhead of SDT Conclusion.
Lecture III : Communication Security, Services & Mechanisms Internet Security: Principles & Practices John K. Zao, PhD SMIEEE National Chiao-Tung University.
CS7380: Privacy Aware Computing Oblivious RAM 1. Motivation  Starting from software protection Prevent from software piracy A valid method is using hardware.
Block Ciphers: Workhorses of Cryptography COMP 1721 A Winter 2004.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
CMSC 414 Computer and Network Security Lecture 21 Jonathan Katz.
CSI 400/500 Operating Systems Spring 2009 Lecture #20 – Security Measures Wednesday, April 29 th.
Chapter 9 - Control in Computerized Environment ATG 383 – Spring 2002.
Cryptography (continued). Enabling Alice and Bob to Communicate Securely m m m Alice Eve Bob m.
Freenet A Distributed Anonymous Information Storage and Retrieval System I Clarke O Sandberg I Clarke O Sandberg B WileyT W Hong.
70-270, MCSE/MCSA Guide to Installing and Managing Microsoft Windows XP Professional and Windows Server 2003 Chapter Nine Managing File System Access.
Public Key Encryption that Allows PIR Queries Dan Boneh 、 Eyal Kushilevitz 、 Rafail Ostrovsky and William E. Skeith Crypto 2007.
CMSC 414 Computer and Network Security Lecture 13 Jonathan Katz.
Alexander Potapov.  Authentication definition  Protocol architectures  Cryptographic properties  Freshness  Types of attack on protocols  Two-way.
Chapter 19 Security Transparencies. 2 Chapter 19 - Objectives Scope of database security. Why database security is a serious concern for an organization.
Practical Techniques for Searches on Encrypted Data Yongdae Kim Written by Song, Wagner, Perrig.
Key Management Lifecycle. Cryptographic key management encompasses the entire lifecycle of cryptographic keys and other keying material. Basic key management.
Page 1 Secure Communication Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
1 Introduction to Security and Cryptology Enterprise Systems DT211 Denis Manley.
Chapter 10: Authentication Guide to Computer Network Security.
Cong Wang1, Qian Wang1, Kui Ren1 and Wenjing Lou2
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
The University of Akron Dept of Business Technology Computer Information Systems DBMS Functions 2440: 180 Database Concepts Instructor: Enoch E. Damson.
Csci5233 Computer Security1 Bishop: Chapter 10 (Cont.) Key Management: Storage & Revoking.
The Steganographic File System Ross Anderson, Roger Needlham, Adi Shamir Presented by: Pan Meng Presented by: Pan Meng.
SEC835 Practical aspects of security implementation Part 1.
Data and its manifestations. Storage and Retrieval techniques.
1 Practical Techniques for Searches on Encrypted Data Dawn Song, David Wagner, Adrian Perrig.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Private Keyword Search on Streaming Data Rafail Ostrovsky William Skeith UCLA (patent pending)
4 th lecture.  Message to be encrypted: HELLO  Key: XMCKL H E L L O message 7 (H) 4 (E) 11 (L) 11 (L) 14 (O) message + 23 (X) 12 (M) 2 (C) 10 (K) 11.
Chapter 31 Cryptography And Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
CH1. Hardware: CPU: Ex: compute server (executes processor-intensive applications for clients), Other servers, such as file servers, do some computation.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
Merkle trees Introduced by Ralph Merkle, 1979 An authentication scheme
Secure Conjunctive Keyword Search Over Encrypted Data Philippe Golle Jessica Staddon Palo Alto Research Center Brent Waters Princeton University.
Data Integrity Proofs in Cloud Storage Author: Sravan Kumar R and Ashutosh Saxena. Source: The Third International Conference on Communication Systems.
Network Security Continued. Digital Signature You want to sign a document. Three conditions. – 1. The receiver can verify the identity of the sender.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
多媒體網路安全實驗室 Practical Searching Over Encrypted Data By Private Information Retrieval Date: Reporter: Chien-Wen Huang 出處: GLOBECOM 2010, 2010 IEEE.
Presentation Road Map 1 Authenticated Encryption 2 Message Authentication Code (MAC) 3 Authencryption and its Application Objective Modes of Operation.
Private Information Retrieval Based on the talk by Yuval Ishai, Eyal Kushilevitz, Tal Malkin.
Secure Data Outsourcing
EE 122: Lecture 24 (Security) Ion Stoica December 4, 2001.
Wired Equivalent Privacy (WEP) Chris Overcash. Contents What is WEP? What is WEP? How is it implemented? How is it implemented? Why is it insecure? Why.
Keyword search on encrypted data. Keyword search problem  Linux utility: grep  Information retrieval Basic operation Advanced operations – relevance.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
Cryptographic Hash Function. A hash function H accepts a variable-length block of data as input and produces a fixed-size hash value h = H(M). The principal.
CMSC 818J: Privacy enhancing technologies Lecture 2.
Searchable Encryption in Cloud
Secure Sockets Layer (SSL)
Cryptographic Hash Function
pVault Sharing Architecture
Hiding Information, Encryption, and Bypasses
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Path Oram An Extremely Simple Oblivious RAM Protocol
Presentation transcript:

Storage & Retrieval Privacy George Danezis (g.danezis@ucl.ac.uk) With help from: Luca Melis (luca.melis.14@ucl.ac.uk) Steve Dodier-Lazaro (s.dodier-lazaro.12@ucl.ac.uk)

GA17: Where are we at? Communications content – E2E encryption Communications meta-data – Anonymous communications Computations – Homomorphic encryption / SMPC Integrity – Zero-Knowledge proofs Authentication / Authorization – Selective disclosure credentials Regulations – Data protection Data & Query anonymization – Differential privacy Human Aspects & requirements Storage & retrieval – PIR, ORAM, … Case studies – putting it all together in one architecture. + Labs & code review!

Scope of Private Storage and Retrieval Protecting Local storage: Threat: stolen HD / USB stick; Malware. Threat: compulsion to reveal encryption keys. Protecting Remote storage: Threat: 3rd party reading information, giving access. Threat: patterns of access betraying private information (Both access to private or public data) Threat: suppression, denial of service, recovery! Efficiency considerations: Feature: fast random access & update model. Feature: search / select records by content.

Bulk Storage & Encryption Challenges: Disk block level (may not be a multiple of Block cipher size). Random access reading. Random access writing. No extra space for an IV (Randomization) of a MAC (Integrity). Solutions: Use block ID as seed for IV (randomize) Integrity? Large block cipher, file system level protections.

Special Modes of operation – XTS Encryption of a single disk block i (many cipher blocks) GF(2128) Multiplication (remember GCM) Tweaks Keys XOR (Cipher text stealing not illustrated) XTS, found in TrueCrypt, dm-crypt and OS X. Image from http://en.wikipedia.org/wiki/Disk_encryption_theory

Case Study: Microsoft Bitlocker Ships with Windows Vista and later… Threat: lost laptop. Basic idea: Use AES-CBC to encrypt each block. Decrypt whole blocks in one go. IV: derive from disk block number using the key. Integrity? No room for a MAC tag per block. Alternative: all-or-nothing transform. In case of cipher text is modified the whole block becomes “garbage”. “Elephant” diffuser. Why? Avoid subtle errors by destroying all semantics. Key management: Tie key to computer’s Trusted Platform Module. Allow for key escrow within an organization for recovery!

Theme: Forget Key, or plausibly pretend it does not exist. Deniability Key problem: Compulsion / Coercion to reveal keys. Communications: Perfect Forward Secrecy Establish fresh keys for each session, delete them once done. Result: cannot recover all sessions. Such Deniability / Forward Secrecy is hard to achieve. Intrinsic limit: User needs to recover encrypted data. Therefore they may be forced to do so under coercion. 3 mechanisms to deal with coercion: Multiple levels of ciphertext – FS steganography Hidden message in cover – multimedia steganography. Append only file system. Theme: Forget Key, or plausibly pretend it does not exist.

Steganographic File System (StegFS) Key idea: Establish a hierarchy of levels and keys K0, K1, K2, … When operating at level Ki one knows all keys Kj, j < I Store different file systems, one at each level. Allow for collisions deletions, through error correction. Impossible to prove or disprove there is one more level … ? ? ? 2) Select positions and encrypt blocks using K1 unless already occupied. K1 1) Select positions and encrypt blocks using K0. K0 0) Initialize with random blocks Random blocks Andrew D. McDonald, Markus G. Kuhn: StegFS: A Steganographic File System for Linux. Information Hiding 1999: 462-477

Steganographic Media Embedding Key Idea: Embed a “stego” text into a “cover” image / sound / video. Use regions of “randomness” to make new image inconspicuous. Ensure all statistics of the image are indistinguishable from normal images. Use secret key to chose locations to embed and encrypt text. Result: can plausibly deny that some content is present. Encoding Decoding Store Image K K Katzenbeisser, Stefan, and Fabien Petitcolas. Information hiding techniques for steganography and digital watermarking. Artech house, 2000.

Forward secrecy in append only storage Key idea: Input key K0 into the system, and store it off-line somewhere safe. Encrypt each entry mi with key Ki and the update the key. Update using a hash function: Ki+1 = H(Ki). Delete Ki. m0 encrypt K0 store update encrypt m1 K1 update encrypt m2 K2 update Example use: Protect Sequential Images taken by Camera. K3

Private Remote Storage Wish to store and retrieve blocks on remote server. Protect against eavesdroppers and corrupt service. Key: secure cloud storage. Case Study: Tahoe-LAFS (Least Authority File System) Confidentiality relies on client side components. Crypto used to protect data. Servers are not “trusted”. Multiple servers used for high availability. Compare with: Dropbox, … Image and more info at https://www.tahoe-lafs.org/

Hiding access patterns to private storage Secure client-side cloud storage: Good: confidentiality, Integrity and availability of content. Lacking: traffic analysis of block reads / writes. Patterns of access may leak information about activities / content. Technique: Oblivious Random Access Memory (ORAM) Objective: use limited local storage to hide patterns of access to larger remote storage. Here: present access protocol. Note I: may also modify protocol to write blocks. Note II: more efficient protocols may be used in practice.

ORAM Insights Client may store a small number of items locally (Shelter). Initialization: Store a randomly permuted sequence of the blocks (i) on server. To access (read or write) block i: Check whether the block i is in the local shelter. Yes: read + write a random new position on the remote server and place it in shelter. No: read + write position (i) and store item i in the shelter. When shelter is full, obliviously permute afresh the remote database (hard!) . Access i Access j Security argument: every access i leads to a statistically independent access j.

ORAM & Oblivious shuffles How can you implement an oblivious shuffle, with limited local storage? Answer: An oblivious sorting network Secret permutation: Retrieve, permute, store

Hiding Public accesses – PIR Public, shared, databases but confidential accesses: Privacy concern: the pattern of access to public data may reveal private attributes. Example 1: You lookup whether a URL may be malicious on an online database -> probably you are about to download / render that page. Example 2: You are looking at a database entry on a medical condition -> you or someone close to you may be affected by this condition. Example 3: You query the presence record of another user -> you are friends with that user. Private Information Retrieval Objective: Access a public database record, without allowing the server to know which record you are accessing. Is it possible? Yes, trivial PIR = download the full database. Therefore PIR protocols must be more efficient than download the full DB. However, the server needs to do O(N) work for N records. (Why?) Chor, Benny, et al. "Private information retrieval." Journal of the ACM (JACM) 45.6 (1998): 965-981.

A simple PIR system Setup: Consider a database of N records. Trivial download O(N). Shape the database into a square matrix M of size N x N = N Query record i: Identify the row j holding record i. Generate a key for an additively homomorphic encryption scheme (eg. Paillier) Make a vector v of ciphertexts, one for each row: E(0) for all rows, except the target row j. Send the row to the server that computes and return vM Decrypt the returned row and retrieve the sought item.

PIR in pictures Why does that work? Client: Server: v v = M = v·M mi j=2 Encryptions of 0 or 1 Public data in clear v·M Decrypt: mi-2, mi-1, mi, mi+1 v·M = E E Em1 E Why does that work? m · E(0) = E(m · 0) = E(0) m · E(1) = E(m · 1) = E(m) E(0) + E(0) + E(m) + E(0) = E(m) Cost? - Comms: 2 x N - Compute: N

Multi-Server PIR Costs of Single Server PIR: Multiserver PIR: Cost: 1 homomorphic operation per item O(N) Ciphertext expansion. Eg. Paillier ciphertext is 2 x 2048 bits. Too much … Multiserver PIR: Assume k servers, include at least 1 honest. Use secret sharing for the encryption of 0 or 1 (as <0> or <1>) Otherwise same: m · <0> = <0> and m · <1> = <m> Each server combines shared query with DB and returns result shares. Cost: Communications 2 · k · N Computations: O(N) In practice: bottleneck is the memory fetch time – paralelize!

Multi-Server PIR – in pictures Client: Server k: v v = M = <0> <0> <1> <0> mi j=2 Shares of 0 or 1 Public data in clear v·M Reassemble shares: mi-2, mi-1, mi, mi+1 v·M = <.> <.> <m> <.> Why does that work? m · <0> = <m · 0> = <0> m · <1> = <m · 1> = <m> <0> + <0> + <m> + <0> = <m> Cost? - Comms: 2 x k x N - Compute: N per server - Small fields (mod 231-1)

Searching Private data Goal: Alice stores her email remotely, and she wants to retrieve all emails containing a specific keyword. Trivial Solution: Pre-build an index of keywords -> emails. Download the full index (not just for one word!) Do the query locally and retrieve the emails concerned only. Question: what does this mechanism leak?

Deterministic, order preserving encryption Trivial mechanism leaks: The volume of messages retrieved. The record ID of the messages retrieved. Adversary: may detect future queries to same term through those. Adversary: may construct a map of: Anonymous Queries -> message sets (Remember how hard it is to anonymize graphs) Mechanisms that leak no more than the above, at a lower cost: Deterministic encryption: “E(m) -> c” always the same “c”. Order preserving encryption: E(m0) -> c0 and E(m1) -> c1: if m0 < m1 then c0 < c1 Warning: Weaker than proper, randomized, encryption. Mechanism: use DE to encrypt index terms -> emails IDs. Query the store by DE(keyword), retrieve encrypted index chunk, retrieve messages. Seny Kamara, Charalampos Papamanthou, Tom Roeder: Dynamic searchable symmetric encryption. ACM Conference on Computer and Communications Security 2012: 965-976

Private Search on Streaming Data Goal: A large organization has a high-volume feed of data. Alice wishes to retrieve a subset that matches certain keywords, without revealing those keywords. Mechanism: uses additively homomorphic encryption. 1) Alice constructs map: keyword i -> E(Ii) where Ii = 0 or 1 2) Send map to filter. 3) Filter constructs a buffer of (E(0), E(0)) of size k log(N) 4) For each document filter: for all keywords i in mi : Sumi E(Ii), Sumi E(Ii)mi 5) Select 3 psedorandom location h(i) -> locations Add the 2 ciphertexts to those locations. 6) Send the buffer to Alice, that decrypts it, resolves collisions and recovers (short) documents. Rafail Ostrovsky, William E. Skeith III: Private Searching on Streaming Data. J. Cryptology 20(4): 397-430 (2007)