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,在固件的传输过程中,所有的数据都会经过高强度的密码学加密,确保数据无法被窃取,能够保护产品固件被窃取,进而杜绝被仿冒的可能性。

本网站使用cookie作为与网站互动时识别浏览器之用,浏览本网站即表示您同意本网站对cookie的使用及相关隐私权政策