天天看點

openssl加密http網站過程1

服務端在配置HTTPS服務時,加上“HTTP Strict Transport Security”配置項

我們來一起說說HTTPS中間人攻擊與證書校驗

http://wzlinux.blog.51cto.com/8021085/1908856

公鑰和私鑰

私鑰簽名和解密,公鑰加密,驗證簽名

1)、Message Digest commands(資訊摘要算法也可以叫單向加密算法)

openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1][-out filename] /path/to/somefile

openssl dgst -sha1 -out /a.cipher /a.txt

2)、Cipher commands(對稱加密)

①公鑰:public key,從私鑰中提取産生,可公開給所有人。

②私鑰:secret key,通過工具建立生成,由使用者自己留存,必須保證其私密性。

以下為DH算法的工作原理圖

<a href="https://s5.51cto.com/wyfs02/M02/9A/1D/wKioL1lRyYvgQ2KDAAE7e1sKiMs504.jpg-wh_500x0-wm_3-wmp_4-s_2126580411.jpg" target="_blank"></a>

以下為更一般的描述:

Alice生成随機自然數a、随機大質數p和原根g;

Alice和Bob以K值作為密鑰進行通信。

openssl enc -base64 -a -salt -in /etc/passwd  -out /passwd.cipher

openssl enc -d -base64 -a -salt -in /passwd.cipher  -out /passwd

3)、證書(x509格式)

<a href="https://s2.51cto.com/wyfs02/M00/9A/1D/wKiom1lRyenz8XWeAAGDZebTaEI036.jpg-wh_500x0-wm_3-wmp_4-s_1618028368.jpg" target="_blank"></a>

openssl中有如下字尾名的檔案

key格式:私有的密鑰

csr格式:證書簽名請求(證書請求檔案),含有公鑰資訊,certificate signing request的縮寫

crt格式:證書檔案,certificate的縮寫

crl格式:證書吊銷清單,Certificate Revocation List的縮寫

pem格式:用于導出,導入證書時候的證書的格式,有證書開頭,結尾的格式

PKI:Public Key Infrastructure,是指用公鑰概念和技術來實施和提供安全服務的具有普适性的安全基礎設施。

一個完整的PKI系統必須具有注冊機構(RC)、權威認證機構(CA)、數字證書庫、密鑰備份及恢複系統、證書吊銷系統(CRL)、端實體(API即應用接口)等基本構成部分。

建立目錄,目錄放置私鑰檔案、請求檔案、證書檔案

順序:私鑰--&gt;公鑰 請求檔案--&gt;核實 發放證書

私鑰檔案産生:#openssl genrsa 1024(鑰匙長度)&gt;私鑰檔案名

請求檔案産生:#openssl req -new -key 私鑰檔案 -out 請求檔案

證書産生:openssl ca -in 請求檔案 -out 證書

加密和發送過程:

1、當發送方Alice有資料要發送給Bob時,為了確定資料能夠完整地發送至Bob,首先需要使用單向加密算法去計算出這段要發送的資料的特征碼;

2、為了便于Bob收到資料之後可驗證身份,發送方Alice使用本地私鑰加密這段特征碼,并将加密後的特征碼附加在資料後面;

3、為了確定通信過程是保密的,發送方Alice生成一個臨時的對稱密鑰,并使用這個對稱密鑰加密整段資料;

4、發送方Alice擷取Bob的公鑰,再使用Bob的公鑰加密來加密剛才生成的臨時的對稱密鑰,并把加密後的對稱密鑰附加在整段加密資料後面,而後發送給Bob。

接收和解密過程:

接收和解密的過程和解密發送的過程剛好相反。

1、接收方Bob收到資料之後,先使用自己的私鑰去解密這段加密過的對稱密鑰(由Alice生成);

2、接收方Bob用解密得到的對稱密鑰去解密整段(發送方用對稱密鑰)加密的内容;此時接收方Bob得到Alice發送給自己的資料和加密後的特征碼;

3、接收方Bob用對方Alice的公鑰去解密這段特征碼,如果能解密出來,則發送方的身份得到驗證(沒錯,就是Alice發送的);

4、接收方Bob再用同樣的單向加密算法去計算這段資料的特征碼,與解密得到的特征碼進行比較,如果相同,則資料完整性得到驗證,否則說明資料有可能被篡改或被破壞。

<a href="https://s4.51cto.com/wyfs02/M01/9A/24/wKioL1lR_buR28gQAAfY9aWxmNw257.jpg-wh_500x0-wm_3-wmp_4-s_1222863337.jpg" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M02/9A/70/wKiom1lV2tOgjaUbAAfY9aWxmNw467.jpg" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/9A/70/wKioL1lV2liy2Q99AAIIy2lLsN4704.jpg-wh_500x0-wm_3-wmp_4-s_1516303947.jpg" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/9A/70/wKiom1lV2ljgMCrJAACSKg0fwNM449.jpg-wh_500x0-wm_3-wmp_4-s_3325251205.jpg" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/9A/70/wKioL1lV2lmj8nmTAAA7_mCOxlY319.png-wh_500x0-wm_3-wmp_4-s_1366327860.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M02/9A/70/wKiom1lV2lrTkXQuAAKWRwCylwU433.jpg-wh_500x0-wm_3-wmp_4-s_1644405589.jpg" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M00/9A/70/wKiom1lV2lujfCqpAAOu4KxNWHQ128.jpg-wh_500x0-wm_3-wmp_4-s_311274721.jpg" target="_blank"></a>

本文轉自 liqius 51CTO部落格,原文連結:http://blog.51cto.com/szgb17/1942308,如需轉載請自行聯系原作者

繼續閱讀