一种密钥产生方法和装置与流程

文档序号:23727944发布日期:2021-01-26 17:56阅读:115来源:国知局
一种密钥产生方法和装置与流程

[0001]
本发明涉及芯片电路设计领域,特别涉及一种密钥产生方法和装置。


背景技术:

[0002]
ssd数据存储已经逐渐成为消费设备数据存储和云存储的主要存储介质。对于ssd数据存储来说,数据纠错的意义十分重大,特别是个人关键数据和政府机构相关的数据。ssd主控芯片作为ssd存储设备的大脑,其安全性能直接决定ssd硬盘整体最终的安全性能。
[0003]
目前,对于每个用户数据的安全访问,最常用的方法仍然是设置密码的方式,通过对密码进行校验的方式完成用户授权,但一个ssd存储设备可能被不同的用户使用,而不同的用户应该有不同的安全等级,对应于不同的可访问空间。采用设置密码的方式不仅无法保证用户对于相应存储区访问的唯一性,也容易导致用户忘记密码而无法对存储设备的数据区进行访问的情况发生。


技术实现要素:

[0004]
为此,需要提供一种密钥产生的技术方案,用以解决目前对于存储设备数据区无法做到用户访问唯一性、安全性弱的问题。
[0005]
为实现上述目的,本发明第一方面提供了一种密钥产生装置,所述密钥产生装置包括:
[0006]
源数据解密单元,用于获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;
[0007]
根密钥运算单元,用于根据所述解密后的源密钥计算得到根密钥信息;
[0008]
层级解密运算单元,用于获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到密钥输出信息。
[0009]
进一步地,还包括:
[0010]
算法信息存储单元,用于存储解密后的层级加解密算法;
[0011]
算法选择单元,用于根据用户安全等级选择不同的层级加解密算法至所述层级解密运算单元。
[0012]
进一步地,还包括:
[0013]
层级信息存储单元,用于存储层级密钥信息;
[0014]
主控芯片,用于获取所述层级信息存储单元中的层级密钥信息,并将所述层级密钥信息传输给所述层级解密运算单元。
[0015]
进一步地,还包括:
[0016]
用户等级存储单元,用于存储用户安全等级;
[0017]
主控芯片,还用于根据当前用户对应的安全等级发送相应的层级密钥信息至所述层级解密运算单元。
[0018]
进一步地,还包括:
[0019]
生物特征信息采集单元,用于采集当前用户的生物特征信息;
[0020]
主控芯片,用于将采集到的生物特征信息与预设生物特征信息进行比对,以确定当前用户对应的安全等级。
[0021]
进一步地,所述层级解密运算单元包括一级解密运算单元和二级解密运算单元;所述层级密钥信息包括第一层级密钥信息和第二层级密钥信息;所述层级加解密算法包括第一层级加解密算法和第二层加解密算法;
[0022]
主控芯片,用于从所述层级信息存储单元获取一级层级密钥信息,并将所述一级层级密钥信息传输给一级解密运算单元;以及用于从所述层级信息存储单元获取二级层级密钥信息,并将所述二级层级密钥信息传输给二级解密运算单元;
[0023]
一级解密运算单元,用于根据所述一级层级密钥加解密算法采用所述根密钥信息对所述一级层级密钥信息进行解密,得到一级密钥;
[0024]
二级解密运算单元,用于获取所述一级密钥,并根据所述二级层级密钥加解密算法采用所述一级密钥信息对所述二级层级密钥信息进行解密,得到二级密钥。
[0025]
进一步地,还包括:
[0026]
用户验证信息存储单元,用于存储用户验证信息;
[0027]
根密钥运算单元,用于获取所述用户验证信息和解密后的源密钥,根据所述解密后的源密钥对所述用户验证信息进行哈希运算,得到根密钥信息。
[0028]
进一步地,所述层级信息存储单元还用于存储握手请求信息和握手响应信息;
[0029]
所述密钥产生装置包括:
[0030]
握手解密运算电路,用于采用所述密钥输出信息对所述密钥输出信息自身进行解密,得到握手加密密钥信息;
[0031]
握手加密运算电路,用于接收所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息;
[0032]
握手信息校验电路,用于获取所述握手响应信息和所述握手加密信息,并判断两者是否匹配,若是则输出所述密钥输出信息。
[0033]
进一步地,还包括:
[0034]
源数据存储单元,用于存储加密后的源数据,所述源数据包括源密钥和层级加解密算法;所述源数据存储单元为otp存储单元。
[0035]
本发明第二方面还提供了一种密钥产生方法,其特征在于,所述方法应用于如本发明第一方面所述的密钥产生装置,所述方法包括以下步骤:
[0036]
源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;
[0037]
根密钥运算单元根据所述解密后的源密钥计算得到根密钥信息;
[0038]
层级解密运算单元获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到密钥输出信息。
[0039]
区别于现有技术,上述技术方案所述的密钥产生方法和装置,所述装置包括:源数据解密单元,用于获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加
解密算法;根密钥运算单元,用于根据所述解密后的源密钥计算得到根密钥信息;层级解密运算单元,用于获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到密钥输出信息。在上述方案中,密钥输出信息是由源密钥经过多层加密手段得到,从而极大提升了密钥的安全性。
附图说明
[0040]
图1为本发明一实施例涉及的密钥产生装置的结构示意图;
[0041]
图2为本发明另一实施例涉及的密钥产生装置的结构示意图;
[0042]
图3为本发明另一实施例涉及的密钥产生装置的结构示意图;
[0043]
图4为本发明一实施例涉及的密钥产生方法的流程图;
[0044]
图5为本发明另一实施例涉及的密钥产生方法的流程图;
[0045]
图6为本发明另一实施例涉及的密钥产生方法的流程图。
[0046]
附图标记说明:
[0047]
30、密钥产生装置;
[0048]
301、源数据存储单元;
[0049]
302、源数据解密单元;
[0050]
303、算法信息存储单元;
[0051]
304、层级信息存储单元;
[0052]
305、根密钥运算单元;
[0053]
306、层级解密运算单元;3061、一级解密运算单元;3062、二级解密运算单元;3063、三级解密运算单元;
[0054]
307、握手解密运算电路;3071、一级握手解密运算电路;3072、二级握手解密运算电路;3073、三级握手解密运算电路;
[0055]
308、握手加密运算电路;3081、一级握手加密运算电路;3082、二级握手加密运算电路;3083、三级握手加密运算电路;
[0056]
309、握手信息校验电路;
[0057]
310、密钥选择单元;
[0058]
311、算法选择单元;3111、一级算法选择单元;3112、二级算法选择单元;3113、三级算法选择单元;
[0059]
312、主控芯片;
[0060]
313、用户验证信息存储单元;
[0061]
40、密钥记录单元。
具体实施方式
[0062]
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0063]
密钥信息作为数据加解密的工具,是芯片安全认证的关键一环,保证密钥生成过程的安全性就显得尤为重要。为了加强密钥生成过程的安全性,本申请设计了专门的密钥
产生装置30来生成最终所需的密钥信息。
[0064]
如图1所示,为本发明一实施例涉及的密钥产生装置的结构示意图。所述密钥产生装置包括:
[0065]
源数据解密单元301,用于获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;
[0066]
根密钥运算单元305,用于根据所述解密后的源密钥计算得到根密钥信息;
[0067]
层级解密运算单元306,用于获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到密钥输出信息。层级解密运算单元306得到的密钥输出信息即为最终所需的密钥信息,密钥输出信息是由源密钥经过多层加密手段得到,从而极大提升了密钥生成过程中的安全性。
[0068]
如图2所示,在某些实施例中,所述密钥产生装置30还包括:
[0069]
算法信息存储单元303,用于存储解密后的层级加解密算法。所述层级加解密算法是后续进行数据加解密时所选择的算法,具体可以包括aes算法、tdes算法、sm4算法中的任意一种或多种。源数据解密单元301解密得到层级加解密算法后,会将层级加解密算法存储到算法信息存储单元303中,以等到后续调用。
[0070]
算法选择单元311,用于根据用户安全等级选择不同的层级加解密算法至所述层级解密运算单元306。所述用户安全等级是指可以访问存储设备的不同安全存储区的访问权限。用户安全等级越高,其能够访问的安全存储区的安全性越高,对应的密钥生成过程也越复杂。
[0071]
例如有用户a、用户b和用户c,分别对应的用户安全等级是低安全等级、中安全等级和高安全等级。层级密钥解密运算单元包括第一层级密钥解密运算单元、第二层级密钥解密运算单元和第三层级密钥解密运算单元。假设算法信息存储单元存储有a、b、c三种加解密算法。
[0072]
在生成用户a对应的密钥输出信息时,所述装置只启动第一层级密钥解密运算单元完成加解密运算,算法选择单元只需要将加解密算法a发送至第一层级密钥解密运算单元即可。
[0073]
在生成用户b对应的密钥输出信息时,所述装置会启动第一层级密钥解密运算单元和第二层级密钥解密运算单元进行加解密运算,算法选择单元先选择加解密算法a发送至第一层级密钥解密运算单元,并在后续第二层级密钥解密运算单元进行加解密运算时将加解密算法b发送至第二层级密钥解密运算单元。
[0074]
在生成用户c对应的密钥输出信息时,所述装置不仅会启动第一层级密钥解密运算单元和第二层级密钥解密运算单元进行加解密运算,还会启动第三层级密钥解密运算单元进行加解密运算。算法选择单元先选择加解密算法a发送至第一层级密钥解密运算单元,并在第二层级密钥解密运算单元进行加解密运算时将加解密算法b发送至第二层级密钥解密运算单元,以及在后续并在第三层级密钥解密运算单元进行加解密运算时将加解密算法c发送至第三层级密钥解密运算单元,以使得第三层级密钥解密运算单元完成相应的加解密运算以输出所述密钥输出信息。
[0075]
在这一实施例中,通过算法选择单元311根据用户安全等级的不同从所述算法信
息存储单元303中选择不同的层级加解密算法至相应的层级解密运算单元306,可以使得不同安全等级用户对于同一存储设备中不同存储区域的访问差异化设置,保证不同安全等级用户的对于同一存储设备的访问互不影响,进一步提升访问过程的私密性和安全性。
[0076]
在某些实施例中,所述密钥产生装置30还包括:
[0077]
层级信息存储单元304,用于存储层级密钥信息;
[0078]
主控芯片312,用于获取所述层级信息存储单元304中的层级密钥信息,并将所述层级密钥信息传输给所述。
[0079]
这样,密钥输出信息产生过程中的解密算法来自于算法信息存储单元303中的加解密算法,并通过算法选择单元311进行筛选,筛选的加解密算法的解密对象为主控芯片312发送的层级密钥信息,解密过程中使用的密钥为根密钥信息,具体是:层级解密运算单元306根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到密钥输出信息。由于层级密钥信息、层级密钥加解密算法和根密钥信息三者分别来自于不同的单元,从而进一步提升了生成的密钥输出信息的安全性。
[0080]
在某些实施例中,还包括:用户等级存储单元,用于存储用户安全等级;主控芯片,还用于根据当前用户对应的安全等级发送相应的层级密钥信息至所述层级解密运算单元。同一个存储设备可能被多个不同用户访问,为保证各个用户对于同一存储设备的访问互不影响,对每个都设置了相应的安全等级,并给予各用户对应的安全等级匹配有相应的层级密钥信息,以便于不同用户访问时密钥产生装置能够产生不同安全级别的密钥输出信息。
[0081]
例如有用户a、用户b和用户c,分别对应的用户安全等级是低安全等级、中安全等级和高安全等级。层级密钥解密运算单元包括第一层级密钥解密运算单元、第二层级密钥解密运算单元和第三层级密钥解密运算单元。
[0082]
假设层级密钥信息包括第一层源密钥、第二层源密钥和第三层源密钥,那么在生成用户a对应的密钥输出信息时,所述装置只启动第一层级密钥解密运算单元完成加解密运算,算法选择单元只需要将加解密算法a发送至第一层级密钥解密运算单元,第一层级解密运算单元根据加解密算法a采用所述根密钥信息对所述第一层源密钥进行解密,得到一级密钥。对于用户a而言,一级密钥即为所需的密钥输出信息。
[0083]
在生成用户b对应的密钥输出信息时,所述装置会启动第一层级密钥解密运算单元和第二层级密钥解密运算单元进行加解密运算,算法选择单元先选择加解密算法a发送至第一层级密钥解密运算单元,第一层级密钥解密运算单元解密得到一级密钥后(具体做法参考用户a的密钥输出信息的生成过程),会将一级密钥发送给所述第二层级密钥解密运算单元。在第二层级密钥解密运算单元进行解密运算时,主控芯片会将第二层源密钥发送给第二层级密钥解密运算单元,算法选择单元会选择加解密算法b发送至第二层级密钥解密运算单元。而后第二层级密钥解密运算单元根据加解密算法b采用所述一级密钥对所述第二层源密钥进行解密,得到二级密钥。对于用户b而言,二级密钥即为所需的密钥输出信息。
[0084]
在生成用户c对应的密钥输出信息时,所述装置不仅会启动第一层级密钥解密运算单元和第二层级密钥解密运算单元进行加解密运算,还会启动第三层级密钥解密运算单元进行加解密运算。算法选择单元先选择加解密算法a发送至第一层级密钥解密运算单元,并在第二层级密钥解密运算单元进行加解密运算时将加解密算法b发送至第二层级密钥解
密运算单元。第二层级密钥解密运算单元解密得到二级密钥后(具体做法参考用户b的密钥输出信息的生成过程),会将二级密钥发送给所述第三层级密钥解密运算单元。在第三层级密钥解密运算单元进行加解密运算时,算法选择单元会选择加解密算法c发送至第三层级密钥解密运算单元,主控芯片也会将第三层源密钥发送至第三层级密钥解密运算单元,以使得第三层级密钥解密运算单元根据加解密算法c采用所述二级密钥对所述第三层源密钥进行解密,得到三级密钥。对于用户c而言,三级密钥即为所需的密钥输出信息。
[0085]
在某些实施例中,所述密钥产生装置还包括:
[0086]
生物特征信息采集单元,用于采集当前用户的生物特征信息。所述生物特征信息是指用户部位的生物特征信息,包括指纹信息、掌纹信息、人脸信息、眼球信息、虹膜信息、嘴唇信息、耳廓信息中的一种或多种。生物特征信息采集单元可以通过相应的生物特征识别芯片来实现,如人脸识别芯片、指纹识别芯片等。
[0087]
主控芯片,用于将采集到的生物特征信息与预设生物特征信息进行比对,以确定当前用户对应的安全等级。简言之,每一用户事先录入有自身对应的预设生物特征信息且设置有相应的用户安全等级,每次需要访问存储设备的访问区时,密钥产生装置会事先基于用户的生物特征信息进行验证,以确定当前用户的安全等级,后续可以根据当前用户的安全等级的不同采用如前所述的方法生成不同安全等级的密钥输出信息,从而保证每一用户对于存储区域的访问的唯一性和私密性。
[0088]
在某些实施例中,所述密钥产生装置30还包括:
[0089]
用户验证信息存储单元313,用于存储用户验证信息。优选的,所述用户验证信息存储单元313中存储有多个不同用户的用户验证信息。所述用户验证信息为区分不同用户的id,例如可以是用户各自设置的密码,如一串字符串。
[0090]
根密钥运算单元305,用于获取所述用户验证信息和解密后的源密钥,根据所述解密后的源密钥对所述用户验证信息进行哈希运算,得到根密钥信息。由于根密钥信息是通过解密后的源密钥对所述用户验证信息进行哈希运算得到,可以保证源密钥和生成的根密钥的位数保持一致,同时保证不同用户进行认证时,所生成的根密钥信息均是不同的,进一步提升了安全性
[0091]
在某些实施例中,所述密钥产生装置30还包括:源数据存储单元301,用于存储加密后的源数据,所述源数据包括源密钥和层级加解密算法。在本实施方式中,所述源数据存储单元301为otp存储单元(即一次性可编程单元),这样可以有效防止源数据被篡改。为了防止黑客从源数据存储单元301中直接获得源数据,因而在本申请中是先对源数据进行加密后再存储至otp存储单元中,对源数据进行加密采用的初始密钥可以被存储于其他存储单元中,以提升源数据存储的安全性。
[0092]
为了防止密钥输出信息在生成过程中被截获篡改,在本实施方式中,所述层级信息存储单元还用于存储握手请求信息和握手响应信息,如图3所示,所述密钥产生装置30包括:
[0093]
握手解密运算电路307,用于采用所述密钥输出信息对所述密钥输出信息自身进行解密,得到握手加密密钥信息。密钥输出信息自身在传输过程中容易被截获或篡改,但是如果先用密钥输出信息对所述密钥输出信息自身进行解密后,黑客反向破解的难度就会成指数级增加,因而本申请在进行密钥数据校验前先让密钥输出信息对所述密钥输出信息自
身进行解密,得到握手加密密钥信息。
[0094]
握手加密运算电路308,用于接收所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息。握手请求信息可以预先存储于握手信息存储单元304中,握手请求信息是指待验证的信息,其通过握手加密密钥信息进行加密后可以得到握手加密信息。
[0095]
握手信息校验电路309,用于获取所述握手响应信息和所述握手加密信息,并判断两者是否匹配,若是则通过校验则输出所述密钥输出信息。所述握手响应信息是指预先存储于握手信息存储单元304中、且是握手请求信息经过加密后得到的校验标准信息。通过比对所述握手响应信息和所述握手加密信息,就可以推知当前密钥输出信息是否被篡改,若两者匹配则可以输出密钥输出信息。
[0096]
如图3所示,为了在不同用户使用待测芯片时能够使用不同权限的功能,因而在本实施方式中,对于不同用户使用所述待测芯片时的密钥信息也可以设置不同等级,即密钥产生装置可以根据用户的安全等级产生相应层级的待测密钥信息,层级越高,则待测密钥信息的安全性也就越高。
[0097]
以密钥等级为三个安全等级为例,所述装置包括密钥选择单元310。所述解密运算单元包括一级解密运算单元3061、二级解密运算单元3062、三级解密运算单元3063。所述握手解密运算电路包括一级握手解密运算电路3071、二级握手解密运算电路3072、三级握手解密运算电路3073。所述握手加密运算电路包括一级握手加密运算电路3081、二级握手加密运算电路3082、三级握手加密运算电路3083。算法信息存储单元303中设置有多种加解密算法,包括一级加解密算法、二级加解密算法和三级加解密算法,并依次通过一级算法选择单元3111、二级算法选择单元3112、三级算法选择单元3113进行选择。所述层级密钥信息包括第一层源密钥、第二层源密钥和第三层源密钥。
[0098]
图3所述的密钥产生装置30的工作原理如下:密钥产生装置30获取当前用户等级,并通过密钥选择单元310输出与所述用户等级相匹配的测试密钥至所述密钥记录单元40,假设用户等级有三级,则密钥选择单元310依次选择一级密钥、二级密钥和三级密钥进行输出,三级密钥的安全等级大于二级密钥,二级密钥的安全等级大于一级密钥。
[0099]
一级密钥的产生过程如下:
[0100]
源数据解密单元302获取所述源数据存储单元301中加密后的源密钥和层级加解密算法进行解密,得到解密后的源密钥和层级加解密算法,并将所述解密后的源密钥送往根密钥运算单元305,将所述解密后的层级密钥加解密算法存储于算法信息存储单元303中。根密钥运算单元获取所述用户验证信息和解密后的源密钥,根据所述解密后的源密钥对所述用户验证信息进行哈希运算,得到根密钥信息。
[0101]
而后一级解密运算单元3061接收层级信息存储单元304的第一层源密钥,一级算法选择单元3111选择一级密钥加解密算法至一级解密运算单元3061,以使得一级解密运算单元3061采用一级密钥加解密算法应用所述根密钥信息对所述第一层源密钥进行解密,得到一级密钥。如果当前用户的安全等级为一级,则密钥选择单元310可以选择所述一级密钥输出。
[0102]
在输出之前,为了防止一级密钥在传输过程中被篡改,需要对生成的一级密钥进行校验,具体是先通过一级握手解密运算电路3071使用一级密钥对一级密钥自身做一次加
密,得到一级握手加密密钥信息。而后通过一级握手加密运算电路3081接收所述层级信息存储单元304传输的第一层握手请求数据,并采用所述一级握手加密密钥信息对所述第一层握手请求数据进行加密,得到第一层握手加密信息。而后接收所述层级信息存储单元304传输的第一层握手响应数据,将所述第一层握手响应数据与所述第一层握手加密信息进行比较,若两者匹配说明一级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
[0103]
二级密钥的产生过程如下:
[0104]
二级密钥的产生过程与一级密钥类似,区别在于一级密钥作为二级密钥产生的输入参数(相当于一级密钥产生时输入的根密钥),具体是二级解密运算单元3062接收层级信息存储单元304的第二层源密钥,二级算法选择单元3112选择二级密钥加解密算法至二级解密运算单元3062,以使得二级解密运算单元3062采用二级密钥加解密算法应用所述一级密钥对所述第二层源密钥进行解密,得到二级密钥。如果当前用户的安全等级为二级,则密钥选择单元310可以选择所述二级密钥输出。
[0105]
在输出之前,为了防止二级密钥在传输过程中被篡改,需要对生成的二级密钥进行校验,具体是先通过二级握手解密运算电路3072使用二级密钥对二级密钥自身做一次加密,得到二级握手加密密钥信息。而后通过二级握手加密运算电路3082接收所述层级信息存储单元304传输的第二层握手请求数据,并采用所述二级握手加密密钥信息对所述第二层握手请求数据进行加密,得到第二层握手加密信息。而后接收所述层级信息存储单元304传输的第二层握手响应数据,将所述第二层握手响应数据与所述第二层握手加密信息进行比较,若两者匹配说明二级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
[0106]
三级密钥的产生过程如下:
[0107]
三级密钥的产生过程与二级密钥类似,区别在于二级密钥作为三级密钥产生的输入参数(相当于二级密钥产生时输入的一级密钥),具体是三级解密运算单元3063接收层级信息存储单元304的第三层源密钥,三级算法选择单元3113选择三级密钥加解密算法至三级解密运算单元3062,以使得三级解密运算单元3063采用三级密钥加解密算法应用所述二级密钥对所述第三层源密钥进行解密,得到三级密钥。如果当前用户的安全等级为三级,则密钥选择单元310可以选择所述三级密钥输出。
[0108]
在输出之前,为了防止三级密钥在传输过程中被篡改,需要对生成的三级密钥进行校验,具体是先通过三级握手解密运算电路3073使用三级密钥对三级密钥自身做一次加密,得到三级握手加密密钥信息。而后通过三级握手加密运算电路3083接收所述层级信息存储单元304传输的第三层握手请求数据,并采用所述三级握手加密密钥信息对所述第三层握手请求数据进行加密,得到第三层握手加密信息。而后接收所述层级信息存储单元304传输的第三层握手响应数据,将所述第三层握手响应数据与所述第三层握手加密信息进行比较,若两者匹配说明三级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
[0109]
当然,在另一些实施例中,所述用户等级的数量还可以为其他数值,如两个安全等级或四个以上的安全等级,相对应地,所述密钥输出信息的层级也可以为其他数量,具体根据实际需要进行设置。当密钥输出信息的层级为其他数量时,其产生的方式可以参考图3所
示的电路应用过程,此处不再赘述。
[0110]
在某些实施例中,密钥产生装置30产生的密钥输出信息可以被存储至密钥记录单元40中,以等到后续其他功能模块的选择调用,如可以用于在芯片电路过程中对不同运算数据的加解密等。
[0111]
如图4所示,本申请的第二方面还提供了一种密钥产生方法,所述方法应用于如本申请第一方面所述的装置,所述方法包括以下步骤:
[0112]
首先进入步骤s401源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法;
[0113]
而后进入步骤s402根密钥运算单元根据所述解密后的源密钥计算得到根密钥信息;
[0114]
而后进入步骤s403层级解密运算单元获取层级密钥信息、层级密钥加解密算法和根密钥信息,根据所述层级密钥加解密算法采用所述根密钥信息对所述层级密钥信息进行解密,得到密钥输出信息。
[0115]
通常,密钥产生装置在投入使用前需要进行一定的出厂设置,具体是将密钥产生密钥过程中需要用到的一些校验数据固化在密钥产生装置内部,因而如图5所示,所述方法包括以下步骤:
[0116]
首先进入步骤s501预先设置用户安全等级,并将设置的用户安全等级存储至用户等级存储单元。
[0117]
而后进入步骤s502设置源密钥。
[0118]
步骤s502后可以进入步骤s503根据源密钥通过派生算法得到层级密钥信息和握手请求信息。同步地,可以进入步骤s505对当前用户设置对应的安全等级和该用户对应的用户验证信息。
[0119]
步骤s503后可以进入步骤s504将所述层级密钥信息和所述握手请求信息存储于层级密钥信息存储单元中
[0120]
而后进入步骤s506完成用户密钥初始设置。
[0121]
如图6所示,在某些实施例中,所述密钥产生方法包括以下步骤:
[0122]
首先进入步骤s601源数据存储单元存储加密后的源数据,所述源数据包括源密钥和层级加解密算法。
[0123]
而后可以进入步骤s602源数据解密单元获取所述加密后的源数据进行解密,得到解密后的源密钥和解密后的层级加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中。
[0124]
与步骤s601和步骤s602相并行地,可以进入步骤s603层级信息存储单元存储层级密钥信息;用户验证信息存储单元存储用户验证信息。
[0125]
步骤s602和步骤s603后可以进入步骤s604根密钥运算单元获取所述用户验证信息和解密后的源密钥,根据所述解密后的源密钥对所述用户验证信息进行哈希运算,得到根密钥信息。
[0126]
步骤s604之后可以进入步骤s605层级解密运算单元获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到密钥输出信息。
[0127]
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1