一种用于安全芯片业务密钥的密钥备份与恢复方法及系统
技术领域
本发明涉及密钥的备份与恢复技术领域,具体的说,涉及了一种用于安全芯片业务密钥的密钥备份与恢复方法及系统。
背景技术
进入21世纪,随着信息技术的不断发展,信息安全问题日渐突出。密码技术是保障信息安全的核心技术,而基于硬件的安全芯片能为人们提供更好更安全的密码服务,比如安全芯片可以用于存储个人数字身份证书和签名私钥,为移动终端提供数字签名、签名验证和数据加解密等密码服务,可以用于实现密码算法和密钥管理,为移动终端提供基于各种密码算法的数据加解密服务,安全芯片内还可提供安全存储,用于保存密钥及用户私有数据。
一切秘密寓于密钥之中,是现代密码学的一个基本原则。通常,安全芯片在生产出厂时会内置一个唯一的根密钥,以作为该芯片的安全的可信的根。该根密钥以明文的形式固化在安全芯片内,且只能在安全芯片内应用,不能被读出该安全芯片。在该安全芯片对外提供密码服务时,它首先需要产生另一个重要的密钥,即业务密钥,以作为对外提供密码服务的密钥基础。为确保该业务密钥的安全,它只有在由安全芯片的根密钥加密保护后才能被导出安全芯片,而已被根密钥加密保护的业务密钥也只有在被导入原安全芯片后,才能应用该安全芯片的根密钥进行解密还原出业务密钥本身。这样,业务密钥由于得到安全芯片根密钥的保护而安全了,但这又会出现另一个问题:当载有安全芯片的设备丢失或安全芯片损坏或失效等情况出现时,存在于安全芯片外部的受根密钥加密保护的业务密钥将由于无法被解密而无法被使用,进一步地,由该业务密钥加密的信息也将无法再被解密了。这样,即便被业务密钥加密的用户数据没有丢失,也因为无法再被解密而导致其丧失可用性。
中国专利说明书CN100490372C公开了一种对加密密钥(相当于前述的业务密钥)进行备份与恢复的方法,其关键是在源可信芯片内应用备份密钥对加密密钥进行加密,将加密后的加密密钥导出源可信芯片并保存在存储设备中;从源可信芯片内导出备份密钥,加密后发送给可信第三方;当需要在目的可信芯片内恢复已加密的加密密钥时,从可信第三方获取备份密钥,将其导入目的可信芯片,将加密后的加密密钥导入目的可信芯片,在目的可信芯片内对加密密钥解密,获取源可信芯片的加密密钥。只要预先在可信第三方托管备份密钥,在源可信芯片失效后,在目的可信芯片内就可以获取源可信芯片的加密密钥。避免了因可信芯片失效导致的数据无法解密的灾难。
上述专利说明书公开的对加密密钥进行备份与恢复的方法,需要一个可信的第三方来保存备份密钥,而被备份密钥加密保护后的加密密钥则保存于任何具有存储能力的设备中,如软盘、移动硬盘或源可信芯片所在终端。而一旦该可信第三方出现问题或被攻击,该备份密钥就可能被非法窃取从而造成备份密钥被公开,进而有可能导致由该备份密钥加密保护的加密密钥被解开(比如攻击者以某种方式非法获得了由该备份密钥加密保护的加密密钥),从而威胁到原用户数据的安全。另外,随着时间的推移,保存被备份密钥加密保护后的加密密钥的任何具有存储能力的设备可能被遗忘或丢失,从而造成虽然以后可以从可信第三方取回备份密钥,而却找不到保存加密密钥的存储设备而导致的无密可解的尴尬局面。
如何改进现有的安全芯片业务密钥的密钥备份与恢复方法,并提供一套安全芯片业务密钥的密钥备份与恢复系统,使安全芯片业务密钥的密钥备份与恢复既能保证安全,又简单高效可行,成为急需解决的问题。
发明内容
本发明的目的是针对现有技术的不足,提供了一种用于安全芯片业务密钥的密钥备份与恢复系统,以及该系统的密钥备份与恢复方法,使得安全芯片业务密钥的密钥备份与恢复既安全可靠,又简单高效。
为了实现上述目的,本发明所采用的技术方案是:一种用于安全芯片业务密钥的密钥备份与恢复系统,包括:密钥备份卡服务器、密钥备份卡、密钥管理服务器、第一设备、第二设备、第一安全芯片和第二安全芯片;所述密钥管理服务器通过网络分别与密钥备份卡服务器、所述第一设备和所述第二设备连接;所述第一安全芯片插入或内嵌于所述第一设备,所述第二安全芯片插入或内嵌于所述第二设备;所述第一安全芯片,用于根据内置的第一安全芯片根密钥生成第一安全芯片业务密钥;所述第二安全芯片,内置第二安全芯片根密钥;
所述密钥备份卡服务器,用于制作密钥备份卡,并将所述密钥备份卡的设备类型、密钥备份卡序列号、密钥备份校验码、密钥恢复校验码、密钥备份卡公钥、用密钥备份卡私钥保护密钥加密的密钥备份卡私钥、用于生成密钥备份卡公私钥对的算法类型以及用密钥备份卡私钥保护密钥加密密钥备份卡私钥时所使用的算法类型,上传给所述密钥管理服务器;
所述密钥备份卡上粘贴有所述密钥备份卡序列号、所述密钥备份校验码、所述密钥恢复校验码和所述密钥备份卡私钥保护密钥;
密钥备份
所述第一设备,用于输入所述密钥备份卡序列号和所述密钥备份校验码,并上传给所述密钥管理服务器;向所述密钥管理服务器发送用于查询所述密钥管理服务器中是否保存有所述第一安全芯片业务密钥的查询请求,并根据查询结果将所述第一安全芯片业务密钥用所述密钥备份卡公钥加密后,发送至所述密钥管理服务器;
所述密钥管理服务器,用于根据所述第一设备上传的所述密钥备份卡序列号和所述密钥备份校验码验证其保存的对应的密钥备份卡信息的有效性,并在该密钥备份卡信息被验证有效的情况下,将该密钥备份卡所对应的所述密钥备份卡公钥信息返回给所述第一设备;用于根据所述第一设备向所述密钥管理服务器发送的查询请求,查询所述密钥管理服务器中是否保存有所述第一设备对应的所述第一安全芯片业务密钥,并在查询到所述第一安全芯片业务密钥的情况下将所述第一安全芯片业务密钥返回给所述第一设备;
密钥恢复
所述密钥管理服务器,根据所述第二设备上传的所述密钥备份卡序列号和所述密钥恢复校验码验证其保存的对应的密钥备份卡信息的有效性,并在该密钥备份卡信息被验证有效的情况下,将该密钥备份卡对应的用所述密钥备份卡私钥保护密钥加密的所述密钥备份卡私钥和用所述密钥备份卡公钥加密的所述第一安全芯片业务密钥返回给所述第二设备;
第二设备,输入所述密钥备份卡序列号、所述密钥恢复校验码和所述密钥备份卡私钥保护密钥,并上传给所述密钥管理服务器;利用所述密钥备份卡私钥保护密钥解密从所述密钥管理服务器得到的用所述密钥备份卡私钥保护密钥加密的密钥备份卡私钥,得到密钥备份卡私钥,再利用密钥备份卡私钥将从所述密钥管理服务器得到的用所述密钥备份卡公钥加密的第一安全芯片业务密钥解密,得到第一安全芯片业务密钥。
一种密钥备份与恢复系统的密钥备份与恢复方法,包括以下步骤:
准备
步骤1,通过所述密钥备份卡服务器制作密钥备份卡,并将所述密钥备份卡的设备类型、密钥备份卡序列号、密钥备份校验码、密钥恢复校验码、密钥备份卡公钥、用密钥备份卡私钥保护密钥加密的密钥备份卡私钥、用于生成密钥备份卡公私钥对的算法类型、用密钥备份卡私钥保护密钥加密密钥备份卡私钥时所使用的算法类型上传给所述密钥管理服务器;
所述第一安全芯片通过内置的第一安全芯片根密钥生成第一安全芯片业务密钥,并上传保存至所述密钥管理服务器;
第一安全芯片业务密钥备份过程
步骤2,在所述第一设备上输入所述密钥备份卡序列号和所述密钥备份校验码,并上传给所述密钥管理服务器;所述密钥管理服务器根据所述密钥备份卡序列号和所述密钥备份校验码验证其保存的对应的密钥备份卡信息的有效性;若该密钥备份卡信息有效,则将该密钥备份卡所对应的所述密钥备份卡公钥信息返回给所述第一设备,然后继续执行步骤3;若所述密钥备份卡信息无效或失效,则结束备份过程;
步骤3,所述第一设备向所述密钥管理服务器发送用于查询所述密钥管理服务器中是否保存有所述第一设备对应的所述第一安全芯片业务密钥的查询请求;所述密钥管理服务器根据查询请求查询所述密钥管理服务器中是否保存有所述第一设备对应的所述第一安全芯片业务密钥,当查询到含有所述第一安全芯片业务密钥时,将所述第一安全芯片业务密钥返回给所述第一设备,然后继续执行步骤4;当没有查询到所述第一安全芯片业务密钥时,则通知所述第一设备生成新的第一安全芯片业务密钥,并上传至所述密钥管理服务器;
步骤4,所述第一设备用接收的所述密钥备份卡公钥将所述第一安全芯片业务密钥加密后发送至所述密钥管理服务器中备份保存;
第一安全芯片业务密钥恢复过程
步骤5,在所述第二设备上输入所述密钥备份卡序列号和所述密钥恢复校验码,并上传给所述密钥管理服务器;所述密钥管理服务器根据所述第二设备上传的所述密钥备份卡序列号和所述密钥恢复校验码验证其保存的对应的密钥备份卡信息的有效性,若验证该密钥备份卡信息有效,则将该密钥备份卡对应的用所述密钥备份卡私钥保护密钥加密的所述密钥备份卡私钥和用所述密钥备份卡公钥加密的所述第一安全芯片业务密钥返回给所述第二设备,然后继续执行步骤6;若验证该密钥备份卡信息无效或失效,则结束恢复过程;
步骤6,在所述第二设备上输入所述密钥备份卡私钥保护密钥信息,所述第二设备利用所述密钥备份卡私钥保护密钥信息将用所述密钥备份卡私钥保护密钥加密的密钥备份卡私钥解密,得到解密后的密钥备份卡私钥;
步骤7,所述第二设备利用解密后的所述密钥备份卡私钥解密从所述密钥管理服务器得到的用所述密钥备份卡公钥加密的所述第一安全芯片业务密钥解密,从而得到第一安全芯片业务密钥。
本发明相对现有技术具有突出的实质性特点和显著的进步,具体的说:
首先,本发明所提供的用于安全芯片业务密钥的密钥备份与恢复方法及系统可以实现安全芯片业务密钥的密钥备份与恢复,解决当载有安全芯片的设备丢失或安全芯片损坏或失效等情况出现时,存在于安全芯片外部的受安全芯片根密钥加密保护的业务密钥由于无法被解密而无法被使用,进而导致被该业务密钥加密的用户数据也丧失可用性的问题;
其次,本发明所提供的用于安全芯片业务密钥的密钥备份与恢复方法及系统提出了密钥备份卡的概念,由密钥备份卡服务器生成密钥备份卡的相关信息并打印出密钥备份卡,然后由插入或内嵌有安全芯片的设备的用户在需要时在设备中输入密钥备份卡的备份或恢复信息即可轻松实现安全芯片业务密钥的备份与恢复,对设备用户来讲,使用安全简单方便;
第三,本发明所提供的用于安全芯片业务密钥的密钥备份与恢复方法及系统在备份过程中,密钥管理服务器中保存的关键信息有:用密钥备份卡的公钥加密后的安全芯片业务密钥和用密钥备份卡私钥保护密钥加密的密钥备份卡私钥。由于密钥管理服务器上没有密钥备份卡私钥保护密钥,所以密钥管理服务器无法得到密钥备份卡私钥明文,从而无法解开由密钥备份卡的公钥加密保护的安全芯片业务密钥,从而避免了现有技术中将备份密钥交由可信第三方存储所可能导致的问题。同时,由于安全芯片业务密钥由密钥备份卡的公钥加密保护存储于密钥管理服务器,同样避免了现有技术中将业务密钥加密后存储于软盘、移动硬盘或源可信芯片所在终端等任何具有存储能力的设备中时,可能出现的随着时间的推移而造成的该设备的遗忘或丢失的问题。
附图说明
图1是本发明系统的结构示意图。
图2是本发明方法的实现流程框图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
如图1所示,一种用于安全芯片业务密钥的密钥备份与恢复系统,包括:密钥备份卡服务器、密钥备份卡、密钥管理服务器、第一设备、第二设备、第一安全芯片和第二安全芯片;所述密钥管理服务器通过网络分别与密钥备份卡服务器、所述第一设备和所述第二设备连接;所述第一安全芯片插入或内嵌于所述第一设备,所述第二安全芯片插入或内嵌于所述第二设备;所述第一安全芯片,用于根据内置的第一安全芯片根密钥生成第一安全芯片业务密钥;所述第二安全芯片,内置第二安全芯片根密钥;其中,所述第一设备是指需要备份安全芯片业务密钥的源设备,所述第二设备是指需要将备份的安全芯片业务密钥的恢复到其上的目的设备,源设备和目的设备可以为同一设备也可以为不同设备,不过,一般情况下是指不同的设备。
具体的说,所述密钥备份卡服务器,用于制作密钥备份卡,并将所述密钥备份卡的设备类型、密钥备份卡序列号、密钥备份校验码、密钥恢复校验码、密钥备份卡公钥、用密钥备份卡私钥保护密钥加密的密钥备份卡私钥、用于生成密钥备份卡公私钥对的算法类型以及用密钥备份卡私钥保护密钥加密密钥备份卡私钥时所使用的算法类型,上传给所述密钥管理服务器;
所述密钥备份卡在备份与恢复过程中都需要使用;密钥备份卡卡片上印刷有密钥备份卡序列号、密钥备份校验码、密钥恢复校验码和密钥卡私钥保护密钥,用于供用户在进行所述安全芯片业务密钥的备份与恢复操作时手工录入;所述密钥备份卡卡片上印刷的密钥备份校验码信息、密钥恢复校验码和密钥卡私钥保护密钥信息采用不透明覆膜覆盖,使用时刮开;
密钥备份
所述第一设备,用于输入所述密钥备份卡序列号和所述密钥备份校验码,并上传给所述密钥管理服务器;向所述密钥管理服务器发送用于查询所述密钥管理服务器中是否保存有所述第一安全芯片业务密钥的查询请求,并根据查询结果将所述第一安全芯片业务密钥用所述密钥备份卡公钥加密后,发送至所述密钥管理服务器;
所述密钥管理服务器,用于根据所述第一设备上传的所述密钥备份卡序列号和所述密钥备份校验码验证其保存的对应的密钥备份卡信息的有效性,并在该密钥备份卡信息被验证有效的情况下,将该密钥备份卡所对应的所述密钥备份卡公钥信息返回给所述第一设备;用于根据所述第一设备向所述密钥管理服务器发送的查询请求,查询所述密钥管理服务器中是否保存有所述第一设备对应的所述第一安全芯片业务密钥,并在查询到所述第一安全芯片业务密钥的情况下将所述第一安全芯片业务密钥返回给所述第一设备;
密钥恢复
所述密钥管理服务器,根据所述第二设备上传的所述密钥备份卡序列号和所述密钥恢复校验码验证其保存的对应的密钥备份卡信息的有效性,并在该密钥备份卡信息被验证有效的情况下,将该密钥备份卡对应的用所述密钥备份卡私钥保护密钥加密的所述密钥备份卡私钥和用所述密钥备份卡公钥加密的所述第一安全芯片业务密钥返回给所述第二设备;
第二设备,输入所述密钥备份卡序列号、所述密钥恢复校验码和所述密钥备份卡私钥保护密钥,并上传给所述密钥管理服务器;利用所述密钥备份卡私钥保护密钥解密从所述密钥管理服务器得到的用所述密钥备份卡私钥保护密钥加密的密钥备份卡私钥,得到密钥备份卡私钥,再利用密钥备份卡私钥将从所述密钥管理服务器得到的用所述密钥备份卡公钥加密的第一安全芯片业务密钥解密,得到第一安全芯片业务密钥。
具体的,如图2所示,使用该密钥备份与恢复系统进行密钥备份与恢复操作时,包括以下步骤:
准备
步骤1,通过所述密钥备份卡服务器制作密钥备份卡,并将所述密钥备份卡的设备类型、密钥备份卡序列号、密钥备份校验码、密钥恢复校验码、密钥备份卡公钥、用密钥备份卡私钥保护密钥加密的密钥备份卡私钥、用于生成密钥备份卡公私钥对的算法类型、用密钥备份卡私钥保护密钥加密密钥备份卡私钥时所使用的算法类型上传给所述密钥管理服务器;
所述第一安全芯片通过内置的第一安全芯片根密钥生成第一安全芯片业务密钥,并上传保存至所述密钥管理服务器;
第一安全芯片业务密钥备份过程
步骤2,在所述第一设备上输入所述密钥备份卡序列号和所述密钥备份校验码,并上传给所述密钥管理服务器;所述密钥管理服务器根据所述密钥备份卡序列号和所述密钥备份校验码验证其保存的对应的密钥备份卡信息的有效性;若该密钥备份卡信息有效,则将该密钥备份卡所对应的所述密钥备份卡公钥信息返回给所述第一设备,然后继续执行步骤3;若所述密钥备份卡信息无效或失效,则结束备份过程;
步骤3,所述第一设备向所述密钥管理服务器发送用于查询所述密钥管理服务器中是否保存有所述第一设备对应的所述第一安全芯片业务密钥的查询请求;所述密钥管理服务器根据查询请求查询所述密钥管理服务器中是否保存有所述第一设备对应的所述第一安全芯片业务密钥,当查询到含有所述第一安全芯片业务密钥时,将所述第一安全芯片业务密钥返回给所述第一设备,然后继续执行步骤4;当没有查询到所述第一安全芯片业务密钥时,则通知所述第一设备生成新的第一安全芯片业务密钥,并上传至所述密钥管理服务器;
步骤4,所述第一设备用接收的所述密钥备份卡公钥将所述第一安全芯片业务密钥加密后发送至所述密钥管理服务器中备份保存;
第一安全芯片业务密钥恢复过程
步骤5,在所述第二设备上输入所述密钥备份卡序列号和所述密钥恢复校验码,并上传给所述密钥管理服务器;所述密钥管理服务器根据所述第二设备上传的所述密钥备份卡序列号和所述密钥恢复校验码验证其保存的对应的密钥备份卡信息的有效性,若验证该密钥备份卡信息有效,则将该密钥备份卡对应的用所述密钥备份卡私钥保护密钥加密的所述密钥备份卡私钥和用所述密钥备份卡公钥加密的所述第一安全芯片业务密钥返回给所述第二设备,然后继续执行步骤6;若验证该密钥备份卡信息无效或失效,则结束恢复过程;
步骤6,在所述第二设备上输入所述密钥备份卡私钥保护密钥信息,所述第二设备利用所述密钥备份卡私钥保护密钥信息将用所述密钥备份卡私钥保护密钥加密的密钥备份卡私钥解密,得到解密后的密钥备份卡私钥;
步骤7,所述第二设备利用解密后的所述密钥备份卡私钥解密从所述密钥管理服务器得到的用所述密钥备份卡公钥加密的所述第一安全芯片业务密钥解密,从而得到第一安全芯片业务密钥。
优选地,所述第一安全芯片根密钥和所述第二安全芯片根密钥是出厂时内置于安全芯片内的唯一的不可更改的密钥。而且,所述第一安全芯片和第二安全芯片为安全专用芯片,配用的商用密码算法包括SM1、SM2、SM3和SM4;支持的国际常用密码算法包括3DES、AES、RSA和SHA-1;安全芯片可提供的密码服务包括:用于存储个人数字身份证书和签名私钥、为移动终端提供数字签名、签名验证和数据加解密;芯片内提供安全存储空间,用于保存密钥及用户私有数据; 芯片支持的硬件接口包括:SPI、SD和USB。具体的,所述用于生成密钥备份卡公私钥对时的算法类型为非对称密码算法SM2,所述用密钥备份卡私钥保护密钥加密密钥备份卡私钥时所使用的算法类型为对称密码算法SM4。
在具体进行系统设备选择和系统设备连接时,所述第一设备和所述第二设备,采用智能手机、平板电脑、笔记本电脑或台式电脑。所述密钥管理服务器与第一设备和所述第二设备的连接形式为有线网络连接或无线网络连接。
为了提供更优异的服务,本发明还提供了安全芯片业务密钥备份操作的撤销功能,即在备份过程和恢复过程中间还设置有撤销备份过程:通过所述第一设备向所述密钥管理服务器发出取消备份信息,其中,所述取消备份信息包括所述密钥备份卡序列号和所述第一设备的第一安全芯片的编号信息,所述密钥管理服务器验证取消备份信息后,删除由所述密钥备份卡公钥加密的所述第一安全芯片业务密钥,同时将相应的密钥备份卡信息设置为无效信息。
在其他的实施例中,在所述第一安全芯片业务密钥被成功恢复到第二设备上以后,所述第二设备通过所述第二安全芯片根密钥将所述第一安全芯片业务密钥加密后,上传至所述密钥管理服务器。被第二安全芯片根密钥加密后的第一安全芯片业务密钥仅用于所述第二设备的第二安全芯片自身在需要的时候下载使用,因为所述密钥管理服务器并无第二安全芯片根密钥信息,所述密钥管理服务器无法获得由第二安全芯片根密钥加密后的第一安全芯片业务密钥的明文信息。
需要特殊说明的是,在出现启用了第一安全芯片业务密钥备份而尚未进行恢复操作时出现密钥备份卡丢失或损坏的情况时,作为预防措施,采用如下情况进行解决:
1)在源设备的安全芯片还没有损坏或丢失时,在通过审核身份确保安全的情况下,通知密钥管理服务器从后台先解除该源设备的安全芯片业务密钥的备份后,用户重新申请一张新的密钥备份卡,再重新启用备份即可;
2)在源安全芯片已经损坏或丢失时,在通过审核身份确保安全的情况下,由密钥备份卡服务器根据以前的备份卡信息重新制作一张相同信息的密钥备份卡,然后,再使用业务密钥恢复功能进行恢复。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。