CN109413000A - 一种防盗链方法及防盗链网关系统 - Google Patents

一种防盗链方法及防盗链网关系统 Download PDF

Info

Publication number
CN109413000A
CN109413000A CN201710696045.0A CN201710696045A CN109413000A CN 109413000 A CN109413000 A CN 109413000A CN 201710696045 A CN201710696045 A CN 201710696045A CN 109413000 A CN109413000 A CN 109413000A
Authority
CN
China
Prior art keywords
user terminal
user
resource
signature
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.)
Granted
Application number
CN201710696045.0A
Other languages
English (en)
Other versions
CN109413000B (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.)
Liu Qixing
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201710696045.0A priority Critical patent/CN109413000B/zh
Publication of CN109413000A publication Critical patent/CN109413000A/zh
Application granted granted Critical
Publication of CN109413000B publication Critical patent/CN109413000B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2541Rights Management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25816Management of client data involving client authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Power Engineering (AREA)
  • Computer Graphics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供一种防盗链方法及防盗链网关系统。所述防盗链方法包括如下步骤:网关服务器根据用户端请求,向用户端下发带有全局唯一性用户ID的Cookie、资源地址和根据所述“全局唯一性用户ID”计算得到的签名;资源服务器和/或CDN边缘节点接收用户端的资源访问请求,并将用户端请求信息发送给网关服务器进行鉴权分析,并且根据鉴权分析结果来响应用户端请求;和网关服务器对从“资源服务器和/或CDN边缘节点”接收到的用户端请求信息进行鉴权分析。本申请的方法和系统能够保证被授权网站的用户能正常访问资源;保护网站内容不被非授权网站盗链。

Description

一种防盗链方法及防盗链网关系统
技术领域
本发明属于计算机网络安全领域,具体涉及到一种防盗链方法、防盗链网关服务器及包含它的防盗链系统。
背景技术
现在有很多提供视频资源的网站,用户可以在其网站上观看视频资源,网站必须将视频资源面向所有人开放地存放在自己或者第三方的服务器上。有些网站为了提高用户体验,让用户能更好地观看视频,会将视频缓存在离用户最近的CDN节点。由于视频资源是面向所有人开放,而且网络带宽作为一种昂贵的资源,所以常常会有一些网站不花钱购买网络带宽,而是盗链其他网站的开放资源,为自己网站谋取利益。这将会导致真正的视频拥有者的带宽被不法滥用。有统计显示,最严重的时候,非法盗用的网络带宽是真正的视频拥有者使用的网络带宽的数倍。很多被盗链的公司苦不堪言。
现有技术中有很多防盗链技术,大概原理是通过对视频播放链接的多次加密、进行有效时间限制等方法。还有通过加密视频格式来解决。这些方法共同的问题是,盗链网站模拟真正的视频拥有者的网站正常用户在单独的服务器上计算出最终视频播放链接,并下发给其盗链网站的用户播放,所有的防护都形同虚设。另外,也带来没有必要的网站修改。
发明内容
针对现有技术中存在的一种或多种问题,本申请提供一种网络防盗链方法,执行该方法的防盗链网关系统,其无需修改网站代码并支持CDN缓存的防盗链方式,并且能够解决现有技术中存在的一种或多种问题。
本申请具体地包含如下内容:
实施方式1.一种网络防盗链方法,其包括如下步骤:
网关服务器根据用户端请求,向用户端下发带有全局唯一性用户ID的Cookie、资源地址和根据所述“全局唯一性用户ID”计算得到的签名;
资源服务器和/或CDN边缘节点接收用户端的资源访问请求,并将用户端请求信息发送给网关服务器进行鉴权分析,并且根据鉴权分析结果来响应用户端请求,其中所述资源服务器和/或CDN边缘节点与所述网关服务器具有相同的一级域名;和
网关服务器对从“资源服务器和/或CDN边缘节点”接收到的用户端请求信息进行鉴权分析;
其中所述鉴权分析包括:
网关服务器提取用户端请求信息中的用户“签名”;
网关服务器提取用户端请求信息中的“用户ID”并计算相应的鉴权用“签名”,将该鉴权用“签名”与用户“签名”进行一致性比较,获得一致性比较结果,根据一致性比较结果计算鉴权分析结果,并向资源服务器和/或CDN边缘节点发送相应的鉴权分析结果。
实施方式2.实施方式1的方法,其中所述“签名”包括“用户ID”信息和网关服务器的私钥。
实施方式3.实施方式2的方法,其中所述“签名”包括下信息中的一个或多个:签名版本,签名有效时间和资源地址。
实施方式4.实施方式1-3中任一项所述的方法,其中所述鉴权分析还包括:
网关服务器接收用户端(以Cookie中的用户ID作为标识符)的心跳数据,并且根据心跳数据判断是否存在用户端异常访问行为,给出心跳数据判断结果,当心跳数据判断结果表明存在用户端异常访问行为时,网关服务器通知用户端进行人机识别,获得人机识别结果,在识别正确的情况下,将心跳数据判断结果修改为不存在用户端异常访问行为;
所述“根据一致性比较结果计算鉴权分析结果,并向资源服务器和/或CDN边缘节点发送相应的鉴权分析结果”步骤包括:当该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致,并且“心跳数据判断结果”表明不存在用户端异常访问行为时,网关服务器向资源服务器和/或CDN边缘节点发送指令“授权此次用户端的资源访问请求”,否则,网关服务器向资源服务器和/或CDN边缘节点发送指令“禁止此次用户端的资源访问请求”。
实施方式5.实施方式1至3中任一项的方法,其中
“用户端进行人机识别”包括:通过图形验证码、简单交互游戏、手机短信验证码、要求用户登录等方式中的至少一种。
实施方式6.实施方式1至3中任一项的方法,其中
网关服务器通过反向代理源资源地址获取接口而获得所述资源地址,所述签名作为URL参数添加到资源URL中发给用户端。
实施方式7.一种防盗链网关系统,其包括具有相同的一级域名的网关服务器和“资源服务器和/或CDN边缘节点”,所述网关服务器和“资源服务器和/或CDN边缘节点”配置为能够执行实施方式1-6中任一项所述的方法。
实施方式8.一种防盗链网关系统,其包括网关服务器,
其中所述网关服务器包括:
分发模块(p),所述分发模块分发带有全局唯一性用户ID的Cookie,资源地址及根据所述“全局唯一性用户ID”计算得到的签名;
心跳维持服务模块(hb),其接收用户端推送的心跳数据,调用“心跳判决服务模块(ha)”得到心跳数据判断结果,并将判断结果发送给用户端;
心跳判决服务模块(ha),根据收集到的心跳数据,判断是否存在用户端异常访问行为,给出心跳数据判断结果;
心跳交互服务模块(hi),接收用户端的人机识别交互请求,和获取人机识别数据,根据该数据,进行人机识别判断,在识别正确的情况下,调用心跳判决服务模块(ha)将心跳数据判断结果修改为不存在用户端异常访问行为;和
资源访问鉴权服务模块(a),其从“资源服务器和/或CDN边缘节点”接收用户端请求信息;提取用户端请求信息中的用户“签名”;提取用户端请求信息中的“用户ID”并计算相应的鉴权用“签名”,将该鉴权用“签名”与用户“签名”进行一致性比较,获得一致性比较结果;在该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,调用“心跳判决服务模块(ha)”得到心跳数据判断结果;当“心跳数据判断结果”表明不存在用户端异常访问行为,并且该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,向资源服务器和/或CDN边缘节点发送指令“授权此次用户端的资源访问请求”,否则,向资源服务器和/或CDN边缘节点发送指令“禁止此次用户端的资源访问请求”。
实施方式9.实施方式8的防盗链网关系统,还包括运行于用户端的以下模块:
心跳数据推送模块(hc),其收集用户端的心跳数据,并将其发推送给心跳维持服务模块(hb);和
人机识别模块(mi),其从心跳交互服务模块(hi)获取人机交互识别信息,进行人机识别,向心跳交互服务模块(hi)发送人机识别交互信息。
实施方式10.实施方式8或9的防盗链网关系统,还包括“资源服务器和/或CDN边缘节点”,所述资源服务器和/或CDN边缘节点在接收到用户端资源访问请求后,将用户端请求信息发送给网关服务器进行鉴权分析,并且根据鉴权分析结果来响应用户端请求。
实施方式11.实施方式8或9的防盗链网关系统,其中所述网关服务器还包括网关管理服务模块(m),其执行以下功能中的至少一种:配置是否开启防盗链系统,配置日志记录等级,配置反向代理源资源地址,配置鉴权签名所需的私钥,配置鉴权签名的有效时间,配置鉴权Referer/Origin白名单/黑名单,配置鉴权User-Agent白名单/黑名单,配置访问/鉴权IP黑/白名单。
实施方式12.实施方式8或9的防盗链网关系统,其中所述网关服务器还包括心跳分析服务模块(hy),对心跳数据进行更多维度的大数据分析。
实施方式13.实施方式8或9的防盗链网关系统,其中所述分发模块(p)通过反向代理源资源地址而获得所分发的资源地址。
利用Cookie不能跨域传输的原理,将一个特定的参与签名计算的值存放在Cookie中。用户端通过相同一级域名获取签名后的播放地址以及Cookie值,由于盗链网站的域名不同,所以永远无法得到Cookie值。同时,基于心跳数据无法伪造的原理,对于一些较复杂的情况,通过心跳交互的手段增强了整个防盗链方法和系统,从而覆盖所有防御模式,使得该方法或者系统既拥有坚固的防盗链效果,用户端又有完美的体验。本发明的主题还具有以下优点:保证被授权网站的用户能正常访问资源;保护网站内容不被非授权网站盗链;支持CDN边缘节点缓存内容的保护;基于前置网关,几乎无需修改任何网站代码。仅仅需要在网站页面的底部添加一行JavaScript脚本调用代码,其他所有代码都由防盗链网关实现。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图2是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图3是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图4是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图5是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图6是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图7是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图8是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图9是根据本发明的防盗链系统的一种实施方式的一个具体模块设计示意图。
图10是根据本发明的防盗链系统的一种实施方式的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
本申请中的术语具有本领域技术人员通常理解的含义,否则会明确定义或者作出相反的说明。
本申请的一方面提供一种网络防盗链方法,其包括如下步骤:网关服务器根据用户端请求,向用户端下发带有全局唯一性用户ID的Cookie、资源地址和根据所述“全局唯一性用户ID”计算得到的签名;资源服务器和/或CDN边缘节点接收用户端的资源访问请求,并将用户端请求信息发送给网关服务器进行鉴权分析,并且根据鉴权分析结果来响应用户端请求,其中所述资源服务器和/或CDN边缘节点与所述网关服务器具有相同的一级域名;和网关服务器对从“资源服务器和/或CDN边缘节点”接收到的用户端请求信息进行鉴权分析;其中所述鉴权分析包括:网关服务器提取用户端请求信息中的用户“签名”;网关服务器提取用户端请求信息中的“用户ID”并计算相应的鉴权用“签名”,将该鉴权用“签名”与用户“签名”进行一致性比较,获得一致性比较结果,根据一致性比较结果计算鉴权分析结果,并向资源服务器和/或CDN边缘节点发送相应的鉴权分析结果。
此处所述的资源地址也可称为资源访问地址,是指资源服务器中所存储的具体资源文件在网络上的具体位置。
在本申请中术语Cookie是计算机用语,具有本领域技术人员通常理解的含义,就是服务器暂存放在用户端电脑上的一笔资料,好让服务器用来辨认用户端电脑。
在本申请中,术语CDN边缘节点具有本领域技术人员通常理解的含义,也可以称为CDN节点。CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。
全局唯一性用户ID是指当用户端向网关服务器发出请求(也即资源访问请求,在本申请中用户端的请求都是指用户端发起的资源访问请求)时,网关服务器会给每一个请求下发一个用户ID,该用户ID是全局唯一性的。一般而言每个ID不会被下发两次。
根据所述“全局唯一性用户ID”计算得到的签名是指网关服务器将所述“全局唯一性用户ID”和其它重要信息一起进行具体的加密计算得到签名。在一些实施方式中,所述“签名”包括“用户ID”信息和网关服务器的私钥。在一些实施方式中,所述“签名”包括下信息中的一个或多个:签名版本,签名有效时间和资源地址。在签名中包含资源地址,会使得防盗链方法更加强健,一个资源访问请求仅对应于一个资源地址,用户的访问行为将会更加安全。
在一些实施方式中,网关服务器通过反向代理源资源地址获取接口而获得所述资源地址,所述签名作为URL参数添加到资源URL中发给用户端。签名作为URL参数发送给用户端的好处在于此处对于网站页面和网站上的播放器是透明的,无需修改代码。兼容各种系统,各种平台的各种浏览器,兼容性极好。并且与用户ID分开发送了。
本发明利用Cookie不能跨域传输和Referer/Origin不能伪造的原理。把“用户唯一ID”放在Cookie里就是为了让偷盗资源的网站无法得到这个“用户唯一ID”,得不到正确的“用户唯一ID”,即便偷盗资源的网站得到带有正确“用户签名”的资源地址也最终会被防盗链网关鉴权接口拒绝。如果偷盗资源的网站在其网站上直接调用防盗链网关的鉴权模块,防盗链网关会识别出其请求的Referer/Origin非法,访问会直接被拒绝。如果“全局唯一性用户ID”不放在Cookie里,那么就不能利用Cookie不能跨域传输的这一技术优势,一旦最关键的“全局唯一性用户ID”被盗链网站轻易得到,那么整个防御系统就能轻易被攻破。“用户签名”作为URL参数添加到资源地址里最重要的原因是因为我们必须有一个地方存放“用户签名”,URL参数是最合适存放此数据的地方。其次,为了更好的兼容性,为了让本防盗链系统能尽可能地兼容所有平台、所有系统的所有所有浏览器。并且,做到对于被保护网站透明,无需被保护网站修改任何代码。如果“用户签名”与“用户唯一ID”都存放在Cookie里,那么本防盗链系统对于被保护网站就不透明,被保护网站需要修改代码来适应本防盗链系统,并且可能在某些不支持Cookie的浏览器上无法正常运行。
该方法利用浏览器中的Cookie不能跨域传输的原理,用户端从网关服务器获得的包含用户ID的Cookie和签名通过资源服务器和/或CDN边缘节点发送到网关服务器进行鉴权时,如果存在盗链,那么盗链的网站因为与资源服务器和/或CDN边缘节点和网关服务器都不在同一个一级域名下面(如果盗链的网站在同一个一级域名下面,就相当于是自己对自己进行盗链了),因此不能获得Cookie中的用户ID,从而不能通过鉴权。
在一些实施方式中,所述鉴权分析还包括:
网关服务器接收用户端(以Cookie中的用户ID作为标识符)的心跳数据,并且根据心跳数据判断是否存在用户端异常访问行为,给出心跳数据判断结果,当心跳数据判断结果表明存在用户端异常访问行为时,网关服务器通知用户端进行人机识别,获得人机识别结果,在识别正确的情况下,将心跳数据判断结果修改为不存在用户端异常访问行为;所述“根据一致性比较结果计算鉴权分析结果,并向资源服务器和/或CDN边缘节点发送相应的鉴权分析结果”步骤包括:当该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致,并且“心跳数据判断结果”表明不存在用户端异常访问行为时,网关服务器向资源服务器和/或CDN边缘节点发送指令“授权此次用户端的资源访问请求”,否则,网关服务器向资源服务器和/或CDN边缘节点发送指令“禁止此次用户端的资源访问请求”。
心跳数据是指定时向服务器发送的数据,发送心跳数据的数据包可以称为心跳包。心跳包通常是客户端每隔一小段时间向服务器发送的一个数据包,通知服务器自己仍然在线,并传输一些可能有必要的数据。因按照一定的时间间隔发送,类似于心跳,所以叫做心跳包。
因为网络浏览器的Referer/Origin信息无法伪造,所以心跳数据无法伪造。本申请中的术语“Referer/Origin”是计算机用语,具有本领域技术人员通常理解的含义,主要是用来说明最初请求是从哪里发起的。
本申请的方法在鉴权的过程中通过对心跳数据进行分析,通过心跳交互防御加固了整个防盗链防御系统,从而覆盖所有防御模式,既拥有坚固的防盗链效果,用户端又有完美的体验。
需要说明的是,在具体的实施方式中,本申请的方法可以先进行该鉴权用“签名”与用户“签名”进行一致性比较,再进行心跳数据进行分析。这是因为,在进行该鉴权用“签名”与用户“签名”进行一致性比较的结果表明存在盗链行为的情况下,已经无需再进行心跳数据分析,可以直接拒绝资源访问请求。
在一些实施方式中,“用户端进行人机识别”包括:通过图形验证码、简单交互游戏、手机短信验证码、要求用户登录等方式中的至少一种。本领域技术人员应该理解,用户端进行人机识别的方法有很多,本申请并不限于以上所列举的这些。
本申请还提供一种防盗链网关系统,其包括具有相同的一级域名的网关服务器和“资源服务器和/或CDN边缘节点”,所述网关服务器和“资源服务器和/或CDN边缘节点”配置为能够执行任一种本申请所述的方法。
具体地,本申请还提供所述防盗链网关系统的具体实现方式。更具体地,本申请还提供一种防盗链网关系统,其包括网关服务器,其中所述网关服务器包括:分发模块(p),所述分发模块分发带有全局唯一性用户ID的Cookie,资源地址及根据所述“全局唯一性用户ID”计算得到的签名;心跳维持服务模块(hb),其接收用户端推送的心跳数据,调用“心跳判决服务模块(ha)”得到心跳数据判断结果,并将判断结果发送给用户端;心跳判决服务模块(ha),根据收集到的心跳数据,判断是否存在用户端异常访问行为,给出心跳数据判断结果;心跳交互服务模块(hi),接收用户端的人机识别交互请求,和获取人机识别数据,根据该数据,进行人机识别判断,在识别正确的情况下,调用心跳判决服务模块(ha)将心跳数据判断结果修改为不存在用户端异常访问行为;和资源访问鉴权服务模块(a),其从“资源服务器和/或CDN边缘节点”接收用户端请求信息;提取用户端请求信息中的用户“签名”;提取用户端请求信息中的“用户ID”并计算相应的鉴权用“签名”,将该鉴权用“签名”与用户“签名”进行一致性比较,获得一致性比较结果;在该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,调用“心跳判决服务模块(ha)”得到心跳数据判断结果;当“心跳数据判断结果”表明不存在用户端异常访问行为,并且该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,向资源服务器和/或CDN边缘节点发送指令“授权此次用户端的资源访问请求”,否则,向资源服务器和/或CDN边缘节点发送指令“禁止此次用户端的资源访问请求”。
因此,本申请也提供一种网关服务器,其中所述网关服务器包括:分发模块(p),所述分发模块分发带有全局唯一性用户ID的Cookie,资源地址及根据所述“全局唯一性用户ID”计算得到的签名;心跳维持服务模块(hb),其接收用户端推送的心跳数据,调用“心跳判决服务模块(ha)”得到心跳数据判断结果,并将判断结果发送给用户端;心跳判决服务模块(ha),根据收集到的心跳数据,判断是否存在用户端异常访问行为,给出心跳数据判断结果;心跳交互服务模块(hi),接收用户端的人机识别交互请求,和获取人机识别数据,根据该数据,进行人机识别判断,在识别正确的情况下,调用心跳判决服务模块(ha)将心跳数据判断结果修改为不存在用户端异常访问行为;和资源访问鉴权服务模块(a),其从“资源服务器和/或CDN边缘节点”接收用户端请求信息;提取用户端请求信息中的用户“签名”;提取用户端请求信息中的“用户ID”并计算相应的鉴权用“签名”,将该鉴权用“签名”与用户“签名”进行一致性比较,获得一致性比较结果;在该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,调用“心跳判决服务模块(ha)”得到心跳数据判断结果;当“心跳数据判断结果”表明不存在用户端异常访问行为,并且该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,向资源服务器和/或CDN边缘节点发送指令“授权此次用户端的资源访问请求”,否则,向资源服务器和/或CDN边缘节点发送指令“禁止此次用户端的资源访问请求”
本申请的网关服务器是一种前置网关,其本身可以是一台或者多台电脑,或者超级计算机的一部分,也可以是具有相应功能网络硬件。
本领域技术人员应该理解,实现本发明的防盗链方法的具体实施方式并不限于此。以上的具体实施方式能够实现本申请的防盗链方法,并且达到相应的技术效果。本领域技术人员应该理解,在所述防盗链网关系统或者网关服务器中,实现具体功能的模块可以是单独的模块,也可以与其它模块构成一个相应模块,或者在执行上进行其它具体的划分,只要能够实现相应的功能即可,本领域技术人员在本申请的启发下做出的各种改变和变化都在本申请的保护范围内。
在一些实施方式中,所述防盗链网关系统还包括运行于用户端的以下模块:心跳数据推送模块(hc),其收集用户端的心跳数据,并将其发推送给心跳维持服务模块(hb);和人机识别模块(mi),其从心跳交互服务模块(hi)获取人机交互识别信息,进行人机识别,向心跳交互服务模块(hi)发送人机识别交互信息。通过hc和mi模块,可以实现与以上所述的具体防盗链网关系统中的相应模块进行交互。本领域技术人员应该理解,通过其它基本上相同的方式实现的基本上相同功能和达到基本相同效果的技术方案也在本申请的保护范围内。
在具体的实施方式中,防盗链网关系统还包括“资源服务器和/或CDN边缘节点”,所述资源服务器和/或CDN边缘节点在接收到用户端资源访问请求后,将用户端请求信息发送给网关服务器进行鉴权分析,并且根据鉴权分析结果来响应用户端请求。
在具体的实施方式中,所述网关服务器还包括网关管理服务模块(m),其执行以下功能中的至少一种:配置是否开启防盗链系统,配置日志记录等级,配置反向代理源资源地址,配置鉴权签名所需的私钥,配置鉴权签名的有效时间,配置鉴权Referer/Origin白名单/黑名单,配置鉴权User-Agent白名单/黑名单,配置访问/鉴权IP黑/白名单。
在具体的实施方式中,所述网关服务器还包括心跳分析服务模块(hy),对心跳数据进行分析。根据从用户端收集到的信息,按照各种维度统计分析,能分析到的结果包括但不限于:1,当前有多少人正在观看视频;2,每一部影片有哪些人正在看,并且知道所有人的播放进度;3,根据用户的IP地址,按照地理位置、国家、城市统计用户分布;4,用户端使用的设备型号(PC、Mac、苹果手机、安卓手机等)、操作系统、浏览器。
在具体的实施方式中,所述分发模块(p)通过反向代理源资源地址而获得所分发的资源地址。
实施例
下面结合附图对本申请的技术方案做更加具体的解释,应该理解,实施例仅用于说明本申请的技术方案,并不是对本申请技术方案的限制。
根据本申请的方法和系统,本申请的发明人构建了整套防盗链防御系统。
整套防盗链防御系统由9个模块组成,包括运行于防盗链网关服务器上的7个模块和运行于用户端的2个模块。
具体地,网关服务器提供7个模块:
1,签名及分发视频播放地址模块(接口p)
A,该接口负责代理原有视频播放地址的签名和分发
在配合CDN使用时,使用与CDN缓存key无关的URL参数名。
B,基于用户端浏览器请求信息计算全局唯一的用户标识__avi,并将此__avi下发到用户端浏览器的Cookie中。
该模块的具体实现方式如图1中所示。
2,心跳维持服务模块(接口hb)
A,接收用户端(以Cookie中的__avi作为标识符)的心跳数据推送模块hc的心跳数据
数据包括当前网页的工作路由地址、User Agent等完整的用户端Http信息
B,因为浏览器的Referer/Origin无法伪造,所以心跳数据无法伪造。我们只接受域名在白名单内的请求,其他请求数据将被抛弃。
C,询问心跳判决服务模块ha,发送用户端异常等级标识位该模块的具体实现方式如图2中所示。
3,心跳判决服务模块(接口ha)
A,根据hb收集到的数据,分析用户端是否存在异常访问行为,并给予合理的等级评分
B,修改网关数据库中记录的该用户端异常等级标识位信息
该模块的具体实现方式如图3中所示。
4,心跳分析服务模块(接口hy)
A,根据从用户端收集到的信息,按照各种维度统计分析,能分析到的结果有:
i,当前有多少人正在观看视频
ii,每一部影片有哪些人正在看,并且知道所有人的播放进度
iii,根据用户的IP地址,按照地理位置、国家、城市统计用户分布
iv,用户端使用的设备型号(PC、Mac、苹果手机、安卓手机等)、操作系统、浏览器
该模块的具体实现方式如图4中所示。
5,心跳交互服务模块(接口hi)
A,当心跳判决服务模块ha分析出用户端存在异常访问行为后,防盗链网关hb接口将通知用户端必须运行人机识别模块mi,用户端人机识别模块mi将调用此hi接口完成人机识别
该模块的具体实现方式如图5中所示。
6,资源访问鉴权服务模块(接口a)
A,所有资源服务器以及CDN边缘节点在接收到用户端请求视频或者其他文件资源后,将完整的用户端Http请求信息发送给此接口进行鉴权分析。
B,调用心跳判决服务模块ha,判断此用户端是否存在异常访问行为
C,授权/禁止此次用户端的资源请求
该模块的具体实现方式如图6中所示。
7,网关管理服务模块(接口m)
A,管理防盗链网关配置信息
该模块的具体实现方式如图7中所示。
用户端提供2个模块
8,心跳数据推送模块(模块hc)
A,尝试以指数变频方式连接心跳维持服务模块hb
B,连接成功后,推送用户端心跳信息
C,当从hb收到客户端有异常访问行为后,调用mi进行人机交互
该模块的具体实现方式如图8中所示。
9,人机识别模块(模块mi)
A,通过图形验证码、简单交互游戏、手机短信验证码、要求用户登录等方式确认用户是真人的服务,而非机器在发起访问。
该模块的具体实现方式如图9中所示。
图10展示了根据本发明的防盗链系统的一种实施方式的示意图。
从图中可以看出,整个防盗链系统包括三个部分,防盗链网关部分,用户端部分,和CDN节点部分。其中,以上所述的模块hb、hi、ha、hy、p、a和m运行于防盗链网关,用户端运行模块hc和mi,其中player是指媒体播放器。这是以请求媒体播放资源的一个防盗链网关实例。其中所述防盗链网关是可以是一台或者多台电脑,或者超级计算机的一部分,也可以是具有相应功能的网络硬件设施。各个模块hb、hi、ha、hy、p、a和m,以及模块hc和mi按照图1-9的功能设计。CDN节点将从用户端接收到的用户端访问请求的信息发送给防盗链网关进行鉴权,并且根据鉴权结果来响应用户端的访问请求。
该实施例能够很好地实现防盗链功能,并且给用户完美的体验。根据实际的测试,在防盗链网关由8台4核8GB阿里云ECS服务器配置搭建的集群时,该系统能够轻松抵御每天80亿次的访问量,因此,本发明的方法和系统还具有超高并发计算能力,防盗链效率高、准确率高的优点。
虽然已经进行了以上说明,但是申请人还希望进一步从技术的角度对本申请的方法和系统进行解释说明如下:
工作原理
1,被保护网站使用同一级域名访问以下两种资源:
A,防盗链网关签名及分发视频播放地址模块(接口p),例如:
使用域名p.a.com访问接口p。
B,视频、文件等资源,例如:
使用域名v.a.com访问视频等资源(或者将该域名CNAME到CDN所有边缘节点)。
2,被保护网站的页面运行
心跳数据推送模块(模块hc)推送用户访问轨迹以及操作行为给防盗链网关心跳维持服务模块(接口hb)。
A,hc通过指数变频策略尝试连接hb。
B,hc成功连接hb后,hb会告知hc下一次续约时间。
C,hc在下一次续约时间之前,以变频策略方式尝试再次连接hb。
D,如果hb告知hc有异常行为,则hc立即运行人机识别模块(模块mi)连接防盗链网关心跳交互服务模块(接口hi)完成人机识别交互。
整个心跳工作过程,hc会发送__avi给hb,此过程浏览器会保证Referer/Origin和User Agent字段的真实性,不被伪造。
hb会根据全局唯一的__avi,在防盗链网关的数据库中记录和跟踪该用户的行为,为ha、hi模块提供数据。
3,被保护网站资源访问(视频播放)页面调用防盗链网关签名及分发视频播放地址模块(接口p)
A,获取带有签名的视频播放地址,该地址的域名指向CDN边缘节点,也可以指向真实服务器,该资源URL地址必须与防盗链网关签名及分发视频播放地址模块(接口p)使用相同一级域名。
B,基于用户端浏览器请求的Http信息,生成全局唯一的用户特征指纹ID(以下简称__avi),并将此__avi保存在用户端浏览器的Cookie中,会话期内有效。
C,上述步骤A中提到的签名后的视频播放地址(URL)中已经包含了基于Cookie中__avi计算出的签名信息(以下简称__avs),签名算法:
签名版本+__avi+保存在服务器上的私钥+资源访问地址+有效时间(以下简称__tm)
在一种实施方式中,以上“资源访问地址”信息先去掉CDN服务器固有的例外的参数以及__avs参数后,所有参数按照参数名字母顺序重新排序后的字符串。做出这样的设计是本领域技术人员所熟知的。
4,被保护网站资源访问(视频播放)页面调用带有__avs签名的资源地址尝试访问被保护资源
A,播放地址带有__avs签名
B,并且此资源访问URL与防盗链网关签名及分发视频播放地址模块(接口p)的URL都属于相同一级域名,例如:p.a.com,v.a.com都与a.com具有相同的一级域名。所以该请求的Cookie中会带有__avi信息。
C,CDN边缘节点或者真实服务器收到视频播放请求后,会首先将完整的用户端Http请求数据发送给防盗链网关资源访问的鉴权服务模块(接口a),由鉴权服务确定是否允许访问。
D,鉴权服务模块(接口a)鉴权的算法是:
1,从URL中提取__avs和有效时间__tm,然后根据Cookie中的__avi+保存在服务器上的私钥+__tm,重新计算一次签名,然后将此签名与__avs对比。如果刚刚计算出的签名与__avs完全匹配,认为是正常访问,否则认为是盗链行为。
2,通过Http请求的Referer/Origin信息确认访问来源是否在白名单内。如果在白名单内,认为是正常访问,否则认为是盗链行为。
3,通过Http请求的User Agent信息确认访问者是否在黑名单内。如果在黑名单内,认为是盗链行为,否则认为是正常访问。
4,通过Http请求的User Agent信息确认访问者使用的是普通浏览器访问,如果Http请求的Cookie中没有__avi则认为是恶意访问。
5,调用防盗链网关心跳判决服务模块(接口ha),分析用户端ID为__avi的心跳信息,如果有异常行为,则在防盗链网关数据库中标记为异常,认为是盗链行为,否则认为是正常访问而放行。
本防盗链系统支持CDN的原理
每一次用户通过CDN边缘节点访问资源之前都将用户端发送的完整的Http请求信息发送给前置网关,由前置网关进行安全分析。只有前置网关同意才允许最终用户访问,即便是已经缓存在CDN边缘节点的资源也是如此,否则,直接拒绝用户的访问。所以,所有资源的访问权限都是基于这种前置网关的保护。
由于用户端工作环境极其复杂,表现在以下几种情况:
1,各种浏览器在处理Http请求包时各不相同,导致Referer/Origin和User Agent信息不完整。
2,有些电脑安装了杀毒软件以后可能会破坏Http请求包中的Referer/Origin和User Agent信息。
3,某些小区宽带的网关可能会丢失Referer/Origin信息。
另外,由于整个过程中使用了Cookie作为重要的传输媒介,但网络环境很复杂,以下两种常见的情况将被迫使用IP地址跨域访问资源。
1,HttpDNS
当local DNS被劫持或者污染,或者被强行修改/缓存,此时很多用户端软件(例如,播放器等)会采用HttpDNS的方式联系权威DNS获取真正的域名解析结果(IP地址),为了更好的兼容性,一般将Http请求的Host设置为IP地址的形式来访问资源,确保访问不会被污染。此过程还涉及到Cookie的转域过程,此过程会留下安全隐患,以下有单独的说明。
2,CDN节点强制调度
访问CDN的边缘节点之前,用户端首先要通过DNS协议请求CDN的智能DNS解析中心得到离用户最近的最优的边缘节点的IP地址,一般做的比较好的CDN的智能DNS会根据所有CDN节点的负载来分配最近最优并且在此刻不忙的节点。但问题在于DNS的解析结果有很多层级的缓存,比如浏览器会缓存DNS的解析结果,并且缓存时间与DNS返回的TTL无关,在这个被缓存的这个时间窗口上整个网络状态会发生很多变化。
因为有很多层级的DNS解析结果缓存的存在,无论CDN的智能DNS解析调度有多么精准,在这个缓存的时间窗口内,CDN的智能DNS解析调度中心即便知道所有CDN边缘节点的繁忙状态,也没有机会通知用户端刷新DNS解析记录。在这段时间窗口内,某些CDN节点可能会变得很忙,而某些CDN节点可能会变得很闲。做的比较好的CDN厂商不仅仅让智能DNS感知所有CDN节点的运行状态,同时也会让所有CDN边缘节点感知到其周围CDN节点的运行状况。
所以,CDN边缘节点还有另外一个功能,叫做“强行调度”。当某个非常繁忙的CDN边缘节点接收到一个用户端的资源请求时,它感知到它的周围存在比自己更空闲的CDN节点,于是它就准备将该请求转发给比自己更空闲的邻居处理,转发的方法是将Http请求的Host设置为那个很闲的IP地址,然后让用户端以Http 302跳转的形式,把该请求转发给更空闲的CDN节点处理。
此过程也会涉及到Cookie的转域过程,此过程会留下安全隐患,以下有单独的说明。
为了良好地兼容HttpDNS和CDN强制调度,又因为CDN边缘节点可以与任何该CDN厂商的所有客户共享,也即CDN边缘节点的访问IP地址是共享的,当攻击者采用Http请求的Host为CDN边缘节点的IP地址的这种方法攻击时,基于Cookie中存放__avi,并且在资源URL中存放对应签名__avs的方法是无效的,因为攻击者与资源拥有者同样可以使用该CDN节点的IP地址,所以攻击者也可以完全控制以该CDN节点IP为Host的Http请求的Cookie的读写权限。这种攻击普通的防盗链系统很难识别,因为这完全是因为CDN本身漏洞导致的,也不能因此而禁止HttpDNS和CDN强制调度,所以此时必须以心跳交互防御的方式辅助,才能达到最完美的防盗链效果,由于用户端参与量并不高,因此保证了完美的用户端体验。
Cookie转域致命安全漏洞说明
如上所诉,为了实现HttpDNS和CDN强行调度,正常使用域名访问的Http请求将改变Host为精准IP形式访问(通常是一个Http 302跳转)。
由于Cookie不能跨域传输,为了保证Http请求数据的完整性,一般会将原有访问域名下的Cookie转存到新的以IP地址为Host的请求下。此过程技术上很简单,但一个巨大的漏洞也在此。
因为CDN节点是共享的,意味着以IP地址方式的访问也是共享的,CDN不仅仅可以用来做缓存节点,也可以用来做反向代理节点,而且是与该CDN商家的所有客户共享使用所有CDN节点的IP地址。意味着Cookie能轻易地被非本站程序获取和利用。这样我们Cookie中存放的参与签名计算的用户ID__avi就可以伪造了。
解决此类问题可以禁止HttpDNS和CDN强行调度,但这将导致用户端体验降低,很多访问被误拦。
根据上面的描述,如果没有心跳交互防护的话,那么会导致误拦,导致客户体验比较差,更为严重的情况会导致用户流失等恶劣情况发生。防盗链系统最关键的两点是:一要保证用户端良好的使用体验,二是要保证尽可能的防盗链效果。
心跳数据推送模块(模块hc)会工作在被防护网站的所有页面,记录用户所有页面的访问轨迹和操作行为。
由于安全考虑,浏览器的Referer/Origin和User Agent是无法伪造的,所以hc发送给防盗链网关心跳维持服务模块(接口hb)的数据是可信的。
我们可以根据大数据分析计算出一个用户的行为是否正常,是否是在我们网站正常访问的用户,给一个用户的行为打分,当遇到可疑的访问时,及时作出响应计算。
安全措施
1,Cookie无法跨域传输,所以盗链网站无法跨域得到Cookie。
2,如果用户使用iframe等方式嵌套签名及分发视频播放地址模块(接口p),被保护网站可以通过JavaScript脚本判断当前浏览器顶级location地址,如果不是被保护网站域名,被保护网站可以直接整个页面跳转到被保护网站。
3,在调用签名及分发视频播放地址模块(接口p)时,被保护网站会判断Http请求中的Referer/Origin值,确保Referer/Origin不为空,并且在白名单中。
4,根据Referrer Policy,网站可以隐藏Referer/Origin但是不能伪造Referer/Origin,基于Referer/Origin是可信的,被保护网站可以确保签名及分发视频播放地址模块(接口p)一定是在被保护网站上被调用。
5,为了保证更新私钥过程中零误伤,可以采用了两个私钥的方式,更新服务器代码的时候逐个更新。验证签名的时候进行两次验证,只要有一个签名匹配就认为签名匹配。
6,为了保证Http请求中Host为IP地址形式的访问能正常响应,并也能很好的拦截盗链行为,采用心跳交互加固的模式可以对整个系统的稳定性做加固优化。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

Claims (13)

1.一种防盗链方法,其包括如下步骤:
网关服务器根据用户端请求,向用户端下发带有全局唯一性用户ID的Cookie、资源地址和根据所述“全局唯一性用户ID”计算得到的签名;
资源服务器和/或CDN边缘节点接收用户端的资源访问请求,并将用户端请求信息发送给网关服务器进行鉴权分析,并且根据鉴权分析结果来响应用户端请求,其中所述资源服务器和/或CDN边缘节点与所述网关服务器具有相同的一级域名;和
网关服务器对从“资源服务器和/或CDN边缘节点”接收到的用户端请求信息进行鉴权分析;
其中所述鉴权分析包括:
网关服务器提取用户端请求信息中的用户“签名”;
网关服务器提取用户端请求信息中的“用户ID”并计算相应的鉴权用“签名”,将该鉴权用“签名”与用户“签名”进行一致性比较,获得一致性比较结果,根据一致性比较结果计算鉴权分析结果,并向资源服务器和/或CDN边缘节点发送相应的鉴权分析结果。
2.权利要求1的方法,其中所述“签名”包括“用户ID”信息和网关服务器的私钥。
3.权利要求2的方法,其中所述“签名”包括下信息中的一个或多个:签名版本,签名有效时间和资源地址。
4.权利要求1-3中任一项所述的方法,其中所述鉴权分析还包括:
网关服务器接收用户端(以Cookie中的用户ID作为标识符)的心跳数据,并且根据心跳数据判断是否存在用户端异常访问行为,给出心跳数据判断结果,当心跳数据判断结果表明存在用户端异常访问行为时,网关服务器通知用户端进行人机识别,获得人机识别结果,在识别正确的情况下,将心跳数据判断结果修改为不存在用户端异常访问行为;
所述“根据一致性比较结果计算鉴权分析结果,并向资源服务器和/或CDN边缘节点发送相应的鉴权分析结果”步骤包括:当该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致,并且“心跳数据判断结果”表明不存在用户端异常访问行为时,网关服务器向资源服务器和/或CDN边缘节点发送指令“授权此次用户端的资源访问请求”,否则,网关服务器向资源服务器和/或CDN边缘节点发送指令“禁止此次用户端的资源访问请求”。
5.权利要求1至3中任一项的方法,其中
“用户端进行人机识别”包括:通过图形验证码、简单交互游戏、手机短信验证码、要求用户登录等方式中的至少一种。
6.权利要求1至3中任一项的方法,其中
网关服务器通过反向代理源资源地址获取接口而获得所述资源地址,所述签名作为URL参数添加到资源URL中发给用户端。
7.一种防盗链网关系统,其包括具有相同的一级域名的网关服务器和“资源服务器和/或CDN边缘节点”,所述网关服务器和“资源服务器和/或CDN边缘节点”配置为能够执行权利要求1-6中任一项所述的方法。
8.一种防盗链网关系统,其包括网关服务器,
其中所述网关服务器包括:
分发模块(p),所述分发模块分发带有全局唯一性用户ID的Cookie,资源地址及根据所述“全局唯一性用户ID”计算得到的签名;
心跳维持服务模块(hb),其接收用户端推送的心跳数据,调用“心跳判决服务模块(ha)”得到心跳数据判断结果,并将判断结果发送给用户端;
心跳判决服务模块(ha),根据收集到的心跳数据,判断是否存在用户端异常访问行为,给出心跳数据判断结果;
心跳交互服务模块(hi),接收用户端的人机识别交互请求,和获取人机识别数据,根据该数据,进行人机识别判断,在识别正确的情况下,调用心跳判决服务模块(ha)将心跳数据判断结果修改为不存在用户端异常访问行为;和
资源访问鉴权服务模块(a),其从“资源服务器和/或CDN边缘节点”接收用户端请求信息;提取用户端请求信息中的用户“签名”;提取用户端请求信息中的“用户ID”并计算相应的鉴权用“签名”,将该鉴权用“签名”与用户“签名”进行一致性比较,获得一致性比较结果;在该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,调用“心跳判决服务模块(ha)”得到心跳数据判断结果;当“心跳数据判断结果”表明不存在用户端异常访问行为,并且该鉴权用“签名”与用户“签名”进行一致性比较的结果为一致时,向资源服务器和/或CDN边缘节点发送指令“授权此次用户端的资源访问请求”,否则,向资源服务器和/或CDN边缘节点发送指令“禁止此次用户端的资源访问请求”。
9.权利要求8的防盗链网关系统,还包括运行于用户端的以下模块:
心跳数据推送模块(hc),其收集用户端的心跳数据,并将其发推送给心跳维持服务模块(hb);和
人机识别模块(mi),其从心跳交互服务模块(hi)获取人机交互识别信息,进行人机识别,向心跳交互服务模块(hi)发送人机识别交互信息。
10.权利要求8或9的防盗链网关系统,还包括“资源服务器和/或CDN边缘节点”,所述资源服务器和/或CDN边缘节点在接收到用户端资源访问请求后,将用户端请求信息发送给网关服务器进行鉴权分析,并且根据鉴权分析结果来响应用户端请求。
11.权利要求8或9的防盗链网关系统,其中所述网关服务器还包括网关管理服务模块(m),其执行以下功能中的至少一种:配置是否开启防盗链系统,配置日志记录等级,配置反向代理源资源地址,配置鉴权签名所需的私钥,配置鉴权签名的有效时间,配置鉴权Referer/Origin白名单/黑名单,配置鉴权User-Agent白名单/黑名单,配置访问/鉴权IP黑/白名单。
12.权利要求8或9的防盗链网关系统,其中所述网关服务器还包括心跳分析服务模块(hy),对心跳数据进行分析。
13.权利要求8或9的防盗链网关系统,其中所述分发模块(p)通过反向代理源资源地址而获得所分发的资源地址。
CN201710696045.0A 2017-08-15 2017-08-15 一种防盗链方法及防盗链网关系统 Active CN109413000B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710696045.0A CN109413000B (zh) 2017-08-15 2017-08-15 一种防盗链方法及防盗链网关系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710696045.0A CN109413000B (zh) 2017-08-15 2017-08-15 一种防盗链方法及防盗链网关系统

Publications (2)

Publication Number Publication Date
CN109413000A true CN109413000A (zh) 2019-03-01
CN109413000B CN109413000B (zh) 2021-06-18

Family

ID=65454166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710696045.0A Active CN109413000B (zh) 2017-08-15 2017-08-15 一种防盗链方法及防盗链网关系统

Country Status (1)

Country Link
CN (1) CN109413000B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247889A (zh) * 2019-04-23 2019-09-17 湖南快乐阳光互动娱乐传媒有限公司 一种cdn节点服务防盗链方法及系统
CN110365688A (zh) * 2019-07-19 2019-10-22 湖南快乐阳光互动娱乐传媒有限公司 防盗链方法及装置
CN110661817A (zh) * 2019-10-25 2020-01-07 新华三大数据技术有限公司 资源访问方法、装置及服务网关
CN110889445A (zh) * 2019-11-22 2020-03-17 咪咕文化科技有限公司 视频cdn盗链检测方法、装置、电子设备及存储介质
CN111371872A (zh) * 2020-02-27 2020-07-03 青岛海尔空调器有限总公司 防盗用控制方法、共享家用电器、服务器和共享系统
CN112866272A (zh) * 2021-01-27 2021-05-28 世纪龙信息网络有限责任公司 一种云平台的防盗链管控方法、下载平台和设备
CN112953724A (zh) * 2021-02-22 2021-06-11 广州虎牙科技有限公司 防盗链的鉴权方法以及相关装置、设备
CN112953986A (zh) * 2019-12-10 2021-06-11 华为技术有限公司 一种边缘应用的管理方法及装置
EP3813338A4 (en) * 2019-08-22 2021-08-25 Wangsu Science & Technology Co., Ltd. METHOD AND SYSTEM FOR PLANNING EDGE CDN NODES
CN117938962A (zh) * 2024-03-21 2024-04-26 北京火山引擎科技有限公司 用于cdn的网络请求调度方法、装置、设备及介质
CN117938962B (zh) * 2024-03-21 2024-07-05 北京火山引擎科技有限公司 用于cdn的网络请求调度方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704732B1 (en) * 1999-01-29 2004-03-09 Hewlett-Packard Development Company, L.P. Website usage monitoring
CN103067409A (zh) * 2013-01-21 2013-04-24 中国科学院信息工程研究所 一种web盗链防护方法及其网关系统
CN105657474A (zh) * 2016-02-19 2016-06-08 微鲸科技有限公司 在视频应用中使用基于身份签名体制的防盗链方法及系统
CN105915494A (zh) * 2015-12-07 2016-08-31 乐视云计算有限公司 防盗链方法及系统
CN106453305A (zh) * 2016-10-10 2017-02-22 传线网络科技(上海)有限公司 会员直播防盗链方法、装置及网络服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704732B1 (en) * 1999-01-29 2004-03-09 Hewlett-Packard Development Company, L.P. Website usage monitoring
CN103067409A (zh) * 2013-01-21 2013-04-24 中国科学院信息工程研究所 一种web盗链防护方法及其网关系统
CN105915494A (zh) * 2015-12-07 2016-08-31 乐视云计算有限公司 防盗链方法及系统
CN105657474A (zh) * 2016-02-19 2016-06-08 微鲸科技有限公司 在视频应用中使用基于身份签名体制的防盗链方法及系统
CN106453305A (zh) * 2016-10-10 2017-02-22 传线网络科技(上海)有限公司 会员直播防盗链方法、装置及网络服务器

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110247889A (zh) * 2019-04-23 2019-09-17 湖南快乐阳光互动娱乐传媒有限公司 一种cdn节点服务防盗链方法及系统
CN110247889B (zh) * 2019-04-23 2022-04-08 湖南快乐阳光互动娱乐传媒有限公司 一种cdn节点服务防盗链方法及系统
CN110365688A (zh) * 2019-07-19 2019-10-22 湖南快乐阳光互动娱乐传媒有限公司 防盗链方法及装置
EP3813338A4 (en) * 2019-08-22 2021-08-25 Wangsu Science & Technology Co., Ltd. METHOD AND SYSTEM FOR PLANNING EDGE CDN NODES
US11323411B2 (en) 2019-08-22 2022-05-03 Wangsu Science & Technology Co., Ltd. Method and system for scheduling edge CDN node
CN110661817A (zh) * 2019-10-25 2020-01-07 新华三大数据技术有限公司 资源访问方法、装置及服务网关
CN110889445A (zh) * 2019-11-22 2020-03-17 咪咕文化科技有限公司 视频cdn盗链检测方法、装置、电子设备及存储介质
CN110889445B (zh) * 2019-11-22 2022-09-27 咪咕文化科技有限公司 视频cdn盗链检测方法、装置、电子设备及存储介质
CN112953986A (zh) * 2019-12-10 2021-06-11 华为技术有限公司 一种边缘应用的管理方法及装置
CN112953986B (zh) * 2019-12-10 2024-03-12 华为云计算技术有限公司 一种边缘应用的管理方法及装置
CN111371872A (zh) * 2020-02-27 2020-07-03 青岛海尔空调器有限总公司 防盗用控制方法、共享家用电器、服务器和共享系统
CN112866272A (zh) * 2021-01-27 2021-05-28 世纪龙信息网络有限责任公司 一种云平台的防盗链管控方法、下载平台和设备
CN112953724A (zh) * 2021-02-22 2021-06-11 广州虎牙科技有限公司 防盗链的鉴权方法以及相关装置、设备
CN117938962A (zh) * 2024-03-21 2024-04-26 北京火山引擎科技有限公司 用于cdn的网络请求调度方法、装置、设备及介质
CN117938962B (zh) * 2024-03-21 2024-07-05 北京火山引擎科技有限公司 用于cdn的网络请求调度方法、装置、设备及介质

Also Published As

Publication number Publication date
CN109413000B (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
CN109413000A (zh) 一种防盗链方法及防盗链网关系统
CN104378376B (zh) 基于soa的单点登录方法、认证服务器和浏览器
Jakobsson et al. Invasive browser sniffing and countermeasures
US8141138B2 (en) Auditing correlated events using a secure web single sign-on login
CN102394887B (zh) 基于OAuth协议的开放平台安全认证方法和系统
CN103179134A (zh) 基于Cookie的单点登录方法、系统及其应用服务器
Tsai et al. Information security issue of enterprises adopting the application of cloud computing
CN112468481B (zh) 一种基于CAS的单页和多页web应用身份集成认证方法
CN106612246A (zh) 一种模拟身份的统一认证方法
CN104767731A (zh) 一种Restful移动交易系统身份认证防护方法
Caviglione et al. A taxonomy-based model of security and privacy in online social networks
CN111092910B (zh) 数据库安全访问方法、装置、设备、系统及可读存储介质
CN108234509A (zh) 基于tee和pki证书的fido认证器、认证系统及方法
EP2974142B1 (en) Systems and methods for assessing security risk
CN109040069A (zh) 一种云应用程序的发布方法、发布系统及访问方法
CN101540757A (zh) 网络认证方法、系统和认证设备
CN112131564A (zh) 加密数据通信方法、装置、设备以及介质
CN101404643A (zh) 基于ipsec技术实现无线单点登录系统及其运行方法
CN108476199A (zh) 一种基于令牌机制的检测和防御cc 攻击的系统和方法
CN117155716B (zh) 访问校验方法和装置、存储介质及电子设备
Vratonjic et al. Integrity of the web content: The case of online advertising
CN104243488B (zh) 一种跨网站服务器的登录认证方法
CN108989334A (zh) 一种基于java的sso单点登录方法
Grzonkowski et al. D-FOAF-Security aspects in distributed user management system
Sandıkkaya et al. Design and formal verification of a cloud compliant secure logging mechanism

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210518

Address after: 230000 Room 301, building 2, xinlihaidun mansion phase II, 111 Taihu Road, Baohe District, Hefei City, Anhui Province

Applicant after: Liu Qixing

Address before: 100080 Room 302, unit 1, building 224, Wanxiang Xintian community, Guanzhuang Road, Chaoyang District, Beijing

Applicant before: Wu Bo

GR01 Patent grant
GR01 Patent grant