作者: Bill Hawkins、 Zhang Feng、 Xavier Bignalet(Microchip Technology Inc.)
簡(jiǎn)介
在許多熟悉的系統(tǒng)中,通常需要對(duì)消耗品組件進(jìn)行身份驗(yàn)證。例如,打印機(jī)墨盒、車輛中的電池、化妝品盒和送藥設(shè)備中的藥物等。本文檔探討了在現(xiàn)有設(shè)計(jì)中包含Microchip的CryptoAuthentication?系列ATSHA204A安全元件以實(shí)現(xiàn)對(duì)消耗品進(jìn)行安全身份驗(yàn)證的優(yōu)勢(shì)。請(qǐng)參見圖1。
圖1:安全身份驗(yàn)證的霧化器框圖
在本示例中,我們將從Microchip的AN2265“Vibrating Mesh Nebulizer Reference Design”(DS00002265) 開始,其中介紹了振動(dòng)式網(wǎng)孔霧化器及其如何使用Microchip獨(dú)立于內(nèi)核的外設(shè)實(shí)現(xiàn)。本文檔介紹了如何更新霧化器參考設(shè)計(jì)以包含可拆卸振動(dòng)網(wǎng)和藥盒的安全身份驗(yàn)證來增強(qiáng)設(shè)計(jì)。
霧化器參考設(shè)計(jì)具有用于固定振動(dòng)網(wǎng)(將隨時(shí)間逐漸磨損)和供應(yīng)藥物(一種耗材供應(yīng))的可拆卸藥盒。這種儲(chǔ)存藥物的可拆卸藥盒會(huì)極大地影響設(shè)備的性能。
出于以下幾個(gè)原因,制造商可能希望保護(hù)這些藥盒應(yīng)用不受第三方供應(yīng)商的影響:
客戶對(duì)設(shè)備的質(zhì)量和功能的印象在很大程度上受藥盒內(nèi)物質(zhì)的影響。當(dāng)更換的第三方藥盒不滿足制造商的標(biāo)準(zhǔn),并且提供的性能低于客戶的預(yù)期時(shí),制造商而不是第三方藥盒廠商會(huì)接收到投訴。
尤其是在醫(yī)療行業(yè)中,允許不受控地訪問設(shè)備可能會(huì)導(dǎo)致制造商因用藥劑量錯(cuò)誤、藥物受到污染甚至是消耗品藥盒中的藥物出錯(cuò)而承擔(dān)責(zé)任。
另一個(gè)原因是為了保護(hù)收入來源。典型的業(yè)務(wù)模式包括消耗品銷售將提供支撐公司主要收入來源的預(yù)期。如果第三方可以在同一個(gè)市場(chǎng)上銷售,那么制造商的收入會(huì)降低,而這部分收入本應(yīng)補(bǔ)償基本單元和研發(fā)(Research and development,R D)的成本。
本文檔介紹了對(duì)霧化器進(jìn)行的安全增強(qiáng),包括對(duì)可拆卸 藥盒進(jìn)行身份驗(yàn)證和跟蹤其使用情況,并且可能限制藥 盒的使用以避免出現(xiàn)硬件磨損、未授權(quán)重填和重用舊藥 盒等問題。
引入ATSHA204A
霧化器的藥盒中使用ATSHA204A芯片向基本單元對(duì)藥盒進(jìn)行身份驗(yàn)證。ATSHA204A具有用于使能身份驗(yàn)證的多種功能,例如SHA-256哈希算法、安全EEPROM、惟一序列號(hào)、高質(zhì)量隨機(jī)數(shù)發(fā)生器和I 2C接口或單線接口。
SHA-256加密引擎
ATSHA204A在硬件中集成了SHA-256哈希算法。該哈希函數(shù)使用輸入流(質(zhì)詢)并產(chǎn)生256位(32字節(jié))輸出(響應(yīng))。哈希函數(shù)的兩個(gè)主要特性如下:
? 無法從哈希輸出重新生成輸入流。
? 無法改變輸入流并獲得相同的哈希輸出。
ATSHA204A將使用主機(jī)單片機(jī)提供的質(zhì)詢字符串生成哈希密鑰。單片機(jī)還可以使用該質(zhì)詢字符串和密鑰來執(zhí)行哈希函數(shù)。如果哈希輸出與主機(jī)單片機(jī)預(yù)期的輸出一致,則證明ATSHA204A器件知道相同的密鑰。
安全EEPROM/密鑰存儲(chǔ)
ATSHA204A具有512字節(jié)的EEPROM,按十六個(gè)32字節(jié)槽排列。其中任何一個(gè)槽都可以配置為要在哈希函數(shù)中使用的密鑰值。當(dāng)配置ATSHA204A時(shí),槽中的值可以受到寫保護(hù)、讀保護(hù)、用其他槽作為密鑰進(jìn)行加密或者保留為可讀/可寫的EEPROM存儲(chǔ)單元。提供物理防篡改和邊信道保護(hù),以防止有人解密和探測(cè)器件芯片來讀取存儲(chǔ)器。
惟一序列號(hào)
保證每個(gè)ATSHA204A都有惟一的72位(9字節(jié))序列號(hào),從而允許制造商通過連接的ATSHA204A惟一識(shí)別任何器件。
高質(zhì)量隨機(jī)數(shù)發(fā)生器
ATSHA204A具有基于噪聲源的高質(zhì)量隨機(jī)數(shù)發(fā)生器。這可以用來生成將只使用一次的惟一質(zhì)詢,并防止攻擊設(shè)備記錄質(zhì)詢和響應(yīng)以在主機(jī)上回放來冒充有效器件。
I2C/單線接口
ATSHA204A提供I2C接口或單線接口,允許藥盒在接口中具有最少的觸點(diǎn)。經(jīng)過身份驗(yàn)證的霧化器使用單線接口,這種接口采用具有三個(gè)大型焊盤的芯片封裝。ATSHA204A芯片采用可粘到藥盒上的設(shè)計(jì),主機(jī)只提供滑動(dòng)觸點(diǎn)來連接到藥盒(就像電池連接器一樣),這樣藥盒就無需電路板或配對(duì)連接器。
如何使用ATSHA204A進(jìn)行身份驗(yàn)證?
安全霧化器演示是單芯片系統(tǒng)設(shè)計(jì)。PIC16F1718運(yùn)行整個(gè)操作,包括使用ATSHA204A進(jìn)行身份驗(yàn)證所需的質(zhì)詢/響應(yīng)。請(qǐng)參見圖2
圖2:ATSHA204A身份驗(yàn)證框圖
PIC16具有16個(gè)存儲(chǔ)在存儲(chǔ)器中的質(zhì)詢/響應(yīng)對(duì)。每次使用器件時(shí),都會(huì)對(duì)藥盒進(jìn)行身份驗(yàn)證。當(dāng)用戶按下按鈕來啟動(dòng)霧化器時(shí),PIC16主機(jī)會(huì)向藥盒上的ATSHA204A發(fā)送32字節(jié)質(zhì)詢。然后,ATSHA204A使用密鑰對(duì)質(zhì)詢進(jìn)行哈希運(yùn)算,并將值返回到PIC16。返回的值與預(yù)期的響應(yīng)進(jìn)行比較,如果匹配,則允許霧化器運(yùn)行。如果不匹配,霧化器的紅色LED指示燈會(huì)點(diǎn)亮幾秒鐘,然后再熄滅。霧化器通過使用自由運(yùn)行定時(shí)器中的低4位從16個(gè)質(zhì)詢中進(jìn)行選擇,但具體數(shù)量無法預(yù)測(cè)。
由于PIC16存儲(chǔ)有限數(shù)量的質(zhì)詢/響應(yīng)對(duì),這就意味著克隆器件只需處理幾個(gè)用例即可破壞該系統(tǒng)的安全性。為了防止出現(xiàn)這種情況,可以為每個(gè)PIC16主機(jī)編程惟一的質(zhì)詢/響應(yīng)對(duì),這樣一來,通過這種方式創(chuàng)建的克隆器件便無法在任何其他器件上工作。
身份驗(yàn)證方法可保護(hù)配件/一次性用品,但無法防止克隆主機(jī)(在新系統(tǒng)中復(fù)制質(zhì)詢/響應(yīng)對(duì))。要實(shí)現(xiàn)更高級(jí)別的安全性,需要在主機(jī)MCU旁邊添加獨(dú)立安全元件(ATSHA204A)。請(qǐng)參見圖3。該主機(jī)ATSHA204A會(huì)為藥盒ATSHA204A產(chǎn)生隨機(jī)質(zhì)詢,并提供響應(yīng)以與來自藥盒ATSHA204A的響應(yīng)進(jìn)行比較。此外,密鑰派生實(shí)現(xiàn)將進(jìn)一步提高解決方案的穩(wěn)健性。
圖3:對(duì)稱身份驗(yàn)證
作為ATSHA204A的替代產(chǎn)品,ATSHA206A是外形受限應(yīng)用的理想解決方案,在此類應(yīng)用中,由于藥盒尺寸受限而無法容納任何PCB,因此只能采用2引腳封裝。2引腳ATSHA206A或3引腳ATSHA204A可以塑封到一次性藥盒中。ATSHA206A的內(nèi)部添加了集成電容,可在電源引腳上提供寄生電源能力。本質(zhì)上,數(shù)據(jù)和電源共用同一個(gè)引腳。
限制藥盒的使用
經(jīng)過身份驗(yàn)證的霧化器保存每個(gè)藥盒的使用計(jì)數(shù)。此數(shù)據(jù)可用于限制藥盒的使用。有多種機(jī)制可實(shí)現(xiàn)此功能。ATSHA204A器件包含EEPROM和SRAM兩個(gè)存儲(chǔ)器塊。EEPROM分為三個(gè)區(qū)域:數(shù)據(jù)區(qū)域、配置區(qū)域和 一次性編程(One-Time-Programmable,OTP)區(qū)域。
數(shù)據(jù)區(qū)域分為16個(gè)通用存儲(chǔ)器槽。EEPROM數(shù)據(jù)區(qū)域中的任何槽都可用于存儲(chǔ)密鑰。
配置區(qū)域中有128位分配為L(zhǎng)astKeyUse,可用于限制存儲(chǔ)在Slot 15中的密鑰編號(hào)15的使用。每次使用Slot15作為密鑰時(shí),這128位都會(huì)清零。沒有復(fù)位機(jī)制。在 使用128次之后,將永久禁止Slot/Key 15。因此,每個(gè)藥盒的使用計(jì)數(shù)可以限制為128次或更少。
此外,還有512位的OTP存儲(chǔ)器可用于存儲(chǔ)只讀數(shù)據(jù)或單向熔絲型消耗記錄信息。在消耗模式下配置時(shí),這些位可以寫入0,但不能寫回1。因此,在OTP存儲(chǔ)器為全零之前,可以將0移入OTP存儲(chǔ)器512次。在OTP存 儲(chǔ)器為全零之后,可以禁止使用藥盒。
如果藥盒的使用次數(shù)小于這些值(Slot 15為128次, OTP為512次),則可以將其中一些位預(yù)編程為零,以便根據(jù)需要提供所需的次數(shù)。
關(guān)于安全增強(qiáng)功能的深入探討
存儲(chǔ)在主機(jī)MCU、ATSHA204A或公司計(jì)算機(jī)系統(tǒng)中的機(jī)密信息密鑰必須受到絕對(duì)保護(hù)。如果密鑰泄露,則安全功能將不再起作用,產(chǎn)品也很容易遭到克隆。
Microchip的一些32位單片機(jī)具有穩(wěn)健的安全性,能夠提供可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)、加密加速器、安全引導(dǎo)和安全自舉程序等。例如,圖4顯示了一個(gè)SAM L11作為配件身份驗(yàn)證應(yīng)用中 (其中SAM L11增加了穩(wěn)健性)的主機(jī)MCU正在托管TEE,即從MCU到安全元件的CryptoAuthlib API調(diào)用。TEE將Cryptoauthlib API回調(diào)會(huì)離開的關(guān)鍵代碼與系統(tǒng)的其余部分隔離,并避免固件更改。
圖4:一次性藥盒身份驗(yàn)證
存儲(chǔ)在ATSHA204A中的一次性藥盒的密鑰不會(huì)遭到窺探。ATSHA204A只是Microchip提供的其中一種安全芯片。Microchip還提供其他使用公鑰加密(用于網(wǎng)絡(luò)身份驗(yàn)證)的芯片來防止單一密鑰泄露。每個(gè)芯片都有自己的密鑰,其真實(shí)性由證書確定,該證書提供了器件到根證書頒發(fā)機(jī)構(gòu)的可追溯性。這些芯片的說明超出了本文檔的范圍,可通過Microchip網(wǎng)站上的安全設(shè)計(jì)中心查看更多信息,網(wǎng)址如下:https://www.microchip.com/design-centers/security-ics
來源:Microchip 工程師社區(qū)
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6050文章
44704瀏覽量
641307 -
microchip
+關(guān)注
關(guān)注
52文章
1528瀏覽量
118037 -
EEPROM
+關(guān)注
關(guān)注
9文章
1048瀏覽量
82390 -
霧化器
+關(guān)注
關(guān)注
1文章
60瀏覽量
16925
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
PIC16系列單片機(jī)的ID碼解讀
貼片機(jī)的主要消耗品
PN5180無法使用mifare classic進(jìn)行身份驗(yàn)證怎么解決?
如何使用TapLinx針對(duì)Ultralight C進(jìn)行身份驗(yàn)證?
PIC16系列單片機(jī)C程序設(shè)計(jì)與PROTEUS仿真
AN909中文手冊(cè)之SPI串行EEPROM與PIC16單片機(jī)的接口設(shè)計(jì)

PIC16(L)F170X/171X智能模擬閃存單片機(jī)產(chǎn)品手冊(cè)

密碼認(rèn)證ATSHA204A和ATECC508A加密器件的個(gè)性化指南

PIC16(L)F1782/1783單片機(jī)手冊(cè)
ATSHA204A的國(guó)產(chǎn)替代方案—RJGT102

ATSHA204A國(guó)產(chǎn)替代新選擇:LCSHA204加密芯片介紹

評(píng)論