HTTPS可以從以下幾方面優化:
1、協議優化
TLS1.3 相較于 TLS1.2 從2個RTT縮短到了1個RTT,所以盡量使用TLS1.3
2、證書優化
證書優化主要有兩方面:
1、證書傳輸
證書越小,傳輸的就越快,選擇不同的加密方法,生成的證書的大小也不一樣,所以我們盡量選擇加密損失空間小的方法,
2、證書驗證
證書驗證有的時候不僅需要驗證證書是否被篡改,還需要驗證證書是否被吊銷,
之前是由CA機構維護一個吊銷證書串列CRL,客戶端每次要下載CRL,然后驗證證書是否被吊銷,隨著吊銷證書的增多,CRL的大小越來越大,也會導致HTTPS連接變慢,
所以引入了OCSP,在線證書狀態協議,客戶端直接向CA機構發送證書編號,CA機構會回傳證書的狀態,不需要每次下載CRL,提高了效率,
3、會話復用
1、Session ID
服務器為每個客戶端在會話程序中設定一個SessionID,在會話期間將第一次生成的密鑰分別保存在客戶端和服務器,服務器通過SessionID來保存對應的密鑰,當客戶端再次連接的時候,直接傳入SessionID,然后直接客戶但的密鑰進行加密,服務器收到后,通過SessionID獲取對應的密鑰,然后解密,
這樣客戶端在一次會話程序中,可以復用一個密鑰,不用每次都新生成密鑰,
缺點:當服務器同時連接成千上萬的客戶端時,保存密鑰會極大的消耗服務器的資源,
2、Session Ticket
Session Ticket 類似于 Cookie,服務器在第一次連接成功后,將密鑰相關資訊生成一個ticket通過ticket key加密發送到客戶端,客戶端將其保存,
當下一次連接的時候,客戶端將ticket發送給服務器,服務器利用ticket key對ticket進行決議,然后開始進行安全連接,
ticket由于要在網路上傳輸,所以要進行密鑰加密,并且為了防止密鑰泄露造成的安全問題,密鑰會定時進行更換,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/302206.html
標籤:其他
上一篇:grpc-go原始碼剖析七十五之多路復用簡單介紹以及測驗用例說明?
下一篇:HTTP2詳解
