CN113221164A - 基于区块链的数据核验方法及装置、电子设备 - Google Patents
基于区块链的数据核验方法及装置、电子设备 Download PDFInfo
- Publication number
- CN113221164A CN113221164A CN202110510131.4A CN202110510131A CN113221164A CN 113221164 A CN113221164 A CN 113221164A CN 202110510131 A CN202110510131 A CN 202110510131A CN 113221164 A CN113221164 A CN 113221164A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- user identity
- target data
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013524 data verification Methods 0.000 title claims abstract description 121
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000012795 verification Methods 0.000 claims abstract description 80
- 238000013523 data management Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000008520 organization Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
公开一种基于区块链的数据核验方法及装置、电子设备。在本申请中,通过区块链中部署的用于对目标数据进行数据管理的智能合约,来验证数据核验方对链上存证的由数据存证方上传的目标数据是否具有核验权限,以及在数据核验方对目标数据具有核验权限时,由智能合约进一步执行数据核验,使得针对目标数据的拥有权限和核验权限被有效地进行了权限隔离,避免数据核验方直接获取数据存证方拥有的链上存证的目标数据进行数据核验,提高了数据核验的安全性。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的数据核验方法及装置、电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
例如,在司法业务的场景中,用户可以将持有的原始数据提交至区块链中预先存证,而在发生法律纠纷时,再由用户(比如:用户可以作为原告或被告)从区块链中下载存证数据,并将存证数据和原始数据提交给司法机构及相关机构(比如:法院、公证处)进行数据核验。
发明内容
本说明书提出一种基于区块链的数据核验方法;所述区块链上存证了由数据存证方上传的目标数据;所述区块链上部署了用于对所述目标数据进行数据管理的智能合约,所述智能合约中维护了由数据存证方授权的具有所述目标数据的核验权限的用户身份标识列表;所述方法包括:
接收数据核验方发起的数据核验请求;其中,所述数据核验请求至少包括待核验的所述目标数据的数据标识和数据核验方的用户身份标识;
响应于所述数据核验请求,调用所述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与所述用户身份标识列表中的用户身份标识匹配;
如果是,则基于所述数据标识查询所述区块链中存证的所述目标数据,并在查询到所述目标数据时,进一步调用所述智能合约中的核验逻辑,对查询到的所述目标数据进行数据核验。
可选的,所述数据标识包括数据摘要;
所述对查询到的所述目标数据进行数据核验,包括:
计算查询到的所述目标数据的数据摘要;
核验计算出的所述数据摘要与所述数据核验请求中包括的数据摘要是否匹配;如果是,确定针对所述目标数据的数据核验通过;如果否,确定针对所述目标数据的数据核验不通过。
可选的,数据核验方的用户身份标识被数据存证方基于持有私钥预先执行了私钥签名;所述智能合约维护了与数据存证方持有私钥对应的公钥;
所述调用所述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与所述用户身份标识列表中的用户身份标识匹配,包括:
调用所述智能合约中的权限验证逻辑,基于所述公钥对私钥签名后的所述数据核验方的用户身份标识进行签名验证;
在签名验证通过后,在所述用户身份标识列表中查找是否存在与数据核验方的用户身份标识一致的用户身份标识。
可选的,所述智能合约中缓存了与历史数据核验对应的历史数据;
所述基于所述数据标识查询所述区块链中存证的所述目标数据,包括:
在所述历史数据中查找是否存在与所述数据标识匹配的历史目标数据;
如果是,则将所述历史目标数据确定为所述目标数据;否则,则基于所述数据标识查询所述区块链的区块中存证的所述目标数据。
可选的,所述数据核验方的用户身份标识包括所述数据核验方的公钥。
可选的,所述区块链为联盟链。
本说明书还提出一种基于区块链的数据核验装置;所述区块链上存证了由数据存证方上传的目标数据;所述区块链上部署了用于对所述目标数据进行数据管理的智能合约,所述智能合约中维护了由数据存证方授权的具有所述目标数据的核验权限的用户身份标识列表;所述装置包括:
接收模块,接收数据核验方发起的数据核验请求;其中,所述数据核验请求至少包括待核验的所述目标数据的数据标识和数据核验方的用户身份标识;
验证模块,响应于所述数据核验请求,调用所述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与所述用户身份标识列表中的用户身份标识匹配;
核验模块,如果是,则基于所述数据标识查询所述区块链中存证的所述目标数据,并在查询到所述目标数据时,进一步调用所述智能合约中的核验逻辑,对查询到的所述目标数据进行数据核验。
可选的,所述数据标识包括数据摘要;
所述核验模块进一步:
计算查询到的所述目标数据的数据摘要;
核验计算出的所述数据摘要与所述数据核验请求中包括的数据摘要是否匹配;如果是,确定针对所述目标数据的数据核验通过;如果否,确定针对所述目标数据的数据核验不通过。
可选的,数据核验方的用户身份标识被数据存证方基于持有私钥预先执行了私钥签名;所述智能合约维护了与数据存证方持有私钥对应的公钥;
所述验证模块进一步:
调用所述智能合约中的权限验证逻辑,基于所述公钥对私钥签名后的所述数据核验方的用户身份标识进行签名验证;
在签名验证通过后,在所述用户身份标识列表中查找是否存在与数据核验方的用户身份标识一致的用户身份标识。
可选的,所述智能合约中缓存了与历史数据核验对应的历史数据;
所述验证模块进一步:
在所述历史数据中查找是否存在与所述数据标识匹配的历史目标数据;
如果是,则将所述历史目标数据确定为所述目标数据;否则,则基于所述数据标识查询所述区块链的区块中存证的所述目标数据。
可选的,所述数据核验方的用户身份标识包括所述数据核验方的公钥。
可选的,所述区块链为联盟链。
本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;
所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述的方法。
本申请还提供一种机器可读存储介质,所述机器可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。
在以上技术方案中,通过区块链中部署的用于对目标数据进行数据管理的智能合约,来验证数据核验方对链上存证的由数据存证方上传的目标数据是否具有核验权限,以及在数据核验方对目标数据具有核验权限时,由智能合约进一步执行数据核验,使得针对目标数据的拥有权限和核验权限被有效地进行了权限隔离,避免数据核验方直接获取数据存证方拥有的链上存证的目标数据进行数据核验,提高了数据核验的安全性。
附图说明
图1是本说明书一实施例提供的一种用于数据核验的区块链的组网示意图;
图2是本说明书一实施例提供的一种基于区块链的数据核验方法的流程图;
图3是本说明书一实施例提供的一种基于智能合约进行数据核验的交互过程示意图;
图4是本说明书一实施例提供的一种电子设备的结构示意图;
图5是本说明书一实施例提供的一种基于区块链的数据核验装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
在类似司法业务的数据核验场景下,在现有的一些方案中,仅支持数据存证方(比如:用户)从区块链中下载链上存证数据后再提交给数据核验方进行在链下进行数据核验,而数据核验方(比如:法院、公证处)无法直接访问数据存证方的链上存证数据,降低了数据核验效率和安全性。
而在现有的另一些方案中,数据存证方(比如:用户)和数据核验方(比如:法院、公证处)分别接入区块链时,由中心化的后台系统通过使用同一个账户(一般是中心化后台系统的默认账户)先从区块链中下载链上存证数据,然后再由中心化的后台系统根据数据核验方、数据存证方对该链上存证数据分别对应的数据权限来进行数据核验。在该方案中,数据存证方和数据核验方在区块链上实际上是共享同一区块链账户,一方面,存在数据存证方的数据泄露隐患,另一方面,在中心化的后台系统进行数据核验,降低了数据核验安全性。
基于此,本说明书中,旨在提出一种基于区块链中部署的智能合约管理链上存证数据的访问权限,以及基于访问权限来控制数据核验方对数据存证方的数据进行数据核验的技术方案。
在实现时,区块链上存证了由数据存证方上传的目标数据;区块链上部署了用于对目标数据进行数据管理的智能合约,智能合约中维护了由数据存证方授权的具有目标数据的核验权限的用户身份标识列表。
进一步地,区块链接收数据核验方发起的数据核验请求;其中,数据核验请求至少包括待核验的目标数据的数据标识和数据核验方的用户身份标识。
进一步地,响应于数据核验请求,调用智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与用户身份标识列表中的用户身份标识匹配;
如果是,则基于数据标识查询区块链中存证的目标数据,并在查询到目标数据时,进一步调用智能合约中的核验逻辑,对查询到的目标数据进行数据核验。
例如,请参考图1,图1是本说明书一实施例提供的一种用于数据核验的区块链的组网示意图。
如图1所示,该组网包括区块链、数据核验方、数据存证方;其中,数据核验方和数据存证方分别基于各自持有的客户端接入区块链中;区块链中部署了用于对目标数据进行数据管理的智能合约。数据核验方可以通过智能合约基于数据核验方提交的待核验的目标数据的数据标识和数据存证方预先上传至区块链中存证的目标数据进行数据核验。
在以上技术方案中,通过区块链中部署的用于对目标数据进行数据管理的智能合约,来验证数据核验方对链上存证的由数据存证方上传的目标数据是否具有核验权限,以及在数据核验方对目标数据具有核验权限时,由智能合约进一步执行数据核验,使得针对目标数据的拥有权限和核验权限被有效地进行了权限隔离,避免数据核验方直接获取数据存证方拥有的链上存证的目标数据进行数据核验,提高了数据核验的安全性。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参见图2,图2是一示例性实施例提供的一种基于区块链的数据核验方法的流程图;上述区块链上存证了由数据存证方上传的目标数据;上述区块链上部署了用于对上述目标数据进行数据管理的智能合约,上述智能合约中维护了由数据存证方授权的具有上述目标数据的核验权限的用户身份标识列表;上述方法执行以下步骤:
步骤202、接收数据核验方发起的数据核验请求;其中,上述数据核验请求至少包括待核验的上述目标数据的数据标识和数据核验方的用户身份标识。
步骤204、响应于上述数据核验请求,调用上述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与上述用户身份标识列表中的用户身份标识匹配。
步骤206、如果是,则基于上述数据标识查询上述区块链中存证的上述目标数据,并在查询到上述目标数据时,进一步调用上述智能合约中的核验逻辑,对查询到的上述目标数据进行数据核验。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
在本说明书中,上述目标数据,可以包括存证于上述区块链上的任何类型的数据;其中,上述目标数据的数据类型及其存储方式,在本说明书中不作具体限定。
例如,上述目标数据具体可以包括文本、图片、视频、二进制文件等数据类型,上述目标数据还可以包括分别与文本、图片、视频、二进制文件等数据类型的数据所对应的数据摘要。
在本说明书中,上述数据存证方,可以包括针对上述目标数据具有拥有权限的用户所持有的、接入至上述区块链中的数据存证客户端;
其中,上述数据存证方可以将获取的上述目标数据预先上传至上述区块链中。
例如,以司法场景为例,用户可以基于将持有的原始数据作为证据预先提交至区块链中预先存证,以使在发生法律纠纷时,可以基于链上存证的上述目标数据进行数据核验。
在本说明书中,上述区块链,可以包括任何类型的区块链;
其中,上述区块链的具体类型可以包括公有链、私有链、联盟链中的任意一种。例如,在实际应用中,上述区块链具体可以为联盟链。
在本说明书中,上述区块链中部署了用于对上述目标数据进行数据管理的智能合约;
其中,上述智能合约中维护了由上述数据存证方授权的具有上述目标数据的核验权限的用户身份标识列表。
在本说明书中,上述用户身份标识列表,是指由上述数据存证方授权的具有上述目标数据的核验权限的一个或多个用户身份标识的集合;
其中,上述用户身份标识,是指针对上述目标数据进行数据访问的用户身份的唯一标识。
例如,在实际应用中,上述用户身份标识具体可以包括唯一指示用户身份的证件号、用户在上述区块链对应被分配的区块链账户地址、与该区块链账户地址对应绑定的用户被分配的公私钥对(非对称密钥对)中的公钥中的任一或组合。
在本说明书中,上述数据核验方,可以包括针对上述目标数据具有核验权限的用户所持有的、接入至上述区块链中的数据核验客户端。
例如,以司法场景为例,上述数据核验方具体可以包括法院或者公证处持有的数据核验客户端,通过该数据核验客户端可以向上述区块链发起与上述目标数据相关的数据核验。
需要说明的是,在实际应用中,上述数据存证客户端及上述数据核验客户端可以运行任何类型的设备之上。例如,上述数据核验客户端可以运行在移动终端、PAD、PC等设备之上。
在本说明书中,上述数据存证客户端及上述数据核验客户端接入上述区块链的方式,不作具体限定。
例如,上述数据存证客户端及上述数据核验客户端可以分别作为上述区块链的节点通过向上述区块链发起区块链交易的方式直接接入至上述区块链中。
当然,在实际应用中,上述数据存证客户端及上述数据核验客户端也可以分别先接入至BaaS(Blockchain as a Service,区块链即服务)平台,通过作为区块链成员的BaaS平台间接接入至上述区块链中。
在本说明书中,上述区块链可以接收上述数据核验方发起的数据核验请求;
其中,上述数据核验请求至少包括待核验的上述目标数据的数据标识和数据核验方的用户身份标识;
例如,以用户身份标识为公钥为例,则数据核验方的用户身份标识可以数据核验方被上述区块链分配的公私钥对(非对称密钥对)中的公钥;
以目标数据为数据A为例,则待核验的数据A的数据标识为M;其中,M具体可以是数据A基于预设的不可逆的哈希算法(比如:md5、SHA256等)计算得到的哈希值,可以将该哈希值作为数据A的数据摘要。
在本说明书中,进一步地,上述区块链响应于上述数据核验请求,调用上述智能合约中的权限验证逻辑,验证上述数据核验方的用户身份标识是否与上述用户身份标识列表中的用户身份标识匹配。
接着以上示例继续举例,区块链响应于该数据核验请求,调用智能合约中的权限验证逻辑,验证数据核验方的用户身份标识,是否与上述用户身份标识列表中的用户身份标识匹配。
在示出的一种实施方式中,上述数据核验方的用户身份标识被上述数据存证方基于持有私钥预先执行了私钥签名;上述智能合约维护了与上述数据存证方持有私钥对应的公钥。
例如,以数据核验方被区块链分配的公私钥对(公钥A/私钥A)、数据存证方被区块链分配的公私钥对(公钥B/私钥B)进行示例,数据核验方的用户身份标识(比如为公钥A)为被数据存证方基于持有的私钥B预先执行了私钥签名。
在本说明书中,进一步地,在调用上述智能合约中的权限验证逻辑,验证用上述数据核验方的用户身份标识是否与上述用户身份标识列表中的用户身份标识匹配的过程中,上述区块链调用上述智能合约中的权限验证逻辑,基于上述公钥对私钥签名后的上述数据核验方的用户身份标识进行签名验证。
接着以上示例继续举例,区块链可以调用智能合约中的权限验证逻辑,基于公钥B对私钥B签名后的数据核验方的用户身份标识(公钥A)进行签名验证。
在本说明书中,进一步地,在签名验证通过后,在上述用户身份标识列表中查找是否存在与述数据核验方的用户身份标识一致的用户身份标识。
接着以上示例继续举例,在基于公钥B对私钥B签名后的数据核验方的用户身份标识签名验证验证通过后,可以调用智能合约中的查找逻辑在智能合约维护的用户身份标识列表中查找是否存在与数据核验方的用户身份标识一致的用户身份标识。
在本说明书中,如果上述数据核验方的用户身份标识与上述用户身份标识列表中的用户身份标识匹配,则上述区块链基于上述数据标识查询上述区块链中存证的上述目标数据。
例如,以数据标识是M为例,区块链可以调用智能合约中的查询逻辑基于M查询到与该数据标识对应在区块链的区块中存证的目标数据A。
在示出的一种实施方式中,上述智能合约中缓存了与历史数据核验对应的历史数据;在基于上述数据标识查询上述区块链中存证的上述目标数据的过程中,上述区块链可以在上述历史数据中查找是否存在与上述数据标识匹配的历史目标数据;如果是,则将上述历史目标数据确定为上述目标数据;否则,则基于上述数据标识查询上述区块链的区块中存证的上述目标数据。
接着以上示例继续举例,智能合约中缓存了与一次或多次历史数据核验对应一条或多条记录的历史数据;其中,每条记录具体可以包括待核验的历史目标数据的历史数据标识和与该数据标识对应在区块链的区块中存证的历史目标数据;上述历史数据比如可以参见以下表1所示:
历史数据核验记录编号 | 历史数据标识 | 历史目标数据 |
1 | M | A |
2 | M1 | A1 |
... | ... | ... |
n | Mn | An |
表1
如表1所示,历史数据核验记录编号,用于指示上述数据核验方已执行过数据核验的记录编号;历史数据标识,具体包括上述数据核验方在历史数据核验记录编号对应的数据核验过程中的数据核验请求中携带的待核验的目标数据的数据标识;历史目标数据具体包括基于历史数据标识从上述区块链中查询得到的对应存证目标数据。
在基于数据核验方当前发起的数据核验请求中携带数据标识M查询区块链中存证的目标数据A的过程中,区块链可以在如表1所示的历史数据中查找是否存在与数据标识M匹配的历史目标数据。
如表1所示,表1中存在与数据标识M对应的历史目标数据A,则将历史目标数据A确定为与数据标识M对应链上存证的目标数据。
当然,在实际应用中,如果在上述历史数据中不存在与上述数据标识匹配的历史目标数据,则基于上述数据标识查询上述区块链的区块中存证的上述目标数据。
需要说明的是,通过上述智能合约对历史数据核验相关的历史数据进行缓存,减少了从区块链的区块中去查找目标数据的性能消耗,极大地提高了数据核验效率。
在本说明书中,在基于上述数据标识查询到上述区块链中存证的上述目标数据时,上述区块链可以进一步调用上述智能合约中的核验逻辑,对查询到的上述目标数据进行数据核验。
例如,在基于数据标识M查询到区块链中存证的目标数据A时,区块链可以进一步调用智能合约中的核验逻辑,对查询到的目标数据A进行数据核验。
在示出的一种实施方式中,在上述数据标识为数据摘要时,在对查询到的上述目标数据进行数据核验的过程中,上述区块链可以调用上述智能合约中的核验逻辑计算查询到的上述目标数据的数据摘要,并核验计算出的上述数据摘要与上述数据核验请求中包括的数据摘要是否匹配;如果是,确定针对上述目标数据的数据核验通过;如果否,确定针对上述目标数据的数据核验不通过。
接着以上示例,以数据核验请求中包括的数据标识M为数据摘要A继续举例,在对查询到的目标数据A进行数据核验的过程中,区块链可以调用智能合约中的核验逻辑计算查询到的目标数据A的数据摘要B,并核验计算出的数据摘要B与数据核验请求中包括的数据摘要A是否一致;如果是,确定针对目标数据A的数据核验通过;如果否,确定针对目标数据A的数据核验不通过。
需要说明的是,在实际应用中,上述智能合约在调用完成后,通常都会以事件(Event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在节点设备的存储空间中进行存储。而上述数据核验方可以通过监听区块链中节点设备的存储空间中存储的上述交易日志的方式,来获取该智能合约的调用结果,并由上述数据核验方基于该调用结果向用户输出相关提示。比如:在数据核验成功或失败时,上述数据核验方可以向用户输出数据核验成功或失败的提示。
为了方便整体理解,请参考图3,图3是本说明书一实施例提供的一种基于智能合约进行数据核验的交互过程示意图。
图3中的包括数据存证方、数据核验方及部署了用于对上述目标数据进行数据管理的智能合约的区块链与图1中的描述相同,这里不再赘述。
如图3所示,数据存证方、数据核验方及部署了用于对上述目标数据进行数据管理的智能合约的区块链之间的交互过程,如下步骤所述:S301.基于智能合约将链下目标数据预先存证在区块链中;S302.基于智能合约针对链上存证的目标数据为数据核验方分配对应的核验权限,通过用户身份标识列表来维护核验权限;S303.基于携带待核验的目标数据的数据标识和和数据核验方的用户身份标识发起数据核验;S304.基于智能合约检查数据核验方的用户身份标识是否存在于用户身份标识列表中,若是则具有链上存证数据的核验权限;S305.基于智能合约基于待核验的目标数据的数据标识查询得到链上存证的目标数据并执行数据核验。
通过以上实施例可见,通过区块链中部署的用于对目标数据进行数据管理的智能合约,来验证数据核验方对链上存证的由数据存证方上传的目标数据是否具有核验权限,以及在数据核验方对目标数据具有核验权限时,由智能合约进一步执行数据核验,使得针对目标数据的拥有权限和核验权限被有效地进行了权限隔离,避免数据核验方直接获取数据存证方拥有的链上存证的目标数据进行数据核验,提高了数据核验的安全性。
例如,在实际应用中,由于数据存证方对目标数据具有拥有权限,所以数据存证方可以从区块链中查询得到目标数据并下载到本地;而由于数据核验方对目标数据仅具有核验权限,所以数据核验方仅能通过调用智能合约来进行数据核验,而无法将区块链中存证的目标数据下载到本地进行数据核验。由此,克服了现有方案的由于数据存证方和数据核验方共享同一区块链账户而导致的数据存证方的数据泄露的问题,提高了数据核验的安全性。
与上述方法实施例相对应,本说明书还提供了一种基于区块链的数据核验装置的实施例。
本说明书的基于区块链的分级存储装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。
从硬件层面而言,如图4所示,为本说明书的基于区块链的数据核验装置所在电子设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图5是本说明书一示例性实施例示出的一种基于区块链的数据核验装置的框图。
请参考图5,基于区块链的数据核验装置50可以应用在前述图4所示的电子设备中;所述区块链上存证了由数据存证方上传的目标数据;所述区块链上部署了用于对所述目标数据进行数据管理的智能合约,所述智能合约中维护了由数据存证方授权的具有所述目标数据的核验权限的用户身份标识列表;所述装置50包括:
接收模块501,接收数据核验方发起的数据核验请求;其中,所述数据核验请求至少包括待核验的所述目标数据的数据标识和数据核验方的用户身份标识;
验证模块502,响应于所述数据核验请求,调用所述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与所述用户身份标识列表中的用户身份标识匹配;
核验模块503,如果是,则基于所述数据标识查询所述区块链中存证的所述目标数据,并在查询到所述目标数据时,进一步调用所述智能合约中的核验逻辑,对查询到的所述目标数据进行数据核验。
在本实施例中,所述数据标识包括数据摘要;
所述核验模块503进一步:
计算查询到的所述目标数据的数据摘要;
核验计算出的所述数据摘要与所述数据核验请求中包括的数据摘要是否匹配;如果是,确定针对所述目标数据的数据核验通过;如果否,确定针对所述目标数据的数据核验不通过。
在本实施例中,数据核验方的用户身份标识被数据存证方基于持有私钥预先执行了私钥签名;所述智能合约维护了与数据存证方持有私钥对应的公钥;
所述验证模块502进一步:
调用所述智能合约中的权限验证逻辑,基于所述公钥对私钥签名后的所述数据核验方的用户身份标识进行签名验证;
在签名验证通过后,在所述用户身份标识列表中查找是否存在与数据核验方的用户身份标识一致的用户身份标识。
在本实施例中,所述智能合约中缓存了与历史数据核验对应的历史数据;
所述验证模块502进一步:
在所述历史数据中查找是否存在与所述数据标识匹配的历史目标数据;
如果是,则将所述历史目标数据确定为所述目标数据;否则,则基于所述数据标识查询所述区块链的区块中存证的所述目标数据。
在本实施例中,所述数据核验方的用户身份标识包括所述数据核验方的公钥。
在本实施例中,所述区块链为联盟链。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (13)
1.一种基于区块链的数据核验方法;所述区块链上存证了由数据存证方上传的目标数据;所述区块链上部署了用于对所述目标数据进行数据管理的智能合约,所述智能合约中维护了由数据存证方授权的具有所述目标数据的核验权限的用户身份标识列表;所述方法包括:
接收数据核验方发起的数据核验请求;其中,所述数据核验请求至少包括待核验的所述目标数据的数据标识和数据核验方的用户身份标识;
响应于所述数据核验请求,调用所述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与所述用户身份标识列表中的用户身份标识匹配;
如果是,则基于所述数据标识查询所述区块链中存证的所述目标数据,并在查询到所述目标数据时,进一步调用所述智能合约中的核验逻辑,对查询到的所述目标数据进行数据核验。
2.根据权利要求1所述的方法,所述数据标识包括数据摘要;
所述对查询到的所述目标数据进行数据核验,包括:
计算查询到的所述目标数据的数据摘要;
核验计算出的所述数据摘要与所述数据核验请求中包括的数据摘要是否匹配;如果是,确定针对所述目标数据的数据核验通过;如果否,确定针对所述目标数据的数据核验不通过。
3.根据权利要求1所述的方法,数据核验方的用户身份标识被数据存证方基于持有私钥预先执行了私钥签名;所述智能合约维护了与数据存证方持有私钥对应的公钥;
所述调用所述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与所述用户身份标识列表中的用户身份标识匹配,包括:
调用所述智能合约中的权限验证逻辑,基于所述公钥对私钥签名后的所述数据核验方的用户身份标识进行签名验证;
在签名验证通过后,在所述用户身份标识列表中查找是否存在与数据核验方的用户身份标识一致的用户身份标识。
4.根据权利要求1所述的方法,所述智能合约中缓存了与历史数据核验对应的历史数据;
所述基于所述数据标识查询所述区块链中存证的所述目标数据,包括:
在所述历史数据中查找是否存在与所述数据标识匹配的历史目标数据;
如果是,则将所述历史目标数据确定为所述目标数据;否则,则基于所述数据标识查询所述区块链的区块中存证的所述目标数据。
5.根据权利要求1所述的方法,所述数据核验方的用户身份标识包括所述数据核验方的公钥。
6.根据权利要求1所述的方法,所述区块链为联盟链。
7.一种基于区块链的数据核验装置;所述区块链上存证了由数据存证方上传的目标数据;所述区块链上部署了用于对所述目标数据进行数据管理的智能合约,所述智能合约中维护了由数据存证方授权的具有所述目标数据的核验权限的用户身份标识列表;所述装置包括:
接收模块,接收数据核验方发起的数据核验请求;其中,所述数据核验请求至少包括待核验的所述目标数据的数据标识和数据核验方的用户身份标识;
验证模块,响应于所述数据核验请求,调用所述智能合约中的权限验证逻辑,验证数据核验方的用户身份标识是否与所述用户身份标识列表中的用户身份标识匹配;
核验模块,如果是,则基于所述数据标识查询所述区块链中存证的所述目标数据,并在查询到所述目标数据时,进一步调用所述智能合约中的核验逻辑,对查询到的所述目标数据进行数据核验。
8.根据权利要求7所述的装置,所述数据标识包括数据摘要;
所述核验模块进一步:
计算查询到的所述目标数据的数据摘要;
核验计算出的所述数据摘要与所述数据核验请求中包括的数据摘要是否匹配;如果是,确定针对所述目标数据的数据核验通过;如果否,确定针对所述目标数据的数据核验不通过。
9.根据权利要求7所述的装置,数据核验方的用户身份标识被数据存证方基于持有私钥预先执行了私钥签名;所述智能合约维护了与数据存证方持有私钥对应的公钥;
所述验证模块进一步:
调用所述智能合约中的权限验证逻辑,基于所述公钥对私钥签名后的所述数据核验方的用户身份标识进行签名验证;
在签名验证通过后,在所述用户身份标识列表中查找是否存在与数据核验方的用户身份标识一致的用户身份标识。
10.根据权利要求7所述的装置,所述智能合约中缓存了与历史数据核验对应的历史数据;
所述验证模块进一步:
在所述历史数据中查找是否存在与所述数据标识匹配的历史目标数据;
如果是,则将所述历史目标数据确定为所述目标数据;否则,则基于所述数据标识查询所述区块链的区块中存证的所述目标数据。
11.根据权利要求7所述的装置,所述数据核验方的用户身份标识包括所述数据核验方的公钥。
12.根据权利要求7所述的装置,所述区块链为联盟链。
13.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110510131.4A CN113221164A (zh) | 2021-05-11 | 2021-05-11 | 基于区块链的数据核验方法及装置、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110510131.4A CN113221164A (zh) | 2021-05-11 | 2021-05-11 | 基于区块链的数据核验方法及装置、电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113221164A true CN113221164A (zh) | 2021-08-06 |
Family
ID=77094605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110510131.4A Pending CN113221164A (zh) | 2021-05-11 | 2021-05-11 | 基于区块链的数据核验方法及装置、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113221164A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115170355A (zh) * | 2022-07-27 | 2022-10-11 | 湖南红普创新科技发展有限公司 | 取证数据可信验证方法、装置、计算机设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583184A (zh) * | 2018-10-09 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 身份验证方法及装置和电子设备 |
CN109784020A (zh) * | 2019-02-15 | 2019-05-21 | 上海优扬新媒信息技术有限公司 | 一种区块链权限管理方法及装置 |
CN110188129A (zh) * | 2019-05-31 | 2019-08-30 | 北京旷视科技有限公司 | 人证核验终端的数据处理方法、装置、系统、设备及介质 |
CN110474763A (zh) * | 2019-08-28 | 2019-11-19 | 蒋勇 | 一种基于链的身份保护方法及场景应用 |
CN111931137A (zh) * | 2020-06-03 | 2020-11-13 | 浪潮云信息技术股份公司 | 一种基于区块链的电子身份信息管理方法、设备及介质 |
CN112070502A (zh) * | 2020-11-10 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据核验方法和系统 |
CN112199714A (zh) * | 2020-12-04 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私保护方法、装置及电子设备 |
CN112214519A (zh) * | 2020-11-10 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 一种数据查询方法、装置、设备及可读介质 |
-
2021
- 2021-05-11 CN CN202110510131.4A patent/CN113221164A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109583184A (zh) * | 2018-10-09 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 身份验证方法及装置和电子设备 |
CN109784020A (zh) * | 2019-02-15 | 2019-05-21 | 上海优扬新媒信息技术有限公司 | 一种区块链权限管理方法及装置 |
CN110188129A (zh) * | 2019-05-31 | 2019-08-30 | 北京旷视科技有限公司 | 人证核验终端的数据处理方法、装置、系统、设备及介质 |
CN110474763A (zh) * | 2019-08-28 | 2019-11-19 | 蒋勇 | 一种基于链的身份保护方法及场景应用 |
CN111931137A (zh) * | 2020-06-03 | 2020-11-13 | 浪潮云信息技术股份公司 | 一种基于区块链的电子身份信息管理方法、设备及介质 |
CN112070502A (zh) * | 2020-11-10 | 2020-12-11 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据核验方法和系统 |
CN112214519A (zh) * | 2020-11-10 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 一种数据查询方法、装置、设备及可读介质 |
CN112199714A (zh) * | 2020-12-04 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 基于区块链的隐私保护方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
严行方: "《区块链改变世界》", 29 February 2020, 中国纺织出版社 * |
李晖: "《无线通信安全》", 31 October 2018, 北京邮电大学出版社 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115170355A (zh) * | 2022-07-27 | 2022-10-11 | 湖南红普创新科技发展有限公司 | 取证数据可信验证方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110035045B (zh) | 跨链数据的可信管理方法及装置、电子设备 | |
CN110958117B (zh) | 支持零知识证明的区块链的互操作性 | |
CN111461723B (zh) | 基于区块链的数据处理系统及方法、装置 | |
CN111538786B (zh) | 区块链数据脱敏与溯源的存储方法与装置 | |
CN112000730B (zh) | 基于区块链的溯源信息写入、溯源信息验证的方法、系统 | |
US11283622B2 (en) | Signature verification for a blockchain ledger | |
US11663595B1 (en) | Blockchain transactional identity verification | |
WO2020258858A1 (zh) | 块链式账本中的授权方法、系统、装置及设备 | |
CN113220717B (zh) | 基于区块链的数据核验方法及装置、电子设备 | |
WO2022206454A1 (zh) | 提供跨链消息的方法和装置 | |
CN111815454B (zh) | 数据上链方法及装置、电子设备、存储介质 | |
EP4244793A1 (en) | Hierarchy-based blockchain | |
CN110543526B (zh) | 一种基于区块链的优化储存方法及系统 | |
CN113221164A (zh) | 基于区块链的数据核验方法及装置、电子设备 | |
CN113469815A (zh) | 数据管理方法及装置 | |
CN116522356A (zh) | 数据查询方法及装置 | |
CN115001707B (zh) | 基于区块链的设备认证方法和相关设备 | |
CN114117507B (zh) | 对象存储系统及其访问控制方法和设备、存储介质 | |
CN113507432B (zh) | 一种联盟链权限管理方法和装置 | |
CN111953773B (zh) | 去中心化地址映射方法及装置 | |
CN117118640A (zh) | 一种数据处理方法、装置、计算机设备以及可读存储介质 | |
US9426128B2 (en) | System for generating a security document | |
CN113779155B (zh) | 区块链交易处理方法、装置及设备 | |
CN113987566B (zh) | 基于Hyperledger Fabric的内部桥接跨链方法、装置、设备和介质 | |
KR102515721B1 (ko) | 블록체인 기반의 본인인증을 위한 일회성 패스워드를 이용하는 nfp 본인인증 지원 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40056808 Country of ref document: HK |
|
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210806 |
|
RJ01 | Rejection of invention patent application after publication |