基于网络通信的数据传输方法、客户端及服务器与流程

文档序号:12037826阅读:233来源:国知局
基于网络通信的数据传输方法、客户端及服务器与流程

本发明涉及网络通信技术领域,尤其涉及一种基于网络通信的数据传输方法、客户端及服务器。



背景技术:

目前基于网络通信的数据传输中常用的网络通信安全技术是ssl安全防御策略如https等,ssl安全防御策略是针对整个网络通信层而言,将网络通信隧道化处理,隧道中的数据全部是在经加密处理后的网络通信层中进行传输。

然而,ssl安全防御策略仅仅是针对整个网络通信层进行加密处理,网络通信层中传输的通信数据自身并没有做任何安全防御手段。导致一旦ssl本身的安全漏洞致使ssl安全防御策略完全失效,如典型的“心脏滴血”漏洞,那么使用该ssl安全防御策略的网络通信层中进行传输的所有通信数据都将明文暴露在黑客面前。因此,这种单纯依靠ssl安全防御策略来对网络通信层中进行传输的通信数据进行保护的方式安全性较低。



技术实现要素:

本发明的主要目的在于提供一种基于网络通信的数据传输方法、客户端及服务器,旨在提高基于网络通信的数据传输安全性。

为实现上述目的,本发明提供的一种基于网络通信的数据传输方法,所述方法包括以下步骤:

客户端将待传输的原始数据按预设的加密方式进行加密,生成密文;

所述客户端基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

优选地,所述客户端将待传输的原始数据按预设的加密方式进行加密,生成密文的步骤包括:

所述客户端基于预设加密算法按预设的加密方式对所述原始数据进行相 应的加密处理,生成相应的密文,其中,所述预设加密算法包括以下一种或几种的组合:高级加密标准aes算法、rsa加密算法、安全散列算法。

优选地,所述客户端将待传输的原始数据按预设的加密方式进行加密,生成密文的步骤包括:

所述客户端将所述原始数据、预设的随机数值及所述客户端的设备序列号按预设顺序进行拼接生成第一拼接数据,并使用预设的高级加密标准aes对称秘钥将所述第一拼接数据进行加密得到第一加密密文;

所述客户端采用安全散列算法对所述第一加密密文进行散列处理,生成第一加密签值;

所述客户端基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据的步骤包括:

所述客户端基于安全套接层协议将所述第一加密密文及所述第一加密签值传输至相应的服务器,以供所述服务器基于接收的所述第一加密密文及所述第一加密签值按预设的解密方式进行解密,获取所述原始数据。

优选地,所述客户端将所述原始数据、预设的随机数值及所述客户端的设备序列号按预设顺序进行拼接生成第一拼接数据,并使用预设的高级加密标准aes对称秘钥将所述第一拼接数据进行加密得到第一加密密文的步骤之前还包括:

所述客户端随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号;

将所述aes对称秘钥、所述随机数值及所述设备序列号按预设顺序进行拼接生成第二拼接数据,并使用预设的rsa公钥对所述第二拼接数据进行加密得到第二加密密文;

采用安全散列算法对所述第二加密密文进行散列处理,生成第二加密签值;

基于安全套接层协议将所述第二加密密文及所述第二加密签值传输至相应的服务器;

若接收到所述服务器反馈的数据解密正确信息,则所述客户端基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述服务器进行后续数据 通信。

优选地,所述若接收到所述服务器反馈的数据解密正确信息,则所述客户端基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述服务器进行数据通信的步骤还包括:

若所述客户端与所述服务器的会话时长超过预设安全时长,则返回执行所述客户端随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号的步骤。

此外,为实现上述目的,本发明还提供一种基于网络通信的数据传输方法,所述方法包括以下步骤:

服务器接收客户端基于安全套接层协议传输的密文,其中,所述密文由所述客户端将待传输的原始数据按预设的加密方式进行加密生成;

所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

优选地,所述服务器接收客户端基于安全套接层协议传输的密文的步骤包括:

所述服务器接收所述客户端基于安全套接层协议传输的第一加密密文及第一加密签值;

所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据的步骤包括:

所述服务器采用安全散列算法对所述第一加密密文进行散列处理,生成第一解密签值;

判断所述第一加密签值与所述第一解密签值是否相同;

若不同,则向所述客户端反馈数据解密错误信息,并终止解密;

若相同,则使用预设的高级加密标准aes对称秘钥对所述第一加密密文进行解密得到一随机数值、原始数据及设备序列号;

若所述随机数值、设备序列号与所述服务器上预存的随机数值、设备序列号相同,则获取所述原始数据;否则,向所述客户端反馈数据解密错误信息,并将所述原始数据作为无效数据。

优选地,所述服务器接收所述客户端基于安全套接层协议传输的第一加 密密文及第一加密签值的步骤之前还包括:

所述服务器接收所述客户端基于安全套接层协议传输的第二加密密文及第二加密签值;

所述服务器采用安全散列算法对所述第二加密密文进行散列处理,生成第二解密签值;

判断所述第二加密签值与所述第二解密签值是否相同;

若不同,则向所述客户端反馈数据解密错误信息,并终止解密;

若相同,则使用预设的rsa私钥对所述第二加密密文进行解密得到一aes对称秘钥、随机数值及设备序列号;

若所述aes对称秘钥、随机数值及设备序列号与所述服务器上预存的aes对称秘钥、随机数值及设备序列号相同,则向所述客户端反馈数据解密正确信息,并基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述客户端进行后续数据通信;否则,向所述客户端反馈数据解密错误信息。

此外,为实现上述目的,本发明还提供一种客户端,所述客户端包括:

加密模块,用于将待传输的原始数据按预设的加密方式进行加密,生成密文;

传输模块,用于基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

优选地,所述加密模块还用于:

基于预设加密算法按预设的加密方式对所述原始数据进行相应的加密处理,生成相应的密文,其中,所述预设加密算法包括以下一种或几种的组合:高级加密标准aes算法、rsa加密算法、安全散列算法。

优选地,所述加密模块包括:

第一拼接加密单元,用于将所述原始数据、预设的随机数值及所述客户端的设备序列号按预设顺序进行拼接生成第一拼接数据,并使用预设的高级加密标准aes对称秘钥将所述第一拼接数据进行加密得到第一加密密文;

第一散列单元,用于采用安全散列算法对所述第一加密密文进行散列处理,生成第一加密签值;

所述传输模块还用于:

基于安全套接层协议将所述第一加密密文及所述第一加密签值传输至相应的服务器,以供所述服务器基于接收的所述第一加密密文及所述第一加密签值按预设的解密方式进行解密,获取所述原始数据。

优选地,所述加密模块还包括:

第二拼接加密单元,用于随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号;将所述aes对称秘钥、所述随机数值及所述设备序列号按预设顺序进行拼接生成第二拼接数据,并使用预设的rsa公钥对所述第二拼接数据进行加密得到第二加密密文;

第二散列单元,用于采用安全散列算法对所述第二加密密文进行散列处理,生成第二加密签值;

验证通信单元,用于基于安全套接层协议将所述第二加密密文及所述第二加密签值传输至相应的服务器;若接收到所述服务器反馈的数据解密正确信息,则基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述服务器进行后续数据通信。

优选地,所述验证通信单元还用于:

若所述客户端与所述服务器的会话时长超过预设安全时长,则返回执行随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号。

此外,为实现上述目的,本发明还提供一种服务器,所述服务器包括:

接收模块,用于接收客户端基于安全套接层协议传输的密文,其中,所述密文由所述客户端将待传输的原始数据按预设的加密方式进行加密生成;

解密获取模块,用于对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

优选地,所述接收模块还用于:

接收所述客户端基于安全套接层协议传输的第一加密密文及第一加密签值;

所述解密获取模块包括:

第一生成单元,用于采用安全散列算法对所述第一加密密文进行散列处 理,生成第一解密签值;

第一判断单元,用于判断所述第一加密签值与所述第一解密签值是否相同;

第一终止单元,用于若所述第一加密签值与所述第一解密签值不同,则向所述客户端反馈数据解密错误信息,并终止解密;

第一解密单元,用于若所述第一加密签值与所述第一解密签值相同,则使用预设的高级加密标准aes对称秘钥对所述第一加密密文进行解密得到一随机数值、原始数据及设备序列号;

第一获取单元,用于若所述随机数值、设备序列号与所述服务器上预存的随机数值、设备序列号相同,则获取所述原始数据;

第一反馈单元,用于若所述随机数值、设备序列号与所述服务器上预存的随机数值、设备序列号不同,则向所述客户端反馈数据解密错误信息,并将所述原始数据作为无效数据。

优选地,所述接收模块还包括:

第二生成单元,用于接收所述客户端基于安全套接层协议传输的第二加密密文及第二加密签值;采用安全散列算法对所述第二加密密文进行散列处理,生成第二解密签值;

第二判断单元,用于判断所述第二加密签值与所述第二解密签值是否相同;

第二终止单元,用于若所述第二加密签值与所述第二解密签值不同,则向所述客户端反馈数据解密错误信息,并终止解密;

第二解密单元,用于若所述第二加密签值与所述第二解密签值相同,则使用预设的rsa私钥对所述第二加密密文进行解密得到一aes对称秘钥、随机数值及设备序列号;

通信单元,用于若所述aes对称秘钥、随机数值及设备序列号与所述服务器上预存的aes对称秘钥、随机数值及设备序列号相同,则向所述客户端反馈数据解密正确信息,并基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述客户端进行后续数据通信;

第二反馈单元,用于若所述aes对称秘钥、随机数值及设备序列号与所述服务器上预存的aes对称秘钥、随机数值及设备序列号不同,向所述客户 端反馈数据解密错误信息。

本发明提出的一种基于网络通信的数据传输方法、客户端及服务器,客户端将待传输的原始数据按预设的加密方式进行加密生成密文,并基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。由于针对待传输的原始数据自身进行了加密处理,且基于ssl安全防御策略对原始数据加密后的密文进行传输,从外部网络通信层及原始数据自身进行了双重加密防御。即使ssl安全防御策略完全失效,原始数据也会因其自身进行了加密处理而不会导致明文暴露,防止了原始数据泄露,有效的提高了基于网络通信的数据传输安全性。

附图说明

图1为本发明基于网络通信的数据传输方法一实施例的流程示意图;

图2为图1中步骤s10的细化流程示意图;

图3为图1中步骤s10的另一种细化流程示意图;

图4为本发明基于网络通信的数据传输方法另一实施例的流程示意图;

图5为图4中步骤s40的细化流程示意图;

图6为本发明基于网络通信的数据传输方法又一实施例的流程示意图;

图7为本发明客户端一实施例的功能模块示意图;

图8为图7中加密模块10的细化功能模块示意图;

图9为本发明客户端另一实施例中加密模块10的细化功能模块示意图;

图10为本发明服务器一实施例的功能模块示意图;

图11为图10中解密获取模块40的细化功能模块示意图;

图12为本发明服务器另一实施例中接收模块30的细化功能模块示意图;

图13为本发明基于网络通信的数据传输系统一实施例的结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提供一种基于网络通信的数据传输方法。

参照图1,图1为本发明基于网络通信的数据传输方法一实施例的流程示意图。

在一实施例中,该基于网络通信的数据传输方法包括:

步骤s10,客户端将待传输的原始数据按预设的加密方式进行加密,生成密文;

本实施例中,客户端需要基于网络通信传输数据至相应的服务器时,可先通过加密算法和加密密钥将待传输的原始数据按预设的加密方式进行加密转变为密文。如可采用对称加密技术或非对称加密技术对原始数据进行加密,其中,对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,对称加密算法使用起来简单快捷,密钥较短,且破译困难。在对原始数据进行对称加密时,除了可使用数据加密标准(des),还可使用另一个对称密钥加密系统即国际数据加密算法(idea),它比des的加密性好,而且对计算机功能要求也没有那么高。

非对称加密技术与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),即公钥和私钥。公开密钥与私有密钥是一对密钥对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。本实施例中,在客户端传输数据至相应的服务器时,可在客户端上采用公钥或私钥对原始数据进行加密形成密文后进行传输,服务器上则采用相应的私钥或公钥对密文进行解密。

本实施例中,客户端对原始数据进行加密时采用的加密算法包括但不限于以下一种或几种的组合:des加密算法、aes加密算法、rsa加密算法、base64加密算法、md5加密算法、sha-1加密算法等,在此不作限定。

步骤s20,所述客户端基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

将待传输的原始数据按预设的加密方式进行加密转变为密文后,可基于安全套接层协议将所述密文传输至相应的服务器,这样,在对密文进行传输过程中,为整个网络通信层提供了ssl安全防御策略,实现了对原始数据传输的双重保护。相应的服务器在接收到所述客户端传输的密文后,可按预设的解密方式进行解密,获取所述原始数据,完成数据传输。

本实施例中客户端将待传输的原始数据按预设的加密方式进行加密生成密文,并基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。由于针对待传输的原始数据自身进行了加密处理,且基于ssl安全防御策略对原始数据加密后的密文进行传输,从外部网络通信层及原始数据自身进行了双重加密防御。即使ssl安全防御策略完全失效,原始数据也会因其自身进行了加密处理而不会导致明文暴露,防止了原始数据泄露,有效的提高了基于网络通信的数据传输安全性。

进一步地,在其他实施例中,上述步骤s10可以包括:

所述客户端基于预设加密算法按预设的加密方式对所述原始数据进行相应的加密处理,生成相应的密文,其中,所述预设加密算法包括以下一种或几种的组合:高级加密标准aes算法、rsa加密算法、安全散列算法。

本实施例中,所述客户端可基于高级加密标准aes算法、rsa加密算法、安全散列算法sha-1这三种加密算法中的一种或几种的组合对所述原始数据进行加密处理,生成密文。在基于安全套接层协议将所述密文传输至相应的服务器后,所述服务器也可基于高级加密标准aes算法、rsa加密算法、安全散列算法sha-1对接收的所述密文按预先约定好的解密方式进行解密,获取所述原始数据。

进一步地,如图2所示,上述步骤s10可以包括:

步骤s101,所述客户端将所述原始数据、预设的随机数值及所述客户端的设备序列号按预设顺序进行拼接生成第一拼接数据,并使用预设的高级加密标准aes对称秘钥将所述第一拼接数据进行加密得到第一加密密文;

步骤s102,所述客户端采用安全散列算法对所述第一加密密文进行散列处理,生成第一加密签值;

上述步骤s20可以包括:

所述客户端基于安全套接层协议将所述第一加密密文及所述第一加密签值传输至相应的服务器,以供所述服务器基于接收的所述第一加密密文及所述第一加密签值按预设的解密方式进行解密,获取所述原始数据。

本实施例中,所述客户端和所述服务器上预先可存储相同的因子,包括aes对称密钥randomaeskey、随机数值即随机cookie值validcookievalue、客户端的设备序列号即设备id号deviceid,客户端将原始数据、validcookievalue、deviceid按一定顺序进行拼接,并对拼接结果使用aes对称密钥randomaeskey进行加密得到第一加密密文,对该第一加密密文使用sha-1算法进行hash处理得到第一加密签值sighvalue。最后将第一加密密文和第一加密签值sighvalue发送给服务器。

本实施例中基于预设的aes对称秘钥、随机数值及设备序列号对原始数据进行加密,并结合安全散列算法进行签值验证,通过加密和验签来确保原始数据本身的加密传输,再基于安全套接层协议构建ssl安全防御策略进行数据传输,提高了基于网络通信的数据传输安全性。

进一步地,如图3所示,上述步骤s101之前还可以包括:

步骤s103,所述客户端随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号;

步骤s104,将所述aes对称秘钥、所述随机数值及所述设备序列号按预设顺序进行拼接生成第二拼接数据,并使用预设的rsa公钥对所述第二拼接数据进行加密得到第二加密密文;

步骤s105,采用安全散列算法对所述第二加密密文进行散列处理,生成第二加密签值;

步骤s106,基于安全套接层协议将所述第二加密密文及所述第二加密签值传输至相应的服务器;

步骤s107,若接收到所述服务器反馈的数据解密正确信息,则所述客户端基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述服务器进 行后续数据通信。

本实施例中,在所述客户端与所述服务器进行数据通信之前,客户端随机生成一个aes对称密钥randomaeskey;基于http协议随机生成一个随机数值即cookie值(validcookiekey=validcookievalue);获取到客户端的设备序列号即id号deviceid;将randomaeskey、validcookievalue、deviceid的值按一定序列拼接,并使用rsa公钥对其进行加密得到第二加密密文,然后使用sha-1对第二加密密文进行hash处理得到第二加密签值encrytedhashvalue;然后客户端将第二加密密文和第二加密签值encrytedhashvalue发送给服务器。若接收到所述服务器反馈的数据解密正确信息,则所述客户端基于相同的因子与所述服务器进行后续数据通信,该因子包括aes密钥randomaeskey、cookie随机值validcookievalue及deviceid。

本实施例中在所述客户端与所述服务器进行数据通信之前还进行aes对称秘钥、随机数值及设备序列号的传输验证,只有在确认所述客户端与所述服务器之间基于aes对称秘钥、随机数值及设备序列号能进行正常无误的数据通信的情况下,才在后续数据通信中基于通过验证的aes对称秘钥、随机数值及设备序列号的传输验证进行所述客户端与所述服务器的交互,安全性更高。

进一步地,在其他实施例中,上述步骤s107还可以包括:

若所述客户端与所述服务器的会话时长超过预设安全时长,则返回执行所述客户端随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号的步骤。

本实施例中,在客户端基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述服务器进行后续数据通信的过程中,还可基于会话态进行时效控制。若所述客户端与所述服务器的会话时长超过预设安全时长,则返回执行所述客户端随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号,重新验证获取aes密钥randomaeskey、cookie随机值validcookievalue及deviceid,防止所述客户端用户登录超时时,aes密钥randomaeskey、cookie随机值validcookievalue及deviceid泄露造成的隐患,更加安全。

参照图4,图4为本发明基于网络通信的数据传输方法另一实施例的流程示意图。

在另一实施例中,该基于网络通信的数据传输方法包括:

步骤s30,服务器接收客户端基于安全套接层协议传输的密文,其中,所述密文由所述客户端将待传输的原始数据按预设的加密方式进行加密生成;

步骤s40,所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

本实施例中,服务器接收到客户端基于安全套接层协议传输的密文后,可按预先与所述客户端协商好的解密方式进行解密,如可根据预先约定的加密算法、数据因子等对所述密文进行解密,即可获取所述密文中的原始数据,完成数据传输。由于针对待传输的原始数据自身进行了加密处理,且基于ssl安全防御策略对原始数据加密后的密文进行传输,从外部网络通信层及原始数据自身进行了双重加密防御。即使ssl安全防御策略完全失效,原始数据也会因其自身进行了加密处理而不会导致明文暴露,防止了原始数据泄露,有效的提高了基于网络通信的数据传输安全性。

进一步地,如图5所示,上述步骤s30可以包括:

所述服务器接收所述客户端基于安全套接层协议传输的第一加密密文及第一加密签值;

上述步骤s40可以包括:

步骤s401,所述服务器采用安全散列算法对所述第一加密密文进行散列处理,生成第一解密签值;

步骤s402,判断所述第一加密签值与所述第一解密签值是否相同;

步骤s403,若不同,则向所述客户端反馈数据解密错误信息,并终止解密;

步骤s404,若相同,则使用预设的高级加密标准aes对称秘钥对所述第一加密密文进行解密得到一随机数值、原始数据及设备序列号;

步骤s405,若所述随机数值、设备序列号与所述服务器上预存的随机数值、设备序列号相同,则获取所述原始数据;否则,向所述客户端反馈数据 解密错误信息,并将所述原始数据作为无效数据。

本实施例中,服务器接收到第一加密密文和第一加密签值sighvalue后,首先使用sha-1算法对第一加密密文进行hash处理得到第一解密签值sighvalue2,比较第一解密签值sighvalue2与第一加密签值sighvalue是否相同,若不同则说明数据被非法篡改,继而报错处理;若相同,则使用randomaeskey对密文进行aes解密,若解密过程异常、或解密结果为空、或解密之后的获取到的validcookievalue与自身存储的值不一致、或解密之后的获取到的deviceid与自身存储的值不一致,则说明数据被非法篡改,继而报错处理。若以上验证都通过,则说明数据是合法的,则获取该原始数据,并基于该原始数据进行正常的业务逻辑处理。

进一步地,如图6所示,上述步骤s30之前还可以包括:

步骤s50,所述服务器接收所述客户端基于安全套接层协议传输的第二加密密文及第二加密签值;

步骤s60,所述服务器采用安全散列算法对所述第二加密密文进行散列处理,生成第二解密签值;

步骤s70,判断所述第二加密签值与所述第二解密签值是否相同;

步骤s80,若不同,则向所述客户端反馈数据解密错误信息,并终止解密;

步骤s90,若相同,则使用预设的rsa私钥对所述第二加密密文进行解密得到一aes对称秘钥、随机数值及设备序列号;

步骤s100,若所述aes对称秘钥、随机数值及设备序列号与所述服务器上预存的aes对称秘钥、随机数值及设备序列号相同,则向所述客户端反馈数据解密正确信息,并基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述客户端进行后续数据通信;否则,向所述客户端反馈数据解密错误信息。

本实施例中服务器接受到客户端传过来的数据后进行验证:使用sha-1算法对第二加密密文进行hash处理得到第二解密签值encrytedhashvalue2,比较第二解密签值encrytedhashvalue2和第二加密签值encrytedhashvalue是否相同,若不同则说明数据被非法篡改,继而报错处理。使用rsa私钥对密文进行解密,若解密过程异常、解密结果为空或解密之后的获取到的aes密 钥randomaeskey与所述服务器上预先约定的不一致或解密之后的获取到的cookie随机值validcookievalue与所述服务器上预先约定的不一致或deviceid与所述服务器上预先约定的不一致,则说明数据被非法篡改,继而报错处理。

若aes密钥randomaeskey、cookie随机值validcookievalue及deviceid与所述服务器上预存的aes对称秘钥、随机数值及设备序列号相同,则向所述客户端反馈数据解密正确信息,并基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述客户端进行后续数据通信,即客户端与服务器后期通信过程中的数据加密和验签基于相同的因子进行,该因子包括aes密钥randomaeskey、cookie随机值validcookievalue及deviceid。

本发明进一步提供一种客户端。

参照图7,图7为本发明客户端一实施例的功能模块示意图。

在一实施例中,该客户端包括:

加密模块10,用于将待传输的原始数据按预设的加密方式进行加密,生成密文;

本实施例中,客户端需要基于网络通信传输数据至相应的服务器时,可先通过加密算法和加密密钥将待传输的原始数据按预设的加密方式进行加密转变为密文。如可采用对称加密技术或非对称加密技术对原始数据进行加密,其中,对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥,对称加密算法使用起来简单快捷,密钥较短,且破译困难。在对原始数据进行对称加密时,除了可使用数据加密标准(des),还可使用另一个对称密钥加密系统即国际数据加密算法(idea),它比des的加密性好,而且对计算机功能要求也没有那么高。

非对称加密技术与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),即公钥和私钥。公开密钥与私有密钥是一对密钥对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。本实施例中,在客户端传输数据至相应的服务器时,可在客户端上采用公钥或私钥对原始数据进行加密形成密文后进行传输,服务 器上则采用相应的私钥或公钥对密文进行解密。

本实施例中,客户端对原始数据进行加密时采用的加密算法包括但不限于以下一种或几种的组合:des加密算法、aes加密算法、rsa加密算法、base64加密算法、md5加密算法、sha-1加密算法等,在此不作限定。

传输模块20,用于基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

将待传输的原始数据按预设的加密方式进行加密转变为密文后,可基于安全套接层协议将所述密文传输至相应的服务器,这样,在对密文进行传输过程中,为整个网络通信层提供了ssl安全防御策略,实现了对原始数据传输的双重保护。相应的服务器在接收到所述客户端传输的密文后,可按预设的解密方式进行解密,获取所述原始数据,完成数据传输。

本实施例中客户端将待传输的原始数据按预设的加密方式进行加密生成密文,并基于安全套接层协议将所述密文传输至相应的服务器,以供所述服务器对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。由于针对待传输的原始数据自身进行了加密处理,且基于ssl安全防御策略对原始数据加密后的密文进行传输,从外部网络通信层及原始数据自身进行了双重加密防御。即使ssl安全防御策略完全失效,原始数据也会因其自身进行了加密处理而不会导致明文暴露,防止了原始数据泄露,有效的提高了基于网络通信的数据传输安全性。

进一步地,在其他实施例中,上述加密模块10还可以用于:

基于预设加密算法按预设的加密方式对所述原始数据进行相应的加密处理,生成相应的密文,其中,所述预设加密算法包括以下一种或几种的组合:高级加密标准aes算法、rsa加密算法、安全散列算法。

本实施例中,所述客户端可基于高级加密标准aes算法、rsa加密算法、安全散列算法sha-1这三种加密算法中的一种或几种的组合对所述原始数据进行加密处理,生成密文。在基于安全套接层协议将所述密文传输至相应的服务器后,所述服务器也可基于高级加密标准aes算法、rsa加密算法、安 全散列算法sha-1对接收的所述密文按预先约定好的解密方式进行解密,获取所述原始数据。

进一步地,如图8所示,上述加密模块10可以包括:

第一拼接加密单元101,用于将所述原始数据、预设的随机数值及所述客户端的设备序列号按预设顺序进行拼接生成第一拼接数据,并使用预设的高级加密标准aes对称秘钥将所述第一拼接数据进行加密得到第一加密密文;

第一散列单元102,用于采用安全散列算法对所述第一加密密文进行散列处理,生成第一加密签值;

上述传输模块20还可以用于:

基于安全套接层协议将所述第一加密密文及所述第一加密签值传输至相应的服务器,以供所述服务器基于接收的所述第一加密密文及所述第一加密签值按预设的解密方式进行解密,获取所述原始数据。

本实施例中,所述客户端和所述服务器上预先可存储相同的因子,包括aes对称密钥randomaeskey、随机数值即随机cookie值validcookievalue、客户端的设备序列号即设备id号deviceid,客户端将原始数据、validcookievalue、deviceid按一定顺序进行拼接,并对拼接结果使用aes对称密钥randomaeskey进行加密得到第一加密密文,对该第一加密密文使用sha-1算法进行hash处理得到第一加密签值sighvalue。最后将第一加密密文和第一加密签值sighvalue发送给服务器。

本实施例中基于预设的aes对称秘钥、随机数值及设备序列号对原始数据进行加密,并结合安全散列算法进行签值验证,通过加密和验签来确保原始数据本身的加密传输,再基于安全套接层协议构建ssl安全防御策略进行数据传输,提高了基于网络通信的数据传输安全性。

进一步地,如图9所示,上述加密模块10还可以包括:

第二拼接加密单元103,用于随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号;将所述aes对称秘钥、所述随机数值及所述设备序列号按预设顺序进行拼接生成第二拼接数据,并使用预设的rsa公钥对所述第二拼接数据进行加密得到第二加密 密文;

第二散列单元104,用于采用安全散列算法对所述第二加密密文进行散列处理,生成第二加密签值;

验证通信单元105,用于基于安全套接层协议将所述第二加密密文及所述第二加密签值传输至相应的服务器;若接收到所述服务器反馈的数据解密正确信息,则基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述服务器进行后续数据通信。

本实施例中,在所述客户端与所述服务器进行数据通信之前,客户端随机生成一个aes对称密钥randomaeskey;基于http协议随机生成一个随机数值即cookie值(validcookiekey=validcookievalue);获取到客户端的设备序列号即id号deviceid;将randomaeskey、validcookievalue、deviceid的值按一定序列拼接,并使用rsa公钥对其进行加密得到第二加密密文,然后使用sha-1对第二加密密文进行hash处理得到第二加密签值encrytedhashvalue;然后客户端将第二加密密文和第二加密签值encrytedhashvalue发送给服务器。若接收到所述服务器反馈的数据解密正确信息,则所述客户端基于相同的因子与所述服务器进行后续数据通信,该因子包括aes密钥randomaeskey、cookie随机值validcookievalue及deviceid。

本实施例中在所述客户端与所述服务器进行数据通信之前还进行aes对称秘钥、随机数值及设备序列号的传输验证,只有在确认所述客户端与所述服务器之间基于aes对称秘钥、随机数值及设备序列号能进行正常无误的数据通信的情况下,才在后续数据通信中基于通过验证的aes对称秘钥、随机数值及设备序列号的传输验证进行所述客户端与所述服务器的交互,安全性更高。

进一步地,在其他实施例中,上述验证通信单元105还可以用于:

若所述客户端与所述服务器的会话时长超过预设安全时长,则返回执行所述客户端随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号。

本实施例中,在客户端基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述服务器进行后续数据通信的过程中,还可基于会话态进行时 效控制。若所述客户端与所述服务器的会话时长超过预设安全时长,则返回执行所述客户端随机生成一aes对称秘钥,并基于超文本传输协议随机生成一随机数值,获取所述客户端的设备序列号,重新验证获取aes密钥randomaeskey、cookie随机值validcookievalue及deviceid,防止所述客户端用户登录超时时,aes密钥randomaeskey、cookie随机值validcookievalue及deviceid泄露造成的隐患,更加安全。

本发明进一步提供一种服务器。

参照图10,图10为本发明服务器一实施例的功能模块示意图。

在一实施例中,该服务器包括:

接收模块30,用于接收客户端基于安全套接层协议传输的密文,其中,所述密文由所述客户端将待传输的原始数据按预设的加密方式进行加密生成;

解密获取模块40,用于对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。

本实施例中,服务器接收到客户端基于安全套接层协议传输的密文后,可按预先与所述客户端协商好的解密方式进行解密,如可根据预先约定的加密算法、数据因子等对所述密文进行解密,即可获取所述密文中的原始数据,完成数据传输。由于针对待传输的原始数据自身进行了加密处理,且基于ssl安全防御策略对原始数据加密后的密文进行传输,从外部网络通信层及原始数据自身进行了双重加密防御。即使ssl安全防御策略完全失效,原始数据也会因其自身进行了加密处理而不会导致明文暴露,防止了原始数据泄露,有效的提高了基于网络通信的数据传输安全性。

进一步地,如图11所示,上述接收模块30可以用于:

接收所述客户端基于安全套接层协议传输的第一加密密文及第一加密签值;

上述解密获取模块40可以包括:

第一生成单元401,用于采用安全散列算法对所述第一加密密文进行散列处理,生成第一解密签值;

第一判断单元402,用于判断所述第一加密签值与所述第一解密签值是否相同;

第一终止单元403,用于若所述第一加密签值与所述第一解密签值不同,则向所述客户端反馈数据解密错误信息,并终止解密;

第一解密单元404,用于若所述第一加密签值与所述第一解密签值相同,则使用预设的高级加密标准aes对称秘钥对所述第一加密密文进行解密得到一随机数值、原始数据及设备序列号;

第一获取单元405,用于若所述随机数值、设备序列号与所述服务器上预存的随机数值、设备序列号相同,则获取所述原始数据;

第一反馈单元406,用于若所述随机数值、设备序列号与所述服务器上预存的随机数值、设备序列号不同,则向所述客户端反馈数据解密错误信息,并将所述原始数据作为无效数据。

本实施例中,服务器接收到第一加密密文和第一加密签值sighvalue后,首先使用sha-1算法对第一加密密文进行hash处理得到第一解密签值sighvalue2,比较第一解密签值sighvalue2与第一加密签值sighvalue是否相同,若不同则说明数据被非法篡改,继而报错处理;若相同,则使用randomaeskey对密文进行aes解密,若解密过程异常、或解密结果为空、或解密之后的获取到的validcookievalue与自身存储的值不一致、或解密之后的获取到的deviceid与自身存储的值不一致,则说明数据被非法篡改,继而报错处理。若以上验证都通过,则说明数据是合法的,则获取该原始数据,并基于该原始数据进行正常的业务逻辑处理。

进一步地,如图12所示,上述接收模块30还可以包括:

第二生成单元50,用于接收所述客户端基于安全套接层协议传输的第二加密密文及第二加密签值;采用安全散列算法对所述第二加密密文进行散列处理,生成第二解密签值;

第二判断单元60,用于判断所述第二加密签值与所述第二解密签值是否相同;

第二终止单元70,用于若所述第二加密签值与所述第二解密签值不同,则向所述客户端反馈数据解密错误信息,并终止解密;

第二解密单元80,用于若所述第二加密签值与所述第二解密签值相同,则使用预设的rsa私钥对所述第二加密密文进行解密得到一aes对称秘钥、随机数值及设备序列号;

通信单元90,用于若所述aes对称秘钥、随机数值及设备序列号与所述服务器上预存的aes对称秘钥、随机数值及设备序列号相同,则向所述客户端反馈数据解密正确信息,并基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述客户端进行后续数据通信;

第二反馈单元100,用于若所述aes对称秘钥、随机数值及设备序列号与所述服务器上预存的aes对称秘钥、随机数值及设备序列号不同,向所述客户端反馈数据解密错误信息。

本实施例中服务器接受到客户端传过来的数据后进行验证:使用sha-1算法对第二加密密文进行hash处理得到第二解密签值encrytedhashvalue2,比较第二解密签值encrytedhashvalue2和第二加密签值encrytedhashvalue是否相同,若不同则说明数据被非法篡改,继而报错处理。使用rsa私钥对密文进行解密,若解密过程异常、解密结果为空或解密之后的获取到的aes密钥randomaeskey与所述服务器上预先约定的不一致或解密之后的获取到的cookie随机值validcookievalue与所述服务器上预先约定的不一致或deviceid与所述服务器上预先约定的不一致,则说明数据被非法篡改,继而报错处理。

若aes密钥randomaeskey、cookie随机值validcookievalue及deviceid与所述服务器上预存的aes对称秘钥、随机数值及设备序列号相同,则向所述客户端反馈数据解密正确信息,并基于所述aes对称秘钥、所述随机数值及所述设备序列号与所述客户端进行后续数据通信,即客户端与服务器后期通信过程中的数据加密和验签基于相同的因子进行,该因子包括aes密钥randomaeskey、cookie随机值validcookievalue及deviceid。

本发明进一步提供一种基于网络通信的数据传输系统。

参照图13,图13为本发明基于网络通信的数据传输系统一实施例的结构示意图。

在一实施例中,该数据传输系统包括上述客户端1及上述服务器2,客户端1与服务器2的具体加密、数据通信等过程如上所述,在此不再赘述。

本实施例中客户端1将待传输的原始数据按预设的加密方式进行加密生成密文,并基于安全套接层协议将所述密文传输至相应的服务器2,服务器2对接收的所述密文按预设的解密方式进行解密,获取所述原始数据。由于针对待传输的原始数据自身进行了加密处理,且基于ssl安全防御策略对原始数据加密后的密文进行传输,从外部网络通信层及原始数据自身进行了双重加密防御。即使ssl安全防御策略完全失效,原始数据也会因其自身进行了加密处理而不会导致明文暴露,防止了原始数据泄露,有效的提高了基于网络通信的数据传输安全性。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1