CN105704837B - 一种用于建立无线连接的方法及设备 - Google Patents
一种用于建立无线连接的方法及设备 Download PDFInfo
- Publication number
- CN105704837B CN105704837B CN201410709374.0A CN201410709374A CN105704837B CN 105704837 B CN105704837 B CN 105704837B CN 201410709374 A CN201410709374 A CN 201410709374A CN 105704837 B CN105704837 B CN 105704837B
- Authority
- CN
- China
- Prior art keywords
- information
- connection
- identifier
- equipment
- authentication
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 228
- 238000004891 communication Methods 0.000 claims abstract description 192
- 239000000523 sample Substances 0.000 claims description 196
- 238000010276 construction Methods 0.000 claims description 137
- 238000012360 testing method Methods 0.000 claims description 90
- 230000004044 response Effects 0.000 claims description 73
- 238000004364 calculation method Methods 0.000 claims description 61
- 238000012790 confirmation Methods 0.000 claims description 52
- 230000009471 action Effects 0.000 claims description 31
- 238000012795 verification Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 description 94
- 230000008569 process Effects 0.000 description 46
- 230000001960 triggered effect Effects 0.000 description 41
- 230000005540 biological transmission Effects 0.000 description 27
- 230000006870 function Effects 0.000 description 24
- 230000002441 reversible effect Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 238000006467 substitution reaction Methods 0.000 description 15
- 238000006073 displacement reaction Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000010267 cellular communication Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/50—Secure pairing of devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W56/00—Synchronisation arrangements
- H04W56/001—Synchronization between nodes
- H04W56/002—Mutual synchronization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W92/00—Interfaces specially adapted for wireless communication networks
- H04W92/16—Interfaces between hierarchically similar devices
- H04W92/18—Interfaces between hierarchically similar devices between terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/77—Graphical identity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
- Computing Systems (AREA)
Abstract
本发明实施例提供了一种用于建立无线连接的方法及设备,涉及通信领域,所述方法包括:所述第一设备接收第一用户的操作指令后,根据所述操作指令生成连接信息,向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识;接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带所述第一标识;确定所述第一标识与所述第一设备的第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;如果匹配,向所述第二设备发送第二消息;建立与所述第二设备之间的无线连接。本发明能够提高建立无线连接的效率。
Description
技术领域
本发明涉及通信领域,特别涉及一种用于建立无线连接的方法及设备。
背景技术
随着技术的发展,越来越多的电子设备开始进入用户的日常生活,如手机、平板电脑和网关设备等,这些电子设备提供更加丰富和实用的功能。例如,目前很多电子设备具有传输数据的功能,两个电子设备可以建立无线连接,然后通过该无线连接来传输数据。
例如,假设第一电子设备需要传输数据给第二电子设备,首先第一电子设备进行设备搜索,得到设备搜索结果,该设备搜索结果中包括第一电子设备搜索到的各设备的标识;然后第一电子设备对应的用户从该设备搜索结果中找出第二电子设备的标识,并选择所述第二电子设备的标识;第一电子设备根据该用户选择的所述第二电子设备的标识,与所述第二电子设备建立无线连接,在无线连接建立完成后,通过该无线连接传输数据给第二电子设备。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
有时设备搜索结果中包含大量的设备的标识,或者有时包含多个与所述第二电子设备的类型相同的设备的标识,而类型相同的多个设备的标识之间看起来很相似,导致第一电子设备对应的用户需要花费较长时间来分辨并选择正确的设备,即需要与所述第一电子设备建立无线连接的设备(即第二电子设备),降低了建立无线连接的速度,进而降低了数据传输的效率。
发明内容
为了提高建立无线连接的效率,本发明实施例提供了一种用于建立无线连接的方法及设备。所述技术方案如下:
第一方面,提供了一种用于建立无线连接的方法,用于第一设备与第二设备建立无线连接,所述方法包括:
所述第一设备接收第一用户的操作指令后,根据所述操作指令生成连接信息,向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,所述第一用户为所述第一设备对应的用户,所述第一部分信息是所述连接信息的部分或全部;
所述第一设备接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带所述第一标识;
所述第一设备确定所述第一标识与所述第一设备的第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
如果匹配,所述第一设备向所述第二设备发送第二消息,其中所述第二消息为所述第一消息的响应消息;
所述第一设备建立与所述第二设备之间的无线连接。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一设备确定所述第一标识与所述第一设备的第二标识是否匹配之前,还包括:
对所述连接信息的第一部分信息采用预设算法进行计算生成所述第一设备的第二标识。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述对所述连接信息的第一部分信息采用预设算法进行计算生成所述第二标识,包括:
对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一设备的第二标识;或者,
向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一设备的第二标识。
结合第一方面、第一方面的第一种可能的实现方式或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一设备向第二设备提供所述连接信息,包括:
第一设备显示或播放所述连接信息,使得所述第二设备接收用户向其输入的所述连接信息;或者,
第一设备根据所述连接信息生成包含所述连接信息的图形码,显示所述图形码,使所述第二设备扫描所述的图形码并获取所述连接信息;或者,
第一设备与第二设备建立短距离通信连接,通过所述短距离通信连接发送所述连接信息给所述第二设备。
结合第一方面或第一方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第四种可能的实现方式中,
所述第一消息为探测请求Probe request消息,所述Probe request消息的服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
结合第一方面或第一方面的第一至第四种可能的实现方式中的任一种可能的实现方式,在第一方面的第五种可能的实现方式中,所述建立与所述第二设备之间的无线连接,包括:
验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,所述第一认证信息是所述第二设备根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,所述第二认证信息与对所述第二部分信息进行计算生成的结果相等或相对应;
如果验证出所述第一认证信息与所述第二认证信息匹配,则向所述第二设备发送确认信息,所述确认信息用于所述第二设备确定将与所述第一设备建立无线连接,建立与所述第二设备之间的无线连接。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,包括:
将所述第一设备的第二认证信息确定为四步握手认证方式的成对主密钥PMK,根据所述PMK并通过所述四步握手认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配;或者,
将所述第一设备的第二认证信息确定为无线保真安全设置WPS认证方式的个人识别码PIN,根据所述PIN并通过所述WPS认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配。
结合第一方面的第五或第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配之前,还包括:
根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息。
结合第一方面的第七种可能的实现方式,在第一方面的第八种可能的实现方式中,所述根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息,包括:
对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一设备的第二认证信息;或者,
向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一设备的第二认证信息。
结合第一方面的第五至第八种可能的实现方式中的任一种可能的实现方式,在第一方面的第九种可能的实现方式中,所述第一设备生成连接信息,包括:
根据所述第一设备的第二标识生成所述连接信息的第一部分信息;
根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息;
根据所述第一部分信息和所述第二部分信息得到所述连接信息。
结合第一方面或第一方面的第一至第九种可能的实现方式中的任一种可能的实现方式,在第一方面的第十种可能的实现方式中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
第二方面,提供了一种用于建立无线连接的方法,用于第一设备与第二设备建立无线连接,所述方法包括:
所述第二设备获取所述第二设备附近的第一设备提供的连接信息,所述连接信息是所述第一设备接收第一用户的操作指令后根据所述操作指令生成的,所述第一用户为所述第一设备对应的用户;
所述第二设备根据所述连接信息的第一部分信息计算生成第一标识,所述第一部分信息是所述连接信息的部分或全部;
所述第二设备向所述第一设备发送第一消息,所述第一消息携带所述第一标识,以使得所述第一设备确定所述第一标识与第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
所述第二设备接收所述第一设备在所述第一标识与所述第二标识匹配时发送的第二消息,所述第二消息为所述第一消息的响应消息;
所述第二设备建立与所述第一设备之间的无线连接。
结合第二方面,在第二方面的第一种可能的实现方式中,所述根据所述连接信息的第一部分信息计算生成第一标识,包括:
对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一标识;或者,
向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一标识。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述建立与所述第一设备之间的无线连接,包括:
与所述第一设备进行验证,以使所述第一设备确定所述第二设备的第一认证信息与所述第一设备的第二认证信息是否匹配,所述第一认证信息是根据所述连接信息的第二部分信息计算生成的,所述第二认证信息与对所述连接信息的第二部分信息计算生成的结果相等或相对应;
接收所述第一设备验证出所述第一认证信息与所述第二认证信息匹配时发送的确认信息;
根据所述确认信息建立与所述第一设备之间的无线连接。
结合第二方面、第二方面的第一或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述与所述第一设备进行验证,包括:
将所述第一认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式与所述第一设备进行验证;或者,
将所述第一认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式与所述第一设备进行验证。
结合第二方面或第二方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述与所述第一设备进行验证之前,还包括:
根据所述连接信息的第二部分信息计算生成所述第一认证信息。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述根据所述连接信息的第二部分信息计算生成所述第一认证信息,包括:
对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一认证信息;或者,
向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一认证信息。
结合第二方面或第二方面的第一至第五种可能的实现方式中的任一种可能的实现方式,在第二方面的第六种可能的实现方式中,所述获取所述第二设备附近的第一设备提供的连接信息,包括:
接收用户输入的所述第一设备的连接信息;或者,
扫描所述第一设备显示图形码,获取所述图形码中包含的所述第一设备的连接信息;或者,
与所述第一设备建立短距离通信连接,通过所述短距离通信连接接收所述第一设备发送的连接信息。
结合第二方面或第二方面的第一至第六种可能的实现方式中的任一种可能的实现方式,在第二方面的第七种可能的实现方式中,
所述第一消息为探测请求Probe request消息,所述Probe request消息的标识服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
结合第二方面或第二方面的第一至第七种可能的实现方式中的任一种可能的实现方式,在第二方面的第八种可能的实现方式中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
第三方面,提供了一种用于建立无线连接的设备,所述设备为第一设备,用于与第二设备建立无线连接,所述第一设备包括:
生成模块,用于接收第一用户的操作指令后,根据所述操作指令生成连接信息,所述第一用户为所述第一设备对应的用户;
提供模块,用于向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,所述第一部分信息是所述连接信息的部分或全部;
接收模块,用于接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带第一标识;
确定模块,用于确定所述第一标识与所述第一设备的第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
发送模块,用于如果所述确定模块确定出所述第一标识与所述第一设备的第二标识匹配,向所述第二设备发送第二消息,其中所述第二消息为所述第一消息的响应消息;
建立模块,用于建立与所述第二设备之间的无线连接。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述第一设备还包括:
第一计算模块,用于对所述连接信息的第一部分信息采用预设算法进行计算生成所述第一设备的第二标识。
结合第三方面、第三方面的第一种可能的实现方式或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述第一计算模块包括:
第一哈希单元,用于对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一设备的第二标识;或者,
第一构造单元,用于向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一设备的第二标识。
结合第三方面、第三方面的第一种可能的实现方式或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,在第三方面的第四种可能的实现方式中,所述提供模块包括:
显示播放单元,用于显示或播放所述连接信息,使用户向所述第二设备输入所述连接信息;或者,
显示单元,用于根据所述连接信息生成包含所述连接信息的图形码,显示所述图形码,使所述第二设备扫描所述的图形码并获取所述连接信息;或者,
发送单元,用于与第二设备建立短距离通信连接,通过所述短距离通信连接发送所述连接信息给所述第二设备。
结合第三方面或第三方面的第一至第三种可能的实现方式中的任一种可能的实现方式,
所述第一消息为探测请求Probe request消息,所述Probe request消息的服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
结合第三方面或第三方面的第一至第四种可能的实现方式中的任一种可能的实现方式,在第三方面的第五种可能的实现方式中,所述建立模块包括:
验证单元,用于验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,所述第一认证信息是所述第二设备根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,所述第二认证信息与对所述第二部分信息进行计算生成的结果相等或相对应;
建立单元,用于如果验证出所述第一认证信息与所述第二认证信息匹配,则向所述第二设备发送确认信息,所述确认信息用于所述第二设备确定将与所述第一设备建立无线连接,建立与所述第二设备之间的无线连接。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述验证单元包括:
第一验证子单元,用于将所述第一设备的第二认证信息确定为四步握手认证方式的成对主密钥PMK,根据所述PMK并通过所述四步握手认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配;或者,
第二验证子单元,用于将所述第一设备的第二认证信息确定为无线保真安全设置WPS认证方式的个人识别码PIN,根据所述PIN并通过所述WPS认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配。
结合第三方面的第五或第六种可能的实现方式,在第三方面的第七种可能的实现方式中,所述第一设备还包括:
第二计算模块,用于根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息。
结合第三方面的第七种可能的实现方式,在第三方面的第八种可能的实现方式中,所述第二计算模块包括:
第二哈希单元,用于对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一设备的第二认证信息;或者,
第二构造单元,用于向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一设备的第二认证信息。
结合第三方面的第五至第八种可能的实现方式中的任一种可能的实现方式,在第三方面的第九种可能的实现方式中,所述第一设备还包括:
第一生成模块,用于根据所述第一设备的第二标识生成所述连接信息的第一部分信息;
第二生成模块,用于根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息;
构造模块,用于根据所述第一部分信息和所述第二部分信息构造所述连接信息。
结合第三方面或第三方面的第一至第九种可能的实现方式中的任一种可能的实现方式,在第三方面的第十种可能的实现方式中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
第四方面,提供了一种用于建立无线连接的设备,所述设备为第二设备,用于与第一设备建立无线连接,所述第二设备包括:
获取模块,用于获取所述第二设备附近的第一设备提供的连接信息,所述连接信息是所述第一设备接收第一用户的操作指令后根据所述操作指令生成的,所述第一用户为所述第一设备对应的用户;
计算模块,用于根据所述连接信息的第一部分信息计算生成第一标识,所述第一部分信息是所述连接信息的部分或全部;
发送模块,用于向所述第一设备发送第一消息,所述第一消息携带所述第一标识,以使得所述第一设备确定所述第一标识与第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
接收模块,用于接收所述第一设备在所述第一标识与所述第二标识匹配时发送的第二消息,所述第二消息为所述第一消息的响应消息;
建立模块,用于建立与所述第一设备之间的无线连接。
结合第四方面,在第四方面的第一种可能的实现方式中,所述计算模块包括:
第一哈希单元,用于对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一标识;或者,
第一添加单元,用于向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一标识。
结合第四方面或第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述建立模块包括:
验证单元,用于与所述第一设备进行验证,以使所述第一设备确定所述第二设备的第一认证信息与所述第一设备的第二认证信息是否匹配,所述第一认证信息是根据所述连接信息的第二部分信息计算生成的,所述第二认证信息与对所述连接信息的第二部分信息计算生成的结果相等或相对应;
第一接收单元,用于接收所述第一设备验证出所述第一认证信息与所述第二认证信息匹配时发送的确认信息;
建立单元,用于根据所述确认信息建立与所述第一设备之间的无线连接。
结合第四方面、第四方面的第一或第二种可能的实现方式,在第四方面的第三种可能的实现方式中,所述验证单元包括:
第一验证子单元,用于将所述第一认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式与所述第一设备进行验证;或者,
第二验证子单元,用于将所述第一认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式与所述第一设备进行验证。
结合第四方面或第四方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第四方面的第四种可能的实现方式中,所述第二设备还包括:
生成模块,用于根据所述连接信息的第二部分信息计算生成所述第一认证信息。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述生成模块包括:
第二哈希单元,用于对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一认证信息;或者,
第二添加单元,用于向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一认证信息。
结合第四方面或第四方面的第一至第五种可能的实现方式中的任一种可能的实现方式,在第四方面的第六种可能的实现方式中,所述获取模块包括:
第二接收单元,用于接收用户输入的所述第一设备的连接信息;或者,
扫描单元,用于扫描所述第一设备显示图形码,获取所述图形码中包含的所述第一设备的连接信息;或者,
第三接收单元,用于与所述第一设备建立短距离通信连接,通过所述短距离通信连接接收所述第一设备发送的连接信息。
结合第四方面或第四方面的第一至第六种可能的实现方式中的任一种可能的实现方式,在第四方面的第七种可能的实现方式中,
所述第一消息为探测请求Probe request消息,所述Probe request消息的标识服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
结合第四方面或第四方面的第一至第七种可能的实现方式中的任一种可能的实现方式,在第四方面的第八种可能的实现方式中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
第五方面,提供了一种设备,所述设备为第一设备,用于与第二设备建立无线连接,所述第一设备包括:接收器、处理器和发送器;
所述处理器,用于接收第一用户的操作指令后,根据所述操作指令生成连接信息,向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,所述第一部分信息是所述连接信息的部分或全部;
所述接收器,用于接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带第一标识;
所述处理器,还用于确定所述接收器接收的第一标识与所述第一设备的第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
所述发送器,用于如果所述处理器确定的结果为匹配,向所述第二设备发送第二消息,其中所述第二消息为所述第一消息的响应消息;
所述处理器,还用于建立与所述第二设备之间的无线连接。
结合第五方面,在第五方面的第一种可能的实现方式中,所述处理器,还用于对所述连接信息的第一部分信息采用预设算法进行计算生成所述第一设备的第二标识。
结合第五方面的第一种可能的实现方式,在第五方面的第二种可能的实现方式中,所述处理器根据所述连接信息的第一部分信息计算生成所述第一设备的第二标识的操作,包括:
所述处理器对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一设备的第二标识;或者,
所述处理器向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一设备的第二标识。
结合第五方面、第五方面的第一种可能的实现方式或第二种可能的实现方式,在第五方面的第三种可能的实现方式中,所述处理器向第二设备提供所述连接信息的操作,包括:
所述处理器显示或播放所述连接信息,使用户向所述第二设备输入所述连接信息;或者,
所述处理器根据所述连接信息生成包含所述连接信息的图形码,显示所述图形码,使所述第二设备扫描所述的图形码并获取所述连接信息;或者,
所述处理器与第二设备建立短距离通信连接,通过所述短距离通信连接发送所述连接信息给所述第二设备。
结合第五方面或第五方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第五方面的第四种可能的实现方式中,
所述第一消息为探测请求Probe request消息,所述Probe request消息的服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
结合第五方面或第五方面的第一至第四种可能的实现方式中的任一种可能的实现方式,在第五方面的第五种可能的实现方式中,所述处理器建立与所述第二设备之间的无线连接的操作,包括:
所述处理器验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,所述第一认证信息是所述第二设备根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,所述第二认证信息与对所述第二部分信息进行计算生成的结果相等或相对应;
如果验证出所述第一认证信息与所述第二认证信息匹配,则向所述第二设备发送确认信息,所述确认信息用于所述第二设备确定将与所述第一设备建立无线连接,建立与所述第二设备之间的无线连接。
结合第五方面的第五种可能的实现方式,在第五方面的第六种可能的实现方式中,所述处理器验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配的操作,包括:
所述处理器将所述第一设备的第二认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配;或者,
所述处理器将所述第一设备的第二认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配。
结合第五方面的第五或第六种可能的实现方式,在第五方面的第七种可能的实现方式中,所述处理器,还用于根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息。
结合第五方面的第七种可能的实现方式,在第五方面的第八种可能的实现方式中,所述处理器根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息的操作,包括:
所述处理器对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一设备的第二认证信息;或者,
所述处理器向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一设备的第二认证信息。
结合第五方面的第五至第八种可能的实现方式中的任一种可能的实现方式,在第五方面的第九种可能的实现方式中,
所述处理器,还用于根据所述第一设备的第二标识生成所述连接信息的第一部分信息;根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息;根据所述第一部分信息和所述第二部分信息构造所述连接信息。
结合第五方面或第五方面的第一至第九种可能的实现方式中的任一种可能的实现方式,在第五方面的第十种可能的实现方式中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
第六方面提供了一种设备,所述设备为第二设备,用于与第一设备建立无线连接,所述第二设备包括:处理器、发送器和接收器;
所述处理器,用于获取所述第二设备附近的第一设备提供的连接信息,所述连接信息是所述第一设备接收第一用户的操作指令后根据所述操作指令生成的,所述第一用户为所述第一设备对应的用户生成的,根据所述连接信息的第一部分信息计算生成第一标识,所述第一部分信息是所述连接信息的部分或全部;
所述发送器,用于向所述第一设备发送第一消息,所述第一消息携带所述处理器生成的所述第一标识,以使得所述第一设备确定所述第一标识与第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
所述接收器,用于接收所述第一设备在所述第一标识与所述第二标识匹配时发送的第二消息,所述第二消息为所述第一消息的响应消息;
所述处理器,还用于建立与所述第一设备之间的无线连接。
结合第六方面,在第六方面的第一种可能的实现方式中,所述处理器根据所述连接信息的第一部分信息计算生成第一标识的操作,包括:
所述处理器对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一标识;或者,
所述处理器向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一标识。
结合第六方面或第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,所述处理器建立与所述第一设备之间的无线连接的操作,包括:
所述处理器与所述第一设备进行验证,以使所述第一设备确定所述第二设备的第一认证信息与所述第一设备的第二认证信息是否匹配,所述第一认证信息是根据所述连接信息的第二部分信息计算生成的,所述第二认证信息与对所述连接信息的第二部分信息计算生成的结果相等或相对应;
接收所述第一设备验证出所述第一认证信息与所述第二认证信息匹配时发送的确认信息;
根据所述确认信息建立与所述第一设备之间的无线连接。
结合第六方面、第六方面的第一或第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述处理器与所述第一设备进行验证的操作,包括:
所述处理器将所述第一认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式与所述第一设备进行验证;或者,
所述处理器将所述第一认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式与所述第一设备进行验证。
结合第六方面或第六方面的第一至第三种可能的实现方式中的任一种可能的实现方式,在第六方面的第四种可能的实现方式中,
所述处理器,还用于根据所述连接信息的第二部分信息计算生成所述第一认证信息。
结合第六方面的第四种可能的实现方式,在第六方面的第五种可能的实现方式中,所述处理器根据所述连接信息的第二部分信息计算生成所述第一认证信息的操作,包括:
所述处理器对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一认证信息;或者,
所述处理器向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一认证信息。
结合第六方面或第六方面的第一至第五种可能的实现方式中的任一种可能的实现方式,在第六方面的第六种可能的实现方式中,所述处理器获取所述第一设备提供的连接信息的操作,包括:
接收用户输入的所述第一设备的连接信息;或者,
扫描所述第一设备显示图形码,获取所述图形码中包含的所述第一设备的连接信息;或者,
与所述第一设备建立短距离通信连接,通过所述短距离通信连接接收所述第一设备发送的连接信息。
结合第六方面或第六方面的第一至第六种可能的实现方式中的任一种可能的实现方式,在第六方面的第七种可能的实现方式中,
所述第一消息为探测请求Probe request消息,所述Probe request消息的标识服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
结合第六方面或第六方面的第一至第七种可能的实现方式中的任一种可能的实现方式,在第六方面的第八种可能的实现方式中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的第一消息,第一设备根据该连接信息生成第二标识,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接,其中,第一设备可以通过第一标识和第二标识发现发送携带所述第一标识的第一消息的第二设备为所述第一设备需要与之建立无线连接的设备,如此第一设备的用户只需要通过第一设备将生成的连接信息提供给第二设备,后续的流程由第一设备和第二设备去交互执行,以建立第一设备和第二设备之间的无线连接,本发明实施例中,第一设备的用户不需要通过第一设备进行周边设备的搜索,也不需要第一设备的用户在大量的搜索结果中花费时间去选择设备,提高了建立无线连接的效率,继而提高了数据传输的效率,也简化了用户的操作,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-1是本发明实施例提供的一种用于建立无线连接的方法流程图;
图1-2是本发明实施例提供的另一种用于建立无线连接的方法流程图;
图2-1是本发明实施例提供的另一种用于建立无线连接的方法流程图;
图2-2是本发明实施例提供的一种系统应用的应用界面第一示意图;
图2-3是本发明实施例提供的一种系统应用的应用界面第二示意图;
图2-4是本发明实施例提供的一种第三方应用的应用界面第一示意图;
图2-5是本发明实施例提供的一种第三方应用的应用界面第二示意图;
图2-6是本发明实施例提供的一种系统应用的应用界面第三示意图;
图2-7是本发明实施例提供的一种系统应用的应用界面第四示意图;
图2-8是本发明实施例提供的一种系统应用的应用界面第五示意图;
图2-9是本发明实施例提供的一种Probe request消息的第一结构示意图;
图2-10是本发明实施例提供的一种Probe response消息的第一结构示意图;
图3是本发明实施例提供的另一种用于建立无线连接的方法流程图;
图4-1是本发明实施例提供的另一种用于建立无线连接的方法流程图;
图4-2是本发明实施例提供的一种Probe request消息的第二结构示意图;
图4-3是本发明实施例提供的一种Probe response消息的第二结构示意图;
图5是本发明实施例提供的另一种用于建立无线连接的方法流程图;
图6-1是本发明实施例提供的另一种用于建立无线连接的方法流程图;
图6-2是本发明实施例提供的Test request消息的结构示意图;
图6-3是本发明实施例提供的Test response消息的结构示意图;
图7是本发明实施例提供的另一种用于建立无线连接的方法流程图;
图8是本发明实施例提供的用于建立无线连接的设备的第一结构示意图;
图9是本发明实施例提供的用于建立无线连接的设备的第二结构示意图;
图10是本发明实施例提供的一种设备的第一结构示意图;
图11是本发明实施例提供的一种设备的第二结构示意图;
图12是本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
当第一设备的用户需要第一设备与第二设备之间建立无线连接时,第一设备和第二设备可以按如下过程来建立无线连接,包括:第一设备进行设备搜索得到设备搜索结果,该设备搜索结果中包括第一设备搜索的各设备的标识;然后用户从该设备搜索结果中找出第二设备的标识,并选择第二设备的标识;第一设备根据该用户选择的第二设备的标识,与第二设备建立无线连接。其中,有时设备搜索结果中包含大量的设备的标识,或者有时包含多个与第二设备的类型相同的设备的标识,而类型相同的多个设备的标识之间相似,所以在上述过程中用户需要花费较长时间才能选择正确的设备,效率低下。为了提高建立无线连接的效率,可以通过如下任一种实施方式来建立第一设备与第二设备之间的无线连接。
参见图1-1,本发明实施例提供了一种用于建立无线连接的方法,用于第一设备与第二设备建立无线连接,该方法包括:
步骤S101:第一设备接收第一用户输入的操作指令后,根据该操作指令生成连接信息,向第一设备附近的第二设备提供该连接信息,以便第二设备对该连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,第一用户为第一设备对应的用户,第一部分信息是该连接信息的部分或全部。
第一设备附近的第二设备可以指第一设备与第二设备之间的距离在几米或十几米范围内,或者第一设备和第二设备可以相互靠近做短距离通信,等等。例如,两个人面对面地用各自的手机向对方分享图片,两个人彼此距离很近,从而两手机距离很近,如距离在几米或十几米范围内;或是两个人可以将各自的手机相互靠近做NFC(Near FieldCommunication,近场通信)通信。
该连接信息可以为一串字符串,该字符串的内容可以为数字、字母或其他字符,或者可以为数字、字母和其他字符中任意多种字符的组合。第一设备可以随机生成一串字符串,将生成的字符串作为连接信息;或者,第一设备可以根据预设的第二标识和第二验证信息来生成连接信息。
第一设备可以按如下第一至第四四种实现方式中的任一种方式来将该连接信息提供给第二设备,分别为:
第一、第一设备显示该连接信息。
其中,第二设备对应的第二用户可以查看第一设备显示的该连接信息,并将该连接信息输入给第二设备。其中,第二用户和第一用户可以为同一用户,该用户可以对所述第一设备和第二设备进行操作,或者第二用户和第一用户可以为两个不同的用户,所述两个用户分别为对应于所述第一设备和第二设备的用户。
第二、第一设备通过音箱或扬声器播放该连接信息。
其中,第二用户可以收听第一设备播放的该连接信息,并将该连接信息输入给第二设备。
第三、第一设备根据该连接信息生成包含该连接信息的图形码,显示该图形码。
该图形码可以为一维码或二维码,第一设备可以使用用于生成图形码的编码算法对该连接信息进行编码,以生成包含该连接信息的图形码。
其中,第二设备具有扫描模块,该扫描模块可以为摄像头或扫描仪等。第一设备显示该图形码之后,第二设备可以通过其包括的扫描模块扫描第一设备显示的该图形码并获得该连接信息。
第四、第一设备与第二设备建立短距离通信连接,通过该短距离通信连接向第二设备发送该连接信息。
其中,在本实施例中,第一设备生成的连接信息都是一些由简单字符组成的字符串且较短,例如生成的连接信息可以为“123456”或者“abcdef”等,这样可以方便用户输入或收听,所以在本步骤中第二设备对该连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,如此可以增加第一标识的长度或复杂程度等,从而可以减少第一标识与其他设备的标识相同的概率,
步骤S102:第一设备接收所述第二设备根据该连接信息发送的第一消息,第一消息中携带第一标识。
其中,可选的,第一设备计算生成第一标识后,可以将第一标识作为需要与其建立无线连接的设备的标识,然后广播携带第一标识的第一消息,以请求第一标识对应的设备与其建立无线连接。
步骤S103:第一设备确定该第一标识与第一设备的第二标识是否匹配,第二标识与对第一部分信息进行计算生成的结果相等或相对应。
其中,在本发明实施例中,第二设备可以将第一标识作为需要与其建立无线连接的设备的标识,所以在本步骤中,由于第一标识是第二设备对该连接信息的第一部分信息进行计算生成的,而第二标识与对第一部分信息进行计算生成的结果相等或相对应,所以当第一标识与第二标识匹配时,第一设备便可以自动发现第二设备为所述第一设备需要与之建立无线连接的设备。
步骤S104:如果匹配,第一设备向第二设备发送第二消息,第二消息为第一消息对应的响应消息。
第二消息用于第二设备确定第一设备同意与其建立无线连接,从而也使第二设备发现第一设备即为需要与其建立无线连接的设备。
步骤S105:第一设备建立与第二设备之间的无线连接。
本发明实施例中,第一设备生成一个连接信息,将该连接信息提供给第二设备,然后由第二设备和第一设备根据该连接信息进行后续的交互,以建立第一设备和第二设备之间的无线连接,相比用户从大量的设备搜索结果中去找出第二设备的标识,本发明实施例可以节省第一设备进行设备搜索的时间以及用户寻找第二设备的标识的时间,从而可以缩短建立无线连接的时间。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的第一消息,第一设备根据该连接信息生成第二标识,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接,其中,第一设备可以通过第一标识和第二标识发现,发送携带所述第一标识的第一消息的第二设备为所述第一设备需要与之建立无线连接的设备,如此,第一设备的用户只需要通过第一设备将生成的连接信息提供给第二设备,后续的流程由第一设备和第二设备去交互执行,以建立第一设备和第二设备之间的无线连接,本发明实施例中,第一设备的用户不需要通过第一设备进行周边设备的搜索,也不需要第一设备的用户在大量的搜索结果中花费时间去选择设备,提高了建立无线连接的效率,继而提高了数据传输的效率,也简化了用户的操作,提升了用户体验。
参见图1-2,本发明实施例提供了一种用于建立无线连接的方法,用于第一设备与第二设备建立无线连接,该方法包括:
步骤S111:第二设备获取其附近的第一设备提供的连接信息,该连接信息是第一设备接收第一用户的操作指令后根据该操作指令生成的,第一用户为第一设备对应的用户。
第二设备可以通过如下第一、第二和第三三种方式中的任一种方式来获取该连接信息。
第一、第二设备接收第二用户输入的该连接信息。
其中,第一设备生成连接信息后显示该连接信息或者通过音箱播放该连接信息。第二用户可以查看或收听该连接信息,然后向第二设备输入该连接信息。
第二、第二设备扫描第一设备显示的图形码,获取该图形码中包含的该连接信息。
其中,第二用户可以开启第二设备的扫描模块,然后第二设备通过扫描模块扫描第一设备显示的图形码,对扫描的图形码进行解析,解析出扫描的图形码中包含的连接信息。
第三、第二设备与第一设备建立短距离通信连接,通过该短距离通信连接接收第一设备发送的该连接信息。
其中,该连接信息是第一设备生成的,第二设备可以通过上述任一种方式获取该连接信息,相比用户从大量的设备搜索结果中去找出设备的标识,本步骤可以节省第一设备进行设备搜索的时间以及用户寻找设备的标识的时间,可以缩短建立无线连接的时间。
步骤S112:第二设备根据该连接信息的第一部分信息计算生成第一标识,第一部分信息是该连接信息的部分或全部。
第二设备可以采用如下两种方式中的任一种方式生成该连接信息的第一部分信息,包括:
第一、第二设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第一标识。
可以从第一哈希结果中截取部分信息作为第一标识,或,将截取的部分信息添加预设信息组成第一标识,或,将第一哈希结果作为第一标识等。
第二、第二设备向该连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第一标识。
其中,第二设备对该连接信息的第一部分信息计算生成第一标识,如此可以减少第二设备生成第一标识与其他设备生成标识发生碰撞的概率。
步骤S113:第二设备向第一设备发送第一消息,第一消息携带第一标识,以使得第一设备确定第一标识与第二标识是否匹配,第二标识与对第一部分信息进行计算生成的结果相等或相对应。
其中,在本发明实施例中,第二设备将第一标识作为需要与其建立无线连接的设备的标识,由于第一标识是对该连接信息的第一部分信息进行计算生成的,而第二标识与对第一部分信息进行计算生成的结果相等或相对应,所以当第一标识与第二标识匹配时,第一设备便可以自动发现第二设备为需要与自身建立无线连接的设备,实现第一设备和第二设备相互发现自己为需要与对方建立无线连接的设备。
步骤S114:第二设备接收在第一标识与第二标识匹配时第一设备发送第二消息。
步骤S115:第二设备建立与第一设备之间的无线连接。
在本发明实施例中,第二设备获取第一设备提供的连接信息,根据该连接信息生成第一标识,向第一设备发送携带第一标识的第一消息,以使第一设备根据确定第一标号与第一设备的第二标识是否匹配,如果匹配,则第二设备建立与第一设备之间的无线连接,其中,第一设备和第二设备可以通过第一标识和第二标识相互发现自己为需要与对方建立无线连接的设备,如此用户不需要在大量的搜索结果中选择设备,提高建立无线连接的效率,以提高数据传输的效率。
本发明实施例提供了一种用于建立无线连接的方法。在本发明实施例中,第二设备和第一设备以AP-STA(AccessPoint-Station,访问接入点-工作站)模式建立无线连接,其中,第二设备的身份为STA,第一设备的身份为AP,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息的第一部分信息计算生成第一标识,向第一设备发送Proberequest消息,该Probe request(探测请求)消息的SSID(Service Set Identifier,服务集标识)字段携带第一标识;第一设备根据该连接信息的第一部分信息计算生成第二标识,第一设备比较第一标识与第二标识,如果第一标识与第二标识匹配,则建立与第二设备之间的无线连接。参见图2-1,该方法包括:
步骤201:第一设备生成连接信息。
该连接信息可以为一串字符串,该连接信息的内容可以为数字、字母或其他字符,或者可以为数字、字母和其他字符中任意多种字符的组合。第一设备可以随机生成一串字符串,将生成的字符串作为连接信息。
其中,在本发明实施例中,第一设备可以在其对应的第一用户的触发下生成连接信息。具体有如下两种触发方式,包括:
第一、第一设备检测到系统应用的应用界面中的连接接口被第一用户点击而触发的连接命令时,生成连接信息。
其中,在具有传输数据需求的系统应用的应用界面中设置一连接接口,当第一用户需要传输数据时,可以点击该连接接口,以使该连接接口触发连接命令。系统应用可以为具有图片分享功能的图片拍照应用或具有视频分享功能的视频拍摄应用等。
例如,参见图2-2所示的系统应用的应用界面,该系统应用是一个图片拍照应用,图片拍照应用拍摄一张图片并显示在应用界面中,在应用界面的上方有一连接接口(如图中所示的具有分享功能的图标),第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,随机产生连接信息,假设产生的连接信息为“12345678”,如图2-3所示。
第二、第一设备检测到第三方应用的应用界面中的连接接口被第一用户点击触发的连接命令时,生成连接信息,第三方应用为用于建立无线连接的应用。
其中,在第一设备上安装一个可以用于建立无线连接的第三方应用,第三方应用的应用界面中包含连接接口。当第一用户需要传输数据时,可以点击该连接接口,以使该连接接口触发连接命令。
例如,参见图2-4所示的第三方应用的应用界面,在该应用界面中有一连接接口(如图2-4所示的“我要创建分享”的图标),第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,随机产生连接信息,假设产生的连接信息为“12345678”,如图2-5。
步骤202:第一设备向第二设备提供该连接信息。
具体地,本步骤可以为如下第一至第四四种实现方式中的任一种:
第一、第一设备显示该连接信息。
其中,第二设备对应的第二用户可以查看第一设备显示的该连接信息,并将该连接信息输入到第二设备。
第二、第一设备通过扬声器播放该连接信息对应的语音。
其中,第二用户可以收听第一设备播放的该连接信息对应的语音,并将该连接信息输入给第二设备。
第三、第一设备根据该连接信息生成包含该连接信息的图形码,显示该图形码。
该图形码可以为一维码或二维码,也可以为其他形式的图形码。第一设备可以使用用于生成图形码的编码算法对该连接信息进行编码,以生成包含该连接信息的图形码,如生成QR Code(Quick Response Code,快速反应码)二维码。
其中,第二设备具有扫描模块,该扫描模块可以为摄像头或扫描仪等。第一设备显示该图形码之后,第二设备可以通过其包括的扫描模块扫描第一设备显示的该图形码并获得该连接信息。
第四、第一设备与第二设备建立短距离通信连接,通过该短距离通信连接向第二设备发送该连接信息。
其中,第一设备可以通过带外通信方式与第二设备建立短距离通信连接。带外通信方式可以为声波、红外、NFC(Near Field Communication,近距离无线通讯技术)或HotKnot等通信方式。
其中,在本发明实施例中,第一设备可以为一终端设备或AP。当第一设备为终端设备时,在执行本步骤之前,第一设备将自身的身份设置为AP,由于第一设备的身份为一终端设备,导致第一设备不允许其他接入并与其建立连接线连接,然后再执行本步骤,所以第一设备将。
第一设备成为AP后,也可以主动广播Beacon(信标)消息,向周围的STA告知该AP的存在。接收该Beacon消息的设备根据该Beacon消息确定第一设备为一AP并主动请求与第一设备建立连接,然后第一设备再执行本步骤。
步骤203:第二设备获取第一设备提供的该连接信息。
具体地,第二设备可以通过如下第一、第二和第三三种方式来获取该连接信息。
第一、第二设备接收第二用户输入的该连接信息。
其中,第一设备生成连接信息后显示该连接信息或者通过音箱播放该连接信息。第二用户可以查看或收听该连接信息,然后向第二设备输入该连接信息。
其中,第二设备可以通过如下(1)和(2)两种方式获取第二用户输入的连接信息,包括:
(1)、第二设备从系统应用的应用界面中获取第二用户输入的连接信息。
系统应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第一设备显示连接信息“12345678”或通过音箱播放连接信息“12345678”,第二用户查看连接信息“12345678”或收听连接信息“12345678”。然后,第二用户在如图2-6所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-7所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
(2)、第二设备从第三方应用的应用界面中获取第二用户输入的连接信息。
第三方应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第二用户在如图2-4所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-8所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
第二、第二设备扫描第一设备显示的图形码,获取该图形码中包含的该连接信息。
其中,第二用户可以开启第二设备的扫描模块,然后第二设备通过扫描模块扫描第一设备显示的图形码,对扫描的图形码进行解析,解析出扫描的图形码中包含的连接信息。
第三、第二设备与第一设备建立短距离通信连接,通过该短距离通信连接接收第一设备发送的该连接信息。
其中,在本实施例中,第一设备生成一个连接信息,第二用户可以将该连接信息输入给第二设备,或通过第二设备扫描第一设备上包含该连接信息的图形码,或者将第二设备与第一设备靠近,以使第二设备通过短距离通信方式获得该连接信息,相比第一用户从大量的设备搜索结果中去找出第二设备的标识,本步骤可以节省第一设备进行设备搜索的时间以及第一用户寻找第二设备的标识的时间,从而可以缩短第一设备和第二设备之间建立无线连接的时间。
步骤204:第二设备根据该连接信息包括的第一部分信息计算生成第一标识,第一部分信息是该连接信息的部分或全部。
具体地,本步骤可以包括如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第一标识。
具体地,可以从第一哈希结果中截取部分信息作为第一标识,或,将截取的部分信息添加预设信息组成第一标识,或,将第一哈希结果作为第一标识等。
第二、第二设备向该连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第一标识。
其中,可以对第一构造信息进行反转置换处理或移位处理来生成第一标识。例如,假设连接信息“12345678”的第一部分信息为“1234”,第一预设信息为“hua”,则第二设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。
假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
第二设备生成第一标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的一串字符串作为第一字符串,根据第一字符串生成第一标识;或者,对整个连接信息进行哈希运算得到第一标识。
其中,第二设备根据第一字符串生成第一标识的实现方式,可以包括如下(1)至(4)四种:
(1)、将第一字符串确定为第一标识。
例如,预设第一位数为6,第二设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第一字符串,将第一字符串“123456”或“345678”确定为第一标识。
(2)、将第一字符串与第一预设字符串组成第一标识。
例如,第一字符串为“123456”,第一预设字符串为“Huawei”,将第一字符串与第一预设字符串组成的第一标识为“123456Huawei”或“Huawei123456”。
(3)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第一标识。
(4)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与第一预设字符串组成第一标识。
步骤205:第二设备发送Probe request消息,该Probe request消息的SSID字段携带第一标识。
其中,第二设备将自身的身份设置为STA,并发送Probe request消息,以请求与接收该Probe request消息的AP建立无线连接。第二设备可以广播该Probe request消息,或者,第二设备可以在接收到第一设备广播的Beacon消息后,从Beacon消息中获取第一设备的地址,根据第一设备的地址向第一设备单播该Probe request消息。
其中,参见图2-9所示的Probe request消息的结构,Probe request消息包括MAC(Media Access Control,介质访问控制)头、帧体和FCS(Frame Check Sequence,帧检验序列)等部分,MAC头包括Addr_1和Addr_2等字段,Addr_1为接收方地址,Addr_2为发送方地址,帧体包括SSID等字段,SSID为AP的标识,FCS为校验字段,用于携带校验码。在本发明实施例中,第二设备将第一标识作为AP的标识,当第二设备广播Probe request消息时,该Probe request消息的Addr_1字段为空,当第二设备单播Probe request消息给第一设备时,该Probe request消息的Addr_1字段携带第一设备的MAC地址;在该两种情况下,该Probe request消息的Addr_2字段携带第二设备的MAC地址,SSID字段携带第一标识。
步骤206:第一设备接收该Probe request消息,该Probe request消息的SSID字段携带第一标识。
其中,只有AP才可以接收Probe request消息,所以在本发明实施例中第一设备为AP或将自身的身份设置为AP,然后接收第二设备发送的Probe request消息。
例如,第二设备发送Probe request消息,该Probe request消息的SSID字段携带第一标识“123456”,第一设备接收该Probe request消息。
步骤207:第一设备根据该连接信息的第一部分信息计算生成第二标识,其中,第一设备将第二标识作为其自身的标识。
第一设备生成第二标识的方式与第二设备生成第一标识的方式可以相同。
具体地,第一设备可以通过如下第一和第二两种方式计算生成第二标识,包括:
第一、第一设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第二标识。
本实施方式与第二设备生成第一标识的第一种方式相同,详细过程可以参见第二设备生成第一标识的第一种方式,在此不再详细说明。
第二、第一设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二标识。
本实施方式与第二设备生成第一标识的第二种方式相同,详细过程可以参见第二设备生成第一标识的第二种方式,在此不再详细说明。
第一设备生成第二标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的字符串作为第二字符串,根据第二字符串生成第二标识;或者,对整个该连接信息进行哈希运算得到第二标识。
其中,需要说明的是:第一设备也可以在生成连接信息之后且在接收Proberequest消息之前按本步骤生成第二标识。
其中,第一设备根据第二字符串生成第二标识的实现方式,包括如下(1)至(4)四种:
(1)、将第二字符串确定为第二标识。
例如,预设第一位数为6,第一设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第二字符串,将第二字符串“123456”或“345678”确定为第二标识。
(2)、将第二字符串与第一预设字符串组成第二标识。
例如,假设,第二字符串为“123456”,第一预设字符串为“Huawei”,将第二字符串与第一预设字符串组成的第二标识为“123456Huawei”或“Huawei123456”。
(3)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第二标识。
(4)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与预设字符串组成第二标识。
步骤208:第一设备确定第一标识与第二标识是否匹配,如果匹配执行步骤209。
其中,第一标识与第二标识匹配是指第一标识与第二标识相等或者第一标识与第二标识之间存在对应关系。
其中,可以事先在第一设备设置标识关系列表,该标识关系列表用于存储具有对应关系的任意两标识。
相应地,第一设备可以通过如下方式来确定第一标识与第二标识是否存在对应关系,包括:第一设备可以根据第一标识,从该标识关系列表中查找出对应的标识,如果查找出的标识与第二标识相等,则确定出第一标识与第二标识之间存在对应关系,否则,确定第一标识与第二标识之间不存在对应关系。
其中,在本发明实施例中,第二设备将第一标识作为需要与其建立无线连接的设备的标识,由于第一标识是对该连接信息的第一部分信息进行计算生成的,而第二标识与对第一部分信息进行计算生成的结果相等或相对应,所以当第一设备收到与第二标识匹配的第一标识时,第一设备便可以自动发现第二设备为所述第一设备需要与之建立无线连接的设备,从而第一设备和第二设备可以快速发现对方,从而减少了建立无线连接所需要的时间。
步骤209:第一设备向第二设备发送Probe response(探测响应)消息,该Proberesponse消息用于第二设备确定与第一设备建立无线连接。
其中,第二设备发送Probe request消息,以请求与一AP建立无线连接,该AP的第一标识携带在该Probe request消息的SSID字段中。所以在本步骤中,当第一设备判断出第一标识与第二标识匹配,则第一设备可以获知第二设备请求与自身建立无线连接,从而确定需要与第二设备建立无线连接,向第二设备发送Probe response消息,以告知第二设备同意与其建立无线连接。
参见图2-10所示的Probe response消息结构,Probe response消息包括MAC头、帧体和FCS等部分,MAC头包括Addr_3和Addr_4等字段,Addr_3为接收方地址,Addr_4为发送方地址,帧体包括SSID等字段,SSID为AP的标识,FCS为校验字段,用于携带校验码。在本发明实施例中,该Probe respnse消息的Addr_3字段携带第二设备的MAC地址,Addr_4字段携带第一设备的MAC地址,SSID字段携带第二标识。
例如,假设第二设备发送的Probe request消息的SSID字段携带第一标识“123456”。第一设备接收该Probe request消息,生成的第二标识为“123456”,其中,第一标识“123456”和第二标识“123456”相同,所以第一标识与第二标识匹配,确定需要与第二设备建立无线连接,向第二设备发送Probe respone消息。
步骤210:第二设备接收该Probe response消息,根据该Probe response消息确定与第一设备建立无线连接,执行步骤211。
步骤211:第二设备根据该连接信息的第二部分信息生成第一认证信息。
连接信息的第一部分信息的内容和第二部分信息的内容可以不同或者部分相同。例如,该连接信息为“12345678”,第一部分信息可以为“1234”,第二部分信息可以为“5678”,或者,第一部分信息可以为“123456”,第二部分信息可以为“345678”等。
具体地,本步骤可以通过如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第一认证信息。
例如,对连接信息“12345678”的第二部分信息“5678”进行SHA-256哈希算法的哈希,得到第二哈希结果为“6BAA0BD18BCC1E5237B70DC18595A7DEFF11CD27120CDC96A678003F8B162941”,根据第二设备采用的认证方式对第二哈希结果进行截取或补充等处理得到该认证方式所需要的位数的第一认证信息。
第二设备采用的认证方式可以包括四步握手认证方式。WPS认证方式或其他认证方式。其中,每种认证方式规定了认证消息的格式,例如,四步握手认证方式规定认证消息为256比特组成的密钥信息,WPS认证方式规定认证消息为8位数字等。
例如,当第二设备采用四步握手认证时,将第二哈希结果包括32个字符,正好为256比特,因此将第二哈希结果作为第一认证信息。当第二设备采用WPS认证时,截取最后8位“8F162941”,并将“F”映射至数字“6”得到“86162941”作为第一认证信息。
第二、第二设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第一认证信息。
例如,当第二设备采用四步握手认证时,将连接信息“12345678”的第二部分信息“5678”转换为二进制“1011000101110”,然后在“1011000101110”左侧添加243bit的“0”得到256bit位的第一认证信息;或在“1011000101110”右侧添加243bit的“1”得到256bit位的第一认证信息;
当第二设备采用WPS认证时,对连接信息“12345678”的第二部分信息“5678”左侧或右侧添加4位“8888”或“0000”等得到8位数字作为第一认证信息。
需要说明的是,当第二部分信息位数满足第二设备采用的认证方式所要求的认证信息位数时,也可以直接将第二部分信息作为第一认证信息。
其中,第二设备除了可以采用上述第一和第二两种方式生成第一认证信息外,还可以采用其他的方式来生成第一认证信息。例如第二设备从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第一认证信息;或者,将该连接信息确定为第一认证信息。
其中,第二设备根据第四字符串生成第一认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第一认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第一认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第二设备从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,第二设备从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第一认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第一认证信息,或者,将该哈希结果确定为第一认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第一认证信息。
具体地,根据第二设备采用的认证方式,确定认证信息的位数;根据确定的位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第二设备采用的WPS(Wi-Fi(WIreless-FIdelity,无线保真)Protected Setup,Wi-Fi安全设置)认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第二设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第一认证信息。
步骤212:第一设备根据该连接消息的第二部分信息生成第二认证信息。
具体地,本步骤可以通过如下第一和第二两种方式来实现,包括:
第一、第一设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第二认证信息。
本实施方式与第二设备生成第一认证信息的第一种方式的过程相同,在此不再详细说明。
第二、第一设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二认证信息。
本实施方式与第二设备生成第一认证信息的第二种方式的过程相同,在此不再详细说明。
其中,第一设备除了可以按上述第一和第二两种方式生成第二认证信息外,还可以采用其他方式来生成第二认证信息。例如,第一设备从该连接信息中截取预设第二位数的字符串作为第三字符串,根据第三字符串生成第二认证信息;或者,将整个连接信息确定为第二认证信息。
其中,第一设备根据第三字符串生成第二认证信息的方式,包括如下几种:
第一、将第三字符串确定为第二认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第三字符串,并将第三字符串作为第二认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第一设备从连接信息中截取的预设第一位数的第二字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第三字符串。例如,预设第一位数为6,所以预设第二位数为2,第一设备从连接信息“12345678”中截取预设第一位数的第二字符串“123456”后得到下下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第三字符串。
第二、将第三字符串与第二预设字符串组成第二认证信息。
例如,假设第三字符串为“1234”,第二预设字符串为“9860”,将第三字符串与第二预设字符串组成的第一认证信息为“12349860”或“98601234”。
第三、对第三字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第一认证信息,或者,将该哈希结果确定为第二认证信息。
第四、根据第三字符串和第一设备采用的认证方式,生成第二认证信息。
步骤213:第一设备验证第二设备的第一认证信息与其第二认证信息是否匹配,如果匹配,则向第二设备发送确认信息,该确认信息用于第二设备确定与第一设备建立无线连接。
当第一设备采用四步骤握手认证方式时,本步骤可以为:第一设备将第二认证信息确定为四步握手认证方式的PMK(Pairwise Master Key,成对主密钥),根据该PMK并通过该四步握手认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
当第一设备采用WPS认证方式时,本步骤可以为:第一设备将第二认证信息确定为WPS认证方式的PIN(Personal Identification Number,个人识别码),根据该PIN并通过WPS认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
其中,在第一设备验证的过程中,第二设备与第一设备进行验证,以使第一设备确定第二设备的第一认证信息与第一设备的第二认证信息是否匹配。具体实现为:第二设备将第一认证信息作为四步握手认证方式的PMK,根据该PMK并通过四步握手认证方式与第一设备进行认证;或者,将第一认证信息作为WPS认证PIN,根据该PIN并通过WPS认证方式与第一设备进行验证。
其中,第二设备在验证的过程中,当接收到第一设备发送的确认信息后,根据该确认信息确定出与第一设备建立无线连接,然后执行步骤214。
第一设备通过第一认证信息以及第二设备通过第二认证信息进行相互间的认证,如此并在相互之间认证通过后,第一设备和第二设备才建立相互间的无线连接,保证第一设备和第二设备之间的建立的无线连接为安全连接。
步骤214:第一设备建立与第二设备之间的数据连接,以实现建立与第二设备之间的无线连接。
其中,第一设备建立与第二设备之间的无线连接可以为Wi-Fi连接或蓝牙连接。第一设备和第二设备建立完无线连接后,可以通过建立的无线连接传输数据。
在本发明实施例中,当第一设备确定出第一标识与第二标识匹配时,第一设备可以直接与第二设备进行开放认证,并在认证通过后建立与第二设备之间的数据连接,如此实现建立与第二设备之间的无线连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的Probe request消息,第一设备根据该连接信息生成第二标识,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接。其中第二设备通过用户手工输入或其他方式获得由第一设备生成的连接信息,并根据连接信息生成第一标识,通过第一标识确定需要连接的设备,从而避免用户手工选择需要连接的设备,从而提高了建立无线连接的效率,以提高数据传输的效率。第一设备与第二设备还通过第一认证信息和第二认证信息进行相互之间的认证,从而使得建立的无线连接为更加安全,提高了数据传输的安全性。
本发明实施例提供了一种用于建立无线连接的方法。在本发明实施例中,第二设备和第一设备以AP-STA模式建立无线连接,其中,第二设备的身份为STA,第一设备的身份为AP,第一设备根据自身存储的第二标识和第二认证信息生成连接信息并提供给第二设备,第二设备根据该连接信息计算生成第一标识,向第一设备发送Probe request消息,该Probe request消息的SSID字段携带第一标识;第一设备当确定出第一标识与第二标标识匹配时,建立与第二设备之间的无线连接。参见图3,该方法包括:
步骤301:第一设备根据第二标识生成连接信息的第一部分信息。
其中,在执行本步骤之前,技术人员可以在第一设备中设置第二标识或者由第一设备生成第二标识并存储生成的第二标识。
第一设备可以按如下方式生成第二标识,包括:第一设备生成连接信息,向连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第二标识。可以对第一构造信息进行反转置换或移位处理得到第二标识。
假设,生成的连接信息为“12345678”,该连接信息的第一部分信息为“1234”,第一预设信息为“hua”,则第一设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
本步骤可以为,第一设备对第二标识进行截取得到部分信息,将截取的该部分信息确定为连接信息的第一部分信息;或者,对第二标识进行第一运算处理得到连接信息的第一部分信息,第一运算处理为生成第二标识的逆运算。
其中,可以按如下(1)和(2)两步对第二标识进行第一运算处理得到连接信息的第一部分信息,包括:
(1):根据第二标识生成第一构造信息。
可以对第二标识进行正转置换处理得到第一构造信息或对第二标识进行反向移位得到第一构造信息,反向移位与对第一构造信息进行移位处理得到第二标识的移位方向相反。例如,假设第一标识为“auh4321”,对第一标识“auh4321”进行正转置换处理得到第一构造信息为“1234hua”;或者,假设第一标识为“ua1234h”,对第一标识“ua1234h”进行反向移位两位得到第一构造信息“1234hua”;或者,假设第一标识为“hua1234”,对第一标识“hua1234”进行反向移位三位得到第一构造信息为“1234hua”。
(2):从第一构造信息中去除第一预设信息得到该连接信息的第一部分信息。
例如,第一预设信息为“hua”,从第一构造信息“1234hua”中去除第一预设信息“hua”得到该连接信息的第一部分信息为“1234”。
步骤302:第一设备根据第二认证信息生成该连接信息的第二部分信息。
其中,在执行本步骤之前,技术人员可以在第一设备中设置第二认证信息或者由第一设备生成第二认证信息并存储生成的第二认证信息。
第一设备可以按如下方式生成第二认证信息,包括:第一设备生成连接信息,向连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二认证信息。可以对第二构造信息进行反转置换或移位处理得到第二认证信息。
假设,生成的连接信息为“12345678”,该连接信息的第一部分信息为“5678”,第二预设信息为“wei”,则第一设备向连接信息的第二部分信息“5678”添加第二预设信息“wei”得到的第二构造信息可以为“5678wei”、“wei5678”或“56wei78”等。假设,构造的第二构造信息为“5678wei”,对第二构造信息进行反转置换处理得到的第二认证信息为“iew5678”;或,事先设置移位的位数,该位数可以为二或三等,然后对第二构造信息进行两位移位处理或三位移位处理等,如当对第二构造信息进行两位移位处理得到的第二认证信息为“ei5678w”,当对第二构造信息进行三位移位处理得到的第二认证信息为“wei5678”。
本步骤可以为,第一设备对第二认证信息进行截取得到部分信息,将截取的该部分信息确定为连接信息的第二部分信息;或者,对第二认证信息进行第二运算处理得到连接信息的第二部分信息,第二运算处理为生成第二认证信息的逆运算。
其中,可以按如下(1)和(2)两步对第二认证信息进行第二运算处理得到连接信息的第二部分信息,包括:
(1):根据第二认证信息生成第二构造信息。
可以对第二认证信息进行正转置换处理得到第二构造信息或对第二认证信息进行反向移位得到第二构造信息。例如,假设第二认证信息为“iew4321”,对第二认证信息“iew4321”进行正转置换处理得到第二构造信息为“5678wei”;或者,假设第二认证信息为“ei5678w”,对第二认证信息“ei5678w”进行反向移位两位得到第二构造信息“5678wei”;或者,假设第二认证信息为“wei5678”,对第二认证信息“wei5678”进行反向移位三位得到第二构造信息为“5678wei”。
(2):从第二构造信息中去除第二预设信息得到该连接信息的第二部分信息。
例如,第二预设信息为“wei”,从第二构造信息“5678wei”中去除第二预设信息“wei”得到该连接信息的第二部分信息为“5678”。
步骤303:第一设备根据第一部分信息和第二部分信息构造连接信息。
将前述第一部分信息与第二部分信息进行拼接得到连接信息,如将第一部分信息“1234”与第二部分信息“5678”进行拼接得到“12345678”作为连接信息。
其中,在本发明实施例中,第一设备可以在其对应的第一用户的触发下按上述301至303的步骤生成连接信息。具体有如下两种触发方式,包括:
第一、第一设备检测到系统应用的应用界面中的连接接口被第一用户点击触发的连接命令时,执行上述步骤301至303。
其中,在具有传输数据需求的系统应用的应用界面中设置一连接接口,当第一用户需要传输数据时,可以点击该连接接口,以使该连接接口触发连接命令。系统应用可以为具有图片分享功能的图片拍照应用或具有视频分享功能的视频拍摄应用。
例如,参见图2-2所示的系统应用的应用界面,该系统应用是一个图片拍照应用,图片拍照应用拍摄一张图片并显示在应用界面中,在应用界面的上方有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,执行上述步骤301至303生成连接信息,假设生成的连接信息为“12345678”,如图2-3所示。
第二、第一设备检测到第三方应用的应用界面中的连接接口被第一用户点击触发的连接命令时,执行上述步骤301至303生成连接信息,第三方应用为用于建立无线连接的应用。
其中,在第一设备上安装一个用于建立无线连接的第三方应用,第三方应用的应用界面中包含连接接口。当第一用户需要传输数据时,可以点击该连接接口,以使连接接口触发连接命令。
例如,参见图2-4所示的第三方应用的应用界面,在该应用界面中有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,执行上述步骤301至303生成连接信息,假设生成的连接信息为“12345678”,如图2-5。
步骤304:第一设备向第二设备提供该连接信息。
具体地,本步骤可以包括如下第一至第四四种实现方式,分别为:
第一、第一设备显示该连接信息。
其中,第二设备对应的第二用户可以查看第一设备显示的该连接信息,并将该连接信息输入给第二设备。
第二、第一设备通过音箱播放该连接信息。
其中,第二用户可以收听第一设备播放的该连接信息,并将该连接信息输入给第二设备。
第三、第一设备根据该连接信息生成包含该连接信息的图形码,显示该图形码。
该图形码可以为一维码或二维码,第一设备可以使用用于生成图形码的编码算法对该连接信息进行编码,以生成包含该连接信息的图形码。
其中,第二设备具有扫描模块,该扫描模块可以为摄像头或扫描仪等。第一设备显示该图形码之后,第二设备可以通过其包括的扫描模块扫描第一设备显示的该图形码并获得该连接信息。
第四、第一设备与第二设备建立短距离通信连接,通过该短距离通信连接向第二设备发送该连接信息。
其中,第一设备可以通过带外通信方式与第二设备建立短距离通信连接。带外通信方式可以为声波、红外、NFC或HotKnot等通信方式。
其中,在本发明实施例中,第一设备可以为一终端设备或AP。当第一设备为终端设备时,在执行本步骤之前,第一设备将自身的身份设置为AP,然后再执行本步骤。第一设备成为AP后,也可以主动广播Beacon消息,向周围的STA告知自身的存在。接收该Beacon消息的设备根据该Beacon消息确定第一设备为一AP并主动请求与第一设备建立连接,然后第一设备再执行本步骤。
步骤305:第二设备获取第一设备提供的该连接信息。
具体地,第二设备可以通过如下第一、第二和第三三种方式来获取该连接信息。
第一、第二设备接收第二用户输入的该连接信息。
其中,第一设备生成连接信息后显示该连接信息或者通过音箱播放该连接信息。第二用户可以查看或收听该连接信息,然后向第二设备输入该连接信息。
其中,第二设备可以通过如下(1)和(2)两种方式获取第二用户输入的连接信息,包括:
(1)、第二设备从系统应用的应用界面中获取第二用户输入的连接信息。
系统应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第一设备显示连接信息“12345678”或通过音箱播放连接信息“12345678”,第二用户查看连接信息“12345678”或收听连接信息“12345678”。然后,第二用户在如图2-6所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-7所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
(2)、第二设备从第三方应用的应用界面中获取第二用户输入的连接信息。
第三方应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第二用户在如图2-4所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-8所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
第二、第二设备扫描第一设备显示的图形码,获取该图形码中包含的该连接信息。
其中,第二用户可以开启第二设备的扫描模块,然后第二设备通过扫描模块扫描第一设备显示的图形码,对扫描的图形码进行解析,解析出扫描的图形码中包含的连接信息。
第三、第二设备与第一设备建立短距离通信连接,通过该短距离通信连接接收第一设备发送的该连接信息。
其中,在本实施例中,第一设备生成一个连接信息,用户可以将该连接信息输入给第二设备,或通过第二设备扫描第一设备上包含该连接信息的图形码,或者将第二设备与第一设备靠近,以使第二设备短距离通信方式获得该连接信息,相比用户从大量的设备搜索结果中去找出第二设备的标识,本步骤可以节省第一设备进行设备搜索的时间以及用户寻找第二设备的标识的时间,从而可以缩短建立无线连接的时间。
步骤306:第二设备根据该连接信息包括的第一部分信息计算生成第一标识。
具体地,本步骤可以包括如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第一标识。
可以从第一哈希结果中截取部分信息作为第一标识,或,将截取的部分信息添加预设信息组成第一标识,或,将第一哈希结果作为第一标识等。
第二、第二设备向该连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第一标识。
其中,可以对第一构造信息进行反转置换处理或移位处理来生成第一标识。例如,假设连接信息“12345678”的第一部分信息为“1234”,第一预设信息为“hua”,则第二设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。
假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
第二设备生成第一标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的一串字符串作为第一字符串,根据第一字符串生成第一标识;或者,对整个连接信息进行哈希运算得到第一标识。
其中,第二设备根据第一字符串生成第一标识的实现方式,包括如下(1)至(4)四种:
(1)、将第一字符串确定为第一标识。
例如,预设第一位数为6,第二设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第一字符串,将第一字符串“123456”或“345678”确定为第一标识。
(2)、将第一字符串与第一预设字符串组成第一标识。
例如,第一字符串为“123456”,第一预设字符串为“Huawei”,将第一字符串与第一预设字符串组成的第一标识为“123456Huawei”或“Huawei123456”。
(3)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第一标识。
(4)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与第一预设字符串组成第一标识。
步骤307:第二设备发送Probe request消息,该Probe request消息的SSID字段携带第一标识。
其中,第二设备将自身的身份设置为STA,并发送Probe request消息,以请求与接收该Probe request消息的AP建立无线连接。第二设备可以广播该Probe request消息,或者,第二设备可以在接收到第一设备广播的Beacon消息后,从Beacon消息中获取第一设备的地址,根据第一设备的地址向第一设备单播该Probe request消息。
其中,参见图2-9所示的Probe request消息的结构,Probe request消息包括MAC头、帧体和FCS等部分,MAC头包括Addr_1和Addr_2等字段,Addr_1为接收方地址,Addr_2为发送方地址,帧体包括SSID等字段,SSID为AP的标识,FCS为校验字段,用于携带校验码。在本发明实施例中,第二设备将第一标识作为AP的标识,当第二设备广播Probe request消息时,该Probe request消息的Addr_1字段为空,当第二设备单播Probe request消息给第一设备时,该Probe request消息的Addr_1字段携带第一设备的MAC地址;在该两种情况下,该Probe request消息的Addr_2字段携带第二设备的MAC地址,SSID字段携带第一标识。
步骤308:第一设备接收该Probe request消息,该Probe request消息的SSID字段携带第一标识。
其中,只有AP才可以接收Probe request消息,所以在本发明实施例中第一设备为AP或将自身的身份设置为AP,然后接收第二设备发送的Probe request消息。
例如,第二设备发送Probe request消息,该Probe request消息的SSID字段携带第一标识“123456”,第一设备接收该Probe request消息。
步骤309:第一设备确定第一标识与第二标识是否匹配,如果匹配执行步骤310。
其中,第一标识与第二标识匹配是指第一标识与第二标识相等或者第一标识与第二标识之间存在对应关系。
其中,可以事先在第一设备设置标识关系列表,该标识关系列表用于存储具有对应关系的任意两标识。
相应地,第一设备可以通过如下方式来确定第一标识与第二标识是否存在对应关系,包括:第一设备可以根据第一标识,从该标识关系列表中查找出对应的标识,如果查找出的标识与第二标识相等,则确定出第一标识与第二标识之间存在对应关系,否则,确定第一标识与第二标识之间不存在对应关系。
其中,在本发明实施例中,第二设备可以将第一标识作为需要与其建立无线连接的设备的标识,由于第一标识是对该连接信息的第一部分信息进行计算生成的,而第二标识与对第一部分信息进行计算生成的结果相等或相对应,所以当第一标识与第二标识匹配时,第一设备便可以自动发现第二设备为需要与自身建立无线连接的设备,实现第一设备和第二设备相互发现自己为需要与对方建立无线连接的设备,从而第一设备和第二设备可以快速发现对方,从而减少了建立无线连接所需要的时间。
步骤310:第一设备向第二设备发送Probe response消息,该Probe response消息用于第二设备确定与第一设备建立无线连接。
其中,第二设备发送Probe request消息,以请求与一AP建立无线连接,该AP的第一标识携带在该Probe request消息的SSID字段中。所以在本步骤中,当第一设备判断出第一标识与第二标识匹配,则第一设备可以获知第二设备请求与自身建立无线连接,从而确定需要与第二设备建立无线连接,向第二设备发送Probe response消息,以告知第二设备同意与其建立无线连接。
参见图2-10所示的Probe response消息结构,Probe response消息包括MAC头、帧体和FCS等部分,MAC头包括Addr_3和Addr_4等字段,Addr_3为接收方地址,Addr_4为发送方地址,帧体包括SSID等字段,SSID为AP的标识,FCS为校验字段,用于携带校验码。在本发明实施例中,该Probe respnse消息的Addr_3字段携带第二设备的MAC地址,Addr_4字段携带第一设备的MAC地址,SSID字段携带第二标识。
例如,假设第二设备发送的Probe request消息的SSID字段携带第一标识“123456”。第一设备接收该Probe request消息,生成的第二标识为“123456”,其中,第一标识“123456”和第二标识“123456”相同,所以第一标识与第二标识匹配,确定需要与第二设备建立无线连接,向第二设备发送Probe respone消息。
步骤311:第二设备接收该Probe request消息,根据该Probe request消息确定与第一设备建立无线连接,执行步骤312。
步骤312:第二设备根据该连接信息的第二部分信息生成第一认证信息。
连接信息的第一部分信息的内容和第二部分信息的内容可以不同或者部分相同。例如,该连接信息为“12345678”,第一部分信息可以为“1234”,第二部分信息可以为“5678”,或者,第一部分信息可以为“123456”,第二部分信息可以为“345678”等。
具体地,本步骤可以通过如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第二认证信息。
第二、第二设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第一认证信息。
其中,第二设备除了可以采用上述第一和第二两种方式生成第一认证信息外,还可以采用其他的方式来生成第一认证信息。例如第二设备从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第一认证信息;或者,将该连接信息确定为第一认证信息。
其中,第二设备根据第四字符串生成第一认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第一认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第一认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第二设备从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,第二设备从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第一认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第二认证信息,或者,将该哈希结果确定为第一认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第一认证信息。
具体地,根据第二设备采用的认证方式,确定认证信息的位数;根据确定位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第二设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到该哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第一认证信息。
步骤313:第一设备验证第二设备的第一认证信息与其第二认证信息是否匹配,如果匹配,则向第二设备发送确认信息,该确认信息用于第二设备确定与第一设备建立无线连接。
其中,第一设备采用的认证方式可以为IEEE802.11中的四步握手认证方式、WFA(Wi-Fi Alliance,Wi-Fi联盟)规定的WPS认证方式或其他认证方式。每种认证方式规定了认证消息的格式,例如,四步握手认证方式规定认证消息为256比特组成的密钥信息,WPS认证方式规定认证消息为8位数字等。
当采用四步骤握手认证方式时,本步骤可以为:第一设备将第二认证信息确定为四步握手认证方式的PMK,根据该PMK并通过该四步握手认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
当采用WPS认证方式时,本步骤可以为:第一设备将第二认证信息确定为WPS认证方式的PIN,根据该PIN并通过WPS认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
其中,在第一设备验证的过程中,第二设备与第一设备进行验证,以使第一设备确定第二设备的第一认证信息与第一设备的第二认证信息是否匹配。具体实现为:第二设备将第一认证信息作为四步握手认证方式的PMK,根据该PMK并通过四步握手认证方式与第一设备进行认证;或者,将第一认证信息作为WPS认证PIN,根据该PIN并通过WPS认证方式与第一设备进行验证。
其中,第二设备在验证的过程中,当接收到第一设备发送的确认信息后,根据该确认信息确定出与第一设备建立无线连接,然后执行步骤314。
第一设备通过第一认证信息以及第二设备通过第二认证信息进行相互间的认证,并在相互之间认证通过后,第一设备和第二设备才建立相互间的无线连接,保证第一设备和第二设备之间的建立的无线连接为安全连接。
步骤314:第一设备建立与第二设备之间的数据连接,以实现建立与第二设备之间的无线连接。
其中,第二设备建立与第一设备之间的无线连接为加密的无线连接,第二设备和第一设备可以通过该加密的无线连接来传输数据。该无线连接可以为Wi-Fi连接或蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的Probe request消息,第一设备确定自身存储的第二标识与第二设备的第一标识是否匹配,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接。其中第二设备通过用户手工输入或其他方式获得由第一设备生成的连接信息,并根据连接信息生成第一标识,通过第一标识确定需要连接的设备,从而避免用户手工选择需要连接的设备,从而提高了建立无线连接的效率,以提高数据传输的效率。第一设备与第二设备还通过第一认证信息和第二认证信息进行相互之间的认证,从而使得建立的无线连接为更加安全,提高了数据传输的安全性。
实施例4
本发明实施例提供了一种用于建立无线连接的方法。在本发明实施例中,第一设备和第二设备都为普通的Wi-Fi P2P(Peer to Peer,点对点)设备,第二设备和第一设备都通过广播Probe request消息探测周围的Wi-Fi P2P设备,当第二设备和第一设备探测到相互双方时,第一设备和第二设备进行GO协商,假设协商后第一设备成为GO。
然后,第一设备生成连接信息,向第二设备提供该连接信息,第二设备根据该连接信息生成第一标识,第一设备根据该连接信息生成第二标识,如果第一标识与第二标识匹配,则第一设备建立与第二设备之间的无线连接。参见图4-1,该方法包括:
步骤401:第一设备生成连接信息。
连接信息可以为一串字符串,连接信息的内容可以为数字、字母或其他字符,或者可以为数字、字母和其他字符中任意多种字符的组合。第一设备可以随机生成一串字符串,将生成的字符串作为连接信息。
其中,在本发明实施例中,第一设备可以在其对应的第一用户的触发下生成连接信息。具体有如下两种触发方式,包括:
第一、第一设备检测到系统应用的应用界面中的连接接口被第一用户点击触发的连接命令时,生成连接信息。
其中,在具有传输数据需求的系统应用的应用界面中设置一连接接口,当第一用户需要传输数据时,可以点击该连接接口,以使该连接接口触发连接命令。系统应用可以为具有图片分享功能的图片拍照应用或具有视频分享功能的视频拍摄应用。
例如,参见图2-2所示的系统应用的应用界面,该系统应用是一个图片拍照应用,图片拍照应用拍摄一张图片并显示在应用界面中,在应用界面的上方有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,随机产生连接信息,假设产生的连接信息为“12345678”,如图2-3所示。
第二、第一设备检测到第三方应用的应用界面中的连接接口被第一用户点击触发的连接命令时,生成连接信息,第三方应用为用于建立无线连接的应用。
其中,在第一设备上安装一个用于建立无线连接的第三方应用,第三方应用的应用界面中包含连接接口。当第一用户需要传输数据时,可以点击该连接接口,以使连接接口触发连接命令。
例如,参见图2-4所示的第三方应用的应用界面,在该应用界面中有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,随机产生连接信息,假设产生的连接信息为“12345678”,如图2-5。
步骤402:第一设备向第二设备提供该连接信息。
具体地,本步骤可以包括如下第一至第四四种实现方式,分别为:
第一、第一设备显示该连接信息。
其中,第二设备对应的第二用户可以查看第一设备显示的该连接信息,并将该连接信息输入给第二设备。
第二、第一设备通过音箱播放该连接信息。
其中,第二用户可以收听第一设备播放的该连接信息,并将该连接信息输入给第二设备。
第三、第一设备根据该连接信息生成包含该连接信息的图形码,显示该图形码。
该图形码可以为一维码或二维码,第一设备可以使用用于生成图形码的编码算法对该连接信息进行编码,以生成包含该连接信息的图形码,如生成QR Code二维码。
其中,第二设备具有扫描模块,该扫描模块可以为摄像头或扫描仪等。第一设备显示该图形码之后,第二设备可以通过其包括的扫描模块扫描第一设备显示的该图形码并获得该连接信息。
第四、第一设备与第二设备建立短距离通信连接,通过该短距离通信连接向第二设备发送该连接信息。
其中,第一设备可以通过带外通信方式与第二设备建立短距离通信连接。带外通信方式可以为声波、红外、NFC或HotKnot等通信方式。
其中,在本实施例中,第一设备生成一个连接信息,用户可以将该连接信息输入给第二设备,或通过第二设备扫描第一设备上包含该连接信息的图形码,或者将第二设备与第一设备靠近,以使第二设备短距离通信方式获得该连接信息,相比用户从大量的设备搜索结果中去找出第二设备的标识,本步骤可以节省第一设备进行设备搜索的时间以及用户寻找第二设备的标识的时间,从而可以缩短建立无线连接的时间。
步骤403:第二设备获取第一设备提供的该连接信息。
具体地,第二设备可以通过如下第一、第二和第三三种方式来获取该连接信息。
第一、第二设备接收第二用户输入的该连接信息。
其中,第一设备生成连接信息后显示该连接信息或者通过音箱播放该连接信息。第二用户可以查看或收听该连接信息,然后向第二设备输入该连接信息。
其中,第二设备可以通过如下(1)和(2)两种方式获取第二用户输入的连接信息,包括:
(1)、第二设备从系统应用的应用界面中获取第二用户输入的连接信息。
系统应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第一设备显示连接信息“12345678”或通过音箱播放连接信息“12345678”,第二用户查看连接信息“12345678”或收听连接信息“12345678”。然后,第二用户在如图2-6所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-7所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
(2)、第二设备从第三方应用的应用界面中获取第二用户输入的连接信息。
第三方应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第二用户在如图2-4所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-8所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
第二、第二设备扫描第一设备显示的图形码,获取该图形码中包含的该连接信息。
其中,第二用户可以开启第二设备的扫描模块,然后第二设备通过扫描模块扫描第一设备显示的图形码,对扫描的图形码进行解析,解析出扫描的图形码中包含的连接信息。
第三、第二设备与第一设备建立短距离通信连接,通过该短距离通信连接接收第一设备发送的该连接信息。
步骤404:第二设备根据该连接信息包括的第一部分信息计算生成第一标识。
具体地,本步骤可以包括如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第一标识。
可以从第一哈希结果中截取部分信息作为第一标识,或,将截取的部分信息添加预设信息组成第一标识,或,将第一哈希结果作为第一标识等。
第二、第二设备向该连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第一标识。
其中,可以对第一构造信息进行反转置换处理或移位处理来生成第一标识。例如,假设连接信息“12345678”的第一部分信息为“1234”,第一预设信息为“hua”,则第二设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。
假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
第二设备生成第一标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的一串字符串作为第一字符串,根据第一字符串生成第一标识;或者,对整个连接信息进行哈希运算得到第一标识。
其中,第二设备根据第一字符串生成第一标识的实现方式,包括如下(1)至(4)四种:
(1)、将第一字符串确定为第一标识。
例如,预设第一位数为6,第二设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第一字符串,将第一字符串“123456”或“345678”确定为第一标识。
(2)、将第一字符串与第一预设字符串组成第一标识。
例如,第一字符串为“123456”,第一预设字符串为“Huawei”,将第一字符串与第一预设字符串组成的第一标识为“123456Huawei”或“Huawei123456”。
(3)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第一标识。
(4)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与第一预设字符串组成第一标识。
步骤405:第二设备发送Probe request消息,该Probe request消息的保留字段携带第一标识。
其中,第二设备的身份设置为Wi-FI P2P设备,发送Probe request消息,以请求与接收该Probe request消息的GO建立无线连接。第二设备可以广播该Probe request消息,或者,第二设备可以在接收到第一设备广播的Beacon消息后,从Beacon消息中获取第一设备的地址,根据第一设备的地址向第一设备单播该Probe request消息。
其中,参见图4-2所示的Probe request消息的结构,Probe request消息包括MAC头、帧体和FCS等部分,MAC头包括Addr_1和Addr_2等字段,Addr_1为接收方地址,Addr_2为发送方地址,帧体包括SSID字段和保留字段Vendor specific等,SSID字段用于携带标识,FCS为校验字段,用于携带校验码。在本发明实施例中,第二设备将第一标识作为GO的标识,当第二设备广播Probe request消息时,该Probe request消息的Addr_1字段为空,当第二设备单播Probe request消息给第一设备时,该Probe request消息的Addr_1字段携带第一设备的MAC地址;在该两种情况下,该Probe request消息的Addr_2字段携带第二设备的MAC地址,保留字段携带第一标识,而SSID字段为空。
步骤406:第一设备接收该Probe request消息,该Probe request消息的保留字段携带第一标识。
例如,第二设备发送Probe request消息,该Probe request消息的保留字段携带第一标识“123456”,第一设备接收该Probe request消息。
步骤407:第一设备根据该连接信息的第一部分信息计算生成第二标识,其中,第一设备将第二标识作为其自身的标识。
具体地,第一设备可以通过如下第一和第二两种方式计算生成第二标识,包括:
第一、第一设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第二标识。
本实施方式与第二设备生成第一标识的第一种方式相同,详细过程可以参见第二设备生成第一标识的第一种方式,在此不再详细说明。
第二、第一设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二标识。
本实施方式与第二设备生成第一标识的第二种方式相同,详细过程可以参见第二设备生成第一标识的第二种方式,在此不再详细说明。
第一设备生成第二标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的字符串作为第二字符串,根据第二字符串生成第二标识;或者,对整个该连接信息进行哈希运算得到第二标识。
其中,需要说明的是:第一设备也可以在生成连接信息之后且在接收Proberequest消息之前按本步骤生成第二标识。
其中,第一设备根据第二字符串生成第二标识的实现方式,包括如下(1)至(4)四种:
(1)、将第二字符串确定为第二标识。
例如,预设第一位数为6,第一设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第二字符串,将第二字符串“123456”或“345678”确定为第二标识。
(2)、将第二字符串与第一预设字符串组成第二标识。
例如,假设,第二字符串为“123456”,第一预设字符串为“Huawei”,将第二字符串与第一预设字符串组成的第二标识为“123456Huawei”或“Huawei123456”。
(3)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第二标识。
(4)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与预设字符串组成第二标识。
步骤408:第一设备确定第一标识与第二标识是否匹配,如果匹配执行步骤409。
其中,第一标识与第二标识匹配是指第一标识与第二标识相等或者第一标识与第二标识之间存在对应关系。
其中,可以事先在第一设备设置标识关系列表,该标识关系列表用于存储具有对应关系的任意两标识。
相应地,第一设备可以通过如下方式来确定第一标识与第二标识是否存在对应关系,包括:第一设备可以根据第一标识,从该标识关系列表中查找出对应的标识,如果查找出的标识与第二标识相等,则确定出第一标识与第二标识之间存在对应关系,否则,确定第一标识与第二标识之间不存在对应关系。
其中第二设备通过用户手工输入或其他方式获得由第一设备生成的连接信息,并根据连接信息生成第一标识,通过第一标识确定需要连接的设备,从而避免用户手工选择需要连接的设备,从而提高了建立无线连接的效率。
步骤409:第一设备向第二设备发送Probe response消息,该Probe response消息用于第二设备确定与第一设备建立无线连接。
其中,第二设备发送Probe request消息,以请求与一GO建立无线连接,该GO的第一标识携带在该Probe request消息的保留字段中。所以在本步骤中,当第一设备判断出第一标识与第二标识匹配,则第一设备可以获知第二设备请求与自身建立无线连接,从而确定需要与第二设备建立无线连接,向第二设备发送Probe response消息,以告知第二设备同意与其建立无线连接。
例如,假设第二设备发送的Probe request消息的保留字段携带第一标识“123456”。第一设备接收该Probe request消息,生成的第二标识为“123456”,其中,第一标识“123456”和第二标识“123456”相同,所以第一标识与第二标识匹配,确定需要与第二设备建立无线连接,向第二设备发送Probe respone消息。
步骤410:第二设备接收该Probe response消息,根据该Probe response消息确定与第一设备建立无线连接,执行步骤411。
步骤411:第二设备根据该连接信息的第二部分信息生成第一认证信息。
连接信息的第一部分信息的内容和第二部分信息的内容可以不同或者部分相同。例如,该连接信息为“12345678”,第一部分信息可以为“1234”,第二部分信息可以为“5678”,或者,第一部分信息可以为“123456”,第二部分信息可以为“345678”等。
具体地,本步骤可以通过如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第一认证信息。
例如,对连接信息“12345678”的第二部分信息“5678”进行SHA-256哈希算法的哈希,得到第二哈希结果为“6BAA0BD18BCC1E5237B70DC18595A7DEFF11CD27120CDC96A678003F8B162941”,根据第二设备采用的认证方式对第二哈希结果进行截取或补充等处理得到该认证方式所需要的位数的第一认证信息。
第二设备采用的认证方式可以包括四步握手认证方式。WPS认证方式或其他认证方式。其中,每种认证方式规定了认证消息的格式,例如,四步握手认证方式规定认证消息为256比特组成的密钥信息,WPS认证方式规定认证消息为8位数字等。
例如,当第二设备采用四步握手认证时,将第二哈希结果包括32个字符,正好为256比特,因此将第二哈希结果作为第一认证信息。当第二设备采用WPS认证时,截取最后8位“8F162941”,并将“F”映射至数字“6”得到“86162941”作为第一认证信息。
第二、第二设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第一认证信息。
例如,当第二设备采用四步握手认证时,对连接信息“12345678”的第二部分信息“5678”转换为二进制“1011000101110”,然后在“1011000101110”左侧添加243bit的“0”得到256bit位的第一认证信息;或在“1011000101110”右侧添加243bit的“1”得到256bit位的第一认证信息;
当第二设备采用WPS认证时,对连接信息“12345678”的第二部分信息“5678”左侧或右侧添加4位“8888”或“0000”等得到8位数字作为第一认证信息。
需要说明的是,当第二部分信息位数满足第二设备采用的认证方式所要求的认证信息位数时,也可以直接将第二部分信息作为第一认证信息。
其中,第二设备除了可以采用上述第一和第二两种方式生成第一认证信息外,还可以采用其他的方式来生成第一认证信息。例如第二设备从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第一认证信息;或者,将该连接信息确定为第一认证信息。
其中,第二设备根据第四字符串生成第一认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第一认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第一认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第二设备从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,第二设备从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第一认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第二认证信息,或者,将该哈希结果确定为第一认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第一认证信息。
具体地,根据第二设备采用的认证方式,确定认证信息的位数;根据确定位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第二设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第一认证信息。
步骤412:第一设备根据该连接消息的第二部分信息生成第二认证信息。
具体地,本步骤可以通过如下第一和第二两种方式来实现,包括:
第一、第一设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第二认证信息。
本实施方式与第二设备生成第一认证信息的第一种方式的过程相同,在此不再详细说明。
第二、第一设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二认证信息。
本实施方式与第二设备生成第一认证信息的第二种方式的过程相同,在此不再详细说明。
其中,第一设备除了可以按上述第一和第二两种方式生成第二认证信息外,还可以采用其他方式来生成第二认证信息。例如,第一设备从该连接信息中截取预设第二位数的字符串作为第三字符串,根据第三字符串生成第二认证信息;或者,将整个连接信息确定为第二认证信息。
其中,第一设备根据第三字符串生成第二认证信息的方式,包括如下几种:
第一、将第三字符串确定为第二认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第三字符串,并将第三字符串作为第二认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第一设备从连接信息中截取的预设第一位数的第二字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第三字符串。例如,预设第一位数为6,所以预设第二位数为2,第一设备从连接信息“12345678”中截取预设第一位数的第二字符串“123456”后得到下下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第三字符串。
第二、将第三字符串与第二预设字符串组成第二认证信息。
例如,假设第三字符串为“1234”,第二预设字符串为“9860”,将第三字符串与第二预设字符串组成的第一认证信息为“12349860”或“98601234”。
第三、对第三字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第一认证信息,或者,将该哈希结果确定为第二认证信息。
第四、根据第三字符串和第一设备采用的认证方式,生成第二认证信息。
步骤413:第一设备验证第二设备的第一认证信息与其第二认证信息是否匹配,如果匹配,则向第二设备发送确认信息,该确认信息用于第二设备确定与第一设备建立无线连接。
当第一设备采用四步骤握手认证方式时,本步骤可以为:第一设备将第二认证信息确定为四步握手认证方式的PMK,根据该PMK并通过该四步握手认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
当第一设备采用WPS认证方式时,本步骤可以为:第一设备将第二认证信息确定为WPS认证方式的PIN,根据该PIN并通过WPS认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
其中,在第一设备验证的过程中,第二设备与第一设备进行验证,以使第一设备确定第二设备的第一认证信息与第一设备的第二认证信息是否匹配。具体实现为:第二设备将第一认证信息作为四步握手认证方式的PMK,根据该PMK并通过四步握手认证方式与第一设备进行认证;或者,将第一认证信息作为WPS认证PIN,根据该PIN并通过WPS认证方式与第一设备进行验证。
其中,第二设备在验证的过程中,当接收到第一设备发送的确认信息后,根据该确认信息确定出与第一设备建立无线连接,然后执行步骤214。
步骤414:第一设备建立与第二设备之间的数据连接,以实现建立与第二设备之间的无线连接。
其中,第二设备建立与第一设备之间的无线连接为加密的无线连接,第二设备和第一设备可以通过该加密的无线连接来传输数据。该无线连接可以为Wi-Fi连接或蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的Probe request消息,第一设备根据该连接信息生成第二标识,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接。其中第二设备通过用户手工输入或其他方式获得由第一设备生成的连接信息,并根据连接信息生成第一标识,通过第一标识确定需要连接的设备,从而避免用户手工选择需要连接的设备,从而提高了建立无线连接的效率,以提高数据传输的效率。第一设备与第二设备还通过第一认证信息和第二认证信息进行相互之间的认证,从而使得建立的无线连接为更加安全,提高了数据传输的安全性。
本发明实施例提供了一种用于建立无线连接的方法。在本发明实施例中,第一设备和第二设备都为普通的Wi-FI P2P设备,第一设备和第二设备都通过广播Probe request消息探测周围的Wi-Fi P2P设备,当第一设备和第地设备探测到相互双方时,第一设备和第二设备进行GO协商,假设协商后第一设备成为GO。
然后,第一设备生成连接信息,并提供给第二设备,第二设备根据该连接信息生成第一标识,并在Probe Request消息的保留字段中携带第一标识,然后向第一设备发送该Probe Request消息,第一设备确定自身存储的第二标识与第一标识是否匹配,如果匹配和第二设备建立无线连接。参见图5,该方法包括:
步骤501:第一设备根据第二标识生成连接信息的第一部分信息。
其中,在执行本步骤之前,技术人员可以在第一设备中设置第二标识或者由第一设备生成第二标识并存储生成的第二标识。
第一设备可以按如下方式生成第二标识,包括:第一设备生成连接信息,向连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第二标识。可以对第一构造信息进行反转置换或移位处理得到第二标识。
假设,生成的连接信息为“12345678”,该连接信息的第一部分信息为“1234”,第一预设信息为“hua”,则第一设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
本步骤可以为,第一设备对第二标识进行截取得到部分信息,将截取的该部分信息确定为连接信息的第一部分信息;或者,对第二标识进行第一运算处理得到连接信息的第一部分信息,第一运算处理为生成第二标识的逆运算。
其中,可以按如下(1)和(2)两步对第二标识进行第一运算处理得到连接信息的第一部分信息,包括:
(1):根据第二标识生成第一构造信息。
可以对第二标识进行正转置换处理得到第一构造信息或对第二标识进行反向移位得到第一构造信息。例如,假设第一标识为“auh4321”,对第一标识“auh4321”进行正转置换处理得到第一构造信息为“1234hua”;或者,假设第一标识为“ua1234h”,对第一标识“ua1234h”进行反向移位两位得到第一构造信息“1234hua”;或者,假设第一标识为“hua1234”,对第一标识“hua1234”进行反向移位三位得到第一构造信息为“1234hua”。
(2):从第一构造信息中去除第一预设信息得到该连接信息的第一部分信息。
例如,第一预设信息为“hua”,从第一构造信息“1234hua”中去除第一预设信息“hua”得到该连接信息的第一部分信息为“1234”。
步骤502:第一设备根据第二认证信息生成该连接信息的第二部分信息。
其中,在执行本步骤之前,技术人员可以在第一设备中设置第二认证信息或者由第一设备生成第二认证信息并存储生成的第二认证信息。
第一设备可以按如下方式生成第二认证信息,包括:第一设备生成连接信息,向连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二认证信息。可以对第二构造信息进行反转置换或移位处理得到第二认证信息。
假设,生成的连接信息为“12345678”,该连接信息的第一部分信息为“5678”,第二预设信息为“wei”,则第一设备向连接信息的第二部分信息“5678”添加第二预设信息“wei”得到的第二构造信息可以为“5678wei”、“wei5678”或“56wei78”等。假设,构造的第二构造信息为“5678wei”,对第二构造信息进行反转置换处理得到的第二认证信息为“iew5678”;或,事先设置移位的位数,该位数可以为二或三等,然后对第二构造信息进行两位移位处理或三位移位处理等,如当对第二构造信息进行两位移位处理得到的第二认证信息为“ei5678w”,当对第二构造信息进行三位移位处理得到的第二认证信息为“wei5678”。
本步骤可以为,第一设备对第二认证信息进行截取得到部分信息,将截取的该部分信息确定为连接信息的第二部分信息;或者,对第二认证信息进行第二运算处理得到连接信息的第二部分信息,第二运算处理为生成第二认证信息的逆运算。
其中,可以按如下(1)和(2)两步对第二认证信息进行第二运算处理得到连接信息的第二部分信息,包括:
(1):根据第二认证信息生成第二构造信息。
可以对第二认证信息进行正转置换处理得到第二构造信息或对第二认证信息进行反向移位得到第二构造信息。例如,假设第二认证信息为“iew4321”,对第二认证信息“iew4321”进行正转置换处理得到第二构造信息为“5678wei”;或者,假设第二认证信息为“ei5678w”,对第二认证信息“ei5678w”进行反向移位两位得到第二构造信息“5678wei”;或者,假设第二认证信息为“wei5678”,对第二认证信息“wei5678”进行反向移位三位得到第二构造信息为“5678wei”。
(2):从第二构造信息中去除第二预设信息得到该连接信息的第二部分信息。
例如,第二预设信息为“wei”,从第二构造信息“5678wei”中去除第二预设信息“wei”得到该连接信息的第二部分信息为“5678”。
步骤503:第一设备根据第一部分信息和第二部分信息构造连接信息。
将前述第一部分信息与第二部分信息进行拼接得到连接信息,如将第一部分信息“1234”与第二部分信息“5678”进行拼接得到“12345678”作为连接信息。
其中,在本发明实施例中,第一设备可以在其对应的第一用户的触发下按上述501至503的步骤生成连接信息。具体有如下两种触发方式,包括:
第一、第一设备检测到系统应用的应用界面中的连接接口被第一用户点击触发的连接命令时,执行上述步骤501至503。
其中,在具有传输数据需求的系统应用的应用界面中设置一连接接口,当第一用户需要传输数据时,可以点击该连接接口,以使该连接接口触发连接命令。系统应用可以为具有图片分享功能的图片拍照应用或具有视频分享功能的视频拍摄应用。
例如,参见图2-2所示的系统应用的应用界面,该系统应用是一个图片拍照应用,图片拍照应用拍摄一张图片并显示在应用界面中,在应用界面的上方有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,执行上述步骤301至303生成连接信息,假设生成的连接信息为“12345678”,如图2-3所示。
第二、第一设备检测到第三方应用的应用界面中的连接接口被第一用户点击触发的连接命令时,执行上述步骤501至503生成连接信息,第三方应用为用于建立无线连接的应用。
其中,在第一设备上安装一个用于建立无线连接的第三方应用,第三方应用的应用界面中包含连接接口。当第一用户需要传输数据时,可以点击该连接接口,以使连接接口触发连接命令。
例如,参见图2-4所示的第三方应用的应用界面,在该应用界面中有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,执行上述步骤301至303生成连接信息,假设生成的连接信息为“12345678”,如图2-5。
步骤504:第一设备向第二设备提供该连接信息。
具体地,本步骤可以包括如下第一至第四四种实现方式,分别为:
第一、第一设备显示该连接信息。
其中,第二设备对应的第二用户可以查看第一设备显示的该连接信息,并将该连接信息输入给第二设备。
第二、第一设备通过音箱播放该连接信息。
其中,第二用户可以收听第一设备播放的该连接信息,并将该连接信息输入给第二设备。
第三、第一设备根据该连接信息生成包含该连接信息的图形码,显示该图形码。
该图形码可以为一维码或二维码,第一设备可以使用用于生成图形码的编码算法对该连接信息进行编码,以生成包含该连接信息的图形码。
其中,第二设备具有扫描模块,该扫描模块可以为摄像头或扫描仪等。第一设备显示该图形码之后,第二设备可以通过其包括的扫描模块扫描第一设备显示的该图形码并获得该连接信息。
第四、第一设备与第二设备建立短距离通信连接,通过该短距离通信连接向第二设备发送该连接信息。
其中,第一设备可以通过带外通信方式与第二设备建立短距离通信连接。带外通信方式可以为声波、红外、NFC或HotKnot等通信方式。
其中,在本实施例中,第一设备生成一个连接信息,用户可以将该连接信息输入给第二设备,或通过第二设备扫描第一设备上包含该连接信息的图形码,或者将第二设备与第一设备靠近,以使第二设备短距离通信方式获得该连接信息,相比用户从大量的设备搜索结果中去找出第二设备的标识,本步骤可以节省第一设备进行设备搜索的时间以及用户寻找第二设备的标识的时间,从而可以缩短建立无线连接的时间。
步骤505:第二设备获取第一设备提供的该连接信息。
具体地,第二设备可以通过如下第一、第二和第三三种方式来获取该连接信息。
第一、第二设备接收第二用户输入的该连接信息。
其中,第一设备生成连接信息后显示该连接信息或者通过音箱播放该连接信息。第二用户可以查看或收听该连接信息,然后向第二设备输入该连接信息。
其中,第二设备可以通过如下(1)和(2)两种方式获取第二用户输入的连接信息,包括:
(1)、第二设备从系统应用的应用界面中获取第二用户输入的连接信息。
系统应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第一设备显示连接信息“12345678”或通过音箱播放连接信息“12345678”,第二用户查看连接信息“12345678”或收听连接信息“12345678”。然后,第二用户在如图2-6所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-7所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
(2)、第二设备从第三方应用的应用界面中获取第二用户输入的连接信息。
第三方应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第二用户在如图2-4所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-8所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
第二、第二设备扫描第一设备显示的图形码,获取该图形码中包含的该连接信息。
其中,第二用户可以开启第二设备的扫描模块,然后第二设备通过扫描模块扫描第一设备显示的图形码,对扫描的图形码进行解析,解析出扫描的图形码中包含的连接信息。
第三、第二设备与第一设备建立短距离通信连接,通过该短距离通信连接接收第一设备发送的该连接信息。
步骤506:第二设备根据该连接信息包括的第一部分信息计算生成第一标识。
具体地,本步骤可以包括如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第一标识。
可以从第一哈希结果中截取部分信息作为第一标识,或,将截取的部分信息添加预设信息组成第一标识,或,将第一哈希结果作为第一标识等。
第二、第二设备向该连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第一标识。
其中,可以对第一构造信息进行反转置换处理或移位处理来生成第一标识。例如,假设连接信息“12345678”的第一部分信息为“1234”,第一预设信息为“hua”,则第二设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。
假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
第二设备生成第一标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的一串字符串作为第一字符串,根据第一字符串生成第一标识;或者,对整个连接信息进行哈希运算得到第一标识。
其中,第二设备根据第一字符串生成第一标识的实现方式,包括如下(1)至(4)四种:
(1)、将第一字符串确定为第一标识。
例如,预设第一位数为6,第二设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第一字符串,将第一字符串“123456”或“345678”确定为第一标识。
(2)、将第一字符串与第一预设字符串组成第一标识。
例如,第一字符串为“123456”,第一预设字符串为“Huawei”,将第一字符串与第一预设字符串组成的第一标识为“123456Huawei”或“Huawei123456”。
(3)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第一标识。
(4)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与第一预设字符串组成第一标识。
步骤507:第二设备发送Probe request消息,该Probe request消息的保留字段携带第一标识。
第二设备的身份设置为Wi-FI P2P设备,发送Probe request消息,以请求与接收该Probe request消息的GO建立无线连接。第二设备可以广播该Probe request消息,或者,第二设备可以在接收到第一设备广播的Beacon消息后,从Beacon消息中获取第一设备的地址,根据第一设备的地址向第一设备单播该Probe request消息。
其中,参见图4-2所示的Probe request消息的结构,Probe request消息包括MAC头、帧体和FCS等部分,MAC头包括Addr_1和Addr_2等字段,Addr_1为接收方地址,Addr_2为发送方地址,帧体包括SSID字段和保留字段Vendor specific等,SSID字段用于携带标识,FCS为校验字段,用于携带校验码。在本发明实施例中,第二设备将第一标识作为GO的标识,当第二设备广播Probe request消息时,该Probe request消息的Addr_1字段为空,当第二设备单播Probe request消息给第一设备时,该Probe request消息的Addr_1字段携带第一设备的MAC地址;在该两种情况下,该Probe request消息的Addr_2字段携带第二设备的MAC地址,保留字段携带第一标识,而SSID字段为空。
步骤508:第一设备接收该Probe request消息,该Probe request消息的保留字段携带第一标识。
例如,第二设备发送Probe request消息,该Probe request消息的保留字段携带第一标识“123456”,第一设备接收该Probe request消息。
步骤509:第一设备确定第一标识与第二标识是否匹配,如果匹配执行步骤510。
其中,第一标识与第二标识匹配是指第一标识与第二标识相等或者第一标识与第二标识之间存在对应关系。
其中,可以事先在第一设备设置标识关系列表,该标识关系列表用于存储具有对应关系的任意两标识。
相应地,第一设备可以通过如下方式来确定第一标识与第二标识是否存在对应关系,包括:第一设备可以根据第一标识,从该标识关系列表中查找出对应的标识,如果查找出的标识与第二标识相等,则确定出第一标识与第二标识之间存在对应关系,否则,确定第一标识与第二标识之间不存在对应关系。
步骤510:第一设备向第二设备发送Probe response消息,该Probe response消息用于第二设备确定与第一设备建立无线连接。
其中,第二设备发送Probe request消息,以请求与一AP建立无线连接,该AP的第一标识携带在该Probe request消息的SSID字段中。所以在本步骤中,当第一设备判断出第一标识与第二标识匹配,则第一设备可以获知第二设备请求与自身建立无线连接,从而确定需要与第二设备建立无线连接,向第二设备发送Probe response消息,以告知第二设备同意与其建立无线连接。
例如,假设第二设备发送的Probe request消息的保留字段携带第一标识“123456”。第一设备接收该Probe request消息,生成的第二标识为“123456”,其中,第一标识“123456”和第二标识“123456”相同,所以第一标识与第二标识匹配,确定需要与第二设备建立无线连接,向第二设备发送Probe respone消息。
步骤511:第二设备接收该Probe response消息,根据该Probe response消息确定与第一设备建立无线连接,执行步骤512。
步骤512:第二设备根据该连接信息的第二部分信息生成第一认证信息。
连接信息的第一部分信息的内容和第二部分信息的内容可以不同或者部分相同。例如,该连接信息为“12345678”,第一部分信息可以为“1234”,第二部分信息可以为“5678”,或者,第一部分信息可以为“123456”,第二部分信息可以为“345678”等。
具体地,本步骤可以通过如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第二认证信息。
第二、第二设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第一认证信息。
其中,第二设备除了可以采用上述第一和第二两种方式生成第一认证信息外,还可以采用其他的方式来生成第一认证信息。例如第二设备从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第一认证信息;或者,将该连接信息确定为第一认证信息。
其中,第二设备根据第四字符串生成第一认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第一认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第一认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第二设备从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,第二设备从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第一认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第二认证信息,或者,将该哈希结果确定为第一认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第一认证信息。
具体地,根据第二设备采用的认证方式,确定认证信息的位数;根据确定位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第二设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到该哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第一认证信息。
步骤513:第一设备验证第二设备的第一认证信息与其第二认证信息是否匹配,如果匹配,则向第二设备发送确认信息,该确认信息用于第二设备确定与第一设备建立无线连接。
其中,第一设备采用的认证方式可以为IEEE802.11中的四步握手认证方式、WFA(Wi-Fi Alliance,Wi-Fi联盟)规定的WPS(Wi-Fi Protected Setup,Wi-Fi安全设置)认证方式或其他认证方式。每种认证方式规定了认证消息的格式,例如,四步握手认证方式规定认证消息为256比特组成的密钥信息,WPS认证方式规定认证消息为8位数字等。
当采用四步骤握手认证方式时,本步骤可以为:第一设备将第二认证信息确定为四步握手认证方式的PMK,根据该PMK并通过该四步握手认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
当采用WPS认证方式时,本步骤可以为:第一设备将第二认证信息确定为WPS认证方式的PIN,根据该PIN并通过WPS认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
其中,在第一设备验证的过程中,第二设备与第一设备进行验证,以使第一设备确定第二设备的第一认证信息与第一设备的第二认证信息是否匹配。具体实现为:第二设备将第一认证信息作为四步握手认证方式的PMK,根据该PMK并通过四步握手认证方式与第一设备进行认证;或者,将第一认证信息作为WPS认证PIN,根据该PIN并通过WPS认证方式与第一设备进行验证。
其中,第二设备在验证的过程中,当接收到第一设备发送的确认信息后,根据该确认信息确定出与第一设备建立无线连接,然后执行步骤314。
步骤514:第一设备建立与第二设备之间的数据连接,以实现建立与第二设备之间的无线连接。
其中,第二设备建立与第一设备之间的无线连接为加密的无线连接,第二设备和第一设备可以通过该加密的无线连接来传输数据。该无线连接可以为Wi-Fi连接或蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的Probe request消息,第一设备确定自身存储的第二标识与第二设备的第一标识是否匹配,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接。其中第二设备通过用户手工输入或其他方式获得由第一设备生成的连接信息,并根据连接信息生成第一标识,通过第一标识确定需要连接的设备,从而避免用户手工选择需要连接的设备,从而提高了建立无线连接的效率,以提高数据传输的效率。第一设备与第二设备还通过第一认证信息和第二认证信息进行相互之间的认证,从而使得建立的无线连接为更加安全,提高了数据传输的安全性。
本发明实施例提供了一种用于建立无线连接的方法。在本发明实施例中,第一设备生成连接信息,向第二设备提供该连接信息;第二设备根据该连接信息生成第一标识,向第一设备发送Test request消息,该Test request消息携带第一标识和第二设备支持的通信模式;第一设备根据该连接信息生成第二标识,如果第一标识与第二标识匹配,选择一种通信模式,根据选择的通信模式设置自身的身份,然后与第二设备建立无线连接。参见图6-1,该方法包括:
步骤601:第一设备生成连接信息。
连接信息可以为一串字符串,连接信息的内容可以为数字、字母或其他字符,或者可以为数字、字母和其他字符中任意多种字符的组合。第一设备可以随机生成一串字符串生成一串字符串,将生成的字符串作为连接信息。
其中,在本发明实施例中,第一设备可以在其对应的第一用户的触发下生成连接信息。具体有如下两种触发方式,包括:
第一、第一设备检测到系统应用的应用界面中的连接接口被第一用户点击触发的连接命令时,生成连接信息。
其中,在具有传输数据需求的系统应用的应用界面中设置一连接接口,当第一用户需要传输数据时,可以点击该连接接口,以使该连接接口触发连接命令。系统应用可以为具有图片分享功能的图片拍照应用或具有视频分享功能的视频拍摄应用。
例如,参见图2-2所示的系统应用的应用界面,该系统应用是一个图片拍照应用,图片拍照应用拍摄一张图片并显示在应用界面中,在应用界面的上方有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,随机产生连接信息,假设产生的连接信息为“12345678”,如图2-3所示。
第二、第一设备检测到第三方应用的应用界面中的连接接口被第一用户点击触发的连接命令时,生成连接信息,第三方应用为用于建立无线连接的应用。
其中,在第一设备上安装一个用于建立无线连接的第三方应用,第三方应用的应用界面中包含连接接口。当第一用户需要传输数据时,可以点击该连接接口,以使连接接口触发连接命令。
例如,参见图2-4所示的第三方应用的应用界面,在该应用界面中有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,随机产生连接信息,假设产生的连接信息为“12345678”,如图2-5。
步骤602:第一设备向第二设备提供该连接信息。
具体地,本步骤可以包括如下第一至第四四种实现方式,分别为:
第一、第一设备显示该连接信息。
其中,第二设备对应的第二用户可以查看第一设备显示的该连接信息,并将该连接信息输入给第二设备。
第二、第一设备通过音箱播放该连接信息。
其中,第二用户可以收听第一设备播放的该连接信息,并将该连接信息输入给第二设备。
第三、第一设备根据该连接信息生成包含该连接信息的图形码,显示该图形码。
该图形码可以为一维码或二维码,第一设备可以使用用于生成图形码的编码算法对该连接信息进行编码,以生成包含该连接信息的图形码,如生成QR Code二维码。
其中,第二设备具有扫描模块,该扫描模块可以为摄像头或扫描仪等。第一设备显示该图形码之后,第二设备可以通过其包括的扫描模块扫描第一设备显示的该图形码并获得该连接信息。
第四、第一设备与第二设备建立短距离通信连接,通过该短距离通信连接向第二设备发送该连接信息。
其中,第一设备可以通过带外通信方式与第二设备建立短距离通信连接。带外通信方式可以为声波、红外、NFC或HotKnot等通信方式。
步骤603:第二设备获取第一设备提供的该连接信息。
具体地,第二设备可以通过如下第一、第二和第三三种方式来获取该连接信息。
第一、第二设备接收第二用户输入的该连接信息。
其中,第一设备生成连接信息后显示该连接信息或者通过音箱播放该连接信息。第二用户可以查看或收听该连接信息,然后向第二设备输入该连接信息。
其中,第二设备可以通过如下(1)和(2)两种方式获取第二用户输入的连接信息,包括:
(1)、第二设备从系统应用的应用界面中获取第二用户输入的连接信息。
系统应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第一设备显示连接信息“12345678”或通过音箱播放连接信息“12345678”,第二用户查看连接信息“12345678”或收听连接信息“12345678”。然后,第二用户在如图2-6所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-7所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
(2)、第二设备从第三方应用的应用界面中获取第二用户输入的连接信息。
第三方应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第二用户在如图2-4所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-8所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
第二、第二设备扫描第一设备显示的图形码,获取该图形码中包含的该连接信息。
其中,第二用户可以开启第二设备的扫描模块,然后第二设备通过扫描模块扫描第一设备显示的图形码,对扫描的图形码进行解析,解析出扫描的图形码中包含的连接信息。
第三、第二设备与第一设备建立短距离通信连接,通过该短距离通信连接接收第一设备发送的该连接信息。
其中,在本实施例中,第一设备生成一个连接信息,用户可以将该连接信息输入给第二设备,或通过第二设备扫描第一设备上包含该连接信息的图形码,或者将第二设备与第一设备靠近,以使第二设备短距离通信方式获得该连接信息,相比用户从大量的设备搜索结果中去找出第二设备的标识,本步骤可以节省第一设备进行设备搜索的时间以及用户寻找第二设备的标识的时间,从而可以缩短建立无线连接的时间。
步骤604:第二设备根据该连接信息包括的第一部分信息计算生成第一标识。
具体地,本步骤可以包括如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第一标识。
可以从第一哈希结果中截取部分信息作为第一标识,或,将截取的部分信息添加预设信息组成第一标识,或,将第一哈希结果作为第一标识等。
第二、第二设备向该连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第一标识。
其中,可以对第一构造信息进行反转置换处理或移位处理来生成第一标识。例如,假设连接信息“12345678”的第一部分信息为“1234”,第一预设信息为“hua”,则第二设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。
假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
第二设备生成第一标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的一串字符串作为第一字符串,根据第一字符串生成第一标识;或者,对整个连接信息进行哈希运算得到第一标识。
其中,第二设备根据第一字符串生成第一标识的实现方式,包括如下(1)至(4)四种:
(1)、将第一字符串确定为第一标识。
例如,预设第一位数为6,第二设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第一字符串,将第一字符串“123456”或“345678”确定为第一标识。
(2)、将第一字符串与第一预设字符串组成第一标识。
例如,第一字符串为“123456”,第一预设字符串为“Huawei”,将第一字符串与第一预设字符串组成的第一标识为“123456Huawei”或“Huawei123456”。
(3)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第一标识。
(4)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与第一预设字符串组成第一标识。
步骤605:第二设备发送Test request(测试请求)消息,该Test request消息的动作帧携带第一标识和第二设备支持的通信模式。
其中,第二设备至少支持一种通信模式,通信模式包括AP-STA(Access Point–STA,接入点-工作站),GO-Client(Group Owner–Client,组长–组员)和P2P(Peer to Peer,点对点)通信模式。Test request消息的动作帧包括标识字段和通信模式字段,标识字段用于携带第一标识,通信模式字段用于携带第二设备支持的通信模式。
其中,参见图6-2所示的Test request消息的结构,Test request消息包括MAC(Media Access Control,媒体访问控制)头、帧体以及FCS(Frame Check Sequence,帧校验序列)等部分,MAC头包括Addr_1和Addr_2等字段,Addr_1为接收方地址,Addr_2为发送方地址,帧体包括动作帧,动作帧包括标识字段和通信模式字段,FCS为校验字段,用于携带校验码。在本发明实施例中,第二设备广播Test request消息时,该Test request消息的Addr_1字段为空,Addr_1字段携带第一设备的MAC地址,标识字段携带第一标识,通信模式字段用于携带第二设备支持的通信模式。
步骤606:第一设备接收该Test request消息,该Test request消息的动作帧携带第一标识和第二设备支持的通信模式。
例如,第二设备发送Test request消息,该Test request消息的动作帧携带第一标识“123456”和第二设备支持的通信模式包括AP-STA和GO-Client,第一设备接收该Testrequest消息。
步骤607:第一设备根据该连接信息的第一部分信息计算生成第二标识,其中,第一设备将第二标识作为其自身的标识。
具体地,第一设备可以通过如下第一和第二两种方式计算生成第二标识,包括:
第一、第一设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第二标识。
本实施方式与第二设备生成第一标识的第一种方式相同,详细过程可以参见第二设备生成第一标识的第一种方式,在此不再详细说明。
第二、第一设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二标识。
本实施方式与第二设备生成第一标识的第二种方式相同,详细过程可以参见第二设备生成第一标识的第二种方式,在此不再详细说明。
第一设备生成第二标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的字符串作为第二字符串,根据第二字符串生成第二标识;或者,对整个该连接信息进行哈希运算得到第二标识。
其中,需要说明的是:第一设备也可以在生成连接信息之后且在接收Proberequest消息之前按本步骤生成第二标识。
其中,第一设备根据第二字符串生成第二标识的实现方式,包括如下(1)至(4)四种:
(1)、将第二字符串确定为第二标识。
例如,预设第一位数为6,第一设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第二字符串,将第二字符串“123456”或“345678”确定为第二标识。
(2)、将第二字符串与第一预设字符串组成第二标识。
例如,假设,第二字符串为“123456”,第一预设字符串为“Huawei”,将第二字符串与第一预设字符串组成的第二标识为“123456Huawei”或“Huawei123456”。
(3)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第二标识。
(4)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与预设字符串组成第二标识。
步骤608:第一设备确定第一标识与第二标识是否匹配,如果匹配执行步骤609。
其中,第一标识与第二标识匹配是指第一标识与第二标识相等或者第一标识与第二标识之间存在对应关系。
其中,可以事先在第一设备设置标识关系列表,该标识关系列表用于存储具有对应关系的任意两标识。
相应地,第一设备可以通过如下方式来确定第一标识与第二标识是否存在对应关系,包括:第一设备可以根据第一标识,从该标识关系列表中查找出对应的标识,如果查找出的标识与第二标识相等,则确定出第一标识与第二标识之间存在对应关系,否则,确定第一标识与第二标识之间不存在对应关系。
步骤609:第一设备从第二设备支持的通信模式中选择一种通信模式,根据选择的通信模式设置自身的身份,向第二设备发送Test response(测试响应)消息,该Testresponse消息携带选择的通信模式和第一设备的身份。
具体地,第一设备将自身支持的通信模式与第二设备支持的通信模式做交集,从交集的结果中选择一种通信模式,然后根据选择的通信模式设置自身的身份,例如,如果选择的是AP-STA,则可以将自身的身份设置为AP,如果选择的是GO-Client,则可以将自身的身份设置为GO,如果选择的是P2P通信模式,则可以将自身的身份设置为AP,然后向第二设备发送Test response消息,该Test response消息携带选择的通信模式和第一设备的身份。
其中,该Test response消息用于第二设备确定与第一设备建立无线连接。第二设备发送Test request消息,以请求与一P2P设备建立无线连接,该P2P设备的第一标识携带在该Test request消息的动作帧中。所以在本步骤中,当第一设备判断出第一标识与第二标识匹配,则第一设备可以获知第二设备请求与自身建立无线连接,从而确定需要与第二设备建立无线连接,向第二设备发送Test response消息,以告知第二设备同意与其建立无线连接。
参见图6-3所示的Test response消息结构,Test response消息包括MAC头、帧体和FCS等部分,MAC头包括Addr_3和Addr_4等字段,Addr_3为接收方地址,Addr_4为发送方地址,动作帧位于帧体内,动作帧包括通信模式字段等。在本发明实施例中,该Probe respnse消息的Addr_3字段携带第二设备的MAC地址,Addr_4字段携带第一设备的MAC地址,通信模式字段携带选择的通信模式和第一设备的身份。
例如,假设第二设备发送的Test request消息的动作帧携带第一标识“123456”。第一设备接收该Test request消息,生成的第二标识为“123456”,其中,第一标识“123456”和第二标识“123456”相同,所以第一标识与第二标识匹配,确定需要与第二设备建立无线连接,获取自身支持的通信模式包括AP-STA、GO-Client和P2P通信模式,将自身支持的通信模式与第二设备支持的通信模式AP-STA和GO-Client取交集得到的交集结果中包括AP-STA和GO-Client,从交集结果中随机选择一种通信模式,假设为AP-STA,然后将自身的身份设置为AP,向第二设备发送Test response消息,该Test response消息携带选择的通信模式AP-STA和第一设备的身份为AP。
步骤610:第二设备接收该Test response消息,根据该Test response消息设置自身的身份以及确定与第一设备建立无线连接,执行步骤611。
其中,第二设备根据该Test response消息携带第一设备选择的通信模式和第一设备的身份设置自身的身份。例如,第二设备接收Test response消息,该Test response消息携带第二设备选择的通信模式AP-STA和第一设备的身份AP,根据第二设备选择的通信模式AP-STA和第一设备的身份AP,将自身的身份设置为STA。
步骤611:第二设备根据该连接信息的第二部分信息生成第一认证信息。
连接信息的第一部分信息的内容和第二部分信息的内容可以不同或者部分相同。例如,该连接信息为“12345678”,第一部分信息可以为“1234”,第二部分信息可以为“5678”,或者,第一部分信息可以为“123456”,第二部分信息可以为“345678”等。
具体地,本步骤可以通过如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第一认证信息。
例如,对连接信息“12345678”的第二部分信息“5678”进行SHA-256哈希算法的哈希,得到第二哈希结果为“6BAA0BD18BCC1E5237B70DC18595A7DEFF11CD27120CDC96A678003F8B162941”,根据第二设备采用的认证方式对第二哈希结果进行截取或补充等处理得到该认证方式所需要的位数的第一认证信息。
第二设备采用的认证方式可以包括四步握手认证方式。WPS认证方式或其他认证方式。其中,每种认证方式规定了认证消息的格式,例如,四步握手认证方式规定认证消息为256比特组成的密钥信息,WPS认证方式规定认证消息为8位数字等。
例如,当第二设备采用四步握手认证时,将第二哈希结果包括32个字符,正好为256比特,因此将第二哈希结果作为第一认证信息。当第二设备采用WPS认证时,截取最后8位“8F162941”,并将“F”映射至数字“6”得到“86162941”作为第一认证信息。
第二、第二设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第一认证信息。
例如,当第二设备采用四步握手认证时,对连接信息“12345678”的第二部分信息“5678”转换为二进制“1011000101110”,然后在“1011000101110”左侧添加243bit的“0”得到256bit位的第一认证信息;或在“1011000101110”右侧添加243bit的“1”得到256bit位的第一认证信息;
当第二设备采用WPS认证时,对连接信息“12345678”的第二部分信息“5678”左侧或右侧添加4位“8888”或“0000”等得到8位数字作为第一认证信息。
需要说明的是,当第二部分信息位数满足第二设备采用的认证方式所要求的认证信息位数时,也可以直接将第二部分信息作为第一认证信息。
其中,第二设备除了可以采用上述第一和第二两种方式生成第一认证信息外,还可以采用其他的方式来生成第一认证信息。例如第二设备从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第一认证信息;或者,将该连接信息确定为第一认证信息。
其中,第二设备根据第四字符串生成第一认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第一认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第一认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第二设备从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,第二设备从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第一认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第二认证信息,或者,将该哈希结果确定为第一认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第一认证信息。
具体地,根据第二设备采用的认证方式,确定认证信息的位数;根据确定位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第二设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第一认证信息。
步骤612:第一设备根据该连接消息的第二部分信息生成第二认证信息。
具体地,本步骤可以通过如下第一和第二两种方式来实现,包括:
第一、第一设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第二认证信息。
本实施方式与第二设备生成第一认证信息的第一种方式的过程相同,在此不再详细说明。
第二、第一设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二认证信息。
本实施方式与第二设备生成第一认证信息的第二种方式的过程相同,在此不再详细说明。
其中,第一设备除了可以按上述第一和第二两种方式生成第二认证信息外,还可以采用其他方式来生成第二认证信息。例如,第一设备从该连接信息中截取预设第二位数的字符串作为第三字符串,根据第三字符串生成第二认证信息;或者,将整个连接信息确定为第二认证信息。
其中,第一设备根据第三字符串生成第二认证信息的方式,包括如下几种:
第一、将第三字符串确定为第二认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第三字符串,并将第三字符串作为第二认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第一设备从连接信息中截取的预设第一位数的第二字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第三字符串。例如,预设第一位数为6,所以预设第二位数为2,第一设备从连接信息“12345678”中截取预设第一位数的第二字符串“123456”后得到下下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第三字符串。
第二、将第三字符串与第二预设字符串组成第二认证信息。
例如,假设第三字符串为“1234”,第二预设字符串为“9860”,将第三字符串与第二预设字符串组成的第一认证信息为“12349860”或“98601234”。
第三、对第三字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第一认证信息,或者,将该哈希结果确定为第二认证信息。
第四、根据第三字符串和第一设备采用的认证方式,生成第二认证信息。
步骤613:第一设备验证第二设备的第一认证信息与其第二认证信息是否匹配,如果匹配,则向第二设备发送确认信息,该确认信息用于第二设备确定与第一设备建立无线连接。
当第一设备采用四步骤握手认证方式时,本步骤可以为:第一设备将第二认证信息确定为四步握手认证方式的PMK,根据该PMK并通过该四步握手认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
当第一设备采用WPS认证方式时,本步骤可以为:第一设备将第二认证信息确定为WPS认证方式的PIN,根据该PIN并通过WPS认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
其中,在第一设备验证的过程中,第二设备与第一设备进行验证,以使第一设备确定第二设备的第一认证信息与第一设备的第二认证信息是否匹配。具体实现为:第二设备将第一认证信息作为四步握手认证方式的PMK,根据该PMK并通过四步握手认证方式与第一设备进行认证;或者,将第一认证信息作为WPS认证PIN,根据该PIN并通过WPS认证方式与第一设备进行验证。
其中,第二设备在验证的过程中,当接收到第一设备发送的确认信息后,根据该确认信息确定出与第一设备建立无线连接,然后执行步骤214。
步骤614:第一设备建立与第二设备之间的数据连接,以实现建立与第二设备之间的无线连接。
其中,第二设备建立与第一设备之间的无线连接为加密的无线连接,第二设备和第一设备可以通过该加密的无线连接来传输数据。该无线连接可以为Wi-Fi连接或蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的Probe request消息,第一设备根据该连接信息生成第二标识,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接。其中第二设备通过用户手工输入或其他方式获得由第一设备生成的连接信息,并根据连接信息生成第一标识,通过第一标识确定需要连接的设备,从而避免用户手工选择需要连接的设备,从而提高了建立无线连接的效率,以提高数据传输的效率。第一设备与第二设备还通过第一认证信息和第二认证信息进行相互之间的认证,从而使得建立的无线连接为更加安全,提高了数据传输的安全性。
本发明实施例提供了一种建立无线连接的方法。在本发明实施例中,第一设备生成连接信息,向第二设备提供该连接信息;第二设备根据该连接信息生成第一标识,向第一设备发送Test request消息,该Test request消息携带第一标识和第二设备支持的通信模式;第一设备确定自身存储的第二标识和第一标识是否匹配,如果第一标识与第二标识匹配,选择一种通信模式,根据选择的通信模式设置自身的身份,然后与第二设备建立无线连接。参见图7,该方法包括:
步骤701:第一设备根据第二标识生成连接信息的第一部分信息。
其中,在执行本步骤之前,技术人员可以在第一设备中设置第二标识或者由第一设备生成第二标识并存储生成的第二标识。
第一设备可以按如下方式生成第二标识,包括:第一设备生成连接信息,向连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第二标识。可以对第一构造信息进行反转置换或移位处理得到第二标识。
假设,生成的连接信息为“12345678”,该连接信息的第一部分信息为“1234”,第一预设信息为“hua”,则第一设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
本步骤可以为,第一设备对第二标识进行截取得到部分信息,将截取的该部分信息确定为连接信息的第一部分信息;或者,对第二标识进行第一运算处理得到连接信息的第一部分信息,第一运算处理为生成第二标识的逆运算。
其中,可以按如下(1)和(2)两步对第二标识进行第一运算处理得到连接信息的第一部分信息,包括:
(1):根据第二标识生成第一构造信息。
可以对第二标识进行正转置换处理得到第一构造信息或对第二标识进行反向移位得到第一构造信息。例如,假设第一标识为“auh4321”,对第一标识“auh4321”进行正转置换处理得到第一构造信息为“1234hua”;或者,假设第一标识为“ua1234h”,对第一标识“ua1234h”进行反向移位两位得到第一构造信息“1234hua”;或者,假设第一标识为“hua1234”,对第一标识“hua1234”进行反向移位三位得到第一构造信息为“1234hua”。
(2):从第一构造信息中去除第一预设信息得到该连接信息的第一部分信息。
例如,第一预设信息为“hua”,从第一构造信息“1234hua”中去除第一预设信息“hua”得到该连接信息的第一部分信息为“1234”。
步骤702:第一设备根据第二认证信息生成该连接信息的第二部分信息。
其中,在执行本步骤之前,技术人员可以在第一设备中设置第二认证信息或者由第一设备生成第二认证信息并存储生成的第二认证信息。
第一设备可以按如下方式生成第二认证信息,包括:第一设备生成连接信息,向连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第二认证信息。可以对第二构造信息进行反转置换或移位处理得到第二认证信息。
假设,生成的连接信息为“12345678”,该连接信息的第一部分信息为“5678”,第二预设信息为“wei”,则第一设备向连接信息的第二部分信息“5678”添加第二预设信息“wei”得到的第二构造信息可以为“5678wei”、“wei5678”或“56wei78”等。假设,构造的第二构造信息为“5678wei”,对第二构造信息进行反转置换处理得到的第二认证信息为“iew5678”;或,事先设置移位的位数,该位数可以为二或三等,然后对第二构造信息进行两位移位处理或三位移位处理等,如当对第二构造信息进行两位移位处理得到的第二认证信息为“ei5678w”,当对第二构造信息进行三位移位处理得到的第二认证信息为“wei5678”。
本步骤可以为,第一设备对第二认证信息进行截取得到部分信息,将截取的该部分信息确定为连接信息的第二部分信息;或者,对第二认证信息进行第二运算处理得到连接信息的第二部分信息,第二运算处理为生成第二认证信息的逆运算。
其中,可以按如下(1)和(2)两步对第二认证信息进行第二运算处理得到连接信息的第二部分信息,包括:
(1):根据第二认证信息生成第二构造信息。
可以对第二认证信息进行正转置换处理得到第二构造信息或对第二认证信息进行反向移位得到第二构造信息。例如,假设第二认证信息为“iew4321”,对第二认证信息“iew4321”进行正转置换处理得到第二构造信息为“5678wei”;或者,假设第二认证信息为“ei5678w”,对第二认证信息“ei5678w”进行反向移位两位得到第二构造信息“5678wei”;或者,假设第二认证信息为“wei5678”,对第二认证信息“wei5678”进行反向移位三位得到第二构造信息为“5678wei”。
(2):从第二构造信息中去除第二预设信息得到该连接信息的第二部分信息。
例如,第二预设信息为“wei”,从第二构造信息“5678wei”中去除第二预设信息“wei”得到该连接信息的第二部分信息为“5678”。
步骤703:第一设备根据第一部分信息和第二部分信息构造连接信息。
将前述第一部分信息与第二部分信息进行拼接得到连接信息,如将第一部分信息“1234”与第二部分信息“5678”进行拼接得到“12345678”作为连接信息。
其中,在本发明实施例中,第一设备可以在其对应的第一用户的触发下按上述701至703的步骤生成连接信息。具体有如下两种触发方式,包括:
第一、第一设备检测到系统应用的应用界面中的连接接口被第一用户点击触发的连接命令时,执行上述步骤301至303。
其中,在具有传输数据需求的系统应用的应用界面中设置一连接接口,当第一用户需要传输数据时,可以点击该连接接口,以使该连接接口触发连接命令。系统应用可以为具有图片分享功能的图片拍照应用或具有视频分享功能的视频拍摄应用。
例如,参见图2-2所示的系统应用的应用界面,该系统应用是一个图片拍照应用,图片拍照应用拍摄一张图片并显示在应用界面中,在应用界面的上方有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,执行上述步骤301至303生成连接信息,假设生成的连接信息为“12345678”,如图2-3所示。
第二、第一设备检测到第三方应用的应用界面中的连接接口被第一用户点击触发的连接命令时,执行上述步骤301至303生成连接信息,第三方应用为用于建立无线连接的应用。
其中,在第一设备上安装一个用于建立无线连接的第三方应用,第三方应用的应用界面中包含连接接口。当第一用户需要传输数据时,可以点击该连接接口,以使连接接口触发连接命令。
例如,参见图2-4所示的第三方应用的应用界面,在该应用界面中有一连接接口,第一用户点击该连接接口,该连接接口触发连接命令。第一设备当检测出该连接接口触发的连接命令时,执行上述步骤301至303生成连接信息,假设生成的连接信息为“12345678”,如图2-5。
步骤704:第一设备向第二设备提供该连接信息。
具体地,本步骤可以包括如下第一至第四四种实现方式,分别为:
第一、第一设备显示该连接信息。
其中,第二设备对应的第二用户可以查看第一设备显示的该连接信息,并将该连接信息输入给第二设备。
第二、第一设备通过音箱播放该连接信息。
其中,第二用户可以收听第一设备播放的该连接信息,并将该连接信息输入给第二设备。
第三、第一设备根据该连接信息生成包含该连接信息的图形码,显示该图形码。
该图形码可以为一维码或二维码,第一设备可以使用用于生成图形码的编码算法对该连接信息进行编码,以生成包含该连接信息的图形码。
其中,第二设备具有扫描模块,该扫描模块可以为摄像头或扫描仪等。第一设备显示该图形码之后,第二设备可以通过其包括的扫描模块扫描第一设备显示的该图形码并获得该连接信息。
第四、第一设备与第二设备建立短距离通信连接,通过该短距离通信连接向第二设备发送该连接信息。
其中,第一设备可以通过带外通信方式与第二设备建立短距离通信连接。带外通信方式可以为声波、红外、NFC或HotKnot等通信方式。
其中,在本发明实施例中,第一设备可以为一终端设备或AP。当第一设备为终端设备时,在执行本步骤之前,第一设备将自身的身份设置为AP,然后再执行本步骤。第一设备成为AP后,也可以主动广播Beacon消息,向周围的STA告知自身的存在。接收该Beacon消息的设备根据该Beacon消息确定第一设备为一AP并主动请求与第一设备建立连接,然后第一设备再执行本步骤。
步骤705:第二设备获取第一设备提供的该连接信息。
具体地,第二设备可以通过如下第一、第二和第三三种方式来获取该连接信息。
第一、第二设备接收第二用户输入的该连接信息。
其中,第一设备生成连接信息后显示该连接信息或者通过音箱播放该连接信息。第二用户可以查看或收听该连接信息,然后向第二设备输入该连接信息。
其中,第二设备可以通过如下(1)和(2)两种方式获取第二用户输入的连接信息,包括:
(1)、第二设备从系统应用的应用界面中获取第二用户输入的连接信息。
系统应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第一设备显示连接信息“12345678”或通过音箱播放连接信息“12345678”,第二用户查看连接信息“12345678”或收听连接信息“12345678”。然后,第二用户在如图2-6所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-7所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
(2)、第二设备从第三方应用的应用界面中获取第二用户输入的连接信息。
第三方应用的应用界面中包含接收接口,第二用户点击该接收接口时,该接收接口触发接收命令。第二设备当检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,第二用户可以向该输入框输入查看到的连接信息或收听到的连接信息。
例如,第二用户在如图2-4所示的系统应用的应用界面中点击接收接口,该接收接口触发接收命令,第二设备检测出该接收接口触发的接收命令时,在该应用界面中显示输入框,如图2-8所示,第二用户在该输入框输入该连接信息“12345678”。然后第二设备从该输入框中读取第二用户输入的连接信息“12345678”。
第二、第二设备扫描第一设备显示的图形码,获取该图形码中包含的该连接信息。
其中,第二用户可以开启第二设备的扫描模块,然后第二设备通过扫描模块扫描第一设备显示的图形码,对扫描的图形码进行解析,解析出扫描的图形码中包含的连接信息。
第三、第二设备与第一设备建立短距离通信连接,通过该短距离通信连接接收第一设备发送的该连接信息。
其中,在本实施例中,第一设备生成一个连接信息,用户可以将该连接信息输入给第二设备,或通过第二设备扫描第一设备上包含该连接信息的图形码,或者将第二设备与第一设备靠近,以使第二设备短距离通信方式获得该连接信息,相比用户从大量的设备搜索结果中去找出第二设备的标识,本步骤可以节省第一设备进行设备搜索的时间以及用户寻找第二设备的标识的时间,从而可以缩短建立无线连接的时间。
步骤706:第二设备根据该连接信息包括的第一部分信息计算生成第一标识。
具体地,本步骤可以包括如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据第一哈希结果生成第一标识。
可以从第一哈希结果中截取部分信息作为第一标识,或,将截取的部分信息添加预设信息组成第一标识,或,将第一哈希结果作为第一标识等。
第二、第二设备向该连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据第一构造信息生成第一标识。
其中,可以对第一构造信息进行反转置换处理或移位处理来生成第一标识。例如,假设连接信息“12345678”的第一部分信息为“1234”,第一预设信息为“hua”,则第二设备向连接信息的第一部分信息“1234”添加第一预设信息“hua”得到的第一构造信息可以为“1234hua”、“hua1234”或“12hua34”等。
假设,构造的第一构造信息为“1234hua”,对第一构造信息进行反转置换处理得到的第一标识为“auh4321”;或,事先设置移位的位数,该位数可以为二或三等,然后对第一构造信息进行两位移位处理或三位移位处理等,如当对第一构造信息进行两位移位处理得到的第一标识为“ua1234h”,当对第一构造信息进行三位移位处理得到的第一标识为“hua1234”。
第二设备生成第一标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的一串字符串作为第一字符串,根据第一字符串生成第一标识;或者,对整个连接信息进行哈希运算得到第一标识。
其中,第二设备根据第一字符串生成第一标识的实现方式,包括如下(1)至(4)四种:
(1)、将第一字符串确定为第一标识。
例如,预设第一位数为6,第二设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第一字符串,将第一字符串“123456”或“345678”确定为第一标识。
(2)、将第一字符串与第一预设字符串组成第一标识。
例如,第一字符串为“123456”,第一预设字符串为“Huawei”,将第一字符串与第一预设字符串组成的第一标识为“123456Huawei”或“Huawei123456”。
(3)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第一标识。
(4)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与第一预设字符串组成第一标识。
步骤707:第二设备发送Test request消息,该Test request消息的动作帧携带第一标识和第二设备支持的通信模式。
其中,第二设备至少支持一种通信模式,通信模式包括AP-STA,GO-Client和P2P通信模式。Test request消息的动作帧包括标识字段和通信模式字段,标识字段用于携带第一标识,通信模式字段用于携带第二设备支持的通信模式。
步骤708:第一设备接收Test request消息,该Test request消息的动作帧携带第一标识和第二设备支持的通信模式。
例如,第二设备发送Test request消息,该Test request消息的动作帧携带第一标识“123456”和第二设备支持的通信模式包括AP-STA和GO-Client,第一设备接收该Testrequest消息。
步骤709:第一设备确定第一标识与第二标识是否匹配,如果匹配执行步骤710。
其中,第一标识与第二标识匹配是指第一标识与第二标识相等或者第一标识与第二标识之间存在对应关系。
其中,可以事先在第一设备设置标识关系列表,该标识关系列表用于存储具有对应关系的任意两标识。
相应地,第一设备可以通过如下方式来确定第一标识与第二标识是否存在对应关系,包括:第一设备可以根据第一标识,从该标识关系列表中查找出对应的标识,如果查找出的标识与第二标识相等,则确定出第一标识与第二标识之间存在对应关系,否则,确定第一标识与第二标识之间不存在对应关系。
步骤710:第一设备从第二设备支持的通信模式中选择一种通信模式,根据选择的通信模式设置自身的身份,向第二设备发送Test response消息,该Test response消息携带选择的通信模式和第一设备的身份。
具体地,第一设备将自身支持的通信模式与第二设备支持的通信模式做交集,从交集的结果中选择一种通信模式,然后根据选择的通信模式设置自身的身份,例如,如果选择的是AP-STA,则可以将自身的身份设置为AP,如果选择的是GO-Client,则可以将自身的身份设置为GO,如果选择的是P2P通信模式,则可以将自身的身份设置为AP,然后向第二设备发送Test response消息,该Test response消息携带选择的通信模式和第一设备的身份。
其中,该Test response消息用于第二设备确定与第一设备建立无线连接。第二设备发送Test request消息,以请求与一P2P设备建立无线连接,该P2P设备的第一标识携带在该Test request消息的动作帧中。所以在本步骤中,当第一设备判断出第一标识与第二标识匹配,则第一设备可以获知第二设备请求与自身建立无线连接,从而确定需要与第二设备建立无线连接,向第二设备发送Test response消息,以告知第二设备同意与其建立无线连接。
例如,假设第二设备发送的Test request消息的动作帧携带第一标识“123456”。第一设备接收该Test request消息,生成的第二标识为“123456”,其中,第一标识“123456”和第二标识“123456”相同,所以第一标识与第二标识匹配,确定需要与第二设备建立无线连接,获取自身支持的通信模式包括AP-STA、GO-Client和P2P通信模式,将自身支持的通信模式与第二设备支持的通信模式AP-STA和GO-Client取交集得到的交集结果中包括AP-STA和GO-Client,从交集结果中随机选择一种通信模式,假设为AP-STA,然后将自身的身份设置为AP,向第二设备发送Test response消息,该Test response消息携带选择的通信模式AP-STA和第一设备的身份为AP。
步骤711:第二设备接收Test response消息,根据该Test response消息设置自身的身份以及确定与第一设备建立无线连接,执行步骤712。
其中,第二设备根据该Test response消息携带第一设备选择的通信模式和第一设备的身份设置自身的身份。例如,第二设备接收Test response消息,该Test response消息携带第二设备选择的通信模式AP-STA和第一设备的身份AP,根据第二设备选择的通信模式AP-STA和第一设备的身份AP,将自身的身份设置为STA。
步骤712:第二设备根据该连接信息的第二部分信息生成第一认证信息。
连接信息的第一部分信息的内容和第二部分信息的内容可以不同或者部分相同。例如,该连接信息为“12345678”,第一部分信息可以为“1234”,第二部分信息可以为“5678”,或者,第一部分信息可以为“123456”,第二部分信息可以为“345678”等。
具体地,本步骤可以通过如下第一和第二两种实现方式,包括:
第一、第二设备对该连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据第二哈希结果生成第二认证信息。
第二、第二设备向该连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据第二构造信息生成第一认证信息。
其中,第二设备除了可以采用上述第一和第二两种方式生成第一认证信息外,还可以采用其他的方式来生成第一认证信息。例如第二设备从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第一认证信息;或者,将该连接信息确定为第一认证信息。
其中,第二设备根据第四字符串生成第一认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第一认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第一认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第二设备从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,第二设备从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第一认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第二认证信息,或者,将该哈希结果确定为第一认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第一认证信息。
具体地,根据第二设备采用的认证方式,确定认证信息的位数;根据确定位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第二设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到该哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第一认证信息。
步骤713:第一设备验证第二设备的第一认证信息与其第二认证信息是否匹配,如果匹配,则向第二设备发送确认信息,该确认信息用于第二设备确定与第一设备建立无线连接。
其中,第一设备采用的认证方式可以为IEEE802.11中的四步握手认证方式、WFA规定的WPS认证方式或其他认证方式。每种认证方式规定了认证消息的格式,例如,四步握手认证方式规定认证消息为256比特组成的密钥信息,WPS认证方式规定认证消息为8位数字等。
当采用四步骤握手认证方式时,本步骤可以为:第一设备将第二认证信息确定为四步握手认证方式的PMK,根据该PMK并通过该四步握手认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
当采用WPS认证方式时,本步骤可以为:第一设备将第二认证信息确定为WPS认证方式的PIN,根据该PIN并通过WPS认证方式验证第二设备的第一认证信息与其第二认证信息是否匹配。
其中,在第一设备验证的过程中,第二设备与第一设备进行验证,以使第一设备确定第二设备的第一认证信息与第一设备的第二认证信息是否匹配。具体实现为:第二设备将第一认证信息作为四步握手认证方式的PMK,根据该PMK并通过四步握手认证方式与第一设备进行认证;或者,将第一认证信息作为WPS认证PIN,根据该PIN并通过WPS认证方式与第一设备进行验证。
其中,第二设备在验证的过程中,当接收到第一设备发送的确认信息后,根据该确认信息确定出与第一设备建立无线连接,然后执行步骤314。
步骤714:第一设备建立与第二设备之间的数据连接,以实现建立与第二设备之间的无线连接。
其中,第二设备建立与第一设备之间的无线连接为加密的无线连接,第二设备和第一设备可以通过该加密的无线连接来传输数据。该无线连接可以为Wi-Fi连接或蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的Probe request消息,第一设备确定自身存储的第二标识与第二设备的第一标识是否匹配,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接。其中第二设备通过用户手工输入或其他方式获得由第一设备生成的连接信息,并根据连接信息生成第一标识,通过第一标识确定需要连接的设备,从而避免用户手工选择需要连接的设备,从而提高了建立无线连接的效率,以提高数据传输的效率。第一设备与第二设备还通过第一认证信息和第二认证信息进行相互之间的认证,从而使得建立的无线连接为更加安全,提高了数据传输的安全性。
实施例8
参见图8,本发明实施例提供了一种用于建立无线连接的设备,该设备为第一设备,用于与第二设备建立无线连接,包括:
生成模块801,用于接收第一用户的操作指令后,根据所述操作指令生成连接信息,所述第一用户为所述第一设备对应的用户;
提供模块802,用于向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,所述第一部分信息是所述连接信息的部分或全部;
接收模块803,用于接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带第一标识;
确定模块804,用于确定所述第一标识与所述第一设备的第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
发送模块805,用于如果确定模块804确定出所述第一标识与所述第一设备的第二标识匹配,向所述第二设备发送第二消息,其中所述第二消息为所述第一消息的响应消息;
建立模块806,用于建立与所述第二设备之间的无线连接。
进一步地,所述第一设备还包括:
第一计算模块,用于对所述连接信息的第一部分信息采用预设算法进行计算生成所述第一设备的第二标识。
优选的,所述第一计算模块包括:
第一哈希单元,用于对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一设备的第二标识;或者,
第一构造单元,用于向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一设备的第二标识。
进一步地,第一计算模块除了通过上述两种方式计算第二标识外,还可以采用其他方式计算第二标识。例如,第一计算模块可以从该连接信息中截取预设第一位数的字符串作为第二字符串,根据第二字符串生成第二标识;或者,对整个该连接信息进行哈希运算得到第二标识。
优选的,第一计算模块根据第二字符串生成第二标识的实现方式,包括如下(1)至(4)四种:
(1)、将第二字符串确定为第二标识。
例如,预设第一位数为6,该连接信息为“12345678”,第一设备从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第二字符串,将第二字符串“123456”或“345678”确定为第二标识。
(2)、将第二字符串与第一预设字符串组成第二标识。
例如,假设,第二字符串为“123456”,第一预设字符串为“Huawei”,将第二字符串与第一预设字符串组成的第二标识为“123456Huawei”或“Huawei123456”。
(3)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第二标识。
(4)、对第二字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与预设字符串组成第二标识。
优选的,所述确定模块804,用于如果所述第一标识与所述第一设备的第二标识相等或所述第一标识与所述第一设备的第二标识之间存在对应关系,则确定出所述第一标识与所述第一设备的第二标识匹配。
其中,可以事先在第一设备设置标识关系列表,该标识关系列表用于存储具有对应关系的任意两标识。
优选的,确定模块可以通过如下方式来确定第一标识与第二标识是否存在对应关系,包括:确定模块可以根据第一标识,从该标识关系列表中查找出对应的标识,如果查找出的标识与第二标识相等,则确定出第一标识与第二标识之间存在对应关系,否则,确定第一标识与第二标识之间不存在对应关系。
优选的,所述提供模块802包括:
显示播放单元,用于显示或播放所述连接信息,使用户向所述第二设备输入所述连接信息;或者,
显示单元,用于根据所述连接信息生成包含所述连接信息的图形码,显示所述图形码,使所述第二设备扫描所述的图形码并获取所述连接信息;或者,
发送单元,用于与第二设备建立短距离通信连接,通过所述短距离通信连接发送所述连接信息给所述第二设备。
其中,提供模块802中可以包含音箱,通过该音箱播放该连接信息。
其中,所述第一消息为探测请求Probe request消息,所述Probe request消息的SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为Test request消息,所述Test request消息的Action Frame携带所述第一标识。
进一步地,所述第一设备还包括:
设置模块,用于将自身的身份设置为接入点AP,然后执行接收所述第二设备发送的Probe request消息的操作。
优选的,所述建立模块806包括:
验证单元,用于验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,所述第一认证信息是所述第二设备根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,所述第二认证信息与对所述第二部分信息进行计算生成的结果相等或相对应;
建立单元,用于如果验证出所述第一认证信息与所述第二认证信息匹配,则向所述第二设备发送确认信息,所述确认信息用于所述第二设备确定将与所述第一设备建立无线连接,建立与所述第二设备之间的无线连接。
优选的,所述验证单元包括:
第一验证子单元,用于将所述第一设备的第二认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配;或者,
第二验证子单元,用于将所述第一设备的第二认证信息确定为WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配。
进一步地,所述第一设备还包括:
第二计算模块,用于根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息。
优选的,所述第二计算模块包括:
第二哈希单元,用于对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一设备的第二认证信息;或者,
第二构造单元,用于向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一设备的第二认证信息。
第二计算模块除了采用上述第一和第二两种方式生成第二认证信息外,还可以采用其他的方式来生成第二认证信息。例如第二计算模块从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第二认证信息;或者,将该连接信息确定为第二认证信息。
其中,第二计算模块根据第四字符串生成第二认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第二认证信息。
例如,假设预设第二位数为4,第二计算模块从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第二认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,第二计算模块从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,第二计算模块从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第二计算模块可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第二认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第二认证信息,或者,将该哈希结果确定为第二认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第二认证信息。
具体地,根据第一设备采用的认证方式,确定认证信息的位数;根据确定的位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第一设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第一设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第一设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第二认证信息。
进一步地,所述第一设备还包括:
第一生成模块,用于根据所述第一设备的第二标识生成所述连接信息的第一部分信息;
第二生成模块,用于根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息;
构造模块,用于根据所述第一部分信息和所述第二部分信息构造所述连接信息。
优选的,所述第一生成模块包括:
第一截取单元,用于对所述第一设备的第二标识进行截取得到部分信息,将所述部分信息确定为所述连接信息的第一部分信息;或者,
第一运算单元,用于对所述第一设备的第二标识进行第一运算处理得到所述连接信息的第一部分信息,所述第一运算处理为生成所述第二标识的逆运算。
优选的,所述第二生成模块包括:
第二载取单元,用于对所述第一设备的第二认证信息进行截取得到部分信息,将所述部分信息确定为所述连接信息的第二部分信息;或者,
第二运算单元,用于对所述第一设备的第二认证信息进行第二运算处理得到所述连接信息的第二部分信息,所述第二运算处理为生成所述第一认证信息的逆运算。
优选的,所述建立模块806,用于与所述第二设备进行开放认证,并在认证通过后建立与所述第二设备之间的数据连接,以实现建立与所述第二设备之间的无线连接。
其中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的第一消息,第一设备根据该连接信息生成第二标识,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接,用户不需要在大量的搜索结果中选择设备,提高建立无线连接的效率,以提高数据传输的效率。
实施例9
参见图9,本发明实施例提供了一种用于建立无线连接的设备,该设备为第二设备,用于与第一设备建立无线连接,所述第二设备包括:
获取模块901,用于获取所述第二设备附近的第一设备提供的连接信息,所述连接信息是所述第一设备接收第一用户的操作指令后根据所述操作指令生成的,所述第一用户为所述第一设备对应的用户;
计算模块902,用于根据所述连接信息的第一部分信息计算生成第一标识,所述第一部分信息是所述连接信息的部分或全部;
发送模块903,用于向所述第一设备发送第一消息,所述第一消息携带所述第一标识,以使得所述第一设备确定所述第一标识与第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
接收模块904,用于接收所述第一设备在所述第一标识与所述第二标识匹配时发送的第二消息,所述第二消息为所述第一消息的响应消息;
建立模块905,用于建立与所述第一设备之间的无线连接。
优选的,所述计算模块902包括:
第一哈希单元,用于对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一标识;或者,
第一添加单元,用于向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一标识。
计算模块902生成第一标识的方式除了以上第一和第二两种外,还可以采用其他方式,例如,可以从该连接信息中截取预设第一位数的一串字符串作为第一字符串,根据第一字符串生成第一标识;或者,对整个连接信息进行哈希运算得到第一标识。
其中,计算模块902根据第一字符串生成第一标识的实现方式,包括如下(1)至(4)四种:
(1)、将第一字符串确定为第一标识。
例如,预设第一位数为6,计算模块902从连接信息“12345678”中截取前6位的字符串“123456”或后6位字符串“345678”作为第一字符串,将第一字符串“123456”或“345678”确定为第一标识。
(2)、将第一字符串与第一预设字符串组成第一标识。
例如,第一字符串为“123456”,第一预设字符串为“Huawei”,将第一字符串与第一预设字符串组成的第一标识为“123456Huawei”或“Huawei123456”。
(3)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串作为第一标识。
(4)、对第一字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第一位数的字符串,将截取的字符串与第一预设字符串组成第一标识。
优选的,所述建立模块904包括:
验证单元,用于与所述第一设备进行验证,以使所述第一设备确定所述第二设备的第一认证信息与所述第一设备的第二认证信息是否匹配,所述第一认证信息是根据所述连接信息的第二部分信息计算生成的,所述第二认证信息与对所述连接信息的第二部分信息计算生成的结果相等或相对应;
第一接收单元,用于接收所述第一设备验证出所述第一认证信息与所述第二认证信息匹配时发送的确认信息;
建立单元,用于根据所述确认信息建立与所述第一设备之间的无线连接。
优选的,所述验证单元包括:
第一验证子单元,用于将所述第一认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式与所述第一设备进行验证;或者,
第二验证子单元,用于将所述第一认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式与所述第一设备进行验证。
进一步地,所述第二设备还包括:
生成模块,用于根据所述连接信息的第二部分信息计算生成所述第一认证信息。
优选的,所述生成模块包括:
第二哈希单元,用于对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一认证信息;或者,
第二添加单元,用于向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一认证信息。
生成模块除了可以采用上述第一和第二两种方式生成第一认证信息外,还可以采用其他的方式来生成第一认证信息。例如生成模块从该连接信息中截取预设第二位数的字符串作为第四字符串,根据第四字符串生成第一认证信息;或者,将该连接信息确定为第一认证信息。
其中,生成模块根据第四字符串生成第一认证信息的实现方式,包括如下几种:
第一、将第四字符串确定为第一认证信息。
例如,假设预设第二位数为4,第一设备从连接信息“12345678”中截取前4位字符串“1234”或后4位字符串“5678”作为第四字符串,并将第四字符串作为第一认证信息。
其中,在本发明实施例中,预设第一位数和第二位数之和可以与连接信息包括的字符位数相等。相应地,生成模块从连接信息中截取的预设第一位数的第一字符串后得到剩下的字符串,该剩下的字符串的位数为预设第二位数,可以将剩下预设第二位数的字符串作为第四字符串。例如,预设第一位数为6,所以预设第二位数为2,生成模块从连接信息“12345678”中截取预设第一位数的第一字符串“123456”后得到剩下预设第二位数的字符串“78”,第一设备可以将剩下预设第二位数的字符串“78”作为第四字符串。
第二、将第四字符串与第二预设字符串组成第一认证信息。
例如,假设第四字符串为“1234”,第二预设字符串为“9860”,将第四字符串与第二预设字符串组成的第二认证信息为“12349860”或“98601234”。
第三、对第四字符串进行哈希运算得到哈希结果,从该哈希结果中截取预设第二位数的字符串作为第一认证信息,或者,将该哈希结果确定为第一认证信息。
第四、根据第四字符串和第二设备采用的认证方式,生成第一认证信息。
具体地,根据第二设备采用的认证方式,确定认证信息的位数;根据确定的位数对第四字符串进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8位数字,对第四字符串“1234”填充信息“9988”得到第一认证信息为“12349988”,再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而第四字符串“1234”包括32比特,因此对第四字符串填充224比特,得到256比特的第一认证信息。或者,
根据第二设备采用的认证方式,确定认证信息的位数;对第四字符串进行哈希运算得到哈希结果,根据确定位数对该哈希结果进行填充信息或截取信息得到第二认证信息;例如,第四字符串为“1234”,对第四字符串“1234”进行哈希运算得到哈希结果为“98765432111”,假设第二设备采用的WPS认证方式,根据WPS认证方式,确定认证信息的位数为8数字,从该哈希结果中截取8位数字“98765432”作为第一认证信息;再如,假设,第二设备采用的四步握手认证方式,根据四步握手认证方式,确定认证信息的位数为256比特,而该哈希结果为“98765432111”包括88比特,因此对该哈希结果填充168比特,得到256比特的第一认证信息。
优选的,所述获取模块901包括:
第二接收单元,用于接收用户输入的所述第一设备的连接信息;或者,
扫描单元,用于扫描所述第一设备显示图形码,获取所述图形码中包含的所述第一设备的连接信息;或者,
第三接收单元,用于与所述第一设备建立短距离通信连接,通过所述短距离通信连接接收所述第一设备发送的连接信息。
其中,所述第一消息为探测请求Probe request消息,所述Probe request消息的标识服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
优选的,所述建立模块905,用于与所述第一设备进行开放认证,并在认证通过后建立与所述第一设备之间的无线连接。
其中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
在本发明实施例中,第二设备获取第一设备提供的连接信息,根据该连接信息生成第一标识,向第一设备发送携带第一标识的第一消息,以使第一设备根据确定第一标号与第一设备的第二标识是否匹配,如果匹配,则第二设备建立与第一设备之间的无线连接,用户不需要在大量的搜索结果中选择设备,提高建立无线连接的效率,以提高数据传输的效率。
实施例10
参见图10,本发明实施例提供了一种设备,该设备为第一设备,用于与第二设备建立无线连接,包括:接收器1001、处理器1002和发送器1003;
所述处理器1002,用于接收第一用户的操作指令后,根据所述操作指令生成连接信息,向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,所述第一部分信息是所述连接信息的部分或全部;
所述接收器1001,用于接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带第一标识;
所述处理器1002,还用于确定所述接收器接收的第一标识与所述第一设备的第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
所述发送器1003,用于如果所述处理器确定的结果为匹配,向所述第二设备发送第二消息,其中所述第二消息为所述第一消息的响应消息;
所述处理器1001,还用于建立与所述第二设备之间的无线连接。
进一步地,第一设备还包括触摸显示屏,第一设备接收用户在所述触摸显示屏的操作所对应的操作指令,根据所述操作指令生成连接信息。
进一步地,所述处理器1002,还用于对所述连接信息的第一部分信息采用预设算法进行计算生成所述第一设备的第二标识。
优选的,所述处理器1002根据所述连接信息的第一部分信息计算生成所述第一设备的第二标识的操作,包括:
对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一设备的第二标识;或者,
向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一设备的第二标识。
优选的,所述处理器1002确定所述接收器接收的第一标识与所述第一设备的第二标识是否匹配的操作,包括:
如果所述第一标识与所述第一设备的第二标识相等或所述第一标识与所述第一设备的第二标识之间存在对应关系,则确定出所述第一标识与所述第一设备的第二标识匹配。
优选的,所述处理器1002向第二设备提供所述连接信息的操作,包括:
显示或播放所述连接信息,使用户向所述第二设备输入所述连接信息;或者,
根据所述连接信息生成包含所述连接信息的图形码,显示所述图形码,使所述第二设备扫描所述的图形码并获取所述连接信息;或者,
与第二设备建立短距离通信连接,通过所述短距离通信连接发送所述连接信息给所述第二设备。
其中,所述第一消息为探测请求Probe request消息,所述Probe request消息的服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
进一步地,所述处理器1002,还用于设置模块,用于将自身的身份设置为接入点AP,然后执行接收所述第二设备发送的Probe request消息的操作。
优选的,所述处理器1002建立与所述第二设备之间的无线连接的操作,包括:
验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,所述第一认证信息是所述第二设备根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,所述第二认证信息与对所述第二部分信息进行计算生成的结果相等或相对应;
如果验证出所述第一认证信息与所述第二认证信息匹配,则向所述第二设备发送确认信息,所述确认信息用于所述第二设备确定将与所述第一设备建立无线连接,建立与所述第二设备之间的无线连接。
优选的,所述处理器1002验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配的操作,包括:
将所述第一设备的第二认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配;或者,
将所述第一设备的第二认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配。
进一步地,所述处理器1002,还用于根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息。
优选的,所述处理器1002根据所述连接信息的第二部分信息计算生成所述第一设备的第二认证信息的操作,包括:
对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一设备的第二认证信息;或者,
向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一设备的第二认证信息。
进一步地,所述处理器1002,还用于根据所述第一设备的第二标识生成所述连接信息的第一部分信息;根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息;根据所述第一部分信息和所述第二部分信息构造所述连接信息。
优选的,所述处理器1002根据所述第一设备的第二标识生成所述连接信息的第一部分信息的操作,包括:
对所述第一设备的第二标识进行截取得到部分信息,将所述部分信息确定为所述连接信息的第一部分信息;或者,
对所述第一设备的第二标识进行第一运算处理得到所述连接信息的第一部分信息,所述第一运算处理为生成所述第二标识的逆运算。
优选的,所述处理器1002根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息的操作,包括:
对所述第一设备的第二认证信息进行截取得到部分信息,将所述部分信息确定为所述连接信息的第二部分信息;或者,
第二运算单元,用于对所述第一设备的第二认证信息进行第二运算处理得到所述连接信息的第二部分信息,所述第二运算处理为生成所述第一认证信息的逆运算。
优选的,所述处理器1002建立与所述第二设备之间的无线连接的操作,包括:
与所述第二设备进行开放认证,并在认证通过后建立与所述第二设备之间的无线连接。
其中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
在本发明实施例中,第一设备生成连接信息并提供给第二设备,第二设备根据该连接信息生成第一标识,向第一设备发送携带第一标识的第一消息,第一设备根据该连接信息生成第二标识,如果第一标号与第二标识匹配,则建立与第二设备之间的无线连接,用户不需要在大量的搜索结果中选择设备,提高建立无线连接的效率,以提高数据传输的效率。
实施例十一
参见图11,本发明实施例提供了一种设备,该设备为第二设备,用于与第一设备建立无线连接,包括:处理器1101、发送器1102和接收器1103;
所述处理器1101,用于获取所述第二设备附近的第一设备提供的连接信息,所述连接信息是所述第一设备接收第一用户的操作指令后根据所述操作指令生成的,所述第一用户为所述第一设备对应的用户生成的,根据所述连接信息的第一部分信息计算生成第一标识,所述第一部分信息是所述连接信息的部分或全部;
所述发送器1102,用于向所述第一设备发送第一消息,所述第一消息携带所述处理器生成的所述第一标识,以使得所述第一设备确定所述第一标识与第二标识是否匹配,所述第二标识与对所述第一部分信息进行计算生成的结果相等或相对应;
所述接收器1103,用于接收所述第一设备在所述第一标识与所述第二标识匹配时发送的第二消息,所述第二消息为所述第一消息的响应消息;
所述处理器1101,还用于建立与所述第一设备之间的无线连接。
优选的,所述处理器1101根据所述连接信息的第一部分信息计算生成第一标识的操作,包括:
对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一标识;或者,
向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一标识。
优选的,所述处理器1101建立与所述第一设备之间的无线连接的操作,包括:
与所述第一设备进行验证,以使所述第一设备确定所述第二设备的第一认证信息与所述第一设备的第二认证信息是否匹配,所述第一认证信息是根据所述连接信息的第二部分信息计算生成的,所述第二认证信息与对所述连接信息的第二部分信息计算生成的结果相等或相对应;
接收所述第一设备验证出所述第一认证信息与所述第二认证信息匹配时发送的确认信息;
根据所述确认信息建立与所述第一设备之间的无线连接。
优选的,所述处理器1101与所述第一设备进行验证的操作,包括:
将所述第一认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式与所述第一设备进行验证;或者,
将所述第一认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式与所述第一设备进行验证。
进一步地,所述处理器1101,还用于根据所述连接信息的第二部分信息计算生成所述第一认证信息。
优选的,所述处理器1101根据所述连接信息的第二部分信息计算生成所述第一认证信息的操作,包括:
对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一认证信息;或者,
向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一认证信息。
优选的,所述处理器1101获取所述第一设备提供的连接信息的操作,包括:
接收用户输入的所述第一设备的连接信息;或者,
扫描所述第一设备显示图形码,获取所述图形码中包含的所述第一设备的连接信息;或者,
与所述第一设备建立短距离通信连接,通过所述短距离通信连接接收所述第一设备发送的连接信息。
其中,所述第一消息为探测请求Probe request消息,所述Probe request消息的标识服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧Action Frame携带所述第一标识。
优选的,所述处理器1101建立与所述第一设备之间的无线连接,包括:
与所述第一设备进行开放认证,并在认证通过后建立与所述第一设备之间的无线连接。
其中,所述无线连接为无线保真Wi-Fi连接或为蓝牙连接。
在本发明实施例中,第二设备获取第一设备提供的连接信息,根据该连接信息生成第一标识,向第一设备发送携带第一标识的第一消息,以使第一设备根据确定第一标号与第一设备的第二标识是否匹配,如果匹配,则第二设备建立与第一设备之间的无线连接,用户不需要在大量的搜索结果中选择设备,提高建立无线连接的效率,以提高数据传输的效率。
其中,在本发明实施例中所揭示的第一设备和和第二设备都为电子设备,该电子设备可以实作成单独一台设备,或整合于各种不同的显示装置中,诸如机顶盒、移动电话、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、多媒体播放器、数字摄影机、个人数字助理(personal digital assistant,简称PDA)、导航装置、移动上网装置(Mobile Internet Device,MID)或可穿戴式设备(Wearable Device)等。所述第一设备和和第二设备的组成结构不限于本发明各实施例中附图所示出的结构。
其装置图可参考图12,图12所示为根据本发明一个具体实施方式的电子设备。所述电子设备包括输入单元、处理器单元、输出单元、通信单元、存储单元、外设单元等组件。这些组件通过一条或多条总线进行通信。本领域技术人员可以理解,图中示出的电子设备的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施方式中,所述电子设备可以是任何移动或便携式电子设备,包括但不限于移动电话、移动电脑、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、媒体播放器、智能电视,以及上述两项或两项以上的组合等。
输入单元用于实现用户与电子设备的交互和/或信息输入到电子设备中。例如,输入单元可以接收用户输入的数字或字符信息,以产生与用户设置或功能控制有关的信号输入。在本发明具体实施方式中,输入单元可以是触控面板,也可以是其他人机交互界面,例如实体输入键、麦克风等,还可是其他外部信息撷取装置,例如摄像头等。触控面板,也称为触摸屏或触控屏,可收集用户在其上触摸或接近的操作动作。比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或接近触控面板的位置的操作动作,并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸操作,并将检测到的触摸操作转换为电信号,以及将所述电信号传送给触摸控制器;触摸控制器从触摸检测装置上接收所述电信号,并将它转换成触点坐标,再送给处理单元。所述触摸控制器还可以接收处理单元发来的命令并执行。此外,可以采用电阻式、电容式、红外线(Infrared)以及表面声波等多种类型实现触控面板。在本发明的其他实施方式中,输入单元所采用的实体输入键可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。麦克风形式的输入单元可以收集用户或环境输入的语音并将其转换成电信号形式的、处理单元可执行的命令。
在本发明的其他一些实施方式中,所述输入单元还可以是各类传感器件,例如霍尔器件,用于侦测电子设备的物理量,例如力、力矩、压力、应力、位置、位移、速度、加速度、角度、角速度、转数、转速以及工作状态发生变化的时间等,转变成电量来进行检测和控制。其他的一些传感器件还可以包括重力感应计、三轴加速计、陀螺仪等。
处理器单元为电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储单元内的软件程序和/或模块,以及调用存储在存储单元内的数据,以执行电子设备的各种功能和/或处理数据。所述处理器单元可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器单元可以仅包括中央处理器(Central Processing Unit,简称CPU),也可以是GPU、数字信号处理器(Digital SignalProcessor,简称DSP)、及通信单元中的控制芯片(例如基带芯片)的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
所述通信单元用于建立通信信道,使第一设备通过所述通信信道连接到第二设备。所述通信单元可以包括无线局域网(Wireless Local Area Network,简称wirelessLAN)模块、蓝牙模块、基带(Base Band)模块等通信模块,以及所述通信模块对应的射频(Radio Frequency,简称RF)电路,用于进行无线局域网络通信、蓝牙通信、红外线通信及/或蜂窝式通信系统通信,例如宽带码分多重接入(Wideband Code Division MultipleAccess,简称W-CDMA)及/或高速下行封包存取(High Speed Downlink Packet Access,简称HSDPA)。所述通信模块用于控制电子设备中的各组件的通信,并且可以支持直接内存存取(Direct Memory Access)。
在本发明的不同实施方式中,所述通信单元中的各种通信模块一般以集成电路芯片(Integrated Circuit Chip)的形式出现,并可进行选择性组合,而不必包括所有通信模块及对应的天线组。例如,所述通信单元可以仅包括基带芯片、射频芯片以及相应的天线以在一个蜂窝通信系统中提供通信功能。经由所述通信单元建立的无线通信连接,例如无线局域网接入或WCDMA接入,所述电子设备可以连接至蜂窝网(Cellular Network)或因特网(Internet)。在本发明的一些可选实施方式中,所述通信单元中的通信模块,例如基带模块可以集成到处理器单元中,典型的如高通(Qualcomm)公司提供的APQ+MDM系列平台。
射频电路用于信息收发或通话过程中接收和发送信号。例如,将第一设备处理过的屏幕数据的传输流传给第二设备,接收第二设备回传的触控事件。通常,所述射频电路包括用于执行这些功能的公知电路,包括但不限于天线系统、射频收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码(Codec)芯片组、用户身份模块(SIM)卡、存储器等等。此外,射频电路还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommunication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(Code Division Multiple Access,码分多址)、WCDMA(Wideband CodeDivision Multiple Access,宽带码分多址)、高速上行行链路分组接入技术(High SpeedUplink Packet Access,HSUPA)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(Short Messaging Service,短消息服务)等。
输出单元包括但不限于影像输出单元和声音输出单元。影像输出单元用于输出文字、图片和/或视频。所述影像输出单元可包括显示面板,例如采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)、场发射显示器(field emission display,简称FED)等形式来配置的显示面板。或者所述影像输出单元可以包括反射式显示器,例如电泳式(electrophoretic)显示器,或利用光干涉调变技术(Interferometric Modulation of Light)的显示器。所述影像输出单元可以包括单个显示器或不同尺寸的多个显示器。在本发明的具体实施方式中,上述输入单元所采用的触控面板亦可同时作为输出单元的显示面板。例如,触控面板显示当前的显示画面,同时可以接收到用户划定保密区域的指令。虽然在结构图中,输入单元与输出单元是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板与显示面板集成一体而实现电子设备的输入和输出功能。例如,所述影像输出单元可以显示各种图形化用户接口(Graphical User Interface,简称GUI)以作为虚拟控制组件,包括但不限于窗口、卷动轴、图标及剪贴簿,以供用户通过触控方式进行操作。
在本发明具体实施方式中,影像输出单元包括滤波器及放大器,用来将处理单元所输出的视频滤波及放大。音频输出单元包括数字模拟转换器,用来将处理单元所输出的音频信号从数字格式转换为模拟格式。
存储单元可用于存储软件程序以及模块,处理单元通过运行存储在存储单元的软件程序以及模块,从而执行电子设备的各种功能应用以及实现数据处理。存储单元主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序,比如声音播放程序、图像播放程序等等;数据存储区可存储根据电子设备的使用所创建的数据(比如音频数据、电话本等)等。在本发明具体实施方式中,存储单元可以包括易失性存储器,例如非挥发性动态随机存取内存(Nonvolatile Random Access Memory,简称NVRAM)、相变化随机存取内存(Phase Change RAM,简称PRAM)、磁阻式随机存取内存(Magetoresistive RAM,简称MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)。非易失存储器储存处理单元所执行的操作系统及应用程序。所述处理单元从所述非易失存储器加载运行程序与数据到内存并将数字内容储存于大量储存装置中。所述操作系统包括用于控制和管理常规系统任务,例如内存管理、存储设备控制、电源管理等,以及有助于各种软硬件之间通信的各种组件和/或驱动器。在本发明实施方式中,所述操作系统可以是Google公司的Android系统、Apple公司开发的iOS系统或Microsoft公司开发的Windows操作系统等,或者是Vxworks这类的嵌入式操作系统。
所述应用程序包括安装在电子设备上的任何应用,包括但不限于浏览器、电子邮件、即时消息服务、文字处理、键盘虚拟、窗口小部件(Widget)、加密、数字版权管理、语音识别、语音复制、定位(例如由全球定位系统提供的功能)、音乐播放等等。
电源用于给电子设备的不同部件进行供电以维持其运行。作为一般性理解,所述电源可以是内置的电池,例如常见的锂离子电池、镍氢电池等,也包括直接向电子设备供电的外接电源,例如AC适配器等。在本发明的一些实施方式中,所述电源还可以作更为广泛的定义,例如还可以包括电源管理系统、充电系统、电源故障检测电路、电源转换器或逆变器、电源状态指示器(如发光二极管),以及与电子设备的电能生成、管理及分布相关联的其他任何组件。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (26)
1.一种用于建立无线连接的方法,用于第一设备与第二设备建立无线连接,其特征在于,所述方法包括:
所述第一设备接收第一用户的操作指令后,根据所述操作指令生成连接信息,向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,所述第一用户为所述第一设备对应的用户,所述第一部分信息是所述连接信息的部分或全部;
所述第一设备接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带所述第一标识;
所述第一设备确定所述第一标识与所述第一设备的第二标识是否匹配;
如果匹配,所述第一设备向所述第二设备发送第二消息,其中所述第二消息为所述第一消息的响应消息;
所述第一设备建立与所述第二设备之间的无线连接;
所述第一设备确定所述第一标识与所述第一设备的第二标识是否匹配之前,还包括:
对所述连接信息的第一部分信息采用预设算法进行计算生成所述第一设备的第二标识;
其中,所述建立与所述第二设备之间的无线连接,包括:
验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,所述第一认证信息是所述第二设备根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,且所述第二部分信息的内容与所述第一部分信息的内容部分相同,所述第二认证信息与对所述第二部分信息进行计算生成的结果相等或相对应;
如果验证出所述第一认证信息与所述第二认证信息匹配,则向所述第二设备发送确认信息,建立与所述第二设备之间的无线连接,其中,所述确认信息用于所述第二设备确定将与所述第一设备建立无线连接。
2.如权利要求1所述的方法,其特征在于,所述对所述连接信息的第一部分信息采用预设算法进行计算生成所述第二标识,包括:
对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一设备的第二标识;或者,
向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一设备的第二标识。
3.如权利要求1或2所述的方法,其特征在于,所述第一设备向第二设备提供所述连接信息,包括:
第一设备显示或播放所述连接信息,使得所述第二设备接收用户向其输入的所述连接信息;或者,
第一设备根据所述连接信息生成包含所述连接信息的图形码,显示所述图形码,使所述第二设备扫描所述的图形码并获取所述连接信息;或者,
第一设备与第二设备建立短距离通信连接,通过所述短距离通信连接发送所述连接信息给所述第二设备。
4.如权利要求1或2所述的方法,其特征在于,
所述第一消息为探测请求Probe request消息,所述Probe request消息的服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧ActionFrame携带所述第一标识。
5.如权利要求1或2所述的方法,其特征在于,所述验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,包括:
将所述第一设备的第二认证信息确定为四步握手认证方式的成对主密钥PMK,根据所述PMK并通过所述四步握手认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配;或者,
将所述第一设备的第二认证信息确定为无线保真安全设置WPS认证方式的个人识别码PIN,根据所述PIN并通过所述WPS认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配。
6.如权利要求1或2所述的方法,其特征在于,所述第一设备生成连接信息,包括:
根据所述第一设备的第二标识生成所述连接信息的第一部分信息;
根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息;
根据所述第一部分信息和所述第二部分信息得到所述连接信息。
7.一种用于建立无线连接的方法,用于第一设备与第二设备建立无线连接,其特征在于,所述方法包括:
所述第二设备获取所述第二设备附近的第一设备提供的连接信息,所述连接信息是所述第一设备接收第一用户的操作指令后根据所述操作指令生成的,所述第一用户为所述第一设备对应的用户;
所述第二设备根据所述连接信息的第一部分信息计算生成第一标识,所述第一部分信息是所述连接信息的部分或全部;
所述第二设备向所述第一设备发送第一消息,所述第一消息携带所述第一标识,以使得所述第一设备确定所述第一标识与第二标识是否匹配,所述第二标识由所述第一设备对所述连接信息的第一部分信息采用预设算法进行计算生成;
所述第二设备接收所述第一设备在所述第一标识与所述第二标识匹配时发送的第二消息,所述第二消息为所述第一消息的响应消息;
所述第二设备建立与所述第一设备之间的无线连接;
所述建立与所述第一设备之间的无线连接,包括:
与所述第一设备进行验证,以使所述第一设备确定所述第二设备的第一认证信息与所述第一设备的第二认证信息是否匹配,所述第一认证信息是根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,且所述第二部分信息的内容与所述第一部分信息的内容部分相同,所述第二认证信息与对所述连接信息的第二部分信息计算生成的结果相等或相对应;
接收所述第一设备验证出所述第一认证信息与所述第二认证信息匹配时发送的确认信息;
根据所述确认信息建立与所述第一设备之间的无线连接。
8.如权利要求7所述的方法,其特征在于,所述根据所述连接信息的第一部分信息计算生成第一标识,包括:
对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一标识;或者,
向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一标识。
9.如权利要求7或8所述的方法,其特征在于,所述与所述第一设备进行验证,包括:
将所述第一认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式与所述第一设备进行验证;或者,
将所述第一认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式与所述第一设备进行验证。
10.如权利要求7或8所述的方法,其特征在于,所述与所述第一设备进行验证之前,还包括:
根据所述连接信息的第二部分信息计算生成所述第一认证信息。
11.如权利要求10所述的方法,其特征在于,所述根据所述连接信息的第二部分信息计算生成所述第一认证信息,包括:
对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一认证信息;或者,
向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一认证信息。
12.如权利要求7或8所述的方法,其特征在于,所述获取所述第二设备附近的第一设备提供的连接信息,包括:
接收用户输入的所述第一设备的连接信息;或者,
扫描所述第一设备显示图形码,获取所述图形码中包含的所述第一设备的连接信息;或者,
与所述第一设备建立短距离通信连接,通过所述短距离通信连接接收所述第一设备发送的连接信息。
13.如权利要求7或8所述的方法,其特征在于,
所述第一消息为探测请求Probe request消息,所述Probe request消息的标识服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧ActionFrame携带所述第一标识。
14.一种用于建立无线连接的设备,所述设备为第一设备,用于与第二设备建立无线连接,其特征在于,所述第一设备包括:
生成模块,用于接收第一用户的操作指令后,根据所述操作指令生成连接信息,所述第一用户为所述第一设备对应的用户;
提供模块,用于向所述第一设备附近的第二设备提供所述连接信息,以便所述第二设备对所述连接信息的第一部分信息采用预设算法进行计算生成得到第一标识,所述第一部分信息是所述连接信息的部分或全部;
接收模块,用于接收所述第二设备根据所述连接信息发送的第一消息,所述第一消息中携带第一标识;
确定模块,用于确定所述第一标识与所述第一设备的第二标识是否匹配;
发送模块,用于如果所述确定模块确定出所述第一标识与所述第一设备的第二标识匹配,向所述第二设备发送第二消息,其中所述第二消息为所述第一消息的响应消息;
建立模块,用于建立与所述第二设备之间的无线连接;
所述第一设备还包括:
第一计算模块,用于对所述连接信息的第一部分信息采用预设算法进行计算生成所述第一设备的第二标识;
其中,所述建立模块包括:
验证单元,用于验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配,所述第一认证信息是所述第二设备根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,且所述第二部分信息的内容与所述第一部分信息的内容部分相同,所述第二认证信息与对所述第二部分信息进行计算生成的结果相等或相对应;
建立单元,用于如果验证出所述第一认证信息与所述第二认证信息匹配,则向所述第二设备发送确认信息,所述确认信息用于所述第二设备确定将与所述第一设备建立无线连接,建立与所述第二设备之间的无线连接。
15.如权利要求14所述的第一设备,其特征在于,所述第一计算模块包括:
第一哈希单元,用于对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一设备的第二标识;或者,
第一构造单元,用于向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一设备的第二标识。
16.如权利要求14或15所述的第一设备,其特征在于,所述提供模块包括:
显示播放单元,用于显示或播放所述连接信息,使用户向所述第二设备输入所述连接信息;或者,
显示单元,用于根据所述连接信息生成包含所述连接信息的图形码,显示所述图形码,使所述第二设备扫描所述的图形码并获取所述连接信息;或者,
发送单元,用于与第二设备建立短距离通信连接,通过所述短距离通信连接发送所述连接信息给所述第二设备。
17.如权利要求14或15所述的第一设备,其特征在于,
所述第一消息为探测请求Probe request消息,所述Probe request消息的服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧ActionFrame携带所述第一标识。
18.如权利要求14或15所述的第一设备,其特征在于,所述验证单元包括:
第一验证子单元,用于将所述第一设备的第二认证信息确定为四步握手认证方式的成对主密钥PMK,根据所述PMK并通过所述四步握手认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配;或者,
第二验证子单元,用于将所述第一设备的第二认证信息确定为无线保真安全设置WPS认证方式的个人识别码PIN,根据所述PIN并通过所述WPS认证方式验证所述第二设备的第一认证信息是否与所述第一设备的第二认证信息匹配。
19.如权利要求14或15所述的第一设备,其特征在于,所述第一设备还包括:
第一生成模块,用于根据所述第一设备的第二标识生成所述连接信息的第一部分信息;
第二生成模块,用于根据所述第一设备的第二认证信息生成所述连接信息的第二部分信息;
构造模块,用于根据所述第一部分信息和所述第二部分信息构造所述连接信息。
20.一种用于建立无线连接的设备,所述设备为第二设备,用于与第一设备建立无线连接,其特征在于,所述第二设备包括:
获取模块,用于获取所述第二设备附近的第一设备提供的连接信息,所述连接信息是所述第一设备接收第一用户的操作指令后根据所述操作指令生成的,所述第一用户为所述第一设备对应的用户;
计算模块,用于根据所述连接信息的第一部分信息计算生成第一标识,所述第一部分信息是所述连接信息的部分或全部;
发送模块,用于向所述第一设备发送第一消息,所述第一消息携带所述第一标识,以使得所述第一设备确定所述第一标识与第二标识是否匹配,所述第二标识由所述第一设备对所述连接信息的第一部分信息采用预设算法进行计算生成;
接收模块,用于接收所述第一设备在所述第一标识与所述第二标识匹配时发送的第二消息,所述第二消息为所述第一消息的响应消息;
建立模块,用于建立与所述第一设备之间的无线连接;
其中,所述建立模块包括:
验证单元,用于与所述第一设备进行验证,以使所述第一设备确定所述第二设备的第一认证信息与所述第一设备的第二认证信息是否匹配,所述第一认证信息是根据所述连接信息的第二部分信息计算生成的,所述第二部分信息是所述连接信息的部分或全部,且所述第二部分信息的内容与所述第一部分信息的内容部分相同,所述第二认证信息与对所述连接信息的第二部分信息计算生成的结果相等或相对应;
第一接收单元,用于接收所述第一设备验证出所述第一认证信息与所述第二认证信息匹配时发送的确认信息;
建立单元,用于根据所述确认信息建立与所述第一设备之间的无线连接。
21.如权利要求20所述的第二设备,其特征在于,所述计算模块包括:
第一哈希单元,用于对所述连接信息的第一部分信息进行哈希运算得到第一哈希结果,根据所述第一哈希结果生成所述第一标识;或者,
第一添加单元,用于向所述连接信息的第一部分信息添加第一预设信息得到第一构造信息,根据所述第一构造信息生成所述第一标识。
22.如权利要求20或21所述的第二设备,其特征在于,所述验证单元包括:
第一验证子单元,用于将所述第一认证信息确定为四步握手认证方式的PMK,根据所述PMK并通过所述四步握手认证方式与所述第一设备进行验证;或者,
第二验证子单元,用于将所述第一认证信息确定为无线保真安全设置WPS认证方式的PIN,根据所述PIN并通过所述WPS认证方式与所述第一设备进行验证。
23.如权利要求20或21所述的第二设备,其特征在于,所述第二设备还包括:
生成模块,用于根据所述连接信息的第二部分信息计算生成所述第一认证信息。
24.如权利要求23所述的第二设备,其特征在于,所述生成模块包括:
第二哈希单元,用于对所述连接信息的第二部分信息进行哈希运算得到第二哈希结果,根据所述第二哈希结果生成所述第一认证信息;或者,
第二添加单元,用于向所述连接信息的第二部分信息添加第二预设信息得到第二构造信息,根据所述第二构造信息生成所述第一认证信息。
25.如权利要求20或21所述的第二设备,其特征在于,所述获取模块包括:
第二接收单元,用于接收用户输入的所述第一设备的连接信息;或者,
扫描单元,用于扫描所述第一设备显示图形码,获取所述图形码中包含的所述第一设备的连接信息;或者,
第三接收单元,用于与所述第一设备建立短距离通信连接,通过所述短距离通信连接接收所述第一设备发送的连接信息。
26.如权利要求20或21所述的第二设备,其特征在于,
所述第一消息为探测请求Probe request消息,所述Probe request消息的标识服务集标识SSID字段携带所述第一标识,或者,所述Probe request消息的保留字段携带所述第一标识;或者,
所述第一消息为测试请求Test request消息,所述Test request消息的动作帧ActionFrame携带所述第一标识。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709374.0A CN105704837B (zh) | 2014-11-28 | 2014-11-28 | 一种用于建立无线连接的方法及设备 |
PCT/CN2015/095891 WO2016082801A1 (zh) | 2014-11-28 | 2015-11-28 | 一种用于建立无线连接的方法及设备 |
EP15862753.9A EP3217758B1 (en) | 2014-11-28 | 2015-11-28 | Establishment of a wireless connection between a first device and a second device |
US15/607,014 US10366214B2 (en) | 2014-11-28 | 2017-05-26 | Method and device for establishing wireless connection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410709374.0A CN105704837B (zh) | 2014-11-28 | 2014-11-28 | 一种用于建立无线连接的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105704837A CN105704837A (zh) | 2016-06-22 |
CN105704837B true CN105704837B (zh) | 2020-02-14 |
Family
ID=56073644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410709374.0A Active CN105704837B (zh) | 2014-11-28 | 2014-11-28 | 一种用于建立无线连接的方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10366214B2 (zh) |
EP (1) | EP3217758B1 (zh) |
CN (1) | CN105704837B (zh) |
WO (1) | WO2016082801A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10531370B2 (en) * | 2015-02-24 | 2020-01-07 | Lg Electronics Inc. | Method and apparatus for transmitting data in wireless communication system |
EP3338212A4 (en) * | 2015-08-20 | 2019-03-20 | Averon US, Inc. | METHOD AND APPARATUS FOR ELECTRONIC SECURITY MANAGEMENT BASED ON GEOGRAPHIC LOCATION |
JP6702833B2 (ja) * | 2016-09-15 | 2020-06-03 | キヤノン株式会社 | 通信装置、通信装置の制御及びプログラム |
KR102599479B1 (ko) * | 2016-11-02 | 2023-11-08 | 삼성전자주식회사 | 근거리통신 연결을 위한 전자장치, 시스템 및 방법 |
WO2018086004A1 (zh) * | 2016-11-09 | 2018-05-17 | 国民技术股份有限公司 | 安全通信的方法、受控装置及设备、遥控装置及设备 |
CN106793162B (zh) * | 2016-12-13 | 2020-02-21 | 大陆汽车车身电子系统(芜湖)有限公司 | 用于可穿戴设备与组合仪表建立无线连接的方法 |
CN113518022A (zh) * | 2017-05-31 | 2021-10-19 | 普天智能照明研究院有限公司 | 用于用户设备与家居设备连接配置的方法 |
CN108184226A (zh) * | 2017-12-31 | 2018-06-19 | 福建省卓展信息科技股份有限公司 | 一种智能传呼饮水系统 |
FR3077458B1 (fr) * | 2018-01-31 | 2020-01-17 | Sagemcom Broadband Sas | Procede d'agregation d'une pluralite de connexions radio dans un reseau sans fil |
US10993110B2 (en) * | 2018-07-13 | 2021-04-27 | Nvidia Corp. | Connectionless fast method for configuring Wi-Fi on displayless Wi-Fi IoT device |
US11121871B2 (en) * | 2018-10-22 | 2021-09-14 | International Business Machines Corporation | Secured key exchange for wireless local area network (WLAN) zero configuration |
CN109587667B (zh) * | 2018-11-23 | 2021-06-18 | Oppo广东移动通信有限公司 | 一种连接建立方法及装置、设备、存储介质 |
CN111615219B (zh) * | 2019-04-30 | 2022-02-22 | 维沃移动通信有限公司 | 一种pc5链路建立方法、设备及系统 |
US10834594B1 (en) * | 2019-10-16 | 2020-11-10 | Verizon Patent And Licensing Inc. | Systems and methods for authentication sharing |
US11240358B2 (en) * | 2020-06-22 | 2022-02-01 | Motorola Mobility Llc | Electronic devices and methods for moving content presentation on one or more displays |
CN111935693B (zh) * | 2020-08-26 | 2022-05-06 | 支付宝(杭州)信息技术有限公司 | 蓝牙设备连接方法和蓝牙设备 |
CN112566126B (zh) * | 2020-12-02 | 2022-04-26 | 支付宝(杭州)信息技术有限公司 | 一种设备之间的连接方法、装置及设备 |
US20230032967A1 (en) * | 2021-07-29 | 2023-02-02 | Red Hat, Inc. | Establishing process connections utilizing an intermediary broker |
US20230076126A1 (en) * | 2021-09-02 | 2023-03-09 | At&T Intellectual Property I, L.P. | Device to device communication mechanism for different operators subscribers |
CN115866597B (zh) * | 2021-09-24 | 2024-06-25 | 青岛海尔科技有限公司 | 密码信息的发送方法和装置、存储介质及电子装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691578A (zh) * | 2004-04-29 | 2005-11-02 | 华为技术有限公司 | 一种设备验证自身合法性的方法 |
CN101682842A (zh) * | 2007-06-04 | 2010-03-24 | 索尼爱立信移动通讯有限公司 | 使用网络标识符和应用程序密钥操作自组织无线局域网 |
CN102461128A (zh) * | 2009-05-04 | 2012-05-16 | 苹果公司 | 基于接近而配对移动设备的方法和装置 |
CN102955917A (zh) * | 2011-08-29 | 2013-03-06 | 联想(北京)有限公司 | 一种保护数据的方法、装置及设备 |
CN103152735A (zh) * | 2013-03-27 | 2013-06-12 | 深圳市中兴移动通信有限公司 | 移动终端中双向签名的方法及装置 |
CN103179679A (zh) * | 2011-12-21 | 2013-06-26 | 国民技术股份有限公司 | 安全通道与开放通道绑定的方法 |
CN103609072A (zh) * | 2011-05-27 | 2014-02-26 | 国际商业机器公司 | 管理由多个无线移动设备提供的用于分布式高速缓存的库存数据 |
WO2014037980A1 (ja) * | 2012-09-07 | 2014-03-13 | Necカシオモバイルコミュニケーションズ株式会社 | 無線通信システム、無線通信方法、携帯端末、情報処理装置、および、プログラム |
CN103916978A (zh) * | 2013-01-08 | 2014-07-09 | 联想(北京)有限公司 | 一种建立无线连接的方法及电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7516325B2 (en) * | 2001-04-06 | 2009-04-07 | Certicom Corp. | Device authentication in a PKI |
CN101371530B (zh) * | 2006-01-18 | 2017-08-29 | 皇家飞利浦电子股份有限公司 | 无线医疗网络的自动及安全的配置 |
US8116731B2 (en) * | 2007-11-01 | 2012-02-14 | Finsphere, Inc. | System and method for mobile identity protection of a user of multiple computer applications, networks or devices |
JP5073385B2 (ja) * | 2007-07-03 | 2012-11-14 | パナソニック株式会社 | 情報通信装置 |
WO2009127984A1 (en) * | 2008-04-18 | 2009-10-22 | International Business Machines Corporation | Authentication of data communications |
CN104917780A (zh) * | 2009-11-25 | 2015-09-16 | 安全第一公司 | 对移动中数据进行保护的系统和方法 |
JP5771604B2 (ja) * | 2010-04-19 | 2015-09-02 | レノボ・イノベーションズ・リミテッド(香港) | 通信システム、通信端末、通信機器、通信制御方法、及び通信制御用プログラム |
EP2385480A1 (en) * | 2010-05-05 | 2011-11-09 | Deutsche Telekom AG | Method for controlling a communication device, communication device, system, and computer program product |
CN102694781B (zh) * | 2011-03-24 | 2015-12-16 | 中国银联股份有限公司 | 基于互联网的安全性信息交互系统及方法 |
KR101330807B1 (ko) * | 2011-08-31 | 2013-11-18 | 주식회사 팬택 | 증강 현실을 활용한 데이터 공유 장치 및 방법 |
US10165440B2 (en) * | 2012-01-17 | 2018-12-25 | Entrust, Inc. | Method and apparatus for remote portable wireless device authentication |
WO2014024351A1 (ja) * | 2012-08-09 | 2014-02-13 | パナソニック株式会社 | 無線通信システム |
WO2014114930A1 (en) * | 2013-01-22 | 2014-07-31 | Mimio Llc | Two-dimensional code-driven method and system for synchronizing wireless devices with a computing device |
US9100942B2 (en) * | 2013-03-14 | 2015-08-04 | Qualcomm Incorporated | WiFi Direct connection using machine-readable labels |
WO2014183404A1 (zh) * | 2013-10-21 | 2014-11-20 | 中兴通讯股份有限公司 | 数据传输方法、装置及系统、终端 |
CN104144470B (zh) * | 2014-03-12 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 一种蓝牙连接方法和客户端 |
-
2014
- 2014-11-28 CN CN201410709374.0A patent/CN105704837B/zh active Active
-
2015
- 2015-11-28 WO PCT/CN2015/095891 patent/WO2016082801A1/zh active Application Filing
- 2015-11-28 EP EP15862753.9A patent/EP3217758B1/en active Active
-
2017
- 2017-05-26 US US15/607,014 patent/US10366214B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1691578A (zh) * | 2004-04-29 | 2005-11-02 | 华为技术有限公司 | 一种设备验证自身合法性的方法 |
CN101682842A (zh) * | 2007-06-04 | 2010-03-24 | 索尼爱立信移动通讯有限公司 | 使用网络标识符和应用程序密钥操作自组织无线局域网 |
CN102461128A (zh) * | 2009-05-04 | 2012-05-16 | 苹果公司 | 基于接近而配对移动设备的方法和装置 |
CN103609072A (zh) * | 2011-05-27 | 2014-02-26 | 国际商业机器公司 | 管理由多个无线移动设备提供的用于分布式高速缓存的库存数据 |
CN102955917A (zh) * | 2011-08-29 | 2013-03-06 | 联想(北京)有限公司 | 一种保护数据的方法、装置及设备 |
CN103179679A (zh) * | 2011-12-21 | 2013-06-26 | 国民技术股份有限公司 | 安全通道与开放通道绑定的方法 |
WO2014037980A1 (ja) * | 2012-09-07 | 2014-03-13 | Necカシオモバイルコミュニケーションズ株式会社 | 無線通信システム、無線通信方法、携帯端末、情報処理装置、および、プログラム |
CN103916978A (zh) * | 2013-01-08 | 2014-07-09 | 联想(北京)有限公司 | 一种建立无线连接的方法及电子设备 |
CN103152735A (zh) * | 2013-03-27 | 2013-06-12 | 深圳市中兴移动通信有限公司 | 移动终端中双向签名的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3217758B1 (en) | 2019-09-11 |
US20170265238A1 (en) | 2017-09-14 |
US10366214B2 (en) | 2019-07-30 |
EP3217758A1 (en) | 2017-09-13 |
WO2016082801A1 (zh) | 2016-06-02 |
CN105704837A (zh) | 2016-06-22 |
EP3217758A4 (en) | 2018-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105704837B (zh) | 一种用于建立无线连接的方法及设备 | |
JP7204792B2 (ja) | Wi-fiホットスポット接続方法および端末 | |
CN105933904B (zh) | 网络连接方法及装置 | |
CN111459433B (zh) | 一种传屏方法、设备及存储介质 | |
US10694564B2 (en) | Bluetooth pairing method and terminal device | |
KR101630505B1 (ko) | 소셜 네트워크를 통해 접속 설정을 공유하는 방법 및 장치 | |
WO2017185711A1 (zh) | 控制智能设备的方法、装置、系统和存储介质 | |
CN105100141B (zh) | 多媒体内容网络分享方法、装置及系统 | |
US9648655B2 (en) | Simulation of near-field communications | |
KR20140113491A (ko) | 어플리케이션 연결 방법 및 이를 이용하는 시스템 | |
KR102399665B1 (ko) | 전자 장치의 근접 인증 방법 및 그 장치 | |
CN110753334A (zh) | 蓝牙通信方法和具有蓝牙通信功能的装置及设备 | |
KR20150017848A (ko) | 와이파이 다이렉트 연결 방법 및 장치 | |
WO2019128179A1 (zh) | 移动终端间数据传输的方法、装置及移动终端 | |
KR20140113253A (ko) | 네트워크상의 장치들의 애플리케이션 연결 방법 | |
CN106599698B (zh) | 一种加密图片、解密图片的方法和装置 | |
CN104581993A (zh) | 无线连接建立的方法、数据传输的方法以及终端 | |
CN109600340B (zh) | 操作授权方法、装置、终端以及服务器 | |
KR20140128764A (ko) | 연결 정보 제어 방법 및 그 전자 장치 | |
EP2945433A1 (en) | Wireless communication hotspot creation and connection method, hotspot creation end and hotspot connection end | |
KR20150001681A (ko) | 전자 장치의 보안 연결 방법 및 장치 | |
WO2018049882A1 (zh) | 一种数据迁移方法及装置 | |
CN111090894B (zh) | 一种锁卡数据重建的方法和装置 | |
CN116975836A (zh) | 一种应用控制方法、装置、电子设备和存储介质 | |
WO2016183943A1 (zh) | 一种无线局域网接入方法、终端及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant after: Huawei Device Co., Ltd. Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province Applicant before: HUAWEI terminal (Dongguan) Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |