一种无线局域网的连接方法和装置与流程

文档序号:11549099阅读:202来源:国知局
一种无线局域网的连接方法和装置与流程

本发明涉及通信技术领域,具体涉及一种无线局域网的连接方法和装置。



背景技术:

当前公共无线局域网络比如wi-fi(wirelessfidelity,无线保真)已经大范围普及。用户外出时可以连接无线局域网络进行上网,大大方便了用户。因此连接免费的无线局域网络比如免费wi-fi的需求比较强烈。

基于用户连接免费无线局域网络的需求,目前市场出现了大量的无线局域网络连接工具,如wi-fi连接工具等。由于各大无线局域网络连接工具的核心竞争力在于无线局域网络热点数据库。因此,如何保护产品的无线局域网络热点数据库,防止无线局域网络热点数据库被竞争对手窃取就显得极为重要。

目前防止无线局域网络热点数据库内数据被窃取的方式,主要是对无线局域网络热点数据进行加密。具体地,服务器对无线局域网络连接的密码数据进行加密并存储在数据库中,客户端从服务器获取加密的密码数据,在需要连接网络时对加密的密码数据进行解密,然后连接相应的无线局域网络。

然而,对于目前的数据加密方案,攻击者可以入侵客户端进程来窃取密码数据,降低了无线局域网热点数据的安全性。



技术实现要素:

本发明实施例提供一种无线局域网的连接方法和装置,可以提高无线局域网络热点数据的安全性。

本发明实施例提供一种无线局域网的连接方法,包括:

获取无线局域网扫描结果,所述无线局域网扫描结果包括扫描到的无线局域网热点;

从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点;

通过应用进程向安全进程发送无线局域网连接请求,所述无线局域网连接请求携带所述目标无线局域网热点对应的目标无线局域网标识;

当安全进程接收到无线局域网连接请求时,通过所述安全进程从所述服务器获取所述目标无线局域网标识对应的密码数据;

根据所述安全进程、所述密码数据以及所述目标无线局域网标识连接相应的无线局域网。

相应的,本发明实施例还提供一种无线局域网的连接装置,包括:

热点获取单元,用于获取无线局域网扫描结果,所述无线局域网扫描结果包括扫描到的无线局域网热点;

确定单元,用于从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点;

请求发送单元,用于通过应用进程向安全进程发送无线局域网连接请求,所述无线局域网连接请求携带所述目标无线局域网热点对应的目标无线局域网标识;

密码获取单元,用于当安全进程接收到无线局域网连接请求时,通过所述安全进程从所述服务器获取所述目标无线局域网标识对应的密码数据;

连接单元,用于根据所述安全进程、所述密码数据以及所述目标无线局域网标识连接相应的无线局域网。

本发明实施例采用获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的无线局域网热点,然后,从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点,通过应用进程向安全进程发送无线局域网连接请求,该无线局域网连接请求携带该目标无线局域网热点对应的目标无线局域网标识,当安全进程接收到无线局域网连接请求时,通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据,根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网。由于该方案可以通过独立于客户端进程即应用进程的安全进程获取无线局域网的密码数据,并存放在安全进程内,这样即使攻击者有权限侵入客户端进程,也无法获取无线局域网的密码数据;因此,可以防止无线局域网热点数据中的密码数据被窃取,提高了无线局域网热点数据的安全性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的无线局域网的连接方法的流程图;

图1b是本发明实施例提供的一种wifi连接工具的界面示意图;

图1c是本发明实施例提供的匿名管道通信示意图;

图1d是本发明实施例提供的binder通信示意图;

图1e是本发明实施例提供的系统接口调用示意图;

图1f是本发明实施例提供的另一种系统接口调用示意图;

图2a是本发明实施例提供的wifi连接系统的场景示意图;

图2b是本发明实施例提供的无线局域网的连接方法的另一流程图;

图2c是本发明实施例提供的wifi管理应用程序的一种界面示意图;

图2d是本发明实施例提供的wifi管理应用程序的另一种界面示意图;

图2e是本发明实施例提供的wifi管理应用程序的又一种界面示意图;

图2f是本发明实施例提供的wifi连接时序图;

图3a是本发明实施例提供的无线局域网的连接装置的结构示意图;

图3b是本发明实施例提供的无线局域网的连接装置的另一结构示意图;

图3c是本发明实施例提供的无线局域网的连接装置的又一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种无线局域网的连接方法和装置。以下将分别进行详细说明。

实施例一、

本实施例将从无线局域网的连接装置的角度进行描述,该无线局域网的连接装置具体可以集成在终端中,该终端可以为手机、平板电脑等设备。

一种无线局域网的连接方法,包括:获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的无线局域网热点,然后,从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点,通过应用进程向安全进程发送无线局域网连接请求,该无线局域网连接请求携带该目标无线局域网热点对应的目标无线局域网标识,当安全进程接收到无线局域网连接请求时,通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据,根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网。

如图1a所示,该无线局域网的连接方法的具体流程可以如下:

101、获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的无线局域网热点。

从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点。

比如,终端可以启动无线局域网扫描功能,扫描周围的无线局域网热点;本实施例中可以通过应用程序获取无线局域网扫描结果,该结果包括扫描到的无线局域网热点。扫描到的无线局域网热点可以以列表形式呈现,称为无线局域网热点列表。

102、从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点。

具体地,应用进程可以根据用户操作从扫描到的无线局域网热点中选取需要连接的目标无线局域网热点。该用户操作可以包括:点击、滑动等操作。

例如,参考图1b,在应用程序获取wifi热点列表之后,可以将wifi热点列表显示出来;当用户点击某个热点时,如在图1b所示界面中,用户点击热点“tp-link”时,会触发应用进程从wifi热点中选取需要连接的wifi热点为“tp-link”。

可选地,为提高无线局域网热点数据的安全性,本实施例可以将无线局域热点数据划分成两类,一类是密码数据,称为敏感数据,另一类是非敏感数据,该非敏感数据为无线局域网热点的热点数据中除密码数据以外的数据。比如,该非敏感数据可以包括无线局域网热点的描述或者介绍信息,比如其可以包括:无线局域网的是否可用信息、安全等级信息等等。

在本实施例中,为提高无线局域网热点数据的安全性,可以通过不同进程来分别获取敏感数据和非敏感数据,具体地,通过应用获取非敏感数据,通过安全进程获取密码数据即敏感数据。此时,在步骤101和102之间,还可以包括:

通过应用进程从服务器获取该目标无线局域网热点的非敏感数据,该非敏感数据为目标无线局域网热点的热点数据中除密码数据以外的数据。

实际应用中,在获取无线局域网热点列表之后,还可以通过应用进程从服务器中获取列表中无线局域网热点对应的非敏感数据,然后,可以根据非敏感数据在用户界面展示相应的信息。比如,可以获取wifi热点列表后,应用进程可以从服务器获取列表中wifi热点对应的wifi是否可用信息、wifi安全等级信息、是否可免费上网信息等,并在用户界面展示。

参考图1b,在应用进程获取wifi热点列表之后,可以从服务器获取列表中wifi热点对应的安全信息、是否可免费上网信息,然后,在用户界面向用户展示“安全免费上网”的wifi热点。

103、通过应用进程向安全进程发送无线局域网连接请求,该无线局域网连接请求携带该目标无线局域网热点对应的目标无线局域网标识。

其中,无线局网热点对应的无线局域网标识可以包括:ssid(servicesetidentifier,服务集标识符)、和/或bssid(basicservicesetidentifier,基本服务集标识符)。

一般ssid是一个最长32字节区分大小写的字符串,表示无线局域网的名称;bssid表示的是无线接入点的数据链路层的mac地址。

比如,应用进行可以向安全进程发起wifi连接请求,该wifi连接请求可以携带需要连接的wifi的标识。

为提高数据进程间的数据安全,防止通信内容被窃取,本实施例中,应用进程与安全进程可以采用匿名管道进行通信由于采用匿名管道,管道的两端是两个普通的,匿名的文件描述符,这就让应用进程外的其他进程无法连接该管道,获取通信内容。优选地,该应用进程和安全进程可以为父子进程。

也即,步骤“通过应用进程向安全进程发起携带该目标无线局域网标识的无线局域网连接请求”可以包括:触发该应用进程通过应用进程与该安全进程之间的匿名管道,向该安全进程发送无线局域网连接请求。

其中,匿名管道:管道是一种类unix操作系统中进程间通信的机制,可以在进程间建立单向或双向的数据通信。匿名管道是管道的一种,这种管道没有实体文件路径。

参考图1c,应用进程与安全进程之间采用匿名管道通信,应用进程通过匿名管道1向安全进程发送wifi连接请求;安全进程通过匿名管道2向应用进程返回wifi连接结果。

可选地,为节省资源,本实施例方法在确定目标无线局域网热点之后,发送无线局域网连接请求之前,还可以包括:

通过应用进程检查该目标无线局域网热点是否在热点数据库中(即查询该目标无线局域网热点是否可连接),若是,则执行通过应用进程向安全进程发送无线局域网连接请求的步骤,否则,结束流程。

104、当安全进程接收到无线局域网连接请求时,通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据。

具体地,可以通过安全进程向服务器发送携带该目标无线局域网标识的密码获取请求,然后,通过安全进程获取服务器根据该密码获取请求返回的密码数据。

其中,目标无线局域网标识对应的密码数据为目标无线局域网标识对应的无线局域网的接入密码数据。

比如,当安全进程接收到应用进程发送的wifi连接请求时,安全进程向服务器发送携带wifi标识的wifi密码获取请求,之后安全进程接收服务器根据该请求返回的wifi密码数据。该wifi密码数据与该wifi标识对应,为该wifi标识对应的wifi连接密码数据。

为防止攻击者进一步入侵密码数据所在进程,提升密码数据的安全性;本实施例在获取密码之前,还需要进行进程调试检测,若进程被调试则结束流程,若否,则获取密码数据。也即在安全进程接收到该无线局域网连接请求之后,通过该安全进程从该服务器获取密码数据之前,该连接方法还包括:

检测安全进程是否被调试;

若否,则执行通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据的步骤。

比如,安全进程在接收到应用进程发送的wifi连接请求时,检测自身是否被调试,若是,则结束流程,若否,则安全进程从服务器获取密码数据。

可选地,为了提高密码数据的安全,本实施例中无线局域网热点数据和密码数据可以通过不同的服务器接口从服务器获取;也即步骤“通过应用进程从服务器获取该目标无线局域网热点的非敏感数据”可以包括:通过应用进程和第一服务器接口从服务器获取该目标无线局域网热点的非敏感数据;

步骤“通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据”可以包括:通过该安全进程以及第二服务器接口从服务器获取该目标无线局域网标识对应的密码数据。

本发明实施例对现有拉取接口进行拆分,以便分开拉取无线局域网热点的敏感数据(wifi的是否可用信息、安全等级信息等)和密码数据。这样保证了应用进程既能够完成用户界面的信息展示,又不会因为持有密码数据导致被窃取。

例如,参考下表,比较了本发明实施例方案与现有方案的接口不同;现有方案采用接口a从服务器拉取wifi热点的所有数据(包括wifi热点信息和wifi密码数据等);而本发明实施例可以采用接口b从服务器拉取部分wifi热点信息,采用接口c单独拉取密码数据。这样便可以使得wifi热点数据的两部分数据分开来去,一部数据为非敏感数据(如wifi热点列表、wifi标识信息等)、另一部分数据为敏感数据(即密码数据)。

105、根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网。

实际应用中,安全进程还可以返回无线局域网连接结果给应用进程,应用进程在接收到连接结果,可以展示该结果告知用户是否连接成功。

本实施例中,密码数据可以为加密数据,也可以为明文数据。当密码数据为明文数据时,安全进程可以查询并调用相应的系统接口,然后,根据该系统接口、目标无线局域网标识以及密码数据连接相应的无线局域网。

比如,当密码数据为明文数据时,安全进程可以获取系统服务代理对象(如通过系统提供的方法获取系统服务代理对象),然后,通过系统服务代理对象查询并调用相应的系统接口,根据该系统接口、目标无线局域网标识以及密码数据连接相应的无线局域网如wifi。

例如,安全进程可以通过系统提供的方法获取系统wi-fi服务的代理(proxy)对象。通过代理对象,就可以使用进程间通信(ipc)机制调用wi-fi连接接口(即系统接口)。其中进程间通信机制可以为安卓系统提供的binder,此时可以使用binderipc机制调用wi-fi连接接口。

其中,binder通信是一种client-server的通信结构,其可以作为应用进程与系统服务进行进程间通信的方法。如图1d所示,为binder通信示意图;client调用某个代理接口中的方法(即callmethod)时,代理接口(proxy)的方法会将client传递的参数打包成为parcel对象;代理接口(proxy)将该parcel发送给内核中的binderdrive;server会读取binderdriver(binder驱动)中的请求数据,如果是发送给自己的,解包parcel对象,处理并将结果返回;整个的调用过程是一个同步过程,在server处理的时候,client会block住。

当密码数据为加密数据时,可以通过安全进程对密码数据进行解密,然后,基于安全进程和解密后的密码数据连接相应的无线局域网。也即步骤“根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网”可以包括:

通过该安全进程对该密码数据进行解密,得到密码明文数据;

通过安全进程调用相应的系统接口;

根据该系统接口、该目标无线局域网标识以及该密码明文数据连接相应的无线局域网。

其中,通过安全进程调用系统接口的方式可以有多种,比如,安全进程可以通过系统提供的方法获取系统服务代理对象,然后,通过系统服务代理对象查询并调用相应的系统接口。

参考图1e,安全进程可以通过系统方法查询进程间通信机制共享库(如binder32位共享库、binder64位共享库),得到系统服务代理对象,然后,通过系统服务代理对象和进程间通信机制驱动(如binder驱动)查询相应的系统接口。其中,为支持和兼容android所有系统版本,本实施例设置了binder32位共享库、binder64位共享库。

然而,实际应用中,参考图1e,攻击者可以伪造代理对象拦截密码数据,调用系统提供方法获取到可能是伪造的代理对象,另外攻击者还可以采用hook技术篡改系统方法,导致密码被拦截。

为了避免调用系统提供的方法获取到的是伪造的代理对象,或者由于hook导致系统方法已经被篡改,导致密码数据被拦截;本实施例可以将进程间通信机制的代码实现放入安全进程,从而避免引用系统共享库导致中间攻击;如将binder的代码实现放入安全进程。具体地,可以采用静态编译的方式,将进程间通信机制的代码实现放入安全进程。

也即步骤“通过安全进程调用相应的系统接口”可以包括:

基于安全进程内部的进程间通信机制实现单元获取系统服务代理对象;

通过系统服务代理对象查询并调用相应的系统接口。

其中,该进程间通信机制实现单元用于实现进程间通信机制,其可以进程间通信机制的实现代码构成。

参考图1f,由于安全进程可以采用本进程内部通过进程间通信机制(如binder)来获取系统服务代理对象,因此,可以抵御伪造系统接口代理对象来拦截密码数据的攻击手段,以及hook方式拦截密码数据的攻击方式。

在调用系统接口之后,通过系统接口将密码数据或者密码明文数据传递给无线局域网服务,然后,基于无线局域网服务连接相应的无线局域网。

可选地,本实施例的安全进程采用开源的ollvm(llvm-obfuscator)方案进行关键代码混淆和字符串加密,增加逆向工程难度。本方案可以仅对ollvm实现了接入,使之支持android平台。

ollvm:全称llvm-obfuscator是瑞士西北应用科技大学安全实验室针对llvm编译组件开发的代码混淆工具,该工具完全开源,目的是为了增加逆向工程的难度,保证代码的安全性。

其中,llvm(lowlevelvirtualmachine,底层虚拟机):一个自由软件项目,是一种编译器的基础建设,以c++写成。它是为了任意一种编程语言写成的程序,利用虚拟技术,创造出编译时期,链接时期,运行时期以及“闲置时期”的最优化。

由上可知,本发明实施例采用获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的无线局域网热点,然后,从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点,通过应用进程向安全进程发送无线局域网连接请求,该无线局域网连接请求携带该目标无线局域网热点对应的目标无线局域网标识,当安全进程接收到无线局域网连接请求时,通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据,根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网。该方案将现有无线局域网连接单进程模型拆分成双进程模型,实现敏感(即密码数据)和非敏感数据分离;通过独立于客户端进程即应用进程的安全进程获取无线局域网的密码数据,并存放在安全进程内,这样即使攻击者有权限侵入客户端进程,也无法获取无线局域网的密码数据;因此,可以防止无线局域网热点数据中的密码数据被窃取,提高了无线局域网热点数据的安全性。

此外,该方案还可以通信机制代码实现放在安全进程内,在安全进程内部获取系统服务代理对象,无需通过查询进程外的机制共享库获取服务代理对象;因此,可以抵御攻击者使用hook,伪造代理对象或替换共享库等方式进行攻击。

实施例二、

根据实施例一所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以无线局域网为wifi,并且无线局域网的连接装置集成在终端为例进行说明。

如图2a所示,本实施例提供了一种wifi连接系统,该系统包括服务器以及终端,服务器与终端之间可通过网络连接。其中,终端安装有应用进程,即客户端进程,以及安全进程。

下面基于该wifi连接系统,来介绍本发明的无线局域网的连接方法。

如图2b所示,一种无线局域网的连接方法,具体流程可以如下:

201、应用进程获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的wifi热点列表。

可选地,在步骤201之前还可以包括应用进程可以接收安全网络连接请求,然后,根据该安全网络连接请求开启安全网络连接模式;此时,终端可以在安全网络连接模式开启的情况下执行步骤201-214。

其中,该安全网络连接请求的触发方式有多种,具体地,可以通过终端来触发生成安全网络连接请求。比如,可以在应用程序的界面上设置一安全网络连接入口,这样后续便可以通过安全网络连接入口来触发生成安全网络连接请求,以开启安全网络连接模式。

参考图2c,在wifi管理应用程序开启后,wifi管理应用程序在开启界面上会提供两个入口,普通网络连接入口和安全网络连接入口,以便用户选择。当用户不希望wifi密码数据被窃取时,用户可以点击选择安全网络连接入口,此时,将会触发生成安全网络连接请求,应用程序将会对该完全网络连接请求进行接收。后续应用进程将会根据该请求开启安全网络连接模式,参考图2d,在用户点击安全网络连接入口后将会接入wifi热点连接主界面。在安全网络连接模式开启下,通过应用进程获取非敏感数据,在用户选取或者确定需要连接的目标wifi热点(如选择连接wifi热点zhuguo)后,可以通过安全进程获取wifi密码数据(wifi热点zhuguo的连接密码数据);这样就可以实现敏感(即密码数据)和非敏感数据分离;通过独立于客户端进程即应用进程的安全进程获取无线局域网的密码数据,并存放在安全进程内,这样即使攻击者有权限侵入客户端进程,也无法获取无线局域网的密码数据,提高了无线局域网热点数据的安全性以及无线网络连接的安全性。

当然在实际应用中,为了节省资源,还可以在开启wifi管理应用程序后,自动开启安全网络连接模式,后续便可以通过应用进程获取非敏感数据,通过安全进程获取wifi密码数据,以提高无线局域网热点数据的安全性以及无线网络连接的安全性。

202、应用进程从服务器获取wifi热点列表中wifi热点的非敏感数据。

其中,非敏感数据为wifi热点数据中除密码数据以外的数据。比如,该非敏感数据可以包括无线局域网热点的描述或者介绍信息,比如其可以包括:无线局域网的是否可用信息、安全等级信息等等。

本实施例中应用进程可以通过第一服务器接口从服务器拉取wifi热点列表中wifi热点的非敏感数据。

203、应用进程根据wifi热点列表和非敏感数据在用户界面展示wifi热点。

例如,参考图1b,应用进程可以在用户界面展示可连接的wifi热点,具体地,在用户界面展示wifi热点的标识,也即wifi的标识。

204、应用进程从wifi热点列表中确定需要连接的目标wifi热点。

比如,应用进程可以根据用户操作从wifi热点列表中确定需要连接的目标wifi热点。参考图1b,当用户点击某个热点时,如在图1b所示界面中,用户点击热点“tp-link”时,会触发应用进程从wifi热点中选取需要连接的wifi热点为“tp-link”。

又比如,参考图2e,在图1b提供的wifi热点连接界面中,可以为每个可连接的wifi热点提供安全连接入口和普通连接入口,以便用户选择。当用户选择某个wifi热点(如“tp-link”)的普通连接入口时,应用进程可确定该wifi热点为需要连接的目标wifi热点,并从服务器获取该wifi热点对应的wifi密码数据进行连接;即通过应用进程来获取密码数据,此种方式虽然wifi连接速度可能会快点,但是可能会导致wifi密码数据被窃取、wifi密码数据的安全性较低。当用户选择某个wifi热点(如“tp-link”)的安全连接入口时,应用进程将会确定该wifi热点为需要连接的目标wifi热点,然后,会触发安全进程从服务器获取该wifi热点的wifi密码数据,此种方式相对于前面的方式,wifi连接速度可能会慢点,但是可以防止wifi密码数据被窃取,wifi密码数据的安全性高。

当用户点击wifi热点“tp-link”的安全连接入口时,可以触发生成安全连接确定指令,应用进程根据该安全连接确定指令从wifi热点列表中确定需要连接的目标wifi热点,然后,执行后续步骤如步骤205-214。

205、应用进程检查该目标wifi热点是否在wifi热点数据库中,若是,则执行步骤206,若否,则结束流程。

本实施例,检查wifi热点是否在wifi热点数据库中是为确定该wifi热点是否可连接,如果不在wifi热点数据库中,表明数据库中没有该wifi热点的密码数据,因此无法连接该wifi热点,即该wifi热点不可连接;反之如果wifi热点数据在wifi热点数据库中,表明数据库中有该wifi热点的密码数据,因此可以连接该wifi热点,即该wifi热点可连接。

206、应用进程向安全进程发送wifi连接请求,该wifi连接请求携带目标wifi热点对应的wifi标识。

该wifi标识可以为ssid,即wifi热点的名称或者wifi的名称。

为提高数据进程间的数据安全,防止通信内容被窃取,应用进程可以采用匿名管道向安全进程发送wifi连接请求。例如,通过应用进程与安全进程之间的第一匿名管道向安全进程发送wifi连接请求。

207、安全进程接收到wifi连接请求时,检测安全进程是否被调试,若否,则执行步骤208,若是,则结束流程。

安全进程进行进程调试检测,可以防止攻击者进一步入侵密码数据所在进程。若进程被调试,则表明该安全进程可能被入侵,因此,为了防止热点数据被窃取可以结束流程。

208、安全进程向服务器发送wifi密码请求,该wifi密码请求携带该wifi标识。

209、服务器根据wifi密码请求从wifi热点数据库中提取相应的wifi密码数据,并向安全进程返回该wifi密码数据。

为了方便敏感数据和非敏感数据的分离,本实施例可以采用不同的服务器接口分别获取敏感数据和非敏感数据。比如,服务器可以通过第二服务器接口向安全进程返回该wifi密码数据;区别于获取非敏感数据的第一服务器接口。

210、安全进程对wifi密码数据解密,得到wifi密码明文数据。

211、安全进程通过内部的进程间通信的机制实现单元查询并调用相应的系统接口。

为了避免调用系统提供的方法获取到的是伪造的代理对象,或者由于hook导致系统方法已经被篡改,导致密码数据被拦截;本实施例可以将进程间通信机制的代码实现放入安全进程,在安全进程内通过进程间通信机制获取系统服务对象,从而避免引用系统共享库导致中间攻击;如将binder的代码实现放入安全进程。具体地,可以采用静态编译的方式,将进程间通信机制的代码实现放入安全进程。

212、安全进程通过系统接口将wifi标识以及wifi密码明文数据传递给系统服务。

比如,安全进程可以通过系统接口(即wifi连接接口)将wifi标识以及wifi密码明文数据传递给系统wifi服务,。

213、系统服务器根据wifi标识以及wifi密码明文数据连接相应的wifi,并返回wifi连接结果给安全进程。

214、安全进程将wifi连接结果发送给应用进程。

具体地,安全进程通过匿名管道将wifi连接结果发送给应用进程,比如,安全进程可以通过应用进程与安全进程之间的第二匿名管道将该wifi连接结果发送给应用进程。

参考图2f,为采用上述图2b所示连接方法进行一次wifi连接的时序图,具体过程如下:

1、应用进程检查该热点是否在热点数据库中,如果不是,结束流程;

2、应用进程通过本方案提供接口发起wi-fi连接请求;

3、安全进程接收到wi-fi连接请求,进行进程调试检测,如果当前被调试,结束流程;

4、安全进程向服务端请求密码列表等敏感数据;

5、安全进程解密敏感数据;

6、安全进程使用内部binderipc实现,查询系统接口并调用,实现wi-fi连接;

7、安全进程返回连接结果给应用进程。

由上可知,本发明实施例采用应用进程获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的无线局域网热点,然后,应用进程从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点,应用进程向安全进程发送无线局域网连接请求,该无线局域网连接请求携带该目标无线局域网热点对应的目标无线局域网标识,当安全进程接收到无线局域网连接请求时,安全进程通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据,安全进程根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网。该方案将现有无线局域网连接单进程模型拆分成双进程模型,实现敏感(即密码数据)和非敏感数据分离;通过独立于客户端进程即应用进程的安全进程获取无线局域网的密码数据,并存放在安全进程内,这样即使攻击者有权限侵入客户端进程,也无法获取无线局域网的密码数据;因此,可以防止无线局域网热点数据中的密码数据被窃取,提高了无线局域网热点数据的安全性。

此外,该方案还可以通信机制代码实现放在安全进程内,在安全进程内部获取系统服务代理对象,无需通过查询进程外的机制共享库获取服务代理对象;因此,可以抵御攻击者使用hook,伪造代理对象或替换共享库等方式进行攻击。

实施例三、

为了更好地实施以上方法,本发明实施例还提供无线局域网的连接装置,如图3a所示,该无线局域网的连接装置包括:热点获取单元301、确定单元302、请求发送单元303、密码获取单元304和连接单元305,如下:

(1)热点获取单元301;

热点获取单元301,用于获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的无线局域网热点。

其中,扫描到的无线局域网热点可以以列表形式呈现,称为无线局域网热点列表。

(2)确定单元302;

确定单元302,用于从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点。

具体地,确定单元302可以根据用户操作从扫描到的无线局域网热点中选取需要连接的目标无线局域网热点。该用户操作可以包括:点击、滑动等操作。

(3)请求发送单元303;

请求发送单元303,用于通过应用进程向安全进程发送无线局域网连接请求,该无线局域网连接请求携带该目标无线局域网热点对应的目标无线局域网标识。

可选地,该请求发送单元303,可以用于在检测到目标无线局域网热点在热点数据库中,或者该目标无线局域网热点可连接时,通过应用进程向安全进程发送无线局域网连接请求。

其中,无线局网热点对应的无线局域网标识可以包括:ssid(servicesetidentifier,服务集标识符)、和/或bssid(basicservicesetidentifier,基本服务集标识符)。

为了提高数据进程间的数据安全,防止通信内容被窃取,本实施例中,请求发送单元303可以通过应用进程与该安全进程之间的匿名管道,向该安全进程发送无线局域网连接请求。

(4)密码获取单元304;

密码获取单元304,用于当安全进程接收到无线局域网连接请求时,通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据。

其中,目标无线局域网标识对应的密码数据为目标无线局域网标识对应的无线局域网的接入密码数据。

(5)连接单元305;

连接单元305,用于根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网。

其中,该连接单元305可以包括:

解密子单元,用于通过该安全进程对该密码数据进行解密,得到密码明文数据;

调用子单元,用于通过安全进程调用相应的系统接口;

连接子单元,用于根据该系统接口、该目标无线局域网标识以及该密码明文数据连接相应的无线局域网。

比如,该调用子单元可以用于获取系统服务代理对象(如通过系统提供的方法获取系统服务代理对象),然后,通过系统服务代理对象查询并调用相应的系统接口,根据该系统接口、目标无线局域网标识以及密码数据连接相应的无线局域网如wifi。

实际应用中,调用子单元可以通过系统方法查询进程间通信机制共享库(如binder32位共享库、binder64位共享库),得到系统服务代理对象,然后,通过系统服务代理对象和进程间通信机制驱动(如binder驱动)查询相应的系统接口。

又比如,为了避免调用系统提供的方法获取到的是伪造的代理对象,或者由于hook导致系统方法已经被篡改,导致密码数据被拦截;该调用子单元可以用于基于安全进程内部的进程间通信机制实现单元获取系统服务代理对象;通过系统服务代理对象查询并调用相应的系统接口。

也即本实施例可以将进程间通信机制的代码实现放入安全进程,从而避免引用系统共享库导致中间攻击;如将binder的代码实现放入安全进程。具体地,可以采用静态编译的方式,将进程间通信机制的代码实现放入安全进程。

其中,该连接子单元,可以用于通过系统接口将密码数据或者密码明文数据传递给无线局域网服务,然后,基于无线局域网服务连接相应的无线局域网。

可选地,为了提高密码数据的安全性,本实施例可以热点数据划分成敏感数据和非敏感数据,通过不同进程来分别获取敏感数据和非敏感数据,具体地,通过应用获取非敏感数据,通过安全进程获取密码数据即敏感数据。非敏感数据为无线局域网热点的热点数据中除密码数据以外的数据。

参考图3b,该连接装置还可以包括:数据获取单元306;

该数据获取单元306,用于在热点获取单元301获取无线局域网扫描结果之后,确定单元302从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点之前,通过应用进程从服务器获取该目标无线局域网热点的非敏感数据,该非敏感数据为目标无线局域网热点的热点数据中除密码数据以外的数据。

可选地,为进一步提高密码数据的安全,本实施例在接收到连接请求,获取密码数据之前,还需要检测安全进程是否被调试,以确定该进程是否被入侵;也即,参考图3c,该连接装置还可以包括检测单元307;

该检测单元307,用于在安全进程接收到该无线局域网连接请求之后,密码获取单元302通过该安全进程从该服务器获取密码数据之前,检测安全进程是否被调试;

该密码获取单元302,用于在检测单元307检测到安全进程未被调试时,通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据。

可选地,为了便于区分敏感数据和非敏感数据,提高密码数据的安全;本实施例可以通过不同的接口从服务器获取敏感数据和非敏感数据;也即数据获取单元306可以通过应用进程和第一服务器接口从服务器获取该目标无线局域网热点的非敏感数据;密码获取单元304用于通过该安全进程以及第二服务器接口从服务器获取该目标无线局域网标识对应的密码数据。

将该地址集合中除了公用网络地址以外的网络地址作为候选网络地址。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

该无线局域网的连接装置具体可以集成在终端中;比如,热点获取单元301、确定单元302,请求发送单元303可以集成在终端的应用进程内,而密码获取单元304和连接单元305可以集成在终端的安全进程内。

由上可知,本实施例的无线局域网的连接装置采用热点获取单元301获取无线局域网扫描结果,该无线局域网扫描结果包括扫描到的无线局域网热点,然后,由确定单元302从扫描到的无线局域网热点中确定需要连接的目标无线局域网热点,由请求发送单元303通过应用进程向安全进程发送无线局域网连接请求,该无线局域网连接请求携带该目标无线局域网热点对应的目标无线局域网标识,由密码获取单元304当安全进程接收到无线局域网连接请求时,通过该安全进程从该服务器获取该目标无线局域网标识对应的密码数据,由连接单元305根据该安全进程、该密码数据以及该目标无线局域网标识连接相应的无线局域网。该方案将现有无线局域网连接单进程模型拆分成双进程模型,实现敏感(即密码数据)和非敏感数据分离;通过独立于客户端进程即应用进程的安全进程获取无线局域网的密码数据,并存放在安全进程内,这样即使攻击者有权限侵入客户端进程,也无法获取无线局域网的密码数据;因此,可以防止无线局域网热点数据中的密码数据被窃取,提高了无线局域网热点数据的安全性。

此外,该方案还可以通信机制代码实现放在安全进程内,在安全进程内部获取系统服务代理对象,无需通过查询进程外的机制共享库获取服务代理对象;因此,可以抵御攻击者使用hook,伪造代理对象或替换共享库等方式进行攻击。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

以上对本发明实施例所提供的一种无线局域网的连接方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1