「自然人憑證」的安全性遭受挑戰?

評論
評論

此文編譯於美國知名科技媒體 Ars Technica 上的文章  Fatal crypto flaw in some government-certified smartcards makes forgery a snap ,文中以亞洲密碼年會上的一篇報告,進而討論「自然人憑證」的安全性。

對於美國國安局(NSA)日前因承包公司前雇員 Edward Snowden 所掀起的安全風暴,也帶起了「國家是否能掌握人民情資」的討論。在這個「個資至上」的年代,政府的「監聽」、攔截電子郵件等危害人民個資的行動皆會引起軒然大波,但日前在亞洲密碼年會有篇報告,似乎要在臺灣獲取個資,不需要像美國國安局一般大費周章。

於印度舉行的 Asiacrypt 2013 (亞洲密碼年會)中,有科學家發表了一項 報告 ,其中對於臺灣政府所通用的「自然人憑證」提出嚴重的安全性警告。

citizen-digital-certificate-640x480

「自然人憑證」實體卡片

於 2003 年臺灣官方開始推行的「自然人憑證」,採用的是硬體亂數產生器(Hardware Random Number Generator)技術,簡稱 RNG ,以及 RSA(加密演算法),以形成難以破解的密碼。

在報告中研究人員則指出,在此種技術上發現了致命的錯誤(fatal flaw),「隨機性」本是 RNG 中極為重要的要素,以確保他人無法攻破加密過的密碼,進而取得資訊。研究人員試驗了超過兩百萬個 RSA(加密演算法)密碼,其中有 184 個密碼可使用普通電腦,找出核心質數,再進行破解演算,甚至不需要用到超級電腦或是網路攻擊。

研究團隊在寫給 Ars 的電子郵件中這麼說:

「對於已經拿到缺陷卡片的民眾,這項發現非常重大,因為任何攻擊者都可以在網上假冒他們的身份。」

他們進一步表明:

「我們的研究應當暫緩了許多想推出此種服務的國家,這種得到國際安全標準認證的智慧型卡片,會產生有缺陷的密碼。但如果一個科技進步的政府在遵循規則、進而去實踐,仍出現問題,那誰能做的對呢?」

關於自然人憑證的安全問題,報導裡這麼闡述:

「目前沒辦法排除 NSA 或是其他國家的情報機構,事先不知道臺灣這個計畫的加密弱點,或是其他國家也面臨了相同問題。」

研究人員以 220 萬個 1024 位元加密的臺灣「自然人憑證」(新版使用 2048 位元)做試驗,他們很快的確認了 103 個密碼使用相同的質數(prime numbers)。

「200 萬中有 100 多個密碼共享一樣的質數,聽起來這百分比似乎很低,但以一個密碼專家的角度看來,代表致命的錯誤。」

研究者根據臺灣內政部、中華電信等機關的發卡記錄,提醒臺灣政府大約有一萬張的卡片有此類似缺陷。

研究人員表示:

「臺灣政府聲稱他們會追蹤並更換所有有瑕疵的卡片,但直到此時都還沒有動作。」

「所以拿到了以 RSA 1024 位元為底的卡片都很可能有缺陷。」

新版採取 RSA 2048 的卡片,目前經他們檢查過後沒有相同的問題,但基於之前 RSA 1024 位元密碼的經驗,他們仍不排除有瑕疵的可能性。
此研究的根源,是一個去年驚人的 發現 :在網上每 1000 個 1024 位元的密碼,其中就有 4 個沒有加密性。

其中一個研究團隊之後發表了一個詳細的 分析 ,討論事情哪裡出了錯。原因出在臺灣使用的三種演算法的其中兩種,雖然知名但規則並不複雜,兩者分別是試除法(trial division)和最大公因數演算法(Binary Greatest Common Divisory Algorithm)。

為了防止這種常見錯誤,由世界各地政府所資助的安全機構,已經制定了一系列嚴格經密的加密系統,只給予可信任的認證通過。在 RNG 規則下所產生的卡片很顯然的不符規定。

「這種失敗影響的不僅僅是臺灣公民,而是無處不在的國際加密認證技術。」研究人員表示。

這七名研究者分別是 Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, and Nicko van Someren ,更多關於他們的資訊和報告資料 於此

台大資工系助理教授洪士灝也於個人 Facebook 頁面上發表看法:

相關文章

評論