越來越多的公司系統啟用了兩步登錄機制。Google也啟用了。其中有一個選項,是可以下載Google 驗證APP,在準備下載這個APP時,我用小米提供的掃一掃功能掃了一下,居然自動添加到「小米安全令牌」的APP裡面去了。成了一個Google帳號!並且居然可以成功的通過Google驗證!這是不是說明,業界有通用的基於時間的驗證碼生成規範?我們小公司,是不是也可以藉助這個規範,使用類似小米這樣的公司提供的「安全碼」APP,實現兩步驗證?


首先Google Authenticator客戶端提供開源版本的實現的 google/google-authenticator google/google-authenticator-android

第二個,如同別的回答種提到的,實現是標準實現,HOTP: An HMAC-Based One-Time Password Algorithm 和 TOTP: Time-based One-time Password Algorithm

小公司自然也可以的,對服務端來說,只需要調用現成的SDK,提供對應的二維碼界面和在登陸時添加對應的提交支持即可以實現兩部認證啟用了,比如 Java 版本 wstrange/GoogleAuth PHP 版本 PHPGangsta/GoogleAuthenticator


是的。之前在設計的時候就想到一定要兼容。這樣你的手機裡面就不需要那麼多令牌app了。

另外業界驗證過的方法不用太擔心安全問題。 小米令牌重做的目的是因為google的太丑。


TOTP(基於時間的一次性密碼演算法)是支持時間作為動態因素基於HMAC一次性密碼演算法的擴展。

維基百科:http://en.wikipedia.org/wiki/Time-based_One-time_Password_Algorithm

RFC 6238:http://tools.ietf.org/html/rfc6238
谷歌這東西是開源的
令牌的演算法是開源的,關鍵信息是Key。

在此基礎上,谷歌、微軟、小米、任何採用同一演算法的令牌,都可以通用。。。


微軟的也兼容,其實就是開源的,所以,如果你想要的話,自己實現一個都可以
你說的令牌,該不會就是軟體版本的RSA令牌吧?


推薦閱讀:
相关文章