從復制保護您的MCU設計和逆向工程
雙核微控制器
另一種方法在更復雜的系統實(shí)施的安全性是使用雙核的MCU。一個(gè)單片機芯可以專(zhuān)用于執行,而另一個(gè)芯可以用于更標準的操作的安全性的功能。恩智浦半導體LPC4370雙核MCU(圖3)具有兩個(gè)CPU核心,一個(gè)是ARM的Cortex-M4,另一個(gè)是了ARM Cortex-M0。了Cortex-M4內核可用于應用程序的“繁重”的部分,而在Cortex-M0內核,可用于實(shí)現安全相關(guān)的功能和常用的外設功能 - 或許是管理以太網(wǎng)和USB端口,配置各種端口和管理所有的片外資源。

圖3:恩智浦LPC43xx雙核MCU可以用來(lái)保護你的設計。 (NXP提供)對于更先進(jìn)的安全設計,可選的AES加密和解密引擎,提供對LPC43Sxx設備,可以用來(lái)加速標準密碼函數,例如AES,CMAC,以及隨機數生成。 AES密鑰可以安全地存儲在片上的一次性可編程(OTP)存儲器和任選加密以額外的保護。將AES硬件甚至可以用來(lái)實(shí)現安全啟動(dòng)功能(確保引導代碼沒(méi)有被篡改 - 黑客用來(lái)攻擊嵌入式系統的安全方面擁有共同的目標)從加密圖像,以進(jìn)一步保護設計IP。
安全外設
如果你想增加現有的MCU與一些附加的安全功能,您可以添加一個(gè)安全外圍設備來(lái)獲得你所需要的安全功能。例如,愛(ài)特梅爾ATSHA204A設備提供了篡改保護的安全密鑰存儲和認證。片上4.5 KB的EEPROM安全存儲器可被用于存儲多個(gè)密鑰,執行讀取和寫(xiě)入來(lái)管理密碼或秘密的數據。存儲器可以被組織,構造,然后鎖定,以防止更改。每個(gè)設備都有一個(gè)唯一的72位序列號,并支持常見(jiàn)的加密算法(SHA-256,消息認證碼,并基于散列的消息認證碼選項)和高品質(zhì)的隨機數發(fā)生器。 I²C接口可以很容易地將設備連接到一個(gè)標準的MCU。所述ATSHA204A通常用于詢(xún)問(wèn)和響應事務(wù)與主機MCU所示,下面的圖4。

圖4:使用愛(ài)特梅爾ATSHA204認證和保護的設計的知識產(chǎn)權。 (愛(ài)特梅爾提供)該MCU挑戰是由ATSHA204使用所存儲的秘密和消息認證碼(MAC)命令創(chuàng )建發(fā)送回主機的響應處理。主機可以驗證響應是由執行相同的MAC命令正確。該事務(wù)的觀(guān)察者不會(huì )看到的秘密密鑰,所以這幾乎是不可能確定要復制的設計或確定存儲在A(yíng)TSHA204任何秘密信息所需要的密鑰。該ATSHA204可用于防止在設計的復制,通過(guò)在執行之前(例如安全引導),存儲驗證它保護固件或媒體和管理用于由主機MCU用于安全通信的會(huì )話(huà)密鑰,存儲秘密配置,校準或消費數據或確認用戶(hù)密碼。 Atmel還為工程師提供了ATSHA204一個(gè)加密認證的產(chǎn)品培訓模塊??傊?,利用現有的現代MCU和各種配套設備的高級安全功能時(shí)保護您的設計,從逆向工程和黑客攻擊成為可能。保護聯(lián)網(wǎng)的嵌入式系統中尤為重要,因為對嵌入式系統的基于網(wǎng)絡(luò )的攻擊事件繼續增長(cháng)。
評論