1.一种增强密码管理APP密码安全强度方法,其特征在于,包括以下步骤:
利用服务器作为可信中心,进行密码管理APP和安全硬件之间的相互认证;
认证完成后,密码管理APP和安全硬件根据相互认证过程协商的随机数作为通信包加解密的密钥,再进行业务加密和解密;
其中,所述进行密码管理APP和安全硬件之间的相互认证包括:
安全硬件将clientID和公钥pkxClient发送给密码管理APP;
密码管理APP将所述clientID和自身标识xAPP发送给服务器,以向服务器发起认证;
服务器通过安全硬件标识clientID索引安全硬件的公钥并以签名包的形式发送给密码管理APP;
密码管理APP验证消息签名后,确认服务器发送的安全硬件公钥与获取的安全硬件公钥pkxClient一致,则生成随机数Na,并使用安全硬件公钥加密Na和密码管理APP标识xAPP和公钥pkxAPP,生成数据包mA发送给安全硬件;
安全硬件解密数据包mA,获得随机数Na和密码管理APP的标识xAPP和公钥pkxAPP并保存,开启对于密码管理APP的认证,使用对称加密秘钥secretxClientS加密自身标识clientID和APP标识xAPP,生成消息ms1;
密码管理APP获取消息ms1,添加本地存储的安全硬件标识clientID和自身标识xAPP后,发送给服务器;
服务器通过clientID索引得到安全硬件对称加密秘钥secretxClientS,使用secretxClientS对消息ms1进行解密,获取安全硬件要验证的APP标识xAPP,再次通过索引得到APP的公钥; 将索引到的APP公钥使用secretxClientS进行加密得到密文sStr,加密后的字符再添加接收到的密码管理APP标识xAPP后进行签名,得到消息ms2发送给密码管理APP;
密码管理APP验证签名包且消息包内标识与自身一致后,将密文部分使用pkxClient加密以消息mc3发送给安全硬件;
安全硬件对消息mc3解密得到密文sStr,使用secretxClientS对sStr进行再次解密,验证服务器发来的密码管理APP公钥与之前保存的密码管理APP公钥一致后,生成新的随机数Nb,并将接收到的随机数Na和自身的标识clientID,使用密码管理APP公钥pkxAPP进行加密后得到消息ms4发送给密码管理APP;
密码管理APP解密消息ms4后,验证消息中的随机数和安全硬件标识是否与之前保存的信息一致,如果都一致,则保存获取到的随机数Nb,作为后续业务通信的加密秘钥,同时将使用安全硬件公钥加密后的Nb发送给安全硬件;
安全硬件解密消息后,确认消息中的随机数与保存的Nb一致后,完成互认证过程。
2.如权利要求1所述的增强密码管理APP密码安全强度方法,其特征在于,所述密码管理APP通过互联网与所述服务器通信;所述安全硬件只能与所述密码管理APP直接通信,所述安全硬件与所述服务器之间通信通过密码管理APP进行转发;所述服务器同时为多个密码管理APP提供认证服务,且一个密码管理APP拥有多个安全硬件。
3.如权利要求2所述的增强密码管理APP密码安全强度方法,其特征在于,服务器,用于存储公钥pkS、每个安全硬件的标识clientID、公钥pkxClient和通信使用对称加解密秘钥secretxClientS以及每个密码管理APP用户的标识xAPP和公钥pkxAPP;密码管理APP,用于存储私钥skxAPP、公钥pkxAPP和标识xAPP;安全硬件,用于存储标识clientID、私钥skxClient、公钥pkxClient、通信使用对称加解密秘钥secretxClientS、业务加解密用的对称密钥aes_secret。
4.如权利要求1所述的增强密码管理APP密码安全强度方法,其特征在于,所述业务加密包括:将进行业务加密的明文密码和密码管理APP自身的标识xAPP,使用相互认证过程协商的秘钥Nb加密后,发送到安全硬件;
安全硬件使用互认证过程中的Nb解密消息后,将密码字段使用业务密码进行单独对称加密后,得到密文密码,并使用相互认证过程协商的Na进行二次加密后,发送给密码管理APP;
密码管理APP使用Na解密消息后,获取密码密文enc_txt,并存储在本地或云端。
5.如权利要求1所述的增强密码管理APP密码安全强度方法,其特征在于,所述业务解密包括:将进行解密的密文密码和密码管理APP自身的标识xAPP,使用互认证过程协商的秘钥Nb加密后,发送到安全硬件;
安全硬件使用互认证过程中的Nb解密消息后,将密码字段使用业务密码进行单独对称解密后,得到密码明文password,并使用相互认证过程协商的Na进行二次加密后,发送给密码管理APP;
密码管理APP使用Na解密消息后,获取密码明文password。
6.一种增强密码管理APP密码安全强度装置,其特征在于,包括:
认证模块,用于利用服务器作为可信中心,进行密码管理APP和安全硬件之间的相互认证;
加解密模块,用于认证完成后,密码管理APP和安全硬件根据相互认证过程协商的随机数作为通信包加密的密钥,再进行业务加密和解密;
其中,所述进行密码管理APP和安全硬件之间的相互认证包括:
安全硬件将clientID和公钥pkxClient发送给密码管理APP;
密码管理APP将所述clientID和自身标识xAPP发送给服务器,以向服务器发起认证;
服务器通过安全硬件标识clientID索引安全硬件的公钥并以签名包的形式发送给密码管理APP;
密码管理APP验证消息签名后,确认服务器发送的安全硬件公钥与获取的安全硬件公钥pkxClient一致,则生成随机数Na,并使用安全硬件公钥加密Na和密码管理APP标识xAPP和公钥pkxAPP,生成数据包mA发送给安全硬件;
安全硬件解密数据包mA,获得随机数Na和密码管理APP的标识xAPP和公钥pkxAPP并保存,开启对于密码管理APP的认证,使用对称加密秘钥secretxClientS加密自身标识clientID和APP标识xAPP,生成消息ms1;
密码管理APP获取消息ms1,添加本地存储的安全硬件标识clientID和自身标识xAPP后,发送给服务器;
服务器通过clientID索引得到安全硬件对称加密秘钥secretxClientS,使用secretxClientS对消息ms1进行解密,获取安全硬件要验证的APP标识xAPP,再次通过索引得到APP的公钥; 将索引到的APP公钥使用secretxClientS进行加密得到密文sStr,加密后的字符再添加接收到的密码管理APP标识xAPP后进行签名,得到消息ms2发送给密码管理APP;
密码管理APP验证签名包且消息包内标识与自身一致后,将密文部分使用pkxClient加密以消息mc3发送给安全硬件;
安全硬件对消息mc3解密得到密文sStr,使用secretxClientS对sStr进行再次解密,验证服务器发来的密码管理APP公钥与之前保存的密码管理APP公钥一致后,生成新的随机数Nb,并将接收到的随机数Na和自身的标识clientID,使用密码管理APP公钥pkxAPP进行加密后得到消息ms4发送给密码管理APP;
密码管理APP解密消息ms4后,验证消息中的随机数和安全硬件标识是否与之前保存的信息一致,如果都一致,则保存获取到的随机数Nb,作为后续业务通信的加密秘钥,同时将使用安全硬件公钥加密后的Nb发送给安全硬件;
安全硬件解密消息后,确认消息中的随机数与保存的Nb一致后,完成互认证过程。
7.如权利要求6所述的增强密码管理APP密码安全强度装置,其特征在于,所述密码管理APP通过互联网与所述服务器通信;所述安全硬件只能与所述密码管理APP直接通信,所述安全硬件与所述服务器之间通信通过密码管理APP进行转发;所述服务器同时为多个密码管理APP提供认证服务,且一个密码管理APP拥有多个安全硬件。
8.如权利要求7所述的增强密码管理APP密码安全强度装置,其特征在于,服务器,用于存储公钥pkS、每个安全硬件的标识clientID、公钥pkxClient和通信使用对称加密秘钥secretxClientS以及每个密码管理APP用户的标识xAPP和公钥pkxAPP;密码管理APP,用于存储私钥skxAPP、公钥pkxAPP和标识xAPP;安全硬件,用于存储标识clientID、私钥skxClient、公钥pkxClient、通信使用对称加解密秘钥secretxClientS、业务加解密用的对称加密密钥aes_secret。
9.一种存储介质,其特征在于,所述存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1至5任一项所述的增强密码管理APP密码安全强度方法。