CN117828648B - 一种可信总线交互系统的实现方法 - Google Patents
一种可信总线交互系统的实现方法 Download PDFInfo
- Publication number
- CN117828648B CN117828648B CN202410251365.5A CN202410251365A CN117828648B CN 117828648 B CN117828648 B CN 117828648B CN 202410251365 A CN202410251365 A CN 202410251365A CN 117828648 B CN117828648 B CN 117828648B
- Authority
- CN
- China
- Prior art keywords
- data packet
- slave
- bus
- data
- information
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000003993 interaction Effects 0.000 title claims abstract description 31
- 238000004891 communication Methods 0.000 claims abstract description 80
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims description 88
- 238000006243 chemical reaction Methods 0.000 claims description 65
- 239000013598 vector Substances 0.000 claims description 57
- 238000004364 calculation method Methods 0.000 claims description 30
- 238000012546 transfer Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种可信总线交互系统的实现方法,本发明提出的可信总线交互系统的实现方法采用可信算法对第一总线数据包进行加密和解密处理,从而保证数据在主机和从机之间传输的安全可信性:此外,主机通过总线链路通信连接于各从机总线控制器组,且各从机总线控制器组包括多个从机控制器,第一总线数据包会通过主机分别发送至各从机总线控制器组,然后在各从机总线控制器组中的各从机总线控制器之间依次传递,直至传递至第一总线数据包对应的目标从机,即各从机能够实现第一总线数据的可信转发,无需单独建立各从机与主机之间的通信链路,在保证数据传输安全性的前提下大大提升了整个系统的数据传输通用性。
Description
技术领域
本发明涉及计算机总线技术领域,具体涉及一种可信总线交互系统的实现方法。
背景技术
总线系统作为计算机设备内部的公共数据传输通道,用于在不同的设备或单元接口之间传递数据;总线广泛应用于CPU(处理器)与其他计算处理核心单元(例如:FPGA(Field Programmable Gate Array,即现场可编程门阵列)、DSP(Digital SignalProcessor,即数字信号处理器或数字信号处理芯片)和GPU(图形处理器)等)以及各类外界设备(例如:硬盘、数据采集接口和人机交互接口等)之间,以进行连接通信。
由于不同计算机设备之间的通信总线的数据传输速度、安全可靠性要求不同,故在一个复杂的计算机设备或系统中,往往存在多种类型的通信总线,甚至在还需要配合加解密算法模块、校验算法模块以保证数据的可信度,这样会大大增加总线通信系统的复杂程度,而过于复杂的总线通信系统反而会降低数据通信的安全可靠性。因此,目前急需一种在保证可信性前提下通用性更高的总线通信方案。
发明内容
本发明的主要目的是提供一种可信总线交互系统的实现方法,旨在解决目前急需一种在保证可信性前提下通用性更高的总线通信方案的问题。
本发明提出的技术方案为:
一种可信总线交互系统的实现方法,应用于可信总线交互系统;所述系统包括主机总线控制器和多个从机总线控制器组;各从机总线控制器组包括多个依次通信连接的从机总线控制器,且每个从机总线控制器组中的第一个从机总线控制器通信连接于主机总线控制器;主机总线控制器通信连接有主机;从机总线控制器通信连接有从机;所述方法,包括:
步骤101:主机基于主机总线控制器分别向各从机总线控制器组中的第一个从机总线控制器发送第一总线数据包;
步骤102:接收到第一总线数据包的从机总线控制器将第一总线数据包处理为对应的第一载荷数据包,其中,第一载荷数据包包括目的地址;
步骤103:接收到第一总线数据包的从机总线控制器判断第一载荷数据包中的目的地址与当前的从机总线控制器通信连接的从机的地址是否一致;
步骤104:若一致,接收到第一总线数据包的从机总线控制器对第一载荷数据包进行解密,以得到对应的第一明文载荷数据,并发送至当前的从机总线控制器通信连接的从机;
步骤105:若不一致,接收到第一总线数据包的从机总线控制器判断所属的从机总线控制器组中的其他从机总线控制器通信连接的从机中是否存在与目的地址一致的从机;
步骤106:若存在,接收到第一总线数据包的从机总线控制器生成与第一载荷数据包对应的直通标识,并将第一载荷数据包处理为第一总线数据包,然后将第一总线数据包发送至所属的从机总线控制器组中的下一个从机总线控制器,并重复步骤102至步骤106;
步骤107:若不存在,接收到第一总线数据包的从机总线控制器将第一载荷数据包丢弃。
优选的,主机总线控制器和各从机总线控制器组中的第一个从机总线控制器通过总线链路通信连接;同一从机总线控制器组中相邻的从机总线控制器通过转发链路通信连接;主机总线控制器包括第一状态接口、第一数据输出接口、主机总线接口、第一信息配置表、第一加密模块、第一摘要算法模块和第一缓存模块;第一数据输出接口与主机通信连接;第一信息配置表中存储有与从机一一对应的加密信息和第二初始向量,且不同的从机对应的加密信息不相同,不同的从机对应的第二初始向量不相同;加密信息包括加密算法类型、加密密钥和第一初始向量;步骤S101,包括:
步骤201:主机通过第一状态接口读取第一缓存模块的状态,以判断第一缓存模块是否具有剩余的存储空间,若是,主机通过第一数据输出接口将第一明文载荷数据和对应的目的地址发送至第一缓存模块;
步骤202:第一缓存模块将第一明文载荷数据和对应的目的地址发送至第一加密模块;
步骤203:第一加密模块从第一信息配置表中查找目的地址对应的从机对应的加密信息,并基于查找的加密信息对第一明文载荷数据进行加密运算以得到对应的第一密文载荷数据,然后将第一密文载荷数据和对应的目的地址传递至第一摘要算法模块;
步骤204:第一摘要算法模块从第一信息配置表中查找目的地址对应的第二初始向量,并获取第一密文载荷数据对应的源地址,将第一密文载荷数据,以及对应的源地址和目的地址组合形成第一载荷数据包,基于查找到的第二初始向量采用摘要算法对第一载荷数据包进行计算以得到对应的第一摘要数据,并将第一载荷数据包和对应的第一摘要数据传递至主机总线接口;
步骤205:主机总线接口获取接收到的第一载荷数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第一信息配置表中配置的加扰方式对第一载荷数据包和对应的第一摘要数据进行加扰处理,按照第一信息配置表中配置的位宽转换方式对第一载荷数据包和对应的第一摘要数据进行位宽转换处理,按照第一信息配置表中配置的编码方式对第一载荷数据包和对应的第一摘要数据进行编码处理,以得到对应的第一总线数据包,并通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第一总线数据包。
优选的,主机总线控制器还包括配置接口;从机总线控制器包括第一从机总线接口、第二摘要算法模块和第二信息配置表;各从机总线控制器组中的第一个从机总线控制器的第一从机总线接口通过总线链路通信连接于主机总线控制器的主机总线接口;各从机总线控制器组中的除第一个从机总线控制器之外的从机总线控制器的第一从机总线接口通过转发链路通信连接于相邻从机总线控制器的上一个从机总线控制器;所述方法,还包括:
步骤301:主机生成各从机对应的初始配置信息,并通过配置接口向主机总线控制器发送初始配置信息,其中,初始配置信息包括加密信息和第二初始向量;
步骤302:主机总线控制器将接收到的初始配置信息存储至第一信息配置表,并将初始配置信息发送至对应的从机所通信连接的从机总线控制器;
步骤303:从机总线控制器将接收到的初始配置信息存储至第二信息配置表中;
步骤102,包括:
步骤304:通过第一从机总线接口接收到第一总线数据包的从机总线控制器按照第二信息配置表中配置的解码方式对第一总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第一总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第一总线数据包进行解扰处理,以得到第一载荷数据包和对应的第一摘要数据,并将第一载荷数据包和对应的第一摘要数据发送至第二摘要算法模块。
优选的,从机总线控制器还包括第一解密模块、第二缓存模块、数据流仲裁模块和第二数据接口;第二数据接口包括第二数据输入接口;数据流仲裁模块用于实时判断从机总线控制器与从机之间的通信链路是否畅通,若畅通,生成第一允许信号;步骤104,包括:
步骤401:若一致,接收到第一总线数据包的从机总线控制器的第二摘要算法模块按照第二信息配置表中的第二初始向量采用摘要算法对第一载荷数据包进行摘要计算,并将计算结果与第一摘要数据进行对比,若计算结果与第一摘要数据相同,将第一载荷数据包传递至第一解密模块;
步骤402:第一解密模块按照第二信息配置表中的加密信息,对第一载荷数据包中的第一密文载荷数据进行解密运算,以得到对应的第一明文载荷数据,并将第一明文载荷数据传递至第二缓存模块;
步骤403:当数据流仲裁模块生成第一允许信号时,第二缓存模块将第一明文载荷数据传递至数据流仲裁模块;
步骤404:数据流仲裁模块将第一明文载荷数据通过第二数据输入接口发送至从机。
优选的,从机总线控制器还包括第二从机总线接口;第二从机总线接口用于通过转发链路通信连接于相邻的从机总线控制器的下一个从机总线控制器的第一从机总线接口;数据流仲裁模块还用于实时判断从机总线控制器与相邻的从机总线控制器之间的通信链路是否畅通,若畅通,生成第二允许信号;步骤106,包括:
步骤501:若存在,接收到第一总线数据包的从机总线控制器生成与第一载荷数据包对应的直通标识,并将第一载荷数据包,以及对应的第一摘要数据和直通标识传递至第二缓存模块;
步骤502:当数据流仲裁模块生成第二允许信号时,第二缓存模块将第一载荷数据包,以及对应的第一摘要数据和直通标识传递至数据流仲裁模块;
步骤503:数据流仲裁模块基于直通标识将第一载荷数据包和对应的第一摘要数据传递至第二从机总线接口;
步骤504:第二从机总线接口获取接收到的第一载荷数据包的数据包类型和数据包长度,然后基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对第一载荷数据包和对应的第一摘要数据进行加扰处理,然后按照第二信息配置表中配置的位宽转换方式对第一载荷数据包和对应的第一摘要数据进行位宽转换处理,然后按照第二信息配置表中配置的编码方式对第一载荷数据包和对应的第一摘要数据进行编码处理,以得到对应的第一总线数据包,并将第一总线数据包通过转发链路发送至所属的从机总线控制器组的下一个从机总线控制器。
优选的,从机总线控制器还包括第三缓存模块,第二加密模块、第三摘要算法模块,以及与从机通信连接的第二状态接口;第二数据接口还包括第二数据输出接口;所述方法,还包括:
步骤601:从机通过第二状态接口读取第三缓存模块的状态,以判断第三缓存模块是否具有剩余的存储空间;
若是,执行步骤602:从机通过第二数据输出接口将第二明文载荷数据发送至第三缓存模块,其中,第二明文载荷数据用于发送至主机;
步骤603:第三缓存模块将第二明文载荷数据发送至第二加密模块;
步骤604:第二加密模块基于第二信息配置表中的加密信息对第二明文载荷数据进行加密运算得到对应的第二密文载荷数据,然后将第二密文载荷数据传递至第三摘要算法模块;
步骤605:第三摘要算法模块从第二信息配置表获取第二初始向量,并获取第二密文载荷数据对应的源地址,然后将第二密文载荷数据,以及对应的源地址组合形成第二载荷数据包,然后基于第二初始向量采用摘要算法对第二载荷数据包进行计算以得到对应的第二摘要数据,并将第二载荷数据包和对应的第二摘要数据传递至第一从机总线接口;
步骤606:第一从机总线接口获取接收到的第二载荷数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对第二载荷数据包和对应的第二摘要数据进行加扰处理,按照第二信息配置表中配置的位宽转换方式对第二载荷数据包和对应的第二摘要数据进行位宽转换处理,按照第二信息配置表中配置的编码方式对第二载荷数据包和对应的第二摘要数据进行编码处理,以得到对应的第二总线数据包;
步骤607:若第一从机总线接口通过转发链路通信连接于相邻的从机总线控制器的上一个从机总线控制器,则第一从机总线接口将第二总线数据包通过转发链路发送至上一个从机总线控制器的第二从机总线接口;
步骤608:若第一从机总线接口通过总线链路通信连接于主机总线控制器,则第一从机总线接口将第二总线数据包通过总线链路发送至主机总线控制器。
优选的,从机总线控制器还包括第四缓存模块;步骤607,之后还包括:
步骤701:当第二从机总线接口接收到了来自下一个从机总线控制器的第二总线数据包时,按照第二信息配置表中配置的解码方式对第二总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第二总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第二总线数据包进行解扰处理,以得到直通上传数据包,并生成直通上传数据包对应的直通标识,将直通上传数据包和对应的直通标识发送至第四缓存模块,其中,直通上传数据包包括第二载荷数据包和对应的第二摘要数据;
步骤702:第四缓存模块将直通上传数据包和对应的直通标识传递至第二加密模块;
步骤703:第二加密模块将直通上传数据包和对应的直通标识传递至第三摘要算法模块;
步骤704:第三摘要算法模块将直通上传数据包和对应的直通标识传递至至第一从机总线接口;
步骤705:第一从机总线接口获取接收到的直通上传数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对直通上传数据包进行加扰处理,按照第二信息配置表中配置的位宽转换方式对直通上传数据包进行位宽转换处理,按照第二信息配置表中配置的编码方式对直通上传数据包进行编码处理,以得到对应的第二总线数据包;
步骤706:若第一从机总线接口通过转发链路通信连接于相邻的从机总线控制器的上一个从机总线控制器,则第一从机总线接口将第二总线数据包发送至上一个从机总线控制器的第二从机总线接口,然后重复步骤701至步骤706;
步骤707:若第一从机总线接口通过总线链路通信连接于主机总线控制器,则第一从机总线接口将第二总线数据包通过总线链路发送至主机总线控制器。
优选的,主机总线控制器还包括第一数据输入接口、第四摘要算法模块、第二解密模块和第四缓存模块;第一数据输入接口与主机通信连接;步骤607,之后还包括:
步骤801:主机总线接口接收到第二总线数据包后,按照第一信息配置表中配置的解码方式对第二总线数据包进行解码处理,按照第一信息配置表中配置的位宽转换方式对第二总线数据包进行位宽转换处理,按照第一信息配置表中配置的解扰方式对第二总线数据包进行解扰处理,以得到第二载荷数据包和对应的第二摘要数据,并将第二载荷数据包和对应的第二摘要数据发送至第四摘要算法模块;
步骤802:第四摘要算法模块接收到第二载荷数据包和对应的第二摘要数据后,从第一信息配置表中查找第二载荷数据包中的源地址对应的第二初始向量,并按照查找到的第二初始向量采用摘要算法对第二载荷数据包进行摘要计算,并将计算结果与第二摘要数据进行对比;
步骤803:若计算结果与第二摘要数据相同,第四摘要算法模块将第二载荷数据包传递至第二解密模块;
步骤804:若计算结果与第二摘要数据不相同,第四摘要算法模块将第二载荷数据包丢弃,并生成用于表述计算结果与第二摘要数据不相同的第二错误信息,然后将第二错误信息通过第一状态接口发送至主机;
步骤805:第二解密模块接收到第二载荷数据包后,从第一信息配置表中查找第二载荷数据包中的源地址对应的加密信息,并基于对应的加密信息对第二载荷数据包进行解密运算以得到对应的第二明文载荷数据,然后将第二明文载荷数据传递至第四缓存模块;
步骤806:第四缓存模块将第二明文载荷数据通过第一数据输入接口传递至主机。
优选的,主机总线控制器还包括第三加密模块;加密信息还包括彼此对应的公钥和私钥;所述方法,还包括:
步骤901:主机将需要更新配置的从机标记为目标从机,并生成目标从机对应的更新配置信息,通过配置接口将更新配置信息和目标从机的地址发送至第一信息配置表,其中,更新配置信息包括加密信息和第二初始向量;
步骤902:第一信息配置表将更新配置信息和目标从机的地址发送至第三加密模块;
步骤903:第三加密模块根据目标从机对应的初始配置信息中的公钥对更新配置信息进行加密处理,以得到密文配置信息,并将密文配置信息和目标从机的地址组成配置数据包后发送至主机总线接口,并在发送完毕后读取第一信息配置表中的最新的更新配置信息;
步骤904:第一信息配置表将目标从机的初始配置信息或原来的更新配置信息替换为最新的更新配置信息;
步骤905:主机总线接口获取接收到的配置数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第一信息配置表中配置的加扰方式对配置数据包进行加扰处理,按照第一信息配置表中配置的位宽转换方式对配置数据包进行位宽转换处理,按照第一信息配置表中配置的编码方式对配置数据包进行编码处理,以得到对应的第三总线数据包,并通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第三总线数据包。
优选的,从机总线模块还包括第三解密模块和配置信息容器;步骤905,之后还包括:
步骤1001:从机总线控制器的第一从机总线接口收到第三总线数据包后,按照第二信息配置表中配置的解码方式对第三总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第三总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第三总线数据包进行解扰处理,以得到配置数据包,并将配置数据包发送至第三解密模块;
步骤1002:第三解密模块判断接收到的配置数据包中的目标从机的地址是否与从第二信息配置表中查到的当前从机总线控制器通信连接的从机的地址一致:
步骤1003:若一致,第三解密模块按照第二信息配置表中已经存在的私钥采用公私钥密码算法对配置数据包中的密文配置信息进行解密运算,以得到更新配置信息,并将更新配置信息发送至第二信息配置表;
步骤1004:第二信息配置表接收到更新配置信息后,将更新配置信息发送至配置信息容器并替换初始配置信息或原来的更新配置信息;
步骤1005:若不一致,从机总线控制器判断当前的从机总线控制器组的其他从机总线控制器所通信连接的从机中是否存在与目标从机一致的从机;
步骤1006:若存在,从机总线控制器生成与配置数据包对应的直通标识,并按照第二信息配置表中配置的加扰方式对配置数据包进行加扰处理,按照第二信息配置表中配置的位宽转换方式对配置数据包进行位宽转换处理,按照第二信息配置表中配置的编码方式对配置数据包进行编码处理,以得到对应的第三总线数据包,通过转发链路发送至所属的从机总线控制器组中的下一个从机总线控制器,并重复步骤1001至步骤1006;
步骤1007:若不存在,从机总线控制器将配置数据包丢弃。
通过上述技术方案,能实现以下有益效果:
本发明提出的可信总线交互系统的实现方法采用可信算法对第一总线数据包进行加密和解密处理,从而保证数据在主机和从机之间传输的安全可信性:此外,主机通过总线链路通信连接于各从机总线控制器组,且各从机总线控制器组包括多个从机控制器,第一总线数据包会通过主机分别发送至各从机总线控制器组,然后在各从机总线控制器组中的各从机总线控制器之间依次传递,直至传递至第一总线数据包对应的目标从机,即各从机能够实现第一总线数据的可信转发,无需单独建立各从机与主机之间的通信链路,在保证数据传输安全性的前提下大大提升了整个系统的数据传输通用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明提出的一种可信总线交互系统的实现方法第一实施例的流程图;
图2为本发明提出的可信总线交互系统的结构图;
图3为本发明提出的可信总线交互系统中的主机总线控制器的结构图;
图4为本发明提出的可信总线交互系统中的从机总线控制器的结构图。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提出一种可信总线交互系统的实现方法。
如附图1-附图4所示,在本发明提出的一种可信总线交互系统的实现方法的第一实施例中,本方法应用于可信总线交互系统;所述系统包括主机总线控制器和多个从机总线控制器组;各从机总线控制器组包括多个依次通信连接的从机总线控制器,且每个从机总线控制器组中的第一个从机总线控制器通信连接于主机总线控制器(本实施例中,可信总线交互系统包括M个从机总线控制器组,每个从机总线控制器组包括N个从机总线控制器,且M和N均为正整数,则从机的数量为M×N个);主机总线控制器通信连接有主机;从机总线控制器通信连接有从机;本实施例包括如下步骤:
步骤101:主机基于主机总线控制器通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第一总线数据包。
步骤102:接收到第一总线数据包的从机总线控制器将第一总线数据包处理为对应的第一载荷数据包,其中,第一载荷数据包包括目的地址。
具体的,这里的目的地址即是需要接收第一总线数据包的从机的设备地址,且每个从机的设备地址均不相同。
步骤103:接收到第一总线数据包的从机总线控制器判断第一载荷数据包中的目的地址与当前的从机总线控制器通信连接的从机的地址是否一致。
步骤104:若一致,接收到第一总线数据包的从机总线控制器对第一载荷数据包进行解密,以得到对应的第一明文载荷数据,并发送至当前的从机总线控制器通信连接的从机。
具体的,本实施例中,采用分组密码算法进行解密。
步骤105:若不一致,接收到第一总线数据包的从机总线控制器判断所属的从机总线控制器组中的其他从机总线控制器通信连接的从机中是否存在与目的地址一致的从机。
步骤106:若存在,接收到第一总线数据包的从机总线控制器生成与第一载荷数据包对应的直通标识,并将第一载荷数据包处理为第一总线数据包,然后将第一总线数据包发送至所属的从机总线控制器组中的下一个从机总线控制器,并重复步骤102至步骤106。
步骤107:若不存在,接收到第一总线数据包的从机总线控制器将第一载荷数据包丢弃,并生成用于表述当前从机总线控制器组的其他从机总线控制器通信连接的从机中不存在与目的地址一致的从机的第一错误信息,然后将第一错误信息通过第二状态接口发送至从机。
具体的,本实施例的步骤是主机发送数据至目标从机的步骤。主机可以是个人电脑、服务器、嵌入式主机等可以实现数据处理和通信管理的计算机器件或设备;从机可以是处理器、软核、单片机、FPGA、CPLD(复杂可编程逻辑器件)、存储器、控制设备和人机交互设备等可以实现数据交换的器件或设备;主机总线控制器可以是FPGA、CPLD、ASIC专用芯片(即集成电路芯片),或多种器件组合的电路等可以实现RTL(寄存器传输级)数字电路功能的器件或设备;从机总线控制器可以是FPGA、CPLD、ASIC专用芯片,或多种器件组合的电路等可以实现RTL数字电路功能的器件或设备;第二状态接口用于负责对从机总线控制器内的各模块状态进行收集并传递至从机。
本发明提出的可信总线交互系统的实现方法采用可信算法对第一总线数据包进行加密和解密处理,从而保证数据在主机和从机之间传输的安全可信性:此外,主机通过总线链路通信连接于各从机总线控制器组,且各从机总线控制器组包括多个从机控制器,第一总线数据包会通过主机分别发送至各从机总线控制器组,然后在各从机总线控制器组中的各从机总线控制器之间依次传递,直至传递至第一总线数据包对应的目标从机,非第一总线数据包对应的目标从机的从机所通信连接的从机总线控制器会丢弃该第一总线数据包;即各从机能够实现第一总线数据的可信转发,无需单独建立各从机与主机之间的通信链路,在保证数据传输安全性的前提下大大提升了整个系统的数据传输通用性。
在本发明提出的一种可信总线交互系统的实现方法的第二实施例中,基于第一实施例,主机总线控制器和各从机总线控制器组中的第一个从机总线控制器通过总线链路通信连接;同一从机总线控制器组中相邻的从机总线控制器通过转发链路通信连接;主机总线控制器包括第一状态接口、第一数据输出接口、主机总线接口、第一信息配置表、第一加密模块、第一摘要算法模块和第一缓存模块(本实施例中的第一缓存模块可以是FIFO(先进先出数据存储、缓冲器)、RAM(随机存取存储器)、Flash(闪存器)和DDR(双倍速率同步动态随机存储器)等可以实现数据快速写入和读出的存储电路、器件或设备,用于实现对数据的缓存);第一数据输出接口与主机通信连接;第一信息配置表中存储有与从机一一对应的加密信息和第二初始向量,且不同的从机对应的加密信息不相同,不同的从机对应的第二初始向量不相同;加密信息包括加密算法类型(本实施例中为分组密码算法)、加密密钥、第一初始向量(用于进行加密或解密)和密码配置模式;步骤S101,包括如下步骤:
步骤201:主机通过第一状态接口读取第一缓存模块的状态,以判断第一缓存模块是否具有剩余的存储空间,若是,主机通过第一数据输出接口将第一明文载荷数据和对应的目的地址发送至第一缓存模块。
步骤202:第一缓存模块将第一明文载荷数据和对应的目的地址发送至第一加密模块。
步骤203:第一加密模块从第一信息配置表中查找目的地址对应的从机对应的加密信息,并基于查找的加密信息对第一明文载荷数据进行加密运算以得到对应的第一密文载荷数据,然后将第一密文载荷数据和对应的目的地址传递至第一摘要算法模块。
步骤204:第一摘要算法模块从第一信息配置表中查找目的地址对应的第二初始向量,并获取第一密文载荷数据对应的源地址,将第一密文载荷数据,以及对应的源地址和目的地址组合形成第一载荷数据包,基于查找到的第二初始向量采用摘要算法对第一载荷数据包进行计算以得到对应的第一摘要数据,并将第一载荷数据包和对应的第一摘要数据传递至主机总线接口。
步骤205:主机总线接口获取接收到的第一载荷数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第一信息配置表中配置的加扰方式对第一载荷数据包和对应的第一摘要数据进行加扰处理,按照第一信息配置表中配置的位宽转换方式对第一载荷数据包和对应的第一摘要数据进行位宽转换处理,按照第一信息配置表中配置的编码方式对第一载荷数据包和对应的第一摘要数据进行编码处理,以得到对应的第一总线数据包,并通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第一总线数据包。
具体的,本实施例为主机发送数据至目标从机的步骤,首先进行加密以得到第一载荷数据包,然后进行摘要验算,并得到对应的第一摘要数据;然后对第一载荷数据和第一摘要数据进行必要的处理(加扰处理、位宽转换处理和编码处理),以得到第一总线数据包,并通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第一总线数据包。
在本发明提出的一种可信总线交互系统的实现方法的第三实施例中,基于第二实施例,主机总线控制器还包括配置接口;从机总线控制器包括第一从机总线接口、第二摘要算法模块和第二信息配置表;各从机总线控制器组中的第一个从机总线控制器的第一从机总线接口通过总线链路通信连接于主机总线控制器的主机总线接口;各从机总线控制器组中的除第一个从机总线控制器之外的从机总线控制器的第一从机总线接口通过转发链路通信连接于相邻从机总线控制器的上一个从机总线控制器;本实施例还包括如下步骤:
步骤301:主机生成各从机对应的初始配置信息,并通过配置接口向主机总线控制器发送初始配置信息,其中,初始配置信息包括加密信息和第二初始向量。
步骤302:主机总线控制器将接收到的初始配置信息存储至第一信息配置表,并将初始配置信息发送至对应的从机所通信连接的从机总线控制器。
步骤303:从机总线控制器将接收到的初始配置信息存储至第二信息配置表中。
步骤102,包括如下步骤:
步骤304:通过第一从机总线接口接收到第一总线数据包的从机总线控制器按照第二信息配置表中配置的解码方式对第一总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第一总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第一总线数据包进行解扰处理,以得到第一载荷数据包和对应的第一摘要数据,并将第一载荷数据包和对应的第一摘要数据发送至第二摘要算法模块。
具体的,因第一信息配置表中存储有与从机一一对应的加密信息和第二初始向量,且不同的从机对应的加密信息不相同,不同的从机对应的第二初始向量不相同;则主机总线控制器知晓所有的从机对应的加密信息和第二初始向量,以使主机能够对所有的从机发送的数据进行解密;而各从机设置有唯一的加密信息和第二初始向量,则主机向目标从机发送数据时,只需要采用目标从机对应的加密信息对数据进行加密,就能够保证只有目标从机在接收到来自主机的数据后能够进行解密,其他从机即便接收到来自主机的数据也无法正常进行解密,从而保证数据的安全性。
也就是说,本方案中的可信模式可自由配置:主机总线控制器和从机主线控制器均可通过主机进行实时配置(初次配置时即为初始配置信息),以提高本系统的灵活性、安全性和通用性。
第一加密模块采用分组密码算法对数据进行加密运算;即保证密钥传递安全性,又保证数据流加解密运算带宽;摘要算法保证数据流完整性(即防止数据被篡改或丢包);主机可定期对从机所使用的加密信息和第二初始向量进行配置,以提高安全可靠性。
本方案中采用一个主机和多个从机的互联模式,各从机具有唯一的设备地址与设备ID,各数据包和配置信息通过目的地址和设备ID来确定目标从机的从机总线控制器;各个从机总线控制器的加密算法可进行个性化配置,且不同从机中不同的加密算法可根据需求(速度或加密等级)进行不同设计;同时,从机能实现可信转发,即既能完成对上下级级联模块数据包的转发,又可以保证转发过程中无法对转发的数据进行解密,保证了转发数据的安全性。
在本发明提出的一种可信总线交互系统的实现方法的第四实施例中,基于第三实施例,从机总线控制器还包括第一解密模块、第二缓存模块、数据流仲裁模块和第二数据接口;第二数据接口包括第二数据输入接口;数据流仲裁模块用于实时判断从机总线控制器与从机之间的通信链路是否畅通,若畅通,生成第一允许信号;步骤104,包括如下步骤:
步骤401:若一致,接收到第一总线数据包的从机总线控制器的第二摘要算法模块按照第二信息配置表中的第二初始向量采用摘要算法对第一载荷数据包进行摘要计算,并将计算结果与第一摘要数据进行对比,若计算结果与第一摘要数据相同,将第一载荷数据包传递至第一解密模块。
步骤402:第一解密模块按照第二信息配置表中的加密信息,对第一载荷数据包中的第一密文载荷数据进行解密运算,以得到对应的第一明文载荷数据,并将第一明文载荷数据传递至第二缓存模块。
步骤403:当数据流仲裁模块生成第一允许信号时,第二缓存模块将第一明文载荷数据传递至数据流仲裁模块。
步骤404:数据流仲裁模块将第一明文载荷数据通过第二数据输入接口发送至从机。
具体的,本实施例为从机总线控制器对来自主机的数据进行解密并传递至从机的方案。
在本发明提出的一种可信总线交互系统的实现方法的第五实施例中,基于第四实施例,从机总线控制器还包括第二从机总线接口;第二从机总线接口用于通过转发链路通信连接于相邻的从机总线控制器的下一个从机总线控制器的第一从机总线接口;数据流仲裁模块还用于实时判断从机总线控制器与相邻的从机总线控制器之间的通信链路是否畅通,若畅通,生成第二允许信号;步骤106,包括如下步骤:
步骤501:若存在,接收到第一总线数据包的从机总线控制器生成与第一载荷数据包对应的直通标识,并将第一载荷数据包,以及对应的第一摘要数据和直通标识传递至第二缓存模块。
步骤502:当数据流仲裁模块生成第二允许信号时,第二缓存模块将第一载荷数据包,以及对应的第一摘要数据和直通标识传递至数据流仲裁模块。
步骤503:数据流仲裁模块基于直通标识将第一载荷数据包和对应的第一摘要数据传递至第二从机总线接口。
步骤504:第二从机总线接口获取接收到的第一载荷数据包的数据包类型和数据包长度,然后基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对第一载荷数据包和对应的第一摘要数据进行加扰处理,然后按照第二信息配置表中配置的位宽转换方式对第一载荷数据包和对应的第一摘要数据进行位宽转换处理,然后按照第二信息配置表中配置的编码方式对第一载荷数据包和对应的第一摘要数据进行编码处理,以得到对应的第一总线数据包,并将第一总线数据包通过转发链路发送至所属的从机总线控制器组的下一个从机总线控制器。
具体的,本实施例为各从机总线控制器进行来自主机的数据进行转发的具体方案。
在本发明提出的一种可信总线交互系统的实现方法的第六实施例中,基于第三实施例,从机总线控制器还包括第三缓存模块,第二加密模块、第三摘要算法模块,以及与从机通信连接的第二状态接口;第二数据接口还包括第二数据输出接口,第二数据输出接口通信连接于从机;本实施例还包括如下步骤:
步骤601:从机通过第二状态接口读取第三缓存模块的状态,以判断第三缓存模块是否具有剩余的存储空间。
若是,执行步骤602:从机通过第二数据输出接口将第二明文载荷数据发送至第三缓存模块,其中,第二明文载荷数据用于发送至主机。
步骤603:第三缓存模块将第二明文载荷数据发送至第二加密模块。
步骤604:第二加密模块基于第二信息配置表中的加密信息对第二明文载荷数据进行加密运算得到对应的第二密文载荷数据,然后将第二密文载荷数据传递至第三摘要算法模块。
步骤605:第三摘要算法模块从第二信息配置表获取第二初始向量,并获取第二密文载荷数据对应的源地址,然后将第二密文载荷数据,以及对应的源地址组合形成第二载荷数据包,然后基于第二初始向量采用摘要算法对第二载荷数据包进行计算以得到对应的第二摘要数据,并将第二载荷数据包和对应的第二摘要数据传递至第一从机总线接口。
步骤606:第一从机总线接口获取接收到的第二载荷数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对第二载荷数据包和对应的第二摘要数据进行加扰处理,按照第二信息配置表中配置的位宽转换方式对第二载荷数据包和对应的第二摘要数据进行位宽转换处理,按照第二信息配置表中配置的编码方式对第二载荷数据包和对应的第二摘要数据进行编码处理,以得到对应的第二总线数据包。
步骤607:若第一从机总线接口通过转发链路通信连接于相邻的从机总线控制器的上一个从机总线控制器,则第一从机总线接口将第二总线数据包通过转发链路发送至上一个从机总线控制器的第二从机总线接口。
步骤608:若第一从机总线接口通过总线链路通信连接于主机总线控制器,则第一从机总线接口将第二总线数据包通过总线链路发送至主机总线控制器。
具体的,本实施例为从机向主机发送数据的具体方案中,从机总线控制器对来自从机的数据进行加密处理和摘要验算处理的方案。
在本发明提出的一种可信总线交互系统的实现方法的第七实施例中,基于第六实施例,从机总线控制器还包括第四缓存模块;步骤607,之后还包括如下步骤:
步骤701:当第二从机总线接口接收到了来自下一个从机总线控制器的第二总线数据包时,按照第二信息配置表中配置的解码方式对第二总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第二总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第二总线数据包进行解扰处理,以得到直通上传数据包,并生成直通上传数据包对应的直通标识,将直通上传数据包和对应的直通标识发送至第四缓存模块,其中,直通上传数据包包括第二载荷数据包和对应的第二摘要数据。
步骤702:第四缓存模块将直通上传数据包和对应的直通标识传递至第二加密模块。
步骤703:第二加密模块将直通上传数据包和对应的直通标识传递至第三摘要算法模块。
步骤704:第三摘要算法模块将直通上传数据包和对应的直通标识传递至至第一从机总线接口。
步骤705:第一从机总线接口获取接收到的直通上传数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对直通上传数据包进行加扰处理,按照第二信息配置表中配置的位宽转换方式对直通上传数据包进行位宽转换处理,按照第二信息配置表中配置的编码方式对直通上传数据包进行编码处理,以得到对应的第二总线数据包。
步骤706:若第一从机总线接口通过转发链路通信连接于相邻的从机总线控制器的上一个从机总线控制器,则第一从机总线接口将第二总线数据包发送至上一个从机总线控制器的第二从机总线接口,然后重复步骤701至步骤706。
步骤707:若第一从机总线接口通过总线链路通信连接于主机总线控制器,则第一从机总线接口将第二总线数据包通过总线链路发送至主机总线控制器。
具体的,本实施例为从机向主机发送数据的具体方案中,从机总线控制器对来自从机的数据进行转发处理的方案。
在本发明提出的一种可信总线交互系统的实现方法的第八实施例中,基于第六实施例,主机总线控制器还包括第一数据输入接口、第四摘要算法模块、第二解密模块和第四缓存模块;第一数据输入接口与主机通信连接;步骤607,之后还包括如下步骤:
步骤801:主机总线接口接收到第二总线数据包后,按照第一信息配置表中配置的解码方式对第二总线数据包进行解码处理,按照第一信息配置表中配置的位宽转换方式对第二总线数据包进行位宽转换处理,按照第一信息配置表中配置的解扰方式对第二总线数据包进行解扰处理,以得到第二载荷数据包和对应的第二摘要数据,并将第二载荷数据包和对应的第二摘要数据发送至第四摘要算法模块。
步骤802:第四摘要算法模块接收到第二载荷数据包和对应的第二摘要数据后,从第一信息配置表中查找第二载荷数据包中的源地址对应的第二初始向量,并按照查找到的第二初始向量采用摘要算法对第二载荷数据包进行摘要计算,并将计算结果与第二摘要数据进行对比。
步骤803:若计算结果与第二摘要数据相同,第四摘要算法模块将第二载荷数据包传递至第二解密模块。
步骤804:若计算结果与第二摘要数据不相同,第四摘要算法模块将第二载荷数据包丢弃,并生成用于表述计算结果与第二摘要数据不相同的第二错误信息,然后将第二错误信息通过第一状态接口发送至主机。
步骤805:第二解密模块接收到第二载荷数据包后,从第一信息配置表中查找第二载荷数据包中的源地址对应的加密信息,并基于对应的加密信息对第二载荷数据包进行解密运算以得到对应的第二明文载荷数据,然后将第二明文载荷数据传递至第四缓存模块。
步骤806:第四缓存模块将第二明文载荷数据通过第一数据输入接口传递至主机。
具体的,本实施例为从机向主机发送数据的具体方案中,主机总线控制器对来自从机的数据进行解密和摘要验算的方案。
在本发明提出的一种可信总线交互系统的实现方法的第九实施例中,基于第五实施例,主机总线控制器还包括第三加密模块;加密信息还包括彼此对应的公钥和私钥;本实施例还包括如下步骤:
步骤901:主机将需要更新配置的从机标记为目标从机,并生成目标从机对应的更新配置信息,通过配置接口将更新配置信息和目标从机的地址发送至第一信息配置表,其中,更新配置信息包括加密信息和第二初始向量。
步骤902:第一信息配置表将更新配置信息和目标从机的地址发送至第三加密模块。
步骤903:第三加密模块根据目标从机对应的初始配置信息中的公钥对更新配置信息进行加密处理,以得到密文配置信息,并将密文配置信息和目标从机的地址组成配置数据包后发送至主机总线接口,并在发送完毕后读取第一信息配置表中的最新的更新配置信息。
步骤904:第一信息配置表将目标从机的初始配置信息或原来的更新配置信息替换为最新的更新配置信息。
步骤905:主机总线接口获取接收到的配置数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第一信息配置表中配置的加扰方式对配置数据包进行加扰处理,按照第一信息配置表中配置的位宽转换方式对配置数据包进行位宽转换处理,按照第一信息配置表中配置的编码方式对配置数据包进行编码处理,以得到对应的第三总线数据包,并通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第三总线数据包(或通过单独的配置信息链路分别向各从机总线控制器组中的第一个从机总线控制器)。
具体的,本实施例给出了主机如何对从机对应的加密信息和第二初始向量进行更新的具体方案;即本实施例中生成需要更新的从机所对应的更新配置信息,然后将更新配置信息进行加密后分别向各从机总线控制器组中的第一个从机总线控制器进行发送。
在本发明提出的一种可信总线交互系统的实现方法的第十实施例中,基于第九实施例,从机总线模块还包括第三解密模块和配置信息容器;步骤905,之后还包括如下步骤:
步骤1001:从机总线控制器的第一从机总线接口收到第三总线数据包后,按照第二信息配置表中配置的解码方式对第三总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第三总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第三总线数据包进行解扰处理,以得到配置数据包,并将配置数据包发送至第三解密模块。
步骤1002:第三解密模块判断接收到的配置数据包中的目标从机的地址是否与从第二信息配置表中查到的当前从机总线控制器通信连接的从机的地址一致。
步骤1003:若一致,第三解密模块按照第二信息配置表中已经存在的私钥采用公私钥密码算法对配置数据包中的密文配置信息进行解密运算,以得到更新配置信息,并将更新配置信息发送至第二信息配置表。
步骤1004:第二信息配置表接收到更新配置信息后,将更新配置信息发送至配置信息容器并替换初始配置信息或原来的更新配置信息。
步骤1005:若不一致,从机总线控制器判断当前的从机总线控制器组的其他从机总线控制器所通信连接的从机中是否存在与目标从机一致的从机。
步骤1006:若存在,从机总线控制器生成与配置数据包对应的直通标识,并按照第二信息配置表中配置的加扰方式对配置数据包进行加扰处理,按照第二信息配置表中配置的位宽转换方式对配置数据包进行位宽转换处理,按照第二信息配置表中配置的编码方式对配置数据包进行编码处理,以得到对应的第三总线数据包,通过转发链路发送至所属的从机总线控制器组中的下一个从机总线控制器(或通过单独的配置信息链路向下级从机总线控制器进行传递),并重复步骤1001至步骤1006。
步骤1007:若不存在,从机总线控制器将配置数据包丢弃。
具体的,本实施例中,从机接收到更新配置信息后,若该从机就是更新配置信息对应的目标从机,则直接进行更新;若不是,则将更新配置信息转发至下一个从机总线控制器,直至更新配置信息达到目标从机。
具体的,第一信息配置表是一种掉电丢失易失性存储构成的查找表结构,负责存储主机总线控制器中如下信息:
(1)主机总线控制器的身份信息和地址配置;
(2)第一缓存模块和第四缓存模块的存储空间大小、数据写入接口位宽、数据读出接口位宽配置;
(3)第一加密模块中的密码算法选择、密码算法密钥配置、密码算法初始向量配置和加密模式配置;
(4)第三加密模块中加密算法选择和加密密钥配置;
(5)第二解密模块(第三解密模块采用分组密码算法)中的密码算法算法选择、密码算法密钥配置、密码算法初始向量配置和密码算法模式配置;
(6)第一摘要算法模块中的摘要算法选择和算法初始向量配置;
(7)第四摘要算法模块中的摘要算法选择和算法初始向量配置;
(8)主机总线接口器中的组包处理(数据源地址、目的地址、数据包类型等信息)和其他必要处理(加扰处理、位宽转换和编码处理)配置。
第一加密模块能够执行1种或多种分组密码算法,且其中各分组密码算法的密钥、第一初始向量、密码算法模式均可配置,以实现对主机输出的数据进行加密处理。
第三加密模块能够执行1种或多种公私钥密码算法,以使用公钥对主机发送至各从机的初始配置信息或更新配置信息的加密处理,从而保证各从机对应的初始配置信息或更新配置信息在不同从机总线控制器之间传递的安全性。
第二解密模块能够执行1种或多种分组密码算法,且各分组密码算法的密钥、第一初始向量、密码算法模式均可配置,以对主机接收的来自从机的数据进行解密处理。
第一摘要算法能够执行1种或多种摘要算法,且各摘要算法的第二初始向量均可配置,以对主机输出的加密数据包进行摘要计算,并组合成密文+摘要数据,以便于后续从机总线控制器接收后进行数据校验,以保证数据的安全性。
第四摘要算法模块能够执行1种或多种摘要算法,且各摘要算法的第二初始向量均可配置,以对主机总线接口接收的待校验数据包进行摘要信息计算,并与数据包中包含的摘要数据进行对比校验,以判断数据是否被篡改。
主机总线接口能够对主机输出的数据和来自从机的数据进行处理,其中,对主机输出的数据进行可配置的组包处理(数据源地址、目的地址、数据包类型等信息)和其他必要处理(加扰处理、位宽转换、编码处理等),使之能够在总线链路上进行可靠传递;对来自从机的数据进行拆包处理,并将待可信校验数据传递至主机。
从机总线控制器中:
第一从机总线接口用于实现对主机输出的数据和从机输出的数据进行处理,其中对主机输出的数据进行拆包和分流处理,并将配置信息数据流输出至第三解密模块、然后将载荷数据流输出至第二摘要算法模块和第一解密模块;对从机输出的数据进行组包处理(数据源地址、目的地址、数据包类型等信息)和其他必要处理(加扰处理、位宽转换、编码处理等),使之能够在总线链路上进行可靠传递。
配置信息容器为一种掉电不丢失的非易失性存储器件,如Flash(闪存器)、磁盘、固态硬盘、EMMC(内嵌式存储器)、EEPROM(带电可擦可编程只读存储器)等,以实现对信息配置表的存储。
第二信息配置表为一种掉电丢失的易失性存储构成的查找表结构,负责存储从机总线控制器中的如下信息:
(1)配置信息容器的配置信息的读取和写入;
(2)从机总线控制器的身份信息和地址配置;
(3)第二摘要算法模块中的摘要算法选择、第二初始向量配置、本从机目标数据包标识配置、向第二从机总线接口转发数据包标识配置;
(4)第三摘要算法模块中的摘要算法选择、第二初始向量配置,本从机目标数据包标识配置、向第一从机总线接口转发数据包标识配置;
(5)第一解密模块(第一解密模块采用分组密码算法)中的密码算法选择、密码算法密钥配置、第一初始向量配置和加密模式配置;该配置须与主机总线控制器中对发送至本从机数据包处理的加密配置一致。
(6)第三解密模块(第一解密模块采用公私钥密码算法)中加密算法选择和私钥配置;该模块用于实现对主机总线控制器发送至本从机的配置数据包进行解密处理;
(7)第一从机总线接口中的拆包和分流处理配置,该配置须与主机总线接口中的处理一一对应;
(8)第二从机总线接口中的必要处理(加扰处理、位宽转换、编码处理等)配置,以满足数据包在从机总线接口B连接的总线转发链路上传输的要求。
第二缓存模块、第三缓存模块和第四缓存模块可以是FIFO(先进先出数据存储、缓冲器)、RAM(随机存取存储器)、Flash(闪存器)和DDR(双倍速率同步动态随机存储器)等可以实现数据快速写入和读出的存储电路、器件或设备,以实现数据的缓存。
第二摘要算法模块能够执行1种或多种摘要算法,且各摘要算法的第二初始向量均可配置,负责实现对第一从机总线接口输入的,发送至本从机的待校验数据包进行摘要信息计算并与数据包中包含的摘要数据进行对比校验,或发送至下级从机数据包的直通处理。
第三摘要算法模块能够执行1种或多种摘要算法,且各摘要算法的第二初始向量均可配置,负责实现对从本从机用户侧接口输入来自第二加密模块的加密数据包进行摘要计算并并组合成密文+摘要数据包;以及第二从机总线接口输入的来自第二加密模块直通过来的数据包进行直通处理。
第一解密模块模块能够执行1种或多种分组密码算法,且各分组密码算法的密钥、第一初始向量、密码算法模式均可配置,负责对第一从机总线接口侧输入的,发送至本从机的数据进行解密处理;或对发送至下级从机的数据包进行直通处理;
第三解密模块能够执行1种或多种公私钥密码算法,负责实现使用私钥对主机发送至各从机的配置信息进行解密处理,并将解密后的配置信息传递至第二信息配置表;
第二加密模块能够执行1种或多种分组密码算法,且各分组密码算法的密钥、第一初始向量、密码算法模式均可配置;以实现对本从机发送的数据流进行加密处理,以及对第二从机总线接口输入的数据包进行直通处理。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (9)
1.一种可信总线交互系统的实现方法,其特征在于,应用于可信总线交互系统;所述系统包括主机总线控制器和多个从机总线控制器组;各从机总线控制器组包括多个依次通信连接的从机总线控制器,且每个从机总线控制器组中的第一个从机总线控制器通信连接于主机总线控制器;主机总线控制器通信连接有主机;从机总线控制器通信连接有从机;所述方法,包括:
步骤101:主机基于主机总线控制器分别向各从机总线控制器组中的第一个从机总线控制器发送第一总线数据包;
步骤102:接收到第一总线数据包的从机总线控制器将第一总线数据包处理为对应的第一载荷数据包,其中,第一载荷数据包包括目的地址;
步骤103:接收到第一总线数据包的从机总线控制器判断第一载荷数据包中的目的地址与当前的从机总线控制器通信连接的从机的地址是否一致;
步骤104:若一致,接收到第一总线数据包的从机总线控制器对第一载荷数据包进行解密,以得到对应的第一明文载荷数据,并发送至当前的从机总线控制器通信连接的从机;
步骤105:若不一致,接收到第一总线数据包的从机总线控制器判断所属的从机总线控制器组中的其他从机总线控制器通信连接的从机中是否存在与目的地址一致的从机;
步骤106:若存在,接收到第一总线数据包的从机总线控制器生成与第一载荷数据包对应的直通标识,并将第一载荷数据包处理为第一总线数据包,然后将第一总线数据包发送至所属的从机总线控制器组中的下一个从机总线控制器,并重复步骤102至步骤106;
步骤107:若不存在,接收到第一总线数据包的从机总线控制器将第一载荷数据包丢弃;
主机总线控制器和各从机总线控制器组中的第一个从机总线控制器通过总线链路通信连接;同一从机总线控制器组中相邻的从机总线控制器通过转发链路通信连接;主机总线控制器包括第一状态接口、第一数据输出接口、主机总线接口、第一信息配置表、第一加密模块、第一摘要算法模块和第一缓存模块;第一数据输出接口与主机通信连接;第一信息配置表中存储有与从机一一对应的加密信息和第二初始向量,且不同的从机对应的加密信息不相同,不同的从机对应的第二初始向量不相同;加密信息包括加密算法类型、加密密钥和第一初始向量;步骤S101,包括:
步骤201:主机通过第一状态接口读取第一缓存模块的状态,以判断第一缓存模块是否具有剩余的存储空间,若是,主机通过第一数据输出接口将第一明文载荷数据和对应的目的地址发送至第一缓存模块;
步骤202:第一缓存模块将第一明文载荷数据和对应的目的地址发送至第一加密模块;
步骤203:第一加密模块从第一信息配置表中查找目的地址对应的从机对应的加密信息,并基于查找的加密信息对第一明文载荷数据进行加密运算以得到对应的第一密文载荷数据,然后将第一密文载荷数据和对应的目的地址传递至第一摘要算法模块;
步骤204:第一摘要算法模块从第一信息配置表中查找目的地址对应的第二初始向量,并获取第一密文载荷数据对应的源地址,将第一密文载荷数据,以及对应的源地址和目的地址组合形成第一载荷数据包,基于查找到的第二初始向量采用摘要算法对第一载荷数据包进行计算以得到对应的第一摘要数据,并将第一载荷数据包和对应的第一摘要数据传递至主机总线接口;
步骤205:主机总线接口获取接收到的第一载荷数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第一信息配置表中配置的加扰方式对第一载荷数据包和对应的第一摘要数据进行加扰处理,按照第一信息配置表中配置的位宽转换方式对第一载荷数据包和对应的第一摘要数据进行位宽转换处理,按照第一信息配置表中配置的编码方式对第一载荷数据包和对应的第一摘要数据进行编码处理,以得到对应的第一总线数据包,并通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第一总线数据包。
2.根据权利要求1所述的一种可信总线交互系统的实现方法,其特征在于,主机总线控制器还包括配置接口;从机总线控制器包括第一从机总线接口、第二摘要算法模块和第二信息配置表;各从机总线控制器组中的第一个从机总线控制器的第一从机总线接口通过总线链路通信连接于主机总线控制器的主机总线接口;各从机总线控制器组中的除第一个从机总线控制器之外的从机总线控制器的第一从机总线接口通过转发链路通信连接于相邻从机总线控制器的上一个从机总线控制器;所述方法,还包括:
步骤301:主机生成各从机对应的初始配置信息,并通过配置接口向主机总线控制器发送初始配置信息,其中,初始配置信息包括加密信息和第二初始向量;
步骤302:主机总线控制器将接收到的初始配置信息存储至第一信息配置表,并将初始配置信息发送至对应的从机所通信连接的从机总线控制器;
步骤303:从机总线控制器将接收到的初始配置信息存储至第二信息配置表中;
步骤102,包括:
步骤304:通过第一从机总线接口接收到第一总线数据包的从机总线控制器按照第二信息配置表中配置的解码方式对第一总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第一总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第一总线数据包进行解扰处理,以得到第一载荷数据包和对应的第一摘要数据,并将第一载荷数据包和对应的第一摘要数据发送至第二摘要算法模块。
3.根据权利要求2所述的一种可信总线交互系统的实现方法,其特征在于,从机总线控制器还包括第一解密模块、第二缓存模块、数据流仲裁模块和第二数据接口;第二数据接口包括第二数据输入接口;数据流仲裁模块用于实时判断从机总线控制器与从机之间的通信链路是否畅通,若畅通,生成第一允许信号;步骤104,包括:
步骤401:若一致,接收到第一总线数据包的从机总线控制器的第二摘要算法模块按照第二信息配置表中的第二初始向量采用摘要算法对第一载荷数据包进行摘要计算,并将计算结果与第一摘要数据进行对比,若计算结果与第一摘要数据相同,将第一载荷数据包传递至第一解密模块;
步骤402:第一解密模块按照第二信息配置表中的加密信息,对第一载荷数据包中的第一密文载荷数据进行解密运算,以得到对应的第一明文载荷数据,并将第一明文载荷数据传递至第二缓存模块;
步骤403:当数据流仲裁模块生成第一允许信号时,第二缓存模块将第一明文载荷数据传递至数据流仲裁模块;
步骤404:数据流仲裁模块将第一明文载荷数据通过第二数据输入接口发送至从机。
4.根据权利要求3所述的一种可信总线交互系统的实现方法,其特征在于,从机总线控制器还包括第二从机总线接口;第二从机总线接口用于通过转发链路通信连接于相邻的从机总线控制器的下一个从机总线控制器的第一从机总线接口;数据流仲裁模块还用于实时判断从机总线控制器与相邻的从机总线控制器之间的通信链路是否畅通,若畅通,生成第二允许信号;步骤106,包括:
步骤501:若存在,接收到第一总线数据包的从机总线控制器生成与第一载荷数据包对应的直通标识,并将第一载荷数据包,以及对应的第一摘要数据和直通标识传递至第二缓存模块;
步骤502:当数据流仲裁模块生成第二允许信号时,第二缓存模块将第一载荷数据包,以及对应的第一摘要数据和直通标识传递至数据流仲裁模块;
步骤503:数据流仲裁模块基于直通标识将第一载荷数据包和对应的第一摘要数据传递至第二从机总线接口;
步骤504:第二从机总线接口获取接收到的第一载荷数据包的数据包类型和数据包长度,然后基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对第一载荷数据包和对应的第一摘要数据进行加扰处理,然后按照第二信息配置表中配置的位宽转换方式对第一载荷数据包和对应的第一摘要数据进行位宽转换处理,然后按照第二信息配置表中配置的编码方式对第一载荷数据包和对应的第一摘要数据进行编码处理,以得到对应的第一总线数据包,并将第一总线数据包通过转发链路发送至所属的从机总线控制器组的下一个从机总线控制器。
5.根据权利要求2所述的一种可信总线交互系统的实现方法,其特征在于,从机总线控制器还包括第三缓存模块,第二加密模块、第三摘要算法模块,以及与从机通信连接的第二状态接口;第二数据接口还包括第二数据输出接口;所述方法,还包括:
步骤601:从机通过第二状态接口读取第三缓存模块的状态,以判断第三缓存模块是否具有剩余的存储空间;
若是,执行步骤602:从机通过第二数据输出接口将第二明文载荷数据发送至第三缓存模块,其中,第二明文载荷数据用于发送至主机;
步骤603:第三缓存模块将第二明文载荷数据发送至第二加密模块;
步骤604:第二加密模块基于第二信息配置表中的加密信息对第二明文载荷数据进行加密运算得到对应的第二密文载荷数据,然后将第二密文载荷数据传递至第三摘要算法模块;
步骤605:第三摘要算法模块从第二信息配置表获取第二初始向量,并获取第二密文载荷数据对应的源地址,然后将第二密文载荷数据,以及对应的源地址组合形成第二载荷数据包,然后基于第二初始向量采用摘要算法对第二载荷数据包进行计算以得到对应的第二摘要数据,并将第二载荷数据包和对应的第二摘要数据传递至第一从机总线接口;
步骤606:第一从机总线接口获取接收到的第二载荷数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对第二载荷数据包和对应的第二摘要数据进行加扰处理,按照第二信息配置表中配置的位宽转换方式对第二载荷数据包和对应的第二摘要数据进行位宽转换处理,按照第二信息配置表中配置的编码方式对第二载荷数据包和对应的第二摘要数据进行编码处理,以得到对应的第二总线数据包;
步骤607:若第一从机总线接口通过转发链路通信连接于相邻的从机总线控制器的上一个从机总线控制器,则第一从机总线接口将第二总线数据包通过转发链路发送至上一个从机总线控制器的第二从机总线接口;
步骤608:若第一从机总线接口通过总线链路通信连接于主机总线控制器,则第一从机总线接口将第二总线数据包通过总线链路发送至主机总线控制器。
6.根据权利要求5所述的一种可信总线交互系统的实现方法,其特征在于,从机总线控制器还包括第四缓存模块;步骤607,之后还包括:
步骤701:当第二从机总线接口接收到了来自下一个从机总线控制器的第二总线数据包时,按照第二信息配置表中配置的解码方式对第二总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第二总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第二总线数据包进行解扰处理,以得到直通上传数据包,并生成直通上传数据包对应的直通标识,将直通上传数据包和对应的直通标识发送至第四缓存模块,其中,直通上传数据包包括第二载荷数据包和对应的第二摘要数据;
步骤702:第四缓存模块将直通上传数据包和对应的直通标识传递至第二加密模块;
步骤703:第二加密模块将直通上传数据包和对应的直通标识传递至第三摘要算法模块;
步骤704:第三摘要算法模块将直通上传数据包和对应的直通标识传递至至第一从机总线接口;
步骤705:第一从机总线接口获取接收到的直通上传数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第二信息配置表中配置的加扰方式对直通上传数据包进行加扰处理,按照第二信息配置表中配置的位宽转换方式对直通上传数据包进行位宽转换处理,按照第二信息配置表中配置的编码方式对直通上传数据包进行编码处理,以得到对应的第二总线数据包;
步骤706:若第一从机总线接口通过转发链路通信连接于相邻的从机总线控制器的上一个从机总线控制器,则第一从机总线接口将第二总线数据包发送至上一个从机总线控制器的第二从机总线接口,然后重复步骤701至步骤706;
步骤707:若第一从机总线接口通过总线链路通信连接于主机总线控制器,则第一从机总线接口将第二总线数据包通过总线链路发送至主机总线控制器。
7.根据权利要求5所述的一种可信总线交互系统的实现方法,其特征在于,主机总线控制器还包括第一数据输入接口、第四摘要算法模块、第二解密模块和第四缓存模块;第一数据输入接口与主机通信连接;步骤607,之后还包括:
步骤801:主机总线接口接收到第二总线数据包后,按照第一信息配置表中配置的解码方式对第二总线数据包进行解码处理,按照第一信息配置表中配置的位宽转换方式对第二总线数据包进行位宽转换处理,按照第一信息配置表中配置的解扰方式对第二总线数据包进行解扰处理,以得到第二载荷数据包和对应的第二摘要数据,并将第二载荷数据包和对应的第二摘要数据发送至第四摘要算法模块;
步骤802:第四摘要算法模块接收到第二载荷数据包和对应的第二摘要数据后,从第一信息配置表中查找第二载荷数据包中的源地址对应的第二初始向量,并按照查找到的第二初始向量采用摘要算法对第二载荷数据包进行摘要计算,并将计算结果与第二摘要数据进行对比;
步骤803:若计算结果与第二摘要数据相同,第四摘要算法模块将第二载荷数据包传递至第二解密模块;
步骤804:若计算结果与第二摘要数据不相同,第四摘要算法模块将第二载荷数据包丢弃,并生成用于表述计算结果与第二摘要数据不相同的第二错误信息,然后将第二错误信息通过第一状态接口发送至主机;
步骤805:第二解密模块接收到第二载荷数据包后,从第一信息配置表中查找第二载荷数据包中的源地址对应的加密信息,并基于对应的加密信息对第二载荷数据包进行解密运算以得到对应的第二明文载荷数据,然后将第二明文载荷数据传递至第四缓存模块;
步骤806:第四缓存模块将第二明文载荷数据通过第一数据输入接口传递至主机。
8.根据权利要求4所述的一种可信总线交互系统的实现方法,其特征在于,主机总线控制器还包括第三加密模块;加密信息还包括彼此对应的公钥和私钥;所述方法,还包括:
步骤901:主机将需要更新配置的从机标记为目标从机,并生成目标从机对应的更新配置信息,通过配置接口将更新配置信息和目标从机的地址发送至第一信息配置表,其中,更新配置信息包括加密信息和第二初始向量;
步骤902:第一信息配置表将更新配置信息和目标从机的地址发送至第三加密模块;
步骤903:第三加密模块根据目标从机对应的初始配置信息中的公钥对更新配置信息进行加密处理,以得到密文配置信息,并将密文配置信息和目标从机的地址组成配置数据包后发送至主机总线接口,并在发送完毕后读取第一信息配置表中的最新的更新配置信息;
步骤904:第一信息配置表将目标从机的初始配置信息或原来的更新配置信息替换为最新的更新配置信息;
步骤905:主机总线接口获取接收到的配置数据包的数据包类型和数据包长度,基于数据包类型和数据包长度按照第一信息配置表中配置的加扰方式对配置数据包进行加扰处理,按照第一信息配置表中配置的位宽转换方式对配置数据包进行位宽转换处理,按照第一信息配置表中配置的编码方式对配置数据包进行编码处理,以得到对应的第三总线数据包,并通过总线链路分别向各从机总线控制器组中的第一个从机总线控制器发送第三总线数据包。
9.根据权利要求8所述的一种可信总线交互系统的实现方法,其特征在于,从机总线模块还包括第三解密模块和配置信息容器;步骤905,之后还包括:
步骤1001:从机总线控制器的第一从机总线接口收到第三总线数据包后,按照第二信息配置表中配置的解码方式对第三总线数据包进行解码处理,按照第二信息配置表中配置的位宽转换方式对第三总线数据包进行位宽转换处理,按照第二信息配置表中配置的解扰方式对第三总线数据包进行解扰处理,以得到配置数据包,并将配置数据包发送至第三解密模块;
步骤1002:第三解密模块判断接收到的配置数据包中的目标从机的地址是否与从第二信息配置表中查到的当前从机总线控制器通信连接的从机的地址一致:
步骤1003:若一致,第三解密模块按照第二信息配置表中已经存在的私钥采用公私钥密码算法对配置数据包中的密文配置信息进行解密运算,以得到更新配置信息,并将更新配置信息发送至第二信息配置表;
步骤1004:第二信息配置表接收到更新配置信息后,将更新配置信息发送至配置信息容器并替换初始配置信息或原来的更新配置信息;
步骤1005:若不一致,从机总线控制器判断当前的从机总线控制器组的其他从机总线控制器所通信连接的从机中是否存在与目标从机一致的从机;
步骤1006:若存在,从机总线控制器生成与配置数据包对应的直通标识,并按照第二信息配置表中配置的加扰方式对配置数据包进行加扰处理,按照第二信息配置表中配置的位宽转换方式对配置数据包进行位宽转换处理,按照第二信息配置表中配置的编码方式对配置数据包进行编码处理,以得到对应的第三总线数据包,通过转发链路发送至所属的从机总线控制器组中的下一个从机总线控制器,并重复步骤1001至步骤1006;
步骤1007:若不存在,从机总线控制器将配置数据包丢弃。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410251365.5A CN117828648B (zh) | 2024-03-06 | 2024-03-06 | 一种可信总线交互系统的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410251365.5A CN117828648B (zh) | 2024-03-06 | 2024-03-06 | 一种可信总线交互系统的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117828648A CN117828648A (zh) | 2024-04-05 |
CN117828648B true CN117828648B (zh) | 2024-05-28 |
Family
ID=90524492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410251365.5A Active CN117828648B (zh) | 2024-03-06 | 2024-03-06 | 一种可信总线交互系统的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117828648B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201348735Y (zh) * | 2008-11-25 | 2009-11-18 | 中山市华美骏达电器有限公司 | 燃气热水器多机通信系统 |
CN102023953A (zh) * | 2009-09-17 | 2011-04-20 | 研祥智能科技股份有限公司 | 具有多路i2c总线的系统的控制方法 |
CN108881505A (zh) * | 2018-05-30 | 2018-11-23 | 武汉高仕达电气有限公司 | 一种can总线节点地址分配方法及系统 |
CN110765046A (zh) * | 2019-11-07 | 2020-02-07 | 首都师范大学 | 一种动态可重构高速串行总线的dma传输装置与方法 |
WO2021012728A1 (zh) * | 2019-07-19 | 2021-01-28 | 河海大学 | 一种水利自动化控制系统中现场总线信道加密方法 |
CN117112474A (zh) * | 2023-10-23 | 2023-11-24 | 湖南博匠信息科技有限公司 | 一种通用可信的基板管理方法和系统 |
-
2024
- 2024-03-06 CN CN202410251365.5A patent/CN117828648B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201348735Y (zh) * | 2008-11-25 | 2009-11-18 | 中山市华美骏达电器有限公司 | 燃气热水器多机通信系统 |
CN102023953A (zh) * | 2009-09-17 | 2011-04-20 | 研祥智能科技股份有限公司 | 具有多路i2c总线的系统的控制方法 |
CN108881505A (zh) * | 2018-05-30 | 2018-11-23 | 武汉高仕达电气有限公司 | 一种can总线节点地址分配方法及系统 |
WO2021012728A1 (zh) * | 2019-07-19 | 2021-01-28 | 河海大学 | 一种水利自动化控制系统中现场总线信道加密方法 |
CN110765046A (zh) * | 2019-11-07 | 2020-02-07 | 首都师范大学 | 一种动态可重构高速串行总线的dma传输装置与方法 |
CN117112474A (zh) * | 2023-10-23 | 2023-11-24 | 湖南博匠信息科技有限公司 | 一种通用可信的基板管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117828648A (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7885404B2 (en) | Cryptographic systems and methods supporting multiple modes | |
US9596075B2 (en) | Transparent serial encryption | |
CN1973481B (zh) | 用于进行rc4加密的装置、网络系统和方法 | |
CN108073353B (zh) | 一种数据处理的方法及装置 | |
EP1394674A2 (en) | System and method for generating initial vectors | |
US20190356468A1 (en) | Automotive nonce-misuse-resistant authenticated encryption | |
US20170063853A1 (en) | Data cipher and decipher based on device and data authentication | |
CN1486555A (zh) | 分组加密系统和方法 | |
CN112329038B (zh) | 一种基于usb接口的数据加密控制系统及芯片 | |
WO2008036940A2 (en) | Techniques for merging tables | |
US7894608B2 (en) | Secure approach to send data from one system to another | |
US7627747B2 (en) | Hardware/software partitioning for encrypted WLAN communications | |
KR20160020866A (ko) | 폐쇄형 네트워크에서 암복호화 서비스 제공 시스템 및 방법 | |
CN102411694A (zh) | 加密装置及存储器系统 | |
US20040025040A1 (en) | Memory device and encryption/decryption method | |
JP2004240427A (ja) | 移動通信システムにおける最適の暗号化関数を設計する方法及び最適の暗号化装置 | |
CN112513856A (zh) | 存储器高效的硬件加密引擎 | |
CN110222519A (zh) | 一种可配置通道的数据处理系统及方法 | |
CN111832051B (zh) | 一种基于fpga的对称加解密方法及系统 | |
CN114124416B (zh) | 一种网络之间数据快速交换系统及交换方法 | |
CN117828648B (zh) | 一种可信总线交互系统的实现方法 | |
CN112055071B (zh) | 一种基于5g的工业控制安全通信系统及方法 | |
US20090097638A1 (en) | Information processing apparatus | |
US8156328B1 (en) | Encryption method and device | |
CN113132102B (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 |