本发明涉及一种基于rsa累加器的去中心匿名身份认证方法,属于计算机网络应用密码学。
背景技术:
1、在当前数字化社会中,身份认证是许多在线服务和交易中至关重要的环节。传统的中心化身份认证系统存在一些缺点,例如中心化机构的信任依赖、个人隐私泄露的风险以及单点故障等问题。因此,设计一种去中心化、匿名的身份认证方法成为一个重要的研究领域。
2、rsa累加器是一种基于rsa密码学体系的数据结构,用于高效地维护整数集合的累加和,适合用于构建去中心化身份认证系统。本发明旨在提供一种基于rsa累加器的去中心化匿名身份认证方法,以解决传统身份认证系统的安全和隐私问题。
3、目前已经有一些基于rsa累加器的身份认证方法被提出,但它们存在一些局限性。一些方法可能无法提供足够的匿名性,而另一些方法可能在性能方面存在瓶颈。因此,本发明旨在提供一种改进的基于rsa累加器的去中心化匿名身份认证方法,以克服现有方法的局限性并提高系统的效率和安全性。
4、本发明的基本思想是利用rsa累加器的特性,结合椭圆曲线的数学性质,构建一个去中心化的身份认证系统。在该系统中,用户可以在可信机构验证身份后,以一个假名进行身份认证。一个区块链平台可以去中心地在不知道用户真实身份的前提下,验证假名和使用该假名构造的签名是否有效。该系统能够消除对中心化认证机构的依赖,并提供更高的安全性和隐私保护。
5、本发明的优势在于通过面向去中心场景,改进rsa累加器的利用方式,提供了一种高效、去中心化和匿名的身份认证方法。该方法不仅能够保护用户的隐私,还能够防止伪造身份的风险,并且具有良好的可扩展性和抗攻击性。这使得它适用于各种在线服务和交易场景,如电子商务、数字支付、社交网络等。
6、综上所述,本发明提供了一种基于rsa累加器的去中心化匿名身份认证方法,为解决传统身份认证系统的安全和隐私问题提供了一种创新的解决方案。
技术实现思路
1、本发明的目的是为了克服现有技术存在的缺陷,提出一种基于rsa累加器的去中心匿名身份认证方法,通过一个改进的rsa累加器记录用户的假名信息实现用户匿名认证,同时利用区块链技术特点,实现认证过程的去中心化并降低用户认证成本。
2、本发明的目的是通过以下技术方案实现的。
3、本发明提出的一种基于rsa累加器的去中心匿名身份认证方法。其认证系统包括可信机构、用户和区块链平台。用户能够通过可信机构获得假名,并使用假名在区块链平台中实现身份认证。
4、步骤a:可信机构设定所用椭圆曲线,生成自己的公私钥对,生成rsa累加器参数,并将椭圆曲线参数和rsa累加器的公共参数公开。区块链平台记录所有公开参数。
5、步骤b:用户发送自己的真实身份至可信机构。可信机构生成用户假名,并告知用户。
6、步骤c:用户生成自己的公私钥,构造注册交易并发至区块链平台。区块链平台验证交易后在新的区块中更新rsa累加器,添加该用户。
7、步骤d:用户与区块链平台通信,得到必要信息生成自己的见证。
8、步骤e:当用户i身份过期,或者被发现作恶时,可信机构撤销用户身份,利用待撤销用户的假名、rsa累加器私钥等信息更新累加器信息并进行公示。区块链平台同步更新累加器信息。
9、步骤f:当需要对作恶用户进行追溯时,可信机构利用用户假名和可信机构的私钥重构用户真实身份。
10、步骤g:当有用户身份被撤销时,其他用户与区块链平台通信,利用撤销用户的假名、已更新的rsa累加器的值,进行见证更新。
11、步骤h:当用户需要向区块链平台发送业务交易时,利用自己的假名、公钥、见证等可公开信息构造交易签名。区块链平台通过验证交易的见证和签名验证用户身份的合法性和交易的完整性。
12、有益效果
13、本发明方法,对比现有技术,具有以下优点:
14、1.本方法实现了去中心的匿名身份认证过程;
15、2.使用本方法,能够降低可信机构的工作负担,方案中可信机构仅需对用户的假名生成、用户撤消和用户溯源负责,用户的见证更新、进行具体业务时的身份认证可由安全要求更低、计算能力更强的区块链平台完成;
16、3.使用本方法,用户的认证成本更低,其见证不用如当前其他方案一样每当有新用户加入时进行更新,只需要在有用户身份被撤销时进行更新即可;
17、4.使用本方法,能够让网络系统安全对认证过程中提供服务方的依赖程度低,仅需区块链平台的共识机制不被打破,即可保证参与用户的匿名认证,其真实身份信息不被任何敌手获取。
1.一种基于rsa累加器的去中心匿名身份认证方法,其认证系统包括可信机构、用户和区块链平台,用户能够通过可信机构获得假名,并使用假名在区块链平台中实现身份认证,其特征在于,包括以下步骤:
2.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤a中,设定的椭圆曲线,可以是nist标准推荐曲线或者sm2椭圆曲线公钥密码算法推荐曲线,公开的椭圆曲线参数包括椭圆曲线gp(a,b)及其生成元b,其中,a、b分别表示包含p个元素的素数域fp中的两个元素,作为椭圆曲线方程的两个参数。
3.如权利要求2所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,可信机构公私钥对生成的方法为:生成随机数私钥skt和对应公钥pkt,pkt=[skt]b,其中,[skt]b表示椭圆曲线上生成元b的skt倍点;
4.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤b中,一个用户i的真实身份绑定的真实id记为idi,可信机构为其生成假名方式为:生成随机数ai,身份有效期限tsi,用户i的假名为pidi,其中h()为哈希函数。
5.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤c中,一个用户i公私钥为可信机构选择的椭圆曲线上的公私钥对(ski,pki);
6.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤d中,见证生成方法为:从区块链平台获得当前累加器集合f,初始累加器值u,累加器版本ver,区块高度h,生成见证witi,其中fi为用户i在步骤c中生成的自己的特征值,同时用户i也会保留当前累加器的版本号veri=ver和区块高度hi=h。
7.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤e中,可信机构撤销用户身份的方法为:可信机构从区块链平台获取当前累加器信息,包括累加器值acc,版本ver,待撤销用户特征值集合为frev={f1,f2,...,fn},设置撤销信息集合对于frev中的每个特征值fi,通过累加器私钥(p,q)计算更新的累加值将fi加入集合rvmsg,rvmsg←rvmsg∪{fi};
8.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤f中,可信机构重构用户真实身份的方法为:对于待追溯用户i及其假名pidi,计算其真实id,
9.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤g中对于用户i,见证更新方法为:从区块链平台获取当前累加器集合f,计算新的见证witi,同时记录当前累加器的版本号veri=ver和区块高度hi=h。
10.如权利要求1所述的基于rsa累加器的去中心匿名身份认证方法,其特征在于,步骤h中,交易签名方法为:对于要提交的交易信息mi,用户i首先生成随机数rani∈zn,计算rani=[rani]b,δi=rani·h(pidi,pki),αi=h(pidi,pki,mi,ti),σi=ski·αi+δi,其中,ti为当前的时间戳,用户i上传的打包后的交易为transi=(pidi,pki,mi,σi,rani,witi,hi,ti),hi为见证witi生成时的区块高度;