本发明涉及用户认证技术领域,尤其是涉及改善用户认证体验的方法。
背景技术:
受保护的可扩展的身份验证协议(PEAP)是可扩展的身份验证协议(EAP)家族的一个新成员,使用于RADIUS(Remote Authentication Dial In User Service,远程用户拨号认证服务)服务器,热点控制器AC,热点AP,用户终端构成的wifi系统。基于RADIUS服务器-AC-AP-终端的wifi系统的无感知认证PEAP方案中,存在一种用户被迫需要点击忘记网络信息,从而重新输入密码的问题。
具体来说,相对机场、商场等公共场所常使用的基于portal的认证方案,PEAP认证在第一次输入用户名和密码后即可保存在终端,终端每次检测到之前关联过的SSID(Service Set Identifier,网络名)信号,则可以直接用保存的用户名和密码进行验证,方便快捷,也被称之为无感知认证。在以上表述的场景中,终端需要保持所有连过的SSID对应的PMK(pairwise master key)和PMKID;热点控制器AC需要保持所有认证通过的终端的对应的PMK和PMKID。对于终端来说因为关联过的SSID比较有限,不存在任何问题;但是对于AC来说,因为机场,商场等场所人口流动性大,随着时间增长,终端的数量是趋近无限的,AC不可能一直保持所有终端的信息。大多AC的处理方式就是采用老化机制,在一段时间内,用户未数据通信,就将用户信息删除。
基于以上,就会出现下述场景:一个终端在某一天在一个商场上线,第二天终端再次在此商场上线。此时终端将自己保持的PMKID发给AC,但是AC上该用户信息早已老化。因为AC找不到对应的PMKID,所以将等待用户发起认证请求;然而终端认为自己已经提供了PMKID,应该由AC发起第一次握手。双方相互等待,形成资源死锁。
对于该问题,一般的解决方案则是点击终端的忘记网络信息,然后重新关联认证。但这就意味着用户需要重新输入用户名和密码,操作麻烦,也没有体现PEAP认证作为无感知认证的优势。
技术实现要素:
有鉴于此,本发明的目的在于提供改善用户认证体验的方法,解决了经过较长时间后,终端需被迫点击忘记网络,并重新输入密码的问题,实现了无感知自动关联,方便快捷,提高用户体验。
第一方面,本发明实施例提供了改善用户认证体验的方法,包括:
接收终端的关联请求信息;
判断与所述关联请求信息相对应的成对主密钥PMK是否存在;
如果不存在,则向所述终端发送伪造握手报文;
接收所述终端的认证请求信息,并根据所述认证请求信息进行第一登录认证;
根据握手协议进行第二登录认证。
结合第一方面,本发明提供了第一方面的第一种可能的实施方式,其中,所述关联请求信息包括成对主密钥索引PMKID,所述判断与所述关联请求信息对应的PMK是否存在包括:
将所述PMKID作为关键字,判断与所述PMKID相对应的所述PMK是否存在,其中,所述PMK为所述终端前一次登录时服务器下发暗文的成对主密钥。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述伪造握手报文包括计数器,所述则向所述终端发送伪造握手报文包括:
向所述终端发送所述计数器为0xff的所述伪造握手报文,以使所述终端重新发送所述认证请求信息进行认证。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述接收所述终端的认证请求信息,并根据所述认证请求信息进行第一登录认证包括:
接收所述终端发送的所述认证请求信息;
根据所述认证请求信息向所述终端发送用户名请求信息;
接收所述终端发送的用户名信息,并将所述用户名信息通过热点发送给服务器;
通过所述服务器与所述终端的暗文交互,确认所述终端的密码是否正确;
如果正确,则接收所述服务器发送的所述PMK。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述根据握手协议进行第二登录认证包括:
通过第一次握手向所述终端发送第一随机数和第一媒介访问控制器MAC;
通过第二次握手接收所述终端发送的第二随机数、第二MAC和附加值;
判断报文和加密值是否吻合;
如果吻合,则登录认证成功,并通过第三次握手向所述终端发送认证成功信息;
通过第四次握手接收所述终端发送的回复信息。
第二方面,本发明实施例提供了改善用户认证体验的方法,包括:
向热点控制器AC发送关联请求信息,以使所述AC判断与所述关联请求信息相对应的成对主密钥PMK是否存在;
如果不存在,则接收所述AC发送的伪造握手报文;
向所述AC发送认证请求信息以进行第一登录认证;
根据握手协议与所述AC进行第二登录认证。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述关联请求信息包括成对主密钥索引PMKID,所述接收所述AC发送的伪造握手报文包括:
接收所述计数器为0xff的所述伪造握手报文。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述向所述AC发送认证请求信息以进行第一登录认证包括:
向所述AC发送所述认证请求信息;
接收所述AC返回的用户名请求信息;
向所述AC发送用户名信息,以使所述AC将所述用户名信息通过热点发送给服务器;
通过与所述服务器的暗文交互,确认密码是否正确;
如果正确,则接收所述服务器发送的所述PMK。
结合第二方面,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述根据握手协议与所述AC进行第二登录认证包括:
通过第一次握手接收所述AC发送第一随机数和第一媒介访问控制器MAC;
通过第二次握手向所述AC发送第二随机数、第二MAC和附加值,以使所述AC判断报文和加密值是否吻合;
如果吻合,则登录认证成功,并通过第三次握手接收所述AC发送的认证成功信息;
通过第四次握手向所述AC发送回复信息。
结合第二方面的第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述向所述AC发送第二随机数、第二MAC和附加值包括:
生成所述第二随机数和所述第二MAC;
根据所述第二随机数、所述第二MAC、所述第一随机数、所述第一MAC和PMK计算密钥,其中,所述PMK为本次登录时服务器下发暗文的成对主密钥;
根据所述密钥和所述报文计算所述附加值。
本发明提供的改善用户认证体验的方法包括:首先,接收终端的关联请求信息,然后,判断与关联请求信息相对应的成对主密钥PMK是否存在,如果不存在,则向终端发送伪造握手报文,之后,接收终端的认证请求信息,并根据认证请求信息进行第一登录认证,最后,根据握手协议进行第二登录认证。本发明解决了经过较长时间后,终端需被迫点击忘记网络,并重新输入密码的登录障碍,实现了无感知自动关联,方便快捷,提高用户体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的改善用户认证体验的方法流程图;
图2为本发明实施例提供的步骤S104的方法流程图;
图3为本发明实施例提供的步骤S105的方法流程图;
图4为本发明实施例提供的另一改善用户认证体验的方法流程图;
图5为本发明实施例提供的改善用户认证体验的方法信令图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,当终端在一个公共场所上网络,经过较长时间再次上网,常常需要被迫点击忘记网络信息,然后重新关联认证。但这就意味着用户需要重新输入用户名和密码,操作麻烦,也没有体现PEAP认证作为无感知认证的优势。基于此,本发明实施例提供的改善用户认证体验的方法,可以解决经过较长时间后,终端需被迫点击忘记网络,并重新输入密码的登录障碍,实现了无感知自动关联,方便快捷,提高用户体验。
为便于对本实施例进行理解,首先对本发明实施例所公开的改善用户认证体验的方法进行详细介绍。
图1为本发明实施例提供的改善用户认证体验的方法流程图。
参照图1,执行主体为热点控制器AC,改善用户认证体验的方法包括:
步骤S101,接收终端的关联请求信息;
具体地,首先,由用户终端向AC发起关联请求,其中,关联请求信息包括成对主密钥索引PMKID,AC通知热点AP添加用户终端并通知用户终端关联成功。此过程为终端关系信息的过程,会在AC和AP上创建终端的基本信息。
步骤S102,判断与关联请求信息相对应的成对主密钥PMK是否存在;
如果存在,则执行步骤S1032,即关联终端,并根据握手协议进行第二登录认证;如果不存在,则执行步骤S1031,即向终端发送伪造握手报文;
具体地,如果存在,即当用户发送给AC的PMKID,在AC处依然没老化,则直接进行第二登录认证,也就是四次握手的过程,这样的登录方式也称快速认证。快速认证的产生是基于RADIUS服务器和终端之间的暗文交换报文非常多,虽然认证过程在几秒内,对用户感受影响不大,但是如果无线信号不够强,此流程中的丢包会造成认证失败,终端和RADIUS服务器之间反复认证,影响认证成功率。
因此,针对上述情况,PEAP的WPA2做了改进,如果已经认证成功过的终端,再次上线将不再进行认证,只有关联和四次握手过程。原理为:第一次认证通过后,AC将PMK按一定的hash算法算出一个PMKID,终端也根据同样的hash算法算出一个PMKID,并且保存了上次认证成功的用户名和密码。具体过程为:首先,由终端发起携带PMKID的关联请求,将此PMKID携带送给AC。AC将以PMKID为关键字,找到对应的PMK后,AC通知AP和终端关联成功,直接进行四次握手。
需要说明的是,如果AC以PMKID为关键字,找不到对应的PMK,则应执行步骤S1031,即接收AC发送的伪造握手报文,这份伪造的握手报文可以让终端认为之前认证报文的延迟发送。为了和AC、RADIUS服务器保持认证流程的同步,不得不重新发起认证,从而上线。因此,即使长时间未登录,也就是老化以后AC不能寻找到对应的PMK,终端也不必重新输入密码认证,实现了无感知自动关联,方便快捷,提高用户体验。
步骤S104,接收所终端的认证请求信息,并根据认证请求信息进行第一登录认证;
步骤S105,根据握手协议进行第二登录认证。
根据本发明的示例性实施例,关联请求信息包括成对主密钥索引PMKID,判断与关联请求信息对应的PMK是否存在包括:
将PMKID作为关键字,判断与PMKID相对应的PMK是否存在,其中,PMK为终端前一次登录时服务器下发暗文的成对主密钥。
具体地,此处的PMK应为终端上一次登录时,RADIUS服务器下发至AC和终端的暗文的PMK。
根据本发明的示例性实施例,伪造握手报文包括计数器,则向终端发送伪造握手报文包括:
向终端发送计数器为0xff(16进制)的伪造握手报文,以使终端重新发送认证请求信息进行认证。
具体地,如果AC未找到相应的PMKID,不再进行等待,而是依然发起握手,但是此次的握手是将RelayCounter填写成全F(非法值),因此为伪造握手报文。目前主流手机包括苹果、三星、华为、魅族等手机对发现握手的RelayCounter数非法,一旦发现参数不合法则认为该握手非基于本次认证参数的PMK,为之前认证的握手信息延迟发送而来,从而使终端重新发送认证请求信息进行认证。
根据本发明的示例性实施例,接收终端的认证请求信息,并根据认证请求信息进行第一登录认证包括:
如图2所示,步骤S201,接收终端发送的认证请求信息;
步骤S202,根据认证请求信息向终端发送用户名请求信息;
步骤S203,接收终端发送的用户名信息,并将用户名信息通过热点发送给服务器;
步骤S204,通过服务器与终端的暗文交互,确认终端的密码是否正确;
步骤S205,如果正确,则接收服务器发送的PMK。
具体地,服务器为RADIUS服务器。首先,由终端发起认证请求信息,AC接收到认证请求信息以后要求终端提供用户名,而后,终端向AC上报用户名,并由AP将用户名转发至RADIUS服务器,此后将在RADIUS服务器与终端之间进行一系列的暗文交互,以确认用户密码是否正确,最后,确认密码无误后,RADIUS服务器将下发暗文的PMK给AC和终端。以上为终端和RADIUS服务器的权限验证,最终RADIUS服务器下发PMK给AC和终端。
根据本发明的示例性实施例,根据握手协议进行第二登录认证包括:
如图3所示,步骤S301,通过第一次握手向终端发送第一随机数和第一媒介访问控制器MAC;
步骤S302,通过第二次握手接收终端发送的第二随机数、第二MAC和附加值;
步骤S303,判断报文和加密值是否吻合;
步骤S304,如果吻合,则登录认证成功,并通过第三次握手向所述终端发送认证成功信息;
步骤S305,通过第四次握手接收所述终端发送的回复信息。
具体地,如图5所示,在第一次握手的过程中,AC发送第一次握手给终端,传递第一随机数A和AC的MAC,终端根据第一次握手提供的参数、自身产生的第二随机数B、终端的MAC以及PMK算出一个密钥;通过第二次握手,终端向AC传递第二随机数B和自己的MAC,并将密钥和报文算出的一个附加值附上;如果AC判断出报文和加密值吻合,并放开用户上网权限,并通过第三次握手向终端发送认证成功消息,通知终端上线;最后,通过第四次握手,终端向AC发送回复信息,表明已得到通知。以上为四次握手过程,AC和用户基于PMK进行对接,AC确认用户权限后,打开用户上网通路。
需要说明的是,在握手的过程中,AC和终端都对握手顺序进行了检查,如第一次握手认证时,AC和终端都保存了计数器RelayCounter为1,AC将会在握手报文中携带RelayCounter发给终端,然后AC的RelayCounter会自加为1,终端收到报文后,核对报文中的RelayCounter和自身保存的RelayCounter,如果相等则启动发二次握手流程。
本发明提供了改善用户认证体验的方法,包括:接收终端的关联请求信息;判断与关联请求信息相对应的成对主密钥PMK是否存在;如果不存在,则向终端发送伪造握手报文;接收终端的认证请求信息,并根据认证请求信息进行第一登录认证;根据握手协议进行第二登录认证。本发明解决了经过较长时间后,终端需被迫点击忘记网络,并重新输入密码的登录障碍,终端在一个公共场所上网后,过较长段时间再次上网,可以无感知自动关联上,方便快捷。对于AC不用修改或增加现有的缓存机制,只需发送一个错误的报文,对现有的框架修改代价小,实现了无感知自动关联,方便快捷,提高用户体验。
图4为本发明实施例提供的另一改善用户认证体验的方法流程图。
参照图4,执行主体为终端,改善用户认证体验的方法包括:
步骤S401,向热点控制器AC发送关联请求信息,以使AC判断与关联请求信息相对应的成对主密钥PMK是否存在;
步骤S402,如果不存在,则接收AC发送的伪造握手报文;
步骤S403,向AC发送认证请求信息以进行第一登录认证;
步骤S404,根据握手协议与AC进行第二登录认证。
根据本发明的示例性实施例,关联请求信息包括成对主密钥索引PMKID,接收AC发送的伪造握手报文包括:
接收计数器为0xff(16进制)的伪造握手报文。
根据本发明的示例性实施例,向所述AC发送认证请求信息以进行第一登录认证包括:
向AC发送认证请求信息;
接收AC返回的用户名请求信息;
向AC发送用户名信息,以使AC将所述用户名信息通过热点发送给服务器;
通过与服务器的暗文交互,确认密码是否正确;
如果正确,则接收服务器发送的PMK。
根据本发明的示例性实施例,根据握手协议与AC进行第二登录认证包括:
通过第一次握手接收AC发送第一随机数和第一媒介访问控制器MAC;
通过第二次握手向AC发送第二随机数、第二MAC和附加值,以使AC判断报文和加密值是否吻合;
如果吻合,则登录认证成功,并通过第三次握手接收AC发送的认证成功信息;
通过第四次握手向AC发送回复信息。
根据本发明的示例性实施例,向AC发送第二随机数、第二MAC和附加值包括:
如图5所示,步骤S501,生成第二随机数和第二MAC;
步骤S502,根据第二随机数、第二MAC、第一随机数、第一MAC和PMK计算密钥,其中,PMK为本次登录时服务器下发暗文的成对主密钥;
步骤S503,根据密钥和报文计算附加值。
本发明实施例提供的另一改善用户认证体验的方法,与上述实施例提供的改善用户认证体验的方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。当快速认证出现终端保存的PMKID已在AC上老化时,用户依然可以无感知上线。且优点在于AC不用修正原有的老化机制或者增加内存,并且依然只有足够权限的终端才能上网。
本发明实施例所提供的改善用户认证体验的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。