一种单调计数器及其单调计数方法技术

技术编号:27060006 阅读:33 留言:0更新日期:2021-01-15 14:40
本申请公开了一种单调计数器及其单调计数方法。通过更新哈希消息认证码密钥,进而根据哈希消息认证码密钥、计数相关的指令数据中的命令数据以及单调计数值获取相应的签名信息,并与计数相关的指令数据中的签名信息比对,进而使得计数值存储区存储的计数值单调变化,保证单调计数准确性。

【技术实现步骤摘要】
一种单调计数器及其单调计数方法
本申请涉及存储
,尤其涉及一种单调计数器及其单调计数方法。
技术介绍
在计算机系统中,需要使用密钥来控制对代码或数据的访问。这些密钥通常需要通过一些介质传递,这就会导致密钥存在被盗取的风险。在安全系统中,基于根密钥来生成各种密钥和其它的安全机制。通常将安全系统内的密钥存储在非易失性存储器中,例如闪存(Flash)、只读存储器(ROM)等存储器中。尽管如此,生成和编程密钥或根密钥的过程不可避免地会把密钥暴露给一个或多个机器、传送工具、用户,这就使得密钥存在被盗取的风险。现有技术中,对于采用闪存存储密钥的安全系统,可以通过移除闪存或对闪存进行重新编程,实现密钥破解。因此,如何对需要进行安全存储的代码或数据实现保护,并创建安全的执行环境就至关重要。
技术实现思路
本申请的目的在于,针对现有技术存在的问题,提供一种单调计数器及其单调计数方法,可以对需要进行安全存储的代码或数据实现保护,并创建安全的执行环境。为实现上述目的,本申请一实施例提供了一种单调计数器的计数方法,所述单调计数器包括非易失性存储阵列;所述非易失性存储阵列中包括计数值存储区,所述计数值存储区中存储的计数值对应一现存单调计数值;所述方法包括如下步骤:接收第一指令数据,所述第一指令数据包括第一命令数据、第一单调计数值以及第一签名信息;比较所述第一单调计数值以及所述现存单调计数值;若所述第一单调计数值与所述现存单调计数值一致,则根据哈希消息认证码密钥、所述第一命令数据以及所述现存单调计数值,获取第二签名信息;比较所述第二签名信息与所述第一签名信息,若一致,则所述计数值存储区存储的计数值单调变化。为实现上述目的,本申请另一实施例还提供了一种单调计数器,包括非易失性存储阵列;所述非易失性存储阵列中包括计数值存储区,所述计数值存储区中存储的计数值对应一现存单调计数值;所述单调计数器进一步包括:随机存储单元,被配置为接收并暂存第一指令数据,所述第一指令数据包括第一命令数据、第一单调计数值以及第一签名信息;比较引擎,被配置为比较所述第一单调计数值以及所述现存单调计数值;加密引擎,被配置为在所述比较引擎比较所述第一单调计数值与所述现存单调计数值所得比较结果为一致时,根据哈希消息认证码密钥、所述第一命令数据以及所述现存单调计数值,获取第二签名信息;所述比较引擎,进一步被配置为比较所述第二签名信息与所述第一签名信息,若一致,则使得所述计数值存储区存储的计数值单调变化。本申请的优点在于:通过更新哈希消息认证码密钥,进而根据哈希消息认证码密钥、计数相关的指令数据中的命令数据以及单调计数值获取相应的签名信息,并与计数相关的指令数据中的签名信息比对,进而使得计数值存储区存储的计数值单调变化,保证单调计数准确性。通过准确的单调计数,可以为其它芯片的读写数据次数提供一个完整的数据记录,以及在数据发送过程中保证数据的不重复性;实现在数据存储过程中保证读写数据的机密性和完整性,提升了数据发送的机密性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图1为根据本申请第一实施例提供的单调计数器的单调计数方法的流程图;图2为根据本申请第二实施例提供的单调计数器的HMAC密钥更新的流程图;图3为根据本申请第二实施例提供的单调计数器的单调计数的流程图;图4为根据本申请第三实施例提供的单调计数器的内部连接架构图;图5为根据本申请第四实施例提供的单调计数器的内部连接架构图;图6为图5所示单调计数器进行HMAC密钥更新的一实施例的信号波形示意图;图7为图5所示单调计数器进行增加单调计数值的一实施例的信号波形示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。实施例中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。请参阅图1,根据本申请第一实施例提供的单调计数器的单调计数方法的流程图。所述单调计数器包括非易失性存储阵列(NVM),所述非易失性存储阵列中包括计数值存储区,所述计数值存储区中存储的计数值对应一现存单调计数值。所述方法包括如下步骤:步骤S1、接收第一指令数据,所述第一指令数据包括第一命令数据、第一单调计数值以及第一签名信息;步骤S2、比较所述第一单调计数值以及与计数值存储区中存储的计数值对应的现存单调计数值,若一致,则执行步骤S3,若不一致则结束当前指令、并等待下一次指令;步骤S3、根据哈希消息认证码密钥、所述第一命令数据以及所述现存单调计数值,获取第二签名信息;步骤S4、比较所述第二签名信息与所述第一签名信息,若一致,则执行步骤S5,若不一致则结束当前指令、并等待下一次指令;步骤S5、所述计数值存储区存储的计数值单调变化。进一步的实施例中,所述方法在接收所述第一指令数据之前,进一步包括:步骤S0、哈希消息认证码密钥更新。所述哈希消息认证码(HMAC)密钥更新步骤S0进一步包括:1)接收第二指令数据,所述第二指令数据包括第二命令数据、第二密钥数据以及第三签名信息;2)根据依所述第二密钥数据而产生的临时密钥、所述第二命令数据以及所述第二密钥数据,获取第四签名信息;3)比较所述第四签名信息与所述第三签名信息,若一致,则将所述临时密钥设定为所述哈希消息认证码密钥;若不一致则结束当前指令、并等待下一次指令。可以通过随机存储单元接收并暂存相应的指令数据。指令数据包括指令信息(Instruction)、命令类型(CMDtype)、以及更新操作相关的一些数据(例如,计数器地址CounterAddr、密钥数据KeyData、签名信息Signature等)。指令信息的指令头用以指示该指令为某一芯片的特有指令;例如,OP1指令代码用以指示该指令为RPMC芯片的特有指令。随机存储单元可以根据相应逻辑单元的写入操作,被写入相应的指令数据。通过在相应签名信息比对一致后,更新哈希消息认证码密钥,可以提高流程操作的准确性,进而为后续单调计数的准确性提供保障。进一步的实施例中,所述临时密钥还可以依所述第二密钥数据以及根密钥而产生。具体地,所述临时密钥进一步采用以下步骤获取:获取根密钥;根据所述根密钥以及所述第二密钥数据,获取所述临时密钥。所述非易失性存储阵列中可以进一步包括被配置为存储根密钥的根密钥存储区,可以通过逻辑单元读取根密钥存储区存储的根密钥,以作为获取所述临时密钥的基础。可以采用加密引擎对所述根密钥以及所述第二密钥数据进行HMAC运算(例如采用HMAC-sha256进行计算,或采用其它哈希算法进行运算),获取所本文档来自技高网...

【技术保护点】
1.一种单调计数器的单调计数方法,所述单调计数器包括非易失性存储阵列;其特征在于,所述非易失性存储阵列中包括计数值存储区,所述计数值存储区中存储的计数值对应一现存单调计数值;所述方法包括如下步骤:/n接收第一指令数据,所述第一指令数据包括第一命令数据、第一单调计数值以及第一签名信息;/n比较所述第一单调计数值以及所述现存单调计数值;/n若所述第一单调计数值与所述现存单调计数值一致,则根据哈希消息认证码密钥、所述第一命令数据以及所述现存单调计数值,获取第二签名信息;/n比较所述第二签名信息与所述第一签名信息,若一致,则所述计数值存储区存储的计数值单调变化。/n

【技术特征摘要】
1.一种单调计数器的单调计数方法,所述单调计数器包括非易失性存储阵列;其特征在于,所述非易失性存储阵列中包括计数值存储区,所述计数值存储区中存储的计数值对应一现存单调计数值;所述方法包括如下步骤:
接收第一指令数据,所述第一指令数据包括第一命令数据、第一单调计数值以及第一签名信息;
比较所述第一单调计数值以及所述现存单调计数值;
若所述第一单调计数值与所述现存单调计数值一致,则根据哈希消息认证码密钥、所述第一命令数据以及所述现存单调计数值,获取第二签名信息;
比较所述第二签名信息与所述第一签名信息,若一致,则所述计数值存储区存储的计数值单调变化。


2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:在接收所述第一指令数据之前,进行哈希消息认证码密钥更新;所述哈希消息认证码密钥更新步骤包括:
接收第二指令数据,所述第二指令数据包括第二命令数据、第二密钥数据以及第三签名信息;
根据依所述第二密钥数据而产生的临时密钥、所述第二命令数据以及所述第二密钥数据,获取第四签名信息;
比较所述第四签名信息与所述第三签名信息,若一致,则将所述临时密钥设定为所述哈希消息认证码密钥。


3.如权利要求2所述的方法,其特征在于,所述临时密钥进一步采用以下步骤获取:
获取根密钥;
根据所述根密钥以及所述第二密钥数据,获取所述临时密钥。


4.如权利要求2所述的方法,其特征在于,所述的获取第四签名信息的步骤进一步包括:采用加密引擎对所述临时密钥、所述第二命令数据以及所述第二密钥数据进行HMAC运算,获取所述第四签名信息。


5.如权利要求1所述的方法,其特征在于,所述的获取第二签名信息的步骤进一步包括:采用加密引擎对所述哈希消息认证码密钥、所述第一命令数据以及所述现存单调计数值进行HMAC运算,获取所述第二签名信息。


6.如权利要求1所述的方法,其特征在于,所述计数值存储区存储的计数值单调变化包括:所述计数值加1,或所述计数值更新为所接收到的计数值。


7.一种单调计数器,包括非易失性存储阵列;其特征在于,所述非易失性存储阵列中包括计数值存储区,所述计数值存储区中存储的计数值对应一现存单调计数值;所述单调计数器进一步包括:
随机存储单元,被配置为接收并暂存第一指令数据,所述第一指令数据包括第一命令数据、第一单调计数值以及第一签名信息;
比较引擎,被配置为比较所述第一单调计数值以及所述现存单调计数值;
加密引擎,被配置为在所述比较引擎比较所述第一...

【专利技术属性】
技术研发人员:卢中舟
申请(专利权)人:武汉新芯集成电路制造有限公司
类型:发明
国别省市:湖北;42

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

1