一种分布式AI协同计算系统的节点身份验证方法和系统与流程

文档序号:28501271发布日期:2022-01-15 04:56阅读:80来源:国知局
一种分布式AI协同计算系统的节点身份验证方法和系统与流程
一种分布式ai协同计算系统的节点身份验证方法和系统
技术领域
1.本发明涉及分布式系统技术领域,尤其涉一种分布式ai协同计算系统的节点身份验证方法和系统。


背景技术:

2.女巫攻击,即单一节点伪装为多个节点的集群模型攻击,女巫攻击产生的根本原因在于节点在提交局部ai模型或整体ai模型的校正参数时附上的计算机节点身份参数是固定格式。传统的身份标识方式是采用一个标识集合,这个标识集合可能包括操作系统标识、mac地址、ip地址、系统硬件参数等,不同分布式系统要求的参数类型和数量不同,但这些静态身份参数可以被各种手段伪造,比如数据包的拆解和再封。所以,目前为止,仍然有大量的伪造节点可以提供具有节点表示的局部ai模型或整体ai模型的校正参数,扭曲整体的ai模型或者控制ai模型的训练过程。需要有稳定可靠的计算机节点身份识别机制来确保分布式节点的真实身份。
3.现有的分布式ai协同计算领域中的计算机节点标识方案的核心问题或缺点在于其静态性和可破解性。节点身份标识一类方法是利用密码学方法在服务器核对节点对应的唯一秘钥,这种方式准确性高,但秘钥文件如果被窃取,则标识可以直接验证通过,而且服务器如果被攻克则各种秘钥匹配算法都会被窃取,更有利于伪造计算机节点。另一类是利用计算机硬件体系的唯一性标识的组合,比如cpu编号、mac地址、硬盘sn号等,但是这些标识缺乏统一的校验标准,而且攻击方完全可以克隆现实中存在的其他计算机节点的各种标识。现有的表示方法不能准确唯一的标识节点,因此不能准确的验证节点的身份。


技术实现要素:

4.鉴于上述的分析,本发明实施例旨在提供一种分布式ai协同计算系统的节点身份验证方法和系统,用以解决现有的分布式ai协同计算系统节点身份验证不准确的问题。
5.一方面,本发明实施例提供了一种分布式ai协同计算系统的节点身份验证方法,包括以下步骤:
6.中心服务器向各分布式节点发送身份验证指令;所述身份验证指令用于指示分布式节点执行实时运算能力验证任务;所述实时运算能力验证任务包括实时计算能力验证任务和/或实时存储能力验证任务;
7.各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,向中心服务器发送响应消息;所述响应消息包括任务完成时间和节点设备信息;
8.中心服务器接收所述响应消息,若接收到所述响应消息的时间超过预期时间,或所述任务完成时间与相同设备类型的真实节点完成所述实时运算能力验证任务的任务完成时间的差值大于预先设置的阈值,则将该节点认定为可疑节点;
9.对于可疑节点,中心服务器继续向其发送身份验证指令进行k次连续验证,并接收可疑节点每次返回的响应消息,按照上述步骤中的可疑节点认定方法,若每次均能够根据
响应消息认定该节点为可疑节点,则判断该节点为伪造节点。
10.上述技术方案的有益效果如下:通过采用实时运算能力来标识各分布式节点的身份,可以真实有效的唯一标识节点的身份,因此可以通过实时运算能力可以快速准确的识别伪造节点,从而避免采用虚拟化节点的形式伪造节点对ai分布式协同系统的攻击,保证系统的正常运行。采用计算和存储两个维度衡量节点的实时运算能力,更加全面准确的表示节点身份,进而可以更准确的识别伪造节点。
11.进一步地,所述实时计算能力验证任务包括浮点数四则运算任务,所述身份验证指令包括用于完成浮点数四则运算任务的随机计算类型和随机阶码。
12.上述技术方案的有益效果如下:采用浮点数运算任务作为实时计算能力验证任务,任务简单,不影响节点正常运行,同时由于随机计算类型和随机阶码,伪造节点难以根据伪造出对应的时间数据,因此可以有效的抵抗攻击,提高了伪造节点的识别准确性和效率。
13.进一步地,所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
14.分布式节点根据接收到的随机计算类型和随机阶码,进行对应阶码大小的浮点数的四则运算,完成计算任务;记录完成所述计算任务的时间,所述四则运算的类型为随机计算类型。
15.上述技术方案的有益效果如下:各分布式节点完成任务后只需要传输任务完成时间和设备类型给服务器,传输数据量小,通信带宽占用量小,不影响系统的正常运行。
16.进一步地,所述实时存储能力验证任务包括斐波那契数列存储任务;所述身份验证指令包括用于完成存储任务的随机数列上限和随机存储段起点。
17.进一步地,所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
18.分布式节点根据接收到的随机数列上限和随机存储段起点,计算得到对应的斐波那契数列的数值,在所述随机存储段起点位置存储所述斐波那契数列的数值并读取存储的所述数值,完成存储任务,记录完成所述存储任务的时间。
19.上述技术方案的有益效果如下:采用读写斐波那契数列的数值作为存储能力验证任务,任务简单不影响节点正常任务运行,同时由于随机指定数列上限和存储段起点,使得伪造节点无法提前运算,从而提高了伪造节点的识别准确度和效率。
20.另一方面,本发明实施例提供了一种分布式ai协同计算系统的节点身份验证系统,包括:
21.中心服务器,中心服务器向各分布式节点发送身份验证指令;所述身份验证指令用于指示分布式节点执行实时运算能力验证任务;所述实时运算能力验证任务包括实时计算能力验证任务和/或实时存储能力验证任务;
22.分布式节点,用于根据所述身份验证指令完成对应的实时运算能力验证任务,向中心服务器发送响应消息;所述响应消息包括任务完成时间和节点设备信息;
23.所述中心服务器,还用于接收所述响应消息,若接收到所述响应消息的时间超过预期时间,或所述任务完成时间与相同设备类型的真实节点完成所述实时运算能力验证任务的任务完成时间的差值大于预先设置的阈值,则将该节点认定为可疑节点;
24.所述中心服务器,还用于继续向可疑节点发送身份验证指令进行k次连续验证,并接收可疑节点每次返回的响应消息,按照上述步骤中的可疑节点认定方法,若每次均能够根据响应消息认定该节点为可疑节点,则判断该节点为伪造节点。
25.进一步地,所述实时计算能力验证任务包括浮点数四则运算任务,所述身份验证指令包括用于完成浮点数四则运算任务的随机计算类型和随机阶码。
26.进一步地,所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
27.分布式节点根据接收到的随机计算类型和随机阶码,进行对应阶码大小的浮点数的四则运算,完成计算任务;记录完成所述计算任务的时间,所述四则运算的类型为随机计算类型。
28.进一步地,所述实时存储能力验证任务包括斐波那契数列存储任务;所述身份验证指令包括用于完成存储任务的随机数列上限和随机存储段起点。
29.进一步地,所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
30.分布式节点根据接收到的随机数列上限和随机存储段起点,计算得到对应的斐波那契数列的数值,在所述随机存储段起点位置存储所述斐波那契数列的数值并读取存储的所述数值,完成存储任务,记录完成所述存储任务的时间。
31.本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
32.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
33.图1为本发明实施例分布式ai协同计算系统的节点身份验证方法的流程图;
34.图2为本发明实施例分布式ai协同计算系统的节点身份验证系统的框图。
具体实施方式
35.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
36.分布式ai协同计算领域中的节点身份采用能做什么,即实时运算能力来进行标识,是不随着服务器密钥验证算法或硬件出厂标识变动的,而且具有唯一真实性。对于攻击方来说,尤其是采用女巫攻击方式需要用一个节点虚拟化出多个虚拟节点,其各类标识甚至私钥都是可以伪造的,但是如果采用节点虚拟化,则同一节点要同时负担多个虚拟节点的计算任务,必然会造成计算资源拥堵,造成节点运算能力的下降或大幅波动,这种运算能力与硬件型号的偏差很容易被发现。
37.因此采用实时运算能力对节点进行验证可以准确的识别是否是伪造节点。
38.基于此,本发明的一个具体实施例,公开了一种分布式ai协同计算系统的节点身
份验证方法,如图1所示。方法包括以下步骤:
39.s1、中心服务器向各分布式节点发送身份验证指令;所述身份验证指令用于指示分布式节点执行实时运算能力验证任务;所述实时运算能力验证任务包括实时计算能力验证任务和/或实时存储能力验证任务。
40.分布式ai协同计算系统中各分布式节点向中心服务器提交局部模型或者整体模型的参数,若节点为伪造的节点,其提交的局部模型或者参数会导致整体模型出现偏差,扭曲整体的ai模型或者控制ai模型的训练过程,因此,在进行分布式ai协同任务中心服务器需要验证提交局部模型或参数的各分布式节点的身份,从而确保系统的正常运行。中心服务器定期的向各分布式节点广播身份验证指令,以验证节点身份。
41.为了更准确的识别各分布式节点的身份,本技术公开的实时运算能力验证任务包括实时计算能力验证任务和实时存储能力验证任务,通过从计算和存储两个维度标识节点的实时运算能力,真实节点的表示更加准确,相对的,对伪造节点的识别也更加准确。
42.s2、各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,向中心服务器发送响应消息;所述响应消息包括任务完成时间和节点设备信息。
43.各分布式节点收到身份验证指令后,根据指令内容完成对应的实时运算能力验证任务。
44.现有的计算能力测试方法如π推算都需要较长的时间计算,在需要频繁实时通信的分布式ai协同系统中会影响分布式节点的协同工作,因此并不适用。并且计算能力测试方法是固定的,不能根据当前系统的任务运行情况动态调整验证算法的测试时间难度,因而会影响系统的正常运行。
45.本技术的一个具体的实施例中,实时计算能力验证任务包括浮点数四则运算任务。此时,服务器发送的身份验证指令包括用于完成浮点数四则运算任务的随机计算类型和随机阶码。服务器发送计算能力验证任务时只需要发送随机计算类型和随机阶码,发送信息简单,不需要占用大量通信带宽。
46.对于同一个设备不同的浮点数计算类型,其运行时间不同,不同的浮点数阶码,其运行时间也不同,因此,通过随机计算类型和随机阶码一方面可根据系统当前的运行情况调整验证算法的测试时间难度,另一方面伪造节点也不能通过实机提前运算进行暴力测试来伪造数据。同时,由于节点只进行浮点数运算,计算任务简单,任务运算时间很小,不会影响正常节点的ai协同任务的运行。
47.所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
48.分布式节点根据接收到的随机计算类型和随机阶码,进行对应阶码大小的浮点数的四则运算,完成计算任务;记录完成所述计算任务的时间,所述四则运算的类型为随机计算类型。
49.例如,节点接收到随机计算类型为乘法,随机阶码为7686,浮点数的尾数可随机生成,对应阶码为7686,构建对应阶码大小的两个浮点数,进行浮点数的乘法运算。由于本技术测试的是节点的实时运算能力,只需要通过运算时间对节点的身份进行验证,不需要获取计算结果,因此,需要记录完成任务的时间,并将任务完成时间发送给中心服务器。在计算机的计算缓冲区内数字以二进制形式表达,对应吞吐和计算都是对每个二进制位数的遍
历,位阶定义了二进制的位数,而表达的尾数数字则是每个二进制位数开关状态的一个解读,实际上相差很大的数字可能在二进制处理过程中需要遍历的尾数的位数一样,所以这里的尾数不具有测试意义,不影响测试结果即cpu或gpu的计算时间,不需要指定。
50.具体的,所述实时存储能力验证任务包括斐波那契数列存储任务;所述身份验证指令包括用于完成存储任务的随机数列上限和随机存储段起点。
51.斐波那契数列的生成方式如下:
52.f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n≥2,n∈n*)
53.它的特点是计算操作元单一,复杂度很低,起始种子无需网络传输,给定一个n可以得到确定的值,而且可以无限生成。因此采用斐波那契数列的存储读写来验证节点的实时存储能力。
54.服务器发送存储能力验证任务时只需要发送数列上限n值,发送信息简单,不需要占用大量通信带宽。
55.所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
56.分布式节点根据接收到的随机数列上限和随机存储段起点,计算得到对应的斐波那契数列的数值,在所述随机存储段起点位置存储所述斐波那契数列的数值并读取存储的所述数值,完成存储任务,记录完成所述存储任务的时间。
57.各分布式节点接收到采用斐波那契数列的上限n之后,根据数列生成方法生成对应的最大数值,将最大数值存储其中,再将数值读出,完成实施存储能力验证任务,记录完成任务的时间。
58.对于不同的存储设备,从不同位置读取数据的时间是不同的。比如闪存通过地址hash快速读取指定位置的数据,而机械硬盘需要磁头从0扇区逐层遍历到指定位置,且每次io结束还要回到0扇区或专门的停靠区。所以对于不同类型的存储硬件,如果指定存储区域的地址,它们实现寻址的方式不同,导致io的时间在io数据内容长度之外,会出现更加明显的差异,这也是本发明寻求独特标识的原理。为了更进一步准确标识正常节点的运算能力从而准确识别伪造节点,身份验证指令还包括随机存储端段的起点,节点得到对应的斐波那契数列的数值后,将从随机存储端段的起点开始存储该数值。
59.对于同一个存储器,不同的数列上限n对应的数列最大值是不同的,存储器读写该数值时间也是不同的,同时存储在不同的位置上,读写时间也是不同的,因此一方面可根据系统当前的运行情况调整任务的测试时间难度,另一方面伪造节点也不能通过实机提前运算进行暴力测试来伪造数据。同时,由于节点只进行数据的存储,任务简单,任务运算时间很小,不会影响正常节点的ai协同任务的运行。
60.中心服务器发出的身份验证指令可以同时包括实时计算能力验证任务对应的指令和实时存储能力验证任务对应的指令,也可以根据实际情况选择其中一种。
61.各分布式节点完成实时运算能力验证任务后向中心服务器发送响应消息。
62.s3、中心服务器接收所述响应消息,若接收到所述响应消息的时间超过预期时间,或所述任务完成时间与相同设备类型的真实节点完成所述实时运算能力验证任务的任务完成时间的差值大于预先设置的阈值,则将该节点认定为可疑节点。
63.其中,真实节点为系统确认的可信任节点。分布式ai协同计算系统中真实节点的
个数为多个,其设备类型应覆盖系统中所有设备类型。即,对于任一个分布式节点的设备类型,都有至少一个真实节点的设备类型与其相同。
64.服务器在对分布式节点进行运算测试时,同时也会将相同的任务发给真实节点进行测试,真实节点按照步骤s2中的方法完成测试任务,向服务器返回响应消息。
65.服务器接收到各分布式节点返回的响应消息后,首先判断该响应消息返回的时间是否在预期时间内。若是通过虚拟化方式伪造节点,则需要伪造每个节点对应的任务数据,其伪造数据的时间会远超过正常节点运行测试任务的时间,因此可根据任务返回的时间首先进行判断。具体的,工作网络的丢包率、数据延迟率一般可以提前测得,在一定时期内视为常量。所以可以根据网络数据延迟率、服务器发出身份验证指令的时间以及响应消息中的各任务的完成时间可以得到接收响应消息的最小时间,由于系统误差等不可避免因素,可以在最小时间基础上增加一定的裕度比如10%时间作为误差补偿,得到预期时间,那么超出这个预期时间外的返回标识意味着有不合逻辑的处理或中转时间,其受篡改的可能性增加了,即此节点有伪造嫌疑,将此节点列为可疑节点。
66.进一步,根据响应消息中的任务完成时间验证节点的身份。对于相同的设备,运行同样的任务的时间只在小范围中波动,因此,可根据各节点的任务完成时间与相同设备类型的真实节点完成所述实时运算能力验证任务的任务完成时间的差值进行验证,若差值大于阈值,则此节点有伪造嫌疑,将此节点列为可疑节点。同一型号硬件生产过程由于工艺问题就会出现一定差异。同时,虽然本发明标识方法对系统功能的损耗很小,但完成也需要系统的调度和执行,如果节点当前的任务密度较高,因为任务过多操作系统中断次数太多,也会有额外的时间误差导入,及时相同的设备执行同样的任务其完成时间也是有差异。实施时,阈值可根据同类型设备本身的性能波动误差和节点的任务密集程度设置。比如某型号cpu同型性能波动达到6%,当前系统中节点的任务较密集,那么阈值设为10%比较合适,如果当前系统中节点的任务较少,接近于空载,则阈值可以设置为7%。
67.若同时对某一节点同时发送实时计算能力验证任务和或实时存储能力验证任务,则该节点的响应信息包括针对两种任务的响应信息,当有任意一种任务对应的响应信息的时间超过预期时间,或有任意一种任务完成时间的差值大于预先设置的阈值,则将该节点认定为可疑节点。
68.s4、对于可疑节点,中心服务器继续向其发送身份验证指令进行k次连续验证,并接收可疑节点每次返回的响应消息,按照上述步骤中的可疑节点认定方法,若每次均能够根据响应消息认定该节点为可疑节点,则判断该节点为伪造节点。
69.针对可疑节点,中心服务器可再次发送身份验证指令,使各可疑节点再次执行对应的实时运算能力测试任务。经过多次测试,若该节点每次都被列为可疑节点,即按照上述步骤中的可疑节点认定方法,若每次均能够根据响应消息认定该节点为可疑节点,则可确定其为虚拟化伪造节点。实施时,为了不影响系统的正常运行,k可设置为2-3次,若可疑节点均没有通过验证,则判定该节点为伪造节点。中心服务器可强制该节点下线,或不再接收该节点发送的模型或参数,从而防止其对系统的攻击。
70.需要说明的是,中心服务器和各分布式节点进行通信时均采用加密通信,具体的加密算法可协商确定。
71.另一方面,本发明实施例提供了一种分布式ai协同计算系统的节点身份验证系
统,包括:
72.中心服务器,中心服务器向各分布式节点发送身份验证指令;所述身份验证指令用于指示分布式节点执行实时运算能力验证任务;所述实时运算能力验证任务包括实时计算能力验证任务和/或实时存储能力验证任务;
73.分布式节点,用于根据所述身份验证指令完成对应的实时运算能力验证任务,向中心服务器发送响应消息;所述响应消息包括任务完成时间和节点设备信息;
74.所述中心服务器,还用于接收所述响应消息,若接收到所述响应消息的时间超过预期时间,或所述任务完成时间与相同设备类型的真实节点完成所述实时运算能力验证任务的任务完成时间的差值大于预先设置的阈值,则将该节点认定为可疑节点;
75.所述中心服务器,还用于继续向可疑节点发送身份验证指令进行k次连续验证,并接收可疑节点每次返回的响应消息,按照上述步骤中的可疑节点认定方法,若每次均能够根据响应消息认定该节点为可疑节点,则判断该节点为伪造节点。
76.优选地,所述实时计算能力验证任务包括浮点数四则运算任务,所述身份验证指令包括用于完成浮点数四则运算任务的随机计算类型和随机阶码。
77.优选地,所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
78.分布式节点根据接收到的随机计算类型和随机阶码,进行对应阶码大小的浮点数的四则运算,完成计算任务;记录完成所述计算任务的时间,所述四则运算的类型为随机计算类型。
79.优选地,所述实时存储能力验证任务包括斐波那契数列存储任务;所述身份验证指令包括用于完成存储任务的随机数列上限和随机存储段起点。
80.优选地,所述各分布式节点根据所述身份验证指令完成对应的实时运算能力验证任务,包括:
81.分布式节点根据接收到的随机数列上限和随机存储段起点,计算得到对应的斐波那契数列的数值,在所述随机存储段起点位置存储所述斐波那契数列的数值并读取存储的所述数值,完成存储任务,记录完成所述存储任务的时间。
82.上述方法实施例和系统实施例,基于相同的原理,其相关之处可相互借鉴,且能达到相同的技术效果。具体实施过程参见前述实施例,此处不再赘述。
83.本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
84.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1