【Hyperledger Fabric 学习】安全模型(Key Concepts: Security Model)

HyperLedger Fabric官方文档

中文网址:https://hyperledger-fabric.readthedocs.io/zh_CN/latest
英文网址:https://hyperledger-fabric.readthedocs.io/en/latest
一般情况英文网址的内容更全面,版本也比中文新。

安全模型

身份

区块链网络中的不同参与者包括Peer、排序节点、客户端应用程序、管理员等。这些参与者(能够消费服务的网络内外的活动元素)中的每一个都有一个数字身份封装在由证书颁发机构(CA)颁发的X.509数字证书中。这些身份很重要,因为它们决定了角色在区块链网络中对资源的确切权限和对信息的访问权。
identity

成员服务提供者(MSP)

要使身份可验证,它必须来自可信的权威。会员服务提供者(MSP)是Fabric中的可信权威。更具体地说,MSP是一个组件,它定义了管理组织有效标识的规则。Hyperledger Fabric通道定义了一组组织MSPs作为成员。Fabric中的默认MSP实现使用证书颁发机构(CA)颁发的X.509证书作为身份,采用传统的公钥基础设施(PKI)分层模型。通过利用Node OU角色,身份可以与MSP中的角色相关联,如“客户端”和“管理员”。Node OU角色可以在策略定义中使用,以便将对Fabric资源的访问限制为特定的MSPs和角色。
MSP

策略

在Hyperledger Fabric中,策略是基础设施管理的机制。Fabric策略表示成员如何就接受或拒绝对网络、通道或智能合约的更改达成一致。在最初配置通道时,通道成员同意策略,但也可以随着通道的发展修改策略。例如,它们描述了从通道中添加或删除成员的标准,更改块的形成方式,或指定支持智能合约所需的组织数量。所有这些操作都由一个策略描述,该策略定义了谁可以执行该操作。简单地说,您想在Fabric网络上执行的所有操作都由策略控制。一旦写入,策略将评估附加到事务和提议的签名集合,并验证这些签名是否满足网络所同意的治理。策略包括通道策略、通道修改策略、访问控制列表、链码生命周期策略和链码背书策略。

  1. 通道策略。通道配置中的策略定义了通道的各种使用和管理策略。例如,将Peer组织添加到通道的策略是在Peer组织的管理域中(称为Application组)定义的。类似地,在通道的协商者集合中添加排序节点由Orderer组内的策略控制。Channel组中包含跨对等组织域和定购者组织域的操作。
  2. 通道修改策略。修改策略指定签名(批准)任何通道配置更新所需的身份组。它是定义如何更新通道策略的策略。因此,每个通道配置元素都包含对管理其修改的策略的引用。[Channel Modification]
  3. 访问控制列表。通过将通道资源与现有策略关联,访问控制列表(Access Control list, acl)提供了配置通道资源访问的能力。
  4. 链码生命周期策略。在链码定义成功提交到通道之前,需要批准链码定义的组织数量由通道的lifecycle背书策略控制。
  5. 链码背书策略。每个链码包中的智能合约都有一个背书策略,该策略指定有多少属于不同通道成员的对等点需要执行和验证一个给定的智能合约交易,以确保交易有效。因此,认可政策(通过他们的同行)定义了必须“认可”(即,签署)提案执行的组织。

Policy

Peer

Peer是网络的基本元素,因为它们托管账本和智能合约。Peer具有自己的身份,由组织的管理员管理。

排序服务节点

排序服务节点将交易排序为块,然后将块分发给连接的Peer进行验证和提交。排序服务节点拥有自己的标识,并由组织的管理员管理。
The Ordering Service
Deploy the ordering service

传输层安全(TLS)

Fabric支持使用Transport Layer Security (TLS)的节点之间的安全通信。TLS通信可以同时使用单向(仅服务器)和双向(服务器和客户端)身份验证。TLS

Peer和排序服务节点操作服务

Peer和排序节点托管一个HTTP服务器,该服务器提供RESTful操作API。此API与Fabric网络服务无关,仅供运营商使用,而不是网络管理员或用户。由于操作服务专注于操作,并且有意地与Fabric网络无关,因此它不使用会员服务提供者进行访问控制。相反,操作服务完全依赖于客户端证书身份验证的相互TLS。
Operations Service

硬件安全组件

Fabric节点执行的加密操作可以委托给硬件安全模块(HSM)。HSM保护您的私钥并处理加密操作,允许您的Peer节点在不暴露其私钥的情况下对交易和排序节点进行签名。Fabric目前利用PKCS11标准与HSM通信。
HSM

Fabric 应用

Fabric应用程序可以通过向分类帐提交事务或查询分类帐内容与区块链网络进行交互。应用程序使用Fabric sdk之一与区块链网络进行交互.
Fabric v2.x sdk只支持交易和查询功能以及事件监听。对通道和节点的管理功能的支持已经从sdk中删除,转而支持CLI工具。
应用程序通常驻留在组织基础结构的受管层中。组织可以为整个组织创建客户端标识,也可以为应用程序的单个最终用户创建客户端标识。客户端身份只有提交交易和查询分类帐的权限,他们没有对通道或节点的管理或操作权限。
在某些用例中,应用程序层可能会持久化用户凭证,包括私钥和签名交易。在其他用例中,应用程序的最终用户可能希望对他们的私钥保密。为了支持这些用例,Node.js SDK支持交易的离线签名。在这两种情况下,硬件安全模块都可以用来存储私钥,这意味着客户端应用程序无法访问它们。
无论应用程序设计如何,除了客户端身份提供的服务外,sdk都没有任何访问Peer或排序服务的特权。从安全的角度来看,sdk仅仅是一组特定于语言的便利功能,用于与Fabric Peer和排序节点公开的gRPC服务进行交互。如本主题前面所强调的,所有安全强制都是由Fabric节点执行的,而不是客户机SDK。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值