端到端加密数据电信的合法侦听转让专利

申请号 : CN02824452.4

文献号 : CN100592731C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : I·乌斯塔罗P·阿霍宁R·布洛姆K·波曼M·奈斯伦德

申请人 : 艾利森电话股份有限公司

摘要 :

本发明提供了一种便于合法侦听在两个或更多个终端(12)、(13)之间的用加密保证电信安全的IP会话的方法。这种方法包括将一个分配给所述终端(12)、(13)中的至少一个终端的密钥或分配给使用终端(12)、(13)的用户中的至少一个用户的密钥存储在终端(12)、(13)和使所述会话得以进行的网(1)、(6)内的节点(5)、(8)或者一个与这网连接的节点。在创建所述会话前,在存储密钥的终端(12)、(13)和所述节点(5)、(8)之间交换一个种子值。在终端(12)、(13)和节点(5)、(8)双方用密钥和种子值产生一个先决主密钥。先决主密钥对在IP会话中涉及的每个终端(12)、(13)和对网节(5)、(8)都成为已知的。这个先决主密钥用来直接或间接地对与所述IP会话关联的电信加密和解密。

权利要求 :

1.一种便于合法侦听两个或更多个终端之间的数据会话的方法, 其中所述会话用加密保证电信安全,所述方法包括下列步骤:将配给所述终端中的至少一个终端的密钥存储在这终端处和存储 在使所述会话得以进行的这终端的用户与之签约的归属网的一个节点 处,其中所述密钥是仅为这终端和这终端的用户与之签约的归属网共 享的秘密密钥;

在将一个会话建立请求从存储所述密钥的主叫终端传送给被叫终 端前,从所述节点向该存储所述密钥的主叫终端发送一个种子值;

在该主叫终端处用所述密钥和所述种子值产生一个先决主密钥, 所述先决主密钥接着对于这主叫终端和数据会话中所涉及的每个其他 终端也成为已知的;以及用所述先决主密钥直接或间接对与所述会话关联的电信加密和解 密。

2.权利要求1的方法,其中所述节点产生先决主密钥,供合法侦听 数据会话用。

3.权利要求1或2的方法,其中所述在该主叫终端处用所述密钥和 所述种子值产生一个先决主密钥的步骤包括用一个密钥交换程序将一 个第一交互参数从所述主叫终端发送给另一个终端和将一个第二交互 参数从这另一个终端发送给所述主叫终端。

4.权利要求3的方法,其中所述密钥交换程序是Diffie-Hellman交 换。

5.权利要求4的方法,所述方法还包括对所述密钥和种子值应用一 个密钥导出函数得出一个第二密钥,再产生所述第二密钥的一个幂, 供在Diffie-Hellman交换中使用。

6.权利要求1的方法,其中从所述节点向该存储所述密钥的主叫终 端发送种子值和产生先决主密钥的步骤在每次要建立一个新的数据会 话时执行。

7.权利要求6的方法,其中从所述节点向该存储所述密钥的主叫终 端发送种子值和产生先决主密钥的步骤为每个数据会话执行,无论是 否需要予以合法侦听。

8.权利要求1的方法,其中所述先决主密钥由数据会话中所涉及的 终端用来产生一个或多个电信加密密钥,所述电信加密密钥用来对与 数据会话关联的电信加密。

9.权利要求1的方法,其中所述至少一个终端接在一个外部网上, 而所述种子值通过这个外部网发送给所述至少一个终端。

10.权利要求9的方法,还包括在所述节点产生第二密钥,将所述 第二密钥与种子值一起发送给外部网,以及将种子值而不是所述第二 密钥发送给所述至少一个终端。

11.权利要求1的方法,其中所述数据会话是一个IP数据会话。

12.一种用于通信终端的用户模块,所述模块包括:

一个存储分配给一个使用所述通信终端的用户的一个密钥的存储 器,其中所述密钥是仅为所述通信终端和所述通信终端的用户与之签 约的归属网共享的秘密密钥,并且也被存储在所述通信终端的用户与 之签约的归属网的一个节点处;

在传送一个在通信终端之间的会话建立请求前从使加密数据会话 得以进行的存储所述密钥的所述节点接收一个种子值的装置;

用所述密钥和所述种子值产生一个对于这终端和数据会话中所涉 及的每个其他终端也成为已知的先决主密钥的装置;以及用先决主密钥直接或间接对与所述会话关联的电信加密和解密的 装置。

13.一种用于侦听与接到一个通信网上的两个或更多个终端之间 进行的数据会话关联的加密电信的网络节点,所述节点包括:一个存储分配给一些终端或向所述网注册的用户的密钥的存储器,其 中所述密钥是仅为所述终端或所述用户的终端与其归属网共享的秘密 密钥;

在一些终端之间传送一个会话建立请求和在这些终端之间建立数 据会话前向这些终端发送种子值的装置;以及用所述密钥和所述种子值产生一个先决主密钥或者将所述密钥和 所述种子值传送给具有用所述密钥和所述种子值产生一个先决主密钥 的装置的另一个节点的装置。

14.一种保证在多个各接到一个通信网上而其中至少一个配属一 个归属网的终端之间发送的数据安全的方法,所述方法包括下列步骤:从归属网通过相应通信网向配属所述归属网的所述终端发送一个 种子值,作为呼叫信令级认证程序的一部分;以及在所述配属所述归属网的所述终端用所述种子值产生一个或多个 电信加密密钥,供对与终端之间的呼叫关联的电信进行端到端加密使 用。

15.权利要求14的方法,其中所述配属所述归属网的所述终端是接 到一个移动通信网上的移动无线终端。

16.权利要求14或15的方法,所述方法包括将一个秘密密钥存储在 所述至少一个配属所述归属网的终端和归属网内,以及将这个秘密密 钥或一个从此得出的密钥从归属网发送给所述通信网,供在所述认证 程序中使用,所发送的密钥还由无线终端用来产生所述电信加密密钥。

17.权利要求16的方法,其中所述产生一个或多个电信加密密钥的 步骤包括执行在所述终端之间的密钥交换程序。

18.权利要求14的方法,其中用会话启动协议来建立和控制终端之 间的呼叫。

19.权利要求18的方法,所述方法还包括将所述种子值从所述归属 网的一个S-CSCF节点经过所述通信网的一个P-CSCF节点发送给所述配 属所述归属网的终端。

20.权利要求19的方法,其中所述呼叫信令级认证程序是一个IMS AKA程序。

21.权利要求16的方法,所述方法还包括将所述电信加密密钥转发 给一个合法侦听权力机构,从而在一个呼叫建立时可以将加密的电信 转发给这个权力机构解密。

22.一种在一个由一个第一网络服务的第一终端和一个由一个第 二网络服务的第二终端之间在端到端保证安全的基础上传送数据的方 法,所述方法包括:一个第一认证和密钥商定子阶段,涉及将一个第一组值从第一终 端的指定归属运营方发送给第一网络和根据第一组值得出第一终端要 用的至少一个第一加密参数;

一个第二认证和密钥商定子阶段,涉及将一个第二组值从第二终 端的指定归属运营方发送给第二网络和根据第二组值得出第二终端要 用的至少一个第二加密参数;

一个密钥交换子阶段,涉及将一个第一交互参数从第一终端发送 给第二终端和将一个第二交互参数从第二终端发送给第一终端;以及一个通信阶段,在这个阶段第一终端和第二终端通过一个在第一 终端内根据所述至少一个第一加密参数和所述第二交互参数和在第二 终端内根据所述至少一个第二加密参数和所述第一交互参数端到端加 密的连接交换信息。

23.一种按照权利要求22传送数据的方法,其特征是至少在第一网 络内根据第一加密参数和第二交互参数和在第二网络内根据第二加密 参数和第一交互参数其中之一侦听在第一终端和第二终端之间的信息 交换。

24.一种在第一和第二终端之间在端到端保证安全的基础上传送 数据的系统,所述系统包括:一个为第一终端服务的第一网络;

一个为第二终端服务的第二网络;

第一网络具有一个对第一终端的指定归属运营方和第二网络的接 口,而第二网络具有一个对第二终端的指定归属运营方和第一网络的 接口,以及至少一个存储在建立所述终端之间的端到端保证安全连接期间在 第一终端和第二终端之间交换的任何交互参数的合法侦听数据库,所 述至少一个合法侦听数据库是从至少第一网络和第二网络其中之一可 接入的。

25.一种与至少一个其他终端在端到端保证安全的基础上传送数 据的第一终端,所述第一终端由一个第一网络服务,所述至少一个其 他终端由一个第二网络服务,所述第一终端的特征是它包括:一个第一加密单元,用来向第一终端的指定归属运营方请求一个 第一组值和接收至少一个第一加密参数;

一个密钥交换单元,用来将一个第一交互参数发送给所述至少一 个其他终端和从所述至少一个其他终端接收一个第二交互参数;以及一个数据收发机,用来通过一个根据所述至少一个第一加密参数 和所述第二交互参数端到端加密的连接与所述至少一个其他终端交换 信息。

说明书 :

技术领域

本发明涉及便于合法侦听例如为IP电信(IP traffic)的数据电 信(Data traffic)的方法和设备。

背景技术

现在能通过互联网建立包括数据连接以及语音和可视电话连接在 内的各种连接。随着互联网的速度和范围的增大,可以预期使用语音 和可视电话的机会也会增多。虽然当前的技术还倾向于将IP多媒体会 话限制在接到互联网上的计算机终端,但未来的技术将会提供在各小 型专用电话终端和诸如PDA、掌上计算机之类的其他移动设备之间的IP 多媒体会话。
为了使这样的设备赢得普遍信任,一个必须考虑的关键问题是安 全性。两个主要所关切的是避免非法窃听和要求认证通信中所涉及的 终端(即保证“用户”所连接的终端是用户想连接的终端,反之亦然)。 然而,这些所关切的并不是只是对IP多媒体来说的,而是许多不同形 式的IP通信所共同的。有一些协议用密码和/或认证来保证数据电信安 全。
一个这样的保安协议称为IPsec(IETF RFC2401)。为了使IPsec分 组可以正确地封装和拆装,必须将保安业务与在要发送的电信和作为 电信的预定接收方的远程节点之间的密钥相关联。为此所用的结构为 “保安关联(Security Association,SA)”。第二种保安协议称为 SRTP(保安实时协议(Secure Real-Time Protocol)),见 “draft-ietf-avt-srtp-02.txt”。可以预期称为3GPP的第三代移动网 体系结构将采用SRTP作为保证IP多媒体电信安全的协议。当然,诸如 IPsec之类的其他协议也可以用于其他移动网体系结构。
在互联网草案“draft-ietf-msec-mikey-00.txt”中,描述了一 个称为多媒体互联网密钥形成(MIKEY)的密钥管理方案供实时应用使 用。这个方案考虑到保安关联(SA)的创建和先决主密钥(Pre-Master Key,PMK)的分发。(实际上,MIKEY将这些密钥标为“TEK产生密钥”, 但PMK是一个更为普遍的术语,将在各处使用,因为本发明的使用并不 局限于MIKEY。)PMK用来为每个保密会话得出一个电信加密密钥(TEK)。 具体地说,TEK用作对所选保安协议(即SRTP)的密钥输入。

发明内容

传统的电路交换电话网为合法侦听电话呼叫采取了措施。这样的 侦听必须由主管当局指使,是对抗欺诈及其他罪行的重要手段。可以 理解,所希望的是为合法侦听IP会话(无论是否为纯数据、VoIP、视频 等)提供方便。然而,这有一个潜在的问题,因为将使用的IP保安协议 已设计成能提供涉及强加密的终端到终端的保安措施。
如果执行一个诸如MIKEY草案之类的协议,保安机制将有赖于IP会 话方商定的先决主密钥(PMK)。PMK可以由会话的发起方提出,被应答 方接受(或拒绝),也可以用在会话各方之间交换的值产生。商定PMK形 成IP多媒体密钥管理功能的一部分。PMK商定后,多媒体密钥管理功能 可以用一个与应答方共享的秘密密钥(secret key)或用应答方的公 开密钥(public key)对PMK加密,或者发起方可以计算一个 Diffie-Hellman模的幂,以得到PMK。可以看到,为了侦听与会话关联 的电信,第三方必须知道PMK。
本发明的目的是便于合法侦听一个需要会话各方商定一个PMK供 保证通过会话发送的电信安全使用的IP会话。
按照本发明的第一方面,提供了一种便于合法侦听两个或更多个 终端之间的数据会话的方法,其中所述会话用加密保证电信安全,所 述方法包括下列步骤:
将配给所述终端中的至少一个终端的密钥存储在这终端处和存储 在使所述会话得以进行的这终端的用户与之签约的归属网的一个节点 处,其中所述密钥是仅为这终端和这终端的用户与之签约的归属网共 享的秘密密钥;
在将一个会话建立请求从存储所述密钥的主叫终端传送给被叫终 端前,从所述节点向该存储所述密钥的主叫终端发送一个种子值;
在该主叫终端处用所述密钥和所述种子值产生一个先决主密钥, 所述先决主密钥接着对于这主叫终端和数据会话中所涉及的每个其他 终端也成为已知的;以及
用所述先决主密钥直接或间接对与所述会话关联的电信加密和解 密。
按照本发明的第二方面,提供了一种用于通信终端的用户模块, 所述模块包括:
一个存储分配给一个使用所述通信终端的用户的一个密钥的存储 器,其中所述密钥是仅为所述通信终端和所述通信终端的用户与之签 约的归属网共享的秘密密钥,并且也被存储在所述通信终端的用户与 之签约的归属网的一个节点处;
在传送一个在通信终端之间的会话建立请求前从使加密数据会话 得以进行的存储所述密钥的所述节点接收一个种子值的装置;
用所述密钥和所述种子值产生一个对于这终端和数据会话中所涉 及的每个其他终端也成为已知的先决主密钥的装置;以及
用先决主密钥直接或间接对与所述会话关联的电信加密和解密的 装置。
按照本发明的第三方面,提供了一种用于侦听与接到一个通信网 上的两个或更多个终端之间进行的数据会话关联的加密电信的网络节 点,所述节点包括:
一个存储分配给一些终端或向所述网注册的用户的密钥的存储器,其 中所述密钥是仅为所述终端或所述用户的终端与其归属网共享的秘密 密钥;
在一些终端之间传送一个会话建立请求和在这些终端之间建立数 据会话前向这些终端发送种子值的装置;以及
用所述密钥和所述种子值产生一个先决主密钥或者将所述密钥和 所述种子值传送给具有用所述密钥和所述种子值产生一个先决主密钥 的装置的另一个节点的装置。
按照本发明的第四方面,提供了一种保证在多个各接到一个通信 网上而其中至少一个配属一个归属网的终端之间发送的数据安全的方 法,所述方法包括下列步骤:
从归属网通过相应通信网向配属所述归属网的所述终端发送一个 种子值,作为呼叫信令级认证程序的一部分;以及
在所述配属所述归属网的所述终端用所述种子值产生一个或多个 电信加密密钥,供对与终端之间的呼叫关联的电信进行端到端加密使 用。
按照本发明的第五方面,提供了一种在一个由一个第一网络服务
按照本发明的第二方面,提供了一种用于通信终端的用户模块, 所述模块包括:
一个存储分配给一个使用所述通信终端的用户的一个密钥的存储 器,其中所述密钥是仅为所述通信终端和所述通信终端的用户与之签 约的归属网共享的秘密密钥,并且也被存储在所述通信终端的用户与 之签约的归属网的一个节点处;
在传送一个在通信终端之间的会话建立请求前从使加密数据会话 得以进行的存储所述密钥的所述节点接收一个种子值的装置;
用所述密钥和所述种子值产生一个对于这终端和数据会话中所涉 及的每个其他终端也成为已知的先决主密钥的装置;以及
用先决主密钥直接或间接对与所述会话关联的电信加密和解密的 装置。
按照本发明的第三方面,提供了一种用于侦听与接到一个通信网 上的两个或更多个终端之间进行的数据会话关联的加密电信的网络节 点,所述节点包括:
一个存储分配给一些终端或向所述网注册的用户的密钥的存储器,其 中所述密钥是仅为所述终端或所述用户的终端与其归属网共享的秘密 密钥;
在一些终端之间传送一个会话建立请求和在这些终端之间建立数 据会话前向这些终端发送种子值的装置;以及
用所述密钥和所述种子值产生一个先决主密钥或者将所述密钥和 所述种子值传送给具有用所述密钥和所述种子值产生一个先决主密钥 的装置的另一个节点的装置。
按照本发明的第四方面,提供了一种保证在多个各接到一个通信 网上而其中至少一个配属一个归属网的终端之间发送的数据安全的方 法,所述方法包括下列步骤:
从归属网通过相应通信网向配属所述归属网的所述终端发送一个 种子值,作为呼叫信令级认证程序的一部分;以及
在所述配属所述归属网的所述终端用所述种子值产生一个或多个 电信加密密钥,供对与终端之间的呼叫关联的电信进行端到端加密使 用。
按照本发明的第五方面,提供了一种在一个由一个第一网络服务 个其他终端和从所述至少一个其他终端接收一个第二交互参数;以及
一个数据收发机,用来通过一个根据所述至少一个第一加密参数 和所述第二交互参数端到端加密的连接与所述至少一个其他终端交换 信息。
本发明可取的是包括将一个秘密密钥存储在所述移动终端和存储 在归属网内,以及将这个密钥从归属网发送给所述移动网供在所述认 证程序中使用,这个密钥也由无线终端用来产生所述电信加密密钥。 产生一个或多个电信加密密钥的步骤包括执行各终端之间的密钥交换 程序。
可取的是,用会话启动协议来建立和控制终端之间的呼叫,而本 发明包括将所述随机值从所述归属网通过所述移动网的一个P-CSCF节 点发送给移动终端。更为可取的是,所述呼叫信令级认证程序是一个 IMS AKA程序。
可取的是,本发明还包括将所述随机值转发给合法侦听权力机构, 使之能计算出电信加密密钥,从而在一个呼叫建立后可以将加密的电 信转发给权力机构进行解密。
在所附权利要求书中还给出了本发明的其他一些情况和可取的特 色。

附图说明

图1原理性地例示了使两个移动终端之间可以建立IP会话的通信 网;
图2示出了在图1的移动终端与一个网节点之间交换的与确立一个 共享的秘密密钥有关的信令;
图3为例示侦听IP会话的方法的流程图;
图4例示了与Diffie-Hellman交换有关的信令;
图5例示了UE向访问网注册的网结构;
图6例示了AKA协议;
图7例示了与认证和保安有关的UE的模块;
图8例示了在建立SIP呼叫中的步骤;以及
图9详细地例示了在建立两个接到不同的3G网上的用户之间的SIP 中的步骤。

具体实施方式

图1所例示的通信系统包括第一移动通信网1,对于本说明来说假 设为一个3GPP(或UMTS)网。在3GPP网1内的是一个UMTS陆地无线电接 入网(UTRAN)2和一个GPRS网3。GPRS网包括一个或多个服务GPRS支持 节点(SGSN)4和一个或多个网关GPRS支持节点(GGSN)5。SGSN 4的职责 是维护预订数据(标识号码和地址)和跟踪网内用户设备(UE)的位置。 GGSN 5的职责是维护预订信息和配给的IP地址,以及跟踪UE所接的 SGSN 4。网1还含有一些用户数据库,例如HSS或AuC/HLR 14,用来维 护有关用户的预订信息、用于保安的密钥应用信息等。
图1还例示了第二移动通信网6,也假设为是一个3GPP网。这个网 也包括形成一个GPRS网9的一部分的一些SGSN 7和GGSN 8,以及一个 UTRAN 10。GGSN 5、8都接到IP网11上。UE 12、13分别接到第一和第 二网1、6上。3GPP为UE提供了一种“始终连接”服务,使得UE只要是 向一个网(归属网或访问网)注册了这种服务,它们就可以分配到IP地 址,从而可以接收和发送数据而不需要建立连接。可用呼叫建立协议, 例如会话启动协议(Session Initiation Protocol,SIP),来建立图 1的两个UE 12、13之间的多媒体会话。(SIP将稍后予以详细说明。在 这里只要知道可用SIP通过“邀请”其他用户参加会话建立会话即可。) 在GPRS网3、9内,是GGSN 5、8实现网络运营方的策略,例如哪些用户 可以得到哪种服务、用户的优先权等。
通常,在一个用户向一个3GPP网的运营方注册时,他得到一个用 户标识模块(SIM)卡,上面存有一个唯一国际移动用户标识(IMSI)代 码。除IMSI之外,在这里建议将一个秘密密钥k也存储在SIM卡上。这 个密钥只有网络运营方和用户(确切地说是用户的SIM卡)知道,而这个 密钥的一个拷贝存储在配属例如用户的归属网的HSS或HLR/AuC的用户 数据库(SDB)14内。存储在用户的SIM卡上(或者存储在用户的UE的存储 器内)和SDB 14内的还有一个伪随机函数,诸如SHA-1或MD5或3GPP Milenage算法(见3GPP TS 35.205-35.209)之类的密钥形成散列(或 MAC,消息认证码)之类。
由于上面提到的原因,可能需要对两个UE 12、13之间的IP会话进 行侦听。侦听执行的情况如下。
假设会话由第一UE 12发起。UE 12通过它所接的GGSN 5发送一个 邀请消息。这个邀请消息标出了发起UE 12和响应UE(在这种情况下为 UE 13)。在这个阶段,会话启动处在等待状态,而对数据库14进行审 阅,确定它是否存有发起UE 12的密钥。如果在数据库14内没有存有密 钥,会话启动就不允许继续,于是可以返回给UE 12一个通知消息。另 一方面,如果存有UE 12的密钥,SDB 14就产生一个随机数或“一次性 数(nonce)”通过GGSN 5返回给UE 12。这个一次性数为进一步计算 提供了一个种子值(seed value)。一次性数不需要保安(即加密)地传 输给UE 12。然后,UE 12和SDB 14双方通过对共享的密钥和一次性数 应用伪随机函数计算出一个先决主密钥(PMK)k_m,即
k_m=PRF(k,nonce)
确定了PMK后,GGSN 5就将邀请消息通过“IP多媒体子系统”15、 16(分别由移动网1、6的运营方运营)传送给响应UE 13的归属网6。响 应UE 13通过所接的GGSN 8接收到邀请消息。假设响应UE 13愿意接受 会话建立请求,于是密钥交换协议(例如为MIKEY)的阶段1开始。这 要求UE 12向UE 13发送它与SDB 14一起确定的PMK。PMK可以用UE 12、 13共享的秘密密钥或者用响应UE 13的公开密钥加密(SRTP没有规定应 该怎样交换或协商PMK,它只要求共同的秘密PMK必须为各方所知,例 如通过利用MIKEY)。不论是哪种情况,结果是UE 12、13和发起UE 12 所接的SDB 14在阶段1结束时都知道PMK。
在密钥交换协议的阶段2中,UE 12、13用共享的PMK产生一个电信 加密密钥(TEK)。在上面提到的MIKEY草案中提出了所涉及的程序。由 于计算TEK所需的算法和参数(包括PMK)SDB 14是知道的,因此SDB可 以计算出TEK。一旦产生了TEK,就可以开始IP会话。电信在使用这个 TEK的UE 12、13内用例如SRTP加密和解密。在有些情况下,在密钥交 换协议的阶段2可以产生一对TEK,其中一个TEK用来对一个方向上的电 信加密而另一个TEK用来对相反方向上的电信加密。
可以看出,与会话关联的IP电信将始终通过GGSN 5。因而,GGSN 5 能对电信进行侦听,如果从SDB 14得到这些密钥,就可用TEK对它解 密。然后,可将经解密的电信传送给诸如警方之类的政府权力机构。 或者,也可以是在会话建立期间网运营方将TEK转给政府权力机构。在 GGSN 5处侦听得的电信因此直接传送政府权力机构,政府权力机构可 以用先前接收到的TEK对电信解密。
图2例示了与PMK产生和交换阶段有关的信令。图3为进一步例示这 种机制的流程图。可以理解,如果批准对这个IP会话进行合法侦听, 也只是GGSN可得到TEK。
可以在一些政府和网运营方之间进行协商,使一个政府权力机构 可以侦听在一个有利害关系的政府的权力范围外的一个UE发起的IP会 话。在这种情况下,可以将在一个外部网的节点产生的PMK从这个外部 网发送给在这个有利害关系的政府的权力管辖下的网。然后可以用PMK 来侦听IP会话。
虽然以上就UE和移动网进行说明,但是不应认为本发明局限于移 动网。本发明也适用于在接到固定线路网上和其他无线网上的终端之 间进行的IP会话和在接到不同类型的网上的终端(例如一个是移动终 端而另一个是固定线路终端)之间进行的IP会话。本发明可以用于连 接到同一个接入网上的UE和连接到不同的接入网上的UE。
在上述程序的一种变型中,可以用一种诸如数据加密标准(DES)或 高级加密标准(AES)之类的加密函数而不是用伪随机函数根据一次性 数和共享秘密密钥产生PMK。在另一个变型中,可以用共享秘密密钥的 一部分或它的改进型而不是用整个共享秘密密钥k产生PMK。在又一个 变型中,TEK从PMK通过一个或多个中间加密密钥得出。
熟悉该技术领域的人员可以看到,在不背离本发明的专利保护范 围的情况下可以对以上说明的实施例进行各种修改。例如,可以用参 与的UE之间的Diffie-Hellman交换产生PMK,而不是由发起UE产生 PMK。
设(G,*)是一个交换群。对于自然数x和G内的g,设
g^x=g*g*...*g
(g的x次方)。考虑在给定g和x时计算y=g^x这个问题。按照“二进 制”方法,这可以用log_2(x)群操作(“相乘”和“自乘”)来实现。 现在考虑在给定y(=g^x)和g的情况下求x的反演问题。这称为(离散) 对数问题。如果群(G,*)包括在乘法下的实数,对数几乎就象计算g^x 本身那样容易计算。然而,有时候,例如在(G,*)为
1.在乘法下对一个适当的质数p的模的整数
2.在加法下一条适当的椭圆曲线上的点,
时,对于对数问题尚不知道有什麽高效率的算法(最好的通用方法 的运行时间大致与|G|^(1/2)成正比,其中|G|为群的测度),虽然“正 向求幂”仍然是可高效率计算的。
基于离散对数问题呈现为难对付的,Diffie-Hellman采用以下密 钥商定方法。设(G,*)是这样的一个“硬”群,再设g为G的一个指定 元。下面以两个终端UEA和UEB为例在图4中例示了这个协议的情况。(注 意由可交换性:yB^xA=(g^xB)^xA=(g^xA)^xB=yA^xB。)Diffie- Hellinan交换的结果是一个提供PMK的共享秘密密钥k。
实际上,由于保安原因,可以不直接用k来加密电信,而是从PMK k 得出某个通信加密密钥(TEK)(例如通过取PMK的一个散列)。对于完备 的保安来说,UEA和UEB将需要相互认证,无论是用先前已知的共享秘密 密钥还是用数字签名和证件。
综合运用网与UE之间的一次性数交换和Diffie-Hellman交换,就 可以得到一种得到共享秘密密钥的可靠机制,这种机制允许进行合法 侦听。这涉及从SDB向发起UE发送一个一次性数。UE和SDB双方对这个 一次性数和共享秘密密钥应用伪随机函数,产生值x。UE按照g^x产生 值g的x次幂,其中g为一个非秘密值,至少对于参与通信的UE和对于SDB 来说是已知的。计算得的值(第一交互参数)发送给响应UE。响应UE 从它所连接的SDB接收到一个一次性数后,就用它产生一个共享秘密密 钥y,再计算出g^y(第二交互参数),将它返回给发起UE。于是双方按 照k_m=g^(xy)计算PMK。在这个过程期间,一个诸如GGSN之类的布点 可以截获或“发现”从响应UE发给发起UE的值g^y。只要GGSN已经知道 x的值(例如,是SDB给它的),它就也可以计算出PMK。这使GGSN可以对 电信解密。此外,在一个优选的备选方案中,GGSN只是将电信转给侦 听中心,而密钥另外转给侦听中心,在侦听中心对电信解密。
可以理解,在UE从它的归属网(即UE所签约的网,参见图5)漫游入 一个访问网的覆盖区的情况下,秘密密钥k只是对于UE和它的归属网是 已知的。为了保安,最好是密钥k不让访问网知道。然而,仍然可以对 在访问网内的UE进行合法侦听。在这种情况下,一次性数可以从归属 网通过访问网发送给UE。同时,归属网计算出PMK,将它发送给访问网。 因此,访问网可以对用PMK(或者从PMK得出的TEK)加密的电信解密。在 采用Diffie-Hellman交换的情况下,访问网得到归属网发送的值x,而 且可以侦听到值g^y,从而使访问网可以计算出PMK{g^(xy)}。
3G(UMTS)蜂窝标准支持移动终端(UE)与网(无线电网控制器(RNC) 节点)之间的认证和密钥商定。这个协议的一个称为认证和密钥商定 (AKA)协议的部分用来确定一个保护UE与RNC之间的链路内的电信的密 钥。然而,这个现有技术的协议没有考虑用这个密钥或者一些从这个 密钥得出的密钥来保证电信在这个链路外的安全。在这里提出用密钥 来保证电信端到端即从用户终端到用户终端的安全。
AKA的工作情况如下。移动终端UE和它的归属网共享秘密密钥k(存 储在UE的SIM卡上和存储在运营方的SDB即HSS或HLR/AuC内)。在UE接 到一个访问网上时,这个访问网向归属网请求一个由五个值组成的“五 位字节”。在这里有关系的只是其中的三个值,rand、XRES和kc。值 rand是一个用归属网产生的随机值。值kc可以等于秘密密钥x,通过对 秘密密钥ki和随机值rand应用密钥导出函数KDF(通常是一个用ki作为 密钥的块密码函数)得出,即kc=KDF(ki,rand)。XRES由归属网得出, 为XRES=f(ki,rand),其中函数f通常为一个公开的已知函数。
访问网将值rand转发给UE。UE知道函数f和KDF,因此可以计算出 kc和结果RES。值RES返回给访问网,在那里与值XRES相比较。假设 XRES=RES,访问网就证实了UE可信。对于首先提到的终端希望与之通 信的其他接到一个访问网上的移动终端,将执行类似的程序。利用 Diffie-Hellman交换,双方终端就都可以知道这个PMK。由于访问网 可以发现g^kc(A or B),它也就可以得出PMK(g^kc(A or B)kc(B or A))。访问网也 可以认证一个终端是使用商定的密钥kc而不是试图用其他自生成密钥 作假。图6进一步例示了AKA协议,虽然图7例示了在UE内实现的用来支 持AKA和密钥交换协议的这些模块,但在图7中的虚线标示了在一个用 来提高安全性的抗窜改“模块”内应该含有的组件。
上个段落中所说明的机制假设了访问网是可信的。如果情况不是 这样,一个解决方案是允许移动终端产生一个密钥 kc′=KDF2(ki,rand),其中KDF2是密码上与KDF独立的另一个密钥导出 函数。KDF和KDF2的独立性可以用完全不同的函数来实现,也可以在第 一函数是一个块密码KDF(k,r)=E(k,r)的情况下用一个简单的变换来 得到第二函数,例如对于某个固定的比特掩模m有KDR2=E(k XOR m,r)(当然,还有其他可替代的解决方法)。在Diffie-Hellman交换中 使用移动终端产生的这两个密钥。由于访问网并不知道KDF2,因此它 们不能得出密钥kc′(A and B)。如果需要在一个访问网执行合法侦听,可 以将一个终端的秘密密钥kc′从这个终端的归属网发送给这个访问网。 合法侦听可以在归属网执行,只要访问网首先向归属网提供所发现的 值g^kc,接着再将加密的电信转发给归属网。
采用这种机制,一个访问网不可能用商定的秘密密钥kc′确认一个 终端是确实的。这很容易通过允许访问网交换发现的值g^kc(A and B)再将 发送的值与本应发送的值相比较来弥补。这仍然没有使一个访问网在 没有首先从归属网接收到密钥kc′的情况下可以侦听电信。
如熟悉该技术领域的人员可以看到的那样,还可以对上面所说明 的实施例作进一步的修改。例如,可用MTI、台到台协议等而不是 Diffie-Hellman在移动终端之间商定PMK。使用密钥交换协议的多方 性变型,可以组织安全的多终端远程会议。
在上面所说明的实施例中,假设了秘密密钥k和伪随机函数PRF都 存储在用户的SIM卡上。随着SIM卡改进,其中包括某种程度的处理能 力,因此有可能整个产生PMK的过程将在SIM卡上完成。
为了进一步例示本发明,下面将对另一个实施例进行说明。这个 实施例在SIP(应用)级上使用本发明,可以例如在用户到用户的IP多媒 体通信的情况下应用。这个例子基于当前的3GPP规范,但很清楚并不 局限于此。假设这些希望建立保安会话的UE已经向各自的访问网注 册,以接入网络。这通常要涉及在UE与各自的GGSN和归属网之间执行 AKA程序。称为IMS AKA(见IETF RFC3310)的第二AKA程序用来在SIP 级对UE进行认证。本发明利用了IMS AKA程序的以不会引入额外的信令 负荷的方式产生会话密钥的优点。
会话启动协议(SIP)上面已作了介绍。然而,再详细一些的说明可 能是有益的。这说明用了以下缩写:
CSCF  呼叫服务器控制功能(Call Server Control Function)
CN    核心网(Core Network)
HTTP    超文本转送协议(Hyper Text Transport Protocol)
IMPI IMS专用标识号码(IMS Private Identity)
IMS     Ip多媒体子系统(IP Multimedia Subsystem)
SEG     保安网关(Security Gateway)
SDP     会话描述协议(Session Description Protocol)
SIP     会话启动协议(Session Initiation Protocol)
SADB    保安关联数据库(Security Association Database)
SPD     保安策略数据库(Security Policy Database)
UAC     用户代理客户机(User Agent Client)
UAS     用户代理服务器(User Agent Server)
SIP是一个可以发起、终止和修改多媒体会话的控制协议,在“IETF RFC 2543(1999)SIP:会话启动协议”中有具体说明。多媒体会话包 括例如语音电话、电视会议、流注和聊天。普遍是会话描述协议(SDP) (见“IETF RFC 2327(1998)SDP:会话描述协议”)结合SIP使用, 以明确会话和协商需用的编码解码器。可以以不同的IP地址(即终端) 接通一个用户,这取决于注册过程。在注册过程中,用户注册标识号 码和相应的I P地址。
SIP基于HTTP,以类似的方式工作,即它基于客户机-服务器模型。 因此,一个实体或者作为一个客户机发送请求,或者作为一个服务器 发送响应。一个SIP事件在请求触发了一个响应和客户机接收到这个响 应时发生。
在应用SIP时要用到许多不同实体。这些实体是:
用户代理
用户代理与用户交互作用,例如在用户邀请(建立)与另一方的语 音呼叫时。一个用户代理可以是一个客户机或服务器,这取决于它是 发起请求还是返回响应。
代理服务器
代理服务器可以是呼叫状态监控的(Call Stateful)、事务状态监 控的(Transaction Stateful)或无状态监控的(Stateless)。一个无 状态监控的代理不存储任何状态,即它只转发请求和根据通路头标可 以为响应进行路由选择。一个呼叫状态监控的代理从以INVITE启动的 会话开始存储状态参数,直到会话结束。这样一个代理可以测量呼叫 的长度。注意,在一个特定的会话内所有随后的SIP消息都将通过一个 呼叫状态监控的代理。一个事务状态监控的代理,例如分支代理 (Forking proxy),存储仅与一个特定的事务有关的参数,即一直存 储到这个事务结束。
分支代理(Forking Proxy)
分支代理是一个SIP代理,可以为一个INVITE消息尝试一些不同的 候选位置,这可以以串行或并行方式完成。
重定向服务器(Redirect Server)
重定向服务器可以具有一些不同的可以与一个特定的用户接触的 接触地址的信息。如果一个主叫方试了一个朋友的公开地址,主叫方 的UA将从重定向服务器接收到这个朋友可能处在的若干不同的候选地 址。于是,主叫方的UA可以尝试所有这些候选地址。
注册器
注册器接受注册,即SIP注册。一个SIP用户可以将在哪个地址可 以与本用户接触告诉注册器。
在SIP中定义有六个不同的“机制”可以包括在请求内。这些机制 是:
INVITE(邀请)
INVITE从一个用户发送给这个用户希望与之建立会话(例如电视 会议或流注)的其他用户或服务器。
ACK(确认)
SIP使用了一种对于INVITE的三程握手(three--way handshake)。 这是作为三程的唯一方法,所有其他方法都是双程的。这允许使用分 支代理。此外,它还考虑了由于不同的原因被邀请方可能在实际接受 邀请前要耗费相当多的时间。发起用户在被邀请用户接受呼叫时发送 ACK。此时,所有有关方已经核实INVITE仍然有效。
OPTIONS(选项)
OPTIONS用来标识一个服务器的能力,例如它支持哪些方法。
BYE(再见)
在要终止一个会话时就发送一个BYE。
CANCEL(撤消)
一个用户可能已向另一个用户发送了INVITE。在返回ACK前,发送 邀请的用户可能由于不同的原因用CANCEL来终止这个事务。
REGISTER(注册)
用户可以向一个注册器发送一个REGISTER,以将可以与本用户接 触的IP地址通知服务器。
图8例示了用SIP建立一个“呼叫”的程序。在这种情况下,起着 客户机或UAC作用的用户代理向一个朋友的将起服务器或UAS作用的UA 发送INVITE。UAC向代理服务器SIP发送INVITE(1),代理服务器将与 一个DNS服务器通信(2),以便找出下一个传输部分的地址。代理服务 器转发SIP INVITE(3),这时候代理服务器需要与一个位置服务器通信 (4),以便找出接收方的IP地址,然后再转发INVITE(5)。用户代理服 务器将向UAC发回响应,在S IP中响应具有句法180RINGING(振铃)。 UAC于是知道消息已被UAS收到。在这种情况下,UAC可以决定终止呼 叫,例如由于UAS应答拖得太久。那样的话,UAC向以SIP 200 OK响应 的UAS发送SIP CANCEL。如果用户决定应答呼叫,UAS就回发SIP 200 OK,于是UAC将向UAS发送SIP ACK,表示呼叫仍然是最新的。注意,可 能有一些分组丢失,因此这种ACK机制是必需的。这就是所谓的三程握 手。现在,例如用按照在“IETF RFC 1889(1996)RTP:实时应用传送 协议”中所规定的RTP开始会话。(注意,SIP协议正在经历一些重要的 改变,例如反映一些3GPP要求,可参见“IETF RFC 2543bis- 09(2002)SIP:会话启动协议”。
3GPP IMS是UMTS内的一个CN,基于SIP。在IMS内与SIP有关的有 四个实体:
UE(用户设备)含有UA
P-CSCF    起着一个出站代理的作用。这是在处于访问网的 UE内的UA的第一个接触点。它向I-CSCF转发SIP请求。注意:如果GGSN 驻留在归属网内,P-CSCF就也在归属网内。
I-CSCF    这是在归属网内的接触点,起着一个SIP代理的 作用。它向S-CSCF转发S IP请求或响应。
S-CSCF    这可以相当于一个注册器、代理服务器和UA。在 UE能发送INVITE前,它必须首先成功地注册一个公开的标识号码或 IMPU。注册一个IMPU是通过UE向归属网发送REGISTER来完成的。HN向 UE颁发一个询问(challenge)。得到认证的标识号码是专用标识号码 或IMPI,而认证由S-CSCF执行。
图9例示了从一个UE向另一个UE发送INVIIE的情况,这两个UE驻留 在一个3GPP网内。
对于第一个和最后一个传输部分(在UE和P-CSCF之间),按在“3G TS 33.203:第三代合伙项目(3GPP);技术规范组(TSG)SA 3;基于IP 的服务的接入安全,(版本5)”中所规定的那样使用IPsec ESP。(注意: 这个保护是对于SIP信令的,而不是对于实际用户通信的。)敏感数据 将用SIP协议在访问网和归属网之间交换。因此要求中间网SIP信令用 SEG保护。
密钥管理
完整性保护的会话密钥从IMS AKA程序得出。在UE发送一个无保护 的REGISTER消息时,接收到这个消息后归属网(HN),即S-CSCF,就向 UE颁发一个询问。这个含有询问的SIP消息包括适合P-CSCF的会话密 钥,而UE根据这个询问得出相同的会话密钥。这个程序如上所述,涉 及向P-CSCF发送rand、XRES和kc参数和向UE转发rand参数。
IKE
IKE用来协商保护访问网和归属网之间的SIP信令的IPsec SA。
重要的是记住只是SIP信令通过IMS(CSCF节点),实际用户数据净 荷将按一个像RTP那样的协议承载,通过普通的GPRS(GGSN)网发送。因 此,密钥管理(例如MIKEY)通常将是IMS内SIP信令的一部分,而实际安 全措施(例如SRTP)用于在整个GPRS网内通过另一个通路发送的分组。
利用以上对IP多媒体呼叫建立的介绍,下面说明可用本发明对得 到端到端保护(例如用SRTP)的遵从3GPP标准的IP多媒体通信进行侦听 的示范性方式。为了简单起见,假设在用户之间采用Diffie-Hellman 密钥商定(例如用MIKEY),当然熟悉该技术领域的人员清楚前面说明的 其他方法(使用先决共享密钥或公开密钥的方法)作相应修改后同样也 是可以使用的。
如上所述,在一个用户A执行SIP注册时,他将得出一个保护他和 访问网内的P-CSCF之间的SIP信令的密钥k。利用k,可以得出密钥形成 资料x(例如,在最简单的形式中,设x=k)。用户A现在在呼叫建立上用 g^x作为他的Diffie-Hellman值发送(例如用作为一个SIP/SDP消息的 一部分的MIKEY)给用户B。类似,用户B得到密钥y,以类似的方式回发 g^y。各自的网现在可以用已知的指数x(或y)和“发现”的g^y(或g^x) 进行合法侦听,将相应的密钥形成资料(例如来自P-CSCF的x和来自 GGSN的g^y)转发给侦听点,再将实际的电信(经加密的)从它所经过的 GGSN节点转发给侦听点。注意,如果本发明与3GPP IMS规范一起使用, 不需要改变现有的标准化的通信接口。
当然,如熟悉该技术领域的人员很容易可以看到的那样,在这里 也可用所有先前提到扩展,例如采用二级密钥导出KDF2,以只允许归 属网执行侦听。