找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 17961|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

聊聊關(guān)于STM32加密引擎的話題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98618 發(fā)表于 2016-3-12 15:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
本文作者:Miler Shao
   可能有人在STM32的選型手冊(cè)或相關(guān)產(chǎn)品宣全頁(yè)上看到加密引擎的介紹,這里一般泛指STM32芯片中的加密處理器Cryptographic processor】和散列處理器Hash processor】。雖說(shuō)二者都跟信息的安全性、有效性相關(guān),在使用上可能有類(lèi)似的地方,比如信息有效性、身份確認(rèn)等方面,但二者并非一個(gè)東西。

    加密處理器的重點(diǎn)是對(duì)數(shù)據(jù)進(jìn)行加密,對(duì)信息做安全保護(hù),不讓信息被非法訪問(wèn)或?qū)ν庑孤丁P畔⑻峁┓礁鶕?jù)一定的加密算法對(duì)原始信息【明文】進(jìn)行加密后形成【密文】,信息接收方根據(jù)相應(yīng)的解密算法對(duì)加密過(guò)的【密文】信息進(jìn)行解密還原為【明文】。

 


STM32內(nèi)置的加密處理器一般支持如下幾種加密算法標(biāo)準(zhǔn):

DES: Data Encryption Standard 【數(shù)據(jù)加密標(biāo)準(zhǔn)】

TDESTriple Data Encryption Standard【三重?cái)?shù)據(jù)加密標(biāo)準(zhǔn)】

AESAdvanced Encryption Standard (【高級(jí)加密標(biāo)準(zhǔn)】

DES,TDES多應(yīng)用在數(shù)據(jù)文件的傳輸,電子資金轉(zhuǎn)賬,門(mén)控門(mén)禁的安全性場(chǎng)合。

AES多應(yīng)用在網(wǎng)絡(luò)安全路由,無(wú)線通信,數(shù)據(jù)的加密保存等場(chǎng)合。



    哈希處理器的重點(diǎn)是出于數(shù)據(jù)完整性和有效性的考慮,基于一定算法對(duì)數(shù)據(jù)信息進(jìn)行計(jì)算得出一組哈希值,用于未來(lái)對(duì)數(shù)據(jù)信息的完整性和真實(shí)性進(jìn)行比對(duì)驗(yàn)證。

    比如要想利用哈希算法查驗(yàn)文件信息是否被惡意修改或破壞過(guò),可以通過(guò)比較傳輸前后數(shù)據(jù)的哈希值來(lái)校驗(yàn)信息的完整性。

    通過(guò)檢查信息哈希值的有效真實(shí)性,進(jìn)而確定信息本身的有效真實(shí)性。比方說(shuō),日常使用的密碼并不是以明文形式存儲(chǔ),而是以哈希值的形式存儲(chǔ)。通過(guò)對(duì)用戶(hù)輸入的密碼做哈希運(yùn)算,把所得哈希值和事先預(yù)留密碼的哈希值進(jìn)行比較,從而來(lái)確認(rèn)用戶(hù)身份的真實(shí)性。


STM32芯片內(nèi)置的哈希處理器可能支持如下幾種散列算法:

SHA-1Secure Hash Algorithm 【安全散列算法,或說(shuō)安全哈希算法】

MD5 Message-Digest Algorithm 5【信息摘要算法5

HMAC keyed-Hash Message AuthenticationCode algorithm密鑰散列消息認(rèn)證碼算法


    簡(jiǎn)言之,加密處理器側(cè)重保障信息的私密性、安全性,對(duì)原有信息直接進(jìn)行加解密操作,有加密、解密的兩個(gè)可逆操作。哈希處理器是側(cè)重保障信息的真實(shí)性、前后一致性,使用一定的算法結(jié)合原有信息計(jì)算出固定長(zhǎng)度的特征信息值,而且這個(gè)過(guò)程是不可逆的。


    目前STM32家族9大產(chǎn)品線中,具備加密處理器和哈希處理器的芯片主要集中在高性能的產(chǎn)品線中,即STM32F2,STM32F4STM32F7這三大系列。這里要注意幾點(diǎn):

  1. 上面提到的內(nèi)置加密處理器和哈希處理器的三大高性能STM32系列中,并非每顆料號(hào)都具備,具體要細(xì)看各大系列的詳細(xì)介紹。曾經(jīng)有人選擇了一顆并不帶HASH處理器的F4芯片做MD5的應(yīng)用,快折騰瞎了眼睛也出不來(lái)。

  2. 即使STM32F2,STM32F4,STM32F7這三大系列中帶加密處理器和哈希處理器,可能個(gè)別芯片內(nèi)部并不完全支持上面提到的所有加密算法和哈希算法,具體查看數(shù)據(jù)手冊(cè)確認(rèn)。

  3. STM32家族中除了STM32F2,STM32F4,STM32F7這三大系列同時(shí)帶加密處理器和哈希處理器外,還有個(gè)別STM32系列只帶加密處理器,比如STM32L162系列,STM32L486系列,它們支持AES加解密算法。

  4. 在帶加密處理器和哈希處理器的STM32芯片里,二者是兩個(gè)獨(dú)立的外設(shè)模塊。ST官方的固件庫(kù)函數(shù)里也有提供相關(guān)的項(xiàng)目例程。以STM32F4為例,ST官方提供的傳統(tǒng)固件庫(kù)或CUBE庫(kù)里都有相關(guān)項(xiàng)目例程可供參考。

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表