专利名称:基于双向安全认证的数据下载方法及系统的利记博彩app
技术领域:
本发明涉及信息安全领域,具体而言,涉及一种基于双向安全认证的数据下载方法及系统。
背景技术:
现有网络信息安全领域可以实现由公私钥生成模块生成密钥,通过公私钥交换匹配生成不同的验证参数,实现不同终端之间的认证过程。但现有的认证方式通常为单向安全认证,且在认证完成之后,对数据的安全下载并没有提供一个完善的安全机制。目前针对相关技术的不同终端之间仅采用单向安全认证,导致安全认证机制和数据安全下载机制不完善的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术的不同终端之间仅采用单向安全认证,导致安全认证机制和数据安全下载机制不完善的问题,目前尚未提出有效的问题而提出本发明,为此,本发明的主要目的在于提供一种基于双向安全认证的数据下载方法及系统,以解决上述问题。为了实现上述目的,根据本发明的一个方面,提供了一种基于双向安全认证的数据下载方法,该方法包括第一终端通过对称密钥算法验证第二终端,以获取第一验证结果;在根据第一验证结果确定第二终端为合法终端之后,第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果;在根据第二验证结果确定第一终端为合法终端之后,第二终端将通过数字签名算法加密处理过的数据下载至第一终端。进一步地,在第一终端通过对称密钥算法验证第二终端之前,方法还包括获取第一终端和第二终端的公私钥对,并将第一终端公钥、第二终端私钥以及对称密钥KEY保存至第二终端,将第一终端私钥和对称密钥KEY保存至安全芯片,安全芯片内置在第一终端之中。进一步地,第一终端通过对称密钥算法验证第二终端,以获取第一验证结果包括 第一终端将生成的第一随机数发送至第二终端,第二终端根据对称密钥KEY对第一随机数进行加密,以获取第一验证码;在第一终端接收到第二终端返回的第一验证码之后,通过保存在安全芯片中的对称密钥KEY对第一验证码进行解密,以获取解密结果;通过验证解密结果与第一随机数是否相同来获取第二验证结果,在相同的情况下,第一验证结果为第二终端是第一终端的合法终端,在不相同的情况下,第一验证结果为第二终端是非法终端。进一步地,第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果包括第二终端将生成的第二随机数发送给第一终端,第一终端根据安全芯片中保存的第一终端私钥将第二随机数进行签名,以获取第二验证码;在第二终端接收到第一终端返回的第二验证码之后,通过第二终端中的第一终端公钥对第二验证码进行验证,以获取验签结果;通过验证验签结果与第一终端私钥是否匹配来获取第二验证结果,在匹配的情况下,第二验证结果为第一终端是第二终端的合法终端,在不匹配的情况下,第二验证结果为第一终端是非法终端。进一步地,第二终端将通过数字签名算法加密处理过的数据下载至第一终端包括第二终端对数据进行哈希计算,以得到数字摘要;通过第二终端私钥对数字摘要进行签名,来获取附加签名信息;通过会话密钥将附加了附加签名信息的数据进行加密,以获取安全数据,并将安全数据下载至第二终端。进一步地,在第二终端将通过数字签名算法加密处理过的数据下载至第一终端之后,方法还包括第一终端获取到会话密钥和第二终端公钥;使用获取到的会话密钥对安全数据进行解密,并使用获取到的第二终端公钥对该解密后的安全数据进行数字摘要验证,在验证通过的情况下,第一终端下载数据成功。 进一步地,在第一终端获取到会话密钥和第二终端公钥之前,方法还包括第二终端生成会话密钥,通过第二终端私钥对会话密钥进行签名,以获取签名会话密钥;通过对称密钥KEY对第二终端公钥和签名会话密钥进行加密,并将得到的加密结果发送给第二终端。进一步地,第一终端获取到会话密钥和第二终端公钥包括第一终端接收加密结果;第一终端通过安全芯片中的对称密钥KEY解密加密结果,以获取第二终端公钥和签名会话密钥;第二终端对签名会话密钥进行验签后,得到会话密钥。为了实现上述目的,根据本发明的另一方面,提供了一种基于双向安全认证的数据下载系统,该系统包括第一终端,发送数据下载请求;第二终端,接收数据下载请求,并在验证第一终端和第二终端彼此为合法终端之后,将通过数字签名算法加密处理过的数据下载至第一终端;其中,第一终端通过对称密钥算法验证第二终端,以获取第一验证结果; 在根据第一验证结果确定第二终端为合法终端之后,第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果,根据第二验证结果确定第一终端为合法终端。进一步地,第二终端保存第一终端公钥、第二终端私钥以及对称密钥KEY,系统还包括安全芯片,内置在第一终端之中,用于保存第一终端私钥和对称密钥KEY。通过本发明,采用第一终端通过对称密钥算法验证第二终端,以获取第一验证结果;在根据第一验证结果确定第二终端为合法终端之后,第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果;在根据第二验证结果确定第一终端为合法终端之后,第二终端将通过数字签名算法加密处理过的数据下载至第一终端,解决了相关现有技术的不同终端之间仅采用单向安全认证,导致安全认证机制和数据安全下载机制不完善的问题, 进而实现在不同终端之间创建双向认证通道,以及安全下载,保护了交互数据的安全性和完整性的效果。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的基于双向安全认证的数据下载系统的结构示意图;图2是根据图1所示实施例中终端设备验证前端设备的示意图;图3是根据图1所示实施例中前端设备验证终端设备的示意图;图4是根据图1所示实施例中前端设备下发数据的方法流程图5是根据图1所示实施例中后端设备验证下发数据的方法流程图;图6是根据本发明实施例的基于双向安全认证的数据下载方法的流程图;图7是根据图6所示实施例中前端设备下发数据的功能示意图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。图1是根据本发明实施例的基于双向安全认证的数据下载系统的结构示意图。如图1所示,该基于双向安全认证的数据下载系统包括第一终端,发送数据下载请求;第二终端,接收数据下载请求,并在验证第一终端和第二终端彼此为合法终端之后,将通过数字签名算法加密处理过的数据下载至第一终端;其中,第一终端通过对称密钥算法验证第二终端,以获取第一验证结果;在根据第一验证结果确定第二终端为合法终端之后,第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果,根据第二验证结果确定第一终端为合法终端。本申请的上述实施例通过在第一终端和第二终端之间建立双向认证通道,并在双向认证成功之后完成安全下载的过程,这种基于双向安全认证的安全下载系统完善了不同终端之间的安全认证机制和数据安全下载机制,保护了交互数据的安全性和完整性。本申请的上述实施例的系统还可以包括一个安全芯片,内置在第一终端之中,用于保存第一终端私钥和对称密钥KEY,且在第二终端中保存第一终端公钥、第二终端私钥以及对称密钥KEY。该安全芯片内部设有密钥处理机制,用于存放密钥和产生密钥。该实施例利用安全芯片的特有属性来建立两个终端之间的双向认证通道,实现安全下载,这种基于安全芯片双向认证的下载方法,其建立安全认证时通过对称密钥和非对称密钥机制,共同实现认证过程,并且是在建立安全认证的基础上,实现了安全下载的过程。具体的,本发明上述系统中的第一终端为一个具有安全芯片,用来接收下载数据的终端设备,而第二终端为一个用来产生下载数据,并将数据下载至第一终端的前端设备, 即上述实例实现了终端设备和前端设备以双向认证为基础,实现安全下载的过程。其中,安全芯片作为可信任的安全设备,其内部包含特殊的密钥处理机制,通过置入芯片标识等一些特征性信息,使安全芯片成为唯一且不可复制的安全设备。图1所示的实施例在详细实施过程如下首先,前端设备和终端设备生成公私钥对,可以将前端设备的私钥、对称密钥Key 和终端设备的公钥保留在前端设备;终端安全芯片中存储终端私钥和对称密钥Key ;然后,如图2所示,开始验证终端设备是不是对应该前端设备的合法终端终端设备生成随机数A发送给前端设备;前端设备利用对称密钥Key对随机数A进行加密,生成 Key(A),并回传给终端设备;终端设备利用对称密钥Key对Key(A)进行解密;终端设备验证前端设备回传的随机数A是否与终端保存的随机数A—致,如果一致,则终端设备验证前端设备成功。在终端设备验证前端设备成功之后,如图3所示,开始验证前端设备是不是对应该终端设备的合法终端前端设备自动生成随机数B,发送给终端设备;终端设备收到前端设备发来的随机数B后,终端设备用存储于安全芯片的终端私钥对随机数B进行签名,得到R(B),并回传给前端设备,在前端设备收到终端设备回传的R(B)后,用终端公钥进行验签, 如果验签通过,表示前端验证终端设备成功。此时,如图4所示,在完成上述前端设备和后端设备的双认证功能之后,前端设备在对终端设备进行软件下发时,前端设备首先对软件进行哈希计算得到数字摘要;然后前端设备用自己的私钥对数字摘要进行签名,并把签名后的数字摘要附加在要下发的数据 (例如软件)后面,用会话密钥进行加密后,发送给终端用户。最后,如图5所示,终端设备接收下发的软件后,终端设备用会话密钥解密,用前端公钥对数字摘要的签名进行验证;如果验证通过,说明文件在传输过程中没有被破坏。其中,终端设备获取会话密钥和前端公钥的过程如下首先,在前端设备中自动生成一个会话密钥,连同前端公钥,用前端私钥对会话密钥进行签名,再用终端设备对称密钥 Key加密前端公钥和签名后的会话密钥并发送给终端设备。终端设备通过解密并验签后,得到明文的会话密钥和前端公钥。图6是根据本发明实施例的基于双向安全认证的数据下载方法的流程图;图7是根据图6所示实施例中前端设备下发数据的功能示意图。如图6所示,该方法包括如下步骤步骤S102,第一终端通过对称密钥算法验证第二终端,以获取第一验证结果。步骤S104,在根据第一验证结果确定第二终端为合法终端之后,第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果。步骤S106,在根据第二验证结果确定第一终端为合法终端之后,第二终端将通过数字签名算法加密处理过的数据下载至第一终端。本申请的上述实施例通过在第一终端和第二终端之间建立双向认证通道,并在双向认证成功之后完成安全下载的过程,这种基于双向安全认证的安全下载系统完善了不同终端之间的安全认证机制和数据安全下载机制。具体的,本发明的方法实例中,第一终端可以为一个具有安全芯片,用来接收下载数据的终端设备,而第二终端可以为一个用来产生下载数据,并将数据下载至第一终端的前端设备,即上述实例实现了终端设备和前端设备以双向认证为基础本申请上述实施例中,在步骤S102第一终端通过对称密钥算法验证第二终端之前,方法还包括获取第一终端和第二终端的公私钥对,并将第一终端公钥、第二终端私钥以及对称密钥KEY保存至第二终端,将第一终端私钥和对称密钥KEY保存至安全芯片,安全芯片内置在第一终端之中。本申请上述实施例中的步骤S102第一终端通过对称密钥算法验证第二终端,以获取第一验证结果可以包括如下步骤第一终端将生成的第一随机数发送至第二终端,第二终端根据对称密钥KEY对第一随机数进行加密,以获取第一验证码;在第一终端接收到第二终端返回的第一验证码之后,通过保存在安全芯片中的对称密钥KEY对第一验证码进行解密,以获取解密结果;通过验证解密结果与第一随机数是否相同来获取第二验证结果, 在相同的情况下,第一验证结果为第二终端是第一终端的合法终端,在不相同的情况下,第一验证结果为第二终端是非法终端。本申请上述步骤S104 第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果包括第二终端将生成的第二随机数发送给第一终端,第一终端根据安全芯片中保存的第一终端私钥将第二随机数进行签名,以获取第二验证码;在第二终端接收到第一终端返回的第二验证码之后,通过第二终端中的第一终端公钥对第二验证码进行验证,以获取验签结果;通过验证验签结果与第一终端私钥是否匹配来获取第二验证结果,在匹配的情况下,第二验证结果为第一终端是第二终端的合法终端,在不匹配的情况下,第二验证结果为第一终端是非法终端。上述步骤S102和步骤S104的具体实施步骤,实现了终端设备利用对称加密算法, 下发随机数给前端设备,前端设备加密后回传给终端设备,终端设备完成验证前端设备。然后,前端设备采用非对称加密算法,下发随机数给终端设备,终端设备签名后回传给前端设备,前端设备完成验证终端设备。从而实现双向认证。前端设备和终端设备相互认证后建立了一种安全通道,保证前端和终端的安全交互。本申请上述实施例中,如图7所示,步骤S106第二终端将通过数字签名算法加密处理过的数据下载至第一终端可以包括如下实施方式第二终端(前端设备)对数据进行哈希计算,以得到数字摘要;通过第二终端私钥对数字摘要进行签名,来获取附加签名信息;通过会话密钥将附加了附加签名信息的数据进行加密,以获取安全数据,并将安全数据下载至第二终端。上述步骤S106的具体实施步骤,可以实现前端设备下发软件数据时首先经过安全通道的保护,然后前端设备对下发的软件信息进行签名,终端设备对前端设备下发的软件信息进行验证,使得终端设备能够得到完整可靠的软件信息。本申请的上述实施过程中,在第二终端将通过数字签名算法加密处理过的数据下载至第一终端之后,方法还包括如图7所示的实施方式第一终端(终端设备)获取到会话密钥和第二终端公钥;使用获取到的会话密钥对安全数据进行解密,并使用获取到的第二终端公钥对该解密后的安全数据进行数字摘要验证,在验证通过的情况下,第一终端下载数据成功。本申请上述实施例中,在第一终端获取到会话密钥和第二终端公钥之前,方法还包括第二终端生成会话密钥,通过第二终端私钥对会话密钥进行签名,以获取签名会话密钥;通过对称密钥KEY对第二终端公钥和签名会话密钥进行加密,并将得到的加密结果发
送给第二终端。优选地,第一终端获取到会话密钥和第二终端公钥的步骤可以包括第一终端接收加密结果;第一终端通过安全芯片中的对称密钥KEY解密加密结果,以获取第二终端公钥和签名会话密钥;第二终端对签名会话密钥进行验签后,得到会话密钥。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请上述各个实施例的基于双向安全认证的数据下载方法和系统可以应用于数字电视领域,例如在数字电视端从机顶盒下载电视数据时,可以首先验证数字电视和机顶盒是不是经过双向认证的合法终端(即此时数字电视可以为前端,机顶盒可以为终端), 在验证他们都是彼此的合法终端之后,机顶盒可以下载安全数据(加密过的电视数据)至数字电视,供用户观看。其中,安全芯片可以安装在机顶盒中。从以上的描述中,可以看出,本发明实现了如下技术效果本发明是基于安全芯片双向认证的下载方法,该方法通过利用安全芯片内部的密钥处理机制,实现双向认证过程, 并保护交互数据的安全性和完整性。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于双向安全认证的数据下载方法,其特征在于,包括 第一终端通过对称密钥算法验证第二终端,以获取第一验证结果;在根据所述第一验证结果确定所述第二终端为合法终端之后,所述第二终端通过非对称密钥算法验证所述第一终端,以获取第二验证结果;在根据所述第二验证结果确定所述第一终端为合法终端之后,所述第二终端将通过数字签名算法加密处理过的数据下载至所述第一终端。
2.根据权利要求1所述的方法,其特征在于,在第一终端通过对称密钥算法验证第二终端之前,所述方法还包括获取所述第一终端和所述第二终端的公私钥对,并将第一终端公钥、第二终端私钥以及对称密钥KEY保存至第二终端,将第一终端私钥和对称密钥KEY保存至安全芯片,所述安全芯片内置在所述第一终端之中。
3.根据权利要求2所述的方法,其特征在于,第一终端通过对称密钥算法验证第二终端,以获取第一验证结果包括所述第一终端将生成的第一随机数发送至所述第二终端,所述第二终端根据所述对称密钥KEY对所述第一随机数进行加密,以获取第一验证码;在所述第一终端接收到所述第二终端返回的所述第一验证码之后,通过保存在所述安全芯片中的对称密钥KEY对所述第一验证码进行解密,以获取解密结果;通过验证所述解密结果与所述第一随机数是否相同来获取所述第二验证结果,在相同的情况下,所述第一验证结果为所述第二终端是所述第一终端的合法终端,在不相同的情况下,所述第一验证结果为所述第二终端是非法终端。
4.根据权利要求3所述的方法,其特征在于,所述第二终端通过非对称密钥算法验证所述第一终端,以获取第二验证结果包括所述第二终端将生成的第二随机数发送给所述第一终端,所述第一终端根据所述安全芯片中保存的第一终端私钥将所述第二随机数进行签名,以获取第二验证码;在所述第二终端接收到所述第一终端返回的所述第二验证码之后,通过所述第二终端中的所述第一终端公钥对所述第二验证码进行验证,以获取验签结果;通过验证所述验签结果与所述第一终端私钥是否匹配来获取第二验证结果,在匹配的情况下,所述第二验证结果为所述第一终端是所述第二终端的合法终端,在不匹配的情况下,所述第二验证结果为所述第一终端是非法终端。
5.根据权利要求4所述的方法,其特征在于,所述第二终端将通过数字签名算法加密处理过的数据下载至所述第一终端包括所述第二终端对所述数据进行哈希计算,以得到数字摘要; 通过所述第二终端私钥对所述数字摘要进行签名,来获取附加签名信息; 通过会话密钥将附加了所述附加签名信息的数据进行加密,以获取安全数据,并将所述安全数据下载至所述第二终端。
6.根据权利要求5所述的方法,其特征在于,在所述第二终端将通过数字签名算法加密处理过的数据下载至所述第一终端之后,所述方法还包括所述第一终端获取到所述会话密钥和第二终端公钥;使用获取到的所述会话密钥对所述安全数据进行解密,并使用获取到的所述第二终端公钥对该解密后的安全数据进行数字摘要验证,在验证通过的情况下,所述第一终端下载所述数据成功。
7.根据权利要求6所述的方法,其特征在于,在所述第一终端获取到所述会话密钥和第二终端公钥之前,所述方法还包括所述第二终端生成所述会话密钥,通过所述第二终端私钥对所述会话密钥进行签名, 以获取签名会话密钥;通过所述对称密钥KEY对所述第二终端公钥和所述签名会话密钥进行加密,并将得到的加密结果发送给所述第二终端。
8.根据权利要求7所述的方法,其特征在于,所述第一终端获取到所述会话密钥和第二终端公钥包括所述第一终端接收所述加密结果;所述第一终端通过所述安全芯片中的对称密钥KEY解密所述加密结果,以获取所述第二终端公钥和所述签名会话密钥;所述第二终端对所述签名会话密钥进行验签后,得到所述会话密钥。
9.一种基于双向安全认证的数据下载系统,其特征在于,包括第一终端,发送数据下载请求;第二终端,接收所述数据下载请求,并在验证所述第一终端和所述第二终端彼此为合法终端之后,将通过数字签名算法加密处理过的数据下载至所述第一终端;其中,所述第一终端通过对称密钥算法验证第二终端,以获取第一验证结果;在根据所述第一验证结果确定所述第二终端为合法终端之后,所述第二终端通过非对称密钥算法验证所述第一终端,以获取第二验证结果,根据所述第二验证结果确定所述第一终端为合法终端。
10.根据权利要求9所述的系统,其特征在于,所述第二终端保存第一终端公钥、第二终端私钥以及对称密钥KEY,所述系统还包括安全芯片,内置在所述第一终端之中,用于保存第一终端私钥和对称密钥KEY。
全文摘要
本发明公开了一种基于双向安全认证的数据下载方法及系统。其中,该方法包括第一终端通过对称密钥算法验证第二终端,以获取第一验证结果;在根据第一验证结果确定第二终端为合法终端之后,第二终端通过非对称密钥算法验证第一终端,以获取第二验证结果;在根据第二验证结果确定第一终端为合法终端之后,第二终端将通过数字签名算法加密处理过的数据下载至第一终端。通过本发明,能够实现在不同终端之间创建双向认证通道,以及安全下载,保护了交互数据的安全性和完整性。
文档编号H04L9/32GK102413132SQ20111036403
公开日2012年4月11日 申请日期2011年11月16日 优先权日2011年11月16日
发明者刘利华, 张向辉, 李京娜, 汤俊峰, 郑力铮, 陈鹏飞 申请人:北京数码视讯软件技术发展有限公司