1.一种密钥协商的方法,其特征在于,该方法包括:
利用接收端的公钥对发送端随机生成的第一随机数加密,生成发送端的会话密钥,其中,所述会话密钥为用于加密所述发送端与所述接收端的会话的密钥;
利用所述发送端的会话密钥,通过预设的加密算法,对所述发送端随机生成的第二随机数加密,生成加密的协商密钥;
将第一压缩包以及所述加密算法发送给所述接收端,其中,所述第一压缩包包括:加密的协商密钥以及根据所述第一随机数确定的用于所述接收端确定会话密钥的随机数密钥。
2.根据权利要求1所述的方法,其特征在于,在生成加密的协商密钥之后,该方法还包括:
利用所述发送端的私钥,通过预设的签名算法,对第一压缩包进行签名,生成签名后的第一压缩包;
其中,将第一压缩包以及所述加密算法发送给所述接收端,包括:
将第一压缩包、所述签名后的第一压缩包以及所述加密算法发送给所述接收端。
3.根据权利要求2所述的方法,其特征在于,所述随机数密钥为所述第一随机数与椭圆曲线上的基点进行点乘生成的。
4.根据权利要求3所述的方法,其特征在于,所述第一随机数为根据随机数算法生成的字符串,或为根据第三随机数与生成所述第三随机数的时间通过HKDF算法生成的,其中,所述第三随机数为根据随机数算法生成的字符串。
5.根据权利要求1所述的方法,其特征在于,所述第一压缩包还包括:预设的所述发送端的会话密钥的有效时间。
6.根据权利要求5所述的方法,其特征在于,该方法还包括:
接收所述接收端发送的签名后的会话密钥,其中,所述签名后的会话密钥为根据接收端的私钥与所述接收端的会话密钥得到的;
利用所述接收端的公钥对签名后的会话密钥进行验证。
7.一种密钥协商的方法,其特征在于,该方法包括:
接收发送端发送的第一压缩包以及预设的加密算法,其中,所述第一压缩包包括,用于确定接收端的会话密钥的随机数密钥;
根据接收端的私钥以及所述随机数密钥,通过解密算法得到接收端的会话密钥,其中,所述解密算法为根据所述加密算法得到的。
8.根据权利要求7所述的方法,其特征在于,所述第一压缩包还包括:加密后的协商密钥;该方法还包括:
利用所述接收端的会话密钥,通过所述解密算法,对加密后的协商密钥进行解密,得到协商密钥;
利用发送端的公钥,通过接收到的签名算法,对第二压缩包进行签名,生成签名后的第二压缩包;其中,所述第二压缩包包括,所述协商密钥和所述随机数密钥;
若所述签名后的第二压缩包和所述签名后的第一压缩包相同,则确定所述接收端的会话密钥为用于加密所述发送端与所述接收端的会话的密钥。
9.根据权利要求8所述的方法,其特征在于,该方法还包括:
利用所述接收端的私钥,通过所述签名算法对所述接收端的会话密钥签名,并将签名后的会话密钥发送给发送端。
10.一种密钥协商的装置,其特征在于,该装置包括:
会话密钥模块,用于利用接收端的公钥对发送端随机生成的第一随机数加密,生成发送端的会话密钥,其中,所述会话密钥为用于加密所述发送端与所述接收端的会话的密钥;
协商密钥模块,用于利用所述发送端的会话密钥,通过预设的加密算法,对所述发送端随机生成的第二随机数加密,生成加密的协商密钥;
发送模块,用于将第一压缩包以及预设的加密算法发送给所述接收端,其中,所述第一压缩包包括:加密的协商密钥以及所述随机数密钥。
11.根据权利要求10所述的装置,其特征在于,在生成加密的协商密钥之后,所述协商密钥模块还用于:
利用所述发送端的私钥,通过预设的签名算法,对第一压缩包进行签名,生成签名后的第一压缩包;
其中,所述发送模块具体用于:
将第一压缩包、所述签名后的第一压缩包以及所述加密算法发送给所述接收端。
12.根据权利要求11所述的装置,其特征在于,所述随机数密钥为所述第一随机数与椭圆曲线上的基点进行点乘生成的。
13.根据权利要求12所述的装置,其特征在于,所述第一随机数为根据随机数算法生成的字符串,或为根据第三随机数与生成所述第三随机数的时间通过HKDF算法生成的,其中,所述第三随机数为根据随机数算法生成的字符串。
14.根据权利要求10所述的装置,其特征在于,所述第一压缩包还包括:预设的所述发送端的会话密钥的有效时间。
15.根据权利要求14所述的装置,其特征在于,所述发送模块还用于:
接收所述接收端发送的签名后的会话密钥,其中,所述签名后的会话密钥为根据接收端的私钥与所述接收端的会话密钥得到的;
利用所述接收端的公钥对签名后的会话密钥进行验证。
16.一种密钥协商的装置,其特征在于,该装置包括:
接收模块,用于接收发送端发送的第一压缩包以及预设的加密算法,其中,所述第一压缩包包括,用于确定接收端的会话密钥的随机数密钥;
会话密钥模块,用于根据接收端的私钥以及所述随机数密钥,通过解密算法得到接收端的会话密钥,其中,所述解密算法为根据所述加密算法得到的。
17.根据权利要求16所述的装置,其特征在于,所述第一压缩包还包括:加密后的协商密钥;该方法还包括:
利用所述接收端的会话密钥,通过所述解密算法,对加密后的协商密钥进行解密,得到协商密钥;
利用发送端的公钥,通过接收到的签名算法,对第二压缩包进行签名,生成签名后的第二压缩包;其中,所述第二压缩包包括,所述协商密钥和所述随机数密钥;
若所述签名后的第二压缩包和所述签名后的第一压缩包相同,则确定所述接收端的会话密钥为用于加密所述发送端与所述接收端的会话的密钥。
18.根据权利要求17所述的装置,其特征在于,所述会话密钥模块还用于:
利用所述接收端的私钥,通过所述签名算法对所述接收端的会话密钥签名,并将签名后的会话密钥发送给发送端。