你知道SSL是如何工作的嗎?
SSL是“安全套接字層”,是一種數字證書,允許驗證Web伺服器以及加密該伺服器與其訪問者之間的所有通訊。可以防止傳輸的資料不被駭客竊取,本文從SSL工作方式出發,解釋為什麼要使用SSL加密傳輸。
您需要了解的有關SSL,加密和HTTPS的所有資訊
SSL代表“安全套接字層”。原始版本是由Netscape在1995年開發的,不久之後Al Gore完成了一系列管道的安排,後來被稱為“網際網路”。原始版本1.0從未公開過釋出,因為它充滿了安全漏洞。事實上,安全漏洞是一個遺傳問題,最終也終結了SSL 2.0和SSL 3.0的生命週期。
現在,我們來解決一些其他問題:
什麼是SSL證書?
SSL證書是一種數字證書,允許驗證Web伺服器以及加密該伺服器與其訪問者之間的所有通訊。或者換句話說,SSL證書可以促進加密連線。
把它想象成駕駛執照。當您獲得證書頒發機構時,頒發證書的證書頒發機構(代表此隱喻中的DMV)在頒發給予持有者特定許可權的文件之前驗證申請人的身份。這意味著在駕駛執照的情況下駕駛,或者在SSL證書的情況下使用公鑰基礎設施來加密通訊。幸運的是,驗證不需要等待很長時間,只需要驗證雙方的金鑰即可。
SSL證書提供兩個基本功能,但其中只有一個真正受到關注。第一個也是最著名的功能是加密。透過SSL證書,您可以加密與您網站之間的所有通訊。但是,根據您選擇的驗證型別,SSL證書還可以驗證您的身份。
當我們稍後討論證書型別時,我們會深入探討這一點,但就目前而言,只需記住SSL證書就像是數字驅動程式的許可證。它標識其所有者並授予某些許可權。
現在,讓我們定義幾個關鍵術語。在我們繼續前進之前你需要知道這些。
HTTPS - 這是Internet所基於的HTTP協議的安全版本。安裝SSL後,您將網站重定向到HTTPS URL。
客戶端 - 指使用者,通常在Google Chrome或Mozilla Firefox等網路瀏覽器上訪問。
伺服器 - 網站託管在伺服器上,當與客戶端進行通訊時,伺服器與伺服器進行通訊,而不是網站本身。
SSL證書如何工作?
有兩種方法可以解釋這一點,一種是技術性極強,需要我進行大量的研究。另一種是以外行的方式解釋它,儘量讓讀者易懂,我們選擇第二種方式。
當客戶端的瀏覽器到達網站的伺服器並注意到它有SSL時,它開始一個名為“ SSL握手 ” 的過程。這是客戶端和伺服器決定他們將使用的加密方式(哪些演算法和密碼) - 基本上是加密的方向),驗證伺服器,然後交換對稱的會話金鑰。
一旦交換了會話金鑰,兩者就開始以只有另一方可以讀取它的方式進行編碼通訊。這可以防止來自第三方的竊聽,內容注入以及一連串其他潛在問題。
加密期間有兩種加密方式。第一種是在私鑰和公鑰之間發生的非對稱加密。還有另一種加密,即對稱加密。使用非對稱加密, 公鑰加密,私鑰解密。但是,對稱加密允許兩個金鑰加密和解密。這對於雙面通訊是必要的。
顧名思義,會話金鑰適用於一個會話,之後會丟棄金鑰並在下次訪問時交換新金鑰。非對稱私鑰通常為2048位。會話金鑰需要更快,是256位。不要擔心安全性下降; 超級計算機需要10000年才能打破256位加密。
為什麼要使用SSL?
在沒有加密的網站上存在一些非常具體的威脅 - 特別是竊聽。當客戶端和伺服器之間存在未加密的連線時,可能會發生竊聽。它基本上意味著第三方可以“收聽”並檢視雙方之間傳輸的最後一條資料。這包括敏感的資訊,如姓名,地址,信用卡號碼,社會安全號碼等。
顯然,這是一個問題,特別是對於收集個人資訊的網站。這是加密的最大原因。網站需要保護傳入和傳出訪問者的資訊 - 尤其是電子商務網站,銀行,醫療機構以及其他一系列行業。
除了竊取敏感資訊之外,竊聽者還可以操縱資訊。意思是,他們可以冒充客戶端或伺服器並導致混亂。這被稱為中間人攻擊。您的客戶認為它已連線到伺服器; 您的伺服器認為它已連線到客戶端; 但是,那裡有一箇中間人。客戶端將資訊傳送給攻擊者,然後攻擊者將其傳送到伺服器。顯然,你可以看到這會如何產生問題。SSL透過阻止MITM攻擊和竊聽來解決這些問題。
它還可以防止內容注入。這通常由網際網路服務提供商在向網站注入不需要的廣告時發生,但也可以由惡意第三方完成,這樣做更危險。
什麼是SSL證書型別?
為了方便起見,我們將SSL型別分為兩類:
-
驗證級別
-
功能
有三個驗證級別和四個功能。讓我們從驗證型別開始。驗證型別是指證書頒發機構將稽核您公司或組織的程度。
-
域驗證 - 只需要域控制驗證(意味著您擁有自己的網站),任何人都可以使用DV。
-
組織驗證 - 需要在釋出之前執行輕型企業身份驗證。這可以在幾天內完成。
-
擴充套件驗證 - 這需要完整的業務身份驗證,最多可能需要一週時間。EV會在位址列中顯示您的公司名稱。
接下來,讓我們看看不同的功能。
-
單域SSL - 加密單個域。
-
SAN SSL或UCC證書 - 加密多個域。
-
萬用字元SSL - 加密一個域和無限的隨附子域。
-
多域萬用字元SSL - 加密多個域和子域。
我應該使用免費的SSL證書嗎?
對於許多網站,特別是那些與業務無關的網站,免費的SSL是一個很好的選擇。它易於獲取,易於安裝,並且將提供行業標準加密。我不會騙你,有時候自由是要走的路。
但是,如果你經營一家公司,不要去使用免費的。因為它的證書管理和支援的規模都將非常缺乏。免費的CA無法提供付費CA所做的那種支援。
更不用說這些證書每三個月到期一次,而且只有單域和萬用字元。
付費CA提供更好的選擇,更好的可擴充套件性和更好的支援。如果這對您很重要,我們建議您遠離免費證書。
本文轉載自“安全加”翻譯文章
原文連結請參考:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31510736/viewspace-2168821/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SSL證書的工作原理你知道嗎?
- 你知道前端是如何實現水印的嗎前端
- 你知道Spring中BeanFactoryPostProcessors是如何執行的嗎?SpringBean
- 你知道《怪物獵人世界》是如何立項的嗎?
- 你知道MySQL是如何處理千萬級資料的嗎?MySql
- jvm是如何執行i = i++ + ++i的,你知道嗎?JVM
- 你知道什麼是ECMAScript嗎?
- 你知道什麼是 AOP 嗎?
- 你知道的反射是這樣嗎?(二)反射
- 你知道什麼是後端套模板嗎?他們是怎麼操作的知道嗎?後端
- 你真的知道Python的字串是什麼嗎?Python字串
- 你知道什麼是微服務嗎?微服務
- 你知道如何學習Linux嗎?Linux
- Dart | 你知道 sync*/async* 是怎麼用的嗎?Dart
- 你真的知道協程是怎麼來的嗎?
- 【嗅探底層】你知道Synchronized作用是同步加鎖,可你知道它在JVM中是如何實現的嗎?synchronizedJVM
- 你知道什麼是區塊鏈嗎?區塊鏈
- 你知道什麼是路由器嗎?路由器
- 你知道年薪百萬的程式設計師是如何對時間管理嗎?程式設計師
- 你真的知道計算機是如何進行減法運算的嗎?計算機
- ssl/tls是什麼?是怎麼工作的?TLS
- 塊儲存是做什麼用的,你知道嗎?
- 你知道js的函式過載是什麼嗎?JS函式
- 中國最牛的SEO公司你知道是哪家嗎
- 聚合支付代理是怎麼賺錢的,你知道嗎?
- 阿里的Blink開源了,如何部署你知道嗎?阿里
- 伺服器能做那些有趣是!你知道嗎?????伺服器
- 什麼是OA伺服器,你知道嗎?伺服器
- 你真的知道什麼是系統呼叫嗎?
- 你知道什麼是三層架構嗎?架構
- 你知道在springboot中如何使用WebSocket嗎Spring BootWeb
- 你知道Java是如何解決可見性和有序性問題的嗎?Java
- Spring Boot 到底是怎麼執行的,你知道嗎?Spring Boot
- Spring Boot到底是怎麼執行的,你知道嗎?Spring Boot
- Lombok經常用,但是你知道它的原理是什麼嗎?Lombok
- 每日一學:你知道如何在 RabbitMQ 中實現 Work queues工作佇列模式嗎?MQ佇列模式
- 你知道什麼是二次元嗎?二次元
- 你知道什麼是空閒回撥(requestIdleCallback)嗎?