Update:Mozilla 與 Micorosft 都發出 security report 了,參考 MD5 Weaknesses Could Lead to Certificate Forgery (Mozilla) 與 Microsoft Security Advisory (961509) Research proves feasibility of collision attacks against MD5。
標題的 NOW 有兩個意思,一個是強調「已經」,另外一個是「現在」。
在 2004 與 2005 年的時候,密碼學界相當轟動的事情:王小雲的 MD5 collision。這件事情很有名,但實際上更具破壞性的是 Arjen Lenstra、王小雲、Benne de Weger 三位所發表的「Colliding X.509 Certificates」,示範如何使用 MD5 collision 湊出一個合法的 X.509 certificate。
2005 年 Arjen Lenstra 所示範的重點在於「MD5 collision 已經有能力去配合 protocol 變化」,同時說明攻擊其他 protocol 的可行性。
不過,Arjen Lenstra 的論文似乎沒被重視,還是有 Chain SSL Certificate 是用 RSA-MD5 簽,於是在 2008 年年底,事情就爆發了,有團體拿了兩百台 PS3 硬是產生出一組合法的 Chain CA:「MD5 considered harmful today」。
換句話說,有了這組 Chain CA private key 的人,他可以自己建立任何一個站台的 SSL key (像是 www.paypal.com) 再自己簽。簽出來的 Certificate 可以被所有主流瀏覽器認為合法的 SSL Certificate。就像下面這張圖他們簽了 127.0.0.1:
大爆走了... IE 可能過陣子就會上 security update 把 RSA-MD5 擋下來,不過這樣就會有一堆站台爛掉。而這陣子這幾家還在用 MD5 的公司可能會忙著重簽?
暫時性的 RSA-SHA1 不是一個好方法 (雖然 SHA1 collision 還不到可接受的時間範圍),而 RSA-SHA2 還在 draft (目前是 05),看起來大家要頭痛一陣子了...
NY Times:
http://bits.blogs.nytimes.com/2008/12/30/outdated-security-software-threatens-web-commerce/?hp
事實上, 這不只是 MD5 的問題; 在不考慮有 short circuit 的狀況下, 有能力 HPC 的單位, 都有可能針對特定 Hash 演算法產出 Collision Table.
NIST 則是發表過 Random Oracle 為基礎的 Hash, 問題都會非常類似; 這也是 SHA2 喊了這麼久, 沒有理論性重大突破的原因之一吧.