2014年9月3日 星期三

嘴炮不再!MDS 加密檔案系統釋出!

Standard
台灣的電玩機臺一直是一個很少人探討的遊戲產業,他們外銷機台到國際各大賭場,除了一直在設計讓人願意掏錢的有趣遊戲機外,也真真實實用到很多資訊科技。在多年前一次南部的經驗,有幸接觸到這樣神秘的產業,也幫他們開發過一些東西。而其中一項專案,就是一個加密檔案系統,讓他們可以保護他們的遊戲程式,避免被對手輕易偷走自家的程式。

於是就有了這個 MDS 檔案系統(Middle Stone Filesystem),採用 blowfish 演算法加密,支援 384-bit key 和同時多組 key 的存取。由於作業系統本身會很容易破解修改,要保留可以將解密工作和 key 放在額外的硬體鎖或晶片上,甚至是多組 key 可跨多個硬體晶片存放,增加破解的難度。所以因此也設計了一些單獨的讀取工具範例,讓硬體鎖的開發人員,可以參考做法,寫在其硬體韌體(Firmware)中。不過,更近一步和硬體整合的版本,礙於敏感,這次就沒有釋出了。

專案網址:
https://github.com/cfsghost/mdsfs

其實,這專案多年來一直對周圍的朋友嘴炮說要開放出來,可是一直沒負諸行動(當然也是因為懶惰)。而今天看到 iCloud 被破解的新聞,受到一點資料安全問題的刺激,於是想起這個專案,所以就花點時間挖出來整理一下文件並往 Github 上丟。由於,這個基礎版本很久沒維護了,安全性如何我不能保證,但拿來做學習 FUSE 和加密演算法應用,倒是有點參考價值。如果有人想要接著開發,也非常歡迎!

另外,有些人反應不知道能拿來幹麻。關於這件事,其實把 MDS 當做一個簡單的加密打包工具,也是可以的。

後記

看到 iCloud 被破解的新聞,不由得讓人重新思考雲端和未來物聯網時代,資料安全的重要性。稍為瞭解真象的人通常都會跟你說,千萬不要相信任何人,將東西和隱私放在雲端。而通常你第一個要害怕的是雲端系統管理人員和系統設計人員的操守,他們是不需要經過任何破解手段,即可全權存取你資料的人。再來,我們要擔心的是系統的安全性,設計者和管理者能否真有能力去保護使用這的資料?這從使用者手上的 App、作業系統、瀏覽器,一直到雲端上的一切系統,都是必需要考量的範圍。也因為這樣種種的複雜情境,使用者實在難以得到真正安全的保護。

原因其實很簡單,當檔案自你手邊的機器準備發出去的一刻開始,你的資料便以明碼的方式在程式、網路和機器間處理,或許你手上的 App 很安全,沒有後門;或許你的網路傳輸很安全,有加密所以不會被人監聽;或許雲端伺服器也很安全,經過重重保護。但是,只要有人在過程中找到漏洞,或在其中找到缺口並進入了資料庫,你的秘密就赤裸裸的躺在哪。

包括我自己,總不認為自己運氣會這麼差,不會有人這麼有空或有能力去破解取得自己放在雲端上的資料。畢竟,這些意圖不軌的駭客,要對抗的是像 Apple、Google 這類比哥吉拉還可怕的大公司。我們也總是想,真要是被人看光光了,就當隱私賣給了別人,自己可以向這些大公司求償噱一筆。

就是這樣自我安慰的想法,讓我們從來就不真正在乎資料的安全性。那些所有信件和檔案都要用 GPG Key 先加密過再傳送的人,在我們的眼中,總覺得他們是個怪咖。但,可能隨時我們的報應就會來了呀。就算他們的檔案被偷光,沒有他們的 Key,那些檔案資料根本就是一堆沒意義的亂碼垃圾;而我們,就是什麼都被人看光光。