挑战响应式协议CHAP鉴权方法、装置和移动终端 【技术领域】
本发明涉及无线通信技术,特别是涉及一种EVDO(CDMA EVolution topacket Data Optimized,码分多址数据系统)网络的挑战响应式协议CHAP鉴权方法。
背景技术
在CDMA(Code Devision Multiple Access,码分多址载波系统)网络向3G(3rd Generation,第三代无线通信网络)发展的过程中,很长一段时间内出现CDMA 1X(Code Devision Multiple Access 1X,码分多址单载波系统)网络和EVDO网络并存的局面。EVDO网络与CDMA1X网络的鉴权方法完全不同,EVDO网络采用的是MD5(Message Digest 5,信息-摘要)鉴权方法,CDMA 1X网络采用的是CAVE(Cellular Authentication and Voice Encryption,蜂窝鉴权语音加密)鉴权方法,并且CAVE鉴权方法固化在UIM(User Identity Model,用户识别模块)卡中。为了能够支持CDMA 1X网络的UIM卡在EVDO网络中使用,目前EVDO网络鉴权方法需要同时支持MD5鉴权方法和CAVE鉴权方法两种。
EVDO网络的鉴权方法主要分为两步进行:首先是移动终端发起的NAI(Network Access Identifier,网络接入标识)鉴权,然后是鉴权服务器发起的CHAP(Challenge Handshake Authentication Protocol,挑战响应式协议)鉴权。目前的通用平台对CHAP鉴权的处理流程如下:
CHAP鉴权过程:鉴权服务器会向移动终端发送CHAP鉴权请求,该CHAP鉴权请求包含CHAP鉴权请求的名称、CHAP鉴权请求的说明和进行鉴权的密匙值,密匙值的长度例如16byte。移动终端收到该CHAP鉴权请求后会获取该密匙值,然后根据NAI鉴权过程中得到的该UIM卡如果存储有支持MD5鉴权方法的标识符,则调用MD5鉴权方法进行计算,反之,如果该UIM卡支持CAVE鉴权方法,则调用CAVE鉴权方法进行计算。将计算得到鉴权密匙值发给鉴权服务器,鉴权密钥值的长度与密钥值的长度相同,鉴权服务器验证无误后CHAP鉴权通过。
接着,鉴权服务器向移动终端发送移动终端登陆EVDO网络需要的用户名和密码,移动终端登陆EVDO网络,鉴权整个过程结束。
在当前混合网络的现状下,由于存在一些不可避免的人为错误,上述CHAP鉴权过程存在一些很明显的问题,导致CHAP鉴权不能通过。
在CHAP鉴权过程中,EVDO网络鉴权服务器可能存在缺陷,鉴权服务器可能只支持CAVE鉴权方法,而不能支持MD5鉴权方法,这样在CHAP鉴权过程中存储有支持MD5鉴权方法的标识符的UIM卡在调用MD5鉴权方法计算出一组鉴权密钥值发给鉴权服务器进行鉴权时,由于鉴权服务器不支持MD5鉴权方法会导致CHAP鉴权失败。另外,还由于市场上存在一些错误的存储有支持MD5鉴权方法的标识符的UIM卡,由于生产过程中出现问题,该UIM卡中虽然存储有支持MD5鉴权方法的标识符,即N5位置的值为11,但UIM卡中并未写入MD5鉴权方法,导致CHAP鉴权过程中在调用MD5鉴权方法时失败,CHAP鉴权失败。
【发明内容】
本发明实施例提供一种码分多址数据系统EVDO网络的挑战响应式协议CHAP鉴权方法,用以实现存储有支持MD5鉴权方法的标识符的UIM卡,即使鉴权服务器不支持MD5鉴权方法,也能够实现EVDO网络的CHAP鉴权成功。
为此,本发明实施例提供一种码分多址数据系统EVDO网络的挑战响应式协议CHAP鉴权方法,包括:
接收鉴权服务器发送的CHAP鉴权请求,CHAP鉴权请求携带第一密钥值;
确认用户识别模块中存储有支持MD5鉴权方法的标识符时,调用MD5鉴权方法以第一密钥值计算出第一鉴权密钥值,并将第一鉴权密钥值发送给鉴权服务器进行鉴权;
在接收到鉴权服务器根据第一鉴权密钥值鉴权失败后返回的携带有第二密钥值的CHAP重鉴权请求时,调用CAVE鉴权方法以第二密钥值计算出第二鉴权密钥值,并将第二鉴权密钥值发送给鉴权服务器进行鉴权。
进一步,EVDO网络的CHAP鉴权方法还包括:
当调用MD5鉴权方法失败并在接收到鉴权服务器因未收到第一鉴权密钥值而返回的并携带有第三密钥值的CHAP重鉴权请求时,调用CAVE鉴权方法以第三密钥值计算出第三鉴权密钥值,并将第三鉴权密钥值发送给鉴权服务器进行鉴权。
一种码分多址数据系统EVDO网络的挑战响应式协议CHAP鉴权装置,包括:
用于接收鉴权服务器发送的CHAP鉴权请求的单元,CHAP鉴权请求携带第一密钥值;
用于确认用户识别模块中存储了支持MD5鉴权方法的标识符时,调用MD5鉴权方法以第一密钥值计算出第一鉴权密钥值,并将第一鉴权密钥值发送给鉴权服务器进行鉴权的单元;
用于在接收到鉴权服务器根据第一鉴权密钥值鉴权失败后返回的携带有第二密钥值的CHAP重鉴权请求时,调用CAVE鉴权方法以第二密钥值计算出第二鉴权密钥值,并将第二鉴权密钥值发送给鉴权服务器进行鉴权的单元。
进一步,EVDO网络的CHAP鉴权装置还包括:
用于当调用MD5鉴权方法失败时,在接收到鉴权服务器因未收到第一鉴权密钥值而返回的并携带有第三密钥值的CHAP重鉴权请求时,调用CAVE鉴权方法以第三密钥值计算出第三鉴权密钥值,并将第三鉴权密钥值发送给鉴权服务器进行鉴权的单元。
一种码分多址数据系统EVDO网络的移动终端,包括网络接入标识NAI鉴权装置和挑战响应式协议CHAP鉴权装置,其中,所述CHAP鉴权装置包括:
用于接收鉴权服务器发送的CHAP鉴权请求的单元,所述CHAP鉴权请求携带第一密钥值;
用于确认用户识别模块中存储有支持信息-摘要MD5鉴权方法的标识符时,调用MD5鉴权方法以所述第一密钥值计算出第一鉴权密钥值,并将所述第一鉴权密钥值发送给鉴权服务器进行鉴权的单元;
用于在接收到鉴权服务器根据所述第一鉴权密钥值鉴权失败后返回的携带有第二密钥值的CHAP重鉴权请求时,调用蜂窝鉴权语音加密CAVE鉴权方法以所述第二密钥值计算出第二鉴权密钥值,并将所述第二鉴权密钥值发送给鉴权服务器进行鉴权的单元。
进一步,所述NAI鉴权装置包括:
用于确认用户识别模块中存储有支持信息-摘要MD5鉴权方法的标识符但是从所述用户识别模块中未读取到用户的NAI时,从所述用户识别模块中读取用户的国际移动用户识别码IMSI的单元;
用于根据所述IMSI获得用户的NAI的单元;
用于将获得地NAI发给鉴权服务器进行鉴权的单元。
进一步,所述NAI鉴权装置包括:
用于确认用户识别模块中存储有支持信息-摘要MD5鉴权方法的标识符时,从所述用户识别模块中读取用户的NAI的单元;
用于从所述用户识别模块中读取到用户的NAI时,判断所述NAI是否正确的单元;
用于在判断结果为是时,将读取的NAI发给鉴权服务器进行鉴权的单元;
用于在判断结果为否时,从所述用户识别模块中读取用户的国际移动用户识别码IMSI,根据所述IMSI获得用户的NAI,并将获得的NAI发给鉴权服务器进行鉴权的单元。
更进一步,所述NAI鉴权装置还包括:
用于从所述用户识别模块中未读取到所述NAI时,从所述用户识别模块中读取用户的国际移动用户识别码IMSI的单元;
用于根据所述IMSI获得用户的NAI,并将获得的NAI发给鉴权服务器进行鉴权的单元。
本发明实施例移动终端在确认UIM卡中存储有支持MD5鉴权方法的标识符时,移动终端调用MD5鉴权方法以第一密钥值计算出第一鉴权密钥值发给鉴权服务器进行鉴权,移动终端在接收到鉴权服务器根据第一鉴权密钥鉴权失败后返回的CHAP重鉴权请求时,调用CAVE鉴权方法以CHAP重鉴权请求中的第二密钥值计算出第二鉴权密钥值,并将第二鉴权密钥值发送给鉴权服务器进行鉴权,实现了存储有支持MD5鉴权方法的标识符的UIM卡,即使鉴权服务器存在不支持MD5鉴权方法的缺陷,也能够实现CHAP鉴权成功。
【附图说明】
图1为本发明实施例提供的NAI鉴权方法流程图;
图2为本发明实施例提供的CHAP鉴权方法流程图。
【具体实施方式】
EVDO网络的鉴权方法主要分为两步进行,首先是移动终端发起的NAI鉴权,NAI鉴权成功后,鉴权服务器发起CHAP鉴权。当两步都成功后,鉴权通过,接着鉴权服务器向移动终端发送移动终端登陆EVDO网络需要的用户名和密码,移动终端登陆EVDO网络,鉴权整个过程结束。
具体操作为:当移动终端发起数据呼叫后,鉴权服务器会要求提供硬件ID(hardware Identity,硬件身份标识)鉴权,所谓硬件ID即手机出厂时写入的ESN(electronic serial number,电子序列号)或者MEID(Mobile EquipmentIdentifier,移动设备标识),目的是对移动终端的身份识别。硬件ID鉴权完毕后,移动终端便会发起NAI鉴权。NAI鉴权成功后,鉴权服务器发起CHAP鉴权。CHAP鉴权通过后,接着鉴权服务器向移动终端发送移动终端登陆EVDO网络需要的用户名和密码,移动终端登陆EVDO网络,鉴权整个过程结束。
本发明实施例提供的一种EVDO网络的NAI鉴权方法,根据UIM卡中是否存储有支持MD5鉴权方法的标识符来确认UIM卡是否支持MD5鉴权方法,如果是则可以直接从UIM卡中读取NAI进行鉴权,但是考虑到UIM卡中存储的NAI有可能发生错误,本发明实施例中,从该UIM卡中读取到用户的NAI后先判断NAI是否正确,只有当读取的NAI正确时才将读取的NAI发给鉴权服务器进行鉴权,若错误,进一步从该UIM卡中读取用户的IMSI,根据NAI的格式,利用IMSI获得正确的NAI,再将获得的NAI发给鉴权服务器进行鉴权,由于UIM卡中存储的IMSI肯定是正确的,从而实现了存储有支持MD5鉴权方法的标识符的UIM卡,即使UIM卡中存储的NAI错误,也能够根据UIM卡中存储的IMSI成功进行NAI鉴权,进一步即使UIM卡中没有存储NAI,也能够根据UIM卡中存储的IMSI成功进行NAI鉴权。
下面参阅图1,详细介绍本发明实施例提供的一种EVDO网络的NAI鉴权方法流程,包括如下步骤:
S101:移动终端确认UIM卡中存储有支持MD5鉴权方法的标识符。
其中,移动终端确认UIM卡中存储有支持MD5鉴权方法的标识符的实现方法是:移动终端开启后会首先对UIM卡进行读操作,如果读到该卡的N5位置的值为11时即确认该UIM卡存储有支持MD5鉴权方法的标识符。
S102:移动终端判断是否从该UIM卡中成功读取用户的NAI,如果是执行步骤S103,如果否执行步骤S106。
S103:移动终端判断读取的NAI是否正确。
以电信要求的NAI为例进行说明。电信要求的NAI为IMSI@mycdma.cn,只要读取的NAI和该电信要求的NAI一致即判断NAI为正确,其中,IMSI为国际移动用户识别码,mycdma.cn为EVDO网络的固定域名字段。NAI错误有可能是格式错误,也可能是字符错误等。
S104:在判断结果为是时,将读取的NAI发给鉴权服务器进行鉴权。
S105:在判断结果为否时,从UIM卡中读取用户的IMSI,根据该IMSI获得用户的NAI,并将获得的NAI发给鉴权服务器进行鉴权。
S106:移动终端从该UIM卡中读取用户的IMSI,根据该IMSI获得用户的NAI,并将获得的NAI发给鉴权服务器进行鉴权。
在步骤S105及S106中,根据NAI的格式IMSI@mycdma.cn,移动终端在读取的IMSI后面添加@mycdma.cn,获得格式为IMSI@mycdma.cn的NAI。
其中,S102中如果判断结果为否时可以直接结束,这样在UIM卡中写入了错误的NAI时也可以保证根据IMSI成功进行NAI鉴权。
进一步,在步骤S102中如果判断结果为否时执行的步骤S106,可以实现存储有支持MD5鉴权方法的UIM卡,即使UIM卡中未写入NAI,也能够根据UIM卡中存储的IMSI成功进行NAI鉴权。
本发明实施例还提供一种EVDO网络的NAI鉴权方法,只包含上述步骤S101、步骤S102及S102中判断结果为否时执行的步骤S106,实现存储有支持MD5鉴权方法的UIM卡,即使UIM卡中未写入NAI时也可以保证根据IMSI成功进行NAI鉴权。
为实现存储有支持MD5鉴权方法的标识符UIM卡,即使该UIM卡中NAI错误,也能够实现NAI鉴权成功,本发明实施例还提供一种采用上述NAI鉴权方法的NAI鉴权装置,包括:
用于确认UIM卡中存储有支持MD5鉴权方法的标识符时,从该UIM卡中读取用户的NAI的单元;
用于判断该NAI是否正确的单元;
用于在判断结果为是时,将读取的NAI发给鉴权服务器进行鉴权的单元;
用于在判断结果为否时,从该UIM卡中读取用户的IMSI,根据该IMSI获得用户的NAI,并将获得的NAI发给鉴权服务器进行鉴权的单元。
进一步,为实现存储有支持MD5鉴权方法的标识符的卡,即使UIM卡中未写入NAI,也能获取NAI,实现NAI鉴权成功,本发明实施例提供的NAI鉴权装置还包括:
用于从UIM卡中未读取到网络接入标识时,从该UIM卡中读取用户的IMSI的单元;
用于根据该IMSI获得用户的NAI,并将获得的NAI发给鉴权服务器进行鉴权的单元。
以及,本发明实施例提供的第二种NAI鉴权装置,包括:
用于确认用户识别模块中存储有支持MD5鉴权方法的标识符但是从用户识别模块中未读取到用户的网络接入标识时,从用户识别模块中读取用户的国际移动用户识别码IMSI的单元;
用于根据IMSI获得用户的网络接入标识的单元;
用于将获得的网络接入标识发给鉴权服务器进行鉴权的单元。
上述技术方案为EVDO网络的NAI鉴权方法,完整的鉴权还包括鉴权服务器对移动终端发起的CHAP鉴权,在鉴权服务器成功完成NAI鉴权之后,对移动终端发起CHAP鉴权。
本发明实施例还提供一种CHAP鉴权方法,当移动终端收到鉴权服务器发送的携带第一密钥值的CHAP鉴权请求时,确认UIM卡中存储有支持MD5鉴权方法的标识符,调用UIM卡中MD5鉴权方法以第一密钥值计算出第一鉴权密钥值,发送给鉴权服务器进行鉴权,但是考虑到鉴权服务器可能不支持MD5鉴权方法,本发明实施例中移动终端在接收到鉴权服务器根据第一鉴权密钥鉴权失败后返回的CHAP重鉴权请求时,调用CAVE鉴权方法以CHAP重鉴权请求中的第二密钥值计算出第二鉴权密钥值,并将第二鉴权密钥值发送给鉴权服务器进行鉴权。由于现有的EVDO网络的鉴权服务器肯定是支持CAVE鉴权方法的,从而实现了存储有支持MD5鉴权方法的标识符的UIM卡,即使鉴权服务器存在不支持MD5鉴权方法的缺陷,也能够实现CHAP鉴权成功,进一步即使UIM卡中存储有支持MD5鉴权方法的标识符,但未写入MD5鉴权方法时,调用CAVE鉴权方法计算出第三密钥值发给鉴权服务器,实现CHAP鉴权成功,更进一步,即使UIM卡为支持CAVE鉴权方法,直接采用CAVE鉴权方法计算出鉴权第四密钥值发给鉴权服务器,也能够实现CHAP鉴权成功。
如图2所示,本发明实施例提供的CHAP鉴权的方法流程为:
S201:移动终端接收鉴权服务器发送的CHAP鉴权请求,该CHAP鉴权请求携带鉴权请求的名称、鉴权请求的说明和第一密钥值,移动终端收到该CHAP鉴权请求后获取该第一密钥值。
S202:移动终端确认UIM卡中是否存储有支持MD5鉴权方法的标识符,如果是执行步骤S203,如果否执行步骤S212~S213。
具体实现方式是:移动终端开启后会首先对UIM卡进行读操作,如果读到该卡的N5位置的值为11时,即确认该UIM卡存储有支持MD5鉴权方法的标识符。
S203:移动终端判断是否成功调用MD5鉴权方法,如果是执行步骤S204~S208,如果否执行步骤S209~S211。
S204:移动终端用MD5鉴权方法以该第一密钥值计算出第一鉴权密钥值。
S205:移动终端将该第一鉴权密钥值发送给鉴权服务器进行鉴权。
其中,若鉴权服务器支持MD5鉴权方法,即鉴权成功,则CHAP鉴权直接结束。若鉴权服务器不支持MD5鉴权方法,即鉴权失败,则继续执行步骤S206。
S206:移动终端接收到鉴权服务器根据该第一鉴权密钥值鉴权失败后返回的CHAP重鉴权请求,该重鉴权请求携带重鉴权请求的名称、重鉴权请求的说明和第二密钥值。
S207:移动终端调用CAVE鉴权方法以该CHAP重鉴权请求中的第二密钥值计算出第二鉴权密钥值。
S208:移动终端将第二鉴权密钥值发送给鉴权服务器进行鉴权。
S209:移动终端接受鉴权服务器因未收到第一鉴权密钥值而返回的并携带有第三密钥值的CHAP重鉴权请求。
S210:移动终端调用CAVE鉴权方法以该第三鉴权密钥值计算出第三鉴权密钥值。
S211:移动终端将该第三鉴权密钥值发送给鉴权服务器进行鉴权。
S212:移动终端调用CAVE鉴权方法根据该CHAP鉴权请求中的第一密钥值获得第四鉴权密钥值。
S213:移动终端将该第四鉴权密钥值发送给鉴权服务器进行鉴权。
其中,在步骤S203中判断结果为否时可以直接结束,这样保证了鉴权服务器即使不支持MD5鉴权方法时,也能够实现CHAP鉴权成功。
进一步,在步骤S203中判断结果为否时执行的步骤S209~S211,可以实现即使UIM卡中存储有支持MD5鉴权方法的标识符,但UIM卡中并未写入MD5鉴权方法,也能够实现CHAP鉴权成功。
其中,在步骤S202中判断结果为否时,可以直接结束,这样保证了存储有支持MD5鉴权方法的标识符的UIM卡,能够实现CHAP鉴权成功。
进一步,在步骤S202中判断结果为否时执行的步骤S212~S213,可以实现即使移动终端确认该UIM卡支持CAVE鉴权方法时也能够实现CHAP鉴权成功。
为实现存储有支持MD5鉴权方法的标识符UIM卡,即使鉴权服务器不支持MD5鉴权方法,能够实现CHAP鉴权成功。本发明实施例还提供一种采用上述CHAP鉴权方法的CHAP鉴权装置,包括:
用于接收鉴权服务器发送的CHAP鉴权请求的单元,该CHAP鉴权请求包括第一密钥值;
用于在确认UIM卡中存储了支持MD5鉴权方法的标识符时,调用MD5鉴权方法以该第一密钥值计算出第一鉴权密钥值,并将该第一鉴权密钥值发送给鉴权服务器进行鉴权的单元;
用于在接收到鉴权服务器根据该第一鉴权密钥值鉴权失败后返回的CHAP重鉴权请求时,调用CAVE鉴权方法根据该CHAP重鉴权请求中的第二密钥值值计算出第二鉴权密钥值,并将该第二鉴权密钥值发送给鉴权服务器进行鉴权的单元。
进一步,为实现存储有支持MD5鉴权方法的标识符的UIM卡,即使该UIM卡中未写入MD5鉴权方法,也能够实现CHAP鉴权成功,本发明实施例提供的CHAP鉴权装置还包括:
用于当调用MD5鉴权方法失败时,在接收到鉴权服务器因未收到第一鉴权密钥值而返回的并携带有第三密钥值的CHAP重鉴权请求时,调用CAVE鉴权方法以第三密钥值计算出第三鉴权密钥值,并将第三鉴权密钥值发送给鉴权服务器进行鉴权的单元。
本发明实施例提供的上述NAI鉴权方法和CHAP鉴权方法可以结合使用,因此本发明实施例还提供包含上述所有功能单元的移动终端。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。