敌手能力有限时基于生成对抗网络的保密增强

2021-07-22 17:02李西明吴嘉润吴少乾
计算机与生活 2021年7期
关键词:密钥保密卷积

李西明,吴嘉润,吴少乾

1.华南农业大学 数学与信息学院,广州 510000

2.暨南大学 计算机科学系,广州 510632

保密增强是由Bennett 等人在文献[1]中提出,文献[2]加以推广。保密增强是指通信双方Alice 和Bob在共享一个部分保密的串S 且敌手Eve 只知道该串的部分信息的情况下,通过在公共信道上进行协商来提取一个更短的但是高度保密的串S′,使Eve关于S′的信息几乎可以忽略。保密增强方面的研究在近年来也有一些进展,文献[3]通过增大计算能力的差距,保证接收方与敌手接收到的信息量差距随时间变大,实现了单信道加密通信;文献[4]在无保护的持续信道下,重复地通过Merkle 谜题产生新的密钥,并且使用上一次解开的密钥对最新的谜题进行加密,从而实现防御多样本的攻击。

生成对抗网络(generative adversarial networks,GANs)是由生成器与判别器所组成,其核心在于生成器和判别器之间的博弈。生成器生成虚假的数据,而判别器负责辨别数据真伪。两者通过博弈后生成器能够生成以假乱真的数据。自Goodfellow 等人[5]提出后,GANs 被广泛地应用于各个领域,并且取得了很好的效果。特别是在计算机视觉方面的应用,包括利用物体2D 图片进行3D 重构[6]、利用人脸图片生成年龄增长时各年龄段的人脸图片[7]等。另外,在信息检索[8]、文本生成[9]等领域中也取得了令人瞩目的成果。

2016 年Google Brain 团队Abadi 等人[10]利用生成对抗网络进行了安全通信方面的研究。该通信模型由通信双方Alice、Bob 以及窃听方Eve 组成。Alice与Bob 的通信通过共同的密钥对明文进行加密解密。窃听方Eve 在没有密钥的情况下窃听Alice 与Bob 之间的通信信息。在模型训练的过程中,Alice与Bob 双方要保证能够通过相同密钥进行正常通信的情况下,抵抗Eve 对通信内容的窃听。Eve 则需要通过训练尽量准确地破解出Alice 与Bob 之间传递的明文。在对抗训练后得到一个能够抵抗窃听的加密通信模型。李西明等人[11]基于Abadi等人的模型进行改进,利用生成对抗网络的方法初步实现了对称密钥下的模糊密钥加密通信方案,同时,他们对文献[11]的模型继续改进[12],实现了密钥泄漏情况下的安全通信,发现了利用对抗网络实现抗泄漏加密通信的可能性。Gomez 等人[13]以CycleGAN 思想为基础,提出了CipherGAN 模型,对移位密码[14]和维吉尼亚密码[15]进行破译,表明模型可用于推断未成对明文和密文库的底层密码映射。

本文研究使用生成对抗网络来解决在敌手通信能力或计算能力受限的情况下保密增强的问题。本文首先设计了基于生成对抗网络的保密增强的基本架构,然后使用文献[10]的Alice 和Eve 的基本模型,设置神经网络输入为80 位的通信信息,输出结果为16 位的密钥。对通信双方及敌手的神经网络模型进行增加全连接层、修改激活函数方面的改进,改进后的神经网络模型通过对抗训练可实现保密增强的通信。本文贡献主要有以下两点:

(1)结合保密增强的概念,以神经网络的思路实现该概念,设计相应的网络框架。

(2)利用生成对抗网络的对抗学习机制模拟通信双方与敌手的对抗关系,进行对抗训练,最终利用通信双方的密钥一致性来体现出保密增强功能。

1 技术背景

GANs 由两个独立的部分组成:生成器G(z)和鉴别器D(x)。生成器的目标是基于随机变量z~pz(z)生成真实的数据样本,而鉴别器的任务是将真实的数据样本x~pdata(x)与生成的样本~pg(x)区分开来。这两个模型以一种对抗的方式训练,本质上是玩一个两人游戏,目标是收敛到纳什均衡。同时,D和G的训练可以表示为关于值函数V(G,D)的极小化极大的双方博弈问题:

Abadi等人在其论文[10]中利用神经网络构建加密通信模型中的通信双方Alice 与Bob 以及敌手Eve,使用GANs 的原理进行对抗训练得到敌手存在时的加密通信模型。

其工作场景如图1 所示。Alice 需要向Bob 发送一条信息,信息为明文P(Plaintext)。Alice 通过密钥K(key)对明文P进行加密得到密文C(ciphertext)。密文C传递给Bob 的过程中,Eve 能够准确地获得密文C。Bob 通过密文C与密钥K解密得到PBob,而Eve 通过密文C解密得到消息PEve。Alice 和Bob 组成的加密解密模型与Eve 敌手模型进行对抗训练,两者互相学习提升,最终使得PBob=P,而PEve与P存在尽可能大的差异。

Fig.1 Alice,Bob and Eve in symmetric encryption system图1 对称加密系统中的Alice、Bob 和Eve

Fig.2 Alice,Bob and Eve structures of neural network图2 神经网络Alice、Bob 和Eve结构

Abadi 等人实验所使用的Alice 与Bob 的神经网络模型相同,而Eve 比Alice 与Bob 多一层全连接神经网络,如图2 所示。Alice 的输入为明文P以及密钥K,输出为密文C。Bob 的输入为密文C以及密钥K,输出为消息PBob。Eve 的输入为密文C,输出为消息PEve。通过对抗训练后,Alice 的加密能力得到增强,相应地Bob 的解密能力也得到提升,最后能够保证PBob=P。同时Eve 解译的消息PEve只有一半的内容是与P吻合的,说明其解密结果与随机生成数据的情况相似,并未获得更多有用的信息。

2 保密增强的模型设计

保密增强的应用场景需要假设敌手在计算或通信这两方面的某一方面弱于通信双方,因此从两个方向展开。首先设计出实验采用的基础模型,然后根据不同的应用场景修改基础模型。

2.1 基础模型设计

在一般的保密增强场景中,如图3 所示,Alice 与Bob 进行公开信道上的通信,两者之间所交流的信息Information 被Eve 所窃听,即:对某个很小的ε>0,式H(S′|Z=z)≥lb|S′|-ε以很高的概率成立,其中Z代表Eve 所知道的关于S′的全部信息,z是Eve 所知道的Z的某个具体值[11-12]。Alice 与Bob 在交流一段时间后通过两者交流的内容各自提取一份保密的密钥,且两者提取的密钥相同,同时需要保证Eve 无法准确通过窃听的交流内容合成密钥。

Fig.3 Security enhancement scenario diagram图3 保密增强场景图

本文受Abadi 等人启发,设计了保密增强模型。为了简化模型,更利于模型训练,在图3 的场景图基础上进行了修改。剔除了Alice 与Bob 之间的交流过程,只保留密钥生成的部分,提出了新的模型场景图,如图4 所示。

Fig.4 Experimental scene diagram图4 实验场景图

Alice 和Bob 共享一份弱保密的信息,Eve 掌握了这份信息的一部分信息,而这份信息是Alice 与Bob交流过程中产生的数据,利用这些数据经过神经网络模型的训练得到密钥一致性,以此实现保密增强的功能。随机生成Information 作为数据输入,Alice、Bob 与Eve 分别产生密钥KAlice、KBob和KEve,密钥均由16 个数值的数组组成,Information 由80 个数的数组组成。为方便模型训练,Information 的每一个位的数取为1 或-1,密钥的每一个位的数取[-1,1]之间的值。

由于实验中Alice 与Bob 均需保证生成的密钥两者之间相同,而且与Eve 的尽量有差异,Alice 与Bob可以是完全相同的两个模型,最终实现中复制Alice模型作为Bob 模型,因而本文的实验中只对Alice 和Eve进行训练。

模型中采用Adam 优化器进行优化,进行20 轮的迭代训练,每一轮中迭代训练2 000 次,在每一次训练中,生成器和判别器的MiniBatch-Size 的比例为1∶2,因此,假设n为迭代轮数的大小,m为每一轮的训练次数,经分析可以得到实验的时间复杂度为O(2nm)。Alice 通过训练保证生成的密钥与Eve生成的密钥差异尽量得大,而Eve 在训练的过程中尽力生成与Alice 更为接近的密钥。两者在此过程中不断地进行对抗训练,最终达到模型训练的目标,即实现Alice 与Eve 生成的密钥只有一半的内容是相同的,即Eve 在生成密钥的过程中纯粹是猜测,无法从交流信息Information 中提取有效的信息。

实验中的模型结构图如图5 所示,模型的输入只有Information,而在Abadi等人设计的模型中Alice是有两个输入的,因此需要对Alice 的模型进行修改。把Alice 的输入端修改成一个输入,并且Eve 的模型采用与Alice 相同的结构,卷积层均采用了Same padding 方法进行填充,每一层的激活函数如图5所示。

Fig.5 Structure of neural network Alice and Eve图5 神经网络Alice与Eve的结构

为了对保密增强造成的解密损失进行评估,本文给出了Eve损失率计算公式,具体见式(1)。其中,N为密钥K的长度。因为密钥各位取值为1或-1,损失率衡量的是KEve与KAlice相同的位差的平均值,因此LEve的取值范围为[0,2]。

以下为Alice损失计算的方法,见式(2)。

Alice 的损失是判别LEve是否接近于1,由于接近1 时代表着Eve 的密钥正确率只有一半,说明Eve 处于随机猜测状态,学习到的信息较少。因此Eve 学习到的信息越少,Alice的损失也就越小。

2.2 通信能力受限敌手

若要假设敌手的通信能力受限,可以假设敌手在获取Information 时出现遗漏,敌手Eve 只能从部分的信息中解析密钥。需要在2.1 节模型的基础上修改Eve 的Information 输入,使其能够获取原本信息的50%、70%和85%,并分别进行实验。

2.3 计算能力受限敌手

若要假设敌手计算能力较差,通过增强Alice 的计算能力以此达到效果。因此在2.1 节模型(即图5所示)的基础上,增强Alice 模型的复杂度。将激活函数为tanh 的全连接神经网络添加到第一层中,同时修改前3 层卷积激活函数为Leaky relu,即模型结构由两层全连接神经网络和4 层卷积神经网络组成。由于最后一层的激活函数会影响最终输出结果的值域,因此不予以修改。

3 保密增强模型实验

本文的实验环境为64 位的Linux 系统,3.40 GHz的Intel i7-6800K CPU 处理器,利用Python3 进行实现。本文作为概念验证实验,采用由1 和-1 组成的随机生成串作为初始数据,利用Tensorflow 的Adam 优化器对训练过程进行不断的迭代优化,模型的学习速率设为0.000 8。

3.1 通信能力受限敌手

根据2.2 节设计相应模型,然后进行通信能力受限敌手的保密增强实验,最终实验的结果如图6所示。

Fig.6 Loss when enemy Eve gains partial information图6 敌手Eve获得部分信息时的损失

实验表明在Eve 获得85%的信息时并不能保证通信双方能协商出安全的密钥,Eve 的损失是0.7 即Eve 能够破解的信息可以达到65%,因此通信环境是不安全的。当Eve 获取70%信息时,Eve 的损失可以提升到0.8,相比获取85%信息时安全性有一定的提升。当Eve 获得50%的信息时,能够保证Eve 的损失维持在1,即能够保证Eve 破解的信息仅有50%,因此Eve处于随机猜测状态,并未解开密钥。

虽然模型在Eve 获得50%信息时运行的效果尚可,但是由前面的实验图可知模型的损失非常不稳定,波动很大,甚至有从损失为1 瞬间降到0 的情况。

考虑到卷积网络所使用的激活函数为relu 函数,该函数容易出现神经网络神经元死亡,而引发训练停滞的情况,有可能是模型损失波动大的原因。因此把Alice 与Eve 的卷积网络的relu 激活函数均改为Leaky relu。Leaky relu 能够保证神经网络避免出现神经元死亡的现象,而死亡神经元出现原因在文献[16]中已指出,损失图如图7 所示。

Fig.7 Loss diagram after using Leaky relu function图7 使用Leaky relu 函数后的损失图

实验结果表明,在使用了Leaky relu 函数后整个模型的损失稳定了下来,并没有大幅度的波动而且能够保证Eve 获取70%的信息时仍能保证信息的安全。

前面的实验使用的卷积网络过滤器比较大,目的是希望过滤器提取特征时能够同时考虑更多的数据,但是缺点是提取特征时可能会把信息过度浓缩,因此尝试把过滤器和卷积核大小减小。具体的网络层信息如下所示:

卷积层1 过滤器大小为4×1,卷积核为2,步长为1,激活函数为relu 函数;

卷积层2 过滤器大小为2×2,卷积核为4,步长为5,激活函数为relu 函数;

卷积层3 过滤器大小为1×4,卷积核为4,步长为1,激活函数为relu 函数;

卷积层4 过滤器大小为1×4,卷积核为1,步长为1,激活函数为tanh 函数。

调整参数后的实验结果如图8 所示。由图可知,整体的效果都有很大的提升,基本上都能够保证敌手的损失在0.8 以上。在所有情况下均能够保证信息的安全。

Fig.8 Adjust convolutional network parameters图8 调整卷积网络参数

3.2 计算能力受限敌手

根据2.3 节设计相应的模型,然后进行计算能力受限敌手的保密增强实验,分别对Alice 增加全连接层以及Alice 增加全连接层的同时修改激活函数的两种情况进行了实验,最终实验的结果如图9 所示。

Fig.9 Enhance Alice's computing power图9 增强Alice计算能力

由实验结果可知,在增强了Alice 模型的计算能力后,基本上能够很稳定地保证密钥信息没有泄漏给敌手Eve,Eve 的损失维持在1.0 附近。说明通过增强Alice 来保证密钥信息安全是可行的,同时发现在修改激活函数后,模型能够更快地达到最优解的状态。

4 结束语

本文利用生成对抗网络解决了在敌手能力受限时的保密增强问题,分别给出了在敌手通信能力受限或者计算能力受限时的保密增强方案。基于Abadi等人提出的安全通信模型,经过一系列对模型进行的修改,实现了在通信信息量为80 位的情况下,能够保证在敌手获知70%通信信息时,或者在敌手计算能力受限时信息传递的安全性。本文为保密增强提供了一个新的实现思路,设计出了新的模型架构,并且通过实验证明了思路的可行性。但本文仅从增加神经元、修改激活函数以及修改过滤器的角度进行优化。对于保密增强的问题,还可以从敌手存储能力受限、增加通信信息的位数、更强的加密能力的神经网络、为神经网络添加记忆单元等方面入手。

猜你喜欢
密钥保密卷积
基于全卷积神经网络的猪背膘厚快速准确测定
保密文化永远在路上
基于图像处理与卷积神经网络的零件识别
幻中邂逅之金色密钥
幻中邂逅之金色密钥
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
Android密钥库简析
跟踪导练(4)
读者调查表