CN103188080A - 一种基于身份标识的端到端的密钥认证协商方法及系统 - Google Patents

一种基于身份标识的端到端的密钥认证协商方法及系统 Download PDF

Info

Publication number
CN103188080A
CN103188080A CN2011104597963A CN201110459796A CN103188080A CN 103188080 A CN103188080 A CN 103188080A CN 2011104597963 A CN2011104597963 A CN 2011104597963A CN 201110459796 A CN201110459796 A CN 201110459796A CN 103188080 A CN103188080 A CN 103188080A
Authority
CN
China
Prior art keywords
key
authentication code
message authentication
message
transmitting terminal
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
Application number
CN2011104597963A
Other languages
English (en)
Other versions
CN103188080B (zh
Inventor
周苏静
韦银星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kangbo New Energy Technology Kunshan Co ltd
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201110459796.3A priority Critical patent/CN103188080B/zh
Publication of CN103188080A publication Critical patent/CN103188080A/zh
Application granted granted Critical
Publication of CN103188080B publication Critical patent/CN103188080B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于身份标识的端到端的密钥认证协商方法及系统,发送端生成第一密钥交换信息T_A,根据T_A、发送端私钥、发送端身份标识ID_A、接收端身份标识ID_B、第一密钥交换相关信息生成第一消息认证码mac1,将mac1和T_A发送至接收端;接收端生成第二密钥交换信息T_B,根据第二密钥交换信息T_B、接收端私钥、ID_A、T_A、第二密钥交换相关信息生成第二消息认证码mac2,并将mac2和T_B发送至发送端;发送端根据T_A、T_B、ID_A、ID_B生成第三消息认证码mac3;接收端验证mac1、发送端验证mac2、接收端验证mac3均成功后两端密钥认证协商成功。本发明尤其适用于身份标识和位置分离的网络,同时可提高密钥协商的安全性。

Description

一种基于身份标识的端到端的密钥认证协商方法及系统
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于身份标识的端到端的密钥认证协商方法及系统。
背景技术
端到端的认证和密钥协商方法是通信网络中广泛用到的一种信息安全技术,具体地一般是通过公钥密码技术、对称密码技术实现。其中使用对称密码技术需要复杂、安全的密钥分发、管理系统。
公钥密码技术需要为每个用户生成一对数学上相关联的公钥和私钥,公钥通过某种方式公开发布,使得任何发送者都可获得接收者的公钥,私钥则由接收者秘密保存。传统公钥密码系统中一个最大的安全问题就是如何确保使用的公钥真正属于指定接收者,为解决这个问题,催生了第三方证书认证中心(Certificate Authority,简称CA),CA为用户的公钥发放证书,将公钥和用户的身份标识绑定在一起。以CA为中心的公钥基础设施(Public KeyInfrastructure,简称PKI)也以庞大的复杂性著称。
为了解决传统公钥密码方案应用复杂的问题,1984年Shamir提出基于身份标识的密码技术和系统的概念,又称标识密码技术和系统,以下简称IBC(Identity Based Cryptography)技术和系统。IBC技术隶属于公钥密码技术,只是用户的身份标识就是该用户的公钥,不需要借助于PKI将公钥和身份标识绑定在一起,保存主密钥的密钥中心根据用户身份标识为每个用户生成私钥,通过安全地方式发给用户。
一些现有技术将IBC签名或加密直接应用到传统的密钥协商协议(包括非基于身份标识的密钥协商协议)中,以提高密钥协商中的认证安全性,如申请号为200810116251.0的中国专利“基于身份的认证方法、保密通信方法、设备和系统”,申请号为200710046320.0的中国专利“基于身份的密码体制为基础的业务认证方法和系统”,以及美国专利“Identity Based AuthenticatedKey Agreement Protocol”(US2010211779和WO2010126638(A2))和“Secure Key Management in Multimedia Communication System”(US2011055567(A1)和WO2011031439(A1))。
还有一种基于身份标识的密钥协商协议,利用IBC的特点而设计,如Chen、Cheng和Smart等人在“Identity-based Key Agreement Protocols FromPairings”(International Journal of Information Security,Volume 6,Number 4,213-241,2007)中总结的协议。这些协议的特点是会话密钥根据用户私钥和交换的相关数据导出,且消息交换次数比较少,一般只需交换两次即可完成一次密钥协商,双方的认证通过是否可导出相同的会话密钥隐含地进行。
第一种技术通过对交换消息验签或解密完成端到端的认证,这些操作通常计算量比较大。第二种技术采用的隐含认证方式通常是消息交换完成以后才能进行,容易引起拒绝服务攻击(DOS)。基于第二种技术还有一种变体,即非交互地认证和密钥协商协议,只需发送一次消息即可完成对发送端的认证和密钥协商,但是这样产生的会话密钥没有接收端的贡献,随机性和安全性比较差。在具有身份标识和位置分离特征的网络架构中也存在此类问题。
具有身份标识和位置分离特征的网络架构是为了解决现有IP(InternetProtocol)网络中IP地址二义性带来的一些问题而提出来的。这种网络架构将IP地址的双重功能(传输层、应用层的身份标识和网络层的可路由位置标识)分离开来,实现对移动性、多家乡性、IP地址动态重分配、减轻路由负载及下一代互联网中不同网络区域之间的互访等问题的支持。
如图1所示,一种现有的基于身份标识的认证和密钥协商方法,由Chen-Kudla提出,发送端和接收端的身份标识分别是ID_A和ID_B,且分别已从密钥中心PKG获得了私钥d_A、d_B,d_A=sH(ID_A),d_B=sH(ID_B),其中H是一个将任何字符串映射到某个椭圆曲线上的点的映射函数,s是密钥中心的主密钥,关于PKG的系统建立、椭圆曲线的选取、私钥生成的算法详细可见RFC 5091(Identity-Based Cryptography Standard(IBCS)#1:Supersingular Curve Implementations of the BF and BB1 Cryptosystems)。
发送端计算一个随机数a,计算生成第一密钥交换信息(101)T_A=aH(ID_A),发送给接收端(102),接收端选取一个随机数b,计算生成第二密钥交换信息(103)T_B=bH(ID_B),发送给发送端(104);
发送端根据自己的私钥d_A、对方的身份标识、收到的T_B、和T_A相关的随机数a,计算共享密钥KEY=e(d_A,aH(ID_B)+T_B)并从中导出会话密钥(105),其中e是PKG选择的一个映射函数;
接收端根据自己的私钥d_B、对方的身份标识、收到的T_A、和T_B相关的随机数b,计算共享密钥KEY=e(T_A+bH(ID_A),d_B)并从中导出会话密钥(106)。
上述方法采用隐含认证方式,消息交换完成以后才能认证对方,容易引起拒绝服务攻击。
发明内容
本发明要解决的技术问题是提供一种安全的基于身份标识的端到端的密钥认证协商方法及系统,适用于身份标识和位置分离的网络。
为了解决上述技术问题,本发明提供了一种基于身份标识的端到端的密钥认证协商方法,其中,
发送端生成第一密钥交换信息,根据所述第一密钥交换信息、发送端私钥、发送端身份标识、接收端身份标识、第一密钥交换相关信息生成第一消息认证码,并将所述第一消息认证码和第一密钥交换信息组成第一协商消息发送至接收端;
所述接收端生成第二密钥交换信息,根据所述第二密钥交换信息、接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二消息认证码,并将所述第二消息认证码和第二密钥交换信息组成第二协商消息发送至发送端;
所述发送端根据所述第一密钥交换信息、第二密钥交换信息、接收端身份标识、发送端身份标识生成第三消息认证码,将所述第三消息认证码发送至所述接收端;
所述接收端验证所述第一消息认证码、所述发送端验证所述第二消息认证码、所述接收端验证所述第三消息认证码均成功后,所述发送端和接收端的密钥认证协商成功。
进一步地,上述方法还可以具有以下特点:
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
进一步地,上述方法还可以具有以下特点:
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,计算得到所述第二消息认证码;
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码。
进一步地,上述方法还可以具有以下特点:
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第二消息认证码算法的输入密钥计算得到所述第二消息认证码;
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码。
进一步地,上述方法还可以具有以下特点:
所述接收端收到所述第一协商消息后,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码,判断此第一消息认证码与从所述发送端收到的第一消息认证码相同时,继续生成第二密钥交换信息,否则,判定密钥认证协商失败。
进一步地,上述方法还可以具有以下特点:
所述发送端收到第二协商消息后,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码,判断此第二消息认证码与从所述发送端收到的第二消息认证码相同时,继续生成第三消息认证码,否则,判定密钥认证协商失败。
进一步地,上述方法还可以具有以下特点:
所述发送端收到第二协商消息后,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第二消息认证码算法的输入密钥生成第二消息认证码,判断此第二消息认证码与从所述发送端收到的第二消息认证码相同时,继续生成第三消息认证码,否则,判定密钥认证协商失败。
进一步地,上述方法还可以具有以下特点:
计算第一消息认证码时,将所述发送端身份标识、接收端身份标识、所述第一密钥交换信息作为第一消息认证码算法的输入消息内容;
计算第二消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第二消息认证码算法的输入消息内容;
计算第三消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第三消息认证码算法的输入消息内容。
进一步地,上述方法还可以具有以下特点:
所述第一密钥交换相关信息包括生成所述第一密钥交换信息时使用的随机数;
所述第二密钥交换相关信息包括生成所述第二密钥交换信息时使用的随机数。
为了解决上述技术问题,本发明提供了一种基于身份标识的端到端的密钥认证协商系统,包括发送端和接收端,其中,所述发送端和接收端均包括密钥交换信息计算模块和消息认证码计算模块、密钥计算模块;
发送端密钥交换信息计算模块,用于生成第一密钥交换信息;
发送端消息认证码计算模块,用于根据所述第一密钥交换信息、发送端私钥、发送端身份标识、接收端身份标识、第一密钥交换相关信息生成第一消息认证码,并将所述第一消息认证码和第一密钥交换信息组成第一协商消息发送至接收端;还用于验证从所述接收端收到的第二消息认证码;还用于在所述发送端收到所述第二协商消息后,根据所述第一密钥交换信息、第二密钥交换信息、接收端身份标识、发送端身份标识生成第三消息认证码,将所述第三消息认证码发送至所述接收端;
接收端密钥交换信息计算模块,用于在所述接收端收到所述第一协商消息后,生成第二密钥交换信息;
接收端消息认证码计算模块,用于根据所述第二密钥交换信息、接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二消息认证码,并将所述第二消息认证码和第二密钥交换信息组成第二协商消息发送至发送端;还用于验证从所述发送端收到的第一消息认证码和第三消息认证码;
发送端密钥计算模块,用于计算第一密钥、第一认证密钥、第二密钥、第二认证密钥、会话密钥;
接收端密钥计算模块,用于计算第一密钥、第一认证密钥、第二密钥、第二认证密钥、会话密钥。
进一步地,上述系统还可以具有以下特点:
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
进一步地,上述系统还可以具有以下特点:
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,计算得到所述第二消息认证码;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
进一步地,上述系统还可以具有以下特点:
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所第二认证密钥中导出会话密钥,将所述会话密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所第二认证密钥中导出会话密钥,将此会话密钥作为第二消息认证码算法的输入密钥计算得到所述第二消息认证码;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
进一步地,上述系统还可以具有以下特点:
所述发送端消息认证码计算模块,还用于在计算第一消息认证码时,将所述发送端身份标识、接收端身份标识、所述第一密钥交换信息作为第一消息认证码算法的输入消息内容;还用于在计算第三消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第三消息认证码算法的输入消息内容;
所述接收端消息认证码计算模块,还用于在计算第二消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第二消息认证码算法的输入消息内容。
进一步地,上述系统还可以具有以下特点:
所述第一密钥交换相关信息包括生成所述第一密钥交换信息时使用的随机数;
所述第二密钥交换相关信息包括生成所述第二密钥交换信息时使用的随机数。
本发明提供密钥的双向确认协商方法,可应用于通信网络和各种网络应用,尤其适用于身份标识和位置分离的网络,同时可提高密钥协商的安全性,能够抵抗常见攻击。本方案中接收端在收到第一个密钥协商消息后,就可对发送端进行认证,且认证涉及的计算效率比较高。
附图说明
图1是现有技术中的一种基于身份标识的认证和密钥协商方法流程图;
图2是实施例中基于身份标识的端到端的密钥认证协商系统结构图;
图3是实施例中基于身份标识的端到端的密钥认证协商方法流程图;
图4是具体实施例中一中的密钥认证协商方法流程图;
图5是具体实施例中二中的密钥认证协商方法流程图;
图6是具体实施例中三中的密钥认证协商方法流程图。
具体实施方式
如图2所示,基于身份标识的端到端的密钥认证协商系统,包括发送端和接收端。所述发送端和接收端均包括密钥交换信息计算模块和消息认证码计算模块、密钥计算模块。
发送端密钥交换信息计算模块,用于生成第一密钥交换信息;
发送端消息认证码计算模块,用于根据所述第一密钥交换信息、发送端私钥、发送端身份标识、接收端身份标识、第一密钥交换相关信息生成第一消息认证码,并将所述第一消息认证码和第一密钥交换信息组成第一协商消息发送至接收端;还用于验证从所述接收端收到的第二消息认证码;还用于在所述发送端收到所述第二协商消息后,根据所述第一密钥交换信息、第二密钥交换信息、接收端身份标识、发送端身份标识生成第三消息认证码,将所述第三消息认证码发送至所述接收端;
接收端密钥交换信息计算模块,用于在所述接收端收到所述第一协商消息后,生成第二密钥交换信息;
接收端消息认证码计算模块,用于根据所述第二密钥交换信息、接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二消息认证码,并将所述第二消息认证码和第二密钥交换信息组成第二协商消息发送至发送端;还用于验证从所述发送端收到的第一消息认证码和第三消息认证码;
发送端密钥计算模块,用于计算第一密钥、第一认证密钥、第二密钥、第二认证密钥、会话密钥;
接收端密钥计算模块,用于计算第一密钥、第一认证密钥、第二密钥、第二认证密钥、会话密钥。
实施方式一:
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
实施方式二:
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,计算得到所述第二消息认证码;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
实施方式三:
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所第二认证密钥中导出会话密钥,将所述会话密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所第二认证密钥中导出会话密钥,将此会话密钥作为第二消息认证码算法的输入密钥计算得到所述第二消息认证码。还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
在实现上述方式时,所述发送端消息认证码计算模块,还用于在计算第一消息认证码时,将所述发送端身份标识、接收端身份标识、所述第一密钥交换信息作为第一消息认证码算法的输入消息内容;还用于在计算第三消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第三消息认证码算法的输入消息内容;
所述接收端消息认证码计算模块,还用于在计算第二消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第二消息认证码算法的输入消息内容。
其中,所述第一密钥交换相关信息包括生成所述第一密钥交换信息时使用的随机数;所述第二密钥交换相关信息包括生成所述第二密钥交换信息时使用的随机数。
如图3所示,基于身份标识的端到端的密钥认证协商方法包括:
发送端生成第一密钥交换信息T_A(301),根据所述第一密钥交换信息、发送端私钥、发送端身份标识、接收端身份标识、第一密钥交换相关信息生成第一消息认证码mac1(302),并将所述第一消息认证码和第一密钥交换信息组成第一协商消息发送至接收端(303);
所述接收端生成第二密钥交换信息T_B(304),根据所述第二密钥交换信息、接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二消息认证码mac2(305),并将所述第二消息认证码和第二密钥交换信息组成第二协商消息发送至发送端(306);
所述发送端根据所述第一密钥交换信息、第二密钥交换信息、接收端身份标识、发送端身份标识生成第三消息认证码mac3(307),将所述第三消息认证码发送至所述接收端(308);
所述接收端验证所述第一消息认证码、所述发送端验证所述第二消息认证码、所述接收端验证所述第三消息认证码均成功后,所述发送端和接收端的密钥认证协商成功。
实施例一中:
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
实施例二中:
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,计算得到所述第二消息认证码;
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码。
实施例三中:
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第二消息认证码算法的输入密钥计算得到所述第二消息认证码;
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码。
实施例一、二、三中,接收端对第一消息认证码的验证过程包括:
所述接收端收到所述第一协商消息后,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码,判断此第一消息认证码与从所述发送端收到的第一消息认证码相同时,继续生成第二密钥交换信息,否则,判定密钥认证协商失败。
实施例一、二中,发送端对第二消息认证码的验证过程包括:
所述发送端收到第二协商消息后,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码,判断此第二消息认证码与从所述发送端收到的第二消息认证码相同时,继续生成第三消息认证码,否则,判定密钥认证协商失败。
实施例三中,发送端对第二消息认证码的验证过程包括:
所述发送端收到第二协商消息后,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第二消息认证码算法的输入密钥生成第二消息认证码,判断此第二消息认证码与从所述发送端收到的第二消息认证码相同时,继续生成第三消息认证码,否则,判定密钥认证协商失败。
上述方法中,计算第一消息认证码时,将所述发送端身份标识、接收端身份标识、所述第一密钥交换信息作为第一消息认证码算法的输入消息内容;
计算第二消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第二消息认证码算法的输入消息内容;
计算第三消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第三消息认证码算法的输入消息内容。
上述方法中,所述第一密钥交换相关信息包括但不限于生成所述第一密钥交换信息时使用的随机数;所述第二密钥交换相关信息包括但不限于生成所述第二密钥交换信息时使用的随机数。
上述方法中,发送端向接收端发送的第一协商消息中还可以包括第一附加信息,第一附加信息可包含发送端的身份标识、接收端的身份标识、发送端生成或从接收端收到的随机数、时间戳、计数等。
接收端向发送端发送的第二协商消息中还可以包括第二附加信息,第二附加信息可包含发送端的身份标识、接收端的身份标识、接收端生成或从发送端收到的随机数、时间戳、计数等。
发送端向接收端发送的第三协商消息中还可以包括第三附加信息,所述第三附加信息还可包含发送端的身份标识、接收端的身份标识、接收端生成或从发送端收到的随机数、时间戳、计数等。
本发明提出的密钥协商协议视第一密钥交换信息和第二密钥交换信息的具体内容,可支持合法监听,监听设备需要从PKG获得被监听用户和通信对端用户的某个时间段的私钥,计算出双方协商的会话密钥;或者监听设备将双方交换的密钥交换信息发送给PKG,PKG根据双方的私钥计算出会话密钥并返回给监听设备。
下面以Chen-Kudla提出的方案为基础结合附图和具体实施例描述本发明的内容:
具体实施例一
如图4所示,具体实施例一中密钥认证协商方法包括以下步骤:
步骤401,发送端生成第一密钥交换信息T_A。
步骤402,根据私钥d_A、接收端身份标识ID_B、和与第一密钥交换信息相关的随机数a计算生成第一密钥KEY1=e(d_A,(a+1)H(ID_B))。
步骤403,从第一密钥KEY1中导出一个适当长度的第一认证密钥key1,长度满足消息认证码算法MAC1的要求,例如选择HMAC作为MAC1时,第一认证密钥的长度可以是128比特;发送端以第一认证密钥key1作为MAC1的输入密钥,以发送端身份标识ID_A、接收端身份标识ID_B、以及T_A的串接(ID_A,ID_B,T_A)作为MAC1的输入消息内容,计算第一消息认证码mac1=MAC1_key1(ID_A,ID_B,T_A)。
步骤404,发送端将第一密钥交换信息T_A和第一消息认证码mac1组成第一协商消息发送给接收端。
步骤405,接收端收到T_A和mac1后,根据接收端私钥d_B、第一密钥交换信息T_A、发送端身份标识ID_A,计算生成第一密钥KEY1’=e(T_A+H(ID_A),d_B)。
步骤406,接收端从生成的第一密钥KEY1’中导出第一认证密钥key1’,采用发送端计算第一消息认证码的方法重新计算第一消息认证码mac1’。
步骤407,接收端验证mac1’和收到的mac1是否相同,如果相同,对ID_A的认证视为通过,执行步骤408;否则,认为未通过认证,停止密钥协商,接收端退出认证协商流程。
步骤408,接收端生成第二密钥交换信息T_B。
步骤409,接收端根据接收端私钥d_B、发送端身份标识ID_A、收到的T_A、生成T_B时选择的随机数b计算生成第二密钥KEY2=e(bH(ID_A)+T_A,d_B)。
步骤410,接收端从第二密钥KEY2导出一个适当长度的第二认证密钥key2,长度满足所选择的消息认证码算法MAC2的要求,例如HMAC要求的128比特;以key2作为第二消息认证码算法MAC2的输入密钥,以(ID_B,ID_A,T_B,T_A)作为MAC2的输入消息内容,计算第二消息认证码mac2=MAC2_key2(ID_B,ID_A,T_B,T_A)。
步骤411,接收端将(T_B,mac2)发送给发送端。
步骤412,发送端收到(T_B,mac2)后,根据发送端私钥d_A、接收端身份标识ID_B、收到的第二密钥交换信息T_B、生成T_A时选择的随机数a,计算生成第二密钥KEY2’=e(d_A,aH(ID_B)+T_B)。
步骤413,发送端从所述第二密钥KEY2’中导出第二认证密钥key2’,使用接收端计算mac2的方法重新计算第二消息认证码mac2’。
步骤414,发送端验证mac2’和收到的mac2是否相同,如果相同,对ID_B的认证视为通过,执行步骤415;否则,认为未通过认证,停止密钥协商,发送端退出认证协商流程。
步骤415,发送端以key2’作为第三消息认证码MAC3的输入密钥,以(ID_A,ID_B,T_A,T_B)作为MAC3的输入消息内容,计算第三消息认证码mac3=MAC3_key2’(ID_A,ID_B,T_A,T_B)。
步骤416,发送端将mac3发送至接收端。
步骤417,接收端收到mac3后,使用key2根据发送端生成mac3的方法重新计算mac3’=MAC3_key2(ID_A,ID_B,T_A,T_B)。
步骤418,接收端验证mac3’和收到的mac3是否相同,如果相同,视为通过认证,执行步骤419;否则,认为未通过认证,停止密钥协商,接收端退出认证协商流程。
步骤419,发送端从所述key2’中导出会话密钥,接收端从key2中导出会话密钥,将此会话密钥作为两端共享的会话密钥。
具体实施例二
如图5所示,具体实施例二中密钥认证协商方法包括以下步骤:
步骤501至步骤514与具体实施例一中步骤401至414相同。
步骤515,发送端在验证mac2’与mac2相同后,从key2’中导出会话密钥key。
步骤516,发送端根据key计算第三消息认证码mac3=MAC3_key(ID_A,ID_B,T_A,T_B)。
步骤517,发送端将mac3发送给接收端。
步骤518,接收端从key2中导出会话密钥key。
步骤519,根据会话密钥key重新计算第三消息认证码mac3’,验证mac3’和收到的mac3是否相同,如果相同,视为通过认证;否则,认为未通过认证,停止密钥协商,接收端退出认证协商流程。
具体实施例三
如图6所示,具体实施例三中密钥认证协商方法包括以下步骤:
步骤601至步骤609与具体实施例一中步骤401至409相同。
步骤610,接收端从第二密钥KEY2导出一个适当长度的第二认证密钥key2,从此第二认证密钥key2中导出会话密钥key,以key作为第二消息认证码算法MAC2的输入密钥,以(ID_B,ID_A,T_B,T_A)作为MAC2的输入消息内容,计算第二消息认证码mac2=MAC2_key(ID_B,ID_A,T_B,T_A)。
步骤611,接收端将(T_B,mac2)发送给发送端。
步骤612,发送端收到(T_B,mac2)后,根据发送端私钥d_A、接收端身份标识ID_B、收到的第二密钥交换信息T_B、生成T_A时选择的随机数a,计算生成第二密钥KEY2’=e(d_A,aH(ID_B)+T_B)。
步骤613,发送端从第二密钥KEY2’中导出第二认证密钥key2’。
步骤614,发送端从此第二认证密钥key2’中导出会话密钥key,采用此会话密钥key根据接收端计算mac2方式计算第二消息认证码mac2’。
步骤615,发送端验证mac2’和收到的mac2是否相同,如果相同,对ID_B的认证视为通过,执行步骤616;否则,认为未通过认证,停止密钥协商,发送端退出认证协商流程。
步骤616,发送端以key作为第三消息认证码MAC3的输入密钥,以(ID_A,ID_B,T_A,T_B)作为MAC3的输入消息内容,计算第三消息认证码mac3=MAC3_key(ID_A,ID_B,T_A,T_B)。
步骤617,发送端将mac3发送至接收端。
步骤618,接收端使用key根据发送端生成mac3的方法重新计算mac3’=MAC3_key(ID_A,ID_B,T_A,T_B)。
步骤619,接收端验证mac3’和收到的mac3是否相同,如果相同,视为通过认证;否则,认为未通过认证,停止密钥协商,接收端退出认证协商流程。
上述消息认证码算法MAC1、MAC2、MAC3是双方或系统事先约定的,包括但不限于HMAC、CBC-MAC等通过共享密钥认证消息的算法。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。

Claims (15)

1.一种基于身份标识的端到端的密钥认证协商方法,其中,
发送端生成第一密钥交换信息,根据所述第一密钥交换信息、发送端私钥、发送端身份标识、接收端身份标识、第一密钥交换相关信息生成第一消息认证码,并将所述第一消息认证码和第一密钥交换信息组成第一协商消息发送至接收端;
所述接收端生成第二密钥交换信息,根据所述第二密钥交换信息、接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二消息认证码,并将所述第二消息认证码和第二密钥交换信息组成第二协商消息发送至发送端;
所述发送端根据所述第一密钥交换信息、第二密钥交换信息、接收端身份标识、发送端身份标识生成第三消息认证码,将所述第三消息认证码发送至所述接收端;
所述接收端验证所述第一消息认证码、所述发送端验证所述第二消息认证码、所述接收端验证所述第三消息认证码均成功后,所述发送端和接收端的密钥认证协商成功。
2.如权利要求1所述的方法,其特征在于,
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
3.如权利要求1所述的方法,其特征在于,
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,计算得到所述第二消息认证码;
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码。
4.如权利要求1所述的方法,其特征在于,
所述发送端生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;
所述接收端生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第二消息认证码算法的输入密钥计算得到所述第二消息认证码;
所述发送端生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码。
5.如权利要求2、3、4所述的方法,其特征在于,
所述接收端收到所述第一协商消息后,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码,判断此第一消息认证码与从所述发送端收到的第一消息认证码相同时,继续生成第二密钥交换信息,否则,判定密钥认证协商失败。
6.如权利要求2、3所述的方法,其特征在于,
所述发送端收到第二协商消息后,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码,判断此第二消息认证码与从所述发送端收到的第二消息认证码相同时,继续生成第三消息认证码,否则,判定密钥认证协商失败。
7.如权利要求4所述的方法,其特征在于,
所述发送端收到第二协商消息后,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第二消息认证码算法的输入密钥生成第二消息认证码,判断此第二消息认证码与从所述发送端收到的第二消息认证码相同时,继续生成第三消息认证码,否则,判定密钥认证协商失败。
8.如权利要求1至7中任一权利要求所述的方法,其特征在于,
计算第一消息认证码时,将所述发送端身份标识、接收端身份标识、所述第一密钥交换信息作为第一消息认证码算法的输入消息内容;
计算第二消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第二消息认证码算法的输入消息内容;
计算第三消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第三消息认证码算法的输入消息内容。
9.如权利要求1至7中任一权利要求所述的方法,其特征在于,
所述第一密钥交换相关信息包括生成所述第一密钥交换信息时使用的随机数;
所述第二密钥交换相关信息包括生成所述第二密钥交换信息时使用的随机数。
10.一种基于身份标识的端到端的密钥认证协商系统,包括发送端和接收端,其中,
所述发送端和接收端均包括密钥交换信息计算模块和消息认证码计算模块、密钥计算模块;
发送端密钥交换信息计算模块,用于生成第一密钥交换信息;
发送端消息认证码计算模块,用于根据所述第一密钥交换信息、发送端私钥、发送端身份标识、接收端身份标识、第一密钥交换相关信息生成第一消息认证码,并将所述第一消息认证码和第一密钥交换信息组成第一协商消息发送至接收端;还用于验证从所述接收端收到的第二消息认证码;还用于在所述发送端收到所述第二协商消息后,根据所述第一密钥交换信息、第二密钥交换信息、接收端身份标识、发送端身份标识生成第三消息认证码,将所述第三消息认证码发送至所述接收端;
接收端密钥交换信息计算模块,用于在所述接收端收到所述第一协商消息后,生成第二密钥交换信息;
接收端消息认证码计算模块,用于根据所述第二密钥交换信息、接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二消息认证码,并将所述第二消息认证码和第二密钥交换信息组成第二协商消息发送至发送端;还用于验证从所述发送端收到的第一消息认证码和第三消息认证码;
发送端密钥计算模块,用于计算第一密钥、第一认证密钥、第二密钥、第二认证密钥、会话密钥;
接收端密钥计算模块,用于计算第一密钥、第一认证密钥、第二密钥、第二认证密钥、会话密钥。
11.如权利要求10所述的系统,其特征在于,
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
12.如权利要求10所述的系统,其特征在于,
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,将所述第二认证密钥作为第二消息认证码算法的输入密钥,计算得到所述第二消息认证码;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
13.如权利要求10所述的系统,其特征在于,
所述发送端消息认证码计算模块,还用于在生成第一消息认证码时,根据发送端私钥、接收端身份标识、第一密钥交换相关信息生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥,计算得到所述第一消息认证码;还用于在验证从所述接收端收到的第二消息认证码时,根据发送端私钥、接收端身份标识、所述第二密钥交换信息、第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所第二认证密钥中导出会话密钥,将所述会话密钥作为第二消息认证码算法的输入密钥生成第二消息认证码;还用于在生成第三消息认证码时,根据所述发送端私钥、所述接收端身份标识、所述第二密钥交换信息、所述第一密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将此会话密钥作为第三消息认证码算法的输入密钥计算得到所述第三消息认证码;
所述接收端消息认证码计算模块,还用于在生成第二消息认证码时,根据接收端私钥、发送端身份标识、所述第一密钥交换信息、第二密钥交换相关信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所第二认证密钥中导出会话密钥,将此会话密钥作为第二消息认证码算法的输入密钥计算得到所述第二消息认证码;还用于在验证从所述发送端收到的第一消息认证码时,根据接收端私钥、所述第一密钥交换信息、发送端身份标识计算生成第一密钥,从所述第一密钥中导出第一认证密钥,将所述第一认证密钥作为第一消息认证码算法的输入密钥生成第一消息认证码;还用于在验证从所述发送端收到的第三消息认证码时,根据所述接收端私钥、所述发送端身份标识、所述第二密钥交换相关信息、所述第一密钥交换信息生成第二密钥,从所述第二密钥中导出第二认证密钥,从所述第二认证密钥中导出会话密钥,将所述会话密钥作为第三消息认证码算法的输入密钥,计算得到所述第三消息认证码。
14.如权利要求10至13中任一权利要求所述的系统,其特征在于,
所述发送端消息认证码计算模块,还用于在计算第一消息认证码时,将所述发送端身份标识、接收端身份标识、所述第一密钥交换信息作为第一消息认证码算法的输入消息内容;还用于在计算第三消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第三消息认证码算法的输入消息内容;
所述接收端消息认证码计算模块,还用于在计算第二消息认证码时,将所述第一密钥交换信息、第二密钥交换信息、所述发送端身份标识、所述接收端身份标识作为第二消息认证码算法的输入消息内容。
15.如权利要求10至13中任一权利要求所述的系统,其特征在于,
所述第一密钥交换相关信息包括生成所述第一密钥交换信息时使用的随机数;
所述第二密钥交换相关信息包括生成所述第二密钥交换信息时使用的随机数。
CN201110459796.3A 2011-12-31 2011-12-31 一种基于身份标识的端到端的密钥认证协商方法及系统 Active CN103188080B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110459796.3A CN103188080B (zh) 2011-12-31 2011-12-31 一种基于身份标识的端到端的密钥认证协商方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110459796.3A CN103188080B (zh) 2011-12-31 2011-12-31 一种基于身份标识的端到端的密钥认证协商方法及系统

Publications (2)

Publication Number Publication Date
CN103188080A true CN103188080A (zh) 2013-07-03
CN103188080B CN103188080B (zh) 2018-02-09

Family

ID=48679053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110459796.3A Active CN103188080B (zh) 2011-12-31 2011-12-31 一种基于身份标识的端到端的密钥认证协商方法及系统

Country Status (1)

Country Link
CN (1) CN103188080B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104902471A (zh) * 2015-06-01 2015-09-09 东南大学 无线传感器网络中基于身份的密钥交换设计方法
CN106304049A (zh) * 2016-08-17 2017-01-04 深圳市金立通信设备有限公司 一种加密通信的呼叫方法、接听方法及终端
CN107454079A (zh) * 2017-08-04 2017-12-08 西安电子科技大学 基于物联网平台的轻量级设备认证及共享密钥协商方法
CN108599926A (zh) * 2018-03-20 2018-09-28 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法
CN108616350A (zh) * 2018-03-20 2018-10-02 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法
CN109075973A (zh) * 2016-07-22 2018-12-21 华为国际有限公司 一种使用基于id的密码术进行网络和服务统一认证的方法
CN110048849A (zh) * 2019-03-11 2019-07-23 广东安创信息科技开发有限公司 一种多层保护的会话密钥协商方法
CN112910864A (zh) * 2021-01-20 2021-06-04 中国人民解放军国防科技大学 公钥的高速报文验证方法
CN112987581A (zh) * 2019-12-16 2021-06-18 华为技术有限公司 用于智能家居设备的控制方法及其介质和终端
CN117278339A (zh) * 2023-11-23 2023-12-22 广东广宇科技发展有限公司 一种基于双向同步密钥池的数据独立传输验证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101179380A (zh) * 2007-11-19 2008-05-14 上海交通大学 一种双向认证方法、系统及网络终端
US20090063853A1 (en) * 2007-08-28 2009-03-05 Fujitsu Limited Information processing apparatus, server apparatus, medium recording information processing program and information processing method
CN101526772A (zh) * 2008-03-03 2009-09-09 三星电子株式会社 使用操作系统的单元和使用该单元的成像设备
CN101710859A (zh) * 2009-11-17 2010-05-19 深圳国微技术有限公司 一种认证密钥协商方法
CN101964789A (zh) * 2010-09-26 2011-02-02 北京飞天诚信科技有限公司 安全访问受保护资源的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063853A1 (en) * 2007-08-28 2009-03-05 Fujitsu Limited Information processing apparatus, server apparatus, medium recording information processing program and information processing method
CN101179380A (zh) * 2007-11-19 2008-05-14 上海交通大学 一种双向认证方法、系统及网络终端
CN101526772A (zh) * 2008-03-03 2009-09-09 三星电子株式会社 使用操作系统的单元和使用该单元的成像设备
CN101710859A (zh) * 2009-11-17 2010-05-19 深圳国微技术有限公司 一种认证密钥协商方法
CN101964789A (zh) * 2010-09-26 2011-02-02 北京飞天诚信科技有限公司 安全访问受保护资源的方法及系统

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104902471A (zh) * 2015-06-01 2015-09-09 东南大学 无线传感器网络中基于身份的密钥交换设计方法
CN104902471B (zh) * 2015-06-01 2018-12-14 东南大学 无线传感器网络中基于身份的密钥交换设计方法
CN109075973B (zh) * 2016-07-22 2022-04-05 华为国际有限公司 一种使用基于id的密码术进行网络和服务统一认证的方法
CN109075973A (zh) * 2016-07-22 2018-12-21 华为国际有限公司 一种使用基于id的密码术进行网络和服务统一认证的方法
US11044084B2 (en) 2016-07-22 2021-06-22 Huawei International Pte. Ltd. Method for unified network and service authentication based on ID-based cryptography
CN106304049A (zh) * 2016-08-17 2017-01-04 深圳市金立通信设备有限公司 一种加密通信的呼叫方法、接听方法及终端
CN107454079B (zh) * 2017-08-04 2020-07-07 西安电子科技大学 基于物联网平台的轻量级设备认证及共享密钥协商方法
CN107454079A (zh) * 2017-08-04 2017-12-08 西安电子科技大学 基于物联网平台的轻量级设备认证及共享密钥协商方法
CN108616350A (zh) * 2018-03-20 2018-10-02 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法
CN108616350B (zh) * 2018-03-20 2021-08-10 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest类AKA身份认证系统和方法
CN108599926A (zh) * 2018-03-20 2018-09-28 如般量子科技有限公司 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法
CN110048849A (zh) * 2019-03-11 2019-07-23 广东安创信息科技开发有限公司 一种多层保护的会话密钥协商方法
CN110048849B (zh) * 2019-03-11 2022-10-21 广东安创信息科技开发有限公司 一种多层保护的会话密钥协商方法
CN112987581A (zh) * 2019-12-16 2021-06-18 华为技术有限公司 用于智能家居设备的控制方法及其介质和终端
CN112910864A (zh) * 2021-01-20 2021-06-04 中国人民解放军国防科技大学 公钥的高速报文验证方法
CN112910864B (zh) * 2021-01-20 2022-11-04 中国人民解放军国防科技大学 公钥的高速报文验证方法
CN117278339A (zh) * 2023-11-23 2023-12-22 广东广宇科技发展有限公司 一种基于双向同步密钥池的数据独立传输验证方法
CN117278339B (zh) * 2023-11-23 2024-04-09 广东广宇科技发展有限公司 一种基于双向同步密钥池的数据独立传输验证方法

Also Published As

Publication number Publication date
CN103188080B (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
CN103095696B (zh) 一种适用于用电信息采集系统的身份认证和密钥协商方法
CN108650227B (zh) 基于数据报安全传输协议的握手方法及系统
CN103188080A (zh) 一种基于身份标识的端到端的密钥认证协商方法及系统
CN110035033B (zh) 密钥分发方法、装置及系统
CN101667916B (zh) 一种基于分离映射网络使用数字证书验证用户身份的方法
CN101616410B (zh) 一种蜂窝移动通信网络的接入方法和系统
CN108809637B (zh) 基于混合密码的lte-r车-地通信非接入层认证密钥协商方法
Medani et al. Review of mobile short message service security issues and techniques towards the solution
Saied et al. A distributed approach for secure M2M communications
US8650397B2 (en) Key distribution to a set of routers
CN103354498A (zh) 一种基于身份的文件加密传输方法
CN102404347A (zh) 一种基于公钥基础设施的移动互联网接入认证方法
CN102685749A (zh) 面向移动终端的无线安全身份验证方法
CN112351019B (zh) 一种身份认证系统及方法
CN103118363A (zh) 一种互传秘密信息的方法、系统、终端设备及平台设备
Sadhukhan et al. Cryptanalysis of an elliptic curve cryptography based lightweight authentication scheme for smart grid communication
CN115514474A (zh) 一种基于云-边-端协同的工业设备可信接入方法
KR101704540B1 (ko) M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법
Zhang et al. Identity‐based construction for secure and efficient handoff authentication schemes in wireless networks
Saied et al. Energy efficiency in M2M networks: A cooperative key establishment system
CN102739660A (zh) 一种单点登录系统的密钥交换方法
CN105119832A (zh) 基于身份密码学的MIPv6安全移动管理系统及移动认证方法
Wang et al. A lightweight and secure authentication protocol for space-ground integrated network of railway
CA2795420C (en) Derived certificate based on changing identity
CN1996838A (zh) 一种多主机WiMAX系统中的AAA认证优化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201217

Address after: Room 705, 7 / F, room 9, 1699, Zuchongzhi South Road, Kunshan City, Suzhou City, Jiangsu Province

Patentee after: Kunshan chuangzhihui Intellectual Property Operation Co.,Ltd.

Address before: 518057 Ministry of justice, Zhongxing building, South Science and technology road, Nanshan District hi tech Industrial Park, Shenzhen, Guangdong

Patentee before: ZTE Corp.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 215300 rooms 107 and 108, area C, 55 Xiaxi street, Kunshan Development Zone, Suzhou City, Jiangsu Province

Patentee after: Kunshan chuangzhihui Intellectual Property Operation Co.,Ltd.

Address before: Room 705, 7 / F, room 9, 1699, Zuchongzhi South Road, Kunshan City, Suzhou City, Jiangsu Province

Patentee before: Kunshan chuangzhihui Intellectual Property Operation Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230419

Address after: Room 1016, No. 579, Qianjin East Road, Kunshan Development Zone, Suzhou City, Jiangsu Province, 215000

Patentee after: Kangbo New Energy Technology (Kunshan) Co.,Ltd.

Address before: 215300 rooms 107 and 108, area C, 55 Xiaxi street, Kunshan Development Zone, Suzhou City, Jiangsu Province

Patentee before: Kunshan chuangzhihui Intellectual Property Operation Co.,Ltd.