hmac的乙個典型應用是用在「挑戰/響應」(challenge/response)身份認證中,(1) 先由客戶端向伺服器發出乙個驗證請求。
(2) 伺服器接到此請求後生成乙個隨機數並通過網路傳輸給客戶端(此為挑戰)。
(3) 客戶端將收到的隨機數提供給epass,由epass使用該隨機數與儲存在epass中的金鑰進行hmac-md5運算並得到乙個結果作為認證證據傳給伺服器(此為響應)。
(4) 與此同時,伺服器也使用該隨機數與儲存在伺服器資料庫中的該客戶金鑰進行hmac-md5運算,如果伺服器的運算結果與客戶端傳回的響應結果相同,則認為客戶端是乙個合法使用者由上面的介紹,我們可以看出,hmac演算法更象是一種加密演算法,它引入了金鑰,其安全性已經不完全依賴於所使用的hash演算法,安全性主要有以下幾點保證:
(1) 使用的金鑰是雙方事先約定的,第三方不可能知道。由3.2介紹的應用流程可以看出,作為非法截獲資訊的第三方,能夠得到的資訊只有作為「挑戰」的隨機數和作為「響應」的hmac結果,無法根據這兩個資料推算出金鑰。由於不知道金鑰,所以無法仿造出一致的響應。
(2) hmac與一般的加密重要的區別在於它具有「瞬時」性,即認證只在當時有效,而加密演算法被破解後,以前的加密結果就可能被解密。
public byte encode(byte data) throws transformerexception catch (nosuchalgorithmexception e) catch (invalidkeyexception e)
}
HMAC 典型的數字簽名技術
hmac的全稱是hash based message authentication code,即 基於hash的訊息認證碼 其基本工作流程 對某個訊息,利用提前共享的對稱金鑰和hash演算法進行加密處理,得到hmac值。該hmac值提供方可以證明自己擁有共享的對稱金鑰,並且訊息自身可以利用hmac來...
乙個典型的Web應用部署結構分析
1 要成功部署乙個web應用,則必須遵循以下標準 參考 目錄結構。2 目錄說明 1 web inf目錄 必須直接放在web應用上下文之下 即一級目錄 2 class目錄 必須直接放在web inf目錄下。所有類檔案 普通bean servlet 過濾器 輔助類及標誌處理器等 的包結構都必須直接放在c...
乙個典型的集群配置
3 配置集群 乙個典型的集群配置 三颱機器a 172.16.7.110 b 172.16.7.119 c 172.16.7.911 機器a 包含兩個實際的server 乙個是管理伺服器admin 乙個是 伺服器proxy 機器b 包含兩個server 受控伺服器,node1 node2 機器c 同機...