CN118246917A - 基于区块链的数据共享方法及装置 - Google Patents
基于区块链的数据共享方法及装置 Download PDFInfo
- Publication number
- CN118246917A CN118246917A CN202410357518.4A CN202410357518A CN118246917A CN 118246917 A CN118246917 A CN 118246917A CN 202410357518 A CN202410357518 A CN 202410357518A CN 118246917 A CN118246917 A CN 118246917A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- shared
- service chain
- encrypted
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- Bioethics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Optimization (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Storage Device Security (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供一种基于区块链的数据共享方法及装置,可用于区块链技术领域或金融领域。所述方法包括:利用加密密钥对共享数据进行加密,生成加密数据;将加密数据发送给数据存储系统,数据存储系统存储所述加密数据;将所述共享数据的数据目录发送到业务链上进行存证;根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,所述数据接收方用于根据所述业务链上存证的数据目录获取数据存储系统中的所述加密数据,并利用所述解密信息对所述加密数据进行解密,得到共享数据。本申请实施例提供的基于区块链的数据共享方法及装置,能够在对数据流通全流程存证溯源的基础上保护接收方隐私。
Description
技术领域
本申请涉及区块链技术领域,具体涉及一种基于区块链的数据共享方法及装置。
背景技术
区块链网络是一种利用P2P通讯技术实现对等通信、利用共识机制实现记账合法性、利用链式结构存储数据的共同记账的解决方案。基于区块链的数据共享场景落地时,业务系统将基于业务规则编写的业务智能合约部署到区块链业务链系统中的每一个区块链节点上,接收到业务系统交易请求后各区块链节点进行交易共识、交易执行及数据持久化,即将交易记录及结果存证在链上,并在链上向所有参与方公开其账本数据,同时为了保护合作方间的数据隐私防护需求,会通过将数据hash上链的模式保障源数据安全。
基于区块链的数据共享解决方案可以通过将共享流程及数据hash上链解决数据发送方和接收方之间的信任问题,但是交互流程和数据hash链上存证也会带来数据泄露的风险,例如发送方A机构先后共享了同一笔数据给接收方B机构和C机构,在两次共享流程中A机构均会将该笔数据的hash信息存证在链上以为当次数据共享记录留痕,B机构和C机构通过链上账本追溯就可以发现两次交易中的数据hash记录相同,就会获得其他机构也申请获取了同样的数据,就有可能造成因数据共享记录信息泄露而带来业务经营风险的后果。
发明内容
针对现有技术中的问题,本申请实施例提供一种基于区块链的数据共享方法及装置,能够至少部分地解决现有技术中存在的问题。
第一方面,本申请提出一种基于区块链的数据共享方法,包括:
利用加密密钥对共享数据进行加密,生成加密数据;
将所述加密数据发送给数据存储系统,所述数据存储系统存储所述加密数据;
将所述共享数据的数据目录发送到业务链上进行存证;
根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,其中,所述数据接收方用于根据所述业务链上存证的数据目录获取数据存储系统中的所述加密数据,并利用所述解密信息对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
在一些实施例中,所述根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,包括:
根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息;
根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息;
将所述加密信息通过所述业务链共享给所述数据接收方。
在一些实施例中,所述根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息,包括:
根据数据接收方的数据共享请求,对所述数据接收方的权限进行验证,生成验证结果信息,其中,所述数据接收方用于在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,并将所述不经意传输密钥信息发送至所述业务链进行存证;
在所述业务链上获取所述业务链上的不经意传输密钥信息。
在一些实施例中,所述数据接收方在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
在一些实施例中,所述根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息,包括:
获取所述业务链上的第一加密信息;
利用所述数据提供方的私钥对所述第一加密信息进行解密,得到映射关系组;
利用所述数据提供方的私钥以及所述映射关系组对所述不经意传输密钥信息进行解密,得到共享数据的交付密钥;
利用所述交付密钥对数据存储系统中所述共享数据的解密密钥进行加密,得到加密信息。
第二方面,本申请提出一种基于区块链的数据共享方法,包括:
获取数据发送方利用不经意传输技术通过业务链共享的共享数据的解密信息;
在业务链上获取所述共享数据的数据目录;
根据所述数据目录从数据存储系统获取所述共享数据的加密数据;
利用所述解密信息对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述方法还包括:
通过业务链向根据数据发送方发送数据共享请求,其中,所述数据发送方用于对发送所述数据共享请求的数据接收方的权限进行验证,生成验证结果信息;
获取数据发送方通过业务链发送的验证结果信息;
在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息;
将所述不经意传输密钥信息发送至所述业务链进行存证。
在一些实施例中,所述在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
在一些实施例中,所述利用所述解密信息对所述加密数据进行解密,得到共享数据,包括:
利用所述第二随机数对所述解密信息进行解密,得到要获取的共享数据的解密密钥;
利用所述解密密钥对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
在一些实施例中,所述数据目录包括数据哈希值;在利用所述解密信息对所述加密数据进行解密,得到共享数据之后,所述方法还包括:
计算解密得到的所述共享数据的哈希值;
对计算得到的所述哈希值与要获取的共享数据的哈希值进行一致性校验;
若一致性校验通过,则确定本次数据共享成功。
第三方面,本申请提出一种基于区块链的数据共享装置,包括:
加密模块,用于利用加密密钥对共享数据进行加密,生成加密数据;
第一发送模块,用于将所述加密数据发送给数据存储系统,所述数据存储系统存储所述加密数据;
第二发送模块,用于将所述共享数据的数据目录发送到业务链上进行存证;
共享模块,用于根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,其中,所述数据接收方用于根据所述业务链上存证的数据目录获取数据存储系统中的所述加密数据,并利用所述解密信息对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
在一些实施例中,所述共享模块具体用于:
根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息;
根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息;
将所述加密信息通过所述业务链共享给所述数据接收方。
在一些实施例中,所述根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息,包括:
根据数据接收方的数据共享请求,对所述数据接收方的权限进行验证,生成验证结果信息,其中,所述数据接收方用于在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,并将所述不经意传输密钥信息发送至所述业务链进行存证;
在所述业务链上获取所述业务链上的不经意传输密钥信息。
在一些实施例中,所述数据接收方在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
在一些实施例中,所述共享模块根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息,包括:
获取所述业务链上的第一加密信息;
利用所述数据提供方的私钥对所述第一加密信息进行解密,得到映射关系组;
利用所述数据提供方的私钥以及所述映射关系组对所述不经意传输密钥信息进行解密,得到共享数据的交付密钥;
利用所述交付密钥对数据存储系统中所述共享数据的解密密钥进行加密,得到加密信息。
第四方面,本申请提出一种基于区块链的数据共享装置,包括:
第一获取模块,用于获取数据发送方利用不经意传输技术通过业务链共享的共享数据的解密信息;
第二获取模块,用于在业务链上获取所述共享数据的数据目录;
第三获取模块,根据所述数据目录从数据存储系统获取所述共享数据的加密数据;
解密模块,用于利用所述解密信息对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述装置还包括:
第一发送模块,用于通过业务链向根据数据发送方发送数据共享请求,其中,所述数据发送方用于对发送所述数据共享请求的数据接收方的权限进行验证,生成验证结果信息;
第四获取模块,获取数据发送方通过业务链发送的验证结果信息;
生成模块,用于在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息;
第二发送模块,将所述不经意传输密钥信息发送至所述业务链进行存证。
在一些实施例中,所述生成模块具体用于:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
在一些实施例中,所述解密模块具体用于:
利用所述第二随机数对所述解密信息进行解密,得到要获取的共享数据的解密密钥;
利用所述解密密钥对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
在一些实施例中,所述数据目录包括数据哈希值;所述装置还包括:
计算模块,用于计算解密得到的所述共享数据的哈希值;
校验模块,用于对计算得到的所述哈希值与要获取的共享数据的哈希值进行一致性校验;
确定模块,用于若一致性校验通过,则确定本次数据共享成功。
本申请实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的基于区块链的数据共享方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的基于区块链的数据共享方法的步骤。
本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本申请实施例提供的基于区块链的数据共享方法及装置,由参与数据共享联盟的数据发送方机构和数据接收方机构组建业务联盟链,当数据发送方和数据接收方需要进行信息共享时可以由数据发送方先将所有代表共享范围内的数据目录在链上披露,并利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,这样,通过在数据共享流程中结合不经意传输技术理念,可以在数据流通链上存成过程中对数据传输记录进行盲化处理,进而实现数据接收方接收的具体数据无法被其他接收方机构检索及追溯,达到了在对数据流通全流程存证溯源的基础上保护接收方隐私的效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请一实施例提供的区块链存证数据隐私防护系统的结构示意图。
图2是本申请一实施例提供的区块链节点的结构示意图。
图3是本申请一实施例提供的业务系统的结构示意图。
图4是本申请一实施例提供的基于区块链的数据共享方法的流程示意图。
图5是本申请一实施例提供的基于区块链的数据共享方法的部分流程示意图。
图6是本申请一实施例提供的基于区块链的数据共享方法的部分流程示意图。
图7是本申请一实施例提供的基于区块链的数据共享方法的部分流程示意图。
图8是本申请一实施例提供的基于区块链的数据共享方法的部分流程示意图。
图9是本申请一实施例提供的基于区块链的数据共享方法的流程示意图。
图10是本申请一实施例提供的基于区块链的数据共享方法的部分流程示意图。
图11是本申请一实施例提供的基于区块链的数据共享方法的部分流程示意图。
图12是本申请一实施例提供的基于区块链的数据共享方法的部分流程示意图。
图13是本申请一实施例提供的基于区块链的数据共享方法的整体流程示意图。
图14是本申请一实施例提供的基于区块链的数据共享装置的结构示意图。
图15是本申请一实施例提供的基于区块链的数据共享装置的结构示意图。
图16是本申请一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本申请实施例做进一步详细说明。在此,本申请的示意性实施例及其说明用于解释本申请,但并不作为对本申请的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意排序。
关于本文中所使用的“第一”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本申请,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部排序。
为更好的理解本申请,以下先对本申请中涉及到的技术术语进行详细解释。
联盟链:根据业务需求组建区块链联盟网络,抽取业务规则为业务智能合约并部署到区块链联盟网络上对具体的业务数据进行背书。
存证:基于区块链的密码学特性,利用链式结构按时间顺序存储数据的共同记账解决方案,保障记录在链上的信息和数据可追溯、不可篡改。
不经意传输:是一种密码学技术,接收方能够不经意获取发送方的信息,以达到保护发送方和接收方隐私的目的。
在一些实施例中,本申请提供的基于区块链的数据共享方法基于以下联盟链系统实现。
本申请提出一种区块链存证数据隐私防护系统,包括参与数据共享联盟的数据发送方机构和数据接收方机构组建的业务联盟链,各机构注册生成代表机构身份的公私钥对,将公钥对和机构信息上链在联盟内公开,当数据发送方和接收方需要进行信息共享时可以由数据发送方先将所有在共享范围内的数据目录在链上披露,数据接收方根据目录上信息检索序号生成对应的映射关系,并定向加密披露在链上,实际数据关键信息传输时使用不经意传输技术进行对应的数据交互,以达到接收方获取的具体数据信息对链上其他联盟机构进行隐私防护的效果。如图1所示,所述区块链存证数据隐私防护系统包括业务链1、区块链节点2、业务系统3和数据存储系统4。
业务链1为根据数据共享的数据发送方和数据接收方机构根据数据共享需求组建而成,链上包括多个区块链节点2,均属于业务链的成员节点,业务链中区块链节点总数为3f+1个,其中f表示可支持的容错节点个数,最小值为1,请求和业务请求均采用pbft拜占庭容错算法进行共识,一笔共识请求必须在业务链中的每个验证节点收到至少2f+1个来自其他验证节点的一致的确认消息后,该笔交易才能完成当前阶段的共识,拜占庭容错算法三个阶段的共识都完成后才共识成功,业务请求才被执行,执行结果才能作为合法数据生成新的区块并进行持久化,所有成员节点共同记账,拥有相同的账本数据拷贝,包括具体的交易请求信息、数据发送方和接收方的交互信息。
区块链节点2用于链上发送方和接收方处理数据共享请求,包括数据发送方和接收方将代表其身份的公钥信息上链、数据发送方和数据接收方将涉及数据共享流程、以及数据共享隐私防护加工的信息上链。链上账本写操作交易需要经过业务链1上各共识节点共识的共识交易,共识过程中每个区块链节点2均需收到2f+1个其他区块链节点2的一致确认消息后才能完成共识,按合约中的逻辑处理后的数据生成新的区块数据,并触发合约执行后的相关业务流程;查询类读操作交易直接从对应的区块链节点上获取对应的世界状态数据,无需经过共识。
业务系统3是面向用户的业务操作触点交易系统,通过集成不经意传输密码安全组件及链上交互组件,完成包括身份私钥上链、数据目录生成、数据加密存储、数据获取信息交互等数据共享业务逻辑处理。
数据存储系统4是面向数据提供方和数据接收方的共享数据存储中介,由数据发送方将可共享的数据加密存储在数据存储系统上,并将数据获取地址、数据Hash指纹、数据描述等信息组成的数据目录共享存证在链上,当数据接收方申请共享并获得授权后,再通过不经意传输加密模式将文件解密信息共享给数据接收方,数据接收方根据链上地址、hash和获得的解密信息从数据存储系统上获取加密文件,并解密为明文文件,并和链上hash进行验真核验。
图2是区块链节点2的结构示意图,包含交易请求接入装置11、交易共识及执行装置12。
交易请求接入装置11负责与业务链1上的其他联盟参与机构的区块链节点2和本机构内的业务系统3进行连接认证及建立,并进行对应的交易请求接入处理,具体包括初始化模块111和交易接入模块112。
初始化模块111负责进行区块链节点2的身份证书的存储及验证,节点间连接请求的发起及接收。证书是指在业务链1与业务系统3进行系统初始化时发放的可信节点身份证书,保障链节点间连接的安全验证,证书由椭圆曲线加密算法生成公钥、私钥密码对,将公钥广播至链上所有区块链节点及本机构业务系统用户节点身份验证认证。
交易接入模块112负责接收业务系统3发起的区块链业务交易请求,进行接入权限校验及交易签名验证,交易签名是使用机构登记在链上的身份公钥信息进行验签,验证通过后将交易请求路由至交易路由及执行装置12,执行对应的数据流通智能合约,完成交易共识及账本数据持久化。
交易共识及执行装置12负责对智能合约交易请求参数做合法性校验,执行智能合约交易共识并将交易执行结果写入世界状态及区块账本,包括交易共识模块121、交易执行模块122。
交易共识模块121负责与业务链1中所有区块链节点2进行点对点共识信息交互,并完成交易共识的核心模块,对交易结果进行共识,具体为拜占庭共识算的三段式共识过程,第一阶段为pre-prepare共识,第二阶段为prepare共识,第三阶段为commit共识,三个阶段为顺序执行,当前一阶段累计收到至少2f+1个其他交易共识节点的一致确认消息后当前阶段的共识完成并进入下一阶段,三个阶段的共识全部完成后代表该请求交易合法,可进入交易执行模块122。
交易执行模块122负责完成智能合约请求执行及账本的持久化,将交易共识模块121完成的成功交易信息、交易结果信息、区块共识的SeqNo保存到区块中,记录交易日志并发送区块执行成功事件,进行区块链节点2的强一致性检查(区块高度、前驱、当前Hash),最终更新世界状态信息,存证的信息为业务机构上送的交易信息以及对交易信息的签名信息。
图3是业务系统3的结构示意图,包含系统初始化装置21、数据处理装置22和链上交互装置23。
系统初始化装置21是指业务系统进行模块启动及参数加载,首次启动激活时需要生成或读取代表当前联盟机构身份标识的公私钥信息。将机构信息、机构在联盟中的角色、机构的公钥信息一起通过链上交互装置24上链存证。
数据处理装置22是指业务系统根据其机构在数据共享流转中的角色,根据用户触发作为数据发送方或数据接收方进行相关的数据共享流转处理,包括共享数据副本生成及加密存储、数据目录生成、链上交互信息加解密处理、数据校验等,以促成在保护接收方隐私的前提下进行数据流转的可信闭环。具体包括:
数据副本生成模块221、数据目录生成模块222、目录映射处理模块223、密码学处理模块224、存储系统交互模块225和数据鉴真处理模块226。
数据副本生成模块221是作为数据发送方的机构根据业务链1上各联盟合作机构达成的协议进行可共享数据副本封装,包括提取共享数据的指纹hash,对共享数据进行加密处理,通过存储系统交互模块225上传至数据存储系统4,并将数据副本解密密钥、数据副本在数据存储系统4上的访问地址保存在数据处理装置22本地。
数据目录生成模块222是作为数据发送方的机构将可以开放共享给业务链1上其他数据接收方的机构的所有数据生成的目录索引,目录索引信息包括数据资源描述、数据的指纹hash、数据在存储系统的访问地址,目录信息通过链上交互装置23上链存证,在业务链1上对所有其他联盟参与机构公开。
目录映射处理模块223是作为数据接收方的机构向数据发送方的机构申请数据共享时,进行不经意传输混淆的输入源,由数据接收方机构生成对应数据发送方机构公布的数据目录里数据索引个数的随机数,将随机数与数据源的描述信息关联关系用对应数据发送方机构披露在链上的身份公钥加密后,通过链上交互装置23上链存证。数据发送方机构在处理数据共享时则先从链上获取申请数据的数据接收方机构的映射目录关联关系数据,并用自己的身份私钥解密后作为不经意传输混淆的输入源。为保障安全性,数据接收方可定期更新其映射的随机数值。
密码学处理模块224是在数据发送方和数据接收方之间进行数据共享流通时进行的不经意传输处理,其交互流程主要描述如下:
1)随机数组生成:数据接收方机构从业务链1上获取数据发送方机构在链上公开的数据目录,根据数据目录中披露的数据源信息选取希望获取的数据,并为这些数据生成不经意传输加密的随机数组(m0,m1,m2......mn)。
2)随机数组上链:在链上获取数据发送方机构的身份公钥对(e,n),将数据目录与随机数的映射关系组M{[m0,D0],[m1,D1],[m2,D2]......[mn,Dn]}加密处理后,M'=Me(modn),将加密消息M'通过链上交互装置23存证到业务链1上。
3)随机数选择加工:数据接收方机构选择自己需要申请的共享数据资源,并选定该数据资源对应的随机数如m0,并生成一个本次数据共享交互的随机数r,加上选定的随机数m0,并结合数据发送方机构的身份公钥对(e,n),生成一个新的密钥值V=m0+re(modn),将v通过链上共享模式提供给数据发送方机构。
4)传输密钥生成:数据发送方机构根据接收方机构的传输密钥值V,从链上获取随机数组,用自己的私钥(d,n)及链上随机数组对V分别解密,得到要交付数据的N个密钥k0,k1,k2....kn:
k0=(V-m0)d modn=(m0+remodn-m0)d modn=r
k1=(V-m1)d modn=(m0+remodn-m1)d modn
...
kn=(V-mn)d modn=(m0+remodn-mn)d modn
5)消息加密:数据发送方机构用得到的交付数据密钥{k0......kn}对共享数据{D0......Dn}在数据存储系统4上的解密密钥{key0......keyn}加密,得到传输的加密信息{Mkey0......Mkeyn}:
...
6)消息解密:数据接收方机构得到传输的加密信息{Mkey0......Mkeyn}后就可以用随机数r进行解密,得到随机数m0对应数据资源D0的解密密钥key0。并根据从链上获取数据目录信息从数据存储系统4上获取对应的加密数据副本,用解密密钥解密后,获取到数据副本。
存储系统交互模块225是数据发送方机构和数据接收方机构间进行数据共享的存储介质模块,由数据发送方机构对数据副本进行加密处理后通过该模块存储到数据存储系统4,并将存储获取地址存证在链上,数据接收方机构根据数据共享需求通过该模块从数据存储系统4上获取加密副本,解密后获取数据。
数据鉴真处理模块226是指数据接收方机构使用密码学处理模块224获取到的数据副本解密密钥,对从存储系统交互模块225上下载的加密数据副本进行解密处理后,对解密后的数据副本求取数据指纹hash,并与数据发送方机构披露在链上的数据副本hash进行比对,如果一致则证明数据真实有效。
链上交互装置24主要完成链上交互,作为业务参与方机构将交易请求及交易签名上送给业务链1的区块链节点2,由业务链1的区块链节点2对签名身份信息进行合法校验,校验通过根据交易请求进行上链存证及链上信息查询等处理。
本申请提供的基于区块链的数据共享方法的执行主体包括但不限于计算机。
图4是本申请一实施例提供的基于区块链的数据共享方法的流程示意图,如图4所示,本申请实施例提供的基于区块链的数据共享方法,可以应用于数据发送方,所述方法包括:
S101、利用加密密钥对共享数据进行加密,生成加密数据;
S102、将所述加密数据发送给数据存储系统,所述数据存储系统存储所述加密数据;
S103、将所述共享数据的数据目录发送到业务链上进行存证;
S104、根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,其中,所述数据接收方用于根据所述业务链上存证的数据目录获取数据存储系统中的所述加密数据,并利用所述解密信息对所述加密数据进行解密,得到共享数据。
本申请提供的基于区块链的数据共享方法,由参与数据共享联盟的数据发送方机构和数据接收方机构组建业务联盟链,当数据发送方和数据接收方需要进行信息共享时可以由数据发送方先将所有代表共享范围内的数据目录在链上披露,并利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,这样,通过在数据共享流程中结合不经意传输技术理念,可以在数据流通链上存成过程中对数据传输记录进行盲化处理,进而实现数据接收方接收的具体数据无法被其他接收方机构检索及追溯,达到了在对数据流通全流程存证溯源的基础上保护接收方隐私的效果。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
如图5所示,在一些实施例中,所述根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,包括:
S1041、根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息;
S1042、根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息;
S1043、将所述加密信息通过所述业务链共享给所述数据接收方。
如图6所示,在一些实施例中,所述根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息,包括:
S10411、根据数据接收方的数据共享请求,对所述数据接收方的权限进行验证,生成验证结果信息,其中,所述数据接收方用于在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,并将所述不经意传输密钥信息发送至所述业务链进行存证;
S10412、在所述业务链上获取所述业务链上的不经意传输密钥信息。
如图7所示,在一些实施例中,所述数据接收方在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
S2071、在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
S2072、建立数据目录与所述随机数组中各随机数的一一映射关系;
S2073、根据每个数据目录与随机数的映射关系,生成映射关系组;
S2074、利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
S2075、将所述第一加密信息发送到所述业务链进行存证;
S2076、根据所述业务链上的数据目录,确定要获取的共享数据;
S2077、在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
S2078、生成一第二随机数;
S2079、根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
如图8所示,在一些实施例中,所述根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息,包括:
S10421、获取所述业务链上的第一加密信息;
S10422、利用所述数据提供方的私钥对所述第一加密信息进行解密,得到映射关系组;
S10423、利用所述数据提供方的私钥以及所述映射关系组对所述不经意传输密钥信息进行解密,得到共享数据的交付密钥;
S10424、利用所述交付密钥对数据存储系统中所述共享数据的解密密钥进行加密,得到加密信息。
图9是本申请一实施例提供的基于区块链的数据共享方法的流程示意图,如图9所示,本申请实施例提供的基于区块链的数据共享方法,可以应用于数据接收方,所述方法包括:
S201、获取数据发送方利用不经意传输技术通过业务链共享的共享数据的解密信息;
S202、在业务链上获取所述共享数据的数据目录;
S203、根据所述数据目录从数据存储系统获取所述共享数据的加密数据;
S204、利用所述解密信息对所述加密数据进行解密,得到共享数据。
本申请提供的基于区块链的数据共享方法,由参与数据共享联盟的数据发送方机构和数据接收方机构组建业务联盟链,当数据发送方和数据接收方需要进行信息共享时可以由数据发送方先将所有代表共享范围内的数据目录在链上披露,并利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,这样,通过在数据共享流程中结合不经意传输技术理念,可以在数据流通链上存成过程中对数据传输记录进行盲化处理,进而实现数据接收方接收的具体数据无法被其他接收方机构检索及追溯,达到了在对数据流通全流程存证溯源的基础上保护接收方隐私的效果。
如图10所示,在一些实施例中,所述方法还包括:
S205、通过业务链向根据数据发送方发送数据共享请求,其中,所述数据发送方用于对发送所述数据共享请求的数据接收方的权限进行验证,生成验证结果信息;
S206、获取数据发送方通过业务链发送的验证结果信息;
S207、在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息;
S208、将所述不经意传输密钥信息发送至所述业务链进行存证。
如图7所示,在一些实施例中,所述在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
S2071、在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
S2072、建立数据目录与所述随机数组中各随机数的一一映射关系;
S2073、根据每个数据目录与随机数的映射关系,生成映射关系组;
S2074、利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
S2075、将所述第一加密信息发送到所述业务链进行存证;
S2076、根据所述业务链上的数据目录,确定要获取的共享数据;
S2077、在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
S2078、生成一第二随机数;
S2079、根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
如图11所示,在一些实施例中,所述利用所述解密信息对所述加密数据进行解密,得到共享数据,包括:
S2041、利用所述第二随机数对所述解密信息进行解密,得到要获取的共享数据的解密密钥;
S2042、利用所述解密密钥对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
如图12所示,在一些实施例中,所述数据目录包括数据哈希值;在利用所述解密信息对所述加密数据进行解密,得到共享数据之后,所述方法还包括:
S209、计算解密得到的所述共享数据的哈希值;
S210、对计算得到的所述哈希值与要获取的共享数据的哈希值进行一致性校验;
S211、若一致性校验通过,则确定本次数据共享成功。
为更好的理解本申请,以下通过一具体实施例对本申请提供的基于区块链的数据共享方法进行详细介绍。
图13是本实施例提供的基于区块链的数据共享方法的整体流程示意图,如图13所示,所述方法包括:
S301:由支持数据进行共享流通的数据发送方、数据接收方机构组件业务链1,各方机构等通过机构身份核验模式转入联盟,准入后的业务参与方机构部署区块链节点2,并将自己机构业务系统3接入本机构机构的区块链节点2。业务链1初始化启动,交换节点证书,读取各机构配置的组织信息。
S302:业务系统3根据联盟约定进行系统初始化,包括生成代表当前机构身份的公私钥对,将机构标识ID、机构身份公钥、机构服务角色信息、对接的数据存储系统4的通讯地址等信息上链向联盟内各机构进行披露。
S303:数据发送方机构业务系统3根据联盟约定生成可共享的数据目录信息,数据目录中包括数据存储系统通讯地址、数据资源编号、数据资源描述、数据hash、数据资源获取链接等信息,数据目录通过存证在业务链1上对链上所有联盟机构开放。
S304:数据接收方机构业务系统3根据联盟约定向数据发送方机构申请可共享的数据范围,获得权限审批后为数据交互流程生成对应的随机数组,并将随机数组与数据目录中的数字资源编号的映射关系用数据发送方机构的链上身份公钥加密后上链存证,由拥有身份私钥的数据发送方机构解密获取具体信息。
S305:数据接收方机构业务系统3选定需要接收的数据资源,检索对应改数据资源编号的随机数,同时再生成一个本次共享交互的随机数密钥,并用数据发送方机构的身份公钥加密处理后生成本次的不经意传输密钥信息。
S306:数据发送方结构业务系统3获取到不经意传输密钥信息后,从链上获取数据发送方机构存证的随机数组,并根据随机数组中的数据资源编号获取对应的数据资源副本解密密钥,将数据副本解密密钥分别用数据接收方机构生成的不经意传输密钥处理后,作为加密信息经链上共享给数据接收方机构。
S307:数据接收方的业务系统3获取到解密信息后,使用自己生成的不经意传输密钥依次解密,会成果获取到申请获取的数据资源编号对应的数据资源加密副本解密密钥。
S308:数据接收方的业务系统3根据从链上获取的数据发送方机构提供的数据资源目录信息,包括数据资源加密副本下载连接,以及数据资源副本的指纹hash,从数据存储系统4上获取对应的数据资源加密副本后,使用解密密钥进行解密,并对解密后的数据求取指纹hash,与链上数据资源目录登记的指纹hash进行一致性校验。
由此可见,本实施例提供的基于区块链的数据共享方法,一方面能够满足数据接收方的隐私防护需求:通过不经意传输技术,对交付的数据副本解密信息进行加密处理,链上存证的是加密处理后的信息,链上其他机构无法根据数据hash验证等记录推断数据接收方接收的信息,以保护接收方隐私。另一方面能够保障数据流程全流程可追溯:链上记录的是加密处理后的交互信息,但是通过数据提供方的真实身份背书,以及不经意传输的处理流程上链,依然能够借助区块链多方协同、可追溯、防篡改等技术特性保障全流程的真实可信,可满足事后监管审计需求。
总的来说,本实施例提供基于区块链的数据共享方法,通过在数据共享流程中结合不经意传输技术理念,可以在数据流通链上存成过程中对数据传输记录进行盲化处理,进而实现数据接收方接收的具体数据无法被其他接收方机构检索及追溯,达到了在对数据流通全流程存证溯源的基础上保护接收方隐私的效果。
基于相同的发明构思,本申请还提供一种基于区块链的数据共享装置,如图14所示,本申请实施例提供的基于区块链的数据共享装置,包括:
加密模块41,用于利用加密密钥对共享数据进行加密,生成加密数据;
第一发送模块42,用于将所述加密数据发送给数据存储系统,所述数据存储系统存储所述加密数据;
第二发送模块43,用于将所述共享数据的数据目录发送到业务链上进行存证;
共享模块44,用于根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,其中,所述数据接收方用于根据所述业务链上存证的数据目录获取数据存储系统中的所述加密数据,并利用所述解密信息对所述加密数据进行解密,得到共享数据。
本申请提供的基于区块链的数据共享装置,由参与数据共享联盟的数据发送方机构和数据接收方机构组建业务联盟链,当数据发送方和数据接收方需要进行信息共享时可以由数据发送方先将所有代表共享范围内的数据目录在链上披露,并利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,这样,通过在数据共享流程中结合不经意传输技术理念,可以在数据流通链上存成过程中对数据传输记录进行盲化处理,进而实现数据接收方接收的具体数据无法被其他接收方机构检索及追溯,达到了在对数据流通全流程存证溯源的基础上保护接收方隐私的效果。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
在一些实施例中,所述共享模块具体用于:
根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息;
根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息;
将所述加密信息通过所述业务链共享给所述数据接收方。
在一些实施例中,所述根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息,包括:
根据数据接收方的数据共享请求,对所述数据接收方的权限进行验证,生成验证结果信息,其中,所述数据接收方用于在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,并将所述不经意传输密钥信息发送至所述业务链进行存证;
在所述业务链上获取所述业务链上的不经意传输密钥信息。
在一些实施例中,所述数据接收方在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
在一些实施例中,所述共享模块根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息,包括:
获取所述业务链上的第一加密信息;
利用所述数据提供方的私钥对所述第一加密信息进行解密,得到映射关系组;
利用所述数据提供方的私钥以及所述映射关系组对所述不经意传输密钥信息进行解密,得到共享数据的交付密钥;
利用所述交付密钥对数据存储系统中所述共享数据的解密密钥进行加密,得到加密信息。
基于相同的发明构思,本申请还提供一种基于区块链的数据共享装置,如图15所示,本申请实施例提供的基于区块链的数据共享装置,包括:
第一获取模块51,用于获取数据发送方利用不经意传输技术通过业务链共享的共享数据的解密信息;
第二获取模块52,用于在业务链上获取所述共享数据的数据目录;
第三获取模块53,根据所述数据目录从数据存储系统获取所述共享数据的加密数据;
解密模块54,用于利用所述解密信息对所述加密数据进行解密,得到共享数据。
本申请提供的基于区块链的数据共享装置,由参与数据共享联盟的数据发送方机构和数据接收方机构组建业务联盟链,当数据发送方和数据接收方需要进行信息共享时可以由数据发送方先将所有代表共享范围内的数据目录在链上披露,并利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,这样,通过在数据共享流程中结合不经意传输技术理念,可以在数据流通链上存成过程中对数据传输记录进行盲化处理,进而实现数据接收方接收的具体数据无法被其他接收方机构检索及追溯,达到了在对数据流通全流程存证溯源的基础上保护接收方隐私的效果。
在一些实施例中,所述装置还包括:
第一发送模块,用于通过业务链向根据数据发送方发送数据共享请求,其中,所述数据发送方用于对发送所述数据共享请求的数据接收方的权限进行验证,生成验证结果信息;
第四获取模块,获取数据发送方通过业务链发送的验证结果信息;
生成模块,用于在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息;
第二发送模块,将所述不经意传输密钥信息发送至所述业务链进行存证。
在一些实施例中,所述生成模块具体用于:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
在一些实施例中,所述解密模块具体用于:
利用所述第二随机数对所述解密信息进行解密,得到要获取的共享数据的解密密钥;
利用所述解密密钥对所述加密数据进行解密,得到共享数据。
在一些实施例中,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
在一些实施例中,所述数据目录包括数据哈希值;所述装置还包括:
计算模块,用于计算解密得到的所述共享数据的哈希值;
校验模块,用于对计算得到的所述哈希值与要获取的共享数据的哈希值进行一致性校验;
确定模块,用于若一致性校验通过,则确定本次数据共享成功。
本申请实施例提供的装置的实施例具体可以用于执行上述应用于各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本申请实施例提供的基于区块链的数据共享方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本申请实施例对基于区块链的数据共享方法及装置的应用领域不做限定。
图16为本申请一实施例提供的电子设备的实体结构示意图,如图16所示,该电子设备可以包括:处理器(processor)601、通信接口(Communications Interface)602、存储器(memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行上述任一实施例所述的方法。
此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种基于区块链的数据共享方法,其特征在于,包括:
利用加密密钥对共享数据进行加密,生成加密数据;
将所述加密数据发送给数据存储系统,所述数据存储系统存储所述加密数据;
将所述共享数据的数据目录发送到业务链上进行存证;
根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,其中,所述数据接收方用于根据所述业务链上存证的数据目录获取数据存储系统中的所述加密数据,并利用所述解密信息对所述加密数据进行解密,得到共享数据。
2.根据权利要求1所述的方法,其特征在于,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
3.根据权利要求1所述的方法,其特征在于,所述根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,包括:
根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息;
根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息;
将所述加密信息通过所述业务链共享给所述数据接收方。
4.根据权利要求1所述的方法,其特征在于,所述根据数据接收方的数据共享请求,获取所述数据接收方在所述业务链上存证的不经意传输密钥信息,包括:
根据数据接收方的数据共享请求,对所述数据接收方的权限进行验证,生成验证结果信息,其中,所述数据接收方用于在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,并将所述不经意传输密钥信息发送至所述业务链进行存证;
在所述业务链上获取所述业务链上的不经意传输密钥信息。
5.根据权利要求4所述的方法,其特征在于,所述数据接收方在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
6.根据权利要求5所述的方法,其特征在于,所述根据所述不经意传输密钥信息对所述共享数据的解密秘钥进行处理,生成加密信息,包括:
获取所述业务链上的第一加密信息;
利用所述数据提供方的私钥对所述第一加密信息进行解密,得到映射关系组;
利用所述数据提供方的私钥以及所述映射关系组对所述不经意传输密钥信息进行解密,得到共享数据的交付密钥;
利用所述交付密钥对数据存储系统中所述共享数据的解密密钥进行加密,得到加密信息。
7.一种基于区块链的数据共享方法,其特征在于,包括:
获取数据发送方利用不经意传输技术通过业务链共享的共享数据的解密信息;
在业务链上获取所述共享数据的数据目录;
根据所述数据目录从数据存储系统获取所述共享数据的加密数据;
利用所述解密信息对所述加密数据进行解密,得到共享数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
通过业务链向根据数据发送方发送数据共享请求,其中,所述数据发送方用于对发送所述数据共享请求的数据接收方的权限进行验证,生成验证结果信息;
获取数据发送方通过业务链发送的验证结果信息;
在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息;
将所述不经意传输密钥信息发送至所述业务链进行存证。
9.根据权利要求8所述的方法,其特征在于,所述在所述验证结果信息中包括验证通过信息时,生成不经意传输密钥信息,包括:
在所述验证结果信息中包括验证通过信息时,根据业务链上的数据目录生成不经意传输加密的随机数组,其中,所述随机数组中的随机数个数与所述数据目录的个数相等;
建立数据目录与所述随机数组中各随机数的一一映射关系;
根据每个数据目录与随机数的映射关系,生成映射关系组;
利用数据提供方的公钥对所述映射关系组进行加密,生成第一加密信息;
将所述第一加密信息发送到所述业务链进行存证;
根据所述业务链上的数据目录,确定要获取的共享数据;
在所述映射关系组中查找该共享数据的数据目录所对应的第一随机数;
生成一第二随机数;
根据该第一随机数、第二随机数以及该要获取的共享数据所属的数据发送方的公钥,生成不经意传输密钥信息。
10.根据权利要求9所述的方法,其特征在于,所述利用所述解密信息对所述加密数据进行解密,得到共享数据,包括:
利用所述第二随机数对所述解密信息进行解密,得到要获取的共享数据的解密密钥;
利用所述解密密钥对所述加密数据进行解密,得到共享数据。
11.根据权利要求7所述的方法,其特征在于,所述数据目录包括数据获取地址、数据资源编号、数据资源描述、数据哈希值和/或数据资源获取链接。
12.根据权利要求10所述的方法,其特征在于,所述数据目录包括数据哈希值;在利用所述解密信息对所述加密数据进行解密,得到共享数据之后,所述方法还包括:
计算解密得到的所述共享数据的哈希值;
对计算得到的所述哈希值与要获取的共享数据的哈希值进行一致性校验;
若一致性校验通过,则确定本次数据共享成功。
13.一种基于区块链的数据共享装置,其特征在于,包括:
加密模块,用于利用加密密钥对共享数据进行加密,生成加密数据;
第一发送模块,用于将所述加密数据发送给数据存储系统,所述数据存储系统存储所述加密数据;
第二发送模块,用于将所述共享数据的数据目录发送到业务链上进行存证;
共享模块,用于根据数据接收方的数据共享请求,利用不经意传输技术将所述共享数据的解密信息通过所述业务链共享给所述数据接收方,其中,所述数据接收方用于根据所述业务链上存证的数据目录获取数据存储系统中的所述加密数据,并利用所述解密信息对所述加密数据进行解密,得到共享数据。
14.一种基于区块链的数据共享装置,其特征在于,包括:
第一获取模块,用于获取数据发送方利用不经意传输技术通过业务链共享的共享数据的解密信息;
第二获取模块,用于在业务链上获取所述共享数据的数据目录;
第三获取模块,用于根据所述数据目录从数据存储系统获取所述共享数据的加密数据;
解密模块,用于利用所述解密信息对所述加密数据进行解密,得到共享数据。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6或7至12中任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6或7至12中任一项所述方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410357518.4A CN118246917A (zh) | 2024-03-27 | 2024-03-27 | 基于区块链的数据共享方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410357518.4A CN118246917A (zh) | 2024-03-27 | 2024-03-27 | 基于区块链的数据共享方法及装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN118246917A true CN118246917A (zh) | 2024-06-25 |
Family
ID=91552362
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410357518.4A Pending CN118246917A (zh) | 2024-03-27 | 2024-03-27 | 基于区块链的数据共享方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118246917A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119675930A (zh) * | 2024-11-29 | 2025-03-21 | 中国农业银行股份有限公司 | 一种黑名单共享方法、装置、电子设备和存储介质 |
| CN120378193A (zh) * | 2025-05-20 | 2025-07-25 | 甘肃同兴智能科技发展有限责任公司 | 一种跨系统数据传输处理方法及系统 |
-
2024
- 2024-03-27 CN CN202410357518.4A patent/CN118246917A/zh active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119675930A (zh) * | 2024-11-29 | 2025-03-21 | 中国农业银行股份有限公司 | 一种黑名单共享方法、装置、电子设备和存储介质 |
| CN120378193A (zh) * | 2025-05-20 | 2025-07-25 | 甘肃同兴智能科技发展有限责任公司 | 一种跨系统数据传输处理方法及系统 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10673626B2 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
| CN111639361B (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
| US20200084027A1 (en) | Systems and methods for encryption of data on a blockchain | |
| CN109144961B (zh) | 授权文件共享方法及装置 | |
| Sharma et al. | Blockchain-based cloud storage system with CP-ABE-based access control and revocation process | |
| CN108885741B (zh) | 一种实现区块链上交换的令牌化方法及系统 | |
| CN110709875B (zh) | 在区块链网络中节点间建立可信点对点通信的方法和系统 | |
| CN111191286A (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
| CN115296838B (zh) | 基于区块链的数据共享方法、系统及存储介质 | |
| JP2020528691A (ja) | 複数のストレージノードにわたる大きいブロックチェーンのセキュアな記憶を可能にする、コンピュータにより実現されるシステム及び方法 | |
| KR20210056866A (ko) | 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법 | |
| Li et al. | A Blockchain‐Based Public Auditing Scheme for Cloud Storage Environment Without Trusted Auditors | |
| GB2587438A (en) | Key generation for use in secured communication | |
| CN118246917A (zh) | 基于区块链的数据共享方法及装置 | |
| KR20210099814A (ko) | 블록체인을 기반으로 한 디지털 자산 관리 시스템 및 방법 | |
| CN111447058B (zh) | 基于中国剩余定理的图书资源访问控制方法 | |
| CN110737915A (zh) | 基于联盟链和隐式证书的抗量子计算匿名身份识别方法及系统 | |
| JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
| CN116318663A (zh) | 一种基于隐私保护的多策略安全密文数据共享方法 | |
| Vasilopoulos et al. | Message-locked proofs of retrievability with secure deduplication | |
| Kaaniche | Cloud data storage security based on cryptographic mechanisms | |
| CN115883106B (zh) | 基于区块链与不经意传输扩展的隐私数据求交方法及系统 | |
| Wen et al. | Enhancing secure multi-group data sharing through integration of IPFS and hyperledger fabric | |
| Vijayakumar et al. | Enhancing cloud storage security through blockchain-enabled data deduplication and auditing with a fair payment | |
| US20250047480A1 (en) | Distributed digital wallet seed phrase |
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 |