CN109740387A - 一种用于在线系统编程的方法和高安全电路 - Google Patents

一种用于在线系统编程的方法和高安全电路 Download PDF

Info

Publication number
CN109740387A
CN109740387A CN201910007124.5A CN201910007124A CN109740387A CN 109740387 A CN109740387 A CN 109740387A CN 201910007124 A CN201910007124 A CN 201910007124A CN 109740387 A CN109740387 A CN 109740387A
Authority
CN
China
Prior art keywords
voltage signal
isp
encrypted
data
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910007124.5A
Other languages
English (en)
Inventor
刘慧�
谢文录
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huada Semiconductor Co Ltd
Original Assignee
Huada Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huada Semiconductor Co Ltd filed Critical Huada Semiconductor Co Ltd
Priority to CN201910007124.5A priority Critical patent/CN109740387A/zh
Publication of CN109740387A publication Critical patent/CN109740387A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明涉及一种用于在线系统编程ISP的方法,包括:对在线系统编程ISP数据进行加密;将经加密的ISP数据转换成电压信号,其中所述电压信号具有至少两个非零电平值,所述非零电平值用于表征数值;将所述电压信号传输至待编程系统;在待编程系统处将所述电压信号转换成经加密的ISP数据;将经加密的ISP数据解密成ISP数据;以及使用ISP数据执行在线系统编程。本发明还涉及一种高安全电路。通过该方法或该系统,可以显著提高在线系统编程的安全性。

Description

一种用于在线系统编程的方法和高安全电路
技术领域
本发明总体上涉及在线系统编程领域,具体而言,涉及一种用于在线系统编程的方法。此外,本发明还涉及一种高安全电路。
背景技术
目前,许多芯片、如微控制单元(Micro Control Unit,缩写为MCU)采用在线系统编程方式来进行升级。通用在线系统编程(In-System Programming,缩写为ISP)是指在上电状态下直接对芯片、如MCU进行编程,而无需将芯片拆下并安放到特殊编程设备中。在线编程完成后芯片即可投入运行。ISP的出现,改变了使用专用编程器的传统编程方法的诸多不便。
传统ISP升级方式是使用某种通讯协议传输密码数据,然后使用软件或者硬件对所接收的密码数据进行认证,并在认证通过的情况下打开某个功能电路以进行升级。然而,这样的ISP升级方式的缺点是,在使用全数字协议的情况下,容易受到干扰或者攻击。例如,攻击者可以使用示波器读取在线系统编程数据,再将数据通过诸如FPGA或者MCU之类的处理装置进行分析处理,即可输出类似数字波形。
目前,需要一种改善ISP安全性的方案。
发明内容
从现有技术出发,本发明的任务是提供一种用于在线系统编程ISP的方法以及一种高安全电路,通过该方法或该系统,可以显著提高在线系统编程的安全性。
在本发明的第一方面,前述任务通过一种用于在线系统编程ISP的方法来解决,该方法包括:
对在线系统编程ISP数据进行加密;
将经加密的ISP数据转换成电压信号,其中所述电压信号具有至少两个非零电平值,所述非零电平值用于表征数值;
将所述电压信号传输至待编程系统;
在待编程系统处将所述电压信号转换成经加密的ISP数据;
将经加密的ISP数据解密成ISP数据;以及
使用ISP数据执行在线系统编程。
在本发明的一个优选方案中规定,将经加密的ISP数据转换成电压信号包括:
确定经加密的ISP数据的数值;
将所述数值转换成n进制数值,其中n>2;以及
将所述n进制数值的各位数分别转换成电压信号的不同周期内的非零电平值或零电平值。
通过该优选方案,可以简单地生成相应非零电平值。例如,可将ISP数据转换成3进制,并分别用一个零电平值和两个非零电平值来分别表征0、1、2。在本发明的教导下,其它进制也是可设想的。
在本发明的另一优选方案中规定,将所述电压信号转换成经加密的ISP数据包括:
将电压信号在各周期内的电平值分别与四个比较电平相比较;以及
根据比较结果确定所述电平值所表征的数值。
通过该优选方案,可以简单地且低成本地确定非零电平值所表征的数值。该确定过程也可以通过查找对照表来进行。
在本发明的一个优选方案中规定,所述电压信号包括四个非零电平值。通过设置具有四个非零电平值的电压信号,可以较好地保护ISP数据的秘密性,同时保持较低的实现成本。其它数目的电平值也是可设想的。
在本发明的第二方面,前述任务通过一种高安全电路来解决,该装置包括:
电压探测电路,其被配置为将所接收的电压信号转换成经加密的在线系统编程ISP数据,其中所述电压信号具有至少两个非零电平值,所述非零电平值用于表征数值;
解密电路,其被配置为将经加密的ISP数据解密成ISP数据;以及
控制器,其被配置为认证所述ISP数据以确定是否允许执行在线系统编程。
在本发明的一个优选方案中规定,该装置还包括串行数字接口SDI,其被配置为接收电压信号。其它接口也是可设想的。通过使用串行数字接口来接收电压信号,可以实现简单的解码和高速数据传输。
在本发明的一个扩展方案中规定,将所接收的电压信号转换成经加密的在线系统编程ISP数据包括:
将电压信号在各周期内的电平值分别与四个比较电平相比较;以及
根据比较结果确定所述电平值所表征的数值。。
通过该优选方案,可以简单地且低成本地确定非零电平值所表征的数值。该确定过程也可以通过查找对照表来进行。
在本发明的一个扩展方案中规定,所述电压信号包括四个非零电平值,并且所述多个比较电平包括四个比较电平。设置四个非零电平值可加大破解难度,同时保持较低的技术复杂度。
在本发明的另一扩展方案中规定,所述四个比较电平分比为4.2V、4.1V、2.1V、1.2V。通过合理设置比较电平,可以减少将电压信号转换到数值的转换差错。
在本发明的一个优选方案中规定,至少一个非零电平值为干扰值。通过该优选方案,可以增加加密强度,由此更好地防止ISP数据被破解。干扰值例如是不承载信息的值,在电压探测电路中可以被剔除,然后再将其余的电平值转换成数字值。在本发明的教导下,使用电平值进行其它增强加密的方法也是可设想的。
在本发明的第三方面,前述任务通过一种高安全电路来解决,该电路包括:
电压探测电路,其被配置为将所接收的电压信号根据内部逻辑转化为加密的数字信号;
解密电路,其被配置为将经加密的数字信号加密的数字信号解密成解密数据;以及
控制器,其被配置为认证所述解密数据以确定所述解密数据是否符合要求。
在本发明的第四方面,前述任务通过一种用于在线系统编程ISP的方法来解决,该方法包括:
将所接收的电压信号根据内部逻辑转化为加密的数字信号;
将经加密的数字信号加密的数字信号解密成解密数据;以及
认证所述解密数据以确定所述解密数据是否符合要求。
本发明至少具有下列有益效果:通过使用不同的电压进行数字信号的传输,可以实现用电压ISP协议代替数字ISP协议,从而增加一重保护,从而提高在线系统编程的安全性;由于信号可以以多阶电压的形式承载信息,因此可以有效地干扰破解电压的选择,从而极大增强系统的防破解性。
附图说明
下面结合附图参考具体实施例来进一步阐述本发明。
图1示出了根据本发明的安全电路的示意图;以及
图2示出了根据本发明的安全电路的时序。
具体实施方式
应当指出,各附图中的各组件可能为了图解说明而被夸大地示出,而不一定是比例正确的。在各附图中,给相同或功能相同的组件配备了相同的附图标记。
在本发明中,各实施例仅仅旨在说明本发明的方案,而不应被理解为限制性的。
在本发明中,除非特别指出,量词“一个”、“一”并未排除多个元素的场景。
在此还应当指出,在本发明的实施例中,为清楚、简单起见,可能示出了仅仅一部分部件或组件,但是本领域的普通技术人员能够理解,在本发明的教导下,可根据具体场景需要添加所需的部件或组件。
在此还应当指出,在本发明的范围内,“相同”、“相等”、“等于”等措辞并不意味着二者数值绝对相等,而是允许一定的合理误差,也就是说,所述措辞也涵盖了“基本上相同”、“基本上相等”、“基本上等于”。
另外,本发明的各方法的步骤的编号并未限定所述方法步骤的执行顺序。除非特别指出,各方法步骤可以以不同顺序执行。
图1示出了根据本发明的安全电路100的示意图,所述安全电路100可以用于在线系统编程。
如图1所示,在高安全电路100包括可选的串行数字接口(Serial DigitalInterface,SDI)103,其被配置为接收电压信号,电压信号例如包括四个非零电平值。在此,电平值是指电平参考值,其中落入所述电平参考值的误差范围(如正负10%)内的电平将被识别为所述电平参考值。
在一实施例中,所述电压信号为串行的模拟信号,例如所述电压信号可以包括若干个非零电平值,非零电平值的个数可以根据需要进行设置,若干个非零电平值之间具有时间先后顺序。如图2所示,电压信号在第一个时钟周期C1、第二个时钟周期C2、第三个时钟周期C3、第四个时钟周期C4内的非零电平值依次为4.3V、3V、1.7V、0.8V。
在图2中,高安全电路100使用串行数字接口SDI 103作为接口以接受电压信号,在其他实施例中,高安全电路100还可以使用并行数字接口等其他类型的接口接受电压信号,在此不一一赘述。
高安全电路100还包括电压探测电路101,其被配置为将所接收的电压信号转换成经加密的在线系统编程ISP数据。所述转换例如可以按照如下方式进行:首先,检测电压信号的多个非零电平值,然后将所述非零电平值根据内部逻辑转换成相应数字值,所述数字值即经加密的ISP数据,最后将所述经加密的ISP数据发送给解密电路102以进行解密。所述数字值为数字信号,例如0或1,且每个数字值的比特可以进行设置。在图2中,数字值为4比特,数字值在第一个时钟周期C1、第二个时钟周期C2、第三个时钟周期C3、第四个时钟周期C4内的非零电平值依次为1111、0011、0001、0000。
在一个优选实施例中,至少一个非零电平值为干扰值以增加加密强度,在这种情况下,在电压探测电路中将所述非零电平值剔除。
在一实施例中,所述内部逻辑可以是比较逻辑,例如在图2中,电压探测电路101内设4个比较电平:4.2V、4.1V、2.1V、1.2V。电压信号在第一个时钟周期C1的非零电平值4.3V大于4个比较电平,所以非零电平值为1111;电压信号在第二个时钟周期C2的非零电平值3V大于比较电平2.1V、1.2V,小于比较电平4.2V、4.1V,所以非零电平值为0011;电压信号在第三个时钟周期C3的非零电平值1.7V大于比较电平1.2V,小于比较电平4.2V、4.1V、2.1V,所以非零电平值为0001;电压信号在第四个时钟周期C4的非零电平值0.8V小于4个比较电平,所以非零电平值为0000。在另一实施例中,所述内部逻辑由对照表确定,对照表即在非零电平值与数字值之间建立对应关系,一旦输入非零电平值,可以根据对照表查找相应的数字值,对照表的实现方式根据本发明的上述描述为本领域的普通技术人员可以理解的,在此不做赘述。
高安全电路100还包括解密电路102,其被配置为将经加密的ISP数据解密成ISP数据。可以根据加密算法选择相应的解密方法进行解密,解密方法可以使用现有的方式例如数模转换等方式进行解密。在一些情况下,解密电路102例如可以对ISP数据中的密码进行解密以判定所述ISP数据是否为合法的。
高安全电路100还包括控制器(未示出),其被配置为认证所述ISP数据以确定是否允许执行在线系统编程。如果认证成功,则控制器发出开关信号以打开待编程芯片的编程开关105或者使能相应的功能电路以对待编程芯片进行重新编程或升级。在编程开关105打开的情况下,能够通过输入输出端口104输入所述ISP数据以进行在线编程。否则,控制器不发出开关信号或者发出关闭编程开关105的信号以防止编程。在一些情况下,控制器可以合并到解密电路102中,其中解密电路102直接判断所述ISP数据是否合法。
图2示出了根据本发明的高安全电路的时序。
如图2所示,从SDI接口中接收的电压VSDI(电压信号)在第一个时钟周期C1、第二个时钟周期C2、第三个时钟周期C3、第四个时钟周期C4内的非零电平值依次为4.3V、3V、1.7V、0.8V。为了识别非零电平值所代表的数字值,设置有四个比较电平:4.2V、4.1V、2.1V、1.2V。通过将各个周期内的非零电平值与四个比较电平相比较,即可确定该非零电平值所代表的的数值。通过比较,得到的四个信号V1p2v、V2p1v、V4p1v和V4p2v为串行的数字密码。当然,该数值确定过程也可以直接通过查找对照表来进行。电压VSDI的周期为SPI时钟SPI_CLK的整数倍。相反,电压信号到数字值的转换例如可以通过将电压信号的电平值分别与比较电平相比较或者在对照表中查找该电平值来进行。
图1所示的安全电路100可以为一个独立的转接电路,如集成在转接头内,安全电路100也可以集成在MCU芯片等待编程芯片上。
本发明至少具有下列有益效果:通过使用不同的电压进行数字信号的传输,可以实现用电压ISP协议代替数字ISP协议,从而增加一重保护,进而提高在线系统编程的安全性;由于信号可以以多阶电压的形式承载信息,因此可以有效地干扰破解电压的选择,从而极大增强系统的防破解性。
虽然本发明的一些实施方式已经在本申请文件中予以了描述,但是本领域技术人员能够理解,这些实施方式仅仅是作为示例示出的。本领域技术人员在本发明的教导下可以想到众多的变型方案、替代方案和改进方案而不超出本发明的范围。所附权利要求书旨在限定本发明的范围,并藉此涵盖这些权利要求本身及其等同变换的范围内的方法和结构。

Claims (12)

1.一种用于在线系统编程ISP的方法,包括:
对在线系统编程ISP数据进行加密;
将经加密的ISP数据转换成电压信号,其中所述电压信号具有至少两个非零电平值,所述非零电平值用于表征数值;
将所述电压信号传输至待编程系统;
在待编程系统处将所述电压信号转换成经加密的ISP数据;
将经加密的ISP数据解密成ISP数据;以及
使用ISP数据执行在线系统编程。
2.根据权利要求1所述的方法,其中将经加密的ISP数据转换成电压信号包括:
确定经加密的ISP数据的数值;
将所述数值转换成n进制数值,其中n>2;以及
将所述n进制数值的各位数分别转换成电压信号的不同周期内的非零电平值或零电平值。
3.根据权利要求1所述的方法,其中在待编程系统处将所述电压信号转换成经加密的ISP数据包括:
将电压信号在各周期内的电平值分别与多个比较电平相比较;以及
根据比较结果确定所述电平值所表征的数值。
4.一种高安全电路,包括:
电压探测电路,其被配置为将所接收的电压信号转换成经加密的在线系统编程ISP数据,其中所述电压信号具有至少两个非零电平值,所述非零电平值用于表征数值;
解密电路,其被配置为将经加密的ISP数据解密成ISP数据;以及
控制器,其被配置为认证所述ISP数据以确定是否允许执行在线系统编程。
5.根据权利要求4所述的电路,其中将所接收的电压信号转换成经加密的ISP数据包括:
将电压信号在各周期内的电平值分别与多个比较电平相比较;以及
根据比较结果确定所述电平值所表征的数值。
6.根据权利要求4所述的电路,还包括串行数字接口,其被配置为接收电压信号。
7.根据权利要求4所述的电路,其中至少一个非零电平值为干扰值。
8.一种高安全电路,包括:
电压探测电路,其被配置为将所接收的电压信号根据内部逻辑转化为加密的数字信号;
解密电路,其被配置为将经加密的数字信号加密的数字信号解密成解密数据;以及
控制器,其被配置为认证所述解密数据以确定所述解密数据是否符合要求。
9.根据权利要求8所述的高安全电路,其中所述内部逻辑为查找表,根据查找表将所述电压信号转化为对应的数字信号;或,所述内部逻辑为比较逻辑,所述电压探测电路根据预设的比较电平将与所述电压信号进行比较,得到所述数字信号。
10.根据权利要求8所述的高安全电路,其中所述电压信号和所述解密数据均为模拟信号。
11.根据权利要求9所述的高安全电路,其中所述电压探测电路通过一串行接口接受串行的电压信号。
12.一种用于在线系统编程ISP的方法,包括:
将所接收的电压信号根据内部逻辑转化为加密的数字信号;
将经加密的数字信号加密的数字信号解密成解密数据;以及
认证所述解密数据以确定所述解密数据是否符合要求。
CN201910007124.5A 2019-01-04 2019-01-04 一种用于在线系统编程的方法和高安全电路 Pending CN109740387A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910007124.5A CN109740387A (zh) 2019-01-04 2019-01-04 一种用于在线系统编程的方法和高安全电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910007124.5A CN109740387A (zh) 2019-01-04 2019-01-04 一种用于在线系统编程的方法和高安全电路

Publications (1)

Publication Number Publication Date
CN109740387A true CN109740387A (zh) 2019-05-10

Family

ID=66363397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910007124.5A Pending CN109740387A (zh) 2019-01-04 2019-01-04 一种用于在线系统编程的方法和高安全电路

Country Status (1)

Country Link
CN (1) CN109740387A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191657A1 (en) * 2010-01-29 2011-08-04 Broadcom Corporation Systems for High-Speed Backplane Applications Using FEC Encoding
CN202229770U (zh) * 2011-09-14 2012-05-23 深圳市亿维自动化技术有限公司 一种模拟量采集电路的数字补偿装置
CN102999350A (zh) * 2012-10-24 2013-03-27 绵阳市维博电子有限责任公司 一种数字信号处理平台中fpga程序升级在线下载方法
CN103259512A (zh) * 2012-01-31 2013-08-21 阿尔特拉公司 多电平幅度信号传输接收器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191657A1 (en) * 2010-01-29 2011-08-04 Broadcom Corporation Systems for High-Speed Backplane Applications Using FEC Encoding
CN202229770U (zh) * 2011-09-14 2012-05-23 深圳市亿维自动化技术有限公司 一种模拟量采集电路的数字补偿装置
CN103259512A (zh) * 2012-01-31 2013-08-21 阿尔特拉公司 多电平幅度信号传输接收器
CN102999350A (zh) * 2012-10-24 2013-03-27 绵阳市维博电子有限责任公司 一种数字信号处理平台中fpga程序升级在线下载方法

Similar Documents

Publication Publication Date Title
CN102783028B (zh) 比特列生成装置以及比特列生成方法
US10523436B2 (en) Security locking device of computers
CN106571924B (zh) 一种物理不可克隆函数电路
WO2012001796A1 (ja) 個体別情報生成装置及び個体別情報生成方法
CN106533654B (zh) 可配置物理不可克隆函数电路及其响应产生方法
CN209402526U (zh) 安全芯片的密钥存储装置
KR101139011B1 (ko) 패킷 암호 알고리즘에 기초하는 엔크립션 처리 방법
US20110016310A1 (en) Secure serial interface with trusted platform module
CN105933108B (zh) 一种对sm4算法实现破解的方法
CN106817223A (zh) 一种基于SoPC的动态可配置密钥认证系统
CN109460681A (zh) 一种基于延时链的可配置物理不可克隆函数电路
CN109766729B (zh) 一种防御硬件木马的集成电路及其加密方法
CN208675215U (zh) 安全通信模块
CN110046514A (zh) 调试数据保护方法、装置、服务器及存储介质
CN109740387A (zh) 一种用于在线系统编程的方法和高安全电路
CN100395732C (zh) 用异步电路提高sram工艺fpga设计安全的系统
CN108521327A (zh) 一种断电存储型simon加密电路
CN101246743A (zh) 闪存接口
US7698588B2 (en) Circuit and related method for synchronizing data signals to a core clock
CN110365710A (zh) 多协议聚合传输装置、系统及方法
CN116073987A (zh) 一种分组密码模式的可靠性设计方法、密码卡、服务器
CN105894079A (zh) 时钟加扰电路
CN106503592B (zh) 基于可编程逻辑器件的加密方法及系统
CN103490762B (zh) 集成电路及发光二极管集成电路级联信号的单线传输电路
CN112507366A (zh) 一种智能电网中多维数据高效数据聚合的方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190510