System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种在Android设备中实施动态访问控制的方法和系统技术方案_技高网

一种在Android设备中实施动态访问控制的方法和系统技术方案

技术编号:41154854 阅读:5 留言:0更新日期:2024-04-30 18:19
本发明专利技术涉及一种在Android设备中实施动态访问控制的方法和系统。该方法包括:VPN客户端与动态访问控制客户端通过协商确定数据交互端口与兴趣流;VPN客户端从TUN网卡第一次读取数据包,根据协商的数据交互端口与兴趣流将数据包转发至动态访问控制客户端;动态访问控制客户端进行第一次封装,由操作系统将封装后的数据包转发至TUN网卡;VPN客户端从TUN网卡第二次读取数据包,进行第二次封装,由操作系统将封装后的数据包转发至物理网卡,进而发送至VPN网关;VPN网关将第一次解封装后的数据包转发至动态访问控制网关;动态访问控制网关将第二次解封装后的数据包转发至应用服务端。本发明专利技术能够在Android设备虚拟网卡已被VPN客户端占用的情况下实现动态访问控制。

【技术实现步骤摘要】

本专利技术属于计算机,具体涉及一种在android设备中实施动态访问控制的方法和系统。


技术介绍

1、在android系统中,现有的动态访问技术基于虚拟网卡技术与云端动态访问控制网关协作来实现。如图1所示,其基本思想是在android设备中安装一个客户端程序,利用该客户端程序与动态访问控制网关建立数据传输隧道,以隧道为粒度进行动态访问控制。基本原理是客户端程序读取android系统tun虚拟网卡中的数据,根据隧道封装格式对数据包进行封装,从而与动态访问控制网关建立数据传输隧道,使android系统中的应用数据经由传输隧道发送至动态访问控制网关,并由动态访问控制网关转发/代理至应用服务端。

2、现有方案的基本流程如下:

3、a)系统启动时动态访问控制客户端启动tun网卡,并绑定该网卡,同时在操作系统中配置路由表项,指明需要路由至tun网卡的数据包;

4、b)应用app客户端发起业务访问时,终端操作系统根据路由表信息将数据包转发至tun网卡;

5、c)动态访问控制客户端监听tun网卡并读取数据包,根据自身与动态访问控制网关之间的通讯协议格式对数据包进行封装;

6、d)动态访问控制客户端将封装完成的数据包再次经由操作系统协议栈发送出去;

7、e)终端操作系统根据路由信息将动态访问控制客户端封装后的数据包转发至物理网卡;

8、f)数据通过物理网卡发送至动态访问控制网关;

9、g)动态访问控制网关根据协议格式对数据包进行解封装,并由动态访问控制网关将业务数据转发或代理至应用服务端。

10、现有的android动态访问控制技术在用户设备tun网卡已被其他应用程序占用的情况下将无法正常工作。由于android操作系统的限制,android设备上同时只能有1块tun网卡处于工作状态,若动态访问控制客户端再启动一块tun网卡,将导致原先的tun网卡停止工作,从而影响业务正常运行。

11、例如,在android设备使用vpn远程访问企业内部网络时,将导致动态访问控制技术无法与vpn技术同时正常运行。因为vpn技术的实现也依赖于tun网卡,其基本原理是在android设备中运行vpn客户端,该客户端读取android系统tun虚拟网卡中的数据,将数据按照vpn协议格式进行封装,最终经由android设备物理网卡发送至vpn网关,从而建立vpn安全传输通道。但是,由于android操作系统的限制,系统同一时刻只能使用一个tun网卡,这使得在已运行vpn客户端的android设备中,无法进行动态访问控制。然而在企业日常生产工作中,由于员工可能会出差等原因,需要借助vpn技术实现在企业外部通过互联网接入企业内部网络的场景十分常见,因此需要解决动态访问控制客户端与vpn客户端同时工作的问题。


技术实现思路

1、本专利技术的目的是解决在android设备中tun网卡已被vpn客户端占用的情况下,如何实现动态访问控制的问题。

2、本专利技术采用的技术方案如下:

3、一种在android设备中实施动态访问控制的方法,包括以下步骤:

4、vpn客户端与动态访问控制客户端进行协商,确定数据交互端口与兴趣流;

5、vpn客户端从tun网卡第一次读取数据包,并根据与动态访问控制客户端协商的兴趣流通过协商的数据交互端口将对应数据包转发至动态访问控制客户端;

6、动态访问控制客户端根据自身与动态访问控制网关的通讯协议格式对数据包进行第一次封装,操作系统根据路由表信息将第一次封装后的数据包转发至tun网卡;

7、vpn客户端从tun网卡第二次读取数据包,根据vpn格式进行第二次封装,操作系统根据路由表信息将第二次封装后的数据包转发至物理网卡,通过物理网卡将第二次封装后的数据包发送至vpn网关。

8、进一步地,上述方法还包括以下步骤:

9、vpn网关收到数据包后,进行第一次解封装操作,将第一次解封装后的数据包转发至动态访问控制网关;

10、动态访问控制网关对数据包进行第二次解封装操作,并将第二次解封装后的数据包转发至应用服务端。

11、进一步地,所述动态访问控制客户端对数据包进行所述第一次封装时,将数据包目的地址填写为动态访问控制网关地址,然后将封装后的数据包经由操作系统协议栈发送出去;所述vpn客户端对数据包进行所述第二次封装后,将封装后的数据包经由操作系统协议栈发送出去。

12、进一步地,在所述tun网卡已被所述vpn客户端占用的情况下,所述动态访问控制客户端采用普通用户态app与所述vpn客户端交互的方式,依次封装数据包。

13、进一步地,所述vpn客户端与所述动态访问控制客户端交互的方式为aidl或本地socket通信等;所述vpn客户端与所述动态访问控制客户端交互的信息包括兴趣流、数据交互端口号、动态访问控制网关ip地址信息。

14、进一步地,所述vpn客户端与所述动态访问控制客户端的保活机制,包括:将动态访问控制客户端加入操作系统白名单,或者vpn客户端检查动态访问控制客户端的服务,若服务不存在则主动启动动态访问控制客户端。

15、进一步地,所述动态访问控制网关获取当前android终端的环境状态变化,自动编排访问控制策略,动态地对用户访问行为进行阻断。

16、一种android终端,所述android终端包括vpn客户端、动态访问控制客户端、tun网卡和物理网卡;其中:

17、vpn客户端与动态访问控制客户端进行协商,确定数据交互端口与兴趣流;

18、vpn客户端从tun网卡第一次读取数据包,并根据与动态访问控制客户端协商的兴趣流通过协商的数据交互端口将对应数据包转发至动态访问控制客户端;

19、动态访问控制客户端根据自身与动态访问控制网关的通讯协议格式对数据包进行第一次封装,操作系统根据路由表信息将第一次封装后的数据包转发至tun网卡;

20、vpn客户端从tun网卡第二次读取数据包,根据vpn格式进行第二次封装,操作系统根据路由表信息将第二次封装后的数据包转发至物理网卡,通过物理网卡将第二次封装后的数据包发送至vpn网关。

21、一种在android设备中实施动态访问控制的系统,包括android终端、vpn网关、动态访问控制网关和应用服务端;所述android终端包括vpn客户端、动态访问控制客户端、tun网卡和物理网卡;其中:

22、vpn客户端与动态访问控制客户端进行协商,确定数据交互端口与兴趣流;

23、vpn客户端从tun网卡第一次读取数据包,并根据与动态访问控制客户端协商的兴趣流通过协商的数据交互端口将对应数据包转发至动态访问控制客户端;

24、动态访问控制客户端根据自身与动态访问控制网关的通讯协议格式对数据包进行第一次封装,操作系统根据路由表信息将第一本文档来自技高网...

【技术保护点】

1.一种在Android设备中实施动态访问控制的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,还包括以下步骤:

3.根据权利要求1或2所述的方法,其特征在于,所述动态访问控制客户端对数据包进行所述第一次封装时,将数据包目的地址填写为动态访问控制网关地址,然后将封装后的数据包经由操作系统协议栈发送出去;所述VPN客户端对数据包进行所述第二次封装后,将封装后的数据包经由操作系统协议栈发送出去。

4.根据权利要求1或2所述的方法,其特征在于,在所述TUN网卡已被所述VPN客户端占用的情况下,所述动态访问控制客户端采用普通用户态App与所述VPN客户端交互的方式,依次封装数据包。

5.根据权利要求1所述的方法,其特征在于,所述VPN客户端与所述动态访问控制客户端交互的方式为AIDL或本地Socket通信;所述VPN客户端与所述动态访问控制客户端交互的信息包括兴趣流、数据交互端口号、动态访问控制网关IP地址信息。

6.根据权利要求1所述的方法,其特征在于,所述VPN客户端与所述动态访问控制客户端的保活机制,包括:将动态访问控制客户端加入操作系统白名单,或者VPN客户端检查动态访问控制客户端的服务,若服务不存在则主动启动动态访问控制客户端。

7.根据权利要求1所述的方法,其特征在于,所述动态访问控制网关获取当前Android终端的环境状态变化,自动编排访问控制策略,动态地对用户访问行为进行阻断。

8.一种Android终端,其特征在于,所述Android终端包括VPN客户端、动态访问控制客户端、TUN网卡和物理网卡;其中:

9.一种在Android设备中实施动态访问控制的系统,其特征在于,包括Android终端、VPN网关、动态访问控制网关和应用服务端;所述Android终端包括VPN客户端、动态访问控制客户端、TUN网卡和物理网卡;其中:

...

【技术特征摘要】

1.一种在android设备中实施动态访问控制的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的方法,其特征在于,还包括以下步骤:

3.根据权利要求1或2所述的方法,其特征在于,所述动态访问控制客户端对数据包进行所述第一次封装时,将数据包目的地址填写为动态访问控制网关地址,然后将封装后的数据包经由操作系统协议栈发送出去;所述vpn客户端对数据包进行所述第二次封装后,将封装后的数据包经由操作系统协议栈发送出去。

4.根据权利要求1或2所述的方法,其特征在于,在所述tun网卡已被所述vpn客户端占用的情况下,所述动态访问控制客户端采用普通用户态app与所述vpn客户端交互的方式,依次封装数据包。

5.根据权利要求1所述的方法,其特征在于,所述vpn客户端与所述动态访问控制客户端交互的方式为aidl或本地socket通信;所述vpn客户端与所述动态访问控制客户端交互的信息包括兴...

【专利技术属性】
技术研发人员:崔华俊张棪杨慧然于光喜杨兴华王伟平李杨张亚文
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1