用于采用消息验证码标签的系统的防止回退攻击的数据完整性保护技术方案

技术编号:13927072 阅读:37 留言:0更新日期:2016-10-28 09:43
一个特征涉及用于将数据单元存储在存储装置中的高效过程,所述过程允许验证数据单元以防止回退攻击和其它攻击,例如剪切粘贴攻击。在一个方面中,基于初级密钥、待存储的数据单元、所述数据单元的对应的索引(例如页面索引)以及所述对应的数据单元的次级密钥而生成或以其它方式获得消息验证码MAC,所述次级密钥针对每一新写入操作而生成。所述MAC和所述对应的数据单元存储在大容量存储装置中,例如相对较不安全的芯片外存储装置。次级密钥存储在单独的存储装置中,例如更加安全的芯片上存储装置。在一些实例中,新次级密钥在每一数据写入后基于非零随机或伪随机值生成。

【技术实现步骤摘要】
【国外来华专利技术】相关申请案的交叉参考本申请案主张2014年3月11日在美国专利商标局提交的第14/205,226号美国非临时专利申请案的优先权和权益,所述申请案的全部内容通过引用结合在此。
各种特征涉及数据验证,且尤其涉及用于存储在移动计算装置中的数据的消息验证码(MAC)标签。
技术介绍
数据完整性/验证可以通过将标签或哈希(例如MAC标签)与数据存储在一起而提供于数据存储系统中。例如,通过对秘密密钥和数据应用消息验证算法(MAA),可以生成MAC标签以用于待存储的数据单元。数据单元和MAC标签随后存储在存储装置中,例如存储器装置。当随后从存储装置读取数据单元时,基于所检索的数据和原始秘密密钥而生成新MAC标签。如果新MAC标签与所存储的MAC标签不同,那么将数据单元拒绝为损坏的。如果新MAC标签与所存储的MAC标签相同,那么数据由此得到验证且被认为是可信的。然而,如果数据随时间推移合理地更新,那么攻击者可能用旧(数据单元,标签)对来替换存储装置中的有效(数据单元,标签)对。这是回退攻击的实例。确切地说,当数据存储在用于例如移动无线装置中的类型的更加安全的芯片上系统(SoC)处理电路的外部的相对较不安全的存储装置(例如芯片外存储装置)中时,可能出现问题。此类存储装置系统容易受到的另一形式的攻击是剪切粘贴攻击,其中攻击者用来自另一位置的经加密数据段来替换某一经加密数据段,由此希望当处于新位置时,所得经解密数据将与旧位置相同。减轻这些形式的攻击可能是昂贵的,因为有效的减轻可能需要将状态数据存储在安全的存储装置中,例如存储在芯片上存储装置内。例如,在极端情况下,可以将所有标签存储在安全的芯片上存储装置内以完全防止芯片外存储装置中的数据的回退攻击。由于存储和性能要求,此实施方案是不实用的。因此,需要保护数据完整性以防止各种类型的攻击。
技术实现思路
一种用于存储数据以准许验证数据的方法包含:基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而获得消息验证码;将消息验证码和数据单元存储在第一存储装置中;以及将数据单元的次级密钥存储在第二存储装置中。在另一方面中,一种装置包含:第一存储装置,其用于存储数据单元和消息验证码;第二存储装置,其用于存储用于验证第一存储装置的数据单元的验证密钥;以及处理电路,其耦合到第一和第二存储装置,其中所述处理电路经配置以:基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而获得MAC;将MAC和数据单元存储在第一存储装置中;以及将数据单元的次级密钥存储在第二存储装置中。在又一方面中,一种装置包含:用于基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而获得MAC的装置;用于将MAC和数据单元存储在第一存储装置中的装置;以及用于将数据单元的次级密钥存储在第二存储装置中的装置。在又另一个方面,一种机器可读存储媒体包含一或多个指令,所述一或多个指令在由至少一个处理电路执行时使得至少一个处理电路:基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而获得MAC;将MAC和数据单元存储在第一存储装置中;以及将数据单元的次级密钥存储在第二存储装置中。附图说明图1说明根据说明性实例的移动通信装置的芯片上系统(SoC)处理电路的方块图。图2提供利用次级密钥来存储在安全存储装置中的回退减轻过程的概述。图3说明用于图2的一般过程的示例性数据存储组件。图4说明用于利用次级密钥的到芯片外存储装置的写入操作的用于图2的一般过程的示例性方法。图5说明用于利用次级密钥的从芯片外存储装置进行的读取操作的用于图2的一般过程的示例性方法。图6说明用于利用次级密钥的从芯片外存储装置进行的写入操作的用于图2的一般过程的示例性系统。图7说明用于利用次级密钥的从芯片外存储装置进行的读取操作的用于图2的一般过程的示例性系统。图8是说明用于采用处理系统的设备的硬件实施方案的实例的方块图,所述处理系统可以利用图1到7的系统、方法和设备。图9是说明图8的处理电路的组件的方块图。图10是说明图8的机器可读媒体的指令组件的方块图。图11概述用于存储数据以准许验证数据的示例性方法。图12概述用于验证所存储的数据的示例性方法。具体实施方式在以下描述中,给出具体细节以提供对本专利技术的各种方面的彻底理解。然而,所属领域的技术人员应理解,所述方面可在没有这些具体细节的情况下实践。例如,可以用方块图示出电路以便避免以不必要的细节混淆所述方面。在其它状况下,可不详细示出众所周知的电路、结构及技术以便不混淆本专利技术的方面。词语“示例性”在本文中用以意指“充当实例、例子或说明”。本文中描述为“示例性”的任何实施方案或方面未必解释为比本专利技术的其它方面优选或有利。同样,术语“方面”并不要求本专利技术的所有方面包含所论述的特征、优点或操作模式。概述若干新颖特征涉及将数据存储在存储装置(例如存储器装置)中以准许在检索后验证数据。所述新颖特征可以用于具有相对较小但安全的芯片上存储装置(例如SRAM)以结合较大但较不安全的芯片外存储装置(例如DDR RAM)使用的系统中。然而,本文中所描述的特征可适用于广泛范围的系统且可适用于实现多种目标。在一个方面中,SoC处理电路的数据验证组件获得用于存储在芯片外存储装置中的数据的MAC标签,其中所述MAC标签是基于初级密钥、待存储的特定数据单元或消息、数据单元的对应的索引(例如页面索引)以及数据单元的次级密钥(N)。例如,MAC可以是通过基于全局初级密钥(K)、每数据单元次级密钥(Ni)以及待存储的数据单元(Mi)而将消息验证算法(MAA)应用到对应的数据单元索引(i)来获得的标签。MAC和对应的数据单元存储在芯片外存储装置中。然而,次级密钥存储在形成SoC的部分的更加安全的芯片上存储装置中。在本文中所描述的各种实例中,在每一新数据写入操作后获得新次级密钥。也就是说,每当数据改变且将新值写入到芯片外存储装置时,次级密钥加载有新随机或伪随机值,所述值存储在更加安全的芯片上存储装置中。由此,次级密钥是潜在攻击者不可预测的且未知的。攻击者不能直接地存取次级密钥,因为次级密钥存储在隐含地安全的芯片上存储装置中。就此而言,考虑将数据存储在数据单元(或页面)中的系统。我们可以简单方式使用消息验证算法(MAA)来将完整性/验证与日期单元添加在一起。指示Mi为数据单元i。每一Mi具有对应的标签Ti,所述标签例如使用MAA(或大体上任何伪随机函数(PRF)或密钥派生函数(KDF))来获得,所述MAA表示为接受用于数据单元M的秘密密钥K的函数F,即,T=F(K,M)。举例来说,其中数据将被存储在DDR RAM中,且数据单元可以表示信息块、片段或DDR RAM的其它合适的部分。然而,Ti=F(K,Mi)的使用并不防止数据的回退。例如,如果Mi在某一点处合理地变成具有对应的标签的那么潜在的敌对者或恶意的实体可以Mi覆写且以Ti覆写系统随后将会将这些先前有效值接受为仍有效的,因为系统将基于所检索的数据生成新标签以用于与所保存的标签比较。这两个标签将匹配,且系统将不能检测到在M处的数据已经连同其标签一起回退。此问题的一个可能的解决方案是在内部存储每一Ti,例如,将每一本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN106062770.html" title="用于采用消息验证码标签的系统的防止回退攻击的数据完整性保护原文来自X技术">用于采用消息验证码标签的系统的防止回退攻击的数据完整性保护</a>

【技术保护点】
一种用于存储数据以准许验证所述数据的方法,其包括:基于初级密钥、待存储的数据单元、所述数据单元的对应的索引以及所述数据单元的次级密钥而获得消息验证码;将所述消息验证码和所述数据单元存储在第一存储装置中;以及将所述数据单元的所述次级密钥存储在第二存储装置中。

【技术特征摘要】
【国外来华专利技术】2014.03.11 US 14/205,2261.一种用于存储数据以准许验证所述数据的方法,其包括:基于初级密钥、待存储的数据单元、所述数据单元的对应的索引以及所述数据单元的次级密钥而获得消息验证码;将所述消息验证码和所述数据单元存储在第一存储装置中;以及将所述数据单元的所述次级密钥存储在第二存储装置中。2.根据权利要求1所述的方法,其进一步包括:在到所述第一存储装置的每一新数据写入操作后获得待存储在所述第一存储装置中的对应的数据单元的新次级密钥。3.根据权利要求1所述的方法,其进一步包括通过以下操作来验证存储在所述第一存储装置中的数据单元:从所述第一存储装置获得数据单元和在所述对应的数据单元索引处的对应的消息验证码;基于所述数据单元索引从所述第二存储装置获得对应的次级密钥;从所述第二存储装置获得所述初级密钥;基于所述初级密钥、从所述第一存储装置获得的所述数据单元、所述对应的数据单元索引以及所述对应的次级密钥而获得新消息验证码;以及比较所述新消息验证码与从所述第一存储装置获得的所述消息验证码以检测其间的任何差异。4.根据权利要求3所述的方法,其进一步包括在于所述新消息验证码与从所述第一存储装置获得的所述消息验证码之间检测到任何差异时产生差错指示符。5.根据权利要求1所述的方法,其中所述次级密钥基本上小于所述消息验证码和所述初级密钥。6.根据权利要求1所述的方法,其中所述消息验证码MAC是针对对应的数据单元索引(i)基于全局初级密钥(K)、每数据单元次级密钥(Ni)、所述数据单元(Mi)以及所述数据单元索引(i)而获得的标签(Ti)。7.根据权利要求6所述的方法,其中所述标签(Ti)是通过基于所述全局初级密钥(K)、所述次级密钥(Ni)以及所述数据单元(Mi)而将消息验证算法MAA应用到所述对应的数据单元索引(i)来获得。8.根据权利要求7所述的方法,其进一步包括在应用所述MAA之前,串连特定的次级密钥(Ni)、对应的索引(i)以及所述数据单元(Mi)与所述全局初级密钥(K)以获得所述消息验证码MAC。9.根据权利要求1所述的方法,其中所述次级密钥是随机或伪随机值中的一者。10.根据权利要求1所述的方法,其中所有次级密钥值初始地设定为零,且所有随后的次级密钥值设定为非零值。11.根据权利要求1所述的方法,其中所述方法在耦合到芯片外存储装置的芯片上系统装置内操作,且所述第一存储装置包含所述芯片外存储装置。12.根据权利要求1所述的方法,其中所述方法在具有芯片上存储装置的芯片上系统装置内操作,且所述第二存储装置包含所述芯片上存储装置。13.一种装置,其包括:第一存储装置,其用于存储数据单元和消息验证码;第二存储装置,其用于存储用于验证所述第一存储装置的所述数据单元的验证密钥;处理电路,其耦合到所述第一和第二存储装置,所述处理电路经配置以基于初级密钥、待存储的数据单元、数据单元的对应的索引以及所述数据单元的次级密钥而获得消息验证码;将所述消息验证码和所述数据单元存储在所述第一存储装置中;以及将所述数据单元的所述次级密钥存储在所述第二存储装置中。14.根据权利要求13所述的装置,其中所述处理电路进一步经配置以在到所述第一存储装置的每一新数据写入操作后获得待存储在所述第一存储装置中的对应的数据单元的新次级密钥。15.根据权利要求13所述的装置,其中所述处理电路进一步经配置以通过以下操作来验证存储在所述第一存储装置中的数据单元:从所述第一存储装置获得数据单元和在所述对应的数据单元索引处的对应的消息验证码;基于所述数据单元索引从所述第二存储装置获得对应的次级密钥;从所述第二存储装置获得所述初级密钥;基于所述初级密钥、从所述第一存储装置获得的所述数据单元、所述对应的数据单元索引以及所述对应的次级密钥而获得新消息验证码;以及比较所述新消息验证码与从所述第一存储装置获得的所述消息验证码以检测其间的任何差异。16.根据权利要求15所述的装置,其中所述处理电路进一步经配置以在于所述新消息...

【专利技术属性】
技术研发人员:B·B·布伦利V·K·代瓦西加马尼S·N·阿南德
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国;US

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

1