HMAC算法及計(jì)算流程介紹 1. HMAC算法的應(yīng)用: 目前HMAC算法主要應(yīng)用在服務(wù)器對訪問者進(jìn)行鑒權(quán)認(rèn)證流程中。 2. HMAC算法簡介: HMAC是密鑰相關(guān)的哈希運(yùn)算消息認(rèn)證碼(Hash-based Message Authentication Code)的縮寫。HMAC中的H代指Hash散列算法,HMAC可以使用多種單項(xiàng)散列式,例如使用SHA-1,則構(gòu)成HMAC-1,選用SHA-256散列算法,則構(gòu)成HMAC-256。 3. 計(jì)算步驟: 詳見下圖。 補(bǔ)充說明: (1) 如果密鑰比單向散列函數(shù)分組長度要短,就需要在末尾填充0,直到其長度達(dá)到單向散列函數(shù)的分組長度為止。 如果密鑰比分組長度要長,則要用單向散列函數(shù)求出密鑰的散列值,然后將這個(gè)散列值用作HMAC的密鑰。 (2) ipad為00110110的循環(huán),直到達(dá)到單項(xiàng)散列函數(shù)的分組長度。 opad為01011100的循環(huán),直到達(dá)到單項(xiàng)散列函數(shù)的分組長度。 綜述:有一些用戶會將HMAC 算法應(yīng)用到嵌入式版權(quán)保護(hù)中,即MCU和加密芯片基于HMAC算法完成鑒權(quán)認(rèn)證,也有用戶會應(yīng)用到遠(yuǎn)程登錄認(rèn)證中,將密鑰存儲在終端設(shè)備的加密芯片中,啟動聯(lián)網(wǎng)后,基于加密芯片完成與后臺服務(wù)器的身份認(rèn)證。凌科公司可根據(jù)客戶需求不同,靈活設(shè)置加密芯片中的算法,除了HMAC還可支持3DES、AES、RSA、ECC、國密SM2等各種加解密、簽名驗(yàn)簽算法,通過安全芯片自身軟硬件防護(hù)機(jī)制,對HMAC或其他算法使用的密鑰實(shí)行安全保護(hù),保證密鑰存儲和運(yùn)行中的安全。同時(shí)通過硬件協(xié)處理器助力算法加速,提升運(yùn)算性能。
|