Authentication

是否可以個性化 eToken PASS?

  • February 20, 2018

我想知道是否可以使用以下方法將 eToken 個性化為 PASS:

在伺服器端,當物理設備 eToken 屬於 Bob 先生時,我們將其配置為 PASS。

因此,當他使用他秘密生成的號碼登錄時,我們知道是 Bob 先生。

我所說的“個性化”eToken PASS 的意思是,通過將其與使用者帳戶 ID 相關聯,可以確定地檢測到使用者帳戶 ID 與其綁定。

eToken PASS是一種小型設備,當按下按鈕時,它會在 LCD 顯示屏上顯示一次性密碼。此數字取決於設備唯一的內部鍵,以及按鍵的時間或索引,具體取決於模式。在計數器模式下,電池的續航時間明顯更長。該設備有一個序列號,有時在背面列印和/或條碼。通常有用於設置的觸點(操作模式的定義、按鍵、時間設置),或多或少隱藏在貼紙後面。

從密碼學的角度來看,OTP 是使用設備密鑰的某個時間單位(例如,以分鐘或半分鐘為單位)或計數器的 MAC。

LCD 上顯示的數字可以通過伺服器上的軟體進行驗證,假設知道設備的序列號和唯一密鑰。該軟體可以容忍(和/或跟踪)單個令牌的時鐘或其計數器的狀態的漂移,以避免重複使用先前的 OTP,並且(僅在時鐘模式下)獲得一個長過去。有時它會跟踪失敗的嘗試,並限制連續失敗的嘗試次數(可能在一個時間段內)。有時,OTP 驗證由單獨的設備/服務執行。

實際上,在某種程度上,序列號在註冊階段與帳戶 ID 配對。我經常看到發行人這樣做,以便最終使用者收到他/她可以使用的令牌。通常,設備的密鑰是多樣化的,即使用密鑰導出函式從主密鑰和設備序列號導出,該函式方便地用單個主密鑰替換設備密鑰數據庫。


我理解的問題是:註冊後,令牌顯示的OTP是否可以用來安全地辨識使用者?答案是否定的,僅針對 OTP;但是的,如果結合其他一些資訊可以獲取令牌的序列號,包括使用者帳戶 ID。重要的是,額外的資訊是靜態的,既不需要保密也不需要信任。

系統需要知道令牌的序列號才能驗證 OTP。序列號可以由使用者從令牌背面的貼紙中鍵入,或由伺服器從使用者的帳戶 ID 中找到。驗證還需要設備的密鑰;它通常與設備的序列號一起儲存,或者使用 KDF 從序列號和主密鑰重新計算。

引用自:https://crypto.stackexchange.com/questions/55781