一种智能卡三位一体抗侧信道攻击防护方法和系统
技术领域
本发明属于信息安全技术领域,具体涉及一种智能卡三位一体抗侧信道攻击防护方法和系统。
背景技术
随着信息技术的高速发展和智能卡的日益普及,智能卡的应用已经遍布人们生活的方方面面。智能卡(smart card)又称集成电路卡,即IC卡(integrated circuit card)。它拥有便捷安全等特点。为了保护智能卡上信息和通信的安全,在智能卡上实现了多种加密算法,对智能卡进行加密是目前有效保障智能卡安全的手段之一。常用算法包括对称加密的DES、AES,也有非对称加密的RSA、ECC以及计算报文摘要的SHAx系列、MAC等。安全算法可用两种方式实现:硬件实现和软件实现。
由于智能卡中存在大量的敏感信息,针对窃取智能卡保护数据的各种攻击技术也在同步发展。目前国内外对智能卡的攻击主要包括物理攻击、逻辑攻击和旁路攻击。物理攻击成本高,耗时费力,虽然成功率高但较少采用;逻辑攻击投入较少,容易实施,但也容易防范,成功率较低[2]。新兴的旁路攻击技术因其实施简单且较高收益而被广泛使用。功耗分析便是旁路分析的一种。功耗分析攻击又可以细分为简单功耗分析攻击(SPA)和差分功耗分析攻击(侧信道)。在过去的十年里,这两种攻击手段得到了长足的发展并且取得了显著的成功。由于其易实施且成功率高的显著优点,它对智能卡工业带来了巨大的安全风险。几乎所有的国内外智能卡安全检测标准都将旁路攻击作为智能卡所面临的安全风险中的第一威胁。
旁路攻击是利用智能卡在运算过程中泄漏出的信息进行攻击的一种攻击方法,其中的功耗攻击是目前攻击者常用的攻击方法,以差分功耗分析(侧信道)为代表的该类型攻击手段采集的是智能卡加密运算中芯片的功率消耗信息,然后对功耗信息处理和分析,获取关于破解的有用信息。功耗信息的获取可以通过在智能卡的VCC或者GND触点上串联一个电阻实现。
不论是计算机还是智能卡,其CPU在处理在进行数据处理时候,数据的计算最终都归结到了逻辑状态0和逻辑状态1的操作,对0和1的处理,会有不同的功率消耗。利用专业的功耗采样设备可以获取智能卡在处理数据过程中功率消耗的波形,通过分析智能卡的功耗波形确定智能卡加密的区间,对加密区间大量采样并通过后续的分析和处理达到破解智能卡加密密钥的目的,这就是功耗攻击。
我们以DES算法为例来介绍侧信道攻击的实施过程。侧信道攻击是通过用示波器捕获智能卡运算过程中的功率消耗来分析其行为,破解其密钥的攻击方法。攻击者只需要知道算法的明文(输入)和密文(输出),通过统计分析和比较等一系列的功耗轨迹来重现密钥。
针对DES算法的侧信道攻击的分析过程如下:
(1)假设已经采集了N条记录智能卡执行DES加密操作的能耗图(N代表一个大量采样)。
(2)对能耗图进行图像处理并定位到DES运算中的第一轮中的第一个S-Box输出中的某1比特,该1比特取决与6比特的S-Box输入,而进一步取决于6比特的子密钥。
(3)因此可以猜测该6比特的子密钥,共64种猜测可能性。每一次猜测结合N条能耗图的明文输入,可以产生对应的N个S-Box输出中的某1比特的值。
(4)将产生的N个S-Box输出中的某1比特的值与1000条能耗图做相关性比较,如果猜测正确,则相关性比较将在特定时间点出现峰值,如图1所示。
(5)一旦峰值得到确认,则可以确定48比特子密钥中的6比特,用同样的方法处理第一轮的另外7个S-Box盒,可以得到完整的48比特子密钥。
(6)用同样的方法处理DES运算第二轮,得到第二轮48比特子密钥,2个子密钥则可以完全找到56比特的DES加密运算密钥。
为了能够有效地抵御旁路攻击所带来的安全风险,近些年来一些抗旁路攻击的防护策略被陆续的提出来,传统观念认为,智能卡安全防御是芯片厂商的事情,只要芯片具有防护策略就万事大吉了。但不管是芯片厂商还是COS厂商都普遍认为,单单在一个层面上实施安全防护策略无法有效抵抗旁路攻击。最有效的安全防护方法必须建立在芯片层、COS层和应用层的相互协作配合的基础上。
从另一个角度上来说,安全和可用性永远是一对矛盾。实现安全防护策略必将付出代码长度、运算时间、RAM空间等方面的开销代价,这将影响智能卡的可用性。因此,除了要在三个层面上统一实施安全防护策略外,还需要根据智能卡应用的实际需求来合理设计安全策略,实现智能卡安全和可用性的完美平衡。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种智能卡三位一体抗侧信道攻击防护方法和系统。该方法和系统能够改进智能卡DES算法,增加智能卡抵抗侧信道攻击的难度。
为达到以上目的,本发明采用的技术方案是:
一种智能卡三位一体抗侧信道攻击防护方法,在智能卡COS层设置一个安全控制中心,以对芯片层、COS层和应用层的抗攻击策略实现统一配置和管理,合法用户在获得验证后(PIN校验),通过用户安全配置界面来对安全控制中心发送指令,以实现灵活而统一的三位一体的抗攻击策略的配置及管理。
进一步,所述的芯片层抗攻击策略包括下面的一种或多种:
1)芯片层噪声干扰
在芯片层引入噪音干扰,导致波形图杂乱无章,无规律可循,所谓的噪声干扰,就是引入其他的随机运算,使得引入的随机运算消耗的功率影响到正常的加密运算的功耗波形,从而增加侧信道攻击中查找加密运算发生区间的困难;
2)芯片层随机延时
在芯片层引入随机延时,使得加密运算不发生在多条功耗波形图的同一时间点上,增加了对齐操作的难度,继而增加侧信道攻击的难度;
3)芯片层补偿电路
在电路设计中加入额外的补偿电路,造成额外的电路功率补偿或者消耗,混乱侧信道攻击时需要采集的功耗图,达到抗侧信道攻击的目的;
4)芯片层针对算法的Mask技术
在DES算法中对密钥值或者加密数据进行掩码,MASK技术利用一个随机数r来对要想掩码的关键信息进行处理;
5)芯片层EEPEOM噪音
在芯片中实现EEPEOM噪音技术,即在算法执行的同时,系统随机进行EEPEOM读写操作,从而产生无规律的随机电流噪音,该电流噪音会导致能耗波形图杂乱无章,使得观测者无法正常实施侧信道攻击;
6)芯片层总线噪音
在芯片中实现了总线噪音技术,即在总线闲置时产生随机电流噪音,该电流噪音会使得能耗波形图杂乱无章,使得观测者无法正常实施侧信道攻击。
更进一步,所述的补偿电路用随机数的方式进行运算,产生的随机电流使得智能卡运算中的功率消耗无法预测,进而进一步增加了侧信道攻击的难度。
进一步,所述的COS层抗攻击策略包括下面的一种或多种:
1)COS层噪声干扰
在COS层通过软件方式引入噪音干扰,在协处理器进行DES运算的同时,在主处理器上实现一系列随机能耗的工作,使综合能耗无法真实反映DES运算的能耗;
2)COS层随机延时
在主处理器调用DES运算模块之前随机引入一个延时,以增加侧信道攻击的难度;
3)COS层针对算法的Mask技术
专门针对由软件实现的DES算法,采用掩码技术来对加密数据和密钥实施掩码,来给攻击者破解算法密钥带来难度;
4)COS层算法内部噪声干扰
专门针对由软件实现的DES算法,在其DES算法实现的内部通过引入噪声干扰实现一个针对软DES的抗攻击策略;
5)COS层算法内部随机延时
专门针对由软件实现的DES算法,在其DES算法实现的内部通过引入随机延时的方法实现一个针对软DES的抗攻击策略。
6)COS层算法内部随机S-Box
专门针对由软件实现的DES算法,在其DES算法实现的内部通过随机S-Box的方法实现一个针对软DES的抗攻击策略;
7)COS层EEPEOM噪音
在COS层实现的EEPEOM噪音技术,即在算法执行的过程中,系统随机的进行EEPEOM读写操作,从而产生无规律的随机电流噪音,该电流噪音会导致能耗波形图杂乱无章,使得观测者无法正常实施侧信道攻击。
进一步,所述的应用层抗攻击策略包括下面的一种或多种:
1)应用层密钥使用计数器
在智能卡的应用层,加入密钥使用计数器,用于限制对卡执行加密运算的次数,在密钥写入卡片的同时写入一个初始计数值,当在应用层每次调用DES运算的时候,密钥每使用一次,计数器减一,当计数器减为零时,密钥不能再被使用或者直接锁死智能卡;
2)应用层输入输出操作和可视性限制
在智能卡的应用层,限制或禁止加密算法运算的明文或密文的输出操作,攻击者因无法获取侧信道攻击所需要的足够的明文密文对而无法实施侧信道攻击。
进一步,在智能卡COS层的EEPROM中分配三个字节的存储空间,每一个字节的每一位用以控制芯片层、COS层和应用层中某一层的某一个抗攻击策略的开启和关闭。
本发明还公开了一种智能卡三位一体抗侧信道攻击防护系统,包括用户安全配置模块及与其连接的安全控制中心模块,与安全控制中心模块连接的芯片层抗攻击策略集合模块、COS层抗攻击策略集合模块、应用层抗攻击策略集合模块,其中:
所述的用户安全配置模块用于对安全控制中心发送指令,以实现灵活而统一的三位一体的抗攻击策略的配置;
所述的安全控制中心模块用于在COS层实现一个安全控制中心,以对芯片、COS和应用三个层的抗攻击策略实现统一管理,实现不同抗攻击策略的开启和关闭;
所述的芯片层抗攻击策略集合模块用于集合现有国内外主流芯片在对抗侧信道攻击的抗攻击策略;
所述的COS层抗攻击策略集合模块用于集合在COS层实现的抗攻击防护策略;
所述的应用层抗攻击策略集合模块用于集合在应用层实现的抗攻击防护策略。
进一步,所述的芯片层抗攻击策略由不同的芯片厂商自行设计实现并向安全控制中心模块提供配置接口,所述的COS层抗攻击策略由不同的COS厂商设计实现并向安全控制中心提供配置接口,所述的应用层抗攻击策略由不同的应用提供商实现并向安全控制中心提供配置接口。
进一步,所述的用户安全配置模块还用于合法用户在PIN校验后对安全控制中心发送指令。
进一步,所述的用户安全配置模块在PC端实现了一个用户安全配置界面,合法用户可以在完成PIN校验后,通过该用户界面来操作安全控制中心,对芯片层、COS层和应用层的抗攻击策略实施灵活而统一的配置。
本发明的效果在于:采用本发明所述的方法和系统,可以改进智能卡DES算法,增加智能卡抵抗侧信道攻击的难度。本发明根据不同芯片的性能特征以及智能卡应用要求来统一对芯片、COS、应用三个层次的安全策略实施统一配置与调控,从而实现一个灵活立体的安全防御体系,满足开销最小、效果最好的要求,实现一个统一而灵活的智能卡三位一体的立体化安全防御体系。
附图说明
图1是侧信道攻击的原理图;
图2是本发明所述系统的结构图;
图3本发明所述方法的流程图;
图4是芯片层抗攻击策略集合模块结构图;
图5是COS层抗攻击策略集合模块结构图;
图6是应用层抗攻击策略集合模块结构图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步描述。
如图2所示,一种智能卡三位一体抗侧信道攻击防护系统,包括用户安全配置模块11及与其连接的安全控制中心模块12,与安全控制中心模块12连接的芯片层抗攻击策略集合模块13、COS层抗攻击策略集合模块14、应用层抗攻击策略集合模块15,每个模块的详细描述如下:
用户安全配置模块11:便于用户能够根据智能卡应用需求进行合理的配置,该模块在PC端实现了一个用户安全配置界面,合法用户可以在完成PIN校验后,通过该用户界面来操作安全控制中心12,对芯片层、COS层和应用层的抗攻击策略实施灵活而统一的配置。
安全控制中心模块12:该模块在COS层实现了一个安全控制中心,以对芯片、COS和应用三个层的抗攻击策略实现统一管理。合法用户可以在PIN校验后,通过用户安全配置界面来对安全控制中心发送指令,以实现灵活而统一的三位一体的抗攻击策略的配置。
芯片层抗攻击策略集合模块13:该模块包括了现有国内外主流芯片在对抗侧信道攻击的抗攻击策略,这些策略由不同的芯片厂商自行设计实现并向安全控制中心模块提供配置接口,安全控制中心可以实现对不同芯片层所提供的抗攻击策略的开启和关闭。
COS层抗攻击策略集合模块14:该集合中包括了在COS层实现的抗攻击防护策略的集合。这些策略由不同的COS厂商设计实现并向安全控制中心提供配置接口,安全控制中心可以实现对不同COS层抗攻击策略的开启和关闭。
应用层抗攻击策略集合模块15:该集合中包括了在应用层实现的抗攻击防护策略的集合。这些策略由不同的应用提供商实现并向安全控制中心提供配置接口,安全控制中心可以实现对不同应用层抗攻击策略的开启和关闭。
如图3所示,一种智能卡三位一体抗侧信道攻击防护方法,在智能卡COS层设置一个安全控制中心,以对芯片层、COS层和应用层的抗攻击策略实现统一配置和管理,合法用户在获得验证后(PIN校验),通过用户安全配置界面来对安全控制中心发送指令,以实现灵活而统一的三位一体的抗攻击策略的配置和管理。
如图4、图5、图6所示,为了实现安全控制中心的功能,本实施例中,在COS层的EEPROM中分配三个字节的存储空间,每一个字节的每一位用以控制芯片、COS和应用层中某一层的某一个抗攻击策略的开启和关闭。
本实施例中,所述的芯片层抗攻击策略包括:
1)芯片层噪声干扰
侧信道攻击之所以能够攻击成功,关键就是能够在功耗波形图分辨出智能卡指令执行过程中加密算法被运算的过程。通过在芯片层引入噪音干扰,导致波形图杂乱无章,无规律可循,从而使得观测者在功耗波形图中无法分辨智能卡加密运算过程,也就无法破解出加密密钥。所谓的噪声干扰,就是引入其他的随机运算,使得引入的随机运算消耗的功率影响到正常的加密运算的功耗波形,从而增加侧信道攻击中查找加密运算发生区间的困难。
2)芯片层随机延时
侧信道需要采集多条智能卡执行加密算法的功耗图,但是在一个时间点上采集的多条功耗图,其加密运算发生的位置是相对固定的,在进行分析时只需要进行简单的对齐操作就可以使得加密运算区间对齐到同一位置,进而破解成功。通过引入随机延时,使得加密运算不发生在多条功耗波形图的同一时间点上,增加了对齐操作的难度,继而增加侧信道攻击的难度。
3)芯片层补偿电路
因为对于智能卡的差分功耗分析攻击利用了智能卡进行运算处理时所消耗的功率信息,如果在电路设计中加入额外的补偿电路,造成额外的电路功率补偿或者消耗,混乱侧信道攻击时需要采集的功耗图,达到抗侧信道攻击的目的。该额外的电路还可以用随机数的方式进行运算,产生的随机电流使得智能卡运算中的功率消耗无法预测,进而进一步增加了侧信道攻击的难度。
4)芯片层针对算法的Mask技术
--芯片层数据Mask
--芯片层密钥Mask
以DES算法为例,Mask技术即在DES算法中对密钥值或者加密数据进行掩码。MASK技术利用一个随机数r来对要想掩码的关键信息进行处理,由于r是未知的和随机的,因此侧信道攻击分析出的结果并不是攻击者想要的真实结果。掩码技术又分为数据掩码(加密数据)和密钥掩码。
5)芯片层EEPEOM噪音
在某些芯片中实现了EEPEOM噪音技术,即在算法执行的同时,系统随机进行EEPEOM读写操作,从而产生无规律的随机电流噪音,该电流噪音会导致能耗波形图杂乱无章,使得观测者无法正常实施侧信道攻击。
6)芯片层总线噪音
在某些芯片中实现了总线噪音技术,即在总线闲置时产生随机电流噪音,该电流噪音会使得能耗波形图杂乱无章,使得观测者无法正常实施侧信道攻击。
所述的COS层抗攻击策略包括:
1)COS层噪声干扰
与芯片层一样,在COS层也可通过软件方式引入噪音干扰。在智能卡中,DES运算通常都是由协处理器进行的,在协处理器进行DES运算的同时,我们在主处理器上实现一系列随机能耗的工作,使综合能耗无法真实反映DES运算的能耗。
2)COS层随机延时
与芯片层一样,在COS层也可以通过软件方式引入随即延时:即在主处理器调用DES运算模块之前随机引入一个延时,以增加侧信道攻击的难度。
3)COS层针对算法的Mask技术
--COS层数据Mask
--COS层密钥Mask
专门针对由软件实现的DES算法,同样采用掩码技术来对加密数据和密钥实施掩码,来给攻击者破解算法密钥带来难度。
4)COS层算法内部噪声干扰
专门针对由软件实现的DES算法,我们在其DES算法实现的内部通过引入噪声干扰实现一个针对软DES的抗攻击策略。
5)COS层算法内部随机延时
专门针对由软件实现的DES算法,我们在其DES算法实现的内部通过引入随机延时的方法实现一个针对软DES的抗攻击策略。
6)COS层算法内部随机S-Box
专门针对由软件实现的DES算法,我们在其DES算法实现的内部通过随机S-Box的方法实现了一个针对软DES的抗攻击策略。
7)COS层EEPEOM噪音
在COS层实现的EEPEOM噪音技术,即在算法执行的过程中,系统随机的进行EEPEOM读写操作,从而产生无规律的随机电流噪音,该电流噪音会导致能耗波形图杂乱无章,使得观测者无法正常实施侧信道攻击。
所述的应用层抗攻击策略包括:
1)应用层密钥使用计数器
--应用层密钥使用计-限制结果输出
--应用层密钥使用计-锁卡
在智能卡的应用层,加入密钥使用计数器,用于限制对卡执行加密运算的次数。对于侧信道攻击,一般的破解密钥需要上万甚至十万百万次的执行加密运算的采样。在密钥写入卡片的同时写入一个初始计数值,当在应用层每次调用DES运算的时候,密钥每使用一次,计数器减一,当计数器减为零时,密钥不能再被使用或者直接锁死智能卡,这样就能防止攻击者实现侧信道攻击所必需的大规模采样。
2)应用层输入输出操作和可视性限制
侧信道攻击必须基于随机明文加密的大量采样,限制或禁止加密算法运算的明文或密文的输出操作,攻击者因无法获取侧信道攻击所需要的足够的明文密文对而无法实施侧信道攻击。因此,我们也实现了该安全防护策略来保护智能卡的安全。即通过COS层配置中禁止使用将明文或密文输出的函数。
合法用户在正确的PIN校验后,可以通过用户安全配置界面来对安全配置中心实施操控,即通过向智能卡发送APDU指令来修改安全配置中心中的策略控制字,从而实现灵活而统一的三位一体的抗攻击策略的配置。
当应用需要调用加密算法时,系统首先读取安全配置中心中的策略控制字,如果其中某一位的值为1,系统便调用相应的程序来激活该位所对应的安全防护策略。一旦完成激活,这个三位一体的安全防护体系将开始发挥作用,保障算法执行的安全。
本领域技术人员应该明白,本发明所述的方法和系统并不限于具体实施方式中所述的实施例,上面的具体描述只是为了解释本发明的目的,并非用于限制本发明。本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围,本发明的保护范围由权利要求及其等同物限定。