HTTP安全通訊 Https和SSL

2022-07-15 02:57:08 字數 1719 閱讀 8368

1)簡介   

https(全稱:hypertext transfer protocol over secure socket layer),是以安全為目標的http通道,簡單講是http的安全版。網路通訊協議棧自上而下分別為應用層、傳輸層、網路層和資料鏈路層。傳輸層不能對傳輸報文段進行加密處理,於是在應用層和傳輸層之間加入「半層」——ssl層,之所以說是「半層」,因為可以使用ssl,也可以不使用。https之所以安全,因為網路資料傳遞經過了ssl的加密處理。

2)https和http的區別

a. https協議需要到ca申請證書,一般免費證書很少,需要交費。

b. http是超文字傳輸協議,資訊是明文傳輸;https 則是具有安全性的ssl加密傳輸協議。

c. http和https使用的是完全不同的連線方式,用的埠也不一樣,前者是80,後者是443。

d. http傳送的資料不需要加密,而經https傳輸的資料需要進行加密處理,故而耗費的資源也是更多,對伺服器的服務能力(併發能力)有一定的限制。

3)https的作用

它的主要作用可以分為兩種:一種是建立乙個資訊保安通道,來保證資料傳輸的安全;另一種就是確認**的真實性。

a. 一般意義上的https,就是伺服器有乙個證書。主要目的是保證伺服器就是他聲稱的伺服器,這個跟第一點一樣;服務端和客戶端之間的所有通訊,都是加密的。

b. 具體講,是客戶端產生乙個對稱的金鑰,通過伺服器的證書來交換金鑰,即一般意義上的握手過程。

c. 接下來所有的資訊往來就都是加密的。第三方即使截獲,也沒有任何意義,因為他沒有金鑰,當然篡改也就沒有什麼意義了。

d.少許對客戶端有要求的情況下,會要求客戶端也必須有乙個證書。

這裡客戶端證書,其實就類似表示個人資訊的時候,除了使用者名稱/密碼,還有乙個ca 認證過的身份。因為個人證書一般來說是別人無法模擬的,所有這樣能夠更深的確認自己的身份。目前少數個人銀行的專業版是這種做法,具體證書可能是拿u盤(即u盾)作為乙個備份的載體。

1)簡介

2)ssl提供的服務

a.認證使用者和伺服器,確保資料傳送到正確的客戶機和伺服器

b.加密資料以防止資料中途被竊取

c.維護資料的完整性,確保資料在傳輸過程中不被改變。

1)客戶端請求伺服器,傳送握手訊息

2)伺服器返回客戶端自己的加密演算法、數字證書和公鑰;

3)客戶端驗證伺服器端傳送來的數字證書是否與本地受信任的證書相關資訊一致;如果不一致則客戶端瀏覽器提示證書不安全如下圖所示

如果驗證通過,則瀏覽器會採用自身的隨機數演算法產生乙個隨機數,並用伺服器傳送來的公鑰加密;傳送給伺服器;這裡如果有人通過攻擊獲取了這個訊息,那也沒用,因為他沒有解密此段訊息所需要私鑰;驗證通過的**在瀏覽器位址列的右邊會有一安全鎖的標識;

3)伺服器解密得到此隨機數,並用此隨機數作為金鑰採用對稱加密演算法加密一段握手訊息傳送給瀏覽器;

4)瀏覽器收到訊息後解密成功,則握手結束,後續的資訊都通過此隨機金鑰加密傳輸。

以上是服務端認證的情況,如果服務端對訪問的客戶端也有認證需求,則客戶端也需要將自己的證書傳送給伺服器,伺服器認證不通過,通訊結束;原理同上;

另外,一般在傳輸過程中為了防止訊息竄改,還會採用訊息摘要後再加密的方式,以此保證訊息傳遞的正確性。

HTTP和HTTPS通訊原理

直接用一張圖完美的解釋 2.服務端必須要有一套數字證書,可以自己製作,也可以向組織申請。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面,這套證書其實就是一對公鑰和私鑰。伺服器的開發人員向數字證書認證機構 ca 提出公開金鑰的申請,審核通過後,...

HTTP通訊原理和HTTPS通訊原理

本博主參加位元組跳動第一次面試的時候,發現自己對於網路協議這方面欠缺很嚴重,並且在資訊保安課程中學到了部分數字證書的概念,故特意整理部落格以加強自己對於部分協議體系的理解。http 協議 hypertext transfer protocol,超文字傳輸協議 是客戶端瀏覽器或其他程式與web伺服器之...

Https安全通訊原理

是什麼?是基於安全目的的http 通道,其安全基礎由ssl 層來保證。最初由netscape 2.與http 主要區別 協議基礎不同 https 在http 下加入了ssl層,通訊方式不同 https 在資料通訊之前需要客戶端 伺服器進行握手 身份認證 建立連線後,傳輸資料經過加密,通訊埠443。傳...