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都能驗證通過)