CN113434885B - 一种密钥派生方法、装置、设备及存储介质 - Google Patents

一种密钥派生方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113434885B
CN113434885B CN202110744278.XA CN202110744278A CN113434885B CN 113434885 B CN113434885 B CN 113434885B CN 202110744278 A CN202110744278 A CN 202110744278A CN 113434885 B CN113434885 B CN 113434885B
Authority
CN
China
Prior art keywords
key
value
derivation
self
key derivation
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.)
Active
Application number
CN202110744278.XA
Other languages
English (en)
Other versions
CN113434885A (zh
Inventor
唐伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN202110744278.XA priority Critical patent/CN113434885B/zh
Publication of CN113434885A publication Critical patent/CN113434885A/zh
Priority to PCT/CN2022/100709 priority patent/WO2023274010A1/zh
Application granted granted Critical
Publication of CN113434885B publication Critical patent/CN113434885B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了一种密钥派生方法、装置、设备及存储介质。该方法包括:接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。可见,利用根密钥、密钥派生自检值和与密钥派生自检值对应的密钥对比值,对密钥生成流程进行自检,通过硬件派生处理流程的安全性检测,提高整个密钥派生系统的安全性,保证输出密钥的可靠性。

Description

一种密钥派生方法、装置、设备及存储介质
技术领域
本发明涉及加解密技术领域,特别涉及一种密钥派生方法、装置、设备及存储介质。
背景技术
目前,根密钥通常由CA厂商提供,在芯片出厂时已编程到对应的OTP(One TimeProgramable,一次性可编程)存储器地址当中,而密钥的产生通常是根据根密钥以及应用需求配置相应的参数和控制寄存器等,经过一定的算法处理逻辑产生。现有技术中,通过利用OTP的一次性可编程的特性再加上一些对根密钥访问和读取的保护,来提高整个根密钥的使用安全,间接的提高根密钥派生的安全性和可靠性。但是对于密钥的派生过程中,异常处理或者异常干扰的存在造成的异常影响无法进行防护,降低了密钥派生的安全性和可靠性。
发明内容
有鉴于此,本发明的目的在于提供一种密钥派生方法、装置、设备及介质,能够提高密钥派生系统的安全性,保证输出密钥的可靠性。其具体方案如下:
第一方面,本申请公开了一种密钥派生方法,包括:
接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;
基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;
若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。
可选的,所述检测所述待检测密钥与所述密钥对比值是否一致之后,还包括:
若所述待检测密钥与所述密钥对比值不一致,则将当前工作状态跳转为闲置状态,并执行系统复位操作。
可选的,所述若所述计算结果与所述密钥对比值一致之后,还包括:
向随机数产生器发送随机数请求,并将接收到的所述随机数产生器反馈的随机数值存储至减计数寄存器;
相应的,所述当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥之后,还包括:
利用所述减计数器将所述随机数值减1得到最新的随机数,并判断所述最新的随机数是否为0;
若是,则执行所述基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致的步骤。
可选的,所述预设密钥派生算法规则为基于杂凑算法和分组算法构建的规则。
可选的,所述当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥,包括:
接收含有唯一标识和算法配置信息的密钥派生请求,将所述唯一标识作为所述密钥派生自检值,并根据所述算法配置信息确定出目标算法;
基于所述根密钥和所述唯一标识,利用所述目标算法并按照所述密钥派生算法规则生成对应的密钥。
可选的,所述基于所述根密钥和所述唯一标识,利用所述目标算法并按照所述密钥派生算法规则生成对应的密钥的过程中,还包括:
根据预设阶段划分策略,将所述密钥派生算法规则的执行流程分为多个阶段;
在每个阶段开始时向随机数产生器请求一个预设数值范围内的随机数值作为初始值,并利用所述初始值通过减计数器进行减法计时;
在当前阶段执行完成并所述减计数器计时完成后,执行下一个阶段。
可选的,所述基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,包括:
基于所述根密钥、所述密钥派生自检值、加密密钥和解密密钥,利用杂凑算法计算得到第一哈希值;
利用所述解密密钥对所述根密钥进行解密,得到解密后根密钥;
利用所述加密密钥对所述密钥派生自检值进行加密,得到加密后密钥派生自检值;
将所述第一哈希值的第一目标字段作为密钥对所述解密后根密钥进行加密,并将加密后数据作为目标密钥;
将所述第一哈希值的第二目标字段作为密钥对所述加密后密钥派生自检值进行解密,并将解密后数据作为目标数据;
利用所述目标密钥对所述目标数据进行加密得到目标输出数据,然后对所述目标输出数据进行杂凑运算得到所述待检测密钥。
第二方面,本申请公开了一种密钥派生装置,包括:
接收模块,用于接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;
检测模块,用于基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;
密钥派生模块,用于若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的密钥派生方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的密钥派生方法。
本申请中,接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。可见,利用根密钥、密钥派生自检值和与密钥派生自检值对应的密钥对比值,对密钥生成系统进行自检,通过硬件派生处理流程的安全性检测,来提高整个密钥派生系统的安全性,保证输出密钥的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种密钥派生方法流程图;
图2为本申请提供的一种具体的密钥生成流程图;
图3为本申请提供的一种具体的密钥派生方法流程图;
图4为本申请提供的一种具体的密钥派生方法流程图;
图5为本申请提供的一种具体的密钥派生系统结构示意图;
图6为本申请提供的一种密钥派生装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
现有技术中,通过利用OTP的一次性可编程的特性再加上一些对根密钥访问和读取的保护,来提高整个根密钥的使用安全,间接的提高根密钥派生的安全性和可靠性。但是对于密钥的派生过程中,异常处理或者异常干扰的存在造成的异常影响无法进行防护,降低了密钥派生的安全性和可靠性。为克服上述技术问题,本申请提出一种密钥派生方法,能够提高密钥派生系统的安全性,保证输出密钥的可靠性。
本申请实施例公开了一种密钥派生方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值。
本实施例中,首先接收一次性可编程存储器发送的根密钥(即ESCK,EncryptedSecure Chipset Key,加密的安全芯片密钥)、密钥派生自检值和与上述密钥派生自检值对应的密钥对比值。可以理解的是,上述密钥派生自检值为用于密钥派生流程自检的参数值,且上述密钥派生自检值可以为自定义数据;上述密钥对比值即为利用上述根密钥和密钥派生自检值按照目标密钥生成流程运算得到的密钥对比值。
步骤S12:基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致。
本实施例中,得到上述根密钥、密钥派生自检值和密钥对比值后,基于上述根密钥和密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测上述待检测密钥与所述密钥对比值是否一致。可以理解的是,密钥对比值即为准确的参考值,利用根密钥和密钥派生自检值按照预设密钥派生算法规则,执行密钥生成流程,得到对应的待检测密钥,然后比对待检测密钥与上述密钥对比值是否一致,以实现密钥派生硬件流程的自检,若一致则表征密钥派生流程不存在问题或风险,若不一致则表征密钥派生流程可能存在异常处理或异常干扰。
步骤S13:若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。
本实施例中,若上述待检测密钥与上述密钥对比值一致,则当接收到密钥派生请求后按照上述预设密钥派生算法规则生成对应的密钥。即若待检测密钥与密钥对比值一样,则证明密钥派生流程不存在问题,则当接收到中央处理器发送的密钥派生请求后,按照上述预设密钥派生算法规则生成对应的密钥。可以理解的是,此时的密钥派生算法规则即为上述自检过程的密钥派生算法规则,只是初始输入数据存在不同,密钥派生阶段输入的初始数据中含有唯一标识等信息。
本实施例中,所述预设密钥派生算法规则可以为基于杂凑算法和分组算法构建的规则。其中,上述杂凑算法可以包括但不限于SHA-256算法和SM3算法,上述分组算法可以包括但不限于AES(Advanced Encryption Standard,高级加密标准)、SM4算法和TDES(TripleData Encryption Standard,三重数据加密标准)。具体的,自检过程中的待检测密钥计算过程可以将算法模式固定为杂凑算法为SHA-256,分组算法为AES,在密钥派生阶段,可以通过配置字段选择对应的算法。
本实施例中,所述当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥,可以包括:接收含有唯一标识和算法配置信息的密钥派生请求,将所述唯一标识作为所述密钥派生自检值,并根据所述算法配置信息确定出目标算法;基于所述根密钥和所述唯一标识,利用所述目标算法并按照所述密钥派生算法规则生成对应的密钥。可以理解的是,此时将密钥派生请求中的唯一标识作为密钥派生自检值,然后按照同样的密钥派生算法规则执行相应的派生流程,以得到与唯一标识对应的密钥。其中,上述唯一标识可以为厂家号VendorID或产品序列号。
本实施例中,所述基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,可以包括:基于所述根密钥、所述密钥派生自检值、加密密钥和解密密钥,利用杂凑算法计算得到第一哈希值;利用所述解密密钥对所述根密钥进行解密,得到解密后根密钥;利用所述加密密钥对所述密钥派生自检值进行加密,得到加密后密钥派生自检值;将所述第一哈希值的第一目标字段作为密钥对所述解密后根密钥进行加密,并将加密后数据作为目标密钥;将所述第一哈希值的第二目标字段作为密钥对所述加密后密钥派生自检值进行解密,并将解密后数据作为目标数据;利用所述目标密钥对所述目标数据进行加密得到目标输出数据,然后对所述目标输出数据进行杂凑运算得到所述待检测密钥。
可以理解的是,例如图2所示,上述预设密钥派生算法规则包括杂凑算法、ESCK解密、VendorID加密、SCK加密、Seed解密和Seed_gen加密等步骤。首尾的杂凑算法,由于杂凑算法有不可逆的特性,将不能推导出内部各个步骤的输入以及加解密密钥等信息,同时也不能获取到自检的信息等,其中,杂凑算法使用SHA-256算法和SM3算法可以保证输出为256bit。其中,第一个杂凑算法阶段,在自检时,即上述待检测密钥生成中,杂凑算法输入可以为{smkkey,esck,keygen_chk,esckkey},其中,esckkey为解密密钥,smkkey为加密密钥,esck为根密钥,keygen_chk为密钥派生自检值,且加密密钥和解密密钥为固定在系统中的固定值;密钥派生时,杂凑算法输入可以为{smkkey,esck,vendorID,esckkey},算法输出值为256bit的第一哈希值hash_data[255:0]。
其中,ESCK解密阶段,算法输入为OTP中编程值ESCK,利用上述解密密钥对根密钥进行解密,得到解密后根密钥sck。其中,VendorID加密阶段,在自检时算法输入为keygen_chk,而加密密钥为smkkey,为固定在系统中的不变值;在密钥产生时,算法输入为VendorID,该值为根据外部需要,配置到寄存器中的值,加密密钥为smkkey,算法输出为seed。其中,SCK加密阶段,算法输入为sck,加密密钥为上述第一哈希值的第一目标字段,如hash_data[127:0],算法输出为sck_gen。其中,Seed解密阶段,算法输入为seed,解密密钥为上述第一哈希值的第二目标字段,如hash_data[255:128],算法输出为seed_gen。其中,Seed_gen加密阶段,算法输入为seed_gen,加密密钥为sck_gen,算法输出为seed_hash_in。其中,最后的杂凑算法阶段,由于其算法输入block长度为512bit,所以该步骤中输入为seed_hash_in padding后值{seed_hash_in,1’b1,375’h0,8’h80},输出的哈希值hash_out[255:0]为待检测密钥或与唯一标识对应的密钥。可以理解的是,在密钥派生和自检时,选取最终得到的哈希值为该次自检或者密钥派生的最终的输出结果;在自检时,用该值与密钥对比值进行对比,由此对整个系统的安全性做检测,在密钥派生时,该值直接送给下级模块用来后续加密解密等操作。
本实施例中,所述基于所述根密钥和所述唯一标识,利用所述目标算法并按照所述密钥派生算法规则生成对应的密钥的过程中,还可以包括:根据预设阶段划分策略,将所述密钥派生算法规则的执行流程分为多个阶段;在每个阶段开始时向随机数产生器请求一个预设数值范围内的随机数值作为初始值,并利用所述初始值通过减计数器进行减法计时;在当前阶段执行完成并所述减计数器计时完成后,执行下一个阶段。可以理解的是,在密钥派生的过程中划分的几个阶段加入随机控制机制,使得每个阶段的开始时间不会被外部轻易确定,有助于防范计时攻击。具体的,如图2中所示,4个虚线标注四个阶段,阶段1为发起密钥派生或自检请求;阶段2为杂凑算法,ESCK解密,VendorID加密均完成;阶段3为SCK加密和Seed解密均完成;阶段4为Seed_gen加密完成。本实施例中,可以在这4个步骤开始时向随机数产生模块申请一组16bit的随机数,并在该随机数寄存器减计数为0的时候,进入下一个阶段的流程。
由上可见,本实施例中,通过接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;然后,基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。可见,利用根密钥、密钥派生自检值和与密钥派生自检值对应的密钥对比值,对密钥生成系统进行自检,通过硬件派生处理流程的安全性检测,来提高整个密钥派生系统的安全性,保证输出密钥的可靠性。
本申请实施例公开了一种具体的密钥派生方法,参见图3所示,该方法可以包括以下步骤:
步骤S21:接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值。
步骤S22:基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致。
步骤S23:若所述待检测密钥与所述密钥对比值一致,向随机数产生器发送随机数请求,并将接收到的所述随机数产生器反馈的随机数值存储至减计数寄存器。
本方案中,如图4所示,在OTP初始化完成之前,密钥派生系统处于IDLE闲置状态,在根密钥ESCK以及密钥派生自检值KeyGen_chk和密钥对比值KeyGen_cmp有效更新后,系统将自动开启自检,完成第一次自检流程,经过一系列的算法处理和流程控制之后,若最终产生的待检测密钥与密钥对比值一致,则将系统安全且经过自检的标志信号Flag拉高为1。在自检成功后,向随机数产生模块发出随机数请求,并根据寄存器配置,选择锁存到减计数器中的随机数范围大小,将对应的随机数值锁存到减计数寄存器当中,此时随机数值在每执行一次密钥派生后减一,在减到0后会重复自检流程,因此,根据预存的随机数范围大小来控制自检的最大时间间隔。同时,对该值做判断,确保锁存到寄存器中的值,为大于或等于1的值。
步骤S24:当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。
步骤S25:利用所述减计数器将所述随机数值减1得到最新的随机数,并判断所述最新的随机数是否为0。
本实施例中,执行完成一次密钥派生后,通过上述减计数器将上述随机数值减1得到最新的随机数,并判断最新的随机数是否为0。即在后续的每次密钥派生请求都判断该寄存器中值是否为0,及判断是否需要开启一次自检流程。
步骤S26:若是,则执行所述基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致的步骤。
本实施例中,若为0则在该次密钥生成流程后,开启下一次的自检流程,并将Flag信号拉低为0,若该值大于0,则保持Flag为1。
步骤S27:若所述待检测密钥与所述密钥对比值不一致,则将当前工作状态跳转为闲置状态,并执行系统复位操作。
本实施例中,若匹配后判断出待检测密钥与上述密钥对比值不一致,则将当前工作状态跳转为闲置状态,并执行系统复位操作。即若最终产生的待检测密钥与密钥对比值不一致,则状态机将跳转到IDLE状态,同时,该系统处于异常状态,将输出异常复位信号,将整个系统复位。
进一步,如图5所示的安全密钥派生系统的硬件结构图示意图,
安全密钥派生系统可以包括TRNG(Hardware Random Number Generator,真随机数发生器),SecureCPU(安全CPU),OTP(One Time Programmable,一次可编程)存储器以及密钥派生模块KeyGen。其中,密钥派生模块可以包括4个部分:KeyGen_chk用于自检的判断和检查;KeyGen_reg用于配置寄存器和启动密钥派生;KeyGen_ctrl为派生系统的主控制器模块,用于控制整个派生和自检流程;KeyGen_eng为算法模块,内部包含杂凑算法SHA-256,SM3以及分组算法AES,SM4,TDES。其中,OTP中编程保存根密钥ESCK以及用于自检的密钥派生自检值KeyGen_chk与派生密钥对比值KeyGen_cmp,同时,必须确保该三组数据对密钥派生模块之外的其他模块不可见。TRNG根据随机数请求产生相应的随机数值给密钥派生模块,密钥派生模块会锁存该随机数。Secure CPU对密钥产生模块进行寄存器配置以及发起密钥派生请求。系统上电OTP初始化完成后,会将根密钥以及用于自检的密钥派生自检值和密钥对比值数据直接送到KeyGen_ctrl模块寄存器中保存,且该过程仅对KeyGen_ctrl可见,而对其他的模块全部可见。
其中,关于上述步骤S21、步骤S22的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由上可见,本实施例中若所述待检测密钥与所述密钥对比值一致,向随机数产生器发送随机数请求,并将接收到的所述随机数产生器反馈的随机数值存储至减计数寄存器。并在执行完成密钥派生后,利用所述减计数器将所述随机数值减1得到最新的随机数,并判断所述最新的随机数是否为0。若所述待检测密钥与所述密钥对比值不一致,则将当前工作状态跳转为闲置状态,并执行系统复位操作。由此系统可以根据随机数在随机的时间间隔进行自检,并对于存在问题及异常的情况时,进行异常处理,复位整个系统停止密钥派生,来实现提高整个密钥派生系统的安全性和可靠性的目的。
相应的,本申请实施例还公开了一种密钥派生装置,参见图6所示,该装置包括:
接收模块11,用于接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;
检测模块12,用于基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;
密钥派生模块13,用于若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。
由上可见,本实施例中,通过接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;然后,基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥。可见,利用根密钥、密钥派生自检值和与密钥派生自检值对应的密钥对比值,对密钥生成系统进行自检,通过硬件派生处理流程的安全性检测,来提高整个密钥派生系统的安全性,保证输出密钥的可靠性。
在一些具体实施例中,所述密钥派生装置具体可以包括:
复位模块,用于若所述待检测密钥与所述密钥对比值不一致,则将当前工作状态跳转为闲置状态,并执行系统复位操作。
在一些具体实施例中,所述密钥派生装置具体可以包括
随机数获取模块,用于向随机数产生器发送随机数请求,并将接收到的所述随机数产生器反馈的随机数值存储至减计数寄存器;
相应的,所述密钥派生装置,还包括:
减法及判断模块,用于利用所述减计数器将所述随机数值减1得到最新的随机数,并判断所述最新的随机数是否为0;
自检触发模块,用于若所述减法及判断模块的判断结果为是,则执行所述基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致的步骤。
在一些具体实施例中,所述预设密钥派生算法规则可以为基于杂凑算法和分组算法构建的规则。
在一些具体实施例中,所述密钥派生模块13具体可以包括
请求获取单元,用于接收含有唯一标识和算法配置信息的密钥派生请求,将所述唯一标识作为所述密钥派生自检值,并根据所述算法配置信息确定出目标算法;
密钥生成单元,用于基于所述根密钥和所述唯一标识,利用所述目标算法并按照所述密钥派生算法规则生成对应的密钥。
在一些具体实施例中,所述密钥生成单元具体可以包括
阶段划分子单元,用于根据预设阶段划分策略,将所述密钥派生算法规则的执行流程分为多个阶段;
计时子单元,用于在每个阶段开始时向随机数产生器请求一个预设数值范围内的随机数值作为初始值,并利用所述初始值通过减计数器进行减法计时;
执行子单元,用于在当前阶段执行完成并所述减计数器计时完成后,执行下一个阶段。
在一些具体实施例中,所述检测模块12具体可以包括
第一杂凑运算单元,用于基于所述根密钥、所述密钥派生自检值、加密密钥和解密密钥,利用杂凑算法计算得到第一哈希值;
第一解密单元,用于利用所述解密密钥对所述根密钥进行解密,得到解密后根密钥;
第一加密单元,用于利用所述加密密钥对所述密钥派生自检值进行加密,得到加密后密钥派生自检值;
第二加密单元,用于将所述第一哈希值的第一目标字段作为密钥对所述解密后根密钥进行加密,并将加密后数据作为目标密钥;
第二解密单元,用于将所述第一哈希值的第二目标字段作为密钥对所述加密后密钥派生自检值进行解密,并将解密后数据作为目标数据;
第二杂凑运算单元,用于利用所述目标密钥对所述目标数据进行加密得到目标输出数据,然后对所述目标输出数据进行杂凑运算得到所述待检测密钥。
进一步的,本申请实施例还公开了一种电子设备,参见图7所示,图中的内容不能被认为是对本申请的使用范围的任何限制。该电子设备包括存储器21和处理器22,其中,所述存储器21用于存储计算机程序,所述计算机程序由所述处理器22加载并执行,以实现前述任一实施例公开的密钥派生方法中的相关步骤。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有硬件描述语言,所述硬件描述语言可以为RTL(Register Transfer Level,寄存器转换级电路)代码,所述硬件描述语言被处理器加载并执行时,实现前述任一实施例公开的密钥派生方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种密钥派生方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种密钥派生方法,其特征在于,包括:
接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;
基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;
若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥;
所述密钥对比值为利用所述根密钥和所述密钥派生自检值按照目标密钥生成流程运算得到的。
2.根据权利要求1所述的密钥派生方法,其特征在于,所述检测所述待检测密钥与所述密钥对比值是否一致之后,还包括:
若所述待检测密钥与所述密钥对比值不一致,则将当前工作状态跳转为闲置状态,并执行系统复位操作。
3.根据权利要求1所述的密钥派生方法,其特征在于,所述若所述待检测密钥与所述密钥对比值一致之后,还包括:
向随机数产生器发送随机数请求,并将接收到的所述随机数产生器反馈的随机数值存储至减计数寄存器;
相应的,所述当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥之后,还包括:
利用减计数器将所述随机数值减1得到最新的随机数,并判断所述最新的随机数是否为0;
若是,则执行所述基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致的步骤。
4.根据权利要求1所述的密钥派生方法,其特征在于,所述预设密钥派生算法规则为基于杂凑算法和分组算法构建的规则。
5.根据权利要求1所述的密钥派生方法,其特征在于,所述当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥,包括:
接收含有唯一标识和算法配置信息的密钥派生请求,将所述唯一标识作为所述密钥派生自检值,并根据所述算法配置信息确定出目标算法;
基于所述根密钥和所述唯一标识,利用所述目标算法并按照所述密钥派生算法规则生成对应的密钥。
6.根据权利要求5所述的密钥派生方法,其特征在于,所述基于所述根密钥和所述唯一标识,利用所述目标算法并按照所述密钥派生算法规则生成对应的密钥的过程中,还包括:
根据预设阶段划分策略,将所述密钥派生算法规则的执行流程分为多个阶段;
在每个阶段开始时向随机数产生器请求一个预设数值范围内的随机数值作为初始值,并利用所述初始值通过减计数器进行减法计时;
在当前阶段执行完成且所述减计数器计时完成后,执行下一个阶段。
7.根据权利要求1至6任一项所述的密钥派生方法,其特征在于,所述基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,包括:
基于所述根密钥、所述密钥派生自检值、加密密钥和解密密钥,利用杂凑算法计算得到第一哈希值;
利用所述解密密钥对所述根密钥进行解密,得到解密后根密钥;
利用所述加密密钥对所述密钥派生自检值进行加密,得到加密后密钥派生自检值;
将所述第一哈希值的第一目标字段作为密钥对所述解密后根密钥进行加密,并将加密后数据作为目标密钥;
将所述第一哈希值的第二目标字段作为密钥对所述加密后密钥派生自检值进行解密,并将解密后数据作为目标数据;
利用所述目标密钥对所述目标数据进行加密得到目标输出数据,然后对所述目标输出数据进行杂凑运算得到所述待检测密钥。
8.一种密钥派生装置,其特征在于,包括:
接收模块,用于接收一次性可编程存储器发送的根密钥、密钥派生自检值和与所述密钥派生自检值对应的密钥对比值;
检测模块,用于基于所述根密钥和所述密钥派生自检值,按照预设密钥派生算法规则计算得到待检测密钥,并检测所述待检测密钥与所述密钥对比值是否一致;
密钥派生模块,用于若所述待检测密钥与所述密钥对比值一致,则当接收到密钥派生请求后按照所述预设密钥派生算法规则生成对应的密钥;
所述密钥对比值为利用所述根密钥和所述密钥派生自检值按照目标密钥生成流程运算得到的。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的密钥派生方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的密钥派生方法。
CN202110744278.XA 2021-06-30 2021-06-30 一种密钥派生方法、装置、设备及存储介质 Active CN113434885B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110744278.XA CN113434885B (zh) 2021-06-30 2021-06-30 一种密钥派生方法、装置、设备及存储介质
PCT/CN2022/100709 WO2023274010A1 (zh) 2021-06-30 2022-06-23 一种密钥派生方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110744278.XA CN113434885B (zh) 2021-06-30 2021-06-30 一种密钥派生方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113434885A CN113434885A (zh) 2021-09-24
CN113434885B true CN113434885B (zh) 2022-12-09

Family

ID=77758604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110744278.XA Active CN113434885B (zh) 2021-06-30 2021-06-30 一种密钥派生方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN113434885B (zh)
WO (1) WO2023274010A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434885B (zh) * 2021-06-30 2022-12-09 湖南国科微电子股份有限公司 一种密钥派生方法、装置、设备及存储介质
CN114139221B (zh) * 2022-02-07 2022-04-29 浪潮(山东)计算机科技有限公司 密钥状态检测方法、装置、设备及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102752662B (zh) * 2012-02-23 2016-01-20 中央电视台 一种条件接收系统接收端的根密钥生成方法、模块、芯片及接收终端
US10185669B2 (en) * 2014-08-04 2019-01-22 Oracle International Corporation Secure key derivation functions
JP7090496B2 (ja) * 2017-10-12 2022-06-24 キヤノン株式会社 認証方法、認証装置、被認証装置及び画像形成装置
CN108063756B (zh) * 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
CN108599930B (zh) * 2018-04-02 2021-05-14 湖南国科微电子股份有限公司 固件加解密系统与方法
CN110719248B (zh) * 2018-07-12 2021-08-17 中移(杭州)信息技术有限公司 用户数据报协议报文的转发方法及装置
US11716614B2 (en) * 2018-08-16 2023-08-01 Comcast Cable Communications, Llc Secured data derivation for user devices
US11271731B2 (en) * 2019-11-07 2022-03-08 Micron Technology, Inc. Single-use password generation
CN111737770B (zh) * 2020-05-29 2023-04-28 宁波三星医疗电气股份有限公司 一种密钥管理方法及应用方法
CN113434885B (zh) * 2021-06-30 2022-12-09 湖南国科微电子股份有限公司 一种密钥派生方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113434885A (zh) 2021-09-24
WO2023274010A1 (zh) 2023-01-05

Similar Documents

Publication Publication Date Title
CN113434885B (zh) 一种密钥派生方法、装置、设备及存储介质
US8533492B2 (en) Electronic device, key generation program, recording medium, and key generation method
US9158939B2 (en) Security chip, program, information processing apparatus, and information processing system
EP3700243A1 (en) Security data processing device
US11349651B2 (en) Measurement processing of high-speed cryptographic operation
CN113408017B (zh) 一种otp存储器内数据保护方法、装置、设备及存储介质
US20160211974A1 (en) Data generation apparatus, communication apparatus, communication system, mobile object, data generation method, and computer program product
EP3292501B1 (en) Attack detection through signal delay monitoring
CN115033294A (zh) 用于安全非易失性存储器的系统、方法和设备
EP2701101B1 (en) Information processing devices and information processing methods
US10447487B2 (en) Data generating device, communication device, mobile object, data generating method, and computer program product
US20160277182A1 (en) Communication system and master apparatus
JP2023542099A (ja) 無線端末、及び無線端末のUbootモードにおけるインタフェースアクセス認証方法
US20240086081A1 (en) External memory data integrity validation
KR20200075451A (ko) 디바이스 고유암호키 생성기 및 방법
US20180316512A1 (en) Authenticating a secondary device based on encrypted tables
JP6107191B2 (ja) Icカード
EP3754528A1 (en) Secure provision of programmable devices
EP3920066B1 (en) Electronic device capable of protecting confidential data
US11537717B2 (en) Information processing apparatus
EP3046024B1 (en) Method of operating a system on chip comprising a bootable processor
CN110932853B (zh) 一种基于可信模块的密钥管理装置和密钥管理方法
JP2024503602A (ja) エッジデバイスのための鍵無効化
US11283632B2 (en) Integrated circuit, control device, information distribution method, and information distribution system
TWI499929B (zh) 燒錄系統

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant