A Key Exchange Optimization Scheme Based on Tree Parity Machine
-
摘要: 树形奇偶机(TPM)之间的相互同步学习能够用于实现密钥交换方案,方案的安全性取决于树形奇偶机的结构参数。为了得到使得密钥交换方案安全性高且计算量小的参数,该文提出基于树形奇偶机的密钥交换优化方案。首先,定义向量化的学习规则,提高树形奇偶机同步学习的时间效率。其次,改进针对树形奇偶机同步学习的合作攻击算法,使其能够自适应参数的变化。最后,通过仿真实验对方案进行了效率和安全性测试。实验结果表明,树形奇偶机的向量化能使同步时间减少约90%,但不会减少同步所需的步数,即不影响方案的安全性。在可用于生成512 bit固定长度密钥的结构参数中,(14, 14, 2)被合作攻击攻破的概率为0%,所需同步时间较少。因此,所提密钥交换优化方案是安全高效的。Abstract: Synchronization of Tree Parity Machines (TPM) by mutual learning can be used to achieve key exchange schemes. The security of the scheme depends on the structure parameters of TPM. In order to obtain the parameters that make the key exchange scheme more secure and less computation, a key exchange optimization scheme based on TPM is proposed. Firstly, the learning rules of vectorization are defined to improve the efficiency of synchronization of TPM. Secondly, the cooperating attack algorithm for synchronization of TPM is improved to make it adaptive to the change of parameters. Finally, the efficiency and security of the scheme are tested by simulation experiment. The simulation results show that the vectorization of TPM can reduce the synchronization time by about 90%, which does not reduce the number of steps required for synchronization and affect the security. Among the parameters that can be used to generate 512 bit fixed length key, the probability of (14, 14, 2) being attacked by cooperating attack is 0%, and the synchronization time is less. Therefore, the proposed key exchange optimization scheme is secure and efficient.
-
Key words:
- Cryptography /
- Key exchange /
- Artificial neural network /
- Tree Parity Machine(TPM) /
- Mutual learning
-
1. 引言
近年来,无线传感器网络已广泛应用于农业、交通、环境监测等领域[1]。为解决能量问题,一些学者提出采用移动设备(Mobile Equipment, ME)携带电能通过无线能量传输技术[2]为传感器节点进行能量补充,采用这种方式的无传感器网络(Wireless Sensor Network, WSNs)称为无线可充电传感器网络(Wireless Recharging Sensors Networks, WRSNs)[3]。同时,由于节点的能量有限,大量监测数据通过多跳传输将很快耗尽节点的能量,一些学者提出采用ME移动至节点处收集数据,大大减少了数据传输的能耗[4]。
为更进一步解决能量问题,一些学者将上述方法进行结合,在网络中分别部署带无线充电功能的ME和带数据收集功能的ME。Wang等人[5]提出数据收集和充电分别使用不同的ME,通过K-means算法进行网络划分来最小化数据收集时延。文献[6]针对大规模WSN提出锚点选择算法,并使用拉格朗日对偶方法进行问题求解。Wang等人[7]提出了使用一个数据采集设备和多个充电设备的设备调度策略,降低了网络延迟。
由于无线充电和无线数据传输所使用的频段不同,所以可以同时进行充电和数据收集,即可以使ME既具备无线充电能力又兼备数据收集功能。Guo等人[8,9]提出了一种联合无线充电及数据收集的分布式算法,在保证网络数据正常传输的前提下延长网络的寿命。Xie等人[10]提出了一种近似算法将整个网络的能耗降到最低。Zhao等人[11,12]提出了联合充电和收集数据框架,在保证数据正常传输的约束下,延长了网络的寿命。
然而,上述研究基本都是将充电规划和数据收集分开处理,对于分别部署无线充电设备和数据收集设备的研究来说,分别规划了两种设备的移动路径、充电策略和数据收集策略;对于移动设备兼备充电及数据收集功能的研究,一般是先根据传感器节点的充电需求来规划移动设备路径,再根据路径来进行数据收集。实际上,在规划ME的移动策略时应同时考虑传感器节点对电能的需求以及对数据传输的请求,这是一个多目标优化问题。
本文联合考虑充电及数据收集两个维度,建立多目标优化模型并设计算法进行问题求解。与前人研究相比,本文的创新之处在于:(1)在ME兼备无线充电及数据收集功能时,同时考虑最大化充电效率及最小化数据收集时延两个目标,建立了多目标优化模型;(2)在ME携带的能量有限且采用一对多方式进行无线充电和数据收集的前提下,设计了ME的移动策略和充电策略;(3)本文设计了基于虚拟节点的多目标蚁群优化充电规划(Virtual Node Multi-Objective Ant Colony, VN-MOAC)算法对该问题进行求解。
2. 问题描述及建模
在2维区域D内部署有无线可充电传感器网络,网络内有1个充电服务站CS、1个ME、
n 个无线传感器节点S={s1,s2,···,sn} ,i∈[1,n],i∈Z ,si 表示编号为i 的传感器节点。各节点部署后不再移动,每个节点的地理位置坐标已知;传感器节点的电池容量为Emax ,为了保证节点能够正常工作,节点的电量不能低于Emin ,初始时所有节点的电量均为Emax 。移动设备ME的充电半径为
r ,数据收集半径为R ,以一对多的方式为传感器节点充电,移动速度为v 。ME携带的行驶能量和充电能量分别为EM 和EC ,在网络中游走会消耗行驶能量,为节点充电时会消耗充电能量。按照文献[13]的方式,假设网络由边长为r 的全等正六边形组成的虚拟蜂窝网格覆盖,每个正六边形组成一个小区(cell), ME移动到每个小区的中心后停留在该位置给本小区内的节点充电并收集数据。本文的网络模型如图1所示。假设蜂窝网格中包含传感器节点的小区的集合为
H ,对这些小区进行重编号,第k 个小区(k=1,2,···,|H| ,k∈Z )内包含的传感器节点的集合记为Hk ,显然有|H|⋃k=1Hk=S, Hk⋂H′k=∅ (1) 当ME进入第
k 个小区后,会在小区中心停留并通过无线方式对该小区内的传感器节点进行充电,对于第k 个小区内的传感器节点hki (hki∈Hk ),节点到中心的距离为dki ,则有Uki=Uη(dki) (2) 其中,
Uki 为节点hki 的充电接收功率,U 为ME的无线充电发射功率,充电效率函数η(dki) 是一个与距离有关的减函数[14]。由于ME携带的能量有限,并不一定能保证到达每个小区都能够为小区内的节点都充满电,假设ME到达第k 个小区的中心时的时刻为t , ME在小区内停留的时间为τk ,小区k 中节点hki 的当前电量为eki(t) ,由于ME在小区中心停留的时间长短影响小区内传感器节点的充电时长,并且当节点电量充满至Emax 后电量将不再上升,因此可能会出现以下3种情况:(1)停留时间很短,小区内所有的节点均未充满;(2)停留时间很长,小区内所有的节点均已充满;(3)停留时间介于前两者之间,此时,有的节点被充满,有的节点还没有被充满,被充满的节点将保持电量Emax 。从时刻t 开始,节点从当前电量eki(t) 充满至Emax 需要的时间τ 满足τ=Emax−eki(t)Uη(dki)−pki (3) 其中,
pki 为节点hki 的能量消耗率,对于小区k 中的所有节点,均可根据式(3)求出各自的时间τ ,令ak=minτ ,bk=maxτ ,则有当停留时间τk 满足τk<ak 时所有节点均未充满电,当τk≥bk 时所有节点均已充满电,当ak≤τk<bk 时有部分节点已经充满,有部分节点还未充满,其关系满足eki(t+τk)={eki(t)+Uη(dki)τk−pkiτk,τk<akEmax或eki(t)+Uη(dki)τk−pkiτk,ak≤τk<bkEmax,τk≥bk (4) Emin≤eki(t)<eki(t+τk)≤Emax (5) 对于传感器节点采集的数据,当ME到达小区中心时,同步收集传感器节点的数据。在实际应用中,ME不可能频繁为网络中的传感器节点充电和数据收集,大部分时间里ME停留在服务站休整并接收节点的数据请求[15]。第
k 个小区内的传感器节点的数据请求时间记为tki (1≤i≤|Hk| ),tk 时刻ME到达该小区收集数据,数据收集的时间忽略不计,则该小区内传感器节点数据收集的时延为Δτki=tk−tki (6) 从上述分析可以看出,传感器节点的充电需求取决于其自身的能量消耗情况,数据请求则取决于应用需求,并且每个小区内的传感器节点的充电需求和数据传输请求不同,此时ME的移动路径需同时考虑以上两个因素。为衡量ME的充电性能,希望ME携带的充电能量和行驶能量应尽量为传感器节点服务,然而由于ME携带能量有限,在从服务站出发后经一系列小区最后返回服务站时均可能剩余部分能量,因此应最大化ME的能量利用率
ϕ ,其中L 表示完成对所有小区的传感器节点充电任务时ME返回服务站的次数。ϕ=L∑i=1EiC+EiMEC+EM (7) 同时,为衡量ME的数据收集性能,应最小化网络中传感器节点的数据时延,本文采用网络中所有传感器节点的平均时延
¯Δτ 来刻画。¯Δτ=1N|H|∑j=1|Hk|∑i=1Δτki=1N|H|∑j=1|Hk|∑i=1(tk−tki) (8) 最大化ME的充电效率和最小化数据收集时延这两个目标均与ME的行驶路径和充电时间有关,ME在某一小区内停留时间长则该小区内的节点能量补充充分,节点的寿命将延长,但这会造成其他小区内节点的数据时延变大,这两个目标存在矛盾。因此本文的优化问题OPT-D为
Obj:argminQ,τiF= {ϕ−1,¯Δτ},s.t. 式(1)−式(5) 。其中,ME的行驶路径Q 和每个传感器节点的充电时间τi 为变量,Emax ,Emin ,EM ,EC ,pki ,U ,tki ,v 等均为已知量。3. 算法设计
本节将设计算法求解优化问题OPT-D。首先分析OPT-D的复杂性,可将其规约为经典的带距离约束的车辆路径问题(Vehicle Routing Problem, VRP)来证明该问题属于NP-Hard问题。将OPT-D问题转化为判定性描述后,对于任意给定的可行ME移动路径及在每个小区的停留时间,可以从服务站开始依次求得ME到达各个小区的时间,进而可以计算优化目标值
ϕ 和¯Δτ ,该验证过程的时间复杂度为o(n) ,则OPT-D问题可在多项式时间复杂度验证。然后令PM=1 ,Δτki=0 ,η(dki)=1 ,v=1 ,则可构建OPT-D问题与带距离约束的VRP的规约关系,规约过程的时间复杂度为o(n) 。可以看出,带距离约束的VRP是OPT-D问题的特例,特例属于NP-Hard问题,因此OPT-D问题属于NP-Hard问题。3.1 路径规划策略
由于ME的行驶能量有限,不能采用文献[13]中的方式,通过一条以服务站为起点和终点且经过所有小区的Hamilton回路来为节点充电,因此本文的路径规划允许当ME的行驶能量不足时多次返回服务站进行能量补充。如图2所示,路径规划由一系列连续的调度
Cr 组成,每个调度满足网络中所有节点均被充电1次。每个调度包含1个驻站过程和若干连续的工作轮。根据文献[6]ME的驻站比(在服务站的驻站时间与调度总时间的比值)越大,ME的充电效果越好。假设ME的驻站时间是固定的且相对较长,数据收集时间可忽略不计。每个工作轮ME从服务站出发访问一部分小区并为其中的节点充电及收集数据,当行驶能量不足时返回服务站,各个工作轮所服务的小区不同。在调度中节点的能量均要满足大于Emin 。设ME在调度
Cr 中的第u (1≤u≤L )个工作轮的路径为Qu=(π0,π1,π2,···,πmu,π0) ,则可以求得该调度的总行驶时间τtsp 满足式(9),其中π0 代表服务站CS,τutsp 表示ME在第u 个工作轮的行驶时间,mu (mu∈Z )表示该工作轮中遍历的小区中心的数量。τtsp=L∑u=1τutsp=L∑u=1(mu∑j=0Dπj,πj+1v+Dπmu,π0v) (9) 进而可以得出该调度内ME消耗的行驶总能量和充电总能量分别满足式(10)和式(11)。
EM=PMτtsp=L∑u=1PMτutsp (10) EC=Uτc=L∑u=1mu∑k=1Uτuk (11) 3.2 均衡化充电策略
对于充电时间,ME的充电能量也是有限的,为了将ME携带的充电能量补充到各个传感器节点,应尽量使各个节点寿命均衡,文献[16]提出了一对一充电的均衡化充电策略,本节在此基础上设计了一对多充电的均衡化充电策略,该策略通过最小化所有节点剩余生命的方差来确定在各个小区的充电时间。
在任意时刻
t ,小区k 中的传感器节点i 的剩余生命lki(t) 为lki(t)=eki(t)−Eminpki (12) 根据式(12)和式(4),可以得出当
tk 时刻ME行驶到小区k 的中心并在该小区停留时长为τk 时,在(tk+τk )时刻小区内的节点的剩余生命lki(tk+τk) 及其他小区h (h=1,2,···,|H| ,h∈Z )内的节点j 的剩余生命lhj(tk+τk) 。进而可以得出在(tk+τk )时刻,网络中所有节点的剩余生命的均值¯l(tk+τk) 满足式(13)¯l(tk+τk)=1N[|H|−1∑h≠k|Hh|∑j=1lhj(tk+τk)+|Hk|∑i=1lki(tk+τk)](13) 则可以求得在(
tk+τk )时刻网络中所有节点剩余生命的方差s2(tk+τk) 为s2(tk+τk)=1N{|H|−1∑h≠k|Hh|∑j=1[lhj(tk+τk)−¯l(tk+τk)]2+|Hk|∑i=1[lki(tk+τk)−¯l(tk+τk)]2} (14) 式(14)是关于
τk 的一元二次方程,通过方差最小化可以得出在每个小区中心的停留时间τk ,但由于被充电小区内的节点的剩余生命是关于停留时间的分段函数,这会导致式(14)的求解很困难。因此本文将ME停留的小区中心点近似为一个虚拟节点来求解充电时间。虚拟节点的消耗功率
pk ,tk 时刻的剩余能量ek(tk) 、最小电量E′min 均与节点的接收功率函数相关,所以这里采用小区k 中的节点的带权均值来虚拟为虚拟节点的ek(tk) ,pk 及E′min ,即pk=1|Hk||Hk|∑i=1pkiη−1(dki),ek(tk)=1|Hk||Hk|∑i=1eki(tk)η−1(dki),E′min=1|Hk||Hk|∑i=1Eminη−1(dki) (15) 则可以得出虚拟节点
ψk 的剩余生命及其他虚拟节点ψh 的剩余生命lk(tk+τk)=ek(tk)+U⋅τk−Eminpk (16) lh(tk+τk)=eh(tk)−ph⋅τk−Eminph (17) 代入式(13)、式(14)可得在(
tk+τk )时刻,网络中所有节点的剩余生命的均值¯l(tk+τk) 和方差s2(tk+τk) 。此时,最小化方差即可求出ME在每个小区的停留时间。通过最小化方差可以使节点之间的剩余生命尽量均衡,但方差仅反映波动情况,可能会出现方差很小但是网络中的能量整体下降的情况,如果这种情况一直持续,则会导致网络过早死亡,为此需引入约束式(18),如果该约束导致无解,直接将节点充满电,此时即使将传感器节点充满电也无法使网络平均寿命大于充电前的平均寿命。¯l(tk+τk)−¯l(tk)≥0 (18) 3.3 问题求解
本文设计了一种基于虚拟节点的多目标蚁群优化充电规划算法(VN-MOAC)对问题进行求解。VN-MOAC算法主要是对状态转移策略和信息素更新策略进行了改进。在状态转移策略的设计中,综合考虑了信息素浓度、节点之间的距离以及节点的剩余生命,避免了算法陷入局部最优。设蚂蚁的总数量为
m ,初始时刻蚂蚁k(k=1,2,···,m) 从服务站出发选择不同的小区进行路径选择,蚂蚁k 访问完小区i 后按式(19)选择下一小区j 。j={argmaxj∈adk{[σij(t)]α[μij(t)]β[ωij(t)]γ},q≤q0rs(adk),其它 (19) 其中,
adk 表示蚂蚁k没有访问过的小区集合,rs(adk) 表示在adk 集合中随机选择一个小区;σij(t) 是第t 轮蚂蚁k从小区i 到小区j 的路径上的信息素浓度;μij(t)=1/dij ,dij 为小区i 到小区j 之间的欧式距离;ωij(t)=1/lijlife(t) ,lijlife(t) 表示访问完小区i 后到达小区j 时小区j 对应的虚拟节点的剩余生命时间。在信息素更新策略中,本轮的信息素根据上一轮的残留信息素和精英蚂蚁在路径上留下的信息素进行更改,第
t+1 轮的信息素浓度按照式(20)进行更新。σij(t+1)=(1−ρ)σij(t)+∑k∈UBP(t)Δσkij(t) (20) 其中,
ρ (ρ∈(0,1) )为信息素的挥发系数,Δσkij(t) 表示精英蚂蚁k 在路径(i,j) 上产生的信息素浓度,可由式(21)求得,BP(t) 表示优化问题的Pareto解集,UBP(t) 为Pareto解集BP(t) 对应的精英蚂蚁集合。Δσkij(t)={ξ⋅ϕk¯Δτk⋅Lk⋅DkQ,蚂蚁k经过路径(i,j)0, 其它 (21) 其中,
ξ 为调节因子,ϕk 和¯Δτk 分别表示精英蚂蚁k 求得的总能量利用率和平均时延,Lk 和DkQ 分别表示1次调度中返回服务站的次数和行驶路径长度。3.4 算法复杂度分析
VN-MOAC算法的主要步骤是计算状态转移和信息素更新。计算状态转移主要是计算式(19),该过程的时间复杂度为
O(|H|2m) ,其中,|H| 为小区数量,m 为蚂蚁的个数;计算信息素更新主要是计算式(20)和式(21),求得Pareto解集中的精英蚂蚁集合的时间复杂度为O(m2Blgm2B) ,其中,B 为目标函数的个数,在此基础上更新每只精英蚂蚁行驶路径上的信息素时间复杂度为O(|H|2m2Blg|H|2B) 。因此,算法的时间复杂度为O(|H|2m+|H|2m2B ⋅lgm2B) 。4. 仿真结果及分析
4.1 参数设置
在
1000m×1000m 的区域内布置50个传感器节点,服务站位于坐标(0m,0m) 处。仿真工具是MATLAB R2016a。仿真时选取的参数为Emax= 10.8kJ ,Emin=540J [10],EM=20kJ ,EC=20kJ ,v=8m/s ,U=10W ,PM=100W ,pi=0.01∼ 1W ,采用文献[14]中的充电效率函数。VN-MOAC算法相关参数为:最大迭代次数M=150 ,m=20 ,q0=0.8 ,ρ=0.4 。此外,根据文献[16]给定状态转移策略的权重系数α=1 ,β=5 ,γ=4 。为验证本文算法的有效性和性能,在3种场景下进行实验验证,L1场景为节点随机分布,L2场景为大部分节点集中于区域中心,L3场景为大部分节点集中在某一处,3种场景基本涵盖了无线传感器网络的一般情况。L1:随机布置50个节点; L2:按有界帕累托分布[17]布置50个节点且热点位于
(0m,0m) ; L3:按有界帕累托分布布置50个节点,热点位于(800m,800m) 。对比算法选用NSGA-II算法[18],每种场景独立运行50次实验。同时,为验证本文算法的收敛性能,选取随机布置的50个节点和100个节点进行收敛性对比分析,其中节点坐标及其所属小区的数据均来自文献[13],统计50次实验的平均值进行分析。本文所解决的是多目标优化问题,对比分析主要考虑以下几个指标:(1)目标值:ME的总能量利用率
ϕ 越高以及数据传输的平均时延¯Δτ 越低,算法性能越好;(2)Pareto解的个数RN :RN 越大,算法性能越好;(3)Pareto解集的均匀性SP :描述Pareto解集在目标空间中的分布范围,SP 的值越小,解的分布越均匀,算法性能越好;(4)Pareto解集的分布范围M∗3 :衡量Pareto前沿的分布范围,M∗3 的值越大,算法性能越好。4.2 实验结果分析
实验数据统计如表1和图3所示,表1展示了3种场景下各性能指标的最优值、最差值、平均值和中值。VN-MOAC算法的ME总能量利用率
ϕ 最高值达到了95.85%,高于NSGA-II算法。3种场景下VN-MOAC算法得到的平均时延¯Δτ 最优值要比NSGA-II算法分别缩短了8.19%, 34.58%, 11.29%。VN-MOAC算法中,Pareto解集的个数RN 的平均值比NSGA-II算法分别增加了44.73%, 30.77%, 45.94%, Pareto最优解的均匀性SP 的平均值优于NSGA-II算法23.74%, 5.96%, 7.81%。在Pareto最优解的分布范围M∗3 方面可以看出,VN-MOAC算法和NSGA-II算法搜索到的解的分布都比较均匀,而且解分布的范围也较广。实验结果表明本文提出的VN-MOAC算法在各个场景下的性能均优于NSGA-II算法。表 1 VN-MOAC算法和NSGA-II算法计算结果比较指标 网络场景 ϕ (%) ¯Δτ (s) RN SP M∗3 VN-MOAC NSGA-II VN-MOAC NSGA-II VN-MOAC NSGA-II VN-MOAC NSGA-II VN-MOAC NSGA-II 最优值 L1 94.02 92.31 1663.82 1812.30 45 29 38.50 45.67 392.65 378.86 L2 88.94 85.78 769.24 1176.02 35 25 161.93 180.14 391.60 342.24 L3 95.85 93.36 1608.94 1813.72 49 27 85.69 105.50 373.73 294.36 最差值 L1 75.98 73.75 5184.72 5361.46 26 17 790.03 883.10 31.59 20.73 L2 69.30 67.16 3784.31 3898.69 18 13 794.47 869.26 42.25 24.29 L3 76.35 71.24 5197.55 5408.48 21 12 690.69 726.31 83.73 73.19 平均值 L1 85.01 83.47 3145.27 3359.45 38 21 389.43 510.69 192.43 167.94 L2 80.17 75.44 2189.46 2411.95 26 18 391.85 416.68 220.62 202.72 L3 85.98 82.76 3268.98 3333.71 37 20 363.16 393.92 187.60 166.90 中值 L1 84.86 82.84 3137.80 3145.03 38 22 410.53 527.60 125.62 95.47 L2 82.34 74.66 2285.31 2329.71 27 19 352.32 406.76 204.86 171.06 L3 87.81 82.48 3308.81 3365.68 38 21 347.66 384.47 182.56 172.99 3种场景下本文算法和NSGA-II算法的Pareto解的个数
RN 、Pareto解集的均匀性SP 以及分布范围M3*的性能统计如图3所示,图3(a), 3(b), 3(c)为随机分布场景L1的各个性能指标对比图,图3(d), 3(e), 3(f)为偏中心分布场景L2的各个性能指标对比图,图3(g), 3(h), 3(i)为偏热点分布场景L3的各个性能指标对比图,可以看出本文算法在各个场景下的性能均优于NSGA- II算法。图4展示了50个节点和100个节点下算法的收敛性对比分析情况,从图中可以看出,在120代之后50个节点和100个节点下算法均收敛,但100个节点的50组实验中最优Pareto解集中解的个数的平均值明显低于50个节点的实验,这是因为本文问题属于组合优化问题,当网络规模增大时其可行解空间变小,满足条件的Pareto解的数量将减少。同时,两组实验中每代的运行时间不同,100个节点的总运行时间长于50个节点,这是由于随着网络规模的增加计算量增大导致运行时间变长。
图5展示了VN-MOAC算法求解本问题在不同迭代次数下的Pareto前沿,算法在迭代120次之后得到的Pareto前沿的变化不大,前沿分布较为均匀,前沿部分出现的间断部分是由于本文研究的问题属于组合优化问题,可行解空间不连续造成的。
5. 结束语
本文首次提出基于多目标优化的无线传感器网络移动充电和数据收集算法,在ME的行驶能量和充电能量分开且有限的非理想情况下,采用一对多的方式为节点充电和收集节点数据,设计了ME路径规划策略、均衡化充电策略,并设计了VN-MOAC算法对本文问题进行求解。仿真表明,本文算法在3种网络场景下的各项性能指标均优于NSGA-II算法。本文算法适用于中小规模网络,在大规模网络应用场景下,需要采用多个ME进行协作充电和数据收集,下一步将研究多ME充电和数据收集问题。
-
表 1 变量说明
变量 描述 K 隐藏层神经元数量 N 输入神经元数量 L 神经元权重所能取的最大值 LBIN L的二进制值的比特长度 average_steps 平均每次神经密钥交换所需的同步步数 average_time 平均每次神经密钥交换所需的同步时间 X 随机输入向量 tauA Alice的vTPM的输出 tauE 攻击者Eve的vTPM的输出 M 合作攻击者的数量 Steps 同步的步数 PGeometric 几何攻击的成功概率 PCooperating 合作攻击的成功概率 表 2 参数组合
K N LBIN L 4 64 2 1 4 43 3 2或3 4 32 4 4或5或6或7 5 52 2 1 5 35 3 2或3 5 26 4 4 6 43 2 1 6 29 3 2或3 6 22 4 4 7 37 2 1 7 25 3 2或3 8 28 2 1 8 19 3 2或3 9 29 2 1 9 19 3 2或3 10 26 2 1 10 18 3 2或3 11 24 2 1 11 16 3 2或3 12 22 2 1 12 15 3 2或3 13 20 2 1 13 14 3 2或3 14 19 2 1 14 14 3 2或3 表 3 效率测试算法(算法1)
输入:K, N, L 输出:average_steps, average_time (1) total_steps, total_time ← 0 (2) FOR i ←0 TO s DO (3) Alice 用参数K,N,L初始化树形奇偶机 (4) Bob 用参数K,N,L初始化树形奇偶机 (5) steps ← 0 (6) 将当前时间赋值给start_time (7) WHILE 没有达到同步状态 DO (8) 生成随机输入向量{\boldsymbol{X}} (9) Alice 用{\boldsymbol{X}}计算自己的输出结果 (10) Bob用{\boldsymbol{X}}计算自己的输出结果 (11) IF tauA == tauB THEN (12) Alice根据指定学习规则更新权值 (13) Bob 根据指定学习规则更新权值 (14) steps ← steps + 1 (15) 将当前时间赋值给end_time ← current time (16) 计算每次同步时间each_time ← end_time –
start_time(17) 更新总步数total_steps ← total_steps + steps (18) 更新总时间total_time ← total_time +
each_time(19) 计算平均同步步数average_steps ← total_steps/s (20) 计算平均同步时间average_time ← total_time/s (21) END 表 4 安全性测试算法(算法2)
输入:tauA, tauE, Eve, m, steps, average_steps 输出:PCooperating (1) IF steps % 2 == 0 and steps >= average_steps/3 THEN (2) FOR i ← 0 TO m DO (3) IF tauA!= tauE[i] THEN (4) Eve[i] 更新隐藏层输出 (5) 选择出现次数最多的隐藏层输出 (6) FOR i ← 0 TO m DO (7) 将出现次数最多的隐藏层输出赋值给Eve[i] (8) Eve[i]根据学习规则更新权值 (9) ELSE (10) FOR i ← 0 TO m DO (11) IF tauA == tauE THEN (12) Eve[i]根据学习规则更新权值 (13) ELSE (14) Eve[i] 更新隐藏层输出 (15) Eve[i] 根据学习规则更新权值 (16) END 表 5 向量化方法对比
方案 向量化方法 适用编程语言 优化参数 安全性测试 文献[16] NumPy库 Python — — 本文 定义向量化学习规则 不限 (14, 14, 2) √ 表 6 仿真结果(1000次)
(K, N, L) 平均步数 平均时间(s) 几何攻击
成功率(%)合作攻击
成功率(%)(K, N, L) 平均步数 平均时间(s) 几何攻击
成功率(%)合作攻击
成功率(%)(4, 64, 1) 51.742 0.0192 34.4 99.1 (9, 19, 2) 333.006 0.1527 0 0.1 (4, 43, 2) 179.083 0.0606 17.4 51.9 (9, 19, 3) 1218.468 0.6346 – – (4, 43, 3) 456.675 0.6967 7.1 28.4 (10, 26, 1) 78.488 0.0600 6.8 74.4 (4, 32, 4) 870.972 0.3276 3.9 19.8 (10, 18, 2) 359.298 0.3080 0 0.2 (4, 32, 5) 1493.557 0.4359 1.7 14.8 (10, 18, 3) 1297.029 0.6672 – – (4, 32, 6) 2325.563 1.2867 – – (11, 24, 1) 80.759 0.0849 4.0 67.4% (5, 52, 1) 58.071 0.0208 28.1 97.8 (11, 16, 2) 369.292 0.2557 0 0 (5, 35, 2) 228.839 0.0985 6.1 22.3 (11, 16, 3) 1296.374 0.4165 0 0 (5, 35, 3) 696.446 0.2577 0.6 6.4 (11, 12, 4) 2676.733 0.7485 – – (5, 26, 4) 1661.632 1.2144 – – (12, 22, 1) 83.801 0.0415 4.0 64.6 (6, 43, 1) 65.541 0.0327 19.5 94.6 (12, 15, 2) 382.903 0.1292 0 0 (6, 29, 2) 280.347 0.2733 2.6 8.1 (12, 15, 3) 1265.186 0.3841 0 0 (6, 29, 3) 950.247 0.7407 – – (12, 12, 4) 2886.052 0.8301 – – (7, 37, 1) 68.821 0.0344 14.0 93.6 (13, 20, 1) 84.482 0.0270 3.7 60.2 (7, 25, 2) 303.197 0.2187 0.7 1.9 (13, 14, 2) 381.464 0.1429 0 0 (7, 25, 3) 1117.517 1.0476 – – (13, 14, 3) 1281.136 0.5002 – – (8, 32, 1) 72.327 0.0303 9.9 85.9 (14, 19, 1) 86.002 0.0602 2.6 58.6 (8, 22, 2) 328.483 0.1181 0.2 0.6 (14, 14, 2) 388.856 0.1219 0 0 (8, 22, 3) 1197.173 0.8345 – – (14, 14, 3) 1380.606 0.6708 – – (9, 29, 1) 76.621 0.0801 7.7 82.7 -
[1] 蒋瀚, 刘怡然, 宋祥福, 等. 隐私保护机器学习的密码学方法[J]. 电子与信息学报, 2020, 42(5): 1068–1078. doi: 10.11999/JEIT190887JIANG Han, LIU Yiran, SONG Xiangfu, et al. Cryptographic approaches for privacy-preserving machine learning[J]. Journal of Electronics &Information Technology, 2020, 42(5): 1068–1078. doi: 10.11999/JEIT190887 [2] ALANI M M. Applications of machine learning in cryptography: A survey[C]. The 3rd International Conference on Cryptography, Security and Privacy, Kuala Lumpur, Malaysia, 2019: 23–27. [3] KANTER I, KINZEL W, and KANTER E. Secure exchange of information by synchronization of neural networks[J]. Europhysics Letters, 2002, 57(1): 141–147. doi: 10.1209/epl/i2002-00552-9 [4] KINZEL W and KANTER I. Interacting Neural Networks and Cryptography[M]. KRAMER B. Advances in Solid State Physics. Berlin: Springer, 2002: 383–391. [5] KLIMOV A, MITYAGIN A, and SHAMIR A. Analysis of neural cryptography[C]. The 8th International Conference on the Theory and Application of Cryptology and Information Security, Queenstown, New Zealand, 2002: 288–298. [6] SHACHAM L N, KLEIN E, MISLOVATY R, et al. Cooperating attackers in neural cryptography[J]. Physical Review E, 2004, 69(6): 066137. doi: 10.1103/PhysRevE.69.066137 [7] RUTTOR A, KINZEL W, and KANTER I. Neural cryptography with queries[J]. Journal of Statistical Mechanics: Theory and Experiment, 2005, 2005: P01009. doi: 10.1088/1742-5468/2005/01/P01009 [8] ALLAM A M, ABBAS H M, and EL-KHARASHI M W. Authenticated key exchange protocol using neural cryptography with secret boundaries[C]. 2013 International Joint Conference on Neural Networks, Dallas, USA, 2013: 1–8. [9] PAL S K and MISHRA S. An TPM based approach for generation of secret key[J]. International Journal of Computer Network and Information Security, 2019, 11(10): 45–50. doi: 10.5815/ijcnis.2019.10.06 [10] DONG Tao and HUANG Tingwen. Neural cryptography based on complex-valued neural network[J]. IEEE Transactions on Neural Networks and Learning Systems, 2020, 31(11): 4999–5004. doi: 10.1109/TNNLS.2019.2955165 [11] SARKAR A. Multilayer neural network synchronized secured session key based encryption in wireless communication[J]. IAES International Journal of Artificial Intelligence, 2019, 8(1): 44–53. doi: 10.11591/ijai.v8.i1.pp44-53 [12] SARKAR A, DEY J, KARFORMA S, et al. Notice of retraction coupled tree parity machines: Synchronized secured session key based encryption in online transaction[J]. Aptikom Journal on Computer Science and Information Technologies, 2019, 4(1): 27–36. doi: 10.11591/APTIKOM.J.CSIT.133 [13] 肖成龙, 孙颖, 林邦姜, 等. 基于神经网络与复合离散混沌系统的双重加密方法[J]. 电子与信息学报, 2020, 42(3): 687–694. doi: 10.11999/JEIT190213XIAO Chenglong, SUN Ying, LIN Bangjiang, et al. Double encryption method based on neural network and composite discrete chaotic system[J]. Journal of Electronics &Information Technology, 2020, 42(3): 687–694. doi: 10.11999/JEIT190213 [14] SABALLUS B, VOLKMER M, and WALLNER S. Secure group communication in Ad-Hoc networks using tree parity machines[C]. Communication in Distributed Systems-15. ITG/GI Symposium, Bern, Switzerland, 2007: 1–12. [15] SANTHANALAKSHMI S, SANGEETA K, and PATRA G K. Design of group key agreement protocol using neural key synchronization[J]. Journal of Interdisciplinary Mathematics, 2020, 23(2): 435–451. doi: 10.1080/09720502.2020.1731956 [16] CHOURASIA S, CHAKRAPANI H B, DAS Q, et al. Vectorized neural key exchange using tree parity machine[J]. Compusoft: An International Journal of Advanced Computer Technology, 2019, 8(5): 3140–3145. [17] WALTER É S, FUERTES W, and LASCANO E. On the development of an optimal structure of tree parity machine for the establishment of a cryptographic key[J]. Security and Communication Networks, 2019, 2019: 8214681. doi: 10.1155/2019/8214681 [18] BOS J, COSTELLO C J, DUCAS L, et al. Frodo: Take off the ring! Practical, quantum-secure key exchange from LWE[C]. The 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 2016: 1006–1018. [19] RUTTOR A. Neural synchronization and cryptography[D]. [Ph.D. dissertation], Universität Würzburg, 2006. [20] MISLOVATY R, PERCHENOK Y, KANTER I, et al. Secure key-exchange protocol with an absence of injective functions[J]. Physical Review E, 2002, 66(6): 066102. doi: 10.1103/PhysRevE.66.066102 [21] KINZEL W. Theory of Interacting Neural Networks[M]. BORNHOLDT S and SCHUSTER H G. Handbook of Graphs and Networks: From the Genome to the Internet. Weinheim, Germany, Wiley, 2003: 199–220. [22] DANIEL R M, RAJSINGH E B, and SILAS S. An efficient eCK secure identity based Two Party Authenticated Key Agreement scheme with security against active adversaries[J]. Information and Computation, 2020, 275: 104630. doi: 10.1016/j.ic.2020.104630 期刊类型引用(0)
其他类型引用(14)
-