一种支持数字签名密钥专属控制的认证系统实现方法

文档序号:7662507阅读:654来源:国知局
专利名称:一种支持数字签名密钥专属控制的认证系统实现方法
技术领域
本发明涉及信息安全技术领域,特别涉及一种基于组合公钥(CPK)的支持数字签名私钥专属控制的认证系统实现方法。
背景技术
随着网络和信息技术逐渐进入人们的生产与生活,保护信息的真实性、安全性、 负责性(不可抵赖性)已经成为政府和社会共同关心的问题,解决上述问题,需要认证系统提供支撑。围绕认证系统的构建,现已形成两大技术体系,一是基于传统公钥密码的证书认证,如公钥基础设施(PKI)认证系统,二是基于标识公钥密码的标识认证,如组合公钥 (CPK)认证系统。两种认证体系虽然机理不同,但都需解决同一个问题,即按照相关法律(如数字签名法)规定,为了保证签名数据的负责性(不可抵赖性),签名私钥(电子签名制作数据),应由签名人本人控制。为此,PKI体制提供了两种模式一是签名密钥由用户自己生成,二是由认证中心 (CA)协助生成。按照第一种模式,其过程如下
A)用户按照认证系统所规定的方法,自行选择密钥生成方法生成公私密钥对,将私钥自行保存,并向CA提交自己的公钥和身份证明;
B)CA对用户进行身份认证,对密钥的强度和持有者进行审查。审核通过后,CA用其根密钥对用户提交的公钥作数字签名,将其生成公钥证书,然后通过面对面、信函或电子方式将公钥证书安全地发放给用户;
C)CA将用户的公钥证书发布到相应的目录服务器。采用第二种模式时,其过程如下
a)用户到CA中心生产并获得密钥对;
b)CA在完成密钥生产后应自动销毁本地的用户密钥对拷贝;
c)用户取得密钥对后,保存好自己的私钥,并将公钥送至CA;
d)CA用其根密钥对用户提交的公钥作数字签名,将其生成公钥证书,然后通过安全方式将公钥证书发放给用户;
e)CA将用户的公钥证书发布到相应的目录服务器供查询、下载。上述方法看似严谨,但实际存在两个关键性问题其一,尽管表面上签名私钥及密钥生成过程由用户掌握,但真正起信任保证作用的是CA用其根密钥对公钥证书所作的数字签名。因此,CA完全有能力用自己生成的公钥证书替换用户的公钥证书在目录服务器上发布,从而以假代真。其二,上述密钥生成方式相当繁琐和复杂,普通用户难以操作实施,因此,现实中绝大多数用户密钥生成是由CA —手操办,用户的权利并没有可靠的保障。除此之外,单向密钥交换(即静态密钥交换)和密钥恢复一直是PKI认证系统难以克服的难题。在双向通信条件下,用户可以将公钥证书直接通过信息交互发送给对方,但在单向应用环境下(如加密电子邮件),必须首先获得对方的公钥。为此,PKI认证系统设计了证书库,供用户查询、下载公钥证书。为了防止因用户密钥丢失造成数据不能恢复,还需要有专门的私钥备份系统,用于私钥的备份与恢复。而这样一来,就需要提供两组密钥(包括私钥及公钥证书),一个用于数字签名,私钥由用户自己掌握;另外一个用于密钥交换,私钥在CA备份以便于密钥恢复。基于CPK体制的标识认证系统解决了基于标识的密钥生成和管理这一世界性难题,数字签名认证和密钥交换过程不需要CA和在线数据库支持,体系结构大大简化。但是, 该系统目前是以密钥管理中心(KMC)为信任根,KMC通过其掌握的种子私钥,可以计算出所有用户的私钥,不能满足相关法律所要求的数字签名密钥由用户本人控制的要求。

发明内容
有鉴于此,本发明的目的是提供一种基于CPK体制的认证系统实现方法,通过由用户启动密钥装置,自动生成用于数字签名的复合私钥,达到数字密钥由签名人本人专署控制的目的。同时,通过由KMC另外生成用于密钥交换的标识私钥,实现了基于标识的单、 双向密钥交换,并极大地简化了用户私钥备份环节(KMC只需保存种子私钥即可随时恢复用户密钥),在增强安全性的同时大大降低了系统管理使用成本。本发明提供的一种基于组合公钥的支持数字签名密钥专属控制的认证系统实现方法,包括以下步骤
步骤a.构建由多个密钥段构成的种子密钥,含种子公钥seedPK和种子私钥seedsk ; 步骤b.密钥管理中心KMC利用用户标识通过种子私钥seedsk生成用户标识私钥isk 并写入密钥装置;
步骤c.密钥装置在首次使用时启动初始化程序自动生成用于数字签名的复合私钥 csk和经用户标识私钥isk签名的随机公钥aPKSK ;
步骤d.将复合私钥csk和随机公钥aPKsre写入密钥装置的安全存储区内,并销毁用户标识私钥isk及过程数据。进一步地,步骤a所述种子私钥seedsk为利用随机数发生器生成的随机序列,种子公钥seedPK由种子私钥seedsk经椭圆曲线群标量乘法运算生成。进一步地,步骤a所述种子密钥由一个主密钥段和至少一个分密钥段构成。优选的,种子密钥采用集中生成或者分段生成方式;所述集中生成指一次性生成所需长度的种子密钥序列,而后将其逻辑分割成多个种子密钥段;所述分段生成是先生成独立的密钥段,而后再将其集合成种子密钥。进一步地,步骤b密钥管理中心KMC以用户标识为hash函数的输入,计算出该标识的hash值H_ID,并以H_ID构建选取数列,从种子私钥seedsk选取并经模加运算生成用户标识私钥isk,并将其写入密钥装置的安全存储区,提供给拥有该标识的用户。优选的,所述选取数列分为若干段,首先用整个数列对种子私钥seedsk的主密钥段进行选取,然后用任一固定数列段依次对各分密钥段进行选取,并将选取结果进行模加生成用户标识私钥isk。进一步地,所述步骤c密钥装置在首次使用时启动初始化程序自动生成用于数字签名的复合私钥CSk和经用户标识私钥isk签名的随机公钥aPKsre,包括
1)利用随机数发生器生成一段随机序列作为随机私钥ask,并通过椭圆曲线群标量乘法运算生成与之相对应的随机公钥aPK ;2)将随机私钥ask与用户标识私钥isk通过模加生成复合私钥csk;
3)用用户标识私钥isk对随机公钥aPK作数字签名生成数字签名后的随机公钥aPKsre 作为一种优选实施方式,进一步地,还包括步骤e,用复合私钥csk生成标准数字签名
数据,提交第三方备案公证。作为另一种优选实施方式,进一步地,还包括步骤f,密钥管理中心KMC利用用户标识通过另外一个种子私钥seedsk2生成标识私钥isk2,并写入同一密钥装置,用于单向密钥交换、密钥托管及恢复。进一步地,公布种子公钥seecPK和种子公钥seedPK2,用于计算数字签名的复合公钥Cl3K和用于密钥交换的标识公钥iPK2 ;所述种子公钥seedPK2由种子私钥seedsk2经椭圆曲线群标量乘法运算生成。作为另一种优选实施方式,进一步地,将种子公钥seecPK及种子公钥seedPK2写入芯片的安全存储区内以满足特定需求,如单芯片解决方案、特定安全性要求等。本发明通过提供由用于数字签名的复合私钥,在充分保证、增强认证系统各项功能的同时,真正实现由用户自行生产、控制数字签名密钥,从而满足相关法律有关电子签名制作数据为签名人专有并由本人控制的规定要求,进一步地,通过另外一个种子私钥生成标识私钥,并写入同一密钥装置,用于单向密钥交换、密钥托管及恢复,彻底解决了 PKI认证系统一直难以解决的单向密钥交换以及密钥托管、恢复难题,本发明方案简单、适用范围广、操作使用便捷。


图1为本发明数字密钥专属控制方法优选实施例流程图; 图2为本发明种子密钥选取模式示意图3为本发明复合公钥计算过程其中,Σ++表示椭圆曲线群标量乘法运算,Σ +表示模η整数运算,.G表示椭圆曲线群标量乘法,□表示秘密部分,口表示公开部分,Sig表示数字签名操作。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明做进一步详细说明。1、构建种子密钥和种子公钥集
种子密钥是CPK体制用于计算标识密钥的计算基,由种子公钥seedPK和种子私钥 seedsk构成,其中,种子私钥seedsk由密钥管理中心KMC秘密保管,用于生成用户标识私钥isk ;种子公钥seecPK可以公开,用于计算用户的标识公钥iPK。本发明中所指的种子公钥集由2个种子公钥集合而成,其中一个用于计算数字签名公钥cPK,另一个用于密钥交换的标识公钥的计算。用于数字签名和验证的密钥和用于密钥交换的密钥由不同的种子密钥对生成,是出于防止替换攻击的考虑。为了增强CPK体制抵御破译攻击的能力,本方法基于线性变换原理,将种子密钥分割成多个密钥段。实施步骤包括A、密钥管理中心KMC定义种子密钥(包括种子私钥seedsk和种子公钥seedPK)的格式及构建方式,如密钥段长度(长度与抗攻击能力呈正比)数量(2 — N个,其中包括一个主密钥段和至少一个分密钥段)。B、规定选取模式,首先用整个选取序列对主密钥段进行选取,而后用从H_ID选取序列中指定一固定数列段依次对各密钥段进行选取,最后对所选取的数值进行模加,得出用户标识私钥isk,如图2所示;所述选取数列由H_ID构建,所述H_ID为密钥管理中心KMC 以用户标识为hash函数的输入,计算出该标识的hash值。优选的,为保证种子密钥生成质量(随机性),密钥管理中心KMC利用随机数发生器生成随机序列作为种子私钥seedsk,并通过椭圆曲线群标量乘法计算得出与之相对应的种子公钥seedPK。优选的,种子密钥生成方式可以采取集中生成或分段生成两种方式。集中生成指一次性生成所需长度的种子密钥序列,而后将其逻辑分割成多个种子密钥段。分段生成则是先生成独立的密钥段,再将其集合成种子密钥,二者效果相同,而以集中生成较为简便。2、复合私钥生成
复合私钥(csk)由标识私钥和随机私钥两部分复合而成,主要用于数字签名,也可以支持双向密钥交换,由密钥装置一次性自动生成。如图1所示,具体步骤如下
A、密钥管理中心KMC利用用户标识通过种子私钥seedsk生成用户标识私钥isk,将其写入密钥装置并分发给用户。优选的,如有单向密钥交换需求,密钥管理中心KMC需要用两个不同的种子私钥, 表示为seedsk和seedsk2,并分别生成两个标识私钥isk和isk2 ;其中isk用于生成复合私钥csk,isk2直接用于密钥交换,并将其分别写入同一密钥装置发放给用户。采用不同种子密钥分别生成isk和isk2,主要出于防止替换攻击的考虑。所述密钥装置主要用于保护用户私钥,其硬件核心是一片安全芯片,可封装成 USB-key、IC卡、TF卡等多种形态。芯片内除微处理器、存储器、随机数发生器等通用物理器件外,还包括专用芯片操作系统(COS)以及支持数字签名和密钥交换的各种算法和协议。 本发明所涉及的复合私钥生成操作,主要在密钥装置内通过预先设定的初始化程序自动完成。B、首次使用密钥装置时,系统将自行启动初始化程序,自动生成用于数字签名的复合私钥csk。具体过程如下
1)启动安全芯片内的随机数发生器生成一段特定长度的随机序列作为随机私钥ask, 缓存备用;
2)用随机私钥ask通过椭圆曲线群标量乘法计算出与随机私钥ask相对应的随机公钥 aPK,缓存备用;
3)将用户标识私钥isk与随机私钥ask通过模加生成复合私钥csk;
4)用用户标识私钥isk对随机公钥WK作数字签名,并将数字签名后的随机公钥 aPKSIG存入芯片的安全存储区;
5)将复合私钥csk写入芯片的安全存储区;
6)销毁缓存区内的用户标识私钥isk;
7)销毁缓存区内的随机私钥ask和随机公钥aPK;至此,复合私钥生成过程结束。此时,芯片安全区内只有用于数字签名的复合私钥csk 和用于复合公钥CH(计算的数字签名后的随机公钥aPKSK,如要支持单向密钥交换,还包括标识私钥isk2。作为一种优选方式,为了防止密钥管理中心KMC因工作疏忽造成重复生产或伪造用户的数字签名密钥,本发明特增加了第三方备案、举证环节,包括
A、KMC和用户共同认定某一具有公信力的机构作为用户数字签名证据样品保存、鉴别和仲裁机构;
B、用户完成密钥设备初始化后,应在规定期限内用复合私钥csk对规定数据进行数字签名,并将生成的签名信息提交该机构进行存档备案;
C、一旦出现纠纷,用户可将相关证据数据提交该仲裁机构进行鉴别。3、复合公钥计算
在CPK体制中,标识公钥WK是利用用户标识通过对外公布的种子公钥seecPK计算获得,而复合公钥cH(是标识公钥WK与签名方随签名数据提供的数字签名后的随机公钥 aPKSIG复合而成,由于计算过程即为证明过程,因此不需要在线证书库的支持。如图3所示, 具体步骤如下
1)iH(计算利用hash函数(散列函数)对标识ID计算出H_ID,&H_ID构建选取数列,从种子公钥seedPK (由种子私钥seedsk经椭圆曲线群标量乘法计算生成)选取并经椭圆曲线群标量乘法运算生成标识公钥iPK ;
2)用标识公钥WK验证对方提供的aPKsre的数字签名;
3)如果验证通过则将标识公钥WK与数字签名后的随机公钥aPKsre相复合,生成复合公钥Cl3K。鉴于复合私钥csk难以支持单向密钥交换,本发明规定由密钥管理中心KMC用独立的种子私钥seedsk2生成另外一个标识私钥isk2,并与复合私钥csk和数字签名后的随机公钥aPKsre—并写入密钥装置。用户可以用对方的用户标识与公布的种子公钥seedPK2 直接计算出与之对应的标识公钥iPK2用于密钥交换。isk2除可用于单向密钥交换外,也能更简捷地支持双向密钥交换,以及数字签名(电子签名制作数据无需签名人控制的应用环境)。该方法的另一大好处是大大简化了用户密钥托管及恢复工作。密钥管理中心KMC只需要保存用于生成用户标识私钥的seedsk2,无需逐一备份用户私钥。当用户标识私钥丢失需要恢复时,只需用标识ID和seedsk2即可计算出该用户的标识私钥isk2,从而极大地减轻了密钥管理中心KMC的负担。本发明所举实施方式或者实施例对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施方式或者实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种支持数字签名密钥专属控制的认证系统实现方法,其特征在于,包括步骤a.构建由多个密钥段构成的种子密钥,含种子公钥seedPK和种子私钥seedsk ;步骤b.密钥管理中心KMC利用用户标识通过种子私钥seedsk生成用户标识私钥isk 并写入密钥装置;步骤c.密钥装置在首次使用时启动初始化程序自动生成用于数字签名的复合私钥 csk和经用户标识私钥isk数字签名后的随机公钥aPKSK ;步骤d.将复合私钥csk和数字签名后的随机公钥aPKsre写入密钥装置的安全存储区内,并销毁用户标识私钥isk及过程数据。
2.根据权利要求1所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,步骤a所述种子私钥seedsk为利用随机数发生器生成的随机序列,种子公钥seedPK由种子私钥seedsk经椭圆曲线群标量乘法运算生成。
3.根据权利要求1或2所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,步骤a所述种子密钥由一个主密钥段和至少一个分密钥段构成。
4.根据权利要求3所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,步骤a所述种子密钥采用集中生成或者分段生成方式;所述集中生成指一次性生成所需长度的种子密钥序列,而后将其逻辑分割成多个种子密钥段;所述分段生成是先生成独立的密钥段,而后再将其集合成种子密钥。
5.根据权利要求1所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,步骤b密钥管理中心KMC以用户标识为hash函数的输入,计算出该标识的1^吐值110, 并以H_ID构建选取数列,从种子私钥seedsk选取并经模加运算生成用户标识私钥isk。
6.根据权利要求5所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,所述选取数列分为若干段,首先用整个数列对种子私钥seedsk的主密钥段进行选取, 然后用任一固定数列段依次对各分密钥段进行选取,并将选取结果进行模加生成用户标识禾A钥isk。
7.根据权利要求1所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,所述步骤c密钥装置在首次使用时启动初始化程序自动生成用于数字签名的复合私钥 CSk和经用户标识私钥isk签名后的随机公钥aPKSK,包括1)利用随机数发生器生成一段随机序列作为随机私钥ask,并通过椭圆曲线群标量乘法运算生成与之相对应的随机公钥aPK ;2)将随机私钥ask与用户标识私钥isk通过模加生成复合私钥csk;3)用用户标识私钥isk对随机公钥WK作数字签名生成数字签名后的随机公钥aPKsre。
8.根据权利要求1所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,还包括步骤e,用复合私钥csk生成标准数字签名数据,提交第三方备案公证。
9.根据权利要求1或8所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,还包括步骤f,密钥管理中心KMC利用用户标识通过另外一个种子私钥seedsk2生成标识私钥isk2,并写入同一密钥装置,用于单向密钥交换、密钥托管及恢复。
10.根据权利要求9所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,公布种子公钥seecPK和种子公钥seedPK2,用于计算数字签名的复合公钥和用于密钥交换的标识公钥iPK2 ;所述种子公钥seedPK2由种子私钥seedsk2经椭圆曲线群标量乘法运算生成。
11.根据权利要求9所述支持数字签名密钥专属控制的认证系统实现方法,其特征在于,将种子公钥seedPK及种子公钥seedPK2写入芯片的安全存储区内。
全文摘要
本发明涉及信息安全技术领域,特别涉及一种基于组合公钥的支持数字签名密钥专属控制的认证系统,构建由多个密钥段构成的种子密钥,含种子公钥和种子私钥;密钥管理中心利用用户标识通过种子私钥生成用户标识私钥并写入密钥装置;密钥装置在首次使用时启动初始化程序自动生成用于数字签名的复合私钥和经用户标识私钥数字签名后的随机公钥;将复合私钥和数字签名后的随机公钥写入密钥装置的安全存储区内,并销毁用户标识私钥及过程数据;实现由用户自行生产、控制数字签名密钥,满足了相关法律的规定,进一步通过第三方备案环节,保证用户对数字签名密钥的专署控制,并通过提供用于密钥交换的标识密钥,实现单向密钥交换、密钥托管及恢复。
文档编号H04L9/32GK102170356SQ20111011976
公开日2011年8月31日 申请日期2011年5月10日 优先权日2011年5月10日
发明者赵建国 申请人:北京联合智华微电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1