Microchip ATSHA204A:高安全性硬件認證設備的深度解析
在當今數字化時代,數據安全至關重要。Microchip的ATSHA204A作為CryptoAuthentication?家族的一員,是一款高安全性硬件認證設備,為眾多應用場景提供了強大的安全保障。本文將深入剖析ATSHA204A的特點、應用、組織架構、安全特性、I/O接口、電氣特性以及安全命令等方面,幫助電子工程師更好地了解和應用這款設備。
1. 產品特性
1.1 硬件級密鑰存儲與加密
ATSHA204A具備受保護的基于硬件的密鑰存儲功能,采用先進的加密技術,確保密鑰的安全性。其擁有256位的密鑰長度,最多可存儲16個密鑰,為數據安全提供了堅實的基礎。
1.2 安全的對稱認證機制
支持主機和客戶端操作的安全對稱認證,采用卓越的SHA - 256哈希算法,結合消息認證碼(MAC)和基于哈希的消息認證碼(HMAC)選項,有效防止數據被篡改和偽造。
1.3 唯一序列號與隨機數生成
每臺ATSHA204A都配有保證唯一的72位序列號,可用于身份驗證和防克隆。同時,內部高質量的隨機數生成器(RNG)能夠生成32字節的隨機數,為加密操作提供了可靠的隨機源,有效防止重放攻擊。
1.4 大容量EEPROM與OTP
擁有4.5kb的EEPROM用于存儲密鑰和數據,其中包括512位的一次性可編程(OTP)位,可用于存儲固定信息,如序列號、校準數據等。
1.5 多種I/O接口
支持UART兼容的高速單總線接口和1MHz的I2C接口,可根據不同的應用場景選擇合適的通信方式。工作電壓范圍為2.0V至5.5V,通信電壓范圍為1.8V至5.5V,睡眠電流小于150nA,具有低功耗的特點。
1.6 安全下載與啟動
提供生態系統控制、消息安全和防克隆等功能,確保設備在啟動和運行過程中的安全性。
1.7 多種封裝形式
提供8引腳SOIC、8引腳TSSOP、3引腳SOT23、8焊盤UDFN和3引腳CONTACT等多種封裝形式,滿足不同應用的需求。
2. 應用場景
2.1 防偽認證
可用于驗證可移動、可替換或消耗性客戶端的真實性,如打印機墨盒、電子子卡、醫療一次性用品或備件等。還可用于驗證軟件/固件模塊或內存存儲元件。
2.2 固件和媒體保護
在啟動時驗證存儲在閃存中的代碼,防止未經授權的修改(即安全啟動),對下載的媒體文件進行加密,并對代碼映像進行唯一加密,確保其只能在單個系統上使用。
2.3 會話密鑰交換
安全、輕松地交換流加密密鑰,供系統微處理器中的加密/解密引擎使用,以管理機密通信通道、加密下載等。
2.4 數據安全存儲
存儲標準微處理器中加密加速器使用的秘密密鑰,還可用于存儲配置、校準、電子錢包值、消費數據等少量數據,支持可編程保護,包括加密/認證的讀寫操作。
2.5 用戶密碼驗證
驗證用戶輸入的密碼,同時不泄露預期值,將簡單密碼映射到復雜密碼,并與遠程系統安全交換密碼值。
3. 設備組織架構
3.1 EEPROM組織
EEPROM總容量為664字節(5312位),分為數據區、配置區和OTP區。
- 數據區:512字節(4kb),分為16個通用的只讀或讀寫內存槽,每個槽32字節(256位),可用于存儲密鑰、校準數據等。訪問策略由配置區的相應值決定,鎖定配置區后,可使用Write命令寫入數據。
- 配置區:88字節(704位),包含序列號和其他ID信息,以及數據區每個槽的訪問權限信息。配置區可在鎖定前修改,鎖定后不可寫。
- OTP區:64字節(512位),可用于只讀存儲。在鎖定配置區和OTP區之前,可使用Write命令寫入數據,鎖定后根據OTP模式控制訪問權限。
3.2 靜態RAM(SRAM)
SRAM用于存儲輸入命令、輸出結果、中間計算值和臨時密鑰(TempKey)。當設備進入睡眠模式或斷電時,SRAM內容無效。TempKey可作為MAC、HMAC、CheckMac、GenDig和DeriveKey命令的輸入,也可作為Read和Write命令的數據保護密鑰。
4. 安全特性
4.1 物理安全
ATSHA204A采用了多種物理安全措施,如有源屏蔽、內部內存加密、安全測試模式、毛刺保護、電壓和溫度篡改檢測等,防止EEPROM內容被未經授權的訪問。
4.2 隨機數生成器(RNG)
內部的RNG可生成高質量的隨機數,與輸入的隨機數結合形成隨機數(nonce),存儲在TempKey中,用于后續的加密命令。在鎖定配置區之前,RNG返回固定的32字節值,方便系統測試。
5. 通用I/O信息
5.1 通信協議
支持單總線接口和I2C接口兩種通信協議。單總線接口只需一個GPIO連接,位速率可達25.6kb/s,兼容標準UART信號;I2C接口支持最高1Mb/s的位速率,與Microchip AT24C16串行EEPROM接口兼容。
5.2 字節和位順序
在單總線接口上,數據以LSb(最低有效位)先傳輸;在I2C接口上,數據以MSb(最高有效位)先傳輸。
6. 單總線接口
6.1 I/O令牌
單總線接口使用多種I/O令牌進行通信,包括喚醒(Wake)、邏輯0(Zero)、邏輯1(One)等輸入令牌,以及ZeroOut和OneOut等輸出令牌。喚醒令牌用于喚醒設備,邏輯0和邏輯1令牌用于傳輸數據。
6.2 I/O標志
系統在進行I/O事務之前,需發送8位標志給設備,指示后續的I/O操作,如睡眠(Sleep)、空閑(Idle)、命令(Command)、傳輸(Transmit)等。
6.3 同步與共享
為防止系統和設備失去同步,設備實現了超時機制,在一定條件下強制進入睡眠狀態。多個CryptoAuthentication設備可共享單總線接口,通過喚醒令牌和暫停命令(Pause)實現設備的選擇和管理。
6.4 接線配置
單總線接口可采用3線或2線配置。3線配置使用SDA、VCC和GND;2線配置中,SDA和GND連接,設備可從SDA引腳竊取電源并存儲在旁路電容上。
7. I2C接口
7.1 I/O條件
當設備處于睡眠狀態時,僅響應喚醒條件;當設備處于喚醒狀態時,遵循數據0、數據1、起始條件、停止條件、確認(ACK)和非確認(NACK)等I/O條件。
7.2 數據傳輸
I2C傳輸包括起始條件、設備地址字節、字地址字節、可選數據字節和停止條件。系統發送命令后,可通過輪詢或單延遲方式等待命令完成。
7.3 地址計數器
I2C接口的讀寫操作將設備的I/O緩沖區視為FIFO,地址計數器控制數據的讀寫位置。可通過發送特定的字地址(如0x00)重置地址計數器。
7.4 同步與事務示例
當系統與設備失去同步時,可通過發送標準的I2C軟件重置序列、喚醒令牌等方式重新同步。文檔中提供了I2C接口的事務示例,幫助工程師理解和實現通信。
8. 電氣特性
8.1 絕對最大額定值
包括工作溫度范圍(-40°C至+85°C)、存儲溫度范圍(-65°C至+150°C)、最大工作電壓(6.0V)、直流輸出電流(5.0mA)等。
8.2 可靠性
采用Microchip CMOS EEPROM制造技術,具有高可靠性。EEPROM的寫入耐久性為100,000次,數據保留時間在不同溫度下有所不同。
8.3 AC參數
包括喚醒低持續時間、喚醒高延遲、高低側毛刺濾波等參數,確保通信的穩定性。
8.4 DC參數
涵蓋環境工作溫度、電源電壓、有源電源電流、空閑電源電流、睡眠電流、輸出低電壓和電流等參數。輸入電壓閾值根據設備狀態和TTLenable位的設置而變化。
9. 安全命令
9.1 I/O塊與狀態/錯誤代碼
命令和響應以塊的形式傳輸,塊包括計數、數據和校驗和。設備沒有專用的狀態寄存器,輸出FIFO共享狀態、錯誤和命令結果。常見的狀態/錯誤代碼包括成功執行(0x00)、Checkmac不匹配(0x01)、解析錯誤(0x03)、執行錯誤(0x0F)等。
9.2 睡眠、空閑和看門狗機制
系統使用完設備后,可發送睡眠序列將設備置于低功耗模式;在看門狗間隔內,可發送空閑序列防止設備自動進入睡眠狀態。看門狗計數器在設備接收到喚醒令牌后啟動,超時后設備進入睡眠模式。
9.3 命令序列
命令包包括命令標志、計數、操作碼、參數和校驗和。不同命令的執行時間因命令類型和參數而異,文檔中提供了詳細的命令操作碼、簡短描述和執行時間列表。
9.4 具體命令介紹
- CheckMac命令:計算并比較MAC響應,返回布爾結果。可根據模式參數選擇密鑰和挑戰/隨機數的來源,滿足特定條件時可將目標槽值復制到TempKey。
- DeriveKey命令:將當前密鑰值與TempKey中的隨機數結合,生成新的密鑰并存儲在目標槽中。執行前需運行Nonce命令生成有效隨機數,根據配置位的不同,可實現密鑰滾動或創建新密鑰的功能。
- DevRev命令:返回設備的修訂號。
- GenDig命令:使用SHA - 256算法將存儲的值與TempKey內容結合,生成數據保護摘要,存儲在TempKey中,可用于后續的加密命令。
- HMAC命令:計算HMAC/SHA - 256摘要,結合設備中的密鑰、挑戰和其他信息。
- Lock命令:鎖定指定區域,防止進一步修改。鎖定前會計算指定區域的CRC摘要,與輸入摘要匹配才能成功鎖定。
- MAC命令:計算SHA - 256摘要,與HMAC命令類似,但計算復雜度較低。
- Nonce命令:生成隨機數并存儲在TempKey中,可選擇將輸入值與內部生成的隨機數結合,或直接將輸入值傳遞給TempKey。
- Pause命令:選擇性地將共享總線上的設備置于空閑狀態,防止總線沖突。
- Random命令:生成隨機數供系統使用。
- Read命令:從設備的內存區域讀取數據,可選擇加密讀取。讀取前需根據SlotConfig的設置運行GenDig命令生成加密密鑰。
- SHA命令:計算SHA - 256摘要,可用于通用目的。
- UpdateExtra命令:更新配置區的兩個額外字節,可用于快速遞減有限使用計數器。
- Write命令:向設備的EEPROM區域寫入數據,根據WriteConfig的設置,數據可能需要加密。寫入前需確保TempKey有效,并根據槽號和配置位的要求設置TempKey的參數。
10. 兼容性與機械信息
10.1 兼容性
ATSHA204A與ATSHA204在所有主機、客戶端和個性化操作方面完全兼容,并在一些方面進行了改進,如降低有源功耗、支持兩線連接模式、增加SHA命令、加強寫操作的安全性等。
10.2 機械信息
提供多種封裝形式的引腳排列和封裝尺寸信息,包括8焊盤UDFN、8引腳SOIC、8引腳TSSOP、3引腳SOT23和3引腳CONTACT等。同時,文檔中還提供了各封裝形式的詳細圖紙和推薦的焊盤尺寸。
11. 參考與應用筆記
11.1 SHA - 256和HMAC/SHA - 256算法
ATSHA204A使用SHA - 256和HMAC/SHA - 256算法進行加密計算,文檔中提供了相關算法的參考鏈接和詳細的消息處理說明。
11.2 密鑰管理
包括多樣化密鑰、滾動密鑰、創建密鑰、有限使用密鑰等功能。多樣化密鑰可結合設備的序列號提高安全性;滾動密鑰可防止密鑰的重復使用;創建密鑰可根據父密鑰生成唯一的臨時密鑰;有限使用密鑰可限制密鑰的使用次數。
11.3 密碼驗證
ATSHA204A可安全存儲預期密碼,通過CheckMac命令進行密碼驗證,并提供多種密碼驗證選項,如返回布爾結果、生成保護密鑰、釋放高熵秘密等。
11.4 傳輸密鑰
設備內部的硬件密鑰陣列(傳輸密鑰)可用于安全個性化,通過GenDig命令使用。SlotID值大于等于0x8000時,引用傳輸密鑰;小于0x8000時,引用EEPROM數據區的密鑰。
總結
Microchip的ATSHA204A是一款功能強大、安全性高的硬件認證設備,適用于多種應用場景。其豐富的特性、靈活的命令集和多種封裝形式為電子工程師提供了廣闊的設計空間。通過深入了解ATSHA204A的各個方面,工程師可以更好地利用該設備,為系統提供可靠的安全保障。在實際應用中,工程師需要根據具體需求選擇合適的通信接口、配置設備參數,并合理使用安全命令,以確保設備的安全性和穩定性。同時,還需關注設備的兼容性和機械信息,選擇合適的封裝形式進行設計。希望本文能為電子工程師在使用ATSHA204A時提供有益的參考。你在實際應用中是否遇到過類似設備的使用問題呢?歡迎在評論區分享你的經驗和見解。
-
數據安全
+關注
關注
2文章
796瀏覽量
30884 -
ATSHA204A
+關注
關注
0文章
8瀏覽量
3053
發布評論請先 登錄
Microchip ATECC608A:高性能加密認證芯片的全面剖析
深入解析Microchip ATSHA204A:高安全加密認證芯片的卓越之選
Atmel ATSHA204 CryptoAuthentication 芯片深度剖析:安全與應用的完美融合
Atmel ATSHA204 CryptoAuthentication器件全解析:安全與功能的完美融合
深入剖析Microchip ATECC608B:高安全加密認證設備的卓越之選
探索 ATECC608B:高安全性加密認證設備的卓越之選
探秘Microchip ATECC608B:高安全性的加密認證芯片
探索ATECC608B:高安全性加密認證設備的卓越之選
深入解析Microchip ATECC608A CryptoAuthentication? 設備
探秘Microchip ATECC608A:高安全加密利器
深入解析Microchip ATSHA204A:高安全性硬件認證的理想之選
探索Microchip ATECC608A:高安全加密認證設備的卓越之選
?Microchip ECC204安全認證IC技術解析與應用指南
Microchip SHA104安全認證芯片技術解析與應用指南
Microchip ATSHA204A:高安全性硬件認證設備的深度解析
評論