CN107832626B - 一种面向数据流通的结构化数据确权方法 - Google Patents
一种面向数据流通的结构化数据确权方法 Download PDFInfo
- Publication number
- CN107832626B CN107832626B CN201711237221.0A CN201711237221A CN107832626B CN 107832626 B CN107832626 B CN 107832626B CN 201711237221 A CN201711237221 A CN 201711237221A CN 107832626 B CN107832626 B CN 107832626B
- Authority
- CN
- China
- Prior art keywords
- data resource
- data
- summary info
- module
- user
- 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.)
- Active
Links
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/604—Tools and structures for managing or administering access control systems
-
- 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
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向数据流通的结构化数据确权方法,目的是解决数据交易过程中数据资源确权问题,技术方案是首先构造由用户管理模块、数据资源出售模块、数据资源查询模块、数据资源交易模块、数据资源通告模块、数据确权模块、交易记录链组成的数据交易平台;数据资源通告模块对出售的数据资源添加数据库水印,确保每个数据资源仅有一个数据资源拥有者;数据确权模块对需要确权的数据资源进行确权,保证交易记录链上数据资源的唯一性;交易记录链记录数据资源的数据资源摘要信息,保证数据资源摘要信息的链上不可更改性。采用本发明可以确定数据资源的真正拥有者,保证数据资源拥有者对数据资源拥有的唯一性,保证交易数据的安全性。
Description
技术领域
本发明涉及大数据交易领域,具体涉及一种利用区块链技术、通告机制和数据库水印技术,实现在数据流通交易过程中数据资源的确权方法。
背景技术
目前,大数据的应用和发展受到了国家层面以及各行业的高度重视。大数据的应用是以大量丰富的数据资源为基础,而在现阶段的实际应用中大量丰富的数据资源往往难以获取,各行业间的数据资源没有形成有效的流通。如何解决数据资源能够安全有效的在各行业间进行流通是大数据交易(数据资源的共享或数据资源的购买行为)领域研究的重点。由于数据资源存在可复制性使得在数据交易过程中数据资源的价值和数据资源拥有者的权益难以得到有效的保障。为对数据资源实施有效的保护和管理,研究者陆续提出相关的解决方法,如:水印技术、防伪标识技术和数据标签等相关的技术。同时国家在数据资源保护方面出台了相关的法律法规来保障数据资源拥有者的合法权益。由于数据资源在交易过程中存在复制盗卖的现象,如何保证数据交易过程中数据资源确权是目前数据交易领域中亟待解决的问题。
数据资源确权是对交易的数据资源进行身份认证以确定数据资源的真正拥有者(即数据源)。数据资源确权是保证数据资源安全性和可靠性的前提,只有经过数据资源确权的数据才能明确数据的真实来源,才能保证数据资源安全性和可靠性,才能发挥数据资源的真正价值。目前,数据资源的交易主要依靠第三方数据交易平台,数据交易双方通过将自己的需求和资源通过可信的第三方数据交易平台来完成相关的数据交易,双方在完成交易后第三方数据交易平台回收或销毁所提供的数据交易设施。利用第三方数据交易平台可以完成数据交易过程中数据资源确权,但该方法是建立在完全信任第三方数据交易平台的基础之上,并且很难保证第三方数据交易平台不对数据资源进行复制和缓存,从而损害数据资源拥有者的合法权益。
除第三方交易平台外,数据交易还可以通过拥有数据资源的双方通过协商直接进行数据资源的交易,但数据交易双方需具有较高的信誉度和业务诚信度,利用双方的信誉度和业务诚信度来对交易的数据资源确权。利用该方法进行数据交易往往限制在极少数的具有较高信誉度大公司之间进行数据交易,对于信誉度小且拥有数据源数据的公司很难进行相关的数据资源交易。同时利用该方式进行数据交易的数据资源确权行为也是通过交易双方的信誉来保证,即所交易的数据资源为源数据。
近年来由于区块链的发展为去中心化的数据资源的交易提供了新的思路,区块链的概念在08年中本聪的《Bitcoin:A Peer-to-Peer Electronic Cash System》(即《比特币:一种点对点的电子现金系统》)一文中,作为比特币的底层技术被提出。为了实现一种点对点的去中心化可信记账系统,中本聪将比特币的每次交易信息分别放入一个区块(即一个用于存放交易数据哈希值和时间戳的块结构)中,每个区块再按照时间戳顺序连成一条链,称为区块链。如图5所示,区块链由多个区块(规定第一个区块叫做创世块)按照生成交易的时间戳顺序连成。每个区块由区块头和其他三个数据域组成。区块头包含6个数据域,分别为:区块ID、随机数、上一区块哈希值、生成区块的时间戳、Merkle根哈希值、难度值。区块ID是对每一个区块的编号,用于验证模块和交易完成后查看交易信息;随机数是和交易信息做哈希运算的一个数字(哈希运算是一个把任意长度的数据映射成固定长度数据的运算,比特币中使用到的是SHA-256哈希算法,来源于美国国家标准与技术研究院发布的《安全散列标准》),用于用户节点依据PoW共识算法(Proof of Work,工作量证明)共识算法(Nakamoto S.Bitcoin:A peer-to-peer electronic cash system[J].2008,即《比特币:一种点对点的电子现金系统》第4页第1-22行)争夺记账权;上一区块哈希值是指与所属区块相连的上一个区块的各数据域信息合并进行哈希运算所得到的值,第一个区块的上一区块哈希值为0;生成区块的时间戳指一串表示区块生成时间的字符序列;Merkle根哈希值是将交易信息里面的各条交易信息通过Merkle Proof方法(Nakamoto S.Bitcoin:A peer-to-peer electronic cash system[J].2008,即《比特币:一种点对点的电子现金系统》第4页第22-31行)合并而成;难度值是用户争夺记账权时计算哈希值的难度系数。区块中的另外三个数据域分别为:区块大小、交易计数器、交易信息列表。区块大小是用字节数表示的区块的大小;交易计数器是该区块中记录的交易数量;交易信息是对每条交易记录的信息,由用户节点根据具体的交易记录。
综上所述,基于第三方平台的数据交易在操作上和实现上较为容易,但是该交易建立在第三方信任的基础之上,数据交易双方必须完全信任第三方才能完成相关的交易,且该方式很难保证第三方数据交易平台不对数据进行相关的复制和缓存。而基于数据双方的信誉度和业务诚信度而直接进行交易,虽然去除了第三方交易平台所带来的信任问题,但也限制数据资源交易的范围,同时数据资源确权也是通过信誉度和业务诚信度来保证,很难保证双方交易的数据资源为真正的数据源数据。通过上述分析可知现有技术依赖可信的第三方数据交易平台和数据资源拥有者的信誉度和业务诚信度来进行数据交易,无法真正保证数据资源的安全性和可靠性,即无法真正有效的对数据资源确权。目前尚无公开的资料和产品涉及对数据交易过程中的数据资源确权。
发明内容
本发明要解决的技术问题是在数据交易过程中无法确认交易的数据资源是否为数据源数据,提出一种在数据流通交易过程中结构化数据的确权方法,解决数据交易过程中数据资源确权问题。
在现有的数据交易过程中,因为数据交易时数据类型的多样性导致在数据交易过程中数据交易双方对数据资源的加密和检测存在着数据类型变换的困难,故本发明规定参与数据交易的数据类型为结构化数据,所述结构化数据是指基于关系型数据库存储的数据,本发明所指的属性均为数据库存储数据的列即该数据库的一个数据域,若参与数据交易的数据类型不为结构化数据,需先将数据类型转化为结构化数据;因为只有数据源数据才具有高的安全性和可靠性,同时为了保护数据源数据的价值,本发明采用区块链技术,利用区块链记录的不可更改性和去中心化特性保证数据交易信息的完整性和可靠性,所以链上交易的数据具有安全性和可靠性。
本发明的技术方案是首先构造一个数据交易平台,数据资源拥有者或者数据资源购买者(以下简称用户,即用户包括数据资源购买者和数据资源拥有者)通过数据交易平台能够对所需交易的数据资源进行确权操作。
本发明包括以下步骤:
第一步,构建数据交易平台,它由用户管理模块、数据资源出售模块、数据资源查询模块、数据资源交易模块、数据资源通告模块、数据确权模块、交易记录链组成,数据交易平台安装在数据资源拥有者和数据资源购买者所对应的服务器上。
交易记录链是一条区块链,其区块头、区块大小、交易计数器的内容与背景技术中描述的一样,交易信息包含6个数据域,分别为:发送方地址指数据资源购买者的IP地址;接收方地址指数据资源拥有者的IP地址;生成交易的时间戳指交易信息记录的时间;交易记录信息指数据资源交易信息(包括:数据资源拥有者IP地址、数据资源购买者IP地址、数据资源摘要信息编号、数据资源购买时间、数据资源价格、数据资源格式、数据资源传输方式、购买数据资源数量、购买数据资源费用);数据资源摘要信息指数据资源拥有者对拥有的数据资源的声明;数据资源摘要信息确认信息表示数据资源确权信息,包含数据资源摘要信息编号和确认标志位,确认标志位为真表示已经确权,为假表示数据资源为非数据源数据。
用户管理模块与数据资源交易模块、数据资源出售模块相连,用来管理接入数据交易平台用户的信息,由用户注册子模块、用户校验子模块、用户管理子模块组成。用户校验子模块与用户注册子模块、用户管理子模块相连,从键盘或文件接收用户请求信息,对用户请求信息进行请求标志位判断,如果请求标志位为注册请求则将用户请求信息送给用户注册子模块,如果请求标志位为登录请求则将用户请求信息送给用户管理子模块,并根据用户管理子模块返回的查询信息进行用户登录信息校验;用户请求信息包含8个字段,分别为用户名、密码、申请用户类型、请求标志位、请求信息类型、数据出售标志位、数据确权标志位、数据资源需求信息。用户名指接入数据交易平台的用户名;密码指用户名所对应用户的密码;申请用户类型包括数据资源拥有者和数据资源购买者;请求标志位包括登录请求和注册请求;请求信息类型有用户请求信息、数据资源摘要信息两种:在用户请求信息中用户请求信息类型为用户请求信息,在数据资源摘要信息中用户请求信息类型为数据资源摘要信息;数据出售标志位标志是否可以进行数据资源出售,当申请用户类型为数据资源拥有者时才有效;数据确权标志位标志是否需进行数据资源确权,当有效时进行数据资源确权;数据资源需求信息有4个子域,分别为数据资源类型、数据资源数量、数据资源格式、数据资源传输方式;数据资源类型说明数据资源属于哪方面的信息,包括:消费记录信息、医疗卫生信息、政府公开信息、教育科技信息、金融信用信息、交通信息以及其他信息;数据资源数量指数据资源总量(单位为GB)和数据资源信息条数;数据资源格式指数据资源拥有方存储数据资源的文件格式,包括:数据库文件方式和格式化文件方式;数据资源传输方式指数据资源交易双方约定的数据资源传输方式,包括:线上传输、线下传输、提供数据资源服务API方式;
用户注册子模块与用户校验子模块、用户管理子模块相连,用户注册子模块从用户校验子模块接受用户请求信息,检查用户请求信息是否完整以及各请求字段信息是否符合规范,若检查合格,则将用户请求信息送给用户管理子模块;若检查不合格,则返回错误信息并结束本次登录;
用户管理子模块与用户注册子模块、用户校验子模块、数据资源查询模块、数据资源交易模块、数据资源出售模块相连,用户管理子模块接收用户注册子模块发来的用户请求信息,将用户请求信息既存储到用户管理表中,又发送给数据资源查询模块、数据资源交易模块和数据资源出售模块;用户管理子模块接收用户校验子模块发来的用户请求信息,根据用户请求信息查询用户管理表,并将查询结果送给用户校验子模块;用户管理表是记录用户信息的表,表项数为用户的个数,包含5个域,分别为用户名、密码、申请用户类型,用户公钥和辅助用户信息;用户名、密码、申请用户类型的含义与用户请求信息中的含义相同,用户公钥是用户设置的一种加密信息,用户利用公钥对相关信息进行加密;辅助用户信息记录用户的身份信息,如姓名、证件号等,可根据不同需求记录不同的身份信息。
数据资源查询模块与数据资源出售模块、数据资源交易模块、用户管理子模块、交易记录链相连;数据资源查询模块从用户管理子模块接收用户请求信息,根据用户请求信息中数据资源需求信息中的数据资源类型查询交易记录链,将在交易记录链查询到的满足数据资源类型的数据资源摘要信息的集合一方面显示到屏幕供用户查看,一方面发送给数据资源出售模块。数据资源摘要信息包括十五个数据域,分别为数据资源摘要信息编号、数据资源协商标志位、请求信息类型、数据资源拥有者、数据资源地址、数据资源创建时间、数据资源更新时间、数据资源结构描述、数据资源特殊结构描述、数据资源关键属性、数据资源类型、数据资源数量、数据资源传输方式、数据资源价格和数据资源的属性Hash,数据资源摘要信息编号是用来唯一标识数据资源摘要信息的编号;数据资源协商标志位用来进行交易协商操作的判定,默认值为假;请求信息类型含义与用户请求信息中请求信息类型含义相同,在数据资源摘要信息中请求信息类型为数据资源摘要信息;数据资源拥有者表示拥有数据资源的用户名,数据资源地址表示数据资源存放的IP地址;数据资源创建时间表示该数据源数据出售或者共享的时间;数据资源更新时间表示该数据源数据出售或共享后更新数据源的时间;数据资源结构描述域描述数据资源具有的全部属性(即数据资源所处的数据库的所有列的名称);数据资源特殊结构描述域描述数据资源价值的属性(即数据资源结构描述域中具有价值的列的名称);数据资源关键属性表示数据资源结构描述域中能唯一标识数据资源的列的名称(即数据资源关键属性可以唯一确定该数据资源属于哪一行,一个数据库中的数据资源关键属性只有一列);数据资源类型、数据资源数量数据资源传输方式与用户请求信息中的数据资源类型、数据资源数量、数据资源传输方式含义分别相同;数据资源价格表示购买或使用该数据资源所需要支付的费用;数据资源的属性Hash指数据资源所有属性(即数据资源结构描述域描述的所有属性)的Hash值,用于记录数据资源完整性。数据资源查询模块从数据资源出售模块或数据资源交易模块接收数据资源摘要信息,根据数据资源摘要信息中数据资源特殊结构描述查找交易记录链,将查询到的具有相同数据资源特殊结构的数据资源摘要信息集合发送给数据资源出售模块或数据资源交易模块;
数据资源出售模块与用户管理子模块、数据资源查询模块、数据资源交易模块、数据资源通告模块、数据确权模块相连,数据资源出售模块从用户管理子模块接收用户请求信息,根据用户请求信息中的申请用户类型和数据出售标志位进行判断,若申请用户类型为数据资源拥有者且数据出售标志位为有效,数据资源出售模块从数据资源通告模块接收数据资源摘要信息,将数据资源摘要信息发送给数据资源查询模块;数据资源出售模块从数据资源查询模块接收查询到的数据资源摘要信息集合,对数据资源摘要信息集合进行判空处理,如果数据资源摘要信息集合为空,数据资源出售模块发送数据资源摘要信息确认信息(包含:数据资源摘要信息编号和确认标志位)到数据资源通告模块,该数据资源摘要信息确认信息中的确认标志位为真,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源查询模块从数据资源通告模块接收的数据资源摘要信息的数据资源摘要信息编号;如果数据资源出售模块接收到数据资源查询模块返回的数据资源摘要信息集合不为空,数据资源出售模块将接收到的数据资源摘要信息集合发送给数据确权模块,数据资源出售模块接收数据确权模块返回的数据确权结果,如果数据确权结果为数据源数据,数据资源出售模块发送数据资源摘要信息确认信息到数据资源通告模块,该数据资源摘要信息确认信息中确认标志位为真,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源通告模块接收的数据资源摘要信息中的数据资源摘要信息编号;如果数据确权结果为非数据源数据,数据资源出售模将数据资源摘要信息确认信息中确认标志位设为假,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源通告模块接收数据资源摘要信息中的数据资源摘要信息编号,并将数据资源摘要信息确认信息发送给数据资源通告模块;数据资源出售模块接收数据资源交易模块发送的交易请求(即用户输入的需要交易的数据资源摘要信息),对交易请求进行协商处理,如果协商双方同意进行数据资源交易,则将允许交易信息返回数据资源交易模块;如果协商双方有任意一方不同意进行数据资源交易,则将不允许交易信息返回数据资源交易模块。
数据资源交易模块与数据资源查询模块、数据资源出售模块、数据确权模块、用户管理子模块相连,它从数据资源查询模块接收数据资源摘要信息集合,根据从用户管理子模块接收的用户请求信息中的数据确权标志位判断是否需要确权,如果数据确权标志位为真则将接收的数据资源摘要信息集合发送给数据确权模块,并从数据确权模块接收数据确权结果,如果数据确权结果为数据源数据,则从键盘接收用户发送的交易请求,将交易请求发送到数据资源出售模块;如果确权结果为非数据源数据则交易结束;如果用户请求信息中的数据确权标志位为假则发送交易请求到数据资源出售模块,如果从数据资源出售模块接收的是允许交易信息,则进行交易,如果从数据资源出售模块接收的是不允许交易信息,则交易结束。
数据资源通告模块与数据资源出售模块、交易记录链相连,数据资源通告模块从数据资源出售模块接收数据资源摘要信息确认信息,对数据资源摘要信息确认信息中的确认标志位进行判断,如果确认标志位为真则将对应数据资源摘要信息编号的数据资源摘要信息记录到交易记录链;如果确认标志位为假则将对应数据资源摘要信息编号的数据资源摘要信息丢弃。
数据确权模块与数据资源交易模块、数据资源出售模块、交易记录链相连,从数据资源交易模块和数据资源出售模块接收数据资源摘要信息,首先根据接收到的数据资源摘要信息查找交易记录链中的数据资源摘要信息确认信息,如果该数据资源摘要信息所对应的数据资源摘要信息确认信息中的确认标志位为真(表示已经确权),则将数据资源摘要信息确认信息返回数据资源交易模块和数据资源出售模块;如果该数据资源摘要信息所对应的数据资源摘要信息确认信息中确认标志位为假(表示数据资源为非数据源数据),则将数据资源摘要信息确认信息返回数据资源交易模块和数据资源出售模块,并结束交易;如果在交易记录链中找不到该数据资源摘要信息所对应的数据资源摘要信息确认信息,则对该数据资源摘要信息进行确权操作,并将数据确权结果记录到交易记录链中。
第二步,用户管理模块中的用户校验子模块从键盘或文件接收用户请求信息,根据用户请求信息判断,如果用户请求信息的请求标志位为注册请求,则将用户请求信息发送给用户注册子模块,转第三步;如果用户请求信息的请求标志位为登录请求,则将用户请求信息发送给用户管理子模块,转第四步。
第三步,用户注册子模块从用户校验子模块接收用户请求信息,检查用户请求信息是否完整以及各请求字段信息是否符合规范,若检查合格,则将用户请求信息送给用户管理子模块;用户管理子模块将从用户注册子模块收到的用户请求信息中的用户名、密码、申请用户类型和用户填写的辅助用户信息存储到用户管理表中,完成注册,转第二步;
第四步,用户管理子模块从用户校验子模块接收用户请求信息,将用户请求信息中的用户名和密码与用户管理表中的用户名和密码进行匹配操作,如果在用户管理表中找到用户名和密码匹配成功的表项,且用户请求信息中的申请用户类型为数据资源购买者,将用户请求信息发送给数据资源查询模块,转第五步;如果匹配成功且申请用户类型为数据资源拥有者则将用户请求信息发送给数据资源出售模块,转第八步;如果在用户管理表中未找到与用户请求信息中的用户名和密码匹配的表项,则用户管理子模块输出用户不存在或密码错误的错误信息,结束本次登录,转第十四步。
第五步,数据资源查询模块从用户管理子模块接收用户请求信息,根据用户请求信息中数据资源需求信息中的数据资源类型查询交易记录链,将在交易记录链查询到的满足数据资源类型的数据资源摘要信息放到数据资源摘要信息集合中,如果数据资源摘要信息集合不为空,将数据资源摘要信息集合内容显示到屏幕供用户查看,转第六步;如果数据资源摘要信息的集合为空,则输出“未查到相关的数据资源”的信息,转第十四步。
第六步,数据资源交易模块接收用户查看数据资源摘要信息集合的反馈,判断是否需要进行数据资源交易,若需要进行数据资源交易,则接收用户从数据资源摘要信息集合选择的数据资源摘要信息编号,将接收到的数据资源信息编号发送给数据资源查询模块,转第七步;若收到用户不需要进行数据资源交易的反馈,则转第十四步。
第七步,数据资源查询模块在交易记录链查找与数据资源信息编号对应的数据资源摘要信息,将查找到的数据资源摘要信息中的数据资源协商标志位置为真,并将数据资源摘要信息发送到数据资源出售模块。
第八步,如果数据资源出售模块从数据资源查询模块或数据资源通告模块接收到数据资源摘要信息,执行8.1;如果数据资源出售模块从用户管理子模块接收到用户请求信息,执行8.2;
8.1判断数据资源摘要信息中数据资源协商标志位:
8.1.1如果数据资源协商标志位为真,则根据数据资源摘要信息中的数据资源地址向数据资源拥有者发送交易协商请求,并将从数据资源拥有者接收到的协商结果(允许交易信息或不允许交易信息)发送给数据资源交易模块,转第九步;
8.1.2如果数据资源协商标志位为假,则将数据资源摘要信息发送给数据资源查询模块,转第十步;
8.2判断用户请求信息中数据出售标志位和数据确权标志位:
8.2.1如果数据出售标志位有效,转第十二步;
8.2.2如果数据出售标志位无效且数据确权标志位有效,将数据资源摘要信息发送给数据确权模块,转第十三步;
第九步,如果数据资源交易模块从数据资源出售模块接收到的是允许交易信息,数据资源交易模块根据用户请求信息中数据确权标志位判断是否需要确权,如果数据资源确权标志位有效则将需要确权的数据资源摘要信息发送到数据确权模块,转第十三步;如果数据资源确权标志位无效则直接进行数据交易,交易结束后转第十四步;如果数据资源交易模块从数据资源出售模块接收的是不允许交易信息,则该交易无效,转第十四步;
第十步,数据资源查询模块根据数据资源摘要信息中数据资源特殊结构描述查找交易记录链,将查询到的具有相同数据资源特殊结构描述的数据资源摘要信息放到数据资源摘要信息集合,并将数据资源摘要信息集合发送给数据资源出售模块;数据资源出售模块判断数据资源摘要信息集合是否为空,若数据资源摘要信息集合为空,则将数据资源摘要信息确认信息中的确认标志设为真,将数据资源摘要信息确认信息发送给数据资源通告模块,转第十一步;若数据资源摘要信息集合不为空,则将数据资源摘要信息集合发送给数据确权模块,转第十三步;
第十一步,数据资源通告模块从数据资源出售模块接收数据资源摘要信息确认信息,判断数据资源摘要信息确认信息中的确认标志,如果确认标志为真,则在交易记录链的末端添加一个新区块,将数据资源摘要信息确认信息中数据资源摘要信息编号对应的数据资源摘要信息添加到新区块中,转第十四步;如果确认标志为假,则输出“数据资源为非数据源数据”消息,转第十四步;
第十二步,此时数据资源通告模块接收到的是用户请求信息且数据出售标志位有效,数据资源通告模块执行以下操作,对出售的数据资源(即一组数据库中的结构化数据)添加数据库水印,方法是:
12.1数据资源通告模块在用户管理表中根据用户请求信息中的用户名查找该用户名对应的用户公钥PK1,命PK1为第一公钥;
12.2数据资源通告模块使用1978年《Communications of the Acm》(《美国计算机学会通信》)在26卷第2期96-99页Ron Rivest、Adi Shamir、Leonard Adleman三人文章《AMethod for Obtaining Digital Signatures and Public-Key Cryptosystems》(《一种获取数字签名和公钥密码系统的方法》中提出的RSA加解密算法生成密码对(PK2,SK2),其中PK2为第二公钥,SK2为第二私钥;
12.3利用PK1和PK2对用户输入的嵌入数据库水印MS通过Hash运算(可采用SHA-256哈希算法)进行加密处理,得到加密后的数据库水印MS1;
12.4利用数据资源关键属性对数据资源进行排序;
12.5对排序后的数据资源使用2002年Rakesh Agrawal、Jerry Kiernan在文章《Watermarking Relational Databases》(《关系型数据库水印》)第4页提出的消息认证码算法进行运算(见公式1),将满足公式(1)的元组(结构化数据资源中的一行)存放到候选元组集DC中:
mod(H(RS||H(Rk||RS)),n)≡0 (1)
其中mod表示模运算,RS表示用户输入的嵌入数据库水印元组的密钥,Rk表示数据资源关键属性,n表示需要嵌入数据库水印的元组数(由用户输入),H表示哈希算法,||表示连接运算;DC中的元组个数为lenRows,DC中单个元组的列数为lenColumns。
12.6数据资源通告模块在候选元组集DC中选择候选属性(候选属性由用户输入,用于计算每个属性所对应值需要嵌入数据库水印的位数),然后在选择的候选属性中嵌入MS1,得到添加MS1后的DC,具体步骤如下:
12.6.1,初始化候选元组集DC的元组标号rows=1,初始化候选元组的属性标号columns=1;
12.6.2从DC中选择标号为rows的元组,记为tuple且令columns=1;
12.6.3从tuple中选择属性标号为columns的属性所对应的值,记为R;
12.6.4对R(选取R的低位,选取的位数与K1相同)与属性候选码K1(K1由数据资源拥有者定义)进行异或操作,得到的结果为R嵌入MS1的位数m;
12.6.5顺序读取MS1中的m位记为MSm,MSm与R的低m位进行异或操作,得到嵌入MS1的属性Rms,然后利用Rms替换R;
12.6.6令columns加1,若columns小于等于lenColumns,转12.6.3;若columns大于lenColumns,则令rows加1并判断rows是否小于等于lenRows,若rows小于等于lenRows,则转12.6.2;若rows大于lenRows,转12.7。
12.7数据资源通告模块对添加MS1后的DC按照数据资源摘要信息的格式提取相关内容并赋值给数据资源摘要信息中对应的字段,得到一个数据资源摘要信息,然后将得到的数据资源摘要信息发送给数据资源出售模块,转第八步。
第十三步,数据确权模块从数据资源出售模块或数据资源交易模块接收数据资源摘要信息或数据资源摘要信息集合,对数据资源摘要信息或数据资源摘要信息集合进行检验,如果接收的是数据资源摘要信息集合则逐条对集合中的数据资源摘要信息执行检验操作;如果接收的是数据资源摘要信息则直接执行检验操作;具体步骤如下:
13.1数据确权模块根据数据资源摘要信息中的数据资源摘要信息编号查找交易记录链,如果在交易记录链中存在该数据资源摘要信息编号对应的数据资源摘要信息确认信息,且数据资源摘要信息确认信息中确认标志位为真,则该数据资源已经确权,将该确认信息显示到屏幕供用户查看,转十四步;如果交易记录链中存在该数据资源摘要信息编号,但该编号所属数据资源摘要信息确认信息不存在或者链中不存在该数据资源摘要信息编号,转13.2步;
13.2数据确权模块根据数据资源摘要信息中的数据资源地址提取需要确权的数据资源RC;
13.3对需要确权的RC进行确权,步骤如下:
13.3.1数据确权模块根据RC的数据资源类型和数据资源特殊结构描述查找交易记录链中所有数据资源摘要信息,将交易记录链中所有与RC的数据资源特殊结构描述相同的数据资源摘要信息放到集合DSS中,转13.3.2;如果在交易记录链中没有查到与RC具有相同数据资源特殊结构描述的数据资源摘要信息,则将该数据资源对应的数据资源摘要信息编号赋值给数据资源摘要信息确认信息中的数据资源摘要信息编号,将数据资源摘要信息确认信息中的确认标志位设为真,然后向数据资源交易模块和数据资源出售模块返回该数据资源对应的数据资源摘要信息确认信息并转第十四步;
13.3.2数据确权模块利用数据资源摘要信息提供的数据资源关键属性对数据资源RC按照数据资源关键属性进行排序,将DSS中每个数据资源摘要信息中数据资源地址所对应的数据资源中满足公式(1)的元组存放到第二候选元组集DC1(方法同步骤12.5);
13.3.3数据确权模块在DC1中选择与RC具有相同数据资源关键属性的元组,将这些元组放到第三候选元组集DC2中;
13.3.4设置DC2的元组个数为count,令第一个元组的标号为i=1;
13.3.5数据确权模块利用K1在标号为i的元组中择一个候选属性所对应的值Ck,计算K1的位数为l,选择候选属性所对应的值低l位记录为L,将L与K1进行异或操作,得出数据库水印长度m;
13.3.6在RC中取出与DC2具有相同数据资源关键属性的元组Rt,选取Rt中的任一候选属性所对应的值Cr;
13.3.7取出Cr的低m位与Ck的低m位进行异或操作,得到数据库水印信
息,记为MSi;
13.3.8令i加1,若i小于等于count,转13.3.5;若i大于count,转13.3.9;
13.3.9数据确权模块将得到的数据库水印信息MS1。。。MSi。。。MScount组织成数据库水印,然后利用SK2使用RSA加解密算法对数据库水印进行解密,将解密后的数据库水印与数据拥有者存放在数据交易平台上的数据库水印MS2进行相似度比较;如果比较结果为不相似,则向数据资源出售模块和数据资源交易模块返回确权成功信息,转13.4步;否则,向数据资源出售模块和数据资源交易模块返回数据资源存在侵权行为信息,转13.4步;
13.4如果数据确权模块收到的为确权成功信息,则将数据资源摘要信息确认信息中的确认标志位设置为真,并将数据资源摘要信息确认信息记录到交易记录链;如果数据确权模块收到的为数据资源存在侵权行为信息,则将数据资源摘要信息确认信息中的确认标志位设置为假,并将生成的数据资源摘要信息确认信息记录到交易记录链。
第十四步,结束。
采用本发明可以达到如下的有益效果:
1.本发明的交易记录链采用区块链的数据结构,保证了交易数据的安全性,因为区块链具有去中心化的特性所以不存在第三方平台对数据资源的复制和缓存,使得交易过程不可篡改,同时交易记录链记录了数据资源摘要信息和数据资源摘要信息确认信息,保证了确定身份的数据源在链上不可更改,从而保证了数据源拥有者的合法权益;
2第十二步数据资源通告模块利用数据库水印技术向出售或共享的数据资源中添加数据库水印,可以维护数据资源拥有者的合法权益;数据资源通告模块通过将数据库水印添加到数据资源中,并将添加数据库水印后的数据资源提取数据资源摘要信息,然后将数据资源摘要信息存储到交易记录链中,可保证数据资源拥有者对数据资源拥有的唯一性,即同一数据资源在交易记录链上不能同时出现。
3第十三步数据确权模块利用数据库水印技术提取需要确权数据资源的数据库水印信息,然后将提取的数据库水印信息与提出数据资源确权者的数据库水印信息进行相似比较,用来确定数据资源的真正拥有者;通过数据确权模块可以保证链上的数据记录的数据资源拥有唯一的拥有者,即链上的一个数据资源不可能同时出现两个以上数据资源拥有者,从而可以保证链上数据资源拥有者的合法权益。
附图说明
图1是本发明第一步构建的数据交易平台逻辑结构图;
图2是本发明总体流程图;
图3是用户请求信息的结构图;
图4是数据资源摘要信息的结构图;
图5是本发明交易记录链结构图;
具体实施方式
图2是本发明总体流程图;如图2所示,本发明包括以下步骤:
第一步,构建数据交易平台,如图1所示,数据交易平台由用户管理模块、数据资源出售模块、数据资源查询模块、数据资源交易模块、数据资源通告模块、数据确权模块、交易记录链组成,数据交易平台安装在数据资源拥有者和数据资源购买者所对应的服务器上。
如图5所示,交易记录链是一条区块链,其区块头、区块大小、交易计数器的内容与背景技术中描述的一样,交易信息包含6个数据域,分别为:发送方地址指数据资源购买者的IP地址;接收方地址指数据资源拥有者的IP地址;生成交易的时间戳指交易信息记录的时间;交易记录信息指数据资源交易信息(包括:数据资源拥有者IP地址、数据资源购买者IP地址、数据资源摘要信息编号、数据资源购买时间、数据资源价格、数据资源格式、数据资源传输方式、购买数据资源数量、购买数据资源费用);数据资源摘要信息指数据资源拥有者对拥有的数据资源的声明;数据资源摘要信息确认信息表示数据资源确权信息,包含数据资源摘要信息编号和确认标志位,确认标志位为真表示已经确权,为假表示数据资源为非数据源数据。
如图1所示,用户管理模块与数据资源交易模块、数据资源出售模块相连,用来管理接入数据交易平台用户的信息,由用户注册子模块、用户校验子模块、用户管理子模块组成。用户校验子模块与用户注册子模块、用户管理子模块相连,从键盘或文件接收用户请求信息,对用户请求信息进行请求标志位判断,如果请求标志位为注册请求则将用户请求信息送给用户注册子模块,如果请求标志位为登录请求则将用户请求信息送给用户管理子模块,并根据用户管理子模块返回的查询信息进行用户登录信息校验;用户请求信息如图3所示,包含8个字段,分别为用户名、密码、申请用户类型、请求标志位、请求信息类型、数据出售标志位、数据确权标志位、数据资源需求信息。用户名指接入数据交易平台的用户名;密码指用户名所对应用户的密码;申请用户类型包括数据资源拥有者和数据资源购买者;请求标志位包括登录请求和注册请求;请求信息类型有用户请求信息、数据资源摘要信息两种:在用户请求信息中用户请求信息类型为用户请求信息,在数据资源摘要信息中用户请求信息类型为数据资源摘要信息;数据出售标志位标志是否可以进行数据资源出售,当申请用户类型为数据资源拥有者时才有效;数据确权标志位标志是否需进行数据资源确权,当有效时进行数据资源确权;数据资源需求信息有4个子域,分别为数据资源类型、数据资源数量、数据资源格式、数据资源传输方式;数据资源类型说明数据资源属于哪方面的信息,包括:消费记录信息、医疗卫生信息、政府公开信息、教育科技信息、金融信用信息、交通信息以及其他信息;数据资源数量指数据资源总量(单位为GB)和数据资源信息条数;数据资源格式指数据资源拥有方存储数据资源的文件格式,包括:数据库文件方式和格式化文件方式;数据资源传输方式指数据资源交易双方约定的数据资源传输方式,包括:线上传输、线下传输、提供数据资源服务API方式;
用户注册子模块与用户校验子模块、用户管理子模块相连,用户注册子模块从用户校验子模块接受用户请求信息,检查用户请求信息是否完整以及各请求字段信息是否符合规范,若检查合格,则将用户请求信息送给用户管理子模块;若检查不合格,则返回错误信息并结束本次登录;
用户管理子模块与用户注册子模块、用户校验子模块、数据资源查询模块、数据资源交易模块、数据资源出售模块相连,用户管理子模块接收用户注册子模块发来的用户请求信息,将用户请求信息既存储到用户管理表中,又发送给数据资源查询模块、数据资源交易模块和数据资源出售模块;用户管理子模块接收用户校验子模块发来的用户请求信息,根据用户请求信息查询用户管理表,并将查询结果送给用户校验子模块;用户管理表是记录用户信息的表,表项数为用户的个数,如图1所示,用户管理表包含5个域,分别为用户名、密码、申请用户类型,用户公钥和辅助用户信息;用户名、密码、申请用户类型的含义与用户请求信息中的含义相同,用户公钥是用户设置的一种加密信息,用户利用公钥对相关信息进行加密;辅助用户信息记录用户的身份信息,如姓名、证件号等,可根据不同需求记录不同的身份信息。
数据资源查询模块与数据资源出售模块、数据资源交易模块、用户管理子模块、交易记录链相连;数据资源查询模块从用户管理子模块接收用户请求信息,根据用户请求信息中数据资源需求信息中的数据资源类型查询交易记录链,将在交易记录链查询到的满足数据资源类型的数据资源摘要信息的集合一方面显示到屏幕供用户查看,一方面发送给数据资源出售模块。数据资源摘要信息如图4所示,包括十五个数据域,分别为数据资源摘要信息编号、数据资源协商标志位、请求信息类型、数据资源拥有者、数据资源地址、数据资源创建时间、数据资源更新时间、数据资源结构描述、数据资源特殊结构描述、数据资源关键属性、数据资源类型、数据资源数量、数据资源传输方式、数据资源价格和数据资源的属性Hash,数据资源摘要信息编号是用来唯一标识数据资源摘要信息的编号;数据资源协商标志位用来进行交易协商操作的判定,默认值为假;请求信息类型含义与用户请求信息中请求信息类型含义相同,在数据资源摘要信息中请求信息类型为数据资源摘要信息;数据资源拥有者表示拥有数据资源的用户名,数据资源地址表示数据资源存放的IP地址;数据资源创建时间表示该数据源数据出售或者共享的时间;数据资源更新时间表示该数据源数据出售或共享后更新数据源的时间;数据资源结构描述域描述数据资源具有的全部属性(即数据资源所处的数据库的所有列的名称);数据资源特殊结构描述域描述数据资源价值的属性(即数据资源结构描述域中具有价值的列的名称);数据资源关键属性表示数据资源结构描述域中能唯一标识数据资源的列的名称(即数据资源关键属性可以唯一确定该数据资源属于哪一行,一个数据库中的数据资源关键属性只有一列);数据资源类型、数据资源数量数据资源传输方式与用户请求信息中的数据资源类型、数据资源数量、数据资源传输方式含义分别相同;数据资源价格表示购买或使用该数据资源所需要支付的费用;数据资源的属性Hash指数据资源所有属性(即数据资源结构描述域描述的所有属性)的Hash值,用于记录数据资源完整性。数据资源查询模块从数据资源出售模块或数据资源交易模块接收数据资源摘要信息,根据数据资源摘要信息中数据资源特殊结构描述查找交易记录链,将查询到的具有相同数据资源特殊结构的数据资源摘要信息集合发送给数据资源出售模块或数据资源交易模块;
数据资源出售模块与用户管理子模块、数据资源查询模块、数据资源交易模块、数据资源通告模块、数据确权模块相连,数据资源出售模块从用户管理子模块接收用户请求信息,根据用户请求信息中的申请用户类型和数据出售标志位进行判断,若申请用户类型为数据资源拥有者且数据出售标志位为有效,数据资源出售模块从数据资源通告模块接收数据资源摘要信息,将数据资源摘要信息发送给数据资源查询模块;数据资源出售模块从数据资源查询模块接收查询到的数据资源摘要信息集合,对数据资源摘要信息集合进行判空处理,如果数据资源摘要信息集合为空,数据资源出售模块发送数据资源摘要信息确认信息(包含:数据资源摘要信息编号和确认标志位)到数据资源通告模块,该数据资源摘要信息确认信息中的确认标志位为真,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源查询模块从数据资源通告模块接收的数据资源摘要信息的数据资源摘要信息编号;如果数据资源出售模块接收到数据资源查询模块返回的数据资源摘要信息集合不为空,数据资源出售模块将接收到的数据资源摘要信息集合发送给数据确权模块,数据资源出售模块接收数据确权模块返回的数据确权结果,如果数据确权结果为数据源数据,数据资源出售模块发送数据资源摘要信息确认信息到数据资源通告模块,该数据资源摘要信息确认信息中确认标志位为真,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源通告模块接收的数据资源摘要信息中的数据资源摘要信息编号;如果数据确权结果为非数据源数据,数据资源出售模将数据资源摘要信息确认信息中确认标志位设为假,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源通告模块接收数据资源摘要信息中的数据资源摘要信息编号,并将数据资源摘要信息确认信息发送给数据资源通告模块;数据资源出售模块接收数据资源交易模块发送的交易请求(即用户输入的需要交易的数据资源摘要信息),对交易请求进行协商处理,如果协商双方同意进行数据资源交易,则将允许交易信息返回数据资源交易模块;如果协商双方有任意一方不同意进行数据资源交易,则将不允许交易信息返回数据资源交易模块。
数据资源交易模块与数据资源查询模块、数据资源出售模块、数据确权模块、用户管理子模块相连,它从数据资源查询模块接收数据资源摘要信息集合,根据从用户管理子模块接收的用户请求信息中的数据确权标志位判断是否需要确权,如果数据确权标志位为真则将接收的数据资源摘要信息集合发送给数据确权模块,并从数据确权模块接收数据确权结果,如果数据确权结果为数据源数据,则从键盘接收用户发送的交易请求,将交易请求发送到数据资源出售模块;如果确权结果为非数据源数据则交易结束;如果用户请求信息中的数据确权标志位为假则发送交易请求到数据资源出售模块,如果从数据资源出售模块接收的是允许交易信息,则进行交易,如果从数据资源出售模块接收的是不允许交易信息,则交易结束。
数据资源通告模块与数据资源出售模块、交易记录链相连,数据资源通告模块从数据资源出售模块接收数据资源摘要信息确认信息,对数据资源摘要信息确认信息中的确认标志位进行判断,如果确认标志位为真则将对应数据资源摘要信息编号的数据资源摘要信息记录到交易记录链;如果确认标志位为假则将对应数据资源摘要信息编号的数据资源摘要信息丢弃。
数据确权模块与数据资源交易模块、数据资源出售模块、交易记录链相连,从数据资源交易模块和数据资源出售模块接收数据资源摘要信息,首先根据接收到的数据资源摘要信息查找交易记录链中的数据资源摘要信息确认信息,如果该数据资源摘要信息所对应的数据资源摘要信息确认信息中的确认标志位为真(表示已经确权),则将数据资源摘要信息确认信息返回数据资源交易模块和数据资源出售模块;如果该数据资源摘要信息所对应的数据资源摘要信息确认信息中确认标志位为假(表示数据资源为非数据源数据),则将数据资源摘要信息确认信息返回数据资源交易模块和数据资源出售模块,并结束交易;如果在交易记录链中找不到该数据资源摘要信息所对应的数据资源摘要信息确认信息,则对该数据资源摘要信息进行确权操作,并将数据确权结果记录到交易记录链中。
第二步,用户管理模块中的用户校验子模块从键盘或文件接收用户请求信息,根据用户请求信息判断,如果用户请求信息的请求标志位为注册请求,则将用户请求信息发送给用户注册子模块,转第三步;如果用户请求信息的请求标志位为登录请求,则将用户请求信息发送给用户管理子模块,转第四步。
第三步,用户注册子模块从用户校验子模块接收用户请求信息,检查用户请求信息是否完整以及各请求字段信息是否符合规范,若检查合格,则将用户请求信息送给用户管理子模块;用户管理子模块将从用户注册子模块收到的用户请求信息中的用户名、密码、申请用户类型和用户填写的辅助用户信息存储到用户管理表中,完成注册,转第二步;
第四步,用户管理子模块从用户校验子模块接收用户请求信息,将用户请求信息中的用户名和密码与用户管理表中的用户名和密码进行匹配操作,如果在用户管理表中找到用户名和密码匹配成功的表项,且用户请求信息中的申请用户类型为数据资源购买者,将用户请求信息发送给数据资源查询模块,转第五步;如果匹配成功且申请用户类型为数据资源拥有者则将用户请求信息发送给数据资源出售模块,转第八步;如果在用户管理表中未找到与用户请求信息中的用户名和密码匹配的表项,则用户管理子模块输出用户不存在或密码错误的错误信息,结束本次登录,转第十四步。
第五步,数据资源查询模块从用户管理子模块接收用户请求信息,根据用户请求信息中数据资源需求信息中的数据资源类型查询交易记录链,将在交易记录链查询到的满足数据资源类型的数据资源摘要信息放到数据资源摘要信息集合中,如果数据资源摘要信息集合不为空,将数据资源摘要信息集合内容显示到屏幕供用户查看,转第六步;如果数据资源摘要信息的集合为空,则输出“未查到相关的数据资源”的信息,转第十四步。
第六步,数据资源交易模块接收用户查看数据资源摘要信息集合的反馈,判断是否需要进行数据资源交易,若需要进行数据资源交易,则接收用户从数据资源摘要信息集合选择的数据资源摘要信息编号,将接收到的数据资源信息编号发送给数据资源查询模块,转第七步;若收到用户不需要进行数据资源交易的反馈,则转第十四步。
第七步,数据资源查询模块在交易记录链查找与数据资源信息编号对应的数据资源摘要信息,将查找到的数据资源摘要信息中的数据资源协商标志位置为真,并将数据资源摘要信息发送到数据资源出售模块。
第八步,如果数据资源出售模块从数据资源查询模块或数据资源通告模块接收到数据资源摘要信息,执行8.1;如果数据资源出售模块从用户管理子模块接收到用户请求信息,执行8.2;
8.1判断数据资源摘要信息中数据资源协商标志位:
8.1.1如果数据资源协商标志位为真,则根据数据资源摘要信息中的数据资源地址向数据资源拥有者发送交易协商请求,并将从数据资源拥有者接收到的协商结果(允许交易信息或不允许交易信息)发送给数据资源交易模块,转第九步;
8.1.2如果数据资源协商标志位为假,则将数据资源摘要信息发送给数据资源查询模块,转第十步;
8.2判断用户请求信息中数据出售标志位和数据确权标志位:
8.2.1如果数据出售标志位有效,转第十二步;
8.2.2如果数据出售标志位无效且数据确权标志位有效,将数据资源摘要信息发送给数据确权模块,转第十三步;
第九步,如果数据资源交易模块从数据资源出售模块接收到的是允许交易信息,数据资源交易模块根据用户请求信息中数据确权标志位判断是否需要确权,如果数据资源确权标志位有效则将需要确权的数据资源摘要信息发送到数据确权模块,转第十三步;如果数据资源确权标志位无效则直接进行数据交易,交易结束后转第十四步;如果数据资源交易模块从数据资源出售模块接收的是不允许交易信息,则该交易无效,转第十四步;
第十步,数据资源查询模块根据数据资源摘要信息中数据资源特殊结构描述查找交易记录链,将查询到的具有相同数据资源特殊结构描述的数据资源摘要信息放到数据资源摘要信息集合,并将数据资源摘要信息集合发送给数据资源出售模块;数据资源出售模块判断数据资源摘要信息集合是否为空,若数据资源摘要信息集合为空,则将数据资源摘要信息确认信息中的确认标志设为真,将数据资源摘要信息确认信息发送给数据资源通告模块,转第十一步;若数据资源摘要信息集合不为空,则将数据资源摘要信息集合发送给数据确权模块,转第十三步;
第十一步,数据资源通告模块从数据资源出售模块接收数据资源摘要信息确认信息,判断数据资源摘要信息确认信息中的确认标志,如果确认标志为真,则在交易记录链的末端添加一个新区块,将数据资源摘要信息确认信息中数据资源摘要信息编号对应的数据资源摘要信息添加到新区块中,转第十四步;如果确认标志为假,则输出“数据资源为非数据源数据”消息,转第十四步;
第十二步,此时数据资源通告模块接收到的是用户请求信息且数据出售标志位有效,数据资源通告模块执行以下操作,对出售的数据资源(即一组数据库中的结构化数据)添加数据库水印,方法是:
12.1数据资源通告模块在用户管理表中根据用户请求信息中的用户名查找该用户名对应的用户公钥PK1,命PK1为第一公钥;
12.2数据资源通告模块使用1978年《Communications of the Acm》(《美国计算机学会通信》)在26卷第2期96-99页Ron Rivest、Adi Shamir、Leonard Adleman三人文章《AMethod for Obtaining Digital Signatures and Public-Key Cryptosystems》(《一种获取数字签名和公钥密码系统的方法》中提出的RSA加解密算法生成密码对(PK2,SK2),其中PK2为第二公钥,SK2为第二私钥;
12.3利用PK1和PK2对用户输入的嵌入数据库水印MS通过Hash运算(可采用SHA-256哈希算法)进行加密处理,得到加密后的数据库水印MS1;
12.4利用数据资源关键属性对数据资源进行排序;
12.5对排序后的数据资源使用2002年Rakesh Agrawal、Jerry Kiernan在文章《Watermarking Relational Databases》(《关系型数据库水印》)第4页提出的消息认证码算法进行运算(见公式1),将满足公式(1)的元组(结构化数据资源中的一行)存放到候选元组集DC中:
mod(H(RS||H(Rk||RS)),n)≡0 (1)
其中mod表示模运算,RS表示用户输入的嵌入数据库水印元组的密钥,Rk表示数据资源关键属性,n表示需要嵌入数据库水印的元组数(由用户输入),H表示哈希算法,||表示连接运算;DC中的元组个数为lenRows,DC中单个元组的列数为lenColumns。
12.6数据资源通告模块在候选元组集DC中选择候选属性(候选属性由用户输入,用于计算每个属性所对应值需要嵌入数据库水印的位数),然后在选择的候选属性中嵌入MS1,得到添加MS1后的DC,具体步骤如下:
12.6.1,初始化候选元组集DC的元组标号rows=1,初始化候选元组的属性标号columns=1;
12.6.2从DC中选择标号为rows的元组,记为tuple且令columns=1;
12.6.3从tuple中选择属性标号为columns的属性所对应的值,记为R;
12.6.4对R(选取R的低位,选取的位数与K1相同)与属性候选码K1(K1由数据资源拥有者定义)进行异或操作,得到的结果为R嵌入MS1的位数m;
12.6.5顺序读取MS1中的m位记为MSm,MSm与R的低m位进行异或操作,得到嵌入MS1的属性Rms,然后利用Rms替换R;
12.6.6令columns加1,若columns小于等于lenColumns,转12.6.3;若columns大于lenColumns,则令rows加1并判断rows是否小于等于lenRows,若rows小于等于lenRows,则转12.6.2;若rows大于lenRows,转12.7。
12.7数据资源通告模块对添加MS1后的DC按照数据资源摘要信息的格式提取相关内容并赋值给数据资源摘要信息中对应的字段,得到一个数据资源摘要信息,然后将得到的数据资源摘要信息发送给数据资源出售模块,转第八步。
第十三步,数据确权模块从数据资源出售模块或数据资源交易模块接收数据资源摘要信息或数据资源摘要信息集合,对数据资源摘要信息或数据资源摘要信息集合进行检验,如果接收的是数据资源摘要信息集合则逐条对集合中的数据资源摘要信息执行检验操作;如果接收的是数据资源摘要信息则直接执行检验操作;具体步骤如下:
13.1数据确权模块根据数据资源摘要信息中的数据资源摘要信息编号查找交易记录链,如果在交易记录链中存在该数据资源摘要信息编号对应的数据资源摘要信息确认信息,且数据资源摘要信息确认信息中确认标志位为真,则该数据资源已经确权,将该确认信息显示到屏幕供用户查看,转十四步;如果交易记录链中存在该数据资源摘要信息编号,但该编号所属数据资源摘要信息确认信息不存在或者链中不存在该数据资源摘要信息编号,转13.2步;
13.2数据确权模块根据数据资源摘要信息中的数据资源地址提取需要确权的数据资源RC;
13.3对需要确权的RC进行确权,步骤如下:
13.3.1数据确权模块根据RC的数据资源类型和数据资源特殊结构描述查找交易记录链中所有数据资源摘要信息,将交易记录链中所有与RC的数据资源特殊结构描述相同的数据资源摘要信息放到集合DSS中,转13.3.2;如果在交易记录链中没有查到与RC具有相同数据资源特殊结构描述的数据资源摘要信息,则将该数据资源对应的数据资源摘要信息编号赋值给数据资源摘要信息确认信息中的数据资源摘要信息编号,将数据资源摘要信息确认信息中的确认标志位设为真,然后向数据资源交易模块和数据资源出售模块返回该数据资源对应的数据资源摘要信息确认信息并转第十四步;
13.3.2数据确权模块利用数据资源摘要信息提供的数据资源关键属性对数据资源RC按照数据资源关键属性进行排序,将DSS中每个数据资源摘要信息中数据资源地址所对应的数据资源中满足公式(1)的元组存放到第二候选元组集DC1(方法同步骤12.5);
13.3.3数据确权模块在DC1中选择与RC具有相同数据资源关键属性的元组,将这些元组放到第三候选元组集DC2中;
13.3.4设置DC2的元组个数为count,令第一个元组的标号为i=1;
13.3.5数据确权模块利用K1在标号为i的元组中择一个候选属性所对应的值Ck,计算K1的位数为l,选择候选属性所对应的值低l位记录为L,将L与K1进行异或操作,得出数据库水印长度m;
13.3.6在RC中取出与DC2具有相同数据资源关键属性的元组Rt,选取Rt中的任一候选属性所对应的值Cr;
13.3.7取出Cr的低m位与Ck的低m位进行异或操作,得到数据库水印信
息,记为MSi;
13.3.8令i加1,若i小于等于count,转13.3.5;若i大于count,转13.3.9;
13.3.9数据确权模块将得到的数据库水印信息MS1。。。MSi。。。MScount组织成数据库水印,然后利用SK2使用RSA加解密算法对数据库水印进行解密,将解密后的数据库水印与数据拥有者存放在数据交易平台上的数据库水印MS2进行相似度比较;如果比较结果为不相似,则向数据资源出售模块和数据资源交易模块返回确权成功信息,转13.4步;否则,向数据资源出售模块和数据资源交易模块返回数据资源存在侵权行为信息,转13.4步;
13.4如果数据确权模块收到的为确权成功信息,则将数据资源摘要信息确认信息中的确认标志位设置为真,并将数据资源摘要信息确认信息记录到交易记录链;如果数据确权模块收到的为数据资源存在侵权行为信息,则将数据资源摘要信息确认信息中的确认标志位设置为假,并将生成的数据资源摘要信息确认信息记录到交易记录链。
第十四步,结束。
Claims (7)
1.一种面向数据流通的结构化数据确权方法,其特征在于包括以下步骤:
第一步,构建数据交易平台,它由用户管理模块、数据资源出售模块、数据资源查询模块、数据资源交易模块、数据资源通告模块、数据确权模块、交易记录链组成,数据交易平台安装在数据资源拥有者和数据资源购买者所对应的服务器上;
交易记录链是一条区块链,其交易信息包含6个数据域,分别为:发送方地址指数据资源购买者的IP地址;接收方地址指数据资源拥有者的IP地址;生成交易的时间戳指交易信息记录的时间;交易记录信息指数据资源交易信息;数据资源摘要信息指数据资源拥有者对拥有的数据资源的声明;数据资源摘要信息确认信息表示数据资源确权信息,包含数据资源摘要信息编号和确认标志位,确认标志位为真表示已经确权,为假表示数据资源为非数据源数据;
用户管理模块与数据资源交易模块、数据资源出售模块相连,用来管理接入数据交易平台用户的信息,由用户注册子模块、用户校验子模块、用户管理子模块组成;用户校验子模块与用户注册子模块、用户管理子模块相连,从键盘或文件接收用户请求信息,对用户请求信息进行请求标志位判断,如果请求标志位为注册请求则将用户请求信息送给用户注册子模块,如果请求标志位为登录请求则将用户请求信息送给用户管理子模块,并根据用户管理子模块返回的查询信息进行用户登录信息校验;用户请求信息包含8个字段,分别为用户名、密码、申请用户类型、请求标志位、请求信息类型、数据出售标志位、数据确权标志位、数据资源需求信息;用户名指接入数据交易平台的用户名;密码指用户名所对应用户的密码;申请用户类型包括数据资源拥有者和数据资源购买者;请求标志位包括登录请求和注册请求;请求信息类型有用户请求信息、数据资源摘要信息两种:在用户请求信息中用户请求信息类型为用户请求信息,在数据资源摘要信息中用户请求信息类型为数据资源摘要信息;数据出售标志位标志是否可以进行数据资源出售,当申请用户类型为数据资源拥有者时才有效;数据确权标志位标志是否需进行数据资源确权,当有效时进行数据资源确权;数据资源需求信息有4个子域,分别为数据资源类型、数据资源数量、数据资源格式、数据资源传输方式;数据资源类型说明数据资源属于哪方面的信息,数据资源数量指数据资源总量和数据资源信息条数,数据资源格式指数据资源拥有方存储数据资源的文件格式,数据资源传输方式指数据资源交易双方约定的数据资源传输方式;
用户注册子模块与用户校验子模块、用户管理子模块相连,用户注册子模块从用户校验子模块接受用户请求信息,检查用户请求信息是否完整以及各请求字段信息是否符合规范,若检查合格,则将用户请求信息送给用户管理子模块;若检查不合格,则返回错误信息并结束本次登录;
用户管理子模块与用户注册子模块、用户校验子模块、数据资源查询模块、数据资源交易模块、数据资源出售模块相连,用户管理子模块接收用户注册子模块发来的用户请求信息,将用户请求信息既存储到用户管理表中,又发送给数据资源查询模块、数据资源交易模块和数据资源出售模块;用户管理子模块接收用户校验子模块发来的用户请求信息,根据用户请求信息查询用户管理表,并将查询结果送给用户校验子模块;用户管理表是记录用户信息的表,表项数为用户的个数,包含5个域,分别为用户名、密码、申请用户类型,用户公钥和辅助用户信息;用户名、密码、申请用户类型的含义与用户请求信息中的含义相同,用户公钥是用户设置的一种加密信息;辅助用户信息记录用户的身份信息;
数据资源查询模块与数据资源出售模块、数据资源交易模块、用户管理子模块、交易记录链相连;数据资源查询模块从用户管理子模块接收用户请求信息,根据用户请求信息中数据资源需求信息中的数据资源类型查询交易记录链,将在交易记录链查询到的满足数据资源类型的数据资源摘要信息的集合一方面显示到屏幕供用户查看,一方面发送给数据资源出售模块;数据资源摘要信息包括十五个数据域,分别为数据资源摘要信息编号、数据资源协商标志位、请求信息类型、数据资源拥有者、数据资源地址、数据资源创建时间、数据资源更新时间、数据资源结构描述、数据资源特殊结构描述、数据资源关键属性、数据资源类型、数据资源数量、数据资源传输方式、数据资源价格和数据资源的属性Hash;数据资源摘要信息编号是用来唯一标识数据资源摘要信息的编号;数据资源协商标志位用来进行交易协商操作的判定,默认值为假;请求信息类型含义与用户请求信息中请求信息类型含义相同,在数据资源摘要信息中请求信息类型为数据资源摘要信息;数据资源拥有者表示拥有数据资源的用户名;数据资源地址表示数据资源存放的IP地址;数据资源创建时间表示该数据源数据出售或者共享的时间;数据资源更新时间表示该数据源数据出售或共享后更新数据源的时间;数据资源结构描述域描述数据资源具有的全部属性,即数据资源所处的数据库的所有列的名称;数据资源特殊结构描述域描述数据资源价值的属性,即数据资源结构描述域中具有价值的列的名称;数据资源关键属性表示数据资源结构描述域中能唯一标识数据资源的列的名称;数据资源类型、数据资源数量数据资源传输方式与用户请求信息中的数据资源类型、数据资源数量、数据资源传输方式含义分别相同;数据资源价格表示购买或使用该数据资源所需要支付的费用;数据资源的属性Hash指数据资源结构描述域描述的所有属性的Hash值;数据资源查询模块从数据资源出售模块或数据资源交易模块接收数据资源摘要信息,根据数据资源摘要信息中数据资源特殊结构描述查找交易记录链,将查询到的具有相同数据资源特殊结构的数据资源摘要信息集合发送给数据资源出售模块或数据资源交易模块;
数据资源出售模块与用户管理子模块、数据资源查询模块、数据资源交易模块、数据资源通告模块、数据确权模块相连,数据资源出售模块从用户管理子模块接收用户请求信息,根据用户请求信息中的申请用户类型和数据出售标志位进行判断,若申请用户类型为数据资源拥有者且数据出售标志位为有效,数据资源出售模块从数据资源通告模块接收数据资源摘要信息,将数据资源摘要信息发送给数据资源查询模块;数据资源出售模块从数据资源查询模块接收查询到的数据资源摘要信息集合,对数据资源摘要信息集合进行判空处理,如果数据资源摘要信息集合为空,数据资源出售模块发送数据资源摘要信息确认信息到数据资源通告模块,该数据资源摘要信息确认信息中的确认标志位为真,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源查询模块从数据资源通告模块接收的数据资源摘要信息的数据资源摘要信息编号;如果数据资源出售模块接收到数据资源查询模块返回的数据资源摘要信息集合不为空,数据资源出售模块将接收到的数据资源摘要信息集合发送给数据确权模块,数据资源出售模块接收数据确权模块返回的数据确权结果,如果数据确权结果为数据源数据,数据资源出售模块发送数据资源摘要信息确认信息到数据资源通告模块,该数据资源摘要信息确认信息中确认标志位为真,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源通告模块接收的数据资源摘要信息中的数据资源摘要信息编号;如果数据确权结果为非数据源数据,数据资源出售模将数据资源摘要信息确认信息中确认标志位设为假,该数据资源摘要信息确认信息中的数据资源摘要信息编号为数据资源通告模块接收的数据资源摘要信息中的数据资源摘要信息编号并将数据资源摘要信息确认信息发送给数据资源通告模块;数据资源出售模块接收数据资源交易模块发送的交易请求即用户输入的需要交易的数据资源摘要信息,对交易请求进行协商处理,如果协商双方同意进行数据资源交易,则将允许交易信息返回数据资源交易模块;如果协商双方有任意一方不同意进行数据资源交易,则将不允许交易信息返回数据资源交易模块;
数据资源交易模块与数据资源查询模块、数据资源出售模块、数据确权模块、用户管理子模块相连,它从数据资源查询模块接收数据资源摘要信息集合,根据从用户管理子模块接收的用户请求信息中的数据确权标志位判断是否需要确权,如果数据确权标志位为真则将接收的数据资源摘要信息集合发送给数据确权模块,并从数据确权模块接收数据确权结果,如果数据确权结果为数据源数据,则接收用户发送的交易请求,将交易请求发送到数据资源出售模块;如果确权结果为非数据源数据则交易结束;如果用户请求信息中的数据确权标志位为假则发送交易请求到数据资源出售模块,如果从数据资源出售模块接收的是允许交易信息,则进行交易,如果从数据资源出售模块接收的是不允许交易信息,则交易结束;
数据资源通告模块与数据资源出售模块、交易记录链相连,数据资源通告模块从数据资源出售模块接收数据资源摘要信息确认信息,对数据资源摘要信息确认信息中的确认标志位进行判断,如果确认标志位为真则将对应数据资源摘要信息编号的数据资源摘要信息记录到交易记录链;如果确认标志位为假则将对应数据资源摘要信息标号的数据资源摘要信息丢弃;
数据确权模块与数据资源交易模块、数据资源出售模块、交易记录链相连,从数据资源交易模块和数据资源出售模块接收数据资源摘要信息,首先根据接收到的数据资源摘要信息查找交易记录链中的数据资源摘要信息确认信息,如果该数据资源摘要信息所对应的数据资源摘要信息确认信息中的确认标志位为真,则将数据资源摘要信息确认信息返回数据资源交易模块和数据资源出售模块;如果该数据资源摘要信息所对应的数据资源摘要信息确认信息中确认标志位为假,则将数据资源摘要信息确认信息返回数据资源交易模块和数据资源出售模块,并结束交易;如果在交易记录链中找不到该数据资源摘要信息所对应的数据资源摘要信息确认信息,则对该数据资源摘要信息进行确权操作,并将数据确权结果记录到交易记录链中;
第二步,用户管理模块中的用户校验子模块从键盘或文件接收用户请求信息,根据用户请求信息判断,如果用户请求信息的请求标志位为注册请求,则将用户请求信息发送给用户注册子模块,转第三步;如果用户请求信息的请求标志位为登录请求,则将用户请求信息发送给用户管理子模块,转第四步;
第三步,用户注册子模块从用户校验子模块接收用户请求信息,检查用户请求信息是否完整以及各请求字段信息是否符合规范,若检查合格,则将用户请求信息送给用户管理子模块;用户管理子模块将从用户注册子模块收到的用户请求信息中的用户名、密码、申请用户类型和用户填写的辅助用户信息存储到用户管理表中,完成注册,转第二步;
第四步,用户管理子模块从用户校验子模块接收用户请求信息,将用户请求信息中的用户名和密码与用户管理表中的用户名和密码进行匹配操作,如果在用户管理表中找到用户名和密码匹配成功的表项,且用户请求信息中的申请用户类型为数据资源购买者,将用户请求信息发送给数据资源查询模块,转第五步;如果匹配成功且申请用户类型为数据资源拥有者则将用户请求信息发送给数据资源出售模块,转第八步;如果在用户管理表中未找到与用户请求信息中的用户名和密码匹配的表项,则用户管理子模块输出用户不存在或密码错误的错误信息,结束本次登录,转第十四步;
第五步,数据资源查询模块从用户管理子模块接收用户请求信息,根据用户请求信息中数据资源需求信息中的数据资源类型查询交易记录链,将在交易记录链查询到的满足数据资源类型的数据资源摘要信息放到数据资源摘要信息集合中,如果数据资源摘要信息集合不为空,将数据资源摘要信息集合内容显示到屏幕供用户查看,转第六步;如果数据资源摘要信息的集合为空,则输出“未查到相关的数据资源”的信息,转第十四步;
第六步,数据资源交易模块接收用户查看数据资源摘要信息集合的反馈,判断是否需要进行数据资源交易,若需要进行数据资源交易,则接收用户从数据资源摘要信息集合选择的数据资源摘要信息编号,将接收到的数据资源信息编号发送给数据资源查询模块,转第七步;若收到用户不需要进行数据资源交易的反馈,则转第十四步;
第七步,数据资源查询模块在交易记录链查找与数据资源信息编号对应的数据资源摘要信息,将查找到的数据资源摘要信息中的数据资源协商标志位置为真,并将数据资源摘要信息发送到数据资源出售模块;
第八步,如果数据资源出售模块从数据资源查询模块或数据资源通告模块接收到数据资源摘要信息,执行8.1;如果数据资源出售模块从用户管理子模块接收到用户请求信息,执行8.2;
8.1判断数据资源摘要信息中数据资源协商标志位:
8.1.1如果数据资源协商标志位为真,则根据数据资源摘要信息中的数据资源地址向数据资源拥有者发送交易协商请求,并将从数据资源拥有者接收到的协商结果即允许交易信息或不允许交易信息发送给数据资源交易模块,转第九步;
8.1.2如果数据资源协商标志位为假,则将数据资源摘要信息发送给数据资源查询模块,转第十步;
8.2判断用户请求信息中数据出售标志位和数据确权标志位:
8.2.1如果数据出售标志位有效,转第十二步;
8.2.2如果数据出售标志位无效且数据确权标志位有效,将数据资源摘要信息发送给数据确权模块,转第十三步;
第九步,如果数据资源交易模块从数据资源出售模块接收到的是允许交易信息,数据资源交易模块根据用户请求信息中数据确权标志位判断是否需要确权,如果数据资源确权标志位有效则将需要确权的数据资源摘要信息发送到数据确权模块,转第十三步;如果数据资源确权标志位无效则直接进行数据交易,交易结束后转第十四步;如果数据资源交易模块从数据资源出售模块接收的是不允许交易信息,则该交易无效,转第十四步;
第十步,数据资源查询模块根据数据资源摘要信息中数据资源特殊结构描述查找交易记录链,将查询到的具有相同数据资源特殊结构描述的数据资源摘要信息放到数据资源摘要信息集合,并将数据资源摘要信息集合发送给数据资源出售模块;数据资源出售模块判断数据资源摘要信息集合是否为空,若数据资源摘要信息集合为空,则将数据资源摘要信息确认信息中的确认标志设为真,将数据资源摘要信息确认信息发送给数据资源通告模块,转第十一步;若数据资源摘要信息集合不为空,则将数据资源摘要信息集合发送给数据确权模块,转第十三步;
第十一步,数据资源通告模块从数据资源出售模块接收数据资源摘要信息确认信息,判断数据资源摘要信息确认信息中的确认标志,如果确认标志为真,则在交易记录链的末端添加一个新区块,将数据资源摘要信息确认信息中数据资源摘要信息编号对应的数据资源摘要信息添加到新区块中,转第十四步;如果确认标志为假,则输出“数据资源为非数据源数据”消息,转第十四步;
第十二步,此时数据资源通告模块接收到的是用户请求信息且数据出售标志位有效,数据资源通告模块执行以下操作,对出售的数据资源添加数据库水印,方法是:
12.1数据资源通告模块在用户管理表中根据用户请求信息中的用户名查找该用户名对应的用户公钥PK1,命PK1为第一公钥;
12.2数据资源通告模块生成密码对(PK2,SK2),其中PK2为第二公钥,SK2为第二私钥;
12.3利用PK1和PK2对用户输入的嵌入数据库水印MS进行加密处理,得到加密后的数据库水印MS1;
12.4利用数据资源关键属性对数据资源进行排序;
12.5对排序后的数据资源利用公式1进行运算,将满足公式1的元组存放到候选元组集DC中,所述元组指结构化数据资源中的一行:
mod(H(RS||H(Rk||RS)),n)≡0 公式(1)
其中mod表示模运算,RS表示用户输入的嵌入数据库水印元组的密钥,Rk表示数据资源关键属性,n表示需要嵌入数据库水印的元组数,H表示哈希算法,||表示连接运算;DC中的元组个数为lenRows,DC中单个元组的列数为lenColumns;
12.6数据资源通告模块在DC中选择候选属性,然后在选择的候选属性中嵌入MS1,得到添加MS1后的DC;
12.7数据资源通告模块对添加MS1后的DC按照数据资源摘要信息的格式提取相关内容并赋值给数据资源摘要信息中对应的字段,得到一个数据资源摘要信息,然后将得到的数据资源摘要信息发送给数据资源出售模块,转第八步;
第十三步,数据确权模块从数据资源出售模块或数据资源交易模块接收数据资源摘要信息或数据资源摘要信息集合,对数据资源摘要信息或数据资源摘要信息集合进行检验,如果接收的是数据资源摘要信息集合则逐条对集合中的数据资源摘要信息执行检验操作;如果接收的是数据资源摘要信息则直接执行检验操作;具体步骤如下:
13.1数据确权模块根据数据资源摘要信息中的数据资源摘要信息编号查找交易记录链,如果在交易记录链中存在该数据资源摘要信息编号对应的数据资源摘要信息确认信息,且数据资源摘要信息确认信息中确认标志位为真,则该数据资源已经确权,将该确认信息显示到屏幕供用户查看,转十四步;如果交易记录链中存在该数据资源摘要信息编号,但该编号所属数据资源摘要信息确认信息不存在或者链中不存在该数据资源摘要信息编号,转13.2步;
13.2数据确权模块根据数据资源摘要信息中的数据资源地址提取需要确权的数据资源RC;
13.3对需要确权的RC进行确权,步骤如下:
13.3.1数据确权模块根据RC的数据资源类型和数据资源特殊结构描述查找交易记录链中所有数据资源摘要信息,将交易记录链中所有与RC的数据资源特殊结构描述相同的数据资源摘要信息放到集合DSS中,转13.3.2;如果在交易记录链中没有查到与RC具有相同数据资源特殊结构描述的数据资源摘要信息,则将该数据资源对应的数据资源摘要信息编号赋值给数据资源摘要信息确认信息中的数据资源摘要信息标号,将数据资源摘要信息确认信息中的确认标志位设为真,然后向数据资源交易模块和数据资源出售模块返回该数据资源对应的数据资源摘要信息确认信息并转第十四步;
13.3.2数据确权模块利用数据资源摘要信息提供的数据资源关键属性对数据资源RC按照数据资源关键属性进行排序,将DSS中每个数据资源摘要信息中数据资源地址所对应的数据资源中满足公式(1)的元组存放到第二候选元组集DC1;
13.3.3数据确权模块在DC1中选择与RC具有相同数据资源关键属性的元组,将这些元组放到第三候选元组集DC2中;
13.3.4设置DC2的元组个数为count,令第一个元组的标号为i=1;
13.3.5数据确权模块利用属性候选码K1在标号为i的元组中择一个候选属性所对应的值Ck,计算K1的位数为l,选择候选属性所对应的值低l位记录为L,将L与K1进行异或操作,得出数据库水印长度m;
13.3.6在RC中取出与DC2具有相同数据资源关键属性的元组Rt,选取Rt中的任一候选属性所对应的值Cr;
13.3.7取出Cr的低m位与Ck的低m位进行异或操作,得到数据库水印信息,记为MSi;
13.3.8令i加1,若i小于等于count,转13.3.5;若i大于count,转13.3.9;
13.3.9数据确权模块将得到的数据库水印信息MS1。。。MSi。。。MScount组织成数据库水印,然后利用SK2对数据库水印进行解密,将解密后的数据库水印与数据拥有者存放在数据交易平台上的数据库水印MS2进行相似度比较;如果比较结果为不相似,则向数据资源出售模块和数据资源交易模块返回确权成功信息,转13.4步;否则,向数据资源出售模块和数据资源交易模块返回数据资源存在侵权行为信息,转13.4步;
13.4如果数据确权模块收到的为确权成功信息,则将数据资源摘要信息确认信息中的确认标志位设置为真,并将数据资源摘要信息确认信息记录到交易记录链;如果数据确权模块收到的为数据资源存在侵权行为信息,则将数据资源摘要信息确认信息中的确认标志位设置为假,并将生成的数据资源摘要信息确认信息记录到交易记录链;
第十四步,结束。
2.如权利要求1所述的一种面向数据流通的结构化数据确权方法,其特征在于所述数据资源交易信息包括数据资源拥有者IP地址、数据资源购买者IP地址、数据资源摘要信息编号、数据资源购买时间、数据资源价格、数据资源格式、数据资源传输方式、购买数据资源数量、购买数据资源费用。
3.如权利要求1所述的一种面向数据流通的结构化数据确权方法,其特征在于所述用户请求信息中的数据资源类型包括消费记录信息、医疗卫生信息、政府公开信息、教育科技信息、金融信用信息、交通信息;数据资源格式包括数据库文件方式和格式化文件方式;数据资源传入方式包括线上传输、线下传输、提供数据资源服务API方式。
4.如权利要求1所述的一种面向数据流通的结构化数据确权方法,其特征在于12.2步所述数据资源通告模块使用RSA加解密算法生成密码对(PK2,SK2),13.3.9步所述利用SK2对数据库水印进行解密的方法也是采用RSA加解密算法。
5.如权利要求1所述的一种面向数据流通的结构化数据确权方法,其特征在于12.3步所述加密处理的方法Hash运算。
6.如权利要求5所述的一种面向数据流通的结构化数据确权方法,其特征在于所述Hash运算指SHA-256哈希算法。
7.如权利要求1所述的一种面向数据流通的结构化数据确权方法,其特征在于12.6步所述数据资源通告模块在DC中选择候选属性并在选择的候选属性中嵌入MS1的方法是:
12.6.1,初始化候选元组集DC的元组标号rows=1,初始化候选元组的属性标号columns=1;
12.6.2从DC中选择标号为rows的元组,记为tuple且令columns=1;
12.6.3从tuple中选择属性标号为columns的属性所对应的值,记为R;
12.6.4对R与属性候选码K1进行异或操作,得到的结果为R嵌入MS1的位数m,异或操作时选取R的低位,选取的位数与K1的位数相同,K1由数据资源拥有者定义;
12.6.5顺序读取MS1中的m位记为MSm,MSm与R的低m位进行异或操作,得到嵌入MS1的属性Rms,然后利用Rms替换R;
12.6.6令columns加1,若columns小于等于lenColumns,转12.6.3;若columns大于lenColumns,则令rows加1并判断rows是否小于等于lenRows,若rows小于等于lenRows,则转12.6.2;若rows大于lenRows,结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711237221.0A CN107832626B (zh) | 2017-11-30 | 2017-11-30 | 一种面向数据流通的结构化数据确权方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711237221.0A CN107832626B (zh) | 2017-11-30 | 2017-11-30 | 一种面向数据流通的结构化数据确权方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832626A CN107832626A (zh) | 2018-03-23 |
CN107832626B true CN107832626B (zh) | 2019-09-17 |
Family
ID=61646718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711237221.0A Active CN107832626B (zh) | 2017-11-30 | 2017-11-30 | 一种面向数据流通的结构化数据确权方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832626B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146635A (zh) * | 2018-08-24 | 2019-01-04 | 华东师范大学 | 基于区块链的地理大数据交换和交易系统及方法 |
CN109636367B (zh) * | 2018-12-14 | 2021-04-13 | 浙江工商大学 | 一种基于智能合约的多源数字教育资源确权方法 |
CN109918868A (zh) * | 2018-12-20 | 2019-06-21 | 上海分布信息科技有限公司 | 数据确权方法及数据确权系统 |
CN110727961B (zh) * | 2019-08-08 | 2024-02-27 | 上海浩霖汇信息科技有限公司 | 一种基于数字签名技术的数字水印防伪方法 |
CN110751481A (zh) * | 2019-09-28 | 2020-02-04 | 北京瑞卓喜投科技发展有限公司 | 一种数字资产确权方法及装置 |
CN111612079B (zh) * | 2020-05-22 | 2021-07-20 | 深圳前海微众银行股份有限公司 | 数据确权方法、设备及可读存储介质 |
CN115002104A (zh) * | 2021-02-20 | 2022-09-02 | 花瓣云科技有限公司 | 数据交易方法、设备和系统 |
CN113034128B (zh) * | 2021-03-16 | 2022-07-01 | 昆明理工大学 | 一种基于区块链的数据交易及确权的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651346A (zh) * | 2016-11-28 | 2017-05-10 | 上海凯岸信息科技有限公司 | 基于区块链的征信数据共享与交易系统 |
CN106815728A (zh) * | 2017-01-03 | 2017-06-09 | 北京供销科技有限公司 | 一种基于区块链技术的大数据确权方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101637868B1 (ko) * | 2016-02-22 | 2016-07-08 | 주식회사 코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
-
2017
- 2017-11-30 CN CN201711237221.0A patent/CN107832626B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106651346A (zh) * | 2016-11-28 | 2017-05-10 | 上海凯岸信息科技有限公司 | 基于区块链的征信数据共享与交易系统 |
CN106815728A (zh) * | 2017-01-03 | 2017-06-09 | 北京供销科技有限公司 | 一种基于区块链技术的大数据确权方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107832626A (zh) | 2018-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832626B (zh) | 一种面向数据流通的结构化数据确权方法 | |
US11222331B2 (en) | Method and system for blockchain-based gemstone ownership, identity, custody, supply-chain transfer, trading, and secure payments | |
US11995645B2 (en) | Computer-implemented system and method for generating and extracting user related data stored on a blockchain | |
Baars | Towards self-sovereign identity using blockchain technology | |
ES2299665T3 (es) | Un sistema de gestion de la informacion. | |
US20150356523A1 (en) | Decentralized identity verification systems and methods | |
CN107637015A (zh) | 数字身份系统 | |
CN109074580A (zh) | 在区块链上安全转移实体的方法和系统 | |
CN110189131A (zh) | 采用环签名的机密区块链交易的实现方法及装置 | |
CN108352016A (zh) | 数据确证和存储 | |
Ma et al. | Blockchain-based mechanism for fine-grained authorization in data crowdsourcing | |
CN105791259B (zh) | 一种个人信息保护的方法 | |
CN109768983A (zh) | 基于区块链的多维动态身份识别方法、装置及系统 | |
KR20080098492A (ko) | 평판 정보 시스템, 평판 정보 제공 방법 및 컴퓨터 판독가능 매체 | |
Eze et al. | Modelling user trust and mobile payment adoption: a conceptual Framework | |
Li et al. | A decentralized and secure blockchain platform for open fair data trading | |
CN114549194A (zh) | 一种基于区块链的权利资产管理服务平台及其实现方法 | |
CN107633402A (zh) | 一种用于聚合认证的方法及其系统 | |
Chen et al. | Toward achieving anonymous nft trading | |
WO2021075080A1 (en) | Operation system and operation method of sovereign digital currency with identifire | |
Wang et al. | Enabling Fairness‐Aware and Privacy‐Preserving for Quality Evaluation in Vehicular Crowdsensing: A Decentralized Approach | |
Imteaj et al. | Foundations of blockchain: theory and applications | |
Peha | Electronic commerce with verifiable audit trails | |
Hadfield | Privatizing Commercial Law: lessons from the middle and the digital ages | |
Li et al. | A Decentrlized Trading Model Based on Public Blockchain with Regulatable Bi-Tierred Identities |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |