探索Atmel AT88SA102S:加密認證芯片的技術奧秘
在電子設備的安全認證領域,Atmel AT88SA102S加密認證芯片是一款具有重要地位的產品。盡管它已不推薦用于新設計,被ATSHA204所取代,但其中蘊含的技術原理和設計思路,依然值得電子工程師們深入探究。
文件下載:AT88SA102S-SH-T.pdf
芯片特性與應用
特性亮點
AT88SA102S具有諸多出色特性。它采用了安全認證和密鑰交換技術,運用了卓越的SHA - 256哈希算法,擁有256位的密鑰長度,這使得它在安全性上表現卓越,能有效抵御各種攻擊。每顆芯片都有一個保證唯一的48位序列號,這為設備的識別和認證提供了基礎。其高速單總線接口,能實現高效的數據傳輸。工作電壓范圍在2.7V - 5.25V之間,且能在1.8V - 5.25V進行通信,睡眠電流小于150nA,具有良好的低功耗特性。同時,它具備多級硬件安全機制和安全個性化功能,并且符合綠色標準(超過RoHS),提供3引腳SOT - 23或8引腳SOIC封裝。
應用場景
該芯片的應用場景廣泛,可用于可替換物品的認證、軟件防盜版、網絡和計算機訪問控制、便攜式媒體播放器和GPS系統等。它還能為加密下載進行密鑰交換,防止演示和評估板被克隆,實現控制網絡的認證通信,為子卡提供防克隆認證,以及用于物理訪問控制(如電子鎖和鑰匙)。
芯片內部結構與功能
內存資源
AT88SA102S的內存資源豐富,包括128位的熔絲(Fuse)、ROM、ROM MfrID、ROM SN和RevNum等。熔絲可通過單線接口寫入,其中部分熔絲有特殊含義,如Fuse[1]和Fuse[87]。ROM是金屬掩膜編程的內存,前64位可無限制讀取。ROM MfrID指定了部分制造ID代碼,ROM SN可用于識別晶圓上的芯片,RevNum用于識別芯片的型號掩碼和設計版本。
熔絲映射
芯片內部有128個一次性熔絲,一旦熔斷就無法重置。不同的熔絲有不同的功能,如BurnFuse Enable熔絲用于控制BurnFuse命令的啟用;Secret Fuses用于增強芯片內存儲的密鑰;Status Fuses可用于存儲非機密信息,如校準或型號信息、消費記錄等;Fuse Disable熔絲用于控制MAC命令對熔絲值的讀取和BurnSecure命令的啟用。
芯片識別
芯片包含72位信息用于可靠地區分不同芯片。其中,48位的序列號由ROM SN(16位)和Fuse SN(32位)組成,保證了所有Atmel CryptoAuthentication系列設備的序列號唯一;24位的制造ID由ROM MfrID(16位)和Fuse MfrID(8位)組成,通常同一型號的芯片該值相同。
密鑰值
芯片內部密鑰數組中的值在晶圓制造時被硬連線到芯片的掩膜層,所有芯片內部存儲的密鑰相同,但外部無法確定特定密鑰的值。客戶應將唯一的(且保密的)數字編程到64位的秘密熔絲中,并安全存儲Atmel提供的密鑰值。
SHA - 256計算
AT88SA102S僅執行一種加密計算,即對輸入挑戰進行密鑰摘要。它會根據特定算法計算SHA - 256摘要,在計算時會包含芯片上存儲的各種信息。在使用標準庫計算SHA - 256摘要時,通常不需要傳遞填充和長度位,因為大多數標準軟件實現會自動添加這些。
安全特性
芯片采用了多種物理安全特性來保護密鑰不被泄露,包括覆蓋整個芯片表面的有源屏蔽、內部內存加密、內部時鐘生成、毛刺保護、電壓篡改檢測等。預編程的密鑰經過加密處理,使得通過外部分析獲取其值變得非常困難。
通信協議與參數
IO協議
AT88SA102S通過異步定時的單總線使用脈沖計數方案進行通信,通信結構呈層次化,包括令牌(Tokens)、標志(Flags)、塊(Blocks)和數據包(Packets)。令牌用于傳輸單個數據位或喚醒事件;標志由8個令牌組成,用于傳達下一組位的方向和含義;塊包含字節計數和校驗和,確保數據傳輸的正確性;數據包是命令或狀態信息的核心。
AC參數
芯片的AC參數規定了各種信號的時間要求,如喚醒低電平持續時間(tWLO)、喚醒到數據通信的延遲(tWHI)、起始脈沖持續時間(tSTART)等。這些參數對于保證芯片的正常通信至關重要。
DC參數
DC參數包括工作溫度、電源電壓、熔絲熔斷電壓、電源電流等。工作溫度范圍為 - 40°C到85°C,電源電壓范圍為2.7V - 5.25V,熔絲熔斷電壓為3.0V - 5.25V。芯片在睡眠模式下的電源電流非常低,不同溫度下有所不同。
IO標志
系統在進行IO事務前,需向芯片發送8位標志來指示要執行的IO操作,包括命令(0x77)、傳輸(0x88)和睡眠(0xCC)標志。其他值為保留值,將被忽略。
同步與看門狗
由于通信協議是半雙工的,系統和芯片可能會失去同步。為了快速恢復,芯片實現了超時機制,在一定時間內未收到足夠的位或傳輸非法令牌,芯片將進入睡眠狀態。同時,芯片還有看門狗機制,在收到喚醒令牌后啟動計數器,達到一定時間后芯片將進入睡眠模式,以確保無論系統或芯片內部狀態如何,功耗都能自動降至低睡眠水平。
命令與操作
命令結構
命令數據包由操作碼(Opcode)、參數1(Param1)、參數2(Param2)和可選的數據組成。如果命令執行失敗,系統會根據不同情況收到相應的錯誤響應。
具體命令
- MAC命令:計算芯片內部存儲的密鑰、輸入挑戰和其他芯片信息的SHA - 256摘要。如果消息包含芯片的序列號,則響應具有多樣性,可提高安全性。
- Read命令:從熔絲或ROM中讀取4字節數據,若嘗試讀取非法熔絲地址將返回錯誤。
- BurnFuse命令:用于熔斷狀態熔絲位(Fuse[64] - Fuse[86]),若BurnFuse啟用位(Fuse 1)已熔斷為0,則執行該命令將返回錯誤。
- GenPersonalizationKey命令:將個性化密鑰加載到內部內存,并使用輸入種子生成解密摘要。該命令在Fuse[87]熔斷時將失敗。
- BurnSecure命令:可熔斷前88位熔絲的任意組合,驗證熔絲狀態需使用MAC命令。該命令可對輸入的熔絲映射參數進行加密,加密密鑰由GenPersonalizationKey命令計算得出。
- PauseLong命令:使芯片進入暫停狀態,直到看門狗定時器到期后自動進入睡眠狀態。該命令用于防止系統中多個AT88SA102S芯片或與CryptoAuthentication主機芯片共享同一信號線時發生總線沖突。
引腳與封裝
引腳定義
芯片有Signal、VCC和GND三個主要引腳,分別用于數據傳輸、電源供應和接地。在3引腳SOT - 23封裝和8引腳SOIC封裝中,引腳的排列和功能有所不同。
封裝信息
芯片提供3引腳SOT - 23和8引腳SOIC兩種封裝,文檔中詳細給出了這兩種封裝的尺寸和相關參數,工程師在設計時可根據實際需求進行選擇。
訂購信息與修訂歷史
訂購代碼
提供了兩種訂購代碼,分別對應不同的封裝類型(SOT和SOIC),電壓范圍均為2.7V - 5.25V,適用于工業溫度范圍( - 40°C到85°C),且符合綠色標準。
修訂歷史
文檔記錄了芯片數據手冊的修訂歷史,包括不同版本的發布時間和主要修改內容,這有助于工程師了解芯片的發展和改進過程。
Atmel AT88SA102S加密認證芯片在安全認證領域展現了豐富的技術內涵和廣泛的應用潛力。盡管它已被新的產品取代,但其中的設計理念和技術細節,依然能為電子工程師在設計和開發安全相關的電子設備時提供寶貴的參考。大家在實際應用中,是否遇到過類似芯片的使用問題呢?歡迎在評論區分享交流。
-
技術原理
+關注
關注
0文章
5瀏覽量
6616 -
AT88SA102S
+關注
關注
0文章
2瀏覽量
7593
發布評論請先 登錄
探索Atmel AT88SA102S:加密認證芯片的技術奧秘
評論