CN111600914B - 一种数据传输方法、服务端和客户端 - Google Patents

一种数据传输方法、服务端和客户端 Download PDF

Info

Publication number
CN111600914B
CN111600914B CN202010728889.0A CN202010728889A CN111600914B CN 111600914 B CN111600914 B CN 111600914B CN 202010728889 A CN202010728889 A CN 202010728889A CN 111600914 B CN111600914 B CN 111600914B
Authority
CN
China
Prior art keywords
client
data
identifier
data resource
ssl vpn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010728889.0A
Other languages
English (en)
Other versions
CN111600914A (zh
Inventor
窦志刚
刘国庆
汪宗斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Infosec Technologies Co Ltd
Original Assignee
Beijing Infosec Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Infosec Technologies Co Ltd filed Critical Beijing Infosec Technologies Co Ltd
Priority to CN202010728889.0A priority Critical patent/CN111600914B/zh
Publication of CN111600914A publication Critical patent/CN111600914A/zh
Application granted granted Critical
Publication of CN111600914B publication Critical patent/CN111600914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据传输方法、服务端和客户端,用以解决使用现有的SSL VPN技术进行数据加密传输时对网络资源消耗较大的问题,包括:接收客户端通过超文本传输协议发送的获取数据资源的第一HTTP请求;创建数据加密传输标识和会话标识并添加到第一HTTP响应报文中返回至客户端;接收客户端发送的请求安全参数协商的第二HTTP请求,确定协商的安全参数;利用协商的安全参数对请求的数据资源进行加密得到加密的数据资源,生成数据加密标识;将会话标识、协商的安全参数、加密的数据资源和数据加密标识添加到第二HTTP响应报文中返回至客户端,以使客户端利用协商的安全参数对加密的数据资源进行解密后获得请求的数据资源。

Description

一种数据传输方法、服务端和客户端
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法、服务端和客户端。
背景技术
现有技术中,服务端存储有客户端需求的数据资源,客户端向服务端发起数据请求获取服务端的数据资源,然而,服务端存储的数据资源中包括不同安全等级的数据资源信息,如果对安全级别高的数据资源使用明文进行传输,将会引起一些安全风险,因此,在我国提出了通过SSL VPN(Security Socket Layer Virtual Private Network,安全套接层协议虚拟专用网络)技术实现信息的加密传输,以保证传输数据的安全,SSL VPN技术是指基于安全套接层协议建立远程安全访问通道的VPN技术。
SSL VPN协议包括SSL VPN握手层协议和SSL VPN记录层协议,SSL VPN握手层协议建立在SSL VPN记录层协议之上,用于在实际的数据传输开始前通信双方进行身份认证、协商密钥和加密算法等安全参数、交换密钥等;SSL VPN记录层协议建立在可靠的传输协议(如TCP(Transmission Control Protocol,传输控制协议))之上,为高层协议提供数据的分段、封装、压缩及解压缩、加密及解密等基本功能的支持。使用SSL VPN技术进行数据加密传输时,虽然保证了数据的安全传输,但是在创建SSL VPN连接以后,客户端利用高层协议向服务端请求数据时,客户端和服务端需要先通过SSL VPN握手层协议协商密钥和加密算法,再通过SSL VPN记录层协议对请求的数据进行加密后进行传输,这样对网络资源消耗较大。
发明内容
为了解决使用现有的SSL VPN技术进行数据加密传输时对网络资源消耗较大的问题,本发明实施例提供了一种数据传输方法、服务端和客户端。
第一方面,本发明实施例提供了一种服务端侧实施的数据传输方法,包括:
接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求;
创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端,所述数据加密传输标识表征数据的传输方式为加密传输,所述会话标识用于标识与所述客户端进行会话;
接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源;
将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。
本发明实施例提供的数据传输方法中,服务端接收客户端通过超文本传输协议(HyperText Transfer Protocol,HTTP)发送的获取数据资源的第一HTTP请求,创建数据加密标识以标识数据的传输方式为加密传输,以及创建会话标识以对所述服务端和所述客户端进行会话控制,所述服务端将创建的加密传输标识和会话标识添加到第一HTTP响应报文中返回给所述客户端,所述客户端接收到所述第一HTTP响应报文后,向服务端发送请求安全参数协商的第二HTTP请求以与所述服务端协商用于利用SSL VPN记录层协议进行数据加密传输所需的安全参数,所述服务端接收到所述第二HTTP请求后,根据所述第二HTTP请求于所述客户端进行安全参数协商,确定协商的安全参数,并利用协商出的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源,进而,服务端将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,所述客户端利用协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源。相比于现有技术,本发明实施例提供的数据传输方法中,当客户端通过超文本传输协议向服务端请求获取数据资源时,服务端通过创建数据加密标识以标识客户端和服务端之间采用加密传输的方式进行数据传输,通过创建会话标识,利用会话控制技术实现客户端与服务端在数据传输过程中的认证识别,并且,通过超文本传输协议完成服务端和客户端利用SSL VPN记录层协议进行数据加密传输时所需的安全参数的协商,相比于现有技术,本发明实施中,数据加密传输过程中无需通过SSL VPN握手协议进行SSL VPN记录层的安全参数的协商,仅通过客户端与服务端进行数据交互所使用的超文本传输协议即可完成所述安全参数的协商,从而节约了网络资源,提高了数据传输效率。
较佳地,所述第二HTTP请求中还携带有所述客户端基于所述加密传输标识从本地SSL VPN协议中获取的多个第一安全参数;
根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,具体包括:
从本地SSL VPN协议中获取与任一所述第一安全参数相匹配的第二安全参数;
将所述第二安全参数确定为协商的安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,具体包括:
基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述客户端请求的数据资源进行加密,得到加密的数据资源。
较佳地,基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,具体包括:
将所述数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,并将所述加密的数据资源存储至SSL VPN记录层协议栈中;
从所述SSL VPN记录层协议栈中提取所述加密的数据资源。
可选地,在创建数据加密传输标识和会话标识之前,还包括:
确定所述客户端请求的数据资源的安全等级大于等于预设阈值。
上述可选的实施方式表征,服务端对客户端请求的数据资源不都采用加密传输方式进行传输,仅对安全等级大于等于预设阈值的数据资源进行加密传输,从而,进一步节约了网络资源。
第二方面,本发明实施例提供了一种客户端侧实施的数据传输方法,包括:
通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求;
接收所述服务端返回的第一HTTP响应报文;
当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求,所述会话标识用于标识与所述服务端进行会话,所述数据加密传输标识表征数据的传输方式为加密传输,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
接收所述服务端返回的第二HTTP响应报文;
当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,所述加密的数据资源为所述服务端利用所述协商的安全参数对所述请求的数据进行加密后获得的。
可选地,在向所述服务端发送请求安全参数协商的第二HTTP请求之前,还包括:
从本地SSL VPN协议中获取多个第一安全参数,并将所述多个第一安全参数添加到所述第二HTTP请求中。
较佳地,所述协商的安全参数为所述服务端从本地SSL VPN协议中获取的与任一所述第一安全参数相匹配的第二安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,具体包括:
基于所述SSL VPN记录层协议利用所述密钥和加密算法对应的解密算法对所述加密的数据资源进行解密,获得请求的所述数据资源。
较佳地,基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述加密的数据资源进行解密,获得所述请求的数据资源,具体包括:
将所述加密的数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSLVPN记录层根据所述SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法对所述加密的数据资源进行解密,得到所述请求的数据资源,并将所述请求的数据资源存储至SSL VPN记录层协议栈中;
从所述SSL VPN记录层协议栈中提取所述请求的数据资源。
本发明提供的客户端侧实施的数据传输方法的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第三方面,本发明实施例提供了一种服务端,包括:
接收单元,用于接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求;
创建单元,用于创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端,所述数据加密传输标识表征数据的传输方式为加密传输,所述会话标识用于标识与所述客户端进行会话;
协商单元,用于接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
加密单元,用于利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源;
响应单元,用于将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。
较佳地,所述第二HTTP请求中还携带有所述客户端基于所述加密传输标识从本地SSL VPN协议中获取的多个第一安全参数;
所述协商单元,具体用于从本地SSL VPN协议中获取与任一所述第一安全参数相匹配的第二安全参数;将所述第二安全参数确定为协商的安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
所述加密单元,具体用于基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述客户端请求的数据资源进行加密,得到加密的数据资源。
较佳地,所述加密单元,具体用于将所述数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,并将所述加密的数据资源存储至SSLVPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述加密的数据资源。
可选地,所述服务端还包括确定单元;
所述确定单元,用于在创建数据加密传输标识和会话标识之前,确定所述客户端请求的数据资源的安全等级大于等于预设阈值。
本发明提供的服务端的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第四方面,本发明实施例提供了一种客户端,包括:
第一发送单元,用于通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求;
第一接收单元,用于接收所述服务端返回的第一HTTP响应报文;
第二发送单元,用于当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求,所述会话标识用于标识与所述服务端进行会话,所述数据加密传输标识表征数据的传输方式为加密传输,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
第二接收单元,用于接收所述服务端返回的第二HTTP响应报文;
解密单元,用于当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,所述加密的数据资源为所述服务端利用所述协商的安全参数对所述请求的数据进行加密后获得的。
可选地,所述客户端还包括获取单元;
所述获取单元,用于在向所述服务端发送请求安全参数协商的第二HTTP请求之前,从本地SSL VPN协议中获取多个第一安全参数,并将所述多个第一安全参数添加到所述第二HTTP请求中。
较佳地,所述协商的安全参数为所述服务端从本地SSL VPN协议中获取的与任一所述第一安全参数相匹配的第二安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
所述解密单元,具体用于基于所述SSL VPN记录层协议利用所述密钥和加密算法对应的解密算法对所述加密的数据资源进行解密,获得请求的所述数据资源。
较佳地,所述解密单元,具体用于将所述加密的数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法对所述加密的数据资源进行解密,得到所述请求的数据资源,并将所述请求的数据资源存储至SSL VPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述请求的数据资源。
本发明提供的客户端的技术效果可以参见上述第一方面或第一方面的各个实现方式的技术效果,此处不再赘述。
第五方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明所述的数据传输方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明所述的数据传输方法中的步骤。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的数据传输方法的实施流程示意图;
图2为本发明实施例中,服务端对客户端请求的数据资源进行加密的实施流程示意图;
图3为本发明实施例中,客户端对加密的数据资源进行解密的实施流程示意图;
图4为本发明实施例提供的服务端侧实施的数据传输方法的实施流程示意图;
图5为本发明实施例提供的客户端侧实施的数据传输方法的实施流程示意图;
图6为本发明实施例提供的服务端的结构示意图;
图7为本发明实施例提供的客户端的结构示意图;
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了解决使用现有的SSL VPN技术进行数据加密传输时对网络资源消耗较大的问题,本发明提出了一种数据传输方法、服务端和客户端。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,其为本发明实施例提供的数据传输方法的实施流程示意图,可以包括以下步骤:
S11、客户端通过超文本传输协议向服务端发送获取数据资源的第一HTTP请求。
具体实施时,客户端通过超文本传输协议向服务端发送获取数据资源的第一HTTP请求,所述第一HTTP请求中包含请求获取的数据资源的相关信息。
S12、所述服务端接收到所述客户端发送的所述第一HTTP请求后,确定所述客户端请求的数据资源的安全等级,当确定请求的数据资源的安全等级大于等于预设阈值时,则执行步骤S13,当确定请求的数据资源的安全等级小于所述预设阈值时,则执行步骤S111。
具体实施时,服务端预先存储数据资源与安全等级的对应关系。例如,可以将数据资源按照重要程度分为N个安全等级,重要程度越高的数据资源对应的安全等级设置也越高,例如,可以设置N=5,将数据的安全等级设置为1级、2级、3级、4级和5级,1级最低,5级最高,本发明实施例对此不作限定。
具体地,当服务端接收到客户端发送的第一HTTP请求时,根据预设的数据资源与安全等级的对应关系确定客户端请求的数据资源的安全等级,如果所述客户端请求的数据资源的安全等级大于等于预设阈值时,则按照步骤S13~S110对所述客户端请求的数据资源进行加密传输,如果所述客户端请求的数据资源的安全等级小于预设阈值时,则执行步骤S111,直接将所述客户端请求的数据资源返回至所述客户端。其中,预设阈值可以根据需要自行设定,本发明实施例对此不作限定。例如,可以设置为3,即当所述客户端请求的数据资源的安全等级大于等于3级时,执行步骤S13~S110,当所述客户端请求的数据资源的安全等级小于3级时,执行步骤S111。
S13、所述服务端创建数据加密传输标识和会话标识。
具体实施时,所述服务端当确定所述客户端请求的数据资源的安全等级大于等于预设阈值时,创建数据加密传输标识和会话标识,其中,所述数据加密传输标识表征数据的传输方式为加密传输,所述会话标识用于标识与所述客户端进行会话。
S14、所述服务端将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端。
S15、所述客户端接收所述服务端返回的第一HTTP响应报文后,当确定所述第一HTTP响应报文中包含所述会话标识和所述数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求。
具体实施时,所述客户端接收所述服务端返回的第一HTTP响应报文后,当确定所述第一HTTP响应报文中包含所述会话标识和所述数据加密传输标识时,向所述服务端发送添加了所述会话标识的、请求安全参数协商的第二HTTP请求,所述安全参数为用于利用SSLVPN记录层协议进行数据加密传输所需的安全参数。
具体地,所述客户端接收所述服务端返回的第一HTTP响应报文后,当确定所述第一HTTP响应报文中包含所述会话标识和所述数据加密传输标识时,则基于所述会话标识可以确定是与所述服务端进行会话,基于所述数加密传输标识,可以确定所述客户端和所述服务端之间进行数据传输的方式为加密传输,则所述客户端从本地SSL VPN协议中获取用于利用SSL VPN记录层协议进行数据加密传输所需的多个第一安全参数,并将所述会话标识、所述多个第一安全参数添加到请求安全参数协商的第二HTTP请求中发送给所述服务端。其中,多个第一安全参数可以为所述客户端本地SSL VPN协议中包含的所有用于利用SSL VPN记录层协议进行数据加密传输所需的安全参数,所述安全参数至少但不限于包括密钥和加密算法,还可以包括记录层协议类型、协议版本、压缩方法等参数,具体实施时,可以对记录层协议的安全参数根据SSL VPN协议规范进行增加或者减少,本发明实施例对此不作限定。
在另一可选的实施方式中,所述客户端从本地SSL VPN协议中获取用于利用SSLVPN记录层协议进行数据加密传输所需的多个第一安全参数对应的标识符,例如,标识符为V1的第一安全参数包括:密钥1、加密算法1、(协议类型1、协议版本1、压缩方法1等),标识符为V2的第一安全参数包括:密钥2、加密算法2、(协议类型2、协议版本2、压缩方法2等),......,标识符为Vn的第一安全参数包括:密钥n、加密算法n、(协议类型3、协议版本n、压缩方法n等)。
SSL VPN记录层协议传输数据的过程如下:接收将要被传输的数据,将数据分段、压缩(可选)、计算校验码、加密后传输。对接收到的数据(加密后的数据)进行解密、验证、解压缩(可选),重新封装后传输给高层应用。
S16、所述服务端接收所述客户端发送的所述第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数。
具体实施时,所述服务端接收所述客户端发送的所述第二HTTP请求,从本地SSLVPN协议中获取与任一所述第一安全参数相匹配的第二安全参数,将所述第二安全参数确定为协商的安全参数。
具体地,所述服务端接收到所述客户端发送的所述第二HTTP请求后,当根据所述第二HTTP请求中携带的会话标识确认所述客户端是与所述服务端进行会话的客户端后,所述服务端从本地SSL VPN协议中获取与任一所述第一安全参数相同的密钥和加密算法,记为第二安全参数,将所述第二安全参数确定为协商的安全参数。
S17、所述服务端利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识。
具体实施时,所述服务端利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源。
具体地,所述服务端基于SSL VPN记录层协议利用所述密钥和加密算法对所述客户端请求的数据资源进行加密,得到加密的数据资源,并生成数据加密标识,以标识所述加密的数据资源。
可选地,当客户端从本地SSL VPN协议中获取用于利用SSL VPN记录层协议进行数据加密传输所需的多个第一安全参数对应的标识符时,则所述服务端接收所述客户端发送的所述第二HTTP请求后,从本地SSL VPN协议中获取与任一所述第一安全参数对应的标识符相匹配的第二安全参数对应的标识符,将所述第二安全参数对应的标识符确定为协商的安全参数对应的标识符。
具体实施时,按照如图2所示的流程对客户端请求的数据资源进行加密,可以包括如下步骤:
S21、将客户端请求的数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,并将所述加密的数据资源存储至SSL VPN记录层协议栈中。
具体实施时,所述服务端将所述客户端请求的数据资源、所述服务端与所述客户端协商出的所述密钥和加密算法发送至SSL VPN记录层,所述SSL VPN记录层根据SSL VPN记录层协议利用所述密钥和加密算法对所述客户端请求的数据资源进行加密,得到加密的数据资源,所述SSL VPN记录层将所述加密的数据资源存储至SSL VPN记录层协议栈中。
S22、从所述SSL VPN记录层协议栈中提取所述加密的数据资源。
具体实施时,所述服务端从所述SSL VPN记录层协议栈的字节缓冲区提取出所述加密的数据资源。
S18、所述服务端将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端。
具体实施时,所述服务端将所述会话标识、与所述客户端协商出的所述密钥和加密算法、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端。
可选地,所述服务端还可以将所述会话标识、所述协商的安全参数对应的标识符、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端。
S19、所述客户端接收所述服务端返回的所述第二HTTP响应报文,当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源。
具体实施时,所述客户端接收所述服务端返回的所述第二HTTP响应报文,当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的所述客户端和所述服务端协商出的密钥和加密算法、以及加密的数据资源。
可选地,当所述第二HTTP中携带的是所述会话标识、所述协商的安全参数对应的标识符、所述加密的数据资源和所述数据加密标识时,所述客户端接收所述服务端返回的所述第二HTTP响应报文后,当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的所述协商的安全参数对应的标识符和所述加密的数据资源,并根据所述协商的安全参数对应的标识符从本地SSL VPN协议中获取相应的协商的安全参数。
S110、所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的数据资源。
具体实施时,所述客户端基于所述SSL VPN记录层协议利用与所述服务端协商的所述密钥和加密算法对应的解密算法、对所述加密的数据资源进行解密,获得请求的所述数据资源。
具体的,按照如图3所示的流程对所述加密的数据资源进行解密,可以包括以下步骤:
S31、将加密的数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSLVPN记录层根据SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法对所述加密的数据资源进行解密,得到所述请求的数据资源,并将所述请求的数据资源存储至SSLVPN记录层协议栈中。
具体实施时,所述客户端将加密的数据资源、所述客户端与所述服务端协商出的所述密钥和加密算法发送至SSL VPN记录层,所述SSL VPN记录层根据SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法、对所述加密的数据资源进行解密,得到所述客户端请求的数据资源,并将所述客户端请求的数据资源存储至SSL VPN记录层协议栈中。
S32、从所述SSL VPN记录层协议栈中提取所述请求的数据资源。
具体实施时,所述客户端从所述SSL VPN记录层协议栈中提取出所述客户端请求的数据资源。
S111、所述服务端将所述客户端请求的数据资源添加到第一HTTP响应报文中返回至所述客户端。
具体实施时,当所述服务端确定所述客户端请求的数据资源的安全等级小于预设阈值时,则直接将所述客户端请求的数据资源返回至所述客户端。
在另一种较佳的实施方式中,HTTP可以使用HTTPS(Hypertext TransferProtocol over Secure Socket Layer,超文本传输安全协议)代替,HTTP以明文方式传输数据,HTTPS是以安全为目标的HTTP通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS在HTTP的基础下加入SSL层,通过SSL完成对上层协议HTTP的加密,即对HTTP通信过程进行加密,使得数据传输过程更加安全。因此,本发明实施例中,可以使用HTTPS通信方式,更加安全地完成用于利用SSL VPN记录层协议进行数据加密传输所需的安全参数的协商和数据传输。使用HTTPS进行安全参数协商和数据传输的方式与本发明实施例中上述使用HTTP进行安全参数协商和数据传输的方式仅有一个步骤不同,由于HTTPS具备身份认证的功能,因此,使用HTTPS时无需创建会话标识来识别服务端和客户端的身份,其它步骤与使用HTTP时均相同,此处不作赘述。
本发明实施例提供的数据传输方法中,服务端接收客户端通过超文本传输协议发送的获取数据资源的第一HTTP请求,如果客户端请求的数据资源的安全等级大于等于预设阈值时,则创建数据加密标识以标识数据的传输方式为加密传输,以及创建会话标识以对所述服务端和所述客户端进行会话控制,所述服务端将创建的加密传输标识和会话标识添加到第一HTTP响应报文中返回给所述客户端,所述客户端接收到所述第一HTTP响应报文后,基于所述加密传输标识从本地SSL VPN协议中获取用于利用SSL VPN记录层协议进行数据加密传输所需的多个安全参数,记为第一安全参数,所述客户端将所述会话标识和所述多个第一安全参数添加到请求安全参数协商的第二HTTP请求中,并将所述第二HTTP请求发送给所述服务端以与所述服务端协商用于利用SSL VPN记录层协议进行数据加密传输所需的安全参数,所述服务端接收到所述第二HTTP请求后,从本地SSL VPN协议中获取与任一所述第一安全参数相匹配的第二安全参数,将所述第二安全参数确定为协商的安全参数,即为所述服务端与所述客户端协商出的安全参数,并利用协商出的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源,进而,服务端将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,所述客户端利用协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源。相比于现有技术,本发明实施例提供的数据传输方法中,服务端对客户端请求的数据资源不都采用加密传输方式进行传输,仅对安全等级大于等于预设阈值的数据资源进行加密传输,将安全等级小于预设阈值的数据资源直接返回给客户端,从而节约了网络资源,当客户端请求的数据资源的安全等级大于等于预设阈值时,服务端通过创建数据加密标识以标识客户端和服务端之间采用加密传输的方式进行数据传输,当服务端确定与客户端需要进行数据加密传输时,创建会话标识,利用会话控制技术实现客户端与服务端在数据传输过程中的认证识别,并且,通过超文本传输协议完成服务端和客户端利用SSL VPN记录层协议进行数据加密传输时所需的安全参数的协商,相比于现有技术,本发明实施中,数据加密传输过程中无需通过SSL VPN握手协议进行SSL VPN记录层的安全参数的协商,仅通过客户端与服务端进行数据交互所使用的超文本传输协议即可完成所述安全参数的协商,节约了网络资源,提高了数据传输效率。
基于同一发明构思,本发明实施例还提供了一种服务端侧实施的数据传输方法,由于上述服务端侧实施的数据传输方法解决问题的原理与上述数据传输方法相似,因此所述服务端侧实施的数据传输方法的实施可以参见上述数据传输方法的实施,重复之处不再赘述。
如图4所示,其为本发明实施例提供的服务端侧实施的数据传输方法的实施流程示意图,可以包括以下步骤:
S41、接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求。
S42、创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端。
所述数据加密传输标识表征数据的传输方式为加密传输,所述会话标识用于标识与所述客户端进行会话。
S43、接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数。
所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
S44、利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识。
所述数据加密标识用于标识所述加密的数据资源。
S45、将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。
较佳地,所述第二HTTP请求中还携带有所述客户端基于所述加密传输标识从本地SSL VPN协议中获取的多个第一安全参数;
根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,具体包括:
从本地SSL VPN协议中获取与任一所述第一安全参数相匹配的第二安全参数;
将所述第二安全参数确定为协商的安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,具体包括:
基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述客户端请求的数据资源进行加密,得到加密的数据资源。
较佳地,基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,具体包括:
将所述数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,并将所述加密的数据资源存储至SSL VPN记录层协议栈中;
从所述SSL VPN记录层协议栈中提取所述加密的数据资源。
可选地,在创建数据加密传输标识和会话标识之前,还包括:
确定所述客户端请求的数据资源的安全等级大于等于预设阈值。
基于同一发明构思,本发明实施例还提供了一种客户端侧实施的数据传输方法,由于上述客户端侧实施的数据传输方法解决问题的原理与上述数据传输方法相似,因此所述客户端侧实施的数据传输方法的实施可以参见上述数据传输方法的实施,重复之处不再赘述。
如图5所示,其为本发明实施例提供的客户端侧实施的数据传输方法的实施流程示意图,可以包括以下步骤:
S51、通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求。
S52、接收所述服务端返回的第一HTTP响应报文。
S53、当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求。
所述会话标识用于标识与所述服务端进行会话,所述数据加密传输标识表征数据的传输方式为加密传输,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数。
S54、接收所述服务端返回的第二HTTP响应报文。
S55、当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源。
所述加密的数据资源为所述服务端利用所述协商的安全参数对所述请求的数据进行加密后获得的。
可选地,在向所述服务端发送请求安全参数协商的第二HTTP请求之前,还包括:
从本地SSL VPN协议中获取多个第一安全参数,并将所述多个第一安全参数添加到所述第二HTTP请求中。
较佳地,所述协商的安全参数为所述服务端从本地SSL VPN协议中获取的与任一所述第一安全参数相匹配的第二安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,具体包括:
基于所述SSL VPN记录层协议利用所述密钥和加密算法对应的解密算法对所述加密的数据资源进行解密,获得请求的所述数据资源。
较佳地,基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述加密的数据资源进行解密,获得所述请求的数据资源,具体包括:
将所述加密的数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSLVPN记录层根据所述SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法对所述加密的数据资源进行解密,得到所述请求的数据资源,并将所述请求的数据资源存储至SSL VPN记录层协议栈中;
从所述SSL VPN记录层协议栈中提取所述请求的数据资源。
基于同一发明构思,本发明实施例还提供了一种服务端,由于上述服务端解决问题的原理与上述数据传输方法相似,因此所述服务端的实施可以参见上述数据传输方法的实施,重复之处不再赘述。
如图6所示,其为本发明实施例提供的服务端的结构示意图,可以包括:
接收单元61,用于接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求;
创建单元62,用于创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端,所述数据加密传输标识表征数据的传输方式为加密传输,所述会话标识用于标识与所述客户端进行会话;
协商单元63,用于接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
加密单元64,用于利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源;
响应单元65,用于将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。
较佳地,所述第二HTTP请求中还携带有所述客户端基于所述加密传输标识从本地SSL VPN协议中获取的多个第一安全参数;
所述协商单元63,具体用于从本地SSL VPN协议中获取与任一所述第一安全参数相匹配的第二安全参数;将所述第二安全参数确定为协商的安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
所述加密单元64,具体用于基于所述SSL VPN记录层协议利用所述密钥和加密算法对所述客户端请求的数据资源进行加密,得到加密的数据资源。
较佳地,所述加密单元64,具体用于将所述数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,并将所述加密的数据资源存储至SSLVPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述加密的数据资源。
可选地,所述服务端还包括确定单元;
所述确定单元,用于在创建数据加密传输标识和会话标识之前,确定所述客户端请求的数据资源的安全等级大于等于预设阈值。
基于同一发明构思,本发明实施例还提供了一种客户端,由于上述客户端解决问题的原理与上述数据传输方法相似,因此所述客户端的实施可以参见上述数据传输方法的实施,重复之处不再赘述。
如图7所示,其为本发明实施例提供的客户端的结构示意图,可以包括:
第一发送单元71,用于通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求;
第一接收单元72,用于接收所述服务端返回的第一HTTP响应报文;
第二发送单元73,用于当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求,所述会话标识用于标识与所述服务端进行会话,所述数据加密传输标识表征数据的传输方式为加密传输,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
第二接收单元74,用于接收所述服务端返回的第二HTTP响应报文;
解密单元75,用于当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,所述加密的数据资源为所述服务端利用所述协商的安全参数对所述请求的数据进行加密后获得的。
可选地,所述客户端还包括获取单元;
所述获取单元,用于在向所述服务端发送请求安全参数协商的第二HTTP请求之前,从本地SSL VPN协议中获取多个第一安全参数,并将所述多个第一安全参数添加到所述第二HTTP请求中。
较佳地,所述协商的安全参数为所述服务端从本地SSL VPN协议中获取的与任一所述第一安全参数相匹配的第二安全参数。
较佳地,所述协商的安全参数包括密钥和加密算法;
所述解密单元75,具体用于基于所述SSL VPN记录层协议利用所述密钥和加密算法对应的解密算法对所述加密的数据资源进行解密,获得请求的所述数据资源。
较佳地,所述解密单元75,具体用于将所述加密的数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法对所述加密的数据资源进行解密,得到所述请求的数据资源,并将所述请求的数据资源存储至SSL VPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述请求的数据资源。
基于同一技术构思,本发明实施例还提供了一种电子设备800,参照图8所示,电子设备800用于实施上述方法实施例记载的数据传输方法,该实施例的电子设备800可以包括:存储器801、处理器802以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如数据传输程序。所述处理器执行所述计算机程序时实现上述各个数据传输方法实施例中的步骤,例如图4所示的步骤S41。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如61。
本发明实施例中不限定上述存储器801、处理器802之间的具体连接介质。本申请实施例在图8中以存储器801、处理器802之间通过总线803连接,总线803在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线803可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器801可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器801也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive, HDD)或固态硬盘(solid-state drive, SSD)、或者存储器801是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器801可以是上述存储器的组合。
处理器802,用于实现如图4所示的一种服务端侧实施的数据传输方法,包括:
所述处理器802,用于调用所述存储器801中存储的计算机程序执行如图4中所示的步骤S41、接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求,步骤S42、创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端,步骤S43、接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,步骤S44、利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,和步骤S45、将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。
或者处理器802,用于实现如图5所示的一种客户端侧实施的数据传输方法,包括:
所述处理器802,用于调用所述存储器801中存储的计算机程序执行如图5中所示的步骤S51、通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求,步骤S52、接收所述服务端返回的第一HTTP响应报文,步骤S53、当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求,步骤S54、接收所述服务端返回的第二HTTP响应报文,和步骤S55、当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源。
本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。
在一些可能的实施方式中,本发明提供的数据传输方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本发明各种示例性实施方式的数据传输方法中的步骤,例如,所述电子设备可以执行如图4中所示的步骤S41、接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求,步骤S42、创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端,步骤S43、接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,步骤S44、利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,和步骤S45、将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。或者所述电子设备可以执行如图5中所示的步骤S51、通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求,步骤S52、接收所述服务端返回的第一HTTP响应报文,步骤S53、当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求,步骤S54、接收所述服务端返回的第二HTTP响应报文,和步骤S55、当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本发明的实施方式的用于数据传输的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种数据传输方法,其特征在于,包括:
接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求;
创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端,所述数据加密传输标识表征数据的传输方式为加密传输,所述会话标识用于标识与所述客户端进行会话;
接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数,所述协商的安全参数包括密钥和加密算法;
利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源;利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,具体包括:将所述数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,并将所述加密的数据资源存储至SSL VPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述加密的数据资源;
将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。
2.如权利要求1所述的方法,其特征在于,所述第二HTTP请求中还携带有所述客户端基于所述加密传输标识从本地SSL VPN协议中获取的多个第一安全参数;
根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,具体包括:
从本地SSL VPN协议中获取与任一所述第一安全参数相匹配的第二安全参数;
将所述第二安全参数确定为协商的安全参数。
3.如权利要求1所述的方法,其特征在于,在创建数据加密传输标识和会话标识之前,还包括:
确定所述客户端请求的数据资源的安全等级大于等于预设阈值。
4.一种数据传输方法,其特征在于,包括:
通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求;
接收所述服务端返回的第一HTTP响应报文;
当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求,所述会话标识用于标识与所述服务端进行会话,所述数据加密传输标识表征数据的传输方式为加密传输,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
接收所述服务端返回的第二HTTP响应报文;
当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,所述加密的数据资源为所述服务端利用所述协商的安全参数对所述请求的数据进行加密后获得的,所述协商的安全参数包括密钥和加密算法;利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,具体包括:将所述加密的数据资源、所述密钥和加密算法发送至SSLVPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法对所述加密的数据资源进行解密,得到所述请求的数据资源,并将所述请求的数据资源存储至SSL VPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述请求的数据资源。
5.如权利要求4所述的方法,其特征在于,在向所述服务端发送请求安全参数协商的第二HTTP请求之前,还包括:
从本地SSL VPN协议中获取多个第一安全参数,并将所述多个第一安全参数添加到所述第二HTTP请求中。
6.如权利要求5所述的方法,其特征在于,所述协商的安全参数为所述服务端从本地SSL VPN协议中获取的与任一所述第一安全参数相匹配的第二安全参数。
7.一种服务端,其特征在于,包括:
接收单元,用于接收客户端通过超文本传输协议HTTP发送的获取数据资源的第一HTTP请求;
创建单元,用于创建数据加密传输标识和会话标识,并将所述加密传输标识和所述会话标识添加到第一HTTP响应报文中返回至所述客户端,所述数据加密传输标识表征数据的传输方式为加密传输,所述会话标识用于标识与所述客户端进行会话;
协商单元,用于接收所述客户端发送的请求安全参数协商的第二HTTP请求,根据所述第二HTTP请求与所述客户端进行安全参数协商,确定协商的安全参数,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数,所述协商的安全参数包括密钥和加密算法;
加密单元,用于利用所述协商的安全参数对所述客户端请求的数据资源进行加密得到加密的数据资源,并生成数据加密标识,所述数据加密标识用于标识所述加密的数据资源;
所述加密单元,具体用于将所述数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和加密算法对所述数据资源进行加密,得到加密的数据资源,并将所述加密的数据资源存储至SSL VPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述加密的数据资源;
响应单元,用于将所述会话标识、所述协商的安全参数、所述加密的数据资源和所述数据加密标识添加到第二HTTP响应报文中返回至所述客户端,以使所述客户端利用所述协商的安全参数对所述加密的数据资源进行解密后获得请求的所述数据资源。
8.如权利要求7所述的服务端,其特征在于,所述第二HTTP请求中还携带有所述客户端基于所述加密传输标识从本地SSL VPN协议中获取的多个第一安全参数;
所述协商单元,具体用于从本地SSL VPN协议中获取与任一所述第一安全参数相匹配的第二安全参数;将所述第二安全参数确定为协商的安全参数。
9.如权利要求7所述的服务端,其特征在于,还包括确定单元;
所述确定单元,用于在创建数据加密传输标识和会话标识之前,确定所述客户端请求的数据资源的安全等级大于等于预设阈值。
10.一种客户端,其特征在于,包括:
第一发送单元,用于通过超文本传输协议HTTP向服务端发送获取数据资源的第一HTTP请求;
第一接收单元,用于接收所述服务端返回的第一HTTP响应报文;
第二发送单元,用于当确定所述第一HTTP响应报文中包含会话标识和数据加密传输标识时,向所述服务端发送请求安全参数协商的第二HTTP请求,所述会话标识用于标识与所述服务端进行会话,所述数据加密传输标识表征数据的传输方式为加密传输,所述第二HTTP请求中携带有所述会话标识,所述安全参数为用于利用基于安全套接层协议建立远程安全访问通道的虚拟专用网络SSL VPN记录层协议进行数据加密传输所需的安全参数;
第二接收单元,用于接收所述服务端返回的第二HTTP响应报文;
解密单元,用于当确定所述第二HTTP响应报文中包含所述会话标识和所述数据加密标识时,获取所述第二HTTP响应报文中的协商的安全参数和加密的数据资源,并利用所述协商的安全参数对所述加密的数据资源进行解密,获得请求的所述数据资源,所述加密的数据资源为所述服务端利用所述协商的安全参数对所述请求的数据进行加密后获得的,所述协商的安全参数包括密钥和加密算法;
所述解密单元,具体用于将所述加密的数据资源、所述密钥和加密算法发送至SSL VPN记录层,由所述SSL VPN记录层根据所述SSL VPN记录层协议利用所述密钥和所述加密算法对应的解密算法对所述加密的数据资源进行解密,得到所述请求的数据资源,并将所述请求的数据资源存储至SSL VPN记录层协议栈中;从所述SSL VPN记录层协议栈中提取所述请求的数据资源。
11.如权利要求10所述的客户端,其特征在于,还包括获取单元;
所述获取单元,用于在向所述服务端发送请求安全参数协商的第二HTTP请求之前,从本地SSL VPN协议中获取多个第一安全参数,并将所述多个第一安全参数添加到所述第二HTTP请求中。
12.如权利要求11所述的客户端,其特征在于,所述协商的安全参数为所述服务端从本地SSL VPN协议中获取的与任一所述第一安全参数相匹配的第二安全参数。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~6任一项所述的数据传输方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~6任一项所述的数据传输方法中的步骤。
CN202010728889.0A 2020-07-27 2020-07-27 一种数据传输方法、服务端和客户端 Active CN111600914B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010728889.0A CN111600914B (zh) 2020-07-27 2020-07-27 一种数据传输方法、服务端和客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010728889.0A CN111600914B (zh) 2020-07-27 2020-07-27 一种数据传输方法、服务端和客户端

Publications (2)

Publication Number Publication Date
CN111600914A CN111600914A (zh) 2020-08-28
CN111600914B true CN111600914B (zh) 2020-11-24

Family

ID=72184616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010728889.0A Active CN111600914B (zh) 2020-07-27 2020-07-27 一种数据传输方法、服务端和客户端

Country Status (1)

Country Link
CN (1) CN111600914B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511597B (zh) * 2020-11-06 2022-07-01 杭州迪普科技股份有限公司 一种复用tls连接的方法及装置
CN112565217B (zh) * 2020-11-26 2023-01-10 北京天融信网络安全技术有限公司 基于协议的混淆通信方法及客户终端、服务器、存储介质
CN112769868A (zh) * 2021-02-07 2021-05-07 深圳市欧瑞博科技股份有限公司 通信方法、装置、电子设备及存储介质
CN113438071B (zh) * 2021-05-28 2024-04-09 荣耀终端有限公司 安全通信的方法及设备
CN115941258A (zh) * 2022-10-26 2023-04-07 山东浪潮科学研究院有限公司 边缘计算任务分发方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656861A (zh) * 2009-12-18 2012-09-05 诺基亚公司 因特网协议移动性安全控制
CN103312682A (zh) * 2012-03-16 2013-09-18 中兴通讯股份有限公司 网关安全接入的方法及系统
CN103490891A (zh) * 2013-08-23 2014-01-01 中国科学技术大学 一种电网ssl vpn中密钥更新和使用的方法
CN104735058A (zh) * 2015-03-04 2015-06-24 深信服网络科技(深圳)有限公司 一种基于安全协议ssl的加密方法及系统
CN108566361A (zh) * 2018-01-05 2018-09-21 武汉信安珞珈科技有限公司 一种基于ssl/tls协议的安全参数协商方法和系统
US10142301B1 (en) * 2014-09-17 2018-11-27 Amazon Technologies, Inc. Encrypted data delivery without intervening decryption

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270791B (zh) * 2018-01-30 2020-07-07 飞天诚信科技股份有限公司 一种安全运行可执行文件的方法及系统
CN110033265B (zh) * 2019-02-19 2020-09-11 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法、节点和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102656861A (zh) * 2009-12-18 2012-09-05 诺基亚公司 因特网协议移动性安全控制
CN103312682A (zh) * 2012-03-16 2013-09-18 中兴通讯股份有限公司 网关安全接入的方法及系统
CN103490891A (zh) * 2013-08-23 2014-01-01 中国科学技术大学 一种电网ssl vpn中密钥更新和使用的方法
US10142301B1 (en) * 2014-09-17 2018-11-27 Amazon Technologies, Inc. Encrypted data delivery without intervening decryption
CN104735058A (zh) * 2015-03-04 2015-06-24 深信服网络科技(深圳)有限公司 一种基于安全协议ssl的加密方法及系统
CN108566361A (zh) * 2018-01-05 2018-09-21 武汉信安珞珈科技有限公司 一种基于ssl/tls协议的安全参数协商方法和系统

Also Published As

Publication number Publication date
CN111600914A (zh) 2020-08-28

Similar Documents

Publication Publication Date Title
CN111600914B (zh) 一种数据传输方法、服务端和客户端
CN107404461B (zh) 数据安全传输方法、客户端及服务端方法、装置及系统
CN110380852B (zh) 双向认证方法及通信系统
US10951595B2 (en) Method, system and apparatus for storing website private key plaintext
CN110768787B (zh) 一种数据加密、解密方法及装置
US11303431B2 (en) Method and system for performing SSL handshake
WO2016107320A1 (zh) 网站安全信息的加载方法和浏览器装置
WO2016107319A1 (zh) 加载安全密钥存储硬件的方法和浏览器客户端装置
US10749667B2 (en) System and method for providing satellite GTP acceleration for secure cellular backhaul over satellite
CN111628976B (zh) 一种报文处理方法、装置、设备及介质
WO2016107321A1 (zh) 安全通信系统
US20100191954A1 (en) Method and apparatus for transmitting message in heterogeneous federated environment, and method and apparatus for providing service using the message
CN113438071A (zh) 安全通信的方法及设备
CN105491073B (zh) 一种数据下载方法、装置及系统
TW201926943A (zh) 資料傳輸方法及系統
CN113132394B (zh) 一种请求处理系统、方法、装置、存储介质及电子设备
CN114338844B (zh) 一种客户端服务器之间的跨协议通信方法及装置
CN116614280A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN113613227B (zh) 蓝牙设备的数据传输方法和装置、存储介质及电子装置
CN103716280A (zh) 数据传输方法、服务器及系统
CN114154181A (zh) 基于分布式存储的隐私计算方法
CN115348015A (zh) 安全接入方法及装置、计算机可读存储介质、电子设备
CN114978769A (zh) 单向导入装置、方法、介质、设备
CN116830525A (zh) 数据传输方法、装置、系统、电子设备及可读介质
CN114039723A (zh) 一种共享密钥的生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant