有 Https 就安全了嗎?

有 Https 就安全了嗎?

由於2014年許多 SSL 的漏洞被發現,SSL被廣泛的應用在 HTTPS 的網路資料傳輸。這篇文章主要說明網站在佈署HTTPS可能會遇到的潛在風險,注意事項、如何線上自我檢測的簡單方法與佈署上建議參考。

HTTPS (SSL/TLS)注意事項

因此,對於網站使用SSL提供 HTTPS來說,有沒有什麼要檢查的列表呢?

  •  加密的金鑰至少要128bits 長
  • SSL V2 因為已知的風險較多,必須要設定為取消。建議使用TLS 1.2
  • X.509 certificates金鑰長度至少要 1024 bits
  • Secure Renegotiation應該要支援
  • MD5 或是 RC4 較弱的加密演算法應該不要被使用
  • TLS compression的支援設定必須要取消.
  • 網站伺服器應該要支援 “Forward Secrecy”

什麼是 “Forward Secrecy “? 

SSL 建立連線的時 handshake 主要利用 Web Server 的 private key 來做

  1. 驗證是否來源 Web site 身分
  2. 加密之後資料傳輸的金鑰

由於,Step 1 身分驗證僅用在一開始建立連線,

Step 2資料加密會用在連線建立之後的資料溝通

因此,對於Step 2,如果不採用原本 private key 來做金鑰加密,而採用別的方式加密,這樣的方式就稱為 “Forward Secrecy”

“Forward Secrecy” 相對比較安全,原因主要在於多把不同加密金鑰的使用

在建立連線時採用一組加密金鑰,

建立連線後,資料傳輸的加密採用另外一組加密金鑰。

 

2014/2015知名的 HTTS 安全風險

POODLE attack 與 Heartbleed研究發現 HTTPS的加密金鑰是有機會被破解的!

因此建議採用更新到最新的 TLS 1.2.

Poodle Attack是什麼?

簡單來說是一種 man in the middle 竊取資料的方法。

Sniffer 2-01

HeatBleed又是什麼?

簡單來說就是駭客用來竊取網站伺服器私密金鑰的一種方法。

拿到網站伺服器私密金鑰之後,該網站所有的加密都可以輕易的被解密破解。

 

如何檢測網站 HTTPS風險呢?

筆者建議一個簡單的方式可以檢測HTTPS 是否有相關潛在資訊安全風險

https://www.ssllabs.com/ssltest/

使用上只要將網站的網址輸入,就會得到測試結果報告。如下:

SSL/TLS 網站佈署的建議?

https://www.ssllabs.com/downloads/SSL_TLS_Deployment_Best_Practices.pdf

  • Use 2048-bit Private Keys
  • Protect Private Keys
  • Hostname Coverage
  • Reliable CA
  • TLS v1.2
  • Cipher Suites
  • Support Forward Secrecy
  • Disable Client-Initiated Renegotiation
  • Disable TLS compression
  • Disable RC4
  • Disable SSL v3
  • Secure Cookies
  • Deploy HTTP Strict Transport Security
  • Disable Caching of Sensitive Content

 

參考資料

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *