CN108418677A - 密钥备份、恢复方法及装置 - Google Patents

密钥备份、恢复方法及装置 Download PDF

Info

Publication number
CN108418677A
CN108418677A CN201710070724.7A CN201710070724A CN108418677A CN 108418677 A CN108418677 A CN 108418677A CN 201710070724 A CN201710070724 A CN 201710070724A CN 108418677 A CN108418677 A CN 108418677A
Authority
CN
China
Prior art keywords
key
storage card
sub
card
password
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.)
Granted
Application number
CN201710070724.7A
Other languages
English (en)
Other versions
CN108418677B (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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710070724.7A priority Critical patent/CN108418677B/zh
Publication of CN108418677A publication Critical patent/CN108418677A/zh
Application granted granted Critical
Publication of CN108418677B publication Critical patent/CN108418677B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了密钥备份、恢复方法及装置,应用于密钥发行器。所述方法包括:获得待存储至第一存储卡的第一加密结果和第一密钥组,其中第一加密结果为对第一子密钥进行加密后得到的加密结果,第一子密钥为从根密钥中获得的子密钥;获得针对所述第一存储卡的第一口令;将第一口令发送至母卡,以使母卡以第一约定密钥对第一口令进行加密并获得第一加密串;接收母卡发送的第一加密串,并将第一加密串发送至第一存储卡,以使第一存储卡根据第一加密串获得并存储第一口令;将第一加密结果和第一密钥组发送至第一存储卡,以使第一存储卡存储第一加密结果和第一密钥组。应用本申请实施例提供的方案,能够提高密钥的安全性。

Description

密钥备份、恢复方法及装置
技术领域
本申请涉及通信技术领域,特别是涉及一种密钥备份、恢复方法及装置。
背景技术
在IC卡、智能卡等一卡通安防应用领域中,经常遇到如何把公司密钥***中最高级别的根密钥,通过某种方式备份至载体上,即存储至载体上,以便后续在需要使用该根密钥时,可以从上述载体中获取。上述载体可以是IC卡、智能卡等存储卡。
现有技术中,在备份根密钥时,通常可以将根密钥明文打印至一套信封内,后续在需要使用该根密钥时,便可以由信封持有人打开信封,将根密钥输入相应软件的界面中。为了提高安全性,还可以将根密钥拆分成几部分,分别存储在不同的信封中,由不同的人员分持。在使用时,需要持有信封的人员分别一一输入密钥。
利用上述密钥备份方式存储密钥后,在使用过程中通常可以保证根密钥的安全性。但是,一旦用于备份根密钥的信封被非法获取或丢失,那么根密钥的安全性将受到威胁。
发明内容
本申请实施例的目的在于提供了密钥备份、恢复方法及装置,以提高密钥的安全性。具体的技术方案如下。
为了达到上述目的,本申请实施例公开了一种密钥备份方法,应用于密钥发行器,所述方法包括:
获得待存储至第一存储卡的第一加密结果和第一密钥组;其中,所述第一存储卡为用于备份根密钥的存储卡中的一个,所述第一加密结果为对第一子密钥进行加密后得到的加密结果,所述第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,所述第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥;
获得针对所述第一存储卡的第一口令;其中,所述第一口令用于限定针对所述第一加密结果和第一密钥组的读取权限;
将所述第一口令发送至母卡,以使所述母卡以第一约定密钥对所述第一口令进行加密并获得第一加密串;其中,所述第一约定密钥为所述母卡与第一存储卡之间约定的密钥;
接收所述母卡发送的第一加密串,并将所述第一加密串发送至所述第一存储卡,以使所述第一存储卡根据所述第一加密串获得并存储所述第一口令;
将所述第一加密结果和第一密钥组发送至所述第一存储卡,以使所述第一存储卡存储所述第一加密结果和第一密钥组。
可选的,所述将所述第一口令发送至母卡的步骤,包括:
根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限;
在获得所述改写权限之后,将所述第一口令发送至母卡。
可选的,所述根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限的步骤,包括:
向所述第一存储卡发送随机数获取请求,并获得所述第一存储卡根据所述随机数获取请求确定的随机数;
将所述随机数发送至母卡,以使所述母卡以所述第二约定密钥对所述随机数进行加密并获得第二加密串;
接收所述母卡发送的第二加密串,并将所述第二加密串发送至所述第一存储卡;
检测是否接收到所述第一存储卡反馈的第一确认消息,其中,所述第一确认消息为:所述第一存储卡在从所述第二加密串中解密出所述随机数的情况下发送的确认消息;
如果是,则确定已获得对所述第一存储卡的改写权限。
可选的,采用以下方式获得所述第一子密钥:
获得所述根密钥;
确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量;
从所确定的子密钥中选取用于存储至第一存储卡的第一子密钥。
可选的,所确定的子密钥为:任意两个子密钥能够合成所述根密钥的密钥。
可选的,所述第一口令还用于限定针对生物特征的读取权限;所述方法还包括:
获得针对所述第一存储卡的第一生物特征,并将所述第一生物特征发送至所述第一存储卡,以使所述第一存储卡存储所述第一生物特征。
为了达到上述目的,本申请实施例还公开了一种密钥恢复方法,应用于密钥发行器,所述方法包括:
获得用于备份根密钥的各个存储卡对应的第二口令,其中,所述第二口令用于获得存储卡中存储的加密结果和密钥组的读取权限;
根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限;其中,所述第一口令用于限定存储卡中存储的加密结果和密钥组的读取权限;
在获得各个读取权限之后,读取各个存储卡中存储的加密结果和密钥组;其中,一个存储卡中存储的加密结果为对一个子密钥进行加密后得到的结果,该子密钥为从所述根密钥中获得的密钥,该存储卡中存储的密钥组包含用于加密除与该存储卡对应的子密钥之外的其他子密钥的密钥,各个存储卡中存储的加密结果对应所述根密钥的不同子密钥;
从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥;
按照约定的与所述根密钥对应的合成规则,将所获得的各个子密钥进行合成,获得所述根密钥。
可选的,所述根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限的步骤,包括:
按照以下方式,获得每一个存储卡的读取权限:
将目标口令发送至目标存储卡,其中,所述目标存储卡为用于备份所述根密钥的各个存储卡中的任一个,所述目标口令为:与所述目标存储卡对应的第二口令;
检测是否接收到所述目标存储卡反馈的第二确认消息,其中,所述第二确认消息为:所述目标存储卡在确认所述目标口令与所述目标存储卡自身存储的第一口令相同时发送的确认消息;
如果是,则确定已获得所述目标存储卡的读取权限。
可选的,采用以下方式从所述根密钥中获得子密钥:
确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量。
可选的,所确定的子密钥为:任意两个子密钥能够合成所述根密钥的密钥。
可选的,各个存储卡还用于存储对应的第一生物特征;所述第一口令还用于限定针对所述第一生物特征的读取权限;
在所述根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限的步骤之后,还包括:
获得针对各个存储卡的第二生物特征;
获得各个存储卡中存储的第一生物特征;
判断各个存储卡对应的第一生物特征与对应的第二生物特征是否均匹配;
如果均匹配,则执行所述从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥的步骤。
为了达到上述目的,本申请实施例公开了一种密钥备份装置,应用于密钥发行器,所述装置包括:
第一获得模块,用于获得待存储至第一存储卡的第一加密结果和第一密钥组;其中,所述第一存储卡为用于备份根密钥的存储卡中的一个,所述第一加密结果为对第一子密钥进行加密后得到的加密结果,所述第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,所述第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥;
第二获得模块,用于获得针对所述第一存储卡的第一口令;其中,所述第一口令用于限定针对所述第一加密结果和第一密钥组的读取权限;
第一发送模块,用于将所述第一口令发送至母卡,以使所述母卡以第一约定密钥对所述第一口令进行加密并获得第一加密串;其中,所述第一约定密钥为所述母卡与第一存储卡之间约定的密钥;
接收模块,用于接收所述母卡发送的第一加密串,并将所述第一加密串发送至所述第一存储卡,以使所述第一存储卡根据所述第一加密串获得并存储所述第一口令;
第二发送模块,用于将所述第一加密结果和第一密钥组发送至所述第一存储卡,以使所述第一存储卡存储所述第一加密结果和第一密钥组。
可选的,所述第一发送模块,包括:
第一获得子模块,用于根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限;
第一发送子模块,用于在获得所述改写权限之后,将所述第一口令发送至母卡。
可选的,所述第一获得子模块,包括:
获得单元,用于向所述第一存储卡发送随机数获取请求,并获得所述第一存储卡根据所述随机数获取请求确定的随机数;
发送单元,用于将所述随机数发送至母卡,以使所述母卡以所述第二约定密钥对所述随机数进行加密并获得第二加密串;
接收单元,用于接收所述母卡发送的第二加密串,并将所述第二加密串发送至所述第一存储卡;
检测单元,用于检测是否接收到所述第一存储卡反馈的第一确认消息,其中,所述第一确认消息为:所述第一存储卡在从所述第二加密串中解密出所述随机数的情况下发送的确认消息;
确定单元,用于在接收到所述第一确认消息时,确定已获得对所述第一存储卡的改写权限。
可选的,所述装置还包括第三获得模块;所述第三获得模块,用于获得所述第一子密钥;
其中,所述第三获得模块,包括:
第二获得子模块,用于获得所述根密钥;
确定子模块,用于确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
划分子模块,用于将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量;
选取子模块,用于从所确定的子密钥中选取用于存储至第一存储卡的第一子密钥。
可选的,所述第一口令还用于限定针对生物特征的读取权限;所述装置还包括:
第三发送模块,用于获得针对所述第一存储卡的第一生物特征,并将所述第一生物特征发送至所述第一存储卡,以使所述第一存储卡存储所述第一生物特征。
为了达到上述目的,本申请实施例还公开了一种密钥恢复装置,应用于密钥发行器,所述装置包括:
第四获得模块,用于获得用于备份根密钥的各个存储卡对应的第二口令,其中,所述第二口令用于获得存储卡中存储的加密结果和密钥组的读取权限;
第五获得模块,用于根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限;其中,所述第一口令用于限定存储卡中存储的加密结果和密钥组的读取权限;
读取模块,用于在获得各个读取权限之后,读取各个存储卡中存储的加密结果和密钥组;其中,一个存储卡中存储的加密结果为对一个子密钥进行加密后得到的结果,该子密钥为从所述根密钥中获得的密钥,该存储卡中存储的密钥组包含用于加密除与该存储卡对应的子密钥之外的其他子密钥的密钥,各个存储卡中存储的加密结果对应所述根密钥的不同子密钥;
解密模块,用于从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥;
合成模块,用于按照约定的与所述根密钥对应的合成规则,将所获得的各个子密钥进行合成,获得所述根密钥。
可选的,所述第五获得模块,具体用于获得每一个存储卡的读取权限;
其中,所述第五获得模块,包括:
第二发送子模块,用于将目标口令发送至目标存储卡,其中,所述目标存储卡为用于备份所述根密钥的各个存储卡中的任一个,所述目标口令为:与所述目标存储卡对应的第二口令;
检测子模块,用于检测是否接收到所述目标存储卡反馈的第二确认消息,其中,所述第二确认消息为:所述目标存储卡在确认所述目标口令与所述目标存储卡自身存储的第一口令相同时发送的确认消息;
第三获得子模块,用于当接收到所述第二确认消息时,确定已获得所述目标存储卡的读取权限。
可选的,所述装置还包括第六获得模块,用于从所述根密钥中获得子密钥;
其中,所述第六获得模块,包括:
确定子模块,用于确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
划分子模块,用于将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量。
可选的,各个存储卡还用于存储对应的第一生物特征;所述第一口令还用于限定针对所述第一生物特征的读取权限;所述装置还包括:
第七获得模块,用于在根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限之后,获得针对各个存储卡的第二生物特征;
第八获得模块,用于获得各个存储卡中存储的第一生物特征;
判断模块,用于判断各个存储卡对应的第一生物特征与对应的第二生物特征是否均匹配;如果均匹配,则触发所述解密模块。
本申请实施例提供的密钥备份方法及装置,可以将针对第一存储卡的第一口令、第一加密结果和第一密钥组均存储至第一存储卡。其中,第一口令是经过母卡加密之后存储至第一存储卡的。第一存储卡为用于备份根密钥的存储卡中的一个,第一加密结果为对第一子密钥进行加密后得到的加密结果,第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,并且,第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥。
也就是说,待存储至存储卡的口令和子密钥都是通过密文方式存储的,这样能够避免密钥和口令在存储过程中被直接获取,即能够提高存储过程中密钥的安全性。而且,在口令认证通过后才能读取存储卡中的加密结果,因此能够提高存储卡中密钥的安全性。同时,加密结果中的子密钥和用于加密子密钥的密钥是交叉存储至存储卡中的,单独一个存储卡中的用于加密子密钥的密钥无法解密该存储卡中的加密结果,因此能够进一步提高密钥的安全性。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种密钥备份方法的流程示意图;
图2为本申请实施例提供的密钥发行器的一种结构示意图;
图3a为母卡的一种文件结构图;
图3b为存储卡的一种文件结构图;
图4为本申请实施例提供的密钥发行器与母卡、存储卡之间交互的一种流程示意图;
图5为本申请实施例提供的一种密钥恢复方法的流程示意图;
图6为本申请实施例提供的密钥发行器与存储卡之间交互的一种流程示意图;
图7为本申请实施例提供的一种密钥备份装置的结构示意图;
图8为本申请实施例提供的一种密钥恢复装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了密钥备份、恢复方法及装置,应用于密钥发行器,以提高密钥的安全性。下面通过具体实施例,对本申请进行详细说明。
图1为本申请实施例提供的一种密钥备份方法的流程示意图,应用于密钥发行器,密钥发行器也可以称为“授权机”。作为一种具体实施方式,上述密钥发行器可以具有图2所示结构。该密钥发行器包括:与显示屏、键盘分别相连的CPU,与母卡插座、存储卡插座分别相连的接口芯片,其中,CPU与接口芯片相连。作为可选的实施方式,密钥发行器还可以包括与CPU相连的生物特征采集模块。
作为一种具体的实施方式,密钥发行器中的CPU可以为单片机或ARM,显示屏可以使用液晶LCD显示屏,接口芯片可以为PSAM(Purchase Secure Access Module,销售点终端安全存取模块)卡接口芯片,键盘用来输入存储卡的口令PIN,密钥发行器还可以包括2个插座,其中一个为母卡插座,一个为存储卡插座。当然,密钥发行器也可以设置一个以上的母卡插座以及一个以上的存储卡插座。液晶LCD显示屏用来提示操作指引。母卡和存储卡可以使用PSAM卡。行业内有许多卡片生产厂家可提供PSAM母卡,算法包括DES(3DES)或国密SM1算法。PSAM卡与密钥发行器CPU之间的接口命令一般都采用ISO7816标准的APDU命令。
图3a给出了PSAM母卡的卡结构,该卡片中包括MF主目录下的主控密钥MK和卡片信息文件EF,ADF子目录下的主控密钥AMK、应用维护密钥ACK、其他密钥和EF文件、卡片信息文件EF等。这属于行业内常见的卡结构,行业软件开发工程师很容易把一张空PSAM卡预先灌装成这样的卡结构。
图3b给出了PSAM存储卡的卡结构,该卡片中包括MF主目录下的主控密钥MK和卡片信息文件EF,ADF子目录下的主控密钥AMK、其他密钥和EF文件、卡片信息文件EF等。它也属于行业内常见的卡结构,行业软件开发工程师很容易把一张空PSAM卡预先灌装成这样的卡结构。其中,虚线所示的ADF目录下的“PIN口令密钥”、子密钥和密钥组文件EF和生物特征文件EF等部分不属于预先灌装的内容,这些内容在存储密钥之后才会存在。
更具体的,密钥发行器可以选用STM32ARM作为其CPU,选用FMPSAM-COS序列的PSAM母卡和PSAM普通卡分别作为本实施例的母卡和存储卡,选用320像素*240像素的LCD显示屏,选用由0~9十个数字键、确认键和取消键组成的键盘,共同构成密钥发行器的硬件部分。
具体的,本实施例提供的方法包括如下步骤S101~步骤S105:
步骤S101:获得待存储至第一存储卡的第一加密结果和第一密钥组。
其中,所述第一存储卡为用于备份根密钥的存储卡中的一个,所述第一加密结果为对第一子密钥进行加密后得到的加密结果,所述第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,所述第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥。
可以理解的是,在备份根密钥时,需要将根密钥进行拆分并存储至不同的存储卡上,以使每一个存储卡都不存储完整的根密钥,每两个存储卡中对应不同的子密钥。每个子密钥并不是以明文形式存储在存储卡中的,而是经过加密后以密文形式存储的。
密钥发行器在对从根密钥中获得的各个子密钥进行加密时,可以利用用于加密各个子密钥的密钥,采用异或算法或移位算法等加密算法对各个子密钥进行加密,获得各个加密结果。当然,也可以采用现有技术中的加密算法对各个子密钥进行加密,本实施例对此不做具体限定。
在一种具体实施方式中,作为执行主体的密钥发行器可以采用以下步骤1~步骤4获得第一子密钥:
步骤1:获得所述根密钥。
具体的,可以从已存储上述根密钥的母卡中获得根密钥,或者,也可以根据用户的输入获得根密钥。
步骤2:确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量。
具体的,在确定用于备份所述根密钥的存储卡的第一数量时,可以根据用户的输入确定,也可以根据默认值确定。在确定大于第一数量的第二数量时,可以将大于第一数量的随机数值确定为第二数量,也可以按照预设的规则确定第二数量,例如,按照D2=D1+预设值,确定第二数量D2,其中,D1为第一数量。
步骤3:将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥。其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量。
作为一个例子,已知需要将根密钥备份至3个存储卡中,即第一数量为3,第二数量为4,根密钥包含字节编号为从0至15共16个字节数据。将根密钥划分为4个子段,各个子段的字节编号如下:[0:3],[4:7],[8:11],[12:15];其中,[X:Y]表示从字节编号X到字节编号Y的部分。根据上述子段,确定的3个子密钥如下:[4:7+8:11],[4:7+12:15],[0:3+4:7]。当然,确定的3个子密钥还可以是子段之间的其他组合结果,上面内容给出的3个子密钥只是众多组合方式中的一种。
进一步的,在实际中密钥可能发生丢失或损坏等情况,为了能够保障根密钥尽可能不丢失,上述所确定的子密钥可以为:任意两个子密钥能够合成所述根密钥的密钥。沿用上段的例子,所确定的3个子密钥可以如下:[4:7+8:11+12:15],[0:3+4:7+12:15],[0:3+4:7+8:11]。这样所确定的子密钥中的任意两个子密钥均能够合成上述根密钥。
需要说明的是,确定各个子密钥所采用的子段不完全相同可以理解为,确定任意两子密钥时所采用的子段,除了完全相同这种情况之外的其他情况都是可行的,例如,确定任意两子密钥时所采用的子段部分相同或每个都不同,都是可行的。
步骤4:从所确定的子密钥中选取用于存储至第一存储卡的第一子密钥。
具体的,在从所确定的子密钥中选取第一子密钥时,可以随机选取,也可以按照预设的顺序选取,这都是可行的。
为了保证存储卡中子密钥的安全性,针对每一个存储卡,用于加密该存储卡对应的子密钥的密钥不能存储至该存储卡,因此,本实施例采用交叉存储的方式存储子密钥和用于加密子密钥的密钥。密钥发行器可以在获得根密钥并确定各个子密钥以及用于加密各个子密钥的密钥之后,确定用于存储至各个存储卡的子密钥和密钥组,以实现交叉存储。
下面举例说明子密钥和密钥组的分配过程。已知根密钥为包含16个字节的数据,用于备份该根密钥的存储卡包括存储卡A、B和C三张,密钥发行器从根密钥中获得的子密钥包括RK1、RK2和RK3三个,用于加密上述三个子密钥的密钥分别为RndA、RndB和RndC。在分配子密钥和密钥组时,可以按照表2中所示的分配规则进行分配。
表2
存储卡 子密钥 密钥组
A RK1[4:7+8:11+12:15] RndB,RndC
B RK2[0:3+4:7+12:15] RndA,RndC
C RK3[0:3+4:7+8:11] RndA,RndB
本实施例中的第一存储卡可以是上述存储卡A、B和C中的任意一个。密钥发行器在确定针对子密钥和密钥组的分配规则之后,可以存储该分配规则,以便后续需要根据子密钥恢复根密钥时,可以根据该分配规则进行恢复。当密钥发行器对至少2个根密钥进行备份时,可以针对每一个根密钥分别存储与该根密钥对应的分配规则,从而避免分配规则之间相互混淆。
步骤S102:获得针对所述第一存储卡的第一口令。其中,所述第一口令用于限定针对所述第一加密结果和第一密钥组的读取权限。
具体的,第一口令可以是根据用户的输入获得的,也可以是采用其他方式获得的,例如从指定设备处获得等。其中,第一口令可以是通过密钥发行器中的键盘获得的。
步骤S103:将所述第一口令发送至母卡,以使所述母卡以第一约定密钥对所述第一口令进行加密并获得第一加密串。其中,所述第一约定密钥为所述母卡与第一存储卡之间约定的密钥。
在将第一口令发送至母卡之前,密钥发行器可以先检测自身的母卡插座中是否已***母卡,如果是,再执行将第一口令发送至母卡的步骤。如果否,则不执行将第一口令发送至母卡的步骤,密钥发行器可以进入等待状态,若在预设的等待时长内一直没有检测到自身的母卡插座中已***母卡,则可以关闭此次备份操作。
具体的,上述第一约定密钥可以预先存储至上述母卡和第一存储卡中。密钥发行器在检测到母卡插座中已***母卡之后,还可以进一步检测该母卡是否属于指定母卡。具体的,密钥发行器在检测该母卡是否属于指定母卡时,可以从母卡中获得卡片信息文件,并根据所获得的卡片信息文件中的标识确定该母卡是否属于指定母卡。其中,该卡片信息文件可以是预先灌装至母卡中的文件,该卡片信息文件中存储有能够表示该卡身份的标识。进一步的,在密钥发行器从母卡中获得卡片信息文件之前,可以先获得母卡的复位信息,该复位信息包括卡片的属性特征,该属性特征用于表示母卡所采用的信息格式。然后,密钥发行器根据上述属性特征和卡片信息文件中的标识,最终确定该母卡是否属于指定母卡。具体的,母卡在***密钥发行器的母卡插座时可以执行上电复位操作,完成上电复位操作后向密钥发行器发送复位完成消息,密钥发行器在接收到母卡发送的复位完成消息之后,即可以从母卡中获得复位信息和卡片信息文件。
作为一个例子,母卡和第一存储卡可以预先分别灌装图3a和图3b的卡结构。对于母卡来说,上述第一约定密钥可以为母卡ADF目录下的应用维护密钥ACK;对于第一存储卡来说,上述第一约定密钥可以为第一存储卡ADF母卡下的主控密钥AMK。母卡中的卡片信息文件可以是存储在ADF目录下的文件,也可以是存储在MF目录下的文件。
作为一种具体实施方式,由于用于备份根密钥的存储卡通常为至少2个,因此,可以在所有用于备份根密钥的存储卡中均预先存储上述第一约定密钥,这样,母卡只使用一张即可,无需为每个用于备份根密钥的存储卡都设置一个母卡,从而节省卡片资源,简化密钥发行器操作流程。
母卡以第一约定密钥对第一口令进行加密时,可以采用现有技术中的加密算法,本实施例对该加密过程不再进行赘述。在母卡完成对第一口令的加密后,母卡可以将第一加密串发送至密钥发行器,以使密钥发行器接收母卡发送的第一加密串。
步骤S104:接收所述母卡发送的第一加密串,并将所述第一加密串发送至所述第一存储卡,以使所述第一存储卡根据所述第一加密串获得并存储所述第一口令。
在将第一加密串发送至第一存储卡之前,密钥发行器可以先检测自身的存储卡插座中是否已***第一存储卡,如果是,则执行将第一加密串发送至第一存储卡的步骤。如果否,则不执行将第一加密串发送至第一存储卡的步骤,可以进入等待状态,若在预设的等待时长内一直没有检测到自身的存储卡插座中已***第一存储卡,则可以关闭此次备份操作。
密钥发行器在检测到自身的存储卡插座中已***第一存储卡之后,还可以进一步检测所***的第一存储卡是否属于指定存储卡。具体的,密钥发行器在检测该第一存储卡是否属于指定存储卡时,可以从该第一存储卡中获得卡片信息文件,并根据所获得的卡片信息文件中的标识确定该第一存储卡是否属于指定存储卡。其中,该卡片信息文件可以是预先灌装至第一存储卡中的文件,该卡片信息文件中存储有能够表示该卡身份的标识。
进一步的,在密钥发行器从第一存储卡中获得卡片信息文件之前,可以先获得第一存储卡的复位信息,该复位信息包括卡片的属性特征,该属性特征用于表示第一存储卡所采用的信息格式。然后,密钥发行器根据上述属性特征和卡片信息文件中的标识,最终确定该第一存储卡是否属于指定存储卡。具体的,第一存储卡在***密钥发行器的存储卡插座时可以执行上电复位操作,完成上电复位操作后向密钥发行器发送复位完成消息,密钥发行器在接收到第一存储卡发送的复位完成消息之后,即可以从第一存储卡中获得复位信息和卡片信息文件。
作为一个例子,如图3b所示,第一存储卡中的卡片信息文件可以是存储在ADF目录下的文件,也可以是存储在MF目录下的文件。
第一存储卡在接收到密钥发行器发送的第一加密串时,可以根据自身存储的第一约定密钥对第一加密串进行解密,获得第一口令。在解密时,第一存储卡所采用的解密算法为:与母卡加密第一口令时所采用的加密算法对应的解密算法。第一存储卡在获得第一口令后将第一口令存储至自身。例如,如图3b所示,第一存储卡可以将第一口令作为PIN口令密钥存储在ADF目录下。
作为一个具体实施例,当母卡和存储卡均采用PSAM卡,并且母卡、存储卡与密钥发行器之间的接口命令采用ISO7816标准的APDU命令时,可以调用“口令PIN密钥灌装Write_Key”指令,向存储卡中写入第一加密串。
步骤S105:将所述第一加密结果和第一密钥组发送至所述第一存储卡,以使所述第一存储卡存储所述第一加密结果和第一密钥组。
可以理解的是,第一口令用于限制针对第一加密结果和第一密钥组的读取权限,在将加密后的第一口令发送至第一存储卡之后,即可以将第一加密结果和第一密钥组发送至第一存储卡。第一存储卡接收密钥发行器发送的第一加密结果和第一密钥组,并存储第一加密结果和第一密钥组至自身。
作为一个例子,在图3a所示的卡结构中,第一存储卡可以将第一加密结果和第一密钥组作为子密钥和密钥组文件存储至ADF目录中。
需要说明的是,本实施例提供的方案为向一个存储卡中存储子密钥的过程,由于通常需要将根密钥备份至至少两个存储卡中,因此,密钥发行器可以设置多个存储卡插座,按照本实施例的步骤同时将各个子密钥存储至各个存储卡。为了进一步提高根密钥的安全性,在备份时可以对各个存储卡一一进行备份,这样可以避免各个存储卡的口令输入人员泄露口令信息。也就是说,在针对一个存储卡输入口令时,其他存储卡的口令输入人员应回避。同时,一张卡的口令持有人即口令输入人应与持卡人不同,即持卡人有卡片,但不知道口令,口令持有人有口令,但没有对应的存储卡,这样可以进一步提高根密钥的安全性。
当备份时采用对各个存储卡一一进行备份的方式时,在将第一加密结果和第一密钥组发送至第一存储卡之后,密钥发行器还可以进一步提示是否需要继续制作其他的存储卡,若检测到需要继续制作其他的存储卡,则可以重复上述步骤。
作为一个具体实施例,当母卡和存储卡均采用PSAM卡,并且母卡、存储卡与密钥发行器之间的接口命令采用ISO7816标准的APDU命令时,可以调用“写二进制文件Write_File”指令,将第一加密结果和第一密钥组写入存储卡。
由上述内容可知,本实施例提供的密钥备份方法,可以将针对第一存储卡的第一口令、第一加密结果和第一密钥组均存储至第一存储卡。其中,第一口令是经过母卡加密之后存储至第一存储卡的。第一存储卡为用于备份根密钥的存储卡中的一个,第一加密结果为对第一子密钥进行加密后得到的加密结果,第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,并且,第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥。
也就是说,待存储至存储卡的口令和子密钥都是通过密文方式存储的,这样能够避免密钥和口令在存储过程中被直接获取,即能够提高存储过程中密钥的安全性。而且,在口令认证通过后才能读取存储卡中的加密结果,因此能够提高存储卡中密钥的安全性。同时,加密结果中的子密钥和用于加密子密钥的密钥是交叉存储至存储卡中的,单独一个存储卡中的用于加密子密钥的密钥无法解密该存储卡中的加密结果,因此能够进一步提高密钥的安全性。采用本实施例这种方法制作存储卡时,与开发工程师无关,开发工程师仅仅知道上述方法,但由于缺少口令而无法读取卡片内容,因为在口令错误的情况下无法读取卡片内容。
同时,根据本实施例所提供的方法制作的存储卡,每个存储卡仅仅存放根密钥的部分密钥,单独一个存储卡无法恢复出整个根密钥,必须至少2张以上的存储卡同时具备,才可以恢复根密钥。因此,即便持卡人意外丢失一个存储卡,而被恶意人员捡拾,该恶意人员与该存储卡的口令持有人合谋,也无法恢复出整个根密钥,从而提高了根密钥的安全性。
从本实施例还可以看出,本实施例中密钥发行器的硬件成本低廉。所采用的CPU以及其他硬件材料均是常见的物料,整个发行器的硬件成本在400元以内。而目前,行业内的用于备份密钥的专业加密机的造价昂贵,常常在10万元左右。因此,本实施例中的密钥发行器可以作为专业加密机的替代品,从而降低硬件成本。
为了进一步提高密钥备份过程中的安全性,基于图1所示实施例的一种具体实施方式中,所述将所述第一口令发送至母卡的步骤,可以包括以下步骤1和步骤2:
步骤1:根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限。
需要说明的是,在图1中,为了后续能够将第一加密串、第一加密结果和第一密钥组均写入第一存储卡,可以首先获得对第一存储卡的改写权限。在获得改写权限之后,再将第一口令发送至母卡,进而使母卡对第一口令进行加密获得第一加密串,从而能够执行后续将第一加密串、第一加密结果和第一密钥组均发送至第一存储卡的步骤。
根据母卡中存储的第二约定密钥,对第一存储卡进行认证时,可以包括多种实施方式,可以由第一存储卡确定指定字段,由母卡来加密指定字段,第一存储卡来解密,根据解密结果是否与指定字段相同来判断认证是否成功。也可以是,由密钥发行器确定上述指定字段,将由母卡加密该指定字段,第一存储卡来解密,根据解密结果是否与指定字段相同来判断认证是否成功。
步骤2:在获得所述改写权限之后,将所述第一口令发送至母卡。
具体的,上述步骤1,即根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限的步骤,可以按照如下步骤1a~步骤1e的外部认证过程执行:
步骤1a:向所述第一存储卡发送随机数获取请求,并获得所述第一存储卡根据所述随机数获取请求确定的随机数。
需要说明的是,第一存储卡先确定一个随机数,然后该随机数经过母卡加密,再将加密后的结果发送至第一存储卡,如果第一存储卡能够成功解密出第一存储卡自身确定的上述随机数,则确定认证成功,这种认证过程属于一种外部认证。这种认证方式可以检测母卡和存储卡是否属于同一套相互匹配的卡片。在存储卡确认认证成功后即可以向密钥发行器开放改写权限。
步骤1b:将所述随机数发送至母卡,以使所述母卡以所述第二约定密钥对所述随机数进行加密并获得第二加密串。
其中,第二约定密钥可以与第一约定密钥不同,也可以与第一约定密钥相同。作为一个例子,在图3a和图3b所示的卡结构中,当第一约定密钥与第二约定密钥不同时,第二约定密钥在母卡中可以为图3a中ADF目录下的其他密钥,在存储卡中可以为图3b中ADF目录下的其他密钥。当第一约定密钥与第二约定密钥相同,第二约定密钥在母卡中可以为图3a中ADF目录下的应用维护密钥ACK,在存储卡中可以为图3b中ADF目录下的主控密钥AMK。
母卡以第二约定密钥对所述随机数进行加密时,可以采用现有技术中的加密算法,本实施例对该加密过程不再进行赘述。在母卡完成对上述随时数的加密后,可以将第二加密串通过密钥发行器发送至第一存储卡。
步骤1c:接收所述母卡发送的第二加密串,并将所述第二加密串发送至所述第一存储卡。
步骤1d:检测是否接收到所述第一存储卡反馈的第一确认消息,如果是,则执行步骤1e,如果在预设时长内一直未接收到第一确认消息,则确定无法获得对第一存储卡的改写权限,结束本次备份过程。
其中,所述第一确认消息为:所述第一存储卡在从所述第二加密串中解密出所述随机数的情况下发送的确认消息。
可以理解的是,如果第一存储卡为指定存储卡,其中有已存储的第二约定密钥,并且根据第二约定密钥解密出的数据与自身确定的随机数相同,即可以确认认证成功,第一存储卡可以向密钥发行器发送第一确认消息。
步骤1e:确定已获得对所述第一存储卡的改写权限。
作为一个具体实施例,当母卡和存储卡均采用PSAM卡,并且母卡、存储卡与密钥发行器之间的接口命令采用ISO7816标准的APDU命令时,上述步骤1a~步骤1e可以参考以下的过程:密钥发行器先进入存储卡的ADF目录,向存储卡申请一个随机数Rd1,获取存储卡发送的随机数Rd1。然后,密钥发行器进入母卡的ADF目录,向母卡发送“产生内部密钥Init_for_Crypt”指令以及“加密Crypt”指令,并将随机数Rd1发送至母卡,使母卡对随机数Rd1加密后得到第二加密串CipherData,密钥发行器获取母卡发送的第二加密串CipherData,并将CipherData发送至存储卡,以使存储卡进行外部认证。密钥发行器接收存储卡的外部认证结果,认证通过后即获得存储卡的改写权限。
综上,本实施方式提供的方案,可以在将第一加密串、第一加密结果和第一密钥组写入第一存储卡之前,根据母卡中存储的第二约定密钥对第一存储卡进行认证,获得对第一存储卡的改写权限,在获得改写权限之后,再执行将第一口令发送至母卡的步骤,进而执行将第一加密串、第一加密结果和第一密钥组发送至第一存储卡的步骤,避免将上述信息写入错误的卡片中,从而可以进一步提高根密钥的安全性。
为了提高密钥的安全性,除了使用第一口令来保障根密钥的安全性之外,还可以进一步使用生物特征保证子密钥的安全性。
基于图1所示实施例的一种具体实施方式中,所述第一口令还用于限定针对生物特征的读取权限。所述方法还可以包括:获得针对所述第一存储卡的第一生物特征,并将所述第一生物特征发送至所述第一存储卡,以使所述第一存储卡存储所述第一生物特征。
其中,生物特征可以包括指纹特征、人脸特征、虹膜特征、骨骼特征等。第一生物特征可以为口令持有人的生物特征,也可以为不同于口令持有人和卡片持有人的其他人的生物特征。
具体的,上述获得针对所述第一存储卡的第一生物特征的步骤可以与步骤S102同时执行。即在获得第一口令的同时获得第一生物特征。
获得针对所述第一存储卡的第一生物特征的步骤可以是由密钥发行器中的生物特征采集模块采集后获得的。在采集生物特征时,针对同一个用户,可以多次采集该用户的生物特征,例如,采集用户的面部图像时,可以提示用户以不同侧面面对生物特征采集模块的镜头,以采集该用户不同的特征数据。在采集指纹特征时,可以提示同一用户以不同手指的指纹输入生物特征采集器。这样,针对同一个用户,可以获得该用户的多个特征数据,在后续生物特征匹配时,可以提高匹配成功率,进而提高用户体验度。
当然,采用生物特征采集模块采集生物特征的方法还可以采用现有技术,本实施例对此不再进行赘述。
第一存储卡在接收到上述第一生物特征之后,可以将第一生物特征存储至自身。在图3b所示卡结果的例子中,第一存储卡可以将第一生物特征作为生物特征文件存储至ADF目录下。
可以理解的是,当第一口令验证成功后,才能获得对第一加密结果、第一密钥组和第一生物特征的读取权限。密钥发行器在读取上述内容之后,由于第一生物特征用于限定对第一加密结果进行解密的权限,因此当第一生物特征验证成功之后,密钥发行器才能对第一加密结果进行解密,进而获取子密钥。由于生物特征难以伪造,利用生物特征可以进一步保证根密钥的安全性。
作为一个具体实施例,当母卡和存储卡均采用PSAM卡,并且母卡、存储卡与密钥发行器之间的接口命令采用ISO7816标准的APDU命令时,可以调用“写二进制文件Write_File”指令,将第一生物特征写入存储卡。
相比于图1所示实施例,本实施例在第一存储卡中存储了第一生物特征,以进一步提高密钥的安全性。可以理解的是,即便存储卡被盗窃、口令被窃取,但在获取密钥时还需要验证生物特征,而生物特征难以窃取,从而可以进一步保障密钥的安全性。
为了更加清楚地说明本实施例中密钥发行器与母卡和第一存储卡之间的交互过程,图4中给出了三者之间交互的流程示意图。其中,密钥发行器首先向第一存储卡发送随机数获取请求,然后接收第一存储卡返回的随机数,并发送该随机数至母卡,接收母卡返回的第二加密串。密钥发行器发送第二加密串至第一存储卡,然后接收第一存储卡返回的认证结果,当该认证结果表示认证通过时,向母卡发送第一口令,然后接收母卡返回的第一加密串。密钥发行器将第一加密串、第一加密结果和第一密钥组以及第一生物特征发送至第一存储卡,以使第一存储卡存储第一加密串、第一加密结果和第一密钥组以及第一生物特征。
图5为本申请实施例提供的一种密钥恢复方法的流程示意图,应用于密钥发行器。本实施例是与图1所示实施例相对应的实施例,相关内容可以相互参照。所述方法包括以下步骤S501~步骤S505:
步骤S501:获得用于备份根密钥的各个存储卡对应的第二口令。其中,所述第二口令用于获得存储卡中存储的加密结果和密钥组的读取权限。
具体的,第二口令可以是根据用户的输入获得的,也可以是采用其他方式获得的,例如从指定设备处获得等。其中,第二口令可以是通过密钥发行器中的键盘获得的。
需要说明的是,由于根密钥划分得到的各个子密钥分别存储在不同的存储卡中,在进行根密钥恢复时,可以同时对各个存储卡中的子密钥进行恢复。为了进一步提高根密钥的安全性,还可以对各个存储卡中的子密钥一一进行恢复,这样可以避免各个存储卡的口令输入人员泄露口令信息。也就是说,在针对一个存储卡输入口令时,其他存储卡的口令输入人员应回避。
步骤S502:根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限。其中,所述第一口令用于限定存储卡中存储的加密结果和密钥组的读取权限。
本实施例中,根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限的步骤,具体可以按照以下过程执行:
按照以下步骤1~步骤3的方式,获得每一个存储卡的读取权限:
步骤1:将目标口令发送至目标存储卡。其中,所述目标存储卡为用于备份所述根密钥的各个存储卡中的任一个,所述目标口令为:与所述目标存储卡对应的第二口令。
步骤2:检测是否接收到所述目标存储卡反馈的第二确认消息,如果是,则执行步骤3。如果在预设时长内一直未接收到第二确认消息,则确定无法获得对目标存储卡的改写权限,结束本次恢复过程。
其中,所述第二确认消息为:所述目标存储卡在确认所述目标口令与所述目标存储卡自身存储的第一口令相同时发送的确认消息。
步骤3:确定已获得所述目标存储卡的读取权限。
需要说明的是,上述实施方式只是获得存储卡的读取权限的一种实施方式,本领域普通技术人员还可以通过对上述实施方式稍加改进获得其他不同的实施方式。
作为一个具体实施例,当母卡和存储卡均采用PSAM卡,并且母卡、存储卡与密钥发行器之间的接口命令采用ISO7816标准的APDU命令时,密钥发行器可以调用“口令PIN密钥验证Verify_PIN”指令使存储卡根据第二口令和第一口令进行口令验证,以获得存储卡的读取权限。
在获得各个存储卡的读取权限之前,密钥发行器可以先检测自身的存储卡插座中是否已***各个存储卡,如果是,则执行根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限的步骤。如果否,则不执行根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限的步骤,可以进入等待状态,若在预设的等待时长内一直没有检测到自身的存储卡插座中已***各个存储卡,则可以关闭此次恢复操作。
密钥发行器在检测到自身的存储卡插座中已***各个存储卡之后,还可以进一步检测所***的各个存储卡是否属于指定存储卡。具体的,密钥发行器在检测各个存储卡是否属于指定存储卡时,可以从各个存储卡中获得卡片信息文件,并根据所获得的卡片信息文件中的标识确定各个存储卡是否属于指定存储卡。其中,该卡片信息文件可以是预先灌装至各个存储卡中的文件,该卡片信息文件中存储有能够表示该卡身份的标识。
进一步的,在密钥发行器从各个存储卡中获得卡片信息文件之前,可以先获得各个存储卡的复位信息,该复位信息包括卡片的属性特征,该属性特征用于表示各个存储卡所采用的信息格式。然后,密钥发行器根据上述属性特征和卡片信息文件中的标识,最终确定各个存储卡是否属于指定存储卡。具体的,各个存储卡在***密钥发行器的存储卡插座时可以执行上电复位操作,完成上电复位操作后向密钥发行器发送复位完成消息,密钥发行器在接收到各个存储卡发送的复位完成消息之后,即可以从各个存储卡中获得复位信息和卡片信息文件。
步骤S503:在获得各个读取权限之后,读取各个存储卡中存储的加密结果和密钥组。
其中,一个存储卡中存储的加密结果为对一个子密钥进行加密后得到的结果,该子密钥为从所述根密钥中获得的密钥,该存储卡中存储的密钥组包含用于加密除与该存储卡对应的子密钥之外的其他子密钥的密钥,各个存储卡中存储的加密结果对应所述根密钥的不同子密钥。
作为一种具体实施方式,采用以下步骤1~步骤2从所述根密钥中获得子密钥:
步骤1:确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量。
具体的,在确定用于备份所述根密钥的存储卡的第一数量时,可以根据用户的输入确定,也可以根据默认值确定。在确定大于第一数量的第二数量时,可以将大于第一数量的随机数值确定为第二数量,也可以按照预设的规则确定第二数量,例如,按照D2=D1+预设值,确定第二数量D2,其中,D1为第一数量。
步骤2:将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥。其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量。
进一步的,在实际中密钥可能发生丢失或损坏等情况,为了能够保障根密钥尽可能不丢失,上述所确定的子密钥可以为:任意两个子密钥能够合成所述根密钥的密钥。这样,对任意两个存储卡中存储的加密结果进行解密后获得的子密钥包含了根密钥的所有子段。也就是说,利用任意两个及两个以上的存储卡即可以实现对根密钥的恢复。当用于存储根密钥的某个存储卡出现故障或丢失时,还可以利用用于存储根密钥的其他存储卡恢复出根密钥,保证根密钥不丢失。例如,使用3个存储卡存储根密钥,当其中一个存储卡损坏后,还可以利用另外的2个存储卡恢复根密钥。
需要说明的是,确定各个子密钥所采用的子段不完全相同可以理解为,确定任意两子密钥时所采用的子段,除了完全相同这种情况之外的其他情况都是可行的,例如,确定任意两子密钥时所采用的子段部分相同或每个都不同,都是可行的。
步骤S504:从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥。
具体的,从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥时,可以根据密钥发行器保存的子密钥和密钥组的分配规则,从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥。上述子密钥和密钥组的分配规则为密钥发行器在对根密钥进行备份时保存的分配规则。例如,图1所示实施例中的表2即为一种分配规则。
密钥发行器根据所确定的密钥,对对应的加密结果进行解密时,采用的解密算法为:与加密各个子密钥时采取的加密算法对应的解密算法。
在根据所确定的密钥,对对应的加密结果进行解密之后,还可以根据得到的各个子密钥验证各个存储卡是否属于用于备份同一个根密钥的各个存储卡。具体的,可以根据上述分配规则,判断各个子密钥中对应的子段是否相同,如果相同,则确定各个存储卡属于用于备份同一个根密钥的各个存储卡。
下面举例说明,仍以表2中的内容为例,存储卡A对应的子密钥中的子段[4:7]和子段[12:15]应分别等同于存储卡B对应的子密钥中的[4:7]和[12:15];存储卡B对应的子密钥的子段[0:3]和子段[4:7]应分别等同于存储卡C对应的子密钥中的子段[0:3]和子段[4:7];存储卡A对应的子密钥中的子段[4:7]和子段[8:11]应分别等同于存储卡C对应的子密钥中的子段[4:7]和子段[8:11]。如果上述子段均等同,则可以确定存储卡A、B、C属于用于备份同一个根密钥的各个存储卡。
步骤S505:按照约定的与所述根密钥对应的合成规则,将所获得的各个子密钥进行合成,获得所述根密钥。
上述约定的与所述根密钥对应的合成规则可以为上述子密钥和密钥组的分配规则。在根据上述合成规则将所获得的各个子密钥进行合成时,可以根据合成规则从各个子密钥中确定用于组成根密钥的各个子段,然后按照子段的编号对各个子段进行合成,获得根密钥。
作为一个例子,仍以表2所示的分配规则为例,已知解密获得的存储卡A、B、C中的子密钥分别为:RK1[4:7+8:11+12:15],RK2[0:3+4:7+12:15],RK3[0:3+4:7+8:11]。则根据表2的内容可以将上述各个子密钥合成根密钥,即为[0:3]+[4:7]+[8:11]+[12:15]。
当密钥发行器对至少2个根密钥进行备份和恢复时,密钥发行器可以首先确定与上述根密钥对应的合成规则,然后根据确定的合成规则,将所获得的各个子密钥进行合成,获得所述根密钥。
在获得所述根密钥之后,可以将上述根密钥存储至目标母卡,该目标母卡不同于图1所示实施例中的母卡,该目标母卡用于存储恢复得到的根密钥。
由上述内容可知,本实施例提供的密钥恢复方法,可以在口令认证成功之后获得各个存储卡的读取权限,在获取读取权限之后,读取各个存储卡中存储的加密结果和密钥组,然后根据所获得的各个密钥组对各个加密结果进行解密,获得各个子密钥,按照约定的合成规则,将所获得的各个子密钥进行合成,获得根密钥。其中,一个存储卡中存储的加密结果为对一个子密钥进行加密后得到的结果,该子密钥为从所述根密钥中获得的密钥,该存储卡中存储的密钥组包含用于加密除与该存储卡对应的子密钥之外的其他子密钥的密钥,各个存储卡中存储的加密结果对应所述根密钥的不同子密钥。
也就是说,在口令认证通过后才能读取存储卡中的加密结果,因此能够提高存储卡中密钥的安全性。同时,子密钥是通过密文方式存储在各个存储卡中的,而不是明文存储的,这样可以提高密钥的安全性。另外,加密结果中的子密钥和用于加密子密钥的密钥是交叉存储至存储卡中的,单独一个存储卡中的用于加密子密钥的密钥无法解密该存储卡中的加密结果,因此能够进一步提高密钥的安全性。
为了进一步提高根密钥的安全性,基于图5所示实施例的一种实施方式中,各个存储卡还用于存储对应的第一生物特征;所述第一口令还用于限定针对所述第一生物特征的读取权限;
在步骤S502之后,即在根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限之后,所述方法还可以包括以下步骤1~步骤3:
步骤1:获得针对各个存储卡的第二生物特征。
其中,生物特征可以包括指纹特征、人脸特征、虹膜特征、骨骼特征等。第二生物特征可以为口令持有人的生物特征,也可以为不同于口令持有人和卡片持有人的其他人的生物特征。获得针对各个存储卡的第二生物特征的步骤可以是由密钥发行器中的生物特征采集模块采集后获得的。生物特征采集模块采集生物特征的方法可以采用现有技术,本实施例对此不再进行赘述。
步骤2:获得各个存储卡中存储的第一生物特征。
可以理解的是,第一口令还用于限定针对第一生物特征的读取权限,当根据第二口令和第一口令获得各个存储卡的读取权限之后,可以从各个存储卡中读取第一生物特征。
具体的,获得各个存储卡中存储的第一生物特征时,可以包括:密钥发行器可以向各个存储卡发送第一生物特征获取请求,各个存储卡接收到第一生物特征获取请求之后,将各个存储卡自身存储的第一生物特征发送至密钥发行器,密钥发行器接收各个存储卡中存储的第一生物特征。
步骤3:判断各个存储卡对应的第一生物特征与对应的第二生物特征是否均匹配,如果均匹配,则执行步骤S504,即从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥。否则,可以提示重新输入第二生物特征,如果匹配失败的次数达到预设数量阈值,则结束本次恢复过程。
具体的,在判断各个存储卡对应的第一生物特征与对应的第二生物特征是否匹配时,可以包括:确定各个存储卡对应的第一生物特征与对应的第二生物特征的相似度,判断各个相似度是否大于相似度阈值,如果均大于,则确定各个存储卡对应的第一生物特征与对应的第二生物特征均匹配。
可以理解的是,第一生物特征可以包括一个特征数据,那么在匹配时,直接将第一生物特征与第二生物特征进行匹配。当然,第一生物特征也可以包括多个特征数据。例如,生物特征为脸部特征时,可以从不同的侧面采集同一个用户的脸部图像,并获得多个脸部特征,以便在匹配时,用户可以以不同的角度面对生物特征采集模块的镜头,从而提高用户体验度。
作为另一种具体的实施方式,第一生物特征可以包括至少两个特征数据,在判断各个存储卡对应的第一生物特征与对应的第二生物特征是否匹配时,可以包括:判断各个存储卡对应的第一生物特征中是否存在与对应的第二生物特征相同的特征数据,如果存在,则确定各个存储卡对应的第一生物特征与对应的第二生物特征均匹配。
作为一个例子,已知第一生物特征为指纹特征,并且第一生物特征包括多个指纹特征数据:右手食指、右手中指、右手拇指等的指纹特征数据,以及左手食指、左手中指、左手拇指的指纹特征数据。所接收到的第二生物特征可以为右手食指的指纹特征数据、右手中指的指纹特征数据、右手拇指的指纹特征数据、左手食指的指纹特征数据、左手中指的指纹特征数据、左手拇指的指纹特征数据中的任意一个。在匹配时,可以将用户输入的指纹特征数据与第一生物特征中的每个指纹特征数据进行比对,如果第一生物特征中存在比对成功的指纹特征数据,则确定第一生物特征与第二生物特征匹配。
当然,在匹配生物特征时,也可以采用现有技术中的方法,具体过程不再赘述。
综上,本实施例在对各个加密结果进行解密之前还需要验证生物特征,当验证通过后,才能对各个加密结果进行解密,否则不予以解密,由于生物特征的难以窃取,因此本实施例可以进一步保障密钥的安全性。
为了更加清楚地说明本实施例中密钥发行器与存储卡之间的交互过程,图6中给出了二者之间交互的流程示意图。其中,密钥发行器首先向存储卡发送第二口令,然后接收存储卡返回的口令认证结果,当该认证结果表示认证通过时,从存储卡中读取加密结果和密钥组。然后,密钥发行器在接收到针对存储卡的第二生物特征之后,向存储卡发送第一生物特征获取请求,然后接收存储卡返回的第一生物特征。密钥发行器将第一生物特征和第二生物特征进行匹配,在匹配成功时,对各个加密结果进行解密,最终合成根密钥。
图7为本申请实施例提供的一种密钥备份装置的结构示意图,应用于密钥发行器,与图1所示方法实施例相对应,所述装置包括:
第一获得模块701,用于获得待存储至第一存储卡的第一加密结果和第一密钥组;其中,所述第一存储卡为用于备份根密钥的存储卡中的一个,所述第一加密结果为对第一子密钥进行加密后得到的加密结果,所述第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,所述第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥;
第二获得模块702,用于获得针对所述第一存储卡的第一口令;其中,所述第一口令用于限定针对所述第一加密结果和第一密钥组的读取权限;
第一发送模块703,用于将所述第一口令发送至母卡,以使所述母卡以第一约定密钥对所述第一口令进行加密并获得第一加密串;其中,所述第一约定密钥为所述母卡与第一存储卡之间约定的密钥;
接收模块704,用于接收所述母卡发送的第一加密串,并将所述第一加密串发送至所述第一存储卡,以使所述第一存储卡根据所述第一加密串获得并存储所述第一口令;
第二发送模块705,用于将所述第一加密结果和第一密钥组发送至所述第一存储卡,以使所述第一存储卡存储所述第一加密结果和第一密钥组。
基于图7所示实施例的一种实施方式中,所述第一发送模块703可以包括:
第一获得子模块(图中未示出),用于根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限;
第一发送子模块(图中未示出),用于在获得所述改写权限之后,将所述第一口令发送至母卡。
基于图7所示实施例的一种实施方式中,所述第一获得子模块可以包括:
获得单元(图中未示出),用于向所述第一存储卡发送随机数获取请求,并获得所述第一存储卡根据所述随机数获取请求确定的随机数;
发送单元(图中未示出),用于将所述随机数发送至母卡,以使所述母卡以所述第二约定密钥对所述随机数进行加密并获得第二加密串;
接收单元(图中未示出),用于接收所述母卡发送的第二加密串,并将所述第二加密串发送至所述第一存储卡;
检测单元(图中未示出),用于检测是否接收到所述第一存储卡反馈的第一确认消息,其中,所述第一确认消息为:所述第一存储卡在从所述第二加密串中解密出所述随机数的情况下发送的确认消息;
确定单元(图中未示出),用于在接收到所述第一确认消息时,确定已获得对所述第一存储卡的改写权限。
基于图7所示实施例的一种实施方式中,所述装置还可以包括第三获得模块(图中未示出);所述第三获得模块,用于获得所述第一子密钥;
其中,所述第三获得模块具体可以包括:
第二获得子模块(图中未示出),用于获得所述根密钥;
确定子模块(图中未示出),用于确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
划分子模块(图中未示出),用于将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量;
选取子模块(图中未示出),用于从所确定的子密钥中选取用于存储至第一存储卡的第一子密钥。
基于图7所示实施例的一种实施方式中,所述第一口令还用于限定针对生物特征的读取权限;所述装置还可以包括:
第三发送模块(图中未示出),用于获得针对所述第一存储卡的第一生物特征,并将所述第一生物特征发送至所述第一存储卡,以使所述第一存储卡存储所述第一生物特征。
图8为本申请实施例提供的一种密钥恢复装置的结构示意图,应用于密钥发行器,与图5所示方法实施例相对应,所述装置包括:
第四获得模块801,用于获得用于备份根密钥的各个存储卡对应的第二口令,其中,所述第二口令用于获得存储卡中存储的加密结果和密钥组的读取权限;
第五获得模块802,用于根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限;其中,所述第一口令用于限定存储卡中存储的加密结果和密钥组的读取权限;
读取模块803,用于在获得各个读取权限之后,读取各个存储卡中存储的加密结果和密钥组;其中,一个存储卡中存储的加密结果为对一个子密钥进行加密后得到的结果,该子密钥为从所述根密钥中获得的密钥,该存储卡中存储的密钥组包含用于加密除与该存储卡对应的子密钥之外的其他子密钥的密钥,各个存储卡中存储的加密结果对应所述根密钥的不同子密钥;
解密模块804,用于从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥;
合成模块805,用于按照约定的与所述根密钥对应的合成规则,将所获得的各个子密钥进行合成,获得所述根密钥。
基于图8所示实施例的一种实施方式中,所述第五获得模块802具体可以用于获得每一个存储卡的读取权限;
其中,所述第五获得模块802可以包括:
第二发送子模块(图中未示出),用于将目标口令发送至目标存储卡,其中,所述目标存储卡为用于备份所述根密钥的各个存储卡中的任一个,所述目标口令为:与所述目标存储卡对应的第二口令;
检测子模块(图中未示出),用于检测是否接收到所述目标存储卡反馈的第二确认消息,其中,所述第二确认消息为:所述目标存储卡在确认所述目标口令与所述目标存储卡自身存储的第一口令相同时发送的确认消息;
第三获得子模块(图中未示出),用于当接收到所述第二确认消息时,确定已获得所述目标存储卡的读取权限。
基于图8所示实施例的一种实施方式中,所述装置还可以包括第六获得模块(图中未示出),用于从所述根密钥中获得子密钥;
其中,所述第六获得模块可以包括:
确定子模块(图中未示出),用于确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
划分子模块(图中未示出),用于将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量。
基于图8所示实施例的一种实施方式中,各个存储卡还用于存储对应的第一生物特征;所述第一口令还用于限定针对所述第一生物特征的读取权限;所述装置还可以包括:
第七获得模块(图中未示出),用于在根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限之后,获得针对各个存储卡的第二生物特征;
第八获得模块(图中未示出),用于获得各个存储卡中存储的第一生物特征;
判断模块(图中未示出),用于判断各个存储卡对应的第一生物特征与对应的第二生物特征是否均匹配;如果均匹配,则触发所述解密模块804。
由于上述装置实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (20)

1.一种密钥备份方法,其特征在于,应用于密钥发行器,所述方法包括:
获得待存储至第一存储卡的第一加密结果和第一密钥组;其中,所述第一存储卡为用于备份根密钥的存储卡中的一个,所述第一加密结果为对第一子密钥进行加密后得到的加密结果,所述第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,所述第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥;
获得针对所述第一存储卡的第一口令;其中,所述第一口令用于限定针对所述第一加密结果和第一密钥组的读取权限;
将所述第一口令发送至母卡,以使所述母卡以第一约定密钥对所述第一口令进行加密并获得第一加密串;其中,所述第一约定密钥为所述母卡与第一存储卡之间约定的密钥;
接收所述母卡发送的第一加密串,并将所述第一加密串发送至所述第一存储卡,以使所述第一存储卡根据所述第一加密串获得并存储所述第一口令;
将所述第一加密结果和第一密钥组发送至所述第一存储卡,以使所述第一存储卡存储所述第一加密结果和第一密钥组。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一口令发送至母卡的步骤,包括:
根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限;
在获得所述改写权限之后,将所述第一口令发送至母卡。
3.根据权利要求2所述的方法,其特征在于,所述根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限的步骤,包括:
向所述第一存储卡发送随机数获取请求,并获得所述第一存储卡根据所述随机数获取请求确定的随机数;
将所述随机数发送至母卡,以使所述母卡以所述第二约定密钥对所述随机数进行加密并获得第二加密串;
接收所述母卡发送的第二加密串,并将所述第二加密串发送至所述第一存储卡;
检测是否接收到所述第一存储卡反馈的第一确认消息,其中,所述第一确认消息为:所述第一存储卡在从所述第二加密串中解密出所述随机数的情况下发送的确认消息;
如果是,则确定已获得对所述第一存储卡的改写权限。
4.根据权利要求3所述的方法,其特征在于,采用以下方式获得所述第一子密钥:
获得所述根密钥;
确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量;
从所确定的子密钥中选取用于存储至第一存储卡的第一子密钥。
5.根据权利要求4所述的方法,其特征在于,所确定的子密钥为:任意两个子密钥能够合成所述根密钥的密钥。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一口令还用于限定针对生物特征的读取权限;所述方法还包括:
获得针对所述第一存储卡的第一生物特征,并将所述第一生物特征发送至所述第一存储卡,以使所述第一存储卡存储所述第一生物特征。
7.一种密钥恢复方法,其特征在于,应用于密钥发行器,所述方法包括:
获得用于备份根密钥的各个存储卡对应的第二口令,其中,所述第二口令用于获得存储卡中存储的加密结果和密钥组的读取权限;
根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限;其中,所述第一口令用于限定存储卡中存储的加密结果和密钥组的读取权限;
在获得各个读取权限之后,读取各个存储卡中存储的加密结果和密钥组;其中,一个存储卡中存储的加密结果为对一个子密钥进行加密后得到的结果,该子密钥为从所述根密钥中获得的密钥,该存储卡中存储的密钥组包含用于加密除与该存储卡对应的子密钥之外的其他子密钥的密钥,各个存储卡中存储的加密结果对应所述根密钥的不同子密钥;
从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥;
按照约定的与所述根密钥对应的合成规则,将所获得的各个子密钥进行合成,获得所述根密钥。
8.根据权利要求7所述的方法,其特征在于,所述根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限的步骤,包括:
按照以下方式,获得每一个存储卡的读取权限:
将目标口令发送至目标存储卡,其中,所述目标存储卡为用于备份所述根密钥的各个存储卡中的任一个,所述目标口令为:与所述目标存储卡对应的第二口令;
检测是否接收到所述目标存储卡反馈的第二确认消息,其中,所述第二确认消息为:所述目标存储卡在确认所述目标口令与所述目标存储卡自身存储的第一口令相同时发送的确认消息;
如果是,则确定已获得所述目标存储卡的读取权限。
9.根据权利要求8所述的方法,其特征在于,采用以下方式从所述根密钥中获得子密钥:
确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量。
10.根据权利要求9所述的方法,其特征在于,所确定的子密钥为:任意两个子密钥能够合成所述根密钥的密钥。
11.根据权利要求7-10任一项所述的方法,其特征在于,各个存储卡还用于存储对应的第一生物特征;所述第一口令还用于限定针对所述第一生物特征的读取权限;
在所述根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限的步骤之后,还包括:
获得针对各个存储卡的第二生物特征;
获得各个存储卡中存储的第一生物特征;
判断各个存储卡对应的第一生物特征与对应的第二生物特征是否均匹配;
如果均匹配,则执行所述从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥的步骤。
12.一种密钥备份装置,其特征在于,应用于密钥发行器,所述装置包括:
第一获得模块,用于获得待存储至第一存储卡的第一加密结果和第一密钥组;其中,所述第一存储卡为用于备份根密钥的存储卡中的一个,所述第一加密结果为对第一子密钥进行加密后得到的加密结果,所述第一子密钥为从所述根密钥中获得的子密钥,用于备份所述根密钥的存储卡中要存储的加密结果对应所述根密钥的不同子密钥,所述第一密钥组包含用于加密除所述第一子密钥之外的其他子密钥的密钥;
第二获得模块,用于获得针对所述第一存储卡的第一口令;其中,所述第一口令用于限定针对所述第一加密结果和第一密钥组的读取权限;
第一发送模块,用于将所述第一口令发送至母卡,以使所述母卡以第一约定密钥对所述第一口令进行加密并获得第一加密串;其中,所述第一约定密钥为所述母卡与第一存储卡之间约定的密钥;
接收模块,用于接收所述母卡发送的第一加密串,并将所述第一加密串发送至所述第一存储卡,以使所述第一存储卡根据所述第一加密串获得并存储所述第一口令;
第二发送模块,用于将所述第一加密结果和第一密钥组发送至所述第一存储卡,以使所述第一存储卡存储所述第一加密结果和第一密钥组。
13.根据权利要求12所述的装置,其特征在于,所述第一发送模块,包括:
第一获得子模块,用于根据母卡中存储的第二约定密钥,对所述第一存储卡进行认证,获得对所述第一存储卡的改写权限;
第一发送子模块,用于在获得所述改写权限之后,将所述第一口令发送至母卡。
14.根据权利要求13所述的装置,其特征在于,所述第一获得子模块,包括:
获得单元,用于向所述第一存储卡发送随机数获取请求,并获得所述第一存储卡根据所述随机数获取请求确定的随机数;
发送单元,用于将所述随机数发送至母卡,以使所述母卡以所述第二约定密钥对所述随机数进行加密并获得第二加密串;
接收单元,用于接收所述母卡发送的第二加密串,并将所述第二加密串发送至所述第一存储卡;
检测单元,用于检测是否接收到所述第一存储卡反馈的第一确认消息,其中,所述第一确认消息为:所述第一存储卡在从所述第二加密串中解密出所述随机数的情况下发送的确认消息;
确定单元,用于在接收到所述第一确认消息时,确定已获得对所述第一存储卡的改写权限。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括第三获得模块;所述第三获得模块,用于获得所述第一子密钥;
其中,所述第三获得模块,包括:
第二获得子模块,用于获得所述根密钥;
确定子模块,用于确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
划分子模块,用于将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量;
选取子模块,用于从所确定的子密钥中选取用于存储至第一存储卡的第一子密钥。
16.根据权利要求12-15任一项所述的装置,其特征在于,所述第一口令还用于限定针对生物特征的读取权限;所述装置还包括:
第三发送模块,用于获得针对所述第一存储卡的第一生物特征,并将所述第一生物特征发送至所述第一存储卡,以使所述第一存储卡存储所述第一生物特征。
17.一种密钥恢复装置,其特征在于,应用于密钥发行器,所述装置包括:
第四获得模块,用于获得用于备份根密钥的各个存储卡对应的第二口令,其中,所述第二口令用于获得存储卡中存储的加密结果和密钥组的读取权限;
第五获得模块,用于根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限;其中,所述第一口令用于限定存储卡中存储的加密结果和密钥组的读取权限;
读取模块,用于在获得各个读取权限之后,读取各个存储卡中存储的加密结果和密钥组;其中,一个存储卡中存储的加密结果为对一个子密钥进行加密后得到的结果,该子密钥为从所述根密钥中获得的密钥,该存储卡中存储的密钥组包含用于加密除与该存储卡对应的子密钥之外的其他子密钥的密钥,各个存储卡中存储的加密结果对应所述根密钥的不同子密钥;
解密模块,用于从所获得的各个密钥组中分别确定用于对各个加密结果进行解密的密钥,并分别根据所确定的密钥,对对应的加密结果进行解密,获得各个子密钥;
合成模块,用于按照约定的与所述根密钥对应的合成规则,将所获得的各个子密钥进行合成,获得所述根密钥。
18.根据权利要求17所述的装置,其特征在于,所述第五获得模块,具体用于获得每一个存储卡的读取权限;
其中,所述第五获得模块,包括:
第二发送子模块,用于将目标口令发送至目标存储卡,其中,所述目标存储卡为用于备份所述根密钥的各个存储卡中的任一个,所述目标口令为:与所述目标存储卡对应的第二口令;
检测子模块,用于检测是否接收到所述目标存储卡反馈的第二确认消息,其中,所述第二确认消息为:所述目标存储卡在确认所述目标口令与所述目标存储卡自身存储的第一口令相同时发送的确认消息;
第三获得子模块,用于当接收到所述第二确认消息时,确定已获得所述目标存储卡的读取权限。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括第六获得模块,用于从所述根密钥中获得子密钥;
其中,所述第六获得模块,包括:
确定子模块,用于确定用于备份所述根密钥的存储卡的第一数量,并确定大于所述第一数量的第二数量;
划分子模块,用于将所述根密钥划分为第二数量个子段,根据划分得到的子段确定第一数量个用于合成所述根密钥的不同的子密钥;其中,确定各个子密钥所采用的子段不完全相同,确定每一个子密钥所采用的子段的数量小于第二数量。
20.根据权利要求17-19任一项所述的装置,其特征在于,各个存储卡还用于存储对应的第一生物特征;所述第一口令还用于限定针对所述第一生物特征的读取权限;所述装置还包括:
第七获得模块,用于在根据所获得的各个第二口令以及各个存储卡中存储的第一口令,获得各个存储卡的读取权限之后,获得针对各个存储卡的第二生物特征;
第八获得模块,用于获得各个存储卡中存储的第一生物特征;
判断模块,用于判断各个存储卡对应的第一生物特征与对应的第二生物特征是否均匹配;如果均匹配,则触发所述解密模块。
CN201710070724.7A 2017-02-09 2017-02-09 密钥备份、恢复方法及装置 Active CN108418677B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710070724.7A CN108418677B (zh) 2017-02-09 2017-02-09 密钥备份、恢复方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710070724.7A CN108418677B (zh) 2017-02-09 2017-02-09 密钥备份、恢复方法及装置

Publications (2)

Publication Number Publication Date
CN108418677A true CN108418677A (zh) 2018-08-17
CN108418677B CN108418677B (zh) 2021-01-15

Family

ID=63124916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710070724.7A Active CN108418677B (zh) 2017-02-09 2017-02-09 密钥备份、恢复方法及装置

Country Status (1)

Country Link
CN (1) CN108418677B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110431803A (zh) * 2019-03-29 2019-11-08 阿里巴巴集团控股有限公司 基于身份信息管理加密密钥
US11251950B2 (en) 2019-03-29 2022-02-15 Advanced New Technologies Co., Ltd. Securely performing cryptographic operations
US11258591B2 (en) 2019-03-29 2022-02-22 Advanced New Technologies Co., Ltd. Cryptographic key management based on identity information

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986596A (zh) * 2010-10-21 2011-03-16 无锡江南信息安全工程技术中心 密钥管理机制
CN102238003A (zh) * 2011-03-17 2011-11-09 中国电力科学研究院 一种根密钥的产生方法
CN102932140A (zh) * 2012-11-20 2013-02-13 成都卫士通信息产业股份有限公司 一种增强密码机安全的密钥备份方法
CN105100115A (zh) * 2015-08-27 2015-11-25 中国科学院信息工程研究所 一种基于加密口令及数据拆分的隐私保护的数据存储方法
CN105721146A (zh) * 2016-03-03 2016-06-29 江苏大学 一种面向云存储基于smc的大数据共享方法
US20170019253A1 (en) * 2011-12-12 2017-01-19 International Business Machines Corporation Decrypting segmented data in a distributed computing system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986596A (zh) * 2010-10-21 2011-03-16 无锡江南信息安全工程技术中心 密钥管理机制
CN102238003A (zh) * 2011-03-17 2011-11-09 中国电力科学研究院 一种根密钥的产生方法
US20170019253A1 (en) * 2011-12-12 2017-01-19 International Business Machines Corporation Decrypting segmented data in a distributed computing system
CN102932140A (zh) * 2012-11-20 2013-02-13 成都卫士通信息产业股份有限公司 一种增强密码机安全的密钥备份方法
CN105100115A (zh) * 2015-08-27 2015-11-25 中国科学院信息工程研究所 一种基于加密口令及数据拆分的隐私保护的数据存储方法
CN105721146A (zh) * 2016-03-03 2016-06-29 江苏大学 一种面向云存储基于smc的大数据共享方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110431803A (zh) * 2019-03-29 2019-11-08 阿里巴巴集团控股有限公司 基于身份信息管理加密密钥
US11251950B2 (en) 2019-03-29 2022-02-15 Advanced New Technologies Co., Ltd. Securely performing cryptographic operations
US11251941B2 (en) 2019-03-29 2022-02-15 Advanced New Technologies Co., Ltd. Managing cryptographic keys based on identity information
US11258591B2 (en) 2019-03-29 2022-02-22 Advanced New Technologies Co., Ltd. Cryptographic key management based on identity information
CN110431803B (zh) * 2019-03-29 2022-11-18 创新先进技术有限公司 基于身份信息管理加密密钥

Also Published As

Publication number Publication date
CN108418677B (zh) 2021-01-15

Similar Documents

Publication Publication Date Title
CN108683509B (zh) 一种基于区块链的安全交易方法、装置及***
US10460314B2 (en) Pre-generation of session keys for electronic transactions and devices that pre-generate session keys for electronic transactions
CN103415855B (zh) 大容量存储设备存储器加密方法、***及装置
CN105989386B (zh) 一种读写无线射频识别卡的方法和装置
WO2013155562A1 (en) Nfc card lock
CN109635610B (zh) Rfid标签数据的读写***及方法
KR20220117211A (ko) 비접촉식 카드 개인 식별 시스템
CN103907308A (zh) 主机设备、半导体存储器设备以及认证方法
CN106789024B (zh) 一种远程解锁方法、装置和***
AU2005248693A1 (en) Apparatus and method for operating plural applications between portable storage device and digital device
CN101866411B (zh) 非接触式cpu卡一卡多应用安全认证加密方法及***
CN104579680B (zh) 一种安全分发种子的方法
CN102947836A (zh) 存储设备、主机设备和使用双重加密方案在第一和第二存储设备之间传递密码的方法
WO2010057423A1 (zh) 智能卡的加密、解密方法及***、读写器
CN103684786A (zh) 数字证书的存储与硬件载体绑定的方法及***
CN201590091U (zh) 基于口令认证的加密型存储卡读写装置
JP2002281019A (ja) 携帯可能情報記憶媒体およびその認証方法
US20090187770A1 (en) Data Security Including Real-Time Key Generation
CN108418677A (zh) 密钥备份、恢复方法及装置
TWI476629B (zh) Data security and security systems and methods
US7805611B1 (en) Method for secure communication from chip card and system for performing the same
CN101622818A (zh) Ic标签***
JP2003018151A (ja) 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、コンピュータ装置、システム装置、および外部記憶装置
CN201742425U (zh) 非接触式cpu卡一卡多应用安全认证加密***
CN101883357A (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