iT邦幫忙

DAY 27
8

資訊學院的30門課系列 第 27

資訊學院的30門課-近代密碼學 Cryptography

新聞標題說:發行量超過一千六百萬張、號稱「絕對不可能被破解」的台北悠遊卡,不敗神話破滅!

到底crypto1演算法的窘境就在哪呢?或者我們學的密碼學哪裡錯了?
前一陣子悠遊卡被破解的新聞,大家應該都還有印象吧。crypto1是悠遊卡所使用的加密演算法則,居然在維基百科就有連結,而且開宗明義說,幾乎是沒有保護狀態。原來讀取我們的悠遊卡,跟讀取我們數位相機拍出來的照片,保護等級一個是沒有保護狀態,一個是幾乎是完全沒有保護狀態("the security of this cipher is ... close to zero")。

密碼學還是很堅固的,不過這邊要提一下,其實google的PageRank並無法去篩選文章的正確性,常見google把錯誤的文章放在搜尋的前面,比如: 你用RSA去咕台灣網頁的第一頁,他是一篇錯誤很多的文章,繁體中文第一個連結,http://www.mathland.idv.tw/life/rsa576.htm,雖然RSA的演算法難
度基於質因數分解,但跟此網站說的完全不同,RSA其中一支public key開宗明義說了由兩個質數相乘而成,所以不是質數!!!

The RSA algorithm works as follows: take two large primes, p and q, and
compute their product
n = pq; n is called the modulus

不過這個網頁高懸在google search繁體中文第一位超過一年。RSA相關的連結很多,而且這是屬於數論與演算法的範疇,我就曾經在演算法這門課Implement過RSA的Project,只是,寫過的人都知道,實作一個基本的RSA加解密並不難,難的是如何使用夠長的整數,程式語言32位元長的整數或者64位元的整數都不足以提供足夠的保護,我當時還很笨的去Implement超長整數的四則運算,很顯然的我的程式有bug,而且沒有適當處理overflow問題,經過時空的演進,已經有許多超超超長整數的函式庫,而且效能還不錯。所以包含DES與RSA等加密演算法並沒有錯,只是需使用足夠長度的金鑰。

而crypto1演算法的窘境就在哪呢?

2008年,Nohl, K.、Evans, D.與Plötz, H.等學者成功利用逆向工程將MIFARE Classic中的CRYPTO1演算法解出,並發現若干相關弱點。且證實了MIFARE Classic的16位元虛擬亂數產生器並不是安全的。並且是僅提供應用在低成本標籤上,原來我們的悠遊卡是低成本的標籤。串流加密安不安全,在於亂數產生器產生之金鑰是否夠亂,及週期是否夠久,而且不可預測,因此產生一個好的亂數產生器並不容易。

另外,也有人利用NVIDIA顯示卡(我猜是CUDA)暴力破解卡片上所有的金鑰。

以上資料皆來整理自網路上相關資料與論文,若有錯誤,請各位大大不吝給予指正。謝謝您。

更多課程分享:http://ithelp.ithome.com.tw/question/10073806


上一篇
資訊學院的30門課-網際網路技術Internet Technology(cont.)
下一篇
資訊學院的30門課-多媒體通訊 Multimedia Communications
系列文
資訊學院的30門課30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
花輪
iT邦大師 1 級 ‧ 2011-10-24 21:59:09

不知道是否從 MICROSOFT 推出 WINDOWS SERVER 2008 R2 開始(2008 R2 AD 的 KERBEROS AUTHENTICATION 已改用 AES,且停用舊版本的 DES & RC4),很多網路周邊(包括OA事務機)的加密演算法也陸續使用了 AES,甚至到 AES-256,可見得 SECURITY 真的太重要了!

若有人公司因 AD 要升級為 2008 R2,千萬要事先通知相關的周邊廠商看看機器可否支援,否則只能在 DC 上安裝 HOTFIX 來啟用 DES 了。

0
krarm
iT邦好手 1 級 ‧ 2011-10-24 22:10:08

嗯嗯,無線加密的安全性更重要,WEP為甚麼需要用WPA取代,又是一篇文章了。
雖然發現破解的方法不容易,但就是有些人有辦法。

我要留言

立即登入留言