如何使用HSM提高区块链钱包的安全性
扫描二维码
随时随地手机看文章
作为orb公司区块链项目的安全顾问,我从客户那里听到的一个反复出现的问题是如何保护他们冷热钱包中的私钥。
硬件安全模块(hardware security module, HSM)是一种管理数字密钥的传统安全解决方案,广泛应用于PKI环境和金融领域中。
乍一看,使用HSM可能是区块链的完美解决方案。HSM生成密钥对,具有安全存储,并且可以从整个系统卸载加密操作。
在一系列的故事中,我将尝试通过描述真实的用例、市场提供的分析、代码示例和对未来的预测来回答这个假设。
何谓HSM?
HSM是一种保护和管理数字密钥的物理设备或云服务——促进加密、解密、签名和验证。HSM背后的动机是提供一个与私钥交互的安全环境。没有这个环境,关键就有暴露的危险。这些模块通常以插件卡或直接连接到计算机或网络服务器的外部设备的形式出现。
HSM是一种负责管理私钥的整个生命周期的密码学设备。这个生命周期包括生成、分布、旋转、存储、销毁和归档。它是专门设计和构建的,目的是为快速和安全的加密操作创建一个抗篡改的安全环境。
它们现在是如何使用的?
如今,HSM设备主要用于零售银行业,为磁条和EMV芯片卡发行过程中使用的密钥和客户PIN提供高水平的保护,以及对随后的信用卡和借记卡支付交易进行处理。
人们通常关注热钱包的私钥,因为它们具有在线实时交互功能。对区块链项目来说,公开私钥可能意味着末日的到来。当威胁行动者能够访问私钥时,游戏通常就结束了。这可能是一个专业黑客,一个脚本小子,甚至是一个可能滥用组织资金的内部人员。在这些情况下,HSM对于私钥管理来说是一个非常棒的安全同盟——区块链社区的每个人都在考虑使用HSM。
HSM构建在专门的硬件之上,并且有一个以安全为中心的操作系统。它具有有限的监视访问通道,并为设备的操作和管理实现了角色分离机制。主要支持的加密操作有真随机数生成(TRNG)、对称和非对称密钥生成、哈希函数计算、加密和解密以及签名和签名验证。HSM生成密钥对,具有安全存储,并且可以从整个系统卸载加密操作。
他们如何保护区块链钱包?
区块链中的帐户地址通常来自公钥的值。这个公钥有一个对应的私钥,这个密钥对应用区块链指定的规则,如长度和编码模式。这种密钥对的生成应该考虑几个基本的方面,如真实随机性源、生成算法与环境、分布过程等。
区块链解决方案通常将热钱包的私钥存储在数据库、本地文件中,这些私钥通常是加密的,但有时也以明文形式存储,甚至以明文形式存储在公共Github存储库中——但这是一个非常糟糕的主意。在这些体系结构中,安全漏洞或开发人员的错误都可能会导致私钥的公开。
如何使用HSM提高区块链安全性?
在区块链中使用HSM设备的方法有很多。毕竟,这个新兴行业需要更多更好的解决方案来保护货币,降低盗窃、黑客攻击或安全漏洞的风险。
下面,我将概述HSM硬件在区块链中促进安全性的六种潜在用途:
1. 生成私钥和公钥对:HSM需要支持区块链特定的椭圆曲线,比特币和以太坊区块链使用Secp256k1,Stellar使用Ed25519。
2. 私有密钥的安全存储:你的私钥必须保持安全与私密——就像你要保护信用卡的密码一样。不这样做可能会导致灾难性的后果。你的私钥可以解锁你的东西。在使用生物认证时,保护您的私钥相当于保护您的指纹。
3. 签名和验证事务:通过签名将有效的事务发送到区块链,并在需要时验证事务。这是银行业中HSM的常见用例,人们将设备连接到自己的帐户以批准交易。
4. 分层确定钱包:根据bip32,在安全环境中从单个密钥主密钥对派生密钥对的能力。
5. 加密、解密和使用密钥数据库中的密钥记录:维护大量密钥的解决方案需要使用密钥数据库来存储这些密钥。
HSM可以接收加密密钥并在安全环境中使用它。
6. 日志记录:以一种比普通日志记录更健壮的方式跟踪键的使用。能够审计和监视如何以及何时使用密钥可以提供额外的安全层。
在区块链空间中存在许多安全漏洞,并且随着行业的发展,对更好和更安全的方式与区块链交互的需求也在增长。从安全的加密传输到共享机密的公司数据,安全将始终处于议程的首位。
数十年来,银行和其他机构一直在努力应对这类挑战,区块链社区接受HSM等经过考验的解决方案是非常重要的,HSM可能对区块链的发展和成熟至关重要。