一种密钥分配方法
【技术领域】
[0001] 本发明涉及无线通信领域,尤其涉及一种密钥分配方法。
【背景技术】
[0002] 通信和互联网技术发展至今,安全问题已日益突出。当通信实体间需要进行保密 通信时,密钥必不可少,密钥管理已经成为保密通信的关键技术之一。
[0003] 在小型网络中,通常采用每对用户共享一个密钥的方法。当通信实体间需要进行 保密通信时,直接采用预先共享的密钥。采用该种方法虽然比较简单,但在大型网络中却不 可行。一个具有N个用户的网络,为了在任意两个用户之间实现保密通信,需要生成和分配 N(N-l) /2个密钥,随着系统规模的增大,密钥管理的复杂性急剧增加。例如当N=1000时,就 需要产生并分配约50万个密钥,而每个用户都需要保存该50万个密钥。
[0004] 为了降低密钥管理的复杂性,在大型网络中,通常采用中也化的管理方式,由一 个可信赖的服务器作为密钥分配中也邸C(KeyDistributionCenter)或密钥传输中也 KTC化eyTransportationCenter)来实现。通信实体间在进行保密通信前,有一个密钥分 配过程。图1-3给出了现有常见的几种基本模式,其中k是第一实体A和第二实体B之间 的通信会话密钥。
[0005] 图1中密钥分配方法步骤顺序为:①第一实体A和第二实体B分别向密钥分配中 也申请通信会话密钥。A产生一对临时公私钥对a和pa,向密钥分配中也发送密钥申请,该 消息中携带pa。②密钥分配中也收到申请后,产生会话密钥k,用pa加密后发送给A。A收 到密钥分配中也的响应后,使用临时私钥a解密得到k。同时B也产生一对临时公私钥对b 和pb,执行类似的过程得到k。
[0006] 图2中第二实体B与密钥分配中也之间没有直接的连接,密钥分配方法步骤顺序 为:①A产生一对临时公私钥对a和pa,向密钥分配中也发送密钥申请,该消息中携带pa。 同时B也产生一对临时公私钥对b和pb,并通过A向密钥分配中也发送密钥申请,该消息中 携带pb。②密钥分配中也收到A的申请后,产生会话密钥k,用pa加密后发送给A。A收到 密钥分配中也的响应后,使用临时私钥a解密得到k。③密钥分配中也收到A转发的B的申 请后,用pb加密k发送给A。④A再转发给B,B收到后使用临时私钥b解密得到k。
[0007] 图3中,第二实体B与密钥分配中也之间没有直接的连接,密钥分配方法步骤顺序 为:①A产生一对临时公私钥对a和pa,向密钥分配中也发送密钥申请,该消息中携带pa。 ②同时B也产生一对临时公私钥对b和pb,并通过A向密钥分配中也发送密钥申请,该消息 中携带pb。③密钥分配中也产生会话密钥k,使用pa和pb加密后发送给A。A收到密钥分 配中也的响应后,使用临时私钥a解密属于A的密文得到k。④A同时将属于B的密文转发 给B,B收到密文后使用临时私钥b解密得到k。
[0008] 上述常见的几种基本模式由于有密钥分配中也的参与,可W确保每对实体间保密 通信密钥的新鲜性,但存在W下几点不足;(0各用户每次申请密钥时都需要产生一对临 时公私钥,并且需要使用临时私钥进行解密操作。对于KDC而言,如果有N个用户申请密 钥,则需要进行N次的公钥加密操作。相对于对称密码算法,公钥密码算法加解密的速度是 很慢的。(2)用于集群通信时,虽然能够通过扩展同时为多个用户分配同一会话密钥,但会 话密钥实际上是多次分别发送给各个用户的,缺乏灵活性,而且KDC必须保存会话密钥才 能在新用户动态加入会话时为其分配密钥。(3)必须要求参与通信的所有实体都处于在线 状态,对于需要离线加密发送的应用场景无能为力。(4)KDC没有掌握任何密钥申请者的信 息,任何人都能成功申请到会话密钥,存在安全隐患。
【发明内容】
[0009] 为了解决现有密钥分配方法的缺陷,发明提出了一种基于秘密值的密钥分配方 法,该方法包括W下步骤:
[0010]a,密钥分配中也和每个用户之间共享一个秘密值对;
[0011]b,某一用户发出会话密钥分配请求;
[0012] C,密钥分配中也随机产生一个会话密钥,并获取到所有与会话相关的用户的秘密 值对,然后将特定数值与会话密钥组成的数值对W及获取到的t个秘密值对作为函数点, 构造一个唯一的多项式函数,并计算出该多项式函数上与所述t个秘密值对不同的t个附 加点,最后将所述特定数值和t个附加点发送给所有与会话相关的用户,其中t为所有与会 话相关的用户的数目;
[0013]d,各个与会话相关的用户分别根据自己的秘密值对和接收到的t个附加点恢复 出所述多项式函数,然后根据恢复出的多项式函数和接收到的特定数值,计算得到会话密 钥。
[0014] 优选的,步骤C中,密钥分配中也还根据会话密钥和所有与会话相关的用户的身 份标识计算一个认证值,并发送所有与会话相关的用户;步骤d中,各个与会话相关的用户 还根据自己计算得到的会话密钥W及所有与会话相关的用户的身份标识,采用与步骤C相 同的计算方法得出一个认证值,并与接收到的认证值比较,如果相同,则用户通过对会话密 钥的和其他用户的认证。
[0015] 优选的,步骤a中,每个用户注册时,密钥分配中也和该用户之间共享一个秘密值 对。
[0016] 优选的,步骤C中,密钥分配中也通过广播或者组播将所述特定数值和t个附加点 发送给与会话相关的用户。
[0017] 优选的,步骤C中,所述特定数值为0。
[0018] 优选的,步骤C中,密钥分配中也还生成一个随机数,采用随机数对所述t个秘密 值对进行加密,将特定数值与会话密钥组成的数值对W及加密后的t个秘密值对作为函数 点,构造所述多项式函数,并根据会话密钥、随机数和所有与会话相关的用户的身份标识计 算所述认证值,最后还将随机数也发送给所有与会话相关的用户;步骤d中,各个与会话相 关的用户采用接收到的随机数对自己的秘密值对进行所述加密,根据加密后的自己的秘密 值对和接收到的t个附加点恢复出所述多项式函数,各个与会话相关的用户还根据自己计 算得到的会话密钥W及所有与会话相关的用户的身份标识和接收到的随机数,采用与步骤 C相同的计算方法得出一个认证值。进一步的,所述加密为采用随机数对秘密值对中的某一 列元素进行异或运算。
[0019] 优选的,步骤c中,密钥分配中也采用拉格郎日插值定理构造所述多项式函数;步 骤d中,各个与会话相关的用户采用拉格郎日插值定理恢复所述多项式函数。
[0020] 本发明提供一种基于秘密值共享的密钥分配方法,其优点在于;(1)可避免采用 公钥加密算法的复杂计算,计算量小。(2)只需一次申请,即可同时为多个用户分配密钥,可 采用组播的形式发送,效率更高。(3)KDC不必保存会话密钥,提高了安全性。(4)即使参与 会话的用户离线,也能为其进行密钥分配。(5)能进行密钥和用户认证,所分配的密钥只能 被合法的用户得到,安全性更强。
【附图说明】
[0021] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根 据该些附图获得其他的附图。
[0022] 图1是【背景技术】中传统密钥分配方法一的步骤顺序示意图;
[0023] 图2是【背景技术】中传统密钥分配方法二的步骤顺序示意图;
[0024] 图3是【背景技术】中传统密钥分配方法H的步骤顺序示意图;
[00巧]图4是本发明实施例中密钥分配方法的总体流程示意图;
[0026] 图5是本发明实施例中密钥分配方法的在线用户的步骤顺序示意图;
[0027] 图6是本发明实施例中密钥分配方法的离线用户的步骤顺序示意图。
【具体实施方式】
[0028] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中 的实施例及实施例中的特征可W相互组合。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的