星球日报搜索
手机客户端
iPhone · Android
微信公众号
微信公众号

iPhone · Android

微信公众号

密钥保护三盾客:Multisig、HSM与MPC

2020-03-03 14:02:00

介绍三种保护私钥的方法,并对其进行比较,选出最适合交易者使用的安全保护方式。

编者按:本文来自量化踢马河(ID:gh_e9da2a6cbc62),Odaily星球日报经授权转载。

密钥对加密资产的重要性相信没有几个交易者不明白,这串小小的数据被用于对数据机密进行加密、解密、签名或者验证。只要拥有了加密资产,就永远离不这串密钥。

加密密钥有两种形式:对称的和不对称的。加密交易中,我们经常将签名视为一种非对称算法,该签名旨在为了对数据进行验证。(关于密钥,在之前的文章中曾经有过非常详细的讲解,在此就不再多加解释,有兴趣的可以回翻查看。)对于钱包中的资产,只要拥有了公钥和私钥,就可以对其进行任何处置。许多黑客花费大量的时间和精力设计骗局,最终目的就是为了骗取用户的私钥。因此,保持密钥,尤其是私钥的私密性是非常重要的。

本文今天就来介绍三种保护私钥的方法,并对其进行比较,选出最适合交易者使用的安全保护方式。这三种方法分别是:Multisig、HSM和MPC。

Multisig

首先第一个来说的就是Multisig,又称“多重签名”,它使用多个公共密钥来授权交易。

在正常情况下,如果A想向B支付比特币,只需要使用其与钱包相关联的私钥签署交易即可,这既是所谓的“单签名”交易,因为只有A需要使用他自己的私钥。但是在“多重签名”的交易中,将会根据定义的仲裁结构来验证多个签名。

举个例子,假设A和B合伙创业,两人共同拥有一个应用了Multisig的联名账户,这个账户对应的钱包就将会有两个公钥。如果任何一人想要通过该钱包进行收付款操作,都必须要同时征得另一位合伙人的同意,两人共同使用自己的私钥来授权进行交易。

上述例子中,提到到是比较基础的Multisig,当然交易中也可以选择使用更复杂的配置来提高钱包的安全性,这种配置通常被称作:N-out-of-M. 一旦给钱包设置了这种Multisig,就意味着对于任何一笔给定的交易批准,必须提供M个总批准者中的N个批准。例如,设定的总批准者有10(M=10),只有取得至少7(N=7)人批准的前提下,交易才能成立。当使用者想要使用钱包支付比特币时,就必须让这十位批准者中至少7位使用私钥授权,交易才能成立。

使用Multisig的核心理念是:即便一组私钥丢失或者被盗,也能够保证钱包中的资金安全。

HSM

HSM也称“硬件安全组件”,顾名思义指的是利用一块专用的物理硬件来保护密钥的安全,并执行加密操作。

HSM是用于保护私钥的另一层安全保护,传统上早已是银行业务的标准配置了。最常见的例如你的ATM卡(包括银行卡等在内的,能用于ATM的卡片)或信用卡等。

当你将ATM卡放入机器中时,它会与银行数据中心内部的HSM达成协议。HSM存储所有银行操作或者ATM卡验证所需要的密钥。在传统的银行系统中,他们有数百万个需要管理的密钥,每个ATM或信用卡等都具有其对称的密钥或者私钥。这使得银行在创建新卡时创建密钥,在吊销卡片时要同时销毁密钥,这些操作给银行带来了巨大的密钥管理麻烦。不过,这些功能通过银行的HSM基础架构解决。由于传统银行的安全性仅与这些加密密钥周围的安全性一样,因此,HSM的主要目的在于抵抗包括内部人员在内的入侵者。

它们旨在防止篡改,如果有人试图侵入,或者其检测到有异常活动时,它们甚至会自毁。而为了提供附加的安全层,HSM通常位于银行的安全数据中心内。

MPC

MPC也就是所谓的“多方计算”,其允许具有自己专用输入的不同方,对其输入进行联合计算。各方了解了计算的结果,但彼此均不了解对方的各自输入。密码学家Adi Shamir创建的算法Shamir’s Secret Sharing是多方计算核心的一种。

秘密共享方案涉及在多个网络节点,或者用户之间分配一个私钥,只有当事方的指定子集将他们的碎片汇集在一起的时候,他们才能检索到该值。

就他们自己来看,这令我们可以在地理位置上安全的拆分数据。使用与秘密共享方案相关联的协议,各方可以对共享数据执行任何计算任务,而无需将关联部分放在一起。安全的MPC概念可以应用于任何类型的私有数据,无论是个人数据,共享公司数据还是用户的私有密钥。

这里可以借助医院共诊的例子来进行理解。当两家或者两家以上的医院希望对其患者进行统计分析时,借助MPC,他们无需向其它医院透露自己医院患者的详细信息,即可获得最终的统计数据。

将相同的想法应用于与密码关联的私钥。用医院的例子来理解的话,即,不是将患者(数据集)组合在一起,而是将数据(单个私钥)拆分成多段数据,然后将其存储在单独的位置中。之后,这些位置可以通过MPC,使用私钥来进行任何计算,而无需重建私钥。

例如,比特币的私钥可以分为几个部分,每部分分别加密。每部分都分配给一个网络节点。网络可以对数据执行计算,但同时也能够保持底层数据的加密。

MPC的概念已经存在数十年之久,但是,实际的使用也仅仅在最近几年才出现。如今,该技术受到了极大关注,自2017年以来,它已经在各种Gartner Hype Cycles中得到了应用。一些世界领先的银行和技术公司也在用其保护价值数十亿美元的资产。

比较Multisig、HSM和MPC

这三种方法的目的都在于增强安全性和隐私性。但是每种方法都有其特定的优缺点。

在Multisig中,主要是通过增加密钥的数量,来消除由于依赖单个密钥而造成的风险。同时,他还增强了对职责分离的监管要求的遵守。

但是,该方法有诸多限制。例如,并非所有加密货币都支持它,且在Multisig设置中,想要替换用户或者是更改定额都是极为困难的,且最关键的是,Multisig本身不提供任何私钥保护。

HSM通过使用安全硬件存储密钥,来获得额外的安全性。但是,它并非就万无一失了。2019年时,钱包供应商Ledger的研究人员就能够对著名的HSM进行破解。除此之外,通用HSM硬件不能解决内部人员使用欺诈性密钥的问题,并且维护费用也非常昂贵。

许多加密货币交易倾向于依靠Multisig和HSM的组合。但是,使用Multisig在 冷钱包之间转移资金会大大降低交易速度,导致运营效率低下。

MPC和其它两者不同,它允许地理隔离和对每个位置的独立控制,以此来保护密码数据。它是一种同时包含了分发(distribution),分布式计算(distributed computation)和加密的罕见组合。它为改善数据的隐私性和安全性提供了可观的效果。但是,使用该技术需要大量的专业知识才能自行部署,因此建议可以选择一些成熟的密钥管理提供商。

本文来自投稿,不代表Odaily立场。如若转载请注明出处。

Odaily星球日报提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

参与讨论

登录后参与讨论

星球君的朋友们

特邀作者

星球君的朋友们

优质区块链文章转载

总文章数: 1356


分享至

微信扫一扫分享

0