CN112260990A - 一种安全访问内网应用的方法和装置 - Google Patents

一种安全访问内网应用的方法和装置 Download PDF

Info

Publication number
CN112260990A
CN112260990A CN202010975703.1A CN202010975703A CN112260990A CN 112260990 A CN112260990 A CN 112260990A CN 202010975703 A CN202010975703 A CN 202010975703A CN 112260990 A CN112260990 A CN 112260990A
Authority
CN
China
Prior art keywords
information
cookie
domain name
target
access request
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
CN202010975703.1A
Other languages
English (en)
Other versions
CN112260990B (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.)
Xiamen Wangsu Co Ltd
Original Assignee
Xiamen Wangsu 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 Xiamen Wangsu Co Ltd filed Critical Xiamen Wangsu Co Ltd
Priority to CN202010975703.1A priority Critical patent/CN112260990B/zh
Priority to EP20953853.7A priority patent/EP4191955A4/en
Priority to PCT/CN2020/122264 priority patent/WO2022056996A1/zh
Priority to US18/041,998 priority patent/US20230328071A1/en
Publication of CN112260990A publication Critical patent/CN112260990A/zh
Application granted granted Critical
Publication of CN112260990B publication Critical patent/CN112260990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • 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
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/301Name conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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
    • 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/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/59Network arrangements, protocols or services for addressing or naming using proxies for addressing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种安全访问内网应用的方法,所述方法包括:接收鉴权服务器反馈的认证信息;基于所述第一cookie设置信息生成第二cookie设置信息,建立所述第二cookie信息与所述授权内容的目标映射关系,并根据所述本地映射表将所述第一操作页面重构为第二操作页面;接收所述浏览器基于所述第二操作页面生成的第一目标访问请求,查询所述目标映射关系中与所述第二cookie信息相对应的所述授权内容,并判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,若存在,则访问所述目标内网应用。本申请提供的技术方案,可以避免用户关键信息泄露。

Description

一种安全访问内网应用的方法和装置
技术领域
本发明涉及互联网技术领域,特别涉及一种安全访问内网应用的方法和装置。
背景技术
随着网络安全形势日益严峻,为了阻断来自外部网络的攻击,越来越多的企业和机构将业务限制在内部网络中,禁止来自外部网络的访问,然而很多时候机构内部人员又需要从外部网络访问内部应用,VPN(虚拟专用网络)技术便应运而生。
WebVPN提供基于web的内网应用访问控制,允许用户访问只对内部网络开放的web应用。区别于传统VPN技术,WebVPN无需用户安装客户端软件或者浏览器插件,用户可以直接通过浏览器访问登录页面进行身份验证,这大大降低了VPN技术的使用门槛,提升了用户体验。但是在现有的WebVPN系统中,当用户通过认证后,用户关键信息(例如用户识别码或者访问权限信息等),需要保存在浏览器侧,显然,将用户关键信息保存在浏览器侧,容易导致信息泄露,存在安全隐患。
鉴于此,有必要提供一种新的安全访问内网应用的方法和装置以解决上述不足。
发明内容
本申请的目的在于提供一种安全访问内网应用的方法和装置,可以避免用户关键信息泄露。
为实现上述目的,本申请一方面提供一种安全访问内网应用的方法,所述方法应用于代理服务器,所述代理服务器储存有本地映射表,所述本地映射表记录所述内网应用的真实域名与虚拟域名的映射关系,所述方法包括:接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括第一cookie设置信息、授权内容和第一操作页面;基于所述第一cookie设置信息生成第二cookie设置信息,并根据所述第二cookie设置信息生成第二cookie信息,以建立所述第二cookie信息与所述授权内容的目标映射关系,并根据所述本地映射表将所述第一操作页面重构为第二操作页面,以将所述第二cookie设置信息和所述第二操作页面发送至浏览器;接收所述浏览器基于所述第二操作页面生成的第一目标访问请求,并根据所述第一目标访问请求中携带的所述第二cookie信息,查询所述目标映射关系中与所述第二cookie信息相对应的所述授权内容,并判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,若存在,则访问所述目标内网应用,以请求所述目标资源。
在一实施中,基于所述第一cookie设置信息生成第二cookie设置信息包括:基于所述第一cookie设置信息中的value值生成目标value值;将所述目标value值作为所述第二cookie设置信息的value值。
在一实施中,在接收鉴权服务器反馈的认证信息之前,所述方法还包括:获取各个所述内网应用的真实域名,为各个所述真实域名设置对应的虚拟域名,其中,所述虚拟域名包含代理域名与路径值,并且不同的所述真实域名对应不同的所述路径值;建立各个所述真实域名与所述虚拟域名之间的映射关系,并将所述映射关系储存于所述本地映射表中。
在一实施中,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:获取所述第一操作页面中包含的各个所述内网应用的所述真实域名;根据所述本地映射表,查找与所述真实域名相对应的所述虚拟域名,并将所述真实域名修改为所述虚拟域名。
在一实施中,判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中包括:根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名;判断所述真实域名是否存在于所述授权内容中;或者,根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名,基于所述真实域名对所述第一目标访问请求中的URL(Uniform Resource Locator,统一资源定位器)进行修改,包含将所述虚拟域名替换为所述真实域名;判断修改后的所述URL是否存在于所述授权内容中。
在一实施中,在访问所述目标内网应用之前,所述方法还包括:将所述第一目标访问请求中携带的所述虚拟域名修改为对应的所述真实域名,以重构所述第一目标访问请求;基于重构后的所述第一目标访问请求向所述目标内网应用发送请求,以请求所述目标资源。
在一实施中,在访问所述目标内网应用之后,所述方法还包括:接收所述目标内网应用反馈的用户响应信息,其中,所述用户响应信息中至少包括第三cookie设置信息;对所述第三cookie设置信息进行重构,并获取所述第三cookie设置信息中的domain信息,并根据所述第三cookie设置信息生成第三cookie信息,以建立所述domain信息与所述第三cookie信息的映射关系。
在一实施中,在将重构后的所述第三cookie设置信息发送至浏览器之后,所述方法还包括:接收所述浏览器发送的第二目标访问请求,若所述第二目标访问请求中未携带所述第三cookie信息,则基于所述本地映射表,以及所述domain信息与所述第三cookie信息的映射关系,查找所述第三cookie信息;将所述第三cookie信息添加到所述第二目标访问请求中,以重构所述第二目标访问请求,并将所述重构后的所述第二目标访问请求发送至所述第二目标访问请求指向的内网应用。
在一实施中,在访问所述目标内网应用之后,所述方法还包括:接收所述目标内网应用反馈的用户响应信息,其中,所述用户响应信息中包括用户响应页面;获取所述用户响应页面中包含的各个所述真实域名,并根据所述本地映射表,查找与各个所述真实域名相对应的所述虚拟域名;基于所述虚拟域名重构所述用户响应页面,并将重构后的所述用户响应页面发送至所述浏览器。
在一实施中,在所述根据所述第一目标访问请求中携带的所述第二cookie信息查询授权内容的步骤之前,还包含:判断所述第一目标访问请求中是否携带所述第二cookie信息,若有携带,则进入所述查询授权内容的步骤。
为实现上述目的,本申请另一方面还提供一种安全访问内网应用的装置,所述装置应用于代理服务器,并储存有本地映射表,所述本地映射表记录所述内网应用的真实域名与虚拟域名的映射关系,所述装置包括:信息接收模块,用于接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括第一cookie设置信息、授权内容和第一操作页面;信息重构模块,用于基于所述第一cookie设置信息生成第二cookie设置信息,并根据所述第二cookie设置信息生成第二cookie信息,以建立所述第二cookie信息与所述授权内容的目标映射关系,并根据所述本地映射表将所述第一操作页面重构为第二操作页面,以将所述第二cookie设置信息和所述第二操作页面发送至浏览器;权限判断模块,用于接收所述浏览器基于所述第二操作页面生成的第一目标访问请求,并根据所述第一目标访问请求中携带的所述第二cookie信息,查询所述目标映射关系中与所述第二cookie信息相对应的所述授权内容,并判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,若存在,则访问所述目标内网应用,以请求所述目标资源。
在一实施中,基于所述第一cookie设置信息生成第二cookie设置信息包括:基于所述第一cookie设置信息中的value值生成目标value值;将所述目标value值作为所述第二cookie设置信息的value值。
在一实施中,所述装置还包括:域名处理模块,用于获取各个所述内网应用的真实域名,为各个所述真实域名设置对应的虚拟域名,以及建立各个所述真实域名与所述虚拟域名之间的映射关系,并将所述映射关系储存于所述本地映射表中,其中,所述虚拟域名包含代理域名与路径值,并且不同的所述真实域名对应不同的所述路径值。
在一实施中,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:获取所述第一操作页面中包含的各个所述内网应用的所述真实域名;根据所述本地映射表,查找与所述真实域名相对应的所述虚拟域名,并将所述真实域名修改为所述虚拟域名。
在一实施中,判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中包括:根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名;判断所述真实域名是否存在于所述授权内容中;或者,根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名,基于所述真实域名对所述第一目标访问请求中的URL进行修改,包含将所述虚拟域名替换为所述真实域名;判断修改后的所述URL是否存在于所述授权内容中。
在一实施中,所述信息重构模块,还用于将所述第一目标访问请求中携带的所述虚拟域名修改为对应的所述真实域名,以重构所述第一目标访问请求;所述权限判断模块,还用于基于重构后的所述第一目标访问请求向所述目标内网应用发送请求,以请求所述目标资源。
在一实施中,所述信息接收模块,还用于接收所述目标内网应用反馈的用户响应信息,其中,所述用户响应信息中至少包括第三cookie设置信息;所述信息重构模块,还用于对所述第三cookie设置信息进行重构,并获取所述第三cookie设置信息中的domain信息,并根据所述第三cookie设置信息生成第三cookie信息,以建立所述domain信息与所述第三cookie信息的映射关系。
在一实施中,所述权限判断模块,还用于接收所述浏览器发送的第二目标访问请求,若所述第二目标访问请求中未携带所述第三cookie信息,则基于所述本地映射表,以及所述domain信息与所述第三cookie信息的映射关系,查找所述第三cookie信息,以及将所述第三cookie信息添加到所述第二目标访问请求中,以重构所述第二目标访问请求,并将所述重构后的所述第二目标访问请求发送至所述第二目标访问请求指向的内网应用。
为实现上述目的,本申请另一方面还提供一种安全访问内网应用的装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现上述安全访问内网应用的方法。
由此可见,本申请提供的技术方案,通过将第二cookie信息与授权内容进行绑定,从而建立用户关键信息与第二cookie信息之间的唯一映射关系,然后通过第二cookie信息对用户的认证鉴权环节进行管理,使得认证鉴权环节和应用访问环节都集中在代理服务器侧,这样用户关键信息便不需要保存在浏览器侧,避免了用户关键信息的泄露。同时通过对第二cookie信息的更新,可以使不同的用户无法使用同一个账号和密码同时访问内部网络,进一步提高了系统的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施方式中WebVPN系统的架构示意图;
图2是本申请实施方式一中安全访问内网应用方法的流程图;
图3是本申请实施方式中用户访问内网应用的时序图;
图4是本申请实施方式中安全访问内网应用装置的功能模块示意图;
图5是本申请实施方式中安全访问内网应用装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着网络安全形势日益严峻,为了阻断来自外部网络的攻击,越来越多的企业和机构将业务限制在内部网络中,禁止来自外部网络的访问,然而很多时候机构内部人员又需要从外部网络访问内部应用,VPN(虚拟专用网络)技术便应运而生。VPN技术可以利用公用网络架设专用网络,并通过对数据包的加密和数据包目标地址的转换实现用户的远程访问。
WebVPN属于VPN技术中的一种,它可以提供基于web的内网应用访问控制,允许用户访问只对内部网络开放的web应用。区别于传统VPN技术,WebVPN无需用户安装客户端软件或者浏览器插件,用户可以直接通过浏览器访问登录页面进行身份验证,这大大降低了VPN技术的使用门槛,提升了用户体验。但是在现有的WebVPN系统中,用户的认证鉴权环节和应用访问环节是分开的,具体的,在认证鉴权环节,当用户通过鉴权服务器的认证后,鉴权服务器返回的用户关键信息(例如用户识别码或者访问权限信息等)将保存在浏览器侧,而在应用访问环节,当用户需要对内网应用进行访问时,浏览器会将用户关键信息随同用户发送的访问请求一并发送至代理服务器,以便代理服务器根据用户关键信息对上述访问请求进行管理。显然,将用户关键信息保存在浏览器侧,很容易导致信息泄露,存在安全隐患。
同时,由于绝大部分网站都会通过部署SSL证书来加强信息的安全性,而内部网络中往往存在多个网站以提供不同的内网应用,这就导致浏览器在访问上述不同的网站时,需要管理不同的SSL证书,这对浏览器而言是一个很大的开销。
因此,如何改进WebVPN系统中的认证鉴权环节和应用访问环节,避免用户关键信息的泄露,便成为本领域亟需解决的课题。
本申请提供的技术方案可以解决上述不足。
为便于理解本申请中涉及到的cookie的内容,下面对其进行简要介绍。
cookie用于存储用户状态信息,以创建和web服务器无缝连接的效果,cookie通常用于处理用户的优先选择并跟踪会话变量,以方便服务器端使用。cookie的处理过程可以简单理解为:客户端通过浏览器向服务器发送访问请求,服务器在接收到上述请求后,将根据客户端提供的信息生成一个Set-cookie,服务器将生成的Set-cookie存放在HTTP(HyperText Transfer Protocol,超文本传输协议)应答报文中并回传给客户端,客户端在接收到上述HTTP应答报文后,会将Set-cookie的内容从HTTP应答报文中取出,并基于Set-cookie的内容生成一个cookie信息,并且客户端会在本地保存上述cookie信息,之后再向服务器发送http请求时浏览器都会将相应的cookie信息发送给服务器。
Set-cookie的格式如下:
Set-cookie:name=value;domain=DOMAIN_NAME;path=PATH;expires=DATE;secure
其中,name字段用于定义cookie信息的名称,value字段用于存储cookie信息中的字符串值,domain字段用于定义cookie信息对于哪个域名是有效的,path字段用于定义cookie信息影响到的路径,expires字段用于定义cookie信息的失效时间,secure字段用于标记安全标志。需要指出的是,当domain字段为空时,浏览器只允许发布该cookie的主机进行访问。
当浏览器接收到服务器发送的Set-cookie后,将解析上述Set-cookie以生成cookie信息,并将生成的cookie信息保存在本地。通常浏览器本地储存有大量不同的cookie信息,而浏览器在向服务器发送HTTP请求时,会基于HTTP请求中的URL信息来判断将哪个cookie信息放入HTTP报文中,具体的,浏览器将以HTTP请求中URL信息中包含的域名、路径为标准,对本地保存的cookie信息进行筛选,若某一个cookie信息中的domain字段和path字段符合上述标准,浏览器将把该cookie信息放入上述HTTP请求的报文头部。
请参阅图1,为本申请实施方式中WebVPN系统的架构示意图。
在本实施方式中,鉴权服务器用于对用户的登录请求进行验证,源站部署在内网中,运行有提供业务服务的内网应用,代理服务器相当于VPN网关,同时代理服务器还可以收集内部网络中各个内网应用的真实域名,即公网域名,并按照预设规则将上述各个真实域名收敛至VPN的代理域名之下,然后建立真实域名和收敛后的域名(即虚拟域名)之间的映射关系,并将上述映射关系储存在本地映射表中。
在实际应用中,当用户需要登录内部网络时,用户可以通过浏览器打开VPN登录页面,然后输入账号及密码,浏览器将基于用户输入的信息生成登录请求,该登录请求将通过代理服务器转发至鉴权服务器,鉴权服务器根据预先储存的用户信息对接收到登录请求进行验证,并基于验证结果将用户关键信息(例如验证信息、用户ID、授权内容等)反馈给代理服务器,代理服务器在接收到上述用户关键信息后,可以将用户关键信息储存在本地。
用户后继发送的访问请求在到达代理服务器后,代理服务器将基于保存的用户关键信息对其进行认证鉴权管理,通过认证鉴权的访问请求,代理服务器可以通过VPN网络将其发送至对应的内网源站以获取资源,未通过认证鉴权的访问请求,代理服务器将拒绝其访问内部网络。内网源站反馈的信息将通过代理服务器发送至用户,从而使得用户最终实现对内网应用的访问。值得注意的是,本发明实施例中的代理服务器通过VPN网络与各内网源站建立通信连接,其中VPN网络可以是基于SD-WAN(Software-Defined Wide AreaNetwork)网络架构实现的。
在本实施方式中,代理服务器负责认证鉴权环节和应用访问环节,鉴权服务器反馈的用户关键信息无需保存在用户端,从而避免了用户关键信息的泄露。
请一并参阅图2和图3。图2为本申请实施方式一中安全访问内网应用方法的流程图,上述安全访问内网应用的方法应用于代理服务器。图3为本申请实施方式中用户访问内网应用的时序图。
S101:接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括第一cookie设置信息、授权内容和第一操作页面。
在本实施方式中,用户发送的登录请求经代理服务器转发至鉴权服务器后,鉴权服务器将对其进行验证,并基于验证结果生成认证信息,上述认证信息中包含有用户关键信息(例如验证信息、用户ID、授权内容等),然后鉴权服务器将把上述认证信息发送至代理服务器,从而使得代理服务器可以接收到上述认证信息。
需要特别指出的是,鉴权服务器生成的认证信息中至少包括一个Set-cookie(即第一cookie设置信息)、授权内容和第一操作页面。授权内容用于限定该用户可以访问哪些内网应用,或者哪些内网资源,授权内容可以通过可访问应用的域名,或可访问资源的URL体现,即将该用户可以访问的内网应用的域名,或内网资源的URL写入上述授权内容中,需要指出的是,由于授权内容是由鉴权服务器生成的,因此,上述授权内容中的域名,或者URL中的域名一般为真实域名;第一操作页面一般为索引页,其通常为HTML页面,页面中包含提供给用户访问各种内网应用的选项,用户可以通过选择第一操作页面上的不同选项访问不同的内网应用;第一cookie设置信息根据鉴权服务器的设置生成,在实际应用中,第一cookie设置信息中的path字段可以设置为“/”(即根目录)。进一步的,上述认证信息中还可以包括用户ID,用户ID可以用于表示该用户的唯一识别码。
在一个实施方式中,在接收鉴权服务器反馈的认证信息之前,代理服务器可以建立本地映射表,并在本地映射表中储存域名映射关系。
代理服务器建立本地映射表可以通过如下方式实现:
首先,获取各个内网应用的真实域名,为各个所述真实域名设置对应的虚拟域名,其中,所述虚拟域名包含代理域名与路径值,并且不同的所述真实域名对应不同的所述路径值;
然后,建立各个所述真实域名与所述虚拟域名之间的映射关系,并将所述映射关系储存于所述本地映射表中。
在一个实施方式中,代理服务器可以预先收集内部网络中各个内网应用的真实域名,然后为各个真实域名设置对应的虚拟域名。具体的,代理服务器可以将上述各个真实域名统一收敛到代理服务器域名(即代理域名)之下,并通过在代理域名下设置不同的路径值(例如path1、path2、path3等),标记不同的真实域名,从而建立各个真实域名与虚拟域名之间的域名映射关系,其中虚拟域名为代理域名和路径值的组合。
例如,假设代理服务器收集到如下三个真实域名a.baidu.com、b.baidu.com、c.sina.com,代理域名为wsvpn.cn,那么可以将a.baidu.com映射至wsvpn.cn/path1,将b.baidu.com映射至wsvpn.cn/path2,将c.sina.com映射至wsvpn.cn/path3,从而建立真实域名与虚拟域名之间的映射关系。
当代理服务器建立真实域名与虚拟域名之间的映射关系后,代理服务器可以将上述域名映射关系以数据库的形式保存在本地储存设备中。通过查询本地映射表,代理服务器可以根据真实域名查找到对应的虚拟域名,或者根据虚拟域名查找到对应的真实域名。
S102:基于所述第一cookie设置信息生成第二cookie设置信息,并根据所述第二cookie设置信息生成第二cookie信息,以建立所述第二cookie信息与所述授权内容的目标映射关系,并根据所述本地映射表将所述第一操作页面重构为第二操作页面,以将所述第二cookie信息和所述第二操作页面发送至浏览器。
在本实施方式中,当代理服务器接收到上述认证信息后,代理服务器将基于上述第一cookie设置信息生成一个新的Set-cookie(即第二cookie设置信息),并且当代理服务器生成第二cookie设置信息之后,代理服务器将根据上述第二cookie设置信息中的内容生成一个cookie文本文件(即第二cookie信息),并将新生成的第二cookie信息与认证信息中的授权内容进行绑定,从而建立第二cookie信息与授权内容的目标映射关系,通过上述目标映射关系,代理服务器可以根据第二cookie信息查找到对应的授权内容。同时,代理服务器可以将上述目标映射关系,以及认证信息中的授权内容保存在本地储存设备中。
代理服务器基于第一cookie设置信息生成第二cookie设置信息可以通过如下方式实现:
首先,基于所述第一cookie设置信息中的value值生成目标value值;
然后,将所述目标value值作为所述第二cookie设置信息的value值。
在一个实施方式中,代理服务器可以提取第一cookie设置信息中的value值,并对其进行加密(例如通过MD5算法、SHA1算法等),从而得到一个新的字符串值(即目标value值)。
需要特别指出的是,上述通过对第一cookie设置信息中的value值进行加密,从而得到一个新的字符串值只是示意性的,并不是对本申请的限制,基于本申请的思想,本领域的技术人员也可以对其它字段进行加密,例如通过对第一cookie设置信息中的全部字段信息进行加密,从而生成一个新的字符串值。
当代理服务器生成目标value值后,代理服务器可以将其作为新的Set-cookie(即第二cookie设置信息)的value值,并将其写入新的Set-cookie的value字段(即将其作为为第二cookie设置信息的value值)。
需要特别指出的是,针对不同的用户,鉴权服务器反馈的认证信息是不同的,并且鉴权服务器反馈的第一cookie设置信息中的value值也是不同的,因此,针对不同的用户,代理服务器基于第一cookie设置信息生成的第二cookie设置信息也是不同的,即每一个用户都存在唯一的第二cookie设置信息,相应的,每一个用户都存在唯一的第二cookie信息,如此,便可以利用第二cookie信息与授权内容之间的映射关系,对不同用户进行认证鉴权管理。
需要特别指出的是,若要通过代理服务器对浏览器发送的访问请求进行认证鉴权管理,则上述访问请求需要携带第二cookie信息,以便代理服务器通过第二cookie信息查找到相应的授权内容。由于浏览器在接收到不同的Set-cookie后会生成不同的cookie信息,而浏览器在发送访问请求时是根据域名信息和路径信息来选择合适的cookie信息的,因此为保证浏览器发送的访问请求可以携带第二cookie信息,需要对代理服务器生成的第二cookie设置信息,以及浏览器发送的访问请求进行设置。
针对第二cookie设置信息,代理服务器可以将第二cookie设置信息中的domain字段设置为空,并将第二cookie设置信息中的path字段设置为“/”,这样,当某一个访问请求中URL携带的域名包含代理域名时,浏览器在生成针对内网应用的访问请求时便会自动携带第二cookie信息。
在一个实施方式中,代理服务器可将第二cookie设置信息中的name值设置为相同且可识别的,那么当代理服务器接收到浏览器的访问请求时,可先根据访问请求中携带的cookie信息中的name值来判断该访问请求中是否携带有第二cookie信息,若携带有第二cookie信息,则可以进一步对授权内容进行验证,若没有携带第二cookie信息,则可直接将其识别为非法访问,代理服务器可以向浏览器返回登录页面,以通知该用户重新进行登录。
针对浏览器发送的访问请求,由于鉴权服务器反馈的第一操作页面是基于内网应用的真实域名产生的,因此第一操作页面中包含的所有内网应用的域名都是真实域名,若要使浏览器发送的内网访问请求中URL携带的域名为代理域名,则代理服务器需要对第一操作页面进行重构,以得到一个新的操作页面(即第二操作页面),其中,第二操作页面中包含的所有内网应用的域名为代理域名。
代理服务器根据本地映射表将第一操作页面重构为第二操作页面,可以通过如下方式实现:
首先,获取所述第一操作页面中包含的所述各个内网应用的所述真实域名;
然后,根据所述本地映射表,查找与所述真实域名相对应的所述虚拟域名,并将所述真实域名修改为所述虚拟域名。
在一个实施方式中,代理服务器可以解析第一操作页面,以获取第一操作页面中包含的各个内网应用的真实域名。在获取到第一操作页面中包含的各个真实域名后,代理服务器可以查询本地映射表,进而获取到与上述真实域名相对应的虚拟域名,然后代理服务器可以使用虚拟域名替换上述真实域名,得到新的URL,从而得到一个包含有代理域名的新的操作页面(即第二操作页面),基于此,浏览器基于第二操作页面生成的访问请求可被代理服务器接收。
继续以上文的举例进行说明,a.baidu.com与path1对应,b.baidu.com与path2对应,c.sina.com与path3对应,代理域名wsvpn.cn,则代理服务器可以将www.a.baidu.com替换为www.wsvpn.cn/path1,将www.b.baidu.com替换为www.wsvpn.cn/path2,将www.c.sina.com替换为www.wsvpn.cn/path3,基于新得到虚拟域名,代理服务器可以对第一操作页面进行重构,从而得到包含有代理域名的第二操作页面。
在一个实施方式中,当代理服务器生成第二cookie设置信息和第二操作页面后,代理服务器可以将上述第二cookie设置信息和第二操作页面发送至浏览器,从而使得浏览器可以基于第二cookie设置信息生成第二cookie信息,以及基于第二操作页面发送访问请求,并可以在发送的访问请求中携带第二cookie信息。
需要特别指出的是,代理服务器并不会将用户关键信息发送至浏览器,而是将其保存在本地储存设备中,这样不论在浏览器侧,还是在外网通信过程中,非法拦截者都无法获取到用户关键信息,从而保证了用户关键信息不会被泄露。
需要特别指出的是,代理服务器将各个内网应用的真实域名统一收敛到代理域名之下,这样浏览器将只需要管理代理服务器的SSL证书,这极大的减少了浏览器管理SSL证书的开销。
在一个实施方式中,代理服务器还可以将第一cookie设置信息发送至浏览器,这样,浏览器可在本地基于上述第一cookie设置信息生成第一cookie信息,如此当浏览器再次向鉴权服务器发送访问请求时,便可携带第一cookie信息,进而使得访问请求可以被鉴权服务器正确处理,浏览器再次向鉴权服务器发送的访问请求包括但不限于刷新页面请求。
S103:接收所述浏览器基于所述第二操作页面生成的第一目标访问请求,并根据所述第一目标访问请求中携带的所述第二cookie信息,查询所述目标映射关系中与所述第二cookie信息相对应的所述授权内容,并判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,若存在,则访问所述目标内网应用,以请求所述目标资源。
在一个实施方式中,当浏览器接收到第二cookie设置信息和第二操作页面后,浏览器可以解析第二操作页面,然后将其渲染为网页,以供用户选择具体的内网应用,同时浏览器将基于第二cookie设置信息在本地生成并储存第二cookie信息。当用户需要访问第二操作页面中的某一个内网应用(目标内网应用)时,用户可以选择网页上相应的标签,以使得浏览器可以基于用户的选择生成对应的访问请求(即第一目标访问请求),上述第一目标访问请求将携带第二cookie信息。
当代理服务器接收到上述第一目标访问请求后,代理服务器可以解析第一目标访问请求,以获取第一目标访问请求携带的目标URL,以及第二cookie信息。在完成解析工作后,代理服务器可以查询保存在本地储存设备中的目标映射关系,然后通过第二cookie信息查询到与该第二cookie信息相对应的授权内容,进而代理服务器可以判断第一目标访问请求指向的目标内网应用所提供的目标资源是否存在于上述授权内容中。如果上述目标资源存在于上述授权内容中,代理服务器便可以基于上述第一目标访问请求,向第一目标访问请求指向的目标内网应用的源站发起访问请求,以请求目标资源;如果上述目标资源不存在于上述授权内容中,代理服务器可以向浏览器返回403状态码,以通知该用户无权访问目标服务。
在一个实施方式中,若代理服务器通过第二cookie信息,无法查询到与该第二cookie信息相对应的授权内容,则说明该用户的认证信息无效,代理服务器可以向浏览器返回登录页面,以通知该用户重新进行登录。
在一个实施方式中,判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,可以通过如下方式实现:
首先,根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名;
然后,判断所述真实域名是否存在于所述授权内容中。
在一个实施方式中,由于第一目标访问请求是基于第二操作页面发送的,而第二操作页面中包含的是代理域名和路径值的组合(即虚拟域名),因此第一目标访问请求中携带的目标URL中的域名为虚拟域名。在实际应用中,代理服务器可以对目标URL进行解析,以获取上述目标URL中携带的虚拟域名,然后根据本地映射表,查找与上述虚拟域名相对应的真实域名。在查找到真实域名后,代理服务器便可以查询保存在本地储存设备中与第二cookie信息对应的授权内容,以判断上述真实域名是否存在于该授权内容中。
继续以上文的举例进行说明,假设目标URL为https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm,那么代理服务器可以根据本地映射表,查询到www.wsvpn.cn/ path1对应于www.a.baidu.com,然后代理服务器可以查询与第二cookie信息对应的授权内容,将www.a.baidu.com与授权内容中的域名信息进行比对,进而判断www.a.baidu.com是否存在于上述授权内容中,如果存在,则说明该用户可以访问https://www.wsvpn.cn/path1/info/9396/58chbdg3.htm;如果不存在,则说明该用户无权访问。
在一个实施方式中,授权内容可进一步具体到URL,在这种情况下,判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,可以通过如下方式实现:
首先,根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名,基于所述真实域名对所述第一目标访问请求中的URL进行修改,包含将所述虚拟域名替换为所述真实域名;
然后,判断修改后的所述URL是否存在于所述授权内容中。
由于目标URL携带的域名为虚拟域名,因此代理服务器无法直接通过目标URL访问第一目标访问请求指向的目标资源。
在一个实施方式中,代理服务器在访问所述目标资源之前可以将第一目标访问请求中携带的虚拟域名修改为对应的真实域名,以重构第一目标访问请求。具体的,代理服务器可以根据本地映射表,查询到与目标URL携带的虚拟域名相对应的真实域名,然后用上述真实域名替换目标URL中的虚拟域名,从而得到一个包含有上述真实域名的新的URL,最后将第一目标访问请求中携带的目标URL修改为上述新的URL,从而实现对第一目标访问请求的重构。当代理服务器完成第一目标访问请求的重构后,便可以向目标内网应用的源站发送重构后的第一目标访问,以请求目标资源。
需要特别指出的是,代理服务器利用第二cookie信息进行认证鉴权,还可以解决不同的用户使用同一个账号和密码同时登录内部网络的问题。
在一个实施方式中,假设如果两个不同的用户(为便于叙述,本申请将其称为A用户和B用户)都获取到一个登录内部网络的账号和密码,如果A用户首先登录了内部网络,那么鉴权服务器将向A用户反馈一个第一cookie设置信息(记为Set-cookie1)和授权内容,然后代理服务器基于Set-cookie1生成第二cookie设置信息(记为Set-cookie2),同时代理服务器将在本地保存第二cookie信息(记为cookie2,基于Set-cookie2生成)与授权内容的映射关系。在之后的某一个时刻,B用户使用相同的账号和密码登录了内部网络,那么鉴权服务器将向A用户反馈另一个第一cookie设置信息(记为Set-cookie3)和授权内容,然后代理服务器基于Set-cookie3生成另一个第二cookie设置信息(记为Set-cookie4),同时代理服务器将在本地保存新的第二cookie信息(记为cookie4,基于Set-cookie4生成)与授权内容的映射关系。
由于Set-cookie1中的value值与Set-cookie3中的value值并不相同,因此Set-cookie2与Set-cookie4也不相同,相应的,cookie2与cookie4也不相同,然而鉴权服务器反馈的用户关键信息,如用户ID是相同的,因此代理服务器在针对用户保存cookie信息时,cookie4将覆盖cookie2,即代理服务器本地保存的始终是最新的第二cookie信息与授权内容的映射关系。当A用户再次访问内部网络时,A用户发送的访问请求将携带cookie2,由于代理服务器此时本地保存的是cookie4与授权内容的映射关系,因此,代理服务器将无法通过cookie2查询到相应的授权内容,代理服务器将向A用户返回登录页面,即A用户无法再次访问内部网络。
如果A用户再次使用上述账号和密码登录内部网络,基于同样的原理,B用户将无法再次访问该内部网络。这样,代理服务器利用第二cookie信息进行认证鉴权,便可以使不同的用户无法使用同一个账号和密码同时访问内部网络。
在一个实施方式中,当代理服务器访问第一目标页面后,目标源站可以向请求发送方(即代理服务器)反馈用户响应信息,上述用户响应信息中可包括第三cookie设置信息,在实际应用中,上述第三cookie设置信息中的domain字段保存的信息通常为目标应用的泛域名。
当代理服务器接收到上述用户响应信息后,代理服务器可以对第三cookie设置信息进行解析,以获取其中的domain信息,并且代理服务器可以根据上述第三cookie设置信息的内容生成第三cookie信息,以建立domain信息与第三cookie信息的映射关系,这样,代理服务器通过泛域名便可以查询到对应的第三cookie信息。
在一个实施方式中,当用户选择了同一泛域名下的其它应用时,浏览器可以基于用户的选择生成对应的访问请求(即第二目标访问请求),第二目标访问请求中将携带第二cookie信息。当代理服务器接收到上述第二目标访问请求后,先基于第二cookie信息对其进行授权认证,并在认证通过后,根据第二目标访问请求中包含的虚拟域名所对应的真实域名,从domain信息与第三cookie信息的映射关系中,查找对应的第三cookie信息。当代理服务器查找到对应的第三cookie信息后,可以将上述第三cookie信息添加到第二目标访问请求中,同时,代理服务器将利用真实域名替换虚拟域名,以对第二目标访问请求进行重构,然后向第二目标访问请求指向的内网应用发送重构后的第二目标访问请求,以请求相应的资源。
当目标源站接收到上述重构后的第二目标访问请求后,可以对第三cookie信息中保存的信息进行解析。基于解析的结果,目标源站可以判断上述第二目标访问请求是否合法,若合法,目标源站便可以向代理服务器发送响应资源;若不合法,目标源站可以向代理服务器发送403状态码。
例如,假设内网应用1对应的真实域名为a.baidu.com,内网应用2对应的真实域名为b.baidu.com,上述两个真实域名都位于泛域名.baidu.com之下。当用户通过代理服务器访问内网服务1后,代理服务器将接收到内网应用1返回的第三cookie设置信息,然后代理服务器将建立.baidu.com与第三cookie信息的映射关系,从而使得代理服务器可以通过.baidu.com查找到第三cookie信息。
当用户需要访问内网服务2时,由于第二cookie信息中的domain字段为空,path字段为“/”,因此浏览器生成的访问请求(即第二目标访问请求)将携带第二cookie信息,代理服务器可基于第二cookie的信息对第二访问请求的进行授权验证。
更进一步的,代理服务器可根据第二目标访问请求中携带的虚拟域名(即wsvpn.cn/path2),查找本地映射表,获取对应的真实域名b.baidu.com,进而获取到对应的泛域名.baidu.com,然后根据domain信息与第三cookie信息的映射关系,查找到对应的第三cookie信息,之后代理服务器可以将上述第三cookie信息放入第二目标访问请求中,同时,代理服务器可将其中的虚拟域名修改为对应的真实域名,以实现对第二目标访问请求进行重构,并向内网服务2的源站发送重构后的第二目标访问请求,使得内网服务2可直接基于第三cookie信息进行用户行为关联。
在一个实施方式中,代理服务器还可以根据所述本地映射表重构所述第三cookie设置信息。具体的,代理服务器可以根据第三cookie设置信息中domain字段的真实域名,查询与该真实域名相对应的虚拟域名,然后将上述虚拟域名添加到第三cookie信息的path字段中,同时,代理服务器将第三cookie信息中的domain字段设置为空。
代理服务器在完成第三cookie设置信息的重构后,可以将重构后的第三cookie设置信息发送至浏览器。这样,当该用户需要再次访问该内网应用时,浏览器便可以在此次发送的访问请求中携带第三cookie信息(基于重构后的第三cookie设置信息生成),从而保证cookie机制的正常运行,避免浏览器在发送请求时,没有正确携带对应的cookie信息,导致无法访问。
继续以上文的举例进行说明,当代理服务器访问内网服务1后,代理服务器将接收到内网应用1返回的第三cookie设置信息,此时代理服务器可以对第三cookie设置信息进行重构,将第三cookie设置信息的domain字段设置为空,并在第三cookie设置信息的path字段中添加wsvpn.cn/path1,然后将重构后的第三cookie设置信息发送至浏览器。这样,当该用户需要访问内网应用1提供的资源时,例如,针对第二目标访问请求所响应的页面,浏览器发送的访问请求将携带第三cookie信息,这就保证了cookie机制的正常运行,浏览器便可以对内网应用1进行正常访问。
在一个实施方式中,目标源站反馈的用户响应信息中还包括用户响应页面,该用户响应页面中包含的域名为各个内网应用对应的真实域名,而浏览器发送的访问请求中携带的是虚拟域名,因此代理服务器需要对上述用户响应页面进行重构。具体的,代理服务器可以首先获取用户响应页面中包含的各个真实域名,然后根据本地映射表,查找与各个真实域名相对应的虚拟域名,之后将上述真实域名修改为对应的虚拟域名,从而完成用户响应页面的重构。在完成用户响应页面的重构后,代理服务器便可以将重构后的用户响应页面发送至浏览器,从而使得浏览器可以对用户响应页面进行渲染。
由此可见,本申请将第二cookie信息与授权内容进行绑定,建立用户关键信息与第二cookie信息之间的唯一映射关系,然后通过第二cookie信息对用户的认证鉴权环节进行管理,从而使得认证鉴权环节和应用访问环节都集中在代理服务器侧,这样用户关键信息不需要保存在浏览器侧,避免了用户关键信息的泄露。同时通过对第二cookie信息的更新,可以使不同的用户无法使用同一个账号和密码同时访问内部网络,进一步提高了系统的安全性。
请参阅图4,本申请还提供一种安全访问内网应用的装置,所述装置应用于代理服务器,并储存有本地映射表,所述本地映射表记录所述内网应用的真实域名与虚拟域名的映射关系,所述装置包括:
信息接收模块,用于接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括第一cookie设置信息、授权内容和第一操作页面;
信息重构模块,用于基于所述第一cookie设置信息生成第二cookie设置信息,并根据所述第二cookie设置信息生成第二cookie信息,以建立所述第二cookie信息与所述授权内容的目标映射关系,并根据所述本地映射表将所述第一操作页面重构为第二操作页面,以将所述第二cookie设置信息和所述第二操作页面发送至浏览器;
权限判断模块,用于接收所述浏览器基于所述第二操作页面生成的第一目标访问请求,并根据所述第一目标访问请求中携带的所述第二cookie信息,查询所述目标映射关系中与所述第二cookie信息相对应的所述授权内容,并判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,若存在,则访问所述目标内网应用,以请求所述目标资源。
在一个实施方式中,基于所述第一cookie设置信息生成第二cookie设置信息包括:
基于所述第一cookie设置信息中的value值生成目标value值;
将所述目标value值作为所述第二cookie设置信息的value值。
在一个实施方式中,所述装置还包括:
域名处理模块,用于获取各个所述内网应用的真实域名,为各个所述真实域名设置对应的虚拟域名,以及建立各个所述真实域名与所述虚拟域名之间的映射关系,并将所述映射关系储存于所述本地映射表中,其中,所述虚拟域名包含代理域名与路径值,并且不同的所述真实域名对应不同的所述路径值。
在一个实施方式中,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:
获取所述第一操作页面中包含的各个所述内网应用的所述真实域名;
根据所述本地映射表,查找与所述真实域名相对应的所述虚拟域名,并将所述真实域名修改为所述虚拟域名。
在一个实施方式中,判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中包括:
根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名;
判断所述真实域名是否存在于所述授权内容中;或者,
根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名,基于所述真实域名对所述第一目标访问请求中的URL进行修改,包含将所述虚拟域名替换为所述真实域名;
判断修改后的所述URL是否存在于所述授权内容中。
在一个实施方式中,所述信息重构模块,还用于将所述第一目标访问请求中携带的所述虚拟域名修改为对应的所述真实域名,以重构所述第一目标访问请求;
所述权限判断模块,还用于基于重构后的所述第一目标访问请求向所述目标内网应用发送请求,以请求所述目标资源。
在一个实施方式中,所述信息接收模块,还用于接收所述目标内网应用反馈的用户响应信息,其中,所述用户响应信息中至少包括第三cookie设置信息;
所述信息重构模块,还用于对所述第三cookie设置信息进行重构,并获取所述第三cookie设置信息中的domain信息,并根据所述第三cookie设置信息生成第三cookie信息,以建立所述domain信息与所述第三cookie信息的映射关系。
在一个实施方式中,所述权限判断模块,还用于接收所述浏览器发送的第二目标访问请求,若所述第二目标访问请求中未携带所述第三cookie信息,则基于所述本地映射表,以及所述domain信息与所述第三cookie信息的映射关系,查找所述第三cookie信息,以及将所述第三cookie信息添加到所述第二目标访问请求中,以重构所述第二目标访问请求,并将所述重构后的所述第二目标访问请求发送至所述第二目标访问请求指向的内网应用。
在一个实施方式中,所述信息重构模块,还用于获取所述用户响应页面中包含的各个所述真实域名,并根据所述本地映射表,查找与各个所述真实域名相对应的所述虚拟域名,以及基于所述虚拟域名重构所述用户响应页面,并将重构后的所述用户响应页面发送至所述浏览器。
请参阅图5,本申请还提供一种安全访问内网应用的装置,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,可以实现如上述的安全访问内网应用的方法。具体地,在硬件层面,该装置可以包括处理器、内部总线和存储器。所述存储器可以包括内存以及非易失性存储器。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。本领域普通技术人员可以理解,图5所示的结构仅为示意,其并不对上述装置的结构造成限定。例如,所述装置还可包括比图5中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如GPU(Graphics Processing Unit,图像处理器),或者对外通信端口等。当然,除了软件实现方式之外,本申请并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等。
本实施方式中,所述的处理器可以包括中央处理器(CPU)或图形处理器(GPU),当然也可以包括其他的具有逻辑处理能力的单片机、逻辑门电路、集成电路等,或其适当组合。本实施方式所述的存储器可以是用于保存信息的记忆设备。在数字系统中,能保存二进制数据的设备可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也可以为存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也可以叫存储器等。实现的时候,该存储器也可以采用云存储器的方式实现,具体实现方式,本说明书不做限定。
需要说明的是,本说明书中的安全访问内网应用的装置,具体的实现方式可以参照方法实施方式的描述,在此不作一一赘述。
由此可见,本申请提供的技术方案,通过将第二cookie信息与授权内容进行绑定,从而建立用户关键信息与第二cookie信息之间的唯一映射关系,然后通过第二cookie信息对用户的认证鉴权环节进行管理,使得认证鉴权环节和应用访问环节都集中在代理服务器侧,这样用户关键信息便不需要保存在浏览器侧,避免了用户关键信息的泄露。同时通过对第二cookie信息的更新,可以使不同的用户无法使用同一个账号和密码同时访问内部网络,进一步提高了系统的安全性。针对某些网站利用cookie机制进行内部权限管理的情况,本申请基于网站反馈的第三cookie信息,建立第三cookie信息与泛域名之间的映射关系,以简化用户的访问,同时还可以对第三cookie信息进行重构,以保证cookie机制的正常运行,避免浏览器在渲染网页时出现错误。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种安全访问内网应用的方法,其特征在于,所述方法应用于代理服务器,所述代理服务器储存有本地映射表,所述本地映射表记录所述内网应用的真实域名与虚拟域名的映射关系,所述方法包括:
接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括第一cookie设置信息、授权内容和第一操作页面;
基于所述第一cookie设置信息生成第二cookie设置信息,并根据所述第二cookie设置信息生成第二cookie信息,以建立所述第二cookie信息与所述授权内容的目标映射关系,并根据所述本地映射表将所述第一操作页面重构为第二操作页面,以将所述第二cookie设置信息和所述第二操作页面发送至浏览器;
接收所述浏览器基于所述第二操作页面生成的第一目标访问请求,并根据所述第一目标访问请求中携带的所述第二cookie信息,查询所述目标映射关系中与所述第二cookie信息相对应的所述授权内容,并判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,若存在,则访问所述目标内网应用,以请求所述目标资源。
2.根据权利要求1所述的方法,其特征在于,基于所述第一cookie设置信息生成第二cookie设置信息包括:
基于所述第一cookie设置信息中的value值生成目标value值;
将所述目标value值作为所述第二cookie设置信息的value值。
3.根据权利要求1所述的方法,其特征在于,在接收鉴权服务器反馈的认证信息之前,所述方法还包括:
获取各个所述内网应用的真实域名,为各个所述真实域名设置对应的虚拟域名,其中,所述虚拟域名包含代理域名与路径值,并且不同的所述真实域名对应不同的所述路径值;
建立各个所述真实域名与所述虚拟域名之间的映射关系,并将所述映射关系储存于所述本地映射表中。
4.根据权利要求1所述的方法,其特征在于,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:
获取所述第一操作页面中包含的各个所述内网应用的所述真实域名;
根据所述本地映射表,查找与所述真实域名相对应的所述虚拟域名,并将所述真实域名修改为所述虚拟域名。
5.根据权利要求1所述的方法,其特征在于,判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中包括:
根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名;
判断所述真实域名是否存在于所述授权内容中;或者,
根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名,基于所述真实域名对所述第一目标访问请求中的URL进行修改,包含将所述虚拟域名替换为所述真实域名;
判断修改后的所述URL是否存在于所述授权内容中。
6.根据权利要求5所述的方法,其特征在于,在访问所述目标内网应用之前,所述方法还包括:
将所述第一目标访问请求中携带的所述虚拟域名修改为对应的所述真实域名,以重构所述第一目标访问请求;
基于重构后的所述第一目标访问请求向所述目标内网应用发送请求,以请求所述目标资源。
7.根据权利要求6所述的方法,其特征在于,在访问所述目标内网应用之后,所述方法还包括:
接收所述目标内网应用反馈的用户响应信息,其中,所述用户响应信息中至少包括第三cookie设置信息;
对所述第三cookie设置信息进行重构,并获取所述第三cookie设置信息中的domain信息,并根据所述第三cookie设置信息生成第三cookie信息,以建立所述domain信息与所述第三cookie信息的映射关系。
8.根据权利要求7所述的方法,其特征在于,在将重构后的所述第三cookie设置信息发送至浏览器之后,所述方法还包括:
接收所述浏览器发送的第二目标访问请求,若所述第二目标访问请求中未携带所述第三cookie信息,则基于所述本地映射表,以及所述domain信息与所述第三cookie信息的映射关系,查找所述第三cookie信息;
将所述第三cookie信息添加到所述第二目标访问请求中,以重构所述第二目标访问请求,并将所述重构后的所述第二目标访问请求发送至所述第二目标访问请求指向的内网应用。
9.根据权利要求6所述的方法,其特征在于,在访问所述目标内网应用之后,所述方法还包括:
接收所述目标内网应用反馈的用户响应信息,其中,所述用户响应信息中包括用户响应页面;
获取所述用户响应页面中包含的各个所述真实域名,并根据所述本地映射表,查找与各个所述真实域名相对应的所述虚拟域名;
基于所述虚拟域名重构所述用户响应页面,并将重构后的所述用户响应页面发送至所述浏览器。
10.根据权利要求1所述的方法,其特征在于,在所述根据所述第一目标访问请求中携带的所述第二cookie信息查询授权内容的步骤之前,还包含:
判断所述第一目标访问请求中是否携带所述第二cookie信息,若有携带,则进入所述查询授权内容的步骤。
11.一种安全访问内网应用的装置,其特征在于,所述装置应用于代理服务器,并储存有本地映射表,所述本地映射表记录所述内网应用的真实域名与虚拟域名的映射关系,所述装置包括:
信息接收模块,用于接收鉴权服务器反馈的认证信息,其中,所述认证信息中至少包括第一cookie设置信息、授权内容和第一操作页面;
信息重构模块,用于基于所述第一cookie设置信息生成第二cookie设置信息,并根据所述第二cookie设置信息生成第二cookie信息,以建立所述第二cookie信息与所述授权内容的目标映射关系,并根据所述本地映射表将所述第一操作页面重构为第二操作页面,以将所述第二cookie设置信息和所述第二操作页面发送至浏览器;
权限判断模块,用于接收所述浏览器基于所述第二操作页面生成的第一目标访问请求,并根据所述第一目标访问请求中携带的所述第二cookie信息,查询所述目标映射关系中与所述第二cookie信息相对应的所述授权内容,并判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中,若存在,则访问所述目标内网应用,以请求所述目标资源。
12.根据权利要求11所述的装置,其特征在于,基于所述第一cookie设置信息生成第二cookie设置信息包括:
基于所述第一cookie设置信息中的value值生成目标value值;
将所述目标value值作为所述第二cookie设置信息的value值。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
域名处理模块,用于获取各个所述内网应用的真实域名,为各个所述真实域名设置对应的虚拟域名,以及建立各个所述真实域名与所述虚拟域名之间的映射关系,并将所述映射关系储存于所述本地映射表中,其中,所述虚拟域名包含代理域名与路径值,并且不同的所述真实域名对应不同的所述路径值。
14.根据权利要求11所述的装置,其特征在于,根据所述本地映射表将所述第一操作页面重构为第二操作页面包括:
获取所述第一操作页面中包含的各个所述内网应用的所述真实域名;
根据所述本地映射表,查找与所述真实域名相对应的所述虚拟域名,并将所述真实域名修改为所述虚拟域名。
15.根据权利要求11所述的装置,其特征在于,判断所述第一目标访问请求指向的目标内网应用中的目标资源是否存在于所述授权内容中包括:
根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名;
判断所述真实域名是否存在于所述授权内容中;或者,
根据所述本地映射表,查找所述第一目标访问请求中携带的所述虚拟域名对应的所述真实域名,基于所述真实域名对所述第一目标访问请求中的URL进行修改,包含将所述虚拟域名替换为所述真实域名;
判断修改后的所述URL是否存在于所述授权内容中。
16.根据权利要求15所述的装置,其特征在于,
所述信息重构模块,还用于将所述第一目标访问请求中携带的所述虚拟域名修改为对应的所述真实域名,以重构所述第一目标访问请求;
所述权限判断模块,还用于基于重构后的所述第一目标访问请求向所述目标内网应用发送请求,以请求所述目标资源。
17.根据权利要求16所述的装置,其特征在于,
所述信息接收模块,还用于接收所述目标内网应用反馈的用户响应信息,其中,所述用户响应信息中至少包括第三cookie设置信息;
所述信息重构模块,还用于对所述第三cookie设置信息进行重构,并获取所述第三cookie设置信息中的domain信息,并根据所述第三cookie设置信息生成第三cookie信息,以建立所述domain信息与所述第三cookie信息的映射关系。
18.根据权利要求17所述的装置,其特征在于,
所述权限判断模块,还用于接收所述浏览器发送的第二目标访问请求,若所述第二目标访问请求中未携带所述第三cookie信息,则基于所述本地映射表,以及所述domain信息与所述第三cookie信息的映射关系,查找所述第三cookie信息,以及将所述第三cookie信息添加到所述第二目标访问请求中,以重构所述第二目标访问请求,并将所述重构后的所述第二目标访问请求发送至所述第二目标访问请求指向的内网应用。
19.一种安全访问内网应用的装置,其特征在于,所述装置包括存储器和处理器,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,实现如权利要求1至9中任一权利要求所述的方法。
CN202010975703.1A 2020-09-16 2020-09-16 一种安全访问内网应用的方法和装置 Active CN112260990B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010975703.1A CN112260990B (zh) 2020-09-16 2020-09-16 一种安全访问内网应用的方法和装置
EP20953853.7A EP4191955A4 (en) 2020-09-16 2020-10-20 METHOD AND DEVICE FOR SECURE ACCESS TO AN INTRANET APPLICATION
PCT/CN2020/122264 WO2022056996A1 (zh) 2020-09-16 2020-10-20 一种安全访问内网应用的方法和装置
US18/041,998 US20230328071A1 (en) 2020-09-16 2020-10-20 Method and device for securely accessing intranet application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010975703.1A CN112260990B (zh) 2020-09-16 2020-09-16 一种安全访问内网应用的方法和装置

Publications (2)

Publication Number Publication Date
CN112260990A true CN112260990A (zh) 2021-01-22
CN112260990B CN112260990B (zh) 2022-03-08

Family

ID=74231742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010975703.1A Active CN112260990B (zh) 2020-09-16 2020-09-16 一种安全访问内网应用的方法和装置

Country Status (4)

Country Link
US (1) US20230328071A1 (zh)
EP (1) EP4191955A4 (zh)
CN (1) CN112260990B (zh)
WO (1) WO2022056996A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866287A (zh) * 2021-02-25 2021-05-28 未鲲(上海)科技服务有限公司 基于办公环境的跨网络访问方法、装置、系统及存储介质
CN113194099A (zh) * 2021-04-30 2021-07-30 网宿科技股份有限公司 一种数据代理方法及代理服务器
CN113381979A (zh) * 2021-05-12 2021-09-10 网宿科技股份有限公司 一种访问请求代理方法及代理服务器
CN113395215A (zh) * 2021-08-17 2021-09-14 武汉长光科技有限公司 通信方法、系统、装置、电子设备及存储介质
CN115529292A (zh) * 2022-10-11 2022-12-27 中国农业银行股份有限公司 访问请求处理方法、装置、设备、系统和存储介质
CN115987956A (zh) * 2022-12-28 2023-04-18 中国电子产业工程有限公司 Web代理应用的资源引用方法、电子设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3104865A1 (fr) * 2019-12-13 2021-06-18 Orange Procédé de traitement de requêtes de résolution de nom de domaine.
CN116346924A (zh) * 2021-12-24 2023-06-27 北京字节跳动网络技术有限公司 网络请求处理方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242336A (zh) * 2008-03-13 2008-08-13 杭州华三通信技术有限公司 远程访问内网Web服务器的方法及Web代理服务器
CN104079629A (zh) * 2014-06-06 2014-10-01 汉柏科技有限公司 一种基于cookie信息的HTTP请求报文的监控方法及网关
CN104113528A (zh) * 2014-06-23 2014-10-22 汉柏科技有限公司 一种基于前置网关的防止敏感信息泄露的方法和系统
CN108234401A (zh) * 2016-12-15 2018-06-29 腾讯科技(深圳)有限公司 一种对业务系统授权的方法及装置
CN109495488A (zh) * 2018-11-27 2019-03-19 杭州安恒信息技术股份有限公司 一种基于Cookie加密的安全防御方法和系统
US20190108531A1 (en) * 2003-08-01 2019-04-11 Oath (Americas) Inc. Audience targeting with universal profile synchronization
KR20190099898A (ko) * 2018-02-20 2019-08-28 고려대학교 산학협력단 Https에서의 쿠키 무결성 검증 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311269B2 (en) * 1998-06-15 2001-10-30 Lockheed Martin Corporation Trusted services broker for web page fine-grained security labeling
CN101977224B (zh) * 2010-10-28 2013-10-09 神州数码网络(北京)有限公司 一种基于SSL VPN设备的Web资源认证信息管理方法
US20180191856A1 (en) * 2016-12-29 2018-07-05 Synology Inc. Cross-domain communication methods and proxy servers using the same
US10812448B2 (en) * 2018-01-26 2020-10-20 Citrix Systems, Inc. Split-tunneling for clientless SSL-VPN sessions with zero-configuration

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190108531A1 (en) * 2003-08-01 2019-04-11 Oath (Americas) Inc. Audience targeting with universal profile synchronization
CN101242336A (zh) * 2008-03-13 2008-08-13 杭州华三通信技术有限公司 远程访问内网Web服务器的方法及Web代理服务器
CN104079629A (zh) * 2014-06-06 2014-10-01 汉柏科技有限公司 一种基于cookie信息的HTTP请求报文的监控方法及网关
CN104113528A (zh) * 2014-06-23 2014-10-22 汉柏科技有限公司 一种基于前置网关的防止敏感信息泄露的方法和系统
CN108234401A (zh) * 2016-12-15 2018-06-29 腾讯科技(深圳)有限公司 一种对业务系统授权的方法及装置
KR20190099898A (ko) * 2018-02-20 2019-08-28 고려대학교 산학협력단 Https에서의 쿠키 무결성 검증 방법
CN109495488A (zh) * 2018-11-27 2019-03-19 杭州安恒信息技术股份有限公司 一种基于Cookie加密的安全防御方法和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112866287A (zh) * 2021-02-25 2021-05-28 未鲲(上海)科技服务有限公司 基于办公环境的跨网络访问方法、装置、系统及存储介质
CN113194099A (zh) * 2021-04-30 2021-07-30 网宿科技股份有限公司 一种数据代理方法及代理服务器
CN113381979A (zh) * 2021-05-12 2021-09-10 网宿科技股份有限公司 一种访问请求代理方法及代理服务器
CN113395215A (zh) * 2021-08-17 2021-09-14 武汉长光科技有限公司 通信方法、系统、装置、电子设备及存储介质
CN113395215B (zh) * 2021-08-17 2021-11-02 武汉长光科技有限公司 通信方法、系统、装置、电子设备及存储介质
CN115529292A (zh) * 2022-10-11 2022-12-27 中国农业银行股份有限公司 访问请求处理方法、装置、设备、系统和存储介质
CN115987956A (zh) * 2022-12-28 2023-04-18 中国电子产业工程有限公司 Web代理应用的资源引用方法、电子设备及存储介质
CN115987956B (zh) * 2022-12-28 2024-03-12 中国电子产业工程有限公司 Web代理应用的资源引用方法、电子设备及存储介质

Also Published As

Publication number Publication date
EP4191955A4 (en) 2024-01-17
EP4191955A1 (en) 2023-06-07
US20230328071A1 (en) 2023-10-12
WO2022056996A1 (zh) 2022-03-24
CN112260990B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
CN112260990B (zh) 一种安全访问内网应用的方法和装置
US10212173B2 (en) Deterministic reproduction of client/server computer state or output sent to one or more client computers
CN112272158A (zh) 一种数据代理方法、系统及代理服务器
US7676828B1 (en) Method and system for authenticating and authorizing requestors interacting with content servers
US8490165B2 (en) Restoring secure sessions
KR100781725B1 (ko) 피어 투 피어 인가를 위한 방법 및 시스템
US8572268B2 (en) Managing secure sessions
CN112260988B (zh) 一种异常请求处理方法和装置
US20040243852A1 (en) Method, system and software for state signing of internet resources
US9398075B2 (en) Communication system, communication apparatus, communication method, and storage medium
CN107528865A (zh) 文件的下载方法和系统
JP5347429B2 (ja) ユニフォームリソースロケータ書換方法及び装置
CN103905395A (zh) 一种基于重定向的web访问控制方法及系统
CN113381979A (zh) 一种访问请求代理方法及代理服务器
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
US20200210584A1 (en) Deterministic Reproduction of Client/Server Computer State or Output Sent to One or More Client Computers
CN116324766A (zh) 通过浏览简档优化抓取请求
CN114389885B (zh) 一种安全的开放私有云数据库到公有云方法
CN113194099B (zh) 一种数据代理方法及代理服务器
CN112260991B (zh) 一种鉴权管理方法和装置
CN112769731A (zh) 一种进程控制方法、装置、服务器及存储介质
CN115987956B (zh) Web代理应用的资源引用方法、电子设备及存储介质
US20200153811A1 (en) Deterministic reproduction of system state using seeded pseudo-random number generators
CN113381978A (zh) 一种安全登录方法和装置
Magnusson Designing DNS Cache Aggregation to Detect Misbehaving Certificate Transparency Logs

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
GR01 Patent grant
GR01 Patent grant