技术极客终极battle | 区块链的安全性是现在还是未来

2018-07-12 15:48 技术 人物 103074 收藏

7月10日,火讯TECH第一期携手火币公链领袖们线上答疑解惑。

区块链在繁荣中撕裂,共识在扩张中亦流失,是时候正本清源,好好聊聊技术了。7月10日,火讯TECH第一期携手火币公链领袖们答疑解惑、了解他们的想法、分析他们的做法、普及区块链底层技术知识。SLife联合创始人龚海刚受邀参与对谈。

👉Defense In Depth -

Blockchain Security Now and Future

(深度防范 —— 区块链的安全性是现在还是未来)

分享嘉宾

屏幕快照 2018-07-11 10.45.18.png

黄连金

核聚链创始人,世界区块链组织(WBO)首席技术专家,美国 ACM Practitioner Board 委员,美国DistributedApps CEO和创始人,硅谷Dynamic Fintech Group 管理合伙人,中国电子学会区块链专家委员,中国人民大学大数据区块链与监管科技实验室和法链实验室特聘研究员与讲师,美国 CISSP (ISC注册信息系统安全专家)。

屏幕快照 2018-07-11 10.47.03.png

龚海刚

SLife联合创始人,曾在盛大,支付宝,平安,复星等著名(移动)互联网和金融公司,担任核心技术架构师和高级技术管理职位。 具有丰富的高可用、易运维、跨多IDC的分布式系统实战经验。

屏幕快照 2018-07-11 10.47.12.png

以下为访谈实录整理

Q1:身份管理

蔡栋:

区块链跟实体经济结合肯定要考虑身份管理:包括身份的验证和权限。请问从区块链这个角度出发大家有何考量?

龚海刚:

我觉得在商业场景里的区块链应用,是有必要存在CA环节。这块在fabric里有比较多的涉及。尤其在金融相关的业务里,国内的话,可能需要结合CFCA的信息。

黄连金:

身份的认证有不同的层次,比如按照应用场景的不同可以用简单的电子邮件和口令进行身份认证,有些应用场景可能需要国家认证过的身份。

权限的控制可以根据用户的角色。不同的用户角色对智能合约可能有不同的调用。

龚海刚:

另外,在溯源领域的应用,很关键的一点是起始信息的可靠性,这里也包括“身份”信息,除了上述信息,可能在物联网层面要多收集信息,确保身份的验证的可靠性。比如需要在硬件和物联网层面有更多的进展。

蔡栋

EOS BP(出块节点 - 国内翻译为超级节点)也有很有趣的机制保证BP是被选出的BP,而不是恶意节点模仿的。这个是区块链节点本身的ID管理,这个还需要是动态的,根据投票决定。

这些新的ID如何和真实世界的ID联系(或者不联系)、如何保护信息不泄漏,同时又能让验证了的ID能够拥有、访问特定权限的资源,都是密码学在区块链里的有趣场景和挑战。

龚海刚

相比其他敏感信息,区块链上的身份在分发,传输和持有方面挑战会更大。总体上看,还是依靠认证(CA,KYC数据),设备信息(物联网,硬件),密码学非对称密钥,物理隔离保护等。

蔡栋

在联盟链情况简化了很多,CA+特定的共识(例如常用的PBFT),保证了“区块链不可能三角形的安全+可扩展”,牺牲了“去中心化”。

但是在公链里,恶意节点,即使小于共识算法允许的51%、33%,或者25%,区块整体是不可被黑,但是例如被黑了的节点可以成为接受API call的入口,你的身份仍然会被偷取。所以我们在设计身份等敏感信息的公链设计和全节点(API入口)设计中务必小心。

龚海刚

公链共识节点的安全对刚才的问题也非常重要,里面也涉及到传统互联网安全防护。

黄连金

针对蔡总的问题:“如何保护信息不泄漏,同时又能让验证了的ID能够拥有、访问特定权限的资源,都是密码学在区块链里的有趣场景和挑战。”

这个需要用到零知识证明,同态加密,Secure MPC等加密技术也包括基于属性的访问控制等技术。共识节点的安全加固确实应该值得重视。

龚海刚

去年有几起攻击pow矿池的案例(DDoS等),pos和dpos逐渐落地后,对共识节点的攻击应该会多起来。

蔡栋

我的意思是共识节点是一个高危点,全节点(API节点)也都需要保护,得全方位的保护。

龚海刚

共识节点保护方面,首先最好让节点的产生有随机性。

Q2应用层源代码安全检查

蔡栋

应用层源代码安全检查。目前有统计,80%的源代码都有安全问题。

龚海刚

关于以太坊solidity合约漏洞方面,这里有篇https://blog.sigmaprime.io/solidity-security.html 蛮全面的。

黄连金

开发人员必须对用户输入进行input validation 和output encoding 来避免XSS,injection 等等问题。

蔡栋

无论是目前的智能合约虚拟机还是本身的编程语言,图灵完备意味着不可能遍历所有程序的分支和可能性,导致主要的编码安全还是靠程序员的编程习惯良好与否和有限的工具来保证。

龚海刚

现在有一些安全团队在做形式化验证智能合约安全性的工作。我个人觉得应该让智能合约尽量简单,简化合约虚拟机的功能。

黄连金

我认为目前很多通过形式化验证和crowd sourcing 发起的区块链安全项目都有一些问题。比如quant stamp。

主要依靠开发时候的形式化验证,和bounty hunting. 其实只能解决一部分的问题。

蔡栋

但是你的公链如果不是图灵完备似乎都抬不起头。确实是应该看具体场景。相反,比特币也有智能合约(脚本),当然是雏形。

龚海刚

runtime detection之后,怎么处理呢?

蔡栋

倒是这个技术很好:至少可以保证数据在内存中是安全的,TEE = trusted execution environment, 具体就是在Intel 2015之后的芯片里都有SGX = Software Guard Extension。

是硬件的安全,保证数据(例如私钥解密加密的数据)都在enclave(内存飞地)是其他进程不可见的。

黄连金

所以我认为,追求可以为不同领域所服务的公链可能是不切实际的目标。

龚海刚

现在有“行业公链”的趋势,就是主要还是用区块链解决某个领域的问题。

黄连金

行业公链的趋势确实是发展趋势。可以按照应用领域对智能合约进行约束和规范,也可以提供智能合约的样本。开发者只能利用安全的样本进行开发。

蔡栋

我也同意行业公链,或者垂直特定技术公链是趋势。减小攻击面是安全的原则之一。

Q3:节点的安全加固、数据在链上和链下的加密以及数据传输的加密以及防止DDOS的攻击

龚海刚

数据安全传输方面,我觉得不要使用旧版本的TLS/SSL(目前最新的版本好像是TLS1.2),防止域名劫持,防止中间人攻击(验证证书,做SSL Pinning等)等等

蔡栋

Azure最近升级到了TLS 1.2,导致大量只能支持TLS1.1的物联网设备死活没法继续安全的传数据了。他们降级到了HTTP!

龚海刚

其实微信就是自己做加密的(几年前研究微信通讯,发现他们用椭圆曲线算法,自己加密,并不依赖TLS),有实力的团队可以自己做加密。但是最好不要对自己那么自信。

蔡栋

讲到这,真想防止Man-in-the-Middle攻击,量子通信给了我们终极保护,是国家级的安全 ,说不定以后主权数字货币自己和跨国清结算节点都要这样通信,当然后端未必是区块链。

龚海刚

加密算法和过程还是用久经考验的比较好。现在很多云服务厂商有防DDoS攻击的服务,但是服务细节和能力需要确认。现在pos和Dpos共识的链多起来,Ddos对共识节点的威胁在上升。

这里可能在共识算法层面也可以提前考虑到,尤其是网络启动的时候(节点少)。不过话说回来,对于节点的DDoS防护,在传统互联网领域,也是常见攻击。还是有成熟可参考方案的。我觉得,如果只是为了防御DDoS,而引入新的复杂度,不一定划算。

Q4:算力安全与共识机制安全

蔡栋

DPoS就像议会制容易被操控,不要说系统的本身安全,操控超级节点一起做恶、主控团队做恶,都是最大的安全隐患之一。

算力安全(算力攻击问题)共识机制安全(共识机制/算法的边界攻击条件) 这个其实我们谈了一点了,大家还有其它想法吗?

龚海刚

现在有租用的“云挖矿/云算力”,发起51%攻击都是有可能性的。

蔡栋

PoW 51%算力在比特金的上真的发生了。比特币被比特大陆控制了这么多算力一直是大家的心病。很多PoW的公链没几台服务器被算力攻击是迟早的事,没有发生只不过价值不高而已。

Q5私钥管理与等保

黄连金

关于私钥: 冷钱包,多签名钱包,私钥的分解等等都是可以考虑的技术。在线的钱包不能存储太多的代币的。hardware security module (HSM) 可以存储企业级的私钥。

龚海刚

私钥管理,对个人用户来说,做到冷热钱包隔离,关注热钱包的敏感数据传输,使用安全的VPN。可能差不多了。但是交易所的私钥管理,可能是一个系统性工程了。金融行业一直有硬件加密机,这个在“等保”是必查项。

蔡栋

是的,我们金融系统都用HSM保护PII (personal identifiable information),俗称加密机。企业级的Hybrid云架构也是要用HSM的。

龚海刚

这个案例里,首先建议不要用默认的8545 8546的端口,这和把ssh的22端口换掉的道理一样。对于某个节点来说,在中心化和去中心化环境,都应该保障它的安全。

黄连金

这个安全标准的问题和SOC确实需要有一个交易所的标准。交易所的同学们应该联合起来做一个安全标准。

Q6交易所和钱包的安全

蔡栋

交易所的存在是多中心的,总的来说还是去中心的。我们着重关注一下两个对数字货币用户最重要东西:交易所和钱包的安全。

龚海刚

交易的主要流量还是在中心化的交易所。它的安全风险体系:第三方风险(比如外部接口)、运营管理风险(权限,人员,钱包管理)、业务安全风险(账户身份认证,通讯安全,风控策略,安全应急响应能力)、基础架构风险(网络,主机,代码)。

黄连金

network operation center 和 Security operation center 是很多企业必须的配置。交易所应该也需要。

蔡栋

即使中心化,现在很少看到用IDC交易所,都是云上的,至少Hybrid,云上的建设SOC更有现实意义,大量实时数据的跨AZ传送带宽和延迟由云厂商保证,集中处理实时安全有不可多得的好处。

龚海刚

交易所业务安全体系,罗列了一下:资金资产管理:钱包,账户,身份确认,反钓鱼,冷热隔离;通信安全:加密传输,数据校验,防中间人攻击,访问控制,多因子认证;安全响应能力:漏洞预警,攻击溯源,交易异常,账户异常,钓鱼攻击。

我再讲一下热钱包的安全吧。传统客户端安全,还是一样要注意的,比如:反编译保护,安装包签名;敏感信息安全,安全传输,授权访问,日志等;密码软键盘安全。

另外,钱包的信息更敏感,对于android的l APP关键界面未屏蔽Accessibility服务(无障碍或残疾人模式),可能导致助记词等敏感信息被其他应用窃取;关键界面要做防截屏;应用多设备防登陆机制等。

Q7不同区块链架构的安全分析

蔡栋

不同区块链架构的安全分析:传统结构的区块链,传统结构的区块链+侧链,DAG(IOTA。) 我倒是真没看到DAG的完整证明分叉的不可能,都是减少了分叉可能云云。

黄连金

Dagx 和cybervein 这两个DAG技术对于DAG的安全有探讨。可以关注一下。

DAGX 基于“主链”概念,也就是经过见证人认定的最短路径 MC 的 Parents 优选算法。主链创造了一个全网共识确定的交易时间序列,优雅的避免了双花问题。

DAGX 网络中“见证人”真正意义就是“共识机制”本身;12 个“见证人”发布的交易单元,在理论上无限宽广的 DAG 并发交易网络中划出了一道确定性的交易时间序列。

正是这道无限延伸基于时间的确定性交易序列,打造了 DAGX 中的主链,在宽广无序的有向无环哈希世界中形成了强健有序的唯一主干。

龚海刚

传统结构的区块链,比特币、以太坊算这类,前面提到一些,侧链本身的共识机制,退出机制,和底层主链的”挂钩“机制是比较核心的点,我们也在探索。

蔡栋

深度防范 - Defense In Depth - 这是一个永恒的话题,希望我们这短短的两小时跟大家一起不同角度一起探讨下区块链和数字货币的安全前身。至于后世,还记得Year2000千禧年问题吗?

本文为作者“SLife共享生活”,原创文章,转载时请保留本声明及附带文章链接。 内容仅供读者参考,并非投资建议,本网站将保留所有法律权益。

评论

共5条评论

查看更多

SLife共享生活

SLife是一个去中心化的线下商业交易系统,致力于建立线下商业与消费者共建共享共有的全新社区生态。

文章 粉丝


近期文章
7X24快讯 查看更多>
跳到顶
正在载入...