https協議 ssl協議以及證書生成

2022-04-08 12:16:54 字數 2098 閱讀 2727

一、https協議

https是一安全為目標的httpt通道,簡單講師http的安全版。即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。

http和https的區別

超文字傳輸協議http協議被用於在瀏覽器和**伺服器之間傳遞資訊。http協議以明文方式傳送內容,不提供任何方式的資料加密,如果攻擊者擷取了瀏覽器和**伺服器之間的傳輸報文,就可以直接讀懂其中的訊息,因此http協議不適合傳輸一些敏感資訊,比如信用卡號、密碼等。

為了解決http協議的這一缺陷,需要使用另一種協議:安全套接字層超文字傳輸協議https。為了資料傳輸的安全,https在http的基礎上加入了ssl協議,ssl依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通訊加密。

https和http的區別主要為以下四點

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

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

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

4、http的連線很簡單,是無狀態的;https協議是由ssl+http協議構建的可進行加密傳輸、身份認證

的網路協議,比http協議安全。

二、ssl協議

如上圖所示,簡述如下:

1、客戶端生成乙個隨機數random_client,並且和支援ssl協議版本、加密型別等傳送給服務端;

2、服務端生成乙個隨機數random_server,並且和證書傳送給客戶端(證書中包含著公鑰)

3、客戶端驗證server的證書,驗證成功則認定其身份開始連線,否則斷開連線。當驗證成功後,客戶端隨機生成乙個「對稱密碼」,使用公鑰加密傳送給服務端;

4、服務端用自己的私鑰解密,此時服務端和客戶端都擁有了三個要素:random-client、random-server和對稱密碼,用這三個要素通過演算法的出session key

5、兩者安全通道已經建立,以後的交流都會校驗session key

三 ca證書

1、生成金鑰、證書

//生成伺服器端私鑰

genrsa -out server.key 1024

//生成伺服器公鑰

rsa -in server.key -pubout -out server.pem

//生成客戶端端私鑰

genrsa -out client.key 1024

//生成客戶端公鑰

rsa -in client.key -pubout -out client.pem

2、生成ca證書

genrsa -out ca.key 1024

req -new -key ca.key -out ca.csr

x509 -req -in ca.csr -signkey -out ca.crt

執行到第二步會讓你 填寫一些個人訊息 比如公司 位址 名稱等

3、生成伺服器端證書和客戶端證書

伺服器端需要向 ca 機構申請簽名證書,在申請簽名證書之前依然是建立自己的 csr 檔案

req -new -key server.key -out server.csr

//向自己的 ca 機構申請證書,簽名過程需要 ca 的證書和私鑰參與,

//最終頒發乙個帶有 ca 簽名的證書

x509 -req -ca ca.crt -cakey ca.key -cacreateserial -in server.csr -out server.crt

//client 端

req -new -key client.key -out client.csr

//client 端到 ca 簽名

x509 -req -ca ca.crt -cakey ca.key -cacreateserial -in client.csr -out client.crt

此時,我們就生成了證書了

SSL協議 HTTPS協議

ssl secure socket layer安全套接層 tls transport layer security傳輸層安全,是被標準化的ssl pki 公鑰基礎設施 pki提供電子簽名證書,伺服器購買證書 網路伺服器通過證書被認證,客戶端則不需要認證。tls的三個階段 1.協商金鑰演算法 2.通過...

《轉》SSL和Https協議

把這幾天學習到的關於ssl和https協議的內容在這裡分享一下,適合一些像我一樣的網路協議初學者。ssl協議的起源和歷史我就不再多說了,就是那個netscape 網景公司開發的,它的作用主要是提供了一種安全傳輸方式,我們知道網上有很多的時候需要我們去輸入使用者名稱和密碼,那麼假設我們自己的電腦防病毒...

HTTPS中SSL協議總結

ssl全稱secure socket layer,安全套接字層。ssl用來保證web瀏覽器與web伺服器交換資訊的安全性,保證傳輸過程中訊息的加密性。雜湊演算法驗證資料完整性 傳送的資料中包含經過雜湊演算法的到的雜湊值。當接收到資料時,可以通過相應的雜湊演算法再次對資料進行計算,將計算得到的雜湊值與...