67
DBMask: Fine-Grained Access Control on Encrypted Relational Databases Mohamed Nabeel, Muhammad I. Sarfraz, Jianneng Cao, Elisa Bertino 5th ACM Conference on Data and Application Security and Privacy San Antonio, Texas, USA, March 2015 SWIM Seminar July 29th, 2015 Mateus Cruz

DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Embed Size (px)

Citation preview

Page 1: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

DBMask: Fine-GrainedAccess Control on

Encrypted Relational Databases

Mohamed Nabeel, Muhammad I. Sarfraz,Jianneng Cao, Elisa Bertino

5th ACM Conference on Data and Application Security and PrivacySan Antonio, Texas, USA, March 2015

SWIM SeminarJuly 29th, 2015Mateus Cruz

Page 2: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OUTLINE

1 Introduction

2 Access Control Model

3 Cryptographic Constructs

4 Secure Query Evaluation

5 Experiments

6 Conclusion

Page 3: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OUTLINE

1 Introduction

2 Access Control Model

3 Cryptographic Constructs

4 Secure Query Evaluation

5 Experiments

6 Conclusion

Page 4: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OVERVIEW

SQL queries over encrypted dataI Inspired by CryptDB1

Fine-grained access controlI Attribute-based group key management

1Popa et al., CryptDB: Protecting Confidentiality with EncryptedQuery Processing, SOSP 2011

1 / 28

Page 5: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

REVIEW: CRYPTDBSQL queries over encrypted dataProxy controls accessLimitations

I Column-level as minimum granularityI Onions of encryption

– Decreasing security– Storage overhead

2 / 28

Page 6: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

ARCHITECTURE

Adversary modelI Trusted and invulnerable data ownerI Trusted and vulnerable proxyI Passive vulnerable server

3 / 28

Page 7: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OUTLINE

1 Introduction

2 Access Control Model

3 Cryptographic Constructs

4 Secure Query Evaluation

5 Experiments

6 Conclusion

Page 8: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

ATTRIBUTE-BASED ACCESS CONTROL (ABAC)

Users have a set of identity attributesI Job, age, location

Data is associated with policiesI “Only managers older than 30 years old living

in Tokyo can access the data item X”

Users’ attributes have to satisfy the policies

4 / 28

Page 9: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

DEFINITIONS

Attribute Condition: nameA op lI Attribute AI Comparison operator opI Value l

Policy: tuple (s, o)I Boolean expression sI Set of rows o

GroupI Users that satisfy the conditions in a policy

5 / 28

Page 10: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

DEFINITIONS

Attribute Condition: nameA op l

role = doctor

I Attribute AI Comparison operator opI Value l

Policy: tuple (s, o)I Boolean expression sI Set of rows o

GroupI Users that satisfy the conditions in a policy

5 / 28

Page 11: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

DEFINITIONS

Attribute Condition: nameA op lI Attribute AI Comparison operator opI Value l

Policy: tuple (s, o)I Boolean expression s

role = doctorOR

role = nurse

I Set of rows oGroup

I Users that satisfy the conditions in a policy

5 / 28

Page 12: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

IDENTIFYING GROUPSExampleTwo access control policies (ACP) with attributeconditions:ACP1 = C1 ∧( C2 ∨ C3)ACP2 = C2Using the disjunctive normal form (DNF):ACP1 = (C1 ∧ C2) ∨ (C1 ∧ C3)ACP2 = C2Groups given by disjunctive clauses:G1 : C1 ∧ C2G2 : C1 ∧ C3G3 : C2

6 / 28

Page 13: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

IDENTIFYING GROUPSExampleTwo access control policies (ACP) with attributeconditions:ACP1 = C1

level > 3

∧( C2 ∨ C3)ACP2 = C2Using the disjunctive normal form (DNF):ACP1 = (C1 ∧ C2) ∨ (C1 ∧ C3)ACP2 = C2Groups given by disjunctive clauses:G1 : C1 ∧ C2G2 : C1 ∧ C3G3 : C2

6 / 28

Page 14: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

IDENTIFYING GROUPSExampleTwo access control policies (ACP) with attributeconditions:ACP1 = C1 ∧( C2

role = doctor

∨ C3)ACP2 = C2Using the disjunctive normal form (DNF):ACP1 = (C1 ∧ C2) ∨ (C1 ∧ C3)ACP2 = C2Groups given by disjunctive clauses:G1 : C1 ∧ C2G2 : C1 ∧ C3G3 : C2

6 / 28

Page 15: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

IDENTIFYING GROUPSExampleTwo access control policies (ACP) with attributeconditions:ACP1 = C1 ∧( C2 ∨ C3

role = nurse

)ACP2 = C2Using the disjunctive normal form (DNF):ACP1 = (C1 ∧ C2) ∨ (C1 ∧ C3)ACP2 = C2Groups given by disjunctive clauses:G1 : C1 ∧ C2G2 : C1 ∧ C3G3 : C2

6 / 28

Page 16: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

IDENTIFYING GROUPSExampleTwo access control policies (ACP) with attributeconditions:ACP1 = C1 ∧( C2 ∨ C3)ACP2 = C2Using the disjunctive normal form (DNF):ACP1 = (C1 ∧ C2) ∨ (C1 ∧ C3)ACP2 = C2Groups given by disjunctive clauses:G1 : C1 ∧ C2G2 : C1 ∧ C3G3 : C2

6 / 28

Page 17: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

GROUP POSET

Partially ordered set (⊆)Hierarchical key management

I Parents can access children’s keys

Example

Conditions:G1: Doctors AND level > 3G2: Nurses AND level > 3G3: Doctors

7 / 28

Page 18: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

KEY MANAGEMENT APPROACH

Combines broadcast and hierarchical keymanagementEfficiently handles user dynamics

I Granting or revoking access

8 / 28

Page 19: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

KEY MANAGEMENT

Attribute-based Group Key ManagementI Easier re-keying

Users do not receive private keysI Secret sharing used to derive keys

9 / 28

Page 20: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

AB-GKMAttribute-based Group Key ManagementPolicies are embedded in access trees

I Internal nodes represent threshold gates– “d-out-of-m” policies (threshold d)

I Leaves represent attributes

ExamplePolicy:(′′type = premium′′ ∨

(′′type = regular′′ ∧′′region = indiana′′),{new movie})

10 / 28

Page 21: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OUTLINE

1 Introduction

2 Access Control Model

3 Cryptographic Constructs

4 Secure Query Evaluation

5 Experiments

6 Conclusion

Page 22: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

NUMERICAL MATCHING

Compares encrypted numeric valuesAllows different approaches

I DeterministicI Order-preservingI Semantically secure

– Use trapdoors to make comparisons

11 / 28

Page 23: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

KEYWORD SEARCH

Looks for words in an encrypted stringCan check for more than one wordCan check if two words are close

12 / 28

Page 24: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

JOINS

Cannot match semantically secure valuesJOIN-SEM

I New column for blinded trapdoor valuesJOIN-DET

I Encrypts with deterministic encryption

13 / 28

Page 25: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OUTLINE

1 Introduction

2 Access Control Model

3 Cryptographic Constructs

4 Secure Query Evaluation

5 Experiments

6 Conclusion

Page 26: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

DBMASK EXECUTION FLOW

1 System initialization2 User registration3 Data encryption4 Query execution

14 / 28

Page 27: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

SYSTEM INITIALIZATION

1 Data owner sets up the systemI Makes available public parametersI Allows proxy to generate trapdoorsI Identify and create groups of users

15 / 28

Page 28: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

USER REGISTRATION

1 Users get their identity certifiedI Done by a trusted identity provider

2 Data owner distributes secretsI Only for valid and identified usersI Maintains a database of user-secret values

– Shared with proxy to allow decryption– Secrets are encrypted with users’ passwords

16 / 28

Page 29: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

HANDLING USER DYNAMICS

Users can be added or deletedI Update the user-secret database

No need for re-keyingI The encrypted data remains the same

Example1 New user having the attribute role = doctor2 Data owner generates new secrets and

public information related to G2I Updates proxy and cloud serverI No effect on other groups

17 / 28

Page 30: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

DATA ENCRYPTION

1 Encrypts each cell twiceI Fine-grained access controlI Privacy-preserving matching

2 Each column is expanded to twoI data-colI match-col

18 / 28

Page 31: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

TABLE ENCRYPTION

19 / 28

Page 32: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

QUERY EXECUTION1 User sends query to proxy2 Proxy parses query

I Removes certain clauses– ORDER BY, GROUP BY, HAVING, SUM

I Replaces columns’ namesI Computes trapdoors for secure

3 Cloud server executes queryI Sends encrypted results to proxy

4 Proxy process resultsI Generate keys for decryptionI Filters and aggregates resultsI Decrypts resultsI Send plaintext results to user

20 / 28

Page 33: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

QUERY EXECUTION - EXAMPLE 1

ExampleInitial query made by a doctor (G3):SELECT ID, Age, DiagFROM Patient

Processed query:SELECT ID-enc, Age-enc, Diag-encFROM PatientWHERE Groups LIKE ’%G3%’

21 / 28

Page 34: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

QUERY EXECUTION - EXAMPLE 2

ExampleInitial query made by a doctor level 4 (G1,G3):

SELECT ID, Age, DiagFROM Patient

WHERE Age > 35ORDER BY Age ASC

22 / 28

Page 35: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

QUERY EXECUTION - EXAMPLE 2

ExampleProcessed query:SELECT ID-enc, Age-enc, Diag-encFROM PatientWHERE UDF Compare Num(Age-com,

PPNC.GenTrapdoor(35), ’>’)AND (Groups LIKE ’%G1%’ ORGroups LIKE ’%G3%’)

22 / 28

Page 36: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OUTLINE

1 Introduction

2 Access Control Model

3 Cryptographic Constructs

4 Secure Query Evaluation

5 Experiments

6 Conclusion

Page 37: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

ENVIRONMENT

C++, NTL and OpenSSLPostgres 9.1 extended with UDFsMachine

I 3.40GHz Intel i7-3770I 8GB RAMI Ubuntu 12.04

DatasetI TCP-C

23 / 28

Page 38: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

IMPLEMENTATIONS

DBMask-SECI Maximum securityI Semantically secure encryption

– AES with blinding factor– Adds one more column for joins

DBMask-PERI Best performanceI Deterministic encryptionI OPE scheme for numerical comparison

– Order-preserving encryption

24 / 28

Page 39: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

THROUGHPUT

30% overheadTrade-off: performance and security

25 / 28

Page 40: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

LATENCY

44% increase on server sideProxy adds 4.3ms

I 24% for encryption and decryptionI 67% for query rewriting, parsing, processing

26 / 28

Page 41: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

STORAGE

Increases space requirements by 3.2x

27 / 28

Page 42: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

OUTLINE

1 Introduction

2 Access Control Model

3 Cryptographic Constructs

4 Secure Query Evaluation

5 Experiments

6 Conclusion

Page 43: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Introduction Access Control Model Cryptographic Constructs Secure Query Evaluation Experiments Conclusion

CONCLUSION

Evaluates SQL queries on encrypted dataFine-grained access controlSecurity level does not change

I Unlike CryptDBFuture work

I Support more relational operationsI Optimization

28 / 28

Page 44: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

EXTRA SLIDES

Page 45: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

QUERY EVALUATION FLOW

System initializationUser registrationData encryption and uploadData querying and retrieval

Page 46: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

SYSTEM INITIALIZATION

1 The data owner (DO) runs the setupI Generation of security parameters

2 The DO send the parameters to the proxyI The proxy can generate trapdoors

3 The DO converts ACP into DNFI Create groups of users

Page 47: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

USER REGISTRATION

1 Users get certified by an identity providerI Certified identity attributes are cryptographic

commitments

2 Users register with DO using OCBE3 The DO generates and distributes secretes

I Users only decrypt secrets with valid identities4 The DO has a database of user-secret values

I Shared with the proxyI Needs synchronization when changed

Page 48: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

DATA ENCRYPTION

Each cell is expanded into threeI Fine-grained access control (data-col)I Privacy-preserving matching (match-col)I Assigned group labels (label-col)

Page 49: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

label-col

Each cell is assigned group labelsGroups connected in the poset

I Assign the label of the less privileged group

Page 50: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

data-col

Encrypt data with masterkey KI Generated from the keys of groups and public

informationI Prevents multiple encryptions

Page 51: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

match-col

Encryption depends on the data typeI String (for keyword search)I Numerical

Page 52: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

CELL-LEVEL ACCESS CONTROL

Page 53: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

QUERYING

1 The user sends a query to the proxyI Plaintext query

2 The proxy parses and filters the queryI Remove certain clauses and aggregations

– E.g.: ORDER BY, SUM

3 Replace columns’ namesI Use data-col encrypted names

4 Add predicate to the WHERE clause thatdetermines the groups of the user

5 Send query to server for execution

Page 54: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

RETRIEVAL

1 The server returns the results to the proxyI The results are encryptedI The public information is also transferred

2 The proxy applies the removed clausesI Performs aggregation using an in-memory

database of decrypted results

3 The final plaintext result is sent to the user

Page 55: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

BGKM

Broadcast Group Key ManagementI Users have secrets to derive keys

Rekeying uses broadcastI Public information (PI) changesI Secrets of existing users remain the same

No need for private comm. channelsI Except during the first phase

Combination of secrets and PI gives keys

Page 56: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

ACV-BGKM

Access Control Vector BGKMExecuted by a trusted key serverGroup of n users

I Usri, i = 1, 2, ...,nAlgorithms

1 Setup(`)2 SecGen()3 KeyGen(S)4 KeyDer(si,PI)5 Update(S)

Page 57: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

SETUP(`)

Initialization of parametersI `-bit prime number qI Keyspace KS = Fq

– Fq is a finite field with q elementsI Maximum group size N (N ≥ n)I Cryptographic hash function

– H(·) : {0, 1}∗ → Fq

I Secret space SS = {0, 1}`I Set of issued secrets S = ∅

Page 58: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

SECGEN()

1 Choose a secret si ∈ SSI si /∈ S

2 Add si to S3 Output si

Page 59: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

KEYGEN(S)

Pick a random k ∈ KSChoose N random bit strings

I z1, z2, ..., zN ∈ {0, 1}`

Create an n× (N + 1) Fq-matrix

A =

1 a1,1 a1,2 · · · a1,N1 a2,1 a2,2 · · · a2,N... ... ... . . . ...1 an,1 an,2 · · · an,N

ai,j = H(si||zj), 1 ≤ i ≤ n, 1 ≤ j ≤ N, si ∈ S

Page 60: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

KEYGEN(S)

Solve AY = 0I Y is a nonzero (N + 1)-dimensional Fq-vectorI Y is chosen from the nullspace of A

Construct the access control vector (ACV)I ACV = k · eT

1 + Y– k is the group key– e1 = (1, 0, ..., 0)

Defines the public informationI PI = 〈ACV, (z1, z2, ..., zn)〉

Outputs PI and k

Page 61: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

KEYDER(si,PI)

Usri computes a key extraction vectorI vi = (1, ai,1, ai,2, ..., ai,N)I Unique row in the access matrix A

Usri derives key kI k = vi · ACV

Page 62: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

UPDATE(S)

Run the KeyGen(S) algorithmOutput the new PI′ and the new key k′

Page 63: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

EXAMPLE: ACCESS CONTROL MATRIX

ExampleUsers: U1,U2,U3

Access control matrix:

A =

1 1 1 1 11 1 2 3 41 4 3 2 1

Nullspace of A:N(A) = span{(1,−2, 1, 0), (2,−3, 0, 1)}

Page 64: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

EXAMPLE: GENERATING PI

ExampleACV = k · eT

1 + Y, where AY = 0, e1 = (1, 0, ..., 0)and k is the group key

Using Y = (0, 1,−2, 1, 0) and k = 2:ACV = 2 · (1, 0, 0, 0, 0) + (0, 1,−2, 1, 0)ACV = (2, 1,−2, 1, 0)

Output the public information PI:PI = 〈ACV, (z1, z2, ..., zn)〉

Page 65: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

EXAMPLE: DERIVING THE KEY

Examplek = vi · ACV

For user U1: k = (1, 1, 1, 1, 1) · (2, 1,−2, 1, 0) = 2For user U2: k = (1, 1, 2, 3, 4) · (2, 1,−2, 1, 0) = 2For user U3: k = (1, 4, 3, 2, 1) · (2, 1,−2, 1, 0) = 2

Page 66: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

QUERY EXECUTION - EXAMPLE 3Original query made by a level 4 doctor (G1 and G3):

Maximum Security:

Best Performance:

Page 67: DBMask: Fine-Grained Access Control on Encrypted Relational Databases

Detailed Execution Flow ACV-BGKM Extra Examples

QUERY EXECUTION - EXAMPLE 4

Original query made by a doctor (G3):

Maximum Security:

Best Performance: