ssl全稱secure socket layer,安全套接字層。ssl用來保證web瀏覽器與web伺服器交換資訊的安全性,保證傳輸過程中訊息的加密性。
雜湊演算法驗證資料完整性:
傳送的資料中包含經過雜湊演算法的到的雜湊值。當接收到資料時,可以通過相應的雜湊演算法再次對資料進行計算,將計算得到的雜湊值與接收到的雜湊值進行比較,若相同,則表明資料沒有被篡改。資料的完整性可以保證。
非對稱加密演算法交換金鑰
在ssl握手的過程中使用非對稱加密演算法,這樣可以保證中間資料即使被劫持,對方因為沒有私鑰而無法得知資料內容。為什麼只在握手過程中使用,而不一直在傳輸過程中使用,這是因為非對稱加密演算法的相比於對稱加密演算法慢的多。
對稱加密演算法來加密資料
對稱加密演算法用在當ssl連線已經建立之後,所傳輸資料的加密。
數字證書證明伺服器或客服端身份(網銀證書就是客戶端證書)
https連線建立前通常需要通過驗證伺服器證書來判斷當前伺服器是否真是擁有使用者所訪問的伺服器(網域名稱)。而對於銀行系統來說,伺服器端需要驗證當前的訪問者證明自己擁有當前的賬戶,避免使用者財產損失,這裡就用到了客戶端證書。證書是需要第三方權威機構頒發的(即使用了該機構公鑰進行簽名),瀏覽器對於不認識的證書頒發機構會警告。
客戶端發起https連線請求,發起請求的埠號為443,請求中包含乙個隨機數num1,支援的加密協議及版本。
伺服器接收到連線請求,接收到了sum1資料並儲存起來。伺服器返回給客戶端另乙個隨機數num2,同時向客戶端傳輸自己的數字證書(證書包含服務端公鑰)以及選定的加密協議。
客戶端拿到num2儲存,同時接收到數字證書,例項上這個證書是乙個證書鏈,包含當前伺服器證書,以及頒發該證書的第三方機構的證書,甚至包含第三方機構證書的頒發者的證書。越往上,權威性越大,直至本利瀏覽器預設儲存的證書頒發機構。**證書1 -> 證書1的頒發者的證書2 -> 證書2的頒發者的證書3 -> ··· -> 瀏覽器的根證書
瀏覽器會遞迴的驗證這些證書的有效性,首先證書中網域名稱必須包含當前訪問的位址網域名稱。
上面就完成了客戶端對伺服器的驗證,接下來,客戶端再次生成乙個隨機數num3,這時使用伺服器提供的公鑰對num3進行加密得到乙個加密資料secret。同時使用約定好的演算法對num1,num2,num2進行計算生成乙個對稱加密的金鑰。
伺服器接收到secret之後,使用私鑰對其解碼得到num3,這個時候伺服器也知道擁有了num1,num2,num3三個數字,同樣可以生成對稱加密的金鑰。
6.ssl握手完成,後續的通訊使用對稱加密金鑰來進行加密。
SSL協議 HTTPS協議
ssl secure socket layer安全套接層 tls transport layer security傳輸層安全,是被標準化的ssl pki 公鑰基礎設施 pki提供電子簽名證書,伺服器購買證書 網路伺服器通過證書被認證,客戶端則不需要認證。tls的三個階段 1.協商金鑰演算法 2.通過...
《轉》SSL和Https協議
把這幾天學習到的關於ssl和https協議的內容在這裡分享一下,適合一些像我一樣的網路協議初學者。ssl協議的起源和歷史我就不再多說了,就是那個netscape 網景公司開發的,它的作用主要是提供了一種安全傳輸方式,我們知道網上有很多的時候需要我們去輸入使用者名稱和密碼,那麼假設我們自己的電腦防病毒...
https協議總結
學習乙個東西或者用乙個東西的時候,就會想,它有什麼用,為什麼要用它,先說說傳統的http,傳統的http是一種可靠但不安全的超文字傳輸協議,說它可靠,是因為http是基於tcp實現的,確保了內容傳輸的可靠性,也就是說,它保證了內容的正確性,但它又是不安全的,因為http是明文傳輸的,有一點html5...