嵌入式系統(tǒng)制造商面臨的IP安全性的挑戰(zhàn)
公司的未來發(fā)展取決于知識產權(IP)的開發(fā)與保護。知識產權(IP) 在維基百科中被定義為法律概念,指的是被賦予專有權的智力創(chuàng)作。盡管該定義只涉及法律含義,但IP其實是組織或個人開展創(chuàng)新和努力工作的成果。IP是公司創(chuàng)新的制勝法則,相對于競爭對手能夠為產品帶來優(yōu)勢。對于生產嵌入式系統(tǒng)的企業(yè)來說,知識產權可能是:
· 系統(tǒng)的固件實現(xiàn)方案
· 硬件實現(xiàn)方案;例如利用創(chuàng)新方法實現(xiàn)信號鏈或輸出控制,從而讓產品脫穎而出
· 任何解決系統(tǒng)中特殊問題的創(chuàng)新方法
例如,采用盡可能少的硬件資源的嵌入式系統(tǒng)實現(xiàn)方案就是一個很好的例證。這種實現(xiàn)方案可以降低產品制造成本,使產品在競爭激烈的市場中更加暢銷。
知識產權 (IP) 安全問題公司任何成功所面臨的主要挑戰(zhàn)。每種產品都需要經過大量的研發(fā)和創(chuàng)新才能夠成功推出。嵌入式系統(tǒng)制造商向市場推出產品后始終要關注的是逆向工程攻擊。這在當今的市場中是個棘手的現(xiàn)實問題。如果競爭對手竊取IP并復制設計,那么您的產品銷售收入將會受到極大影響。
通常在談到嵌入式系統(tǒng)的IP安全性時,人們首先想到的是與微控制器或微處理器配合使用的固件。當說到MCU時一些系統(tǒng)設計人員會戛然而止。而硬件會怎樣?是的,有些人很重視硬件,并通過多種方法設法隱藏硬件實現(xiàn)方法。任何完整的嵌入式系統(tǒng)的組成部分不僅僅包含固件,還涉及大量硬件(圖1)。
圖1:嵌入式系統(tǒng)
其中的硬件負責與外設進行交互,用以感應輸入,生成輸出,以及進行信號調節(jié)。讓我們以電動自行車的控制系統(tǒng)為例。圖2給出了這種系統(tǒng)的一種可能的實現(xiàn)方案。
圖2:電動自行車控制系統(tǒng)
如圖2所示,為MCU編寫的固件通常用來接收總線(電源)電壓、速度命令等輸入內容,執(zhí)行信號調節(jié),并將信號轉換為數(shù)字,然后進行各種計算,并根據為MCU編寫的固件制定決策,例如控制電機和LED輸出。
嵌入式系統(tǒng)的IP安全性可分為兩部分。
· 防止發(fā)生未經授權的固件訪問
· 隱藏模擬與數(shù)字資源及其互連情況
防止發(fā)生未經授權的固件訪問
不同微控制器采用不同方法來防止閃存中的代碼遭到未授權訪問,而有的微控制器根本不采取任何保護措施。進一步說,所有解決方案都采用禁止從閃存存儲區(qū)域讀取數(shù)據來解決安全問題。有些設備會禁用整個閃存存儲系統(tǒng)的讀/寫訪問。這種解決方案無法在終端系統(tǒng)中添加引導加載程序。如果需要在系統(tǒng)中實現(xiàn)引導加載程序且IP安全性同樣重要,那么系統(tǒng)設計人員就需要選擇合適的微控制器。
有些微控制器將閃存分為多個模塊,并對每個模塊采取不同的安全等級保護。對于這種器件,我們可以在實現(xiàn)引導加載程序的同時獲得同樣高的保護等級。讓我們看一下賽普拉斯半導體的PSoC 1器件所提供的閃存保護功能。這些器件支持各種閃存保護模式:
· 無保護模式
· 工廠升級模式
· 現(xiàn)場升級模式
· 完全保護模式
所選的保護模式只能在編程時載入NVL(非易失性)位,不能在運行時間更改,以免保護等級發(fā)生意外更改,也是為了防止攻擊者通過在閃存無保護區(qū)域寫入特定代碼試圖修改固件。
無保護模式:這種模式下允許執(zhí)行所有外部和內部寫入/讀取操作。該保護模式適合在開發(fā)階段使用,因為此時無需將器件提供給第三方。該模式不應用于生產階段。
工廠升級模式:這種保護模式適用于需要由外部程序員對各個閃存模塊進行升級的系統(tǒng)。這種保護模式不允許外部讀取,但允許外部寫入、內部讀取和內部寫入。如果某個特定模塊需要在不擦除整個存儲器的前提下由外部程序員進行升級,那么可以使用這種模式。例如對于需要由客戶或安裝團隊校正系統(tǒng)并將校正數(shù)據存儲在閃存中的這種情況,這種模式就很有用。盡管在系統(tǒng)中進行的這種升級非常有用,但在能夠使用安全性更高的模式的情況下必須避免使用該模式。原因在于該模式缺乏對外部寫入的保護。如果有人在可升級區(qū)域插入用以讀取閃存內容的代碼,那么IP就會失去保護。然而對于這些器件,為特定模塊只能設定此類安全級別,其他模塊則可以設定更高的安全等級。因此必須確保將非關鍵代碼存儲在這些特定模塊中。
現(xiàn)場升級模式:這種保護模式禁用外部寫入和讀取操作,只允許內部寫入和讀取,因此無法通過程序員接口讀/寫閃存。該模式最適合支持引導加載支持的系統(tǒng)。在采用引導加載程序的嵌入式系統(tǒng)中,引導加載程序通過通信協(xié)議接收需要寫入的閃存數(shù)據,然后使用內部程序將數(shù)據寫入閃存。類似地,也是使用內部命令來執(zhí)行讀取操作。因此,引導加載程序可以使閃存成為只讀狀態(tài)。引導加載程序可存儲在具有更高安全等級(完全保護模式)的模塊中,因此引導加載程序本身不會被修改。額外對引導加載程序的通信進行加密還能進一步降低閃存讀取可能性。
完全保護模式:如果無需對閃存模塊進行現(xiàn)場或使用外部程序進行升級,那么這種保護模式理想適用于生產階段。這種模式禁止以任何形式訪問閃存,并禁用內/外部讀/寫操作。
評論