encryption - 存储 Hyperledger Fabric 的 AES 加密密钥的解决方案推荐
问题描述
嗨超级账本专家:
在某些情况下,通道中的某些组织需要对其在结构网络上的数据进行加密。请参考https://hyperledger-fabric.readthedocs.io/en/latest/chaincode4ade.html#chaincode-encryption。并且需要AES加密密钥和解密密钥。
因此需要存储一些组织的加密密钥和解密密钥。结构文档还提到“如果您加密数据,那么您将需要提供一种共享解密密钥的方法”。请参考https://hyperledger-fabric.readthedocs.io/en/latest/Fabric-FAQ.html
所以问题是:存储 AES 加密/解密密钥的可取方式是什么?在哪里存放它们?
除了结构网络,我们是否需要一个单独的集中式数据库来存储它们?或者我们可以直接将它们存储在fabric网络上,只让指定的组织获取它们吗?非常感谢!
解决方案
我不是数据安全方面的专家,但我相信您的问题可以使用超级账本结构框架本身中存在的私有数据来解决。
它是存储在每个授权对等方的私有数据库中的机密数据,在逻辑上与通道分类帐数据分开。通过私有数据收集定义,对这些数据的访问仅限于通道上的一个或多个组织。未经授权的组织将在通道账本上拥有私有数据的哈希值,作为交易数据的证据。
请参阅文档以了解如何使用它来存储您的 AES 密钥。
推荐阅读
- amazon-web-services - 如何使用现场实例数据馈送将 aws ec2 现场实例使用情况和定价发送到 s3 存储桶
- amazon-athena - Athena 中的表不使用 vpc 日志更新
- php - 如何使用 %title 而不是 $text->title
- sql-server - 在 T-SQL 中声明游标时出现语法错误
- python - 无法使用 python 脚本将所有行插入 SQL 表
- git - IntelliJ/Git - 切换分支时没有警告
- javascript - Angular ERROR TypeError:无法读取未定义的属性“_detailsShow”
- java - 如何使用 jTDS 将表值参数传递给存储过程?
- javascript - 包含一个或多个指定字母的字符串的 Javascript 正则表达式
- java - 如何赋予导航菜单选择功能?