System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及匿名身份认证和区块链,具体涉及一种基于区块链的匿名身份数据存储方法及系统。
技术介绍
1、区块链技术是一种去中心化的存储技术,通过将数据按照时间顺序组成一个个区块,并使用密码学方法将区块链接在一起,形成链状结构保证数据的完整性。区块链具有很高的安全性,因为数据被分散存储在多个节点上,没有单点故障的风险。同时,区块链提供了去中心化的特性,消除了传统中心化机构的中介角色,每个参与者都可以共享和验证数据。
2、匿名身份认证是一种身份验证方法,允许用户在进行身份验证时保持匿名身份状态,不需要披露真实身份信息,通常用于保护用户的隐私和个人信息,同时确保用户在进行特定操作或访问受限资源时的身份可信和可验证。匿名身份认证可以通过使用匿名临时身份或使用其他加密技术来实现。
3、目前的匿名身份认证方案主要存在以下问题:首先是关联风险问题。匿名临时身份与真实身份之间通过某种关联证明进行关联,现有方案往往依赖第三方机构或组织进行关联性认证,存在中心化的安全性风险;然后是数据安全问题。真实身份和关联证明都需要采取适当的加密和存储措施,以确保用户身份相关信息的安全;最后是检索效率问题,由于匿名临时身份需要定期更新,因此一个真实身份往往对应大量临时身份,且只有最新的临时身份具有合法性,现有的关系型数据库结构复杂,无法满足高效准确的数据检索和响应速度需求。
技术实现思路
1、为了解决上述问题,本专利技术提出一种基于区块链的匿名身份数据存储方法及系统。
2、在本专
3、进一步的,所诉索引缓存模块,通过基于b+树结构的真实身份索引表实现,其结构如下:
4、indexreal={idreal:[heightreal,idanony,idproof]}
5、其中,indexreal代表真实身份索引表,idreal代表真实身份标识符,idanony和idproof分别代表匿名临时身份和关联证明的唯一标识符,heightreal代表真实身份所在区块的区块高度,将idreal作为key,heightreal、idanony和idproof作为value,建立idreal与heightreal、idanony和idproof的单向索引关系。
6、其中,所诉b+树结构,如图1所示,是一种基于关键字大小排序的索引树形结构,包含根节点、内部节点和叶子节点。其中,根节点不存储任何数据,内部节点存储其子树中的最大关键字及指向子节点的指针,叶子节点则存储关键字及关键字对应的数据项,并按照关键字大小升序排序,方便快速检索。b+树通过将关键字和对应的数据地址存储在一起作为数据项,实现从关键字到对应的数据地址的单向索引。每个节点除了根节点外,都至少包含m/2个数据项,最多包含m-1个数据项,其中m是树的阶树。
7、进一步的,所述真实身份存储模块,如图2所示,基于区块链结构实现,每个区块都包含前一区块的哈希值,对之前区块的任何修改都会导致后续区块哈希值的改变,因此区块链中的数据难以篡改。每个区块都由区块头和区块体两部分组成。区块头包含整个区块的元数据,包括前一区块的哈希值、时间戳、区块高度、区块体的根哈希值和本区块存储的真实身份列表。区块体采用merkle树结构存储真实身份,并通过密码学方法确保数据的安全性和完整性。每个区块都会包含一定数目的真实身份,这些真实身份被收集、验证和打包成区块,然后通过共识算法添加至区块链中。
8、其中,所诉merkle树结构是一种满二叉树结构,具有树的所有特点,其中的叶子节点存储真实身份,每个内部节点存储两个子节点的哈希值,根节点归纳区块中的所有子节点信息,生成整棵树的根哈希值,即区块体的根哈希值。merkle树要求所有叶子节点都已存储数据后,方可作为完整的区块添加至区块链中。在merkle树尚未构建完成前,区块将以缓存表的结构存放在节点本地。待所有叶子节点填充完毕,分别计算每个叶子节点存储身份信息的哈希值,依次往上。待整个merkle树根哈希值计算完成后,生成该区块体对应的区块头,作为一个完整的区块添加至区块链中。
9、进一步的,所诉匿名身份存储模块,如图3所示,基于ipfs文件系统实现,使用内容寻址作为核心机制,每份存储在其中的文件都被赋予一个唯一标识符cid(content id),用于快速检索和获取数据,同时避免重复的数据存储。每份数据都被分割成块,并由多个节点进行分布式存储,增加数据的冗余性和可用性。每个节点都维护一张分布式哈希表,用于存储和定位文件的哈希值以及负责相应文件的传输,当用户请求一个文件时,通过分布式哈希表查找该文件的各个分块,然后在节点之间点对点地进行传输,直到完整的文件被重新组装。
10、在本专利技术的第二方面,本专利技术还提供了一种基于区块链的匿名身份数据存储方法,所述方法包括:
11、步骤s1使用真实身份在系统中注册匿名临时身份,将匿名临时身份存储在匿名身份存储模块并将生成的唯一标识符cid作为idanony。
12、步骤s2生成可证明真实身份和对应匿名临时身份之间关系的关联证明以及用于访问和验证关联证明的对称密钥skproof。
13、步骤s3使用skproof对关联证明加密后,将关联证明存储在匿名身份存储模块并将生成的唯一标识符cid作为idproof。
14、步骤s4为真实身份生成用于访问身份的身份标识符idreal和用于验证身份的公钥pkreal和私钥skreal。
15、步骤s5将真实身份与对称密钥skproof使用真实身份的公钥pkreal加密后存储至真实身份存储模块,私钥skreal交由用户妥善保管。
16、步骤s6在indexreal中建立idreal与heightreal、idanony和idproof的单向快速检索。
17、步骤s7通过使用idanony在匿名身份存储模块中基于内容寻址检索匿名临时身份并进行验证,实现匿名临时身份认证。
18、步骤s8在indexreal中通过idreal检索heightreal,通过heightreal在指定高度的区块中检索真实身份并进行验证,实现真实身份认证。
19、步骤s9通过使用idreal和私钥skreal检索真实身份和关联证明,与通过idanony检索到的匿名临时身份进行验证,实现真实身份与匿名临时身份的关联以证。
20、步骤s10通过使用真实身份注册新的匿名临时身份并更新旧的索引关系,实现匿名临时身份的更新。
21、步骤s11匿名临时身份和关联证明在存储至匿名身份存储模块时可设置有效时间,超过有效时间的文件被认为不再需要,将被各节点限制访问服务,代表匿名临时身份和关联证明失效,并最终被所有节点删除。
22、与现有技术相比,本专利技术具有以下有益效果:
...
【技术保护点】
1.一种基于区块链的匿名身份数据存储系统,其特征在于,包括索引缓存模块、真实身份存储模块和匿名身份存储模块。
2.根据权利要求1所诉的一种基于区块链的匿名身份数据存储系统,其特征在于,所诉索引缓存模块,通过基于B+树结构的真实身份索引表实现,其结构如下:
3.根据权利要求1所诉的一种基于区块链的匿名身份数据存储系统,其特征在于,所诉真实身份存储模块,基于区块链结构实现,每个区块都包含前一区块的哈希值,对之前区块的任何修改都会导致后续区块哈希值的改变,因此区块链中的数据难以篡改。每个区块都由区块头和区块体两部分组成。区块头包含整个区块的元数据,包括前一区块的哈希值、时间戳、区块高度、区块体的根哈希值和本区块存储的真实身份列表。区块体采用Merkle树结构存储真实身份,并通过密码学方法确保数据的安全性和完整性。每个区块都会包含一定数目的真实身份,这些真实身份被收集、验证和打包成区块,然后通过共识算法添加至区块链中。
4.根据权利要求1所诉的一种基于区块链的匿名身份数据存储系统,其特征在于,所诉匿名身份存储模块,基于IPFS文件系统实现,使用内容寻址
5.一种基于区块链的匿名身份数据存储方法,其特征在于,包括以下步骤:
6.根据权利要求5所诉的一种基于区块链的匿名身份数据存储方法,其特征在于,所诉步骤S5的具体流程如下:
7.根据权利要求5所诉的一种基于区块链的匿名身份数据存储方法,其特征在于,所诉步骤S6的具体流程如下:
8.根据权利要求5所诉的一种基于区块链的匿名身份数据存储方法,其特征在于,所诉步骤S8的具体流程如下:
9.根据权利要求5所诉的一种基于区块链的匿名身份数据存储方法,其特征在于,所诉步骤S9的具体流程如下:
10.根据权利要求5所诉的一种基于区块链的匿名身份数据存储方法,其特征在于,所诉步骤S10的具体流程如下:
...【技术特征摘要】
1.一种基于区块链的匿名身份数据存储系统,其特征在于,包括索引缓存模块、真实身份存储模块和匿名身份存储模块。
2.根据权利要求1所诉的一种基于区块链的匿名身份数据存储系统,其特征在于,所诉索引缓存模块,通过基于b+树结构的真实身份索引表实现,其结构如下:
3.根据权利要求1所诉的一种基于区块链的匿名身份数据存储系统,其特征在于,所诉真实身份存储模块,基于区块链结构实现,每个区块都包含前一区块的哈希值,对之前区块的任何修改都会导致后续区块哈希值的改变,因此区块链中的数据难以篡改。每个区块都由区块头和区块体两部分组成。区块头包含整个区块的元数据,包括前一区块的哈希值、时间戳、区块高度、区块体的根哈希值和本区块存储的真实身份列表。区块体采用merkle树结构存储真实身份,并通过密码学方法确保数据的安全性和完整性。每个区块都会包含一定数目的真实身份,这些真实身份被收集、验证和打包成区块,然后通过共识算法添加至区块链中。
4.根据权利要求1所诉的一种基于区块链的匿名身份数据存储系统,其特征在于,所诉匿名身份存储模块,基于ipfs文件系统实现,使用内容寻址作为核心机制,每份存储在其中的文件都被赋予...
【专利技术属性】
技术研发人员:陈乔松,耿梓源,朴昌浩,胡杰,尹忠钰,张星宇,
申请(专利权)人:重庆邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。