標籤彙整: Perfect Forward Secrecy

完美遠期保密

資料來源:完美遠期保密

完美遠期保密 (Perfect Forward Secrecy) 是在 HTTPS 基礎上進一步保護用戶與伺服器之間的通訊,在 HTTPS 通訊協定下,所有數據都被加密才送進網絡,但是萬一伺服器的 SSL 密鑰 (private key) 因某些原因泄漏,HTTPS 的加密的鑰匙便會被破解,過去和將來的通訊統統暴露在陽光之下。完美遠期保密使用的卻是一次性的加密鑰匙,不能從伺服器的 SSL 密鑰推算出來。

HTTPS 的問題

HTTPS 使用的 SSL/TLS 安全技術,要求用戶與伺服器使用一條共同的加密鑰匙 (對稱密鑰) 為兩者之間的通訊加密,儘管每次會話 (session) 的加密鑰匙都不同,不過只要收集在建立 HTTPS 通訊時雙方交換的資料,加上伺服器的 SSL 密鑰 (private key),這條加密鑰匙是可以被推算出來的。若果伺服器不幸被入侵,SSL 密鑰被盜取,或者被政府機關勒令交出,伺服器與用戶之間的通訊便再無秘密可言。

斯諾等的泄密文件揭露美國國家安全局 (NSA) 曾經竊聽 HTTPS 通訊,並把內容儲存下來,這些加密了的通訊當時可能無法解讀,但日後取得伺服器的 SSL 密鑰便可以把以前儲存下來的加密通訊解密,往後的通訊同樣全無秘密可言。電子郵件服務商 Lavabit 就是因為受到政府壓力交出伺服器的 SSL 密鑰而決定關閉業務,創辦人 Ladar Levison 此舉實屬難能可貴,但肯定有更多公司為了延續生命,甘願把 SSL 密鑰雙手奉上。所以使用 HTTPS 只能防範一般的黑客,對國家級的專業黑客是毫無防守之力的。

完美遠期保密

採用完美遠期保密的 HTTPS 通訊,加密鑰匙只是短暫性的,而且不能從伺服器的 SSL 密鑰推算出來,這樣即使 SSL 密鑰日後被盜取,過去和將來的 HTTPS 通訊仍然安全,竊聽者始終無法解讀通訊的內容。

哪些網站支援完美遠期保密?

不太多,但數量正在增加,已經支援完美遠期保密的著名網站包括 Google、Facebook、Dropbox 等等,Amazon 和 Apple 根本沒有這方面的計劃,Yahoo 更可憐,他們仍然努力為伺服器添加 HTTPS 功能而努力,完美遠期保密當然連樓梯的響聲也未聽到。

如何得知連線是否完美遠期保密?

使用 HTTPS 連線的話,在網址欄上 URL 旁邊通常都有一個掛鎖標誌,點擊一下這個掛鎖可以看到這個連線和網站證書的詳細資料,在有關安全性的資料中,查看現在使用什麼加密機制。下圖是香港渣打銀行網站的連線資料:

渣打銀行 HTTPS 連線資料
渣打銀行 HTTPS 連線資料

紅色框的部分就是加密機制的資料,只有支援 ephemeral Diffie-Hellman 的加密法才算是完美遠期保密,其中兩個最常見的是 ECDHE_RSA_RC4_SHA 和 DHE_RSA。上圖可見渣打銀行的網站儘管支援 HTTPS,但並不支援完美遠期保密。

我們看看推動網絡人權和隱私的 EFF 網站的連線資料:

EFF HTTPS 連線資料
EFF HTTPS 連線資料

注意紅色框內的加密機制包含 ECDHE,那是 Elliptical Curve, Diffie-Hellman, Ephemeral signed 的縮寫,表示它支援完美遠期保密。

不是完美遠期保密的 HTTPS 仍然可用嗎?

可以的,只要你不要使用這種連線傳送報和個人資料和隱私。上面我們看到香港渣打銀行網站的 HTTPS 不是完美遠期保密,所以使用該銀行的網上服務,資料泄漏的風險便與該銀行的 SSL 密鑰的安全性掛鉤,銀行的伺服器或許保安嚴密,SSL 密鑰被盜取得可能性甚低,但政府機關要求它交出 SSL 密鑰又如何呢?渣打銀行會像 Lavabit 那樣寧可關閉業務也不妥協嗎?我不敢斷言,你自己判斷好了。

使用了完美遠期保密,我的資料從此高枕無憂嗎?

當然不是,HTTPS 和完美遠期保密只保護網絡中的數據,當數據進入伺服器後,這兩項技術再無用武之地。伺服器如何儲存你的資料?有否加密以至即使資料被黑客盜取仍然無法解讀?加密的機制如何?怎樣管理密鑰?伺服器管理員會否出賣你的資料圖利?這些都是影響資料安全性的因素。

Google、Microsoft、Yahoo 等公司對網絡通訊的保密措施足夠嗎?

資料來源:Google、Microsoft、Yahoo 等公司對網絡通訊的保密措施足夠嗎?

鑒於各國情報機關積極監視網絡上的通訊,Electronic Frontier Foundation (EFF) 調查主要的網上服務企業如何保障網絡通訊不受監視,並製成列表供我們參考。EFF 從五方面評估企業保護網絡通訊的工作,獲得滿分的只有寥寥幾家,包括 Dropbox, SpiderOak 和 Sonic.net,Google 的完成度也十分高。另一方面,Microsoft, Yahoo, Amazon 等一些我們熟悉,每天對媒體高呼多麼注重資料的保障和客戶隱私安全性的公司,對網絡通訊的保護卻嚴重不足。

斯諾登的文件揭露美國國家安全局 (NSA) 透過監聽互聯網光纖主幹上的通訊,和 IT 企業數據中心之間的通訊,肆意侵犯網民的隱私。一葉知秋,其他國家的情報機關也在做同樣的事,唯一的分別是他們的員工裡面沒有斯諾登。所以 EFF 認為任何東西在進入網絡前都必須加密,為此他們提出了五項建議,並就此評估大型的 IT 企業對保護網絡通訊的工作。

當然這五項建議並不能使我們完全擺脫情報機關的監視,尤其是當他們看上了你,他們大可逼使 IT 企業透露你的資料,例如你的 IP 地址和使用服務的歷史紀錄。但至少在某些國家,尤其是一些較為民主的國家,情報機關需要向法庭申請許可令,即使法庭只是一個橡皮圖章,最低限度負責任的企業還有一個平台可以反抗一下。

2013 年 12 月 21 日更新:更新了 Microsoft 的資料。

IT 企業保護網絡通訊評估
IT 企業保護網絡通訊評估 (圖片來源:EFF)

EFF 的五項評估包括:

1. 為數據中心之間的通訊加密:自從斯諾登揭露 NSA 偷聽 Google 和 Yahoo 數據中心 (Data Centers) 之間的通訊後,我們知道除了用戶和企業之間的通訊要加密外,企業和企業之間的通訊也要加密。

2. 支援 HTTPS:HTTPS 確保網站和用戶之間的通訊數據都被加密,這可說是最基本的保護。儘管如此,我們仍可看到 Amazon 和 Yahoo 連這麼基本的工作都做不好。

3. 使用 HSTS:為了確保瀏覽器與網站之間的所有通訊都使用 HTTPS (而非僅限於包含機密資訊的頁面),在建立安全通訊渠道的時候,網站應使用 HSTS 告訴瀏覽器這個網站只使用 HTTPS,任何情況下不能使用 HTTP 與這個網站聯繫。

4. 完美遠期保密:這是 HTTPS 下一種加密技術,HTTPS 的解密鑰匙萬一被破解,或者被情報機關強逼網站透露,也不能解讀過去使用這條鑰匙加密的通訊。

5. STARTTLS:這是加密電郵伺服器通訊的一種網絡協定。從用戶傳送到伺服器 (SMTP Server) 的電子郵件可以藉著 SSL/TLS 加密,但是伺服器與伺服器之間的通訊便要靠 STARTTLS 加密。