CN104168114A - 一种分布式的基于(k,n)门限证书加密方法及系统 - Google Patents

一种分布式的基于(k,n)门限证书加密方法及系统 Download PDF

Info

Publication number
CN104168114A
CN104168114A CN201410387870.9A CN201410387870A CN104168114A CN 104168114 A CN104168114 A CN 104168114A CN 201410387870 A CN201410387870 A CN 201410387870A CN 104168114 A CN104168114 A CN 104168114A
Authority
CN
China
Prior art keywords
certificate
user
share
cert
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410387870.9A
Other languages
English (en)
Inventor
陆阳
张全领
李继国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hohai University HHU
Original Assignee
Hohai University HHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hohai University HHU filed Critical Hohai University HHU
Priority to CN201410387870.9A priority Critical patent/CN104168114A/zh
Publication of CN104168114A publication Critical patent/CN104168114A/zh
Pending legal-status Critical Current

Links

Abstract

本发明公开了一种分布式的基于(k,n)门限证书加密方法及系统,将秘密共享技术和基于证书加密相结合,所述方法包括生成系统参数、生成用户公钥和私钥、生成用户证书份额、验证用户证书份额有效性、合成用户证书、对消息加密和恢复消息的步骤,所述系统包括系统参数生成模块、用户密钥生成模块、证书份额生成模块、证书份额验证模块、证书合成模块、加密模块和解密模块。本发明所述技术方案大大增强了密码系统抵抗主密钥泄露、拒绝服务攻击及证书服务器故障的能力,有效克服了已有基于证书加密方法的缺点。

Description

一种分布式的基于(k,n)门限证书加密方法及系统
技术领域
本发明涉及信息安全中的数据加密技术领域,尤其涉及一种分布式的基于(k,n)门限证书加密方法及系统。
背景技术
Diffie和Hellman在1976年提出了公钥密码体制(Public Key Cryptography)的概念。在公钥密码体制中,每个用户拥有公钥和私钥两个不同的密钥,其中公钥可以公开,用于加密或验证签名;而私钥则需要保密,用于解密或签名。公钥密码体制的提出对公开网络上的保密通信、密钥分配、数字签名和认证带来了深远影响,在保障信息安全方面起到了极其重要的作用。
基于证书密码体制(Certificate-Based Cryptography)是Gentry在2003年所提出的一种新型公钥密码体制,该体制有机结合了基于身份密码体制和传统公钥密码体制的优点,并有效克服了这两种密码体制中存在的固有缺陷。类似于传统公钥密码体制,基于证书密码体制也需要可信的证书授权中心(Certificate Authority,CA)为用户生成公钥证书,但该体制提供了一种高效的隐证书机制,即用户证书仅发送给证书持有人,并与其自行生成的私钥相组合产生最终的解密密钥或签名密钥。基于该机制,基于证书密码体制不仅消除了传统公钥密码体制中证书状态的第三方查询问题,简化了复杂的证书管理过程,而且克服了基于身份密码体制中固有的密钥分发问题和密钥托管问题。因此,基于证书密码体制是一种性能优良,便于开放网络环境中应用的新型公钥密钥体制。
然而,在已有的基于证书密码系统中,仅有唯一的证书服务器持有系统主密钥并独立完成对用户的认证、证书的签发和撤消等任务。这种集中式的工作方式在实际应用中可能会带来如下安全的问题:
(1)抵抗拒绝服务攻击和证书服务器故障的能力弱。由于整个系统仅有唯一的证书服务器完成对用户的认证、证书的签发和撤消的工作,因此一旦证书服务器遭受拒绝服务攻击或发生故障而无法正常工作,整个系统将可能陷于瘫痪状态。
(2)抵抗主密钥泄露的能力弱。由于证书服务器需要使用系统主密钥来完成用户证书的签发,因此一旦唯一的系统主密钥被泄露,整个系统将无安全性可言。
发明内容
本发明所要解决的技术问题是针对背景技术中的缺陷,将秘密共享的思想和基于证书密码体制相结合,提供了一种分布式的基于(k,n)门限证书加密方法。所述方法将系统主密钥分成n(n≥1)个系统主密钥共享,并将这些系统主密钥共享部署在n个证书服务器中;用户则可以从任意一个证书服务器处申请获得证书份额,然后通过组合k(1≤k≤n)个证书份额生成一个完整的证书。
本发明为解决上述技术问题采用以下技术方案:
一种分布式的基于(k,n)门限证书加密方法,包含以下步骤:
步骤A),生成系统公开参数集,同时分别生成n个证书服务器的主密钥共享,并在n个证书服务器上分别部署其主密钥共享;
步骤B),根据所述系统公开参数集和用户的身份信息生成用户的公钥和私钥;
步骤C),从n个证书服务器中任意选择k个证书服务器,对于所述k个证书服务器,分别根据其主密钥共享、系统公开参数集、用户的身份信息以及用户的公钥生成其证书份额;
步骤D),对于步骤C中生成的k个证书份额,分别根据所述系统公开参数集、用户的身份信息以及用户的公钥验证其有效性,若存在无效证书份额,则将其丢弃后,从已经生成有效证书份额的证书服务器之外的证书服务器中重新生成新的证书份额并验证其有效性,直至k个证书份额均为有效证书份额;
步骤E),根据所述系统公开参数集和所述k个证书份额生成用户完整的证书;
步骤F),根据所述系统公开参数集、待加密的明文、接收者的身份信息以及接受者的公钥,生成密文;
步骤G),根据所述系统公开参数集、待解密的密文、接收者的公钥、接收者的私钥以及接收者的证书,恢复明文。
作为本发明一种分布式的基于(k,n)门限证书加密方法进一步的优化方案,所述步骤A)的详细步骤如下:
步骤A.1),根据设定的安全参数γ∈Z+,选择一个γ比特的大素数p,并生成两个p阶乘法循环群G和GT,并定义在群G和群GT上的双线性对e:G×G→GT
其中,Z+是正整数集合,双线性对e:G×G→GT是群G与自身的笛卡尔积G×G到群GT的映射,即双线性对e:G×G→GT是指函数z=e(P1,P2),P1,P2∈G为自变量,z∈GT为因变量;
步骤A.2),从群G中随机选择一个生成元g、两个元素g2和g3、以及一个l+1维向量U=(u′,u1,...,ul),定义一个k-1次多项式并计算g1=gf(0)
其中,l∈Z+是正整数,aj∈Zp且Zp表示集合{0,1,2,...,p-1};
步骤A.3),定义两个抗碰撞哈希函数H1:{0,1}*→{0,1}l
其中,H1是{0,1}*到{0,1}l的密码学哈希函数,H2是笛卡尔积GT×G×G到集合的密码学哈希函数,{0,1}*表示长度不确定的二进制串的集合,{0,1}l表示长度为l比特的二进制串的集合,表示集合{1,2,...,p-1};
步骤A.4),选择一个消息认证码方案(Mac,Verify);
其中,消息认证算法Mac以一个消息M和一个随机密钥mk为输入,产生消息M的消息认证码mac;验证算法Verify以消息M、消息认证码mac以及密钥mk为输入,输出“1”表示mac是消息M有效的消息认证码或“0”表示mac无效;
步骤A.5),将{γ,n,k,p,l,e,G,GT,g,g1,g2,g3,U,H1,H2,(Mac,Verify)}作为系统公开参数集params;
步骤A.6),分别生成n个证书服务器的主密钥共享mski=f(i)(i=1,2,...,n),并分别在n个证书服务器上部署其主密钥共享mski
其中, f ( i ) = Σ j = 0 k - 1 a j i j .
作为本发明一种分布式的基于(k,n)门限证书加密方法进一步的优化方案,所述步骤B)的详细步骤如下:
步骤B.1),在集合中随机选择一个整数x作为身份为id的用户的私钥uskid,即uskid=x;
步骤B.2),在群G中随机选择一个元素g′,计算所述身份为id的用户的公钥 upk id = ( upk id ( 1 ) , upk id ( 2 ) ) = ( g x , g ′ ) .
作为本发明一种分布式的基于(k,n)门限证书加密方法进一步的优化方案,步骤C)中对于所述k个证书服务器分别根据其主密钥共享、系统公开参数集、用户的身份信息以及用户的公钥生成其证书份额的详细步骤如下:
当i为大于等于1小于等于k的整数时,对于所述k个证书服务器中的每个证书服务器i:
步骤C.1),用户将身份信息id和公钥upkid提交给所述证书服务器i;
步骤C.2),证书服务器i根据用户的身份信息id和公钥upkid计算出哈希值h=H1(id,upkid);
步骤C.3),证书服务器i在集合中随机选择一个整数r,根据其系统主密钥共享mski以及所述哈希值h计算出用户id的证书份额 Cert id , i = ( Cert id , i ( 1 ) , Cert id , i ( 2 ) ) = ( g 2 msk i ( u ′ Π j = 1 l u j h j ) r , g r ) ;
其中,hj是哈希值h二进制表示的第j位。
作为本发明一种分布式的基于(k,n)门限证书加密方法进一步的优化方案,步骤D)中所述对于k个证书份额分别根据所述系统公开参数集、用户的身份信息以及用户的公钥验证其有效性的详细步骤如下:
对于所述k个证书份额每个证书份额i:
步骤D.1),根据系统公开参数集、用户的身份id以及用户的公钥upkid,计算哈希值h′=H1(id,upkid);
步骤D.2),对于证书份额Certid,i,验证等式 是否成立,若等式成立,表明证书份额Certid,i有效,则接受该证书份额;否则,表明证书份额Certid,i无效,则丢弃该无效证书份额;
其中,h′j是哈希值h′二进制表示的第j位。
作为本发明一种分布式的基于(k,n)门限证书加密方法进一步的优化方案,所述步骤E)的详细步骤如下:
步骤E.1),计算一组Lagrange插值λj(j=1,...,k)满足
步骤E.2),根据系统公开参数集params和所述k个证书份额{Certid,1,...,Certid,k},生成用户id最终的证书 Cert id = ( Cert id ( 1 ) , Cert id ( 2 ) ) = ( Π j = 1 k ( Cert id , j ( 1 ) ) λ j , Π j = 1 k ( Cert id , j ( 2 ) ) λ j ) .
作为本发明一种分布式的基于(k,n)门限证书加密方法进一步的优化方案,所述步骤F)的详细步骤如下:
步骤F.1),发送者确定需要加密的明文m,并取得接收者的身份id以及接收者的公钥 upk id = ( upk id ( 1 ) , upk id ( 2 ) ) ;
步骤F.2),随机选择一个比特串str,并置消息M为明文m和比特串str的级联m||str;
步骤F.3),计算哈希值h″=H1(id,upkid),在集合中随机选择一个整数t,依次计算 C 1 = e ( g 1 , g 2 ) t · e ( upk id ( 1 ) , upk id ( 2 ) ) t · M , C 2 = g t , C 3 = ( u ′ Π j = 1 l u j h j ″ ) t , φ=H2(C1,C2,C3)和  
其中,h″j是哈希值h″二进制表示的第j位;
步骤F.4),执行消息认证码方案的消息认证算法Mac以str为密钥产生C=(C1,C2,C3,C4)的消息认证码mac;
步骤F.5),将(C=(C1,C2,C3,C4),mac)作为明文m的密文发送给接收者id。
作为本发明一种分布式的基于(k,n)门限证书加密方法进一步的优化方案,所述步骤G)的详细步骤如下:
步骤G.1),接收者接收密文(C=(C1,C2,C3,C4),mac);
步骤G.2),根据接受者的公钥私钥uskid和证书 Cert id = ( Cert id ( 1 ) , Cert id ( 2 ) ) 计算 m | | str = C 1 · e ( Cert id ( 2 ) , C 3 ) e ( g , C 4 ) e ( Cert id ( 1 ) · g 1 H 2 ( C 1 , C 2 , C 3 ) · g 3 · ( upk id ( 2 ) ) usk id , C 2 ) ;
步骤G.3),以str为密钥执行消息认证码方案的消息认证算法Verify,若算法Verify输出“1”,则明文m有效;否则,密文无效,解密失败。
本发明还公开了一种分布式的基于(k,n)门限证书加密系统,包括:
系统参数生成模块,用于证书中心根据输入的安全参数生成系统密码系统的公开参数集和n个证书服务器的系统主密钥共享。
用户密钥生成模块,用于系统用户根据系统参数生成模块生成的公开参数集以及用户的身份信息,生成用户的公钥和私钥。
证书份额生成模块,用于证书服务器根据系统参数生成模块生成的公开参数集和系统主密钥共享、用户的身份信息以及用户密钥生成模块生成的用户的公钥,生成用户的一个证书份额。
证书份额验证模块,用于系统用户根据系统参数生成模块生成的公开参数集、用户的身份信息、用户密钥生成模块生成的用户的公钥以及证书份额生成模块生成的用户的证书份额,验证证书份额的有效性。
证书合成模块,用于系统用户根据系统参数生成模块生成的公开参数集和证书份额生成模块产生的用户的k个不同的有效证书份额,生成用户最终的证书。
加密模块,用于发送者根据系统参数生成模块生成的公开参数集,待加密的明文,接收者的身份信息以及用户密钥生成模块生成的接收者的公钥,生成明文的原始密文。
解密模块,用于接收者根据系统参数生成模块生成的公开参数集,加密模块生成的密文、用户密钥生成模块生成的接收者的公钥和私钥以及证书合成模块生成的接收者的证书,恢复明文。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明将秘密共享的思想和基于证书密码体制相结合,提供了一种分布式的基于(k,n)门限证书加密方法。所述方法将系统主密钥分成n(n≥1)个系统主密钥共享,并将这些系统主密钥共享部署在n个分布式的证书服务器中;用户可以从任意一个证书服务器处申请获得证书份额,然后通过组合k(1≤k≤n)个证书份额生成最终的证书。与已有的基于证书加密方法相比,本发明所述方法的优点在于抵抗拒绝服务攻击、主密钥泄露以及证书服务器故障的能力得到了大大地增强,更适合于开放网络环境中的应用。主要原因如下:
首先,由于采用秘密共享技术将系统主密钥分成多个系统主密钥共享并部署在多个分布式的证书服务器中,所以数量不超过k个系统主密钥共享的泄露不影响其它系统主密钥共享的秘密性以及整个系统的安全性;
其次,由于用户只要组合k个证书份额即可合成最终的证书,因此系统中只要存在数量不低于k个证书服务器能够为用户提供证书份额的签发服务,系统即可正常运行。
附图说明
图1是本发明所述的基于(k,n)门限证书加密方法的流程图;
图2是依照本发明方法的密码系统执行的操作流程图;
图3是本发明所述的基于(k,n)门限证书加密系统的示意图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本发明所述的基于(k,n)门限证书加密方法可基于双线性对和Shamir秘密共享技术来实现,下面首先简要介绍双线性对和Shamir秘密共享技术。
令G和GT是两个p阶乘法循环群,其中p为大素数,g是群G的生成元。假设G和GT这两个群上的离散对数问题都是困难问题。如果定义在群G和GT上一个映射e:G×G→GT满足下面的三条性质,则称该映射为有效的双线性对。双线性对e:G×G→GT是笛卡尔积G×G到群GT的映射,即双线性对e:G×G→GT是指函数z=e(u,v),其中u,v∈G为自变量,z∈GT为因变量。
双线性对应满足的三条性质为:
(1)双线性.对于任意的u,v∈G和有e(ua,vb)=e(u,v)ab
(2)非退化性.其中是群GT的单位元。
(3)可计算性.对于任意的u,v∈G,存在有效的算法计算e(u,v)。
其中,大素数p对于离散对数问题而言是二进制表示的160比特,而对于大整数分解问题而言是二进制表示的512比特。循环群的概念为:设H为群,如果存在一个元素u∈H使得H={uk|k∈Z},则称H为循环群,称u是H的生成元。若生成元u的阶为n,即n是使得u的幂等于群H的单位元的最小正整数,则称H为n阶循环群。乘法循环群是指该循环群的生成元能够以乘幂的方法生成群中的所有元素。此外,其中Zp是指整数模的剩余类,即Zp={0,1,...,p-1}。
Shamir秘密共享技术:设p为素数,1≤k≤n,若一个秘密分发者要将一个秘密x∈Zp分发给n个成员,则首先置a0=x,并在集合Zp上随机选取k–1个元素ai(i=1,...,k-1),定义一个k–1次的多项式然后将f(i)(i=1,...,n)作为秘密共享通过保密的方式发送给成员i。
秘密x的n个秘密共享f(i)(i=1,...,n)具有如下性质:组合任意不多于k–1个秘密共享无法计算出秘密x;组合任意k个及k个以上秘密共享可完全确定多项式f(x),进而能够计算出秘密x并确定及其它成员的秘密共享。
此外,对于任意含有k个成员的集合S∈Zp,对于任意的i∈Zp和j∈S,存在容易计算的Lagrange插值λj,使得 f ( i ) = Σ j ∈ S λ j f ( j ) 以及 x = f ( 0 ) = Σ j ∈ S λ j f ( j ) .
根据以上对双线性对以及Shamir秘密共享技术的描述,下面结合附图和实现例对本发明提出的基于(k,n)门限证书加密方法进行进一步说明,但并不作为对本发明的限定。
本发明所述方法涉及的实体如下:
(1)证书中心:负责生成系统公开参数集以及系统主密钥共享的可信第三方;
(2)证书服务器:负责对系统用户进行验证并使用系统主密钥共享签发证书份额的可信实体;
(3)发送者:消息的发送实体;
(4)接收者:密文的接收实体。
参照图1和图2,本发明所述方法的步骤具体描述如下:
步骤A),生成系统公开参数集,同时分别生成n个证书服务器的主密钥共享,并在n个证书服务器上分别部署其主密钥共享;
具体步骤如下:
步骤101),根据设定的安全参数γ∈Z+,选择一个γ比特的大素数p,并生成两个p阶乘法循环群G和GT,并定义在群G和群GT上的双线性对e:G×G→GT;其中,Z+是正整数集合,双线性对e:G×G→GT是群G与自身的笛卡尔积G×G到群GT的映射,即双线性对e:G×G→GT是指函数z=e(P1,P2),P1,P2∈G为自变量,z∈GT为因变量;
步骤102),从群G中随机选择一个生成元g、两个元素g2和g3、以及一个l+1维向量U=(u′,u1,...,ul),定义一个k-1次多项式并计算g1=gf(0);其中,l∈Z+是正整数,aj∈Zp且Zp表示集合{0,1,2,...,p-1};
步骤103),定义两个抗碰撞哈希函数H1:{0,1}*→{0,1}l其中,H1是{0,1}*到{0,1}l的密码学哈希函数,H2是笛卡尔积GT×G×G到集合的密码学哈希函数,{0,1}*表示长度不确定的二进制串的集合,{0,1}l表示长度为l比特的二进制串的集合,表示集合{1,2,...,p-1};
步骤104),选择一个消息认证码方案(Mac,Verify);其中,消息认证算法Mac以一个消息M和一个随机密钥mk为输入,产生消息M的消息认证码mac;验证算法Verify以消息M、消息认证码mac以及密钥mk为输入,输出“1”表示mac是消息M有效的消息认证码或“0”表示mac无效;
步骤105),将{γ,n,k,p,l,e,G,GT,g,g1,g2,g3,U,H1,H2,(Mac,Verify)}作为系统公开参数集params;
步骤106),分别生成n个证书服务器的主密钥共享mski=f(i)(i=1,2,...,n),并分别在n个证书服务器上部署其主密钥共享mski;其中,
步骤B),根据所述系统公开参数集和用户的身份信息生成用户的公钥和私钥;
具体步骤如下:
步骤107),在集合中随机选择一个整数x作为身份为id的用户的私钥uskid,即uskid=x;
步骤108),在群G中随机选择一个元素g′,计算所述身份为id的用户的公钥 upk id = ( upk id ( 1 ) , upk id ( 2 ) ) = ( g x , g ′ ) .
步骤C),从n个证书服务器中任意选择k个证书服务器,对于所述k个证书服务器,分别根据其主密钥共享、系统公开参数集、用户的身份信息以及用户的公钥生成其证书份额;
具体步骤如下:
步骤109),用户将身份信息id和公钥upkid提交给所述证书服务器i;
步骤110),证书服务器i根据用户的身份信息id和公钥upkid计算出哈希值h=H1(id,upkid);
步骤111),证书服务器i在集合中随机选择一个整数r,根据其系统主密钥共享mski以及所述哈希值h计算出用户id的证书份额 Cert id , i = ( Cert id , i ( 1 ) , Cert id , i ( 2 ) ) = ( g 2 msk i ( u ′ Π j = 1 l u j h j ) r , g r ) ; 其中,hj是哈希值h二进制表示的第j位。
步骤D),对于步骤C中生成的k个证书份额,分别根据所述系统公开参数集、用户的身份信息以及用户的公钥验证其有效性,若存在无效证书份额,则将其丢弃后,从已经生成有效证书份额的证书服务器之外的证书服务器中重新生成新的证书份额并验证其有效性,直至k个证书份额均为有效证书份额;
具体步骤如下:
步骤112),根据系统公开参数集、用户的身份id以及用户的公钥upkid,计算哈希值h′=H1(id,upkid);
步骤113),对于证书份额Certid,i,验证等式 是否成立,若等式成立,表明证书份额Certid,i有效,则接受该证书份额;否则,表明证书份额Certid,i无效,则丢弃该无效证书份额;其中,h′j是哈希值h′二进制表示的第j位。
步骤E),根据所述系统公开参数集和所述k个证书份额生成用户完整的证书;
具体步骤如下:
步骤114),计算一组Lagrange插值λj(j=1,...,k)满足
步骤115),根据系统公开参数集params和所述k个证书份额{Certid,1,...,Certid,k},生成用户id最终的证书 Cert id = ( Cert id ( 1 ) , Cert id ( 2 ) ) = ( Π j = 1 k ( Cert id , j ( 1 ) ) λ j , Π j = 1 k ( Cert id , j ( 2 ) ) λ j ) .
步骤F),根据所述系统公开参数集、待加密的明文、接收者的身份信息以及接受者的公钥,生成密文;
具体步骤如下:
步骤116),发送者确定需要加密的明文m,并取得接收者的身份id以及接收者的公钥 upk id = ( upk id ( 1 ) , upk id ( 2 ) ) ;
步骤117),随机选择一个比特串str,并置消息M为明文m和比特串str的级联m||str;
步骤118),计算哈希值h″=H1(id,upkid),在集合中随机选择一个整数t,依次计算 C 1 = e ( g 1 , g 2 ) t · e ( upk id ( 1 ) , upk id ( 2 ) ) t · M , C 2 = g t , C 3 = ( u ′ Π j = 1 l u j h j ″ ) t , φ=H2(C1,C2,C3)和其中,h″j是哈希值h″二进制表示的第j位;
步骤119),执行消息认证码方案的消息认证算法Mac以str为密钥产生C=(C1,C2,C3,C4)的消息认证码mac;
步骤120),将(C=(C1,C2,C3,C4),mac)作为明文m的密文发送给接收者id。
步骤G),根据所述系统公开参数集、待解密的密文、接收者的公钥、接收者的私钥以及接收者的证书,恢复明文;
具体步骤如下:
步骤121),接收者接收密文(C=(C1,C2,C3,C4),mac);
步骤122),根据接受者的公钥私钥uskid和证书 Cert id = ( Cert id ( 1 ) , Cert id ( 2 ) ) 计算 m | | str = C 1 · e ( Cert id ( 2 ) , C 3 ) e ( g , C 4 ) e ( Cert id ( 1 ) · g 1 H 2 ( C 1 , C 2 , C 3 ) · g 3 · ( upk id ( 2 ) ) usk id , C 2 ) ;
步骤123),以str为密钥执行消息认证码方案的消息认证算法Verify,若算法Verify输出“1”,则明文m有效;否则,密文无效,解密失败。
参见图3,本发明还提供了一种分布式的基于(k,n)门限证书加密系统,所述系统包括:系统参数生成模块、用户密钥生成模块、证书份额生成模块、证书份额有效性验证模块、证书合成模块、加密模块以及解密模块;
所述系统参数生成模块用于证书中心根据输入的安全参数生成系统密码系统的公开参数集和n个证书服务器的系统主密钥共享。
所述用户密钥生成模块用于系统用户根据系统参数生成模块生成的公开参数集以及用户的身份信息,生成用户的公钥和私钥对。
所述证书份额生成模块用于证书服务器根据系统参数生成模块生成的公开参数集和系统主密钥共享、用户的身份信息以及用户密钥生成模块生成的公钥,生成用户的一个证书份额。
所述证书份额验证模块用于系统用户根据系统参数生成模块生成的公开参数集、用户的身份信息、用户密钥生成模块生成的公钥以及证书份额生成模块生成的用户的证书份额,验证证书份额的有效性。
所述证书合成模块用于系统用户根据系统参数生成模块生成的公开参数集和证书份额生成模块产生的k个有效证书份额,生成用户最终的证书。
所述加密模块用于发送者根据系统参数生成模块生成的公开参数集,待加密的明文,接收者的身份信息以及用户密钥生成模块生成的接收者的公钥,生成明文的原始密文。
所述解密模块用于接收者根据系统参数生成模块生成的公开参数集,加密模块生成的密文、用户密钥生成模块生成的接收者的公钥和私钥以及证书合成模块生成的接收者的证书,恢复明文。
以上只是对本发明的优选实施方式进行了描述。对该技术领域的普通技术人员来说,根据以上实施方式可以很容易地联想到其它的优点和变形。因此,本发明并不局限于上述实施方式,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员在本发明技术的方案范围内进行的通常变化和替换,都应包含在本发明的保护范围之内。

Claims (9)

1.一种分布式的基于(k,n)门限证书加密方法,其特征在于,包含以下步骤:
步骤A),生成系统公开参数集,同时分别生成n个证书服务器的主密钥共享,并在n个证书服务器上分别部署其主密钥共享;
步骤B),根据所述系统公开参数集和用户的身份信息生成用户的公钥和私钥;
步骤C),从n个证书服务器中任意选择k个证书服务器,对于所述k个证书服务器,分别根据其主密钥共享、系统公开参数集、用户的身份信息以及用户的公钥生成其证书份额;
步骤D),对于步骤C中生成的k个证书份额,分别根据所述系统公开参数集、用户的身份信息以及用户的公钥验证其有效性,若存在无效证书份额,则将其丢弃后,从已经生成有效证书份额的证书服务器之外的证书服务器中重新生成新的证书份额并验证其有效性,直至k个证书份额均为有效证书份额;
步骤E),根据所述系统公开参数集和所述k个证书份额生成用户完整的证书;
步骤F),根据所述系统公开参数集、待加密的明文、接收者的身份信息以及接受者的公钥,生成密文;
步骤G),根据所述系统公开参数集、待解密的密文、接收者的公钥、接收者的私钥以及接收者的证书,恢复明文。
2.根据权利要求1所述的分布式的基于(k,n)门限证书加密方法,其特征在于,所述步骤A)的详细步骤如下:
步骤A.1),根据设定的安全参数γ∈Z+,选择一个γ比特的大素数p,并生成两个p阶乘法循环群G和GT,并定义在群G和群GT上的双线性对e:G×G→GT
其中,Z+是正整数集合,双线性对e:G×G→GT是群G与自身的笛卡尔积G×G到群GT的映射,即双线性对e:G×G→GT是指函数z=e(P1,P2),P1,P2∈G为自变量,z∈GT为因变量;
步骤A.2),从群G中随机选择一个生成元g、两个元素g2和g3、以及一个l+1维向量U=(u′,u1,...,ul),定义一个k-1次多项式并计算g1=gf(0)
其中,l∈Z+是正整数,aj∈Zp且Zp表示集合{0,1,2,...,p-1};
步骤A.3),定义两个抗碰撞哈希函数H1:{0,1}*→{0,1}l
其中,H1是{0,1}*到{0,1}l的密码学哈希函数,H2是笛卡尔积GT×G×G到集合的密码学哈希函数,{0,1}*表示长度不确定的二进制串的集合,{0,1}l表示长度为l比特的二进制串的集合,表示集合{1,2,...,p-1};
步骤A.4),选择一个消息认证码方案(Mac,Verify);
其中,消息认证算法Mac以一个消息M和一个随机密钥mk为输入,产生消息M的消息认证码mac;验证算法Verify以消息M、消息认证码mac以及密钥mk为输入,输出“1”表示mac是消息M有效的消息认证码或“0”表示mac无效;
步骤A.5),将{γ,n,k,p,l,e,G,GT,g,g1,g2,g3,U,H1,H2,(Mac,Verify)}作为系统公开参数集params;
步骤A.6),分别生成n个证书服务器的主密钥共享mski=f(i),并分别在n个证书服务器上部署其主密钥共享mski
其中, f ( i ) = Σ j = 0 k - 1 a j i j , i = 1,2 , . . . , n .
3.根据权利要求2所述的分布式的基于(k,n)门限证书加密方法,其特征在于,所述步骤B)的详细步骤如下:
步骤B.1),在集合中随机选择一个整数x作为身份为id的用户的私钥uskid,即uskid=x;
步骤B.2),在群G中随机选择一个元素g′,计算所述身份为id的用户的公钥 upk id = ( upk id ( 1 ) , upk id ( 2 ) ) = ( g x , g ′ ) .
4.根据权利要求3所述的分布式的基于(k,n)门限证书加密方法,其特征在于,步骤C)中对于所述k个证书服务器分别根据其主密钥共享、系统公开参数集、用户的身份信息以及用户的公钥生成其证书份额的详细步骤如下:
当i为大于等于1小于等于k的整数时,对于所述k个证书服务器中的每个证书服务器i:
步骤C.1),用户将身份信息id和公钥upkid提交给所述证书服务器i;
步骤C.2),证书服务器i根据用户的身份信息id和公钥upkid计算出哈希值h=H1(id,upkid);
步骤C.3),证书服务器i在集合中随机选择一个整数r,根据其系统主密钥共享mski以及所述哈希值h计算出用户id的证书份额 Cert id , i = ( Cert id , i ( 1 ) , Cert id , i ( 2 ) ) = ( g 2 msk i ( u ′ Π j = 1 l u j h j ) r , g r ) ;
其中,hj是哈希值h二进制表示的第j位。
5.根据权利要求4所述的分布式的基于(k,n)门限证书加密方法,其特征在于,步骤D)中所述对于k个证书份额分别根据所述系统公开参数集、用户的身份信息以及用户的公钥验证其有效性的详细步骤如下:
对于所述k个证书份额每个证书份额i:
步骤D.1),根据系统公开参数集、用户的身份id以及用户的公钥upkid,计算哈希值h′=H1(id,upkid);
步骤D.2),对于证书份额Certid,i,验证等式 是否成立,若等式成立,表明证书份额Certid,i有效,则接受该证书份额;否则,表明证书份额Certid,i无效,则丢弃该无效证书份额;
其中,h′j是哈希值h′二进制表示的第j位。
6.根据权利要求5所述的分布式的基于(k,n)门限证书加密方法,其特征在于,所述步骤E)的详细步骤如下:
步骤E.1),计算一组Lagrange插值λj满足
步骤E.2),根据系统公开参数集params和所述k个证书份额{Certid,1,...,Certid,k},生成用户id最终的证书 Cert id = ( Cert id ( 1 ) , Cert id ( 2 ) ) = ( Π j = 1 k ( Cert id , j ( 1 ) ) λ j , Π j = 1 k ( Cert id , j ( 2 ) ) λ j ) .
7.根据权利要求6所述的分布式的基于(k,n)门限证书加密方法,其特征在于,所述步骤F)的详细步骤如下:
步骤F.1),发送者确定需要加密的明文m,并取得接收者的身份id以及接收者的公钥 upk id = ( upk id ( 1 ) , upk id ( 2 ) ) ;
步骤F.2),随机选择一个比特串str,并置消息M为明文m和比特串str的级联m||str;
步骤F.3),计算哈希值h″=H1(id,upkid),在集合中随机选择一个整数t,依次计算 C 1 = e ( g 1 , g 2 ) t · e ( upk id ( 1 ) , upk id ( 2 ) ) t · M , C 2 = g t , C 3 = ( u ′ Π j = 1 l u j h j ″ ) t , φ=H2(C1,C2,C3)和
其中,h″j是哈希值h″二进制表示的第j位;
步骤F.4),执行消息认证码方案的消息认证算法Mac以str为密钥产生C=(C1,C2,C3,C4)的消息认证码mac;
步骤F.5),将(C=(C1,C2,C3,C4),mac)作为明文m的密文发送给接收者id。
8.根据权利要求7所述的分布式的基于(k,n)门限证书加密方法,其特征在于,所述步骤G)的详细步骤如下:
步骤G.1),接收者接收密文(C=(C1,C2,C3,C4),mac);
步骤G.2),根据接受者的公钥私钥uskid和证书 Cert id = ( Cert id ( 1 ) , Cert id ( 2 ) ) 计算 m | | str = C 1 · e ( Cert id ( 2 ) , C 3 ) e ( g , C 4 ) e ( Cert id ( 1 ) · g 1 H 2 ( C 1 , C 2 , C 3 ) · g 3 · ( upk id ( 2 ) ) usk id , C 2 ) ;
步骤G.3),以str为密钥执行消息认证码方案的消息认证算法Verify,若算法Verify输出“1”,则明文m有效;否则,密文无效,解密失败。
9.一种分布式的基于(k,n)门限证书加密系统,其特征在于,包括:
系统参数生成模块,用于证书中心根据输入的安全参数生成系统密码系统的公开参数集和n个证书服务器的系统主密钥共享。
用户密钥生成模块,用于系统用户根据系统参数生成模块生成的公开参数集以及用户的身份信息,生成用户的公钥和私钥。
证书份额生成模块,用于证书服务器根据系统参数生成模块生成的公开参数集和系统主密钥共享、用户的身份信息以及用户密钥生成模块生成的用户的公钥,生成用户的一个证书份额。
证书份额验证模块,用于系统用户根据系统参数生成模块生成的公开参数集、用户的身份信息、用户密钥生成模块生成的用户的公钥以及证书份额生成模块生成的用户的证书份额,验证证书份额的有效性。
证书合成模块,用于系统用户根据系统参数生成模块生成的公开参数集和证书份额生成模块产生的用户的k个不同的有效证书份额,生成用户最终的证书。
加密模块,用于发送者根据系统参数生成模块生成的公开参数集,待加密的明文,接收者的身份信息以及用户密钥生成模块生成的接收者的公钥,生成明文的原始密文。
解密模块,用于接收者根据系统参数生成模块生成的公开参数集,加密模块生成的密文、用户密钥生成模块生成的接收者的公钥和私钥以及证书合成模块生成的接收者的证书,恢复明文。
CN201410387870.9A 2014-08-07 2014-08-07 一种分布式的基于(k,n)门限证书加密方法及系统 Pending CN104168114A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410387870.9A CN104168114A (zh) 2014-08-07 2014-08-07 一种分布式的基于(k,n)门限证书加密方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410387870.9A CN104168114A (zh) 2014-08-07 2014-08-07 一种分布式的基于(k,n)门限证书加密方法及系统

Publications (1)

Publication Number Publication Date
CN104168114A true CN104168114A (zh) 2014-11-26

Family

ID=51911766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410387870.9A Pending CN104168114A (zh) 2014-08-07 2014-08-07 一种分布式的基于(k,n)门限证书加密方法及系统

Country Status (1)

Country Link
CN (1) CN104168114A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702814A (zh) * 2014-12-03 2015-06-10 陕西师范大学 基于三重备份的(k,n)有意义图像分存及恢复方法
CN105356999A (zh) * 2015-12-08 2016-02-24 成都信息工程大学 一种(2,2)门限秘密共享的份额尺寸减小方法
CN105404817A (zh) * 2015-10-27 2016-03-16 西安电子科技大学 基于(k, n)门限的用户友好的可视秘密共享方法
CN106161472A (zh) * 2016-09-05 2016-11-23 上海前隆金融信息服务有限公司 一种数据加密的方法、装置及系统
CN106685647A (zh) * 2016-11-29 2017-05-17 北京奇艺世纪科技有限公司 一种数字证书密钥确定方法及装置
CN106685646A (zh) * 2016-11-29 2017-05-17 北京奇艺世纪科技有限公司 一种数字证书密钥管理方法及管理服务器
CN106789089A (zh) * 2017-02-23 2017-05-31 腾讯科技(深圳)有限公司 一种管理证书的方法和系统
CN108989045A (zh) * 2017-06-02 2018-12-11 美国亚德诺半导体公司 防全局篡改的装置和系统
CN109120398A (zh) * 2018-08-03 2019-01-01 河南师范大学 一种基于区块链系统的秘密共享方法与装置
CN110610105A (zh) * 2019-09-25 2019-12-24 郑州轻工业学院 一种云环境下基于秘密共享的三维模型文件的认证方法
WO2020191700A1 (zh) * 2019-03-28 2020-10-01 深圳大学 可连接环签名方法、装置、设备以及存储介质
US10803184B2 (en) 2019-08-09 2020-10-13 Alibaba Group Holding Limited Generation of a model parameter
CN112291061A (zh) * 2020-10-21 2021-01-29 中国科学技术大学 大规模物联网场景下基于分布式秘密共享的信任管理方法
WO2021027259A1 (zh) * 2019-08-09 2021-02-18 创新先进技术有限公司 模型参数确定方法、装置和电子设备
CN114172747A (zh) * 2022-02-10 2022-03-11 亿次网联(杭州)科技有限公司 一种基于数字证书的群成员获得认证证书的方法和系统
CN115051853A (zh) * 2022-06-10 2022-09-13 广东技术师范大学 数字藏品平台系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580855A (zh) * 2013-11-07 2014-02-12 江南大学 一种基于共享技术的UsbKey秘钥管理方案

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103580855A (zh) * 2013-11-07 2014-02-12 江南大学 一种基于共享技术的UsbKey秘钥管理方案

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DAN BONEH,MATT FRANKLIN,: ""Identity-Based Encryption from the Weil Pairing"", 《ANNUALINTERNATIONAL CRYPTOLOGY CONFERENCE》 *
LIAO JUN PANG,YU-MIN WANG,: ""A new (t, n) multi一secret sharing scheme based on Shamir"s secret sharing"", 《APPLIED MATHEMATICS AND COMPUTATION》 *
吴军,: ""移动Ad hoc网络分布式密钥管理方案研究"", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
陆阳,李继国,: ""标准模型下高效安全的基于证书密钥封装机制"", 《计算机研究与发展》 *
陆阳,李继国,肖军模,: ""标准模型下基于证书的加密方案的通用构造"", 《计算机科学》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702814B (zh) * 2014-12-03 2017-10-20 陕西师范大学 基于三重备份的(k,n)有意义图像分存及恢复方法
CN104702814A (zh) * 2014-12-03 2015-06-10 陕西师范大学 基于三重备份的(k,n)有意义图像分存及恢复方法
CN105404817A (zh) * 2015-10-27 2016-03-16 西安电子科技大学 基于(k, n)门限的用户友好的可视秘密共享方法
CN105404817B (zh) * 2015-10-27 2018-05-15 西安电子科技大学 基于(k, n)门限的用户友好的可视秘密共享方法
CN105356999A (zh) * 2015-12-08 2016-02-24 成都信息工程大学 一种(2,2)门限秘密共享的份额尺寸减小方法
CN105356999B (zh) * 2015-12-08 2018-03-09 成都信息工程大学 一种(2,2)门限秘密共享的份额尺寸减小方法
CN106161472A (zh) * 2016-09-05 2016-11-23 上海前隆金融信息服务有限公司 一种数据加密的方法、装置及系统
CN106685647A (zh) * 2016-11-29 2017-05-17 北京奇艺世纪科技有限公司 一种数字证书密钥确定方法及装置
CN106685646A (zh) * 2016-11-29 2017-05-17 北京奇艺世纪科技有限公司 一种数字证书密钥管理方法及管理服务器
CN106789089B (zh) * 2017-02-23 2019-10-08 腾讯科技(深圳)有限公司 管理证书的方法、装置、和系统以及服务器
CN106789089A (zh) * 2017-02-23 2017-05-31 腾讯科技(深圳)有限公司 一种管理证书的方法和系统
CN108989045A (zh) * 2017-06-02 2018-12-11 美国亚德诺半导体公司 防全局篡改的装置和系统
CN108989045B (zh) * 2017-06-02 2021-08-06 美国亚德诺半导体公司 防全局篡改的装置和系统
CN109120398A (zh) * 2018-08-03 2019-01-01 河南师范大学 一种基于区块链系统的秘密共享方法与装置
CN109120398B (zh) * 2018-08-03 2021-07-27 河南师范大学 一种基于区块链系统的秘密共享方法与装置
WO2020191700A1 (zh) * 2019-03-28 2020-10-01 深圳大学 可连接环签名方法、装置、设备以及存储介质
US10803184B2 (en) 2019-08-09 2020-10-13 Alibaba Group Holding Limited Generation of a model parameter
WO2021027259A1 (zh) * 2019-08-09 2021-02-18 创新先进技术有限公司 模型参数确定方法、装置和电子设备
CN110610105A (zh) * 2019-09-25 2019-12-24 郑州轻工业学院 一种云环境下基于秘密共享的三维模型文件的认证方法
CN112291061A (zh) * 2020-10-21 2021-01-29 中国科学技术大学 大规模物联网场景下基于分布式秘密共享的信任管理方法
CN112291061B (zh) * 2020-10-21 2022-03-01 中国科学技术大学 大规模物联网场景下基于分布式秘密共享的信任管理方法
CN114172747A (zh) * 2022-02-10 2022-03-11 亿次网联(杭州)科技有限公司 一种基于数字证书的群成员获得认证证书的方法和系统
CN115051853A (zh) * 2022-06-10 2022-09-13 广东技术师范大学 数字藏品平台系统

Similar Documents

Publication Publication Date Title
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
Li et al. Oblivious signature-based envelope
CN102811125B (zh) 基于多变量密码体制的无证书多接收者签密方法
CN111342976B (zh) 一种可验证的理想格上门限代理重加密方法及系统
CN107733870B (zh) 可审计可追踪匿名消息接收系统及方法
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
EP2120389A1 (en) A method, system and communication device for generating session cryptographic
CN101594228B (zh) 证书公钥系统与身份公钥系统之间的认证加密方法
US20060083370A1 (en) RSA with personalized secret
US11870891B2 (en) Certificateless public key encryption using pairings
CN103647642A (zh) 一种基于证书代理重加密方法及系统
CN1937496A (zh) 可延展伪名证书系统和方法
CN104363218A (zh) 一种基于证书条件代理重加密方法和系统
CN110830236A (zh) 基于全域哈希的身份基加密方法
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN104079412B (zh) 基于智能电网身份安全的无可信pkg的门限代理签名方法
CN104821880A (zh) 一种无证书广义代理签密方法
CN104868993A (zh) 一种基于证书的两方认证密钥协商方法及系统
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN103746811A (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN102970144A (zh) 基于身份的认证方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141126

WD01 Invention patent application deemed withdrawn after publication