CN115408707A - 一种数据传输方法、装置、系统及电子设备和存储介质 - Google Patents
一种数据传输方法、装置、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN115408707A CN115408707A CN202211365404.1A CN202211365404A CN115408707A CN 115408707 A CN115408707 A CN 115408707A CN 202211365404 A CN202211365404 A CN 202211365404A CN 115408707 A CN115408707 A CN 115408707A
- Authority
- CN
- China
- Prior art keywords
- address
- encryption
- encrypted
- read
- write
- 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/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种数据传输方法、装置、系统及电子设备和存储介质,涉及通信技术领域,解决的技术问题是:如何实现对AXI指令和数据进行加密处理。该方法包括:从第一设备处获取目标内容;其中,目标内容包括地址和/或地址标识;在第一设备对应的加密计算单元中利用第一加密算法对地址进行加密得到加密地址,和/或,利用第二加密算法对地址标识进行加密得到加密地址标识;在第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于加密地址和/或加密地址标识向第二设备传输数据。本申请保证了在AXI总线上传输的数据均为密文形式,保证了信息安全。
Description
技术领域
本申请涉及通信技术领域,更具体地说,涉及一种数据传输方法、装置、系统及一种电子设备和一种计算机可读存储介质。
背景技术
随着集成电路的不断发展,对SOC(System on Chip,片上系统)芯片的处理速度性能和安全性要求越来越高。系统总线作为连接各个模块的中枢桥梁,对SOC系统的性能起到重要影响,特别是在多个主设备和多个从设备的系统中。AMBA(Advanced MicrocontrollerBus Architecture,高级微控制器总线架构)总线是ARM公司与其他芯片公司包括高通、东芝和爱立信共同研发的,以满足SOC系统对于多用户高性能低功耗的需求,并且目前已经得到了广泛的应用。根据总线开发时间及使用环境,AMBA总线又可简要分为APB(AdvancedPeripheral Bus,外围总线)、AHB(Advanced High performance Bus,高级高性能总线)和AXI(Advanced eXtensible Interface,先进可扩展接口)总线,其支持的功能越来越复杂,同时开发的难度也越来越大。AXI总线作为高性能总线的代表,对开发人员提出了很高的要求,也对SOC系统的开发周期带来了很大的挑战。
与此同时,由于系统总线承担着整个系统的数据传输的功能,因此系统总线一旦被监听或控制,将会导致挂载在总线上的设备信息泄露,严重的会导致系统数据篡改。因此对总线系统及数据进行加密,保证数据安全,具有极为重要的作用。在相关技术,尚不存在针对AXI总线进行数据和系统加密的技术。
因此,如何对AXI指令和数据进行加密处理是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种数据传输方法、装置、系统及一种电子设备和一种计算机可读存储介质,实现了对AXI指令和数据进行加密处理。
为实现上述目的,本申请提供了一种数据传输方法,应用于内部互联模块,所述内部互联模块分别通过AXI总线连接多个主设备和多个从设备,所述内部互联模块包括:与每个第一设备对应连接的加密计算单元、与每个所述加密计算单元对应连接的地址译码单元,每个所述地址译码单元连接所有第二设备,所述第一设备为所述主设备和所述从设备中的任一项,所述第二设备为所述主设备和所述从设备中的另一项;
所述方法包括:
从第一设备处获取目标内容;其中,所述目标内容包括地址和/或地址标识;
在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识;
在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据。
其中,若所述第一设备为主设备、所述第二设备为从设备,则所述从第一设备处获取目标内容,包括:
从所述主设备获取写地址、写地址标识和写数据;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
在所述主设备对应的加密计算单元中利用第一加密算法对所述写地址进行加密得到加密写地址,利用第二加密算法对所述写地址标识进行加密得到加密写地址标识,利用第一加密算法对所述写数据进行加密得到加密写数据;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述主设备对应的地址译码单元中利用第一解密算法对所述加密写地址进行解密得到所述写地址,并基于所述写地址确定对应的从设备;
向对应的从设备发送写指令;其中,所述写指令包括所述加密写数据和所述写地址标识。
其中,若所述第一设备为从设备、所述第二设备为主设备,则所述从第一设备处获取目标内容,包括:
从所述从设备获取写响应标识;其中,所述写响应标识为所述写指令中的写地址标识;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
利用第二加密算法对所述写响应标识进行加密得到加密写响应标识;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述从设备对应的地址译码单元中基于所述加密写响应标识确定对应的主设备,并基于所述加密写响应标识向对应的主设备传输写操作结果。
其中,若所述第一设备为从设备、所述第二设备为主设备,所述内部互联模块还包括与每个所述主设备对应连接的校验单元,相应的,所述基于所述加密写响应标识向对应的主设备传输写操作结果,包括:
在所述主设备对应的校验单元中校验所述加密写响应标识与所述加密写地址标识是否一致;
若是,则向所述主设备发送写操作完成通知。
其中,若所述第一设备为主设备、所述第二设备为从设备,则所述从第一设备处获取目标内容,包括:
从主设备获取读地址、读地址标识;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
在所述主设备对应的加密计算单元中利用第一加密算法对所述读地址进行加密得到加密读地址,利用第二加密算法对所述读地址标识进行加密得到加密读地址标识;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述主设备对应的地址译码单元中利用第一解密算法对所述加密读地址进行解密得到所述读地址,并基于所述读地址确定对应的从设备;
向对应的从设备发送读指令;其中,所述读指令包括所述读地址标识。
其中,若所述第一设备为从设备、所述第二设备为主设备,则所述从第一设备处获取目标内容,包括:
从所述从设备获取所述读指令对应的读数据和读响应标识;其中,所述读响应标识为所述读指令中的读地址标识;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
在所述第一设备对应的加密计算单元中利用第二加密算法对所述读响应标识进行加密得到加密读响应标识;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述从设备对应的地址译码单元中基于所述加密读响应标识确定对应的主设备,并基于所述加密读响应标识向对应的主设备传输读操作结果;其中,所述读操作结果至少包括所述读数据。
其中,若所述第一设备为从设备、所述第二设备为主设备,所述内部互联模块还包括与每个所述主设备对应连接的校验单元,相应的,所述基于所述加密读响应标识向对应的主设备传输读操作结果,包括:
在所述主设备对应的校验单元中校验所述加密读响应标识与所述加密读地址标识是否一致;
若是,则向所述主设备发送所述读数据和读操作完成通知。
其中,所述第一加密算法为SM4加密算法,所述第二加密算法为SM3加密算法。
其中,还包括:
接收管理设备发送的所述第一加密算法和所述第二加密算法的密钥。
其中,所述内部互联模块还包括与每个所述第一设备对应连接的加密选择单元,每个所述加密选择单元与每个所述加密计算单元对应连接,每个所述加密选择单元与每个所述地址译码单元对应连接;
所述方法还包括:
接收管理设备发送的所述第一设备对应的加解密配置使能,并将所述加解密配置使能存储至所述第一设备对应的加密选择单元中。
其中,在所述第一设备对应的加密计算单元中利用预设加密算法对所述目标内容进行加密处理得到加密内容之前,还包括:
确定所述第一设备对应的加密选择单元中存储的加解密配置使能;
若所述加解密配置使能为第一预设值,则执行在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识的步骤;
若所述加解密配置使能为第二预设值,则在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述目标内容向所述第二设备传输数据。
其中,所述内部互联模块还包括与每个所述第二设备对应连接的仲裁单元,每个所述仲裁单元连接所有所述地址译码单元;
所述方法还包括:
在所述仲裁单元中对同时访问对应的第二设备的多个第一设备的请求进行仲裁。
为实现上述目的,本申请提供了一种数据传输装置,应用于内部互联模块,所述内部互联模块分别通过AXI总线连接多个主设备和多个从设备,所述内部互联模块包括:与每个第一设备对应连接的加密计算单元、与每个所述加密计算单元对应连接的地址译码单元,每个所述地址译码单元连接所有第二设备,所述第一设备为所述主设备和所述从设备中的任一项,所述第二设备为所述主设备和所述从设备中的另一项;
所述装置包括:
获取子模块,用于从第一设备处获取目标内容;其中,所述目标内容包括地址和/或地址标识;
加密子模块,用于在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识;
传输子模块,用于在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述数据传输方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据传输方法的步骤。
为实现上述目的,本申请提供了数据传输系统,包括多个主设备、内部互联模块和多个从设备,所述内部互联模块分别通过AXI总线连接多个所述主设备和多个所述从设备;
所述内部互联模块包括:
与每个第一设备对应连接的加密计算单元,用于利用第一加密算法对所述第一设备与第二设备之间需要传输的地址进行加密得到加密地址,和/或,利用第二加密算法对所述第一设备与第二设备之间需要传输的地址标识进行加密得到加密地址标识;其中,所述第一设备为所述主设备和所述从设备中的任一项,所述第二设备为所述主设备和所述从设备中的另一项;
与每个所述加密计算单元对应连接的地址译码单元,用于对传输方向进行选择;其中,每个所述地址译码单元连接所有所述第二设备。
其中,所述内部互联模块还包括与每个所述第一设备对应连接的加密选择单元,每个所述加密选择单元与每个所述加密计算单元对应连接,每个所述加密选择单元与每个所述地址译码单元对应连接;
所述加密选择单元,用于控制对应的加密计算单元是否对需要传输的所述地址和/或所述地址标识进行加密处理。
其中,所述内部互联模块还包括与每个所述第二设备对应连接的仲裁单元,每个所述仲裁单元连接所有所述地址译码单元;
所述仲裁单元,用于对同时访问对应的第二设备的多个第一设备的请求进行仲裁。
其中,若所述第一设备为从设备,所述第二设备为主设备,则所述内部互联模块还包括与每个所述第二设备对应连接的校验单元,每个所述校验单元与每个所述仲裁单元对应连接;
所述校验单元,用于校验读写操作是否完成。
其中,若所述第一设备为从设备,所述第二设备为主设备,则所述内部互联模块还包括与每个所述第二设备对应连接的校验单元,用于校验读写操作是否完成。
通过以上方案可知,本申请提供的一种数据传输方法,应用于内部互联模块,所述内部互联模块分别通过AXI总线连接多个主设备和多个从设备,所述内部互联模块包括:与每个第一设备对应连接的加密计算单元、与每个所述加密计算单元对应连接的地址译码单元,每个所述地址译码单元连接所有第二设备,所述第一设备为所述主设备和所述从设备中的任一项,所述第二设备为所述主设备和所述从设备中的另一项;所述方法包括:从第一设备处获取目标内容;其中,所述目标内容包括地址和/或地址标识;在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识;在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据。
本申请提供的数据传输方法,主设备与从设备之间通过内部互联模块进行数据传输,内部互联模块用于对经过其的数据进行加密,保证了在AXI总线上传输的数据均为密文形式,进而保证了整个系统的信息安全。另外,本申请不仅对地址进行加密,还对地址标识进行加密,进一步提高了信息安全性。同时,由于是通过内部互联模块这一硬件实现专用的加解密功能,因此并不会额外占用CPU资源,也不会降低原有的总线性能。本申请还公开了一种数据传输装置、系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为根据一示例性实施例示出的一种数据传输系统的结构图;
图2为根据一示例性实施例示出的另一种数据传输系统的结构图;
图3为根据一示例性实施例示出的又一种数据传输系统的结构图;
图4为根据一示例性实施例示出的一种数据传输方法的流程图;
图5为根据一示例性实施例示出的一种数据写入方法的流程图;
图6为根据一示例性实施例示出的一种数据读取方法的流程图;
图7根据一示例性实施例示出的另一种数据写入方法的流程图;
图8根据一示例性实施例示出的另一种数据读取方法的流程图;
图9为根据一示例性实施例示出的一种数据传输装置的结构图;
图10为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本实施例公开了一种数据传输系统,参见图1,图1为根据一示例性实施例示出的一种数据传输系统的结构图。如图1所示,该数据传输系统包括多个主设备、内部互联模块20和多个从设备,所述内部互联模块20分别通过AXI总线连接多个所述主设备和多个所述从设备;其中,第一设备10为所述主设备和所述从设备中的任一项,第二设备20为所述主设备和所述从设备中的另一项;
所述内部互联模块20包括:
与每个第一设备10对应连接的加密计算单元201,用于利用第一加密算法对所述第一设备10与第二设备20之间需要传输的地址进行加密得到加密地址,和/或,利用第二加密算法对所述第一设备10与第二设备20之间需要传输的地址标识进行加密得到加密地址标识;
与每个所述加密计算单元201对应连接的地址译码单元202,用于对所述加密内容的传输方向进行选择;其中,每个所述地址译码单元连接所有所述第二设备。
在本实施例中,多个主设备与多个从设备之间通过AXI总线通信,多个主设备与多个从设备分别通过AXI总线连接内部互联模块(Interconnect,ICN),内部互联模块负责采用预设加密算法对主设备与从设备之间传输的目标内容进行加密得到加密内容。
本实施例中第一设备为主设备和从设备中的任一项,第二设备为主设备和从设备中的另一项,第一设备为目标内容的发送方,第二设备为目标内容的接收方。内部互联模块包括多个加密计算单元和多个地址译码单元,内部互联模块中加密计算单元和地址译码单元的数量均与第一设备的数量一致,多个加密计算单元与多个第一设备对应连接,多个地址译码单元与多个加密计算单元对应连接,每个地址译码单元均与每个第二设备连接。
加密计算单元负责采用预设加密算法对第一设备需要发送至第二设备的目标内容进行加密得到加密内容,目标内容可以包括数据和指令标识,加密计算单元可以采用SM4加密算法对数据进行加密,采用SM3加密算的对指令标识进行加密。
地址译码单元负责对加密内容的传输方向进行选择,也即需要将加密内容发送至哪个具体的第二设备。
作为一种优选实施方式,所述内部互联模块还包括与每个所述第一设备对应连接的加密选择单元,每个所述加密选择单元与每个所述加密计算单元对应连接,每个所述加密选择单元与每个所述地址译码单元对应连接;所述加密选择单元,用于控制对应的加密计算单元是否对需要传输的所述地址和/或所述地址标识进行加密处理。
在具体实施中,每个加密计算单元和每个地址译码单元之间通过不同的加密选择单元进行连接,每个加密选择单元分别与对应的地址译码单元连接。加密选择单元用于对应的加密计算单元是否对目标内容进行加密处理。如果第一设备已经进行了数据加密处理,则不需要加密计算单元再进行加密处理,也即跳过对应的加密计算单元,如果第一设备没有对数据进行加密处理,则利用对应的加密计算单元对数据进行加密处理。
作为一种优选实施方式,若所述第一设备为从设备,所述第二设备为主设备,则所述内部互联模块还包括与每个所述第二设备对应连接的校验单元,用于校验读写操作是否完成。
在具体实施中,当第一设备为从设备、第二设备为主设备时,内部互联模块还包括与每个主设备对应连接的校验单元,每个校验单元连接所有的地址译码单元,用于校验对应主设备发起的读写操作是否完成。
作为一种优选实施方式,所述内部互联模块还包括与每个所述第二设备对应连接的仲裁单元,每个所述仲裁单元连接所有所述地址译码单元;所述仲裁单元,用于对同时访问对应的第二设备的多个第一设备的请求进行仲裁。
在具体实施中,内部互联模块中仲裁单元的数量与第二设备的数量一致,多个仲裁单元与多个第二设备对应连接,每个仲裁单元连接所有地址译码单元,仲裁单元用于对同时访问对应的第二设备的多个第一设备的请求进行仲裁。
作为一种优选实施方式,若所述第一设备为从设备,所述第二设备为主设备,则所述内部互联模块还包括与每个所述第二设备对应连接的校验单元,每个所述校验单元与每个所述仲裁单元对应连接;所述校验单元,用于校验读写操作是否完成。
在具体实施中,从设备向主设备发送数据时,每个仲裁单元和每个第二设备(也即主设备)之间通过不同的校验单元进行连接,校验单元用于校验读写操作是否完成。
举例说明,数据传输系统包括两个主设备和两个从设备,第一设备为主设备,第二设备为从设备,也即主设备向从设备传输数据。如图2所示,数据传输系统包括两个主设备分别为主设备0(Master_0)和主设备1(Master_1)、内部互联模块(ICN)、两个从设备分别为从设备0(Slave_0)和从设备1(Slave_1),ICN包括加密选择单元(SEL)、加密计算单元(encrypt)、地址译码单元(Decoder)和仲裁单元(arb),地址译码单元0(Decoder_0)为主设备0(Master_0)对应的地址译码单元,仲裁单元0(arb_0)为从设备0(Slave_0)对应的仲裁单元,地址译码单元1(Decoder_1)为主设备1(Master_1)对应的地址译码单元,仲裁单元1(arb_1)为从设备1(Slave_1)对应的仲裁单元,仲裁单元0(arb_0)连接地址译码单元0(Decoder_0)和地址译码单元1(Decoder_1),仲裁单元1(arb_1)连接地址译码单元0(Decoder_0)和地址译码单元1(Decoder_1)。加密计算单元(encrypt)包括SM3加密模块和SM4加密模块,SM3加密模块用于对指令标识采用SM3加密算法进行加密,SM4加密模块用于对数据采用SM4加密算法进行加密。
第一设备为从设备,第二设备为主设备,也即从设备向主设备传输数据。如图3所示,数据传输系统包括两个主设备分别为主设备0(Master_0)和主设备1(Master_1)、内部互联模块(ICN)、两个从设备分别为从设备0(Slave_0)和从设备1(Slave_1),ICN包括加密选择单元(SEL)、加密计算单元(encrypt)、地址译码单元(Decoder_ID)、仲裁单元(arb)和校验单元(check),仲裁单元0(arb_0)为主设备0(Master_0)对应的仲裁单元,仲裁单元1(arb_1)为主设备1(Master_1)对应的仲裁单元。加密计算单元(encrypt)包括SM3加密模块,用于对指令标识采用SM3加密算法进行加密。
本申请实施例公开了一种数据传输方法,实现了对AXI指令和数据进行加密处理。
参见图4,根据一示例性实施例示出的一种数据传输方法的流程图,如图4所示,包括:
S101:从第一设备处获取目标内容;其中,所述目标内容包括地址和/或地址标识;
S102:在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识;
S103:在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据。
本实施例的执行主体为上述内部互联模块,内部互联模块分别通过AXI总线连接多个主设备和多个从设备,内部互联模块包括:与每个第一设备对应连接的加密计算单元、与每个加密计算单元对应连接的地址译码单元,每个地址译码单元连接所有第二设备。第一设备为主设备和从设备中的任一项,第二设备为主设备和从设备中的另一项。在具体实施中,第一设备向内部互联模块发送目标内容,其中可以包括地址、地址标识等,内部互联模块中的加密计算单元利用第一加密算法对地址进行加密得到加密地址,利用第二加密算法对地址标识进行加密得到加密地址标识,地址译码单元对传输方向进行选择,以确定对应的第二设备,并基于加密内容向第二设备传输数据。
其中,本实施例还包括:接收管理设备发送的所述第一加密算法和所述第二加密算法的密钥。可以理解的是,在SOC系统中一般都会有CPU,负责进行各种参数配置、任务调度等工作。在具体实施中,可以将其中一个主设备作为管理设备,在系统的初始化阶段,管理设备中的CPU负责向其他主设备、内部互联模块、从设备发送第一加密算法和第二加密算法的密钥。
其中,所述内部互联模块还包括与每个所述第一设备对应连接的加密选择单元,每个所述加密选择单元与每个所述加密计算单元对应连接,每个所述加密选择单元与每个所述地址译码单元对应连接;本实施例还包括:接收管理设备发送的加解密配置使能,并将所述加解密配置使能存储至所述第一设备对应的加密选择单元中。
在具体实施中,在系统的初始化阶段,管理设备负责向其他主设备和从设备对应的加密选择单元发送加解密配置使能,该加解密配置使能用于控制对应的加密计算单元是否对从第一设备获取到的目标内容进行加密处理。
其中,在所述第一设备对应的加密计算单元中利用预设加密算法对所述目标内容进行加密处理得到加密内容之前,还包括:确定所述第一设备对应的加密选择单元中存储的加解密配置使能;若所述加解密配置使能为第一预设值,则执行在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识的步骤;若所述加解密配置使能为第二预设值,则在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述目标内容向所述第二设备传输数据。
在具体实施中,当加解密使能为第一预设值(例如1)时,则加密计算单元对第一设备发送过来的数据和指令进行加密;当加解密使能为第二预设值(例如0)时,则不进行加密。使用加解密配置使能可以适配更多的系统,当主从设备本身就进行过数据加密时,则不需要再次进行加密,即可以跳过加密计算单元,当主从设备本身不能进行数据加解密时,则使用加密计算单元进行加解密处理。
本申请实施例提供的数据传输方法,主设备与从设备之间通过内部互联模块进行数据传输,内部互联模块用于对经过其的数据进行加密,保证了在AXI总线上传输的数据均为密文形式,进而保证了整个系统的信息安全。另外,本申请不仅对地址进行加密,还对地址标识进行加密,进一步提高了信息安全性。同时,由于是通过内部互联模块这一硬件实现专用的加解密功能,因此并不会额外占用CPU资源,也不会降低原有的总线性能。
由于AXI的读写通道(共5组通道)是完全独立分离的,因此在处理流程部分也分开介绍,分为主设备向从设备传输和从设备向主设备传输两大类。主设备向从设备传输,这个过程包括写地址通道、写数据通道、读地址通道。从设备向主设备传输,则包括读数据通道和写响应通道。
若所述第一设备为主设备、所述第二设备为从设备,则参见图2和图5,图5为根据一示例性实施例示出的一种数据写入方法的流程图,如图5所示,包括:
S201:从所述主设备获取写地址、写地址标识和写数据;
S202:在所述主设备对应的加密计算单元中利用第一加密算法对所述写地址进行加密得到加密写地址,利用第二加密算法对所述写地址标识进行加密得到加密写地址标识,利用第一加密算法对所述写数据进行加密得到加密写数据;
S203:在所述主设备对应的地址译码单元中利用第一解密算法对所述加密写地址进行解密得到所述写地址,并基于所述写地址确定对应的从设备;
S204:向对应的从设备发送写指令;其中,所述写指令包括所述加密写数据和所述写地址标识。
写地址和写地址标识属于写地址通道,在具体实施中,当写地址axi_awaddr进入加密计算单元时,利用第一加密算法对其进行加密处理,第一加密算法可以具体为SM4加密算法,处理后数据与原始数据长度一致,记为encr_awaddr。
axi_awid为写地址标识,其数据长度一般是可配置的,记为awid_length。利用第二加密算法对其进行加密处理,第二加密算法可以具体为SM3加密算法,SM3为杂凑算法,其本质为对输入值进行多轮的迭代压缩,不管输入的数据长度为多少,其压缩后的数据(即摘要值)长度固定为32Byte。利用SM3加密算法对axi_awid进行加密处理,其计算结果记为digest_awid,数据长度为awid_length。
当写数据通道的数据 axi_wdata进入加密计算单元时,利用第一加密算法对其进行加密处理,第一加密算法可以具体为SM4加密算法,处理后数据与原始数据长度一致。
地址译码单元进行写地址的译码,并将主设备发送的指令和数据的传递到对应的从设备。由于管理设备在系统启动阶段已经向内部互联模块进行了密钥配置,内部互联模块会将密钥传递至内部的地址译码单元中。地址译码单元中内置了解密模块,例如SM4解密模块,首先会将encr_awaddr进行解密处理,还原出原始的写地址,然后根据系统预设的地址映射表,将对应的写指令传递到每个从设备对应的仲裁单元。当多个主设备同时访问同一个从设备时,仲裁单元对其仲裁选择。
若所述第一设备为主设备、所述第二设备为从设备,则参见图2和图6,图6为根据一示例性实施例示出的一种数据读取方法的流程图,如图6所示,包括:
S301:从主设备获取读地址、读地址标识;
S302:在所述主设备对应的加密计算单元中利用第一加密算法对所述读地址进行加密得到加密读地址,利用第二加密算法对所述读地址标识进行加密得到加密读地址标识;
S303:在所述主设备对应的地址译码单元中利用第一解密算法对所述加密读地址进行解密得到所述读地址,并基于所述读地址确定对应的从设备;
S304:向对应的从设备发送读指令;其中,所述读指令包括所述读地址标识。
读地址和读地址标识属于读地址通道,在具体实施中,当读地址axi_araddr进入加密计算单元时,利用第一加密算法对其进行加密处理,第一加密算法可以具体为SM4加密算法,处理后数据与原始数据长度一致,记为encr_araddr。
axi_arid为读地址标识,其数据长度一般是可配置的,记为arid_length。利用第二加密算法对其进行加密处理,第二加密算法可以具体为SM3加密算法,SM3为杂凑算法,其本质为对输入值进行多轮的迭代压缩,不管输入的数据长度为多少,其压缩后的数据(即摘要值)长度固定为32Byte。利用SM3加密算法对axi_arid进行加密处理,其计算结果记为digest_arid,数据长度为arid_length。
地址译码单元进行读地址的译码,并将主设备发送的指令和数据的传递到对应的从设备。由于管理设备在系统启动阶段已经向内部互联模块进行了密钥配置,内部互联模块会将密钥传递至内部的地址译码单元中。地址译码单元中内置了解密模块,例如SM4解密模块,首先会将encr_araddr进行解密处理,还原出原始的读地址,然后根据系统预设的地址映射表,将对应的读指令传递到每个从设备对应的仲裁单元。当多个主设备同时访问同一个从设备时,仲裁单元对其仲裁选择。
若所述第一设备为从设备、所述第二设备为主设备,则参见图3和图7,图7根据一示例性实施例示出的另一种数据写入方法的流程图,如图7所示,包括:
S401:从所述从设备获取写响应标识;其中,所述写响应标识为所述写指令中的写地址标识;
S402:在所述从设备对应的加密计算单元中利用第二加密算法对所述写响应标识进行加密得到加密写响应标识;
S403:在所述从设备对应的地址译码单元中基于所述加密写响应标识确定对应的主设备,并基于所述加密写响应标识向对应的主设备传输写操作结果。
写响应标识属于写响应通道,axi_bid为写响应标识,其值等于对应的写指令的写地址标识的axi_awid,通过这一组标识表明写数据和写指令的对应关系。利用第二加密算法对axi_bid进行加密处理,其计算结果记为digest_bid。
图3中Decoder_ID为基于标识(ID)的译码,即通过输入的标识就可以计算出数据的传递方向。在本实施例中,标识与主设备之间的对应关系为加密后的标识与主设备的对应关系。
当多个从设备同时访问同一个主设备时,仲裁单元对其仲裁选择。
其中,所述基于所述加密写响应标识向对应的主设备传输写操作结果,包括:在所述主设备对应的校验单元中校验所述加密写响应标识与所述加密写地址标识是否一致;若是,则向所述主设备发送写操作完成通知。
校验单元对写操作是否完全进行校验,具体的,当digest_bid与digest_awid相等时,表明写操作已完成,若不相等,则表明写操作的过程中存在错误,由主设备决定后续的操作。
若所述第一设备为从设备、所述第二设备为主设备,则参见图3和图8,图8根据一示例性实施例示出的另一种数据读取方法的流程图,如图8所示,包括:
S501:从所述从设备获取所述读指令对应的读数据和读响应标识;其中,所述读响应标识为所述读指令中的读地址标识;
S502:在所述第一设备对应的加密计算单元中利用第二加密算法对所述读响应标识进行加密得到加密读响应标识;
S503:在所述从设备对应的地址译码单元中基于所述加密读响应标识确定对应的主设备,并基于所述加密读响应标识向对应的主设备传输读操作结果;其中,所述读操作结果至少包括所述读数据。
读响应标识属于读数据通道,axi_rid为读响应标识,其值等于对应的读指令的读地址标识的axi_arid,通过这一组标识表明读数据和读指令的对应关系。利用第二加密算法对axi_bid进行加密处理,其计算结果记为digest_rid。
图3中Decoder_ID为基于标识(ID)的译码,即通过输入的标识就可以计算出数据的传递方向。在本实施例中,标识与主设备之间的对应关系为加密后的标识与主设备的对应关系。
当多个从设备同时访问同一个主设备时,仲裁单元对其仲裁选择。
其中,所述基于所述加密读响应标识向对应的主设备传输读操作结果,包括:在所述主设备对应的校验单元中校验所述加密读响应标识与所述加密读地址标识是否一致;若是,则向所述主设备发送所述读数据和读操作完成通知。
校验单元对读操作是否完全进行校验,具体的,当digest_arid与digest_rid相等时,表明读操作已完成,将读数据传递到对应的主设备;若不相等,则表明读操作的过程中存在错误,由主设备决定后续的操作。
下面对本申请实施例提供的一种数据传输装置进行介绍,该数据传输装置应用于内部互联模块,所述内部互联模块分别通过AXI总线连接多个主设备和多个从设备。下文描述的一种数据传输装置与上文描述的一种数据传输方法可以相互参照。
参见图9,根据一示例性实施例示出的一种数据传输装置的结构图,如图9所示,包括:
获取子模块901,用于从第一设备处获取目标内容;其中,所述目标内容包括地址和/或地址标识;
加密子模块902,用于在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识;
传输子模块903,用于在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据。
本申请提供的数据传输装置,主设备与从设备之间通过内部互联模块进行数据传输,内部互联模块用于对经过其的数据进行加密,保证了在AXI总线上传输的数据均为密文形式,进而保证了整个系统的信息安全。另外,本申请不仅对地址进行加密,还对地址标识进行加密,进一步提高了信息安全性。同时,由于是通过内部互联模块这一硬件实现专用的加解密功能,因此并不会额外占用CPU资源,也不会降低原有的总线性能。
在上述实施例的基础上,作为一种优选实施方式,若所述第一设备为主设备、所述第二设备为从设备,则所述获取子模块901具体用于:从所述主设备获取写地址、写地址标识和写数据;
相应的,所述加密子模块902具体用于:在所述主设备对应的加密计算单元中利用第一加密算法对所述写地址进行加密得到加密写地址,利用第二加密算法对所述写地址标识进行加密得到加密写地址标识,利用第一加密算法对所述写数据进行加密得到加密写数据;
相应的,所述传输子模块903具体用于:在所述主设备对应的地址译码单元中利用第一解密算法对所述加密写地址进行解密得到所述写地址,并基于所述写地址确定对应的从设备;向对应的从设备发送写指令;其中,所述写指令包括所述加密写数据和所述写地址标识。
在上述实施例的基础上,作为一种优选实施方式,若所述第一设备为从设备、所述第二设备为主设备,则所述获取子模块901具体用于:从所述从设备获取写响应标识;其中,所述写响应标识为所述写指令中的写地址标识;
相应的,所述加密子模块902具体用于:在所述从设备对应的加密计算单元中利用第二加密算法对所述写响应标识进行加密得到加密写响应标识;
相应的,所述传输子模块903具体用于:在所述从设备对应的地址译码单元中基于所述加密写响应标识确定对应的主设备,并基于所述加密写响应标识向对应的主设备传输写操作结果。
在上述实施例的基础上,作为一种优选实施方式,若所述第一设备为从设备、所述第二设备为主设备,所述内部互联模块还包括与每个所述主设备对应连接的校验单元,相应的,所述传输子模块903具体用于:在所述从设备对应的地址译码单元中基于所述加密写响应标识确定对应的主设备,并在所述主设备对应的校验单元中校验所述加密写响应标识与所述加密写地址标识是否一致;若是,则向所述主设备发送写操作完成通知。
在上述实施例的基础上,作为一种优选实施方式,若所述第一设备为主设备、所述第二设备为从设备,则所述获取子模块901具体用于:从主设备获取读地址、读地址标识;
相应的,所述加密子模块902具体用于:在所述主设备对应的加密计算单元中利用第一加密算法对所述读地址进行加密得到加密读地址,利用第二加密算法对所述读地址标识进行加密得到加密读地址标识;
相应的,所述传输子模块903具体用于:在所述主设备对应的地址译码单元中利用第一解密算法对所述加密读地址进行解密得到所述读地址,并基于所述读地址确定对应的从设备;向对应的从设备发送读指令;其中,所述读指令包括所述读地址标识。
在上述实施例的基础上,作为一种优选实施方式,若所述第一设备为从设备、所述第二设备为主设备,则所述获取子模块901具体用于:从所述从设备获取所述读指令对应的读数据和读响应标识;其中,所述读响应标识为所述读指令中的读地址标识;
相应的,所述加密子模块902具体用于:在所述第一设备对应的加密计算单元中利用第二加密算法对所述读响应标识进行加密得到加密读响应标识;
相应的,所述传输子模块903具体用于:在所述从设备对应的地址译码单元中基于所述加密读响应标识确定对应的主设备,并基于所述加密读响应标识向对应的主设备传输读操作结果;其中,所述读操作结果至少包括所述读数据。
在上述实施例的基础上,作为一种优选实施方式,若所述第一设备为从设备、所述第二设备为主设备,所述内部互联模块还包括与每个所述主设备对应连接的校验单元,相应的,所述传输子模块903具体用于:在所述从设备对应的地址译码单元中基于所述加密读响应标识确定对应的主设备,并在所述主设备对应的校验单元中校验所述加密读响应标识与所述加密读地址标识是否一致;若是,则向所述主设备发送所述读数据和读操作完成通知。
在上述实施例的基础上,作为一种优选实施方式,所述第一加密算法为SM4加密算法,所述第二加密算法为SM3加密算法。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第一接收子模块,用于接收管理设备发送的所述第一加密算法和所述第二加密算法的密钥。
在上述实施例的基础上,作为一种优选实施方式,所述内部互联模块还包括与每个所述第一设备对应连接的加密选择单元,每个所述加密选择单元与每个所述加密计算单元对应连接,每个所述加密选择单元与每个所述地址译码单元对应连接;
所述装置还包括:
第二接收子模块,用于接收管理设备发送的所述第一设备对应的加解密配置使能,并将所述加解密配置使能存储至所述第一设备对应的加密选择单元中。
在上述实施例的基础上,作为一种优选实施方式,还包括:
确定模块,用于确定所述第一设备对应的加密选择单元中存储的加解密配置使能;若所述加解密配置使能为第一预设值,则启动所述加密子模块902的工作流程;若所述加解密配置使能为第二预设值,则在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述目标内容向所述第二设备传输数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图10为根据一示例性实施例示出的一种电子设备的结构图,如图10所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的数据传输方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图10中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种数据传输方法,其特征在于,应用于内部互联模块,所述内部互联模块分别通过AXI总线连接多个主设备和多个从设备,所述内部互联模块包括:与每个第一设备对应连接的加密计算单元、与每个所述加密计算单元对应连接的地址译码单元,每个所述地址译码单元连接所有第二设备,所述第一设备为所述主设备和所述从设备中的任一项,所述第二设备为所述主设备和所述从设备中的另一项;
所述方法包括:
从第一设备处获取目标内容;其中,所述目标内容包括地址和/或地址标识;
在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识;
在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据。
2.根据权利要求1所述数据传输方法,其特征在于,若所述第一设备为主设备、所述第二设备为从设备,则所述从第一设备处获取目标内容,包括:
从所述主设备获取写地址、写地址标识和写数据;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
在所述主设备对应的加密计算单元中利用第一加密算法对所述写地址进行加密得到加密写地址,利用第二加密算法对所述写地址标识进行加密得到加密写地址标识,利用第一加密算法对所述写数据进行加密得到加密写数据;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述主设备对应的地址译码单元中利用第一解密算法对所述加密写地址进行解密得到所述写地址,并基于所述写地址确定对应的从设备;
向对应的从设备发送写指令;其中,所述写指令包括所述加密写数据和所述写地址标识。
3.根据权利要求2所述数据传输方法,其特征在于,若所述第一设备为从设备、所述第二设备为主设备,则所述从第一设备处获取目标内容,包括:
从所述从设备获取写响应标识;其中,所述写响应标识为所述写指令中的写地址标识;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
利用第二加密算法对所述写响应标识进行加密得到加密写响应标识;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述从设备对应的地址译码单元中基于所述加密写响应标识确定对应的主设备,并基于所述加密写响应标识向对应的主设备传输写操作结果。
4.根据权利要求3所述数据传输方法,其特征在于,若所述第一设备为从设备、所述第二设备为主设备,所述内部互联模块还包括与每个所述主设备对应连接的校验单元,相应的,所述基于所述加密写响应标识向对应的主设备传输写操作结果,包括:
在所述主设备对应的校验单元中校验所述加密写响应标识与所述加密写地址标识是否一致;
若是,则向所述主设备发送写操作完成通知。
5.根据权利要求1所述数据传输方法,其特征在于,若所述第一设备为主设备、所述第二设备为从设备,则所述从第一设备处获取目标内容,包括:
从主设备获取读地址、读地址标识;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
在所述主设备对应的加密计算单元中利用第一加密算法对所述读地址进行加密得到加密读地址,利用第二加密算法对所述读地址标识进行加密得到加密读地址标识;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述主设备对应的地址译码单元中利用第一解密算法对所述加密读地址进行解密得到所述读地址,并基于所述读地址确定对应的从设备;
向对应的从设备发送读指令;其中,所述读指令包括所述读地址标识。
6.根据权利要求5所述数据传输方法,其特征在于,若所述第一设备为从设备、所述第二设备为主设备,则所述从第一设备处获取目标内容,包括:
从所述从设备获取所述读指令对应的读数据和读响应标识;其中,所述读响应标识为所述读指令中的读地址标识;
相应的,在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识,包括:
在所述第一设备对应的加密计算单元中利用第二加密算法对所述读响应标识进行加密得到加密读响应标识;
相应的,在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据,包括:
在所述从设备对应的地址译码单元中基于所述加密读响应标识确定对应的主设备,并基于所述加密读响应标识向对应的主设备传输读操作结果;其中,所述读操作结果至少包括所述读数据。
7.根据权利要求6所述数据传输方法,其特征在于,若所述第一设备为从设备、所述第二设备为主设备,所述内部互联模块还包括与每个所述主设备对应连接的校验单元,相应的,所述基于所述加密读响应标识向对应的主设备传输读操作结果,包括:
在所述主设备对应的校验单元中校验所述加密读响应标识与所述加密读地址标识是否一致;
若是,则向所述主设备发送所述读数据和读操作完成通知。
8.根据权利要求1至7中任一项所述数据传输方法,其特征在于,所述第一加密算法为SM4加密算法,所述第二加密算法为SM3加密算法。
9.根据权利要求1所述数据传输方法,其特征在于,还包括:
接收管理设备发送的所述第一加密算法和所述第二加密算法的密钥。
10.根据权利要求1所述数据传输方法,其特征在于,所述内部互联模块还包括与每个所述第一设备对应连接的加密选择单元,每个所述加密选择单元与每个所述加密计算单元对应连接,每个所述加密选择单元与每个所述地址译码单元对应连接;
所述方法还包括:
接收管理设备发送的所述第一设备对应的加解密配置使能,并将所述加解密配置使能存储至所述第一设备对应的加密选择单元中。
11.根据权利要求10所述数据传输方法,其特征在于,在所述第一设备对应的加密计算单元中利用预设加密算法对所述目标内容进行加密处理得到加密内容之前,还包括:
确定所述第一设备对应的加密选择单元中存储的加解密配置使能;
若所述加解密配置使能为第一预设值,则执行在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识的步骤;
若所述加解密配置使能为第二预设值,则在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述目标内容向所述第二设备传输数据。
12.根据权利要求1所述数据传输方法,其特征在于,所述内部互联模块还包括与每个所述第二设备对应连接的仲裁单元,每个所述仲裁单元连接所有所述地址译码单元;
所述方法还包括:
在所述仲裁单元中对同时访问对应的第二设备的多个第一设备的请求进行仲裁。
13.一种数据传输装置,其特征在于,应用于内部互联模块,所述内部互联模块分别通过AXI总线连接多个主设备和多个从设备,所述内部互联模块包括:与每个第一设备对应连接的加密计算单元、与每个所述加密计算单元对应连接的地址译码单元,每个所述地址译码单元连接所有第二设备,所述第一设备为所述主设备和所述从设备中的任一项,所述第二设备为所述主设备和所述从设备中的另一项;
所述装置包括:
获取子模块,用于从第一设备处获取目标内容;其中,所述目标内容包括地址和/或地址标识;
加密子模块,用于在所述第一设备对应的加密计算单元中利用第一加密算法对所述地址进行加密得到加密地址,和/或,利用第二加密算法对所述地址标识进行加密得到加密地址标识;
传输子模块,用于在所述第一设备对应的地址译码单元中对传输方向进行选择,以确定对应的第二设备,并基于所述加密地址和/或所述加密地址标识向所述第二设备传输数据。
14.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述数据传输方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述数据传输方法的步骤。
16.一种数据传输系统,其特征在于,包括多个主设备、内部互联模块和多个从设备,所述内部互联模块分别通过AXI总线连接多个所述主设备和多个所述从设备;
所述内部互联模块包括:
与每个第一设备对应连接的加密计算单元,用于利用第一加密算法对所述第一设备与第二设备之间需要传输的地址进行加密得到加密地址,和/或,利用第二加密算法对所述第一设备与第二设备之间需要传输的地址标识进行加密得到加密地址标识;其中,所述第一设备为所述主设备和所述从设备中的任一项,所述第二设备为所述主设备和所述从设备中的另一项;
与每个所述加密计算单元对应连接的地址译码单元,用于对传输方向进行选择;其中,每个所述地址译码单元连接所有所述第二设备。
17.根据权利要求16所述数据传输系统,其特征在于,所述内部互联模块还包括与每个所述第一设备对应连接的加密选择单元,每个所述加密选择单元与每个所述加密计算单元对应连接,每个所述加密选择单元与每个所述地址译码单元对应连接;
所述加密选择单元,用于控制对应的加密计算单元是否对需要传输的所述地址和/或所述地址标识进行加密处理。
18.根据权利要求16所述数据传输系统,其特征在于,所述内部互联模块还包括与每个所述第二设备对应连接的仲裁单元,每个所述仲裁单元连接所有所述地址译码单元;
所述仲裁单元,用于对同时访问对应的第二设备的多个第一设备的请求进行仲裁。
19.根据权利要求18所述数据传输系统,其特征在于,若所述第一设备为从设备,所述第二设备为主设备,则所述内部互联模块还包括与每个所述第二设备对应连接的校验单元,每个所述校验单元与每个所述仲裁单元对应连接;
所述校验单元,用于校验读写操作是否完成。
20.根据权利要求16所述数据传输系统,其特征在于,若所述第一设备为从设备,所述第二设备为主设备,则所述内部互联模块还包括与每个所述第二设备对应连接的校验单元,用于校验读写操作是否完成。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211365404.1A CN115408707B (zh) | 2022-11-03 | 2022-11-03 | 一种数据传输方法、装置、系统及电子设备和存储介质 |
PCT/CN2023/129412 WO2024094137A1 (zh) | 2022-11-03 | 2023-11-02 | 一种数据传输方法、装置、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211365404.1A CN115408707B (zh) | 2022-11-03 | 2022-11-03 | 一种数据传输方法、装置、系统及电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115408707A true CN115408707A (zh) | 2022-11-29 |
CN115408707B CN115408707B (zh) | 2023-03-24 |
Family
ID=84169363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211365404.1A Active CN115408707B (zh) | 2022-11-03 | 2022-11-03 | 一种数据传输方法、装置、系统及电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115408707B (zh) |
WO (1) | WO2024094137A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116471109A (zh) * | 2022-12-01 | 2023-07-21 | 黄建邦 | 数据传输方法、系统、第一端及控制设备 |
CN116881934A (zh) * | 2023-06-05 | 2023-10-13 | 珠海妙存科技有限公司 | 一种数据的加解密方法、系统、装置及存储介质 |
WO2024094137A1 (zh) * | 2022-11-03 | 2024-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置、系统及电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1737184A2 (en) * | 1994-05-24 | 2006-12-27 | Sony Corporation | Data bus communication |
CN103605632A (zh) * | 2013-11-18 | 2014-02-26 | 山东大学 | 一种axi总线与ahb总线的通信方法与装置 |
WO2017071429A1 (zh) * | 2015-10-27 | 2017-05-04 | 深圳市中兴微电子技术有限公司 | 一种数据访问方法及总线 |
CN110688328A (zh) * | 2019-09-27 | 2020-01-14 | 山东华芯半导体有限公司 | 一种axi总线分主机映射集的可配置重映射实现方法 |
CN113220498A (zh) * | 2021-05-08 | 2021-08-06 | 青芯半导体科技(上海)有限公司 | 一种支持加密存储的嵌入式Flash控制器 |
US20210312091A1 (en) * | 2018-05-25 | 2021-10-07 | Secure-Ic Sas | Multi-master security circuit |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10679722B2 (en) * | 2016-08-26 | 2020-06-09 | Sandisk Technologies Llc | Storage system with several integrated components and method for use therewith |
CN108874702B (zh) * | 2018-06-15 | 2020-11-17 | 中国电子科技集团公司第五十二研究所 | 基于axi总线的多路对称加解密ip核并行处理装置和方法 |
CN114465820B (zh) * | 2022-03-31 | 2024-07-30 | 京东方科技集团股份有限公司 | 数据加密方法、数据加密设备、电子设备、程序及介质 |
CN114969794A (zh) * | 2022-06-07 | 2022-08-30 | 北京紫光展锐通信技术有限公司 | SoC系统及数据加密方法 |
CN115408707B (zh) * | 2022-11-03 | 2023-03-24 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置、系统及电子设备和存储介质 |
-
2022
- 2022-11-03 CN CN202211365404.1A patent/CN115408707B/zh active Active
-
2023
- 2023-11-02 WO PCT/CN2023/129412 patent/WO2024094137A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1737184A2 (en) * | 1994-05-24 | 2006-12-27 | Sony Corporation | Data bus communication |
CN103605632A (zh) * | 2013-11-18 | 2014-02-26 | 山东大学 | 一种axi总线与ahb总线的通信方法与装置 |
WO2017071429A1 (zh) * | 2015-10-27 | 2017-05-04 | 深圳市中兴微电子技术有限公司 | 一种数据访问方法及总线 |
US20210312091A1 (en) * | 2018-05-25 | 2021-10-07 | Secure-Ic Sas | Multi-master security circuit |
CN110688328A (zh) * | 2019-09-27 | 2020-01-14 | 山东华芯半导体有限公司 | 一种axi总线分主机映射集的可配置重映射实现方法 |
CN113220498A (zh) * | 2021-05-08 | 2021-08-06 | 青芯半导体科技(上海)有限公司 | 一种支持加密存储的嵌入式Flash控制器 |
Non-Patent Citations (2)
Title |
---|
RAMESH BHAKTAVATCHALU ET AL: "Design of AXI bus interface modules on FPGA", 《IEEE》 * |
余红江等: "一种基于AXI4.0总线的互联架构设计", 《电子设计工程》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024094137A1 (zh) * | 2022-11-03 | 2024-05-10 | 山东云海国创云计算装备产业创新中心有限公司 | 一种数据传输方法、装置、系统及电子设备和存储介质 |
CN116471109A (zh) * | 2022-12-01 | 2023-07-21 | 黄建邦 | 数据传输方法、系统、第一端及控制设备 |
CN116708416A (zh) * | 2022-12-01 | 2023-09-05 | 黄建邦 | 数据传输控制方法、系统、控制设备及可读存储介质 |
WO2023151354A3 (zh) * | 2022-12-01 | 2023-10-05 | 黄建邦 | 数据传输方法、系统、第一端、中间网络设备及控制设备 |
CN116471109B (zh) * | 2022-12-01 | 2024-03-05 | 黄建邦 | 数据传输方法、系统、第一端及控制设备 |
CN116881934A (zh) * | 2023-06-05 | 2023-10-13 | 珠海妙存科技有限公司 | 一种数据的加解密方法、系统、装置及存储介质 |
CN116881934B (zh) * | 2023-06-05 | 2024-02-23 | 珠海妙存科技有限公司 | 一种数据的加解密方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024094137A1 (zh) | 2024-05-10 |
CN115408707B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115408707B (zh) | 一种数据传输方法、装置、系统及电子设备和存储介质 | |
CN102255888B (zh) | 从远程服务器对数据存储设备进行安全扫描的方法和装置 | |
US8650406B2 (en) | Memory protection and security using credentials | |
CN104252375A (zh) | 用于位于不同主机的多个虚拟机共享USB Key的方法和系统 | |
US7277972B2 (en) | Data processing system with peripheral access protection and method therefor | |
EP2947594A2 (en) | Protecting critical data structures in an embedded hypervisor system | |
CN114417436A (zh) | 安全子系统 | |
US10169563B2 (en) | Encryption authorization dongle having volatile memory | |
KR20050113638A (ko) | 주변기 액세스 보호를 구비한 데이터 액세싱 시스템 및이를 위한 방법 | |
CN112149144A (zh) | 聚合密码引擎 | |
CN113642006B (zh) | 双核继电保护系统安全启动方法 | |
US20190228159A1 (en) | Technologies for filtering memory access transactions received from one or more accelerators via coherent accelerator link | |
US20080080715A1 (en) | Apparatus and method for high-speed, large-volume data encryption using secure memory | |
JP4591163B2 (ja) | バスアクセス制御装置 | |
US12120100B2 (en) | Secure communication between an intermediary device and a network | |
JP5060069B2 (ja) | 低性能格納装置のdrm権利オブジェクトを効率的に管理する方法および装置 | |
CN116628708B (zh) | 启动芯片的方法、电子设备及可读存储介质 | |
US20180053017A1 (en) | Programmable logic device, information processing apparatus, and processing method | |
JP2007109053A (ja) | バスアクセス制御装置 | |
US7565504B2 (en) | Memory window access mechanism | |
US20230299956A1 (en) | System and method for encrypting memory transactions | |
CN113127896B (zh) | 基于独立加密芯片的数据处理方法及设备 | |
US11775690B2 (en) | System and method for supporting multiple independent silicon-rooted trusts per system-on-a-chip | |
US20060136634A1 (en) | Data address security device and method | |
TWM586390U (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 |