一种会话密钥的生成方法、系统和通信设备的制作方法

文档序号:7650354阅读:130来源:国知局
专利名称:一种会话密钥的生成方法、系统和通信设备的制作方法
技术领域
本发明涉及网络通信领域,特别涉及一种会话密钥的生成方法、系统和通信设备。
技术背景为了对公钥进行有效的管理,能够证明公钥和公、私钥对的拥有者间的所属关系,可以 采用数字证书机制。目前网络安全中,PKI (Public Key Infrastructure,公开密钥基础设施) 系统就是采用数字证书机制进行公钥管理的,在PKI系统中存在一个称为CA (Certification Authority,认证中心)的权威机构,负责公钥证书的颁发。PKI系统的运行需要层次化CA和 在线运行的证书库的支持,证书库的在线运行占用了网络带宽,进行大规模的密钥管理会使 系统的性能比较低,实施大规模的密钥管理会逐步成为网络安全中日益突出的问题。目前有两种绑定密钥和密钥拥有者标识的方式, 一种是通过密钥来生成密钥拥有者的标 识,CGA (Cryptographically Generated Addresses,密码方法生成的地址)是这种方式的典型 代表;另一种方式是通过标识来确定出该标识对应的密钥,即基于标识的密码体制。 一种新 型的公钥管理体制IBE (Identity-Based Encryption,基于身份的加密)中的公钥不必从在线运 行的公钥证书库中获得,而是直接使用表示用户身份的字符串,例如姓名、E-mail地址、IP地 址等。IBE不需要公钥证书及相关操作,简化了公钥的使用与管理。例如,目前在使用IBE技术的安全邮件系统中,用户的E-mail帐号(或经过一定的变换) 便可以作为用户的公钥。通常用户的帐号是长时间不变的,相应的其公钥也不发生变化,这 样对于两个频繁通信的用户其用于加密邮件的密钥也就不发生变化,通常一个密钥的长时间 频繁使用会降低其安全性。现有技术中还提供了一种组合公钥CPK (Combined Public Key,组合公钥)密码体制, 也是一种基于标识的密钥管理体制,该方案以公、私钥因子矩阵为基础。这一方案中,存在 一个可信任的密钥管理中心,该密钥管理中心负责生成公、私钥因子矩阵,其中,公钥因子 矩阵(PKM)在系统中是公开的,私钥因子矩阵(SKM)由密钥管理中心保管;密钥管理中心根据用户的标识和一定的映射算法可以计算出组成用户私钥的因子,将私 钥因子按照一定的运算便计算出用户的私钥,并将私钥安全发放给用户,同时将系统参数及公钥因子矩阵一起发放给用户;然后,通信方根据公布的公钥因子矩阵,通过用户的标识和相应的映射算法便可以计算 出各用户的公钥。<formula>formula see original document page 6</formula>通信双方根据用户的公钥、各自的私钥和相应的密钥交换算法(如基于离散对数和基于 椭圆曲线的Diffie-Hellman密钥交换算法)计算出共享密钥。具体计算如下设通信的双方为A、 B,使用基于离散对数的密钥交换算法,系统参数为(p, g),其中p 是素数,g是有限域Fp生成元,g小于p;A、 B双方根据相应的映射算法和公钥因子矩阵便可以计算出对方的公钥,根据密钥交换 算法和自身的私钥计算出共享密钥。发明人在实现本发明的过程中发现通信的双方在利用各自的私钥和对方的公钥计算相 应的共享密钥时,所计算出的共享密钥长时间内不发生变化。这是因为用于计算双方共享密 钥各自的公私钥对是长时间内不变的,因为通信实体的标识决定了其相应的公私钥对,通信 实体的标识是长时间保持不变的。发明内容为了解决现有基于标识的组合密钥管理体制中,计算出的共享密钥长时间不发生变化引 起的安全性不足的问题,本发明实施例提供了一种会话密钥的生成方法、系统和通信设备。 所述技术方案如下一种会话密钥的生成方法,所述方法包括通信方随机选择第一临时私钥,并至少根据所述第一临时私钥生成第一消息,然后发送 所述第一消息给对端;所述通信方收到第二消息后,至少根据所述第二消息和所述第一临时私钥生成第一会话 密钥;所述第二消息是所述对端至少根据随机选择的第二临时私钥生成的。本发明实施例还提供了一种会话密钥的生成系统,所述系统包括密钥管理中心,用于根据系统参数生成长期公钥和长期私钥,并安全地发送所述长期私 钥给通信设备;通信设备,用于随机选择临时私钥,并至少根据所述临时私钥生成本端消息,将所述本 端消息发送给对端通信设备,还用于至少根据接收到的对端消息和所述临时私钥生成会话密 钥;所述对端消息是所述对端通信设备至少根据随机选择的临时私钥生成的。本发明实施例还提供了一种通信设备,所述通信设备包括-临时私钥选择单元,用于随机选择临时私钥;消息生成与发送单元,用于至少根据所述临时私钥选择单元中选择的临时私钥生成本端 消息,并将所述本端消息发送给对端通信设备;会话密钥生成单元,用于至少根据接收到的对端消息和所述临时私钥选择单元中选择的 临时私钥生成会话密钥;所述对端消息是所述对端通信设备至少根据随机选择的临时私钥生 成的。本发明实施例的技术方案带来的有益效果是通信方通过选择临时私钥生成的会话密钥可以随时变化,避免了对密钥管理中心的过多 的信任依赖,使提高了密钥的实用性和安全性。


图1是本发明实施例1提供的会话密钥的生成方法流程图; 图2是本发明实施例2提供的会话密钥的生成方法流程图; 图3是本发明实施例3提供的会话密钥的生成方法流程图; 图4是本发明实施例4提供的会话密钥的生成方法流程图; 图5是本发明实施例5提供的会话密钥的生成系统示意图; 图6是本发明实施例6提供的通信设备的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于以下实施例。 本发明实施例是基于标识的密钥管理体制,由通信方选择各自的临时私钥,并通过消息交互生成会话密钥,解决共享密钥长时间不发生变化的问题,避免通信实体对密钥管理中心过多的信任和依赖。这里以双方通信为例进行说明,在基于标识的密钥管理系统中,系统的公、私钥因子矩 阵为背景技术中的PKM和SKM,进行通信的任意双方A、 B均拥有自身的私钥(该私钥由密 钥管理中心生成,并安全地分发给对应的通信实体)和系统公共参数(包括公钥因子矩阵),A、 B均可以根据对方的标识和系统公钥因子矩阵计算出对方的长期公钥。即根据一定的映射算 法对用户名进行映射,获得N个映射值之后,按组合的方式计算出用户的公钥。其中,通信方包括通信设备,通信终端等。实施例1参见图1,为会话密钥的生成方法流程图。本实施例基于离散对数的密码系统,系统参 数T-(g, p},其中p是素数,g是有限域Fp生成元,且g小于p; 生成通信双方A、 B间的会话密钥的方法具体包括步骤101:密钥管理中心生成A的长期私钥a, B的长期私钥b,以及A的长期公钥PA =gamodp, B的长期公钥PB=gbmodp;并通过安全的方式分别将a和b发送给A和B。 步骤102: A随机选择临时私钥x,并秘密保存。 步骤103: B随机选择临时私钥y,并秘密保存。步骤104: A计算Mas = (PB)欲mod p = gabx mod p,向B发送消息MAB。步骤105: B计算MBA^PA)bymodp-gabymodp,向A发送消息MBA。步骤106: A收到B发送的消息Mba后,计算会话密钥KA,KA = (MBA)X mod p= (g勿mod p)x mod p= gabxy mod p。步骤107: B收到A发送的消息mab,计算会话密钥kb,KB = (Mab)y mod p= (gabx mod p)y mod p= gabxy mod p。则A和B双方的会话密钥为K = KA = KB。本实施例中的步骤102和步骤103,步骤104和步骤105,步骤106和步骤107不是严格 的先后顺序,可以改变顺序,也可以同时进行。 实施例2参见图2,为会话密钥的生成方法流程图。本实施例基于椭圆曲线密码系统,系统参数 为T: (u,v,G,n,p),其中p是正整数,Fp是有限域,u, v是Fp上的正整数,G是椭圆曲线 E(Fp)上的基点,n是素数,是基点G的阶;生成通信双方A、 B间的会话密钥的方法具体包括-步骤201:密钥管理中心生成A的长期私钥a, B的长期私钥b,以及A的长期公钥PA =a*Gmodp, B的长期公钥PB= b*G mod p。并通过安全的方式分别将a和b发送给A和B。步骤202: A随机选择临时私钥x,并秘密保存。步骤203: B随机选择临时私钥y,并秘密保存。步骤204: A计算Mas = a*x*(PB) mod p = a*x*(b*G) mod p,向B发送消息Mab。步骤205: B计算MBA =b*y* (PA) mod p =b*y*(a*G) mod p,向A发送消息MBA。步骤206: A收到B发送的消息MBA后,然后计算会话密钥KA,KA = (MBA)X mod p= x*( b*y*(a*G) mod p) mod p= abxy*G mod p。步骤207: B收到A发送的消息MAB后,然后计算KB,Kb = (MAE) mod p= y*( a*x*(b*G) mod p) mod p= abxy*G mod p。则A和B双方的会话密钥为K = KA = KB。本实施例中的步骤202和步骤203,步骤204和步骤205,步骤206和步骤207不是严格 的先后顺序,可以改变顺序,也可以同时进行。 实施例3参见图3,为会话密钥的生成方法流程图。本实施例基于离散对数的密码系统,系统参 数T^g, p},其中p是素数,g是有限域Fp生成元,且g小于p; 生成通信双方A、 B间的会话密钥的方法具体包括步骤301:密钥管理中心生成A的长期私钥a, B的长期私钥b,以及A的长期公钥PA =gamodp, B的长期公钥PB二 gbmodp,并通过安全的方式分别将a和b发送给A和B。 步骤302: A随机选择临时私钥x,并秘密保存。 步骤303: B随机选择临时私钥y,并秘密保存。步骤304: A计算Mab = gx mod p, s = (PB)a mod p = gab mod p,使用s生成消息Mab的 消息认证码(MAC, Message Authentication Code),这里用MAC(Mab)表示。向B发送消息 Mab和MAC(Mab)。步骤305: B计算MBA = gy mod p, s = (PA)b mod p = gab mod p,使用s生成Mba的消息 认证码MAC(MBA)。向A发送消息MBA和MAC(MBA)。步骤306: A收到B发送的消息MBA后,根据消息认证码MAC(MBA)对消息MBA进行完 整性检査通过后,计算会话密钥KA, KA = (MBA)a * (PB)X mod p= (gay mod p)* (gbx mod p) mod p=gay+bxmodp。步骤307: B收到A发送的消息Mab后,根据消息认证码MAC(Mab)対消息Mab迸行完 整性检查通过后,计算会话密钥KB, KB = (MAB)b*(PA)ymodp=(gbxmodp)*(gaymodp)m0dp=gay+bx modp。则A和B双方的会话密钥为K = KA = KB。本实施例中的步骤302和步骤303,步骤304和步骤305,步骤306和步骤307不是严格 的先后顺序,可以改变顺序,也可以同时进行。 实施例4参见图4,为会话密钥的生成方法流程图。本实施例基于椭圆曲线密码系统,系统参数 为T: (u,v,G,n,p),其中p是正整数,Fp是有限域,u, v是Fp上的正整数,G是椭圆曲线 E(Fp)上的基点,n是素数,是基点G的阶;生成通信双方A、 B间的会话密钥的方法具体包括步骤401:密钥管理中心生成A的长期私钥a, B的长期私钥b,以及A的长期公钥PA =a*Gmodp, B的长期公钥PB= b*G mod p。并通过安全的方式分别将a和b发送给A 和B。步骤402: A随机选择临时私钥x,并秘密保存。 步骤403: B随机选择临时私钥y,并秘密保存。步骤404: A计算Mab = x*G mod p, s = a* (PB) mod p = ab*G mod p,使用s生成Mab 的MAC(Mab)。向B发送消息Mab和MAC(Mab)。步骤405: B计算MBA-y丰Gmodp, s =b* (PA) mod p =ab*G mod p,使用s生成Mb八的 消息认证码MAC(MBA)。向A发送消息Mba和MAC(Mba)。步骤406: A收到B发送的消息MBA后,根据消息认证码MAC(Mba)対消息Mba进行完 整性检查通过后,计算会话密钥KA, KA=(a*(MBA) + x*PB)modp=(ay + bx)*Gmodp。步骤407: B收到A发送的消息MAB后,根据消息认证码MAC(MAB)对消息MAB进行完 整性检査通过后,计算会话密钥KB, KB =( M(Mab) + y*PA) mod p= (bx + ay)*G mod p。则A和B双方的会话密钥为K = KA = KB。本实施例中的步骤402和步骤403,步骤404和步骤405,步骤406和步骤407不是严格 的先后顺序,可以改变顺序,也可以同时进行。以上实施例,会话密钥的生成过程一般要使用自身的长期私钥、对端的公钥(其中包含 对端的长期私钥)、自身的临时私钥和对端生成的消息(包含对端的临时私钥)这几个量。但 会话密钥的生成并不局限于上述方法,例如1) A根据临时私钥x和长期私钥a通过计算生成消息MAB,如MAB二g"modp,并发 送给B;同理,B根据临时私钥y和长期私钥b通过计算生成消息MBA, MBA=gbymodp,并发送给A;A收到B发送的消息MBA后,根据消息MBA、长期私钥a和临时私钥x计算KA=(MBAr mod p=gabxy mod p;B收到A发送的消息Mab后,根据消息Mab、长期私钥b和临时私钥y计算KB=(MAB)by mod p=gabxy mod p。2) A根据临时私钥x、长期私钥a和B的长期公钥PB通过计算生成消息Mab,如M旭 =(PB)狀modp二 (gbmodp)狀-gabXmodp,并发送给B;同理,B根据临时私钥y、长期 私钥b和A的长期公钥PA通过计算生成消息MsA, MBA=gabymodp,并发送给A;A收到B发送的消息MBA后,根据消息MBA和临时私钥x计算Ka-(Mba广mod p=gabxy mod p;B收到A发送的消息Mab后,根据消息MAB和临时私钥y计算KB = (MAB)by mod p=gabxy modp。实施例5参见图5,为会话密钥的生成系统的示意图。本实施例提供了一种会话密钥的生成系统,该系统包括密钥管理中心,用于根据系统参数生成长期公钥和长期私钥,并安全地发送该长期私钥给通信设备;通信设备,用于随机选择临时私钥,并至少根据该临时私钥生成本端消息,将本端消息 发送给对端通信设备,还用于至少根据接收到的对端消息和上述临时私钥生成会话密钥;其 中,对端消息是对端通信设备至少根据随机选择的临时私钥生成的。其中,通信设备具体包括临时私钥选择单元,用于随机选择临时私钥;消息生成与发送单元,用于至少根据临时私钥选择单元中选择的临时私钥生成本端消息, 并将本端消息发送给对端设备;会话密钥生成单元,用于至少根据接收到的对端消息和临时私钥选择单元中选择的临时 私钥生成会话密钥;其中,对端消息是所述对端通信设备至少根据随机选择的临时私钥生成 的。另外,该系统可以是基于离散对数的密码系统,也可以是基于椭圆曲线的密码系统。并 且,密钥管理中心生成的长期公钥是根据通信设备的标识经映射得出的。本实施例以基于离散对数的密码系统为例进行说明,系统中有两个通信设备A和B,该系统的系统参数T-(g, p},其中p是素数,g是有限域Fp生成元,且g小于p;密钥管理中心生成A的长期私钥a, B的长期私钥b,以及A的长期公钥PA=gamodp, B的长期公钥PB = gbmodp;并通过安全的方式分别将a和b发送给A和B。A通过临时私钥选择单元随机选择临时私钥x,并秘密保存;B通过临时私钥选择单元随 机选择临时私钥y,并秘密保存。A通过消息生成与发送单元计算Mab = gx mod p,并向B发送消息Mab。 B通过消息生成与发送单元计算MBA = gy mod p,并向A发送消息MBA。 A收到B发送的消息Mba后,通过会话密钥生成单元计算会话密钥KA, KA = (MBA)a * (PB)X mod p= (gay mod p)* (gbx mod p) mod p= gay+bx mod p。 B收到A发送的消息Mab,通过会话密钥生成单元计算会话密钥KB, KB = (MAB)b * (PA)y mod p= (gbx mod p)* (gay mod p) mod p= gay+bx mod p。 则A和B双方的会话密钥为K = KA = KB。 实施例6参见图6,为本实施例提供的通信设备的结构图,本实施例中的通信设备包括 临时私钥选择单元,用于随机选择临时私钥;消息生成与发送单元,用于至少根据临时私钥选择单元中选择的临时私钥生成本端消息, 并将该本端消息发送给对端通信设备;会话密钥生成单元,用于至少根据接收到的对端消息和上述临时私钥选择单元中选择的 临时私钥生成会话密钥;其中,对端消息是对端通信设备至少根据随机选择的临时私钥生成的。为了增强安全性,该通信设备还包括认证码生成与发送单元,用于在消息生成与发送单元生成本端消息后,至少根据本端存 储的长期私钥和对端通信设备的长期公钥生成本端消息的消息认证码,并将该消息认证码发 送给对端通信设备;消息完整性验证单元,用于使用接收到的对端消息的消息认证码对收到的对端消息的完 整性进行验证;其中,对端消息的消息认证码为对端通信设备根据本端通信设备的长期公钥 和对端通信设备的长期私钥生成的。以上实施例提供的技术方案可以通过软件代码实现,软件代码可以存储在计算机可读取 的物理介质中,例如光盘、硬盘等。以上实施例在基于标识的组合密钥管理体制中,通过通信双方选择的临时私钥生成的会话密钥可以随时变化,避免了对密钥管理中心的过多的信任依赖,提高了安全性,使基于标 识的组合密钥管理方法达到真正实用的水平;另外,通过生成消息认证码对消息的完整性进行验证,进一步完善了系统的安全性。以上所述的实施例,只是本发明的较优选的具体实施方式
,本领域的技术人员在本发明 技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
权利要求
1. 一种会话密钥的生成方法,其特征在于,所述方法包括通信方随机选择第一临时私钥,并至少根据所述第一临时私钥生成第一消息,然后发送所述第一消息给对端;所述通信方收到第二消息后,至少根据所述第二消息和所述第一临时私钥生成第一会话密钥;所述第二消息是所述对端至少根据随机选择的第二临时私钥生成的。
2. 如权利要求1所述的会话密钥的生成方法,其特征在于,所述第二消息是所述对端根 据随机选择的第二临时私钥、自身存储的第二私钥和所述通信方的第一长期公钥生成的,相 应地,至少根据所述第二消息和所述第一临时私钥生成第一会话密钥的步骤具体包括根据所述第二消息和所述第一临时私钥生成第一会话密钥。
3. 如权利要求1所述的会话密钥的生成方法,其特征在于,所述第二消息是所述对端根 据随机选择的第二临时私钥生成的,相应地,至少根据所述第二消息和所述第一临时私钥生 成第一会话密钥的步骤具体包括-根据所述第二消息、所述第一临时私钥、自身存储的第一长期私钥和所述对端的第二长 期公钥生成第一会话密钥。
4. 如权利要求1所述的会话密钥的生成方法,其特征在于,所述方法基于离散对数的密 码系统或基于椭圆曲线的密码系统。
5. 如权利要求2所述的会话密钥的生成方法,其特征在于,所述第一长期公钥是根据通 信方的标识经映射得出的。
6. 如权利要求1至5中任一权利要求所述的会话密钥的生成方法,其特征在于,所述通信方随机选择第一临时私钥,并至少根据所述第一临时私钥生成第一消息的步骤后,还包括 至少根据所述对端的第二长期公钥和自身的第一长期私钥生成第一消息认证码,并发送给所述对端;相应地,所述通信方收到所述第二消息的步骤后,还包括收到第二消息认证码,并使用所述第二消息认证码对所述第二消息的完整性进行验证,所述第二消息认证码为所述对端根 据所述通信方的第一长期公钥和自身的第二长期私钥生成的第二消息的第二消息认证码。
7. —种会话密钥的生成系统,其特征在于,所述系统包括密钥管理中心,用于根据系统参数生成长期公钥和长期私钥,并安全地发送所述长期私钥给通信设备;通信设备,用于随机选择临时私钥,并至少根据所述临时私钥生成本端消息,将所述本 端消息发送给对端通信设备,还用于至少根据接收到的对端消息和所述临时私钥生成会话密 钥;所述对端消息是所述对端通信设备至少根据随机选择的临时私钥生成的。
8. 如权利要求7所述的会话密钥的生成系统,其特征在于,所述通信设备具体包括-临时私钥选择单元,用于随机选择临时私钥;消息生成与发送单元,用于至少根据所述临时私钥选择单元中选择的临时私钥生成本端 消息,并将所述本端消息发送给对端通信设备;会话密钥生成单元,用于至少根据接收到的对端消息和所述临时私钥选择单元中选择的 临时私钥生成会话密钥;所述对端消息是所述对端通信设备至少根据随机选择的临时私钥生 成的。
9. 一种通信设备,其特征在于,所述通信设备包括 临时私钥选择单元,用于随机选择临时私钥;消息生成与发送单元,用于至少根据所述临时私钥选择单元中选择的临时私钥生成本端 消息,并将所述本端消息发送给对端通信设备;会话密钥生成单元,用于至少根据接收到的对端消息和所述临时私钥选择单元中选择的 临时私钥生成会话密钥;所述对端消息是所述对端通信设备至少根据随机选择的临时私钥生 成的。
10. 如权利要求9所述的通信设备,其特征在于,所述通信设备还包括 认证码生成与发送单元,用于在所述消息生成与发送单元生成本端消息后,至少根据本端存储的长期私钥和所述对端设备的长期公钥生成所述本端消息的消息认证码,并将所述消 息认证码发送给对端通信设备;消息完整性验证单元,用于使用接收到的对端消息的消息认证码对收到的对端消息的完 整性进行验证;所述对端消息的消息认证码为所述对端通信设备根据所述本端通信设备的长 期公钥和所述对端通信设备的长期私钥生成的。
全文摘要
本发明提供了一种会话密钥的生成方法、系统和通信设备,属于网络通信领域。为了缓解现有技术中共享密钥长时间不发生变化引起的安全性不足的问题,本发明提供了一种会话密钥的生成方法,包括通信方随机选择临时私钥,并至少根据所述临时私钥生成消息,然后将所述消息发送给对端,所述通信方收到消息后,至少根据所述消息和自身的临时私钥生成会话密钥。本发明还提供了一种会话密钥的生成系统,包括密钥管理中心和通信设备。本发明还提供了一种通信设备,包括临时私钥选择单元、消息生成与发送单元和会话密钥生成单元。本发明通过随机选择临时私钥,生成可以变化的会话密钥,避免了对密钥管理中心过多的依赖,提高了密钥的实用性和安全性。
文档编号H04L9/36GK101272240SQ20071008722
公开日2008年9月24日 申请日期2007年3月21日 优先权日2007年3月21日
发明者李春强 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1