一种防止错误注入攻击的方法及装置与流程

文档序号:29706957发布日期:2022-04-16 15:59阅读:159来源:国知局
一种防止错误注入攻击的方法及装置与流程

1.本发明涉及芯片安全技术领域,尤其涉及一种防止错误注入攻击的方法及装置。


背景技术:

2.芯片错误注入是指在芯片运行过程中故意引入毛刺,从而改变软件、硬件逻辑的执行过程。芯片错误注入可以用来绕过安全认证,也有可能造成密钥的泄露。常见的错误注入方式有时钟毛刺注入和电压毛刺注入。
3.安全芯片主要包含了安全加密、安全处理、安全存储、认证资质等几个方面。安全芯片是一个可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为电子设备提供加密和安全认证服务。用安全芯片进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全。作为智能终端的底层安全保障,安全芯片的应用能有效地防止黑客攻击与破解,提高智能终端的安全性,保护用户个人信息和应用数据安全。安全芯片正越来越多地应用于智能终端中,为金融支付、在线身份认证提供可靠保障。
4.针对芯片的安全存储方面,为了防止错误注入的攻击,目前常用的技术方法包括对数据总线进行加扰,增加窃取和篡改的难度;以及通过控制各个主机的访问权限,防止敏感数据的泄露。但现有防止错误注入的方法缺少对访问存储过程的整体控制,降低了防止错误注入的可靠性。因此如何提高防止错误注入的可靠性,是本领域技术人员尚待解决的技术问题。


技术实现要素:

5.本发明提出了一种防止错误注入攻击的方法及装置,能够提高防止错误注入的可靠性。
6.为了解决上述技术问题,本发明第一方面公开了一种防止错误注入攻击的方法,所述方法包括:
7.接收访问主体发送的针对片外存储器的访问请求,其中,所述访问请求中包括所述访问主体的主体标识以及所述访问主体需要访问的目标访问地址;
8.根据所述访问主体的主体标识获取第一安全属性数据;
9.根据所述目标访问地址获取第二安全属性数据;
10.判断所述第一安全属性数据与所述第二安全属性数据是否匹配;
11.若所述第一安全属性数据与所述第二安全属性数据匹配,则根据所述访问请求执行相应的访问操作;
12.若所述第一安全属性数据与所述第二安全属性数据不匹配,则向所述访问主体发送中断指示。
13.作为一种可选的实施方式,在本发明第一方面中,所述接收访问主体发送的针对片外存储器的访问请求之前,所述方法还包括:
14.将片外存储器的存储空间划分为多个存储区域;
15.确定所述片外存储器中每个存储区域对应的安全属性数据,得到片外存储区域安全属性数据集,所述片外存储区域安全属性数据集包括所述片外存储器中每个存储区域及其对应的安全属性数据;
16.所述根据所述目标访问地址获取第二安全属性数据,包括:
17.确定所述目标访问地址在所述片外存储器中对应的目标存储区域;
18.根据所述片外存储区域安全属性数据集,获取所述目标存储区域对应的安全属性数据,作为第二安全属性数据。
19.作为一种可选的实施方式,在本发明第一方面中,所述确定所述片外存储器中每个存储区域对应的安全属性数据,得到片外存储区域安全属性数据集之后,所述方法还包括:
20.对于所述片外存储器中每个存储区域,根据crc算法,对该存储区域的安全属性数据进行处理,得到该存储区域对应的crc校验码;
21.对于所述片外存储器中每个存储区域,根据该存储区域对应的安全属性数据以及该存储区域对应的crc校验码,生成该存储区域的第一组合数据;
22.对于所述片外存储器中每个存储区域,根据ecc算法,对该存储区域的第一组合数据进行处理,生成该存储区域的第一组合数据对应的ecc校验码;
23.对于所述片外存储器中每个存储区域,根据该存储区域的第一组合数据以及该存储区域的第一组合数据对应的ecc校验码,生成该存储区域的第二组合数据;
24.将所述片外存储器中的所有存储区域的第二组合数据确定为片外存储区域校验数据集。
25.作为一种可选的实施方式,在本发明第一方面中,所述根据所述片外存储区域安全属性数据集,获取所述目标存储区域对应的安全属性数据,作为第二安全属性数据之后,所述方法还包括:
26.根据所述片外存储区域校验数据集,获取所述目标存储区域的第二组合数据;
27.根据所述目标存储区域的第二组合数据,对所述目标存储区域对应的安全属性数据进行校验,得到校验结果;
28.当所述校验结果表示校验通过时,执行所述判断所述第一安全属性数据与所述第二安全属性数据是否匹配的操作;
29.当所述校验结果表示校验未通过时,向所述访问主体发送中断指示。
30.作为一种可选的实施方式,在本发明第一方面中,所述根据所述目标存储区域的第二组合数据,对所述目标存储区域对应的安全属性数据进行校验,得到校验结果,包括:
31.根据所述目标存储区域的第二组合数据,确定所述目标存储区域的第一组合数据以及所述目标存储区域的第一组合数据对应的ecc校验码;
32.根据所述目标存储区域的第一组合数据对应的ecc校验码,检测所述目标存储区域的第一组合数据是否存在错误;
33.当检测到所述目标存储区域的第一组合数据存在错误时,则将校验结果配置为校验未通过;
34.当检测到所述目标存储区域的第一组合数据不存在错误时,则根据所述目标存储
区域的第一组合数据,确定所述目标存储区域对应的crc校验码;
35.根据所述目标存储区域对应的crc校验码,检测所述目标存储区域对应的安全属性数据是否存在错误;
36.当检测到所述目标存储区域对应的安全属性数据存在错误时,将校验结果配置为校验未通过;
37.当检测到所述目标存储区域对应的安全属性数据不存在错误时,将校验结果配置为校验通过。
38.作为一种可选的实施方式,在本发明第一方面中,所述访问请求包括写数据访问请求;
39.所述根据所述访问请求执行相应的访问操作,包括:
40.根据所述写数据访问请求,确定所述写数据访问请求对应的目标写地址;
41.获取所述访问主体发送的待写入数据;
42.根据所述目标写地址对所述待写入数据执行加扰操作,生成加扰后的待写入数据;
43.根据所述目标写地址,在所述片外存储器的相应位置写入所述加扰后的待写入数据。
44.作为一种可选的实施方式,在本发明第一方面中,所述访问请求包括读数据访问请求;
45.所述根据所述访问请求执行相应的访问操作,包括:
46.根据所述读数据访问请求,确定所述读数据访问请求对应的目标读地址;
47.获取所述片外存储器根据所述目标读地址反馈的待读取数据;
48.根据所述目标读地址对所述待读取数据执行解扰操作,生成解扰后的待读取数据;
49.将所述解扰后的待读取数据反馈至所述访问主体。
50.本发明第二方面公开了一种防止错误注入攻击的装置,所述装置包括:
51.第一总线,用于接收访问主体发送的针对片外存储器的访问请求,其中,所述访问请求中包括所述访问主体的主体标识以及所述访问主体需要访问的目标访问地址;
52.安全检测模块,用于对所述第一总线接收到的所述访问请求进行安全检测;
53.其中,所述安全检测模块包括:
54.安全寄存器模块,用于根据所述访问主体的主体标识获取第一安全属性数据;
55.片上存储模块,用于根据所述目标访问地址获取第二安全属性数据;
56.鉴权模块,用于判断所述第一安全属性数据与所述第二安全属性数据是否匹配;
57.数据加解扰模块,用于若所述鉴权模块判断出所述第一安全属性数据与所述第二安全属性数据匹配,则根据所述访问请求执行相应的访问操作;
58.中断模块,用于若所述鉴权模块判断出所述第一安全属性数据与所述第二安全属性数据不匹配,则向所述访问主体发送中断指示。
59.作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:第二总线;
60.所述第二总线用于:在所述接收访问主体发送的针对片外存储器的访问请求之前,接收所述访问主体发送的配置信息;
61.所述片上存储模块还用于,根据所述访问主体发送的配置信息,将片外存储器的存储空间划分为多个存储区域;确定所述片外存储器中每个存储区域对应的安全属性数据,得到片外存储区域安全属性数据集,所述片外存储区域安全属性数据集包括所述片外存储器中每个存储区域及其对应的安全属性数据;
62.所述片上存储模块根据所述目标访问地址获取第二安全属性数据的方式包括:
63.确定所述目标访问地址在所述片外存储器中对应的目标存储区域;
64.根据所述片外存储区域安全属性数据集,获取所述目标存储区域对应的安全属性数据,作为第二安全属性数据。
65.作为一种可选的实施方式,在本发明第二方面中,所述片上存储模块,还用于:
66.所述确定所述片外存储器中每个存储区域对应的安全属性数据,得到片外存储区域安全属性数据集之后,对于所述片外存储器中每个存储区域,根据crc算法,对该存储区域的安全属性数据进行处理,得到该存储区域对应的crc校验码;
67.对于所述片外存储器中每个存储区域,根据该存储区域对应的安全属性数据以及该存储区域对应的crc校验码,生成该存储区域的第一组合数据;
68.对于所述片外存储器中每个存储区域,根据ecc算法,对该存储区域的第一组合数据进行处理,生成该存储区域的第一组合数据对应的ecc校验码;
69.对于所述片外存储器中每个存储区域,根据该存储区域的第一组合数据以及该存储区域的第一组合数据对应的ecc校验码,生成该存储区域的第二组合数据;
70.将所述片外存储器中的所有存储区域的第二组合数据确定为片外存储区域校验数据集。
71.作为一种可选的实施方式,在本发明第二方面中,所述安全检测模块还包括:片上存储校验模块;
72.所述片上存储校验模块用于:在根据所述片外存储区域安全属性数据集,获取所述目标存储区域对应的安全属性数据,作为第二安全属性数据之后,根据所述片外存储区域校验数据集,获取所述目标存储区域的第二组合数据;根据所述目标存储区域的第二组合数据,对所述目标存储区域对应的安全属性数据进行校验,得到校验结果;
73.所述鉴权模块,还用于当所述片上存储校验模块的校验结果表示校验通过时,执行所述判断所述第一安全属性数据与所述第二安全属性数据是否匹配的操作;
74.所述中断模块,还用于当所述片上存储校验模块的校验结果表示校验未通过时,向所述访问主体发送中断指示。
75.作为一种可选的实施方式,在本发明第二方面中,所述片上存储校验模块根据所述目标存储区域的第二组合数据,对所述目标存储区域对应的安全属性数据进行校验,得到校验结果的方式包括:
76.根据所述目标存储区域的第二组合数据,确定所述目标存储区域的第一组合数据以及所述目标存储区域的第一组合数据对应的ecc校验码;
77.根据所述目标存储区域的第一组合数据对应的ecc校验码,检测所述目标存储区域的第一组合数据是否存在错误;
78.当检测到所述目标存储区域的第一组合数据存在错误时,则将校验结果配置为校验未通过;
79.当检测到所述目标存储区域的第一组合数据不存在错误时,则根据所述目标存储区域的第一组合数据,确定所述目标存储区域对应的crc校验码;
80.根据所述目标存储区域对应的crc校验码,检测所述目标存储区域对应的安全属性数据是否存在错误;
81.当检测到所述目标存储区域对应的安全属性数据存在错误时,将校验结果配置为校验未通过;
82.当检测到所述目标存储区域对应的安全属性数据不存在错误时,将校验结果配置为校验通过。
83.作为一种可选的实施方式,在本发明第二方面中,所述访问请求包括写数据访问请求;
84.所述数据加解扰模块根据所述访问请求执行相应的访问操作的方式包括:
85.根据所述写数据访问请求,确定所述写数据访问请求对应的目标写地址;
86.获取所述访问主体发送的待写入数据;
87.根据所述目标写地址对所述待写入数据执行加扰操作,生成加扰后的待写入数据;
88.根据所述目标写地址,在所述片外存储器的相应位置写入所述加扰后的待写入数据。
89.作为一种可选的实施方式,在本发明第二方面中,所述访问请求包括读数据访问请求;
90.所述数据加解扰模块根据所述访问请求执行相应的访问操作的方式包括:
91.根据所述读数据访问请求,确定所述读数据访问请求对应的目标读地址;
92.获取所述片外存储器根据所述目标读地址反馈的待读取数据;
93.根据所述目标读地址对所述待读取数据执行解扰操作,生成解扰后的待读取数据;
94.将所述解扰后的待读取数据反馈至所述访问主体。
95.本发明第三方面公开了另一种防止错误注入攻击的装置,所述装置包括:
96.存储有可执行程序代码的存储器;
97.与所述存储器耦合的处理器;
98.所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的防止错误注入攻击的方法。
99.本发明第四方面公开了一种计算机可存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的防止错误注入攻击的方法。
100.与现有技术相比,本发明实施例具有以下有益效果:
101.本发明实施例中,通过接收访问主体发送的针对片外存储器的访问请求;获取与访问主体的主体标识对应的第一安全属性数据;获取与目标访问地址对应的第二安全属性数据;判断第一安全属性数据与第二安全属性数据是否匹配,当第一安全属性数据与第二安全属性数据匹配时,则根据访问请求执行相应的访问操作;当第一安全属性数据与第二安全属性数据不匹配时,则中断访问主体的访问请求。可见,实施本发明能够对访问请求进
行安全验证,提高防止错误注入的可靠性。
附图说明
102.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
103.图1是本发明实施例公开的一种防止错误注入攻击的方法的流程示意图;
104.图2是本发明实施例公开的另一种防止错误注入攻击的方法的流程示意图;
105.图3是本发明实施例公开的一种防止错误注入攻击的装置的结构示意图;
106.图4是本发明实施例公开的另一种防止错误注入攻击的装置的结构示意图;
107.图5是本发明实施例公开的又一种防止错误注入攻击的装置的结构示意图;
108.图6是本发明实施例公开的又一种防止错误注入攻击的装置的结构示意图。
具体实施方式
109.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
110.本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
111.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
112.本发明公开了一种防止错误注入攻击的方法及装置,能够对访问请求进行安全验证,提高防止错误注入的可靠性。以下分别进行详细说明。
113.实施例一
114.请参阅图1,图1是本发明实施例公开的一种防止错误注入攻击的方法的流程示意图。其中,图1所描述的防止错误注入攻击的方法可以应用于soc系统级芯片中,也可以应用于访问片外存储器的其他芯片系统中,本发明实施例不做限定。如图1所示,该防止错误注入攻击的方法可以包括以下操作:
115.s101、接收访问主体发送的针对片外存储器的访问请求,其中,访问请求中包括访问主体的主体标识以及访问主体需要访问的目标访问地址。
116.本发明实施例中,访问主体对片外存储中存储的目标数据进行操作时,发送包括访问主体的主体标识以及访问主体需要访问的目标访问地址的访问请求。为了避免错误注
入攻击,芯片系统对访问主体发送的访问请求进行安全检测。可选的,访问主体可以是cpu,也可以是其他主机。
117.s102、根据访问主体的主体标识获取第一安全属性数据。
118.本发明实施例中,芯片系统中存储有访问主体的主体标识及其对应的安全属性数据。示例性的,安全属性数据为1’b0,表示主机是一个非安全主机;安全属性数据为1’b1,表示主机是一个安全主机。根据访问请求中携带的访问主体的主体标识,能够获取与访问主体的主体标识对应的第一安全属性数据。
119.s103、根据目标访问地址获取第二安全属性数据。
120.本发明实施例中,芯片系统中存储有片外存储器存储地址对应的安全属性数据。示例性的,片外存储器存储地址对应的安全属性数据包括但不限于:安全可读/不可读、安全可写/不可写、非安全可读/不可读、非安全可写/不可写。根据访问请求中携带的目标访问地址,能够获取与目标访问地址对应的第二安全属性数据。
121.s104、判断第一安全属性数据与第二安全属性数据是否匹配;若第一安全属性数据与第二安全属性数据匹配,则执行步骤s105;若第一安全属性数据与第二安全属性数据不匹配,则执行步骤s106。
122.s105、根据访问请求执行相应的访问操作。
123.s106、向访问主体发送中断指示。
124.本发明实施例中,当获取到获取与访问主体的主体标识对应的第一安全属性数据以及与目标访问地址对应的第二安全属性数据之后,判断第一安全属性数据与第二安全属性数据是否匹配。示例性的,当与访问主体的主体标识对应的第一安全属性数据为非安全主机时,若与目标访问地址对应的第二安全属性数据为安全可读、安全可写、非安全不可读、非安全不可写,由此可以判定,第一安全属性数据与第二安全属性数据不匹配,向cpu发送中断指示,以无效该访问请求;若与目标访问地址对应的第二安全属性数据为安全可读、安全可写、非安全可读、非安全可写,则第一安全属性数据与第二安全属性数据匹配,此时可以根据访问请求执行相应的访问操作。
125.可见,实施如图1所描述的防止错误注入攻击的方法,能够对访问请求进行安全验证,限制了各个主机的访问空间,能够避免一些主机恶意的修改敏感数据,提高防止错误注入的可靠性。
126.本发明实施例中,可选的,访问请求包括写数据访问请求。
127.步骤s105、根据访问请求执行相应的访问操作,包括:
128.根据写数据访问请求,确定写数据访问请求对应的目标写地址;
129.获取访问主体发送的待写入数据;
130.根据目标写地址对待写入数据执行加扰操作,生成加扰后的待写入数据;
131.根据目标写地址,在片外存储器的相应位置写入加扰后的待写入数据。
132.本发明可选的实施例中,在访问主体发送写数据访问请求时,确定写数据访问请求对应的目标写地址,根据写数据访问请求对应的目标写地址产生一个加扰信息,然后访问主体发送的待写入数据进行加扰操作,生成加扰后的待写入数据,在片外存储器的相应位置写入加扰后的待写入数据。
133.本发明实施例中,可选的,访问请求包括读数据访问请求。
134.步骤s105、根据访问请求执行相应的访问操作,包括:
135.根据读数据访问请求,确定读数据访问请求对应的目标读地址;
136.获取片外存储器根据目标读地址反馈的待读取数据;
137.根据目标读地址对待读取数据执行解扰操作,生成解扰后的待读取数据;
138.将解扰后的待读取数据反馈至访问主体。
139.本发明可选的实施例中,在访问主体发送读数据访问请求时,确定读数据访问请求对应的目标读地址,并从目标读地址中获取待读取数据。根据读数据访问请求对应的目标读地址产生一个解扰信息,然后对待读取数据执行解扰操作进行解扰操作,生成解扰后的待读取数据,将解扰后的待读取数据反馈给访问主体,完成访问操作。
140.可见,实施上述可选的实施例,通过对数据进行加扰/解扰的方法,能够避免数据在io传输中被直接获取,提高了防止错误注入的可靠性。
141.实施例二
142.请参阅图2,图2是本发明实施例公开的另一种防止错误注入攻击的方法的流程示意图。其中,图2所描述的防止错误注入攻击的方法可以应用于soc系统级芯片中,也可以应用于访问片外存储器的其他芯片系统中,本发明实施例不做限定。如图2所示,该防止错误注入攻击的方法可以包括以下操作:
143.s201、将片外存储器的存储空间划分为多个存储区域。
144.本发明实施例中,整个片外存储器的存储空间较大,为了保护数据的安全,需要对整个片外存储器的存储空间进行区域划分,得到片外存储器的多个存储区域。本发明实施例中,可以对片外存储器的存储空间进行均匀划分,也可以根据实际存储数据的需要进行非均匀划分。
145.s202、确定片外存储器中每个存储区域对应的安全属性数据,得到片外存储区域安全属性数据集,片外存储区域安全属性数据集包括片外存储器中每个存储区域及其对应的安全属性数据。
146.本发明实施例中,对片外存储器的存储空间进行区域划分之后,需要配置各个区域的安全属性。示例性的,片外存储器中每个存储区域对应的安全属性数据的简化示例如下:
[0147]4’
b0000:安全不可读,安全不可写,非安全不可读,非安全不可写
[0148]4’
b0001:安全不可读,安全不可写,非安全不可读,非安全可写
[0149]4’
b0010:安全不可读,安全不可写,非安全可读,非安全不可写
[0150]4’
b0011:安全不可读,安全不可写,非安全可读,非安全可写
[0151]4’
b0100:安全不可读,安全可写,非安全不可读,非安全不可写
[0152]4’
b0101:安全不可读,安全可写,非安全不可读,非安全可写
[0153]4’
b0110:安全不可读,安全可写,非安全可读,非安全不可写
[0154]4’
b0111:安全不可读,安全可写,非安全可读,非安全可写
[0155]4’
b1000:安全可读,安全不可写,非安全不可读,非安全不可写
[0156]4’
b1001:安全可读,安全不可写,非安全不可读,非安全可写
[0157]4’
b1010:安全可读,安全不可写,非安全可读,非安全不可写
[0158]4’
b1011:安全可读,安全不可写,非安全可读,非安全可写
[0159]4’
b1100:安全可读,安全可写,非安全不可读,非安全不可写
[0160]4’
b1101:安全可读,安全可写,非安全不可读,非安全可写
[0161]4’
b1110:安全可读,安全可写,非安全可读,非安全不可写
[0162]4’
b1111:安全可读,安全可写,非安全可读,非安全可写
[0163]
将每个存储区域的区域标识及其对应的安全属性数据之间的关联关系存储至片外存储区域安全属性数据集,以供后续数据查询。
[0164]
s203、确定片外存储器中每个存储区域对应的第二组合数据,得到片外存储区域校验数据集。
[0165]
本发明实施例中,确定片外存储器中每个存储区域对应的第二组合数据,得到片外存储区域校验数据集,包括:
[0166]
对于片外存储器中每个存储区域,根据crc算法,对该存储区域的安全属性数据进行处理,得到该存储区域对应的crc校验码;
[0167]
对于片外存储器中每个存储区域,根据该存储区域对应的安全属性数据以及该存储区域对应的crc校验码,生成该存储区域的第一组合数据;
[0168]
对于片外存储器中每个存储区域,根据ecc算法,对该存储区域的第一组合数据进行处理,生成该存储区域的第一组合数据对应的ecc校验码;
[0169]
对于片外存储器中每个存储区域,根据该存储区域的第一组合数据以及该存储区域的第一组合数据对应的ecc校验码,生成该存储区域的第二组合数据;
[0170]
将片外存储器中的所有存储区域的第二组合数据确定为片外存储区域校验数据集。
[0171]
本发明实施例中,通过ecc校验码与crc校验码对片外存储器中每个存储区域的安全属性数据进行安全存储,可以提高数据的安全性。其中,根据crc算法得到crc校验码,或根据ecc算法得到ecc校验码,均可采用本领域通用的crc算法或ecc算法,本发明对此不作限定。
[0172]
s204、接收访问主体发送的针对片外存储器的访问请求,其中,访问请求中包括访问主体的主体标识以及访问主体需要访问的目标访问地址。
[0173]
本发明实施例中,针对步骤204的其它详细描述,请参照实施例一中针对步骤101的详细描述,本发明实施例不再赘述。
[0174]
s205、根据访问主体的主体标识获取第一安全属性数据。
[0175]
本发明实施例中,针对步骤205的其它详细描述,请参照实施例一中针对步骤102的详细描述,本发明实施例不再赘述。
[0176]
s206、确定目标访问地址在片外存储器中对应的目标存储区域。
[0177]
本发明实施例中,根据访问请求中的目标访问地址,在片外存储器的多个存储区域查找与目标访问地址匹配的目标存储区域,进一步,获取目标存储区域的目标存储区域标识。
[0178]
s207、根据片外存储区域安全属性数据集,获取目标存储区域对应的安全属性数据,作为第二安全属性数据。
[0179]
本发明实施例中,在预先构建的片外存储区域安全属性数据集中查询与目标存储区域标识匹配的安全属性数据,作为第二安全属性数据。
[0180]
s208、根据片外存储区域校验数据集,获取目标存储区域的第二组合数据。
[0181]
本发明实施例中,在预先构建的片外存储区域校验数据集中,根据目标存储区域的目标存储区域标识,查询与目标存储区域标识匹配的第二组合数据,即获取与目标存储区域标识匹配的安全属性数据及其相应的crc校验码与ecc校验码。
[0182]
s209、校验目标存储区域对应的安全属性数据,并判断是否通过校验;当校验结果表示校验通过时,执行步骤s210;当校验结果表示校验未通过时,则执行步骤s212。
[0183]
本发明实施例中,根据目标存储区域标识对应的crc校验码与ecc校验码,对目标存储区域对应的安全属性数据进行校验,可以提高数据的安全性,避免权限的越界。
[0184]
本发明实施例中,可选的,步骤s209、校验目标存储区域对应的安全属性数据,包括以下步骤:
[0185]
根据目标存储区域的第二组合数据,确定目标存储区域的第一组合数据以及目标存储区域的第一组合数据对应的ecc校验码;
[0186]
根据目标存储区域的第一组合数据对应的ecc校验码,检测目标存储区域的第一组合数据是否存在错误;
[0187]
当检测到目标存储区域的第一组合数据存在错误时,则将校验结果配置为校验未通过;
[0188]
当检测到目标存储区域的第一组合数据不存在错误时,则根据目标存储区域的第一组合数据,确定目标存储区域对应的crc校验码;
[0189]
根据目标存储区域对应的crc校验码,检测目标存储区域对应的安全属性数据是否存在错误;
[0190]
当检测到目标存储区域对应的安全属性数据存在错误时,将校验结果配置为校验未通过;
[0191]
当检测到目标存储区域对应的安全属性数据不存在错误时,将校验结果配置为校验通过。
[0192]
本发明可选的实施例中,根据目标存储区域标识对应的crc校验码与ecc校验码,对目标存储区域的安全属性数据进行分级校验,能够进行数据的纠错和检错。其中,ecc校验码用于校验安全属性数据与crc校验码的组合数据,crc校验码用于检测安全属性数据是否存在多位错误,通过两层校验可以弥补单次ecc检验检错能力不强的问题。
[0193]
本发明可选的实施例中,进一步可选的,当检测到目标存储区域的第一组合数据存在错误之后,则将校验结果配置为校验未通过之前,该方法还包括以下步骤:
[0194]
判断目标存储区域的第一组合数据对应的ecc校验码是否能够对检测出的错误进行纠正;
[0195]
当检测出的错误能够被纠正时,纠正目标存储区域的第一组合数据中的错误数据,并将校验结果配置为校验通过;
[0196]
当检测出的错误不能被纠正时,将校验结果配置为校验未通过。
[0197]
本发明可选的实施例中,从片外存储区域校验数据集中读出目标存储区域的第一组合数据时,产生一个新的ecc校验码,将新的ecc校验码和读出的旧ecc校验码进行异或操作,得到异或结果。示例性的,当异或结果为0时,表示数据正确;当异或结果有11位为1时,表示数据有1位错误,此时数据中存在的1位错误可被纠正;当异或结果为其他结果时,表示
数据超过1位发生错误,此时数据错误无法被纠正。
[0198]
可见,实施上述可选的实施例,通过采用了crc+ecc的校验方式,具有较强检错能力强的同时还可以纠正错误,避免权限的越界。
[0199]
s210、判断第一安全属性数据与第二安全属性数据是否匹配;若第一安全属性数据与第二安全属性数据匹配,则执行步骤s211;若第一安全属性数据与第二安全属性数据不匹配,则执行步骤s212。
[0200]
s211、根据访问请求执行相应的访问操作。
[0201]
s212、向访问主体发送中断指示。
[0202]
本发明实施例中,针对步骤s210-步骤s212的其它详细描述,请参照实施例一中针对步骤s104-步骤s106的详细描述,本发明实施例不再赘述。
[0203]
可见,实施如图2所描述的防止错误注入攻击的方法,能够通过一套安全鉴权机制,限制了各个主机的访问空间,可以避免一些主机恶意的修改敏感数据;通过校验机制,可以提高数据的安全性,在发生错误时,可以及时纠正,避免权限的越界;通过数据加解扰的方法,可以避免数据在io传输中被直接获取,保证了芯片的安全,提高了防止错误注入的可靠性。
[0204]
实施例三
[0205]
请参阅图3,图3是本发明实施例公开的一种防止错误注入攻击的装置的结构示意图。如图3所示,该防止错误注入攻击的装置可以包括:
[0206]
访问主体301、第一总线302、安全检测模块303、片外存储器304。
[0207]
第一总线302,用于接收访问主体301发送的针对片外存储器304的访问请求,其中,访问请求中包括访问主体的主体标识以及访问主体需要访问的目标访问地址。
[0208]
本发明实施例中,访问主体对片外存储中存储的目标数据进行操作时,通过第一总线发送包括访问主体的主体标识以及访问主体需要访问的目标访问地址的访问请求。可选的,访问主体可以是cpu,也可以是其他主机。
[0209]
安全检测模块303,用于对第一总线301接收到的访问请求进行安全检测。
[0210]
本发明实施例中,为了避免错误注入攻击,芯片系统中的安全检测模块对访问主体发送的访问请求进行安全检测。
[0211]
请参阅图4,图4是本发明实施例公开的另一种防止错误注入攻击的装置的结构示意图。如图4所示,该防止错误注入攻击的装置中的安全检测模块303包括:安全寄存器模块3031、片上存储模块3032、鉴权模块3033、数据加解扰模块3034、中断模块3035。
[0212]
安全寄存器模块3031,用于根据访问主体的主体标识获取第一安全属性数据。
[0213]
本发明实施例中,芯片系统中的安全寄存器模块存储有访问主体的主体标识及其对应的安全属性数据。示例性的,安全属性数据为1’b0,表示主机是一个非安全主机;安全属性数据为1’b1,表示主机是一个安全主机。根据访问请求中携带的访问主体的主体标识,能够获取与访问主体的主体标识对应的第一安全属性数据。
[0214]
片上存储模块3032,用于根据目标访问地址获取第二安全属性数据。
[0215]
本发明实施例中,芯片系统中的片上存储模块存储有片外存储器存储地址对应的安全属性数据。示例性的,片外存储器存储地址对应的安全属性数据包括但不限于:安全可读/不可读、安全可写/不可写、非安全可读/不可读、非安全可写/不可写。根据访问请求中
携带的目标访问地址,能够获取与目标访问地址对应的第二安全属性数据。
[0216]
鉴权模块3033,用于判断第一安全属性数据与第二安全属性数据是否匹配。
[0217]
数据加解扰模块3034,用于若鉴权模块3033判断出第一安全属性数据与第二安全属性数据匹配,则根据访问请求执行相应的访问操作。
[0218]
中断模块3035,用于若鉴权模块3033判断出第一安全属性数据与第二安全属性数据不匹配,则向访问主体301发送中断指示。
[0219]
本发明实施例中,当获取到获取与访问主体的主体标识对应的第一安全属性数据以及与目标访问地址对应的第二安全属性数据之后,判断第一安全属性数据与第二安全属性数据是否匹配。示例性的,当与访问主体的主体标识对应的第一安全属性数据为非安全主机时,若与目标访问地址对应的第二安全属性数据为安全可读、安全可写、非安全不可读、非安全不可写,由此可以判定,第一安全属性数据与第二安全属性数据不匹配,向cpu发送中断指示,以无效该访问请求;若与目标访问地址对应的第二安全属性数据为安全可读、安全可写、非安全可读、非安全可写,则第一安全属性数据与第二安全属性数据匹配,此时可以根据访问请求执行相应的访问操作。
[0220]
可见,实施如图4所描述的防止错误注入攻击的装置,能够对访问请求进行安全验证,限制了各个主机的访问空间,能够避免一些主机恶意的修改敏感数据,提高防止错误注入的可靠性。
[0221]
本发明实施例中,可选的,访问请求包括写数据访问请求。数据加解扰模块3034根据访问请求执行相应的访问操作的具体方式包括:
[0222]
根据写数据访问请求,确定写数据访问请求对应的目标写地址;
[0223]
获取访问主体发送的待写入数据;
[0224]
根据目标写地址对待写入数据执行加扰操作,生成加扰后的待写入数据;
[0225]
根据目标写地址,在片外存储器的相应位置写入加扰后的待写入数据。
[0226]
本发明可选的实施例中,在访问主体发送写数据访问请求时,确定写数据访问请求对应的目标写地址,根据写数据访问请求对应的目标写地址产生一个加扰信息,然后访问主体发送的待写入数据进行加扰操作,生成加扰后的待写入数据,在片外存储器的相应位置写入加扰后的待写入数据。
[0227]
本发明实施例中,可选的,访问请求包括读数据访问请求。数据加解扰模块3034根据访问请求执行相应的访问操作的具体方式包括:
[0228]
根据读数据访问请求,确定读数据访问请求对应的目标读地址;
[0229]
获取片外存储器根据目标读地址反馈的待读取数据;
[0230]
根据目标读地址对待读取数据执行解扰操作,生成解扰后的待读取数据;
[0231]
将解扰后的待读取数据反馈至访问主体。
[0232]
本发明可选的实施例中,在访问主体发送读数据访问请求时,确定读数据访问请求对应的目标读地址,并从目标读地址中获取待读取数据。根据读数据访问请求对应的目标读地址产生一个解扰信息,然后对待读取数据执行解扰操作进行解扰操作,生成解扰后的待读取数据,将解扰后的待读取数据反馈给访问主体,完成访问操作。
[0233]
可见,实施上述可选的实施例,通过对数据进行加扰/解扰的方法,能够避免数据在io传输中被直接获取,提高了防止错误注入的可靠性。
[0234]
本发明实施例中,请参阅图5,图5是本发明实施例公开的又一种防止错误注入攻击的装置的结构示意图。如图5所示,该防止错误注入攻击的装置还包括:第二总线305;
[0235]
第二总线305用于:在第一总线301接收访问主体301发送的针对片外存储器304的访问请求之前,接收访问主体301发送的配置信息。
[0236]
片上存储模块3032还用于,根据访问主体301发送的配置信息将片外存储器的存储空间划分为多个存储区域;确定片外存储器中每个存储区域对应的安全属性数据,得到片外存储区域安全属性数据集,片外存储区域安全属性数据集包括片外存储器中每个存储区域及其对应的安全属性数据。
[0237]
本发明实施例中,整个片外存储器的存储空间较大,为了保护数据的安全,需要对整个片外存储器的存储空间进行区域划分,得到片外存储器的多个存储区域。本发明实施例中,可以对片外存储器的存储空间进行均匀划分,也可以根据实际存储数据的需要进行非均匀划分。对片外存储器的存储空间进行区域划分之后,需要配置各个区域的安全属性。将每个存储区域的区域标识及其对应的安全属性数据之间的关联关系存储至片上存储模块的片外存储区域安全属性数据集,以供后续数据查询。
[0238]
片上存储模块3032根据目标访问地址获取第二安全属性数据的方式包括:
[0239]
确定目标访问地址在片外存储器中对应的目标存储区域;
[0240]
根据片外存储区域安全属性数据集,获取目标存储区域对应的安全属性数据,作为第二安全属性数据。
[0241]
本发明实施例中,根据访问请求中的目标访问地址,在片外存储器的多个存储区域查找与目标访问地址匹配的目标存储区域,进一步,获取目标存储区域的目标存储区域标识。在预先构建的片外存储区域安全属性数据集中查询与目标存储区域标识匹配的安全属性数据,作为第二安全属性数据。
[0242]
本发明实施例中,可选的,片上存储模块3032,还用于:
[0243]
确定片外存储器中每个存储区域对应的安全属性数据,得到片外存储区域安全属性数据集之后,对于片外存储器中每个存储区域,根据crc算法,对该存储区域的安全属性数据进行处理,得到该存储区域对应的crc校验码;
[0244]
对于片外存储器中每个存储区域,根据该存储区域对应的安全属性数据以及该存储区域对应的crc校验码,生成该存储区域的第一组合数据;
[0245]
对于片外存储器中每个存储区域,根据ecc算法,对该存储区域的第一组合数据进行处理,生成该存储区域的第一组合数据对应的ecc校验码;
[0246]
对于片外存储器中每个存储区域,根据该存储区域的第一组合数据以及该存储区域的第一组合数据对应的ecc校验码,生成该存储区域的第二组合数据;
[0247]
将片外存储器中的所有存储区域的第二组合数据确定为片外存储区域校验数据集。
[0248]
本发明可选的实施例中,通过ecc校验码与crc校验码对片外存储器中每个存储区域的安全属性数据进行安全存储,可以提高数据的安全性。其中,根据crc算法得到crc校验码,或根据ecc算法得到ecc校验码,均可采用本领域通用的crc算法或ecc算法,本发明对此不作限定。
[0249]
本发明实施例中,安全检测模块303还包括:片上存储校验模块3035。
[0250]
片上存储校验模块3035用于:根据片外存储区域安全属性数据集,获取目标存储区域对应的安全属性数据,作为第二安全属性数据之后,根据片外存储区域校验数据集,获取目标存储区域的第二组合数据;根据目标存储区域的第二组合数据,对目标存储区域对应的安全属性数据进行校验,得到校验结果。
[0251]
本发明实施例中,根据目标存储区域标识对应的crc校验码与ecc校验码,对目标存储区域对应的安全属性数据进行校验,可以提高数据的安全性,避免权限的越界。
[0252]
本发明实施例中,进一步可选的,片上存储校验模块3035根据目标存储区域的第二组合数据,对目标存储区域对应的安全属性数据进行校验,得到校验结果的方式包括:
[0253]
根据目标存储区域的第二组合数据,确定目标存储区域的第一组合数据以及目标存储区域的第一组合数据对应的ecc校验码;
[0254]
根据目标存储区域的第一组合数据对应的ecc校验码,检测目标存储区域的第一组合数据是否存在错误;
[0255]
当检测到目标存储区域的第一组合数据存在错误时,则将校验结果配置为校验未通过;
[0256]
当检测到目标存储区域的第一组合数据不存在错误时,则根据目标存储区域的第一组合数据,确定目标存储区域对应的crc校验码;
[0257]
根据目标存储区域对应的crc校验码,检测目标存储区域对应的安全属性数据是否存在错误;
[0258]
当检测到目标存储区域对应的安全属性数据存在错误时,将校验结果配置为校验未通过;
[0259]
当检测到目标存储区域对应的安全属性数据不存在错误时,将校验结果配置为校验通过。
[0260]
本发明可选的实施例中,根据目标存储区域标识对应的crc校验码与ecc校验码,对目标存储区域的安全属性数据进行分级校验,能够进行数据的纠错和检错。其中,ecc校验码用于校验安全属性数据与crc校验码的组合数据,crc校验码用于检测安全属性数据是否存在多位错误,通过两层校验可以弥补单次ecc检验检错能力不强的问题。
[0261]
本发明可选的实施例中,进一步可选的,当检测到目标存储区域的第一组合数据存在错误之后,则将校验结果配置为校验未通过之前,该方法还包括以下步骤:
[0262]
判断目标存储区域的第一组合数据对应的ecc校验码是否能够对检测出的错误进行纠正;
[0263]
当检测出的错误能够被纠正时,纠正目标存储区域的第一组合数据中的错误数据,并将校验结果配置为校验通过;
[0264]
当检测出的错误不能被纠正时,将校验结果配置为校验未通过。
[0265]
本发明可选的实施例中,从片外存储区域校验数据集中读出目标存储区域的第一组合数据时,产生一个新的ecc校验码,将新的ecc校验码和读出的旧ecc校验码进行异或操作,得到异或结果。示例性的,当异或结果为0时,表示数据正确;当异或结果有11位为1时,表示数据有1位错误,此时数据中存在的1位错误可被纠正;当异或结果为其他结果时,表示数据超过1位发生错误,此时数据错误无法被纠正。
[0266]
可见,实施上述可选的实施例,通过采用了crc+ecc的校验方式,具有较强检错能
disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
[0281]
最后应说明的是:本发明实施例公开的一种防止错误注入攻击的方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1