基于联盟链的安全评测方法及系统与流程

文档序号:25489922发布日期:2021-06-15 21:54阅读:258来源:国知局
基于联盟链的安全评测方法及系统与流程

本发明涉及联盟链技术领域,尤其涉及基于联盟链的安全评测方法及系统。



背景技术:

在选择网络安全产品来进行网络安全保护之前需要对各类产品进行评测,通过测试从各类产品中评测出网络安全保护效果最好的产品。

目前的评测方式通常是将所有参加评测的产品的测试数据上传到测试平台,再对测试数据进行统计。由于所有的数据都需要集中存储到测试平台,因此测试数据很容易被篡改,导致测试数据的可信任性下降。

因此,针对以上不足,需要提供可信性更高的安全评测方法。



技术实现要素:

本发明要解决的技术问题在于,针对安全评测可信性不足的问题,提供基于联盟链的安全评测方法及系统。

第一方面,本发明实施例提供了基于联盟链的安全评测方法,包括:

评测方构建联盟链,其中,所述联盟链中包括至少两个节点;

每个参评方通过节点程序加入所述联盟链并占用已联盟节点;

所述评测方在所述联盟链中发布参赛样本数据;

每个参评方在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果;

每个参评方对其他参评方的分析结果的真实性进行验证;

当真实性校验通过时,所述评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩。

优选地,

每个参评方在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果之后,在每个参评方对其他参评方的分析结果的真实性进行验证之前,进一步包括;

每个参评方通过所述联盟链的公链将分析结果进行加密;

每个参评方将加密后的分析结果提交到所在联盟节点的api,以使联盟节点将加密后的分析结果发布到其他联盟节点。

优选地,

每个参评方将加密后的分析结果提交到所在联盟节点的api,以通过联盟节点的api将加密后的分析结果发布到其他联盟节点,包括:

通过预先设定的哈希算法对当前分析结果进行运算,获得相对应的哈希值;

利用所述联盟链的公钥对所述分析结果和所述哈希值进行加密,获得验证信息;

通过广播的形式,通过所在联盟节点的api将所述验证信息发送给所述联盟链中的其他联盟节点。

优选地,

每个参评方对其他参评方的分析结果的真实性进行验证,包括;

获取每个其他联盟节点对所述分析结果和哈希值的真实性进行验证的验证结果,其中,所述验证结果由相应的联盟节点根据分析结果和所述哈希值而获得,所述分析结果和所述哈希值由其他联盟链节点利用所述联盟链的公钥对所述验证信息进行解密而获得;

根据各个所述验证结果,在验证所述分析结果为真实信息联盟节点的个数占比大于预先设定的占比阈值时,确定所述分析结果为真实信息。

优选地,

所述验证信息中,还包括该联盟节点的身份信息,所述身份信息通过该联盟节点的私钥加密;

所述评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩之后,进一步包括:

在所述联盟链上发布测评结束通知;

每个所述参评方在通过其所在的联盟节点接收到所述测评结束通知时,将其身份信息和所在的联盟节点的私钥上传到所述评测方所在的节点;

所述评测方对每个参评方发来的身份信息和私钥判断当前参评方是否为有效参评方;

将每个所述有效参评方的私钥发布给其他有效参评方;

每个所述参评方在接收到其他联盟节点的私钥时,对其他联盟节点的验证信息进行解密,获得对应的身份信息;

对每个其他联盟节点的身份信息和对应分析结果进行统计,得到分析结果统计数据。

优选地,

所述评测方在联盟链中发布参赛样本数据,包括:

选择测评样本数据库,其中,该测评样本数据库中包括预设数量的不安全文件;

确定该测评样本数据库的uri信息;

利用所述uri信息和用于触发参评方进行分析的分析标识,生成参赛样本数据;

将所述参赛样本数据发布到所述联盟链中。

优选地,

每个参评方在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果,包括:

根据参赛样本数据中的uri信息,打开所述测评样本数据库;

对所述测评样本数据库进行分析,确定所述测评样本数据库中的至少一个疑似不安全文件及其名称;

根据所述至少一个疑似不安全文件,生成所述分析结果。

优选地,

所述评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩,包括:

对于每个分析结果,均执行:

确定当前分析结果中的至少一个疑似不安全文件;

确定至少一个疑似不安全文件是否与样本数据库中预设的不安全文件中的匹配情况;

根据所述匹配情况,得到所述当前分析结果对应的参评方的成绩。

第二方面,本发明实施例提供了根据上述第一方面中任一所述的基于联盟链的安全评测方法的安全评测系统,包括:评测方和至少一个参评方;

所述评测方,用于构建联盟链,其中,所述联盟链中包括至少两个节点;在所述联盟链中发布参赛样本数据;当真实性校验通过时,对每个参评方的分析结果进行评测,确定每个参评方的成绩;

每个参评方通过部署节点程序加入所述联盟链并占用已联盟节点;在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果;对其他参评方的分析结果的真实性进行验证。

优选地,

所述评测方用于选择测评样本数据库,其中,该测评样本数据库中

包括预设数量的不安全文件;确定该测评样本数据库的uri信息;利用所述uri信息和用于触发参评方进行分析的分析标识,生成参赛样本数据;将所述参赛样本数据发布到所述联盟链中。

本发明实施例提供了基于联盟链的安全评测方法及系统。评测方构建联盟链,联盟链中包括多个节点,评测方为联盟链上的第一个联盟节点,参加安全评测的每个参评方,通过节点程序加入到联盟链中,所述评测方在所述联盟链中发布参赛样本数据;每个参评方在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果;为了保证测评结果的真实性和有效性,每个参评方对其他参评方的分析结果的真实性进行验证;当真实性校验通过时,所述评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩。由此可见,由于使用了联盟链进行安全评测,联盟链的特性保证了所有联盟节点的数据都是一致的,各个参评方的分析结果都可以从联盟链上获取,分析结果一旦被篡改,各联盟节点都能够得知,从而保证了评测过程中的公正性。

附图说明

图1是本发明一实施例提供的基于联盟链的安全评测方法的示意图;

图2是本发明一实施例提供的基于联盟链的安全评测系统的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如前所述,在选择网络安全产品来进行网络安全保护之前需要对各类产品进行评测,通过测试从各类产品中评测出网络安全保护效果最好的产品。

目前的评测方式通常是将所有参加评测的产品的测试数据上传到测试平台,再对测试数据进行统计。由于所有的数据都需要集中存储到测试平台,因此测试数据很容易被篡改,导致测试数据的可信任性下降。

下面结合附图来对本发明各个实施例提供的基于联盟链的安全评测方法及系统作详细说明。

如图1所示,本发明一实施例提供了基于联盟链的安全评测方法,该方法包括以下步骤:

步骤101:评测方构建联盟链,其中,联盟链中包括至少两个节点;

步骤102:每个参评方通过节点程序加入联盟链并占用一联盟节点;

步骤103:评测方在联盟链中发布参赛样本数据;

步骤104:每个参评方在其所在的联盟节点对参赛样本数据进行分析,得到分析结果;

步骤105:每个参评方对其他参评方的分析结果的真实性进行验证;

步骤106:当真实性校验通过时,评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩。

具体地,评测方构建联盟链,联盟链中包括多个节点,评测方为联盟链上的第一个联盟节点,参加安全评测的每个参评方,通过节点程序加入到联盟链中,所述评测方在所述联盟链中发布参赛样本数据;每个参评方在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果;为了保证测评结果的真实性和有效性,每个参评方对其他参评方的分析结果的真实性进行验证;当真实性校验通过时,所述评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩。由此可见,由于使用了联盟链进行安全评测,联盟链的特性保证了所有联盟节点的数据都是一致的,各个参评方的分析结果都可以从联盟链上获取,分析结果一旦被篡改,各联盟节点都能够得知,从而保证了评测过程中的公正性。

区块链技术,本质上是一个去中心化的分布式数据库,区块链通过一致性算法保证数据的有效性,因为数是分布在各个点的所以保证了数据的公正性,所有维护数据的节点都能得到一个完整的副本,除非控制了50%以上的节点才能伪造数据,所以随着节点的增加数据的真实性也能得到保证。

联盟链,是区块链的一种使用场景,基于区块链的特点,通过将数据的验证功能赋予特定的几个节点来完成,解决了部署成本,使用于特定的行业换环境。

传统的测试pk方式,通常是将所有参赛者的数据上传到测试平台,然后进行测试统计,由于所有的数据都是集中存储的,所以一旦数据服务器被攻破,就会存在数据被篡改的风险。而使用区块链技术,每个参赛节点都保存着完整的数据,想要篡改数据需要控制50%以上的节点才行,这就保证了篡改数据的风险被降低,从而保证数据的可信任性。

在本发明一实施例中,每个参评方在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果之后,在每个参评方对其他参评方的分析结果的真实性进行验证之前,进一步包括;

每个参评方通过所述联盟链的公链将分析结果进行加密;

每个参评方将加密后的分析结果提交到所在联盟节点的api,以使联盟节点将加密后的分析结果发布到其他联盟节点。

可选地,该系统第一个联盟节点由评测方部署,并会发布一条主办方身份的数据结构a(标识自己是主办方),然后主办方在链上发布相关的pk数据结构b,即参赛样本数据,在联盟链上发布,能够保证每个参评方获取到的参赛样本数据都是相同的。举例来说,数据结构a包括评测方的身份id和数据类型值(对于数据结构a是表明身份的数据类型),如{id:”身份id”,type:”t1”},数据结构b包括身份者身份id,参赛样本数据的uri,数据类型值,如{id:”身份id”,type:”t2”,data:”uri值”}。联盟节点通过身份识别模块识别主办方,并获取其链上发布的参赛样本数据,参赛节点对样本数据进行分析,后将分析结果通过密钥加密,加密后的数据提交到联盟节点提供的api,联盟节点数据将数据发布到其它节点,等待其它联盟节点验证数据有效性后,数据会被持久化到链上。该步骤的目的是,各个参评方对真实性进行验证时,由于结果还没有公开,因此不会公开各个分析结果对应于哪个参评方,而仅是分析将各个分析结果是否真实,若存在不真实、不合理的分析结果,则有可能是被修改过的。

在本发明一实施例中,每个参评方将加密后的分析结果提交到所在联盟节点的api,以通过联盟节点的api将加密后的分析结果发布到其他联盟节点,包括:

通过预先设定的哈希算法对当前分析结果进行运算,获得相对应的哈希值;

利用所述联盟链的公钥对所述分析结果和所述哈希值进行加密,获得验证信息;

通过广播的形式,通过所在联盟节点的api将所述验证信息发送给所述联盟链中的其他联盟节点。

每个参评方对其他参评方的分析结果的真实性进行验证,包括;

获取每个其他联盟节点对所述分析结果和哈希值的真实性进行验证的验证结果,其中,所述验证结果由相应的联盟节点根据分析结果和所述哈希值而获得,所述分析结果和所述哈希值由其他联盟链节点利用所述联盟链的公钥对所述验证信息进行解密而获得;

根据各个所述验证结果,在验证所述分析结果为真实信息联盟节点的个数占比大于预先设定的占比阈值时,确定所述分析结果为真实信息。

具体地,在本发明实施例中,通过预先设定的哈希算法对分析结果进行运算而获得哈希值,进而利用所述联盟链的公钥对所述分析结果和所述哈希值进行加密获得验证信息,之后将验证信息广播给联盟链中的其他联盟节点。其他联盟节点在接收到验证信息后,首先通过联盟链的公钥对验证信息进行解密而获得运维信息和哈希值,之后通过上述哈希算法对解密出的运维信息进行运算而获得参考哈希值,如果参考哈希值与解密出的哈希值相同,则会给出运维信息为真实信息的验证结果。在获取到各个验证结果后,如果认为运维信息是真实信息的其他联盟节点的个数占比大于预先设定的占比阈值,则确定分析结果为真实信息,否则确定分析结果不是真实信息。

首先通过预先设定的哈希算法对分析结果进行运算而获得哈希值,其他联盟节点通过将该哈希值和运算出的参考哈希值进行对比,可以验证分析结果是否为伪造或已经被篡改,从而保证真实性和安全性。另外,使用联盟链的公钥对运维信息和哈希值进行加密而获得验证信息,如果能够利用联盟链的公钥对验证信息进行解密,说明验证信息的来源可信,从而可以保证验证结果的可信性。

在本发明一实施例中,所述验证信息中,还包括该联盟节点的身份信息,所述身份信息通过该联盟节点的私钥加密;

所述评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩之后,进一步包括:

在所述联盟链上发布测评结束通知;

每个所述参评方在通过其所在的联盟节点接收到所述测评结束通知时,将其身份信息和所在的联盟节点的私钥上传到所述评测方所在的节点;

所述评测方对每个参评方发来的身份信息和私钥判断当前参评方是否为有效参评方;

将每个所述有效参评方的私钥发布给其他有效参评方;

每个所述参评方在接收到其他联盟节点的私钥时,对其他联盟节点的验证信息进行解密,获得对应的身份信息;

对每个其他联盟节点的身份信息和对应分析结果进行统计,得到分析结果统计数据。

具体地,测评结束后,测评方可以提供一个身份识别模块,该模块提供一个api,参赛者需要提交自己的密钥信息到该api,然后由身份识别模块将数据发布到节点上。参赛节点从链上获取测评方发布的参赛者标识及密钥,就可以统计出各个参赛者的参赛成绩,具体的统计规则由测评方提供,测评方可以提供一个统计模块,该模块从链上获取参赛者数据,并使用堆成密钥解密进行结果统计。参赛者发布比赛结束通知,通过特定的数据结构c完成,如{id:”身份id”,type:”t3”},当收到测评方的测评结束通知时,主动提交参评方的身份和密钥,通过数据结构d来完成,如:{id:”身份id”,sec:”密钥值”,type:”t4”}。数据结果包含但不限于这些值。

在本发明一实施例中,所述评测方在联盟链中发布参赛样本数据,包括:

选择测评样本数据库,其中,该测评样本数据库中包括预设数量的不安全文件;

确定该测评样本数据库的uri信息;

利用所述uri信息和用于触发参评方进行分析的分析标识,生成参赛样本数据;

将所述参赛样本数据发布到所述联盟链中。

具体地,在本发明实施例中,为了检验每个参评方的安全保护能力,需要进行具体的测试。选择测评样本数据库,测评样本数据库中包括一些不安全文件,测评方需要查找出这些不安全文件。确定测评样本数据库的uri信息,利用所述uri信息和用于触发参评方进行分析的分析标识,生成参赛样本数据,如前文中所述的数据结构b。最后将所述参赛样本数据发布到所述联盟链中。

在本发明一实施例中,每个参评方在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果,包括:

根据参赛样本数据中的uri信息,打开所述测评样本数据库;

对所述测评样本数据库进行分析,确定所述测评样本数据库中的至少一个疑似不安全文件及其名称;

根据所述至少一个疑似不安全文件,生成所述分析结果。

所述评测方对每个参评方的分析结果进行评测,确定每个参评方的成绩,包括:

对于每个分析结果,均执行:

确定当前分析结果中的至少一个疑似不安全文件;

确定至少一个疑似不安全文件是否与样本数据库中预设的不安全文件中的匹配情况;

根据所述匹配情况,得到所述当前分析结果对应的参评方的成绩。

具体地,如前文中所述,测评样本数据库中包括一些不安全文件,每个参评方确定疑似不安全文件,与预设的不安全文件进行匹配,看是否查找出了所有的不安全文件,有没有出现漏查或者错查的情况,通常来说,漏查或者错查的情况出现的越少,成绩就越高。

综上所述,在软件评测中,测评方搭建联盟节点中的第一个节点负责发布自己的身份(如果有多个测评方,就发布多条)。

所有参评方通过测评方提供的联盟节点程序加入到联盟链中,然后测评方通过将测试样本数据地址发布到联盟链上,联盟节点通过特定的数据类型下载对应的测试样本数据,参评方获取到测试样本对样本进行样本分析,并将分析结果上传到联盟节点,联盟节点数据模块负责测试结果发布到链上。

测试结束后,测评方节点会发布测试结束通知,参评方几点收到该通知,自动上传自己的身份和密钥,然后测评方根据上传的信息判断哪些是有效的参评方,然后发布他们的身份和密钥。

此时任何一个节点都可以通过身份和密钥进行统计结果,区块链的特性保证了所有节点的数据都是一致的,所以无论参评方自己统计,还是测评方统计只要使用测评方发布的统计规则,结果一定是一致的,而且整个参赛过程的数据,都可以从链上获取,所以参赛过程的公正性可以得到保障。

如图2所示,本发明一实施例提供了基于上述任一实施例所述的基于联盟链的安全评测方法的安全评测系统,包括:评测方201和至少一个参评方202;

所述评测方201,用于构建联盟链,其中,所述联盟链中包括至少两个节点;在所述联盟链中发布参赛样本数据;当真实性校验通过时,对每个参评方202的分析结果进行评测,确定每个参评方的成绩;

每个参评方202通过部署节点程序加入所述联盟链并占用已联盟节点;在其所在的联盟节点对所述参赛样本数据进行分析,得到分析结果;对其他参评方202的分析结果的真实性进行验证。

在本发明一实施例中,所述评测方用于选择测评样本数据库,其中,该测评样本数据库中包括预设数量的不安全文件;确定该测评样本数据库的uri信息;利用所述uri信息和用于触发参评方进行分析的分析标识,生成参赛样本数据;将所述参赛样本数据发布到所述联盟链中。

上述系统内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明各个实施例与现有技术相比,具有以下优点和进步:

1.该测试通过唯一的身份认证模块保证,参赛者身份唯一。

2.借助区块链的特点保证数据具有:时序性、透明性、不可篡改性,测试过程中公钥加密,保证数据不被测试者看到。

3.整个过程可以根据评测机构预测规则生成测试结果,测试结束后,通过测试机构发布参赛者密钥,公开测试过程,保证数据公正。e)测试结果可以由参赛者根据测试系统发布的私钥和测试规则自行生成测试结果,并验证真实性。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1