CN113722770B - 基于分级的数据完整性的端到端的保护方法及系统 - Google Patents

基于分级的数据完整性的端到端的保护方法及系统 Download PDF

Info

Publication number
CN113722770B
CN113722770B CN202110948405.8A CN202110948405A CN113722770B CN 113722770 B CN113722770 B CN 113722770B CN 202110948405 A CN202110948405 A CN 202110948405A CN 113722770 B CN113722770 B CN 113722770B
Authority
CN
China
Prior art keywords
error
data
module
bus
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.)
Active
Application number
CN202110948405.8A
Other languages
English (en)
Other versions
CN113722770A (zh
Inventor
雷超方
张力航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lichi Semiconductor Co ltd
Original Assignee
Shanghai Lichi Semiconductor Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Lichi Semiconductor Co ltd filed Critical Shanghai Lichi Semiconductor Co ltd
Priority to CN202110948405.8A priority Critical patent/CN113722770B/zh
Publication of CN113722770A publication Critical patent/CN113722770A/zh
Application granted granted Critical
Publication of CN113722770B publication Critical patent/CN113722770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种基于分级的数据完整性的端到端的保护方法及系统,涉及汽车芯片设计功能安全技术领域,解决了芯片内部数据传输时不能实现端到端完整保护的技术问题,其技术方案要点是CPU对各个模块的种子数据、编码/解码方式组合及安全等级参数进行配置,使得芯片内部数据传输端到端的完整保护,数据经过不同总线切换,都能受到同一等级安全机制保护;且不同数据传输划分不同安全等级,适配不同等级安全机制;同一路总线传输,能分时传输不同等级的数据流。

Description

基于分级的数据完整性的端到端的保护方法及系统
技术领域
本公开涉及汽车芯片设计功能安全技术领域,尤其涉及一种基于分级的数据完整性的端到端的保护方法及系统。
背景技术
汽车上的传感器,外设数量增加的同时,车规的要求对数据完整性要求非常高,外部干扰或内部异常出现数据丢失或数据传输错误都应该尽力避免同时能发现报警。同时,对于CPU控制指令无错误传输,视频及储存海量数据低延时高速传输,这些不同场景的数据完整性保护需要有针对性适应性方案。
目前汽车电子芯片设计,数据传输都是对传输总线采取的固定不变的数据校验的安全处理机制,具体体现在:(1)不同模块区域,都是同一套安全机制,安全机制固化无法做到软件根据不同场景做配置变更;(2)高集成度芯片中不同部分组件和模块对安全等级及实时要求各不相同,需要适配个不相同的安全机制;(3)无法做到从源头到目的地的端到端,完整性数据完整性保护;目前芯片内部数据传输,只能做到整个路径中各个总线传输部分的各自为政的安全机制保护。
这种固定不变的数据传输保护安全机制,适应性不强。无法做到端到端的数据传输完整性保护,从源头传输到目的端,可能需要经过不同总线通路,各个总线通路都是自己独立的安全机制,无法做到统一的端到端的可适应的安全保护机制。无法做到软件可配置切换,同一套安全机制无法适应全部场景。虽然能报警当前的错误,但无法解决整个传输过程中可能出现每个环节出现错误后的积累,后续错误导致故障严重度在不同场景下,无法评估。
发明内容
本公开提供了一种基于分级的数据完整性的端到端的保护方法及系统,其技术目的是使芯片内部数据传输实现端到端的完整保护,数据经过不同总线切换,都能受到同一等级的安全机制保护;并且安全机制软件可重配,不同数据传输划分不同安全等级,适配不同等级安全机制;同一路总线传输,能分时传输不同等级的数据流。
本公开的上述技术目的是通过以下技术方案得以实现的:
一种基于分级的数据完整性的端到端的保护方法,CPU对各个模块的种子组合、安全传输解码/编码方式组合及安全等级参数进行配置,并对各个模块之间的数据传输总线路径进行配置,则主模式模块配置有第一安全等级参数表、第一解码算法表、第一安全等级参数表中不同安全等级参数分别对应不同的第一种子和第一编码算法,中间模块配置有第二安全等级参数表、第二解码算法表、第二错误异常编码表、第二安全等级参数表中不同安全等级参数分别对应不同的第二种子和第二编码算法,从模式模块配置有第三安全等级参数表、第三解码算法表、第三安全等级参数表中不同安全等级参数分别对应不同的第三种子和第三编码算法;
CPU配置将所述从模式模块的数据读回传输到所述主模式模块的过程是读过程,所述读过程包括读地址与控制指令数据的传输和读数据的传输;
所述读地址与控制指令数据的传输包括:所述中间模块根据主模式模块传输过来的第一安全等级参数对所述主模式模块的读地址与控制指令数据的安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码,验证发现有错且能纠错则报警;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述读地址与控制指令数据原先的第一编码,然后所述中间模块将所述读地址与控制指令数据的全部总线信号发送给从模式模块;
所述读数据的传输包括:所述中间模块根据从模式模块传输过来的第三安全等级参数对所述从模式模块的读数据的安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码,验证发现有错且能纠错则报警;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述读数据原先的第三编码,然后所述中间模块将所述读数据的全部总线信号发送给主模式模块;
其中,所述CPU、主模式模块、中间模块、从模式模块之间都通过总线路径进行数据传输。
一种基于分级的数据完整性的端到端的保护系统,包括CPU、主模式模块、中间模块、从模式模块和总线汇总仲裁装置;
CPU对各个模块的种子组合、安全传输解码/编码方式组合及安全等级参数进行配置,并对各个模块之间的数据传输总线路径进行配置;则主模式模块配置有第一安全等级参数表、第一解码算法表、第一安全等级参数表中不同安全等级参数分别对应不同的第一种子和第一编码算法,中间模块配置有第二安全等级参数表、第二错误异常编码表、第二解码算法、第二安全等级参数表中不同安全等级参数分别对应不同的第二种子和第二编码算法;从模式模块配置有第三安全等级参数表、第三解码算法、第三安全等级参数表中不同安全等级参数分别对应不同的第三种子和第三编码算法;
中间模块,对所述主模式模块、所述从模式模块的安全性进行验证;将读地址与控制指令数据传输给所述从模式模块,将读数据传输给所述主模式模块,将写地址与控制指令数据传输给所述从模式模块,将写数据传输给所述从模式模块,将写响应数据传输给所述主模式模块;
主模式模块,向所述中间模块传输读地址与控制指令数据,向所述中间模块传输写地址与控制指令数据,向所述中间模块传输写数据;
从模式模块,向所述中间模块传输读数据和写响应数据;
总线汇总仲裁装置,对各个模块之间的总线路径进行规划。
本公开的有益效果在于:CPU对各个模块的种子数据、编码/解码方式组合及安全等级参数进行配置,使得芯片内部数据传输端到端的完整保护,数据经过不同总线切换,都能受到同一等级安全机制保护;且不同数据传输划分不同安全等级,适配不同等级安全机制;同一路总线传输,能分时传输不同等级的数据流。
附图说明
图1为本公开所述方法的流程图;
图2为本公开所述系统示意图;
图3为读地址与指令安全总线示意图;
图4为读数据安全总线示意图;
图5为写地址与指令安全保护总线示意图;
图6为写数据安全保护总线示意图;
图7为写响应安全保护总线示意图;
图8为发送端发起安全总线保护示意图;
图9为接收端安全总线解码验证示意图;
图10为CPU发起最高等级安全总线对中间模块写过程的流程图;
图11为CPU发起最高等级安全总线对中间模块读过程的流程图;
图12为CPU发起最高等级安全总线对从模式模块写过程的流程图;
图13为CPU发起最高等级安全总线对从模式模块读过程的流程图;
图14为DMA发起中等等级安全总线对从模式模块写过程的流程图;
图15为DMA发起中等等级安全总线对从模式模块读过程的流程图;
图16为DMA发起低等等级安全总线对从模式模块写过程的流程图;
图17为DMA发起低等等级安全总线对从模式模块读过程的流程图。
具体实施方式
下面将结合附图对本公开技术方案进行详细说明。在本申请的描述中,需要理解地是,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,仅用来区分不同的组成部分。
图1为本公开所述方法的流程图,如图1所示,系统启动后,CPU对各个模块的种子组合、安全传输解码/编码方式组合及安全等级参数进行配置,并对各个模块之间的数据传输关系进行配置。主模式模块则配置有第一安全等级参数表、第一解码算法、第一安全等级参数表中不同安全等级参数分别对应不同的第一种子和第一编码算法;中间模块配置有第二安全等级参数表、第二错误异常编码表、第二解码算法、第二安全等级参数表中不同安全等级参数分别对应不同的第二种子和第二编码算法;从模式模块配置有第三安全等级参数表、第三解码算法、第三安全等级参数表中不同安全等级参数分别对应不同的第三种子和第三编码算法。
CPU、主模式模块、中间模块、从模式模块之间都通过总线路径进行数据传输。
CPU配置将从模式模块的数据读回到主模式模块的过程是读过程,读过程包括读地址与控制指令数据的传输和读数据的传输。
读地址与控制指令数据的传输包括:步骤S100:所述中间模块根据主模式模块传输过来的第一安全等级参数对所述主模式模块的读地址与控制指令数据的安全性进行验证,验证发现有错且不能纠错则转至步骤S102,验证发现有错且能纠错则转至步骤S103报警后转至步骤S101,验证发现无错则转至步骤S101。
具体验证过程如下:
主模式模块向中间模块发起传输读地址与控制指令数据,读地址与控制指令过程包括如下部分:
(1)读地址与控制指令全部原始总线信号:属于标准AXI协议部分,读地址与控制指令通道总线全部信号。
(2)第一安全等级参数:根据CPU配置主模式模块的第一安全等级参数表,选取第一安全等级参数就同时选取了表中参数对应的第一种子和第一编码算法,第一编码算法包括且不限于CRC、HASH、FEC、TURBO、LDPC等。
(3)生成第一编码:根据第一编码算法对读地址与控制指令全部原始总线信号进行编码运算,将编码运算结果与第一种子进行逻辑运算,逻辑运算的结果就是第一编码。
逻辑运算首先对第一种子的位宽进行调整保证与第一编码的位宽一致,通过截位或者补位方式;然后再进行包括且不限于加、减、乘、除、或、与、同或、异或等逻辑运算。
(4)读地址与控制指令数据传输:读地址与控制指令全部原始总线信号、第一安全等级参数、第一编码与第一种子全部传输给中间模块。读地址与控制指令全部原始总线信号必须与第一编码保持时序同步,第一安全等级参数和第一种子在传输过程中保持不变。
(5)中间模块对读地址与控制指令数据的安全性进行验证:首先通过传输过来的第一种子跟第一编码进行逻辑逆运算;通过第一安全等级参数查表选择第二解码算法,然后逻辑逆运算结果和读地址与控制指令全部原始总线信号输入第二解码算法进行运算,运算结果就是对读地址与控制指令全部原始总线确认有无出错,如果第二解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则中间模块报警;如果出错且能不能全部纠错,则中间模块报错,如果没有出错,则中间模块不报错也不报警。
(6)中间模块发起传输给从模式模块并对读地址与控制指令数据的安全性进行保护:在步骤(5)中对读地址与控制指令数据的安全性进行验证无错情况下,则读地址与控制指令全部原始总线信号保持不变。在对读地址与控制指令数据的安全性进行验证可全部纠错的情况下,读地址与控制指令全部原始总线信号替换为纠错后的正确总线信号。在对读地址与控制指令数据的安全性进行验证出错且无法全部纠错的情况下,读地址与控制指令全部原始总线信号也保持不变。
第二安全等级参数根据CPU配置,第二安全等级参数选择等同第一安全等级参数或改变不同第一安全等级参数。根据第二安全等级参数查第二安全等级参数表获取第二种子和第二编码算法。
在对读地址与控制指令数据的安全性进行验证无错或可纠错情况下,根据第二编码算法对读地址与控制指令全部原始总线验证无错的或验证有错且能纠错后正确的信号进行编码运算,编码运算结果然后跟第二种子进行逻辑运算,逻辑运算的结果就是第二编码。在对读地址与控制指令数据的安全性进行验证出错且无法纠错情况下,根据错误字段区域通过查询第二错误异常编码表替换第二编码为特殊识别编码。
最后中间模块将处理好的读地址与控制指令的原始信号、第二安全等级参数、第二编码和第二种子一并同步发送给从模式模块。
(7)从模式模块安全性验证:首先从模式模块通过传输过来的第二种子跟第二编码进行逻辑逆运算;通过第二安全等级参数查表选择第三解码算法,然后逻辑逆运算结果和读地址与控制指令全部原始总线信号输入第三解码算法进行运算,运算结果就是对读地址与控制指令全部原始总线确认有无出错,如果第三解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则从模式模块报警;如果出错且不能全部纠错,则从模式模块报错;如果没有出错,则从模式模块不报错也不报警。
如果第二编码在中间模块验证出错的情况下,已经替换为特殊识别编码,在从模式模块则也会验证为出错且不能纠错。
从模式模块安全性验证发现无错或发现有错且能全部纠错的情况下,在下一步读数据过程中,从从模式模块发出读数据的全部原始信号中读响应字段标识为成功;否则从模式模块安全性验证发现有错且无法全部纠错的情况下,从从模式模块发出读数据的全部原始信号中读响应字段标识为失败。
步骤S101:要传输的受保护的读地址与控制指令原始总线信号是纠错后完全正确的信号或完全无错保持不变完全正确的信号,根据第二编码算法与这些正确的读地址与控制指令原始总线信号运算结果和第二种子再次运算的结果去替换所述读地址与控制指令数据原先的第一编码,再替换第二安全等级参数及其对应的第二种子,然后所述中间模块将所述读地址与控制指令的全部总线信号发送给从模式模块。
具体地,读地址与控制指令的全部原始总线部分能纠错则纠错否则保持不变透传,根据CPU配置采取操作将传输过来第一种子和第一安全等级参数不等同替换或完全等同赋值给第二种子和第二安全等级参数,通过新的第二安全等级参数选择对应的第二编码算法对读地址与控制指令能纠错则纠错后的或完全无错的全部原始总线部分进行编码运算后的再与第二种子进行逻辑运算后的结果去替换原先的第一编码,然后中间模块将读地址与控制指令的全部总线信号发送给从模式模块。
步骤S102:报错,不能完全纠错的读地址与控制指令的全部原始总线部分保持不变透传,再替换第二安全等级参数及其对应的第二种子,同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码。
步骤S103:受保护的读地址与控制指令原始总线信号错误位进行纠错处理,然后报警。
读数据过程的传输包括:步骤S200:所述中间模块根据从模式模块传输过来的第三安全等级参数对所述从模式模块的读数据的安全性进行验证,验证发现有错且不能纠错则转至步骤S202,验证发现有错且能纠错则转至步骤S203报警后转至步骤S201,验证发现无错则转至步骤S201。
具体验证过程如下:
(1)读数据的全部原始总线信号:属于标准AXI协议部分,读数据通道总线全部信号。
(2)第一安全等级参数:根据CPU配置目标模块的第三安全等级参数表,选取第三安全等级参数就同时选取了表中参数对应的第三种子和第三编码算法,第三编码算法包括且不限于CRC、HASH、FEC、TURBO、LDPC等。
(3)生成第三编码:根据第三编码算法对读数据全部原始总线信号进行编码运算,编码运算结果然后跟第三种子进行逻辑运算,逻辑运算的结果就是第三编码。
逻辑运算首先对第三种子的位宽进行调整保证与第三编码的位宽一致,通过截位或者补位方式;然后再进行包括且不限于加、减、乘、除、或、与、同或、异或等逻辑运算。
(4)读数据传输:读数据全部原始总线信号、第三安全等级参数、第三编码与第三种子全部传输给中间模块。读数据全部原始总线信号必须与第三编码保持时序同步,第三安全等级参数和第三种子在传输过程中保持不变。
(5)中间模块对读数据的安全性进行验证:首先通过传输过来的第一种子跟第一编码进行逻辑逆运算;通过第一安全等级参数查表选择第二解码算法,然后逻辑逆运算结果和读数据全部原始总线信号输入第二解码算法进行运算,运算结果就是对读数据全部原始总线确认有无出错,如果第二解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则中间模块报警;如果出错且能不能全部纠错,则中间模块报错,如果没有出错,则中间模块不报错也不报警。
(6)中间模块发起传输给主模式模块并对读数据的安全性进行保护:在步骤(5)对读数据的安全性进行验证无错情况下,则读数据全部原始总线信号保持不变;在对读数据的安全性进行验证可全部纠错的情况下,读数据全部原始总线信号替换为纠错后的正确总线信号;在对读数据的安全性进行验证出错且无法全部纠错的情况下,读数据全部原始总线信号也保持不变。
第二安全等级参数根据CPU配置,第二安全等级参数选择等同第三安全等级参数或改变不同第三安全等级参数。根据第二安全等级参数查第二安全等级参数表获取第二种子和第二编码算法。
在对读数据的安全性进行验证发现无错或可纠错情况下,根据第二编码算法对读数据全部原始总线验证无错的或验证有错纠错后正确的信号进行编码运算,编码运算结果然后跟第二种子进行逻辑运算,逻辑运算的结果就是第二编码。在对读数据的安全性进行验证出错且无法纠错情况下,根据错误字段区域通过查询第二错误异常编码表替换第二编码为特殊识别编码。
最后中间模块将处理好的读数据的原始信号、第二安全等级参数、第二编码和第二种子一并同步发送给主模式模块。
(7)主模式模块安全性验证:首先主模式模块通过传输过来的第二种子跟第二编码进行逻辑逆运算;通过第二安全等级参数查表选择第一解码算法,然后逻辑逆运算结果和读数据全部原始总线信号输入第一解码算法进行运算,运算结果就是对读数据全部原始总线确认有无出错,如果第三解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则主模式模块报警;如果出错且能不能全部纠错,则主模式模块报错,如果没有出错,则主模式模块去解读读响应字段。
在主模式模块安全性验证发现无错的情况,解读读数据全部原始信号中的读响应字段,如果读响应字段为失败,则主模式模块报错;如果读响应字段为成功,表示这个读传输过程成功,则不报错也不报警。
步骤S201:要传输的受保护的读数据原始总线信号是纠错后完全正确的信号或完全无错保持不变完全正确的信号,根据第二编码算法与这些正确读数据原始总线信号运算结果和第二种子再次运算的结果去替换所述读数据原先的第三编码,然后所述中间模块将所述读数据发送给主模式模块。
具体地,读数据全部原始总线部分能纠错则纠错否则保持不变透传,根据CPU配置采取操作将传输过来第三种子和第三安全等级参数不等同替换或完全等同赋值给第二种子和第二安全等级参数,通过新的第二安全等级参数选择对应的第二编码算法对读数据能纠错则纠错后的或完全无错的全部原始总线部分进行编码运算结果再与第二种子进行逻辑运算后的结果去替换原先的第三编码,然后中间模块将读数据的全部总线信号发送给主模式模块。
步骤S202:报错,不能完全纠错的读数据的全部原始总线部分保持不变透传,再替换第二安全等级参数及其对应的第二种子,同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码。
步骤S203:受保护的读数据原始总线信号错误位进行纠错处理,将错误的数据纠错后进行替换,然后报警。
作为具体实施例地,CPU配置将所述主模式模块的数据传输到所述从模式模块的过程还包括写过程,写过程又包括写地址与控制指令数据的传输、写数据的传输和写响应数据的传输。
写地址与控制指令过程的传输包括:步骤S300:所述中间模块根据主模式模块传输过来的第一安全等级参数对所述主模式模块的写地址与控制指令数据的安全性进行验证,验证发现有错且不能纠错则转至步骤S302,验证发现有错且能纠错则转至步骤S303报警后转至步骤S301,验证发现无错则转至步骤S301。
具体验证过程如下:
(1)写地址与控制指令全部原始总线信号:属于标准AXI协议部分,写地址与控制指令通道总线全部信号。
(2)第一安全等级参数:根据CPU配置主模式模块的第一安全等级参数表,选取第一安全等级参数就同时选取了表中参数对应的第一种子和第一编码算法。
(3)生成第一编码:根据第一编码算法对写地址与控制指令全部原始总线信号进行编码运算,编码运算结果然后跟第一种子进行逻辑运算,逻辑运算的结果就是第一编码。
逻辑运算首先对第一种子的位宽进行调整保证与第一编码的位宽一致,通过截位或者补位方式;然后再进行包括且不限于加、减、乘、除、或、与、同或、异或等逻辑运算。
(4)写地址与控制指令传输:写地址与控制指令全部原始总线信号、第一安全等级参数、第一编码与第一种子全部传输给中间模块。写地址与控制指令全部原始总线信号必须与第一编码保持时序同步,第一安全等级参数和第一种子在传输过程中保持不变。
(5)中间模块对写地址与控制指令的安全性进行验证:首先通过传输过来的第一种子跟第一编码进行逻辑逆运算;通过第一安全等级参数查表选择第二解码算法,然后逻辑逆运算结果和写地址与控制指令全部原始总线信号输入第二解码算法进行运算,运算结果就是对写地址与控制指令全部原始总线确认有无出错,如果第二解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则中间模块报警;如果出错且能不能全部纠错,则中间模块报错,如果没有出错,则中间模块不报错也不报警。
(6)中间模块发起传输给从模式模块并对写地址与控制指令数据的安全性进行保护:在步骤(5)对写地址与控制指令数据的安全性进行验证无错情况下,则写地址与控制指令全部原始总线信号保持不变;在对写地址与控制指令数据的安全性进行验证可全部纠错的情况下,写地址与控制指令全部原始总线信号替换为纠错后正确总线信号;在对写地址与控制指令数据的安全性进行验证出错且无法全部纠错的情况下,写地址与控制指令全部原始总线信号也保持不变。
第二安全等级参数根据CPU配置,第二安全等级参数选择等同第一安全等级参数或改变不同第一安全等级参数。根据第二安全等级参数查第二安全等级参数表获取第二种子和第二编码算法。
在对写地址与控制指令数据的安全性进行验证无错或可纠错情况下,根据第二编码算法对写地址与控制指令全部原始总线验证无错的或验证有错且能纠错后的正确信号进行编码运算,编码运算结果然后跟第二种子进行逻辑运算,逻辑运算的结果就是第二编码。在对写地址与控制指令数据的安全性进行验证出错且无法纠错情况下,根据错误字段区域通过查询第二错误异常编码表替换第二编码为特殊识别编码。
最后中间模块将处理好的写地址与控制指令的原始信号、第二安全等级参数、第二编码和第二种子一并同步发送给从模式模块。
(7)从模式模块安全性验证:首先从模式模块通过传输过来的第二种子跟第二编码进行逻辑逆运算;通过第二安全等级参数查表选择第三解码算法,然后逻辑逆运算结果和写地址与控制指令全部原始总线信号输入第三解码算法进行运算,运算结果就是对写地址与控制指令全部原始总线确认有无出错,如果第三解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则从模式模块报警;如果出错且不能全部纠错,则从模式模块报错,如果没有出错,则从模式模块不报错也不报警。
如果第二编码在中间模块验证出错的情况下,已经替换为特殊识别编码,在从模式模块则也会验证为出错且不能纠错。
从模式模块安全性验证发现无错或发现有错且能全部纠错的情况下,在下一步写响应过程中,从从模式模块发出写响应的全部原始信号中写响应字段标识为成功;否则从模式模块安全性验证发现有错且无法全部纠错的情况下,从目标模块发出写响应的全部原始信号中写响应字段标识为失败。
步骤S301:要传输的受保护的写地址与控制指令原始总线信号是纠错后完全正确的信号或完全无错保持不变完全正确的信号,根据第二编码算法与这些正确写地址与控制指令原始总线信号运算结果和第二种子再次运算的结果去替换所述写地址与控制指令数据原先的第一编码,再替换第二安全等级参数及其对应的第二种子,然后所述中间模块将所述写地址与控制指令的全部总线信号发送给从模式模块。
具体地,写地址与控制指令的全部原始总线部分能纠错则纠错否则保持不变透传,根据CPU配置采取操作将传输过来第一种子和第一安全等级参数不等同替换或完全等同赋值给第二种子和第二安全等级参数,通过新的第二安全等级参数选择对应的第二编码算法对写地址与控制指令能纠错则纠错后的或完全无错的全部原始总线部分进行编码运算结果再与第二种子进行逻辑运算后的结果去替换原先的第一编码,然后中间模块将写地址与控制指令的全部总线信号发送给从模式模块。
步骤S302:报错,不能完全纠错的写地址与控制指令的全部原始总线部分保持不变透传,再替换第二安全等级参数及其对应的第二种子,同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码。
步骤S303:受保护的写地址与控制指令原始总线信号错误位进行纠错处理,然后报警。
写数据过程的传输包括:步骤S400:所述中间模块根据主模式模块传输过来的第一安全等级参数对所述主模式模块的写数据的安全性进行验证,验证发现有错且不能纠错则转至步骤S402,验证发现有错且能纠错则转至步骤S403报警后转至步骤S401,验证发现无错则转至步骤S401。
具体验证过程如下:
(1)写数据全部原始总线信号:属于标准AXI协议部分,写数据通道总线全部信号。
(2)第一安全等级参数:根据CPU配置主模式模块的第一安全等级参数表,选取第一安全等级参数就同时选取了表中参数对应的第一种子和第一编码算法。
(3)生成第一编码:根据第一编码算法对写数据全部原始总线信号进行编码运算,编码运算结果然后跟第一种子进行逻辑运算,逻辑运算的结果就是第一编码。
逻辑运算首先对第一种子的位宽进行调整保证与第一编码的位宽一致,通过截位或者补位方式;然后再进行包括且不限于加、减、乘、除、或、与、同或、异或等逻辑运算。
(4)写数据传输:写数据全部原始总线信号、第一安全等级参数、第一编码与第一种子全部传输给中间模块。写数据全部原始总线信号必须与第一编码保持时序同步,第一安全等级参数和第一种子在传输过程中保持不变。
(5)中间模块对写数据的安全性进行验证:首先通过传输过来的第一种子跟第一编码进行逻辑逆运算;通过第一安全等级参数查表选择第二解码算法,然后逻辑逆运算结果和写数据全部原始总线信号输入第二解码算法进行运算,运算结果就是对写数据全部原始总线确认有无出错,如果第二解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则中间模块报警;如果出错且能不能全部纠错,则中间模块报错,如果没有出错,则中间模块不报错也不报警。
(6)中间模块发起传输给从模式模块并对写数据的安全性进行保护:在步骤(5)中对写数据的安全性进行验证无错情况下,则写数据全部原始总线信号保持不变;在对写数据的安全性进行验证可全部纠错的情况下,写数据全部原始总线信号替换为纠错后正确总线信号;在对写数据的安全性进行验证出错且无法全部纠错的情况下,写数据全部原始总线信号也保持不变。
第二安全等级参数根据CPU配置,第二安全等级参数选择等同第一安全等级参数或改变不同第一安全等级参数。根据第二安全等级参数查第二安全等级参数表获取第二种子和第二编码算法。
在对写数据的安全性进行验证无错或可纠错情况下,根据第二编码算法对数据全部原始总线验证无错的或验证有错纠错后的正确信号进行编码运算,编码运算结果然后跟第二种子进行逻辑运算,逻辑运算的结果就是第二编码。在对写数据的安全性进行验证出错且无法纠错情况下,根据错误字段区域通过查询第二错误异常编码表替换第二编码为特殊识别编码。
最后中间模块将处理好的写数据的原始信号、第二安全等级参数、第二编码和第二种子一并同步发送给从模式模块。
(7)从模式模块安全性验证:首先从模式模块通过传输过来的第二种子跟第二编码进行逻辑逆运算;通过第二安全等级参数查表选择第三解码算法,然后逻辑逆运算结果和写数据全部原始总线信号输入第三解码算法进行运算,运算结果就是对写数据全部原始总线确认有无出错,如果第三解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则从模式模块报警;如果出错且能不能全部纠错,则从模式模块报错,如果没有出错,则从模式模块不报错也不报警。
如果第二编码在中间模块验证出错的情况下,已经替换为特殊识别编码,在从模式模块则也会验证为出错且不能纠错。
从模式模块安全性验证发现无错的情况下,在下一步写响应过程中,从目标模块发出写响应的全部原始信号中写响应字段标识为成功;否则从模式模块安全性验证发现有错的情况下,从目标模块发出写响应的全部原始信号中写响应字段标识为失败。
步骤S401:要传输的受保护的写数据原始总线信号是纠错后完全正确的信号或完全无错保持不变完全正确的信号,根据第二编码算法与这些正确读数据原始总线信号运算结果和第二种子再次运算的结果去替换所述写数据原先的第一编码,然后所述中间模块将所述写数据发送给从模式模块。
具体地,写数据全部原始总线信号能纠错则纠错否则保持不变透传,根据CPU配置采取操作将传输过来第一种子和第一安全等级参数不等同替换或完全等同赋值给第二种子和第二安全等级参数,通过新的第二安全等级参数选择对应的第二编码算法对写数据能纠错则纠错后的或完全无错的全部原始总线部分进行编码运算结果再与第二种子进行逻辑运算运算后的结果去替换原先的第一编码,然后中间模块将写数据的全部总线信号发送给从模式模块。
步骤S402:报错,不能完全纠错的写数据的全部原始总线部分保持不变透传,再替换第二安全等级参数及其对应的第二种子,根据第二错误异常编码表查表将第二编码替换成特殊识别编码。
步骤S403:受保护的写数据原始总线信号错误位进行纠错处理,然后报警。
写响应过程的传输又包括写成功响应传输和写失败响应传输这两种情况。
写成功响应即指:从模式模块接收所述中间模块的所述写地址与控制指令数据或所述写数据时的任意过程出现验证发现有错且能全部纠错或验证发现无错且数据成功写入从模式模块则所述从模式模块向所述中间模块返回写成功响应数据。也就是说,写成功的情况下,写地址与控制指令数据传输和写数据传输都不能出现验证发现有错且不能全部纠错的情况。
写失败响应即指:从模式模块接收所述中间模块的所述写地址与控制指令或所述写数据时的任意过程出现验证发现有错且不能全部纠错,或写地址与控制指令传输及写数据传输都无错的情况但由于寻址错误等其他原因数据没有成功写入从模式模块,则所述从模式模块向所述中间模块返回写失败响应。也就是说,写地址与控制指令数据传输及写数据传输中任何一个出现验证发现有错且不能全部纠错的情况时,即写失败响应。
写响应的过程包括:步骤S500:所述中间模块根据从模式模块传输过来的第三安全等级参数对所述从模式模块的写响应的安全性进行验证,验证发现有错且不能纠错则转至步骤S502,验证发现有错且能纠错则转至步骤S503报警后转至步骤S501,验证发现无错则转至步骤S501。
具体验证过程如下:
从模式模块向中间模块发起传输写响应,写响应过程包括如下部分:
(1)写响应的全部原始总线信号:属于标准AXI协议部分,写响应通道总线全部信号。
(2)第三安全等级参数:根据CPU配置目标模块的第三安全等级参数表,选取第三安全等级参数就同时选取了表中参数对应的第三种子和第三编码算法,第三编码算法包括且不限于CRC、HASH、FEC、TURBO、LDPC等。
(3)生成第三编码:根据第三编码算法对写响应全部原始总线信号进行编码运算,编码运算结果然后跟第三种子进行逻辑运算,逻辑运算的结果就是第三编码。
逻辑运算首先对第三种子的位宽进行调整保证与第三编码的位宽一致,通过截位或者补位方式;然后再进行包括且不限于加、减、乘、除、或、与、同或、异或等逻辑运算。
(4)写响应传输:写响应的全部原始总线信号、第三安全等级参数、第三编码与第三种子全部传输给中间模块。读地址与控制指令全部原始总线信号必须与第三编码保持时序同步,第三安全等级参数和第三种子在传输过程中保持不变。
(5)中间模块对写响应的安全性进行验证:首先通过传输过来的第三种子跟第三编码进行逻辑逆运算;通过第三安全等级参数查表选择第二解码算法,然后逻辑逆运算结果和读地址与控制指令全部原始总线信号输入第二解码算法进行运算,运算结果就是对写响应全部原始总线确认有无出错,如果第二解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能全部纠错,则中间模块报警;如果出错且能不能全部纠错,则中间模块报错,如果没有出错,则中间模块不报错也不报警。
(6)中间模块发起传输给主模式模块并对写响应的安全性进行保护:在对步骤(5)写响应的安全性进行验证无错情况下,则写响应全部原始总线信号保持不变;在对写响应的安全性进行验证可全部纠错的情况下,写响应的全部原始总线信号替换为纠错后正确总线信号;在对写响应的安全性进行验证出错且无法纠错的情况下,写响应全部原始总线信号也保持不变。
第二安全等级参数根据CPU配置,第二安全等级参数选择等同第三安全等级参数或改变不同第三安全等级参数。根据第二安全等级参数查第二安全等级参数表获取第二种子和第二编码算法。
在对写响应的安全性进行验证无错或可纠错情况下,根据第二编码算法对写响应全部原始总线验证无错的或验证有错且能纠错后正确的信号进行编码运算,编码运算结果然后跟第二种子进行逻辑运算,逻辑运算的结果就是第二编码。在对写响应的安全性进行验证出错且无法纠错情况下,根据错误字段区域通过查询第二错误异常编码表替换第二编码为特殊识别编码。
最后中间模块将处理好的写响应的原始信号、第二安全等级参数、第二编码和第二种子一并同步发送给主模式模块。
(7)主模式模块安全性验证:首先所述主模式模块通过传输过来的第二种子跟第二编码进行逻辑逆运算;通过第二安全等级参数查表选择第一解码算法,然后逻辑逆运算结果和写响应全部原始总线信号输入第三解码算法进行运算,运算结果就是对写响应全部原始总线确认有无出错,如果第三解码算法有纠错功能可进行有限纠错。对安全性验证处理,如果出错且能纠错,则主模式模块报警;如果出错且能不能全部纠错,则主模式模块报错,如果没有出错,则主模式模块不报错也不报警。
如果第二编码在中间模块验证出错的情况下,已经替换为特殊识别编码,在主模式模块则也会验证为出错且不能纠错。
在主模式模块安全性验证发现无错的情况,解读写响应的全部原始信号中写响应字段,如果写响应字段为失败,则主模式模块报错;如果写响应字段为成功,表示这个写传输过程成功。
步骤S501:要传输的受保护的写响应原始总线信号是纠错后完全正确的信号或完全无错保持不变完全正确的信号,根据第二编码算法与这些正确写响应原始总线信号运算结果和第二种子再次运算的结果去替换所述写响应原先的第三编码,然后所述中间模块将所述写响应的这些全部总线信号发送给所述主模式模块。
具体地,写响应成功数据的全部总线部分能纠错则纠错否则保持不变透传,根据CPU配置采取操作将传输过来第三种子和第三安全等级参数不等同替换或完全等同赋值给第二种子和第二安全等级参数,通过新的第二安全等级参数选择对应的第二编码算法和第二种子对写响应能纠错则纠错后的或完全无错的全部原始总线部分进行编码运算后的结果再与第二种子进行逻辑运算去替换原先的第三编码,然后中间模块将写响应的这些全部总线信号发送给主模式模块。
步骤S502:报错,不能完全纠错的读地址与控制指令的全部原始总线部分保持不变透传,再替换第二安全等级参数及其对应的第二种子,同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码。
步骤S503:受保护的写响应原始总线信号错误位进行纠错处理,然后报警。
以上过程中,CPU通过总线传输数据对各个模块进行配置,各个模块之间通过总线路径进行数据传输。传输的总线类型包括APB(AdvancedPeripheralBus,外围总线)、AHB(AdvancedHigh-performanceBus)、ASB(AdvancedSystemBus)和AXI(AdvancedeXtensibleInterface)。其中APB又包括AMBA2APB、AMBA3APB和AMBA4APB,AXI则包括AMBA3AXI和AMBA4AXI;本申请以AMBA4AXI总线来举例。
作为具体实施例地,若将安全等级参数分为高等、中等和低等,那么高安全等级传输路径包括指令控制类或寄存器配置等传输类型,中等安全等级传输路径包括内存数据传输等类型,低等安全等级传输路径包括视频数据传输等类型。
例如图2本公开所述系统示意图,CPU是主模式模块,发起读或写过程传输;DMA、内存和外设做为从模块响应读或写请求。中间模块为总线汇总仲裁装置,验证发送过来的安全总线的校验及纠错同时转发给下一级安全总线。CPU发起的是指令控制类信息或寄存器配置信息等传输,安全等级参数设置为高等;这类传输数据量少延迟高,编码纠错能力强。需要保护总线路径为总线路径1、总线路径2、总线路径4和总线路径5。最高安全等级参数的安全总线路径:
(1)CPU→通过总线路径1→总线汇总仲裁装置→通过总线路径2→内存;
(2)CPU←通过总线路径1←总线汇总仲裁装置←通过总线路径2←内存;
(3)CPU→通过总线路径1→总线汇总仲裁装置→通过总线路径5→DMA;
(4)CPU←通过总线路径1←总线汇总仲裁装置←通过总线路径5←DMA;
(5)CPU→通过总线路径1→总线汇总仲裁装置→通过总线路径4→外设;
(6)CPU←通过总线路径1←总线汇总仲裁装置←通过总线路径4←外设;
(7)CPU→通过总线路径1→总线汇总仲裁装置;
(8)CPU←通过总线路径1←总线汇总仲裁装置。
例如图2本公开所述系统示意图,DMA被CPU配置后发起读或写过程传输;内存做为从模块响应读或写请求。中间模块为总线汇总仲裁装置,验证发送过来的安全总线的校验及纠错同时转发给下一级安全总线。
DMA如果发起的是内存数据传输,安全等级参数设置为中等;这类传输数据量大延迟适中,编码纠错能力中等;需要保护总线路径为总线路径2和总线路径3。
中等安全等级参数的安全总线路径:
(1)DMA→通过总线路径3→总线汇总仲裁装置→通过总线路径2→内存;
(2)DMA←通过总线路径3←总线汇总仲裁装置←通过总线路径2←内存。
例如图2本公开所述系统示意图,DMA被CPU配置为主模式后发起读或写过程传输;内存和外设做为从模式模块响应DMA请求分为一边读内存请求和一边写外设请求或一边写内存请求和一边请求读外设请求。中间模块为总线汇总仲裁装置,验证发送过来的安全总线的校验及纠错同时转发给下一级安全总线。
DMA如果发起的是视频数据传输,安全等级参数设置为低等;这类传输数据量大延迟低,编码纠错能力低;需要保护总线路径为总线路径2、总线路径3和总线路径4。
(1)DMA→通过总线路径3→总线汇总仲裁装置→通过总线路径2→内存;
(2)DMA←通过总线路径3←总线汇总仲裁装置←通过总线路径2←内存;
(3)DMA→通过总线路径3→总线汇总仲裁装置→通过总线路径4→外设;
(4)DMA←通过总线路径3←总线汇总仲裁装置←通过总线路径2←内存。
这些总线路径就是加了校验和纠错的安全总线。以AMBA4AXI总线来举例,AMBA4AXI总线分为5个通道,分别是读地址与指令通道、读数据通道、写地址与指令通道、写数据通道和写响应通道;分别对这5个通道加上安全机制就是这些总线路径。
例如图3本公开所述读地址与指令安全总线,读地址与指令原始总线就是AXI的读地址与指令通道,在附加上同步的种子、安全等级参数和对读地址与指令原始总线编码与种子运算后的二次编码。
例如图4本公开所述读数据安全总线,读数据原始总线就是AXI的读数据通道,在附加上同步的种子、安全等级参数和对读数据原始总线编码与种子运算后的二次编码。
例如图5本公开所述写地址与指令安全总线,写地址与指令原始总线就是AXI的写地址与指令通道,在附加上同步的种子、安全等级参数和对写地址与指令原始总线编码与种子运算后的二次编码。
例如图6本公开所述写数据安全总线,写数据原始总线就是AXI的写数据通道,在附加上同步的种子、安全等级参数和对写数据原始总线编码与种子运算后的二次编码。
例如图7本公开所述写响应安全总线,写响应原始总线就是AXI的写响应通道,在附加上同步的种子、安全等级参数和对写响应原始总线编码与种子运算后的二次编码。
CPU或DMA处于主模式发起读地址与指令、写地址与指令或写数据时候;或从模式模块发起读数据或写响应时候;或中间模块转发发起读地址与指令、写地址与指令、读数据、写数据或写响应时候;启动安全总线保护机制,步骤例如图8发送端安全总线保护。
步骤1:
原始总线生成,原始总线就是读地址与指令、写地址与指令、读数据、写数据和写响应其中之一。
步骤2:
安全等级参数选择;
安全等级参数查编码算法表选择编码算法;
安全等级参数查种子表选择种子。
步骤3:
根据编码算法对原始总线进行编码;
或中间验证发错误无法纠错编码就是异常识别编码。
步骤4:
对步骤3计算的编码再跟种子数据进行运算生产二次编码。
步骤5:
对原始总线、安全等级参数、种子和二次编码同步后,汇总后发出形成安全总线。
从模式模块接收读地址与指令、写地址与指令或写数据时候;或CPU或DMA处于主模式接收读数据或写响应;或中间模块接收读地址与指令、写地址与指令、读数据、写数据或写响应时候;启动安全总线验证机制,步骤例如图9接收端安全总线解码验证。
步骤1:
安全总线分离出原始总线和安全等级参数。
步骤2:
原始总线编码与种子运算的二次编码跟种子逆运算,得到原始编码。
步骤3:
根据安全等级参数查表选择解码算法。
步骤4:
根据解码算法,原始总线和原始编码进行解码运算。
步骤5:
能纠错则纠错总线原始信号;
根据纠错情况报警或报错。
步骤6:
获得确认正确或错误的原始总线信号。
整个系统在设计的时候,在CPU内默认留有一套解码算法和最高等级参数及其对应的种子和编码算法;中间模块默认留有解码算法和最高等级参数及其对应的种子和编码算法;各个从模式模块默认留有一套解码算法和最高等级参数及其对应的种子和编码算法。基于这套默认安全机制,CPU后续可以更新和扩展等级参数表、种子、编码算法、编码算法和特殊识别编码表。
整个系统装置在启动后,工作流程如下:
(1)CPU启动主模式配置中间模块的安全总线机制:
例如图10本公开所述CPU以预留默认的最高安全等级进行写过程配置中间模块,CPU通过设计预留的最高等级参数及其对应的种子和编码算法发起安全总线写过程;更新和扩展中间模块的特殊异常编码表、解码算法表和安全等级参数表及其对应的种子和编码算法。在对安全总线验证无错或有错都能纠错的情况下根据写响应反馈判断是否写成功。
例如图11本公开所述CPU以预留默认的最高安全等级进行读过程确认中间模块配置。CPU通过设计预留的最高等级参数及其对应的种子和编码算法发起安全总线读过程;回读中间模块的特殊异常编码表、解码算法表和安全等级参数表及其对应的种子和编码算法。在对安全总线验证无错或有错都能纠错的情况下根据读响应字段判断是否读成功;在读成功的情况下,判断中间模块的安全机制配置是否符合预期。
安全机制保护总线路径为:
总线路径1传输写地址与指令、写数据和读地址与指令;安全总线发起端为处于主模式的CPU,安全总线接收验证纠错端为接收处于从模式的中间模块。
总线路径1传输写响应和读数据;安全总线发起端为接收处于从模式的中间模块,安全总线接收验证纠错端为处于主模式的CPU。
(2)CPU处于主模式启动配置从模式模块的安全总线机制:
由于中间模块已经更新了特殊识别编码,后续从模式模块可以依赖中间模块进行更新和扩展安全机制配置。
例如图12本公开所述CPU以预留默认的最高安全等级进行写过程配置各个从模式模块(DMA、内存和外设),CPU通过设计预留的最高等级参数及其对应的种子和编码算法发起安全总线传输写过程;更新和扩展从模式模块解码算法表和安全等级参数表及其对应的种子和编码算法。在对安全总线验证无错或有错都能纠错的情况下根据写响应反馈判断写成功来确认配置是否成功。
例如图13本公开所述CPU以预留默认的最高安全等级进行读过程确认各个从模式模块(DMA、内存和外设)配置。CPU通过设计预留的最高等级参数及其对应的种子和编码算法发起安全总线读过程;回读从模式模块解码算法表和安全等级参数表及其对应的种子和编码算法。在对安全总线验证无错或有错都能纠错的情况下根据读响应字段判断是否读成功;在读成功的情况下,判断从模式模块的安全机制配置是否符合预期。
安全机制保护总线路径为:
总线路径1传输写地址与指令、写数据和读地址与指令;安全总线发起端为处于主模式的CPU,安全总线接收验证纠错端为接收处于从模式的中间模块。
总线路径1传输写响应和读数据;安全总线发起端为接收处于从模式的中间模块,安全总线接收验证纠错端为处于主模式的CPU。
总线路径2传输写地址与指令、写数据和读地址与指令;安全总线发起端为转发处于主模式中间模块,安全总线接收验证纠错端为处于从模式的内存。
总线路径2传输写响应和读数据;安全总线发起端为处于从模式的内存,安全总线接收验证纠错端为转发处于主模式中间模块。
总线路径4传输写地址与指令、写数据和读地址与指令;安全总线发起端为转发处于主模式中间模块,安全总线接收验证纠错端为处于从模式的外设。
总线路径4传输写响应和读数据;安全总线发起端为处于从模式的外设,安全总线接收验证纠错端为转发处于主模式中间模块。
总线路径5传输写地址与指令、写数据和读地址与指令;安全总线发起端为转发处于主模式中间模块,安全总线接收验证纠错端为在被配置的时候处于从模式的DMA。
总线路径5传输写响应和读数据;安全总线发起端为在被配置的时候处于从模式的DMA,安全总线接收验证纠错端为转发处于主模式中间模块。
(3)CPU启动主模式配置DMA功能寄存器:
在系统全面模块安全总线机制配置完成后,就可以配置DMA的功能寄存器;通过配置指令让DMA成主模式模块,对从模块的数据进行读或写。
例如图12本公开所述CPU选择最高安全等级进行写过程配置DMA的功能寄存器,CPU通过最高等级参数及其对应的种子和编码算法发起安全总线写过程,在对安全总线验证无错或有错都能纠错的情况下根据写响应反馈判断写成功来确认是否配置成功。
例如图13本公开所述CPU以最高安全等级进行读过程确认DMA的功能配置。CPU通过最高等级参数及其对应的种子和编码算法发起安全总线读过程;回读DMA的功能配置信息。在对安全总线验证无错或有错都能纠错的情况下根据读响应字段判断是否读成功;在读成功的情况下,判断DMA功能配置是否符合预期。
安全机制保护总线路径为:
总线路径1传输写地址与指令、写数据和读地址与指令;安全总线发起端为处于主模式的CPU,安全总线接收验证纠错端为接收处于从模式的中间模块。
总线路径1传输写响应和读数据;安全总线发起端为接收处于从模式的中间模块,安全总线接收验证纠错端为处于主模式的CPU。
总线路径5传输写地址与指令、写数据和读地址与指令;安全总线发起端为转发处于主模式中间模块,安全总线接收验证纠错端为在被配置的时候处于从模式的DMA。
总线路径5传输写响应和读数据;安全总线发起端为在被配置的时候处于从模式的DMA,安全总线接收验证纠错端为转发处于主模式中间模块。
(4)DMA被配置成主模式搬运数据:
CPU配置完DMA的功能,DMA做为主模式模块,开始搬运数据。以举例说明,DMA作为主模块开始工作;同时发起两项数据搬运任务指令,两个任务的数据段分时交叉搬运。
任务一:
处于主模式下的DMA将搬运从模式下内存的数据,从内存区域某处搬运到内存区域另外一处。
DMA发起读过程,从内存某处将数据读回到DMA。例如图15本公开所述DMA以中等安全等级及其对应的种子和编码算法发起安全总线读过程去读取内存某处的数据;在对安全总线验证无错或有错都能纠错的情况下根据读响应字段判断是否读成功。
DMA发起写过程,将上面读回的数据再写到内存的另外一处。DMA发起写过程的前提是上面读过程是读成功,否则DMA将中止发起写过程;例如图14本公开所述DMA以中等安全等级及其对应的种子和编码算法发起安全总线写过程将上面读回的数据写到内存的另外一处;在对安全总线验证无错或有错都能纠错的情况下根据写响应字段判断是否写成功。
安全机制保护总线路径为:
总线路径3传输写地址与指令、写数据和读地址与指令;安全总线发起端为处于主模式的DMA,安全总线接收验证纠错端为接收处于从模式的中间模块。
总线路径3传输写响应和读数据;安全总线发起端为接收处于从模式的中间模块,安全总线接收验证纠错端为处于主模式的DMA。
总线路径2传输写地址与指令、写数据和读地址与指令;安全总线发起端为转发处于主模式中间模块,安全总线接收验证纠错端为处于从模式的内存。
总线路径2传输写响应和读数据;安全总线发起端为处于从模式的内存,安全总线接收验证纠错端为转发处于主模式中间模块。
任务二:
处于主模式下的DMA将从模式下内存的数据搬运到从模式下外设。
DMA发起读过程,从内存某处将数据读回到DMA。例如图17本公开所述DMA以低等安全等级及其对应的种子和编码算法发起安全总线读过程去读取内存的数据;在对安全总线验证无错或有错都能纠错的情况下根据读响应字段判断是否读成功。
DMA发起写过程,将上面读回的数据再写到从模式下的外设。DMA发起写过程的前提是上面读过程是读成功,否则DMA将中止发起写过程;例如图16本公开所述DMA以低等安全等级及其对应的种子和编码算法发起安全总线写过程将上面读回的数据写到从模式下的外设;在对安全总线验证无错或有错都能纠错的情况下根据写响应字段判断是否写成功。
安全机制保护总线路径为:
总线路径3传输写地址与指令、写数据和读地址与指令;安全总线发起端为处于主模式的DMA,安全总线接收验证纠错端为接收处于从模式的中间模块。
总线路径3传输写响应和读数据;安全总线发起端为接收处于从模式的中间模块,安全总线接收验证纠错端为处于主模式的DMA。
总线路径2传输读地址与指令;安全总线发起端为转发处于主模式中间模块,安全总线接收验证纠错端为处于从模式的内存。
总线路径2传输读数据;安全总线发起端为处于从模式的内存,安全总线接收验证纠错端为转发处于主模式中间模块。
总线路径4传输写地址与指令和写数据;安全总线发起端为转发处于主模式中间模块,安全总线接收验证纠错端为处于从模式的外设。
总线路径4传输写响应;安全总线发起端为处于从模式的外设,安全总线接收验证纠错端为转发处于主模式中间模块。
基于上面的举例,总线路径安全等级总线可以分时配置成高等级、中等级和低等级;同一套系统,可以适用于不同场景,安全机制分时变化;每条总线路径验证和纠错功能相互独立,同时最终节点模块能通过读响应或写响应发现前面路径的验证错误。
综上,本申请中,仅仅被分配给相同的安全等级的系统部件彼此之间才能进行通信。由此可以容易地将多核微处理器的、具有不同的安全等级的系统部件分开。这样的解决方案不仅允许尽可能好地将这些计算核和存储单元彼此分开,而且也能够实现对于各个系统部件的分开隔离。鉴于这一点,在这样的多核微处理器系统中存在着无干扰性的形式的独立。

Claims (3)

1.一种基于分级的数据完整性的端到端的保护方法,其特征在于,CPU对各个模块的种子组合、安全传输解码/编码方式组合及安全等级参数进行配置,并对各个模块之间的数据传输总线路径进行配置,则主模式模块配置有第一安全等级参数表、第一解码算法表、第一安全等级参数表中不同安全等级参数分别对应不同的第一种子和第一编码算法,中间模块配置有第二安全等级参数表、第二解码算法表、第二错误异常编码表、第二安全等级参数表中不同安全等级参数分别对应不同的第二种子和第二编码算法,从模式模块配置有第三安全等级参数表、第三解码算法表、第三安全等级参数表中不同安全等级参数分别对应不同的第三种子和第三编码算法;
CPU配置将所述从模式模块的数据读回传输到所述主模式模块的过程是读过程,所述读过程包括读地址与控制指令数据的传输和读数据的传输;
所述读地址与控制指令数据的传输包括:所述中间模块根据主模式模块传输过来的第一安全等级参数对所述主模式模块的读地址与控制指令数据的安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码,验证发现有错且能纠错则报警;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述读地址与控制指令数据原先的第一编码,然后所述中间模块将所述读地址与控制指令数据的全部总线信号发送给从模式模块;
所述读数据的传输包括:所述中间模块根据从模式模块传输过来的第三安全等级参数对所述从模式模块的读数据的安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码,验证发现有错且能纠错则报警;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述读数据原先的第三编码,然后所述中间模块将所述读数据的全部总线信号发送给主模式模块;
所述CPU配置将所述主模式模块的数据写传输到所述从模式模块的过程是写过程,所述写过程包括写地址与控制指令数据的传输、写数据的传输和写响应数据的传输;
所述写地址与控制指令数据的传输包括:所述中间模块根据主模式模块传输过来的第一安全等级参数对所述主模式模块的写地址与控制指令数据的安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码,验证发现有错且能纠错则报警;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述写地址与控制指令数据原先的第一编码,然后所述中间模块将所述写地址与控制指令数据的全部总线信号发送给从模式模块;
所述写数据的传输包括:所述中间模块根据主模式模块传输过来的第一安全等级参数对所述主模式模块的写数据的安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码,验证发现有错且能纠错则报警;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述写数据原先的第一编码,然后所述中间模块将所述写数据的全部总线信号发送给从模式模块;
所述写响应数据的传输包括写成功响应传输和写失败响应传输;
所述写成功响应传输包括:
所述从模式模块接收所述中间模块的所述写地址与控制指令数据或所述写数据时的任意过程出现验证发现有错且能纠错或验证发现无错则所述从模式模块向所述中间模块返回标识成功的写响应,包括:
所述从模式模块根据CPU配置选择第三安全等级参数,通过第三安全等级参数选择对应的第三编码算法和第三种子对所述写成功响应的原始总线信号进行编码,得到第三编码,然后所述从模式模块将所述写成功响应的全部总线信号发送给所述中间模块;
所述中间模块根据所述从模式模块传输过来的第三安全等级参数对所述从模式模块的写成功响应的数据安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述标识为成功的写响应数据原先的第三编码,然后所述中间模块将所述标识为成功的写响应的全部总线信号发送给所述主模式模块;
所述写失败响应传输包括:
所述从模式模块接收所述中间模块的所述写地址与控制指令数据或所述写数据时的任意过程出现验证发现有错且不能纠错则所述从模式模块向所述中间模块返回标识失败的写响应,包括:
所述从模式模块根据CPU配置选择第三安全等级参数,通过第三安全等级参数选择对应的第三编码算法和第三种子对所述写失败响应的原始总线信号进行编码,得到第三编码,然后所述从模式模块将所述标识失败的写响应的全部总线信号发送给所述中间模块;
所述中间模块根据所述从模式模块传输过来的第三安全等级参数对所述从模式模块的写失败响应数据的安全性进行验证,验证发现有错且不能纠错则报错同时根据第二错误异常编码表查表将第二编码替换成特殊识别编码;验证发现有错且能纠错或验证发现无错则根据第二编码算法运算结果和第二种子再次运算的结果去替换所述标识为失败的写响应数据原先的第三编码,然后所述中间模块将所述标识为失败的写响应的全部总线信号发送给主模式模块;
其中,所述CPU、主模式模块、中间模块、从模式模块之间都通过总线路径进行数据传输。
2.一种基于分级的数据完整性的端到端的保护系统,其特征在于,包括CPU、主模式模块、中间模块、从模式模块和总线汇总仲裁装置;
CPU对各个模块的种子组合、安全传输解码/编码方式组合及安全等级参数进行配置,并对各个模块之间的数据传输总线路径进行配置;则主模式模块配置有第一安全等级参数表、第一解码算法表、第一安全等级参数表中不同安全等级参数分别对应不同的第一种子和第一编码算法,中间模块配置有第二安全等级参数表、第二错误异常编码表、第二解码算法、第二安全等级参数表中不同安全等级参数分别对应不同的第二种子和第二编码算法;从模式模块配置有第三安全等级参数表、第三解码算法、第三安全等级参数表中不同安全等级参数分别对应不同的第三种子和第三编码算法;
中间模块,对所述主模式模块、所述从模式模块的安全性进行验证;将读地址与控制指令数据传输给所述从模式模块,将读数据传输给所述主模式模块,将写地址与控制指令数据传输给所述从模式模块,将写数据传输给所述从模式模块,将写响应数据传输给所述主模式模块;
主模式模块,向所述中间模块传输读地址与控制指令数据,向所述中间模块传输写地址与控制指令数据,向所述中间模块传输写数据;
从模式模块,向所述中间模块传输读数据和写响应数据;
总线汇总仲裁装置,对各个模块之间的总线路径进行规划。
3.如权利要求2所述的系统,其特征在于,所述系统还包括总线转换装置,所述总线转换装置与所述从模式模块和所述总线汇总仲裁装置都连接。
CN202110948405.8A 2021-08-18 2021-08-18 基于分级的数据完整性的端到端的保护方法及系统 Active CN113722770B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110948405.8A CN113722770B (zh) 2021-08-18 2021-08-18 基于分级的数据完整性的端到端的保护方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110948405.8A CN113722770B (zh) 2021-08-18 2021-08-18 基于分级的数据完整性的端到端的保护方法及系统

Publications (2)

Publication Number Publication Date
CN113722770A CN113722770A (zh) 2021-11-30
CN113722770B true CN113722770B (zh) 2024-06-18

Family

ID=78676720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110948405.8A Active CN113722770B (zh) 2021-08-18 2021-08-18 基于分级的数据完整性的端到端的保护方法及系统

Country Status (1)

Country Link
CN (1) CN113722770B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115048323B (zh) * 2022-08-16 2022-11-04 南京芯驰半导体科技有限公司 一种基于dma握手协议的数据传输系统及方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US5539345A (en) * 1992-12-30 1996-07-23 Digital Equipment Corporation Phase detector apparatus
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US8024642B2 (en) * 2007-08-29 2011-09-20 International Business Machines Corporation System and method for providing constrained transmission and storage in a random access memory
CN101477507B (zh) * 2009-01-22 2011-11-23 威盛电子股份有限公司 Usb纠错编解码装置及方法、usb传输系统及方法
CN103152123B (zh) * 2011-12-06 2015-08-12 沈阳高精数控技术有限公司 基于数控系统双环现场总线的自检错与自纠错的传输方法
CN102831028B (zh) * 2012-09-07 2016-01-20 苏州国芯科技有限公司 基于数据总线的ecc纠错方法及系统
CN104021105B (zh) * 2014-06-17 2016-10-19 成都联星微电子有限公司 一种基于arm的多功能接口扩展装置及方法
US10349403B2 (en) * 2016-08-25 2019-07-09 Qualcomm Incorporated Supporting different numerology configurations
CN110334040B (zh) * 2019-07-09 2020-11-06 中国科学院国家空间科学中心 一种星载固态存储系统
CN110688249B (zh) * 2019-09-20 2023-04-07 上海励驰半导体有限公司 一种纠错码电路的注错检测电路
WO2021146174A1 (en) * 2020-01-13 2021-07-22 Vulcan Technologies Shanghai Co., Ltd. Intelligent controller and sensor network bus, system and method including multi-layer platform security architecture
CN112506847B (zh) * 2021-02-04 2021-04-30 上海励驰半导体有限公司 多处理器通信方法及系统
CN113207004B (zh) * 2021-04-30 2024-02-02 华中科技大学 基于jpeg-ls帧间扩展的遥感图像压缩算法硬件实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于CPCI总线的轴角数字转换模块的设计;高伟;;传感器与微系统;20071020(第10期);75-77 *
第二讲VSAT次站和小站;魏玉飞;甘肃气象;19960630(第02期);36-40 *

Also Published As

Publication number Publication date
CN113722770A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
US8799738B2 (en) Method of detecting data transmission errors in a CAN controller, and a CAN controller for carrying out the method
US11108499B2 (en) System and method for transferring data and a data check field
CN105373441B (zh) 用于互连电路的传输控制检查
US8209594B2 (en) Sending device, receiving device, communication control device, communication system, and communication control method
CN113722770B (zh) 基于分级的数据完整性的端到端的保护方法及系统
CN109074294A (zh) 通信装置和通信系统
US7418647B2 (en) Method for data transmission
US8484546B2 (en) Information processing apparatus, information transmitting method, and information receiving method
US20180270015A1 (en) Data transmission apparatus and data transmission method, reception device and reception method, program, and data transmission system
US8264948B2 (en) Interconnection device
JP3866708B2 (ja) リモート入出力装置
JP5544099B2 (ja) コントローラ通信方法およびコントローラ通信装置
JP2012235335A (ja) 装置間ケーブルの誤接続検出方法及び装置
JP3884643B2 (ja) プロセス制御装置
JP7082084B2 (ja) 情報送受信システム、情報送受信方法、および、プログラム、ならびに、連動論理処理装置、および、電子端末
JP2003140704A (ja) プロセス制御装置
US11977508B2 (en) Serial data communication with in-frame response
CN102541001B (zh) 控制系统以及控制系统的节点地址设定方法
KR101268677B1 (ko) 복수의 ecu에 대한 리프로그래밍 장치 및 그 방법
JP4864755B2 (ja) データ処理システム及び診断方法
JP2011188272A (ja) スイッチ装置
US20090210610A1 (en) Computer system, data relay device and control method for computer system
JP2017054174A (ja) 受信装置、受信方法、及び、転送装置
JPH06244845A (ja) 多重伝送システム
US20090150727A1 (en) Data transmission method

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