CN101047505A - 一种网络应用push业务中建立安全连接的方法及系统 - Google Patents
一种网络应用push业务中建立安全连接的方法及系统 Download PDFInfo
- Publication number
- CN101047505A CN101047505A CN 200610073441 CN200610073441A CN101047505A CN 101047505 A CN101047505 A CN 101047505A CN 200610073441 CN200610073441 CN 200610073441 CN 200610073441 A CN200610073441 A CN 200610073441A CN 101047505 A CN101047505 A CN 101047505A
- Authority
- CN
- China
- Prior art keywords
- user
- network side
- variable element
- license token
- side variable
- 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.)
- Pending
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种网络应用PUSH业务中建立安全连接的方法及系统,在通用鉴权过程中:网络侧向用户发送包含有网络侧授权标志的业务许可令牌PUSH业务请求信息;用户收到所述的PUSH业务请求信息后,判断其中的网络侧业务许可令牌是否合法,如果是,所述的用户将接受该push请求消息,并进行后面处理流程。用以解决网络应用中的PUSH业务利用GAA与用户侧主动建立安全连接的问题。
Description
技术领域
本发明涉及移动通信技术领域,特别涉及通用鉴权框架(GAA)在PUSH业务中的应用,具体的讲是一种网络应用PUSH业务中建立安全连接的方法及系统。
背景技术
在第三代无线通信标准中,通用鉴权框架(GAA)是多种应用业务实体使用的一个用于完成对用户身份进行验证的通用结构,应用通用鉴权框架可实现对应用业务的用户进行检查和验证身份。并为用户访问应用业务提供安全通信的密钥。上述多种应用业务可以是多播或广播业务、用户证书业务、信息即时提供业务等,也可以是代理业务。
如图1所示,为通用鉴权框架结构框图。在图1中,通用鉴权框架通常由用户设备(UE)、执行用户身份初始检查验证的实体(BSF)、用户归属网络服务器(HSS)、定位HSS的位置的实体(SLF)和网络业务应用实体(NAF)组成。其中,SLF通过Dz接口与BSF相连接,HSS通过Zh接口与BSF相连接,NAF通过Zn接口与BSF相连接,UE通过Ub接口与BSF相连接并且通过Ua接口与NAF相连接。
BSF用于与UE进行互验证身份,同时生成BSF与用户的共享密钥Ks;HSS中存储用于描述用户信息的描述文件,同时HSS还兼有产生鉴权信息的功能。
用户需要使用某种业务时,如果用户知道该业务需要到BSF进行互鉴权过程,则直接到BSF进行互鉴权,否则,用户会首先和该业务对应的NAF联系,如果该NAF使用GAA框架,并且发现该用户还未到BSF进行互认证过程,NAF则通知该用户到BSF进行互鉴权以验证身份。
如图2所示,为现有技术中用户主动向应用服务器发起业务请求的GAA框架图,其中UE与BSF之间的互鉴权(GBA)的步骤包括:
步骤a、UE向BSF发出鉴权请求。
步骤b、BSF接到鉴权请求后,首先到HSS获取该UE的鉴权信息;BSF获得鉴权信息后采用HTTP digest AKA协议与UE进行双向认证以及密钥协商,完成UE和BSF之间身份的互相认证及共享密钥Ks的生成,共享密钥Ks是作为根密钥来使用的,用于衍生出加密通信的密钥。
然后,BSF分配一个会话事务标识(B-TID)发送给UE,该B-TID与Ks相关联,可以用于标识Ks。
步骤c、UE收到B-TID后,重新向NAF发出连接请求,且请求消息中携带了该B-TID,同时UE根据Ks计算出衍生密钥Ks_NAF。
步骤d、NAF收到连接请求后,将请求中所附带的B-TID和NAF标识发送至BSF。
步骤e、BSF首先根据B-TID获得相应的Ks,并利用Ks和NAF标识等信息衍生出一个会话密钥Ks_NAF,之后,NAF和UE在后续的通信过程中通过Ks_NAF来进行加密通信。
当NAF处于不同于用户归属网络的漫游网络时,NAF可以通过一个代理服务器(Zn-proxy)向归属网络的BSF请求某一个B-TID对应的密钥。
上述GAA框架是在用户主动向应用服务器发起业务请求的情况下,网络验证用户身份并提供通信密钥的方式。但是随着GAA应用的业务更加多样化,一些网络主动向用户发起业务请求的已经出现,如何将GAA应用到这类网络PUSH业务已经成为相关标准组织的热点。现在已经提出的方案有以下几种:
一、纯推方式(Pure push)
推业务(push)一般是指在没有用户侧发起的上行请求的情况下,由网络侧发起的业务。如图3所示,为Pure push方式中UE与NAF和BSF之间的鉴权流程。其中:
步骤a′、NAF先到BSF取密钥,并将计算NAF密钥的所需所有参数(包括用户身份标识、NAF主机名等)一起发送给BSF。
步骤b′、BSF计算后,将B-TID和密钥、鉴权向量中的鉴权向量(AUTN)以及其它信息一起返回给NAF。
步骤c′、NAF将AUTN和其它参数一起发给UE,并使用Ks_NAF计算消息鉴权码(MAC),MAC用于保证消息的完整性。
步骤d′、UE收到消息以后根据AUTN验证网路身份,再计算出KS和NAF相关密钥,并根据MAC判断消息是否被篡改。
从上述的步骤中可知,步骤a′中的NAF需要将所有生成NAF密钥的参数转发给UE,由于参数过多且过长,所以一条SMS短消息可能无法携带。
另外BSF从HSS获取的一个鉴权向量只能用于一次用户和应用之间的安全通信。这样已经违背了当初设计GAA的初衷,该GAA的初衷是利用一个鉴权元组与用户建立的信任关系以及密钥可以用于用户与多个应用多次的业务安全通信。
二、混合推方式(Mixed push)
如图4所示,为Mixed push方式中UE与NAF和BSF之间的鉴权流程。其中:
步骤a″、NAF向BSF要NAF密钥。
步骤b″、BSF向NAF返回NAF密钥、B-TID和附加信息,但不反馈AUTN。
步骤c″、NAF向UE发送消息包含B-TID。可能包含计算Ks所需其它参数,可能这些参数由BSF自己发送。NAF向UE发送的信息可以与该建立SA的消息一起发送,也可以在UE和NAF建立起SA以后分开发送。并且NAF向UE发送的数据(data)应该加密保护。
步骤d″、UE收到消息,再连接BSF,包含B-TID,并且向BSF要计算密钥所需参数,携带认证自身的参数(因为可以从B-TID知道RAND值)。BSF只需要返回AUTN。或者是B-TID里的RAND不作为计算密钥的RAND,而只是AUTN的索引。真正计算密钥的RAND将与AUTN一起由BSF发给UE。
上述步骤的执行,需要修改Ub口协议,对现有GAA构架影响太大,兼容性也有问题。另外由于用户需要先到BSF认证,并且协商完密钥以后才能验证NAF请求消息,不能排除攻击者发一些假消息对用户进行DoS攻击的可能性。
三、请求消息不被保护的连接方式
网络侧向UE发送一个消息,要求UE到NAF建立一个安全通道。该请求消息是不被保护的。但是可以包含一个标志(Token),主要让UE在响应中出示,以便NAF授权连接,并且将连接与初始请求关联起来。UE与NAF建立传输层安全协议(TLS),只鉴权NAF,不需要鉴权客户机(client)。但是Client可以对触发消息(triggering message)进行杂凑(hash),让NAF能够验证其完整性。然后由UE和NAF协商是否需要GBA,接下来完全跟现有规范一样。
在这种方法中,需要更改的规范比较少,但是由于第一条消息未保护,所以可能引起拒绝服务(DoS)的攻击。
四、订阅业务方式(Subscribed services)
按照MBMS的方式,向UE进行PUSH应用,并且UE注册应用的时候,就触发一次GBA过程,并协商一个初始的GBA密钥。NAF可以向BSF请求密钥。跟MBMS一样,UE需要存储最新的NAF密钥。如果NAF和UE失去同步。NAF和UE需要同步NAF密钥,UE需要在响应(response)消息中携带B-TID,然后NAF按照B-TID再次去BSF请求密钥,并用新密钥再次加密push消息。
这种方法需要一个初始注册过程,但是并非所有业务都有这个初始注册功能。
发明内容
本发明的目的在于,提供一种网络应用PUSH业务中建立安全连接的方法及系统,用以解决网络应用中的PUSH业务利用GAA与用户侧主动建立安全连接的问题。
本发明的技术方案为:一种网络应用PUSH业务中建立安全连接的方法,在通用鉴权过程中:网络侧向用户发送包含有网络侧业务许可令牌的PUSH业务请求信息;用户收到所述的PUSH业务请求信息后,判断其中的业务许可令牌是否为合法的,如果是,所述的用户侧该push业务请求消息。
所述业务许可令牌可以是由网络侧对每个用户保存的一个可变参数值衍生而来,也可以采取其它的方式获得的可变值。要求业务许可令牌必须是可以防止假冒和重放攻击的。
所述的网络侧可变参数在每次网络侧与用户认证后,所述网络侧可变参数的值发生改变。
所述网络侧可变参数的值发生改变包括:计数器的增减、序列号的增减或者随机数发生器的随机值的改变。
所述的网络侧向用户发送包含有网络侧业务许可令牌的PUSH业务请求信息包括:网络应用功能实体(NAF)向执行用户身份初始检查验证的实体(BSF)发送网络应用功能相关密钥请求信息,该请求信息中携带包含用户身份标识在内的计算所述网络应用功能相关密钥所需的参数;执行用户身份初始检查验证的实体(BSF)收到所述的网络应用功能相关密钥请求信息后,利用与所述用户对应的用户共享密钥(Ks)计算网络应用功能相关密钥,并利用所述的网络侧可变参数生成业务许可令牌参数,然后向所述的网络应用功能实体(NAF)返回包含网络应用功能相关密钥和许可令牌参数在内的响应信息;所述的网络应用功能实体(NAF)向用户发送包含有业务许可令牌参数在内的PUSH业务请求信息。
所述的利用所述的网络侧可变参数生成业务许可令牌参数包括:利用所述的用户共享密钥(Ks)对随机数(RAND)加密,得到一个密钥BK,然后利用BK与所述的网络侧可变参数进行加密运算或者直接采用异或运算生成所述的业务许可令牌参数。或者是直接采用Ks与可变参数进行计算得到。
当所述的用户(UE)从所述的网络应用功能实体(NAF)收到PUSH业务请求信息后,利用所述的用户共享密钥与随机数得到密钥BK;然后将密钥BK(或Ks)与所述的业务许可令牌参数进行逆运算得到所述的网络侧可变参数。通过比较网络侧可变参数与用户侧可变参数来判断该值的合法性。
所述的利用所述的网络侧可变参数生成业务许可令牌参数包括:利用用户私有身份标识与所述的网络侧可变参数进行加密运算或者直接采用异或运算生成所述的业务许可令牌参数。
当所述的用户(UE)从所述的网络应用功能实体(NAF)收到PUSH业务请求信息后,根据用户私有身份标识(如:IMPI)或其他私有身份标识和所述的业务许可令牌参数得到所述的网络侧可变参数。比较网络的可变参数与本地可变参数值,得知业务许可令牌的合法性。
所述的利用所述的网络侧可变参数生成业务许可令牌参数包括:所述的许可令牌参数是所述执行用户身份初始检查验证的实体(BSF)产生的另外一个随机数,或者其它可变的值。
当所述的用户(UE)从所述的网络应用功能实体(NAF)收到PUSH业务请求信息后,所述的用户将所述的业务许可令牌参数传送到所述的执行用户身份初始检查验证的实体(BSF)进行确认。
当所述的用户(UE)从所述的网络应用功能实体(NAF)收到PUSH业务请求信息后,根据所述的业务许可令牌参数判断该PUSH业务请求信息的合法性;若合法则所述的用户接受该PUSH业务请求并进行后面流程;否则拒绝该PUSH业务请求。
本发明还提供了一种网络应用PUSH业务中建立安全连接的系统,在通用鉴权架构中,网络侧包括:业务许可令牌生成装置,可能包括网络侧可变参数装置,用于生成和维护网络侧可变参数;用户设备包括:用户侧可变参数装置,用于生成和维护用户侧可变参数;其中:所述的网络侧向所述的用户设备发送包含有网络侧业务许可令牌参数的PUSH业务请求信息;所述的用户设备收到所述的PUSH业务请求信息后,判断其中的业务许可令牌参数是否合法,如果业务许可令牌是由可变参数生成的,所述的用户侧可变参数装置将用户侧可变参数调整到与所述的网络侧可变参数相一致。
本发明的有益效果在于,不仅具有现有技术的Pure push方案的优点,而且克服了Pure push方案携带参数过多的缺点。另外利用网络侧可变参数使得每次业务请求消息里携带了一个可变的值,防止了非法用户进行重放攻击。本发明中一个Ks可以被多个NAF使用,因此保留了GAA的最大优点:从HSS取的一组鉴权向量可以多次使用。
附图说明
图1为第三代无线通信标准中通用鉴权框架的结构框图;
图2为现有技术中NAF处于不同于用户归属网络的漫游网络时通用鉴权框架的结构框图;
图3为现有技术中Pure PUSH业务使用通用鉴权框架的流程图;
图4为现有技术中Mixed PUSH业务使用通用鉴权框架的流程图;
图5为本发明具体实施方式的PUSH业务利用GAA与用户主动地建立安全连接的流程图;
图6为本发明具体实施方式的另一个实施例的PUSH业务利用GAA与用户主动地建立安全连接的流程图;
图7为本发明PUSH业务利用GAA与用户主动地建立安全连接的结构框图。
具体实施方式
以下结合附图说明本发明的具体实施方式。本发明旨在找到一种更加完善的方法,使得网络应用中的PUSH业务也可利用GAA与用户主动建立安全连接。
本发明提供的完整技术方案为:
当NAF想要主动与UE建立业务通信时,首先向BSF请求NAF相关密钥,并在请求消息携带用户身份标识(UE_ID标识)等计算NAF相关密钥所需参数。
BSF从检查本地是否已经具备对应于该用户标识的B-TID和Ks。若还没有相应的Ks,则需要从HSS获取用户对应的鉴权向量AV(RAND||AUTN||XRES||CK||IK,其中AUTN:=SQNAK||AMF||MAC),计算得到Ks,再根据Ks计算NAF相关密钥。
每次BSF得到NAF的push业务密钥请求以后,如果允许NAF向UE进行push业务,则BSF给其分配一个业务许可令牌参数SYSnetw。该参数是网络用于向用户证明push消息来自合法网络的。其得到方式可以有多种:
第一种,网络侧(如BSF)和UE各自维护一个可变值,即:网络侧可变参数SYSBSF和用户侧可变参数SYSUE,该值可以是计数器或者序列号或者相同的随机数发生器产生的相同的随机值(要求该伪随机数发生器只要输入的初始状态,输出的序列号是一致的)。每次成功的进行一次认证后,SYSUE将自身的值调整到SYSBSF。
每次BSF得到NAF的push业务密钥请求以后,则BSF将与用户对应的SYSBSF值改变一次。所述的可变值可以在每次NAF与UE认证一次改变一次值,也可以是每次UE与BSF认证一次改变一次。如果是计数器,或者序列号,那么每改变一次,只要将其值增一即可。如果是随机数发生器产生的随机值,那么每改变一次,就将该值变到下一个状态。
用Ks对RAND加密,得到一个密钥BK,然后利用BK与SYSBSF进行一定的加密运算或者直接采用异或运算,如:SYSnetw=BKSYSBSF。或者直接利用Ks与SYSBSF进行一定的加密运算或者直接采用异或运算。
当UE从NAF收到push消息后,首先检查本地是否已经具备该B-TID对应的Ks,如果没有Ks,则利用RAND参数进行f3,f4计算得到CK和IK以及Ks,利用Ks与Rand值得到BK。然后将BK与SYSnetw的值进行逆运算得到SYSBSF。直接利用Ks得到SYSBSF。之后判断SYSBSF的值是否属于允许范围。如果是,同时UE将SYSUE的值调整到与SYSBSF一致(可选的,UE可能会发起Ub认证流程,并在请求中携带RAND值,用以表明需要哪个认证向量)。否则拒绝请求。
第二种,利用用户私有身份标识与SYSBSF进行一定的加密运算或者直接采用异或运算,如:SYSnetw=IMPISYSBSF。这种方法假设攻击者不能知道用户私有身份标识。
用户在收到NAF的push消息后,自己根据IMPI和SYSnetw得到SYSBSF。然后判断SYSBSF的值是否属于允许范围。如果是,同时UE将SYSUE的值调整到与SYSBSF一致(可选的,UE可能会发起Ub认证流程,并在请求中携带RAND值,用以表明需要哪个认证向量)。否则拒绝请求。
第三种,SYSnetw是BSF产生的另外一个随机数,或者其它可变的值。这种方式其实就是当NAF向BSF请求密钥时,BSF给其分配一个业务许可令牌。需要UE在收到NAF的push消息后,将该值拿到BSF进行确认。
BSF将一个向UE证明该条消息是来自于合法网络的参数值SYSnetw与NAF相关密钥连同B-TID一起发给NAF。如果B-TID已经包含RAND值,就不必再发送RAND值。NAF在NAF向UE发送的业务请求里将该SYSnetw值与B-TID一起发送到UE。可选的请求消息用NAF相关密钥进行完整性保护。
用户收到来自NAF的消息以后,首先根据业务许可令牌判断该消息的合法性。若合法则接受请求,进行后面流程。否则拒绝请求。
实施例1:
如图5所示,当NAF想要主动与UE建立业务通信时其步骤包括:
步骤1、NAF向BSF请求NAF相关密钥,并在请求消息携带用户身份标识(同样以UE_ID标识)等计算NAF相关密钥所需参数。
步骤2、BSF收到请求以后,首先判断是否具备可用的对应与该用户的Ks以及相应的临时标识B-TID。如果还没有,则从HSS获得相应的鉴权向量,并且利用相应参数得到ks和B-TID,并将其与用户标识关联存储。进一步利用Ks计算NAF相关密钥。如果UE_ID不是用户私有身份标识,那么BSF需要知道两者对应关系。
为了能够重复使用同一个Ks,需要BSF对应每一个用户保存一个可变值SYSBSF,同时用户侧也保存一个相对应的可变值SYSUE。每次从NAF得到与该用户相关的密钥请求时,将SYSBSF加一;或者只是在收到NAF push业务密钥请求时,才将SYSBSF加一。并在为了避免传输过程中该值泄漏,将该值SYSBSF进行一定的保护后,再与NAF相关密钥一起发给NAF。
保护SYSBSF的方法可以是:将利用Ks对鉴权向量中的RAND值进行一次加密运算后得到一个新的密钥BK。再利用BK与SYSBSF进行一种可逆的加密运算或者仅仅进行异或运算得到一个新值SYSnetw,由于该值只由BSF可以计算得到,因此可以作为证明消息来源的业务许可令牌。如SYSnetw=BKSYSBSF=H(Ks,RAND)SYSBSF。或直接采用Ks加密SYSBSF。
还有一种方法就是利用用户私有身份标识与SYSBSF进行一定的加密运算或者直接采用异或运算,如:SYSnetw=IMPISYSBSF。这种方法假设攻击者不能知道用户私有身份标识。
步骤3、BSF将NAF相关密钥与SYSnetw以及B-TID一起发给NAF。如果B-TID不包含RAND,还需要将RAND一起发送。
步骤4、NAF保存B-TID以及NAF相关密钥,并将SYSnetw和B-TID放在业务请求里一起发给UE。NAF还可能会利用NAF相关密钥为该条消息进行完整性保护。
步骤5、用户收到来自NAF的消息以后,根据以下办法检查SYSnetw是否合法:
首先检查本地是否已经具备该B-TID对应的Ks,如果已经有,则直接根据Ks与RAND值得到BK,如果不想每次都重新计算BK,可以将已经计算得到的BK与B-TID一起保存;如果没有Ks,则利用RAND参数进行f3,f4计算得到CK和IK以及Ks,利用Ks与RAND值得到BK。然后将BK(或Ks)与SYSnetw的值进行逆运算得到SYSBSF。之后判断SYSBSF的值是否属于允许范围:如果是,同时UE将SYSUE的值调整到与SYSBSF一致。否则拒绝请求。
或者拿IMPI与与SYSnetw的值进行逆运算得到SYSBSF。之后判断SYSBSF的值是否属于允许范围:如果是,同时UE将SYSUE的值调整到与SYSBSF一致。否则拒绝请求。
判断SYSBSF的范围的办法之一可以是先将SYSUE加一,然后判断SYSBSF-SYSUE是否在允许范围,即:|SYSBSF-SYSUE|是否大于允许值。当然如果BSF侧的可变值SYSBSF只在收到PUSH业务请求时才加一,那么时UE侧的可变值SYSUE也是只在收到PUSH业务请求时才加一。设定一个允许范围,是以防前面有些请求消息没有到达UE,或者因为UE误判,没有及时将自身状态调到BSF相同的情况。
另一种办法就是如果是随机数发生器生成的随机值,那么就是先将UE自身的随机数移到下一个状态,看是否与SYSBSF相等。如果还不相等,就再移一个状态,再比较。如果移动次数达到允许范围后还是不相等,那么就拒绝请求。否则认为是合法的,并回到之前的状态。
步骤6、进一步,如果不能仅仅根据NAF发来的SYSnetw相信网络,UE可能会发起Ub认证流程。
因为通常情况下只有真正的UE和BSF里的可变值只有UE和BSF才可能会知道。因此攻击者很难猜到SYSBSF的值。另外只有知道Ks的网络才可能根据Ks计算BK,从而得到SYSnetw。一个攻击者如果要假冒网络,他首先需要知道SYSBSF,然后需要知道Ks,一个RAND的才可能得到最后的SYSnetw值。这样的攻击对攻击者来说是很困难的。因此这一步是可选的。
如果执行这一步,需要一个先决条件,即当一个Ks还有效时,BSF需要保存与其相对应的鉴权向量,知道Ks无效才删除对应的鉴权向量。如果BSF不能仅仅根据用户的身份标识,就能知道这次选用哪个鉴权向量进行认证的的话,还需UE在Ub接口的boostrapping请求需要携带RAND值,用以表明需要哪个认证向量。然后双方再按照已有流程进行双向认证过程。如果认证失败,UE需要结束Ua的通信。
步骤7、双方此后采用NAF相关密钥进行安全通信。如果之前的NAFpush业务请求消息有完整性保护,UE需要采用NAF相关密钥进行验证。
实施例2
如图5所示,当NAF想要主动与UE建立业务通信时其步骤包括:
步骤1′、NAF向BSF请求NAF相关密钥,并在请求消息携带用户身份标识(同样以UE_ID标识)等计算NAF相关密钥所需参数。
步骤2′、BSF收到请求以后,判断该NAF有权向UE发送push请求后,生成一个随机数令牌参数或者其它方式生成的一个可变参数SYSnetw。
如果UE_ID不是用户私有身份标识,那么BSF需要知道两者对应关系。
进一步可能包括,首先判断是否具备可用的对应与该用户的Ks以及相应的临时标识B-TID。如果由,说明UE和BSF已经协商好一个可用的Ks。如果还没有,则从HSS获得相应地鉴权向量,并且利用相应参数得到ks和B-TID,并将其与用户标识关联存储。进一步利用Ks计算NAF相关密钥。
SYSnetw的值要求BSF自己能够验证其合法性,并且要防止假冒和重放。其生成方式是多样的:
比如,BSF对每个Ks保存一个计数值,每次进行相应计算计数器的值都要改变,然后将随机数鉴权向量里RAND与其相加之后生成另一个随机数。之后用Ks对其加密,或者BSF自己的一个专用密钥加密得到SYSnetw。进一步加密参数可能还包括NAF_Id。需要BSF将该值与NAF Id。当BSF验证其值时,采用相应密钥的密钥解密回来。得到计数值,根据技术值的范围来进行判断。
还有一种方法就是,BSF对每个NAF请求都生成一个随机数,作为SYSnetw。然后将该随机数与NAF-ID关联保存。当UE从NAF的push请求中得到SYSnetw时,将其与NAF_ID一起发给BSF让其判断SYSnetw的正确性。
步骤3′、BSF将SYSnetw发给NAF。
进一步该消息还可能包括B-TID和NAF相关密钥。
步骤4′、NAF将SYSnetw和NAF自身的身份标识放在业务请求里一起发给UE。
进一步,消息可能包含B-TID以及其它数据,NAF还可能会利用NAF相关密钥为该条消息进行完整性保护。
进一步,如果步骤3′有B-TID和NAF相关密钥返回,则NAF保存B-TID以及NAF相关密钥。
步骤5′、用户收到来自NAF的消息以后,不做任何处理。仅是向BSF发送鉴权请求,并将令牌参数SYSnetw放在请求消息里。
如果步骤4′请求消息有B-TID,那么鉴权请求可能还包括B-TID,或者RAND用于指示采用哪组鉴权向量与UE鉴权。
步骤6′、BSF判断令牌参数SYSnetw的合法性。并将判断结果告知UE。
进一步还可能包括,BSF将返回鉴权参数,与UE进行AKA鉴权与密钥协商(与现有流程相同)。
步骤7′、UE继续Ua口上的流程。
进一步包括,如果步骤3′中,BSF已经将NAF密钥以及B-TID告知NAF。那么UE只需要根据Ks衍生出NAF相关密钥。然后利用该密钥与NAF通信。如果步骤3′中,BSF已经没有将NAF密钥以及B-TID告知NAF。那么UE需要将B-TID,提供给NAF。然后NAF再通过Zn接口从BSF获得。具体过程与现有GAA规范一致。
实施例3
如果在现有pure push方案中,假设同一条消息能够携带那么多的参数的话,那么可以采用Pure push的方案与以上2个方案相结合的方式。
如图6所示,当NAF想要主动与UE建立业务通信时其步骤包括:
步骤1″、NAF向BSF请求NAF相关密钥,并在请求消息携带用户身份标识(同样以UE_ID标识)等计算NAF相关密钥所需参数。
步骤2″、BSF从检查本地是否已经具备可用的对应于该用户标识的B-TID和Ks。若还没有相应的Ks,则需要从HSS获取用户对应的鉴权向量AV(RAND||AUTN||XRES||CK||IK,其中AUTN:=SQNAK||AMF||MAC),计算得到Ks,再根据Ks计算NAF相关密钥。如果UE_ID不是用户私有身份标识,那么BSF需要知道两者对应关系。
步骤3″、BSF将一个向UE证明该条消息是来自于合法网络的业务许可令牌参数值SYSnetw与NAF相关密钥连同B-TID和AUTN一起发给NAF。如果B-TID已经包含RAND值,就不必再发送RAND值。
令牌参数值SYSnetw的方式可能是实施例1和实施例2中所述所有方式。
步骤4″、NAF在NAF向UE发送的业务请求里将该SYSnetw值与B-TID和AUTN以及其它参数一起发送到UE。可选的请求消息用NAF相关密钥进行完整性保护。
步骤5″、UE收到来自NAF的消息以后,首先按照前面所述方法检查SYSnetw的有效性。如果有效,再利用AUTN的值进行AKA计算得到Ks。而后计算NAF相关密钥。
步骤6″、接下UE计算NAF相关密钥,并采用该密钥与NAF进行安全通信。如果步骤4″中,NAF对消息进行了完整性保护,那么也将利用该密钥验证消息的完整性。
实施例4
如图7所示,为一种网络应用PUSH业务中建立安全连接的系统,其中包括:用户设备(UE)、执行用户身份初始检查验证的实体(BSF)、用户归属网络服务器(HSS)、定位HSS的位置的实体(SLF)和网络业务应用实体(NAF)。其中,SLF通过Dz接口与BSF相连接,HSS通过Zh接口与BSF相连接,NAF通过Zn接口与BSF相连接,UE通过Ub接口与BSF相连接并且通过Ua接口与NAF相连接。
网络侧的BSF包括:用于生成业务许可令牌的装置,用于生成和维护网络侧可变参数装置;
用户设备包括:生成业务许可令牌验证装置,用户侧可变参数装置,用于生成和维护用户侧可变参数;
其中:
所述的网络侧向所述的用户设备发送包含有网络侧可变参数的PUSH业务请求信息;所述的用户设备收到所述的PUSH业务请求信息后,判断其中的业务许可令牌是否合法,如果是采用可变参数生成业务许可令牌,所述的用户侧可变参数装置将用户侧可变参数调整到与所述的网络侧可变参数相一致。所述的网络侧可变参数在每次网络侧与用户认证后,所述的网络侧可变参数装置使所述网络侧可变参数的值发生改变。
所述网络侧可变参数装置包括:计数器或者随机数发生器;用户侧可变参数装置包括:计数器或者随机数发生器。
所述的网络侧向用户发送包含有网络侧可变参数的PUSH业务请求信息包括:网络应用功能实体(NAF)向执行用户身份初始检查验证的实体(BSF)发送网络应用功能相关密钥请求信息,该请求信息中携带包含用户身份标识在内的计算所述网络应用功能相关密钥所需的参数;
执行用户身份初始检查验证的实体(BSF)收到所述的网络应用功能相关密钥请求信息后,利用与所述用户对应的用户共享密钥(Ks)计算网络应用功能相关密钥,并利用所述的网络侧可变参数生成业务许可令牌参数,然后向所述的网络应用功能实体(NAF)返回包含网络应用功能相关密钥和业务许可令牌参数在内的响应信息;
所述的网络应用功能实体(NAF)向用户发送包含有业务许可令牌参数在内的PUSH业务请求信息。
利用所述的用户共享密钥(Ks)对随机数(RAND)加密,得到一个密钥BK,然后利用BK与所述的网络侧可变参数进行加密运算或者直接采用异或运算生成所述的业务许可令牌参数。
所述的用户设备从所述的网络应用功能实体(NAF)收到PUSH业务请求信息,根据所述的业务许可令牌参数判断该PUSH业务请求信息的合法性;若合法则所述的用户接受该PUSH业务请求并进行后面流程;否则拒绝该PUSH业务请求。
该方案具备以后方案中第一种方案Pure push的优点,但又客服了其携带的参数过多的缺点。另外利用SYSBSF使得每次业务请求消息里携带了一个可变的值,防止了非法用户进行重放攻击。本方案中一个Ks可以被多个NAF使用,因此保留了GAA的最大优点:从HSS取的一组鉴权向量可以多次使用。
以上具体实施方式仅用于说明本发明,而非用于限定本发明。
Claims (18)
1.一种网络应用PUSH业务中建立安全连接的方法,其特征是,在通用鉴权过程中:
网络侧向用户发送包含有网络侧业务许可令牌的PUSH业务请求信息;
用户收到所述的PUSH业务请求信息后,判断其中的网络侧业务许可令牌是否为合法标志,如果是,则认为该请求为合法消息。
2.根据权利要求1所述的方法,其特征是,所述的网络侧业务许可令牌由网络侧对每个用户保存的网络侧可变参数衍生得到。
3.根据权利要求2所述的方法,其特征是,所述的网络侧可变参数在每次网络侧与用户认证后,所述网络侧可变参数的值发生改变。
4.根据权利要求3所述的方法,其特征是,所述网络侧可变参数的值发生改变包括:计数器的增减、序列号的增减或者随机数发生器的随机值的改变。
5.根据权利要求2所述的方法,其特征是,所述的网络侧向用户发送包含有网络侧可变参数的PUSH业务请求信息包括:
网络应用功能实体向执行用户身份初始检查验证的实体发送网络应用功能相关密钥请求信息,该请求信息中携带包含用户身份标识在内的计算所述网络应用功能相关密钥所需的参数;
执行用户身份初始检查验证的实体收到所述的网络应用功能相关密钥请求信息后,利用与所述用户对应的用户共享密钥计算网络应用功能相关密钥,并利用所述的网络侧可变参数生成业务许可令牌参数,然后向所述的网络应用功能实体返回包含网络应用功能相关密钥和业务许可令牌参数在内的响应信息;
所述的网络应用功能实体向用户发送包含有业务许可令牌参数在内的PUSH业务请求信息。
6.根据权利要求5所述的方法,其特征是,所述的利用所述的网络侧可变参数生成业务许可令牌参数包括:
利用所述的用户共享密钥Ks对随机数加密,得到一个密钥BK,然后利用BK与所述的网络侧可变参数进行加密运算或者直接采用异或运算生成所述的业务许可令牌参数。
7.根据权利要求6所述的方法,其特征是,当所述的用户从所述的网络应用功能实体收到PUSH业务请求信息后,利用所述的用户共享密钥与随机数得到密钥BK;然后将密钥BK与所述的业务许可令牌参数进行逆运算得到所述的网络侧可变参数。
8.根据权利要求5所述的方法,其特征是,所述的利用所述的网络侧可变参数生成业务许可令牌参数包括:
利用用户私有身份标识与所述的网络侧可变参数进行加密运算或者直接采用异或运算生成所述的业务许可令牌参数。
9.根据权利要求8所述的方法,其特征是,当所述的用户从所述的网络应用功能实体收到PUSH业务请求信息后,根据用户私有身份标识和所述的业务许可令牌参数得到所述的网络侧可变参数。
10.根据权利要求5所述的方法,其特征是,所述的利用所述的网络侧可变参数生成业务许可令牌参数包括:
所述的业务许可令牌参数是所述执行用户身份初始检查验证的实体产生的一个随机数,或者其它可变的值。
11.根据权利要求10所述的方法,其特征是,当所述的用户从所述的网络应用功能实体收到PUSH业务请求信息后,所述的用户将所述的业务许可令牌参数传送到所述的执行用户身份初始检查验证的实体进行确认。
12.根据权利要求7或9或11所述的方法,其特征是,当所述的用户从所述的网络应用功能实体收到PUSH业务请求信息后,根据所述的业务许可令牌参数判断该PUSH业务请求信息的合法性;若合法则所述的用户接受该PUSH业务请求并进行后面流程;否则拒绝该PUSH业务请求。
13.一种网络应用PUSH业务中建立安全连接的系统,其特征是,在通用鉴权架构中,
网络侧包括:
网络侧可变参数装置,用于生成和维护网络侧可变参数;
网络侧业务许可令牌生成装置,用于利用所述的网络侧可变参数生成网络侧业务许可令牌;
用户设备包括:
用户侧可变参数装置,用于生成和维护用户侧可变参数;
业务许可令牌验证装置,用于判断收到的网络侧业务许可令牌是否为合法标志;
其中:
所述的网络侧向所述的用户设备发送包含有网络侧业务许可令牌生成装置生成的业务许可令牌的PUSH业务请求信息;所述的用户设备收到所述的PUSH业务请求信息后,根据其中的业务许可令牌获得网络侧可变参数,并由所述的业务许可令牌验证装置判断是否为允许范围,如果是,所述的用户侧可变参数装置将用户侧可变参数调整到与所述的网络侧可变参数相一致。
14.根据权利要求13所述的系统,其特征是,所述的网络侧可变参数在每次网络侧与用户认证后,所述的网络侧可变参数装置使所述网络侧可变参数的值发生改变。
15.根据权利要求14所述的系统,其特征是,所述网络侧可变参数装置包括:计数器或者随机数发生器;用户侧可变参数装置包括:计数器或者随机数发生器。
16.根据权利要求13所述的系统,其特征是,所述的网络侧包括:网络应用功能实体和执行用户身份初始检查验证的实体;
所述的网络侧向用户发送包含有网络侧可变参数的PUSH业务请求信息包括:网络应用功能实体向执行用户身份初始检查验证的实体发送网络应用功能相关密钥请求信息,该请求信息中携带包含用户身份标识在内的计算所述网络应用功能相关密钥所需的参数;
执行用户身份初始检查验证的实体收到所述的网络应用功能相关密钥请求信息后,利用与所述用户对应的用户共享密钥计算网络应用功能相关密钥,并利用所述的网络侧可变参数生成业务许可令牌参数,然后向所述的网络应用功能实体返回包含网络应用功能相关密钥和业务许可令牌参数在内的响应信息;
所述的网络应用功能实体向用户发送包含有业务许可令牌参数在内的PUSH业务请求信息。
17.根据权利要求16所述的系统,其特征是,所述的利用所述的网络侧可变参数生成业务许可令牌参数包括:
利用所述的用户共享密钥对随机树加密,得到一个密钥BK,然后利用BK与所述的网络侧可变参数进行加密运算或者直接采用异或运算生成所述的业务许可令牌参数。
18.根据权利要求16或17所述的系统,其特征是,所述的用户设备从所述的网络应用功能实体收到PUSH业务请求信息,根据所述的业务许可令牌参数判断该PUSH业务请求信息的合法性;若合法则所述的用户接受该PUSH业务请求并进行后面流程;否则拒绝该PUSH业务请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610073441 CN101047505A (zh) | 2006-03-27 | 2006-03-27 | 一种网络应用push业务中建立安全连接的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610073441 CN101047505A (zh) | 2006-03-27 | 2006-03-27 | 一种网络应用push业务中建立安全连接的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101047505A true CN101047505A (zh) | 2007-10-03 |
Family
ID=38771763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610073441 Pending CN101047505A (zh) | 2006-03-27 | 2006-03-27 | 一种网络应用push业务中建立安全连接的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101047505A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101583130A (zh) * | 2009-06-18 | 2009-11-18 | 中兴通讯股份有限公司 | 空口密钥的生成方法与装置 |
CN101895861A (zh) * | 2009-05-22 | 2010-11-24 | 中兴通讯股份有限公司 | 一种实现通用鉴权架构的方法及系统 |
CN102299797A (zh) * | 2010-06-23 | 2011-12-28 | 财团法人工业技术研究院 | 认证方法、密钥分配方法及认证与密钥分配方法 |
CN102355375A (zh) * | 2011-06-28 | 2012-02-15 | 电子科技大学 | 具有隐私保护功能的分布式异常流量检测方法与系统 |
CN103188229A (zh) * | 2011-12-30 | 2013-07-03 | 上海贝尔股份有限公司 | 用于安全内容访问的方法和设备 |
CN103560879A (zh) * | 2013-10-09 | 2014-02-05 | 中国科学院信息工程研究所 | 一种轻量级认证与密钥协商的实现方法 |
WO2019024937A1 (zh) * | 2017-08-04 | 2019-02-07 | 中兴通讯股份有限公司 | 密钥协商方法、装置及系统 |
WO2020029859A1 (zh) * | 2018-08-09 | 2020-02-13 | 阿里巴巴集团控股有限公司 | 一种终端与服务器的通信方法和装置 |
CN110999270A (zh) * | 2017-08-03 | 2020-04-10 | IPCom两合公司 | 适用于发送服务验证消息的用户设备 |
-
2006
- 2006-03-27 CN CN 200610073441 patent/CN101047505A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101895861A (zh) * | 2009-05-22 | 2010-11-24 | 中兴通讯股份有限公司 | 一种实现通用鉴权架构的方法及系统 |
CN101895861B (zh) * | 2009-05-22 | 2014-11-05 | 中兴通讯股份有限公司 | 一种实现通用鉴权架构的方法及系统 |
CN101583130A (zh) * | 2009-06-18 | 2009-11-18 | 中兴通讯股份有限公司 | 空口密钥的生成方法与装置 |
CN101583130B (zh) * | 2009-06-18 | 2015-09-16 | 中兴通讯股份有限公司 | 空口密钥的生成方法与装置 |
CN102299797A (zh) * | 2010-06-23 | 2011-12-28 | 财团法人工业技术研究院 | 认证方法、密钥分配方法及认证与密钥分配方法 |
CN102355375B (zh) * | 2011-06-28 | 2014-04-23 | 电子科技大学 | 具有隐私保护功能的分布式异常流量检测方法与系统 |
CN102355375A (zh) * | 2011-06-28 | 2012-02-15 | 电子科技大学 | 具有隐私保护功能的分布式异常流量检测方法与系统 |
CN103188229A (zh) * | 2011-12-30 | 2013-07-03 | 上海贝尔股份有限公司 | 用于安全内容访问的方法和设备 |
CN103560879A (zh) * | 2013-10-09 | 2014-02-05 | 中国科学院信息工程研究所 | 一种轻量级认证与密钥协商的实现方法 |
CN103560879B (zh) * | 2013-10-09 | 2016-12-07 | 中国科学院信息工程研究所 | 一种轻量级认证与密钥协商的实现方法 |
CN110999270A (zh) * | 2017-08-03 | 2020-04-10 | IPCom两合公司 | 适用于发送服务验证消息的用户设备 |
CN110999270B (zh) * | 2017-08-03 | 2022-07-08 | IPCom两合公司 | 适用于发送服务验证消息的用户设备 |
WO2019024937A1 (zh) * | 2017-08-04 | 2019-02-07 | 中兴通讯股份有限公司 | 密钥协商方法、装置及系统 |
WO2020029859A1 (zh) * | 2018-08-09 | 2020-02-13 | 阿里巴巴集团控股有限公司 | 一种终端与服务器的通信方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1315268C (zh) | 一种验证用户合法性的方法 | |
CN101047505A (zh) | 一种网络应用push业务中建立安全连接的方法及系统 | |
CN1298194C (zh) | 基于漫游密钥交换认证协议的无线局域网安全接入方法 | |
JP4960446B2 (ja) | 初期の信号メッセージにおいて初期のユーザ識別情報のセキュリティを保護する方法および装置 | |
CN1929371A (zh) | 用户和外围设备协商共享密钥的方法 | |
CN1767429A (zh) | 移动通信用户认证与密钥协商方法 | |
CN1914848A (zh) | 用于网络元件的密钥管理 | |
CN1659922A (zh) | 用于询问-应答用户鉴权的方法和系统 | |
CN101052033A (zh) | 基于ttp的认证与密钥协商方法及其装置 | |
CN1665183A (zh) | Wapi认证机制中的密钥协商方法 | |
CN1870808A (zh) | 一种密钥更新方法 | |
CN1897523A (zh) | 一种实现单点登录的系统及方法 | |
CN1345498A (zh) | 一种鉴权方法 | |
CN1700699A (zh) | 提供用于对数据数字签名、认证或加密的签名密钥的方法和移动终端 | |
CN1794128A (zh) | 一种移动终端加入域和获取权限对象的方法和系统 | |
CN1941695A (zh) | 初始接入网络过程的密钥生成和分发的方法及系统 | |
CN1819698A (zh) | 一种目标基站获取鉴权密钥上下文信息的方法 | |
CN1977559A (zh) | 保护在用户之间进行通信期间交换的信息的方法和系统 | |
CN101043328A (zh) | 通用引导框架中密钥更新方法 | |
CN101064599A (zh) | 对光网络单元认证的方法和系统、密钥协商的方法和系统及光线路终端和光网络单元 | |
CN101052032A (zh) | 一种业务实体认证方法及装置 | |
CN101039181A (zh) | 防止通用鉴权框架中服务功能实体受攻击的方法 | |
CN1708018A (zh) | 一种无线局域网移动终端接入的方法 | |
CN1841998A (zh) | 一种终端用户安全接入软交换网络的方法 | |
CN1728636A (zh) | 一种客户端认证的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |