通过软件方式实现存储空间防重放的方法和系统技术方案

技术编号:30374217 阅读:30 留言:0更新日期:2021-10-16 17:59
本发明专利技术提供了一种通过软件方式实现存储空间防重放的方法和系统,包括:步骤1:在存储介质中选择两段长度相等的区域分别作为存储空间;步骤2:在任何非可信执行环境程序被引导之前,由引导程序或预设执行于可信执行环境内的程序对存储空间进行完整性检验,并根据完整性检验结果以及存储空间的版本比较结果,将两个存储空间分别设为当前激活存储空间和备份存储空间,按需初始化存储空间,并对备份存储空间进行上电写保护操作;步骤3:仅对当前激活存储空间进行读写操作,并在每次写操作时更新存储空间的版本号。本发明专利技术通过计算超级块内关键内容的认证码,使得超级块无法被任意篡改,一旦篡改认证码将无法与超级块内容匹配。一旦篡改认证码将无法与超级块内容匹配。一旦篡改认证码将无法与超级块内容匹配。

【技术实现步骤摘要】
通过软件方式实现存储空间防重放的方法和系统


[0001]本专利技术涉及重放保护内存块
,具体地,涉及一种通过软件方式实现存储空间防重放的方法和系统。尤其地,涉及一种基于可信执行环境的通过软件方式实现存储空间防重放的方法。

技术介绍

[0002]在密码学中,消息认证码(英语:Message authentication code,缩写为MAC),又译为消息鉴别码、文件消息认证码、讯息鉴别码、信息认证码,是经过特定算法后产生的一小段信息,检查某段消息的完整性,以及作身份验证。它可以用来检查在消息传递过程中,其内容是否被更改过,不管更改的原因是来自意外或是蓄意攻击。同时可以作为消息来源的身份验证,确认消息的来源。
[0003]重放攻击(ReplayAttacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。针对存储系统的重放攻本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种通过软件方式实现存储空间防重放的方法,其特征在于,包括:步骤1:在存储介质中选择两段长度相等的区域分别作为存储空间;步骤2:在任何非可信执行环境程序被引导之前,由引导程序或预设执行于可信执行环境内的程序对存储空间进行完整性检验,并根据完整性检验结果以及存储空间的版本比较结果,将两个存储空间分别设为当前激活存储空间和备份存储空间,按需初始化存储空间,并对备份存储空间进行上电写保护操作;步骤3:仅对当前激活存储空间进行读写操作,并在每次写操作时更新存储空间的版本号。2.根据权利要求1所述的通过软件方式实现存储空间防重放的方法,其特征在于,选择区域的长度为存储介质上电写保护单元长度的整数倍;存储空间内的数据以固定大小的块为单位进行组织,包括:超级块:存储空间仅包含一个超级块,描述存储空间的整体情况;文件元数据块:存放文件元数据节点;普通数据块:记录存储空间内文件的实际内容;所述文件元数据块中包含多个等长的元数据节点,每个元数据节点记录文件是否存在,若存在,则记录该文件的文件名、文件长度、该文件所包含的所有数据块,以及所有数据块拼接得到的哈希值。3.根据权利要求1所述的通过软件方式实现存储空间防重放的方法,其特征在于,存储空间的完整性检验包括:
‑‑
读取存储空间中超级块,验证超级块的魔数是否等于预期值,若不相等,则判定该存储空间已经损坏;
‑‑
遍历所有文件元数据块的文件元数据节点,若文件元数据节点指代的文件存在,则检查该文件节点,遍历该文件节点的所有数据块,将数据块拼接,对拼接后的内容进行散列运算得到哈希值,比较该哈希值与元数据节点的哈希值,若不同,则判定该存储空间已经损坏;
‑‑
拼接所有文件元数据块内容,若文件元数据指代的文件存在,则使用当前内容;若文件元数据指代的文件不存在,则视为长度与一个文件元数据等长的\0字符;对拼接后的内容进行散列运算得到哈希值;比较哈希值与超级块中的文件元数据哈希值,若不相等,则判定该存储空间已经损坏;
‑‑
使用存储空间根秘钥,通过消息认证码对除认证数据之外的超级块进行验证,将得到的结果与超级块中的认证数据进行比较,若不相等,则判定存储空间已经损坏;当上述检验均通过时,判定存储空间通过完整性检验。4.根据权利要求1所述的通过软件方式实现存储空间防重放的方法,其特征在于,若两个存储空间均未通过完整性检验,则对任一存储空间进行初始化操作并设为激活存储空间;若两个存储空间中有一个通过完整性检验,则对未通过完整性检验的存储空间进行初始化操作并设为激活存储空间,同时对通过完整性检验的存储空间进行上电写保护操作;若两个存储空间均通过完整性检验,则比较两个存储空间版本记录的大小,将版本记录值较大的存储空间的内容复制至另一个存储空间,同时对版本记录值较大的存储空间进
行上电写保护操作,并将版本记录值较小的存储空间设为激活存储空间。5.根据权利要求1所述的通过软件方式实现存储空间防重放的方法,其特征在于,存储空间的读操作包括:遍历文件元数据块中的文件元数据节点,找到当前文件存在且文件名符合预设要求的文件元数据节点,根据读请求找到该文件中的指定数据块,对整个存储空间进行完整性验证,若完整性验证通过,则读取请求继续进行,若未通过,则不再响应任何对存储空间的读写请求;存储空间的写操作包括:修改指定的数据块,根据新的文件内容,重新计算该文件对应的原数据节点的数据哈希值;根据新的元数据节点,重新计算新的超级块中的文件元数据块哈希;将版本记录加1;使用存储空间根秘钥重新计算超级块的认证数据;将新的元数据块哈希、版本记录以及认证数据写入到超级块中。6.一种...

【专利技术属性】
技术研发人员:梁凉李子男利文浩
申请(专利权)人:上海瓶钵信息科技有限公司
类型:发明
国别省市:

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

1