首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 区块头 / 一种基于区块链的网络设备配置管理方法及客户端

一种基于链的网络设备配置管理方法及客户端

阅读:1028发布:2020-08-06

专利汇可以提供一种基于链的网络设备配置管理方法及客户端专利检索,专利查询,专利分析的服务。并且一种基于 区 块 链 的网络设备配置管理方法及客户端。本 发明 提供的基于区块链的网络设备配置管理方法及客户端利用区块链技术的去中心化特点,打破传统管理中的中心化管理机制,将管理权限均摊至整个区块链网络 节点 ;采用 智能合约 进行配置管理,避免人工操作;用区块链提供高安全、可溯源的全备份审计方案,对管理员行为进行有效监督;可以有效抵抗DDos攻击问题,并在出现单个节点故障时,有效降低系统安全 风 险。,下面是一种基于链的网络设备配置管理方法及客户端专利的具体信息内容。

1.一种客户端,其特征在于:所述的客户端包括管理员客户端及链网络节点客户端;其中管理员客户端缩写为MC,包括:
管理员生成单元(11):生成管理员的根私钥,然后用根私钥生成根公钥;每次管理员需要配置网络设备时,使用根公钥生成一个子公私钥对;生成配置操作内容;利用生成的子公私钥对,将管理员的配置操作内容用子私钥加密生成数字签名;
管理员广播单元(12):将管理员生成单元(11)生成的数字签名连同子公私钥对中的子公钥和配置操作内容打包,并广播到区块链网络;
所述的区块链网络节点客户端缩写为BNC,包括:
网络节点生成单元(21):生成节点的根私钥,然后用节点的根私钥生成节点的根公钥;
存储单元(22):备份区域链网络中的整个区块链;存储节点的根公私钥对;存储修改后的网络设备登录密码;
共识单元(23):依据节点配置网络设备的次数,选择配置次数最低的节点作为代理节点;
配置单元(24):依据管理员的配置操作内容配置网络设备,并在完成当前配置操作后,修改网络设备登录密码;将整个配置行为的记录生成区块数据,并将加密单元(27)产生的哈希值作为区块头部,将区块头部连同区块数据一起打包生成区块;
网络节点广播单元(25):代理节点将打包后的区块向区域链网络其他节点进行广播;
验证单元(26):验证管理员广播的数字签名,核实管理员身份;过滤管理员广播的配置操作内容;验证收到的代理节点广播的区块;
加密单元(27):对配置单元24所修改的网络设备登录密码加密;当对该网络设备有新的配置请求时,区域链网络会选出一个新的节点来执行配置操作,此时该新的节点会解密该登录密码,并将登录密码用新选节点的公钥加密,发送给新的节点。
2.根据权利要求1所述的客户端,其特征在于:所述的管理员生成单元(11)包括:
第一生成模块(111):生成管理员的根私钥,然后用根私钥生成根公钥;
第二生成模块(112):每次管理员需要配置网络设备时,使用第一生成模块(111)中的根公钥生成一个子公私钥对;
第三生成模块(113):节点初始化阶段和节点配置更新则生成管理员对应的节点身份消息;其他阶段生成配置操作内容;
第四生成模块(114):利用第二生成模块(112)中生成的子公私钥对中的子私钥,将第三生成模块(113)中生成的配置操作内容加密生成数字签名。
3.根据权利要求1所述的客户端,其特征在于:所述的存储单元(22)包括:
第一存储模块(221):完整存储从“创世区块”开始到系统当前为止的所有区块构成的区域链;
第二存储模块(222):存储节点的根公私钥对;
第三存储模块(223):存储被修改的并通过加密单元(27)所加密的网络设备登录密码。
4.根据权利要求1所述的客户端,其特征在于:所述的配置单元(24)包括:
第一配置模块(241):请求所需配置的网络设备登录密码;
第二配置模块(242):依据管理员的配置操作内容配置网络设备;
第三配置模块(243):完成第二配置模块(242)操作后,修改网络设备登录密码。
5.根据权利要求1所述的客户端,其特征在于:所述的验证单元(26)包括:
第一验证模块(261):验证管理员广播的数字签名,核实管理员身份;
第二验证模块(262):节点初始化阶段和节点配置更新则验证管理员对应的节点身份;
其他阶段过滤管理员广播的配置操作内容,如果操作内容不合法,则取消本次请求;
第三验证模块(263):验证收到的代理节点广播的区块的合法性和完整性。
6.根据权利要求1所述的客户端,其特征在于:所述的加密单元(27)包括:
第一加密模块(271):用对称加密算法对配置单元(24)的第三配置模块(243)所修改的网络设备登录密码加密;
第二加密模块(272):用对称加密算法解密该网络设备登录密码,并将登录密码用新的代理节点的公钥加密;
第三加密模块(273):将存储单元(22)的第一存储模块(221)中区块链上的最新区块进行哈希操作得到哈希值。
7.一种利用权利要求1至6中任一项所述客户端的基于区块链的网络设备配置管理方法,其特征在于:所述的网络设备配置管理方法包括按顺序进行的下列步骤:
1)网络初始化配置,主要分为节点初始化配置和设备初始化两步:
1.1)节点初始化配置,具体步骤如下:
1.1.1)设区域链网络初始有S个初始管理员和S个初始节点,每个管理员有一个对应的初始节点,首先判定初始节点是否合法,方法是:
各管理员用自己MC中管理员生成单元(11)的第三生成模块(113)随机生成一个初始字符串,用对应节点BNC中网络节点生成单元(21)的根私钥加密,得到管理员对应初始节点的身份验证消息,连同对应节点的根公钥通过网络节点广播单元(25)广播给其他S-1个初始节点,该S-1个初始节点通过验证单元(26)的第二验证模块(262)加以验证,如通过验证则判定该初始节点为合法初始节点,反之则不合法,终止配置该初始节点为网络节点;
1.1.2)判定合法后,各初始节点将各自BNC中网络节点生成单元(21)的第一生成模块(211)所生成的根公钥,通过网络节点广播单元(25)发送给其他节点;
1.1.3)各初始节点通过各自BNC中共识单元(24)选取发布区块个数最少的初始节点,由于区域链网络初始化时,所有初始节点发布区块个数都为0,因此会从所有S个初始节点中随机选取一个,通过选取的初始节点将所有初始节点的根公钥作为区块数据,将哈希值作为区块头部,一并打包成区块,
将该区块作为区域链网络中的第一个区块,称为“创世区块”;
1.1.4)被选取的初始节点将该“创世区块”通过网络节点广播单元(25)广播给其他初始节点;
1.1.5)其他初始节点通过验证单元(26)的第三验证模块(263)验证该区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
1.1.6)通过验证后,各初始节点将该“创世区块”通过各自BNC中存储单元(22)的第一存储模块(221)进行存储,从而完成节点初始化配置;
1.2)完成节点初始化配置后,进行设备初始化,具体步骤如下:
1.2.1)设初始有P个可配置的网络设备,并给各网络设备编号,然后按编号顺序依次完成各网络设备的初始化;
1.2.2)将每台网络设备加入系统,各节点利用BNC中的共识单元(24)选取一个发布区块个数最少的节点,由于上述步骤1.1.3)中所选节点已发布“创世区块”,因此从其他S-1个发布区块个数为0的节点中随机选取一个节点,执行其BNC中配置单元(24)的第二配置模块(242)操作,由于初始化没有配置内容,因此直接跳过第一配置模块(241)的操作,直接修改网络设备登录密码;
1.2.3)上述步骤1.2.2)中所选节点执行BNC中加密单元(27)的第一加密模块(271)的操作,将修改后的网络设备登录密码加密,并通过存储单元(22)的第三存储模块(223)存储;
1.2.4)上述步骤1.2.2)中所选节点将步骤1.2.2)和步骤1.2.3)中执行的过程生成区块数据,并将当前存储单元(22)中区块链上的最新区块通过BNC中加密单元(27)的第三加密模块(273)进行哈希操作得到哈希值,作为区块头部,将该步骤中的区块数据和区块头部一并打包后得到一个区块,并广播给区域链网络中其他节点;
1.2.5)其他节点通过BNC中验证单元(26)的第三验证模块(263)验证该区块的合法性和真实性,验证通过则进入下一步,反之终止操作;
1.2.6)将通过验证的步骤1.2.5)中的区块链接到步骤1.2.4)中所述区块链上的最新区块后产生一个由区块连接而成的区块链;
1.2.7)循环执行步骤1.2.2)-步骤1.2.6),最终将所有P个网络设备都加入系统,此时,各节点所存储的区块链包含P+1个区块,其中一个是“创世区块”,其余P个区块上的数据为修改网络设备登录密码的记录,至此,完成设备初始化过程。
2)管理员发起配置请求广播;
管理员持有MC中管理员生成单元(11)的第一生成模块(111)所产生的根私钥,在任意一台计算机上安装新的MC,并通过MC向区域链网络发起配置请求广播,具体步骤如下:
2.1)管理员通过MC中管理员生成单元(11)的第二生成模块(112)、第三生成模块(113)及第四生成模块(114)分别生成一个子公私钥对、配置操作内容以及相应的数字签名;
2.2)通过MC中的管理员广播单元(12),将步骤2.1)中生成的数字签名、子公钥和配置操作内容打包,并广播到区块链网络;
3)区块链网络中各节点收到上述配置请求广播后,通过BNC中的验证单元(26)验证管理员请求,具体如下:
3.1)通过BNC中验证单元(26)的第一验证模块(261)验证管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
3.2)通过BNC中验证单元(26)的第二验证模块(262),过滤管理员广播的配置操作内容;
4)各节点通过BNC中的共识单元(24)选取一个发布区块个数最少的节点作为代理节点,由该代理节点执行其BNC中配置单元(24)的第一配置模块(241)和第二配置模块(242)的操作;
5)由上述步骤4)中所选代理节点将其BNC中配置单元(24)的第一配置模块(241)和第二配置模块(242)所执行的记录生成区块数据,并通过存储单元(22)的第一存储模块(221)得到此时区块链上的最新区块,使用加密单元(27)的第三加密模块(273)得到区块链上最新区块的哈希值,将该哈希值作为区块头部,和本步骤中生成的区块数据一并打包生成一个新的区块;
6)由上述步骤4)所选代理节点将步骤5)中的区块通过BNC中的网络节点广播单元(25)向区域链网络的其他节点广播;
7)其他各节点通过各自BNC中验证单元(26)的第三验证模块(263)验证收到的代理节点广播的区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
8)验证通过后,各节点通过BNC中存储单元(22)的第一存储模块(221)将新的区块存储到区块链上,形成最新的区块链。
8.根据权利要求7所述的基于区块链的网络设备配置管理方法,其特征在于:在步骤1)中,所述的网络初始化配置还包括下列步骤:
1)在开始网络初始化配置时,首先判断该新的节点类型,是系统新授权的管理员的对应初始节点,还是某初始管理员的新的对应节点;
A.若是系统新授权的管理员的对应初始节点,则进行如下步骤:
A.1)该新的管理员通过节点上的MC中管理员生成单元(11)的第二生成模块(112)和第四生成模块(114),生成一个子公私钥对及相应的数字签名;
A.2)通过MC中的管理员广播单元(12),将步骤A.1)中生成的数字签名、子公钥打包,并广播到区域链网络;
A.3)区域链网络中各节点收到广播后,通过BNC中验证单元(26)的第一验证模块(261)验证该管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
A.4)通过验证后,新管理员的初始节点将BNC中网络节点生成单元(21)的第一生成模块(211)所生成的根公钥,通过网络节点广播单元(25)发送给区域链网络;
A.5)区域链网络中的各节点通过各自BNC的共识单元(24)选取发布区块个数最少的节点作为代理节点,通过存储单元(22)的第一存储模块(221)得到此时区块链上的最新区块,使用加密单元(27)的第三加密模块(273)得到区块链上最新区块的哈希值,将该哈希值作为区块头部,同时将步骤A.4)中获得的新的初始节点的根公钥加入到“创世区块”的区块数据中,作为新的区块数据,一并打包生成区块;
A.6)由上述被选取的节点将步骤A.5)中的区块通过网络节点广播单元(25)广播给其他节点;
A.7)其他节点通过验证单元(26)的第三验证模块(263)验证该区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
A.8)通过验证后,区域链网络中各节点将步骤A.5)中的区块通过各自BNC中存储单元(22)的第一存储模块(221)进行存储;
A.9)步骤A.4)中获得的新的初始节点通过BNC中存储单元(22)的第一存储模块(221)将步骤A.8)中各节点存储的整个区块链存储,从而加入区域链网络,完成节点配置;
B.若是某初始管理员的新的对应节点,则进行如下步骤:
B.1)该初始管理员通过新的对应节点上的MC中管理员生成单元11的第二生成模块(112)和第四生成模块(114),生成一个子公私钥对及相应的数字签名;
B.2)通过MC中的管理员广播单元(12),将步骤B.1)中生成的数字签名、子公钥打包,广播到区块链网络;
B.3)区块链网络中各节点收到广播后,通过BNC中验证单元(26)的第一验证模块(261)验证该管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
B.4)通过验证后,步骤B.1)中所述的管理员用自己MC中管理员生成单元(11)的第三生成模块(113)随机生成一个初始字符串,用对应节点BNC中网络节点生成单元(21)的根私钥加密,得到管理员新的对应节点的身份验证消息,连同对应节点的根公钥一并通过网络节点广播单元(25)广播给区域链网络中各节点;
B.5)区域链网络中各节点通过验证单元26的第二验证模块加以验证,验证通过则进入下一步,反之终止操作;
B.6)将步骤B.1)中所述初始管理员的新的对应节点BNC中网络节点生成单元(21)的第一生成模块(211)所生成的根公钥,通过网络节点广播单元(25)发送给区域链网络;
B.7)区域链网络中的各节点通过各自BNC中的共识单元(24)选取发布区块个数最少的节点作为代理节点,通过存储单元(22)的第一存储模块(221)得到此时区块链上的最新区块,使用加密单元(27)的第三加密模块(273)得到区块链上最新区块的哈希值,将该哈希值作为区块头部,同时将步骤B.1)中节点的根公钥加入到“创世区块”的区块数据中,并将“创世区块”的区块数据中步骤B.1)所述管理员的旧的初始节点的根公钥删除,作为新的区块数据,连同本步骤中的区块头部,一并打包生成区块;
B.8)由步骤B.7)中被选取的节点将步骤B.7)中的区块通过BNC的网络节点广播单元(25)广播给其他节点;
B.9)其他节点通过验证单元(26)的第三验证模块(263)验证该区块的合法性和完整性;
B.10)通过验证后,区域链网络中各节点将步骤B.7)中的区块通过各自BNC中存储单元(22)的第一存储模块(221)进行存储;
B.11)步骤B.1)中初始管理员的新的对应节点通过BNC中存储单元(22)的第一存储模块(221)将步骤B.10)中各节点存储的整个区块链存储,由此完成节点配置更新。

说明书全文

一种基于链的网络设备配置管理方法及客户端

技术领域

[0001] 本发明属于网络设备运维和区块链技术领域,特别是涉及一种基于区块链的网络设备配置管理方法及客户端。

背景技术

[0002] 随着区域链网络规模的不断扩大,网络设备类型和数量越来越多,因此对网络设备配置管理的要求也越来越高。网络设备配置管理主要是为了在频繁配置网络设备时,有效解决操作异常检查、配置改动记录、监控配置变化以及日后归档审计问题。目前主要的网络设备配置管理方法有两种,第一种是分散式管理,即每个管理员都直接掌握网络设备账号密码,可直接登录设备进行配置,这种管理方案的弊端是无法具体掌握管理员的相应操作,且管理员持有设备登录密码,存在泄露隐患;第二种是统一配置管理,它通过设置一个中间服务器,所有管理员通过登录该服务器,由该服务器代理登录设备,这种方法可以规避管理员持有密码带来的险,也可以由该服务器进行配置归档和审计,但这种方法也存在问题,由于设置了中间服务器,那中间服务器的安全尤为重要,一旦中间服务器出现故障或被攻击,则整个区域链网络就会瘫痪,而且配置记录将会完全泄露。

发明内容

[0003] 为了解决上述问题,本发明的目的在于提供一种基于区块链的网络设备配置管理方法及客户端。
[0004] 为了达到上述目的,本发明提供的客户端包括管理员客户端及区块链网络节点客户端;其中管理员客户端缩写为MC,包括:
[0005] 管理员生成单元:生成管理员的根私钥,然后用根私钥生成根公钥;每次管理员需要配置网络设备时,使用根公钥生成一个子公私钥对;生成配置操作内容;利用生成的子公私钥对,将管理员的配置操作内容用子私钥加密生成数字签名;
[0006] 管理员广播单元:将管理员生成单元11生成的数字签名连同子公私钥对中的子公钥和配置操作内容打包,并广播到区块链网络;
[0007] 所述的区块链网络节点客户端缩写为BNC,包括:
[0008] 网络节点生成单元:生成节点的根私钥,然后用节点的根私钥生成节点的根公钥;
[0009] 存储单元:备份区域链网络中的整个区块链;存储节点的根公私钥对;存储修改后的网络设备登录密码;
[0010] 共识单元:依据节点配置网络设备的次数,选择配置次数最低的节点作为代理节点;
[0011] 配置单元:依据管理员的配置操作内容配置网络设备,并在完成当前配置操作后,修改网络设备登录密码;将整个配置行为的记录生成区块数据,并将加密单元产生的哈希值作为区块头部,将区块头部连同区块数据一起打包生成区块;
[0012] 网络节点广播单元:代理节点将打包后的区块向区域链网络其他节点进行广播;
[0013] 验证单元:验证管理员广播的数字签名,核实管理员身份;过滤管理员广播的配置操作内容;验证收到的代理节点广播的区块;
[0014] 加密单元:对配置单元所修改的网络设备登录密码加密;当对该网络设备有新的配置请求时,区域链网络会选出一个新的节点来执行配置操作,此时该新的节点会解密该登录密码,并将登录密码用新选节点的公钥加密,发送给新的节点。
[0015] 所述的管理员生成单元包括:
[0016] 第一生成模块:生成管理员的根私钥,然后用根私钥生成根公钥;
[0017] 第二生成模块:每次管理员需要配置网络设备时,使用第一生成模块中的根公钥生成一个子公私钥对;
[0018] 第三生成模块:节点初始化阶段和节点配置更新则生成管理员对应的节点身份消息;其他阶段生成配置操作内容;
[0019] 第四生成模块:利用第二生成模块中生成的子公私钥对中的子私钥,将第三生成模块中生成的配置操作内容加密生成数字签名。
[0020] 所述的存储单元包括:
[0021] 第一存储模块:完整存储从“创世区块”开始到系统当前为止的所有区块构成的区域链;
[0022] 第二存储模块:存储节点的根公私钥对;
[0023] 第三存储模块:存储被修改的并通过加密单元所加密的网络设备登录密码。
[0024] 所述的配置单元包括:
[0025] 第一配置模块:请求所需配置的网络设备登录密码;
[0026] 第二配置模块:依据管理员的配置操作内容配置网络设备;
[0027] 第三配置模块:完成第二配置模块操作后,修改网络设备登录密码。
[0028] 所述的验证单元包括:
[0029] 第一验证模块:验证管理员广播的数字签名,核实管理员身份;
[0030] 第二验证模块:节点初始化阶段和节点配置更新则验证管理员对应的节点身份;其他阶段过滤管理员广播的配置操作内容,如果操作内容不合法,则取消本次请求;
[0031] 第三验证模块验证收到的代理节点广播的区块的合法性和完整性。
[0032] 所述的加密单元包括:
[0033] 第一加密模块:用对称加密算法对配置单元的第三配置模块所修改的网络设备登录密码加密;
[0034] 第二加密模块:用对称加密算法解密该网络设备登录密码,并将登录密码用新的代理节点的公钥加密;
[0035] 第三加密模块:将存储单元的第一存储模块中区块链上的最新区块进行哈希操作得到哈希值。
[0036] 本发明提供的利用客户端的基于区块链的网络设备配置管理方法包括按顺序进行的下列步骤:
[0037] 9)网络初始化配置,主要分为节点初始化配置和设备初始化两步:
[0038] 1.1)节点初始化配置,具体步骤如下:
[0039] 1.1.1)设区域链网络初始有S个初始管理员和S个初始节点,每个管理员有一个对应的初始节点,首先判定初始节点是否合法,方法是:
[0040] 各管理员用自己MC中管理员生成单元的第三生成模块随机生成一个初始字符串,用对应节点BNC中网络节点生成单元的根私钥加密,得到管理员对应初始节点的身份验证消息,连同对应节点的根公钥通过网络节点广播单元广播给其他S-1个初始节点,该S-1个初始节点通过验证单元的第二验证模块加以验证,如通过验证则判定该初始节点为合法初始节点,反之则不合法,终止配置该初始节点为网络节点;
[0041] 1.1.2)判定合法后,各初始节点将各自BNC中网络节点生成单元的第一生成模块所生成的根公钥,通过网络节点广播单元发送给其他节点;
[0042] 1.1.3)各初始节点通过各自BNC中共识单元选取发布区块个数最少的初始节点,由于区域链网络初始化时,所有初始节点发布区块个数都为0,因此会从所有S个初始节点中随机选取一个,通过选取的初始节点将所有初始节点的根公钥作为区块数据,将哈希值作为区块头部,一并打包成区块,将该区块作为区域链网络中的第一个区块,称为“创世区块”;
[0043] 1.1.4)被选取的初始节点将该“创世区块”通过网络节点广播单元广播给其他初始节点;
[0044] 1.1.5)其他初始节点通过验证单元的第三验证模块验证该区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
[0045] 1.1.6)通过验证后,各初始节点将该“创世区块”通过各自BNC中存储单元的第一存储模块进行存储,从而完成节点初始化配置;
[0046] 1.2)完成节点初始化配置后,进行设备初始化,具体步骤如下:
[0047] 1.2.1)设初始有P个可配置的网络设备,并给各网络设备编号,然后按编号顺序依次完成各网络设备的初始化;
[0048] 1.2.2)将每台网络设备加入系统,各节点利用BNC中的共识单元选取一个发布区块个数最少的节点,由于上述步骤1.1.3)中所选节点已发布“创世区块”,因此从其他S-1个发布区块个数为0的节点中随机选取一个节点,执行其BNC中配置单元的第二配置模块操作,由于初始化没有配置内容,因此直接跳过第一配置模块的操作,直接修改网络设备登录密码;
[0049] 1.2.3)上述步骤1.2.2)中所选节点执行BNC中加密单元的第一加密模块的操作,将修改后的网络设备登录密码加密,并通过存储单元的第三存储模块存储;
[0050] 1.2.4)上述步骤1.2.2)中所选节点将步骤1.2.2)和步骤1.2.3)中执行的过程生成区块数据,并将当前存储单元中区块链上的最新区块通过BNC中加密单元的第三加密模块进行哈希操作得到哈希值,作为区块头部,将该步骤中的区块数据和区块头部一并打包后得到一个区块,并广播给区域链网络中其他节点;
[0051] 1.2.5)其他节点通过BNC中验证单元的第三验证模块验证该区块的合法性和真实性,验证通过则进入下一步,反之终止操作;
[0052] 1.2.6)将通过验证的步骤1.2.5)中的区块链接到步骤1.2.4)中所述区块链上的最新区块后产生一个由区块连接而成的区块链;
[0053] 1.2.7)循环执行步骤1.2.2)-步骤1.2.6),最终将所有P个网络设备都加入系统,此时,各节点所存储的区块链包含P+1个区块,其中一个是“创世区块”,其余P个区块上的数据为修改网络设备登录密码的记录,至此,完成设备初始化过程。
[0054] 10)管理员发起配置请求广播;
[0055] 管理员持有MC中管理员生成单元的第一生成模块所产生的根私钥,在任意一台计算机上安装新的MC,并通过MC向区域链网络发起配置请求广播,具体步骤如下:
[0056] 2.1)管理员通过MC中管理员生成单元的第二生成模块、第三生成模块及第四生成模块分别生成一个子公私钥对、配置操作内容以及相应的数字签名;
[0057] 2.2)通过MC中的管理员广播单元,将步骤2.1)中生成的数字签名、子公钥和配置操作内容打包,并广播到区块链网络;
[0058] 11)区块链网络中各节点收到上述配置请求广播后,通过BNC中的验证单元验证管理员请求,具体如下:
[0059] 3.1)通过BNC中验证单元的第一验证模块验证管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
[0060] 3.2)通过BNC中验证单元的第二验证模块,过滤管理员广播的配置操作内容;
[0061] 12)各节点通过BNC中的共识单元选取一个发布区块个数最少的节点作为代理节点,由该代理节点执行其BNC中配置单元的第一配置模块和第二配置模块的操作;
[0062] 13)由上述步骤4)中所选代理节点将其BNC中配置单元的第一配置模块和第二配置模块所执行的记录生成区块数据,并通过存储单元的第一存储模块得到此时区块链上的最新区块,使用加密单元的第三加密模块得到区块链上最新区块的哈希值,将该哈希值作为区块头部,和本步骤中生成的区块数据一并打包生成一个新的区块;
[0063] 14)由上述步骤4)所选代理节点将步骤5)中的区块通过BNC中的网络节点广播单元向区域链网络的其他节点广播;
[0064] 15)其他各节点通过各自BNC中验证单元的第三验证模块验证收到的代理节点广播的区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
[0065] 16)验证通过后,各节点通过BNC中存储单元的第一存储模块将新的区块存储到区块链上,形成最新的区块链。
[0066] 在步骤1)中,所述的网络初始化配置还包括下列步骤:
[0067] 1)在开始网络初始化配置时,首先判断该新的节点类型,是系统新授权的管理员的对应初始节点,还是某初始管理员的新的对应节点;
[0068] A.若是系统新授权的管理员的对应初始节点,则进行如下步骤:
[0069] A.1)该新的管理员通过节点上的MC中管理员生成单元的第二生成模块112和第四生成模块,生成一个子公私钥对及相应的数字签名;
[0070] A.2)通过MC中的管理员广播单元,将步骤A.1)中生成的数字签名、子公钥打包,并广播到区域链网络;
[0071] A.3)区域链网络中各节点收到广播后,通过BNC中验证单元的第一验证模块验证该管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
[0072] A.4)通过验证后,新管理员的初始节点将BNC中网络节点生成单元的第一生成模块所生成的根公钥,通过网络节点广播单元发送给区域链网络;
[0073] A.5)区域链网络中的各节点通过各自BNC的共识单元选取发布区块个数最少的节点作为代理节点,通过存储单元的第一存储模块得到此时区块链上的最新区块,使用加密单元的第三加密模块得到区块链上最新区块的哈希值,将该哈希值作为区块头部,同时将步骤A.4)中获得的新的初始节点的根公钥加入到“创世区块”的区块数据中,作为新的区块数据,一并打包生成区块;
[0074] A.6)由上述被选取的节点将步骤A.5)中的区块通过网络节点广播单元广播给其他节点;
[0075] A.7)其他节点通过验证单元的第三验证模块验证该区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
[0076] A.8)通过验证后,区域链网络中各节点将步骤A.5)中的区块通过各自BNC中存储单元的第一存储模块进行存储;
[0077] A.9)步骤A.4)中获得的新的初始节点通过BNC中存储单元的第一存储模块将步骤A.8)中各节点存储的整个区块链存储,从而加入区域链网络,完成节点配置;
[0078] B.若是某初始管理员的新的对应节点,则进行如下步骤:
[0079] B.1)该初始管理员通过新的对应节点上的MC中管理员生成单元的第二生成模块和第四生成模块,生成一个子公私钥对及相应的数字签名;
[0080] B.2)通过MC中的管理员广播单元,将步骤B.1)中生成的数字签名、子公钥打包,广播到区块链网络;
[0081] B.3)区块链网络中各节点收到广播后,通过BNC中验证单元的第一验证模块验证该管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
[0082] B.4)通过验证后,步骤B.1)中所述的管理员用自己MC中管理员生成单元的第三生成模块随机生成一个初始字符串,用对应节点BNC中网络节点生成单元的根私钥加密,得到管理员新的对应节点的身份验证消息,连同对应节点的根公钥一并通过网络节点广播单元广播给区域链网络中各节点;
[0083] B.5)区域链网络中各节点通过验证单元的第二验证模块加以验证,验证通过则进入下一步,反之终止操作;
[0084] B.6)将步骤B.1)中所述初始管理员的新的对应节点BNC中网络节点生成单元的第一生成模块所生成的根公钥,通过网络节点广播单元发送给区域链网络;
[0085] B.7)区域链网络中的各节点通过各自BNC中的共识单元选取发布区块个数最少的节点作为代理节点,通过存储单元的第一存储模块得到此时区块链上的最新区块,使用加密单元的第三加密模块得到区块链上最新区块的哈希值,将该哈希值作为区块头部,同时将步骤B.1)中节点的根公钥加入到“创世区块”的区块数据中,并将“创世区块”的区块数据中步骤B.1)所述管理员的旧的初始节点的根公钥删除,作为新的区块数据,连同本步骤中的区块头部,一并打包生成区块;
[0086] B.8)由步骤B.7)中被选取的节点将步骤B.7)中的区块通过BNC的网络节点广播单元广播给其他节点;
[0087] B.9)其他节点通过验证单元的第三验证模块验证该区块的合法性和完整性;
[0088] B.10)通过验证后,区域链网络中各节点将步骤B.7)中的区块通过各自BNC中存储单元的第一存储模块进行存储;
[0089] B.11)步骤B.1)中初始管理员的新的对应节点通过BNC中存储单元的第一存储模块将步骤B.10)中各节点存储的整个区块链存储,由此完成节点配置更新。
[0090] 本发明提供的基于区块链的网络设备配置管理方法及客户端利用区块链技术的去中心化特点,打破传统管理中的中心化管理机制,将管理权限均摊至整个区块链网络节点;采用智能合约进行配置管理,避免人工操作;用区块链提供高安全、可溯源的全备份审计方案,对管理员行为进行有效监督;可以有效抵抗DDos攻击问题,并在出现单个节点故障时,有效降低系统安全风险。附图说明
[0091] 图1为本发明提供的管理员客户端构成示意图。
[0092] 图2为本发明提供的区块链网络节点客户端构成示意图。
[0093] 图3为本发明提供的利用上述客户端的基于区块链的网络设备配置管理方法中步骤1)中网络初始化配置过程流程图
[0094] 图4为本发明提供的利用上述客户端的基于区块链的网络设备配置管理方法中步骤1)中设备初始化过程流程图。
[0095] 图5为本发明提供的利用上述客户端的基于区块链的网络设备配置管理方法中步骤2)至步骤8)过程流程图。

具体实施方式

[0096] 下面结合附图和具体实施例对本发明进行详细说明。
[0097] 本发明提供的基于区块链的网络设备配置方法所采用的网络设备管理系统主要包括三层架构:管理员层、区块链区域链网络层及设备层;其中:
[0098] 管理员层:每个有配置权限的管理员通过该层访问系统的区块链区域链网络;
[0099] 区块链区域链网络层:通过该层的各个节点,验证管理员身份;帮助管理员配置网络设备;记录管理员配置行为;提供和修改网络设备登录密码;
[0100] 设备层:在该层完成具体的配置操作。
[0101] 管理员层和区块链区域链网络层是本系统的核心层。基于该两层,本发明分别设计两种客户端:管理员客户端及区块链网络节点客户端。
[0102] 如图1所示,本发明提供的管理员客户端(MC)包括:
[0103] 管理员生成单元11:生成管理员的根私钥,然后用根私钥生成根公钥;每次管理员需要配置网络设备时,使用根公钥生成一个子公私钥对;生成配置操作内容;利用生成的子公私钥对,将管理员的配置操作内容用子私钥加密生成数字签名;
[0104] 管理员广播单元12:将管理员生成单元11生成的数字签名连同子公私钥对中的子公钥和配置操作内容打包,并广播到区块链网络;
[0105] 所述的管理员生成单元11包括:
[0106] 第一生成模块111:生成管理员的根私钥,然后用根私钥生成根公钥;
[0107] 第二生成模块112:每次管理员需要配置网络设备时,使用第一生成模块111中的根公钥生成一个子公私钥对;
[0108] 第三生成模块113:节点初始化阶段和节点配置更新则生成管理员对应的节点身份消息;其他阶段生成配置操作内容;
[0109] 第四生成模块114:利用第二生成模块112中生成的子公私钥对中的子私钥,将第三生成模块113中生成的配置操作内容加密生成数字签名。
[0110] 如图2所示,本发明提供的区块链网络节点客户端(BNC)包括:
[0111] 网络节点生成单元21:生成节点的根私钥,然后用节点的根私钥生成节点的根公钥;
[0112] 存储单元22:备份区域链网络中的整个区块链;存储节点的根公私钥对;存储修改后的网络设备登录密码;
[0113] 共识单元23:依据节点配置网络设备的次数,选择配置次数最低的节点作为代理节点;
[0114] 配置单元24:依据管理员的配置操作内容配置网络设备,并在完成当前配置操作后,修改网络设备登录密码;将整个配置行为的记录生成区块数据,并将加密单元27产生的哈希值作为区块头部,将区块头部连同区块数据一起打包生成区块;
[0115] 网络节点广播单元25:代理节点将打包后的区块向区域链网络其他节点进行广播;
[0116] 验证单元26:验证管理员广播的数字签名,核实管理员身份;过滤管理员广播的配置操作内容;验证收到的代理节点广播的区块;
[0117] 加密单元27:对配置单元24所修改的网络设备登录密码加密;当对该网络设备有新的配置请求时,区域链网络会选出一个新的节点来执行配置操作,此时该新的节点会解密该登录密码,并将登录密码用新选节点的公钥加密,发送给新的节点;
[0118] 所述的存储单元22包括:
[0119] 第一存储模块221:完整存储从“创世区块”开始到系统当前为止的所有区块构成的区域链;
[0120] 第二存储模块222:存储节点的根公私钥对;
[0121] 第三存储模块223:存储被修改的并通过加密单元27所加密的网络设备登录密码。
[0122] 所述的配置单元24包括:
[0123] 第一配置模块241:请求所需配置的网络设备登录密码;
[0124] 第二配置模块242:依据管理员的配置操作内容配置网络设备;
[0125] 第三配置模块243:完成第二配置模块242操作后,修改网络设备登录密码;
[0126] 所述的验证单元26包括:
[0127] 第一验证模块261:验证管理员广播的数字签名,核实管理员身份;
[0128] 第二验证模块262:节点初始化阶段和节点配置更新则验证管理员对应的节点身份;其他阶段过滤管理员广播的配置操作内容,如果操作内容不合法,则取消本次请求;
[0129] 第三验证模块263L验证收到的代理节点广播的区块的合法性和完整性;
[0130] 所述的加密单元27包括:
[0131] 第一加密模块271:用对称加密算法对配置单元24的第三配置模块243所修改的网络设备登录密码加密;
[0132] 第二加密模块272:用对称加密算法解密该网络设备登录密码,并将登录密码用新的代理节点的公钥加密;
[0133] 第三加密模块273:将存储单元22的第一存储模块221中区块链上的最新区块进行哈希操作得到哈希值。
[0134] 本发明提供的利用上述客户端的基于区块链的网络设备配置管理方法包括按顺序进行的下列步骤:
[0135] 1)网络初始化配置,主要分为节点初始化配置和设备初始化两步:
[0136] 1.1)节点初始化配置,如图3所示,具体步骤如下:
[0137] 1.1.1)设区域链网络初始有S个初始管理员和S个初始节点,每个管理员有一个对应的初始节点,首先判定初始节点是否合法,方法是:
[0138] 各管理员用自己MC中管理员生成单元11的第三生成模块113随机生成一个初始字符串,用对应节点BNC中网络节点生成单元21的根私钥加密,得到管理员对应初始节点的身份验证消息,连同对应节点的根公钥通过网络节点广播单元25广播给其他S-1个初始节点,该S-1个初始节点通过验证单元26的第二验证模块262加以验证,如通过验证则判定该初始节点为合法初始节点,反之则不合法,终止配置该初始节点为网络节点;
[0139] 1.1.2)判定合法后,各初始节点将各自BNC中网络节点生成单元21的第一生成模块211所生成的根公钥,通过网络节点广播单元25发送给其他节点;
[0140] 1.1.3)各初始节点通过各自BNC中共识单元24选取发布区块个数最少的初始节点,由于区域链网络初始化时,所有初始节点发布区块个数都为0,因此会从所有S个初始节点中随机选取一个,通过选取的初始节点将所有初始节点的根公钥作为区块数据,将哈希值0x00ffffffff作为区块头部,一并打包成区块,将该区块作为区域链网络中的第一个区块,称为“创世区块”;
[0141] 1.1.4)被选取的初始节点将该“创世区块”通过网络节点广播单元25广播给其他初始节点;
[0142] 1.1.5)其他初始节点通过验证单元26的第三验证模块263验证该区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
[0143] 1.1.6)通过验证后,各初始节点将该“创世区块”通过各自BNC中存储单元22的第一存储模块221进行存储,从而完成节点初始化配置;
[0144] 1.2)完成节点初始化配置后,进行设备初始化,如图4所示,具体步骤如下:
[0145] 1.2.1)设初始有P个可配置的网络设备,并给各网络设备编号,然后按编号顺序依次完成各网络设备的初始化;
[0146] 1.2.2)将每台网络设备加入系统,各节点利用BNC中的共识单元24选取一个发布区块个数最少的节点,由于上述步骤1.1.3)中所选节点已发布“创世区块”,因此从其他S-1个发布区块个数为0的节点中随机选取一个节点,执行其BNC中配置单元24的第二配置模块242操作,由于初始化没有配置内容,因此直接跳过第一配置模块241的操作,直接修改网络设备登录密码;
[0147] 1.2.3)上述步骤1.2.2)中所选节点执行BNC中加密单元27的第一加密模块271的操作,将修改后的网络设备登录密码加密,并通过存储单元22的第三存储模块223存储;
[0148] 1.2.4)上述步骤1.2.2)中所选节点将步骤1.2.2)和步骤1.2.3)中执行的过程生成区块数据,并将当前存储单元22中区块链上的最新区块通过BNC中加密单元27的第三加密模块273进行哈希操作得到哈希值(当第一台设备加入时,为“创世区块”),作为区块头部,将该步骤中的区块数据和区块头部一并打包后得到一个区块,并广播给区域链网络中其他节点;
[0149] 1.2.5)其他节点通过BNC中验证单元26的第三验证模块263验证该区块的合法性和真实性,验证通过则进入下一步,反之终止操作;
[0150] 1.2.6)将通过验证的步骤1.2.5)中的区块链接到步骤1.2.4)中所述区块链上的最新区块后产生一个由区块连接而成的区块链;
[0151] 1.2.7)循环执行步骤1.2.2)-步骤1.2.6),最终将所有P个网络设备都加入系统,此时,各节点所存储的区块链包含P+1个区块,其中一个是“创世区块”,其余P个区块上的数据为修改网络设备登录密码的记录,至此,完成设备初始化过程。
[0152] 2)管理员发起配置请求广播;
[0153] 管理员持有MC中管理员生成单元11的第一生成模块111所产生的根私钥,可以在任意一台计算机上安装新的MC,并通过MC向区域链网络发起配置请求广播,如图5所示,具体步骤如下:
[0154] 2.1)管理员通过MC中管理员生成单元11的第二生成模块112、第三生成模块113及第四生成模块114分别生成一个子公私钥对、配置操作内容以及相应的数字签名;
[0155] 2.2)通过MC中的管理员广播单元12,将步骤2.1)中生成的数字签名、子公钥和配置操作内容打包,并广播到区块链网络;
[0156] 3)区块链网络中各节点收到上述配置请求广播后,通过BNC中的验证单元[0157] 26验证管理员请求,具体如下:
[0158] 3.1)通过BNC中验证单元26的第一验证模块261验证管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
[0159] 3.2)通过BNC中验证单元26的第二验证模块262,过滤管理员广播的配置操作内容;
[0160] 4)各节点通过BNC中的共识单元24选取一个发布区块个数最少的节点作为代理节点,由该代理节点执行其BNC中配置单元24的第一配置模块241和第二配置模块242的操作;
[0161] 5)由上述步骤4)中所选代理节点将其BNC中配置单元24的第一配置模块241和第二配置模块242所执行的记录生成区块数据,并通过存储单元22的第一存储模块221得到此时区块链上的最新区块,使用加密单元27的第三加密模块273得到区块链上最新区块的哈希值,将该哈希值作为区块头部,和本步骤中生成的区块数据一并打包生成一个新的区块;
[0162] 6)由上述步骤4)所选代理节点将步骤5)中的区块通过BNC中的网络节点广播单元25向区域链网络的其他节点广播;
[0163] 7)其他各节点通过各自BNC中验证单元26的第三验证模块263验证收到的代理节点广播的区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
[0164] 8)验证通过后,各节点通过BNC中存储单元22的第一存储模块221将新的区块存储到区块链上,形成最新的区块链。
[0165] 需要进一步考虑,当有新的节点申请加入区域链网络时,如何更新系统的节点配置。本系统中,在步骤1)中,所述的网络初始化配置时,节点和管理员是一一对应的,数量一致,当有新的节点申请加入区块链网络时,所述的网络初始化配置还包括下列步骤:
[0166] 1)在开始网络初始化配置时,首先判断该新的节点类型,是系统新授权的[0167] 管理员的对应初始节点,还是某初始管理员的新的对应节点;
[0168] A.若是系统新授权的管理员的对应初始节点,则进行如下步骤:
[0169] A.1)该新的管理员通过节点上的MC中管理员生成单元11的第二生成模块112和第四生成模块114,生成一个子公私钥对及相应的数字签名;
[0170] A.2)通过MC中的管理员广播单元12,将步骤A.1)中生成的数字签名、子公钥打包,并广播到区域链网络;
[0171] A.3)区域链网络中各节点收到广播后,通过BNC中验证单元26的第一验证模块261验证该管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
[0172] A.4)通过验证后,新管理员的初始节点将BNC中网络节点生成单元21的第一生成模块211所生成的根公钥,通过网络节点广播单元25发送给区域链网络;
[0173] A.5)区域链网络中的各节点通过各自BNC的共识单元24选取发布区块个数最少的节点作为代理节点,通过存储单元22的第一存储模块221得到此时区块链上的最新区块,使用加密单元27的第三加密模块273得到区块链上最新区块的哈希值,将该哈希值作为区块头部,同时将步骤A.4)中获得的新的初始节点的根公钥加入到“创世区块”的区块数据中,作为新的区块数据,一并打包生成区块;
[0174] A.6)由上述被选取的节点将步骤A.5)中的区块通过网络节点广播单元25广播给其他节点;
[0175] A.7)其他节点通过验证单元26的第三验证模块263验证该区块的合法性和完整性,验证通过则进入下一步,反之终止操作;
[0176] A.8)通过验证后,区域链网络中各节点将步骤A.5)中的区块通过各自BNC中存储单元22的第一存储模块221进行存储;
[0177] A.9)步骤A.4)中获得的新的初始节点通过BNC中存储单元22的第一存储模块221将步骤A.8)中各节点存储的整个区块链存储,从而加入区域链网络,完成节点配置;
[0178] B.若是某初始管理员的新的对应节点,则进行如下步骤:
[0179] B.1)该初始管理员通过新的对应节点上的MC中管理员生成单元11的第二生成模块112和第四生成模块114,生成一个子公私钥对及相应的数字签名;
[0180] B.2)通过MC中的管理员广播单元12,将步骤B.1)中生成的数字签名、子公钥打包,广播到区块链网络;
[0181] B.3)区块链网络中各节点收到广播后,通过BNC中验证单元26的第一验证模块261验证该管理员广播的数字签名,核实管理员身份,验证通过则进入下一步,反之终止操作;
[0182] B.4)通过验证后,步骤B.1)中所述的管理员用自己MC中管理员生成单元11的第三生成模块113随机生成一个初始字符串,用对应节点BNC中网络节点生成单元21的根私钥加密,得到管理员新的对应节点的身份验证消息,连同对应节点的根公钥一并通过网络节点广播单元25广播给区域链网络中各节点;
[0183] B.5)区域链网络中各节点通过验证单元26的第二验证模块加以验证,验证通过则进入下一步,反之终止操作;
[0184] B.6)将步骤B.1)中所述初始管理员的新的对应节点BNC中网络节点生成单元21的第一生成模块211所生成的根公钥,通过网络节点广播单元25发送给区域链网络;
[0185] B.7)区域链网络中的各节点通过各自BNC中的共识单元24选取发布区块个数最少的节点作为代理节点,通过存储单元22的第一存储模块221得到此时区块链上的最新区块,使用加密单元27的第三加密模块273得到区块链上最新区块的哈希值,将该哈希值作为区块头部,同时将步骤B.1)中节点的根公钥加入到“创世区块”的区块数据中,并将“创世区块”的区块数据中步骤B.1)所述管理员的旧的初始节点的根公钥删除,作为新的区块数据,连同本步骤中的区块头部,一并打包生成区块;
[0186] B.8)由步骤B.7)中被选取的节点将步骤B.7)中的区块通过BNC的网络节点广播单元25广播给其他节点;
[0187] B.9)其他节点通过验证单元26的第三验证模块263验证该区块的合法性和完整性;
[0188] B.10)通过验证后,区域链网络中各节点将步骤B.7)中的区块通过各自BNC中存储单元22的第一存储模块221进行存储;
[0189] B.11)步骤B.1)中初始管理员的新的对应节点通过BNC中存储单元22的第一存储模块221将步骤B.10)中各节点存储的整个区块链存储,由此完成节点配置更新。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈