DS28C22是一款帶有IC接口的DeepCover安全認證器,采用SHA-256算法進行雙向認證。其他功能,包括 3Kb 用戶 EEPROM 陣列、多種存儲器保護方法和高級物理安全性,相結合,可提供經(jīng)濟高效的終極 IP 保護、克隆預防和身份驗證。本文檔介紹該器件的工作原理、其特殊功能及其典型應用環(huán)境。
介紹
10多年來,SHA-1認證被用于有效保護知識產(chǎn)權(IP)免受假冒和非法復制。但是現(xiàn)在,隨著計算機技術信息處理的進步,客戶希望獲得更高級別的安全性。
如今,新的安全身份驗證器和配套的安全協(xié)處理器實現(xiàn)了SHA-256身份驗證。這項新技術提供了先進的物理安全性,可提供無與倫比的低成本 IP 保護、克隆防護和外圍認證。本文介紹基于 SHA-256 的安全系統(tǒng)的一般后勤工作,并討論身份驗證系統(tǒng)使用的雙向身份驗證功能。
安全的身份驗證系統(tǒng)
實施安全認證系統(tǒng)需要將主機系統(tǒng)與傳感器/外設模塊連接起來。圖1所示的系統(tǒng)由一個SHA-256安全認證器和一個SHA-256安全協(xié)處理器組成。主機通過行業(yè)標準 I 與身份驗證器和協(xié)處理器通信2C總線。
<
圖1.實施 SHA-256 安全認證系統(tǒng)。該系統(tǒng)采用深蓋DS2465 SHA-256安全協(xié)處理器和深蓋? DS28C22安全認證器。
SHA-256 安全認證器
此系統(tǒng)中的 SHA-256 安全身份驗證器支持 256 位的質詢大小,并使用 256 位密鑰。圖 1 中的身份驗證器是 I2具有唯一 64 位 ROM ID 的 C 從站,用作身份驗證計算的基本數(shù)據(jù)元素。系統(tǒng)設計人員可以將 3Kb 用戶 EEPROM 劃分為具有開放(未受保護)訪問的區(qū)域、主設備必須對自身進行身份驗證才能進行寫入訪問的區(qū)域以及讀寫訪問涉及數(shù)據(jù)加密的區(qū)域。加密可以與身份驗證相結合,以進一步提高數(shù)據(jù)安全性。表 1 顯示了可用的保護模式。
RP | 讀取保護。如果激活,則數(shù)據(jù)只能供內(nèi)部使用,例如,像秘密一樣。 | ||||
可濕性粉劑 | 寫保護。如果激活,則無法更改數(shù)據(jù)。 | ||||
電磁 | EPROM仿真模式。如果激活,則單個位只能從 1 更改為 0。 | ||||
美聯(lián)社 | 身份驗證保護。如果激活,對內(nèi)存的寫入訪問權限需要主身份驗證。 | ||||
歐普 | 加密保護。如果激活,數(shù)據(jù)在發(fā)送到主控制器的途中以及發(fā)送到安全身份驗證器進行寫入訪問時將被加密。 | ||||
**系統(tǒng)默認值為未激活 RP、WP、EM、AP 和 EP 時無保護。保護是累積的。 |
SHA-256 安全協(xié)處理器
圖 256 中的 SHA-1 安全協(xié)處理器使主機處理器無需執(zhí)行 SHA-256 計算。更重要的是,安全協(xié)處理器嵌入了受保護的存儲器,可以安全地存儲主密鑰。留出額外的內(nèi)存來存儲和保護用于計算唯一從屬機密的其他數(shù)據(jù)元素。從主機的角度來看,SHA-256安全協(xié)處理器顯示為256字節(jié)讀/寫存儲器,其中某些區(qū)域(數(shù)據(jù)元素)被分配用于特殊用途。
安全物流
基于 SHA 的安全性依賴于從開放數(shù)據(jù)和密鑰計算的消息身份驗證代碼 (MAC)。為了驗證真實性,雙方,即主機或協(xié)處理器和身份驗證器,必須知道機密,該秘密永遠不會暴露。此外,為了獲得最大的安全性,每個身份驗證器中的密鑰必須是唯一的。這樣,如果單個身份驗證器的機密受到損害,整個系統(tǒng)的安全性不會受到影響。
乍一看,似乎不可能滿足這些要求。但是,有一個簡單的解決方案:從已知的“成分”中計算密鑰,并將其安裝到受信任/受控的制造環(huán)境中的安全身份驗證器中。獨特秘密的成分是主秘密;綁定數(shù)據(jù);部分秘密;安全身份驗證器的 ROM ID;和填充/格式(“其他數(shù)據(jù)”)。圖 2 說明了該過程。盡管成分在某個時間點公開,例如,在受信任的制造環(huán)境中,但計算的機密永遠不會公開,并且始終保持隱藏狀態(tài)。
圖2.創(chuàng)建唯一的機密。
出于安全和存儲空間原因,系統(tǒng)中所有安全存儲器的唯一機密不能存儲在安全協(xié)處理器或主機中。相反,協(xié)處理器僅將主密鑰和綁定數(shù)據(jù)存儲在受保護的內(nèi)存部分中。部分機密是一個系統(tǒng)常量,可以在主機處理器的固件中編碼并公開通信。讀取身份驗證器的 ROM ID 后,協(xié)處理器可以計算出唯一的密鑰,如圖 2 所示。由于身份驗證器和協(xié)處理器現(xiàn)在共享唯一的密鑰,系統(tǒng)已準備好運行。
質詢和響應身份驗證
安全身份驗證器的主要目的是提供證據(jù),證明它所附加到的對象是真實的?;趯ΨQ密鑰的身份驗證使用密鑰和待身份驗證的數(shù)據(jù)(消息)作為輸入來計算 MAC。主機使用預期的密鑰和相同的消息數(shù)據(jù)執(zhí)行相同的計算;然后,它將 MAC 版本與從安全身份驗證器接收的版本進行比較。如果兩個 MAC 結果相同,則安全身份驗證器是系統(tǒng)的一部分。
在此 SHA-256 身份驗證系統(tǒng)中,消息是存儲在安全身份驗證器中的主機質詢和數(shù)據(jù)元素的組合。至關重要的是,挑戰(zhàn)必須基于隨機數(shù)據(jù)。永不改變的挑戰(zhàn)為使用記錄和重放的有效靜態(tài) MAC 而不是即時計算的 MAC 重放攻擊打開了大門。
安全身份驗證器從質詢中計算 MAC;它的秘密;內(nèi)存數(shù)據(jù);以及共同構成消息的其他數(shù)據(jù)(圖 3)。如果安全身份驗證器可以為任何質詢生成有效的 MAC,則可以安全地假設它知道密鑰,因此可以認為它是真實的。
圖3.計算質詢和響應身份驗證 MAC。
數(shù)據(jù)安全(經(jīng)過身份驗證的寫入)
除了證明真實性之外,非常希望知道存儲在安全身份驗證器中的數(shù)據(jù)是可信的。為此,安全認證器中的部分或全部EEPROM可以受到認證保護。激活身份驗證保護后,內(nèi)存寫入訪問要求主機通過向安全身份驗證器提供主機身份驗證 MAC 來證明其真實性(圖 4)。
圖4.經(jīng)過身份驗證的寫入訪問(主機身份驗證 MAC)。
主機身份驗證 MAC 是根據(jù)新的內(nèi)存數(shù)據(jù)計算的;現(xiàn)有的內(nèi)存數(shù)據(jù);安全身份驗證器的唯一密鑰和 ROM ID;以及共同構成消息的其他數(shù)據(jù)。安全身份驗證器以相同的方式計算 MAC。
真實主機已重新創(chuàng)建安全身份驗證器的密鑰,并且可以生成有效的寫入訪問 MAC。從主機接收 MAC 時,安全身份驗證器會將其與自己的結果進行比較。僅當兩個 MAC 匹配時,數(shù)據(jù)才會寫入 EEPROM。即使 MAC 正確,也無法修改寫保護的用戶內(nèi)存區(qū)域。
數(shù)據(jù)安全(加密讀寫)
DS256C28安全認證器不同于一般的SHA-22認證器,在SHA-<>認證器中,密碼永遠不會暴露,因此在存儲器讀寫訪問期間,DS<>C<>安全認證器甚至不會暴露其存儲器數(shù)據(jù)。這種增強的保護是通過傳輸過程中的數(shù)據(jù)加密來實現(xiàn)的。在芯片內(nèi)部,數(shù)據(jù)以明文形式存儲,以用于身份驗證目的。
寫訪問加密使用從主機提供的加密種子計算的一次性墊 (OTP);安全身份驗證器的機密;身份驗證器ROM ID的一部分;和其他數(shù)據(jù)(填充、格式和數(shù)據(jù)地址相關數(shù)據(jù))。如圖 5 所示,這些數(shù)據(jù)元素形成一條消息,該消息根據(jù) SHA-256 算法進行處理。生成的郵件身份驗證代碼是 OTP。主機將新內(nèi)存數(shù)據(jù)與 OTP 中的相應數(shù)據(jù)進行 XOR 運算,然后再將其發(fā)送到身份驗證器。身份驗證器再次執(zhí)行異或,恢復原始數(shù)據(jù),然后將其編程到用戶EEPROM。主機提供加密種子,該種子應為隨機數(shù)。這樣,即使主機一遍又一遍地將相同的數(shù)據(jù)寫入竊聽我的人2C總線,加密的數(shù)據(jù)總是看起來不同。
圖5.加密的寫入訪問。
讀取訪問加密與寫入訪問加密最相似。盡管消息的數(shù)據(jù)元素本質上是相同的,但“其他數(shù)據(jù)”存在差異,導致讀取訪問 OTP 與寫入訪問 OTP 不同,即使其他成分相同。如圖 6 所示,安全身份驗證器從用戶存儲器中獲取數(shù)據(jù),使用 OTP 對其進行 XOR 運算,并使主機可以訪問讀取數(shù)據(jù)。然后,主機使用其 OTP 版本執(zhí)行 XOR。如果主機可以計算安全身份驗證器的密鑰和用于加密的 OTP,則 XOR 步驟將成功解密數(shù)據(jù)。同樣,主機提供加密種子,該種子應為隨機數(shù)。現(xiàn)在,即使主機重復讀取相同的數(shù)據(jù)給竊聽的人2C總線,數(shù)據(jù)看起來總是不同的。
圖6.加密讀取訪問。
安全性(經(jīng)過身份驗證的加密寫入)
加密寫入不會阻止不知道安全身份驗證器密鑰的主機處理器寫入內(nèi)存。但是,實際寫入內(nèi)存的數(shù)據(jù)將毫無用處。誠然,人們可能會惡意磨損內(nèi)存,并以這種方式損害身份驗證器。為了防止這種情況發(fā)生,為加密設置的內(nèi)存區(qū)域應在初始寫入后進行寫保護,或者保護身份驗證以允許更改。然后,只有真實的主機才能修改內(nèi)存數(shù)據(jù)。
經(jīng)過身份驗證的加密寫入訪問包括兩個步驟。第一步,主機加密新數(shù)據(jù),如圖 5 所示,然后將其發(fā)送到安全身份驗證器。在第二步中,主機計算寫身份驗證 MAC,如圖 4 所示,然后將其發(fā)送到安全身份驗證器。與未加密的經(jīng)過身份驗證的寫入相比,MAC 現(xiàn)在根據(jù)現(xiàn)有的解密內(nèi)存數(shù)據(jù)和加密的新內(nèi)存數(shù)據(jù)進行計算。
秘密保護
安全認證器的密鑰和安全協(xié)處理器的主密鑰由硬件設計進行讀取保護。如果需要,可以對機密進行寫保護,從而通過將未知機密替換為已知機密來防止篡改身份驗證器的數(shù)據(jù)。安裝后,綁定數(shù)據(jù)(通常存儲在協(xié)處理器的存儲器中)應受到讀取保護。只要在受信任的生產(chǎn)站點為應用程序設置協(xié)處理器和身份驗證器,此級別的保護就有效。
深度掩護終極安全性
Maxim Integrated部署的DeepCover技術提供了最強大的經(jīng)濟保護,可抵御任何試圖發(fā)現(xiàn)密鑰的芯片級攻擊。DeepCover技術包括大量用于主動監(jiān)控芯片級篡改事件的電路、先進的芯片布線和布局技術,以及用于應對攻擊者復雜功能的其他專有方法。
雙向身份驗證
示例系統(tǒng)中的安全身份驗證器支持質詢和響應身份驗證以及經(jīng)過身份驗證的寫入(主機身份驗證)。整個用戶存儲器可用于質詢和響應身份驗證。雙向身份驗證適用于為安全數(shù)據(jù)存儲(經(jīng)過身份驗證的寫入)配置的內(nèi)存區(qū)域。數(shù)據(jù)加密不會妨礙質詢和響應身份驗證。身份驗證 MAC 始終根據(jù)用戶 EEPROM 中的未加密數(shù)據(jù)計算。
總結
SHA-256 的機密、質詢和 MAC 大小分別為 256 位,是對舊版 SHA-1 身份驗證的重大改進。本文介紹了一種現(xiàn)代的安全身份驗證系統(tǒng),該系統(tǒng)將主機系統(tǒng)(帶 SHA-256 安全協(xié)處理器的主控制器)與傳感器/外設模塊(SHA-256 安全身份驗證器)相匹配。SHA-256 的安全性從未如此簡單。
審核編輯:郭婷
-
處理器
+關注
關注
68文章
19851瀏覽量
234135 -
Maxim
+關注
關注
8文章
861瀏覽量
88471 -
EEPROM
+關注
關注
9文章
1084瀏覽量
83505
發(fā)布評論請先 登錄
DS2465 SHA-256協(xié)處理器與1-Wire主機功能

無線身份驗證的門禁控制系統(tǒng)設計方案
facexx人臉識別身份驗證迎來新技術革新
你的應用程序如何保持安全性?
基于FPGA的SHA-256算法實現(xiàn)
基于SHA-256安全認證工作原理的最新安全認證解決方案

安全協(xié)處理器/1-Wire? 主控器實現(xiàn)SHA-256認證

基于FPGA 的SHA-256 安全認證設計

安全哈希算法的基礎知識,如何使用算法進行身份驗證

通過質詢和響應身份驗證實現(xiàn)安全訪問控制

使用DeepCover安全身份驗證器保護您的FPGA系統(tǒng)

擁有SHA-256核心和32Kbits的EEPROM應用的加密芯片-GEN-FA

DS28E15內(nèi)置1-Wire SHA-256和512位用戶EEPROM的DeepCover安全認證方案

評論