如果您曾使用硬體權杖來核准數位銀行交易,或輕點 YubiKey 來產生登入代碼,那麼您就已經使用過基於 HMAC 的 一次性密碼 (HOTP) 技術。為了幫助您了解如何使用 HOTP 來保護您的帳號,我們將探討 HOTP 的運作原理、其優勢與限制,並將其與其他 OTP 方法進行比較。

什麼是 HOTP?

HOTP 代表基於 HMAC 的一次性密碼。它是一種 雙重身分驗證 (2FA) 方法,可在需要時產生單次使用的登入代碼。

HMAC(即基於雜湊的訊息驗證碼)是一種密碼學技術,它使用密鑰和雜湊函數來產生安全且防篡改的值。HOTP 將 HMAC 與計數器結合套用,以確保每個驗證代碼都是唯一的,且只能使用一次。

由於 HOTP 代碼在被使用或被取代之前一直保持有效,因此非常適合遠端工作以及其他無法進行可靠時間同步或無法維持持續連線的環境。

HOTP 的運作原理為何?

HOTP 驗證基於兩個共享元件:一個密鑰和一個計數器。使用者的裝置和驗證伺服器都會儲存這些值,並使用它們在同一時間獨立產生相同的一次性代碼。

設定:設定硬體權杖時,裝置與應用程式伺服器之間會共享一個密鑰,並安全地儲存在雙方。

產生代碼:裝置使用名為 HMAC 的密碼學雜湊函數,將密鑰與當前的計數器值相結合。結果是一個短暫且無法預測的一次性密碼。

驗證:當您輸入 HOTP 代碼時,伺服器會使用其自身的密鑰與計數器複本進行相同的計算。如果代碼相符,系統就會授予存取權限。

HOTP 計數器系統解析

HOTP 依賴於您的裝置與驗證伺服器之間共享的獨特計數器系統。每次您產生新代碼時,計數器就會遞增。成功登入後,伺服器也會更新其計數器。只要裝置和伺服器的計數器保持同步,代碼就會相符並授予您存取權限。

您可以將 HOTP 想像成一本附有編號的兌換券,您可以將其撕下並按順序使用。使用過的兌換券無法重複使用,您必須使用下一張。HOTP 計數器系統的運作方式也十分類似。

HOTP 驗證與其他 OTP 的比較

HOTP 與 OTP 的比較

一次性密碼 (OTP) 是我們用於雙重驗證 (2FA) 的各種單次使用密碼的廣義統稱。HOTP 則是一種特定類型的 OTP,它依賴基於計數器的系統來產生代碼。

HOTP 與 TOTP 的比較

基於時間的一次性密碼 (TOTP) 每 30 到 60 秒會自動產生一個新代碼。TOTP 最常見的範例是由 驗證 app 產生的代碼。相比之下,HOTP 僅在收到請求時才使用計數器(而非計時器)來產生新代碼。

這種差異會影響每種 OTP 方法的安全性。TOTP 快速過期的特性讓攻擊者僅有極短暫的可乘之機。相反地,HOTP 代碼可能在數天甚至數週內都保持有效。

然而,在裝置時鐘不準確的情況下,HOTP 會更可靠。例如, 位於網路連線微弱之偏遠位置的設備。

HOTP 與簡訊和電子郵件代碼的比較

透過 簡訊 和電子郵件傳送的 OTP 代碼容易遭到攔截,因為這些代碼必須在行動和網際網路之間進行傳輸。HOTP 則是在裝置上產生代碼,因此更為安全,且即使在網路中斷時,也能提供穩定的存取。

HOTP 有哪些優點和限制?

HOTP 驗證的優點

使用 HOTP 作為首選 OTP 方法有以下幾項優點:

  • 支援離線運作:HOTP 可以在離線狀態下運作,非常適合網路存取受限的位置。
  • 無時間壓力:HOTP 代碼不會自動過期,因此您可以從容地輸入代碼。
  • 公認演算法:HOTP 由 RFC 4226(新視窗) 所定義,可確保在不同軟體提供商和各家廠商的硬體權杖之間具備相容性。
  • 依賴性更低:HOTP 基於計數器的系統不依賴準確的時鐘或持續的連線,這使其在某些環境中更具可預測性。

HOTP 驗證的限制

如同所有技術一樣,HOTP 也有一些重要的考量因素:

  • 無限期有效:如果沒有產生新的代碼,HOTP 代碼可以無限期保持有效。這給了攻擊者更多時間來利用遭竊的代碼。
  • 計數器同步:如果您在產生代碼後未加以使用,您的裝置和伺服器計數器可能會失去同步,導致驗證失敗。
  • 手動管理:由於代碼不會自動過期,您必須記得在每次使用後產生新的代碼。

邁向更強大的密碼安全性

雖然 HOTP 可能無法提供自動過期的安全優勢或簡訊代碼的便利性,但其基於計數器的系統提供了獨特的優點。這是一個經過驗證且具備可靠離線存取能力的雙重驗證系統,而且沒有時間壓力,這可能更符合某些人的偏好。
若要在一個已加密的位置輕鬆管理您的密碼和雙重驗證代碼,請考慮使用 Proton Pass。我們安全且整合了 雙重驗證驗證器 的密碼管理程式,能以完整的 端對端加密 保護您所有的憑證和雙重驗證代碼。讓您的數位生活兼具安全與便利,從未如此簡單。