什麼是基於時間的一次性密碼,您應該使用一個嗎?

什麼是基於時間的一次性密碼,您應該使用一個嗎?

基於時間的一次性密碼 (TOTP) 是標準的一次性密碼計算機算法。他們擴展了基於散列的消息認證代碼(HMAC)一次性密碼(HMAC-based One-time Password,簡稱HOTP)。

TOTP 可用於替代傳統的、壽命更長的雙因素身份驗證解決方案,或作為附加因素與傳統的、壽命更長的雙因素身份驗證解決方案一起使用,例如 SMS 消息或容易被盜或遺忘的物理硬件令牌。那麼究竟什麼是基於時間的一次性密碼呢?它們是如何工作的?

什麼是 TOTP?

TOTP 是一種臨時的、一次性的密碼,由一種用於用戶身份驗證的算法根據當前時間生成。它是基於雙因素身份驗證 (2FA) 或多因素身份驗證 (MFA) 的帳戶安全附加層。這意味著在您輸入用戶名和密碼後,您需要輸入一個基於時間的短期特定代碼。

TOTP 之所以如此命名,是因為它使用標準算法根據格林威治標準時間 (GMT) 計算出唯一的數字一次性密碼。也就是說,密碼是從該時間段的當前時間生成的。這些代碼也是根據用戶在身份驗證服務器註冊時通過二維碼或純文本提供的共享密碼或秘密種子密碼生成的。

Screengrab 上的二維碼

此密碼顯示給用戶,用戶需要在指定的時間內使用它,然後過期。用戶在限定時間內將一次性密碼、用戶名和常規密碼輸入登錄表單。過期後,代碼不再有效,不能在登錄表單上使用。

TOTP 包括一串動態數字代碼,通常在四到六位數字之間,每 30 到 60 秒更改一次。Internet 工程任務組 (IETF) 發布了 TOTP,在RFC 6238中進行了描述,並使用標準算法來獲取一次性密碼。

開放認證倡議(OATH) 的成員是 TOTP 發明背後的大腦。它是根據專利獨家銷售的,並且不同的身份驗證供應商已經按照標準化將其推向市場。目前被雲應用提供商廣泛使用。它們易於使用且可離線使用,這使得它們非常適合在飛機上或沒有網絡覆蓋時使用。

TOTP 如何運作?

鎖定編程筆記本電腦屏幕

TOTP 作為您應用程序的第二個授權因素,為您的帳戶提供額外的安全層,因為您需要在登錄前提供一次性數字密碼。它們通常被稱為“軟件令牌”、“軟令牌” ”和“基於應用程序的身份驗證”,並在Google AuthenticatorAuthy等身份驗證應用程序中找到使用。

它的工作方式是,在您輸入帳戶用戶名和密碼後,系統會提示您將有效的 TOTP 代碼添加到另一個登錄界面,以證明您擁有該帳戶。

在某些型號中,TOTP 通過 SMS 文本消息在您的智能手機上發送給您。您還可以通過掃描 QR 圖像從驗證器智能手機應用程序中獲取代碼。這種方法使用最廣泛,代碼通常在大約 30 或 60 秒後過期。但是,某些 TOTP 可以持續 120 或 240 秒。

密碼是在您的一端創建的,而不是服務器使用身份驗證器應用程序創建的。因此,您始終可以訪問您的 TOTP,這樣服務器就不需要在您登錄時發送 SMS。

您還可以通過其他方法獲得 TOTP:

  • 硬件安全令牌。
  • 來自服務器的電子郵件。
  • 來自服務器的語音消息。

因為 TOTP 是基於時間的並且會在幾秒鐘內過期,所以黑客沒有足夠的時間來預測您的密碼。這樣,它們為較弱的用戶名和密碼身份驗證系統提供了額外的安全性。

從解鎖的掛鎖中竊取登錄憑證

例如,您想登錄到使用 TOTP 的工作站。您首先輸入帳戶的用戶名和密碼,系統會提示您輸入 TOTP。然後,您可以從硬件令牌或 QR 圖像中讀取它,並將其輸入 TOTP 登錄字段。系統驗證密碼後,它會將您登錄到您的帳戶。

生成密碼的 TOTP 算法需要您輸入設備的時間和您的秘密種子或密鑰。您不需要互聯網連接來生成和驗證 TOTP,這就是身份驗證應用程序可以離線工作的原因。對於想要在飛機旅行期間或在網絡連接不可用的偏遠地區使用其帳戶並需要身份驗證的用戶來說,TOTP 是必需的。

TOTP如何認證?

以下過程提供了有關 TOTP 身份驗證過程如何工作的簡單指南。

當用戶想要訪問云網絡應用程序等應用程序時,系統會提示他們在輸入用戶名和密碼後輸入 TOTP。他們要求啟用 2FA,TOTP 令牌使用 TOTP 算法生成 OTP。

用戶在請求頁面上輸入令牌,安全系統使用當前時間和共享秘密或密鑰的相同組合配置其 TOTP。系統比較兩個密碼;如果它們匹配,則用戶通過身份驗證並被授予訪問權限。請務必注意,大多數 TOTP 將使用二維碼和圖像進行身份驗證。

TOTP 與基於 HMAC 的一次性密碼

帶有鎖定符號的密碼字段
圖片來源:Christiaan Colen / Visualhunt.com

基於 HMAC 的一次性密碼提供了構建 TOTP 的框架。TOTP 和 HOTP 都有相似之處,因為這兩個系統都使用密鑰作為生成密碼的輸入之一。然而,TOTP 使用當前時間作為另一個輸入,而 HOTP 使用計數器。

此外,在安全性方面,TOTP 比 HOTP 更安全,因為生成的密碼會在 30 到 60 秒後過期,之後會生成新的密碼。在 HOTP 中,密碼在您使用之前一直有效。出於這個原因,許多黑客可以訪問 HOTP 並使用它們來進行成功的網絡攻擊。儘管某些身份驗證服務仍使用 HOTP,但大多數流行的身份驗證器應用程序都需要 TOTP。

使用 TOTP 有什麼好處?

TOTP 是有益的,因為它們為您提供了額外的安全層。單獨的用戶名-密碼系統很弱,並且經常受到中間人攻擊。然而,使用基於 TOTP 的 2FA/MFA 系統,黑客即使竊取了您的傳統密碼,也沒有足夠的時間訪問您的 TOTP,因此他們幾乎沒有機會破解您的帳戶。

TOTP 身份驗證提供額外的安全性

網絡犯罪分子可以輕鬆訪問您的用戶名和密碼並破解您的帳戶。但是,使用基於 TOTP 的 2FA/MFA 系統,您可以獲得更安全的帳戶,因為 TOTP 是有時間限制的,並且會在幾秒鐘內過期。實施 TOTP 顯然是值得的。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *