LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 私钥成区块链安全最大难题我们该如何保护自己的资产不受损?

私钥成区块链安全最大难题我们该如何保护自己的资产不受损?

2021-09-30 加密矩阵 来源:区块链网络

精彩摘要

很明显坚信长期主义的团队,在任何时候都能做成难且正确的事,比如在区块链底层设施安全上,比如说我们已经落地的钱包产品ABWallet,但三年前就已经开始部署。犹记得《看见》里有句话:“有些笑容背后,是紧咬牙关的灵魂。”。

不久前,项目方Vee Finance发生攻击事件,项目方披露至少致 3500 万美元被盗,当然这不是今年第一起。据相关机构统计,2021 年区块链生态仅被公开的区块链安全事件就达144 起,损失金额约81亿美元。

(图片来自https://hacked.slowmist.io/statistics/?c=Exchange&d=2021)

披露的数字仅是部分被公开的,如果算上未被收录的,这个数字可能还会更严重。

对于区块链安全而言,主要聚焦于底层基础设置上,据中国信通院2021年区块链安全能力测评与分析报告显示,区块链基础设施十大安全隐患涉及 2 项权限管理,2 项密钥安全,1项隐私保护,1 项智能合约安全,4 项安全运维。

从以上数据及行业现状不难看出,基础设施安全性包含三个方面:私钥管理、终端和网络漏洞以及合规性。从本质上讲,区块链是通过加密生成公钥和私钥的双重加密系统。但是,目前仍然缺乏密钥安全存储和恢复机制,用户端的私钥管理是行业基础设施“三座大山”之一。

私钥和数字钱包有被盗的风险。一旦私钥丢失,帐户将无法进行任何操作。因此,安全密钥管理模型被认为是实现基础设施安全的关键技术。

加密矩阵作为区块链底层技术资深团队,很早就开始深耕区块链底层安全。团队秉承一贯的务实风格,使得他们一直专注从底层逻辑上解决问题本源。

权威与专业

学界与业界的秦晋之好

据团队密码学小组负责人介绍,目前加密矩阵已研究出“区块链+隐私计算”一体化底层技术解决方案——跨链隐私保护方案、安全密钥管理服务和联邦学习平台(新一代隐私AI平台)。而目前正在落地测试的是一款面向企业端客户的资金管理解决方——ABWallet。这是一款和以往所有钱包都不同的解决方案。

在整个钱包研发过程中,浙大“百人计划”研究员张秉晟教授作为项目的首席科学家参与研究指导。张教授研究重心在密码学,主要从事安全多方计算、零知识证明和区块链安全,刚好和加密矩阵在区块链安全方向的实践一致。他多年来在国际高水平期刊会议上发表学术论文 50 余篇,还在中国信通院任评审专家,在区块链安全领域能够提供足够权威的建议。

仿佛一场联姻,一方是理论前沿,一方是落地战场,一碰撞总能讨论出很多新奇的点子,重点是这些点子都可落地。

“我们经常把我们的软件架构给他看,让教授看看是否有什么安全上的问题,并把一些想法和他咨询,比如用户上如何保证通讯安全……教授再根据这些问题给出学界上比较权威的思路,我们看了拿回去再做落地研究,最后再结合实际情况做讨论。“

此外,密码学小组负责人还提到,基本每个月他们都会保持这方面的交流,每次交流时长都在3小时以上。

大概19年起,加密矩阵便开始部署底层安全方案研究。到今日产品落地,它的意义在于对行业往前跨一步的推动上。

算法与硬件

往前一小步的背后架构

往前的每一步,是无数试错的结果,尤其在区块链领域,更没有前人经验可借鉴。

安全问题,从需求分析到编码和维护,必须将其视为嵌入在系统整个生命周期中的元素。密钥安全居首。

因密钥管理漏洞,对钱包来说,这个赛道苦“安全”久矣。

1. 鱼和熊掌可兼得否?

随着区块链产业的发展和扩张,钱包也呈现并行加速的现象,越来越多的项目方加入数字资产钱包领域。对区块链行业来说,安全将是永恒的话题,钱包涉及到用户资产的核心,其安全性更是不容忽视。

密钥安全是钱包最需要为用户保证的关键要素。因此,根据围绕密钥保存方式,派生出诸多密钥管理相关方案。

根据私钥存储方式,可以将钱包分为去中心化钱包(Onchain钱包)和中心化钱包(Offchain钱包)。去中心化钱包私钥保存在用户手里,但会有私钥丢失和被盗风险;中心化钱包由项目方代为保管,但是中心化服务器一旦被黑客攻克或项目方跑路,用户将遭受不必要的损失。

为了防止私钥受攻击,根据不同私钥签名机制,可分为单签钱包和多签钱包。单签即意味着一人管理私钥,但存在私钥丢失风险;多签意味着多人共同管理私钥,常见的是“2/3”模式,即3个人持有签名情况下,至少需要2个人确认,才能将这些签名传递给一份智能合约

合约开始运行,把钱转出去,短时间内看起来是个很好的解决方案。但是有一个关键点在于区块链上合约的任何细节都会被看见,任何人都可以来看合约漏洞,因此多签钱包90%都是合约出问题。

从以上分析来看,去中心化钱包主要针对项目方私钥保管去中心化,但当私钥存在客户手上时,容易被盗取或丢失,还是落入中心化弊病;多签钱包的多人管理模式做到了双方的去中心化,但合约漏洞成为隐患。

在对市场做完深入剖析后,加密矩阵从安全层面出发,集多签钱包优势,保留了“多人管理”这一机制,同时从软硬件方面在安全和隐私方面做了加密保护,开发出了MPC(多方安全计算,一种隐私计算技术)钱包。

这一钱包有着令人眼前一亮的优势。

2. MPC钱包:鱼与熊掌可兼得

(1)算法层面:基于 MPC 的门限签名方案

先讲讲MPC概念。MPC即多方安全计算协议,是指针对无可信第三方情况下,安全地进行多方协同的计算问题,强调计算过程中对于输入数据不可见,最终各方只能得到计算结果。门限签名方案(Threshold Signature Scheme)则是一种多方安全计算协议中的一种,由门限秘密共享技术和数字签名技术组成。可以理解为门限签名是一个分布式的密钥生成和签名方案。

综合以上,我们在软件层的部署使用的是基于 MPC 的门限签名方案。

方案原理

简单理解该方案原理——比如一个"2/3 "多签模式?的基于 MPC 的密钥管理协议,意味着一共有 3 个碎片(是碎片,不是签名),只要任意的 2 个碎片参与执行协议,就可以产生一个合法签名。这里的签名产生过程,包括碎片产生过程,都可以看成一种安全多方计算,因为在协议执行过程中,产生和交换的所有中间数据都不会直接或者间接地造成碎片明文的泄露。

亮点1:密钥能用但不存在

如图所示,最下边是区块链,中间是数字签名,上边是智能合约。基于 MPC 的门限签名独立于合约和区块链之外,两头都不会有关联,它只关联右边这部分,也就是链下?创建签名的部分。

这个思路是一个签名一定是有一个私钥的,它把这个私钥以某种方式分成很多「?碎片?」,这些碎片可以被很多人同时拿着,然后通过一套 MPC 协议,保证这些碎片不需要被拼起来就可以直接产生一个合法的签名。「不需要被拼起来」代表着真正的私钥始终没有、而且也不需要出现。

此外生成签名的逻辑是放在 MPC 里实现的,出来的是一个标准的签名,但怎么在这个协议里生成的没人知道。在整个密钥管理的生命周期里,真正的私钥从来没有出现过,由此消除“私钥存储方式”带来的隐患。这是基于 MPC 的密钥管理的精髓所在,它能够保证密钥能用但不存在。

亮点2:私钥碎片可找回

另一大亮点是,私钥碎片找回机制。基于"2/3 "多签模式的MPC密钥管理协议,3个碎片只要2个确认即可启动程序,也就是说系统有它的容错机制,允许有1个碎片丢失还能即时找回。在传统多签钱包里如若出现私钥之一丢失,则需要转换地址,相当于换个新的多签合约,这并不是件容易的事,这中间给了黑客盗取资产的机会。

基于 MPC 的密钥管理将密钥的安全性分散在多个托管节点 里,私钥在任何时刻都会被分成多份在多个地方,黑客可能要攻破第一个、第二个、第三个,要把三个碎片全部搞定才能拿到密钥,而且必须在某一时间范围内同时拿到三个碎片才能得到密钥,因为密钥碎片是在不断刷新的。

它全程是一个动态调整的过程,由此破除了单点故障风险。

(2)硬件层面:可信计算框架技术,防止内部作恶

「可信执行环境」技术(Trusted Execution Environment,简称 TEE),该环境可以保证不被常规操作系统干扰的计算,因此称为”可信”。简单理解即TEE 提供了一个受保护的环境,在其中可以进行计算而不被第三方所观察。这一特性有助于将机密计算分流到不直接由用户控制的机器上。这对用户友好,从客观上降低了内部作恶的可能性。

2013 年,英特尔推出了基于 TEE 的指令集扩展(CPU中用来计算和控制计算机系统的一套指令的集合):SGX,旨在通过硬件安全为强制性保障 , 不依赖于固件和软件的安全状态 , 给用户空间提供可信执行环境。SGX将系统的可信计算基( 指实现计算机系统安全保护的所有安全保护机制的集合)缩小到CPU, 相比以往将整个操作系统或特权软件(如hypervisor等)视为可信计算基,可以避免更多的系统攻击带来的危害。

因此,我们将密钥碎片存在SGX里,使其能够确保通讯过程安全和数据存储安全。

通讯过程安全

通讯安全主要指用户和后台SGX服务器的安全,比如会不会被监控?

图上绿色线路就是通讯安全线路,用户到服务器之间的硬件环境采用SGX,可以说给数据安全保护提供了一个真空环境,服务方无法偷窥到用户数据。

数据存储安全

数据存储安全一是指用户数据隐私保护,二是指存储稳定不会丢失。

用户数据通过SGX进行加密存储,即使服务商也无法解密拿到用户的数据,保证了用户的隐私性;此外,我们还在技术上需要把存储的数据在不同的服务器上做多副本解决方案,这样即使有一台服务器挂掉了,也可以自动切换到另一台设备上,保证软件的可用性。

那怎么让用户知道我们的软件是运行在SGX上面呢?这点很关键但很容易忽略。

所以这也是SGX最让人拍手称绝的一点,Intel SGX允许第三方利用「远程验证」机制,构建自己的信任证书颁发这一功能。

这也就是说用户可以去英特尔上下载一份证书,这份证书是由英特尔颁发的,条件是只有运行在SGX硬件上的应用程序才可以下载。它类似远程证明,证明我的这个软件是运行在SGX上,我们会把这个证书给到用户,让用户去验证。

综上所述,Intel SGX技术可构建可信云执行环境,并能解决双向信任问题,最大程度上阻止了内部作恶事件发生。

从MPC协议到SGX硬件,双重加密机制,终使成品掷地有声。但这样的一步,却走了很久。

初心与坚持

长期主义,做难且正确的事

一群人站在巨人肩膀上使劲拉着行业走出泥潭,但凡初心不坚定,都会在半路折返或抄捷径取得短暂性胜利。但这样的胜利不会是长期的。

研发团队其实埋头做了很久,整个过程并不如预期般顺畅。

“一方面是私钥在移植到TEE里整合时,不是特别友好。移植过程花费了大量时间。在SGX环境下实现它比较难,软件开发过程中依赖很多第三方工具包,底下有一些密码学库大部分在SGX中无法使用,需要做移植。为了使软件开发能适应SGX环境,前后差不多花费了3周左右。”

“另一方面是MPC钱包目前参考案例比较少,目前已有的竞品里有做PC端的,有做移动端但不开源下载不了也就无法提供参考。而我们要做的就是移动端开源的。所以相当于摸着石头过河,很多需要自己去拓展。好在我们此前有开发过一款自己的钱包产品,在钱包开发这块有经验。但这中间还是存在大量试错过程,最后研发成功是一次次试出来的结果。我们也相信最后能够成功的”

很明显坚信长期主义的团队,在任何时候都能做成难且正确的事,比如在区块链底层设施安全上,比如说我们已经落地的产品ABWallet,但三年前就已经开始部署。犹记得《看见》里有句话:“有些笑容背后,是紧咬牙关的灵魂。”。

查看更多

—-

编译者/作者:加密矩阵

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...