【技术实现步骤摘要】
一种基于探测集约减的掩码安全性验证方法
[0001]本专利技术涉及抗侧信道掩码防护领域,特别涉及一种基于探测集约减的掩码安全性验证方法,可用于验证抗侧信道掩码防护的安全性。
技术介绍
[0002]当今社会,密码算法和密码设备的应用十分广泛,在各个领域保护着数据的安全性。尽管密码算法有着极强的理论安全性,但在实际应用中,由于运行密码算法的密码设备会泄露敏感信息的物理特征,例如电磁辐射、声音等等。攻击者可利用这些物理信息进行差分能量分析、相关性能量分析攻击等侧信道攻击,从而将敏感信息恢复。
[0003]为了抵抗这类侧信道分析技术,不同的防护技术被提出,其中最有效的一项技术就是掩码技术。掩码技术基于秘密分割的门限思想,在理论上也有较强的安全性。对于复杂的密码算法,设计对应的抗侧信道掩码方案并非易事,由于设计者的疏忽,掩码方案可能仍然存在不安全之处。而手动对掩码方案中的每一个敌手可探测到的变量集合(探测集)进行手动分析是一项繁琐耗时且极易出错的任务,因此利用形式化等技术对掩码方案安全性进行自动化的验证具有重要的意义。
[0004]为了刻画掩码防护的安全性,不同的安全性概念被提出,其中应用最为广泛的两个安全性概念是探测安全性和强探测安全性。探测安全性可用于评估软件实现的掩码方案的安全性,敌手使用一根探针可以探测到一个变量的概率分布。相比于软件实现,掩码方案的硬件实现还需要考虑硬件电路中时钟毛刺现象的存在,因此敌手使用一根探针可以探测到一组变量的联合分布。敌手的攻击能力由其能使用的探针个数决定。敌手使用其探针所能 ...
【技术保护点】
【技术特征摘要】
1.一种基于探测集约减的掩码安全性验证方法,其步骤包括:1)对于给定包含若干门的硬件掩码方案,将其解析为有向无环图G;2)计算有向无环图G中每个顶点n的辅助数据结构,即支持集supp(n)、单路达掩码集合unq(n)、完美掩码集合perf(n)和探测集O
n
;3)按字典序不重复地选取给定掩码方案对应的有向无环图G中的d个顶点组成的集合N
d
={n1,
…
,n
d
},计算d阶探测集并进行步骤4);若G中不存在未被选取的d个顶点的组合,则判定给定的掩码方案是安全的,该掩码防护方案通过安全性验证;为表示N
d
中的第j个顶点对应的探测集;4)若当前给定探测集为空集,则原d阶探测集是安全的,进入步骤3);将当前的探测集命名为并根据变量的掩码情况将变量分为两两之间不共享掩码的若干子集并计算各子集的完美掩码矩阵然后进行步骤5);5)从i=1到i=t,若第i个子集不服从均匀分布且可扩展,则将探测集扩展为探测集并进入步骤4)对探测集进行操作;若不服从均匀分布且不可扩展,则判定给定的掩码方案可能存在安全性问题,输出可能存在泄漏的d阶顶点集合N
d
,结束验证;若第i个子集服从均匀分布,则将子集从中删除得到并进入步骤4)对探测集进行操作。2.根据权利要求1所述的方法,其特征在于,所述硬件掩码方案将敏感信息x分割为d+1个分享值x
j
;d≥1,1≤j≤d+1;且所述硬件掩码方案包含若干输入门、中间门和输出门;根据输入是否为掩码电路敏感信息的分享值,输入门可分为分享门和随机门;按是否为线性,掩码方案中的中间门可分为线性门和非线性门;按照操作数的个数,将中间门分为一元门和二元门。3.根据权利要求2所述的方法,其特征在于,将所述硬件掩码方案解析为有向无环图G的过程为:将硬件掩码方案的输入门对应到图G中一个入度为0,出度可为任意值的顶点n;将输出门对应到有向无环图G中一个入度为1,出度为0的顶点n;将一元门对应到有向无环图G中一个入度为1,出度可为任意值的顶点n;将二元门对应到有向无环图G中一个入度为2,出度可为任意值的顶点n;一元门、输出门对应顶点n的入边指向其操作数对应的顶点n.lft;二元门对应顶点n的两条入边分别指向两个操作数对应的顶点n.lft和n.rgt。4.根据权利要求3所述的方法,其特征在于,所述敏感信息x的d+1个分享值在有向无环图中对应的d+1个顶点每一顶点的辅助数据结构计算方式为:当1≤j≤d时,当j=d+1时,随机门r在有向无环图中对应的顶点n的辅助数据结构的计算方式为supp(n)=unq(n)=perf(n)=O
n
={...
【专利技术属性】
技术研发人员:周锋,陈华,范丽敏,姚富,曹伟琼,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。