CN112100691A - 一种硬件调试接口的保护方法、保护系统及可编程控制器 - Google Patents

一种硬件调试接口的保护方法、保护系统及可编程控制器 Download PDF

Info

Publication number
CN112100691A
CN112100691A CN202010954883.5A CN202010954883A CN112100691A CN 112100691 A CN112100691 A CN 112100691A CN 202010954883 A CN202010954883 A CN 202010954883A CN 112100691 A CN112100691 A CN 112100691A
Authority
CN
China
Prior art keywords
interface
hardware
debugging
upper computer
programmable controller
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.)
Withdrawn
Application number
CN202010954883.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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN202010954883.5A priority Critical patent/CN112100691A/zh
Publication of CN112100691A publication Critical patent/CN112100691A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Abstract

本发明公开了一种硬件调试接口的保护方法,基于设于硬件调试接口和上位机之间的可编程控制器实现,由可编程控制器实现控制硬件调试接口处于高阻加锁状态,当可编程控制器实现接收到上位机发送的调试请求时,在确定调试请求中携带预先约定的解密信息时才控制硬件调试接口解锁,从而实现了一种通过可编程控制器授权上位机的方式来对硬件调试接口进行信息保护的方案,只有持有解密信息的上位机才可以对硬件调试接口进行访问和调试,增加了硬件调试接口的安全系数且保有了硬件调试接口对应的板卡的可编程的优势。本发明还公开了一种可编程控制器及硬件调试接口的保护系统,具有上述有益效果。

Description

一种硬件调试接口的保护方法、保护系统及可编程控制器
技术领域
本发明涉及服务器技术领域,特别是涉及一种硬件调试接口的保护方法、保护系统及可编程控制器。
背景技术
随着人工智能、大数据、云计算等相关技术的飞速发展及摩尔定律的失效,以CPU为计算主体的系统在计算力方面无法满足日益增长的需求,现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)芯片以其高并行度、高流水线、低延迟、可定制性及可重构性的优势受到人们的青睐,因此,越来越多的以FPGA为核心处理单元的产品被广泛应用在人工智能、边缘计算等场合。
鉴于目前数据中心的业务逐渐向异构板卡方向倾斜,大量的硬件加速卡开始应用到服务器中,而对于这些FPGA、GPU等板卡的调试接口基本上都是通用的联合测试工作组(Joint Test Action Group,JTAG)、通用异步收发传输器(Universal AsynchronousReceiver/Transmitter,UART)、I2C(Inter-Integrated Circuit)等常规总线,为避免误操作或非法篡改,影响正常使用,应当对这些硬件调试接口设置一定的保护措施。
然而,目前大部分的硬件调试接口上都未作保护处理,均为根据硬件调试接口的类型选择对应的连接器连接调试器(如面向JTAG接口的连接器采用标准的10线排针),通过调试器进一步连接上位机进行调试。在某些场合下,设计者对外不留出硬件调试接口,而是生产过程中将板卡的固件烧写好后再焊接,这在一定程度上可以有效保护板卡固件不被盗用或破坏,但由于FPGA等板卡属于可编程逻辑器件,其最大的优势在于可编程,这样的做法失去了其优势。另外也有一些设计将标准的硬件调试接口的引脚顺序打乱,采用非标准连接器将硬件调试接口接出,只能通过配套的转接线才能连接调试器,如果没有转接线则无法使用调试器进行调试。但由于硬件调试接口的引脚设计通常较为简单,容易通过工具测试出各引脚的信号线类型,导致保护安全性也不高。
提出一种有效的安全性高的硬件调试接口的保护方法,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供一种硬件调试接口的保护方法、保护系统及可编程控制器,用于在保留板卡可调试的优势的前提下对板卡的硬件调试接口进行高安全系数的保护。
为解决上述技术问题,本发明提供一种硬件调试接口的保护方法,基于设于硬件调试接口和上位机之间的可编程控制器,包括:
控制所述硬件调试接口处于高阻加锁状态;
当接收到所述上位机发送的调试请求时,判断所述调试请求中是否携带预先约定的解密信息;
如果是,则控制所述硬件调试接口解锁。
可选的,还包括:
每隔一个时钟周期生成一个随机数;
相应的,所述当接收到所述上位机发送的调试请求时,判断所述调试请求中是否携带预先约定的解密信息,具体包括:
当接收到所述调试请求时,将接收到所述调试请求的时钟时刻生成的实时随机数与预先约定的密钥进行预设计算,得到第一信息;
判断所述调试请求中是否携带与所述第一信息一致的第二信息;
如果是,则确定所述调试请求中携带所述预先约定的解密信息;
如果否,则确定所述调试请求中未携带所述预先约定的解密信息;
其中,所述第二信息为目标上位机根据所述实时随机数与所述预先约定的密钥进行所述预设计算得到的信息。
可选的,所述每隔一个时钟周期生成一个随机数,具体为:
每隔一个时钟周期,利用随机数种子S和生成多项式G(x)采样得到一个所述随机数;
其中,所述随机数种子S具体通过下式表示:
S=32'b11010111011110111101100110001011;
所述生成多项式G(x)具体通过下式表示:
G(x)=x32+x27+x21+x19+x10+x7+1。
可选的,所述将接收到所述调试请求的时钟时刻生成的实时随机数与预先约定的密钥进行预设计算,得到第一信息,具体为:
将所述实时随机数与所述预先约定的密钥进行异或计算,而后将预设数位进行交换,得到所述第一信息。
可选的,所述控制所述硬件调试接口解锁,具体包括:
解析所述调试请求得到待调试接口的类型;
根据所述待调试接口的类型控制所述硬件调试接口中对应的接口解锁;
其中,所述待调试接口的类型包括I2C接口、联合测试工作组接口和通用异步收发传输器接口中的至少一种。
可选的,所述控制所述硬件调试接口解锁,具体为:
将对所述硬件调试接口的控制信号置高,以打开所述硬件调试接口以供所述上位机访问。
为解决上述技术问题,本发明还提供一种可编程控制器,包括:
存储器,用于存储指令,所述指令包括上述任意一项所述硬件调试接口的保护方法的步骤;
处理器,用于执行所述指令。
为解决上述技术问题,本发明还提供一种硬件调试接口的保护系统,包括上述可编程控制器,还包括:设于所述可编程控制器和上位机之间的USB接口网卡芯片,以及设于所述USB接口网卡芯片与上位机之间的USB接口。
可选的,所述USB接口具体为自定义线序的USB接口。
可选的,所述USB接口具体为Type-C接口。
本发明所提供的硬件调试接口的保护方法,基于设于硬件调试接口和上位机之间的可编程控制器实现,由可编程控制器实现控制硬件调试接口处于高阻加锁状态,当可编程控制器实现接收到上位机发送的调试请求时,在确定调试请求中携带预先约定的解密信息时才控制硬件调试接口解锁,从而实现了一种通过可编程控制器授权上位机的方式来对硬件调试接口进行信息保护的方案,只有持有解密信息的上位机才可以对硬件调试接口进行访问和调试,增加了硬件调试接口的安全系数且保有了硬件调试接口对应的板卡的可编程的优势。
本发明还提供一种可编程控制器及硬件调试接口的保护系统,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种硬件调试接口的保护方法的流程图;
图2为本发明实施例提供的另一种硬件调试接口的保护方法的流程图;
图3为本发明实施例提供的一种可编程控制器的结构示意图;
图4为本发明实施例提供的一种硬件调试接口的保护系统的结构示意图。
具体实施方式
本发明的核心是提供一种硬件调试接口的保护方法、保护系统及可编程控制器,用于在保留板卡可调试的优势的前提下对板卡的硬件调试接口进行高安全系数的保护。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种硬件调试接口的保护方法的流程图。
如图1所示,基于设于硬件调试接口和上位机之间的可编程控制器,本发明实施例提供的硬件调试接口的保护方法包括:
S101:控制硬件调试接口处于高阻加锁状态。
S102:当接收到上位机发送的调试请求时,判断调试请求中是否携带预先约定的解密信息;如果是,则进入步骤S103。
S103:控制硬件调试接口解锁。
在具体实施中,可编程控制器可以采用复杂可编程逻辑器件(ComplexProgramming logic device,CPLD),如可以采用可以实现硬件编程的灵活稳定的MAX10,则本发明实施例中的方法可以通过MAX10中的控制状态机编程实现。可编程控制器可以通过连接器与上位机连接,实现与上位机的通信。
对于步骤S101来说,可编程控制器在上电初始阶段,控制硬件调试接口处于高阻加锁状态。硬件调试接口的类型可以为多种,每种类型的硬件调试接口的数量也可以为多个。通常情况下,由于针对的硬件板卡上较为通用的硬件调试接口的类型有联合测试工作组(JTAG)接口、通用异步收发传输器(UART)接口和I2C接口,可编程控制器可以分别与硬件板卡上的这三种接口固定连接,通过数据选择器实现不同的硬件调试接口的选通。而可编程控制器在上电初始阶段,则控制各硬件调试接口均处于高阻加锁状态。
对于步骤S102来说,可编程控制器预先约定解密信息,该解密信息可以与可编程控制器一一对应,也可以以一个解密信息与一批可编程控制器对应;若可编程控制器连接多个硬件调试接口,还可以对不同的硬件调试接口设置不同的解密信息。上位机通过与可编程控制器约定的解密信息实现对硬件调试接口的访问与调试。可编程控制器在通过检测预设引脚确定上位机连接后,等待上位机发送的调试请求,识别调试请求中是否携带解密信息,若未识别到可以保持等待、重复识别。若可编程控制器在检测到上位机连接信号后的预设时间内未获得解密信息,则返回步骤S101中等待上位机连接的状态。
对于步骤S103来说,控制硬件调试接口解锁,具体为:将对硬件调试接口的控制信号置高,以打开硬件调试接口以供上位机访问。
若可编程控制器连接的硬件调试接口的数量有多个,则步骤S103具体包括:
解析调试请求得到待调试接口的类型;
根据待调试接口的类型控制硬件调试接口中对应的接口解锁;
其中,待调试接口的类型包括I2C接口、联合测试工作组接口和通用异步收发传输器接口中的至少一种。
进一步的,若涉及到同种类型的多个硬件调试接口,可编程控制器也可以通过数据选择器来选通单个硬件调试接口。
本发明实施例提供的硬件调试接口的保护方法,基于设于硬件调试接口和上位机之间的可编程控制器实现,由可编程控制器实现控制硬件调试接口处于高阻加锁状态,当可编程控制器实现接收到上位机发送的调试请求时,在确定调试请求中携带预先约定的解密信息时才控制硬件调试接口解锁,从而实现了一种通过可编程控制器授权上位机的方式来对硬件调试接口进行信息保护的方案,只有持有解密信息的上位机才可以对硬件调试接口进行访问和调试,增加了硬件调试接口的安全系数且保有了硬件调试接口对应的板卡的可编程的优势。
图2为本发明实施例提供的另一种硬件调试接口的保护方法的流程图。
为进一步加强硬件调试接口的安全性,在上述实施例的基础上,在本发明实施例提供的硬件调试接口的保护方法中,采用动态密钥的方式进行授权。如图2所示,本发明实施例提供的硬件调试接口的保护方法还包括:
S201:每隔一个时钟周期生成一个随机数。
在具体实施中,每隔一个时钟周期,利用随机数种子S和生成多项式G(x)采样得到一个随机数。
其中,随机数种子S可以通过下式表示:
S=32'b11010111011110111101100110001011;
生成多项式G(x)可以通过下式表示:
G(x)=x32+x27+x21+x19+x10+x7+1。
可以理解的是,还可以采用其他算法生成随机数。
相应的,步骤S102:当接收到上位机发送的调试请求时,判断调试请求中是否携带预先约定的解密信息,具体包括:
S202:当接收到调试请求时,将接收到调试请求的时钟时刻生成的实时随机数与预先约定的密钥进行预设计算,得到第一信息。
S203:判断调试请求中是否携带与第一信息一致的第二信息;如果是,则进入步骤S204;如果否,则进入步骤S205。其中,第二信息为目标上位机根据实时随机数与预先约定的密钥进行预设计算得到的信息。
S204:确定调试请求中携带预先约定的解密信息。
S205:确定调试请求中未携带预先约定的解密信息。
在具体实施中,可编程控制器在检测到上位机的连接信号并读取到上位机发送的调试请求后,采样当前时钟时刻的实时随机数,并将实时随机数与预先约定的密钥进行预设计算,得到第一信息。同时,若上位机为合法的,即目标上位机,则上位机在同一时刻也采样得到实时随机数并进行预设计算,得到与第一信息一致的第二信息。若上位机是非法的,则无法给出第二信息,从而实现对硬件调试接口更好的保护。
对于步骤S202来说,将接收到调试请求的时钟时刻生成的实时随机数与预先约定的密钥进行预设计算,得到第一信息,具体可以为:将实时随机数与预先约定的密钥进行异或计算,而后将预设数位进行交换,得到第一信息。例如,将使用随机数种子S产生的随机数R与密钥K进行异或计算得到M=R^K,然后将M[31:16]与M[15:0]交换,而目标上位机中也进行同样的计算。
对于步骤S203来说,可以通过将第一信息与第二信息进行异或计算后再进行位与计算,如果计算结果为0,则说明第二信息与第一信息一致,否则则不一致。
在步骤S204确定调试请求中携带预先约定的解密信息后,进入步骤S103。
若进入步骤S205后,则可以结束,或返回步骤S101。
上文详述了硬件调试接口的保护方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的可编程控制器及保护系统。
图3为本发明实施例提供的一种可编程控制器的结构示意图。
如图3所示,本发明实施例提供的可编程控制器包括:
存储器310,用于存储指令,所述指令包括上述任意一项实施例所述的硬件调试接口的保护方法的步骤;
处理器320,用于执行所述指令。
其中,处理器320可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器320可以采用数字信号处理DSP(Digital Signal Processing)、现场可编程门阵列FPGA(Field-Programmable Gate Array)、可编程逻辑阵列PLA(Programmable LogicArray)中的至少一种硬件形式来实现。处理器320也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器CPU(CentralProcessing Unit);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器320可以集成有图像处理器GPU(Graphics Processing Unit),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器320还可以包括人工智能AI(Artificial Intelligence)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器310可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器310还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储控制器、闪存存储控制器。本实施例中,存储器310至少用于存储以下计算机程序311,其中,该计算机程序311被处理器320加载并执行之后,能够实现前述任一实施例公开的硬件调试接口的保护方法中的相关步骤。另外,存储器310所存储的资源还可以包括操作系统312和数据313等,存储方式可以是短暂存储或者永久存储。其中,操作系统312可以为Windows。数据313可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,可编程控制器还可包括有显示屏330、电源340、通信接口350、输入输出接口360、传感器370以及通信总线380。
本领域技术人员可以理解,图3中示出的结构并不构成对可编程控制器的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的可编程控制器,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上所述的硬件调试接口的保护方法,效果同上。
图4为本发明实施例提供的一种硬件调试接口的保护系统的结构示意图。
如图4所示,本发明实施例提供的硬件调试接口的保护系统包括上述实施例的可编程控制器300,还包括:设于可编程控制器300和上位机之间的USB接口网卡芯片400,以及设于USB接口网卡芯片400与上位机之间的USB接口500。
本发明实施例通过可编程控制器300接出的USB接口网卡芯片400和USB接口500,实现对外提供USB接口,方便上位机连接。
在具体实施中,USB接口网卡芯片400可以采用CY7C68013A芯片,用于实现USB协议与并行数据协议的转换。USB接口500可以采用Type-C接口。
USB接口500可以采用自定义线序的USB接口,如可以采用与标准USB接口的不同引脚排布顺序或不同引脚数量的对外USB接口,则只有采用配套的转接线才可以与上位机连接,从而进一步提高硬件调试接口的安全性。
在上述实施例中提到,可编程控制器可以采用MAX10。为实现上述实施例中的方法,本发明实施例提供的可编程控制器可以采用MAX10实现,MAX10的固件主要由控制状态机模块、协议处理模块、随机数模块、加解密模块、通道选择模块、译码模块各部分组成,其中控制状态机实现整个逻辑控制,完成接口授权解锁;协议处理模块完成并行数据转JTAG协议、UART协议、I2C协议;随机数模块用于定时产生随机数;加解密模块用于进行加解密运算;通道选择,模块可以采用数据选择器MUX,用于实现对各个硬件调试接口的选通。
由MAX10的控制状态机模块完成的控制逻辑如下:
步骤1:上电初始化阶段,控制JTAG接口、UART接口、I2C接口处于高阻加锁状态,其他逻辑处于复位转态;
步骤2:判断是否接入USB设备,判断寄存器0x01是否写入0x5aa5,如果是,转态跳转到第3步,同时清除状态寄存器0x01,否则在步骤1的状态循环;
步骤3:以S=32'b11010111011110111101100110001011为随机数种子,以G(x)=x32+x27+x21+x19+x10+x7+1为生成多项式,将采集到的实时随机数R写入寄存器0x02;
步骤4:对产生的实时随机数R进行加密,并保存,之后进入步骤5等待上位机响应;加密算法如下:
使用随机种子产生随机数R与密钥K进行异或操作得到第一信息M=R^K,然后将M[31:16]与M[15:0]交换,将结果保存,同时,上位机也进行同样的算法;
步骤5:在0x03寄存器中查看上位机随机数的解密结果,如果解密完成,则跳转到步骤6,否则等待,如果等待时间超时,返回步骤1;
步骤6:读取上位机的处理结果寄存器0x04,然后与步骤4得到的第一信息进行异或操作,之后进行位与运算,如果运算结果为0,则进入步骤7,否则返回步骤1;
步骤7:检查协议寄存器0x05,判断当前选择哪种协议,分别将对应协议的控制信号置高,从而打开JTAG接口、UART接口或I2C接口。至此,调试接口解锁,可以正常使用。
需要说明的是,以上所描述的装置、设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。
为此,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如硬件调试接口的保护方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器ROM(Read-OnlyMemory)、随机存取存储器RAM(Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例中提供的计算机可读存储介质所包含的计算机程序能够在被处理器执行时实现如上所述的硬件调试接口的保护方法的步骤,效果同上。
以上对本发明所提供的一种硬件调试接口的保护方法、保护系统及可编程控制器进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。可编程控制器与硬件调试接口的保护系统的实施例互相参照即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种硬件调试接口的保护方法,其特征在于,基于设于硬件调试接口和上位机之间的可编程控制器,包括:
控制所述硬件调试接口处于高阻加锁状态;
当接收到所述上位机发送的调试请求时,判断所述调试请求中是否携带预先约定的解密信息;
如果是,则控制所述硬件调试接口解锁。
2.根据权利要求1所述的保护方法,其特征在于,还包括:
每隔一个时钟周期生成一个随机数;
相应的,所述当接收到所述上位机发送的调试请求时,判断所述调试请求中是否携带预先约定的解密信息,具体包括:
当接收到所述调试请求时,将接收到所述调试请求的时钟时刻生成的实时随机数与预先约定的密钥进行预设计算,得到第一信息;
判断所述调试请求中是否携带与所述第一信息一致的第二信息;
如果是,则确定所述调试请求中携带所述预先约定的解密信息;
如果否,则确定所述调试请求中未携带所述预先约定的解密信息;
其中,所述第二信息为目标上位机根据所述实时随机数与所述预先约定的密钥进行所述预设计算得到的信息。
3.根据权利要求2所述的保护方法,其特征在于,所述每隔一个时钟周期生成一个随机数,具体为:
每隔一个时钟周期,利用随机数种子S和生成多项式G(x)采样得到一个所述随机数;
其中,所述随机数种子S具体通过下式表示:
S=32'b11010111011110111101100110001011;
所述生成多项式G(x)具体通过下式表示:
G(x)=x32+x27+x21+x19+x10+x7+1。
4.根据权利要求2所述的保护方法,其特征在于,所述将接收到所述调试请求的时钟时刻生成的实时随机数与预先约定的密钥进行预设计算,得到第一信息,具体为:
将所述实时随机数与所述预先约定的密钥进行异或计算,而后将预设数位进行交换,得到所述第一信息。
5.根据权利要求1所述的保护方法,其特征在于,所述控制所述硬件调试接口解锁,具体包括:
解析所述调试请求得到待调试接口的类型;
根据所述待调试接口的类型控制所述硬件调试接口中对应的接口解锁;
其中,所述待调试接口的类型包括I2C接口、联合测试工作组接口和通用异步收发传输器接口中的至少一种。
6.根据权利要求1所述的保护方法,其特征在于,所述控制所述硬件调试接口解锁,具体为:
将对所述硬件调试接口的控制信号置高,以打开所述硬件调试接口以供所述上位机访问。
7.一种可编程控制器,其特征在于,包括:
存储器,用于存储指令,所述指令包括权利要求1至6任意一项所述硬件调试接口的保护方法的步骤;
处理器,用于执行所述指令。
8.一种硬件调试接口的保护系统,其特征在于,包括权利要求7所述的可编程控制器,还包括:设于所述可编程控制器和上位机之间的USB接口网卡芯片,以及设于所述USB接口网卡芯片与上位机之间的USB接口。
9.根据权利要求8所述的保护系统,其特征在于,所述USB接口具体为自定义线序的USB接口。
10.根据权利要求8所述的保护系统,其特征在于,所述USB接口具体为Type-C接口。
CN202010954883.5A 2020-09-11 2020-09-11 一种硬件调试接口的保护方法、保护系统及可编程控制器 Withdrawn CN112100691A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010954883.5A CN112100691A (zh) 2020-09-11 2020-09-11 一种硬件调试接口的保护方法、保护系统及可编程控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010954883.5A CN112100691A (zh) 2020-09-11 2020-09-11 一种硬件调试接口的保护方法、保护系统及可编程控制器

Publications (1)

Publication Number Publication Date
CN112100691A true CN112100691A (zh) 2020-12-18

Family

ID=73750908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010954883.5A Withdrawn CN112100691A (zh) 2020-09-11 2020-09-11 一种硬件调试接口的保护方法、保护系统及可编程控制器

Country Status (1)

Country Link
CN (1) CN112100691A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726741A (zh) * 2021-07-28 2021-11-30 浪潮电子信息产业股份有限公司 一种加速卡数据下载方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460296A (zh) * 2016-12-09 2018-08-28 上海新微技术研发中心有限公司 一种具有调试接口安全机制的soc芯片及方法
WO2019144403A1 (zh) * 2018-01-29 2019-08-01 深圳市汇顶科技股份有限公司 芯片的访问方法、安全控制模块、芯片和调试设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108460296A (zh) * 2016-12-09 2018-08-28 上海新微技术研发中心有限公司 一种具有调试接口安全机制的soc芯片及方法
WO2019144403A1 (zh) * 2018-01-29 2019-08-01 深圳市汇顶科技股份有限公司 芯片的访问方法、安全控制模块、芯片和调试设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726741A (zh) * 2021-07-28 2021-11-30 浪潮电子信息产业股份有限公司 一种加速卡数据下载方法及相关装置
CN113726741B (zh) * 2021-07-28 2024-01-19 浪潮电子信息产业股份有限公司 一种加速卡数据下载方法及相关装置

Similar Documents

Publication Publication Date Title
CN106970864B (zh) 片上系统、移动终端和用于操作片上系统的方法
CN102663301B (zh) 一种可信计算机及可信性检测方法
US11048826B2 (en) FPGA device and cloud system based on FPGA device
US10078113B1 (en) Methods and circuits for debugging data bus communications
CN110472421B (zh) 主板、固件安全检测方法及终端设备
US7213172B2 (en) Debugging power management
CN108345787B (zh) 确定处理器安全性的方法、检测装置及系统
CN111191214B (zh) 一种嵌入式处理器及数据保护方法
EP3913513A1 (en) Secure debug of fpga design
CN111209247A (zh) 一种集成电路计算设备及计算处理系统
CN112100691A (zh) 一种硬件调试接口的保护方法、保护系统及可编程控制器
CN102369512B (zh) 数据处理系统中具有窥探能力的存储器测试
CN103810440A (zh) 存取系统及方法
CN107204206A (zh) 一种电子熔丝烧写方法、终端及计算机可读存储介质
CN207650794U (zh) 一种基于飞腾处理器的桌面机主板
CN203502954U (zh) 电脑装置及其识别装置
CN110659497A (zh) 可信启动控制方法及其装置、计算机可读存储介质
TWI420318B (zh) A non-intrusive general-purpose common busbar switching device
KR100605141B1 (ko) 디버깅을 위해 데이터 최적화와 동시에 객체 크기 정보의 유지
CN201917913U (zh) 一种加密ic模块
CN109446813A (zh) 一种主板bios防篡改及自动恢复方法
US11734457B2 (en) Technology for controlling access to processor debug features
CN109102436A (zh) 基于usb3.0协议ts1训练序列的ip软核产权保护与侵权鉴定方法
CN114461471A (zh) 一种判断pcie链路训练过程状态的方法、装置及介质
CN105474228A (zh) Io设备与硬件安全元件的自动配对

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20201218