參考課本 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 |