One time password,OTP,TOTP
One time password
- A one-time password (OTP) is a password that is valid for only one login session or transaction.
- 動態密碼
One time password system
- Token generates a sequence of passwords from a seed
- Server verifies the passwords – each can be used one time
Token/Delivery method
- USB like or smart card like
- Mobile App
- SMS
Application
- 個人卡+密碼產生器
- 個人化的密碼產生器
- MOTP:將OTP技術直接安裝在一般行動裝置(手機或PDA)上
Benifits
- 解決使用者在密碼的記憶與保存上的困難性。
- 由於密碼只能使用一次,而且因為是動態產生,所以不可預測,也只有一次的使用有效性,可以大為提升使用的安全程度。
Case
Google Authenticator
- http://totp-authentication-demo.herokuapp.com/
- mobile app
- Time-based One-time Password Algorithm
- 不需要與主機連線(驗證Server、第三方server)
- 不需要網路,可離線使用
Hinet
動態密碼鎖
- 免安裝、攜帶方便
- 每60秒更新密碼
簡訊密碼鎖
- 隨機密碼,一次有效
- 具防範側錄機制
- 一次性密碼,方便在公共區域或不信任區域使用一次性密碼登入,比較像是暫時密碼
- 登入許可中,看起來是可以設定使用OPT,但是我沒用過,而且這功能似乎有一些問題,查一下就可以看到一堆用戶的抱怨。
- SMS寄送OTP
- Mobile App 產生OTP
- 先用帳號密碼登入後,再產生OTP
asus Webstorage
- mobile app
- 離線使用
- 30s
- 特別一提,需要輸入兩次OTP,看起來應該是採用TOTP
Time-based One-time Password Algorithm
- 參考RFC 6238
- Google、Amazon已經實作
Risks
- 時間誤差 / 時區問題
- 設定OTP有效的時間區間(EX:目前區間+-2,也就是這五個區間OTP都能驗證通過)