首页 / 专利库 / 电脑零配件 / 嵌入式系统 / 一种基于数据缓存扩充的嵌入式系统数据完整性保护方法

一种基于数据缓存扩充的嵌入式系统数据完整性保护方法

阅读:469发布:2020-05-12

专利汇可以提供一种基于数据缓存扩充的嵌入式系统数据完整性保护方法专利检索,专利查询,专利分析的服务。并且本 发明 提供一种基于数据缓存扩充的 嵌入式系统 数据完整性保护方法,步骤如下:1,确定校验信息长度;2,读入静态数据基本 块 文件;3,生成静态数据基本块校验信息存入到校验信息存储部分;4,将读取的内存中的静态数据作为杂凑 算法 的输入;5,将杂凑算法的输出和步骤2的校验信息进行对比,判断静态数据的完整性是否受到攻击;6,计算动态数据的校验信息存入到校验信息存储部分;7,如果数据缓存失靶,对原有动态数据生成新的校验信息;8,把步骤7中的校验信息和步骤6的校验信息进行比较,判断动态数据的完整性是否受到攻击。本发明完成了对嵌入式系统数据完整性的保护,解决了由于嵌入式系统数据完整性所引发的安全问题。,下面是一种基于数据缓存扩充的嵌入式系统数据完整性保护方法专利的具体信息内容。

1.一种嵌入式系统数据完整性保护方法,其特征在于:该方法具体步骤包括:
步骤1,确定校验信息长度;其中,校验信息长度会根据生成哈希值的杂凑算法的复杂程度和具体的安全需求综合确定;
步骤2,读入静态数据基本文件;其中,静态数据基本块文件指的是由多个静态数据基本块组成的文件,每个静态数据基本块中包括静态数据起止地址和静态数据两部分;
步骤3,对每一个静态数据基本块,将静态数据作为步骤1中杂凑算法的输入,输出的哈希值作为校验信息按照静态数据起止地址存入到相应的校验信息存储部分中;其中,校验信息存储部分与数据缓存共用地址;
步骤4,对于静态数据,在处理器检测到读取静态数据命令时,将读取的内存中的静态数据作为步骤1中杂凑算法的输入;
步骤5,将步骤4中杂凑算法的输出和校验信息存储部分中的校验信息进行对比,通过比较结果判断静态数据的完整性是否受到攻击;
步骤6,对于动态数据,在处理器把动态数据写入到数据缓存的时候,计算此动态数据的校验信息,并按照动态数据的起止地址把校验信息存入到相应的校验信息存储部分中;
步骤7,当处理器检测到读取数据命令时,如果数据缓存失靶,则要读入新数据替换数据缓存中的原有动态数据,原有动态数据则要写入到内存中,此时对原有动态数据使用杂凑算法生成新的校验信息;
步骤8,把步骤7中新的校验信息和步骤6中存储在检验信息存储部分的校验信息进行比较;如果比较结果相同,则表明动态数据完整且没有被篡改;如果比较结果不同,表明动态数据完整性受到了攻击;
通过以上步骤,完成了对嵌入式系统数据完整性的保护,实现对数据完整性的实时监测,从而提高了嵌入式系统的安全性,解决了由于嵌入式系统数据完整性所引发的安全问题。
2.根据权利要求1所述的一种嵌入式系统数据完整性保护方法,其特征在于:
在步骤3中所述的“对每一个静态数据基本块,将静态数据作为步骤1中杂凑算法的输入,输出的哈希值作为校验信息按照静态数据起止地址存入到相应的校验信息存储部分中;其中,校验信息存储部分与数据缓存共用地址”,其作法如下:
使用杂凑算法生成静态数据的校验信息,根据静态数据的地址把校验信息存储到校验信息存储部分的相应位置,校验信息存储部分与数据缓存共用地址,直接使用数据缓存的地址来表示对应的静态数据的地址,节省静态数据地址所需要的存储空间。
3.根据权利要求1所述的一种嵌入式系统数据完整性保护方法,其特征在于:
在步骤6中所述的“对于动态数据,在处理器把动态数据写入到数据缓存的时候,计算此动态数据的校验信息,并按照动态数据的起止地址把校验信息存入到相应的校验信息存储部分中”,其作法如下:
在检测到处理器的存储指令时,提取出动态数据,作为杂凑算法的输入生成校验信息,并根据此动态数据的地址信息存入到校验信息存储部分中。

说明书全文

一种基于数据缓存扩充的嵌入式系统数据完整性保护方法

技术领域

[0001] 本发明涉及一种基于数据缓存扩充的嵌入式系统数据完整性保护方法。它利用数据的哈希值作为数据完整性校验信息,存储在校验信息存储部分,在静态数据和动态数据完整性保护过程中,校验信息存储部分中的原始校验信息与数据读取过程中实时生成的校验信息进行对比,可检测针对数据完整性的攻击。属于嵌入式系统安全技术领域。

背景技术

[0002] 嵌入式系统在我们的生活、科技领域都受到了大范围应用,包括航空航天、军事、金融等领域,这些领域对于安全的高要求也就使得嵌入式系统的安全问题成为了研究的热点。由于嵌入式系统是一个资源受限的系统,通过运行病毒扫描和防入侵软件来抵御针对嵌入式系统的攻击会带来较大的功耗,并且会影响嵌入式系统的性能。因此,从硬件度来解决嵌入式系统的安全问题是非常必要的。
[0003] 应用程序分为指令部分和代码部分,而现有的对嵌入式系统安全的研究主要是针对指令部分来进行的,因为相较于指令,数据的保护具有更大的难度,原因如下:对内存而言,处理器对指令只存在读取操作,而对数据则包括了读取和写入两种操作;另一方面,指令部分在编译链接后是保持不变的,但数据部分分为静态数据和动态数据,其中静态数据的值在编译链接后是确定的,而动态数据的值是变化的,增加了监测的难度。由于数据的完整性同样对程序的运行起到了决定性的作用,所以保护嵌入式系统数据完整性同样重要。
[0004] 目前,对嵌入式系统数据完整性的研究普遍只考虑数据在进出内存时的情况,而本发明则充分考虑了处理器、数据缓存和内存组成的整个数据处理系统,通过研究数据在这个系统中的处理过程,对嵌入式系统数据完整性进行了保护。

发明内容

[0005] 1、目的:
[0006] 本发明的目的是提供一种基于数据缓存扩充的嵌入式系统数据完整性保护方法,它利用数据的哈希值作为数据完整性校验信息,存储在校验信息存储部分,在静态数据和动态数据完整性保护过程中,校验信息存储部分中的原始校验信息与数据读取过程中实时生成的校验信息进行对比,可检测针对数据完整性的攻击。
[0007] 2、技术方案:
[0008] 本发明涉及一种基于数据缓存扩充的嵌入式系统数据完整性保护方法。它利用数据的哈希值作为数据完整性校验信息,存储在校验信息存储部分,在静态和动态数据完整性保护过程中,校验信息存储部分中的原始校验信息与数据读取过程中实时生成的校验信息进行对比,可检测针对数据完整性的攻击。在程序运行过程中,针对静态数据,将其校验信息提前存入校验信息存储部分中相应的位置,在处理器读取数据时,如果数据缓存失靶,则将预先存储的校验信息与所读数据的校验信息进行对比。针对动态数据,当处理器把数据写入到数据缓存时,生成校验信息存储到校验信息存储部分,在读取新数据时,当数据缓存失靶并要替换原数据的时候,则原数据要写入到内存中,此时生成原数据的校验信息并与校验信息存储部分中的校验信息进行比较。对比结果相同则表明数据完整且没有被篡改,不同则表明数据完整性受到了攻击。
[0009] 本发明一种基于数据缓存扩充的嵌入式系统数据完整性保护方法,该方法具体步骤包括:
[0010] 步骤1,确定校验信息长度;其中,校验信息长度会根据生成哈希值的杂凑算法的复杂程度和具体的安全需求综合确定;
[0011] 所述的“哈希值”是指将任意长度的二进制值映射为固定长度的较小二进制值,这个较小二进制值就称为哈希值,哈希值是一段数据唯一的数值表现形式;
[0012] 所述的“杂凑算法”是指把任意长度的输入消息串变化为固定长的输出串的一种算法,其也被称为杂凑函数或杂凑运算;
[0013] 步骤2,读入静态数据基本文件;其中,静态数据基本块文件指的是由多个静态数据基本块组成的文件,每个静态数据基本块中包括静态数据起止地址和静态数据两部分;
[0014] 步骤3,对每一个静态数据基本块,将数据作为步骤1中杂凑算法的输入,输出的哈希值作为校验信息按照静态数据起止地址存入到相应的校验信息存储部分中;其中,校验信息存储部分与数据缓存共用地址;
[0015] 步骤4,对于静态数据,在处理器检测到读取静态数据命令时,将读取的内存中的静态数据作为步骤1中杂凑算法的输入;
[0016] 步骤5,将步骤4中杂凑算法的输出和校验信息存储部分中的校验信息进行对比,通过比较结果判断静态数据的完整性是否受到攻击;
[0017] 步骤6,对于动态数据,在处理器把动态数据写入到数据缓存的时候,计算此动态数据的校验信息,并按照动态数据的起止地址把校验信息存入到相应的校验信息存储部分中;
[0018] 步骤7,当处理器检测到读取数据命令时,如果数据缓存失靶,则要读入新数据替换数据缓存中的原有动态数据,原有动态数据则要写入到内存中,此时对原有动态数据使用杂凑算法生成新的校验信息;
[0019] 步骤8,把步骤7中新的校验信息和之前存储在检验信息存储部分的校验信息进行比较;如果比较结果相同,则表明动态数据完整且没有被篡改;如果比较结果不同,表明动态数据完整性受到了攻击;
[0020] 通过以上步骤,完成了对嵌入式系统数据完整性的保护,可以实现对数据完整性的实时监测,从而提高了嵌入式系统的安全性,解决了由于嵌入式系统数据完整性所引发的安全问题。
[0021] 其中,在步骤3中所述的“对每一个静态数据基本块,将数据作为步骤1中杂凑算法的输入,输出的哈希值作为校验信息按照静态数据起止地址存入到相应的校验信息存储部分中;其中,校验信息存储部分与数据缓存共用地址”,其作法如下:
[0022] 使用杂凑算法生成静态数据的校验信息,根据静态数据的地址把校验信息存储到校验信息存储部分的相应位置,校验信息存储部分与数据缓存共用地址,直接使用数据缓存的地址来表示对应的静态数据的地址,节省静态数据地址所需要的存储空间;
[0023] 其中,在步骤6中所述的“对于动态数据,在处理器把动态数据写入到数据缓存的时候,计算此动态数据的校验信息,并按照动态数据的起止地址把校验信息存入到相应的校验信息存储部分中”,其作法如下:
[0024] 在检测到处理器的存储指令时,提取出动态数据,作为杂凑算法的输入生成校验信息,并根据此动态数据的地址信息存入到校验信息存储部分中。
[0025] 3、优点及功效:
[0026] 这种基于数据缓存扩充的嵌入式系统数据完整性保护方法具有以下几个优点:
[0027] (1)本专利通过将校验信息存储部分与数据缓存共用地址,节约了地址信息存储空间,节省了片上资源。
[0028] (2)本专利使用128位的数据块作为生成哈希值的杂凑算法的输入,减少了杂凑函数所要进行计算的次数,也使得保护的效率得到了提高。附图说明
[0029] 图1是本发明所述的保护方法流程图

具体实施方式

[0030] 本发明利用数据的哈希值作为数据完整性校验信息,存储在校验信息存储部分,在静态和动态数据完整性保护过程中,校验信息存储部分中的原始校验信息与数据读取过程中实时生成的校验信息进行对比,可检测针对数据完整性的攻击。在程序运行过程中,针对静态数据,将其校验信息提前存入校验信息存储部分中相应的位置,在处理器读取数据时,如果数据缓存失靶,则将预先存储的校验信息与所读数据的校验信息进行对比。针对动态数据,当处理器把数据写入到数据缓存时,生成校验信息存储到校验信息存储部分,在读取新数据时,当数据缓存失靶并要替换原数据的时候,则原数据要写入到内存中,此时生成原数据的校验信息并与校验信息存储部分中的校验信息进行比较。对比结果相同则表明数据完整且没有被篡改,不同则表明数据完整性受到了攻击。
[0031] 本发明基于数据缓存扩充的嵌入式系统数据完整性保护方法,见图1所示,其具体步骤包括:
[0032] 步骤1,确定校验信息长度;其中,校验信息长度会根据生成哈希值的杂凑算法的复杂程度和具体的安全需求综合确定;
[0033] 步骤2,读入静态数据基本块文件;其中,静态数据基本块文件指的是由多个静态数据基本块组成的文件,每个静态数据基本块中包括静态数据起止地址和静态数据两部分;
[0034] 步骤3,对每一个静态数据基本块,将数据作为步骤1中杂凑算法的输入,输出的哈希值作为校验信息按照静态数据起止地址存入到相应的校验信息存储部分中;其中,校验信息存储部分与数据缓存共用地址;
[0035] 步骤4,对于静态数据,在处理器检测到读取静态数据命令时,将读取的内存中的静态数据作为步骤1中杂凑算法的输入;
[0036] 步骤5,将步骤4中杂凑算法的输出和校验信息存储部分中的校验信息进行对比,通过比较结果判断静态数据的完整性是否受到攻击;
[0037] 步骤6,对于动态数据,在处理器把动态数据写入到数据缓存的时候,计算此动态数据的校验信息,并按照动态数据的起止地址把校验信息存入到相应的校验信息存储部分中;
[0038] 步骤7,当处理器检测到读取数据命令时,如果数据缓存失靶,则要读入新数据替换数据缓存中的原有动态数据,原有动态数据则要写入到内存中,此时对原有动态数据使用杂凑算法生成新的校验信息;
[0039] 步骤8,把步骤7中新的校验信息和之前存储在检验信息存储部分的校验信息进行比较;如果比较结果相同,则表明动态数据完整且没有被篡改。如果比较结果不同,表明动态数据完整性受到了攻击。
[0040] 通过以上步骤,完成了对嵌入式系统数据完整性的保护,可以实现对数据完整性的实时监测,从而提高了嵌入式系统的安全性,解决了由于嵌入式系统数据完整性所引发的安全问题。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈