专利名称:身份认证系统及其方法
技术领域:
本发明涉及通讯领域,尤其涉及一种身份认证系统及其方法。
背景技术:
在电子商务、网上银行等安全性要求很高的网上业务中,实体的身份认证和数据的加密传输是必须的安全措施。随着 智能终端的普及以及手机上网速度的不断提高,使用手机处理各类网上业务的应用需求越来越强烈。在现有技术中,提出了一种基于公钥基础设施(PKI)的移动通信终端身份认证和密钥交换的技术方案。根据该技术,证书中心(CA)为每一个智能手机卡颁发数字证书,在需要进行移动加密通信时,位于移动终端内的安全代理模块获取移动终端智能手机卡的数字证书并将该数字证书发送给服务器端;服务器端验证数字证书的合法性并从CA获取该数字证书对应的公钥;服务器端随机选取一个会话密钥后,用该公钥加密该会话密钥并发送给移动终端;移动终端的智能手机卡通过自己的私钥解密并获取会话密钥;移动终端和服务器端通过会话密钥加密数据实现保密通信。根据该方案,在每次对智能手机卡进行身份认证时,服务器端都需要在线联系CA以验证智能手机卡的数字证书的合法性并获取智能手机卡的公钥,这增加了业务的响应时间,影响了用户体验,尤其是手机终端网上业务大规模普及以后,在线联系CA更容易成为系统的瓶颈,使用户等待时间大大增加。因此,有必要提出改进的技术方案,解决上述问题。
发明内容
本发明的主要目的在于提供一种身份认证系统及其方法,以解决现有技术存在的通过证书中心获取手机的公钥增加服务器响应时间的问题,其中根据本发明实施例的身份认证方法包括移动终端获取公钥和私钥对,将所述公钥发送至服务器;所述服务器利用所述公钥生成加密会话密钥后发送至所述移动终端;所述移动终端使用所述私钥对所述加密会话密钥进行解密,获取会话密钥。其中,所述移动终端获取公钥和私钥对具体包括获取并保存由密钥生成中心KGC服务器生成的私钥;所述公钥由所述移动终端的身份标识信息生成;所述公钥与私钥相对应。其中,所述服务器利用所述公钥生成加密会话密钥后发送至所述移动终端具体包括所述服务器预先选取会话密钥,利用所述公钥加密会话密钥,并发送至所述移动终端。其中,还包括所述移动终端使用所述私钥将待验证信息进行加密,并将所述待验证信息发送至所述服务器。其中,还包括所述服务器接收来自所述移动终端的待验证信息,使用所述公钥对加密的待验证信息进行解密,并根据解密后的待验证信息对所述移动终端进行身份认证。根据本发明实施例的身份认证系统包括移动终端和服务器,其中,移动终端获取公钥和私钥对,将所述公钥发送至服务器;所述服务器利用所述公钥生成加密会话密钥后发送至所述移动终端;所述移动终端使用所述私钥对所述加密会话密钥进行解密,获取会话密钥。其中,所述移动终端包括第一获取模块,用于获取并保存由KGC生成的私钥;第二获取模块,用于获取由所述移动终端的身份识别信息生成的公钥;其中,所述公钥与私钥相对应;第一发送模块,用于将所述公钥发送至所述服务器。其中,所述服务器包括第一加密模块,用于利用所述公钥加密预先选取的会话密钥;第二发送模块,用于将加密会话密钥发送至所述移动终端。其中,所述移动终端还包括第二加密模块,用于使用所述私钥将待验证信息进行加密;第三发送模块,用于将所述待验证信息发送至所述服务器。其中,所述服务器还包括解密模块,用于使用所述公钥对加密的待验证信息进行解密;身份验证模块,用于根据解密后的待验证信息对所述移动终端进行身份认证。
根据本发明的技术方案,移动终端通过密钥生成中心获取私钥,并使用终端的标识信息作为公钥,在进行网上在线认证移动终端的身份以及交换会话密钥时,无需在线联系CA,可以减少服务器响应时间,更好地满足了用户的实时需求。
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据本发明实施例的移动终端的结构框图;图2是根据本发明实施例的身份认证系统的结构框图;图3是根据本发明实施例的身份认证方法的流程图;图4是根据本发明实施例的身份认证方法的优选处理方案的流程图。
具体实施例方式本发明的主要通过公钥密码系统(非对称密钥算法)以及挑战/响应机制实行身份认证。移动终端获取公钥和私钥对,将公钥发送至服务器;服务器利用公钥生成加密会话密钥后发送至移动终端;移动终端使用私钥对加密会话密钥进行解密,获取会话密钥。根据本发明的实施例,提供了一种身份认证系统。图I是根据本发明实施例的身份认证系统的结构框图,如图I所示,包括移动终端10和服务器20。移动终端10获取公钥和私钥对,将所述公钥发送至服务器20 ;所述服务器20利用所述公钥生成加密会话密钥后发送至所述移动终端10 ;所述移动终端10使用所述私钥对所述加密会话密钥进行解密,获取会话密钥。参考图2,移动终端10具体包括第一获取模块110、第二获取模块120、第一发送模块130,下面详细描述各模块的结构。第一获取模块10用于预先获取由KGC生成的私钥,并保存该私钥。在实现身份认证和密钥交换之前,移动终端(或智能手机卡)获取由密钥生成中心(KGC)生成的私钥,这一步骤只需要执行一次,可以在智能手机卡出厂的时候完成。首先,智能手机卡向KGC发出申请,要求KGC生成私钥。然后,KGC验证智能手机卡的合法性之后为该智能手机卡生成一个私钥,该私钥保存在智能手机卡中。由于上述的私钥获取过程是在智能手机卡出厂前完成,并且仅进行一次,因此非法用户不能窃取该私钥,从根本上保证了数据传输的安全性。经过上述过程之后,智能手机卡就持有了公私密钥对,其中公钥是其身份标识通过公开散列函数生成的哈希值,身份标识包括但不限以下信息之一 MEI (InternationalMobile Equipment Identity,国际移动设备身份码)、ESN (Electronic Serial Number,电子序列号)、SN (Serial Number,序列号)、SIM (Subscriber Identity Module,客户识别卡)卡号、UIM (User Identity Module,用户识别卡)卡号、USIM (Universal SubscriberIdentity Module,全球用户识别卡)卡号、MAC地址。第一发送模块130用于将所述公钥发送至所述服务器20。这样,服务器就拥有了终端的公钥。在进行网上在线认证智能手机卡的身份时,无需在线联系CA,可以减少服务器响应时间,更好地满足用户的实时需求。
继续参考图2,服务器20具体包括第一加密模块210和第二发送模块220。服务器在会话密钥空间中选定一个随机数作为会话密钥,第一加密模块210利用公钥加密该会话密钥,并由第二发送模块220将加密会话密钥发送至移动终端。基于上述处理,移动终端接收到加密的会话密钥后,使用私钥解密,从而完成密钥交换,从而使用会话密钥进行保密通信。在进行会话密钥交换之前,根据本发明实施例,通过一个“承诺-挑战-响应”认证过程实现服务器对移动终端的身份认证。移动终端随机选取一个承诺值(该承诺值在特定定义域内)并发送至服务器。服务器随机选取一个挑战值(该承诺值在特定定义域内)并发送至移动终端,移动终端根据承诺值和挑战值计算出回应值,作为验证终端身份的待验证信息。继续参考图2,移动终端还包括第二加密模块140用于使用私钥将待验证信息进行加密。然后由第三发送模块150将待验证信息发送至服务器20。服务器20接收到终端的待验证信息后,由解密模块230使用公钥对加密的待验证信息进行解密。并由身份验证模块240根据解密后的待验证信息对移动终端进行身份认证。若验证通过,移动终端和服务器使用所述会话密钥进行后续的保密通信。根据本发明的实施例,还提供了一种身份认证方法。图3是根据本发明的实施例身份认证方法的流程图,如图3所示,该方法包括步骤S302,移动终端获取公钥和私钥对,将公钥发送至服务器。具体地,移动终端获取并保存由KGC服务器生成的私钥;所述公钥由移动终端的身份标识信息生成,其中,公钥与私钥相对应。步骤S304,服务器利用公钥生成加密会话密钥后发送至移动终端。具体地,服务器在特定的密钥空间中随机选取会话密钥,利用所述公钥加密会话密钥,并发送至移动终端。步骤S306,移动终端使用私钥对加密会话密钥进行解密,获取会话密钥。另外,上述方法还包括步骤S308,移动终端使用私钥将待验证信息进行加密,并将待验证信息发送至服务器。
步骤S310,服务器接收来自移动终端的待验证信息,使用公钥对加密的待验证信息进行解密,并根据解密后的待验证信息对移动终端进行身份认证。下面参考图4详细描述上述处理的细节。首先,智能手机卡获取公私钥对,私钥从KGC获取,而公钥是智能手机卡的身份标识通过公开散列函数生成的哈希值,并将公钥发送至服务器或服务器主动获取该公钥。参考图4,该方法包括步骤S402,智能手机卡选取一个承诺值,该承诺值应该在特定的定义域内。步骤S404,智能手机卡将该承诺值发送给客户端。步骤S406,服务器端选取一个挑战值,该挑战值应该在特定的定义域内。步骤S408,服务器选取一个会话密钥,并用智能手机卡的公钥加密该会话密钥,该会话密钥应该是在特定的密钥空间中随机选取的。
步骤S410,服务器将挑战值和加密后的会话密钥发送给智能手机卡。步骤S412,智能手机卡恢复会话密钥,通过智能手机卡的私钥对加密的会话密钥进行解密完成。步骤S414,智能手机卡通过承诺值和挑战值计算出回应值,并使用私钥加密后发送给服务器。步骤S416,服务器使用公钥解密出回应值,并验证回应值的正确性,若验证正确,则智能手机卡的身份认证通过,否则智能手机卡的身份认证失败。流程结束。下面结合一具体实例描述本发明。步骤一,密钥生成中心KGC选择大素数q,g为模幂乘法群Zq*的生成元,选择随机数X e Zq*,计算y=gx mod q,把(q, g,y)作为系统公开参数。步骤二,智能手机卡向KGC申请私钥。步骤三,假设智能手机卡的身份标识为Num,KGC调用ElGamal数字签名算法使用参数X作为签名密钥对Num进行签名,得到签名值(r,s)作为智能手机卡的私钥并发送给智能手机卡。步骤四,智能手机卡选取承诺值,智能手机卡随机选取a e Ztrl*,计算b=ramod q。步骤五,移动终端将(b,r)发送给服务器。步骤六,服务器选取挑战值,服务器随机选取c e Zrl*0步骤七,服务器选取随机值h e Z,*,计算(gNum*yi)h=ghsmod q作为会话密钥,并计算gh作为加密后的会话密钥。步骤八,服务器将挑战值c和加密后的会话密钥ghmod q发送给移动终端。步骤九,智能手机卡通过计算(gh) s=ghsmod q获得会话密钥。步骤十,智能手机卡计算d=(a+cs)mod q,移动终端将d值发送给服务器。步骤^--,服务器计算!^ mod q,并验证等式rd=b (gNum ”乃emod q是否成立,若成
立,则智能手机卡身份认证通过,否则认证失败。本发明的方法的操作步骤与系统的结构特征对应,可以相互参照,不再一一赘述。综上所述,根据本发明的技术方案,采用非对称密钥算法对用户进行身份认证,移动终端通过KGC预先获取私钥,在进行网上在线认证移动终端的身份以及交换会话密钥时,无需在线联系CA,可以减少服务器响应时间,更好的满足用户的实时需求,有效提高了用户体验。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本 发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种身份认证方法,其特征在于,包括 移动终端获取公钥和私钥对,将所述公钥发送至服务器; 所述服务器利用所述公钥生成加密会话密钥后发送至所述移动终端; 所述移动终端使用所述私钥对所述加密会话密钥进行解密,获取会话密钥。
2.根据权利要求I所述的方法,其特征在于,所述移动终端获取公钥和私钥对具体包括 获取并保存由密钥生成中心KGC服务器生成的私钥; 所述公钥由所述移动终端的身份标识信息生成; 所述公钥与私钥相对应。
3.根据权利要求I所述的方法,其特征在于,所述服务器利用所述公钥生成加密会话密钥后发送至所述移动终端具体包括 所述服务器预先选取会话密钥,利用所述公钥加密会话密钥,并发送至所述移动终端。
4.根据权利要求I所述的方法,其特征在于,还包括 所述移动终端使用所述私钥将待验证信息进行加密,并将所述待验证信息发送至所述服务器。
5.根据权利要求4所述的方法,其特征在于,还包括 所述服务器接收来自所述移动终端的待验证信息,使用所述公钥对加密的待验证信息进行解密,并根据解密后的待验证信息对所述移动终端进行身份认证。
6.一种身份认证系统,其特征在于,包括移动终端和服务器,其中, 移动终端获取公钥和私钥对,将所述公钥发送至服务器; 所述服务器利用所述公钥生成加密会话密钥后发送至所述移动终端; 所述移动终端使用所述私钥对所述加密会话密钥进行解密,获取会话密钥。
7.根据权利要求6所述的系统,其特征在于,所述移动终端包括 第一获取模块,用于获取并保存由KGC生成的私钥; 第二获取模块,用于获取由所述移动终端的身份识别信息生成的公钥;其中,所述公钥与私钥相对应; 第一发送模块,用于将所述公钥发送至所述服务器。
8.根据权利要求6所述的系统,其特征在于,所述服务器包括 第一加密模块,用于利用所述公钥加密预先选取的会话密钥; 第二发送模块,用于将加密会话密钥发送至所述移动终端。
9.根据权利要求6所述的系统,其特征在于,所述移动终端还包括 第二加密模块,用于使用所述私钥将待验证信息进行加密; 第三发送模块,用于将所述待验证信息发送至所述服务器。
10.根据权利要求9所述的方法,其特征在于,所述服务器还包括 解密模块,用于使用所述公钥对加密的待验证信息进行解密; 身份验证模块,用于根据解密后的待验证信息对所述移动终端进行身份认证。
全文摘要
本发明公开了一种身份认证系统及其方法,其中该身份认证方法包括移动终端获取公钥和私钥对,将所述公钥发送至服务器;所述服务器利用所述公钥生成加密会话密钥后发送至所述移动终端;所述移动终端使用所述私钥对所述加密会话密钥进行解密,获取会话密钥。通过本发明,可以减少服务器响应时间,更好地满足了用户的实时需求。
文档编号H04L9/08GK102882685SQ20121036998
公开日2013年1月16日 申请日期2012年9月27日 优先权日2012年9月27日
发明者钟焰涛 申请人:东莞宇龙通信科技有限公司, 宇龙计算机通信科技(深圳)有限公司