一种抵抗物理攻击和系统攻击的密钥保护方法技术方案

技术编号:11994003 阅读:119 留言:0更新日期:2015-09-02 22:11
本发明专利技术提供了一种抵抗物理攻击和系统攻击的密钥保护方法,通过设置多核处理器的每个核一个对称主密钥,动态地解密出非对称算法的私钥明文,并通过Intel的TSX(Transactional Synchronization Extensions)扩展指令,从硬件层面上保证私钥以及计算过程中使用的中间变量只存在于该核独占的高速缓冲存储器中,可以防止攻击者直接从物理内存中窃取私钥信息,从而保障公钥密码算法在计算机系统环境下实现的安全性;并且,即使操作系统被攻破,攻击者可以直接读取密钥的内存空间,由于Intel的TSX机制保证了内存操作的原子性,攻击者不能获取明文私钥;进一步,在这种解决方案中,多核处理器的其他核也可以同时进行密码运算,提高了运算效率。

【技术实现步骤摘要】

本专利技术涉及计算机安全领域,特别涉及。
技术介绍
计算机技术随着信息技术的高速发展,在人类生产和生活中的应用越来越普及,人们已经变的离不开计算机;但同时,计算机系统存储着个人的各种隐私数据,如果得不到有效的保护,用户的隐私安全将面临严重威胁。个人隐私数据可以通过密码学的方法进行保护,而一个密码系统的强度,除了和所用的密码算法直接相关外,密钥的存储也是尤其重要的。一旦密钥泄露,任何加密信息将不再机密。密码算法一般分对称密码算法和公钥密码算法两种。对称密码算法的加密方和解密方使用的是同一密钥,通信双方必须事先协商并保管好他们共享的密钥,主要用于会话数据的加解密。公钥密码算法的密钥是成对出现的,包含一个秘密的私钥和一个公开的公钥,私钥由密钥拥有者独享。在签名系统中,用私钥对消息进行加密,得到数字签名;用公钥对数字签名进行解密,以验证数字签名。在加密系统中,用公钥对数据进行加密,得到密文数据;用私钥对密文进行解密,得到明文数据。和对称密码算法相比,公钥密码算法除了可以提供传统的机密性和完整性保护,还具有可追究性、不可抵赖性,因此在电子交易活动与电子事务处理领用起着至关重要的作用。为了保证电子交易等网络应用的真实性、保密性、完整性以及可追究性等安全特性,以数字证书为核心的密码技术广泛应用于网络信息系统。数字证书采用了公钥密码算法,将公钥与持有者的真实身份进行绑定,从而实现了网络用户身份信息的标识,为网络安全通信提供了电子认证。但是,这些安全特性的前提是保证数字证书所对应的私钥信息的机密性。一旦私钥泄露,私钥拥有者的身份将可能被冒充,并且,在SSL (Secure Sockets Layer,安全套接层)、PGP (Pretty Good Privacy)等应用中,历史的加密数据也将被解密。一般情况下,在计算机系统中,私钥是放在内存中进行存储和运算的,对私钥的保护依赖于操作系统的各种安全机制,包括访问控制、进程隔离、虚拟内存、运行级隔离等。这些机制大大增强了对内存的保护,但是现代操作系统仍然经常出现各种漏洞,利用这些漏洞,内存中的秘密信息就会很容易被间谍软件获取,我们称这一类攻击为系统攻击。对内存中秘密信息的保护还需要考虑另一方面:冷启动攻击(Cold boot attack)可以完全绕过在系统层,包括操作系统,所施加的保护机制。冷启动攻击是一种物理攻击,利用了动态随机访问内存(DRAM)的剩余特性(remanence effect),即停止供电之后存储内容随时间慢慢消失,整个过程持续好几秒,如果利用制冷剂可以将时间延长到几小时。攻击者需要物理接触运行中或挂起的目标主机,然后用冷却剂冷却目标主机的内存,接着把其插入一台没有内存清除机制的恶意主机中,最后利用恶意引导程序,把完整的内存映像复制的恶意主机的磁盘中,这样,攻击者就可以通过各种密钥恢复算法推测使用的密钥。可以看出,冷启动攻击代价极小、门槛极低,且具有很强的普遍适用性,对计算机系统的密钥存储安全带来了严重的威胁。为了防止冷启动攻击可以使用如下机制:1、使用智能卡、USB Key等硬件设备存储密钥和进行运算,这类方案安全性高,但是由于需要特殊的硬件设备,在密钥管理、密钥更新、便携型、成本等方面有诸多不便。2、使用密码变换算法,比如白盒密码,这类方案中,密钥和算法是捆绑的,通过查找表混淆,即使攻击者拥有全部内存映像,也无法推测出密钥。这类方案的局限性在于目前只支持对称加密,不能支持公钥密码算法,计算效率很低,而且,也难以支持密钥更新。3、使用无内存的密码实现,即把密钥以及中间的过程变量全部放在CPU的寄存器中。但是,由于寄存器的容量一般较小,只适合于存储短的对称密钥。但是,随着支持高级矢量扩展指令集(AVX)的寄存器,如YMM的CPU,开始广泛部署,利用YMM寄存器的无内存密码实现开始出现,现有技术最多可以支持2048比特的RSA运算;但是这种方案也有很多不足:(I)可扩展性差,仅仅可以完成基本的运算,如果要支持更多安全功能,比如抗侧信道攻击,或者支持运算加速,比如中国剩余定理,将很困难;(2)如果要支持更长的密钥,只能依赖CPU厂商来提供;(3)平台依赖性大,由于直接操作寄存器,高级语言比如C语言将不能支持;(4)需要禁用AVX或者SSE (Streaming SIMD Extens1n)功能,这将对CPU处理数据密集型程序和图形处理程序的性能产生非常大的影响,因为这些程序需要这些寄存器进行运算加速。无内存密码实现的另一分支是利用CPU的片上高速缓冲存储器(cache)做密钥存储和中间过程变量存储。在计算机存储系统的层次结构中,高速缓冲存储器是介于CPU和主存储器之间的高速小容量存储器。CPU核以及它们独占的cache可以构成一个相对独立的环境。比起CPU寄存器,cache的存储容量要大得多,足够存放公钥密码算法的密钥,并且可以提供各种安全增强和运算加速的算法。已有文献用此方法可以实现4096位的支持CRT的RSA运算,但是在该方案中,同时可以进行密码运算的核的数量受到cache层次结构的影响,由于现代CPU架构都有一个共享的L3高速缓冲寄存器,该方案同时只能支持一个核进行密码运算,并需要设置附加的软件保护机制,如通过软件将其他核设置为no-fill模式。然而,针对现有的此种设置,若操作系统存在漏洞,恶意进程仍可以通过漏洞导致保护机制失效,使恶意进程可以随便读取密钥,从而受到系统攻击;并且,由于现有技术的此种方式需要将其他核设置为no-fill模式,因此,只有一个核可以进行密码运算,效率较低。系统攻击和物理攻击对计算机系统的密钥安全带来严重的威胁。系统攻击从操作系统层面,利用系统的软件漏洞,可以直接通过内存访问指令获取密钥。物理攻击则可以在对目标计算机有物理接触的情况下,获取整个内存的映像。对这两种攻击的防范,现有机制都有各种不足。
技术实现思路
针对现有技术中的问题,本专利技术提供了,可以同时抵抗针对内存的系统攻击和物理攻击,以保障公钥密码算法在计算机系统环境下实现安全性,并提高处理器的工作效率。为实现上述目的,本专利技术提供了,包括:步骤A:设置多核处理器的每个核使其包含对称主密钥;步骤B:利用其中任意一个核作为运算核执行公钥密码运算,且私钥明文以及运算过程中使用的中间数据变量存储于运算核独占的高速缓冲存储器中;步骤C:清空所述运算核独占的高速缓冲存储器中的私钥明文以及运算过程中使用的中间数据变量; 其中,当执行步骤B和步骤C时,多核处理器动态记录所述步骤B和步骤C执行过程中的所有内存访问;当所述多核处理器其他核线程试图和运算核同时访问同一内存地址,且至少有一个写操作时,或者运算核独占的高速缓冲存储器空间不够,发生高速缓冲存储器替换时,运算核放弃已执行的步骤B和步骤C的所有操作,重新执行步骤B和步骤C。进一步,通过事务内存(Transact1nal Memo当前第1页1 2 3 4 本文档来自技高网
...

【技术保护点】
一种抵抗物理攻击和系统攻击的密钥保护方法,其特征在于,包括:步骤A:设置多核处理器的每个核使其包含对称主密钥;步骤B:利用其中任意一个核作为运算核执行公钥密码运算,且私钥明文以及运算过程中使用的中间数据变量存储于运算核独占的高速缓冲存储器中;步骤C:清空所述运算核独占的高速缓冲存储器中的私钥明文以及运算过程中使用的中间数据变量;其中,当执行步骤B和步骤C时,多核处理器动态记录所述步骤B和步骤C执行过程中的所有内存访问;当所述多核处理器其他核线程试图和运算核同时访问同一内存地址,且至少有一个写操作时,或者当运算核独占的高速缓冲存储器空间不够,发生高速缓冲存储器替换时,运算核放弃已执行的步骤B和步骤C的所有操作,重新执行步骤B和步骤C。

【技术特征摘要】

【专利技术属性】
技术研发人员:林璟锵管乐王琼霄汪婧荆继武
申请(专利权)人:中国科学院数据与通信保护研究教育中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1