CN112769540B - 一种侧信道信息泄露的诊断方法、系统、设备及存储介质 - Google Patents
一种侧信道信息泄露的诊断方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN112769540B CN112769540B CN202110032581.7A CN202110032581A CN112769540B CN 112769540 B CN112769540 B CN 112769540B CN 202110032581 A CN202110032581 A CN 202110032581A CN 112769540 B CN112769540 B CN 112769540B
- Authority
- CN
- China
- Prior art keywords
- side channel
- channel information
- feature
- candidate
- subset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Probability & Statistics with Applications (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供的一种侧信道信息泄露的诊断方法、系统、设备和存储介质,根据预设的采集方案采集密码算法运行时的侧信道信息,将所述侧信道信息划分为训练集和测试集;根据预设的过滤器,从所述训练集的原始特征中选取候选特征,根据预设的子集生成策略生成所述候选特征的候选特征子集;根据预设的分类器模型和评价度量方式,找到所述候选特征子集的最优特征子集,根据所述最优特征子集与所述测试集,生成目标特征集;根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏。本发明提供的诊断方法从大量的侧信道信息数据中选择出最优特征子集,根据最优特征子集进行侧信道信息泄露诊断,并通过最优特征子集反馈发生侧信道信息泄露的加密操作。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种侧信道信息泄露的诊断方法、系统、设备及存储介质。
背景技术
密码设备在计算过程中,随着计算的进行,会在功耗、电磁等方面会释放出一些时序信号,这些信号为侧信道信号,侧信道攻击(Side Channel Attack,SCA)是针对侧信道信息分析,而获取密码设备内部状态,分析并据此得到未知密钥的过程。
随着侧信道攻击技术的日臻完善和人们对信息安全要求的提高,侧信道信息泄露的诊断成为了密码芯片测评和认证的必要阶段。
当前,国际上主要采用CC(The Common Criteria for Information Technologysecurity Evaluation,信息技术安全评价通用准则)标准ISO(InternationalOrganization for Standardization,国际标准化组织)/IEC(International Electrotechnical Commission,国际电工委员会)15408对密码产品进行安全测评,中国等同版本为国家标准GB/18336。然而采用“攻击导向”的CC标准在实现过程需要专业人员操作、需要分析密码算法、需要详细了解加密实现过程、通用性差并且只能对现存的侧信道攻击方法进行诊断,所以无法推广于工业应用。
另一种安全诊断的标准方法ISO/IEC 17825是基于TVLA(Test Vector LeakageAssessment,测试向量泄露评估)的侧信道泄露诊断方法,该方法在诊断时要满足各种严苛条件,难以提供准确的侧信道信息泄露信息。
发明内容
针对上述现有技术的缺陷,本发明提供一种侧信道信息泄露的诊断方法、装置、设备及存储介质,提高侧信道信息泄露诊断的效率和准确性;
本发明实施例提供的一种侧信道信息泄露的诊断方法,包括:
根据预设的采集方案采集密码算法运行时的侧信道信息,将所得侧信道信息划分为训练集和测试集;
根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并根据预设的子集生成策略生成所述候选特征的候选特征子集;
根据预设的分类器模型和评价度量方式,找到所述训练集的候选特征子集中的最优特征子集,根据所述最优特征子集与所述测试集,生成目标特征集;
根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏。
优选地,所述根据预设的采集方案采集密码算法运行时的侧信道信息,将所得侧信道信息划分为训练集和测试集,具体包括:
采集密码算法运行时的侧信道信息,所述侧信道信息包括功耗、电磁信息;
产生固定明文和随机明文,对所述明文进行加密,并根据加密明文将采集的侧信道信息分为n组:T1,T2,...Tn(n≥2),其中T1~Tn-1是加密固定明文F1~Fn-1时采集的侧信道信息,Tn是加密固定明文Fn或随机明文Rn时采集的侧信道信息,将采集的侧信道信息划分为训练集和测试集,所述训练集每组功耗轨迹或电磁轨迹信息包含K条功耗轨迹或电磁轨迹,记为每条轨迹有Q个采样点,即Q个原始特征,其中 所述测试集每组功耗轨迹或电磁轨迹信息包含N条功耗轨迹或电磁轨迹,记为每条轨迹有Q个采样点,其中
优选地,所述根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并根据预设的子集生成策略生成所述候选特征的候选特征子集,具体包括:
通过所述过滤器按照预设的评价标准对所述训练集的Q个原始特征进行评分;
根据设定的阈值在Q个原始特征中选择M个候选特征,根据所述候选特征,采用预设的特征子集搜索策略生成各种候选特征子集;所述特征子集搜索策略为全局搜索、顺序搜索和随机搜索中的任一个。
优选地,所述根据预设的分类器模型和评价度量方式,找到所述训练集的候选特征子集中的最优特征子集,根据最优特征子集与所述测试集,生成目标特征集,具体包括:
根据预设的分类器模型和预设的评价度量方式对所述候选特征子集进行训练分类,计算所述候选特征子集的分类准确率,把分类准确率最高的候选特征子集记为最优特征子集;
根据所述最优特征子集获取所述测试集的n组目标特征集S′1,S′2,…,S′n(n≥2),每组目标特征集包含N条特征集合,每条特征集合包含L个特征。
优选地,根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏,具体包括:
比较概率P(X≥sM)与pth大小,当P(X≥sM)>pth时,所述目标特征集没有发生侧信道信息泄露,当P(X≥sM)<pth时,所述目标特征集存在侧信道信息泄露,其中,pth为设定的阈值。若验证存在泄漏,最优特征子集包含侧信道信息泄露的泄漏时刻信息,泄漏时刻信息对应具体的加密操作。
本发明提供的一种侧信道信息泄露诊断方法,根据预设的采集方案采集功耗轨迹或电磁轨迹等侧信道信息,并将侧信道信息划分为训练集和测试集;根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并生成所述候选特征的各种候选特征子集;根据预设的评价度量方式,找到所述候选特征子集中的最优特征子集,并根据最优特征子集与所述测试集,生成目标特征集;根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏,本发明实施例通过引入机器学习中特征选择的方法从大量的侧信道信息数据中选择出最优特征子集,并根据最优特征子集进行侧信道信息泄露诊断,能准确反馈侧信道信息泄露的加密操作。
本发明实施例还提供一种侧信道信息泄露的诊断系统,包括:侧信道信息采集模块、候选特征子集生成模块、目标特征集生成模块和泄露诊断模块;
所述侧信道信息采集模块用于根据预设的采集方案采集密码算法运行时的侧信道信息,将所得侧信道信息划分为训练集和测试集;
所述候选特征子集生成模块用于根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并根据预设的子集生成策略生成所述候选特征的候选特征子集;
所述目标特征集生成模块用于根据预设的分类器模型和评价度量方式,找到所述训练集的候选特征子集中的最优特征子集,根据所述最优特征子集与所述测试集,生成目标特征集;
所述泄露诊断模块用于根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏。
作为一种优选方式,所述侧信道信息采集模块包括信息采集单元和侧信道信息分组单元;
所述候选特征子集生成模块包括原始特征评分单元和候选特征子集生成单元;
所述侧信道信息采集单元用于采集密码算法运行时的侧信道信息,所述侧信道信息包括功耗、电磁信息;
所述侧信道信息分组单元用于产生固定明文和随机明文,对所述明文进行加密,并根据加密明文将采集的侧信道信息分为n组:T1,T2,...Tn(n≥2),其中T1~Tn-1是加密固定明文F1~Fn-1时采集的侧信道信息,Tn是加密固定明文Fn或随机明文Rn时采集的侧信道信息,将采集的侧信道信息划分为训练集和测试集,所述训练集每组功耗轨迹或电磁轨迹信息包含K条功耗轨迹或电磁轨迹,记为每条轨迹有Q个采样点,即Q个原始特征,其中 所述测试集每组功耗轨迹或电磁轨迹信息包含N条功耗轨迹或电磁轨迹,记为每条轨迹有Q个采样点,其中
所述原始特征评分单元用于通过所述过滤器按照预设的评价标准对所述训练集的Q个原始特征进行评分;
所述候选特征子集生成单元用于根据设定的阈值在Q个原始特征中选择M个候选特征,根据所述候选特征,采用预设的特征子集搜索策略生成各种候选特征子集;所述特征子集搜索策略为全局搜索、顺序搜索和随机搜索中的任一个。
作为一种优选方式,所述目标特征集生成模块包括最优特征子集获取单元和目标特征集生成单元;
所述泄露诊断模块包括概率计算单元和诊断模块;
所述最优特征子集获取单元用于根据预设的分类器模型和预设的评价度量方式对所述候选特征子集进行训练分类,计算所述候选特征子集的分类准确率,把分类准确率最高的候选特征子集记为最优特征子集;
所述目标特征集生成单元用于根据所述最优特征子集获取所述测试集的n组目标特征集S′1,S′2,…,S′n(n≥2),每组目标特征集包含N条特征集合,每条特征集合包含L个特征;
所述诊断模块用于比较概率P(X≥sM)与pth大小,当P(X≥sM)>pth时,所述目标特征集没有发生侧信道信息泄露,当P(X≥sM)<pth时,所述目标特征集存在侧信道信息泄露,其中,pth为设定的阈值。若验证存在泄漏,最优特征子集包含侧信道信息泄露的泄漏时刻信息,泄漏时刻信息对应具体的加密操作。
本发明实施例还提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项实施例所述的一种侧信道信息泄露的诊断方法。
本发明实施例还提供一种计算机可读存储介质所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项实施例所述的一种侧信道信息泄露的诊断方法。
本发明提供的一种侧信道信息泄露的诊断方法、系统、设备和存储介质,根据预设的采集方案采集功耗轨迹或电磁轨迹等侧信道信息并划分为训练集和测试集;根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并生成所述候选特征的各种候选特征子集;根据预设的评价度量方式,找到所述候选特征子集中的最优特征子集,并根据最优特征子集与所述测试集,生成目标特征集;根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏,本发明实施例通过引入机器学习中特征选择的方法从大量的侧信道信息数据中选择出最优特征子集,并根据最优特征子集进行侧信道信息泄露诊断,能准确反馈侧信道信息泄露的加密操作。
附图说明
图1是本发明实施例提供的一种侧信道信息泄露的诊断方法流程图。
图2是本发明实施例提供的一种侧信道信息泄露的诊断系统的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例,实际上通过选择各种不同的过滤器、子集产生策略和分类器可以分化出无数种具体实施方案。基于本发明中的实施例,本领域的普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,是本发明实施例提供的一种侧信道信息泄露的诊断方法流程图,本发明实施例提供的一种侧信道信息泄露的诊断方法,包括S101~S104:
S101,根据预设的采集方案采集密码算法运行时的侧信道信息,将所得侧信道信息划分为训练集和测试集;
S102,根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并根据预设的子集生成策略生成所述候选特征的候选特征子集;
S103,根据预设的分类器模型和评价度量方式,找到所述训练集的候选特征子集中的最优特征子集,根据所述最优特征子集与所述测试集,生成目标特征集;
S104,根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏。
在另一个优选实施例中,S101具体为:
采集侧信道的功耗轨迹或电磁轨迹信息;
产生固定明文和随机明文,对所述明文进行加密,并根据加密明文将采集的信息分为n组:T1,T2,...Tn(n≥2),其中T1~Tn-1是加密固定明文F1~Fn-1时采集的侧信道信息,Tn是加密固定明文Fn或随机明文Rn时采集的侧信道信息,将采集的侧信道信息划分为训练集和测试集,训练集每组功耗轨迹或电磁轨迹信息包含K条功耗轨迹或电磁轨迹,每条轨迹有Q个采样点,即Q个原始特征。测试集每组功耗轨迹或电磁轨迹信息包含N条功耗轨迹或电磁轨迹,每条轨迹有Q个采样点。
具体实施时,考虑交叉顺序、是否加入随机明文和多分类等因素对准确率和泄漏点的影响,选择全固定明文采集方案;
对固定明文P1P2…Pn(交叉)加密多次,采集功耗或电磁轨迹等侧信道信息,得到n组侧信道信息T1,T2,…,Tn(n≥2),将采集的侧信道信息划分为训练集和测试集,每次实验训练集各取K条功耗或电磁轨迹侧信道信息,每条轨迹Q个采样点,即Q个原始特征,其中 测试集各取N条功耗或电磁轨迹侧信道信息,每条轨迹Q个采样点,即Q个原始特征,其中
在一个优选实施例中,过滤器采用MRMR(Maximum relerelevance minimumredundancy,最大相关最小冗余)算法,子集生成策略RFE(Recursive FeatureElimination,递归特征消除)算法,分类器采用SVM(Support vector machines,支持向量机)模型,S102具体为:
通过所述过滤器按照预设的评价标准对所述训练集的Q个原始特征进行评分,其中所述评价标准包括:相关性、信息测度、对称不确定性、欧式距离、一致性和依赖度等;
根据设定的阈值在Q个原始特征中选择M个候选特征,根据所述候选特征,采用全局搜索、顺序搜索或随机搜索等特征子集产生策略生成各种候选特征子集。
具体实施时,采用下面的最大相关最小冗余算法(MRMR)公式作为过滤器:
计算训练集原始特征集Q个特征,选取MRMR大于或等于0.15的M个特征,M<<Q,得到训练集的候选轨迹F1,F2,…,Fn,它们各包含K条特征集合,每条M个特征, 然后采用顺序搜索策略(递归特征消除算法)生成各种候选特征子集。
Y=[y1;y2;…;yk;…;ynK],yk∈{1,2,…,n}
当前特征子集s=[1,2,…,M]特征排序集r=[]
判断当前特征子集s是否为空集,若是,输出特征排序集r
否则,基于当前特征子集s得到训练集X0=X(:,s),用X0和Y训练SVM模型。
根据SVM训练时生成的权重向量ω对所有特征排序,寻找排序得分最小的特征f。
更新当前特征子集和特征排序集:s=s[1:f-1,f+1:length(s)]r=[f,r]
输出特征排序集r;
在另一个优选实施例中,S103具体为:
根据预设的分类器模型对所述候选特征子集进行训练分类,并计算所述候选特征子集的分类准确率,所述分类准确率最高的候选特征子集记为最优特征子集;
根据所述最优特征子集获取所述测试集的n组目标特征集S′1,S′2,…,S′n(n≥2),每组目标特征集包含N条特征集合,每条特征集合包含L个特征。
SVM模型分类准确率最高的特征子集就是所得最优特征子集,最终得到目标特征集S′1,S′2,…,S′n,它们各包含N条特征集合,每条L个特征,L<<M,如下式所示:
在另一个优选实施例中,步骤S104具体为:
比较概率P(X≥sM)与pth大小,当P(X≥sM)>pth时,所述目标特征集没有发生侧信道信息泄露,当P(X≥sM)<pth时,所述目标特征集存在侧信道信息泄露,其中,pth为设定的阈值。若验证存在泄漏,最优特征子集揭示了泄漏时刻,泄漏时刻对应着具体的加密操作。
本实施例在具体实施过程中可以需要执行多次S101~S104,以提高诊断准确性。
在第二个优选实施例中,S101具体为:
采集功耗轨迹或电磁轨迹等侧信道信息;
产生固定明文和随机明文,对所述明文进行加密,并根据加密明文将采集的侧信道信息分为n组:T1,T2,...Tn(n≥2),其中T1~Tn-1是加密固定明文F1~Fn-1时采集的侧信道信息,Tn是加密固定明文Fn或随机明文Rn时采集的侧信道信息,将采集的侧信道信息划分为训练集和测试集。训练集每组功耗轨迹或电磁轨迹信息包含K条功耗轨迹或电磁轨迹,每条轨迹有Q个采样点,即Q个原始特征。测试集每组功耗轨迹或电磁轨迹信息包含N条功耗轨迹或电磁轨迹,每条轨迹有Q个采样点。
具体实施时,考虑交叉顺序、是否加入随机明文和多分类等因素对准确率和泄漏点的影响,选择全固定明文采集方案;
对固定明文P1P2…Pn(交叉)加密多次,采集功耗或电磁轨迹等侧信道信息,得到n组侧信道信息T1,T2,…,Tn(n≥2),将采集的侧信道信息划分为训练集和测试集,每次实验训练集中各取K条功耗轨迹或电磁轨迹,每条轨迹Q个采样点,即Q个原始特征,其中 测试集中各取N条功耗轨迹或电磁轨迹,每条轨迹Q个采样点,即Q个原始特征,其中
在第二个优选实施例中,过滤器采用SU(Symmetrical Uncertainty,对称不确定性)算法,子集生成策略GA(Genetic Algorithm,遗传算法),分类器采用NB(Bayes,朴素贝叶斯)模型,S102具体为:
通过所述过滤器按照预设的评价标准对所述训练集的Q个原始特征进行评分,其中所述评价标准包括:相关性、信息测度、对称不确定性、欧式距离、一致性和依赖度等;
根据设定的阈值在Q个原始特征中选择M个候选特征,根据所述候选特征,采用全局搜索、顺序搜索或随机搜索等特征子集产生策略生成各种候选特征子集。
具体实施时,采用下面的对称不确定性算法(SU)公式作为过滤器:
计算原始特征集Q个特征的SU值,从大到小选取M个特征,M<<Q,得到功耗或电磁轨迹侧信道信息的候选轨迹F1,F2,…,Fn,它们各包含K条特征集合,每条M个特征, 然后采用随机搜索策略(遗传算法)生成所有候选特征子集。
Y=[y1;y2;…;yk;…;ynK],yk∈{1,2,…,n}
设置种群规模为I,初始化种群中I个个体,采用二进制编码,将种群中的个体编码成长度为M的二进制串,第i位为0表示不选特征i,为1表示选择特征i.将每个个体的所有位随机置为1或0,得到遗传算法的初始种群;
判断是否达到最大迭代次数Gmax,如果没有则执行以下步骤;
对种群中的个体执行选择、交叉和变异算子以生成新的个体,即新的候选特征子集。选择算子采用轮盘赌选择,交叉算子采用单点交叉,变异算子采用基本位变异。
在第二个优选实施例中,S103具体为:
根据朴素贝叶斯对所述候选特征子集进行训练分类,并计算所述候选特征子集的分类准确率,所述分类准确率最高的候选特征子集记为最优特征子集;
根据所述最优特征子集获取所述测试集的n组目标特征集S′1,S′2,…,S′n(n≥2),每组目标特征集包含N条特征集合,每条特征集合包含L个特征。
朴素贝叶斯模型分类准确率最高的特征子集就是所得最优特征子集,最终得到目标特征集S′1,S′2,…,S′n,它们各包含N条特征集合,每条L个特征,L<<M,如下式所示:
在另一个优选实施例中,步骤S104具体为:
比较概率P(X≥sM)与pth大小,当P(X≥sM)>pth时,所述目标特征集没有发生侧信道信息泄露,当P(X≥sM)<pth时,所述目标特征集存在侧信道信息泄露,其中,pth为设定的阈值。若验证存在泄漏,最优特征子集揭示了泄漏时刻,泄漏时刻对应着具体的加密操作。
本实施例在具体实施过程中可以需要执行多次S101~S104,以提高诊断准确性。
需要说明的是,本发明实施例只公开了采用两种过滤器生成候选子集的方式,但在其他实施例中,也可采用其他过滤器与搜索策略获得候选子集,并进行侧信道信息泄露诊断,其方案与本发明方案实质等同,均在本发明要求保护的范围内。
本发明提供的一种侧信道信息泄露的诊断方法,根据预设的采集方案采集功耗轨迹或电磁轨迹等侧信道信息;根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并生成所述候选特征的各种候选特征子集;根据预设的评价度量方式,找到所述候选特征子集中的最优特征子集,并根据最优特征子集与所述测试集,生成目标特征集;根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏,通过引入机器学习中特征选择的方法从大量的侧信道信息数据中选择出最优特征子集,并根据最优特征子集进行侧信道信息泄露诊断,提高侧信道信息泄露诊断的效率和准确性,能反馈侧信道信息泄露的信息。
参见图2所示,是本发明实施例提供的一种侧信道信息泄露的诊断系统的结构图。本实施例提供的一种侧信道信息泄露的诊断系统包括:侧信道信息采集模块、候选特征子集生成模块、目标特征集生成模块和泄露诊断模块;
所述侧信道信息采集模块用于根据预设的采集方案采集功耗轨迹或电磁轨迹等侧信道信息,并将侧信道信息划分为训练集和测试集;
所述候选特征子集生成模块用于根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并生成所述候选特征的各种候选特征子集;
所述目标特征集生成模块用于根据预设的分类器模型,找到所述候选特征子集中的最优特征子集,并根据最优特征子集与所述测试集,生成目标特征集;
所述泄露诊断模块用于根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏。
在具体实施时,所述侧信道信息采集包括信息采集单元和侧信道信息分组单元;
所述候选特征子集生成模块包括原始特征评分单元和候选特征子集生成单元;
所述侧信道信息采集单元用于采集功耗轨迹或电磁轨迹等侧信道信息;
所述侧信道信息分组单元用于产生固定明文和随机明文,对所述明文进行加密,并根据加密明文将采集的信息分为n组:T1,T2,...Tn(n≥2),其中T1~Tn-1是加密固定明文F1~Fn-1时采集的侧信道信息,Tn是加密固定明文Fn或随机明文Rn时采集的侧信道信息,将采集的侧信道信息划分为训练集和测试集,训练集中每组功耗轨迹或电磁轨迹信息包含K条功耗轨迹或电磁轨迹,每条轨迹有Q个采样点,即Q个原始特征,其中 测试集中每组功耗轨迹或电磁轨迹信息包含N条功耗轨迹或电磁轨迹,每条轨迹有Q个采样点,其中
所述原始特征评分单元用于通过所述过滤器按照预设的评价标准对所述训练集的Q个原始特征进行评分;
所述候选特征子集生成单元用于根据设定的阈值在Q个原始特征中选择M个候选特征,根据所述候选特征,采用全局搜索、顺序搜索或随机搜索等特征子集产生策略生成所有候选特征子集。
在具体实施时,所述目标特征集生成模块包括最优特征子集获取单元和目标特征集生成单元;
所述泄露诊断模块包括概率计算单元和诊断模块;
所述最优特征子集获取单元用于根据预设的分类器模型对所述候选特征子集进行训练分类,并计算所述候选特征子集的分类准确率,所述分类准确率最高的候选特征子集记为最优特征子集;
所述目标特征集生成单元用于根据所述最优特征子集获取所述测试集的n组目标特征集S′1,S′2,…,S′n(n≥2),每组目标特征集包含N条特征集合,每条特征集合包含L个特征;
所述诊断模块用于比较概率P(X≥sM)与pth大小,当P(X≥sM)>pth时,所述目标特征集没有发生侧信道信息泄露,当P(X≥sM)<pth时,所述目标特征集存在侧信道信息泄露,其中,pth为设定的阈值。若验证存在泄漏,最优特征子集揭示了泄漏时刻,泄漏时刻对应着具体的加密操作。
在具体实施时所述的一种侧信道信息泄露的诊断系统能够完成上述任一实施例提供的一种侧信道信息泄露的诊断方法的具体功能,具体实施过程在一种侧信道信息泄露的诊断方法的任一实施例中进行了具体描述,在本实施例中不做赘述。
本发明实施例还提供一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例中所述的一种侧信道信息泄露的诊断方法。
所述一种侧信道信息泄露的诊断系统可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述一种侧信道信息泄露的诊断系统/终端设备可包括,但不仅限于,处理器、存储器。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述一种侧信道信息泄露的诊断系统的控制中心,利用各种接口和线路连接整个一种侧信道信息泄露的诊断系统的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述一种侧信道信息泄露的诊断系统/终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任一实施例所述的一种侧信道信息泄露的诊断方法。所述一种侧信道信息泄露的诊断系统集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述任一种侧信道信息泄露的诊断方法的实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改变和变形也视为本发明的保护范围。
本发明提供的一种侧信道信息泄露的诊断方法、系统、设备和存储介质,根据预设的采集方案采集功耗轨迹或电磁轨迹等侧信道信息,并将侧信道信息划分为训练集和测试集;根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并生成所述候选特征的各种候选特征子集;根据预设的评价度量方式,找到所述候选特征子集中的最优特征子集,并根据最优特征子集与所述测试集,生成目标特征集;根据分类器模型对目标特征集进行结果验证,根据验证结果诊断侧信道信息是否发生泄漏,通过将原始功耗或电磁轨迹等侧信道信息中的冗余特征和不相关特征去掉,留下最优特征子集,然后基于最优特征子集进行侧信道信息泄露诊断,提高了侧信道信息泄露诊断的效率和准确性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变形,这些改变和变形也视为本发明的保护范围。
Claims (9)
1.一种侧信道信息泄露的诊断方法,其特征在于,包括:
根据预设的采集方案采集密码算法运行时的侧信道信息,将所得侧信道信息划分为训练集和测试集;
根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并根据预设的子集生成策略生成所述候选特征的候选特征子集;
根据预设的分类器模型和评价度量方式,找到所述训练集的候选特征子集中的最优特征子集,根据所述最优特征子集与所述测试集,生成目标特征集;
根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏;
所述根据预设的采集方案采集密码算法运行时的侧信道信息,将所得侧信道信息划分为训练集和测试集,具体包括:
采集密码算法运行时的侧信道信息,所述侧信道信息包括功耗、电磁信息;
产生固定明文和随机明文,对所述明文进行加密,并根据加密明文将采集的侧信道信息分为n组;
将采集的侧信道信息划分为训练集和测试集,所述训练集每组功耗轨迹或电磁轨迹信息包含K条功耗轨迹或电磁轨迹;
所述测试集每组功耗轨迹或电磁轨迹信息包含N条功耗轨迹或电磁轨迹;
所述根据预设的分类器模型和评价度量方式,找到所述训练集的候选特征子集中的最优特征子集,根据最优特征子集与所述测试集,生成目标特征集,具体包括:
根据预设的分类器模型和预设的评价度量方式对所述候选特征子集进行训练分类,计算所述候选特征子集的分类准确率,把分类准确率最高的候选特征子集记为最优特征子集;
根据所述最优特征子集获取所述测试集的n组目标特征集S′1,S′2,…,S′n(n≥2),每组目标特征集包含N条特征集合,每条特征集合包含L个特征;
所述根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏,具体包括:
根据所述分类器模型对所述目标特征集进行结果验证,计算概率;
比较概率P(X≥sM)与设定的阈值pth大小,判定是否发生侧信道信息泄漏。
3.根据权利要求1所述的一种侧信道信息泄露的诊断方法,其特征在于,所述根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并根据预设的子集生成策略生成所述候选特征的候选特征子集,具体包括:
通过所述过滤器按照预设的评价标准对所述训练集的Q个原始特征进行评分;
根据设定的阈值在Q个原始特征中选择M个候选特征,根据所述候选特征,采用预设的特征子集搜索策略生成各种候选特征子集;所述特征子集搜索策略为全局搜索、顺序搜索和随机搜索中的任一个。
5.一种侧信道信息泄露的诊断系统,其特征在于,包括:侧信道信息采集模块、候选特征子集生成模块、目标特征集生成模块和泄露诊断模块;
所述侧信道信息采集模块用于根据预设的采集方案采集密码算法运行时的侧信道信息,将所得侧信道信息划分为训练集和测试集;
所述候选特征子集生成模块用于根据预设的过滤器,从所述训练集的原始特征中选取候选特征,并根据预设的子集生成策略生成所述候选特征的候选特征子集;
所述目标特征集生成模块用于根据预设的分类器模型和评价度量方式,找到所述训练集的候选特征子集中的最优特征子集,根据所述最优特征子集与所述测试集,生成目标特征集;
所述泄露诊断模块用于根据所述分类器模型验证所述目标特征集是否发生侧信道信息泄漏;
所述侧信道信息采集模块具体用于:
采集密码算法运行时的侧信道信息,所述侧信道信息包括功耗、电磁信息;
产生固定明文和随机明文,对所述明文进行加密,并根据加密明文将采集的侧信道信息分为n组;
将采集的侧信道信息划分为训练集和测试集,所述训练集每组功耗轨迹或电磁轨迹信息包含K条功耗轨迹或电磁轨迹;
所述测试集每组功耗轨迹或电磁轨迹信息包含N条功耗轨迹或电磁轨迹;
所述目标特征集生成模块包括最优特征子集获取单元和目标特征集生成单元;
所述泄露诊断模块包括概率计算单元和诊断模块;
所述最优特征子集获取单元用于根据预设的分类器模型和预设的评价度量方式对所述候选特征子集进行训练分类,计算所述候选特征子集的分类准确率,把分类准确率最高的候选特征子集记为最优特征子集;
所述目标特征集生成单元用于根据所述最优特征子集获取所述测试集的n组目标特征集S1′,2′,…,n′(n≥2),每组目标特征集包含N条特征集合,每条特征集合包含L个特征;
所述泄露诊断模块具体用于:
根据所述分类器模型对所述目标特征集进行结果验证,计算概率;
比较概率P(X≥sM)与设定的阈值pth大小,判定是否发生侧信道信息泄漏。
6.根据权利要求5所述的一种侧信道信息泄露的诊断系统,其特征在于,所述侧信道信息采集模块包括信息采集单元和侧信道信息分组单元;
所述候选特征子集生成模块包括原始特征评分单元和候选特征子集生成单元;
n组侧信道信息为:T1,T2,…Tn(n≥2),其中T1~Tn-1是加密固定明文F1~Fn-1时采集的侧信道信息,Tn是加密固定明文Fn或随机明文Rn时采集的侧信道信息,所述训练集记为每条轨迹有Q个采样点,即Q个原始特征,其中所述测试集记为每条轨迹有Q个采样点,其中
所述原始特征评分单元用于通过所述过滤器按照预设的评价标准对所述训练集的Q个原始特征进行评分;
所述候选特征子集生成单元用于根据设定的阈值在Q个原始特征中选择M个候选特征,根据所述候选特征,采用预设的特征子集搜索策略生成各种候选特征子集;所述特征子集搜索策略为全局搜索、顺序搜索和随机搜索中的任一个。
8.一种终端设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-4中任意一项所述的一种侧信道信息泄露的诊断方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1-4中任意一项所述的一种侧信道信息泄露的诊断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110032581.7A CN112769540B (zh) | 2021-01-11 | 2021-01-11 | 一种侧信道信息泄露的诊断方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110032581.7A CN112769540B (zh) | 2021-01-11 | 2021-01-11 | 一种侧信道信息泄露的诊断方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112769540A CN112769540A (zh) | 2021-05-07 |
CN112769540B true CN112769540B (zh) | 2023-05-05 |
Family
ID=75701347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110032581.7A Active CN112769540B (zh) | 2021-01-11 | 2021-01-11 | 一种侧信道信息泄露的诊断方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112769540B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113128133B (zh) * | 2021-05-19 | 2022-05-17 | 衡阳师范学院 | 一种基于遗传算法的功耗攻击高效筛选方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995501A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
CN110460425A (zh) * | 2019-09-24 | 2019-11-15 | 北京银联金卡科技有限公司 | 一种面向侧信道密码能量泄漏信号的攻击方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9172718B2 (en) * | 2013-09-25 | 2015-10-27 | International Business Machines Corporation | Endpoint load rebalancing controller |
US11194902B2 (en) * | 2018-12-27 | 2021-12-07 | Intel Corporation | Side-channel attack detection using hardware performance counters |
-
2021
- 2021-01-11 CN CN202110032581.7A patent/CN112769540B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995501A (zh) * | 2017-12-31 | 2019-07-09 | 国民技术股份有限公司 | 一种侧信道分析方法及装置、终端及计算机可读存储介质 |
CN110460425A (zh) * | 2019-09-24 | 2019-11-15 | 北京银联金卡科技有限公司 | 一种面向侧信道密码能量泄漏信号的攻击方法及系统 |
Non-Patent Citations (2)
Title |
---|
"基于SincNet的侧信道攻击";陈平;《密码学报》;20200521;全文 * |
"基于配对t检验的侧信道泄露评估优化研究";黄娴;《小型微型计算机系统》;20191215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112769540A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657805B (zh) | 超参数确定方法、装置、电子设备及计算机可读介质 | |
CN110362677B (zh) | 文本数据类别的识别方法及装置、存储介质、计算机设备 | |
CN111612039A (zh) | 异常用户识别的方法及装置、存储介质、电子设备 | |
CN109299594B (zh) | 身份验证方法及装置 | |
CN109685104B (zh) | 一种识别模型的确定方法和装置 | |
CN111932269A (zh) | 设备信息处理方法及装置 | |
CN113240505B (zh) | 图数据的处理方法、装置、设备、存储介质及程序产品 | |
CN113434856B (zh) | 一种基于psogwo-svm算法的网络入侵检测方法 | |
CN112702157B (zh) | 一种基于改进随机森林算法的分组密码体制识别方法 | |
US20200334557A1 (en) | Chained influence scores for improving synthetic data generation | |
CN110929525A (zh) | 一种网贷风险行为分析检测方法、装置、设备和存储介质 | |
CN108667678A (zh) | 一种基于大数据的运维日志安全检测方法及装置 | |
CN111582315B (zh) | 样本数据处理方法、装置及电子设备 | |
CN109189892A (zh) | 一种基于文章评论的推荐方法及装置 | |
CN112769540B (zh) | 一种侧信道信息泄露的诊断方法、系统、设备及存储介质 | |
CN112199706A (zh) | 基于多方安全计算的树模型的训练方法和业务预测方法 | |
Wang et al. | Malwhiteout: Reducing label errors in android malware detection | |
CN111444930B (zh) | 一种确定二分类模型的预测效果的方法及装置 | |
CN111783088B (zh) | 一种恶意代码家族聚类方法、装置和计算机设备 | |
CN111784360B (zh) | 一种基于网络链接回溯的反欺诈预测方法及系统 | |
CN115795466B (zh) | 一种恶意软件组织识别方法及设备 | |
CN111581640A (zh) | 一种恶意软件检测方法、装置及设备、存储介质 | |
CN111144430B (zh) | 基于遗传算法的养卡号码识别方法及装置 | |
CN110728585A (zh) | 核保方法、装置、设备及存储介质 | |
CN113724779B (zh) | 基于机器学习技术的SNAREs蛋白识别方法、系统、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |