基於TLS協議的秘鑰管理與傳輸

2021-10-03 08:29:50 字數 980 閱讀 4400

1,秘鑰管理

加密系統最重要的環節——如何保證秘鑰的安全,本方案的設計思想主要是,解密程式不進行秘鑰的儲存,而且是向秘鑰管理中心進行申請。

秘鑰管理中心儲存了整個平台的核心金鑰,所有的金鑰都在這裡經過儲存金鑰加密進行儲存。配有管理頁面,可以對接入的系統資訊進行管理。

管理中心採用多節點部署,秘鑰不落地,儲存在記憶體中。各節點相互認證通訊,當有乙個節點重啟,可向其他節點申請儲存秘鑰,各節點之間的通訊採用加密傳輸。

如何保證管理中心各個節點的互信、及秘鑰向服務端的傳輸呢?

tls協議為方案的需求提供了支援!!

2,tls介紹

安全傳輸層協議(tls)用於在兩個通訊應用程式之間提供保密性和資料完整性。

該協議由兩層組成: tls 記錄協議(tls record)和 tls 握手協議(tls handshake)。

tls協議採用主從式架構模型,用於在兩個應用程式間透過網路建立起安全的連線,防止在交換資料時受到竊聽及篡改。

tls協議的優勢是與高層的應用層協議(如http、ftp、telnet等)無耦合。應用層協議能透明地執行在tls協議之上,由tls協議進行建立加密通道需要的協商和認證。應用層協議傳送的資料在通過tls協議時都會被加密,從而保證通訊的私密性。

tls協議是可選的,必須配置客戶端和伺服器才能使用。主要有兩種方式實現這一目標:乙個是使用統一的tls協議通訊埠(例如:用於https的埠443);另乙個是客戶端請求伺服器連線到tls時使用特定的協議機制(例如:郵件、新聞協議和starttls)。一旦客戶端和伺服器都同意使用tls協議,他們通過使用乙個握手過程協商出乙個有狀態的連線以傳輸資料。通過握手,客戶端和伺服器協商各種引數用於建立安全連線:

3、總結

tls協議的安全性,很好的完成了秘鑰管理中心節點之間的互信傳輸、以及與服務端的秘鑰傳輸。各節點之間一直保持著連線、防止偽造節點接入獲取資訊或者篡改資訊,由於各節點均握有秘鑰,只篡改一台機器的秘鑰 是不能影響真個系統的,被篡改的機器也會被修正回正確的秘鑰,是不是有點區塊鏈的感覺呢。

TLS1 3 認證和秘鑰建立握手環節的分析

1 clienthello 中的引數 clienthello 在 extension中的擴充套件中包含 supported version supported groups signatureschemlist key shared 2 伺服器接收到之後需要選擇支援的最高版本協議,秘鑰分發演算法和選...

兩台機器傳輸秘鑰問題的解決方法

因為公司的伺服器連線是通過xshell公鑰和密碼連線的,今天在ssh分發秘鑰的時候出現了,下面的錯誤 1 2 root iz2ze97cumk8opqm28h8z ssh ssh copy id i root ssh id dsa.pub root 123.56.82.168 p 52808 per...

基於socket的檔案傳輸協議

1 我們先搭建乙個乙個伺服器與客戶機並使他們進行通訊 2 在客戶機中對輸入的指令進行判斷,將指令轉化成對應的列舉型別傳送給服務機 3 服務機對傳送過來的ftp cmd的值進行判斷,並執行相對應的功能 4 ls功能的實現 通過popen實現,獲取內容傳送客戶機並顯示 get 對指令進行分割,讀取分割後...