標籤:blog http 使用 strong 資料 問題
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer,基於SSL的HTTP協議)使用了HTTP協議,但HTTPS使用不同於HTTP協議的預設連接埠及一個加密、身分識別驗證層(HTTP與TCP之間)。
HTTPS通訊方式:
用戶端在使用HTTPS方式與Web伺服器通訊時有以下幾個步驟,。
(1)客戶使用https的URL訪問Web伺服器,要求與Web伺服器建立SSL串連。
(2)Web伺服器收到用戶端請求後,會將網站的認證資訊(認證中包含公開金鑰)傳送一份給用戶端。
(3)用戶端的瀏覽器與Web伺服器開始協商SSL串連的安全等級,也就是資訊加密的等級。
(4)用戶端的瀏覽器根據雙方同意的安全等級,建立工作階段金鑰,然後利用網站的公開金鑰將工作階段金鑰加密,並傳送給網站。
(5)Web伺服器利用自己的私密金鑰解密出工作階段金鑰。
(6)Web伺服器利用工作階段金鑰加密與用戶端之間的通訊。
[
note:
HTTPS =HTTP +SSL
HTTP:80連接埠 HTTPS:443連接埠
]
HTTPS解決的問題1 . 信任主機採用https 的server 必須從CA 申請一個用於證明伺服器用途類型的認證. 此認證只有用於對應的server 的時候,用戶端才信任此主機. 2 . 通訊過程中的資料的泄密和被竄改 1. 一般意義上的https, 就是 server 有一個認證. a) 主要目的是保證server 就是他聲稱的server. 這個跟第一點一樣. b) 服務端和用戶端之間的所有通訊,都是加密的. i. 具體講,是用戶端產生一個對稱的密鑰,通過server 的認證來交換密鑰. 一般意義上的握手過程. ii. 加下來所有的資訊往來就都是加密的. 第三方即使截獲,也沒有任何意義.因為他沒有密鑰. 當然竄改也就沒有什麼意義了. 2. 少許對用戶端有要求的情況下,會要求用戶端也必須有一個認證. a) 這裡用戶端認證,其實就類似表示個人資訊的時候,除了使用者名稱/密碼, 還有一個CA 認證過的身份. 應為個人認證一般來說上別人無法類比的,所有這樣能夠更深的確認自己的身份. b) 目前少數個人銀行的專業版是這種做法,具體認證可能是拿隨身碟作為一個備份的載體.
參考:
http://www.cnblogs.com/ok-lanyan/archive/2012/07/14/2591204.html
http://www.2cto.com/net/201207/139401.html