iT邦幫忙

2025 iThome 鐵人賽

DAY 20
0
Security

資安的原罪系列 第 20

【20】資安的原罪 ch.3-3.b 加密與憑證簽章

  • 分享至 

  • xImage
  •  

【20】資安的原罪 ch.3-3.b 加密與憑證簽章

本章見證保護資料與建立信任的技術。


什麼是加密?

加密是一種將資料轉換為不可讀的形式(密文),只有持有正確金鑰才能解讀的過程。目的是防止未經授權的讀取和使用。加密技術的主要用途包括:

  • 安全通訊:確保訊息或通話不會被未經授權的一方攔截或閱讀。
  • 資料保護:保護敏感資料,例如密碼、信用卡資訊,或儲存在裝置或伺服器上的檔案。

核心概念:

  1. 明文(Plaintext):原始的、可讀的資料(例如訊息、檔案)。

  2. 密文(Ciphertext):加密後的明文,看起來像隨機資料,沒有解密是無法閱讀的。

  3. 金鑰(Key):一段資訊(通常是字元串或數字),由加密演算法使用來進行加密與解密。

  4. 演算法(Algorithm):定義加密與解密過程的數學程序。一些常見的演算法包括:

    • AES(先進加密標準) – 廣泛用於資料加密。
    • RSA – 常用於安全通訊中的金鑰交換。
    • ECC(橢圓曲線加密技術) – 因為效率高,特別適用於資源有限的小型裝置,正越來越受到歡迎。

加密的類型:

  1. 對稱式加密(Symmetric Encryption):加密與解密使用相同的金鑰。

    • 範例:AES。
    • 優點:速度快。
    • 缺點:金鑰傳輸是一大挑戰——如果金鑰被攔截,資料就會被破解。
  2. 非對稱式加密(Asymmetric Encryption):使用一對金鑰:公開金鑰(用來加密資料)與私密金鑰(用來解密資料)。

    • 範例:RSA、ECC。
    • 優點:用於金鑰交換更安全,因為私密金鑰不會被傳輸。
    • 缺點:比對稱加密慢。

🔁 非對稱加密的工作原理(基本流程)

  1. 發送者取得接收者的公開金鑰
  2. 將資料用接收者的公開金鑰進行加密,產生密文。
  3. 發送者將密文傳送給接收者。
  4. 接收者使用自己的私密金鑰對密文進行解密,還原出原始資料。

這種方式的特點是:

  • 發送者無需知道接收者的私密金鑰,只要知道公開金鑰即可加密。
  • 即使密文在傳輸過程中被攔截,只要私密金鑰沒有外洩,攻擊者無法解密。

🔐 什麼是數位簽章?

數位簽章是一種驗證數位訊息或文件真實性與完整性的技術,透過簽章,接收方能確認訊息未被竄改,且確實由持有私鑰的發送者所簽署。它就像是電子世界的「手寫簽名」或「蓋章」,可以用來確認:

  1. 訊息來自誰(身份驗證)
  2. 訊息未被竄改(完整性)
  3. 傳送者不能否認曾經簽署這份訊息(不可否認性)

✨ 數位簽章的工作原理(基本流程)

它通常與非對稱加密技術(如 RSA 或 ECC)搭配使用,步驟如下:

✅ 簽署階段(Sender → Signer):

  1. 發送者先將要傳送的原始資料進行雜湊(Hash)處理,產生一個固定長度的雜湊值(例如用 SHA-256)。
  2. 然後用自己的私密金鑰對這個雜湊值進行加密,產生數位簽章。
  3. 發送者將原始資料數位簽章一併發送給接收者。

🔎 驗證階段(Receiver → Verifier):

  1. 接收者用發送者的公開金鑰對簽章進行解密,得到一個雜湊值A。
  2. 同時接收者也對收到的原始資料做相同的雜湊,得到雜湊值B。
  3. 如果 A 和 B 相同,就表示資料未被竄改且確實來自發送者

🧩 數位簽章 vs 加密

項目 數位簽章 加密
主要目的 驗證身份、資料完整性及不可否認性 保護資料內容的機密性
金鑰使用 私鑰簽署,公開金鑰驗證 公開金鑰加密,私鑰解密
保護重點 資料的真實性與來源 資料的機密性

🧾 什麼是「憑證」?

憑證(Certificate)是一份數位身分證明,用來證明一個公鑰的擁有者是誰。它通常由憑證授權單位(CA, Certificate Authority)簽發,內容包含一個公開金鑰以及與該金鑰相關的身分資訊。

它的正式名稱是 X.509 憑證,這是一個國際標準,用於網路上的安全通訊。

憑證的本質是「一份由可信任第三方簽發的數位身份證明,用於驗證公鑰與持有者身份的綁定關係。」,在現代網路安全體系中,它是建立「信任」的基石。

🔐 憑證的主要內容

一個典型的 X.509 數位憑證會包含以下資訊:

項目 說明
Subject 憑證持有者的身分資訊(例如網站名稱、公司名)
Public Key 與此身分綁定的公開金鑰
Issuer 簽發此憑證的憑證授權單位(CA)
Signature CA 對這份憑證內容做出的數位簽章
有效期限 憑證的有效起始與截止日期
序號 憑證的唯一識別碼
演算法資訊 用於簽章的加密演算法(例如 SHA256-RSA)

🌐 為什麼需要憑證?

想像你正在連線到一個網站(例如:https://example.com)時,你會想確認兩件事:

  1. 這個網站真的是 example.com 本人嗎?
  2. 它的公開金鑰是真的,沒被假冒或竄改嗎?

憑證就是為了解決這個問題,它的角色是:

  • 保證公鑰的真實性
  • 提供公開金鑰與真實身分之間的信任連結
  • 阻止中間人攻擊(MITM)

🔑 什麼是 CA(憑證授權單位)?

CA 就像「數位身分證發證機關」,負責:

  • 核實申請者身份:確認網站或組織是真實存在的,且擁有申請的域名或身分。
  • 簽發數位憑證:給申請者一張由 CA 簽名的憑證,證明其公開金鑰和身份綁定有效。
  • 管理憑證的有效性:包括憑證的撤銷與更新。

憑證機構必須具備優良的聲譽,他們簽發的安全性憑證才會得到信任。

實際應用場景

應用 描述
HTTPS 網站憑證驗證與加密通訊
電子郵件簽章 驗證寄件人與內容完整性
軟體簽章 保證安裝檔未被篡改(如 Windows 軟體)
VPN 憑證驗證 保障使用者與伺服器之間的安全連線

🚨 常見憑證錯誤

  • ❌「您的連線不是私人連線」(證書過期、無效或自簽)
  • ⚠️「憑證不受信任的頒發者簽發」
  • 🕒「憑證尚未生效或已過期」

這些通常是因為憑證問題導致 HTTPS 安全性遭到破壞。

🧭 信任鏈(Certificate Chain)與根憑證

憑證的驗證是靠信任鏈(Chain of Trust)來建立的:

  1. 你收到一張網站憑證(由某 CA 簽發)
  2. 你的瀏覽器會查看這個 CA 是否被信任
  3. 如果 CA 是由更上層的「中繼 CA」簽署的,會繼續往上查
  4. 最終要找到一個「根憑證(Root Certificate)」,是你系統/瀏覽器內建信任

🏢 常見的全球憑證授權單位:

CA 名稱 簡介
DigiCert 全球最大、最受信任的 CA 之一
Sectigo(原 Comodo) 提供多種憑證產品
GlobalSign 日本與歐洲市場佔有率高
Let's Encrypt 免費、開源,自動化簽發憑證(廣泛用於小型網站)
Entrust 政府與大型企業常用
GoDaddy 提供網域註冊與憑證服務

他們會驗證請求者的身分(可能是個人、公司或網站),然後對其公開金鑰做出數位簽章,生成一張有效的憑證。


🏗️ 什麼是 PKI(公開金鑰基礎建設)?

PKI 是一整套政策、流程、技術與系統的集合,用來管理:

  • 公開金鑰與私密金鑰的產生和管理
  • 憑證的申請、簽發、驗證、撤銷
  • 信任鏈的建立與維護(包括根憑證、中繼憑證)
  • 整個公開金鑰生態系統的安全與運作

簡單來說,PKI 是一個建立信任的生態系統,而 CA 則是這個系統中的核心「信任樞紐」,扮演網路身分驗證的信任錨點(trust anchor),是整個網路層層信任鏈的起點。

想像 PKI 是一個「國家發行身分證的制度與流程」,而 CA 就是政府的「發證機關」,他們一起確保每張身分證(憑證)的真實與有效。

🌐 CA 與 PKI 的關係

  • CA 是 PKI 的核心組成部分,負責發行和管理憑證。
  • PKI 則是更大的架構,包含多個 CA、憑證資料庫、撤銷清單(CRL)、信任政策等等。
  • 透過 PKI,使用者和系統能夠在網路上安全交換資訊,確保身份與資料的完整性。

原罪

1. 加密演算法終究會過時

任何加密演算法,只要時間夠長,終將被破解。隨著運算能力的提升,像 DES、MD5 等曾經廣泛使用的加密演算法都已經被淘汰。而量子運算與雲端運算的發展,更讓破解加密不再是「時間」的問題,而是「成本」的問題。

2. 加密之外的弱點難以抵禦

再強大的加密演算法,也難以彌補系統中其他環節的弱點。只要其中一環被攻破,整體防線將瓦解,使得加密如同虛設。像是金鑰外洩、密碼被破解或繞過、中間人攻擊、供應鏈漏洞、後門等各種問題。

3. 憑證失效與吊銷困境

即使憑證機制建立起信任鏈,卻無法從根本上避免憑證遭到竊取或冒用^3 ^5 ^6。即便察覺問題,憑證吊銷(Revocation)也是一大挑戰;除了憑證撤銷清單(CRL)本身面臨持續膨脹的問題外,許多裝置並不會主動更新CRL,甚至有些裝置(像物聯網設備和舊型裝置)根本不支援CRL,這使得已失效的憑證仍可能被信任,帶來持續的安全風險。

4. 執行面不合規與人為疏失

再完美的理論與機制,只要需仰賴人員執行,就可能出現未依標準操作或出現失誤的問題,使理論淪為空談。中華電信遭吊銷憑證即是一個案例^1。此外,PKI 與 TLS 等系統的部署過程繁雜、專業人力不足、環境多樣等各種問題^7 ^8,都讓正確落實規範成為巨大挑戰。

最終,這一切都掌握在人類手中。無論你多信任某個組織,都無法完全依賴它來保障安全。^4


上一篇
【19】資安的原罪 ch.3-3.a 密碼與身分驗證
系列文
資安的原罪20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言