SSL TLS與密碼通訊工具

2021-08-15 08:00:31 字數 2784 閱讀 7576

1.先說一下密碼通訊的工具:對稱加密,非對稱加密,單向雜湊函式,訊息認證碼,數字簽名.

這裡使用openssl進行舉例:(使用openssl -help參看介紹)

主要有三部分:

a)標準命令:

b)訊息摘要命令:

c)密碼命令:

可以參考教程:

1)對稱加密:使用相同的金鑰進行加密解密

openssl enc -des -e -a -in a.txt -out b.txt//加密a.txt,將加密後的輸出到b.txt

openssl enc -des -d -a -in b.txt -out b2.txt//解密b.txt,將解密後的輸出到b2.txt

openssl enc -des -e -a -pass pass:123456 -in a.txt//加密a.txt,顯示輸入密碼,輸出到stdout

2)非對稱加密:使用公鑰加密,私鑰解密

openssl genrsa -out key.private 1024//生成私鑰到key.private檔案中

1024指定金鑰長度,預設1024

openssl rsa -in key.private -pubout -out key.public//從key.private中提取公鑰,輸出到key.public

openssl rsautl -encrypt -in a.txt -out a_encrypt.txt -inkey a_key.pubilc -pubin//使用公鑰加密檔案

openssl rsautl -decrypt -in a_encrypt.txt -out a_decrypt.txt -inkey a_key.private//使用私鑰解密檔案

3)單向雜湊函式:獲取訊息的指紋,判斷訊息是否被篡改

openssl dgst -md5 -out a_md5.txt a.txt//使用md5計算a.txt訊息摘要,輸入到a_md5.txt中

4)訊息認證碼:與生成訊息摘要類似,只是訊息認證碼要使用密碼(傳送與接受方共享乙個金鑰)計算雜湊值

openssl dgst -hmac 123456 -out a_mac.txt a.txt//生成a.txt的訊息認證碼

5)數字簽名:使用私鑰對訊息進行加密,使用公鑰對訊息進行解密,可以防止否認,訊息認證碼無法防止否認

openssl genrsa -out a_key.private//生成私鑰

openssl dgst -md5 -out a.sign -sign a_key.private a.txt//使用私鑰對訊息進行簽字

openssl rsa -in a_key.private -pubout -out a_key.pubilc//從私鑰中獲取公鑰

openssl dgst -md5 -verify a_key.pubilc -signature a.sign a.txt//用公鑰驗證數字簽名

2.ssl/tls(ssl[secure sockets layer 安全套接層],tls[transport layer security傳輸層安全協議]):ssl與tls基本可以等價,tls相當於ssl的公升級版,這裡將ssl與tls當作乙個整體,ssl/tls相當於乙個密碼通訊的框架.

tls協議包括tls記錄協議(主要負責使用對稱密碼對訊息進行加密通訊)和tls握手協議(負責客戶端與服務端之間協商決定密碼演算法和共享金鑰),主要結構如圖:

握手協議的過程:

1)clienthello(client->server):客戶端向服務端傳送協議版本,可用密碼套件,客戶端隨機數等

2)serverhello(client

3)certificate(client

4)serverkeyexchange(client

5)certificaterequest(client

6)serverhellodone(client

7)certificate(client->server):客戶端向服務端傳送證書,單向認證沒有該步驟

8)clientkeyexchange(client->server):加密傳送預備主密碼(rsa:使用公鑰加密傳送;dh:傳送公開值,兩端分別計算)

9)certificateverify(client->server):傳送數字簽名證明客戶端有私鑰

10)changecipherspec(client->server):密碼變更(密碼變更協議)

11)finished(client->server):結束

12)changecipherspec(client

13)finished(client

HTTPS安全通訊 2 SSL TLS加密協議

5.前向安全性 6.pki 二 通訊模式演化 三 ssl tls 基本執行過程 目前,應用最廣泛的是tls 1.0,接下來是ssl 3.0。但是,主流瀏覽器都已經實現了tls 1.2的支援。tls 1.0通常被標示為ssl 3.1,tls 1.1為ssl 3.2,tls 1.2為ssl 3.3。tl...

理解SSL TLS系列 二 密碼學基礎知識

如圖,傳送者alice向接收者bob傳送訊息,如果將訊息直接進行傳送,那麼很可能被乙個心懷惡意的竊聽者eve竊聽訊息。這樣eve就知道了訊息的內容。為了不讓別人看到訊息內容,alice決定對訊息進行加密之後再傳送出去。加密之前的訊息稱為明文,加密之後的訊息稱為密文。我們看到明文可以理解其含義,看到密...

mkpasswd 密碼生成工具

linux系統有乙個自帶的生成密碼的命令,這個命令異常強悍,可以幫助我們生成隨機密碼,要知道,現在的黑客無處不在,想乙個難猜的密碼還真的下點功夫,有了這個密碼生成工具,就可以為管理員節省好多腦細胞啊,下面看下這個命令的使用 mkpasswd ji s64tyv mkpasswd l 12 e hwy...