终端设备及数据处理方法技术

技术编号:20013457 阅读:43 留言:0更新日期:2019-01-05 22:02
本申请提供一种终端设备及数据处理方法。设备包括安全芯片和第一存储器,安全芯片包括处理器、第二存储器和计数器。第一存储器用于存储M个第一数据块,第一数据块是通过对明文数据块以及与该明文数据块的第一MAC进行加密运算得到的。计数器用于对M个第一数据块的更新次数进行计数得到计数值,计数器的计数值不可回退。处理器利用计数器的第一计数值以及每个第一数据块对应的第一MAC进行逻辑运算,得到M个第一数值;对M个第一数值和对应的第二MAC进行加密运算得到第二数据块,将第二数据块存储至第一存储器。根据第二数据块以及计数器的第二计数值判断目标数据块是否发生回退。该终端设备可以降低成本以及布板复杂度。

Terminal Equipment and Data Processing Method

The application provides a terminal device and a data processing method. The device includes a security chip and a first memory, and the security chip includes a processor, a second memory and a counter. The first memory is used to store M first data blocks. The first data block is obtained by encrypting the plaintext data block and the first MAC of the plaintext data block. The counter is used to count the number of updates of M first data blocks to get the counting value. The counting value of the counter can not be retraced. The processor uses the first count value of the counter and the first MAC corresponding to each first data block to perform logical operations, and obtains M first values; encrypts M first values and the corresponding second MAC to obtain the second data block, and stores the second data block into the first memory. The second data block and the second count value of the counter are used to determine whether the target data block has fallback. The terminal equipment can reduce the cost and the complexity of the board layout.

【技术实现步骤摘要】
终端设备及数据处理方法
本申请涉及计算机
,尤其涉及一种终端设备及数据处理方法。
技术介绍
随着终端技术的不断发展,用户对终端设备的移动支付、移动金融、汽车钥匙等承载百万级财产的安全应用也逐步有了需求。未来终端设备可能具备银行卡,公交卡,钥匙,身份证的功能。实现这些功能不能只依赖软件应用(Application,App),还需要终端设备的芯片提供硬件级的支持。图1为现有技术提供的终端设备的芯片的结构示意图,如图1所示,应用处理器(ApplicationProcessor,AP)片上系统(SystemonChip,SOC)中集成安全(Secure,SE)芯片。SE芯片包括一次性可编程(OneTimeProgrammable,OTP)、(Read-OnlyMemory,ROM)以及随机存取存储器(RandomAccessMemory,RAM),对于系统程序、应用程序和应用数据存储在外部嵌入式的多媒体存储卡(EmbeddedMultiMediaCard,eMMC)/通用闪存存储(UniversalFlashStorage,简称UFS)的防重放保护存储块(ReplayProtectMemoryBlock,简称RPMB)中。当系统运行时需要将系统程序、应用程序和应用数据从RPMB中读取到内部RAM中运行。由于RPMB是外部UFS/eMMC存储器件厂商提供的分区,其虽然有防回退的能力,但是由于成本问题,片外RPMB的数据防回退(Anti-rollback)能力暂没有哪个eMMC/UFS存储器件厂商实际能做到EAL4+安全防护等级以上。目前存在一种EAL5+安全防护的专用安全闪存(SecureFlash)器件。SE芯片通过自定义的接口与专用SecureFlash连接。但是如果在终端设备上增加该专用SecureFlash,势必造成终端设备成本的增加,并且造成终端设备的布板复杂度较高。
技术实现思路
本申请提供一种终端设备及数据处理方法。从而可以降低终端设备的成本以及布板复杂度。第一方面,本申请提供一种终端设备,包括:安全芯片和耦合至安全芯片的第一存储器,其中,安全芯片包括:处理器、第二存储器和计数器;第一存储器,用于存储M个第一数据块,其中,每个第一数据块是通过对明文数据块以及与明文数据块对应的第一消息认证码MAC进行加密运算得到的,M为大于等于1的整数;计数器,用于对M个第一数据块的更新次数进行计数,得到计数值,计数器的计数值不可回退;处理器用于:分别利用计数器的第一计数值以及每个第一数据块对应的第一MAC进行逻辑运算,得到与M个第一数据块一一对应的M个第一数值;其中,第一计数值为处理器进行逻辑运算时,M个第一数据块对应的计数值;对M个第一数值和与M个第一数值对应的第二MAC进行加密运算,得到第二数据块,并将第二数据块存储至第一存储器;根据第二数据块以及计数器的第二计数值,判断目标数据块是否发生回退;其中,目标数据块是M个第一数据块的任一个;第二计数值为处理器判断目标数据块是否发生回退时,M个第一数据块对应的计数值。综上,当该计数器是OTP时,即本申请在保持现有芯片架构不变的情况下,具有数据防回退能力。相对于现有技术增加专用SecureFlash。本申请提供的终端设备可以降低成本以及布板复杂度。当该计数器是SE芯片中的NVM或者其他计数器时,相当于在现有的SE芯片中增加了一个小容量(只用于计数)的计数器,因此,相对于现有技术增加专用SecureFlash。本申请提供的终端设备可以降低成本以及布板复杂度。可选地,处理器具体用于:对第二计数值和目标数据块对应的第一MAC,采用与计算目标数据块的第一数值相同的算法计算目标数据块的第二数值;根据目标数据块的第一数值和目标数据块的第二数值判断目标数据块是否发生回退。可选地,该终端设备还包括:发送器;处理器具体用于:当目标数据块的第一数值和目标数据块的第二数值相同时,确定目标数据块未发生回退;当目标数据块的第一数值和目标数据块的第二数值不相同时,更新一次第二计数值得到第三计数值,对第三计数值和目标数据块对应的第一MAC,采用与计算目标数据块的第一数值相同的算法计算目标数据块的第三数值;当目标数据块的第一数值和目标数据块的第三数值不相同时,确定目标数据块发生回退,并触发发送器发送提示消息,提示消息用于提示目标数据块发生回退。本申请中在保持现有芯片架构不变的情况下,或者相当于在现有的SE芯片中增加了一个小容量(只用于计数)的计数器时,可以有效的判断目标数据块是否发生回退。可选地,处理器还用于:当目标数据块的第一数值和目标数据块的第三数值相同时,确定安全芯片发生掉电。即终端设备可以根据目标数据块的第一数值和目标数据块的第三数值判断安全芯片是否发生掉电,进而提高终端设备的可靠性。可选地,处理器具体用于:根据目标数据块的第一数值和目标数据块对应的第一MAC,得到第一计数值;根据第一计数值和第二计数值判断目标数据块是否发生回退。可选地,终端设备还包括:发送器;处理器具体用于:当第一计数值和第二计数值相同时,确定目标数据块未发生回退;当第一计数值和第二计数值不相同时,更新一次第二计数值得到第三计数值;当第一计数值和第三计数值不相同时,确定目标数据块发生回退,并触发发送器发送提示消息,提示消息用于提示目标数据块发生回退。本申请中在保持现有芯片架构不变的情况下,或者相当于在现有的SE芯片中增加了一个小容量(只用于计数)的计数器时,可以有效的判断目标数据块是否发生回退。可选地,处理器还用于:当第一计数值和第三计数值相同时,确定安全芯片发生掉电。即终端设备可以根据第一计数值和第三计数值判断安全芯片是否发生掉电,进而提高终端设备的可靠性。可选地,处理器还用于:将第三数据块更新为新的第一数据块,并更新一次第一计数值得到新的第一计数值;其中,第三数据块是M个第一数据块的任一个;分别对新的第一计数值和第二数据块对应的每个第一数据块对应的第一MAC,采用与计算第一数值相同的算法计算每个第一数据块的新的第一数值,并将每个第一数据块的第一数值更新为新的第一数值;对第二数据块对应的M个新的第一数值和M个新的第一数值对应的新的第二MAC加密,得到新的第二数据块;并将第二数据块更新为新的第二数据块;计数器,还用于将第一计数值更新为新的第一计数值。本申请中,由于第一存储器采用二级存储方式,因此,在终端设备更新完第三数据块之后,需要将第二数据块对应的每个第一数据块的第一数值更新为新的第一数值,并根据该新的第一数值更新第二数据块。从而提高终端设备中数据的准确性。可选地,处理器还用于:将第四数据块的第一数值读取至第二存储器,第四数据块为第二数据块对应的除新的第一数据块的任一第一数据块;根据第四数据块的第一数值和第一计数值确定第四数据块对应的第一MAC;将第四数据块对应的第一MAC存储至第二存储器。通过该方法可以有效获得第四数据块的第一MAC。可选地,处理器还用于:当安全芯片发生掉电,则在安全芯片上电之后,读取第五数据块对应的每个第一数据块的第五数值,其中,第五数据块为新的第二数据块对应的实际数据块,第五数值为新的第一数值对应的实际数值;根据第五数据块对应的每个第一数据块的第五数值和第五数据块对应的每个第一数据块本文档来自技高网
...

【技术保护点】
1.一种终端设备,其特征在于,包括:安全芯片和耦合至所述安全芯片的第一存储器,其中,所述安全芯片包括:处理器、第二存储器和计数器;所述第一存储器,用于存储M个第一数据块,其中,每个第一数据块是通过对明文数据块以及与所述明文数据块对应的第一消息认证码MAC进行加密运算得到的,M为大于等于1的整数;所述计数器,用于对所述M个第一数据块的更新次数进行计数,得到计数值,所述计数器的计数值不可回退;所述处理器用于:分别利用所述计数器的第一计数值以及每个第一数据块对应的第一MAC进行逻辑运算,得到与所述M个第一数据块一一对应的M个第一数值;其中,所述第一计数值为所述处理器进行所述逻辑运算时,所述M个第一数据块对应的计数值;对所述M个第一数值和与所述M个第一数值对应的第二MAC进行加密运算,得到第二数据块,并将所述第二数据块存储至所述第一存储器;根据所述第二数据块以及所述计数器的第二计数值,判断目标数据块是否发生回退;其中,所述目标数据块是所述M个第一数据块的任一个;所述第二计数值为所述处理器判断所述目标数据块是否发生回退时,所述M个第一数据块对应的计数值。

【技术特征摘要】
1.一种终端设备,其特征在于,包括:安全芯片和耦合至所述安全芯片的第一存储器,其中,所述安全芯片包括:处理器、第二存储器和计数器;所述第一存储器,用于存储M个第一数据块,其中,每个第一数据块是通过对明文数据块以及与所述明文数据块对应的第一消息认证码MAC进行加密运算得到的,M为大于等于1的整数;所述计数器,用于对所述M个第一数据块的更新次数进行计数,得到计数值,所述计数器的计数值不可回退;所述处理器用于:分别利用所述计数器的第一计数值以及每个第一数据块对应的第一MAC进行逻辑运算,得到与所述M个第一数据块一一对应的M个第一数值;其中,所述第一计数值为所述处理器进行所述逻辑运算时,所述M个第一数据块对应的计数值;对所述M个第一数值和与所述M个第一数值对应的第二MAC进行加密运算,得到第二数据块,并将所述第二数据块存储至所述第一存储器;根据所述第二数据块以及所述计数器的第二计数值,判断目标数据块是否发生回退;其中,所述目标数据块是所述M个第一数据块的任一个;所述第二计数值为所述处理器判断所述目标数据块是否发生回退时,所述M个第一数据块对应的计数值。2.根据权利要求1所述的终端设备,其特征在于,所述处理器具体用于:对所述第二计数值和所述目标数据块对应的第一MAC,采用与计算所述目标数据块的第一数值相同的算法计算所述目标数据块的第二数值;根据所述目标数据块的第一数值和所述目标数据块的第二数值判断所述目标数据块是否发生回退。3.根据权利要求1所述的终端设备,其特征在于,还包括:发送器;所述处理器具体用于:当所述目标数据块的第一数值和所述目标数据块的第二数值相同时,确定所述目标数据块未发生回退;当所述目标数据块的第一数值和所述目标数据块的第二数值不相同时,更新一次所述第二计数值得到第三计数值,对所述第三计数值和所述目标数据块对应的第一MAC,采用与计算所述目标数据块的第一数值相同的算法计算所述目标数据块的第三数值;当所述目标数据块的第一数值和所述目标数据块的第三数值不相同时,确定所述目标数据块发生回退,并触发所述发送器发送提示消息,所述提示消息用于提示所述目标数据块发生回退。4.根据权利要求3所述的终端设备,其特征在于,所述处理器还用于:当所述目标数据块的第一数值和所述目标数据块的第三数值相同时,确定所述安全芯片发生掉电。5.根据权利要求1所述的终端设备,其特征在于,所述处理器具体用于:根据所述目标数据块的第一数值和所述目标数据块对应的第一MAC,得到所述第一计数值;根据所述第一计数值和所述第二计数值判断所述目标数据块是否发生回退。6.根据权利要求5所述的终端设备,其特征在于,还包括:发送器;所述处理器具体用于:当所述第一计数值和所述第二计数值相同时,确定所述目标数据块未发生回退;当所述第一计数值和所述第二计数值不相同时,更新一次所述第二计数值得到第三计数值;当所述第一计数值和所述第三计数值不相同时,确定所述目标数据块发生回退,并触发所述发送器发送提示消息,所述提示消息用于提示所述目标数据块发生回退。7.根据权利要求6所述的终端设备,其特征在于,所述处理器还用于:当所述第一计数值和所述第三计数值相同时,确定所述安全芯片发生掉电。8.根据权利要求1-7任一项所述的终端设备,其特征在于,所述处理器还用于:将第三数据块更新为新的第一数据块,并更新一次所述第一计数值得到新的第一计数值;其中,所述第三数据块是所述M个第一数据块的任一个;分别对所述新的第一计数值和所述第二数据块对应的每个第一数据块对应的第一MAC,采用与计算所述第一数值相同的算法计算所述每个第一数据块的新的第一数值,并将所述每个第一数据块的第一数值更新为新的第一数值;对所述第二数据块对应的M个新的第一数值和所述M个新的第一数值对应的新的第二MAC加密,得到新的第二数据块;并将第二数据块更新为所述新的第二数据块;所述计数器,还用于将第一计数值更新为新的第一计数值。9.根据权利要求8所述的终端设备,其特征在于,所述处理器还用于:将第四数据块的第一数值读取至所述第二存储器,所述第四数据块为第二数据块对应的除所述新的第一数据块的任一第一数据块;根据所述第四数据块的第一数值和第一计数值确定所述第四数据块对应的第一MAC;将所述第四数据块对应的第一MAC存储至所述第二存储器。10.根据权利要求8或9所述的终端设备,其特征在于,所述处理器还用于:当所述安全芯片发生掉电,则在所述安全芯片上电之后,读取第五数据块对应的每个第一数据块的第五数值,其中,所述第五数据块为所述新的第二数据块对应的实际数据块,所述第五数值为所述新的第一数值对应的实际数值;根据所述第五数据块对应的每个第一数据块的第五数值和所述第五数据块对应的每个第一数据块的第一MAC确定用于计算所述第五数值的第四计数值;判断所述第五数据块对应的每个第一数据块的第四计数值是否相同;当确定所述第五数据块对应的每个第一数据块的第四计数值不完全相同时,对从第六数据块开始的每个第一数据块的第四计数值更新一次,得到所述新的第一计数值,其中所述第六数据块为所述第五数据块对应的一个第一数据块,且满足条件:从所述第六数据块开始的每个第一数据块的第四计数值与所述第六数据块之前的每个第一数据块的第四计数值不同;对所述新的第一计数值和从所述第六数据块开始的每个第一数据块对应的第一MAC,采用与计算所述第一数值相同的算法计算从所述第六数据块开始的每个第一数据块的新的第一数值,并将从所述第六数据块开始的每个第一数据块的第四数值更新为新的第一数值;将所述第五数据块对应的第二MAC更新为所述新的第二MAC;对所述第五数据块对应的M个新的第一数值和...

【专利技术属性】
技术研发人员:潘时林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1