銀行動態令牌工作原理

2021-07-25 03:01:58 字數 2038 閱讀 5088

相信您在辦理銀行卡的時候最關心就是安全的問題,這時銀行會給您乙個令牌,俗稱動態令牌,當您在支付的時候輸入自己的密碼和動態令牌上的動態密碼,就能完成支付,這樣既能防止密碼被盜,也能讓銀行相信您是本人操作,下面我們來給您簡述一下這個動態令牌的工作原理。

動態令牌

是根據專門的演算法每隔60秒生成乙個與時間相關的、不可**的隨機數字組合,每個口令只能使用一次,使用者進行認證時候,除輸入賬號和靜態密碼之外,必須要求輸入動態密碼,只有通過系統驗證,才可以正常登入或者交易,從而有效保證使用者身份的合法性和唯一性。動態口令最大的優點在於,使用者每次使用的口令都不相同,使得不法分子無法仿冒合法使用者的身份。動態口令認證技術被認為是目前能夠最有效解決使用者的身份認證方式之一,可以有效防範黑客木馬盜竊使用者賬戶

口令、假**等多種網路問題,導致使用者的財產或者資料的損失。

ckey  das d-100

如圖的ckey  das d-100是當前市面上流行使用的動態口令令牌,在筆者準備資料的過程中發現國內描寫動態令牌的部落格有不少謬誤,其中大多是對銀行這一套認證機制結構的不了解,所以首先要強調的是:

在大眾使用者手中的動態令牌,並不使用任何對稱或者非對稱加密的演算法,在整個銀行的認證體系中,動態令牌只是乙個一次性口令的產生器,它是基於時間同步方式,每隔60秒產生乙個隨機6位動態密碼在其中執行的主要計算僅包括時間因子的計算和雜湊值的計算。

動態令牌演算法又叫一次性口令演算法,英文寫作otp(one-time password algorithm),動態令牌使用的演算法是otp中的一類,totp(time-based one-time password algorithm) — 時間同步型動態口令。

時間同步型動態口令產生口令的時候和時間有關係,我們可以通過其工作的原理圖來看一下:  

圖示給出了動態口令的工作原理,突出了整個認證機制中的動態口令部分,我們可以清楚看到在最左邊和最右邊有完全相同的兩個流程,這裡分別代表了使用者的令牌卡和銀行伺服器的驗證機器做的工作。本文的重點就在這兩個完全相同的流程上。

在使用者從銀行手中拿到動態口令令牌卡的時候,在令牌卡的內部已經儲存了乙份種子檔案(即圖中鑰匙所代表的seed),這份種子檔案在銀行的伺服器裡儲存的完全一樣的乙份,所以對於動態口令令牌來說,這種方式是share secret的。另外在令牌硬體上的設定中,假使有人開啟了這個令牌卡,種子檔案將會從令牌卡的記憶體上擦除(待考證)。

令牌卡中有了種子檔案,並實現了totp演算法,在預先設定的間隔時間裡它就能不斷產生不同的動態口令,並顯示到螢幕上,而銀行伺服器上跟隨時間做同樣的計算,也會得到和令牌卡同樣的口令,用作認證。

那麼totp演算法具體做了什麼操作呢?在rfc6238中有詳細的演算法描述,這裡也會做簡單的敘述。

totp是來自 hotp [rfc4226] 的變形,從統籌上看,他們都是將資料檔案進行雜湊計算,只是hotp的因子是事件因子,totp將因子換成了時間因子,具體的totp計算公式(其中的hmac-sha-256也可能是 hmac-sha-512):

totp = truncate(hmac-sha-256(k,t))

其中: k 為這裡的種子檔案內容; t 為計算出來的時間因子

公式中的 hmac是金鑰相關的雜湊運算訊息認證碼(hash-based message authentication code),hmac運算利用雜湊演算法,以乙個金鑰和乙個訊息為輸入,生成乙個訊息摘要作為輸出。而公式中給出的雜湊演算法是 sha-256,這種雜湊演算法目前並沒有好的破解辦法。

令牌卡中預先設定了要顯示的口令長度,totp 中的 truncate 操作剪下獲得口令。

以上就是動態口令令牌卡的內部原理。

幾點補充:

1、時間同步型動態口令對令牌卡和伺服器的時間同步要求很高,時間誤差會造成整個令牌的失靈,所以每一次使用者成功使用令牌認證,伺服器都會做相應的時間誤差矯正。

2、種子檔案的產生使用了一種aes-128 變形而來的演算法, aes-128 也是目前頂尖級的對稱加密技術。

3、目前從加密技術上以及數學理論上整個銀行機制的認證系統基本無解。

4、歡迎勘誤。

www.chelen.com.cn 

銀行的動態口令令牌是什麼原理

有網銀的少年們一般都收到過銀行給的這樣乙個令牌,俗稱動態口令,在支付的時候輸入自己的密碼和動態口令上的動態密碼,就能完成驗證,銀行就相信你不是壞人了,今天我們來簡述一下這個動態口令令牌是個什麼原理。如圖的rsa securid sid700是當前市面上流行使用的動態口令令牌,在筆者準備資料的過程中發...

RSA令牌動態口令生成原理詳細介紹

rsa是一種國際上通用的非對稱演算法,主要是提供雙因素認證功能。即把密碼拆分成兩部分,一部分是使用者設定的固定密碼,另外一部分來自每個使用者發放的可顯示數字的硬體。該硬體基於時間 裝置號和種子數計算出乙個動態密碼。固定密碼加動態密碼才構成整個認證密碼。關於動態口令生成方式的簡要說明 為解決靜態口令安...

網上銀行安全證書工作原理

何謂數字證書?數字證書是乙個經證書認證中心 ca 數字簽名的包含公開金鑰擁有者資訊以及公開金鑰的資料檔案。認證中心的數字簽名可以確保證書資訊的真實性,使用者公鑰資訊可以保證數字資訊傳輸的完整性,使用者的數字簽名可以保證數字資訊的不可否認性。數字證書是各類終端實體和終端使用者在網上進行資訊交流及商務活...