什麼是
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256?
你看懂了嗎?

作   者:唐任威 精誠資訊 恆逸教育訓練中心 資深講師
技術分類:資訊安全

一直以來 SSL (Secure Socket Layer) 都是人們安全連網的保證。然而在過去幾年間,層出不窮的漏洞與攻擊,讓 SSL 陷入空前危機…

為了解決安全連線的問題,近年來各大網路服務業者無不努力升級系統以提升網路連線的安全性。以 Google、Yahoo 及 Facebook 為例,其安全連線的規格皆已提升至 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256。然而這樣的字句,除了一堆讓人看著頭痛的火星文外,其意思究竟為何?

在 Firefox 中,想知道目前安全連線的狀態,可以點擊網址列中的鎖頭圖示,並點擊「更多資訊」。

在安全資訊頁面中,下方的技術細節區塊就可以看到安全連線的狀態。

而透過 Google 瀏覽器,也可以看到類似的資訊。

以 Firefox 所呈現的資訊為例,首先一開始的 TLS,代表的是目前安全連線的通訊協定。由於 Firefox 沒有顯示版本資訊,因此需另外透過 Google 瀏覽器得知,目前連線使用的協定版本為 TLS 1.2。

所謂的 TLS (Transport Layer Security) 其實就是 SSL。其中的差別為,SSL 是舊版,而 TLS 是新版。SSL 最後的二個版本為 2.0 及 3.0。可是因為這二個版本過於老舊,且都存在有安全缺陷,因此不建議繼續使用。

而 TLS 的版本則由 1.0 起跳,後續的版本為 1.1 及 1.2。目前這三個版本都是安全的,不過考量到最佳的安全性,當然還是建議使用 TLS 1.2。

而接下來的 ECDHE_RSA_WITH_AES_128_GCM_SHA256 則是所謂的 Cipher Suite。根據 RFC 5246 附錄 C 的定義,Cipher Suite 共分為三個部分,分別是金鑰交換 (Key Exchange)、加密演算法 (Cipher) 及訊息鑑別碼 (MAC;Message Authentication Code)

以此處為例,金鑰交換的演算法為 ECDHE_RSA。
ECDHE 指的是 Ephemeral Elliptic Curve Diffie-Hellman 演算法。而 RSA 指的則是透過 RSA 演算法簽署 ECDHE 演算法所傳遞的公開金鑰參數。這是因為匿名的 ECDHE 演算法無法抵擋中間人攻擊所加入的防護機制。

Diffie-Hellman 是一種用於協議金鑰 (Key Agreement) 的非對稱加密演算法。透過 DH 演算法,通訊雙方可以協商出共同的秘密金鑰,而後將該金鑰用於後續的對稱式加密。而在 TLS 的架構中,則更進一步將 DH 演算法加入短暫模式 (DHE;Ephemeral DH) 藉此以支援所謂的 Forward Secrecy,以達到在金鑰外洩時,確保先前已加密資料的秘密性。

然而由於 DH 演算法的安全性是建構在數學上的難解問題,故演算法的金鑰長度必須夠大,才能確保演算法的安全性。以目前的標準來看,其建議長度為 2048 位元。然而足夠的金鑰長度雖然可以確保演算法的安全性,但犧牲掉的卻是效率。為了改善這樣的問題,因此有學者提出,可以用橢圓曲線函數 (Elliptic Curve) 實踐 DH 演算法,也就是所謂的 ECDH (Elliptic Curve Diffie–Hellman) 演算法。ECDH 演算法最大的優勢在於,在安全性強度相同的情況下,其所需的金鑰長度較短。以 DH 演算法金鑰長度 2048 位元為例。ECDH 演算法的金鑰長度僅需要 224 位元即可。同樣的在 TLS 的架構中,ECDH 演算法也具備短暫模式 – ECDHE,以藉此支援 Forward Secrecy。

接著加密演算法的部分則是 AES_128_GCM。
AES_128_GCM 指的是透過 AES 演算法的伽羅瓦/計數器模式 (GCM;Galois/Counter Mode),以 128 位元的金鑰加密資料。這種作法,最大的特色是速度快、安全並且可以支援資料的完整性驗證 (Data Authentication)。並且伽羅瓦/計數器模式可經由硬體實作來實踐低成本、低延遲的高速資料處理。

而最後訊息鑑別碼的部分則是 SHA256。
在 TLS 的架構中,訊息鑑別碼的產生採用的是 HMAC (Keyed-Hash Message Authentication Code) 演算法。HMAC 演算法是一種以雜湊函數搭配秘密金鑰計算訊息鑑別碼的演算法。由於計算訊息鑑別碼的過程中,需要使用雜湊函數,因此需要搭配雜湊演算法。而此處所搭配的雜湊演算法為 SHA256,故完整的表示方式為 HMAC-SHA256。藉此以確保訊息的完整與不可偽造。

其實對於安全防護而言,搞清楚這些規格只是第一步。如何透過這些安全防護技術保護資產免於風險恐怕才會是真正重要的課題。

您可在下列課程中了解更多技巧喔!

 

Share |
可在課程中了解更多技能…
相關學習資源︰

【CISSP】CISSP-資安系統專家認證課程
【SSCP】SSCP-資安專業人員認證課程
【CEH】EC-Council CEH駭客技術專家認證課程