我看到永豐銀行的DisplayCard 的動態密碼圖式如下:
https://www.mma.com.tw/MMA7txt/promote/sms/help01.html
突然有個疑問
相類似這種轉帳或是網路刷卡交易
比較能理解的就是銀行系統端發出動態密碼的簡訊到客戶手機上這種原理
因為銀行電腦端當然知道發出簡訊的動態密碼為何
客戶手機收到密碼後憑這組密碼則可繼續完成驗證交易
問題是永豐銀行這種有數字螢幕的DisplayCard,卡片螢幕上產上的動態密碼
銀行電腦端如何知道這組密碼是正確而不是亂掰的?
總不可能卡片上螢幕的動態號碼是來至銀行端無線模式傳輸/接收的吧?
卡片螢幕上的動態密碼應該是自體隨機產生的吧?
如果是卡片自己隨機產生這組動態密碼,那銀行電腦端如何知道這組密碼是正確的?
是否驗證方式是採用類似某種演算法驗證這組密碼是否合理
ex:就像身分證編號亂掰一組不一定會過,有一個基本的演算法產生
??
每按1次,產出OTP同時,內部counter值就會累加1,銀行端server則必須記載每張卡片的OTP key值以及counter值,用一樣的演算法如此才能算出一樣的密碼,以作為驗證依據
HOTP: An HMAC-Based OTP Algorithm (RFC 4226)
另一種OTP載具,很像鑰匙圈的東西叫Token,大多利用TOTP原理,其演算法也大致和HOTP相同,它是將時間換算成一個整數值,此值相當於HOTP的counter,因此server端只要記載OTP key值,不需要記錄counter值,因為用時間可以算得出來
TOTP - Time-based One-time Password Algorithm (RFC 6238)
Open Authentication(OATH)漸漸成為業界動態密碼與驗證方式的標準
http://www.openauthentication.org/
有解答你的疑惑嗎?
5/24補充
維基百科上的HOTP
維基百科上的Time-based One-time Password Algorithm
內文搜尋

X