密钥协商方法、设备及系统的制作方法

文档序号:7716498阅读:88来源:国知局
专利名称:密钥协商方法、设备及系统的制作方法
技术领域
本发明涉及移动通信技术领域,具体涉及一种密钥协商方法、设备及系统。
背景技术
随着移动通信系统的广泛应用,移动通信与人们生活的紧密相关性,其安全性也 历来受到人们的关注。在现有的移动通信系统中提供了包括用户身份认证和数据保密等多 种保护机制,在终端的接入认证过程中,终端和网络侧协商产生终端的私钥,然后终端使用 该私钥对发送给网络侧的数据进行加密,网络侧在接收到加密数据后,使用终端的私钥进 行解密。现有技术提供了一种密钥协商方法,主要包括终端向网络侧发送接入认证请 求;网络侧根据终端的接入认证请求获取认证向量,该认证向量中包含期望值RES、随机数 RAND、认证令牌AUTN以及终端的私钥CK ;网络侧向终端发送认证向量中的认证令牌AUTN 和随机数RAND ;终端根据认证令牌AUTN来对网络侧进行认证,并且根据随机数RAND来计 算期望值XRES以及私钥CK,然后向网络侧发送期望值XRES。网络侧在接收到期望值XRES 后,比较期望XRES和期望值RES是否相等,在相等的情况下,网络侧认为终端合法。终端在 和网络侧之间的数据传输就可以使用私钥CK进行加密处理,实现保密通信。发明人在研究现有技术的过程中发现,由于不同的终端之间的私钥是不同的,因 此在不同的终端之间通信时需要进行多次加密和解密的过程,例如终端A使用自己的私钥 CKl对原始数据加密,发送给网络侧;网络侧使用私钥CKl对加密数据进行解密,并将解密 后的原始数据使用终端B的私钥CK2进行加密,然后向终端B发送加密数据,终端B就可以 使用私钥CK2对接收到的加密数据进行解密。终端A和终端B之间进行通信需要进行两次 加密和解密过程,加密通信过程复杂,造成了不必要的通信延迟。

发明内容
为解决现有技术加密通信过程复杂的问题,本发明提供一种终端之间使用相同的 密钥进行保密通信的密钥协商方法、实现该方法的密钥协商设备以及密钥协商系统。本发明提供的密钥协商方法,包括第一密钥协商设备接收第一终端发送的第一 密钥协商请求,第一密钥协商请求中携带第二终端的标识信息;第一密钥协商设备根据接 收到的第一密钥协商请求生成随机数R1,根据第二终端的标识信息向第二终端对应的第二 密钥协商设备发送第二密钥协商请求和R1,使得第二密钥协商设备生成随机数R2,并向第 二终端发送R1、R2和第三密钥协商请求,使得第二终端根据Rl和R2生成会话密钥;第一密 钥协商设备接收第二密钥协商设备发送的随机数R2,向第一终端发送Rl和R2,使得第一终 端根据Rl和R2生成会话密钥,通过会话密钥与第二终端进行通信。本发明还提供一种密钥协商方法,包括第二密钥协商设备接收第一密钥协商设 备发送的第二密钥协商请求和随机数R1,第二密钥协商请求中携带第二终端的标识信息; 第二密钥协商设备根据接收到的第二密钥协商请求生成随机数R2,根据第二终端的标识信息向第二终端发送Rl和R2以及第三密钥协商请求,使得第二终端根据Rl和R2生成会话 密钥;第二密钥协商设备向第一密钥协商设备发送R2,使得第一密钥协商设备向第一终端 发送Rl和R2,使得第一终端根据Rl和R2生成会话密钥,通过会话密钥与第二终端通信。本发明实施例提供一种密钥协商设备,包括第一接收单元,用于接收第一终端发 送的第一密钥协商请求,第一密钥协商请求中携带第二终端的标识信息;第一发送单元,用 于根据接收到的第一密钥协商请求生成随机数R1,根据第二终端的标识信息向第二终端对 应的第二密钥协商设备发送第二密钥协商请求和R1,使得第二密钥协商设备生成随机数 R2,并向第二终端发送R1、R2和第三密钥协商请求,使得第二终端根据Rl和R2生成会话密 钥;第二接收单元,用于接收第二密钥协商设备发送的随机数R2 ;以及第二发送单元,用于 向第一终端发送Rl和R2,使得第一终端根据Rl和R2生成会话密钥,通过会话密钥与第二 终端进行通信。本发明实施例还提供一种密钥协商设备,包括第三接收单元,用于接收第一密钥 协商设备发送的第二密钥协商请求和随机数R1,第二密钥协商请求中携带第二终端的标识 信息;第三发送单元,用于根据接收到的第二密钥协商请求生成随机数R2,根据第二终端 的标识信息向第二终端发送Rl和R2以及第三密钥协商请求,使得第二终端根据Rl和R2 生成会话密钥;以及第四发送单元,用于向第一密钥协商设备发送R2,使得第一密钥协商 设备向第一终端发送Rl和R2,使得第一终端根据Rl和R2生成会话密钥,通过会话密钥与 第二终端通信。本发明实施例还提供一种密钥协商系统,包括第一终端,用于向第一密钥协商设 备发送第一密钥协商请求,接收随机数Rl和随机数R2并根据Rl和R2来生成会话密钥,通 过该会话密钥和第二终端通信;第一密钥协商设备,用于接收第一终端发送的第一密钥协 商请求以及第二密钥协商设备发送的随机数R2,根据第一密钥协商请求生成随机数R1,向 第二密钥协商设备发送第二密钥协商请求和随机数R1,向第一终端发送随机数Rl和随机 数R2 ;第二密钥协商设备,用于接收第一密钥协商设备发送的第二密钥协商请求和随机数 R1,根据接收到的第二密钥协商请求生成随机数R2,向第一密钥协商设备发送随机数R2, 向第二终端发送第三密钥协商请求以及Rl和R2;以及第二终端,用于接收第二密钥协商设 备发送的第三密钥协商请求以及随机数Rl和随机数R2,根据Rl和R2来生成会话密钥,通 过该会话密钥和第一终端通信。本发明提供的密钥协商的方法实施例中,第一密钥协商设备向第一终端发送随机 数Rl和随机数R2,使得第一终端根据Rl和R2来生成会话密钥SK,第二终端根据第二密钥 协商设备发送的随机数Rl和随机数R2生成会话密钥SK。第一终端可以使用该会话密钥 SK对发送给第二终端的数据进行加密,并且第一终端还可以使用该会话密钥SK对接收到 的第二终端发送的加密数据进行解密。网络侧在接收到第一终端发送给第二终端的加密数 据后,不需要对加密数据进行解密处理,直接发送给第二终端,第二终端可以根据会话密钥 SK对接收到的加密数据进行解密。与现有技术相比,本发明密钥协商方法实施例可以克服 现有技术中第一终端对发送给第二终端的数据使用私钥进行加密所带来的技术问题,因此 可以缩简加密流程,减少通信延迟。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述 中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些 实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附 图获得其他的附图。图1是本发明提供的密钥协商方法第一实施例的流程图;图2是本发明实施例中第一密钥协商设备确定第一终端和第二终端使用的密钥 计算函数的方法流程图;图3是本发明提供的密钥协商方法第二实施例的流程图;图4是本发明实施例中第二密钥协商设备确定第一终端和第二终端使用的密钥 计算函数的方法流程图;图5是本发明实施例提供的密钥协商设备协商会话密钥的第一场景图;图6是本发明实施例提供的密钥协商设备协商会话密钥的第二场景图;图7是本发明提供的密钥协商设备第一实施例的示意图;图8是本发明提供的密钥协商设备第二实施例的示意图;图9是本发明提供的密钥协商系统的示意图。
具体实施例方式本发明实施例提供了一种密钥协商的方法和实现该方法的密钥协商设备。为了更 好地理解本发明的技术方案,下面结合附图对本发明提供的实施例进行详细地描述。参见图1,图1是本发明提供的密钥协商方法第一实施例的流程图。步骤101、第一密钥协商设备接收第一终端发送的第一密钥协商请求,第一密钥协 商请求中携带第二终端的标识信息。步骤102、第一密钥协商设备根据接收到的第一密钥协商请求生成随机数R1,根 据第二终端的标识信息向第二终端对应的第二密钥协商设备发送第二密钥协商请求和随 机数Rl,使得第二密钥协商设备生成随机数R2,并向第二终端发送随机数Rl、随机数R2和 第三密钥协商请求,使得第二终端根据随机数Rl和随机数R2生成会话密钥。在本发明实施例中,第一密钥协商设备可以生成随机数R1,向第二密钥协商设备 发送第二密钥协商请求和随机数R1。另外,第一密钥协商设备发送的第二密钥协商请求可 以和第一密钥协商设备接收到的第一密钥协商请求不同,即第一密钥协商设备可以对接收 到的第一密钥协商请求进行修改后发送给第二密钥协商设备或直接生成第二密钥协商请 求;第一密钥协商设备发送的第二密钥协商请求也可以和第一密钥协商设备接收到的第一 密钥协商请求相同,第一密钥协商设备可以直接转发接收到的第一密钥协商请求或者直接 生成第一密钥协商请求。步骤103、第一密钥协商设备接收第二密钥协商设备发送的随机数R2,向第一终 端发送随机数Rl和随机数R2,使得第一终端根据随机数Rl和随机数R2生成会话密钥,通 过会话密钥与第二终端进行通信。在本发明提供的密钥协商方法实施例中,第一密钥协商设备向第一终端发送随机 数Rl和随机数R2,使得第一终端根据Rl和R2来生成会话密钥SK,第二密钥协商设备在接收到第二密钥协商请求后生成随机数R2,并向第二终端发送随机数Rl、随机数R2和第三密 钥协商请求,使得第二终端根据随机数Rl和随机数R2生成会话密钥。第一终端可以使用该 会话密钥SK对发送给第二终端的数据进行加密,并且第一终端还可以使用该会话密钥SK 对接收到的第二终端发送的加密数据进行解密。网络侧在接收到第一终端发送给第二终端 的加密数据后,不需要对该加密数据进行解密处理,直接发送给第二终端,第二终端可以根 据计算得到的会话密钥SK对接收到的加密数据进行解密。与现有技术相比,本发明密钥协 商方法实施例可以克服现有技术中第一终端对发送给第二终端的数据使用私钥进行加密 所带来的技术问题,因此可以缩简加密流程,减少通信延迟。另外由于本发明实施例中的第 一密钥协商设备和第二密钥协商设备每次产生的随机数不同,第一终端和第二终端每次使 用的会话密钥也不同,可以提高第一终端和第二终端通信过程的安全性。在本发明实施例中,第一密钥协商设备在接收到第二密钥协商设备发送的随机数 R2之后,还可以保存随机数Rl和随机数R2。第一密钥协商设备可以根据随机数Rl和随机 数R2来计算出会话密钥SK,以便于在必要的时候实现对第一终端和第二终端的通信过程 进行合法监听。在本发明实施例中,第一密钥协商设备可以是主叫侧的密钥协商设备,第一终端 为主叫终端,第二密钥协商设备可以是被叫侧的密钥协商设备,第二终端为被叫终端。如果 主叫终端和被叫终端处于相同的小区中,则第一密钥协商设备和第二密钥协商设备可以为 相同的设备。参见图2,图2是本发明实施例中第一密钥协商设备确定第一终端和第二终端使 用的密钥计算函数的方法流程图。本发明实施例中的第一密钥协商设备在接收到第一终端 发送的第一密钥协商请求之后,还可以包括以下步骤步骤201、第一密钥协商设备判断第一终端默认的第一密钥计算函数和第二终端 默认的第二密钥计算函数是否相同。在本发明实施例中,第一密钥协商设备可以根据第一终端的第一密钥协商请求获 取第一终端默认的第一密钥计算函数,根据第二终端的标识信息查询第二终端默认的第二 密钥计算函数。在本发明实施例中,第一密钥协商设备还可以判断第一终端和第二终端当前所在 的第一网络和第二终端当前所在的第二网络是否相同,如果第一密钥协商设备判断第一网 络和第二网络不同,则判断第一密钥计算函数和第二密钥计算函数不同。步骤202、第一密钥协商设备在判断第一密钥计算函数和第二密钥计算函数不同 时,通知第一终端和第二终端使用第三密钥计算函数来计算会话密钥。第一密钥协商设备在通知第一终端和第二终端使用第三密钥计算函数来计算会 话密钥后,第一终端和第二终端均会使用第三密钥计算函数和随机数Rl和随机数R2来计 算会话密钥SK,第一终端和第二终端将会计算出相同的会话密钥SK。如果第一密钥协商设 备判断第一密钥计算函数和第二密钥计算函数相同,例如第一终端和第二终端当前处于相 同的网络中,此时第一密钥协商设备可以向第一终端和第二终端发送确认消息告知第一终 端和第二终端使用默认的密钥计算函数来计算会话密钥;第一密钥协商设备还可以不做任 何处理,第一终端和第二终端均使用默认的密钥计算函数来计算会话密钥。在本发明实施例中,如果第一网络和第二网络的网络制式相同,例如第一网络和第二网络均为全球移动通信(GSM,Global System of Mobile)网络或者宽带码分多址接入 (WCDMA, Wideband Code Division Multiple Access)网络中,则第一密钥计算函数和第二 密钥计算函数相同,此时第一终端和第二终端均使用默认的密钥计算函数来计算会话密钥 SK。如果第一终端和第二终端处于不同制式的网络系统中,则需要由主叫侧的第一密钥协 商设备将第三密钥计算函数确定为最终使用的密钥计算函数。另外,本发明实施例中第一密钥协商设备确定第一终端和第二终端使用的密钥计 算函数的过程(步骤201、步骤202)和步骤102、步骤103之间是时序无关的。参见图3,图3是本发明提供的密钥协商方法第二实施例的流程图。步骤301、第二密钥协商设备接收第一密钥协商设备发送的第二密钥协商请求和 随机数R1,第二密钥协商请求中携带第二终端的标识信息。步骤302、第二密钥协商设备根据接收到的第二密钥协商请求生成随机数R2,根 据第二终端的标识信息向第二终端发送随机数R1、随机数R2以及第三密钥协商请求,使得 第二终端根据Rl和R2生成会话密钥。在本发明实施例中,第二密钥协商设备生成随机数R2,然后向第二终端发送随机 数R1、随机数R2以及第三密钥协商请求,第二终端根据Rl和R2来生成会话密钥。另外,第 二密钥协商设备发送的第三密钥协商请求可以和第二密钥协商设备接收到的第二密钥协 商请求不同,即第二密钥协商设备可以对接收到的第二密钥协商请求进行修改后发送给第 二终端或直接生成第二密钥协商请求;第二密钥协商设备发送的第三密钥协商请求也可以 和第二密钥协商设备接收到的第二密钥协商请求相同,即第二密钥协商设备可以直接转发 接收到的第二密钥协商请求或者直接生成第二密钥协商请求。步骤303、第二密钥协商设备向第一密钥协商设备发送随机数R2,使得第一密钥 协商设备向第一终端发送Rl和R2,使得第一终端根据Rl和R2生成会话密钥,通过该会话
密钥与第二终端通信。需要指出的是,步骤302第二密钥协商设备根据第二终端的标识信息向第二终端 发送随机数Rl、随机数R2以及第三密钥协商请求的步骤和步骤303是时序无关的。在本发明实施例中,第二密钥协商设备通过将Rl和R2发送给第二终端,使得第二 终端根据Rl和R2来计算本次的会话密钥SK,第二密钥协商设备向第一密钥协商设备发送随 机数R2,使得第一密钥协商设备向第一终端发送Rl和R2,使得第一终端根据Rl和R2生成会 话密钥。第二终端可以根据会话密钥SK来对发送给第一终端的数据进行加密,或者在接收到 第一终端发送的加密数据后,使用会话密钥SK对接收到的加密数据进行解密。网络侧在接收 到第二终端发送给第一终端的加密数据后,不需要对该加密数据进行解密处理,直接发送给 第一终端,第一终端可以根据计算得到的会话密钥SK对接收到的加密数据进行解密。本发明提供的密钥协商方法实施例可以解决现有技术中第二终端使用私钥对发 送给第一终端的数据进行加密所带来的技术问题,因此可以缩简加密流程,减少通信延迟。 另外由于第一密钥协商设备和第二密钥协商设备每次产生的随机数不同,第一终端和第二 终端每次使用的会话密钥也不同,本发明实施例可以提高第一终端和第二终端通信过程的 安全性。在本发明实施例中,第二密钥协商设备在根据接收到的第二密钥协商请求生成随 机数R2之后,还可以保存随机数Rl和随机数R2。第二密钥协商设备保存随机数Rl和随
9机数R2的步骤和步骤303是时序无关的。第二密钥协商设备也可以根据随机数Rl和随机 数R2来计算出会话密钥SK,以便于在必要的时候实现对第一终端和第二终端的通信过程 进行合法监听。参见图4,图4是本发明实施例中第二密钥协商设备确定第一终端和第二终端使 用的密钥计算函数的方法流程图。本发明实施例中的第二密钥协商设备在接收到第一密钥 协商设备发送的第二密钥协商请求之后,还可以包括以下步骤步骤401、第二密钥协商设备判断第一终端默认的第一密钥计算函数和第二终端 默认的第二密钥计算函数是否相同。在本发明实施例中,第二密钥协商设备可以根据第二密钥协商请求获取第一终端 默认的第一密钥计算函数,根据第二终端的标识信息查询第二终端默认的第二密钥计算函 数。在本发明实施例中,第二密钥协商设备还可以判断第一终端和第二终端当前所在 的第一网络和第二终端当前所在的第二网络是否相同,如果第二密钥协商设备判断第一网 络和第二网络不同,则判断第一密钥计算函数和第二密钥计算函数不同。步骤402、第二密钥协商设备在判断第一密钥计算函数和第二密钥计算函数不同 时,通知第一终端和第二终端使用第三密钥计算函数来计算会话密钥。第二密钥协商设备在通知第一终端和第二终端使用第三密钥计算函数来计算会 话密钥后,第一终端和第二终端均会使用第三密钥计算函数和随机数Rl和随机数R2来计 算会话密钥SK,第一终端和第二终端将会计算出相同的会话密钥SK。如果第二密钥协商设 备判断第一密钥计算函数和第二密钥计算函数相同,例如第一终端和第二终端当前处于相 同的网络中,此时第二密钥协商设备可以向第一终端和第二终端发送确认消息告知第一终 端和第二终端使用默认的密钥计算函数来计算会话密钥;第二密钥协商设备还可以不做任 何处理,第一终端和第二终端均使用默认的密钥计算函数来计算会话密钥。在本发明实施例中,如果第一网络和第二网络的网络制式相同,例如第一网络和 第二网络均为全球移动通信(GSM,Global System of Mobile)网络或者宽带码分多址接入 (WCDMA, Wideband Code Division Multiple Access)网络中,则第一密钥计算函数和第二 密钥计算函数相同,此时第一终端和第二终端均使用默认的密钥计算函数来计算会话密钥 SK。如果第一终端和第二终端处于不同制式的网络系统中,则需要由被叫侧的第二密钥协 商设备将第三密钥计算函数确定为最终使用的密钥计算函数。另外,本发明实施例中第二密钥协商设备确定第一终端和第二终端使用的密钥计 算函数的过程(步骤401、步骤402)和步骤302、步骤303之间是时序无关的。为更好的理解本发明实施例,下面给出本发明的一个具体应用场景。参见图5,图 5是本发明实施例提供的密钥协商设备协商会话密钥的第一场景图。在本发明实施例中,第一终端为主叫终端Al,第二终端为被叫终端Bi。第一密 钥协商设备可以为主叫侧的拜访位置寄存器(Visitor Location Register, VLR)或服务 GPRS 支持节点(Servicing GPRS Supporting Node, SGSN)或移动性管理实体(Mobility Management Equipment,MME),本发明实施例以拜访位置寄存器为例来说明。第二密钥协商 设备可以为被叫侧的拜访位置寄存器或服务GPRS支持节点或移动管理实体,本发明实施 例仍以拜访位置寄存器为例来说明,且主叫终端Al和被叫终端Bl处于相同制式的移动通
10信网络中。在本发明实施例中,第一密钥协商请求、第二密钥协商请求和第三密钥协商请求 均相同,均使用密钥协商请求来说明。步骤501、主叫终端Al向主叫侧VLR发送携带有密钥协商请求的呼叫请求消息。在本发明实施例中,密钥协商请求中携带被叫终端Bl的标识信息。主叫终端Al 可以通过呼叫请求消息将密钥协商请求发送给主叫侧VLR,还可以在其它的消息中携带密 钥协商请求,当然主叫终端也可以发送单独的密钥协商请求给主叫侧VLR。步骤502、主叫侧VLR向被叫侧VLR发送随机数Rl和呼叫请求消息。主叫侧VLR接收呼叫请求消息,生成随机数Rl,向被叫侧VLR发送Rl和呼叫请求 消息。在本发明实施例中,主叫侧VLR可以根据被叫终端Bl的标识信息查询被叫终端Bl 对应的被叫侧VLR,然后向被叫侧VLR发送Rl和呼叫请求消息。步骤503、主叫侧VLR确定主叫终端Al和被叫终端Bl使用的密钥计算函数。在本发明实施例中,主叫终端Al和被叫终端Bl处于相同制式的移动通信系统中, 因此主叫终端Al和被叫终端Bl均使用默认的第一密钥计算函数和第二密钥计算函数来计 算会话密钥,此时主叫终端Al默认的第一密钥计算函数和被叫终端Bl默认的第二密钥计 算函数是相同的。需要说明的是,如果主叫终端Al和被叫终端Bl处于不同制式的移动通信系统中, 则需要由主叫侧VLR来确定最终使用的第三密钥计算函数,并发送通知消息来通知主叫终 端Al和被叫终端Bl使用第三密钥计算函数来计算会话密钥,被叫侧VLR也可以获知最终 使用的第三密钥计算函数。在本发明实施例中,第一密钥计算函数和第二密钥计算函数可 以是现有的密钥计算函数,例如GSM系统中的A8算法,在3GPP系统中可以为F3或F4算法。 第三密钥计算函数还可以为重新定义的函数。步骤504、被叫侧VLR向主叫侧VLR发送随机数R2。步骤505、被叫侧VLR向被叫终端Bl发送随机数R1、随机数R2和呼叫请求消息。步骤506、主叫侧VLR向主叫终端Al发送随机数Rl和R2。在本发明实施例中,主叫侧VLR确定主叫终端Al和被叫终端Bl使用的密钥计算 函数的步骤503和主叫侧VLR接收随机数R2(步骤504)以及步骤506是时序无关的。另 外,主叫侧VLR执行步骤506和被叫侧VLR执行步骤505之间也可以是时序无关的。步骤507、被叫终端Bl使用默认的密钥计算函数和随机数R1、R2来计算会话密钥 SK。在本发明实施例中,被叫终端Bl在计算会话密钥时还可以结合通信双方地址、时 间戳等信息,可以根据需要进行选择,从而增强会话密钥SK的安全性。步骤508、主叫终端Al使用默认的密钥计算函数和随机数R1、R2来计算会话密钥 SK。在本发明实施例中,主叫终端Al在计算会话密钥时还可以结合通信双方地址、时 间戳等信息,可以根据需要进行选择,从而增强会话密钥SK的安全性。其中,步骤507和步骤508是时序无关的。步骤509、被叫终端Bl通过被叫侧VLR和主叫侧VLR向主叫终端Al发送呼叫响应消息。步骤510、主叫终端Al和被叫终端Bl使用会话密钥SK实现保密通信。
主叫终端Al和被叫终端Bl使用生成的会话密钥SK来对通信数据进行加密,实现 端到端的保密通信过程。在本发明实施例中,呼叫响应消息中可以包含被叫终端Bl根据随机数R1、R2计算 得到的会话密钥SK的认证值,主叫终端Al在接收到该认证值后,验证双方计算得到的认证 值是否相同。如果主叫终端Al验证认证值相同,则主叫终端Al和被叫终端Bl可以使用会 话密钥SK来对后续通信过程进行加密,否则主叫终端Al和被叫终端Bl重新执行密钥协商 过程。需要说明的是,上述密钥协商过程可以由主叫终端Al发起,也可以由被叫终端Bl 发起。在本发明实施例中,主叫侧VLR或被叫侧VLR可以保存本次产生的随机数Rl和随 机数R2,主叫侧VLR或被叫侧VLR可以根据随机数Rl和随机数R2来计算出会话密钥SK, 以便于在必要的时候实现对主叫终端Al和被叫终端Bl的通信过程进行合法监听。在本发明实施例中,在主叫终端Al或被叫终端Bl漫游并进行切换时,随机数Rl 和随机数R2也可以作为切换所必须传递的信息传送给新的VLR。参见图6,图6是本发明实施例提供的密钥协商设备协商会话密钥的第二场景图。第二场景与上述第一场景的区别在于密钥协商过程由主叫终端Al维护的一个定 时器发起,即呼叫建立时,主叫终端Al启动一个定时器,定时器到时,发起上述密钥协商过程。步骤601、主叫终端Al向被叫终端Bl发送呼叫请求消息。其中,上述呼叫请求消息由主叫侧VLR和被叫侧VLR转发给被叫终端Bi。步骤602、被叫终端Bl向主叫终端Al发送呼叫响应消息。其中,上述呼叫响应消息由被叫侧VLR和主叫侧VLR转发给主叫终端Al。步骤603、主叫终端Al和被叫终端Bl建立呼叫连接,启动定时器。其中,主叫终端Al被叫终端Bl可以通过建立的呼叫连接进行数据通信过程,定时 器的时间长度可以根据具体的网络环境来设定。步骤604、主叫终端Al定时器到时,向主叫侧VLR发送密钥协商请求。步骤605、主叫侧VLR向被叫侧VLR发送随机数Rl和密钥协商请求。主叫侧VLR接收呼叫请求消息,生成随机数Rl,向被叫侧VLR发送Rl和呼叫请求消息。步骤606、主叫侧VLR确定密钥计算函数。主叫侧VLR确定主叫终端Al和被叫终端Bl使用的密钥计算函数。在发明实施中, 确定密钥计算函数的过程与前述步骤503相同,在此不再重复描述。步骤607、被叫侧VLR向主叫侧VLR发送随机数R2。步骤608、被叫侧VLR向被叫终端Bl发送Rl、R2和密钥协商请求。步骤609、主叫侧VLR向主叫终端Al发送Rl和R2。步骤610、被叫终端Bl使用默认的密钥计算函数和Rl、R2来计算会话密钥SK。在本发明实施例中,被叫终端Bl在计算会话密钥时还可以结合通信双方地址、时 间戳等信息,可以根据需要进行选择,从而增强会话密钥SK的安全性。步骤611、主叫终端Al使用默认的密钥计算函数和Rl、R2来计算会话密钥SK。
在本发明实施例中,主叫终端Al在计算会话密钥时还可以结合通信双方地址、时 间戳等信息,可以根据需要进行选择,从而增强会话密钥SK的安全性。其中,步骤610和步骤611是时序无关的。步骤612、被叫终端Bl通过被叫侧VLR和主叫侧VLR向主叫终端Al发送密钥协商响应。步骤613、主叫终端Al和被叫终端Bl使用SK实现保密通信。主叫终端Al和被叫终端Bl使用生成的会话密钥SK来对通信数据进行加密,实现 端到端的保密通信过程。参见图7,图7是本发明提供的密钥协商设备第一实施例的示意图。密钥协商设备主要由第一接收单元11、第一发送单元12、第二接收单元13以及第 二发送单元14组成。其中,第一接收单元11,用于接收第一终端发送的第一密钥协商请求,第一密钥协 商请求中携带第二终端的标识信息;第一发送单元12,用于根据接收到的第一密钥协商请求生成随机数R1,根据第二 终端的标识信息向第二终端对应的第二密钥协商设备发送第二密钥协商请求和R1,使得第 二密钥协商设备生成随机数R2,并向第二终端发送Rl、R2和第三密钥协商请求,使得第二 终端根据Rl和R2生成会话密钥;第二接收单元13,用于接收第二密钥协商设备发送的随机数R2 ;第二发送单元14,用于向第一终端发送Rl和R2,使得第一终端根据Rl和R2生成 会话密钥,通过会话密钥与第二终端进行通信。本发明密钥协商的装置第一实施例还可以包括第一存储单元15。第一存储单元 15用于在接收到第二密钥协商设备发送的随机数R2后保存随机数Rl和R2。本发明密钥协商的装置第一实施例还可以包括第一判断单元16,用于在接收到 第一终端发送的第一密钥协商请求后,判断第一终端默认的第一密钥计算函数和第二终端 默认的第二密钥计算函数是否相同第一通知单元17,用于在第一判断单元16判断第一密钥计算函数和第二密钥计 算函数不同时,通知第一终端和第二终端使用第三密钥计算函数来计算会话密钥。本发明密钥协商设备第一实施例可以使用在本发明密钥协商方法第一实施例中。 本发明密钥协商设备第一实施例可以克服现有技术中第一终端对发送给第二终端的数据 使用私钥进行加密所带来的技术问题,因此可以缩简加密流程,减少通信延迟。另外由于 本发明实施例中的第一密钥协商设备和第二密钥协商设备每次产生的随机数不同,第一终 端和第二终端每次使用的会话密钥也不同,可以提高第一终端和第二终端通信过程的安全 性。参见图8,图8是本发明提供的密钥协商设备第二实施例的示意图。本发明密钥协 商设备第二实施例主要由第三接收单元21、第三发送单元22以及第四发送单元23组成。其中,第三接收单元21,用于接收第一密钥协商设备发送的第二密钥协商请求和 随机数R1,第二密钥协商请求中携带第二终端的标识信息;第三发送单元22,用于根据接收到的第二密钥协商请求生成随机数R2,根据第二 终端的标识信息向第二终端发送Rl和R2以及第三密钥协商请求,使得第二终端根据Rl和
13R2生成会话密钥;第四发送单元23,用于向第一密钥协商设备发送R2,使得第一密钥协商设备向第 一终端发送Rl和R2,使得第一终端根据Rl和R2生成会话密钥,通过该会话密钥与第二终 端通信。本发明密钥协商设备第二实施例还可以包括第二存储单元24,用于在根据接收 到的第二密钥协商请求生成随机数R2后保存随机数Rl和随机数R2。本发明密钥协商设备第二实施例还可以包括第二判断单元25,用于在接收到第 一密钥协商设备发送的第二密钥协商请求后,判断第一终端默认的第一密钥计算函数和第 二终端默认的第二密钥计算函数是否相同;第二通知单元26,用于在判断第一密钥计算函数和第二密钥计算函数不同时,通 知第一终端和第二终端使用第三密钥计算函数来计算会话密钥。本发明密钥协商设备第二实施例可以使用在本发明密钥协商方法第二实施例中。 本发明提供的密钥协商设备第二实施例可以解决现有技术中第二终端使用私钥对发送给 第一终端的数据进行加密所带来的技术问题,因此可以缩简加密流程,减少通信延迟。另外 由于本发明实施例中的第一密钥协商设备和第二密钥协商设备每次产生的随机数不同,第 一终端和第二终端每次使用的会话密钥也不同,可以提高第一终端和第二终端通信过程的 安全性。参见图9,图9是本发明提供的密钥协商系统的示意图。本发明实施例还提供一种 密钥协商系统,该密钥协商系统包括第一终端111,用于向第一密钥协商设备发送第一密钥协商请求,接收随机数Rl 和随机数R2并根据Rl和R2来计算会话密钥;第一密钥协商设备112,用于接收第一终端111发送的第一密钥协商请求以及第 二密钥协商设备发送的随机数R2,根据第一密钥协商请求生成随机数R1,向第二密钥协商 设备发送第二密钥协商请求和随机数R1,向第一终端111发送随机数Rl和随机数R2 ;第二密钥协商设备113,用于接收第一密钥协商设备112发送的第二密钥协商请 求和随机数R1,根据接收到的第二密钥协商请求生成随机数R2,向第一密钥协商设备112 发送随机数R2,向第二终端发送第三密钥协商请求以及Rl和R2 ;第二终端114,用于接收第二密钥协商设备113发送的第三密钥协商请求以及随 机数Rl和随机数R2,根据Rl和R2来计算会话密钥,通过该会话密钥和第一终端111通信。本发明密钥协商系统实施例可以实现第一终端和第二终端使用相同的会话密钥 来进行保密通信,从协议层提出了一种实现端到端的密钥协商机制,可以缩简第一终端和 第二终端之间的通信延迟。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通 过硬件实现,也可以可借助软件和必要的通用硬件平台的方式来实现,基于这样的理解,本 发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存 储介质(可以是只读光盘、U盘、移动硬盘等)中,包括若干指令用以使得一台计算机设备 (可以是个人计算机、服务器或者网络设备等)执行本发明各个实施例描述的方法。以上对本发明所提供的密钥协商的方法、密钥协商设备以及密钥协商系统进行了 详细介绍。对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用
14范围上均会有改变之处,本说明书内容不应理解为对本发明的限制。
权利要求
一种密钥协商方法,其特征在于,包括第一密钥协商设备接收第一终端发送的第一密钥协商请求,所述第一密钥协商请求中携带第二终端的标识信息;所述第一密钥协商设备根据接收到的所述第一密钥协商请求生成随机数R1,根据所述第二终端的标识信息向所述第二终端对应的所述第二密钥协商设备发送所述第二密钥协商请求和所述R1,使得所述第二密钥协商设备生成随机数R2,并向所述第二终端发送所述R1、所述R2和第三密钥协商请求,使得所述第二终端根据所述R1和所述R2生成会话密钥;所述第一密钥协商设备接收所述第二密钥协商设备发送的所述R2,向所述第一终端发送所述R1和所述R2,使得所述第一终端根据所述R1和所述R2生成所述会话密钥,通过所述会话密钥与所述第二终端进行通信。
2.根据权利要求1所述的密钥协商方法,其特征在于,所述第一密钥协商设备在接收 到第二密钥协商设备发送的随机数R2之后,还包括所述第一密钥协商设备保存所述Rl和所述R2。
3.根据权利要求1所述的密钥协商方法,其特征在于,所述第一密钥协商设备在接收 到第一终端发送的第一密钥协商请求之后,还包括所述第一密钥协商设备判断所述第一终端默认的第一密钥计算函数和第二终端默认 的第二密钥计算函数是否相同;所述第一密钥协商设备在判断所述第一密钥计算函数和所述第二密钥计算函数不同 时,通知所述第一终端和所述第二终端使用第三密钥计算函数来计算会话密钥。
4.根据权利要求3所述的密钥协商方法,其特征在于,所述第一密钥协商设备判断所 述第一终端默认的第一密钥计算函数和第二终端默认的第二密钥计算函数是否相同,包 括所述第一密钥协商设备判断所述第一终端当前所在的第一网络和第二终端当前所在 的第二网络是否相同;所述第一密钥协商设备在判断所述第一网络和所述第二网络不同时,判断第一密钥计 算函数和第二密钥计算函数不同。
5.一种密钥协商方法,其特征在于,包括第二密钥协商设备接收第一密钥协商设备发送的第二密钥协商请求和随机数R1,第二 密钥协商请求中携带第二终端的标识信息;所述第二密钥协商设备根据接收到的所述第二密钥协商请求生成随机数R2,根据所述 第二终端的标识信息向所述第二终端发送所述Rl和所述R2以及第三密钥协商请求,使得 所述第二终端根据所述Rl和所述R2生成会话密钥;所述第二密钥协商设备向所述第一密钥协商设备发送所述R2,使得所述第一密钥协商 设备向第一终端发送所述Rl和所述R2,使得所述第一终端根据所述Rl和所述R2生成所述 会话密钥,通过所述会话密钥与所述第二终端通信。
6.根据权利要求5所述的密钥协商方法,其特征在于,所述第二密钥协商设备在根据 接收到的第二密钥协商请求生成随机数R2之后,还包括所述第二密钥协商设备保存所述Rl和所述R2。
7.根据权利要求5所述的密钥协商方法,其特征在于,所述第二密钥协商设备在接收到第一密钥协商设备发送的第二密钥协商请求之后,还包括所述第二密钥协商设备判断第一终端默认的第一密钥计算函数和第二终端默认的第 二密钥计算函数是否相同;所述第二密钥协商设备在判断第一密钥计算函数和第二密钥计算函数不同时,通知第 一终端和第二终端使用第三密钥计算函数来计算会话密钥。
8.根据权利要求5所述的密钥协商方法,其特征在于,所述第二密钥协商设备判断第 一终端默认的第一密钥计算函数和第二终端默认的第二密钥计算函数是否相同,包括所述第二密钥协商设备判断第一终端当前所在的第一网络和第二终端当前所在的第 二网络是否相同;所述第二密钥协商设备在判断所述第一网络和所述第二网络不同时,判断第一密钥计 算函数和第二密钥计算函数不同。
9.一种密钥协商设备,其特征在于,包括第一接收单元,用于接收第一终端发送的第一密钥协商请求,所述第一密钥协商请求 中携带第二终端的标识信息;第一发送单元,用于根据接收到的所述第一密钥协商请求生成随机数R1,根据所述第 二终端的标识信息向第二终端对应的第二密钥协商设备发送第二密钥协商请求和所述R1, 使得所述第二密钥协商设备生成随机数R2,并向所述第二终端发送所述Rl和所述R2以及 第三密钥协商请求,使得所述第二终端根据所述Rl和所述R2生成会话密钥; 第二接收单元,用于接收所述第二密钥协商设备发送的随机数R2; 第二发送单元,用于向所述第一终端发送所述Rl和所述R2,使得所述第一终端根据所 述Rl和所述R2生成所述会话密钥,通过所述会话密钥与所述第二终端进行通信。
10.根据权利要求9所述的密钥协商设备,其特征在于,还包括第一存储单元,用于在接收到所述第二密钥协商设备发送的随机数R2后保存所述Rl 和所述R2。
11.根据权利要求9所述的密钥协商设备,其特征在于,还包括第一判断单元,用于在接收到第一终端发送的第一密钥协商请求后,判断所述第一终 端默认的第一密钥计算函数和第二终端默认的第二密钥计算函数是否相同; 第一通知单元,用于在判断所述第一密钥计算函数和所述第二密钥计算 函数不同时,通知所述第一终端和所述第二终端使用第三密钥计算函数来计 算会话密钥。
12.—种密钥协商设备,其特征在于,包括第三接收单元,用于接收第一密钥协商设备发送的第二密钥协商请求和 随机数R1,所述第二密钥协商请求中携带第二终端的标识信息; 第三发送单元,用于根据接收到的所述第二密钥协商请求生成随机数R2,根据第二终 端的标识信息向所述第二终端发送所述Rl和所述R2以及第三密钥协商请求,使得所述第 二终端根据所述Rl和所述R2生成会话密钥;第四发送单元,用于向所述第一密钥协商设备发送所述R2,使得所述第 一密钥协商设备向第一终端发送所述Rl和所述R2,使得第一终端根据所述 Rl和所述R2生成所述会话密钥,通过所述会话密钥与所述第二终端通信。
13.根据权利要求12所述的密钥协商设备,其特征在于,还包括第二存储单元,用于在根据接收到的所述第二密钥协商请求生成随机数R2后保存所 述Rl和所述R2。
14.根据权利要求12所述的密钥协商设备,其特征在于,还包括第二判断单元,用于在接收到所述第一密钥协商设备发送的所述第二密钥协商请求 后,判断第一终端默认的第一密钥计算函数和第二终端默认的第二密钥计算函数是否相 同;第二通知单元,用于在判断所述第一密钥计算函数和所述第二密钥计算函数不同时, 通知所述第一终端和所述第二终端使用第三密钥计算函数来计算会话密钥。
15.一种密钥协商系统,其特征在于,包括第一终端,用于向第一密钥协商设备发送第一密钥协商请求,接收随机数Rl和随机数 R2并根据所述Rl和所述R2来生成会话密钥;第一密钥协商设备,用于接收所述第一终端发送的第一密钥协商请求以及第二密钥协 商设备发送的随机数R2,根据所述第一密钥协商请求生成随机数R1,向第二密钥协商设备 发送第二密钥协商请求和随机数R1,向所述第一终端发送所述Rl和所述R2 ;第二密钥协商设备,用于接收所述第一密钥协商设备发送的所述第二密钥协商请求和 随机数R1,根据接收到的所述第二密钥协商请求生成随机数R2,向第一密钥协商设备发送 随机数R2,向第二终端发送第三密钥协商请求以及所述Rl和所述R2 ;第二终端,用于接收所述第二密钥协商设备发送的所述第三密钥协商请求以及所述Rl 和所述R2,根据所述Rl和所述R2来生成会话密钥,通过该会话密钥和所述第一终端通信。
全文摘要
本发明公开了一种密钥协商方法、设备及系统,该方法包括第一密钥协商设备接收第一终端发送的第一密钥协商请求,第一密钥协商请求中携带第二终端的标识信息;第一密钥协商设备根据接收到的第一密钥协商请求生成随机数R1,根据第二终端的标识信息向第二终端对应的第二密钥协商设备发送第二密钥协商请求和R1,第二密钥协商设备生成随机数R2,并向第二终端发送R1、R2和第三密钥协商请求,第二终端根据R1和R2生成会话密钥;第一密钥协商设备接收第二密钥协商设备发送的随机数R2,向第一终端发送R1和R2,第一终端根据R1和R2生成会话密钥,通过会话密钥与第二终端进行通信。本发明可以实现第一终端和第二终端的加密通信。
文档编号H04W12/04GK101895877SQ20091020342
公开日2010年11月24日 申请日期2009年5月21日 优先权日2009年5月21日
发明者张向东 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1