Hyperledger fabric 如何防止在链码进程之外访问状态数据库
我正在构建一个可以保存敏感用户数据的系统 这意味着我需要阻止任何对chaincode进程之外的状态数据库的访问 另外,如果我将数据库发布为docker映像,我如何确保对等方使用特定的数据库映像,而不是被篡改的数据库映像 如何防止在链码之外访问状态数据库 过程 您需要确保两件事:Hyperledger fabric 如何防止在链码进程之外访问状态数据库,hyperledger-fabric,hyperledger-chaincode,Hyperledger Fabric,Hyperledger Chaincode,我正在构建一个可以保存敏感用户数据的系统 这意味着我需要阻止任何对chaincode进程之外的状态数据库的访问 另外,如果我将数据库发布为docker映像,我如何确保对等方使用特定的数据库映像,而不是被篡改的数据库映像 如何防止在链码之外访问状态数据库 过程 您需要确保两件事: 链码读取的数据不能在链码之外使用 链码读取的数据无法更改,如果更改,则可以检测到 第一个问题可以通过加密数据来缓解,第二个问题可以通过让链码将MAC(消息认证码)标记附加到它写入的每个项目上来缓解,还可以验证它读取的
- 链码读取的数据不能在链码之外使用
- 链码读取的数据无法更改,如果更改,则可以检测到
您还可以研究另一个选项,即使用“英特尔SGX TEE”(可信执行环境)功能的选项。oh不知道英特尔TEE的事情,当您说“加密数据”时,您的确切意思是什么?我是使用非对称加密并将密钥存储在某处,还是使用对称加密并将密钥保存在用户手中,或者像在这个问题中一样使用这两种加密方式