无证书的基于层次身份基的认证密钥协商方法和协商系统的制作方法
【技术领域】
[0001] 本发明涉及无证书的密码体制,具体涉及一种无证书的基于层次身份基的认证密 钥协商方法和协商系统。
【背景技术】
[0002] 公钥密码体制是保证网络和信息安全的重要技术。在传统的公钥基础设施(PKI, PublicKeyInfrastructure)中,需要可信第三方为用户颁发证书来证明用户的合法身 份,因此涉及到很多证书管理的问题,占用了大量系统相关资源。为了简化传统公钥基础设 施对证书的管理过程,Shamir在1984年提出了一种身份基密码体制(IBC,IdentityBased Cryptosystem)。该体制不使用证书,直接将用户的身份作为公钥,私钥由可信的私钥生成 中心PKG(PublicKeyGenerator)生成。
[0003] 然而在Shamir提出的IBC体制中,用户的私钥完全由PKG生成,若PKG受到攻击 造成信息泄露,则攻击者可以获得用户的长期私钥,以此来假冒用户。这就是IBC体制固有 的密钥托管问题。为了解决这一问题,Al-Riyami和Paterson在2003年提出了无证书的 身份基密码体制(CLIBC,CertificatelessldentityBasedCryptosystem)。在这一体制 中,PKG只为用户生成部分私钥,完整的私钥由用户结合PKG生成的部分私钥以及自身选定 的私有秘密值共同生成。因此,无证书密码体制既解决了传统公钥密码体制中的证书管理 问题,又解决了身份基密码体制中的密钥托管问题。
[0004] 在IBE和CLIBE体制中均只含有一个PKG。PKG不仅承担着验证用户身份及为 用户生成私钥的任务,还要承担维护安全信道以便把私钥安全的发送给用户的任务,同时 PKG还要负责用户私钥的更新,撤销等工作。显然,单一PKG将不能承担起大型系统繁重 的工作。为了解决这一问题,密码学家Gentry和Silverberg与2002年第一次提出了层 次身份基密码体制(HIBC,HierarchicalIdentityBasedCryptography)。该体制中包 含一个根PKG及多层的域PKG,根PKG验证域PKG并为其生成私钥,上层域PKG验证下层 域PKG并为其生成私钥,直至用户的上一层域。不过在HIBC体制中仍然存在密钥托管问 题。2008年,Chow、Roth和Rieffel则首次对无证书的分层密码体制(HCLC,Hierarchical CertificatelessCryptography)进行了研究。这一体制既保留了HIBC体制的优点,又避 免了HIBC体制中的密钥托管问题。
[0005] 密钥协商作为密码学中的基础部分,在安全通信中有至关重要的作用。它允许两 个实体在开放信道上协商安全的会话密钥,以保证双方通信的安全。基于无证书的身份基 密码体制,学者们提出了大量的无证书的身份基认证密钥协商协议。然而,大多数无证书身 份基认证密钥协商协议都是在单一PKG环境下提出的。同时,椭圆曲线上的双线性对运算 耗时大约是点乘运算的20倍,因此效率较低。针对这一问题,有学者提出了无双线性对运 算的无证书的身份基密钥协商协议,不过这类协议也都是在单一PKG环境下提出的。
[0006] 椭圆曲线密码(ECC,Ellipticcurvecryptography)与其他公钥密码体制相比, 其主要优势是在相同的安全水平下系统参数更短,因此在身份基密码体制中运用最为广 泛。在无双线性对运算的密钥协商协议中,协议的安全性一是基于椭圆曲线离散对数困难 假设,即(G为椭圆曲线上的q阶循环加法群,给定两个元素p,ctPe殺,其中ae由P, aP计算a是困难的,但由P,a计算aP是容易的。二是基于计算性Diffie-Hellman困难假 设,即G为椭圆曲线上的q阶循环加法群,给定三个元素其中化&e7ZL 计算abP是困难的。
【发明内容】
[0007] 本发明旨在至少解决上述技术问题之一。
[0008] 为此,本发明的第一个目的在于提出一种无证书的基于层次身份基的认证密钥协 商方法。
[0009] 本发明的第二个目的在于提出一种无证书的基于层次身份基的认证密钥协商系 统。
[0010] 为了实现上述目的,本发明的的实施例公开了一种无证书的基于层次身份基的认 证密钥协商方法,包括以下步骤:A:根据输入的安全常数A,得出阶数为q的椭圆曲线循 环加法群S、其生成元为P,选取主私钥msk,计算公钥Ppub,选取安全的哈希函数氏和哈希 函数H2;B:根据第一用户的身份向量ID=(Ip12,. ..,It),可以通过两种算法生成所述第 一用户的私钥d:B1 :根据所述主私钥msk、所述第一用户身份向量ID=(Ip12,. ..,It)和 随机选取的5^…,仍根PKG计算所述第一用户的部分私钥k和部分公钥glP,..., gtP,所述第一用户验证所述部分私钥k是否满足验证条件,如果所述部分私钥k满足验证 条件,所述第一用户接受所述部分私钥k和部分公钥glP,. . .,gtP;B2 :根据所述部分私钥 k和部分公钥glP,. . .,gtP及随机选取的XG2$生成所述第一用户的私钥d和公钥pk;或 1:根据所述第一用户的身份向量id=a,i2,...,It)、所述第一用户的上层用户的身 份向量IDPKG=(I^ 12, ? ? ?,It》、所述上层用户的部分私钥V、部分公钥{glP,? ? ?,gt少} 和随机选取的汍e2$,所述上层用户的PKG为所述第一用户生成部分私钥k和部分公钥 glP,. . .,gtP,所述第一用户验证所述部分私钥k是否满足验证条件,如果所述部分私钥k满 足验证条件,所述第一用户接受所述部分私钥k和部分公钥glP,. ..,gtP;B' 2 :根据所述 部分私钥k和部分公钥glP,. . .,gtP及随机选取的=€ 生成所述第一用户的私钥d和 公钥pk。
[0011] 根据本发明实施例的无证书的基于层次身份基的认证密钥协商方法,基于无证书 的层次身份基密码体制,适用于大型系统,而且方法在运算过程中不含双线性对运算,因此 具有更高的效率。方法的安全性基于椭圆曲线离散对数困难假设及计算性Diffie-Hellman 困难假设,满足密钥协商系统所需的基本安全需求。
[0012] 另外,根据本发明上述实施例的无证书的基于层次身份基的认证密钥协商方法, 还可以具有如下附加的技术特征:
[0013]进一步地,所述步骤A进一步包括:所述椭圆曲线循环加法群G为满足安全常数 入的阶为q的椭圆曲线循环加法群;所述公钥Ppub=sP,其中主私钥msk=s;所述哈希函 数以及所述哈希函数//2 :GxG4咒,其中父为会话密钥空间。
[0014] 进一步地,所述步骤B1进一步包括:根据所述主私钥msk、所述第一用户身份向量 ID=(Ip12,…,It)和所述根PKG随机选取的$1,.价eZg,计算ri =h丨(1; | |g#),其 中1 <i<t,所述第一用户的部分私钥k为:
[0015]
[0016] 如果k= 〇,则需要重新选取沒1, , g,通过安全信道将{glP,...,gtp,k} 发送给所述第一用户,其中glp,...,gtp为所述第一用户的部分公钥,所述第一用户验证下 列等式:
[0017]
[0018]若等式不成立,则拒绝所述部分私钥k和部分公钥glP,. ..,gtP。
[0019] 进一步地,所述步骤B2进一步包括:随机选取X:e ?生成所述第一用户的的私 钥d,
[0020] d=k+x
[0021] 如果d= 〇,重新选取te计算所述第一用户的私钥山所述第一用户的公钥为 pk= {ID,gjP,. . . , gtP,xP}〇
[0022] 进一步地,所述步骤B' 1进一步包括:根据所述第一用户的身份向量ID=(Ip 12,...,It)、所述第一用户上层用户IDPKS=(I^12,...,Itl)、所述上层用户的部分私钥 M二s 所述上层用户的部分公钥{giP,. ..,gtiP}和随机选取枷6巧,计 算rt=Hi(It | |gtP),所述上层用户的PKG为所述第一用户生成所述部分私钥k,所述部分私 钥k通过以下公式得到:
[0023]
[0024] 如果k= 0,则需要重新选取汍€g计算所述部分私钥k,通过安全信道将 {glP,. ..,gtP,k}发送给所述第一用户,其中glP,. ..,gtP为所述第一用户的部分公钥,所 述第一用户验证下列等式:
[0025]
[0026]若等式不成立,所述第一用户拒绝所述部分私钥k和部分公钥glP,. ..,gtP。
[0027]进一步地,所述步骤B' 2进一步包括:随机选取XeZ;;,生成所述第一用户的的 私钥d,
[0028]d=k+x
[0029]如果d= 0,重新选取.K 汁算所述第一用户的私钥d,所述第一用户的公钥为 pk= {ID,gjP, . . . ,gtP,xP} 〇
[0030] 进一步地,在步骤B还包括以下步骤:
[0031]C:随机选择第二用户A和第三用户B,根据所述第二用户A的身份向量 T