用户实体自产生公钥证书并管理公钥证书系统和方法

文档序号:7682841阅读:599来源:国知局
专利名称:用户实体自产生公钥证书并管理公钥证书系统和方法
技术领域
本发明涉及的是一种数字信息安全技术,特别涉及的是一种用户实体自产 生公钥证书并管理公钥证书的系统以及通过上述系统实现的相应方法。
背景技术
对于力口密算法而言,PKI (Public Key Infrastructure,公钥基础设施),其最 主要的功能是安全地完整地发布用户实体公钥及相应的证书,并使得用户实体 安全地使用其它用户实体的公钥及相应的证书。PKI是现在网络安全部件及应用 的基础,如SSL, IPsec, https, PGP, SET等;正是由于有了PKI做基础,才使得 的Email通信、电子商务、电子选举等安全应用成为了可能。请参阅图l所示,其 为现有的公钥产生系统的结构示意图,其中所述的PKI主要包4舌CA(Certificate Authority)证书认证机构和申请公钥证书的一些用户实体l,所述的用户实体l 向CA申请公钥证书,CA向用户实体发放公钥证书,根据功能划分,CA又可以 分为两个部分来实现最主要的几个功能(1) 注册机构(Registration Authodty)2 ,简称为RA,负责完成用户实体l的 信息的录入,用户实体l的身份认证。(2) 密钥管理服务器(Key Management Server)3,简称为KMS。当RA2对用 户实体l的认证通过后,KMS3负责为用户实体l生成公私钥对,并向用户实体l 发放公钥证书,公钥证书主要包括用户实体l的身份信息,用户实体l的公钥, 证书的发放日期和有效期等信息,以及CA对这些信息的哈希(hash)值的一个 签名,KMS3把用户实体l相应的私钥和公钥证书发放给用户实体l。将用户实体1的公钥证书等相关信息存储在证书资料库31中。 同时将已被撤消的用户实体1的公钥证书存储在证书撤消列表3 2中。 KMS3管理用户实体的公钥证书,并维护证书资料库31和公钥证书撤消列表 32,向用户实体提供在线服务。当用户实体A要使用用户实体B的公钥证书时,首先要向CA的公钥证书撤消列表服务器查询用户实体B的公钥证书是否在撤消列表中。如果在,说明用户实体B的公钥证书已经失效,否则就可以使用用户实体B的公钥证书了 ,公钥证书 将用户实体B的信息与用户实体B的公钥进行绑定,而由于CA是可信的第三方, 所以C A在公钥证书上的签名实质上也就表达了证书的真实性和可认证性。但是对于以CA为中心的PKI仍然存在一些固有的缺陷,如CA的工作复杂而 繁重,尤其是对用户实体l公钥证书的管理,CA负责证书的产生,维护和撤消。 当用户实体l的数目增多,CA的管理任务就会益加复杂而繁重;用户实体1向CA申请证书时,需要向CAi正明用户实体1的私钥和7>钥是匹配 的,目前主要有两种方法生成用户实体l的公钥和私钥第一种方法是前面叙述的,由CA中的密钥管理服务器KMS3协助用户实体l 生成公钥和私钥,然后将公钥和私钥告诉用户实体l,这种做法实质上使得CA 知道了用户实体l的私钥,违反了用户实体l的私钥的隐私性,虽然CA是可信的 第三方,但是CA掌控用户实体l的私钥还是会增大私钥泄露的机会;第二种方法用户实体l自己生成公私钥,然后将公钥提交CA,私钥自己保存。 这种方法的好处是CA也不知道用户实体l的私钥,但是缺点是用户实体l必须向 CA证明自己知道与所提交的公钥相对应的私钥,但是这则需要复杂的零知识证 明技术。鉴于上述缺陷,本发明创作者经过长时间的研究和实践终于获得了本创作。 发明内容本发明的目的在于,提供一种用户实体自产生公钥证书并管理公钥证书的 系统和方法,用以克服上述缺陷。为实现上述目的,本发明采用的技术方案在于,首先提供一种用户实体自 产生公钥证书并管理公钥证书的系统,其包括用户实体;一可信第三方用以和用户实体进行数据交互,并生成部分私钥给所述的用 户实体;一服务器,用以存储所述用户实体自己生成或更新的公钥证书。 其中,任何用户实体允许对所述的服务器进行访问,并查询公钥证书,但 只允许修改和更新自己的公钥证书。其次本发明提供一种用户实体自产生公钥证书并管理公钥证书的方法,其 是通过上述的用户实体自产生公钥证书并管理公钥证书的系统实现的,其包括的步骤为步骤a:生成建立系统所需要的系统参数;步骤b:用户实体与可信第三方进行秘密的数据交互,所述的可信第三方参 与生成所述用户实体的部分私钥;步骤c:所述的用户实体利用部分私钥生成或更新完整的公钥和私钥以及相 应的7〉钥证书;步骤d:服务器利用用户实体的公钥证书和系统参数,验证用户实体的公钥 i正书的准确性。其中,所述的步骤a生成建立系统所需要的系统参数,其包括的步骤为 步骤al:根据安全参数人,选择一个大的素数p; 步骤a2:选择阶为p的一个群G; 步骤a3:随机地选取集合z/上的元素x; 步骤a4:从所述的群G中随机选取一个不是单位元的元素g; 步骤a5:在所述的群G上计算y-gX; 步骤a6:选择一个哈希函数,记为H: {0, 1}'—Zp; 步骤a7:输出公开参数param- (p, G, g, y)和主密钥x。 其中,步骤b:用户实体与可信第三方进行秘密的数据交互,所述的可信第 三方参与生成所述的用户实体的部分私钥,其包括的步骤为 步骤bl:用户实体随机选取所述集合Z/上的元素z;步骤b2:用户实体在所述的群G上计算u = gz,所述的g为系统的一个公 开参数;步骤b3:所述的用户实体向所述的可信第三方发送u; 步骤b4:所述的可信第三方收到所述的u后,输出部分私钥s和辅助验证 信息w;步骤b5:所述的用户实体验证来自于所述可信第三方生成的部分私钥s的 合法性,如果合法则执行下述步骤b6,如果不合法执行bl;步骤b6:所述用户实体的私钥为两部分,由所述用户实体生成的部分私钥 为sk!-z,由所述可信第三方为所述的用户实体生成的部分私钥为sk2 = s。其中,步骤b4:所述的可信第三方收到所述的u后,输出部分私钥s和辅 助验证信息w;包括的步骤为步骤b41:随机选取所述集合Z/上的元素t; 步骤b42:计算辅助验证信息w = g"步骤b43:计算部分私钥s = t + xH(IDIIuw),其中哈希函数是H公开的参数, ID是所述用户实体的身份信息。其中,步骤c:用户实体利用部分私钥生成或更新完整的公钥和私钥以及相 应的公钥证书,其包括的步骤为步骤cl:所述的用户实体获得系:统参数pamm、部分私钥s、和sk2;步骤c2:所述的用户实体随机地选取所述的集合Z/上的元素k;步骤c3:计算完整的私钥为sk=ski + sk2 + k=z+s + k;步骤c4:计算中间量pk (1' = uw = gz + t; 步骤c5:计算中间量pk(2) = pk(')gy,単"))ggk =gz + s + k步骤c6:计算中间量沐(3) =gk;步骤c7:随机选取所述的集合Z/上的元素r,并计算中间量?1^(4)= (R,5) 5步骤c8:用户实体的公钥为pk- (pk("llpk(2)llpk(3)llpk④);步骤c9:用户实体的公钥证书为cert= (ID||pk||timel|validity ) = (ID||pk (" ||pk(2)||pk(3>||pk(4)||time||validity),其中time为证书生成时间,validity为证书 的有效期,ll表示级联关系。其中,步骤c7:随机选取所述的集合Z,上的元素r,并计算中间量 pk(4) = (R, S);其包括的步骤为步骤c71:计算R-gf;步骤c72:计算S = r + sAg/7(/Z) PP; A:(2) PpA:(3) P"附e Pva//&Xv P及)。其中,步骤d:利用用户实体的公钥证书和系统参数,验证用户实体的公钥证书的准确性,其包括的步骤为步骤dl:如果当前时间在证书的有效期内,则执行下述步骤d2,否则执行下述步骤d4;步骤d2:验证pk(" - pk"V(,"')g)k")是否成立,如果成立则执行下述步骤 d3,否则执行下述步骤d4;步骤d3:计算<formula>formula see original document page 9</formula>,如果成立,则证书视为有效,否则执行下述步骤d4;步骤d4: -睑证用户实体的公钥证书为无效。与现有技术比较,本发明的有益效果在于,其将传统的PKI中CA集中生成 并管理用户实体证书的功能分散给各个用户实体,在一个可信第三方的帮助下, 用户实体产生自己的证书,同时来负责自己的证书的管理。自己管理自己的证 书可以避免传统PKI中CA的集中式管理所带来的一切弊端。同时,本发明所提 供的用户实体自产生证书的方法和系统适用于任意基于离散对数的公钥加密及 数字签名体制。


图1为现有的公钥证书产生系统的结构示意图;图2为本发明用户实体自产生公钥证书并管理公钥证书的系统的结构示意图;图3为本发明用户实体自产生公钥证书并管理公钥证书的方法的流程图。
具体实施方式
以下结合附图,对本发明上述的和另外的技术特征和优点作更详细的说明。 请参阅图2所示,其为本发明用户实体自产生公钥证书并管理公钥证书的 系统的结构示意图;其包括用户实体l; 一可信第三方4用以和用户实体1进 行数据交互,并生成部分私钥给所述的用户实体1, 一服务器5,用以存储所述 用户实体自己生成或更新的公钥证书,所述的服务器受到一资料库支持,其中, 可信第三方4对用户实体1提供认证服务,认证通过后,为用户实体l产生部 分私钥;可信第三方4对用户实体l认证通过后,通知服务器5为用户实体l开帐户, 向用户实体l提供ftp服务。用户实体l在自己的帐户上上载自己的公钥证书。系 统中所有的用户实体1在服务器5中有权利对自己的帐户实时进行数据的上载、 修改、维护等操作,但是对于其他用户实体的帐户,用户实体l只有下载数据的 权利,没有修改的权利。请参阅图3所示,其为本发明用户实体自产生公钥证书并管理公钥证书的 方法的流程图;其包括的步骤为步骤a:生成建立系统所需要的系统参数;步骤b:用户实体1与可信第三方4进行数据交互,所述的可信第三方4参 与生成所述用户实体1的部分私钥;步骤c:所述的用户实体1利用部分私钥生成或更新完整的^^钥和私钥以及 相应的公钥i正书;步骤d:服务器5利用用户实体1的公钥证书和系统参数,验证用户实体l 的7>钥证书的准确性。下面将具体进行相应的说明,其中,本发明用户实体自产生公钥证书并管 理公钥证书的方法中生成建立系统所需要的系统参数的流程包括的步骤为步骤al:根据安全参数X,选择一个大的素数p;步骤a2:选择阶为p的一个群G;步骤a3:随机地选取集合z/上的元素x;步骤a4:从所述的群G中随机选取一个不是单位元的元素g;步骤a5:在所述的群G上计算y-gX;步骤a6:选择一个哈希函数,记为H: {0, 1}'—Zp;步骤a7:输出公开参数param- (p, G, g, y)和主密钥x。为了使上述的本发明用户实体自产生公钥证书并管理公钥证书的方法中生 成建立系统所需要的系统参数的流程图,下面以ElGamal公钥加密体制为例, 其具体实施为选择一个至少X比特的大素数p;计算q-2p+l,如果q是素数,则执行下述步骤,否则执行步骤(al) 步骤(a2 ) 上述步骤(al ) 步骤(a3 ) 步骤(a4 ) 步骤(a5 ) 步骤(a6 ) 步骤(a7 )随机选取集合Zq^上的元素h,令g^h2mod q; 选择以g为生成元的阶为p的一个乘法群G; 随机地选取集合Zp'上的元素x,在群G上计算y=gxmod q; 选择一个哈希函数,记为H: {0, 1}*—Zp; 输出/>开参凄史卩3『3111= (p, q, G, H, g, y)和主密钥x。 对于可信第三方在整个系统中公开param。系统的用户实体1向可信第三方4提交注册请求,可信第三方4进行注册 时,验证用户实体l的身份,如果用户实体1的身份认证通过,所述的可信第三方4参与生成所述的用户实体1的部分私钥,否则其会拒绝服务。其中,对于本发明用户实体1自产生公钥证书并管理公钥证书的方法中用户实体l与可信第三方4进行数据交互,所述的可信第三方4参与生成所述的 用户实体1的部分私钥的 一较佳实施例的流程包括的步骤为步骤bl:用户实体1随机选取所述集合Zp'上的元素z;步骤b2:用户实体1在所述的群G上计算u-gz,所述的g为系统的一个 公开参数;步骤b3:所述的用户实体1向所述的可信第三方4发送u; 步骤b4:所述的可信第三方4收到所述的u后,输出部分私钥s和辅助验 证信息w;本步骤细化为步骤b41:随机选取所述集合Z/上的元素t; 步骤b42:计算辅助验证信息w =步骤b43:计算部分私钥s = t + xH(ID||uw),其中哈希函数是H公开的参数, ID是所述用户实体1的身份信息;步骤b5:所述的用户实体1验证来自于所述可信第三方4生成的部分私钥 s的合法性,如果合法则执行下述步骤b6,如果不合法执行bl;步骤b6:所述用户实体1的私钥为两部分,由所述用户实体1生成的部分 私钥为ski-z,由所述可信第三方4为所述的用户实体1生成的部分私钥为sk2 =s。其中对于本发明用户实体自产生公钥证书并管理公钥证书的方法中用户实 体利用部分私钥生成或更新完整的公钥和私钥以及相应的公钥证书的 一较佳实 施例的流程包括的步骤为步骤cl:所述的用户实体1获得系统参数param、部分私钥s、和sk2;步骤c2:所述的用户实体1随机地选取所述的集合Z/上的元素k;步骤c3:计算完整的私钥为sk-sk, + sk2 + k-z+s + k;步骤c4:计算中间量pk") =uw = gz+t; 步骤c5:计算中间量pk(2)=沐"V"(",'")^ =gz" + k;步骤c6:计算中间量pk巾=gk;步骤c7:随机选取所述的集合Z,上的元素r,并计算中间量pk"'- (R,5) 5本步骤细化为 步骤c71:计算R-gf;步骤c72:计算S = r + s/tg /(/£ P W0) P; A;(2) P; it(3) P"me Pva/,W,Xy Pi );步骤c8:用户实体的公钥为pk- (pk("llpk(2)llpk(3)llpk(4));步骤c9:用户实体的公钥证书为cert= (ID||pk||time||validity ) = (ID||pk(1) ||pk(2)i|pk(3)||pk(4) ||time||validity),其中time为证书生成时间,validity为证书 的有效期,H表示级联关系。所述用户实体1将自己的公钥证书cert上载到服务器5自己的账户上,其 中,对于本发明用户实体1自产生公钥证书并管理公钥证书的方法中利用用户 实体1的公钥证书和系统参数,验证用户实体1的公钥证书的准确性的流程包 括的步骤为步骤dl:如果当前时间在证书的有效期内,则执行下述步骤d2,否则执行 下述步骤d4;步骤d2:验证pk。' = pk('V,W')g)k")是否成立,如果成立则执行下述步骤 d3,否则执行下述步骤d4;步骤d3:计算gs= ^pk(2)则単"V'2'叫")胸一論,,如果成立,则证书视为有效,否则执行下述步骤d4;步骤d4:验证用户实体1的公钥证书为无效。在所述用户实体l公钥证书过期后,必须更新用户实体l自己的私钥及相应 的公钥证书,在更新时,需要再次调用上述的步骤b和步骤c得到新的完整私钥sk, 和新公钥证书cert.,将新的证书cert'上载到服务器5上。如果与所述的用户实体l公钥证书相应的私钥sk泄露了 ,为了取保用户实体 l的安全,须立即将公钥证书cert从服务器5中去除,同时所述的用户实体l再次 调用上述的步骤b和步骤c得到新的完整私钥sk,和新公钥证书cert.。将新的证书 cert.上载到服务器5上。对于上述的ElGamal加密体制,其中对应的ElGamal加密算法为假设用户 实体l利用ElGamal加密体制向用户实体l发送消息m,用户实体1从服务器5的公 钥资料库51下载用户实体l的公钥证书,在验证所迷的用户实体l公钥证书有效 的情况下,调用ElGamal加密算法进行加密,其算法如下随机地选取所述的集合Z/上的元素v,计算q = gv mod 9和<;2= pk(2)'m mod q,并令密文C- (cP c2);同时与ElGamal加密算法相对的ElGamal解密算法,其算法如下 用户实体l利用自己的私钥sk对密文C- (cP C2)进行解密m三cvc,mod《。 本发明提供了 一个新型的公钥基础设施(PKI)实施的方法,在本发明所提供 的新的PKI基础上,可以创建任何基于离散对数的公钥密码体制。只需要一个可 信第三方4协助用户实体l产生部分密钥,之后用户实体l可以自己整合私钥,并 产生自己的证书。之后用户实体1的私钥更新以及相应的7>钥〗正书的更新和维护 都只需要用户实体本人来完成。以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非 限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可 对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。
权利要求
1、一种用户实体自产生公钥证书并管理公钥证书的系统,其特征在于,其包括用户实体;一可信第三方用以和用户实体进行数据交互,并生成部分私钥给所述的用户实体;一服务器,用以存储所述用户实体自己生成或更新的公钥证书。
2、 根据权利要求1所述的用户实体自产生公钥证书并管理公钥证书的系统, 其特征在于,任何用户实体允许对所述的服务器进行访问,并查询公钥证书, {旦只允许^修改和更新自己的 〃>钥证书。
3、 一种用户实体自产生公钥证书并管理公钥证书的方法,其是通过上述的 用户实体自产生公钥证书并管理公钥证书的系统实现的,其特征在于,其包括的步骤为步骤a:生成建立系统所需要的系统参数;步骤b:用户实体与可信第三方进行秘密的数据交互,所述的可信第三方参 与生成所述用户实体的部分私钥;步骤c:所述的用户实体利用部分私钥生成或更新完整的公钥和私钥以及相 应的公钥证书;步骤d:通过服务器利用用户实体的公钥证书和系统参数,验证用户实体的 />钥证书的准确性。
4、 根据权利要求3所述的用户实体自产生公钥证书并管理公钥证书的方法, 其特征在于,所述的步骤a生成建立系统所需要的系统参数,其包括的步骤为步骤al:根据安全参数X,选择一个大的素数p;步骤a2:选择阶为p的一个群G;步骤a3:随机地选取集合z/上的元素x;步骤a4:从所述的群G中随机选取一个不是单位元的元素g;步骤a5:在所述的群G上计算y-gX;步骤a6:选择一个哈希函数,记为H: {0, 1}*—Zp;步骤a7:输出公开参数paran^ (p, G, g, y)和主密钥x。
5、 根据权利要求3所述的用户实体自产生公钥证书并管理公钥证书的方法,其特征在于,步骤b:用户实体与可信第三方进行秘密的数据交互,所述的可信第三方参与生成所述的用户实体的部分私钥,其包括的步骤为 步骤bl:用户实体随机选取所述集合Z/上的元素z;步骤b2:用户实体在所述的群G上计算u = gz,所述的g为系统的一个公开 参数;步骤b3:所述的用户实体向所述的可信第三方发送u;步骤b4:所述的可信第三方收到所述的u后,输出部分私钥s和辅助验证信 息w;步骤b5:所述的用户实体验证来自于所述可信第三方生成的部分私钥s的合 法性,如果合法则执行下述步骤b6,如果不合法执行bl;步骤b6:所述用户实体的私钥为两部分,由所述用户实体生成的部分私钥为 sk! -z,由所述可信第三方为所述的用户实体生成的部分私钥为sk2 = s。
6、 根据权利要求5所述的用户实体自产生公钥证书并管理公钥证书的方法, 其特征在于,步骤b4:所述的可信第三方收到所述的u后,输出部分私钥s和 辅助验证信息w;包括的步骤为步骤b41:随机选取所述集合Zp'上的元素t; 步骤b42:计算辅助验证信息w = gh步骤b43:计算部分私钥s = t + xH(ID||uw),其中哈希函数H是公开的参数, ID是所述用户实体的身份信息。
7、 根据权利要求3所述的用户实体自产生公钥证书并管理公钥证书的方法, 其特征在于,步骤c:用户实体利用部分私钥生成或更新完整的^^钥和私钥以及 相应的公钥证书,其包括的步骤为步骤cl:所述的用户实体获得系统参数param、部分私钥sh和sk2;步骤c2:所述的用户实体随机地选取所述的集合z/上的元素k;步骤c3:计算完整的私钥为sk-sk一sk2 + k-z+s + k;步骤c4:计算中间量pk(" =uw=gz+t;步骤c5:计算中间量pk(2)=沐"V""卿"')^ =g"s + k步骤c6:计算中间量pk③=gk;步骤c7:随机选取所述的集合Z/上的元素r,并计算中间量pk") = (R, S); 步骤c8:用户实体的公钥为pk- (pk("llpk(2)llpk(3)llpk(4));步骤c9:用户实体的公钥证书为cert= (ID||pk||time||validity ) = (ID||pk(" ||pk (2)||pk(3)i|pk(4)||time||validity),其中time为证书生成时间,validity为证书的 有效期,ii表示级联关系。
8、 根据权利要求7所述的用户实体自产生公钥证书并管理公钥证书的方法, 其特征在于,步骤c7:随机选取所述的集合Z/上的元素r,并计算中间量 pk(4)= (R, S);其包括的步骤为步骤c71:计算R-g"";步骤c72:计算5 = r + sAgf/(/D PPj^(2) P W(3) P"we Pva/W/> P及)。
9、 根据权利要求3所述的用户实体自产生公钥证书并管理公钥证书的方法, 其特征在于,步骤d:利用用户实体的公钥证书和系统参数,验证用户实体的公 钥证书的准确性,其包括的步骤为步骤dl:如果当前时间在证书的有效期内,则执行下述步骤d2,否则执行 下述步骤d4;步骤d2:验证pk'2) = pk('VH",'")g)k")是否成立,如果成立则执行下述步骤 d3,否则执行下述步骤d4;步骤d3:计算g匕7 ,pk(""(','、、n'一雄,,如果成立,则证书视为有效,否则执行下述步骤d4;步骤d4:验证用户实体的公钥证书为无效。
全文摘要
本发明为一种用户实体自产生公钥证书并管理公钥证书的系统和方法,其包括用户实体;一可信第三方用以和用户实体进行数据交互,并生成部分私钥给所述的用户实体;一服务器,用以存储所述用户实体自己生成或更新的公钥证书其中,任何用户实体允许对所述的服务器进行访问,并查询他人的公钥证书,但只允许修改和更新自己的公钥证书。
文档编号H04L9/08GK101257380SQ200810004198
公开日2008年9月3日 申请日期2008年1月29日 优先权日2007年12月5日
发明者刘胜利, 张庆胜, 赖俊祚, 郭宝安, 陈克非 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1