secure cloud storage for remote mobile data collection, federico mancini, uib

30
SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION F. Mancini, S. Gejibo, D. Grasso and K. A. Mughal University of Bergen Verdikt, 15.10.2013

Upload: the-research-council-of-norway-verdikt

Post on 28-Nov-2014

1.281 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

SECURE CLOUD STORAGE

FOR REMOTE MOBILE DATA

COLLECTION

F. Mancini, S. Gejibo, D. Grasso and K. A. Mughal

University of Bergen

Verdikt, 15.10.2013

Page 2: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Data Collection in Developing Countries

- Cons:

- Remote locations

- Bad infrastractures

- Limited budgets

- Pros:

- High penetration of

mobile phones

- Cheaper smart phones

Page 3: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Mobile Data Collection (MDC)

Page 4: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

MDC – Data Flow

DATA MANAGER

PROJECT

SERVER DESIGN AND UPLOAD

A FORM DEFINITION

DOWNLOAD FORM

DEFINITION

UPLOAD FILLED

FORM

DATA VIEWER

ANALYSE AND

VIEW DATA

Page 5: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

MDC – General Security Concerns

- ACCESS CONTROL

- MUTUAL AUTHENTICATION - CONFIDENTIALITY

- DATA CONFIDENTIALITY

- DATA INTEGRITY - LOCAL AUTHENTICATION - LOCAL ACCESS CONTROL

PROJECT

SERVER DESIGN AND UPLOAD

A FORM DEFINITION

DOWNLOAD FORM

DEFINITION

UPLOAD FILLED

FORM

DATA VIEWER

ANALYSE AND

VIEW DATA

Page 6: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

More in detail - Server Deployment

Open source

server installed

on private

machine:

- Maintainance - Configuration

Closed server installed

on third party machine

and offered as a

service:

- Open an account on the server

- Pay per collector/

Data traffic

Open source

server installed on

cloud PaaS

(Google Apps):

- Configuration - Possibly free

- Easy Client

Authentication

(Oauth)

Page 7: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Possible Threats

• Our application runs on a third party infrastructure. What

are the risks?

• An external attacker gets hold of our data from the server

• An internal attacker monitors our data traffic

• Our data are handed over from the cloud provider to someone else

• Our application code/behaviour is modified

• Users are directed to a malicious server

• Fake data are uploaded

Page 8: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Possible Threats

Communication

Local data

Remote data

Page 9: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

How?

• Encrypt your data both locally and on the server

• Keep keys away from the server and protected on the

mobile device

• Authenticate always both users and server

• Minimize the damages if a user account is compromised

• Guarantee a back-up plan for disaster recovery (you have

data from hundreds of collectors, losing a password

should not compromise the collected data)

Page 10: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Secure Cloud Storage Providers

Page 11: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

General Idea

• Generate encryption key locally

• Encrypt data locally on the client

• Transfer the encrypted data to the cloud

• Keep the key

+ Cannot decrypt files

- Cannot reset/recover password

MAIN CHALLENGE

We do not trust the cloud provider

and nothing that can be used to

decrypt my files can be stored

there.

Page 12: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Data Upload 1. Subscribe: username + password

2. Create an account, but do not store

the password in any form on the

server, a verifier at best

1. Create a master key KM

from password

2. Create an encryption key K

3. Encrypt your files with K

4. Encrypt K with KM

1. Send your files encrypted with K

2. Forget K

Where do the different

providers differ?

- Crypto Algorithms

User Id + verifier

Page 13: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Data Retrivial

1. Login: username + password

1. Create a master key KM

from password

2. Download your files

3. Decrypt the encryption key

4. Decrypt you files

User Id + verifier

Page 14: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Problems – Weak passwords

Password verifier

PASSWORD

Steal

Guess

Encry

pts

Encrypts

Generates

Decrypts

Decrypts

PROBLEM

Using passwords for authentication is different than using passwords for encryption.

On-line vs off-line attacks.

Page 15: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Problems – Password Recovery

Password verifier

PASSWORD

Encry

pts

/

De

cry

pts

Encrypts/Decrypts

Password recovery

procedures do not work anymore since encryption

is now dependent on password

PROBLEM

Passwords for authentication can be reset if you prove your identity. Changing encryption key is not

possible without the old key.

Page 16: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Existing solutions – Weak passwords

Password verifier

PASSWORD

Decrypts

Encrypts/Decrypts

Ge

ne

rate

s

Encrypts

Passphrase

Protects locally

+ More secure

- Two passwords to remember - Portability of private key

Page 17: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

No real solution for recovery

Password verifier

PASSWORD

Decrypts

Encrypts/Decrypts

Ge

ne

rate

s

Encrypts

Passphrase

Protects locally PASSWORD 2

Can be used to reset password

?

In the end, if the server cannot store any

key/password, it is no solution for recovery.

The user has the ultimate responsability.

Page 18: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Sharing

Send a link to the file with the key in clear

Send file encryption key encrypted with your friend’s public key

www.mega.nz/share.php?file=jfgba432n&key=2384ifkfvjn0w349n

Fetch Public key of your friend

Need to register with

the same provider

No much point with

encryption anymore

Page 19: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Back to MDCS

Page 20: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Only existing solution for MDC- ODK

UPLOAD

Page 21: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Problems

Page 22: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Our proposal

DATA MANAGER

PASSWORD

765349

346246

064255

765349

736734

43856

924582

134478

331351

098634

DATA VIEWER UPLOAD

ONCE UPLOAD

CONTINUOSLY

Page 23: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Discussion

• Remotely Secure: User credentials and cryptographic keys are distinct on the server. Obtaining one does not compromise the other. Weak password do not compromise encryption.

• Locally Pretty Secure: The master key must be stored on the phone, encrypted with some password derived key. Right now no MDC client has any form for local security.

• Flexible: More data viewers can see the uploaded forms, and collectors can edit forms after silling them. Finer access control.

• Lighter: Only one asymmetric encryption operation per form definition.

• Some limited risk: If phone is lost or stolen, and the user password is weak, the master key might be recovered, but only the forms collected by that collector might be compromised, if they are downloaded back from the server (which right now is not possible).

Page 24: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Recovery in MDCS

Password verifier

PASSWORD

Decrypts

Encrypts/Decrypts

Ge

ne

rate

s

Encrypts

Passphrase

Protects locally PASSWORD 2

Can be used to reset password

?

Page 25: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Our proposal

DATA MANAGER

PASSWORD

765349

346246

064255

765349

736734

43856

924582

134478

331351

098634

DATA VIEWER UPLOAD

ONCE UPLOAD

CONTINUOSLY

RECOVERY KEYS

Page 26: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Recovery in MDC

BACK UP COPY OF ALL MASTER KEYS

UPLOADED BY COLLECTORS

RECOVERY PUBLIC KEY

RECOVERY PRIVATE KEY

ENCRYPTS

STRONG SECRET ENCRYPTS

Page 27: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Shamir's Secret Sharing

Allows to split a secret S into n parts,

so that any subset of at least t is sufficient to reconstruct the secret.

𝑎𝑥2+ 𝑏𝑥 + 𝑐 = 0

Random Secret

p1 = 𝑥1, 𝑦1

p2 = (𝑥2, 𝑦2) .

.

pn = (𝑥𝑛, 𝑦𝑛)

Parts of the secret t=3 n=6

p1 p2 p3 p4 p5 p6

t=3

Page 28: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

The complete picture

Page 29: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

Conclusions

• Fairly secure solution, but probably little scalable.

• Suitable for small project, where not too much data needs to be downloaded to be analyzed

• Implementation is in progress on ODK, needs to be transparent for the user and integrate with Oauth (no dedicated user accounts)

• Why not use existing secure storage providers? • Company accounts are expensive and do not provide back-up

solution without giving a copy of the keys to the provider

• That each collector opens an account and share it with a data viewer is unfeasible

• Lack integration with current data collection apps

• If group keys are used, one compromised mobile phone, might compromise all data

Page 30: SECURE CLOUD STORAGE FOR REMOTE MOBILE DATA COLLECTION, Federico Mancini, UiB

The end

Thanks!