找回密码
 欢迎注册
查看: 15566|回复: 3

[原创] Intel开源了Software Guard Extensions的Linux源码

[复制链接]
发表于 2016-6-26 06:28:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
https://01.org/intel-softwareguard-eXtensions
主要功能是利用CPU做数据加密等功能,由于密钥保留在CPU内部,无人能够访问,另外内存数据也是加密的,从而比传统加密算法更加安全。
代码里面还有不少加密方面的算法。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-6-27 10:42:37 | 显示全部楼层
类似“沙盒",但是是否可以通过监听cpu运行“声音”来破解数据。使用低通和高通滤波器来截获电脑中 CPU正在解密数据时所发出的声音(实际上,声信号由CPU电压调节器产生,它需要在多样和丛发性负载中保持恒定电压)。一旦收到信号后,剩下的时间就是要读懂它。

完全可以从电气学角度去破解密码,因为条条大路通罗马。CPU在加密过程中,会释放出很多物理的、化学的、热力学的信号。RSA的发明者也是用监听cpu把RSA破解了的。各种电阻电容在工作是的温度、电压、电流很多参数的变化都可以留下密码的蛛丝马迹。在纯数学角度、纯软件角度无能为力时,通过旁敲侧击,转换思考角度亦能击破。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2016-6-29 06:25:37 | 显示全部楼层
听声识密码难道大了些,这可没有闻香识美人那么容易。
侧信道(side channel)分析通常是通过测量功率时间信息来分析保密信息。
比如对于RSA,其中关键部分计算时模幂运算,$m=c^d(mod n)$,其中通常按$d$的二进制位进行运算,如果对应二进制位为0,那么只要进行一次平方运算,如果对应二进制位为1,那么就需要一次平方运算加一次乘法运算。由于大数运算消耗时间还是相当可观的,如果这时对整个过程的CPU功率消耗变换情况进行监测,那么很可能就可以看出两种不同的功率时间变换图,由此可以猜测出密钥$d$的各个二进制位。但是这个前提条件是模幂运算过程没有考虑过侧信道分析(最常见的代码实现都是如此)。
对于Intel SGX来说,侧信道攻击可以分两部分,一是对系统本身的攻击,主要就是对内存数据加密过程的攻击。这个部分主要是用对称加密算法(应该是AES算法并使用随机密钥)进行攻击来获取密钥。这个攻击的难度要远远大于RSA。当然也不是不可能,前段时间就报道过交大教授对一个SIM卡中AES算法侧信道分析攻击的成功的例子(当然我相信那个SIM卡中算法本身的实现应该是有些问题的)。另外一种攻击时对用户代码的攻击,用户代码必然会有一些对关键保密数据的处理,如果代码实现不合理,必然存在遗留给别人侧信道攻击的可能。
另外需要说明的是侧信道攻击通常需要物理上可以对设备进行访问,这是一个很大的限制。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2016-6-29 11:45:25 | 显示全部楼层
本帖最后由 happysxyf 于 2016-6-29 11:54 编辑
mathe 发表于 2016-6-29 06:25
听声识密码难道大了些,这可没有闻香识美人那么容易。
侧信道(side channel)分析通常是通过测量功率时间信 ...


这个RSA不好破,目前除了物理方法破解外,纯数学的方法就是大整数的分解有赖于素数理论的支持。而素数连个小小的“1+1”都不好破,RSA加密速度最慢,破解最难,随着密钥位数的增大,将来也不见得有什么好方法。md5倒是可以碰撞。

不过借助超级计算机的千万亿次运算能力,加上巧妙的程序设计,应该可以在几个月内破解一个RSA密钥。
还可以用RSA模数攻击策略。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-5-22 08:30 , Processed in 0.057251 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表