Hmac

SafeNet MobilePASS 如何生成密碼?

  • November 25, 2020

我們在工作中使用 MobilePASS,但最新版本的 android 客戶端似乎有問題,所以我想自己實現算法。

你可以在這裡下載客戶端來玩:http: //www.safenet-inc.com/support-downloads/mobilepass-download-page/

它看起來基於 HMAC-SHA256 OTP 算法。客戶端在創建複製到 Web 界面伺服器端的新令牌時向使用者提供密鑰。

我不確定的一點是別針。看起來這也包含在流程中,但我無法確定具體如何。

是否有擴展 HOTP 以包含引腳的標準方法?

所以我終於能夠解決這個問題。PIN 碼並不重要,僅用於在本地解密啟動碼(不知道為什麼我們的伺服器會在這種情況下要求它)。

啟動碼是種子的 base32 編碼,其中每五個字元充目前四個字元的校驗和。

然後將種子通過 KDF1 以生成共享密鑰。

然後將其用作 HOTP 算法的一部分。

你可以在這裡看到我在 python 中的重新實現:https ://github.com/datr/MobilePASSER/blob/python/mobilepass.py

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