一种网络连接方法、装置及系统
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种网络连接方法、装置及系统。
背景技术
随着无线WIFI(Wireless-Fidelity)网络应用的普及,WIFI热点已大规模覆盖了很多区域,用户可以通过WIFI网络实现与生活、娱乐、工作等相关的各种活动。用户在连接WIFI网络时,如何能够使用户方便快速的接入网络,同时又保证安全的网络连接越来越被人们所关注。
目前,现有的WIFI网络连接方式包括:有线等效保密(WEP,Wired EquivalentPrivacy)方式、WIFI网络安全接入(WPA,WIFI Protected Access)企业级认证方式、WIFI保护设置(WPS,WIFI Protected Setup)认证方式、开放式接入方式和WPA预共享密钥方式。其中,前三种方式相对于用户总量来说,使用量并不是很高,并且,对于应用在大多数家庭、商家网络以及公共场所的场合也具有很大的局限性。开放式接入方式和WPA预共享密钥方式在家庭、商家网络以及公共场所应用比较普遍,其中:
开放式接入方式在广场、车站等公共场所使用较多。用户通过手机等智能终端搜索到公共场所提供的开放的WIFI热点后,与该WIFI热点进行连接,智能终端与WIFI热点连接后,此时虽然智能终端显示与WIFI热点连接成功,实际上还不能进行网络数据传输,还需要进行后续的网页认证过程。用户通过智能终端打开浏览器,浏览器提供认证网页,提示用户输入认证信息完成认证。一般的,认证信息为短信验证码,认证界面提供手机号码输入框,用户输入手机号码后,后台服务器向该手机号码发送短信验证码。如果用户输入的短信验证码正确,则认证成功,便可以使用网络了。虽然网页认证也提供了一定的安全性,但WIFI物理层是完全开放环境,第三方能够使用无线侦听方式获得所有明文传输数据,安全性较低。
WPA预共享密钥方式是目前家庭和商家主要使用的方式。用户使用智能终端首次接入WIFI网络时需要事先获知连接密码,输入连接密码后接入WIFI网络,智能终端将该WIFI网络的连接密码进行保存,当再次搜索到该WIFI网络的WIFI热点时,智能终端使用保存的连接密码自动连接网络。如果某商家为前来消费的客户提供免费WIFI网络,如用户是第一次接入该WIFI网络,则需要商家为该客户提供连接密码,这将需要每次都通知新客户密码,给商家和客户带来不便,同时随着接入用户的增多容易造成密码泄露的问题。如果商家长期不更新密码会使安全性逐渐丧失,而如果商家定期更新密码,又带来密码重新分发的问题。
综上所述,在家庭、商家网络以及公共场所的场景下,WIFI网络连接方式存在安全性低以及不便捷的问题。
发明内容
本发明实施例提供一种网络连接方法、装置及系统,用以解决现有技术中网络连接的安全性低和不便捷的问题。
本发明实施例提供一种网络连接方法,包括:
对接收到的接入设备发送的认证请求报文进行解析处理,得到接入设备对应的当前手机号码,所述当前手机号码为所述接入设备当前接入网络的网络接入密码;
使用所述当前手机号码生成第一成对主密钥PMK;
采用所述第一PMK对所述接入设备进行认证处理;
当采用所述第一PMK对所述接入设备认证成功,并对所述当前手机号码所属的手机根据短信验证指令返回的短信验证码验证成功后,打开网络端口,允许所述接入设备接入网络。
本发明实施例提供一种网络连接方法装置,包括:
解析单元,用于对接收到的接入设备发送的认证请求报文进行解析处理,得到接入设备对应的当前手机号码,所述当前手机号码为所述接入设备当前接入网络的网络接入密码;
成对主密钥生成单元,用于使用所述当前手机号码生成第一成对主密钥PMK;
认证单元,用于采用所述第一PMK对所述接入设备进行认证处理;
接入单元,用于当采用所述第一PMK对所述接入设备认证成功,并对所述当前手机号码所属的手机根据短信验证指令返回的短信验证码验证成功后,打开网络端口,允许所述接入设备接入网络。
本发明实施例提供一种网络连接系统,包括:无线接入点AP和认证服务器,其中,
所述无线接入点AP,用于根据接收到的接入设备发送的认证请求报文生成网络接入认证报文;将所述网络接入认证报文发送给所述认证服务器;接收所述认证服务器发送的成对主密钥PMK;采用所述PMK对所述接入设备进行认证处理;当采用所述PMK对所述接入设备进行认证成功,并接收到所述认证服务器发送的短信验证码验证完成报文后,打开网络端口,允许所述接入设备接入网络;
所述认证服务器,用于接收所述网络接入认证报文;对所述网络接入认证报文进行解析处理,得到接入设备对应的当前手机号码,所述当前手机号码为所述接入设备当前接入网络的网络接入密码;使用所述接入设备对应的当前手机号码生成成对主密钥PMK,并将所述PMK发送给所述AP;向所述当前手机号码所属的手机发送短信验证指令;在接收到所述当前手机号码所属的手机发送的短信验证码并验证正确后,向所述AP发送短信验证码验证完成报文。
本发明实施例提供的网络连接方法、装置及系统,通过网络接入认证报文中附有接入设备对应的当前手机号码,使用该手机号码对接入设备进行接入认证,即使用接入设备对应的当前手机号码作为密码进行网络连接,避免了现有技术中预先设置密码的分发问题,降低了密码泄露的风险,提高了网络连接的安全性,同时由于不需要进行密码分发,使得网络连接更加便捷。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中网络连接方法的流程图;
图2为本发明实施例1中网络连接方法的流程图;
图3为本发明实施例2中网络连接装置的结构示意图;
图4为本发明实施例3中网络连接装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种网络连接方法,如图1所示,包括:
步骤101、对接收到的接入设备发送的认证请求报文进行解析处理,得到接入设备对应的当前手机号码,该当前手机号码为该接入设备当前接入网络的网络接入密码。
步骤102、使用该当前手机号码生成第一成对主密钥PMK。
步骤103、采用该第一PMK对该接入设备进行认证处理。
步骤104、当采用该第一PMK对该接入设备认证成功,并对该当前手机号码所属的手机根据短信验证指令返回的短信验证码验证成功后,打开网络端口,允许该接入设备接入网络。
本发明实施例中,执行该网络连接方法的网络设备为无线接入点(AP,AccessPoint)和认证服务器,并且AP和认证服务器可以为分离的两个设备,还可以是认证服务器部署在AP上的一个设备。接入设备可以是与手机不同的智能终端,且支持WIFI协议,例如:用户想要使用平板电脑连接网络,即平板电脑作为接入设备,用户使用手机接收认证服务器发送的短息验证指令,并回复短信输入短信验证码发送给认证服务器;当用户想要使用手机连接网络时,手机即为接入设备,同时还用来接收认证服务器发送的短息验证指令,并回复短信输入短信验证码发送给认证服务器。网络设备对接入设备进行网络接入认证的过程中,根据802.11规范,完成四次握手过程。
网络设备对认证请求报文进行解析处理后,得到接入设备对应的当前手机号码,该当前手机号码为接入设备当前接入网络的网络接入密码,使用该当前手机号码对接入设备进行认证处理,这样,避免了对于新用户第一次连接网络的密码分发问题,并且由于手机号码的隐私性,降低了对于所有用户分发同一个密码导致的密码泄露的风险,从而提高了网络连接的安全性。
下面结合附图,用具体实施例对本发明提供的方法及装置和相应系统进行详细描述。
实施例1:
图2为本发明实施例1提供的网络接入方法的流程图,具体包括如下处理步骤:
步骤201、接入设备搜索无线网络信号,选择待接入的无线接入点AP名称。
本步骤中,接入设备搜索无线网络信号,确定当前可接入的无线接入点(AP,Access Point)名称列表,并选择待接入的无线AP。无线AP的名称可以为该无线AP的服务集标识(SSID,Service Set Identifier)。
步骤202、该接入设备与该无线AP进行认证关联。
本步骤中,在接入设备选择待接入的无线AP之后,首先接入设备与待接入无线AP按照802.11规范进行开放系统认证,之后接入设备与待接入无线AP按照802.11规范的关联过程建立关联,具体关联过程在此不再进行详细描述。接入设备与待接入无线AP完成关联后,根据802.11规范中的四次握手协议开始进入网络连接认证过程。
步骤203、该无线AP向接入设备发送第一认证报文。
本发明实施例中,在接入设备与该无线AP关联后,接入设备会向该无线AP发送扩展认证协议(EAP,Extensible Authentication Protocol)过程开始消息,指示认证过程开始。认证过程开始后,即开始执行四次握手过程,首先该无线AP向接入设备发送第一认证报文,该第一认证报文中携带该无线AP生成的一组随机数ANonce。
步骤204、该接入设备根据该第一认证报文生成第二认证报文。
本步骤中,该接入设备在接收到第一认证报文后,按照802.11规范的定义,判断该第一认证报文是否正常。接入设备在确定该第一认证报文正常后,生成一组随机数SNonce,并从第一认证报文中获取ANonce,根据ANonce、SNonce、接入设备的MAC地址和无线AP的MAC地址导出第一成对传输密钥(PTK,Pair wise Transient Key),具体导出第一PTK的过程如下:
该接入设备在与无线AP关联后,接入设备为用户提供输入密码的界面,用户输入当前使用手机的手机号码。接入设备首先采用如下公式确定第一预共享密钥(PSK,Pre-shared Key):
PSK=PBKDF2(PassPhrase,ssid,ssidLength,4096,256);
其中,PBKDF2为PKCS#5v2.0中定义的算法,PassPhrase为无线网络的密码即为接入设备当前对应的手机号码,ssid为无线AP的服务集标识,ssidLength为该无线AP的服务集标识字符串的长度,4096是PBKDF2算法中表示HASH的次数,256是PBKDF2算法生成的比特位长度。
接入设备在确定第一PSK后,采用如下公式导出第一PTK:
PTK=PRF-X(PMK,“Pairwise key expansion”,Min(AA,SPA)||Max(AA,SPA)||Min(ANonce,SNonce)||Max(ANonce,SNonce));
其中,PRF-X为伪随机数函数,也是一种杂凑函数,Pairwise key expansion为固定的字符串,AA表示无线AP的MAC地址,SPA表示接入设备的MAC地址,Min(·,·)表示取两者中的最小值,Max(·,·)表示取两者中的最大值,符号“||”表示连接,即后一个信息连接到前一个信息的后面,第一成对主密钥(PMK,Pairwise Master Key)与第一PSK相同。
本发明实施例中,设置PMK与PSK相同。
接入设备在导出第一PTK后,采用如下公式导出第二认证报文中的第一消息完整性校验码(MIC,Message Integrity Code):
MIC=HMAC_MD5(KCK,EAPOL-Key);
其中,HMAC_MD5为一种摘要算法,KCK是第一PTK中用于完整性校验的密钥,EAPOL-Key为将第二认证报文的MIC字段处先用0进行填充得到的报文,生成第一MIC后再将第一MIC值填入第二认证报文的MIC字段中。
接入设备在确定第一MIC后,生成至少包含第一MIC和该接入设备的MAC地址的第二认证报文,该第二认证报文还包括按照802.11规范中定义的其他字段。
本发明实施例中,该第二认证报文即为接入设备向无线AP发送的认证请求报文。
步骤205、该接入设备将第二认证报文发送给无线AP。
步骤206、该无线AP将根据第二认证报文生成的网络接入认证报文发送给认证服务器。
本步骤中,该无线AP在接收到该第二认证报文后,将第一认证报文、第二认证报文和无线AP的SSID整合为一个网络接入认证报文,该网络接入认证报文中包含ANonce、SNonce、第一MIC、接入设备的MAC地址、无线AP的MAC地址和无线AP的SSID等字段。
步骤207、认证服务器在接收到该网络接入认证报文后,解析该网络接入认证报文并在数据库中查找是否存在与该接入设备的MAC地址对应的手机号码,如果是,进入步骤208,如果否,进入步骤211。
本步骤中,数据库中预先保存之前与网络连接过的接入设备的MAC地址与该接入设备进行网络连接的手机号码的对应关系。
步骤208、认证服务器使用查找到的手机号码生成第二PMK,并采用该第二PMK校验该网络接入认证报文中的第一MIC是否正确,如果是,进入步骤209,如果否,进入步骤211。
具体的,认证服务器首先使用查找到的手机号码生成第二PSK,具体方式与上述步骤204中的方式相同,由于本发明实施例中,设置PMK与PSK相同,认证服务器生成第二PSK后,可得到第二PMK,采用与上述步骤203中相同的方式导出第二PTK以及第二MIC。将第二MIC与第一MIC进行比较,当第二MIC与第一MIC相同时,校验该网络接入认证报文中的第一MIC正确,进入步骤209;当第二MIC与第一MIC不相同时,校验该网络接入认证报文中的第一MIC不正确,进入步骤211。
如果采用第二PMK校验第一MIC正确,说明数据库中查找到的手机号码与接入设备对应的当前手机号码是同一号码。如果采用第二PMK校验第一MIC不正确,说明数据库中查找到的手机号码与接入设备对应的当前手机号码是不同的号码,例如:某用户使用IPAD作为接入设备想要接入该无线AP,并使用手机号码A作为密码接入,认证服务器和该无线AP对该接入设备认证完成后,认证服务器将该IPAD的MAC地址和手机号码A对应保存在数据库中;当该用户一个月后又使用该IPAD作为接入设备想要接入该无线AP时,使用手机号码B作为密码接入,由于本次使用的密码是手机号码B,与数据库中保存的手机号码A是不同的号码,因此认证服务器采用本步骤207校验第一MIC错误。
步骤209、认证服务器向无线AP发送第一正确响应报文并执行步骤215。
其中,该第一正确响应报文中携带第二PMK。
认证服务器采用第二PMK校验第一MIC正确后,向无线AP发送第一正确响应报文,并执行步骤215完成对该接入设备的认证,即通过向该当前手机号码所属的手机发送短信验证指令,并通过验证接入设备当前使用手机返回的短信验证码的正确性,完成对接入设备的认证,具体验证过程如步骤215-217。
进一步的,认证服务器在采用第二PMK校验第一MIC正确后,还可以按照预设管理机制完成对接入设备的认证,具体可以采用如下两种方式:
第一种方式:认证服务器在校验第一MIC正确时,确定当前时间与预设初始时间之间的时长是否小于预设时长,如果是,进入步骤220向无线AP发送认证成功报文,如果否,进入步骤215。
第二种方式:认证服务器在校验第一MIC正确时,确定该接入设备使用查找到的该手机号码接入网络的次数是否小于预设次数,如果是,进入步骤220向无线AP发送认证成功报文,如果否,进入步骤215。
步骤210、该无线AP按照802.11规范,采用该第二PMK完成四次握手的后两次握手过程,在完成四次握手后,为该接入设备分配IP地址,标记该接入设备为未认证状态,等待该认证服务器的认证结果。该认证结果可在步骤218或步骤220中体现。
本发明实施例中,无线AP对接入设备完成四次握手的过程即为对接入设备进行认证处理的过程,当无线AP按照802.11规范,完成四次握手的后两次握手过程后,接入设备与无线AP的链路层连接上了,但此时,接入设备实际还无法上网传输数据。在认证服务器进行后续的手机短信验证过程并将认证结果发送给该无线AP后,该无线AP根据认证结果确定是否将该接入设备接入网络。认证服务器向无线AP发送的认证结果为认证成功报文或者认证失败报文。
步骤211、根据预共享密钥生成算法的逆运算,确定该接入设备对应的当前手机号码。
本步骤中,根据预共享密钥生成算法的逆运算,确定的接入设备对应的当前手机号码满足以下条件:
该当前手机号码为手机号码字典中的手机号码;
基于当前手机号码生成的第三MIC与第一MIC相同。
其中,手机号码字典是用来保存手机号码的。具体的,手机号码字典中的手机号码可以根据实际需要进行选择保存,例如,可以将通讯录或商家会员的手机号码保存到手机号码字典中,还可以将所在地的所有手机号码保存到手机号码字典中,或者将限定的运营商的手机号码保存到手机号码字典中。
具体的,确定该接入设备对应的当前手机号码具体可以采用如下两种方式:
第一种方式:在手机号码字典中选取一个手机号码,使用该手机号码按照预共享密钥生成算法生成第三PSK。使用第三PSK,生成第三PTK和第三MIC,具体方式与上述步骤204中的处理方式相同。将第三MIC与第一MIC进行比较,如果比较结果相同,确定选取的该手机号码为该接入设备对应的当前手机号码;如果比较结果不相同,将该手机号码判定为非当前手机号码,并在剩余的手机号码中选取一个手机号码,对选中的手机号码重复进行前述比较过程,即对选中的手机号码按照预共享密钥生成算法生成第三PSK,使用第三PSK,生成第三PTK和第三MIC,将第三MIC与第一MIC进行比较的过程,直到选中的手机号码被确定为接入设备对应的当前手机号码。如果直到将手机号码字典中所有的手机号码都执行上述处理,也未确定接入设备对应的当前手机号码,则认证服务器向无线AP发送错误响应报文,无线AP拒绝该接入设备连接网络。
第二种方式:为了减少计算量,预先将手机号码字典中的每一个手机号码对应生成PSK,并将每一个手机号码与对应的PSK保存到哈希表中,这样在确定该接入设备对应的当前手机号码时,从手机号码字典中选取一个手机号码,不需要再计算使用该手机号码生成的第三PSK,直接在哈希表中查找该手机号码对应的PSK即可。查找到该手机号码对应的PSK后的处理过程与上述第一种方式中的处理过程类似,在此不再赘述。
步骤212、认证服务器使用预共享密钥生成算法逆运算确定的当前手机号码生成第三PMK。
步骤213、认证服务器向无线AP发送第二正确响应报文并执行步骤215。
其中,该第二正确响应报文中携带第三PMK。
步骤214、该无线AP按照802.11规范,采用该第三PMK完成四次握手的后两次握手过程,在完成四次握手后,为该接入设备分配IP地址,标记该接入设备为未认证状态,等待该认证服务器的认证结果。该认证结果可在步骤218或步骤220中体现。
步骤215、认证服务器向该当前手机号码所属的手机发送短信验证指令。本实施例中接入设备是以IPAD为例进行说明的,由于某些类型的IPAD不具有电话卡槽,因此当接入设备不具有电话卡槽时无法接收短信验证指令,故还需要使用当前手机号码的设备(即当前手机号码所属的手机)接收短信验证指令。应当理解的是,当接入设备具有电话卡槽且使用当前手机号码时,步骤215中认证服务器则向接入设备发送短信验证指令。
其中,该短信验证指令可以是一组随机数,还可以是数学计算式,或者常识问题等。
上述步骤209和步骤215之间没有严格的先后顺序,认证服务器可以先执行步骤209,再执行步骤215;也可以先执行步骤215,再执行步骤209;还可以同时执行步骤209和步骤215。无线AP在接收到步骤209的第一正确响应报文后,执行步骤210。
上述步骤213和步骤215之间没有严格的先后顺序,认证服务器可以先执行步骤213,再执行步骤215;也可以先执行步骤215,再执行步骤213;还可以同时执行步骤213和步骤215。无线AP在接收到步骤213的第二正确响应报文后,执行步骤214。
步骤216、该当前手机号码所属的手机向该认证服务器返回短信验证码。
本步骤中,当前手机号码所属的手机显示短信验证指令,并提供回复输入框,用户可根据具体短信验证指令的内容,通过回复输入框输入短信验证码。另外,当前手机号码所属的手机还可在接收到短信验证码时主动提取并将短信验证码写入至回复输入框。
进一步的,在用户长时间未输入短信验证码的情况下,认证服务器可以通过检测等待时间,当等待时间超过预设等待时间时,向无线AP发送认证失败报文,无线AP拒绝该接入设备连接网络。
步骤217、该认证服务器验证该短信验证码是否正确,如果否,进入步骤218,如果是,进入步骤220。
步骤218、该认证服务器向无线AP发送认证失败报文,则认证服务器的认证结果为失败。
步骤219、该无线AP在接收到该认证失败报文后,拒绝该接入设备连接网络。
步骤220、该认证服务器向无线AP发送认证成功报文,则认证服务器的认证结果为成功。
进一步的,认证服务器验证该短信验证码正确后,使用该接入设备对应的当前手机号码更新数据库中的该接入设备对应的手机号码。
步骤221、无线AP在接收到该认证成功报文后,打开网络端口,允许该接入设备接入网络。
本步骤中,无线AP在接收到该认证成功报文后,可以将标记的该接入设备未认证状态更改已认证状态。
进一步的,无线AP还可以在执行步骤214后,开始检测等待接收认证服务器发送认证成功报文的等待时长,确定该等待时长是否小于预设等待时长,如果是,无线AP打开网络端口,允许该接入设备接入网络;如果否,无线AP拒绝该接入设备连接网络。
通过本发明实施例1提供的网络接入方法,通过认证请求报文中附有接入设备对应的当前手机号码,使用该手机号码对接入设备进行接入认证,即使用接入设备对应的当前手机号码作为密码进行网络连接,避免了现有技术中预先设置密码的分发问题,降低了密码泄露的风险,提高了网络连接的安全性,同时由于不需要进行密码分发,使得网络连接更加便捷。
实施例2:
基于同一发明构思,根据本发明上述实施例提供的网络连接方法,相应地,本发明实施例2还提供了一种网络连接装置,其结构示意图如图3所示,包括:解析单元301、成对主密钥生成单元302、认证单元303和接入单元304,其中:
解析单元301,用于对接收到的接入设备发送的认证请求报文进行解析处理,得到接入设备对应的当前手机号码,所述手机号码为所述接入设备当前接入网络的网络接入密码;
成对主密钥生成单元302,用于使用所述当前手机号码生成第一成对主密钥PMK;
认证单元303,用于采用所述第一PMK对所述接入设备进行认证处理;
接入单元304,用于当采用所述第一PMK对所述接入设备认证成功,并对所述当前手机号码所属的手机根据短信验证指令返回的短信验证码验证成功后,打开网络端口,允许所述接入设备接入网络。
进一步的,解析单元301,具体用于接收接入设备发送的认证请求报文,所述认证请求报文至少包括所述接入设备的MAC地址和第一消息完整性校验码MIC;在数据库中查找与所述接入设备的MAC地址对应的手机号码;当查找到与所述接入设备的MAC地址对应的手机号码时,使用查找到的手机号码生成第二成对主密钥PMK,并采用所述第二PMK校验所述第一MIC的正确性;若校验结果正确,确定查找到的手机号码为所述接入设备对应的当前手机号码;若校验结果错误,根据预共享密钥生成算法的逆运算,确定所述接入设备对应的当前手机号码;当未查找到所述接入设备的MAC地址对应的手机号码时,根据预共享密钥生成算法的逆运算,确定所述接入设备对应的当前手机号码。
其中,数据库中预先保存之前与网络连接过的接入设备的MAC地址与该接入设备进行网络连接的手机号码的对应关系。
本发明实施例中,接入设备与网络连接装置之间按照802.11规范进行开放系统认证并进行关联,在此不再进行详细描述。
具体的,解析单元301接收的认证请求报文中携带接入设备的MAC地址和第一消息完整性校验码(MIC,Message Integrity Code),其中,第一MIC是接入设备通过如下方式确定的:
按照802.11规范,接入设备和网络连接装置关联后,网络连接装置向该接入设备发送第一认证报文,该第一认证报文中携带一组随机数ANonce。该接入设备在接收到第一认证报文后,按照802.11规范的定义,判断该第一认证报文是否正常。接入设备在确定该第一认证报文正常后,生成一组随机数SNonce,并从第一认证报文中获取ANonce,根据ANonce、SNonce、接入设备的MAC地址和网络连接装置中的无线AP的MAC地址导出第一成对传输密钥(PTK,Pair wise Transient Key),具体导出第一PTK的过程如下:
该接入设备在与网络连接装置关联后,接入设备为用户提供输入密码的界面,用户输入当前使用手机的手机号码。接入设备首先采用如下公式确定第一预共享密钥(PSK,Pre-shared Key):
PSK=PBKDF2(PassPhrase,ssid,ssidLength,4096,256);
其中,PBKDF2为PKCS#5v2.0中定义的算法,PassPhrase为无线网络的密码即为接入设备当前对应的手机号码,ssid为无线AP的服务集标识,ssidLength为该无线AP的服务集标识字符串的长度,4096是PBKDF2算法中表示HASH的次数,256是PBKDF2算法生成的比特位长度。
接入设备在确定第一PSK后,采用如下公式导出第一PTK:
PTK=PRF-X(PMK,“Pairwise key expansion”,Min(AA,SPA)||Max(AA,SPA)||Min(ANonce,SNonce)||Max(ANonce,SNonce));
其中,PRF-X为伪随机数函数,也是一种杂凑函数,Pairwise key expansion为固定的字符串,AA表示无线AP的MAC地址,SPA表示接入设备的MAC地址,Min(·,·)表示取两者中的最小值,Max(·,·)表示取两者中的最大值,符号“||”表示连接,即后一个信息连接到前一个信息的后面,第三成对主密钥(PMK,Pairwise Master Key)与第一PSK相同。
本发明实施例中,设置PMK与PSK相同。
接入设备在导出第一PTK后,采用如下公式导出认证请求报文中的第一消息完整性校验码(MIC,Message Integrity Code):
MIC=HMAC_MD5(KCK,EAPOL-Key);
其中,HMAC_MD5为一种摘要算法,KCK是PTK中用于完整性校验的密钥,EAPOL-Key为将认证请求报文的MIC字段处先用0进行填充得到的报文,生成第一MIC后再将第一MIC值填入认证请求报文的MIC字段中。
接入设备在确定第一MIC后,生成至少包含第一MIC和该接入设备的MAC地址的第二认证报文,该认证请求报文还包括按照802.11规范中定义的其他字段。该第二认证报文即为接入设备向解析单元301发送的认证请求报文。
具体的,解析单元301在接收到接入设备发送的该认证请求报文后,解析该认证请求报文,将第一认证报文、认证请求报文和网络连接装置中的无线AP的SSID整合为一个网络接入认证报文,该网络接入认证报文中包含ANonce、SNonce、第一MIC、接入设备的MAC地址、无线AP的MAC地址和无线AP的SSID等字段。解析单元301在数据库中查找是否存在与该接入设备的MAC地址对应的手机号码,如果在数据库中查找到与该接入设备的MAC地址对应的手机号码,使用查找到的该手机号码生成第二PMK,触发认证单元303采用该第二PMK校验该网络接入认证报文中的第一MIC是否正确,具体校验方式为:采用与上述生成第一MIC相同的方式,使用第二PSK,生成第二PTK和第二MIC,本发明实施例中,设置PMK于PSK相同,即第二PMK与生成的第二PSK相同,将第二MIC与第一MIC进行比较,当第二MIC与第一MIC相同时,校验该网络接入认证报文中的第一MIC正确,当第二MIC与第一MIC不相同时,根据预共享密钥生成算法的逆运算,确定该接入设备对应的当前手机号码。如果在数据库中未查找到与该接入设备的MAC地址对应的手机号码,根据预共享密钥生成算法的逆运算,确定该接入设备对应的当前手机号码。
如果采用第二PMK校验第一MIC正确,说明数据库中查找到的手机号码与接入设备对应的当前手机号码是同一号码。如果采用第二PMK校验第一MIC不正确,说明数据库中查找到的手机号码与接入设备对应的当前手机号码是不同的号码,例如:某用户使用IPAD作为接入设备想要接入该无线AP,并使用手机号码A作为密码接入,认证服务器和该无线AP对该接入设备认证完成后,认证服务器将该IPAD的MAC地址和手机号码A对应保存在数据库中;当该用户一个月后又使用该IPAD作为接入设备想要接入该无线AP时,使用手机号码B作为密码接入,由于本次使用的密码是手机号码B,与数据库中保存的手机号码A是不同的号码,因此解析单元301校验第一MIC错误。
进一步的,认证单元303在采用第二PMK校验第一MIC正确后,还可以按照预设管理机制完成对接入设备的认证,具体可以采用如下两种方式:
第一种方式:认证单元303在校验第一MIC正确时,确定当前时间与预设初始时间之间的时长是否小于预设时长,如果是,触发接入单元304打开网络端口,允许该接入设备接入网络;如果否,触发接入单元304拒绝该接入设备连接网络。
第二种方式:认证单元303在校验第一MIC正确时,确定该接入设备使用查找到的该手机号码接入网络的次数是否小于预设次数,如果是,触发接入单元304打开网络端口,允许该接入设备接入网络;如果否,触发接入单元304拒绝该接入设备连接网络。
具体的,解析单元301根据预共享密钥生成算法的逆运算,确定的所述接入设备对应的当前手机号码满足以下条件:当前手机号码为手机号码字典中的手机号码;基于当前手机号码生成的第三消息完整性校验码MIC与所述第一MIC相同。其中,手机号码字典是用来保存手机号码的。具体的,手机号码字典中的手机号码可以根据实际需要进行选择保存,例如,可以将通讯录或商家会员的手机号码保存到手机号码字典中,还可以将所在地的所有手机号码保存到手机号码字典中,或者将限定的运营商的手机号码保存到手机号码字典中。
具体的,确定该接入设备对应的当前手机号码具体可以采用如下两种方式:
第一种方式:在手机号码字典中选取一个手机号码,使用该手机号码按照预共享密钥生成算法生成第三PSK。使用第三PSK,生成第三PTK和第三MIC。将第三MIC与第一MIC进行比较,如果比较结果相同,确定选取的该手机号码为该接入设备对应的当前手机号码;如果比较结果不相同,将该手机号码判定为非当前手机号码,并在剩余的手机号码中选取一个手机号码,对选中的手机号码重复进行前述比较过程,即对选中的手机号码按照预共享密钥生成算法生成第三PSK,使用第三PSK,生成第三PTK和第三MIC,将第三MIC与第一MIC进行比较的过程,直到选中的手机号码被确定为接入设备对应的当前手机号码。如果直到将手机号码字典中所有的手机号码都执行上述处理,也未确定接入设备对应的当前手机号码,触发接入单元304拒绝该接入设备连接网络。
具体的,为了减少计算量,解析单元301预先将手机号码字典中的每一个手机号码对应生成PSK,并将每一个手机号码与对应的PSK保存到哈希表中,这样在确定该接入设备对应的当前手机号码时,从手机号码字典中选取一个手机号码,不需要再计算使用该手机号码生成的第三PSK,直接在哈希表中查找该手机号码对应的PSK即可。查找到该手机号码对应的PSK后的处理过程与上述不使用哈希表的处理过程类似,在此不再赘述。
成对主密钥生成单元302使用预共享密钥生成算法逆运算确定的手机号码生成第一PMK后,触发认证单元303采用该第一PMK完成四次握手的后两次握手过程,在完成四次握手后,为该接入设备分配IP地址,标记该接入设备为未认证状态,并等待认证单元303的最终认证结果。认证单元303,向该当前手机号码所属的手机发送短信验证指令并接收该当前手机号码所属的手机向该认证服务器返回短信验证码,若对短信验证码验证成功,即最终认证结果为认证成功,使用该接入设备对应的当前手机号码更新数据库中的该接入设备对应的手机号码,并触发接入单元304打开网络端口,允许所述接入设备接入网络,并将标记的该接入设备未认证状态更改为已认证状态;若对短信验证码验证失败,即最终认证结果为认证失败,触发接入单元304拒绝该接入设备连接网络。当前手机号码所属的手机显示短信验证指令,并提供回复输入框,用户可根据具体短信验证指令的内容,通过回复输入框输入短信验证码。另外,当前手机号码所属的手机还可在接收到短信验证码时主动提取并将短信验证码写入至回复输入框。
本实施例中接入设备是以IPAD为例进行说明的,由于某些类型的IPAD不具有电话卡槽,因此当接入设备不具有电话卡槽时无法接收短信验证指令,故还需要使用当前手机号码的设备(即当前手机号码所属的手机)接收短信验证指令。应当理解的是,当接入设备具有电话卡槽且使用当前手机号码时,认证单元303则向接入设备发送短信验证指令。该短信验证指令可以是一组随机数,还可以是数学计算式,或者常识问题等。
上述各单元的功能可对应于图1或图2所示流程中的相应处理步骤,在此不再赘述。
本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
实施例3:
基于同一发明构思,根据本发明上述实施例提供的网络连接方法,相应地,本发明实施例3还提供了一种网络连接系统,其结构示意图如图4所示,包括:无线接入点AP401和认证服务器402,其中,
所述无线接入点AP401,用于根据接收到的接入设备发送的认证请求报文生成网络接入认证报文;将所述网络接入认证报文发送给所述认证服务器;接收所述认证服务器发送的成对主密钥PMK;采用所述PMK对所述接入设备进行认证处理;当采用所述PMK对所述接入设备进行认证成功,并接收到所述认证服务器发送的短信验证码验证完成报文后,打开网络端口,允许所述接入设备接入网络;
所述认证服务器402,用于接收所述网络接入认证报文;对所述网络接入认证报文进行解析处理,得到接入设备对应的当前手机号码,所述当前手机号码为所述接入设备当前接入网络的网络接入密码;使用所述接入设备对应的当前手机号码生成成对主密钥PMK,并将所述PMK发送给所述AP;向所述当前手机号码所属的手机发送短信验证指令;在接收到所述当前手机号码所属的手机发送的短信验证码并验证正确后,向所述AP发送短信验证码验证完成报文。
本发明实施例3中提供的上述如图4所示的网络连接系统,其中所包括的无线接入点AP401和认证服务器402进一步的功能,可对应于图1、图2所示流程中的相应处理步骤,在此不再赘述。
综上所述,本发明实施例提供的方案,包括:对接收到的接入设备发送的认证请求报文进行解析处理,得到接入设备对应的当前手机号码,该当前手机号码为该接入设备当前接入网络的网络接入密码;使用该当前手机号码生成第一成对主密钥PMK;采用该第一PMK对接入设备进行认证处理;当采用该第一PMK对该接入设备认证成功,并对该当前手机号码所属的手机根据短信验证指令返回的短信验证码验证成功后,打开网络端口,允许该接入设备接入网络。采用本发明实施例提供的方案,通过认证请求报文中附有接入设备对应的当前手机号码,使用该手机号码对接入设备进行接入认证,即使用接入设备对应的当前手机号码作为密码进行网络连接,避免了现有技术中预先设置密码的分发问题,降低了密码泄露的风险,提高了网络连接的安全性,同时由于不需要进行密码分发,使得网络连接更加便捷。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。