building confidential cloud-native applications with … · api-driven containers devops...

22
https://scontain.com Confidential Cloud-Native Applications [email protected] BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH THE SCONE PLATFORM Christof Fetzer, PhD [email protected] https://scontain.com

Upload: others

Post on 19-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH THE SCONE PLATFORM

Christof Fetzer, PhD [email protected]

https://scontain.com

Page 2: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

MOTIVATION

➤ Data-Driven Economy requires the collaboration

➤ between non-trusting entities

➤ Approach:

➤ Establish trust in the interaction between non-trusting entities

Page 3: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

IN CODE WE TRUST WITH SCONE

- establishing trust in untrusted environments between mutually untrusting parties -

Page 4: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

DATA-DRIVEN ECONOMY

microservice

data providerUse training data

•of a data provider,

•to create AI model,

Protecting the IP of all parties!

Example

microservice

operates operatesdoes not trust

trust

model generation

Page 5: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

ESTABLISHING TRUST WITH SCONE

microservice

mutual attestation to establish trustSCONE helps to ensure that communication partners

•run the correct code base,

•are properly initialized,

•run inside of TEEs

Establishing trust

microservice

operates operatesdoes not trust

trust

Page 6: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

CLOUD-NATIVE APPLICATIONS

Service Based API-Driven Containers DevOps

Development

Delivery / deployment / operations

Cloud-Native Application- an application developed and operated using the cloud-native development/operation model

Adapted from Qvarnstrom, Saavedra: „PATH TO CLOUD-NATIVE APP DEV"

Page 7: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

CONFIDENTIAL CLOUD-NATIVE APPLICATIONS

Confidential Cloud-Native Application Development

Security data, code, and keys are always encrypted - at rest, in transit, in main memory -

Focus Speed to market

Development Methodology Agile development, DevOps

Teams Collaborative DevOps team

Delivery Cycle Short and continuous

Application Architecture

Loosely coupled, service-based, API-based communication

Infrastructure Container-centric, portable, scales horizontally, on-demand capacity

NEW

Page 8: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

CONFIDENTIAL CLOUD-NATIVE APPLICATIONS

Service Based API-Driven Containers DevOpsConfidential

Compute

Development

Delivery / deployment / operations

Confidential Cloud-Native Application- cloud-native application

- protect code, data and keys of application

SCONE

Page 9: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

CLOUD-NATIVE APPLICATION

DB

Service

CACHE

Proxy

files

clients

microservice microservice

microservice

Cloud-Native Application- an application developed and operated using the cloud-native development/operation model

http(s)https

http(s)

http(s)

Page 10: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

CONFIDENTIAL CLOUD-NATIVE APPLICATION

DB

Service

CACHE

Proxy

files

clients

microservice microservice

microservicehttp(s)https

http(s)

http(s)

Kubernetes, OS hypervisor (untrusted)

administrator (root) cloud provider

adversary (root)

Confidential Cloud-Native Application- cloud-native application

- protect code, data and keys of application

all encrypted

SCONE

SCONE

encryption boundary

equipment (manufacturer)

Page 11: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

PROTECTION GOALS OF CONFIDENTIAL COMPUTE➤ Protection of

➤ Confidentiality: information is not made available or disclosed to unauthorized individuals, entities, or processes

➤ Integrity: information cannot be modified by unauthorized individuals, entities, or processes

➤ Freshness: information cannot be replaced by old information by unauthorized individuals, entities, or processes

➤ Additional Protection goals:

➤ Availability: probability that information is available when it is needed (verifiable via monitoring)

➤ Durability: probability that information will survive for one year (verifiable via monitoring)

SCO

NE

Kube

rnet

es, C

eph

Page 12: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

WHAT INFORMATION TO PROTECT?

➤ Protection of

➤ Code, e.g., modern AI programs written in Python

➤ Data, e.g., training data to create AI models

➤ Keys, e.g., keys used to encrypt databases

Page 13: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

WHAT INFORMATION TO PROTECT?➤ Protection of

➤ Code, e.g., modern AI programs written in Python

➤ Data, e.g., training data to create AI models

➤ Keys, e.g., key used to encrypt database

➤ Example: Cannot protect encryption key in native execution

➤ MariaDB supports encryption of database

➤ encryption key is stored in configuration file

➤ configuration file protected via access control:

➤ i.e., can be read and written by MariaDB (user) as well as any root (=privileged) user

Page 14: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

PROTECTION WITH SCONE➤ Protection of

➤ Code, e.g., modern AI programs written in Python

➤ Data, e.g., training data to create AI models

➤ Keys, e.g., key used to encrypt database

➤ Example: Confidential Cloud-Native Application with SCONE

➤ MariaDB encrypts database and runs in SGX enclave

➤ encryption key is stored in configuration file encrypted/decrypted by SCONE inside of MariaDB enclave

➤ SCONE configuration attestation service ensures that only this MariaDB can access the encrypted configuration file

Page 15: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

HOW?

Page 16: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

CONFIDENTIAL CLOUD-NATIVE APPLICATION DEVELOPMENT

Service Based API-Driven Containers DevOpsConfidential

Compute

Deployment / operations

Development

SCONE Kubernetes, DockerSCONE IDE, git, …

Tool

sM

etho

dolo

gy

Page 17: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

INTEGRATION IN CI/CD PROCESS

Containers DevOpsConfidential Compute

Deployment / operationsDevelopment

Service Based API-Driven

CI/CD Build (SCONE)

Encrypted Execution (SCONE)

Key Management

(SCONE)

SCONE

Page 18: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

WE SUPPORT MOST POPULAR PROGRAMMING LANGUAGES

Containers DevOpsConfidential Compute

Deployment / operationsDevelopment

Service Based API-Driven

Source (e.g., git)

Build (SCONE)

Encrypted Execution (SCONE)

Key Management

(SCONE)

RUST C C++ Java node FortranPython …

SCONE

Page 19: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

MICROSERVICE

microservice

Cloud-Native Application Component

http(s)

REST API

•focus on a single aspect

•microservices are small, autonomous services that work together

microservice

files

Page 20: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

https://scontain.com Confidential Cloud-Native Applications

[email protected]

TEE

CONFIDENTIAL MICROSERVICE

microservice

Protecting Confidential Cloud-Native Applications without source code changes

http(s)

REST API

encrypted files

SCONE

SCONE

SCONE

Protecting the computation

Protecting the files

Protecting the communication

SCONE

Page 21: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

CONCLUSION

SCONE supports the development & operation of confidential cloud-native applications

Page 22: BUILDING CONFIDENTIAL CLOUD-NATIVE APPLICATIONS WITH … · API-Driven Containers DevOps Development Delivery / deployment / operations Cloud-Native Application - an application developed

[email protected]

https://scontain.comhttps://sconedocs.github.io/