HMAC算法及計(jì)算流程介紹
1.HMAC算法的應(yīng)用:
目前HMAC算法主要應(yīng)用在服務(wù)器對(duì)訪問(wèn)者進(jìn)行鑒權(quán)認(rèn)證流程中。
2.HMAC算法簡(jiǎn)介:
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ǔ)充說(shuō)明:
(1)如果密鑰比單向散列函數(shù)分組長(zhǎng)度要短,就需要在末尾填充0,直到其長(zhǎng)度達(dá)到單向散列函數(shù)的分組長(zhǎng)度為止。
如果密鑰比分組長(zhǎng)度要長(zhǎng),則要用單向散列函數(shù)求出密鑰的散列值,然后將這個(gè)散列值用作HMAC的密鑰。
(2)ipad為00110110的循環(huán),直到達(dá)到單項(xiàng)散列函數(shù)的分組長(zhǎng)度。
opad為01011100的循環(huán),直到達(dá)到單項(xiàng)散列函數(shù)的分組長(zhǎng)度。
綜述:有一些用戶會(huì)將HMAC算法應(yīng)用到嵌入式版權(quán)保護(hù)中,即MCU和加密芯片基于HMAC算法完成鑒權(quán)認(rèn)證,也有用戶會(huì)應(yīng)用到遠(yuǎn)程登錄認(rèn)證中,將密鑰存儲(chǔ)在終端設(shè)備的加密芯片中,啟動(dòng)聯(lián)網(wǎng)后,基于加密芯片完成與后臺(tái)服務(wù)器的身份認(rèn)證。凌科芯安公司可根據(jù)客戶需求不同,靈活設(shè)置加密芯片中的算法,除了HMAC還可支持3DES、AES、RSA、ECC、國(guó)密SM2等各種加解密、簽名驗(yàn)簽算法,通過(guò)安全芯片自身軟硬件防護(hù)機(jī)制,對(duì)HMAC或其他算法使用的密鑰實(shí)行安全保護(hù),保證密鑰存儲(chǔ)和運(yùn)行中的安全。同時(shí)通過(guò)硬件協(xié)處理器助力算法加速,提升運(yùn)算性能。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。