• No results found

Cryptographic Security Mechanisms for Cloud Computing

N/A
N/A
Protected

Academic year: 2021

Share "Cryptographic Security Mechanisms for Cloud Computing"

Copied!
47
0
0

Loading.... (view fulltext now)

Full text

(1)

Cryptographic Security Mechanisms for

Cloud Computing

IBM Research – Zurich Christian Cachin June 2014

(2)

Cloud computing

Network Compute

(3)

Cloud computing

■ Cloud computing = IT outsourcing

– Resources are virtual (SDx = software-defined x)

– Infrastructure shared among many clients (= tentants) – Automated and self-managed

– Standardized interfaces and solutions – Providers amortize cost over many clients

(4)

Hardware becomes a commodity

(5)

Physical location becomes irrelevant

(6)

Benefits and challenges

■ Cloud services are convenient

– No investment cost

– Pay only for consumption – Scalable

– No skills needed

– Access from everywhere – Only standardized services

■ Clouds pose threats

– Unknown exposure

– Inherent risk of outsourcing – No established contracts – Loss of control

– Fast and reliable network needed – Customization not possible

(7)

Security concerns in cloud computing

■ Distinguish between traditional security concerns and cloud-specific issues

■ Authentication (not only users, also services) ■ Authorization (users and services)

■ Data confidentiality ■ Data integrity ■ Data removal ■ Monitoring ■ Audits ■ Forensics

■ Isolation between tenants

(8)

Bob

Alice

Charlie

(9)

Cloud-security concerns of the provider

■ Isolate different clients in the service platform

–Enforcement

–Verification

■ Protect the infrastructure

– Trusted computing base (TCB)

– Integrity of hypervisors, kernels, and applications – Strong enforcement with trusted hardware

■ Prevent insider attacks

(10)

Multi-tenancy in cloud computing

Middleware/JVM Instance/Hypervisor Application VM/Partition/OS Client Hardware

Software-aaS Platform-aaS Infrastructure-aaS Servers-aaS

One application instance per client, using the same DB engine GMail, Dropbox, Facebook ... One DB engine or OS-process per client on the same OS kernel Shared webhosting, Salesforce ... A dedicated OS instance per client, on the same machine instance Rackspace, Amazon EC2 ... Dedicated CPU and hypervisor per client, on the same shared hardware

IBM SoftLayer, Internap ...

(11)

Cloud-security concerns of clients

■ Prevention of abuse by provider

– Restriction of administrative privileges

– Physical location, legal aspects ("jurisdiction attacks")

■ Loss of control and audit mechanisms

– Physical direct access, log files

■ Confidentiality of data?

–Client "encrypts" all data and computations in the cloud

■ Integrity of data?

–Cloud proves the correctness of responses

■ Who manages the keys and how?

–Cryptography is a powerful technology but merely shifts power to those who control the keys

■ How to destroy data in the cloud?

(12)

Computing on encrypted data

■ How can one manipulate encrypted

data?

■ How can a computer run an encrypted

program ― without knowledge of what it does?

■ Celebrated research topic in

cryptography

– Formulated in 1978

– Millionaires problem (Yao 1986)

■ Secure two-party computation

–Garbled circuits

• Quite practical today for limited functions

–Fully Homomorphic Encryption

• Breakthrough result (Gentry 2009) but very far from practical

Client

P(

x

,y)

E(

x

)

P(

E(

x

),

y )

Secret program P()

and secret input y

Secret data x

(13)

Three projects addressing cloud security at

IBM Research - Zurich

(14)
(15)

Key management — a solved problem?

■ Windows Azure storage service disruption (Feb. 2013)

– Expired SSL certificate

– Global outage of Azure cloud-storage service

– Created a cascading series of failures in Azure, eventually bringing down Xbox Live and other services

(16)

Key management today

■ Proprietary solutions

■ Every system requires its own format ■ Often an afterthought to a secure system

■ Life-cycle management operations are cumbersome

(17)

Key management with secure hardware

IBM 4765

Infineon TPM

netHSM (Thales)

(18)

Enterprise cryptographic environments Enterprise key management Disk Arrays Backup Disk Backup Tape Backup System Collaboration & Content Mgmt Systems File Server Portals Production Database Replica Staging

Key Management Interoperability Protocol

Enterprise Applications Email eCommerce Applications Business Analytics Dev/Test Obfuscation WAN LAN VPN CRM

(19)

Key management as a service

■ Key management becomes a service

– Centralized control – Lifecycle management – Automate deployment – Policy driven

■ Focus on data-storage keys

– Tape, disks, filesystems – Cloud storage

■ OASIS Key Management Interoperability

Protocol (KMIP)

– Vendor-neutral format for accessing key server in enterprise

– KMIP 1.0 (2010)

– IBM TKLM v2.0 (2011)

–Contributions from IBM Research - Zurich

Key Management Interoperability Protocol (KMIP)

IBM Security Key Lifecycle Manager (SKLM)

(20)

OASIS Key Management Interoperability Protocol (KMIP)

■ OASIS → XML? No!

■ Client-server protocol

■ Defines objects with attributes, plus operations

–Objects: symmetric keys, public/private keys, certificates, threshold key-shares ...

–Attributes: identifiers, type, length, lifecycle-state, lifecycle dates, links to other objects ...

–Operations: create, register, attribute handling ...

■ Supported by multiple products today

(21)

Key management as a cloud service

■ Secure cloud computing requires key material in the cloud

– Key managers will become cloud services (keys-as-a-service)

■ Standardization of protocols

–OASIS KMIP

–PKCS #11

■ Control access to keys

(22)

Stateless cryptographic hardware-security modules

■ IBM Enterprise PKCS#11 introduces virtualized cloud-key managers [VDO14]

– Hardware-security module (HSM) for cryptographic operations in trusted execution environment

– Keys stored in a HSM are physically bound to hardware (sic) • Difficult to integrate with cloud platform

■ Virtualization layer for HSMs

– Controlled by a master key in multiple worker HSMs – Stateless hardware tokens

– Scalable throughput

(23)
(24)

Cloud storage - data integrity?

■ Kernel.org Linux repository was compromised in Aug. 2011

– Linux kernel sources exposed, but public open-source anyway

– Thanks to cryptographic integrity protection in revision control system (git), kernel code modifications could be detected

– Who determines the "true" kernel sources?

(25)

System model

System model

■ Server S

– Normally correct

– Sometimes faulty (untrusted,

potentially malicious ... Byzantine)

■ Clients: A, B, C ...

– Correct, may crash

– Invoke operations on server – Disconnected

– Small trusted memory

■ Asynchronous

■ No client-to-client communication

Bob

(26)

Operations should be atomic or "linearizable"

Alice

Bob

1

2

write(1,x)

A

B

C

read(1)→u write(2,w) read(2)→w read(1)→u write(1,u)
(27)

Server violates integrity with a replay attack

write(1,x)

A

B

C

write(1,t) read(1)→x write(2,w) read(2)→w write(2,v) read(1)→u write(1,u)

Alice

Bob

1

2

(28)

Fork-linearizability as a solution

■ Server may replay old state and present different views to clients

–“Fork” their views of history

– Cannot be detected by clients without communicating

■ Run a protocol to impose fork linearizability

– Ensures that if server forks the views of two clients once, then → their views are forked ever after

→ they never again see each others updates ― or violation is exposed –Maintains causality for all operations

■ Every consistency or integrity violation results in a fork

– Best achievable guarantee for storage on untrusted server

■ Forks can be exposed via a cheap external channel with low security

– Synchronized clocks

(29)

Fork-linearizability graphically

w(1,x) w(2,v) w(1,u) r(1) x→ w(2,w) r(1) u→ r(2) w→ w(1,t) View of A View of C View of B write(1,x)

A

B

C

write(1,t) read(1)→x write(2,w) read(2)→w write(2,v) read(1)→u write(1,u)
(30)

Fork-linearizable services for cloud integrity verification

■ Goal

– If server is correct, then clients see linearizable service

– In any case (= even when server corrupted and violates spec), the clients respect fork-linearizability

– Makes it easy to detect consistency violations

■ Storage systems

–SUNDR [MS02][LKMS04] Secure untrusted data repository

–CSVN [CG09] Integrity-protecting Subversion revision-control system –FAUST: Fail-aware untrusted storage [CKS11]

• Never blocks, uses sporadic client-to-client messages –Venus [SCCKMS10] Integrity-protecting cloud object storage –Depot: Cloud storage with minimal trust [MSLCADW11]

■ Generic collaboration services

–Blind Stone Tablet [WSS09] runs a relational database

–SPORC: Group Collaboration using Untrusted Cloud Resources [FZFF10] presents an editor for shared documents

–Services with commuting operations [CO13] uses authenticated data types for complex operations

(31)
(32)

Data needs to be erased

■ Destroying data can be as critical as retaining it

– It all depends ...

■ Deletion is in interest of

–Clients and/or

–Providers

■ Required by law

– European Data Protection Directive – UK Data Protection Act

(33)

Data can no longer be erased

■ Modern storage systems cannot erase data

■ Common storage systems

– Remove directory pointers – Mark space as free

– Data remains accessible on a lower-level API

■ Storage interfaces have no operation for "really erase" ■ Virtualized storage systems make deletion impossible

– Many layers of abstraction

– Software-defined storage (SDS), cloud storage

(34)

Approaches to securely delete data

■ Magnetic media must be overwritten many times

■ Solid-state storage requires low-level access to controller

– No suitable interfaces exposed

■ Encryption as a solution [BL96, TLLP10]

– Encrypt data

– Keep key(s) in controlled and erasable memory – Destroying key(s) makes data inaccessible

■ This work — extend encryption-based approach with retention policy

(35)

System model

■ Secure deletion layer

– Implemented through encryption

■ Small, controlled erasable memory M

–Stores key(s)

■ Large, permanent memory

– Cannot be erased

–Contains protected data D

–Auxiliary state S

■ Deletion operation

– Reads/writes/erases keys in M – Writes to S

– Never touches bulk data D

User

Secure deletion layer

M

S

(36)

Secure deletion schemes with encryption

■ Use a separate key for every protected

item [P07, GKLL09, RCB12]

– To delete an item, destroy its key – Huge master key, difficult to manage – Deletion cost is constant

■ One key encrypts multiple protected items

– Secure delete of one item → rekey operation

• Choose fresh key

• Re-encrypt surviving items with new key

• Destroy old key – Small master key – Deletion cost is linear

f1 f2 f3 f4 f5 f6 f7 f8 f9

k

f1 f2 f3 f4 f5 f6 f7 f8 f9

(37)

Secure deletion schemes with encryption

■ Tree of keys [DFIJ99]

– For every tree node, super-key encrypts sub-keys

– Items protected by keys at leaves – Delete one item → rekey

along path from root to deleted item – Small master key

• Deletion cost is logarithmic

f1 f2 f3 f4 f5 f6 f7 f8 f9

(38)

Flexible deletion policies modeled by graph

■ Scheme supports arbitrary policies that are modeled as a monotone circuit

– AND, OR, and threshold gates

■ Master key contains one key per attribute

■ Deletion operations are fast

– Simply erase the keys of the deleted attributes – May trigger rekey of recursively protected keys

■ Implementation in secret-key setting

■ Modular specification through composition

– Provably secure constructions (in a cryptographic model)

(39)

Policy graph for secure deletion

■ Attributes at input nodes (Alice, Bob, Project_X …)

– Initially, all are viewed as FALSE

■ Protection classes p1, p2, p3, ... value according to Boolean expression ■ Deletion operation specifies attribute(s), for example,

– Delete(Exp_2014) → p2, p5 securely erased – Delete(Alice) → p2, p3 securely erased

– Delete(Bob) → no effect; Delete(Project_X) → p4, p5 securely erased

OR Exp_2015 Bob Alice Exp_2014 OR OR AND p2 p5 p4 Project_X p3 p1

(40)

Prototype implementation

■ Encrypting virtual file system in Linux (FUSE) ■ System policy in a global configuration file

■ Per-file policy and metadata in extended attributes ■ Initialization

delfs --secure_dir=/secure \ /raw_dir /delfs_dir ■ Delete files according to attributes

delfsctl delete /delfs_dir attribute...

■ Periodic cleanup of unused raw storage

delfsctl cleanup /delfs_dir

User

delfs

FUSE

/delfs_dir

/raw_dir

/secure

(41)

Secure deletion summary

■ Encryption-based approach suitable for any storage system

– Networked storage – Cloud storage

■ Secure deletion layer

–Similar to compression/encryption/deduplication ... layers

(42)

Conclusion

■ Cloud computing is here to stay

– Commodity web services take over customized solutions – Physical infrastructure becomes virtual

– Software-defined environments (SDx)

■ Security remains a hot topic for cloud computing

■ Cryptography remains the key technology realize security in the cloud

■ Cryptography addresses multiple security needs

– Security for provider – Security for clients

(43)

Questions?

■ Christian Cachin

–www.zurich.ibm.com/~cca/

■ Security research

–www.zurich.ibm.com/csc/security/

■ IBM Research - Zurich

(44)

Literature (Key management)

[BCH+10] M. Björkqvist, C. Cachin, R. Haas, X.-Y. Hu, A. Kurmus, R. Pawlitzek, and M. Vukolic, "Design and implementation of a key-lifecycle management

system," Proc. Financial Cryptography, 2010.

[VDO14] T. Visegrady, S. Dragone, M. Osborne, "Stateless cryptography for virtual environments," IBM J. Res. & Dev., 2014.

(45)

Literature (Integrity and consistency)

[CO13] C. Cachin and O. Ohrimenko, "On verifying the consistency of remote untrusted services," Research Report RZ 3841, IBM Research, 2013.

[C11] C. Cachin, "Integrity and consistency for untrusted services," in Proc.

Current Trends in Theory and Practice of Computer Science (SOFSEM 2011) (I. Cerna et al., eds.), LNCS 6543, 2011.

[CG09] C. Cachin and M. Geisler, "Integrity protection for revision control," in Proc. ACNS, LNCS 5536, 2009.

[CKS11] C. Cachin, I. Keidar, and A. Shraer, "Fail-aware untrusted storage," SIAM Journal on Computing, vol. 40, Apr. 2011.

[CSS07] C. Cachin, A. Shelat, and A. Shraer, "Efficient fork-linearizable access to untrusted shared memory," in Proc. PODC, 2007.

[SCCKMS10] A. Shraer, C. Cachin, A. Cidon, I. Keidar, Y. Michalevsky, and D. Shaket, "Venus: Verification for untrusted cloud storage," in Proc. ACM Workshop on Cloud Computing Security (CCSW 2010), 2010.

(46)

Literature (Integrity and consistency, cont.)

[FZFF10] A. Feldman, P. Zeller, M. Freedman, E. Felten, "SPORC: Group Collaboration using Untrusted Cloud Resources", Proc. OSDI, 2010.

[LKMS04] J. Li, M. Krohn, D. Mazieres, and D. Shasha, "Secure untrusted data repository (SUNDR)," in Proc. OSDI, 2004.

[MS02] D. Mazieres and D. Shasha, "Building secure file systems out of Byzantine storage," in Proc. PODC, 2002.

[MSLCADW11] P. Mahajan et al., "Depot: Cloud Storage with Minimal Trust", ACM TOCS, 2011.

(47)

Literature (Secure deletion)

[CHHS13] C. Cachin, K. Haralambiev, H.-C. Hsiao, A. Sorniotti, "Policy-based secure deletion," in Proc. ACM Conference on Computer and Communications Security (CCS 2013), 2013.

[BL96] D. Boneh and R. Lipton, "A revocable backup system," in Proc. 6th USENIX Security Symposium, 1996.

[DFIJ99] G. Di Crescenzo, N. Ferguson, R. Impagliazzo, M. Jakobsson, "How to forget a secret," in Proc. 16th Symposium on Theoretical Aspects of Computer Science (STACS), LNCS 1563, 1999.

[GKLL09] R. Geambasu, T. Kohno, A. Levy, H. Levy, "Vanish: Increasing data privacy with self-destructing data," in Proc. 18th USENIX Security Symposium, 2009.

[P07] R. Perlman, "File system design with assured delete," in Proc. Network and Distributed Systems Security Symposium (NDSS), 2007.

[TLLP10] Y. Tang, P. Lee, J. Lui, R. Perlman, "FADE: Secure overlay cloud storage with file assured deletion," in Proc. Securecomm, 2010.

References

Related documents

 To develop new proposed cryptographic security management protocols, examine it on our created cloud environment and comparing it with the existing generic security protocols.. 

Platform as a Service Security in Cloud Computing Research with Cloud.. Introduction to Cloud Computing - 02

In this paper, we provide a comprehensive survey on the cloud security and privacy concerns that includes: (i) cloud computing security issues (vulnerabilities, threats, and

Though the Cloud Computing had many security breaches, privacy and integrity concerns but still Cloud Computing environment provides great deal of advantages and

Security threats in cloud computing are important issue for cloud service providers and cloud service customers.. Threats usually are related information security

Keywords: Cloud Computing, Cryptographic Algorithm, Data Authentication, Data Integrity, Infrastructure, Internet, Security

ISACA, Cloud Computing: Business Benefits With Security, Governance and Assurance Perspectives, 2010.. Considerations in Cloud Computing

ENISA - Cloud Computing - Benefits, risks and recommendations for information security http://www.enisa.europa.eu/act/rm/files/deliverables/cloud-computing-risk-assessment.?. Risk