区块链系统面临的风险不仅来自外部实体的攻击,也可能有来自内 部参与者的攻击,以及组件的失效,如软件故障。因此在实施之前,需 要制定风险模型,认清特殊的安全需求,以确保对风险和应对方案的准 确把握。
1. 区块链技术特有的安全特性
- (1) 写入数据的安全性
在共识机制的作用下,只有当全网大部分节点(或多个关键节点)都 同时认为这个记录正确时,记录的真实性才能得到全网认可,记录数据才 允许被写入区块中。 - (2) 读取数据的安全性
区块链没有固有的信息读取安全限制,但可以在一定程度上控制信 息读取,比如把区块链上某些元素加密,之后把密钥交给相关参与者。同时,复杂的共识协议确保系统中的任何人看到的账本都是一样的,这是防 止双重支付的重要手段。 - (3) 分布式拒绝服务(DDOS)
攻击抵抗 区块链的分布式架构赋予其点对点、多冗余特性,不存在单点失效的问题,因此其应对拒绝服务攻击的方式比中心化系统要灵活得多。即使一个节点失效,其他节点不受影响,与失效节点连接的用户无法连入系统, 除非有支持他们连入其他节点的机制。
2. 区块链技术面临的安全挑战与应对策略
-
(1) 网络公开不设防
对公有链网络而言,所有数据都在公网上传输,所有加入网络的节点 可以无障碍地连接其他节点和接受其他节点的连接,在网络层没有做身份验证以及其他防护。针对该类风险的应对策略是要求更高的私密性并谨慎控制网络连接。对安全性较高的行业,如金融行业,宜采用专线接入区块链网络,对接入的连接进行身份验证,排除未经授权的节点接入以免数据泄漏,并通过协议栈级别的防火墙安全防护,防止网络攻击。 -
(2) 隐私
公有链上交易数据全网可见,公众可以跟踪这些交易,任何人可以通过观察区块链得出关于某事的结论,不利于个人或机构的合法隐私保护。 针对该类风险的应对策略是:
第一,由认证机构代理用户在区块链上进行 交易,用户资料和个人行为不进入区块链。
第二,不采用全网广播方式, 而是将交易数据的传输限制在正在进行相关交易的节点之间。
第三,对用 户数据的访问采用权限控制,持有密钥的访问者才能解密和访问数据。
第四,采用例如“零知识证明”等隐私保护算法,规避隐私暴露。 -
(3) 算力
使用工作量证明型的区块链解决方案,都面临51%算力攻击问题。随 着算力的逐渐集中,客观上确实存在有掌握超过50%算力的组织出现的可 能,在不经改进的情况下,不排除逐渐演变成弱肉强食的丛林法则。针对 该类风险的应对策略是采用算法和现实约束相结合的方式,例如用资产抵 押、法律和监管手段等进行联合管控。
3. 区块链的安全体系构建
针对现有区块链技术的安全特性和缺点,需要围绕物理、数据、应用系 统、加密、风控等方面构建安全体系,整体提升区块链系统的安全性能。
-
(1) 物理安全
运行区块链系统的网络和主机应处于受保护的环境,其保护措施根据 具体业务的监管要求不同,可采用不限于VPN专网、防火墙、物理隔离等 方法,对物理网络和主机进行保护。 -
(2) 数据安全
区块链的节点和节点之间的数据交换,原则上不应明文传输,例如可 采用非对称加密协商密钥,用对称加密算法进行数据的加密和解密。数据 提供方也应严格评估数据的敏感程度、安全级别,决定数据是否发送到区 块链,是否进行数据脱敏,并采用严格的访问权限控制措施。 -
(3) 应用系统安全
应用系统的安全需要从身份认证、权限体系、交易规则、防欺诈策略等方面着手,参与应用运行的相关人员、交易节点、交易数据应事前受 控、事后可审计。以金融区块链为例,可采用容错能力更强、抗欺诈性和 性能更高的共识算法,避免部分节点联合造假。 -
(4) 密钥安全
对区块链节点之间的通信数据加密,以及对区块链节点上存储数据加密 的密钥,不应明文存在同一个节点上,应通过加密机将私钥妥善保存。在密 钥遗失或泄漏时,系统可识别原密钥的相关记录,如帐号控制、通信加密、 数据存储加密等,并实施响应措施使原密钥失效。密钥还应进行严格的生命 周期管理,不应为永久有效,到达一定的时间周期后需进行更换。 -
(5) 风控机制
对系统的网络层、主机操作、应用系统的数据访问、交易频度等维 度,应有周密的检测措施,对任何可疑的操作,应进行告警、记录、核 查,如发现非法操作,应进行损失评估,在技术和业务层面进行补救,加 固安全措施,并追查非法操作的来源,杜绝再次攻击。
网友评论