CN106062770A - 用于采用消息验证码标签的***的防止回退攻击的数据完整性保护 - Google Patents
用于采用消息验证码标签的***的防止回退攻击的数据完整性保护 Download PDFInfo
- Publication number
- CN106062770A CN106062770A CN201580010793.8A CN201580010793A CN106062770A CN 106062770 A CN106062770 A CN 106062770A CN 201580010793 A CN201580010793 A CN 201580010793A CN 106062770 A CN106062770 A CN 106062770A
- Authority
- CN
- China
- Prior art keywords
- data cell
- storage device
- message authentication
- authentication code
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 144
- 230000008569 process Effects 0.000 claims description 118
- 238000012545 processing Methods 0.000 claims description 26
- 238000012360 testing method Methods 0.000 claims description 5
- 238000010200 validation analysis Methods 0.000 claims description 5
- 238000004804 winding Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 23
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000000712 assembly Effects 0.000 description 6
- 238000000429 assembly Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000010295 mobile communication Methods 0.000 description 4
- 238000013502 data validation Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000010008 shearing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000008570 general process Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3242—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一个特征涉及用于将数据单元存储在存储装置中的高效过程,所述过程允许验证数据单元以防止回退攻击和其它攻击,例如剪切粘贴攻击。在一个方面中,基于初级密钥、待存储的数据单元、所述数据单元的对应的索引(例如页面索引)以及所述对应的数据单元的次级密钥而生成或以其它方式获得消息验证码MAC,所述次级密钥针对每一新写入操作而生成。所述MAC和所述对应的数据单元存储在大容量存储装置中,例如相对较不安全的芯片外存储装置。次级密钥存储在单独的存储装置中,例如更加安全的芯片上存储装置。在一些实例中,新次级密钥在每一数据写入后基于非零随机或伪随机值生成。
Description
相关申请案的交叉参考
本申请案主张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中,且数据单元可以表示信息块、片段或DDRRAM的其它合适的部分。然而,Ti=F(K,Mi)的使用并不防止数据的回退。例如,如果Mi在某一点处合理地变成具有对应的标签的那么潜在的敌对者或恶意的实体可以Mi覆写且以Ti覆写***随后将会将这些先前有效值接受为仍有效的,因为***将基于所检索的数据生成新标签以用于与所保存的标签比较。这两个标签将匹配,且***将不能检测到在M处的数据已经连同其标签一起回退。此问题的一个可能的解决方案是在内部存储每一Ti,例如,将每一Ti存储在芯片上SRAM或隐含地安全的等效存储装置内。然而,就存储开销和性能要求而言,此解决方案的成本可能太高。替代地,本文中所描述的示例性过程用以基于次级密钥N和其数据单元索引i而将另外的输入值应用到MAA,使得每数据单元标签Ti获得为Ti=F(K,Ni,i,M)。
在其中每一次级密钥具有b位的实例中,回退攻击的成功概率可为仅2-b。因此,在其中执行一次攻击的时间为约200毫秒的实例中,成功的攻击将花费十四年左右来上升到任何相当大概率的成功(假设b的合适的值为例如32位)。因此,次级密钥提供回退保护。索引i的值(作为MAA的单独输入)有助于防止“剪切粘贴”攻击。为适应引导程序(所述引导程序不应与***引导混淆),所有次级密钥值初始地设定为零,且随后的次级密钥值设定为非零值。以此方式,***可以通过检查所述值来检测页面是否已经被写入。因此,这些技术允许:(a)用于实施回退保护的减小的内部存储装置,因为次级密钥可以相对于标签较小,以及(b)在时间零处引导***而基本上无额外开销。
示例性芯片上***硬件环境
图1说明根据其中可以利用各种新颖特征的一个实例的移动通信装置的芯片上***(SoC)处理电路100。SoC处理电路可以是由高通有限公司(Qualcomm Incorporated)制造的SnapdragonTM处理电路。SoC处理电路100包含应用程序处理电路110,所述应用程序处理电路包含多核CPU 112。应用程序处理电路110通常控制移动通信装置的所有组件的操作。在一个方面中,应用程序处理电路110包含数据验证组件150,所述数据验证组件经配备以采用动态地生成或以其它方式获得的次级密钥来执行基于MAC的验证。应用程序处理电路110可以包含引导ROM 118,所述引导ROM存储用于SoC处理电路100的各种组件的引导顺序指令。SoC处理电路100进一步包含通过应用程序处理电路110控制的一或多个***子***120。***子***120可以包含但不限于存储子***(例如,只读存储器(ROM)、随机存取存储器(RAM))、视频/图形子***(例如,数字信号处理电路(DSP)、图形处理电路单元(GPU))、音频子***(例如,DSP、模数转换器(ADC)、数模转换器(DAC))、电源管理子***、安全性子***(例如,加密、数字权限管理(DRM))、输入/输出(I/O)子***(例如,键盘、触摸屏),以及有线和无线连接性子***(例如,通用串行总线(USB)、全球定位***(GPS)、Wi-Fi、全球移动通信***(GSM)、码分多址(CDMA)、4G长期演进(LTE)调制解调器)。示例性***子***120(其为调制解调器子***)包含DSP 122、各种硬件(HW)和软件(SW)组件124,以及各种射频(RF)组件126。在一个方面中,每一***子***120还包含引导ROM 128,其存储相关联的***子***120的主引导映像(未示出)。
SoC处理电路100进一步包含各种内部共享HW资源130,例如内部共享存储装置132(例如,静态RAM(SRAM)、双倍数据速率(DDR)同步动态(SD)RAM、DRAM、快闪存储器等),所述内部共享HW资源由应用程序处理电路110和各种***子***120共享以存储各种运行时数据。在一个方面中,SoC处理电路100的组件110、118、120、128和130集成在单芯片衬底上。SoC处理电路100进一步包含各种外部共享HW资源140,所述外部共享HW资源可以位于不同芯片衬底上且经由***总线(未示出)与SoC处理电路100通信。外部共享HW资源140可以包含例如外部共享存储装置142(例如,DDR RAM、DRAM、快闪存储器)和/或永久数据存储装置144(例如,安全数字(SD)卡或硬盘驱动(HDD)等),这些存储装置由应用程序处理电路110和各种***子***120共享以存储各种类型数据,例如操作***(OS)信息、***文件、程序、应用程序、用户数据、音频/视频文件等。当激活并入有SoC的移动通信装置时,安全SoC处理电路100开始***启动过程。确切地说,应用程序处理电路110访问引导ROM 118以检索用于SoC处理电路100的引导指令,包含用于各种***子***120的引导顺序指令。***子***120还可以具有另外的***引导RAM 128。
示例性数据存储和验证过程
图2提供可以由图1的SoC处理电路或其它合适配备的装置、***或处理电路通过利用次级密钥而用于提供回退保护(以及剪切粘贴保护)的示例性过程200的概述。在步骤202处,对于数据写入操作,处理电路基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而生成或以其它方式获得MAC,所述次级密钥优选地设定为非零随机或伪随机值。本文中,“获得”广泛地覆盖例如生成、获取、接收、检索或执行任何其它合适的对应的动作。在步骤204处,处理电路将MAC和对应的数据单元存储在第一存储装置中,例如芯片外DDR RAM。在步骤206处,处理电路将数据单元的次级密钥存储在与第一存储装置不同的第二存储装置中,例如芯片上SRAM或快闪存储器。之后,对于数据读取操作,在步骤208处,处理电路基于初级密钥、从第一存储装置获得的数据单元、对应的数据单元索引以及从第二存储装置获得的对应的次级密钥而生成或以其它方式获得新MAC。在步骤210处,处理电路比较新MAC与连同消息一起从第一存储装置获得的MAC以检测其间的任何差异,使得处理电路可以且由此检测可能的验证问题。
图3相应地说明示例性芯片上和芯片外存储装置300和302。芯片上存储装置300存储初级密钥(K)303以及分别地由参考数字3041...304n指示的各种次级密钥N1...Nn,其中每一次级密钥可以为仅四个字节。如所提出,次级密钥初始地设定为零,且随后动态地生成为非零随机或伪随机值,每当芯片外存储装置中的对应的数据单元被写入或改变时,设定或重新设定所述值。次级密钥存储在分别地由参考数字3061...306n指示的数据的对应的页面索引INDEX1...INDEXn处。芯片外存储装置302存储分别地由参考数字3081...308n指示的对应的数据单元M1...Mn的最新版本,其中每一数据单元可以表示在芯片外存储装置的地址空间内的数据页。数据单元在所述地址空间内存储在对应的页面索引INDEX1...INDEXn处,其中所述索引分别地由参考数字3101...310n指示。芯片外存储装置302还存储相对较长的MAC标签TAG1...TAGn,所述MAC标签分别地由参考数字3121...312n指示且示出为全局密钥(K)和对应的次级密钥(Ni)、索引(INDEXi)和数据单元(Mi)的函数F,即,TAGi=F(K,Ni,i,Mi)。
可以大大减轻***内的回退攻击,因为,如果恶意实体试图在相同数据单元索引处将旧数据单元/标签对***到芯片外存储装置中,那么所述旧标签(部分基于随机生成的但现在作废的次级密钥而生成)将不匹配基于保持在芯片上存储装置中的当前存储的次级密钥而生成的比较标签。也就是说,芯片上存储装置将具有更新的次级标签(当在所述特定索引处的数据最近一次更新时生成)。因此,当从芯片外存储装置检索数据的处理电路执行MAC验证过程时,所述处理电路将基于所检索的数据、页面索引、全局密钥以及存储在芯片上存储装置中的次级密钥的最新版本而生成比较标签。比较标签将不匹配存储在芯片外存储装置中的标签的回退版本(除非新次级标签和旧次级标签碰巧刚好相同,在给定四字节次级密钥的情况下,这是低概率事件),且将生成适当的差错指示符。
可以大大减轻剪切粘贴攻击,因为索引i还用于产生存储在芯片外存储装置中的MAC标签。如上文所提到,在剪切粘贴攻击中,攻击者或其它恶意实体用来自另一位置的经加密数据段(例如,具有不同MAC标签的密文)替换某一经加密数据段(例如,密文和其对应的MAC标签),由此希望当处于新位置时,所得经解密数据将与旧位置相同。然而,在数据单元索引i用于生成MAC标签以用于存储在芯片外存储装置302中的情况下,来自具有不同索引的不同数据单元的MAC标签将由此几乎确定地彼此不同。在剪切粘贴攻击中,标签可能碰巧相同的几率将极小,至少在具有相对较大数目的可能的数据单元索引(例如,大量可用页面)的典型的存储空间内是如此。
图4更详细地说明示例性写入操作或过程400,其可以通过图1的SoC处理电路或其它合适配备的处理电路执行。在步骤402处,处理电路在***第一次被使用时将所有次级密钥值设定为零,或设定为其合适的十六进制的等效值。也就是说,在写入到存储装置的任何部分之前,次级密钥值都设定为零。次级密钥初始地设定为零值,使得处理电路可以容易地识别尚未被写入的页面。当各种写入操作随后发生时,用最新生成的非零次级密钥值替换零值。例如,在步骤404处,对于针对索引i的数据单元写入操作,处理电路生成新随机或伪随机非零次级密钥(Ni),其中Ni的大小相对于较长MAC标签较小(例如,四个字节)。因此,针对每一新数据单元写入,生成、重新生成或更新新次级密钥。Ni的大小相对于MAC标签较小以便不消耗大量芯片上存储装置,而又足够长(例如,四个字节)以有效地减轻回退攻击和其它攻击。
在步骤406处,处理电路组合待存储在存储装置中的特定数据单元或消息(Mi)(例如具有索引(i)的页面)与最新生成的每数据单元次级密钥(Ni)以及索引(i)。例如,每一数据单元可以串连为:Ni后跟着i,再后面是数据单元Mi,从而产生串连的次级密钥/索引/数据单元以用于应用到MAA。也就是说,在此实例中,次级密钥、索引和数据单元串连为:其中Mi是待存储的消息,以由此产生数据单元的经修改版本以用于应用到MAA,所述MAA方便地并入有索引和次级密钥。以此方式,MAA不需要经修改以接受四个输入值而非两个。实际上,可以采用其它标准MAA。
在步骤406处,处理电路通过将MAA应用到串连次级密钥/索引/数据单元连同全局初级密钥(K)来生成MAC标签(Ti),所述MAA可以由函数F表示。因此,在此实例中,Ti生成为Ti=F(K,Ni∥i∥Mi)。在步骤408处,处理电路将MAC标签(Ti)和对应的数据单元(Mi)存储在芯片外存储装置中,例如DDR RAM。在步骤412处,处理电路将次级密钥(Ni)和对应的索引(i)存储在相对更加安全的芯片上存储装置中,例如SRAM。
图5更详细地说明示例性读取操作或过程500,其可以通过图1的SoC处理电路或其它合适配备的处理电路执行。在步骤502处,处理电路从芯片外存储装置中的对应的数据单元索引(i)检索数据单元(Mi)、对应的MAC标签(Ti)。在步骤504处,处理电路从芯片上存储装置检索对应于数据单元索引(i)的次级密钥(Ni)。在步骤506处,处理电路还从芯片上存储装置检索初级密钥(K)。在步骤508处,处理电路基于初级密钥(K)、从芯片外存储装置检索的数据单元(Mi)、对应的数据单元索引(i)以及从芯片上存储装置检索的对应的次级密钥(Ni)而生成新MAC标签(Ti)。在步骤510处,处理电路比较新MAC标签与连同数据单元一起从芯片外装置检索到的MAC标签以检测其间的任何差异,且在于新MAC标签与所检索的MAC标签之间检测到任何差异时生成差错指示符。
图6参考示例性SoC 600和芯片外存储装置602的各种组件来进一步说明示例性写入操作,其中示意性地表示各组件。将待存储的数据604路由到芯片外大容量数据存储组件606以用于在其中存储在一或多个块608内,且还将其路由到SoC的MAA组件610以用于生成对应的MAC标签以用于存储在芯片外存储装置的授权数据组件612内。在此实例中,一组块0×0至0×7示出在数据组件606中,所述块各自存储十六个字节且共同地提供指示为614的128字节页。在实例中,授权数据组件612的个别标签0×0 616消耗八个字节,如通过618指示。为生成MAC,从SoC的存储装置的密钥数据组件622检索全局授权密钥(K)620。在此实例中,全局密钥是十六字节,如通过624指示。伪随机数生成器(PRNG)组件626在范围[1,0xFFFFFFFF]内生成用于写入操作的次级密钥(K0)。由此,排除将零作为次级密钥(出于上文关于引导程序所描述的原因)。次级密钥存储在页密钥存储组件628内作为密钥630,所述密钥在此实例中对应于密钥0×0且消耗四个字节,如通过632指示。还将次级密钥路由到MAA组件610中,所述MAA组件在应用MAA函数之前串连所述密钥与待写入的页面的地址634以及数据604,以生成MAC标签。如所提到,所得MAC标签存储在芯片外存储装置的授权数据组件612中以用于在读取操作期间的随后检索。
图7参考SoC 600和芯片外存储装置602进一步说明示例性读取操作,其中同样示意性地表示各组件。从芯片外大容量数据存储组件606检索数据608且将其路由到MAA组件610以用于生成对应的比较MAC标签,以用于与存储在芯片外存储装置的授权数据组件612内的标签616比较。为从所检索的数据生成比较标签,再次从密钥数据组件622检索全局授权密钥(K)620。从页密钥存储组件628检索数据的次级密钥(K0)以作为密钥630,且将其路由到MAA组件610中,所述MAA组件在应用MAA函数之前串连所述密钥与被读取的页面的页面地址634以及数据608,以生成比较MAC标签。在决策框735处将所得比较MAC标签与基于被读取的页面而从芯片外存储装置的授权数据组件612检索的MAC标签616进行比较,以确定两个MAC标签是否相同。如果比较MAC标签和所检索的MAC标签相同,那么所检索的数据由此被认为是有效的且通过SoC处理(使用未在此图中示出的各种处理组件)。如果比较MAC标签和所检索的MAC标签不相同,那么所检索的数据被认为是无效的且被SoC拒绝,且启动读取故障程序以解决问题(使用未在此图中示出的处理组件)。图7还示出:从次级页密钥存储器或存储组件628检索的次级密钥(K0)还应用到零比较函数737,所述零比较函数确定所检索的次级密钥是否为零,在页面尚未被写入(且因此不含待读取数据)时会出现此情况。如果为零,那么所检索的数据被SoC拒绝为无效的,且启动程序以解决问题(使用未在此图中示出的处理组件)。
示例性***或设备
图8说明其中可以实施图1到7的组件和方法的整个***或设备800。根据本发明的各种方面,元件、或元件的任何部分、或元件的任何组合可以用处理***814实施,所述处理***包含一或多个处理电路804,例如图1的SoC处理电路。例如,设备800可以是移动通信***的用户设备(UE)。设备800可与无线网络控制器(RNC)一起使用。除了SoC之外,处理电路804的实例还包含微处理电路、微控制器、数字信号处理电路(DSP)、现场可编程门阵列(FPGA)、可编程逻辑装置(PLD)、状态机、门控逻辑、离散硬件电路以及经配置以执行贯穿本发明所描述的各种功能性的其它合适的硬件。也就是说,如设备800中使用的处理电路804可以用于实施上文所描述的且在图1到7中所说明的过程(以及下文论述的在图11和12中所说明的那些过程)中的任何一或多者,例如用以执行在存储装置805内的数据的验证的过程。
在此实例中,处理***814可以用大体上由总线802表示的总线架构实施。取决于处理***814的具体应用和总设计约束,总线802可以包含任何数目的互连总线和网桥。总线802将各种电路连接在一起,所述电路包含一或多个处理电路(大体上由处理电路804表示)、存储装置805以及机器可读、处理电路可读或计算机可读媒体(大体上由非暂时性机器可读媒体806表示)。总线802还可以连接各种其它电路,例如定时源、外设、电压调节器以及电源管理电路,这些电路是所属领域中众所周知的且因此将不再做任何进一步描述。总线接口808提供总线802和收发器810之间的接口。收发器810提供用于经由传输媒体与各种其它设备通信的装置。取决于设备的性质,还可以提供用户接口812(例如,小键盘、显示器、扬声器、麦克风操纵杆)。
处理电路804负责管理总线802和一般处理,包含存储在机器可读媒体806上的软件的执行。所述软件在由处理电路804执行时使得处理***814执行本文中所描述的各种功能以用于任何特定设备。机器可读媒体806还可以用于存储由处理电路804在执行软件时操纵的数据。
处理***中的一或多个处理电路804可以执行软件。软件应广泛地解释为意指指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用程序、软件应用程序、软件包、例程、子例程、对象、可执行代码、执行线程、步骤、功能等,而不管其是被称作软件、固件、中间件、微码、硬件描述语言还是其它。处理电路可以执行必需的任务。代码段可以表示步骤、函数、子程序、程序、例程、子例程、模块、软件包、类,或指令、数据结构或程序语句的任何组合。代码段可通过传递和/或接收信息、数据、自变量、参数或存储器或存储装置内容而耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可经由包含存储器共享、消息传递、令牌传递、网络传输等任何合适的方式传递、转发或传输。
软件可以驻留在机器可读媒体806上。机器可读媒体806可以是非暂时性机器可读媒体。举例来说,非暂时性处理电路可读媒体、处理器可读媒体、机器可读媒体或计算机可读媒体包含:磁性存储装置(例如,硬盘、软盘、磁条)、光盘(例如,压缩光盘(CD)或数字多功能光盘(DVD))、智能卡、快闪存储器装置(例如,卡、棒或钥匙形驱动器)、RAM、ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、寄存器、可移动磁盘、硬盘、CD-ROM以及用于存储可以通过计算机存取和读取的软件和/或指令的任何其它合适的媒体。术语“机器可读媒体”、“计算机可读媒体”、“处理电路可读媒体”和/或“处理器可读媒体”可以包含但不限于:非暂时性媒体,例如便携式或固定存储装置;光学存储装置;以及能够存储、包含或载送指令和/或数据的各种其它媒体。因此,本文中所描述的各种方法可以完全或部分通过可以存储在“机器可读媒体”、“计算机可读媒体”、“处理电路可读媒体”和/或“处理器可读媒体”中且通过一或多个处理电路、机器和/或装置执行的指令和/或数据来实施。举例来说,机器可读媒体还可包含载波、传输线,及用于传输可由计算机存取及读取的软件和/或指令的任何其它合适的媒体。机器可读媒体806可以驻留在处理***814中、在处理***814外部或跨越包含处理***814的多个实体分布。机器可读媒体806可以实施于计算机程序产品中。举例来说,计算机程序产品可以包含封装材料中的处理电路可读媒体。取决于特定应用及强加于整个***上的总设计约束,所属领域的技术人员将认识到如何最好地实施贯穿本发明呈现的所描述功能性。
确切地说,机器可读存储媒体806可以具有一或多个指令,所述一或多个指令在由处理电路804执行时使得处理电路:基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而获得消息验证码;将消息验证码和数据单元存储在第一存储装置中;以及将数据单元的次级密钥存储在第二存储装置中。
图式中所说明的组件、步骤、特征和/或功能中的一或多者可重新布置和/或组合成单个组件、步骤、特征或功能或实施于若干组件、步骤或功能中。在不脱离所描述的特征和方面的情况下,还可添加另外的元件、组件、步骤和/或功能。图式中所说明的设备、装置和/或组件可以经配置以执行图式中描述的方法、特征或步骤中的一或多者。本文中所描述的算法还可以有效地实施于软件中和/或嵌入于硬件中。
可用通用处理电路、数字信号处理电路(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑组件、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中描述的功能的任何组合来实施或执行结合本文中揭示的实例而描述的各种说明性逻辑块、模块、电路、元件和/或组件。通用处理电路可以是微处理电路,但在替代实施例中,处理电路可以是任何常规处理电路、控制器、微控制器或状态机。处理电路还可以实施为计算组件的组合,例如,DSP和微处理电路的组合、多个微处理电路的组合、结合DSP核心的一或多个微处理电路的组合或任何其它此类配置。
因此,在本发明的一个方面中,图1和8中所说明的处理电路100和/或804可以是专用处理电路(例如,ASIC)),其专门地经设计和/或硬连线以执行在图2、3、5、6和/或7(和/或下文论述的图11和12)中描述的算法、方法和/或步骤。因此,此专用处理电路(例如,ASIC)可以是用于执行在图2、3、5、6和/或7(和/或下文论述的图11和12)中描述的算法、方法和/或步骤的装置的一个实例。机器可读存储媒体可以存储指令,所述指令在由专用处理电路(例如,ASIC)执行时,使得专用处理电路执行本文中所描述的算法、方法和/或步骤。
图9说明处理电路804的选定和示例性组件。确切地说,图9的处理电路804包含MAC生成器组件900,其用以基于初级密钥、待存储的数据单元、数据单元的对应的索引以及对应的数据单元的次级密钥而生成、获取、接收或以其它方式获得MAC。处理电路804还包含第一MAC标签/数据单元存储控制器902,其用以将MAC标签和对应的数据单元存储在第一存储装置906中;以及单独的次级密钥存储控制器904,其用以将数据单元的次级密钥存储在第二存储装置908中(其中第一和第二存储装置是广义存储装置805的单独组件)。所述处理可以包含用以执行或控制各种功能的另外组件,例如MAC比较器模块/电路910,其用以比较新MAC与从第一存储装置获得的MAC以检测其间的任何差异。可以提供差错指示符模块/电路912,其用以在于新MAC与从第一存储装置获得的MAC之间检测到任何差异时生成或产生差错指示符。可以提供PRNG模块/电路914以生成或以其它方式获得随机或伪随机数以用于生成密钥。还可以提供其它组件且图9的说明绝不是穷尽性的。
图10说明机器可读或计算机可读媒体806的选定和示例性指令组件。确切地说,图10的机器可读媒体806包含MAC产生器指令1000,所述指令在由图9的处理电路执行时,使得处理电路基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而生成、获取、接收或以其它方式获得MAC。机器可读媒体806还包含第一MAC标签/数据单元存储指令1002,其用以将MAC标签和对应的数据单元存储在第一存储装置906中;以及次级密钥存储指令1004,其用以将对应的数据单元的次级密钥存储在第二存储装置908中(其中第一和第二存储装置是存储装置805的组件)。机器可读媒体806可以包含用以执行或控制各种功能的另外指令,例如MAC比较器指令1010,其用以比较新MAC与从第一存储装置获得的MAC以检测其间的任何差异。可以提供差错指示符指令1012以在于新MAC与从第一存储装置获得的MAC之间检测到任何差异时生成或产生差错指示符。可以提供PRNG指令1014以生成或以其它方式获得随机或伪随机数以用于生成密钥。还可以提供其它指令且图10的说明绝不是穷尽性的。
图11广泛地说明且概述可以通过图8和9的处理电路804或其它适当配备的装置执行以用于存储数据以准许验证数据的方法或过程1100。在步骤1102处,处理电路基于初级密钥、待存储的数据单元、数据单元的对应的索引以及数据单元的次级密钥而获得消息验证码。在步骤1104处,处理电路将消息验证码和数据单元存储在第一存储装置中。在步骤1106处,处理电路将数据单元的次级密钥存储在第二存储装置中。
图12广泛地说明且概述可以通过图8和9的处理电路804或其它适当配备的装置执行以用于验证所存储的数据的方法或过程1200。在步骤1202处,处理电路从第一存储装置获得数据单元和在对应的数据单元索引处的对应的消息验证码。在步骤1204处,处理电路基于数据单元索引从第二存储装置获得对应的次级密钥。在步骤1206处,处理电路从第二存储装置获得初级密钥。在步骤1208处,处理电路基于初级密钥、从第一存储装置获得的数据单元、对应的数据单元索引以及对应的次级密钥而获得新消息验证码。在步骤1210处,处理电路比较新消息验证码与从第一存储装置获得的消息验证码以检测其间的任何差异。在步骤1212处,处理电路在于新消息验证码与从第一存储装置获得的消息验证码之间检测到任何差异时产生差错指示符。
并且,应注意,本发明的各方面可以在本文中描述为某一过程,所述过程描绘为流程图表、流程图、结构图或框图。尽管流程图表可将操作描述为顺序过程,但是许多操作可以并行或同时执行。另外,操作的次序可以重新布置。过程在其操作完成时终止。过程可以对应于方法、函数、步骤、子例程、子程序等。当过程对应于函数时,其终止对应于所述函数返回到调用函数或主函数。
所属领域的技术人员将进一步了解,结合本文中所揭示的方面描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此可互换性,上文已大体上关于其功能性而描述了各种说明性组件、块、模块、电路和步骤。此类功能性是实施为硬件还是软件取决于特定应用及强加于整个***的设计约束。
预期本文中所描述的各种特征可以在不同***中实施。应注意,本发明的前述方面仅为实例,且不应解释为限制性的。本发明的方面的描述意图为说明性的,且不限制权利要求书的范围。因此,当前教示可以容易应用于其它类型的设备,且所属领域的技术人员将明白许多替代方案、修改及变化。
Claims (30)
1.一种用于存储数据以准许验证所述数据的方法,其包括:
基于初级密钥、待存储的数据单元、所述数据单元的对应的索引以及所述数据单元的次级密钥而获得消息验证码;
将所述消息验证码和所述数据单元存储在第一存储装置中;以及
将所述数据单元的所述次级密钥存储在第二存储装置中。
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所述的装置,其中所述处理电路进一步经配置以在于所述新消息验证码与从所述第一存储装置获得的所述消息验证码之间检测到任何差异时产生差错指示符。
17.根据权利要求13所述的装置,其中所述处理电路进一步经配置以将所有次级密钥值初始地设定为零,且进一步经配置以将所有随后的次级密钥值设定为非零值。
18.根据权利要求13所述的装置,其中所述装置集成在芯片上***装置内,且所述第一存储装置包含芯片外存储装置。
19.根据权利要求13所述的装置,其中所述装置集成在芯片上***装置内,且所述第二存储装置包含芯片上存储装置。
20.一种装置,其包括:
用于基于初级密钥、待存储的数据单元、数据单元的对应的索引以及所述数据单元的次级密钥而获得消息验证码的装置;
用于将所述消息验证码和所述数据单元存储在第一存储装置中的装置;以及
用于将所述数据单元的所述次级密钥存储在第二存储装置中的装置。
21.根据权利要求20所述的装置,其进一步包括用于在到所述第一存储装置的每一新数据写入操作后获得待存储的对应的数据单元的新次级密钥的装置。
22.根据权利要求20所述的装置,其进一步包括:
用于从所述第一存储装置获得数据单元和在所述对应的数据单元索引处的对应的消息验证码的装置;
用于基于所述数据单元索引从所述第二存储装置获得对应的次级密钥的装置;
用于从所述第一存储装置获得所述初级密钥的装置;
用于基于所述初级密钥、从所述第一第二存储装置获得的所述数据单元、所述对应的数据单元索引以及所述对应的次级密钥而获得新消息验证码的装置;以及
用于比较所述新消息验证码与从所述第一存储装置获得的所述消息验证码以检测其间的任何差异的装置。
23.根据权利要求22所述的装置,其进一步包括用于在于所述新消息验证码与从所述第一存储装置获得的所述消息验证码之间检测到任何差异时产生差错指示符的装置。
24.根据权利要求20所述的装置,其中所述用于获得所述消息验证码MAC的装置包含用于针对对应的数据单元索引(i)基于全局初级密钥(K)、每数据单元次级密钥(Ni)、所述待存储的数据单元(Mi)以及所述数据单元索引(i)而获得所述MAC以作为标签(Ti)的装置。
25.根据权利要求24所述的装置,其中所述用于获得所述消息验证码MAC的装置包含用于基于所述全局初级密钥(K)、所述次级密钥(Ni)以及所述待存储的数据单元(Mi)而将消息验证算法MAA应用到所述对应的数据单元索引(i)的装置。
26.根据权利要求20所述的装置,其进一步包括用于将新次级密钥值设定为零且用于将随后的次级密钥值设定为非零值的装置。
27.一种具有一或多个指令的媒体可读存储媒体,所述一或多个指令在由至少一个处理电路执行时使得所述至少一个处理电路:
基于初级密钥、待存储的数据单元、所述数据单元的对应的索引以及所述数据单元的次级密钥而获得消息验证码;
将所述消息验证码和所述数据单元存储在第一存储装置中;以及
将所述数据单元的所述次级密钥存储在第二存储装置中。
28.根据权利要求27所述的机器可读存储媒体,其进一步具有一或多个指令,所述一或多个指令在由至少一个处理电路执行时使得所述至少一个处理电路在到所述第一存储装置的每一新数据写入操作后获得待存储的对应的数据单元的新次级密钥。
29.根据权利要求27所述的机器可读存储媒体,其进一步具有一或多个指令,所述一或多个指令在由至少一个处理电路执行时使得所述至少一个处理电路:
从所述第一存储装置获得数据单元和在所述对应的数据单元索引处的对应的消息验证码;
基于所述数据单元索引从所述第二存储装置获得对应的次级密钥;
从所述第二存储装置获得所述初级密钥;
基于所述初级密钥、从所述第一第二存储装置获得的所述数据单元、所述对应的数据单元索引以及所述对应的次级密钥而获得新消息验证码;以及
比较所述新消息验证码与从所述第一存储装置获得的所述消息验证码以检测其间的任何差异。
30.根据权利要求29所述的机器可读存储媒体,其进一步具有一或多个指令,所述一或多个指令在由至少一个处理电路执行时使得所述至少一个处理电路在于所述新消息验证码与从所述第一存储装置获得的所述消息验证码之间检测到任何差异时产生差错指示符。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/205,226 | 2014-03-11 | ||
US14/205,226 US9460312B2 (en) | 2014-03-11 | 2014-03-11 | Data integrity protection from rollback attacks for use with systems employing message authentication code tags |
PCT/US2015/018359 WO2015138180A1 (en) | 2014-03-11 | 2015-03-02 | Data integrity protection from rollback attacks for use with systems employing message authentication code tags |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106062770A true CN106062770A (zh) | 2016-10-26 |
CN106062770B CN106062770B (zh) | 2018-06-22 |
Family
ID=52684703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580010793.8A Expired - Fee Related CN106062770B (zh) | 2014-03-11 | 2015-03-02 | 用于采用消息验证码标签的***的防止回退攻击的数据完整性保护 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9460312B2 (zh) |
EP (1) | EP3117364A1 (zh) |
JP (1) | JP6320558B2 (zh) |
KR (1) | KR101820366B1 (zh) |
CN (1) | CN106062770B (zh) |
WO (1) | WO2015138180A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778308A (zh) * | 2016-12-19 | 2017-05-31 | 国网天津市电力公司信息通信公司 | 一种芯片密钥的写入方法及装置 |
TWI646801B (zh) * | 2017-12-19 | 2019-01-01 | 互聯安睿資通股份有限公司 | 通訊裝置及其安全元件與通訊方法 |
CN109936454A (zh) * | 2017-12-19 | 2019-06-25 | 互联安睿资通股份有限公司 | 通信装置及其安全组件与通信方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107925653B (zh) * | 2015-05-26 | 2022-06-03 | T·弗里杰里奥 | 用于安全传输其中数据的电信***以及与该电信***相关联的设备 |
US10754988B2 (en) * | 2016-08-30 | 2020-08-25 | Winbond Electronics Corporation | Anti-rollback version upgrade in secured memory chip |
KR102545102B1 (ko) * | 2018-05-15 | 2023-06-19 | 현대자동차주식회사 | 차량용 제어기 및 그 업데이트 방법 |
US11593489B2 (en) * | 2018-12-28 | 2023-02-28 | Maxlinear, Inc. | Non-volatile-memory (NVM) contents read return validation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080082648A1 (en) * | 2006-09-29 | 2008-04-03 | Microsoft Corporation | Secure peer-to-peer cache sharing |
US20080114981A1 (en) * | 2006-11-13 | 2008-05-15 | Seagate Technology Llc | Method and apparatus for authenticated data storage |
CN102138300A (zh) * | 2008-08-28 | 2011-07-27 | 阿尔卡特朗讯美国公司 | 消息认证码预计算在安全存储器中的应用 |
WO2013128317A1 (en) * | 2012-03-01 | 2013-09-06 | Nds Limited | Anti-replay counter measures |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8704883D0 (en) * | 1987-03-03 | 1987-04-08 | Hewlett Packard Co | Secure information storage |
US20020152396A1 (en) | 2001-04-11 | 2002-10-17 | Fox Michael S. | Method for secure restoration of a database stroring non-secure content |
US7907729B2 (en) * | 2002-09-13 | 2011-03-15 | Bally Gaming, Inc. | Rollback attack prevention system and method |
EP1645931A1 (en) * | 2004-10-11 | 2006-04-12 | Telefonaktiebolaget LM Ericsson (publ) | Secure loading and storing of data in a data processing device |
JP4810289B2 (ja) * | 2006-04-17 | 2011-11-09 | ルネサスエレクトロニクス株式会社 | メッセージ認証子生成装置、メッセージ認証子検証装置、及びメッセージ認証システム |
EP1850256B1 (en) * | 2006-04-24 | 2010-06-09 | Telefonaktiebolaget LM Ericsson (publ) | Authorisation of the installation of a software version |
JP4956292B2 (ja) | 2007-06-25 | 2012-06-20 | パナソニック株式会社 | 情報セキュリティ装置およびカウンタ制御方法 |
US8265593B2 (en) * | 2007-08-27 | 2012-09-11 | Alcatel Lucent | Method and system of communication using extended sequence number |
US20090144563A1 (en) | 2007-11-30 | 2009-06-04 | Jorge Campello De Souza | Method of detecting data tampering on a storage system |
US9087200B2 (en) | 2009-12-22 | 2015-07-21 | Intel Corporation | Method and apparatus to provide secure application execution |
US9336402B2 (en) | 2010-09-13 | 2016-05-10 | City University Of Hong Kong | Secure data in removable storage devices via encryption token(s) |
US9881161B2 (en) * | 2012-12-06 | 2018-01-30 | S-Printing Solution Co., Ltd. | System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof |
US9773129B2 (en) * | 2013-06-28 | 2017-09-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Anti-replay protected flash |
-
2014
- 2014-03-11 US US14/205,226 patent/US9460312B2/en active Active
-
2015
- 2015-03-02 KR KR1020167024808A patent/KR101820366B1/ko active IP Right Grant
- 2015-03-02 JP JP2016555333A patent/JP6320558B2/ja not_active Expired - Fee Related
- 2015-03-02 WO PCT/US2015/018359 patent/WO2015138180A1/en active Application Filing
- 2015-03-02 CN CN201580010793.8A patent/CN106062770B/zh not_active Expired - Fee Related
- 2015-03-02 EP EP15710356.5A patent/EP3117364A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080082648A1 (en) * | 2006-09-29 | 2008-04-03 | Microsoft Corporation | Secure peer-to-peer cache sharing |
US20080114981A1 (en) * | 2006-11-13 | 2008-05-15 | Seagate Technology Llc | Method and apparatus for authenticated data storage |
CN102138300A (zh) * | 2008-08-28 | 2011-07-27 | 阿尔卡特朗讯美国公司 | 消息认证码预计算在安全存储器中的应用 |
WO2013128317A1 (en) * | 2012-03-01 | 2013-09-06 | Nds Limited | Anti-replay counter measures |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106778308A (zh) * | 2016-12-19 | 2017-05-31 | 国网天津市电力公司信息通信公司 | 一种芯片密钥的写入方法及装置 |
TWI646801B (zh) * | 2017-12-19 | 2019-01-01 | 互聯安睿資通股份有限公司 | 通訊裝置及其安全元件與通訊方法 |
CN109936454A (zh) * | 2017-12-19 | 2019-06-25 | 互联安睿资通股份有限公司 | 通信装置及其安全组件与通信方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6320558B2 (ja) | 2018-05-09 |
KR20160130773A (ko) | 2016-11-14 |
JP2017513101A (ja) | 2017-05-25 |
US9460312B2 (en) | 2016-10-04 |
CN106062770B (zh) | 2018-06-22 |
EP3117364A1 (en) | 2017-01-18 |
KR101820366B1 (ko) | 2018-01-19 |
WO2015138180A1 (en) | 2015-09-17 |
US20150261975A1 (en) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106062770A (zh) | 用于采用消息验证码标签的***的防止回退攻击的数据完整性保护 | |
US10546157B2 (en) | Flexible counter system for memory protection | |
US11630920B2 (en) | Memory tagging for side-channel defense, memory safety, and sandboxing | |
CN109858265B (zh) | 一种加密方法、装置及相关设备 | |
US9898624B2 (en) | Multi-core processor based key protection method and system | |
CN104268487B (zh) | 一种安全芯片的复位和自毁管理*** | |
US9792229B2 (en) | Protecting a memory | |
EP2706520B1 (en) | Security chip, information processing apparatus, and information processing system | |
US10536274B2 (en) | Cryptographic protection for trusted operating systems | |
TW202036347A (zh) | 資料儲存、驗證方法及裝置 | |
US20220006653A1 (en) | System and methods for confidential computing | |
KR20130129170A (ko) | 부분적으로-암호화된 콘텐트파일을 호스트 장치에 제공하기 위한 저장장치 및 방법 | |
CN102656592A (zh) | 信息处理设备、信息处理***、软件例程执行方法和远程认证方法 | |
CN109154972A (zh) | 使用基于硬件的安全隔离区域来防止电子设备上的盗版和作弊 | |
CN104243137B (zh) | 数据处理***以及初始化数据处理***的方法 | |
US20170124353A1 (en) | Method And Apparatus For Preventing Rollback Of Secure Data | |
US20210026966A1 (en) | Security hardended processing device | |
CN104657636A (zh) | 产生结构的方法和相应的结构 | |
CN113711194A (zh) | 基于密钥更新的高效侧信道攻击抵抗存储器加密器 | |
CN109643344A (zh) | 用于共享安全性元数据存储器空间的方法和装置 | |
US11194933B2 (en) | Circuits supporting improved side channel and fault injection attack resistance | |
CN107563226B (zh) | 一种存储器控制器、处理器模块及密钥更新方法 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN111737704B (zh) | 用于数据证明的设备和方法 | |
You et al. | KVSEV: A Secure In-Memory Key-Value Store with Secure Encrypted Virtualization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180622 Termination date: 20190302 |