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

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

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