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



Similar documents
Database Security. The Need for Database Security

Big Data - Security and Privacy

Computing on Encrypted Data

Secure Alternate Viable Technique of Securely Sharing The Personal Health Records in Cloud

SECURITY ENHANCEMENT OF GROUP SHARING AND PUBLIC AUDITING FOR DATA STORAGE IN CLOUD

Secure and privacy-preserving DRM scheme using homomorphic encryption in cloud computing

Advanced Cryptography

Cloud and Mobile Computing

Overview of Public-Key Cryptography

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

Paillier Threshold Encryption Toolbox

A NOVEL APPROACH FOR MULTI-KEYWORD SEARCH WITH ANONYMOUS ID ASSIGNMENT OVER ENCRYPTED CLOUD DATA

Lecture 17: Re-encryption

Patient Controlled Encryption: Ensuring Privacy of Electronic Medical Records

First Semester Examinations 2011/12 INTERNET PRINCIPLES

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

EFFICIENT AND SECURE ATTRIBUTE REVOCATION OF DATA IN MULTI-AUTHORITY CLOUD STORAGE

Computer and Network Security. Outline

preliminary experiment conducted on Amazon EC2 instance further demonstrates the fast performance of the design.

Secure Role-Based Access Control on Encrypted Data in Cloud Storage using Raspberry PI

Introduction. Digital Signature

Combined Proxy Re-Encryption

Security Aspects of. Database Outsourcing. Vahid Khodabakhshi Hadi Halvachi. Dec, 2012

Identity-Based Encryption from the Weil Pairing

CS 758: Cryptography / Network Security

Data management using Virtualization in Cloud Computing

Enabling Public Auditing for Secured Data Storage in Cloud Computing

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

Sharing Of Multi Owner Data in Dynamic Groups Securely In Cloud Environment

Verifiable Outsourced Computations Outsourcing Computations to Untrusted Servers

MACs Message authentication and integrity. Table of contents

Privacy and Security in Cloud Computing

Keywords Cloud Storage, Error Identification, Partitioning, Cloud Storage Integrity Checking, Digital Signature Extraction, Encryption, Decryption

CryptoVerif Tutorial

Associate Prof. Dr. Victor Onomza Waziri

Secure Collaborative Privacy In Cloud Data With Advanced Symmetric Key Block Algorithm

Secure Computation Martin Beck

DATA SECURITY IN CLOUD USING ADVANCED SECURE DE-DUPLICATION

Efficient and Robust Secure Aggregation of Encrypted Data in Wireless Sensor Networks

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

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

Improving data integrity on cloud storage services

WHITE PAPER

Secure Group Oriented Data Access Model with Keyword Search Property in Cloud Computing Environment

Cryptography: Authentication, Blind Signatures, and Digital Cash

[Sudhagar*, 5(5): May, 2016] ISSN: Impact Factor: 3.785

Cryptography: RSA and Factoring; Digital Signatures; Ssh

VoteID 2011 Internet Voting System with Cast as Intended Verification

Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads

Time-Based Proxy Re-encryption Scheme for Secure Data Sharing in a Cloud Environment

Homomorphic Encryption Method Applied to Cloud Computing

New Efficient Searchable Encryption Schemes from Bilinear Pairings

The application of prime numbers to RSA encryption

CS Computer Security Third topic: Crypto Support Sys

Secure cloud access system using JAR ABSTRACT:

Basic Algorithms In Computer Algebra

Secure Network Communication Part II II Public Key Cryptography. Public Key Cryptography

CS377: Database Systems Data Security and Privacy. Li Xiong Department of Mathematics and Computer Science Emory University

Module 7 Security CS655! 7-1!

Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm By Mihir Bellare and Chanathip Namprempre

1 Construction of CCA-secure encryption

Whitewash: Securely Outsourcing Garbled Circuit Generation

Performance Evaluation Panda for Data Storage and Sharing Services in Cloud Computing

THE UNIVERSITY OF TRINIDAD & TOBAGO

KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE. Mihir Bellare UCSD 1

Authenticated encryption

Monitoring Data Integrity while using TPA in Cloud Environment

CIS 5371 Cryptography. 8. Encryption --

Secure Storage. Lost Laptops

3-6 Toward Realizing Privacy-Preserving IP-Traceback

Categorical Heuristic for Attribute Based Encryption in the Cloud Server

1 Signatures vs. MACs

An Enhanced Security Enabled Sharing of Protected Cloud Storage Services by Trapdoor Commitment Based on RSA Signature Assumption

Survey on Efficient Information Retrieval for Ranked Query in Cost-Efficient Clouds

CSCE 465 Computer & Network Security

Deniable Encryption Key

DAC-MACS: Effective Data Access Control for Multiauthority Cloud Storage Systems

Keywords: Authentication, Third party audit, cloud storage, cloud service provider, Access control.

Experimental Analysis of Privacy-Preserving Statistics Computation

Secure Cloud Storage using Multi Attribute Authority with Multi Central Authority

Cloud Data Service for Issues in Scalable Data Integration Using Multi Authority Attribute Based Encryption

Chapter 10. Network Security

Secure Attribute Based Mechanism through Access cipher policy in Outsourced Cloud Data

Cryptography & Network Security. Introduction. Chester Rebeiro IIT Madras

A COMPARATIVE STUDY OF SECURE SEARCH PROTOCOLS IN PAY- AS-YOU-GO CLOUDS

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

PRIVACY ASSURED IMAGE STACK MANAGEMENT SERVICE IN CLOUD

Enhancing Data Security in Cloud Storage Auditing With Key Abstraction

Transcription:

An Efficient and Secure Data Sharing Framework using Homomorphic Encryption in the Cloud Sanjay Madria Professor and Site Director for NSF I/UCRC Center on Net-Centric Software and Systems Missouri University of Science & Technology, Rolla, MO 65401, USA madrias@mst.edu Joint work with Bharath K. Samanthula, Gerry Howser, Yousef Elmehdwi Missouri University of Science & Technology, Rolla, MO 65401, USA

Outline Motivation Problem Statement Related work Main Contribution Preliminaries Proposed Solutions SDS Framework Correctness proof Example Modified-SDS Framework Conclusion / Future Work

SYSTEM MODEL

PROBLEM STATEMENT Data owner Alice outsources data to the cloud after encryption Goal: To provide a fine-grained access control to various users authorized by Alice

MOTIVATION Data is outsourced to the cloud Cost-efficiency and flexibility For privacy issues encrypting the data seems to be a better choice Access Control on Encrypted Data in the Cloud Relies heavily upon encrypted data in the cloud One of the reasons in using encrypted data in the cloud is protecting the data from the cloud itself However, encrypted data on the cloud places limitations upon data searches and queries

Cont.. Some important issues to be addressed in Access Control Fine-grained access control with efficient user revocation Rejoin of revoked users Collusion between users Collusion between a user and the cloud Efficient modification of user access privileges

RELATED WORK Yang et al. [1] proposed a new fine-grained access control protocol using Symmetric encryption and Proxy Reencryption schemes. Disadvantages: Symmetric encryption provides weaker security guarantees Possibility of Information leakage: Rejoin of revoked user Collusion of revoked user with authorized user Bob Collusion between Bob and the cloud

OUR CONTRIBUTION Developed a new Secure Data Sharing (SDS) framework to achieve fine-grained data sharing/access control over data outsourced to the cloud that provides following features: Efficient user revocation Efficient and secure re-join of a previously revoked user Prevention of collusion between a user and the CSP Prevention of collusion between a revoked user and an authorized user. Generic Approach

Preliminaries SDS uses two specific encryption techniques: additive homomorphic encryption + proxy re-encryption Additive homomorphic (Probabilistic) encryption: E pk (x + y) = E pk (x) E pk (y) mod N 2 E pk (c x) = E pk (x) c mod N 2 The encryption scheme is semantically secure where N is the RSA modulus which is also a part of the public key pk.

CONTD Proxy Re-encryption: Allows a semi-trusted proxy T to convert ciphertext under Alice s public key into one encrypting the same plaintext under Bob s public key: PRE(E pka (x), rk pka à pk b ) à E pkb (x) where pk a and pk b are the public keys of Alice and Bob respectively. Proxy only knows the re-encryption key rk pka à pk b Nothing is revealed about the plaintext x to T.

Proposed SDS Framework Utilizes additive homomorphic encryption and proxy re-encryption schemes as underlying sub-routines Our Secure Data Sharing (SDS) framework consists of five stages: 1) Key Generation and Distribution 2) Data Outsourcing 3) Data Access 4) User Revocation 5) User Rejoin

Proposed SDS Framework

Key Generation and Distribution Acts as an initialization step The data owner (Alice) generates two kinds of key pairs Master key pair (pk a, pr a ). Where, pk a and pr a are the public and private keys of Alice. For each authorized user, say Bob, Alice creates a public/ private key pair (pk b, pr b ) and sends it to Bob.

Data Outsourcing For each data record d, Alice proceeds as follows: Let d 1,, d n denote the attribute values of d Picks n+m number of random numbers - r 1,., r n+m d = < d 1 + r n+1,, d n + r n, r n+1,.., r n+m > = < d 1,, d n+m > where r i is a random number chosen from Z N Assume E pka (d ) = < E pka (d 1 ),,E pka (d n+m )> For a particular user, say Bob, we have the following two cases: Case 1: Bob has access to a set of attributes (S) in d Case 2: Bob is not authorized to access d

Data Outsourcing (contd ) For each authorized user Bob on d, Alice creates authorization token T d b Case 1: T d b = {Bob, rk pk a -> pk b, <E pk b (α 1 ),,E pkb (α n+m )>} For, 1 i n+m: If 1 i n and d i S, α i = - r i Otherwise, α i = - d i Case 2: Alice sets T d b = null

Data Outsourcing (contd ) Similarly, Alice generates the authorization list for all authorized users T d Note that if T d b is null, it is not included in Td Now Alice exports the new data (T d, E pka (d )) to the cloud

Data Access Upon a request from Bob, for each data record d, the cloud checks whether there is a token for Bob If there is no entry the cloud simply aborts the request If there exists an entry (T d b ) for Bob, the cloud proceeds as follows: E pkb (d ) {E pkb (d 1 ),, E pkb (d n+m )} using rk pka -> pk b For all i, computes E pkb (d i + α i ) E pkb (d i ) + E pkb (α i ) Sends < E pkb (d 1 + α 1 ),., E pkb (d n+m + α n+m ) > to Bob

Data Access Bob decrypts each entry and gets d i + α i (1 i n+m) Note that Bob will successfully decrypt to only those attribute values he is authorized to access That is, d i + α i = d i only if Bob is authorized to access attribute i. Other attribute values will yield a value of zero upon decryption.

User Revocation & Rejoin User Revocation: Whenever Alice wish to revoke user Bob for a data record d, Alice simply asks the cloud to remove T d b from Td User Rejoin: Bob can have following two scenarios for d. Scenario 1: Authorized to the same set (S) of attributes Scenario 2: Authorized to different set of attributes (U) In any case, Alice uses corresponding set (either S or U) and creates T d b and sends it to the cloud. Then the cloud adds T d b to Td

Correctness (proof) Theorem: For any data record d, Bob can only retrieve the set of attributes (S) he is authorized to access. On the other hand, if Bob is not an authorized user then he does not get access to d on the cloud (assuming no collusion). Proof: If Bob is an authorized user, then The final values retrieved by Bob after decryption are < d 1 + α 1,., d n+m + α n+m >. For n+1 i n+m, d i + α i = -r i + r i = 0 For 1 i n: If d i S, then d i + α i = d i + r i - r i = d i Otherwise, d i + α i = 0

Example Alice: Data Owner Consider Cherry data record as d Suppose Bob (Supervisor) is authorized to access <NAME, AGE, ROOM, DISEASE> attribute values of d Whereas Charles (Friend) is authorized to access only <NAME, ROOM> attribute values of d

Example (Data Outsource) First, Alice masks the data record d and proceeds as follows: Let d = <Cherry + r 1, 27+ r 2, 163+ r 3, 65+ r 4, Diabetes+ r 5, r 6 >, here m=1 E pka (d ) = < E pka (Cherry + r 1 ), E pka (27+ r 2 ), E pka (163+ r 3 ), E pka (65+ r 4 ), E pka (Diabetes+ r 5 ), E pka (r 6 )> T d b = {Bob, rk pk a -> pk b, <E pk b (-r 1 ), E pkb (-r 2 ), E pkb (-r 3-163), E pkb (-r 4 ), E pkb (- r 5 ), E pkb (-r 6 )>} T d c = {Charles, rk pk a -> pk c, <E pk c (-r 1 ), E pkc (-r 2-27), E pkc (-r 3-163), E pkc (-r 4 ), E pkc (-r 5 -Diabetes), E pkc (-r 6 )>} T d = < T d b, Td c > Sends (T d, E pka (d )) to the cloud

Example (Data Access by Bob) The cloud computes < E pkb (Cherry + r 1 ), E pkb (27+ r 2 ), E pkb (163+ r 3 ), E pkb (65+ r 4 ), E pkb (Diabetes+ r 5 ), E pkb (r 6 )> Cloud E pkb (Cherry ) E pkb (27) E pkb (0) E pkb (65 ) E pkb (Diabetes ) E pkb (0) Bob decrypts using pr b Cherry 27 0 65 Diabetes 0

Example (Data Access by Charles) The cloud computes < E pkc (Cherry + r 1 ), E pkc (27+ r 2 ), E pkc (163+ r 3 ), E pkc (65+ r 4 ), E pkc (Diabetes+ r 5 ), E pkc (r 6 )> Cloud E pkc (Cherry ) E pkc (0) E pkc (0) E pkc (65) E pkc (0) E pkc (0) Charles decrypts using pr c Cherry 0 0 65 0 0

Modified SDS Framework Collusion between a user and the cloud might keep the owner s data at risk To address this issue, we modify the proposed protocol: Data Distribution Instead of storing the data (T d, E pka (d )) on one cloud, we distribute it to two clouds (Federated cloud). Alice will outsource (ID_list, E pka (d )) to the primary cloud and (ID_list, T d ) to the secondary cloud A collusion between a user and one of the clouds will not provide any meaning full information to either of the parties.

Preliminary Experimental Results Platform Description: Linux machine with an Intel 3.0GHz CORE 2 DUO with 3GB memory. Randomly generated the number of attributes for a data record d (i.e., n). Tested the computational time for Alice for generating a token and encrypting d based on varying number of attributes for key sizes 512 and 1024 bits.

Alice computational time (m=10)

Conclusion/ Future Work Proposed an efficient and secure data sharing (SDS) framework that prevents information leakage when user rejoins the system In addition, modified the SDS framework, to prevent the information leakage in the case of collusion between a user and the cloud by distributing the data among two clouds. Alternative approach: To distribute private key of user Bob among multiple clouds and Bob. Hybrid approach Key + Data Distribution Currently, implementing the SDS framework in a cloud environment

Reference [1]Y. Yang and Y. Zhang. A generic scheme for secure data sharing in cloud. In Parallel Processing Workshops (ICPPW), 2011 40 th International Conference on, pages 145 153, sept. 2011.

Questions J