CN105100095A - 移动终端应用程序安全交互方法及装置 - Google Patents
移动终端应用程序安全交互方法及装置 Download PDFInfo
- Publication number
- CN105100095A CN105100095A CN201510423080.6A CN201510423080A CN105100095A CN 105100095 A CN105100095 A CN 105100095A CN 201510423080 A CN201510423080 A CN 201510423080A CN 105100095 A CN105100095 A CN 105100095A
- Authority
- CN
- China
- Prior art keywords
- application program
- identification information
- white list
- communication tunnel
- user
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种移动终端应用程序安全交互方法,包括步骤:获取用于唯一性确定应用程序身份的标识信息;依据所述标识信息判定应用程序是否存在于预设白名单中;为存在于预设白名单中的应用程序建立基于虚拟专用网协议的通信隧道。同时,本发明还提供一种移动终端应用程序安全交互装置。本发明所述方法可以选择性地为应用程序建立通信隧道,使得在所接入网络未经安全确认或者并不安全的情况下,保证应用程序的安全交互,从而保护用户的隐私数据不在传输过程中被窃取。
Description
技术领域
本发明涉及移动通信领域,具体而言,本发明涉及一种移动终端应用程序安全交互方法及装置。
背景技术
随着移动终端应用程序的不断发展,出现越来越多的应用程序,而应用程序在为用户提供服务的过程中,需要连网与其服务器进行通信,由于移动网络提供的套餐流量有限,限制了用户的使用,所以通常用户更喜欢连接不受限制使用的无线网络,但如果在通信过程中连接了不安全的无线局域网,会造成一定的风险。如连接到植入了钓鱼功能的WiFi路由器,通信过程中发送的数据包就可能被劫持,造成用户的信息泄露,特别是对于一些如支付宝、微信、网银等重要的应用,信息泄露会给用户带来极大损失。针对这种不安全通信情况,Android***提供了VPN服务,但当所有应用的流量都通过VPN服务,那么必然会超出VPN服务器的处理能力,造成网络阻塞,使得用户的应用体验变差。因此,如何在所接入网络未经安全确认或者并不安全的情况下保证应用程序的安全交互,避免重要数据或信息泄露,变成了亟待解决的问题。
发明内容
本发明的目的旨在解决上述至少一个问题,提供一种移动终端应用程序安全交互方法及装置。
为了实现上述目的,本发明提供一种移动终端应用程序安全交互方法,包括以下步骤:
获取用于唯一性确定应用程序身份的标识信息;
依据所述标识信息判定应用程序是否存在于预设白名单中;
为存在于预设白名单中的应用程序建立基于虚拟专用网协议的通信隧道。
具体的,所述用于唯一性确定应用程序的身份标识信息包括应用程序的UID。
可选的,所述通信隧道基于PPTP、L2TP、IPSec中的任意一种协议实现。
具体的,所述白名单用于记录建立通信隧道的应用程序的身份标识信息。
进一步,还包括步骤:接收用户对已安装应用程序的选定指令,将选定的应用程序的标识信息记录于所述白名单。
进一步,还包括步骤:当应用程序不存在于所述预设白名单时,不建立通信隧道,直接经无线局域网与其目标服务器进行通信。
具体的,所述建立通信隧道的步骤包括:
VPN服务向VPN服务器发送连接请求;
建立VPN服务与VPN服务器之间的连接;
所述VPN服务与VPN服务器进行通信以确定建立隧道采用的通信协议、加密算法、密钥及相关参数信息。
具体的,在建立通信隧道之前向***注册所述VPN服务。
进一步,在执行本方法步骤之前,检测并判断移动终端接入的网络的安全性。
较佳的,仅对接入被判定为不安全的公共网络的移动设备的当前连接应用程序建立所述通信隧道。
具体的,建立通信隧道后,对经通信隧道传输的应用程序通信数据包进行加密。
优选的,所述应用程序通信数据包的加密采用非对称加密算法。
进一步,还包括步骤:提供一用户界面,用于询问是否建立通信隧道,以用户选定为依据确定是否建立所述通信隧道。
较佳的,获取应用程序的标识信息之前,通过包名和/或签名验证应用程序的合法性。
进一步,还包括以下步骤:通过远程接口向云端服务器请求获取所述白名单,以依据该白名单判定是否为应用程序建立通信隧道。
一种移动终端应用程序安全交互装置,包括:
标识信息获取模块:用于获取用于唯一性确定应用程序身份的标识信息;
判断模块:用于依据所述标识信息判定应用程序是否存在于预设白名单中;
通信隧道建立模块:用于为存在于预设白名单中的应用程序建立基于虚拟专用网协议的通信隧道。
具体的,所述用于唯一性确定应用程序的身份标识信息包括应用程序的UID。
可选的,所述通信隧道基于PPTP、L2TP、IPSec中的任意一种协议实现。
具体的,所述白名单用于记录建立通信隧道的应用程序的身份标识信息。
进一步,还包括第一交互模块,被配置为接收用户对已安装应用程序的选定指令,将选定的应用程序的标识信息记录于所述白名单。
进一步,当应用程序不存在于所述预设白名单时,不建立通信隧道,直接经无线局域网与其目标服务器进行通信。
具体的,所述通信隧道建立模块执行的具体步骤包括:
VPN服务向VPN服务器发送连接请求;
建立VPN服务与VPN服务器之间的连接;
所述VPN服务与VPN服务器进行通信以确定采用的通信协议、加密算法、密钥及相关参数信息。
进一步,还包括服务注册模块,用于在执行通信隧道建立模块之前,向***注册所述VPN服务。
进一步,所述装置还包括检测模块,用于在执行本发明所述装置之前检测并判断移动终端接入的网络的安全性。
优选的,仅对接入被判定为不安全的公共网络的移动设备的当前连接应用程序建立所述通信隧道。
进一步,还包括加密模块,被配置为建立通信隧道后,对经通信隧道传输的应用程序通信数据包进行加密。
优选的,所述对应用程序的通信数据包的加密采用非对称加密算法。
进一步,还包括第二交互模块,被配置为提供一用户界面,用于询问是否建立通信隧道,以用户选定为依据确定是否建立所述通信隧道。
进一步,还包括验证模块,执行获取模块之前,通过包名和/或签名验证应用程序的合法性。
进一步,还包括远程交互模块,用于通过远程接口向云端服务器请求获取所述白名单,以依据该白名单判定是否为应用程序建立通信隧道。
相比现有技术,本发明的方案具有以下优点:
首先,本发明利用Android***的VPN框架,为应用程序提供一个公共的VPN服务,维护一个白名单,对存在于白名单中的应用程序,通过基于VPN服务建立的通信隧道提供安全传输通道,使得应用程序为用户提供服务时,有选择性地为应用程序提供通信隧道,使其可以通过该通信隧道与其服务器进行安全交互,保证传输过程中用户信息的安全,防止用户的隐私数据被窃取,由此,在不超过服务器的处理能力,即使网络环境具有一定的风险的情况下,依然能保证应用程序的安全交互,保护用户的相关数据。
其次,本发明在建立通信隧道之前对应用程序的合法性进行检测,以避免不合法的或恶意应用程序借由安全通信隧道交互信息。同时,对于不合法的应用程序提供用户界面,以提示用户对不合法应用程序做处理,并提供相应的处理项按钮,以引导用户对恶意或不合法程序执行相应处理。由此,可提高对需要建立通信隧道进行安全交互的应用程序的识别度,为用户提供智能化服务,以引导用户对不合法应用程序做出合理的处理,提高用户体验度。
再者,本发明的白名单可以与云端大数据技术相结合,利用大数据的优势,来及时地维护和更新白名单的内容,及时发现潜藏风险的应用程序,使网络环境更为安全。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明的移动终端应用程序安全交互方法的原理示意图
图2为本发明的移动终端应用程序安全交互装置的结构框图
图3为本发明的移动终端应用程序安全交互方法的程序实现流程示意图
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunicationsService,个人通信***),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioningSystem,全球定位***)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本技术领域技术人员可以理解,这里所使用的远端网络设备,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(CloudComputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,远端网络设备、终端设备与WNS服务器之间可通过任何通信方式实现通信,包括但不限于,基于3GPP、LTE、WIMAX的移动通信、基于TCP/IP、UDP协议的计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。
随着互联网的发展,通信安全变得日益重要,其中对于移动终端的通信安全来说,第三方应用的通信安全问题是最重要的问题之一。通常,安全软件能给出一些移动设备连接到无线路由器过程的检测结果,但路由以及网上通信的过程却不能为力,只能由加密VPN负责安全,目前VPN服务一般都是个人授权的服务。而接入公共网络进行通信的过程中,很容易被黑客将通信数据包拦截,以此获取到用户的隐私数据,特别是用户利用公共网络进行移动支付的过程中,很容易被窃取移动支付的账号、密码、验证码等数据包,进一步破译获取其中的数据,从而给用户带来无可弥补的损失,基于此,以本发明提供的方法对第三方应用程序的通信过程进行加密,以实现对用户数据的保护。
首先,先对用户移动终端接入的网络的安全性进行检测,具体可由本发明实现的检测模块执行所述检测过程。通常,网络连接类型通常包括移动运营商提供的各种网络制式的移动通信网络(如CDMA、TD-CDMA、LTE等),无线局域网(如WiFi)。对于无线局域网来说,又分为加密网络和公共网络。而一些公共网络往往由恶意的WiFi热点提供,当移动终端接入该网络时,容易被截取通信的数据包,从而获取用户的隐私信息。因此,可先对接入的网络进行检测,具体由安全软件检测路由器的WAN口的DNS是否被恶意篡改,路由器的DHCP服务的DNS是否被篡改,以及路由器是否允许被远程控制等。
当检测到移动终端当前接入的网络为存在信息泄露风险的无线公共传输网络时,即为不安全的公共网络时,移动终端的应用程序采用本发明实施例所提供的方法进行信息交互,以避免用户的信息被窃取,保证用户隐私数据的安全。本发明所述移动终端应用程序安全交互方法具体包括以下步骤:
S11、获取用于唯一性确定应用程序身份的标识信息;
UID不同于通常所述的用户ID,由于Android***是单用户***,故不需要通过UID确定用户身份,Android***为了管理应用程序,为每个应用程序分配一个UID,以UID实现数据的共享,并用来识别应用程序的身份。因此,可通过获取应用程序的UID唯一性确定其身份。具体可通过执行以下代码获取:
packageManagerpm=getPackageManager();
ApplicationInfoai=pm.getApplicationInfo(“com.gesoft.bit.lavendercloud”,packageManager.GET_ACTIVITIES);
stringuid=ai.uid;
当然,所述应用程序的UID只是对应用程序身份标识信息的举例,还可以包括如应用程序的包名、通信端口、访问的服务器域名等,任何可以唯一确定该应用程序的信息都可以作为本发明所述的身份标识信息。
其中,获取应用程序的身份标识信息之前,先对应用程序的合法性进行验证,可通过验证应用程序的包名和/或签名确定。在具体实施例中,将应用程序的包名或签名通过远程接口上传到云端服务器,由云端服务器对应用程序的签名进行认证,具体步骤为:提取签名中的任何一段,对其进行hash取值,将该hash值与云端服务器中保存的正确hash值对比,如果一致则认证成功,该应用程序合法;如果不一致则认证失败,该应用程序不合法。云端服务器还可以根据预先统计记录的合法应用程序列表,查询需要验证合法性的应用程序是否存在于该列表中,如果存在则该应用程序合法,如果不存在则该应用程序不合法。
当然,上述对包名和/或签名的验证过程也可以由移动终端中相应的客户端执行,以确定应用程序的合法性。
在具体实施例中,当确定应用程序不合法时,则显示提示消息以及对应的处理操作选项。优选地,本发明实施例中以按钮的形式显示处理操作选项,即显示各个处理操作选项对应的处理按钮,用户触发相应的处理操作选项时,在对应的处理按钮处接收用户的输入指令。如果在对应的处理按钮处接收到用户依据提示消息输入的触发指令,则根据触发指令对应用程序执行相应的处理。其中,所述处理按钮可以为终止应用程序运行的按钮,可以为卸载应用程序的按钮,可以为安装正版应用程序的按钮,也可以为继续使用该应用程序的按钮,本发明实施例对此不作任何限定。相应地,如果在终止应用程序运行按钮处接收到用户的触发指令,则终止当前应用程序的运行;如果在卸载应用程序按钮处接收到用户的触发指令,则卸载当前应用程序;如果在安装正版应用程序按钮处接收到用户触发的指令,则卸载当前应用程序并对应安装当前应用程序的正版;如果在继续使用应用程序的按钮处接收到用户的触发指令,则保持当前应用程序的运行状态。
此外,在本发明实施例中,所述应用程序的合法性还包括该应用程序是否存在安全风险。如若根据预设的规则检测到应用程序的安装包中存在恶意程序,则将该应用程序标识为可卸载应用程序;若根据预设的规则检测出应用程序中包含广告、弹窗等程序,则将该应用程序标识为可卸载应用程序;若根据预设规则检测出应用程序为支付类等用户的重要应用,则将该应用程序标识为不可卸载的应用程序,并基于此向用户发出提示信息,以引导其对应用程序进行相应处理。
S12、依据所述标识信息判定应用程序是否存在于预设白名单中;
依据上述获取的用于唯一性确定应用程序身份的标识信息判断应用程序是否存在于预设白名单中,其中,所述预设白名单用于记录建立通信隧道的应用程序的标识信息。
所述白名单由用户预先设置生成,具体可提供一用户界面,接收用户对已安装应用程序的选定指令,将选定的应用程序的标识信息记录于所述白名单,以对该白名单中的应用程序建立所述通信隧道。当获取到当前运行应用程序的身份标识信息时,查询其是否存在于预设的白名单中,以确实是否对该应用程序建立安全通信隧道。
在其他实施例中,所述白名单还可以由云端服务器统计确定,云端服务器记录用户惯常设定的允许建立所述通信隧道的应用程序UID、端口、包名等标识信息,将该些应用程序的标识信息记录于白名单,并定期更新所述白名单。同时,也包括将用户使用的重要第三方应用程序,如支付宝、网上银行、微信等应用程序的标识信息记录于白名单,以将该些应用程序作为默认经过建立通信隧道进行信息传输的应用。当依据获取的标识信息判定应用程序是否存在于预设白名单时,可通过远程接口向云端服务器请求获取相应的白名单,查询所述判定的应用程序是否存在于预设白名单中,以确定是否为该应用程序建立通信隧道。
S13、为存在于预设白名单中的应用程序建立基于虚拟专用网协议的通信隧道。
为了实现对通信隧道的建立,本发明所述方法预先向***注册一个VPN服务,以通过该服务取得建立和维护通信隧道的控制权。其中,所述通信隧道是指基于虚拟专用网协议实现的通信隧道,具体而言,可以采用PPTP、L2TP、IPSec中的任意一种协议实现。在具体实施例中,基于Android***建立VPN服务的原理如下:
1、应用程序使用socket将数据包发送到真实的网络设备;
2、***通过iptables,使用NAT,将所有数据包转发到TUN虚拟网络设备,端口为tun0;
3、***VPN服务程序打开TUN设备并读取相应的数据,获得所有转发到TUN虚拟网络设备上的IP包;
4、VPN服务程序对上述获取的IP数据包做处理,通过真实的网络设备发送出去。
基于上述原理,通过Android***提供的Vpnservice框架,利用***提供的API,获得应用程序的所有IP数据包,以对IP数据包进行处理,与远端VPN服务器进行连接交互,实现将应用程序的IP数据包经通信隧道进行安全传输。
在具体实施例中,所述VPN服务在未建立所述通信隧道之前,可以先向用户界面弹框,以提示用户是否对当前的应用程序建立通信隧道。当用户选择建立所述通信隧道时,由该VPN服务调用***的相应功能,建立基于虚拟专用网协议的通信隧道;否则,不建立通信隧道。即,是否建立所述通信隧道的控制权交给用户,以用户选定为依据决定是否建立所述通信隧道。
在具体实施例中,所述通信隧道的建立步骤如下:
步骤1:VPN服务向VPN服务器发送连接请求;
步骤2:建立VPN服务与VPN服务器之间的连接;
步骤3:所述VPN服务与VPN服务器进行通信确定采用的通信协议、加密算法、密钥及相关参数信息。
建立上述通信隧道后,对基于该通信隧道进行信号传输的应用程序的通信数据包依照上述步骤3确定加密算法进行加密,并按照步骤3确定的通信协议将通信数据包进行重新封装,以使封装后的加密数据包在建立的通信隧道中安全传输。其中,对所述应用程序的通信数据包进行加密采用的加密算法为非对称加密算法。
如果应用程序不属于预设的白名单中的应用程序,则不建立所述通信隧道,直接将该应用程序的数据包经无线局域网传输至其目标服务器,以完成应用程序与其目标服务器之间的通信。
进一步地,对于本发明而非某一具体实施例而言,可以通过加强对网络环境的识别而加强移动终端应用程序通信安全的防护。如WiFi接入点可以分为两类,一是具有一定安全性的专有接入点,如办公室、家庭等私有环境接入点;二是在公共场所使用的公共网络接入点,如餐厅、咖啡厅,以及各运营商提供的接入点等。本发明所述方法可以独立或于诸如360免费WiFi之类的应用相结合使用,检测网络接入点的安全性,如果为公共网络接入点,则强制对移动终端的诸如支付宝等支付类应用或其他重要应用建立所述通信隧道,也可以基于其他需要保护的应用程序弹框提示用户,由用户选择是否对相应的应用程序建立通信隧道,由此以确保移动终端安装的应用程序在存在信息泄露的公共网络中进行通信的安全性。而对于安全性较高的私人环境的网络接入点,可提供相关的预设置项,由用户自主决定是否默认为相应的应用程序建立通信隧道进行数据的远程传输。
图3是以本发明所述方法为基础而实现的一个具体应用实施例的流程示意图,用于进一步具体揭示本发明所述方法原理。以下结合其中所揭示的流程说明整个程序的设计逻辑,以供参照实现本发明方法:
1、检测移动终端接入的网络是否安全,如果接入的网络安全,则执行步骤7;如果存在风险,则继续按序执行。
2、验证应用程序是否合法,如果合法则继续按序执行;如果不合法则执行步骤8;
3、获取应用程序的身份标识信息;
4、判断所述应用程序是否存在于预设白名单中,如果存在,则继续按序执行;如果不存在,则执行步骤9;
5、为应用程序建立基于虚拟专用网协议的安全通信隧道;
6、基于建立的安全通信隧道传输应用程序的数据包至其目标服务器;
7、提供相关的预设置项,由用户决定是否为相应的应用程序建立通信隧道进行数据的远程传输。
8、显示提示消息以及对应的处理操作选项,以接收用户相应的触发指令,对应用程序做相应处理。
9、对该应用程序不建立通信隧道,直接将其数据包经无线局域网发送至应用程序的目标服务器。
为了以模块化的方式对本发明所述方法做进一步说明,本发明提供一种移动终端应用程序安全交互的装置,包括标识信息获取模块11、判断模块12、通信隧道建立模块13,其中,
标识信息获取模块11,用于获取用于唯一性确定应用程序身份的标识信息;
UID不同于通常所述的用户ID,由于Android***是单用户***,故不需要通过UID确定用户身份,Android***为了管理应用程序,为每个应用程序分配一个UID,以UID实现数据的共享,并用来识别应用程序的身份。因此,标识信息获取模块11可通过获取应用程序的UID唯一性确定其身份。具体可通过执行以下代码获取:
packageManagerpm=getPackageManager();
ApplicationInfoai=pm.getApplicationInfo(“com.gesoft.bit.lavendercloud”,packageManager.GET_ACTIVITIES);
stringuid=ai.uid;
当然,所述应用程序的UID只是对应用程序身份标识信息的举例,还可以包括如应用程序的包名、通信端口、访问的服务器域名等,任何可以唯一确定该应用程序的信息都可以作为本发明所述的身份标识信息。
其中,获取应用程序的身份标识信息之前,先对应用程序的合法性进行验证,由验证模块通过验证应用程序的包名和/或签名确定应用程序是否合法。在具体实施例中,将应用程序的包名或签名通过远程接口上传到云端服务器,由云端服务器对应用程序的签名进行认证,具体步骤为:提取签名中的任何一段,对其进行hash取值,将该hash值与云端服务器中保存的正确hash值对比,如果一致则认证成功,该应用程序合法;如果不一致则认证失败,该应用程序不合法。云端服务器还可以根据预先统计记录的合法应用程序列表,查询需要验证合法性的应用程序是否存在于该列表中,如果存在则该应用程序合法,如果不存在则该应用程序不合法。
当然,上述基于包名和/或签名对应用程序进行验证的过程也可以由移动终端中相应的客户端的验证模块执行,以确定应用程序的合法性。
在具体实施例中,当确定应用程序不合法时,则显示提示消息以及对应的处理操作选型。优选地,本发明实施例中以按钮的形式显示处理操作选型,即显示各个处理操作选项对应的处理按钮,用户触发相应的处理操作选项时,在对应的处理按钮处接收用户的输入指令。如果在对应的处理按钮处接收到用户依据提示消息输入的触发指令,则根据触发指令对应用程序执行相应的处理。其中,所述处理按钮可以为终止应用程序运行的按钮,可以为卸载应用程序的按钮,可以为安装正版应用程序的按钮,也可以为继续使用该应用程序的按钮,本发明实施例对此不作任何限定。相应地,如果在终止应用程序运行按钮处接收到用户的触发指令,则终止当前应用程序的运行;如果在卸载应用程序按钮处接收到用户的触发指令,则卸载当前应用程序;如果在安装正版应用程序按钮处接收到用户触发的指令,则卸载当前应用程序并对应安装当前应用程序的正版;如果在继续使用应用程序的按钮处接收到用户的触发指令,则保持当前应用程序的运行状态。
此外,在本发明实施例中,所述应用程序的合法性还包括该应用程序是否存在安全风险。如若根据预设的规则检测到应用程序的安装包中存在恶意程序,则将该应用程序标识为可卸载应用程序;若根据预设的规则检测出应用程序中包含广告、弹窗等程序,则将该应用程序标识为可卸载应用程序;若根据预设规则检测出应用程序为支付类等用户的重要应用,则将该应用程序标识为不可卸载的应用程序,并基于此向用户发出提示信息,以引导其对应用程序进行相应处理。
判断模块12,用于依据所述标识信息判定应用程序是否存在于预设白名单中;
由本发明所述装置的判断模块12,依据上述获取的用于唯一性确定应用程序身份的标识信息判断应用程序是否存在于预设白名单中,其中,所述预设白名单用于记录建立通信隧道的应用程序的标识信息。
所述白名单由用户预先设置生成,具体由第一交互模块执行,提供一用户界面,接收用户对已安装应用程序的选定指令,将选定的应用程序的标识信息记录于所述白名单,以对该白名单中的应用程序建立所述通信隧道。当获取到当前运行应用程序的身份标识信息时,查询其是否存在于预设的白名单中,以确实是否为该应用程序建立安全通信隧道。
在其他实施例中,所述白名单还可以由云端服务器统计确定,云端服务器记录用户惯常设定的允许建立所述通信隧道的应用程序UID、端口、包名等标识信息,将该些应用程序的标识信息记录于白名单,并定期更新所述白名单。同时,也包括将用户使用的重要第三方应用程序,如支付宝、网上银行、微信等应用程序的标识信息记录于白名单,以将该些应用程序作为默认经过建立通信隧道进行信息传输的应用。当依据获取的标识信息判定应用程序是否存在于预设白名单时,可由远程交互模块通过远程接口向云端服务器请求获取相应的白名单,查询所述判定的应用程序是否存在于预设白名单中,以确定是否为该应用程序建立通信隧道。
通信隧道建立模块13,用于为存在于预设白名单中的应用程序建立基于虚拟专用网协议的通信隧道。
为了实现对通信隧道的建立,由注册服务模块预先向***注册一个VPN服务,以通过该服务取得建立和维护通信隧道的控制权。其中,所述通信隧道是指基于虚拟专用网协议实现的通信隧道,具体而言,可以采用PPTP、L2TP、IPSec中的任意一种协议实现。在具体实施例中,基于Android***建立VPN服务的原理如下:
1、应用程序使用socket将数据包发送到真实的网络设备;
2、***通过iptables,使用NAT,将所有数据包转发到TUN虚拟网络设备,端口为tun0;
3、***VPN服务程序打开TUN设备并读取相应的数据,获得所有转发到TUN虚拟网络设备上的IP包;
4、VPN服务程序对上述获取的IP数据包做处理,通过真实的网络设备发送出去。
基于上述原理,通过Android***提供的Vpnservice框架,利用***提供的API,获得应用程序的所有IP数据包,以对IP数据包进行处理,与远端VPN服务器进行连接交互,实现将应用程序的IP数据包经通信隧道进行安全传输。
在具体实施例中,所述VPN服务在未建立所述通信隧道之前,由第二交互模块先向用户界面弹框,以提示用户是否对当前的应用程序建立通信隧道。当用户选择建立所述通信隧道时,由该VPN服务调用***的相应功能,建立基于虚拟专用网协议的通信隧道;否则,不建立通信隧道。即,是否建立所述通信隧道的控制权交给用户,以用户选定为依据决定是否建立所述通信隧道。
在具体实施例中,所述通信隧道建立模块13执行的具体步骤如下:
步骤1:VPN服务向VPN服务器发送连接请求;
步骤2:建立VPN服务与VPN服务器之间的连接;
步骤3:所述VPN服务与VPN服务器进行通信确定采用的通信协议、加密算法、密钥及相关参数信息。
建立上述通信隧道后,对基于该通信隧道进行信号传输的应用程序的通信数据包依照上述步骤3确定加密算法由加密模块进行加密,同时按照步骤3确定的通信协议将通信数据包进行重新封装,以使封装后的加密数据包在建立的通信隧道中安全传输。其中,对所述应用程序的通信数据包进行加密采用的加密算法为非对称加密算法。
如果应用程序不属于预设的白名单中的应用程序,则不建立所述通信隧道,直接将该应用程序的数据包经无线局域网传输至其目标服务器,以完成应用程序与其目标服务器之间的通信。
为便于更直观地理解本发明,如下介绍一个以本发明的方法或装置实现的应用场景。
在实现了本发明的方法或装置的手机终端中,由一实施了本发明的安全软件向Android***注册一个所述VPN服务,以实现与VPN服务器之间的信息传输。由安全软件对本机接入的网络安全性进行检测,对于存在风险的网络,提示用户允许对当前运行的应用程序建立基于虚拟专用网协议的安全通信隧道,或直接将预设白名单中的应用程序的数据包经建立的通信隧道进行传输。在建立通信隧道之前,由安全软件对应用程序的安装文件实施安全扫描,且具有云端接口功能,可以将本机安装文件的特征信息通过远程接口传输给云端服务器,并且等候返回相应的判定信息,根据判定信息确定安装文件的安全性。以依据安装文件的安全性提示用户对其做相应处理。安全软件显然还具有通过构造Activity组件提供可视化用户界面的功能,提供一个窗口界面,显示应用程序的相关信息以及是否合法的提示信息,由用户选择如何处理当前应用程序,以便实现人机交互。
用户运行应用程序时,在本发明的方法或装置的作用下,应用程序不会立刻与其目标服务器进行交互,而是等候本发明的方法或装置的处理。如果当前运行的应用程序存在于预设白名单中或为支付类等重要应用,则本发明的方法或装置静默地发挥作用,为该些应用程序建立安全通信隧道以确保信息的安全传输。当该应用程序的安装文件被安全软件判定为不合法时,安全软件弹出一个提示界面,提示用户该应用程序的安装文件不合法,并给出相应的处理项按钮,由用户触发相应按钮以执行对应用程序的相应处理。由此,实现对应用程序有针对性地建立安全通信隧道,以保障用户的隐私数据安全传输。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种移动终端应用程序安全交互方法,其特征在于,包括以下步骤:
获取用于唯一性确定应用程序身份的标识信息;
依据所述标识信息判定应用程序是否存在于预设白名单中;
为存在于预设白名单中的应用程序建立基于虚拟专用网协议的通信隧道。
2.根据权利要求1所述的方法,其特征在于,所述用于唯一性确定应用程序身份的标识信息包括应用程序的UID。
3.根据权利要求1所述的方法,其特征在于,所述通信隧道基于PPTP、L2TP、IPSec中的任意一种协议实现。
4.根据权利要求1所述的方法,其特征在于,所述白名单用于记录建立通信隧道的应用程序的身份标识信息。
5.根据权利要求4所述的方法,其特征在于,还包括步骤:接收用户对已安装应用程序的选定指令,将选定的应用程序的标识信息记录于所述白名单。
6.一种移动终端应用程序安全交互装置,其特征在于,包括:
标识信息获取模块:用于获取用于唯一性确定应用程序身份的标识信息;
判断模块:用于依据所述标识信息判定应用程序是否存在于预设白名单中;
通信隧道建立模块:用于为存在于预设白名单中的应用程序建立基于虚拟专用网协议的通信隧道。
7.根据权利要求6所述的装置,其特征在于,所述用于唯一性确定应用程序身份的标识信息包括应用程序的UID。
8.根据权利要求6所述的装置,其特征在于,所述通信隧道基于PPTP、L2TP、IPSec中的任意一种协议实现。
9.根据权利要求6所述的装置,其特征在于,所述白名单用于记录建立通信隧道的应用程序的身份标识信息。
10.根据权利要求9所述的装置,其特征在于,还包括第一交互模块,被配置为接收用户对已安装应用程序的选定指令,将选定的应用程序的标识信息记录于所述白名单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510423080.6A CN105100095A (zh) | 2015-07-17 | 2015-07-17 | 移动终端应用程序安全交互方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510423080.6A CN105100095A (zh) | 2015-07-17 | 2015-07-17 | 移动终端应用程序安全交互方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105100095A true CN105100095A (zh) | 2015-11-25 |
Family
ID=54579640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510423080.6A Pending CN105100095A (zh) | 2015-07-17 | 2015-07-17 | 移动终端应用程序安全交互方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105100095A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105530255A (zh) * | 2015-12-16 | 2016-04-27 | 网宿科技股份有限公司 | 验证请求数据的方法及装置 |
CN106789909A (zh) * | 2016-11-22 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序的网络数据传输方法、装置及*** |
CN106817377A (zh) * | 2017-03-27 | 2017-06-09 | 努比亚技术有限公司 | 一种数据加密装置、解密装置及方法 |
CN106888186A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
CN106888184A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
CN106937282A (zh) * | 2015-12-29 | 2017-07-07 | 北界创想(北京)软件有限公司 | 基于移动终端的vpn接入方法及*** |
CN107197077A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 设备间通信方法、装置和*** |
CN107294800A (zh) * | 2016-04-11 | 2017-10-24 | 深圳平安讯科技术有限公司 | 基于移动操作***的网络数据访问控制方法及*** |
CN107332872A (zh) * | 2017-05-23 | 2017-11-07 | 成都联宇云安科技有限公司 | 一种基于VPN连接实现Android设备网络灵活管控的方法 |
CN107948121A (zh) * | 2016-10-12 | 2018-04-20 | 深圳市百米生活股份有限公司 | 一种基于WiFi加密的上网安全方法及*** |
CN108011896A (zh) * | 2017-12-26 | 2018-05-08 | 珠海市君天电子科技有限公司 | 基于应用程序的安全通信方法、装置和电子设备 |
CN108092947A (zh) * | 2016-11-23 | 2018-05-29 | 腾讯科技(深圳)有限公司 | 一种对第三方应用进行身份鉴别的方法及装置 |
CN108306872A (zh) * | 2018-01-24 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 网络请求处理方法、装置、计算机设备和存储介质 |
CN109167715A (zh) * | 2018-10-08 | 2019-01-08 | 北京爱普安信息技术有限公司 | 一种网络管控方法及*** |
CN110674491A (zh) * | 2019-09-29 | 2020-01-10 | 上海淇玥信息技术有限公司 | 用于安卓应用的实时取证的方法、装置和电子设备 |
CN111107078A (zh) * | 2019-12-16 | 2020-05-05 | 深圳前海达闼云端智能科技有限公司 | 应用接入的方法、机器人控制单元、服务器和存储介质 |
CN111800330A (zh) * | 2020-06-30 | 2020-10-20 | 苏州瑞立思科技有限公司 | 基于无线接入点的外设网络流量的代理加速方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856524A (zh) * | 2012-12-04 | 2014-06-11 | 中山大学深圳研究院 | 基于用户代理的白名单识别合法内容的方法和*** |
CN104008482A (zh) * | 2014-06-10 | 2014-08-27 | 北京奇虎科技有限公司 | 基于移动终端的支付方法和装置与移动终端 |
CN104463569A (zh) * | 2014-11-11 | 2015-03-25 | 北京奇虎科技有限公司 | 安全连接支付方法及其装置 |
CN104580185A (zh) * | 2014-12-30 | 2015-04-29 | 北京工业大学 | 一种网络访问控制的方法和*** |
-
2015
- 2015-07-17 CN CN201510423080.6A patent/CN105100095A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856524A (zh) * | 2012-12-04 | 2014-06-11 | 中山大学深圳研究院 | 基于用户代理的白名单识别合法内容的方法和*** |
CN104008482A (zh) * | 2014-06-10 | 2014-08-27 | 北京奇虎科技有限公司 | 基于移动终端的支付方法和装置与移动终端 |
CN104463569A (zh) * | 2014-11-11 | 2015-03-25 | 北京奇虎科技有限公司 | 安全连接支付方法及其装置 |
CN104580185A (zh) * | 2014-12-30 | 2015-04-29 | 北京工业大学 | 一种网络访问控制的方法和*** |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106888186A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
CN106888184A (zh) * | 2015-12-15 | 2017-06-23 | 北京奇虎科技有限公司 | 移动终端支付类应用程序安全支付方法及装置 |
CN105530255B (zh) * | 2015-12-16 | 2019-03-29 | 网宿科技股份有限公司 | 验证请求数据的方法及装置 |
CN105530255A (zh) * | 2015-12-16 | 2016-04-27 | 网宿科技股份有限公司 | 验证请求数据的方法及装置 |
CN106937282A (zh) * | 2015-12-29 | 2017-07-07 | 北界创想(北京)软件有限公司 | 基于移动终端的vpn接入方法及*** |
CN107197077A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 设备间通信方法、装置和*** |
CN107294800B (zh) * | 2016-04-11 | 2021-02-26 | 深圳平安通信科技有限公司 | 基于移动操作***的网络数据访问控制方法及*** |
CN107294800A (zh) * | 2016-04-11 | 2017-10-24 | 深圳平安讯科技术有限公司 | 基于移动操作***的网络数据访问控制方法及*** |
CN107948121A (zh) * | 2016-10-12 | 2018-04-20 | 深圳市百米生活股份有限公司 | 一种基于WiFi加密的上网安全方法及*** |
CN106789909A (zh) * | 2016-11-22 | 2017-05-31 | 北京奇虎科技有限公司 | 应用程序的网络数据传输方法、装置及*** |
CN108092947B (zh) * | 2016-11-23 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种对第三方应用进行身份鉴别的方法及装置 |
CN108092947A (zh) * | 2016-11-23 | 2018-05-29 | 腾讯科技(深圳)有限公司 | 一种对第三方应用进行身份鉴别的方法及装置 |
CN106817377A (zh) * | 2017-03-27 | 2017-06-09 | 努比亚技术有限公司 | 一种数据加密装置、解密装置及方法 |
CN107332872A (zh) * | 2017-05-23 | 2017-11-07 | 成都联宇云安科技有限公司 | 一种基于VPN连接实现Android设备网络灵活管控的方法 |
CN108011896A (zh) * | 2017-12-26 | 2018-05-08 | 珠海市君天电子科技有限公司 | 基于应用程序的安全通信方法、装置和电子设备 |
CN108306872B (zh) * | 2018-01-24 | 2022-03-18 | 腾讯科技(深圳)有限公司 | 网络请求处理方法、装置、计算机设备和存储介质 |
CN108306872A (zh) * | 2018-01-24 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 网络请求处理方法、装置、计算机设备和存储介质 |
CN109167715A (zh) * | 2018-10-08 | 2019-01-08 | 北京爱普安信息技术有限公司 | 一种网络管控方法及*** |
CN110674491A (zh) * | 2019-09-29 | 2020-01-10 | 上海淇玥信息技术有限公司 | 用于安卓应用的实时取证的方法、装置和电子设备 |
CN110674491B (zh) * | 2019-09-29 | 2022-02-01 | 上海淇玥信息技术有限公司 | 用于安卓应用的实时取证的方法、装置和电子设备 |
CN111107078A (zh) * | 2019-12-16 | 2020-05-05 | 深圳前海达闼云端智能科技有限公司 | 应用接入的方法、机器人控制单元、服务器和存储介质 |
CN111107078B (zh) * | 2019-12-16 | 2023-04-07 | 达闼机器人股份有限公司 | 应用接入的方法、机器人控制单元、服务器和存储介质 |
CN111800330A (zh) * | 2020-06-30 | 2020-10-20 | 苏州瑞立思科技有限公司 | 基于无线接入点的外设网络流量的代理加速方法及*** |
CN111800330B (zh) * | 2020-06-30 | 2021-12-03 | 苏州瑞立思科技有限公司 | 基于无线接入点的外设网络流量的代理加速方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105100095A (zh) | 移动终端应用程序安全交互方法及装置 | |
CN107005442B (zh) | 用于远程接入的方法和装置 | |
US8997208B2 (en) | Gateway device for terminating a large volume of VPN connections | |
CN102316093B (zh) | 用于移动设备的双模式多服务vpn网络客户端 | |
US9674173B2 (en) | Automatic certificate enrollment in a special-purpose appliance | |
US9769172B2 (en) | Method of accessing a network securely from a personal device, a personal device, a network server and an access point | |
US9225685B2 (en) | Forcing all mobile network traffic over a secure tunnel connection | |
US9219709B2 (en) | Multi-wrapped virtual private network | |
US20100197293A1 (en) | Remote computer access authentication using a mobile device | |
US9210128B2 (en) | Filtering of applications for access to an enterprise network | |
CN106376003A (zh) | 检测无线局域网连接及无线局域网数据发送方法及其装置 | |
CN107005534A (zh) | 安全连接建立 | |
US20150121076A1 (en) | Simplifying ike process in a gateway to enable datapath scaling using a two tier cache configuration | |
US20130283050A1 (en) | Wireless client authentication and assignment | |
CN106888184A (zh) | 移动终端支付类应用程序安全支付方法及装置 | |
CN103916394A (zh) | 公共wifi环境下的数据传输方法及*** | |
EP2706717A1 (en) | Method and devices for registering a client to a server | |
CN101986598A (zh) | 认证方法、服务器及*** | |
Dorobantu et al. | Security threats in IoT | |
KR101214613B1 (ko) | 접속자의 식별 신뢰도를 높인 프록시 기반의 서버 보안방법과 보안시스템 | |
Juhász et al. | WiFi vulnerability caused by SSID forgery in the IEEE 802.11 protocol | |
CN106888186A (zh) | 移动终端支付类应用程序安全支付方法及装置 | |
Lee et al. | Man-in-the-middle Attacks Detection Scheme on Smartphone using 3G network | |
CN106686583A (zh) | 一种Wi-Fi环境下安全通信的方法及装置 | |
Lei et al. | 5G security system design for all ages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |