99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分享EEPROM的作用和使用方法

得捷電子DigiKey ? 來源:得捷電子 ? 作者:佚名 ? 2019-10-31 17:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一些微控制器配有片載EEPROM,這樣既提供了非易失性數(shù)據(jù)存儲器,還能節(jié)省電路板空間。然而,隨著數(shù)據(jù)安全變得愈發(fā)重要,許多現(xiàn)代嵌入式系統(tǒng)需要一種實(shí)用的方法,利用非易失性存儲器來安全地存儲數(shù)據(jù),同時(shí)還要能抵御外部黑客的攻擊。

本文將介紹如何利用單芯片安全EEPROM來抵御黑客攻擊,安全地存儲非易失性數(shù)據(jù),而不過多地涉及詳細(xì)的加密功能。相反,本文將介紹一款來自知名供應(yīng)商的合適的安全EEPROM示例,并描述該EEPROM的工作原理和應(yīng)用方式。

為什么要用EEPROM?

許多嵌入式系統(tǒng)都得益于非易失性數(shù)據(jù)存儲器,而EEPROM便是典型的代表之一。與掉電時(shí)失去狀態(tài)的RAM相比,EEPROM可在系統(tǒng)掉電時(shí)依靠固件控制來執(zhí)行讀寫操作并保持其狀態(tài)。

雖然微控制器內(nèi)的EEPROM總是會有助于存儲那些掉電時(shí)須保留的程序數(shù)據(jù),但這種存儲器通常存在與RAM相同的安全漏洞。在一些現(xiàn)代的8位、16位和32位微控制器中,有一些安全方法可以避免在固件控制下讀取數(shù)據(jù)存儲器區(qū)域,或阻止調(diào)試器等外部接口讀取數(shù)據(jù)。在過去,這種安全性可能稱得上足夠充分,但如今,在許多情況下,黑客可能擁有足夠的資金、時(shí)間、動機(jī)和資源來繞過這種看似充分的安全性,獲得對關(guān)鍵系統(tǒng)的訪問權(quán)限。

如今,隨著現(xiàn)代嵌入式系統(tǒng)的發(fā)展,許多應(yīng)用都需要更強(qiáng)大數(shù)據(jù)保護(hù)能力。在一些物聯(lián)網(wǎng)節(jié)點(diǎn)、安防系統(tǒng)、車到車通信、現(xiàn)代醫(yī)療設(shè)備和自主駕駛車輛中尤其如此。僅僅是預(yù)防系統(tǒng)克隆也可能需要數(shù)據(jù)安全性。在一些應(yīng)用中,如果EEPROM數(shù)據(jù)因?yàn)槭艿綈阂夂诳偷某晒舳斐尚孤?,可能會?dǎo)致財(cái)產(chǎn)損失或更糟糕的情況發(fā)生。

在這類情況下,就需要強(qiáng)有力的EEPROM去防御擁有大量資源的黑客。這時(shí)可使用具有高安全性的EEPROM,它能輕松地對密碼、克隆哈希、指紋數(shù)據(jù)、傳感器校準(zhǔn)信息以及生物識別數(shù)據(jù)等敏感數(shù)據(jù)進(jìn)行加密。

Microchip Technology已憑借一系列CryptoAuthentication器件解決了這一設(shè)計(jì)問題。如果這些器件聽起來很熟悉的話,那是因?yàn)镸icrochip是通過收購Atmel延續(xù)了該產(chǎn)品系列。ATAES132A 32KB安全EEPROM就是來自該系列的前述器件之一(圖1)。

分享EEPROM的作用和使用方法

圖1:ATAES132A 32KB串行EEPROM專門設(shè)計(jì)有安全功能,可用于保護(hù)數(shù)據(jù)和內(nèi)部寄存器。(圖片來源:Digi-KeyElectronics)

ATAES132A可以像任何標(biāo)準(zhǔn)32KB串行EEPROM一樣使用。該器件采用標(biāo)準(zhǔn)SPI和I2C引腳分配,因此無需任何硬件修改便能替換現(xiàn)有設(shè)計(jì)中的標(biāo)準(zhǔn)串行EEPROM。這樣一來,現(xiàn)有設(shè)計(jì)只需修改應(yīng)用固件,便可輕松升級額外的安全性。

此外,該器件還具有顯著的物理保護(hù)功能、加密功能和其他融入設(shè)計(jì)的安全功能;啟用這些功能后,將可以保護(hù)EEPROM數(shù)據(jù)和內(nèi)部寄存器免受最頑固的黑客以外的所有黑客攻擊。數(shù)據(jù)可以通過使用軍用級AES加密技術(shù)(最多16個(gè)128位密鑰)進(jìn)行保護(hù)。

多方面的物理保護(hù)

首先,ATAES132A 具有許多機(jī)械安全機(jī)制,可防止器件受到物理上的反向工程。該器件對環(huán)境溫度的某些變化很敏感,以應(yīng)對例如試圖“深度凍結(jié)”器件以維護(hù)存儲器內(nèi)容等手段。它還能檢測試圖暴露芯片的“去蓋”嘗試——金屬屏蔽可以遮蓋芯片,如果將其移除,芯片將可以檢測其是否曝露于光線中,而這種曝光可能引發(fā)破壞存儲器內(nèi)容的機(jī)制。

最后,存儲器內(nèi)容得到加密。該器件還可能包括只有Microchip工程師才知道的未公開安全機(jī)制,因?yàn)镸icrochip會對這些安全機(jī)制的細(xì)節(jié)保密,這就為安全存儲器提供了廣泛的物理安全性,無需開發(fā)人員構(gòu)建復(fù)雜的外殼來提供EEPROM屏障。

上電時(shí),可將ATAES132A配置為使用SPI或I2C接口對接至大多數(shù)微控制器。當(dāng)采用I2C模式時(shí),不使用片選引腳,并且必須將該引腳連接到電源或接地。當(dāng)配置用于SPI模式時(shí),按照常規(guī)會使用片選引腳。

安全EEPROM的AES數(shù)字加密

通過將AES-CCM與128位密鑰一起使用,可在ATAES132A上實(shí)現(xiàn)加密。簡而言之,針對將要加密的數(shù)據(jù)引入一系列復(fù)雜的數(shù)學(xué)函數(shù)處理,使得這些數(shù)據(jù)與固件開發(fā)人員所設(shè)定的128位數(shù)字進(jìn)行組合。AES加解密操作過程中執(zhí)行的復(fù)雜數(shù)學(xué)運(yùn)算均由ATAES132A完成,而且除了設(shè)置一些變量和選擇128位密鑰外,此過程對固件開發(fā)人員而言是透明的,從而大大簡化了產(chǎn)品開發(fā)。

詳解ATAES132A存儲器映射

該器件可以簡單地用作標(biāo)準(zhǔn)非加密串行EEPROM。但如果開發(fā)人員使用高級安全功能,則器件的結(jié)構(gòu)和使用方式會有很大差別。要了解ATAES132A,最快捷的方法是檢查存儲器映射,如表1所示,該映射比標(biāo)準(zhǔn)EEPROM的映射更加深入。

分享EEPROM的作用和使用方法

表1:ATAES132A存儲器映射比標(biāo)準(zhǔn)串行EEPROM映射更深入。(數(shù)據(jù)來源:Microchip Technology)

此存儲器映射中的大多數(shù)位置都是使用標(biāo)準(zhǔn)I2C或SPI命令讀取或?qū)懭氲摹?/p>

EEPROM和存儲區(qū)安全配置寄存器

這款32KB數(shù)據(jù)EEPROM存儲器被分為16個(gè)2KB存儲區(qū)。每個(gè)存儲區(qū)都可以單獨(dú)配置安全性(或不配置安全性)。16個(gè)存儲區(qū)分別在存儲區(qū)安全配置寄存器區(qū)域設(shè)置安全性設(shè)置。以下是可以為16個(gè)2KB存儲區(qū)分別單獨(dú)設(shè)置的基本安全性設(shè)置:

? 啟用/禁用加密以讀取數(shù)據(jù)

? 啟用/禁用加密以寫入數(shù)據(jù)

? 啟用/禁用身份驗(yàn)證以讀取數(shù)據(jù)

? 啟用/禁用身份驗(yàn)證以寫入數(shù)據(jù)

? 將存儲區(qū)永久設(shè)置為只讀

在設(shè)置應(yīng)用的安全性時(shí),這些設(shè)置項(xiàng)能夠提供極大的靈活性。一個(gè)存儲區(qū)可以設(shè)置為不使用加密、不對讀/寫訪問進(jìn)行身份驗(yàn)證,從而允許像任何標(biāo)準(zhǔn)EEPROM一樣進(jìn)行讀寫。另一個(gè)存儲區(qū)則可能要求進(jìn)行完全加密和身份驗(yàn)證,從而為敏感數(shù)據(jù)提供高安全性。

器件配置寄存器

器件的一般特性可在器件配置寄存器區(qū)域設(shè)置。此區(qū)域還包含關(guān)于器件的一些只讀信息,包括用于標(biāo)識器件的唯一32位器件序列號。其他寄存器允許將存儲區(qū)或其他寄存器設(shè)為只讀,也稱為鎖定存儲器。一旦鎖定某個(gè)寄存器或存儲區(qū),將是永久性鎖定,永遠(yuǎn)無法解鎖。

此區(qū)域還有I2CAddr寄存器,用于配置器件是在I2C模式還是SPI模式下使用。器件上電時(shí)會寫入1個(gè)字節(jié)的I2CAddr寄存器。I2CAddr的0位決定串行接口模式。如果固件寫入0,則將器件配置為SPI模式。如果寫入1,則選擇了I2C模式。如果選擇了I2C模式,7位器件地址為50h。

命令和響應(yīng)存儲緩沖區(qū)

雖然可以使用標(biāo)準(zhǔn)SPI或I2C尋址來訪問器件中的存儲器位置,但器件也接受類似于微控制器的命令。命令及其操作數(shù)(稱為“命令塊”)可能是一個(gè)或多個(gè)字節(jié),并且始終直接寫入到位于地址FE00h的命令和響應(yīng)存儲緩沖區(qū)。命令塊由一個(gè)單字節(jié)指令、一個(gè)或多個(gè)字節(jié)的操作數(shù)和一個(gè)2字節(jié)校驗(yàn)和組成。

可用命令包括數(shù)據(jù)驗(yàn)證、來自EEPROM存儲區(qū)的塊讀取、遞增計(jì)數(shù)器,以及直接讀取任何需要驗(yàn)證的受保護(hù)存儲器或寄存器。命令響應(yīng)可從同一位置FE00h讀回。FE00h的所有寫入均是發(fā)送到命令存儲緩沖區(qū)的命令,來自FE00h的所有讀取均來自響應(yīng)存儲緩沖區(qū)。

位于FFE0h的I/O地址復(fù)位寄存器是一個(gè)只寫寄存器,用于復(fù)位命令和響應(yīng)存儲緩沖區(qū)。向FFE0h寫入任何值都需要執(zhí)行兩項(xiàng)操作:將命令存儲緩沖區(qū)清除,以便可以接受新的命令塊;將響應(yīng)存儲緩沖區(qū)復(fù)位至零,以便可以從頭開始讀取內(nèi)容。

復(fù)位響應(yīng)存儲緩沖區(qū)可允許固件重新讀取整個(gè)響應(yīng)。這在以下代碼中可能非常有用:代碼中發(fā)生中斷時(shí)主機(jī)微控制器正在讀取響應(yīng)存儲緩沖區(qū),而且在從中斷恢復(fù)時(shí)需要從頭開始重新讀取數(shù)據(jù)。

此外,還有一些命令可針對EEPROM的讀寫操作執(zhí)行AES加密和解密。這些計(jì)算極其復(fù)雜,本文將不予討論。不過,Microchip提供的微控制器驅(qū)動程序和固件可以輕松執(zhí)行所有這些功能,因此程序員只需了解很少的AES加密知識即可。

存儲區(qū)計(jì)數(shù)寄存器

該寄存器區(qū)域包含16個(gè)與各存儲區(qū)關(guān)聯(lián)的只讀計(jì)數(shù)器。各存儲區(qū)均使用其128位存儲區(qū)密鑰完成加密或解密。每次使用存儲區(qū)密鑰時(shí),關(guān)聯(lián)的32位存儲區(qū)計(jì)數(shù)器可能遞增也可能不會遞增,具體取決于關(guān)聯(lián)的存儲區(qū)計(jì)數(shù)器配置寄存器中的設(shè)置。出于安全目的,計(jì)數(shù)器永遠(yuǎn)不會遞減或復(fù)位。

固件可以直接寫入存儲區(qū)計(jì)數(shù)器,以將其遞增到初始值,但絕不可遞增到低于現(xiàn)有計(jì)數(shù)器內(nèi)容的值。制造期間可以寫入并鎖定存儲區(qū)計(jì)數(shù)器,以限制計(jì)數(shù)數(shù)量。當(dāng)計(jì)數(shù)器達(dá)到最大值2,097,151時(shí),可以永久禁用關(guān)聯(lián)的密鑰,以防止使用該密鑰執(zhí)行進(jìn)一步的加密或解密操作。這對于有限使用密鑰可能非常有用,例如,允許重新閃存微控制器固件有限的次數(shù)。

為實(shí)現(xiàn)額外的安全性,每個(gè)32位存儲區(qū)計(jì)數(shù)器都是重復(fù)的,這樣做是為了在存儲區(qū)計(jì)數(shù)器遞增期間發(fā)生電源故障的情況下,可以檢測存儲區(qū)計(jì)數(shù)器是否損壞。應(yīng)用上電時(shí),固件應(yīng)讀取所有存儲區(qū)計(jì)數(shù)器的兩個(gè)計(jì)數(shù)器值。如果在某個(gè)耐用型應(yīng)用中這兩個(gè)值不同,則證明存在未經(jīng)授權(quán)的掉電事件,而這可能表明有人在未經(jīng)授權(quán)的情況下試圖在應(yīng)用運(yùn)行時(shí)禁用其安全功能。

狀態(tài)寄存器

ATAES132A狀態(tài)寄存器為只讀寄存器,用于指示包括錯誤的校驗(yàn)和命令錯誤在內(nèi)的錯誤代碼,還可以指示ATAES132A是處于I2C模式還是SPI模式,以及命令的進(jìn)度和響應(yīng)的有效性。該寄存器應(yīng)在所有讀取、寫入、命令和響應(yīng)前后進(jìn)行讀取。錯誤可能指示干擾主機(jī)微控制器和ATAES132A之間的I2C或SPI連接的外部企圖。出現(xiàn)錯誤時(shí),采取哪種通知方式取決于主機(jī)固件,例如提示操作員或發(fā)出警報(bào)。

在制造過程中設(shè)置ATAES132A

為幫助開發(fā),Microchip提供了DM320109 Xplained-Pro CryptoAuthentication入門套件(圖2)。ATAES132A可以連接到Microchip ATSAMD21J18A Arm Cortex-M0+ 微控制器。

分享EEPROM的作用和使用方法

圖2:Microchip的DM320109 Xplained CryptoAuthentication入門及開發(fā)套件提供了一種簡單的方式來評估和開發(fā)ATAES132A代碼。該套件配有大量代碼示例,可以與大多數(shù)支持Windows、Linux或MacOS的PC連接。(圖片來源:MicrochipTechnology)

Microchip的ATSAMD21J18A微控制器配有USB接口,可與PC開發(fā)環(huán)境連接。該控制器既支持I2C接口,也支持SPI接口,兩種接口均可用于連接ATAES132A。使用隨附的USB電纜連接到目標(biāo)PC后,可使用該套件來配置和監(jiān)控ATAES132A的所有功能。

提供的第二根USB電纜可用于監(jiān)控并記錄ATAES132A和ATSAMD21J18A之間的數(shù)據(jù)包。此電纜一端連接Xplained電路板,另一端連接PC上的可用USB端口。然后,開發(fā)人員可以監(jiān)控微控制器和EEPROM之間的信號,觀察兩個(gè)器件之間移動的加密數(shù)據(jù)。

Xplained套件附帶了ATAES132A的所有固件庫和示例代碼。在充分了解本文描述的ATAES132A存儲器映射和寄存器之后,開發(fā)人員即便對器件加密知之甚少,也能輕松地自定義示例代碼,以符合其目標(biāo)應(yīng)用。

AES 128位加密是一個(gè)復(fù)雜的主題。盡管如此,開發(fā)人員仍可以在專為此目的而設(shè)計(jì)的EEPROM中保護(hù)敏感數(shù)據(jù)。而這有賴于機(jī)械保護(hù)、強(qiáng)加密、特殊分區(qū)和存儲器映射,以及只有公司和/或最終用戶知道的自定義或機(jī)密功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7957

    瀏覽量

    155229
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19678

    瀏覽量

    317785
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5435

    瀏覽量

    124606
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    錫膏的儲存及使用方法詳解

    錫膏是一種常用的焊接輔助材料,廣泛應(yīng)用于電子、電器、通訊、儀表等行業(yè)的焊接工藝中。正確的儲存和使用方法對于保證錫膏的品質(zhì)和焊接效果至關(guān)重要。本文將就錫膏的儲存和使用方法進(jìn)行詳細(xì)介紹,希望能對廣大焊接工作者有所幫助。
    的頭像 發(fā)表于 07-18 17:36 ?343次閱讀
    錫膏的儲存及<b class='flag-5'>使用方法</b>詳解

    存儲器IC的應(yīng)用技巧 【日 桑野雅彥】

    UV-EPROM的結(jié)構(gòu)與使用方法,閃速存儲器的結(jié)構(gòu)與使用方法,EEPROM的結(jié)構(gòu)與使用方法, SRAM的結(jié)構(gòu)與使用方法, 特殊的SRAM的結(jié)
    發(fā)表于 04-16 16:04

    存儲器IC的應(yīng)用技巧 [日 桑野雅彥]

    本書主要介紹了UV-EPROM的結(jié)構(gòu)和使用方法,閃速存儲器的結(jié)構(gòu)和使用方法,EEPROM的結(jié)構(gòu)和使用方法, SRAM的結(jié)構(gòu)與使用方法,特殊的
    發(fā)表于 03-07 10:52

    精密空調(diào)操作使用方法詳解

    精密空調(diào)操作使用方法詳解
    的頭像 發(fā)表于 02-10 14:44 ?1052次閱讀
    精密空調(diào)操作<b class='flag-5'>使用方法</b>詳解

    快速了解電源模塊的使用方法

    電源是整個(gè)電路可靠工作的核心部分。然而,由于電源電路的電流和發(fā)熱量較大,容易出現(xiàn)故障。今天我為大家介紹一下電源模塊的使用方法。
    的頭像 發(fā)表于 01-21 15:24 ?777次閱讀

    AB伺服軟件使用方法

    AB伺服軟件使用方法
    發(fā)表于 12-24 14:45 ?0次下載

    便攜式光合作用測定儀使用方法

    便攜式光合作用測定儀是一種用于測量植物光合作用速率的精密儀器。以下是便攜式光合作用測定儀的使用方法: 一、儀器準(zhǔn)備與校準(zhǔn) 檢查儀器 :在開始測量之前,仔細(xì)檢查便攜式光合
    的頭像 發(fā)表于 11-23 09:42 ?1059次閱讀

    示波器高壓探頭使用方法

    示波器高壓探頭是一種用于測量高電壓信號的儀器,通常用于高壓電源、電機(jī)、變壓器等電氣設(shè)備的測試。以下是示波器高壓探頭的詳細(xì)使用方法
    的頭像 發(fā)表于 10-03 16:43 ?1419次閱讀

    探針頭型使用方法有哪些

    探針頭型的使用方法多種多樣,具體取決于探針頭型的類型、被測對象的特性以及測試需求。以下是一些常見探針頭型的使用方法概述: 1. 凹頭探針 用途 :主要用于測試長導(dǎo)腳、端子及繞線柱等較長或較粗的被測點(diǎn)
    的頭像 發(fā)表于 09-07 10:57 ?1870次閱讀

    西門子中繼器使用方法作用

    西門子中繼器在工業(yè)自動化和通信網(wǎng)絡(luò)中扮演著重要角色,其主要使用方法作用如下: 使用方法 安裝 : 將中繼器插入電源插座,確保其供電正常。 將中繼器的一端連接到主干網(wǎng)絡(luò)上的交換機(jī)、路由器或其他
    的頭像 發(fā)表于 09-05 09:45 ?1771次閱讀

    光纖收發(fā)器的使用方法和注意事項(xiàng)

    光纖收發(fā)器作為光纖通信系統(tǒng)中的關(guān)鍵設(shè)備,其正確的使用方法和注意事項(xiàng)對于確保網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性和可靠性至關(guān)重要。光纖收發(fā)器作為光纖通信系統(tǒng)中的關(guān)鍵設(shè)備,其正確的使用方法和注意事項(xiàng)對于確保網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性和可靠性至關(guān)重要。
    的頭像 發(fā)表于 08-26 15:20 ?2321次閱讀

    【GD32 MCU 入門教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的頭像 發(fā)表于 08-25 09:24 ?1395次閱讀
    【GD32 MCU 入門教程】GD32 MCU FPU <b class='flag-5'>使用方法</b>

    MSP430 FRAM技術(shù)–使用方法和最佳實(shí)踐

    電子發(fā)燒友網(wǎng)站提供《MSP430 FRAM技術(shù)–使用方法和最佳實(shí)踐.pdf》資料免費(fèi)下載
    發(fā)表于 08-23 09:23 ?0次下載
    MSP430 FRAM技術(shù)–<b class='flag-5'>使用方法</b>和最佳實(shí)踐

    DC/DC模擬的基本使用方法和特性確認(rèn)方法

    本篇介紹了DC/DC模擬的基本使用方法及確認(rèn)基本特性的方法。
    的頭像 發(fā)表于 08-20 17:08 ?1389次閱讀
    DC/DC模擬的基本<b class='flag-5'>使用方法</b>和特性確認(rèn)<b class='flag-5'>方法</b>

    圖片動畫控件和Video image控件的使用方法

    在UI開發(fā)過程中,序列幀基本是繞不開的,AWTK 支持多種方法實(shí)現(xiàn)序列幀顯示,本文介紹圖片動畫控件和Video image控件的使用方法。
    的頭像 發(fā)表于 08-06 16:44 ?1675次閱讀
    圖片動畫控件和Video image控件的<b class='flag-5'>使用方法</b>