在建立安全的網站和服務時,選擇正確的 SSL/TLS 憑證是至關重要的一環。本文將詳細介紹各種憑證類型、它們的差異,以及如何根據您的需求選擇最適合的憑證。
憑證驗證類型
SSL/TLS 憑證根據驗證等級分為三種主要類型:DV、OV 和 EV。每種類型提供不同程度的身份驗證和信任保證。
DV 憑證(Domain Validation)
DV 憑證是最基本的憑證類型,只驗證網域的所有權。
驗證方式:
- 電子郵件驗證:向網域管理員信箱發送驗證信
- DNS 驗證:在 DNS 記錄中添加特定的 TXT 記錄
- HTTP 驗證:在網站特定路徑放置驗證檔案
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| +------------------+
| DV 憑證 |
+------------------+
| 驗證內容: |
| ✓ 網域所有權 |
| ✗ 組織身份 |
| ✗ 實體驗證 |
+------------------+
| 簽發時間:分鐘 |
| 成本:最低 |
| 適用場景: |
| - 個人網站 |
| - 部落格 |
| - 測試環境 |
+------------------+
|
優點:
- 簽發速度快(通常幾分鐘內完成)
- 成本最低,甚至免費(如 Let’s Encrypt)
- 自動化程度高
缺點:
- 無法驗證組織身份
- 信任度相對較低
- 不適合需要高度信任的商業網站
OV 憑證(Organization Validation)
OV 憑證除了驗證網域所有權外,還會驗證組織的真實性。
驗證內容:
- 網域所有權驗證
- 組織合法存在驗證
- 組織地址和電話驗證
- 申請者授權驗證
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| +------------------+
| OV 憑證 |
+------------------+
| 驗證內容: |
| ✓ 網域所有權 |
| ✓ 組織身份 |
| ✓ 組織地址 |
+------------------+
| 簽發時間:1-3 天 |
| 成本:中等 |
| 適用場景: |
| - 企業網站 |
| - 內部應用 |
| - 政府機關 |
+------------------+
|
優點:
- 提供組織身份驗證
- 憑證中包含組織資訊
- 比 DV 憑證更具信任度
缺點:
- 簽發時間較長(1-3 個工作天)
- 成本較 DV 憑證高
- 需要提供組織文件
EV 憑證(Extended Validation)
EV 憑證是最高等級的憑證類型,經過最嚴格的驗證程序。
驗證程序:
- 網域所有權驗證
- 組織法律狀態驗證
- 組織營運狀態驗證
- 組織實體地址驗證
- 電話驗證
- 申請者授權驗證
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| +--------------------+
| EV 憑證 |
+--------------------+
| 驗證內容: |
| ✓ 網域所有權 |
| ✓ 組織身份 |
| ✓ 組織法律狀態 |
| ✓ 組織營運狀態 |
| ✓ 實體地址 |
| ✓ 電話驗證 |
+--------------------+
| 簽發時間:1-2 週 |
| 成本:最高 |
| 適用場景: |
| - 電子商務網站 |
| - 金融服務 |
| - 政府入口網站 |
+--------------------+
|
優點:
- 最高等級的信任保證
- 嚴格的身份驗證
- 適合處理敏感交易的網站
缺點:
三種驗證類型比較
| 特性 | DV | OV | EV |
|---|
| 網域驗證 | ✓ | ✓ | ✓ |
| 組織驗證 | ✗ | ✓ | ✓ |
| 擴展驗證 | ✗ | ✗ | ✓ |
| 簽發時間 | 分鐘 | 1-3 天 | 1-2 週 |
| 年費成本 | $0-50 | $50-200 | $200-1000+ |
| 適用對象 | 個人/小型網站 | 企業/組織 | 金融/電商 |
憑證涵蓋範圍
除了驗證類型外,憑證還根據涵蓋的網域數量和類型區分。
單網域憑證(Single Domain)
單網域憑證只保護一個完整的網域名稱(FQDN)。
1
2
3
4
5
6
| 單網域憑證涵蓋範圍:
+---------------------------+
| example.com |
+---------------------------+
↓
僅此一個網域
|
適用情況:
限制:
www.example.com 和 example.com 通常視為不同網域- 許多 CA 會同時包含兩者
萬用字元憑證(Wildcard)
萬用字元憑證可以保護一個網域及其所有第一層子網域。
1
2
3
4
5
6
7
8
9
10
11
12
13
| 萬用字元憑證涵蓋範圍:
+---------------------------+
| *.example.com |
+---------------------------+
↓
+---------------------------+
| www.example.com ✓ |
| api.example.com ✓ |
| mail.example.com ✓ |
| shop.example.com ✓ |
| blog.example.com ✓ |
| *.sub.example.com ✗ |
+---------------------------+
|
優點:
限制:
- 只涵蓋單一層級的子網域
- 不包含根網域(需額外添加)
- 若私鑰洩露,所有子網域都受影響
使用範例:
1
2
3
| # 產生萬用字元憑證的 CSR
openssl req -new -key private.key -out wildcard.csr \
-subj "/C=TW/ST=Taiwan/L=Taipei/O=Example Corp/CN=*.example.com"
|
多網域憑證(Multi-Domain / SAN)
多網域憑證使用 Subject Alternative Name (SAN) 擴展欄位,可以保護多個不同的網域。
1
2
3
4
5
6
7
8
9
10
11
12
| 多網域憑證涵蓋範圍:
+---------------------------+
| SAN 憑證 |
+---------------------------+
↓
+---------------------------+
| example.com ✓ |
| example.net ✓ |
| example.org ✓ |
| www.example.com ✓ |
| api.different.com ✓ |
+---------------------------+
|
優點:
- 可保護完全不同的網域
- 單一憑證管理多個網站
- 減少憑證管理複雜度
限制:
- 通常有網域數量上限(如 100 或 250 個)
- 添加新網域需要重新簽發
- 所有網域共用同一憑證
OpenSSL 設定範例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| # san.cnf
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
[req_distinguished_name]
CN = example.com
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = example.com
DNS.2 = www.example.com
DNS.3 = api.example.com
DNS.4 = example.net
DNS.5 = example.org
|
1
2
3
| # 產生多網域憑證 CSR
openssl req -new -key private.key -out multi.csr \
-config san.cnf
|
涵蓋範圍比較
| 類型 | 保護範圍 | 彈性 | 成本 |
|---|
| 單網域 | 1 個 FQDN | 低 | 最低 |
| 萬用字元 | 無限子網域 | 中 | 中等 |
| 多網域 | 多個不同網域 | 高 | 較高 |
如何選擇適合的憑證
選擇憑證時需要考慮多個因素,以下提供決策指南。
根據網站類型選擇
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| 選擇決策樹:
問題 1:您的網站處理金融交易或敏感個人資料嗎?
├── 是 → 考慮 EV 或至少 OV 憑證
└── 否 → 繼續下一個問題
問題 2:您是企業或組織嗎?
├── 是 → 考慮 OV 憑證
└── 否 → DV 憑證可能足夠
問題 3:您需要保護多少個網域/子網域?
├── 1 個 → 單網域憑證
├── 多個子網域(同根網域)→ 萬用字元憑證
└── 多個不同網域 → 多網域(SAN)憑證
|
選擇建議
個人部落格或專案網站:
- 推薦:DV 單網域憑證
- 建議:Let’s Encrypt(免費)
中小企業網站:
- 推薦:OV 單網域或萬用字元憑證
- 考量:品牌信任度需求
電子商務網站:
- 推薦:OV 或 EV 憑證
- 考量:交易量和客戶信任需求
大型企業或金融機構:
多服務平台(多子網域):
多品牌企業(多網域):
成本效益分析
1
2
3
4
5
6
7
8
9
10
11
| 情境分析:假設需要保護 10 個子網域
選項 A:10 個單網域 DV 憑證
- 成本:$0-500/年
- 管理:需管理 10 張憑證
選項 B:1 個萬用字元 DV 憑證
- 成本:$50-150/年
- 管理:只需管理 1 張憑證
結論:萬用字元憑證更具成本效益且易於管理
|
主要 CA 廠商比較
以下比較幾個主流的憑證授權中心(CA)。
免費 CA
Let’s Encrypt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| +---------------------------+
| Let's Encrypt |
+---------------------------+
| 類型:非營利組織 |
| 成本:免費 |
| 憑證類型:DV |
| 有效期:90 天 |
| 自動化:ACME 協定 |
+---------------------------+
| 優點: |
| - 完全免費 |
| - 高度自動化 |
| - 廣泛支援 |
+---------------------------+
| 限制: |
| - 僅 DV 憑證 |
| - 90 天有效期 |
| - 無客戶支援 |
+---------------------------+
|
使用 Certbot 申請憑證:
1
2
3
4
5
6
7
8
9
10
| # 安裝 Certbot
sudo apt update
sudo apt install certbot
# 申請憑證(Standalone 模式)
sudo certbot certonly --standalone -d example.com
# 申請萬用字元憑證(需 DNS 驗證)
sudo certbot certonly --manual --preferred-challenges dns \
-d example.com -d *.example.com
|
商業 CA
DigiCert
1
2
3
4
5
6
7
8
9
10
11
12
13
| +---------------------------+
| DigiCert |
+---------------------------+
| 特色:企業級解決方案 |
| 支援:DV、OV、EV |
| 價格:中高價位 |
| 保固:$100萬-$200萬美元 |
+---------------------------+
| 優點: |
| - 高信任度 |
| - 優質客戶支援 |
| - 企業管理工具 |
+---------------------------+
|
Sectigo (原 Comodo)
1
2
3
4
5
6
7
8
9
10
11
12
13
| +---------------------------+
| Sectigo |
+---------------------------+
| 特色:市佔率最高 |
| 支援:DV、OV、EV |
| 價格:經濟實惠 |
| 保固:$50萬-$200萬美元 |
+---------------------------+
| 優點: |
| - 價格競爭力強 |
| - 產品線完整 |
| - 廣泛的經銷商網路 |
+---------------------------+
|
GlobalSign
1
2
3
4
5
6
7
8
9
10
11
12
13
| +---------------------------+
| GlobalSign |
+---------------------------+
| 特色:日本 GMO 集團旗下 |
| 支援:DV、OV、EV |
| 價格:中價位 |
| 保固:$100萬-$150萬美元 |
+---------------------------+
| 優點: |
| - 亞洲市場強勢 |
| - IoT 憑證解決方案 |
| - 企業 PKI 服務 |
+---------------------------+
|
GoDaddy
1
2
3
4
5
6
7
8
9
10
11
12
13
| +---------------------------+
| GoDaddy |
+---------------------------+
| 特色:網域註冊商 |
| 支援:DV、OV、EV |
| 價格:入門級價格 |
| 保固:$10萬-$100萬美元 |
+---------------------------+
| 優點: |
| - 與網域服務整合 |
| - 價格親民 |
| - 操作介面友善 |
+---------------------------+
|
CA 比較表
| CA | DV 價格 | OV 價格 | EV 價格 | 萬用字元 | 特色 |
|---|
| Let’s Encrypt | 免費 | - | - | ✓ | 自動化、非營利 |
| DigiCert | $218+ | $388+ | $688+ | ✓ | 企業級、高信任 |
| Sectigo | $67+ | $135+ | $235+ | ✓ | 經濟實惠 |
| GlobalSign | $149+ | $249+ | $449+ | ✓ | 亞洲市場 |
| GoDaddy | $70+ | $135+ | $150+ | ✓ | 整合服務 |
註:價格為年費參考,實際價格可能因時間和地區而異
選擇 CA 的考量因素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| 選擇 CA 時的考量:
1. 預算限制
└── 免費:Let's Encrypt
└── 經濟:Sectigo、GoDaddy
└── 企業:DigiCert、GlobalSign
2. 憑證類型需求
└── 僅 DV:任何 CA(含免費)
└── OV/EV:商業 CA
3. 自動化需求
└── 高度自動化:Let's Encrypt
└── 中度自動化:商業 CA API
4. 技術支援
└── 無需支援:Let's Encrypt
└── 需要支援:商業 CA
5. 保固需求
└── 無保固:Let's Encrypt
└── 有保固:商業 CA
|
憑證管理最佳實務
自動化更新
1
2
3
4
5
| # Let's Encrypt 自動更新(使用 cron)
0 0 1 * * /usr/bin/certbot renew --quiet
# 自動更新後重載服務
0 0 1 * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"
|
憑證監控
建議監控以下項目:
- 憑證到期日(建議提前 30 天通知)
- 憑證鏈完整性
- 憑證撤銷狀態
- SSL/TLS 設定強度
金鑰管理
1
2
3
4
5
6
7
8
9
| # 產生強度足夠的金鑰
# RSA 2048 位元(最低要求)
openssl genrsa -out private.key 2048
# RSA 4096 位元(更高安全性)
openssl genrsa -out private.key 4096
# ECDSA P-256(現代推薦)
openssl ecparam -genkey -name prime256v1 -out private.key
|
總結
選擇正確的 SSL/TLS 憑證需要考慮多個因素:
- 驗證等級:根據網站性質選擇 DV、OV 或 EV
- 涵蓋範圍:根據網域數量選擇單網域、萬用字元或多網域
- 預算考量:從免費到高價位的選項都有
- 管理需求:考慮自動化和管理複雜度
快速選擇指南:
| 場景 | 推薦憑證 | 推薦 CA |
|---|
| 個人部落格 | DV 單網域 | Let’s Encrypt |
| 小型企業 | DV/OV 單網域 | Sectigo |
| 中型企業 | OV 萬用字元 | GlobalSign |
| 電商網站 | OV/EV | DigiCert |
| 大型企業 | EV 多網域 | DigiCert |
無論選擇哪種憑證,確保:
- 使用 2048 位元以上的 RSA 金鑰或 256 位元以上的 ECDSA 金鑰
- 定期更新憑證
- 妥善保管私密金鑰
- 設定正確的 SSL/TLS 協定和加密套件
參考資料