CN115767541A - 无线连接的建立方法、电子设备、程序产品和存储介质 - Google Patents
无线连接的建立方法、电子设备、程序产品和存储介质 Download PDFInfo
- Publication number
- CN115767541A CN115767541A CN202111035807.5A CN202111035807A CN115767541A CN 115767541 A CN115767541 A CN 115767541A CN 202111035807 A CN202111035807 A CN 202111035807A CN 115767541 A CN115767541 A CN 115767541A
- Authority
- CN
- China
- Prior art keywords
- key
- verification value
- information
- shared key
- derivative
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本申请提供了一种无线连接的建立方法,应用于第一设备,包括:第一设备对第二设备定位,得到第一空间位置信息;第一设备通过UWB信道向第二设备发送第一公钥,第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,UWB信道由第一设备利用第一空间位置信息来验证是否可信;第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过;第一设备利用连接密钥,与第二设备或与第三设备建立无线连接,第三设备与第二设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证通过。由于第一设备采用UWB信道向第二设备发送第一公钥,保证了设备间建立无线连接的便利性。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种无线连接的建立方法、电子设备、程序产品和存储介质。
背景技术
Wi-Fi联盟推出的WPA3标准中,数据报传递协议(Device Provision Protocol,DPP) 可以实现:通过配置器(Configurator)将不同的设备,例如路由器、手机、打印机以及物联网(Internet of things,IoT)设备等建立无线连接。
在一个应用场景示例中,手机作为Configurator,先扫描路由器上的二维码,再扫描打印机上的二维码,打印机可与路由器建立无线网络连接。
然而,若建立无线网路连接的设备的设置位置特殊,如大型场所,路由器一般会设置于天花板,配置器扫描设备上的二维码就会不方便。
发明内容
本申请提供一种无线连接的建立方法、电子设备、程序产品和存储介质,以实现提高设备之间建立无线连接时的便利性。
为实现上述目的,本发明提供如下技术方案:
第一方面,本申请提供了一种无线连接的建立方法,应用于第一设备,一个应用场景中,第一设备与第二设备建立无线连接,无线连接的建立方法,包括:第一设备对第二设备定位,得到第一空间位置信息;第一设备通过超宽带技术UWB信道向第二设备发送第一公钥,第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,UWB信道由第一设备利用第一空间位置信息来验证是否可信;第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过;第一设备利用连接密钥,与第二设备建立无线连接。
在一个包含第一设备、第二设备和第三设备的应用场景中,第二设备可作为管理者,辅助第一设备和第三设备建立连接,第二设备可验证第一设备和第二设备合法,具体第二设备可基于第一设备的空间位置信息验证第一设备,基于第三设备的空间位置信息验证第三设备,该无线连接的建立方法,包括:第一设备对第二设备定位,得到第一空间位置信息;第一设备通过超宽带技术UWB信道向第二设备发送第一公钥,第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,UWB信道由第一设备利用第一空间位置信息来验证是否可信;第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过;第三设备与第二设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证通过,第二共享密钥或第二共享密钥的衍生密钥基于第三设备的公钥生成,第一设备利用连接密钥,与第三设备建立无线连接。
由上述内容可以看出:在第一设备和第二设备连接无线连接的应用场景中,第一设备通过超宽带技术UWB信道向第二设备发送第一公钥,第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,UWB信道由第一设备利用第一空间位置信息来验证是否可信,且在第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过;第一设备利用连接密钥,与第二设备建立无线连接,如此可保证第一设备和第二设备建立无线连接的安全性。并且,由于第一设备采用UWB信道向第二设备发送第一公钥,还保证了设备间建立无线连接的便利性。
在包含第一设备、第二设备和第三设备的应用场景中,第一设备对第二设备定位,得到第一空间位置信息;第一设备通过超宽带技术UWB信道向第二设备发送第一公钥,第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,UWB信道由第一设备利用第一空间位置信息来验证是否可信;第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过;第三设备与第二设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证通过,第二共享密钥或第二共享密钥的衍生密钥基于第三设备的公钥生成,第一设备利用连接密钥,与第三设备建立无线连接,可保证第一设备和第三设备建立无线连接的安全性。并且,由于第一设备采用UWB信道向第二设备发送第一公钥,还保证了设备间建立无线连接的便利性。
在一个可能的实施方式中,第一设备对第二设备定位,得到第一空间位置信息之后,还包括:第一设备基于第一空间位置信息,对第二设备进行验证;其中,第一设备确定第二设备通过验证,则确定UWB信道可信。
在一个可能的实施方式中,第一设备基于第一空间位置信息,对第二设备进行验证,包括:第一设备判断第一空间位置信息和第二空间位置信息的差值是否在预设范围内,第二空间位置信息由第二设备对第一设备定位得到;其中,第一设备判断第一空间位置信息和第二空间位置信息的差值在预设范围内,则第一设备确定第二设备验证通过。
在一个可能的实施方式中,第一设备基于第一空间位置信息,对第二设备进行验证,包括:第一设备响应于操作指令,基于第一空间位置信息对第二设备验证。
在一个可能的实施方式中,第一设备响应的操作指令包括:用户在第一设备的显示屏执行的长按,短按,多次点击用户界面等多种对显示屏的触控操作;用户对第一设备输入的语音;用户对第一设备输入如特征手势等特定动作。
在一个可能的实施方式中,第一设备基于第一空间位置信息,对第二设备进行验证,包括:第一设备利用第一空间位置信息,判断第二设备是否在第一设备的预设范围内;其中,第一设备判断第二设备在第一设备的预设范围内,则第一设备确定第二设备验证通过。
在一个可能的实施方式中,第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证的方式,包括:第一设备基于第一共享密钥或第一共享密钥的衍生密钥,生成第一验证值,并向第二设备发送第一验证值;第一设备接收第二设备发送的第二验证值,并验证第二验证值,第二验证值由第二设备在验证第一验证值正确时,基于第一共享密钥或第一共享密钥的衍生密钥生成。
在一个可能的实施方式中,第一设备验证第二验证值,包括:第一设备是否成功解密第二验证值;或者,第一设备生成第三验证值,比对第三验证值与第二验证值是否相同;或者,第一设备比对第一验证值与第二验证值是否相同。
在一个可能的实施方式中,第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证的方式包括:第一设备基于第一空间位置信息和第一共享密钥或第一共享密钥的验证密钥,生成第一验证值,并向第二设备发送第一验证值;第一设备接收第二设备发送的第二验证值,并验证第二验证值,第二验证值由第二设备在验证第一验证值正确时,基于第二空间位置信息和第一共享密钥或第一共享密钥的衍生密钥生成,第二空间位置信息由第二设备对第一设备定位得到。
在一个可能的实施方式中,第一设备基于第一空间位置信息和第一共享密钥或第一共享密钥的验证密钥,生成第一验证值,包括:第一设备对第一空间位置信息或者第一空间位置信息的衍生值,以及第一共享密钥或第一共享密钥的衍生密钥进行hash运算,得到hash运算结果,hash运算结果的全部数值或者部分数值作为第一验证值;第一空间位置信息的衍生值包括:第一空间位置信息的部分数据,或者,对第一空间位置信息进行hash运算后的全部数值或者部分数值,或者,对第一空间位置信息,以及一个或多个明文信息或明文信息的衍生信息,进行hash运算后的全部数值或者部分数值。
在一个可能的实施方式中,第一设备验证第二验证值,包括:第一设备是否成功解密第二验证值;或者,第一设备生成第三验证值,比对第三验证值与第二验证值是否相同;或者,第一设备比对第一验证值与第二验证值是否相同;或者,第一设备解密第二验证值得到第二空间位置信息;第一设备判断第一空间位置信息与第二空间位置信息的差是否在预定范围内。
在一个可能的实施方式中,前述几个可能的实施方式提供的基于第一空间位置信息对第二设备进行验证,可执行一次或多次。
在一个可能的实施方式中,前述几个可能的实施方式提供的基于第一空间位置信息对第二设备进行验证方式,可以组合使用。
在一个可能的实施方式中,第一设备对第二设备定位,得到第一空间位置信息之前,还包括:第一设备通过WiFi消息或UWB消息发现第二设备。
在上述可能的实施方式中,第一设备通过WiFi消息或UWB消息发现第二设备之后,在对第二设备定位,保证第一设备能够对发现的设备进行定位,以及在验证通过时,建立无线连接。
在一个可能的实施方式中,第一设备通过UWB消息发现第二设备之后,第一设备可通过UWB消息告之第二设备,自身的服务集标识SSID,MAC地址,以及WiFi信道等。
在一个可能的实施方式中,第一设备通过WiFi消息或UWB消息发现第二设备之后,通过WiFi消息来触发执行第一设备对第二设备的定位过程。
在一个可能的实施方式中,WiFi消息携带触发指示信息来触发执行定位。
在一个可能的实施方式中,第一设备和第二设备之间通过WiFi消息完成发现过程中,可以在WiFi消息中携带指示自身支持UWB功能,或,支持通过UWB进行WiFi配置功能,或,支持WSC配置的信息。
在一个可能的实施方式中,可以通过IE来携带指示自身支持UWB功能,或,支持通过UWB进行WiFi配置功能,或,支持WSC配置的信息。
在一个可能的实施方式中,第一设备通过WiFi消息发现第二设备,包括:第一设备接收第二设备广播的信标帧。
在一个可能的实施方式中,第一设备通过WiFi消息发现第二设备,包括:第一设备发送探测请求帧;第一设备接收第二设备发送的探测响应帧,探测响应帧由第二设备接收到探测请求帧后发送。
在一个可能的实施方式中,用户在第一设备的WLAN列表中选择了第二设备,第一设备向第二设备发送的探测请求帧中可携带第二设备的信息。比如,服务集标识(serviceset identifier,SSID),MAC(Media Access Control)地址中的至少一个。
在一个可能的实施方式中,用户可在第一设备的显示屏上点击“配置按钮”,或点击要连接的WiFi名称,第一设备响应用户操作,向第二设备发送探测请求帧。
在一个可能的实施方式中,第一设备利用连接密钥,与第二设备建立无线连接之前,还包括:第一设备接收第二设备发送的第一签名信息;第一设备验证第一签名信息正确。
在一个可能的实施方式中,第一设备利用连接密钥,与第三设备建立无线连接之前,还包括:第一设备接收第二设备发送的第一签名信息;第一设备验证第一签名信息正确。
在一个可能的实施方式中,第一设备验证第一签名信息正确,包括:第一设备利用第一签名公钥成功解密第一签名信息;或者,第一设备利用第一签名公钥解密第一签名信息,获得第一签名信息携带的第一hash值;第一设备对第一连接公钥进行hash运算,得到第二hash值;第一设备判断第一hash值与第二hash值相同;或者,第一设备利用第一签名公钥解密第一签名信息,获得第一签名信息携带的设备信息;第一设备验证设备信息正确。
在一个可能的实施方式中,第一设备利用连接密钥,与第二设备建立无线连接之前,还包括:第一设备生成或接收第二设备发送的连接密钥;其中,连接密钥包括:第一连接密钥或第一连接密钥的衍生密钥。
在一个可能的实施方式中,第一设备生成连接密钥,包括:第一设备利用第一连接公钥和第二连接私钥,生成第一连接密钥或第一连接密钥的衍生密钥,第二连接私钥为第一设备的私钥。
在上述可能的实施方式中,第一设备利用连接公钥和自己的私钥,生成连接密钥,再利用该连接密钥与第二设备或第三设备连接无线连接,可以保证第一设备和第二设备,或者第一设备和第三设备之间交互时不交互私钥,进一步保证安全性。
在一个可能的实施方式中,第一设备利用第一连接公钥和第二连接私钥,生成第一连接密钥的衍生密钥,包括:第一设备利用第一连接公钥和第二连接私钥,生成第一连接密钥;第一设备截取第一连接密钥的一部分作为第一连接密钥的衍生密钥;或者,第一设备利用第一连接公钥和第二连接私钥,生成第一连接密钥;第一设备对第一连接密钥进行hash 运算,得到运算结果,运算结果的全部数值或部分数值,作为第一连接密钥的衍生密钥;或者,第一设备利用第一连接公钥和第二连接私钥,生成第一连接密钥;第一设备利用第一连接密钥和一个或多个明文信息或明文信息的衍生信息,进行hash运算,得到第一连接密钥的衍生密钥。
在一个可能的实施方式中,在第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过之前,还包括:第一设备通过UWB信道或WiFi信道接收第二设备发送的第二公钥;第一设备利用第二公钥和第一私钥,生成第一共享密钥或第一共享密钥的衍生密钥,第一私钥为第一设备的私钥。
在一个可能的实施方式中,第一设备对第二设备定位,得到第一空间位置信息,包括:第一设备采用超宽带UWB定位方式,超声波定位方式,蓝牙定位方式,蜂窝定位方式,地磁定位方式,红外定位方式,射频标签定位方式,紫蜂Zigbee定位方式,超宽带无线电定位方式,广播信号定位方式,或者光定位方式对第二设备进行定位,得到第一空间位置信息。
第二方面,本申请提供了一种无线连接的建立方法,应用于第一设备,用于在一个包含第一设备、第二设备和第三设备的应用场景,第一设备作为管理者。无线连接的建立方法,包括:第一设备对第二设备定位,得到第一空间位置信息;第一设备通过超宽带技术UWB信道向第二设备发送第一公钥,第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,UWB信道由第一设备利用第一空间位置信息来验证是否可信;第一设备和第二设备,基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过;第一设备对第三设备定位,得到第三空间位置信息;第一设备通过UWB信道向第三设备发送第三公钥,第三公钥用于生成第二共享密钥或第二共享密钥的衍生密钥,UWB信道由第一设备利用第三空间位置信息来验证是否可信;第一设备和第三设备,基于第二共享密钥或第二共享密钥的衍生密钥进行认证通过;其中:若第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过,且第一设备和第三设备验证基于第二共享密钥或第二共享密钥的衍生密钥进行认证通过,第二设备利用连接密钥,与第三设备建立无线连接。
由上述内容可以看出:在包含第一设备、第二设备和第三设备的应用场景中,第一设备通过超宽带技术UWB信道向第二设备发送第一公钥,通过UWB信道向第三设备发送第三公钥,第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证通过,且第一设备和第三设备验证基于第二共享密钥或第二共享密钥的衍生密钥进行认证通过,第二设备利用连接密钥,与第三设备建立无线连接,可保证第二设备和第三设备建立无线连接的安全性和便利性。
并且,由第一设备基于第一空间位置信息验证第二设备,基于第三空间位置信息验证第三设备,在第一设备确定第二设备和第三设备验证通过,第二设备利用连接密钥,与第三设备建立无线连接如此,能方便的完成第二设备和第三设备之间的无线网络连接的建立。
在一个可能的实施方式中,第一设备对第二设备定位,得到第一空间位置信息之后,还包括:第一设备基于第一空间位置信息,对第二设备进行验证;其中,第一设备确定第二设备通过验证,则确定UWB信道可信。
在一个可能的实施方式中,第一设备基于第一空间位置信息,对第二设备进行验证,包括:第一设备响应于操作指令,基于第一空间位置信息,对第二设备验证;或者,第一设备利用第一空间位置信息,判断第二设备是否在第一设备的预设范围内;其中,第一设备判断第二设备在第一设备的预设范围内,则第一设备确定第二设备验证通过;或者,第一设备判断第一空间位置信息和第二空间位置信息的差值是否在预设范围内;其中,第二空间位置信息由第二设备对第一设备定位得到;第一设备判断第一空间位置信息和第二空间位置信息的差值在预设范围内,则第一设备确定第二设备验证通过。
在一个可能的实施方式中,第一设备对第三设备定位,得到第三空间位置信息之后,还包括:第一设备基于第三空间位置信息,对第三设备进行验证;其中,第一设备确定第三设备通过验证,则确定UWB信道可信。
在一个可能的实施方式中,第一设备基于第三空间位置信息,对第三设备进行验证,包括:第一设备响应于操作指令,基于第三空间位置信息,对第三设备验证;或者,第一设备利用第三空间位置信息,判断第三设备是否在第一设备的预设范围内;其中,第一设备判断第三设备在第一设备的预设范围内,则第一设备确定第三设备验证通过;或者,第一设备判断第三空间位置信息和第四空间位置信息的差值是否在预设范围内;其中,第四空间位置信息由第三设备对第一设备定位得到;其中,第一设备判断第三空间位置信息和第四空间位置信息的差值在预设范围内,则第一设备确定第三设备验证通过。
在一个可能的实施方式中,第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证,包括:第一设备基于第一共享密钥或第一共享密钥的衍生密钥,生成第一验证值,并向第二设备发送第一验证值;第一设备接收第二设备发送的第二验证值,并验证第二验证值,第二验证值由第二设备在验证第一验证值正确时,基于第一共享密钥或第一共享密钥的衍生密钥生成。
在一个可能的实施方式中,第一设备验证第二验证值,包括:第一设备是否成功解密第二验证值;或者,第一设备生成第三验证值,比对第三验证值与第二验证值是否相同;
或者,第一设备比对第一验证值与第二验证值是否相同。
在一个可能的实施方式中,第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证,包括:第一设备基于第一空间位置信息以及第一共享密钥或第一共享密钥的衍生密钥,生成第一验证值,并向第二设备发送第一验证值;第一设备接收第二设备发送的第二验证值,并验证第二验证值,第二验证值由第二设备在验证第一验证值正确时,基于第二空间位置信息以及第一共享密钥或第一共享密钥的衍生密钥生成,第二空间位置信息由第二设备对第一设备定位得到。
在一个可能的实施方式中,第一设备基于第一共享密钥或第一共享密钥的衍生密钥,生成第一验证值,包括:第一设备对第一空间位置信息或者第一空间位置信息的衍生值,以及第一共享密钥或第一共享密钥的衍生密钥进行hash运算,得到hash运算结果,hash运算结果的全部数值或者部分数值作为第一验证值;第一空间位置信息的衍生值包括:第一空间位置信息的部分数据,或者,对第一空间位置信息进行hash运算后的全部数值或者部分数值,或者,对第一空间位置信息,以及一个或多个明文信息或明文信息的衍生信息,进行hash运算后的全部数值或者部分数值。
在一个可能的实施方式中,第一设备验证第二验证值,包括:第一设备是否成功解密第二验证值;或者,第一设备生成第三验证值,比对第三验证值与第二验证值是否相同;或者,第一设备比对第一验证值与第二验证值是否相同;或者,第一设备解密第二验证值得到第二空间位置信息;第一设备判断第一空间位置信息与第二空间位置信息的差是否在预定范围内。
在一个可能的实施方式中,第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证,包括:第一设备基于第二共享密钥或第二共享密钥的衍生密钥,生成第四验证值,并向第三设备发送第四验证值;第一设备接收第三设备发送的第五验证值,并验证第五验证值,第五验证值由第三设备在验证第四验证值正确时,基于第二共享密钥或第二共享密钥的衍生密钥生成。
在一个可能的实施方式中,第一设备验证第五验证值,包括:第一设备是否成功解密第五验证值;或者,第一设备生成第六验证值,比对第六验证值与第五验证值是否相同;或者,第一设备比对第四验证值与第五验证值是否相同。
在一个可能的实施方式中,第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证的方式包括:第一设备基于第三空间位置信息以及第二共享密钥或第二共享密钥的衍生密钥,生成第四验证值,并向第三设备发送第四验证值;第一设备接收第三设备发送的第五验证值,并验证第五验证值,第五验证值由第三设备在验证第四验证值正确时,基于第四空间位置信息以及第二共享密钥或第二共享密钥的衍生密钥生成,第四空间位置信息由第三设备对第一设备定位得到。
在一个可能的实施方式中,第一设备基于第三空间位置信息以及第二共享密钥或第二共享密钥的衍生密钥,生成第四验证值,包括:第一设备对第三空间位置信息或者第三空间位置信息的衍生值,以及第二共享密钥或第二共享密钥的衍生密钥进行hash运算,得到 hash运算结果,hash运算结果的全部数值或者部分数值作为第四验证值;第三空间位置信息的衍生值包括:第三空间位置信息的部分数据,或者,对第三空间位置信息进行次hash运算后的全部数值或者部分数值,或者,对第三空间位置信息,以及一个或多个明文信息或明文信息的衍生信息,进行hash运算后的全部数值或者部分数值。
在一个可能的实施方式中,第一设备验证第五验证值,包括:第一设备是否成功解密第五验证值;或者,第一设备生成第六验证值,比对第六验证值与第五验证值是否相同;或者,第一设备比对第四验证值与第五验证值是否相同;或者,第一设备解密第五验证值得到第四空间位置信息;第一设备判断第三空间位置信息与第四空间位置信息的差是否在预定范围内。
在一个可能的实施方式中,第一设备对第二设备定位,得到第一空间位置信息之前,还包括:第一设备通过WiFi消息或UWB消息发现第二设备。
在一个可能的实施方式中,第一设备对第三设备定位,得到第三空间位置信息之前,还包括:第一设备通过WiFi消息或UWB消息发现第三设备。
在一个可能的实施方式中,还包括:第一设备分别向第二设备和第三设备发送连接密钥。
在一个可能的实施方式中,还包括:第一设备向第二设备发送第一签名信息;第一设备向第三设备发送第二签名信息。
在一个可能的实施方式中,第一设备对第二设备定位,得到第一空间位置信息,包括:
第一设备采用超宽带UWB定位方式,超声波定位方式,蓝牙定位方式,蜂窝定位方式,地磁定位方式,红外定位方式,射频标签定位方式,紫蜂Zigbee定位方式,超宽带无线电定位方式,广播信号定位方式,或者光定位方式对第二设备进行定位,得到第一空间位置信息。
在一个可能的实施方式中,第一设备对第三设备定位,得到第三空间位置信息,包括:
第一设备采用超宽带UWB定位方式,超声波定位方式,蓝牙定位方式,蜂窝定位方式,地磁定位方式,红外定位方式,射频标签定位方式,紫蜂Zigbee定位方式,超宽带无线电定位方式,广播信号定位方式,或者光定位方式对第三设备进行定位,得到第三空间位置信息。
第三方面,本申请提供了一种电子设备,电子设备包括第一设备或第二设备,电子设备包括:一个或多个处理器、存储器和无线通信模块;存储器和无线通信模块与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,电子设备执行如第一方面或第一方面的任意一个可能的实施方式提供的无线连接的建立方法,或者执行如第二方面或第二方面的任意一个可能的实施方式提供的无线连接的建立方法。
第四方面,本申请提供了一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,具体用于实现如第一方面或第一方面的任意一个可能的实施方式提供的无线连接的建立方法,或者实现如第二方面或第二方面的任意一个可能的实施方式提供的无线连接的建立方法。
第五方面,本申请提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面或第一方面的任意一个可能的实施方式提供的无线连接的建立方法,或者执行如第二方面或第二方面的任意一个可能的实施方式提供的无线连接的建立方法。
附图说明
图1为本申请实施例提供的一种设备间建立无线网络连接的应用示意图;
图2为本申请实施例提供的电子设备的结构示意图;
图3为本申请实施例提供的路由器的结构示意图;
图4为本申请实施例提供的手机和路由器的相对距离和相对方向角的展示图;
图5a为本申请另一实施例提供的设备间建立无线网络连接的应用示意图;
图5b为本申请另一实施例提供的无线连接的建立方法的时序图;
图6为本申请另一实施例提供的手机和路由器建立无线连接的示意图;
图7为本申请另一实施例提供的手机和路由器建立无线连接的示意图;
图8为本申请另一实施例提供的无线连接的建立方法的时序图;
图9a、图9b和图9c为本申请另一实施例提供的一种应用场景示意图;
图10为本申请另一实施例提供的无线连接的建立方法的时序图;
图11为本申请另一实施例提供的无线连接的建立方法的时序图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Wi-Fi联盟推出的WPA3标准中,数据报传递协议(Device Provision Protocol,DPP) 可以实现:通过配置器(Configurator)将不同的设备,例如路由器、手机、打印机以及物联网(Internet of things,IoT)设备等建立无线连接。
在一个应用场景示例中,如图1(a)所示,手机作为Configurator,先扫描路由器上的二维码,再如图1(b)所示,再扫描打印机上的二维码,打印机可与路由器建立无线网络连接。
然而,建立无线网路连接的设备的设置位置特殊,如大型场所,路由器一般会设置于天花板,配置器扫描设备上的二维码就会不方便。
基于此,本申请实施例提供了一种无线网络连接的建立方法,应用于第一设备和第二设备。常见的,站点和接入点两种类型的设备会建立无线网络连接。因此以第一设备和第二设备中的一个设备作为站点STA(station,STA),另一个设备作为接入点(accesspoint, AP),具体以第一设备作为STA,第二设备作为AP为例进行说明。
当然,建立无线网络连接的设备并不限制于站点和接入点,任何支持WiFi通信协议的设备之间,均可建立无线网络连接。还需要说明的是,在第一设备和第二设备建立无线网络连接之前,第一设备和第二设备可交互管理帧和控制帧;第一设备和第二设备建立无线网络连接之后可交互管理帧,控制帧和数据帧。
本实施例中,接入点AP是无线网络的中心节点,通常情况下,AP可以包括路由器、中继器、无线网卡和手机等。站点STA则可指每一个连接到无线网络的终端,如手机,平板电脑,桌面型、膝上型、笔记本电脑,超级移动个人计算机(Ultra-mobile PersonalComputer,UMPC),手持计算机,上网本,个人数字助理(Personal Digital Assistant,PDA),可穿戴电子设备,智能手表,以及打印机等可联网的电子设备。
图2示出了可联网的电子设备200的结构示意图。电子设备200可以包括处理器210,内部存储器220,天线1,无线通信模块230以及电源模块240等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备200的具体限定。在本申请另一些实施例中,电子设备200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,处理器可以是电子设备200的神经中枢和指挥中心。处理器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210 中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
内部存储器220可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器210通过运行存储在内部存储器220的指令,从而执行电子设备200的各种功能应用以及数据处理。内部存储器220可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备的无线通信功能可以通过天线1和无线通信模块220等实现。天线1用于发射和接收电磁波信号。电子设备中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
无线通信模块230可以提供应用在电子设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),近距离无线通信技术(near field communication,NFC)和超宽带技术(Ultra Wide Band,UWB) 等无线通信的解决方案。
无线通信模块230可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块230经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块230还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线1转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和无线通信模块230耦合,使得电子设备200可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括:BT,WLAN,NFC和UWB技术等。
电源模块240可以包括电源、电源管理部件等。电源管理部件用于管理电源的充电和电源向电子设备200的其他模块的供电。
图3示出了可作为接入点AP的路由器的结构示意图,路由器300包括:处理器310,内部存储器320,电源模块330,接口340,控制台端口350,辅助端口360,无线通信模块370和天线1。
可以理解的是,本申请实施例示意的结构并不构成对路由器300的具体限定。在本申请另一些实施例中,路由器300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器310可以包括一个或多个处理单元,例如,可以包括中央处理器CPU(Central Processing Unit)、图像处理器GPU(Graphics Processing Unit)、数字信号处理器DSP、微处理器MCU(Micro-programmed Control Unit)、AI(ArtificialIntelligence,人工智能)处理器或可编程逻辑器件FPGA(Field Programmable GateArray)等的处理模块或处理电路。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器310中可以设置存储单元,用于存储指令和数据。
存储器320可以采用非易失性存储器,随机存取存储器,闪存以及只读存储器,随机存取存储器是在路由器启动或供电间隙时会丢弃其信息,只读存储器保存路由器的启动软件,启动软件是路由器运行的第一个软件,负责路由器进入正常的工作状态,路由器将完整的操作系统作为备用保存在随机存储存储器中,以便在操作系统不能使用时,作为备份使用,只读存储器通常设置在一个或多个芯片上,焊接在路由器的主机板上。闪存的主要用途是存储路由器300的操作系统,维持路由器的正常工作,如果路由器安装了闪存,则主要用来引导路由器操作系统的默认位置,只要闪存的容量足够,可以保存多个操作系统映像,以提供多重启动选项。非易失性存储器的主要作用是保存操作系统启动时读入的配置数据(启动配置)。随机存取存储器主要作为操作系统表和缓冲的存储区,操作系统可以通过随机存取存储器满足所有的常规存储需要,让路由器能迅速访问这些信息,其中,随机存取存储器的存储速度优于以上提到的三种。
电源模块330可以包括电源、电源管理部件等。电源管理部件用于管理电源的充电和电源向路由器300的其他模块的供电。
接口340具有名称和编号,一个接口的全名称由接口的类型标志与数字编号构成,编号自0开始,对于接口固定的路由器或采用模块化接口的路由器,在接口的全名称中,只采用一个数字,并根据其在路由器的物理顺序进行编号,例如Ethernet0表示第1个以太网接口,Serial1表示第2个串口。对于支持“在线插拔和删除”或具有更改物理接口配置的路由器,其接口全名称中至少包含两个数字,中间用斜杠“/”分割,其中,第1个数字代表插槽编号,第2个数字代表接口卡内的端口编号。对于支持“万用接口处理器”的路由器,其接口编号形式为“插槽/端口适配器/端口号”,如Ethernet4/0/1是4号插槽上第1个端口适配器的第2个以太网接口。
控制台端口350是使得用户或管理员能够利用入网设备与路由器300进行通讯,完成路由器的配置,该端口提供了一个EIA/TIA-232异步串行接口,用于在路由器300进行配置。
辅助端口360与控制台端口350类似,也提供一个EIA/TIA-232异步串行接口,不同的是,其常用于连接调制解调器以实现对路由器300的远程管理。
路由器的无线通信功能可以通过天线1和无线通信模块370等实现。天线1用于发射和接收电磁波信号。路由器的天线可用于覆盖单个或多个通信频带。
无线通信模块370可以提供应用在路由器上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络)和超宽带技术(Ultra Wide Band,UWB)等无线通信的解决方案。
无线通信模块370可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块370经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器310。无线通信模块370还可以从处理器310接收待发送的信号,对其进行调频,放大,经天线1转为电磁波辐射出去。
在一些实施例中,电子设备的天线1和无线通信模块370耦合,使得电子设备300可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括:WLAN和 UWB技术等。
首先需要说明的是,第一设备和第二设备,可以采用多种方式完成对对方的定位,如 UWB定位方式,超声波定位方式,蓝牙定位方式,蜂窝定位方式,地磁定位方式,红外定位方式,射频标签定位方式,紫蜂Zigbee定位方式,超宽带无线电定位方式,广播信号定位方式,以及光定位方式等。因UWB定位方式和超声波定位方式的定位准确性较高,因此,UWB定位方式和超声波定位方式较为常用。
以下对第一设备和第二设备基于UWB定位方式和超声波定位方式,对对方定位的过程进行介绍。
具体的,第一设备基于UWB通信协议与第二设备进行单向或双向的多次信息交换,通过交换信息的无线信号进行测距和测向,得到第一设备和第二设备的相对距离L和相对方位角θ,即第一空间位置信息。图4展示了第一设备和第二设备的相对距离L和相对方向角θ的一种示例。并且,第一设备和第二设备处于不同放置方式,如第一设备竖向放置,横向放置,第一设备和第二设备的相对距离和相对方向角也是相同的。
第一设备可采用飞行时间(Time of Fly,ToF)定位算法,到达时间差(TimeDifference of Arrival,TDoA)定位算法,利用UWB信号进行测距,得到第一设备和第二设备的相对距离;也可采用到达角(Angle-of-Arrival,AoA)定位算法,发射角(Angle ofDeparture, AoD)定位算法,利用UWB信号进行测向,得到第一设备和第二设备的相对方位角。
同理,第二设备也可基于UWB通信协议与第一设备进行单向或双向的多次信息交换,通过交换信息的无线信号进行测距和测向,得到第二设备和第一设备的相对距离和相对方位角,即第二空间位置信息。
第二设备可采用飞行时间(Time of Fly,ToF)定位算法,到达时间差(TimeDifference of Arrival,TDoA)定位算法进行测距,得到第二设备和第一设备的相对距离;也可采用到达角(Angle-of-Arrival,AoA)定位算法,发射角(Angle of Departure,AoD)定位算法进行测向,得到第二设备和第一设备的相对方位角。
TOF定位算法和TDoA定位算法,又可分为单边两步定位(Single-sided Two-wayRanging,SS-TWR),双边两步定位(Double-sided Two-way Ranging,DS-TWR),一步定位(One-way Ranging,OWR)。下述以第一设备以SS-TWR方式的ToF定位算法为例,对第一设备定位得到第一设备和第二设备的相对距离的具体过程进行说明。并且,以第一设备采用到达角定位算法为例,定位得到第一设备和第二设备的相对方向角的具体过程进行说明。
第一设备采用SS-TWR方式的ToF定位算法,得到第一设备和第二设备的相对距离的方式如下:
第一设备在S1时刻向第二设备发送UWB信号,UWB信号经过Tp时间后到达第二设备,第二设备收到UWB信号的时刻为S2,第二设备收到UWB信号后,在S3时刻向第一设备反馈UWB反馈信号,其中S2时刻到S3时刻之间的时间段称为回复处理时延Tr, UWB反馈信号中携带有回复处理时延Tr,UWB反馈信号经过Tp时间后到达第一设备,第一设备在S4时刻收到UWB反馈信号。收到UWB反馈信号后,第一设备可以确定出 S1时刻到S4时刻之间的时间段,记为回环时延Td,根据回环时延Td和UWB反馈信号中携带的回复处理时延Tr,按下述公式(1)计算得到UWB信号在第二设备和第一设备之间传输一次所需的时间Tp。
第一设备根据传输一次的时间Tp和UWB信号的传输速度,计算出第一设备和第二设备之间的相对距离。
第一设备采用到达角(Angle of Arrival,AoA)方法获得第一设备和第二设备的相对方位角的方式如下:
第一设备的天线1被配置为用于接收UWB信号的天线阵列,天线阵列包括接收器,与接收器连接的多个天线。第二设备发出UWB信号之后,第一设备的多个天线均会收到 UWB信号,由于多个天线的位置有偏差,第二设备发出的UWB信号到达多个天线时的相位对应的会有一定偏差,第一设备利用多个天线的相位差,计算出第一设备和第二设备的相对方位角。
第一设备和第二设备设置有麦克风阵列,麦克风阵列可发送具有指向性的超声波。第一设备和第二设备利用超声波对对方进行定位。
第一设备和第二设备也可采用飞行时间(Time of Fly,ToF)定位算法,到达时间差 (Time Difference of Arrival,TDoA)定位算法,利用超声波信号进行测距,得到第一设备和第二设备的相对距离;也可采用到达角(Angle-of-Arrival,AoA)定位算法,发射角(Angle of Departure,AoD)定位算法,利用超声波信号进行测向,得到第一设备和第二设备的相对方位角。具体可参见前述内容。
还需要说明的是,介绍本申请方案之前,先对DPP的基本流程进行简单说明。
DPP主要包括以下4个流程:自举(bootstrapping),验证(authentication),配置(configuration),以及网络接入(network introduction)。
1、自举(bootstrapping)
自举bootstrapping的目的就是让一方获取到另一方的公钥(Public key),用于后续的流程。
2、验证(authentication)
发起验证authentication过程的一方称之为启动器(Initiator)。
本环节结束之后,Initiator确定响应器(Responder)确实是自身获取到的公钥Public key 的真正所有者。并且,本环节还可确定建立无线连接的双方中,做配置器(Configurator) 或登录者(Enrollee)的一方。
此外,本环节还生成会话密钥ke用于后面的配置(configuration)环节。
综上,验证authentication有三大作用:1)认证;2)确定双方的角色;3)生成ke。
3、配置(configuration)
通过验证authentication过程的双方进入到配置configuration环节。本环节由Enrollee 发起,且Enrollee发送的信息通过前述ke加密。
在配置configuration环节,Enrollee会通过发送request消息告知Configurator自己是 AP还是STA(或Configurator)。在收到Enrollee发送的request消息后,Configurator发送网络配置信息给Enrollee,网络配置信息包含目标网络的SSID,AKM,以及凭证 (Credential)信息(根据目标网络的类型以及DPP协议版本可能需要提供不同的信息,如Pre-shared key,Connector等)。如果Enrollee收到的Credential信息是Pre-sharedkey, DPP流程结束。
综上,configuration的作用有:1)确定Enrollee角色;2)提供网络配置信息。
4、网络接入(network introduction)
网络接入环节只会发生在1)Enrollee是STA;2)在configuration环节中收到的网络配置信息中包含Connector。
实施例一
在一个应用场景中,第一设备为手机,第二设备为路由器,参见图5a,用户手持手机,靠近路由器,在手机靠近到路由器到一定范围内时,手机和路由器经过多次交互后,可建立无线网络连接。
为实现上述应用场景,参见图5b,本申请实施例提供的一种无线网络连接的建立方法,包括下述步骤:
S501、第一设备和第二设备通过WiFi消息完成发现。
步骤S501的发现过程可有两种实现方式。实现方式一包括下述步骤:
S501a、第二设备发送信标帧(Beacon)。
通常情况下,第二设备按照设定周期向外广播信标帧,在第二设备的WiFi信号的传输距离内的设备,可接收到第二设备广播的信标帧。
一些实施例中,如图6(a)所示,第二设备设置有用于完成WiFi配置的按钮,图中以将该按钮命名为WPS按钮为例展示。第二设备上设置的WPS按钮被触发,第二设备在没有达到信标帧的广播时间,也以广播的形式发送信标帧。位于第二设备的WiFi信号的传输距离内的设备,可接收到第二设备发送的信标帧。若第一设备处于第二设备发送的信标帧的接收范围内,第一设备则可接收到信标帧。第一设备接收到第二设备发送的信标帧,则可以确定自身周围存在可以建立无线网络连接的接入点。
还需要说明的是,在第二设备上设置的WPS按钮被触发,第二设备发送的信标帧还可携带信息,该信息可用于说明第二设备属于待配置设备,可进入无线网络连接的建立,或第二设备支持无线网络连接的配置功能等。
可以理解的是,第一设备接收到第二设备广播的信标帧,即完成了第一设备对第二设备的发现。
S501b、第一设备向第二设备发送探测请求帧(Probe Request)。
第一设备接收到第二设备发送到的信标帧,发现了第二设备。第一设备可向第二设备发送探测请求帧,
在一些实施例中,第一设备的显示屏上可显示如图6(b)所示的信息,以提醒用户在第一设备周围存在可建立无线网络连接的接入点。
第一设备发现第二设备,则可向第二设备发送探测请求帧。在一些实施例中,如图6 (c)所示,用户在第一设备的显示屏上点击“连接”按钮,第一设备响应用户操作,向第二设备发送探测请求帧。
在另一些实施例中,第一设备的显示屏也可以显示“配置按钮”,或要连接的WiFi名称,用户可在第一设备的显示屏上点击“配置按钮”,或点击要连接的WiFi名称,第一设备响应用户操作,向第二设备发送探测请求帧。
S501c、第二设备向第一设备发送探测响应帧(Probe Response)。
第二设备接收到第一设备发送的探测请求帧,第二设备可确定自身周围存在可建立无线网络连接的站点。因此,第二设备向第一设备返回探测响应帧。
可以理解的是,第二设备接收到第一设备发送的探测请求帧,再向第一设备返回探测响应帧,即完成了第二设备对第一设备的发现。
在一些实施例中,第一设备和第二设备可进行单侧发现,即第一设备发现第二设备,或者第二设备发现第一设备即可。基于此,前述步骤S501b和S501c是可选择性执行的步骤。在只需要完成第一设备发现第二设备的场景时,步骤S501b和S501c可不执行。
实现方式二包括下述步骤:
S501d、第一设备发送探测请求帧(Probe Request)。
第一设备可周期性的广播探测请求帧。在第一设备的WiFi信号的传输距离内的设备,可接收到第一设备广播的探测请求帧。
第一设备发送探测请求帧,第二设备接收到探测请求帧,实现了第二设备对第一设备的发现。
一些实施例中,参见图7(d),第一设备的可用WLAN列表展示了第一设备周围的多个无线网络接入点。用户若需要控制第一设备接入可用WLAN列表中的一个接入点,则在第一设备的可用WLAN列表中点击需要连接的接入点按钮,如图7(d)中的接入点 WLAN3。需要说明的是,第一设备的可用WLAN列表展示的多个无线网络接入点,是第二设备发送信标帧,第一设备接收该信标帧确定。
由于WLAN3指代的第二设备支持WPS功能。因此,用户点击WLAN3,第一设备的显示屏按照图7(e)所示,展示第一设备和WLAN3通过WPS方式建立无线连接的提示信息。用户在图7(e)的展示界面点击“连接”按钮,第一设备会响应用户操作,向第二设备(指代WLAN3)发送探测请求帧。
第一设备发送探测请求帧,第二设备接收到探测请求帧,实现了第二设备对第一设备的发现。
一些实施例中,用户在第一设备的WLAN列表中选择了WLAN3,第一设备向第二设备发送的探测请求帧中可携带WLAN3的信息。比如,服务集标识(service set identifier,SSID),MAC(Media Access Control)地址中的至少一个。
S501e、第二设备向第一设备发送探测响应帧(Probe Response)。
第二设备接收到第一设备发送的探测请求帧,第二设备再向第一设备返回探测响应帧。
可以理解的是,第二设备接收到第一设备发送的探测请求帧,则可确定自身周围存在需要接入无线网络的站点,完成对第一设备的发现。
S501f、第二设备发送信标帧(Beacon)。
第二设备可周期性的发现信标帧。一些实施例中,用户按照图7(e)展示的提示信息,控制第一设备靠近第二设备,再如图7(f)所示,触发第二设备的WPS按钮。第二设备的WPS按钮被触发,第二设备可以广播的形式发送信标帧。
第一设备靠近到第二设备的信号接收范围内,可接收到第二设备广播的信标帧。在第一设备接收到第二设备广播的信标帧,则可确定自身周围存在可接入的接入点,完成对第二设备的发现。
S501f是可选择性执行的步骤。在一些实施例中,步骤S501f可不执行。
前述两种实现方式中第一设备和第二设备所交互的消息,可理解成是WiFi消息,是第一设备和第二设备通过WiFi通信技术进行交互。
在一些实施例中,第一设备和第二设备之间通过WiFi消息完成发现过程中,可以在 WiFi消息中携带指示自身支持UWB功能的信息。
具体的,第二设备发送的信标帧,第一设备发送的探测请求帧,第二设备返回的探测响应帧中,均可以携带UWB IE(information element)消息,该消息用于说明自身支持UWB 功能,或,支持通过UWB进行WiFi配置功能,或,支持WSC配置(WSC隐藏的表示了:支持UWB配置方法)。
UWB IE(information element)消息的格式如下:
UWB IE可至少分3个部分,由下表表示。第一部分:Element ID表示是UWB IE,第二部分:length表示整个UWB IE占用的字节数,第3部分:表示UWB IE所携带的信息,如能力信息等。
在一些实施例中,UWB IE(information element)消息可以携带于信标帧、探测请求帧和探测响应帧中的WSC IE的属性信息中。在另一些实施例中,UWB IE(informationelement) 消息也可以一个单独的IE携带于信标帧、探测请求帧和探测响应帧中。
需要说明的是,WSC IE是Wifi alliance中定义的用于WiFi配置的IE,不限制于WSC IE这个称呼。
还需要说明的是,步骤S501及其两种实现方式,是可选择性执行的,其目的是实现第一设备和第二设备对对方设备的发现。在一些应用场景中,第一设备和第二设备建立无线网络的连接时,也可不执行步骤S501及其两种实现方式,直接执行步骤S502。
第一设备与第二设备之间通过WiFi消息执行发现过程发现对方后,第一设备和第二设备对对方进行定位,得到对方的空间位置信息。具体的,第一设备执行下述步骤S502,第二设备执行下述步骤S503。还需要说明的是,第一设备执行步骤S502和第二设备执行步骤S503无执行顺序的限定,图5b以并行执行为例进行展示。
前述内容介绍了第一设备和第二设备通过WiFi消息执行发现过程,第一设备和第二设备还可通过其他技术,如UWB执行发现过程。
第一设备和第二设备之间通过UWB消息完成发现的方式如下:
方式一:第一设备发送信标帧(Beacon)。
第二设备监听第一设备发送的信标帧(Beacon)。
第二设备监听到第一设备发送的信标帧(Beacon),则第二设备完成对第一设备的发现。
其中,第一设备发送信标帧,第二设备监听第一设备发送的信标帧的具体形式,可参考UWB技术要求,此处不详细展开说明。
一些实施例中,第一设备发送的信标帧可携带消息,如指示自身支持UWB功能的信息等。
方式二、第一设备发送信标请求帧(Beacon Request)。
第二设备接收到信标请求帧,第二设备向第一设备发送信标帧(Beacon)。
第一设备发送信标请求帧,第二设备接收该信标请求帧后,向第一设备返回信标帧,完成第一设备和第二设备的互相发现。
一些实施例中,第一设备发送的信标请求帧,第二设备发送的信标帧,也可以携带消息,如指示自身支持UWB功能的信息等。
S502、第一设备对第二设备定位,得到第一空间位置信息。
第一空间位置信息包括:第一设备和第二设备的相对距离,可选的还可包括相对方位角。以下以第一空间位置信息包括第一设备和第二设备的相对距离和相对方向角为例进行说明。
第一设备对第二设备定位,得到第一空间位置信息的具体方式,如前述内容,此处不再赘述。
在一些实施例中,第一设备可以通过例如显示屏、指示灯、扬声器或振动马达等方式,向用户呈现得到的第一空间位置信息。
一些实施例中,若第一设备具有显示屏,则可通过显示屏显示第一空间位置信息。
一些实施例中,若第一设备设置有指示灯,则可通过指示灯的不同运行方式来呈现第二空间位置信息。一些实施例中,指示灯的不同颜色的灯光可用于指示第一设备和第二设备的相对距离和相对方位角,一个示例中,绿灯表示1米的范围内,红灯表示超过1米;或者,绿灯表示90度内的相对方向角,红灯表示超过90度的相对方向角。另一些实施例中,指示灯的不同的闪烁频率可用于指示第二设备和第二设备的相对距离和相对方向角,一个示例中,低频闪烁表示1米的范围内,高频闪烁表示超过1米;或者,低频闪烁表示 90度内的相对方向角,高频闪烁表示超过90度的相对方向角。
一些实施例中,若第一设备设置有扬声器等音频信号输出部件,则可通过音频信号输出部件对第一空间位置信息进行语音播报。若音频信号输出部件为简单的蜂鸣器,则可通过蜂鸣器的不同运行方式来呈现第一空间位置信息。一个示例中,不同时长的蜂鸣用于指示第一设备和第二设备的不同相对距离,或不同相对方位角。
一些实施例中,若第一设备设置有振动马达,第一设备可通过振动马达输出第一空间位置信息。具体可采用振动马达不同振动时长和/或频率,来输出第一空间位置信息。一个示例中,振动马达的不同时长的振动,用于指示第一设备和第二设备的不同相对距离,振动马达的不同频率的振动,用于指示第一设备和第二设备的不同相对方向角。
S503、第二设备对第一设备定位,得到第二空间位置信息。
第二空间位置信息也可包括:第一设备和第二设备的相对距离和相对方位角。同理,第二设备对第一设备定位,得到第二空间位置信息的具体方式也如前述内容。
在一些实施例中,第二设备可以通过例如显示屏、指示灯、扬声器或振动马达等方式,向用户呈现得到的第二空间位置信息。
一些实施例中,若第二设备具有显示屏,则可通过显示屏显示第二空间位置信息。
一些实施例中,若第二设备设置有指示灯,则可通过指示灯的不同运行方式来呈现第二空间位置信息。一些实施例中,指示灯的不同颜色的灯光可用于指示第一设备和第二设备的相对距离和相对方位角,一个示例中,绿灯表示1米的范围内,红灯表示超过1米;或者,绿灯表示90度内的相对方向角,红灯表示超过90度的相对方向角。另一些实施例中,指示灯的不同的闪烁频率可用于指示第二设备和第二设备的相对距离和相对方向角,一个示例中,低频闪烁表示1米的范围内,高频闪烁表示超过1米;或者,低频闪烁表示 90度内的相对方向角,高频闪烁表示超过90度的相对方向角。
一些实施例中,若第二设备设置有扬声器等音频信号输出部件,则可通过音频信号输出部件对第二空间位置信息进行语音播报。若音频信号输出部件为简单的蜂鸣器,则可通过蜂鸣器的不同运行方式来呈现第二空间位置信息。一个示例中,不同时长的蜂鸣用于指示第一设备和第二设备的不同相对距离,或不同相对方位角。
一些实施例中,若第二设备设置有振动马达,第二设备可通过振动马达输出第二空间位置信息。具体可采用振动马达不同振动时长和/或频率,来输出第二空间位置信息。一个示例中,振动马达的不同时长的振动,用于指示第一设备和第二设备的不同相对距离,振动马达的不同频率的振动,用于指示第一设备和第二设备的不同相对方向角。
在一些实施例中,步骤S502和步骤S503之前,第一设备可通过WiFi消息通知第二设备,第一设备要发起定位;和/或,第二设备通过WiFi消息通知第一设备,第二设备要发起定位。
具体的,第一设备向第二设备发送探测请求帧,该探测请求帧中携带指示信息,该指示信息用于指示第一设备要发起定位。在一些实施例中,该指示信息是1个bit位的指示信息,可以携带于UWB IE中,或,WiFi配置的IE中。
第二设备向第一设备发送信标帧,信标帧中携带指示信息,同理,该指示信息也用于指示第二设备要发起定位。
需要说明的是,如前所述,本实施例中的第一设备是STA,第二设备是AP。通常情况下,STA发送探测请求帧,AP发送信标帧。因此,第一设备向第二设备发送的探测请求帧,第二设备发送的信标帧携带指示信息。但第一设备也可发送信标帧,第二设备也可发送探测请求帧,如此可以理解成:第一设备向第二设备发送的WiFi消息中携带指示信息,第二设备向第一设备发送的WiFi消息中也可携带指示信息。
S504、第一设备基于第一空间位置信息,验证第二设备。
第一设备基于第一空间位置信息,验证第二设备,可有下述两种实施方式。
方式一、S504a、第一设备基于第一空间位置信息,通过响应用户操作实现对第二设备的验证。
第一设备呈现第一空间位置信息。在一些实施例中,第一设备具有显示屏,第一设备的显示屏显示第一空间位置信息。在另一些实施例中,第一设备具有音频信号输出部件,第一设备通过该音频信号输出部件播放第一空间位置信息。
在第一设备呈现第一空间位置信息后,用户执行确定动作;可在第一设备的显示屏上执行长按,短按,多次点击用户界面等多种对显示屏的触控操作,第一设备响应用户对显示屏的触控操作,完成对第二设备验证。用户也可输入语音,第一设备识别用户的语音,完成对第二设备的验证。用户还可通过执行特定动作的方式,如特定手势等,第一设备响应用户执行的特定动作,完成对第二设备的验证。
第一设备呈现WiFi列表,该WiFi列表至少包括第二设备,用户点击要连接的第二设备,第一设备响应用户对WiFi列表的点击操作,验证第二设备。在一些实施例中,若WiFi列表包括除第二设备之外的多个接入点,还可显示第二设备和每个接入点的空间位置信息。
方式二、S504b、第一设备判断第一空间位置信息是否符合第一条件,第二条件,或第一条件和第二条件。
第一条件:第一空间位置信息在预设范围内。
第一设备判断第一空间位置中第一设备和第二设备的相对距离是都在预设范围内,如在1米距离内,或2米距离内等。
第二条件:第一空间位置信息和第二空间位置信息相匹配。第一空间位置信息与第二空间位置信息相同,或者,第一空间位置信息与第二空间位置信息的差在预定范围内,具体的,第一设备和第二设备的相对距离的距离差在第一范围内,第一设备和第二设备的相对方向角的角度差在第二范围内,在一个示例中,距离差在10cm左右,方向角度差在3 度左右。
在第一设备判断第一空间位置信息是否符合第二条件时,第一设备还需要通过消息交互,获取第二设备的第二空间位置信息。
S505、第二设备基于第二空间位置信息,验证第一设备。
第二设备基于第二空间位置信息,验证第一设备的方式,可如前述步骤第一设备基于第一空间位置信息,验证第二设备的方式。
具体为:S505a、第二设备基于第二空间位置信息,通过响应用户操作实现对第一设备的验证。或者,S505b、第二设备判断第二空间位置信息是否符合第一条件,第二条件,或第一条件和第二条件。
需要说明的是,步骤S504、第一设备基于第一空间位置信息验证第二设备,以及步骤 S505、第二设备基于第二空间位置信息验证第一设备,还可采用下述实施方式,具体参见图5b,该实施方式包括:
S506、第一设备向第二设备发送第一公钥。
第一设备配置有一个非对称密钥对,非对称密钥包括第一公钥和第一私钥,第一公钥可对外公布,第一私钥不对外公开。非对称密钥对可由第一设备生成或者预先存储。
在一些实施例中,第一设备通过UWB信道发送第一公钥,第二设备通过UWB信道接收第一公钥。其中,采用本实施方式提供的验证方式之前,第一设备和第二设备可通过前述两种实施方式提供的任意一种验证方式,对对方设备进行验证。如此,因第一设备和第二设备利用UWB功能对对方设备进行定位,且定位验证成功,说明第一设备和第二设备采用UWB信道交互消息,是可信的。基于此,第一设备通过UWB信道发送第一公钥。
当然,第一设备和第二设备,也可直接通过本是实施方式提供的验证方式,进行验证。而不执行前述两个实施方式。
一些实施例中,第一设备通过UWB信道发送第一公钥,还可以是在UWB信道上加密传输第一公钥。具体的,第一设备对第一公钥进行加密,得到加密后的第一公钥,第一设备通过UWB信道向第二设备发送加密的第一公钥。
第一设备对第一公钥的加密方式并不限制,可采用常见的多种加密算法,此处不展开说明。并且,第一设备和第二设备需预先约定好对第一公钥加密的方式。
在另一些实施例中,第一设备通过UWB信道向第二设备发送第一公钥。第二设备通过WiFi信道向第一设备发送第二公钥。
其中,第二设备通过UWB信道获得第一设备的WiFi信道的信息,帮助第二设备利用WiFi信道来发现第一设备。
具体的,第一设备通过UWB信道发送UWB消息,该消息中携带第一设备的WiFi信道、MAC地址等信息。第二设备接收到UWB消息,可根据该消息中携带的信息,确定第一设备的WiFi信道。如此,第二设备可通过WiFi信道向第一设备发送第二公钥。
S507、第二设备向第一设备发送第二公钥。
第二设备也可生成或预先存储有一个非对称密钥对,非对称密钥包括第二公钥和第四私钥,第二公钥可对外公布,第四私钥不对外公开。
在一些实施例中,第二设备通过UWB信道向第一设备发送第二公钥。
在另一些实施例中,第二设备通过WiFi信道向第一设备发送第二公钥。
其中,第二设备向第一设备发送第二公钥的方式,可参见前述步骤S506内容,此处不再赘述。
需要说明的是,步骤S506和步骤S507可以理解成是DPP流程中的自举环节。
本实施例中,第一设备经过步骤S502得到第二设备的空间位置信息,经过步骤S504,第一设备通过第二设备的空间位置信息,验证第二设备,且在第二设备验证成功时,向第二设备发送第一公钥,该第一公钥用于DPP流程中的后续环节。
同理,第二设备也经过步骤S503得到第一设备的空间位置信息,经过步骤S505,第二设备通过第一设备的空间位置信息,验证第一设备,且在第一设备验证成功时,向第一设备发送第二公钥,第二公钥也用于DPP流程中的后续环节。
如此可以看出:第一设备和第二设备获取对方公钥的方式较为方便。
需要说明的是,第一设备向第二设备发送第一公钥,第二设备向第一设备发送第二公钥这两个交互公钥的环节,只需要保证一个设备向另一个设备发送公钥是采用UWB信道,且通常是先发送公钥的设备先采用UWB信道发送。
还需要说明的是,第一设备经过步骤S502得到第二设备的空间位置信息,再经过步骤S504,第一设备通过第二设备的空间位置信息,验证第二设备成功之后,第一设备才向第二设备发送第一公钥,可以保证第一设备向合法的第二设备发送第一公钥,进而以该公钥完成后续流程,实现第一设备与合法的第二设备建立无线网络连接。
同理,第二设备经过步骤S503得到第一设备的空间位置信息,再经过步骤S505,第二设备通过第一设备的空间位置信息,验证第一设备成功后,第二设备再向第一设备发送第二公钥,也可以保证第二设备向合法的第一设备发送第二公钥,也保证以该第二公钥执行后续流程,实现第二设备与合法的第一设备建立无线网络连接。
S508、第一设备利用第二公钥和第一私钥,生成第一共享密钥或第一共享密钥的衍生密钥。
在一些实施例中,第一设备利用第一私钥和第二公钥,生成第一共享密钥后,可截取第一共享密钥的一部分作为第一共享密钥的衍生密钥。
在另一些实施例中,第一设备还可对第一共享密钥进行一次或多次hash运算,hash 运算后的全部数值或部分数值,作为第一共享密钥的衍生密钥。
在另一些实施例中,第一设备还可利用第一共享密钥结合设备双方共同拥有的一个或多个明文信息或明文信息的衍生信息,进行一次或多次hash运算,得到第一共享密钥的衍生密钥。进一步的,还可截取第一共享密钥的一部分作为要使用的衍生密钥。
其中,设备双方共同拥有的一个或多个明文信息,可包括:
第一设备或第二设备生成的随机数;第一设备或第二设备的属性信息,该属性信息可包括:设备的描述信息,设备的能力信息,设备的状态,设备地址,涉笔使用的协议名称,协议版本,以及公钥信息等多个信息中的一个或多个;可填充多个数字的一个密钥,该数字一般为0或1;时间;其他固定的明文信息。
设备双方共同拥有的一个或多个明文信息的衍生信息的生成方式如下:1、取一个或多个明文信息的一部分作为衍生密钥;2、对一个或多个明文信息进行hash运算,hash运算后的全部或部分数值作为衍生信息。
设备双方共同拥有的一个或多个明文信息的方式可以是:第一设备和第二设备中的一方,将一个或多个明文信息发送到另一方。还可以是:第一设备和第二设备共同约定。还可以是:获取针对第一设备和第二设备来说的公开信息。
前述内容提出的hash运算均可以是采用SHA-256,SHA-128等算法。
S509、第二设备利用第一公钥和第四私钥,生成第一共享密钥或第一共享密钥的衍生密钥。
第二设备生成第一共享密钥的衍生密钥的方式,可如步骤S508中第一设备生成第一共享密钥的衍生密钥的方式,此处不再赘述。
另外,在第一设备接收到第二公钥正确,第二设备接收到的第一公钥正确的情况下,第二设备生成的第一共享密钥和第一设备生成的第一共享密钥,是相同密钥。
S510、第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证。
一个可能的实施方式中,步骤S510、第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证的方式,包括:
1)第一设备基于第一共享密钥或第一共享密钥的衍生密钥,生成第一验证值,并向第一设备发送第一验证值。
2)第二设备接收到第一设备发送的第一验证值后,验证第一验证值。
3)第二设备基于第一共享密钥或第一共享密钥的衍生密钥,生成第二验证值,并向第一设备发送第二验证值。
其中,第二设备可在验证第一验证值正确时,再基于第一共享密钥或第一共享密钥的衍生密钥,生成第二验证值。
4)第一设备接收到第二设备发送的第二验证值后,验证第二验证值。
本实施方式中,第一设备对第一共享密钥或第一共享密钥的衍生密钥进行一次或多次 hash运算,hash运算后的全部数值或者部分数值作为第一验证值。同理,第二设备对第一共享密钥或第一共享密钥的衍生密钥进行一次或多次hash运算,hash运算后的全部数值或者部分数值作为第二验证值。
需要说明的是,若第一设备和第二设备生成的第一共享密钥或第一共享密钥的衍生密钥相同,第一设备和第二设备采用同样的验证值生成方式,生成的第一验证值和第二验证是相同的。
本实施方式中,第一设备和第二设备采用同样的生成方式生成验证值,则验证对方设备生成的方式也相同,以下以第一设备验证第二验证值的方式为例进行介绍:
一些实施例中,第一设备验证第二验证值的方式为:第一设备解密第二验证值,得到解密值,验证解密值是否正确。
另一些实施例中,第一设备验证第二验证值的方式为:第一设备生成第三验证值,比对第三验证值与第二验证值是否相同。在第一设备确定第三验证值和第二验证值相同,则验证第二验证值正确。
另一些实施例中,第一设备验证第二验证值的方式为:第一设备比对第一验证值与第二验证值是否相同。在第一设备确定第一验证值和第二验证值相同,则验证第二验证值正确。
另一个可能的实施方式中,步骤S510、第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证的方式,包括:
1)第一设备基于第一共享密钥或第一共享密钥的衍生密钥,以及第一空间位置信息,生成第一验证值,并向第一设备发送第一验证值。
2)第二设备接收到第一设备发送的第一验证值后,验证第一验证值。
3)第二设备基于第一共享密钥或第一共享密钥的衍生密钥,以及第二空间位置信息,生成第二验证值,并向第一设备发送第二验证值。
其中,第二设备也可在验证第一验证值正确时,再基于第一共享密钥或第一共享密钥的衍生密钥,以及第二空间位置信息,生成第二验证值。
4)第一设备接收到第二设备发送的第二验证值后,验证第二验证值。
本实施方式中,第二设备生成第二验证值的方式,与第一设备生成第一验证值的方式相同。下述以第一设备生成第一验证值的方式为例进行介绍:
第一设备对第一共享密钥和第一空间位置信息进行一次或多次hash运算,hash运算后的全部数值或者部分数值作为第一验证值。或者,第一设备对第一共享密钥的衍生密钥和第一空间位置信息进行hash运算,hash运算后的全部数值或者部分数值作为第一验证值。
在一些实施例中,第一设备可截取第一空间位置信息的一部分作为衍生密钥,和第一共享密钥或第一共享密钥的衍生密钥,生成第一验证值。在一个示例中,第一空间位置信息包括:第一设备和第二设备的相对距离为0.8米,相对方向角为30度,则将其转化为数字08作为衍生密钥,将其转化为数字30作为衍生密钥,或者,将其转化为数字0830作为衍生密钥。
在另一些实施例中,第一设备可对第一空间位置信息进行一次或多次hash运算,hash 运算后的全部数值或者部分数值,作为衍生密钥,和第一共享密钥或第一共享密钥的衍生密钥生成第一验证值。
在另一些实施例中,第一设备可对第一空间位置信息,以及一个或多个明文信息或明文信息的衍生信息,进行一次或多次hash运算,hash运算后的全部数值或者部分数值,作为衍生密钥;再利用衍生密钥和第一共享密钥或第一共享密钥的衍生密钥生成第一验证值。
本实施方式中,第一设备和第二设备采用同样的生成方式生成验证值,则验证对方设备生成的方式也相同,以下也以第一设备验证第二验证值的方式为例进行介绍:
一些实施例中,第一设备验证第二验证值的方式为:第一设备解密第二验证值得到第二空间位置信息,第一设备比对第一空间位置信息和第二空间位置信息,第一空间位置信息与第二空间位置信息相同,或者,第一空间位置信息与第二空间位置信息的差在预定范围内,则第一设备验证第二验证值正确。
其中,第一空间位置信息与第二空间位置信息的差在预定范围内,可指代:第一设备和第二设备的相对距离的距离差在第一范围内,第一设备和第二设备的相对方向角的角度差在第二范围内。在一个示例中,距离差在10cm左右,方向角度差在3度左右。
另一些实施例中,第一设备验证第二验证值的方式为:第一设备生成第三验证值,比对第三验证值与第二验证值是否相同。在第一设备确定第三验证值和第二验证值相同,则验证第二验证值正确。
另一些实施例中,第一设备验证第二验证值的方式为:第一设备比对第一验证值与第二验证值是否相同。在第一设备确定第一验证值和第二验证值相同,则验证第二验证值正确。
步骤S508至步骤S510的过程,可理解成是DPP流程中的验证环节。
还需要说明的是,前述提出的第一设备基于第一空间位置信息,验证第二设备的每一种实施方式,也可执行多次。并且,前述提出的第一设备基于第一空间位置信息,验证第二设备的几种实施方式,还可任意组合执行,实现第一设备基于第一空间位置信息,多次验证第二设备。同理,第二设备基于第二空间位置信息,验证第一设备的每一种实施方式,也可执行多次。并且,第二设备基于第二空间位置信息,验证第一设备的几种实施方式也可以任意组合执行,实现第二设备基于第二空间位置信息,多次验证第一设备。
S511、第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证成功后,第二设备向第一设备发送第一连接公钥。
其中,第二设备生成非对称密钥对,包括第一连接公钥和第一连接私钥。
本实施例中,第一设备是以手机为例,第二设备是以路由器为例进行介绍。因手机相对于路由器来说,所具有功能更多,使用更方便。因此,本实施例中以手机作为密钥的管理者为示例进行说明,但这并不限定只能由第一设备作为管理者来执行下述步骤S512至步骤S514。
S512、第一设备利用第一签名私钥对第一连接公钥进行签名,生成第一签名信息。
其中,第一设备设置有包括第一签名私钥和第一签名公钥的一个非对称密钥对。第一设备接收到第二设备发送的第一连接公钥,第一设备利用第一签名私钥对第一连接公钥进行签名,生成第一签名信息。
具体的,第一设备对第一连接公钥进行hash运算,得到第一hash值,并利用第一签名私钥对第一hash值进行加密,得到第一签名信息。
在一些实施例中,第一设备还可以利用第一签名私钥,对第一连接公钥和其他信息进行签名,得到第一签名信息。其他信息可以为设备的角色信息,组标识信息等设备信息。
S513、第一设备向第二设备发送第一签名信息和第一签名公钥。
S514、第一设备生成第二连接公钥,并利用第一签名私钥对第二连接公钥进行签名,生成第二签名信息。
其中,第一设备生成第二连接公钥,还会对应生成第二连接公钥对应的第二连接私钥。第二连接公钥和第二连接私钥构成了一个非对称私钥对。
具体的,第一设备对第二连接公钥进行hash运算,得到第二hash值,并利用第一签名私钥对第二hash值进行加密,得到第二签名信息。
在一些实施例中,第二设备还可以对第二连接公钥和其他信息进行签名,其他信息可包括:设备的角色信息,组标识信息等设备信息。
S515、第二设备向第一设备发送第一连接公钥和第一签名信息。
本步骤中,第二设备发送的第一连接公钥,与步骤S511中第二设备发送的第一连接公钥相同。第二设备发送的第一签名信息为:步骤S5113中第二设备接收到第一设备发送的第一签名信息。
S516、第一设备利用第一签名公钥验证第一签名信息是否正确。
在一些实施例中,第一设备使用第一签名公钥对第一签名信息验证的方式为:第一设备利用第一签名公钥解密第一签名信息,如果能解密成功,表示验证通过,如果解密失败,表示验证不通过。
在另一些实施例中,第一设备使用第一签名公钥对第一签名信息验证的方式为:第一设备利用第一签名公钥解密第一签名信息,获得第一hash值。第一设备对第一连接公钥进行hash运算,得到第二hash值,并比对第一hash值与第二hash值;如果第一hash值与第二hash值相同,表示验证通过,否则,验证不通过。
在另一些实施例中,第一设备利用第一签名公钥解密第一签名信息,获得第一hash值之外,还得到设备的角色信息和组标识信息等设备信息,则第一设备验证设备的角色信息和组标识信息等设备信息是否正确,若验证设备的角色信息和组标识信息等设备信息均正确,则验证第一签名信息正确。
第一设备利用第一签名私钥,验证第一签名信息正确,则执行S517、第一设备利用第一连接公钥和第二连接私钥,生成第一连接密钥或第一连接密钥的衍生密钥。
需要说明的是,第一设备利用第一连接公钥和第二连接私钥生成第一连接密钥,可基于第一连接密钥,生成第一连接密钥的衍生密钥。
其中,第一设备可对第一连接公钥和第二连接私钥进行hash运算,得到第一连接密钥。
在一些实施例中,第一设备截取第一连接密钥的一部分作为第一连接密钥的衍生密钥。
在另一些实施例中,第一设备对第一连接密钥进行一次或多次hash运算,hash运算后的全部数值或部分数值,作为第一连接密钥的衍生密钥。
在另一些实施例中,第一设备利用第一连接密钥结合设备双方共同拥有的一个或多个明文信息或明文信息的衍生信息,进行一次或多次hash运算,得到第一连接密钥的衍生密钥。进一步的,还可截取第一连接密钥的一部分作为要使用的衍生密钥。
其中,设备双方共同拥有的一个或多个明文信息,可包括:
第一设备或第二设备生成的随机数;第一设备或第二设备的属性信息,该属性信息可包括:设备的描述信息,设备的能力信息,设备的状态,设备地址,涉笔使用的协议名称,协议版本,以及公钥信息等多个信息中的一个或多个;可填充多个数字的一个密钥,该数字一般为0或1;时间;其他固定的明文信息。
设备双方共同拥有的一个或多个明文信息的衍生信息的生成方式如下:1、取一个或多个明文信息的一部分作为衍生密钥;2、对一个或多个明文信息进行hash运算,hash运算后的全部或部分数值作为衍生信息。
设备双方共同拥有的一个或多个明文信息的方式可以是:第一设备和第二设备中的一方,将一个或多个明文信息发送到另一方。还可以是:第一设备和第二设备共同约定。还可以是:获取针对第一设备和第二设备来说的公开信息。
前述内容提出的hash运算均可以是采用SHA-256,SHA-128等算法。
S518、第一设备向第二设备发送第二连接公钥和第二签名信息。
需要说明的是,步骤S518可在步骤S514得到第二签名信息之后的任意时刻执行。图 5b展示了步骤S518的一种执行位置,但并不构成对S518执行位置的限定。
S519、第二设备利用第一签名公钥验证第二签名信息是否正确。
在一些实施例中,第二设备接收到第二连接公钥和第二签名信息,第二设备利用第一签名公钥验证第二签名信息,具体的,第二设备利用第一签名公钥解密第二签名信息,若能解密成功,表示验证通过,如果解密失败,表示验证不通过。
在另一些实施例中,第二设备使用第一签名公钥对第二签名信息验证的方式为:第二设备利用第一签名公钥解密第二签名信息,获得第二hash值。第二设备对第二连接公钥进行hash运算,得到第三hash值,并比对第三hash值与第二hash值;如果第三hash值与第二hash值相同,表示验证通过,否则,验证不通过。
在另一些实施例中,第二设备利用第一签名公钥解密第二签名信息,除得到第二hash 值之外,还得到设备的角色信息和组标识信息等设备信息,则第二设备进一步验证设备的角色信息和组标识信息等设备信息是否正确,若验证设备的角色信息和组标识信息等设备信息均正确,则验证第二签名信息正确。
第二设备利用第一签名私钥,验证第二签名信息正确,则执行S520、第二设备利用第二连接公钥和第一连接私钥,生成第一连接密钥或第一连接密钥的衍生密钥。
本步骤中,第二设备生成第一连接密钥的衍生密钥的方式,与前述步骤S517的方式相同,可参照前述步骤S517的内容,此处不再赘述。
步骤S511至步骤S520的过程,可理解成是DPP流程中的配置环节。
S521、第一设备与第二设备利用第一连接密钥或第一连接密钥的衍生密钥,建立WiFi 连接。
具体的,第一设备和第二设备利用第一连接密钥或第一连接密钥的衍生密钥,作为 PSK(preshared key),或,Passphrase,或,password,或,PMK(Pairwise Master Key),执行 IEEE802.11协议建立连接:可以是执行802.11的四步握手过程。
本实施例中,第一设备和第二设备交互时仅交互公钥,未交互过私钥,安全性更高。并且,第一设备利用第一连接私钥和第二连接公钥,生成第一连接密钥或第一连接密钥的衍生密钥,第一连接私钥为第一设备的私钥,因此,不同的第一设备可通过自身的连接私钥而生成的连接密钥或衍生密钥,和第二设备建立无线连接,进一步提高了安全性。
步骤S521可理解成是DPP流程中的网络接入环节。
实施例二
由第一设备和第二设备执行的无线网络连接的建立方法,还可为另一种执行过程,参见图8,本申请另一实施例提供的一种无线网络连接的建立方法,包括下述步骤:
S801、第一设备和第二设备通过WiFi消息进行发现。
S802、第一设备与第二设备执行定位过程,得到第一空间位置信息。
S803、第二设备与第一设备执行定位过程,得到第二空间位置信息。
本实施例中,步骤S801至步骤S803的具体实施方式,可参见对应图5b的实施例中的步骤S501至步骤S503的内容,此处不再赘述。
步骤S801也是可选择性执行的步骤,在一些应用场景中,可不执行步骤S801,而直接执行步骤S802和步骤S803。并且,步骤S802和步骤S803并没有执行顺序的限定,图 9展示了步骤S802和步骤S803并列执行的一种示例。
S804、第一设备基于第一空间位置信息,验证第二设备。
S805、第二设备基于第二空间位置信息,验证第一设备。
第二设备基于第二空间位置信息,验证第一设备的方式,如前述步骤第一设备基于第一空间位置信息,验证第二设备的方式。
由于下述步骤S806至S810也可以实现第一设备和第二设备之间基于空间位置信息进行验证,因此,步骤S804和步骤S805是可选择性执行的步骤。在第一设备和第二设备采用步骤S806至S810的方式进行验证时,步骤S804和步骤S805可不执行。
S806、第一设备向第二设备发送第一公钥。
第一设备配置有一个非对称密钥对,非对称密钥包括第一公钥和第一私钥,第一公钥可对外公布,第一私钥不对外公开。非对称密钥对可由第一设备生成或者预先存储。
第一设备向第二设备发送第一公钥的方式,如前述步骤S506的内容,此处不再赘述。
S807、第二设备向第一设备发送第二公钥。
第二设备也可生成或预先存储有一个非对称密钥对,非对称密钥包括第二公钥和第二私钥,第二公钥可对外公布,第二私钥不对外公开。
第二设备向第一设备发送第二公钥的方式,可参见前述步骤S507内容,此处不再赘述。
需要说明的是,步骤S806和步骤S807可以理解成是DPP流程中的自举环节。
并且,步骤S802到步骤S807的内容,可实现前述步骤S502到步骤S507同样的技术效果。
S808、第一设备利用第二公钥和第一私钥,生成第一共享密钥第一共享密钥或第一共享密钥第一共享密钥的衍生密钥。
第一设备利用第二公钥和第一私钥,生成第一共享密钥第一共享密钥或第一共享密钥第一共享密钥的衍生密钥,如前述步骤S508内容,此处不再赘述。
S809、第二设备利用第一公钥和第二私钥,生成第一共享密钥第一共享密钥或第一共享密钥第一共享密钥的衍生密钥。
第二设备生成第一共享密钥第一共享密钥或第一共享密钥第一共享密钥的衍生密钥的方式,可如前述步骤S509内容,此处不再赘述。
S810、第一设备和第二设备基于第一共享密钥第一共享密钥或第一共享密钥第一共享密钥的衍生密钥进行认证。
其中,第一设备和第二设备,基于第一共享密钥第一共享密钥或第一共享密钥第一共享密钥的衍生密钥进行认证的方式,可如前述步骤S510内容,此处不再赘述。
步骤S808至步骤S810的过程,可理解成是DPP流程中的验证环节。
第一设备和第二设备基于第一共享密钥第一共享密钥或第一共享密钥第一共享密钥的衍生密钥进行认证成功,则执行S811、第一设备与第二设备利用连接密钥建立WiFi连接。
在一个可能的实施方式中,步骤S811中,第一设备与第二设备利用连接密钥建立WiFi 连接,包括:
S811a、第一设备向第二设备发送第一信任状信息,第一信任状信息包含第一连接密钥或第一连接密钥的衍生密钥,第一连接密钥或第一连接密钥的衍生密钥用于第一设备与第二设备之间建立WiFi连接。
第一连接密钥可为用户设定的连接网络的密码,或者预先存储的连接网络的密码。第一信任状信息是一种可包含允许设备连接无线连接的信息的数据结构。
S811b、第一设备和第二设备利用第一连接密钥或第一连接密钥的衍生密钥,建立WiFi 连接。
具体的,利用第一连接密钥或第一连接密钥的衍生密钥作为PSK(presharedkey),或, Passphrase,或,password,或,PMK(Pairwise Master Key),执行IEEE802.11协议建立连接:可以是执行802.11的四步握手过程。
在另一个可能的实施方式中,步骤S811中,第一设备与第二设备利用连接密钥建立 WiFi连接,包括:
S811c、第二设备向第一设备发送第二信任状信息,第二信任状信息包含第二连接密钥或第二连接密钥的衍生密钥,第二连接密钥或第二连接密钥的衍生密钥用于第一设备与第二设备之间建立WiFi连接。
第二连接密钥可为用户设定的连接网络的密码,或者预先存储的连接网络的密码。第二信任状信息也是一种可包含允许设备连接无线连接的信息的数据结构。
S811d、第二设备和第一设备利用第二连接密钥或第二连接密钥的衍生密钥,建立WiFi 连接。
具体的,利用第二连接密钥或第二连接密钥的衍生密钥作为PSK(presharedkey),或, Passphrase,或,password,或,PMK(Pairwise Master Key),执行IEEE802.11协议建立连接:可以是执行802.11的四步握手过程。
步骤S811可理解成是DPP流程中的网络接入环节。
实施例三
可建立无线网络连接的设备种类越来越多,如手机等便携式设备,可方便地相互靠近,完成设备间的无线网络连接的建立。但大型电子设备并不方便移动位置,无法采取前述实施例提供的无线网络连接的建立方法,完成两个设备间的无线网络连接的建立。
在一个应用场景中,参见图9a,打印机和路由器间隔较远,两者执行前述实施例提供的无线网络连接的建立流程时,可能因无法对对方设备定位而建立无线连接失败。基于此,本申请实施例提供了另一种无线网络连接的建立方案,在无线网络连接的建立方案,路由器和打印机借助一个便携式设备,如手机,来实现无线网络连接的建立。
本实施例提供的无线网络连接的建立方案中,用户可先如图9b所示,采用手机与路由器进行定位和定位验证,再如图9c,将手机和打印机进行定位和定位验证。手机和路由器的定位验证正确,手机和打印机的定位验证也正确时,打印机可与路由器建立无线网络连接。
本应用场景中,手机、打印机和路由器均需要具备UWB功能。作为站点的手机、打印机等电子设备,其硬件结构可如图2所示;作为接入点的路由器等设备,其硬件结构也可如图3所示。
下述以手机、打印机和路由器三个设备为例,对本实施例介绍的无线网络连接的建立方法进行介绍。
第二设备通过第一设备与第三设备建立无线连接,也可以为另一种实施方式,参见图 10,本申请另一实施例提供的一种无线网络接入的方法,包括下述步骤:
S1001、第一设备和第二设备通过WiFi消息完成发现。
S1002、第一设备对第二设备定位,得到第一空间位置信息。
S1003、第二设备对第一设备定位,得到第二空间位置信息。
本实施例中,步骤S1001至步骤S1003的具体实施方式,可参见对应图5b的实施例中的步骤S501至步骤S503的内容,此处不再赘述。
步骤S1001是可选择性执行的步骤,在一些应用场景中,可不执行步骤S1001,而直接执行步骤S1002和步骤S1003。并且,步骤S1002和步骤S1003并没有执行顺序的限定,图10展示了步骤S1002和步骤S1003并列执行的一种示例。
S1004、第一设备基于第一空间位置信息,验证第二设备。
S1005、第二设备基于第二空间位置信息,验证第一设备。
本实施例中,步骤S1004和步骤S1004的具体实施方式,可参见对应图5b的实施例内容,此处不再赘述。
由于下述步骤S1006至S1010也可以实现第一设备和第二设备之间基于空间位置信息进行验证,因此,步骤S1004和步骤S1005是可选择性执行的步骤。在第一设备和第二设备采用步骤S1006至S1010的方式进行验证时,步骤S1004和步骤S1005可不执行。
S1006、第一设备验证第二设备成功,第一设备向第二设备发送第一公钥。
第一设备配置有一个非对称密钥对,非对称密钥包括第一公钥和第一私钥,第一公钥可对外公布,第一私钥不对外公开。非对称密钥对可由第一设备生成或者预先存储。
在一些实施例中,第一设备通过UWB信道向第二设备发送第一公钥。
其中,第一设备向第二设备发送第一公钥的方式,如前述步骤S506内容,此处不再赘述。
S1007、第二设备验证第一设备成功,第二设备向第一设备发送第二公钥。
第二设备也可生成或预先存储有一个非对称密钥对,非对称密钥包括第二公钥和第二私钥,第二公钥可对外公布,第二私钥不对外公开。
在一些实施例中,第二设备通过UWB信道向第一设备发送第二公钥。
在另一些实施例中,第二设备通过WiFi信道向第一设备发送第二公钥。
其中,第二设备向第一设备发送第二公钥的方式,可参见前述步骤S507内容,此处不再赘述。
S1008、第一设备利用第二公钥和第一私钥,生成第一共享密钥或第一共享密钥的衍生密钥。
第一设备生成第一共享密钥的衍生密钥或第一共享密钥的衍生密钥的方式,可如步骤 S508内容,此处不再赘述。
S1009、第二设备利用第一公钥和第二私钥,生成第一共享密钥或第一共享密钥的衍生密钥。
第二设备生成第一共享密钥的衍生密钥或第一共享密钥的衍生密钥的方式,可如前述步骤S509内容,此处不再赘述。
另外,在第一设备接收到第二公钥正确,第二设备接收到的第一公钥正确的情况下,第二设备生成的第一共享密钥和第一设备生成的第一共享密钥,是相同的。
S1010、第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证。
其中,第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证的方式,可如前述步骤S510内容,此处不再赘述。
第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证成功,则执行步骤S1011、第二设备向第一设备发送第一连接公钥。
其中,第二设备生成非对称密钥对,包括第一连接公钥和第一连接私钥。
S1012、第一设备利用第一签名私钥对第一连接公钥进行签名,生成第一签名信息。
其中,第一设备设置有包括第一签名私钥和第一签名公钥的一个非对称密钥对。第一设备接收到第二设备发送的第一连接公钥,第二设备利用第一签名私钥对第一连接公钥进行签名,生成第一签名信息。
在一些实施例中,第一设备还可以利用第一签名私钥,对第一连接公钥和其他信息进行签名,得到第一签名信息。其他信息可以为设备的角色信息,组标识信息等设备信息。
S1013、第一设备向第二设备发送第一签名信息和第一签名公钥。
S1014、第一设备和第三设备通过WiFi消息完成发现。
其中,第一设备和第三设备通过WiFi消息完成发现的实现方式可如对应图5b的实施例中的步骤S501的内容,此处不再赘述。
在一些实施例中,第三设备也可设置有WPS按钮,第三设备上电,第一设备和第三设备可通过WiFi消息完成发现。
第一设备和第三设备也可通过UWB执行发现过程,其具体过程也可如对应图5b的实施例中的步骤S501的内容,此处不再赘述。
S1015、第一设备对第三设备定位,得到第三空间位置信息。
S1016、第三设备对第一设备定位,得到第四空间位置信息。
本实施例中,步骤S1015至步骤S1016的具体实施方式,可参见对应图5b的实施例中的步骤S502至步骤S503的内容,此处不再赘述。
步骤S1014也是可选择性执行的步骤,在一些应用场景中,可不执行步骤S1014,而直接执行步骤S1015和步骤S1016。并且,步骤S1015和步骤S1016并没有执行顺序的限定,图10展示了步骤S1015和步骤S1016并列执行的一种示例。
S1017、第一设备基于第三空间位置信息,验证第三设备。
S1018、第三设备基于第四空间位置信息,验证第一设备。
本实施例中,步骤S1017和步骤S1018的具体实施方式,可参见对应图5b的实施例的内容,此处不再赘述。
由于下述步骤S1019至S1023也可以实现第一设备和第三设备之间基于空间位置信息进行验证,因此,步骤S1017和步骤S1018是可选择性执行的步骤。在第一设备和第三设备采用步骤S1019至S1023的方式进行验证时,步骤S1017和步骤S1018可不执行。
S1019、第一设备验证第三设备成功,第一设备向第三设备发送第三公钥。
第一设备配置有一个非对称密钥对,非对称密钥包括第三公钥和第三私钥,第三公钥可对外公布,第三私钥不对外公开。非对称密钥对可由第一设备生成或者预先存储。
其中,第三公钥和第三私钥,可以与步骤S1006中的第一公钥和第一私钥相同。
在一些实施例中,第一设备通过UWB信道发送第三公钥,第三设备通过UWB信道接收第三公钥。其中,因第一设备和第三设备利用UWB功能对对方设备进行定位,且定位验证成功,说明第一设备和第三设备采用UWB信道交互消息,是可信的。基于此,第一设备通过UWB信道发送第三公钥。
一些实施例中,第一设备通过UWB信道发送第三公钥,还可以是在UWB信道上加密传输第三公钥。具体的,第一设备对第三公钥进行加密,得到加密后的第三公钥,第一设备通过UWB信道向第三设备发送加密的第三公钥。
第一设备对第三公钥的加密方式并不限制,可采用常见的多种加密算法,此处不展开说明。并且,第一设备和第三设备需预先约定好对第三公钥加密的方式。
S1020、第三设备验证第一设备成功,第三设备向第一设备发送第四公钥。
第三设备也可生成或预先存储有一个非对称密钥对,非对称密钥包括第四公钥和第四私钥,第一公钥可对外公布,第一私钥不对外公开。
在一些实施例中,第三设备通过UWB信道向第一设备发送第四公钥。
在另一些实施例中,第三设备通过WiFi信道向第一设备发送第四公钥。
其中,第三设备向第一设备发送第四公钥的方式,可参见前述步骤S1019内容,此处不再赘述。
在第三设备通过WiFi信道发送第四公钥,则第一设备通过UWB信道发送UWB消息,该消息中携带第一设备的WiFi信道、MAC地址等信息。第三设备接收到UWB消息,可根据该消息中携带的信息,确定第一设备的WiFi信道。如此,第三设备可通过WiFi信道向第一设备发送第四公钥。
S1021、第一设备利用第四公钥和第三私钥,生成第二共享密钥或第二共享密钥的衍生密钥。
在一些实施例中,第一设备利用第三私钥和第四公钥,生成第二共享密钥后,可截取第二共享密钥的一部分作为第二共享密钥的衍生密钥。
在另一些实施例中,第一设备还可对第二共享密钥进行hash运算,hash运算后的全部数值或部分数值,作为第二共享密钥的衍生密钥。
在另一些实施例中,第一设备还可利用第二共享密钥结合设备双方共同拥有的一个或多个明文信息或明文信息的衍生信息,进行hash运算,得到第二共享密钥的衍生密钥。进一步的,还可截取第二共享密钥的一部分作为要使用的衍生密钥。
其中,设备双方共同拥有的一个或多个明文信息,可包括:
第一设备或第三设备生成的随机数;第一设备或第三设备的属性信息,该属性信息可包括:设备的描述信息,设备的能力信息,设备的状态,设备地址,涉笔使用的协议名称,协议版本,以及公钥信息等多个信息中的一个或多个;可填充多个数字的一个密钥,该数字一般为0或1;时间;其他固定的明文信息。
设备双方共同拥有的一个或多个明文信息的衍生信息的生成方式如下:1、取一个或多个明文信息的一部分作为衍生密钥;2、对一个或多个明文信息进行hash运算,hash运算后的全部或部分数值作为衍生信息。
设备双方共同拥有的一个或多个明文信息的方式可以是:第一设备和第三设备中的一方,将一个或多个明文信息发送到另一方。还可以是:第一设备和第三设备共同约定。还可以是:获取针对第一设备和第三设备来说的公开信息。
前述内容提出的hash运算均可以是采用SHA-256,SHA-128等算法。
S1022、第三设备利用第三公钥和第四私钥,生成第二共享密钥或第二共享密钥的衍生密钥。
第三设备生成第二共享密钥的衍生密钥的方式,可如步骤S1021中第一设备生成第一共享密钥的衍生密钥的方式,此处不再赘述。
另外,在第一设备接收到第四公钥正确,第三设备接收到的第三公钥正确的情况下,第三设备生成的第二共享密钥和第一设备生成的第二共享密钥,是相同的。
S1023、第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证。
一个可能的实施方式中,步骤S1023、第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证的方式,包括:
1)第一设备基于第二共享密钥或第二共享密钥的衍生密钥,生成第一验证值,并向第三设备发送第一验证值。
2)第三设备接收到第一设备发送的第一验证值后,验证第一验证值。
3)第三设备基于第二共享密钥或第二共享密钥的衍生密钥,生成第二验证值,并向第一设备发送第二验证值。
其中,第三设备可在验证第一验证值正确时,再基于第二共享密钥或第二共享密钥的衍生密钥,生成第二验证值。
4)第一设备接收到第三设备发送的第二验证值后,验证第二验证值。
本实施方式中,第一设备对第二共享密钥或第二共享密钥的衍生密钥进行一次或多次 hash运算,hash运算后的全部数值或者部分数值作为第一验证值。同理,第三设备对第二共享密钥或第二共享密钥的衍生密钥进行一次或多次hash运算,hash运算后的全部数值或者部分数值作为第二验证值。
需要说明的是,若第一设备和第三设备生成的第二共享密钥或第二共享密钥的衍生密钥相同,第一设备和第三设备采用同样的验证值生成方式,生成的第一验证值和第二验证是相同的。
本实施方式中,第一设备和第三设备采用同样的生成方式生成验证值,则验证对方设备生成的方式也相同,以下以第一设备验证第二验证值的方式为例进行介绍:
一些实施例中,第一设备验证第二验证值的方式为:第一设备解密第二验证值,得到解密值,验证解密值是否正确。
另一些实施例中,第一设备验证第二验证值的方式为:第一设备生成第三验证值,比对第三验证值与第二验证值是否相同。在第一设备确定第三验证值和第二验证值相同,则验证第二验证值正确。
另一些实施例中,第一设备验证第二验证值的方式为:第一设备比对第一验证值与第二验证值是否相同。在第一设备确定第一验证值和第二验证值相同,则验证第二验证值正确。
另一个可能的实施方式中,步骤S1023、第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证的方式,包括:
1)第一设备基于第二共享密钥或第二共享密钥的衍生密钥,以及第一空间位置信息,生成第一验证值,并向第一设备发送第一验证值。
2)第三设备接收到第一设备发送的第一验证值后,验证第一验证值。
3)第三设备基于第二共享密钥或第二共享密钥的衍生密钥,以及第二空间位置信息,生成第二验证值,并向第一设备发送第二验证值。
其中,第三设备也可在验证第一验证值正确时,再基于第二共享密钥或第二共享密钥的衍生密钥,以及第二空间位置信息,生成第二验证值。
4)第一设备接收到第三设备发送的第二验证值后,验证第二验证值。
第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证成功后,则执行步骤S1024、第三设备向第一设备发送第一连接公钥。
其中,第一设备生成非对称密钥对,包括第一连接公钥和第一连接私钥。
S1025、第一设备利用第一签名私钥对第二连接公钥进行签名,生成第二签名信息。
与步骤S1012等同,第一设备也可以利用第一签名私钥,对第二连接公钥和其他信息进行签名,得到第二签名信息。其他信息可以为设备的角色信息,组标识信息等设备信息。
S1026、第一设备向第三设备发送第二签名信息和第一签名公钥。
本实施例中,第一设备作为密钥管理者,因此第二设备和第三设备均向第一设备发送连接公钥,由第一设备生成第一签名信息和第二签名信息,并发送至第二设备和第三设备。第二设备和第三设备可以基于第一签名信息和第二签名信息,来验证对方设备是否合法。
还需要说明的是,第一设备和第二设备执行的步骤S1001至步骤1013,以第一设备和第二设备执行的步骤S1014至步骤1026,在执行的先后顺序上并无限定,图10展示了第一设备和第二设备先执行步骤S1001至步骤1013,再由第一设备和第三设备执行步骤 S1014至步骤1026的一种示例。
S1027、第二设备向第三设备发送第一连接公钥和第一签名信息。
S1028、第三设备使用第一签名公钥验证第一签名信息是否正确。
在一些实施例中,第三设备使用第一签名公钥对第一签名信息验证的方式为:第三设备利用第一签名公钥解密第一签名信息,如果能解密成功,表示验证通过,如果解密失败,表示验证不通过。
在另一些实施例中,第三设备使用第一签名公钥对第一签名信息验证的方式为:第三设备利用第一签名公钥解密第一签名信息,获得第一hash值。第三设备对第一连接公钥进行hash运算,得到第二hash值,并比对第一hash值与第二hash值;如果第一hash值与第二hash值相同,表示验证通过,否则,验证不通过。
在另一些实施例中,第三设备利用第一签名公钥解密第一签名信息,获得第一hash值之外,还得到设备的角色信息和组标识信息等设备信息,则第三设备验证设备的角色信息和组标识信息等设备信息是否正确,若验证设备的角色信息和组标识信息等设备信息均正确,则验证第一签名信息正确。
若第三设备验证第一签名信息正确,则执行步骤S1029、第三设备利用第一连接公钥和第二连接私钥,生成第一连接密钥或第一连接密钥的衍生密钥。
其中,第三设备验证第一签名信息正确,第三设备利用第一连接公钥,和自己的第二连接私钥,生成第一连接密钥或第一连接密钥的衍生密钥。
在一些实施例中,第三设备截取第一连接密钥的一部分作为第一连接密钥的衍生密钥。
在另一些实施例中,第三设备对第一连接密钥进行hash运算,hash运算后的全部数值或部分数值,作为第一连接密钥的衍生密钥。
在另一些实施例中,第三设备利用第一连接密钥结合设备双方共同拥有的一个或多个明文信息或明文信息的衍生信息,进行一次或多次hash运算,得到第一连接密钥的衍生密钥。进一步的,还可截取第一连接密钥的一部分作为要使用的衍生密钥。
其中,设备双方共同拥有的一个或多个明文信息,可包括:
第二设备或第三设备生成的随机数;第二设备或第三设备的属性信息,该属性信息可包括:设备的描述信息,设备的能力信息,设备的状态,设备地址,涉笔使用的协议名称,协议版本,以及公钥信息等多个信息中的一个或多个;可填充多个数字的一个密钥,该数字一般为0或1;时间;其他固定的明文信息。
设备双方共同拥有的一个或多个明文信息的衍生信息的生成方式如下:1、取一个或多个明文信息的一部分作为衍生密钥;2、对一个或多个明文信息进行一次或多次hash运算,hash运算后的全部或部分数值作为衍生信息。
设备双方共同拥有的一个或多个明文信息的方式可以是:第二设备和第三设备中的一方,将一个或多个明文信息发送到另一方。还可以是:第二设备和第三设备共同约定。还可以是:获取针对第二设备和第三设备来说的公开信息。
前述内容提出的hash运算均可以是采用SHA-256,SHA-128等算法。
S1030、第三设备向第二设备发送第二连接公钥和第二签名信息。
S1031、第二设备使用第一签名公钥验证第二签名信息是否正确。
其中,第二设备使用第一签名公钥验证第二签名信息是否正确的方式,可如前述步骤 S519内容,此处不再赘述。
若第二设备验证第二签名信息正确,则执行S1032、第二设备利用第二连接公钥和第一连接私钥,生成第一连接密钥或第一连接密钥的衍生密钥。
其中,第二设备验证第二签名信息正确,第二设备利用第二连接公钥,和自己的第一连接私钥,生成第一连接密钥或第一连接密钥的衍生密钥。
在一些实施例中,第二设备截取第一连接密钥的一部分作为第一连接密钥的衍生密钥。
在另一些实施例中,第二设备对第一连接密钥进行hash运算,hash运算后的全部数值或部分数值,作为第一连接密钥的衍生密钥。
在另一些实施例中,第二设备利用第一连接密钥结合设备双方共同拥有的一个或多个明文信息或明文信息的衍生信息,进行hash运算,得到第一连接密钥的衍生密钥。进一步的,还可截取第一连接密钥的一部分作为要使用的衍生密钥。
其中,设备双方共同拥有的一个或多个明文信息,可包括:
第二设备或第三设备生成的随机数;第二设备或第三设备的属性信息,该属性信息可包括:设备的描述信息,设备的能力信息,设备的状态,设备地址,涉笔使用的协议名称,协议版本,以及公钥信息等多个信息中的一个或多个;可填充多个数字的一个密钥,该数字一般为0或1;时间;其他固定的明文信息。
设备双方共同拥有的一个或多个明文信息的衍生信息的生成方式如下:1、取一个或多个明文信息的一部分作为衍生密钥;2、对一个或多个明文信息进行hash运算,hash运算后的全部或部分数值作为衍生信息。
设备双方共同拥有的一个或多个明文信息的方式可以是:第二设备和第三设备中的一方,将一个或多个明文信息发送到另一方。还可以是:第二设备和第三设备共同约定。还可以是:获取针对第二设备和第三设备来说的公开信息。
前述内容提出的hash运算均可以是采用SHA-256,SHA-128等算法。
S1033、第二设备与第三设备利用第一连接密钥或第一连接密钥的衍生密钥,建立WiFi 连接。
其中,第二设备与第三设备可利用第一连接密钥或第一连接密钥的衍生密钥作为PSK(preshared key),或,Passphrase,或,password,或,PMK(Pairwise Master Key),执行IEEE802.11协议建立连接:可以是执行802.11的四步握手过程。
本实施例中,第三设备与第二设备可通过第一连接密钥建立WiFi连接。如此,能方便的完成第二设备和第三设备之间的无线网络连接的建立。
实施例四
参见图11,本申请实施例提供了一种无线网络连接的建立方法,包括:
S1101、第一设备和第二设备通过WiFi消息完成发现。
S1102、第一设备对第二设备定位,得到第一空间位置信息。
S1103、第二设备对第一设备定位,得到第二空间位置信息。
本实施例中,步骤S1101至步骤S1103的具体实施方式,可参见对应图5b的实施例中的步骤S501至步骤S503的内容,此处不再赘述。
步骤S1101是可选择性执行的步骤,在一些应用场景中,可不执行步骤S1101,而直接执行步骤S1102和步骤S1103。并且,步骤S1102和步骤S1103并没有执行顺序的限定,图11展示了步骤S1102和步骤S1103并列执行的一种示例。
S1104、第一设备基于第一空间位置信息,验证第二设备。
S1105、第二设备基于第二空间位置信息,验证第一设备。
本实施例中,步骤S1104和步骤S1105的具体实施方式,可参见对应图5b的实施例的内容,此处不再赘述。
S1106、第一设备向第二设备发送第一公钥。
第一设备配置有一个非对称密钥对,非对称密钥包括第一公钥和第一私钥,第一公钥可对外公布,第一私钥不对外公开。非对称密钥对可由第一设备生成或者预先存储。
在一些实施例中,第一设备通过UWB信道向第一设备发送第一公钥。
在另一些实施例中,第一设备通过WiFi信道向第一设备发送第一公钥。
其中,第一设备向第二设备发送第一公钥的方式,如前述步骤S506内容,此处不再赘述。
S1107、第二设备向第一设备发送第二公钥。
第二设备也可生成或预先存储有一个非对称密钥对,非对称密钥包括第二公钥和第二私钥,第二公钥可对外公布,第二私钥不对外公开。
在一些实施例中,第二设备通过UWB信道向第一设备发送第二公钥。
在另一些实施例中,第二设备通过WiFi信道向第一设备发送第二公钥。
其中,第二设备向第一设备发送第二公钥的方式,可参见前述步骤S507内容,此处不再赘述。
S1108、第一设备利用第二公钥和第一私钥,生成第一共享密钥或第一共享密钥的衍生密钥。
第一设备生成第一共享密钥的衍生密钥或第一共享密钥的衍生密钥的方式,可如步骤 S508内容,此处不再赘述。
S1109、第二设备利用第一公钥和第二私钥,生成第一共享密钥或第一共享密钥的衍生密钥。
第二设备生成第一共享密钥的衍生密钥或第一共享密钥的衍生密钥的方式,可如前述步骤S509内容,此处不再赘述。
另外,在第一设备接收到第二公钥正确,第二设备接收到的第一公钥正确的情况下,第二设备生成的第一共享密钥和第一设备生成的第一共享密钥,是相同的。
S1110、第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证。
其中,第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证的方式,可如前述步骤S510内容,此处不再赘述。
第一设备和第二设备基于第一共享密钥或第一共享密钥的衍生密钥进行认证成功,
S1111、第一设备向第二设备发送第一信任状信息,第一信任状信息包含第一连接密钥。
还需要说明的是,第一信任状信息还可以包括第一连接密钥的衍生密钥。
在一些实施例中,第二设备截取第一连接密钥的一部分作为第一连接密钥的衍生密钥。
在另一些实施例中,第二设备对第一连接密钥进行一次或多次hash运算,hash运算后的全部数值或部分数值,作为第一连接密钥的衍生密钥。
在另一些实施例中,第二设备利用第一连接密钥结合设备双方共同拥有的一个或多个明文信息或明文信息的衍生信息,进行一次或多次hash运算,得到第一连接密钥的衍生密钥。进一步的,还可截取第一连接密钥的一部分作为要使用的衍生密钥。
其中,设备双方共同拥有的一个或多个明文信息,可包括:
第一设备或第二设备生成的随机数;第一设备或第二设备的属性信息,该属性信息可包括:设备的描述信息,设备的能力信息,设备的状态,设备地址,涉笔使用的协议名称,协议版本,以及公钥信息等多个信息中的一个或多个;可填充多个数字的一个密钥,该数字一般为0或1;时间;其他固定的明文信息。
设备双方共同拥有的一个或多个明文信息的衍生信息的生成方式如下:1、取一个或多个明文信息的一部分作为衍生密钥;2、对一个或多个明文信息进行hash运算,hash运算后的全部或部分数值作为衍生信息。
设备双方共同拥有的一个或多个明文信息的方式可以是:第一设备和第二设备中的一方,将一个或多个明文信息发送到另一方。还可以是:第一设备和第二设备共同约定。还可以是:获取针对第一设备和第二设备来说的公开信息。
前述内容提出的hash运算均可以是采用SHA-256,SHA-118等算法。
S1112、第一设备和第三设备通过WiFi消息完成发现。
S1113、第一设备对第三设备定位,得到第三空间位置信息。
S1114、第三设备对第一设备定位,得到第四空间位置信息。
本实施例中,步骤S1112至步骤S1114的具体实施方式,可参见对应图5b的实施例中的步骤S501至步骤S503的内容,此处不再赘述。
步骤S1112也是可选择性执行的步骤,在一些应用场景中,可不执行步骤S1112,而直接执行步骤S1113和步骤S1114。并且,步骤S1113和步骤S1114并没有执行顺序的限定,图11展示了步骤S1113和步骤S1114并列执行的一种示例。
S1115、第一设备基于第三空间位置信息,验证第三设备。
S1116、第三设备基于第四空间位置信息,验证第一设备。
本实施例中,步骤S1115和步骤S1116的具体实施方式,可参见对应图5b的实施例的内容,此处不再赘述。
S1117、第一设备向第三设备发送第三公钥。
第一设备配置有一个非对称密钥对,非对称密钥包括第三公钥和第三私钥,第三公钥可对外公布,第三私钥不对外公开。非对称密钥对可由第一设备生成或者预先存储。
其中,第三公钥和第三私钥,可以与步骤S1106中的第一公钥和第一私钥相同。
在一些实施例中,第一设备通过UWB信道向第三设备发送第三公钥。
第一设备发送第三公钥的方式,可参见前述步骤S1019内容,此处不再赘述。
S1118、第三设备向第一设备发送第四公钥。
第三设备也可生成或预先存储有一个非对称密钥对,非对称密钥包括第四公钥和第四私钥,第一公钥可对外公布,第一私钥不对外公开。
在一些实施例中,第三设备通过UWB信道向第一设备发送第四公钥。
在另一些实施例中,第三设备通过WiFi信道向第一设备发送第四公钥。
其中,第三设备向第一设备发送第四公钥的方式,可参见前述步骤S1020内容,此处不再赘述。
S1119、第一设备利用第四公钥和第三私钥,生成第二共享密钥或第二共享密钥的衍生密钥。
其中,第一设备生成第二共享密钥或第二共享密钥的衍生密钥的方式,如前述步骤 S1021内容,此处不再赘述。
S1120、第三设备利用第三公钥和第四私钥,生成第二共享密钥或第二共享密钥的衍生密钥。
第三设备生成第二共享密钥的衍生密钥的方式,可如步骤S1022内容,此处不再赘述。
另外,在第一设备接收到第四公钥正确,第三设备接收到的第三公钥正确的情况下,第三设备生成的第二共享密钥和第一设备生成的第二共享密钥,是相同的。
S1121、第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证。
其中,第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证的方式,可如前述步骤S1023内容,此处不再赘述。
第一设备和第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证成功后,则执行步骤S1122、第一设备向第三设备发送第二信任状信息,第二信任状信息包含第一连接密钥。
第一设备向第三设备发送的第二信任状信息,还可以包括第一连接密钥的衍生密钥,该衍生密钥的生成方式前述步骤S1111内容,此处不再赘述。
还需要说明的是,第一设备和第二设备执行的步骤S1101至步骤1111,以第一设备和第三设备执行的步骤S1112至步骤1122,在执行的先后顺序上并无限定,图11展示了第一设备和第二设备先执行步骤S1101至步骤1111,再由第一设备和第三设备执行步骤 S1112至步骤1122的一种示例。
S1123、第二设备与第三设备利用第一连接密钥建立WiFi连接。
利用第一连接密钥作为PSK(preshared key),或,Passphrase,或,password,或,PMK(Pairwise Master Key),执行IEEE802.11协议建立连接:可以是执行802.11的四步握手过程。
在第一设备向第二设备和第三设备发送的信任状信息中,包括第一连接密钥的衍生密钥时,第二设备和第三设备可通过第一连接密钥的衍生密钥建立WiFi连接。
步骤S1123的具体实现方式,可参见前述实施例中步骤S519内容,此处不再赘述。
本实施例中,第一设备分别向第二设备,第三设备发送第一连接密钥。第三设备与第二设备可通过第一连接密钥建立WiFi连接。如此,能方便的完成第二设备和第三设备之间的无线网络连接的建立。
本申请另一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。
本申请另一实施例还提供了一种包含指令的计算机程序产品。当该计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行上述任一个方法中的一个或多个步骤。
Claims (43)
1.一种无线连接的建立方法,其特征在于,应用于第一设备,所述无线连接的建立方法,包括:
所述第一设备对第二设备定位,得到第一空间位置信息;
所述第一设备通过超宽带技术UWB信道向所述第二设备发送第一公钥,所述第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,所述UWB信道由所述第一设备利用所述第一空间位置信息来验证是否可信;
所述第一设备和所述第二设备,基于所述第一共享密钥或所述第一共享密钥的衍生密钥进行认证通过;
所述第一设备利用连接密钥,与所述第二设备或与第三设备建立无线连接,所述第三设备与所述第二设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证通过,所述第二共享密钥或所述第二共享密钥的衍生密钥基于所述第三设备的公钥生成。
2.根据权利要求1所述的无线连接的建立方法,其特征在于,所述第一设备对第二设备定位,得到第一空间位置信息之后,还包括:
所述第一设备基于所述第一空间位置信息,对所述第二设备进行验证;
其中,所述第一设备确定所述第二设备通过验证,则确定所述UWB信道可信。
3.根据权利要求2所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第一空间位置信息,对所述第二设备进行验证,包括:
所述第一设备判断所述第一空间位置信息和第二空间位置信息的差值是否在预设范围内,所述第二空间位置信息由所述第二设备对所述第一设备定位得到;
其中,所述第一设备判断所述第一空间位置信息和所述第二空间位置信息的差值在预设范围内,则所述第一设备确定所述第二设备验证通过。
4.根据权利要求2所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第一空间位置信息,对所述第二设备进行验证,包括:
所述第一设备响应于操作指令,基于所述第一空间位置信息对所述第二设备验证。
5.根据权利要求2所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第一空间位置信息,对所述第二设备进行验证,包括:
所述第一设备利用所述第一空间位置信息,判断所述第二设备是否在所述第一设备的预设范围内;
其中,所述第一设备判断所述第二设备在所述第一设备的预设范围内,则所述第一设备确定所述第二设备验证通过。
6.根据权利要求1至5中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备和所述第二设备,基于所述第一共享密钥或所述第一共享密钥的衍生密钥进行认证的方式,包括:
所述第一设备基于所述第一共享密钥或所述第一共享密钥的衍生密钥,生成第一验证值,并向所述第二设备发送所述第一验证值;
所述第一设备接收所述第二设备发送的第二验证值,并验证所述第二验证值,所述第二验证值由所述第二设备在验证第一验证值正确时,基于所述第一共享密钥或所述第一共享密钥的衍生密钥生成。
7.根据权利要求6所述的无线连接的建立方法,其特征在于,所述第一设备验证所述第二验证值,包括:
所述第一设备是否成功解密所述第二验证值;
或者,所述第一设备生成第三验证值,比对所述第三验证值与所述第二验证值是否相同;
或者,所述第一设备比对所述第一验证值与所述第二验证值是否相同。
8.根据权利要求1至5中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备和所述第二设备基于所述第一共享密钥或所述第一共享密钥的衍生密钥进行认证的方式包括:
所述第一设备基于所述第一空间位置信息和所述第一共享密钥或所述第一共享密钥的验证密钥,生成第一验证值,并向所述第二设备发送所述第一验证值;
所述第一设备接收所述第二设备发送的第二验证值,并验证所述第二验证值,所述第二验证值由所述第二设备在验证所述第一验证值正确时,基于第二空间位置信息和所述第一共享密钥或所述第一共享密钥的衍生密钥生成,所述第二空间位置信息由所述第二设备对所述第一设备定位得到。
9.根据权利要求8所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第一空间位置信息和所述第一共享密钥或所述第一共享密钥的验证密钥,生成第一验证值,包括:
所述第一设备对所述第一空间位置信息或者所述第一空间位置信息的衍生值,以及所述第一共享密钥或所述第一共享密钥的衍生密钥进行hash运算,得到hash运算结果,所述hash运算结果的全部数值或者部分数值作为所述第一验证值;
所述第一空间位置信息的衍生值包括:所述第一空间位置信息的部分数据,或者,对所述第一空间位置信息进行hash运算后的全部数值或者部分数值,或者,对所述第一空间位置信息,以及一个或多个明文信息或明文信息的衍生信息,进行hash运算后的全部数值或者部分数值。
10.根据权利要求8所述的无线连接的建立方法,其特征在于,所述第一设备验证所述第二验证值,包括:
所述第一设备是否成功解密所述第二验证值;
或者,所述第一设备生成第三验证值,比对所述第三验证值与所述第二验证值是否相同;
或者,所述第一设备比对所述第一验证值与所述第二验证值是否相同;
或者,所述第一设备解密第二验证值得到第二空间位置信息;
所述第一设备判断所述第一空间位置信息与所述第二空间位置信息的差是否在预定范围内。
11.根据权利要求1至10中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备对第二设备定位,得到第一空间位置信息之前,还包括:
所述第一设备通过WiFi消息或UWB消息发现所述第二设备。
12.根据权利要求1至11中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备利用连接密钥,与所述第二设备建立无线连接之前,还包括:
所述第一设备接收所述第二设备发送的第一签名信息;
所述第一设备验证所述第一签名信息正确。
13.根据权利要求1至11中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备利用连接密钥,与第三设备建立无线连接之前,还包括:
所述第一设备接收所述第二设备发送的第一签名信息;
所述第一设备验证所述第一签名信息正确。
14.根据权利要求12或13所述的无线连接的建立方法,其特征在于,所述第一设备验证所述第一签名信息正确,包括:
所述第一设备利用第一签名公钥成功解密所述第一签名信息;
或者,所述第一设备利用第一签名公钥解密所述第一签名信息,获得所述第一签名信息携带的第一hash值;
所述第一设备对第一连接公钥进行hash运算,得到第二hash值;
所述第一设备判断所述第一hash值与所述第二hash值相同;
或者,所述第一设备利用第一签名公钥解密第一签名信息,获得所述第一签名信息携带的设备信息;
所述第一设备验证所述设备信息正确。
15.根据权利要求1至14中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备利用连接密钥,与所述第二设备建立无线连接之前,还包括:
所述第一设备生成或接收所述第二设备发送的所述连接密钥;其中,所述连接密钥包括:第一连接密钥或第一连接密钥的衍生密钥。
16.根据权利要求15所述的无线连接的建立方法,其特征在于,所述第一设备生成所述连接密钥,包括:
所述第一设备利用第一连接公钥和第二连接私钥,生成所述第一连接密钥或所述第一连接密钥的衍生密钥,所述第二连接私钥为第一设备的私钥。
17.根据权利要求16所述的无线连接的建立方法,其特征在于,所述第一设备利用第一连接公钥和第二连接私钥,生成所述第一连接密钥的衍生密钥,包括:
所述第一设备利用所述第一连接公钥和第二连接私钥,生成所述第一连接密钥;
所述第一设备截取所述第一连接密钥的一部分作为所述第一连接密钥的衍生密钥;
或者,所述第一设备利用所述第一连接公钥和第二连接私钥,生成所述第一连接密钥;
所述第一设备对所述第一连接密钥进行hash运算,得到运算结果,所述运算结果的全部数值或部分数值,作为所述第一连接密钥的衍生密钥;
或者,所述第一设备利用所述第一连接公钥和第二连接私钥,生成所述第一连接密钥;
所述第一设备利用所述第一连接密钥和一个或多个明文信息或明文信息的衍生信息,进行hash运算,得到所述第一连接密钥的衍生密钥。
18.根据权利要求1至17中任意一项所述的无线连接的建立方法,其特征在于,在所述第一设备和所述第二设备,基于所述第一共享密钥或所述第一共享密钥的衍生密钥进行认证通过之前,还包括:
所述第一设备通过所述UWB信道或WiFi信道接收所述第二设备发送的第二公钥;
第一设备利用所述第二公钥和第一私钥,生成所述第一共享密钥或第一共享密钥的衍生密钥,所述第一私钥为所述第一设备的私钥。
19.根据权利要求1至18中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备对第二设备定位,得到第一空间位置信息,包括:
所述第一设备采用超宽带UWB定位方式,超声波定位方式,蓝牙定位方式,蜂窝定位方式,地磁定位方式,红外定位方式,射频标签定位方式,紫蜂Zigbee定位方式,超宽带无线电定位方式,广播信号定位方式,或者光定位方式对所述第二设备进行定位,得到所述第一空间位置信息。
20.一种无线连接的建立方法,其特征在于,应用于第一设备,所述无线连接的建立方法,包括:
所述第一设备对第二设备定位,得到第一空间位置信息;
所述第一设备通过超宽带技术UWB信道向所述第二设备发送第一公钥,所述第一公钥用于生成第一共享密钥或第一共享密钥的衍生密钥,所述UWB信道由所述第一设备利用所述第一空间位置信息来验证是否可信;
所述第一设备和所述第二设备,基于所述第一共享密钥或所述第一共享密钥的衍生密钥进行认证通过;
所述第一设备对第三设备定位,得到第三空间位置信息;
所述第一设备通过UWB信道向所述第三设备发送第三公钥,所述第三公钥用于生成第二共享密钥或第二共享密钥的衍生密钥,所述UWB信道由所述第一设备利用所述第三空间位置信息来验证是否可信;
所述第一设备和所述第三设备,基于所述第二共享密钥或所述第二共享密钥的衍生密钥进行认证通过;
其中:若所述第一设备和所述第二设备基于所述第一共享密钥或所述第一共享密钥的衍生密钥进行认证通过,且所述第一设备和所述第三设备验证基于所述第二共享密钥或所述第二共享密钥的衍生密钥进行认证通过,所述第二设备利用连接密钥,与所述第三设备建立无线连接。
21.根据权利要求20所述的无线连接的建立方法,其特征在于,所述第一设备对第二设备定位,得到第一空间位置信息之后,还包括:
所述第一设备基于所述第一空间位置信息,对所述第二设备进行验证;
其中,所述第一设备确定所述第二设备通过验证,则确定UWB信道可信。
22.根据权利要求21所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第一空间位置信息,对所述第二设备进行验证,包括:
所述第一设备响应于操作指令,基于所述第一空间位置信息,对所述第二设备验证;
或者,所述第一设备利用所述第一空间位置信息,判断所述第二设备是否在所述第一设备的预设范围内;其中,所述第一设备判断所述第二设备在所述第一设备的预设范围内,则所述第一设备确定所述第二设备验证通过;
或者,所述第一设备判断所述第一空间位置信息和第二空间位置信息的差值是否在预设范围内;其中,所述第二空间位置信息由所述第二设备对所述第一设备定位得到;所述第一设备判断所述第一空间位置信息和所述第二空间位置信息的差值在预设范围内,则第一设备确定所述第二设备验证通过。
23.根据权利要求20至22中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备对第三设备定位,得到第三空间位置信息之后,还包括:
所述第一设备基于所述第三空间位置信息,对所述第三设备进行验证;
其中,所述第一设备确定所述第三设备通过验证,则确定UWB信道可信。
24.根据权利要求23所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第三空间位置信息,对所述第三设备进行验证,包括:
所述第一设备响应于操作指令,基于所述第三空间位置信息,对所述第三设备验证;
或者,所述第一设备利用所述第三空间位置信息,判断所述第三设备是否在所述第一设备的预设范围内;其中,所述第一设备判断所述第三设备在所述第一设备的预设范围内,则所述第一设备确定所述第三设备验证通过;
或者,所述第一设备判断所述第三空间位置信息和第四空间位置信息的差值是否在预设范围内;其中,所述第四空间位置信息由所述第三设备对所述第一设备定位得到;其中,所述第一设备判断所述第三空间位置信息和所述第四空间位置信息的差值在预设范围内,则第一设备确定所述第三设备验证通过。
25.根据权利要求20至24中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备和所述第二设备基于所述第一共享密钥或所述第一共享密钥的衍生密钥进行认证,包括:
所述第一设备基于所述第一共享密钥或所述第一共享密钥的衍生密钥,生成第一验证值,并向所述第二设备发送所述第一验证值;
所述第一设备接收所述第二设备发送的第二验证值,并验证所述第二验证值,所述第二验证值由所述第二设备在验证第一验证值正确时,基于所述第一共享密钥或所述第一共享密钥的衍生密钥生成。
26.根据权利要求25所述的无线连接的建立方法,其特征在于,所述第一设备验证所述第二验证值,包括:
所述第一设备是否成功解密所述第二验证值;
或者,所述第一设备生成第三验证值,比对第三验证值与所述第二验证值是否相同;
或者,所述第一设备比对所述第一验证值与所述第二验证值是否相同。
27.根据权利要求20至24中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备和所述第二设备基于第一共享密钥或所述第一共享密钥的衍生密钥进行认证,包括:
所述第一设备基于所述第一空间位置信息以及所述第一共享密钥或所述第一共享密钥的衍生密钥,生成第一验证值,并向所述第二设备发送所述第一验证值;
所述第一设备接收所述第二设备发送的第二验证值,并验证所述第二验证值,所述第二验证值由所述第二设备在验证所述第一验证值正确时,基于第二空间位置信息以及所述第一共享密钥或所述第一共享密钥的衍生密钥生成,所述第二空间位置信息由所述第二设备对所述第一设备定位得到。
28.根据权利要求27所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第一共享密钥或所述第一共享密钥的衍生密钥,生成第一验证值,包括:
所述第一设备对所述第一空间位置信息或者所述第一空间位置信息的衍生值,以及所述第一共享密钥或所述第一共享密钥的衍生密钥进行hash运算,得到hash运算结果,所述hash运算结果的全部数值或者部分数值作为所述第一验证值;
所述第一空间位置信息的衍生值包括:所述第一空间位置信息的部分数据,或者,对所述第一空间位置信息进行hash运算后的全部数值或者部分数值,或者,对所述第一空间位置信息,以及一个或多个明文信息或明文信息的衍生信息,进行hash运算后的全部数值或者部分数值。
29.根据权利要求27所述的无线连接的建立方法,其特征在于,所述第一设备验证所述第二验证值,包括:
所述第一设备是否成功解密所述第二验证值;
或者,所述第一设备生成第三验证值,比对第三验证值与所述第二验证值是否相同;
或者,所述第一设备比对所述第一验证值与所述第二验证值是否相同;
或者,所述第一设备解密第二验证值得到第二空间位置信息;
所述第一设备判断所述第一空间位置信息与所述第二空间位置信息的差是否在预定范围内。
30.根据权利要求20至24中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备和所述第三设备基于所述第二共享密钥或所述第二共享密钥的衍生密钥进行认证,包括:
所述第一设备基于所述第二共享密钥或所述第二共享密钥的衍生密钥,生成第四验证值,并向所述第三设备发送所述第四验证值;
所述第一设备接收所述第三设备发送的第五验证值,并验证所述第五验证值,所述第五验证值由所述第三设备在验证第四验证值正确时,基于所述第二共享密钥或所述第二共享密钥的衍生密钥生成。
31.根据权利要求30所述的无线连接的建立方法,其特征在于,所述第一设备验证所述第五验证值,包括:
所述第一设备是否成功解密所述第五验证值;
或者,所述第一设备生成第六验证值,比对所述第六验证值与所述第五验证值是否相同;
或者,所述第一设备比对所述第四验证值与所述第五验证值是否相同。
32.根据权利要求20至24中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备和所述第三设备基于第二共享密钥或第二共享密钥的衍生密钥进行认证的方式包括:
所述第一设备基于所述第三空间位置信息以及所述第二共享密钥或第二共享密钥的衍生密钥,生成第四验证值,并向所述第三设备发送所述第四验证值;
所述第一设备接收所述第三设备发送的第五验证值,并验证所述第五验证值,所述第五验证值由所述第三设备在验证所述第四验证值正确时,基于第四空间位置信息以及所述第二共享密钥或第二共享密钥的衍生密钥生成,所述第四空间位置信息由所述第三设备对所述第一设备定位得到。
33.根据权利要求32所述的无线连接的建立方法,其特征在于,所述第一设备基于所述第三空间位置信息以及所述第二共享密钥或第二共享密钥的衍生密钥,生成第四验证值,包括:
所述第一设备对所述第三空间位置信息或者所述第三空间位置信息的衍生值,以及所述第二共享密钥或第二共享密钥的衍生密钥进行hash运算,得到hash运算结果,所述hash运算结果的全部数值或者部分数值作为所述第四验证值;
所述第三空间位置信息的衍生值包括:所述第三空间位置信息的部分数据,或者,对所述第三空间位置信息进行次hash运算后的全部数值或者部分数值,或者,对所述第三空间位置信息,以及一个或多个明文信息或明文信息的衍生信息,进行hash运算后的全部数值或者部分数值。
34.根据权利要求32所述的无线连接的建立方法,其特征在于,所述第一设备验证所述第五验证值,包括:
所述第一设备是否成功解密所述第五验证值;
或者,所述第一设备生成第六验证值,比对第六验证值与所述第五验证值是否相同;
或者,所述第一设备比对所述第四验证值与所述第五验证值是否相同;
或者,所述第一设备解密第五验证值得到第四空间位置信息;
所述第一设备判断所述第三空间位置信息与所述第四空间位置信息的差是否在预定范围内。
35.根据权利要求20至34中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备对第二设备定位,得到第一空间位置信息之前,还包括:
所述第一设备通过WiFi消息或UWB消息发现所述第二设备。
36.根据权利要求20至34中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备对第三设备定位,得到第三空间位置信息之前,还包括:
所述第一设备通过WiFi消息或UWB消息发现所述第三设备。
37.根据权利要求20至36中任意一项所述的无线连接的建立方法,其特征在于,还包括:
所述第一设备分别向所述第二设备和所述第三设备发送连接密钥。
38.根据权利要求20至36中任意一项所述的无线连接的建立方法,其特征在于,还包括:
所述第一设备向所述第二设备发送第一签名信息;
所述第一设备向所述第三设备发送第二签名信息。
39.根据权利要求20至38中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备对第二设备定位,得到第一空间位置信息,包括:
所述第一设备采用超宽带UWB定位方式,超声波定位方式,蓝牙定位方式,蜂窝定位方式,地磁定位方式,红外定位方式,射频标签定位方式,紫蜂Zigbee定位方式,超宽带无线电定位方式,广播信号定位方式,或者光定位方式对所述第二设备进行定位,得到所述第一空间位置信息。
40.根据权利要求20至39中任意一项所述的无线连接的建立方法,其特征在于,所述第一设备对第三设备定位,得到第三空间位置信息,包括:
所述第一设备采用超宽带UWB定位方式,超声波定位方式,蓝牙定位方式,蜂窝定位方式,地磁定位方式,红外定位方式,射频标签定位方式,紫蜂Zigbee定位方式,超宽带无线电定位方式,广播信号定位方式,或者光定位方式对所述第三设备进行定位,得到所述第三空间位置信息。
41.一种电子设备,其特征在于,所述电子设备包括第一设备,所述电子设备包括:
一个或多个处理器、存储器和无线通信模块;
所述存储器和所述无线通信模块与所述一个或多个所述处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,所述电子设备执行如权利要求1至19任意一项所述的无线连接的建立方法,或者如权利要求20至40任意一项所述的无线连接的建立方法。
42.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序被执行时,具体用于实现如权利要求1至19任意一项所述的无线连接的建立方法,或者如权利要求20至40任意一项所述的无线连接的建立方法。
43.一种计算机程序产品,其特征在于,当计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至19任意一项所述的无线连接的建立方法,或者如权利要求20至40任意一项所述的无线连接的建立方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111035807.5A CN115767541A (zh) | 2021-09-03 | 2021-09-03 | 无线连接的建立方法、电子设备、程序产品和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111035807.5A CN115767541A (zh) | 2021-09-03 | 2021-09-03 | 无线连接的建立方法、电子设备、程序产品和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115767541A true CN115767541A (zh) | 2023-03-07 |
Family
ID=85332740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111035807.5A Pending CN115767541A (zh) | 2021-09-03 | 2021-09-03 | 无线连接的建立方法、电子设备、程序产品和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115767541A (zh) |
-
2021
- 2021-09-03 CN CN202111035807.5A patent/CN115767541A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6262308B2 (ja) | リンク設定および認証を実行するシステムおよび方法 | |
US8285994B2 (en) | Two-way authentication between two communication endpoints using a one-way out-of-band (OOB) channel | |
US8929192B2 (en) | Method, apparatus, and computer program product for short-range communication based direction finding | |
US20160242030A1 (en) | Key Configuration Method and Apparatus | |
KR101830940B1 (ko) | Wifi 설정 포팅 | |
US9473941B1 (en) | Method, apparatus, and computer program product for creating an authenticated relationship between wireless devices | |
US20070287418A1 (en) | Establishing Data Communications | |
WO2016082801A1 (zh) | 一种用于建立无线连接的方法及设备 | |
KR20130111960A (ko) | 통신 네트워크에서 보안 노드 진입 | |
US10212140B2 (en) | Key management | |
WO2023280194A1 (zh) | 网络连接管理方法、装置、可读介质、程序产品及电子设备 | |
WO2016003311A1 (en) | Device bootstrap to wireless network | |
US20180095500A1 (en) | Tap-to-dock | |
WO2022143071A1 (zh) | 连接建立方法及电子设备 | |
WO2014127751A1 (zh) | 无线终端配置方法及装置和无线终端 | |
JP2017135518A (ja) | 通信装置、通信方法、プログラム | |
TW202112101A (zh) | 密鑰產生以及終端配網方法、裝置、設備 | |
JP6570355B2 (ja) | 通信装置、通信方法及びプログラム | |
US20220231852A1 (en) | Neighbor awareness networking password authentication | |
US20230379705A1 (en) | Electronic device and method for setting up a data path | |
WO2012026932A1 (en) | Method and apparatus for over-the-air configuration of a wireless device | |
CN116325664A (zh) | 一种智能设备配网的方法和装置 | |
JP7387275B2 (ja) | 通信装置、通信方法及びプログラム | |
CN115767541A (zh) | 无线连接的建立方法、电子设备、程序产品和存储介质 | |
JP7406893B2 (ja) | 通信装置、制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |