Https要點,httpswww.baidu.com
1、https協議需要到ca申請認證
2、http是超文字傳輸通訊協定 (HTTP),資訊是明文傳輸,https 則是具有安全性的ssl加密傳輸協議
3、http和https使用的是完全不同的串連方式,用的連接埠也不一樣,http預設連接埠是80,https是443
4、http的串連很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路通訊協定,比http協議安全。
1、ssl協議位於tcp/ip協議與各種應用程式層之間,為資料的通訊提供安全支援。
2、ssl協議分了兩層:ssl記錄協議、ssl握手協議
ssl記錄協議,它建立在可靠的傳輸協議(如tcp)之上,為高層協議提供資料封裝、壓縮、加密等準系統的支援。
ssl握手協議,它建立在ssl記錄協議之上,用於在實際的資料轉送開始前,通訊雙方進行身份認證、協商密碼編譯演算法、交換加密金鑰等。
3、ssl協議提供的服務主要有
1)認證使用者和伺服器,確保資料發送到正確的客戶機和伺服器
2)加密資料以防止資料中途被竊取
3)維護資料的完整性,確保資料在傳輸過程中不被改變。
4、ssl協議的工作流程
伺服器認證階段:
1)用戶端向伺服器發送一個開始資訊“hello”以便開始一個新會話串連
2)伺服器根據客戶的資訊確定是否需要產生新的主要金鑰,如需要則伺服器在響應客戶的“hello”資訊時將包含產生的主要金鑰所需的的資訊
3)客戶根據收到的伺服器響應資訊,產生一個主要金鑰,並用伺服器的公開祕密金鑰加密後傳給伺服器
4)伺服器解密該主要金鑰,並返回給客戶一個用主要金鑰認證的資訊,以此讓客戶證明伺服器
使用者認證階段
經過認證的伺服器發送一個提問給客戶,客戶返回數位簽章後的提問和其公開密鑰,從而向伺服器提供認證
為了便於更好的認識和理解SSL 協議,這裡著重介紹SSL 協議的握手協議。SSL 協議既用到了公開金鑰加密技術又用到了對稱式加密技術,對稱式加密技術雖然比公開金鑰加密技術的速度快,可是公開金鑰加密技術提供了更好的身份認證技術。SSL 的握手協議非常有效讓客戶和伺服器之間完成相互之間的身份認證,其主要過程如下:
1)用戶端的瀏覽器向伺服器傳送用戶端SSL 協議的版本號碼,密碼編譯演算法的種類,產生的隨機數,以及其他伺服器和用戶端之間通訊所需要的各種資訊。
2)伺服器向用戶端傳送SSL 協議的版本號碼,密碼編譯演算法的種類,隨機數以及其他相關資訊,同時伺服器還將向用戶端傳送自己的認證。
3)客戶利用伺服器傳過來的資訊驗證伺服器的合法性,伺服器的合法性包括:認證是否到期,發行伺服器憑證的CA 是否可靠,發行者認證的公開金鑰能否正確解開伺服器憑證的“發行者的數位簽章”,伺服器憑證上的網域名稱是否和伺服器的實際網域名稱相匹配。如果合法性驗證沒有通過,通訊將斷開;如果合法性驗證通過,將繼續進行第四步。
4)使用者端隨機產生一個用於後面通訊的“對稱密碼”,然後用伺服器的公開金鑰(伺服器的公開金鑰從步驟②中的伺服器的認證中獲得)對其加密,然後將加密後的“預主密碼”傳給伺服器。
5)如果伺服器要求客戶的身份認證(在握手過程中為可選),使用者可以建立一個隨機數然後對其進行資料簽名,將這個含有簽名的隨機數和客戶自己的認證以及加密過的“預主密碼”一起傳給伺服器。
6)如果伺服器要求客戶的身份認證,伺服器必須檢驗客戶認證和簽名隨機數的合法性,具體的合法性驗證過程包括:客戶的認證使用日期是否有效,為客戶提供認證的CA 是否可靠,發行CA 的公開金鑰能否正確解開客 戶 認證的發行CA 的數位簽章,檢查客戶的認證是否在認證廢止列表(CRL)中。檢驗如果沒有通過,通訊立刻中斷;如果驗證通過,伺服器將用自己的私密金鑰解開加密的“預主密碼”,然後執行一系列步驟來產生主 通訊密碼(用戶端也將通過同樣的方法產生相同的主通訊密碼)。
7)伺服器和用戶端用相同的主密碼即“通話密碼”,一個對稱金鑰用於SSL 協議的安全資料通訊的加解密通訊。同時在SSL 通訊過程中還要完成資料通訊的完整性,防止資料通訊中的任何變化。
8)用戶端向伺服器端發出資訊,指明後面的資料通訊將使用的步驟⑦中的主密碼為對稱金鑰,同時通知伺服器用戶端的握手過程結束。
9)伺服器向用戶端發出資訊,指明後面的資料通訊將使用的步驟⑦中的主密碼為對稱金鑰,同時通知用戶端伺服器端的握手過程結束。
10)SSL 的握手部分結束,SSL 安全通道的資料通訊開始,客戶和伺服器開始使用相同的對稱金鑰進行資料通訊,同時進行通訊完整性的檢驗。