一种web服务防盗链方法

文档序号:6555058阅读:152来源:国知局
专利名称:一种web服务防盗链方法
技术领域
本发明涉及WEB服务的防盗链方法。
背景技术
在传统web(网络)服务中,由于超级链接所指向的URL(统一资源定位器)恒定且直接暴露在浏览器中,因此不能提供有效的对用户鉴权的机制,使得服务提供者提供的URL容易被盗链,典型的盗链包括如下几种情况1、其它网页未经允许私自发布超级链接指向合法的URL。
2、未注册用户未经允许访问注册用户才可以访问的URL。
3、用户通过更改URL来访问未发布的URL。
4、用户在合法的URL过期后还试图访问该URL。
现有的web服务模型如下在服务提供商生成的web页面上通过一个超级链接链接到指定的资源(包括web页面,文件,音频视频信息等URL),用户通过点击该超级链接来访问指定的资源。这样做的缺点在于用户可以通过查看web页面源码等方式很容易的得到特定资源的URL,并在其它web页面上生成指向该URL的超级链接。这使得用户可以不用通过访问服务提供商提供的web页面就直接访问想要的资源,这对web服务的鉴权和计费都有很大影响。
如何防止这些非法的接入请求,保证合法用户和服务提供商的权益是本发明要解决的问题。

发明内容
本发明的目的在于针对现有技术中的不足,提供一种WEB服务防盗链方法,在相关协议的框架内提供一种WEB服务系统防止非法用户盗用URL机制,该方法具有下列优点1、防止用户修改门户呈现的URL并通过修改后的URL接入WEB服务器;2、阻止非法用户的接入请求;3、防止未经许可的其它网站对本网站资源的盗链。
本发明的技术方案是一种WEB服务防盗链方法,其特征在于使用WEB门户网站和WEB服务器以及新增加的密钥发布服务器共同构建加密URL,利用IETF RFC2396协议关于向URL中插入其它信息的规定,向门户呈现的URL中添加用户的IP,点击时的时间戳信息,使对同一个媒体文件在不同时刻,由不同用户访问时的URL都不相同,保证每个URL都只能在一段时间内为一个特定的用户所用;同时,在URL中还加入对以上内容的AES加密校验串,防止URL被修改。
该方法通过在WEB服务所发布的URL中增加由用户信息和时间戳信息并经AES加密组成的密文字符串来确保使用该URL的用户的合法性并能够保证用户无法修改WEB门户提供的URL,防止URL被盗链和改写;通过对用户请求接入的URL中的附加信息字符串进行比较,检查URL和用户的合法性,为合法的用户提供WEB服务,保证运营商及合法用户的正当权利不受侵害。
如上所述的WEB服务防盗链方法,其特征在于为了防止上述方法中AES加密算法中AES的密钥被破解,增加一个密钥发布服务器,用于按照某种特定的机制,在一段时间间隔后产生新的密钥并发布给WEB门户网站和WEB服务器。
如上所述的WEB服务防盗链方法,其特征在于本发明的流程包括密钥发布流程,加密URL生成流程,加密URL检查流程;密钥发布流程主要包括以下步骤①密钥发布服务器启动,按照一定规则生成密钥,根据网管的配置开启密钥管理监听线程,等待WEB服务器的连接,此时密钥分发服务器的WEB服务器列表为空;②WEB服务器启动后,根据网管的配置,向密钥发布服务器的密钥发布端口发起连接,发送密钥请求消息,从收到的密钥回复消息,得到密钥;③在程序运行过程中,密钥发布服务器定时向WEB服务器列表中的WEB服务器发送密钥回复消息;④WEB服务器收到回复消息后,需要将密钥请求定时器重启。此外,WEB服务器还需要对消息中密钥和当前密钥进行比较,如果密钥相同,则不作其他处理;如果密钥不同,WEB服务器在一定时长内(WEB服务器自定),对URL同时使用新旧密钥进行解密,避免更换新密钥后对使用旧密钥的部分合法URL解密失败;加密URL生成流程在WEB门户上执行,主要包括以下步骤①据用户信息生成明文附加信息字段,包括IP,点击时的时间戳等信息;②将以上信息加入原始URL中,生成包含附加信息的URL;③根据包含附加信息的URL生成哈希校验串;④对哈希校验串用从密钥发布服务器收到的密钥进行AES加密;⑤将加密后生成的串合入包含附加信息的URL,并将此URL在门户上呈现;加密URL检查流程在WEB服务器上执行,主要包括以下步骤①收到的URL中得到包含附加信息的URL;②将收到的URL中的IP与用户实际的IP相比较,如果不相符,就说明是非法用户,WEB服务器就拒绝此次接入请求;③将收到的URL中时间戳字段与当前时间对比,如果与当前时间相差太久,就说明该URL过期,WEB服务器就拒绝此次接入请求;④根据从密钥发布服务器得到的密钥对包含附加信息的URL加密,得到加密字符串;
⑤将生成的加密字符串与收到的URL中的加密字符串相比较,如果相同,就认为是合法的URL,如果不同,就认为URL被修改过,WEB服务器就拒绝此次接入请求。
有益效果本发明可以在WEB服务中有效防止对URL的盗链和修改,有效保护运营商和WEB服务提供商以及合法用户的利益不受侵害。并且本发明也可以应用于其它基于WEB的服务中,如流媒体服务等。


图1是本发明实施例的密钥发布过程流程图。
图2是本发明实施例的密钥更新过程流程图。
具体实施例方式
对URL加密的具体实施方式
如下A.生成URL中的附加字段用户使用的IP地址。
B.生成URL中的附加字段用户点击时生成的时戳(精确到秒)。
C.生成URL中的附加字段经过AES算法加密的哈希串。
D.将A-D生成的附加字段用”&”连接到URL中,其形式为”rtsp//hostip(port)/filepath/filename?ip&timestamp&AES string”其中过程D中加密串的生成过程包括1、将A和B生成的字段用“&”连接,即生成ip&timestamp格式的字符串。
2、将1中生成的字符串与媒体文件存放的原始URL通过“?”相连接,生成“rtsp//hostip(port)/filepath/filename?ip&timestamp”格式的串。其中“rtsp//hostip(port)/filepath/filename”是原始的URL。
3、对2中得到的串取其哈希校验码。
4、对3中得到的哈希校验码进行AES加密,得到最终的加密串。其中AES加密算法的密钥根据一定的规则和一定的间隔生成,并且同时由WEB门户和WEB服务器知晓。
图1中密钥发布流程的具体实施如下1、密钥发布服务器启动后生成密钥。
2、WEB门户启动后连接密钥发布服务器并获取当前密钥。
3、WEB服务器启动后连接密钥发布服务器并获取当前密钥。
图2中密钥更新流程的具体实施如下1、密钥发布服务器定时产生新密钥。
1、密钥发布服务器主动将新密钥下发给WEB门户。
2、密钥发布服务器也将新密钥主动下发给WEB服务器。
从上述实施例中可见,本发明的WEB服务防盗链方法具有下列特征1、不同时刻门户生成的URL时戳不同,就会导致最后的加密哈希串不同,从而可以有效防止盗链。
2、不同用户具有不同的IP,不同的IP也会导致加密哈希串不同。
3、AES加密密钥定时更新,有效防止破解密钥的攻击。
4、WEB服务器收到用户请求的URL后,根据前述A-C的过程进行运算,得到新的AES加密串,与原始AES加密串进行比较,从而知晓URL是否被修改。
5、加密URL的格式完全符合IETF RFC2396协议的要求,不会对正常WEB流程造成任何影响。
本发明的方法涉及到WEB门户网站,WEB服务器,密钥发布服务器。在WEB服务中,利用WEB门户发布的URL携带用户信息,并将用户信息利用AES加密算法进行保护,保证一旦URL中有字段被修改,就会对AES加密后产生不同的字段,同时保证同一个文件在不同时刻被同一用户点击,或者同一文件在相同时刻被不同用户点击时产生的URL都不相同。由于URL加密的密钥是不公开的并且会在一段时间后更新,所以密钥基本不会被破解,从而确保WEB门户上呈现的URL不被盗链,保护运营商和合法用户的正当利益不受侵害。。并且本发明也可以应用于其它基于WEB的服务中,如流媒体服务等。
以上结合实例对本发明作了说明,应指出,本领域技术人员可以做出各种形式的和细节上的改变,而不偏离由所附权利要求确定的本发明的精神和范围。
权利要求
1.一种WEB服务防盗链方法,其特征在于使用WEB门户网站和WEB服务器以及新增加的密钥发布服务器共同构建加密URL,利用IETF RFC2396协议关于向URL中插入其它信息的规定,向门户呈现的URL中添加用户的IP,点击时的时间戳信息,使对同一个媒体文件在不同时刻,由不同用户访问时的URL都不相同,保证每个URL都只能在一段时间内为一个特定的用户所用;同时,在URL中还加入对以上内容的AES加密校验串,防止URL被修改。
2.如权利要求1所述的WEB服务防盗链方法,其特征在于为了防止上述方法中AES加密算法中AES的密钥被破解,增加一个密钥发布服务器,用于按照某种特定的机制,在一段时间间隔后产生新的密钥并发布给WEB门户网站和WEB服务器。
3.如权利要求2所述的WEB服务防盗链方法,其特征在于本发明的流程包括密钥发布流程,加密URL生成流程,加密URL检查流程;密钥发布流程主要包括以下步骤①密钥发布服务器启动,按照一定规则生成密钥,根据网管的配置开启密钥管理监听线程,等待WEB服务器的连接,此时密钥分发服务器的WEB服务器列表为空;②WEB服务器启动后,根据网管的配置,向密钥发布服务器的密钥发布端口发起连接,发送密钥请求消息,从收到的密钥回复消息,得到密钥;③在程序运行过程中,密钥发布服务器定时向WEB服务器列表中的WEB服务器发送密钥回复消息;④WEB服务器收到回复消息后,需要将密钥请求定时器重启。此外,WEB服务器还需要对消息中密钥和当前密钥进行比较,如果密钥相同,则不作其他处理;如果密钥不同,WEB服务器在一定时长内(WEB服务器自定),对URL同时使用新旧密钥进行解密,避免更换新密钥后对使用旧密钥的部分合法URL解密失败;加密URL生成流程在WEB门户上执行,主要包括以下步骤①据用户信息生成明文附加信息字段,包括IP,点击时的时间戳等信息;②将以上信息加入原始URL中,生成包含附加信息的URL;③根据包含附加信息的URL生成哈希校验串;④对哈希校验串用从密钥发布服务器收到的密钥进行AES加密;⑤将加密后生成的串合入包含附加信息的URL,并将此URL在门户上呈现;加密URL检查流程在WEB服务器上执行,主要包括以下步骤①收到的URL中得到包含附加信息的URL;②将收到的URL中的IP与用户实际的IP相比较,如果不相符,就说明是非法用户,WEB服务器就拒绝此次接入请求;③将收到的URL中时间戳字段与当前时间对比,如果与当前时间相差太久,就说明该URL过期,WEB服务器就拒绝此次接入请求;④根据从密钥发布服务器得到的密钥对包含附加信息的URL加密,得到加密字符串;⑤将生成的加密字符串与收到的URL中的加密字符串相比较,如果相同,就认为是合法的URL,如果不同,就认为URL被修改过,WEB服务器就拒绝此次接入请求。
全文摘要
本发明涉及一种WEB服务防盗链方法,该方法涉及到WEB门户网站,WEB服务器,密钥发布服务器。在WEB服务中,利用WEB门户发布的URL携带用户信息,并将用户信息利用AES加密算法进行保护,保证一旦URL中有字段被修改,就会对AES加密后产生不同的字段,同时保证同一个文件在不同时刻被同一用户点击,或者同一文件在相同时刻被不同用户点击时产生的URL都不相同。由于URL加密的密钥是不公开的并且会在一段时间后更新,所以密钥基本不会被破解,从而确保WEB门户上呈现的URL不被盗链,保护运营商和合法用户的正当利益不受侵害。
文档编号G06F17/30GK1801824SQ20061001816
公开日2006年7月12日 申请日期2006年1月16日 优先权日2006年1月16日
发明者张欣 申请人:北京北方烽火科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1