MC2 is a platform for secure analytics and machine learning on encrypted data, enabling users to perform computations in the cloud without exposing sensitive information. It targets researchers and organizations needing to analyze confidential data or collaborate on datasets securely, offering services like Opaque SQL for encrypted data analytics and Secure XGBoost for collaborative model training.
How It Works
MC2 leverages hardware enclaves (like Intel SGX) to perform computations on data that remains encrypted throughout the process. This approach ensures data confidentiality even from the cloud provider. For collaborative analysis, it enables multiple parties to contribute data and run joint computations without revealing their individual datasets to each other.
Quick Start & Requirements
- Installation: Via Docker (build image: ~7 min, or pull pre-built image) or from source.
- Prerequisites: Docker installed. For cloud deployments, Azure account and SGX-enabled VMs are required.
- Quickstart: Detailed local (Docker) and cloud (Azure) quickstarts are available, demonstrating data encryption, remote computation execution, and result decryption.
- Documentation: MC2 Client and Opaque SQL documentation links are provided.
Highlighted Details
- Supports Opaque SQL for encrypted analytics on Spark SQL.
- Enables collaborative XGBoost training and inference on encrypted data.
- Includes research prototypes for secure multi-party computation (Cerebro) and deep neural network inference (Delphi, Muse).
- MC2 client supports remote interaction with deployed MC2 services.
Maintenance & Community
- Project originated from UC Berkeley RISE Lab.
- Community engagement via Slack and GitHub issues.
- Contact email: mc2-dev@googlegroups.com.
Licensing & Compatibility
- License details are not explicitly stated in the README. Compatibility for commercial use or closed-source linking is not specified.
Limitations & Caveats
- The MC2 client currently only supports remote deployments of Opaque SQL; Secure XGBoost support is pending.
- The project includes exploratory research prototypes, which may indicate a less stable or production-ready status for those components.