115 年 國立成功大學智慧資訊安全碩士學位學程《資訊安全》

📄 試題原卷 免費註冊後即可對照原始考卷 PDF免費註冊

第 1 題20 分

Terminology

Please provide the Mandarin translation and an explanation for the following technical terms, including core concepts and application scenarios. You may write the explanation in either Mandarin or English. (20%)

(A) Side-Channel Attack
(B) Homomorphic Encryption
(C) Perfect Forward Secrecy
(D) Principle of Least Privilege
(E) Multi-Factor Authentication

登入後即可作答並保存紀錄。

這一題的完整詳解

本題主要在測試考生對於資訊安全領域中五個重要技術術語的理解程度,包含其定義、核心概念、應用場景以及中文翻譯。考生需分別針對每個術語進行說明。

(A) 側信道攻擊 (Side-Channel Attack)
核心概念:側信道攻擊並非直接攻擊系統的密碼學演算法本身,而是利用系統在執行密碼學操作時所洩漏的物理資訊(如時間、功耗、電磁輻射、聲音等)來推斷秘密金鑰或其他敏感資訊。
應用場景:例如,在智慧卡(Smart Card)或嵌入式系統中,攻擊者可以測量晶片在加密運算時的功耗曲線,透過分析功耗與運算過程的關聯性,推斷出金鑰。
中文翻譯:側信道攻擊

(B) 同態加密 (Homomorphic Encryption)
核心概念:同態加密是一種特殊的加密方法,允許使用者在加密的資料上直接進行計算,而無需先解密。計算的結果經過解密後,與直接在原始資料上進行計算的結果相同。
應用場景:這項技術在保護隱私的雲端運算中具有極大的潛力。例如,使用者可以將敏感資料加密後上傳到雲端,雲端服務提供者可以在加密資料上執行分析或處理,而無需得知原始資料內容。
中文翻譯:同態加密

(C) 完美前向保密 (Perfect Forward Secrecy, PFS)
核心概念:完美前向保密確保即使長期的主金鑰(Master Key)被洩漏,過去的通訊會話紀錄也不會因此被解密。

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 2 題10 分

Please explain why simply using SHA-256 is insecure when storing user passwords. (10%)
Also, explain the concepts of Salt (5%) and Pepper (5%).

登入後即可作答並保存紀錄。

這一題的完整詳解

核心觀念

本題考查密碼儲存的安全設計,重點包括:

  1. 為何一般雜湊函數 SHA-256 不適合直接儲存密碼。
  2. Salt(鹽值)的用途與設計方式。
  3. Pepper(胡椒值)的用途與設計方式。
  4. 安全密碼儲存應使用具備「慢速、可調成本、抗 GPU/ASIC」特性的密碼雜湊函數,例如 Argon2id、bcrypt 或 scrypt。

密碼儲存的基本形式為:

H=Hash⁡(password)H = \operatorname{Hash}(\text{password})

登入時,系統將使用者輸入的密碼重新計算雜湊值,並與資料庫中的值比較。系統不應直接儲存明文密碼。


解題方法:說明直接使用 SHA-256 的問題

1. SHA-256 是快速雜湊函數

SHA-256 的設計目標是快速計算訊息摘要,適合檔案完整性驗證、數位簽章等用途,但「快速」對密碼儲存反而是不利條件。

攻擊者取得資料庫中的:

H=SHA256⁡(password)H = \operatorname{SHA256}(\text{password})

後,可以離線嘗試大量候選密碼:

SHA256⁡(p1),SHA256⁡(p2),…\operatorname{SHA256}(p_1),\operatorname{SHA256}(p_2),\ldots

只要其中一個結果等於資料庫中的 HH,就能找出密碼。由於 SHA-256 計算速度很快,攻擊者可以使用 GPU、ASIC 或大量平行運算設備,在短時間內嘗試非常多組密碼。

2. 離線破解不受登入限制

若攻擊者直接在線上登入頁面猜密碼,系統可以透過登入失敗次數限制、帳號鎖定、CAPTCHA 或多因素認證降低攻擊速度。

但若資料庫被竊取,攻擊者可以在自己的設備上進行離線破解:

候選密碼→SHA256⁡→與資料庫雜湊值比較\text{候選密碼} \rightarrow \operatorname{SHA256} \rightarrow \text{與資料庫雜湊值比較}

此過程不需要再向網站發送登入請求,因此網站的限速、帳號鎖定機制均無法阻止攻擊。

3. 人類密碼通常具有低熵

使用者常選擇短密碼、常見單字、生日、電話號碼或重複使用的密碼。即使 SHA-256 的輸出長度為 256 位元,也不代表使用者密碼具有 256 位元的安全性。

例如,若使用者密碼只可能出現在常見密碼字典中,攻擊者只需依序計算字典中每個密碼的 SHA-256:

SHA256⁡(passwordi)=?H\operatorname{SHA256}(\text{password}_i) \stackrel{?}{=} H

因此,安全性主要取決於密碼本身的熵,以及雜湊函數能否有效降低攻擊者的嘗試速度。

4. 相同密碼會產生相同雜湊值

若直接儲存:

H=SHA256⁡(password)H = \operatorname{SHA256}(\text{password})

則兩個使用相同密碼的使用者會得到相同的 HH。攻擊者可以從資料庫中觀察哪些帳號具有相同雜湊值,進而推測這些帳號使用相同密碼。

此外,攻擊者可以預先建立常見密碼與 SHA-256 結果的對照表,這類攻擊通常稱為字典攻擊或預先計算雜湊表攻擊。

5. SHA-256 不具備足夠的記憶體與計算成本

密碼專用雜湊函數通常可以設定:

  • 計算時間成本;
  • 記憶體使用量;
  • 平行運算程度;
  • 迭代次數。

SHA-256 本身不是為此目的設計,無法像 Argon2id、bcrypt 或 scrypt 一樣,針對現代硬體破解能力調整成本。因此,直接使用 SHA-256 儲存密碼是不安全的。


Salt(鹽值)

1. 定義

Salt 是在雜湊密碼前,為每一個使用者產生的隨機值。正確的儲存形式為:

H=KDF⁡(password,salt)H = \operatorname{KDF}(\text{password}, \text{salt})

若使用 SHA-256 表示,形式可寫成:

H=SHA256⁡(salt∥password)H = \operatorname{SHA256}(\text{salt} \Vert \text{password})

其中 ∥\Vert 表示字串串接。不過實務上不建議只用 SHA-256 加 Salt,而應使用 Argon2id、bcrypt 或 scrypt 等密碼專用函數。

2. Salt 必須對每個帳號獨立且隨機

不同使用者即使設定相同密碼,也應使用不同 Salt:

HA=KDF⁡(password,saltA)H_A = \operatorname{KDF}(\text{password}, \text{salt}_A) HB=KDF⁡(password,saltB)H_B = \operatorname{KDF}(\text{password}, \text{salt}_B)

即使:

passwordA=passwordB\text{password}_A = \text{password}_B

只要:

saltA≠saltB\text{salt}_A \ne \text{salt}_B

通常就會得到不同的雜湊結果。

3. Salt 的安全效果

Salt 主要具有以下作用:

  • 防止相同密碼產生相同雜湊值;
  • 使攻擊者難以利用預先計算的 Rainbow Table;
  • 使攻擊者必須針對每個帳號分別進行字典攻擊;
  • 避免一次計算結果同時套用到大量帳號。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 3 題20 分

In the Security Software Development Lifecycle (SSDLC), SAST (Static Application Security Testing) and DAST (Dynamic Application Security Testing) are two types of testing. Please define each one and compare them. (20%)

登入後即可作答並保存紀錄。

這一題的完整詳解

本題旨在測試考生對於軟體開發安全生命週期 (SSDLC) 中兩種主要靜態及動態安全測試方法的理解,以及它們之間的差異與比較。

SAST (Static Application Security Testing) - 靜態應用程式安全測試

  • 定義:SAST 是一種在不實際執行軟體的情況下,對應用程式的原始碼、位元碼或已編譯的程式碼進行分析的方法。它像是「從內部」審視程式碼,尋找潛在的安全漏洞。
  • 原理:SAST 工具會解析程式碼的結構,檢查程式碼是否存在已知的安全缺陷模式,例如 SQL 注入、跨網站指令碼 (XSS)、緩衝區溢位、不安全的 API 使用、硬編碼密碼等。
  • 執行時機:通常在軟體開發的早期階段,例如程式碼編寫完成後,甚至在程式碼合併到主幹之前進行。
  • 優點:
    • 早期發現漏洞:能在開發初期就發現問題,修復成本較低。
    • 覆蓋率高:可以檢查到程式碼的每一個角落,包括未被執行到的程式碼路徑。
    • 提供詳細修復建議:工具通常能指出具體的問題程式碼行,並提供修復建議。
  • 缺點:
    • 誤報率 (False Positives):可能報告出實際上並非漏洞的問題。
    • 無法發現運行時的漏洞:無法偵測到因環境配置、外部整合或執行時狀態引起的問題。
    • 對複雜語言或框架支援可能有限。

DAST (Dynamic Application Security Testing) - 動態應用程式安全測試

  • 定義:DAST 是一種在應用程式執行時,透過模擬攻擊者對應用程式進行測試的方法。它像是「從外部」攻擊應用程式,檢查其對抗惡意輸入的反應。
  • 原理:DAST 工具會與正在運行的應用程式互動,向其輸入各種惡意或異常的請求(如惡意參數、畸形輸入、不尋常的操作順序),並監測應用程式的回應,以識別安全漏洞,例如 SQL 注入、XSS、不安全的登錄、會話管理問題等。
  • 執行時機:通常在應用程式測試階段,例如整合測試、系統測試或準備部署前的階段。
  • 優點:
    • 發現運行時漏洞:能發現與應用程式執行環境、伺服器配置、第三方整合相關的漏洞。
    • 誤報率較低:通常報告的問題更貼近實際可被利用的漏洞。
    • 易於整合到 CI/CD 流程:可自動化執行。
  • 缺點:
    • 發現漏洞的覆蓋率可能受限:只能測試到應用程式實際執行到的程式碼路徑。
    • 無法精確定位程式碼:通常只能指出受影響的 URL 或參數,難以精確定位到原始碼中的具體問題點。
    • 需要一個運行中的應用程式環境。

SAST 與 DAST 的比較

| 特徵 | SAST (靜態分析) | DAST (動態分析) |

🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 4 題20 分

In the domain of Operational Technology (OT) security, implementing a one-way transmission mechanism (often referred to as a Data Diode) is a standard compliance requirement. A colleague has suggested that using "fiber optic bidirectional technology" (BiDi) is sufficient to achieve this requirement. Please evaluate this suggestion and explain your professional opinion. Specifically:

(A) Please explain the technical concept of BiDi (Bidirectional) technology. (5%)
(B) Does this approach meet the strict security requirements for one-way transmission? Why or why not? (5%)
(C) How would you plan and implement a valid solution? (10%)

登入後即可作答並保存紀錄。

這一題的完整詳解

本題考驗考生對 OT (Operational Technology) 安全的理解,特別是單向傳輸(Data Diode)的重要性,以及對 BiDi (Bidirectional) 技術能否滿足此需求的評估能力,並要求提出實際解決方案。

核心觀念: OT 環境中的網路隔離與單向傳輸對於防止惡意流量從不可信的外部網路(如 IT 網路)流入關鍵的 OT 系統至關重要。Data Diode 是實現這種隔離的硬體設備。

(A) BiDi (Bidirectional) 技術的技術概念 (5%)

BiDi 技術,特別是在光纖通訊領域,指的是利用單一根光纖(或單一光纖對中的兩條光纖)同時傳輸兩個方向的訊號。這通常是透過在光纖的兩端使用不同波長的光來實現的:

  • 單纖雙向 (Single-Fiber Bi-Directional):一根光纖在兩個方向上同時傳輸訊號。這通常是透過在發送端和接收端使用不同的光波長(例如,一端發射 1310nm,接收 1550nm;另一端發射 1550nm,接收 1310nm)來實現的。這種方式可以節省光纖資源。
  • 雙纖雙向 (Two-Fiber Bi-Directional):使用兩根光纖,一根用於發送,另一根用於接收。這種方式相對簡單,但需要兩倍的光纖線路。

無論是哪種方式,BiDi 技術的根本在於,在同一物理介質上,訊號可以同時或交替地從 A 傳到 B,以及從 B 傳到 A。

(B) BiDi 技術是否滿足單向傳輸的嚴格安全要求?為何或為何不? (5%)

答案:否,BiDi 技術無法滿足單向傳輸的嚴格安全要求。

原因:

  1. 「雙向」的本質:BiDi 技術的定義就是「雙向傳輸」。即使是在 OT 安全中,當我們談論「單向傳輸」時,意味著物理上或邏輯上只允許資料從 A 流向 B,而 B 絕對無法將任何訊號、資料或雜訊回傳給 A。Data Diode 的設計正是基於這種嚴格的單向性,它通常包含光學隔離,確保電子訊號無法反向傳播。
  2. 潛在的洩漏通道:儘管 BiDi 可能利用不同的波長,但它仍然是在同一個物理介質上進行雙向通訊。在 OT 安全的嚴格標準下,任何潛在的雙向通道都可能被視為安全風險。攻擊者可能利用光纖上的某些物理特性、訊號串擾、或在 BiDi 設備本身實現上的缺陷,來嘗試實現非預期的反向數據洩漏或控制訊號注入。
  3. Data Diode 的設計理念:Data Diode 的核心是物理隔離,防止任何反向通訊的發生。它通常是透過光學轉換器實現,讓資料從一個光訊號進入,轉換成另一個方向的電子訊號輸出,中間沒有任何可反向傳播的介質。而 BiDi 技術,即使是單纖雙向,仍然依賴於光學訊號在同一介質上的傳播,並且在設備端需要複雜的濾波和分離機制,這增加了引入反向通道的風險。

(C) 如何規劃與實施一個有效的解決方案? (10%)

基於 OT 安全的嚴格要求,我們不能僅僅依賴 BiDi 技術來實現單向傳輸。一個有效的解決方案應包含以下規劃與實施步驟:

  1. 明確安全需求與風險評估:
    • 首先,深入理解 OT 系統的關鍵資產、威脅模型以及合規性要求。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

第 5 題20 分

Please explain the concepts of Symmetric Encryption and Asymmetric Encryption, providing at least one algorithm example for each. (14%)
Additionally, discuss the theoretical argument regarding why some academic perspectives consider Hash Functions to be distinct from "Encryption". (6%)

登入後即可作答並保存紀錄。

這一題的完整詳解

本題分為兩大部分:第一部分考驗考生對對稱加密與非對稱加密的理解,包括其基本概念、工作原理及演算法範例;第二部分則探討雜湊函數與加密函數在理論上的區別。

第一部分:對稱加密與非對稱加密

1. 對稱加密 (Symmetric Encryption)

  • 概念:對稱加密,又稱為秘密金鑰加密 (Secret Key Cryptography),是指加密與解密過程使用相同金鑰的加密方法。發送方和接收方必須事先共享一個秘密金鑰。
  • 工作原理:
    • 加密:明文 (Plaintext) + 秘密金鑰 (Secret Key) → 密文 (Ciphertext)
    • 解密:密文 (Ciphertext) + 秘密金鑰 (Secret Key) → 明文 (Plaintext)
  • 優點:
    • 速度快:運算速度遠高於非對稱加密,適合加密大量數據。
    • 金鑰數量少:對於 N 個使用者,只需 N-1 個金鑰,或 N 個使用者間共享 1 個金鑰。
  • 缺點:
    • 金鑰交換問題:如何安全地將秘密金鑰分發給接收方是一個嚴峻的挑戰。
    • 金鑰管理複雜:當使用者數量增加時,金鑰數量會呈指數級增長。
  • 演算法範例:
    • AES (Advanced Encryption Standard):目前最廣泛使用的對稱加密演算法,支援 128、192、256 位元的金鑰長度。它基於取代-置換網路 (Substitution-Permutation Network) 的結構。
    • DES (Data Encryption Standard) - 已被 AES 取代,但仍是重要的歷史演算法。
    • 3DES (Triple DES) - DES 的改良版,但速度較慢。

2. 非對稱加密 (Asymmetric Encryption) / 公鑰加密 (Public Key Cryptography)

  • 概念:非對稱加密使用一對金鑰:一個是公開金鑰 (Public Key),可以公開給任何人;另一個是私有金鑰 (Private Key),必須由使用者秘密保管。這對金鑰是數學上相關聯的,用其中一個金鑰加密的資料,只能用另一個相對應的金鑰來解密。
  • 工作原理:
    • 加密 (用於機密性):發送方使用接收方的公開金鑰進行加密,接收方使用自己的私有金鑰進行解密。
      • 明文 + 接收方的公開金鑰 → 密文
      • 密文 + 接收方的私有金鑰 → 明文
    • 簽章 (用於驗證與不可否認性):發送方使用自己的私有金鑰進行「簽章」(相當於加密),接收方使用發送方的公開金鑰進行驗證(相當於解密)。
      • 原始資料 + 發送方的私有金鑰 → 數位簽章
      • 數位簽章 + 發送方的公開金鑰 → 驗證結果(成功或失敗)
  • 優點:
    • 解決金鑰交換問題:公開金鑰可以公開傳輸,無需事先共享秘密。
    • 支援數位簽章:提供身份驗證和不可否認性。
  • 缺點:
    • 速度慢:運算速度遠低於對稱加密,不適合加密大量數據。
    • 金鑰長度要求高:為了達到與對稱加密相同的安全強度,非對稱加密的金鑰長度通常要求非常長(如 2048 位元以上)。
🔒

後續完整解題步驟與【答案】

免費註冊,享三天全站完整詳解閱覽。

免費註冊

其他考古題

成功大學《資訊安全》其他年度