Security and Performance Analysis of Encrypted NoSQL Databases M.W. - - PowerPoint PPT Presentation

security and performance analysis of encrypted nosql
SMART_READER_LITE
LIVE PREVIEW

Security and Performance Analysis of Encrypted NoSQL Databases M.W. - - PowerPoint PPT Presentation

Security and Performance Analysis of Encrypted NoSQL Databases M.W. Grim BSc., Abe Wiersma BSc. Supervisor: F. Turkmen PhD February 6, 2017 University of Amsterdam Introduction Problem Securely storing BigData on NoSQL database systems.


slide-1
SLIDE 1

Security and Performance Analysis of Encrypted NoSQL Databases

M.W. Grim BSc., Abe Wiersma BSc.

Supervisor: F. Turkmen PhD

February 6, 2017

University of Amsterdam

slide-2
SLIDE 2

Introduction

Problem Securely storing BigData on NoSQL database systems. Necessary because:

  • PRISM
  • Security vulnerabilities
  • 1. Ashley Madison
  • 2. Yahoo
  • 3. LinkedIn

Solution Encrypt your plain-text data.

1

slide-3
SLIDE 3

Introduction

Problem Securely storing BigData on NoSQL database systems. Necessary because:

  • PRISM
  • Security vulnerabilities
  • 1. Ashley Madison
  • 2. Yahoo
  • 3. LinkedIn

Solution Encrypt your plain-text data.

1

slide-4
SLIDE 4

Introduction

Problem Securely storing BigData on NoSQL database systems. Necessary because:

  • PRISM
  • Security vulnerabilities
  • 1. Ashley Madison
  • 2. Yahoo
  • 3. LinkedIn

Solution Encrypt your plain-text data.

1

slide-5
SLIDE 5

Introduction

Plain data

2

slide-6
SLIDE 6

Introduction

Encryption at rest

3

slide-7
SLIDE 7

Introduction

Encryption at rest

4

slide-8
SLIDE 8

Introduction

Research questions

  • How is SQL-aware encryption realised in NoSQL database engines?
  • What kind of security does it provide?
  • How does it compare to encryption at rest?
  • What is the performance impact of enabling encryption?
  • What limitations are their in terms of functionality?

5

slide-9
SLIDE 9

Computation over encrypted data

slide-10
SLIDE 10

Computation over encrypted data

End-to-end encrypted database

  • Key stored at client.
  • Encryption and decryption by client (end-to-end).
  • Server can’t read data, how to query?
  • Homomorphic encryption / Order Revealing Encryption

6

slide-11
SLIDE 11

Computation over encrypted data

End-to-end encrypted database

  • Key stored at client.
  • Encryption and decryption by client (end-to-end).
  • Server can’t read data, how to query?
  • Homomorphic encryption / Order Revealing Encryption

6

slide-12
SLIDE 12

Computation over encrypted data

End-to-end encrypted database

  • Key stored at client.
  • Encryption and decryption by client (end-to-end).
  • Server can’t read data, how to query?
  • Homomorphic encryption / Order Revealing Encryption

6

slide-13
SLIDE 13

Computation over encrypted data

Paillier

  • Partially homomorphic.
  • Encrypted addition.

E(m1) + E(m2) = E(m1 + m2)

7

slide-14
SLIDE 14

Computation over encrypted data

ElGamal

  • Partially homomorphic.
  • Encrypted multiplication.

E(m1) ∗ E(m2) = E(m1 ∗ m2)

8

slide-15
SLIDE 15

Computation over encrypted data

Order Revealing Encryption

Public compare function on encrypted data.

  • 1

smaller x > y equal 1 greater

9

slide-16
SLIDE 16

SecureMongo

slide-17
SLIDE 17

SecureMongo

  • Based on work by Alves et al.
  • Python connector wrapper.
  • Logic at client side.
  • End-to-end encrytption with queries on encrypted data.

Our work:

  • Sequential inserts.
  • Serialized AVL tree.
  • Tree balancing at server side.

10

slide-18
SLIDE 18

SecureMongo

  • Based on work by Alves et al.
  • Python connector wrapper.
  • Logic at client side.
  • End-to-end encrytption with queries on encrypted data.

Our work:

  • Sequential inserts.
  • Serialized AVL tree.
  • Tree balancing at server side.

10

slide-19
SLIDE 19

SecureMongo

AVL tree

Self-balancing binary search tree. Algorithm Average Worst Case Space O(n) O(n) Search O(log n) O(log n) Insert O(log n) O(log n) Delete O(log n) O(log n)

11

slide-20
SLIDE 20

SecureMongo

  • verview

12

slide-21
SLIDE 21

SecureMongo

selection

13

slide-22
SLIDE 22

SecureMongo

insertion

14

slide-23
SLIDE 23

Method

slide-24
SLIDE 24

Method

Our work

  • Studied homomorphic / order revealing encryption
  • Improved earlier work by Alves et al.
  • Evaluated performance and security
  • 1. Encryption at rest
  • 2. End-to-end encryption

15

slide-25
SLIDE 25

Method

Plain vs. encryption at rest

YCSB

16

slide-26
SLIDE 26

Method

Plain vs. encryption at rest

  • YCSB default core workload.
  • Adjustable with parameters.
  • Can extend framework with alternative workloads.

recordcount 16,000,000

  • perationcount

100,000 readproportion 0.5 updateproportion 0.5

17

slide-27
SLIDE 27

Method

Plain vs. computation over encrypted data

  • BenchmarkDB
  • Python framework
  • IMDB movies

18

slide-28
SLIDE 28

Results encryption at rest

slide-29
SLIDE 29

Results

Performance encryption at rest

9000 9400 9800 10200

Insert operations per second

0.0000 0.0005 0.0010 0.0015 0.0020 0.0025 0.0030 0.0035 0.0040 Not encrypted 9000 9400 9800 10200

Insert operations per second

0.0000 0.0005 0.0010 0.0015 0.0020 0.0025 0.0030 0.0035 0.0040 Encryption at rest 140 160 180 200 220

Read/update operations per second

0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 Not encrypted 140 160 180 200 220

Read/update operations per second

0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 Encryption at rest

19

slide-30
SLIDE 30

Results

Performance encryption at rest

Insert 8000 8500 9000 9500 10000 10500

median(ops/s)

Not encrypted Encryption at rest Read/Update 150 160 170 180 190 200

median(ops/s)

Not encrypted Encryption at rest

Insert Read/Update 4.9% lower throughput 7.3% lower throughput

20

slide-31
SLIDE 31

Results

Performance encryption at rest

Read Update 20000 25000 30000 35000 40000 45000 50000 55000 60000

mean(Latency (us))

Not encrypted Encryption at rest Insert 550 600 650 700 750 800 850 900

mean(Latency (us))

Not encrypted Encryption at rest

Insert Read Update 5.2% slower 7.4% slower 7.5% slower

21

slide-32
SLIDE 32

Results SecureMongo

slide-33
SLIDE 33

Results

Performance SecureMongo

1000 10000 100000

Database size

0.00 0.02 0.04 0.06 0.08 0.10

Average latency

Mongo read MongoSecure read 1000 10000 100000

Database size

0.00 0.02 0.04 0.06 0.08 0.10

Average latency

Mongo write MongoSecure write

22

slide-34
SLIDE 34

Results security

slide-35
SLIDE 35

Results

Security threat model

Threat 1 Full access to the database server, both logical and physical. Threat 2 The application server and database server are compromised arbitrarily.

23

slide-36
SLIDE 36

Results

Security threat model

Threat 1: plain Issue The plain-text data is there no elbow grease required for access.

24

slide-37
SLIDE 37

Results

Security threat model

Threat 1: encrypted at rest Issue Key is continuously needed on server.

  • 1. Cold-boot extraction from memory (always).
  • 2. Extract from hard-disk (if key is stored on disk).
  • 3. Retrievable from secondary server by posing as the database-server

(can be negated by two factor key retrieval). The AES used is AES-256CBC which is IND-CPA secure. The AES cryptosystem is run using OpenSSL in accordance with FIPS 140-2.

25

slide-38
SLIDE 38

Results

Security threat model

Threat 1: SecMongo framework

  • 1. AES encryption used in AES-128CBC is IND-CPA secure. PyCrypto

is used with a randomly generated IV for every encryption.

  • 2. ORE proposed by Lewi and WU ofgers IND-OCPA.
  • 3. ElGamal is proven IND-CPA secure.
  • 4. Paillier is proven IND-CPA secure.
  • 5. The AVL-tree implementation negates inference attack robustness.

26

slide-39
SLIDE 39

Results

Security threat model

Threat 2: plain Issue The plain set-up is still utterly compromised.

27

slide-40
SLIDE 40

Results

Security threat model

Threat 2: encrypted at rest Issue Key retrieval was already possible using a cold-boot attack, threat expansion means decrypted data can be retrieved by posing as the application.

28

slide-41
SLIDE 41

Results

Security threat model

Threat 2: SecMongo framework Issue Key is continuously needed by the application.

29

slide-42
SLIDE 42

Conclusion

slide-43
SLIDE 43

Conclusion

Solution Encrypt your plain-text data. TradeOfg Security Performance

30

slide-44
SLIDE 44

Conclusion

Solution Encrypt your plain-text data.✓ TradeOfg Security Performance

30

slide-45
SLIDE 45

Conclusion

Solution Encrypt your plain-text data.✓ TradeOfg Security ↔ Performance

30

slide-46
SLIDE 46

Discussion & Future work

slide-47
SLIDE 47

Discussion & Future work

  • Native Tree traversal in MongoDB would increase performance for

Secure Mongo Framework, iterative tree traversal would be done on the server.

  • Although range requests are possible using the ORE encryption, they

are not yet implemented.

31

slide-48
SLIDE 48

Questions?

31