热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【HyperledgerFabric学习】安全模型(KeyConcepts:SecurityModel)

本文主要分享【学习区块链要学哪些相关知识】,技术文章【【HyperledgerFabric学习】安全模型(KeyConcepts:SecurityModel)】为【牛铜嗷铁】投稿,如果你遇到

本文主要分享【学习区块链要学哪些相关知识】,技术文章【【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网络上执行的所有操作都由策略控制。一旦写入,策略将评估附加到事务和提议的签名集合,并验证这些签名是否满足网络所同意的治理。策略包括通道策略、通道修改策略、访问控制列表、链码生命周期策略和链码背书策略。

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

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。

本文《【Hyperledger Fabric 学习】安全模型(Key Concepts: Security Model)》版权归牛铜嗷铁所有,引用【Hyperledger Fabric 学习】安全模型(Key Concepts: Security Model)需遵循CC 4.0 BY-SA版权协议。


推荐阅读
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 朱晔的互联网架构实践心得S1E7:三十种架构设计模式(上)【下载本文PDF进行阅读】设计模式是前人通过大量的实践总结出来的一些经验总结和最佳实践。在经过多年的软件开发实践之后,回过头 ... [详细]
  • 微服务之总体架构篇
    一、单体架构存在的问题缺点:1、难以维护:当单体应用业务不断迭代后代码量非常臃肿,模整个项目非常复杂,每次更改代码都可能带来新的bug;2、部署项目麻烦:庞大之后项目部署效率 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 基于Socket的多个客户端之间的聊天功能实现方法
    本文介绍了基于Socket的多个客户端之间实现聊天功能的方法,包括服务器端的实现和客户端的实现。服务器端通过每个用户的输出流向特定用户发送消息,而客户端通过输入流接收消息。同时,还介绍了相关的实体类和Socket的基本概念。 ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • 四月份NFT优质榜单
    四月份NFT优质榜单 ... [详细]
  • HyperledgerComposer环境安装1.安装基本软件包**如果使用Linux安装HyperledgerComposer,请注意以下建议:以 ... [详细]
  • 宁波格密链网络科技有限公司一直致力于全同态加密的应用研究。最近陈智罡博士的团队开发了一个将SEAL全同态加密库映射到Python上的接口,解决了机器学习库与全同态加密 ... [详细]
  • 2018区块链技术及应用峰会(BTA)倒计时5天,中国全日程公布
    2018区块链技术及应用峰会(BTA)中国倒计时5天2018,想要follow最火的区块链技术?你还差一场严谨纯粹的技术交流会——2018区块链技术及应 ... [详细]
author-avatar
卖眼镜的瞎子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有