Secure In-System-Programming 保護韌體的燒錄安全

Post Reply
User avatar
NuvotonMarcom
Posts: 227
Joined: 10 Sep 2018, 17:23

28 Jan 2022, 14:03

In system programming (ISP) 提供一個方便的韌體更新方式,能夠在完整的產品上,進行韌體更新,甚至在沒有安裝任何韌體的全新的產品上,也可以利用ISP來安裝初始韌體。

一般的ISP會需要透過傳輸介面,來將韌體資料傳送到晶片上,傳輸的過程中,資料會被暴露在傳輸介面上,因而有被竊取的風險,所以只適合運用於實驗室開發階段。一旦產品開發完成,委託代工廠生產時,為了要保護韌體的燒錄安全,這時候就會將傳輸的通訊進行加密,以保護其中的韌體,這相當於建立一個安全通道,來進行ISP的傳輸與燒錄的動作。

以新唐科技的M2351微控制器為例,其內建安全ISP功能,能夠安全的燒錄韌體,防止傳輸過程中被竊取。要打開安全ISP的功能,可先透過原廠所附的ICP工具進行設定,若需使用 UART作為ISP傳輸介面,則需要多設定 Boot Loader UART1 TXD/RXD 引腳功能選擇,以確認所要使用的傳輸腳位。
UART1腳位設置.png
UART1腳位設置.png (101.85 KiB) Viewed 10191 times
當ISP功能開啟後,就可以搭配原廠提供的ISP工具來與微控制器連線,進行燒錄的動作。
當使用USB作為ISP連接介面時,使用者無需做任何事先的配置,只要透過裝置的USB座,用 USB 線和 PC 端的USB接孔連接,並開啟 Secure ISPTool 點擊連接按鈕後即可正常工作。
USB connection interface setting.png
USB connection interface setting.png (17.91 KiB) Viewed 10191 times
若使用UART1最為傳輸介面,則需要將目前微控制器UART1的腳位和 PC 串口做連接,之後便可和 Secure ISPTool 做正常連線。
UART to PC serial port setting.png
UART to PC serial port setting.png (19.25 KiB) Viewed 10191 times
當微控制器與Secure ISPTool連接成功後,Tool上會顯示微控制器的基本信息,並可以進行微控制器的設置與韌體燒錄,而且這些動作,都將在安全通道的保護下,攻擊者是無法透過監聽通訊界面上的資料的竊取傳輸的韌體。
ISP connect to PC basic info.png
ISP connect to PC basic info.png (50.79 KiB) Viewed 10191 times
ISP韌體檔案燒錄.png
ISP韌體檔案燒錄.png (153.51 KiB) Viewed 10191 times
ISP是微控制器上常見的功能,可以方便使用者在產品生產時,進行測試與產品韌體的燒錄,而不需要額外的硬體裝置,然而因為ISP的資料都是透過傳輸介面來傳遞,資訊會暴露在傳輸的過程中,造成產品韌體被竊取的風險,尤其當產品試委由外部加工廠來生產時,更是有被仿冒的風險。
要避免這個問題,可以使用安全ISP,在韌體的傳輸過程中,所有的資料都會經過高強度的密碼學加密,確保資料無法被竊取,能夠保護產品韌體被竊取,進而杜絕被仿冒的可能性。

Post Reply
  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests