有 SSL 了嗎?

現在的網路越來越多人會連上網路,而且來自更多地方。

我們已經與筆電、手機和平板電腦建立連結,而且可能很快就會推出個人裝置和配件。我們透過不受信任的網路存取網際網路,有時甚至會惡意。現代人紛紛轉往線上,因此必須採取適當措施保護我們的資料和使用者資料。

最重要的是,身為開發人員,我們必須瞭解 SSL 的必要性和實用性。

什麼是 SSL?是安全資料傳輸層 (SSL) 的縮寫,是一種加密編譯通訊協定,旨在提供網際網路上的通訊安全性。這項服務會透過加密和完整性確保隱私,防止他人窺探或竄改網際網路連線。安全資料傳輸層 (SSL) 一直是缺陷,但這絕對是確保網際網路上各種資料通訊安全無虞的首要做法。

根據 SSL Pulse 指出,我們在一年前的採用 SSL 使用率大約只有不到 15%,而現在的採用率已經超過 50%。

兩個縮寫:

  • TLS:適用於大多數意圖和用途,與 SSL 相同。明確來說,SSL 3.1 已重新命名為 TLS,而 TLS 為 IETF 標準名稱。但可以互換!

  • HTTPS:這是指透過安全資料傳輸層 (SSL) 進行的 HTTP,只是提供安全資料傳輸層 (SSL) 和標準 HTTP 的安全性功能。首先,用戶端與伺服器之間的握手程序會使用公開/私密金鑰密碼編譯,建立共用金鑰。安全資料傳輸層 (SSL) 通訊協定的第二部分會使用這組金鑰加密通訊。

上網時可能覺得安全、快速又安全。看來我們是直接與網站對談。但實際上,這並非直接聯繫,我們的通訊是透過 Wi-Fi 路由器、網際網路服務供應商 (ISP),以及在裝置和網站之間進行其他中介 Proxy。不使用 HTTPS,所有通訊內容都是純文字格式。

因為使用者通常很少輸入指定 HTTPS 的完整網址,或使用 HTTP 點擊連結,更糟的是,您可以掛接一 (兩個) 中間攻擊,並以 HTTP 取代 HTTPS。而名為「SSLstrip」的工具就是 2009 年推出的一項工具。自 2010 年起,Firesheep 剛剛聽過開放 Wi-Fi 網路,目的是確保用來傳送 Cookie 的 Cookie 是正常的,也就是說,你可以聆聽即時通訊內容或登入他人的 Facebook 帳戶。

不過,安全資料傳輸層 (SSL) 的成本相對較低、快速且易於部署 (請參閱 ssllabs.com 和 Ilya Grigorik 的高效能瀏覽器網路)。針對非商業用途,您甚至可以前往 startssl.com 取得免費憑證!公開金鑰綁定功能旨在讓網站營運商限制哪些憑證授權單位能為網站核發憑證。

「今年 (2010 年 1 月) ,Gmail 便預設為所有服務都使用 HTTPS。。在我們的實際工作環境前端電腦上,安全資料傳輸層 (CPU) 負載佔 CPU 負載不到 1%、每個連線的記憶體小於 10 KB,以及 < 2% 的網路負擔...

如果現在停止閱讀,您只需要記住一件事:SSL 的運算成本不會增加。」

超時 SSL、Adam Langley (Google)

最後,常見的錯誤如下:

  • 混合內容:使用 HTTP 和 HTTPS 的網站。使用者必須點選權限按鈕才能載入內容,因此感到不悅。(Chrome 和 Firefox 實際上會隱藏 iframe 的內容)。請使用相對或配置相關的網址 (例如 <style src="//foo.com/style.css">),確保 HTTPS 網頁上的所有資源都是透過 HTTPS 載入
  • 不安全的 Cookie:透過 HTTP 連線以讀取形式傳送。如要避免這種情況發生,請在 Cookie 標頭上設定安全屬性。您也可以採用新的「嚴格傳輸安全性」標頭,要求 SSL 傳輸安全性 (HSTS)。

受迫失誤數

  • 如果您重視使用者資料的隱私和完整性,就需要使用 SSL。速度比以往更快、更簡單,費用更便宜。
  • 避免常見的實作問題,例如混合內容錯誤或未設定正確的 HTTP 標頭位元。
  • 使用相對網址或配置相對網址。
  • 查看 HSTS 和憑證鎖定等最新酷炫功能

簡報: 有 SSL 了嗎?