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

2021-09-02 13:34:42 字數 1710 閱讀 4988

有網銀的少年們一般都收到過銀行給的這樣乙個令牌,俗稱動態口令,在支付的時候輸入自己的密碼和動態口令上的動態密碼,就能完成驗證,銀行就相信你不是壞人了,今天我們來簡述一下這個動態口令令牌是個什麼原理。

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

在大眾使用者手中的動態口令令牌,並不使用任何對稱或者非對稱加密的演算法,在整個銀行的認證體系中,動態口令令牌只是乙個一次性口令的產生器,在其中執行的主要計算僅包括時間因子的計算和雜湊值的計算。

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

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

screen shot 2016-02-08 at 5.06.00 pm.png

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

在使用者從銀行手中拿到動態口令令牌卡的時候,在令牌卡的內部已經儲存了乙份種子檔案(即圖中鑰匙所代表的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. 歡迎勘誤。

銀行動態令牌工作原理

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

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

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

介面是什麼?實現原理的是什麼

一.什麼是介面 介面是一種用來定義程式的協議,它描述可屬於任何類或結構的一組相關行為。介面是一組規則的集合,它規定了實現本介面的類或介面必須擁有的一組規則。體現了自然界 如果你是 則必須能 的理念。介面是在一定粒度檢視上同類事物的抽象表示。因為 同類事物 這個概念是相對的,它因為粒度檢視不同而不同。...