一种对区块链可信启动的检验方法与流程

专利2022-06-29  79


本发明属于网络安全领域,涉及数据加密技术,特别是对数据进行哈希运算等方法。



背景技术:

可信计算(trustedcomputing,tc)是一项由可信计算组(可信计算集群,前称为tcpa)推动和开发的技术。可信计算是在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高系统整体的安全性。签注密钥是一个2048位的rsa公共和私有密钥对,它在芯片出厂时随机生成并且不能改变。这个私有密钥永远在芯片里,而公共密钥用来认证及加密发送到该芯片的敏感数据。

完整性度量是可信计算的关键特性。

可信平台模块(trustedplatformmodule,tpm)是一项安全密码处理器的国际标准,旨在使用设备中集成的专用微控制器(安全硬件)处理设备中的加密密钥。tpm的技术规范由称为可信计算组织(tcg)的信息业联合体编写。国际标准化组织(iso)和国际电工委员会(iec)已于2009年将规范标准化为iso/iec11889。

hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

在日常使用区块链项目时,项目在启动运行后如果因文件缺失或代码缺失产生错误时,往往会对我们的工作学习产生未知的后果和影响,严重时甚至会造成难以估量的损失。而我的这个发明可以在项目启动运行之前对整个项目做出完整性的检查,从而有效避免了由以上原因所带来问题的产生。



技术实现要素:

本发明的目的是提供一种对区块链可信启动的检验方法,使得用户可以直观的了解到区块链项目文件是否存在缺失,代码是否完整以及各服务是否正常启动。

本发明的技术方案是,

一种对区块链可信启动的检验方法,具体按照以下步骤实施:

步骤1,将区块链项目不同版本的目标文件进行哈希加密运算,得出标准哈希值,并将得到的标准哈希值按照版本号分别存储到数据库中;

步骤2,获取不同版本待检查文件的版本号,并扫描不同版本的待检查文件,并对扫描到的待检查文件进行哈希加密运算,得到对比哈希值;

步骤3,将步骤2的对比哈希值与步骤1的标准哈希值进行比对比对,判断待检查文件是否被修改。

步骤1中的标准哈希值按照版本号、哈希值和目标文件一一对应存储在数据库中的版本号表、哈希值表和文件表中。

步骤2中,获取不同版本待检查文件的版本号的步骤如下:

步骤2.1,调用待检测项目所部署在的操作系统内的命令终端,执行命令语句cdfabric/定位到项目所在的本地根目录;

步骤2.2,继续在命令终端中执行下一条命令语句gitbranch-a即可在终端中获取到该项目的版本号信息。

步骤3中,将步骤2的对比哈希值与步骤1的标准哈希值进行比对比对的具体步骤如下:

步骤3.1,将步骤2中获取到的版本号在数据库的版本号表中查询得到版本编号,从而在数据库查询得到与版本号相对应的文件编号和标准哈希值;

步骤3.2,将步骤2中的得到的对比哈希值与步骤3.1中在数据库中查询得到的标准哈希值进行比对。

版本号表中关键字包括项目名称、版本号、版本编号,类型分别为char(20),char(10),int(5),文件表中关键字包括文件编号,文件名,文件路径,类型分别为int(10),char(20),char(50),哈希表中关键字包括版本号,文件编号,哈希值,类型分别为char(10),char(10),char(64)。

本发明的有益效果是,

一种对区块链可信启动的检验方法,针对区块链项目在启动运行过程中可能存在的文件缺失,代码缺失等问题进行了预先检查,该方法逐一扫描整个项目文件目录,将所有文件按照特定方法加密后与存放在数据库的对应文件哈希值进行比对,从而直观的了解到该区块链项目文件是否完整,检查过程速度快、效率高、准确性好,具有很强的参考性和实用性。

附图说明

图1是本发明一种对区块链可信启动的检验方法流程框图。

图2是本发明以hyperledgerfabric为例的该项目主体服务启动依赖关系树形结构图。

具体实施方式

下面结合附图和具体实施方式对本发明进行详细说明。

本发明一种对区块链可信启动的检验方法,流程图如图1所示,具体按照以下步骤实施:

一种对区块链可信启动的检验方法,具体按照以下步骤实施:

步骤1,将区块链项目不同版本的目标文件进行哈希加密运算,得出标准哈希值,并将得到的标准哈希值按照版本号分别存储到数据库中;

步骤2,获取不同版本待检查文件的版本号,并扫描不同版本的待检查文件,并对扫描到的待检查文件进行哈希加密运算,得到对比哈希值;

步骤3,将步骤2的对比哈希值与步骤1的标准哈希值进行比对比对,判断待检查文件是否被修改。

步骤1中的标准哈希值按照版本号、哈希值和目标文件一一对应存储在数据库中的版本号表、哈希值表和文件表中。

步骤2中,获取不同版本待检查文件的版本号的步骤如下:

步骤2.1,调用待检测项目所部署在的操作系统内的命令终端,执行命令语句cdfabric/定位到项目所在的本地根目录;

步骤2.2,继续在命令终端中执行下一条命令语句gitbranch-a即可在终端中获取到该项目的版本号信息。

步骤3中,将步骤2的对比哈希值与步骤1的标准哈希值进行比对比对的具体步骤如下:

步骤3.1,将步骤2中获取到的版本号在数据库的版本号表中查询得到版本编号,从而在数据库查询得到与版本号相对应的文件编号和标准哈希值;

步骤3.2,将步骤2中的得到的对比哈希值与步骤3.1中在数据库中查询得到的标准哈希值进行比对。

版本号表中关键字包括项目名称、版本号、版本编号,类型分别为char(20),char(10),int(5),文件表中关键字包括文件编号,文件名,文件路径,类型分别为int(10),char(20),char(50),哈希表中关键字包括版本号,文件编号,哈希值,类型分别为char(10),char(10),char(64)。

实施例1

本发明以hyperledgerfabric为例的该项目主体服务启动依赖关系如图2所示,该项目主体服务启动顺序具体按照以下步骤进行:

步骤1,cryptogen工具生成orderer组织身份配置文件和peer组织身份配置文件。

步骤2,configtxgen工具生成genesisblock,channelconfigtx配置文件和anchorpeer更新配置。

步骤3,步骤1生成的配置文件分别去初始化localmsp服务后初始化orderer节点和peer节点。

步骤4,orderer节点读取步骤2中生成的genesisblock加入到账本中。

步骤5,orderer节点向grpc服务注册deliver服务和broadcast服务。

步骤6,peer节点向grpc服务创建grpc服务对象peerserver。


技术特征:

1.一种对区块链可信启动的检验方法,其特征在于,具体按照以下步骤实施:

步骤1,将区块链项目不同版本的目标文件进行哈希加密运算,得出标准哈希值,并将得到的标准哈希值按照版本号分别存储到数据库中;

步骤2,获取不同版本待检查文件的版本号,并扫描不同版本的待检查文件,并对扫描到的待检查文件进行哈希加密运算,得到对比哈希值;

步骤3,将步骤2的对比哈希值与步骤1的标准哈希值进行比对比对,判断待检查文件是否被修改。

2.如权利要求1所述的一种对区块链可信启动的检验方法,其特征在于,所述步骤1中的标准哈希值按照版本号、哈希值和目标文件一一对应存储在数据库中的版本号表、哈希值表和文件表中。

3.如权利要求1所述的一种对区块链可信启动的检验方法,其特征在于,步骤2中,获取不同版本待检查文件的版本号的步骤如下:

步骤2.1,调用待检测项目所部署在的操作系统内的命令终端,执行命令语句cdfabric/定位到项目所在的本地根目录;

步骤2.2,继续在命令终端中执行下一条命令语句gitbranch-a即可在终端中获取到该项目的版本号信息。

4.如权利要求1所述的一种对区块链可信启动的检验方法,其特征在于,所述步骤3中,将步骤2的对比哈希值与步骤1的标准哈希值进行比对比对的具体步骤如下:

步骤3.1,将步骤2中获取到的版本号在数据库的版本号表中查询得到版本编号,从而在数据库查询得到与版本号相对应的文件编号和标准哈希值;

步骤3.2,将步骤2中的得到的对比哈希值与步骤3.1中在数据库中查询得到的标准哈希值进行比对。

5.如权利要求2所述的一种对区块链可信启动的检验方法,其特征在于,所述版本号表中关键字包括项目名称、版本号、版本编号,类型分别为char(20),char(10),int(5),所述文件表中关键字包括文件编号,文件名,文件路径,类型分别为int(10),char(20),char(50),哈希表中关键字包括版本号,文件编号,哈希值,类型分别为char(10),char(10),char(64)。

技术总结
本发明公开了一种对区块链可信启动的检验方法,具体为:首先,将区块链项目不同版本的目标文件进行哈希加密运算,得出标准哈希值,并将得到的标准哈希值按照版本号分别存储到数据库中;然后,获取不同版本待检查文件的版本号,并扫描不同版本的待检查文件,并对扫描到的待检查文件进行哈希加密运算,得到对比哈希值;最后,将步骤2的对比哈希值与步骤1的标准哈希值进行比对比对,判断待检查文件是否被修改。本发明与现有技术相比,针对区块链项目在启动运行过程中可能存在的文件缺失,代码缺失等问题进行了预先检查,从而直观的了解到该区块链项目文件是否完整,检查过程速度快、效率高、准确性好,具有很强的参考性和实用性。

技术研发人员:王一川;马冰;张彤;高文;朱赫;尹欣悦;田钰滢;丁一凡;姜新宇
受保护的技术使用者:西安理工大学
技术研发日:2020.01.15
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-20780.html

最新回复(0)