作者: Mark Nunnikhoven (趨勢科技雲端研究副總裁)
SHA-1(全稱Secure Hash Algorithm-1) 雜湊碼被破解了,這早已不是新聞,令人訝異的是,有人真的展示實際攻擊。不過請記住,這裡所謂的「實際」是對於加密學研究人員而言,但這對您的日常資訊生活並不一定會造成實際影響。
儘管新聞吵得沸沸揚揚,但 IT部門、新聞記者及一般使用者卻仍搞不懂這有什麼潛在影響。這確實是一個很難理解的事,加密是一門很複雜的學問,就算是最簡單的新手入門還是很難讓人理解。
加密學是一門結合了電腦和數學的高深學問,但也是資訊安全的根基,所以是最具挑戰性的一環。
SHA 到底是什麼?
SHA-1 演算法是眾多雜湊碼計算函式之一。雜湊函式是一種單向的數學運算函式,可以從任何一組資料計算出一串固定長度的數字,我們稱之為「摘要值」或「雜湊碼」。這就好比用一個串 DNA 序列來代表一個人一樣,差不多就是這樣 (我說過這很複雜的)。
最主要的重點是,每一串雜湊碼,理論上都是獨一無二的。因此,只要是原始資料有任何一點點的變動,其計算出來的雜湊碼應該會截然不同。在這方面,SHA-1 演算法已被證明有漏洞。
這是一項重大的壞消息,因為雜湊碼的應用範圍非常廣泛,例如:
· 用來檢查您所下載的檔案是否遭到竄改
· 用來檢驗數位憑證是否正確 (例如所謂安全網站所用的憑證)
· 用來當成數位簽章
· 用來驗證密碼
簡而言之,雜湊碼是數位世界很重要的一環。而任何一個環節只要有安全上的疑慮,都是一件大事,不是嗎?
壽命有限
其實,我們早就知道遲早會出問題,只是時間早晚而已。歹徒可用的其中一種攻擊方式就是所謂的暴力破解 (也就是嘗試所有的可能組合,直到找到為止)。但由於這花的時間太長 (若使用單一 GPU 來運算需要 1,200 萬年以上) 因此過去一直被視為顯不可能。
然而,Google 和 CWI 的團隊最近展示了一項快 10 萬倍的全新攻擊方式。這使得整體攻擊時間縮短至9,223,372,036,854,775,808-超過900 萬兆次, (若以單一 GPU 整天不停運算約需 110 年的時間)。
您應該不難想像,在今日雲端資源唾手可得的情況下,只要您擁有足夠的資源,就能加快攻擊的速度。前述團隊估計至少要花費 11 萬美元才有可能完成一次攻擊。
在這麼高的成本下,能夠發動這類攻擊的組織應該少之又少。對於絕大多數的企業機構來說,這項消息並無任何影響。最有影響的應該是國家級的機構,因為他們才擁有無限的資源。
好消息是,這些加密標準在制定時就已知道數學演算法不是永遠無敵,而運算資源的成本也會逐漸下降。
這正是為何 SHA-2 系列演算法早在 2002 年即已發表,此外,一些特別注重安全的產品也已廣泛採用該系列的加密演算法 (SHA-256、SHA-384 及 SHA-512)。不僅如此,2015 年更發表了 SHA-3。
SHA-3 並非直接取代 SHA-2,只是增加了一些防範新興攻擊管道出現的措施。
由於駭客攻擊所造成的代價越來越高,那麼這項最新消息代表著什麼意義?
強烈警訊
這項消息提醒我們,數位安全的基石並非牢不可破。因此必須定期重新檢視並加以更新。這一點,雜湊碼演算法標準的制定程序已經預先設想到。
眼前面臨挑戰的是一些仰賴 SHA-1 來運作的基礎架構和工具。光是有了新的標準並不代表新的標準就會自動被採納。產品的開發團隊若未隨時注意新的科技發展並隨時更新程式碼,那問題將隨之而來。
儘管新聞聳動,但目前仍未看到任何使用者可能必須擔心的問題。最常被關心的問題是 Git 這個極為熱門的原始碼管理平台,因為它每次存檔時都會運用到 SHA-1 雜湊碼。
但正如該工具的原作者 Linus Torvalds 指出,Git 的資料庫不太可能因為這點而遭到攻擊,這倒一個以客觀的角度來看待漏洞的一個絕佳範例。
儘管如此,Git 軟體 (以及其他類似軟體) 應該開始慢慢淘汰 SHA-1。對於還沒開始做的軟體,應該將這項移轉作業列為第一要務。因為,歹徒發動攻擊的成本只會越來越低,所以發生的機率將越來越高。
下一步該怎麼做
對於電腦科學、數學及加密學領域的研究人員來說,這項消息確實頗有意思。但對絕大多數的我們來說,這只是提醒我們該定期重新檢視並更新我們所使用的技術。
科技日新月異,運算成本越來越便宜,這對整個科技產業和所有相關人員都是件好事。但壞處是,我們必須不斷重新檢討並適時更新我們所倚賴的數位安全基礎。