一种网络安全通信方法及通信装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种网络安全通信方法及通信装置。
【背景技术】
[0002]随着互联网的快速发展,信息安全问题成为人们必须面对的挑战。在传统的PC上我们采用HTTPS来解决这个问题。采用HTTPS时,客户端和服务端进行通信的过程包括握手阶段,客户端和服务端之间先协商密钥,此时服务端需要向客户端提供由权威机构颁发的证书以证明客户端收到的应答来自于合法的服务端。这就导致客户端和服务端之间的交互次数太多,且每次交互的数据包太大,占用很大的流量开销,客户端验证该证书需要密集的CPU计算,由此引起的电量对移动终端是个挑战。
【发明内容】
[0003]本申请实施例的目的是提供一种网络安全通信方法及通信装置,可以在客户端与服务端协商密钥的过程中发送业务请求和应答,减少了信息交互的次数。
[0004]为实现上述目的,本申请实施例提供一种网络安全通信方法,包括:
[0005]向服务端发送握手请求报文,所述握手请求报文中携带使用第一公钥加密的第一随机数和使用所述第一公钥加密的业务请求数据,以使所述服务端根据所述第一公钥对应的第一私钥将所述握手请求报文解密得到第一随机数及第一业务请求数据、并根据所述第一业务请求数据生成第一业务应答数据;
[0006]接收服务端反馈的握手应答报文,所述握手应答报文中携带使用所述第一随机数加密的第一业务应答数据和使用所述第一随机数加密的第二随机数;
[0007]通过所述第一随机数对所述握手应答报文进行解密,得到第一业务应答数据和第二随机数;
[0008]通过所述第一随机数和第二随机数计算与服务端之间的会话所使用的会话密钥。
[0009]在一个优选的实施例中,所述密文业务请求报文中携带所述会话密钥的标识和使用所述会话密钥加密的第二业务请求数据,以使所述服务端根据该会话密钥的标识查找对应的会话密钥,并使用所述找到的会话密钥对所述密文业务请求报文进行解密,得到第二业务请求数据;
[0010]接收服务端反馈的密文业务应答报文,所述密文业务应答报文中携带使用所述会话密钥加密的第二业务应答数据,所述第二业务应答数据是由所述服务端根据所述第二业务请求数据生成的。
[0011 ] 在一个优选的实施例中,所述方法还包括:
[0012]向服务端发送明文业务请求报文,所述明文业务请求报文中携带明文的第三业务请求数据,以使所述服务端从所述明文业务请求报文中获取明文的第三业务请求数据;
[0013]接收服务端反馈的明文业务应答报文,所述明文业务应答报文中携带明文的第三业务应答数据,所述第三业务应答数据是由所述服务端根据所述第三业务请求数据生成的。
[0014]在一个优选的实施例中,所述方法还包括:
[0015]接收服务端反馈的会话密钥过期的通知;
[0016]返回继续执行向服务端发送握手请求报文的步骤。
[0017]本申请另一方面还提供一种网络安全通信方法,包括:
[0018]接收客户端发送的握手请求报文,所述握手请求报文中携带使用第一公钥加密的第一随机数和使用所述第一公钥加密的业务请求数据;
[0019]使用所述第一公钥对应的第一私钥对所述的握手请求报文进行解密,得到第一随机数和业务请求数据;
[0020]根据所述第一业务请求数据生成第一业务应答数据;
[0021]向所述客户端发送握手应答报文,所述握手应答报文中携带使用第一随机数加密的第一业务应答数据和使用所述第一随机数加密的第二随机数,以使所述客户端通过所述第一随机数对所述握手应答报文解密,得到业务应答数据和第二随机数,并以第一随机数和第二随机数基于第一密钥算法计算出会话所使用的会话密钥;
[0022]根据所述第一随机数和第二随机数使用所述第一密钥算法计算出会话所使用的会话密钥。
[0023]在一个优选的实施例中,所述方法还包括:
[0024]接收客户端发送的密文业务请求报文,所述密文业务请求报文中携带所述会话密钥的标识和使用所述会话密钥加密的第二业务请求数据;
[0025]通过所述会话密钥的标识查找对应的会话密钥;
[0026]使用所述找到的会话密钥对所述密文业务请求报文进行解密,得到第二业务请求数据;
[0027]根据所述第二业务请求数据生成第二业务应答数据;
[0028]向所述客户端发送密文业务应答报文,所述密文业务应答报文中携带使用所述会话密钥加密的第二业务应答数据。
[0029]在一个优选的实施例中,所述方法还包括:
[0030]接收客户端发送的明文业务请求报文,所述明文业务请求报文中携带明文的第三业务请求数据;
[0031]从所述明文业务请求报文中获取第三业务请求数据;
[0032]根据所述第三业务请求数据生成第三业务应答数据;
[0033]向所述客户端发送明文业务应答报文,所述明文业务应答报文中携带明文的第三业务应答数据。
[0034]在一个优选的实施例中,所述方法还包括:
[0035]接收客户端发送的业务请求报文;
[0036]判断所述业务请求报文是密文业务请求报文还是明文业务请求报文,
[0037]由该业务请求报文是密文业务请求报文还是明文业务请求报文的判断结果生成加密标识;
[0038]建立所述业务请求报文的标识与该业务请求报文的加密标识的第一映射关系;
[0039]在针对客户端发送的业务请求报文时,通过该业务请求报文的标识与所述第一映射关系,查找对应的加密标识;
[0040]如果该加密标识表示该业务请求报文是密文业务请求报文,则触发执行向所述客户端发送密文业务应答报文的步骤;
[0041]如果该加密标识表示该业务请求报文是明文业务请求报文,则触发执行向所述客户端发送明文业务应答报文的步骤。
[0042]本申请另一方面还提供一种网络安全通信装置,包括:
[0043]握手请求发送单元,用于向服务端发送向服务端发送握手请求报文,所述握手请求报文中携带使用第一公钥加密的第一随机数和使用所述第一公钥加密的业务请求数据,以使所述服务端根据所述第一公钥对应的第一私钥将所述握手请求报文解密得到第一随机数及第一业务请求数据、并根据所述第一业务请求数据生成第一业务应答数据;
[0044]握手应答接收单元,用于接收服务端反馈的握手应答报文,所述握手应答报文中携带使用所述第一随机数加密的第一业务应答数据和使用所述第一随机数加密的第二随机数;
[0045]握手应答解密单元,用于通过所述第一随机数对所述握手应答报文进行解密,得到第一业务应答数据和第二随机数;
[0046]会话密钥计算单元,用于通过所述第一随机数和第二随机数计算与服务端之间的会话所使用的会话密钥。
[0047]在一个优选的实施例中,所述装置还包括:
[0048]密文业务请求发送单元,用于向服务端发送密文业务请求报文,所述密文业务请求报文中携带所述会话密钥的标识和使用所述会话密钥加密的第二业务请求数据,以使所述服务端根据该会话密钥的标识查找对应的会话密钥,并使用所述找到的会话密钥对所述密文业务请求报文进行解密,得到第二业务请求数据;
[0049]密文业务应答接收单元,用于接收服务端反馈的密文业务应答报文,所述密文业务应答报文中携带使用所述会话密钥加密的第二业务应答数据,所述第二业务应答数据是由所述服务端根据所述第二业务请求数据生成的。
[0050]在一个优选的实施例中,所述装置还包括:
[0051]明文业务请求发送单元,用于向服务端发送明文业务请求报文,所述明文业务请求报文中携带明文的第三业务请求数据,以使所述服务端从所述明文业务请求报文中获取明文的第三业务请求数据;
[0052]明文业务应答接收单元,用于接收服务端反馈的明文业务应答报文,所述明文业务应答报文中携带明文的第三业务应答数据,所述第三业务应答数据是由所述服务端根据所述第三业务请求数据生成的。
[0053]本申请再一方面还提供一种网络安全通信装置,包括:
[0054]握手请求接收单元,用于接收客户端发送的握手请求报文,所述握手请求报文中携带使用第一公钥加密的第一随机数和使用所述第一公钥加密的业务请求数据;
[0055]握手请求解密单元,用于使用所述第一公钥对应的第一私钥对所述的握手请求报文进行解密,得到第一随机数和业务请求数据;
[0056]第一业务应答生成单元,用于根据所述第一业务请求数据生成第一业务应答数据;
[0057]握手应答发送单元,用于向所述客户端发送握手应答报文,所述握手应答报文中携带使用第一随机数加密的第一业务应答数据和使用所述第一随机数加密的第二随机数,以使所述客户端通过所述第一随机数对所述握手应答报文解密,得到业务应答数据和第二随机数,并以第一随机数和第二随机数基于第一密钥算法计算出会话所使用的会话密钥;
[0058]会话密钥计算单元,用于根据所述第一随机数和第二随机数使用所述第一密钥算法计算出会话所使用的会话密钥。
[0059]在一个优选的实施例中,所述装置还包括:
[0060]密文业务请求接收单元,用于接收客户端发送的密文业务请求报文,所述密文业务请求报文中携带所述会话密钥的标识和使用所述会话密钥加密的第二业务请求数据;
[0061]会话密钥查找单元,用于通过所述会话密钥的标识查找对应的会话密钥;
[0062]业务请求解密单元,用于使用所述找到的会话密钥对所述密文业务请求报文进行解密,得到第二业务请求数据;
[0063]第二业务应答生成单元,用于根据所述第二业务请求数据生成第二业务应答数据;
[0064]密文业务应答发送单元,用于向所述客户端发送密文业务应答报文,所述密文业务应答报文中携带使用所述会话密钥加密的第二业务应答数据。
[0065]在一个优选的实施例中,所述装置还包括:
[0066]明文业务请求接收单元,用于接收客户端发送的明文业务请求报文,所述明文业务请求报文中携带明文的第三业务请求数据;
[0067]业务请求数据获取单元,用于从所述明文业务请求报文