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

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

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

以新唐科技的M2351微控制器為例,其內建安全ISP功能,能夠安全的燒錄韌體,防止傳輸過程中被竊取。要打開安全ISP的功能,可先透過原廠所附的ICP工具進行設定,若需使用 UART作為ISP傳輸介面,則需要多設定 Boot Loader UART1 TXD/RXD 引腳功能選擇,以確認所要使用的傳輸腳位。

Figure 1 UART1 pin setting

圖1 UART1腳位設置 

當ISP功能開啟後,就可以搭配原廠提供的ISP工具來與微控制器連線,進行燒錄的動作。

當使用USB作為ISP連接介面時,使用者無需做任何事先的配置,只要透過裝置的USB座,用 USB 線和 PC 端的USB接孔連接,並開啟 Secure ISPTool 點擊連接按鈕後即可正常工作。

Figure 2 USB connection interface setting

圖2 USB連接介面設置 

若使用UART1最為傳輸介面,則需要將目前微控制器UART1的腳位和 PC 串口做連接,之後便可和 Secure ISPTool 做正常連線。

Figure 3 Serial port settings for connecting UART1 to PC

圖3 UART1連接PC端的串口設置 

當微控制器與Secure ISPTool連接成功後,Tool上會顯示微控制器的基本信息,並可以進行微控制器的設置與韌體燒錄,而且這些動作,都將在安全通道的保護下,攻擊者是無法透過監聽通訊界面上的資料的竊取傳輸的韌體。

Figure 4 Basic information displayed after the microcontroller is connected to ISP

圖4 微控制器ISP連線後,顯示基本資訊 

Figure 5 ISP firmware file programming

圖5 ISP韌體檔案燒錄 

ISP是微控制器上常見的功能,可以方便使用者在產品生產時,進行測試與產品韌體的燒錄,而不需要額外的硬體裝置,然而因為ISP的資料都是透過傳輸介面來傳遞,資訊會暴露在傳輸的過程中,造成產品韌體被竊取的風險,尤其當產品試委由外部加工廠來生產時,更是有被仿冒的風險。

要避免這個問題,可以使用安全ISP,在韌體的傳輸過程中,所有的資料都會經過高強度的密碼學加密,確保資料無法被竊取,能夠保護產品韌體被竊取,進而杜絕被仿冒的可能性。

This website uses cookies to ensure you get the best experience on our website. Learn more
OK