CN110392016A - 防止流量被劫持的方法、装置和系统 - Google Patents
防止流量被劫持的方法、装置和系统 Download PDFInfo
- Publication number
- CN110392016A CN110392016A CN201810348629.3A CN201810348629A CN110392016A CN 110392016 A CN110392016 A CN 110392016A CN 201810348629 A CN201810348629 A CN 201810348629A CN 110392016 A CN110392016 A CN 110392016A
- Authority
- CN
- China
- Prior art keywords
- data
- transmitted
- character string
- name
- encryption
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0435—Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0872—Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
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)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种防止流量被劫持的方法、装置和系统。其中,该方法包括:根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。本发明解决了CDN流量被劫持的技术问题。
Description
技术领域
本发明涉及互联网技术应用领域,具体而言,涉及一种防止流量被劫持的方法、装置和系统。
背景技术
在下载类型的网站中,内容分发网络(Content Delivery Network,简称CDN)技术日渐普及,对于CDN厂商来说,通常以CDN产品提升网络下载速度,以使得对网站产生提速效果,进而通过达到提升效果的网站产生的流量带来收入,所以对于CDN厂商来说,流量是其生存基础。
然而,在复杂的网络环境中,客户端访问到达CDN节点的过程中,实际是经历多个网络设备和代理服务器等设备,在经过特定网络设备的过程中,经常会遇到将客户端的请求消息,被引导至其它系统,而不能成功到达CDN节点。原因在于:一些下载资源对应的下载地址,是很少发生变化的。通过这个属性,在网络中衍生出一些第三方的缓存系统,这些第三方的缓存系统将客户端的下载请求对应的真实下载资源,缓存在自己的系统中,然后再有相同的请求经过这些网络设备时,将客户端的下载请求,引导到它自己的缓存系统内。致使这批请求到不了CDN,自然在CDN系统内这部分的请求产生不了流量。
针对上面的问题,CDN厂商目前传统的预防方法是,通过使用安全套接字层超文本传输协议(Hyper Text Transfer Protocol over Secure Socket Layer,简称https)技术,即以安全为目标的安全http通道。客户端会通过服务端(CDN侧)的证书确认服务端身份的可靠性,并且随后客户端和服务端的通讯过程都是加解密进行传输。这样可以有效避免请求被劫持的危险。
但是上述技术存在问题如下:最主要的就是https对服务端(CDN侧)性能的考验。因为CDN是服务众多站点的,而https是对整个通讯链路进行加解密,这点对CPU的资源消耗很大,所以目前一般非特别敏感的资源,尤其是一些下载资源,都未使用https协议进行传输。
针对上述由于现有技术中的CDN流量被劫持的问题,目前尚未提出有效和高性价比的解决方案。
发明内容
本发明实施例提供了一种防止流量被劫持的方法、装置和系统,以至少解决CDN流量被劫持的技术问题。
根据本发明实施例的一个方面,提供了一种防止流量被劫持的系统,包括:数据源设备、客户端、第三方缓存设备和网络设备,其中,数据源设备,用于根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的路径标识;并向至少一个客户端发送路径标识;客户端,用于根据路径标识发送数据请求信息;第三方缓存设备,用于接收数据请求信息,其中,通过数据请求信息判断的是否存储有对应数据请求信息的待传输数据;在判断结果为否的情况下,将数据请求信息发送至网络设备;网络设备,用于接收数据请求信息,其中数据请求信息包括:待传输数据的路径标识;提取路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据的路径标识。
可选的,网络设备包括:内容分发网络设备。
根据本发明实施例的另一个方面,提供了一种防止流量被劫持的方法,包括:根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
可选的,在根据获取的动态字符串和预设字符生成加密密钥之前,该方法还包括:获取随机数;通过第一预设加密算法对随机数进行加密,得到动态字符串,其中,动态字符串为对随机数加密后所得到的串中提取预设数位的字符组成的字符串。
可选的,在根据获取的动态字符串和预设字符生成加密密钥之前,该方法还包括:获取随机数和时间戳;通过第一预设加密算法对随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
可选的,在根据获取的动态字符串和预设字符生成加密密钥之前,该方法还包括:获取随机数和时间戳;通过第一预设加密算法对随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对随机数和时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
进一步地,可选的,根据获取的动态字符串和预设字符生成加密密钥包括:将动态字符串和预设字符进行组合,生成加密密钥。
可选的,预设字符为预先与网络设备确定的字符串。
可选的,依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名包括:根据加密密钥通过第二预设加密算法对待传输数据名进行加密,得到加密后的待传输数据名。
进一步地,可选的,第二预设加密算法包括对称加密算法。
可选的,依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识包括:通过预设编码算法对加密后的待传输数据名进行编码,得到编码后的待传输数据名;依据动态字符串和编码后的待传输数据名,生成待传输数据的加密路径标识。
可选的,在依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识之后,该方法还包括:将加密路径标识发送至至少一个客户端。
根据本发明实施例的另一个方面,提供了另一种防止流量被劫持的方法,包括:接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
可选的,动态字符串包括:数据源设备通过第一预设加密算法对预先获取的随机数进行加密,得到动态字符串,其中,动态字符串为对随机数加密后所得到的串中提取预设数位的字符组成的字符串;或,数据源设备通过第一预设加密算法对预先获取的时间戳进行加密,得到动态字符串,其中,动态字符串为对时间戳加密后所得到的串中提取预设数位的字符组成的字符串;或,数据源设备通过第一预设加密算法对预先获取的随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对随机数和时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
可选的,根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识包括:根据动态字符串和预设字符通过第二预设解密算法对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识,其中,第二预设解密算法对应数据源设备在加密待传输数据名过程中的第二预设加密算法。
根据本发明实施例的又一方面,还提供了一种防止流量被劫持的装置,包括:密钥生成模块,用于根据获取的动态字符串和预设字符生成加密密钥;加密模块,用于依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;编码模块,用于依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
根据本发明实施例的再一方面,还提供了一种防止流量被劫持的装置,包括:接收模块,用于接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的路径标识;解码模块,用于提取路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;解密模块,用于根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
根据本发明另一实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行:根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
根据本发明另一实施例的又一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行:接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
根据本发明又一实施例的一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行:根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
根据本发明又一实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行:接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
在本发明实施例中,采用数据源站动态生成URL的方式,通过根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识,达到了降低CPU资源消耗的目的,从而实现了避免第三方缓存设备劫持流量的技术效果,进而解决了CDN流量被劫持的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的防止流量被劫持的系统的结构示意图;
图2是根据本发明实施例一的防止流量被劫持的系统中加解密的流程示意图;
图3是本发明实施例的一种防止流量被劫持的方法的计算机终端的硬件结构框图;
图4是根据本发明实施例二的防止流量被劫持的方法的流程图;
图5是根据本发明实施例三的防止流量被劫持的方法的流程图;
图6是根据本发明实施例四的防止流量被劫持的装置的结构示意图;
图7是根据本发明实施例五的防止流量被劫持的装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请涉及的技术名词:
安全套接字层超文本传输协议:Hyper Text Transfer Protocol over SecureSocket Layer,简称https;
URL:统一资源定位符,Uniform Resource Locator;
内容分发网络:Content Delivery Network,简称CDN。
实施例1
根据本发明实施例的一方面,还提供了一种防止流量被劫持的系统,图1是根据本发明实施例一的防止流量被劫持的系统的结构示意图,包括:
数据源设备11、客户端12、第三方缓存设备13和网络设备14,其中,
数据源设备11,用于根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的路径标识;并向至少一个客户端发送路径标识;客户端12,用于根据路径标识发送数据请求信息;第三方缓存设备13,用于接收数据请求信息,其中,通过数据请求信息判断的是否存储有对应数据请求信息的待传输数据;在判断结果为否的情况下,将数据请求信息发送至网络设备;网络设备14,用于接收数据请求信息,其中数据请求信息包括:待传输数据的路径标识;提取路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据的路径标识。
具体的,本申请提供的防止流量被劫持的系统可以适用于由多个网络设备和代理服务器组成的数据下载网络中,其中,为了避免现有技术中将客户端的请求消息,引导至其他系统,造成的流量劫持,本申请提供的防止流量被劫持的系统具体如下:
这里数据源设备11可以为数据下载网络中的资源站设备,网络设备14可以为CDN设备,第三方缓存设备13可以为位于公网环境的代理服务器,其中,本申请提供的数据传输加解密系统中资源站设备首先通过预先生成的动态字符串和预先与CDN设备确定好的固定字符串Key生成加密密钥,进而通过该密钥对待传输数据进行加密,其中,待传输数据可以包括:资源站设备中的资源文件;最后资源站设备根据动态字符串和加密后的待传输数据,生成对应待传输数据的路径标识;
需要说明的是,资源站设备所生成的加密密钥不同于现有技术中在处理CDN流量劫持过程中生成的加密密钥在于,本申请提供的防止流量被劫持的系统中的加密密钥由于是通过动态字符串生成,所以加密密钥会不断地更新,因此生成的路径标识也在不断的更新,即,即使是内容相同的待传输数据,也会生成不同的路径标识,因此在客户端12发起数据请求信息之后,第三方缓存设备13在接收相同内容的待传输数据的请求之后,由于路径标识的不同,将避免发生由于现有技术中相同的数据请求在公网环境中会被代理服务器流量劫持的情况发生。
在CDN侧,如果客户端12发生数据请求之后,由于公网环境下的代理服务器不会再发生流量劫持的情况,CDN设备将通过解析该路径标识,得到动态字符串和加密后的待传输数据,对加密后的待传输数据名进行解码,并将解码后的加密的待传输数据名根据动态字符串和预先确定的固定字符串Key进行解密,得到真实资源名称,进而还原得到真实的资源数据路径。
其中,上述路径标识可以为URL,客户端12所接收的数据源设备11发送的路径标识实际可以为URL,客户端12在将该URL发送至网络设备14(即,CDN设备侧)的过程中,经过公网环境的代理服务器(即,本申请提供的第三方缓存设备13),由于URL对应的内容即使被第三方缓存系统进行缓存。第三方缓存设备也达不到对CDN流量劫持的效果,因为下一次请求相同资源时,由于动态加密的缘故对应的URL又会发生改变,所以在CDN设备侧,CDN设备通过解析该URL,得到动态字符串和加密后的待传输数据名,对加密后的待传输数据名进行解码,并将解码后的加密的待传输数据名根据动态字符串和预先确定的固定字符串Key进行解密,得到真实资源名称,进而还原得到真实的资源数据的URL路径。
可选的,网络设备包括:内容分发网络设备。
综上,图2是根据本发明实施例一的防止流量被劫持的系统中加解密的流程示意图;如图2所示,本申请提供的防止流量被劫持的系统具体如下:
在资源站设备(即,本申请提供的数据源设备11)侧:
(1)资源源站,先生成一组16位的动态字符串X(规则例如:获取当前时间戳,并获取一个随机数,组合起来进行MD5加密,最后从这个MD5加密后的串中取出16位),这样保证了任何时间点,这个动态字符串都是不一样的。
其中,需要说明的是,作为本申请的优选示例,以时间戳和随机数产生的动态字符串能够确保任何时间点,动态字符串都是不一样的,并且在数据维护的过程中,由于该动态字符串x是由时间戳和随机数产生,所以在维护上通过时间戳也可以获知不同的时间点哪些数据请求被劫持,或数据包丢失等,在数据维护上提升了维护效率;
除此之外,动态字符串x还可以通过随机数生成;
上述的MD5加密算法和得到的16位的动态字符串X仅作为最优示例进行说明,除此之外,还可以通过其他加密算法得到(例如,哈希HASH加密的方式),其中,动态字符串X的数位也可以根据具体业务的需求对应配置;仅以实现本申请提供的防止流量被劫持的系统为准,具体不做限定。
(2)用步骤(1)中生成的16位动态字符串X和事先和CDN设备约定好的固定字符串Key,两个字符串组合,作为密钥对资源文件名进行高级加密标准(Advanced EncryptionStandard,简称AES)加密(一种对称加密的方法)。
其中,本申请提供的防止流量被劫持的系统以对称加密的方式对资源文件名(即,本申请中的待传输数据名)进行加密,其中,固定字符串Key(即本申请中的预设字符)为与CDN设备提前确定好的字符串,同理,本申请的示例中以AES加密方式为一种可实现对称加密方式为例进行说明,除此之外,任意一种对称加密算法(加密和解密采用相同密钥)都可以适用于本申请。
(3)为了便于在公网上传输,降低解析错误率,对加密后的结果进行base64编码,得到结果y。
(4)对编码的结果y,组合上面16位的动态字符串X,去替换源资源文件的名称。
(5)通过步骤(4),生成新的URL(即,本申请提供的路径标识),并推送给各个客户端。
在客户端12侧和公网环境侧:
(5)客户端访问新的URL,经过公网时,URL对应的内容即使被第三方缓存系统(即,本申请提供的第三缓存设备13)进行缓存。第三方缓存系统也达不到对CDN流量劫持的效果。因为下一次请求相同资源时,对应的URL又会发生改变,所以第三方缓存系统由于无法匹配到相同的。
在CDN设备(即,本申请提供的网络设备14)侧:
(6)当客户端发送的数据请求消息(携带有URL)到达CDN设备以后,CDN设备接收对应并解析对应的URL。
(7)取出URL中结果y和16位的动态字符串x,对y进行base64解码,得到步骤(2)中AES加密后的结果。
(8)用上面说的16位动态字符串x和事先协商好的key对AES加密后的结果进行解密,得到真实资源名称。
(9)还原真实的URL地址。
具体的,以在线播放电影为例进行说明,资源站侧根据时间戳和随机数生成了一个16位的动态字符串,并通过与CDN设备预先确定的固定字符Key生成加密密钥,该加密密钥由于是根据动态字符串生成,所以会随着时间的改变动态改变;
在生成该加密密钥后,对电影A的名称进行加密,并按照预设的编码方式对加密后的电影A的名称进行编码,得到编码后加密的电影A的名称,最后通过动态字符串和编码后加密的电影A的名称生成电影A的新的URL,并向至少一个客户端发送该新的URL;
若其中一个客户端根据该URL向CDN设备发起数据请求,则在经过公网环境的过程中,即使公网环境中的第三方缓存设备(例如,代理服务器)存储有电影A的数据,由于URL的改变,对于代理服务器来说,该数据请求中的URL是一个新电影的URL,由于是新电影的URL,对于代理服务器来说,在代理服务器的本地是未存储有该新电影的数据,所以代理服务器就要将该URL发送至CDN设备,避免了现有技术中的流量劫持的发生;
在CDN设备侧以“逆运算”的过程,首先通过解析该URL,得到动态字符串和编码后加密的电影A的名称;并且在解密之前,对该编码后加密的电影A的名称进行解码,并通过对称解密的方式,对解码后的加密的电影A的名称进行解密,最终得到真实资源名称,即电影A的真实资源名称,并还原该电影A真实的URL地址。
上述示例仅以在线播放电影为例进行举例说明,以实现本申请提供的防止流量被劫持的系统为准,具体不做限定。
本申请提供的防止流量被劫持的系统对于一个固定资源,对应的URL通过某种手段,将URL动态话,不局限于通过时间戳和随机数取MD5加密这一种方式。并对资源文件对称加密的算法,不限于上面提到的AES加密一种加密方式,且对加密结果进行base64编码,也不局限于该编码方式。
综上,本申请提供的防止流量被劫持的系统仅对下载资源的请求地址的某一部分进行了加密,即,以资源文件名为例,以动态加密的方式对资源文件名进行加密,并生成新的URL,而不是对整个下载内容进行加解密,所以相对于现有技术中对整个通讯链路进行加解密,节约了CPU资源,并降低了CPU的消耗,除此之外,本申请提供的防止流量被劫持的系统以动态加密的方式防止了第三方缓存设备对CDN流量的劫持。
实施例2
根据本发明实施例,还提供了一种防止流量被劫持的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图3是本发明实施例的一种防止流量被劫持的方法的计算机终端的硬件结构框图。如图3所示,计算机终端30可以包括一个或多个(图中仅示出一个)处理器302(处理器302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器304、以及用于通信功能的传输装置306。本领域普通技术人员可以理解,图3所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端30还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。
存储器304可用于存储应用软件的软件程序以及模块,如本发明实施例中的防止流量被劫持的方法对应的程序指令/模块,处理器302通过运行存储在存储器304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的防止流量被劫持的方法。存储器304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器304可进一步包括相对于处理器302远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端30。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置306用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端30的通信供应商提供的无线网络。在一个实例中,传输装置306包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置306可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在上述运行环境下,本申请提供了如图4所示的防止流量被劫持的方法。图4是根据本发明实施例二的防止流量被劫持的方法的流程图。在数据源设备侧,本申请提供的防止流量被劫持的方法,具体如下:
步骤S402,根据获取的动态字符串和预设字符生成加密密钥;
本申请上述步骤S402中,对应于实施例1中图2的资源站设备的步骤(1)和步骤(2),根据获取的动态字符串和预先与网络设备(即,CDN设备)确定的预设字符生成用于加密实施例1中资源文件名(即,本实施例中的待传输数据名)的加密密钥。
步骤S404,依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;
本申请上述步骤S404中,基于上述步骤S402中的得到的加密密钥,对待传输数据名进行加密。
步骤S406,依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
本申请上述步骤S406,基于步骤S402中的动态字符串和步骤S404中加密后的待传输数据名,生成待传输数据的加密路径标识。
具体的,结合步骤S402至步骤S406,资源站设备(即,本实施例中的数据源设备)所生成的加密密钥不同于现有技术中的加密密钥在于,该加密密钥由于是通过动态字符串生成,所以加密密钥会不断地更新,因此生成的路径标识也在不断的更新,即,即使是内容相同的待传输数据,也会生成不同的路径标识,因此在客户端发起数据请求信息之后,第三方缓存设备在接收相同内容的待传输数据的请求之后,由于路径标识的不同,将避免发生由于现有技术中相同的数据请求在公网环境中会被代理服务器流量劫持的情况发生。
在本发明实施例中,采用数据源站动态生成URL的方式,通过根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识,达到了降低CPU资源消耗的目的,从而实现了避免第三方缓存设备劫持流量的技术效果,进而解决了CDN流量被劫持的技术问题。
这里本申请生成动态字符串的方式包括以下两种:
方式一:根据随机数生成动态字符串;
可选的,在步骤S402中根据获取的动态字符串和预设字符生成加密密钥之前,本申请提供的防止流量被劫持的方法还包括:
步骤S400,获取随机数;
步骤S401,通过第一预设加密算法对随机数进行加密,得到动态字符串,其中,动态字符串为对随机数加密后所得到的串中提取预设数位的字符组成的字符串。
方式二:根据时间戳生成动态字符串;
可选的,在步骤S402中根据获取的动态字符串和预设字符生成加密密钥之前,本申请提供的防止流量被劫持的方法还包括:
步骤S400’,获取随机数和时间戳;
步骤S401’,通过第一预设加密算法对随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
方式三:根据随机数和时间戳生成动态字符串;
可选的,在步骤S402中根据获取的动态字符串和预设字符生成加密密钥之前,本申请提供的防止流量被劫持的方法还包括:
步骤S400”,获取随机数和时间戳;
步骤S401”,通过第一预设加密算法对随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对随机数和时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
具体的,结合上述三种方式,本申请提供的防止流量被劫持的方法生成动态字符串,旨在客户端依据数据源设备生成的加密路径标识发起数据请求之后,在数据请求经过公网环境的情况下,代理设备或中转设备由于接收到的路径标识不一样,不会将该数据请求劫持下来,在本申请中,以“时间戳+随机数”的形式生成动态字符串,能够确保任何时间点,以使得动态字符串都是不一样的,并且在数据维护的过程中,由于该动态字符串是由时间戳和随机数产生,所以在维护上通过时间戳也可以获知不同的时间点哪些数据请求被劫持,或数据包丢失等,在数据维护上提升了维护效率。
其中,在本申请中第一预设加密算法以MD5加密算法为例进行说明,除此之外还可以通过其他哈希HASH算法进行加密,这里本申请动态字符串的预设数位以16位为例进行说明,其中,动态字符串的数位也可以根据具体业务的需求对应配置;仅以实现本申请提供的防止流量被劫持的系统为准,具体不做限定。
进一步地,可选的,步骤S402中根据获取的动态字符串和预设字符生成加密密钥包括:
步骤S4021,将动态字符串和预设字符进行组合,生成加密密钥。
可选的,预设字符为预先与网络设备确定的字符串。
可选的,步骤S404中依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名包括:
步骤S4041,根据加密密钥通过第二预设加密算法对待传输数据名进行加密,得到加密后的待传输数据名。
进一步地,可选的,第二预设加密算法包括对称加密算法。
具体的,本申请提供的防止流量被劫持的方法中第二预设加密算法以AES加密算法为例进行说明,其中,本申请通过对称加密的方式依据加密密钥对待传输数据进行加密,除此之外,本申请还可以通过其他对称加密算法完成,仅以第二预设加密算法为AES加密算法为例进行说明,以实现本申请提供的防止流量被劫持的系统为准,具体不做限定。
可选的,步骤S406中依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识包括:
步骤S4061,通过预设编码算法对加密后的待传输数据名进行编码,得到编码后的待传输数据名;
步骤S4062,依据动态字符串和编码后的待传输数据名,生成待传输数据的加密路径标识。
具体的,本申请中预设编码算法以base64编码算法为例进行说明,通过base64编码算法对加密后的待传输数据名进行编码,得到编码后的待传输数据名,并依据动态字符串和编码后的待传输数据名,生成待传输数据的加密路径标识,其中,该加密路径标识可以包括:URL。
其中,通过base 64编码算法对待传输数据进行编码,减少了传输错误。
可选的,在步骤S406中依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识之后,本申请提供的防止流量被劫持的方法还包括:
步骤S407,将加密路径标识发送至至少一个客户端。
基于上述步骤S402至步骤S406,在数据源设备生成加密路径标识之后,将该加密路径标识发送至至少一个客户端,以使得客户端依据该加密路径标识发起数据请求。
实施例3
根据本发明实施例的另一个方面,提供了一种防止流量被劫持的方法,图5是根据本发明实施例三的防止流量被劫持的方法的流程图。如图5所示,在网络设备侧,包括:
步骤S502,接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;
本申请上述步骤S502中,本申请提供的防止流量被劫持的方法对应实施例1中的网络设备,其中,该网络设备可以为CDN设备,CDN设备在接收客户端发送的数据请求消息的过程中,客户端在发送数据请求消息之后,由于该数据请求消息中的待传输数据的加密路径标识,即,URL,是根据数据源设备中的动态字符串生成,所以在该数据请求经由公用网络环境的过程中,公用网络环境中的代理服务器在查询匹配的过程中无法识别该URL(即,因为对同一资源的URL在不断的变化,所以在代理服务器侧未存储有对应该URL的资源数据),所以将该URL转发至CDN设备侧。
步骤S504,提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;
本申请上述步骤S504中,基于步骤S502中接收的数据请求信息,提取该数据请求信息中的动态字符串和编码后的待传输数据名,并进行解码,该过程对应实施例2中数据源设备侧编码加密的过程,作为“逆过程”,首先提取动态字符串和编码后的待传输数据名,进一步地,解码该待传输数据名。
步骤S506,根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
本申请上述步骤S506中,基于步骤S504中对待传输数据名的解码,根据动态字符串和预设字符以对称加解密的方式,对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
综上,结合步骤S502至步骤S506,在CDN设备侧,如果客户端发生数据请求之后,由于公网环境下的代理服务器不会再发生流量劫持的情况,CDN设备将通过解析该路径标识,得到动态字符串和加密后的待传输数据,对加密后的待传输数据进行解码,并将解码后的加密的待传输数据根据动态字符串和预先确定的固定字符串Key进行解密,得到真实资源名称,进而还原得到真实的资源数据路径。
其中,上述路径标识可以为URL,客户端所接收的数据源设备发送的路径标识实际可以为URL,客户端在将该URL发送至网络设备(即,CDN设备侧)的过程中,经过公网环境的代理服务器(即,本申请提供的第三方缓存设备),由于URL对应的内容即使被第三方缓存系统进行缓存。第三方缓存设备也达不到对CDN流量劫持的效果。因为下一次请求相同资源时,对应的URL又变了。所以在CDN设备侧,CDN设备通过解析该URL,得到动态字符串和加密后的待传输数据名,对加密后的待传输数据名进行解码,并将解码后的加密的待传输数据名根据动态字符串和预先确定的固定字符串Key进行解密,得到真实资源名称,进而还原得到真实的资源数据的URL路径。
在本发明实施例中,采用数据源站动态生成URL的方式,通过接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识,达到了降低CPU资源消耗的目的,从而实现了避免第三方缓存设备劫持流量的技术效果,进而解决了CDN流量被劫持的技术问题。
可选的,动态字符串包括:数据源设备通过第一预设加密算法对预先获取的随机数进行加密,得到动态字符串,其中,动态字符串为对随机数加密后所得到的串中提取预设数位的字符组成的字符串;或,数据源设备通过第一预设加密算法对预先获取的时间戳进行加密,得到动态字符串,其中,动态字符串为对时间戳加密后所得到的串中提取预设数位的字符组成的字符串;或,数据源设备通过第一预设加密算法对预先获取的随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对随机数和时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
具体的,对应实施例2中的数据源设备通过三种生成动态字符串的方式。
可选的,步骤S506中根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识包括:
步骤S5061,根据动态字符串和预设字符通过第二预设解密算法对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识,其中,第二预设解密算法对应数据源设备在加密待传输数据名过程中的第二预设加密算法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的防止流量被劫持的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例4
根据本发明实施例的又一方面,还提供了一种防止流量被劫持的装置,图6是根据本发明实施例四的防止流量被劫持的装置的结构示意图。如图6所示,在数据源设备侧,包括:密钥生成模块62、加密模块64和编码模块66,
其中,密钥生成模块62,用于根据获取的动态字符串和预设字符生成加密密钥;加密模块64,用于依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;编码模块66,用于依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
在本发明实施例中,采用数据源站动态生成URL的方式,通过根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识,达到了降低CPU资源消耗的目的,从而实现了避免第三方缓存设备劫持流量的技术效果,进而解决了CDN流量被劫持的技术问题。
此处需要说明的是,上述密钥生成模块62、加密模块64和编码模块66对应于实施例二中的步骤S402至步骤S406,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例二所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例二提供的数据源设备中,可以通过软件实现,也可以通过硬件实现。
实施例5
根据本发明实施例的再一方面,还提供了一种防止流量被劫持的装置,图7是根据本发明实施例五的防止流量被劫持的装置的结构示意图。如图7所示,在网络设备侧,包括:接收模块72、解码模块74和解密模块76,
其中,接收模块72,用于接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的路径标识;解码模块,用于提取路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;解密模块76,用于根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
在本发明实施例中,采用数据源站动态生成URL的方式,通过接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识,达到了降低CPU资源消耗的目的,从而实现了避免第三方缓存设备劫持流量的技术效果,进而解决了CDN流量被劫持的技术问题。
此处需要说明的是,上述接收模块72、解码模块74和解密模块76对应于实施例三中的步骤S502至步骤S506,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例三所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例三提供的网络设备中,可以通过软件实现,也可以通过硬件实现。
实施例6
根据本发明另一实施例的另一方面,还提供了一种存储介质,在数据源设备侧,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行:根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
实施例7
根据本发明另一实施例的又一方面,还提供了一种存储介质,在网络设备侧,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行:接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据解密后的路径标识。
实施例8
根据本发明又一实施例的一方面,还提供了一种处理器,在数据源设备侧,处理器用于运行程序,其中,程序运行时执行:根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
实施例9
根据本发明又一实施例的另一方面,还提供了一种处理器,在网络设备侧,处理器用于运行程序,其中,程序运行时执行:接收客户端发送的数据请求信息,其中数据请求信息包括:待传输数据的加密路径标识;提取加密路径标识中的动态字符串和编码后的待传输数据名,并对编码后的待传输数据名进行解码;根据动态字符串和预设字符对解码后的待传输数据名进行解密,得到待传输数据对应的解密后的路径标识。
实施例10
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的防止流量被劫持的方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据获取的动态字符串和预设字符生成加密密钥;依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在根据获取的动态字符串和预设字符生成加密密钥之前,该方法还包括:获取随机数;通过第一预设加密算法对随机数进行加密,得到动态字符串,其中,动态字符串为对随机数加密后所得到的串中提取预设数位的字符组成的字符串。
可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在根据获取的动态字符串和预设字符生成加密密钥之前,该方法还包括:获取随机数和时间戳;通过第一预设加密算法对随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
可选的,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在根据获取的动态字符串和预设字符生成加密密钥之前,该方法还包括:获取随机数和时间戳;通过第一预设加密算法对随机数和时间戳进行加密,得到动态字符串,其中,动态字符串为对随机数和时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据获取的动态字符串和预设字符生成加密密钥包括:将动态字符串和预设字符进行组合,生成加密密钥。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:预设字符为预先与网络设备确定的字符串。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据加密密钥对待传输数据名进行加密,得到加密后的待传输数据名包括:根据加密密钥通过第二预设加密算法对待传输数据名进行加密,得到加密后的待传输数据名。
进一步地,可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:第二预设加密算法包括对称加密算法。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识包括:通过预设编码算法对加密后的待传输数据名进行编码,得到编码后的待传输数据名;依据动态字符串和编码后的待传输数据名,生成待传输数据的加密路径标识。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在依据动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识之后,将加密路径标识发送至至少一个客户端。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (21)
1.一种防止流量被劫持的系统,其特征在于,包括:
数据源设备、客户端、第三方缓存设备和网络设备,其中,
所述数据源设备,用于根据获取的动态字符串和预设字符生成加密密钥;依据所述加密密钥对待传输数据名进行加密,得到加密后的所述待传输数据名;依据所述动态字符串和加密后的所述待传输数据名,生成待传输数据的路径标识;并向至少一个客户端发送所述路径标识;
所述客户端,用于根据所述路径标识发送数据请求信息;
所述第三方缓存设备,用于接收所述数据请求信息,其中,通过所述数据请求信息判断的是否存储有对应所述数据请求信息的待传输数据;在判断结果为否的情况下,将所述数据请求信息发送至所述网络设备;
所述网络设备,用于接收所述数据请求信息,其中所述数据请求信息包括:待传输数据的路径标识;提取所述路径标识中的动态字符串和编码后的待传输数据名,并对所述编码后的所述待传输数据名进行解码;根据所述动态字符串和预设字符对解码后的所述待传输数据名进行解密,得到所述待传输数据解密后的路径标识。
2.根据权利要求1所述的防止流量被劫持的系统,其特征在于,所述网络设备包括:内容分发网络设备。
3.一种防止流量被劫持的方法,其特征在于,包括:
根据获取的动态字符串和预设字符生成加密密钥;
依据所述加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;
依据所述动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
4.根据权利要求3所述的防止流量被劫持的方法,其特征在于,在所述根据获取的动态字符串和预设字符生成加密密钥之前,所述方法还包括:
获取随机数;
通过第一预设加密算法对所述随机数进行加密,得到所述动态字符串,其中,所述动态字符串为对所述随机数加密后所得到的串中提取预设数位的字符组成的字符串。
5.根据权利要求3所述的防止流量被劫持的方法,其特征在于,在所述根据获取的动态字符串和预设字符生成加密密钥之前,所述方法还包括:
获取时间戳;
通过第一预设加密算法对所述时间戳进行加密,得到所述动态字符串,其中,所述动态字符串为对所述时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
6.根据权利要求3所述的防止流量被劫持的方法,其特征在于,在所述根据获取的动态字符串和预设字符生成加密密钥之前,所述方法还包括:
获取随机数和时间戳;
通过第一预设加密算法对所述随机数和所述时间戳进行加密,得到所述动态字符串,其中,所述动态字符串为对所述随机数和所述时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
7.根据权利要求4、5或6所述的防止流量被劫持的方法,其特征在于,根据获取的动态字符串和预设字符生成加密密钥包括:
将所述动态字符串和所述预设字符进行组合,生成所述加密密钥。
8.根据权利要求7所述的防止流量被劫持的方法,其特征在于,所述预设字符为预先与网络设备确定的字符串。
9.根据权利要求3所述的防止流量被劫持的方法,其特征在于,所述依据所述加密密钥对待传输数据名进行加密,得到加密后的待传输数据名包括:
根据所述加密密钥通过第二预设加密算法对所述待传输数据名进行加密,得到加密后的待传输数据名。
10.根据权利要求9所述的防止流量被劫持的方法,其特征在于,所述第二预设加密算法包括对称加密算法。
11.根据权利要求3所述的防止流量被劫持的方法,其特征在于,所述依据所述动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识包括:
通过预设编码算法对加密后的待传输数据名进行编码,得到编码后的待传输数据名;
依据所述动态字符串和编码后的待传输数据名,生成待传输数据的所述加密路径标识。
12.根据权利要求3所述的防止流量被劫持的方法,其特征在于,在所述依据所述动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识之后,所述方法还包括:
将所述加密路径标识发送至至少一个客户端。
13.一种防止流量被劫持的方法,其特征在于,包括:
接收客户端发送的数据请求信息,其中所述数据请求信息包括:待传输数据的加密路径标识;
提取所述加密路径标识中的动态字符串和编码后的待传输数据名,并对所述编码后的所述待传输数据名进行解码;
根据所述动态字符串和预设字符对解码后的所述待传输数据名进行解密,得到所述待传输数据解密后的路径标识。
14.根据权利要求13所述的防止流量被劫持的方法,其特征在于,所述动态字符串包括:
数据源设备通过第一预设加密算法对预先获取的随机数进行加密,得到所述动态字符串,其中,所述动态字符串为对所述随机数加密后所得到的串中提取预设数位的字符组成的字符串;或,
数据源设备通过第一预设加密算法对预先获取的时间戳进行加密,得到所述动态字符串,其中,所述动态字符串为对所述时间戳加密后所得到的串中提取预设数位的字符组成的字符串;或,
数据源设备通过第一预设加密算法对预先获取的随机数和时间戳进行加密,得到所述动态字符串,其中,所述动态字符串为对所述随机数和所述时间戳加密后所得到的串中提取预设数位的字符组成的字符串。
15.根据权利要求13或14所述的防止流量被劫持的方法,其特征在于,所述根据所述动态字符串和预设字符对解码后的所述待传输数据名进行解密,得到所述待传输数据解密后的路径标识包括:
根据所述动态字符串和预设字符通过第二预设解密算法对解码后的所述待传输数据名进行解密,得到所述待传输数据解密后的路径标识,其中,所述第二预设解密算法对应数据源设备在加密所述待传输数据名过程中的第二预设加密算法。
16.一种防止流量被劫持的装置,其特征在于,包括:
密钥生成模块,用于根据获取的动态字符串和预设字符生成加密密钥;
加密模块,用于依据所述加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;
编码模块,用于依据所述动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
17.一种防止流量被劫持的装置,其特征在于,包括:
接收模块,用于接收客户端发送的数据请求信息,其中所述数据请求信息包括:待传输数据的路径标识;
解码模块,用于提取所述路径标识中的动态字符串和编码后的待传输数据名,并对所述编码后的所述待传输数据名进行解码;
解密模块,用于根据所述动态字符串和预设字符对解码后的所述待传输数据名进行解密,得到所述待传输数据解密后的路径标识。
18.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行:根据获取的动态字符串和预设字符生成加密密钥;依据所述加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据所述动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
19.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行:接收客户端发送的数据请求信息,其中所述数据请求信息包括:待传输数据的加密路径标识;提取所述加密路径标识中的动态字符串和编码后的待传输数据名,并对所述编码后的所述待传输数据名进行解码;根据所述动态字符串和预设字符对解码后的所述待传输数据名进行解密,得到所述待传输数据解密后的路径标识。
20.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行:根据获取的动态字符串和预设字符生成加密密钥;依据所述加密密钥对待传输数据名进行加密,得到加密后的待传输数据名;依据所述动态字符串和加密后的待传输数据名,生成待传输数据的加密路径标识。
21.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行:接收客户端发送的数据请求信息,其中所述数据请求信息包括:待传输数据的加密路径标识;提取所述加密路径标识中的动态字符串和编码后的待传输数据名,并对所述编码后的所述待传输数据名进行解码;根据所述动态字符串和预设字符对解码后的所述待传输数据名进行解密,得到所述待传输数据解密后的路径标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810348629.3A CN110392016B (zh) | 2018-04-18 | 2018-04-18 | 防止流量被劫持的方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810348629.3A CN110392016B (zh) | 2018-04-18 | 2018-04-18 | 防止流量被劫持的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110392016A true CN110392016A (zh) | 2019-10-29 |
CN110392016B CN110392016B (zh) | 2022-05-31 |
Family
ID=68283028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810348629.3A Active CN110392016B (zh) | 2018-04-18 | 2018-04-18 | 防止流量被劫持的方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110392016B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746863A (zh) * | 2021-09-14 | 2021-12-03 | 福韵数据服务有限公司 | 一种情报调查中数据收集反追踪的方法 |
CN114389806A (zh) * | 2022-01-12 | 2022-04-22 | 四创科技有限公司 | 一种适用于核心机密数据安全传输的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309275A (zh) * | 2008-06-27 | 2008-11-19 | 武汉烽火网络有限责任公司 | 一种流媒体服务中的文件名保护的方法 |
CN103107883A (zh) * | 2013-01-04 | 2013-05-15 | 深圳市文鼎创数据科技有限公司 | Pin码的安全防护方法及客户端 |
CN105357190A (zh) * | 2015-10-26 | 2016-02-24 | 网宿科技股份有限公司 | 访问请求鉴权的方法及系统 |
CN106657105A (zh) * | 2016-12-29 | 2017-05-10 | 网宿科技股份有限公司 | 目标资源的发送方法和装置 |
CN107528865A (zh) * | 2016-06-21 | 2017-12-29 | 平安科技(深圳)有限公司 | 文件的下载方法和系统 |
CN107786526A (zh) * | 2016-08-31 | 2018-03-09 | 北京优朋普乐科技有限公司 | 防盗链方法、客户端和服务器系统 |
-
2018
- 2018-04-18 CN CN201810348629.3A patent/CN110392016B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309275A (zh) * | 2008-06-27 | 2008-11-19 | 武汉烽火网络有限责任公司 | 一种流媒体服务中的文件名保护的方法 |
CN103107883A (zh) * | 2013-01-04 | 2013-05-15 | 深圳市文鼎创数据科技有限公司 | Pin码的安全防护方法及客户端 |
CN105357190A (zh) * | 2015-10-26 | 2016-02-24 | 网宿科技股份有限公司 | 访问请求鉴权的方法及系统 |
CN107528865A (zh) * | 2016-06-21 | 2017-12-29 | 平安科技(深圳)有限公司 | 文件的下载方法和系统 |
CN107786526A (zh) * | 2016-08-31 | 2018-03-09 | 北京优朋普乐科技有限公司 | 防盗链方法、客户端和服务器系统 |
CN106657105A (zh) * | 2016-12-29 | 2017-05-10 | 网宿科技股份有限公司 | 目标资源的发送方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113746863A (zh) * | 2021-09-14 | 2021-12-03 | 福韵数据服务有限公司 | 一种情报调查中数据收集反追踪的方法 |
CN114389806A (zh) * | 2022-01-12 | 2022-04-22 | 四创科技有限公司 | 一种适用于核心机密数据安全传输的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110392016B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI362871B (en) | System and method for mapping an encrypted https network packet to a specific url name and other data without decryption outside of a secure web server | |
US20170317823A1 (en) | Zero Knowledge Encrypted File Transfer | |
CN107172001B (zh) | 网站代理服务器的控制方法及装置、密钥代理服务器 | |
CN105791451B (zh) | 一种报文响应方法及装置 | |
US10230695B2 (en) | Distribution of secure data with entitlement enforcement | |
CN108270882A (zh) | 域名的解析方法和装置、存储介质、电子装置 | |
CN104255010A (zh) | 用于在模板模式下有效支持短加密区间的系统和方法 | |
CN106657105B (zh) | 目标资源的发送方法和装置 | |
CN107016074B (zh) | 一种网页加载方法及装置 | |
CN109246172A (zh) | 一种恢复会话的方法、装置及计算机存储介质 | |
JP2008541643A5 (zh) | ||
CN105025019A (zh) | 一种数据安全分享方法 | |
CN106060099A (zh) | 数据访问方法、装置及系统 | |
CN113382001B (zh) | 一种通信加密方法及相关装置 | |
CN110392016A (zh) | 防止流量被劫持的方法、装置和系统 | |
CN113364781A (zh) | 请求处理方法及系统 | |
CN113938474B (zh) | 一种虚拟机访问方法、装置、电子设备和存储介质 | |
CN105612723A (zh) | 通过使用无线通信系统中的多个网络接口分配业务量的方法和装置 | |
CN115378660A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN110224824B (zh) | 数字证书处理方法、装置、计算机设备和存储介质 | |
CN115001871A (zh) | 基于区块链技术的文件加密共享的方法和系统 | |
CN107113304B (zh) | 用于加密数据交换上的中介委派的方法和模块 | |
CN113472634B (zh) | 即时通讯方法、装置及系统、存储介质、电子装置 | |
CN114978637A (zh) | 一种报文处理方法及装置 | |
US10798187B2 (en) | Secure service chaining |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40016197 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |