精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

分享EEPROM的作用和使用方法

得捷電子DigiKey ? 來源:得捷電子 ? 作者:佚名 ? 2019-10-31 17:01 ? 次閱讀

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

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

為什么要用EEPROM?

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

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

如今,隨著現代嵌入式系統的發展,許多應用都需要更強大數據保護能力。在一些物聯網節點、安防系統、車到車通信、現代醫療設備和自主駕駛車輛中尤其如此。僅僅是預防系統克隆也可能需要數據安全性。在一些應用中,如果EEPROM數據因為受到惡意黑客的成功攻擊而造成泄露,可能會導致財產損失或更糟糕的情況發生。

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

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

分享EEPROM的作用和使用方法

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

ATAES132A可以像任何標準32KB串行EEPROM一樣使用。該器件采用標準SPI和I2C引腳分配,因此無需任何硬件修改便能替換現有設計中的標準串行EEPROM。這樣一來,現有設計只需修改應用固件,便可輕松升級額外的安全性。

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

多方面的物理保護

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

最后,存儲器內容得到加密。該器件還可能包括只有Microchip工程師才知道的未公開安全機制,因為Microchip會對這些安全機制的細節保密,這就為安全存儲器提供了廣泛的物理安全性,無需開發人員構建復雜的外殼來提供EEPROM屏障。

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

安全EEPROM的AES數字加密

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

詳解ATAES132A存儲器映射

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

分享EEPROM的作用和使用方法

表1:ATAES132A存儲器映射比標準串行EEPROM映射更深入。(數據來源:Microchip Technology)

此存儲器映射中的大多數位置都是使用標準I2C或SPI命令讀取或寫入的。

EEPROM和存儲區安全配置寄存器

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

? 啟用/禁用加密以讀取數據

? 啟用/禁用加密以寫入數據

? 啟用/禁用身份驗證以讀取數據

? 啟用/禁用身份驗證以寫入數據

? 將存儲區永久設置為只讀

在設置應用的安全性時,這些設置項能夠提供極大的靈活性。一個存儲區可以設置為不使用加密、不對讀/寫訪問進行身份驗證,從而允許像任何標準EEPROM一樣進行讀寫。另一個存儲區則可能要求進行完全加密和身份驗證,從而為敏感數據提供高安全性。

器件配置寄存器

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

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

命令和響應存儲緩沖區

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

可用命令包括數據驗證、來自EEPROM存儲區的塊讀取、遞增計數器,以及直接讀取任何需要驗證的受保護存儲器或寄存器。命令響應可從同一位置FE00h讀回。FE00h的所有寫入均是發送到命令存儲緩沖區的命令,來自FE00h的所有讀取均來自響應存儲緩沖區。

位于FFE0h的I/O地址復位寄存器是一個只寫寄存器,用于復位命令和響應存儲緩沖區。向FFE0h寫入任何值都需要執行兩項操作:將命令存儲緩沖區清除,以便可以接受新的命令塊;將響應存儲緩沖區復位至零,以便可以從頭開始讀取內容。

復位響應存儲緩沖區可允許固件重新讀取整個響應。這在以下代碼中可能非常有用:代碼中發生中斷時主機微控制器正在讀取響應存儲緩沖區,而且在從中斷恢復時需要從頭開始重新讀取數據。

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

存儲區計數寄存器

該寄存器區域包含16個與各存儲區關聯的只讀計數器。各存儲區均使用其128位存儲區密鑰完成加密或解密。每次使用存儲區密鑰時,關聯的32位存儲區計數器可能遞增也可能不會遞增,具體取決于關聯的存儲區計數器配置寄存器中的設置。出于安全目的,計數器永遠不會遞減或復位。

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

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

狀態寄存器

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

在制造過程中設置ATAES132A

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

分享EEPROM的作用和使用方法

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

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

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

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7487

    瀏覽量

    151045
  • 嵌入式
    +關注

    關注

    5068

    文章

    19017

    瀏覽量

    303240
  • 寄存器
    +關注

    關注

    31

    文章

    5317

    瀏覽量

    120003
收藏 人收藏

    評論

    相關推薦

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

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

    DC/DC模擬的基本使用方法和特性確認方法

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

    淺談錫膏的儲存及使用方法

    錫膏(焊錫膏)是電子組裝過程中常用的材料,它的儲存和使用方法對保證焊接質量和性能至關重要。以下是詳細的儲存及使用方法
    的頭像 發表于 06-27 10:02 ?765次閱讀

    PLC中斷功能的作用使用方法

    PLC控制系統中的一項關鍵技術,對于提高系統的響應速度和實時性具有至關重要的作用。本文將對PLC中斷功能的作用使用方法進行詳細的闡述。
    的頭像 發表于 06-15 17:54 ?1808次閱讀

    可編程電源使用方法

    可編程電源使用方法 可編程電源使用方法 摘要:本文詳細介紹了可編程電源的使用方法,包括其基本概念、主要功能、選擇原則、操作步驟、注意事項以及實際應用案例,旨在幫助讀者全面了解可編程電源
    的頭像 發表于 06-10 15:29 ?899次閱讀

    蓄電池測試儀的作用使用方法

    領域,因此,準確、快速地檢測蓄電池的性能對于保障設備的正常運行具有重要意義。本文將詳細介紹蓄電池測試儀的作用使用方法以及相關的注意事項。
    的頭像 發表于 05-20 17:23 ?1521次閱讀

    手柄控制代碼及使用方法

    手柄控制代碼及使用方法
    的頭像 發表于 05-15 10:19 ?1594次閱讀

    網絡測試儀概述及作用 網絡測試儀的使用方法及注意事項

    隨著信息技術的飛速發展,網絡已經成為現代社會的基礎設施,其穩定性、高效性和安全性對于個人、企業乃至國家都至關重要。為了保障網絡的正常運行,網絡測試儀作為一種專業的網絡檢測工具,發揮著不可或缺的作用。本文將對網絡測試儀的概述、作用使用方
    的頭像 發表于 05-10 15:45 ?1430次閱讀

    示波器使用方法 示波器的主要功能和作用

    示波器是一種用于測量電信號波形的儀器,它主要通過顯示電信號的振幅和時間關系,幫助工程師和技術人員進行電路分析和故障診斷。在本文中,我們將詳細介紹示波器的使用方法、主要功能和作用。 首先,讓我們來了
    的頭像 發表于 02-03 11:01 ?1362次閱讀

    接地電阻測試儀使用方法 接地電阻測試儀的作用

    接地電阻測試儀是用來測試電氣設備或建筑物接地系統的工具,可以測量接地系統的電阻值,確保設備和建筑物的安全運行。接地電阻測試儀的作用非常重要,下面將詳細介紹其使用方法作用。 一、接地電阻測試儀
    的頭像 發表于 01-30 10:50 ?2369次閱讀

    加濕器的作用及好處與壞處 加濕器的正確使用方法

    疾病的發生。然而,過度使用加濕器或錯誤使用也可能會導致空氣中的細菌和霉菌增加,對健康產生負面影響。以下是關于加濕器的作用及好處與壞處以及正確使用方法。 加濕器的作用及好處: 改善干燥環境:加濕器能夠在干燥環境
    的頭像 發表于 01-25 09:52 ?1625次閱讀

    電容器的作用及原理 電容器的使用方法

    電容器,又稱電容,是一種用于存儲電能的裝置。它由兩個導體電極和介質組成,能夠在這兩個電極上存儲和釋放電荷。電容器的作用和原理,以及其使用方法都是電學中基礎的概念。下面將詳細介紹電容器的作用
    的頭像 發表于 01-18 13:47 ?2.2w次閱讀

    筋膜槍的作用使用方法

    筋膜槍是一種用于自我按摩和肌肉放松的工具,它使用高頻率振動來促進肌肉的血液循環和新陳代謝,同時減輕壓力和疼痛。這篇文章將詳細介紹筋膜槍的作用使用方法。 一、筋膜槍的作用 放松肌肉:筋膜槍通過
    的頭像 發表于 01-11 10:42 ?5.7w次閱讀

    磁場探頭和電場探頭的使用方法與技巧

    磁場探頭和電場探頭的使用方法與技巧? 磁場探頭和電場探頭是用于測量磁場和電場的儀器。它們在科學實驗、工程設計和實際應用中都起著重要的作用。本文將詳細介紹磁場探頭和電場探頭的使用方法和技巧。 一、磁場
    的頭像 發表于 01-05 14:31 ?832次閱讀

    eeprom和flash的區別的作用

    等方面。在本文中,我們將詳細探討EEPROM和Flash Memory的作用和區別。 EEPROM是一種可編程讀寫存儲器。它使用一種特殊的電子器件來存儲和擦除信
    的頭像 發表于 12-07 16:10 ?1969次閱讀