多信道旁路信号安全分析与检测系统

    专利查询2022-07-07  114



    1.本发明属于信息安全技术领域,特别是一种涉及密码模块的安全分析与检测。


    背景技术:

    2.旁路攻击通过利用密码模块的物理信息泄漏(如能耗、电磁辐射等)来恢复秘密信息,对密码模块的物理安全性构成了严重威胁。因此,在实际的密码模块产品上市前,评估其抗旁路分析的物理安全水平十分重要且必要。目前旁路攻击研究基本是单信道攻击,反映的是密码模块在某类旁路信息的某个通道泄漏下的安全水平。目前的市面上的旁路安全分析与检测产品都是利用单信道旁路信息泄漏来对密码模块进行安全测评的且未评估密钥枚举攻击的威胁,如riscure公司的inspector、secureic的smartsic分析平台等。
    3.然而现实应用中,密码模块的旁路泄漏是多源的、同时的、多方位的,其面临的安全威胁也是多维度的,旁路安全分析与评估需求也更全面、更深入。


    技术实现要素:

    4.本发明的目的在于针对上述现有技术存在的问题,提供一种多信道旁路信号安全分析与检测系统。基于多信道旁路泄漏融合技术,本发明综合利用多个信道的旁路信息泄漏,开发出了多种多信道旁路安全分析与检测方法,包括多信道旁路信号预处理、多信道融合攻击、多信道旁路泄漏检测及基于多信道泄漏融合的密钥枚举攻击及密钥排序评估等,可提供更加全面的深度安全测评结论与建议。能够满足现实安全分析与评估需求,具有较大的创新性和实用性。
    5.实现本发明目的的技术解决方案为:一种多信道旁路信号安全分析与检测系统,所述系统包括:
    6.文件处理模块,用于读取密码模块运行时泄漏的多信道旁路信号和明密文信息并进行处理,生成数据矩阵;
    7.信号预处理模块,用于对旁路信号进行预处理,包括多信道旁路信号对齐,多信道旁路信号融合程度判断,以及二阶攻击预处理;
    8.多信道融合攻击模块即mcfa模块,用于通过恢复密码算法实现的密钥来评估密码模块的安全水平;
    9.多信道泄漏检测模块即ld模块,用于筛选出旁路信号中包含秘密信息的泄漏特征点,排除非特征点干扰;
    10.密钥枚举攻击与密钥排序评估模块,用于估计密码模块的安全水平,对密码模块何时更换密钥或算法给出可行性建议。
    11.进一步地,所述系统还包括测评报告生成模块,用于对旁路分析与检测的结果进行汇总,生成安全测评报告,以便用户直观分析。
    12.进一步地,所述多信道旁路信号对齐针对的对象是采取嵌有隐藏防护对策的密码模块,所述二阶攻击预处理针对的对象是嵌入一阶掩码防护对策的密码模块。
    13.进一步地,所述多信道旁路信号对齐的对齐方法包括一种全局对齐方法,具体为基于needleman-wunsch的对齐方法,简称nw_la,该方法的具体过程包括:
    14.1)将旁路信号经过数据标准化处理,进行非均匀量化,得到相应的符号序列;
    15.2)使用needleman-wunsch算法即优化匹配算法和整体序列比较法通过全局比对,以不同的打分矩阵和计分规则得到符号序列集合最相似的部分,即最长公共子序列,从而对齐旁路信号。
    16.进一步地,所述多信道旁路信号对齐的对齐方法还包括一种局部对齐方法,具体为基于smith-waterman的对齐方法,简称sw_la,该方法与所述nw_la的步骤类似,区别在于:sw_la在将旁路信号数据转化为符号序列后,使用smith-waterman算法通过局部比对,得到符号序列集合的最长公共子序列,从而对齐旁路信号。
    17.进一步地,所述多信道旁路信号融合程度判断用于在进行安全分析与检测之前,判断某些信道的旁路信号是否包含有用的秘密信息;具体使用基于卡方检验的融合标准简称cqm来进行判断,当使用多信道旁路信号计算出的cqm值高于预设阈值时,认为可以进行多信道旁路信号融合,进入下一步融合、攻击或泄漏检测环节,否则应重新选择其他信道的旁路信号来重新计算;
    18.所述cqm的具体判断步骤如下:
    19.假设两个单信道旁路信号集合分别为l1和l2,显然l1和l2之间应该有一个依赖于共同秘密信息的交集部分f,这两个单信道旁路信号越适合联合,交集f就应该越大,l1和l2之间的相关性就越大;此时l1和l2分别除去共有部分f得到的e1和e2应是不相关的信号;
    20.使用卡方独立性检验即r
    ×
    c列联表的卡方检验l1和l2的相关性,那么有统计量:
    [0021][0022]
    其中r和c分别表示l1和l2中泄漏信号样本点数,n为总样本点数,v
    ij
    和p
    ij
    分别为样本总体的实际观察频次和理论频次;如果统计量χ2的值超出相应置信水平下的阈值,则l1和l2相关性大,适合融合;否则,不适合融合。
    [0023]
    进一步地,所述二阶攻击预处理包括两种预处理操作,分别为求正则化积和绝对值差。
    [0024]
    进一步地,所述mcfa模块从实现方式上分为数据级、特征级和决策级3种mcfa方法;
    [0025]
    数据级mcfa方法:简单泄漏数据融合攻击简称s_dafa,其假设运行在一个密码模块上的某密码算法进行了一次加密或解密运算,并在其间获取到该密码算法实现中的某一个操作的单信道旁路信号;该方法将多个单信道的旁路信号串联起来,同时减去每条信号的均值,然后通过向量标准化操作使旁路信号量纲保持一致;
    [0026]
    特征级mcfa方法:基于奇异值分解的特征融合攻击简称svd_fefa,其假设一个密码模块的某种旁路信号集合为l,且l中包含了m条旁路信号,每条信号有n个样本点;若l每个行向量代表一条信号,每个列向量代表密码算法运行中同一个中间值在同一时刻的泄漏样本点,那么从信号时频分析的角度出发,对l进行奇异值分解svd,则l的左奇异值向量包含了l的频域信息,也即l中所有旁路信号在同一时刻的变化情况;奇异值包含了l的能量信息,也即信号的大小;右奇异值向量包含了l的时域信息,也即l中的单条信号在不同时刻的
    变化情况;svd_fefa即是首先将多个单信道旁路信号集合的左奇异值向量融合成新的泄漏集合,然后进行攻击;
    [0027]
    决策级mcfa方法:基于最大似然的决策融合攻击简称ml_defa,其假设一个密码算法运行中,分别从m个信道采集到m组不同的旁路泄漏信号集合,并使用l1,l2,

    ,lm表示这些泄漏信号集合;令lm={l1,l2,

    ,lm},且将单个子密钥可能的候选值集合表示为k={k1,k2,

    ,kn},符号p(
    ·
    )表示随机变量的概率分布函数;根据条件独立性、贝叶斯定理和子密钥第i个候选值在已知m个信道泄漏lm条件下的后验概率可得如下公式:
    [0028][0029]
    式中,p(l)和p(lj)分别表示旁路信号集合和第j组泄漏信号集合的概率分布函数,ki和lj分别表示集合k和lm的子集,由于p(l),p(lj)与子密钥猜测值分布无关,且子密钥猜测值一般认为是均匀分布,所以最后的子密钥猜测为:
    [0030][0031]
    ml_defa将每个单信道旁路攻击得到的子密钥分数利用贝叶斯定理转化为后验概率后,分别相乘取最大值作为子密钥候选值的最终得分,并将最大得分对应的子密钥作为猜测密钥输出。
    [0032]
    进一步地,所述ld模块通过基于卡方检验的泄漏检测方法cs_ld进行泄漏检测;
    [0033]
    所述cs_ld方法与所述cqm原理类似,基于r
    ×
    c列联表的卡方检验,统计量不变,区别在于:列联表的行和列变为了密码算法实现的目标中间值,以及多信道旁路融合泄漏;或者是每个单信道旁路信号集检测后,利用加权贝叶斯推断并设定阈值来整合单信道泄漏检测结果后,得出最终的检测结果。
    [0034]
    进一步地,所述密钥枚举攻击与密钥排序评估模块的具体实现过程包括:
    [0035]
    将主密钥分成多个部分进行侧信道攻击后,得到各个子密钥所有候选值的排序及分数,之后据此枚举主密钥候选值,以期恢复完整的主密钥;
    [0036]
    本模块的密钥枚举算法结合子密钥候选值排序位置随泄漏信号数目变化的黎曼积分,一是对二者加权成一个新的度量指标,二是随机选择一定数量的泄漏信号,多次计算各个子密钥所有候选值的排序,观察并使用一个指标来度量各个子密钥候选值中排序位置变化,然后据此指标值重新排序,将所有正确子密钥的排序位置提前,进而将正确主密钥的排序位置提前。
    [0037]
    本发明与现有技术相比,其显著优点为:着眼于现实需求,覆盖信号预处理、攻击、泄漏检测及报告生成等多个测评环节,不仅创新性地开发了一套较为完整的多信道旁路分析与检测工具,同时也兼容单信道旁路分析与检测(只需导入一种旁路泄漏数据即可),而且还特别考虑了实际中更可能遇到的情况——即当泄漏量极少以至于无法满足密钥恢复需要时,如何利用密钥枚举攻击及密钥排序评估,评估密码模块的安全水平,并建议在泄漏量多大时应更换密钥或算法实现,以策安全。
    [0038]
    下面结合附图对本发明作进一步详细描述。
    附图说明
    [0039]
    图1为多信道旁路信号安全分析与检测系统框架图。
    [0040]
    图2为信号预处理模块示意图。
    [0041]
    图3为多信道融合攻击模块示意图。
    [0042]
    图4为多信道泄漏检测模块示意图。
    [0043]
    图5为密钥枚举攻击与密钥排序评估模块示意图。
    [0044]
    图6为两个单信道旁路信号集合除去共有部分得到不相关的信号的示意图。
    具体实施方式
    [0045]
    为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
    [0046]
    本发明采用模块化设计思路,共有6个模块,如图1所示:
    [0047]
    1、文件处理模块。主要功能是对旁路信号数据进行处理,将采集到的电磁文件和明文文件读入到矩阵中,方便后续功能的使用,可处理的数据格式包括.csv和.bin两种。
    [0048]
    2、信号预处理模块。主要功能是对旁路信号进行预处理,包括多信道旁路信号对齐、多信道旁路信号融合程度判断,以及二阶攻击预处理。其中:
    [0049]
    1)多信道旁路信号对齐方法针对的对象是采取嵌有隐藏防护对策的密码模块,包括一种全局对齐方法(基于needleman-wunsch的对齐方法,简称nw_la)与一种局部对齐方法(基于smith-waterman的对齐方法,简称sw_la)。
    [0050]
    其中,nw_la的步骤如下:首先,将旁路信号经过数据标准化处理,进行非均匀量化,得到相应的符号序列。然后使用needleman-wunsch算法(优化匹配算法和整体序列比较法)通过全局比对,以不同的打分矩阵和计分规则得到符号序列集合最相似的部分,即最长公共子序列,从而对齐旁路信号。sw_la的步骤与nw_la类似,只不过sw_la在将旁路信号数据转化为符号序列后,使用smith-waterman算法通过局部比对,得到符号序列集合的最长公共子序列,从而对齐旁路信号。
    [0051]
    2)多信道旁路信号融合程度判断主要用于在进行安全分析与检测之前,判断某些信道的旁路信号是否包含有用的秘密信息,是信号融合、攻击与泄漏检测的前提工作。该系统使用基于卡方检验的融合标准(简称cqm),当使用多信道旁路信号计算出的cqm值高于一定阈值时,认为可以进行多信道旁路信号融合,进入下一步融合、攻击或泄漏检测环节,否则应重新选择其他信道的旁路信号来重新计算。
    [0052]
    cqm的步骤如下:首先,假设两个单信道旁路信号集合分别为l1和l2。显然l1和l2之间应该有一个依赖于共同秘密信息的交集部分f,这两个单信道旁路信号越适合联合,交集f就应该越大,l1和l2之间的相关性就越大。此时,l1和l2分别除去共有部分f得到的e1和e2应是不相关的信号(诸如不同信道的电子噪声等等,如图6)。然后,使用卡方独立性检验(即r
    ×
    c列联表的卡方检验)l1和l2的相关性,那么有统计量:
    [0053][0054]
    其中r和c分别表示l1和l2中泄漏信号样本点数,n为总样本点数,v
    ij
    和p
    ij
    分别为样
    本总体的实际观察频次和理论频次;如果统计量χ2的值超出相应置信水平下的阈值,则l1和l2相关性大,适合融合;否则,不适合融合。
    [0055]
    3)二阶攻击预处理针对的对象是采取嵌入一阶掩码防护对策的密码模块,是进行攻击之前的环节,包括两种经典预处理操作,即求正则化积和绝对值差。
    [0056]
    3、多信道融合攻击(multi-channel fusion attacks,简称mcfa)模块,该模块可兼容单信道攻击和二阶攻击。多信道融合攻击通过恢复密码算法实现的密钥来评估密码模块的安全水平,从实现方式上分为数据级、特征级和决策级3种mcfa方法。
    [0057]
    其中,数据级mcfa:简单泄漏数据融合攻击(简称s_dafa),该方法假设运行在一个密码模块上的某密码算法进行了一次加密或解密运算,并在其间获取到该密码算法实现中的某一个操作的单信道旁路信号。将多个单信道的旁路信号串联起来,得到的融合泄漏信号数目相比单信道的泄漏信号数目会增加数倍。在此基础上攻击应该能提高侧信息泄漏利用率,增加正确密钥对应的相关系数,从而增加旁路分析效率。然而,直接串联会降低融合信号的信噪比。s_dafa算法通过减去每条信号的均值来消除不同信道旁路信号在幅度上的差别,然后通过向量标准化操作使旁路信号量纲保持一致,从而提高信噪比并优于单信道攻击。
    [0058]
    特征级mcfa:基于奇异值分解的特征融合攻击(简称svd_fefa),假设一个密码模块的某种旁路信号集合为l,且l中包含了m条旁路信号,每条信号有n个样本点。若l每个行向量代表一条信号,每个列向量代表密码算法运行中同一个中间值在同一时刻的泄漏样本点,那么从信号时频分析的角度出发,对l进行奇异值分解(svd),则l的左奇异值向量包含了l的频域信息,也即l中所有旁路信号在同一时刻的变化情况;奇异值包含了l的能量信息,也即信号的大小;右奇异值向量包含了l的时域信息,也即l中的单条信号在不同时刻的变化情况。由于绝大多数旁路攻击使用统计手段揭示秘密信息时,所利用的正是所有信号中目标中间值在同一时刻的变化信息,所以l的左奇异向量可以看作l的主要泄漏特征,可以用来刻画l。svd_fefa即是首先将多个单信道旁路信号集合的左奇异值向量融合成新的泄漏集合,然后进行攻击。
    [0059]
    决策级mcfa:基于最大似然的决策融合攻击(简称ml_defa),其假设一个密码算法运行中,分别从m个信道采集到m组不同的旁路泄漏信号集合,并使用l1,l2,

    ,lm表示这些泄漏信号集合;令lm={l1,l2,

    ,lm},且将单个子密钥可能的候选值集合表示为k={k1,k2,

    ,kn},符号p(
    ·
    )表示随机变量的概率分布函数;根据条件独立性、贝叶斯定理和子密钥第i个候选值在已知m个信道泄漏lm条件下的后验概率可得如下公式:
    [0060][0061]
    因为p(l),p(lj)与子密钥猜测值分布无关,且子密钥猜测值一般认为是均匀分布,所以最后的子密钥猜测为:
    [0062][0063]
    ml_defa将每个单信道旁路攻击得到的子密钥分数利用贝叶斯定理转化为后验概
    率后,分别相乘取最大值作为子密钥候选值的最终得分,并将最大得分对应的子密钥作为猜测密钥输出。本方法联合了各个单信道攻击所得的子密钥的后验概率,进而得到优于单信道攻击的结果。
    [0064]
    4、多信道泄漏检测(leakage detection,简称ld)模块。该模块用于筛选出旁路信号中包含秘密信息的泄漏特征点,排除非特征点干扰,减小需要处理的数据空间,提高测评效率。该模块自主设计提出了1种泄漏检测方案:基于卡方检验的泄漏检测方法(cs_ld)。
    [0065]
    该方案与cqm原理类似,基于r
    ×
    c列联表的卡方检验,统计量不变,只不过列联表的行和列变为了密码算法实现的目标中间值,以及多信道旁路融合泄漏;或者是每个单信道旁路信号集检测后,利用加权贝叶斯推断并设定阈值来整合单信道泄漏检测结果后,得出最终的检测结果。
    [0066]
    5、密钥枚举攻击模块。考虑到实际中的敌手更可能遇到这种情形:即没有充分的环境条件来获取某一密码模块的足够的泄漏量来完成一次成功的密钥恢复攻击,此时在旁路信号数据量极少时,该系统提供了密钥枚举攻击方法来估计密码模块的安全水平,可对密码模块何时更换密钥或算法给出可行性建议。
    [0067]
    本模块的流程可简述为:通过将主密钥分成多个部分进行侧信道攻击后,得到各个子密钥所有候选值的排序及分数,然后据此枚举主密钥候选值,以期恢复完整的主密钥。本模块的密钥枚举算法结合子密钥候选值排序位置随泄漏信号数目变化的黎曼积分,一是对二者加权成一个新的度量指标,二是随机选择一定数量的泄漏信号,多次计算各个子密钥所有候选值的排序,观察并使用一个指标来度量各个子密钥候选值中排序位置变化,然后据此指标值重新排序,将所有正确子密钥的排序位置提前,进而将正确主密钥的排序位置提前,从根本上减少密钥恢复攻击之后的枚举次数。
    [0068]
    6、测评报告生成模块。该模块对旁路分析与检测的结果进行汇总,生成安全测评报告,给出密码模块抗旁路攻击的安全水平和关于密钥、密码算法更换的建议,或是针对泄漏特征的防护措施。
    [0069]
    本发明多信道旁路信号安全分析与检测系统的成品以软件形式存在,生成的“.exe”文件可安装在一台普通的个人计算机(要求操作系统是win7或win10)上运行,支持针对诸如des、3des、aes、rc4、sm4、rsa、tea、rsa等主流密码算法的旁路安全水平测评。该系统在进行安全评估之前,需导入预先采集的密码模块的多信道旁路泄漏信号文件与明密文信息,然后根据用户需求分别实现信号预处理、旁路攻击、泄漏检测,以及密钥枚举攻击与密钥排序评估等,并生成测评报告。
    [0070]
    此处结合附图说明系统的整体运行流程:
    [0071]
    首先在系统里导入.csv或.bin的格式文件,这两种格式的文件是在密码模块运行时泄漏的多信道旁路信号;随后在系统上选择系统的预处理模块对旁路信号进行预处理(如图2),预处理模块有3个菜单可供选择,分别是多信道旁路信号对齐、多信道旁路信号融合程度判断和二阶攻击预处理。
    [0072]
    用户根据对密码模块的了解情况进行选择,如果密码模块嵌有隐私防护对策则选择多信道信号对齐:此功能下设计了1种全局对齐方法(基于needleman-wunsch算法的对齐,简称nw_la)和局部对齐方法(基于smith-waterman算法的对齐,简称sw_la),以上对齐方法都兼容单/多信道旁路信号对齐,用户根据信号类型选择对应的算法进行对齐。对齐操
    作完成后,系统界面弹窗提示“对齐操作完成!”。如果是嵌入一阶掩码防护对策的密码模块,则选择二阶攻击预处理:此项是进行攻击之前的环节,包括两种经典预处理操作,即求正则化积和绝对值差。
    [0073]
    之后用户进行多信道旁路信号融合程度判断,此功能依赖1个度量标准(基于卡方检验的融合标准,简称cqm),如果使用多信道旁路信号计算出的cqm值高于一定预设阈值时,认为可以进行多信道旁路信号融合,进入下一步融合、攻击或泄漏检测环节,否则应重新选择其他信道的旁路信号来重新计算。
    [0074]
    完成信号预处理之后,选择多信道融合攻击(mcfa)模块(如图3),该模块通过恢复密码算法实现的密钥来评估密码模块的安全水平,可兼容单信道攻击和二阶攻击。攻击方法从安全级别上可以划分为数据级、特征级和决策级三大类,每个类别包含1种攻击算法,一共3种算法,皆自主设计。其中,数据级融合攻击方法包括:简单泄漏数据融合攻击(简称s_dafa);特征级融合攻击方法包括:基于奇异值分解的特征融合攻击(简称svd_fefa);决策级融合攻击方法包括:基于加权贝叶斯推断的决策融合攻击(简称ml_defa)。以上算法在系统界面上以下拉菜单的形式供用户选择,如果攻击成功则会弹窗提示“攻击成功”,否则提示“攻击失败,密码安全!”考虑到融合攻击方法未必能达到最优效果,在以上方法的基础上利用负相关分析技术对多信道旁路信号数据、特征、攻击结果分别求取线性最优融合结果,从而提供了线性条件约束下的数据级、特征级和决策级的最优一种mcfa方法,能够评估最坏泄漏场景下密码模块的抗旁路攻击安全水平。
    [0075]
    多信道泄漏检测(leakage detection,简称ld)模块(如图4)。该模块用于筛选出旁路信号中包含秘密信息的泄漏特征点,排除非特征点干扰,减小需要处理的数据空间,提高测评效率。该模块共自主设计提出了1种泄漏检测方案:基于卡方检验的泄漏检测方法(cs_ld)。
    [0076]
    特别地,如果用户没有充分的环境条件来获取某一密码模块的足够的泄漏量来完成一次成功的密钥恢复攻击,此时在旁路信号数据量极少时,则不能选择多信道融合攻击模块,为此系统设计了密钥枚举攻击与密钥排序评估模块(如图5)用密钥枚举攻击与密钥排序评估方法来估计密码模块的安全水平,可对密码模块何时更换密钥或算法给出可行性建议。
    [0077]
    最后,在完成上述所有模块之后,可以进行测评报告生成模块。该模块汇集多信道融合攻击模块、多信道泄漏检测模块和密钥枚举攻击与密钥排序评估模块的结果,生成安全测评报告,报告包含攻击结果、秘密信息的泄漏特征点和密码模块的安全建议。
    [0078]
    多信道旁路信号安全分析与检测系统使用java编程语言,eclipse2019,jdk1.7.0环境进行开发,设计了7个java类,分别为:
    [0079]
    (1)attack_window窗口类,其继承自jframe类,其中创建了一个jpanel,以及多个按钮组件,实现系统界面的设计。
    [0080]
    (2)file_choose为文件选择类,该类定义了选择文件的函数,实现在电脑里读取文件。
    [0081]
    (3)prehandle为信号预处理类,该类实现了预处理模块设计的算法。
    [0082]
    (4)attack_method为攻击类,该类定义多信道融合攻击模块的6种攻击方法。
    [0083]
    (5)leak_detection为泄漏检测类,该类实现了泄漏检测模块的3种泄漏检测方
    案。
    [0084]
    (6)print为显示类,该类定义了显示结果的函数,用于显示其他模块的执行结果。
    [0085]
    (7)data为数据类,该类包含整个项目中用到的数据,是专门存放通用数据的类。
    [0086]
    综上,本发明可融合并利用密码模块运行时泄漏的多种或多个信道的物理信息,通过多信道旁路信号预处理、多信道融合攻击、多信道泄漏检测、密钥枚举攻击及密钥排序评估等手段,完成对密码模块的抗旁路攻击能力、泄漏特征及安全水平的分析与评估。本发明可在实际密码模块产品送专业安全测评机构或实验室前对其预检并改进,减少产品的测评周期及测试成本,加快产品转化为实用化进度。相较目前市场上旁路分析检测系统只能利用单信道信息泄漏且未评估密钥枚举攻击的威胁,本发明可提供更加全面的深度安全测评结论与建议。
    [0087]
    以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。
    转载请注明原文地址:https://tc.8miu.com/read-1803.html

    最新回复(0)