基于公钥基础设施的可重用公钥证书方案的制作方法

文档序号:10690800阅读:394来源:国知局
基于公钥基础设施的可重用公钥证书方案的制作方法
【专利摘要】本发明提供一种基于公钥基础设施的可重用公钥证书方案,该方案包括步骤:(1)申请者将用户主公钥和申请者的相关信息提交给认证机构,认证机构认证通过后发布由认证机构签名的用户主公钥证书;(2)申请者自行生成用于具体应用的应用用户公钥和应用公钥验证信息;(3)消息发送者对应用用户公钥的归属进行验证,若验证为申请者所有,则消息发送者利用应用用户公钥进行相关公钥密码运算;(4)申请者利用应用用户公钥对收到加密消息进行解密,或者是利用应用用户公钥对应的私钥进行数字签名。本发明的公钥密码系统使用非常方便,不仅安全程度高,而且还大大提高了公钥基础设施中证书签发者(CA)的工作效率。
【专利说明】
基于公钥基础设施的可重用公钥证书方案
技术领域
[0001] 本发明设及一种数字信息的传输领域,尤其是设及一种基于公钥基础设施的可重 用公钥证书方案。
【背景技术】
[0002] 公钥密码系统较对称密码系统最大的优势在于密钥分发不需使用安全信道。安全 通信中,用户只需选择接收方的公钥来对希望传送的消息进行加密,接收方用自己持有的 私钥就能解密得到明文消息。用户判断所选择的公钥是否归属目的消息接收方尤为重要; 如果存在恶意的攻击者,他能伪造合法用户公钥并拥有对应私钥;消息发送方如不能判断 公钥归属视伪造公钥为合法用户公钥,用伪造公钥加密给合法用户的秘密信息;攻击者就 能用对应私钥解密属于合法用户的秘密信息。因此,公钥密码系统中消息发送方对接收方 公钥真实性的验证极为重要。目前解决公钥认证问题的主要方法是采用证书认证,人们利 用公钥基础设施(Public Ifey Infrastructure,PKI)来处理公钥认证证书的管理问题。PKI 是公钥密码系统中信息安全技术的基石,也是电子政务和电子商务系统安全的关键技术之 〇
[0003] 现有的PKI通过认证中屯、CA(Ce;rtificate Authority)来签发用户公钥证书。用户 将自己的公钥提交给CA,并向CA证明自己的身份;在确认用户身份后,CA发布含有用户身份 信息、用户公钥W及其它相关信息(如证书有效期等)的CA签名证书;希望与用户进行安全 通信的参与者需要查找并验证CA签发的用户公钥证书,CA签名证书将确保公钥持有者身份 的真实性和有效性。随着公钥应用的逐步推广和普及,越来越多的用户利用公钥密码算法 来强化其应用的安全性。用户使用公钥可W分为两种情况:第一种情况中用户希望利用最 少的公私钥对来执行所有的公钥应用,由于现有PKI下加密应用的密钥可W托管,但数字签 名应用中要确保签名的不可否认性,用于签名的私钥不能托管,因此用户可W在其参与的 所有公钥应用中仅使用两对公私钥,一对用于所有的加密应用,另一对用于所有的数字签 名应用。运种情况下用户将需要两份公钥证书,公私钥管理较为便利,但对所有加密或签名 应用仅分别使用一对公私钥存在较大的安全风险,因为私钥使用越频繁其暴露的可能性 就越大,一旦私钥暴露,使用该对公私钥的所有应用都将存在巨大安全威胁;因此在第二种 情况中用户针对不同类别的应用使用不同的公私钥对,就像个人安全电子邮箱一样,私人 事务邮箱使用一对公私钥,对外业务邮箱使用一对公私钥,对内业务邮箱又是另一对公私 钥,等等。运样分应用、分类别的使用不同的公私钥对,有利于保护用户信息的安全,不会因 为某一对公私钥的暴露而威胁到同一用户其它应用的安全性;但由于不同的应用需要不同 的公私钥对,一个用户就将持有多个公私钥对,而其中的每一个公钥均需一份公钥证书来 认证其真实性和有效性,因此CA将签发和管理数量庞大的公钥证书,CA工作效率难W有效 提高;用户也将支付不少的公钥证书使用费。

【发明内容】

[0004] 本发明的目的在于:针对现有技术存在的问题,提供一种基于公钥基础设施的可 重用公钥证书方案,解决现有公钥密码系统使用不方便的问题。现有公钥密码系统使用不 方便具体指的是:用户针对不同类别的应用,若仅使用一、两对公私钥则会存在很大的安全 问题,若每个应用都使用一对公私钥,则会导致CA工作效率很低,且用户会支付大量使用 费。
[0005] 本发明的发明目的通过W下技术方案来实现:
[0006] -种基于公钥基础设施的可重用公钥证书方案,其特征在于,该方案包括步骤:
[0007] (1)申请者将用户主公钥和申请者的相关信息提交给认证机构,认证机构认证通 过后发布由认证机构签名的用户主公钥证书;
[0008] (2)申请者自行生成用于具体应用的应用用户公钥、应用用户私钥和应用公钥验 证信息;
[0009] (3)消息发送者对应用用户公钥的归属进行验证,若验证为申请者所有,则消息发 送者利用应用用户公钥进行相关公钥密码运算;
[0010] (4)申请者利用应用用户公钥对收到的加密消息进行解密,或者是利用应用用户 私钥进行数字签名。
[0011] 作为进一步的技术方案,在步骤(1)和步骤(2)之间还包括步骤:申请者验证用户 主公钥证书的有效性。
[0012] 作为进一步的技术方案,认证机构使用RSA签名算法:将RSA签名算法的公私钥定 义为作^:;^'与^);签名和验证算法定义为&^'";^"(),^6^々^。%,()冲请者的相关信息定义 为ID;用户主公钥证书的有效期定义为Tcert-iife;定义P和q为满足q I P-1的两个大素数,在Z;; 中选择阶为q的元g;定义抗碰撞的安全hash函数H(),H: {0,1 }* 一 Zq;定义II为级联运算符。 [OOU]申请者随机选择xEZq,计算用户主公钥为y = g-x(modp),将X作为生成用户应用公 钥验证信息的主私钥秘密保存,将用户主公钥y和申请者的相关信息ID提交给认证机构进 行认证,认证通过后发布用户主公钥证书Certc,二巧那wiJyil心。
[0014]作为进一步的技术方案,申请者自行生成用于具体应用的应用用户公钥、应用用 户私钥和应用公钥验证信息的步骤如下:
[001引(1)申请者随机选取XtEZq,计算.V, =g'''(modp),运里yt为应用用户公钥,xt为应用 用户私钥,申请者确定yt的有效期Tpk-iife;yt的有效期小于用户主公钥证书的有效期 Tcert-life ;
[001W (2)随机选取keZq,计算r = gk(modp);
[0017] (3)计算e = H(;r| |yt| |Tcert-iife);et = H(yt| |Tpk-iife);
[001 引(4)计算s = k+xtet+xe(modq);
[0019]申请者公布yt为应用用户公钥,r,s和Tpk-iife为验证信息;申请者保存xtEZq为应 用用户私钥;最后将ke Zp销毁。
[0020] 作为进一步的技术方案,消息发送者对应用用户公钥的归属进行验证的步骤如 下:
[0021] (1)计算e = H(;r| |yt| I Tcert-life),et = H(yt| |Tpk-iife);
[0022] (2)计算v = (,g ft,.将得出的y代入认证机构的证书验证算法验证:
[0023]
如能通过验证,则消息发送者信任应用用户 公钥yt和申请者的相关信息ID间的归属关系。
[0024] 作为进一步的技术方案,申请者验证用户主公钥切
的有效性的方法为:
[00巧]作为进一步的技术方案,IP I = 1024且I q I = 160。
[0026] 作为进一步的技术方案,消息发送者利用应用用户公钥进行相关公钥密码运算包 括但不限于对消息进行加密,对签名消息进行验证。
[0027] 与现有技术相比,本发明基于现有PKI体制,在公钥认证中屯、直接认证用户公钥的 单层结构基础上提出一个两层结构的可重用公钥证书方案:第一层由PKI的公钥认证中屯、 CA直接认证用户,第二层由获认证的用户对自己要使用的公钥进行认证,该方案的两层结 构将根本优化现有PKI的证书管理效率。首先,由CA直接签发的公钥证书数量将大为减少, 因为CA仅为每一个参与用户提供一份认证证书;其次,用户可W根据自己的公钥应用需求, 适时的、灵活的选择应用公钥,并由用户自己对其进行认证;用户部分的应用公钥失效不会 影响CA签发的用户认证证书的安全;最后,公钥验证者验证用户应用公钥正确性时,仍将利 用CA的相关信息和签发给用户的主公钥证书对要使用的应用公钥进行验证,也即消息发送 者对用户应用公钥正确性的信任机制和现有PKI系统是一致的,是基于对PKI下CA的信任 (对CA签发证书的信任)。可重用的用户主公钥证书方案可W确保合法的主公钥持有者能生 成应用所需的多个应用公私钥对,并得到主公钥证书的认证;应用公钥失效(私钥暴露)不 会威胁到未失效公钥的安全性,也不会影响主公钥证书的安全性。
[0028] 在运种新模式下CA直接签发的证书数量大大减少,运将有利于CA工作效率的提 高;同时用户能为自主选择的应用公钥提供认证,增加了用户公钥应用的便利。由一个用户 的多个应用公钥共享一份可重用数字证书能降低单个应用公钥的证书使用成本,有利于公 钥应用的进一步推广和普及。
【附图说明】
[0029] 图1为本发明的原理框图。
【具体实施方式】
[0030] 下面结合附图和具体实施例对本发明进行详细说明。
[0031] 实施例
[0032] 本发明基于现有PKI体制,在公钥认证中屯、直接认证用户公钥的单层结构基础上 提出一个两层结构的可重用公钥证书方案:第一层由PKI的公钥认证中屯、CA直接认证用户, 第二层由获认证的用户对自己要使用的公钥进行认证。
[0033] 本发明的具体思路为:为获得CA签发的用户认证证书,申请者将生成的一个用户 主公钥与申请者身份等相关信息一起提交给PKI下认证机构CA;CA在验证用户身份等信息 后将发布含有用户身份信息、用户主公钥W及其它相关信息(主公钥证书有效期等)的CA签 名用户主公钥证书,运一主公钥证书将被视为是CA中屯、对用户的认证;获得主公钥证书后 用户将自行生成用于具体应用的应用用户公钥(简称:应用公钥),用户可同时生成多个也 可根据需要适时生成应用公钥并发布;对用户自行生成的应用公钥的验证将通过CA签发的 用户主公钥证书来实现。
[0034] W下为列举的一个可重用公钥证书算法实现实例:
[0035] 1、可重用公钥证书的初始化
[0036] 与现有PKI用户公钥认证中屯、CA发布CA中屯、的证书验证钥相同,在可重用公钥证 书方案中仍由CA发布用户可重用证书验证钥(主公钥证书验证钥),比如,CA使用RSA签名算 法,公布RSA的验证钥作为可重用数字证书的证书验证钥(此处RSA签名算法做证书签名算 法,在应用中可由任意安全数字签名算法替换)。用户在主公钥生成、主公钥证书获取、生成 用户应用公钥的过程中将用到如下的密码学函数和相关参数:
[0037] (l)RSA签名算法的公私钥定义为,筵名和验证算法定义为
[0038] (2)用户U的身份相关信息ID,
[0039] (3)可重用公钥证书有效期Tcert-life,用户应用公钥有效期Tpk-life,
[0040] (4)p和q为满足q|p-l的两个大素数;推荐|口|=1024且|9|=160。在^;;中选择阶为 q的元g,
[0041 ] (5)抗碰撞的安全hash函数Η?Η: {0,!}*一Zq,
[0042] (6) II为级联运算符。
[0043] 2、签发可重用公钥证书
[0044] 用户U为获得可重用公钥证书,随机选择xeZq,计算用户主公钥为y = g-x(mcxlp), 将X作为生成用户应用公钥验证信息的主私钥秘密保存;将主公钥y和用户身份相关信息ID 发送给CA,CA对用户身份的合法性进行验证,并对合法用户签发其主公钥y的证书,其中包 含可重用证书有效期等相关信息:
[0045]
[0046] 3、用户应用公私钥生成
[0047] 用户在获得主公钥y的证书Cert。=姆'"wm, 0' μο II 賊)后,先验证它的正确性:
[004引
[0049] 如验证通过,用户保留主公钥y的证书,并按如下方法生成用户应用公钥:
[0050] 1)随机选取xteZq,计算=各气modp),运里yt为用户U的应用公钥,xt为对应私 钥,用户根据应用和安全需要确定yt的有效期Tpk-life;其有效期应小于主公钥证书有效期 Tcert-life ;
[00引]2)随机选取keZq,计算r=gk(modp);
[0052] 3)计算e = H(;r| |yt| I Tcert-life) ;et = H(yt| |Tpk-iife);
[0化3] 4)计算s = k+xtet+xe(modq);
[0054] 用户公布yt为应用公钥,r,s和Tpk-iife为验证信息;安全保存xteZq作为公钥yt的对 应私钥;最后将k e Zp秘密销毁。
[0055] 合法的主公钥持有者U可W利用用户主私钥X生成相互独立的用户应用公钥验证 信息,如:U能随机独立选取xt' £2。计算.兴.'=各\确定Tpk-life' ;随机选取k' eZp,计算r' = gk,e ' = H(r ' I I yt ' I I Tcert-iife'),et' =H(yt' I I Tpk-iife')和s ' = k'+xt'et'+xe '(modq);公布 应用公钥为yt',秘密销毁k',验证信息为r',s'和Tpk-iife'。运里应用公钥yt与yt'相互独立, 但它们都能共享同一份公钥验证证书Ce巧-4=&'3?化&。0>11^〇1巧1?-龄\同理,1]还能适时生 成更多相互独立的但共享同一份主公钥证书的用户应用公钥W满足不同的保密通信应用 需求。
[0056] 在上面的方案描述中用户主公钥y和对应的主私钥X并不直接用于具体的保密通 信安全算法(比如加密,数字签名等),它们只用于生成具体应用所需的用户应用公私钥< yt,xt>的验证信息。运样的设计既保证了 CA只针对用户(主公钥)签发证书(而不是用户具 体应用所需的应用公钥),同时能有效减少用户主私钥暴露的可能性,延长主公钥证书使 用时间,我们将在方案性能分析中详细说明运一点。
[0057] 4、用户可重用数字证书验证
[005引可重用数字证书验证的目的是允许消息发送者V验证用户应用公钥yt与用户U的 从属关系,W确定yt是否为用户U所有。要实现用户应用公钥归属的验证,消息发送者V需要 对用户应用公钥yt,主公钥证书CedGA、验证信息r,S和Tpk-iife进行如下验证计算:
[0059] l)e = H(;r| |yt| |Tcert-iife),et = H(yt| |Tpk-iife),
[0060] 2).y = (占' Vy;T,
[0061] 将得出的y代入CA证书验证算法验证:
[0062]
[0063] 如能通过验证,消息发送者V信任公钥yt和用户身份ID间的归属关系。
[0064] 正确性:因为s = k+xtet+xe(modq),有
[0068] 由上述可重用证书方案验证过程可知,消息发送者V对用户应用公钥的信任机制 与现有证书方案是一致的,均是基于对CA签发的主公钥证书CedGA真实性的信任。因此合法 的主公钥证书持有者U总能利用上述方法生成合法的公钥yt并通过用户V的验证。
[0069] 本发明的重要创新设计结构是:可重用数字证书方案改变了现有PKI下由CA直接 给每一个用户的每一个公钥签发证书的模式,变为CA仅为每一个需要公钥应用的用户签发 证书,再由用户自己向需要的应用公钥进行认证。
[0070] 由此每一个用户无论使用多少公钥应用(需要任意数量的公钥-私钥对),都将只 向PKI申请一份主公钥数字证书。在该主公钥数字证书的认证下,根据上述我们的发明方案 (签发可重用公钥证书,用户应用公私钥生成)结构用户将自行生成实际安全应用所需的应 用公钥-私钥对。
[0071] 应用公钥的验证者将按照现有PKI系统信任链模式:由于信任用户应用公钥对应 主公钥数字证书的签发者而信任用户的应用公钥;运将由用户可重用数字证书验证模块保 证。
[0072] 本发明的核屯、是提出了一种全新的公钥数字证书管理方案,改变了现有ΡΚΙ下由 CA直接给每一个用户的每一个公钥签发证书的模式,变为CA仅为每一个需要公钥应用的用 户签发证书,再由用户自己向需要的应用公钥进行认证。将目前由证书系统直接向用户公 钥签发证书的单层结构变为系统仅直接认证用户,再由用户对要使用的公钥进行认证的双 层结构。使ΡΚΙ中证书管理的部分权限下放给具体的证书持有者,此时的用户(证书持有者) 就像一个微型的Self-PKI,他能在可重用证书系统相关组件的支持下自行管理自己所有的 应用公钥,用户能利用可重用数字证书生成不同公钥应用所需的应用公-私钥对,而运些应 用公-私钥对均能被同一份可重用数字证书所认证,因此任意用户将只需要持有一份可重 用公钥数字证书。新方案实现一个用户只向PKI申请一份主公钥证书;合法用户在主公钥证 书的授权下能自由、实时的生成多对应用公-私钥;一份用户主公钥证书能对用户多个应用 公钥进行认证;验证者能利用用户主公钥证书验证用户生成的所有应用公钥。
[0073] W上所述仅为本发明的较佳实施例而已,并不用W限制本发明,应当指出的是,凡 在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保 护范围之内。
【主权项】
1. 一种基于公钥基础设施的可重用公钥证书方案,其特征在于,该方案包括步骤: (1) 申请者将用户主公钥和申请者的相关信息提交给认证机构,认证机构认证通过后 发布由认证机构签名的用户主公钥证书; (2) 申请者自行生成用于具体应用的应用用户公钥、应用用户私钥和应用公钥验证信 息; (3) 消息发送者对应用用户公钥的归属进行验证,若验证为申请者所有,则消息发送者 利用应用用户公钥进行相关公钥密码运算; (4) 申请者利用应用用户公钥对收到的加密消息进行解密,或者是利用应用用户私钥 进行数字签名。2. 根据权利要求1所述的一种基于公钥基础设施的可重用公钥证书方案,其特征在于, 在步骤(1)和步骤(2)之间还包括步骤:申请者验证用户主公钥证书的有效性。3. 根据权利要求1所述的一种基于公钥基础设施的可重用公钥证书方案,其特征在于, 认证机构使用RSA签名算法:将RSA签名算法的公私钥定义为签名和验证算 法定义为57奶/^(),{%诉^,();申请者的相关信息定义为1〇;用户主公钥证书的有效期定 义为定义p和q为满足q |p-l的两个大素数,在4中选择阶为q的元g;定义抗碰撞的 安全1^吐函数!1〇,!1:{0,1}%2(1;定义||为级联运算符。 申请者随机选择xezq,计算用户主公钥为y = gi(modp),将X作为生成用户应用公钥验 证信息的主私钥秘密保存,将用户主公钥y和申请者的相关信息ID提交给认证机构进行认 证,认证通过后发布用户主公钥证书4. 根据权利要求3所述的一种基于公钥基础设施的可重用公钥证书方案,其特征在于, 申请者自行生成用于具体应用的应用用户公钥、应用用户私钥和应用公钥验证信息的步 骤如下: ⑴申请者随机选取xtezq,计算>',=gMm〇d尸),这里yt为应用用户公钥, Xt为应用用户 私钥,申请者确定yt的有效期Tpk-llfe;yt的有效期小于用户主公钥证书的有效期Tc^ t-llfe; (2) 随机选取keZq,计算r = gk(modp); (3) 计算e = H(r| |yt| |Tcert-iife);et = H(yt| |TPk-life); ⑷计算s = k+xtet+xe(modq); 申请者公布yt为应用用户公钥,r,s和Tpk-iife为验证信息;申请者保存xt e Zq为应用用户 私钥;最后将k G ZP销毁。5. 根据权利要求3所述的一种基于公钥基础设施的可重用公钥证书方案,其特征在于, 消息发送者对应用用户公钥的归属进行验证的步骤如下: ⑴计算 e = H(r| |yt| |Tcert-life),et = H(yt| |Tpk-life); (2)计算j· = (g ,将得出的y代入认证机构的证书验证算法验证: 彳)三(少II仍II 如能通过验证,则消息发送者信任应用用户公钥yt 和申请者的相关信息ID间的归属关系。6. 根据权利要求3所述的一种基于公钥基础设施的可重用公钥证书方案,其特征在于, 申请者验证用户主公钥证书();IIω的有效性的方法为: Veri^PK^t (Ce/Y?) = (>?Ι ^ II Tccrr-I,fc)-7. 根据权利要求3所述的一种基于公钥基础设施的可重用公钥证书方案,其特征在于, |p| =1024且 |q| =160。8. 根据权利要求1所述的一种基于公钥基础设施的可重用公钥证书方案,其特征在于, 消息发送者利用应用用户公钥进行相关公钥密码运算包括但不限于对消息进行加密,对签 名消息进行验证。
【文档编号】H04L9/08GK106059747SQ201610648851
【公开日】2016年10月26日
【申请日】2016年8月9日 公开号201610648851.6, CN 106059747 A, CN 106059747A, CN 201610648851, CN-A-106059747, CN106059747 A, CN106059747A, CN201610648851, CN201610648851.6
【发明人】康立
【申请人】成都蓝海贝信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1