How to eliminate the weak link in public cloud-based multi-party computation
Secure multi-party computation (MPC) has seen steady evolution to tackle many scientific challenges. These include enabling the creation and tuning of AI or machine learning algorithms, as well as developing open-source software and games. Now, digital finance and multi-party business initiatives are increasing the use of MPC in the public cloud. MPC has become a primary technology used by wallet providers and custodians to secure crypto assets.
MPC: Secure but not invincible
A popular misconception is that MPC is nearly invincible and offers a new, flawless form of security for digital assets. Through its use of secure signature generation, multi-party approvals, key share rotation and off-policy changes, MPC is highly secure – but not invincible – though the fact that no complete key ever exists anywhere is a foundational security advantage.
Nothing is fully secure, and MPC has seen a growing number of targeted attacks and losses. The hacking of the cryptocurrency exchange Liquid resulted in a $97 million loss and included unspecified damage to its warm wallet used to warehouse and manage delivery of its cryptographic assets. Information on incidents has been marred by hazy details and limited disclosure, but there are numerous accounts of sophisticated attackers directly targeting MPC resources.
MPC’s highly distributed protection of private keys and other components offers considerable advantages. At the same time, distribution potentially makes it more difficult to spot a targeted attack. Efforts to gain access to individual resources can enable control of valuable assets, although such an orchestrated attack is difficult to accomplish. To gain control over a user’s wallet, for example, threat actors would need to attack multiple parties across different operating platforms at different locations.
Regardless of how centralized or distributed, the weak link appears when private keys or other MPC components must be computationally executed on a CPU. The point of the encryption protocols is that the algorithm is public, and the security relies only on the keys. The distribution of computation across many machines harkens back to one of the oldest security strategies: security through obscurity. This complexity makes it difficult for an attacker and offers high levels of protection.
At some point, though, these algorithms—and the accompanying data sets—need computational execution. When an MPC algorithm is run on a CPU, the keys must be provided to the CPU to compute signatures. Although the keys are encrypted when transmitted securely to the target CPU, they must be decrypted to perform the actual calculations. At this point, key material is at risk. Sophisticated attackers or insiders can gain access to a server or host, and then observe what is in memory and what is currently being executed. This is because both conditions require unencrypted data or code to properly execute.
The same requirement applies to blockchain. Computation on a CPU is required when a new entry needs to be added to the blockchain ledger and the hash updated to reflect the change. The computation must be performed on unencrypted code and keys. It is during and immediately following this execution, when code and data reside in machine memory, that they are subject to a gap in security.
In the case of MPC, the technology does not generate or utilize a complete key, but rather uses key-shares that reside on different hosts. Each host presents a security gap during and following execution. Fortunately, it is not enough for an attacker to infiltrate one host and steal a single key-share. This makes attacking an MPC scheme harder than attacking a centralized algorithm. But if an attacker infiltrates multiple hosts, and gains access to the required pieces (all or just enough of them depending on the MPC scheme), they can perform the multi-party computation on their own and steal digital assets and funds.
Secure enclaves to the rescue
As with data, application code and proprietary algorithms, encryption provides protection while data or assets are in storage (at rest) and in transit. However, the fact that a gap exists during execution often eludes security professionals. Computational execution is performed unencrypted, by necessity and definition, in the clear. Keys, code and data reside unprotected in computer memory and are available to sophisticated attackers even after execution. Attackers have the potential to observe computation, capturing keys and interfering with transactions. These attackers may be rogue insiders, third-party contractors or attackers that have gained root access to servers. Sometimes access can come through an insecure software component in cloud or application infrastructure, which can then be used by an external attacker or insider.
While various isolation and cryptographic technologies protect immutability and privacy to very high levels, the execution gap inevitably exists. Secure enclave technology is hardware security built directly into CPUs to eliminate this gap, effectively locking down data, code and other assets during and after execution. With these secure enclaves, even those with root access to servers are locked out of seeing or accessing the resources during or after code execution.
Public cloud providers have incorporated secure enclave technology into their environments, making it fully available to customers—generally without charge—as Confidential Computing. Private keys can be made totally opaque to attackers. Thus, the key is fully protected, even when it is used.
Confidential computing technologies can close this encryption gap, but they require either modifying application code or deployment and operational processes. New technologies can work in conjunction with confidential computing to make its use transparent, without any necessary changes or disruption. The “lift and shift” nature of these new technologies somewhat parallels what companies such as VMware have done to make virtual computing practical.
The level of security brought by MPC and blockchain is quite high, but gaps do still exist. Security and risk professionals must be aware of these gaps and address them with new technology to prevent exposure to attackers or insiders. Closing the gap will contribute to the growth in, and trust of digital finance, preventing unfortunate losses that could undermine their future.