CN115913564A - 区块链产品的安全检测方法、系统、设备及可读存储介质 - Google Patents
区块链产品的安全检测方法、系统、设备及可读存储介质 Download PDFInfo
- Publication number
- CN115913564A CN115913564A CN202211275557.7A CN202211275557A CN115913564A CN 115913564 A CN115913564 A CN 115913564A CN 202211275557 A CN202211275557 A CN 202211275557A CN 115913564 A CN115913564 A CN 115913564A
- Authority
- CN
- China
- Prior art keywords
- block chain
- detection
- information
- product
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 231
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 9
- 238000011076 safety test Methods 0.000 claims description 6
- 238000007689 inspection Methods 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 abstract description 6
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及区块链技术领域,尤其涉及一种区块链产品的安全检测方法、系统、设备及可读存储介质,其中,所述方法包括:将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;获取所述区块链中通过所述智能合约生成的交易信息;基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。实现了能够根据国密算法标准快速对区块链产品进行检测,提高了对区块链产品的检测效率和检测准确度,解决了如何提升区块链产品的密码安全评测可靠性的问题。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区块链产品的安全检测方法、系统、设备及可读存储介质。
背景技术
商用密码技术是一种对商用信息进行加密保护或者安全认证所使用的密码技术,在保证商用信息的完整性和正确性的同时,防止商用信息被篡改、伪造和泄露。为了提高商用密码的防破解能力,常常结合区块链技术来构建商用密码系统。
在构思及实现本申请过程中,发明人发现至少存在如下缺陷:第一,目前的区块链测评系统自身仅针对区块链性能进行测评,没有根据相关政策(GM/T0111-2021《区块链密码应用技术要求》)的规定对区块链系统的密码安全性进行测评的功能。第二,只能借由系统本身的输出日志,或者由区块链产品厂商提供的第三方工具对系统的安全性进行测评,评测效率较低。因此,目前的区块链产品的密码安全评测方式存在评测可靠性较低的问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种区块链产品的安全检测方法,旨在解决如何提升区块链产品的密码安全评测可靠性的问题。
为实现上述目的,本发明提供的一种区块链产品的安全检测方法,所述方法包括:
将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;
将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;
获取所述区块链中通过所述智能合约生成的交易信息;
基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。
可选地,所述基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果步骤包括:
获取所述交易信息中的区块信息,并根据所述区块信息确定所述区块链产品是否符合第一检测条件;
当符合所述第一检测条件时,获取所述交易信息中的报文信息,并根据所述报文信息确定所述区块链产品是否符合第二检测条件;
当符合所述第二检测条件时,获取所述交易信息中的数字证书信息,并根据所述数字证书信息确定所述区块链产品是否符合第三检测条件;
当符合所述第三检测条件时,确定所述测试节点与原生节点之间的数据交换通道是否处于安全状态,其中,若处于所述安全状态,判断所述区块链产品符合第四检测条件;
当符合所述第四检测条件时,所述测试节点向所述区块链产品中的每一原生节点发起共识协议安全测试,并根据所述原生节点反馈的检测结果确定所述区块链产品是否符合第五检测条件;
当符合所述第五检测条件时,确定所述测试节点关联的智能合约是否存在部署权限,若存在所述部署权限,验证存在部署权限的所述智能合约中是否存在被篡改信息,若不存在所述被篡改信息,判断所述区块链产品符合第六检测条件;
当符合所述第六检测条件时,输出所述区块链产品符合预设检测条件的检测标准的安全检测结果。
可选地,所述确定所述区块信息是否符合第一检测条件包括:
对所述区块信息的默克尔树使用SM3算法进行验证;
当所述默克尔树符合所述SM3算法验证时,验证所述测试节点和除所述测试节点外的其它节点的TLS安全信道是否建立成功;
若建立成功,判断所述区块信息符合所述第一检测条件。
可选地,所述确定所述报文信息是否符合第二检测条件包括:
确定所述报文信息中的报文签名格式是否符合所述国密算法标准库中的参考签名格式;
当符合所述参考签名格式时,判断所述报文信息符合所述第二检测条件。
可选地,所述确定所述数字证书信息是否符合第三检测条件包括:
确定所述数字证书信息是否符合所述国密算法标准库中的参考证书格式;
当符合所述参考证书格式时,判断所述数字证书信息符合所述第三审核条件。
可选地,所述测试节点向所述区块链产品中的每一原生节点发起共识协议安全测试,根据所述原生节点反馈的检测结果确定所述区块链产品是否符合第五检测条件包括:
所述测试节点向每一所述原生节点发起交易申请;
确定各个所述交易申请中的交易总金额是否小于所述测试节点中的预存余额;
若小于所述预存余额,获取每一所述原生节点和所述测试节点之间根据所述交易申请生成的交易测试信息;
确定各个节点之间记录的所述交易测试信息是否相同;
当所述交易测试信息相同时,向所述商用密码检测系统反馈交易申请正常的检测结果,以根据所述检测结果判断所述区块链产品符合所述第五检测条件。
可选地,当所述区块链产品不满足任一检测条件时,输出所述区块链产品不符合检测标准的安全检测结果。
此外,为实现上述目的,本发明还提供一种商用密码检测系统,所述商用密码检测系统包括:
密码节点部署模块,用于将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;
智能合约部署模块,用于将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;
交易信息采集模块,用于获取所述区块链中通过所述智能合约生成的交易信息;
结果判断模块,用于基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。
此外,为实现上述目的,本发明还提供一种区块链产品检测设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链产品的安全检测程序,所述区块链产品的安全检测程序被所述处理器执行时实现如上所述的区块链产品的安全检测方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有区块链产品的安全检测程序,所述区块链产品的安全检测程序被处理器执行时实现如上所述的区块链产品的安全检测方法的步骤。
本发明实施例提供一种区块链产品的安全检测方法、系统、设备及可读存储介质,其中,所述方法包括:将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;获取所述区块链中通过所述智能合约生成的交易信息;基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。实现了能够根据国密算法标准快速对区块链产品进行检测,提高了对区块链产品的检测效率和检测准确度。
附图说明
图1为本发明实施例涉及的区块链产品检测设备的硬件架构示意图;
图2为本发明区块链产品的安全检测方法的第一实施例的流程示意图;
图3为本发明区块链产品的安全检测方法的第二实施例的细化流程示意图;
图4为本发明商用密码检测系统的架构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
区块链是一种分布式数据库,集成了点对点传输、共识机制、密码算法等技术,凭借着技术创新,区块链技术近年来得到广泛的创新和研究,其技术已延伸到金融科技、物联网、智能制造、供应链管理等多个领域。为保障区块链技术应用健康发展和促进国产密码的应用,国家密码管理局发布GM/T0111-2021《区块链密码应用技术要求》,对区块链系统得商用密码安全要素提出了需求,标准的发布产生了区块链系统商用密码测试需求,现有的区块链测评系统仅针对区块链性能进行测评,没有从GM/T0111-2021《区块链密码应用技术要求》角度对区块链密码应用进行密码安全要素符合性进行测评,测试依靠区块链系统本身打印输出日志后由人工判断,导致效率低下或者测评偏差。
本申请通过在区块链的原生节点中嵌入密码模块,可在区块链的不同层次上对区块链进行测试,并自动分析区块链使用的算法是否符合的要求,提高测评效率,减少人为错误。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
作为一种实现方案,图1为本发明实施例方案涉及的硬件运行环境的结构示意图。
如图1所示,该家用电器可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对区块链产品检测设备限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及区块链产品的安全检测程序。其中,操作系统是管理和控制区块链产品的安全检测方法的硬件和软件资源的程序,区块链产品的安全检测程序以及其它软件或程序的运行。
在图1所示的区块链产品检测设备中,用户接口1003主要用于连接终端,与终端进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的区块链产品的安全检测程序。
在本实施例中,区块链产品检测设备包括:存储器1005、处理器1001及存储在所述存储器上并可在所述处理器上运行的区块链产品的安全检测程序,其中:
处理器1001调用存储器1005中存储的区块链产品的安全检测程序时,执行以下操作:
将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;
将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;
获取所述区块链中通过所述智能合约生成的交易信息;
基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。
处理器1001调用存储器1005中存储的区块链产品的安全检测程序时,执行以下操作:
获取所述交易信息中的区块信息,并根据所述区块信息确定所述区块链产品是否符合第一检测条件;
当符合所述第一检测条件时,获取所述交易信息中的报文信息,并根据所述报文信息确定所述区块链产品是否符合第二检测条件;
当符合所述第二检测条件时,获取所述交易信息中的数字证书信息,并根据所述数字证书信息确定所述区块链产品是否符合第三检测条件;
当符合所述第三检测条件时,确定所述测试节点与原生节点之间的数据交换通道是否处于安全状态,其中,若处于所述安全状态,判断所述区块链产品符合第四检测条件;
当符合所述第四检测条件时,所述测试节点向所述区块链产品中的每一原生节点发起共识协议安全测试,并根据所述原生节点反馈的检测结果确定所述区块链产品是否符合第五检测条件;
当符合所述第五检测条件时,确定所述测试节点关联的智能合约是否存在部署权限,若存在所述部署权限,验证存在部署权限的所述智能合约中是否存在被篡改信息,若不存在所述被篡改信息,判断所述区块链产品符合第六检测条件;
当符合所述第六检测条件时,输出所述区块链产品符合预设检测条件的检测标准的安全检测结果。
处理器1001调用存储器1005中存储的区块链产品的安全检测程序时,执行以下操作:
对所述区块信息的默克尔树使用SM3算法进行验证;
当所述默克尔树符合所述SM3算法验证时,验证所述测试节点和除所述测试节点外的其它节点的TLS安全信道是否建立成功;
若建立成功,判断所述区块信息符合所述第一检测条件。
处理器1001调用存储器1005中存储的区块链产品的安全检测程序时,执行以下操作:
确定所述报文信息中的报文签名格式是否符合所述国密算法标准库中的参考签名格式;
当符合所述参考签名格式时,判断所述报文信息符合所述第二检测条件。
处理器1001调用存储器1005中存储的区块链产品的安全检测程序时,执行以下操作:
确定所述数字证书信息是否符合所述国密算法标准库中的参考证书格式;
当符合所述参考证书格式时,判断所述数字证书信息符合所述第三审核条件。
处理器1001调用存储器1005中存储的区块链产品的安全检测程序时,执行以下操作:
所述测试节点向每一所述原生节点发起交易申请;
确定各个所述交易申请中的交易总金额是否小于所述测试节点中的预存余额;
若小于所述预存余额,获取每一所述原生节点和所述测试节点之间根据所述交易申请生成的交易测试信息;
确定各个节点之间记录的所述交易测试信息是否相同;
当所述交易测试信息相同时,向所述商用密码检测系统反馈交易申请正常的检测结果,以根据所述检测结果判断所述区块链产品符合所述第五检测条件。
处理器1001调用存储器1005中存储的区块链产品的安全检测程序时,执行以下操作:
当所述区块链产品不满足任一检测条件时,输出所述区块链产品不符合检测标准的安全检测结果。
基于上述基于区块链技术的区块链产品检测设备的硬件架构,提出本发明区块链产品的安全检测方法的实施例。
参照图2,在第一实施例中,所述区块链产品的安全检测方法包括以下步骤:
步骤S10,将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;
在本实施例中,首先将带有国密算法标准库的测试节点部署至区块链的系统网络中,作为商用密码检测系统的密码节点,以替代区块链中的原生节点。国密算法标准库是本实施例中根据GM/T0111-2021《区块链密码应用技术要求》所预设的算法库,用于对区块链产品中涉及的算法进行校对,而区块链中的其它节点则仍然为原生节点。
可选地,在一些实施方式中,商用密码检测系统还设有国际标准算法模式和国密标准算法模式,国际标准算法模式是以国际上的算法标准对区块链产品的密码安全性进行测试,而国密标准算法模式则是根据GM/T0111-2021《区块链密码应用技术要求》所编译的算法模式,用于根据国密标准对区块链产品的密码安全性进行测试,而本实施例中所着重说明的是对国密标准算法模式下进行说明,因此在本实施例中,在部署完测试节点之后,将商用密码检测系统配置为国密标准算法模式。当然,在另一些实施方式中,商用密码检测系统只针对国密标准对区块链产品的密码安全性进行测试,则默认为该商用密码检测系统处于国密标准算法模式,则可以省略该步骤。
需要说明的是,传统的检测系统,通常是通过区块链中的原生节点从区块链产品中爬取出其内部的密码算法,然后再将该密码算法用检测系统中的算法相关检测方案对该密码算法进行检测。而在本实施例中,将带有国密算法标准库的测试节点至区块链的系统网络中,作为密码节点替代原生节点,能够在区块链上直接提取并进行后续的检测,省略了爬取算法的过程。这种方式具有的有益效果至少在于,给测试人员在执行检测操作时提供更为高效的检测方式。
步骤S20,将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;
步骤S30,获取所述区块链中通过所述智能合约生成的交易信息;
在本实施例中,在将带有国密算法标准库的测试节点作为密码节点部署至区块链中之后,将与待检测的区块链产品关联的智能合约,通过该测试节点部署至区块链中,从而使区块链能够通过智能合约生成交易信息。
在本实施例中,交易信息表征为用户在使用区块链产品进行交易的过程中,由区块链记录下交易内容的相关信息以及区块链自身对该笔交易进行加密后的各类安全信息。其中,安全信息能够供商用密码检测系统解析其对应的区块链产品是否符合系统中预设的安全测试条件。
步骤S40,基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。
在本实施例中,智能合约中预设有多个预设检测条件,商用密码检测系统通过智能合约中的检测条件对交易信息进行解析,并输出基于该交易信息确定出的区块链产品的安全检测结果。
在本实施例提供的技术方案中,通过将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点,并将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中,在测试人员通过测试节点发起交易测试时,获取智能合约生成的交易信息,并基于智能合约中的预设检测条件解析该交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。能够根据国密算法标准快速对区块链产品进行检测,提高了对区块链产品的检测效率和检测准确度。
参照图3,在第二实施例中,基于第一实施例,所述步骤S40包括:
步骤S41,获取所述交易信息中的区块信息,并根据所述区块信息确定所述区块链产品是否符合第一检测条件;
步骤S42,当符合所述第一检测条件时,获取所述交易信息中的报文信息,并根据所述报文信息确定所述区块链产品是否符合第二检测条件;
步骤S43,当符合所述第二检测条件时,获取所述交易信息中的数字证书信息,并根据所述数字证书信息确定所述区块链产品是否符合第三检测条件;
步骤S44,当符合所述第三检测条件时,确定所述测试节点与原生节点之间的数据交换通道是否处于安全状态,其中,若处于所述安全状态,判断所述区块链产品符合第四检测条件;
步骤S45,当符合所述第四检测条件时,所述测试节点向所述区块链产品中的每一原生节点发起共识协议安全测试,并根据所述原生节点反馈的检测结果确定所述区块链产品是否符合第五检测条件;
步骤S46,当符合所述第五检测条件时,确定所述测试节点关联的智能合约是否存在部署权限,若存在所述部署权限,验证存在部署权限的所述智能合约中是否存在被篡改信息,若不存在所述被篡改信息,判断所述区块链产品符合第六检测条件;
步骤S47,当符合所述第六检测条件时,输出所述区块链产品符合预设检测条件的检测标准的安全检测结果。
可选地,在本实施例中,提供了六种基于国密标准指定的检测条件,其中,六种条件之间的执行关系是递进的,即满足第一个条件之后才执行下一个条件,直到六个条件都执行完成后才输出区块链产品符合预设检测条件的检测标准的安全检测结果。
首先,获取所述交易信息中的区块信息,并根据所述区块信息确定所述区块链产品是否符合第一检测条件。区块信息表征为该交易信息在区块链的区块中存储的位置,第一检测条件表征为根据区块信息对所述区块链产品的密码安全要求进行检测的条件。
可选地,第一检测条件可以为:对所述区块信息的默克尔树使用SM3算法进行验证;当所述默克尔树符合所述SM3算法验证时,验证所述测试节点和除所述测试节点外的其它节点的TLS安全信道是否建立成功;若建立成功,判断所述区块信息符合所述第一检测条件。
进一步的,当交易信息中的区块信息检测通过后,对交易信息中的报文信息是否符合第二检测条件进行检测,报文信息表征为在交易测试过程中除测试节点以外的其它节点发送的报文签名的格式信息。
可选地,第二检测条件可以为:确定报文信息中的报文签名格式是否符合国密算法标准库中的参考签名格式;当符合参考签名格式时,判断所述报文信息符合第二检测条件。
可选地,参考签名格式可以为《区块链密码应用技术要求》中规定的GB/T35276、GB/T35275、GB/T38635.1和GB/T38635.2格式。
进一步的,当交易信息中的报文信息检测通过后,对交易信息中的数字证书信息是否符合第三检测条件进行检测。
可选地,第三检测条件可以为:确定所述数字证书信息是否符合所述国密算法标准库中的参考证书格式;当符合所述参考证书格式时,判断所述数字证书信息符合所述第三审核条件。
可选地,参考证书格式可以为《区块链密码应用技术要求》中规定的GB/T20518格式。
进一步的,当交易信息中的数字证书信息检测通过后,对区块链的测试节点和原生节点之间的数据通道是否处于安全状态进行检测,若处于所述安全状态,判断所述区块链产品符合第四检测条件。
可选地,在一些实施方式中,判断数据通道是否处于安全状态进行检测可以为,使用wireshark等抓包工具,抓取节点之间的数据报文,然后确认报文协议是否符合GM/T0024-2014技术规范描述的国密算法安全通信,若符合,则判断数据通道处于安全状态,否则判断为未处于安全状态。
进一步的,当符合第四检测条件后,对测试节点和原生节点之间的共识协议安全进行检测,测试节点向所述区块链产品中的每一原生节点发起共识协议安全测试,并根据所述原生节点反馈的检测结果确定所述区块链产品是否符合第五检测条件。
具体的,测试节点向每一所述原生节点发起交易申请,确定各个所述交易申请中的交易总金额是否小于所述测试节点中的预存余额;若小于所述预存余额,则获取每一所述原生节点和所述测试节点之间根据所述交易申请生成的交易测试信息;确定各个节点之间记录的所述交易测试信息是否相同;当所述交易测试信息相同时,输出交易申请正常的检测结果,并根据所述检测结果判断所述区块链产品符合所述第五检测条件。其中,若各个节点记录的交易测试信息不同,或交易总金额大于预存余额时,输出申请异常的检测结果,并根据所述检测结果判断所述区块链产品不符合所述符合第五检测条件。
示例性地,在区块链产品满足第五检测条件时,其所应当出现的情况为:假设测试节点的余额为X,分别给原生节点A和原生节点B发起转账1元交易。当X大于2时,交易成功后,测试节点的余额应为X-2,交易记录包含两笔转账成功交易;当测试节点的余额1<X<2时,则只能有一笔交易成功,同时测试节点的余额应为X-1,交易测试信息中包含转账成功的那一笔交易,另一笔交易应不作为交易测试信息被记录;当测试节点余额X<1时,两笔交易都不应成功,测试节点的余额应仍未X,记录中不应记入交易成功信息。同时,检测各个节点的交易记录,在共识协议正常情况下,各个节点应同步交易记录并保持一致。若区块链产品不满足第五检测条件,则区块链产品存在“双花”现象,即一笔金额被用于支付两次或以上交易,从而判断该区块链产品的共识协商能力不符合要求。
进一步的,当符合第五检测条件后,对区块链产品的智能合约是否符合安全检测要求进行检测。确定所述测试节点关联的智能合约是否存在部署权限,若存在所述部署权限,验证存在部署权限的所述智能合约中是否存在被篡改信息,若不存在所述被篡改信息,判断所述区块链产品符合第六检测条件。
需要说明的是,这里的检测是在应用层对智能合约进行两次检测。第一次检测是检测该智能合约是否存在部署权限,即检测部署该智能合约的用户是否存在部署权限,若存在部署权限,则意味着智能合约可以部署至区块链产品中;第二次检测是对部署在区块链中的智能合约是否存在被篡改的记录,这一检测的目的是防止具有部署权限的用户对智能合约中的内容进行篡改。在一些情况下,有一些黑客在获取到智能合约部署缺陷时对区块链中的智能合约发起攻击,因此,为了避免这种情况发生,需要将智能合约中的当前信息与最初部署时的信息进行比对,若不一致则认为智能合约中存在被篡改信息,若一致,则判断智能合约未被篡改。
进一步的,在区块链产品均满足上述每一检测条件之后,则输出该预设检测条件的检测标准的安全检测结果,判断为该区块链产品符合安全标准。
下面对商用密码检测系统的整体流程进行示例性说明。
示例性地,第一步,商用密码检测系统在数据层对区块的默克尔树使用SM3算法验证,验证成功则SM3算法测试通过。第二步,在网络层验证测试节点和其他节点的TLS安全信道是否建立成功,成功则SM2算法和SM4算法验证通过,第一检测条件通过。第三步,测试节点验证其他节点发送的报文签名格式是否符合GB/T35276、GB/T35275、GB/T38635.1和GB/T38635.2格式要求,如果通过验证则数字签名要求检测通过。第四步,使用测试节点的数字证书验证模块验证区块链产品的数字证书是否符合数字符合GB/T20518要求,验证通过则证书管理要求通过检测。第五步,验证区块链测试节点和其他节点之间的数据交换通过安全通道则验证通过。第六步,在测试节点验证部署智能合约是否需要权限,同时验证篡改后的智能合约不能被部署,通过则该项测试通过。
可选地,当所述区块链产品不满足任一检测条件时,输出所述区块链产品不符合检测标准的安全检测结果。其中,安全检测结果中包含所述区块链产品不满足哪一个检测条件。
在本实施例提供的技术方案中,通过六种基于国密标准的预设的检测条件对区块链产品的安全性进行检测,直到六个条件都执行完成后才输出区块链产品符合预设检测条件的检测标准的安全检测结果,提高了对区块链产品的检测效率和检测准确度。
此外,参照图4,本实施例还提出一种商用密码检测系统,所述商用密码检测系统包括:
密码节点部署模块,用于将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;
智能合约部署模块,用于将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;
交易信息采集模块,用于获取所述区块链中通过所述智能合约生成的交易信息;
结果判断模块,用于基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。
此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被区块链产品检测设备中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有区块链产品的安全检测程序,所述区块链产品的安全检测程序被处理器执行时实现如上实施例所述的区块链产品的安全检测方法的各个步骤。
其中,所述计算机可读存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种区块链产品的安全检测方法,其特征在于,所述方法包括:
将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;
将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;
获取所述区块链中通过所述智能合约生成的交易信息;
基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。
2.如权利要求1所述的方法,其特征在于,所述基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果步骤包括:
获取所述交易信息中的区块信息,并根据所述区块信息确定所述区块链产品是否符合第一检测条件;
当符合所述第一检测条件时,获取所述交易信息中的报文信息,并根据所述报文信息确定所述区块链产品是否符合第二检测条件;
当符合所述第二检测条件时,获取所述交易信息中的数字证书信息,并根据所述数字证书信息确定所述区块链产品是否符合第三检测条件;
当符合所述第三检测条件时,确定所述测试节点与原生节点之间的数据交换通道是否处于安全状态,其中,若处于所述安全状态,判断所述区块链产品符合第四检测条件;
当符合所述第四检测条件时,所述测试节点向所述区块链产品中的每一原生节点发起共识协议安全测试,并根据所述原生节点反馈的检测结果确定所述区块链产品是否符合第五检测条件;
当符合所述第五检测条件时,确定所述测试节点关联的智能合约是否存在部署权限,若存在所述部署权限,验证存在部署权限的所述智能合约中是否存在被篡改信息,若不存在所述被篡改信息,判断所述区块链产品符合第六检测条件;
当符合所述第六检测条件时,输出所述区块链产品符合预设检测条件的检测标准的安全检测结果。
3.如权利要求2所述的方法,其特征在于,所述确定所述区块信息是否符合第一检测条件包括:
对所述区块信息的默克尔树使用SM3算法进行验证;
当所述默克尔树符合所述SM3算法验证时,验证所述测试节点和除所述测试节点外的其它节点的TLS安全信道是否建立成功;
若建立成功,判断所述区块信息符合所述第一检测条件。
4.如权利要求2所述的方法,其特征在于,所述确定所述报文信息是否符合第二检测条件包括:
确定所述报文信息中的报文签名格式是否符合所述国密算法标准库中的参考签名格式;
当符合所述参考签名格式时,判断所述报文信息符合所述第二检测条件。
5.如权利要求2所述的方法,其特征在于,所述确定所述数字证书信息是否符合第三检测条件包括:
确定所述数字证书信息是否符合所述国密算法标准库中的参考证书格式;
当符合所述参考证书格式时,判断所述数字证书信息符合所述第三审核条件。
6.如权利要求2所述的方法,其特征在于,所述测试节点向所述区块链产品中的每一原生节点发起共识协议安全测试,根据所述原生节点反馈的检测结果确定所述区块链产品是否符合第五检测条件包括:
所述测试节点向每一所述原生节点发起交易申请;
确定各个所述交易申请中的交易总金额是否小于所述测试节点中的预存余额;
若小于所述预存余额,获取每一所述原生节点和所述测试节点之间根据所述交易申请生成的交易测试信息;
确定各个节点之间记录的所述交易测试信息是否相同;
当所述交易测试信息相同时,向所述商用密码检测系统反馈交易申请正常的检测结果,以根据所述检测结果判断所述区块链产品符合所述第五检测条件。
7.如权利要求2-6任一项所述的方法,其特征在于,当所述区块链产品不满足任一检测条件时,输出所述区块链产品不符合检测标准的安全检测结果。
8.一种商用密码检测系统,其特征在于,所述商用密码检测系统包括:
密码节点部署模块,用于将带有国密算法标准库的测试节点部署至区块链中,作为所述区块链中商用密码检测系统的密码节点;
智能合约部署模块,用于将与待检测的区块链产品关联的智能合约,通过所述测试节点部署至所述区块链中;
交易信息采集模块,用于获取所述区块链中通过所述智能合约生成的交易信息;
结果判断模块,用于基于所述智能合约中的预设检测条件解析所述交易信息,并输出基于所述交易信息确定出的所述区块链产品的安全检测结果。
9.一种区块链产品检测设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的区块链产品的安全检测程序,所述区块链产品的安全检测程序被所述处理器执行时实现如权利要求1至7中任一项所述的区块链产品的安全检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有区块链产品的安全检测程序,所述区块链产品的安全检测程序被处理器执行时实现如权利要求1至7中任一项所述的区块链产品的安全检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211275557.7A CN115913564B (zh) | 2022-10-18 | 2022-10-18 | 区块链产品的安全检测方法、系统、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211275557.7A CN115913564B (zh) | 2022-10-18 | 2022-10-18 | 区块链产品的安全检测方法、系统、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115913564A true CN115913564A (zh) | 2023-04-04 |
CN115913564B CN115913564B (zh) | 2024-07-09 |
Family
ID=86487401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211275557.7A Active CN115913564B (zh) | 2022-10-18 | 2022-10-18 | 区块链产品的安全检测方法、系统、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115913564B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242651A (zh) * | 2020-02-28 | 2020-06-05 | 山东爱城市网信息技术有限公司 | 一种基于区块链的疫苗制造过程监管方法 |
CN112737779A (zh) * | 2020-12-30 | 2021-04-30 | 深圳市宝能投资集团有限公司 | 一种密码机服务方法、装置、密码机及存储介质 |
CN114024722A (zh) * | 2021-10-13 | 2022-02-08 | 杭州趣链科技有限公司 | 一种基于区块链的安全检测系统 |
US20220051238A1 (en) * | 2020-08-14 | 2022-02-17 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and apparatus for verifying commodities in batches based on blockchain, and electronic device |
WO2022057679A1 (zh) * | 2020-09-21 | 2022-03-24 | 中国电子科技网络信息安全有限公司 | 一种区块链系统应用智能合约安装部署管理方法 |
WO2022089237A1 (zh) * | 2020-10-29 | 2022-05-05 | 深圳壹账通智能科技有限公司 | 基于区块链的数值验证方法、装置、计算机设备和介质 |
CN114499823A (zh) * | 2021-12-29 | 2022-05-13 | 济南超级计算技术研究院 | 一种基于区块链的数据共享平台及方法 |
-
2022
- 2022-10-18 CN CN202211275557.7A patent/CN115913564B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111242651A (zh) * | 2020-02-28 | 2020-06-05 | 山东爱城市网信息技术有限公司 | 一种基于区块链的疫苗制造过程监管方法 |
US20220051238A1 (en) * | 2020-08-14 | 2022-02-17 | Alipay (Hangzhou) Information Technology Co., Ltd. | Method and apparatus for verifying commodities in batches based on blockchain, and electronic device |
WO2022057679A1 (zh) * | 2020-09-21 | 2022-03-24 | 中国电子科技网络信息安全有限公司 | 一种区块链系统应用智能合约安装部署管理方法 |
WO2022089237A1 (zh) * | 2020-10-29 | 2022-05-05 | 深圳壹账通智能科技有限公司 | 基于区块链的数值验证方法、装置、计算机设备和介质 |
CN112737779A (zh) * | 2020-12-30 | 2021-04-30 | 深圳市宝能投资集团有限公司 | 一种密码机服务方法、装置、密码机及存储介质 |
CN114024722A (zh) * | 2021-10-13 | 2022-02-08 | 杭州趣链科技有限公司 | 一种基于区块链的安全检测系统 |
CN114499823A (zh) * | 2021-12-29 | 2022-05-13 | 济南超级计算技术研究院 | 一种基于区块链的数据共享平台及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115913564B (zh) | 2024-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200106775A1 (en) | Method, device, system for authenticating an accessing terminal by server, server and computer readable storage medium | |
CN101650764B (zh) | 一种可信计算密码平台及其实现方法 | |
TWI541669B (zh) | Detection systems and methods for static detection applications, and computer program products | |
CN108347361B (zh) | 应用程序测试方法、装置、计算机设备和存储介质 | |
CN106453422B (zh) | 一种基于移动终端动态认证方法及系统 | |
CN104243474B (zh) | 电子设备真伪验证方法及装置 | |
CN113014539A (zh) | 一种物联网设备安全保护系统及方法 | |
CN113225324B (zh) | 区块链匿名账户创建方法、系统、设备及存储介质 | |
Braga et al. | Practical evaluation of static analysis tools for cryptography: Benchmarking method and case study | |
Nauman et al. | Using trusted computing for privacy preserving keystroke-based authentication in smartphones | |
CN115630355B (zh) | 密码模块的安全评测方法、安全评测设备以及存储介质 | |
Marforio et al. | Hardened setup of personalized security indicators to counter phishing attacks in mobile banking | |
WO2021174870A1 (zh) | 网络安全风险检测方法、系统、计算机设备和存储介质 | |
CN108234441B (zh) | 确定伪造访问请求的方法、装置、电子设备和存储介质 | |
CN110069415B (zh) | 用于软件测试过程中的软件完整性校验及软件测试方法 | |
CN111585995A (zh) | 安全风控信息传输、处理方法、装置、计算机设备及存储介质 | |
CN111222181B (zh) | Ai模型的监管方法、系统、服务器及存储介质 | |
US8549631B2 (en) | Internet site security system and method thereto | |
CN103699535B (zh) | 网页加载方法及终端设备 | |
CN109002441A (zh) | 应用名称相似度的确定方法、异常应用检测方法及系统 | |
CN106888094A (zh) | 一种签名方法及服务器 | |
CN106372523A (zh) | 一种modem文件安全保护方法及系统 | |
CN115913564B (zh) | 区块链产品的安全检测方法、系统、设备及可读存储介质 | |
Kabbani et al. | Towards an evaluation framework for SOA security testing tools | |
CN109145543A (zh) | 一种身份认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |