SSL證書(shū)和TLS網(wǎng)絡(luò)傳輸數(shù)據(jù)時(shí)提供加密和身份驗(yàn)證的協(xié)議
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
SSL (Secure Sockets Layer) 和 TLS (Transport Layer Security) 是在網(wǎng)絡(luò)上傳輸數(shù)據(jù)時(shí)提供加密和身份驗(yàn)證的協(xié)議。TLS 實(shí)際上是 SSL 的升級(jí)版,它修復(fù)了早期 SSL 的安全漏洞,使通信更加高效和安全。目前,所有版本的 SSL 已被棄用,TLS 已成為主流協(xié)議。例如,SSL2.0 發(fā)布于 1995 年,2011 年棄用;SSL3.0 發(fā)布于 1996 年,2015 年棄用;TLS1.2 發(fā)布于 2008 年,TLS1.3 發(fā)布于 2018 年。現(xiàn)代互聯(lián)網(wǎng)中幾乎所有 HTTPS 連接都使用 TLS(常見(jiàn)版本為 TLS1.2、TLS1.3),而舊的 SSL 協(xié)議已不再推薦使用。 在 TLS 中,當(dāng)客戶(hù)端(如瀏覽器)訪(fǎng)問(wèn)服務(wù)器時(shí),會(huì)先進(jìn)行“TLS 握手”來(lái)協(xié)商密鑰。上圖示意了完整的 TLS 1.2 握手流程:客戶(hù)端首先發(fā)送 ClientHello,服務(wù)器返回 ServerHello 并發(fā)送證書(shū),雙方交換密鑰材料并完成握手。握手完成后,客戶(hù)端和服務(wù)器使用協(xié)商好的對(duì)稱(chēng)密鑰加密后續(xù)的數(shù)據(jù),從而保證通信的機(jī)密性和完整性。 TLS 與 DTLS 的區(qū)別和使用場(chǎng)景 傳輸層協(xié)議不同:TLS 基于 TCP(面向連接、可靠傳輸),而 DTLS (Datagram TLS) 基于 UDP(無(wú)連接、不可靠)握手延遲與丟包處理:由于省略了 TCP 三次握手,DTLS 握手延遲更低,但需要自身處理重傳和亂序;而 TLS 在可靠的 TCP 上運(yùn)行,不需額外處理丟包。 適用場(chǎng)景:TLS 適用于需要可靠通信的場(chǎng)景,如 HTTPS 網(wǎng)站、API 加密、電子郵件(SMTP over TLS)、VPN(如 OpenVPN 的 TLS 模式)、FTPS、數(shù)據(jù)庫(kù)加密等。DTLS 則適用于對(duì)延遲敏感或丟包率較高的場(chǎng)景,如實(shí)時(shí)音視頻傳輸(VoIP、WebRTC)、在線(xiàn)會(huì)議、多人游戲、物聯(lián)網(wǎng)設(shè)備通信(如 CoAP over DTLS)等 示例:WebRTC 的 SRTP 通常使用 DTLS over UDP 來(lái)加密媒體流,而大多數(shù)瀏覽器訪(fǎng)問(wèn)網(wǎng)站仍采用 TLS over TCP(HTTPS)來(lái)保證穩(wěn)定性和可靠性 SSL/TLS 證書(shū)類(lèi)型及使用場(chǎng)景 自簽名證書(shū) (Self-Signed):由自己生成并簽署,沒(méi)有受信任的 CA 機(jī)構(gòu)背書(shū),因此不被公用瀏覽器自動(dòng)信任。優(yōu)點(diǎn)是生成簡(jiǎn)單、成本低(免費(fèi)),常用于開(kāi)發(fā)測(cè)試、內(nèi)網(wǎng)服務(wù)或設(shè)備間通信(如 Kubernetes、私有內(nèi)部網(wǎng)站、路由器管理后臺(tái)、企業(yè) IoT 設(shè)備等場(chǎng)景)。缺點(diǎn)是瀏覽器會(huì)彈出安全警告,不適用于面向普通用戶(hù)的公網(wǎng)服務(wù)。 DV (域名型)證書(shū):僅驗(yàn)證域名所有權(quán)(Domain Validation)。CA 會(huì)檢查申請(qǐng)者是否擁有該域名控制權(quán),但不驗(yàn)證組織身份。DV 證書(shū)可以為網(wǎng)站提供傳輸加密,但地址欄和證書(shū)中不顯示公司信息。特點(diǎn)是申請(qǐng)審核快速(通常幾分鐘到數(shù)小時(shí)內(nèi)簽發(fā))。常見(jiàn)于個(gè)人博客、小微網(wǎng)站和測(cè)試環(huán)境。 OV (企業(yè)型)證書(shū):在 DV 的基礎(chǔ)上,CA 還會(huì)驗(yàn)證申請(qǐng)企業(yè)或組織的合法身份。OV 證書(shū)中會(huì)顯示組織名稱(chēng)等信息,瀏覽器地址欄不顯示綠色公司名,但證書(shū)詳情里有企業(yè)信息。適用于企業(yè)官網(wǎng)或業(yè)務(wù)網(wǎng)站,需要讓用戶(hù)看到一定的身份信息,安全級(jí)別中等。 EV (增強(qiáng)型)證書(shū):需要最嚴(yán)格的驗(yàn)證流程,包括企業(yè)注冊(cè)信息、法人證明等,頒發(fā)時(shí)審核最嚴(yán)格。安裝有 EV 證書(shū)的網(wǎng)站,在歷史上瀏覽器地址欄會(huì)顯示公司名稱(chēng)(曾以綠色欄或公司名突出顯示,當(dāng)前一些瀏覽器已簡(jiǎn)化顯示但仍標(biāo)識(shí)可信度)。EV 證書(shū)提供最高級(jí)別的用戶(hù)信任度,常用于金融、電商、銀行等對(duì)身份可信度要求極高的場(chǎng)景。 三者對(duì)比時(shí),可記?。鹤院灻枪?,DV 只保密不驗(yàn)身,OV 驗(yàn)證企業(yè)信息,EV 驗(yàn)證最嚴(yán)且展示企業(yè)名稱(chēng)。 在 Nginx 與 Apache2 中加載證書(shū)的區(qū)別 不同 Web 服務(wù)器配置 SSL/TLS 證書(shū)的方式略有差異: Apache (mod_ssl):通常在 <VirtualHost *:443> 塊內(nèi)啟用 SSLEngine on,并使用 SSLCertificateFile 指定服務(wù)器證書(shū)(.crt 或 .pem),SSLCertificateKeyFile 指定私鑰文件,若有中間 CA 證書(shū)則用 SSLCertificateChainFile 指定。Apache 需要分開(kāi)配置主證書(shū)、私鑰和鏈證書(shū)。
Nginx:在 server 塊內(nèi)使用 listen 443 ssl; 并配置 ssl_certificate 指向包含服務(wù)器證書(shū)和中間證書(shū)鏈的文件(例如 fullchain.pem),ssl_certificate_key 指向私鑰。Nginx 會(huì)將證書(shū)和鏈文件合并后使用,無(wú)需單獨(dú)配置 chain 文件。
使用命令行生成自簽名證書(shū) 可通過(guò) OpenSSL 等工具在命令行快速生成自簽名證書(shū)?;玖鞒倘缦拢?/span>
閱讀原文:原文鏈接 該文章在 2025/8/15 12:33:18 編輯過(guò) |
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)... |