multi-party computation in health care - red hat · 2019-10-04 · conclave cloud dataverse (c2d)...

39
Multi-Party Computation in Health Care Parul Singh, Red Hat Mayank Varia, Boston University

Upload: others

Post on 25-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Multi-Party Computation in Health CareParul Singh, Red Hat

Mayank Varia, Boston University

Page 2: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust
Page 3: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Secure Medical Image Processing ● At Red Hat we are involved in several research projects at universities

and industries○ Boston University & Boston Children’s Hospital

● ChRIS Research Integration System (ChRIS)○ Web-based medical image processing platform with quicker

feedback○ Democratize Medical Image Processing application

development

Page 4: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

ChRIS Architecture

Page 5: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Medical Image Processing in ChRIS - Input

Page 6: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Medical Image Processing in ChRIS - Output

Page 7: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Conclave Cloud Dataverse (C2D)

Page 8: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

• Typically, transfer data to a common location

• All data contributors must trust the organization that performs the analysis

• Data may be vulnerable in transit, when stored, and during analysis

Results

Data

Data

Trusted third party

Company A

Company B

Typical Workflow: Centralize Data Storage & Analysis

Page 9: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Results

Secure and private

computation

Company A

Company B

??

C2D Workflow: Compute Without Sharing Data

Page 10: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

MPC

• Data never leaves any organization in the clear

• MPC protects data in use during the analysis

• Inputs stay private as longas at least one computing entity can be trusted to behave as specified

C2D Workflow: Federate Data Storage and Analysis

Page 11: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

MPC

De-ID

De-ID

De-ID

Join by ID

Join by ID

???

• New analyses can be privacy-preserving because data not shared prematurely

• Without MPC, would need data transfer, so protections applied “too early” in pipeline

C2D Workflow: Valuable Analysis ⟹ Share Data

Page 12: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Selected MPC deployments

Unbound: Protect cryptographic keysGoogle: Federated machine learning

BU: Pay equity in BostonCybernetica: VAT tax audits Partisia: Rate credit of farmers

Employers agree to … contribute data to a report

compiled by a third party on the Compact’s success to date.

Employer-level data would not be identified in the report.

Page 13: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust
Page 14: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust
Page 15: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust
Page 16: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust
Page 17: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust
Page 18: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

MPC at the scale of a city

Page 19: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

MPC gets...

Security from isolation

Performance from co-location

Scalability from ???

Page 20: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Conclave: Automating Secure Computation

SQL-like programming language⇒ No MPC experience necessary

Dispatcher executes jobson available backends⇒ No new infrastructure

Compiler discerns boundariesof secure computing⇒ No need for privacy experts

Software available at github.com/multiparty/conclavePaper available at arxiv.org/pdf/1902.06288.pdf

Page 21: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Conclave’s Query Specification# state where the data livesdata = cc.defineTable(schema, at=[org-1, org-2, org-3])

# compute over the data as if it resided in one placerev = data.project(["companyID", "price"]) .sum("local_rev", group=[“companyID”], over="price") .project([0, "local_rev"]) market_size = rev.sum(“total_rev", over=“local_rev") share = rev.join(market_size, left=[“companyID"], right=[“companyID"]) .divide("m_share", "local_rev", by="total_rev") hhi = share.multiply(share, "ms_squared", "m_share") .sum(“hhi", on=“ms_squared”) .divide(“hhi", by=10k)

Page 22: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Conclave’s Static Analysis: Calculate Relations in the Clear

# state where the data livesdata = cc.defineTable(schema, at=[partyA, partyB, partyC])

# compute over the data as if it resided in one placerev = data.project(["companyID", "price"]) .sum("local_rev", group=[“companyID”], over="price") .project([0, "local_rev"]) market_size = rev.sum(“total_rev", over=“local_rev") share = rev.join(market_size, left=[“companyID"], right=[“companyID"]) .divide("m_share", "local_rev", by="total_rev") hhi = share.multiply(share, "ms_squared", "m_share") .sum(“hhi", on=“ms_squared”) .divide(“hhi", by=10k)

Page 23: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Integrating Conclave into the cloud

● Conclave runs in containers within each silo

● OpenShift/Kubernetes orchestrate the execution of Conclave jobs

● MPC jobs begin when data analysts make queries over aggregate data

● Benefit: improved performance of secure computing via co-location

Page 24: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

How we arrived here

● Both projects have common technology stack

● OpenShift

○ Isolation Techniques

○ Scaled job framework

○ Resource Management

■ CPU/Memory/Network/GPU

Page 25: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

How MPC fit in Health Care ?

● When data is scarce

○ Boston Trauma Center

○ Understanding rare diseases

● Sharing patient data in the clear is restricted

○ Privacy laws

○ Hospital standard practices

Page 26: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Sharing Information w/o Sharing Data

● Augment ChRIS with cryptographically secure Multi Party Computation

● OpenShift enabled isolated computing environment

Page 27: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Isolated Computing Environment

● What?

○ Run individual computations on pre configured secure nodes

○ Container segregation on a host level

Page 28: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Isolated Computing Environment in Cloud

● How?

○ Machine like virtualisation

■ Namespace

■ SeLinux

○ Project Isolation

○ Network Isolation

Page 29: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

MPC Application in Health Care - Example

Analyse brain segment volume

Extrapolates the patient’s brain volume against the population mean

Identify segments that have significant deviation from the population mean in terms of brain volume for the same age group

Page 30: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

MPC (C2D)

● Calculate population mean

● Calculate population standard deviation

Non MPC (ChRIS)

● Project patient’s brain volume against the population mean

● Number of standard deviations from the mean the patient datapoint is

Medical Image Processor

Page 31: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

ChRIS

C2D

Job

Data +Operation MPC Job

Config

Page 32: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

● Calculate population mean● Calculate population standard deviation

MPC job in C2D

Parties in MPC

Base64 encoded linear algebra query

Page 33: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

MPC job in C2D

OpenShift enabled isolated computing environment.

Page 34: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

ChRIS

C2D

Job

Data +Operation

MPC Result

Non - MPC

MPC Job Config

Isolated Computing

Env

Page 35: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

● Extrapolates the patient’s brain volume against the population mean of different age group

Non MPC job in ChRIS

Page 36: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

● Number of standard deviations from the mean a datapoint is

Non MPC job in ChRIS

z score z = (x – μ) / σ

μ : Population Meanσ : Standard Deviationx : Data value/ Score

Page 37: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

The Integration of ChRIS & C2D

ChRIS

C2D

Job

Data +Operation

MPC Result

Non - MPC

Result

MPC Job Config

Isolated Computing

Env

Page 38: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

The road ahead

● Collaboration when data is scarce

● MPC can make a huge impactin the medical landscape

● OpenShift provides thenecessary features to buildsecure ecosystem for thiscollaboration

● MPC + OpenShift togethercan scale to big data

Security from OpenShift isolation

Performance from OpenShift co-location

Scalability from

Conclave

Page 39: Multi-Party Computation in Health Care - Red Hat · 2019-10-04 · Conclave Cloud Dataverse (C2D) •Typically, transfer data to a common location •All data contributors must trust

Questions?