Copker——无需访问内存芯片的公钥密码算法实现

2016-12-17 01:37林璟锵
中国教育网络 2016年6期
关键词:冷启动公钥事务

文/林璟锵

Copker——无需访问内存芯片的公钥密码算法实现

文/林璟锵

林璟锵

博士,中国科学院信息工程研究所副研究员。2001年毕业于中国科学技术大学,获得电子信息工程学士学位;2004年和2009年在中国科学院研究生院分别获得硕士学位(通信与信息系统)和博士学位(信息安全)。主要研究领域是系统安全和应用密码学,研究成果发表在IEEE S&P、NDSS、ESORICS、CHES、SRDS、ACNS、ISC、SecureComm、ICICS等国际会议和TKDE、TIFS等重要期刊。

冷启动攻击(Cold-Boot Attack)是影响范围极大的物理攻击。具基本原理是,由于数据延迟消失效应,在断电之后,内存芯片上的数据仍然会存在一段时间;在低温下,甚至能够达到数小时。如果攻击者可以接触到正在运行的受害设备(例如,丢失的笔记本电脑和智能手机),就可以插入含恶意代码的启动设备(如U盘)、重启设备,就可以从内存中读取原有的数据。甚至可以有更简单的方法:在低温环境中(如电冰箱),拔下受害设备的内存芯片,插到攻击者的机器上,就可以读取原有的内存数据。冷启动攻击可以有效地获取内存中的各种密钥数据。

对于计算机系统,内存和CPU是最基本的组成部分。当敏感的密钥数据不能出现在内存芯片时,我们只能考虑将密钥运算限定在CPU内部。已有方案使用寄存器来完成AES对称密码运算。但是,基于寄存器的方案难以推广到公钥密码算法,因为公钥密码算法(例如,RSA算法)需要的数据空间远远大于对称密码算法。

Copker (Computing with Private Keys without RAM)利用CPU的片上Cache来执行公钥密码运算。利用最基本的WB模式(即,CPU会尽可能在Cache上执行操作、直至Cache不足才将数据交换到内存芯片),使得计算时密钥保持在Cache中。同时,合理安排密码运算的输入、输出和动态变量等数据,使得计算过程中不会有Cache冲突。对于多核CPU,还需要设定不处于密码计算任务的其它核的Cache访问模式,避免不同核之间的Cache冲突。通过以上措施,能够有效地将公钥密码运算过程中的数据访问限定的Cache上、不会出现在内存芯片,从而能够有效防范冷启动攻击。

目前有各种攻击手段能从计算机内存中窃取机密信息,包括各种利用软件漏洞的攻击方法(例如OpenSSL HeartBleed)和物理攻击方法(例如Cold-Boot攻击和DMA攻击)。而且,此类攻击很多时候并不需要破坏计算机系统的代码完整性,更进一步增加了防御难度。

事务内存Transactional Memory,是高性能计算领域的技术概念,早在1993年提出。其基本想法是由底层的软硬件跟踪记录并行任务的内存访问,确保声明为事务的代码片段的内存读写操作原子性。具体为:对于声明为事务执行的代码片段,如果在事务执行期间,有任何其它并行的任务也访问了事务代码的数据、且其中一方是写操作,则事务代码就会自动回滚到事务的开始点、所有执行痕迹都被自动清除。

利用Intel在2013年推出的硬件事务内存特性(称为TSX),可以构建安全的密码计算环境:将密码计算定义为事务,私钥作为事务执行的写操作结果,然后再进行密码计算。能够获得如下的安全保障:在密码计算期间,任何其它的(可能是非法攻击)任务读取了私钥的内存地址,就会触发事务回滚到开始点、私钥就被清除,攻击者只能得到无效数据。

以上方法能够防范各种类型的、窃取密钥数据的攻击:不论攻击所利用漏洞是什么类型,攻击都会有最后的读操作,都会触发事务回滚;包括软件攻击和DMA攻击都是如此。而且,在现有的硬件事务内存实现中,都是利用了CPU Cache来暂存事务的中间状态数据,所以上述方案也能够有效防御Cold-Boot攻击。

Mimosa: Protecting Private Keys against Memory Disclosure Attacks using Hardware Transactional Memory

猜你喜欢
冷启动公钥事务
轻型汽油车实际行驶排放试验中冷启动排放的评估
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
案例教学法在公钥密码体制难点教学中的应用——以ssh服务中双向认证为例
基于学习兴趣的冷启动推荐模型
河湖事务
一种基于混沌的公钥加密方案
神奇的公钥密码
P2X7 receptor antagonism in amyotrophic lateral sclerosis
基于优先级的多版本两阶段锁并发控制协议
军事技能“冷启动”式训练理念初探