区块链已经成为科技界的新宠儿,而企业级区块链(enterprise blockchain)是其中的一种形式。企业级区块链利用加密技术保证机构之间交易和数据记录的一致性与安全性。这一突破性技术,引发了各行业的创新和研发。仅在过去一年,IBM 就建立了 700 多个企业级区块链。
与此同时,为了保证数据安全,越来越多的公司希望布局区块链。目前基于区块链的安全工具市场才刚刚兴起,公司可以对区块链技术有各种设想。在投资企业级区块链之前需要考虑的第一件事是:如何保证企业级区块链平台和应用程序的安全?
本文作者Brett Valentine介绍了企业级区块链平台、平台及应用程序组件的组成特征,并建议公司对企业级区块链供应商、平台及应用程序进行全面的安全评估。
什么是企业级区块链平台首先,企业级区块链平台通常包括:
1.同意共享该平台的机构网络;
2.作为网络成员的机构,对数据和交易拥有不同级别的权限;
3.该平台的结构,包括所有管理区块链、平台功能和用例的共享系统、基础设施和应用程序;
4.与平台进行交互并影响区块链数据的应用程序;
5.区块链数据,包括储存在区块链的信息和提供给官方机构成员的数据元素;
6.一个创建并可能托管区块链平台的供应商。
IBM 区块链网络应用,图片来源:SecurityIntelligence
企业级区块链平台提供商通常基于云计算技术提供动态可扩展性、中立性和一致的访问路径。因此,平台的组件和安全性通常是黑箱,但这并不意味着安全性得到保证。在选择平台供应商并加入区块链网络之前,一个机构必须完成大量的法律审查,并进行跨网络信任、治理和技术审查。所有评估都需要包括安全因素。
一些供应商的企业级区块链包括终端用户使用的应用程序,而其他平台只是通过应用编程接口(API)对外公开的系统。无论是哪个类型,都需要对这些应用程序进行安全控制。每个组件必须遵守和利用那些保证业务连续性和运营效率的公司政策、标准、流程和技术。
为了建立跨网络信任,成员机构需要共享并执行相同的应用安全控制信息。
区块链平台和应用程序组件的特征成员机构可能无法了解企业级区块链平台的底层组件。除非机构自行开发区块链平台,否则无法深入了解这项技术。假设企业级区块链平台包含如下所示的组件,这些是企业级应用程序中的典型组件。
IBM 区块链网络平台,图片来源:SecurityIntelligence
企业级区块链拥有一个秘密武器——Fabric结构代码。该代码定义了每个成员必须使用区块链的数据结构、功能和能力。在某种程度上,Fabric可以标准化;但是,目前的 Fabric 都是为网络定制的。
类似地,与平台交互的应用程序使用的是大家熟悉的体系结构组件。业务逻辑和功能体现在应用程序代码和配置信息中。由于每个成员机构的区块链应用程序可能由机构单独创建并管理,他们应该可以完全控制其应用程序及组件。
IBM 区块链应用平台,图片来源:SecurityIntelligence
Brett Valentine表示,作为安全专家,我们关心平台和应用程序每个组件的安全性,尤其是Fabric结构和应用程序代码的编码实践。因此,需要应用尽可能多的公司安全策略和工具来实现一致性和运营效率。
如何选择和验证供应商表面上看,企业级区块链网络包括其他成员公司。而实际上,最重要的非官方成员是区块链供应商。公司都有评估供应商的政策和程序,但通常只是例行公事就能通过的评估。
鉴于企业级区块链的敏感性和影响(影响波及多家公司,并且数据可能特别重要),需要更加全面地进行评估。简单的征求建议书 (RFP)是不够的——第三方安全审计报告只是一个开始。
评估还应考虑:
1.公司的规模和声誉;
2.平台中每个组件的安全性;
3.网络中每个成员的安全级别;
4.区块链敏感数据的最小存储方式;
5.适当的数据生命周期管理,如创建、管理、验证、加密和销毁;
6.量子加密及技术,以确保随着量子计算成为主流,区块链未来不会被解密或破坏;
7.随着区块链规模的增长,平台的增长能力和性能保证;
8.平台的可用性、正常运行时间和灾难恢复能力;
9.组件修复和维护流程;
10.供应商内部和网络成员之间的特权访问控制以及RACI(responsible, accountable, consulted and informed)模型;
11.供应商内部和网络成员之间的业务和支持活动的 RACI 模型;
12.密码管理的可靠性;
13.证明交易完整性的测试。
随着时间的推移,企业级区块链的市场领导者将会崛起,其安全性也将得到证实——就像过去几十年云技术提供商的情况一样。而在此之前,机构必须在投资区块链供应商之前自己进行全面评估。
如何对区块链平台进行安全评估评估供应商的安全状况后,下一个主要任务是评估平台本身。这个步骤实际上是对供应商评估的扩展,但是需要其他成员机构的参与和同意。
法律和合同
必须通过合同来定义企业级区块链平台、网络和结构的各个方面。当然,安全必须是其中一个重要部分,也可能是最难实施的评估因素,因为必须所有成员都同意。更多的成员意味着更长时间的法律审查和更多的红线。
这个评估的一个重要因素是责任,每个公司可能都有不同的法律部门要求。因此,需要明确规定每个成员和供应商在发生安全违规或违约事件时的责任。
功能用例
从定义用例开始,通过合同的形式与供应商进行详细规定。通常包括创建交易、批准交易、查找数据和其他业务功能。每个用例定义应该包含安全活动和组件交互,例如多因素身份验证(MFA)、验证批准交易的权利、加密和解密以及 API 安全性。
网络治理
成员通常会进行自我管理,而供应商很少参与。理解每个成员的角色很重要,在成员机构中拥有权威的个人、把控活动节奏、解决争端、成员之间进行报告以及许多其他领域扮演的角色。换句话说,机构应该对成员和区块链供应商采用一致的安全计划。
基于云技术的安全控制
云安全联盟 (CSA)和类似机构的安全框架是评估区块链平台的良好基础。虽然全面了解平台组件是很好的事情,但大多数供应商不会透露他们的知识产权。因此,成员机构必须提出问题,并且尽可能地进行量化和定性。CSA 提供了一个很好的框架,可以帮助公司寻求详细的答案。
共享操作
区块链供应商可能会进行技术层面的托管和维护,但是成员们也需要执行特定的操作任务。
从服务器操作系统(OS)加固到区块链数据验证,机构必须定义所有任务。安全操作和控制需要许多或所有成员的参与,例如滚动加密密钥、定期渗透测试、事件响应和取证以及补丁修复和配置管理。
数据所有权
最佳做法是避免在区块链存储敏感数据,只上传共享和参考信息。这种策略可以让区块链的规模可控,同时保持尽可能高的性能。这也意味着数据在权威机构之间分发。
因此,必须定义并写明哪些成员拥有每个数据元素,如何访问或验证,谁可以访问以及所有者如何保护它。当多个成员在不同条件下对同一数据元素具有权威性时,这一点就尤其复杂。如果存储个人验证信息 (PII),还会受到《通用数据保护条例》(GDPR)要求的影响。
对其他成员进行安全测试
其他成员的安全是在网络中建立信任的重要组成部分。所以,每年必须对所有成员使用的应用程序进行第三方安全测试(包括渗透测试、漏洞扫描和政策审核),并将结果公布给所有其他成员。
如何保护区块链应用程序的安全假设每个企业级区块链的应用程序由成员单独管理,那么就更容易控制其安全性。一般来说,保护这些程序需要特别关注以下领域:
实施公司安全标准和系统
应使用所有公司政策、标准和通用安全平台,从而保证一致性、可靠性、熟悉度和运营效率。
例如,企业标准身份和访问管理(IAM)工具应该用于身份验证、MFA、访问控制和身份数据存储。同样,应该使用安全软件开发生命周期(SDLC)和应用程序扫描工具来确保代码开发和部署的安全性。
如果公司没有针对所使用技术的集成模式或特定安全策略,那就趁此机会创建。
假设最高等级的风险分类数据
假设区块链将管理最高等级的风险分类数据。即使你的成员机构可能无法管理或访问机密信息,而其他成员或许可以。假设最高等级的风险分类数据也表明对其他成员的安全承诺,从而在网络中建立信任。
执行 MFA
人类通常是安全中最薄弱的环节,而 MFA 有助于对抗这种风险。MFA 已经成为云计算应用的事实标准,也应该应用到区块链领域。因为区块链具备分布式的特性,而数据具有潜在敏感性,并且有必要与其他成员逐渐培养信任。
保证身份识别 API 的安全性
大多数区块链依赖 API,并且在未来还会继续。API 安全最佳实践包括每个 API 调用关联用户标识和会话信息。这也应该是区块链应用程序的标准做法,因为它提供了审计跟踪,并且允许实行功能级权利。
执行最强加密密钥管理
确保你的机构拥有强大可靠的密钥管理系统。区块链基于加密数据的使用,而区块链网络可能包含成百上千的加密密钥。手动管理这些密钥需要花费大量精力,但是保护数据和成员机构的安全至关重要。
关联安全事件
成员应该尽可能透明地共享安全事件信息。保密协议 (NDA) 应允许成员传递安全事故的司法鉴定信息。虽然可能很难共享一个安全信息和事件管理 (SIEM)系统,但是应该建立安全事件馈送,通过平台向成员传输信息,并且成员之间提供选定的事件信息。
企业级区块链的前景企业级区块链的未来将会如何?如果能够正确地实施,企业级区块链具有优势和能力来统一和保护不同机构之间的交易。
但是,在市场建立并广泛遵循安全标准之前,企业需要全面评估区块链供应商的安全状况,并评估自己的技术基础设施与区块链平台集成的能力。
作者:Brett Valentine