安全公告2880823:建议停止使用SHA-1
微软建议客户和证书颁发机构(CA)停止在加密应用中使用SHA-1,包括SSL/TLS和代码签名。微软已发布安全公告2880823,并宣布政策:2016年后将不再认可基于SHA-1证书的有效性。
背景
安全哈希算法1(SHA-1)是一种消息摘要算法,于1995年作为NIST安全哈希标准的一部分发布。哈希算法只有在为任何给定输入生成唯一输出且该输出不可逆(函数仅单向工作)时才被认为是安全的。
自2005年以来,已知存在碰撞攻击(多个输入可产生相同输出),这意味着SHA-1不再符合生成加密安全消息摘要的安全标准。
对于哈希算法的攻击,我们已经看到攻击模式导致重大现实影响:
MD5攻击简史 来源:Marc Stevens,MD5和SHA-1的密码分析
- 1992年:MD5发布
- 1993年:伪碰撞攻击
- 2004年:在2^40次调用中发现相同前缀碰撞
- 2006年:在2^49次调用中发现选择前缀碰撞
- 2009年:相同前缀和选择前缀分别优化至2^16和2^39次调用,实现恶意CA实际攻击
SHA-1似乎处于类似轨迹:
- 1995年:SHA-1发布
- 2005年:在2^69次调用中发布SHA-1碰撞攻击
- 2005年:NIST建议远离SHA-1
- 2012年:提出2^61次调用的相同前缀碰撞
- 2012年:提出2^77.1次调用的选择前缀碰撞
当前问题
微软正在积极监控情况,并发布了到2016年淘汰SHA-1的政策。
微软建议
微软建议证书颁发机构(CA)停止使用SHA-1进行数字签名,并建议消费者向CA请求SHA-2证书。
微软政策
微软已公布新政策,要求用户和CA在2016年前停止使用基于SHA-1的证书。
- William Peteroy, MSRC
我要感谢微软PKI团队以及MSRC工程团队的Ali Rahbar的辛勤工作和贡献。