APP下载

基于无证书密码体制的失败-停止环签名方案

2020-08-19张玉磊宋婷婷张永洁王彩芬

计算机工程 2020年8期
关键词:匿名性私钥公钥

张玉磊,宋婷婷,张永洁,王彩芬

(1.西北师范大学 计算机科学与工程学院,兰州 730070; 2.甘肃卫生职业学院,兰州 730070;3.深圳技术大学 大数据和网络学院,广东 深圳 518000)

0 概述

随着互联网中隐私保护技术的发展,环签名因具有强匿名性且能够对用户隐私信息提供有效保护,而在车联网、区块链和数字货币等领域得到广泛应用。2001年,RIVEST等人[1]在亚密会上提出环签名思想。与群签名相比,环签名只有环成员而不存在管理者角色,即使没有环成员间的合作也能顺利完成签名,即某个可能的签名人生成的签名均可由任意验证者在不知道签名者身份的情况下利用公钥进行验证,不仅可实现对签名消息的验证,而且保护了签名者的身份。由于环签名成员身份的模糊性、自发性和灵活的群结构,因此其被广泛应用于Ad Hoc网络认证、匿名选举和区块链等[2-4]应用场景,已成为隐私保护的重要方式。

为满足车联网、区块链等应用场景的安全性需求,环签名也衍生出多种签名形式。2018年,李佩丽等人[5]提出区块链技术在网络互助中的应用及用户隐私保护方案,张凡等人[6]提出基于Borromean环签名的隐私数据认证方案。2019年,任艳丽等人[7]提出基于门限环签名的可删除区块链。他们都将环签名的思想应用到区块链中,充分发挥了环签名的无条件匿名性和不可追踪性。随着攻击者能力的增强,为防止具有强计算能力的攻击者成功伪造签名,WILLY等人[8-10]提出失败-停止签名方案。失败-停止方案的优势在于即使有非常强的对手伪造签名,签名者也能以绝对概率证明签名是伪造的,与此同时还能中断伪造者的后续操作。2014年,YAMAKAWA等人[11]提出基于因子分解的短失败-停止签名方案,基于因子分解的签名方案通常都具有可靠性高的特点,但是签名长度需大于n,其中n为底层复合数长度。2018年,HSU等人[12]在群签名基础上增加失败-停止特性提出失败-停止群签名方案,但是群签名自身签名特性的缺陷导致在使用过程中的匿名安全性较低。在某些特定签名环境下,需要知道两个签名是否由同一个签名者产生,既保护了个人隐私,又避免了重复签名,为此LIU等人[13-14]提出关联环签名方案(LSAG)的初步概念。之后可自主选择关联性在一些方案中开始逐步应用,例如张瑞丽等人[15]于2014年提出的基于可链接环签名的电子消费方案,AU等人[16]于2013年提出的基于安全ID的可链接可撤销环签名以及张文芳等人[17]于2017年提出的基于RSA公钥密码体制和曹素珍等人[18]于2019年提出的基于DLP的可选择可转换关联环签名方案。上述方案都给传统数字签名增加了新的特征,使其能够更好地适应复杂的签名场景,但是上述方案存在证书管理开销大和密钥保管安全性低等问题,因此数字签名在使用过程中受到了一定的限制。

无证书密码体制有效解决了身份密码体制中的密钥托管问题和公钥密码体制中的证书管理问题,即签名私钥由密钥生成中心(Key Generation Center,KGC)和签名用户共同产生。一直以来很多学者对此做了大量研究和探索并取得了显著成果,例如CHANG等人[19]于2009年提出的无证书门限环签名方案和刘纯璐等人[20]于2019年提出的关联无证书环签名方案。本文方案结合无证书密码体制、环签名和失败-停止签名的优势,设计一种基于无证书密码体制的失败-停止环签名方案。该方案增加了可选择关联性,并且由于在密钥产生过程中去除了群管理员的参与,整个签名过程由签名者独立完成,因此提高了方案安全性,这对于需要强匿名性的电子投票、匿名选举等应用场景显得尤为重要。

1 无证书失败-停止环签名方案

1.1 无证书失败-停止环签名形式化定义

无证书失败-停止环签名方案的参与者包括密钥产生中心KGC、环成员ui(i=1,2,…,n)、实际签名者us和签名验证者uv。签名过程由初始化算法Setup、部分密钥提取算法Genkeypart、秘密值生成算法Genkeysecret、私钥生成算法Genkeysk、公钥生成算法Genkenpk、签名算法Ringsign和签名验证算法Vertify这7个算法组成。

1)初始化算法Setup:输入安全参数k,得到安全参数集合params,并且公开params。

2)部分密钥提取算法Genkeypart:根据给定的环签名用户身份IDi,密钥产生中心计算出部分密钥bi,并且将bi发送给环签名用户。

3)秘密值生成算法Genkeysecret:用户随机选择秘密值xi。

4)私钥生成算法Genkeysk:环签名用户收到部分私钥和秘密值,并且令ski为签名私钥。

5)公钥生成算法Genkenpk:根据用户私钥计算公钥pki并公开pki。

6)环签名算法Ringsign(m,n,L,sks):输入待签名消息m,环成员数量n,公钥集合L和签名者私钥sks,最后输出消息m的签名σ。

7)验证算法Vertify(m,n,L,σ):签名σ和消息m,由任何一个验证者用公钥验证签名是否有效,返回签名验证状态status;若status为1,则签名有效,否则签名无效。

1.2 无证书失败-停止环签名安全模型

一个多项式时间敌手以可忽略的概率赢得与挑战者之间的安全游戏,则称方案∏满足自适应选择消息攻击下的不可伪造性(Existential UnForgeability against adaptive Chosen-Message Attacks,EUF-CMA)。方案∏的EUF-CMA攻击游戏GAME1过程如下:

1)开始运行系统初始化

2)询问过程

3)伪造

方案∏的EUF-CMA攻击游戏GAME2过程如下:

1)开始运行系统初始化

2)询问过程

与GAME1相同,可对GAME2进行哈希询问h0和h1、公钥询问及签名询问,但是需要注意GAME2不能进行公钥替换询问和部分私钥询问。

3)伪造

签名私钥为ski(i=1,2,…,n),所有环成员的公钥集合为L={pk1,pk2,…,pkn},如果对于任意的pki、消息m及生成的签名σ(m),概率多项式时间算法P输出的i满足sk=ski(i=1,2,…,n)的概率仅为1/n,则称该环签名方案具有强匿名性。

2 无证书失败-停止环签名方案的具体实现

无证书失败-停止环签名方案由以下7个算法组成:

2)部分密钥提取算法Genkeypart:输入环签名用户ui身份IDi,计算θi=h0(IDi),KGC计算出部分密钥bi=γθi,并将bi通过保密信道发送给环签名用户ui。

4)私钥生成算法Genkeysk:ui收到部分密钥bi和秘密值xi,令ski=(xi,bi)为签名私钥。

5)公钥生成算法Genkenpk:根据环签名用户私钥ski=(xi,bi),计算出公钥pki=yi=gxi,将公钥pki公开。

6)签名算法Ringsign:

(1)设签名用户私钥为sks=(xs,bs),待签名消息m∈{0,1}*,签名用户公钥为ys=gxs,n个环签名用户公钥集合L={pk1,pk2,…,pkn}。

vis+1=h1(m‖j,vs)

vis+2=h1(m‖j,vis+1⊕mis+1)

vis-1=h1(m‖j,vis-2⊕mis-2)

vis=h1(m‖j,vis-1⊕mis-1)

3 无证书失败-停止环签名方案分析

3.1 正确性

假设KGC可信,如果方案中所有参与环签名用户ui的签名验证等式和环验证等式均成立,则无证书失败-停止环签名方案满足正确性。

1)通过签名过程可得m+r6s=csEs+es(modN)和Es=gesmodp0,所以有gm+r6s=gcsEs+esmodp0,gcsEs+es=gcsEsEsmodp0,即验证等式gm+r6s=gcsEsEsmodp0成立。

3)环签名验证等式具体如下:

vis+1=h1(m‖j,vs)

vis+2=h1(m‖j,vis+1⊕mis+1)

vis-1=h1(m‖j,vis-2⊕mis-2)

vis=h1(m‖j,vis-1⊕mis-1)

vi0=h1(m‖j,mi0+n-1⊕h1(m‖j,mi0+n-2⊕

h1(m‖j,…⊕h1(m‖j,m⊕vi0)…)))

若以上验证等式成立,则表明本文无证书失败-停止环签名方案满足正确性。

3.2 不可伪造性

1)哈希询问

2)部分私钥询问

3)密钥值询问

4)公钥询问

5)公钥替换询问

6)签名询问

3.3 强匿名性

定理3本文方案具备强匿名性。

此外,由于签名过程中所有环成员的关系呈环状分布,因此满足环验证等式vi0=h1(m‖j,mi0+n-1⊕h1(m‖j,mi0+n-2⊕h1(m‖j,…⊕h1(m‖j,m⊕vi0)…)))。而对于环外验证者而言,能够猜出真实签名者的概率不超过1/n,环内成员猜出真实签名者的概率不超过1/n-1,因此本文方案满足强匿名性。

3.4 可选择关联性

4 性能分析

本节将本文方案与文献[12,17-18,21]方案进行比较,运算符号定义如表1所示。安全性、匿名性、关联性以及签名与验证开销4个方面的比较结果如表2所示。

表1 运算符号定义Table 1 Operation symbol definition

表2 方案匿名性及效率比较Table 2 Comparison of scheme anonymity and efficiency

本文方案和文献[17]方案都具有强匿名性和选择关联性,但是文献[17]方案所依赖的困难问题是基于RSA公钥密码体制的大整数分解问题,密钥尺寸较大,运行效率较低。本文方案和文献[12,18]方案依赖的困难问题均为离散对数问题,但相比文献[18]方案在安全性、匿名性和关联性相同的情况下,本文方案的签名与验证开销相对较小,并且文献[12]方案在签名长度相同的情况下,仅具备弱匿名性而不具有选择关联性,同时其签名过程需要群管理员的参与,可能存在安全隐患。另外,文献[21]方案只具备计算匿名性,签名与验证开销也高于本文方案。综合上述对比,本文提出的无证书失败-停止环签名在保证关联性和强匿名性的同时,其失败-停止机制使得具有强计算能力的攻击者无法伪造出合法签名,安全性相对较高,且计算开销较小。

5 结束语

本文在失败-停止群签名方案基础上设计了一种无证书失败-停止环签名方案,增加了强匿名性和可选择关联性,并且在随机预言机模型下证明其安全性。性能分析结果表明,与同类环签名方案相比,本文方案提高了安全性及降低了签名验证开销。下一步将以失败-停止环签名技术为基础,面向车联网和区块链等应用场景提出具有良好扩展性的签名认证方案,进一步降低通信消耗并提高签名验证效率。

猜你喜欢

匿名性私钥公钥
清扫机器人避障系统区块链私钥分片存储方法
比特币的安全性到底有多高
Spatially defined single-cell transcriptional profiling characterizes diverse chondrocyte subtypes and nucleus pulposus progenitors in human intervertebral discs
一种基于混沌的公钥加密方案
神奇的公钥密码
一种基于虚拟私钥的OpenSSL与CSP交互方案
基于群签名的高效可分割电子现金系统
P2X7 receptor antagonism in amyotrophic lateral sclerosis
去个体化心理分析
微信弹性社交中的失范行为分析