Data Security and Privacy in the Cloud Sara Foresti Dipartimento di - - PowerPoint PPT Presentation

data security and privacy in the cloud
SMART_READER_LITE
LIVE PREVIEW

Data Security and Privacy in the Cloud Sara Foresti Dipartimento di - - PowerPoint PPT Presentation

Data Security and Privacy in the Cloud Sara Foresti Dipartimento di Informatica Universit degli Studi di Milano sara.foresti@unimi.it Secure Cloud Services and Storage Workshop 2017 September 10, 2017 Oslo, Norway SPDP Lab c 1/32


slide-1
SLIDE 1

Data Security and Privacy in the Cloud

Sara Foresti

Dipartimento di Informatica Università degli Studi di Milano

sara.foresti@unimi.it Secure Cloud Services and Storage Workshop 2017

September 10, 2017 – Oslo, Norway

c SPDP Lab 1/32

slide-2
SLIDE 2

Cloud computing

  • The Cloud allows users and organizations to rely on external

providers for storing, processing, and accessing their data

+ + + high configurability and economy of scale + + + data and services are always available + + + scalable infrastructure for applications

  • Users lose control over their own data

− − − new security and privacy problems

  • Need solutions to protect data and to securely process them

in the cloud

c SPDP Lab 2/32

slide-3
SLIDE 3

Cloud computing: Today

Cloud Service Providers (CSPs) apply security measures in the services they offer but these measures protect only the perimeter and storage against outsiders

data owner cloud data owner cloud

functionality implies full trust in the CSP that has full access to the da protection but limited functionality since the CSP cannot access data

c SPDP Lab 3/32

slide-4
SLIDE 4

Cloud computing: Today

Cloud Service Providers (CSPs) apply security measures in the services they offer but these measures protect only the perimeter and storage against outsiders

functionality data owner cloud data owner cloud

  • functionality

implies full trust in the CSP that has full access to the data (e.g., Goo protection but limited functionality since the CSP cannot access data

c SPDP Lab 3/32

slide-5
SLIDE 5

Cloud computing: Today

Cloud Service Providers (CSPs) apply security measures in the services they offer but these measures protect only the perimeter and storage against outsiders

functionality but no protection (key is with the CSP) data owner cloud data owner cloud

  • functionality implies full trust in the CSP that has full access to the

data (e.g., Google Cloud Storage, iCloud) protection but limited functionality since the CSP cannot access data

c SPDP Lab 3/32

slide-6
SLIDE 6

Cloud computing: Today

Cloud Service Providers (CSPs) apply security measures in the services they offer but these measures protect only the perimeter and storage against outsiders

functionality but no protection (key is with the CSP) protection data owner cloud data owner cloud

  • functionality implies full trust in the CSP that has full access to the

data (e.g., Google Cloud Storage, iCloud)

  • protection

but limited functionality since the CSP cannot access data (e.g., Boxc

c SPDP Lab 3/32

slide-7
SLIDE 7

Cloud computing: Today

Cloud Service Providers (CSPs) apply security measures in the services they offer but these measures protect only the perimeter and storage against outsiders

functionality but no protection (key is with the CSP) protection but limited functionality (you cannot access data as you like) data owner cloud data owner cloud

  • functionality implies full trust in the CSP that has full access to the

data (e.g., Google Cloud Storage, iCloud)

  • protection but limited functionality since the CSP cannot access

data (e.g., Boxcryptor, SpiderOak)

c SPDP Lab 3/32

slide-8
SLIDE 8

Cloud computing: ESCUDO-CLOUD’s vision

Solutions that provide protection guarantees giving the data owners both: full control over their data and cloud functionality over them

data owner cloud

client-side trust boundary: only the behavior of the client should be co = ⇒ techniques and implementations supporting direct processing

  • f encrypted data in the cloud

H2020 project “Enforceable Security in the Cloud to Uphold Data Ownership” (ESCUDO-CLOUD). c SPDP Lab 4/32

slide-9
SLIDE 9

Cloud computing: ESCUDO-CLOUD’s vision

Solutions that provide protection guarantees giving the data owners both: full control over their data and cloud functionality over them

  • client-side trust boundary: only the behavior of the client should

be considered trusted = ⇒ techniques and implementations supporting direct processing

  • f encrypted data in the cloud

H2020 project “Enforceable Security in the Cloud to Uphold Data Ownership” (ESCUDO-CLOUD). c SPDP Lab 4/32

slide-10
SLIDE 10

Some challenges in data protection

  • Protection of and fine-grained access to outsourced data
  • confidentiality (and integrity) of data at rest
  • fine-grained retrieval and query execution
  • Selective information sharing
  • access control on resources in the cloud
  • Confidentiality of data access
  • privacy of users’ actions (access and pattern confidentiality)
  • Integrity
  • integrity of stored data and query results

P . Samarati, S. De Capitani di Vimercati, “Cloud Security: Issues and Concerns,” in Encyclopedia on Cloud Computing,

  • S. Murugesan, I. Bojanova (eds.), Wiley, 2016.

c SPDP Lab 5/32

slide-11
SLIDE 11

Some challenges in data protection

  • Protection of and fine-grained access to outsourced data
  • confidentiality (and integrity) of data at rest
  • fine-grained retrieval and query execution
  • Selective information sharing
  • access control on resources in the cloud
  • Confidentiality of data access
  • privacy of users’ actions (access and pattern confidentiality)
  • Integrity
  • integrity of stored data and query results

P . Samarati, S. De Capitani di Vimercati, “Cloud Security: Issues and Concerns,” in Encyclopedia on Cloud Computing,

  • S. Murugesan, I. Bojanova (eds.), Wiley, 2016.

c SPDP Lab 5/32

slide-12
SLIDE 12

Selective Information Sharing

  • S. De Capitani di Vimercati, S. Foresti, S. Jajodia, S. Paraboschi, P

. Samarati, “Encryption Policies for Regulating Access to Outsourced Data,” in ACM Transactions on Database Systems (TODS), vol. 35, n. 2, April 2010, pp. 12:1-12:46.

slide-13
SLIDE 13

Selective information sharing

  • Different users might need to enjoy different views on the
  • utsourced data
  • Enforcement of the access control policy requires the data owner

to mediate access requests = ⇒ impractical (if not inapplicable)

  • Authorization enforcement may not be delegated to the provider

= ⇒ data owner should remain in control

c SPDP Lab 7/32

slide-14
SLIDE 14

Selective information sharing: Approaches – 1

  • Attribute-based encryption (ABE): allow derivation of a key only by

users who hold certain attributes (based on asymmetric cryptography)

c SPDP Lab 8/32

slide-15
SLIDE 15

Selective information sharing: Approaches – 2

  • Selective (policy-based) encryption: the authorization policy

defined by the data owner is translated into an equivalent encryption policy

  • users will be able to access only the resources for which they have

the key

c SPDP Lab 9/32

slide-16
SLIDE 16

Selective encryption – 1

  • Selective encryption: different keys are used to encrypt different

data and users can know (or can derive) the keys of the data they can access

  • data themselves need to directly enforce access control
  • authorization to access a resource translated into

knowledge of the key with which the resource is encrypted r1 r2 r3 r4 r5 A 1 1 B 1 1 1 C 1 1 1 D 1 1 1 1 E 1 1 A knows the keys of r1, r2 B knows the keys of r1, r2, r3 C knows the keys of r1, r2, r3 D knows the keys of r2, r3, r4, r5 E knows the keys of r3, r5

c SPDP Lab 10/32

slide-17
SLIDE 17

Selective encryption – 2

Requirements:

  • one version of data (no replication)
  • one key per user

Basic idea:

  • key derivation method: via public tokens a user can derive all keys
  • f the resources she is allowed to access

r1 r2 r3 r4 r5 A 1 1 B 1 1 1 C 1 1 1 D 1 1 1 1 E 1 1

A kA k1 r1 B kB k2 r2 C kC k3 r3 D kD k4 r4 E kE k5 r5 c SPDP Lab 11/32

slide-18
SLIDE 18

Selective encryption – 3

Exploit ACLs to minimize number of keys and tokens

  • Keys:
  • one key per user
  • an additional key for each non-singleton ACL
  • Resources are encrypted with the key of their ACLs
  • Tokens allow users to derive the keys of the ACLs to which they

belong

A v1[A] v7[ABC] r1 B v2[B] v10[BC] C v3[C] v9[ABCD] r2 D v4[D] v8[BCD] r3 E v5[E] v6[DE] r4,r5 c SPDP Lab 12/32

slide-19
SLIDE 19

Policy updates

  • When authorizations dynamically change, the data owner needs

to:

  • download the resource from the provider
  • create a new key for the resource
  • decrypt the resource with the old key
  • re-encrypt the resource with the new key
  • upload the resource to the provider and communicate the public

catalog updates

= ⇒ inefficient

  • Possible solution: over-encryption

c SPDP Lab 13/32

slide-20
SLIDE 20

Over-encryption – 1

  • Resources are encrypted twice
  • by the owner, with a key shared with the users and unknown to the

provider (Base Encryption Layer - BEL level)

  • by the provider, with a key shared with authorized users

(Surface Encryption Layer - SEL level)

  • To access a resource a user must know both the corresponding

BEL and SEL keys

  • Grant and revoke operations may require
  • the addition of new tokens at the BEL level
  • the re-encryption of resources at the SEL level to guarantee the

enforcement of policy updates

c SPDP Lab 14/32

slide-21
SLIDE 21

Over-encryption – 2

Provider’s view User’s view

  • pen

locked sel_locked bel_locked

  • Each layer is depicted as a fence
  • discontinuous, if the key is known
  • continuous, if the key is not known (protection cannot be passed)

c SPDP Lab 15/32

slide-22
SLIDE 22

Over-encryption – 3

  • Revoke

to protect resources for which the revokee has the BEL key EXAMPLE r3 is encrypted with a key known to B, C, D at BEL r3 is not encrypted at SEL revoke B access to r3:

  • ver-encrypt r3, using a key at SEL known to C, D only

user B view

c SPDP Lab 16/32

slide-23
SLIDE 23

Over-encryption – 3

  • Revoke

to protect resources for which the revokee has the BEL key EXAMPLE r3 is encrypted with a key known to B, C, D at BEL r3 is not encrypted at SEL revoke B access to r3:

  • over-encrypt r3, using a key at SEL known to C, D only

user B view

c SPDP Lab 16/32

slide-24
SLIDE 24

Over-encryption – 4

  • Grant

if a BEL key protects multiple resources and access is to be granted only to a subset of them, there is the need to protect at SEL level the resources on which access is not being granted EXAMPLE r4, r5 are encrypted with the same key known to D, E at BEL r4, r5 are not encrypted at SEL grant C access to r4

add a token at BEL enabling C to derive the key of r4

  • ver-encrypt r5, using a key at SEL known to D, E only

user C view

c SPDP Lab 17/32

slide-25
SLIDE 25

Over-encryption – 4

  • Grant

if a BEL key protects multiple resources and access is to be granted only to a subset of them, there is the need to protect at SEL level the resources on which access is not being granted EXAMPLE r4, r5 are encrypted with the same key known to D, E at BEL r4, r5 are not encrypted at SEL grant C access to r4

  • add a token at BEL enabling C to derive the key of r4
  • ver-encrypt r5, using a key at SEL known to D, E only

user C view

c SPDP Lab 17/32

slide-26
SLIDE 26

Over-encryption – 4

  • Grant

if a BEL key protects multiple resources and access is to be granted only to a subset of them, there is the need to protect at SEL level the resources on which access is not being granted EXAMPLE r4, r5 are encrypted with the same key known to D, E at BEL r4, r5 are not encrypted at SEL grant C access to r4

  • add a token at BEL enabling C to derive the key of r4
  • over-encrypt r5, using a key at SEL known to D, E only

user C view

c SPDP Lab 17/32

slide-27
SLIDE 27

Mix&Slice for Policy Revocation

  • E. Bacis, S. De Capitani di Vimercati, S. Foresti, S. Paraboschi, M. Rosa, P

. Samarati, “Mix&Slice: Efficient Access Revocation in the Cloud,” in Proc. of the 23rd ACM Conference on Computer and Communications Security (CCS 2016), Vienna, Austria, October 2016. c SPDP Lab 18/32

slide-28
SLIDE 28

Mix&Slice

  • Over-encryption requires support by the server (i.e., the server

implements more than simple get/put methods)

  • Alternative solution to enforce revoke operations: Mix&Slice
  • Use different rounds of encryption to provide complete mixing of

the resource

= ⇒ unavailability of a small portion of the encrypted resource prevents its (even partial) reconstruction

  • Slice the resource into fragments and, every time a user is revoked

access to the resource, re-encrypt a randomly chosen fragment

= ⇒ lack of a fragment prevents resource decryption

c SPDP Lab 19/32

slide-29
SLIDE 29

Resource organization

  • Block: sequence of bits input to a block cipher

Block: AES uses block of 128 bits Mini-block: sequence of bits in a block Mini-block: it is our atomic unit of protection Mini-block: mini-blocks of 32 bits imply a cost of Mini-block: 232 for brute-force attacks Macro-block: sequence of blocks Macro-block: mixing operates at the level of macro-block Macro-block: a macro-block of 1KB includes 8 blocks

c SPDP Lab 20/32

slide-30
SLIDE 30

Resource organization

  • Block: sequence of bits input to a block cipher

Block: AES uses block of 128 bits

  • Mini-block: sequence of bits in a block

Mini-block: it is our atomic unit of protection Mini-block: mini-blocks of 32 bits imply a cost of Mini-block: 232 for brute-force attacks Macro-block: sequence of blocks Macro-block: mixing operates at the level of macro-block Macro-block: a macro-block of 1KB includes 8 blocks

c SPDP Lab 20/32

slide-31
SLIDE 31

Resource organization

  • Block: sequence of bits input to a block cipher

Block: AES uses block of 128 bits

  • Mini-block: sequence of bits in a block

Mini-block: it is our atomic unit of protection Mini-block: mini-blocks of 32 bits imply a cost of Mini-block: 232 for brute-force attacks

  • Macro-block: sequence of blocks

Macro-block: mixing operates at the level of macro-block Macro-block: a macro-block of 1KB includes 8 blocks

c SPDP Lab 20/32

slide-32
SLIDE 32

Mixing – 1

  • When encryption is applied to a block, all the mini-blocks are

mixed

+ + + absence of a mini-block in a block from the result prevents reconstruction of the block − − − does not prevent the reconstruction of other blocks in the resource

c SPDP Lab 21/32

slide-33
SLIDE 33

Mixing – 2

  • Extend mixing to a macro-block
  • iteratively apply block encryption
  • at iteration i, each block has a mini-block for each encrypted block
  • btained at iteration i− 1 (at distance 2i)
  • x rounds mix 4x mini-blocks

E E E E E E E E

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

1 1 1 1

[8] [9] [10] [11]

1 1 1 1

[4] [5] [6] [7]

1 1 1 1

[0] [1] [2] [3]

1 1 1 1

[12] [13] [14] [15]

2 2 2 2

[0] [1] [2] [3]

2 2 2 2

[4] [5] [6] [7]

2 2 2 2

[8] [9] [10] [11] [12] [13] [14] [15]

2 2 2 2

c SPDP Lab 22/32

slide-34
SLIDE 34

Slicing – 1

  • To be mixed, large resources require large macro-blocks

− − − many rounds of encryption − − − considerable computation and data transfer overhead

  • Large resources are split in different macro-blocks for encryption
  • Absence of a mini-block for each macro-block prevents the (even

partial) reconstruction of the resource

c SPDP Lab 23/32

slide-35
SLIDE 35

Slicing – 2

  • Slice resources in fragments having a mini-block for each

macro-block (the ones in the same position)

  • absence of a fragment prevents reconstruction of the resource

c SPDP Lab 24/32

slide-36
SLIDE 36

Revoke

To revoke user u access to a resource r

  • 1. randomly select a fragment Fi of r and download it
  • 2. decrypt Fi
  • 3. generate a new key kl that u does not know and cannot derive
  • 4. re-encrypt Fi with the new key kl
  • 5. upload the encrypted fragment

fragment macroblock F2 F5 F7

0 F8

F1 F3 F6 F9 F11

0 F12

F14

0 F15

F0 F13 F4 F10 c SPDP Lab 25/32

slide-37
SLIDE 37

Revoke

To revoke user u access to a resource r

  • 1. randomly select a fragment Fi of r and download it
  • 2. decrypt Fi
  • 3. generate a new key kl that u does not know and cannot derive
  • 4. re-encrypt Fi with the new key kl
  • 5. upload the encrypted fragment

k e y fragment macroblock k 0 k 1 F10

1

F2 F5 F7

0 F8

F1 F3 F6 F9 F11

0 F12

F14

0 F15

F0 F13 F4 c SPDP Lab 25/32

slide-38
SLIDE 38

Revoke

To revoke user u access to a resource r

  • 1. randomly select a fragment Fi of r and download it
  • 2. decrypt Fi
  • 3. generate a new key kl that u does not know and cannot derive
  • 4. re-encrypt Fi with the new key kl
  • 5. upload the encrypted fragment

key fragment macroblock k 0 k 1 k 2 F4

2

F10

1

F2 F5 F7

0 F8

F1 F3 F6 F9 F11

0 F12

F14

0 F15

F0 F13 c SPDP Lab 25/32

slide-39
SLIDE 39

Revoke

To revoke user u access to a resource r

  • 1. randomly select a fragment Fi of r and download it
  • 2. decrypt Fi
  • 3. generate a new key kl that u does not know and cannot derive
  • 4. re-encrypt Fi with the new key kl
  • 5. upload the encrypted fragment

key fragment macroblock k 0 k 1 k 2 k 3 F4

2

F10

3

F2 F5 F7

0 F8

F1 F3 F6 F9 F11

0 F12

F14

0 F15

F0 F13 c SPDP Lab 25/32

slide-40
SLIDE 40

Effectiveness of the approach

  • A revoked user does not know the encryption key of at least one

fragment

  • necessary a brute force attack to reconstruct the fragment (and the

resource)

  • 2msize attempts, with msize the number of bits in a mini-block
  • A user can locally store floc of the f fragments of a resource
  • Probability to be able to reconstruct the resource after fmiss

fragments have been re-encrypted: P = (floc/f)fmiss

  • proportional to the number of locally stored fragments
  • decreases exponentially with the number of policy updates

c SPDP Lab 26/32

slide-41
SLIDE 41

Applying Selective Encryption and Over-encryption in OpenStack Swift

  • E. Bacis, S. De Capitani di Vimercati, S. Foresti, S. Paraboschi, M. Rosa, P

. Samarati, “Access Control Management for Secure Cloud Storage,” in Proc. of SecureComm 2016, Guangzhou, China, October 10-12, 2016.

slide-42
SLIDE 42

Policy-based encryption in OpenStack Swift – 1

  • Swift module: an object storage service allowing users to store

and access data in the form of objects

  • Swift enforces access control associating an Access Control List

(ACL) with each container

  • Policy-based encryption:
  • associates a DEK (Data Encryption Key) with each container, used

to encrypt objects in the container

  • associates a MEK (Master Encryption Key) and an asymmetric

encryption key pair with each user

  • stores a KEK (Key Encryption Key) for each user authorized for a

container, enabling her to derive the container DEK from her private

  • r master key

c SPDP Lab 28/32

slide-43
SLIDE 43

Policy-based encryption in OpenStack Swift – 2

Alice generates a container X1 and grants Beth and Carla access to it

c SPDP Lab 29/32

slide-44
SLIDE 44

Policy changes: Grant

User u grants to user uj access to a container C

  • User uj is added to the ACL of container C
  • User u computes a new KEK for uj, which allows uj to derive the

DEK of container C Alice grants to David access to container X1

c SPDP Lab 30/32

slide-45
SLIDE 45

Policy changes: Grant

User u grants to user uj access to a container C

  • User uj is added to the ACL of container C
  • User u computes a new KEK for uj, which allows uj to derive the

DEK of container C Alice grants to David access to container X1

c SPDP Lab 30/32

slide-46
SLIDE 46

Policy changes: Revoke with Over-encryption

User u revokes access to container C from user uj

  • User u removes uj from the ACL of container C
  • User u asks the storing server to over-encrypt the objects in

container C with a SEL key that only non-revoked users can derive Alice revokes from Carla access to container X1

c SPDP Lab 31/32

slide-47
SLIDE 47

Policy changes: Revoke with Over-encryption

User u revokes access to container C from user uj

  • User u removes uj from the ACL of container C
  • User u asks the storing server to over-encrypt the objects in

container C with a SEL key that only non-revoked users can derive Alice revokes from Carla access to container X1

c SPDP Lab 31/32

slide-48
SLIDE 48

Conclusions and future directions

Solutions based on policy-based encryption

  • enable users to regulate access to their resources
  • guarantee that resources self-enforce access restrictions
  • support efficient policy updates through over-encryption and

mix&slice approaches

  • can be integrated with current cloud technology

Open issues include:

  • support for write authorizations
  • combine with techniques for efficient query evaluation
  • address collusion
  • . . .

c SPDP Lab 32/32