CN103313244A - 一种基于gba的认证方法及装置 - Google Patents
一种基于gba的认证方法及装置 Download PDFInfo
- Publication number
- CN103313244A CN103313244A CN2012100669399A CN201210066939A CN103313244A CN 103313244 A CN103313244 A CN 103313244A CN 2012100669399 A CN2012100669399 A CN 2012100669399A CN 201210066939 A CN201210066939 A CN 201210066939A CN 103313244 A CN103313244 A CN 103313244A
- Authority
- CN
- China
- Prior art keywords
- uam
- authentication
- product
- parameter
- preset key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于GBA的认证方法和装置,包括:BSF接收用户终端发送的初始化请求消息,并根据该消息中携带的用户标识从用户归属服务器中获取并保存鉴权参数和引导鉴权参数;用户终端接收并保存BSF发送的引导鉴权参数,将引导鉴权参数发送给用户卡,接收用户卡返回的鉴权参数;UAM模块获取与UAM产品序列号对应的预置密钥,生成随机参数,根据预置密钥、随机参数、以及用户终端发送的鉴权参数和引导鉴权参数生成认证参数;BSF根据初始化消息中携带的UAM产品序列号,获取与之对应的预置密钥,根据随机参数、鉴权参数、引导鉴权参数和预置密钥对认证参数进行认证操作。和现有技术相比,能够提高GBA初始化流程的安全性。
Description
技术领域
本发明涉及移动通信技术,特别涉及一种基于GBA的认证方法及装置。
背景技术
通用引导架构(Generic Bootstrapping Architecture,GBA)是一种使用对称密钥来完成鉴权和密钥协商的通用安全机制,它属于通用鉴权框架(Generic Authentication Architecture,GAA)的一部分。GBA在3GPP相互鉴权和密钥协商机制(Authentication and Key Agreement,AKA)的基础上,提供了一种在用户设备(User Equipment,UE)和服务器之间建立共享密钥的通用机制。
GBA的相关流程通常分为GBA初始化阶段(该阶段将生成GBA根密钥Ks)以及基于GBA的业务访问阶段(即使用Ks生成GBA共享密钥并以此进行业务通信)。在GBA的初始化过程中,通过引导服务功能实体(Bootstrapping Server Function,BSF),UE和HSS/HLR之间使用AKA进行密钥协商,在AKA完成之后,BSF和UE协商出一个GBA的根密钥Ks;在基于GBA的业务访问阶段,应用服务器(Network Application Function,NAF)从BSF中取得GBA的根密钥Ks和用户相关信息,应用服务器(NAF)从BSF中取得根密钥Ks和UE相关信息后,UE和NAF之间建立共享密钥,随后就能够利用此密钥为应用服务提供安全保护,特别是在应用服务会话开始时为UE和NAF提供相互鉴权。因此,GBA的初始化过程是GBA安全机制的关键环节。
移动多媒体广播业务(如:手机电视业务)基于GBA安全机制设计了自身的业务安全策略,并在用户终端中引入用户认证模块(UserAuthentication Module,UAM),用于和BSF完成GBA机制。图1为现有基于2G网络的GBA初始化流程图,如图1所示,包括如下所述的步骤:
步骤101~103:用户终端向BSF发送GBA bootstrapping请求消息,该请求消息中携带IMSI(Intemational Mobile Subscriber Identity,国际移动用户标识码)和UAM协议版本号。
步骤104:BSF根据IMSI向HLR获取三元组认证向量AV,保存UAM协议版本号。
在本步骤中,BSF根据IMSI向HLR发送请求获取三元组认证向量AV,HLR返回与该IMSI对应的三元组认证向量AV=(RAND,SRES,Kc),其中,RAND为引导鉴权参数,SRES和Kc为鉴权参数。
步骤105:BSF保存AV中的SRES和Kc,随机选择Ks_input,使用消息把RAND和Ks_input发送给用户终端。
步骤106~107:用户终端将RAND转发给SIM卡,SIM卡以RAND作为引导鉴权参数调用SIM卡中的GBA模块,SIM卡的GBA模块调用SIM卡中的AKA鉴权模块计算得到Kc和SRES。
步骤108:SIM卡将Kc和SRES发送给用户终端。
步骤109:用户终端将RAND、Kc、Ks_input和SRES发送给UAM模块。
步骤110:UAM模块生成随机数cnonce,根据随机数cnonce、预先存储的与UAM协议版本号对应的预置密钥Km以及用户终端发送的RAND、Kc、Ks_input和SRES,计算得到GBA根密钥Ks;并且,BSF根据随机数cnonce、预先存储的与UAM协议版本号对应的Km以及终端发送的RAND、Kc和SRES生成RES’。
步骤111:SIM卡将生成的RES’和cnonce发送给用户终端。
步骤112:用户终端将RES’和cnonce转发给BSF。
步骤113:BSF根据随机数cnonce、预先存储的与UAM协议版本号对应的预置密钥Km以及AV中的RAND、Kc和SRES计算得到RES’,BSF将该RES’与用户终端返回的RES’比较,若两者相同则认证通过,否则认证不通过,终止GBA流程;当认证通过时,BSF根据随机数cnonce、预先存储的与UAM协议号对应的Km以及BSF保存的RAND、Kc、Ks_input和SRES,计算得到GBA根密钥Ks。
步骤114:BSF随机产生B-TID作为ME的临时标示符,将B-TID和Ks生命周期返回给用户终端。
步骤115:用户终端向UAM模块发送命令,将B-TID和Ks的生命周期写入UAM模块。
步骤116:UAM模块保存B-TID和Ks的生命周期。
步骤117:UAM模块向用户终端返回引导业务标识B-TID和Ks的生命周期是否写入成功的状态字。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
在现有移动多媒体广播业务的GBA初始化流程中,UAM协议版本号只用于标识不同的UAM生产厂商,由于每个UAM模块的生产厂商只能拿到一个UAM协议版本号,如果该UAM生产厂商出现密钥泄露或密钥被攻击的情况,那么该UAM生产厂商生产的所有UAM产品将全部被攻破,从而无法保证GBA初始化流程的安全性。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于GBA的认证方法,能够提高GBA初始化流程的安全性。
本发明的另一目的在于提供两种基于GBA的认证装置,能够提高GBA初始化流程的安全性。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于通用引导结构GBA的认证方法,所述方法包括:
引导服务功能设备BSF接收用户终端发送的初始化请求消息,所述初始化请求消息中携带用户标识,以及与用户认证模块UAM对应的UAM产品序列号;
所述BSF根据所述用户标识从用户归属服务器中获取并保存鉴权参数和引导鉴权参数;
用户终端接收并保存所述BSF发送的所述引导鉴权参数,将所述引导鉴权参数发送给用户卡,并接收所述用户卡返回的所述鉴权参数;
UAM模块根据预先保存的所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,并按照预设的随机参数生成方法生成随机参数,根据所述预置密钥、所述随机参数,以及所述用户终端发送的所述鉴权参数和所述引导鉴权参数生成认证参数,并通过所述用户终端将所述认证参数和所述随机参数发送给所述BSF;
所述BSF根据所述UAM产品序列号,获取与所述UAM产品序列号对应的所述预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
一种引导服务功能设备BSF,包括:
第一接收单元,用于接收用户终端发送的初始化请求消息,所述初始化请求消息中携带用户标识,以及与用户认证模块UAM对应的UAM产品序列号,将所述用户标识发送给第一获取单元,将所述UAM产品序列号发送给认证单元;
所述第一获取单元,用于根据所述用户标识从用户归属服务器中获取并保存鉴权参数和引导鉴权参数,将所述鉴权参数发送给认证单元,将所述引导鉴权参数发送给第一发送单元和所述认证单元;
所述第一发送单元,用于将所述引导鉴权参数发送给所述用户终端;
所述第一接收单元,还用于接收所述UAM模块通过所述用户终端发送的认证参数和随机参数,将所述认证参数和所述随机参数发送给所述认证单元;
所述认证单元,用于根据所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
一种用户认证模块UAM,包括:
第二接收单元,用于接收用户终端发送的鉴权参数和引导鉴权参数,将所述鉴权参数和所述引导鉴权参数发送给认证参数生成单元;
第二获取单元,用于根据预先保存的所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,将所述预置密钥发送给所述认证参数生成单元;
随机参数生成单元,用于按照预设的随机参数生成方法生成随机参数,将所述随机参数发送给所述认证参数生成单元;
所述认证参数生成单元,用于根据所述预置密钥、所述随机参数,以及所述用户终端发送的所述鉴权参数和所述引导鉴权参数生成认证参数,将所述认证参数发送给第二发送单元;
所述第二发送单元,用于将所述认证参数发送给所述用户终端。
可见,采用本发明的技术方案,在用户侧,UAM模块根据UAM产品序列号获取与所述UAM产品序列号对应的预置密钥,根据所述预置密钥、随机生成的随机参数,以及用户终端发送的鉴权参数和引导鉴权参数生成认证参数;在网络侧,BSF根据UAM产品序列号获取与所述UAM产品序列号对应的预置密钥,并根据随机参数、鉴权参数、引导鉴权参数和所述预置密钥对UAM通过用户终端发送的认证参数进行认证操作。和现有技术相比,本发明提出的基于GBA的认证方法和装置,规避了现有技术中多个UAM模块对应一个预置密钥的安全风险,实现了“一UAM一密”,能够极大地提高GBA初始化流程的安全性。
附图说明
图1为现有基于2G网络的GBA初始化流程图。
图2为本发明基于GBA的认证方法的实现流程图。
图3为本发明基于2G网络的GBA初始化流程图。
图4为本发明引导服务功能设备BSF的结构示意图。
图5为本发明用户认证模块UAM的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种改进后的基于GBA的认证方案,能够提高GBA初始化流程的安全性。
为使本发明的技术方案更加清楚、明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
图2为本发明基于GBA的认证方法的实现流程图。如图2所示,包括以下步骤:
步骤201:引导服务功能设备BSF接收用户终端发送的初始化请求消息,所述初始化请求消息中携带用户标识,以及与用户认证模块UAM对应的UAM产品序列号。
在本步骤中,所述用户标识可以为国际移动服务器标识IMSI(InternationalMobile Server Identity),还可以为IP多媒体私有标识IMPI(IP Multimedia PrivateIdentity),或者还可以为其他用户标识。
在本发明的具体实施例中,UAM产品序列号UAMSN的长度为16个字节,具体编码规则为:SS 00 TT GG RAND。其中,字段SS的长度为1个字节,用于标识预置密钥状态的标志位;字段00的长度为1个字节,用于标识运营商;字段TT的长度为1个字节,用于标识用户认证模块UAM的类型;字段GG的长度为1个字节,用于标识UMA模块的生产厂家;字段RAND的长度为12个字节,用于标识UAM模块的产品序列号。
较佳地,在本发明的具体实施例中,在用户终端发送给BSF的初始化请求消息中还可以携带UAM的协议版本号。在本步骤中,当BSF接收到用户终端发送的携带UAM协议版本号的初始化请求消息之后,首先根据所述UAM协议版本号,在预先保存的UAM协议版本号数据库中进行查找,若查找成功,则执行现有技术中的GBA初始化流程;若查找失败,BSF根据随机参数、鉴权参数、引导鉴权参数,以及与UAMSN对应的预置密钥对认证参数进行认证操作,即继续执行本发明基于GBA的认证方法中的步骤202。
步骤202:BSF根据用户标识从用户归属服务器中获取并保存鉴权参数和引导鉴权参数。
在本发明的具体实施例中,以2G网络的BGA初始化流程为例,BSF在接收到用户终端发送的初始化请求消息之后,根据用户标识IMSI,通过Zh接口从HLR获取到与该IMSI对应的三元组认证向量AV(RAND,SRES,Kc),其中,RAND为引导鉴权参数,SRES和Kc为鉴权参数。
步骤203:用户终端接收并保存BSF发送的引导鉴权参数,将引导鉴权参数发送给用户卡,并接收用户卡返回的鉴权参数。
在本步骤中,用户终端接收并保存BSF发送的引导鉴权参数RAND,用户终端在接收到BSF发送的RAND之后,将所述RAND发送给用户卡。具体地,在2G网络中,所述用户卡为SIM卡(Subscriber Identity Module,用户身份识别模块);在3G网络中,所述用户卡为USIM卡(Universal Subscriber IdentityModule,全球用户识别卡)。
在本步骤中,当用户卡接收到鉴权引导参数RAND之后,利用AKA算法生成鉴权参数SRES和Kc,并将生成的鉴权参数SRES和Kc发送给用户终端。
步骤204:UAM模块根据预先保存的UAM产品序列号,获取与UAM产品序列号对应的预置密钥,并按照预设的随机参数生成方法生成随机参数,根据预置密钥、随机参数,以及用户终端发送的鉴权参数和引导鉴权参数生成认证参数,并通过用户终端将认证参数和随机参数发送给BSF。
在本发明的具体实施例中,UAM模块根据UAMSN中的标志位判断UAM模块是否已经被激活,若是,表明UAM模块预先已经根据预定算法计算过与UAMSN对应的预置密钥,由于每个UAM模块对应一个UAMSN,而每个UAMSN对应一个预置密钥,因此在UAM模块中只保存一个与UAMSN对应的预置密钥。在本步骤中,当UAM模块根据UAMSN中的标志位判断UAM模块已经被激活时,可以直接获取预先保存的预置密钥Km,否则,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。具体地,UAM模块可以根据UAMSN中的SS字段判断所述UAM模块是否已经被激活。例如,当SS字段中的前两个比特位为“00”时,表示所述UAM模块没有被激活;当SS字段中的前两个比特位为“01”时,表示所述UAM模块已经被激活。当所述UAM模块已经被激活时,UAM模块可以直接获取预先保存的预置密钥;当所述UAM模块没有被激活时,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。
在本步骤中,UAM模块按照预设的随机参数生成方法生成随机参数cnonce,根据预置密钥Km或new_Km、随机参数cnonce,以及用户终端发送的鉴权参数和引导鉴权参数生成认证参数RES’。具体地,在2G网络的GBA初始化流程中,RES’可以按照以下算法生成:RES’=KDF(key,“3gpp-gba-res”,SRES,Km,cnonce),其中,KDF是RES’的生成函数,key=Kc||Kc||RAND,“||”表示逻辑运算中的并运算,“3gpp-gba-res”是UAM模块预先保存的认证引导参数。需要注意的是,UAM模块生成RES’时所使用的SRES是SIM卡生成的,在BSF后续的认证过程中,BSF对RES’进行认证时所使用的SRES是从HLR获取到的。
进一步的,在本步骤中,UAM模块还可以根据预置密钥Km或new_Km、随机参数cnonce、用户终端发送的鉴权参数、引导鉴权参数以及密钥生成参数Ks_input,生成GBA初始化流程中的根密钥Ks。例如,Ks可以按照以下算法生成:Ks=KDF(key,Ks-input,“3gpp-gba-ks”,SRES,Km,cnonce),KDF是密钥生成函数,key=Kc||Kc||RAND,“3gpp-gba-ks”是UAM模块预先保存的密钥引导参数。
步骤205:BSF根据UAM产品序列号,获取与UAM产品序列号对应的预置密钥,并根据随机参数、鉴权参数、引导鉴权参数和预置密钥对认证参数进行认证操作。
在本步骤中,BSF首先根据UAMSN中的标志位判断UAM模块是否已经被激活,若是,在预先保存的UAMSN与Km的对应关系中查找与UAMSN对应的Km,否则,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。由于每个BSF对应多个UAM模块,因此在BSF中可以预先保存多个UAMSN与Km的对应关系,其中每个UAMSN对应一个Km。具体地,BSF可以根据UAMSN中的SS字段判断所述UAM模块是否已经被激活。例如,当SS字段中的前两个比特位为“00”时,表示所述UAM模块没有被激活;当SS字段中的前两个比特位为“01”时,表示所述UAM模块已经被激活。当所述UAM模块已经被激活时,BSF在预先保存的UAMSN与Km的对应关系中查找与UAMSN对应的预置密钥Km;当所述UAM模块没有被激活时,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。
在本步骤中,BSF根据随机参数、鉴权参数、引导鉴权参数和预置密钥对认证参数进行认证操作。具体地,BSF根据获取到的Km或new_Km,并根据从HLR获取到的AV三元组中的RAND、SRES和Kc,以及接收到的cnonce生成RES’。例如,RES’可按照以下算法生成:RES’=KDF(key,“3gpp-gba-res”,SRES,Km,cnonce),其中,KDF是RES’的生成函数,key=Kc||Kc||RAND,“3gpp-gba-res”是BSF预先保存的认证引导参数。BSF在生成RES’之后,将该RES’与接收到的RES’进行比较,如果两者相同,则认证成功,否则,认证失败。
在本发明的具体实施例中,当UAM模块通过预定算法计算得到与UAMSN对应的新的预置密钥new_Km时,视为UAM模块被激活,此时UAM模块将UAMSN中的标志位标记为已经被激活,并保存通过预定算法计算得到的与UAMSN对应的新的预置密钥new_Km。具体地,可以将UAMSN中SS字段中的前两个比特位为“00”更新为“01”,并保存UAM模块通过预定算法计算得到的与UAMSN对应的新的预置密钥new_Km。
进一步的,当BSF对UAM模块通过用户终端发送的RES’认证通过之后,还可以根据预置密钥Km或new_Km、随机参数cnonce、鉴权参数、引导鉴权参数以及BSF随机选择的密钥生成参数Ks_input,生成GBA初始化流程中的根密钥Ks。例如,Ks可以按照以下算法生成:Ks=KDF(key,Ks_input,“3gpp-gba-ks”,SRES,Km,cnonce),KDF是根密钥的生成函数,key=Kc||Kc||RAND,“3gpp-gba-ks”是BSF预先保存的密钥引导参数。
需要说明的是,在本发明具体实施例提供的RES’的计算公式中,还可以增加其他参数作为输入,例如固定字符串,或者终端与网络侧约定的任何参数。RES’的生成函数中除了可以增加特定参数外,还可以增加终端与网络侧约定的变换方法,例如输入参数先经过某种变化(例如置换、根据S盒变换、单向摘要函数变换、与指定参数异或等)后,再通过KDF函数计算得到RES’。
图3为本发明基于2G网络的GBA初始化流程图,如图3所示,包括如下所述的步骤:
步骤301~303:用户终端向BSF发送GBAbootstrapping请求消息,该请求消息中携带IMSI和UAMSN。
具体地,用户终端首先从SIM卡中获取IMSI,从UAM模块中获取UAMSN,然后将获取到的IMSI和UAMSN发送给BSF。
较佳地,在本发明的具体实施例中,用户终端还可以从UAM模块中获取UAM协议版本号,在本步骤中,用户终端还可以将携带IMSI、UAM协议版本号和UAMSN的GBA bootstrapping请求消息发送给BSF。
步骤304:BSF根据IMSI向HLR请求三元组认证向量AV(RAND,SRES,Kc),保存UAMSN。
具体地,在本步骤中BSF可以首先根据用户终端发送的UAM协议版本号,在预先保存的UAM协议版本号数据库中进行查找,若查找成功,则执行现有技术中的GBA初始化流程;若查找失败,BSF保存UAMSN。
步骤305:BSF保存AV中的SRES和Kc,随机选择Ks_input,使用401消息把RAND和Ks_input发送给用户终端。
步骤306~307:用户终端将RAND转发给SIM卡,SIM卡以RAND作为引导鉴权参数调用SIM卡中的GBA模块,SIM卡的GBA模块调用SIM卡中的AKA鉴权模块计算得到Kc和SRES。
步骤308:SIM卡将Kc和SRES发送给用户终端。
步骤309:用户终端将RAND、Kc、Ks_input和SRES发送给UAM模块。
步骤310:UAM模块产生随机数cnonce,根据UAMSN获取Km,并根据cnonce、Km,以及用户终端发送的RAND、Kc、Ks_input和SRES,计算得到GBA根密钥Ks和认证参数RES’。
在本步骤中,UAM模块根据UAMSN中的标志位判断UAM模块是否已经被激活,若是,所述UAM模块获取预先保存的预置密钥Km,否则,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。具体地,UAM模块可以根据UAMSN中的SS字段判断所述UAM模块是否已经被激活。例如,当SS字段中的前两个比特位为“00”时,表示所述UAM模块没有被激活;当SS字段中的前两个比特位为“01”时,表示所述UAM模块已经被激活。当所述UAM模块已经被激活时,UAM模块可以直接获取预先保存的预置密钥Km;当所述UAM模块没有被激活时,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。
步骤311:SIM卡将生成的RES’和cnonce发送给用户终端。
步骤312:用户终端将RES’和cnonce转发给BSF。
步骤313:BSF根据UAMSN获取Km,根据cnonce、Km以及AV中的RAND、Kc和SRES对RES’进行认证,认证通过之后,根据cnonce、Km以及BSF保存的RAND、Kc、Ks_input和SRES,计算得到GBA根密钥Ks。
在本步骤中,BSF根据UAMSN中的标志位判断UAM模块是否已经被激活,若是,在预先保存的UAMSN与Km的对应关系中查找与UAMSN对应的Km,否则,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。具体地,BSF可以根据UAMSN中的SS字段判断所述UAM模块是否已经被激活。例如,当SS字段中的前两个比特位为“00”时,表示所述UAM模块没有被激活;当SS字段中的前两个比特位为“01”时,表示所述UAM模块已经被激活。当所述UAM模块已经被激活时,BSF在预先保存的UAMSN与Km的对应关系中查找与UAMSN对应的Km;当所述UAM模块没有被激活时,通过预定算法计算与UAMSN对应的新的预置密钥new_Km。
较佳地,在BSF根据UAMSN中的标志位判断UAM模块是否已经被激活之前,还可以首先验证UAMSN的合法性,即判断所述UAMSN是否保存在BSF预先建立的UAMSN数据库中,若是,则判定UAMSN合法,否则,判断所述UAMSN非法,BSF终止GBA的初始化流程。
另外,在发明实际应用的过程中,也可以是在步骤310和步骤313中,UAM模块和BSF不进行判断UAM是否已经被激活的步骤,每次都按照预定算法直接计算与UAMSN对应的新的预置密钥new_Km,即无论UAMSN的SS字段的前两个比特位是“00”,还是“01”,UAM模块和BSF都会直接计算与UAMSN对应的新的预置密钥new_Km。
步骤314:BSF随机产生B-TID作为ME的临时标示符,将B-TID和Ks生命周期返回给用户终端。
步骤315:用户终端向UAM模块发送命令,将B-TID和Ks的生命周期写入UAM模块。
步骤316:UAM模块根据UAMSN更新UAMSN中的标志位,保存B-TID和Ks的生命周期。
在本步骤中,当UAM模块被激活时,UAM模块将UAMSN中的标志位标记为已经被激活,保存UAM模块根据预定算法计算得到的与UAMSN对应的预置密钥new_Km,并保存B-TID和Ks的生命周期。具体地,在本步骤中UAM模块可以将UAMSN中SS字段中的前两个比特位为“00”更新为“01”,并保存UAM模块通过预定算法计算得到的与UAMSN对应的预置密钥new_Km,以及B-TID和Ks的生命周期。
步骤317:UAM模块向终端返回B-ID和Ks的生命周期是否写入成功的状态字。
本发明提出的基于GBA的认证方法,在用户侧,UAM模块根据UAM产品序列号获取与所述UAM产品序列号对应的预置密钥,根据所述预置密钥、随机生成的随机参数,以及用户终端发送的鉴权参数和引导鉴权参数生成认证参数;在网络侧,BSF根据UAM产品序列号获取与所述UAM产品序列号对应的预置密钥,并根据随机参数、鉴权参数、引导鉴权参数和所述预置密钥对UAM通过用户终端发送的认证参数进行认证操作。和现有技术相比,本发明提出的基于GBA的认证方法,规避了现有技术中多个UAM模块对应一个预置密钥的安全风险,实现了“一UAM一密”,能够极大地提高GBA初始化流程的安全性。
图4为本发明引导服务功能设备BSF的结构示意图。如图4所示,包括:
第一接收单元401,用于接收用户终端发送的初始化请求消息,所述初始化请求消息中携带用户标识,以及与用户认证模块UAM对应的UAM产品序列号,将所述用户标识发送给第一获取单元402,将所述UAM产品序列号发送给认证单元403;
所述第一获取单元402,用于根据所述用户标识从用户归属服务器中获取并保存鉴权参数和引导鉴权参数,将所述鉴权参数发送给所述认证单元403,将所述引导鉴权参数发送给第一发送单元404和所述认证单元403;
所述第一发送单元404,用于将所述引导鉴权参数发送给所述用户终端;
所述第一接收单元401,还用于接收所述UAM模块通过所述用户终端发送的认证参数和随机参数,将所述认证参数和所述随机参数发送给所述认证单元403;
所述认证单元403,用于根据所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
进一步的,所述第一接收单元401,还用于将携带UAM协议版本号的初始化请求消息发送给查找单元405;
所述查找单元405,用于根据所述UAM协议版本号,在预先保存的UAM协议版本号数据库中进行查找,若查找失败,向所述认证单元403发送一个认证指令;
所述认证单元403,还用于在接收到所述认证指令之后,根据所述UAM产品序列号,获取与所述UAM产品序列号对应的所述预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
进一步的,所述第一获取单元402包括:
第一判断子单元4021,用于根据所述UAM产品序列号中的标志位判断所述UAM模块是否已经被激活,若是,向查找子单元4022发送一个查找指令,否则,向第一计算子单元4023发送一个第一计算指令;
所述查找子单元4022,用于在接收到所述查找指令之后,在预先保存的所述UAM产品序列号与所述预置密钥的对应关系中查找与所述UAM产品序列号对应的所述预置密钥;
所述第一计算子单元4023,用于在接收到所述第一计算指令之后,通过预定算法计算与所述UAM产品序列号对应的新的预置密钥。
图5为本发明用户认证模块UAM的结构示意图。如图5所示,包括:
第二接收单元501,用于接收用户终端发送的鉴权参数和引导鉴权参数,将所述鉴权参数和所述引导鉴权参数发送给认证参数生成单元502;
第二获取单元503,用于根据预先保存的所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,将所述预置密钥发送给所述认证参数生成单元502;
随机参数生成单元504,用于按照预设的随机参数生成方法生成随机参数,将所述随机参数发送给所述认证参数生成单元502;
所述认证参数生成单元502,用于根据所述预置密钥、所述随机参数,以及所述用户终端发送的所述鉴权参数和所述引导鉴权参数生成认证参数,将所述认证参数发送给第二发送单元505;
所述第二发送单元505,用于将所述认证参数发送给所述用户终端。
进一步的,所述第二获取单元503包括:
第二判断子单元5031,用于根据所述UAM产品序列号中的标志位判断所述UAM模块是否已经被激活,若是,向获取子单元5032发送一个获取指令,否则,向第二计算子单元5033发送一个第二计算指令;
所述获取子单元5032,用于在接收到所述获取指令之后,获取预先保存的所述预置密钥;
所述第二计算子单元5033,用于在接收到所述第二计算指令之后,通过预定算法计算与所述UAM产品序列号对应的新的预置密钥。
进一步的,所述第二获取单元503还包括存储子单元5034;
所述第二计算子单元5033,还用于在计算得出所述新的预置密钥之后,将所述UAM产品序列号中的标志位标记为已经被激活,将与所述UAM产品序列号对应的所述新的预置密钥发送给所述存储子单元5034;
所述存储子单元5034,用于保存所述新的预置密钥。
本发明提出的基于GBA的认证装置,在用户侧,UAM根据UAM产品序列号获取与所述UAM产品序列号对应的预置密钥,根据所述预置密钥、随机生成的随机参数,以及用户终端发送的鉴权参数和引导鉴权参数生成认证参数;在网络侧,BSF根据UAM产品序列号获取与所述UAM产品序列号对应的预置密钥,并根据随机参数、鉴权参数、引导鉴权参数和所述预置密钥对UAM通过用户终端发送的认证参数进行认证操作。和现有技术相比,本发明提出的基于GBA的认证装置,规避了现有技术中多个UAM模块对应一个预置密钥的安全风险,实现了“一UAM一密”,能够极大地提高GBA初始化流程的安全性。
图4和5所示装置实施例的具体工作流程请参照图2和图3所示方法实施例中的相应说明,不再赘述。
另外,需要说明的是,对于3G的GBA初始化流程,本发明所述方案将同样适用。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (11)
1.一种基于通用引导架构GBA的认证方法,其特征在于,包括:
引导服务功能设备BSF接收用户终端发送的初始化请求消息,所述初始化请求消息中携带用户标识,以及与用户认证模块UAM对应的UAM产品序列号;
所述BSF根据所述用户标识从用户归属服务器中获取并保存鉴权参数和引导鉴权参数;
用户终端接收并保存所述BSF发送的所述引导鉴权参数,将所述引导鉴权参数发送给用户卡,并接收所述用户卡返回的所述鉴权参数;
UAM模块根据预先保存的所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,并按照预设的随机参数生成方法生成随机参数,根据所述预置密钥、所述随机参数,以及所述用户终端发送的所述鉴权参数和所述引导鉴权参数生成认证参数,并通过所述用户终端将所述认证参数和所述随机参数发送给所述BSF;
所述BSF根据所述UAM产品序列号,获取与所述UAM产品序列号对应的所述预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述初始化请求消息中还携带UAM协议版本号;
所述BSF根据所述UAM协议版本号,在预先保存的UAM协议版本号数据库中进行查找,若查找失败,根据所述UAM产品序列号,获取与所述UAM产品序列号对应的所述预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
3.根据权利要求1所述的方法,其特征在于,所述UAM模块根据预先保存的所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,包括:
所述UAM模块根据所述UAM产品序列号中的标志位,判断所述UAM模块是否已经被激活,若是,所述UAM模块获取预先保存的与所述UAM产品序列号对应的所述预置密钥,否则,通过预定算法计算与所述UAM产品序列号对应的新的预置密钥。
4.根据权利要求1所述的方法,其特征在于,所述BSF根据所述UAM产品序列号,获取与所述UAM产品序列号对应的所述预置密钥,包括:
所述BSF根据所述UAM产品序列号中的标志位,判断所述UAM模块是否已经被激活,若是,在预先保存的所述UAM产品序列号与所述预置密钥的对应关系中查找与所述UAM产品序列号对应的所述预置密钥,否则,通过所述预定算法计算得到与所述UAM产品序列号对应的新的预置密钥。
5.根据权利要求3所述的方法,其特征在于,还包括:
在计算得出所述新的预置密钥之后,所述UAM模块将所述UAM产品序列号中的标志位标记为已经被激活,并保存所述新的预置密钥。
6.一种引导服务功能设备BSF,其特征在于,包括:
第一接收单元,用于接收用户终端发送的初始化请求消息,所述初始化请求消息中携带用户标识,以及与用户认证模块UAM对应的UAM产品序列号,将所述用户标识发送给第一获取单元,将所述UAM产品序列号发送给认证单元;
所述第一获取单元,用于根据所述用户标识从用户归属服务器中获取并保存鉴权参数和引导鉴权参数,将所述鉴权参数发送给认证单元,将所述引导鉴权参数发送给第一发送单元和所述认证单元;
所述第一发送单元,用于将所述引导鉴权参数发送给所述用户终端;
所述第一接收单元,还用于接收所述UAM模块通过所述用户终端发送的认证参数和随机参数,将所述认证参数和所述随机参数发送给所述认证单元;
所述认证单元,用于根据所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
7.根据权利要求6所述的BSF,其特征在于,所述第一接收单元,还用于将携带UAM协议版本号的初始化请求消息发送给查找单元;
所述查找单元,用于根据所述UAM协议版本号,在预先保存的UAM协议版本号数据库中进行查找,若查找失败,向所述认证单元发送一个认证指令;
所述认证单元,还用于在接收到所述认证指令之后,根据所述UAM产品序列号,获取与所述UAM产品序列号对应的所述预置密钥,并根据所述随机参数、所述鉴权参数、所述引导鉴权参数和所述预置密钥对所述认证参数进行认证操作。
8.根据权利要求6所述的BSF,其特征在于,所述第一获取单元包括:
第一判断子单元,用于根据所述UAM产品序列号中的标志位判断所述UAM模块是否已经被激活,若是,向查找子单元发送一个查找指令,否则,向第一计算子单元发送一个第一计算指令;
所述查找子单元,用于在接收到所述查找指令之后,在预先保存的所述UAM产品序列号与所述预置密钥的对应关系中查找与所述UAM产品序列号对应的所述预置密钥;
所述第一计算子单元,用于在接收到所述第一计算指令之后,通过预定算法计算与所述UAM产品序列号对应的新的预置密钥。
9.一种用户认证模块UAM,其特征在于,包括:
第二接收单元,用于接收用户终端发送的鉴权参数和引导鉴权参数,将所述鉴权参数和所述引导鉴权参数发送给认证参数生成单元;
第二获取单元,用于根据预先保存的所述UAM产品序列号,获取与所述UAM产品序列号对应的预置密钥,将所述预置密钥发送给所述认证参数生成单元;
随机参数生成单元,用于按照预设的随机参数生成方法生成随机参数,将所述随机参数发送给所述认证参数生成单元;
所述认证参数生成单元,用于根据所述预置密钥、所述随机参数,以及所述用户终端发送的所述鉴权参数和所述引导鉴权参数生成认证参数,将所述认证参数发送给第二发送单元;
所述第二发送单元,用于将所述认证参数发送给所述用户终端。
10.根据权利要求9所述的UAM模块,其特征在于,所述第二获取单元包括:
第二判断子单元,用于根据所述UAM产品序列号中的标志位判断所述UAM模块是否已经被激活,若是,向获取子单元发送一个获取指令,否则,向第二计算子单元发送一个第二计算指令;
所述获取子单元,用于在接收到所述获取指令之后,获取预先保存的所述预置密钥;
所述第二计算子单元,用于在接收到所述第二计算指令之后,通过预定算法计算与所述UAM产品序列号对应的新的预置密钥。
11.根据权利要求10所述的UAM模块,其特征在于,所述第二获取单元还包括存储子单元;
所述第二计算子单元,还用于在计算得出所述新的预置密钥之后,将所述UAM产品序列号中的标志位标记为已经被激活,将与所述UAM产品序列号对应的所述新的预置密钥发送给所述存储子单元;
所述存储子单元,用于保存所述新的预置密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210066939.9A CN103313244B (zh) | 2012-03-14 | 2012-03-14 | 一种基于gba的认证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210066939.9A CN103313244B (zh) | 2012-03-14 | 2012-03-14 | 一种基于gba的认证方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103313244A true CN103313244A (zh) | 2013-09-18 |
CN103313244B CN103313244B (zh) | 2016-12-14 |
Family
ID=49137922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210066939.9A Active CN103313244B (zh) | 2012-03-14 | 2012-03-14 | 一种基于gba的认证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103313244B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341230A (zh) * | 2015-07-08 | 2017-01-18 | 吴清山 | 无条件安全密码体制 |
CN110401613A (zh) * | 2018-04-24 | 2019-11-01 | 北京握奇智能科技有限公司 | 一种认证管理方法和相关设备 |
CN111404933A (zh) * | 2020-03-16 | 2020-07-10 | 维沃移动通信有限公司 | 鉴权方法、电子设备及鉴权服务器 |
CN113596830A (zh) * | 2021-07-27 | 2021-11-02 | 中国联合网络通信集团有限公司 | 通信方法、装置、电子设备、存储介质及程序产品 |
CN114125836A (zh) * | 2020-08-10 | 2022-03-01 | 中国移动通信有限公司研究院 | 鉴权方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1873668A1 (en) * | 2006-06-28 | 2008-01-02 | Nokia Siemens Networks Gmbh & Co. Kg | Integration of device integrity attestation into user authentication |
CN101990201A (zh) * | 2009-07-31 | 2011-03-23 | 中国移动通信集团公司 | 生成gba密钥的方法及其系统和设备 |
WO2011131220A1 (en) * | 2010-04-19 | 2011-10-27 | Nokia Siemens Networks Oy | Gba and ims authentication procedures |
CN102264069A (zh) * | 2010-05-28 | 2011-11-30 | 中国移动通信集团公司 | 基于通用引导架构的认证控制方法、装置及系统 |
-
2012
- 2012-03-14 CN CN201210066939.9A patent/CN103313244B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1873668A1 (en) * | 2006-06-28 | 2008-01-02 | Nokia Siemens Networks Gmbh & Co. Kg | Integration of device integrity attestation into user authentication |
CN101990201A (zh) * | 2009-07-31 | 2011-03-23 | 中国移动通信集团公司 | 生成gba密钥的方法及其系统和设备 |
WO2011131220A1 (en) * | 2010-04-19 | 2011-10-27 | Nokia Siemens Networks Oy | Gba and ims authentication procedures |
CN102264069A (zh) * | 2010-05-28 | 2011-11-30 | 中国移动通信集团公司 | 基于通用引导架构的认证控制方法、装置及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106341230A (zh) * | 2015-07-08 | 2017-01-18 | 吴清山 | 无条件安全密码体制 |
CN106341230B (zh) * | 2015-07-08 | 2020-08-21 | 吴清山 | 通过缩短密文长度来实现现代密码体制无条件安全的方法 |
CN110401613A (zh) * | 2018-04-24 | 2019-11-01 | 北京握奇智能科技有限公司 | 一种认证管理方法和相关设备 |
CN110401613B (zh) * | 2018-04-24 | 2023-01-17 | 北京握奇智能科技有限公司 | 一种认证管理方法和相关设备 |
CN111404933A (zh) * | 2020-03-16 | 2020-07-10 | 维沃移动通信有限公司 | 鉴权方法、电子设备及鉴权服务器 |
CN111404933B (zh) * | 2020-03-16 | 2022-04-15 | 维沃移动通信有限公司 | 鉴权方法、电子设备及鉴权服务器 |
CN114125836A (zh) * | 2020-08-10 | 2022-03-01 | 中国移动通信有限公司研究院 | 鉴权方法、装置、设备及存储介质 |
CN113596830A (zh) * | 2021-07-27 | 2021-11-02 | 中国联合网络通信集团有限公司 | 通信方法、装置、电子设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN103313244B (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6979420B2 (ja) | 通信デバイスとネットワークデバイスとの間の通信におけるセキュリティ構成 | |
JP6492115B2 (ja) | 暗号鍵の生成 | |
CN108616354B (zh) | 一种移动通信中密钥协商方法和设备 | |
CN101194529B (zh) | 用于协商至少一个第一通信用户和第二通信用户之间的安全密钥以保护通信连接的安全的方法 | |
CN111314056B (zh) | 基于身份加密体制的天地一体化网络匿名接入认证方法 | |
KR101485230B1 (ko) | 안전한 멀티 uim 인증 및 키 교환 | |
US8379854B2 (en) | Secure wireless communication | |
US10411884B2 (en) | Secure bootstrapping architecture method based on password-based digest authentication | |
EP3249849B1 (en) | Key agreement for wireless communication | |
CN103699920B (zh) | 基于椭圆曲线的射频识别双向认证方法 | |
WO2018040758A1 (zh) | 认证方法、认证装置和认证系统 | |
US9445269B2 (en) | Terminal identity verification and service authentication method, system and terminal | |
CN104754581A (zh) | 一种基于公钥密码体制的lte无线网络的安全认证方法 | |
CN101123778A (zh) | 网络接入鉴权方法及其usim卡 | |
CN101039181B (zh) | 防止通用鉴权框架中服务功能实体受攻击的方法 | |
CN103313244A (zh) | 一种基于gba的认证方法及装置 | |
CN101132649A (zh) | 一种网络接入鉴权方法及其usim卡 | |
CN102264068B (zh) | 共享密钥协商方法与系统、网络平台及终端 | |
CN101938741A (zh) | 双向认证的方法、系统及装置 | |
CN110012467A (zh) | 窄带物联网的分组认证方法 | |
WO2021093811A1 (zh) | 一种网络接入方法及相关设备 | |
CN117294417A (zh) | 一种安全通讯系统、方法以及存储介质 | |
KR101329789B1 (ko) | 모바일 디바이스의 데이터베이스 암호화 방법 | |
CN116074839B (zh) | 一种量子安全终端接入量子安全网络的认证方法 | |
CN112788596A (zh) | 安全加密信息生成方法和系统及5g终端认证方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |