加密设备安全评估方法与流程

文档序号:23091249发布日期:2020-11-27 12:44阅读:234来源:国知局
加密设备安全评估方法与流程

本申请涉及旁路分析技术领域,尤其涉及一种加密设备安全评估方法。



背景技术:

2016年,科学家利用深度神经网络对旁路功耗信号实施加密分析,提出基于深度学习的建模类旁路密码分析(dlsca,deeplearningsidechannelanalysis)。由于深度学习技术的自学习性、鲁棒性以及大数据兼容性,dlsca对带防护技术的旁路攻击场景(掩码、偏移、噪声与延迟)密码分析效果更加显著。

现有评估dlsca方法中,在训练阶段时采用机器学习里的准确率指标衡量所建模板,在测试阶段中采用旁路分析中的安全指标。训练阶段与测试阶段的评估脱节严重,许多研究对于缺乏dlsca量化评估指标的做法是根据经验训练一定迭代周期再根据深度神经网络模型测试阶段的猜测熵描述神经网络模型优劣程度,这种做法工作量过于庞大且过程复杂,安全员需要反复的训练测试,费时费力。



技术实现要素:

本申请需要解决的技术问题是提供一种加密设备安全评估方法,用以解决旁路区分器在训练阶段和测试阶段无法对接的问题,特别是提高评估目标加密设备的安全性能的能力的问题。

为了解决上述问题,本申请所采用的技术方案是:

一种加密设备安全评估方法,方法包括:

在采用神经网络模型构建旁路区分器之前,确定旁路区分器在训练阶段与测试阶段的关联信息;旁路区分器用于评估目标加密设备的物理泄露量;基于关联信息,确定神经网络模型在训练阶段的训练指标;采集目标加密设备的输出的数据,建立训练数据集;基于训练指标以及训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器;采用训练完成的旁路区分器对目标加密设备的安全性进行评估。

优选地,上述确定旁路区分器在训练阶段与测试阶段的关联信息,包括:确定神经网络模型的学习指标和性能指标;确定旁路区分器的量化评估指标;基于马尔可夫定理、神经网络模型的性能指标、神经网络模型的学习指标、旁路区分器的量化评估指标确定关联信息。

优选地,神经网络模型在训练阶段的训练指标包括:神经网络模型最后一层隐藏层到输出层的感知信息;基于训练指标以及训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器,包括:基于训练数据集,选取旁路区分器的初始模型;向初始模型输入训练数据集,并采用随机梯度下降算法训练初始模型,在训练过程中,根据初始模型输出结果计算其概率分布,由概率分布计算初始模型最后一层隐藏层到输出层的感知信息,在初始模型最后一层隐藏层到输出层的感知信息达到预设值时,得到训练完成的旁路区分器。

优选地,关联信息包括:秘钥信息量;神经网络模型在训练阶段的训练指标包括:神经网络模型最后一层隐藏层到输出层的感知信息;基于训练指标以及训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器,包括:基于训练数据集,选取旁路区分器的初始模型;向初始模型输入训练数据集,并采用随机梯度下降算法训练初始模型,在训练过程中,获取初始模型的秘钥信息量,由秘钥信息量计算泛化误差,在泛化误差达到预设误差值时,得到训练完成的旁路区分器。

优选地,采用训练完成的旁路区分器对目标加密设备的安全性进行评估,包括:

采集目标加密设备的输出的数据,建立测试数据集;

将测试数据集输入训练完成的旁路区分器,得到训练完成的旁路区分器输出的测试结果;

基于测试结果,评估训练完成的旁路区分器。

由于采用了上述技术方案,本申请取得的有益效果是:首先确定旁路区分器在训练阶段与测试阶段的关联信息,基于关联信息,确定神经网络模型在训练阶段的训练指标,基于训练指标和训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器,通过训练完成的旁路区分器对目标加密设备的安全性进行评估。由此,通过关联信息确定了旁路区分器与测试阶段相关联的训练指标,采用该训练指标训练完成的旁路区分器,缩短了旁路区分器的训练时间,提高了旁路区分器的安全评估效果。

附图说明

图1是本申请的加密设备安全评估方法的一个实施例的流程图;

图2是本申请中建模类旁路密码分析模型的一种结构示意图;

图3是本申请中秘钥信息量为核心的dlsca安全评估框架;

具体实施方式

以下结合附图对本申请做进一步详细说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

如图1所示,为本申请的加密设备安全评估方法的一个实施例的流程图,该加密设备安全评估方法包括:

步骤101,在采用神经网络模型构建旁路区分器之前,确定旁路区分器在训练阶段与测试阶段的关联信息。

其中,旁路区分器用于评估目标加密设备的物理泄露量,。

本实施例中,目标加密设备为采用秘钥对明文进行加密操作的设备,该目标加密设备可以是硬件,也可以是软件。

当目标加密设备为软件时,可以由加密函数和s盒(substitution-box)结构组成,其中s盒结构是对称密钥算法执行置换计算的基本结构,

进一步地,如图2所示,旁路区分器可以是建模类旁路密码分析模型的区分器,在该建模型旁路密码分析模型中,通过已知的加密函数c将明文p与密钥k执行轮密钥加操作。选定z=s[c(p,k)],z{s1,...,sz}的s盒输出作为指定的密码功耗泄露时刻,采用泄露模型z表示。根据确定的泄露时刻,采集对应的旁路功耗轨迹x,x为泄露模型值z与加密环境产生的加性噪声n组成。

采用旁路区分器d,对获得的实际测量功耗x与已知明文p在密钥假设空间k中区分出使d参数值最大化的密钥即为k*

深度学习中的神经网络技术具有自动提取特征的性质,神经网络模型(deepneuralnetworks,以下简称ddn)可用于构建旁路区分器。根据图2建模型旁路密码分析模型,定义映射fθ函数代表dnn模型,为dnn模型输出的预测概率,其中,dnn模型输出的预测类别为

在采用dnn模型构建旁路区分器时,由于训练阶段的准确率无法评估旁路区分器测试阶段的安全指标,因此,需要确定旁路区分器在训练阶段与测试阶段的关联信息。

本实施例中,上述确定旁路区分器在训练阶段与测试阶段的关联信息,包括:确定神经网络模型的学习指标和性能指标;确定旁路区分器的量化评估指标;基于马尔可夫定理、神经网络模型的性能指标、神经网络模型的学习指标、旁路区分器的量化评估指标确定关联信息。

具体地,采用dnn模型构建旁路区分器时,为了准确评估dnn模型的训练程度,将dnn模型的指标分为学习指标与性能指标。学习指标通过计算给定训练数据集平均分类误差,以此来优化dnn模型的网络参数,机器学习领域中一般采用对数损失函数l(θ)衡量分类误差。性能指标用于衡量dnn模型的分类性能,是dnn模型训练程度的体现,一般采用准确率作为dnn模型的性能指标。

旁路区分器的量化评估指标包括:信息指标和安全指标。其中,信息指标用于衡量旁路泄露与采集的信息量,信息指标包括:条件熵与互信息。安全指标用于衡量敌手的攻击结果以及密钥破解程度,安全指标包含成功率与猜测熵。成功率反应了获取一定数量轨迹的密钥的最大能力,而猜测熵反应了获取一定数量轨迹的密钥的平均能力。

采用神经网络模型构建旁路区分器是深度学习与旁路分析的结合,但仍是旁路分析问题。sca整个过程中,每一时刻的概率分布仅与其前一时刻的概率分布有关,因此整个过程可视为一个马尔可夫过程;神经网络模型的实质与sca过程相同,也可视为一个马尔可夫过程。进一步地,由神经网络模型的性能指标,比如准确率,可知,神经网络模型的性能无法评估秘钥信息量,并且通过公式推理可知秘钥信息量分别与学习指标中损失函数、旁路区分器的量化评估指标中的成功率、猜测熵均具有关系,具体关系如图3所示。

图3所示,基于马尔可夫定理可知,准确率等机器学习性能指标无法评估dlsca训练阶段的根本原因在于无法评估该过程中的密钥信息量秘钥信息量可以将旁路区分器的旁路安全指标与神经网络模型的交叉熵关联起来。在dnn模型构建旁路区分器的过程中,预测概率趋近于pr[z|x](正确概率值),密钥信息量趋近于ki[z|x](正确秘钥),可以将秘钥信息量趋近于ki[z|x]与x趋近于的互信息(神经网络模型的性能优化过程为增大训练阶段的互信息的过程)建立联系,而对于互信息趋近过程中,可以采用交叉熵作为指标,与深度学习中交叉熵损失cx,z(θ)(θ∈θ,θ为dnn模型参数集合)对应,随着dnn模型训练逐渐趋于0,交叉熵损失cx,z(θ)最终趋于条件熵为h[z|x]。条件熵为已知功耗x估计加密中间泄露值z的条件熵。

基于马尔可夫定理以及大数定律,交叉熵损失cx,z(θ)与条件猜测熵gm在数据空间趋于无穷大与秘钥信息量趋近于ki[z|x]时,两者的优化过程根据极大似然定理一致。

基于密钥信息量根据信息熵的收敛性质可以将旁路区分器性能评估指标—交叉熵损失cx,z(θ)与安全评估指标—条件猜测熵gm关联起来,交叉熵cx,z(θ)可以根据交叉熵损失函数计算,条件猜测熵gm根据猜测熵定义以及费诺不等式分别计算出猜测熵与成功率,实现dnn模型训练阶段的性能评估与测试阶段旁路安全评估之间的对接;进一步地,可以通过猜测熵与成功率对秘钥破解程度的衡量可将秘钥信息量与破解最小轨迹数na关联起来。

可选地,关联信息还可以是神经网络模型的输入层到输出层的感知信息。

步骤102,基于关联信息,确定神经网络模型在训练阶段的训练指标。

本实施例中,由上述步骤可知,关联信息可以是密钥信息量,还可以是神经网络模型的输入层到输出层的感知信息。根据信息瓶颈理论可知,采用输入层到输出层的感知信息作为训练指标,得到的旁路区分器是不精确的。而采用神经网络模型最后一层隐藏层到输出层的感知信息作为训练指标得出的dlsca安全评估性能远优于旁路安全指标,因此将网络模型在训练阶段的训练指标设置为:神经网络模型最后一层隐藏层到输出层的感知信息。

秘钥信息量与感知信息之间的转换关系如下:

训练数据集记作x为输入,z为标签,t为神经网络模型最后一层隐藏层,根据密钥信息量确定感知信息

①获取dnn模型每个迭代周期输出的预测概率

②根据预测概率计算密钥信息量

③当时,(训练样本足够大时,学习模型fθ可达到最优)密钥信息量与感知信息之间的关系有:

④由于最后一层隐藏层的输出概率是预测概率则可根据dnn模型输出的预测概率计算概率分布由概率分布计算dnn模型最后一层隐藏层与标签值间的感知信息即为dnn模型最后一层隐藏层到输出层的感知信息。

步骤103,采集目标加密设备的输出的数据,建立训练数据集。

具体地,在目标加密设备的副本上采集np规模的建模用数据集sp,其服从概率分布,数据集中功耗轨迹为x,泄露模型中间值类别为z,成功率sr≥α,其中,α为成功率的预设阈值。

步骤104,基于训练指标以及训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器。

在本实施例的一些可选实现方式中,基于训练指标以及训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器,包括:

基于训练数据集,选取旁路区分器的初始模型;向初始模型输入训练数据集,并采用随机梯度下降算法训练初始模型,在训练过程中,根据初始模型输出结果计算其概率分布,由概率分布计算初始模型最后一层隐藏层到输出层的感知信息,在初始模型最后一层隐藏层到输出层的感知信息达到预设值时,得到训练完成的旁路区分器。

具体地,根据采样法计算概率分布得到密钥信息量并计算值。当达到预设值时即模板fθ性能训练得足够精确,训练阶段结束。

在本实施例的另一些可选实现方式中,基于训练指标以及训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器,包括:

基于训练数据集,选取旁路区分器的初始模型;

向初始模型输入训练数据集,并采用随机梯度下降算法训练初始模型,在训练过程中,获取初始模型的秘钥信息量,由秘钥信息量计算泛化误差,在泛化误差达到预设误差值时,得到训练完成的旁路区分器。

具体地,根据采样法计算概率分布得到密钥信息量并计算值。通过泛化理论估计泛化误差δε。当δε≤1-α时即模板fθ性能训练得足够精确,训练阶段结束。

步骤105,采用训练完成的旁路区分器对目标加密设备的安全性进行评估。

在本实施例的一些可选实现方式中,采用训练完成的旁路区分器对目标加密设备的安全性进行评估包括:采集目标加密设备的输出的数据,建立测试数据集;将测试数据集输入训练完成的旁路区分器,得到训练完成的旁路区分器输出的测试结果;基于测试结果,评估训练完成的旁路区分器。

本实施例中对目标加密设备的安全性进行评估的过程,即为训练完成的旁路区分器的测试阶段,建立测试数据集的过程如下:在目标设备上获取na规模的攻击用数据集sa,其概率分布为对于i∈[[1,na]],为已知明文概率分布,功耗概率分布为

将测试数据集输入训练完成的旁路区分器,得到训练完成的旁路区分器输出的测试结果的过程如下:将sa中每条功耗输入最终优化模型fθ生成预测概率向量yi=fθ(xi),对应每个标签z的概率值。将所有攻击轨迹输出的预测概率值累积,获取每个标签对应密钥值的可能性,预测概率最高的候选值即对应正确密钥k*

进一步地,基于测试结果,采用极大似然估计算法估计训练完成的旁路区分器,由测试结果得到实际成功率;将实际成功率与预设的成功率进行比较,评估训练完成的旁路区分器。

使用极大似然估计法定义区分器d:

结果得到实际成功率sr≥α,na实际值与na预测值一致,确定性能评估与安全评估匹配。

本实施例的一些可选实现方式中,将实际成功率与预设的成功率进行比较,评估训练完成的旁路区分器包括:当实际成功率大于或等于预设的成功率,确定训练完成的旁路区分器为训练正确的旁路区分器;当实际成功率小于预设的成功率,确定训练完成的旁路区分器为训练错误的旁路区分器;而当训练完成的旁路区分器为训练错误的旁路区分器,需要重新进行旁路区分器的训练。

本申请提供的加密设备安全评估方法,首先确定旁路区分器在训练阶段与测试阶段的关联信息,基于关联信息,确定神经网络模型在训练阶段的训练指标,基于训练指标和训练数据集,对神经网络模型进行训练,得到训练完成的旁路区分器,通过训练完成的旁路区分器对目标加密设备的安全性进行评估。由此,通过关联信息确定了旁路区分器与测试阶段相关联的训练指标,采用该训练指标训练完成的旁路区分器,缩短了旁路区分器的训练时间,提高了旁路区分器的安全评估效果。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

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