有人知道 永豐DisplayCard 的動態密碼驗證原理嗎??

我看到永豐銀行的DisplayCard 的動態密碼圖式如下:
https://www.mma.com.tw/MMA7txt/promote/sms/help01.html

突然有個疑問
相類似這種轉帳或是網路刷卡交易
比較能理解的就是銀行系統端發出動態密碼的簡訊到客戶手機上這種原理
因為銀行電腦端當然知道發出簡訊的動態密碼為何
客戶手機收到密碼後憑這組密碼則可繼續完成驗證交易

問題是永豐銀行這種有數字螢幕的DisplayCard,卡片螢幕上產上的動態密碼
銀行電腦端如何知道這組密碼是正確而不是亂掰的?
總不可能卡片上螢幕的動態號碼是來至銀行端無線模式傳輸/接收的吧?
卡片螢幕上的動態密碼應該是自體隨機產生的吧?

如果是卡片自己隨機產生這組動態密碼,那銀行電腦端如何知道這組密碼是正確的?
是否驗證方式是採用類似某種演算法驗證這組密碼是否合理
ex:就像身分證編號亂掰一組不一定會過,有一個基本的演算法產生

??
2012-02-11 10:48 發佈
六、七年前玩的線上遊戲就有這玩意了
第一次使用應該會要你輸入一次動態碼以及卡片號碼
這樣主機資料庫才能將你動態碼跟卡片作對應
之後主機端動態碼變化就會跟你的卡片同步了

至於隨機碼怎麼出來的
是看它用怎樣的演算法
這個才是關鍵
不然有駭客監控你的手機得到你帳號密碼以及"當次交易動態碼"資訊
如果演算法被破解而得知未來動態碼的變化順序
駭客就可以用你帳密來做轉帳動作了
你可以搜尋OTP(One-time password)
大致上應該可以找到線索

原理的話,大致上就是晶片裡有個RTC(簡單的講就是時鐘 XD),當第一次校正確定晶片裡的時鐘跟伺服器的時間可以用透過"某個方式"彼此換算達到認証的目的。
所以當你從動態密碼卡拿到一組密碼,使用他的時候配合你的帳號,送到伺服器之後。伺服器會從你的帳號透過"某個方式"算出你是不是可以通過認証。

至於這個"某種方式",會涉及一些數學的名詞。
所以就不贅述了 :)
永豐DisplayCard是利用HOTP演算法原理,卡片內建電池+運算晶片,內部預載OTP key值和一個計數器counter值,套入HOTP演算法,計算出一組6位數字,就是你在DisplayCard顯示幕上看到的動態密碼了

每按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
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?