CN102045210A - 一种支持合法监听的端到端会话密钥协商方法和系统 - Google Patents
一种支持合法监听的端到端会话密钥协商方法和系统 Download PDFInfo
- Publication number
- CN102045210A CN102045210A CN2009101811309A CN200910181130A CN102045210A CN 102045210 A CN102045210 A CN 102045210A CN 2009101811309 A CN2009101811309 A CN 2009101811309A CN 200910181130 A CN200910181130 A CN 200910181130A CN 102045210 A CN102045210 A CN 102045210A
- Authority
- CN
- China
- Prior art keywords
- key
- session
- terminal
- ilr
- authentication response
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000008569 process Effects 0.000 claims abstract description 39
- 230000000977 initiatory effect Effects 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 185
- 238000012795 verification Methods 0.000 claims description 94
- 238000004422 calculation algorithm Methods 0.000 claims description 79
- 230000011664 signaling Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 238000009795 derivation Methods 0.000 claims description 3
- 230000001172 regenerating effect Effects 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000004846 x-ray emission Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 7
- BSJGASKRWFKGMV-UHFFFAOYSA-L ammonia dichloroplatinum(2+) Chemical compound N.N.Cl[Pt+2]Cl BSJGASKRWFKGMV-UHFFFAOYSA-L 0.000 description 6
- 238000012384 transportation and delivery Methods 0.000 description 6
- 101150069304 ASN1 gene Proteins 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 3
- 101150014516 ASN2 gene Proteins 0.000 description 2
- 101100271026 Arabidopsis thaliana ASN3 gene Proteins 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 238000010960 commercial process Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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/0841—Key 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/0844—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
- H04L63/306—Network 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。
进一步地,上述系统还具有如下特点:
所述主叫密钥协商模块还包括主叫密钥校验单元,所述被叫密钥协商模块还包括被叫密钥校验单元;
所述会话密钥获取单元,还用于将会话密钥发送到所述被叫密钥校验单元;
所述被叫密钥校验单元,用于根据所述会话密钥生成密钥校验数据,并发送到所述主叫密钥校验单元;
所述主叫密钥校验单元,用于通过所述密钥校验数据验证所述会话密钥。
进一步地,上述系统还具有如下特点:
所述会话密钥还包括完整性校验密钥,该完整性校验密钥是所述终端会话密钥生成与发送单元和所述LIR会话密钥生成与发送单元,根据Kas和包含第一随机数的参数生成的;
所述被叫密钥校验单元将所述密钥校验数据发送到所述主叫密钥校验单元时,是根据收到的完整性校验密钥和包含第一标识信息、第一随机数和自己生成的第四随机数的第六参数,通过完整性保护算法计算得到第四认证响应,用会话加密密钥对第四认证响应和第四随机数加密后生成密钥校验数据,发送到主叫密钥校验单元;
所述主叫密钥校验单元,用会话加密密钥解密该密钥校验数据得到第四认证响应和第四随机数,用与第二终端得到第四认证响应相同的方式计算得到一认证响应并与第四认证响应比较,如两者不同,则校验失败,结束该会话的密钥协商过程,两者相同时,校验通过。
进一步地,上述系统还具有如下特点:
所述终端作为主叫终端与多个被叫终端进行会话时,在所述终端会话根密钥协商单元发起与第一个被叫终端的会话时,与所述ILR会话根密钥协商单元协商得到Kas并保存,之后发起的与其余被叫终端的会话则直接根据该Kas和各会话对应生成的第一随机数生成各会话的会话密钥;
所述主叫终端通过为不同被叫终端生成和传递不同的第一随机数,与不同的被叫终端协商得到不同的会话密钥;或者,第一终端通过为不同被叫终端生成和传递相同的第一随机数,与不同的被叫终端协商得到相同的会话密钥。
进一步地,上述系统还具有如下特点:
所述被叫归属密钥协商模块与所述会话密钥获取单元上配置有共享的永久根密钥Kb:
所述密钥协商参数收发单元,还用于收到密钥协商参数后生成第五随机数,将该第五随机数与密钥协商参数一起发送到被叫归属密钥协商模块,
所述被叫归属密钥协商模块,还用于保存所述密钥协商参数收发单元发送来的第五随机数和密钥协商参数中的第一标识信息;以及收到所述LIR会话密钥生成与发送单元发送来的会话密钥后,生成第六随机数,根据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向IIRA注册(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以及IIRA和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和IIRA之间为非安全通道,UEA向ILRA传递会话根密钥生成参数时,还可以同时将认证响应RESA传递给ILRA,用RESA进行完整性校验以确保ILRA接收到的数据来自UEA,保证ILRA不受中间人修改RANDA而遭受攻击,具体为:
UEA生成随机数RANDA后,以会话根密钥生成参数为参数,用UEA与ILRA共享的永久根密钥Ka通过密钥生成算法fi0计算出一个临时消息完整校验密钥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发送来的参数后,可以根据SLDA检索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,RADILR2A),将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相同的参数,如RADA2B,用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解密被叫归属密钥协商模块发来的密文得到会话密钥。
本文涉及的名词缩写如下表:
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根据Kat以及包含第三随机数和至少部分会话根密钥生成参数的第四参数,通过第二完整性保护算法计算得到的;
第一终端生成Kas后,先用与第一ILR得到第二认证响应相同的方式计算得到一认证响应并与第二认证响应比较,如两者不同,则认证失败,结束该会话的密钥协商过程,如两者相同,再生成本次会话的会话密钥。
6.如权利要求2或3所述的方法,其特征在于:
所述第二标识信息包括第一终端为本次会话分配的会话索引(SI)和第一终端的用户身份标识(SIDA),第一终端同时存在的多个会话时,为各个会话分配不同的SI,通过会话根密钥协商过程为各个会话生成不同的Ka;
第一终端生成会话密钥后,以SI为索引保存该会话密钥。
7.如权利要求2或3所述的方法,其特征在于:
所述会话根密钥生成参数还包括密钥可推导次数,用于表示设定的可利用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.如权利要求17或18所述的系统,其特征在于:
在密钥协商过程中存在信令交互的两个设备之间为不安全链路时,该两个设备在进行密钥协商时,还对传递的参数的完整性进行检验,所述两个设备包括主叫终端和主叫终端归属的ILR,被叫终端和被叫终端归属的ILR,以及主叫终端和被叫终端中的一组或多组。
20.如权利要求19所述的系统,其特征在于:
所述第二标识信息包括所述终端会话根密钥协商单元为本次会话分配的会话索引(SI)和终端的用户身份标识(SIDA),终端同时存在的多个会话时,为各个会话分配不同的SI,通过会话根密钥协商过程为各个会话生成不同的Ka;
终端生成会话密钥后,以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解密被叫归属密钥协商模块发来的密文得到会话密钥。
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 true CN102045210A (zh) | 2011-05-04 |
CN102045210B 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 (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748908A (zh) * | 2011-05-11 | 2014-04-23 | 阿尔卡特朗讯公司 | 在使用端到端加密的通信系统中基于策略路由的合法截取 |
WO2015180604A1 (zh) * | 2014-05-28 | 2015-12-03 | 大唐移动通信设备有限公司 | 一种保密通信控制、保密通信方法及装置 |
CN105873039A (zh) * | 2015-01-19 | 2016-08-17 | 普天信息技术有限公司 | 一种移动自组网络会话密钥生成方法及终端 |
CN107948183A (zh) * | 2017-12-06 | 2018-04-20 | 深圳数字电视国家工程实验室股份有限公司 | 一种适用于物联网的密钥分配方法及系统 |
WO2018120017A1 (en) * | 2016-12-30 | 2018-07-05 | Intel Corporation | Techniques for key exchange to establish secure connection in network function virtualization environment |
CN108259428A (zh) * | 2016-12-29 | 2018-07-06 | 大唐半导体设计有限公司 | 一种实现数据传输的系统和方法 |
CN108347330A (zh) * | 2017-01-24 | 2018-07-31 | 北京百度网讯科技有限公司 | 一种安全通信的方法和装置 |
CN108810884A (zh) * | 2017-05-06 | 2018-11-13 | 华为技术有限公司 | 密钥配置方法、装置以及系统 |
CN109495248A (zh) * | 2018-11-23 | 2019-03-19 | 曹鸣佩 | 基于秘密共享方案的可监察隐私通信方法 |
CN111835691A (zh) * | 2019-04-22 | 2020-10-27 | 中国移动通信有限公司研究院 | 一种认证信息处理方法、终端和网络设备 |
CN112242977A (zh) * | 2019-07-18 | 2021-01-19 | 深圳市文鼎创数据科技有限公司 | 一种数据传输方法及数据传输系统 |
CN114765546A (zh) * | 2020-12-30 | 2022-07-19 | 海能达通信股份有限公司 | 端到端硬加密方法、系统、加密设备、密钥管理服务器 |
CN116321141A (zh) * | 2023-05-11 | 2023-06-23 | 长江量子(武汉)科技有限公司 | 双耳耳机密钥同步方法及双耳加密耳机 |
Families Citing this family (1)
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 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052033B (zh) * | 2006-04-05 | 2012-04-04 | 华为技术有限公司 | 基于ttp的认证与密钥协商方法及其装置 |
CN1921378B (zh) * | 2006-09-28 | 2010-07-28 | 中国移动通信集团公司 | 一种协商新鉴权密钥的方法和系统 |
CN100579010C (zh) * | 2007-05-09 | 2010-01-06 | 中兴通讯股份有限公司 | 密钥生成及传输方法和系统 |
WO2009005698A1 (en) * | 2007-06-28 | 2009-01-08 | Applied Identity | Computer security system |
CN101340443B (zh) * | 2008-08-28 | 2014-12-03 | 中国电信股份有限公司 | 一种通信网络中会话密钥协商方法、系统和服务器 |
CN101420297B (zh) * | 2008-09-08 | 2010-11-03 | 北京飞天诚信科技有限公司 | 协商密钥的方法和系统 |
-
2009
- 2009-10-10 CN CN200910181130.9A patent/CN102045210B/zh not_active Expired - Fee Related
-
2010
- 2010-08-11 WO PCT/CN2010/075904 patent/WO2011041962A1/zh active Application Filing
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103748908B (zh) * | 2011-05-11 | 2018-02-06 | 阿尔卡特朗讯公司 | 在使用端到端加密的通信系统中基于策略路由的合法截取 |
CN103748908A (zh) * | 2011-05-11 | 2014-04-23 | 阿尔卡特朗讯公司 | 在使用端到端加密的通信系统中基于策略路由的合法截取 |
WO2015180604A1 (zh) * | 2014-05-28 | 2015-12-03 | 大唐移动通信设备有限公司 | 一种保密通信控制、保密通信方法及装置 |
CN105873039B (zh) * | 2015-01-19 | 2019-05-07 | 普天信息技术有限公司 | 一种移动自组网络会话密钥生成方法及终端 |
CN105873039A (zh) * | 2015-01-19 | 2016-08-17 | 普天信息技术有限公司 | 一种移动自组网络会话密钥生成方法及终端 |
CN108259428B (zh) * | 2016-12-29 | 2020-10-09 | 大唐半导体设计有限公司 | 一种实现数据传输的系统和方法 |
CN108259428A (zh) * | 2016-12-29 | 2018-07-06 | 大唐半导体设计有限公司 | 一种实现数据传输的系统和方法 |
CN110089070A (zh) * | 2016-12-30 | 2019-08-02 | 英特尔公司 | 用于秘钥交换以在网络功能虚拟化环境中建立安全连接的技术 |
CN110089070B (zh) * | 2016-12-30 | 2022-08-02 | 英特尔公司 | 用于秘钥交换以在网络功能虚拟化环境中建立安全连接的技术 |
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 | 北京百度网讯科技有限公司 | 一种安全通信的方法和装置 |
CN108810884A (zh) * | 2017-05-06 | 2018-11-13 | 华为技术有限公司 | 密钥配置方法、装置以及系统 |
WO2018205394A1 (zh) * | 2017-05-06 | 2018-11-15 | 华为技术有限公司 | 密钥配置方法、装置以及系统 |
CN108810884B (zh) * | 2017-05-06 | 2020-05-08 | 华为技术有限公司 | 密钥配置方法、装置以及系统 |
CN107948183A (zh) * | 2017-12-06 | 2018-04-20 | 深圳数字电视国家工程实验室股份有限公司 | 一种适用于物联网的密钥分配方法及系统 |
CN107948183B (zh) * | 2017-12-06 | 2021-02-02 | 深圳数字电视国家工程实验室股份有限公司 | 一种适用于物联网的密钥分配方法及系统 |
CN109495248A (zh) * | 2018-11-23 | 2019-03-19 | 曹鸣佩 | 基于秘密共享方案的可监察隐私通信方法 |
CN109495248B (zh) * | 2018-11-23 | 2021-07-20 | 曹鸣佩 | 基于秘密共享方案的可监察隐私通信方法 |
CN111835691A (zh) * | 2019-04-22 | 2020-10-27 | 中国移动通信有限公司研究院 | 一种认证信息处理方法、终端和网络设备 |
CN111835691B (zh) * | 2019-04-22 | 2022-09-27 | 中国移动通信有限公司研究院 | 一种认证信息处理方法、终端和网络设备 |
CN112242977A (zh) * | 2019-07-18 | 2021-01-19 | 深圳市文鼎创数据科技有限公司 | 一种数据传输方法及数据传输系统 |
CN114765546A (zh) * | 2020-12-30 | 2022-07-19 | 海能达通信股份有限公司 | 端到端硬加密方法、系统、加密设备、密钥管理服务器 |
CN114765546B (zh) * | 2020-12-30 | 2023-07-18 | 海能达通信股份有限公司 | 端到端硬加密方法、系统、加密设备、密钥管理服务器 |
CN116321141A (zh) * | 2023-05-11 | 2023-06-23 | 长江量子(武汉)科技有限公司 | 双耳耳机密钥同步方法及双耳加密耳机 |
CN116321141B (zh) * | 2023-05-11 | 2023-08-04 | 长江量子(武汉)科技有限公司 | 双耳耳机密钥同步方法及双耳加密耳机 |
Also Published As
Publication number | Publication date |
---|---|
WO2011041962A1 (zh) | 2011-04-14 |
CN102045210B (zh) | 2014-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102045210B (zh) | 一种支持合法监听的端到端会话密钥协商方法和系统 | |
WO2017185692A1 (zh) | 密钥分发、认证方法,装置及系统 | |
WO2017185999A1 (zh) | 密钥分发、认证方法,装置及系统 | |
US7269730B2 (en) | Method and apparatus for providing peer authentication for an internet key exchange | |
RU2406251C2 (ru) | Способ и устройство для установления безопасной ассоциации | |
CN108599925B (zh) | 一种基于量子通信网络的改进型aka身份认证系统和方法 | |
CN104683304B (zh) | 一种保密通信业务的处理方法、设备和系统 | |
KR100832893B1 (ko) | 무선 근거리 통신망으로 이동 단말의 보안 접근 방법 및 무선 링크를 통한 보안 데이터 통신 방법 | |
EP1835652B1 (en) | A method for ensuring the safety of the media-flow in ip multimedia sub-system | |
EP1717986B1 (en) | Key distribution method | |
CN109302412B (zh) | 基于CPK的VoIP通信处理方法、终端、服务器及存储介质 | |
CN112039918B (zh) | 一种基于标识密码算法的物联网可信认证方法 | |
KR20080089500A (ko) | 모바일 네트워크를 기반으로 하는 엔드 투 엔드 통신에서의 인증을 위한 방법, 시스템 및 인증 센터 | |
CN104506534A (zh) | 安全通信密钥协商交互方案 | |
CN111756529B (zh) | 一种量子会话密钥分发方法及系统 | |
CN106888092B (zh) | 信息处理方法及装置 | |
WO2011038620A1 (zh) | 一种移动通讯网络中的接入认证方法、装置及系统 | |
CN103534975A (zh) | 根据公开密钥发现用于密钥管理的安全关联 | |
CN111756528B (zh) | 一种量子会话密钥分发方法、装置及通信架构 | |
CN104901940A (zh) | 一种基于cpk标识认证的802.1x网络接入方法 | |
CN101790160A (zh) | 安全协商会话密钥的方法及装置 | |
WO2009082950A1 (fr) | Procédé, dispositif et système de distribution de clés | |
CN105591748B (zh) | 一种认证方法和装置 | |
CN100544247C (zh) | 安全能力协商方法 | |
CN106209384B (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 | ||
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 |