在基于IP的电话环境中使用公钥基础设施(PKI)进行认证和身份管理的方法及装置与流程

文档序号:11138597阅读:730来源:国知局
在基于IP的电话环境中使用公钥基础设施(PKI)进行认证和身份管理的方法及装置与制造工艺

技术领域

本发明涉及用户认证技术,并且特别地,涉及在基于IP的电话网络中用于用户认证的方法和装置。



背景技术:

IP多媒体子系统(IMS)是用于向移动用户传送互联网协议(IP)多媒体的骨干网络。IMS网络典型地划分为接入域和网络域,每个都具有自己的安全规范。用户可通过接入网提供商的接入网来接入IP网络,然后通过一个或多个业务网络提供商提供的一个或多个业务网络访问不同的业务,例如语音、视频和流媒体。

IMS网络中的认证典型地基于公知的认证和密钥协商(AKA)机制。AKA是典型地用于3G网络的安全协议。AKA是使用共享秘密和对称加密算法的基于挑战响应的认证机制。AKA导致在用户设备以及能够向用户提供一组安全业务的IMS网络之间的安全关联(即,一组安全数据)的建立。

公共加密算法还没有被广泛应用于电话域。然而,在电话域,例如IMS网络中利用公钥基础设施(PKI)进行认证正呈增长趋势。虽然公共加密算法技术可以显著提高IMS网络的安全性,然而还存在许多技术上需要考虑的问题,这些问题以前限制了加密算法技术在IMS网络中的使用。特别地,关注的一个焦点为私有密钥可从包含在用户设备中的所声称的“安全”易失性存储器恢复。因此,任何允许在终端存储器内进行私有密钥的甚至是临时存储的方案都被认为是不可接受的。

因此存在IMS网络内基于公钥基础设施(PKI)的用于最终用户-网络的认证的需求。另外一个存在的需求为用于认证IMS网络中用户的方法和装置,其确保将私有密钥存储于安全智能卡或另一个安全存储器上。此外还存在的一个需求为用于认证IMS网络中用户的方法和装置,其确保所有包括私有密钥的计算都在安全智能卡或另一个安全处理器中执行。



技术实现要素:

通常地,提供在基于IP的电话环境,例如IMS网络中使用公钥基础设施(PKI)进行用户认证的方法和装置。根据本发明的一个方面,提供了一种由尝试访问基于IP的电话网络的用户设备执行的认证方法。从与用户设备相关联的安全存储器初始获取用户的一个或多个私有密钥。安全存储器可以是,例如,具有能够安全存储数据和对数据进行运算的IMS用户标识模块(ISIM)的智能卡的元件。之后,所公开的方法包括:生成完整性密钥和加密密钥;使用会话密钥加密完整性密钥和加密密钥;通过所述基于IP的电话网络的公共密钥加密所述会话密钥;以及,向基于IP的电话网络提供已加密的会话密钥、已加密的完整性密钥和已加密的加密密钥用于认证。

根据本发明的另一个方面,提供了一种利用尝试访问基于IP的电话网络的用户设备来认证用户的方法,用户通过以下方式来认证:获取通过所述基于IP的电话网络的公共密钥加密的已加密的会话密钥;从所述用户设备获取已加密的完整性密钥和已加密的加密密钥,其中所述完整性密钥和所述加密密钥由与所述用户设备相关联的安全设备使用所述用户的一个或多个私有密钥生成;使用所述基于IP的电话网络的公共密钥解密所述已加密的会话密钥;使用所述已解密的会话密钥解密所述已加密的完整性密钥和已加密的加密密钥;以及,基于公钥基础设施(PKI)计算来认证所述用户设备。

在各种示例性实现方式中,已加密的会话密钥、已加密的完整性密钥和已加密的加密密钥中的一个或多个可选地可使用一个或多个私有密钥进行加密。此外,用户身份可使用会话密钥进行加密。通过这种方式,用户身份可仅由会话密钥的持有者获得。可采用随机数(nonce)来防止重放攻击。

对本发明更完整的理解,连同本发明更进一步的特征和优点,将通过参考下面的详细描述和附图的方式获得。

附图说明

图1示出了可将本发明应用于其中的示例性IMS网络环境;

图2为结合本发明特征的示例性智能卡;

图3为描述在基于IP的电话网络,例如IMS网络中使用的PKI认证处理的示例性实施方式的流程图;和

图4为描述在基于IP的电话网络中由网络服务器使用的服务器认证处理的示例性实施方式的流程图。

具体实施方式

本发明提供在IMS网络内基于公钥基础设施(PKI)的最终用户-网络的认证。根据本发明的一个方面,使用存储在,例如与用户相关联的具有IMS用户身份模块(ISIM)的安全智能卡或用于IPTV的安全机顶盒上的一个或多个私有密钥在IMS网络中认证用户。根据本发明的另一个方面,在IMS网络中认证用户时,所有包括私有密钥的运算都在安全智能卡或另一个安全处理器上进行。如这里所使用的,“安全”设备,例如智能卡,将包括满足一个或多个预定义安全标准的设备。例如,具有ISIM的智能卡将包括安全智能卡。

通常地,所公开的公共密钥加密技术用于IMS网络执行相互的最终用户-网络认证,这将导致实质上类似传统AKA认证机制的密钥协商。此外,所公开的公共密钥加密技术不需要共享密钥。

图1示出了可将本发明应用于其中的示例性IMS网络环境100。虽然本发明在此处以示例性IMS网络环境100的环境中示出,然而本发明也可应用于其他基于IP的电话网络,例如SIP和有线电视,这对本领域普通技术人员来说是很明显的。如图1所示,示例性IMS网络环境100包括用户设备(UE)装置110和IMS核心网络系统120。用户设备装置110代表用户终端(例如无线电话或机顶盒)并且包括相关联的,例如具有ISIM应用的智能卡114。如在这里所使用的,智能卡114代表能够安全地存储秘密数据并对那些数据执行运算的任何实体。IMS核心网络系统120包括家庭网络130和访问网络140。

家庭网络130包括家庭用户服务器(HSS)132、互通呼叫会话控制功能(I-CSCF)134和服务呼叫会话控制功能(S-CSCF)136。备选地,S-CSCF 136可由负责用户认证的任何网络服务器实现。访问网络140包括代理呼叫会话控制功能(P-CSCF)144。通常地,IMS网络中定义的呼叫会话控制功能(CSCF)实体适于完成呼叫或会话过程中的诸如控制和路由功能。

代理、互通和服务CSCF基于它们相应的功能进行区分。P-CSCF 144适于用户设备110的接入,并且任意用户设备110可通过P-CSCF 144获得对IMS网络100的访问。S-CSCF 136提供诸如会话控制和路由的核心功能。I-CSCF 134适于选择S-CSCF 136,以及在不同服务提供商或不同区域网络之间相互通信。HSS 132适于存储用户的定制数据和配置数据(例如,用户证书),以及支持对用户的认证和授权(AAA)功能。

如图1所示,每个用户设备装置110包括第一接口105和第二接口150。接口105为用户设备装置110和IMS网络100之间的双向认证接口。接口105适于实现用户认证功能。接口150适于提供用户设备装置110和P-CSCF 144之间的通信安全性。

如前面所指出的,接口105和150典型地在3GPP中通过用户设备注册过程期间IMS AKA机制的应用加以实现。然而,本发明提供了在IMS网络内基于公钥基础设施(PKI)的最终用户-网络认证。

如下面所进一步讨论的,本发明一方面提出了现有的具有ISIM应用或另外的与具有用户私有密钥的用户设备装置110相关联的安全存储设备的智能卡,网络证书,基于私有密钥生成完整性密钥(IK)和加密密钥(CK)的(可选)功能,以及使用网络提供商将会选择的至少一个现有的PKI算法(诸如RSA,Eliptic Curves或E1Gamal)进行加密的ISIM应用的能力。本发明的另一方面提出了一种具有在最终-用户终端交流的新协议的IMS认证,ISIM和服务呼叫会话控制功能(S-CSCF)。

图2为结合本发明特征的,诸如ISIM的示例性智能卡200的框图。如图2所示,示例性智能卡200包括:

1)一个或多个用户私有密钥210(用于签名和加密),为简便起见,此处仅使用了一个Upr

2)用于计算完整性密钥IK和加密密钥CK的功能220(典型地在ISIM卡中已提供)。如下面所讨论的,可能需要将功能220扩充以用作输入、私有密钥、或某些其他密钥素材代替ISIM共享密钥;

3)(可选地),功能230用于随机计算一次性会话密钥KS,如下面所讨论的,其用于加密其他密钥,并且还作为网络-用户认证的挑战。这个密钥的长度通常等于IK和CK密钥的组合长度;以及

4)用户公有和私有标识240(诸如IMS中的IMS私有用户标识(IMPI)和IMS公有用户标识(IMPU)),出于示例的目的,组成一个串Id。

图3为用于IMS网络中的PKI认证过程300的示例性实现方案的流程图。通常地,会话开始于UE 310尝试注册到网络100时。为了注册,UE 310需要向网络认证,并且需要将服务器作为属于网络的服务器来认证。本发明的PKI认证是通过使用证书(参见例如ITU-T Rec.X.509)实现的。在这种情况下,假设(虽然这种假设不是必需的)网络作为证书证明机构,因此具有网络公共密钥的网络证书位于智能卡200中。

为了启动注册,UE 310在步骤325中请求智能卡305提供认证者Autn。智能卡305计算(如下面所解释的,可能与UE 310协作)认证者Autn,并在步骤330中向UE 310传送认证者Autn,如下面在会话题目为“认证者Autn的计算”中所进一步讨论的那样。

一旦计算出了Autn参数,接下来在步骤335,例如,其作为注册消息(诸如SIP注册方法)的一部分被传递至网络服务器315。这个认证过程并不是必需在注册期间进行。典型地,可在需要认证并且认证是任何协议的一部分的任何时间执行认证过程,这对本领域普通技术人员而言将是非常明显的。

虽然不是必须的(可能浪费带宽和执行时间),然而可能的是用户包括其整数以及Autn参数。当然在这种情况下,网络服务器315对证书的检索过程将被替换为如下所描述的其链条中的检验证书的过程。

一经接收到Autn参数,服务器315执行服务器认证处理400,下面结合图4做进一步的讨论。通常地,认证过程400基于所接收的Autn参数认证用户,并且计算网络服务器315用来向用户认证自身的Autn’参数。在步骤360,将Autn’参数发送到UE 310。

UE 310接收到Autn’参数消息时,UE 310检验网络签名,然而为了基于私有密钥解密,在步骤365中,取出对应于智能卡305的加密的随机数的部分。如果消息的完整性检验失败,或者解密值不等于freshness+1,则UE 310根据针对这种特定情况的网络策略继续。如果两次检验均通过,则该过程结束。

认证者Autn的计算

如上面结合图3所讨论的那样,在步骤330,智能卡305计算认证者Autn。认证者Autn可表示如下:

Autn=Upr{Npu[Ks]|Ks[Id,freshness,IK|CK]},

其中

1)freshness为保护通信免受重放攻击的随机数(例如,计时器值、或IMS SEQ参数、或其它任意随机数);并且通常在长度上与IK和CK密钥的组合长度相等;

2)“|”代表字符串连接操作;

3)Ks[…]代表通过密钥Ks执行的对称密钥加密运算(例如,DES、三重DES、AES、或一次一密乱码本);

4)Npu[…]代表通过来自网络证书的可用的网络公共密钥Npu的加密;

5)Upr{…}代表通过用户私有签名密钥进行签名运算。例如,首先计算变量的哈希(例如,SHA2哈希),接着通过所述密钥将结果加密,并且最后将所述结果与变量相连接。这种签名的存在解决了两个问题:第一,它保护消息的完整性,以及第二,它提供(结合freshness参数)不可否认特征,由于它构成用户已经发起会话的证据,所以对于运营商来说通常是非常重要的。

因此,结果Autn串由3个连接的部分组成:

Autn=A|B|C,其中

A=Npu[Ks],只能够通过网络来解密;

B=Ks[Id,freshness,IK|CK],只允许将Id和密钥恢复给密钥Ks的持有者,其中,再次,可以仅通过网络从A导出;以及

C=Upr[Hash(A|B)],允许之前的两个部分的完整性检查以及向接收机证明用户已经发布了消息。

值得注意的是,完全地保护了用户的身份(包含在B中)。

进一步值得注意的是,单独地计算B的步骤不是非常重要。因为在实现中,它被用于最小化高价的私有密钥的计算。替代方式是计算A=Npu[Id,freshness,IK|CK]并且完全省略B,在这种情况下可以不需要导出Ks

为了优化性能,上述计算的某些部分(例如,不涉及用户私有密钥运算的那些)实际上可以在UE 310上执行,在这种情况下,可能需要在UE 310和智能卡305之间交换一个或多个携带所述计算的结果的消息。

在本发明的示例性实施例中,通常总是在卡305上执行的唯一运算是通过私有密钥的签名。最后,相比于其余的运算,它是唯一可能需要的密集计算。

服务器认证处理400

如上述结合附图3的讨论,网络服务器315执行服务器认证处理400以基于所接收的Autn参数来认证用户以及计算网络服务器315用于向用户认证其自身的Autn’参数。

图4为描述IMS网络中由网络服务器315使用的服务器认证处理400的示例性实施方案的流程图。如图4所示,在步骤410中,网络服务器315最初使用它的私有密钥解密A并且从所接收的Autn参数恢复密钥KS,作为恢复其它参数的手段。

接着,在步骤420中,服务器认证处理400接着使用密钥KS解密B以及恢复用户的身份Id。一旦得到确认,网络服务器315检查合法用户的订阅目录中是否有通过这个身份索引的记录,并且,如果有,用户是否被授权注册或接收由其中携带这个参数的特殊协议消息指定的任何其它服务。网络服务器315还检索用户的证书(除非如上所述有用户发送证书的需要)。如果在表中没有条目,处理停止并且,根据网络安全策略,或者在服务器过载报告为拒绝服务攻击的情况下,可以记录事件。

在步骤430中,网络服务器315继续恢复随机数freshness并且确定是否有重放的可能性。例如,如果使用了时间戳,则网络服务器315检查它是否在可接受的时间窗中。同样地,如果使用了序列号(例如,AKA算法中的序列),则网络服务器315会再次检查它的值是否在可接受的范围内(并且,如果不是,它可以与UE 310发起重新排序过程)。如果检查不合格,过程结束并且,根据网络安全策略,或者在服务器过载报告为拒绝服务攻击的情况下,特别是如果有明显的重放指示,可以记录事件。

在步骤440中,网络服务器315a)通过用户的公共密钥(从用户的证书获得)来解密C;b)计算A|B的哈希;以及c)比较a)和b)中所获得的量。如果这些量不同,该消息被认为是篡改的,或者在服务器过载报告为拒绝服务攻击的情况下,可以记录事件(这个步骤可以在步骤3之前)。

然后,在步骤450中,网络服务器315继续恢复IK和CK。在这个时候,用户310到网络的认证已经完成,并且因为网络会具有AKA认证技术,所以它具有相同的信息。

为了向用户认证其自身(并且有效地确认用户认证的成功),在步骤460,网络服务器315计算Autn’的参数,如下:

Autn’=Npr{Upu[freshness+1]},

其中,

1)Upu[…]代表通过来自用户证书的可用的用户公共密钥Upu的加密;

2)Npr[…]代表通过网络私有签名密钥的签名运算:首先计算变量的哈希(例如,SHA2哈希),接着利用所述密钥将结果加密,并且最后将所述结果与变量相连接。这种签名的存在解决了两个问题:第一,它保护消息的完整性,以及第二并且更为重要的是,它提供消息来自网络的证据。

结论

在其它益处中,本发明确保充分完好地转发IMS会话的秘密,因为会话安全的安全性不比依靠现有的IMS认证机制(AKA)差。本发明还确保,也能够使用AKA中现有的其它因素认证机制(例如,序列号,SQN),如果网络运营商需要。本发明还可以确保用户隐私,因为不需要明显地传送用户身份。最后,本发明可以有选择地确保只在智能卡上执行绝对必要的计算,从而识别这种计算的低效率。

虽然图3和图4示出了步骤的示例性顺序,但是顺序可以改变也是本发明的实施例。算法的各种置换都作为本发明的可替换的实施例。

虽然通过参考软件程序中的过程步骤描述了本发明的示例性实施例,但是所属技术领域的技术人员可以了解的是,在数字领域中可以实现各种功能,如软件程序中,或电路元件或状态机的硬件中,或软件和硬件的组合中的过程步骤。所述软件可以被部署在,例如,数字信号处理、微控制器、或通用计算机中。所述硬件和软件额可以体现在集成电路中实现的电路中。

因此,本发明的功能可以按方法和用于实现那些方法装置的形式来体现。本发明的一个或多个方面可以按程序代码的形式来体现,例如,是否存储在存储媒介中、加载到机器中和/或由机器执行、或通过一些传输媒介传输,其中,当程序代码被加载到机器中并且被机器(例如,计算机)执行时,所述机器成为实现本发明的装置。当在通用处理器上实现时,程序代码段结合处理器以提供与特定的逻辑电路近似地运行的设备。本发明还可以在一个或多个集成电路、数字信号处理器、微处理器、以及微控制器中实现。

系统和产品的细节

如现有技术中已知的,本发明所讨论的方法和装置可以作为产品而分布,其自身包括具有体现计算机可读代码装置的计算机可读媒介。结合计算机系统,计算机可读程序代码装置是可操作的,执行全部或部分步骤以实现本发明所讨论方法或创建本发明所讨论的装置。计算机可读媒介可以是可记录媒介(例如,软盘、硬盘、光盘、存储卡、半导体设备、芯片、特定用途集成电路(ASIC))或者可以是传输媒介(例如,包括光纤的网络,万维网,电缆,或者使用时分多址、码分多址、或其它射频信道的无线信道)。可以使用任何已知或发展中的能够存储适于计算机使用的信息的媒介。计算机可读代码装置为允许计算机读取指令和数据任何装置,例如,磁性媒体上的磁变或光盘表面的高度变化。

本发明描述的计算机系统和服务器均包括存储器,其将配置相关的处理器以实现本发明所公开的方法、步骤、和功能。存储器可以是分布式的或本地的并且处理器可以是分布式的或单一的。存储器可以实现为电性的、磁性的或光学的存储器,或者这些或其它类型的存储设备的任意组合。此外,术语“存储器”应当充分广泛地解释为包含任意能够被读取的信息或在相关处理器可访问的可寻址空间的地址中写入任意信息。通过这种定义,因为相关的处理器能够从网络中检索信息,网络上的信息仍然在存储器中。

应该明了的是,本发明所描述的和示出的实施例和变化仅是本发明原理的说明并且所属技术领域的技术人员在不脱离本发明的范围和精神的情况下可以实现各种修改。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1