CN101426190A - 一种服务访问认证方法和系统 - Google Patents
一种服务访问认证方法和系统 Download PDFInfo
- Publication number
- CN101426190A CN101426190A CNA2007101666560A CN200710166656A CN101426190A CN 101426190 A CN101426190 A CN 101426190A CN A2007101666560 A CNA2007101666560 A CN A2007101666560A CN 200710166656 A CN200710166656 A CN 200710166656A CN 101426190 A CN101426190 A CN 101426190A
- Authority
- CN
- China
- Prior art keywords
- key
- server
- service authentication
- service
- preparation
- 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
Abstract
本发明实施例公开了一种服务认证密钥产生方法,包括:用户设备和密钥生成器利用信任关系生成并保存在预设的生命周期内有效的服务认证密钥层次中的预备密钥;在所述生命周期内,用户设备访问服务器时,用户设备和密钥生成器根据当前生命周期内有效的服务认证密钥层次中的预备密钥,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。本发明实施例还公开了一种服务认证密钥产生系统、用户设备和密钥生成器。利用本发明实施例公开的方法、系统和设备,能够简化服务认证密钥的产生方式,减少服务器访问的延迟,避免每次访问认证均需执行两次认证的情况。
Description
技术领域
本发明涉及认证技术,特别涉及一种服务访问认证方法和系统。
背景技术
随着电信和网络的发展,现在的很多用户,在Internet网络上使用了越来越多的服务,蜂窝运营商也在提供一些新的服务,如,在基于IMS的核心网开发中开发了许多诸如状态呈现服务(presence)、即时消息(InstantMesssage)等新的业务。对于上述这些服务,一方面用户需要通过服务提供者的认证后才能使用相应服务,另一方面,服务提供者需要知道哪个用户在使用服务,从而对该用户实现计费。
基于上述两方面的需求,传统的服务认证方法为:当用户需要访问某种服务时,用户需要持有它将使用服务的信任状,例如,手工输入的用户名和密码,封装在智能卡中的用户名和密码等;服务提供者利用用户提供的信任状,对该用户进行服务认证,并确定用户身份。这种服务认证方法存在的问题:一是如果使用的服务多,用户需要持有不同服务的信任状,管理这些信任状不方便,二是这些信任状(credentials)的提供,对用户、运营商和其他服务提供者来说是非常昂贵的,同时,也会花费用户的一些时间。
目前蜂窝移动通讯网络正在为全球超过10亿的用户提供服务。蜂窝移动通讯网络的主要优势之一在于其广泛的覆盖,在3GPP中,利用用户和归属网络(包括蜂窝网络)的信任关系,提出了一种对服务访问进行认证的框架,称为GAA(Generation Partnership Project),该框架确保运营商可以把3G的认证框架扩展到新的服务中。
GAA通常包括两个过程:通用引导模型(Generic BootstrappingArchitecture,GBA)引导过程和服务认证过程。其中,图1为GBA的示意图,它由四个实体构成:用户设备(User Equipment,UE),网络应用功能(Network Authentication Function,NAF),引导服务功能(Bootstrapping ServerFunction,BSF),归属用户服务器(Home Subscriber Server,HSS),BSF是蜂窝无线网络中的一个新的功能实体。
在GBA引导过程中,UE向NAF发送服务请求,NAF根据UE发送的请求,向BSF请求获取服务认证密钥;BSF接收NAF发送的服务认证密钥获取请求后,利用自身与UE间的协议协商服务认证密钥。具体的协商过程包括:
首先,在UE和BSF间执行认证和密钥协商(AKA)过程。具体地,AKA即BSF与UE根据HSS下发给BSF的认证五元向量组进行UE和网络之间的鉴权认证,并在通过鉴权认证后在UE和BSF中生成完整性密钥IK和加密密钥CK。
然后,UE和BSF根据AKA过程生成的IK和CK,以及第三方服务器的地址,即根据特定的NAF,生成针对于该NAF的服务认证密钥。
最后,BSF将与UE协商好的服务认证密钥下发给NAF。
在上述引导过程中,BSF用于生成服务认证密钥,因此BSF为一种密钥生成器。在本文中,将网络侧用于生成服务认证密钥的设备称为密钥生成器。同时,UE和BSF之间使用的引导协议可以是HTTP Digest AKA。在引导的过程中BSF使用Diameter协议从HSS获得认证五元向量组。NAF使用Diameter协议从BSF上获得服务认证密钥。该服务认证密钥将应用在UE和BSF之间使用的应用协议上,而UE和NAF之间可以运行多种协议例如基于预共享密钥的TLS协议或者HTTP摘要协议等。其中的AKA过程可以利用现有的扩展认证协议(EAP)进行。
通过GBA引导过程,UE和NAF均获得了服务认证密钥,然后GAA在接下来的服务认证过程中,使用这些服务认证密钥来认证用户或在用户和一些应用服务器之间建立一条安全隧道,该服务认证过程在UE和NAF间进行。
在GAA框架中,当用户请求任何一项服务时,均需要通过上述GBA引导过程生成服务认证密钥,并通过服务认证过程进行服务认证。而在利用GBA引导过程生成服务认证密钥时,为产生服务认证密钥,均需要进行UE和网络间的鉴权认证。因此,该服务认证密钥生成过程大大增加了服务器访问的延迟,并且导致每次进行服务认证均需要执行两次认证,一次是在引导过程中生成服务认证密钥前,AKA过程所包括的UE和网络间的鉴权认证,另一次是在UE和NAF获取服务认证密钥后,在UE和NAF间的服务认证。
发明内容
有鉴于此,本发明实施例提供一种服务认证密钥产生方法、系统和设备,能够大大减少服务器访问的延迟,避免每次访问认证均需执行两次认证的情况。
为实现上述目的,采用如下的技术方案:
一种服务认证密钥产生方法,包括:
用户设备和密钥生成器利用信任关系生成在预设的生命周期内有效的服务认证密钥层次中的预备密钥,并进行保存;
用户设备访问服务器时,用户设备和密钥生成器根据当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
一种服务认证密钥产生系统,包括用户设备和密钥生成器,
所述用户设备,用于利用信任关系每隔预设的生命周期生成在所述生命周期内有效的服务认证密钥层次中的预备密钥,并进行保存,在访问服务器时,根据当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成所述用户设备和服务器共享的服务认证密钥层次中的服务认证密钥;
密钥生成器,用于每隔预设的生命周期生成在所述生命周期内有效的服务认证密钥层次中的预备密钥,并进行保存,在确定所述用户设备访问服务器时,根据当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
一种服务认证密钥产生系统中的用户设备,包括第一预备密钥生成单元、第一存储单元、第一服务认证密钥生成单元和第一服务器接口单元;
所述第一预备密钥生成单元,用于利用信任关系每隔预设的生命周期生成在所述生命周期内有效的服务认证密钥层次中的预备密钥,并保存到所述第一存储单元中;
所述第一存储单元,用于保存当前生命周期内有效的预备密钥,提供给所述第一服务认证密钥生成单元;
所述第一服务认证密钥生成单元,用于根据所述第一存储单元保存的当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥,并通知所述第一服务器接口单元发送服务请求;
所述第一服务器接口单元,用于根据所述第一服务认证密钥生成单元的通知,向系统中的服务器发送服务请求。
一种服务认证密钥产生系统中的密钥生成器,包括第二预备密钥生成单元、第二存储单元、第二服务认证密钥生成单元和第二服务器接口单元,
所述第二预备密钥生成单元,用于利用信任关系每隔预设的生命周期生成在所述生命周期内有效的服务认证密钥层次中的预备密钥,并保存到所述第二存储单元中;
所述第二存储单元,用于保存当前生命周期内有效的预备密钥,提供给所述第二服务认证密钥生成单元;
所述第二服务器接口单元,用于在接收到服务器发送的服务认证密钥请求后,通知所述第二服务认证密钥生成单元生成服务认证密钥,并在接收到所述第二服务认证密钥生成单元返回的服务认证密钥后,向服务器发送携带服务认证密钥的服务认证密钥响应;
所述第二服务认证密钥生成单元,用于在接收到所述第二服务器接口单元的通知后,根据所述第二存储单元保存的当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥,并将该服务认证密钥返回给所述第二服务器接口单元。
由上述技术方案可见,本发明实施例中,首先,用户设备和密钥生成器利用信任关系生成并保存在预设的生命周期内有效的服务认证密钥层次中的预备密钥。然后,在当前生命周期内,用户设备和密钥生成器在生成服务认证密钥时,利用当前生命周期内有效的预备密钥进行。通过上述方式,在一个生命周期内,只需要通过一次认证过程计算服务认证密钥层次中的预备密钥,在该生命周期内每次用户设备访问服务器时,可以直接根据该生命周期中已经计算好的预备密钥生成服务认证密钥,再利用该服务认证密钥进行服务认证,从而简化服务认证密钥的产生方式,减少服务器访问的延迟,避免每次进行服务认证均需执行两次认证的情况。
附图说明
图1为GBA的示意图。
图2为本发明实施例提供的服务认证密钥产生方法的总体流程图。
图3为本发明实施例提供的服务认证密钥产生系统的总体结构图。
图4为本发明实施例提供的用户设备的总体结构图。
图5为本发明实施例提供的密钥生成器的总体结构图。
图6为本发明实施例中的服务认证密钥层次示意图。
图7为Internet网络模型中网络接入模型的示意图。
图8为本发明实施例一中服务认证密钥产生系统的具体结构图。
图9为本发明实施例一中具有安全保护的网络架构示意图。
图10为本发明实施例一中产生服务认证密钥和利用该密钥进行服务认证的方法具体流程图。
图11为本发明实施例二中服务认证密钥产生系统的具体结构图。
图12为本发明实施例二中用户设备的具体结构图。
图13为本发明实施例二中密钥生成器的具体结构图。
图14为本发明实施例二中产生服务认证密钥层次中预备密钥的方法具体流程图。
图15为本发明实施例二中产生服务认证密钥以及服务访问的流程图。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明实施例作进一步详细说明。
在本发明实施例中,新建一种服务认证密钥层次,该层次中包括预备密钥和服务认证密钥,其中,服务认证密钥是背景技术中描述的服务认证密钥,而预备密钥是用于生成服务认证密钥的。基于这种服务认证密钥层次,将服务认证密钥的生成过程分成两部分进行:预备密钥的生成和服务认证密钥的生成。预备密钥利用引导过程或接入认证过程生成,它一旦生成,便会进行保存,并在一定的期限(生命周期)内有效;当在预备密钥有效的时间内,用户为访问服务器需要生成服务认证密钥时,可以直接获取已经存在的预备密钥,再结合用户设备信息及服务器信息生成服务认证密钥。也就是说,在一个生命周期内,只需要经过一次引导过程或接入认证过程生成预备密钥,而在该生命周期内,若需要进行服务认证,则可以直接生成服务认证密钥,并利用该服务认证密钥直接进行服务认证,不需要再重新进行引导过程或接入认证过程以生成服务认证密钥,再利用一次服务认证过程进行服务认证。
图2为本发明实施例提供的服务认证密钥产生方法的总体流程图。如图2所示,该方法包括:
步骤201,用户设备和密钥生成器利用信任关系生成并保存服务认证密钥层次中的预备密钥,所述预备密钥在预设的生命周期内有效。
其中,信任关系是指用户设备和密钥生成器间存在共享密钥,并能利用该共享密钥进行相互认证的关系,其中二者利用共享密钥进行相互认证可以通过认证过程来实现,也就是说,预备密钥的生成可以利用认证过程来实现。本步骤中,生成服务认证层次中的预备密钥的认证过程既可以是用户设备的接入认证过程,也可以是GAA框架中的GBA引导过程。当然,在上述过程中,预备密钥既可以是一层密钥,也可以是多层,例如,可以首先利用认证过程生成第一层密钥,再利用密钥生成算法生成第二层密钥,将第一层密钥(或称为根密钥)和第二层密钥(或称为中间密钥)构成的两层密钥称为预备密钥。其中,用于生成预备密钥中第一层密钥的认证协议可以采用现有的任何认证协议,例如EAP认证协议等。生成的第一层密钥可以为,EAP认证协议中生成的用于扩展的EMSK(Extended Master Session Key,扩展主会话密钥),或者也可以为其它认证协议所承载的认证过程生成的密钥,或者,还可以利用特定的密钥生成算法生成一种新的密钥作为第一层密钥。
上述服务认证密钥层次的预备密钥是在预设的一定周期内有效的,将该周期称为生命周期,在每个生命周期内,只需要执行一次利用信任关系生成服务认证密钥层次的预备密钥的过程。具体预备密钥的生成,既可以每隔预设的生命周期自动生成,也可以在用户设备访问服务器时,由服务器触发预备密钥的生成流程。
步骤202,用户设备访问服务器时,用户设备和密钥生成器根据当前生命周期内有效的服务认证密钥层次中的预备密钥,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
当用户设备访问服务器(例如:GAA框架中的NAF)时,服务器会向密钥生成器发送认证密钥请求。用户设备和密钥生成器均根据自身保存的当前生命周期内有效的预备密钥,生成共享的服务认证密钥层次中的服务认证密钥,用于在用户设备和服务器间进行服务认证。
另外,若步骤201中生成服务认证密钥层次中的预备密钥采用定时生成,则在任意时刻均存在可供使用的预备密钥,在生成服务认证密钥时可以直接获取当前生命周期内的预备密钥,以根据该密钥生成服务认证密钥;若步骤201中生成服务认证密钥层次中的预备密钥采用服务器触发方式,则用户设备访问服务器时,需要首先判断是否存在当前生命周期内有效的预备密钥,若存在,则直接获取该预备密钥,否则需要先生成当前生命周期内的服务认证密钥层次中的预备密钥,再利用该密钥生成服务认证密钥。在此之后,接下来的当前生命周期内,用户设备访问服务器时,就存在可以直接利用的服务认证密钥层次的预备密钥。
至此,本发明实施例中的服务认证密钥生成方法流程结束。通过上述方法可以看出,本发明实施例中,创建一个用户设备和密钥生成器间共享的服务认证密钥层次,该层次中的预备密钥在预设的生命周期内有效,当用户设备访问服务器时,若存在有效的预备密钥,可以直接利用该已生成的预备密钥生成服务认证密钥,而不需要再通过一次认证过程来生成该服务认证密钥。这样,在进行用户设备与服务器间的服务认证时,可以不需要进行两次认证过程。
本发明实施例还提供了一种服务认证密钥产生系统,可以用于实施上述图2所示的方法流程。图3即为该系统的总体结构图。如图3所示,该系统包括用户设备和密钥生成器。
在该系统中,用户设备,利用信任关系生成并保存服务认证密钥层次中的预备密钥,所述预备密钥在预设的生命周期内有效,在访问服务器时,根据当前生命周期内有效的服务认证密钥层次中的预备密钥以及用户信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
密钥生成器,利用信任关系生成并保存服务认证密钥层次中的预备密钥,所述预备密钥在预设的生命周期内有效,在用户访问服务器时,根据当前生命周期内有效的服务认证密钥层次中的预备密钥以及用户信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
对于上述服务认证密钥产生系统中的用户设备和密钥生成器,本发明实施例也提供了相应的实施方式。图4和图5分别为本发明实施例提供的用户设备和密钥生成器的总体结构图。如图4所示,用户设备包括第一预备密钥生成单元、第一存储单元、第一服务认证密钥生成单元和第一服务器接口单元。第一预备密钥生成单元,用于生成所述预备密钥。第一存储单元,用于保存当前生命周期内有效的预备密钥,提供给第一服务认证密钥生成单元。第一服务认证密钥生成单元,用于根据第一存储单元保存的当前生命周期内有效的服务认证密钥层次中的预备密钥,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。第一服务器接口单元,用于根据第一服务认证密钥生成单元生成的服务认证密钥,向系统中的服务器发送服务请求。
如图5所示,本发明实施例中的密钥生成器包括第二预备密钥生成单元、第二存储单元、第二服务认证密钥生成单元和第二服务器接口单元。第二预备密钥生成单元,用于生成预设的生命周期内有效的服务认证密钥层次中的预备密钥。第二存储单元,用于保存当前生命周期内有效的预备密钥。第二服务器接口单元,用于接收服务器发送的服务认证密钥请求,并根据第二服务认证密钥生成单元生成的服务认证密钥,向服务器发送携带服务认证密钥的服务认证密钥响应。第二服务认证密钥生成单元,用于根据第二服务器接口单元接收到的由服务器发送的服务认证密钥请求,根据第二存储单元保存的当前生命周期内有效的服务认证密钥层次中的预备密钥,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
在用户设备和密钥生成器生成服务认证密钥时,为保证生成的服务认证密钥相同,可以采用相同的密钥生成算法,或者其他方式。
在上述系统和设备中,针对不同的网络模型,对应的用户设备及密钥生成器也可能不同。例如,在互联网(Internet)的网络模型中,用户设备为对端(Peer),密钥生成器为认证、授权、计费及密钥分发中心(AAA-AKC);在无线蜂窝网中,用户设备为UE,密钥生成器为增强服务通用分组无线服务支持节点(eSGSN);在3GPP定义的GAA框架中,用户设备也为UE,密钥生成器为BSF。但是,无论密钥生成器的真正物理实体是哪个设备,该设备作为密钥生成器所完成的功能均为上述系统和设备所述。
下面通过具体实施例,说明在不同的网络模型中,本发明实施例的具体实施方式。在下面的具体实施例中,以三层密钥构成的服务认证密钥层次为例进行说明。具体的,该服务认证密钥层次结构如图6所示,包括三类密钥:
EMSK:是在用户设备和归属网络接入认证的过程或引导过程中,在用户设备和密钥生成器产生的服务认证密钥层次的根密钥,该密钥可以通过EAP协议生成,或通过其他支持扩展密钥的协议生成,如会话初始化协议(SIP)等。在此,该密钥也可以扩展用于其它的应用。
应用密钥(Application Key,AK):该密钥是在用户设备和密钥生成器中根据服务认证密钥层次的根密钥生成的,用于生成用户设备和服务器之间的共享密钥(ServerK)。
ServerK:利用预备密钥生成的在用户设备和服务器之间的服务认证密钥,用于用户设备访问服务器时认证使用。由于ServerK是用户设备与服务器间共享的服务认证密钥,该密钥产生时需要根据用户信息和服务器信息进行,因此对于不同的用户设备和服务器对,根据同一预备密钥能够产生不同的ServerK,用于在相应的用户设备和服务器间进行服务认证。
上述三种密钥中的EMSK和AK构成服务认证密钥层次的预备密钥,也就是说,在图6所示的服务认证密钥层次中,预备密钥包括两层。当然,该预备密钥可以只包括一层,如只包括EMSK,也可以包括三层、四层(例如,根据前两层,利用密钥生成算法继续生成第三层和第四层密钥)等。层数越高,安全性越高,但复杂度也越大,在本发明实施例中采用两层结构构成预备密钥进行说明。
如前所述,预备密钥的产生既可以在接入认证过程中进行也可以在引导过程中进行,下面对这两种方式进行分别描述。
实施例一:
在本实施例中,对在接入认证过程产生预备密钥,从而产生服务认证密钥的实施方式进行详细描述。并且,在本实施例中,以Internet网络的网络模型为例进行说明。
EAP是一个认证框架,提供了端到端的认证机制,支持多种认证方法,例如:扩展认证协议-信息-摘要算法5(EAP-MD5)、扩展认证协议-传输层安全(EAP-TLS)、扩展认证协议-用户识别模块(EAP-SIM)、扩展认证协议-隧道传输层安全(EAP-TTLS)以及扩展认证协议-认证和密钥协商(EAP-AKA)等,并且具有良好的扩展性。EAP可以直接运行于数据链路层之上,如点对点协议(PPP)和电气和电子工程师协会(IEEE)802协议,也可以运行于高层协议之上,如网络访问认证协议(PANA)和直径(Diameter)协议。良好的扩展性是EAP协议的优点之一。在用户和认证服务器之间增加新的认证方法,并不需要对认证者进行升级,从而保护了网络运营商的投资。终端访问控制器访问控制系统(TACACS)和远程用户拨号认证系统(RADIUS)都是一种认证、授权、计费(AAA)协议,为满足互联网的需求,IETF又提出了AAA协议-Diameter协议。使用AAA协议-Diameter协议的一个典型的网络接入模型如图7所示。
在图7所示的典型接入认证模型中,采用本发明实施例中的服务认证密钥层次,从而形成一种服务认证密钥产生系统。该系统是图3所示系统的一种具体实现方式,其具体结构如图8所示,包括:认证、授权、计费及密钥分发中心(AAA-AKC),认证者(Authenticator),Peer和服务器(Server)。
AAA-AKC:是该网络模型中的密钥生成器,用于根据Peer的接入认证过程生成的EMSK进一步生成AK,构成服务认证密钥层次的预备密钥,也就是说,预备密钥的生命周期与接入认证周期相等;并在接收到服务器发送的服务认证密钥请求后,根据当前接入认证周期内预备密钥中的AK生成用户设备访问服务的服务认证密钥,并向通过接入认证过程被授权的服务器分发服务认证密钥。
Peer为用户设备,能够对认证者的询问作出响应的链路端,具有根据认证过程生成服务认证密钥层次的功能,包括生成服务认证密钥层次中的预备密钥和服务认证密钥。
Authenticator:认证者,可以工作在透传模式,也可以工作在认证模式,该实体为可选实体,对用户设备进行接入认证。
Server:服务器,可以位于UE的归属网中,也可以是第三方提供的服务,Server用于定位用户的AAA-AKC,并与该AAA-AKC进行安全通讯,获取服务认证密钥层次中的服务认证密钥,利用该密钥对用户设备的访问进行认证。
当Server位于第三方网络中时,Server与AAA-AKC间交互服务认证密钥的过程需要进行安全保护,包括该安全保护的架构如图9所示。在Server与AAA-AKC间增加一个D代理(D-Proxy),D-Proxy和AAA-AKC之间可以选择TLS进行安全保护,D-proxy的作用具体如下:
1、D-proxy在被访问的server和用户归属的AAA-AKC之间起到代理作用,它定位用户归属的AAA-AKC,并且在安全的链路上和AAA-AKC之间通信。
2、D-proxy验证访问域的server授权情况,即哪些server允许用户访问,然后决定允许从服务认证密钥层次获得服务认证密钥,并且向用户归属的AAA-AKC声称访问域server的域名。
3、D-proxy向用户归属的AAA-AKC声称Server被授权来从服务认证密钥层次获得服务认证密钥Serverk。
在上述系统中,peer的具体实现可以采用图4所示的用户设备的结构,AAA-AKC的具体实现可以采用图5所示的密钥生成器结构。这里就不再赘述。
图10为在上述本实施例提供的系统中产生服务认证密钥和利用该密钥进行服务认证的方法具体流程图。该流程分为两个阶段:接入认证阶段和服务访问认证阶段。具体地,如图10所示,该方法包括:
步骤1001,用户设备通过认证者,在用户设备和AAA-AKC之间利用EAP认证协议进行用户设备的接入认证,并在该EAP认证过程中生成EMSK和EAP session-ID。
具体地,应用EAP协议进行的接入认证可以采用AKA认证或其它任意现有的接入认证方式。在保存该生成的EMSK时,应该把该密钥保存在离它产生的地方近的地方,只为相关的应用提供一个接口,例如为产生AK的应用提供一个接口。另外,还应该选择限制访问EMSK密钥的访问者,以保证该EMSK不被盗用。例如在EAP框架中并不是除EAP server和EAP peer的任何实体都可以访问EMSK。
步骤1002,Peer和AAA-AKC根据EAP认证过程中生成的EMSK生成并保存AK,即生成服务认证密钥中的预备密钥。
在生成AK时,需要遵从密码学分离原则。该原则是指,当有多个密钥从某一个根密钥中产生时,根据所述多个密钥中的任何一个密钥,要推导出所述多个密钥中的其他密钥在计算上是不可行的。根据所述产生的多个密钥,联合产生出根密钥在计算上也是不可行的。产生密钥的函数应该保证利用该函数生成的密钥是密码学分离的,根密钥将产生多个分别用于多个实例的密钥,也就是说,需要保证密码学分离。在本发明实施例中,下面生成AK和ServerK的方法使用伪随机函数来产生密钥,能够保证是密码学分离的,避免根密钥EMSK的泄漏。
具体地,AK的密钥产生函数KDF(key derivation function)如下:
AK=KDF(EMSK,key label,optional data,length)
1)Key label:是可打印的ASCII字符串,对每个usage定义来说是唯一的,最大值是255个字节。一般来说它们的形式为label-string@domain,在此domain是一个组织,它控制Usage定义的说明。Key label它的目的是提供全球唯一性。
2)Optional data:是一个常量,在此为“application key derivation”,即应用密钥出处
3)Length:是一个两字节的无符号整数,为希望输出的密钥的长度。KDF必须能够产生2048个字节的输出,输出密钥的长度可以为64个字节。
密钥产生函数KDF是基于伪随机函数PRF(Pseudo Randon Function)的,即KDF(EMSK,key label,optional data,length)=PRF(EMSK,key label,optional data,length)。其中,PRF可以采用各种现有的伪随机函数实现,例如HMAC-SHA-256。
利用上述方式即可以根据EMSK生成AK,并且Peer和AAA-AKC利用相同的KDF生成相同的AK。然后,将生成的AK保存在各自的第一或第二存储单元中。在上述过程中,由于在接入认证阶段生成EMSK,进而根据EMSK生成AK,因此由该EMSK和AK构成的预备密钥的生命周期也与接入认证的周期相同。也就是说,在每次进行接入认证时,利用接入认证过程生成AK并保存,以为该接入认证周期内用户对服务器的访问准备好预备密钥。
在预备密钥产生并保存后,即进入服务器的访问阶段。在该阶段中,只要在每次接入认证的生命周期内,Peer访问server就可使用该周期内从EMSK生成的AK,利用该AK生成在Peer和server之间共享的服务认证密钥ServerK。该阶段的具体包括如下步骤:
步骤1003,当peer希望获取某服务时,确定提供该服务的服务器信息,并根据自身保存的AK、该peer的设备信息和相应服务器的信息,产生Serverk,即生成服务认证密钥层次的第三层。
本步骤中,peer根据当前生命周期内有效的AK、自身的用户设备信息和提供服务的服务器信息,生成ServerK,并且Serverk的密钥产生也需要满足密码学分离原则。优选地,其密码生成函数KDF如下:
Serverk=KDF(AK,Server label,optional data,length,user identity)
1)Serverlabel:服务器的域名
2)Optional data:是一个常量,在此为“authenticate key derivation”,即认证密钥出处
3)Length:是一个两字节的无符号整数,为希望输出的密钥的长度。KDF必须能够产生2048个字节的输出,输出密钥的长度可以为64个字节。
4)user identity:用户设备信息,可以为peer的链路层地址或网络层地址,例如移动节点的链路层地址或网络层地址。
密钥产生函数KDF是基于伪随机函数的PRF(pseudo randomfunction)的,具体可以利用现有的各种伪随机函数,例如:PRF可以采用HMAC-SHA-256。
由上述ServerK的生成过程可见,该密钥的生成需要根据服务器信息(本实施例中具体为服务器的域名)、用户设备信息和AK进行,因此,对于不同的服务器和用户设备对,相同的AK也会产生不同的ServerK,从而可以提供给相应的服务器和用户设备对,进行服务认证。例如,在步骤1002中,用户设备A和AAA-AKC B在当前生命周期内生成了AK1,当用户设备A准备向Server C请求服务时,用户设备A根据AK1、用户设备A的用户设备信息和Server C的服务器信息生成了服务认证密钥ServerK1;当用户设备A准备向Server D请求服务时,用户设备A根据AK1、用户设备A的用户设备信息和Server D的服务器信息生成了服务认证密钥ServerK2,虽然二者依据相同的AK1,但是生成了不同的服务认证密钥ServerK1和ServerK2,从而分别用于进行用户设备A与Server C间和用户设备A与Server D间的服务认证。
步骤1004,Peer向Server发送携带AK标识的SIP请求。
本步骤中,Peer向Server发送服务请求,本实施例中,利用SIP消息承载该服务请求。同时,在该服务请求中携带AK标识,以该AK标识为索引,查询AK标识一致的服务认证密钥层次,从而确定此次使用的服务认证密钥层次。
具体产生AK标识(ID)的方式可以为:根据EAP认证过程产生的EAPsession-ID和前述的key label生成AK ID。
EAP认证过程将会输出一个值,即EAP session-ID,这个值Peer和AAA-AKC都知道,目的是用来标识这次认证过程,以及在这次认证过程中所产生的密钥。在EAP密钥框架中定义了这样一个值,并且提供一种命名EMSK的方法,在这里我们就沿用这种方法来获得密钥标识。
AK ID=PRF-64(EAP session-ID,key-label)
在PRF-64中64是指输出的PRF函数值的前64位,在此64只是一个例子,具体的选择,根据具体的应用而定。
步骤1005,Server接收SIP请求,定位Peer所归属的AAA-AKC,并根据其中携带的AK标识,向该AAA-AKC发送服务认证密钥请求,在发送的服务认证请求中,携带服务请求中的AK标识。
本步骤中,Server定位向本身请求服务的Peer的AAA-AKC,向AAA-AKC发送服务认证密钥请求,请求AAA-AKC下发用于服务认证的服务认证密钥。并且在发送的服务认证请求中,携带服务请求中的AK标识。
步骤1006,AAA-AKC接收Server发送的服务认证密钥请求,获取当前生命周期内有效的AK,产生服务认证密钥Serverk。
本步骤中,AAA-AKC根据接收的服务认证密钥请求中的AK标识,确定该AK,并获取与本AAA-AKC共享该AK的Peer的用户设备信息。同时,根据接收的服务认证密钥请求,能够确定请求该服务认证密钥的Server的服务器信息,从而可以根据上述用户设备信息、服务器信息和AK生成服务认证密钥层次的第三层-服务认证密钥ServerK。具体生成该ServerK的方式与步骤1003中类似,这里就不再赘述。
优选地,还可以进一步生成该ServerK ID,用于对传输的密钥进行秘密性和完整性保护,具体生成方式可以为:
ServerK ID=PRF-64(AK,”ServerK ID”)
具体的PRF可以采用任何现有的伪随机函数,例如:PRF可以采用HMAC-SHA-256。利用ServerK ID对ServerK进行秘密性和完整性保护的方式与现有技术中相同,这里就不再赘述。
至此,Peer和AAA-AKC均生成了用于在Peer和Server间进行服务认证的服务认证密钥。由该服务认证密钥的生成过程可以看出,通过引入服务认证密钥层次,使得预备密钥在生命周期内只需要生成一次,在接下来的整个生命周期内,当用户设备访问不同服务器时,可以直接应用该预备密钥中的AK生成服务认证密钥,而不需要单独利用一次认证过程生成该服务认证密钥。接下来,Peer就可以与Server利用生成的服务认证密钥进行服务认证,具体步骤包括:
步骤1007,AAA-AKC通过服务认证密钥响应将Serverk发送给Server。
本步骤中,若AAA-AKC和server在同一管理域内可以假设AAA-AKC和server之间是安全,若不在同一管理域内,两者之间进行密钥传输的过程中要进行安全保护。例如采用图9所示的结构进行安全保护。
步骤1008,使用生成的Serverk,利用UE和server都支持的认证方法进行服务认证。
至此,利用本实施例的方法产生服务认证密钥并进行服务认证的流程结束。显然,利用该过程进行的服务认证,简化了服务认证密钥产生方式,减少了服务器访问的延迟,避免了每次服务认证均需执行两次认证的情况。
在上述本发明实施例一的方法和系统流程中,产生服务认证密钥层次中的各个密钥时,是在基于用户设备的接入认证上进行的。也就是说,产生EMSK、AK以及ServerK时,根据用户设备的信息进行。但是,对于某些应用而言,例如,用户通过计算机进行的服务请求,可能存在多个用户使用同一台计算机进行服务请求的情况,这时,如果希望该多个用户均能够利用该计算机进行服务请求及与服务器间的服务认证,则可以将多个用户和该计算机的信息绑定,从而当绑定的用户通过该计算机进行服务请求时,该请求能够正常进行,与服务器间进行服务认证。
另外,在本发明实施例一中,服务认证密钥层次中的预备密钥是在接入认证过程中产生的,这就使得产生的服务认证密钥层次的生命周期与接入认证周期相等,而通常接入认证的周期为一、两天,这对于某些特定的服务来说可能并不合适。因此,本发明实施例还公开了另外一种可以产生预备密钥的方式,能够灵活设置其生命周期,适合各种不同种类的服务使用。在接下来的实施例二中就该种实施方式作进一步详细说明。另外,在实施例一中,预备密钥是每隔预设的生命周期(即接入认证周期)生成一次预备密钥,如前所述,也可以由服务器触发生成预备密钥,在下面的实施例二中将对服务器触发生成预备密钥的实施方式进行描述。
实施例二:
目前蜂窝移动通讯网络正在为全球超过10亿的用户提供服务,该通讯网络指的就是第二代移动通讯网络和第三代网络,蜂窝移动通讯网络的主要优势之一在于其广泛的覆盖和广大的用户群。在蜂窝移动通讯系统中,采用的认证机制为SIM卡认证和AKA认证方法。下面以通用移动通信系统(UMTS)的网络模型为实例来说明本发明实施例的服务认证密钥产生方法、系统和设备的具体实施方式。
在本实施例中,产生服务认证密钥和利用该密钥进行服务认证的流程分为两个过程:引导过程和服务访问认证过程。其中,引导过程用于生成在预设的生命周期内有效的服务认证密钥层次中的预备密钥,该生命周期可以由管理员根据需要进行设置。具体地,可以将安全级别相同的不同服务器划分为一个服务器组,为每个服务器组设置一个生命周期,按照每个服务器组对应的生命周期,生成服务认证密钥层次中的预备密钥,同一个服务器组的不同服务器共享该服务器组对应的服务认证密钥层次中的预备密钥。在服务访问认证过程,当用户向某服务器请求服务时,用户和密钥生成器根据该服务器所在的服务器组,确定使用的预备密钥,若没有相应的预备密钥,则触发引导过程生成预备密钥,再根据该预备密钥和相应的服务器信息及用户设备信息生成不同的服务认证密钥。
本实施例提供的服务认证密钥产生系统的具体结构如图11所示,在该系统中包括UE、eSGSN和Server。其中,
UE(User Equipment):在此是指UICC(Universal Integrated Circuit Card),其中包括用户业务识别模块(USIM)和多媒体子系统用户识别模块(ISIM),UICC支持超文本传输协议(http)摘要AKA认证和Server所支持的相关协议。具体地,一个USIM应用在UMTS移动终端上,它运行在插入用户移动电话的UICC智能卡上,USIM卡存储用户的信息,如认证信息;ISIM卡应用在3G的IMS电话内的UICC上,ISIM可以和SIM卡,以及USIM卡共存在UICC上。UE在引导过程中生成服务认证密钥层次中的预备密钥EMSK和AK,并在服务认证过程中生成服务认证密钥层次中的服务认证密钥ServerK。
eSGSN(evolution service GPRS Support Node):是该网络模型中的密钥生成器,用于为UE提供会话控制和注册服务,在引导过程中生成服务认证密钥层次中的预备密钥EMSK和AK,并在服务认证过程中生成服务认证密钥层次中的服务认证密钥ServerK。
Server:归属网络中的服务器或者第三方的服务器,支持用户访问该服务器的相关协议及认证方法,如SIP,MM协议或HTTP协议;Server用于定位用户的eSGSN,并与该eSGSN进行安全通讯,获取服务认证密钥层次中的服务认证密钥,利用该密钥对UE的访问进行认证。
优选地,该系统中还可以进一步包括服务器组配置装置,用于将具有相同安全级别的服务器划分为一个服务器组,根据每个服务器组的安全级别,设置该服务器组对应的生命周期,并将该服务器组配置结果和设置的生命周期发送给所述用户设备和密钥生成器。此时,UE和eSGSN,用于在生成服务认证密钥层次中的预备密钥时,对应不同服务器组,按照该服务器组对应的生命周期进行。另外,上述服务器组配置装置可以为独立于所述用户设备和密钥生成器的单独设备,或者也可以位于UE和eSGSN中。当该服务器组配置装置位于UE和eSGSN中时,UE和eSGSN可以分别采用如图12所示的用户设备的结构和图13所示的密钥生成器结构。
其中,在图12所示的用户设备中,与图4所示的用户设备结构类似,区别在于增加了第一服务器组配置单元。该第一服务器配置单元,用于根据每个服务器的安全级别,设置该服务器对应的生命周期,进一步地,可以将具有相同安全级别的服务器划分为一个服务器组,根据每个服务器组的安全级别设置该服务器组对应的生命周期。所述第一预备密钥生成单元,用于根据设置的生命周期,为服务器生成对应的预备密钥,并将所述预备密钥保存在所述第一存储单元中。对于UE中其他单元的结构和功能与图4所示的用户设备相同,这里就不再赘述。
在图13所示的eSGSN中,与图5所示的密钥生成器结构类似,区别在于增加了第二服务器配置单元。该第二服务器配置单元,用于根据每个服务器的安全级别,设置该服务器对应的生命周期,进一步地,可以将具有相同安全级别的服务器划分为一个服务器组,根据每个服务器组的安全级别设置该服务器组对应的生命周期。所述第二预备密钥生成单元,用于根据设置的生命周期,为各个服务器生成对应的预备密钥,并将所述预备密钥保存在所述第二存储单元中。对于eSGSN中其他单元的结构和功能与图5所示的密钥生成器相同,这里就不再赘述。
图14和图15为在上述本实施例提供的系统中产生服务认证密钥和利用该密钥进行服务认证的方法具体流程图。在执行该流程前,首先在UE和eSGSN中,根据安全级别将服务器划分为不同的服务器组,并保存各个服务器所在的服务器组信息,具体地,可以将安全级别相同的服务器划分为一个服务器组;然后,为每个服务器组设置一个生命周期,并将该生命周期与服务器组对应保存。接下来,按照图14所示的流程生成服务认证密钥层次的预备密钥,具体执行以下步骤:
步骤1401,UE向eSGSN发送服务请求。
步骤1402,eSGSN收到UE的服务请求之后,向HSS取认证向量,具体认证向量包括:随机数RAND,期待鉴权响应XRES,加密密钥CK,完整性密钥IK和认证令牌AUTN。
步骤1403,eSGSN从HSS获得的认证向量中选择一个五元组,并且把RAND和AUTN( )发送给UE,UE使用该令牌(AUTN)来认证eSGSN。
步骤1404,UE根据收到的随机数RAND用AKA算法计算出期望消息鉴权编码XMAC,将计算出的XMAC和消息鉴权编码MAC值比较,如果相等,网络认证通过。
步骤1405,UE向eSGSN发送认证响应,并携带鉴权响应RES,目的是让eSGSN来认证用户。
步骤1406,eSGSN将收到的RES和特别鉴权响应SRES进行比较,若相等,则用户认证通过。
步骤1407,UE和eSGSN分别重新计算产生IK和CK。
上述步骤1401~1407的过程即为利用AKA进行的引导过程,该AKA可以利用EAP认证协议完成。通过上述AKA过程,最后能够生成IK和CK。具体过程与现有的实现方式相同。
步骤1408,UE和eSGSN根据IK和CK生成EMSK。
本步骤中,参照EAP-AKA协议,根据IK和CK生成EMSK。具体方式为:在AKA的完全认证的过程中EMSK产生自MK(Master Key),其中主密钥MK是按照下面的方法产生的:
MK=SHA1(Identity|IK|CK)
在上面的公式中"|"代表连接,Identity代表用户的身份的字符串,且该字符串中没有空字符。IK和CK分别为AKA认证过程中产生的完整性密钥和加密密钥。
主密钥MK被输入到一个伪随机函数PRF中,该函数会产生分离的TEKs(Transient EAP Keys)和主会话密钥MSK(Master Session Keys)来保证链路层的安全,以及会产生EMSK。
在每一次AKA完全认证的过程中,MK作为最初的种子密钥XKEY。可选的用户输入值设置为0。在完全认证的过程中,将320位的随机数x_0,x_1,...,x_m-1分成合适大小的块。在后面这些大小的块将被作为密钥使用:K_encr(128位),K_aut(128位),主会话密钥MSK(64位),扩展主会话密钥EMSK(64位),其中,这五部分内容可以部分重叠。上述过程参照现有的EAP-AKA过程实现。
步骤1409,UE和eSGSN根据步骤1408生成的EMSK生成AK,即预备密钥,并将所述AK保存。
具体生成该AK的方式与实施例一的步骤1002中方式相同,这里就不再赘述。对于各个服务器组按照上述步骤1401~1409的方式生成当前生命周期内的服务认证层次的预备密钥,并将其与服务器组对应保存。本实施例中,具体生成预备密钥的时机可以在用户设备访问某服务器,由服务器触发生成。当然,也可以是每隔生命周期定时生成。具体地,对于定时生成的方式,首先确定各个服务器组的生命周期,然后按照该服务器组的生命周期,定时生成服务认证层次的预备密钥;这种方式下,假定存在5个服务器组,每个服务器组对应的生命周期均为1天,则每天需要分别为5个服务器组各自生成一个预备密钥,即使在两天内没有用户访问服务器,仍然会按照生命周期生成新的预备密钥,这样会造成资源的浪费。对于服务器触发生成的方式,首先在用户访问服务器时,服务器向密钥生成器请求获取服务认证密钥,若当前保存的服务认证层次的预备密钥已超过生命周期,则生成新的服务认证密钥层次的预备密钥;这种方式下,只有当有用户访问服务器时,才生成新的当前生命周期内的服务认证密钥层次的预备密钥,可以进一步节省系统资源。
基于上述预备密钥产生流程,进行服务访问的流程如图15所示。在该过程中,只要在每次服务器组对应的生命周期内,UE访问该服务器组内的Server时,就可使用该Server所在服务器组对应的服务认证密钥层次,利用当前生命周期内有效的AK生成在UE和server之间共享的服务认证密钥ServerK。该阶段的具体包括如下步骤:
步骤1501,UE向Server发送携带AK标识的HTTP请求。
本步骤中,UE向Server发送服务请求,本实施例中,利用HTTP消息承载该服务请求。同时,在该服务请求中携带AK标识,从而使该服务器能够确定此次使用的服务认证密钥层次。具体生成AK标识的方式与实施例一的步骤1004中的方式相同,这里就不再赘述。
步骤1502,Server接收HTTP请求,定位UE的eSGSN,并根据其中携带的AK标识,向该eSGSN发送服务认证密钥请求,所述服务认证密钥请求中携带所述AK标识。
步骤1503,eSGSN接收Server发送的服务认证密钥请求,判断是否存在当前生命周期内有效的AK,若是,则执行步骤1505,否则,执行步骤1504。
当确定不存在当前生命周期内有效的AK时,需要执行引导过程生成AK。具体该通知过程可以为:由密钥生成器直接通知UE开始执行引导过程,或者,也可以由密钥生成器向服务器返回无有效AK的消息,由服务器通知UE,从而启动UE和密钥生成器间的引导过程生成有效AK。
步骤1504,利用引导过程生成服务认证密钥层次中的EMSK和AK。
本步骤中,具体生成EMSK和AK的流程可以采用图14的方式进行,这里就不再赘述。
由于本实施例中预备密钥的生成是在UE向服务器发起服务请求后,服务器获取服务认证密钥过程中发起的,因此称为服务器触发的预备密钥生成。
步骤1505,用户设备和密钥生成器产生服务认证密钥Serverk。
本步骤中,UE和密钥生成器根据保存的服务器所在服务器组信息,确定该服务器组对应的服务认证密钥层次及该服务认证密钥层次中当前生命周期内有效的AK。具体根据AK生成ServerK的方式与实施例一中类似,其区别仅在于,密钥生成函数KDF中作为用户设备信息的是私有用户身份(IMPI),而不是用户标识(useridentity),当然,在具体实现时,也可以采用用户设备的其他信息产生AK。这里就不再赘述。
至此,UE和eSGSN均生成了用于在UE和eSGSN间进行服务认证的服务认证密钥。由该服务认证密钥的生成过程可以看出,对于具体不同安全级别的服务器,可以设置不同的生命周期内。对于属于相同安全级别的不同服务器而言,可以通过引入服务认证密钥层次,使得预备密钥在生命周期内只需要生成一次,在接下来的整个生命周期内,当用户设备访问该安全级别内的不同服务器时,可以直接应用该生命周期内预备密钥中的AK生成服务认证密钥,而不需要单独利用一次认证过程生成该服务认证密钥,并且,能够实现灵活控制服务认证密钥层次生命周期的效果。接下来,UE就可以与Server利用生成的服务认证密钥进行服务认证,具体步骤包括:
步骤1506,eSGSN通过认证密钥响应将ServerK发送给server。
本步骤中,若eSGSN和Server在同一管理域内,可以假设eSGSN和Server之间是安全,若不在同一管理域内,两者之间进行密钥传输的过程中要进行安全保护。
步骤1507,使用该ServerK,利用UE和server都支持的认证方法进行服务认证。
至此,利用本实施例的方法产生服务认证密钥并进行服务认证的流程结束。显然,利用该过程进行的服务认证,不仅能够简化服务认证密钥产生方式,减少服务器访问的延迟,避免每次服务认证均需执行两次认证的情况,而且能够灵活设置服务认证密钥层次的生命周期,适应各种不同服务的需求。
通过两个实施例说明了在Internet网络和无线蜂窝网络中,本发明实施例的服务认证密钥产生方法、系统和设备的具体实施方式。具体在实施例一的Internet网络模型中,利用接入认证过程生成预备密钥,在实施例二的无线蜂窝网络模型中,利用引导过程生成预备密钥。事实上,上述两个实施例中的预备密钥产生流程可以互换,即在Internet网络模型中利用引导过程生成预备密钥,在无线蜂窝网络模型中利用接入认证过程生成预备密钥。另外,在两个实施例中,用于生成服务认证密钥的密钥生成器分别为AAA-AKC和eSGSN,事实上,也可以利用3GPP定义的GAA框架中的BSF来作为该密钥生成器。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (26)
1、一种服务认证密钥产生方法,其特征在于,该方法包括:
用户设备和密钥生成器利用信任关系生成在预设的生命周期内有效的服务认证密钥层次中的预备密钥,并进行保存;
用户设备访问服务器时,用户设备和密钥生成器根据当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
2、根据权利要求1所述的方法,其特征在于,
当用户设备访问服务器时,由服务器触发用户设备和密钥生成器执行所述生成并保存预备密钥的操作;或者,
用户设备和密钥生成器每隔所述预设的生命周期执行所述生成并保存预备密钥的操作。
3、根据权利要求1所述的方法,其特征在于,
所述生命周期为用户设备的接入认证周期;
所述利用信任关系生成并保存服务认证密钥层次中的预备密钥为:利用用户设备的接入认证过程生成并保存所述预备密钥。
4、根据权利要求1所述的方法,其特征在于,
所述利用信任关系生成并保存服务认证密钥层次中的预备密钥为:利用引导过程生成所述预备密钥。
5、根据权利要求1所述的方法,其特征在于,所述用户设备和密钥生成器生成所述服务认证密钥包括:
用户设备向要访问的服务器发送服务请求,并在该请求中携带生成预备密钥时一并生成的预备密钥标识,服务器根据该服务请求,向密钥生成器发送携带所述预备密钥标识的服务认证密钥请求;
用户设备和密钥生成器根据接收的服务认证密钥请求中的预备密钥标识确定本次生成服务认证密钥所使用的服务认证密钥层次,并根据当前生命周期内有效的该服务认证密钥层次的预备密钥、请求服务的用户设备信息和要访问的服务器信息,生成服务认证密钥。
6、根据权利要求1所述的方法,其特征在于,该方法进一步包括:预先将具有相同安全级别的服务器划分为一个服务器组,根据每个服务器组的安全级别,设置该服务器组对应的生命周期;
所述利用信任关系生成并保存服务认证密钥层次中的预备密钥为:按照不同服务器组对应的生命周期,利用信任关系生成该生命周期内服务认证密钥层次中的预备密钥,并与所述不同服务器组对应保存。
7、根据权利要求6所述的方法,其特征在于,所述用户设备和密钥生成器生成所述服务认证密钥包括:
用户设备向要访问的服务器发送服务请求,并在该请求中携带与要访问的服务器所在服务器组对应的预备密钥生成时一并生成的预备密钥标识,服务器根据该服务请求,向密钥生成器发送携带预备密钥标识的服务认证密钥请求;
用户设备和密钥生成器根据接收的服务认证密钥请求中的预备密钥标识确定本次生成服务认证密钥所使用的服务认证密钥层次,并根据当前生命周期内有效的该服务认证密钥层次的预备密钥、请求服务的用户设备信息和要访问的服务器信息,生成服务认证密钥。
8、根据权利要求5或7所述的方法,其特征在于,若用户设备访问服务器时,由服务器触发用户设备和密钥生成器执行所述生成并保存预备密钥的操作,则
在所述服务器向密钥生成器发送服务认证密钥请求后、用户设备和密钥生成器生成服务认证密钥前,该方法进一步包括:判断是否存在当前生命周期内有效的预备密钥,若存在,则获取该预备密钥,并执行所述生成服务认证密钥的操作;否则,触发用户设备和密钥生成器生成并保存当前生命周期内有效的预备密钥,再执行所述用户设备和密钥生成器生成服务认证密钥的操作。
9、根据权利要求8所述的方法,其特征在于,所述触发用户设备和密钥生成器生成并保存当前生命周期内有效的预备密钥为:密钥生成器将不存在当前生命周期内有效预备密钥的消息直接发送给用户设备或通过所述服务器转发给用户设备,用户设备发起利用信任关系生成所述预备密钥的过程。
10、根据权利要求5或7所述的方法,其特征在于,所述预备密钥为单个密钥或多层密钥。
11、根据权利要求10所述的方法,其特征在于,所述多层密钥为包括根密钥和中间密钥的两层密钥,所述根密钥为扩展认证协议EAP认证过程中产生的扩展主会话密钥EMSK,所述中间密钥为根据EMSK生成的应用密钥AK。
12、根据权利要求11所述的方法,其特征在于,根据EMSK生成AK为:AK=PRF(EMSK,key label,optional data,length),其中,PRF为任意预设的伪随机函数,key label为ASCII字符串,Optional data是取值为application keyderivation的常量,length为预设的输出密钥长度。
13、根据权利要求11所述的方法,其特征在于,生成所述预备密钥标识的方式为:根据EAP认证过程产生的EAP会话标识EAP session-ID和ASCII字符串key label,利用PRF-n(EAP session-ID,key-label)生成AK标识,其中,PRF-64为任意预设的伪随机函数输出的前n比特,并将生成的AK标识作为预备密钥标识。
14、根据权利要求11所述的方法,其特征在于,所述根据预备密钥、用户设备信息和服务器信息生成服务认证密钥为:服务认证密钥ServerK=PRF(AK,Server label,optional data,length,user information),其中,PRF为任意预设的伪随机函数,Server label为所述服务器信息,Optional data是取值为authenticatekey derivation的常量,length为预设的输出密钥长度,user information为所述用户设备信息。
15、根据权利要求1所述的方法,其特征在于,在密钥生成器生成服务认证密钥后,该方法进一步包括:密钥生成器将生成的服务认证密钥发送给所述服务器。
16、根据权利要求15所述的方法,其特征在于,当密钥生成器与服务器位于同一管理域内时,密钥生成器直接将生成的密钥发送给所述服务器;
当密钥生成器与服务器位于不同管理域时,所述密钥生成器将生成的服务认证密钥发送给所述服务器包括:在密钥生成器和服务器间增加D代理,D代理利用传输层安全协议TLS将密钥生成器生成的服务认证密钥发送给服务器。
17、根据权利要求1所述的方法,其特征在于,在Internet网络架构中,所述密钥生成器为AAA-AKC,所述用户设备信息为用户设备的链路层地址或网络层地址;在无线蜂窝网络架构中,所述密钥生成器为eSGSN,所述用户设备信息为私有用户身份IMPI。
18、根据权利要求1所述的方法,其特征在于,当多个用户使用同一个用户设备与服务器进行服务认证时,该方法进一步包括:根据预先设置的策略,将允许使用同一用户设备的用户信息与所述用户设备信息绑定。
19、一种服务认证密钥产生系统,其特征在于,该系统包括用户设备和密钥生成器,
所述用户设备,用于利用信任关系每隔预设的生命周期生成在所述生命周期内有效的服务认证密钥层次中的预备密钥,并进行保存,在访问服务器时,根据当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成所述用户设备和服务器共享的服务认证密钥层次中的服务认证密钥;
密钥生成器,用于每隔预设的生命周期生成在所述生命周期内有效的服务认证密钥层次中的预备密钥,并进行保存,在确定所述用户设备访问服务器时,根据当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥。
20、根据权利要求19所述的系统,其特征在于,该系统进一步包括服务器组配置装置,用于将具有相同安全级别的服务器划分为一个服务器组,根据每个服务器组的安全级别,设置该服务器组对应的生命周期,并将该服务器组配置结果和设置的生命周期发送给所述用户设备和密钥生成器;
所述用户设备和密钥生成器,用于在生成服务认证密钥层次中的预备密钥时,对应不同服务器组,按照该服务器组对应的生命周期进行。
21、根据权利要求20所述的系统,其特征在于,所述服务器组配置装置为独立于所述用户设备和密钥生成器的单独设备,或者位于所述用户设备和密钥生成器中。
22、根据权利要求19到21中任一所述的系统,其特征在于,当该系统为Internet网络时,所述密钥生成器为AAA-AKC,所述用户设备为Peer;
当该系统为蜂窝网络时,所述密钥生成器为eSGSN,所述用户设备为UE。
23、一种服务认证密钥产生系统中的用户设备,其特征在于,该用户设备包括第一预备密钥生成单元、第一存储单元、第一服务认证密钥生成单元和第一服务器接口单元;
所述第一预备密钥生成单元,用于利用信任关系每隔预设的生命周期生成在所述生命周期内有效的服务认证密钥层次中的预备密钥,并保存到所述第一存储单元中;
所述第一存储单元,用于保存当前生命周期内有效的预备密钥,提供给所述第一服务认证密钥生成单元;
所述第一服务认证密钥生成单元,用于根据所述第一存储单元保存的当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥,并通知所述第一服务器接口单元发送服务请求;
所述第一服务器接口单元,用于根据所述第一服务认证密钥生成单元的通知,向系统中的服务器发送服务请求。
24、根据权利要求23所述的用户设备,其特征在于,该用户设备进一步包括第一服务器组配置单元,用于将具有相同安全级别的服务器划分为一个服务器组,根据每个服务器组的安全级别,设置该服务器组对应的生命周期,并将该服务器组配置结果和设置的生命周期发送给所述第一预备密钥生成单元;
所述第一预备密钥生成单元,用于在生成服务认证密钥层次中的预备密钥时,对应不同服务器组,按照该服务器组对应的生命周期进行。
25、一种服务认证密钥产生系统中的密钥生成器,其特征在于,该密钥生成器包括第二预备密钥生成单元、第二存储单元、第二服务认证密钥生成单元和第二服务器接口单元,
所述第二预备密钥生成单元,用于利用信任关系每隔预设的生命周期生成所述生命周期内有效的服务认证密钥层次中的预备密钥,并保存到所述第二存储单元中;
所述第二存储单元,用于保存当前生命周期内有效的预备密钥,提供给所述第二服务认证密钥生成单元;
所述第二服务器接口单元,用于在接收到服务器发送的服务认证密钥请求后,通知所述第二服务认证密钥生成单元生成服务认证密钥,并在接收到所述第二服务认证密钥生成单元返回的服务认证密钥后,向服务器发送携带服务认证密钥的服务认证密钥响应;
所述第二服务认证密钥生成单元,用于在接收到所述第二服务器接口单元的通知后,根据所述第二存储单元保存的当前生命周期内有效的服务认证密钥层次中的预备密钥、用户设备信息和服务器信息,生成用户设备和服务器共享的服务认证密钥层次中的服务认证密钥,并将该服务认证密钥返回给所述第二服务器接口单元。
26、根据权利要求25所述的密钥生成器,其特征在于,该用户设备进一步包括第二服务器组配置单元,用于将具有相同安全级别的服务器划分为一个服务器组,根据每个服务器组的安全级别,设置该服务器组对应的生命周期,并将该服务器组配置结果和设置的生命周期发送给所述第二预备密钥生成单元;
所述第二预备密钥生成单元,用于在生成服务认证密钥层次中的预备密钥时,对应不同服务器组,按照该服务器组对应的生命周期进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101666560A CN101426190A (zh) | 2007-11-01 | 2007-11-01 | 一种服务访问认证方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101666560A CN101426190A (zh) | 2007-11-01 | 2007-11-01 | 一种服务访问认证方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101426190A true CN101426190A (zh) | 2009-05-06 |
Family
ID=40616477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101666560A Pending CN101426190A (zh) | 2007-11-01 | 2007-11-01 | 一种服务访问认证方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101426190A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101883095A (zh) * | 2010-06-02 | 2010-11-10 | 候万春 | 业务服务器使用预分配码获取终端用户名的系统和方法 |
CN104735037A (zh) * | 2013-12-24 | 2015-06-24 | 中国移动通信集团公司 | 一种网络认证方法、装置及系统 |
CN105409186A (zh) * | 2013-06-06 | 2016-03-16 | 耐瑞唯信有限公司 | 用于用户认证的系统及方法 |
CN105656624A (zh) * | 2016-02-29 | 2016-06-08 | 浪潮(北京)电子信息产业有限公司 | 一种客户端、服务器、数据传输方法与系统 |
CN106534050A (zh) * | 2015-09-11 | 2017-03-22 | 中移(杭州)信息技术有限公司 | 一种实现虚拟专用网络密钥协商的方法和装置 |
WO2018010150A1 (zh) * | 2016-07-14 | 2018-01-18 | 华为技术有限公司 | 一种认证方法和认证系统 |
CN108093001A (zh) * | 2010-03-31 | 2018-05-29 | 维萨国际服务协会 | 使用密钥管理中心的相互移动认证的系统、方法和服务器计算机 |
CN108293223A (zh) * | 2015-11-30 | 2018-07-17 | 华为技术有限公司 | 一种数据传输方法、用户设备和网络侧设备 |
CN109687959A (zh) * | 2018-12-29 | 2019-04-26 | 上海唯链信息科技有限公司 | 密钥安全管理系统和方法、介质和计算机程序 |
CN109889509A (zh) * | 2013-05-22 | 2019-06-14 | 康维达无线有限责任公司 | 用于机器对机器通信的网络辅助引导自举 |
US10880744B2 (en) | 2016-07-01 | 2020-12-29 | Huawei Technologies Co., Ltd. | Security negotiation method, security function entity, core network element, and user equipment |
-
2007
- 2007-11-01 CN CNA2007101666560A patent/CN101426190A/zh active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108093001B (zh) * | 2010-03-31 | 2021-02-19 | 维萨国际服务协会 | 使用密钥管理中心的相互移动认证的系统、方法和服务器计算机 |
CN108093001A (zh) * | 2010-03-31 | 2018-05-29 | 维萨国际服务协会 | 使用密钥管理中心的相互移动认证的系统、方法和服务器计算机 |
CN101883095A (zh) * | 2010-06-02 | 2010-11-10 | 候万春 | 业务服务器使用预分配码获取终端用户名的系统和方法 |
CN109889509B (zh) * | 2013-05-22 | 2021-06-01 | 康维达无线有限责任公司 | 用于机器对机器通信的网络辅助引导自举 |
CN109889509A (zh) * | 2013-05-22 | 2019-06-14 | 康维达无线有限责任公司 | 用于机器对机器通信的网络辅助引导自举 |
US11677748B2 (en) | 2013-05-22 | 2023-06-13 | Interdigital Patent Holdings, Inc. | Machine-to-machine network assisted bootstrapping |
CN105409186A (zh) * | 2013-06-06 | 2016-03-16 | 耐瑞唯信有限公司 | 用于用户认证的系统及方法 |
CN105409186B (zh) * | 2013-06-06 | 2018-12-04 | 耐瑞唯信有限公司 | 用于用户认证的系统及方法 |
CN104735037B (zh) * | 2013-12-24 | 2018-11-23 | 中国移动通信集团公司 | 一种网络认证方法、装置及系统 |
CN104735037A (zh) * | 2013-12-24 | 2015-06-24 | 中国移动通信集团公司 | 一种网络认证方法、装置及系统 |
CN106534050A (zh) * | 2015-09-11 | 2017-03-22 | 中移(杭州)信息技术有限公司 | 一种实现虚拟专用网络密钥协商的方法和装置 |
CN108293223B (zh) * | 2015-11-30 | 2020-11-17 | 华为技术有限公司 | 一种数据传输方法、用户设备和网络侧设备 |
CN108293223A (zh) * | 2015-11-30 | 2018-07-17 | 华为技术有限公司 | 一种数据传输方法、用户设备和网络侧设备 |
CN105656624A (zh) * | 2016-02-29 | 2016-06-08 | 浪潮(北京)电子信息产业有限公司 | 一种客户端、服务器、数据传输方法与系统 |
US10880744B2 (en) | 2016-07-01 | 2020-12-29 | Huawei Technologies Co., Ltd. | Security negotiation method, security function entity, core network element, and user equipment |
CN108353279B (zh) * | 2016-07-14 | 2020-08-14 | 华为技术有限公司 | 一种认证方法和认证系统 |
CN108353279A (zh) * | 2016-07-14 | 2018-07-31 | 华为技术有限公司 | 一种认证方法和认证系统 |
WO2018010150A1 (zh) * | 2016-07-14 | 2018-01-18 | 华为技术有限公司 | 一种认证方法和认证系统 |
CN109687959A (zh) * | 2018-12-29 | 2019-04-26 | 上海唯链信息科技有限公司 | 密钥安全管理系统和方法、介质和计算机程序 |
CN109687959B (zh) * | 2018-12-29 | 2021-11-12 | 上海唯链信息科技有限公司 | 密钥安全管理系统和方法、介质和计算机程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101426190A (zh) | 一种服务访问认证方法和系统 | |
US10411884B2 (en) | Secure bootstrapping architecture method based on password-based digest authentication | |
CN102638794B (zh) | 鉴权和密钥协商方法、认证方法、系统及设备 | |
CN1711740B (zh) | 轻度可扩展验证协议的密码预处理 | |
EP2039199B1 (en) | User equipment credential system | |
EP2037621B1 (en) | Method and device for deriving local interface key | |
CN101039311B (zh) | 一种身份标识网页业务网系统及其鉴权方法 | |
CN101156352B (zh) | 基于移动网络端到端通信的认证方法、系统及认证中心 | |
US10880291B2 (en) | Mobile identity for single sign-on (SSO) in enterprise networks | |
US20080222714A1 (en) | System and method for authentication upon network attachment | |
US20060271785A1 (en) | Method for producing key material | |
CN111050322B (zh) | 基于gba的客户端注册和密钥共享方法、装置及系统 | |
CN108683510A (zh) | 一种加密传输的用户身份更新方法 | |
CN101867928A (zh) | 移动用户通过家庭基站接入核心网的认证方法 | |
CN101052032B (zh) | 一种业务实体认证方法及装置 | |
CN106534050A (zh) | 一种实现虚拟专用网络密钥协商的方法和装置 | |
CN101990751A (zh) | 基于认证和密钥协商(aka)机制认证对于使能kerberos应用的用户访问的方法和装置 | |
CN103781026A (zh) | 通用认证机制的认证方法 | |
Moon et al. | An AAA scheme using ID-based ticket with anonymity in future mobile communication | |
CN102694779A (zh) | 组合认证系统及认证方法 | |
Pérez-Méndez et al. | A cross-layer SSO solution for federating access to kerberized services in the eduroam/DAMe network | |
Kumar et al. | A secure, efficient and lightweight user authentication scheme for wireless LAN | |
WO2021236078A1 (en) | Simplified method for onboarding and authentication of identities for network access | |
Huang et al. | OSNP: Secure wireless authentication protocol using one-time key | |
CN110366179A (zh) | 一种认证方法、设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090506 |