CN111212026A - 基于区块链的数据处理方法、装置及计算机设备 - Google Patents
基于区块链的数据处理方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN111212026A CN111212026A CN201911149572.5A CN201911149572A CN111212026A CN 111212026 A CN111212026 A CN 111212026A CN 201911149572 A CN201911149572 A CN 201911149572A CN 111212026 A CN111212026 A CN 111212026A
- Authority
- CN
- China
- Prior art keywords
- data
- sub
- subdata
- secondary node
- key
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种基于区块链的数据处理方法、装置及计算机设备,数据监管端及数据提供端配置有区块链的一级节点及二级节点,该方法包括:将原始数据划分为多个子数据;生成多个与多个子数据对应的子密钥;采用子密钥分别对子数据进行分别加密,生成多个密文;将密文发送至区块链的各个一级节点;判断数据监管端是否具有全部子数据的监管权限,若否,则在多个子数据中确定数据监管端具有监管权限的第一子数据;将与第一子数据对应的第一子密钥发送给数据监管端对应的二级节点,以使得数据监管端对应的二级节点能够采用第一子密钥对第一子数据对应的密文进行解密。上述方法能够将原始数据进行拆分单独上链,提高加密数据处理的灵活性。
Description
技术领域
本发明涉及区块链领域,具体涉及一种基于区块链的数据处理方法、装置及计算机设备。
背景技术
针对设置有监管机制的区块链网络中,数据提供方上传的数据需要受到数据监管方的监控,为了防止自己的敏感数据被区块链中的其它非监管方随意访问,必须将自己的数据加密上链,对需要获取数据采取授权密钥的方式,监管方在拿到密钥后可以查看在链上的密钥对应的加密数据。传统的加密授权方式,必须是整条业务数据同时被授权给监管方,这样保证了每条加密数据的整体安全性和独立性。但在实际业务需求中,针对有多个监管方且每个监管方监管权限不同的情况下,若希望不同监管方在同一条业务数据中监管不同内容,例如同一条业务数据中具有不同属性的内容,就必须将同一条业务数据拆分开来发送到区块链上,并且由于这些多条数据属于同一条业务数据且相互关联,且拆分开来还需要管理这些多条数据之间的关系,这样的操作比较复杂,给业务端的加密数据处理带来了很大的麻烦,降低了加密数据处理的灵活性。
发明内容
本发明实施例提供一种基于区块链的数据处理方法、装置、存储介质及计算机设备,用于解决现有技术中的加密数据处理的灵活性低的问题。
第一方面,本发明实施例提供了一种基于区块链的数据处理方法,所述区块链包括一级节点和二级节点,数据监管端及数据提供端均配置有对应的一级节点及二级节点,其中,所述数据监管端所对应的二级节点用于建立所述数据监管端与其所对应的一级节点之间的连接,所述数据提供端所对应的二级节点用于建立所述数据提供端与其所对应的一级节点之间的连接;所述方法应用于数据提供端,所述方法包括:
获取原始数据,将所述原始数据划分为多个子数据;
生成多个与所述多个子数据一一对应的子密钥;
采用所述多个子密钥分别对所述多个子数据中每个子数据进行加密,生成多个与所述多个子数据一一对应的密文;
通过对应的二级节点将所述多个密文发送至所述区块链的各个一级节点;
判断所述数据监管端是否具有全部所述子数据的监管权限,若否,则在所述多个子数据中确定所述数据监管端具有监管权限的第一子数据;
将所述多个子密钥中与所述第一子数据对应的第一子密钥发送给所述数据监管端对应的二级节点,以使得所述数据监管端对应的二级节点能够采用所述第一子密钥对所述第一子数据对应的密文进行解密,以获得明文并将所述明文返回给所述数据监管端。
可选地,所述将所述原始数据划分为多个子数据,包括:
判断所述原始数据是否为JSON格式;
若否,将所述原始数据转换为JSON格式;
将转换后的所述JSON格式的原始数据中的每一个键值对作为一个子数据,以将所述原始数据划分为多个所述子数据。
可选地,所述生成多个与所述多个子数据一一对应的子密钥,包括:
生成与所述原始数据对应的根密钥、初始参数及约定步进值;
基于预设的子密钥派生机制,将所述根密钥、所述初始参数及所述约定步进值进行迭代运算,生成多个与所述多个子数据一一对应的子密钥。
可选地,所述生成与所述原始数据对应的根密钥,包括:
获取用户输入的密码,以及生成随机数;
在多个预设算法中随机选择第一预设算法,基于第一预设算法将所述密码与所述随机数进行运算,得到所述根密钥,其中,所述多个预设算法中的每个预设算法对应唯一的算法标识;
将所述随机数及所述第一预设算法对应的算法标识保存在对应的二级节点内。
可选地,所述方法还包括:若所述数据监管端具有全部所述子数据的监管权限,则将生成的所述根密钥、所述初始参数及所述约定步进值发送给所述数据监管端,使得所述数据监管端能够根据所述子密钥派生机制,将所述根密钥、所述初始参数及所述约定步进值进行迭代运算,得到每个子数据对应的子密钥,并将每个所述子密钥保存在其对应的二级节点内。
第二方面,本发明实施例提供了一种一种基于区块链的数据加密装置,包括:
所述区块链包括一级节点和二级节点,数据监管端及数据提供端均配置有对应的一级节点及二级节点,其中,所述数据监管端所对应的二级节点用于建立所述数据监管端与其所对应的一级节点之间的连接,所述数据提供端所对应的二级节点用于建立所述数据提供端与其所对应的一级节点之间的连接;所述数据加密装置应用于数据提供端,所述数据加密装置包括:
划分模块,用于获取原始数据,将所述原始数据划分为多个子数据;
第一生成模块,用于生成多个与所述多个子数据一一对应的子密钥;
第二生成模块,用于采用所述多个子密钥分别对所述多个子数据中每个子数据进行加密,生成多个与所述多个子数据一一对应的密文;
第一发送模块,用于通过对应的二级节点将所述多个密文发送至所述区块链的各个一级节点;
确定模块,用于判断所述数据监管端是否具有全部所述子数据的监管权限,若否,则在所述多个子数据中确定所述数据监管端具有监管权限的第一子数据;及
第二发送模块,用于将所述多个子密钥中与所述第一子数据对应的第一子密钥发送给所述数据监管端对应的二级节点,以使得所述数据监管端对应的二级节点能够采用所述第一子密钥对所述第一子数据对应的密文进行解密,以获得明文并将所述明文返回给所述数据监管端。
可选地,所述划分模块包括:
判断单元,用于判断所述原始数据是否为JSON格式;
转换单元,用于当所述原始数据不为JSON格式时,将所述原始数据转换为JSON格式;及
划分单元,用于将转换后的所述JSON格式的原始数据中的每一个键值对作为一个子数据,以将所述原始数据划分为多个所述子数据。
可选地,所述第一生成模块包括:
生成单元,用于生成与所述原始数据对应的根密钥、初始参数及约定步进值;及
第一运算单元,用于基于预设的子密钥派生机制,将所述根密钥、所述初始参数及所述约定步进值进行迭代运算,生成多个与所述多个子数据一一对应的子密钥。
第三方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述方法。
第四方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,所述程序指令被处理器加载并执行时实现上述方法。
可以理解,本发明实施例通过在实现数据加密时,通过根据预设规则将所述原始数据划分为不同子数据,然后生出多个子密钥,使用所述子密钥对多个所述子数据进行加密,以实现对一条原始数据的多个子数据进行分开加密,从而实现对同一条业务数据的多个子数据使用对应的子密钥单独解密,进一步实现对同一条业务数据的不同子数据实现单独访问,相对于传统技术,在同一条业务数据中,若仅希望监管端只能访问部分内容的需求而必须将数据进行拆分以单独上链的处理方式,可以大大提高加密数据处理的效率和访问的便捷性。
除此之外,本发明设置二级节点对接一级节点与数据监管端及数据提供端,使得数据监管端及数据提供端仅需要通过节点对接区块链,这种对接方式降低了数据监管端及数据提供端对应的对接区块链的改造难度,节省了实施的时间和人力,同时,数据监管端及数据提供端均不直接与区块链的一级节点对接,能够进一步保证一级节点内保存的数据的安全性。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为本发明实施例提供的一种基于区块链的数据处理方法的流程图;
图2为本发明实施例提供的一种数据加密装置的示意框图;
图3为本发明实施例提供的一种计算机设备的示意框图。
具体实施例
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本发明实施例提供一种基于区块链的数据处理方法,其中,所述区块链包括一级节点和二级节点,数据监管端及数据提供端均配置有对应的一级节点及二级节点,其中,数据监管端所配置的二级节点用于建立数据监管端与其所配置的一级节点之间的连接,数据提供端所配置的二级节点用于建立数据提供端与其所配置的一级节点之间的连接。
本发明实施中的区块链,具体可指一个各节点通过共识机制达成的、具有分布式数据存储结构的P2P网络***,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。本领域的技术人员熟知,由于区块链***在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,因此区块链***有着其他中心化数据库***所法比拟的保证数据安全、防攻击篡改的特性。由此可知,在本说明书所提供的实施例中,由数据提供端提供的、被该区块链的一级节点收录的“信息”不会被攻击或篡改,从而保证了监管的真实与公正性。
本发明实施例中区块链的一级节点为存储区块链上的链上数据的电子设备,例如,平板电脑、个人计算机(Personal Computer,PC)或者其他智能设备等,区块链的二级节点为用于建立数据监管端/数据提供端与一级节点之间的连接以及存储密钥的服务器或者终端。
本发明实施例中的数据监管端为信息监管中履行监管职责的机构所在的终端,本方案中提供的实施例的数据提供端具体可以为信息监管中的被监管终端,也可为与被监管终端发生数据连接的其他终端,终端例如可以为智能手机、平板电脑、个人计算机(Personal Computer,PC)或者其他智能设备等,数据提供端提供的“信息”即为被监管的对象信息数据。
在本发明实施例中,接入区块链的数据监管端或者数据提供端可以为多个,每个接入区块链的数据监管端或者数据提供端配置有一个对应的独立的二级节点,每个接入区块链的数据监管端或者数据提供端可以配置独立的一级节点,也可以是多个数据监管端或者数据提供端共用一个节点。
在本发明实施例中,中央财政部***(Public-Private-Partnership,PPP)及省级财政部***为数据监管端,各个社会资本方、金融机构、项目公司、中介机构、股东方***为不同的数据提供端。
在本发明实施例中,区块链还包括管理节点,区块链的管理节点会通过CA数字证书对各个二级节点进行管理,验证其合法性。当二级节点连入区块链时,会校验二级节点的CA数字证书的合法性,如果合法则建立二级节点与一级节点之间的连接,在保持连接的时间内不再对CA数字证书进行校验。如果二级节点断开与一级节点的连接,再次请求连接的时候就需要对CA数字证书的合法性进行校验。其中,CA数字证书拥有一个证书(内含公钥)和私钥,通过验证CA数字证书的签字从而信任CA数字证书对应的二级节点。
在本发明实施例中,数据处理方法以数据提供端为执行主体,数据处理方法包括:
步骤S01:获取原始数据,将原始数据划分为多个子数据。
步骤S02:生成多个与多个子数据一一对应的子密钥。
步骤S03:采用多个子密钥分别对多个子数据中每个子数据进行加密,生成多个与多个子数据一一对应的密文。
步骤S04:通过对应的二级节点将多个密文发送至区块链的各个一级节点,使得各个一级节点保存密文。
步骤S05:判断数据监管端是否具有全部子数据的监管权限,若数据监管端没有具有全部子数据的监管权限,则在子数据中确定第一子数据,第一子数据为数据监管端具有监管权限的数据;
步骤S06:将多个子密钥中与第一子数据对应的第一子密钥发送给数据监管端对应的二级节点,以使得数据监管端对应的二级节点能够采用第一子密钥对第一子数据对应的密文进行解密,以获得明文并将明文返回给数据监管端。
可以理解,本发明实施例通过在实现数据加密时,通过根据预设规则将原始数据划分为不同子数据,然后生出多个子密钥,使用子密钥对多个子数据进行加密,以实现对一条原始数据的多个子数据进行分开加密,从而实现对同一条业务数据的多个子数据使用对应的子密钥单独解密,进一步实现对同一条业务数据的不同子数据实现单独访问,相对于传统技术,在同一条业务数据中,若仅希望监管端只能访问部分内容的需求而必须将数据进行拆分以单独上链的处理方式,可以大大提高加密数据处理的效率和访问的便捷性。
除此之外,本发明设置二级节点对接一级节点与数据监管端及数据提供端,使得数据监管端及数据提供端仅需要通过节点对接区块链,这种对接方式降低了数据监管端及数据提供端对应的对接区块链的改造难度,节省了实施的时间和人力,同时,数据监管端及数据提供端均不直接与区块链的一级节点对接,能够进一步保证一级节点内保存的数据的安全性。
下面结合附图1,对本发明实施例提供的一种基于区块链的数据处理方法具体实现方式进行更加详尽的说明。
首先,执行步骤S01:获取原始数据,将原始数据划分为多个子数据。
具体地,在本实施方式中,原始数据包括但不限于项目名称、项目类型、项目金额、项目可行性报告、环评报告、物有所值评估报告等项目过程中产生的数据等。
进一步地,步骤S01:将原始数据划分为多个子数据,具体可以包括:
步骤S011:判断原始数据是否为JSON格式;
步骤S012:若否,将原始数据转换为JSON格式;
步骤S013:将转换后的JSON格式的原始数据中的每一个键值对作为一个子数据,以将原始数据划分为多个子数据。
进一步地,若原始数据采用JSON格式,可以根据JSON格式中的键值对将原始数据拆分为不同的部分以得到不同的子数据,也就是将JSON格式中的每一个键值对作为一个子数据。若原始数据不是JSON格式,则将原始数据转换成键值对的格式,也就是将原始数据中的对象作为Key,将对象的值或者属性作为Value。例如,若原始数据为数组格式,将此数据的数组格式转化成JSON对象后,Key值是数组中的索引,Value是数组对应的值。将待加密数据转换成键值对后,以每一个键值对作为一个子数据,将待加密数据划分为多个子数据以进一步通过对不同子数据的加密实现对子数据对应的数据的灵活授权。划分子数据的方式可以是根据数据的属性来划分,比如,将同一个业务属性的数据采用JSON的格式,对于JSON的每一个键值对(也就是Key-Value对)作为一个子数据(英文为Field)。
需要知道的是,子数据是指使用一个密钥进行加密以进行独立授权的数据范围,比如说项目名称和货单价两列数据可以分别为一个子数据。其中,JSON,英文为JavaScriptObjectNotation,JS对象简谱,是一种轻量级的数据交换格式,JSON数据的书写格式是:名称/值对。
然后,执行步骤S02:生成多个与多个子数据一一对应的子密钥。
具体地,步骤S02:生成多个与多个子数据一一对应的子密钥,具体可以包括:
步骤S021:生成与原始数据对应的根密钥、初始参数及约定步进值;
具体地,初始参数可以是数据提供端内部的随机数生成器即时产生的具有固定长度的随机数,例如342,初始参数及约定步进值可以是预先设置的,也可以是如初始参数一样即时生成。
步骤S022:基于预设的子密钥派生机制,将根密钥、初始参数及约定步进值进行迭代运算,生成多个与多个子数据一一对应的子密钥。
具体地,在本申请实施例中,将根密钥、初始参数及约定步进值进行迭代运算,生成多个与多个子数据一一对应的子密钥的过程具体为:将根密钥及初始参数代入到预设的第一函数中,得到第一子密钥,同时将初始参数与约定步进值做相加运算,得到第一变量;然后再将根密钥及第一变量代入到预设的第一函数中,得到第二子密钥,同时将第一变量与约定步进值做相加运算,得到第二变量;然后再将根密钥及第二变量代入到预设的第一函数中,得到第三子密钥,如此反复,直到生成预设数量的子密钥。
举例来说,当子数据的数量为3时,计算Key1=BootKey+f(V0),其中,BootKey为根密钥,V0为初始参数,进而得到第一子密钥Key1;接着,计算V1=V0+StepFactor,其中,StepFactor为约定步进值,得到第一变量V1,计算Key2=BootKey+f(V1),得到第二子密钥Key2;接着,计算V2=V1+StepFactor,得到第一变量V2,计算Key3=BootKey+f(V2),得到第三子密钥Key3。
更进一步地,步骤S021:生成与原始数据对应的根密钥,具体可以包括:
步骤S0211:获取用户输入的密码,以及生成随机数;
密码可以通过用户可以在可触摸显示屏上进行按压或者点击,或者通过物理键盘进行输入得到,随机数通过数据提供端内部的随机数生成单元生成。
在本发明实施方式中,可以是先获取用户输入的密码,再生成随机数,或者,先生成随机数再获取用户输入的密码,本发明对此不做限定。
步骤S0212:在多个预设算法中随机选择第一预设算法,基于第一预设算法将密码与随机数进行运算,得到根密钥,其中,多个预设算法中的每个预设算法对应唯一的算法标识;
多个预设算法例如可以包括但不限于KDF(Key Derivation Function,密钥导出算法)算法、bcrypt加密算法、Blowfish算法、DES算法、DESede算法、HmacMD5算法或HmacSHA1算法等,每种算法对应一个唯一的算法标识,例如1,2,3等等,将用户输入的密码及随机数作为预设算法的输入数据,进而得到根密钥。以KDF算法为第一预算法为例,计算BootKey=PBKDF2(Password,Salt,it),其中Password为用户输入的密码,Salt为内部产生的随机数,it为迭代次数,迭代次数可以根据用户需求指定。
步骤S0213:将随机数及第一预设算法对应的算法标识保存在对应的二级节点内。
进一步地,数据提供端在将生成的子密钥发送给对应具有监管权限的数据监管端之后,数据提供端还会删除计算得到的第一根密钥。
当数据提供端自身需要查询原始数据中的一个或者多个子数据时,数据提供端从其所配置的二级节点获取需要查询的子数据对应的密文,然后进行解密,解密的过程包括:生成提示信息,以提示用户输入对应的密码,该密码是用户在上传对应的原始数据时输入的密码,根据存储的第一预设算法对应的算法标识确定在多个预设算法中确定第一预设算法,然后将用户输入的密码、存储的随机数作为第一预设算法的输入数据,得到根密钥,进而再通过根密钥运算得到对应的子密钥,通过子密钥进行解密,得到对应的明文,即子数据。
可以理解,由于根密钥是整条原始数据密钥体系建立的根本,存储根密钥会带来根密钥的安全性保护隐患,增加安全风险。因此,本发明不直接存储根密钥,而是存储生成根密钥的参数(例如随机数)以及算法标识,会使得整个***的安全性大大提高。攻击者无法窃取根密钥,也就无法破解整个密钥体系中的其它密钥。同时,数据提供端生成的二级节点无法保存全部的子密钥等信息,可以减少对存储空间的使用。除此之外,本发明通过根据用户的输入密码作为根密钥的生成参数,增加的生成根密钥的灵活性及安全性。
接着,执行步骤S03:采用多个子密钥分别对多个子数据中每个子数据进行加密,生成多个与多个子数据一一对应的密文。
具体地,举例来说,若多个子数据分别为项目名称、项目金额及企业名称,则可以使用Key1对项目名称进行加密,因此使用Key1可以对项目名称进行单独访问;使用Key2对项目金额进行加密,因此使用Key2可以对项目金额进行单独访问,使用Key3对企业名称进行加密,因此使用Key3可以对企业名称进行单独访问,从而对不同的子数据使用不同的子密钥分别对应加密,进而实现对同一条业务数据的不同子数据使用单独的密钥进行单独授权和访问。
接着,执行步骤S04:通过对应的二级节点将多个密文发送至区块链的各个一级节点,区块链的各个一级节点接收到密文后将密文保存。
更具体地,每个一级节点保存密文时,会将不同密文分别建立不同的索引,以使得数据监管端及数据提供端均能够根据不同的索引查询到对应的密文。
接着,执行步骤S05:判断数据监管端是否具有全部子数据的监管权限,若否,则在多个子数据中确定数据监管端具有监管权限的第一子数据。
在本发明实施方式中,数据监管端对子数据的监管权限可以是通过用户设定的,例如,数据提供端将原始数据划分为多个子数据后,将各个子数据在显示界面上显示,供用户查看和选择每个数据监管端要授权的子数据。
进一步地,数据处理方法还包括:若数据监管端具有全部子数据的监管权限,则将生成的根密钥、初始参数及约定步进值发送给数据监管端,使得数据监管端能够根据子密钥派生机制,将根密钥、初始参数及约定步进值进行迭代运算,得到每个子数据对应的子密钥并将每个子数据对应的子密钥保存在其对应的二级节点内,然后删除根密钥,其中,数据监管端及数据提供端均配置有子密钥派生机制对应的算法。
可以理解,若数据监管端具有全部子数据的监管权限,则将生成的根密钥、初始参数及约定步进值发送给数据监管端对应的二级节点,使得对应的数据监管端能够自身根据根密钥、初始参数及约定步进值得到每个子数据对应的子密钥,从而获得每个子数据的明文。无需数据提供端将每个子数据对应的子密钥都发送给数据监管端对应的二级节点,以减少通信网络的数据传输负载及各个二级节点的存储空间的使用。
接着,执行步骤S06:将多个子密钥中与第一子数据对应的第一子密钥发送给数据监管端对应的二级节点,以使得数据监管端对应的二级节点能够采用第一子密钥对第一子数据对应的密文进行解密获得明文并将明文返回给数据监管端。
进一步的,为了更进一步提高安全性,在数据提供端将生成的根密钥、初始参数及约定步进值发送给数据监管端对应的二级节点之前,或者,将多个子密钥中与第一子数据对应的第一子密钥发送给数据监管端所配置的二级节点之前,数据监管端对应的二级节点以及数据提供端对应的二级节点还会分别对数据监管端及数据提供端进行验证,其中,数据提供端对应的二级节点对数据提供端进行验证的具体过程包括:数据提供端对应的二级节点判断数据提供端是否在合法期限内,若否,则向数据提供端发送令牌验证请求,数据提供端对应的二级节点接收数据提供端的token(令牌),并判断数据提供端的token(令牌)是否合法,若数据提供端的token(令牌)合法,则确定数据提供端通过验证;同样的,数据监管端对应的二级节点对数据监管端进行验证具体过程包括:数据监管端对应的二级节点判断数据监管端是否在合法期限内,若否,向数据监管端发送令牌验证请求,数据监管端对应的二级节点接收数据监管端的token(令牌),并判断数据监管端的token(令牌)是否合法,若数据监管端的token(令牌)合法,则确定数据监管端通过验证。当数据提供端及数据监管端的均通过验证后,数据提供端才将生成的根密钥、初始参数及约定步进值发送给数据监管端对应的二级节点,或者将多个子密钥中与第一子数据对应的第一子密钥发送给数据监管端所配置的二级节点。
需要说明的是,上述各个实施例的数据加密方法,可以根据需要将不同实施例中包含的技术特征重新进行组合,以获取组合后的实施方案,但都在本申请要求的保护范围之内。
请参阅附图2,本发明提供一种基于区块链的数据加密装置1,包括:
区块链包括一级节点和二级节点,数据监管端及数据提供端均配置有对应的一级节点及二级节点,其中,数据监管端所对应的二级节点用于建立数据监管端与其所对应的一级节点之间的连接,数据提供端所对应的二级节点用于建立数据提供端与其所对应的一级节点之间的连接;数据加密装置应用于数据提供端,数据加密装置1包括:
划分模块11,用于获取原始数据,将原始数据划分为多个子数据;
第一生成模块12,用于生成多个与多个子数据一一对应的子密钥;
第二生成模块13,用于采用多个子密钥分别对多个子数据中每个子数据进行加密,生成多个与多个子数据一一对应的密文;
第一发送模块14,用于通过对应的二级节点将多个密文发送至区块链的各个一级节点;
确定模块15,用于判断数据监管端是否具有全部子数据的监管权限,若否,则在多个子数据中确定数据监管端具有监管权限的第一子数据;及
第二发送模块16,用于将多个子密钥中与第一子数据对应的第一子密钥发送给数据监管端对应的二级节点,以使得数据监管端对应的二级节点能够采用第一子密钥对第一子数据对应的密文进行解密,以获得明文并将明文返回给数据监管端。
进一步地,划分模块11包括:
判断单元,用于判断原始数据是否为JSON格式;
转换单元,用于当原始数据不为JSON格式时,将原始数据转换为JSON格式;及
划分单元,用于将转换后的JSON格式的原始数据中的每一个键值对作为一个子数据,以将原始数据划分为多个子数据。
进一步地,第一生成模块12包括:
生成单元,用于生成与原始数据对应的根密钥、初始参数及约定步进值;及
第一运算单元,用于基于预设的子密钥派生机制,将根密钥、初始参数及约定步进值进行迭代运算,生成多个与多个子数据一一对应的子密钥。
进一步地,生成单元包括:
获取子单元,用于获取用户输入的密码,以及生成随机数;
运算子单元,用于在多个预设算法中随机选择第一预设算法,基于第一预设算法将密码与随机数进行运算,得到根密钥,其中,多个预设算法中的每个预设算法对应唯一的算法标识;及
保存子单元,用于将随机数及第一预设算法对应的算法标识保存在对应的二级节点内。
可选地,数据加密装置1还包括:第三发送模块,用于当数据监管端具有全部子数据的监管权限时,将生成的根密钥、初始参数及约定步进值发送给数据监管端,使得数据监管端能够根据子密钥派生机制,将根密钥、初始参数及约定步进值进行迭代运算,得到每个子数据对应的子密钥,并将每个子密钥保存在其对应的二级节点内。
本发明实施例提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行实现实施例中的数据处理方法。
请参阅附图3,本发明实施例提供了一种计算机设备,该实施例的计算机设备50包括:处理器51、存储器52以及存储在存储器52中并可在处理器51上运行的计算机程序53,该计算机程序53被处理器51执行时实现实施例中的基于区块链的数据处理方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器51执行时实现实施例中数据处理装置1中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备50可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备50可包括但不仅限于处理器51、存储器52。本领域技术人员可以理解,图3仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以是计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。存储器52也可以是计算机设备50的外部存储设备,例如计算机设备50上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器52还可以既包括计算机设备50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及计算机设备所需的其它程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种基于区块链的数据处理方法,其特征在于,所述区块链包括一级节点和二级节点,数据监管端及数据提供端均配置有对应的一级节点及二级节点,其中,所述数据监管端所对应的二级节点用于建立所述数据监管端与其所对应的一级节点之间的连接,所述数据提供端所对应的二级节点用于建立所述数据提供端与其所对应的一级节点之间的连接;所述方法应用于数据提供端,所述方法包括:
获取原始数据,将所述原始数据划分为多个子数据;
生成多个与所述多个子数据一一对应的子密钥;
采用所述多个子密钥分别对所述多个子数据中每个子数据进行加密,生成多个与所述多个子数据一一对应的密文;
通过对应的二级节点将所述多个密文发送至所述区块链的各个一级节点;
判断所述数据监管端是否具有全部所述子数据的监管权限,若否,则在所述多个子数据中确定所述数据监管端具有监管权限的第一子数据;
将所述多个子密钥中与所述第一子数据对应的第一子密钥发送给所述数据监管端对应的二级节点,以使得所述数据监管端对应的二级节点能够采用所述第一子密钥对所述第一子数据对应的密文进行解密,以获得明文并将所述明文返回给所述数据监管端。
2.如权利要求1所述的方法,其特征在于,所述将所述原始数据划分为多个子数据,包括:
判断所述原始数据是否为JSON格式;
若否,将所述原始数据转换为JSON格式;
将转换后的所述JSON格式的原始数据中的每一个键值对作为一个子数据,以将所述原始数据划分为多个所述子数据。
3.如权利要求1所述的方法,其特征在于,所述生成多个与所述多个子数据一一对应的子密钥,包括:
生成与所述原始数据对应的根密钥、初始参数及约定步进值;
基于预设的子密钥派生机制,将所述根密钥、所述初始参数及所述约定步进值进行迭代运算,生成多个与所述多个子数据一一对应的子密钥。
4.如权利要求3所述的方法,其特征在于,所述生成与所述原始数据对应的根密钥,包括:
获取用户输入的密码,以及生成随机数;
在多个预设算法中随机选择第一预设算法,基于所述第一预设算法将所述密码与所述随机数进行运算,得到所述根密钥,其中,所述多个预设算法中的每个预设算法对应唯一的算法标识;
将所述随机数及所述第一预设算法对应的算法标识保存在对应的二级节点内。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:若所述数据监管端具有全部所述子数据的监管权限,则将生成的所述根密钥、所述初始参数及所述约定步进值发送给所述数据监管端,使得所述数据监管端能够根据所述子密钥派生机制,将所述根密钥、所述初始参数及所述约定步进值进行迭代运算,得到每个子数据对应的子密钥,并将每个所述子密钥保存在其对应的二级节点内。
6.一种基于区块链的数据加密装置,其特征在于,所述区块链包括一级节点和二级节点,数据监管端及数据提供端均配置有对应的一级节点及二级节点,其中,所述数据监管端所对应的二级节点用于建立所述数据监管端与其所对应的一级节点之间的连接,所述数据提供端所对应的二级节点用于建立所述数据提供端与其所对应的一级节点之间的连接;所述数据加密装置应用于数据提供端,所述数据加密装置包括:
划分模块,用于获取原始数据,将所述原始数据划分为多个子数据;
第一生成模块,用于生成多个与所述多个子数据一一对应的子密钥;
第二生成模块,用于采用所述多个子密钥分别对所述多个子数据中每个子数据进行加密,生成多个与所述多个子数据一一对应的密文;
第一发送模块,用于通过对应的二级节点将所述多个密文发送至所述区块链的各个一级节点;
确定模块,用于判断所述数据监管端是否具有全部所述子数据的监管权限,若否,则在所述多个子数据中确定所述数据监管端具有监管权限的第一子数据;及
第二发送模块,用于将所述多个子密钥中与所述第一子数据对应的第一子密钥发送给所述数据监管端对应的二级节点,以使得所述数据监管端对应的二级节点能够采用所述第一子密钥对所述第一子数据对应的密文进行解密,以获得明文并将所述明文返回给所述数据监管端。
7.如权利要求6所述的方法,其特征在于,所述划分模块包括:
判断单元,用于判断所述原始数据是否为JSON格式;
转换单元,用于当所述原始数据不为JSON格式时,将所述原始数据转换为JSON格式;及
划分单元,用于将转换后的所述JSON格式的原始数据中的每一个键值对作为一个子数据,以将所述原始数据划分为多个所述子数据。
8.如权利要求6所述的方法,其特征在于,所述第一生成模块包括:
生成单元,用于生成与所述原始数据对应的根密钥、初始参数及约定步进值;及
第一运算单元,用于基于预设的子密钥派生机制,将所述根密钥、所述初始参数及所述约定步进值进行迭代运算,生成多个与所述多个子数据一一对应的子密钥。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任意一项所述的方法。
10.一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于:所述程序指令被处理器加载并执行时实现权利要求1至5任意一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149572.5A CN111212026A (zh) | 2019-11-21 | 2019-11-21 | 基于区块链的数据处理方法、装置及计算机设备 |
PCT/CN2020/087739 WO2021098152A1 (zh) | 2019-11-21 | 2020-04-29 | 基于区块链的数据处理方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911149572.5A CN111212026A (zh) | 2019-11-21 | 2019-11-21 | 基于区块链的数据处理方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111212026A true CN111212026A (zh) | 2020-05-29 |
Family
ID=70788016
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911149572.5A Pending CN111212026A (zh) | 2019-11-21 | 2019-11-21 | 基于区块链的数据处理方法、装置及计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111212026A (zh) |
WO (1) | WO2021098152A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021098152A1 (zh) * | 2019-11-21 | 2021-05-27 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置及计算机设备 |
CN113660270A (zh) * | 2021-08-17 | 2021-11-16 | 区块动力(广州)科技有限公司 | 一种区块链交易处理及其权限管理方法 |
WO2022068362A1 (zh) * | 2020-09-29 | 2022-04-07 | 深圳壹账通智能科技有限公司 | 一种基于区块链的信息处理方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6917684B1 (en) * | 1999-08-31 | 2005-07-12 | Matsushita Electric Industrial Co., Ltd. | Method of encryption and decryption with block number dependant key sets, each set having a different number of keys |
CN110061840A (zh) * | 2019-03-12 | 2019-07-26 | 平安科技(深圳)有限公司 | 数据加密方法、装置、计算机设备及存储介质 |
WO2019174430A1 (zh) * | 2018-03-14 | 2019-09-19 | 郑杰骞 | 区块链数据处理方法、管理端、用户端、转换装置及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10114969B1 (en) * | 2015-08-04 | 2018-10-30 | Jordan White Chaney | Ultra-secure blockchain-based electronic information transfer system |
CN109639753B (zh) * | 2018-10-26 | 2021-08-17 | 众安信息技术服务有限公司 | 一种基于区块链的数据共享方法及*** |
CN110083372B (zh) * | 2019-03-07 | 2023-06-16 | 上海七印信息科技有限公司 | 一种区块链数据版本升级方法 |
CN109977697A (zh) * | 2019-04-03 | 2019-07-05 | 陕西医链区块链集团有限公司 | 一种区块链的数据授权方法 |
CN111212026A (zh) * | 2019-11-21 | 2020-05-29 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置及计算机设备 |
-
2019
- 2019-11-21 CN CN201911149572.5A patent/CN111212026A/zh active Pending
-
2020
- 2020-04-29 WO PCT/CN2020/087739 patent/WO2021098152A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6917684B1 (en) * | 1999-08-31 | 2005-07-12 | Matsushita Electric Industrial Co., Ltd. | Method of encryption and decryption with block number dependant key sets, each set having a different number of keys |
WO2019174430A1 (zh) * | 2018-03-14 | 2019-09-19 | 郑杰骞 | 区块链数据处理方法、管理端、用户端、转换装置及介质 |
CN110061840A (zh) * | 2019-03-12 | 2019-07-26 | 平安科技(深圳)有限公司 | 数据加密方法、装置、计算机设备及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021098152A1 (zh) * | 2019-11-21 | 2021-05-27 | 深圳壹账通智能科技有限公司 | 基于区块链的数据处理方法、装置及计算机设备 |
WO2022068362A1 (zh) * | 2020-09-29 | 2022-04-07 | 深圳壹账通智能科技有限公司 | 一种基于区块链的信息处理方法、装置、设备及介质 |
CN113660270A (zh) * | 2021-08-17 | 2021-11-16 | 区块动力(广州)科技有限公司 | 一种区块链交易处理及其权限管理方法 |
CN113660270B (zh) * | 2021-08-17 | 2024-02-06 | 区块动力(广州)科技有限公司 | 一种区块链交易处理及其权限管理方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2021098152A1 (zh) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102467596B1 (ko) | 블록 체인 구현 방법 및 시스템 | |
US20200084027A1 (en) | Systems and methods for encryption of data on a blockchain | |
US20190305938A1 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
CN110061845A (zh) | 区块链数据加密方法、装置、计算机设备及存储介质 | |
CN111130757A (zh) | 一种基于区块链的多云cp-abe访问控制方法 | |
CN109067528A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN110881063A (zh) | 一种隐私数据的存储方法、装置、设备及介质 | |
CN101815091A (zh) | 密码提供设备、密码认证***和密码认证方法 | |
CN111131336B (zh) | 多方授权场景下的资源访问方法、装置、设备及存储介质 | |
CN108632385B (zh) | 基于时间序列的多叉树数据索引结构云存储隐私保护方法 | |
CN109347625A (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN111212026A (zh) | 基于区块链的数据处理方法、装置及计算机设备 | |
Yan et al. | Integrity audit of shared cloud data with identity tracking | |
CN114584306B (zh) | 一种数据处理方法和相关装置 | |
CN109981287A (zh) | 一种代码签名方法及其存储介质 | |
CN117240625B (zh) | 一种涉及防篡改的数据处理方法、装置及电子设备 | |
CN115495768A (zh) | 基于区块链及多方安全计算的涉密信息处理方法及*** | |
US11676111B1 (en) | Apparatuses and methods for determining and processing dormant user data in a job resume immutable sequential listing | |
CN113411187A (zh) | 身份认证方法和***、存储介质及处理器 | |
Junghanns et al. | Engineering of secure multi-cloud storage | |
Yang et al. | Protecting personal sensitive data security in the cloud with blockchain | |
CN116827821B (zh) | 基于区块链云应用程序性能监控方法 | |
CN109257381A (zh) | 一种密钥管理方法、***及电子设备 | |
Salem et al. | An efficient privacy preserving public auditing mechanism for secure cloud storage | |
Neela et al. | A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200529 |
|
RJ01 | Rejection of invention patent application after publication |