系统运行中数据流的安全检测和容错方法技术方案

技术编号:15569529 阅读:97 留言:0更新日期:2017-06-10 03:13
本发明专利技术公开了一种系统运行中数据流的安全检测和容错方法,所述方法通过CPU执行系统指令,通过DMA完成系统中数据的搬运,并通过CPU总线和DMA总线与外设和存储器进行交互,FLASH分成两个组成部分,一个是存储原始指令流的PFLASH,另一个是存储原始数据流的DFLASH;所述RAM分为程序RAM和数据RAM,分别实现对指令流和数据流的分级管理;所述PFLASH、DFLASH、PRAM和DRAM均设有保护,在CPU运行程序时,将数据以块为单位传输到DRAM,CPU从DRAM中取数执行。

Security detection and fault tolerance method of data stream in system operation

The invention discloses a data flow system in the operation of security detection and fault tolerance method, the method is executed through CPU system commands through DMA system in data handling, and through the CPU bus and DMA bus to interact with peripherals and memory, FLASH is divided into two parts, one is to store the original instruction stream PFLASH, another is the storage of raw data stream DFLASH; the RAM program is divided into RAM and RAM data, respectively, to achieve hierarchical management of instruction and data flow; the PFLASH, DFLASH, PRAM and DRAM are equipped with protection, in CPU run the program, the data in block units to transfer DRAM CPU take the number from DRAM.

【技术实现步骤摘要】

本专利技术属于数据流
,特别涉及系统运行中数据流的安全检测和容错技术。
技术介绍
数据流是CPU在执行过程中产生的数据集合,包括原始数据、中间数据和结果数据,决定CPU的执行结果或者运行方向。如果数据流有故障,则CPU可能得出错误的结果或者执行错误的指令,引起系统故障。与指令流有故障不同,数据流故障引起的CPU执行的错误指令还是在原有的指令流基础上的,是可以回溯和恢复正常运行的。所以,在系统运行中保证数据流的可靠性和正确性可以增加系统运行的可靠性。同时,在系统运行时,数据流是不停变化的,它无法采用和指令流一样的动态保护策略。如专利申请200810144511.5公开了一种移动多媒体广播业务数据流的发送方法,能够提高移动多媒体广播系统的传输效率及容错性。所述方法包括:将移动多媒体广播业务的视频、音频或数据作为复用块的净荷,将所述复用块的基本描述信息封装在复用块头部,所述基本描述信息包括该复用块的类型,所述类型用于标识本复用块的净荷是视频、音频或者数据;将由净荷和头部构成的复用块作为净荷封装在相应的视频单元、音频单元、或数据单元中;将所述视频单元、音频单元、或数据单元按照移动多媒体广播复用标准封装在复用子帧中,再将所述复用子帧组成复用帧,通过移动多媒体广播网络传送所述复用帧。然而,由于该方法是通过标识复用块来进行容错,需要进行编址,需要进行数据流的存储和检测,耗费资源多,容错效率不高,且并不能避免软件的攻击。
技术实现思路
针对上述问题,本专利技术提供了一种系统运行中数据流的安全检测和容错方法,该方法可保证数据流的动态安全检测和容错策略,使大部分非法攻击是可以被检测、识别和防护的,提高了数据流的安全性和可靠性。本专利技术的另一个目的在于提出一种系统运行中数据流的安全检测和容错方法,该方法实现简便,安全可靠,且容错效率和系统运行效率高。为实现上述目的,本专利技术的技术方案为:一种系统运行中数据流的安全检测和容错方法,所述方法通过CPU执行系统指令,通过DMA完成系统中数据的搬运,并通过CPU总线和DMA总线与外设和存储器进行交互,其特征在于FLASH可以分成两个组成部分,一个是存储原始指令流的PFLASH,另一个是存储原始数据流的DFLASH;所述RAM分为程序RAM和数据RAM,也叫PRAM和DRAM,分别实现对指令流和数据流的分级管理;所述PFLASH、DFLASH、PRAM和DRAM均设有保护,在CPU运行程序时,将数据以块为单位传输到DRAM,CPU从DRAM中取数执行。具体地说,在数据流安全检测和容错策略应用的系统结构中,有两条总线:一条是CPU总线,由CPU作为总线主机,其余设备,包括DMA、外设和存储器,都作为总线从机;另一条是DMA总线,由DMA作为总线主机负责在外设和存储器之间搬运数据,外设和存储器作为总线从机。两条总线的好处是CPU和DMA可以并行运行,提高系统的效率。CPU是系统中执行指令,完成设计功能的主要部件,也是有效攻击的主要目标。在执行功能时,CPU发出取指地址,从存储器中取得一条指令执行,在将执行结果写入存储器中,同时生成下一条指令的地址。DMA是系统中负责搬运数据的部件,它可以和CPU并行执行,在CPU执行指令功能的同时在外设和存储器之间或不同存储器之间搬运数据。由于DMA可以以块为单位进行数据搬运,所以,它的效率比较高。算法子系统是进行加密和解密的模块,和CPU总线和DMA总线都相连。接口、系统控制和系统运行参数配置等外设通过AHB总线与CPU总线和DMA总线相连。系统的原始指令流和原始数据流存储在非挥发的FLASH中,为了方便系统运行时对指令流的动态安全检测和容错,将非挥发FLASH分成若干块,且每个块的大小一样,同时,满足每一个块不能把程序和数据混存,即一个块内要么都是程序,要么都是数据,不能既有程序又有数据。在实际存储中存储指令流的FLASH块和存储数据流的FLASH块都在同一块FLASH中,而且一个FLASH块是指令流FLASH块还是数据流FLASH块也可以根据需要确定和改变。简言之,FLASH可以分成两个组成部分,一个是存储原始指令流的PFLASH,另一个是存储原始数据流的DFLASH。程序RAM和数据RAM,也叫PRAM和DRAM,是数据流的动态安全检测和容错的关键,它们实现了对指令流和数据流的分级管理,也是存储中间指令流的存储器。程序RAM和数据RAM不独立编址,它的读写和替换由硬件自动完成;同时因为安全检测和容错过程与软件无关,也增强了该方法对软件攻击的检测效果。程序RAM和数据RAM也分成若干块,块的大小和FLASH中块的大小相同,程序RAM中的块只存储程序;数据RAM中的块只存储数据。高速RAM是系统提供的用来进行系统和外设之间的数据交换的RAM。在CPU运行程序时,将数据以块为单位传输到DRAM,CPU从DRAM中取数执行。DRAM中数据也是以块为单位进行存储。增加DRAM做数据缓存的有两点好处,一个是RAM比FLASH对攻击更敏感,通过对RAM的安全检测可以做到在FLASH出错前就检测出硬件攻击,达到对FLASH防护的目的,另一个是用RAM做缓存可以提高系统的速度和效率。原始数据流存储在FLASH中。FLASH中的数据以块为单位存储和传输。存储指令的FLASH块被称为PFLASH,存储数据的FLASH块被称为DFLASH块。指令和数据不能混存,即一个块内要么全是指令,要么全是数据。一个FLASH块是PFLASH块还是DFLASH块由标志位来标识。对于DFLASH块,由数据多重纠错码来保证数据的可靠性和正确性。数据多重纠错码是以数据为单位计算的多重纠错码。可以对存储器内的非法改动进行检测和报警。由于存储量的限制,在CPU执行过程中,DRAM的容量不足时,如果该块DRAM发生过改动,可以将这个DRAM块存储回FLASH中。高速RAM是外设和系统进行数据交换的存储器,一般由DMA读写。同时高速RAM也可以是新程序在认证之前暂存的存储器。对它的保护可以采用块多重纠错码和数据多重纠错码联合保护的方式。DFLASH用数据多重纠错码来保证数据的可靠性和正确性,数据多重纠错码由FLASH保护电路生成,并以数据为单位。用数据多重纠错码来保护DRAM,DRAM的纠错码以数据位宽为单位,是静态检测手段,主要检测指令在DRAM中有没有不合法的改动。PRAM保护电路由块维护和静态保护两部分构成。和PRAM一样,块维护中包含块表、块替换等模块。块表中维护着FLASH地址和DRAM地址之间的映射块表,可以对块表进行查找和维护等,块替换是在DRAM已满时进行块替换的判断、选择和替换等。DRAM和PRAM一样,接收到的CPU地址实际上是FLASH的地址,通过查找块维护中的映射块表,判断这个地址是否已经在DRAM中,如果已经在DRAM中,则对FLASH的地址进行转换,得到该指令在DRAM中的地址。如果不在DRAM中,则发出失效中断,同时给出FLASH的地址。块替换模块接收到失效中断,经过替换算法,判断DRAM中哪一块将被新块替换掉,并将信息返还给块表模块。如果该块有改动,则发中断给DMA,DMA将改动后的数据块存储在FLASH中。CPU接收到失效中断,暂停取数操作,给DMA发送指令本文档来自技高网...
系统运行中数据流的安全检测和容错方法

【技术保护点】
一种系统运行中数据流的安全检测和容错方法,所述方法通过CPU执行系统指令,通过DMA完成系统中数据的搬运,并通过CPU总线和DMA总线与外设和存储器进行交互,其特征在于FLASH分成两个组成部分,一个是存储原始指令流的PFLASH,另一个是存储原始数据流的DFLASH;所述RAM分为程序RAM和数据RAM,分别实现对指令流和数据流的分级管理;所述PFLASH、DFLASH、PRAM和DRAM均设有保护,在CPU运行程序时,将数据以块为单位传输到DRAM,CPU从DRAM中取数执行。

【技术特征摘要】
1.一种系统运行中数据流的安全检测和容错方法,所述方法通过CPU执行系统指令,通过DMA完成系统中数据的搬运,并通过CPU总线和DMA总线与外设和存储器进行交互,其特征在于FLASH分成两个组成部分,一个是存储原始指令流的PFLASH,另一个是存储原始数据流的DFLASH;所述RAM分为程序RAM和数据RAM,分别实现对指令流和数据流的分级管理;所述PFLASH、DFLASH、PRAM和DRAM均设有保护,在CPU运行程序时,将数据以块为单位传输到DRAM,CPU从DRAM中取数执行。2.如权利要求1所述的系统运行中数据流的安全检测和容错方法,其特征在于该方法采用两条总线:一条是CPU总线,由CPU作为总线主机,其余设备,包括DMA、外设和存储器,都作为总线从机;另一条是DMA总线,由DMA作为总线主机负责在外设和存储器之间搬运数据,外设和存储器作为总线从机;CPU是系统中执行指令,完成设计功能的主要部件,在执行功能时,CPU发出取指地址,从存储器中取得一条指令执行,在将执行结果写入存储器中,同时生成下一条指令的地址;DMA是系统中负责搬运数据的部件,它和CPU并行执行,在CPU执行指令功能的同时在外设和存储器之间或不同存储器之间搬运数据;算法子系统是进行加密和解密的模块,和CPU总线和DMA总线都相连;接口、系统控制和系统运行参数配置等外设通过AHB总线与CPU总线和DMA总线相连。3.如权利要求1所述的系统运行中数据流的安全检测和容错方法,其特征在于系统的原始指令流和原始数据流存储在非挥发的FLASH中,非挥发FLASH分成若干块,且每个块的大小一样,同时,一个块内要么都是程序,要么都是数据。4.如权利要求3所述的系统运行中数据流的安全检测和容错方法,其特征在于程序RAM和数据RAM不独立编址,它的读写和替换由硬件自动完成,同时,程序RAM和数据RAM也分成若干块,块的大小和FLASH中块的大小相同,而且程序RAM中的块只存储程序,数据RAM中的块只存储数据。5.如权利要求4所...

【专利技术属性】
技术研发人员:张景
申请(专利权)人:深圳前海生生科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1