6. 公開金鑰密碼學與TLS憑證機制

更新 發佈閱讀 12 分鐘

數位簽章(Digital Signature)

數位簽章(Digital Signature)是密碼學中用來驗證資料真實性、完整性與簽署者身份的重要機制,就像「電子世界的手寫簽名 + 印章 + 防偽膠帶」。

數位簽章是用私鑰對資料雜湊值進行加密,接收方可用對應公鑰來驗證。

vocus|新世代的創作平台

我們直接看維基百科
📘 小故事:RSA 的誕生
在 1977 年,麻省理工的三位科學家 Ron Rivest、Adi Shamir 和 Leonard Adleman 發明了 RSA 演算法,打破了「雙方必須先共享密鑰」的限制,標誌著非對稱加密的時代正式到來。
這個發現讓數位通訊世界得以大規模擴展,是密碼學史上的一大里程碑。

TLS(Transport Layer Security)

TLS(Transport Layer Security)的歷史其實是從 SSL(Secure Sockets Layer) 演變而來的,這段歷程不僅涉及技術的進化,也映照了互聯網安全威脅的不斷升級與應對。以下是一個結合「故事性」與「技術重點」的 TLS 發展簡史:

vocus|新世代的創作平台

為何從 SSL 改名為 TLS?

當年 SSL 是 Netscape 的私有標準,IETF(網際網路工程任務小組)接手後改為開放標準,並重命名為 TLS。技術上雖與 SSL 3.0 相近,但:

  • 命名上強調脫離私有規範
  • 引入更強安全模型
  • 更重視模組化與可擴充性

為什麼不應再使用 SSL 和 TLS 1.0/1.1?

SSL 2.0 / 3.0、TLS 1.0 / 1.1 都已被列為不安全協議,主要原因包括:

  • 容易受到 POODLE、BEAST、Heartbleed 等漏洞攻擊
  • 使用已不建議的雜湊演算法(如 MD5、SHA-1)
  • 無法支援現代 AEAD 加密模式(例如 AES-GCM)

主流瀏覽器與網站皆已於 2020 年前後停止支援這些舊版本。

小故事:Heartbleed 大漏洞(2014)
TLS 的一大轉捩點是 2014 年爆發的 Heartbleed 漏洞(OpenSSL 實作的 TLS 擴充錯誤),攻擊者可以從記憶體中讀出機密資料(如私鑰)。這次事件促使大量機構更新 OpenSSL,並加速 TLS 1.2/1.3 的導入。
  • 小結:TLS 的演進趨勢
    • 安全性更高:淘汰老舊的加密與協商機制
    • 性能更快:TLS 1.3 減少握手次數
    • 隱私更強:支援 Forward Secrecy,避免過去通訊被破解

TLS Handshake 步驟

  1. Client Hello
    • 瀏覽器送出支援的 TLS 版本、加密演算法清單、亂數(client random)等資訊
  2. Server Hello
    • 伺服器送出選擇的加密參數、伺服器憑證(含公開金鑰)
  3. 憑證驗證
    • 瀏覽器用「內建 CA 憑證」驗證伺服器憑證是否合法(CA 簽章驗證)
  4. 密鑰協商(如 ECDHE)
    • 雙方協議出對稱加密的 session key(例如 AES 金鑰)
  5. Finished
    • 雙方用 session key 加密資料並開始傳輸

TLS憑證是什麼?

TLS 憑證(即 X.509 憑證)是由 憑證授權單位(CA, Certificate Authority)簽發的,內容包括:

公開金鑰:網站的 RSA 或 ECC 公開金鑰

主體資訊:網站的域名、公司名稱等

簽發者(CA)資訊:發證的機構名稱(如 DigiCert、Let's Encrypt)

有效期限:憑證起始與過期日期

數位簽章:CA 對憑證本身做的簽章,證明其真實性

  • TLS 憑證的作用

身份驗證:證明網站是合法的擁有者(不是釣魚網站)

對稱金鑰協商:用於安全地協議出 AES 等對稱加密用的 session key

數位簽章驗證:用來驗證憑證沒有被竄改

Certificate Authority(CA,憑證授權單位)

Certificate Authority(CA,憑證授權單位)是公開金鑰基礎建設(PKI)的核心角色,負責簽發、驗證、撤銷數位憑證,用來建立網路世界的信任鏈。

  • CA 的核心職責
  1. 簽發憑證
    • 接收來自網站或企業的 CSR(Certificate Signing Request)
    • 驗證請求者的身份(依憑證類型:DV、OV、EV)
    • 用自己的私鑰簽署該憑證,生成 X.509 格式
  2. 建立信任鏈
    • CA 自身的根憑證(Root Certificate)被瀏覽器、作業系統預先信任
    • 透過中繼憑證(Intermediate CA)建立階層式信任架構
  3. 維護撤銷列表
    • 若憑證被盜或失效,CA 負責將其加入 CRL(Certificate Revocation List)或回應 OCSP 驗證請求
  4. 確保私鑰安全
    • CA 的根私鑰是整個 PKI 信任鏈的核心,通常存放在 HSM(硬體安全模組)中並有嚴格的實體安全管控

CA 在憑證鏈中的角色

Root CA (最上層,自簽憑證)



├─ Intermediate CA (中繼憑證)

│ │

│ └─ End-Entity Certificate (網站/伺服器憑證)
    • Root CA:由 OS/瀏覽器內建信任,通常離線保護
    • Intermediate CA:負責實際簽發網站憑證
    • End-Entity Certificate:使用者網站安裝的伺服器憑證

常見的 CA

  • 商業 CA:DigiCert、Sectigo、GlobalSign、Entrust
  • 免費 CA:Let’s Encrypt(自動化簽發 DV 憑證)
  • 政府 / 企業內部 CA:用於內部 PKI 與 VPN

為什麼要信任 CA?

  • 作業系統與瀏覽器內建了一份「可信 Root CA 名單」
  • 當網站憑證是由這些 CA 簽署,瀏覽器就會認為該網站「可信」
  • 整個機制依賴Root CA 私鑰不洩漏與 CA 不濫用權力
CA非常重要:臺灣首度引爆憑證信任危機(一):中華電信憑證失效,連自家網站的憑證都要跟別人買

憑證頒發(Certificate Issuance)

  1. 網站產生金鑰對(Key Pair)
    • 網站伺服器產生一組公開金鑰(Public Key)與私密金鑰(Private Key)。
    • 私密金鑰永遠保留在伺服器中,不對外公開。
  2. 網站向 CA 提出憑證簽署請求(CSR)
    • CSR(Certificate Signing Request)內容包含: 公開金鑰 網域名稱(CN) 組織資訊
    • 提交給一個可信任的憑證機構(CA, Certificate Authority)。
  3. CA 驗證網站身分
    • 依照憑證等級(如 DV、OV、EV)進行網域驗證或公司身份核實。
    • 驗證成功後,用 CA 的私鑰對網站資訊與公開金鑰雜湊後簽章,生成 X.509 格式的憑證(即數位憑證)。
  4. 網站取得憑證
    • 憑證中包含: 公開金鑰 網站資訊 憑證有效期間 發行 CA 資訊 數位簽章(由 CA 私鑰簽署)

憑證驗證(Certificate Verification)

當用戶端(例如瀏覽器)連到網站時:

  1. 伺服器送出憑證(或憑證鏈)
    • 通常包括: 伺服器自己的憑證 中繼憑證(Intermediate CA) 根憑證(Root CA,通常由瀏覽器事先信任)
  2. 瀏覽器驗證憑證鏈
    • 檢查每個憑證是否由上一層 CA 有效簽署。
    • 最上層的根憑證(Root CA)是否在瀏覽器內建信任名單中。
  3. 檢查憑證有效性
    • 是否過期?
    • 網域名稱是否匹配?
    • 有無被撤銷?(使用 CRL 或 OCSP 查詢)
  4. 驗證 CA 簽章
    • 對憑證內容計算雜湊值。
    • 使用上層 CA 的公開金鑰驗證該雜湊是否與簽章匹配。

✅ 若驗證成功:進入 TLS 握手、協議出對稱金鑰,完成安全通訊。

❌ 若失敗:瀏覽器會跳出警告「此網站的安全憑證不受信任」。

常見的憑證驗證錯誤

  • 憑證過期:憑證有效期已過
  • 憑證不被信任:根 CA 不在瀏覽器信任名單中
  • 憑證與網域不匹配:憑證是給 abc.com,但卻用在 xyz.com
  • 憑證已撤銷(revoked):CA 發現被盜用、撤銷憑證
  • 憑證鏈不完整或格式錯誤:缺少中繼憑證或憑證損壞

公開金鑰基礎建設

公開金鑰基礎建設(英語:Public Key Infrastructure,縮寫PKI),又稱公開金鑰基礎架構公鑰基礎建設公鑰基礎設施公開密碼匙基礎建設公鑰基礎架構,是一組由硬體、軟體、參與者、管理政策與流程組成的基礎架構,其目的在於創造、管理、分配、使用、儲存以及復原數位憑證
維基百科

PKCS 概覽表

vocus|新世代的創作平台

為何 PKCS 重要?

  • 📦 跨平台互通性:例如 OpenSSL、Java、Windows 都支持 PKCS 格式。
  • 🧩 模組化整合:讓開發者可以依據標準整合金鑰、簽章與加密流程。
  • 🔐 安全與一致性:避免各自實作導致安全漏洞,統一格式、流程、填充方式等。


  • 小提示
    • 現今應用中,PKCS #1、#5、#7、#10、#12 是最常見的。
    • 雖然有些標準(如 #3)已過時,但仍常在歷史文件中見到。
    • 很多 PKCS 被納入其他標準(例如 IETF 的 RFC 2315, 3447)。

X.509與私鑰如何組裝為PKCS#12

要將 X.509 憑證(通常是 .crt 或 .cer 格式)與私鑰(.key)打包成一個 PKCS#12 (.p12 或 .pfx) 檔案,可以使用 OpenSSL 工具完成。這個過程通常會把:

  • 憑證(certificate)
  • 私鑰(private key)
  • 以及(可選)中繼憑證或 CA 憑證

整合成一個加密的 .p12 檔案,方便在 Windows、macOS、瀏覽器、Java Keystore 等環境匯入使用。

以下是操作方式:

🔧 指令範例(使用 OpenSSL):

openssl pkcs12 -export \
-in your_cert.crt \
-inkey your_key.key \
-certfile intermediate_CA.crt \
-out output.p12 \
-name "My Certificate"

參數說明:

  • -in 主憑證(X.509 格式)
  • -inkey 對應的私鑰
  • -certfile 中繼 CA 憑證(可選,若有鏈)
  • -out 輸出的 .p12 檔案名稱
  • -name 憑證別名,讓匯入時容易識別(例如 Java Keystore)

⚠️ 輸出時會要求你設定一組匯入密碼,這是保護 .p12 檔案的密碼,導入時會使用。

📁 常見組件:

  • your_cert.crt:你申請回來的伺服器憑證(PEM 格式)
  • your_key.key:私鑰檔案(與憑證匹配)
  • intermediate_CA.crt:CA 提供的中繼憑證(有些環境需要)

🔐 檢查 .p12 是否正確:

openssl pkcs12 -info -in output.p12

若你使用 Windows,可以直接用 certmgr.msc 導入 .p12;若你用 Java,可用 keytool 導入 Java Keystore (.jks)。

留言
avatar-img
Hamster的軟工打雜旅程
0會員
9內容數
分享這一生在軟體工程的旅程
2025/07/28
暴力破解(Brute Force) 暴力破解就是逐一嘗試所有可能的密碼或金鑰組合,直到猜對為止。 它不需要理解密碼學,只需要運算力。從 0000、0001、0002...一直試下去。 暴力破解是「窮舉所有可能」的原始方法安全防線:強密碼、帳號保護機制、加鹽雜湊、多重驗證現代密碼學設計都
2025/07/28
暴力破解(Brute Force) 暴力破解就是逐一嘗試所有可能的密碼或金鑰組合,直到猜對為止。 它不需要理解密碼學,只需要運算力。從 0000、0001、0002...一直試下去。 暴力破解是「窮舉所有可能」的原始方法安全防線:強密碼、帳號保護機制、加鹽雜湊、多重驗證現代密碼學設計都
2025/07/28
📡 安全通訊與網路傳輸 確保通訊過程中的資料不被竊聽或竄改。 HTTPS / SSL / TLS 加密(網站安全) VPN(虛擬私人網路) 電子郵件加密(PGP / S/MIME) 即時通訊安全(Signal、WhatsApp 使用端對端加密) 🔑 身分驗證與授權控制 確保只有合
2025/07/28
📡 安全通訊與網路傳輸 確保通訊過程中的資料不被竊聽或竄改。 HTTPS / SSL / TLS 加密(網站安全) VPN(虛擬私人網路) 電子郵件加密(PGP / S/MIME) 即時通訊安全(Signal、WhatsApp 使用端對端加密) 🔑 身分驗證與授權控制 確保只有合
2025/07/28
對稱式加密(Symmetric Encryption) 對稱加密是一種加密方式,加密與解密使用相同的密鑰。 特點:加解密使用相同的密鑰 常見演算法:AES、DES、3DES、ChaCha20 適用場景:大量資料加密、速度快 也就是說,發送者與接收者必須事先共享同一把金鑰,才能安全地傳遞與還
Thumbnail
2025/07/28
對稱式加密(Symmetric Encryption) 對稱加密是一種加密方式,加密與解密使用相同的密鑰。 特點:加解密使用相同的密鑰 常見演算法:AES、DES、3DES、ChaCha20 適用場景:大量資料加密、速度快 也就是說,發送者與接收者必須事先共享同一把金鑰,才能安全地傳遞與還
Thumbnail
看更多
你可能也想看
Thumbnail
加密貨幣是基於區塊鏈技術的數字貨幣,文章介紹了加密貨幣的基本概念、特點、主要加密貨幣、優勢和挑戰、以及在實際應用中的情況。
Thumbnail
加密貨幣是基於區塊鏈技術的數字貨幣,文章介紹了加密貨幣的基本概念、特點、主要加密貨幣、優勢和挑戰、以及在實際應用中的情況。
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#155篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#155篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
利用區塊鏈技術新認證方式(數位資料)Non–Fungible Token/縮寫NFT,因其獨一無二的價值,因而受到等同藝術品般瘋搶的NFT,也在時尚圈形成一股趨勢。
Thumbnail
利用區塊鏈技術新認證方式(數位資料)Non–Fungible Token/縮寫NFT,因其獨一無二的價值,因而受到等同藝術品般瘋搶的NFT,也在時尚圈形成一股趨勢。
Thumbnail
# 加密貨幣:掌握金融未來的顛覆性技術 加密貨幣是當今金融科技領域最具革命性的創新之一。它以區塊鏈技術為基礎,顛覆了傳統中央銀行和金融機構主導的貨幣體系,為個人和企業帶來了全新的支付和投資方式。 ## 什麼是加密貨幣? 加密貨幣是一種數字化的虛擬貨幣,利用密碼學原理和分散式賬本技術
Thumbnail
# 加密貨幣:掌握金融未來的顛覆性技術 加密貨幣是當今金融科技領域最具革命性的創新之一。它以區塊鏈技術為基礎,顛覆了傳統中央銀行和金融機構主導的貨幣體系,為個人和企業帶來了全新的支付和投資方式。 ## 什麼是加密貨幣? 加密貨幣是一種數字化的虛擬貨幣,利用密碼學原理和分散式賬本技術
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#150篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#150篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#156篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
寫作投資永遠不嫌晚,這是雙寶老爹的第#156篇關於加密貨幣教學文章,文未還有更多精彩的教學內容!
Thumbnail
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
加密钱包是一种软件产品或物理设备,可将公钥和私钥存储到您的加密货币帐户中,密钥是一串数字和字母,用于加密和解密加密交易并保护加密账户,那么,如何保护您的加密钱包?币圈有哪些主流的加密钱包?本文将为大家详细介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20%
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
Thumbnail
这篇文章主要介绍了加密技术的应用有哪些技术?加密技术怎么样?的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 目录* 一文了解加密技术的应用有哪些? 一、
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News