• 有 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

     

    參考資料

     

     

    Posted by Tony @ 7:25 pm

    Tags: , , ,

  • Leave a Reply

    Your email address will not be published.