CN103269272B - 一种基于短期证书的密钥封装方法 - Google Patents

一种基于短期证书的密钥封装方法 Download PDF

Info

Publication number
CN103269272B
CN103269272B CN201310196758.2A CN201310196758A CN103269272B CN 103269272 B CN103269272 B CN 103269272B CN 201310196758 A CN201310196758 A CN 201310196758A CN 103269272 B CN103269272 B CN 103269272B
Authority
CN
China
Prior art keywords
key
user
tau
short
encapsulation
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.)
Expired - Fee Related
Application number
CN201310196758.2A
Other languages
English (en)
Other versions
CN103269272A (zh
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 CN201310196758.2A priority Critical patent/CN103269272B/zh
Publication of CN103269272A publication Critical patent/CN103269272A/zh
Application granted granted Critical
Publication of CN103269272B publication Critical patent/CN103269272B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种基于短期证书的密钥封装方法。该密钥封装方法包括步骤:生成用于密钥封装和密钥解封装的系统参数;根据所述系统参数,生成用户的公钥和长期私钥;根据所述系统参数、用户的身份信息和公钥,生成用户的短期证书;根据所述用户的长期私钥和短期证书,生成用户的短期私钥;根据所述系统参数、用户的身份信息和公钥,生成用于加密消息的对称密钥以及该密钥的封装;根据所述系统参数、用户的短期私钥,从所述密钥的封装中恢复出用于解密消息密文的对称密钥。本发明方法具有较短的系统参数和密钥封装以及较低的计算开销,极大的提高了系统的运行效率。此外,本发明方法中用户的长期私钥并不参加密钥的解封装操作,而是由短期私钥完成,因此避免了长期私钥的泄露。

Description

一种基于短期证书的密钥封装方法
技术领域
本发明涉及信息安全中的数据加密技术领域,指的是一种基于短期证书的密钥封装方法。
背景技术
Cramer和Shoup在2003年提出了密钥封装机制/数据封装机制结构的混合加密技术,其特点是有机结合了对称加密技术和公钥加密技术,即使用对称加密算法加密/解密实际的通信数据,使用公钥加密算法封装/解封装对称加密算法的对称密钥,因此该技术不仅不存在密钥分发的问题,而且具备对称加密技术加解密速度快且不受明文长度的限制等优点。密钥封装机制是构成混合加密系统的关键组成部分,它是混合加密系统中的非对称部分,与公钥加密算法相似,只是加密的任务转变为生成一个对称加密密钥及对该密钥的封装。
基于证书密码体制由Gentry在2003年首先提出,该体制有机结合了基于身份密码体制和传统公钥密码体制,并有效克服了这两种密码体制中存在的固有缺陷。基于证书密码体制的一个最大的特点是提供了一种高效的隐证书机制,即数字证书仅发送给证书持有人,并与其私钥相结合产生最终的解密密钥或签名密钥。利用这个特点,基于证书密码体制不仅简化了传统公钥密码体制中复杂的证书管理过程,而且消除了基于身份密码体制中的密钥分发问题以及密钥托管问题。
2012年,李继国等人提出了第一个在标准模型下安全的基于证书密钥封装方法,该密钥封装方法是基于双线性对(BilinearPairing)实现的。
下面首先简要介绍双线性对的基本定义和它满足的性质。
令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是指整数模p的剩余类,即Zp={0,1,…,p-1}。
根据以上双线性对的描述,下面进一步说明现有的基于证书密钥封装方法。
首先给出一个基于证书密钥封装方法的简单流程图,如图1。
如图1所示,现有的基于证书密钥封装系统包括系统参数生成模块、用户密钥生成模块、证书产生模块、密钥封装模块以及密钥解封装模块。
1、系统参数生成模块:
令G和GT是两个p阶乘法循环群,其中p为大素数,g是群G的生成元。e:G×G→GT是定义在G和GT上的双线性对;双线性对e:G×G→GT是笛卡尔积G×G到群GT的映射,即双线性对e:G×G→GT是指函数z=e(u,v),其中u,v∈G为自变量,z∈GT为因变量。可信第三方证书中心执行如下:随机选择计算g1=gα;在群G中随机选择g2∈G,向量U=(u',u1,u2,...,un)∈Gn+1和V=(v',v1,v2,...,vn)∈Gn+1,计算函数其中向量U包含n+1个群G的元素u',u1,u2,...,un,向量V包含n+1个群G的元素v',v1,v2,...,vn,Q=i1i2...in和w=w1w2...wn是长为n的比特串;选择两个哈希函数H1:{0,1}*→{0,1}n和H2:{0,1}*→{0,1}n;H1和H2是{0,1}*到{0,1}n的密码学哈希函数,{0,1}*表示长度不确定的二进制串的集合,{0,1}n表示长度为n的二进制串的集合。最终,证书中心将系统的主密钥保密,将系统参数集params={p,G,GT,e,g,g1,g2,U,V,H1,H2}公开。
2、用户密钥生成模块:
用户在*中随机选择元素x作为自己的私钥,即SK=x,并利用系统参数params生成自己的公钥 PK = ( PK 1 , PK 2 ) = ( g x , g 1 x ) .
3、证书生成模块:
用户将自己的身份信息ID和公钥PK发送给证书中心。证书中心随机选择 r ∈ Z p * , 产生用户的证书 Cert = ( Cert 1 , Cert 2 ) = ( g 2 α F 1 ( Q ID ) r , g r ) , 其中QID=H1(ID,PK)。
4、密钥封装模块:
发送者使用接收者的公钥PK和身份ID生成对称密钥和对该密钥的封装。首先,发送者验证e(PK1,g1)=e(PK2,g)是否成立。若不成立,输出无效符号⊥并终止;否则,发送者随机选择生成对称密钥K=e(g2,PK2)s以及对该密钥的封装C=(C1,C2,C3)=(gs,F1(QID)s,F2(w)s),其中QID=H1(ID,PK),w=H2(C1,C2,ID,PK)。
5、密钥解封装模块:
接收者收到密钥K的封装C=(C1,C2,C3)后,使用自己的私钥和证书对C解封装如下:计算w=H2(C1,C2,ID,PK),验证e(C1,F1(QID)F1(w))=e(g,C2C3)是否成立。若成立,则C是正确的封装,计算否则,C是无效的。
根据上述的5个模块,即实现了现有的基于证书密钥封装方法。在该基于证书密钥封装方法中,用户的证书充当了用户的部分解封装密钥,起到了隐认证的作用,发送者无需关注接收者的证书的状态,因此解决了传统公钥密码系统中的第三方询问问题,同时也不存在基于身份密码系统中固有的密钥分发问题以及密钥托管问题。但是,该方法存在着如下三个显著的缺点:(1)系统公开参数集params中群元素的个数与方法中哈希函数输出的比特位数成线性关系。在使用函数输出为160比特的SHA-1哈希函数时,该方法的系统公开参数集中群G元素的个数将达到325个。基于80比特MNT椭圆曲线实例化时,系统公开参数集中群G元素的数据量将达到55575比特。因此,该方法难以应用于传输带宽受限的应用领域。(2)该方法解封装模块需要进行4个双线对运算,而双线对运算的计算代价很大,所以这极大地影响了整个系统的运行效率。(3)在该方法中,一旦用户的私钥泄露,除非用户主动撤销证书,否则该用户将一直处于泄密状态下。显然,这一安全性缺陷是非常致命的。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足,提供一种基于短期证书的密钥封装方法。所述方法降低了通信量和计算量,从而提高整个系统的运行效率;另一方面提供一种短期私钥机制,从而避免用户长期私钥泄露的问题。
1.为解决上述技术问题,本发明所采用的技术方案是:一种基于短期证书的密钥封装方法,包含步骤如下:
步骤A,生成系统主密钥和系统公开参数集;
步骤B,根据所述系统公开参数集生成用户的公钥和用户的长期私钥;
步骤C,根据所述系统主密钥和系统公开参数集、用户的身份和用户的公钥,生成用户的短期证书;
步骤D,根据所述系统公开参数集、用户的身份、用户的长期私钥和用户的短期证书,生成用户的短期私钥;
步骤E,根据所述系统公开参数集、用户的身份和用户的公钥,生成用于加密消息的对称密钥以及对称密钥的封装;
步骤F,根据所述系统公开参数集、用户的短期私钥以及对称密钥的封装,恢复对称密钥。
所述步骤A中,所述系统主密钥和系统公开参数集由系统参数生成模块生成,具体内容如下:
证书中心根据设定的安全参数k∈Z+,Z+是正整数集合,选择一个k比特的大素数p,并生成两个p阶循环群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为因变量;
从循环群G中选择一个生成元g以及两个随机群元素h1和h2,并随机选择 α ∈ Z p * , 集合 Z p * = { 1,2 , . . . , p - 1 } , 计算g1=gα和gT=e(g,g);
定义两个哈希函数H1是笛卡尔积{0,1}*×G3的密码学哈希函数,H2是笛卡尔积G×GT的密码学哈希函数,{0,1}*表示长度不确定的二进制串的集合,G3表示三个群G的笛卡尔积,{0,1}*×G3表示{0,1}*和G3的笛卡尔积,G×GT表示G和GT的笛卡尔积;
定义对称密钥空间κ=GT,且定义密钥封装空间C=G×GT
系统参数生成模块生成系统公开参数集params:
params={p,G,GT,e,g,g1,gT,h1,h2,H1,H2},证书中心秘密保存的系统主密钥为msk=α。
所述步骤B中,用户的公钥和用户的长期私钥由用户密钥生成模块产生,其方法如下:
身份为id的用户在中随机选择两个整数x1和x2作为自己的长期私钥LSKid,即并利用系统参数params生成自己的公钥 PK id = ( PK id ( 1 ) , PK id ( 2 ) , PK id ( 3 ) ) = ( g 1 x 1 , g x 1 , g x 2 ) .
所述步骤C中,所述用户的短期证书由短期证书生成模块产生,其方法如下:
用户将自己的身份信息id和公钥PKid提交给证书中心;证书中心随机选择 s 1 , s 2 ∈ Z p * 并计算 d 1 = ( h 1 g - s 1 ) 1 / ( α - β ) d 2 = ( h 2 g - s 2 ) 1 / ( α - β ) , 产生用户id在当前时间周期τ内有效的证书 Cert id , τ = ( Cert id , τ ( 1 ) , Cert id , τ ( 2 ) , Cert id , τ ( 3 ) , Cert id , τ ( 4 ) ) = ( s 1 , d 1 , s 2 , d 2 ) , 其中β=H1(τ,id,PKid);证书中心可通过公开的信道将Certid,τ发送给身份为id的用户。
所述步骤D中,所述用户的短期私钥由短期私钥生成模块产生,其方法如下:
身份为id的用户接收到短期证书 Cert id , τ = ( Cert id , τ ( 1 ) , Cert id , τ ( 2 ) , Cert id , τ ( 3 ) , Cert id , τ ( 4 ) ) 后,将之与自己的长期私钥进行组合,计算出在当前时间周期τ内有效的短期私钥 SSK id , τ = ( SSK id , τ ( 1 ) , SSK id , τ ( 2 ) , SSK id , τ ( 3 ) , SSK id , τ ( 4 ) ) , 其中 SSK id , τ ( 1 ) = ( Cert id , τ ( 2 ) ) 1 / LSK id ( 1 ) = ( h 1 g - s 1 ) 1 / x 1 ( α - β ) , SSK id , τ ( 2 ) = ( Cert id , τ ( 4 ) ) 1 / LSK id ( 1 ) = ( h 1 g - s 2 ) 1 / x 1 ( α - β ) , SSK id , τ ( 3 ) = Cert id , τ ( 1 ) + LSK id ( 1 ) = s 1 + x 1 , SSK id , τ ( 4 ) = Cert id , τ ( 3 ) + LSK id ( 2 ) = s 2 + x 2 .
所述步骤E中,所述对称密钥以及对称密钥的封装由密钥封装模块产生,其方法如下:
在时间周期τ内,发送者使用接收者的公钥PKid和身份id生成一个对称密钥以及对该密钥的封装;发送者首先随机选择分别计算 C 2 = g T r ; 然后计算 K = e ( g , ( h 1 · PK id ( 2 ) ) γ · h 2 · PK id ( 3 ) ) r , 其中γ=H2(C1,C2);发送者以K作为对称密钥,使用一个安全的对称加密算法加密实际的消息,并将C=(C1,C2)作为对称密钥K的封装与消息的密文一并发送给身份为id的接收者。
所述步骤F中,所述恢复对称密钥由密钥解封装模块完成,其方法如下:
在时间周期τ内,接收者接收到加密消息以及对称密钥K的封装C=(C1,C2)后,首先使用自己在当前时间周期τ内的短期私钥 SSK id , τ = ( SSK id , τ ( 1 ) , SSK id , τ ( 2 ) , SSK id , τ ( 3 ) , SSK id , τ ( 4 ) ) 对C=(C1,C2)解封装获得密钥 K = e ( C 1 , ( SSK id , τ ( 1 ) ) γ · SSK id , τ ( 2 ) ) · C 2 γ · SSK id , τ ( 3 ) + SSK id , τ ( 4 ) ; 然后使用密钥K对加密消息进行解密获得明文消息。
本发明的有益效果:本发明提出了一种基于短期证书的密钥封装方法。所述方法将基于证书密钥封装技术与要解密的密文的加密时间信息相结合,设计出了一种新的基于短期证书的密钥封装方法。该方法将用户的证书作不断更新,从而能够基于用户的身份、短期证书以及长期私钥生成用户的短期私钥。由于用户的长期私钥并不参加对称密钥的解封装操作,而是由用户的短期私钥完成解封装,所以用户的长期私钥得到了保护,避免了用户长期私钥的泄露。又由于用户的短期私钥仅能在特定的时间周期内有效,其泄露仅对泄露周期有影响,因此该方法有效降低了私钥泄露产生的损害。此外,与已有的方法相比,该方法在通信代价以及计算效率方面具有明显的优势。因此,本发明所提出方法极大地提高了系统的运行效率,避免了用户长期私钥的泄露,尤其适用于对系统运行效率以及安全性要求高的电子政务以及电子商务。
说明书附图
图1显示了依照现有技术的密码系统的模块图。
图2显示了依照本发明的基于短期证书的密钥封装方法的模块图。
图3显示了依照本发明的密码系统执行的操作流程图。
具体实施方式
下面结合附图,对本发明提出的一种基于短期证书的密钥封装方法进行详细说明:
如图2所示,本发明的基于短期证书的密钥封装方法包括系统参数生成模块1、用户密钥生成模块2、短期证书生成模块3、短期私钥生成模块4、密钥封装模块5、以及密钥解封装模块6。
其中系统参数生成模块1根据输入的安全参数k生成证书中心的主密钥msk以及密码系统的公开参数集params。
用户密钥生成模块2根据用户的身份信息id以及系统参数生成模块1输入的公开参数集params,生成用户的公钥PKid和长期私钥LSKid
短期证书生成模块3根据用户的身份信息id,系统参数生成模块1输入的主密钥msk和公开参数集params,用户密钥生成模块2输入的公钥PKid以及时间周期信息τ,生成用户id在时间周期τ内有效的证书Certid,τ
短期私钥生成模块4根据用户的身份信息id,用户密钥生成模块2输入的长期私钥LSKid以及短期证书生成模块3输入的短期证书Certid,τ,生成用户id在时间周期τ内有效的短期私钥SSKid,τ
密钥封装模块5根据系统参数生成模块1输入的公开参数集params,接收者的身份id,用户密钥生成模块2输入的公钥PKid以及时间周期信息τ,生成一个用于加密/解密消息的对称密钥K以及对称密钥K的封装C。
密钥解封装模块6根据系统参数生成模块1输入的公开参数集params和用户短期私钥生成模块4输入的短期私钥SSKid,τ,对密钥封装模块5输入的封装C进行解封装运算,恢复出对称密钥K。
下面结合附图3,进一步说明本发明的方法中各模块进行操作的具体步骤:
系统参数生成模块1:
如图3所示,该系统参数生成模块1执行如下步骤:
步骤1:根据输入的安全参数k∈Z+,选择一个k比特的大素数p,并生成两个p阶循环群G和GT,以及一个双线性对e:G×G→GT(双线性对e:G×G→GT是笛卡尔积G×G到群GT的映射)。
步骤2:从步骤1获得的循环群G中选择一个生成元g以及两个随机群元素h1和h2,并随机选择(集合),计算g1=gα和gT=e(g,g)。
步骤3:定义两个哈希函数其中H1是笛卡尔积的密码学哈希函数,H2是笛卡尔积G×GT的密码学哈希函数,{0,1}*表示长度不确定的二进制串的集合,G3表示三个群G的笛卡尔积,{0,1}*×G3表示{0,1}*和G3的笛卡尔积,G×GT表示G和GT的笛卡尔积。定义对称密钥空间κ=GT(所有可能对称密钥的集合),且定义密钥封装空间C=G×GT(所有可能对称密钥的封装的集合)。
根据步骤1、2及3的执行结果,该系统参数生成模块1将中的随机数α作为证书中心的主密钥,而将集合{p,G,GT,e,g,g1,gT,h1,h2,H1,H2}作为系统公开参数集params。
用户密钥生成模块2:
该用户密钥生成模块2执行如下步骤:
步骤4:对于用户身份id,在中随机选择两个整数x1和x2作为其长期私钥LSKid,即 LSK id = ( LSK id ( 1 ) , LSK id ( 2 ) ) = ( x 1 , x 2 ) .
步骤5:计算并获得用户id的公钥 PK id = ( PK id ( 1 ) , PK id ( 3 ) ) = ( g 1 x 1 , g x 1 , g x 2 ) .
短期证书产生模块3:
该短期证书生成模块3执行如下步骤:
步骤6:此时假设在周期τ内,对于用户身份id和公钥PKid,计算β=H1(τ,id,PKid)。
步骤7:随机选择计算并获得用户id在时间周期τ内有效的短期证书 Cert id , τ = ( Cert id , τ ( 1 ) , Cert id , τ ( 2 ) , Cert id , τ ( 3 ) , Cert id , τ ( 4 ) ) = ( s 1 , ( h 1 g - s 1 ) 1 / ( α - β ) , s 2 , ( h 2 g - s 2 ) 1 / ( α - β ) ) .
短期私钥生成模块4:
该短期私钥生成模块4执行如下步骤:
步骤8:此时假设在时间周期τ内,根据用户密钥生成模块2的输出结果LSKid=(x1,x2)以及短期证书生成模块3的输出结果 Cert id , τ = ( s 1 , ( h 1 g - s 1 ) 1 / ( α - β ) , s 2 , ( h 2 g - s 2 ) 1 / ( α - β ) ) , 计算并获得用户id在时间周期τ内有效的短期私钥:
SSK id , τ = ( SSK id , τ ( 1 ) , SSK id , τ ( 2 ) , SSK id , τ ( 3 ) , SSK id , τ ( 4 ) ) = ( ( ( h 1 g - s 1 ) 1 / ( α - β ) ) 1 / x 1 , ( ( h 1 g - s 2 ) 1 / ( α - β ) ) 1 / x 1 , s 1 + x 1 , s 1 + x 2 )
密钥封装模块5:
该密钥封装模块5执行如下步骤:
步骤9:此时假设在时间周期τ内,根据接收者的身份id和公钥 PK id = ( PK id ( 1 ) , PK id ( 2 ) , PK id ( 3 ) ) , 计算β=H1(τ,id,PKid)。
步骤10:随机选择 r ∈ Z p * , 计算 C 1 = ( PK id ( 1 ) · ( PK id ( 2 ) ) - β ) r C 2 = g T r , 从而获得密钥封装C=(C1,C2)。
步骤11:根据步骤10的输出结果C=(C1,C2),计算γ=H2(C1,C2),进而计算并获得对称密钥 K = e ( g , ( h 1 · PK id ( 2 ) ) γ · h 2 · PK id ( 3 ) ) r .
密钥解封装模块6:
该密钥解封装模块6执行如下步骤:
步骤12:此时假设在时间周期τ内,根据密钥封装C=(C1,C2)以及接收者的短期私钥 SSK id , τ = ( SSK id , τ ( 1 ) , SSK id , τ ( 2 ) , SSK id , τ ( 3 ) , SSK id , τ ( 4 ) ) , 计算γ=H2(C1,C2),进而计算并获得对称密钥 K = e ( C 1 , ( SSK id , τ ( 1 ) ) γ · SSK id , τ ( 2 ) ) · C 2 γ · SSK id , τ ( 3 ) + SSK id , τ ( 4 ) .
本发明的应用实施例
下面将对如上所述的依照本发明的密钥封装方法应用于企业中的情形进行具体说明。
在实际应用中,本发明的密钥封装方法可与一个安全的对称加密方法相结合,构成一个混合加密系统。该系统应用本发明的密钥封装方法封装/解封装对称加密方法的对称密钥,而使用对称加密方法加密/解密实际的消息。依照本发明的步骤,当某某公司使用本发明的密钥封装方法构成加密系统时,可由系统参数生成模块1生成系统公开参数集params={p,G,GT,e,g,g1,gT,h1,h2,H1,H2},可以将该公司的每个员工的职工卡号看作一个员工的身份id。由用户密码生成模块2根据系统参数和身份id,生成该用户的公钥PKid和长期私钥LSKid,同时将该用户的长期私钥LSKid存放在公司或用户的安全的设备(如公司的刷卡机)中。每天,该公司的密码系统由短期证书生成模块3生成用户当天的短期证书,然后根据安全设备中用户的长期私钥,由短期私钥生成模块4生成用户当天有效的短期私钥,并存放于该员工的职工卡中或导入到不太安全的设备(如职工的个人电脑)中。对于时间周期τ,可直接设为当天的日期。例如,若当天的日期是2013年1月25日,则时间周期τ=20130125。由于该员工并不知道自己的长期私钥,因此长期私钥不会因短期私钥的泄露或职工卡的遗失而泄露。
当该公司的某个员工向另一个员工发送加密消息时,该公司的加密系统首先由密钥封装模块5根据接收者的身份和当天的时间周期生成一个密钥及其封装;然后由对称加密方法使用生成的对称密钥对待发送的消息加密获得消息密文;最后对称密钥封装和消息密文一并发送给接收者。在某个员工须对接收到的密文解密时,该员工利用职工卡进行刷卡即可。该公司的加密系统根据该员工职工卡中储存的短期私钥对密文中的密钥封装部分进行解封装恢复对称密钥,然后使用该对称密钥解密消息密文,从而获得消息明文。
综上所述,本发明将用户的长期私钥存放在安全的设备中,并且用户的长期私钥不参与实际的解密。应用本发明方法的密码系统每天都根据存放于安全设备中的长期私钥生成仅在当天有效的短期私钥,并将短期私钥存放于不太安全的员工设备中。由于短期私钥仅能对当天接收到的密文进行解密,因此短期私钥泄露所产生的损害被限制在当天,且不会危及长期私钥的安全性。
所以,本发明带来的有益效果是:本发明将基于证书密钥封装技术与要解密的密文的加密时间信息相结合,设计出了一种新的基于短期证书的密钥封装方法。该方法将用户的证书作不断更新,从而能够基于用户的身份、短期证书以及长期私钥生成用户的短期私钥。由于用户的长期私钥并不参加对称密钥的解封装操作,而是由用户的短期私钥完成解封装,所以用户的长期私钥得到了保护,避免了用户长期私钥的泄露。又由于用户的短期私钥仅能在特定的时间周期内有效,其泄露仅对泄露周期有影响,因此该方法有效降低了私钥泄露产生的损害。此外,与已有的方法相比,该方法在通信代价以及计算效率方面具有明显的优势。因此,本发明所提出方法极大地提高了系统的运行效率,避免了用户长期私钥的泄露,尤其适用于对系统运行效率以及安全性要求高的电子政务以及电子商务。
对该技术领域的普通技术人员来说,根据以上实施类型可以很容易地联想到其它的优点和变形。因此,本发明并不局限于上述具体实施例,其仅仅作为例子对本发明的一种形态进行详细、示范性的说明。在不背离本发明宗旨的范围内,本领域普通技术人员可以根据上述实施例通过各种等同替换所得到的技术方案,但是这些技术方案均应包含在本发明的权利要求的范围及其等同的范围之内。

Claims (4)

1.一种基于短期证书的密钥封装方法,其特征在于,包含步骤如下:
步骤A,生成系统主密钥和系统公开参数集;所述系统主密钥和系统公开参数集的生成方法如下:
证书中心根据设定的安全参数k∈Z+,Z+是正整数集合,选择一个k比特的大素数p,并生成两个p阶循环群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为因变量;
从循环群G中选择一个生成元g以及两个随机群元素h1和h2,并随机选择集合计算g1=gα和gT=e(g,g);
定义两个哈希函数H1是笛卡尔积的密码学哈希函数,H2是笛卡尔积G×GT的密码学哈希函数,{0,1}*表示长度不确定的二进制串的集合,G3表示三个群G的笛卡尔积,{0,1}*×G3表示{0,1}*和G3的笛卡尔积,G×GT表示G和GT的笛卡尔积;
定义对称密钥空间且定义密钥封装空间
从而生成系统公开参数集params:
params={p,G,GT,e,g,g1,gT,h1,h2,H1,H2},证书中心秘密保存的系统主密钥为msk=α;
步骤B,根据所述系统公开参数集生成用户的公钥和用户的长期私钥;所述用户的公钥和用户的长期私钥的生成方法如下:
身份为id的用户在中随机选择两个整数x1和x2作为自己的长期私钥LSKid,即并利用系统公开参数集params生成自己的公钥 PK i d = ( PK i d ( 1 ) , PK i d ( 2 ) , PK i d ( 3 ) ) = ( g 1 x 1 , g x 1 , g x 2 ) ;
步骤C,根据所述系统主密钥和系统公开参数集、用户的身份和用户的公钥,生成用户的短期证书;所述用户的短期证书,其产生方法如下:
用户将自己的身份信息id和公钥PKid提交给证书中心;证书中心随机选择 s 1 , s 2 ∈ Z p * 并计算 d 1 = ( h 1 g - s 1 ) 1 / ( α - β ) d 2 = ( h 2 g - s 2 ) 1 / ( α - β ) , 产生用户id在当前时间周期τ内有效的证书 Cert i d , τ = ( Cert i d , τ ( 1 ) , Cert i d , τ ( 2 ) , Cert i d , τ ( 3 ) , Cert i d , τ ( 4 ) ) = ( s 1 , d 1 , s 2 , d 2 ) , 其中β=H1(τ,id,PKid);证书中心可通过公开的信道将Certid,τ发送给身份为id的用户;
步骤D,根据所述系统公开参数集、用户的身份、用户的长期私钥和用户的短期证书,生成用户的短期私钥;
步骤E,根据所述系统公开参数集、用户的身份和用户的公钥,生成用于加密消息的对称密钥以及对称密钥的封装;
步骤F,根据所述系统公开参数集、用户的短期私钥以及对称密钥的封装,恢复对称密钥。
2.根据权利要求1所述的一种基于短期证书的密钥封装方法,其特征在于,所述步骤D中,所述用户的短期私钥,其产生方法如下:
身份为id的用户接收到短期证书 Cert i d , τ = ( Cert i d , τ ( 1 ) , Cert i d , τ ( 2 ) , Cert i d , τ ( 3 ) , Cert i d , τ ( 4 ) ) 后,将之与自己的长期私钥进行组合,计算出在当前时间周期τ内有效的短期私钥其中 SSK i d , τ ( 1 ) = ( Cert i d , τ ( 2 ) ) 1 / LSK i d ( 1 ) = ( h 1 g - s 1 ) 1 / x 1 ( α - β ) , SSK i d , τ ( 2 ) = ( Cert i d , τ ( 4 ) ) 1 / LSK i d ( 1 ) = ( h 1 g - s 2 ) 1 / x 1 ( α - β ) , SSK i d , τ ( 3 ) = Cert i d , τ ( 1 ) + LSK i d ( 1 ) = s 1 + x 1 , SSK i d , τ ( 4 ) = Cert i d , τ ( 3 ) + LSK i d ( 2 ) = s 2 + x 2 .
3.根据权利要求2所述的一种基于短期证书的密钥封装方法,其特征在于,所述步骤E中,所述对称密钥以及对称密钥的封装,其方法如下:
在时间周期τ内,发送者使用接收者的公钥PKid和身份id生成一个对称密钥以及对该密钥的封装;发送者首先随机选择分别计算 C 2 = g T r ; 然后计算 K = e ( g , ( h 1 · PK i d ( 2 ) ) γ · h 2 · PK i d ( 3 ) ) r , 其中γ=H2(C1,C2);发送者以K作为对称密钥,使用一个安全的对称加密算法加密实际的消息,并将C=(C1,C2)作为对称密钥K的封装与消息的密文一并发送给身份为id的接收者。
4.根据权利要求3所述的一种基于短期证书的密钥封装方法,其特征在于,所述步骤F中,所述恢复对称密钥,其方法如下:
在时间周期τ内,接收者接收到加密消息以及对称密钥K的封装C=(C1,C2)后,首先使用自己在当前时间周期τ内的短期私钥对C=(C1,C2)解封装获得密钥 K = e ( C 1 , ( SSK i d , τ ( 1 ) ) γ · SSK i d , τ ( 2 ) ) · C 2 γ · SSK i d , τ ( 3 ) + SSK i d , τ ( 4 ) ; 然后使用密钥K对加密消息进行解密获得明文消息。
CN201310196758.2A 2013-05-22 2013-05-22 一种基于短期证书的密钥封装方法 Expired - Fee Related CN103269272B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310196758.2A CN103269272B (zh) 2013-05-22 2013-05-22 一种基于短期证书的密钥封装方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310196758.2A CN103269272B (zh) 2013-05-22 2013-05-22 一种基于短期证书的密钥封装方法

Publications (2)

Publication Number Publication Date
CN103269272A CN103269272A (zh) 2013-08-28
CN103269272B true CN103269272B (zh) 2016-03-02

Family

ID=49012882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310196758.2A Expired - Fee Related CN103269272B (zh) 2013-05-22 2013-05-22 一种基于短期证书的密钥封装方法

Country Status (1)

Country Link
CN (1) CN103269272B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639322B (zh) * 2013-11-13 2018-08-24 航天信息股份有限公司 带有证书的含有属性的基于身份加密的方法
CN104320249B (zh) * 2014-11-04 2017-09-19 马鞍山城智信息技术有限公司 一种基于身份的抗弹性泄漏加密方法
CN104868993A (zh) * 2015-05-15 2015-08-26 河海大学 一种基于证书的两方认证密钥协商方法及系统
US10868677B2 (en) 2018-06-06 2020-12-15 Blackberry Limited Method and system for reduced V2X receiver processing load using certificates
CN112464267B (zh) * 2020-12-07 2024-04-02 中国标准化研究院 一种电子文件的封装方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233341B1 (en) * 1998-05-19 2001-05-15 Visto Corporation System and method for installing and using a temporary certificate at a remote site
CN101459506A (zh) * 2007-12-14 2009-06-17 华为技术有限公司 密钥协商方法、用于密钥协商的系统、客户端及服务器
CN102369547A (zh) * 2009-03-26 2012-03-07 诺基亚公司 用于以最少数据传递提供离线支付交易的方法和装置
CN102420691A (zh) * 2011-12-16 2012-04-18 河海大学 基于证书的前向安全签名方法及系统
CN102523093A (zh) * 2011-12-16 2012-06-27 河海大学 一种带标签的基于证书密钥封装方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233341B1 (en) * 1998-05-19 2001-05-15 Visto Corporation System and method for installing and using a temporary certificate at a remote site
CN101459506A (zh) * 2007-12-14 2009-06-17 华为技术有限公司 密钥协商方法、用于密钥协商的系统、客户端及服务器
CN102369547A (zh) * 2009-03-26 2012-03-07 诺基亚公司 用于以最少数据传递提供离线支付交易的方法和装置
CN102420691A (zh) * 2011-12-16 2012-04-18 河海大学 基于证书的前向安全签名方法及系统
CN102523093A (zh) * 2011-12-16 2012-06-27 河海大学 一种带标签的基于证书密钥封装方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
可证明安全的基于身份的认证密钥协商协议;高海英;《计算机研究与发展》;20121231;第49卷(第8期);1685-1689 *

Also Published As

Publication number Publication date
CN103269272A (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN103647642B (zh) 一种基于证书代理重加密方法及系统
CN102811125B (zh) 基于多变量密码体制的无证书多接收者签密方法
CN105743646B (zh) 一种基于身份的加密方法及系统
CN105024994A (zh) 无对运算的安全无证书混合签密方法
CN102523093B (zh) 一种带标签的基于证书密钥封装方法及系统
CN104767612B (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN101594228B (zh) 证书公钥系统与身份公钥系统之间的认证加密方法
CN1859090B (zh) 一种基于身份的密码方法和系统
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN104168114A (zh) 一种分布式的基于(k,n)门限证书加密方法及系统
CN103746811B (zh) 从身份公钥系统到证书公钥系统的匿名签密方法
CN101471776A (zh) 基于用户身份标识防止pkg伪造签名的方法
CN104868993A (zh) 一种基于证书的两方认证密钥协商方法及系统
CN103269272B (zh) 一种基于短期证书的密钥封装方法
CN110113150A (zh) 基于无证书环境的可否认认证的加密方法和系统
CN104767611B (zh) 一种从公钥基础设施环境到无证书环境的签密方法
KR20030008183A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 원형서명 방법
CN104301108A (zh) 一种从基于身份环境到无证书环境的签密方法
CN107086912B (zh) 一种异构存储系统中的密文转换方法、解密方法及系统
CN104519071A (zh) 一种具有选择和排除功能的群组加解密方法及系统
CN104158880A (zh) 一种用户端云数据共享解决方法
CN104393996A (zh) 一种基于无证书的签密方法和系统
CN104052601A (zh) 一种密钥隔离签密方法
CN103916248A (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160302

Termination date: 20190522

CF01 Termination of patent right due to non-payment of annual fee