We are happy to announce MC² projects, a collection of open source tools calculation of confidential information and cooperation. Developed at UC Berkeleyn RISELab, MC² (Multi-Party Collaboration and Collaboration) enables versatile analytics and machine learning encrypted information, ensuring that the information remains hidden even when it is processed. The information in use remains hidden from the server performing the job, allowing confidential workloads to be decrypted unreliable third parties or cloud service providers. This not only protects confidential information from intrusions but also enables secure cooperation – Multiple data owners can jointly perform analytics of their collective data or ML without disclosing their personal data to anyone else: even a trusted third party.
Personal information is becoming more common and privacy concerns continue to grow. This is tightening global data protection laws. organizations now face increasing risks of non-compliance. At the same time, these organizations understand the enormous benefits of being able to share their information with each other – banks can collaborate to detect financial crime, health facilities can collaborate on medical research, and so on.
Driven by this development, Gartner forecast that by 2025, “50% of large organizations will implement privacy-enhancing computing for data processing in unreliable environments and multi-party data analytics applications”.
The MC² project aims to realize this vision and resolve this tension between the expanding deployment of cloud services, the need for data sharing, and the growing concern for data protection.
MC² has already seen industry take-up and interest in finance and telecommunications applications: Ant Financial and Scotiabank efforts to combat money laundering, detect fraud or credit risk modeling; Ericsson to predict hardware failures and performance issues across different mobile operators.
More generally, those industries where data is locked for privacy reasons can benefit from MC². Our platform will retain all confidential information such as SSNs or PHI data that is completely hidden during the calculation safe enclaves such as the Intel SGX.
What are protected enclaves?
Enclaves offer an isolated implementation: Protected enclaves are the latest technology that allows a trusted execution environment (TEA) otherwise on an unreliable machine. Each enclosure has access to a limited portion of memory; any data or software located in the enclosure is encrypted and isolated from the rest of the system. No other processor on the same processor — even privileged software such as an operating system or hypervisor — can use encrypted non-volatile memory. This creates a layer of protection against intrusion by the operating system itself; properly used, anyone with a main drive to a machine with a workload can learn little or no knowledge of what is happening within the enclave.
Enclaves supports remote authentication: Another key feature of safe enclaves is remote certificate. This is a feature that allows users to cryptographically verify that an encryption uses trusted, unmodified code. The MC² project provides a remote certificate platform for users to authenticate all non-local computing services from a trusted local client running on their own machine.
Enclosures and side channels: Unfortunately, Downloading existing software to enclaves may expose the information to certain side channel attacks, where an attacker could learn more about encrypted data by observing auxiliary data, such as data usage patterns during software execution. Preventing such leaks is left to the software developer; MC² addresses this issue tonic separate code and ensuring that it is flexible for side channel leakage through memory access models.
Protects enclaves compared to other approaches
Protected enclaves are not the only privacy-enhancing approach to calculating confidential information. Here it is compared to other popular options:
In particular, MC² provides a platform that can seamlessly perform popular analysis and machine learning frameworks (Apache Spark, XGBoost, etc.) in separate parts securely and efficiently, eliminating the complexity of writing separate code for the end user.
One way to use enclaves is to load the entire application (e.g. Apache Spark) into the encryption. However, doing so adversely affects both the safety and effectiveness of the stand-alone program. For example, if a program is memory-intensive, excessive encryption / decryption and paging will greatly affect performance. Instead:
MC² knows how to ensure separate code for security and efficiency: MC² sections application so that only those components that need to be calculated directly for sensitive data are loaded into the enclosure. Other components, such as network communication and task scheduling, are performed outside the enclave. This also benefits data security by reducing the reliable calculation base, i.e. the amount of code that passes through the enclave and therefore needs to be checked in advance.
MC² confirms the performance of the enclave: MC² fortifications enclave components with cryptographic techniques to provide stronger security guarantees. This is done in two ways. First, MC² builds measures integrity work with decentralized implementation. Second, because enclaves are known to be prone to side channel leaks, MC² uses it data-ignorant techniques in discrete code to ensure that side channel information is not leaked through memory usage patterns. Ignorance of the data ensures that memory usage patterns do not reveal any information about the sensitive information being used.
MC² customer: The starting point for all calculations supported by MC² is MC² customer. This tool works a reliable environment, typically the user’s local machine. Through the command line or Python interface, the client software is responsible for handling remote certificates and sending jobs unreliable Lower the cluster. The customer also includes additional features for creating the keys needed for the computing service and starting / stopping the cluster of machines Microsoft Azure. (Visit documentation concrete details of how all this can be achieved, or quick start practical demonstration of the workflow.)
MC² calculation services: MC² offers several computing services: these are Spark SQL, shared XGBoostand combined learning. Everything is designed to run in a primary unreliable environment, such as a group of machines hosted on a public cloud that supports reliable implementation environments (hardware units). The data is encrypted during transport with a customer key and is only decrypted in the enclosures of the hardware, which provides the aforementioned security guarantees for the data in use. In all computing services, MC² utilizes Open the Enclave SDK, a project designed to provide a unified API for several different standalone architectures.
MC² also includes exploratory research prototypes (not integrated with the MC² client) that enable secure computing with new encryption technologies. These works were published at the USENIX Security Conference.
- Brain: General purpose Python DSL for learning with secure multi-party computing.
- Delphi: Safe reasoning from deep neural network.
MC² is a security analysis platform that remains encrypted even during use. By doing so, the project also enables secure collaboration between multiple organizations, where individual data owners can use the platform to jointly analyze their collective data without disclosing it to each other. To learn more and see documentation for individual projects, visit home page.
We would like your input! Visit our site Github page see all projects under the MC² umbrella.