Dac48688cd00e657b4b1a7521c3b20db 在先前318學運攻占立法院的行動中,筆者有位大學同學在第一波行動就進入並駐守在立法院中。在筆者與他聯絡的過程中,他表示他的Facebook帳號似乎被盜用,訊息內容可能遭到監聽,於是筆者便稍稍研究一下了iMessage的傳輸過程,建議彼此使用iMessage連絡。

帳號綁定裝置更安全

雖然說Facebook在傳輸過程,會使用SSL技術為內容進行加密,不過「帳號與密碼」仍然可能從其他管道被竊取。首先大多數的人都是以E-mail地址註冊Facebook帳號,而且可能出自懶惰,不但習慣將密碼設得很簡單,甚至將Facebook的密碼設的與E-mail一樣,這種行為會大幅提高帳號被盜用的風險。

如果密碼的組合只有簡單的數字,或是由「有意義」的單字組成,且沒有參雜大小寫與符號,就很容易被暴力破解、字典檔等方式攻破,只要攻擊者有足夠的時間,就能透過程式慢慢猜出密碼。

至於多組帳號使用同組密碼的情況,則可能引發兵敗如山倒的悲劇,只要攻擊者破解了E-mail的密碼後,只要以同一組資料嘗試登入Facebook或其他網站,就可以直接長驅直入。此外多組帳號共用帳號、密碼,也有機會在註冊其他帳號時被釣魚網站騙取資料,或是在輸入密碼時鍵盤被側錄或是遭竊聽,一次被盜取多組服務的帳號與密碼資料。

然而iMessage的架構相對安全一些,由於iMessage限制只能在iDevice與Mac上使用,而且帳號會與裝置綁定,只要有新的裝置登入使用者的舊有帳號,所有已綁定的裝置都會收到警告,比起不會主動通知使用者登入狀況的Facebook來說(但可以通過設定修改安全性),至少iMessage不會發生帳號被盜用後還不知情的狀況。

▲以某論壇為例,它的登入過程並沒有經過加密保護,遭竊聽時就容易被盜取密碼。

▲當攻擊者嘗試登入使用者的iMessage帳號時,所有已綁定裝置都會收到警告通知。

iMessage經TLS加密更安全

Apple在iOS Security文件(PDF)中提到iMessage的運作原理。首先發送方會先向伺服器提出接收方的帳號,伺服器會查尋IDS(Apple’s directory service,蘋果內部的目錄服務),取得接收方的APNs(Apple Push Notification Service蘋果推播服務)地址,以及備份在伺服器中的TLS加密金鑰與ECDSA簽署金鑰。

傳送方隨即以該金鑰對資料進行加密及簽署,並傳送至伺服器,再由伺服器推播至接收方。由於過程中接收方的TLS解密金鑰並未曾公開或傳輸,所以既便被通訊被竊聽,也只能得到加密後的資料,無法解密得到原始的資料,此外接收方也可以比對傳來的數位簽署,確保資料沒有被竄改。如果接收方有將帳號綁定至多組裝置的話,傳送方則會依各接收裝置的加密金鑰,自動重複加密與傳送的工作。

在訊息傳送的過程中,iMessage採用TLS技術搭配RSA 1280bit金鑰進行加密,由於這2項非對稱加密技術的內容有些複雜,筆者這次只簡單介紹其概念。讀者可以把非對稱加密技術想像有個信箱有2把鑰匙,其中1把只能打開送信口(即加密金鑰),另1把只能打開收信口(即解密金鑰),而且2把鑰匙不能交換使用。當傳送方要寄信時,接收方會先給他送信口鑰匙,於是傳送方就可以把信放到信箱中,當接收方要收信時,則以收信口鑰匙打開信箱。在這種技術下,送信口鑰匙是否外流並不影響信件安全信,是種很有效保護資料傳輸的加密方式。

雖然先前曾爆出Apple為美國國家安全局開設後門的疑雲,但是在連Windows也疑似中標的情況下,一般百姓似乎已經無法確定到底美國監聽的實際情況為何,不過筆者認為在就算在各管道都被監聽的情況下,iMessage的架構還是比Facebook安全,因此最後還是選擇了iMessage進行通訊。

▲當接收方只有1個裝置時,傳送方會把資料加密後,傳送給接受裝置。

▲如果收方有2個裝置時,傳送方則會分別以2組金鑰進行加密,並分別傳送給2個接收裝置。

▲資料加密過成的細部流程圖,接收方會先將加密金鑰交給傳送方,在收到資料後,則以解密金鑰進行解密。

 

延伸閱讀:

提高加密強度,Google 將 SSL 證書金鑰升級至 2048 位元

OpenSSL 「Heartbleed」 爆出巨大漏洞,用戶資訊、信用卡帳密全都露,該如何應對?

Apple 幫 NSA 及網管人員在 iMessage 中留下監聽後門

使用 Facebook 留言

發表回應

謹慎發言,尊重彼此。按此展開留言規則