CA中心——CA系統(tǒng)——數(shù)字證書(shū)
CA 中心管理并運(yùn)營(yíng) CA 系統(tǒng),CA 系統(tǒng)負(fù)責(zé)頒發(fā)數(shù)字證書(shū)。
專門(mén)負(fù)責(zé)頒發(fā)數(shù)字證書(shū)的系統(tǒng)稱為 CA 系統(tǒng),負(fù)責(zé)管理并運(yùn)營(yíng) CA 系統(tǒng)的機(jī)構(gòu)稱為 CA 中心。所有與數(shù)字證書(shū)相關(guān)的各種概念和技術(shù),統(tǒng)稱為 PKI(Public Key Infrastructure)。
傳統(tǒng)密碼學(xué)
- 換位加密法;
- 替換加密法;
現(xiàn)代密碼學(xué)加密基元
加密基元就是一些基礎(chǔ)的密碼學(xué)算法,通過(guò)它們才能夠構(gòu)建更多的密碼學(xué)算法、協(xié)議、應(yīng)用程序。

說(shuō)明:
- 散列函數(shù)(散列(hash)、指紋、消息摘要、摘要算法、雜湊函數(shù)):把任意長(zhǎng)度的輸入消息數(shù)據(jù)轉(zhuǎn)化成固定長(zhǎng)度的輸出數(shù)據(jù)的一種密碼算法。
- 消息驗(yàn)證代碼:驗(yàn)證數(shù)據(jù)完整性,即數(shù)據(jù)沒(méi)有被篡改。
- 數(shù)字簽名:RSA私鑰加密,公鑰解密,結(jié)合散列函數(shù)。驗(yàn)證消息真實(shí)性。
- 偽隨機(jī)函數(shù)(PRF):生成任意數(shù)量的偽隨機(jī)數(shù)據(jù)。
- RSA:可以同時(shí)用于密鑰交換和身份驗(yàn)證(數(shù)字簽名)。
- DHE_RSA:DHE 算法:密鑰協(xié)商,RSA 算法:身份驗(yàn)證(數(shù)字簽名)。
- ECDHE_RSA: ECDHE 算法:密鑰協(xié)商,RSA 算法:身份驗(yàn)證(數(shù)字簽名)。
- ECDHE_ECDSA :ECDHE 算法:密鑰協(xié)商,ECDSA 算法:身份驗(yàn)證(數(shù)字簽名)。
密鑰管理

密鑰管理模式:
- 無(wú)中心模式;
- 有中心模式;
PKI 的本質(zhì)是把非對(duì)稱密鑰管理標(biāo)準(zhǔn)化
PKI 是 Public Key Infrastructure 的縮寫(xiě),其主要功能是綁定證書(shū)持有者的身份和相關(guān)的密鑰對(duì)(通過(guò)為公鑰及相關(guān)的用戶身份信息簽發(fā)數(shù)字證書(shū)),為用戶提供方便的證書(shū)申請(qǐng)、證書(shū)作廢、證書(shū)獲取、證書(shū)狀態(tài)查詢的途徑,并利用數(shù)字證書(shū)及相關(guān)的各種服務(wù)(證書(shū)發(fā)布,黑名單發(fā)布,時(shí)間戳服務(wù)等)實(shí)現(xiàn)通信中各實(shí)體的身份認(rèn)證、完整性、抗抵賴性和保密性。

- 數(shù)字證書(shū):解決公鑰與用戶映射關(guān)系問(wèn)題;
-
CA:解決數(shù)字證書(shū)簽發(fā)問(wèn)題;
CA管理數(shù)字證書(shū)的全生命周期 - KMC:解決私鑰的備份與恢復(fù)問(wèn)題;
- 雙證書(shū)機(jī)制:「簽名證書(shū)及私鑰」只用于簽名驗(yàn)簽,「加密證書(shū)及私鑰」只用于加密解密。
- LDAP:解決數(shù)字證書(shū)查詢和下載的性能問(wèn)題,避免 CA 中心成為性能瓶頸。
- CRL(證書(shū)作廢列表) 和 OSCP(在線證書(shū)狀態(tài)協(xié)議):方便用戶快速獲得證書(shū)狀態(tài)。
- RA:方便證書(shū)業(yè)務(wù)遠(yuǎn)程辦理、方便證書(shū)管理流程與應(yīng)用系統(tǒng)結(jié)合。
- 電子認(rèn)證服務(wù)機(jī)構(gòu):保證 CA 系統(tǒng)在數(shù)字證書(shū)管理方面的規(guī)范性、合規(guī)性和安全性。
數(shù)字證書(shū)分類

基于數(shù)字證書(shū)可以實(shí)現(xiàn)四種基本安全功能
- 身份認(rèn)證;
- 保密性;
- 完整性;
- 抗抵賴性;
PKI 基本組件
完整的 PKI 系統(tǒng)必須具有數(shù)字證書(shū)、認(rèn)證中心(CA)、證書(shū)資料庫(kù)、證書(shū)吊銷(xiāo)系統(tǒng)、密鑰備份及恢復(fù)系統(tǒng)、PKI 應(yīng)用接口系統(tǒng)等構(gòu)成部分。
| 組件 | 描述 |
|---|---|
| 數(shù)字證書(shū) | 包含了用于簽名和加密數(shù)據(jù)的公鑰的電子憑證,是PKI的核心元素 |
| 認(rèn)證中心(CA) | 數(shù)字證書(shū)的申請(qǐng)及簽發(fā)機(jī)關(guān),CA必須具備權(quán)威性 |
| 證書(shū)資料庫(kù) | 存儲(chǔ)已簽發(fā)的數(shù)字證書(shū)和公鑰,以及相關(guān)證書(shū)目錄,用戶可由此獲得所需的其他用戶的證書(shū)及公鑰 |
| 證書(shū)吊銷(xiāo)列表(CRL)/OCSP | 在有效期內(nèi)吊銷(xiāo)的證書(shū)列表,在線證書(shū)狀態(tài)協(xié)議OCSP是獲得證書(shū)狀態(tài)的國(guó)際協(xié)議 |
| 密鑰備份及恢復(fù) | 為避免因用戶丟失解密密鑰而無(wú)法解密合法數(shù)據(jù)的情況,PKI提供備份與恢復(fù)密鑰的機(jī)制。必須由可信的機(jī)構(gòu)來(lái)完成。并且,密鑰備份與恢復(fù)只能針對(duì)解密密鑰,簽名私鑰不能夠作備份 |
| PKI應(yīng)用接口(API) | 為各種各樣的應(yīng)用提供安全、一致、 可信的方式與PKI交互,確保建立起來(lái)的網(wǎng)絡(luò)環(huán)境安全可靠,并降低管理成本 |
TLS服務(wù)安全部署

說(shuō)明:
- 密碼套件決定了本次連接采用哪一種加密算法、密鑰協(xié)商算法、HMAC 算法,即各個(gè)密碼學(xué)算法的組合。
密碼套件的配置
# 密碼套件名稱構(gòu)成:密鑰交換算法-身份驗(yàn)證算法-加密算法(加密方法-加密強(qiáng)度-模式)-HMAC或PRF算法
# 密鑰交換算法/密鑰協(xié)商算法:ECDHE > DHE > RSA
# 身份驗(yàn)證算法:ECDSA 256 > RSA 2048
# 加密算法:AES-256-GCM、
# PRF(偽隨機(jī)函數(shù)):HMAC、SHA256
# 如:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
# 如:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
列出當(dāng)前系統(tǒng)所支持的密碼套件列表:
$ openssl ciphers -V 'ALL:COMPLEMENTOFALL'
# 推薦的配置,同時(shí)滿足強(qiáng)加密和高性能
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-ECDSA-AES128-SHA256
ECDHE-ECDSA-AES256-SHA384
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES256-SHA384
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES128-SHA
DHE-RSA-AES256-SHA
DHE-RSA-AES128-SHA256
DHE-RSA-AES256-SHA256
EDH-RSA-DES-CBC3-SHA
測(cè)試某個(gè)服務(wù)器是否支持特定的密碼套件:
$ openssl s_client -cipher "ECDHE-RSA-AES128-SHA" -connect www.qq.com:443 -tls1_1
# 參數(shù)說(shuō)明
# -cipher 參數(shù)表示本次連接支持的密碼套件
# -connect 表示連接服務(wù)器的 443 端口
# -tls1_1 表示客戶端最高支持的 TLS/SSL 版本是 TLS v1.1
HTTPS 最佳實(shí)踐工具
| 網(wǎng)站 | 文檔或工具名稱 | 地址 | 說(shuō)明 |
|---|---|---|---|
| SSL Labs | SSL Server Test | https://www.ssllabs.com/ssltest/ | 對(duì)服務(wù)器的 HTTPS 配置進(jìn)行測(cè)試,指出潛在的問(wèn)題,并對(duì)安全級(jí)別打分。 |
| SSL Labs | SSL Client Test | https://www.ssllabs.com/ssltest/viewMyClient.html | 測(cè)試客戶端的配置情況 |
| SSL Labs | SSL Pulse | https://www.ssllabs.com/ssl-pulse/ | 對(duì)全球頂尖 HTTPS 網(wǎng)站進(jìn)行長(zhǎng)期跟蹤,統(tǒng)計(jì)和 HTTPS 有關(guān)的一些數(shù)據(jù) |
| SSL Labs | SSL and TLS Deployment Best Practices | https://www.ssllabs.com/projects/documentation/ | 最佳部署文檔 |
| Mozilla | 最佳部署文檔 | https://wiki.mozilla.org/Security/Server_Side_TLS | 重點(diǎn)介紹密碼套件配置、HTTPS 潛在的攻擊、最佳部署等 |
| Mozilla | Mozilla SSL Configuration Generator | https://mozilla.github.io/server-side-tls/ssl-config-generator/ | 用于自動(dòng)化為服務(wù)器配置 HTTPS 協(xié)議 |
| RFC | Summarizing Known Attacks on TLS | https://tools.ietf.org/html/rfc7457 | 詳細(xì)描述 TLS/SSL 協(xié)議,歷史上出現(xiàn)的漏洞 |
| RFC | Recommendations for Secure Use of TLS | https://tools.ietf.org/html/rfc7525 | 描述如何更好地部署 HTTPS 網(wǎng)站 |
——摘自《深入淺出 HTTPS》
