技术领域:
[0001] 本
发明属于计算机信息安全技术领域,涉及一种签密方法,尤其是一种在标准模型下可证安全的基于属性的签密方法。背景技术:
[0002] 1984年Shamir提出了基于身份的公钥
密码体制,其基本思想是用户采用自己的身份信息作为公钥,而用户的私钥由一个可信的第三方产生。基于身份的公钥密码体制以较低的代价解决了基于证书的公钥体制中证书与用户身份的绑定问题,但是也带来了另一个问题就是会
泄漏用户身份信息。2005年在欧密会上首次提出了模糊身份的概念,这就是基于属性密码系统的雏形。在一个属性基加密方法中,每个用户都拥有一组属性,一个中心机构拥有一个主密钥。当用户第一次加入属性基加密系统时,中心机构根据该用户的属性,利用主密钥为其产生一个密钥。加密者可以利用一组属性来加密消息,使得只有属性与密文中要求的属性相匹配的用户才能利用其密钥解密密文。由于不同的用户可能有部分相同的属性,所以属性基加密方法可以实现一对多的安全的数据传输,同时它也可以容易地实现解密者身份的隐藏。
[0003] 在基于属性密码的实际应用中解密者有可能需要对自己收到的密文进行认证。比如,属性集合为A1的用户收到属性集合为A2的用户发送的密文C,接收者不仅要解密该密文,而且要验证C的发送者是属性集合为A1的用户。这时,就要同时用到基于属性的加密和签名两项功能。如果用传统的先签名后加密,则它的计算量和通信成本都将会增加。同时,由于在随机预言机模型中,哈希函数被看作为一个完全随机的理想模型,是一个很强的要求。因此在随机预言机模型下是可证安全的签密方案在具体应用中却无法构造出相应的实例。所以,构造标准模型下安全的基于属性的签密方案既具有较高的安全性同时也具有现实意义,是亟待解决的问题。发明内容:
[0004] 本发明的目的在于将线性码上的属性基密码构造方法引入签密之中,提出了一个线性码上的基于属性的签密方法。该方法可以在一个合理的逻辑步骤内同时完成基于属性加密和基于属性签名两项功能,既可以做到对消息的保密传输,还可以对签密者所含的属性进行认证。同时,该方法在标准模型下满足机密性,即在MBDH假设下适应性选择密文攻击下的不可区分性。
[0005] 本发明的目的是通过以下技术方案来解决的:
[0006] 本发明是标准模型下安全的基于属性的签密方法。所述签密为在一个逻辑步骤内同时实现数字签名和加密两种功能。所述签名为发送方以
电子形式签名一个消息或文件,签名后的消息或文件能在
计算机网络中传送,并表示签名人对该消息或文件的内容负有责任;所述加密为利用技术手段把重要数据进行编码传送。
[0007] 该方法按照以下步骤实施
[0008] 步骤一、系统建立
[0009] 1)给定安全系数κ,密钥生成中心(PKG)任意选取素数p阶的循环群G1,G2,g是G1的生成元,双线性映射e:G1*G1→G2,全部属性集合A={1,2,…,n-1};
[0010] 2)PKG选取一个
密码学哈希函数H:{0,1}*→Zp;
[0011] 3)PKG随机选取y∈Zp,计算Y=e(g,g)y;
[0012] 4)PKG随机选取整数l1,l2,...,ln-1∈Zp,li对应于某项属性i∈A,计算[0013] 则系统参数为params={L1,L2,...,Ln-1,Y},主密钥为{l1,l2,...,ln-1,y}。
[0014] 步骤二、用户密钥生成
[0015] 令C是一个[n,k;p]线性码且生成矩阵G=(g0,g1,...,gn-1)k×n,则基于属性集A的线性码C上秘密共享体制的
访问结构 随机选择向量 使得y=ug0。令As和Ae分别是签密者P1的签名属性集和加密属性集,其中As是线性码C上秘密共享体制的访问结构ΓA中的授权子集,即As∈ΓA。Au是接收者P2的属性集。对某一系统用户p,该用户的属性集合是A的一个子集,记作Ap,则用户p的私钥为其中 i∈Ap。具体地,
[0016] 1)签名私钥为 其中 i∈As。
[0017] 2)解密私钥为 其中 i∈Au∩Ae。
[0018] 步骤三、签密
[0019] 假设签密者P1想要给接收者发送签密消息,其中要签密的消息为M∈G2。
[0020] 1)在Zp上选取随机数x,计算
[0021] 2)计算r=H1(ε||M);
[0022] 3)计算
[0023] 4)计算E=M*Yx;
[0024] 5)则密文为C=(As,Ae,E,ε,s)。
[0025] 步骤四、解签密
[0026] 当接收者P2接收到密文C=(As,Ae,E,ε,s)时,执行如下步骤:
[0027] 1)计算 其中λi是接收者P2计算的满足 的系数。
[0028] 2)计算M=E/β;
[0029] 3)计算r=H1(ε||M);
[0030] 4)计算 υ'=βr,其中αi是接收者P2计算的满足 的系数。
[0031] 如果υ=υ',验证通过,所得消息有效,返回解密后的信息M;否则输出拒绝。
[0032] 本发明具有以下有益效果
[0033] 本发明针对签密使用环境中,系统只需要机密性或认证性时,系统必须使用额外的加密
算法或签名算法,增加系统负担;签密过程无法实现一对多的安全的数据传输以及解密者身份的隐藏;随机预言机模型下安全方案现实中无法构建具体实例等问题。本发明利用双线性对技术,基于线性码定义灵活的访问结构,提出标准模型下安全的基于属性的签密方法解决上述问题。基于计算性Diffie-Hellman假设和判定性双线性Diffie-Hellman假设下,本发明能够满足不可伪造性和机密性。本发明提供电子文档的标准模型下安全的基于属性的签密,保护了电子文档的机密性、完整性、不可伪造性和不可否认性。
附图说明:
[0034] 图1为本发明提供的属性基签密方法的
流程图;
[0035] 图2为本发明提供的属性基签密装置的结构示意图。具体实施方式:
[0036] 下面结合附图对本发明做进一步详细描述:
[0037] 参见图1、2,本发明是标准模型下安全的基于属性的签密方法。所述签密为在一个逻辑步骤内同时实现数字签名和加密两种功能。所述签名为发送方以电子形式签名一个消息或文件,签名后的消息或文件能在计算机网络中传送,并表示签名人对该消息或文件的内容负有责任;所述加密为利用技术手段把重要数据进行编码传送。
[0038] 该方法按照以下步骤实施
[0039] 步骤一、系统建立
[0040] 1)给定安全系数κ,密钥生成中心(PKG)任意选取素数p阶的循环群G1,G2,g是G1的生成元,双线性映射e:G1*G1→G2,全部属性集合A={1,2,…,n-1};
[0041] 2)PKG选取一个密码学哈希函数H:{0,1}*→Zp;
[0042] 3)PKG随机选取y∈Zp,计算Y=e(g,g)y;
[0043] 4)PKG随机选取整数l1,l2,...,ln-1∈Zp,li对应于某项属性i∈A,计算[0044] 则系统参数为params={L1,L2,...,Ln-1,Y},主密钥为{l1,l2,...,ln-1,y}。
[0045] 步骤二、用户密钥生成
[0046] 令C是一个[n,k;p]线性码且生成矩阵G=(g0,g1,...,gn-1)k×n,[0047] 则 基 于 属 性 集 A 的 线 性 码 C 上 秘 密 共 享 体 制 的 访 问 结 构随机选择向量 使得y=ug0。令As和Ae分别是签密者P1的签名属性集和加密属性集,其中As是线性码C上秘密共享体制的访问结构ΓA中的授权子集,即As∈ΓA。Au是接收者P2的属性集。对某一系统用户p,该用户的属性集合是A的一个子集,记作Ap,则用户p的私钥为 其中 i∈Ap。
[0048] 具体地,
[0049] 1)签名私钥为 其中 i∈As。
[0050] 2)解密私钥为 其中 i∈Au∩Ae。
[0051] 步骤三、签密
[0052] 假设签密者P1想要给接收者发送签密消息,其中要签密的消息为M∈G2。
[0053] 1)在Zp上选取随机数x,计算
[0054] 2)计算r=H1(ε||M);
[0055] 3)计算
[0056] 4)计算E=M*Yx;
[0057] 5)则密文为C=(As,Ae,E,ε,s)。
[0058] 步骤四、解签密
[0059] 当接收者P2接收到密文C=(As,Ae,E,ε,s)时,执行如下步骤:
[0060] 1)计算 其中λi是接收者P2计算的满足 的系数。
[0061] 2)计算M=E/β;
[0062] 3)计算r=H1(ε||M);
[0063] 4)计算 υ'=βr,其中αi是接收者P2计算的满足 的系数。
[0064] 如果υ=υ',验证通过,所得消息有效,返回解密后的信息M;否则输出拒绝。
[0065] 本发明具有以下有益效果
[0066] 本发明针对签密使用环境中,系统只需要机密性或认证性时,系统必须使用额外的加密算法或签名算法,增加系统负担;签密过程无法实现一对多的安全的数据传输以及解密者身份的隐藏;随机预言机模型下安全方案现实中无法构建具体实例等问题。本发明利用双线性对技术,基于线性码定义灵活的访问结构,提出标准模型下安全的基于属性的签密方法解决上述问题。基于计算性Diffie-Hellman假设和判定性双线性Diffie-Hellman假设下,本发明能够满足不可伪造性和机密性。本发明提供电子文档的标准模型下安全的基于属性的签密,保护了电子文档的机密性、完整性、不可伪造性和不可否认性。
[0067] 下面分别给出本发明标准模型下安全的基于属性签密方法的正确性和安全性证明:
[0068] ·正确性
[0069]
[0070] 故M=E/β,r=H1(ε||M),可算得υ'=βr;又
[0071]
[0072] 验证υ=υ',若等式成立,则消息有效,返回解密后的信息M;否则,输出拒绝。
[0073] ·机密性
[0074] 证明:
[0075] 假设伪造者A能以不可忽略的优势ò攻击本方案,则能够构造算法B以至少ò/2的优势解决群G1中的计算性Diffie-Hellman问题,具体实施构造步骤如下:
[0076] 区分者把作为子程序来解决一个随机的问题实例,即给定g,ga,gb,gc,Z,判定是否成立。B模拟A的挑战者,且接收挑战的加密属性集
[0077] 初始化:B按照下面方法分配公钥参数。令Y=e(g,A)=e(g,g)a,全部属性集合A={1,2,…,n-1}。对于所有的i∈A,若 随机选择βi∈Zp且令 (故li=cβi);若 则随机γi∈Zp且令 (故li=γi)。并将公钥参数PK发给敌手A,在他看来这些参数就像是按照签密系统随机产生的。
[0078] 阶段1:当敌手A发起一定数量的询问时,算法B进行如下响应:
[0079] 1)私钥询问:当敌手A对于属性集ωu且 时,我们定义解密秘钥Di,如果 令 其中ki∈Zp;否则,令 其中γi∈Zp。对于 ugi=cβiki,且对于 我们有ugi=ξi,B能
够构造其私钥。
[0080] 2)解签密询问:在满足 的情况下,敌手A对密文C=(ωs,ωe,E,ε,s)发起解签密询问时,假设A提供属性集ωu,i,算法B运行私钥提取算法,并将签密结果传送给A。
[0081] 挑战阶段:敌手A提交两个相同长度的消息M0andM1,B随机选取ν∈{0,1},则将C*发送给A,继续随机选取μ∈{0,1}。
[0082] 如果μ=0,则 令 则
[0083]
[0084]
[0085]
[0086] 如果μ=1,则Z=e(g,g)z,那么E'=Mνe(g,g)z。由于z是随机选取的,E'是群G2中的一个随机元,故明文不包含Mν的任何消息。
[0087] 阶段2:敌手A按照第一步中定义的查询再次进行询问
[0088] 猜想:敌手A输出对ν的猜想ν'。如果ν=ν',B输出μ'=0,令 如果B输出μ'=1,则Z是群G2中的一个随机数。
[0089] 下面计算B成功的概率。
[0090] 当μ=1时,A不会得到有关ν的任何信息。因此我们可得 由于当ν≠ν',B猜想μ'=1,故
[0091] 当μ=0 时 ,A看 到关 于Mν的 一个 签密 。定 义A的 优 势为 ,可 得由于当ν=ν',B猜想μ'=1,故
[0092] 所以B的优势是:
[0093]
[0094] 即当伪造者A能以不可忽略的优势ò攻击本方案,能够构造算法B以至少ò/2的优势解决群G1中的计算性Diffie-Hellman问题。
[0095] 注:如图2所示,属性基签密装置包括建立单元,接收单元,解密验证单元。
[0096] 1)建立单元,用于中心机构建立基于线性码秘密共享体制的属性基签密系统。
[0097] 2)接收单元,用于接收中心机构发送的密钥,所述密钥是由中心机构通过线性码上的秘密共享理论体系、属性基签密系统的主密钥以及P1、P2的属性集生成的,所要用到的属性基签密系统的公共参数、属性基签密系统的主密钥是通过中心机构的安全参数生成的。所述接收单元还用于,接收签密方P1发送的密文,所述密文是由其密钥、系统主密钥以及公共参数生成的。
[0098] 接收单元还包括输入子单元,输出子单元
[0099] 所述输入子单元,用于输入安全参数,生成属性基签密系统的主密钥,属性基签密系统的公共参数以及P1、P2的属性集。
[0100] 所述输出子单元,用于输出签密方P1和解密方P2的密钥以及密文。
[0101] 3)解密验证单元,P2的属性集Au满足Au∩Ae∈ΓA时,在通过其相应密钥解密密文的同时,利用公共参数和双线性群产生算法验证所述密钥的正确性。
[0102] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的
权利要求书确定
专利保护范围。