113 年 國立中山大學資訊工程學系資訊安全碩士班《作業系統》
第 1 題
- [Operating System: 80%]
(1) Many criteria are used for measuring the performance of CPU-scheduling algorithms. (20%)
a. Please explain the functionalities of the following criteria: 1). CPU utilization, 2). throughput, 3). turnaround time, 4). waiting time, and 5). response time. (10%)
b. Please explain the following scheduling algorithms: 1). first-come, first-served (FCFS), 2). shortest-job-first (SJF), 3). priority, 4). round-robin, 5). multilevel queue, and 6). multilevel feedback queue. (10%)
登入後即可作答並保存紀錄。
核心觀念
CPU 排程器的工作,是在 CPU 空閒或發生排程事件時,從就緒佇列中選擇下一個行程執行。評估排程演算法時,通常同時考慮:
- 系統效率:CPU 使用率、吞吐量。
- 行程效能:周轉時間、等待時間、回應時間。
設行程 的到達時間為 、第一次取得 CPU 的時間為 、完成時間為 。
解題方法
作答時先寫出五項效能指標的定義與最佳化方向,再逐一說明六種排程演算法。分析演算法時,應掌握四個判斷面向:
- 是否具有搶占性。
- 選擇下一個行程的依據。
- 就緒佇列的組織方式。
- 是否會造成飢餓、護航效應或過多切換成本。
(1)(a) CPU 排程效能指標
1. CPU 使用率(CPU utilization)
CPU 使用率是觀察期間內,CPU 實際忙於執行行程的時間比例:
CPU 使用率越高,代表 CPU 閒置時間越少,系統資源利用越充分。一般目標是提高 CPU 使用率,但過度頻繁的內容切換也會增加額外負擔,因此高使用率不代表所有行程的服務品質都最佳。
2. 吞吐量(throughput)
吞吐量是單位時間內完成的行程數:
吞吐量越高,表示系統在一段時間內完成越多工作,適合衡量批次系統的處理能力。
吞吐量只計算「完成幾個行程」,不直接表示完成的工作量。因此,優先執行許多短行程,可能提高吞吐量,但長行程的等待時間仍然很久。
3. 周轉時間(turnaround time)
周轉時間是行程從到達系統至完成的總時間:
它包含:
- 在就緒佇列中的等待時間。
- 實際使用 CPU 的時間。
- 進行輸入/輸出所花的時間。
- 必要的內容切換與其他系統額外負擔。
周轉時間越短,表示行程從送出至完成所花的總時間越少。批次工作通常重視平均周轉時間。
4. 等待時間(waiting time)
等待時間是行程累計停留在就緒佇列、等待取得 CPU 的時間:
等待輸入/輸出的時間不屬於 CPU 排程中的等待時間。等待時間越短,表示行程越快獲得 CPU 服務。
等待時間不等於周轉時間,因為周轉時間還包括 CPU 執行時間與輸入/輸出時間。
5. 回應時間(response time)
回應時間是行程到達後,第一次取得 CPU 服務所需的時間:
互動式系統特別重視回應時間,因為使用者關心的是「送出請求後多久開始得到反應」,不一定要等整個工作完成。
回應時間只計算到第一次取得 CPU,不包含第一次執行後再次等待的時間,也不等於周轉時間。
例如某行程有:
且累計在就緒佇列等待 個時間單位,則:
指標的最佳化方向
| 指標 | 衡量內容 | 一般目標 |
|---|---|---|
| CPU 使用率 | CPU 忙碌比例 | 最大化 |
| 吞吐量 | 單位時間完成的行程數 | 最大化 |
| 周轉時間 | 到達至完成的總時間 | 最小化 |
| 等待時間 | 等待 CPU 的累計時間 | 最小化 |
| 回應時間 | 到達至第一次取得 CPU 的時間 | 最小化 |
(1)(b) CPU 排程演算法
1. 先到先服務(FCFS,First-Come, First-Served)
FCFS 按照行程進入就緒佇列的先後順序執行,先到達者先取得 CPU。
FCFS 通常是非搶占式排程。行程一旦取得 CPU,會持續執行至完成目前的 CPU 執行區段、主動阻塞等待輸入/輸出,或結束。
優點:
- 實作簡單。
- 佇列順序清楚。
- 不容易使行程永久得不到 CPU。
缺點:
- 容易產生護航效應(convoy effect)。
- 一個 CPU 執行時間很長的行程,會使後方許多短行程排隊等待。
- 平均等待時間、平均周轉時間與互動式回應時間通常不佳。
例如一個長 CPU-bound 行程先執行,後方的短 I/O-bound 行程即使只需要少量 CPU,也必須等待長行程結束。
2. 最短工作優先(SJF,Shortest-Job-First)
SJF 每次選擇預估下一段 CPU 執行時間最短的行程:
標準 SJF 是非搶占式:目前行程開始執行後,即使新到達的行程更短,也要等目前 CPU 執行區段結束才重新選擇。
若允許新到達的短行程搶占目前行程,稱為最短剩餘時間優先(SRTF,Shortest-Remaining-Time-First)。
SJF 在 CPU 執行時間已知,且行程同時可供選擇的條件下,能使平均等待時間最小。其原因是短工作排在長工作之前,可降低後續所有行程的等待累計。若兩個工作長度分別為 ,在時間 開始排程:
- 先執行 的等待時間總和為 。
- 先執行 的等待時間總和為 。
因為 ,所以短工作先執行較佳。
優點:
- 平均等待時間通常最小。
- 平均周轉時間通常較短。
- 適合 CPU 執行時間可預估的批次工作。
缺點:
- 下一段 CPU burst 通常事前未知,只能估計。
- 長行程可能長期得不到 CPU,形成飢餓。
- 需要額外的 CPU burst 預測機制。
常見的指數平均預測公式為:
第 2 題
(2) Please explain the basic idea of redundant array of independent disks (RAID) and the levels of RAID from RAID 0 to RAID 6. Note that descriptions and figures are required to depict all these levels. (20%)
登入後即可作答並保存紀錄。
核心觀念
RAID(Redundant Array of Independent Disks)是將多顆獨立磁碟組合成一個邏輯磁碟,利用「資料條帶化、鏡像或同位檢查碼」提升儲存效能、容量利用率與容錯能力。
設有 顆相同容量的磁碟,每顆容量為 。解題時應掌握三項設計:
- 條帶化(striping):將連續資料切成位元、位元組或區塊,分散至不同磁碟,讓多顆磁碟平行讀寫。
- 鏡像(mirroring):將同一份資料複製至不同磁碟。
- 同位檢查碼(parity):以異或運算產生冗餘資訊。若某一資料區塊遺失,可由其他資料與 parity 還原:
若 遺失,則:
其中 為 XOR。RAID 6 另外使用第二組獨立的校驗碼 ,因此可同時處理兩顆磁碟故障。
解題方法
逐一判斷每種 RAID 的:
- 條帶化粒度:位元、位元組或區塊。
- 冗餘方式:無冗餘、鏡像、Hamming ECC 或 parity。
- parity 的位置:集中在專用磁碟,或分散至所有磁碟。
- 可用容量、可容忍的磁碟故障數量與效能瓶頸。
RAID 0:區塊條帶化,無冗餘
RAID 0 將連續資料區塊分散到不同磁碟,但不儲存任何複本或 parity。
磁碟 D0 磁碟 D1 磁碟 D2 磁碟 D3
條帶 0 A0 A1 A2 A3
條帶 1 B0 B1 B2 B3
條帶 2 C0 C1 C2 C3
同一列構成一個 stripe, 是連續資料的一部分。讀取連續資料時,四顆磁碟可以平行工作,因此效能高。
- 可用容量:
- 最少磁碟數:2 顆。
- 容錯能力:0 顆。
- 優點:效能與容量利用率最高。
- 缺點:任一顆磁碟故障,都會使部分條帶遺失,整個邏輯磁碟的資料無法完整使用。
RAID 0 的「0」代表沒有冗餘,不能用於需要資料可靠性的場合。
RAID 1:鏡像(Mirroring)
RAID 1 將每一份資料完整複製到另一顆磁碟,通常以兩顆磁碟形成一組鏡像。
磁碟 D0 磁碟 D1 磁碟 D2 磁碟 D3
條帶 0 A0 A0 B0 B0
條帶 1 A1 A1 B1 B1
條帶 2 C0 C0 D0 D0
其中 是一組鏡像, 是另一組鏡像。寫入資料時必須寫入兩份;讀取時可從任一副本讀取,也能將讀取工作分散到不同磁碟。
- 可用容量:雙碟鏡像時為
- 最少磁碟數:2 顆。
- 容錯能力:每一組鏡像可故障 1 顆;同一組兩顆同時故障會造成資料遺失。
- 優點:可靠度高、讀取效能良好、重建簡單。
- 缺點:容量利用率只有約 50%,寫入資料必須更新兩份。
RAID 2:位元條帶化與 Hamming ECC
RAID 2 以「位元」為條帶化單位,並使用多顆 ECC 磁碟儲存 Hamming error-correcting code。
以下以 顆資料磁碟與 顆 ECC 磁碟的 Hamming(7,4) 配置示意:
資料碟 ECC 碟
D0 D1 D2 D3 E0 E1 E2
資料碼字 0 a0 a1 a2 a3 H0 H1 H2
資料碼字 1 b0 b1 b2 b3 H0' H1' H2'
資料碼字 2 c0 c1 c2 c3 H0'' H1'' H2''
每個碼字包含資料位元與 Hamming 檢查位元。若有 個資料位元、 個檢查位元,標準 Hamming code 需滿足:
Hamming code 可利用 syndrome 定位錯誤位元,因此:
- 可更正單一位元錯誤。
- 可偵測雙位元錯誤。
- 典型位元條帶配置可處理一顆磁碟失效所造成的單一位元位置遺失。
- 可用容量約為 ,其中總磁碟數為 。
RAID 2 的 ECC 磁碟數較多、控制複雜,而且現代磁碟本身已內建 ECC,因此實務上幾乎不使用。
RAID 3:位元組條帶化與專用 parity 磁碟
RAID 3 將資料以「位元組」為單位分散到資料磁碟,並使用一顆專用磁碟儲存 parity。
磁碟 D0 磁碟 D1 磁碟 D2 磁碟 D3 parity
位元組條帶 0 A0 A1 A2 A3 P0
位元組條帶 1 B0 B1 B2 B3 P1
位元組條帶 2 C0 C1 C2 C3 P2
例如:
若任一資料磁碟故障,可利用其他資料位元組與 parity 還原。
- 可用容量:
- 最少磁碟數:3 顆。
- 容錯能力:1 顆磁碟。
- 條帶化粒度:位元組。
- 優點:適合大量連續資料的平行讀寫。
- 缺點:所有 parity 都集中在同一顆磁碟,造成 parity 磁碟的 I/O 瓶頸;所有磁碟通常需要同步運作。
RAID 4:區塊條帶化與專用 parity 磁碟
RAID 4 與 RAID 3 的主要差別是條帶化粒度。RAID 4 以「區塊」為單位,而不是以位元組為單位。
磁碟 D0 磁碟 D1 磁碟 D2 磁碟 D3 parity
區塊條帶 0 A0 A1 A2 A3 P0
區塊條帶 1 B0 B1 B2 B3 P1
區塊條帶 2 C0 C1 C2 C3 P2
每個 stripe 的 parity 為:
第 3 題
(3) A client machine of a distributed system may need some approaches, be it client-initiated or server-initiated, to verify whether a locally cached copy of data is consistent with the copy on the master machine. Please explain the basic idea of client-initiated and server-initiated approaches and how they work. (10%)
登入後即可作答並保存紀錄。
核心觀念
本題考查分散式系統的快取一致性。用戶端把主機(master machine)上的資料快取到本機後,主機上的資料可能更新,因此用戶端需要判斷快取副本是否仍有效。
一致性檢查分成兩種方式,差別在於由誰啟動:
- 用戶端發起(client-initiated):用戶端主動向主機確認快取是否仍有效。
- 伺服器發起(server-initiated):主機在資料更新時,主動通知持有該資料快取的用戶端。
主機可用版本號、時間戳記或修改序號表示資料版本。若快取版本與主機版本相同,快取有效;若版本不同,用戶端便須取得最新資料。
解題方法
-
用戶端發起驗證
用戶端在讀取快取資料前,向主機詢問資料是否已變更,或比較快取版本與主機版本。若版本未變,用戶端沿用本機副本;若版本已變,用戶端重新取得最新資料並更新快取。用戶端也可以定期驗證,但兩次驗證之間,快取可能尚未察覺主機已更新。 -
伺服器發起通知
主機記錄哪些用戶端快取了哪些資料。資料被修改時,主機通知相關用戶端更新副本,或將舊副本標記為失效。用戶端收到失效通知後,在下次讀取時重新取得資料;
第 4 題
(4) Please show and explain the critical-section problem first and then explain the requirements of mutual exclusion, progress, and bounded waiting. (10%)
登入後即可作答並保存紀錄。
核心觀念
本題考查作業系統中的「臨界區問題(critical-section problem)」,以及一個正確同步機制必須滿足的三項條件:
- 互斥(mutual exclusion)
- 進展(progress)
- 有限等待(bounded waiting)
當多個行程或執行緒同時存取共享資料時,若執行順序受到排程影響,便可能產生競爭情況(race condition),導致結果不正確。
臨界區問題
每個行程通常可抽象為以下四個區段:
do {
entry section // 申請進入臨界區
critical section // 存取共享資源
exit section // 離開臨界區並釋放資源
remainder section // 其他與共享資源無關的工作
} while (true);
其中:
- entry section:行程嘗試取得進入臨界區的權利。
- critical section:存取共享變數、共享檔案、共同資料結構等資源的程式區段。
- exit section:完成操作後釋放鎖定或通知其他等待者。
- remainder section:不涉及共享資源的其他程式。
例如,共享變數 count 初值為 ,兩個行程都要執行:
count = count + 1
這項操作通常可拆成「讀取、加一、寫回」三步:
| 時間 | 行程 | 行程 |
|---|---|---|
| 1 | 讀取 count = 5 | |
| 2 | 讀取 count = 5 | |
| 3 | 計算 | |
| 4 | 寫回 count = 6 | |
| 5 | 寫回 count = 6 |
雖然兩個行程各自加了一次,最後結果卻是 ,而不是預期的 。這是因為兩個行程同時進入存取共享資料的程式區段,造成更新遺失。
因此,臨界區問題就是:設計一套同步協定,使多個行程能安全地存取共享資源,同時避免資料不一致、死結與無限期等待。
三項必要要求
1. 互斥(Mutual Exclusion)
在任一時刻,最多只能有一個行程位於臨界區內。
若行程 正在執行臨界區,其他行程 不得同時執行自己的臨界區。
可形式化表示為:
互斥主要確保「安全性(safety)」:
- 共享資料不會被多個行程同時修改。
- 不會因交錯執行而產生不一致結果。
- 同一把鎖在同一時間只能被一個行程持有。
互斥只說明「不能同時進入」,並不保證等待中的行程最後一定能進入。
2. 進展(Progress)
若目前沒有任何行程位於臨界區,且有一個以上的行程想要進入臨界區,則必須在有限時間內決定哪一個行程可以進入,不能無限期拖延。
設:
- 臨界區目前為空;
- 為正在 entry section 等待進入的行程集合。
則進展要求可表示為:
第 5 題
(5) Various types of hardware failure can be found in a distributed system. Thus, to ensure that the distributed system is robust, we must detect these failures, reconfigure the system so that it can continue running, and recover when a site or a link is repaired. Please explain the following terms: failure detection, reconfiguration, recovery from failure, and fault tolerance. (20%)
登入後即可作答並保存紀錄。
核心觀念
本題考查分散式系統面對「部分元件失效」時的完整容錯流程:
而 Fault Tolerance 是系統透過上述機制與備援設計,在元件發生故障時仍能維持正確服務的整體能力。
分散式系統的困難在於:一個節點無法直接觀察另一個節點的內部狀態。遠端節點沒有回應,可能是節點當機,也可能是網路壅塞、連線中斷、封包遺失,甚至只是處理速度變慢。因此,故障處理不能只依賴「是否收到回應」,還必須考慮網路分割、資料一致性與重複執行等問題。
常見故障包括:
- Site/Node Failure:整個主機、處理器或作業系統停止運作。
- Link Failure:兩個節點間的網路連線中斷。
- Storage Failure:磁碟或儲存裝置損壞,使資料無法讀取。
- Partial Failure:部分節點或連線失效,但其他節點仍繼續運作,這是分散式系統最重要的故障特性。
解題方法
四個名詞可依「偵測故障、改變系統配置、恢復故障元件、達成持續服務」的順序作答。每個名詞均應包含:
- 名詞定義。
- 實際採用的機制。
- 故障處理後所達成的效果。
- 分散式環境中的限制或注意事項。
一、Failure Detection:故障偵測
Failure Detection 是系統判斷某個節點、處理程序、連線或硬體是否已失效的機制。
常見做法如下:
- 由節點週期性傳送 heartbeat。
- 監控端以
ping、請求—回應訊息或租約(lease)確認遠端節點仍在運作。 - 若在指定時間內未收到回應,便將該元件標記為 suspected failed。
- 若由多個節點共同監控,也可透過多數決降低單一監控者誤判的影響。
然而,逾時只能表示「疑似失效」,不能直接證明節點已當機。在非同步分散式系統中,訊息延遲沒有固定的最大上限,因此系統無法完全區分:
- 遠端節點已經崩潰;
- 網路路徑中斷;
- 網路暫時壅塞;
- 遠端節點仍正常,但回應速度過慢。
因此,實務上的 failure detector 必須在兩種性質間取捨:
- Completeness(完整性):已失效的節點最終會被偵測出來。
- Accuracy(準確性):正常節點不會被誤判為失效。
在網路延遲不可預測的環境中,通常只能使用「最終準確」的故障偵測器,並容許暫時的 false positive。故障偵測的結果通常會交給後續的 reconfiguration protocol 處理,而不是直接刪除該節點的所有資料。
二、Reconfiguration:重新配置
Reconfiguration 是系統在偵測到故障後,修改目前的邏輯配置,使剩餘的正常元件能繼續提供服務。
重新配置可能包括:
- 將失效節點從目前的 membership 中移除。
- 將備援節點提升為新的 primary、leader 或 coordinator。
- 將用戶端請求重新導向至其他正常節點。
- 修改 routing table,使封包避開失效的 link。
- 調整 replication group、quorum 與資料分割配置。
- 降低服務功能或進入 degraded mode,使核心服務仍可用。
例如,若主要伺服器 當機,而備援伺服器 擁有最新資料,系統可以將 提升為新的服務提供者,並將後續請求全部導向 。
重新配置必須處理 split-brain 問題。若網路分割造成兩組節點各自認為自己是主要群組,可能同時接受寫入,導致資料不一致。因此,常見保護機制包括:
- quorum 多數決;
- leader election;
- epoch/term 編號;
- fencing,禁止疑似失效的舊節點繼續寫入;
- 以一致性協定原子地更新 membership。
重新配置的主要目的,是在故障元件尚未修復前,先讓服務維持運作;它不等於把故障硬體修好。
三、Recovery from Failure:故障恢復
Recovery from Failure 是故障元件被重新啟動、修復後,將其狀態恢復到可接受且一致的狀態,並重新加入分散式系統的過程。
典型恢復流程如下:
-
重新啟動或修復元件
重新啟動主機、作業系統、程序、儲存裝置或網路連線。 -
載入穩定儲存體中的狀態
從 stable storage 讀取最近一次 checkpoint。
第 2 題
- [Security: 20%]
(1) Explain what is Adversarial Example Attacks? (3%)
(2) Explain what is Zero Trust Architecture (ZTA)? (3%)
(3) Explain what is Privacy Enhancing Technology (PET)? (3%)
(4) Explain what is Multi-Factor Authentication (MFA)? (3%)
(5) Please describe what is a Grayware? (3%)
(6) Please explain what the concept of end-to-end security for Instant Messenger apps is and how to achieve it. (5%)
登入後即可作答並保存紀錄。
第 2 題 Security
(1)Adversarial Example Attacks:對抗樣本攻擊
核心觀念
對抗樣本攻擊是針對機器學習模型輸入資料所進行的攻擊。攻擊者在原始輸入 上加入人眼不易察覺、但能改變模型判斷結果的微小擾動 ,使分類器產生錯誤預測。
令模型為 ,原始正確標籤為 ,非目標式攻擊可表示為:
其中 表示擾動大小, 表示合法輸入範圍。
若攻擊者指定模型必須誤判為目標類別 ,則稱為目標式攻擊:
解題方法
答題時應依序說明:
- 攻擊對象是模型的輸入與推論結果。
- 攻擊方式是在輸入中加入受限制的擾動。
- 攻擊目標是使模型誤判,且擾動通常維持在不易被察覺的範圍。
- 攻擊可分為:
- 非目標式攻擊:只要求模型判斷錯誤。
- 目標式攻擊:要求模型判斷成特定錯誤類別。
- 白箱攻擊:知道模型結構、參數或梯度。
- 黑箱攻擊:只能觀察輸入與輸出,透過查詢推測攻擊方向。
常見方法包括 FGSM 與 PGD。以 FGSM 為例,非目標式攻擊可依損失函數梯度決定擾動方向:
其中 控制攻擊強度。
解題技巧
最容易混淆的是:
- 對抗樣本攻擊:發生在模型推論階段,修改輸入。
- 資料投毒攻擊:發生在模型訓練階段,污染訓練資料。
- 對抗樣本不一定是惡意程式,也可以是圖片、聲音、文字或網路封包等輸入資料。
(2)Zero Trust Architecture:零信任架構(ZTA)
核心觀念
零信任架構的核心原則是:
Never trust, always verify:不因使用者位於內部網路就直接信任,每次存取都必須驗證。
傳統邊界防禦假設內部網路可信、外部網路不可信;零信任則假設攻擊者已經存在於網路中,因此不能只依據 IP、網段、VPN 或所在位置授予權限。
ZTA 的主要原則包括:
- 以身分為中心,而非以網路位置為中心。
- 每次存取都進行驗證與授權。
- 實施最小權限。
- 授予單次、限時、限範圍的存取權。
- 持續監控使用者、裝置、應用程式與資源狀態。
- 假設系統已遭入侵,並限制橫向移動。
- 保護的對象是資料、服務與運算資源,而不只是網路邊界。
解題方法
零信任存取流程可表示為:
其中:
- Policy Engine(PE):根據身分、角色、裝置安全狀態、地點、時間、行為風險與資源敏感度作成允許或拒絕決策。
- Policy Administrator(PA):依據決策建立、維持或撤銷使用者與資源之間的連線。
- Policy Enforcement Point(PEP):實際執行阻擋、放行、限權與中斷連線。
實作上通常搭配身分與存取管理(IAM)、多因素驗證、裝置狀態檢查、微分段、端點偵測、持續記錄與威脅情報。
解題技巧
看到 ZTA 時,應抓住三個關鍵詞:
- Never trust
- Always verify
- Least privilege
「已登入」不代表永久信任;權限會依風險與情境持續重新評估。
(3)Privacy Enhancing Technology:隱私增強技術(PET)
核心觀念
隱私增強技術是用來降低個人資料蒐集、揭露、連結與濫用風險,同時維持資料分析或服務功能的一組技術與方法。PET 不是單一產品,而是一整類「隱私保護設計」。
常見技術包括:
- 加密技術:傳輸加密、儲存加密、端到端加密。
- 同態加密:直接對密文計算,解密後得到計算結果。
- 安全多方計算:多方共同計算,彼此不直接揭露原始資料。
- 零知識證明:證明某項敘述為真,但不揭露秘密本身。
- 差分隱私:加入受控制的隨機雜訊,降低單一個體被辨識的機率。
- 聯邦學習:資料留在各端,只交換模型更新內容。
- 匿名化與假名化:降低資料與真實身分的直接連結。
- 可信執行環境(TEE):在受硬體保護的隔離區執行敏感運算。
差分隱私常用下列條件表示。對相鄰資料集 與事件集合 :
越小,隱私保護通常越強,但資料效用會下降; 表示極小的例外機率。
解題方法
答題可依資料生命週期說明:
- 蒐集階段:資料最小化,只蒐集必要欄位。
- 儲存階段:加密、分權、去識別化與存取控制。
- 處理階段:使用差分隱私、同態加密、安全多方計算或聯邦學習。
- 分享階段:限制資料可識別性與可連結性。
- 刪除階段:提供保存期限與安全刪除機制。
解題技巧
- 假名化不等於匿名化:只要仍能透過其他資料重新連回個人,就不能視為完全匿名。
- 單純加密可保護資料傳輸與儲存,但資料在解密後處理時仍會暴露;PET 的價值在於降低「使用資料時」的揭露程度。
- 聯邦學習並非自動安全,模型梯度仍可能洩漏資料,因此常搭配安全聚合與差分隱私。
(4)Multi-Factor Authentication:多因素驗證(MFA)
核心觀念
多因素驗證要求使用者提供至少兩種彼此獨立的身分驗證因素。主要因素包括:
- 所知之事(Knowledge):密碼、PIN、答案。
- 所持之物(Possession):手機、硬體安全金鑰、OTP 裝置、Passkey。
- 本身特徵(Inherence):指紋、臉部、虹膜、聲紋。
- 地點與行為可作為風險判斷訊號,但不應取代主要的獨立驗證因素。
例如:
- 密碼 + 驗證器 App 的一次性密碼。
- 密碼 + 硬體安全金鑰。
- 密碼 + 指紋。
- Passkey 搭配裝置解鎖機制。
兩組密碼仍屬同一類「所知之事」,不是真正的多因素驗證。