CN110502916B - 一种基于区块链的敏感性数据处理方法与系统 - Google Patents
一种基于区块链的敏感性数据处理方法与系统 Download PDFInfo
- Publication number
- CN110502916B CN110502916B CN201810468263.3A CN201810468263A CN110502916B CN 110502916 B CN110502916 B CN 110502916B CN 201810468263 A CN201810468263 A CN 201810468263A CN 110502916 B CN110502916 B CN 110502916B
- Authority
- CN
- China
- Prior art keywords
- block chain
- data
- service
- platform
- sensitive data
- 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
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/602—Providing cryptographic facilities or services
-
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于区块链的敏感性数据处理方法与系统,所述方法包括:业务平台向区块链平台的对应网络节点发送各机构的业务请求;所述区块链平台的对应网络节点接收所述业务平台的业务请求后,在区块链平台的全部网络节点进行广播,根据共识结果在全网节点统一对该业务请求进行处理;其中,所述区块链平台包含多个由各业务平台搭建并接入区块链平台的网络节点,各业务平台通过各自的网络节点发送相应的业务请求。本发明解决了原有的敏感数据共享的成本高、数据的时效性和安全性较差的问题。
Description
技术领域
本发明涉及区块链技术领域,更具体来说,涉及一种基于区块链的敏感性数据处理方法与系统。
背景技术
随着大数据和互联网的兴起,数据驱动技术已成为各类行业发展的主流技术之一。构建足够规模的数据是数据驱动技术的基础,但是数据累计通常要耗费大量的人力物力。针对这一问题,通过整合不同机构的已有数据,让多个机构进行数据共享无疑是一种较好的解决方案。但是,不同机构之间进行数据的交换和共享对数据的安全性、时效性和真实性都有一定的要求。尤其在面临一些涉及隐私、商业机密等敏感数据上,比如黑名单、征信、白名单等用户数据,寻求一种有效的数据分享方法仍然是相关领域中有待解决的难题之一。
传统的数据库技术通常需要一个中心化的运营机构来构建数据中心,并采用多重防火墙等高安全性措施来保护数据不被黑客攻击,其运营成本极高,一旦安全漏洞被突破,损失将难以估计,同时,需要耗费大量的人力实现对数据库的更新和维护,从而大大提高各机构获取数据的成本。
近年来,一些方法提出采用区块链来实现数据的共享,通过将关键信息存储到区块链上,可直接建立不同机构之间点对点式的数据交换,以降低数据获取的成本。如专利“一种基于区块链技术的数据共享方法”、“基于区块链的数据共享方法”等均采用区块链实现数据的共享,但这些方法集中于采用区块链的分布式特性保证数据的可恢复性,部分方法直接将明文数据存储在链上,不能起到保护敏感数据隐私的作用,“基于区块链的数据共享方法”所采用密钥共享的方式难以满足敏感数据的安全性要求。目前,存在一些将区块链用于隐私数据处理的方法,如专利“基于属性加密的区块链隐私数据访问控制方法”实现了对数据的加密存储,但只有监管机构才能获取数据的信息,不支持对数据的共享访问,专利“一种基于区块链的涉及隐私数据的数据共享方法”采用私钥组合的方式实现节点的身份认证和数据共享,一方面,每一个节点共同持有私钥的一部分,仍然具有一定程度的安全隐患,另一方面,每一个节点在上传是需指定分享的对象,不具备动态的可扩展性。此外,上述方法均没有提供对数据的删除操作,在分享一些具有时效性的数据时,难以维护数据自身的有效性。
发明内容
本发明的目的是,提供一种基于区块链的敏感性数据处理方法与系统,以解决原有的敏感性数据共享的成本高、数据的时效性差和安全性差的问题。
为解决上述技术问题,本发明所采用的技术方案如下:
一种基于区块链的敏感性数据处理方法,所述方法包括:
业务平台向区块链平台的对应网络节点发送各机构的业务请求;
所述区块链平台的对应网络节点接收所述业务平台的业务请求后,在区块链平台的全部网络节点进行广播,根据共识结果在全网节点统一对该业务请求进行处理;
其中,所述区块链平台包含多个由各业务平台搭建并接入区块链平台的网络节点,各业务平台通过各自的网络节点发送相应的业务请求。
进一步地,所述业务请求包括敏感性数据的上传、删除和查询,其中,至少对上传的敏感性数据进行脱敏和加密处理。
进一步地,针对敏感性数据的上传及删除操作,需在区块链平台的各个网络节点共识之后,方在全网节点进行数据更新,针对敏感性数据的查新操作,在在区块链平台的全网节点不作共识。
进一步地,所述区块链平台包含数据层、网络层和智能合约,其中,
所述数据层,包括状态数据库和机构操作日志,所述状态数据库用于记录机构上传的敏感性数据,所述机构操作日志用于记录所述状态数据库的每一次更新操作;
所述业务平台调用各自网络节点上的智能合约,通过网络层向全网节点广播相应的业务请求,并根据共识结果在全网节点统一对该业务请求进行处理,同时,所述智能合约还将业务请求映射为对状态数据库的读写操作。
进一步地,所述状态数据库的数据记录格式由如下多个字段组成:
敏感性数据={索引号,主键,详情信息,删除标记,上传者的身份标识},其中,平台上传的所述敏感性数据需依据预定义的所述记录格式进行字段填写,至少对主键进行脱敏处理,对详情信息字段进行算法加密处理。
进一步地,对业务请求的共识过程包括如下:
各网络节点将本机构的业务请求发送至Kafka集群;
Kafka集群收集所有的业务请求,并按Kafka排序算法对所有请求进行排序;
Kafka集群将经排序的请求队列返回给各节点;
各节点按时间或按交易数对请求队列进行切分,每一部分打包成一个区块;
共识过程中不断生成新的区块,节点接收到区块后,会再次检查交易的有效性,并在自己的节点上执行该业务请求。
进一步地,所述敏感性数据的上传流程包括如下步骤:
根据预定义的数据记录格式填写字段,包括数据的主键和详情信息,在各自的业务平台提交上传申请;
上传接口采用SHA1算法对主键进行脱敏处理,采用椭圆曲线加密算法和业务方的公钥对详情信息进行加密;
上传接口调用区块链平台的智能合约,将经过脱敏和加密处理后的数据、公钥传送到区块链平台上;
智能合约检查该脱敏和加密处理后的数据是否重复,若不重复,则将该上传申请发送到区块链全网节点进行共识;
等待共识确认后,各网络节点将该数据信息写入至各节点的状态数据库中进行保存,并将删除标记记为0。
进一步地,所述敏感性数据的删除过程包括如下步骤:
通过业务平台选择自己上传的一条记录,提交对该记录的删除申请;
删除接口获取该记录的索引值,并采用业务方的私钥对索引值进行椭圆曲线加密;
删除接口调用区块链平台的智能合约,将索引值、加密后的索引值发送给区块链平台;
智能合约使用索引值对应的数据中的公钥对加密后的索引值进行解密,若解密后的索引值和传送来的索引值不匹配,则拒绝删除该数据,若成功,则广播该业务请求至全网进行共识;
等待共识确认后,各网络节点将状态数据库中对应的敏感性数据删除标记记为1。
进一步地,所述敏感性数据的查询过程包括如下步骤:
在业务平台输入待查询数据主键的明文,提交对该待查询数据的查询请求;
查询接口采用SHA1算法获得主键的哈希值;
查询接口调用区块链平台的智能合约,将主键的哈希值发送到区块链平台上;
智能合约根据主键的哈希值,在状态数据库中进行查询,若没有查询到,则返回空;若查询到相应的记录,则获取相应记录中的索引值、加密的详情信息和上传者的标识;
查询机构的网络节点将查询请求进行全网广播,并同时发送查询机构的公钥、待查询的数据索引值、原始加密的详情密文和上传者的公钥;
区块链网络其他节点捕获到该查询请求后,会检查上传者的公钥是否为自己的公钥,若不是,则抛弃该请求,否则,首先使用私钥来对原始加密的详情密文进行解密,然后使用查询机构传来的公钥对详情信息进行加密,得到第一详情密文,接着使用私钥对原始加密的详情密文进行加密,得到签名后第二详情密文,把所述第一详情密文、第二详情密文和上传者的公钥进行全网广播;
请求查询的机构捕获到返回消息后,使用上传者的公钥对所述第二详情密文进行解密,验证解密后的密文是否和状态数据库中的密文一致,若不一致,则抛弃该消息,若一致,则使用自己的密钥对所述第一详情密文进行解密,得到所需的黑名单详情信息。
进一步地,新的区块通过哈希指针建立和节点上已有的最新区块的链接。
进一步地,各机构在接入区块链网络之前,需调用公私钥对生成方法,生成自己机构的密钥Ks和公钥Kp,以支持后续的加密和签名操作。
基于本发明的另一方面,还提供了一种基于区块链的敏感性数据处理系统,所述系统包括:业务平台和区块链平台,其中,
所述业务平台,用于向所述区块链平台发送各机构的业务请求,并接收从所述区块链平台返回的处理结果;
所述区块链平台,接收所述业务平台的业务请求,在平台的全部网络节点进行广播,根据共识结果在全网节点统一对该业务请求进行处理并返回处理结果给所述业务平台;其中,
所述区块链平台包含多个由上述各业务平台搭建并接入区块链平台的网络节点,各业务平台通过各自的网络节点发送相应的业务请求。
进一步地,所述业务平台包括数据上传接口、数据删除接口和数据查询接口,分别用于敏感性数据的上传、删除和查询,其中,至少对上传操作进行数据脱敏和加密处理。
与现有技术相比,本发明所公开的一种基于区块链的敏感性数据处理方法与系统达到了如下技术效果:
1、去中心化运营机构的共享模式无需建设数据中心,降低了其运营和建设成本,从而降低敏感数据获取的成本;通过区块链网络建立数据提供方和数据获取方的点对点通信,有效降低了数据获取的成本,并利用区块链上的哈希值来验证数据的真实性。
2、平台内的各机构可随时上传、删除和获取相应的数据,为各机构的数据分析奠定基础,从而实现各机构的互惠互利,满足敏感数据的时效性和规模等要求。
3、区块链能够保证上传数据的不可篡改,建立参与机构之间的数据信任,保护数据的安全;采用脱敏和加密的方式将敏感数据存储到区块链上,保证了敏感数据的不变性和安全。
附图说明
图1为本发明实施例所述的基于区块链的敏感性数据处理方法的原理图。
图2为本发明实施例所述的基于区块链的敏感性数据处理系统采用四家机构的网络拓扑图。
图3为本发明实施例所述的基于区块链的敏感性数据处理系统的架构图。
图4为本发明实施例所述的数据上传流程图。
图5为本发明实施例所述的数据删除流程图。
图6为本发明实施例所述的数据查询流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定。
参照图1、图2所示,本发明实施例所公开了一种基于哈希脱敏处理的区块链敏感数据共享方法,所述方法基于搭建的业务平台和区块链平台来实现,所述方法包括如下:
步骤S1:各操作机构搭建自己的业务平台。
步骤S2:各机构通过各自的网络节点向区块链平台发送业务请求。其中,所述业务请求包括敏感性数据的上传请求、删除请求和查询请求,至少对上传请求的部分数据字段进行脱敏和加密处理;通过脱敏和加密保证数据传输的安全性。
步骤S3:所述区块链平台对来自某一节点网络的业务请求向平台其它网络节点进行广播,根据共识结果在全网节点对该业务请求进行处理,并将处理结果在全网节点进行数据更新。其中,针对敏感性数据的上传及删除请求,需要在全网节点作共识,但针对数据查询请求,由于其不涉及数据的更新,可在全网节点不作共识。
参与机构首先需搭建各机构所属的网络节点接入区块链网络以进行区块链的共识,然后可通过各自的业务平台向各机构所属的网络节点发送业务请求,据此和其他机构的网络节点进行通信,实现对底层区块链的数据读写。所述区块链平台负责对网络节点的同步以及处理业务平台的请求,保证网络各节点的系统状态的一致性。
图2示出了本发明实施例中采用四个机构接入区块链网络的示意图,各机构具有自己独立的业务平台和区块链节点,各平台对应的区块链节点通过一个统一的集群Kafka与其它节点建立通信,形成共识。
此外,本领域技术人员应当理解的是,本发明实施例中的业务请求不限于上传、删除、查询三种方式,还包括其它可以实现的业务类型,比如数据下载、数据更改等。
参照图3所示,图3示出了区块链平台与业务平台的交互关系,底层的区块链采用状态机复制技术在每一个节点上维护一个统一的状态数据库及操作日志,其中,状态数据库记录了所有的敏感性信息,敏感性信息的记录格式采用多个字段组合形成,而操作日志则完整的记录了各机构对状态数据库的更改记录。网络层负责对各节点的请求进行广播或共识。
状态数据库中的每一条记录包括由某一机构上传的一份敏感性信息,其主要包含如下五个字段:索引号、主键、详情信息、删除标记和上传者的身份标识。其中,索引号由区块链的交易号来进行标识,具有全局唯一性,删除标记则是一个标记位,比如通过0或1表示,用来标识该数据是否已被删除,其他数据主键和详情信息均采用加密算法进行加密,将加密后的密文保存在状态数据库中以实现对数据隐私性的保护。但本领域技术人员应当理解的是,本发明实施例中的敏感性数据的记录格式不限于上述所述的五个字段来表示,当为了实现某种业务请求时,可使用其中部分字段填写,或者加入新的字段。
操作日志则记录了对状态数据库的每一次更新操作,包括操作机构的身份标识以及操作的相关参数。区块链的所有节点会收集其他节点广播的数据共享业务请求(主要指数据上传和删除),并对请求的有效性和顺序进行共识。根据共识结果,将相应的业务操作打包成一个区块,并将新的区块返回给区块链各节点。随着数据相关业务操作的累计,区块链平台会不断生成新的区块并累计,新区块通过哈希指针建立和已有最新区块的链接,据此表示区块间的顺序。对于存放进来的历史数据源,因为它们是不能被修改的,我们可以对大数据作Hash处理,并加上时间戳,存在区块链之上。在未来的某一时刻,当我们需要验证原始数据地真实性时,可以对对应的数据做同样的Hash处理,如果得出的答案是相同的,则说明数据是没有被篡改过的。
区块链平台采用智能合约方式实现机构的业务操作,智能合约将业务的操作映射为对状态数据库的读写操作,并根据共识结果在全网节点上统一执行,以保证各节点状态数据库的一致性。一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。
业务平台会调用各机构节点上的智能合约,对全网节点广播相应的业务请求,具体包括敏感性数据的上传、删除和查询三大类操作。根据所需的业务操作类型,调用的智能合约方法不同,比如当需要上传数据时,调用区块链智能合约的数据上传方法,当需要删除数据时,调用区块链智能合约的数据删除方法,当需要查询数据时,调用区块链智能合约的数据查询方法。
下面以黑名单这种敏感性数据为例,对本发明实施例所公开的基于哈希脱敏处理的区块链敏感数据共享方法进行详细描述。
本发明实施例中,所述区块链平台,主要包含数据层、网络层和智能合约三个部分。
数据层包含两个部分:第一个是黑名单状态数据库,其记录了所有机构上传的黑名单数据,第二个是机构操作日志,其以链式结构记录了所有机构的上传和删除操作,查询操作不做共识,也不对数据库进行修改,不记录进操作日志。
所述黑名单状态数据库每条数据库记录的格式如下:
黑名单信息={索引号,身份证,姓名,黑名单详情信息,上传机构的公钥,删除标记},其中,索引号由最近的一次操作ID(交易号)确认,身份证和姓名均采用SHA1算法进行脱敏处理;黑名单详情信息采用上传者的公钥进行椭圆曲线加密,删除标记为0或1,若为0,表示该数据没有被删除,若为1,表示该数据已被删除;数据库采用KV数据库实现,以身份证和姓名为主键。
操作日志则记录了对黑名单状态数据库的每一次更新操作,包括操作机构的身份标识以及操作的相关参数。操作日志将每一次更新操作都作为一笔交易,并生成一个全局唯一的交易号对其进行标识。操作日志是以链式结构进行存储,链接按时序连接不同的区块,每一个区块封装了若干排序的交易,区块头则记录了上一区块的哈希值。一旦之前的区块信息进行了更改,就出现区块链连接不上的现象,可有效杜绝数据篡改行为。
区块链的主要核心是对网络节点所收集的操作进行共识,并生成区块,本发明的共识过程如下:
1.网络节点将本机构的业务请求通过各自的区块链节点发送到Kafka集群;
2.Kafka集群收集所有的请求,并按Kafka排序算法对所有请求进行排序;
3.Kafka集群将经排序的请求队列返回给各节点;
4.各节点按时间或按交易数对请求队列进行切分,每一个部分打包成一个区块;
5.区块链的共识过程中不断生成新的区块,节点接收到区块后,会再次检查交易的有效性,并在自己的节点上执行该操作。
区块链上的所有操作都是采用智能合约执行,即采用智能合约实现对黑名单状态数据库的读写操作。区块链实现了智能合约的黑名单上传、删除和查询三大方法,由业务平台根据不同的业务需求进行调用。其中,上传方法是将黑名单信息写入到状态数据库中;删除方法是将对应的黑名单删除标记写为1;查询方法则是根据黑名单的身份证和姓名读取对应的黑名单记录。
业务平台会调用机构节点上的智能合约,通过网络层向全网节点广播相应的业务请求,具体包括黑名单的上传、删除和查询三大类操作。
参照图4所示,黑名单的上传是机构将最新收集的黑名单信息上传到区块链黑名单状态数据库的过程,其主要包含以下步骤:
1、机构的业务人员根据预定义的黑名单数据格式填写字段,包括黑名单人员的姓名N、身份证ID、黑名单详情M,在业务系统上提交上传申请。
2、上传接口采用SHA1算法对姓名N和身份证ID进行脱敏处理,得到相应的姓名密文Ns和身份证密文IDs,然后采用椭圆曲线加密算法和业务方的公钥Kp对黑名单详情M进行加密,得到详情的密文Ms;基于区块链的数据脱敏技术能保证数据私密性,为隐私保护下的数据开放提供了解决方案。数据脱敏技术主要是采用了哈希处理等加密算法。
3、上传接口调用区块链智能合约的上传方法,将经过脱敏和加密处理后的数据Ns、IDs和Ms、公钥Kp作为参数传递给智能合约的方法接口。
4、智能合约的名单上传方法会根据姓名密文Ns和身份证密文IDs检查该黑名单信息的重复性,若不重复,则将该请求发送到区块链全网进行共识,若重复,则向本机构业务平台返回名单重复消息。
5、等待共识确认后,各网络节点将该黑名单信息写入至各节点的状态数据库中进行保存,并将删除标记记为0。
参照图5所示,黑名单的删除是机构删除本机构之前上传的黑名单信息,其主要包含以下步骤:
1、机构的业务人员选择本机构上传的一条记录,在业务系统提交对该黑名单的删除申请。
2、删除接口获取该记录的索引值H,并采用业务方的私钥Ks对索引值进行椭圆曲线加密,得到相应的索引值密文Hs。
3、删除接口调用区块链智能合约的名单删除方法,将索引值H、加密后的索引值Hs发送给智能合约的方法接口。
4、智能合约的名单删除方法使用索引值H对应的黑名单数据中的公钥Kp对加密后的索引值Hs进行解密,若解密后的索引值H’和传送来的索引值H不匹配,则拒绝删除该黑名单,若成功,则广播该业务请求至全网进行共识。
5、等待共识确认后,各网络节点将状态数据库中对应的黑名单信息的删除标记记为1。
参照图6所示,黑名单的查询是机构根据身份证和姓名查询该用户是否为黑名单用户,并得到黑名单具体信息的过程,其主要包含以下步骤:
1、机构的业务人员输入待查询黑名单信息的身份证N和姓名ID,在业务平台中提交对该黑名单的查询请求。
2、查询接口采用SHA1算法获得身份证和姓名的哈希值Ns和IDs;
3、查询接口调用区块链智能合约的查询方法,将身份证和姓名的哈希值Ns和IDs发送到智能合约的方法接口。
4、智能合约的查询方法根据身份证和姓名的哈希值Ns和IDs,在黑名单状态数据库中进行查询,若没有查询到,则返回空;若查询到相应的记录,则获取相应记录中的索引值H、加密的黑名单详情Ms和上传者的公钥Kp。
5、查询机构的网络节点将查询请求全网广播,并同时发送查询机构的公钥Kp1、待查询的黑名单索引值H、加密的详情密文Ms和上传者的公钥Kp。
6、网络其他节点捕获到该查询请求后,会检查上传者公钥是否为自己的公钥,若不是,则抛弃该请求,否则,首先使用私钥Ks来对加密的详情Ms进行解密,然后使用传来的公钥对Kp1该信息进行加密,得到第一详情密文Ms1,接着使用私钥Ks对原始加密的详情Ms进行加密,得到签名后的第二详情密文Ms2,把两份密文Ms1和Ms2,以及自己的公钥Kp进行全网广播。
7、查询机构捕获到返回消息后,使用上传者的公钥Kp对相应的第二详情密文Ms2进行解密,验证解密后的密文Ms3是否和状态数据库中的密文Ms一致,若不一致,则抛弃该消息,若一致,则使用自己的密钥Ks1对相应的第一详情密文Ms1进行解密,得到所需的黑名单详情信息M。
本发明实施例所公开的一种基于哈希脱敏处理的区块链敏感数据共享方法,位于区块链中节点的各机构可随时上传、删除和获取相应的数据,为各机构的数据分析奠定基础,从而实现各机构的互惠互利,也满足敏感数据的时效性和规模等要求。此外,敏感性数据的上传中,采用脱敏和加密的方式将敏感数据存储到区块链上,保证了敏感数据的不变性和安全性。
再请参照图2、图3所示,与上述方法相对应的,本发明另一实施例还提供了一种基于哈希脱敏处理的区块链敏感数据共享系统,用以执行上述方法,所述系统包括:业务平台和区块链平台,其中,
所述业务平台,由各参与机构搭建,用于向所述区块链平台发送各机构的业务请求,以及接收从所述区块链平台返回的处理结果;
所述区块链平台,接收所述业务平台的业务请求,在平台的全部网络节点进行广播,根据共识结果在全网节点统一执行或不执行该业务请求,并返回处理结果给所述业务平台;其中,
所述区块链平台包含多个由上述机构搭建并接入区块链平台的网络节点,各业务平台通过各自的网络节点发送相应的业务请求,所述业务平台包括数据上传接口、数据删除接口和数据查询接口,分别用于敏感性数据的上传、删除和查询,其中,至少针对通过上传接口上传的部分数据字段进行脱敏和数据加密处理,针对查询业务请求,在区块链平台的全网节点可以不作共识,而针对上传和删除请求,则需经过全网共识后方在各节点的状态数据库进行更新。
本发明实施例中所述的敏感性数据处理系统未详尽之处,请参阅上述实施例中的敏感数据共享方法,故在此不作赘述。
本发明所提出的采用区块链实现去中心化的敏感性数据分享方案,不仅拓宽了区块链技术的应用领域,还为金融、安全等领域的敏感数据共享提供了一种新的解决途径和思路,解决了原有的敏感数据共享的成本高、数据的时效性和安全性较差等问题。
上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (9)
1.一种基于区块链的敏感性数据处理方法,其特征在于,所述方法包括:
业务平台向区块链平台的对应网络节点发送各机构的业务请求;所述业务请求包括敏感性数据的上传、删除和查询,其中,至少对上传的敏感性数据进行脱敏和加密处理;
所述区块链平台的对应网络节点接收所述业务平台的业务请求后,在区块链平台的全部网络节点进行广播,根据共识结果在全网节点统一对该业务请求进行处理;
其中,所述区块链平台包含多个由各业务平台搭建并接入区块链平台的网络节点,各业务平台通过各自的网络节点发送相应的业务请求;
所述敏感性数据的删除过程包括如下步骤:
通过业务平台选择自己上传的一条记录,提交对该记录的删除申请;
删除接口获取该记录的索引值,并采用业务方的私钥对索引值进行椭圆曲线加密;
删除接口调用区块链平台的智能合约,将索引值、加密后的索引值发送给区块链平台;
智能合约使用索引值对应的数据中的公钥对加密后的索引值进行解密,若解密后的索引值和传送来的索引值不匹配,则拒绝删除该敏感性数据,若成功,则广播该业务请求至全网进行共识;
等待共识确认后,各网络节点将状态数据库中对应的敏感性数据的删除标记记为1;
针对敏感性数据的查询操作,在区块链平台的全网节点不作共识,所述敏感性数据的查询包括如下步骤:
在业务平台输入待查询数据主键的明文,提交对该待查询数据的查询请求;
查询接口采用SHA1算法获得主键的哈希值;
查询接口调用区块链平台的智能合约,将主键的哈希值发送到区块链平台上;
智能合约根据主键的哈希值,在状态数据库中进行查询,若没有查询到,则返回空;若查询到相应的记录,则获取相应记录中的索引值、加密的详情信息和上传者的标识;
查询机构的网络节点将查询请求进行全网广播,并同时发送查询机构的公钥、待查询的数据索引值、原始加密的详情密文和上传者的公钥;
区块链网络其他节点捕获到该查询请求后,会检查上传者的公钥是否为自己的公钥,若不是,则抛弃该请求,否则,首先使用私钥来对原始加密的详情密文进行解密,然后使用查询机构传来的公钥对详情信息进行加密,得到第一详情密文,接着使用私钥对原始加密的详情密文进行加密,得到签名后第二详情密文,把所述第一详情密文、第二详情密文和上传者的公钥进行全网广播;
请求查询的机构捕获到返回消息后,使用上传者的公钥对所述第二详情密文进行解密,验证解密后的密文是否和状态数据库中的密文一致,若不一致,则抛弃该消息,若一致,则使用自己的密钥对所述第一详情密文进行解密,得到所需的黑名单详情信息。
2.如权利要求1所述的敏感性数据处理方法,其特征在于,针对敏感性数据的上传及删除操作,需在区块链平台的各个网络节点共识之后,方在全网节点进行数据更新。
3.如权利要求1所述的敏感性数据处理方法,其特征在于,所述区块链平台包含数据层、网络层和智能合约,其中,
所述数据层,包括状态数据库和机构操作日志,所述状态数据库用于记录机构上传的敏感性数据,所述机构操作日志用于记录所述状态数据库的每一次更新操作;
所述业务平台调用各自网络节点上的智能合约,通过网络层向全网节点广播相应的业务请求,并根据共识结果在全网节点统一对该业务请求进行处理,同时,所述智能合约还将业务请求映射为对状态数据库的读写操作。
4.如权利要求3所述的敏感性数据处理方法,其特征在于,所述状态数据库的数据记录格式由如下多个字段组成:
敏感性数据={索引号,主键,黑名单详情信息,删除标记,上传者的身份标识},其中,平台上传的所述敏感性数据需依据预定义的所述记录格式进行字段填写,至少对主键进行脱敏处理,对详情信息字段进行算法加密处理。
5.如权利要求2所述的敏感性数据处理方法,其特征在于,对业务请求的共识过程包括如下:
各网络节点将本机构的业务请求发送至Kafka集群;
Kafka集群收集所有的业务请求,并按Kafka排序算法对所有请求进行排序;
Kafka集群将经排序的请求队列返回给各节点;
各节点按时间或按交易数对请求队列进行切分,每一部分打包成一个区块;
共识过程中不断生成新的区块,节点接收到区块后,会再次检查交易的有效性,并在自己的节点上执行该业务请求。
6.如权利要求1所述的敏感性数据处理方法,其特征在于,所述敏感性数据的上传流程包括如下步骤:
根据预定义的数据记录格式填写字段,包括数据的主键和详情信息,在各自的业务平台提交上传申请;
上传接口采用SHA1算法对主键进行脱敏处理,采用椭圆曲线加密算法和业务方的公钥对详情信息进行加密;
上传接口调用区块链平台的智能合约,将经过脱敏和加密处理后的数据、公钥传送到区块链平台上;
智能合约检查该脱敏和加密处理后的数据是否重复,若不重复,则将该上传申请发送到区块链全网节点进行共识;
等待共识确认后,各网络节点将该敏感性数据写入至各节点的状态数据库中进行保存,并将删除标记记为0。
7.如权利要求5所述的敏感性数据处理方法,其特征在于,新的区块通过哈希指针建立和节点上已有的最新区块的链接。
8.如权利要求1所述的敏感性数据处理方法,其特征在于,各机构在接入区块链网络之前,需调用公私钥对生成方法,生成自己机构的密钥Ks和公钥Kp,以支持后续的加密和签名操作。
9.一种基于区块链的敏感性数据处理系统,其特征在于,所述系统包括:业务平台和区块链平台,其中,
所述业务平台,用于向所述区块链平台发送各机构的业务请求,并接收从所述区块链平台返回的处理结果;所述业务平台包括数据上传接口、数据删除接口和数据查询接口,分别用于敏感性数据的上传、删除和查询,其中,所述上传接口对上传的敏感性数据需进行脱敏和加密处理;
所述区块链平台,接收所述业务平台的业务请求,在平台的全部网络节点进行广播,根据共识结果在全网节点统一对该业务请求进行处理并返回处理结果给所述业务平台;其中,
所述区块链平台包含多个由上述各业务平台搭建并接入区块链平台的网络节点,各业务平台通过各自的网络节点发送相应的业务请求;
所述敏感性数据的删除过程包括如下步骤:
通过业务平台选择自己上传的一条记录,提交对该记录的删除申请;
删除接口获取该记录的索引值,并采用业务方的私钥对索引值进行椭圆曲线加密;
删除接口调用区块链平台的智能合约,将索引值、加密后的索引值发送给区块链平台;
智能合约使用索引值对应的公钥对加密后的索引值进行解密,若解密后的索引值和传送来的索引值不匹配,则拒绝删除该敏感性数据,若成功,则广播该业务请求至全网进行共识;
等待共识确认后,各网络节点将状态数据库中对应的敏感性数据的删除标记记为1;
针对敏感性数据的查询操作,在区块链平台的全网节点不作共识,所述敏感性数据的查询包括如下步骤:
在业务平台输入待查询数据主键的明文,提交对该待查询数据的查询请求;
查询接口采用SHA1算法获得主键的哈希值;
查询接口调用区块链平台的智能合约,将主键的哈希值发送到区块链平台上;
智能合约根据主键的哈希值,在状态数据库中进行查询,若没有查询到,则返回空;若查询到相应的记录,则获取相应记录中的索引值、加密的详情信息和上传者的标识;
查询机构的网络节点将查询请求进行全网广播,并同时发送查询机构的公钥、待查询的数据索引值、原始加密的详情密文和上传者的公钥;
区块链网络其他节点捕获到该查询请求后,会检查上传者的公钥是否为自己的公钥,若不是,则抛弃该请求,否则,首先使用私钥来对原始加密的详情密文进行解密,然后使用传来的查询机构的公钥对详情信息进行加密,得到第一详情密文,接着使用私钥对原始加密的详情密文进行加密,得到签名后第二详情密文,把所述第一详情密文、第二详情密文和上传者的公钥进行全网广播;
请求查询的机构捕获到返回消息后,使用上传者的公钥对所述第二详情密文进行解密,验证解密后的密文是否和状态数据库中的密文一致,若不一致,则抛弃该消息,若一致,则使用自己的密钥对所述第一详情密文进行解密,得到所需的黑名单详情信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810468263.3A CN110502916B (zh) | 2018-05-16 | 2018-05-16 | 一种基于区块链的敏感性数据处理方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810468263.3A CN110502916B (zh) | 2018-05-16 | 2018-05-16 | 一种基于区块链的敏感性数据处理方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502916A CN110502916A (zh) | 2019-11-26 |
CN110502916B true CN110502916B (zh) | 2022-04-19 |
Family
ID=68584986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810468263.3A Active CN110502916B (zh) | 2018-05-16 | 2018-05-16 | 一种基于区块链的敏感性数据处理方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502916B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111461856A (zh) * | 2020-02-27 | 2020-07-28 | 杭州云象网络技术有限公司 | 一种基于区块链的委外催收方法 |
CN111581292B (zh) * | 2020-05-18 | 2023-12-15 | 中国工业互联网研究院 | 一种工业互联网数据资产确权和交易方法及平台 |
CN111858769B (zh) * | 2020-07-28 | 2024-05-03 | 北京金山云网络技术有限公司 | 数据使用方法、装置、节点设备及存储介质 |
CN112070494A (zh) * | 2020-09-07 | 2020-12-11 | 支付宝实验室(新加坡)有限公司 | 服务响应方法和信息读取方法 |
CN112187767A (zh) * | 2020-09-23 | 2021-01-05 | 上海万向区块链股份公司 | 基于区块链的多方合同共识系统、方法及介质 |
CN112800108A (zh) * | 2021-01-18 | 2021-05-14 | 湖北宸威玺链信息技术有限公司 | 基于区块链的脱敏数据完整性检测方法及检测系统 |
CN112801796A (zh) * | 2021-03-11 | 2021-05-14 | 三一智造(深圳)有限公司 | 一种区块链网络的业务处理方法 |
CN113779108B (zh) * | 2021-08-27 | 2024-04-19 | 浙商银行股份有限公司 | 一种区块链敏感词检测方法 |
CN113535746B (zh) * | 2021-09-13 | 2021-11-23 | 环球数科集团有限公司 | 一种非关系型数据通过随机序列读写后控制一致性的方法 |
CN114708990B (zh) * | 2022-06-07 | 2022-09-06 | 肺诊网(苏州)网络科技有限公司 | 一种基于5g互联网的远程数字媒体共享方法和系统 |
CN115334038B (zh) * | 2022-08-20 | 2024-03-26 | 信通院(江西)科技创新研究院有限公司 | 一种基于区块链的appid申请管理方法和系统 |
CN115801453B (zh) * | 2023-01-30 | 2023-05-02 | 北京大数元科技发展有限公司 | 一种敏感数据互联网安全查询的系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10346826B2 (en) * | 2015-07-28 | 2019-07-09 | Wesley John Boudville | Blockchain and deep links for mobile apps |
CN106384236B (zh) * | 2016-08-31 | 2019-07-16 | 江苏通付盾科技有限公司 | 基于区块链的ca认证管理方法、装置及系统 |
CN106503574B (zh) * | 2016-09-13 | 2019-11-05 | 中国电子科技集团公司第三十二研究所 | 区块链安全存储方法 |
CN106651346A (zh) * | 2016-11-28 | 2017-05-10 | 上海凯岸信息科技有限公司 | 基于区块链的征信数据共享与交易系统 |
CN106973036B (zh) * | 2017-02-07 | 2020-04-14 | 杭州云象网络技术有限公司 | 一种基于非对称加密的区块链隐私保护方法 |
CN107391649A (zh) * | 2017-07-14 | 2017-11-24 | 浙商银行股份有限公司 | 一种提升区块链查询效率的系统及方法 |
CN107819770A (zh) * | 2017-11-15 | 2018-03-20 | 中国联合网络通信集团有限公司 | 基于区块链的医疗信息共享隐私保护方法及装置 |
CN108650270B (zh) * | 2018-05-16 | 2020-10-23 | 苏宁易购集团股份有限公司 | 基于联盟链和激励机制的数据共享方法及系统 |
-
2018
- 2018-05-16 CN CN201810468263.3A patent/CN110502916B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110502916A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502916B (zh) | 一种基于区块链的敏感性数据处理方法与系统 | |
Yu et al. | Enabling attribute revocation for fine-grained access control in blockchain-IoT systems | |
Qi et al. | Cpds: Enabling compressed and private data sharing for industrial Internet of Things over blockchain | |
US10181049B1 (en) | Method and apparatus for secure and privacy-preserving querying and interest announcement in content push and pull protocols | |
CN113742782B (zh) | 基于隐私保护的区块链访问权限控制方法和区块链系统 | |
JP5024999B2 (ja) | 暗号管理装置、暗号管理方法、暗号管理プログラム | |
CN109858272A (zh) | 基于区块链的黑名单数据处理系统 | |
CN109858259B (zh) | 基于HyperLedger Fabric的社区健康服务联盟数据保护和共享方法 | |
Yao et al. | PBCert: Privacy-preserving blockchain-based certificate status validation toward mass storage management | |
Zhang et al. | Efficient dynamic provable possession of remote data via update trees | |
CN111008855B (zh) | 一种基于改进代理重加密的追溯数据访问控制方法 | |
CN112835977B (zh) | 一种基于区块链的数据库管理方法及系统 | |
She et al. | A double steganography model combining blockchain and interplanetary file system | |
CN114520747B (zh) | 一种以数据为中心的数据安全共享系统和方法 | |
CN112559625A (zh) | 一种基于区块链的电力业务物资信息存储系统和方法 | |
CN107612910A (zh) | 一种分布式文件数据访问方法及系统 | |
CN107229872A (zh) | 一种分离存储查询逻辑与分段数据的隐私数据保护方法 | |
CN116226880A (zh) | 一种基于可搜索加密的区块链密文检索安全溯源系统 | |
Cheng et al. | Talek: a private publish-subscribe protocol | |
TW202321938A (zh) | 一種資料共用方法、裝置、設備及存儲介質 | |
CN116662452B (zh) | 基于区块链和ipfs的无人蜂群数据存储方法及系统 | |
CN115225258B (zh) | 一种基于区块链的跨域可信数据的安全管理方法及系统 | |
CN110532786A (zh) | 采用哈希脱敏处理的区块链黑名单共享方法 | |
CN114389878B (zh) | 一种区块链分片方法及区块链网络系统 | |
CN116248289A (zh) | 基于密文属性加密的工业互联网标识解析访问控制方法 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210729 Address after: Room 834, Yingying building, No.99, Tuanjie Road, yanchuangyuan, Jiangbei new district, Nanjing, Jiangsu Province Applicant after: Nanjing Xingyun Digital Technology Co.,Ltd. Address before: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu. Applicant before: SUNING GROUP Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |