---
# System prepended metadata

title: 3.4 了解資訊系統（IS）的安全功能

---

參考課本 ISC2 Official Student Guide 6th Edition ，使用chatgpt 5.1產生摘要

# 3.4 了解資訊系統（IS）的安全功能
*Understand the Security Capabilities of Information Systems*

這一節在講的是：作業系統與硬體本身，內建提供了哪些安全機制，來保護記憶體、程式、與平台本身不被輕易攻破。後面 3.5 在談「架構」、3.6 在談「加密」，都建立在這些基礎之上。

---

## 3.4.1 記憶體保護（Memory Protection）

一台電腦同時會跑很多程式，如果沒有任何記憶體保護機制：

- 一個程式可能直接讀到另一個程式的密碼或資料  
- 有 bug 的程式可能把作業系統或其他程式的記憶體蓋掉，導致整台系統當機  
- 惡意程式可以把自己的攻擊程式碼塞到別人的記憶體區域中執行  

因此，作業系統會搭配處理器提供的功能，替每個程式建立相對獨立的記憶體空間，讓它們「互相看不到、互相動不到」。

可以把記憶體想像成一棟旅館：

- 每個程式就是一間房間的房客  
- 房客不能直接走進別人房間翻行李  
- 房客也不能去拆樓裡的電線或水管  

為了做到這一點，主要會用幾種機制：

### 分段（Segmentation）

- 把程式的記憶體邏輯上分成「程式碼段、資料段、堆疊段」等。  
- 每一段都有自己的起始位址、長度與權限設定（可讀、可寫、可執行）。  
- 可以避免程式跳到不應該執行的地方，降低溢位攻擊帶來的破壞範圍。

### 分頁（Paging）

- 把記憶體切成固定大小的「頁面」（Page），每一頁可以對應到不同的物理記憶體位置。  
- 作業系統透過「頁表（Page Table）」來決定某個程式可以使用哪幾頁。  
- 配合虛擬記憶體，每個程式會以為自己擁有一整塊連續記憶體，但實際上彼此是隔離的。

### 存取控制位元（R/W/X bits）

- 每一塊記憶體可以標記：只讀（Read）、可寫（Write）、可執行（Execute，能否當程式碼跑）。  
- 例如 DEP（Data Execution Prevention）會禁止在純資料區域執行程式碼，降低攻擊者將惡意程式碼塞進堆疊或堆積區的成功率。

### ASLR（位址空間配置隨機化）

- 每次程式啟動時，重要結構（程式碼、函式庫、堆疊）的位址都不一樣。  
- 即使攻擊者知道程式有漏洞，要精準猜到要跳去的位址也變得困難很多。

---

## 3.4.2 處理器模式（CPU Modes）

處理器通常至少提供兩種執行模式，用來區分「一般程式」與「系統核心」的權限。

### 使用者模式（User Mode）

- 一般應用程式（瀏覽器、文書軟體、聊天軟體）都在使用者模式中執行。  
- 在這個模式下，程式不能直接進行危險操作，例如直接操作硬體、修改核心記憶體。  
- 如果需要做需要特權的事情（例如開檔、連線網路），必須透過「系統呼叫（System Call）」請求作業系統代為執行。

### 核心模式（Kernel Mode）

- 作業系統核心與多數驅動程式在這裡執行。  
- 在這個模式下，可以直接存取硬體資源與所有記憶體，權限最高。  
- 一旦有惡意程式取得核心模式的執行權，就幾乎可以完全控制整台系統。

可以把這兩種模式想像成：

- 使用者模式：一般員工，只能透過流程請求資源。  
- 核心模式：系統管理員，擁有幾乎所有操作權限。

---

## 3.4.3 環級模型（Ring Model）

環級模型是對「權限層級」更細緻的描述，把系統程式分成由內而外多個圈，越內層權限越高。

常見的表示方式如下：

```text
Ring 0 = Kernel（最高權限）
Ring 1 = 驅動程式 / 系統服務
Ring 2 = 系統工具
Ring 3 = 使用者應用程式（最低權限）
```

設計理念是：

- 最敏感、最核心的功能放在最內圈（Ring 0），受到最嚴格保護。  
- 越外圈的程式，能做的事越少，出了問題對系統的影響也相對較小。

在現代主流作業系統中，實作上通常只會實際使用：

- Ring 0：作業系統核心與多數驅動程式  
- Ring 3：一般應用程式  

Ring 1 和 Ring 2 在實務上很少被使用。

---

## 3.4.4 進程隔離（Process Isolation）

即使有記憶體保護與權限分級，系統仍然需要確保「不同進程」之間不會互相干擾。  
進程隔離的目標，是讓每一個程序（Process）在執行時，就像在自己的小世界裡運作。

進程隔離大致包含：

- 每個進程有自己的虛擬記憶體空間，無法直接讀取其他進程的記憶體。  
- 進程之間如果要互相傳遞資料，必須透過作業系統提供的管道（例如 IPC、管道、訊息佇列）。  
- 在 CPU 進行「脈絡切換（Context Switch）」時，會將上一個進程的暫存器、程式計數器等狀態保存起來，再載入下一個進程的狀態，避免彼此的執行環境混在一起。  
- 某些進程會被放在「沙箱（Sandbox）」中，進一步限制可用的系統呼叫與資源。

可以把進程隔離想成：

- 每個班級有自己的教室與課表，班與班之間不會互相影響。  
- 即使某個班級吵翻天，其他教室還是可以照常上課。

---

## 3.4.5 虛擬化隔離（Virtualization Isolation）

在虛擬化環境裡，一台實體機器上會跑多個虛擬機（Virtual Machine），每個虛擬機都有自己的作業系統。  
這時候，多了一個關鍵角色：**Hypervisor**。

在權限層級上，可以簡化成：

| 等級 | 描述 |
|------|------|
| Ring -1 | Hypervisor（管理所有虛擬機） |
| Ring 0  | 各虛擬機內的作業系統核心（Guest OS Kernel） |
| Ring 3  | 各虛擬機內的應用程式（Guest Applications） |

虛擬化隔離要達成的，是：

- 不同虛擬機之間互相看不到對方的記憶體與資源。  
- 即使某個虛擬機被攻陷，不應該直接影響同一台 Host 上的其他虛擬機。  
- Hypervisor 本身必須被嚴格保護，因為一旦 Hypervisor 被攻擊者控制，就能影響所有在上面的虛擬機。

---

## 3.4.6 TPM（Trusted Platform Module）

TPM 是一顆焊在主機板上的安全晶片，用來提供與加密相關的硬體信任基礎。

TPM 主要功能包括：

- 安全儲存加密金鑰、憑證與敏感資料，使其不容易被一般程式直接讀取。  
- 量測並記錄開機過程中的關鍵元件狀態（例如韌體、開機載入程式），通常存放在稱為 PCR（Platform Configuration Registers）的暫存區中。  
- 協助實作安全開機（Secure Boot），確認系統啟動時載入的元件沒有被竄改。  
- 搭配像 BitLocker 這類全磁碟加密功能，用來保護磁碟加密金鑰。

簡單來說，TPM 提供的是：

- 金鑰有一個「藏在硬體裡」的地方  
- 系統可以確認「自己開機起來是不是乾淨的」

---

## 3.4.7 加密與解密（Encryption / Decryption）

加密與解密是資安中非常重要的基礎能力之一，後面 3.6 會專門用一整節深入說明。

在這裡只需要掌握幾個核心概念：

- 「加密」是把明文資料透過演算法與金鑰轉換成看不懂的密文，用來保護機密性。  
- 「解密」是用正確的金鑰把密文還原成可讀的明文。  
- 「雜湊」可以用來檢查資料有沒有被修改，提供完整性。  
- 「數位簽章」會結合雜湊與非對稱金鑰，用來證明資料來源與不可否認性。

在系統層級，這些能力可以用來保護：

- 網路傳輸中的資料（例如 TLS）  
- 儲存在磁碟上的資料（例如全磁碟加密）  
- 認證、授權相關的資訊（例如 Token、Cookie）

---

## 3.4.8 安全啟動（Secure Boot）

安全啟動的目的是：**確保系統從按下電源開始，開機過程中載入的每一個元件都是可信且未被竄改的。**

典型流程概念如下：

1. 最一開始的信任根（Root of Trust）儲存在硬體（例如 TPM 或主機板韌體）裡。  
2. 用這個信任根來驗證下一個要載入的元件（例如 UEFI Firmware、Boot Loader）的簽章。  
3. 若驗證成功，就再由該元件去驗證下一階段要載入的作業系統核心或驅動程式。  
4. 若有任何一個環節驗證失敗，系統可以拒絕繼續開機，或進入修復模式。

安全啟動依賴：

- TPM（或其他硬體信任根）  
- 數位簽章與憑證  
- 一條明確定義好的「信任鏈」（Chain of Trust）

透過這種方式，可以降低開機階段被 rootkit / bootkit 攻擊的風險。

---

## 3.4 小節總整理

可以把本節重點簡單整理如下：

| 能力 | 說明 |
|------|------|
| 記憶體保護 | 讓程式不能亂讀亂寫別人的記憶體，降低溢位與惡意程式風險。 |
| CPU 模式 / 環級 | 把「一般程式」和「核心程式」權限區分開來，避免一般程式直接搞壞系統。 |
| 進程隔離 | 每個 Process 活在自己的空間，要互通必須透過 OS 提供的機制。 |
| 虛擬化隔離 | Hypervisor 管很多 Guest OS，需要特別保護；VM 之間應該互相隔離。 |
| TPM | 提供安全的硬體空間，儲存金鑰與量測平台完整性。 |
| 加密 / 解密 | 用金鑰與演算法提供機密性、完整性、不可否認性，是之後 3.6 的主角。 |
| 安全啟動 | 從開機第一步開始驗證每一個元件，避免系統在一開始就被植入惡意程式。 |

這些就是「資訊系統自身」所具備的安全能力，後面在看架構（3.5）、加密解決方案（3.6）時，都會不斷用到這些概念。

# 3.5 評估與緩解安全架構、設計與解決方案的弱點
*Assess and Mitigate Vulnerabilities of Security Architectures, Designs, and Solution Elements*

不同的系統架構—從個人電腦、伺服器、資料庫、容器、雲端到工控—都有自己常見的弱點。  
本節的目標是讓你「看得出風險在哪裡」，並知道「要用哪些方法補強」。

---

## 3.5.1 終端設備（End-User Systems）

終端設備就是使用者每天在用的電腦或手機。  
弱點通常來自「人」或「預設設定不安全」。

常見問題：

- 使用者權限過高（很多人都是 local admin）  
- 系統沒有定期更新  
- 裝太多軟體、來源不明  
- 釣魚郵件、惡意連結、USB  
- 沒有安裝 EDR 或啟用基線防護  

改善方式：

- 使用最小權限（普通使用者帳號即可）  
- 自動更新 OS / App  
- 安裝並啟用 EDR、MDM  
- 限制軟體來源（application control）  
- 推動 MFA，降低密碼被偷後的風險  

---

## 3.5.2 伺服器系統（Server Systems）

伺服器通常比個人電腦重要得多，但弱點反而更常來自「預設配置」與「管理疏忽」。

常見問題：

- 預設帳號沒改密碼  
- 遠端登入（RDP / SSH）直接曝露在網路上  
- 未使用 TLS，資料傳輸是明文  
- 系統日誌沒有集中紀錄  
- service accounts 權限太大  

改善方式：

- 強化設定（server hardening），移除不必要服務  
- 將管理端口放入 VPN 或跳板機後面  
- 全面 TLS / SSH 加密  
- 使用角色（RBAC / IAM）限制服務帳號  
- 建立 logging + SIEM 監控  

---

## 3.5.3 資料庫系統（Database Systems）

資料庫的重點是「資料的重要性」。  
弱點通常會直接導致資料外洩或被竄改。

常見問題：

- SQL Injection（輸入未過濾）  
- 資料未加密（靜態或傳輸）  
- 預設帳號仍啟用  
- 權限太寬（每個人都是 DBA）  

改善方式：

- 使用 prepared statements / ORM  
- 啟用 TDE（Transparent Data Encryption）加密  
- 依角色分配權限，不用給所有人 DBA  
- 嚴格的輸入驗證  

---

## 3.5.4 虛擬化（Virtualization）

在虛擬化環境中，一台 Host 裡面有很多 VM，  
最關鍵的弱點就是「VM 之間要完全隔離」。

常見問題：

- VM Escape：攻擊者從 VM 跑出來攻擊 Host  
- Hypervisor 成為單點風險（被突破＝全毀）  
- Snapshot 裡留下明文資料  
- VM 網路彼此沒有隔離  

改善方式：

- 針對 Hypervisor 做強化設定  
- 建立 VLAN / Segmentation 隔離各 VM  
- 加密虛擬磁碟、保護 snapshots  
- 嚴格控管 VM templates 的安全性  

---

## 3.5.5 容器（Containers）

容器的速度快、部署快，但安全性相對複雜。  
「所有容器共享同一個 OS Kernel」是它最大的風險來源。

常見問題：

- Container breakout（容器逃逸）  
- 映像檔不安全（內含弱點、惡意程式）  
- 映像檔裡硬編碼密碼或金鑰  
- Kubernetes 錯誤設定（特權容器、開放 etcd）  

改善方式：

- 掃描映像檔（Trivy / Clair）  
- 禁用特權容器  
- Kubernetes RBAC + Namespace 隔離  
- 使用 NetworkPolicy 控制容器之間的通訊  
- 將密碼放入安全的 Secret 管理（Vault / KMS）  

---

## 3.5.6 微服務（Microservices）

微服務彼此獨立，但「服務之間如何互相信任」會成為主要弱點。

常見問題：

- API 呼叫沒有驗證  
- 服務之間傳輸未加密  
- 每個服務自己管理權限，導致授權混亂  
- 服務過多，難以追蹤流量與依賴  

改善方式：

- 使用 API Gateway 作統一入口  
- 使用 OAuth2 / OIDC 做身分驗證  
- 微服務之間使用 mTLS（雙向 TLS）  
- 使用 Service Mesh 管理流量（例如 Istio, Linkerd）  

---

## 3.5.7 無伺服器架構（Serverless）

Serverless 把「伺服器」隱藏起來，但安全性仍然依賴開發者與雲平台組態。

常見弱點：

- Function 使用過度權限的 IAM Role  
- 不安全的環境變數（含密碼、API key）  
- 依賴的套件（dependency）含已知弱點  
- 事件觸發（Event Trigger）缺乏驗證  

改善方式：

- 以最小權限方式配置 IAM role  
- 將敏感資訊存放於 Secrets Manager  
- 定期掃描套件（SCA 工具）  
- 驗證事件來源是否合法  

---

## 3.5.8 API 安全（API Security）

API 是現代系統中最常見的介面，也因此最容易被攻擊。

常見弱點：

- API 回傳過多資料（Excessive Data Exposure）  
- 身分驗證與授權不足  
- 未加密的 HTTP 傳輸  
- 沒有限流（Rate Limit），容易被 DDoS  
- 傳統 Injection 攻擊（SQLi、XSS）仍有效  

改善方式：

- API Gateway  
- OAuth2 / JWT / OIDC  
- 全面 HTTPS  
- Rate limiting（限流）  
- 嚴格的輸入驗證  

---

## 3.5.9 雲端架構（Cloud Architecture）

雲端最大的風險不是「雲」本身，而是「錯誤設定（misconfiguration）」。

常見弱點：

- S3 bucket / Blob Storage 設成公開  
- Security Groups 全開 0.0.0.0/0  
- IAM 權限過寬  
- 沒人理解 Shared Responsibility Model（共用責任模型）  

改善方式：

- CSPM（Cloud Security Posture Management）  
- IAM 最小權限  
- 所有存放資料的地方進行加密  
- VPC / Subnet 分段  
- 自動監控設定是否被改動  

---

## 3.5.10 工控系統（ICS / SCADA）

工控環境（電力、交通、製造）通常 **不能停機**，  
這讓安全更新與維護變得困難。

常見弱點：

- 使用老舊的作業系統  
- 預設密碼不變  
- 通訊未加密  
- IT 與 OT 網路混在一起  
- 直連網際網路  

改善方式：

- 將 OT 與 IT 網路分段  
- 建立 Industrial DMZ  
- 嚴格控管遠端存取  
- 使用「虛擬修補」保護不能更新的設備  
- 使用行為偵測找出異常  

---

## 3.5.11 物聯網（IoT）

IoT 設備的普遍問題是「便宜、快速上市、但安全性不足」。

常見弱點：

- 預設密碼（admin / admin）  
- 無法更新或很少更新  
- 韌體沒有驗證就能被改寫  
- 使用明文通訊（MQTT 無加密）  

改善方式：

- 啟用 TLS / DTLS  
- 使用設備身分（device identity）與簽章韌體  
- 定期 OTA 更新機制  
- 將 IoT 放在獨立 VLAN 隔離  

---

## 3.5 小節總整理

可以用以下表格理解整節內容的重點：

| 架構類型 | 核心弱點 | 主要改善方式 |
|---------|----------|----------------|
| 終端設備 | 權限過高、未更新 | 最小權限、EDR、自動更新 |
| 伺服器 | 預設設定不安全 | Hardening、TLS、RBAC、SIEM |
| 資料庫 | SQLi、未加密 | Prepared statements、TDE、權限管理 |
| 虛擬化 | VM Escape | Hypervisor hardening、網路隔離 |
| 容器 | Breakout、錯誤設定 | Image scanning、K8s RBAC、NetworkPolicy |
| 微服務 | API 驗證不足 | API Gateway、mTLS、Service Mesh |
| Serverless | IAM 過度授權 | Least privilege、Secret Manager |
| API | 身分驗證弱、未加密 | OAuth2 / OIDC、HTTPS、限流 |
| 雲端 | Misconfig | CSPM、IAM 最小權限、加密 |
| ICS | 老舊、不更新 | 分段、DMZ、虛擬補丁 |
| IoT | 預設密碼、未加密 | TLS、OTA 更新、隔離 |

---

# 3.6 選擇與確定加密解決方案
*Select and Determine Cryptographic Solutions*

加密（Cryptography）是資訊安全最核心的能力之一。  
不論是 TLS、磁碟加密、API 安全、密碼儲存，背後都有不同的加密組合。

這一節的目標不是「背公式」，而是了解：

- **什麼情境用什麼加密？**
- **對稱、非對稱、雜湊、簽章差在哪？**
- **金鑰怎麼管理？**

---

## 3.6.1 對稱式加密（Symmetric Encryption）

對稱式加密的概念很簡單：

> **加密和解密都用同一把金鑰。**

像是兩個人用「同一把鑰匙」開門、鎖門。

### 適用情境
- 大量資料要處理（例如 VPN 流量、磁碟加密）
- 速度要求高（AES 非常快）

### 優點
- 速度快、效率高  
- 適合「資料量大」的情境（如 File Encryption）

### 限制
- 最大問題是 **金鑰要怎麼安全送給對方？**（Key Distribution Problem）  
- 不提供「不可否認性」，因為兩邊都用同一把金鑰。

### 常見例子
- AES（主流）
- ChaCha20（行動裝置常見）

你可以把它想像成：

> 兩個部門共用同一個保險箱密碼。  
> 密碼外流了，就所有人都能開。

---

## 3.6.2 非對稱式加密（Asymmetric Encryption）

非對稱加密使用「一組」金鑰：

- 公鑰（公開給大家）
- 私鑰（自己保管）

概念像是：

> 公鑰是「投信箱口」；  
> 私鑰是「只有你能開的信箱鑰匙」。

### 優點
- 任何人可以用你的公鑰加密 → 只有你能用私鑰解開  
- 可提供「數位簽章」與「不可否認性」  
- 解決對稱加密的「金鑰交換問題」

### 限制
- 計算較慢  
- 不適合加密大量資料

### 常見演算法
- RSA  
- ECC（Curve25519、P-256）

---

## 3.6.3 混合式加密（Hybrid Encryption）

現代加密系統幾乎都採用混合式方式。

流程可以簡單理解成：

1. 用 **非對稱加密** 傳送一個「安全的 session key」  
2. 用這個 session key 進行 **對稱式加密**  
3. 完成後 session key 銷毀  

例如：

- HTTPS（TLS）  
- PGP 電子郵件  
- Signal / WhatsApp 加密

為什麼？

> 因為非對稱加密「安全但慢」，  
> 對稱加密「快但難傳金鑰」。  
> 混合起來就兩邊都拿到了優點。

---

## 3.6.4 雜湊（Hashing）

雜湊不是用來「加密資料」，而是：

> **讓資料能被檢查是否被修改（完整性）。**

雜湊有兩個特性：

- 不可逆（沒辦法從結果反推原文）  
- 同樣輸入 → 永遠得到同樣輸出  

### 用途
- 密碼儲存（搭配 Salt）  
- 驗證檔案完整性  
- 數位簽章的基礎

### 例子
- SHA-256  
- SHA-3  

已淘汰：
- MD5、SHA-1

比喻：

> 雜湊就像「菜單上的照片」。  
> 你看得出來是不是你的菜，但不能從照片還原整道料理。

---

## 3.6.5 訊息認證碼（MAC / HMAC）

雜湊只能確保「資料沒被改」，  
但不能知道「是誰送來的」。

因此有：

### MAC（Message Authentication Code）
- 使用金鑰的雜湊  
- 可以確認「資料是正確的人送出的」

### HMAC（Hash-based MAC）
- 用 Hash + Secret key  
- 比 MAC 更常用、更安全  

常見於：
- API 驗證  
- Token  
- TLS  

---

## 3.6.6 數位簽章（Digital Signatures）

數位簽章是「不可否認性」的核心。

工作方式：

1. 發送者先對資料做雜湊  
2. 用自己的「私鑰」加密雜湊 → 產生簽章  
3. 收件者用「公鑰」驗證簽章是否正確  

它能同時提供：

- 完整性  
- 身分驗證  
- 不可否認性  

常見演算法：
- ECDSA  
- RSA Signature  
- Ed25519（現代推薦）

比喻：

> 像蓋章：  
> 公鑰是大家都認得的「印章樣式」，  
> 私鑰是你手上的「印章本體」。

---

## 3.6.7 公鑰基礎建設（PKI）

PKI 是一組用來「管理公鑰」的制度。

裡面的核心角色：

- **CA（Certificate Authority）**：證書的頒發者  
- **RA（Registration Authority）**：負責確認身分  
- **CRL / OCSP**：證書是否被吊銷  
- **Root CA / Intermediate CA**：信任鏈的概念  

PKI 用在：
- HTTPS（瀏覽器憑證）  
- VPN  
- Email 加密  
- 程式碼簽章（Code Signing）  

你可以把 PKI 想成：

> 政府機關（CA）幫你發身分證（證書），  
> 有了它，其他人才知道「這個公鑰真的屬於你」。

---

## 3.6.8 金鑰生命週期（Key Lifecycle）

金鑰不是永遠不變。  
它跟人的證件一樣，有產生、使用、過期、撤銷、銷毀。

生命週期包含：

1. 產生（Generation）  
2. 分配（Distribution）  
3. 儲存（Storage）  
4. 使用（Use）  
5. 輪替（Rotation）  
6. 撤銷（Revocation）  
7. 銷毀（Destruction）  

重要概念：

- 金鑰必須安全儲存（HSM、TPM）  
- 長期金鑰務必定期輪替  
- 銷毀時應不可恢復  

---

## 3.6.9 金鑰長度（Key Strength）

金鑰越長＝越難暴力破解。  
常見建議：

| 技術 | 建議強度 |
|------|----------|
| AES | 128 / 256 |
| RSA | 2048（建議 3072 以上） |
| ECC | 256-bit 曲線 |
| Hash | SHA-256 或以上 |

ECC 的等效強度更高，所以越來越主流。

---

## 3.6.10 TLS（Transport Layer Security）

TLS 是「網路加密」的主角。

能提供：
- 機密性（資料不被偷看）  
- 完整性（資料不被修改）  
- 身分驗證（伺服器憑證）  

現代建議：
- 使用 TLS 1.3  
- 使用 AES-GCM 或 ChaCha20-Poly1305  
- 停用 TLS 1.0、1.1  

整個 HTTPS 的安全性，就是 TLS 在後面支撐。

---

## 3.6.11 資料靜態加密（Data at Rest）

資料落在磁碟上時，也必須被保護。  
常用的全碟加密技術：

- BitLocker（Windows）  
- FileVault（macOS）  
- LUKS（Linux）  

重點：

- 通常搭配 TPM 存放金鑰  
- 適用於遺失筆電、硬碟拆走等情境  
- 加密不會保護「開機後的存取」；它保護的是「離線攻擊」  

---

## 3.6.12 後量子時代（Post-Quantum Cryptography, PQC）

量子電腦並不是「把所有加密都打破」，  
但它能破解傳統的：

- RSA  
- ECC  
- Diffie-Hellman  

因為現代量子演算法（Shor’s algorithm）能在非常快的時間內拆解大質數與離散對數。

NIST 已經選出新一代 PQC：

- Kyber（取代交換金鑰）  
- Dilithium（取代簽章）  

未來加密標準會逐步加入這些演算法。

---

## 3.6 小節總整理

用最簡單的方式記住本節：

| 技術 | 解決什麼問題？ | 特點 |
|------|----------------|------|
| 對稱加密 | 加密大量資料 | 快、但金鑰難傳 |
| 非對稱加密 | 傳金鑰、簽章 | 安全、但慢 |
| 混合加密 | 網路加密的主流方式 | TLS、PGP 都在用 |
| 雜湊 | 檢查資料有沒有被改 | 不可逆 |
| HMAC | 誰送的＋沒被改 | 常用在 API |
| 數位簽章 | 誰發的、不能否認 | 使用私鑰簽、公鑰驗 |
| PKI | 管理金鑰與憑證 | HTTPS 的基礎 |
| TLS | 保護網路資料 | 1.3 是現代標準 |
| FDE | 保護離線資料 | BitLocker / FileVault |
| PQC | 應對量子電腦 | Kyber、Dilithium |

