一种基于多个密钥分配中心的实体密话建立系统及其方法转让专利

申请号 : CN200810151085.8

文献号 : CN101364866B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 铁满霞曹军赖晓龙黄振海

申请人 : 西安西电捷通无线网络通信股份有限公司

摘要 :

本发明涉及一种基于多个密钥分配中心的实体密话建立系统及其方法。该系统包括第一网络和第二网络,第一网络包括第一通信实体A1,A2,...,Am、第一承载设备C1、第一密钥分配中心KDC1,第二网络包括第二通信实体B1,B2,...,Bn、第二承载设备C2、第二密钥分配中心KDC2,第一密钥分配中心KDC1和第二密钥分配中心KDC2相接,第一密钥分配中心KDC1通过第一承载设备C1和第一通信实体A1,A2,...,Am相接,第二密钥分配中心KDC2通过第二承载设备C2和第二通信实体B1,B2,...,Bn相接;本发明提出了一种密话建立系统及方法,实现了不同网络中实体之间的秘密通信,且安全地为每对实体分发通信密钥,使密钥具有PFS属性,降低系统密钥管理复杂度。

权利要求 :

1.一种基于多个密钥分配中心的实体密话建立系统,其特征在于:该系统包括第一网络、第二网络和数据库DB,所述第一网络包括第一通信实体A(1),A(2),...,A(m)、第一承载设备C(1)、第一密钥分配中心KDC(1),所述第二网络包括第二通信实体B(1),B(2),...,B(n)、第二承载设备C(2)、第二密钥分配中心KDC(2),所述第一密钥分配中心KDC(1)和第二密钥分配中心KDC(2)相接,所述第一密钥分配中心KDC(1)通过第一承载设备C(1)和第一通信实体A(1),A(2),...,A(m)相接,所述第二密钥分配中心KDC(2)通过第二承载设备C(2)和第二通信实体B(1),B(2),...,B(n)相接;

所述数据库DB包括第一数据库DB(1)和第二数据库DB(2),所述第一数据库DB(1)与第一密钥分配中心KDC(1)相接,所述第二数据库DB(2)与第二密钥分配中心KDC(2)相接;

所述第一承载设备C(1)和第二承载设备C(2)是短信系统、全球移动通信系统GSM、码分多址接入CDMA系统、公共交换电话网络PSTN或因特网;

所述第一密钥分配中心KDC(1)和第二密钥分配中KDC(2)分别具有一对公私钥对x和Px、y和Py,第一通信实体A(1),A(2),...,A(m)在通信之前应事先获得第一密钥分配中心KDC(1)的公钥Px,第二通信实体B(1),B(2),...,B(n)在通信之前应事先获得第二密钥分配中心KDC(2)的公钥Py,并分别进行本地存储。

2.一种基于权利要求1所述的多个密钥分配中心的实体密话建立系统的实体密话建立方法,其特征在于:当任一第一通信实体A(i)和任一第二通信实体B(j)需要进行保密通信时,通过以下密钥分配方法获得通信会话密钥:

1)第一通信实体A(i)产生一对临时公私钥对a和Pa,通过第一承载设备C(1)向第一密钥分配中心KDC(1)发送密钥请求消息,该密钥请求消息包含第一通信实体A(i)的临时公钥Pa和第二通信实体B(j)的标识;

2)第一密钥分配中心KDC(1)收到第一承载设备C(1)转递来的第一通信实体A(i)的密钥请求消息后,向第一数据库DB(1)查询第一通信实体A(i)是否注册了保密服务,若是,则第一密钥分配中心KDC(1)产生一个随机数,作为第一通信实体A(i)和第二通信实体B(j)的通信会话密钥k,向第二密钥分配中心KDC(2)发送密话通知请求消息,该密话通知请求消息包含通信会话密钥k和第二通信实体B(j)的标识;若不是,则第一密钥分配中心KDC(1)向第一通信实体A(i)返回密话失败消息;

3)第二密钥分配中心KDC(2)收到密话通知请求消息后,向第二数据库DB(2)查询第二通信实体B(j)是否注册了保密服务,若是,则第二密钥分配中心KDC(2)通过第二承载设备C(2)向第二通信实体B(j)发送密话请求消息;若不是,则第二密钥分配中心KDC(2)向第一密钥分配中心KDC(1)返回密话失败消息,第一密钥分配中心KDC(1)再将该消息返回给第一通信实体A(i);

4)第二通信实体B(j)收到密话请求消息后,产生一对临时公私钥对b和Pb,通过第二承载设备C(2)向第二密钥分配中心KDC(2)发送密钥请求消息,该密钥请求消息包含第二通信实体B(j)的临时公钥Pb;

5)第二密钥分配中心KDC(2)收到第二承载设备C(2)转递来的第二通信实体B(j)的密钥请求消息后,利用第二通信实体B(j)的临时公钥Pb加密通信会话密钥k后并利用第二密钥分配中心KDC(2)的私钥y计算其签名,构成密钥响应消息通过第二承载设备C(2)返回给第二通信实体B(j);同时第二密钥分配中心KDC(2)向第一密钥分配中心KDC(1)返回密话通知响应消息;

6)第一密钥分配中心KDC(1)收到密话通知响应消息后,利用第通信实体A(i)的临时公钥Pa加密通信会话密钥k后并利用第一密钥分配中心KDC(1)的私钥x计算其签名,构成密钥响应消息通过第一承载设备C(1)返回给第一通信实体A(i);

7)第一通信实体A(i)收到第一承载设备C(1)转递来的密钥响应消息后,利用本地存储的第一密钥分配中心KDC(1)的公钥Px进行签名验证,验证通过后,再利用第一通信实体A(i)的私钥a解密得到通信会话密钥k;若第一通信实体A(i)收到第一承载设备C(1)转递来的密钥分配中心KDC(1)发来的密话失败消息,则本次保密通信失败;

8)第二通信实体B(j)收到第二承载设备C(2)转递来的密钥响应消息后,利用本地存储的第二密钥分配中心KDC(2)的公钥Py进行签名验证,验证通过后,再利用第二通信实体B(j)的私钥b解密得到通信会话密钥k;

9)然后第一通信实体A(i)和第二通信实体B(j)使用通信会话密钥k作为会话密钥进行保密通信。

3.一种基于权利要求1所述的多个密钥分配中心的实体密话建立系统的实体密话建立方法,其特征在于:当任一第一通信实体A(i)和任一第二通信实体B(j)需要进行保密通信时,通过以下密钥分配方法获得通信会话密钥:

1)第一通信实体A(i)产生一对临时公私钥对a和Pa,通过第一承载设备C(1)向第一密钥分配中心KDC(1)发送密钥请求消息,该密钥请求消息包含第一通信实体A(i)的临时公钥Pa和第二通信实体B(j)的标识;

2)第一密钥分配中心KDC(1)收到第一承载设备C(1)转递来的第一通信实体A(i)的密钥请求消息后,向第一数据库DB(1)查询第一通信实体A(i)是否注册了保密服务,若是,则第一密钥分配中心KDC(1)产生一个随机数,作为第一通信实体A(i)和第二通信实体B(j)的通信会话密钥k的部分资料数据k(1),向第二密钥分配中心KDC(2)发送密话通知请求消息,该密话通知请求消息包含资料数据k(1)和第二通信实体B(j)的标识;若不是,则第一密钥分配中心KDC(1)向第一通信实体A(i)返回密话失败消息;

3)第二密钥分配中心KDC(2)收到密话通知请求消息后,向第二数据库DB(2)查询第二通信实体B(j)是否注册了保密服务,若是,则第二密钥分配中心KDC(2)通过第二承载设备C(2)向第二通信实体B(j)发送密话请求消息;若不是,则第二密钥分配中心KDC(2)向第一密钥分配中心KDC(1)返回密话失败消息,第一密钥分配中心KDC(1)再将该消息返回给第一通信实体A(i);

4)第二通信实体B(j)收到密话请求消息后,产生一对临时公私钥对b和Pb,通过第二承载设备C(2)向第二密钥分配中心KDC(2)发送密钥请求消息,该密钥请求消息包含第二通信实体B(j)的临时公钥Pb;

5)第二密钥分配中心KDC(2)收到第二承载设备C(2)转递来的第二通信实体B(j)的密钥请求消息后,产生一个随机数,作为第一通信实体A(i)和第二通信实体B(j)的通信会话密钥k的另一部分资料数据k(2),将k(1)和k(2)进行计算得到第一通信实体A(i)和第二通信实体B(j)的通信会话密钥k,利用第二通信实体B(j)的临时公钥Pb加密通信会话密钥k后并利用第二密钥分配中心KDC(2)的私钥y计算其签名,构成密钥响应消息通过第二承载设备C(2)返回给第二通信实体B(j);同时第二密钥分配中心KDC(2)向第一密钥分配中心KDC(1)返回密话通知响应消息,该密话通知响应消息包含资料数据k(2);

6)第一密钥分配中心KDC(1)收到密话通知响应消息后,将k(1)和k(2)进行计算得到第一通信实体A(i)和第二通信实体B(j)的通信会话密钥k,利用第一通信实体A(i)的临时公钥Pa加密通信会话密钥k后并利用第一密钥分配中心KDC(1)的私钥x计算其签名,构成密钥响应消息通过第一承载设备C(1)返回给第一通信实体A(i);

7)第一通信实体A(i)收到第一承载设备C(1)转递来的密钥响应消息后,利用本地存储的第一密钥分配中心KDC(1)的公钥Px进行签名验证,验证通过后,再利用第一通信实体A(i)的私钥a解密得到通信会话密钥k;若第一通信实体A(i)收到第一承载设备C(1)转递来的密钥分配中心KDC(1)发来的密话失败消息,则本次保密通信失败;

8)第二通信实体B(j)收到第二承载设备C(2)转递来的密钥响应消息后,利用本地存储的第二密钥分配中心KDC(2)的公钥Py进行签名验证,验证通过后,再利用第二通信实体B(j)的私钥b解密得到通信会话密钥k;

9)然后第一通信实体A(i)和第二通信实体B(j)使用通信会话密钥k作为会话密钥进行保密通信。

4.根据权利要求2或3所述的多个密钥分配中心的实体密话建立方法,其特征在于:

当第一密钥分配中心KDC(1)和第二密钥分配中心KDC(2)共享同一个数据库DB时,即第一数据库DB(1)和第二数据库DB(2)合二为一或者二者之间具有通信渠道,则所述步骤2)中第一密钥分配中心KDC(1)收到第一承载设备C(1)转递来的第一通信实体A(i)的密钥请求消息后,向数据库DB查询或者向第一数据库DB(1)和第二数据库DB(2)查询第一通信实体A(i)和第二通信实体B(j)是否均注册了保密服务,若是,则向第二密钥分配中心KDC(2)发送密话通知请求消息,否则向第一通信实体A(i)返回密话失败消息;同时所述步骤3)省去第二密钥分配中心KDC(2)向第二数据库DB(2)查询第二通信实体B(j)是否注册了保密服务,即第二密钥分配中心KDC(2)收到密话通知请求消息后,直接通过第二承载设备C(1)向第二通信实体B(j)发送密话请求消息。

5.根据权利要求2或3所述的多个密钥分配中心的实体密话建立方法,其特征在于:

所述第一通信实体A(i)和第二通信实体B(j)均不用存储各自的临时公私钥对,可适时删除之,待下次开始保密通信时或在保密通信过程中需要更新通信会话密钥时,重新再生成临时公私钥对,获得新的会话密钥。

6.根据权利要求5所述的多个密钥分配中心的实体密话建立方法,其特征在于:所述密钥请求消息和密钥响应消息携带安全参数,完成加密算法、工作模式、工作参数的协商与通告。

说明书 :

一种基于多个密钥分配中心的实体密话建立系统及其方法

技术领域

[0001] 本发明涉及一种基于多个密钥分配中心的实体密话建立系统及其方法。

背景技术

[0002] 当通信网络实体之间需要进行保密通信时,密钥管理是其中的关键技术之一。小型网络可采用每对用户共享一个密钥的方法,但在大型网络中却不可行。一个具有N个用户的系统,为实现任意两个用户之间的保密通信,则需要生成和分配N(N-1)/2个密钥才能保证网络中任意两用户之间的保密通信。随着系统规模的增大,复杂性剧增,对于N为1000的网络而言,就需要约50万个密钥进行分配、存储等。为了降低复杂性,通常采用中心化密钥管理方式,由一个可信赖的联机服务器作为密钥分配中心KDC(Key Distribution Center)或密钥转递中心KTC(Key Transportation Center)来实现,图1-4给出常见的几种基本模式,其中k为第一通信实体A和第二通信实体B之间的通信会话密钥。
[0003] 图1中,第一通信实体A向密钥分配中心请求分发与第二通信实体B通信所用的密钥,则密钥分配中心生成k分别传递给第一通信实体A和第二通信实体B,该传递过程分别利用密钥分配中心与A和密钥分配中心与B的预共享密钥加密实现;图2中,第一通信实体A向密钥分配中心请求分发与第二通信实体B通信所用的密钥,则密钥分配中心生成k传递给第一通信实体A,并通过A转递给第二通信实体B,该传(转)递过程分别利用密钥分配中心与A和密钥分配中心与B的预共享密钥加密实现。
[0004] 图3中,第一通信实体A将与第二通信实体B的通信密钥k传送给密钥转递中心,密钥转递中心再传递给第二通信实体B,该传递过程分别利用密钥转递中心与A和密钥转递中心与B的预共享密钥加密实现;图4中,第一通信实体A将与第二通信实体B的通信密钥k传送给密钥转递中心,密钥转递中心再通过A转递给第二通信实体B,该传(转)递过程分别利用密钥转递中心与A和密钥转递中心与B的预共享密钥加密实现。
[0005] 由于有密钥分配中心或密钥转递中心参与,可实现每对实体每次通信时使用一个新鲜的通信密钥,但各用户需保存一个与密钥分配中心或密钥转递中心共享的较长期使用的秘密管理密钥,且对于密钥分配中心和密钥转递中心而言,不仅需存储数量巨大的秘密管理密钥,而且承担较大的安全风险,因为其一旦出现问题将直接威胁整个系统的安全,再者上述这些密钥分配方法均不具有密钥的完善前向保密性PFS(Perfect Forward Secrecy)。
[0006] 特别是当两个需要建立秘密通信的实体分属于不同的密钥管理中心时,譬如分属于不同的运营商(中国移动、中国联通、中国电信等)而每个运营商各自具有自己的密钥管理中心,或分属于不同的通信网络(CDMA、GSM网络等)而每种通信网络各自具有自己的密钥管理中心,或者尽管同处于一种/个网络,但网络规模较大时部署有多个密钥管理中心,此时还需要实现对通信实体的可管理、可运营等,因此急需一种基于多个密钥管理中心的实体之间的密话建立方法。

发明内容

[0007] 本发明为解决背景技术中存在的上述技术问题,基于三元对等鉴别TePA(Tri-element Peer Authentication)原理,利用公钥密密码技术,而提出一种密话建立系统及方法,该系统不仅实现了不同网络中实体之间的秘密通信,而且安全地为每对实体分发通信密钥,使密钥具有PFS属性,降低系统密钥管理复杂度。
[0008] 本发明的技术解决方案是:本发明为一种基于多个密钥分配中心的实体密话建立系统,其特殊之处在于:该系统包括第一网络和第二网络,第一网络包括第一通信实体A1,A2,...,Am、第一承载设备C1、第一密钥分配中心KDC1,第二网络包括第二通信实体B1,B2,...,Bn、第二承载设备C2、第二密钥分配中心KDC2,所述第一密钥分配中心KDC1和第二密钥分配中心KDC2相接,第一密钥分配中心KDC1通过第一承载设备C1和第一通信实体A1,A2,...,Am相接,第二密钥分配中心KDC2通过第二承载设备C2和第二通信实体B1,B2,...,Bn相接。
[0009] 该系统还包括数据库DB,数据库DB分别和第一密钥分配中心KDC1和第二密钥分配中心KDC2相接。
[0010] 上述数据库DB包括第一数据库DB1和第二数据库DB2,第一数据库DB1与第一密钥分配中心KDC1相接,第二数据库DB2与第二密钥分配中心KDC2相接。
[0011] 上述第一承载设备C1和第二承载设备C2是短信系统、全球移动通信系统GSM(Global System for Mobile)、码分多址接入CDMA(Code Division MultipleAccess)系统、公共交换电话网络PSTN(Public Switched Telephone Network)或因特网(internet)。
[0012] 一种基于上述的多个密钥分配中心的实体密话建立系统的实体密话建立方法,其特殊之处在于:第一密钥分配中心KDC1和第二密钥分配中KDC2分别具有一对公私钥对x和Px、y和Py,第一通信实体A1,A2,...,Am在通信之前应事先获得第一密钥分配中心KDC1的公钥Px,第二通信实体B1,B2,...,Bn在通信之前应事先获得第二密钥分配中心KDC2的公钥Py,并分别进行本地存储,当任一第一通信实体Ai和任一第二通信实体Bj需要进行保密通信时,通过以下密钥分配方法获得通信会话密钥:
[0013] 1)第一通信实体Ai产生一对临时公私钥对a和Pa,通过第一承载设备C1向第一密钥分配中心KDC1发送密钥请求消息,该密钥请求消息包含第一通信实体Ai的临时公钥Pa和第二通信实体Bj的标识;
[0014] 2)第一密钥分配中心KDC1收到第一承载设备C1转递来的第一通信实体Ai的密钥请求消息后,向第一数据库DB1查询第一通信实体Ai是否注册了保密服务,若是,则第一密钥分配中KDC1产生一个随机数,作为第一通信实体Ai和第二通信实体Bj的通信会话密钥k,向第二密钥分配中心KDC2发送密话通知请求消息,该密话通知请求消息包含通信会话密钥k和第二通信实体Bj的标识;若不是,则第一密钥分配中心KDC1向第一通信实体Ai返回密话失败消息;
[0015] 3)第二密钥分配中心KDC2收到密话通知请求消息后,向第二数据库DB2查询第二通信实体Bj是否注册了保密服务,若是,则第二密钥分配中心KDC2通过第二承载设备C2向第二通信实体Bj发送密话请求消息;若不是,则第二密钥分配中心KDC2向第一密钥分配中心KDC1返回密话失败消息,第一密钥分配中心KDC1再将该消息返回给第一通信实体Ai;
[0016] 4)第二通信实体Bj收到密话请求消息后,产生一对临时公私钥对b和Pb,通过第二承载设备C2向第二密钥分配中心KDC2发送密钥请求消息,该密钥请求消息包含第二通信实体Bj的临时公钥Pb;
[0017] 5)第二密钥分配中心KDC2收到第二承载设备C2转递来的第二通信实体Bj的密钥请求消息后,利用第二通信实体Bj的临时公钥Pb加密通信会话密钥k后并利用第二密钥分配中心KDC2的私钥y计算其签名,构成密钥响应消息通过第二承载设备C2返回给第二通信实体Bj;同时第二密钥分配中心KDC2向第一密钥分配中心KDC1返回密话通知响应消息;
[0018] 6)第一密钥分配中心KDC1收到密话通知响应消息后,利用第一通信实体Ai的临时公钥Pa加密通信会话密钥k后并利用第一密钥分配中心KDC1的私钥x计算其签名,构成密钥响应消息通过第一承载设备C1返回给第一通信实体Ai;
[0019] 7)第一通信实体Ai收到第一承载设备C1转递来的密钥响应消息后,利用本地存储的第一密钥分配中心KDC1的公钥Px进行签名验证,验证通过后,再利用第一通信实体Ai的私钥a解密得到通信会话密钥k;若第一通信实体Ai收到第一承载设备C1转递来的密钥分配中心KDC1发来的密话失败消息,则本次保密通信失败;
[0020] 8)第二通信实体Bj收到第二承载设备C2转递来的密钥响应消息后,利用本地存储的第二密钥分配中心KDC2的公钥Py进行签名验证,验证通过后,再利用第二通信实体Bj的私钥b解密得到通信会话密钥k;
[0021] 9)然后第一通信实体Ai和第二通信实体Bj使用通信会话密钥k作为会话密钥进行保密通信。
[0022] 一种基于上述的多个密钥分配中心的实体密话建立系统的实体密话建立方法,其特殊之处在于:第一密钥分配中心KDC1和第二密钥分配中KDC2分别具有一对公私钥对x和Px、y和Py,第一通信实体A1,A2,...,Am在通信之前应事先获得第一密钥分配中心KDC1的公钥Px,第二通信实体B1,B2,...,Bn在通信之前应事先获得第二密钥分配中心KDC2的公钥Py,并分别进行本地存储,当任一第一通信实体Ai和任一第二通信实体Bj需要进行保密通信时,通过以下密钥分配方法获得通信会话密钥:
[0023] 1)第一通信实体Ai产生一对临时公私钥对a和Pa,通过第一承载设备C1向第一密钥分配中心KDC1发送密钥请求消息,该密钥请求消息包含第一通信实体Ai的临时公钥Pa和第二通信实体Bj的标识;
[0024] 2)第一密钥分配中心KDC1收到第一承载设备C1转递来的第一通信实体Ai的密钥请求消息后,向第一数据库DB1查询第一通信实体Ai是否注册了保密服务,若是,则第一密钥分配中心KDC1产生一个随机数,作为第一通信实体Ai和第二通信实体Bj的通信会话密钥k的部分资料数据k1,向第二密钥分配中心KDC2发送密话通知请求消息,该密话通知请求消息包含资料数据k1和第二通信实体Bj的标识;若不是,则第一密钥分配中心KDC1向第一通信实体Ai返回密话失败消息;
[0025] 3)第二密钥分配中心KDC2收到密话通知请求消息后,向第二数据库DB2查询第二通信实体Bj是否注册了保密服务,若是,则第二密钥分配中心KDC2通过第二承载设备C2向第二通信实体Bj发送密话请求消息;若不是,则第二密钥分配中心KDC2向第一密钥分配中心KDC1返回密话失败消息,第一密钥分配中心KDC1再将该消息返回给第一通信实体Ai;
[0026] 4)第二通信实体Bj收到密话请求消息后,产生一对临时公私钥对b和Pb,通过第二承载设备C2向第二密钥分配中心KDC2发送密钥请求消息,该密钥请求消息包含第二通信实体Bj的临时公钥Pb;
[0027] 5)第二密钥分配中心KDC2收到第二承载设备C2转递来的第二通信实体Bj的密钥请求消息后,产生一个随机数,作为第一通信实体Ai和第二通信实体Bj的通信会话密钥k的另一部分资料数据k2,将k1和k2进行计算得到第一通信实体Ai和第二通信实体Bj的通信会话密钥k,利用第二通信实体Bj的临时公钥Pb加密通信会话密钥k后并利用第二密钥分配中心KDC2的私钥y计算其签名,构成密钥响应消息通过第二承载设备C2返回给第二通信实体Bj;同时第二密钥分配中心KDC2向第一密钥分配中心KDC1返回密话通知响应消息,该密话通知响应消息包含资料数据k2;
[0028] 6)第一密钥分配中心KDC1收到密话通知响应消息后,将k1和k2进行计算得到第一通信实体Ai和第二通信实体Bj的通信会话密钥k,利用第一通信实体Ai的临时公钥Pa加密通信会话密钥k后并利用第一密钥分配中心KDC1的私钥x计算其签名,构成密钥响应消息通过第一承载设备C1返回给第一通信实体Ai;
[0029] 7)第一通信实体Ai收到第一承载设备C1转递来的密钥响应消息后,利用本地存储的第一密钥分配中心KDC1的公钥Px进行签名验证,验证通过后,再利用第一通信实体Ai的私钥a解密得到通信会话密钥k;若第一通信实体Ai收到第一承载设备C1转递来的密钥分配中心KDC1发来的密话失败消息,则本次保密通信失败;
[0030] 8)第二通信实体Bj收到第二承载设备C2转递来的密钥响应消息后,利用本地存储的第二密钥分配中心KDC2的公钥Py进行签名验证,验证通过后,再利用第二通信实体Bj的私钥b解密得到通信会话密钥k;
[0031] 9)然后第一通信实体Ai和第二通信实体Bj使用通信会话密钥k作为会话密钥进行保密通信。
[0032] 当第一密钥分配中心KDC1和第二密钥分配中心KDC2共享同一个数据库DB时,即第一数据库DB1和第二数据库DB2合二为一或者二者之间具有通信渠道,则上述基于多个密钥分配中心的实体密话建立系统的实体密话建立方法中,上述步骤2)中第一密钥分配中心KDC1收到第一承载设备C1转递来的第一通信实体Ai的密钥请求消息后,向数据库DB查询或者向第一数据库DB1和第二数据库DB2查询第一通信实体Ai和第二通信实体Bj是否均注册了保密服务,若是,则向第二密钥分配中心KDC2发送密话通知请求消息,否则向第一通信实体Ai返回密话失败消息;同时上述步骤3)省去第二密钥分配中心KDC2向第二数据库DB2查询第二通信实体Bj是否注册了保密服务,即第二密钥分配中心KDC2收到密话通知请求消息后,直接通过第二承载设备C1向第二通信实体Bj发送密话请求消息。
[0033] 上述第一通信实体Ai和第二通信实体Bj均不用存储各自的临时公私钥对,可适时删除之,待下次开始保密通信时或在保密通信过程中需要更新通信会话密钥时,重新再生成临时公私钥对,获得新的会话密钥。
[0034] 上述密钥请求消息和密钥响应消息携带安全参数,完成加密算法、工作模式、工作参数的协商与通告。
[0035] 本发明基于三元对等鉴别(TePA)原理,采用公钥密码技术,基于多个密钥分配中心KDC为需要通信的实体分发密钥,实现了通信密钥的安全分发、动态更新,并具有完善的前向保密性PFS,解决了传统方法密钥分配中心KDC需要管理大量密钥、用户需要存储长期秘密密钥且通信密钥不具备前向保密性等问题,保障了位于不同网络中基于多个密钥分配中心的实体之间的秘密通信。本发明可应用于移动通信网络系统,也可应用于其他通信系统。

附图说明

[0036] 图1—4为传统的基于密钥分配中心或密钥转递中心的密钥分配方法示意图;
[0037] 图5为本发明的基于多个密钥分配中心的实体密话建立系统实施例一示意图;
[0038] 图6为本发明的基于多个密钥分配中心的实体密话建立方法示意图;
[0039] 图7为本发明的基于多个密钥分配中心的实体密话建立系统实施例二示意图。

具体实施方式

[0040] 参见图5,本发明的基于多个密钥分配中心的实体密话建立系统包括第一网络和第二网络,第一网络和第二网络可以是两种不同的网络,如中国移动网络和中国联通网络,也可以是同一种网络下的两个网络,如中国移动网络下的两个子网,其中第一网络中包含第一通信实体A1,A2,...,Am、第一承载设备C1、第一密钥分配中心KDC1、第一数据库DB(Data Base)1,第二网络中包含第二通信实体B1,B2,...,Bn、第二承载设备C2、第二密钥分配中心KDC2、第二数据库DB(Data Base)2。其中第一承载设备C1和第二承载设备C2用于承载或转递密钥分配过程中的消息,它可以是短信系统、全球移动通信系统GSM(Global System for Mobile)、码分多址接入CDMA(Code Division MultipleAccess)系统、公共交换电话网络PSTN(Public Switched Telephone Network)或因特网(internet)等,第一数据库DB1和第二数据库DB2存储对应的网络中通信实体是否注册了保密服务,第一通信实体Ai(i=1,2,...,m)和第二通信实体Bj(j=1,2,...,n)有可能注册了保密服务,有可能没有。
[0041] 参见图6,基于该系统,本发明的基于多个密钥分配中心的实体密话建立方法,步骤如下:
[0042] 第一密钥分配中心KDC1和第二密钥分配中KDC2分别具有一对公私钥对x和Px、y和Py,第一通信实体A1,A2,...,Am在通信之前应事先获得第一密钥分配中心KDC1的公钥Px,第二通信实体B1,B2,...,Bn在通信之前应事先获得第二密钥分配中心KDC2的公钥Py,并分别进行本地存储,当任一第一通信实体Ai和任一第二通信实体Bj需要进行保密通信时,通过以下密钥分配方法获得通信会话密钥:
[0043] 1)第一通信实体Ai产生一对临时公私钥对a和Pa,通过第一承载设备C1向第一密钥分配中心KDC1发送密钥请求消息,该密钥请求消息包含第一通信实体Ai的临时公钥Pa和第二通信实体Bj的标识;
[0044] 2)第一密钥分配中心KDC1收到第一承载设备C1转递来的第一通信实体Ai的密钥请求消息后,向第一数据库DB1查询第一通信实体Ai是否注册了保密服务,若是,则第一密钥分配中心KDC1产生一个随机数,作为第一通信实体Ai和第二通信实体Bj的通信会话密钥k,向第二密钥分配中心KDC2发送密话通知请求消息,该密话通知请求消息包含通信会话密钥k和第二通信实体Bj的标识;若不是,则第一密钥分配中心KDC1向第一通信实体Ai返回密话失败消息;
[0045] 3)第二密钥分配中心KDC2收到密话通知请求消息后,向第二数据库DB2查询第二通信实体Bj是否注册了保密服务,若是,则第二密钥分配中心KDC2通过第二承载设备C2向第二通信实体Bj发送密话请求消息;若不是,则第二密钥分配中心KDC2向第一密钥分配中心KDC1返回密话失败消息,第一密钥分配中心KDC1再将该消息返回给第一通信实体Ai;
[0046] 4)第二通信实体Bj收到密话请求消息后,产生一对临时公私钥对b和Pb,通过第二承载设备C2向第二密钥分配中心KDC2发送密钥请求消息,该密钥请求消息包含第二通信实体Bj的临时公钥Pb;
[0047] 5)第二密钥分配中心KDC2收到第二承载设备C2转递来的第二通信实体Bj的密钥请求消息后,利用第二通信实体Bj的临时公钥Pb加密通信会话密钥k后并利用第二密钥分配中心KDC2的私钥y计算其签名,构成密钥响应消息通过第二承载设备C2返回给第二通信实体Bj;同时第二密钥分配中心KDC2向第一密钥分配中心KDC1返回密话通知响应消息;
[0048] 6)第一密钥分配中心KDC1收到密话通知响应消息后,利用第一通信实体Ai的临时公钥Pa加密通信会话密钥k后并利用第一密钥分配中心KDC1的私钥x计算其签名,构成密钥响应消息通过第一承载设备C1返回给第一通信实体Ai;
[0049] 7)第一通信实体Ai收到第一承载设备C1转递来的密钥响应消息后,利用本地存储的第一密钥分配中心KDC1的公钥Px进行签名验证,验证通过后,再利用第一通信实体Ai的私钥a解密得到通信会话密钥k;若第一通信实体Ai收到第一承载设备C1转递来的密钥分配中心KDC1发来的密话失败消息,则本次保密通信失败;
[0050] 8)第二通信实体Bj收到第二承载设备C2转递来的密钥响应消息后,利用本地存储的第二密钥分配中心KDC2的公钥Py进行签名验证,验证通过后,再利用第二通信实体Bj的私钥b解密得到通信会话密钥k;
[0051] 9)然后第一通信实体Ai和第二通信实体Bj使用通信会话密钥k作为会话密钥进行保密通信。
[0052] 其中,第一通信实体Ai和第二通信实体Bj均不用存储各自的临时公私钥对,可适时删除之,待下次开始保密通信时或在保密通信过程中需要更新通信会话密钥时,重新再生成临时公私钥对,向密钥分配中心KDC发出密钥请求消息,重复上述步骤,获得新的会话密钥。
[0053] 密钥请求消息和密钥响应消息可携带安全参数,完成加密算法、工作模式、工作参数等的协商与通告。
[0054] 密钥分配中心KDC1和KDC2之间应使用安全通道来传递密话通知请求消息和密话通知响应消息,该安全通道的建立或部署在此不作定义。
[0055] 通信会话密钥k还可以由第一密钥分配中心KDC1和第二密钥分配中心KDC2共同产生,即将上述步骤2)、5)和6)分别调整为:
[0056] 2)第一密钥分配中心KDC1收到第一承载设备C1转递来的第一通信实体Ai的密钥请求消息后,向第一数据库DB1查询第一通信实体Ai是否注册了保密服务,若是,则第一密钥分配中心KDC1产生一个随机数,作为第一通信实体Ai和第二通信实体Bj的通信会话密钥k的部分资料数据k1,向第二密钥分配中心KDC2发送密话通知请求消息,该密话通知请求消息包含资料数据k1和第二通信实体Bj的标识;若不是,则第一密钥分配中心KDC1向第一通信实体Ai返回密话失败消息;
[0057] 5)第二密钥分配中心KDC2收到第二承载设备C2转递来的第二通信实体Bj的密钥请求消息后,产生一个随机数,作为第一通信实体Ai和第二通信实体Bj的通信会话密钥k的另一部分资料数据k2,将k1和k2进行计算得到第一通信实体Ai和第二通信实体Bj的通信会话密钥k,利用第二通信实体Bj的临时公钥Pb加密通信会话密钥k后并利用第二密钥分配中心KDC2的私钥y计算其签名,构成密钥响应消息通过第二承载设备C2返回给第二通信实体Bj;同时第二密钥分配中心KDC2向第一密钥分配中心KDC1返回密话通知响应消息,该密话通知响应消息包含资料数据k2;
[0058] 6)第一密钥分配中心KDC1收到密话通知响应消息后,将k1和k2进行计算得到第一通信实体Ai和第二通信实体Bj的通信会话密钥k,利用第一通信实体Ai的临时公钥Pa加密通信会话密钥k后并利用第一密钥分配中心KDC1的私钥x计算其签名,构成密钥响应消息通过第一承载设备C1返回给第一通信实体Ai。
[0059] 参见图7,当第一密钥分配中心KDC1和第二密钥分配中心KDC2共享同一个数据库DB时,即第一数据库DB1和第二数据库DB2合二为一或者二者之间具有通信渠道,则上述步骤2)中第一密钥分配中心KDC1收到第一承载设备C1转递来的第一通信实体Ai的密钥请求消息后,向数据库DB查询或者向第一数据库DB1和第二数据库DB2查询第一通信实体Ai和第二通信实体Bj是否均注册了保密服务,若是,则向第二密钥分配中心KDC2发送密话通知请求消息,否则向第一通信实体Ai返回密话失败消息;同时步骤3)省去第二密钥分配中心KDC2向第二数据库DB2查询第二通信实体Bj是否注册了保密服务,即第二密钥分配中心KDC2收到密话通知请求消息后,直接通过第二承载设备C1向第二通信实体Bj发送密话请求消息。