本发明涉及信息安全传输技术领域,更具体地说,设计一种基于加密卡的密钥传输和存储方法。
背景技术:
敏感信息安全传输是指对密钥或者敏感信息进行安全可靠的传输,解决当前针对敏感信息安全传输和存储的问题。当前加密的安全传输都是基于https的,主要适用在网络中进行传输,针对于硬件接口之间的安全传输并不适用。
技术实现要素:
本发明的目的在于提供一种基于加密卡的密钥传输和存储方法,密钥的安全存储是通过安全的硬件模块实现,在硬件上阻止和保护了一些物理攻击。芯片之间的传输采用可靠的加密算法完成,实现了密钥封闭和安全性,用以解决上述背景技术中存在的技术问题。
本发明技术方案一种基于加密卡的密钥传输和存储方法,加密卡包括加密卡模块和密钥管理模块,本方法包括如下步骤:
s1:令牌申请,通过主机侧生成令牌的上半部随机数r1并签名和验证,通过密钥管理模块生成令牌的下半部随机数r2并签名和验证,将r1和r2合成令牌r;
s2:密钥倒入,通过owerpub对密钥key进行加密并签名,加密的密文和签名值分别为cipher、sk;通过加密卡身份cardpub对令牌r签名,签名值为sr;通过cardpub解密cipher得到密钥key,并将密钥key存储到密钥管理模块中;
s3:密钥激活,加密卡模块生成临时密钥对并将临时密钥对中的公钥tmppub发送至密钥管理模块;密钥管理模块读取密钥key并通过tmppub对密钥进行加密ciphe;通过cardpub解密cipher得到密钥key,并将密钥key存储到密钥管理模块中备用。
在一个优选地实施例中,令牌r1的签名和验证包括如下骤:
a1:主机侧使用加密卡身份cardpub对r1签名,签名值为sr1;
a2:主机侧将r1+sr1通过加密卡发送到密钥管理模块,密钥管理模块通过cardpri验证r1+sr1的完整性。
在一个优选地实施例中,令牌r2的签名和验证包括如下骤:
b1:密钥管理模块通过所有者身份owerpub对r2签名,签名值为sr2;
b2:密钥管理模块通过加密卡模块把r2+sr2发送到主机侧,并通过主机侧owerpri验证r2+sr2的完整性。
在一个优选地实施例中,cardpub解密cipher得到密钥key的过程为:
c1:将r+sr+cipher+sk发送到密钥管理模块;
c2:密钥管理模块通过cardpub验证r+sr的完整性,并解密cipher得到密钥key;
c3:通过key+sk验证密钥key的完整性。
本发明技术方案的有益效果是:
采用密钥卡模块、密钥管理模块和主机侧实现信息传输,无需通过网络传输,保证密钥存储的安全。每次交互需进行令牌申请,确保数据交互的唯一性。加密卡和所有者分别具备身份信息,需分别认证身份的可靠性,传输过程采用非对称加密,保证数据的安全性。
附图说明
图1为本发明令牌申请流程图,
图2为本发明密钥倒入流程图,
图3为本发明密钥激活流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
为了更好理解文本内容,下面对下文出现的名称进行解释:owerpub:所有者公钥;owerpri:所有者私钥;cardpub:加密卡模块公钥;cardpri:加密卡模块私钥;r1:令牌上半部随机数;r2:令牌下半部随机数;sr1:令牌上半部随机数签名;sr2:令牌下半部随机数签名;r:令牌上半部和下半部组合;sr:令牌r的签名;key:要存储的密钥信息;cipher:密钥的密文;sk:密钥明文的签名值;tmppub:临时密钥对的公钥;tmppri:临时密钥对的私钥。
host:host是主机侧程序,是所有者或者调用者。加密卡模块:加密卡模块是提供加密卡服务的硬件设备,提供加解密相关的服务。密钥管理模块:密钥管理模块是集成在加密卡上的一个小芯片,是提供对身份信息获取,敏感信息存储的一个芯片。
参照图1-图3,本发明技术方案一种基于加密卡的密钥传输和存储方法,加密卡包括加密卡模块和密钥管理模块,加密卡与主机侧实现信息传递。
本方法包括如下步骤:
s1:令牌申请,通过主机侧生成令牌的上半部随机数r1并签名和验证,通过密钥管理模块生成令牌的下半部随机数r2并签名和验证,将r1和r2合成令牌r。申请的令牌r只在本次操作中有效。
令牌r1的签名和验证包括如下骤:a1:主机侧使用加密卡身份cardpub对r1签名,签名值为sr1;a2:主机侧将r1+sr1通过加密卡发送到密钥管理模块,密钥管理模块通过cardpri验证r1+sr1的完整性。验证完整性是为了保证信息传递过程的安全性,只有在验证信息完整的情况下才可进行后续处理。若验证信息存在不完整则需要重新申请并签名。
令牌r2的签名和验证包括如下骤:b1:密钥管理模块通过所有者身份owerpub对r2签名,签名值为sr2;b2:密钥管理模块通过加密卡模块把r2+sr2发送到主机侧,并通过主机侧owerpri验证r2+sr2的完整性。
在r1+sr1通过验证之后,再由密钥管理模块生成令牌下半部r2,当r2+sr2也通过验证后,最终将r1和r2合成令牌r。合成后的令牌r供后续密钥倒入和密钥激活使用。
s2:密钥倒入,通过owerpub对密钥key进行加密并签名,加密的密文和签名值分别为cipher、sk;通过加密卡身份cardpub对令牌r签名,签名值为sr;通过cardpub解密cipher得到密钥key,并将密钥key存储到密钥管理模块中。
cardpub解密cipher得到密钥key的过程为:c1:将r+sr+cipher+sk发送到密钥管理模块;c2:密钥管理模块通过cardpub验证r+sr的完整性,并解密cipher得到密钥key;c3:通过key+sk验证密钥key的完整性。
s3:密钥激活,加密卡模块生成临时密钥对并将临时密钥对中的公钥tmppub发送至密钥管理模块;密钥管理模块读取密钥key并通过tmppub对密钥进行加密ciphe;通过cardpub解密cipher得到密钥key,并将密钥key存储到密钥管理模块中备用。
临时密钥对为:公钥tmppub,私钥tmppri,临时密钥对用以配合验证传输信息的身份的合法性,并使密钥key处于备用状态。
显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。本发明中未具体描述和解释说明的结构、装置以及操作方法,如无特别说明和限定,均按照本领域的常规手段进行实施。