[发明专利]基于多核处理器的密钥保护方法及系统有效
申请号: | 201310565691.5 | 申请日: | 2013-11-14 |
公开(公告)号: | CN103607279B | 公开(公告)日: | 2017-01-04 |
发明(设计)人: | 林璟锵;管乐;汪婧;王琼霄;荆继武;李宝 | 申请(专利权)人: | 中国科学院数据与通信保护研究教育中心;中国科学院信息工程研究所 |
主分类号: | H04L9/30 | 分类号: | H04L9/30;G06F9/50 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 牛峥,王丽琴 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多核 处理器 密钥 保护 方法 系统 | ||
技术领域
本发明涉及计算机安全领域,特别涉及基于多核处理器的密钥保护方法及系统。
背景技术
现有常用的密码算法主要包括对称密码算法和公钥密码算法两种。其中,对称密码算法使用同一密钥做加密和解密运算,通信双方必须保管好他们共同的密钥,主要用于快速的数据加解密。在公钥密码算法中,其密钥是成对生成的,每对密钥由公钥和私钥组成;在实际应用中,公钥是公开的,而私钥则由用户自己保存;在签名系统中,用私钥对消息进行加密,得到数字签名;用公钥对数字签名进行解密,以验证数字签名;在加密系统中,用公钥对数据进行加密,得到密文数据;用私钥对密文进行解密,得到明文数据。
随着互联网技术的发展,电子交易活动与电子事物处理已经成为人们日常生活必不可少的一部分。为了保障这些网络应用的真实性、保密性、完整性以及可追究性等安全特性,以数字证书为核心的密码技术广泛应用于网络信息系统。数字证书采用了公钥密码体制,将公钥与持有者的真实身份进行绑定,从而实现了网络用户身份信息的标识,为网络安全通信提供了电子认证。
保证数字证书所对应的私钥信息的机密性是实现安全通信的前提条件。私钥的存储需要防止非授权访问,从而避免被攻击者窃取并伪造数字签名。私钥的存储介质有很多种,例如软盘、智能卡、USB Key和计算机硬盘等。如果使用软盘或存储型IC卡来保存私钥,这两种介质在使用时才与计算机相连,但由于它们不具备计算能力,在进行加密计算时,私钥会被复制出存储介质进入计算机,安全性与计算机硬盘直接存储并没有本质的提升。使用USB Key和智能卡存储私钥则可以保证较高的安全性,因为在使用过程中私钥可以不出存储介质,攻击者无法截获私钥。但是这类由外部介质存储私钥的方法会给用户的使用带来了很大不便,用户需要随身携带存储介质。
为解决上述存储私钥的外部介质使用不便的问题,现有技术一般采用将私钥存放在计算机硬盘的方法。具体的,由用户直接控制计算机生成私钥,私钥以口令保护的形式储存于计算机硬盘中;当需要使用私钥时,经口令解密的私钥被读取到计算机内存中,然后执行计算。但是在计算机内存中的私钥存在安全隐患,攻击者可以通过非法内存读取、冷启动等攻击窃取私钥。其中,非法内存读取利用了操作系统的系统调用实现中的漏洞,攻击者可以随机地读取内存,从而获得私钥信息;而冷启动攻击则利用了动态随机访问内存(DRAM)的剩余特性(remanence effect),即掉电之后存储内容随时间慢慢消失,整个过程持续好几秒,如果利用制冷剂可以将时间延长到几小时,攻击者可以在计算机运行或挂起时,直接关机,把内存拔下来,并插入一个通过恶意U盘启动的计算机,该计算机的启动程序可以直接把保存在目标内存的内容复制出来,从而获取内存中的信息映像。为了消除这些隐患,在方便用户使用的前提下,如何在计算机环境下安全实现密码算法成为关键问题。
为了应对上述在计算机环境下的安全问题,现有的方案提出把用于磁盘加密的对称密钥存放在处理器寄存器中。但是由于寄存器容量较小,因此只能存放短的对称密钥,不适用于公钥密码算法。在此基础上,随着CPU技术的发展,支持高级矢量扩展指令集(AVX)的寄存器,如YMM,开始广泛部署,这些寄存器可以提供更大的存储空间,从而支持2048比特的RSA运算;但是这种方案也有很多不足:(1)可扩展性差,仅仅可以完成基本的运算,如果要支持更多安全功能,比如抗侧信道攻击,或者支持运算加密,比如中国剩余定理,将很困难;(2)如果要支持更长的密钥,只能依赖CPU厂商来提供;(3)平台依赖性大,由于直接操作寄存器,高级语言比如C将不能支持;(4)需要禁用AVX或者SSE功能,这将对CPU处理数据密集型程序和图形处理程序的性能产生非常大的影响,因为这些程序需要这些寄存器进行运算加速。
还有一种方案是把密钥存放在内核态,用户不能直接操作密钥,但是这种方案不能抵抗针对物理内存的攻击,比如冷启动。考虑到公钥密码算法的密钥比较长,例如RSA算法,证书认证机构应用都要求在2048位以上,公钥密码算法的安全实现需要足够的存储容量来存放私钥。
目前,多核处理器已经得到广泛的应用,每个CPU核拥有独占的cache(高速缓冲存储器)或几个CPU核共享一些cache。cache又称高速缓冲存储器,在计算机存储系统的层次结构中,它是介于CPU和主存储器之间的高速小容量存储器。CPU核以及它们独占的cache可以构成一个相对独立的环境。比起CPU寄存器,cache的存储容量要大得多,足够存放公钥密码算法的密钥,并且可以提供各种安全增强和运算加速的算法。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院数据与通信保护研究教育中心;中国科学院信息工程研究所,未经中国科学院数据与通信保护研究教育中心;中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310565691.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种制备吉法酯的方法
- 下一篇:盐穗木金属硫蛋白基因及其重组蛋白与应用