硬件安全模块(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 等经过验证的解决方案非常重要,这对于区块链的发展和成熟可能至关重要。
(作者:曲速未来安全区,内容来自链得得内容开放平台“得得好”;本文仅代表作者观点,不代表链得得官方立场)