微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hyperledger Fabric:如何将密码操作委托给Hashicorp Vault?

如何解决Hyperledger Fabric:如何将密码操作委托给Hashicorp Vault?

是否可以将Hyperledger Fabric节点(客户端节点,订购者节点和对等节点)执行的加密操作委托给Hashicorp Vault? 允许对等方和订购者节点在不暴露其私钥的情况下签署和认可交易。

Hyperledger Fabric正式支持HSM,但是我无法找到任何相关文档来将HSM替换为Hashicorp Vault。

解决方法

您不能,至少不是所有密码操作。

结构节点将加密操作(例如签名)委托给称为BCCSP(区块链密码服务提供者)的组件。它有两种口味:

  • 软件(作为代码嵌入在节点中)
  • PKCS11(使用称为PKCS11的协议与可能在其末尾具有HSM的驱动程序进行通信,但可能仅具有用于测试的基于软件的HSM)

PKCS11方法:

您可能需要找到某种连接器,以将PKCS11调用从Fabric转换为Vault。从理论上讲,我猜可能可以通过cloning the repository实现一个{hsm的softhsm文件,并使其与Vault而不是HSM进行通信。

软件方法:

  • 在Fabric 1.4中,有一些initial work的BCCSP插件基于Golang的本机插件,但已被删除。

织物对等体对两种消息进行签名:

    在成员之间传递和传播的
  1. P2P消息,例如成员资格信息和心跳。
  2. 背书,作为交易的一部分结束。

虽然两种签名操作都使用BCCSP,但后者使用Go插件通过another layer which can be altered间接使用了BCCSP。

因此,这意味着您不能使对等方不拥有私钥(除非您使用PKCS11),但是您可能能够为该对等方使用一个私钥来用于P2P消息,而可以使用另一个私钥用于认可交易。

这里有两个挑战:

  1. 如果您制作自定义背书插件,则需要一个匹配的验证插件,以检查交易是否确实已由您需要使用的私钥正确背书。
  2. 您需要牢记,如果将应用程序配置为使用service discovery,则需要确保它们仍然能够根据对等端知道的证书来查找对等端(不是背书插件使用的标签。)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。