一种密码卡密钥存储动态分布方法及系统转让专利

申请号 : CN202211290719.4

文献号 : CN115357953B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 桑洪波李欢欢

申请人 : 山东三未信安信息科技有限公司

摘要 :

本发明公开了一种密码卡密钥存储动态分布方法及系统,方法包括:实时统计密码卡密钥存储芯片各扇区的擦写次数;将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息;根据预警信息,判断是否满足密钥动态分布条件,若满足,则将擦写次数最多的扇区与擦写次数最少的扇区数据进行动态置换,并置换主控芯片对相应扇区的访问方式。本发明能够对密钥存储扇区进行监测及预警,调节各扇区使用均衡率。

权利要求 :

1.一种密码卡密钥存储动态分布方法,其特征在于,包括:实时统计密码卡密钥存储芯片各扇区的擦写次数;

将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息;

根据预警信息,判断是否满足密钥动态分布条件,若满足,则将擦写次数最多的扇区与擦写次数最少的扇区数据进行动态置换,并置换主控芯片对相应扇区的访问方式;

将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息,包括:按照数值由低到高设置第一预警阈值、第二预警阈值和第三预警阈值;

其中,第一预警阈值为警告阈值,当密钥存储芯片中存在部分扇区的擦写次数超出第一预警阈值时,发出第一等级预警信息,提醒对密码卡密钥进行备份操作;

第二预警阈值为动态分布阈值,当密钥存储芯片中存在部分扇区的擦写次数超出第二预警阈值时,发出第二等级预警信息,密码卡启动密钥动态分布功能;

第三预警阈值为密钥存储芯片的擦写次数限制值,当密钥存储芯片中所有扇区的擦写次数均超出第三预警阈值时,发出第三等级预警信息,提醒对密码卡进行保养升级。

2.根据权利要求1所述的一种密码卡密钥存储动态分布方法,其特征在于,所述实时统计密码卡密钥存储芯片各扇区的擦写次数,包括:预先设置密码卡所产生的各密钥需存储的扇区;

根据密码卡待产生密钥的密钥类型和密钥号,确定该密钥号对应存储的扇区号,并写入对应该扇区号的扇区;

根据扇区存储空间和所存储密钥的存储空间,确定各扇区的擦写次数;擦写次数为写入次数和擦除次数之和;

将各扇区的擦写次数由高到低排序。

3.根据权利要求2所述的一种密码卡密钥存储动态分布方法,其特征在于,密码卡所产生的密钥包括:对称密钥、SM2密钥对和RSA密钥对。

4.根据权利要求1所述的一种密码卡密钥存储动态分布方法,其特征在于,还包括:实时统计密码卡密钥存储芯片的总擦写次数,当擦写次数达第三预警阈值*扇区个数时,则发出第三等级预警信息,提醒对密码卡进行保养升级。

5.根据权利要求1所述的一种密码卡密钥存储动态分布方法,其特征在于,若密码卡的密钥存储芯片的擦写次数限制值为10万次,则第一预警阈值为5万次,第二预警阈值为8万次,第三预警阈值为10万次。

6.一种密码卡密钥存储动态分布系统,其特征在于,包括:密钥存储统计模块,用于实时统计密码卡密钥存储芯片各扇区的擦写次数;

预警模块,用于将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息;

动态分布模块,用于根据预警信息,判断是否满足密钥动态分布条件,若满足,则将擦写次数最多的扇区与擦写次数最少的扇区数据进行动态置换,并置换主控芯片对相应扇区的访问方式;

所述预警模块包括:

阈值设置单元,用于按照数值由低到高设置第一预警阈值、第二预警阈值和第三预警阈值;

第一预警单元,用于当密钥存储芯片中存在部分扇区的擦写次数超出第一预警阈值时,发出第一等级预警信息,提醒对密码卡密钥进行备份操作;

第二预警单元,用于当密钥存储芯片中存在部分扇区的擦写次数超出第二预警阈值时,发出第二等级预警信息,密码卡启动密钥动态分布功能;

第三预警单元,用于当密钥存储芯片中所有扇区的擦写次数均超出第三预警阈值时,发出第三等级预警信息,提醒对密码卡进行保养升级。

7.根据权利要求6所述的一种密码卡密钥存储动态分布系统,其特征在于,所述密钥存储统计模块包括:扇区分配单元,用于预先设置密码卡所产生的各密钥需存储的扇区;

扇区确定单元,用于根据密码卡待产生密钥的密钥类型和密钥号,确定该密钥号对应存储的扇区号,并写入对应该扇区号的扇区;

擦写次数计算单元,用于根据扇区存储空间和所存储密钥的存储空间,确定各扇区的擦写次数;擦写次数为写入次数和擦除次数之和;

排序单元,用于将各扇区的擦写次数由高到低排序。

8.根据权利要求6所述的一种密码卡密钥存储动态分布系统,其特征在于,所述第三预警单元还用于当擦写次数达第三预警阈值*扇区个数时,发出第三等级预警信息,提醒对密码卡进行保养升级。

说明书 :

一种密码卡密钥存储动态分布方法及系统

技术领域

[0001] 本发明涉及信息安全技术领域,更具体的说是涉及一种密码卡密钥存储动态分布方法及系统。

背景技术

[0002] 密码卡具有密码运算功能、密钥管理功能、物理随机数产生功能和设备自身安全保护措施的密码设备,其作为部署在应用端的重要安全设备,实现密钥生成、管理、保护、高速签名、验证、加密和解密操作,是信息安全产业链中最基本的、不可缺少的密码设备。
[0003] 在实际应用中,密钥存储芯片均有擦写次数限制,一般的FLASH芯片擦写次数限制为10万次,超过10万次数据的正确性得不到保障。各类FLASH芯片存储容量不同,一个扇区空间大小也不相同,一般的FLASH芯片一个扇区空间为4096字节。此外,密钥存储涉及的各密钥占用的存储空间不同,如:每个对称密钥占用64字节存储空间,每个SM2密钥对占用128字节存储空间,每个RSA密钥对占用2048字节存储空间。基于上述扇区大小并结合各密钥的存储空间大小,可以计算出一个扇区存储的对称密钥为64个,SM2密钥对32对,RSA密钥对2对。假设密码卡将所有密钥产生一遍,经计算可以发现存储对称密钥的扇区被擦写的次数是存储SM2密钥对的2倍,是存储RSA密钥对的32倍。因此,在同样的擦写次数限制下,产生不同的密钥操作,FLASH中存储对称密钥的扇区更容易达到临界值进而造成读写对称密钥操作异常。
[0004] 因此,如何提供一种能够对密钥存储扇区进行监测及预警,调节各扇区使用均衡率的密码卡密钥存储动态分布方法及系统是本领域技术人员亟需解决的问题。

发明内容

[0005] 有鉴于此,本发明提供了一种密码卡密钥存储动态分布方法及系统,能够对密钥存储扇区进行监测及预警,调节各扇区使用均衡率。
[0006] 为了实现上述目的,本发明采用如下技术方案:
[0007] 一种密码卡密钥存储动态分布方法,包括:
[0008] 实时统计密码卡密钥存储芯片各扇区的擦写次数;
[0009] 将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息;
[0010] 根据预警信息,判断是否满足密钥动态分布条件,若满足,则将擦写次数最多的扇区与擦写次数最少的扇区数据进行动态置换,并置换主控芯片对相应扇区的访问方式。
[0011] 进一步的,在上述一种密码卡密钥存储动态分布方法中,所述实时统计密码卡密钥存储芯片各扇区的擦写次数,包括:
[0012] 预先设置密码卡所产生的各密钥需存储的扇区;
[0013] 根据密码卡待产生密钥的密钥类型和密钥号,确定该密钥号对应存储的扇区号,并写入对应该扇区号的扇区;
[0014] 根据扇区存储空间和所存储密钥的存储空间,确定各扇区的擦写次数;擦写次数为写入次数和擦除次数之和。
[0015] 将各扇区的擦写次数由高到低排序。
[0016] 进一步的,在上述一种密码卡密钥存储动态分布方法中,密码卡所产生的密钥包括:对称密钥、SM2密钥对和RSA密钥对。
[0017] 进一步的,在上述一种密码卡密钥存储动态分布方法中,所述将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息,包括:
[0018] 按照数值由低到高设置第一预警阈值、第二预警阈值和第三预警阈值;
[0019] 其中,第一预警阈值为警告阈值,当密钥存储芯片中存在部分扇区的擦写次数超出第一预警阈值时,发出第一等级预警信息,提醒对密码卡密钥进行备份操作;
[0020] 第二预警阈值为动态分布阈值,当密钥存储芯片中存在部分扇区的擦写次数超出第二预警阈值时,发出第二等级预警信息,密码卡启动密钥动态分布功能;
[0021] 第三预警阈值为密钥存储芯片的擦写次数限制值,当密钥存储芯片中所有扇区的擦写次数均超出第三预警阈值时,发出第三等级预警信息,提醒对密码卡进行保养升级。
[0022] 进一步的,在上述一种密码卡密钥存储动态分布方法中,还包括:
[0023] 实时统计密码卡密钥存储芯片的总擦写次数,当擦写次数达第三预警阈值*扇区个数时,则发出第三等级预警信息,提醒对密码卡进行保养升级。
[0024] 进一步的,在上述一种密码卡密钥存储动态分布方法中,若密码卡的密钥存储芯片的擦写次数限制值为10万次,则第一预警阈值为5万次,第二预警阈值为8万次,第三预警阈值为10万次。
[0025] 本发明还提供一种密码卡密钥存储动态分布系统,包括:
[0026] 密钥存储统计模块,用于实时统计密码卡密钥存储芯片各扇区的擦写次数;
[0027] 预警模块,用于将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息;
[0028] 动态分布模块,用于根据预警信息,判断是否满足密钥动态分布条件,若满足,则将擦写次数最多的扇区与擦写次数最少的扇区数据进行动态置换,并置换主控芯片对相应扇区的访问方式。
[0029] 进一步的,在上述一种密码卡密钥存储动态分布系统中,所述密钥存储统计模块包括:
[0030] 扇区分配单元,用于预先设置密码卡所产生的各密钥需存储的扇区;
[0031] 扇区确定单元,用于根据密码卡待产生密钥的密钥类型和密钥号,确定该密钥号对应存储的扇区号,并写入对应该扇区号的扇区;
[0032] 擦写次数计算单元,用于根据扇区存储空间和所存储密钥的存储空间,确定各扇区的擦写次数;擦写次数为写入次数和擦除次数之和。
[0033] 排序单元,用于将各扇区的擦写次数由高到低排序。
[0034] 进一步的,在上述一种密码卡密钥存储动态分布系统中,所述预警模块包括:
[0035] 阈值设置单元,用于按照数值由低到高设置第一预警阈值、第二预警阈值和第三预警阈值;
[0036] 第一预警单元,用于当密钥存储芯片中存在部分扇区的擦写次数超出第一预警阈值时,发出第一等级预警信息,提醒对密码卡密钥进行备份操作;
[0037] 第二预警单元,用于当密钥存储芯片中存在部分扇区的擦写次数超出第二预警阈值时,发出第二等级预警信息,密码卡启动密钥动态分布功能;
[0038] 第三预警单元,用于当密钥存储芯片中所有扇区的擦写次数均超出第三预警阈值时,发出第三等级预警信息,提醒对密码卡进行保养升级。
[0039] 进一步的,在上述一种密码卡密钥存储动态分布系统中,所述第三预警单元还用于当擦写次数达第三预警阈值*扇区个数时,发出第三等级预警信息,提醒对密码卡进行保养升级。
[0040] 经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种密码卡密钥存储动态分布方法及系统,能够实时统计密钥存储芯片的使用情况,及时对密钥存储扇区进行监测及预警,待存储扇区达到设定阈值时启动密钥存储动态分布功能,各种类型的密钥能够动态分布,均衡密码卡密钥存储芯片各扇区密钥的擦写次数,进而调节密钥存储芯片各扇区使用的均衡率,保证密码卡密钥的安全性,延续密码卡的使用寿命。

附图说明

[0041] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0042] 图1为本发明提供的密码卡密钥存储动态分布方法的流程图;
[0043] 图2为本发明提供的各扇区的擦写次数统计流程图;
[0044] 图3为本发明提供的密码卡密钥存储动态分布系统的结构框图。

具体实施方式

[0045] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 如图1所示,本发明实施例公开了一种密码卡密钥存储动态分布方法,其特征在于,包括:
[0047] S1、实时统计密码卡密钥存储芯片各扇区的擦写次数;
[0048] S2、将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息;
[0049] S3、根据预警信息,判断是否满足密钥动态分布条件,若满足,则将擦写次数最多的扇区与擦写次数最少的扇区数据进行动态置换,并置换主控芯片对相应扇区的访问方式。
[0050] 本发明实施例能够将擦写次数最多的扇区和擦写次数最少的扇区数据进行动态置换并变更密码卡的主控芯片访问方式,由于检测实时运行,每次达到密钥动态分布条件的阈值后,只需置换擦写次数最多的与擦写次数最少的扇区即可,其他扇区暂时不用动,经过多次置换,最终实现各扇区擦写次数均衡。通过该操作降低了擦写次数多扇区的访问次数,拉高擦写次数少的扇区的访问次数。进而达到各扇区访问均衡的效果。
[0051] 如图2所示,在一个具体实施例中,S1包括:
[0052] S11、预先设置密码卡所产生的各密钥需存储的扇区;本实施例中,以PCI密码卡为例,主控芯片采用TI的DSP芯片,密钥存储芯片采用SST的39VF040芯片。
[0053] 该密码卡的密钥存储芯片扇区为4096字节,主控芯片为裸机能够直接访问密钥存储芯片。每个对称密钥占用64字节存储空间,每个SM2密钥对占用128字节存储空间,每个RSA密钥对占用2048字节存储空间。计算得出一个扇区存储的对称密钥为64个,SM2密钥对32对,RSA密钥对2对。
[0054] 假设密码卡支持1024个对称密钥,Symm_Total等于1024;支持SM2密钥对1024对,SM2_Total等于1024,支持RSA密钥对1024对,RSA_Total等于1024。
[0055] 假设依次产生1‑1024个上述三类密钥,经统计可以发现存储对称密钥的扇区擦写次数为128次,存储SM2密钥的扇区擦写次数为64次,存储RSA密钥的擦写次数为4次。若不进行动态分布,存储对称密钥的扇区更容易达到10万次的擦写极限次数,造成密钥存储芯片损坏写入与读出的密钥不一致进而造成密码运算错误。
[0056] 在裸跑环境中,能够直接读写密码卡密钥存储芯片,各密钥的空间首地址是预先设置的,比如对称密钥设定存储在0 64扇区,SM2密钥存储在65 127扇区,RSA密钥存储在~ ~128 256扇区。假设待产生的密钥类型依次为对称密钥、SM2密钥、RSA密钥,各类密钥扇区基~
地址依次为0、65、128,则产生密钥所处的扇区如下:
[0057] 对称密钥扇区:对称密钥扇区基地址+待产生的密钥号/64;
[0058] SM2密钥扇区:SM2密钥扇区基地址+待产生的密钥号/32;
[0059] RSA密钥扇区:RSA密钥扇区基地址+待产生的密钥号/2。
[0060] 其中,密钥号为扇区存储空间4096除以每个密钥的占用空间计算得到的。
[0061] S12、根据密码卡待产生密钥的密钥类型和密钥号,确定该密钥号对应存储的扇区号,并写入对应该扇区号的扇区;
[0062] S13、根据扇区存储空间和所存储密钥的存储空间,确定各扇区的擦写次数;擦写次数为写入次数和擦除次数之和。
[0063] 待产生的密钥产生后更新密钥所处扇区的擦写次数。若产生了1 64个对称密钥,~则第0号扇区的擦写次数为64*2(擦除和写入)。比如:如果一个密钥占用一个扇区,那么生一次密钥这个扇区只擦写一次。如果一个密钥占用1个字节,那么生完这个扇区的密钥,这个扇区需要擦写4096次。所以一个扇区内存的密钥越多,擦写的次数越多。
[0064] S14、将各扇区的擦写次数由高到低排序。擦写次数多的靠前,擦写次数少的靠后依次排列。
[0065] 在一个具体实施例中,S2包括:
[0066] 按照数值由低到高设置第一预警阈值、第二预警阈值和第三预警阈值;
[0067] 其中,第一预警阈值为警告阈值,当密钥存储芯片中存在部分扇区的擦写次数超出第一预警阈值时,发出第一等级预警信息,提醒对密码卡密钥进行备份操作;
[0068] 第二预警阈值为动态分布阈值,当密钥存储芯片中存在部分扇区的擦写次数超出第二预警阈值时,发出第二等级预警信息,密码卡启动密钥动态分布功能;
[0069] 第三预警阈值为密钥存储芯片的擦写次数限制值,当密钥存储芯片中所有扇区的擦写次数均超出第三预警阈值时,发出第三等级预警信息,提醒对密码卡进行保养升级。
[0070] 本发明实施例根据擦写次数提供三个级别的响应分别为:警告级别、动态分布级别、保养升级级别。该项实施中设定擦写5万次为警告级别,擦写8万次为动态分布级别,擦写10万次为保养升级级别。密码卡提示警告级别后,提示客户及时对密码卡存储芯片内部密钥进行备份以防止密钥损坏对业务造成不可逆的影响。擦写次数达8万次以后,密码卡自动启动动态分布功能,各类密钥存储擦写次数能够均衡分布。擦写次数达10万次需要及时保养更换密钥存储芯片。
[0071] 当擦写次数达到密钥动态分布条件后,将擦写次数多的扇区与擦写次数少的扇区数据动态置换,数据动态置换后变更密码卡主控芯片的访问方式。比如:对称密钥存储区擦写次数多且超过阈值,而RSA扇区擦写次数少,则将两个扇区进行数据置换,数据置换后密码卡访问对称密钥存储区时扇区号变更为RSA扇区号,同理访问RSA扇区时变更为对称密钥存储区的扇区号。
[0072] 在另一个实施例中,S2还包括:
[0073] 实时统计密码卡密钥存储芯片的总擦写次数,密码卡总共擦写次数达第三预警阈值(10万次)*扇区个数时,则发出第三等级预警信息,提醒对密码卡进行保养升级。
[0074] 如图3所示,本发明还提供一种密码卡密钥存储动态分布系统,包括:
[0075] 密钥存储统计模块,用于实时统计密码卡密钥存储芯片各扇区的擦写次数;
[0076] 预警模块,用于将密钥存储芯片各扇区的擦写次数与预设阈值进行比较,并根据比较结果,发出对应级别的预警信息;
[0077] 动态分布模块,用于根据预警信息,判断是否满足密钥动态分布条件,若满足,则将擦写次数最多的扇区与擦写次数最少的扇区数据进行动态置换,并置换主控芯片对相应扇区的访问方式。
[0078] 在一个具体实施例中,密钥存储统计模块包括:
[0079] 扇区分配单元,用于预先设置密码卡所产生的各密钥需存储的扇区;
[0080] 扇区确定单元,用于根据密码卡待产生密钥的密钥类型和密钥号,确定该密钥号对应存储的扇区号,并写入对应该扇区号的扇区;
[0081] 擦写次数计算单元,用于根据扇区存储空间和所存储密钥的存储空间,确定各扇区的擦写次数;擦写次数为写入次数和擦除次数之和。
[0082] 排序单元,用于将各扇区的擦写次数由高到低排序。
[0083] 在一个实施例中,预警模块包括:
[0084] 阈值设置单元,用于按照数值由低到高设置第一预警阈值、第二预警阈值和第三预警阈值;
[0085] 第一预警单元,用于当密钥存储芯片中存在部分扇区的擦写次数超出第一预警阈值时,发出第一等级预警信息,提醒对密码卡密钥进行备份操作;
[0086] 第二预警单元,用于当密钥存储芯片中存在部分扇区的擦写次数超出第二预警阈值时,发出第二等级预警信息,密码卡启动密钥动态分布功能;
[0087] 第三预警单元,用于当密钥存储芯片中所有扇区的擦写次数均超出第三预警阈值时,发出第三等级预警信息,提醒对密码卡进行保养升级。
[0088] 更有利的,第三预警单元还用于当擦写次数达第三预警阈值*扇区个数时,发出第三等级预警信息,提醒对密码卡进行保养升级。
[0089] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0090] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。