专利名称:一种基于SSL VPN设备的Web资源认证信息管理方法
技术领域:
本发明涉及本发明涉及计算机网络技术领域,尤其涉及在安全套接字层虚拟专用 网(SSL VPN)中,远程接入设备访问Web资源时认证信息的管理方法。
背景技术:
SSL VPN是一种采用安全套接字层(Security Socket Layer,缩略语为SSL)技术 进行加密连接,实现远程访问虚拟专用网络(Virtual Private Network,缩略语为VPN)的 技术。如图1所示,在SSL VPN中只使用浏览器认证并只访问Web资源的情况下,用户和SSL VPN网关之间建立SSL通道,该通道对应为应用层的为安全超文本传输协议(HTTPS)连接 当用户访问Web资源时,SSL VPN网关会和Web服务器之间建立TCP或者是SSL通道,同时 对应应用层HTTP或者HTTPS连接。数据用户访问WEB资源时,数据便在SSL VPN网关两端 公网(如图1所示internet)端口和内网(如图1所示LAN)端口的连接之间进行转发。“Cookie”是在用户访问服务器过程中,服务器生成并暂存在用户电脑中的资料, 用于辨别用户身份(见 IETF RFC2965 =HTTP State Management Mechanism)。它是HTTP (或 HTTPS)协议头的一部分,在浏览器(即用户端)和服务器之间传递的信息中,cookie以“名 称-值”的形式进行设置,cookie有四个属性,过期时间(expires),有效路径(path),作用 域(domain)和安全属性(secure)。所设置的过期时间,表示cookie的有效时间有多长, 超过有效期则失效;有效路径的设置,表示cookie有效的目录,只有用户访问该目录下的 页面时,该cookie才被浏览器发送到Web服务器;作用域表示用户访问Web服务器域名的 范围,如设置为"domain = *· abc. com,,,则浏览器访问a. abc. com, b. abc. com等地址时都 在HTTP协议头中带上该cookie ;安全属性通常缺省不设置,也就是secure = 0,当其设置 为1时,表示cookie只有在HTTPS连接中进行传输才有效,HTTP访问时无效。例如图1所示的场景中,用户接入公网登录SSL VPN网关,并通过该网关进行Web 资源访问,包含Web资源请求和认证、Web服务器返回cookie设置等过程。涉及Web资源 认证时,输入用户名密码认证后,Web服务器往SSL VPN网关回复时,通过HTTP回复头中的 Set-Cookie命令进行cookie信息的设置、或者Web服务器通过HTTP回复内容中的脚本对 页面进行cookie设置。此cookie信息是用于用户访问Web服务器时的用户身份识别。用 户在该Web资源页面中继续进行访问操作,发送HTTP请求时将总是携带该cookie信息。在SSL VPN中Web资源需要认证访问,当配置了较多的Web资源时,如果Web资源 将认证cookie信息下发到浏览器,会受到浏览器端对于cookie数目和内容长度的限制,导 致需要认证的Web资源出现不能正常访问的情况。此外,由于内网的Web服务器经过外网 向用户传递认证信息,需要考虑提高信息安全性。
发明内容
本发明提出一种基于SSL VPN设备的Web资源认证信息管理方法,通过将Web资 源cookie认证信息保存到网关的方式,在网关端统一、安全地管理cookie认证信息,解决了 cookie数目和内容长度受到浏览器端限制的问题,也避免了 Web资源认证信息传送到外 网。本发明的基于SSL VPN设备的Web资源认证信息管理方法,具体包括以下步骤步骤1 用户发出Web资源请求、和认证过程。SSL VPN网关接收到用户浏览器发送过来的访问Web资源的请求,并进行处理。具 体为,该用户访问Web请求URL(即网络上信息资源的地址)中存在虚拟路径,路径中包含 了认证要访问的Web服务器的域名,端口和访问页面路径,通过SSL VPN网关的URL解析 模块解析确定,当需要登录SSL VPN网关时,SSL VPN网关向用户返回cookie A,作为该网 关的认证信息。访问Web服务器时,SSL VPN网关模拟浏览器关联于该请求的用户,其方法 是首先对用户所绑定的cookie信息进行查对,如果domain,path, secure各项都匹配,且 expires项显示没有过期,则网关重构HTTP请求,向Web服务器转发认证请求并使用步骤 2. 1的方法获得cookie B完成登录,或者携带Web服务器的认证cookie信息B转发到Web 服务器继续访问其页面。步骤2 =Web服务器返回cookie设置过程,其进一步包括步骤2. 1 对于Web服务器发送到SSL VPN网关的HTTP回复头进行处理。具体为,网关对HTTP回复头进行检查,检查是否有Set-Cookie项,如果发现该项, 则进行拦截和解析,将该cookie信息B的相关项,如名称,值,domain, path, expires解析 出来,然后跟用户绑定,并将HTTP回复头中的Set-Cookie项删除。绑定时,将用户信息、及 Web服务器的Cookie信息保存在SSL VPN网关端并记录其对应的关系。当有多个Web服务 器的Cookie信息时,其可存储的数据量由网关的硬件容量决定。步骤2. 2对于Web服务器发送到网关的回复内容,进行处理。具体为,对于Web服务器是通过HTTP回复内容中的脚本对页面进行cookie设置 的情况,在HTTP回复内容到SSL VPN网关时,通过内容解析模块中的脚本解析子模块,对 脚本内容进行语法分析,通过脚本重构处理模块,对于脚本操作document, cookie项的地 方,进行脚本替换,通过替换后的脚本函数,实现浏览器端页面到SSL VPN网关端Web资源 cookie项B的获取、和更新功能。本发明的通过将SSL VPN网关所配置能够访问的Web资 源的cookie信息保存在网关端,突破了浏览器对统一域名cookie总数的限制,SSL VPN配 置的Web资源数量可以不受浏览器限制,保证配置的Web资源均可正常使用,提高了用户的 资源效率。此外,本发明利用SSL VPN网关端进行了用户访问Web资源的认证cookie信息 B,给浏览器端用户下发的只是SSL VPN网关的认证cookie信息A,隐藏了内网TOB资源的 认证信息,Web资源认证信息SSL VPN统一管理,隔离了内网资源信息,保障了内网资源的 绝对安全性。
下面根据附图和实施例对本发明作进一步详细说明。图1表示在SSL VPN中用户通过网关访问Web服务器的场景;图2是在SSL VPN中本发明通过网关端对Web资源进行统一管理的系统示意图;图3是本发明进行资源认证管理的系统示意图;图4为本发明的一个SSL VPN Web资源网关端统一管理方法序列图。
4
其中,1 :SSL VPN网关端Web资源认证统一管理系统2 用户浏览器3 =Web 服务器11:URL解析模块12 =HTTP请求重构模块13 用户绑定信息数据库14 脚本重构处理模块15 拦截和解析模块A :SSL VPN 网关的认证 cookieB =Web服务器的认证cookie
具体实施例方式下面结合附图及实施例对本发明作进一步说明。如图2所示,它是在SSL VPN中本发明通过网关端实现Web资源统一管理的一个系 统示意图。公网上众多外设,包括PC,笔记本电脑,PDA等,通过各自的浏览器以建立SSL连 接的方式访问SSL VPN网关,只考虑用户访问Web资源的应用场景,则用户和SSL VPN之间 建立的是HTTPS连接。SSL VPN网关在用户通过该网关要访问LAN内部的TOB SERVER时, 网关和Web服务器之间建立起HTTP或者是HTTPS连接,然后数据在网关和两端建立的连接 之间进行数据的转发,完成用户对内部Web服务器的访问需求。本发明的核心是,提供一种SSL VPN设备Web资源认证信息网关端统一管理的方 法。本方法是在使得Web认证信息得到正确管理的同时,能够突破浏览器对cookie数量和 内容长度的限制,使得SSLVPN配置较多的Web资源时,仍然能够正常的访问;再结合对安全 性的考虑而综合得出的。下面以图3的系统框图为例,说明本发明的基于SSL VPN设备的Web资源认证信 息管理方法的工作过程。步骤1 :Web资源请求和认证过程。SSL VPN网关1接收到用户浏览器2发送过来的访问Web资源的请求,并进行处 理。具体为,该用户访问Web请求URL(即网络上信息资源的地址)中存在虚拟路径,路径中 包含了认证要访问的Web服务器的域名,端口和访问页面路径,通过SSL VPN网关的URL解 析模块11解析确定,当需要认证信息登录时,SSL VPN网关向用户返回cookie A,作为该网 关的认证信息。访问Web服务器3时,SSL VPN网关模拟浏览器关联于该请求的用户,其方 法是首先对用户所绑定的cookie信息进行查对,如果domain,path,secure各项都匹配,且 expires项显示没有过期,则网关中通过HTTP请求重构模块12重构HTTP请求,向Web服务 器转发认证请求并使用步骤2. 1的方法获得cookie B,或者携带Web服务器的认证cookie B转发到Web服务器继续访问其页面。步骤2 =Web服务器3返回cookie设置过程,其进一步包括步骤2. 1 对于Web服务器3发送到SSL VPN网关的HTTP回复头进行处理。具体为,网关对HTTP回复头进行检查,检查是否有Set-Cookie项,如果发现该项,则进行拦截和解析15,将该cookie信息B的相关项,如名称,值,domain, path, expires解 析出来,然后跟用户绑定,并将HTTP回复头中的Set-Cookie项删除。绑定时,将用户信息、 及Web服务器的Cookie信息保存在SSLVPN网关端并记录其对应的关系,即如图3所示用 户绑定信息13。 步骤2. 2对于Web服务器3发送到网关的回复内容,进行处理。
具体为,对于Web服务器3是通过HTTP回复内容中的脚本对页面进行cookie设置 的情况,在HTTP回复内容到SSLVPN网关时,通过内容解析模块15实现脚本解析,对脚本内 容进行语法分析,通过脚本重构处理模块14对于脚本操作document, cookie项的地方,进 行脚本替换,通过替换后的脚本函数,实现浏览器端页面到SSL VPN网关端Web资源cookie 项B的获取、和更新功能。通过脚本的方式进行cookie的获取和设置的情况,通过对页面内容中脚本,使用 脚本处理模块14进行处理后,能够实现浏览器访问页面中的脚本能够从网关获取或者是 设置cookie。达到浏览器端页面脚本访问cookie和网关保存cookie信息实时同步和交互 的目的。通过页面内容中脚本方式设置和获取cookie信息时,仍然可以正常地通过重构 后的脚本函数从SSL VPN网关获取或者修改Web资源认证cookie信息。即使不同的Web 资源出现了同样的cookie项时,同样能够保证用户正常、独立地访问不同的Web资源。Web资源认证信息和用户绑定,Web资源认证cookie信息因为过期时间失效时, SSL VPN网关自动将该cookie信息删除。实现和浏览器同样的特性。Web资源认证信息和 用户绑定,用户注销时,所有的Web资源认证信息全部失效,用户不能够继续访问Web资源。 实现SSL VPN统一认证访问。上述URL解析模块11、HTTP请求重构模块12、用户绑定信息数据库13、脚本重构 处理模块14、拦截和解析模块15,构成SSL VPN网管端的Web资源认证统一管理系统。如 图4所示,它是本发明中的一个SSL VPN登录访问TOB资源过程的序列图。该图阐述了 SSL VPN用户登录SSL VPN后,访问Web资源时认证信息处理和携带的流程。具体包含以下步 骤步骤S201、用户访问SSL VPN网关,输入用户名、密码进行登录认证。步骤S202、登录SSL VPN网关认证成功后,网关给用户浏览器返回登录成功后的 资源页面,并且设置认证cookie信息A。用户继续访问WEB资源时,就携带该cookie信息 A,请求到网关端,网关端根据该cookie A进行身份的验证和授权。步骤S203、用户在网关登录成功后,继续进行资源页面中的Web资源访问,例如访 问的是内网的10. 1. 144. 1的Web服务器,并且该Web服务器是需要输入用户名、密码认证 的OA办公系统,此时浏览器端发出向SSL VPN网关发出HTTP请求,请求中携带的cookie 信息是网关的认证信息A。步骤S204、网关获取到访问请求后,通过cookie找到用户信息,然后通过用户访 问的URL,对该URL使用SSL VPN网关的URL还原模块11,从中提取出真正要访问的Web服 务器的域名(IP,例如10. 1. 144. 1)、端口和URL信息,再进入网关的HTTP请求重构模块12, 进行重构,将该认证请求转发到Web服务器。步骤S205、Web服务器对认证的HTTP请求处理,认证成功后,服务器会生成cookie信息B,同时通过HTTP协议中的Set-Cookie项,将该cookie信息返回到SSL VPN网关处理。步骤S206、网关中模块15对从Web服务器过来的HTTP回复中的Set-Cookie项进 行拦截,提取出cookie信息B,将cookie信息B与访问的用户信息进行绑定,如13所示,同 时将HTTP回复头中的Set-Cookie项删除。再将其转发给用户浏览器。步骤S207、用户在该Web资源页面中继续进行访问操作,发送HTTP请求给SSL VPN 网关,但该请求中总是只携带用户到网关的认证cookie信息A。步骤S208、网关通过认证cookie信息,再结合URL还原模块11和HTTP重构模块 12还原的发往Web服务器的HTTP请求,从网关获取Web服务器的认证cookie信息B,并插 入到HTTP请求中的Cookie项中。步骤S209、Web服务器将请求访问的页面通过SSL VPN网关转发,发送到用户浏览
器显不。步骤S210、页面中脚本,如javascript能够操作cookie项。通过浏览器脚本重 构模块进行替换。使得浏览器脚本在操作document, cookie项时,通过脚本发送请求包到 SSL VPN网关端,对网关端保存的该Web服务器资源相应页面的cookie项B进行获取或者 是更新操作。
权利要求
一种基于SSL VPN设备的Web资源认证信息管理方法,包括用户发出Web资源请求、和认证过程,以及Web服务器返回cookie设置过程,其特征为步骤1,在用户发出Web资源请求、和认证过程中,SSL VPN网关向用户返回cookie A,作为该网关的认证信息;访问Web服务器时,SSL VPN网关模拟浏览器关联于该请求的用户,对用户所绑定的cookie信息进行查对,并重构其HTTP请求,向Web服务器转发认证请求并使用步骤2.1的方法获得cookie B完成登录,或者携带Web服务器的认证cookie信息B转发到Web服务器继续访问其页面;步骤2.1,在Web服务器返回cookie设置过程中,对于Web服务器发送到SSLVPN网关的HTTP回复头进行处理,具体过程为网关对HTTP回复头进行检查,检查是否有Set Cookie项,如果发现该项,则进行拦截和解析,将该cookie信息B的相关项,如名称,值,domain,path,expires解析出来,然后跟用户绑定,并将HTTP回复头中的Set Cookie项删除;步骤2.2,在Web服务器返回cookie设置过程中,对于Web服务器通过HTTP回复内容中的脚本对页面进行cookie设置的情况进行处理,具体过程为在HTTP回复内容到SSL VPN网关时,对脚本内容进行语法分析,对于脚本操作document.cookie项的地方,进行脚本替换,通过替换后的脚本函数,实现浏览器端页面到SSL VPN网关端Web资源cookie项B的获取、和更新功能。
2.根据权利要求1所述的基于SSLVPN设备的Web资源认证信息管理方法,其特征还 在于在SSL VPN网管保留多个Web服务器的认证信息(13)。
3.根据权利要求1或2所述的基于SSLVPN设备的Web资源认证信息管理方法,其特 征还在于在所述步骤1中,用户对Web资源页面中继续进行访问操作,发送HTTP请求给 SSL VPN网关,该请求中总是只携带用户到网关的认证cookie信息A。
4.根据权利要求1或2所述的基于SSLVPN设备的Web资源认证信息管理方法,其 特征在于所述步骤2. 2操作cookie项的另一方案是,浏览器脚本操作document, cookie 项,通过脚本发送请求包到SSL VPN网关端,对网关端保存的该Web服务器资源相应页面的 cookie项B进行获取或者是更新操作。
5.根据权利要求4所述的基于SSLVPN设备的Web资源认证信息管理方法,其特征在 于,在其步骤1中,用户对Web资源页面中继续进行访问操作,发送HTTP请求给SSL VPN网 关,该请求中总是只携带用户到网关的认证cookie信息A。
全文摘要
本发明公开一种基于SSL VPN远程接入设备对web资源进行访问时,Web资源认证信息在网关端进行统一、安全管理的方法。该方法通过将web资源访问认证cookie信息,保存在SSL VPN网关端,同时通过内容的重构处理,保证浏览器端页面内容中脚本对cookie的操作同样能够实时更新到网关端,保证了cookie处理的正确无误性,本发明突破了浏览器对于同一个域名cookie数目和cookie项长度的限制,使得网关配置的认证web资源无需受到浏览器端关于cookie的限制;也实现了网关内网资源的认证cookie信息不外泄到公网上,更好地保护了内网资源。
文档编号H04L12/46GK101977224SQ201010522919
公开日2011年2月16日 申请日期2010年10月28日 优先权日2010年10月28日
发明者张希 申请人:神州数码网络(北京)有限公司