1.本发明实施例涉及嵌入式系统技术领域,尤其涉及一种嵌入式系统的隔离动态保护方法、装置、设备和存储介质。
背景技术:
2.基于嵌入式系统的设备因为灵活性和性价比高得到越来越广泛的运用,越来越多的嵌入式终端和线上互联的发展趋势也使得嵌入式系统的安全性面临更大的风险,与风险对应的是嵌入式系统的安全性也受到越来越高的重视。
3.目前常见的针对嵌入式系统的攻击方式主要有硬件攻击和软件攻击。整体来说,对嵌入式系统进行恶意攻击的整体思路是通过各种方式获取到嵌入式系统内部存储或者处理的程序代码和数据,造成用户隐私信息的泄露。应对恶意攻击时,有硬件保护策略和软件保护策略。软件保护策略是基于软件的方法,如通过运行杀毒和防入侵软件来抵御攻击,这种保护策略会带来较大的功耗,同时软件本身也可能存在安全漏洞,保护的整体性价比较低。硬件保护策略相较于软件保护策略而言具有相对较好的物理隔离性、高运算速度和低资源开销,是嵌入式系统保护的优选策略。
4.在现有的嵌入式系统的硬件保护中,通常是为保存于片外存储器程序配置密钥,这种配置方式如果发生密钥泄露,可能会导致所有程序的信息连带暴露。
技术实现要素:
5.本发明提供了嵌入式系统的隔离动态保护方法、装置、设备和存储介质,以解决现有技术中为程序整体配置的密钥发生泄露时导致所有程序的信息连带暴露的技术问题。
6.第一方面,本发明实施例提供了嵌入式系统的隔离动态保护方法,包括:从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥;通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息;根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区;通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息;从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息;对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。
7.进一步地,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,包括:从片外存储空间装载当前程序,根据所述当前程序的程序标识从片存储内空间读取当前程序对应的密钥。
8.进一步地,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,包括:从片外存储空间装载当前程序,并根据所述当前程序所在的程序空间的空间标识,从片内存储空间读取该程序空间当前对应的密钥作为所述当前程序对应的密钥。
9.进一步地,所述片内存储空间保存有多个密钥;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,包括:根据随机算法从所述多个密钥中,确认一个与当前读取的密钥不同的密钥,将确认出的密钥更新为下次读取的密钥。
10.进一步地,所述片内存储空间还对应保存有每个所述密钥对应的使用次数;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,还包括:更新所述使用次数。
11.进一步地,所述更新所述使用次数之后,还包括:当所述密钥的使用次数达到预设的使用寿命,删除该密钥并新增与已有密钥不同的密钥。
12.进一步地,通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息之后,还包括:根据所述密钥对程序存储信息进行加密得到程序校验信息,将所述程序校验信息保存到所述片外存储空间,并将所述程序存储信息保存到所述校验区;对应的,所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥之前,还包括:从片外存储空间读取程序校验信息以及所述当前程序的实时存储信息,从所述校验区读取密钥和程序存储信息;根据所述密钥对所述实时存储信息和程序存储信息分别进行加密得到实时校验信息和原始校验信息;确认所述实时校验信息、原始校验信息和程序校验信息完全匹配。
13.第二方面,本发明实施例提供了一种嵌入式系统的隔离动态保护装置,包括:数据加载单元,用于从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥;
写入初始化单元,用于通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息;数据写入单元,用于根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区;数据读取单元,用于通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息;校验初始化单元,用于从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息;数据比对单元,用于对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。
14.进一步地,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述数据加载单元,包括:第一加载模块,用于从片外存储空间装载当前程序,根据所述当前程序的程序标识从片存储内空间读取当前程序对应的密钥。
15.进一步地,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述数据加载单元,包括:第二加载模块,用于从片外存储空间装载当前程序,并根据所述当前程序所在的程序空间的空间标识,从片内存储空间读取该程序空间当前对应的密钥作为所述当前程序对应的密钥。
16.进一步地,所述片内存储空间保存有多个密钥;所述数据加载单元,包括:密码更新模块,用于根据随机算法从所述多个密钥中,确认一个与当前读取的密钥不同的密钥,将确认出的密钥更新为下次读取的密钥。
17.进一步地,所述片内存储空间还对应保存有每个所述密钥对应的使用次数;所述数据加载单元,还包括:次数更新模块,用于更新所述使用次数。
18.进一步地,所述嵌入式系统的隔离动态保护装置,还包括:密钥替换单元,用于当所述密钥的使用次数达到预设的使用寿命,删除该密钥并新增与已有密钥不同的密钥。
19.进一步地,所述嵌入式系统的隔离动态保护装置,还包括:校验信息生成单元,用于根据所述密钥对程序存储信息进行加密得到程序校验信息,将所述程序校验信息保存到所述片外存储空间,并将所述程序存储信息保存到所述校验区;对应的,所述嵌入式系统的隔离动态保护装置,还包括:程序信息读取单元,用于从片外存储空间读取程序校验信息以及所述当前程序的
实时存储信息,从所述校验区读取密钥和程序存储信息;程序信息加密单元,用于根据所述密钥对所述实时存储信息和程序存储信息分别进行加密得到实时校验信息和原始校验信息;程序信息校验单元,用于确认所述实时校验信息、原始校验信息和程序校验信息完全匹配。
20.第三方面,本发明实施例还提供了一种计算设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述计算设备实现如第一方面任一所述的嵌入式系统的隔离动态保护方法。
21.第四方面,本发明实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面任一所述的嵌入式系统的隔离动态保护方法。
22.上述嵌入式系统的隔离动态保护方法、装置、设备和存储介质,通过从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥;通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息;根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区;通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息;从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息;对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。通过片内存储且对应于不同程序动态配置的密钥,实现对各个程序处理的数据的独立动态保护,避免出现一个程序的密钥泄露导致所有程序的信息全部泄露的情况。
附图说明
23.图1为本发明实施例一提供的一种嵌入式系统的隔离动态保护方法的流程图;图2为本发明实施例一提供的嵌入式系统的隔离动态保护方法的密钥配置示意图;图3为本发明实施例二提供的一种嵌入式系统的隔离动态保护装置的结构示意图;图4为本发明实施例三提供的一种计算设备的结构示意图。
具体实施方式
24.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
25.需要注意的是,由于篇幅所限,本技术说明书没有穷举所有可选的实施方式,本领
域技术人员在阅读本技术说明书后,应该能够想到,只要技术特征不互相矛盾,那么技术特征的任意组合均可以构成可选的实施方式。
26.下面对各实施例进行详细说明。
27.实施例一图1为本发明实施例一提供的一种嵌入式系统的隔离动态保护方法的流程图。实施例中提供的嵌入式系统的隔离动态保护方法可以由各种基于嵌入式系统的计算设备执行,该计算设备可以通过软件和/或硬件的方式实现,该计算设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。
28.参考图1,本发明实施例一中的嵌入式系统的隔离动态保护方法,包括:步骤s110:从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥。
29.在基于嵌入式系统的设备中,通常认为片内存储空间是可信空间,整体可以实现发生在片外和总线上的攻击,保护片上系统数据的机密性和完整性,但是嵌入式系统处理器的存储和计算资源因硬件本身而受到限制,如果在嵌入式系统处理器增加繁复的安全机制,势必影响整个嵌入式系统的基础功能实现,带来不必要的硬件开销,所以要尽可能减少片上系统在核心业务之外的资源占用。但是片外存储空间通常与外界有较多数据交互,可读写的设置可以认为片外存储空间是不可信空间。
30.在本方案中,程序整体保存于片外存储空间,当有程序运行需求,则从片外存储空间状态当前程序,为保证不可信空间中数据的安全性,本方案中为当前程序动态分配密钥,用于保证向不可信空间写入和从不可信空间读取的数据提供完整性保护,从而能发现片外存储空间中的数据被攻击篡改的情形,提高了嵌入式系统数据的安全性。具体将密钥保存于片内存储空间,因片内存储空间属于可信空间,能有效保证密钥本身的安全性,而且当前程序对应的密钥动态变化,同一程序前后两次运行对应的密钥不同,从而可以保证对每次数据安全需要的独立支持。
31.步骤s120:通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息。
32.通过程序具体向片外存储空间进行数据写入的过程中,需要获取数据存储的关键信息,这种关键信息通常是唯一且敏感的,恶意攻击很可能会导致这些关键信息发生变化,因此在本方案中基于数据存储的关键信息来保证数据的完整性和安全性,在本方案中主要是数据的存储地址信息和存储时间信息。
33.步骤s130:根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区。
34.根据密钥对数据存储的关键信息进行加密后得到加密校验信息,整体用于记录初始的存储状态信息,加密校验信息直接随数据保存到片外存储空间。同时将存储时间信息和密钥保存到片内存储空间的校验区,以供后续与加密校验信息进行比对校验。
35.步骤s140:通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息。
36.对应于向片外存储空间写入数据时写入加密校验信息,在读取该数据时也对应读取之前存储的加密校验信息。
37.步骤s150:从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息。
38.步骤s160:对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。
39.对片内存储空间的数据,认为是可信的;对于片外存储空间的数据,如果没有因为收到攻击而发生变化,那么认为存储地址应该就是最初的存储地址,对应的存储地址信息和片内存储空间中保存的存储时间信息经过密钥加密得到参考校验信息,在所有信息和密钥都不变的情况下,参考校验信息和加密校验信息是完全一致,对应也就可以确认数据的安全性。当然,如果参考校验信息和加密校验信息不一致,对应也就可以确认数据因为恶意攻击而发生变化,对一个触发防御机制。
40.通过本方案,在基本不增加片内存储空间的存储和处理负担的情况下,可以有效保证每个程序独立有动态的密钥安全机制,有效提高了每个程序应对恶意攻击的能力,即使某一程序的密钥发生泄露,也不会导致其他程序被连带破解。
41.在具体实现过程中,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;步骤s110对应可以包括步骤s111:步骤s111:从片外存储空间装载当前程序,根据所述当前程序的程序标识从片存储内空间读取当前程序对应的密钥。
42.该实施例相当于将每个程序整体保存于一个程序空间,每个程序对应一套密钥,当然,不同程序对应的一套密钥可以相同,但是各自按各自的方式进行使用更新。如图2所示,片外存储空间100有5个程序空间,每个程序空间保存一个程序,所有程序对应片内存储空间200中的同一套密钥,在最近一段时间内,5个程序空间中的第一个、第二个和第四个依次作为当前程序运行,对应的密钥分别为一套密钥的第三个、第二个和第一个。
43.在另一个具体的实现过程中,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;步骤s110对应可以包括步骤s112:步骤s112:从片外存储空间装载当前程序,并根据所述当前程序所在的程序空间的空间标识,从片内存储空间读取该程序空间当前对应的密钥作为所述当前程序对应的密钥。
44.该实施例中每个程序空间对应一套密钥,一个程序空间内的程序在运行时,按该程序空间的整体密码更新过程确认当前程序对应的密钥。
45.关于密钥,可以在所述片内存储空间保存有多个密钥;步骤s110对应可以包括步骤s113:步骤s113:根据随机算法从所述多个密钥中,确认一个与当前读取的密钥不同的密钥,将确认出的密钥更新为下次读取的密钥。
46.根据随机算法确认密钥的更新是一种可选的实现方式,在具体实现过程中国,还可以按设定的规则进行切换。
47.本方案还可以对密钥的使用状态进行记录,即所述片内存储空间还对应保存有每个所述密钥对应的使用次数;步骤s110对应可以包括步骤s114:
步骤s114:更新所述使用次数。
48.更新使用次数可以对密钥的使用情况进行评估,进一步还可以结合使用次数的增长速度判断是否有攻击导致的次数增加异常。
49.在记录使用状态的基础上,还可以通过步骤s115对密钥进行替换:步骤s115:当所述密钥的使用次数达到预设的使用寿命,删除该密钥并新增与已有密钥不同的密钥。
50.为保证数据的安全性,可以基于密钥的使用次数进行密钥的删除和新增,避免密钥的使用寿命过程导致安全性降低。
51.除了对数据的隔离保护,还可以对程序本身进行隔离保护,在步骤s130之后,还包括步骤s131,在步骤s110之前,对应还包括步骤s101-步骤s103,从而综合实现对程序本身的隔离保护:步骤s131:根据所述密钥对程序存储信息进行加密得到程序校验信息,将所述程序校验信息保存到所述片外存储空间,并将所述程序存储信息保存到所述校验区。
52.步骤s101:从片外存储空间读取程序校验信息以及所述当前程序的实时存储信息,从所述校验区读取密钥和程序存储信息。
53.步骤s102:根据所述密钥对所述实时存储信息和程序存储信息分别进行加密得到实时校验信息和原始校验信息。
54.步骤s103:确认所述实时校验信息、原始校验信息和程序校验信息完全匹配。
55.以上处理验证过程与数据的校验过程大体相同的,但是程序本身相较于数据有着更高的安全性要求,所以最终提出了基于实时校验信息、原始校验信息和程序校验信息的全面匹配。只有步骤s103的确认完全匹配,才有本方案中的程序装载和运行过程。如果其中有一个不匹配,也就没有后续的数据装载和数据读写过程。另外,如果数据读写过程中出现数据验证不通过,也不会有后续的处理,并且会触发相应的安全机制,具体嵌入式系统应对恶意攻击的策略不是本方案的保护重点,在此不做重复说明。
56.上述,嵌入式系统的隔离动态保护方法,通过从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥;通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息;根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区;通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息;从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息;对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。通过片内存储且对应于不同程序动态配置的密钥,实现对各个程序处理的数据的独立动态保护,避免出现一个程序的密钥泄露导致所有程序的信息全部泄露的情况。
57.实施例二图3为本发明实施例二提供的一种嵌入式系统的隔离动态保护装置的结构示意图。参考图3,该嵌入式系统的隔离动态保护装置包括:数据加载单元210、写入初始化单元
220、数据写入单元230、数据读取单元240、校验初始化单元250和数据比对单元260。
58.其中,数据加载单元210,用于从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥;写入初始化单元220,用于通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息;数据写入单元230,用于根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区;数据读取单元240,用于通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息;校验初始化单元250,用于从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息;数据比对单元260,用于对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。
59.在上述实施例的基础上,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述数据加载单元210,包括:第一加载模块,用于从片外存储空间装载当前程序,根据所述当前程序的程序标识从片存储内空间读取当前程序对应的密钥。
60.在上述实施例的基础上,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述数据加载单元210,包括:第二加载模块,用于从片外存储空间装载当前程序,并根据所述当前程序所在的程序空间的空间标识,从片内存储空间读取该程序空间当前对应的密钥作为所述当前程序对应的密钥。
61.在上述实施例的基础上,所述片内存储空间保存有多个密钥;所述数据加载单元210,包括:密码更新模块,用于根据随机算法从所述多个密钥中,确认一个与当前读取的密钥不同的密钥,将确认出的密钥更新为下次读取的密钥。
62.在上述实施例的基础上,所述片内存储空间还对应保存有每个所述密钥对应的使用次数;所述数据加载单元210,还包括:次数更新模块,用于更新所述使用次数。
63.在上述实施例的基础上,所述嵌入式系统的隔离动态保护装置,还包括:密钥替换单元,用于当所述密钥的使用次数达到预设的使用寿命,删除该密钥并新增与已有密钥不同的密钥。
64.在上述实施例的基础上,所述嵌入式系统的隔离动态保护装置,还包括:校验信息生成单元,用于根据所述密钥对程序存储信息进行加密得到程序校验信息,将所述程序校验信息保存到所述片外存储空间,并将所述程序存储信息保存到所述校验区;对应的,所述嵌入式系统的隔离动态保护装置,还包括:
程序信息读取单元,用于从片外存储空间读取程序校验信息以及所述当前程序的实时存储信息,从所述校验区读取密钥和程序存储信息;程序信息加密单元,用于根据所述密钥对所述实时存储信息和程序存储信息分别进行加密得到实时校验信息和原始校验信息;程序信息校验单元,用于确认所述实时校验信息、原始校验信息和程序校验信息完全匹配。
65.本发明实施例提供的嵌入式系统的隔离动态保护装置包含在计算设备中,且可用于执行上述实施例一中提供的任一嵌入式系统的隔离动态保护方法,具备相应的功能和有益效果。
66.实施例三图4为本发明实施例三提供的一种计算设备的结构示意图,如图所示,该计算设备包括处理器310和存储器320,另外还可以包括输入装置330、输出装置340以及通信装置350;计算设备中处理器310的数量可以是一个或多个,图4中以一个处理器310为例;计算设备中的处理器310、存储器320、输入装置330、输出装置340以及通信装置350可以通过总线或其他方式连接,图4中以通过总线连接为例。
67.存储器320作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的嵌入式系统的隔离动态保护方法对应的程序指令/模块(例如,嵌入式系统的隔离动态保护装置中的数据加载单元210、写入初始化单元220、数据写入单元230、数据读取单元240、校验初始化单元250和数据比对单元260)。处理器310通过运行存储在存储器320中的软件程序、指令以及模块,从而执行终端设备的各种功能应用以及数据处理,即实现上述的嵌入式系统的隔离动态保护方法。
68.存储器320可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器320可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器320可进一步包括相对于处理器310远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
69.输入装置330可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。输出装置340可包括显示屏等显示设备。
70.上述终端设备包含嵌入式系统的隔离动态保护装置,可以用于执行任意嵌入式系统的隔离动态保护方法,具备相应的功能和有益效果。
71.实施例四本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本技术任意实施例中提供的嵌入式系统的隔离动态保护方法中的相关操作,且具备相应的功能和有益效果。
72.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。
73.因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算
机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
74.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
75.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd) 或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
76.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
77.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
技术特征:
1.嵌入式系统的隔离动态保护方法,其特征在于,包括:从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥;通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息;根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区;通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息;从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息;对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。2.根据权利要求1所述的嵌入式系统的隔离动态保护方法,其特征在于,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,包括:从片外存储空间装载当前程序,根据所述当前程序的程序标识从片存储内空间读取当前程序对应的密钥。3.根据权利要求1所述的嵌入式系统的隔离动态保护方法,其特征在于,所述片外存储空间包括多个程序空间,所述程序整体保存于一个程序空间;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,包括:从片外存储空间装载当前程序,并根据所述当前程序所在的程序空间的空间标识,从片内存储空间读取该程序空间当前对应的密钥作为所述当前程序对应的密钥。4.根据权利要求1-3任一项所述的嵌入式系统的隔离动态保护方法,其特征在于,所述片内存储空间保存有多个密钥;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,包括:根据随机算法从所述多个密钥中,确认一个与当前读取的密钥不同的密钥,将确认出的密钥更新为下次读取的密钥。5.根据权利要求4所述的嵌入式系统的隔离动态保护方法,其特征在于,所述片内存储空间还对应保存有每个所述密钥对应的使用次数;所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥,还包括:更新所述使用次数。6.根据权利要求5所述的嵌入式系统的隔离动态保护方法,其特征在于,所述更新所述使用次数之后,还包括:当所述密钥的使用次数达到预设的使用寿命,删除该密钥并新增与已有密钥不同的密
钥。7.根据权利要求1所述的嵌入式系统的隔离动态保护方法,其特征在于,所述通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息之后,还包括:根据所述密钥对程序存储信息进行加密得到程序校验信息,将所述程序校验信息保存到所述片外存储空间,并将所述程序存储信息保存到所述校验区;对应的,所述从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥之前,还包括:从片外存储空间读取程序校验信息以及所述当前程序的实时存储信息,从所述校验区读取密钥和程序存储信息;根据所述密钥对所述实时存储信息和程序存储信息分别进行加密得到实时校验信息和原始校验信息;确认所述实时校验信息、原始校验信息和程序校验信息完全匹配。8.嵌入式系统的隔离动态保护装置,其特征在于,包括:数据加载单元,用于从片外存储空间装载当前程序,从片内存储空间读取当前程序对应的密钥,并更新下次读取的密钥;写入初始化单元,用于通过所述当前程序向片外存储空间写入数据时,根据所述数据的存储参数生成校验信息,所述存储参数包括所述数据在所述片外存储空间的存储地址信息和存储时间信息;数据写入单元,用于根据所述密钥对所述校验信息进行加密得到加密校验信息,将所述加密校验信息保存到所述片外存储空间,并将所述密钥和存储时间信息保存到所述片内存储空间的校验区;数据读取单元,用于通过所述当前程序从所述片外存储空间读取数据时,从所述片外存储空间读取该数据对应的加密校验信息;校验初始化单元,用于从所述校验区读取密钥和存储时间信息,根据所述密钥对读取数据时的获取的存储地址信息和读取到的存储时间信息进行加密得到参考校验信息;数据比对单元,用于对所述参考校验信息和读取到的加密校验信息进行比对,根据比对结果确认数据的安全性。9.一种计算设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述计算设备实现如权利要求1-7任一所述的嵌入式系统的隔离动态保护方法。10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一项所述的嵌入式系统的隔离动态保护方法。
技术总结
本发明实施例公开了一种嵌入式系统的隔离动态保护方法、装置、设备和存储介质。该方案通过从片外存储空间装载当前程序,从片内存储空间读取并更新密钥;通过当前程序向片外存储空间写入数据时,生成校验信息;根据密钥对校验信息进行加密得到加密校验信息,将加密校验信息保存到片外存储空间,并将密钥和存储时间信息保存到片内存储空间的校验区;通过当前程序从片外存储空间读取数据时,从片外存储空间读取加密校验信息;从校验区读取密钥和存储时间信息,并对应得到参考校验信息;对参考校验信息和加密校验信息进行比对确认安全性。实现了对各个程序处理的数据的独立动态保护,避免出现一个程序的密钥泄露导致所有程序的信息全部泄露的情况。全部泄露的情况。全部泄露的情况。
技术研发人员:董文强 王亮 颜昕明
受保护的技术使用者:广州万协通信息技术有限公司
技术研发日:2022.04.24
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-7920.html