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

技术编号:20451674 阅读:80 留言:0更新日期:2019-02-27 04:34
一种基于区块链的网络设备配置管理方法及客户端。本发明专利技术提供的基于区块链的网络设备配置管理方法及客户端利用区块链技术的去中心化特点,打破传统管理中的中心化管理机制,将管理权限均摊至整个区块链网络节点;采用智能合约进行配置管理,避免人工操作;用区块链提供高安全、可溯源的全备份审计方案,对管理员行为进行有效监督;可以有效抵抗DDos攻击问题,并在出现单个节点故障时,有效降低系统安全风险。

【技术实现步骤摘要】
一种基于区块链的网络设备配置管理方法及客户端
本专利技术属于网络设备运维和区块链
,特别是涉及一种基于区块链的网络设备配置管理方法及客户端。
技术介绍
随着区域链网络规模的不断扩大,网络设备类型和数量越来越多,因此对网络设备配置管理的要求也越来越高。网络设备配置管理主要是为了在频繁配置网络设备时,有效解决操作异常检查、配置改动记录、监控配置变化以及日后归档审计问题。目前主要的网络设备配置管理方法有两种,第一种是分散式管理,即每个管理员都直接掌握网络设备账号密码,可直接登录设备进行配置,这种管理方案的弊端是无法具体掌握管理员的相应操作,且管理员持有设备登录密码,存在泄露隐患;第二种是统一配置管理,它通过设置一个中间服务器,所有管理员通过登录该服务器,由该服务器代理登录设备,这种方法可以规避管理员持有密码带来的风险,也可以由该服务器进行配置归档和审计,但这种方法也存在问题,由于设置了中间服务器,那中间服务器的安全尤为重要,一旦中间服务器出现故障或被攻击,则整个区域链网络就会瘫痪,而且配置记录将会完全泄露。
技术实现思路
为了解决上述问题,本专利技术的目的在于提供一种基于区块链的网络设备配置管理方法及客户端。为了达到上述目的,本专利技术提供的客户端包括管理员客户端及区块链网络节点客户端;其中管理员客户端缩写为MC,包括:管理员生成单元:生成管理员的根私钥,然后用根私钥生成根公钥;每次管理员需要配置网络设备时,使用根公钥生成一个子公私钥对;生成配置操作内容;利用生成的子公私钥对,将管理员的配置操作内容用子私钥加密生成数字签名;管理员广播单元:将管理员生成单元11生成的数字签名连同子公私钥对中的子公钥和配置操作内容打包,并广播到区块链网络;所述的区块链网络节点客户端缩写为BNC,包括:网络节点生成单元:生成节点的根私钥,然后用节点的根私钥生成节点的根公钥;存储单元:备份区域链网络中的整个区块链;存储节点的根公私钥对;存储修改后的网络设备登录密码;共识单元:依据节点配置网络设备的次数,选择配置次数最低的节点作为代理节点;配置单元:依据管理员的配置操作内容配置网络设备,并在完成当前配置操作后,修改网络设备登录密码;将整个配置行为的记录生成区块数据,并将加密单元产生的哈希值作为区块头部,将区块头部连同区块数据一起打包生成区块;网络节点广播单元:代理节点将打包后的区块向区域链网络其他节点进行广播;验证单元:验证管理员广播的数字签名,核实管理员身份;过滤管理员广播的配置操作内容;验证收到的代理节点广播的区块;加密单元:对配置单元所修改的网络设备登录密码加密;当对该网络设备有新的配置请求时,区域链网络会选出一个新的节点来执行配置操作,此时该新的节点会解密该登录密码,并将登录密码用新选节点的公钥加密,发送给新的节点。所述的管理员生成单元包括:第一生成模块:生成管理员的根私钥,然后用根私钥生成根公钥;第二生成模块:每次管理员需要配置网络设备时,使用第一生成模块中的根公钥生成一个子公私钥对;第三生成模块:节点初始化阶段和节点配置更新则生成管理员对应的节点身份消息;其他阶段生成配置操作内容;第四生成模块:利用第二生成模块中生成的子公私钥对中的子私钥,将第三生成模块中生成的配置操作内容加密生成数字签名。所述的存储单元包括:第一存储模块:完整存储从“创世区块”开始到系统当前为止的所有区块构成的区域链;第二存储模块:存储节点的根公私钥对;第三存储模块:存储被修改的并通过加密单元所加密的网络设备登录密码。所述的配置单元包括:第一配置模块:请求所需配置的网络设备登录密码;第二配置模块:依据管理员的配置操作内容配置网络设备;第三配置模块:完成第二配置模块操作后,修改网络设备登录密码。所述的验证单元包括:第一验证模块:验证管理员广播的数字签名,核实管理员身份;第二验证模块:节点初始化阶段和节点配置更新则验证管理员对应的节点身份;其他阶段过滤管理员广播的配置操作内容,如果操作内容不合法,则取消本次请求;第三验证模块验证收到的代理节点广播的区块的合法性和完整性。所述的加密单元包括:第一加密模块:用对称加密算法对配置单元的第三配置模块所修改的网络设备登录密码加密;第二加密模块:用对称加密算法解密该网络设备登录密码,并将登录密码用新的代理节点的公钥加密;第三加密模块:将存储单元的第一存储模块中区块链上的最新区块进行哈希操作得到哈希值。本专利技术提供的利用客户端的基于区块链的网络设备配置管理方法包括按顺序进行的下列步骤:9)网络初始化配置,主要分为节点初始化配置和设备初始化两步:1.1)节点初始化配置,具体步骤如下:1.1.1)设区域链网络初始有S个初始管理员和S个初始节点,每个管理员有一个对应的初始节点,首先判定初始节点是否合法,方法是:各管理员用自己MC中管理员生成单元的第三生成模块随机生成一个初始字符串,用对应节点BNC中网络节点生成单元的根私钥加密,得到管理员对应初始节点的身份验证消息,连同对应节点的根公钥通过网络节点广播单元广播给其他S-1个初始节点,该S-1个初始节点通过验证单元的第二验证模块加以验证,如通过验证则判定该初始节点为合法初始节点,反之则不合法,终止配置该初始节点为网络节点;1.1.2)判定合法后,各初始节点将各自BNC中网络节点生成单元的第一生成模块所生成的根公钥,通过网络节点广播单元发送给其他节点;1.1.3)各初始节点通过各自BNC中共识单元选取发布区块个数最少的初始节点,由于区域链网络初始化时,所有初始节点发布区块个数都为0,因此会从所有S个初始节点中随机选取一个,通过选取的初始节点将所有初始节点的根公钥作为区块数据,将哈希值作为区块头部,一并打包成区块,将该区块作为区域链网络中的第一个区块,称为“创世区块”;1.1.4)被选取的初始节点将该“创世区块”通过网络节点广播单元广播给其他初始节点;1.1.5)其他初始节点通过验证单元的第三验证模块验证该区块的合法性和完整性,验证通过则进入下一步,反之终止操作;1.1.6)通过验证后,各初始节点将该“创世区块”通过各自BNC中存储单元的第一存储模块进行存储,从而完成节点初始化配置;1.2)完成节点初始化配置后,进行设备初始化,具体步骤如下:1.2.1)设初始有P个可配置的网络设备,并给各网络设备编号,然后按编号顺序依次完成各网络设备的初始化;1.2.2)将每台网络设备加入系统,各节点利用BNC中的共识单元选取一个发布区块个数最少的节点,由于上述步骤1.1.3)中所选节点已发布“创世区块”,因此从其他S-1个发布区块个数为0的节点中随机选取一个节点,执行其BNC中配置单元的第二配置模块操作,由于初始化没有配置内容,因此直接跳过第一配置模块的操作,直接修改网络设备登录密码;1.2.3)上述步骤1.2.2)中所选节点执行BNC中加密单元的第一加密模块的操作,将修改后的网络设备登录密码加密,并通过存储单元的第三存储模块存储;1.2.4)上述步骤1.2.2)中所选节点将步骤1.2.2)和步骤1.2.3)中执行的过程生成区块数据,并将当前存储单元中区块链上的最新区块通过BNC中加密单元的第三加密模块进行哈希操作得到哈希值,作为区块头部,将该步骤中的区块数据和区块头部一并打包后得到一个区块,并本文档来自技高网...

【技术保护点】
1.一种客户端,其特征在于:所述的客户端包括管理员客户端及区块链网络节点客户端;其中管理员客户端缩写为MC,包括:管理员生成单元(11):生成管理员的根私钥,然后用根私钥生成根公钥;每次管理员需要配置网络设备时,使用根公钥生成一个子公私钥对;生成配置操作内容;利用生成的子公私钥对,将管理员的配置操作内容用子私钥加密生成数字签名;管理员广播单元(12):将管理员生成单元(11)生成的数字签名连同子公私钥对中的子公钥和配置操作内容打包,并广播到区块链网络;所述的区块链网络节点客户端缩写为BNC,包括:网络节点生成单元(21):生成节点的根私钥,然后用节点的根私钥生成节点的根公钥;存储单元(22):备份区域链网络中的整个区块链;存储节点的根公私钥对;存储修改后的网络设备登录密码;共识单元(23):依据节点配置网络设备的次数,选择配置次数最低的节点作为代理节点;配置单元(24):依据管理员的配置操作内容配置网络设备,并在完成当前配置操作后,修改网络设备登录密码;将整个配置行为的记录生成区块数据,并将加密单元(27)产生的哈希值作为区块头部,将区块头部连同区块数据一起打包生成区块;网络节点广播单元(25):代理节点将打包后的区块向区域链网络其他节点进行广播;验证单元(26):验证管理员广播的数字签名,核实管理员身份;过滤管理员广播的配置操作内容;验证收到的代理节点广播的区块;加密单元(27):对配置单元24所修改的网络设备登录密码加密;当对该网络设备有新的配置请求时,区域链网络会选出一个新的节点来执行配置操作,此时该新的节点会解密该登录密码,并将登录密码用新选节点的公钥加密,发送给新的节点。...

【技术特征摘要】
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)的第三验证模块(...

【专利技术属性】
技术研发人员:王劲松张洪玮赵泽宁林胜
申请(专利权)人:天津理工大学
类型:发明
国别省市:天津,12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1