基于区块链双链结构的政务数据存储、查询方法及系统
技术领域
本公开属于电子数据共享技术领域,尤其涉及一种基于区块链双链结构的政务数据存储、查询方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
传统的数据共享特性是不可逆的,一旦数据被发送给使用者,数据将无法收回、无法限制其扩散使用。传统的数据交易过程,也会引发诸多法律纠纷问题,如数据的所有权纠纷、数据的非法倒卖等。这些问题大多是由于数据缺乏有效的访问控制、数据交易信息不透明所引起的,这就给数据所有者举证、追责和维权造成了很大困难。政务信息共享关注政府各部门间的共享信息的交换效率和数据安全使用,数据共享的覆盖范围广、涉及部门多,其共享方式对实现各部门间的合作协同的效率有着极大影响。
区块链的分布式网络使每个节点拥有完整、一致的账本,节点通过共识机制验证账簿真实性,保证了区块链的去中心化、不可篡改和可追溯的特性。但是一般的区块链分布式数据存放方式导致数据存储、访问压力极大,同时在政务数据应用中,数据的共享使用涉及到的部门众多、各部门内职责、权限繁杂,在数据使用时对于用户身份、访问权限等的设置、分类和改变处理繁琐,给区块链中数据的安全控制和高效使用带来了很大难度。
发明内容
为了解决上述问题,本公开的第一个方面提供一种基于区块链双链结构的政务数据存储方法,其引入了身份链,使用身份证链和业务数据链双链结构,实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
为了实现上述目的,本公开采用如下技术方案:
一种基于区块链双链结构的政务数据存储方法,该方法在客户端、代理服务器、身份证链和业务数据链内完成,包括:
客户端将数据上传至代理服务器;
代理服务器发送数据存储请求到身份链,验证用户身份和数据存储请求;
身份链对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则代理服务器向业务数据链提交数据存储请求,业务数据链根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中;业务数据链将存储结果经代理服务器反馈至客户端。
一种基于区块链双链结构的政务数据存储方法,该方法在身份证链和业务数据链内完成,包括:
身份链接收客户端经代理服务器发送来的数据存储请求,对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则经代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则经代理服务器向业务数据链提交数据存储请求,业务数据链根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中;业务数据链将存储结果经代理服务器反馈至客户端。
一种基于区块链双链结构的政务数据存储方法,该方法在代理服务器内完成,包括:
接收客户端上传的数据;
发送数据存储请求到身份链来验证用户身份和数据存储请求;
接收身份链反馈的验证结果:
若验证未通过,则向客户端发送数据存储拒绝请求;
若验证通过,则向业务数据链提交数据存储请求,接收业务数据链返回的存储结果并反馈至客户端。
为了解决上述问题,本公开的第二个方面提供一种基于区块链双链结构的政务数据存储系统,其引入了身份链,使用身份证链和业务数据链双链结构,实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
为了实现上述目的,本公开采用如下技术方案:
一种基于区块链双链结构的政务数据存储系统,包括:
客户端,其用于将数据上传至代理服务器;
代理服务器,其用于将数据存储请求到身份链,验证用户身份和数据存储请求;
身份链,其用于对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则代理服务器向业务数据链提交数据存储请求;
业务数据链,其用于根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中,将存储结果经代理服务器反馈至客户端。
为了解决上述问题,本公开的第三个方面提供一种基于区块链双链结构的政务数据查询方法,其引入了身份链,使用身份证链和业务数据链双链结构,实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
为了实现上述目的,本公开采用如下技术方案:
一种基于区块链双链结构的政务数据查询方法,该方法在客户端、代理服务器、身份证链和业务数据链内完成;待查询的数据预先经上述所述的基于区块链双链结构的政务数据存储方法存储在区块链系统状态数据库中;
所述政务数据查询方法,包括:
客户端向代理服务器提交查询数据的请求;
代理服务器接收到查询数据请求后,调用身份链验证数据需求方身份和读取权限;
身份链对需求方身份和读取权限进行验证,向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则代理服务器向业务数据链提交查询数据请求,业务数据链从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
代理服务器向客户端发送数据读取私钥和数据索引;
客户端将代理服务器向业务数据链发送读取请求;
业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密格式的数据查询结果返回代理服务器,并将数据操作记录写入交易记录库;
代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
一种基于区块链双链结构的政务数据查询方法,该方法在身份证链和业务数据链内完成;待查询的数据预先经如上述所述的基于区块链双链结构的政务数据存储方法存储在区块链系统状态数据库中;
所述政务数据查询方法,包括:
身份链接收客户端经代理服务器发送来的查询数据请求,对需求方身份和读取权限进行验证,并向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则经代理服务器向业务数据链提交查询数据请求;
业务数据链从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
接收客户端经代理服务器发送来的读取数据请求;
从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密数据返回代理服务器,并将数据操作记录写入交易记录库;
向经代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
一种基于区块链双链结构的政务数据查询方法,该方法在代理服务器内完成;待查询的数据预先经如上述所述的基于区块链双链结构的政务数据存储方法存储在区块链系统状态数据库中;
所述政务数据查询方法,包括:
接收客户端发送来的查询数据请求,调用身份链验证数据需求方身份和读取权限;
接收身份链返回的验证结果和数据的读取私钥:
若验证未通过,则向客户端发出拒绝查询数据请求;
若验证通过,则向业务数据链提交查询数据请求,接收业务数据链从链上查找用户需要的数据索引的查找结果;
向客户端发送数据读取私钥和数据索引;
接收客户端发出的读取数据请求;
接收业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密后的加密格式的数据查询结果;
向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
为了解决上述问题,本公开的第四个方面提供一种基于区块链双链结构的政务数据查询系统,其引入了身份链,使用身份证链和业务数据链双链结构,实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
为了实现上述目的,本公开采用如下技术方案:
一种基于区块链双链结构的政务数据查询系统,包括:
客户端向代理服务器提交查询数据的请求;
代理服务器接收到查询数据请求后,调用身份链验证数据需求方身份和读取权限;
身份链对需求方身份和读取权限进行验证,向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则代理服务器向业务数据链提交查询数据请求,业务数据链从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
代理服务器向客户端发送数据读取私钥和数据索引;
客户端将代理服务器向业务数据链发送读取请求,读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳;
业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密格式的数据查询结果返回代理服务器,并将数据操作记录写入交易记录库;
代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
为了解决上述问题,本公开的第五个方面提供一种区块链双链结构,其引入了身份链,使用身份证链和业务数据链双链结构,实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
为了实现上述目的,本公开采用如下技术方案:
一种区块链双链结构,包括:
身份链,其用于接收客户端经代理服务器发送来的数据存储请求,对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则经代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则经代理服务器向业务数据链提交数据存储请求;
业务数据链,其用于根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中,将存储结果经代理服务器反馈至客户端。
一种区块链双链结构,所述区块链双链结构,包括:
身份链,其用于接收客户端经代理服务器发送来的查询数据请求,对需求方身份和读取权限进行验证,并向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则经代理服务器向业务数据链提交查询数据请求;
业务数据链,其用于从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
接收客户端经代理服务器发送来的读取数据请求,读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳;
从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密数据返回代理服务器,并将数据操作记录写入交易记录库;
向经代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
为了解决上述问题,本公开的第六个方面提供一种代理服务器,其引入了身份链,使用身份证链和业务数据链双链结构,实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
为了实现上述目的,本公开采用如下技术方案:
一种代理服务器,包括:
数据接收模块,其用于接收客户端上传的数据;
数据存储请求发送模块,其用于发送数据存储请求到身份链来验证用户身份和数据存储请求;
验证结果接收及响应模块,其用于接收身份链反馈的验证结果:
若验证未通过,则向客户端发送数据存储拒绝请求;
若验证通过,则向业务数据链提交数据存储请求,接收业务数据链返回的存储结果并反馈至客户端。
一种代理服务器,包括:
查询数据请求接收模块,其用于接收客户端发送来的查询数据请求,调用身份链验证数据需求方身份和读取权限;
验证结果接收及响应模块,其用于接收身份链返回的验证结果和数据的读取私钥:
若验证未通过,则向客户端发出拒绝查询数据请求;
若验证通过,则向业务数据链提交查询数据请求,接收业务数据链从链上查找用户需要的数据索引的查找结果;
私钥和索引发送模块,其用于向客户端发送数据读取私钥和数据索引;
读取数据请求接收模块,其用于接收客户端发出的读取数据请求,读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳;
加密模块,其用于接收业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密后的加密格式的数据查询结果;
数据查询结果反馈模块,其用于向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
为了解决上述问题,本公开的第七个方面提供一种基于区块链双链结构的政务数据共享系统,其引入了身份链,使用身份证链和业务数据链双链结构,实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
为了实现上述目的,本公开采用如下技术方案:
一种基于区块链双链结构的政务数据共享系统,包括:
客户端;
代理服务器;
区域链政务共享平台,所述区域链政务共享平台为分布式网络架构;所述区域链政务共享平台包括上述所述的区块链双链结构;
分布式账本模块,其用于实现分布式网络各个节点数据的同步和分布式存储;分布式网络是由多个机构或组织的节点构成的共识网络,每个机构或组织包含若干个子节点,不同子节点之间形成联盟进行安全隐私的通信;
智能合约执行模块,其用于部署在分布式网络节点上,用于管理状态数据库和交易记录的操作;按照合约中预设约定信息,实现相应的数据访问、权限控制和身份验证操作。
本公开的有益效果是:
(1)本公开为了克服区块链单链结构技术中存在的不足,通过区块链的去中心化、共识机制及安全机制等实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
(2)本公开通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率,实现了用户便捷授权与访问控制。
(3)本公开将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障。
(4)本公开使得数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现了数据使用的有效审计。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开实施例提供的基于区块链双链结构的政务数据存储方法流程图。
图2是本公开实施例提供的基于区块链双链结构的政务数据查询方法流程图。
图3是本公开实施例提供的基于区块链双链结构的政务数据共享系统结构示意图。
图4是本公开实施例提供的身份链接口示意图。
具体实施方式
下面结合附图与实施例对本公开作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
本实施例从在客户端、代理服务器、身份证链和业务数据链侧进行描述一种基于区块链双链结构的政务数据存储方法。
如图1所示,本实施例的基于区块链双链结构的政务数据存储方法,具体包括:
S101:客户端将数据上传至代理服务器。
在具体实施中,用户(数据提供方)通过客户端将待存储的数据上传至代理服务器。
需要说明的是,待存储的数据包括但不限于各个部门相应时间段内的所有员工的上下班打卡记录数据、特定部门相关任务的进度数据等。
S102:代理服务器发送数据存储请求到身份链,验证用户身份和数据存储请求。
S103:身份链对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则代理服务器向业务数据链提交数据存储请求,业务数据链根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中;业务数据链将存储结果经代理服务器反馈至客户端。
在具体实施中,根据政务数据所具有的安全属性,将数据对象生成安全属性标记并将其保存在业务数据链中;根据用户所具有的身份,确定用户所具有的安全及访问属性,生成用户通证。并根据中各类用户对不同数据对象的权限,生成以用户通证与数据安全属性标记为关键字的访问控制规则列表并保存在身份链上。
业务数据链根据客户端的数据存储请求完成共识过程,将数据唯一标识、摘要信息和访问权限设置信息等存储在区块链系统状态数据库中。
在本实施例的业务数据链根据客户端的数据存储请求完成共识过程中,通过共识机制使用请求客户端的公钥验证请求签名,这样保证了客户端操作请求的真实、有效、可追踪及不可否认。
作为一种实施方式,如图4所示,身份证链还与用户通证发布接口相连,所述用户通证发布接口用于根据用户的安全属性和访问权限生成和发布用户通证,并写入到身份链上;
所述身份证链还与用户通证撤销接口相连,所述用户通证撤销接口用于当出现用户调离情况时,清空相应用户的通证账户,并写入到身份链上;
所述身份证链还与用户通证修改接口相连,所述用户通证修改接口用于当用户身份属性发生变化时,修改用户的通证信息,改变其访问权限,并把新的通证信息写入到身份链上。
具体地,当用户职位、部门归属、职责变更等导致身份属性发生变化时,修改用户的通证信息,改变其访问权限,并把新的通证信息写入到身份链上。
本实施例建立了新的身份链以负责对系统中的用户通证授权管理、用户密钥生成、访问控制规则管理,通过给各用户赋予通证来进行授权;用户通过客户端对自己拥有的数据的安全属性标记进行管理;用户进行数据存储和访问之前,需要通过身份链上的访问控制规则列表对用户的访问权限进行确认,获得访问许可后,才能在业务数据链上进行相应数据的读写操作,保证了数据存储安全的身份验证和权限控制。
实施例二
本实施例从身份证链和业务数据链侧进行描述基于区块链双链结构的政务数据存储方法。
本实施例的基于区块链双链结构的政务数据存储方法,具体包括:
S201:身份链接收客户端经代理服务器发送来的数据存储请求,对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则经代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则经代理服务器向业务数据链提交数据存储请求。
在具体实施中,用户(数据提供方)通过客户端将待存储的数据上传至代理服务器。
需要说明的是,待存储的数据包括但不限于各个部门相应时间段内的所有员工的上下班打卡记录数据、特定部门相关任务的进度数据等。
S202:业务数据链根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中;业务数据链将存储结果经代理服务器反馈至客户端。
在具体实施中,根据政务数据所具有的安全属性,将数据对象生成安全属性标记并将其保存在业务数据链中;根据用户所具有的身份,确定用户所具有的安全及访问属性,生成用户通证。并根据中各类用户对不同数据对象的权限,生成以用户通证与数据安全属性标记为关键字的访问控制规则列表并保存在身份链上。
业务数据链根据客户端的数据存储请求完成共识过程,将数据唯一标识、摘要信息和访问权限设置信息等存储在区块链系统状态数据库中。
在本实施例的业务数据链根据客户端的数据存储请求完成共识过程中,通过共识机制使用请求客户端的公钥验证请求签名,这样保证了客户端操作请求的真实、有效、可追踪及不可否认。
作为一种实施方式,如图4所示,身份证链还与用户通证发布接口相连,所述用户通证发布接口用于根据用户的安全属性和访问权限生成和发布用户通证,并写入到身份链上;
所述身份证链还与用户通证撤销接口相连,所述用户通证撤销接口用于当出现用户调离情况时,清空相应用户的通证账户,并写入到身份链上;
所述身份证链还与用户通证修改接口相连,所述用户通证修改接口用于当用户身份属性发生变化时,修改用户的通证信息,改变其访问权限,并把新的通证信息写入到身份链上。
具体地,当用户职位、部门归属、职责变更等导致身份属性发生变化时,修改用户的通证信息,改变其访问权限,并把新的通证信息写入到身份链上。
本实施例建立了新的身份链以负责对系统中的用户通证授权管理、用户密钥生成、访问控制规则管理,通过给各用户赋予通证来进行授权;用户通过客户端对自己拥有的数据的安全属性标记进行管理;用户进行数据存储和访问之前,需要通过身份链上的访问控制规则列表对用户的访问权限进行确认,获得访问许可后,才能在业务数据链上进行相应数据的读写操作,保证了数据存储安全的身份验证和权限控制。
实施例三
本实施例从代理服务器侧进行描述基于区块链双链结构的政务数据存储方法。
本实施例的基于区块链双链结构的政务数据存储方法,具体包括:
S301:接收客户端上传的数据;
在具体实施中,用户(数据提供方)通过客户端将待存储的数据上传至代理服务器。
需要说明的是,待存储的数据包括但不限于各个部门相应时间段内的所有员工的上下班打卡记录数据、特定部门相关任务的进度数据等。
S302:发送数据存储请求到身份链来验证用户身份和数据存储请求;
S303:接收身份链反馈的验证结果:
若验证未通过,则向客户端发送数据存储拒绝请求;
若验证通过,则向业务数据链提交数据存储请求,接收业务数据链返回的存储结果并反馈至客户端。
在具体实施中,根据政务数据所具有的安全属性,将数据对象生成安全属性标记并将其保存在业务数据链中;根据用户所具有的身份,确定用户所具有的安全及访问属性,生成用户通证。并根据中各类用户对不同数据对象的权限,生成以用户通证与数据安全属性标记为关键字的访问控制规则列表并保存在身份链上。
业务数据链根据客户端的数据存储请求完成共识过程,将数据唯一标识、摘要信息和访问权限设置信息等存储在区块链系统状态数据库中。
在本实施例的业务数据链根据客户端的数据存储请求完成共识过程中,通过共识机制使用请求客户端的公钥验证请求签名,这样保证了客户端操作请求的真实、有效、可追踪及不可否认。
作为一种实施方式,如图4所示,身份证链还与用户通证发布接口相连,所述用户通证发布接口用于根据用户的安全属性和访问权限生成和发布用户通证,并写入到身份链上;
所述身份证链还与用户通证撤销接口相连,所述用户通证撤销接口用于当出现用户调离情况时,清空相应用户的通证账户,并写入到身份链上;
所述身份证链还与用户通证修改接口相连,所述用户通证修改接口用于当用户身份属性发生变化时,修改用户的通证信息,改变其访问权限,并把新的通证信息写入到身份链上。
具体地,当用户职位、部门归属、职责变更等导致身份属性发生变化时,修改用户的通证信息,改变其访问权限,并把新的通证信息写入到身份链上。
本实施例建立了新的身份链以负责对系统中的用户通证授权管理、用户密钥生成、访问控制规则管理,通过给各用户赋予通证来进行授权;用户通过客户端对自己拥有的数据的安全属性标记进行管理;用户进行数据存储和访问之前,需要通过身份链上的访问控制规则列表对用户的访问权限进行确认,获得访问许可后,才能在业务数据链上进行相应数据的读写操作,保证了数据存储安全的身份验证和权限控制。
实施例四
本实施例提供了与实施例一相对应的基于区块链双链结构的政务数据存储系统,具体地,该系统包括:
客户端,其用于将数据上传至代理服务器;
代理服务器,其用于将数据存储请求到身份链,验证用户身份和数据存储请求;
身份链,其用于对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则代理服务器向业务数据链提交数据存储请求;
业务数据链,其用于根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中,将存储结果经代理服务器反馈至客户端。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例五
本实施例提供了与实施例二相对应的一种区块链双链结构,其包括:
身份链,其用于接收客户端经代理服务器发送来的数据存储请求,对提出请求的用户身份和存储操作权限进行验证,并向代理服务器返回验证结果:
若验证未通过,则经代理服务器向客户端发送数据存储拒绝请求;
若验证通过,则经代理服务器向业务数据链提交数据存储请求;
业务数据链,其用于根据客户端的数据存储请求完成共识过程,并将数据相关信息存储在区块链系统状态数据库中,将存储结果经代理服务器反馈至客户端。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例六
本实施例提供了与实施例三相对应的一种代理服务器,其包括:
数据接收模块,其用于接收客户端上传的数据;
数据存储请求发送模块,其用于发送数据存储请求到身份链来验证用户身份和数据存储请求;
验证结果接收及响应模块,其用于接收身份链反馈的验证结果:
若验证未通过,则向客户端发送数据存储拒绝请求;
若验证通过,则向业务数据链提交数据存储请求,接收业务数据链返回的存储结果并反馈至客户端。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例七
本实施例从客户端、代理服务器、身份证链和业务数据链侧描述基于区块链双链结构的政务数据查询方法。其中,待查询的数据预先经实施例一或实施例二或实施例三所述的基于区块链双链结构的政务数据存储方法存储在区块链系统状态数据库中。
如图2所示,本实施例的一种基于区块链双链结构的政务数据查询方法,其包括:
S401:客户端向代理服务器提交查询数据的请求;
S402:代理服务器接收到查询数据请求后,调用身份链验证数据需求方身份和读取权限;
S403:身份链对需求方身份和读取权限进行验证,向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则代理服务器向业务数据链提交查询数据请求,业务数据链从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
S404:代理服务器向客户端发送数据读取私钥和数据索引;
S405:客户端将代理服务器向业务数据链发送读取请求;
具体地,所述读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳。
S406:业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密格式的数据查询结果返回代理服务器,并将数据操作记录写入交易记录库;
S407:代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例八
本实施例从身份证链和业务数据链侧描述基于区块链双链结构的政务数据查询方法。其中,待查询的数据预先经实施例一或实施例二或实施例三所述的基于区块链双链结构的政务数据存储方法存储在区块链系统状态数据库中。
如图2所示,本实施例的一种基于区块链双链结构的政务数据查询方法,其包括:
S501:身份链接收客户端经代理服务器发送来的查询数据请求,对需求方身份和读取权限进行验证,并向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则经代理服务器向业务数据链提交查询数据请求;
S502:业务数据链从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
S503:接收客户端经代理服务器发送来的读取数据请求;
具体地,所述读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳。
S504:从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密数据返回代理服务器,并将数据操作记录写入交易记录库;
S505:向经代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例九
本实施例从代理服务器侧描述基于区块链双链结构的政务数据查询方法。其中,待查询的数据预先经实施例一或实施例二或实施例三所述的基于区块链双链结构的政务数据存储方法存储在区块链系统状态数据库中。
如图2所示,本实施例的一种基于区块链双链结构的政务数据查询方法,其包括:
S601:接收客户端发送来的查询数据请求,调用身份链验证数据需求方身份和读取权限;
S602:接收身份链返回的验证结果和数据的读取私钥:
若验证未通过,则向客户端发出拒绝查询数据请求;
若验证通过,则向业务数据链提交查询数据请求,接收业务数据链从链上查找用户需要的数据索引的查找结果;
S603:向客户端发送数据读取私钥和数据索引;
S604:接收客户端发出的读取数据请求;
具体地,所述读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳。
S605:接收业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密后的加密格式的数据查询结果;
S606:向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例十
本实施例提供了一种实施例七所对应的基于区块链双链结构的政务数据查询系统,其包括:
客户端向代理服务器提交查询数据的请求;
代理服务器接收到查询数据请求后,调用身份链验证数据需求方身份和读取权限;
身份链对需求方身份和读取权限进行验证,向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则代理服务器向业务数据链提交查询数据请求,业务数据链从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
代理服务器向客户端发送数据读取私钥和数据索引;
客户端将代理服务器向业务数据链发送读取请求,读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳;
业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密格式的数据查询结果返回代理服务器,并将数据操作记录写入交易记录库;
代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例十一
本实施例提供了一种实施例八所对应的区块链双链结构,包括:
身份链,其用于接收客户端经代理服务器发送来的查询数据请求,对需求方身份和读取权限进行验证,并向代理服务器返回验证结果和数据的读取私钥:
若验证未通过,则经代理服务器向客户端发出拒绝查询数据请求;
若验证通过,则经代理服务器向业务数据链提交查询数据请求;
业务数据链,其用于从链上查找用户需要的数据索引,并向代理服务器返回相应结果;
接收客户端经代理服务器发送来的读取数据请求,读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳;
从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密,将加密数据返回代理服务器,并将数据操作记录写入交易记录库;
向经代理服务器向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例十二
本实施例提供了一种实施例九所对应的代理服务器,包括:
查询数据请求接收模块,其用于接收客户端发送来的查询数据请求,调用身份链验证数据需求方身份和读取权限;
验证结果接收及响应模块,其用于接收身份链返回的验证结果和数据的读取私钥:
若验证未通过,则向客户端发出拒绝查询数据请求;
若验证通过,则向业务数据链提交查询数据请求,接收业务数据链从链上查找用户需要的数据索引的查找结果;
私钥和索引发送模块,其用于向客户端发送数据读取私钥和数据索引;
读取数据请求接收模块,其用于接收客户端发出的读取数据请求,读取请求中包含数据需求方公钥、目标数据索引、数据读取私钥和时间戳;
加密模块,其用于接收业务数据链从各节点状态数据库读取目标数据后,使用数据需求方公钥对数据加密后的加密格式的数据查询结果;
数据查询结果反馈模块,其用于向客户端返回加密格式的数据查询结果,再在客户端经数据需求方私钥对加密数据进行解密,最终获得数据查询结果。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率;将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障;数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现数据使用的有效审计。
实施例十三
如图3所示,本实施例提供了一种基于区块链双链结构的政务数据共享系统,其包括:
(1)客户端;
配置有软件程序,用于提供用户与数据共享系统之间进行交互的服务接口,所述交互包括存储、查询和数据读取;客户端提交数据存储请求,将数据传输到代理服务器,还用于设置对所存储数据的访问权限;客户端将查询请求提交至代理服务器并接收代理服务器返回的查询结果;客户端接受代理服务器返回的身份验证成功后的读取秘钥,再向代理服务器发送读取请求以获取加密格式的数据。
(2)代理服务器;
配置有软件程序,用于接收客户端提交的操作请求;客户端首先通过服务接口提交身份注册请求,请求区块链注册信息和私钥,代理服务器收到身份注册请求后,从身份链获取相应的注册信息和私钥后将其通过服务接口返回给客户端;代理服务器根据客户端的存储请求将数据发送给业务数据链进行存储,并将数据唯一标识码、摘要信息和访问权限设置信息存储到业务数据链上;根据客户端的数据查询请求向业务数据链请求对应的数据索引并反馈给客户端;根据客户端的确认查询请求向身份链请求对应的数据读取秘钥并反馈给客户端;根据客户端的读取请求向业务数据链请求对应的数据并反馈给客户端。
(3)区域链政务共享平台。
所述区域链政务共享平台为分布式网络架构;所述区域链政务共享平台包括上述的区块链双链结构;
分布式账本模块,其用于实现分布式网络各个节点数据的同步和分布式存储;分布式网络是由多个机构或组织的节点构成的共识网络,每个机构或组织包含若干个子节点,不同子节点之间形成联盟进行安全隐私的通信;
智能合约执行模块,其用于部署在分布式网络节点上,用于管理状态数据库和交易记录的操作;按照合约中预设约定信息,实现相应的数据访问、权限控制和身份验证操作。
区域链政务共享平台各可信节点组成的联盟链,实现各政务节点间的数据同步、数据访问、共识机制执行和验证等。平台配置有软件程序,代理服务器接受客户端发起的数据存储、查询等任务后,通过API等接口方式与该平台进行数据存储、数据查询、身份验证等相关操作,并向代理服务器反馈相应操作请求的结果。
区域链政务共享平台所提供的服务接口包含统一设置的通信规则,需获得来自代理服务器授权后才能访问。客户端使用私钥对操作请求签名,区块链系统共识网络中的节点通过共识机制使用请求客户端的公钥验证请求签名,保证客户端操作请求的真实、有效、可追踪及不可否认。
根据政务数据在共享系统中所具有的安全属性,将数据对象生成安全属性标记并将其保存在业务数据链中;根据用户在政务应用系统中所具有的身份,确定用户所具有的安全及访问属性,生成用户通证。并根据政务共享系统中各类用户对不同数据对象的权限,生成以用户通证与数据安全属性标记为关键字的访问控制规则列表并保存在身份链上。
本实施例为了克服区块链单链结构技术中存在的不足,通过区块链的去中心化、共识机制及安全机制等实现政务数据的可信共享和授权使用,从而在保证政务数据安全、可控的前提之下,实现政务数据的跨部门和高效使用。
本实施例通过使用双链结构,引入了身份链,提高了身份验证的安全性和效率,实现了用户便捷授权与访问控制。
本实施例将政务数据所有权和使用权分离,用户和数据所有者权益在使用机制上得到了有效保障。
本实施例使得数据使用的过程可验证、可追溯,可有效规避数据的非法使用,实现了数据使用的有效审计。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。