Linux的安全和加密篇(二)CA和證書原理
CA和證書
PKI: Public Key Infrastructure
- 簽證機構: CA( Certificate Authority)
- 註冊機構: RA
- 證書吊銷列表: CRL
- 證書存取庫:
X.509:定義了證書的結構以及認證協議標準
版本號 序列號 簽名 演算法 頒發者
有效期限
主體名稱 主體公鑰 CRL分發點
擴充套件資訊 發行者簽名
證書獲取
證書型別:
證書授權機構的證書:
- 伺服器 給網站辦法證書
- 使用者證書 給使用者mail頒發證書
獲取證書兩種方法:
使用證書授權機構
- 生成簽名請求( csr)
- 將csr傳送給CA
- 從CA處接收簽名
自簽名的證書
- 自已簽發自己的公鑰
CA的實現需要配合一個協議SSL/TLS
安全協議
SSL: Secure Socket Layer, TLS: Transport Layer Security(傳輸層安全協議)
- 1995: SSL 2.0 Netscape
- 1996: SSL 3.0
- 1999: TLS 1.0
- 2006: TLS 1.1 IETF(Internet工程任務組) RFC 4346
- 2008: TLS 1.2 當前使用
- 2015: TLS 1.3
功能:機密性,認證,完整性,重放保護
兩階段協議,分為握手階段和應用階段
握手階段(協商階段):客戶端和伺服器端認證對方身份(依賴於PKI體系,利用數字證書進行身份認證),並協商通訊中使用的安全引數、密碼套件以及主金鑰。 後續通訊使用的所有金鑰都是通過MasterSecret生成。
應用階段:在握手階段完成後進入,在應用階段通訊雙方使用握手階段協商好的金鑰進行安全通訊
SSL/TLS
SSL/TLS工作在應用層和傳輸層中間;對應用層的應用進行加密
Handshake協議:包括協商安全引數和密碼套件、伺服器身份認證(客戶端身份認證可選)、金鑰交換;
ChangeCipherSpec 協議:一條訊息表明握手協議已經完成
Alert 協議:對握手協議中一些異常的錯誤提醒,分為fatal和warning兩個級別,fatal型別錯誤會直接中斷SSL連結,而warning級別的錯誤SSL連結仍可繼續,只是會給出錯誤警告
Record 協議:包括對訊息的分段、壓縮、訊息認證和完整性保護、加密等
HTTPS 協議:就是“HTTP 協議”和“SSL/TLS 協議”的組合。 HTTP over SSL” 或“HTTP over TLS” ,對http協議的文字資料進行加密處理後,成為二進位制形式傳輸;
HTTPS結構
HTTPS工作過程