近年來,針對金融機構和其他組織的網路釣魚攻擊變得越來越複雜。“即時網路釣魚”一種名為「網路釣魚」的技術已成為一種嚴重威脅。這種攻擊甚至會使一次性密碼(OTP)失效,而一次性密碼傳統上被認為是防範網路釣魚攻擊的有效方法,這迫使金融機構徹底重新設計其身份驗證基礎設施。

本文闡述了即時網路釣魚的技術架構以及應對即時網路釣魚的技術「密碼」的本質優勢,並提出了未來需要考慮的政策問題。


什麼是即時網路釣魚?

即時釣魚是一種攻擊手段,攻擊者充當用戶和正規服務之間的“中間人”,利用用戶輸入的認證資訊(用戶名、密碼、4 至 6 位的一次性密碼 (OTP) 等)進行通信中繼,並立即冒充用戶。具體來說,即使 OTP 是透過簡訊或應用程式發送的,只要使用者在釣魚網站上輸入,攻擊者就能將其轉發到正規服務的網站,並以使用者身分登入。

這種類型的攻擊中間人攻擊(MitM)以外りも 中間人攻擊(AitM) 雅 驗證者冒充 它也被稱為網路釣魚,其特點是它在技術上在「看似真實的」網路釣魚網站和真正的身份驗證伺服器之間進行中繼。

中繼伺服器的完美欺騙

現代即時網路釣魚攻擊使用中繼伺服器透過複雜的方案欺騙用戶,例如:

  • 完成網站複製:即時讀取真實網站(例如金融機構網站)的原始程式碼,並產生一個視覺上無法區分的虛假網站(請注意,也存在這樣的情況:當調用測試程式時,虛假網站會偽裝成返回一個完全不同的網站,從而逃避測試)。
  • 取得正確的 SSL 憑證:提供看似合法的 HTTPS 連接
  • 動態內容支持:登入後的個人資訊顯示也完全再現

中間人攻擊 (AitM) 的工作原理

AitM 攻擊遵循以下技術流程:

  • 中繼伺服器安裝:攻擊者在真實網站和使用者之間放置中繼伺服器。
  • 動態響應生成:真實網站伺服器的回應被修改並發送給用戶
  • 憑證收集:即時收集ID、密碼、OTP及其他個人資訊
  • 執行合法訪問:使用收集的資訊立即訪問真正的網站

在此次攻擊中,攻擊者同時扮演兩個角色:

  • 對於用戶:充當真正的銀行伺服器(驗證者模擬)
  • 對於銀行:像真實使用者一樣行動

這種雙重身分冒充完全使網站(驗證伺服器)和使用者之間基於傳統「共用金鑰」的身份驗證方法(密碼、OTP)失效。圖 1 展示了這種關係。

(圖1)AitM示意圖

例:

  1. 使用者輸入ID、密碼和OTP
  2. 虛假網站將該資訊轉發到真正的身份驗證伺服器
  3. 身份驗證成功,會話被劫持

OTP 為何失效

OTP(一次性密碼)難以重複使用的程式碼因此,傳統上它被認為是「安全的第二因素」。然而,在即時網路釣魚等「中繼攻擊」中,如果攻擊者可以代表真實使用者使用它,即使只有一次,攻擊也會成功。這使得它的「可拋棄」性失效。

此外,傳統的基於 OTP 的多因素身份驗證 (MFA)挑戰-回應完整性驗證(見下文)或 Web驗證網站地址(網域名稱)因為它沒有用戶無法知道他們的輸入將會被發送給誰這就是為什麼 OTP 本質上容易受到中繼攻擊的原因。


什麼是密鑰?

Passkey 是一種基於 FIDO2/WebAuthn 標準的身份驗證技術。驗證您正在造訪的網站的地址(網域)並發送使用者身份驗證所需的資訊。1其主要特性如圖2所示。

(圖2)密鑰特徵

特點說明
非對稱密鑰加密身份驗證透過使用公鑰進行簽名驗證來完成。私鑰不會發送給接收者。
原點綁定身份驗證請求與特定網域綁定,因此難以中繼或欺騙(來源檢查和 RPID 檢查 - 見下文)。
透過生物辨識或 PIN 進行本地身份驗證使用者身份驗證在裝置內部完成,無需向外部傳輸容易被複製的身份驗證訊息,例如生物特徵資訊或 PIN。
防網絡釣魚不要簽署來自虛假網站的請求。

換句話說,如果使用者意外造訪了虛假網站,則身分驗證器將不會向該網站傳回真實網站的簽名,因此攻擊者將無法取得任何用於身分驗證的資訊。這是與 OTP 的一個關鍵區別。

Passkey 為何能抵禦網路釣魚?

密鑰(FIDO2/WebAuthn)中繼網路釣魚 (AitM) 和網域欺騙反對具有結構抗性這是因為執行了三項檢查:

(1)原產地驗證

  • 用戶端(瀏覽器)發出身份驗證請求網站來源(網站網域/網址)自動偵測
  • 這個起源是https:// + ドメイン名 + ポート番号 它包括
  • 網站向瀏覽器發送的金鑰認證請求包含網站的網域名稱(RPID,請參閱下文),但如果網域與來源不同(例如,釣魚網站),瀏覽器拒絕身份驗證請求。並且不進行任何身份驗證過程(子網域等例外)
  • 此外,金鑰認證結果中包含來源並傳送到 Web 伺服器,因此 Web 伺服器也可以驗證金鑰認證是否在正確的網站上執行。

(2)依賴方身分(RPID)檢查

  • RPID 是伺服器註冊公鑰時指定的網域標識符
  • 驗證器(保存密鑰的設備)搜尋與收到的 RPID 關聯的金鑰是否儲存在您的帳戶中
  • 如果RPID不同,則找不到私鑰,也不會回傳簽章。

(3)挑戰-響應

  • 使用金鑰進行身份驗證時,Web 伺服器會傳送稱為「質詢」的隨機數據
  • 認證器使用其私鑰對資料(包括質詢)進行簽名,並透過瀏覽器將其作為密碼認證回應傳回 Web 伺服器。
  • Web 伺服器驗證回應中的質詢是否由該會話的 Web 伺服器發出。
  • 如果攻擊者創建任意挑戰或該挑戰之前已被使用過,則 Web 伺服器將拒絕該挑戰。

為什麼我們需要這三個?

圖 3 總結了這種關係。

(圖3)抵禦網路釣魚的三個必要要素

項目角色角色
原產地檢查瀏覽器運行的網站保證合法性. 拒絕虛假網站
RPID 檢查如果驗證器密鑰註冊於哪個域名檢查並防止濫用
挑戰-回應確保在目前會話中執行金鑰認證,防止重複使用認證結果

只有一個是不夠的, 只有當所有這些要素都到位時,才能實現“完全抵禦網路釣魚”します。


但密鑰並非萬能藥

~利用註冊流程進行網路釣魚攻擊的風險~

另一方面,密鑰也不是萬能的。與傳統的 OTP 和密碼相比,Passkey 更能抵禦網路釣魚。它作為一種顯著提高用戶身份驗證安全性的手段而受到高度評價。

然而,抵禦針對「憑證註冊」的攻擊取決於使用者的判斷和使用者體驗設計,攻擊者強迫使用者「註冊」他們的金鑰存在新的風險。


可能的攻擊場景:攻擊者「偽造」金鑰並註冊

攻擊流程範例

  1. 攻擊者創建了一個釣魚網站(https://bank-login.example.org)
  2. 提示使用者「您的身分驗證已過期,請重新註冊」。
  3. 使用者使用傳統的身份驗證方法(密碼或 OTP)在釣魚網站上進行身份驗證,並開始金鑰註冊流程
  4. 實際上,攻擊者的身份驗證器(裝置)已經註冊。
  5. 攻擊者的金鑰已在真實網站上註冊
  6. 然後攻擊者可以使用該金鑰登入真正的網站。

從技術上講,這是“合法註冊”

  • 在中繼攻擊中,WebAuthn 註冊(navigator.credentials.create())可以在攻​​擊者的環境中執行,因此攻擊者可以隨意修改其內容。因此,從 Web 伺服器的角度來看,註冊本身無法與合法註冊區分開來。
  • 在中繼攻擊中,即使受害者的瀏覽器創建了包含釣魚網站域名作為來源的密鑰,攻擊者也可以簡單地丟棄結果並在攻擊者的環境中重新生成包含合法域名的密鑰,因此在受害者的瀏覽器中檢查來源是無效的。

措施

圖 4 總結了一些有代表性的可能措施,但並不詳盡。

圖4 針對欺騙的可能措施

措施內容
加強註冊前的身份驗證步驟透過要求使用公共個人身份驗證或遠端生物識別技術(如果可能)進行身份驗證,或使用先前設定的密碼重新進行身份驗證來防止這種情況。
異常註冊檢測及通知新增密碼時立即通知和確認(例如登入記錄通知)

可能的攻擊場景:密鑰認證後的會話劫持

近年來,有報導稱,有人利用統稱為「資訊竊取程式」的惡意軟體竊取密碼和其他資訊。這些惡意軟體還可以獲得會話 Cookie。金鑰是一種保護措施,在使用者身份驗證後建立會話之前有效。會話建立後,金鑰不再提供保護。

措施

作為針對會話劫持的對策,使用在裝置的安全區域中產生的非對稱金鑰。設備綁定會話憑證 (DBSC) 此外,在此背景下,持續訪問評估 (持續訪問評估)也開始受到關注。

持續存取評估是一種超越傳統一次性身份驗證的安全方法,它持續即時監控和評估使用者的存取權限。即使在使用者登入後,它也會持續檢查其位置、裝置狀態、行為模式、風險等級等。如果偵測到異常活動或高風險情況,它會自動要求額外身份驗證,並限製或阻止存取。

例如,如果出現來自非正常國家/地區的存取或資料下載異常,您可以立即回應。我們摒棄了「一旦認證就安全」的前提,透過持續驗證來加強安全性。


可能的攻擊場景:針對剩餘的密碼認證漏洞

為了充分發揮金鑰的防釣魚功能,必須廢除不具備防釣魚功能的認證方式,轉而使用金鑰等具備防釣魚功能的認證方式。即使引入金鑰,如果仍保留不具備防釣魚功能的傳統用戶認證方式,用戶仍然會成為釣魚攻擊的目標。

措施

相應的對策是消除這些傳統的使用者身份驗證方法並僅使用密碼。
然而,必須注意的是,由於各種因素,仍有使用者難以使用金鑰。在這種情況下,強制使用者使用金鑰可能會成為他們避免使用該服務的原因。因此,在保留現有身份驗證方法的同時,可以採取替代措施,例如使用人工智慧持續監控該會話作為高風險會話,並在檢測到異常時停止交易。另一種選擇是,在無法使用金鑰的環境中,提供一個選項,允許在一定時間內(例如 15 分鐘)使用密碼登錄,或根據身份驗證強度設定交易限制和權限(例如唯讀)。從這個角度來看,上述持續訪問評估作為一項重要技術正備受關注。


結論:如果密鑰沒有經過“設計”,它就會被破解。

密鑰是身份驗證過程極為安全然而,如果註冊流程被利用,攻擊者可以註冊一個強密鑰。但這樣做可能會適得其反。

因此,當金融機構和政府機構實施金鑰時:

  • 針對註冊流程的安全設計,而不僅僅是身份驗證
  • 異常檢測與復原流程設計
  • 基於釣魚的UX設計與警告設計

因此,在採用一個系統時,在設計時必須考慮這些因素。


政策影響:為什麼現在需要密鑰

1. 依賴 OTP 的法規和指南的局限性

在許多國家和地區,以 OTP 作為第二因素的多因素身份驗證 (MFA) 仍然在 SCA(安全客戶身份驗證)要求中指定。然而,如上所述,使用 OTP 的多因素身份驗證並不能保證抵禦網路釣魚基於此前提的安全法規可能已無法跟上攻擊者的技術發展。與其指定“雙重身份驗證”,不如思考應該應對哪些“威脅”。事實上,ISO/IEC 2 實體身分驗證保證架構等都值得關注。2從那時起就一直如此。

2. 需要解決註冊階段的威脅

另一方面,需要牢記的是,金鑰加強了身份驗證方法使用階段,因此也有必要應對身份驗證方法註冊階段的威脅。

3. 縱深防禦部分

雖然金鑰是一種非常有效的使用者身份驗證手段,但在使用者身份驗證成功後,它對於會話劫持無效。因此,有必要將其與設備會話綁定和異常交易檢測結合使用。

4.從消費者保護的角度促進傳播

密鑰不需要使用者俱備安全知識或小心謹慎,在終端側透明地確保安全。不依賴安全教育的可持續措施這與消費者保護政策高度相容。


從貨幣政策的角度來看,單純爭論是否引進技術是不夠的;什麼算是“安全用戶身份驗證”標準本身也需要更新。在未來系統的設計中,使金鑰等防網釣魚措施成為“常態”這對於確保金融消費者的安全和信任至關重要。3


[致謝]

在撰寫本文時,出版商「關於密鑰」他也是美國OpenID基金會的理事。小岩井浩介先生(X: @kocko野村綜合研究所研究員,日本資訊處理學會資訊標準研究會SC27/WG5分委員會秘書,FIDO聯盟與ISO/IEC JTC 1/SC 27/WG 5的聯絡官。古川英明先生“軟體設計 2025 年 1 月刊他一直在積極地發表關於密碼的文章,例如在雜誌「特輯1:認證技術的最前沿:無密碼認證「密碼」的機制和實現」的前半部分。伊藤亮(X: @ritou我們向那些給予我們如此合作的人表示誠摯的謝意。

註腳

  1. 此外,我們不會將「共享秘密」傳送到存取目的地。
  2. DIS階段
  3. 例如,美國政府的數位身分指南 NIST SP800-63-4 2pd 要求提供個人身分驗證保證等級為 AAL2 或更高的防網路釣魚身分驗證方法(使用者不需要使用這些方法,但必須為他們提供該選項)。