This is the third in a series of posts exploring the various approaches to safeguarding crypto assets. Previously, we introduced the typical attack vectors and examined different approaches to protecting custodians against them. This post is about the most vital aspect of security – transaction approvals. They’ve gained importance with the rise of cryptocurrencies, especially considering the damage that a single misuse of a key can cause.
We compared Multi-Signature, Multi-Party Computation, and Hardware Security Modules in their ability to protect cryptocurrencies and assets and in meeting operational, business, and regulatory requirements.
Preventing unauthorized access to the key material is, arguably, less than half the job when it comes to protecting crypto assets. The real challenge is controlling the use of the keys. This differs from legacy applications. When a private cryptocurrency key is compromised, the damage is severe. Even if it only happens once, it can cause a loss of millions, if not hundreds of millions of dollars. It’s also practically irreversible. The attacker might not even have physical access to the keys – they merely need to exploit an application that’s been given permission to use the keys locally or remotely.
Multi-party computation addresses most of these issues. Since it’s performed on a single key, which is also required for the approved transaction, it is:
However, where it falls short is in two main areas:
Legacy HSMs are pretty “dumb” machines: they sign whatever they are requested to sign with an appropriate API authentication key. This is sufficient for legacy PKI applications, where a compromised key can be simply revoked and reissued. However, it’s unacceptable behavior for cryptocurrency applications.
This is the main reason why HSMs have gotten a pretty lukewarm reception from the cryptocurrency industry itself. CISOs know that the protection typically provided by HSMs, which focuses on physical and cryptographic vulnerabilities, is insufficient.
It’s also the reason why Securosys introduced several regulatory mechanisms that allow developers and security administrators to maintain oversight over private key operations. These controls include:
Combined with the right design and operating procedures, such rules practically eliminate the possibility of any outsider or insider attack:
These rules are enforced within the Securosys HSM’s secure container, which physically protects the key material itself. It’s impossible to sneak in an unsigned code or break the protection with a man-in-the-middle attack.
In the final post of the series, we’ll look at business, contractual, and regulatory considerations, as well as the tradeoffs involved in the various approaches, and finally their respective developer experiences.
You can find more information on the safeguarding of crypto assets here.