CN115292764A - 一种总线的安全防护方法、装置及介质 - Google Patents
一种总线的安全防护方法、装置及介质 Download PDFInfo
- Publication number
- CN115292764A CN115292764A CN202211219445.XA CN202211219445A CN115292764A CN 115292764 A CN115292764 A CN 115292764A CN 202211219445 A CN202211219445 A CN 202211219445A CN 115292764 A CN115292764 A CN 115292764A
- Authority
- CN
- China
- Prior art keywords
- instruction
- information
- data
- instruction information
- bus
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Small-Scale Networks (AREA)
- Bus Control (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种总线的安全防护方法、装置及介质,适用于总线技术领域。当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备;当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备。对不同的主设备类型进行不同的主设备的防护策略,将主设备的发送指令通过虚拟指令和指令ID分配生成的指令信息传输至从设备,以实现隐藏主设备的优先级关系,使得攻击者无法得到主设备的关键性信息;将主设备的发送指令通过指令ID扩展以及线程分发实现对大流量数据的关键数据的保护,使得攻击者无法从单线程获取到全部的关键数据,进而保证总线系统的安全性。
Description
技术领域
本发明涉及总线技术领域,特别是涉及一种总线的安全防护方法、装置及介质。
背景技术
随着集成电路的不断发展,对系统级芯片(System on Chip,SoC)的处理速度性能和安全性要求越来越高。系统总线作为连接各个模块的中枢桥梁,对SoC系统的性能起到重要影响,特别是在多个主设备和多个从设备的系统中。
由于系统总线承担着整个系统的数据传输的功能,一旦系统总线被监听或控制,将会导致挂载在总线上的设备信息泄露,甚至导致系统数据被篡改。虽往往强调对数据本身的加解密保护或者对其访问属性进行限制,有的加密算法同样存在安全性问题,故安全防护性较低。
因此,寻求一种总线的安全防护方法是本领域技术人员亟需要解决的。
发明内容
本发明的目的是提供一种总线的安全防护方法、装置及介质,保证总线系统的安全性。
为解决上述技术问题,本发明提供一种总线的安全防护方法,包括:
获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;
当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;
当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。
优选地,通过虚拟指令和指令ID分配生成对应的指令信息,包括:
获取当前主设备的发送指令;
将发送指令发送至Dummy以生成虚拟随机数信息;
将虚拟随机数信息作为RAM地址;
将发送指令的指令值以及有效标志位作为写入数据写入至RAM地址内;
读取RAM地址的数据并生成第一指令信息;
将第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息完成指令ID分配,其中第一指令信息包括指令ID扩展位和基本指令ID。
优选地,虚拟随机数信息通过Dummy内的随机数发生器生成。
优选地,读取RAM地址的数据并生成第一指令信息,包括:
获取当前地址信息的存储数据,其中首个地址信息以RAM地址的第一地址信息开始读取;
判断存储数据是否存在有效标志位;
若存在,则读取结束,获取首个地址信息至当前地址信息的存储数据作为第一指令信息;
若不存在,则以下一个地址信息作为当前地址信息,并返回至获取当前地址信息的存储数据的步骤。
优选地,将第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息,包括:
获取第一指令信息的接收时钟时间;
通过接收时钟时间与时钟计数器的对应关系确定指令ID扩展位的随机码数据;
将随机码数据加入至第一指令信息中以生成第二指令信息。
优选地,通过指令ID扩展以及线程分发将指令信息传输至从设备,包括:
获取当前主设备的发送指令、流量数据以及发送的线程数量,其中发送指令的指令格式包括指令ID扩展位和基本指令ID,指令ID扩展位的数量至少为一个;
根据线程数量将流量数据分配至各线程中;
根据指令扩展规则将发送指令对应的指令ID扩展位进行扩展,并结合基本指令ID得到第三指令信息,其中指令扩展规则至少包括一个指令ID扩展位的扩展,第三指令信息的数量与线程数量相同;
将各第三指令信息作为指令信息对应分配至各线程中,并和流量数据传输至从设备。
优选地,指令扩展规则的确定过程包括如下步骤:
获取基本指令ID的异或对象,其中异或对象至少为两个bit位的数据;
将异或对象对应的bit位的数据进行异或得到异或值;
将异或值加入至指令ID扩展位中以实现扩展。
优选地,当当前主设备为优先级主设备时,在将指令信息传输至从设备之后,还包括:
控制从设备将指令信息进行解析并得到对应的响应信息,并将响应信息发送至当前主设备;
判断响应信息与指令信息是否相同;
若相同,则将响应信息发送至主机;
若不相同,则向主机发送错误中断信息,并舍弃响应信息。
优选地,当当前主设备为数据流量主设备时,在将指令信息传输至从设备之后,还包括:
控制从设备将指令信息进行解析并得到对应的响应信息,并将响应信息发送至当前主设备;
控制当前主设备接收的响应信息对应的线程数量;
若接收响应信息对应的线程数量与发送指令信息对应的线程数量相同,则判断各线程发送的响应信息是否存在与指令信息不同的信息;
若存在不同的信息,则将存在与指令信息不同的响应信息对应的线程作为错误线程;
向主机发送错误中断信息并舍弃错误线程;
若不存在,则将响应信息进行聚合得到聚合数据,并将聚合数据发送至主机。
优选地,优先级主设备由CPU的配置任务以及任务调度确定。
优选地,数据流量主设备由主设备发送的数据带宽大于阈值确定。
优选地,通过AXI总线将指令信息传输至从设备。
为解决上述技术问题,本发明还提供一种总线的安全防护装置,包括:
获取模块,用于获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;
第一传输模块,用于当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;
第二传输模块,用于当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。
为解决上述技术问题,本发明还提供一种总线的安全防护装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述总线的安全防护方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述总线的安全防护方法的步骤。
本发明提供的一种总线的安全防护方法,包括:获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。该方法对不同的主设备类型进行不同的主设备的防护策略,将主设备的发送指令通过虚拟指令和指令ID分配生成的指令信息传输至从设备,以实现隐藏主设备的优先级关系,使得攻击者无法得到主设备的关键性信息;将主设备的发送指令通过指令ID扩展以及线程分发实现对大流量数据的关键数据的保护,使得攻击者无法从单线程获取到全部的关键数据,进而保证总线系统的安全性。
另外,本发明还提供了一种总线的安全防护装置及介质,具有如上述总线的安全防护方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种总线的安全防护方法的流程图;
图2为本发明实施例提供系统架构示意图;
图3为本发明实施例提供的一种总线的安全防护装置的结构图;
图4为本发明实施例提供的另一种总线的安全防护装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种总线的安全防护方法、装置及介质,保证总线系统的安全性。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
需要说明的是,本发明提供的总线的安全防护方法,适用于不同的总线,作为一种优选实施例,高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)是由ARM公司提出的一种开放的、高效的SoC总线标准,它独立于处理器与工艺技术,具有速度高、功耗低、可复用性强等优点;且因基于AMBA总线架构的SoC系统测试平台丰富、强大的技术支持,使得AMBA总线已成为事实上的SoC总线标准。总线协议(AdvancedeXtensible Interface,AXI)总线属于AMBA总线体系,可以满足新一代的SoC系统对于多用户高性能低功耗的需求,目前已经得到了广泛的应用。在总线防护的基础上,可以对数据本身进行加密处理或者对访问属性进行限制,本实施例不做具体限定,可根据实际情况进行设置不同的防护方式。
图1为本发明实施例提供的一种总线的安全防护方法的流程图,如图1所示,该方法包括:
S11:获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;
具体地,获取当前主设备对应的主设备类型,对于SoC系统的新能来说,其在多个主设备和多个从设备中,系统总线作为中枢桥梁连接各个模块。对应的主设备的类型根据功能分配一般分为优先级主设备和数据流量主设备。
需要说明的是,优先级设备和数据流量主设备两种类型可以独立也可以互相划分,例如A主设备,既可以作为高优先级主设备使用,也可以作为数据流量主设备使用,在此没有明确的划分依据。高优先级主设备主要针对指令长度进行扩展,数据流量主设备主要针对在指令长度不变的情况下进行扩展,同时分线程传输。对应既可以为高优先级主设备也可以为数据流量主设备的主设备来说,一次的传输仅能作为一种主设备类型出现。
优先级主设备的确定可以通过CPU主要实现整个系统的配置和任务调度,可以不限定发送的数据量多少问题。作为一种优选实施例方式,优先级主设备通过CPU的配置任务和任务调度确定得到。或者只要从CPU发出的连接的设备均可以作为优先级设备使用。
数据流量主设备的确定可以根据数据带宽的多少确定,也可以根据GPU或者视频编解码器进行的视频图像的实时处理传输的数据作为大流量数据主设备。作为一种优选地实施例,可以将数据带宽大于某种阈值的数据作为大流量数据主设备。
S12:当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;
当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成的指令信息,将指令信息传输至从设备。其中,虚拟指令主要的特点为随机性,在原有指令的基础上增加无效信息,在通过指令ID分配的方法再增加无效信息的基础上再进行指令的扩展以分配至不同的从设备或者不同的指令传输。
可以理解的是,主设备向从设备传输的指令可以有多个,其传输的从设备也可以有多个。无效信息在主设备向从设备传输的指令中不同,也就是一旦从设备被攻击,其得到的指令存在多条,其中每条指令的信息的无效信息也不同,对应的有效信息(关键性信息存储主设备的设备号)在破译解析的过程中无疑是混淆了主设备的优先级关系,由于关键信息在指令信息中与无效信息夹杂在一起,无法得知具体的关键性信息。
S13:当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。
当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展,对扩展后的指令再通过线程分发的过程传输至从设备。与上段的指令ID分配的扩展内容不同,本实施例在保持指令信息的指令长度不变的情况下,进行的扩展位的加入,其扩展位在基本指令信息的基础上增加固定的扩展位。同时分发至不同的线程,例如一个线程发送大流量数据,为了避免被攻击,将其分发流量数据分发至不同的线程并进行传输。
需要说明的是,本发明主要解决指令信息的传输,对于数据的传输不做限定,不同的线程下传输的数据长度、数据大小可以相同,也可以不同,主要能够满足分得原有一个线程下的大流量数据即可。
本发明实施例提供的一种总线的安全防护方法,包括:获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。该方法对不同的主设备类型进行不同的主设备的防护策略,将主设备的发送指令通过虚拟指令和指令ID分配生成的指令信息传输至从设备,以实现隐藏主设备的优先级关系,使得攻击者无法得到主设备的关键性信息;将主设备的发送指令通过指令ID扩展以及线程分发实现对大流量数据的关键数据的保护,使得攻击者无法从单线程获取到全部的关键数据,进而保证总线系统的安全性。
在上述实施例的基础上,步骤S12中的通过虚拟指令和指令ID分配生成对应的指令信息,包括:
获取当前主设备的发送指令;
将发送指令发送至Dummy以生成虚拟随机数信息;
将虚拟随机数信息作为RAM地址;
将发送指令的指令值以及有效标志位作为写入数据写入至RAM地址内;
读取RAM地址的数据并生成第一指令信息;
将第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息完成指令ID分配,其中第一指令信息包括指令ID扩展位和基本指令ID。
图2为本发明实施例提供系统架构示意图,如图2所示,主从设备通过内部互联单元(Interconnect,ICN)传输数据和指令,高优先级主设备发送指令至Dummy模块,该模块用与虚拟指令生成模块,完成随机的生成虚拟指令。对应地,Dummy内部主要包括随机发生器和随机存取存储器(Random Access Memory,RAM)存储单元。
获取当前主设备的发送指令,将发送指令发送至Dummy以生成虚拟随机数信息,作为优选实施例,通过Dummy内的随机数发生器生成一个虚拟随机数信息,其随机数限制最小为0,最大为7。将虚拟随机数信息作为RAM地址,将发送指令的指令值(包括指令和指令ID)、有效标志位作为写入数据写入至RAM中,其中指令ID可以为写操作时的axi_awid(写指令ID)和读操作时的axi_arid(读指令ID)。随机发生器可以通过某种函数生成随机数,例如rand()函数和srand()函数等,在此不做限定。
可以理解的是,主设备向从设备传输,包括写地址通道、写数据通道和读地址通道。通常情况下仅传输一种通道,写地址操作、写数据操作或者读地址操作,极少情况下是同时多个操作传输。本发明不做具体限定,当主设备向从设备传输一种通道的操作时,其从设备向主设备传输对应该通道的响应操作。
进一步地,读取RAM地址的数据并生成第一指令数据,从地址0开始读取ram中的数据,并将其依次传递给后级,当读到指令有效标志位时,同样将其传递到后级,并停止后续的读取。作为一种优选实施例,具体包括:
获取当前地址信息的存储数据,其中首个地址信息以RAM地址的第一地址信息开始读取;
判断存储数据是否存在有效标志位;
若存在,则读取结束,获取首个地址信息至当前地址信息的存储数据作为第一指令信息;
若不存在,则以下一个地址信息作为当前地址信息,并返回至获取当前地址信息的存储数据的步骤。
例如,根据Dummy生成虚拟随机数信息random_0,其随机数具体为4,在随机数(0-7)之间,对应的RAM地址落在第5个地址信息中,则需要从第一地址信息读起,直到读到第5个地址信息中,将第一地址信息至第5个地址信息的全部数据(存储数据)作为第一指令信息。在当前的第一指令信息中,前4个地址信息作为无效信息,第5个地址信息作为有效信息(有效标志位)存储主设备的关键性信息。
RAM中的格式见表1:
表1 RAM地址信息表
有效标志位 | 指令ID | 指令值(包括地址、突发长度等等) | |
Bit位 | 0 | 1-6 | 9-255 |
其中原始指令ID为bit1-6。
将第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息,本实施例中的指令ID扩展可以通过上述的扩展内容进行,也可以通过其他方式的扩展方式,本发明不做具体限定。基于硬件设计较容易实现的一种实施例,具体包括:
获取第一指令信息的接收时钟时间;
通过接收时钟时间与时钟计数器的对应关系确定指令ID扩展位的随机码数据;
将随机码数据加入至第一指令信息中以生成第二指令信息。
具体地,在前级发送数据至当前模块时取计数器的数据作为扩展位。如图2所示,在Dummy模块之后输入至ID再分配模块(ID Dist),包括指令检查(check)、指令发送(tran)、指令分配(Allocate)三个子模块,其中tran实现指令发送;check实现从设备返回响应信号的检查,将真实指令信号返回给主设备;Allocate实现指令分配。本实施例在Allocate子模块中实现。
结合表1的RAM地址的指令信息,其通过Allocate子模块的分配得到新的指令(第二指令信息)。具体如下:
Bit0:有效标志位(RAM中的bit0);
Bit1-6:原有指令ID(RAM中的bit1-6);
Bit7-8:扩展位;
Bit9-255:指令值(RAM的bit9-255)。
可以看出,新生成的指令相比于原有指令主要区别在于bit7-8的指令ID扩展位。扩展位使用一种伪随机的方法生成,即使用2bit时钟计数器的方式产生,只要时钟稳定,计数器循环计数,而前级发送过来数据的时间是不确定的,在前级发送数据至当前模块时取计数器的数值作为扩展位,此时是一种伪随机方式。
如图2所示,地址译码模块(Decoder),实现指令和数据传输方向的选择;仲裁模块(arb),将译码后的指令发送至arb模块中以此输出至对应的从设备。
本实施例提供的主设备发送至从设备的指令信息,通过虚拟指令和指令ID分配生成的指令信息传输至从设备,以实现隐藏主设备的优先级关系,使得攻击者无法得到主设备的关键性信息。
在上述实施例的基础上,步骤S13中的通过指令ID扩展以及线程分发将指令信息传输至从设备,包括:
获取当前主设备的发送指令、流量数据以及发送的线程数量,其中发送指令的指令格式包括指令ID扩展位和基本指令ID,指令ID扩展位的数量至少为一个;
根据线程数量将流量数据分配至各线程中;
根据指令扩展规则将发送指令对应的指令ID扩展位进行扩展,并结合基本指令ID得到第三指令信息,其中指令扩展规则至少包括一个指令ID扩展位的扩展,第三指令信息的数量与线程数量相同;
将各第三指令信息作为指令信息对应分配至各线程中,并和流量数据传输至从设备。
具体地,目前的大数据流量仅通过一个线程进行传输大数据流量,故在其基础上,获取当前主设备的发送指令,以及对应的流量数据,之前设置的线程数量。发送指令的指令格式包括指令ID扩展位和基本指令ID,可以参考上述实施例的有效标志位、指令ID以及扩展位。
不同的是,发送指令的指令格式内的扩展位至少为一个,用于在不改变指令长度下传输至从设备。根据线程数量将流量数据分配至各线程中,可以理解的是,流量数据根据线程数量可以平均分配至各线程,也可以根据随机分配至各线程,还可以根据各线程的工作任务进行权重分配均可,只要能将一个线程上的大数据流量分配至各线程上即可。
根据指令扩展规则将发送指令对应的指令ID扩展位进行扩展,并结合基本指令ID得到第三指令信息,需要说明的是,指令扩展规则至少包括一个指令ID扩展位的扩展,第三指令信息的数量与线程数量相同。
作为一种优选地实施例,指令扩展规则的确定过程包括如下步骤:
获取基本指令ID的异或对象,其中异或对象至少为两个bit位的数据;
将异或对象对应的bit位的数据进行异或得到异或值;
将异或值加入至指令ID扩展位中以实现扩展。
基本指令ID位bit1-6的原有指令ID,获取对应的异或对象。其中,异或对象至少位两个bit位的数据,也可以多于两个bit位,将数据进行异或得到异或值,再将异或值加入至指令ID扩展位实现扩展。
第三指令信息的格式如下:
Bit 0:扩展位[0]
Bit 1-6:原有指令id
Bit 7-8:扩展位[1:2]
可以看到扩展位为3bit的信号,记为extend,其bit位为0的数据作为扩展的指令的bit0,其bit位为1-2的数据作为扩展的指令的bit7-8。
Extend的值为原有指令id的异或值:
extend[0] = id[3]^id[4]
extend[1] = id[2]^id[5]
extend[2] = id[1]^id[6]
例如:异或对象为bit3、bit4,将其bit3、bit4的值进行异或得到的异或值放置在bit0处的扩展位。同时设置多于两个的异或对象bit2、bit5,将其bit2、bit5的值进行异或得到的异或值放置在bit7处的扩展位;异或对象bit1、bit6,将其bit1、bit6的值进行异或得到的异或值放置在bit8处的扩展位。
如图2所示, ID扩展模块(ID extend),包括数据聚合(aggre)、指令发送(tran)、指令扩展(extend)三个子模块,其中tran实现指令发送;aggre实现从设备返回数据的ID聚合,将数据信号返回给主设备;extend实现指令ID的扩展。地址译码模块(Decoder),实现指令和数据传输方向的选择;仲裁模块(arb),将译码后的指令发送至arb模块中以此输出至对应的从设备。
可以理解的是,第三指令信息为多个,每个第三指令信息之间的具体指令信息由于扩展规则下的扩展位不同,其得到的第三指令信息不同,但是基本指令ID相同。将各第三指令信息作为指令信息对应分配至各线程中,并和流量数据传输至从设备。
本实施例提供的主设备发送至从设备的指令信息,通过指令ID扩展以及线程分发实现对大流量数据的关键数据的保护,使得攻击者无法从单线程获取到全部的关键数据。
作为完成的主从设备的交互流程,主设备向从设备发送数据,从设备向主设备发送响应信息。当当前主设备为优先级主设备时,在将指令信息传输至从设备之后,还包括:
控制从设备将指令信息进行解析并得到对应的响应信息;
将响应信息发送至当前主设备;
判断响应信息与指令信息是否相同;
若相同,则将响应信息发送至主机;
若不相同,则向主机发送错误中断信息,并舍弃响应信息。
在完成主机向从机的传输事务(包括主机对从机的写操作、读指令)后,从机返回写完成响应和读数据给主机,其中写完成响应信号组包括axi_bid(写响应ID)信号,其值应为对应的之前写操作的axi_awid_new;读数据信号组包括axi_rid(读数据ID)信号,其值应为对应的之前读操作的axi_arid_new。
因此,首先检查这两组ID是否分别相等,若相等则进入后续步骤,若不相等则直接向主机回复错误中断信号。
其次,提取真实ID值。在前面的介绍中可以知道,在从机返回的ID中只有bit1-6为有效的值,在axi_bid和axi_rid的bit0为1时(即有效标志位为1),将axi_bid和axi_rid的bit1-6作为实际的id值及其相应的数据返回给主机对应的设备,若bit0为0时(即有效标志位为0),则直接舍弃,不返回至主机。上述提到的两组ID,其对应的响应信息与指令信息是否相同,若相同,则将响应信息发送给主机,若不同,则说明从设备内部出现问题,或者被攻击者攻击,则需要舍弃响应信息。
本发明实施例提供的当当前主设备为优先级主设备时,从设备发送至主设备的响应信息,通过比较过程,使得交互过程保持完整,同时对与指令信息不同的响应信息,直接丢弃,提高总线的安全防护性。
作为完成的主从设备的交互流程,主设备向从设备发送数据,从设备向主设备发送响应信息。当当前主设备为数据流量主设备时,在将指令信息传输至从设备之后,还包括:
控制从设备将指令信息进行解析并得到对应的响应信息,将响应信息发送至当前主设备;
控制当前主设备接收的响应信息对应的线程数量;
若接收响应信息对应的线程数量与发送指令信息对应的线程数量相同,则判断各线程发送的响应信息是否存在与指令信息不同的信息;
若存在不同的信息,则将存在与指令信息不同的响应信息对应的线程作为错误线程;
向主机发送错误中断信息并舍弃错误线程;
若不存在,则将响应信息进行聚合得到聚合数据,并将聚合数据发送至主机。
由于在主设备向从设备通过多个线程传输数据流量,其在从设备发送主设备的响应信息中,需要聚合ID,先判断线程数量以及线程名称等信息是否相同,若相同,则判断各线程返回的响应信息是否与指令信息相同,若全部相同,则直接提取真实ID,进行聚合流量数据,若存在不同的信息,则将其对应的线程舍弃,并且向主机发送错误中断信息,当前聚合失败。
在完成主机向从机的传输事务(包括主机对从机的写操作、读指令)后,从机返回写完成响应和读数据给主机,其中写完成响应信号组包括axi_bid(写响应ID)信号,其值应为对应的之前写操作的axi_awid_extend;读数据信号组包括axi_rid(读数据ID)信号,其值应为对应的之前读操作的axi_arid_extend。
因此,首先检查这两组ID是否分别相等,若相等则进入后续步骤,若不相等则直接向主机回复错误中断信号。
其次,提取真实ID值。在前面的介绍中可以知道,在从机返回的id中只有bit1-6为有效的值,因此将axi_bid和axi_rid的bit1-6作为实际的id值及其相应的数据返回给主机对应的设备。
本发明实施例提供的当当前主设备为数据流量主设备时,从设备发送至主设备的响应信息,通过比较过程,使得交互过程保持完整,同时对与指令信息不同的响应信息,直接丢弃,提高总线的安全防护性。
在上述实施例的基础上,通过AXI总线将指令信息传输至从设备。
AXI总线的读写通道(共5组通道)是完全独立分离的,可分为主设备向从设备传输和从设备向主设备传输两大类。主设备向从设备传输,这个过程包括写地址通道、写数据通道、读地址通道。从设备向主设备传输,则包括读数据通道和写响应通道。
当当前主设备为优先级主设备时,主设备将指令信息传输至从设备,bit0-8作为新的指令ID(写操作时记为axi_awid_new,读操作时记为axi_arid_new),以及bit9-255根据其实际信号功能给到AXI总线端口。
当当前主设备为数据流量主设备时,extend_id作为新的指令ID(写操作时记为axi_awid_extend,读操作时记为axi_arid_extend),以及其对应的其余指令信号给到AXI总线端口。
本实施例提供的通过AXI总线将指令信息传输至从设备,实现高性能、高带宽、低延迟。
上述详细描述了总线的安全防护方法对应的各个实施例,在此基础上,本发明还公开与上述方法对应的总线的安全防护装置,图3为本发明实施例提供的一种总线的安全防护装置的结构图。如图3所示,总线的安全防护装置包括:
获取模块11,用于获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;
第一传输模块12,用于当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;
第二传输模块13,用于当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。
由于装置部分的实施例与上述的实施例相互对应,因此装置部分的实施例请参照上述方法部分的实施例描述,在此不再赘述。
对于本发明提供的一种总线的安全防护装置的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述总线的安全防护方法相同的有益效果。
图4为本发明实施例提供的另一种总线的安全防护装置的结构图,如图4所示,该装置包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现总线的安全防护方法的步骤。
本实施例提供的总线的安全防护装置可以包括但不限于平板电脑、笔记本电脑或者台式电脑等。
其中,处理器22可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器22可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器22可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器22还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器21可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器21还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器21至少用于存储以下计算机程序211,其中,该计算机程序被处理器22加载并执行之后,能够实现前述任一实施例公开的总线的安全防护方法的相关步骤。另外,存储器21所存储的资源还可以包括操作系统212和数据213等,存储方式可以是短暂存储或者永久存储。其中,操作系统212可以包括Windows、Unix、Linux等。数据213可以包括但不限于总线的安全防护方法所涉及到的数据等等。
在一些实施例中,总线的安全防护装置还可包括有显示屏23、输入输出接口24、通信接口25、电源26以及通信总线27。
领域技术人员可以理解,图4中示出的结构并不构成对总线的安全防护装置的限定,可以包括比图示更多或更少的组件。
处理器22通过调用存储于存储器21中的指令以实现上述任一实施例所提供的总线的安全防护方法。
对于本发明提供的一种总线的安全防护装置的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述总线的安全防护方法相同的有益效果。
进一步的,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器22执行时实现如上述总线的安全防护方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述总线的安全防护方法相同的有益效果。
以上对本发明所提供的一种总线的安全防护方法、总线的安全防护装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种总线的安全防护方法,其特征在于,包括:
获取当前主设备对应的主设备类型,其中所述主设备类型包括优先级主设备和数据流量主设备;
当所述当前主设备的主设备类型为所述优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏所述当前主设备的优先级;
当所述当前主设备的主设备类型为所述数据流量主设备时,通过指令ID扩展以及线程分发将所述指令信息传输至所述从设备以完成数据保护。
2.根据权利要求1所述的总线的安全防护方法,其特征在于,所述通过虚拟指令和指令ID分配生成对应的指令信息,包括:
获取所述当前主设备的发送指令;
将所述发送指令发送至Dummy以生成虚拟随机数信息;
将所述虚拟随机数信息作为RAM地址;
将所述发送指令的指令值以及有效标志位作为写入数据写入至所述RAM地址内;
读取所述RAM地址的数据并生成第一指令信息;
将所述第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息完成所述指令ID分配,其中所述第一指令信息包括指令ID扩展位和基本指令ID。
3.根据权利要求2所述的总线的安全防护方法,其特征在于,所述虚拟随机数信息通过所述Dummy内的随机数发生器生成。
4.根据权利要求2所述的总线的安全防护方法,其特征在于,所述读取所述RAM地址的数据并生成第一指令信息,包括:
获取当前地址信息的存储数据,其中首个地址信息以所述RAM地址的第一地址信息开始读取;
判断所述存储数据是否存在所述有效标志位;
若存在,则读取结束,获取首个所述地址信息至所述当前地址信息的存储数据作为所述第一指令信息;
若不存在,则以下一个所述地址信息作为所述当前地址信息,并返回至所述获取当前地址信息的存储数据的步骤。
5.根据权利要求4所述的总线的安全防护方法,其特征在于,所述将所述第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息,包括:
获取所述第一指令信息的接收时钟时间;
通过所述接收时钟时间与时钟计数器的对应关系确定所述指令ID扩展位的所述随机码数据;
将所述随机码数据加入至所述第一指令信息中以生成所述第二指令信息。
6.根据权利要求1所述的总线的安全防护方法,其特征在于,所述通过指令ID扩展以及线程分发将所述指令信息传输至所述从设备,包括:
获取所述当前主设备的发送指令、流量数据以及发送的线程数量,其中所述发送指令的指令格式包括指令ID扩展位和基本指令ID,所述指令ID扩展位的数量至少为一个;
根据所述线程数量将所述流量数据分配至各所述线程中;
根据指令扩展规则将所述发送指令对应的指令ID扩展位进行扩展,并结合所述基本指令ID得到第三指令信息,其中所述指令扩展规则至少包括一个指令ID扩展位的扩展,所述第三指令信息的数量与所述线程数量相同;
将各所述第三指令信息作为所述指令信息对应分配至各所述线程中,并和所述流量数据传输至所述从设备。
7.根据权利要求6所述的总线的安全防护方法,其特征在于,所述指令扩展规则的确定过程包括如下步骤:
获取所述基本指令ID的异或对象,其中所述异或对象至少为两个bit位的数据;
将所述异或对象对应的bit位的数据进行异或得到异或值;
将所述异或值加入至所述指令ID扩展位中以实现扩展。
8.根据权利要求1至5任意一项所述的总线的安全防护方法,其特征在于,当所述当前主设备为所述优先级主设备时,在将所述指令信息传输至所述从设备之后,还包括:
控制所述从设备将所述指令信息进行解析并得到对应的响应信息,并将所述响应信息发送至所述当前主设备;
判断所述响应信息与所述指令信息是否相同;
若相同,则将所述响应信息发送至主机;
若不相同,则向所述主机发送错误中断信息,并舍弃所述响应信息。
9.根据权利要求6或7所述的总线的安全防护方法,其特征在于,当所述当前主设备为所述数据流量主设备时,在将所述指令信息传输至所述从设备之后,还包括:
控制所述从设备将所述指令信息进行解析并得到对应的响应信息,并将所述响应信息发送至所述当前主设备;
控制所述当前主设备接收的所述响应信息对应的线程数量;
若接收所述响应信息对应的线程数量与发送所述指令信息对应的线程数量相同,则判断各所述线程发送的所述响应信息是否存在与所述指令信息不同的信息;
若存在不同的信息,则将存在与所述指令信息不同的所述响应信息对应的线程作为错误线程;
向主机发送错误中断信息并舍弃所述错误线程;
若不存在,则将所述响应信息进行聚合得到聚合数据,并将所述聚合数据发送至所述主机。
10.根据权利要求8所述的总线的安全防护方法,其特征在于,所述优先级主设备由CPU的配置任务以及任务调度确定。
11.根据权利要求9所述的总线的安全防护方法,其特征在于,所述数据流量主设备由主设备发送的数据带宽大于阈值确定。
12.根据权利要求1所述的总线的安全防护方法,其特征在于,通过AXI总线将所述指令信息传输至所述从设备。
13.一种总线的安全防护装置,其特征在于,包括:
获取模块,用于获取当前主设备对应的主设备类型,其中所述主设备类型包括优先级主设备和数据流量主设备;
第一传输模块,用于当所述当前主设备的主设备类型为所述优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏所述当前主设备的优先级;
第二传输模块,用于当所述当前主设备的主设备类型为所述数据流量主设备时,通过指令ID扩展以及线程分发将所述指令信息传输至所述从设备以完成数据保护。
14.一种总线的安全防护装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述的总线的安全防护方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的总线的安全防护方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211219445.XA CN115292764B (zh) | 2022-10-08 | 2022-10-08 | 一种总线的安全防护方法、装置及介质 |
PCT/CN2023/078489 WO2024074008A1 (zh) | 2022-10-08 | 2023-02-27 | 一种总线的安全防护方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211219445.XA CN115292764B (zh) | 2022-10-08 | 2022-10-08 | 一种总线的安全防护方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115292764A true CN115292764A (zh) | 2022-11-04 |
CN115292764B CN115292764B (zh) | 2023-03-24 |
Family
ID=83834640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211219445.XA Active CN115292764B (zh) | 2022-10-08 | 2022-10-08 | 一种总线的安全防护方法、装置及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115292764B (zh) |
WO (1) | WO2024074008A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024074008A1 (zh) * | 2022-10-08 | 2024-04-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种总线的安全防护方法、装置及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028292A1 (en) * | 2003-02-20 | 2007-02-01 | Secure Systems Limited | Bus bridge security system and method for computers |
CN103092798A (zh) * | 2012-12-28 | 2013-05-08 | 华为技术有限公司 | 片上系统及总线下的访问设备的方法 |
CN103136083A (zh) * | 2011-11-29 | 2013-06-05 | 鸿富锦精密工业(深圳)有限公司 | 通用串行总线的测试设备及方法 |
CN106096338A (zh) * | 2016-06-07 | 2016-11-09 | 西北大学 | 一种具有数据流混淆的虚拟化软件保护方法 |
CN106250774A (zh) * | 2016-08-16 | 2016-12-21 | 三星电子(中国)研发中心 | 主设备和辅助设备及其操作的处理方法 |
US20180027021A1 (en) * | 2016-07-20 | 2018-01-25 | Hangzhou Dptech Technologies Co., Ltd. | Managing security policy |
CN109189470A (zh) * | 2018-08-21 | 2019-01-11 | 北京奇虎科技有限公司 | 代码加固方法及装置 |
CN110312994A (zh) * | 2017-02-24 | 2019-10-08 | 国际商业机器公司 | 使用指令地址映射绕过加载指令的存储器访问 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108090366B (zh) * | 2017-12-05 | 2020-02-04 | 深圳云天励飞技术有限公司 | 数据保护方法及装置、计算机装置及可读存储介质 |
EP3582204B1 (en) * | 2018-06-14 | 2024-02-14 | BlackBerry Limited | Method and system for traffic management |
CN112256331B (zh) * | 2020-12-22 | 2021-04-27 | 鹏城实验室 | 虚拟机指令解析加速方法、装置和计算机存储介质 |
CN115292764B (zh) * | 2022-10-08 | 2023-03-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种总线的安全防护方法、装置及介质 |
-
2022
- 2022-10-08 CN CN202211219445.XA patent/CN115292764B/zh active Active
-
2023
- 2023-02-27 WO PCT/CN2023/078489 patent/WO2024074008A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070028292A1 (en) * | 2003-02-20 | 2007-02-01 | Secure Systems Limited | Bus bridge security system and method for computers |
CN103136083A (zh) * | 2011-11-29 | 2013-06-05 | 鸿富锦精密工业(深圳)有限公司 | 通用串行总线的测试设备及方法 |
CN103092798A (zh) * | 2012-12-28 | 2013-05-08 | 华为技术有限公司 | 片上系统及总线下的访问设备的方法 |
CN106096338A (zh) * | 2016-06-07 | 2016-11-09 | 西北大学 | 一种具有数据流混淆的虚拟化软件保护方法 |
US20180027021A1 (en) * | 2016-07-20 | 2018-01-25 | Hangzhou Dptech Technologies Co., Ltd. | Managing security policy |
CN106250774A (zh) * | 2016-08-16 | 2016-12-21 | 三星电子(中国)研发中心 | 主设备和辅助设备及其操作的处理方法 |
CN110312994A (zh) * | 2017-02-24 | 2019-10-08 | 国际商业机器公司 | 使用指令地址映射绕过加载指令的存储器访问 |
CN109189470A (zh) * | 2018-08-21 | 2019-01-11 | 北京奇虎科技有限公司 | 代码加固方法及装置 |
Non-Patent Citations (1)
Title |
---|
杨先文等: "密码安全USB设备控制器IP的系统设计", 《华中科技大学学报(自然科学版)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024074008A1 (zh) * | 2022-10-08 | 2024-04-11 | 山东云海国创云计算装备产业创新中心有限公司 | 一种总线的安全防护方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024074008A1 (zh) | 2024-04-11 |
CN115292764B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568187C (zh) | 一种用于对调试消息进行掩码的方法和装置 | |
CN107256363B (zh) | 一种由加解密模块阵列组成的高速加解密装置 | |
US10261854B2 (en) | Memory integrity violation analysis method and apparatus | |
CN108628791B (zh) | 基于pcie接口的高速安全芯片 | |
US10078568B1 (en) | Debugging a computing device | |
CN115292764B (zh) | 一种总线的安全防护方法、装置及介质 | |
CN112765082B (zh) | 多主机仲裁方法、装置和可读存储介质 | |
CN115659379B (zh) | 一种总线访问权限控制方法及装置 | |
CN101996286B (zh) | 动态安全度量的实现方法、安全度量装置和应用系统 | |
TW202121879A (zh) | 透過虛擬匯流排編碼傳播遙測資訊的系統、設備及方法 | |
CN115408707A (zh) | 一种数据传输方法、装置、系统及电子设备和存储介质 | |
CN106326130B (zh) | 寄存器地址空间的控制方法、控制器及片上系统 | |
CN102855199A (zh) | 数据处理设备和数据处理装置 | |
CN115022076A (zh) | 一种数据加/解密方法、装置、系统及介质 | |
CN112035900A (zh) | 一种高性能密码卡以及其通信方法 | |
CN112948840A (zh) | 一种访问控制设备和包含该设备的处理器 | |
JP2007026434A (ja) | 低性能格納装置のdrm権利オブジェクトを効率的に管理する方法および装置 | |
CN113821472A (zh) | 系统单芯片及控制方法 | |
CN111651272B (zh) | 一种嵌入式实时操作的线程时间管理方法及装置 | |
US20080082708A1 (en) | Token hold off for chipset communication | |
CN105335670A (zh) | 一种实时完整性校验方法和校验电路及安全芯片 | |
CN101241478B (zh) | 数据传送方法 | |
CN114401081A (zh) | 数据加密传输方法、应用及系统 | |
TWI797554B (zh) | 系統單晶片及控制方法 | |
CN206209731U (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |