写点什么

MD5 缺陷可能损害 SSL 安全

  • 2009-01-07
  • 本文字数:845 字

    阅读完需:约 3 分钟

使用来自特定 CA 的 X.509 证书,会使基于 SSL 的安全措施即使在“安全”连接之下,也容易受到伪造 X.509 证书的欺骗而防范不住仿冒网站。近日在柏林举办的 Chaos 会议上,演讲者通过仿冒一份真实的证书演示了这一漏洞。

“让理论成为可能,有时候唯有这样才能推动变革,保障互联网的安全。”这番话是 2008 年 12 月 29 日第 25 届 Chaos Communication Congress 上一篇"MD5 Considered Harmful Today: Creating a rogue CA certificate"演讲的结论。演讲者介绍了他们如何用2004 年提出的理论上可行的MD5 签名攻击方法,构造出伪造的证书,从而实现对SSL 安全网站“完美的中间人攻击”。

攻击的原理是这样的:SSL 服务器用X.509 证书来证明自己的身份,证书由“受信任的证书签发机构”或称CA 发出。签发机构在证书上“签名”,用的是通过一种密码算法产生的散列值。而所用密码算法在设计上要使从两组不同数据得到同一个散列值——即“碰撞”——的概率极其小。

要实现攻击,攻击者需要先从使用MD5 算法签署证书的CA 购买若干SSL 证书。利用从这几张证书中得到的信息,有可能构造出貌似合格的伪造的证书。证书的签名来自先前购买的证书,内容却不同,并且添加了特别计算出来的数据块以制造碰撞 。因此MD5 算法会错误地认为签名与新内容是匹配的。效果上就好像在一份有真实签名的白纸上写上内容来伪造信件。

证书伪造出来后,就可以用在“中间人”攻击里。有了证书,就可以设置一个SSL 连接双方都认为合法的代理。通过这个代理,所有加密信息都可以被攻击者捕获并保存下来。

这种攻击要求很大的运算量,但技术进步和摩尔定律已经使碰撞证书运算成为可行的现实。在演讲者的例子中,运算大约需要在Amazon EC2 云花费$2000,也可以用 PS3 游戏机集群搭建的“家用超级计算机”解决。

这种攻击并不意味着整个互联网或者 SSL 安全已经被突破,但的确意味着厂商应该不再用 MD5 作为签名算法。演讲者提醒了几家仍然有 MD5 签名证书处于生效状态的签发机构。

查看英文原文: MD5 Exploit Potentially Compromises SSL Security

2009-01-07 19:352296
用户头像

发布了 225 篇内容, 共 74.9 次阅读, 收获喜欢 53 次。

关注

评论

发布
暂无评论
发现更多内容

为AI另辟蹊径的“小”数据

澳鹏Appen

人工智能 大数据 小数据 数据标注 训练数据

盲盒开发盲盒小程序开发

盲盒开发

【体验有礼】Serverless 极速搭建 Hexo 博客

阿里巴巴中间件

阿里云 Serverless 云原生 Hexo 中间件

初识 .NET6

面向对象的猫

.net core .net6

盲盒开发一番赏盲芒趣蛋趣小程序app开发

单机训练6000万类视觉分类模型,飞桨大规模分类库PLSC做到了

百度开发者中心

飞桨 视觉分类 plsc

盲盒小程序开发盲盒源码搭建

以用户体验为抓手,助力券商数字化转型

博睿数据

社科院专家认为元宇宙是双刃剑,将带来五大巨变

CECBC

盲盒开发源码搭建小程序app

17 K8S之容器资源需求与资源限制

穿过生命散发芬芳

k8s 11月日更

自定义View:多点触摸画笔的实现

Changing Lin

11月日更

Flink CDC 2.1 正式发布,稳定性大幅提升,新增 Oracle,MongoDB 支持

Apache Flink

大数据 flink 后端 实时计算 CDC

明道云商业化成果巡礼|2021年11月

明道云

盲盒h5小程序app系统开发

盲盒开发盲盒app开发

盲盒开发小程序app开发源码搭建

Python Qt GUI设计:多线程中信号与槽的使用(基础篇—9)

不脱发的程序猿

Python qt PyQt GUI设计 多线程中信号与槽的使用

HarmonyOS 3.0.0开发者预览版全新发布

HarmonyOS开发者

HarmonyOS ArKUI 3.0 ArkCompiler 3.0

盲盒小程序开发源码搭建

怎么自学Python,大概要多久?

老表

Python 11月日更 编程入门 思路 如何解决问题

盲盒app开发

【强势推出】专家带你玩,秒懂数据库!官方证书、万元奖品带回家!

华为云数据库小助手

GaussDB GaussDB(for openGauss) 华为云数据库

如何在浏览器 console 控制台中播放视频?

CRMEB

进击的Java(九)

ES_her0

11月日更

盲盒开发盲盒小程序系统开发

.NET6 内置IOC容器

面向对象的猫

.net core .net6

支撑长安链运行,区块链算力平台是什么?

CECBC

基于Guava API实现异步通知和事件回调

Tom弹架构

Java 架构 设计模式

MD5缺陷可能损害SSL安全_安全_Charlie Martin_InfoQ精选文章