本发明属于区块链的隐私保护密码技术领域,具体涉及一种基于密码技术的隐私保护方法。
背景技术:
区块链是一场始料未及的革命,区块链被称为是第二代互联网,并将颠覆现有的互联网生态。区块链的安全性和隐私保护特性是推动区块链发展的重要因素。但是区块链不是无条件安全,区块链中的隐私问题也不能得到完全的保护。近年来,区块链隐私泄露等安全问题频发。2016年6月17日,黑客偷取了众筹超过1.5亿美元的分布式自治组织thedao中
区块链的隐私保护及安全性研究受到各国机构和研究学者的关注。2017年9月19日,美国参议院通过了一项7000亿美元的国防法案,要求“一份关于区块链技术和其他分布式数据库技术的潜在进攻和防守的网络应用,以及一项由国外力量、极端组织以及犯罪网络利用这些技术的研究报告评估”,主要是要针对区块链的隐私保护和安全性展开研究,区块链的隐私保护研究涉及了各种密码技术。
大数据给我们的生活带来了很多的好处,同时,大数据的发展过程中也存在很多的缺陷。首先,数据的利用率很低,大量的数据处在空闲状态,占用了大量的存储空间。第二,大数据的安全性和隐私保护也存在很多的缺陷,大数据的运用泄露了大量的个人隐私信息同时也带来了其他安全问题,这些泄露的数据,可以被非法分子用来进行违法行为。同时,大数据的传输效率和传输准确率也存在众多的问题,区块链被认为是解决大数据面临问题的理想方案。
技术实现要素:
本申请的目的在于提供一种基于密码技术的隐私保护方法可以在一定程度上解决区块链的隐私保护和性能问题。
本申请实施例提供了一种基于密码技术的隐私保护方法,该方法包括:
s1:用户通过秘密信道将真实身份id发送给注册中心,注册中心对用户的身份进行认证;
s2:用户收到qid后,将qid发送给密钥颁发中心,密钥颁发中心先验证用户的身份;
s3:群签名的生成由群成员和中间机构一起完成,群成员利用签名私钥对消息进行签名后,发送给中间机构进行二次签名,这样得到的才是完整的群签名;
s4:签名接收者得到群签名,可通过验证等式是否成立来验证签名的有效性。若所述等式成立,则证明该签名有效;否则,签名无效;
s5:一旦有争议发生,可由注册中心和中间机构合作来打开签名,并验证签名者的真实身份。
优选的,s1步骤中注册中心随机选取整数r,并计算qid=h1(id||r),将qid发送给用户和密钥颁发中心,并为用户生成记录(id,r,qid)加入成员表中,便于管理。用户注册成为群成员时,注册中心选取随机数r隐藏了用户的真实身份信息,即使是为群成员生成签名所用私钥的密钥颁发中心也不知道用户的真实身份。而且给定某个消息的有效群签名,只有中间机构和注册中心联合起来才能打开签名,得到签名者的真实身份,任何其他人要确定签名者的身份在计算上都是不可行的。
优选的,用户身份验证通过后,密钥颁发中心随机选取整数t∈zn*,计算zid=tnqidmodn2,并计算得到(x,y),并将生成的密钥(x,y1)发送给用户作为群签名的私钥,用户成为群中合法成员;以及将(t,zid)发送给中间机构保存和使用。
优选的,x、y、y1的计算公式如下:
优选的,系统给定一个消息m,群成员选取两个随机数a∈zn、b∈zn*,计算r=ga·bnmodn2和c=h2(m,r),利用群签名的私钥(x,y1)生成(s1,s2)如下:s1=a-cxmodn、
优选的,群成员将qid和群签名为(r,c,s1,s2)发送给中间机构并请求签名帮助,中间机构与注册中心交互验证该成员的签名权限是否被撤销。生成的每个群签名中都有包含用户身份id的zid,因此方案本身不会提供不可关联性。但是如果每次签名选用不同的随机数r或者t,便可达到不可关联性的效果。
优选的,中间机构将得到的群签名(r,c,zid,s1,s3)发送给签名接收者。注册中心保存有用户的真实身份,群签名生成时使用的私钥都是根据每个成员的身份信息生成的,中间机构也会根据qid为请求签名的用户生成二次签名,因此,给定一个具体的群签名,注册中心和中间机构联合起来可以很容易的鉴别出实际的签名者的身份。
优选的,s4步骤中的等式如下:
优选的,中间机构首先验证s3=s2·t-cmodn是否成立,若成立则计算,
优选的,可信机构pkg执行一个算法,输入安全参数k,得到两个大素数p和q,并计算n=pq,λ=lcm(p-1,q-1)。另外,选取参数
优选的,注册中心在成员表中查找是否存在相应的(id1,r1),使得h1(id1||r1)=h如果存在,返回签名者的身份id。由于每个群成员只知道自己拥有的部分私钥,并不知道其他群成员拥有的私钥,也不知道中间机构拥有的部分私钥,因此不能冒用其他群成员的身份完成签名过程。并且由于方案中注册中心、密钥颁发中心都是相互独立,并且注册中心只知道用户的真实身份id及其隐藏后的身份标识信息qid,不能得到用于群签名的密钥;密钥颁发中心虽然拥有可以伪造签名的签名密钥,但是并不知道用户的真实身份,而可信的中间机构在进行二次签名时会保存qid,因此注册中心和密钥颁发中心都不能伪造签名。另外,注册中心和中间机构联合起来可以打开签名,验证签名者的真实身份。在注册中心和密钥颁发中心不相互勾结,中间机构可信的情况下,签名者身份的真实性可以得到有效验证,任何人(包括注册中心、密钥颁发中心和中间机构)都是不能伪造签名的。
本申请提供的一种基于密码技术的隐私保护方法,该方法根据分权的原则,将群管理员的角色划分为两个部分,注册中心和密钥颁发中心,在这里假设注册中心和密钥颁发中心相互独立,不会相互勾结。注册中心只负责用户的注册,并通过选取随机数隐藏用户的真实身份。根据注册中心返回的含有用户身份的信息,密钥颁发中心先对其进行一定的处理,然后为用户生成群签名的私钥,密钥颁发中心所做的处理是为了便于将密钥分成两个部分,分别秘密地发送给群成员和可信的中间机构保存和使用。这样,一个完整的群签名的生成需要由签名者和中间机构一起完成,这样可以防止密钥颁发中心冒用群成员的身份伪造签名,并且中间机构可以在签名过程中对指定用户的签名权限进行有效的撤销。该方法满足群签名方案的所有安全性要求,并且能有效继承原有基于身份的签名方案的优点,适用于规模较大和动态变化的群,可以应用于匿名访问控制方案中,可以在一定程度上解决区块链的隐私保护和性能问题。
附图说明
包括附图以提供对实施例的进一步理解并且附图被并入本说明书中并且构成本说明书的一部分。附图图示了实施例并且与描述一起用于解释本发明的原理。将容易认识到其它实施例和实施例的很多预期优点,因为通过引用以下详细描述,它们变得被更好地理解。附图的元件不一定是相互按照比例的。同样的附图标记指代对应的类似部件。
图1是本发明的实施例的基于密码技术的隐私保护方法的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面将结合附图1对本发明作详细的介绍,本发明的一种基于密码技术的隐私保护方法,该方法包括系统创建、成员加入、签名生成、签名验证和打开。
在一些具体实施例中,用户通过秘密信道将真实身份id发送给注册中心,注册中心对用户的身份进行认证后。注册中心随机选取整数r,并计算qid=h1(id||r),将qid发送给用户和密钥颁发中心,并为用户生成记录(id,r,qid)加入成员表中,便于管理。用户注册成为群成员时,注册中心选取随机数r隐藏了用户的真实身份信息,即使是为群成员生成签名所用私钥的密钥颁发中心也不知道用户的真实身份。而且给定某个消息的有效群签名,只有中间机构和注册中心联合起来才能打开签名,得到签名者的真实身份,任何其他人要确定签名者的身份在计算上都是不可行的。
在一些具体实施例中,用户收到qid后,将qid发送给密钥颁发中心,密钥颁发中心先验证用户的身份。用户身份验证通过后,密钥颁发中心随机选取整数t∈zn*,计算zid=tnqidmodn2,并计算得到(x,y),并将生成的密钥(x,y1)发送给用户作为群签名的私钥,用户成为群中合法成员;以及将(t,zid)发送给中间机构保存和使用。x、y、y1的计算公式如下:
在一些具体实施例中,群签名的生成由群成员和中间机构一起完成,群成员利用签名私钥对消息进行签名后,发送给中间机构进行二次签名,这样得到的才是完整的群签名。给定一个消息m,群成员选取两个随机数a∈zn、b∈zn*,计算r=ga·bnmodn2和c=h2(m,r),利用群签名的私钥(x,y1)生成(s1,s2)如下:s1=a-cxmodn、
在一些具体实施例中,群成员将qid和群签名为(r,c,s1,s2)发送给中间机构并请求签名帮助,中间机构与注册中心交互验证该成员的签名权限是否被撤销。即中间机构将qid发送给注册中心,如果注册中心在保存的成员表中找不到对应的信息,则说明验证不通过,中间机构可拒绝为其进行二次签名;如果验证通过,中间机构在表中查找相应的(t,zid),并验证zid=tnqidmodn2是否成立,如果成立,则中间机构利用密钥t进行二次签名得到s3如下:s3=s2·t-cmodn。中间机构将得到的群签名(r,c,zid,s1,s3)发送给签名接收者。生成的每个群签名中都有包含用户身份id的zid,因此方案本身不会提供不可关联性。但是如果每次签名选用不同的随机数r或者t,便可达到不可关联性的效果。
在一些具体实施例中,签名接收者得到群签名,可通过验证等式是否成立来验证签名的有效性。若所述等式成立,则证明该签名有效;否则,签名无效。等式如下:
在一些具体实施例中,一旦有争议发生,可由注册中心和中间机构合作来打开签名,并验证签名者的真实身份。中间机构首先验证s3=s2·t-cmodn是否成立,若成立则计算,
在一些具体实施例中,可信机构pkg执行一个算法,输入安全参数k,得到两个大素数p和q,并计算n=pq,λ=lcm(p-1,q-1)。另外,选取参数
本申请提供的一种基于密码技术的隐私保护方法,该方法将产生群签名的私钥分成两个部分,由用户和可信的中间机构保存和使用,因此,完整的群签名由群成员和中间机构共同完成,这样可以有效防止密钥颁发中心冒用群成员的身份伪造签名。另外,通过引入可信的中间机构,可在签名的过程中有效地撤销指定用户的签名权。而原始消息在用户签名阶段通过哈希函数的处理,在进行二次签名的过程中,中间机构无法获取原始消息的具体内容,从而保证了消息的保密性。该方法满足群签名方案的所有安全性要求,并且能有效继承原有基于身份的签名方案的优点,适用于规模较大和动态变化的群,可以应用于匿名访问控制方案中,可以在一定程度上解决区块链的隐私保护和性能问题。
虽然上面结合本发明的优选实施例对本发明的原理进行了详细的描述,本领域技术人员应该理解,上述实施例仅仅是对本发明的示意性实现方式的解释,并非对本发明包含范围的限定。实施例中的细节并不构成对本发明范围的限制,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案的等效变换、简单替换等显而易见的改变,均落在本发明保护范围之内。
1.一种基于密码技术的隐私保护方法,其特征在于,所述方法包括:
s1:用户通过秘密信道将真实身份id发送给注册中心,所述注册中心对所述用户的身份进行认证;
s2:所述用户收到所述qid后,将所述qid发送给密钥颁发中心,所述密钥颁发中心先验证所述用户的身份;
s3:群签名的生成由群成员和中间机构一起完成,所述群成员利用签名私钥对消息进行签名后,发送给所述中间机构进行二次签名,这样得到的才是完整的群签名;
s4:签名接收者得到所述群签名,可通过验证等式是否成立来验证签名的有效性,若所述等式成立,则证明该签名有效,否则,所述签名无效;
s5:一旦有争议发生,可由所述注册中心和所述中间机构合作来打开所述签名,并验证签名者的真实身份。
2.根据权利要求1所述的基于密码技术的隐私保护方法,其特征在于,所述s1步骤中所述注册中心随机选取整数r,并计算qid=h1(id||r),将所述qid发送给所述用户和所述密钥颁发中心,并为所述用户生成记录(id,r,qid)加入成员表中。
3.根据权利要求1所述的基于密码技术的隐私保护方法,其特征在于,所述用户身份验证通过后,所述密钥颁发中心随机选取整数t∈zn*,计算zid=tnqidmodn2,并计算得到(x,y),并将生成的密钥(x,y1)发送给所述用户作为所述群签名的私钥,所述用户成为群中合法成员;以及将(t,zid)发送给所述中间机构保存和使用。
4.根据权利要求3所述的基于密码技术的隐私保护方法,其特征在于,所述x、y、y1的计算公式如下:
5.根据权利要求1所述的基于密码技术的隐私保护方法,其特征在于,系统给定一个消息m,群成员选取两个随机数a∈zn、b∈zn*,计算r=ga·bnmodn2和c=h2(m,r),利用所述群签名的私钥(x,y1)生成(s1,s2)为s1=a-cxmodn
6.根据权、利要求5所述的基于密码技术的隐私保护方法,其特征在于,所述群成员将所述qid和所述群签名为(r,c,s1,s2)发送给所述中间机构并请求签名帮助,所述中间机构与所述注册中心交互验证该成员的签名权限是否被撤销。
7.根据权利要求5所述的基于密码技术的隐私保护方法,其特征在于,所述中间机构将得到的所述群签名(r,c,zid,s1,s3)发送给所述签名接收者。
8.根据权利要求1所述的基于密码技术的隐私保护方法,其特征在于,所述s4步骤中的等式为:
9.根据权利要求5所述的基于密码技术的隐私保护方法,其特征在于,所述中间机构首先验证s3=s2·t-cmodn是否成立,若成立则计算,
10.根据权利要求1所述的基于密码技术的隐私保护方法,其特征在于,可信机构pkg执行一个算法,输入安全参数k,得到两个大素数p和q,并计算n=pq,λ=lcm(p-1,q-1)。另外,选取参数