TLS初探(1)概述

2021-08-21 20:45:12 字數 573 閱讀 9729

目前並不打算詳細研究tls協議,初步調查了一下有了大致的印象,簡單步驟如上圖所示,歸結起來大致如下:

首先客戶端與伺服器端握手,其中包含有協商的加密套件、隨機數等資訊;

伺服器向終端下發證書,終端進行證書校驗,判斷其是否可信;

如果要求雙向認證,則客戶端也需要向伺服器提供證書,伺服器根據證書進行校驗,從而確認終端身份

客戶端與伺服器端分別利用證書中的公鑰以及伺服器端儲存的私鑰進行加密金鑰協商

完成之後即可根據協商好的加密演算法、摘要演算法以及秘鑰進行資料加密傳輸並保證其完整性。

以上就是tls認證的大致過程,其中的知識點還是相當多的,包括秘鑰協商、加密摘要演算法等,有興趣深入的可以看一下其具體的協議。對於使用tls來說的話,有了上述了解差不多就足夠了;在實際使用過程中,分析tls具體信令層與協議,如果不是做tls底層開發的話,應該必要性也不大,作為普通使用者我目前關心的點主要有如下:

證書的基礎知識與如何生成

如何進行tls雙向認證

如何選擇相應的加密套件

TLS握手的OpenSSL實現(深度1)

我們跳過握手的總狀態機和讀寫狀態機,因為我認為那是openssl架構方案的乙個敗筆,邏輯非常的不清晰,是程式設計師思維,而不是正常的邏輯思維。與握手邏輯比較相關的在statem clnt.c和statem srv.c中。分別是客戶端的握手邏輯和服務端的握手邏輯。我們以服務端為重點來分析。乙個簡單的函...

Vim初探系列 1

正常模式 normal mode 插入模式 insert mode 命令模式 command mode 可視模式 visual mode 懶人集合包spf13做了些什麼工作,怎麼使用它呢?我們訪問spf13官網,查詢需要的資訊,原來它把一些經典的vim外掛程式給自動安裝了。同時又給與使用者最大的靈活...

pandas學習(1) 初探

1.pandans介紹 主要用於資料的處理和計算,提供了大量的庫。對於機器學習來說,大部分的工作在於資料的清洗和操作,例如讀取資料,對資料的分析等等。2.pandas基本資料結構 案例分析 read csv讀取檔案後,dataframe資料型別的操作 read data是dataframe型別,會標...