如果要自己寫 TOTP 的幾個要看的東西...

整理下來:

有玩過 HMAC 的人,讀這些文件應該不難...

TOTP 在預設的情況下,其實就是 HMAC-SHA-1 後取後面 32bits,然後轉成數字取 100000 的餘數,而 TOTP 文件是架構在 HOTP 的定義上,把時間切齊 (預設 30secs) 變成整數丟進去攪和,然後特地交代要處理 2038 年超過 Int32 的 case XDDD

最後 Google 那份文件是要輸出 QR code 讓手機可以讀的方式,建議不要用網路服務產生 QR code (因為有 secret key 啊),寧可自己抓 library 建一個用...

另外 Google Authenticator 一堆東西都只能用預設值 (Currently, the XXX is ignored by the Google Authenticator implementations.),所以也沒什麼好選的,就拿預設值吧... :o

Server side 的話,至少我在 CPAN 上面看到 Authen-OATH 可以用了,用起來也很簡單 :o

This entry was posted in Computer, Murmuring, Network, Programming, Security, Software and tagged , , , , , , , . Bookmark the permalink.

One Response to 如果要自己寫 TOTP 的幾個要看的東西...

  1. In2 says:

    話說 iOS 上有 http://itunes.apple.com/tw/app/oath-token/id364017137?mt=8 可以用 (secret 至少要 8 bytes), android 上有 https://play.google.com/store/apps/details?id=uk.co.bitethebullet.android.token&hl=en 可以用 (secret 至少要 16 bytes) , server side 用 Authen-OATH , 還滿完美的 :D

Leave a Reply

Your email address will not be published. Required fields are marked *