首页> 中国专利> 一种解决区块链环境安全管理问题的SDK部署架构及封装方式

一种解决区块链环境安全管理问题的SDK部署架构及封装方式

摘要

本发明公开了一种解决区块链环境安全管理问题的SDK部署架构及封装方式,该架构包括:区块链网络:包含至少一个组织机构;SDK容器层:包含至少一个SDK容器,每个SDK容器均与一个组织机构连接,且每个SDK容器内均封装有用于对用户访问组织机构进行管理的功能模块;ClientSDK层:包含ClientSDK接口,ClientSDK接口与SDK容器连接,以使用户通过SDK容器访问区块链网络的组织机构。通过上述架构的设计,可以让用户通过简单的SDK的调用即可完成对复杂的区块链环境的管理和使用。同时,也可以为其他客户的产品与区块链管理之间的整合提供便利。另外,每个SDK容器均对应一个组织机构,并可以对用户访问该组织机构进行管理,实现了物理隔离,大大提升了组织机构用户访问的安全性能。

著录项

  • 公开/公告号CN113010905A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 明链科技(深圳)有限公司;

    申请/专利号CN202110335426.2

  • 发明设计人 周广照;隆锦胜;

    申请日2021-03-29

  • 分类号G06F21/60(20130101);G06F21/62(20130101);G06F21/64(20130101);

  • 代理机构44324 深圳市神州联合知识产权代理事务所(普通合伙);

  • 代理人王志强

  • 地址 518000 广东省深圳市南山区粤海街道高新区社区高新南一道009号中科研发园配套服务楼2层203、205

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本发明属于区块链管理技术领域,特别涉及一种解决区块链环境安全管理问题的SDK部署架构及封装方式。

背景技术

区块链技术目前被广泛应用到金融、物流以及供应链领域,由于区块链不可篡改、去中心化和无信任关系的特点,使得区块链还应用于合约管理,可使合约的执行更加安全和便捷,目前区块链技术对于合约的管理通常只单一类型区块链的管理,比如私有链、联盟链和公有链通常都由各自的管理者分配管理,不同链之间具有较大的技术壁垒,难以对各种类型的链条做统一的管理和分配。但是,由于中国国情的特点,不同的企业、部门、组织机构之间由于存在较大的利益问题,涉及的区块链节点存在会与自己的其他业务节点交互的可能性。所以,功能和环境的私密性非常重要。

其中,Hyperledger Fabric区块链网络架构复杂,组织机构关系复杂,区块链网络部署过程涉及多个处理步骤,区块链网络的定制和业务业务系统的开发为了简化实现,都提供了一定程度的封装。开发人员通过接口访问区块链的过程依然非常复杂,也需要开发人员具有多方面的技术能力基础。

对于以往的体系架构和应用架构,由于资源及逻辑的变化并不是太大,耦合性也强,所以对开发包的封装比较简单,依赖因素也比较少。

Fabric框架配置一个网络的过程如下:

1.生成cryptogen密码生成器。

2.配置网络拓扑配置文件crypto-config.yaml。

3.使用加密生成器cryptogen根据网络拓扑crypto-config.yaml生成相应证书。

4.编译生成交易生成器configtxgen。

5.配置configtx.yaml。

6.通过交易生成器configtxgen生成区块。

(1)生成创世区块;

(2)生成channel区块。

7.配置Fabric环境的docker-compose文件。

(1)配置Orderer;

(2)配置peer;

(3)配置CLI。

8、初始化fabric环境。

(1)启动Fabric环境的容器;

(2)创建Channel;

(3)各个Peer加入Channel;

(4)更新锚节点。

9、链上代码的安装与运行。

(1)Install ChainCode安装链上代码;

(2)Instantiate ChainCode实例化链上代码;

(3)在一个Peer上查询并发起交易;

(4)在另一个节点上查询交易。

在配置网络前,又要对网络环境先进行总体规划,规划内容包括如下:

1.网络信息的规划,包括名称,命名方式等;

2.组织机构的规划,包括数量,所属实体部门等;

3.节点规划,节点所属实体部门,节点参数信息;

4.部署环境配置;

5.访问用户设定。

在调用方式上,需要考虑对区块链多个节点的异步调用的协调以及调用的返回结果进行整合的工作。

对于一个区块链网络,由于涉及到不同的单位和组织机构,带来了很多安全性的问题,以及对人员和访问的管理控制,由于特殊原因很多组织需要保证各自环境的安全性。Fabric网络结构的通过一些加密等机制在安全方面进行了处理但依然存在许多问题,例如容易受到非法访问攻击等。

复杂的开发过程会带来更多的时间消耗,由于区块链环境的复杂结构,系统的稳定性会带来很多不可预计性,只有对代码进行封装,简化区块链开发人员的开发量才能减少系统的不可控性和区块链系统开发时间。

由于区块链环境对对组织机构进行概念上的隔离,用以实现区块链对不同组织机构的信息和运行环境的物理拆分。当前的系统都不能很好地实现物理和功能上的隔离。

发明内容

为解决上述问题,本发明的首要目的在于提供一种解决区块链环境安全管理问题的SDK部署架构及封装方式,该构架和封装方式可以简化开发人员搭建区块链网络和维护区块链网络的方式和时间,实现区块链环境业务使用的可控性、可维护性、可管理性以及其访问使用的便利性。

本发明的另一个目的在于提供一种解决区块链环境安全管理问题的SDK部署架构及封装方式,该构架和封装方式可以解决现有区块链中组织机构用户访问安全性不足的问题。

为实现上述目的,本发明的技术方案如下。

一种解决区块链环境安全管理问题的SDK部署架构,该架构包括:

区块链网络:包含至少一个组织机构;

SDK容器层:包含至少一个SDK容器,每个SDK容器均与一个组织机构连接,且每个SDK容器内均封装有用于对用户访问组织机构进行管理的功能模块;

ClientSDK层:包含ClientSDK接口,ClientSDK接口与SDK容器连接,以使用户通过SDK容器访问区块链网络的组织机构。

ClientSDK层可以根据客户使用,通过更改授权信息(appId和secret两个属性的值)来指向不同的SDK容器,用以访问与SDK对应的组织机构,但使用时是不会更改授权信息的,也就是说正常使用逻辑上SDK容器与组织机构是一对一的关系,每个组织机构会有自己的SDK容器,这个是物理上一对一的关系,组织机构关联的SDK容器是无法访问其他组织机构的,能够保证访问的安全性以及管理的便捷性。

通过上述架构的设计,形成了从ClientSDK接口到SDK容器,再由SDK容器层访问组织机构的访问架构,由每个SDK容器内均封装有用于对用户访问组织机构进行管理的功能模块,从而让用户可以通过简单的SDK的调用即可完成对复杂的区块链环境的管理和使用。同时,也可以为其他客户的产品与区块链管理之间的整合提供便利。而现有技术中,用户直接访问组织机构来访问区块链网络,由于需要依靠各种依赖于区块链特质的调用方式来实现对区块链网络的访问,十分复杂,耗时耗力。另外,在本技术方案中,每个SDK容器均对应一个组织机构,并可以对用户访问该组织机构进行管理,实现了物理隔离,大大提升了组织机构用户访问的安全性能。

进一步的,SDK容器中的功能模块包括:

组织机构配置信息管理模块:用于获取组织机构的配置信息并对配置信息进行管理;

区块链访问及纠错管理模块:用于定义组织机构之间的访问规则,并对组织机构访问过程中存在的问题进行处理;

数据加密和解密管理模块:用于对经过SDK容器的数据进行加密和解密;

本组织机构用户管理模块:用于对SDK容器对应的组织机构的用户进行管理;

用户访问调用数据收集模块:用于对经过SDK容器访问组织机构的用户信息数据和用户访问调用的数据进行收集;

微服务封装模块:具有微服务功能并暴露出微服务接口给ClientSDK层的ClientSDK接口连接以进行访问;

WebApp模块:与组织机构配置信息管理模块、区块链访问及纠错管理模块、数据加密和解密管理模块、数据加密和解密管理模块、本组织机构用户管理模块、用户访问调用数据收集模块和微服务封装模块均连接,并对上述六个模块进行综合管理和提供技术支持。

SDK容器是一个独立的云容器,通过启动一个标准的Web应用,调用标准的FabricSDK接口、K8s接口等,将区块链功能进行了第一层次的封装,并通过容器内的文件管理系统、小型数据库管理系统实现本地信息的维护管理。将区块链的异步机制转换成同步机制;将该组织机构的用户进行了统一管理,避免了非法用户的侵入;将功能进行了初步封装,暴露出微服务接口给前端的SDK进行访问;根据组织机构设定的加密机制对访问数据进行加密解密管理;在用户访问过程中,收集用户访问信息,对用户访问的频率、有效性等信息进行统计。SDK容器的处理和功能是针对单个组织机构的,可以按照组织机构的要求独立进行配置。SDK内部通过WebApp应用完成各种功能的处理和封装工作。SDK容器会对访问用户进行识别,避免非该组织用户越权查看相关信息。

上述结构的设置,可以实现以下功能:首先,只针对单个组织机构的人员认证管理,避免了用户非法侵入数据;其次,对该组织机构的数据实现独立的安全算法,避免了针对数据的非法侵入;再次,必要情况下,组织机构可以对SDK容器进行隔离和维护,加强SDK容器的功能;最后,在SDK容器里封装针对组织机构的功能,如用户访问调用数据收集模块,可以对组织机构人员及数据的访问提供收集和汇总,必要的时候可以生成用户访问的统计报表。

进一步的,每个组织机构至少关联有一个PEER节点和一个CA节点,且每个组织机构关联有且只有一个SDK节点。上述属于系统配置规划中关于清晰定义区块链的关系的内容,系统配置规划包括总体环境部署的配置规划和SDK容器里组织机构信息的配置规划。为了避免机构搭建过程的混乱,区块链结构的变更要求递进式的变更,主要是每次变更只能按照一个组织机构的调整或一个PEER节点的调整,避免了系统的复杂性。

为了实现上述目的,本发明还公开了一种解决区块链环境安全管理问题的SDK的封装方式,该方式包括:

步骤一、规范化标准的区块链网络实现结构,形成标准结构和逻辑上的隔离;

步骤二、创建SDK容器,在SDK容器内针对标准结构使用标准步骤的访问方式完成对区块链网络的调用,从而定义出标准的调用接口;

步骤三、将SDK容器的调用接口开放给对应的ClientSDK接口,且保持SDK容器与所属的区块链的组织机构连接,以确保组织机构只能被与其对应的SDK容器访问。上述步骤主要为了保证SDK容器与组织机构一一对应的关系,能够保证访问的安全性以及管理的便捷性。

进一步的,步骤一中的标准结构包括标准化的区块链命名、组织机构、PEER节点、CA节点和SDK节点;对区块链结构进行标准化,有利于SDK容器与区块链进行连接、监督和进行综合管理。上述标准化命名主要为了保证各种结构和名称的唯一性。

进一步的,步骤一中的标准结构还包括标准化的区块链运行环境需要的基础架构、路径命名和文件位置。上述标准化命名主要为了保证各种结构和设置的唯一性。

进一步的,步骤二中定义出标准的调用接口具体包括,对多个区块链网络的调用进行合并和简化,得出实现并封装区块链设置的设置接口。

进一步的,被调用的区块链网络结构包括创建网络和结构、创建网络通道、加入网络通道、安装智能合约、初始化智能合约、升级智能合约、创建组织机构和添加Peer节点。对上述调用进行封装们可以让用户通过简单的SDK的调用完成对复杂的区块链环境的管理和使用。同时,也可以为其他客户的产品与区块链管理之间的整合提供便利。

与现有技术相比,本发明的有益效果在于,通过架构的设计,形成了从ClientSDK接口到SDK容器,再由SDK容器层访问组织机构的访问架构,由每个SDK容器内均封装有用于对用户访问组织机构进行管理的功能模块,从而让用户可以通过简单的SDK的调用即可完成对复杂的区块链环境的管理和使用。同时,也可以为其他客户的产品与区块链管理之间的整合提供便利。而现有技术中,用户直接访问组织机构来访问区块链网络,由于需要依靠各种依赖于区块链特质的调用方式来实现对区块链网络的访问,十分复杂,耗时耗力。另外,在本技术方案中,每个SDK容器均对应一个组织机构,并可以对用户访问该组织机构进行管理,实现了物理隔离,大大提升了组织机构用户访问的安全性能。SDK容器架构为每个组织机构绑定了唯一的一个SDK节点提供支持和服务。系统配置将配置信息规范化,并简化了用户必须添加的内容和数量。结构搭建对区块链网络可增加调整的节点进行了限制,在满足用户需求的前提下简化步骤。访问和接口与封装将所有简化内容通过接口的方式进行了暴露。组织架构的调整和SDK容器架构不仅解决了国内用户对组织机构节点逻辑和物理层面安全性的担忧,而且提供给各个组织机构丰富的统计分析决策方法。

附图说明

图1是本发明SDK容器没有示出WebApp模块的结构示意图。

图2是本发明SDK容器的完整结构的应用场景示意图。

图3是现有技术中区块链网络的访问方式示意图。

图4是本发明中区块链网络的访问方式示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

一种解决区块链环境安全管理问题的SDK部署架构及封装方式,一种解决区块链环境安全管理问题的SDK部署架构,该架构包括:

区块链网络:包含至少一个组织机构;

SDK容器层:包含至少一个SDK容器,每个SDK容器均与一个组织机构连接,且每个SDK容器内均封装有用于对用户访问组织机构进行管理的功能模块;

ClientSDK层:包含ClientSDK接口,ClientSDK接口与SDK容器连接,以使用户通过SDK容器访问区块链网络的组织机构。

通过上述架构的设计,形成了从ClientSDK接口到SDK容器,再由SDK容器层访问组织机构的访问架构,由每个SDK容器内均封装有用于对用户访问组织机构进行管理的功能模块,从而让用户可以通过简单的SDK的调用即可完成对复杂的区块链环境的管理和使用。同时,也可以为其他客户的产品与区块链管理之间的整合提供便利。而现有技术中,用户直接访问组织机构来访问区块链网络,由于需要依靠各种依赖于区块链特质的调用方式来实现对区块链网络的访问,十分复杂,耗时耗力。另外,在本技术方案中,每个SDK容器均对应一个组织机构,并可以对用户访问该组织机构进行管理,实现了物理隔离,大大提升了组织机构用户访问的安全性能。

在本实施例中,SDK容器中的功能模块包括:

组织机构配置信息管理模块:用于获取组织机构的配置信息并对配置信息进行管理;

区块链访问及纠错管理模块:用于定义组织机构之间的访问规则,并对组织机构访问过程中存在的问题进行处理;

数据加密和解密管理模块:用于对经过SDK容器的数据进行加密和解密;

本组织机构用户管理模块:用于对SDK容器对应的组织机构的用户进行管理;

用户访问调用数据收集模块:用于对经过SDK容器访问组织机构的用户信息数据和用户访问调用的数据进行收集;

微服务封装模块:具有微服务功能并暴露出微服务接口给ClientSDK层的ClientSDK接口连接以进行访问;

WebApp模块:与组织机构配置信息管理模块、区块链访问及纠错管理模块、数据加密和解密管理模块、数据加密和解密管理模块、本组织机构用户管理模块、用户访问调用数据收集模块和微服务封装模块均连接,并对上述六个模块进行综合管理和提供技术支持。

上述结构的设置,可以实现以下功能:首先,只针对单个组织机构的人员认证管理,避免了用户非法侵入数据;其次,对该组织机构的数据实现独立的安全算法,避免了针对数据的非法侵入;再次,必要情况下,组织机构可以对SDK容器进行隔离和维护,加强SDK容器的功能;最后,在SDK容器里封装针对组织机构的功能,如用户访问调用数据收集模块,可以对组织机构人员及数据的访问提供收集和汇总,必要的时候可以生成用户访问的统计报表。

在本实施例中,每个组织机构至少关联有一个PEER节点和一个CA节点,且每个组织机构关联有且只有一个SDK节点。

为了实现上述目的,本发明还公开了一种解决区块链环境安全管理问题的SDK的封装方式,该方式包括:

步骤一、规范化标准的区块链网络实现结构,形成标准结构和逻辑上的隔离;

步骤二、创建SDK容器,在SDK容器内针对标准结构使用标准步骤的访问方式完成对区块链网络的调用,从而定义出标准的调用接口;

步骤三、将SDK容器的调用接口开放给对应的ClientSDK接口,且保持SDK容器与区块链的组织机构连接。

进一步的,步骤一中的标准结构包括标准化的区块链命名、组织机构、PEER节点、CA节点和SDK节点;对区块链结构进行标准化,有利于SDK容器与区块链进行连接、监督和进行综合管理。

在本实施例中,步骤一中的标准结构还包括标准化的区块链运行环境需要的基础架构、路径命名和文件位置。

在本实施例中,步骤二中定义出标准的调用接口具体包括,对多个区块链网络的调用进行合并和简化,得出实现并封装区块链设置的设置接口。

在本实施例中,被调用的区块链网络结构包括创建网络和结构、创建网络通道、加入网络通道、安装智能合约、初始化智能合约、升级智能合约、创建组织机构和添加Peer节点。对上述调用进行封装们可以让用户通过简单的SDK的调用完成对复杂的区块链环境的管理和使用。同时,也可以为其他客户的产品与区块链管理之间的整合提供便利。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号