带有证书的基于身份的加密方法和装置制造方法

文档序号:7987416阅读:190来源:国知局
带有证书的基于身份的加密方法和装置制造方法
【专利摘要】本发明实施例提供了一种带有证书的基于身份的加密方法和装置。该方法主要包括:认证中心生成并公开系统参数;用户生成并公开自己的公钥,将用户的身份信息和公钥发送给所述认证中心,所述认证中心利用所述用户身份信息和系统参数计算出用户证书,将所述用户证书发送给所述用户;所述用户根据所述用户证书和所述系统参数计算出自己的私钥。本发明实施例通过认证中心利用用户的身份信息和系统参数计算出用户证书,结合了公钥密码学体制和基于身份的密码体制,解决了基于身份的密码体制中密钥托管问题。本发明实施例可以将用户证书公布,不需要通过安全通道传输用户证书。
【专利说明】带有证书的基于身份的加密方法和装置
【技术领域】
[0001]本发明涉及密码学【技术领域】,尤其涉及一种带有证书的基于身份的加密方法和装置。
【背景技术】
[0002]随着科技和信息的不断发展,信息安全成为研究及应用所必需的,密码学便是为了保证信息安全而不断发展并逐渐成熟的学科。信息化的高速发展,对密码学有了新的要求,传统的密码学已经不能满足新的应用需求。公钥密码学由Diffie和Hellman于1976年引入密码学,在公钥密码学中加密密钥和解密密钥是不同的,而且加密密钥是公开的,可以方便地加密明文消息,解密密钥是非公开的,从而解决了传统对称密码学中的密钥产生,传输以及管理的问题。随后在1977年由Rivest,Shamir和Adleman公开提出了 RSA密码体制,公钥密码学开始得到广泛应用。密码分析技术的发展需要RSA密码体制的安全参数比较高。在1985年Koblitz和Miller分别将椭圆曲线引入密码学,得到椭圆曲线密码体制,椭圆曲线密码体制使用较小的安全参数便可以得到与有较大安全参数的RSA密码体制相同的安全级别,而且对于椭圆曲线密码体制还没有亚指数时间的攻击,因此椭圆曲线密码体制在近十余年不断迅速发展和应用。
[0003]在速度方面,公钥密码体制加密和解密速度相对比较慢,没有对称密码体制中的实现速度快,通常在实际应用中是将公钥密码体制和对称密码体制结合起来,用公钥密码体制来传输对称密码体制的密钥,用对称密码体制的密钥来加密和解密传输消息。为了保证公钥密码体制的实施,用PKI (Public Key Infrastructure,公钥基础设施)来实现公钥密码体制的正常应用。在PKI中,CA (Certificate Authority,认证机构)是负责创建或证明身份的可信赖的权威机构,CA给每一个用户颁发一个数字证书,数字证书中保存着用户的相关信息,其中包括公钥、注册机构、证书服务器、证书库等一系列相关设施,以保证公钥密码体制的正常运行。
[0004]在公钥密码体制中,为了给一个用户发送消息,发送者需要取得此用户的公钥和证书,导致公钥密码体制在大范围内应用有着阻碍。Shamir于1984年在CRYPTO’84中提出基于身份的密码学,并且给出了一个基于身份的签名方案。然而基于身份的加密方案发展比较缓慢,直到2001年,出现了两个基础的基于身份的加密方案,分别为Cocks利用模RSA数的二次剩余给出的方案和Boneh、Franklin在CRYPTO 2001上使用椭圆曲线上双线性配对给出的方案,从此基于身份的密码学得到了飞速发展,许多基于身份的密码学方案使用了椭圆曲线上双线性配对工具。基于身份的密码体制,属于公钥密码体制,但是不需要CA,也不需要证书,从而也不需要证书吊销列表等。用户的公钥与其身份有关系,只需要知道其身份便可以给用户发送消息。用户收到加密消息只需要向PKG (Private Key Generator,私钥生成器)询问其私钥,PKG用安全通道将私钥传给用户,用户便可以用其私钥来解密消息。然而这个过程引发了基于身份的密码体制的一个不可避免的问题,即密钥托管问题,PKG生成了用户私钥,从而可以解密用户的所有密文消息。[0005]为了解决基于身份的密码体制中的密钥托管问题,主要有如下的三种方式:第一种方式是,使用多个PKG,只有达到一定数目的PKG,才能一起得到用户的私钥;第二种方式是使用双重加密,将公钥加密体制和基于身份的加密体制结合起来;第三种方式是带有证书的基于身份的加密方案。
[0006]现有技术中,还没有有效的带有证书的基于身份的加密方案。

【发明内容】

[0007]本发明的实施例提供了一种带有证书的基于身份的加密方法和装置,以解决基于身份的密码体制中的密钥托管问题。
[0008]一种带有证书的基于身份的加密方法,包括:
[0009]认证中心生成并公开系统参数;
[0010]用户生成并公开自己的公钥,将用户的身份信息和公钥发送给所述认证中心,所述认证中心利用所述用户身份信息和系统参数计算出用户证书,将所述用户证书发送给所述用户;
[0011]所述用户根据所述用户证书和所述系统参数计算出自己的私钥。
[0012]一种带有证书的基于身份的加密装置,包括:
[0013]系统参数生成模块,用于通过认证中心生成并公开系统参数;
[0014]用户证书生成模块,用于通过认证中心接收用户的身份信息和公钥,通过所述认证中心利用所述用户身份信息和系统参数计算出用户证书,将所述用户证书发送给用户私钥生成模块;
[0015]用户私钥生成模块,用于根据所述用户证书和所述系统参数计算出所述用户的私钥。
[0016]由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过认证中心利用用户的身份信息和系统参数计算出用户证书,结合了公钥密码学体制和基于身份的密码体制,解决了基于身份的密码体制中密钥托管问题。本发明实施例可以将用户证书公布,不需要通过安全通道传输用户证书。
【专利附图】

【附图说明】
[0017]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明实施例一提供的一种带有证书的基于身份的加密方法的处理流程图;
[0019]图2为本发明实施例二提供了一种带有证书的基于身份的加密装置的具体结构图。
【具体实施方式】
[0020]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0021]实施例一
[0022]本发明实施例所述技术方案涉及的实体如下:
[0023](I)系统参数生成机构CA:CA选择安全参数,为用户生成系统参数,该系统参数包括私钥和公钥,并公开用户的公钥,保存好私钥;收到用户的身份等信息,验证用户的身份,并用私钥对用户的信息进行签名,得到用户的证书并发送给用户。
[0024](2)消息发送方:用接收方的身份和公钥对明文消息进行加密,并将密文消息发送给接收方。
[0025](3)消息接收方:消息接收方发送用户身份信息和公钥给CA,并取得CA的证书,验证证书,结合证书生成自己的私钥;收到密文消息,用自己的私钥解密得到明文消息。
[0026]该实施例提供的一种带有证书的基于身份的加密方法的处理流程如图1所示,包括如下的处理步骤:
[0027]步骤11:CA生成系统参数。
[0028]具体处理过程如下:
[0029]CA基于安全参数k,选择有限域,通常是二元域的大素数阶扩域,或者大素数阶有限域,然后选取有限域上的配对友好常椭圆曲线。若一个椭圆曲线有一个大素数阶子群,而且具有小的嵌入次数( 大于6小于等于50),则这个椭圆曲线称为配对友好常椭圆曲线。选取所述配对友好常椭圆曲 线上的一个双线性配对e =G1XG2 — Gt,其中G1和G2为椭圆曲线上的素数q阶的加法加群,Gt为有限域中的q阶乘法群,所述q为设定的素数。
[0030]分别取G1和G2的生成元P和Q ;
[0031]随机取\中的一个非零元s作为私钥,并公开参数Ppub = sP ;所述\为模q的剩余所组成的集合,即zq={0,1,......,q-l},
[0032]选取安全的hash 函数^:{0,1}*,H2:Gt— {O, 1}η,:{0,1}? x [0,1}ΒH4:{0,l}n— {0,l}n,所述 Zt;表示 l-(q-l)范围内的整数,Zq*= {I,……,q_l}。
[0033]系统公共参数为params= (G1, G2, GT, e,P,Q,Ppub, H1, H2, H3, H4),消息空间为 M ={0,1}η,私钥为s (这个私钥是CA的私钥)。
[0034]步骤12:用户生成并公开自己的公钥,将用户的身份信息和公钥发送给CA,CA生成用户的用户证书并发送给用户,用户根据用户证书生成用户私钥。
[0035]具体处理过程如下:
[0036]用户User选取秘密参数X,生成并公开自己的公钥XH1 (ID) P,,其中ID为用户User的用户身份信息,
[0037]用户User将用户身份信息ID和公钥XH1 (ID)P发送给CA ;
[0038]CA验证上述用户身份信息;
[0039]CA验证User的身份信息通过,CA计算出用户证书Cert = SH1QD' )Q,其中ID’ =(Ppub, i,ID), i为时间段,并将上述用户证书Cert传给用户User ;
[0040]用户User验证上述用户证书Cert,即验证e (P, Cert) = e (Ppub, H1 (ID' )Q)是否成立,如果成立,则计算XH1 (ID) Q,并计算Su = Cert+x^ (ID) Q,并将Su作为自己的解密私钥。
[0041]步骤13:消息发送者用上述用户的公钥加密明文消息,并发送给用户。[0042]具体处理过程如下:
[0043]消息发送者给用户User发送明文消息m,计算Pu = H1 (ID’) Ppub ;
[0044]消息发送者随机选取σ e {O, 1}η;
[0045]消息发送者计算r = Η3( σ,m, U=rP, J7 = σθ//:(>(/[+x//丨(//))/'(_))'),W = m?H4(a);其中十表示比特串的异或,将(U,V,W)作为密文。
[0046]发送者将密文消息(U,V,W)发送给用户User。
[0047]步骤14、用户接收到上述密文信息后,用自己的私钥解密上述密文消息。
[0048]具体处理过程如下:
[0049]用户User收到密文消息(U,V, W);
[0050]User 计算σ = V?H2(e(U,Su)) ,m = W? Η4(σ)
[0051]User验证H3( σ,m)P与U是否相等,如果相等则接受消息m,否则终止。
[0052]实施例二
[0053]该实施例提供了一种带有证书的基于身份的加密装置,其具体结构如图2所示,包括:
[0054]系统参数生成模块21,用于通过认证中心生成并公开系统参数;
[0055]用户证书生成模块22,用于通过认证中心接收用户的身份信息和公钥,通过所述认证中心利用所述用户身份信息和系统参数计算出用户证书,将所述用户证书发送给用户私钥生成模块;
[0056]用户私钥生成模块23,用于根据所述用户证书和所述系统参数计算出所述用户的私钥。
[0057]具体的,所述系统参数生成模块21,具体用于通过认证中心基于安全参数k,选取有限域上的常椭圆曲线,并产生所述常椭圆曲线上的一个配对e =G1XG2 — Gt,其中G1和G2为所述常椭圆曲线上的q阶的加法加群,Gt为有限域中的q阶乘法群,所述q为设定的素数;
[0058]分别选取所述G1和G2的生成元P和Q ;
[0059]随机取Zq中的一个非零元s作为私钥,并公开参数Paib = sP ;选取安全hash函数H1: {0,1}* ,H2:Gt — {O, l}n,H3: {0,1}" X{0,1}"H4: {O, 1}η— {O, 1}η。
[0060]通过所述认证中心获取并公开系统参数params, params= (G1, G2, GT, e, P, Q, Ppub,H1, H2, H3, H4),消息空间为M = {O, 1}η,私钥为S。
[0061]具体的,所述的用户证书生成模块22,具体用于通过用户选取秘密参数X,生成并公开用户的公钥XH1 (ID)P,将用户的身份信息ID和公钥发送给所述认证中心,通过所述认证中心验证所述用户身份信息合格后,通过所述认证中心计算出用户证书Gert = SH1 (ID’)Q,其中ID’ = (PPub, i,ID), i为时间段,并将所述用户证书Cert发送给所述用户。
[0062]具体的,所述的用户私钥生成模块23,具体用于通过所述用户验证所述用户证书Cert,即验证e (P, Cert) = e (Ppub, H1 (ID,) Q)是否成立,如果成立,则计算XH1 (ID) Q,并计算Su = Gert+xHi (ID) Q,并将Su作为所述用户的私钥。
[0063]进一步地,所述的装置还可以包括:
[0064]明文消息加密模块24,用于当消息发送者要给所述用户发送明文消息m时,通过所述消息发送者计算Pu = H1 (ID’)Ppub,随机选取σ e {0,1}η,计算r = Η3( σ,m), U=rP,V ^ σΦH^eiPu +χΗ, {ΙΙ))]\0? ) W = m?H4(p.),将密文消息(U,V, W)发送给所述用户。
[0065]密文消息解密模块25,用于在所述用户收到所述密文消息(U,V,W)后,通过所述用户计算=Μ = Ψ?Η4{σ),验证Η3(。,m)P与U是否相等,如果相等则接受所述消息m。
[0066]本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0067]本领域普通技术人员可以理解:实施例中的设备中的模块可以按照实施例描述分布于实施例的设备中,也可以进行相应变化位于不同于本实施例的一个或多个设备中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0068]用本发明实施例的装置进行带有证书的基于身份的加密的具体过程与前述方法实施例类似,此处不再赘述。
[0069]综上所述,本发明实施例通过认证中心利用包含用户公钥的用户身份信息和系统参数计算出用户证书,结合了公钥密码学体制和基于身份的密码体制,解决了基于身份的密码体制中密钥托管问题。
[0070]本发明实施例可以将用户证书公布,任何人可以使用公开参数验证证书,而用户在加密的时候,将证书作为私钥的一部分,结合自己的产生的部分私钥生成最终的加密私钥,不需要通过安全通道传输用户证书。
[0071]本发明实施例使用hash函数将用户的身份信息ID映射成为整数而不是椭圆曲线群上的点,更加有效安全;使用了非对称的双线性配对,需要常椭圆曲线,常椭圆曲线上的非对称双线性配对选择更多,而且更加安全;
[0072]本发明实施例中,在加密和解密消息时,各仅需要一次双线性配对计算,实现更为有效。
[0073]以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
【权利要求】
1.一种带有证书的基于身份的加密方法,其特征在于,包括: 认证中心生成并公开系统参数; 用户生成并公开自己的公钥,将用户的身份信息和公钥发送给所述认证中心,所述认证中心利用所述用户身份信息和系统参数计算出用户证书,将所述用户证书发送给所述用户; 所述用户根据所述用户证书和所述系统参数计算出自己的私钥。
2.如权利要求1所述的带有证书的基于身份的加密方法,其特征在于,所述认证中心生成并公开系统参数,包括: 认证中心基于安全参数k,选取有限域上的常椭圆曲线,并产生所述常椭圆曲线上的一个配对e =G1XG2 — Gt,其中G1和G2为所述常椭圆曲线上的q阶的加法加群,Gt为有限域中的q阶乘法群,所述q为设定的素数; 分别选取所述G1和G2的生成元P和Q ; 随机取Zq中的一个非零元S作为私钥,并公开参数Ppub = sP,所述
3.如权利要求2所述的带有证书的基于身份的加密方法,其特征在于,所述的用户生成并公开自己的公钥,将用户的身份信息和公钥发送给所述认证中心,所述认证中心利用所述用户身份信息和系统参数计算出用户证书,将所述用户证书发送给所述用户,包括: 用户选取秘密参数X,生成并公开自己的公钥XH1 (ID) P,所述用户将自己的用户身份信息ID和公钥发送给所述认证中心; 所述认证中心验证所述用户身份信息合格后,CA计算出用户证书/I),其中ID’ = (PPub, i,ID), i为时间段,并将所述用户证书Cert发送给所述用户。
4.如权利要求3所述的带有证书的基于身份的加密方法,其特征在于,所述的用户根据所述用户证书和所述系统参数计算出自己的私钥,包括: 所述用户验证所述用户证书Cert,即验证e (P, Cert) = e (Ppub, H1 (ID' )Q)是否成立,如果成立,则计算XH1 (ID) Q,并计算Su = Cert+xHi (ID) Q,并将Su作为自己的私钥。
5.如权利要求1至4任一项所述的带有证书的基于身份的加密方法,其特征在于,所述的方法还包括: 当消息发送者要给所述用户发送明文消息m时,所述消息发送者计算Pu = H1(HT)Ppub,随机选取 σ e {0,1}η,计算
6.如权利要求5所述的带有证书的基于身份的加密方法,其特征在于,所述的方法还包括: 所述用户收到所述密文消息(U,V,W)后,计算
7.一种带有证书的基于身份的加密装置,其特征在于,包括: 系统参数生成模块,用于通过认证中心生成并公开系统参数; 用户证书生成模块,用于通过认证中心接收用户的身份信息和公钥,通过所述认证中心利用所述用户身份信息和系统参数计算出用户证书,将所述用户证书发送给用户私钥生成模块; 用户私钥生成模块,用于根据所述用户证书和所述系统参数计算出所述用户的私钥。
8.如权利要求7所述的带有证书的基于身份的加密装置,其特征在于: 所述系统参数生成模块,具体用于通过认证中心基于安全参数k,选取有限域上的常椭圆曲线,并产生所述常椭圆曲线上的一个配对e =G1XG2 — Gt,其中G1和G2为所述常椭圆曲线上的q阶的加法加群,Gt为有限域中的q阶乘法群,所述q为设定的素数; 分别选取所述G1和G2的生成元P和Q ; 随机取Zq中的一个非零元S作为私钥,并公开参数Ppub = sP,所述Zq={0,1,......,q-Ι};
选取安全 hash 函数
9.如权利要求8所述的带有证书的基于身份的加密装置,其特征在于: 所述的用户证书生成模块,具体用于通过用户选取秘密参数X,生成并公开用户的公钥XH1 (ID)P,将用户的身份信息ID和公钥发送给所述认证中心,通过所述认证中心验证所述用户身份信息合格后,通过所述认证中心计算出用户证书Gert = SH1 (ID’)Q,其中ID’ =(Paib, i,ID), i为时间段,并将所述用户证书Cert发送给所述用户。
10.如权利要求9所述的带有证书的基于身份的加密装置,其特征在于: 所述的用户私钥生成模块,具体用于通过所述用户验证所述用户证书Cert,即验证e (P, Cert) = e (Ppub, H1 (ID,) Q)是否成立,如果成立,贝丨J计算XH1 (ID) Q,并计算Su =Gert+x^ (ID) Q,并将Su作为所述用户的私钥。
11.如权利要求7至10任一项所述的带有证书的基于身份的加密装置,其特征在于,所述的装置还包括: 明文消息加密模块,用于当消息发送者要给所述用户发送明文消息m时,通过所述消息发送者计算Pu = H1QD')Ppub,随机选取σ e {0,1}η,计算r = Η3( σ,m), U=rP,
12.如权利要求11所述的带有证书的基于身份的加密装置,其特征在于,所述的装置还包括: 密文消息解密模块,用于在所述用户收到所述密文消息(U,v,w)后,通过所述用户计算
【文档编号】H04L9/08GK103873248SQ201210546687
【公开日】2014年6月18日 申请日期:2012年12月16日 优先权日:2012年12月16日
【发明者】亓延峰, 郭宝安, 徐树民, 田心, 王申, 张先强 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1