我正在分析各种攻击媒介,包括恶意方成功接管一个Fabric对等方,从而拥有世界状态和区块链分类帐的本地副本。
是否有本机(可配置)选项允许我加密Hyperledger Fabric 1.0中的分类帐状态和区块链?
否则,哪些最佳做法可以帮助我保护区块链数据不被未经许可的网络外的未授权方读取?
答案 0 :(得分:2)
这是一个很好的问题。
默认情况下,在当前版本(HLF 1.0.4)中,数据不会被加密。我已使用this git repo提供的代码段检查了这一点。
我在使用HLF cli容器调用一些测试事务后,通过读取所有World State键/值(它的常规levelDB)进行了一些简单的测试。结果所有的值都被解密了。
幸运的是,HLF开发人员完成了他们的工作,数据加密将在HLF 1.1中提供。根据可用的发行说明here:
FAB-830用于链码的加密库 使用新的链代码加密库加密数据。
因此您可以等待正式发布HLF 1.1 - 或者,使用当前版本的HLF 1.0.4,您可以将已加密的数据传递给链代码,但副作用是您的Invoke功能无法添加任何自定义逻辑(除非您还传递解码所需的密钥)。
答案 1 :(得分:1)
确保数据不会在您频道的权限组织子组外读取的第二种方法,数据分区也是一种选择:
检查故障单FAB-1151
此功能的早期预览可在1.1预览版中使用,您需要做的就是构建最新的Hyperledger结构版本,并打开实验功能:
make clean-all peer-docker tools-docker orderer-docker EXPERIMENTAL=true
希望这有帮助。