CN102045210B - 一种支持合法监听的端到端会话密钥协商方法和系统 - Google Patents

一种支持合法监听的端到端会话密钥协商方法和系统 Download PDF

Info

Publication number
CN102045210B
CN102045210B CN200910181130.9A CN200910181130A CN102045210B CN 102045210 B CN102045210 B CN 102045210B CN 200910181130 A CN200910181130 A CN 200910181130A CN 102045210 B CN102045210 B CN 102045210B
Authority
CN
China
Prior art keywords
key
session
terminal
ilr
parameter
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.)
Expired - Fee Related
Application number
CN200910181130.9A
Other languages
English (en)
Other versions
CN102045210A (zh
Inventor
张世伟
田甜
朱允文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN200910181130.9A priority Critical patent/CN102045210B/zh
Priority to PCT/CN2010/075904 priority patent/WO2011041962A1/zh
Publication of CN102045210A publication Critical patent/CN102045210A/zh
Application granted granted Critical
Publication of CN102045210B publication Critical patent/CN102045210B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种支持合法监听的端到端会话密钥协商的方法及系统,第一终端发起的到第二终端的会话的密钥协商过程包括:第一终端与其归属的第一身份位置寄存器(ILR)进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,第一终端生成会话密钥,并向第二终端发起端到端会话密钥请求;第二终端在第一ILR为其归属ILR时,将收到的密钥协商参数直接发送到第一ILR;第一ILR生成会话密钥并保存后,直接以密文方式发送给第二终端;第二终端解密所述密文,获取其中的会话密钥,第一终端和所述第二终端使用该会话密钥进行会话,该会话密钥包括会话加密密钥。本发明在提供端到端加密的同时,也满足合法机构对端到端会话进行监听的需求。

Description

一种支持合法监听的端到端会话密钥协商方法和系统
技术领域
本发明涉及因特网领域,尤其涉及一种支持合法监听的端到端会话密钥协商方法和系统。
背景技术
基于IP的因特网是开放的网络,由多个国家和组织的网络共同组成,因此如果建立一个端到端会话,很可能需要经过多个中间节点(如路由器等),由于这些节点可能并不完全属于同一国家或组织的网络,因此对于高度机密的会话,就存在被第三方非法机构窃听或修改的可能。
因此,为了防止机密信息被窃取或被修改,人们通常使用端到端加密的方法进行会话;但是由于防恐等警务信息需要,各国法律往往规定电信企业开展的业务必须能被合法机构监听。因此如果电信企业开展基于IP的端到端加密业务,也必须能够支持被合法机构合法监听的功能。这样如果由用户自己独立协商端到端会话密钥,网络就无法了解会话密钥的内容,合法监听就无法进行,因此必须由网络参与到会话密钥协商的过程,让特定的网络节点也能够了解端到端会话密钥的信息,才能够正确支持合法监听。
除了合法监听外,在会话密钥协商中也需要考虑会议等功能。如在高度机密的场合,当用于多方会议的会话时,要求为每个参与会议的终端都分配不同的密钥,因此在一个会议会话中会议主持者需要为多个参与者依次分配密钥,相对于一次会话只生成一个密钥,会议会话协商的密钥次数更多。
当前业界端到端密钥的协商方案包括安全描述方法(SecurityDescriptions,SDES)和票据(TICKET)等几种密钥协商方法;其中,
SDES将会话密钥包含在UEA到UEB的端到端信令中,因此要求端到端信令是安全的,由于端到端信令安全也需要密钥加密,因此也需要端对端的信令密钥协商或逐段信令密钥协商,而这些信令密钥协商的要求和媒体面密钥协商一样复杂,因此SDES在部署上面存在一定的局限性。
而TICKET密钥协商方法是通过终端UEA在端到端会话建立信令中传递一个会话密钥索引,而不用直接传递会话密钥给UEB,这样会话密钥不用在UEA和UEB之间的信令直接传输,消除了信令加密的必要,因而TICKET密钥协商方法在密钥传递上相对于SDES在部署上更容易实现。但TICKET密钥协商方法进行密钥协商时往往和信令交互独立进行,在建立多方呼叫等复杂业务时,相关密钥协商非常复杂且实现方法不统一,会导致终端以及密钥管理服务器(Key Management Server,KMS)的密钥协商场景很多,流程非常复杂,不如SDES在传递密钥时方便,这是TICKET方法的主要缺点。另外,目前TICKET密钥协商方法的实现前提是建立在通用鉴权架构(GenericAuthentication Architecture,GAA)/通用自引导架构(Generic BootstrappingArchitecture,GBA)基础上,因此需要部署GBA服务器才能够实现TICKET密钥协商方法,这在实际部署上也增加了难度。
Otway-Rees是TICKET算法的一个代表算法,如图8所示,首先UEA和UEB用GBA方法分别和KMS建立共享密钥Ka和Kb;然后UEA将IDA和IDB用Ka加密后形成Ea(IDA,IDB)后通过发送给UEB;UEB用密钥Kb加密IDA和IDB,形成Eb(IDA,IDB),将Ea(IDA,IDB)和Eb(IDA,IDB)一起送到KMS;KMS分别用Ka和Kb对Ea(IDA,IDB)和Eb(IDA,IDB)解密,如果解密后IDA,IDB正确,KMS将生成一个会话密钥K,并分别用Ka和Kb加密,生成Ea(K)和Eb(K)并发送给UEB;UEB解密Eb(K),得到会话密钥K,并将Ea(K)发送到UEA,UEA再利用Ka解密Ea(K)后得到会话密钥K。
Otway-Rees存在如下缺点:
1、在“Otway-Rees”中,从UEA到UEB之间传递的TICKET每次都用相同的共享根密钥Ka加密;如果Ka不是每次会话都重新协商,则Ka容易被攻破,一旦Ka被攻破,则后续会话密钥都被攻破;如果Ka每次会话都协商,则因为GBA建立过程中的信令交互也较多,会降低密钥协商的效率。
2、在“Otway-Rees”中,密钥是在KMS中生成,UEA对分配什么密钥没有主控权,在多方会话或者会议会话中,如果UEA需要为对端分配相同的密钥,在“Otway-Rees”中是无法实现的。
3、“Otway-Rees”中,最终生成的会话密钥是由UEB传递给UEA,但没有完整性校验措施,如果中间人修改了加密后的密钥,由于传递密钥的时候缺乏完整性检验,UEA无法知道密钥是否被修改,仍然能解密出一个错误密钥,结果会出现UEA和UEB分别拥有不同的密钥,这样后续传递的数据在加解密时会严重错乱,也增加了中间人攻击可能性。例如,在UEA和UEB进行加密会话后,会得到一个Ea(K),记为E1;如果UEA和UEC通话,UEB在806消息中截取了UEA和UEC之间的Ea(K),记为E2,如果UEB想实施中间人攻击,可将806消息中的E2换为E1,UEA和UEC通信就使用E1加密,这样UEB就可以解密UEA发向UEC的数据。
发明内容
本发明要解决的技术问题是提供一种支持合法监听的端到端会话密钥的协商方法,可以在提供端到端加密的同时,也满足合法机构对端到端会话进行监听的需求。
为了解决上述问题,本发明提供了一种支持合法监听的端到端会话密钥协商的方法,第一终端发起的到第二终端的会话的密钥协商过程包括:
第一终端与其归属的第一身份位置寄存器(ILR)进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,第一终端根据包含自己生成的第一随机数的第一参数和Kas生成会话密钥,并向第二终端发起端到端会话密钥请求,携带的密钥协商参数包括用Kas加密得到的包含第一随机数信息的第一密文以及所述会话的第一标识信息;
第二终端在第一ILR为其归属ILR时,将收到的密钥协商参数直接发送到第一ILR,否则经其归属的第二ILR发送到第一ILR;第一ILR利用Kas解密第一密文获取所述第一随机数,用与第一终端相同的方式生成会话密钥并保存后,直接以密文方式发送给第二终端,或者先发送给第二ILR,第二ILR保存该会话密钥并以密文方式将该会话密钥发送给第二终端;
第二终端解密所述密文,获取其中的会话密钥,第一终端和所述第二终端使用该会话密钥进行会话,该会话密钥包括会话加密密钥。
进一步地,上述方法还具有如下特点:
第一终端和第一ILR配置有共享的永久根密钥Ka,所述会话根密钥协商过程具体包括:
第一终端生成第二随机数,并向第一ILR发送包含第二随机数和所述会话的第二标识信息的会话根密钥生成参数;
第一ILR收到后,根据Ka和包含第二随机数、第二标识信息及第一ILR生成的第三随机数的第二参数,通过第一密钥生成算法生成Kas并保存第二标识信息与Kas的映射关系后,将第三随机数返回给第一终端;
第一终端用与第一ILR相同的方式生成Kas,完成会话根密钥协商过程。
进一步地,上述方法还具有如下特点:
在密钥协商过程中存在信令交互的两个设备之间为不安全链路时,该两个设备在进行密钥协商时,还对传递的参数的完整性进行检验,所述两个设备包括第一终端和第一ILR,第二终端和其归属的ILR,以及第一终端和第二终端中的一组或多组。
进一步地,上述方法还具有如下特点:
第一终端向第一ILR发送会话根密钥生成参数时,还将第一认证响应传递给第一ILR,第一认证响应是第一终端根据Ka和至少部分会话根密钥生成参数生成临时消息完整校验密钥Kat后,以至少部分会话根密钥生成参数为第三参数,用Kat通过第一完整性保护算法计算得到的;
第一ILR收到会话根密钥生成参数和第一认证响应后,先根据保存的Ka和收到的会话根密钥生成参数,用与第一终端得到第一认证响应相同的方式计算得到一认证响应并与第一认证响应比较,如两者不同,则认证失败,结束该会话的密钥协商过程,如两者相同,再生成Kas
进一步地,上述方法还具有如下特点:
第一ILR向第一终端发送第三随机数时,还将第二认证响应传递给第一终端,第二认证响应是第一ILR根据Kas以及包含第三随机数和至少部分会话根密钥生成参数的第四参数,通过第二完整性保护算法计算得到的;
第一终端生成Kas后,先用与第一ILR得到第二认证响应相同的方式计算得到一认证响应并与第二认证响应比较,如两者不同,则认证失败,结束该会话的密钥协商过程,如两者相同,再生成本次会话的会话密钥。
进一步地,上述方法还具有如下特点:
所述第二标识信息包括第一终端为本次会话分配的会话索引(SI)和第一终端的用户身份标识(SIDA),第一终端同时存在的多个会话时,为各个会话分配不同的SI,通过会话根密钥协商过程为各个会话生成不同的Ka
第一终端生成会话密钥后,以SI为索引保存该会话密钥。
进一步地,上述方法还具有如下特点:
所述会话根密钥生成参数还包括密钥可推导次数,用于表示设定的可利用Kas生成会话密钥的次数;第一ILR收到后,实时控制该Kas生成会话密钥的次数不超过该密钥可推导次数。
进一步地,上述方法还具有如下特点:
所述密钥可推导次数为0时表示次数不限制,可利用Kas生成任意次会话密钥;所述密钥可推导次数为1时表示只能有一个被叫,可利用Kas生成一次会话密钥;所述密钥可推导次数为n时表示固定只能有n个被叫,可利用Kas生成n次会话密钥。
进一步地,上述方法还具有如下特点:
所述第一密文包含用Kas加密后的第一标识信息和第一随机数,该第一标识信息包括第一终端为本次会话分配的会话索引SI、第一终端的用户身份标识SIDA和第二终端的用户身份标识SIDB
进一步地,上述方法还具有如下特点:
第一终端生成的第一密文还包含用Kas加密后的第三认证响应,该第三认证响应是第一终端根据Kas及包含第一标识信息和第一随机数的第五参数,通过第三完整性保护算法计算得到的;
第一ILR收到第二终端发来的密钥协商参数,根据其中的第一标识信息检索到的Kas对第一密文解密,获取第一随机参数后,先用与第一终端得到第三认证响应相同的方式计算得到一认证响应并与第三认证响应比较,如两者不同,则认证失败,结束该会话的密钥协商过程,如两者相同,再用与第一终端相同的方式生成所述会话密钥。
进一步地,上述方法还具有如下特点:
第二终端解密第二ILR发送的密文,获取其中的会话密钥后,还通过密钥校验数据请求第一终端验证,第一终端验证通过后,第一终端和第二终端再使用该会话密钥进行会话。
进一步地,上述方法还具有如下特点:
第一终端生成的会话密钥还包括完整性校验密钥,该完整性校验密钥是第一终端根据Kas和包含第一随机数的参数生成的;
第一ILR收到密钥协商参数后,用与第一终端相同的方式生成该完整性校验密钥并发送到第二终端;
第二终端通过密钥校验数据请求第一终端验证时,根据收到的完整性校验密钥和包含第一标识信息、第一随机数和自己生成的第四随机数的第六参数,通过完整性保护算法计算得到第四认证响应,用会话加密密钥对第四认证响应和第四随机数加密后生成密钥校验数据,发送到第一终端;
第一终端用会话加密密钥解密该密钥校验数据得到第四认证响应和第四随机数,用与第二终端得到第四认证响应相同的方式计算得到一认证响应并与第四认证响应比较,如两者不同,则校验失败,结束该会话的密钥协商过程,两者相同时,校验通过。
进一步地,上述方法还具有如下特点:
第一终端作为主叫终端与多个被叫终端进行会话时,在发起与第一个被叫终端的会话时与第一ILR协商得到Kas并保存,之后发起的与其余被叫终端的会话则直接根据该Kas和各会话对应生成的第一随机数生成各会话的会话密钥;
第一终端通过为不同被叫终端生成和传递不同的第一随机数,与不同的被叫终端协商得到不同的会话密钥;或者,第一终端通过为不同被叫终端生成和传递相同的第一随机数,与不同的被叫终端协商得到相同的会话密钥。
进一步地,上述方法还具有如下特点:
第二终端收到第一终端发来的密钥协商参数后,生成第五随机数,将该第五随机数与密钥协商参数一起发送到第二终端归属的ILR,第二终端归属的ILR保存第五随机数和密钥协商参数中的第一标识信息;
第二终端归属的ILR在收到或生成会话密钥后,生成第六随机数,根据与第二终端共享的永久根密钥Kb和包含第五随机数、第六随机数和第二终端的用户身份标识的第七参数生成临时加密密钥Kbt,用Kbt对包含会话密钥的第八参数加密后,将得到的密文和第六随机数发送给第二终端;
第二终端收到其归属的ILR发来的密文和第六随机数后,用与第二终端归属的ILR相同的方式生成Kbt,用Kbt解密ILR发来的密文得到会话密钥。
进一步地,上述方法还具有如下特点:
第二终端还将第五认证响应和第五随机数、密钥协商参数一起发送到第二终端归属的ILR,该第五认证响应是第二终端根据Kb和包含第一标识信息和第五随机数的参数,通过完整性保护算法计算得到的;
第二终端归属的ILR收到第五认证响应、第五随机数和密钥协商参数后,用与第二终端得到第五认证响应相同的方式计算得到一认证响应并与第五认证响应比较,如两者不同,则协商失败,结束该会话的密钥协商过程,如两者相同,在第一ILR为第二终端归属的ILR时,再解密该密钥协商参数中的第一密文,否则再将该密钥协商参数发送到第一ILR。
进一步地,上述方法还具有如下特点;
第二终端归属的ILR用Kbt加密的第八参数还包括第六认证响应,该第五认证响应是第二终端归属的ILR根据会话加密密钥和包含第五随机数和第六随机数的参数,通过完整性保护算法计算得到的;
第二终端解密第二终端归属的ILR发来的密文,得到会话加密密钥后,先用与第二终端归属的ILR得到第六认证响应相同的方式计算得到一认证响应并与第六认证响应比较,如两者不同,则协商失败,结束该会话的密钥协商过程,如两者相同,再生成密钥校验数据请求并发送到第一终端,第一终端验证通过后,第一终端和第二终端再使用该会话密钥进行会话。
为了解决上述问题,本发明还提供了一种支持合法监听的端到端会话密钥协商的系统,所述系统包括终端和身份位置寄存器(ILR);
所述终端包括主叫密钥协商模块和被叫密钥协商模块,所述主叫密钥协商模块又包括终端会话根密钥协商单元和终端会话密钥生成与发送单元;被叫密钥协商模块包括密钥协商参数收发单元和会话密钥获取单元;
所述ILR包括主叫归属密钥协商模块和被叫归属密钥协商模块,主叫归属密钥协商模块又分为ILR会话根密钥协商单元和ILR会话密钥生成与发送单元;其中,
所述终端会话根密钥协商单元,用于与所述终端归属的所述ILR会话根密钥协商单元进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,发送给所述终端会话密钥生成与发送单元;
所述终端会话密钥生成与发送单元,用于接收到会话根密钥Kas后,根据包含自己生成的第一随机数的第一参数和Kas生成会话密钥,并向所述密钥协商参数收发单元发送密钥协商参数发起端到端会话密钥请求,所述密钥协商参数包括用Kas加密得到的包含第一随机数信息的第一密文以及所述会话的第一标识信息;所述会话密钥包括会话加密密钥;
所述密钥协商参数收发单元,用于将收到的密钥协商参数发送到被叫归属密钥协商模块;
所述会话密钥获取单元,用于解密被叫归属密钥协商模块发送的密文,获取其中的会话密钥;
所述ILR会话根密钥协商单元,用于与所述终端会话根密钥协商单元进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,将所述会话根密钥Kas发送给所述ILR会话密钥生成与发送单元;
所述ILR会话密钥生成与发送单元,用于利用所述ILR会话根密钥协商单元发送来的Kas解密所述被叫归属密钥协商模块发送来的第一密文,获取第一随机数,并用与所述终端会话密钥生成与发送单元相同的方式生成会话密钥并保存后,发送给被叫归属密钥协商模块;
所述被叫归属密钥协商模块,用于将所述密钥协商参数收发单元发送来的密钥协商参数发送到所述ILR会话密钥生成与发送单元,以及将所述ILR会话密钥生成与发送单元发送来的会话密钥加密生成密文后发送给所述会话密钥获取单元。
进一步地,上述系统还具有如下特点:
所述终端会话根密钥协商单元和所述ILR会话根密钥协商单元上配置有共享的永久根密钥Ka
所述终端会话根密钥协商单元与所述终端归属的所述ILR会话根密钥协商单元进行会话根密钥协商时,用于生成第二随机数,并向所述ILR会话根密钥协商单元发送包含第二随机数和所述会话的第二标识信息的会话根密钥生成参数;以及与所述ILR会话根密钥协商单元相同的方式生成Kas,完成会话根密钥协商过程;
所述ILR会话根密钥协商单元与所述终端会话根密钥协商单元进行会话根密钥协商时,用于在收到会话根密钥生成参数后,根据Ka和包含第二随机数、第二标识信息及第一ILR生成的第三随机数的第二参数,通过第一密钥生成算法生成Kas并保存第二标识信息与Kas的映射关系后,将第三随机数返回给所述终端会话根密钥协商单元。
进一步地,上述系统还具有如下特点:
在密钥协商过程中存在信令交互的两个设备之间为不安全链路时,该两个设备在进行密钥协商时,还对传递的参数的完整性进行检验,所述两个设备包括主叫终端和主叫终端归属的ILR,被叫终端和被叫终端归属的ILR,以及主叫终端和被叫终端中的一组或多组。
进一步地,上述系统还具有如下特点:
所述第二标识信息包括所述终端会话根密钥协商单元为本次会话分配的会话索引(SI)和终端的用户身份标识(SIDA),终端同时存在的多个会话时,为各个会话分配不同的SI,通过会话根密钥协商过程为各个会话生成不同的Ka
终端生成会话密钥后,以SI为索引保存该会话密钥。
进一步地,上述系统还具有如下特点:
所述第一密文包含用Kas加密后的第一标识信息和第一随机数,该第一标识信息包括终端为本次会话分配的会话索引SI、主叫终端的用户身份标识SIDA和被叫终端的用户身份标识SIDB
进一步地,上述系统还具有如下特点:
所述主叫密钥协商模块还包括主叫密钥校验单元,所述被叫密钥协商模块还包括被叫密钥校验单元;
所述会话密钥获取单元,还用于将会话密钥发送到所述被叫密钥校验单元;
所述被叫密钥校验单元,用于根据所述会话密钥生成密钥校验数据,并发送到所述主叫密钥校验单元;
所述主叫密钥校验单元,用于通过所述密钥校验数据验证所述会话密钥。
进一步地,上述系统还具有如下特点:
所述会话密钥还包括完整性校验密钥,该完整性校验密钥是所述终端会话密钥生成与发送单元和所述ILR会话密钥生成与发送单元,根据Kas和包含第一随机数的参数生成的;
所述被叫密钥校验单元将所述密钥校验数据发送到所述主叫密钥校验单元时,是根据收到的完整性校验密钥和包含第一标识信息、第一随机数和自己生成的第四随机数的第六参数,通过完整性保护算法计算得到第四认证响应,用会话加密密钥对第四认证响应和第四随机数加密后生成密钥校验数据,发送到主叫密钥校验单元;
所述主叫密钥校验单元,用会话加密密钥解密该密钥校验数据得到第四认证响应和第四随机数,用与第二终端得到第四认证响应相同的方式计算得到一认证响应并与第四认证响应比较,如两者不同,则校验失败,结束该会话的密钥协商过程,两者相同时,校验通过。
进一步地,上述系统还具有如下特点:
所述终端作为主叫终端与多个被叫终端进行会话时,在所述终端会话根密钥协商单元发起与第一个被叫终端的会话时,与所述ILR会话根密钥协商单元协商得到Kas并保存,之后发起的与其余被叫终端的会话则直接根据该Kas和各会话对应生成的第一随机数生成各会话的会话密钥;
所述主叫终端通过为不同被叫终端生成和传递不同的第一随机数,与不同的被叫终端协商得到不同的会话密钥;或者,第一终端通过为不同被叫终端生成和传递相同的第一随机数,与不同的被叫终端协商得到相同的会话密钥。
进一步地,上述系统还具有如下特点:
所述被叫归属密钥协商模块与所述会话密钥获取单元上配置有共享的永久根密钥Kb
所述密钥协商参数收发单元,还用于收到密钥协商参数后生成第五随机数,将该第五随机数与密钥协商参数一起发送到被叫归属密钥协商模块,
所述被叫归属密钥协商模块,还用于保存所述密钥协商参数收发单元发送来的第五随机数和密钥协商参数中的第一标识信息;以及收到所述ILR会话密钥生成与发送单元发送来的会话密钥后,生成第六随机数,根据Kb和包含第五随机数、第六随机数和被叫终端的用户身份标识的第七参数生成临时加密密钥Kbt,用Kbt对包含会话密钥的第八参数加密后,将得到的密文和第六随机数发送给会话密钥获取单元;
所述会话密钥获取单元,还用于在收到被叫归属密钥协商模块发来的密文和第六随机数后,用与被叫归属密钥协商模块相同的方式生成Kbt,用Kbt解密被叫归属密钥协商模块发来的密文得到会话密钥。
上述方法和系统在提供端到端加密的同时,也满足合法机构对端到端会话进行监听的需求。本发明避免了密钥协商随会话场景不同而流程不同,在一实施例中,对防止中间人攻击有较大改进,提高了会话密钥传递的安全性,并可以为同一个会话的多个对端分配相同的密钥,改善了多会话时不同密钥导致终端性能的下降。
相对Otway-Rees密钥协商方法,本发明的方法和系统有下面优点:
Otway-Rees在密钥协商需要先借助于GBA/GAA流程建立共享密钥,本发明一实施例采用永久共享密钥方式,在实际运营和部署上更为简单;
Otway-Rees方法中,从UEA到UEB之间传递的TICKET每次都用相同的共享根密钥Ka加密,本发明一实施例采用会话根密钥EKas加密TICKET,由于每次会话生成的EKas是不同的,因此避免了中间人收集共享根密钥Ka并破解Ka
Otway-Rees密钥在KMS生成,主叫方没有密钥协商的控制权,因而在多方会话和会议电话等场合,多个终端无法使用相同会话密钥,因此主叫方需要加解密多个被叫终端的媒体流,性能会成为瓶颈。本发明一实施例先协商了会话根密钥,后续主叫方可以传递相同或不同的随机数,形成相同或不同的会话密钥,提高了主叫方的加解密性能;
Otway-Rees中,会话密钥从KMS传递给UEB,再由UEB传递给UEA。本发明一实施例的会话密钥在UEA和ILR中分别独立生成,UEA的密钥完全不由UEA到UEB或者UEB到UEA传递,减少了会话密钥在从UEB传递给UEA过程中被窃取、破解和修改的可能;
Otway-Rees中,会话密钥从UEB传递到UEA过程中,没有完整性校验,因而如果最后生成的会话密钥被中间人修改或替换,UEA是无法感知的;本发明在一实施例中,克服了这一缺陷;
Otway-Rees中,KMS将生成一个会话密钥K,并分别用Ka和Kb加密,生成Ea(K)和Eb(K)并发送给UEB,UEB既得到会话密钥K,也得到用Ka对K加密后的Ea(K)。如果UEB反复向KMS发起密钥消息,将得到一系列K和Ea(K)的对照表,最终Ka很容易被UEB攻破。本发明一实施例由于不用Ka加密传递数据给UEB,而且每次使用的都是会话密钥,因此UEB不可能发起类似的攻击。
附图说明
图1为本发明实施例的系统架构示意图;
图2为本发明实施例的密钥协商机制的流程图;
图3为本发明实施例多方会话密钥协商的场景的示意图;
图4为本发明实施例会议会话时密钥协商的应用场景的示意图;
图5为本发明实施例单方呼叫协商参数的示例;
图6为本发明实施例多方呼叫时协商参数的示例;
图7为本发明实施例会议呼叫时协商参数的示例;
图8为现有技术中Otway-Rees密钥协商的信令流程图;
图9为本发明实施例中系统功能模块图。
具体实施方式
下面结合附图详细说明本发明的具体实施方式。
图1所示为本实施例的系统架构示意图,系统包括用户终端(UserEquipment,UE):UEA和UEB;接入服务器(Access Server Node,ASN):ASN1和ASN2;以及身份位置寄存器(Identification Location Register,ILR):ILRA和ILRB。其中,终端UEA和UEB之间的数据链路为不安全链路,如IP链路,因此UEA和UEB之间会话密钥不能明文传递,由于UEA随时可能和数亿其他用户之中的一个发生通讯,UEA上不可能包含所有用户的预共享密钥,从而UEA不能用预共享密钥与UEB建立安全的端到端会话,因此必须设计一种端到端的会话密钥协商机制,来解决端到端会话的安全问题。
接入服务器也可称为接入服务节点,是逻辑实体,为提供接入IP网服务的节点,可以是服务GPRS支持节点(Serving GPRS Support Node,SGSN)、网关GPRS支持节点(Gateway GPRS Support Node,GGSN)、分组数据业务节点(Packet Data Serving Node,PDSN)和宽带接入服务器(Broadband RemoteAccess Server,BRAS)等设备。
ILR是逻辑实体,承担端到端密钥的管理和协商,保存有用户终端属性信息的节点,在具体应用场景中可以是KMS、归属位置寄存器(Home LocationRegister,HLR)、归属用户服务器(Home Subscriber Server,HSS)、授权/认证/计费服务器(Authorization、Authentication、Accounting,AAA)、或其他承担端到端密钥管理和协商功能的实体。
本实施例中,UEA通过ASN1向ILRA注册(101),UEB通过ASN2向ILRB注册(102);在UEA和UEB注册成功后,如果UEA希望向UEB发起加密会话(104),就需要先协商UEA和UEB之间的会话密钥,由于UEA和UEB之间本身为不安全链路,因此需要设计一种方法将UEA生成的会话密钥能够通过不安全链路正确无误地传送给UEB。另外为保证合法监听的进行,UEA和UEB协商的会话密钥必须让网络中与合法监听设备连接的特定节点了解,这是合法监听进行的前提,其中特定节点可以是ILR。
在本实施例中,通过两个用户终端即UEA和UEB和两个ILR即ILRA和ILRB来生成和传递会话密钥,很好地解决了合法监听问题。
图2所示出为本实施例中密钥协商的基本流程,其中涉及的四个网络节点中。UEA和UEB的用户身份标识(Subscriber Identification,SID)分别为SIDA和SIDB。此外,UEA和ILRA之间存在共享的永久根密钥Ka,UEB和ILRB之间存在共享的永久根密钥Kb;UEA和UEB以及ILRA和ILRB上具备多种安全算法;其中,安全算法包括加密算法、完整性保护算法和密钥生成算法等;这些安全算法均可以采用现有技术中的安全算法,本实施例对此并不限定。
如加密算法可以为DES、3DES、AES等算法,完整性保护算法包括MD5、SHA-1等算法;密钥生成算法一般由运营商制定,可以是特定的算法。
ILRA和ILRB之间是安全和可信任的,即:ILRA和ILRB之间已存在加密的安全数据通道,且ILRA总认为ILRB发来的以SIDB为标识的UEB的信令和数据包已通过ILRB认证,是合法的。
本实施例第一终端发起到第二终端的端到端会话的密钥协商过程包括如下步骤:
(1)第一终端和其归属地的第一ILR进行会话根密钥协商,用共享的永久根密钥Ka生成本次会话的会话根密钥Kas并保存后,第一终端以生成的第一随机数为参数,用Kas生成会话密钥,并向第二终端发起端到端会话密钥请求,携带的密钥协商参数包括用Kas加密得到的包含第一随机数信息的第一密文以及端到端会话的标识信息;
其中,步骤(1)进一步分为以下步骤:
步骤201:第一终端UEA生成随机数RANDA,并向ILRA发送会话根密钥生成参数,包括随机数RANDA以及会话索引(Session Index,SI)和SIDA
本步骤中,UEA可以通过“会话根密钥协商请求”消息将上述参数发送给ILRA
SI和SIDA是UEA发起的会话的标识信息,可以唯一标识UEA发起的一个会话。其中,SI为固定长度的整数,如可以为16位或32位长度,由UEA分配,用于唯一标识UEA当前发起的会话,每次建立新的会话,SI应分配不同的整数,超出限制值可以归零使用。例如SI为16位整数,UEA每建一个新的会话,可将对应的SI加1,如果SI超出65535,则自动归0。在本实施例中,给每个会话都建立一个与其他会话不同的会话根密钥Kas。由于一个用户可以同时存在多个会话,因此UEA和对端UEB在密钥协商时需要区分协商的密钥属于哪一个会话的,因此本实施例中用一个索引号SI来区分当前进行会话密钥协商的会话密钥属于哪一个会话,通信双方可以根据SI区分是哪一个会话,从而找出该会话的会话根密钥Kas,也就是说,UEA与对端协商的端到端会话时候,用SI告诉对方具体采用哪一个会话根密钥Kas生成会话密钥;
在另一实施例中,如果UEA和ILRA之间为非安全通道,UEA向ILRA传递会话根密钥生成参数时,还可以同时将认证响应RESA传递给ILRA,用RESA进行完整性校验以确保ILRA接收到的数据来自UEA,保证ILRA不受中间人修改RANDA而遭受攻击,具体为:
UEA生成随机数RANDA后,以会话根密钥生成参数为参数,用UEA与ILRA共享的永久根密钥Ka通过密钥生成算法f10计算出一个临时消息完整校验密钥Kat,即Kat=f10Ka(RANDA,SIDA,SI),应说明的是,在其他实施例中,会话根密钥生成参数可以不同;然后以会话根密钥生成参数为参数,用临时消息完整性校验密钥Kat通过完整性保护算法f11计算得到认证响应RESA,即RESA=f11Kat(RANDA,SIDA,SI,);UEA将RESA和会话根密钥生成参数封装到“会话根密钥协商请求”消息中发送给认证服务器ILRA。当然,会话根密钥生成参数并不一定为RANDA,SIDA,SI,还包括其他参数(参见下文)。另外,也可以只使用部分会话根密钥生成参数来生成Kat,如在包括其他参数时,也可以只使用RANDA,SIDA,SI来生成Kat
在另一实施例中,会话根密钥生成参数还可以进一步包括密钥可推导次数(Key Derived Number,KDN);KDN用来表明设定的可利用每个会话根密钥Kas生成会话密钥的次数,此KDN由UEA指定并传递给ILRA,ILRA实时控制密钥Kas生成会话密钥的次数不超过KDN。
其中,KDN为0表示次数不限制,Kas可以用于生成任意次会话密钥;1表示只能有一个被叫,Kas可以用于生成一次会话密钥;n表示固定只能有n个被叫,Kas可以用于生成n次会话密钥。当然KDN的取值与其生成的会话密钥的次数的对应关系并不限于此;
采用KDN可以加强密钥分发的安全性,用于限定会议会话时由会话根密钥生成的密钥数量。
在本步骤中,UEA除了指定KDN以外,还可以进一步指定会话根密钥Kas的生存期,并将该生存期添加到会话根密钥生成参数传递给ILRA,生存期表示Kas可以使用的时间,生存期到后,可以删除Kas;Kas的生存期的传递与使用方法与KDN相同,本文对此不再赘述。
步骤202:ILRA收到会话根密钥生成参数后,生成随机数RANDILR2A,以RANDILR2A和会话根密钥生成参数为参数,利用UEA和ILRA共享的永久根密钥Ka,通过密钥生成算法f12生成会话根密钥Kas,ILRA保存SIDA、SI和会话根密钥Kas的映射关系后,将RANDILR2A返回给UEA
其中,ILRA可以通过“会话根密钥协商响应”消息将RANDILR2A返回给UEA
ILRA收到UEA发送来的参数后,可以根据SIDA检索UEA和ILRA的共享的永久根密钥Ka,也可以用其他方式获知该永久根密钥Ka
在另一实施例中,如果ILRA收到UEA发送来的认证响应RESA,ILRA生成随机数RANDILR2A前,先对认证响应RESA进行完整性校验,具体为:
ILRA先用与UEA得到RESA相同的方式计算出XRESA,具体地,ILRA以会话根密钥生成参数为参数,利用UEA和ILRA共享的永久根密钥Ka,通过密钥生成算法f10计算一个临时消息完整性校验密钥Kat,本实施例中,Kat=f10Ka(RANDA,SIDA,SI);然后以会话根密钥生成参数为参数,利用Kat通过完整性保护算法f11计算得到认证响应XRESA,本实施例中,XRESA=f11Kat(RANDA,SIDA,SI);
对比RESA和XRESA是否相同:
如果不同,说明中间人修改了数据,密钥协商失败;
如果相同,则执行生成随机数RANDILR2A之后的步骤生成会话根密钥Kas;然后以会话根密钥生成参数和RANDILR2A为参数,利用会话根密钥Kas,通过完整性保护算法f13计算一个认证响应RESILR2A,如RESILR2A=f13Kas(RANDA,SIDA,SI,RANDILR2A),将RANDILR2A和RESILR2A通过“会话根密钥协商响应”消息返回给UEA
ILRA与UEA可以预先约定好要共同采用的算法,如密钥生成算法f10、完整性保护算法f11、密钥生成算法f12、完整性保护算法f13、加密密钥生成算法f14、完整性保护算法f16和加密算法f17等。下文中的ILRA与UEB之间也是如此。上述标记不同的同类算法可以相同或不同。
步骤203:UEA以RANDILR2A和会话根密钥生成参数为参数,利用共享的永久根密钥Ka通过密钥生成算法f12计算出会话根密钥Kas,再生成随机数RANDA2B,以随机数RANDA2B为参数,利用会话根密钥Kas生成会话密钥,包括通过加密密钥生成算法f14生成会话加密密钥KabENC,并以SI为索引保存会话密钥;然后以建立会话密钥请求参数为参数,利用会话根密钥Kas,通过加密算法f17生成密文EKas后,将会话密钥参数(包括密文EKas和SIDA,SIDB,SI)一起发送给UEB
可以看出,UEA和ILRA是按相同的方式生成Kas,文中,相同的方式是指采用相同的参数、密钥和算法。
其中,建立会话密钥请求参数包括SI,SIDB,SIDA和RANDA2B
此外,生成会话密钥时,生成会话密钥的参数还可以包括其他的只与UEA相关且与UEB不相关的参数,如SIDA,SI等;
如果不考虑中间人攻击的问题,也可以只对生成密文EKas的参数中的随机数RANDA2B加密;而将其他SI,SIDB,SIDA以明文的方式传递给UEB
在实际运用中,密钥协商过程可以独立进行,也可以和会话建立过程结合进行。前者用于会话过程中修改密钥等情况,在后者多用于和会话初始建立的情况,对于后者,终端在会话前,会先发起“建立端对端会话密钥请求”,这样本步骤中的密钥协商参数都可以携带在“建立端对端会话密钥请求”中传到UEB
在另一实施例中,会话密钥中还可以包括完整性校验密钥KabINT,UEA以生成会话加密密钥KabENC相同的参数,如RANDA2B,用Kas通过完整性校验密钥生成算法f15生成。
在另一实施例中,UEA收到“会话根密钥协商响应”消息中还包括认证响应RESILR2A,UEA在计算出会话根密钥Kas后,生成随机数RANDA2B之前,还执行以下处理:UEA以会话根密钥生成参数和RANDILR2A为参数,利用会话根密钥Kas通过完整性保护算法f13计算认证响应XRESILR2A;比较RESILR2A和XRESILR2A是否相等,如果不等,说明有中间人修改数据,密钥协商失败;如果相等,则开始执行生成随机数RANDA2B
在另一实施例中,为防止中间人攻击,UEA在生成密文EKas的参数中还包括认证响应RESA2B;即,UEA以建立会话密钥请求参数为参数,利用会话根密钥Kas通过完整性保护算法f16计算出认证响应RESA2B,然后以认证响应RESA2B和建立会话密钥请求参数为参数,利用会话根密钥Kas,通过加密算法f17生成密文EKas
在一应用示例中,当会话为会议会话时(如用于会议电话等场合),一个会议会话中的每个主叫可以有多个被叫,如会议电话中会议桥,将会和多个对端产生会话,每一个主叫和被叫之间的密钥可以相同,也可以不同。在本实施例中,端到端密钥管理控制权在主叫终端UEA中,UEA通过为不同的被叫终端生成和传递不同的RANDA2B,就可以与不同的被叫终端协商得到不同的会话密钥,通过为不同的被叫终端生成和传递相同的RANDA2B,就可以与不同的被叫终端协商得到相同的会话密钥。
如,本步骤中,UEA可以为UEB分配的RANDA2B=0001,为UEC分配的RANDA2C也等于0001,则UEA和UEB及UEA和UEC分配的会话密钥将相同;但如果为UEB分配的RANDA2B=0003,为UEC分配的RANDA2C=0004,则最后生成的UEA和UEB及UEA和UEC的会话密钥将不同。
由此可见,UEA通过为对端分配相同或不同的随机数RANDA2B,可以对每个会话的不同对端分配相同的密钥,也可以分配不同的密钥,这就很好的满足了会议电话等多方通话的场合。
(2)第二终端将收到的协商参数通过第二ILR发送到第一ILR,第一ILR利用Kas解密第一密文获取第一随机数,然后以与第一终端相同的方式生成会话密钥并保存,然后将会话密钥发送给第二ILR,第二ILR保存该会话密钥并以密文方式将该会话密钥发送给第二终端;
其中,步骤(2)具体包括:
步骤204:UEB收到UEA发送来的密文EKas和SIDA,SIDB,SI后,生成随机数RANDB,并以SI为索引将该随机数RANDB保存在UEB中,然后将密文EKas和SIDA,SIDB,SI,以及随机数RANDB一起发送给ILRB
其中,UEB可以通过获取端到端密钥请求消息将密文EKas和SIDA,SIDB,SI,以及随机数RANDB发送给ILRB
在另一实施例中,如果UEB与ILRB之间为非安全链路时,UEB将RANDB保存后,进一步包括:UEB以RANDB,SIDB,SIDA,SI为参数,利用共享的永久根密钥Kb通过完整性保护算法f18计算出认证响应RESB,即RESB=f18Kb(RANDB,SIDB,SIDA,SI),然后将RESB连同EKas和SIDA,SIDB,SI,以及随机数RANDB一起发送给ILRB
步骤205:ILRB将密文EKas和SIDA,SIDB,SI发送给ILRA
其中,如果ILRB收到UEB发送来的数据中包含RESB,则在向ILRA发送数据前,还执行以下处理:ILRB以RANDB,SIDB,SIDA,SI为参数,利用Kb,通过完整性保护算法f18,计算出XRESB,即XRESB=f18Kb(RANDB,SIDB,SIDA,SI),比较XRESB和RESB是否相同,如果不同,说明中间被修改,密码协商失败,如果相同,再将密文EKas和SIDA,SIDB,SI发送给ILRA,同时ILRB记录下其中的RANDB等留作以后使用。
步骤206:ILRA根据SIDA和SI检索到会话根密钥Kas,利用会话根密钥Kas通过加密算法f17对应的解密算法对密文EKas解密,获取RANDA2B,并以与UEA生成会话密钥相同的方式生成会话密钥,其包括会话加密密钥KabENC,并将会话密钥发送给ILRB并发送给ILRB
其中,以与UEA生成会话密钥相同的方式生成会话密钥指采用相同的参数,利用相同的密钥,通过相同的密钥生成算法产生会话密钥,如以RANDA2B为参数,利用会话根密钥Kas生成会话密钥;
ILRA可以通过获取端到端会话密钥响应消息将会话密钥发送给ILRB
此外,会话密钥还可以包括完整性校验密钥KabINT,ILRA以RANDA2B为参数,用Kas通过完整性校验密钥生成算法f15生成。
在另一实施例中,如果ILRA解密得到的数据中还包括RESA2B,ILRA在生成会话密钥之前,还执行以下处理:ILRA以建立会话密钥请求参数为参数,利用会话根密钥Kas通过完整性保护算法f16生成认证响应XRESA2B,即XRESA2B=f16Kas(SI,SIDB,SIDA,RANDA2B),并与解密得到的RESA2B比较,如果一致,再开始执行生成会话密钥,否则密钥协商失败;
步骤207:ILRB生成随机数RANDILR2B,并以RANDB,RANDILR2B,SIDB为参数,利用UEB和ILRB之间的共享的永久根密钥Kb,通过密钥生成算法f19计算ILRB和UEB之间的临时加密密钥Kbt,然后以RANDILR2B和会话密钥为参数,利用临时加密密钥Kbt,通过加密算法f21计算密文EKbt,然后将密文EKbt和随机数RANDILR2B发送给UEB
其中,ILRB可以通过获取端对端密钥响应消息将加密后的会话密钥与随机数RANDILR2B发送给UEB
本步骤中,ILRB也可以只会话密钥为参数生成密文;
在另一实施例中,计算密文EKbt的参数中还可以进一步包括认证响应RESILR2B;其中,认证响应RESILR2B是以会话密钥,RANDILR2B,RANDB为参数,利用临时加密密钥Kbt,通过完整性保护算法f20计算得到;其中,会话密钥包括会话加密密钥,还可以进一步包括会话完整性密钥。
(3)第二终端解密第二ILR发送的密文,获取其中的会话密钥,并通过密钥校验数据请求所述第一终端验证,所述第一终端验证通过后,所述第一终端和所述第二终端使用该会话密钥进行会话。
其中,步骤(3)具体包括:
步骤208:UEB以RANDB,RANDILR2B,SIDB为参数,利用永久根密钥Kb,通过密钥生成算法f19生成临时加密密钥Kbt;然后用临时加密密钥Kbt,通过加密算法f21对应的解密算法对ILRB发送来的密文EKbt解密,提取出会话密钥,然后生成密钥校验数据并发送到UEA
前面已经指出,在实际运用中,密钥协商过程可以独立进行,也可以和会话建立过程结合进行。对于后者,在此步骤中,终端在会话建立成功时,UEB会向UEA返回“建立端对端会话密钥响应”的应答消息,这样本步骤中所携带的密钥协商相关参数都可以携带在“建立端对端会话密钥响应”消息中传到UEA
其中,对密钥进行校验的方法有很多,本实施例中给出一种较佳的实施方式,即密钥校验数据可以为:UEB生成随机数RANDB2A,以SI,SIDB,SIDA,RANDA2B,RANDB2A为参数,利用完整性校验密钥KabINT,通过完整性保护算法f22生成认证响应RESB2A;以RANDB2A和认证响应RESB2A为参数,利用会话加密密钥KabENC,通过加密算法f23生成密钥校验数据EKabENC,将该密钥校验数据EKabENC发送给UEA
在另一实施例中,如果解密数据中还包括认证响应RESILR2B,UEB生成密钥校验数据之前,还包括对RESILR2B进行完整性校验的步骤,具体为:UEB以与ILRB生成RESILR2B相同的方式,生成认证响应XRESILR2B;如以会话加密密钥、会话完整性密钥、RANDILR2B、RANDB为参数,利用Kbt,通过完整性保护算法f20计算认证响应XRESILR2B,即XRESILR2B=f20Kbt(KabENC,KabINT,RANDILR2B,RANDB),判断RESILR2B是否和XRESILR2B相等,如果相等,则表明没有被中间人修改,继续执行生成密钥校验数据EKabENC的步骤;否则密钥协商失败。
步骤209:UEA收到密钥校验数据后,对该密钥校验数据进行校验,如校验通过,UEA和UEB之间就可以使用会话密钥进行会话;
若UEA收到密钥校验数据EKabENC,UEA用KabENC通过加密算法f23对应的解密算法解密EKabENC后获取RANDB2A后,以SI,SIDB,SIDA,RANDA2B,RANDB2A为参数,利用完整性校验密钥KabINT,通过完整性保护算法f22计算XRESB2A,即XRESB2A=f22KabINT(SI,SIDB,SIDA,RANDA2B,RANDB2A),比较RESB2A和XRESB2A是否一致,如果一致,说明对端收到了正确的会话密钥;后续UEA和UEB之间就可以使用KabENC和KabINT正常进行媒体加密和完整性校验。
经过上述步骤,UEA就正确的将会话密钥传给了UEB,同时ILRA和ILRB都知道UEA和UEB之间的实际会话密钥,从而即使UEA和UEB采用了密钥对数据流加密,ILRA和ILRB也一样可以进行解密,从而满足了合法监听的需要。
值得指出的是,上文中UEB的认证服务器ILRA和UEA的认证服务器ILRB可以是同一个,此时两个用户UEA和UEB都由ILRA分配和管理密钥,这样在图2中步骤205和步骤206可以合并为当ILRA收到步骤204的消息后,直接生成密钥KabINT,KabENC,并向通过步骤207消息发送给UEB。此时步骤(2)可修正为:第二终端将收到的密钥协商参数发送到第一ILR,第一ILR利用Kas解密第一密文获取第一随机数,然后以与第一终端相同的方式生成和保存会话密钥,并以密文方式将该会话密钥发送给第二终端;
下面根据附图详细介绍本发明的应用示例。需要说明的是,本发明内容可以用以下应用示例解释,但不限于以下的应用示例。
图3所示为一种会议会话密钥协商的应用场景,在此场景中,UEA是会议的主控方,UEA、UEC和UED分别经由ASN1、ASN3和ASN2成功接入并通过认证,当用户UEA需要发起一个UEA和UEC以及UED的多方加密会话,UEA可依次和UEC、UED协商会话密钥,或者UEA依次和UED、UEC协商会话密钥。采用哪种顺序取决于UEA发起会话业务的顺序。
不管UEA采用何种顺序,在同一个会话中,当UEA和第一个对端协商密钥时,因为之前会话根密钥Kas尚未生成,UEA需要利用201~202消息先和ILRA协商会话根密钥Kas,在UEA和第二个对端或者第三、第四个对端协商密钥时,由于Kas已经生成,因此UEA不需要再和ILRA协商会话根密钥Kas,也就是说,当UEA和第一个对端以后的其他对端协商会话密钥时,不再需要步骤201~202中的消息。
另外,如果UEA和对端在同一个ILR下注册,在协商会话密钥的时候不需要两个ILR之间传递信息,也就是说不需要205~206步骤;如果UEA和对端不在同一个ILR下,则UEA和对端协商会话密钥的时候,需要205~206步骤。
例如,在图3中,当UEA需要同时向UEC和UED发起305、306会议会话时,UEA在首次和UEC协商会话密钥时,因为会话根密钥Kas尚未生成,因此UEA和ILRA需通过消息201~202先协商会话根密钥Kas,由于UEA和UEC属于同一个ILRA,因此后续会话协商不需要205~206消息,最终UEA只需要201~204,207,208就可以和UEC建立会话密钥。随后UEA和UED协商会话密钥时,由于会话根密钥Kas已存在,因此不再需要201~201消息,但由于UEA和UED不属于同一个ILR,因此需要205~206消息,最终UEA只需要203~208消息和UED建立会话密钥。
图4为通过会议桥CB来进行多方会议会话的密钥协商应用场景,在这个场景中,CB是会议的主控方,图中CB、UEA、UEC和UEB分别通过ASN1、ASN1、ASN3和ASN2接入,在接入时CB、UEA、UEC和UEB分别通过401、402、403、404消息与ILRA、ILRA、ILRA、ILRB交互,进行接入认证。当CB发起一个多方加密会话前,CB已经得到了参会人数、每个参会者是否独立分配密钥等信息,然后CB通过消息201~204,207,208首先和UEA协商会话密钥,然后CB在协商好的会话根密钥基础上,再通过203、204、207、208协商与UEC的会话密钥,最后再通过203~208协商与UEB的会话密钥。
图5为单方呼叫时会话密钥协商的参数示例(此密钥协商的架构图可参考如图1),其中SI索引为1,表示协商第一个会话的会话根密钥,KDN=1表示此会话中只允许ILRA从Kas推导出一个密钥,当UEA和UEB协商好会话密钥后,后续其他用户无法再在此会话中利用根密钥Kas推导其他会话密钥。需要说明的是,此处的随机数RANDA2B随机数长度仅为示意,实际应用中此随机数可以是128bit、256bit或者其他长度。
图6为多方呼叫时会话密钥协商的参数示例(此图的实现架构可参考图3)。其中SI索引为2,表示协商第2个会话的会话根密钥,KDN=2表示此会话中只允许ILRA从Kas推导出2个密钥,当UEA和UEC以及UEA和UED各自协商好会话密钥后,后续其他用户无法再在此会话中的根密钥Kas推导其他会话密钥,当UEA希望UEA和UEC以及UEA和UED协商的两个端到端会话采用相同密钥时,可以在第二个端到端密钥协商中,将RANDA2B采用和第一个协商相同的随机数,这样从UEA协商的两个端到端连接将具有相同的会话密钥。同样需要说明的是,此处的随机数RANDA2B的随机数长度也仅为示意,实际应用中此随机数可以是128bit、256bit或者其他长度。
图7为采用会议桥CB实现多方会议呼叫时的参数协商示例(此图的实现架构可参考图4)。其中SI索引为1003,表示协商第1003个会话的会话根密钥,KDN=0表示此会话允许从会话根密钥推导出任意个端到端会话密钥。另外,三个端到端分支呼叫的随机数分配都不同,表示会议中的三路呼叫分别加密,这样当任意一路被切断呼叫时,他人将不能采用相同的密钥窃听,安全性更好。当然,CB也可以为三个分支呼叫使用相同的随机数,这样分配的三个端到端会话密钥将相同,可以减小会议桥CB的加解密处理负荷。
相应地,本实施例还提供了一种支持合法监听的端到端会话密钥协商的系统,如图9所示,所述系统包括终端和ILR;
终端包括主叫密钥协商模块和被叫密钥协商模块,主叫密钥协商模块又包括终端会话根密钥协商单元和终端会话密钥生成与发送单元;被叫密钥协商模块包括密钥协商参数收发单元和会话密钥获取单元;
ILR包括主叫归属密钥协商模块和被叫归属密钥协商模块,主叫归属密钥协商模块又分为ILR会话根密钥协商单元和ILR会话密钥生成与发送单元;其中,
终端会话根密钥协商单元,用于与终端归属的ILR会话根密钥协商单元进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,发送给终端会话密钥生成与发送单元;
终端会话密钥生成与发送单元,用于接收到会话根密钥Kas后,根据包含自己生成的第一随机数的第一参数和Kas生成会话密钥,并向所述密钥协商参数收发单元发送密钥协商参数发起端到端会话密钥请求,密钥协商参数包括用Kas加密得到的包含第一随机数信息的第一密文以及所述会话的第一标识信息;会话密钥包括会话加密密钥;
密钥协商参数收发单元,用于将收到的密钥协商参数发送到被叫归属密钥协商模块;
会话密钥获取单元,用于解密被叫归属密钥协商模块发送的密文,获取其中的会话密钥;
ILR会话根密钥协商单元,用于与终端会话根密钥协商单元进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,将会话根密钥Kas发送给ILR会话密钥生成与发送单元;
ILR会话密钥生成与发送单元,用于利用ILR会话根密钥协商单元发送来的Kas解密所述被叫归属密钥协商模块发送来的第一密文,获取第一随机数,并用与所述终端会话密钥生成与发送单元相同的方式生成会话密钥并保存后,发送给被叫归属密钥协商模块;
被叫归属密钥协商模块,用于将被叫密钥协商参数收发单元发送来的密钥协商参数发送到ILR会话密钥生成与发送单元,以及将ILR会话密钥生成与发送单元发送来的会话密钥加密生成密文后发送给会话密钥获取单元。
其中,终端会话根密钥协商单元和ILR会话根密钥协商单元上配置有共享的永久根密钥Ka
终端会话根密钥协商单元与终端归属的所述ILR会话根密钥协商单元进行会话根密钥协商时,用于生成第二随机数,并向ILR会话根密钥协商单元发送包含第二随机数和该会话的第二标识信息的会话根密钥生成参数;以及与ILR会话根密钥协商单元相同的方式生成Kas,完成会话根密钥协商过程;
ILR会话根密钥协商单元与所述终端会话根密钥协商单元进行会话根密钥协商时,用于在收到会话根密钥生成参数后,根据Ka和包含第二随机数、第二标识信息及第一ILR生成的第三随机数的第二参数,通过第一密钥生成算法生成Kas并保存第二标识信息与Kas的映射关系后,将第三随机数返回给终端会话根密钥协商单元。
在密钥协商过程中存在信令交互的两个设备之间为不安全链路时,该两个设备在进行密钥协商时,还对传递的参数的完整性进行检验,两个设备包括主叫终端和主叫终端归属的ILR,被叫终端和被叫终端归属的ILR,以及主叫终端和被叫终端中的一组或多组。
其中,第二标识信息包括终端会话根密钥协商单元为本次会话分配的会话索引(SI)和终端的用户身份标识(SIDA),终端同时存在的多个会话时,为各个会话分配不同的SI,通过会话根密钥协商过程为各个会话生成不同的Ka
终端生成会话密钥后,以SI为索引保存该会话密钥。
其中,第一密文包含用Kas加密后的第一标识信息和第一随机数,该第一标识信息包括终端为本次会话分配的会话索引SI、主叫终端的用户身份标识SIDA和被叫终端的用户身份标识SIDB
上述主叫密钥协商模块还包括主叫密钥校验单元,被叫密钥协商模块还包括被叫密钥校验单元;其中,
会话密钥获取单元,还用于将会话密钥发送到被叫密钥校验单元;
被叫密钥校验单元,用于根据会话密钥生成密钥校验数据,并发送到主叫密钥校验单元;
主叫密钥校验单元,用于通过所述密钥校验数据验证所述会话密钥。
所述会话密钥还包括完整性校验密钥,该完整性校验密钥是所述终端会话密钥生成与发送单元和所述ILR会话密钥生成与发送单元,根据Kas和包含第一随机数的参数生成的;
被叫密钥校验单元将密钥校验数据发送到所述主叫密钥校验单元时,是根据收到的完整性校验密钥和包含第一标识信息、第一随机数和自己生成的第四随机数的第六参数,通过完整性保护算法计算得到第四认证响应,用会话加密密钥对第四认证响应和第四随机数加密后生成密钥校验数据,发送到主叫密钥校验单元;
主叫密钥校验单元,用会话加密密钥解密该密钥校验数据得到第四认证响应和第四随机数,用与第二终端得到第四认证响应相同的方式计算得到一认证响应并与第四认证响应比较,如两者不同,则校验失败,结束该会话的密钥协商过程,两者相同时,校验通过。
当终端作为主叫终端与多个被叫终端进行会话时,在终端会话根密钥协商单元发起与第一个被叫终端的会话时,与ILR会话根密钥协商单元协商得到Kas并保存,之后发起的与其余被叫终端的会话则直接根据该Kas和各会话对应生成的第一随机数生成各会话的会话密钥;
主叫终端通过为不同被叫终端生成和传递不同的第一随机数,与不同的被叫终端协商得到不同的会话密钥;或者,第一终端通过为不同被叫终端生成和传递相同的第一随机数,与不同的被叫终端协商得到相同的会话密钥。
被叫归属密钥协商模块与所述会话密钥获取单元上配置有共享的永久根密钥Kb
密钥协商参数收发单元,还用于收到密钥协商参数后生成第五随机数,将该第五随机数与密钥协商参数一起发送到归属密钥协商模块,
被叫归属密钥协商模块,还用于保存所述密钥协商参数收发单元发送来的第五随机数和密钥协商参数中的第一标识信息;以及收到所述ILR会话密钥生成与发送单元发送来的会话密钥后,生成第六随机数,根据Kb和包含第五随机数、第六随机数和被叫终端的用户身份标识的第七参数生成临时加密密钥Kbt,用Kbt对包含会话密钥的第八参数加密后,将得到的密文和第六随机数发送给会话密钥获取单元;
会话密钥获取单元,还用于在收到被叫归属密钥协商模块发来的密文和第六随机数后,用与被叫归属密钥协商模块相同的方式生成Kbt,用Kbt解密被叫归属密钥协商模块发来的密文得到会话密钥。
本文涉及的名词缩写如下表:
  序号   符号   含义
  1   ASN   接入服务器(Access Server Node)
  2   CB   会议桥(Conference Bridge)
  3   EKas[]   用密钥Kas对括号内的参数加密
  4   EKabENC[]   用密钥KabENC对括号内的参数加密
  5   f10   一个密钥生成算法,用于由Ka生成Kat,如果UEA和ILRA之间存在加密信道,则可以不使用f10生成Kat。
  6   f11   一种密钥生成算法,用于由Ka生成Kas。
  7   f12   一种密钥生成算法。
  8   f13   一种完整性保护算法,用于UEA通过UEB转发给ILRA已收到其建立会话密钥请求,防止其他节点冒充ILRA建立向UEA发送响应。
  9   f14   UEA和UEB的之间会话加密密钥生成算法,即由Kas生成KabENC的算法。
  10   f15   UEA和UEB的之间会话完整性校验密钥的密钥生成算法,即由Kas生成KabINT的算法。
  11   f16   一种完整性保护算法,保护算法中涉及的几个参数的完整性,可以是MAC或SHA等算法,本文不指定具体的算法。
  12   f17   一种加密算法,对UEA和UEB数据加密,本文不指定具体的算法。
  13   f18   一种完整性保护算法,用于ILRB对UEB的认证。
  14   f19   生成临时加密密钥Kbt生成算法,本文不指定具体的算法。
  15   f20   一种完整性保护算法,用于ILRB和UEB之间传
  递密钥的正确性。
  16   f21   一种加密算法,用于对ILRB和UEB之间传递的密钥进行加密。
  17   f22   一种完整性保护算法,采用KabINT计算,用于UEB向UEA“建立端到端会话密钥响应”应答密钥已正确收到。
  18   f23   一种加密算法,采用KabENC计算,用于UEB向UEA传送“建立端到端会话密钥响应”应答时加密。
  19   GAA   通用鉴权架构(Generic AuthenticationArchitecture)
  20   GBA   通用自引导架构Generic BootstrappingArchitecture
  21   ILRA   身份位置寄存器(Identification LocationRegister),本文简称“认证服务器”,本文主要用其实现会话密钥生成和分发。ILRA表示用户终端UEA的认证和密钥管理服务器,ILRB表示用户终端UEB的认证和密钥管理服务器,当UEA和UEB在同一个认证服务器下时,ILRA和ILRB可以是同一个服务器ILR。
  22   ILRB   ILRA表示用户终端UEA的认证和密钥管理服务器,ILRB表示用户终端UEB的认证和密钥管理服务器,当UEA和UEB在同一个认证服务器下时,ILRA和ILRB可以是同一个服务器ILR。
  23   Ka   UEA和ILRA共享的永久根密钥,用于生成UEA的会话密钥Kas
  24   Kat   UEA和ILRA的完整性校验密钥,可以预先共享,也可以每次从Ka和RANDA推导而来,也可以由
 其他方式(如注册认证的时候推导)推导出来。
  25   Kas  由Ka生成的会话根密钥Kas,每个以SI为索引的的会话生成的Kas都不同,此密钥保存于UEA和ILRA中,后续用来根据RANDA2B生成会话密钥KabENC和KabINT
  26   KabENC  UEA和UEB会话的加密密钥。
  27   KabINT  UEA和UEB会话的完整性校验密钥。
  28   Kb  UEB和ILRB共享的会话根密钥,用于生成UEB的会话密钥Kbs,并且生成UEB和ILRB临时加密密钥Kbt
  29   Kbt  UEB和ILRB的临时加密密钥,生成方式类似于Kat
  30   KDN  KDN(Key Derived Number)表示协商的会话根密钥后续可使用的次数,0表示可以无限制派生,通常用于不能确定参会人数的会议会话;1表示只能派生一次,通常用于1对1的会话;其他大于1的整数,表示有固定参会人的会议电话。也就是说,等于或大于1的会话都有固定参与人数,这样ILR可以在密钥申请数量达到使用人数限制时删除密钥,使密钥管理更安全和高效。
  31   KMS  密钥管理服务器(Key Management Server)
  32   Otway-Rees  一种密钥协商算法
  33   RANDA  由终端UEA生成的随机数
  34   RANDILR  由ILRA生成的随机数
  35   RANDA2B  由终端UEA生成的随机数,传递给UEB使用
  36   RANDB  由终端UEB生成的随机数,传递给ILRB使用
  37   RANDB2A  由终端UEB生成的随机数,传递给UEA使用
  38   RESA  由UEA给出的完整性校验结果,用于ILRA验证“会话根密钥协商请求”是否的确为UEA发来的。
  39   RESA2B  由UEA给出的完整性校验结果,用于UEB验证“建立端到端会话密钥请求”是否的确为UEA发来的。
  40   RESB  由UEB给出的完整性校验结果,用于ILRB认证UEB
  41   RESILR2A  由ILRA给出的完整性校验结果,用于UEA验证“会话根密钥协商响应”是否的确为ILRA发来的。
  42   RESILR2B  由ILRB给出的完整性校验结果,用于UEB验证“获取端到端密钥响应”是否的确为ILRB发来的。
  43   RESB2A  由UEB给出的完整性校验结果,用于UEA验证“建立端到端会话密钥响应”是否的确为UEB发来的。
  44   SDES  安全描述方法(Security Descriptions),一种将端到端密钥封装在端到端信令中的密钥协商方法。
  45   SI  表示会话索引(Session Index),因为一个终端可以有多个会话,每个会话应协商不同的密钥,而每个会话也可能有不同数量的被叫,如存在会议电话时,在会议电话时,主叫和被叫之间可以有相同的密钥,也可以有不同的密钥,SI标识用于UEA告诉ILRA协商的会话密钥属于哪一个具体的会话。
  46   SIDA  用户终端UEA的身份标识(Subscriber
 IDentification)
  47   SIDB  用户终端UEB的身份标识(SubscriberIDentification)
  48   SRTP  安全实时传输协议(Secure Real-time TransportProtocol)
  49   TICKET  一种密钥协商方法,不直接传送密钥,而传送一个加密的密钥索引
  50   UEA  用户终端(User Equipment)A
  51   UEB  用户终端(User Equipment)B
  52   XRESA  由ILRA给出的完整性校验结果,用于ILRA验证“会话根密钥协商请求”是否的确UEA为发来的。
  53   XRESA2B  由UEA给出的完整性校验结果,用于UEB验证“建立端到端会话密钥请求”是否的确为UEA发来的。
  54   XRESB  由ILRB给出的完整性校验结果,用于ILRB认证UEB
  55   XRESILR2A  由ILRA给出的完整性校验结果,用于UEA验证“会话根密钥协商响应”是否的确为ILRA发来的。
  56   XRESILR2B  由ILRB给出的完整性校验结果,用于UEB验证“获取端到端密钥响应”是否的确为ILRB发来的。
  57   XRESB2A  由UEB给出的完整性校验结果,用于UEA验证“建立端到端会话密钥响应”是否的确为UEB发来的。

Claims (25)

1.一种支持合法监听的端到端会话密钥协商的方法,其特征在于,第一终端发起的到第二终端的会话的密钥协商过程包括:
第一终端与其归属的第一身份位置寄存器ILR进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,第一终端根据包含自己生成的第一随机数的第一参数和Kas生成会话密钥,并向第二终端发起端到端会话密钥请求,携带的密钥协商参数包括用Kas加密得到的包含第一随机数信息的第一密文以及所述会话的第一标识信息;
第二终端在第一ILR为其归属ILR时,将收到的密钥协商参数直接发送到第一ILR,否则经其归属的第二ILR发送到第一ILR;第一ILR利用Kas解密第一密文获取所述第一随机数,用与第一终端相同的方式生成会话密钥并保存后,直接以密文方式发送给第二终端,或者先发送给第二ILR,第二ILR保存该会话密钥并以密文方式将该会话密钥发送给第二终端;
第二终端解密所述密文,获取其中的会话密钥,第一终端和所述第二终端使用该会话密钥进行会话,该会话密钥包括会话加密密钥。
2.如权利要求1所述的方法,其特征在于,第一终端和第一ILR配置有共享的永久根密钥Ka,所述会话根密钥协商过程具体包括:
第一终端生成第二随机数,并向第一ILR发送包含第二随机数和所述会话的第二标识信息的会话根密钥生成参数;
第一ILR收到后,根据Ka和包含第二随机数、第二标识信息及第一ILR生成的第三随机数的第二参数,通过第一密钥生成算法生成Kas并保存第二标识信息与Kas的映射关系后,将第三随机数返回给第一终端;
第一终端用与第一ILR相同的方式生成Kas,完成会话根密钥协商过程。
3.如权利要求1所述的方法,其特征在于:
在密钥协商过程中存在信令交互的两个设备之间为不安全链路时,该两个设备在进行密钥协商时,还对传递的参数的完整性进行检验,所述两个设备包括第一终端和第一ILR,第二终端和其归属的ILR,以及第一终端和第二终端中的一组或多组。
4.如权利要求2所述的方法,其特征在于:
第一终端向第一ILR发送会话根密钥生成参数时,还将第一认证响应传递给第一ILR,第一认证响应是第一终端根据Ka和至少部分会话根密钥生成参数生成临时消息完整校验密钥Kat后,以至少部分会话根密钥生成参数为第三参数,用Kat通过第一完整性保护算法计算得到的;
第一ILR收到会话根密钥生成参数和第一认证响应后,先根据保存的Ka和收到的会话根密钥生成参数,用与第一终端得到第一认证响应相同的方式计算得到一认证响应并与第一认证响应比较,如两者不同,则认证失败,结束该会话的密钥协商过程,如两者相同,再生成Kas
5.如权利要求2所述的方法,其特征在于:
第一ILR向第一终端发送第三随机数时,还将第二认证响应传递给第一终端,第二认证响应是第一ILR根据Kas以及包含第三随机数和至少部分会话根密钥生成参数的第四参数,通过第二完整性保护算法计算得到的;
第一终端生成Kas后,先用与第一ILR得到第二认证响应相同的方式计算得到一认证响应并与第二认证响应比较,如两者不同,则认证失败,结束该会话的密钥协商过程,如两者相同,再生成本次会话的会话密钥。
6.如权利要求2所述的方法,其特征在于:
所述第二标识信息包括第一终端为本次会话分配的会话索引SI和第一终端的用户身份标识SIDA,第一终端同时存在的多个会话时,为各个会话分配不同的SI,通过会话根密钥协商过程为各个会话生成不同的Kas
第一终端生成会话密钥后,以SI为索引保存该会话密钥。
7.如权利要求2所述的方法,其特征在于:
所述会话根密钥生成参数还包括密钥可推导次数,用于表示设定的可利用Kas生成会话密钥的次数;第一ILR收到后,实时控制该Kas生成会话密钥的次数不超过该密钥可推导次数。
8.如权利要求7所述的方法,其特征在于:
所述密钥可推导次数为0时表示次数不限制,可利用Kas生成任意次会话密钥;所述密钥可推导次数为1时表示只能有一个被叫,可利用Kas生成一次会话密钥;所述密钥可推导次数为n时表示固定只能有n个被叫,可利用Kas生成n次会话密钥。
9.如权利要求1或2或3或4或5所述的方法,其特征在于:
所述第一密文包含用Kas加密后的第一标识信息和第一随机数,该第一标识信息包括第一终端为本次会话分配的会话索引SI、第一终端的用户身份标识SIDA和第二终端的用户身份标识SIDB
10.如权利要求1或8所述的方法,其特征在于:
第一终端生成的第一密文还包含用Kas加密后的第三认证响应,该第三认证响应是第一终端根据Kas及包含第一标识信息和第一随机数的第五参数,通过第三完整性保护算法计算得到的;
第一ILR收到第二终端发来的密钥协商参数,根据其中的第一标识信息检索到的Kas对第一密文解密,获取第一随机参数后,先用与第一终端得到第三认证响应相同的方式计算得到一认证响应并与第三认证响应比较,如两者不同,则认证失败,结束该会话的密钥协商过程,如两者相同,再用与第一终端相同的方式生成所述会话密钥。
11.如权利要求1或2或3或4或5所述的方法,其特征在于:
第二终端解密第二ILR发送的密文,获取其中的会话密钥后,还通过密钥校验数据请求第一终端验证,第一终端验证通过后,第一终端和第二终端再使用该会话密钥进行会话。
12.如权利要求11所述的方法,其特征在于,
第一终端生成的会话密钥还包括完整性校验密钥,该完整性校验密钥是第一终端根据Kas和包含第一随机数的参数生成的;
第一ILR收到密钥协商参数后,用与第一终端相同的方式生成该完整性校验密钥并发送到第二终端;
第二终端通过密钥校验数据请求第一终端验证时,根据收到的完整性校验密钥和包含第一标识信息、第一随机数和自己生成的第四随机数的第六参数,通过完整性保护算法计算得到第四认证响应,用会话加密密钥对第四认证响应和第四随机数加密后生成密钥校验数据,发送到第一终端;
第一终端用会话加密密钥解密该密钥校验数据得到第四认证响应和第四随机数,用与第二终端得到第四认证响应相同的方式计算得到一认证响应并与第四认证响应比较,如两者不同,则校验失败,结束该会话的密钥协商过程,两者相同时,校验通过。
13.如权利要求1或2或3或4或5所述的方法,其特征在于,
第一终端作为主叫终端与多个被叫终端进行会话时,在发起与第一个被叫终端的会话时与第一ILR协商得到Kas并保存,之后发起的与其余被叫终端的会话则直接根据该Kas和各会话对应生成的第一随机数生成各会话的会话密钥;
第一终端通过为不同被叫终端生成和传递不同的第一随机数,与不同的被叫终端协商得到不同的会话密钥;或者,第一终端通过为不同被叫终端生成和传递相同的第一随机数,与不同的被叫终端协商得到相同的会话密钥。
14.如权利要求1或2或3或4所述的方法,其特征在于:
第二终端收到第一终端发来的密钥协商参数后,生成第五随机数,将该第五随机数与密钥协商参数一起发送到第二终端归属的ILR,第二终端归属的ILR保存第五随机数和密钥协商参数中的第一标识信息;
第二终端归属的ILR在收到或生成会话密钥后,生成第六随机数,根据与第二终端共享的永久根密钥Kb和包含第五随机数、第六随机数和第二终端的用户身份标识的第七参数生成临时加密密钥Kbt,用Kbt对包含会话密钥的第八参数加密后,将得到的密文和第六随机数发送给第二终端;
第二终端收到其归属的ILR发来的密文和第六随机数后,用与第二终端归属的ILR相同的方式生成Kbt,用Kbt解密ILR发来的密文得到会话密钥。
15.如权利要求14所述的方法,其特征在于:
第二终端还将第五认证响应和第五随机数、密钥协商参数一起发送到第二终端归属的ILR,该第五认证响应是第二终端根据Kb和包含第一标识信息和第五随机数的参数,通过完整性保护算法计算得到的;
第二终端归属的ILR收到第五认证响应、第五随机数和密钥协商参数后,用与第二终端得到第五认证响应相同的方式计算得到一认证响应并与第五认证响应比较,如两者不同,则协商失败,结束该会话的密钥协商过程,如两者相同,在第一ILR为第二终端归属的ILR时,再解密该密钥协商参数中的第一密文,否则再将该密钥协商参数发送到第一ILR。
16.如权利要求14所述的方法,其特征在于:
第二终端归属的ILR用Kbt加密的第八参数还包括第六认证响应,该第六认证响应是第二终端归属的ILR根据会话加密密钥和包含第五随机数和第六随机数的参数,通过完整性保护算法计算得到的;
第二终端解密第二终端归属的ILR发来的密文,得到会话加密密钥后,先用与第二终端归属的ILR得到第六认证响应相同的方式计算得到一认证响应并与第六认证响应比较,如两者不同,则协商失败,结束该会话的密钥协商过程,如两者相同,再生成密钥校验数据请求并发送到第一终端,第一终端验证通过后,第一终端和第二终端再使用该会话密钥进行会话。
17.一种支持合法监听的端到端会话密钥协商的系统,其特征在于,所述系统包括终端和身份位置寄存器ILR;
所述终端包括主叫密钥协商模块和被叫密钥协商模块,所述主叫密钥协商模块又包括终端会话根密钥协商单元和终端会话密钥生成与发送单元;被叫密钥协商模块包括密钥协商参数收发单元和会话密钥获取单元;
所述ILR包括主叫归属密钥协商模块和被叫归属密钥协商模块,主叫归属密钥协商模块又分为ILR会话根密钥协商单元和ILR会话密钥生成与发送单元;其中,
所述终端会话根密钥协商单元,用于与所述终端归属的所述ILR会话根密钥协商单元进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,发送给所述终端会话密钥生成与发送单元;
所述终端会话密钥生成与发送单元,用于接收到会话根密钥Kas后,根据包含自己生成的第一随机数的第一参数和Kas生成会话密钥,并向所述密钥协商参数收发单元发送密钥协商参数发起端到端会话密钥请求,所述密钥协商参数包括用Kas加密得到的包含第一随机数信息的第一密文以及所述会话的第一标识信息;所述会话密钥包括会话加密密钥;
所述密钥协商参数收发单元,用于将收到的密钥协商参数发送到被叫归属密钥协商模块;
所述会话密钥获取单元,用于解密被叫归属密钥协商模块发送的密文,获取其中的会话密钥;
所述ILR会话根密钥协商单元,用于与所述终端会话根密钥协商单元进行会话根密钥协商,生成本次会话的会话根密钥Kas并保存后,将所述会话根密钥Kas发送给所述ILR会话密钥生成与发送单元;
所述ILR会话密钥生成与发送单元,用于利用所述ILR会话根密钥协商单元发送来的Kas解密所述被叫归属密钥协商模块发送来的第一密文,获取第一随机数,并用与所述终端会话密钥生成与发送单元相同的方式生成会话密钥并保存后,发送给被叫归属密钥协商模块;
所述被叫归属密钥协商模块,用于将所述密钥协商参数收发单元发送来的密钥协商参数发送到所述ILR会话密钥生成与发送单元,以及将所述ILR会话密钥生成与发送单元发送来的会话密钥加密生成密文后发送给所述会话密钥获取单元。
18.如权利要求17所述的系统,其特征在于,所述终端会话根密钥协商单元和所述ILR会话根密钥协商单元上配置有共享的永久根密钥Ka
所述终端会话根密钥协商单元与所述终端归属的所述ILR会话根密钥协商单元进行会话根密钥协商时,用于生成第二随机数,并向所述ILR会话根密钥协商单元发送包含第二随机数和所述会话的第二标识信息的会话根密钥生成参数;以及与所述ILR会话根密钥协商单元相同的方式生成Kas,完成会话根密钥协商过程;
所述ILR会话根密钥协商单元与所述终端会话根密钥协商单元进行会话根密钥协商时,用于在收到会话根密钥生成参数后,根据Ka和包含第二随机数、第二标识信息及第一ILR生成的第三随机数的第二参数,通过第一密钥生成算法生成Kas并保存第二标识信息与Kas的映射关系后,将第三随机数返回给所述终端会话根密钥协商单元。
19.如权利要求18所述的系统,其特征在于:
在密钥协商过程中存在信令交互的两个设备之间为不安全链路时,该两个设备在进行密钥协商时,还对传递的参数的完整性进行检验,所述两个设备包括主叫终端和主叫终端归属的ILR,被叫终端和被叫终端归属的ILR,以及主叫终端和被叫终端中的一组或多组。
20.如权利要求19所述的系统,其特征在于:
所述第二标识信息包括所述终端会话根密钥协商单元为本次会话分配的会话索引SI和终端的用户身份标识SIDA,终端同时存在的多个会话时,为各个会话分配不同的SI,通过会话根密钥协商过程为各个会话生成不同的Kas
终端生成会话密钥后,以SI为索引保存该会话密钥。
21.如权利要求17或18或20所述的系统,其特征在于:
所述第一密文包含用Kas加密后的第一标识信息和第一随机数,该第一标识信息包括终端为本次会话分配的会话索引SI、主叫终端的用户身份标识SIDA和被叫终端的用户身份标识SIDB
22.如权利要求17或18所述的系统,其特征在于,所述主叫密钥协商模块还包括主叫密钥校验单元,所述被叫密钥协商模块还包括被叫密钥校验单元;
所述会话密钥获取单元,还用于将会话密钥发送到所述被叫密钥校验单元;
所述被叫密钥校验单元,用于根据所述会话密钥生成密钥校验数据,并发送到所述主叫密钥校验单元;
所述主叫密钥校验单元,用于通过所述密钥校验数据验证所述会话密钥。
23.如权利要求22所述的系统,其特征在于:
所述会话密钥还包括完整性校验密钥,该完整性校验密钥是所述终端会话密钥生成与发送单元和所述ILR会话密钥生成与发送单元,根据Kas和包含第一随机数的参数生成的;
所述被叫密钥校验单元将所述密钥校验数据发送到所述主叫密钥校验单元时,是根据收到的完整性校验密钥和包含第一标识信息、第一随机数和自己生成的第四随机数的第六参数,通过完整性保护算法计算得到第四认证响应,用会话加密密钥对第四认证响应和第四随机数加密后生成密钥校验数据,发送到主叫密钥校验单元;
所述主叫密钥校验单元,用会话加密密钥解密该密钥校验数据得到第四认证响应和第四随机数,用与第二终端得到第四认证响应相同的方式计算得到一认证响应并与第四认证响应比较,如两者不同,则校验失败,结束该会话的密钥协商过程,两者相同时,校验通过。
24.如权利要求17或18所述的系统,其特征在于:
所述终端作为主叫终端与多个被叫终端进行会话时,在所述终端会话根密钥协商单元发起与第一个被叫终端的会话时,与所述ILR会话根密钥协商单元协商得到Kas并保存,之后发起的与其余被叫终端的会话则直接根据该Kas和各会话对应生成的第一随机数生成各会话的会话密钥;
所述主叫终端通过为不同被叫终端生成和传递不同的第一随机数,与不同的被叫终端协商得到不同的会话密钥;或者,第一终端通过为不同被叫终端生成和传递相同的第一随机数,与不同的被叫终端协商得到相同的会话密钥。
25.如权利要求17或18所述的系统,其特征在于,所述被叫归属密钥协商模块与所述会话密钥获取单元上配置有共享的永久根密钥Kb
所述密钥协商参数收发单元,还用于收到密钥协商参数后生成第五随机数,将该第五随机数与密钥协商参数一起发送到被叫归属密钥协商模块,
所述被叫归属密钥协商模块,还用于保存所述密钥协商参数收发单元发送来的第五随机数和密钥协商参数中的第一标识信息;以及收到所述ILR会话密钥生成与发送单元发送来的会话密钥后,生成第六随机数,根据Kb和包含第五随机数、第六随机数和被叫终端的用户身份标识的第七参数生成临时加密密钥Kbt,用Kbt对包含会话密钥的第八参数加密后,将得到的密文和第六随机数发送给会话密钥获取单元;
所述会话密钥获取单元,还用于在收到被叫归属密钥协商模块发来的密文和第六随机数后,用与被叫归属密钥协商模块相同的方式生成Kbt,用Kbt解密被叫归属密钥协商模块发来的密文得到会话密钥。
CN200910181130.9A 2009-10-10 2009-10-10 一种支持合法监听的端到端会话密钥协商方法和系统 Expired - Fee Related CN102045210B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200910181130.9A CN102045210B (zh) 2009-10-10 2009-10-10 一种支持合法监听的端到端会话密钥协商方法和系统
PCT/CN2010/075904 WO2011041962A1 (zh) 2009-10-10 2010-08-11 一种支持合法监听的端到端会话密钥协商方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910181130.9A CN102045210B (zh) 2009-10-10 2009-10-10 一种支持合法监听的端到端会话密钥协商方法和系统

Publications (2)

Publication Number Publication Date
CN102045210A CN102045210A (zh) 2011-05-04
CN102045210B true CN102045210B (zh) 2014-05-28

Family

ID=43856368

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910181130.9A Expired - Fee Related CN102045210B (zh) 2009-10-10 2009-10-10 一种支持合法监听的端到端会话密钥协商方法和系统

Country Status (2)

Country Link
CN (1) CN102045210B (zh)
WO (1) WO2011041962A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110574406A (zh) * 2017-05-06 2019-12-13 华为技术有限公司 密钥配置方法、装置以及系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450752B2 (en) * 2011-04-29 2016-09-20 Nokia Technologies Oy Method and apparatus for providing service provider-controlled communication security
US9544334B2 (en) * 2011-05-11 2017-01-10 Alcatel Lucent Policy routing-based lawful interception in communication system with end-to-end encryption
CN103986723B (zh) * 2014-05-28 2017-12-05 大唐移动通信设备有限公司 一种保密通信控制、保密通信方法及装置
CN105873039B (zh) * 2015-01-19 2019-05-07 普天信息技术有限公司 一种移动自组网络会话密钥生成方法及终端
CN108259428B (zh) * 2016-12-29 2020-10-09 大唐半导体设计有限公司 一种实现数据传输的系统和方法
WO2018120017A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Techniques for key exchange to establish secure connection in network function virtualization environment
CN108347330A (zh) * 2017-01-24 2018-07-31 北京百度网讯科技有限公司 一种安全通信的方法和装置
CN107948183B (zh) * 2017-12-06 2021-02-02 深圳数字电视国家工程实验室股份有限公司 一种适用于物联网的密钥分配方法及系统
CN109495248B (zh) * 2018-11-23 2021-07-20 曹鸣佩 基于秘密共享方案的可监察隐私通信方法
CN111835691B (zh) * 2019-04-22 2022-09-27 中国移动通信有限公司研究院 一种认证信息处理方法、终端和网络设备
CN112242977A (zh) * 2019-07-18 2021-01-19 深圳市文鼎创数据科技有限公司 一种数据传输方法及数据传输系统
CN114765546B (zh) * 2020-12-30 2023-07-18 海能达通信股份有限公司 端到端硬加密方法、系统、加密设备、密钥管理服务器
CN116321141B (zh) * 2023-05-11 2023-08-04 长江量子(武汉)科技有限公司 双耳耳机密钥同步方法及双耳加密耳机

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101039180A (zh) * 2007-05-09 2007-09-19 中兴通讯股份有限公司 密钥生成及传输方法和系统
CN101052033A (zh) * 2006-04-05 2007-10-10 华为技术有限公司 基于ttp的认证与密钥协商方法及其装置
CN101420297A (zh) * 2008-09-08 2009-04-29 北京飞天诚信科技有限公司 协商密钥的方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1921378B (zh) * 2006-09-28 2010-07-28 中国移动通信集团公司 一种协商新鉴权密钥的方法和系统
WO2009005698A1 (en) * 2007-06-28 2009-01-08 Applied Identity Computer security system
CN101340443B (zh) * 2008-08-28 2014-12-03 中国电信股份有限公司 一种通信网络中会话密钥协商方法、系统和服务器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101052033A (zh) * 2006-04-05 2007-10-10 华为技术有限公司 基于ttp的认证与密钥协商方法及其装置
CN101039180A (zh) * 2007-05-09 2007-09-19 中兴通讯股份有限公司 密钥生成及传输方法和系统
CN101420297A (zh) * 2008-09-08 2009-04-29 北京飞天诚信科技有限公司 协商密钥的方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110574406A (zh) * 2017-05-06 2019-12-13 华为技术有限公司 密钥配置方法、装置以及系统
CN110574406B (zh) * 2017-05-06 2021-04-20 华为技术有限公司 密钥配置方法、装置以及系统

Also Published As

Publication number Publication date
WO2011041962A1 (zh) 2011-04-14
CN102045210A (zh) 2011-05-04

Similar Documents

Publication Publication Date Title
CN102045210B (zh) 一种支持合法监听的端到端会话密钥协商方法和系统
JP3816337B2 (ja) テレコミュニケーションネットワークの送信に対するセキュリティ方法
KR101438243B1 (ko) Sim 기반 인증방법
CN101969638B (zh) 一种移动通信中对imsi进行保护的方法
CA2860866C (en) System and method of lawful access to secure communications
CN102547688B (zh) 一种基于虚拟专用信道的高可信手机安全通信信道的建立方法
CN101102186B (zh) 通用鉴权框架推送业务实现方法
CN103458400B (zh) 一种语音加密通信系统中的密钥管理方法
CN102143487B (zh) 一种端对端会话密钥协商方法和系统
CA2624591A1 (en) Method and apparatus for establishing a security association
CN101971559A (zh) 能够合法截取加密的业务的方法和装置
CN103534975A (zh) 根据公开密钥发现用于密钥管理的安全关联
CN104683304A (zh) 一种保密通信业务的处理方法、设备和系统
CN102202299A (zh) 一种基于3g/b3g的端到端语音加密系统的实现方法
CN103118363A (zh) 一种互传秘密信息的方法、系统、终端设备及平台设备
CN104468126A (zh) 一种安全通信系统及方法
CN101790160A (zh) 安全协商会话密钥的方法及装置
CN102905199B (zh) 一种组播业务实现方法及其设备
CN101917712A (zh) 一种移动通讯网中数据加解密方法和系统
CN102223356B (zh) 基于密钥管理服务器的ims媒体安全的合法监听系统
CN102006298A (zh) 接入网关实现负荷分担的方法和装置
CN111988777B (zh) 一号双终端业务的处理方法及核心网设备、服务器
CN101572694B (zh) 媒体流密钥的获取方法、会话设备与密钥管理功能实体
CN106209384B (zh) 使用安全机制的客户终端与充电装置的通信认证方法
CN105991277B (zh) 基于sip通信系统的密钥分发方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140528

Termination date: 20171010

CF01 Termination of patent right due to non-payment of annual fee