WO2024074008A1 - 一种总线的安全防护方法、装置及介质 - Google Patents

一种总线的安全防护方法、装置及介质 Download PDF

Info

Publication number
WO2024074008A1
WO2024074008A1 PCT/CN2023/078489 CN2023078489W WO2024074008A1 WO 2024074008 A1 WO2024074008 A1 WO 2024074008A1 CN 2023078489 W CN2023078489 W CN 2023078489W WO 2024074008 A1 WO2024074008 A1 WO 2024074008A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
master device
information
data
instruction information
Prior art date
Application number
PCT/CN2023/078489
Other languages
English (en)
French (fr)
Inventor
孙旭
周玉龙
刘刚
李拓
Original Assignee
山东云海国创云计算装备产业创新中心有限公司
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 山东云海国创云计算装备产业创新中心有限公司 filed Critical 山东云海国创云计算装备产业创新中心有限公司
Publication of WO2024074008A1 publication Critical patent/WO2024074008A1/zh

Links

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/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Definitions

  • the present application relates to the field of bus technology, and in particular to a bus security protection method, device and medium.
  • SoC System on Chip
  • the inventors realize that since the system bus is responsible for the data transmission of the entire system, once the system bus is monitored or controlled, it will lead to the leakage of information of the devices mounted on the bus, and even cause the system data to be tampered with. Although it is often emphasized to encrypt and decrypt the data itself or restrict its access attributes, some encryption algorithms also have security issues, so the security protection is relatively low.
  • the present application provides a bus security protection method, comprising:
  • the master device type includes a priority master device and a data traffic master device
  • the master device type of the current master device is a priority master device
  • corresponding instruction information is generated through virtual instructions and instruction ID allocation and transmitted to the slave device to hide the priority of the current master device;
  • the instruction information is transmitted to the slave device through instruction ID extension and thread distribution to complete data protection.
  • corresponding instruction information is generated by allocating virtual instructions and instruction IDs, including:
  • the instruction ID extension bit of the first instruction information is used to generate random code data to generate the second instruction information to complete the instruction ID allocation, wherein the first instruction information includes the instruction ID extension bit and the basic instruction ID.
  • the virtual random number information is generated by a random number generator within Dummy.
  • reading data from a RAM address and generating first instruction information includes:
  • the reading is completed, and the stored data from the first address information to the current address information is obtained as the first instruction information.
  • reading data at a RAM address and generating first instruction information further includes:
  • the next address information is used as the current address information, and the process returns to the step of obtaining the stored data of the current address information.
  • the instruction ID of the first instruction information is extended to generate random code data to generate the second instruction information, including:
  • the random code data is added to the first instruction information to generate the second instruction information.
  • the instruction information is transmitted to the slave device through instruction ID extension and thread distribution, including:
  • the instruction format of the sending instruction includes an instruction ID extension bit and a basic instruction ID, and the number of instruction ID extension bits is at least one;
  • Each third instruction information is distributed as instruction information to each thread, and is transmitted to the slave device together with the flow data.
  • distributing the traffic data to each thread according to the number of threads includes:
  • Weights are assigned according to the work tasks of each thread.
  • the process of determining the instruction extension rule includes the following steps:
  • the XOR value is added to the instruction ID extension bits to implement the extension.
  • the method when the current master device is a priority master device, after transmitting the instruction information to the slave device, the method further includes:
  • Control the slave device to parse the command information and obtain the corresponding response information, and send the response information to the current master device;
  • the response information is the same as the command information, the response information is sent to the host.
  • the method when the current master device is a priority master device, after transmitting the instruction information to the slave device, the method further includes:
  • the method when the current master device is a data traffic master device, after transmitting the instruction information to the slave device, the method further includes:
  • Control the slave device to parse the command information and obtain the corresponding response information, and send the response information to the current master device;
  • the thread corresponding to the response information different from the instruction information is regarded as an error thread
  • the method when the current master device is a data traffic master device, after transmitting the instruction information to the slave device, the method further includes:
  • the response information is aggregated to obtain aggregated data, and the aggregated data is sent to the host.
  • the priority master is determined by the configuration task and task scheduling of the CPU.
  • the data traffic master device is determined by a data bandwidth sent by the master device being greater than a threshold.
  • the instruction information is transmitted to the slave device via an AXI bus.
  • the current master device may transmit a plurality of transmission channels to the slave device.
  • the slave device transmits a response operation corresponding to the same channel to the current master device.
  • the present application also provides a bus safety protection device, comprising:
  • An acquisition module used to acquire the master device type corresponding to the current master device, wherein the master device type includes a priority master device and a data traffic master device;
  • a first transmission module used for, when the master device type of the current master device is a priority master device, generating corresponding instruction information through virtual instructions and instruction ID allocation and transmitting it to the slave device to hide the priority of the current master device;
  • the second transmission module is used to transmit the instruction information to the slave device through instruction ID extension and thread distribution to complete data protection when the master device type of the current master device is a data traffic master device.
  • the present application also provides a bus security protection device, comprising: a memory and one or more processors, wherein the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the one or more processors, the one or more processors implement the steps of the bus security protection method as described above.
  • the present application also provides one or more non-volatile computer-readable storage media storing computer-readable instructions.
  • the above-mentioned computer-readable instructions are executed by the above-mentioned one or more processors, the above-mentioned one or more processors execute the steps of the above-mentioned bus security protection method.
  • FIG1 is a flow chart of a bus security protection method provided by the present application according to one or more embodiments
  • FIG2 is a schematic diagram of a system architecture provided by the present application according to one or more embodiments.
  • FIG3 is a structural diagram of a bus security protection device provided by the present application according to one or more embodiments.
  • FIG4 is a structural diagram of another bus security protection device provided by the present application according to one or more embodiments.
  • the core of this application is to provide a bus security protection method, device and medium to ensure the security of the bus system sex.
  • the bus security protection method provided in this application is applicable to different buses.
  • the Advanced Microcontroller Bus Architecture (AMBA) is an open and efficient SoC bus standard proposed by ARM. It is independent of the processor and process technology, and has the advantages of high speed, low power consumption, and strong reusability. And because of the rich and powerful technical support of the SoC system test platform based on the AMBA bus architecture, the AMBA bus has become the de facto SoC bus standard.
  • the bus protocol Advanced eXtensible Interface, AXI
  • AXI Advanced eXtensible Interface
  • the data itself can be encrypted or the access attributes can be restricted. This embodiment does not make specific limitations, and different protection methods can be set according to actual conditions.
  • FIG1 is a flow chart of a bus security protection method provided by an embodiment of the present application. As shown in FIG1 , the method includes:
  • S11 Obtain the master device type corresponding to the current master device, where the master device type includes a priority master device and a data traffic master device;
  • the master device type corresponding to the current master device is obtained.
  • the system bus serves as a central bridge to connect various modules.
  • the types of corresponding master devices are generally divided into priority master devices and data flow master devices according to function allocation.
  • master device A can be used as both a high-priority master device and a data traffic master device. There is no clear basis for the division.
  • the high-priority master device mainly expands the instruction length
  • the data traffic master device mainly expands the instruction length while keeping the instruction length unchanged, and transmits in different threads.
  • a transmission can only appear as one type of master device.
  • the determination of the priority master device can be realized by the CPU mainly to realize the configuration and task scheduling of the whole system, and the amount of data to be sent can be not limited.
  • the priority master device is determined by the configuration task and task scheduling of the CPU. Or any device connected from the CPU can be used as a priority device.
  • the data traffic master device can be determined based on the amount of data bandwidth, or the data transmitted by real-time processing of video images by GPU or video codec can be used as the high-traffic data master device.
  • data with a data bandwidth greater than a certain threshold may be regarded as a large-flow data master device.
  • Determine the master device type of the current master device as a priority master device based on the determination that the master device type of the current master device is a priority master device, generate corresponding instruction information through virtual instructions and instruction ID allocation and transmit it to the slave device to hide the priority of the current master device.
  • the instruction information is transmitted to the slave device through the instruction information generated by the virtual instruction and instruction ID allocation.
  • the main feature of the virtual instruction is randomness, adding invalid information on the basis of the original instruction, and then expanding the instruction on the basis of adding invalid information through the instruction ID allocation method to allocate it to different slave devices or different instruction transmissions.
  • the instruction ID is extended, and the extended instruction is transmitted to the slave device through the thread distribution process.
  • this embodiment adds an extension bit while keeping the instruction length of the instruction information unchanged.
  • the extension bit adds a fixed extension bit on the basis of the basic instruction information. At the same time, it is distributed to different threads. For example, if a thread sends large flow data, in order to avoid being attacked, its distribution flow data is distributed to different threads and transmitted.
  • the present application mainly solves the transmission of instruction information and does not limit the transmission of data.
  • the data length and data size transmitted under different threads can be the same or different, and it can mainly meet the needs of dividing the large flow data under the original thread.
  • the embodiment of the present application provides a bus security protection method, comprising: obtaining a master device type corresponding to a current master device, wherein the master device type includes a priority master device and a data flow master device; when the master device type of the current master device is a priority master device, generating corresponding instruction information through virtual instructions and instruction ID allocation and transmitting it to the slave device; The method uses a virtual instruction and a thread distribution to distribute the instruction information generated by the instruction ID of the master device to the slave device to hide the priority of the current master device; when the master device type of the current master device is a data traffic master device, the instruction information is transmitted to the slave device through instruction ID extension and thread distribution to complete data protection.
  • the method implements different master device protection strategies for different master device types, and transmits the instruction information generated by the master device's sending instruction to the slave device through virtual instructions and instruction ID allocation to achieve the priority relationship of the hidden master device, so that attackers cannot obtain the key information of the master device; the master device's sending instruction is extended through instruction ID and thread distribution to protect the key data of large traffic data, so that attackers cannot obtain all the key data from a single thread, thereby ensuring the security of the bus system.
  • the step S12 of generating corresponding instruction information by allocating virtual instructions and instruction IDs includes:
  • the instruction ID extension bit of the first instruction information is used to generate random code data to generate the second instruction information to complete the instruction ID allocation, wherein the first instruction information includes the instruction ID extension bit and the basic instruction ID.
  • FIG2 is a schematic diagram of the system architecture provided by the embodiment of the present application.
  • the master and slave devices transmit data and instructions through the internal interconnection unit (ICN), and the high-priority master device sends instructions to the Dummy module, which is used with the virtual instruction generation module to complete the random generation of virtual instructions.
  • the Dummy mainly includes a random generator and a random access memory (RAM) storage unit.
  • a virtual random number information is generated by the random number generator in Dummy, and its random number limit is a minimum of 0 and a maximum of 7.
  • the random generator can generate random numbers by some function, such as rand() function and srand() function, etc., which are not limited here.
  • the master device transmits to the slave device, including a write address channel, a write data channel, and a read address channel. Usually, only one channel is transmitted, a write address operation, a write data operation, or a read address operation. In rare cases, multiple operations are transmitted at the same time. This application does not make specific restrictions.
  • the slave device transmits a response operation corresponding to the channel to the master device.
  • the data of the RAM address is read and the first instruction data is generated, and the data in the RAM is read starting from address 0.
  • the data is read and passed to the next stage in sequence.
  • the instruction valid flag is read, it is also passed to the next stage and subsequent reading is stopped.
  • it specifically includes:
  • next address information is used as the current address information, and the process returns to the step of obtaining the storage data of the current address information.
  • the virtual random number information random_0 is generated, and its random number is specifically 4. Between the random numbers (0-7), the corresponding RAM address falls in the fifth address information. Then it is necessary to read from the first address information until the fifth address information is read, and all the data (stored data) from the first address information to the fifth address information is used as the first instruction information. In the current first instruction information, the first four address information are used as invalid information, and the fifth address information is used as valid information (valid flag) to store the key information of the master device.
  • the original instruction ID is bits 1-6.
  • the instruction ID extension bit of the first instruction information generates random code data to generate the second instruction information.
  • the instruction ID extension in this embodiment can be performed through the above-mentioned extension content, or through other extension methods, which are not specifically limited in this application.
  • An embodiment that is easier to implement based on hardware design specifically includes:
  • the random code data is added to the first instruction information to generate the second instruction information.
  • ID Dist includes three submodules: instruction check (check), instruction sending (tran), and instruction allocation (Allocate). Among them, tran implements instruction sending; check implements the check of the response signal returned from the device and returns the real instruction signal to the master device; Allocate implements instruction allocation. This embodiment Implemented in the Allocate submodule.
  • Bit0 valid flag (bit0 in RAM);
  • Bit1-6 original instruction ID (bit1-6 in RAM);
  • Bit7-8 extension bit
  • Bit9-255 instruction value (bit9-255 of RAM).
  • the extension bits are generated using a pseudo-random method, that is, using a 2-bit clock counter. As long as the clock is stable, the counter counts in a cycle, and the time when the data is sent from the previous stage is uncertain. When the previous stage sends data to the current module, the value of the counter is taken as the extension bit, which is a pseudo-random method.
  • the address decoding module (Decoder) realizes the selection of instructions and data transmission direction; the arbitration module (arb) sends the decoded instructions to the arb module for output to the corresponding slave device.
  • the instruction information sent from the master device to the slave device provided in this embodiment is transmitted to the slave device through virtual instructions and instruction information generated by instruction ID allocation, so as to hide the priority relationship of the master device, so that attackers cannot obtain key information of the master device.
  • the step S13 of transmitting the instruction information to the slave device through instruction ID extension and thread distribution includes:
  • the instruction format of the sending instruction includes an instruction ID extension bit and a basic instruction ID, and the number of instruction ID extension bits is at least one;
  • Each third instruction information is distributed as instruction information to each thread, and is transmitted to the slave device together with the flow data.
  • the current large data traffic is transmitted only through one thread, so on this basis, the sending instruction of the current master device, the corresponding traffic data, and the number of threads set before are obtained.
  • the instruction format of the sending instruction includes the instruction ID extension bit and the basic instruction ID, and the valid flag bit, instruction ID and extension bit of the above embodiment can be referred to.
  • the extension bit in the instruction format of the sending instruction is at least one, which is used to Transmit to the slave device. Distribute the traffic data to each thread according to the number of threads. It is understandable that the traffic data can be evenly distributed to each thread according to the number of threads, or randomly distributed to each thread, or weighted according to the work tasks of each thread, as long as the large data traffic on one thread can be distributed to each thread.
  • the instruction ID extension bit corresponding to the sent instruction is extended, and the third instruction information is obtained in combination with the basic instruction ID.
  • the instruction extension rule includes at least one extension of the instruction ID extension bit, and the number of third instruction information is the same as the number of threads.
  • the process of determining the instruction extension rule includes the following steps:
  • the XOR value is added to the instruction ID extension bits to implement the extension.
  • the original instruction ID of the basic instruction ID bit 1-6 obtains the corresponding XOR object.
  • the XOR object is at least two bits of data, and can be more than two bits.
  • the data is XORed to obtain the XOR value, and then the XOR value is added to the instruction ID extension bit to achieve extension.
  • the format of the third instruction information is as follows:
  • the extended bit is a 3-bit signal, denoted as extend, and the data whose bit position is 0 is used as bit 0 of the extended instruction, and the data whose bit positions are 1-2 are used as bits 7-8 of the extended instruction.
  • Extend is the XOR value of the original instruction id:
  • bit3 and bit4 For example: if the XOR objects are bit3 and bit4, the XOR value of bit3 and bit4 is placed in the extended bit of bit0. If more than two XOR objects are set at the same time, bit2 and bit5 are placed in the extended bit of bit7; if the XOR objects are bit1 and bit6, the XOR value of bit1 and bit6 is placed in the extended bit of bit8.
  • the ID extension module includes three sub-modules: data aggregation (aggre), instruction sending (tran), and instruction extension (extend). Among them, tran implements instruction sending; aggre implements ID aggregation of data returned from the device and returns the data signal to the master device; and extend implements the extension of the instruction ID.
  • Address decoding module (Decoder), realizes the selection of instructions and data transmission direction; arbitration module (arb), sends the decoded instructions to the arb module for output to the corresponding slave device.
  • each third instruction information is assigned to each thread as instruction information, and transmitted to the slave device together with the traffic data.
  • the instruction information sent by the master device to the slave device provided in this embodiment protects the key data of large-flow data through instruction ID extension and thread distribution, so that attackers cannot obtain all the key data from a single thread.
  • the master device sends data to the slave device, and the slave device sends response information to the master device.
  • the current master device is a priority master device, after transmitting the instruction information to the slave device, it also includes:
  • the slave After completing the transmission transaction from the host to the slave (including the host's write operation and read instructions to the slave), the slave returns a write completion response and read data to the host, where the write completion response signal group includes the axi_bid (write response ID) signal, whose value should be the corresponding axi_awid_new of the previous write operation; the read data signal group includes the axi_rid (read data ID) signal, whose value should be the corresponding axi_arid_new of the previous read operation.
  • the write completion response signal group includes the axi_bid (write response ID) signal, whose value should be the corresponding axi_awid_new of the previous write operation
  • the read data signal group includes the axi_rid (read data ID) signal, whose value should be the corresponding axi_arid_new of the previous read operation.
  • bits 1-6 are valid values in the ID returned by the slave.
  • bit 0 of axi_bid and axi_rid is 1 (that is, the valid flag is 1)
  • bits 1-6 of axi_bid and axi_rid are returned to the device corresponding to the host as the actual ID value and its corresponding data. If bit 0 is 0 (that is, the valid flag is 0), it is directly discarded and not returned to the host.
  • the two sets of IDs mentioned above, their corresponding response information and instruction information are the same. If they are the same, the response information is sent to the host. If they are different, it means that there is a problem inside the slave device, or it is attacked by an attacker, and the response information needs to be discarded.
  • the response information sent from the device to the master device is compared so that the interaction process remains intact.
  • the response information different from the instruction information is directly discarded, thereby improving the security protection of the bus.
  • the master device sends data to the slave device, and the slave device sends response information to the master device.
  • the current master device is the data traffic master device, after transmitting the instruction information to the slave device, it also includes:
  • Control the slave device to parse the command information and obtain the corresponding response information, and send the response information to the current master device;
  • the thread corresponding to the response information different from the instruction information is regarded as an error thread
  • the response information is aggregated to obtain aggregated data, and the aggregated data is sent to the host.
  • the master device Since the master device transmits data traffic to the slave device through multiple threads, it is necessary to aggregate the ID in the response information sent by the slave device to the master device. First, determine whether the number of threads, thread names and other information are the same. If they are the same, determine whether the response information returned by each thread is the same as the instruction information. If they are all the same, directly extract the real ID and aggregate the traffic data. If there is different information, the corresponding thread is discarded, and an error interrupt message is sent to the host. The current aggregation fails.
  • the slave After completing the transmission transaction from the host to the slave (including the host's write operation and read instructions to the slave), the slave returns a write completion response and read data to the host, where the write completion response signal group includes the axi_bid (write response ID) signal, whose value should be the corresponding axi_awid_extend of the previous write operation; the read data signal group includes the axi_rid (read data ID) signal, whose value should be the corresponding axi_arid_extend of the previous read operation.
  • the write completion response signal group includes the axi_bid (write response ID) signal, whose value should be the corresponding axi_awid_extend of the previous write operation
  • the read data signal group includes the axi_rid (read data ID) signal, whose value should be the corresponding axi_arid_extend of the previous read operation.
  • bits 1-6 are valid values in the ID returned by the slave, so bits 1-6 of axi_bid and axi_rid are used as the actual ID value and its corresponding data to return to the device corresponding to the host.
  • the response information sent from the device to the master device maintains the integrity of the interaction process through a comparison process, and directly discards the response information that is different from the instruction information, thereby improving the security protection of the bus.
  • the instruction information is transmitted to the slave device via the AXI bus.
  • the read and write channels of the AXI bus (a total of 5 channels) are completely independent and can be divided into master device to slave device transmission and There are two types of transmission from the slave device to the master device.
  • the master device transmits to the slave device, which includes the write address channel, write data channel, and read address channel.
  • the slave device transmits to the master device, which includes the read data channel and write response channel.
  • the master device transmits the instruction information to the slave device, with bits 0-8 as the new instruction ID (recorded as axi_awid_new for write operations and axi_arid_new for read operations), and bits 9-255 are given to the AXI bus port according to their actual signal functions.
  • extend_id is used as the new instruction ID (recorded as axi_awid_extend for write operation and axi_arid_extend for read operation) and the corresponding remaining instruction signals are given to the AXI bus port.
  • This embodiment provides for transmitting instruction information to a slave device via an AXI bus, thereby achieving high performance, high bandwidth, and low latency.
  • FIG3 is a structural diagram of a bus security protection device provided by an embodiment of the present application. As shown in FIG3, the bus security protection device includes:
  • An acquisition module 11 is used to acquire a master device type corresponding to the current master device, wherein the master device type includes a priority master device and a data traffic master device;
  • a first transmission module 12 for generating corresponding instruction information through virtual instructions and instruction ID allocation and transmitting the information to the slave device to hide the priority of the current master device when the master device type of the current master device is a priority master device;
  • the second transmission module 13 is used to transmit the instruction information to the slave device through instruction ID extension and thread distribution to complete data protection when the master device type of the current master device is a data traffic master device.
  • Figure 4 is a structural diagram of another bus security protection device provided in an embodiment of the present application.
  • the device includes: at least one memory 21 and a processor 22, the memory stores computer-readable instructions, and when the computer-readable instructions are executed by one or more processors, the one or more processors execute a bus security protection method provided in the above embodiment.
  • the bus security protection device may include, but is not limited to, a tablet computer, a laptop computer, or a desktop computer.
  • the processor 22 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc.
  • the processor 22 may be a digital signal processor (DSP), a field programmable gate
  • DSP digital signal processor
  • FPGA Field-Programmable Gate Array
  • PDA Programmable Logic Array
  • the processor 22 may also include a main processor and a coprocessor.
  • the main processor is a processor for processing data in the awake state, also known as a central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state.
  • the processor 22 may be integrated with a graphics processing unit (GPU), which is responsible for rendering and drawing the content to be displayed on the display screen.
  • the processor 22 may also include an artificial intelligence (AI) processor, which is used to process computing operations related to machine learning.
  • AI artificial intelligence
  • the memory 21 may include one or more computer-readable storage media, which may be non-transitory.
  • the memory 21 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices.
  • the memory 21 is at least used to store the following computer program 211, wherein, after the computer program is loaded and executed by the processor 22, it can implement the relevant steps of the bus security protection method disclosed in any of the aforementioned embodiments.
  • the resources stored in the memory 21 may also include an operating system 212 and data 213, etc., and the storage method may be temporary storage or permanent storage.
  • the operating system 212 may include Windows, Unix, Linux, etc.
  • the data 213 may include, but is not limited to, data involved in the bus security protection method, etc.
  • the bus security protection device may also include a display screen 23 , an input/output interface 24 , a communication interface 25 , a power supply 26 , and a communication bus 27 .
  • FIG. 4 does not constitute a limitation on the safety protection device for the bus, and may include more or fewer components than those shown in the figure.
  • the processor 22 implements the bus security protection method provided by any of the above embodiments by calling the instructions stored in the memory 21.
  • the embodiment of the present application also provides one or more non-volatile storage media storing computer-readable instructions.
  • the computer-readable instructions are executed by one or more processors 22, the one or more processors 22 execute the steps of the bus security protection method as described above.
  • the method in the above embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, and the execution of the present application All or part of the steps of the methods of various embodiments.
  • the aforementioned storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a RAM, a magnetic disk or an optical disk, and other media that can store program codes.
  • Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and storage Device bus dynamic RAM (RDRAM), etc.

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

一种总线的安全防护方法、装置及介质
相关申请的交叉引用
本申请要求于2022年10月08日提交中国专利局,申请号为202211219445.X,申请名称为“一种总线的安全防护方法、装置及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及总线技术领域,特别是涉及一种总线的安全防护方法、装置及介质。
背景技术
随着集成电路的不断发展,对系统级芯片(System on Chip,SoC)的处理速度性能和安全性要求越来越高。系统总线作为连接各个模块的中枢桥梁,对SoC系统的性能起到重要影响,特别是在多个主设备和多个从设备的系统中。
发明人意识到,由于系统总线承担着整个系统的数据传输的功能,一旦系统总线被监听或控制,将会导致挂载在总线上的设备信息泄露,甚至导致系统数据被篡改。虽往往强调对数据本身的加解密保护或者对其访问属性进行限制,有的加密算法同样存在安全性问题,故安全防护性较低。
因此,寻求一种总线的安全防护方法是本领域技术人员亟需要解决的。
发明内容
本申请提供一种总线的安全防护方法,包括:
获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;
当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;
当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。
在一些实施例中,通过虚拟指令和指令ID分配生成对应的指令信息,包括:
获取当前主设备的发送指令;
将发送指令发送至Dummy以生成虚拟随机数信息;
将虚拟随机数信息作为RAM地址;
将发送指令的指令值以及有效标志位作为写入数据写入至RAM地址内;
读取RAM地址的数据并生成第一指令信息;
将第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息完成指令ID分配,其中第一指令信息包括指令ID扩展位和基本指令ID。
在一些实施例中,虚拟随机数信息通过Dummy内的随机数发生器生成。
在一些实施例中,读取RAM地址的数据并生成第一指令信息,包括:
获取当前地址信息的存储数据,其中首个地址信息以RAM地址的第一地址信息开始读取;
在存储数据存在有效标志位时,读取结束,获取首个地址信息至当前地址信息的存储数据作为第一指令信息。
在一些实施例中,读取RAM地址的数据并生成第一指令信息,还包括:
在存储数据不存在有效标志位时,以下一个地址信息作为当前地址信息,并返回至获取当前地址信息的存储数据的步骤。
在一些实施例中,将第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息,包括:
获取第一指令信息的接收时钟时间;
通过接收时钟时间与时钟计数器的对应关系确定指令ID扩展位的随机码数据;
将随机码数据加入至第一指令信息中以生成第二指令信息。
在一些实施例中,通过指令ID扩展以及线程分发将指令信息传输至从设备,包括:
获取当前主设备的发送指令、流量数据以及发送的线程数量,其中发送指令的指令格式包括指令ID扩展位和基本指令ID,指令ID扩展位的数量至少为一个;
根据线程数量将流量数据分配至各线程中;
根据指令扩展规则将发送指令对应的指令ID扩展位进行扩展,并结合基本指令ID得到第三指令信息,其中指令扩展规则至少包括一个指令ID扩展位的扩展,第三指令信息的数量与线程数量相同;
将各第三指令信息作为指令信息对应分配至各线程中,并和流量数据传输至从设备。
在一些实施例中,根据线程数量将流量数据分配至各线程中,包括:
将流量数据根据线程数量平均分配至各线程;或
根据随机分配至各线程;或
根据各线程的工作任务进行权重分配。
在一些实施例中,指令扩展规则的确定过程包括如下步骤:
获取基本指令ID的异或对象,其中异或对象至少为两个bit位的数据;
将异或对象对应的bit位的数据进行异或得到异或值;
将异或值加入至指令ID扩展位中以实现扩展。
在一些实施例中,当当前主设备为优先级主设备时,在将指令信息传输至从设备之后,还包括:
控制从设备将指令信息进行解析并得到对应的响应信息,并将响应信息发送至当前主设备;
在响应信息与指令信息相同时,将响应信息发送至主机。
在一些实施例中,当当前主设备为优先级主设备时,在将指令信息传输至从设备之后,还包括:
在响应信息与指令信息不相同时,向主机发送错误中断信息,并舍弃响应信息。
在一些实施例中,当当前主设备为数据流量主设备时,在将指令信息传输至从设备之后,还包括:
控制从设备将指令信息进行解析并得到对应的响应信息,并将响应信息发送至当前主设备;
控制当前主设备接收的响应信息对应的线程数量;
在接收响应信息对应的线程数量与发送指令信息对应的线程数量相同,各线程发送的响应信息存在与指令信息不同的信息时,将存在与指令信息不同的响应信息对应的线程作为错误线程;
向主机发送错误中断信息并舍弃错误线程。
在一些实施例中,当当前主设备为数据流量主设备时,在将指令信息传输至从设备之后,还包括:
在接收响应信息对应的线程数量与发送指令信息对应的线程数量相同,各线程发送的响应信息不存在与指令信息不同的信息时,将响应信息进行聚合得到聚合数据,并将聚合数据发送至主机。
在一些实施例中,优先级主设备由CPU的配置任务以及任务调度确定。
在一些实施例中,数据流量主设备由主设备发送的数据带宽大于阈值确定。
在一些实施例中,通过AXI总线将指令信息传输至从设备。
在一些实施例中,当前主设备向从设备传输的传输通道包括多个,当当前主设备向从设备传输一种通道的操作时,从设备向当前主设备传输对应同种通道的响应操作。
本申请还提供一种总线的安全防护装置,包括:
获取模块,用于获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;
第一传输模块,用于当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;
第二传输模块,用于当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。
本申请还提供一种总线的安全防护装置,包括:存储器及一个或多个处理器,存储器中储存有计算机可读指令,上述计算机可读指令被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上述总线的安全防护方法的步骤。
本申请还提供一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,上述计算机可读指令被上述一个或多个处理器执行时,使得上述一个或多个处理器执行如上述总线的安全防护方法的步骤。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请根据一个或多个实施例提供的一种总线的安全防护方法的流程图;
图2为本申请根据一个或多个实施例提供系统架构示意图;
图3为本申请根据一个或多个实施例提供的一种总线的安全防护装置的结构图;
图4为本申请根据一个或多个实施例提供的另一种总线的安全防护装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种总线的安全防护方法、装置及介质,保证总线系统的安全 性。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
需要说明的是,本申请提供的总线的安全防护方法,适用于不同的总线,作为一种优选实施例,高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)是由ARM公司提出的一种开放的、高效的SoC总线标准,它独立于处理器与工艺技术,具有速度高、功耗低、可复用性强等优点;且因基于AMBA总线架构的SoC系统测试平台丰富、强大的技术支持,使得AMBA总线已成为事实上的SoC总线标准。总线协议(Advanced eXtensible Interface,AXI)总线属于AMBA总线体系,可以满足新一代的SoC系统对于多用户高性能低功耗的需求,目前已经得到了广泛的应用。在总线防护的基础上,可以对数据本身进行加密处理或者对访问属性进行限制,本实施例不做具体限定,可根据实际情况进行设置不同的防护方式。
图1为本申请实施例提供的一种总线的安全防护方法的流程图,如图1所示,该方法包括:
S11:获取当前主设备对应的主设备类型,其中主设备类型包括优先级主设备和数据流量主设备;
具体地,获取当前主设备对应的主设备类型,对于SoC系统的新能来说,其在多个主设备和多个从设备中,系统总线作为中枢桥梁连接各个模块。对应的主设备的类型根据功能分配一般分为优先级主设备和数据流量主设备。
需要说明的是,优先级设备和数据流量主设备两种类型可以独立也可以互相划分,例如A主设备,既可以作为高优先级主设备使用,也可以作为数据流量主设备使用,在此没有明确的划分依据。高优先级主设备主要针对指令长度进行扩展,数据流量主设备主要针对在指令长度不变的情况下进行扩展,同时分线程传输。对应既可以为高优先级主设备也可以为数据流量主设备的主设备来说,一次的传输仅能作为一种主设备类型出现。
优先级主设备的确定可以通过CPU主要实现整个系统的配置和任务调度,可以不限定发送的数据量多少问题。作为一种优选实施例方式,优先级主设备通过CPU的配置任务和任务调度确定得到。或者只要从CPU发出的连接的设备均可以作为优先级设备使用。
数据流量主设备的确定可以根据数据带宽的多少确定,也可以根据GPU或者视频编解码器进行的视频图像的实时处理传输的数据作为大流量数据主设备。作为一种优选地 实施例,可以将数据带宽大于某种阈值的数据作为大流量数据主设备。
S12:当当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级;
确定当前主设备的主设备类型为优先级主设备,基于确定了的当前主设备的主设备类型为优先级主设备,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏当前主设备的优先级。
当前主设备的主设备类型为优先级主设备时,通过虚拟指令和指令ID分配生成的指令信息,将指令信息传输至从设备。其中,虚拟指令主要的特点为随机性,在原有指令的基础上增加无效信息,在通过指令ID分配的方法再增加无效信息的基础上再进行指令的扩展以分配至不同的从设备或者不同的指令传输。
可以理解的是,主设备向从设备传输的指令可以有多个,其传输的从设备也可以有多个。无效信息在主设备向从设备传输的指令中不同,也就是一旦从设备被攻击,其得到的指令存在多条,其中每条指令的信息的无效信息也不同,对应的有效信息(关键性信息存储主设备的设备号)在破译解析的过程中无疑是混淆了主设备的优先级关系,由于关键信息在指令信息中与无效信息夹杂在一起,无法得知具体的关键性信息。
S13:当当前主设备的主设备类型为数据流量主设备时,通过指令ID扩展以及线程分发将指令信息传输至从设备以完成数据保护。
判断当前主设备的主设备类型是否为数据流量主设备,响应于判定当前主设备的主设备类型为数据流量主设备,通过指令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为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 Logic Array,PLA)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(Central Processing 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执行时,使得一个或多个处理器22执行如上述总线的安全防护方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请 各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不再赘述,其具有上述总线的安全防护方法相同的有益效果。
以上对本申请所提供的一种总线的安全防护方法、总线的安全防护装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,上述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储 器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种总线的安全防护方法,其特征在于,包括:
    获取当前主设备对应的主设备类型,其中所述主设备类型包括优先级主设备和数据流量主设备;
    当所述当前主设备的主设备类型为所述优先级主设备时,通过虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏所述当前主设备的优先级;和
    当所述当前主设备的主设备类型为所述数据流量主设备时,通过指令ID扩展以及线程分发将所述指令信息传输至所述从设备以完成数据保护。
  2. 根据权利要求1所述的总线的安全防护方法,其特征在于,所述通过虚拟指令和指令ID分配生成对应的指令信息,包括:
    获取所述当前主设备的发送指令;
    将所述发送指令发送至Dummy以生成虚拟随机数信息;
    将所述虚拟随机数信息作为RAM地址;
    将所述发送指令的指令值以及有效标志位作为写入数据写入至所述RAM地址内;
    读取所述RAM地址的数据并生成第一指令信息;和
    将所述第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息完成所述指令ID分配,其中所述第一指令信息包括指令ID扩展位和基本指令ID。
  3. 根据权利要求2所述的总线的安全防护方法,其特征在于,所述虚拟随机数信息通过所述Dummy内的随机数发生器生成。
  4. 根据权利要求2所述的总线的安全防护方法,其特征在于,所述读取所述RAM地址的数据并生成第一指令信息,包括:
    获取当前地址信息的存储数据,其中首个地址信息以所述RAM地址的第一地址信息开始读取;和
    在所述存储数据存在所述有效标志位时,读取结束,获取首个所述地址信息至所述当前地址信息的存储数据作为所述第一指令信息。
  5. 根据权利要求4所述的总线的安全防护方法,其特征在于,所述读取所述RAM地址的数据并生成第一指令信息,还包括:
    在所述存储数据不存在所述有效标志位时,以下一个所述地址信息作为所述当前地址信息,并返回至所述获取当前地址信息的存储数据的步骤。
  6. 根据权利要求5所述的总线的安全防护方法,其特征在于,所述将所述第一指令信息的指令ID扩展位生成随机码数据以生成第二指令信息,包括:
    获取所述第一指令信息的接收时钟时间;
    通过所述接收时钟时间与时钟计数器的对应关系确定所述指令ID扩展位的所述随机码数据;和
    将所述随机码数据加入至所述第一指令信息中以生成所述第二指令信息。
  7. 根据权利要求1所述的总线的安全防护方法,其特征在于,所述通过指令ID扩展以及线程分发将所述指令信息传输至所述从设备,包括:
    获取所述当前主设备的发送指令、流量数据以及发送的线程数量,其中所述发送指令的指令格式包括指令ID扩展位和基本指令ID,所述指令ID扩展位的数量至少为一个;
    根据所述线程数量将所述流量数据分配至各所述线程中;
    根据指令扩展规则将所述发送指令对应的指令ID扩展位进行扩展,并结合所述基本指令ID得到第三指令信息,其中所述指令扩展规则至少包括一个指令ID扩展位的扩展,所述第三指令信息的数量与所述线程数量相同;和
    将各所述第三指令信息作为所述指令信息对应分配至各所述线程中,并和所述流量数据传输至所述从设备。
  8. 根据权利要求7所述的总线的安全防护方法,其特征在于,所述根据所述线程数量将所述流量数据分配至各所述线程中,包括:
    将流量数据根据线程数量平均分配至各线程;或
    根据随机分配至各线程;或
    根据各线程的工作任务进行权重分配。
  9. 根据权利要求8所述的总线的安全防护方法,其特征在于,所述指令扩展规则的确定过程包括如下步骤:
    获取所述基本指令ID的异或对象,其中所述异或对象至少为两个bit位的数据;
    将所述异或对象对应的bit位的数据进行异或得到异或值;和
    将所述异或值加入至所述指令ID扩展位中以实现扩展。
  10. 根据权利要求1至6任意一项所述的总线的安全防护方法,其特征在于,当所述当前主设备为所述优先级主设备时,在将所述指令信息传输至所述从设备之后,还包括:
    控制所述从设备将所述指令信息进行解析并得到对应的响应信息,并将所述响应信息发送至所述当前主设备;
    在所述响应信息与所述指令信息相同时,将所述响应信息发送至主机。
  11. 根据权利要求10所述的总线的安全防护方法,其特征在于,当所述当前主设备为所述优先级主设备时,在将所述指令信息传输至所述从设备之后,还包括:
    在所述响应信息与所述指令信息不相同时,向所述主机发送错误中断信息,并舍弃所述响应信息。
  12. 根据权利要求8或9所述的总线的安全防护方法,其特征在于,当所述当前主设备为所述数据流量主设备时,在将所述指令信息传输至所述从设备之后,还包括:
    控制所述从设备将所述指令信息进行解析并得到对应的响应信息,并将所述响应信息发送至所述当前主设备;
    控制所述当前主设备接收的所述响应信息对应的线程数量;
    在接收所述响应信息对应的线程数量与发送所述指令信息对应的线程数量相同,各所述线程发送的所述响应信息存在与所述指令信息不同的信息时,将存在与所述指令信息不同的所述响应信息对应的线程作为错误线程;和
    向主机发送错误中断信息并舍弃所述错误线程。
  13. 根据权利要求12所述的总线的安全防护方法,其特征在于,当所述当前主设备为所述数据流量主设备时,在将所述指令信息传输至所述从设备之后,还包括:
    在接收所述响应信息对应的线程数量与发送所述指令信息对应的线程数量相同,各所述线程发送的所述响应信息不存在与所述指令信息不同的信息时,将所述响应信息进行聚合得到聚合数据,并将所述聚合数据发送至所述主机。
  14. 根据权利要求11所述的总线的安全防护方法,其特征在于,所述优先级主设备由CPU的配置任务以及任务调度确定。
  15. 根据权利要求13所述的总线的安全防护方法,其特征在于,所述数据流量主设备由主设备发送的数据带宽大于阈值确定。
  16. 根据权利要求1所述的总线的安全防护方法,其特征在于,通过AXI总线将所述指令信息传输至所述从设备。
  17. 根据权利要求1所述的总线的安全防护方法,其特征在于,所述当前主设备向从设备传输的传输通道包括多个,当所述当前主设备向所述从设备传输一种通道的操作时,所述从设备向所述当前主设备传输对应同种通道的响应操作。
  18. 一种总线的安全防护装置,其特征在于,包括:
    获取模块,用于获取当前主设备对应的主设备类型,其中所述主设备类型包括优先级主设备和数据流量主设备;
    第一传输模块,用于当所述当前主设备的主设备类型为所述优先级主设备时,通过 虚拟指令和指令ID分配生成对应的指令信息并传输至从设备以隐藏所述当前主设备的优先级;和
    第二传输模块,用于当所述当前主设备的主设备类型为所述数据流量主设备时,通过指令ID扩展以及线程分发将所述指令信息传输至所述从设备以完成数据保护。
  19. 一种总线的安全防护装置,其特征在于,包括存储器及一个或多个处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至17任一项所述的总线的安全防护方法的步骤。
  20. 一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至17任一项所述的总线的安全防护方法的步骤。
PCT/CN2023/078489 2022-10-08 2023-02-27 一种总线的安全防护方法、装置及介质 WO2024074008A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211219445.XA CN115292764B (zh) 2022-10-08 2022-10-08 一种总线的安全防护方法、装置及介质
CN202211219445.X 2022-10-08

Publications (1)

Publication Number Publication Date
WO2024074008A1 true WO2024074008A1 (zh) 2024-04-11

Family

ID=83834640

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/078489 WO2024074008A1 (zh) 2022-10-08 2023-02-27 一种总线的安全防护方法、装置及介质

Country Status (2)

Country Link
CN (1) CN115292764B (zh)
WO (1) WO2024074008A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292764B (zh) * 2022-10-08 2023-03-24 山东云海国创云计算装备产业创新中心有限公司 一种总线的安全防护方法、装置及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108090366A (zh) * 2017-12-05 2018-05-29 深圳云天励飞技术有限公司 数据保护方法及装置、计算机装置及可读存储介质
US20190385448A1 (en) * 2018-06-14 2019-12-19 Blackberry Limited Method and system for traffic management
CN112256331A (zh) * 2020-12-22 2021-01-22 鹏城实验室 虚拟机指令解析加速方法、装置和计算机存储介质
CN115292764A (zh) * 2022-10-08 2022-11-04 山东云海国创云计算装备产业创新中心有限公司 一种总线的安全防护方法、装置及介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003900764A0 (en) * 2003-02-20 2003-03-06 Secure Systems Limited Bus bridge security system and method for computers
CN103136083A (zh) * 2011-11-29 2013-06-05 鸿富锦精密工业(深圳)有限公司 通用串行总线的测试设备及方法
CN103092798B (zh) * 2012-12-28 2016-05-25 华为技术有限公司 片上系统及总线下的访问设备的方法
CN106096338B (zh) * 2016-06-07 2018-11-23 西北大学 一种具有数据流混淆的虚拟化软件保护方法
CN106230791A (zh) * 2016-07-20 2016-12-14 杭州迪普科技有限公司 一种单业务多策略快速匹配的方法和装置
CN106250774A (zh) * 2016-08-16 2016-12-21 三星电子(中国)研发中心 主设备和辅助设备及其操作的处理方法
US10261791B2 (en) * 2017-02-24 2019-04-16 International Business Machines Corporation Bypassing memory access for a load instruction using instruction address mapping
CN109189470A (zh) * 2018-08-21 2019-01-11 北京奇虎科技有限公司 代码加固方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108090366A (zh) * 2017-12-05 2018-05-29 深圳云天励飞技术有限公司 数据保护方法及装置、计算机装置及可读存储介质
US20190385448A1 (en) * 2018-06-14 2019-12-19 Blackberry Limited Method and system for traffic management
CN112256331A (zh) * 2020-12-22 2021-01-22 鹏城实验室 虚拟机指令解析加速方法、装置和计算机存储介质
CN115292764A (zh) * 2022-10-08 2022-11-04 山东云海国创云计算装备产业创新中心有限公司 一种总线的安全防护方法、装置及介质

Also Published As

Publication number Publication date
CN115292764B (zh) 2023-03-24
CN115292764A (zh) 2022-11-04

Similar Documents

Publication Publication Date Title
CN110618947A (zh) 用于利用存储器加密引擎的安全i/o的技术
AU2013226133B2 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
US20220150055A1 (en) Process-to-process secure data movement in network functions virtualization infrastructures
US10261854B2 (en) Memory integrity violation analysis method and apparatus
CN108628791B (zh) 基于pcie接口的高速安全芯片
US20200167488A1 (en) Protection of communications between trusted execution environment and hardware accelerator utilizing enhanced end-to-end encryption and inter-context security
WO2024074008A1 (zh) 一种总线的安全防护方法、装置及介质
CN114945009B (zh) PCIe总线连接的设备间进行通信的方法、设备及系统
JP2017091543A (ja) マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム、及び該システムの動作方法
WO2020029254A1 (zh) 一种SoC芯片及总线访问控制方法
EP4187386A1 (en) Interprocess communication method and apparatus
WO2020118583A1 (zh) 数据处理方法、电路、终端设备及存储介质
CN109426623A (zh) 一种读取数据的方法及装置
WO2017071429A1 (zh) 一种数据访问方法及总线
US20080080715A1 (en) Apparatus and method for high-speed, large-volume data encryption using secure memory
WO2022228485A1 (zh) 一种数据传输方法、数据处理方法及相关产品
CN112256460A (zh) 进程间通信方法、装置、电子设备及计算机可读存储介质
CN115022076A (zh) 一种数据加/解密方法、装置、系统及介质
CN112948840A (zh) 一种访问控制设备和包含该设备的处理器
CN112035900B (zh) 一种高性能密码卡以及其通信方法
CN113496016A (zh) 一种内存的访问方法、系统级芯片和电子设备
CN116340243A (zh) 一种双核可信执行的安全芯片架构
CN117083612A (zh) 处置未对齐事务以用于内联加密
CN111143897A (zh) 数据安全处理装置、系统及处理方法
US20140161253A1 (en) High performance hardware-based execution unit for performing c2 block cipher encryption/decryption

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23874203

Country of ref document: EP

Kind code of ref document: A1