具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,在此所描述的具体实施例仅用作以举例说明的方式解释本发明,并不用于限定本发明。
在本发明中,用户与SP(服务提供商)以IBC(Identity BasedCryptography,基于身份的密码制度)为基础,直接进行业务认证。本发明实施例中所使用的IBC相关算法基于ECC(Elliptic CurveCryptography,椭圆曲线密码体制)和BDH(双线性Diffie-Hellman)问题,具体可见于国际标准化组织ISO在以下参考文献中的定义:
1.ISO/IEC 14888-2,Information technology—Security techniques—Digital signatures with appendix—Part 2:Integer factorization basedmechanisms,
2.ISO/IEC14888-3:2006,Information technology--Securitytechniques--Digital signatures with appendix--Part 3:Discrete logarithmbased mechanisms,
3.ISO/IEC 11770-3,Information technology—Security techniques—Key management Part 3:Mechanisms using asymmetric techniques。
另外,目前IEEE的基于身份密码工作组(IEEE P1363.3)也正在对基于IBC的签名、认证、密钥协商及相关算法进行研究。
图1示出了根据本发明实施例的在用户和SP之间的认证框架。该框架适用于不同的通信网络标准,其作用在于为不同类型的实体之间建立相互信任的关系。它涉及到的网络元素包括业务签约实体、业务提供实体和密码管理中心,分别对应于图1中的用户102、SP 102和KMC 103。
用户101是可以接入通信网络的用户或其所使用的用户终端装置(在下文中统称为用户)。用户101可以是移动通信网络(包括2G、3G、超3G)用户,也可以是固定通信网络(包括电话交换网络,NGN网络)用户,还可以是使用WLAN接入网络、WIMAX接入网络接入通信网络的用户。用户101由自己的身份来标识,其身份可以是例如用户的Email地址、姓名、固定电话号码、移动电话号码、设备号码、统一资源地址(URL)等等。
SP 102是在通信网络中提供任意类型的业务的实体,包括网络运营商和其他第三方提供商。SP 102也有自己的标识身份。
KMC 103是在通信网络中负责提供在该认证构架中所需要的密码管理的实体。KMC能够利用IBC的相关算法生成与身份相对应的私钥。KMC103可以独立于网络运营商和SP 102,也可以是网络运营商或SP 102的系统中的一部分。
以下开始描述在用户与SP之间的基于IBC的认证过程。
在开始任意通信之前,用户101和SP 102向KMC 103注册,以向KMC 103提供相关的身份信息、协商与KMC 103之间的认证方式以及获得自己的初始私钥等。注册过程可以采用本领域已熟知的方式,在此不再详述。
在注册成功之后,KMC 103在安全信道中,将公共安全参数交付给所有用户和SP,公共安全参数典型地包括如下内容:
-适用的双线性映射关系^t;
-生成元P;
-KMC的主公钥sP;
-公共安全参数的有效期;
-Hash函数HH1;
-RO模型的Hash函数HH2;以及
-KMC的标识。
公共安全参数是公开的,并且无需必须在通信之前发布,可以周期性地在网络中广播,也可以响应用户或SP的请求而发送。这样,不仅可以耗费得网络数据传送资源较少,而且可以通过公共安全参数的有效期来提高认证时效性。
当用户101接入通信网络,寻找服务,并且希望访问SP时,触发在用户101和SP 102之间的认证。于是,用户101从其KMC——在本实施例中为KMC 103——获取自己的私钥,即用户私钥。
用户私钥是由KMC 103通过IBC利用用户101的身份生成的。KMC可以在用户注册成功之后随即生成并交付用户私钥。这个过程还可以是周期性的自发的,即KMC周期性地更新用户私钥,并自动将新的私钥交付给用户。KMC也可以预先生成用户私钥,并且响应用户请求而将私钥交付给用户,从而不将不必要的附加流量添加到网络,但本公开不限于此。
为了使提高认证的安全性,KMC 103在交付用户私钥过程中,可以依照以下方法中的一个,与用户进行双向认证:
a.利用诸如IBC、PKI、HTTP摘要等,在KMC与用户之间直接运行双向认证;
b.可以通过重用现有网络认证机制来在KMC与用户之间间接运行双向认证。
在依照前一方法的情况下,当KMC与用户之间的直接双向认证成功后,将获得在KMC与用户之间的共享的会话密钥。
在依照后一方法的情况下,KMC 103或用户101可以通过利用例如但不限于以下现有安全机制中的一个,来触发在用户101与其网络认证服务器104之间的认证过程,这些安全机制都依赖于下层网络基础结构:
i)IMS认证机制,在NGN网络中,
ii)NASS访问认证机制,在NGN网络中,
iii)AKA认证机制,在2G和3G移动网络中,
iv)GAA/GBA认证机制,基于在移动网络中的通用移动应用认证构架,
v)WLAN访问认证机制,在WLAN接入网络中,
vi)WIMAX访问认证机制,在WIMAX接入网络中,
vii)LTE/SAE认证机制,在超3G移动网络中。
用户的网络认证服务器104是依赖于下层网络基础结构的相应认证实体。由于在本发明中,不一定用到用户与网络认证服务器之间的认证,所以用户101与网络认证服务器104之间用虚线连接。另外,KMC 103可以或可以不被包括在网络认证服务器104中。当用户101与网络认证服务器104之间的双向认证成功之后,将获得在KMC103与用户101之间的共享的会话密钥。
在获得在KMC 103与用户101之间的会话密钥之后,KMC 103将利用该会话密钥对用户的私钥进行加密,并将其发送给用户101。用户101利用在KMC与用户之间的会话密钥来获得用户私钥Apriv。
于是,用户101向SP 102发送认证消息。该认证消息包括用户身份、MSG1、用户签名、KMC 103的标识,等等。其中,MSG1是与用户想要访问的SP的业务应用有关的信息。例如,如果用户想从SP下载音乐,那么MSG1可以是想要下载的音乐的编号或相关信息。其中的用户签名是用户101利用用户私钥Apriv、MSG1、公共安全参数,通过IBC相关算法生成的数字签名。
SP 102接收到用户的认证消息之后,根据认证消息中的KMC 103的标识知晓KMC 103,获得KMC 103的主公钥sP以及其它公共安全参数。有可能SP 102中预先已经获取有KMC 103的主公钥sP和其它公共安全参数。也有可能响应于接收到用户的认证消息,SP 102根据KMC 103的标识找到KMC 103,并从KMC 103获取主公钥sP以及其它公共安全参数。
在SP 102取得KMC 103的主公钥sP以及其它公共安全参数之后,SP 102利用从认证消息中提取的用户身份、MSG1,以及KMC 103的主公钥sP和其它公共安全参数,通过IBC相关算法对用户签名进行认证。
以上描述了在用户与SP之间的单向认证过程,即SP 102对用户101的认证。在特殊业务应用中,不仅需要SP认证用户的合法性,同时也需要用户认证SP的合法性。根据本发明的思想,不仅能够如上所述进行SP对用户的单向认证,还能够进行在SP和用户之间的双向认证。也就是说,在SP认证用户的同时,用户可以对SP进行认证。SP和用户之间的双向认证可以是SP触发的,也可以是用户触发的。用户对SP的认证可以发生在SP对用户的认证之后,即当SP认证用户的合法性成功之后,用户开始对SP进行认证。还可以是SP对用户的认证发生在用户对SP的认证之后,即当用户认证SP的合法性成功之后,SP开始对用户进行认证。还可以是两个方向的认证同时进行,只要其中一个方向的认证失败,认证过程就以失败告终。
以下仅描述当SP认证用户的合法性成功之后,用户开始对SP进行认证的情况。另外两种情况与之类似。
SP 102在接收到用户的认证消息之后,在SP向自己的KMC请求自己的私钥。SP的KMC可以与用户的KMC不同,也可以与用户的KMC相同。当两者的KMC不同时,两个KMC之间可以通过安全的方式互换主公钥和其它公共安全参数。在此,为了简明起见,将问题简化为SP的KMC与用户的KMC相同,即都是KMC 103。SP的KMC与用户的KMC不同的情形可以参考依照图2描述的另一实施例。这样,SP 102可以在获取KMC 103的主公钥和公共安全参数的同时,从KMC 103获得自己的私钥Bpriv。
为了进一步提高认证安全性,在SP获取私钥Bpriv和公共安全参数的过程中,可以在SP与KMC之间进行双向认证。当然,可以在SP与其KMC之间建立专用传送信道、VPN信道或其他认证方式所能保护的安全信道。在双向认证成功后,可以获得在SP 102与KMC 103之间的会话密钥。KMC将使用该会话密钥加密SP私钥Bpriv,并将其发送给SP。
在SP获得其私钥Bpriv并且对用户101的认证成功之后,SP向用户发送认证消息。该认证消息包括SP的身份、MSG2、SP签名、SP的KMC的标识,等等。其中,MSG2与MSG1相类似。SP签名是SP 102利用SP私钥Bpriv、MSG2和公共安全参数,通过IBC的相关算法生成的生成的数字签名。
用户接收到SP的认证消息之后,利用从SP的认证消息中提取的SP的身份、MSG2,以及SP的KMC的主公钥sP和其它公共安全参数,通过IBC相关算法对SP签名进行认证。
当在SP与用户之间的认证成功之后,用户将被授权依照预先签订的简档来访问SP。
图2示出了根据本发明另一实施例,在漫游情形下在用户和拜访网络中的SP之间的认证构架。在图2中,H-KMC 203是用户201归属网络中的KMC,用户201与H-KMC 203有注册关系。当拜访网络具有基于IBC的认证和密钥协定模型时,AP/V-KMC 205可以被表示为V-KMC(即AP被包含在V-KMC中);当拜访网络没有这样的模型(即没有KMC)时,AP/V-KMC 205可以被表示为AP,AP是拜访网络中的认证代理,用户可以经由AP与H-KMC通信。
现简述在第一种情况下在用户201与SP 202之间的双向认证过程。在这种情况下,SP202与H-KMC 205有注册关系,s1P是H-KMC 203的主公钥,并且s2P是AP/V-KMC 205的主公钥。H-KMC 203与AP/V-KMC205会以安全的方式彼此互换它们的主公钥。
当漫游到拜访网络的用户希望访问该拜访网络中的SP 202时,将由用户201或SP 202触发在用户和SP之间的双向认证。假定由用户触发该双向认证。
用户201首先向其H-KMC 203请求用户私钥和V-KMC 205主公钥s2P。于是,用户向SP 202和/或V-KMC 205发送该请求。于是该请求被V-KMC 205转发给H-KMC 203。
H-KMC 203将用户201的私钥Apriv和V-KMC 205主公钥s2P发送给用户201。H-KMC 203还可以向用户201提供最新的公共安全参数。在此过程中也可以包括如上所述的在用户与KMC之间的双向认证。
而后,用户201利用其私钥Apriv、MSG1和公共安全参数,通过IBC相关算法生成用户签名信息,并向SP 202发送认证消息。该认证消息包括用户身份、MSG1、用户签名、H-KMC 203的标识,等等。
在SP 202接收到用户的认证消息之后,SP向其V-KMC 205请求其私钥和H-KMC 203主公钥s1P。于是,V-KMC 205将SP的私钥Bpriv和H-KMC 203主公钥s1P发送给SP。V-KMC 205还可以向SP 202提供公共安全参数。在此过程中也可以包括如上所述的在SP与KMC之间的双向认证。
在SP 202获得其私钥Bpriv之后,SP向用户201发送认证消息。该认证消息包括SP身份、MSG2、SP签名、SP的KMC(即V-KMC 205)的标识,等等。SP签名信息是SP利用Bpriv、MSG2和公共安全参数,通过IBC相关算法生成的。
于是,SP 202利用从用户201的认证消息中提取的用户身份、MSG1、以及H-KMC 203的主公钥s1P和其它公共安全参数,通过IBC相关算法对用户签名进行认证。用户201利用从SP 202的认证消息中提取的SP的身份、MSG2,以及V-KMC 205的主公钥s2P和其它公共安全参数,通过IBC相关算法对SP签名进行认证。
在SP与用户之间的双向认证成功之后,用户将被授权依照与SP预先签订的简档访问SP。
对于第二种情况,在用户201与SP 202之间的双向认证过程与第一种情况下的基本类似。不同之处主要在于以下几点:
-SP 202向自己的KMC注册,其可以是H-KMC 203或其它KMC(在此为简明起见是H-KMC 203);
-由AP将用户对用户私钥的请求转发给H-KMC 203,并将H-KMC203所提供的私钥Apriv和最新的公共安全参数转发给用户201;
-由AP将SP202对私钥Bpriv和H-KMC 203主公钥s1P的请求转发给SP 202所注册的KMC(在此为H-KMC 203),并将H-KMC 203所提供的私钥Bpriv、主公钥s1P和最新的公共安全参数转发给SP 202。
上述根据本发明的在漫游情形下用户和SP之间的认证方法不仅仅局限于适用于用户漫游的情形,而是一般来说,可以适用于用户与SP不属于相同的KMC管理域的情况。
在本发明中,由于在认证和获取私钥过程中的流程较少,更新认证和获取私钥过程中所用的信息参数的频率较低,因此非常高效。此外,由于采用了ECC算法,在相同环境下与RSA相比,ECC算法可以为长度远小于RSA的密钥提供与之相当的安全性,因此减小了处理开销,提高了安全性。由此可见,本发明对无线通信非常有利。并且由于IBC所需的功率较低,因此IBC对于受限通信设备(例如功率有限的手机)非常有利。
在此描述的各种实施例可以应用于广泛的各种网络和技术本发明不仅适用于移动通信网络的业务认证,还可以应用于固定网络、下一代网络等的业务认证。
以上参照几个实施例本发明进行了大体上的描述。应注意,还可以将上述实施例以其任意组合形式来应用。正如本领域技术人员所知的,除了已在上面公开的这些实施例,在本发明的范围之内的其它实施例也同样可能。并且随着技术的进步,可以以许多不同的方式来实现本发明的基本构思。因此,本发明及其实施例不受限于上述示例,而是可以在权利要求的范围内改变。