multi-party computation in health care - red hat · 2019-10-04 · conclave cloud dataverse (c2d)...
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/1.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/2.jpg)
![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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/3.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/4.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/5.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/6.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/7.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/8.jpg)
• 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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/9.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/10.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/11.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/12.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/13.jpg)
![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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/14.jpg)
![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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/15.jpg)
![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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/16.jpg)
![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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/17.jpg)
![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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/18.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/19.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/20.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/21.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/22.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/23.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/24.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/25.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/26.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/27.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/28.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/29.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/30.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/31.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/32.jpg)
● 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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/33.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/34.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/35.jpg)
● 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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/36.jpg)
● 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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/37.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/38.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022050306/5f6e6b9f63db9a61044fd13f/html5/thumbnails/39.jpg)
Questions?