CN107465506A - 用于加密传输数据的客户端、服务器、网络系统及方法 - Google Patents

用于加密传输数据的客户端、服务器、网络系统及方法 Download PDF

Info

Publication number
CN107465506A
CN107465506A CN201710852517.7A CN201710852517A CN107465506A CN 107465506 A CN107465506 A CN 107465506A CN 201710852517 A CN201710852517 A CN 201710852517A CN 107465506 A CN107465506 A CN 107465506A
Authority
CN
China
Prior art keywords
network
message
data
response
server
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.)
Pending
Application number
CN201710852517.7A
Other languages
English (en)
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 Knownsec Information Technology Co Ltd
Original Assignee
Beijing Knownsec Information Technology 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 Knownsec Information Technology Co Ltd filed Critical Beijing Knownsec Information Technology Co Ltd
Priority to CN201710852517.7A priority Critical patent/CN107465506A/zh
Publication of CN107465506A publication Critical patent/CN107465506A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage

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

本发明公开了一种客户端,包括:网络适配器,包括至少一个网络端口,并适于经由网络端口发送报文;存储模块,适于存储与服务器预先协商的密钥;第一报文处理模块,适于根据网络传输协议生成目的地址为服务器的第一网络报文,网络传输协议为HTTP协议,第一网络报文包括待加密传输的数据;第二报文处理模块,适于接收第一网络报文;利用密钥对待加密传输的数据进行加密,以得到相应的加密数据;基于第一网络报文和加密数据生成第二网络报文,第二网络报文的目的地址为服务器、并包括加密数据;经由网络适配器发送第二网络报文到所述服务器。本发明还公开了对应的服务器、网络系统和方法。

Description

用于加密传输数据的客户端、服务器、网络系统及方法
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种用于加密传输数据的客户端、服务器、网络系统及方法。
背景技术
随着网络通信技术的迅速发展、互联网应用的持续深化、所承载信息的日益丰富,互联网已成为人类社会重要的基础设施。其中,网络上的数据传输安全也引起了广泛关注。
现有的加密通信技术,例如基于HTTPS协议的加密通信技术,在进行加密传输之前,需要先协商加密算法、验证身份等等,这些操作都是明文,易被外部识别。不法分子通过这些明文的加密特征很容易将流量识别为加密传输的流量,从而进行有针对性的破译。为了避免被识别,传统的思路是试图消除加密特征,但该方法效果不佳。
因此,迫切需要一种更先进的、不会被轻易识别为加密传输的加密数据传输方案。
发明内容
为此,本发明提供一种用于加密传输数据的客户端、服务器、网络系统及方法,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种客户端,驻留在网络系统中,网络系统还包括服务器,服务器与客户端预先协商用于数据加密和解密的密钥,客户端包括:网络适配器,包括至少一个网络端口,并适于经由网络端口发送报文;存储模块,适于存储与服务器预先协商的密钥;第一报文处理模块,适于根据网络传输协议生成目的地址为服务器的第一网络报文,网络传输协议为HTTP协议,第一网络报文包括待加密传输的数据;以及第二报文处理模块,适于接收所述第一网络报文;利用密钥对待加密传输的数据进行加密,以得到相应的加密数据;基于第一网络报文和加密数据生成第二网络报文,第二网络报文的目的地址为服务器、并包括加密数据;经由网络适配器发送第二网络报文到服务器。
在根据本发明的客户端中,第一报文处理模块还适于对于目的地址不是服务器的网络报文,经由网络适配器发送该网络报文。
在根据本发明的客户端中,网络适配器还适于经由网络端口接收报文;第一报文处理模块适于经由网络适配器接收响应报文,并按照网络传输协议解析得到响应报文中的网络数据;选择第二响应报文进行解析,第二响应报文是服务器响应于第二网络报文而返回的网络报文,并包括加密响应数据;将解析得到的加密响应数据发送至第二报文处理模块;第二报文处理模块还适于利用密钥对加密响应数据进行解密,以得到原始响应数据。
在根据本发明的客户端中,存储模块还适于存储第二网络报文的生成记录;第一报文处理模块还适于在接收响应报文之后,根据存储模块中是否存在该响应报文所响应的网络报文的生成记录来判断响应报文是否为第二响应报文。
在根据本发明的客户端中,第二报文处理模块还适于在生成第二网络报文之后,创建对应的生成记录。
在根据本发明的客户端中,第二报文处理模块还适于将第一网络报文的网络数据替换为加密数据。
在根据本发明的客户端中,第二报文处理模块还适于修改第一网络报文的Host字段。
根据本发明的另一个方面,提供了一种服务器,驻留在网络系统中,网络系统还包括客户端,客户端与服务器预先协商用于数据加密和解密的密钥,服务器包括:网络适配器,包括至少一个网络端口,并适于经由网络端口接收报文;存储模块,适于存储与客户端预先协商的密钥;第一报文处理模块,适于经由网络适配器接收网络报文,并按照网络传输协议解析得到网络报文中的网络数据,网络传输协议为HTTP协议;从所接收的网络报文中选择第二网络报文,将第二网络报文中解析得到的加密数据发送至第二报文处理模块,第二网络报文来自客户端、并包括加密数据;第二报文处理模块,适于利用密钥对加密数据进行解密,以得到原始的数据。
在根据本发明的服务器中,第一报文处理模块还适于在接收网络报文之后,根据网络报文中的Host字段来判断该网络报文是否为第二网络报文。
在根据本发明的服务器中,网络适配器还适于经由网络端口发送报文;第一报文处理模块还适于在接收网络报文之后,根据网络传输协议生成响应于网络报文的响应报文;从所生成的响应报文中选择第一响应报文,将该第一响应报文发送至第二报文处理模块,第一响应报文响应于第二网络报文,并包括原始响应数据;第二报文处理模块还适于利用密钥对原始响应数据进行加密,以得到相应的加密响应数据;基于第一响应报文和加密响应数据生成第二响应报文,第二响应报文响应于第二网络报文、并包括加密响应数据;经由网络适配器发送第二响应报文到客户端。
在根据本发明的服务器中,第二报文处理模块还适于将第一响应报文的网络数据替换为加密响应数据。
在根据本发明的服务器中,第一报文处理模块还适于在生成响应报文之后,对于不是响应于第二网络报文的响应报文,经由网络适配器发送该响应报文。
根据本发明的另一个方面,提供了一种网络系统,包括:根据本发明的客户端,以及根据本发明的服务器。
根据本发明的另一个方面,提供了一种用于在网络系统中加密传输数据的方法,适于在网络系统中的客户端中执行,网络系统还包括服务器,服务器与客户端预先协商并存储用于数据加密和解密的密钥,该方法包括:根据网络传输协议生成目的地址为服务器的第一网络报文,网络传输协议为HTTP协议,第一网络报文包括待加密传输的数据;利用密钥对待加密传输的数据进行加密,以得到相应的加密数据;基于第一网络报文和加密数据生成第二网络报文,第二网络报文的目的地址为服务器、并包括加密数据;以及经由客户端的网络适配器发送第二网络报文到所述服务器。
在根据本发明的方法中,还包括步骤:在生成网络报文之后,对于目的地址不是服务器的网络报文,经由客户端的网络适配器发送该网络报文。
在根据本发明的方法中,还包括步骤:经由网络适配器接收响应报文,并按照网络传输协议解析得到响应报文中的网络数据;选择第二响应报文进行解析,第二响应报文是服务器响应于第二网络报文而返回的网络报文、其包括加密响应数据;利用密钥对解析得到的加密响应数据进行解密,以得到原始响应数据。
在根据本发明的方法中,客户端还存储第二网络报文的生成记录,方法还包括步骤:在接收响应报文之后,根据客户端中是否存在该响应报文所响应的网络报文的生成记录来判断响应报文是否为第二响应报文。
在根据本发明的方法中,还包括步骤:在生成第二网络报文之后,创建对应的生成记录。
在根据本发明的方法中,基于第一网络报文和加密数据生成第二网络报文的步骤包括:将第一网络报文的网络数据替换为加密数据。
在根据本发明的方法中,基于第一网络报文和加密数据生成第二网络报文的步骤还包括:修改第一网络报文中的Host字段。
根据本发明的另一个方面,提供了一种用于在网络系统中加密传输数据的方法,适于在网络系统中的服务器中执行,网络系统还包括客户端,客户端与服务器预先协商并存储用于数据加密和解密的密钥,方法包括:经由服务器的网络适配器接收网络报文,并按照网络传输协议解析得到网络报文中的网络数据,网络传输协议为HTTP协议;从所接收的网络报文中选择第二网络报文,第二网络报文来自客户端、网络数据为加密数据;以及利用密钥对解析得到的加密数据进行解密,以得到原始的数据。
在根据本发明的方法中,还包括步骤:在接收网络报文之后,根据网络报文中的Host字段来判断网络报文是否为第二网络报文。
在根据本发明的方法中,还包括步骤:在接收网络报文之后,根据网络传输协议生成响应于该网络报文的响应报文;从所生成的响应报文中选择第一响应报文,第一响应报文响应于第二网络报文,并包括原始响应数据;利用密钥对原始响应数据进行加密,以得到相应的加密响应数据;基于第一响应报文和加密响应数据生成第二响应报文,第二响应报文响应于第二网络报文、并包括加密响应数据;经由服务器的网络适配器发送第二响应报文到所述客户端
在根据本发明的方法中,基于第一响应报文和加密响应数据生成第二响应报文的步骤包括:将第一响应报文的网络数据替换为加密响应数据。
在根据本发明的方法中,还包括步骤:在生成响应报文之后,对于不是响应于第二网络报文的响应报文,经由服务器的网络适配器发送该响应报文。
根据本发明的加密数据传输方案,通过在网络系统的客户端和服务器处,对待加密传输的数据按照非加密的网络传输协议生成报文,再基于该报文和加密数据生成新的报文并发送,从而将报文伪装成具有明显的非加密协议特征、但实际承载加密数据的报文,这样该报文能够隐藏在网络上的海量报文中,有效的避免了被诸如防火墙之类的网络设备识别并针对性破译的情况。进一步地,本发明同时支持正常报文处理。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示例性地示出根据本发明一个实施方式的网络系统100的结构框图;
图2示例性地示出计算设备200的结构框图;
图3示例性地示出根据本发明一个实施方式的客户端120的结构框图;
图4示例性地示出了根据本发明一个实施方式的服务器140的结构框图;
图5示例性地示出根据本发明一个实施方式的用于在网络系统100中加密传输数据的方法500的流程图;以及
图6示例性地示出根据本发明一个实施方式的用于在网络系统100中加密传输数据的方法600的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示例性示出根据本发明一个实施方式的网络系统100的结构框图。如图1所示,该网络系统100包括至少一个客户端120(图1所示客户端100的数目仅为示例)、以及服务器140,客户端120和服务器140可以经由互联网进行通信,并预先协商用于数据加密和解密的密钥。
通常地,根据本发明的客户端120可以实现为在诸如桌面型计算机和膝上型计算机等等之类的计算设备(如图2所示)中执行的程序(如图2所示的计算设备200中的程序222的一种),也可以实现为在移动终端(未示出)中执行处理的程序。根据本发明的服务器140可以实现为诸如文件服务器、数据库服务器、应用程序服务器和网络服务器等等之类的计算设备(也如图2所示)。
图2示例性地示出计算设备200的结构框图。在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个程序222以及数据224。数据224可以包括可用于执行指令的程序数据228。在一些实施方式中,程序222可以被配置为在操作系统220上由一个或者多个处理器204利用程序数据228执行指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
下面结合图3对根据本发明一个实施方式的客户端120发送网络报文的过程进行描述。
如图3所示,客户端120包括网络适配器122、存储模块124、第一报文处理模块126和第二报文处理模块128。其中,网络适配器122包括至少一个网络端口,并适于经由该网络端口来发送和接收报文。存储模块124则适于存储客户端120与服务器140预先协商的用于数据加密和解密的密钥。
当客户端120要对外传输数据时,第一报文处理模块126适于根据网络传输协议生成网络报文,这里的网络传输协议是一种具有非加密协议特征的、明文传输的协议,通常为HTTP协议。按照HTTP协议生成的网络报文可以包括起始行(request line)、头部(header)和网络数据(body),网络数据则为待对外传输的数据。
根据对外传输的数据,生成的网络报文可以包括两种,第一种为基于待加密传输的数据的第一网络报文,第一网络报文的目的地址为服务器140,即目的IP地址和目的端口分别为服务器140的IP地址和端口,同时第一网络报文包含的网络数据为待加密传输的数据。第二种则是目的地址不是服务器140的网络报文,也就是说,其网络数据遵循正常的网络传输协议进行传输。
根据本发明的一个实施方式,对于目的地址不是服务器140的网络报文,第一报文处理模块126可以直接经由网络适配器122发送该网络报文。
而对于第一网络报文,第一报文处理模块126将该第一网络报文发送至第二报文处理模块128。
第二报文处理模块128适于利用存储模块124存储的用于数据加密的密钥,来对待加密传输的数据进行加密,以得到相应的加密数据。其中,加密算法(同样也用于解密)可以是诸如AES-256-cfb之类的对称加密算法,也可以是其他加密算法,本发明对此不做限制。例如,原始的数据为“0x01 0x08 0x08 0x08 0x00 0x50”,使用密钥“abc”经过AES-256-cfb算法加密得到的加密数据为“0xbb 0x59 0x1c 0x4a 0xb9 0x0a 0x91 0xdc 0x07 0xef0x72 0x05 0x90 0x42 0xca 0x0d 0x4c 0x3b 0x87 0x8e 0xca 0xab 0x32”。
在接收第一报文处理模块126发送的第一网络报文之后,第二报文处理模块128基于接收到的第一网络报文和得到的加密数据生成第二网络报文。第二网络报文与第一网络报文的目的地址相同,均为服务器160,二者的区别是第二网络报文的网络数据为加密数据,第一网络报文的网络数据为原始的数据。具体地,可以通过将第一网络报文的网络数据替换为加密数据,来得到第二网络报文。
为了便于服务器识别出第二网络报文,需要对第二网络报文和其他网络报文进行区分,根据本发明的另一个实施方式,第二报文处理模块128还可以修改第一网络报文的请求头部中的Host字段。可以理解地,第一网络报文的请求头部中的Host字段为服务器140的主机名,那么可以将其修改为其他服务器的主机名,据此来标识出第二网络报文。
这样,最后生成的第二网络报文与第一网络报文的区别在于第二网络报文的网络数据为加密数据、以及第二网络报文的请求头部中的Host字段不为服务器140的主机名,其他均相同。
生成第二网络报文之后,第二报文处理模块128经由网络适配器122发送第二网络报文。
下面结合图4对根据本发明一个实施方式的服务器140接收网络报文并返回响应报文的过程进行描述。
如图4所示,服务器140包括网络适配器142、存储模块144、第一报文处理模块146和第二报文处理模块148。其中,网络适配器142包括至少一个网络端口,并适于经由该网络端口来发送和接收报文。存储模块144则适于存储客户端120与服务器140预先协商的用于数据加密和解密的密钥。
第一报文处理模块146适于经由网络适配器142接收网络报文,并按照上文所述的网络传输协议(通常为HTTP协议)解析得到网络报文中的网络数据。当接收到的网络报文为来自客户端120、包括加密数据的第二网络报文时,解析得到的是加密数据,无法进行后续处理。当接收到的网络报文不是第二网络报文时,解析得到的是明文的原始数据,可以直接进行后续处理。
根据本发明的一个实施方式,第一报文处理模块146在接收网络报文之后,可以根据网络报文中的Host字段来判断该网络报文是否为第二网络报文。具体地,当网络报文的请求头部中的Host字段不为服务器140的主机名时,则确定该网络报文为第二网络报文,否则不为第二网络报文。
对于第二网络报文,第一报文处理模块146适于将解析得到的加密数据发送至第二报文处理模块148。
第二报文处理模块148接收第一报文处理模块146发送的加密数据,利用存储模块144存储的用于数据解密的密钥,来对加密数据进行解密,以得到原始的数据。这样,后续就可以对解密后的数据进行处理,例如获取对应的响应数据。
根据本发明的一个实施方式,当服务器140要返回响应数据时,第一报文处理模块146可以根据上述网络传输协议生成响应于网络报文的响应报文。其中,可以根据网络传输协议生成响应于第二网络报文的第一响应报文,第一响应报文包括原始响应数据。
对于第一响应报文,第一报文处理模块146可以将该第一响应报文发送至第二报文处理模块148。
第二报文处理模块148可以利用存储模块144存储的用于数据加密的密钥,来对原始响应数据进行加密,以得到相应的加密响应数据。而后基于第一响应报文和加密响应数据生成第二响应报文。得到的第二响应报文也响应于第二网络报文、并包括加密响应数据。具体可以通过将第一响应报文的网络数据替换为加密响应数据来得到第二响应报文。
最后,第二报文处理模块148可以经由网络适配器142发送第二响应报文到客户端120。其中的加密和解密算法与客户端120采用的相同,具体不再赘述。
根据本发明的一个实施方式,第二报文处理模块148在生成响应报文之后,对于不是响应于第二网络报文的响应报文,经由网络适配器142发送该响应报文。
下面继续结合图3对根据本发明一个实施方式的客户端120接收响应报文的过程进行描述。
第一报文处理模块126可以经由网络适配器122接收响应报文,并按照网络传输协议解析得到响应报文中的网络数据。
当接收到的响应报文为服务器140响应第二网络报文而返回的、并包括加密响应数据的第二响应报文时,解析得到的是加密响应数据,无法进行后续处理。当接收到的网络报文不是第二响应报文时,解析得到的是明文的原始响应数据,可以直接进行后续处理。
根据本发明的一个实施方式,存储模块124还可以存储第二网络报文的生成记录,第二报文处理模块128在生成第二网络报文之后,可以在存储模块124中创建对应的生成记录。
这样,第一报文处理模块126可以在接收响应报文之后,根据存储模块124中是否存在该响应报文所响应的网络报文的生成记录来判断响应报文是否为第二响应报文。具体来说,查询存储模块124中是否存在该响应报文所响应的网络报文的生成记录,若存在,则确定该响应报文为第二响应报文,否则不为第二响应报文。
确定为第二响应报文之后,第一报文处理模块126可以将解析得到的加密响应数据发送至第二报文处理模块128。
第二报文处理模块128可以利用存储模块124存储的用于解密的密钥对加密响应数据进行解密,以得到原始响应数据。
综上,可以将网络报文/响应报文伪装成具有明显的非加密协议特征、但实际承载加密数据的报文,使得该报文能够隐藏在网络上的海量报文中,防止被诸如防火墙之类的网络设备识别并针对性破译。并且,在支持这种特殊报文的处理的同时,也同样支持正常报文处理,特殊报文的处理不会对正常报文的处理产生任何影响。
图5示例性地示出根据本发明一个实施方式的用于在网络系统100中加密传输数据的方法500的流程图。如图5所示,该方法500始于步骤S520,适于在客户端120中执行。
在步骤S520中,根据网络传输协议生成目的地址为服务器140的第一网络报文,第一网络报文包括待加密传输的数据,网络传输协议可以为HTTP协议。
根据本发明的一个实施方式,在生成网络报文之后,对于目的地址不是服务器140的网络报文,可以经由客户端120的网络适配器122发送该网络报文。
而对于第一网络报文,在步骤S540中,利用密钥对待加密传输的数据进行加密,以得到相应的加密数据。
而后在步骤S560中,基于第一网络报文和加密数据生成第二网络报文,第二网络报文的目的地址为服务器140、并包括加密数据。具体地,可以将第一网络报文的网络数据替换为加密数据,还可以修改第一网络报文中的Host字段。
最后在步骤S580中,经由客户端120的网络适配器122发送第二网络报文到服务器140。
根据本发明的另一个实施方式,该方法500还可以包括步骤:经由网络适配器122接收响应报文,并按照网络传输协议解析得到响应报文中的网络数据。选择第二响应报文进行解析,该第二响应报文是服务器140响应于第二网络报文而返回的网络报文、其包括加密响应数据,而后利用密钥对解析得到的加密响应数据进行解密,以得到原始响应数据。
其中,客户端120还可以存储第二网络报文的生成记录,方法500还可以包括步骤:在接收响应报文之后,根据客户端120中是否存在该响应报文所响应的网络报文的生成记录来判断响应报文是否为第二响应报文。具体地,可以查询客户端120是否存在该响应报文所响应的网络报文的生成记录,若存在,则确定该响应报文为第二响应报文,否则不为第二响应报文。
相应地,方法500还可以包括步骤:在生成第二网络报文之后,创建对应的生成记录。
图6示例性地示出根据本发明一个实施方式的用于在网络系统100中加密传输数据的方法600的流程图。如图6所示,该方法600始于步骤S620,并适于在服务器140中执行。
在步骤S620中,经由服务器140的网络适配器142接收网络报文,并按照网络传输协议解析得到网络报文中的网络数据,网络传输协议为HTTP协议。而后从所接收的网络报文中选择第二网络报文,该第二网络报文来自客户端120、并包括加密数据,在步骤S640中,利用密钥对解析得到的加密数据进行解密,以得到原始的数据。
其中,在接收网络报文之后,还可以根据网络报文中的Host字段来判断网络报文是否为第二网络报文。
根据本发明的另一个实施方式,该方法600还可以包括步骤:根据网络传输协议生成响应于网络报文的响应报文。
从所生成的响应报文中选择第一响应报文,该第一响应报文响应于所述第二网络报文,并包括原始响应数据。利用密钥对该原始响应数据进行加密,以得到相应的加密响应数据。
其中,对于不是响应于第二网络报文的响应报文,经由服务器140的网络适配器142发送该响应报文。
而后,基于第一响应报文和加密响应数据生成第二响应报文,第二响应报文响应于第二网络报文、并包括加密响应数据。具体地,可以将第一响应报文的网络数据替换为加密响应数据。
再经由服务器140的网络适配器142发送第二响应报文到客户端120。
以上在结合图1至图4对客户端120和服务器140接收和响应报文的具体描述中已经对各步骤的相应处理进行了详细解释,这里不再对重复内容进行赘述。
应当理解,这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如软盘、CD-ROM、硬盘驱动器或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被该机器执行时,该机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的该程序代码中的指令,执行本发明的各种方法。
以示例而非限制的方式,计算机可读介质包括计算机存储介质和通信介质。计算机可读介质包括计算机存储介质和通信介质。计算机存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
本发明还可以包括:A5、如A4所述的客户端,其中,所述第二报文处理模块还适于在生成第二网络报文之后,创建对应的生成记录。A6、如A1-5中任一个所述的客户端,其中,所述第二报文处理模块还适于将所述第一网络报文的网络数据替换为所述加密数据。A7、如A6所述的客户端,其中,所述第二报文处理模块还适于修改所述第一网络报文的Host字段。
B11、如B10所述的服务器,其中,所述第二报文处理模块还适于将所述第一响应报文的网络数据替换为所述加密响应数据。B12、如B10或11所述的服务器,其中,所述第一报文处理模块还适于在生成响应报文之后,对于不是响应于第二网络报文的响应报文,经由所述网络适配器发送该响应报文。
C15、如C14所述的方法,其中,还包括步骤:在生成网络报文之后,对于目的地址不是所述服务器的网络报文,经由客户端的网络适配器发送该网络报文。C16、如C14或15所述的方法,其中,还包括步骤:经由所述网络适配器接收响应报文,并按照所述网络传输协议解析得到响应报文中的响应数据;选择第二响应报文进行解析,所述第二响应报文是所述服务器响应于所述第二网络报文而返回的网络报文、其包括加密响应数据;利用所述密钥对解析得到的加密响应数据进行解密,以得到原始的响应数据。C17、如C16所述的方法,其中,所述客户端还存储第二网络报文的生成记录,所述方法还包括步骤:在接收响应报文之后,根据所述客户端中是否存在该响应报文所响应的网络报文的生成记录来判断响应报文是否为第二响应报文。C18、如C17所述的方法,其中,还包括步骤:在生成第二网络报文之后,创建对应的生成记录。C19、如C14-18中任一个所述的方法,其中,所述基于第一网络报文和加密数据生成第二网络报文的步骤包括:将所述第一网络报文的网络数据替换为所述加密数据。C20、如C19所述的方法,其中,所述基于第一网络报文和加密数据生成第二网络报文的步骤还包括:修改所述第一网络报文中的Host字段。
D22、如权利要求21所述的方法,其中,还包括步骤:在接收网络报文之后,根据网络报文中的Host字段来判断该网络报文是否为第二网络报文。D23、如D21或22所述的方法,其中,还包括步骤:在接收网络报文之后,根据所述网络传输协议生成响应于该网络报文的响应报文;从所生成的响应报文中选择第一响应报文,所述第一响应报文响应于所述第二网络报文,并包括原始响应数据;利用所述密钥对所述原始响应数据进行加密,以得到相应的加密响应数据;基于所述第一响应报文和加密响应数据生成第二响应报文,所述第二响应报文响应于所述第二网络报文、并包括所述加密响应数据;经由服务器的网络适配器发送所述第二响应报文到所述客户端。D24、如D23所述的方法,其中,所述基于第一响应报文和加密响应数据生成第二响应报文的步骤包括:将所述第一响应报文的网络数据替换为所述加密响应数据。D25、如D23或24所述的方法,其中,还包括步骤:在生成响应报文之后,对于不是响应于第二网络报文的响应报文,经由服务器的网络适配器发送该响应报文。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种客户端,驻留在网络系统中,所述网络系统还包括服务器,所述服务器与客户端预先协商用于数据加密和解密的密钥,所述客户端包括:
网络适配器,包括至少一个网络端口,并适于经由网络端口发送报文;
存储模块,适于存储与所述服务器预先协商的密钥;
第一报文处理模块,适于
根据网络传输协议生成目的地址为所述服务器的第一网络报文,所述网络传输协议为HTTP协议,所述第一网络报文包括待加密传输的数据;以及
第二报文处理模块,适于
接收所述第一网络报文;
利用所述密钥对所述待加密传输的数据进行加密,以得到相应的加密数据;
基于所述第一网络报文和加密数据生成第二网络报文,所述第二网络报文的目的地址为所述服务器、并包括所述加密数据;
经由所述网络适配器发送所述第二网络报文到所述服务器。
2.如权利要求1所述的客户端,其中,所述第一报文处理模块还适于
对于目的地址不是所述服务器的网络报文,经由所述网络适配器发送所述该网络报文。
3.如权利要求1或2所述的客户端,其中,
所述网络适配器还适于经由网络端口接收报文;
所述第一报文处理模块适于
经由网络适配器接收响应报文,并按照所述网络传输协议解析得到响应报文中的响应数据;
选择第二响应报文进行解析,所述第二响应报文是所述服务器响应于所述第二网络报文而返回的网络报文,并包括加密响应数据;
将解析得到的加密响应数据发送至所述第二报文处理模块;
所述第二报文处理模块还适于
利用所述密钥对所述加密响应数据进行解密,以得到原始响应数据。
4.如权利要求3所述的客户端,其中,
所述存储模块还适于存储第二网络报文的生成记录;
所述第一报文处理模块还适于在接收响应报文之后,根据所述存储模块中是否存在该响应报文所响应的网络报文的生成记录来判断响应报文是否为第二响应报文。
5.一种服务器,驻留在网络系统中,所述网络系统还包括客户端,所述客户端与服务器预先协商用于数据加密和解密的密钥,所述服务器包括:
网络适配器,包括至少一个网络端口,并适于经由网络端口接收报文;
存储模块,适于存储与所述客户端预先协商的密钥;
第一报文处理模块,适于
经由所述网络适配器接收网络报文,并按照网络传输协议解析得到网络报文中的网络数据,所述网络传输协议为HTTP协议;
从所接收的网络报文中选择第二网络报文,将第二网络报文中解析得到的加密数据发送至第二报文处理模块,所述第二网络报文来自所述客户端、并包括加密数据;
第二报文处理模块,适于
利用所述密钥对所述加密数据进行解密,以得到原始的数据。
6.如权利要求5所述的服务器,其中,所述第一报文处理模块还适于在接收网络报文之后,根据网络报文中的Host字段来判断该网络报文是否为第二网络报文。
7.如权利要求5所述的服务器,其中,
所述网络适配器还适于经由网络端口发送报文;
所述第一报文处理模块还适于在接收网络报文之后,
根据所述网络传输协议生成响应于网络报文的响应报文;
从所生成的响应报文中选择第一响应报文,将该第一响应报文发送至第二报文处理模块,所述第一响应报文响应于所述第二网络报文,并包括原始响应数据;
所述第二报文处理模块还适于
利用所述密钥对所述原始响应数据进行加密,以得到相应的加密响应数据;
基于所述第一响应报文和加密响应数据生成第二响应报文,所述第二响应报文响应于所述第二网络报文、并包括所述加密响应数据;
经由所述网络适配器发送所述第二响应报文到所述客户端。
8.一种网络系统,包括:
如权利要求1-4中任一个所述的客户端,以及
如权利要求5-7中任一个所述的服务器。
9.一种用于在网络系统中加密传输数据的方法,适于在网络系统中的客户端中执行,所述网络系统还包括服务器,所述服务器与客户端预先协商并存储用于数据加密和解密的密钥,所述方法包括:
根据网络传输协议生成目的地址为所述服务器的第一网络报文,所述网络传输协议为HTTP协议,所述第一网络报文包括待加密传输的数据;
利用所述密钥对所述待加密传输的数据进行加密,以得到相应的加密数据;
基于所述第一网络报文和加密数据生成第二网络报文,所述第二网络报文的目的地址为所述服务器、并包括所述加密数据;以及
经由客户端的网络适配器发送所述第二网络报文到所述服务器。
10.一种用于在网络系统中加密传输数据的方法,适于在网络系统中的服务器中执行,所述网络系统还包括客户端,所述客户端与服务器预先协商并存储用于数据加密和解密的密钥,所述方法包括:
经由服务器的网络适配器接收网络报文,并按照网络传输协议解析得到网络报文中的网络数据,所述网络传输协议为HTTP协议;
从所接收的网络报文中选择第二网络报文,所述第二网络报文来自所述客户端、并包括加密数据;以及
利用所述密钥对解析得到的加密数据进行解密,以得到原始的数据。
CN201710852517.7A 2017-09-19 2017-09-19 用于加密传输数据的客户端、服务器、网络系统及方法 Pending CN107465506A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710852517.7A CN107465506A (zh) 2017-09-19 2017-09-19 用于加密传输数据的客户端、服务器、网络系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710852517.7A CN107465506A (zh) 2017-09-19 2017-09-19 用于加密传输数据的客户端、服务器、网络系统及方法

Publications (1)

Publication Number Publication Date
CN107465506A true CN107465506A (zh) 2017-12-12

Family

ID=60552797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710852517.7A Pending CN107465506A (zh) 2017-09-19 2017-09-19 用于加密传输数据的客户端、服务器、网络系统及方法

Country Status (1)

Country Link
CN (1) CN107465506A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116150796A (zh) * 2023-04-18 2023-05-23 安羚科技(杭州)有限公司 用于数据防泄露系统的数据防护方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198829A1 (en) * 2004-01-12 2007-08-23 Mcgrew David A Avoiding server storage of client state
CN102118392A (zh) * 2011-01-18 2011-07-06 南京朗睿软件科技有限公司 数据传输的加密/解密方法及系统
CN103607449A (zh) * 2013-11-18 2014-02-26 中国联合网络通信集团有限公司 企业内网物理机访问云存储虚拟机的方法、设备和系统
CN103746815A (zh) * 2014-02-14 2014-04-23 浙江中控研究院有限公司 安全通信方法及装置
CN104113528A (zh) * 2014-06-23 2014-10-22 汉柏科技有限公司 一种基于前置网关的防止敏感信息泄露的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198829A1 (en) * 2004-01-12 2007-08-23 Mcgrew David A Avoiding server storage of client state
CN102118392A (zh) * 2011-01-18 2011-07-06 南京朗睿软件科技有限公司 数据传输的加密/解密方法及系统
CN103607449A (zh) * 2013-11-18 2014-02-26 中国联合网络通信集团有限公司 企业内网物理机访问云存储虚拟机的方法、设备和系统
CN103746815A (zh) * 2014-02-14 2014-04-23 浙江中控研究院有限公司 安全通信方法及装置
CN104113528A (zh) * 2014-06-23 2014-10-22 汉柏科技有限公司 一种基于前置网关的防止敏感信息泄露的方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116150796A (zh) * 2023-04-18 2023-05-23 安羚科技(杭州)有限公司 用于数据防泄露系统的数据防护方法和装置
CN116150796B (zh) * 2023-04-18 2023-12-08 安羚科技(杭州)有限公司 用于数据防泄露系统的数据防护方法和装置

Similar Documents

Publication Publication Date Title
JP6787952B2 (ja) 要求によって供給される鍵を用いたデータセキュリティ
JP7175550B2 (ja) 鍵を有するリソースロケーター
US10999257B2 (en) Secure delivery and storage of content
US11748492B1 (en) Secure initialization vector generation
US11153089B2 (en) Secure and zero knowledge data sharing for cloud applications
EP3210157B1 (en) Encrypted collaboration system and method
CN108900471A (zh) 用于传输数据的服务器、客户端、网络系统及方法
US10250573B2 (en) Leveraging transport-layer cryptographic material
US9596263B1 (en) Obfuscation and de-obfuscation of identifiers
CN108462581A (zh) 网络令牌生成的方法、装置、终端设备及存储介质
CN107592315B (zh) 用于加密传输数据的客户端、服务器、网络系统及方法
Abdulraheem et al. An efficient lightweight cryptographic algorithm for IoT security
CN103716330A (zh) 一种数字内容加密与解密方法和设备
CN107959660A (zh) 一种基于Nginx的静态文件访问方法和装置
CN109299149A (zh) 数据查询方法、计算设备以及系统
CN110049032A (zh) 一种双向认证的数据内容加密方法及装置
AbdulRaheem et al. An enhanced lightweight speck system for cloud-based smart healthcare
CN106789008B (zh) 对可共享的加密数据进行解密的方法、装置及系统
CN109039997A (zh) 密钥获得方法、装置及系统
CN107465506A (zh) 用于加密传输数据的客户端、服务器、网络系统及方法
CN109474418A (zh) 文档加密方法、文档解密方法、装置、介质和计算设备
CN106533674B (zh) 加密数据的共享方法、装置及系统
CN114978746B (zh) 数据加密传输方法、装置,以及,电子设备
US12003637B1 (en) Secure initialization vector generation
CN106911654A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 311501, Unit 1, Building 5, Courtyard 1, Futong East Street, Chaoyang District, Beijing 100102

Applicant after: Beijing Zhichuangyu Information Technology Co., Ltd.

Address before: 100097 Jinwei Building 803, 55 Lanindichang South Road, Haidian District, Beijing

Applicant before: Beijing Knows Chuangyu Information Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171212