How does Sharemind MPC work?

A short introduction to secure multi-party computation technology

Frequently asked questions

Security of Sharemind MPC

Question

What is the fundamental privacy mechanism of Sharemind?

Answer

Sharemind is a distributed database and application server. This allows Sharemind to enforce privacy controls and efficiently store and process encrypted data. Most importantly, no single party can access the private values or perform arbitrary processing on them. Take a look at our technical overview for more details.

Question

How does Sharemind protect my inputs?

Answer

Sharemind encrypts your data within your device so that it will never leave your organisation unprotected. Standard data analysis systems have to decrypt data for analysis, but Sharemind maintains the protection in both storage and analysis.

Question

What prevents me from breaking privacy by malicious queries?

Answer

All Sharemind applications follow a pre-agreed computation plan. This means that users can only perform queries that are accepted by all Sharemind hosts. This allows efficient restrictions on query types, the number of queries or the use of statistical anonymisation techniques of differential privacy.

Question

What is the procedure for agreeing on allowed queries?

Answer

Sharemind’s applications are implemented using the SecreC 2 programming language. SecreC programs clearly tag public and private data and explicitly show locations where private data is made public. Each Sharemind host will receive the study implementation and will be able to review it before installing it. In live deployments, new Sharemind applications cannot be installed remotely.

Question

Who do I have to trust?

Answer

By digitally sharing data with standard technologies, you have no control over how another party uses your data. Sharemind uses cryptography to remove the need to trust a single party unconditionally. By distributing encrypted values among multiple parties Sharemind allows multiple stakeholders (e.g., data owners) to retain control. Sharemind’s own security is ensured by a peer-reviewed research process.

Question

Has Sharemind been audited?

Answer

Sharemind’s protocols have been checked within scientific peer reviews. We regularly apply automatic tools to check the privacy of the implementation. Our users have performed code reviews of the software. As Sharemind is under constant development, no certified version of it exists at this time.

Question

Can data in Sharemind be recovered?

Answer

Sharemind installations for real-life applications are set up in such a way that no single party can recover the data. Data can be recovered only if all servers agree, or are legally required to, disclose their encrypted parts of the values. Note that recovering a Sharemind host database from a backup is no different from recovering a standard database.

Secure computing capabilities of Sharemind MPC

Question

Can Sharemind run database applications?

Answer

Yes, the Sharemind application server can use several database engines in its backend. Sharemind can also securely link, sort, shuffle and aggregate databases.

Question

Can Sharemind perform statistical analyses?

Answer

Yes, Sharemind has a R-like statistical tool called Rmind that implements a suite of common analytical methods. Sharemind is one of the few secure computation technologies with floating point calculation support so there will be no loss in precision.

Question

Can Sharemind securely process texts?

Answer

Yes, Sharemind can store and process texts (such as genome sequences). The efficiency of processing is highly dependent on the type of analysis performed.

Question

Can Sharemind be used in real-time applications?

Answer

Sharemind is designed for non-real-time analytics. However, Sharemind has limited support for real-time aggregation of sensor information.

Question

Can Sharemind be used to test information systems?

Answer

Sharemind is not a platform for testing IT systems. However, Sharemind can securely analyse real-world data and generate test data with the same distribution to use in testing.

Question

Can Sharemind be used to built electronic voting systems?

Answer

Sharemind is a platform for protecting the identity and private data coming from multiple sources. Therefore, it is suitable for providing confidentiality and anonymity for polls and voting systems.

Deploying Sharemind MPC in practice

Question

Can Sharemind run database applications?

Answer

Yes, the Sharemind application server can use several database engines in its backend. Sharemind can also securely link, sort, shuffle and aggregate databases.

Question

What is needed to deploy Sharemind?

Answer

Today, Sharemind is most efficient and capable with three servers. This means that a Sharemind deployment needs three independent and non-colluding hosts. For example, these can be three organisations or three cloud servers from different service providers. No host will be able to access private data alone.

Question

Why three servers?

Answer

Our current research has shown that three is computationally the most efficient setting. Essentially, we use a third server to reduce the strength of trust needed between two servers. Note that Sharemind has security protocols for systems with two or more servers, but these are less efficient and capable.