在互联网上使用用户识别卡认证的系统及方法

文档序号:7961255阅读:251来源:国知局
专利名称:在互联网上使用用户识别卡认证的系统及方法
技术领域
本发明涉及一种在互联网上使用用户识别卡进行认证的系统及方法。
背景技术
用户识别卡,即GSM系统中SIM(Subscriber Identity Module)卡,或者CDMA系统中的UIM(User Identity Module)卡,是一张符合GSM/CDMA规范的“智慧卡”,与移动电话机共同构成移动通信终端设备。SIM/UIM卡可以插入任何一部符合GSM/CDMA规范的移动电话中,“实现电话号码随卡不随机的功能”,而通讯费用则自动计入持卡用户的帐单上,与手机无关。
国际移动用户标识,即IMSI(International Mobile Subscriber Identity),是在移动通信网中用来惟一识别移动用户的号码。数字蜂窝系统的国际移动用户识别号码共15位,其中,国内移动用户识别占12位。
在发放用户识别卡(SIM/UIM)时,移动通信运营方在该卡中储存了国际移动用户标识(IMSI)、认证密钥Ki和事先约定的认证算法。并在服务端保留了一份与国际移动用户标识(IMSI)对应的认证密钥Ki。
在GSM/CDMA系统中,用户识别卡(SIM/UIM)作为最终用户移动通信终端设备中的重要组成部分,在移动通信网络体系结构中起着关键性的作用,首先就体现在认证过程中,又称鉴权,下面结合图1,简单的描述移动通信系统中的认证过程由客户端——移动通信终端设备,向服务端——移动通信网络设备,发起认证请求,其中,客户端读取SIM/UIM卡中的IMSI,并将IMSI作为认证请求的一部分发送给服务端;服务端接收到请求后,根据IMSI获取该SIM/UIM卡的认证密钥Ki,并产生一随机数RAND,作为随机数挑战发送给客户端;客户端接收到随机数挑战RAND后,将其传递给SIM/UIM卡,SIM/UIM卡使用自身存储的认证密钥Ki,和事先约定的认证算法进行运算,得到结果SRES,并将结果SRES作为随机数响应传递给客户端,客户端再将随机数响应SRES发送给服务端;服务端使用本地获取的认证密钥Ki,和事先约定的认证算法对随机数挑战进行运算,得到结果随机数响应SRES’;
服务端接收到随机数响应SRES后,与本地运算结果SRES’进行比较,相同即认为认证成功,不同则认证失败,并将认证结果发送给客户端。
在移动通信网络认证过程中,事先约定了一种称为A3的算法,根据GSM 03.20的定义,A3算法的目的就是为了解决移动用户标识的认证问题。在客户端,A3算法必须根据来自于网络的随机数挑战RAND,使用用户识别卡(SIM/UIM)中自身存储的认证密钥Ki,计算出期望的随机数响应SRES,同样的,GSM 02.17规定A3算法也是在用户识别卡(SIM/UIM)中实现的。在服务端,也实现了A3算法。A3算法的两个输入参数(RAND和Ki)与输出参数(SRES)使用下列格式认证密钥Ki的长度为128比特;随机数挑战RAND的长度为128比特;随机数响应SRES的长度为32比特;A3算法的运行时间小于500毫秒。
这种安全的认证方法,在服务端、客户端共享一份秘密的前提下,简单、高效、经济的被应用到移动通信网络中去,实践证明,效果良好,安全可靠,效益巨大。而在互联网上,由于服务端和客户端之间不能共享一份秘密,或者共享成本太高,与获得服务所带来的效益不成比例,虽然认证方法多多,但是问题也同样多多,一直没有找到一个好的解决方案。鉴于二者的目的、环境、背景有很多相同或相象之处,这就为将移动通信网络中的用户识别卡(SIM/UIM)认证方法移植到互联网中提供了可能。
在互联网认证领域,有多种解决方案,如表1所示,但是都各有利弊。例如传统的用户名+密码方式,优点是简单易用,缺点是容易被盗,需要经常修改密码,而且随着各种密码的增多,记忆也是一个问题;再如动态口令或者USB Key的方式,动态口令的优点是一次一密,USB Key的优点是可以使用非对称算法,能够配合CA的应用,二者的安全性都大大提高,解决了被盗用的问题,缺点是客户端需要初始投入资源购买设备,而且经常是一种服务需要一样设备,不能实现通用,服务端的资源投入也是相对较大的,不利于大范围推广,USB Key的另一个缺点是交互次数的增多。
表1几种互联网认证方法的比较


发明内容针对现有技术存在的缺陷和不足,本发明提供一种在互联网上使用用户识别卡进行认证的系统及方法,可以使互联网认证客户端通过用户识别卡进行高效率、低成本的网络认证。
为了达到上述发明目的,本发明采用以下技术方案,一种在互联网上使用用户识别卡进行认证的系统,包括用户识别卡储存有国际移动用户标识、认证密钥和与移动网认证服务端事先约定的认证算法;互联网认证客户端与所述用户识别卡连接;认证代理完成互联网认证客户端与移动网认证服务端之间的认证数据中转;将互联网认证客户端在互联网上发送的认证数据(认证请求、随机数响应),转发给移动网上的移动网认证服务端;将移动网认证服务端在移动网上发送的认证数据(随机数挑战、认证结果),转发给互联网上的互联网认证客户端;移动网认证服务端能够根据用户识别卡的国际移动用户标识,获取用户识别卡的认证密钥,储存有与用户识别卡事先约定的认证算法,处理认证数据,确定认证结果;所述互联网认证客户端与移动网认证服务端通过所述认证代理建立了一条认证数据传输通道;所述互联网认证客户端读取用户识别卡上的国际移动用户标识,生成认证请求,包括国际移动用户标识,并通过所述认证数据传输通道将所述认证请求传递给移动网认证服务端;移动网认证服务端接收认证请求,解析国际移动用户标识,根据国际移动用户标识获取认证密钥,产生随机数挑战,并使用获取的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到认证服务端随机数响应;同时,通过所述认证数据传输通道将所述随机数挑战传送给互联网认证客户端,互联网认证客户端将所述随机数挑战转发给所述用户识别卡;用户识别卡使用自身存储的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到用户识别卡随机数响应,返回给互联网认证客户端;互联网认证客户端通过所述认证数据传输通道将所述用户识别卡随机数响应传递给移动网认证服务端;移动网认证服务端将得到的用户识别卡随机数响应与自身得到的认证服务端随机数响应进行比较认证,移动网认证服务端将认证结果通过所述认证数据传输通道传递给互联网认证客户端。
优选技术方案在互联网上使用用户识别卡进行认证的系统,所述互联网认证客户端置有读卡器,所述互联网认证客户端通过读卡器与用户识别卡直接连接。
优选技术方案在互联网上使用用户识别卡进行认证的系统,所述互联网认证客户端与所述用户识别卡间接连接。
优选技术方案在互联网上使用用户识别卡进行认证的系统,还包括移动终端,用户识别卡置于移动终端中,所述互联网认证客户端通过数据线与移动终端连接,因为移动终端能够识别AT指令,所以互联网认证客户端通过数据线和移动终端与用户识别卡间接连接,通过AT指令调度用户识别卡。
优选技术方案在互联网上使用用户识别卡进行认证的系统,用户识别卡置于支持GSM/CDMA和WiFi的双模移动终端中,在WiFi的覆盖范围,所述互联网认证客户端通过无线网络与双模移动终端连接,因为移动终端能够识别AT指令,互联网认证客户端通过无线网络和双模移动终端与用户识别卡间接连接,通过AT指令调度用户识别卡。
优选技术方案在互联网上使用用户识别卡进行认证的系统,所述互联网认证客户端置有读卡器,该读卡器为一小型通用串行总线设备,一端为通用串行总线接口,与所述互联网认证客户端连接,另一端为用户识别卡插槽,所述互联网认证客户端通过读卡器与用户识别卡直接连接。
优选技术方案在互联网上使用用户识别卡进行认证的系统,所述移动终端设有通用串行总线接口,所述数据线为通用串行总线数据线。
优选技术方案在互联网上使用用户识别卡进行认证的系统,所述移动网认证服务端保留有一份与国际移动用户标识对应的认证密钥。
一种在互联网上使用用户识别卡进行认证的方法,包括以下步骤(1)互联网认证客户端识别和读取用户识别卡的国际移动用户标识,生成认证请求,包括用户识别卡的国际移动用户标识,经认证代理向移动网认证服务端发送认证请求;(2)移动网认证服务端接收认证请求,产生随机数挑战,经认证代理返回给互联网认证客户端,同时,移动网认证服务端从认证请求中解析出国际移动用户标识,根据国际移动用户标识获取所述用户识别卡的认证密钥,移动网认证服务端使用获取的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到认证服务端随机数响应;(3)互联网认证客户端接收随机数挑战,将随机数挑战转发给用户识别卡,用户识别卡使用自身存储的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到用户识别卡随机数响应,返回给互联网认证客户端;(4)互联网认证客户端接收用户识别卡随机数响应,经认证代理转发给移动网认证服务端;(5)移动网认证服务端将收到的用户识别卡随机数响应与自身得到的认证服务端随机数响应比较,如果相同,认证成功,不同则认证失败;(6)移动网认证服务端将认证结果经认证代理,发送给互联网认证客户端;(7)互联网认证客户端接收认证结果,认证结束。
本发明在互联网上使用用户识别卡进行认证的方法,简单易行、安全可靠。由于手机已广泛应用,大部分人都拥有用户识别卡,而且该人群与需要互联网认证的人群高度重合,所以在互联网上使用用户识别卡进行认证,节省了互联网认证客户端的初始成本。


图1是移动通信网络中的认证过程;图2是本发明在互联网上使用用户识别卡进行认证的过程;
图3是本发明互联网认证客户端流程图;图4是本发明认证代理流程图。
具体实施例方式
下面结合附图和具体实施例对本发明作进一步的详细说明本发明一种在互联网上使用用户识别卡进行认证的系统,包括用户识别卡储存有国际移动用户标识、认证密钥和与移动网认证服务端事先约定的认证算法;互联网认证客户端与所述用户识别卡直接或间接连接;认证代理完成互联网认证客户端与移动网认证服务端之间的认证数据中转;将互联网认证客户端在互联网上发送的认证数据(认证请求、随机数响应),转发给移动网上的移动网认证服务端;将移动网认证服务端在移动网上发送的认证数据(随机数挑战、认证结果),转发给互联网上的互联网认证客户端;移动网认证服务端能够根据用户识别卡的国际移动用户标识,获取用户识别卡的认证密钥,储存有与用户识别卡事先约定的认证算法,所述移动网认证服务端保留有一份与国际移动用户标识对应的认证密钥;处理认证数据,确定认证结果;所述互联网认证客户端与移动网认证服务端通过所述认证代理建立了一条认证数据传输通道;所述互联网认证客户端读取用户识别卡上的国际移动用户标识,生成认证请求,包括国际移动用户标识,并通过所述认证数据传输通道将所述认证请求传递给移动网认证服务端;移动网认证服务端接收认证请求,解析国际移动用户标识,根据国际移动用户标识获取认证密钥,产生随机数挑战,并使用获取的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到认证服务端随机数响应;同时,通过所述认证数据传输通道将所述随机数挑战传送给互联网认证客户端,互联网认证客户端将所述随机数挑战转发给所述用户识别卡;用户识别卡使用自身存储的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到用户识别卡随机数响应,返回给互联网认证客户端;互联网认证客户端通过所述认证数据传输通道将所述用户识别卡随机数响应传递给移动网认证服务端;移动网认证服务端将得到的用户识别卡随机数响应与自身得到的认证服务端随机数响应进行比较认证,移动网认证服务端将认证结果通过所述认证数据传输通道传递给互联网认证客户端。
用户识别卡与互联网认证客户端(即计算机等终端设备)的连接是实际应用中遇到的难题。
互联网认证客户端可以有两种方式与用户识别卡(SIM/UIM)相连接1、通过读卡器直接与用户识别卡(SIM/UIM)连接;此种方式的优点在于互联网认证客户端能够直接访问用户识别卡(SIM/UIM),而不需其它设备做中转;缺点是通常情况下用户识别卡(SIM/UIM)是放在移动终端中的,使用此种方式需要将用户识别卡(SIM/UIM)从移动终端中取出,再放入读卡器中,造成用户识别卡(SIM/UIM)的原有工作模式不能使用。
优选技术方案在互联网上使用用户识别卡进行认证的系统,所述互联网认证客户端置有读卡器,该读卡器与所述用户识别卡连接,所述互联网认证客户端通过读卡器与用户识别卡直接连接。
优选技术方案在互联网上使用用户识别卡进行认证的系统,所述读卡器为一小型通用串行总线(USB)设备,一端为通用串行总线(USB)接口,与所述互联网认证客户端连接,另一端为用户识别卡插槽,所述互联网认证客户端通过读卡器与用户识别卡直接连接。
互联网认证客户端通过读卡器读取用户识别卡(SIM/UIM)的国际移动用户标识(IMSI),要求用户识别卡(SIM/UIM)处理随机数挑战RAND,返回随机数响应SRES等。
2、通过数据线与移动终端连接,从而间接与用户识别卡(SIM/UIM)连接;此种方式的优点在于无需将用户识别卡(SIM/UIM)从移动终端中取出,在不影响用户识别卡(SIM/UIM)原有工作模式的前提下,开展新的应用;缺点是互联网认证客户端间接访问用户识别卡(SIM/UIM),需要其它设备做中转,所以必须找到一种移动终端认可的指令来调度用户识别卡(SIM/UIM)。
AT是Attention的缩写,AT指令是从终端设备TE(Terminal Equipment)或数据终端设备DTE(Data Terminal Equipment)向终端适配器TA(Terminal Adapter)或数据电路终端设备DCE(Data Circuit Terminating Equipment)发送的,控制终端的功能,与GSM网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、补充业务、传真等方面的控制。
互联网认证客户端通过移动终端间接与用户识别卡(SIM/UIM)连接,因为移动终端能够识别AT指令,所以可以使用AT指令向用户识别卡(SIM/UIM)传递命令。即互联网认证客户端选取与用户识别卡(SIM/UIM)有关的AT指令,将希望用户识别卡(SIM/UIM)执行的命令按照该AT指令参数的固定格式打包,作为参数附加在该AT指令后面,一起向移动终端发送;移动终端接收AT指令,解析参数,转发给用户识别卡(SIM/UIM);用户识别卡(SIM/UIM)接收命令后,执行并将结果返回给移动终端,再由移动终端将结果返回给互联网认证客户端。通过AT指令的传递,互联网认证客户端实现了对用户识别卡(SIM/UIM)的调度。
优选技术方案将用户识别卡置于移动终端内,所述互联网认证客户端通过数据线与移动终端连接,因为移动终端能够识别AT指令,所以互联网认证客户端通过数据线和移动终端与用户识别卡间接连接,通过AT指令调度用户识别卡。
优选技术方案在互联网上使用用户识别卡进行认证的系统,用户识别卡置于支持GSM/CDMA和WiFi的双模移动终端中,在WiFi的覆盖范围,所述互联网认证客户端通过无线网络与双模移动终端连接,因为移动终端能够识别AT指令,互联网认证客户端通过无线网络和双模移动终端与用户识别卡间接连接,通过AT指令调度用户识别卡。进入WiFi的覆盖范围,互联网认证客户端就可以通过无线网络间接访问手机中的用户识别卡(SIM/UIM),反之,离开WiFi的覆盖范围,手机回到传统的GSM/CDMA网络。
下面结合图2、图3、图4,描述在互联网上使用用户识别卡(SIM/UIM)认证的过程步骤一认证开始,首先互联网认证客户端检查是否与用户识别卡(SIM/UIM)正常连接,能否访问等;是,则继续向下运行,否,延时一段时间后,再次检查,连续三次失败,报告连接错误的信息,认证结束;步骤二互联网认证客户端读取用户识别卡(SIM/UIM)中的国际移动用户标识(IMSI),生成认证请求,包括用户识别卡的国际移动用户标识,向认证代理发送,发起认证;步骤三认证代理接收认证请求,转发给移动网认证服务端;步骤四移动网认证服务端接收认证请求,产生随机数挑战RAND,返回给认证代理;步骤五认证代理接收随机数挑战RAND,转发给互联网认证客户端;步骤六互联网认证客户端接收随机数挑战RAND,要求用户识别卡(SIM/UIM)使用自身存储的认证密钥Ki,和事先约定的认证算法,对随机数挑战RAND进行运算,得到随机数响应SRES,返回给互联网认证客户端,随即向认证代理发送随机数响应SRES;
步骤七认证代理接收随机数响应SRES,转发给移动网认证服务端;步骤八移动网认证服务端从认证请求中解析出国际移动用户标识(IMSI),根据IMSI获取该用户识别卡(SIM/UIM)的认证密钥Ki,使用获取的认证密钥Ki和事先约定的认证算法,对随机数挑战RAND进行运算,得到随机数响应SRES’;步骤九移动网认证服务端接收随机数响应SRES,与本地计算的SRES’进行比较,相同即认证成功,不同则认证失败,并将认证结果发送给认证代理;步骤十认证代理接收认证结果,转发给互联网认证客户端;步骤十一互联网认证客户端接收认证结果,认证结束。
权利要求
1.一种在互联网上使用用户识别卡进行认证的系统,包括用户识别卡储存有国际移动用户标识、认证密钥和与移动网认证服务端事先约定的认证算法;互联网认证客户端与所述用户识别卡连接;认证代理完成互联网认证客户端与移动网认证服务端之间的认证数据中转;移动网认证服务端能够根据用户识别卡的国际移动用户标识,获取用户识别卡的认证密钥,储存有与用户识别卡事先约定的认证算法,处理认证数据,确定认证结果;所述互联网认证客户端与移动网认证服务端通过所述认证代理建立了一条认证数据传输通道;所述互联网认证客户端读取用户识别卡上的国际移动用户标识,生成认证请求,包括国际移动用户标识,并通过所述认证数据传输通道将所述认证请求传递给移动网认证服务端;移动网认证服务端接收认证请求,解析国际移动用户标识,根据国际移动用户标识获取认证密钥,产生随机数挑战,并使用获取的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到认证服务端随机数响应;同时,通过所述认证数据传输通道将所述随机数挑战传送给互联网认证客户端,互联网认证客户端将所述随机数挑战转发给所述用户识别卡;用户识别卡使用自身存储的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到用户识别卡随机数响应,返回给互联网认证客户端;互联网认证客户端通过所述认证数据传输通道将所述用户识别卡随机数响应传递给移动网认证服务端;移动网认证服务端将得到的用户识别卡随机数响应与自身得到的认证服务端随机数响应进行比较认证,移动网认证服务端将认证结果通过所述认证数据传输通道传递给互联网认证客户端。
2.根据权利要求1所述的在互联网上使用用户识别卡进行认证的系统,其特征在于所述互联网认证客户端置有读卡器,该读卡器与所述用户识别卡直接连接。
3.根据权利要求1所述的在互联网上使用用户识别卡进行认证的系统,其特征在于所述互联网认证客户端与所述用户识别卡间接连接。
4.根据权利要求3所述的在互联网上使用用户识别卡进行认证的系统,其特征在于还包括移动终端,该移动终端内置有用户识别卡,所述互联网认证客户端通过数据线与移动终端连接。
5.根据权利要求3所述的在互联网上使用用户识别卡进行认证的系统,其特征在于用户识别卡置于支持GSM/CDMA和WiFi的双模移动终端中,在WiFi的覆盖范围,所述互联网认证客户端通过无线网络与双模移动终端连接,互联网认证客户端间接与用户识别卡连接。
6.根据权利要求2所述的在互联网上使用用户识别卡进行认证的系统,其特征在于所述读卡器为一小型通用串行总线设备,一端为通用串行总线接口,与所述互联网认证客户端连接,另一端为用户识别卡插槽。
7.根据权利要求4所述的在互联网上使用用户识别卡进行认证的系统,其特征在于所述移动终端设有通用串行总线接口,所述数据线为通用串行总线数据线。
8.根据权利要求1所述的在互联网上使用用户识别卡进行认证的系统,其特征在于所述移动网认证服务端保留有一份与国际移动用户标识对应的认证密钥。
9.一种在互联网上使用用户识别卡进行认证的方法,其特征在于包括以下步骤(1)互联网认证客户端识别和读取用户识别卡的国际移动用户标识,生成认证请求,包括用户识别卡的国际移动用户标识,经认证代理向移动网认证服务端发送认证请求;(2)移动网认证服务端接收认证请求,产生随机数挑战,经认证代理返回给互联网认证客户端,同时,移动网认证服务端从认证请求中解析出国际移动用户标识,根据国际移动用户标识获取所述用户识别卡的认证密钥,移动网认证服务端使用获取的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到认证服务端随机数响应;(3)互联网认证客户端接收随机数挑战,将随机数挑战转发给用户识别卡,用户识别卡使用自身存储的认证密钥和事先约定的认证算法对随机数挑战进行运算,得到用户识别卡随机数响应,返回给互联网认证客户端;(4)互联网认证客户端接收用户识别卡随机数响应,经认证代理转发给移动网认证服务端;(5)移动网认证服务端将收到的用户识别卡随机数响应与自身得到的认证服务端随机数响应比较,如果相同,认证成功,不同则认证失败;(6)移动网认证服务端将认证结果经认证代理,发送给互联网认证客户端;(7)互联网认证客户端接收认证结果,认证结束。
全文摘要
本发明公开了在互联网上使用用户识别卡认证的系统及方法,解决了现有互联网认证不安全,客户端初始投入大的问题而发明,包括互联网认证客户端与移动网认证服务端通过所述认证代理建立了一条认证数据传输通道;认证请求和随机数挑战通过该认证数据通道在互联网认证客户端与移动网认证服务端间传递,用户识别卡与移动网认证服务端根据事先预定的算法进行运算,然后进行比较认证。本发明在互联网上使用用户识别卡进行认证的方法,简单易行、安全可靠。由于手机已广泛应用,大部分人都拥有用户识别卡,而且该人群与需要互联网认证的人群高度重合,所以在互联网上使用用户识别卡进行认证,节省了客户端的初始成本。
文档编号H04L9/32GK101079703SQ20061008104
公开日2007年11月28日 申请日期2006年5月23日 优先权日2006年5月23日
发明者王军, 高翔 申请人:北京握奇数据系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1