CN110287724A - 数据存储及验证方法和装置 - Google Patents
数据存储及验证方法和装置 Download PDFInfo
- Publication number
- CN110287724A CN110287724A CN201910434566.8A CN201910434566A CN110287724A CN 110287724 A CN110287724 A CN 110287724A CN 201910434566 A CN201910434566 A CN 201910434566A CN 110287724 A CN110287724 A CN 110287724A
- Authority
- CN
- China
- Prior art keywords
- data
- json
- node
- privacy
- terminal
- 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.)
- Granted
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/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/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种数据存储及验证方法、装置、计算机设备和存储介质,该方法应用于第一终端,包括:获取隐私数据,确定隐私数据的数据标识;将数据标识广播至区块链,记录数据标识在区块链中的存储地址;当接收到第二终端发送的对隐私数据的查询请求时,获取隐私数据对应数据标识在区块链中的存储地址;将隐私数据及对应数据标识的存储地址返回至第二终端,使第二终端重新确定隐私数据的数据标识,根据存储地址在区块链中查询相应的数据标识,通过比对查询到的数据标识与重新确定的数据标识对隐私数据进行验证。本申请提供的方案可以在能够防止数据被篡改的情况下对其隐私进行保护。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据存储及验证方法、装置、计算机设备和存储介质。
背景技术
区块链技术凭借其去中心化的技术优势,得到越来越广泛的应用。区块链包括多个区块节点。经过验证并发布至区块链的数据会得到永久存储,除非能够同时控制区块链中超过半数的区块节点,否则单个区块节点上对区块链上数据的修改是无效的,因此区块链技术可以防止数据被篡改,提高数据可靠性。
然而,区块链技术暴露的数据隐私保护问题也逐渐受到关注。区块链技术采用分布式的架构体系,要求区块链上的数据必须公开透明,使得数据的隐私泄露风险增加。
发明内容
基于此,有必要针对区块链中数据隐私泄露风险高的技术问题,提供一种数据存储及验证方法、装置、计算机设备和存储介质。
一种数据存储及验证方法,应用于第一终端,包括:获取隐私数据,确定所述隐私数据的数据标识;将所述数据标识广播至区块链,记录所述数据标识在区块链中的存储地址;当接收到第二终端发送的对所述隐私数据的查询请求时,获取所述隐私数据对应数据标识在所述区块链中的存储地址;将所述隐私数据及对应数据标识的存储地址返回至所述第二终端,使所述第二终端重新确定所述隐私数据的数据标识,根据所述存储地址在所述区块链中查询相应的数据标识,通过比对查询到的数据标识与重新确定的数据标识对所述隐私数据进行验证。
在一个实施例中,所述隐私数据包括隐私文本;所述确定所述隐私数据的数据标识包括:将所述隐私文本转换为JSON(JavaScript Object Notation,JS对象标记)数据;所述JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;将对应同一父节点的多个JSON节点的哈希值进行拼接,得到所述父节点对应的哈希值;将所述父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到所述JSON数据对应根节点的哈希值;将所述根节点的哈希值记作所述隐私文本的数据标识。
在一个实施例中,所述将对应同一父节点的多个JSON节点的哈希值进行拼接包括:对同一层级的多个JSON节点进行排序;按照所述排序将对应同一父节点的多个JSON节点的哈希值进行拼接。
在一个实施例中,所述JSON节点包括有序排列的多个字符;所述对同一层级的多个JSON节点进行排序包括:确定每个JSON节点中第一顺序字符对应的字符编码;根据所述字符编码的大小对多个JSON节点进行排序;若第一顺序字符对应的字符编码相同,根据下一顺序字符对应的字符编码的大小进行排序,直至确定每个JSON节点的顺序。
在一个实施例中,所述方法还包括:确定所述JSON节点中的敏感文本;生成随机数,计算所述随机数的哈希值;将所述随机数的哈希值与包含所述敏感文本的JSON节点的哈希值拼接;基于拼接得到的哈希值替换所述JSON数据中的相应JSON节点。
在一个实施例中,所述方法还包括:以多个JSON节点之间的层级关系为连接相应JSON节点的有向边构建所述隐私文本对应的特征结构树;所述数据查询请求携带了查询条件;所述将所述隐私数据及对应的存储地址返回至所述第二终端包括:在所述特征结构树中将满足所述查询条件的JSON节点确定为目标节点;将所述目标节点的节点数据、与所述目标节点连接的更高层级的JSON节点的节点数据,以及所述目标节点同一层级的JSON节点的哈希值送至第二终端。
在一个实施例中,所述隐私数据包括隐私图片;所述确定所述隐私数据的数据标识包括:确定所述隐私图片中的隐私区域;在所述隐私图片中截取所述隐私区域对应的子图片;提取截取了所述子图片之后的隐私图片的像素特征,记作背景像素特征;提取每个所述子图片的像素特征,记作区域像素特征;将所述背景像素特征及所述区域像素特征进行融合,得到综合像素特征;将所述综合像素特征作为所述隐私图片的数据标识。
在一个实施例中,所述将所述背景像素特征及所述区域像素特征进行融合包括:根据子图片在所述隐私图片中的位置坐标对截取了所述子图片之后的隐私图片以及多个子图片进行排序;按照所述排序将子图片对应的区域像素特征进行融合。
在一个实施例中,所述方法还包括:对所述隐私图片中的隐私区域进行掩盖处理,得到背景图片;所述数据查询请求携带了图片标识或指定的一个或多个子图片的位置坐标;所述将所述隐私数据及对应数据标识的存储地址返回至所述第二终端包括:根据所述图片标识查询对应的隐私图片,记作目标图片;将所述目标图片对应的背景图片、指定了位置坐标的子图片、未指定位置坐标的子图片的像素特征,以及对应数据标识的存储地址发送至第二终端。
在一个实施例中,所述将所述数据标识广播至区块链包括:获取对所述区块链进行操作的权限证书和数字签名;基于所述数字签名对所述数据标识进行加密;将加密后的数据标识广播至区块链;所述方法还包括:当接收到所述数据查询请求时,将所述权限证书发送至所述第二终端,使所述第二终端根据所述权限证书对从所述区块链读取的数据标识进行验证解密。
一种数据查询方法,应用于第二终端,包括:向第一终端发送数据查询请求;所述数据查询请求携带了查询条件;接收所述第一终端返回的满足所述查询条件的隐私数据,以及所述隐私数据对应数据标识在所述区块链中的存储地址;根据所述存储地址在所述区块链中查询相应的数据标识;确定所述隐私数据的数据标识;通过比对查询到的数据标识与确定的数据标识对所述隐私数据进行验证。
在一个实施例中,所述隐私数据包括隐私文本;所述确定所述隐私数据的数据标识包括:将所述隐私文本转换为JSON数据;所述JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;将对应同一父节点的多个JSON节点的哈希值进行拼接,得到所述父节点对应的哈希值;将所述父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到所述JSON数据对应根节点的哈希值;将所述根节点的哈希值记作所述隐私文本的数据标识。
在一个实施例中,所述隐私数据包括隐私图片;所述确定所述隐私数据的数据标识包括:确定所述隐私图片中的隐私区域;在所述隐私图片中截取所述隐私区域对应的子图片;提取截取了所述子图片之后的隐私图片的像素特征,记作背景像素特征;提取每个所述子图片的像素特征,记作区域像素特征;将所述背景像素特征及所述区域像素特征进行融合,得到综合像素特征;将所述综合像素特征作为所述隐私图片的数据标识。
一种数据存储及验证装置,所述装置包括:数据标识确定模块,用于获取隐私数据,确定所述隐私数据的数据标识;数据标识存储模块,用于将所述数据标识广播至区块链,记录所述数据标识在区块链中的存储地址;数据查询响应模块,用于当接收到第二终端发送的对所述隐私数据的查询请求时,获取所述隐私数据对应数据标识在所述区块链中的存储地址;将所述隐私数据及对应数据标识的存储地址返回至所述第二终端,使所述第二终端重新确定所述隐私数据的数据标识,根据所述存储地址在所述区块链中查询相应的数据标识,通过比对查询到的数据标识与重新确定的数据标识对所述隐私数据进行验证。
一种数据查询装置,所述装置包括:隐私数据查询模块,用于向第一终端发送数据查询请求;所述数据查询请求携带了查询条件;接收所述第一终端返回的满足所述查询条件的隐私数据,以及所述隐私数据对应数据标识在所述区块链中的存储地址;数据标识确定模块,用于根据所述存储地址在所述区块链中查询相应的数据标识;确定所述隐私数据的数据标识;隐私数据验证模块,用于通过比对查询到的数据标识与确定的数据标识对所述隐私数据进行验证。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现本申请任意一个实施例中提供的数据存储及验证方法以及数据查询方法的步骤。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器实现本申请任意一个实施例中提供的数据存储及验证方法以及数据查询方法的步骤。
上述数据存储及验证方法、装置、计算机设备和存储介质,基于隐私数据的数据内容本身计算得到的数据标识,不仅能够唯一标识相应隐私数据,且当隐私数据发生变化时相应数据标识失去对隐私数据的唯一标识作用,从而第一终端可以利用数据标识代替隐私数据本身,仅将数据标识广播至区块链,而隐私数据本身则可以存储在本地;后续接收到第二终端发送的对隐私数据的查询请求时,可以将本地存储的隐私数据以及记录的隐私数据对应数据标识在区块链中的存储地址返回至第二终端;由此,第二终端可以根据存储地址在区块链中查询相应的数据标识;第二终端基于接收到的隐私数据可以重新确定其数据标识,通过比对查询到的数据标识与重新确定的数据标识,可以对隐私数据是否发生篡改进行验证。上述数据存储及查询的过程,由于仅将数据标识公开存储在区块链上,后续隐私数据的查询过程和返回查询结果过程均在第一终端和第二终端进行端到端传输完成,无需经过区块链集群,从而在区块链网络外完成数据查询,使得在能够防止数据被篡改的情况下对其隐私进行保护。
附图说明
图1a为一个实施例中数据存储及验证方法的应用环境图;
图1b为一个实施例中数据存储及验证方法的应用环境图;
图2为一个实施例中数据存储及验证方法的流程示意图;
图3为一个实施例中隐私文本对应特征结构树的结构示意图;
图4为一个实施例中截取了多个子图片的隐私图片的示意图;
图5为一个实施例中隐私图片对应特征结构树对应的结构示意图;
图6为一个实施例中数据查询方法的流程示意图;
图7为一个实施例中数据存储及验证装置的结构示意图;
图8为另一个实施例中数据存储及验证装置的结构示意图;
图9为一个实施例中数据查询装置的结构示意图;
图10为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1a为一个实施例中数据存储及验证方法的应用环境图。该数据存储及验证方法应用于数据存储及验证系统。该数据存储及验证系统包括终端110和区块链集群120。终端110具有接入互联网以及接入区块链网络的功能。终端110和区块链集群120通过区块链网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。区块链集群120可以由多个服务器组成的服务器集群来实现,包括多个区块节点。区块节点可通过将数据写入新区块,并将新区块加入区块链网络,完成数据存储。
终端110包括第一终端和第二终端,第一终端如110(a),第二终端如110(b)。第一终端和第二终端通过互联网连接。第一终端可运行有用于对隐私数据进行存储的应用程序(记作“数据存储应用”)。第二终端可运行有用于对隐私数据进行查询的应用程序(记作“数据查询应用”)。数据存储应用具有计算用户(以下称“存储方”)上传的隐私数据的数据标识,并将数据标识存储至区块链的功能。数据查询应用具有响应用户(以下称“查询方”)对隐私数据的查询请求,从第一终端拉取隐私数据,从区块链读取相应隐私数据的数据标识,并根据数据标识对拉取的隐私数据进行验证的功能。在一个实施例中,第一终端与第二终端可运行有相同的应用程序(记作“数据存储查询应用”)。数据存储查询应用同时具备上述数据存储应用和数据查询应用的功能。下文将以“数据存储查询应用”为例进行方案描述。上述数据存储应用、数据查询应用及数据存储查询应用分别可以独立运行,也可以以插件的形式集成在其他应用中。
在一个实施例中,如图1b所示,该数据存储及验证系统还包括应用服务器130。应用服务器130是为数据存储查询应用提供服务的平台。第一终端和第二终端也可以通过应用服务器130进行中转通信。
如图2所示,在一个实施例中,提供了一种数据存储及验证方法。本实施例主要以该方法应用于上述图1a或图1b中的第一终端110(a)来举例说明。参照图2,该数据存储及验证方法具体包括如下步骤:
S202,获取隐私数据,确定隐私数据的数据标识。
其中,隐私数据是指不当使用或未经授权被人接触或修改会不利于个人依法享有的个人隐私权的所有信息。在本实施例中,隐私数据是指需要通过区块链技术保证其可靠性,但又不期望向全部区块链用户公开的数据。隐私数据具体可以是企业隐私数据、个人隐私数据等。企业隐私数据包括交易数据、客户数据、合作伙伴信息、关键业务信息、知识产权信息等。个人隐私数据包括联系地址信息、健康状况信息、财务信息等。隐私数据的数据格式可以是文本、图片等。
数据标识是指能够唯一表征数据自身特征的信息。数据标识是基于数据内容本身生成的,从而当数据发生变化时,其对应的数据标识相应发生变化。数据标识具体可以是字符串、向量矩阵等,对其形式不作限制。
具体地,当需要基于区块链技术对隐私数据进行认证存储时,存储方可以通过第一终端上运行的数据存储查询应用获取本地存储的隐私数据,提取隐私数据的数据特征,并根据提取的数据特征生成隐私数据的数据标识。
在一个实施例中,第一终端也可通过USB(Universal Serial Bus,通用串行总线)接口连接或网络连接等通信方式从其他计算机设备处获取隐私数据。
S204,将数据标识广播至区块链,记录数据标识在区块链中的存储地址。
其中,区块链是运行区块链技术的载体和组织方式,具体可以是多个服务器构成的区块链集群。区块链技术是一种利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的互联网数据库技术。本实施例中,区块链可以是公有链、也可以是私有链、还可以是联盟链。
存储地址是指数据在区块链的存储位置信息。区块链中采用链式结构存储了多个数据区块。每个数据区块包括区块头和区块体。每个数据区块的区块头记录了当前数据区块的交易信息压缩值以及前一数据区块的交易信息压缩值,由此将多个数据区块连接形成数据长链。每个数据区块的区块体记录了具体的交易信息。在本实施例中,交易信息可以是上述隐私数据对应的数据标识等。数据标识的存储地址具体可以是记录了该数据标识的区块体对应区块头的交易信息压缩值。
具体地,第一终端在计算得到隐私数据的数据标识后,基于该数据标识广播发布至区块链。区块链中的每个区块节点基于共识机制对该数据标识进行共识认证,并在达成共识时将数据标识写入新的数据区块,将该新的数据区块添加至区块链。
需要说明的是,第一终端以及第二终端均具有对区块链中的数据进行读写操作的权限。此外,第一终端与第二终端的硬件结构可以相同,只是在功能实现具有不同的侧重,是相对而言的。在另一个实施例中,第一终端不仅可以按照上述方式触发数据存储,也可以触发数据查询;第二终端不仅可以按照下文所述方式触发数据查询,也可以触发数据存储。
在一个实施例中,第一终端也可通过数据存储查询应用将隐私数据上传至应用服务器,由应用服务器按照上述方式计算隐私数据的数据标识,并将数据标识广播至区块链。
S206,当接收到第二终端发送的对隐私数据的查询请求时,获取隐私数据对应数据标识在区块链中的存储地址。
其中,查询请求是指用于指示第一终端进行数据查询,并将查询结果返回至第二终端的数据指令。查询请求可以是第二终端基于数据存储查询应用触发的。查询请求携带了查询条件。查询条件是指能够指明期望查询某项数据的查询文本或查询语音等。比如,当用户A期望对从用户B处获取运单数据时,可以将期望查询的运单数据对应的订单号作为查询条件。
在一个实施例中,第一终端存储的每则隐私数据具有对应的数据描述信息。隐私数据可能包括多个数据项。每个数据项也具有对应的数据描述信息。数据描述信息不同于数据标识,可以是无需计算直接记录在隐私数据中的标识性信息,如文件名称、文件标题、图片编号等。查询条件具体可以包括期望查询的隐私数据及数据项的数据描述信息。
具体地,查询条件还包括期望查询的隐私数据的数据源标识。数据源标识是指当前拥有目标数据的存储方的标识,如用户账号、IP地址等。其中,目标数据是指查询方期望查询的隐私数据。当需要基于区块链技术查询隐私数据时,查询方可以通过第二终端上运行的数据存储查询应用输入查询条件。数据存储查询应用基于查询条件生成查询请求,并将查询请求发送至与查询条件中记录的数据源标识相对应的第一终端。第一终端基于数据存储查询应用查询满足查询条件的隐私数据,并获取查询到的隐私数据对应数据标识在区块链中的存储地址。
在一个实施例中,第二终端也可以将查询请求发送至应用服务器。应用服务器根据查询请求携带的数据源标识,将查询请求转发至相应第一终端。应用服务器在接收到第一终端确认响应查询请求而返回的查询应答时,查询满足查询条件的隐私数据,并获取查询到的隐私数据对应数据标识在区块链中的存储地址。
S208,将隐私数据及对应数据标识的存储地址返回至第二终端,使第二终端重新确定隐私数据的数据标识,根据存储地址在区块链中查询相应的数据标识,通过比对查询到的数据标识与重新确定的数据标识对隐私数据进行验证。
具体地,第一终端或应用服务器将查询到的隐私数据及对应数据标识的存储地址发送至第二终端。第二终端按照第一终端计算隐私数据的数据标识的相同逻辑重新计算接收到的隐私数据的数据标识。第二终端根据接收到的隐私数据对应数据标识的存储地址,在区块链中相应数据区块中读取隐私数据的数据标识。第二终端比对重新计算得到的数据标识与从区块链中读取得到的数据标识是否一致,以对接收到的隐私数据是否被篡改进行验证。若一致,表示接收到的隐私数据在第一终端将其对应的数据标识发布至区块链之后未被篡改。反之,表示隐私数据被篡改。
上述实施例中,基于隐私数据的数据内容本身计算得到的数据标识,不仅能够唯一标识相应隐私数据,且当隐私数据发生变化时相应数据标识失去对隐私数据的唯一标识作用,从而第一终端可以利用数据标识代替隐私数据本身,仅将数据标识广播至区块链,而隐私数据本身则可以记录存储在本地;后续接收到第二终端发送的对隐私数据的查询请求时,可以将本地存储的隐私数据以及记录的隐私数据对应数据标识在区块链中的存储地址返回至第二终端;由此,终端可以根据存储地址在区块链中查询相应的数据标识;第二终端基于接收到的隐私数据可以重新确定其数据标识,通过比对查询到的数据标识与重新确定的数据标识,可以对隐私数据是否发生篡改进行验证。上述数据存储及查询的过程,由于仅将数据标识公开存储在区块链上,后续隐私数据的查询过程和返回查询结果过程均在存储方和查询方进行端到端传输完成,无需经过区块链集群,从而在区块链网络外完成数据查询,使得在能够防止数据被篡改的情况下对其隐私进行保护。
在一个实施例中,隐私数据包括隐私文本;确定隐私数据的数据标识包括:将隐私文本转换为JSON数据;JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;将对应同一父节点的多个JSON节点的哈希值进行拼接,得到父节点对应的哈希值;将父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到JSON数据对应根节点的哈希值;将根节点的哈希值记作隐私文本的数据标识。
其中,隐私文本是指数据格式为文本的隐私数据。JSON数据是指JSON格式的数据。JSON是一种轻量级且直观的数据传输格式。JSON数据可以是由隐私文本转换得到。JSON数据以键值对Key-Value的方式记录了隐私文本的文本信息。例如,JOSN数据可以是
{“person1”:{“id”:”4628912”,“name”:“zs”,“salary”:“6000”}
“person2”:{“id”:”4628913”,“name”:“ls”,“salary”:“150000”}}
JSON数据包括多层级的JSON节点。每个JSON节点为一个键值对。每个键值对包括键名Key和键值Value两个属性值。一个键名可以对应一个键值或多个键值。例如,在上述举例中,JSON节点person1中键名“name”对应的键值为“zs”。当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点。当前层级JSON节点对应的下一层级JSON节点记作当前层级JSON节点的子节点。若JSON节点不存在上一层级的JSON节点,则表示该JSON节点为JSON数据的根节点。例如,上述举例中,JSON节点“id”:”4628912”、“name”:“zs”与“salary”:“6000”为同一层级的三个JSON节点,且对应同一父节点person1;换言之,“id”:”4628912”、“name”:“zs”与“salary”:“6000”为JSON节点person1的三个子节点。
JSON节点也可以是JSON数组的方式。例如,JSON数组可以是
{“person”:[{“name”:“zs”},{“name”:“ls”}],
“school”:[{“age”:“20”},{“age”:“30”},{“age”:“50”}]}
JSON数组包括多个数组元素,每个数组元素也可以是一个键值对。JSON数组中多个并列的数组元素作为一个整体与同一键名构成键值对。为了保证数组元素与键名一一对应,可以通过编号等方式为JSON数组中每个数组元素添加各自的键名。例如,上述JSON数组在添加了各自的键名后,得到的JSON数据可以是:
{“person_0”:{“name”:“zs”},“person_1”:{“name”:“ls”},
“school_0:{“age”:“20”},“school_1:{“age”:“30”},“school_2:{“age”:“50”}}
具体地,第一终端对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值。第一终端将对应同一父节点的多个JSON节点的哈希值进行拼接,对拼接结果再次进行哈希运算,得到父节点对应的哈希值。例如,上述举例中,对“id”:”4628912”、“name”:“zs”与“salary”:“6000”三个JSON节点分别进行哈希运算,得到A=Hash(“id”:”4628912”)、B=Hash(“name”:“zs”)和C=Hash(“salary”:“6000”),得到的哈希值作为子节点A、B和C;将同一个父节点person1下的所有子节点A、B和C进行拼接,得到拼接结果A||B||C;对拼接结果进行哈希运算,得到父节点person1的哈希值Hash(A||B||C)。其中,||表示拼接。
第一终端将父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到JSON数据对应根节点的哈希值。换言之,第一终端判断父节点是否还存在其对应的上一层级的JSON节点。若存在,则第一终端按照上述方式继续计算该父节点对应上一层级的JSON节点的哈希值,逐层向上追溯,直至计算得到根节点的哈希值。例如,在上述举例中,父节点person1不存在上一层级的JSON节点,从而计算得到的ROOT1=Hash(A||B||C)即为根节点的哈希值,第一终端将根节点的哈希值ROOT1=Hash(A||B||C)记作隐私文本的数据标识。
本实施例中,由于数据标识是通过对JSON数据包含的全部数据元素进行转换运算得到,即用于计算最终的数据标识的参数包括每个数据元素对应的哈希值,使得JSON数据中每个数据元素的数据特征在提炼得到JSON数据的数据标识中得以体现,从而这种计算数据标识的逻辑可以保证JSON数据与其数据标识的一一对应关系,即后续一旦JSON发生篡改,对应的数据标识与篡改之前计算得到的数据标识不一致,进而使得数据标识可以用于对相应隐私文本是否发生篡改进行验证。
在一个实施例中,将对应同一父节点的多个JSON节点的哈希值进行拼接包括:对同一层级的多个JSON节点进行排序;按照排序将对应同一父节点的多个JSON节点的哈希值进行拼接。
由于数据传输原理或JSON数据对应展示平台等的差异性原因,JSON数据中同一层级的多个JSON节点在第一终端的展示顺序,与其在第二终端的展示顺序可能不同。为了避免因为数据传输原理或展示平台差异性等原因,造成同一JSON数据在不同终端计算得到的数据标识不一致的现象,本实施例每个终端在采用相同的计算逻辑计算JSON数据的数据标识之前,按照相同排序逻辑对JSON数据中同一层级的JSON节点进行排序,再按照这种排列顺序将对应同一父节点的多个JSON节点的哈希值进行拼接。
本实施例中,在采用相同的计算逻辑计算JSON数据的数据标识之前,按照相同排序逻辑对JSON数据中同一层级的JSON节点进行排序,可以保证同一JSON数据在不同终端计算得到的数据标识一致,提高数据验证过程的可靠性。
在一个实施例中,JSON节点包括有序排列的多个字符;对同一层级的多个JSON节点进行排序包括:确定每个JSON节点中第一顺序字符对应的字符编码;根据字符编码的大小对多个JSON节点进行排序;若第一顺序字符对应的字符编码相同,根据下一顺序字符对应的字符编码的大小进行排序,直至确定每个JSON节点的顺序。
其中,每个JSON节点可以转换为一个JSON字符串。JSON字符串是指包括有序排列的多个字符的字符序列。字符可以数字、字母、符号等。例如,在上述举例中,JSON节点{“name”:“zs”}对应的字符序列为“namezs”。字符编码是指为字符编写指定的标识性编号。字符编码可以是自行为每个字符预先分配的编号,也可以是采用已有的编码逻辑,如ASCII(American Standard Code for Information Interchange:美国信息交换标准代码)等。
具体地,第一终端根据JSON节点中包含的相同顺序字符的字符编码大小对多个JSON节点进行升序或降序排序。若当前顺序字符对应的字符编码相同,则第一终端根据下一顺序字符对应的字符编码的大小进行排序,如此对JSON节点中不同顺序的字符进行遍历,直至确定每个JSON节点的顺序。例如,若按照字符的ASCII编码值对多个JSON节点进行升序排列,{“Company”:“SF”,“Group”:“Blockchain”}中两个同一层级的JSON节点,首先比较第一个字符的ASCII码值的大小,字符‘C’对应的ASCII编码值为83,字符‘G’对应的ASCII编码值87,由于字符‘C’的ASCII编码值小于字符‘G’的ASCII编码值,从而此例的排序结果为:{“Company”:“SF”,“Group”:“Blockchain”}。若第一个字符的ASCII编码值相同,则比较第二个字符的ASCII编码值,以此类推。
在另一个实施例中,为了提高排序效率,可以仅根据JSON节点中键名对应的字符编码进行排序。容易理解,还可以采用其他逻辑对JSON数据中同一层级的JSON节点进行排序,只需保证不同终端采用相同的排序逻辑即可。
本实施例中,根据字符编码对对JSON数据中同一层级的JSON节点进行排序,排序逻辑简单,不仅可以节约第一终端对JSON节点进行排序的计算资源,还可以提高排序效率,进而提高数据存储及查询效率。
在一个实施例中,上述数据存储及验证方法还包括:确定JSON节点中的敏感文本;生成随机数,计算随机数的哈希值;将随机数的哈希值与包含敏感文本的JSON节点的哈希值拼接;基于拼接得到的哈希值替换JSON数据中的相应JSON节点。
其中,敏感文本是指隐私文本中具体涉及隐私的部分内容。需要说明的是,隐私文本是指数据拥有者仅期望部分得到许可的区块链用户进行查阅的数据;而敏感文本是指数据拥有者期望全部区块链用户均不可查阅的数据。例如,当用户A期望对从用户B处获取运单数据时,若用户B并不期望将相应运单数据中敏感文本“收件人信息”暴露给用户A,可以对收件人信息进行隐藏处理,将隐藏了收件人信息的运单数据返回给用户A。
具体地,第一终端通过数据存储查询应用展示隐私文本。若用户期望对隐私文本中的敏感文本进行隐藏,存储方可以对展示的隐私文本中期望隐藏的敏感文本进行区别标记。区别标记的方式可以是在敏感文本之前或之后的至少一个位置添加一个或多个标记符号。标记符号可以是‘#’、‘&’或‘*’等。容易理解,还可以采用其他区别标记方式,对此不作限制。当存储方在对敏感文本进行区别标记后触发了对隐私数据的存储指令时,数据存储查询应用通过识别隐私文本中的标记符号,识别隐私文本中的敏感文本。
进一步地,数据存储查询应用产生一个随机数random,并对随机数random进行哈希运算,得到哈希值D=Hash(random)。数据存储查询应用计算包含敏感文本的JSON节点的哈希值,将随机数的哈希值Hash(random)与包含敏感文本的JSON节点的哈希值拼接,得到敏感文本对应的哈希值。例如,在上述举例中,若“Group”:“Blockchain”为敏感文本,则对应的哈希值E=Hash(”Group”:“Blockchain”)。将包含敏感文本的JSON节点的哈希值E与随机数的哈希值D拼接,对拼接得到的字符串进行哈希运算,得到该敏感文本的最终哈希值F=Hash(D||E),利用敏感文本对应的哈希值F替换敏感文本对应的JSON节点,后续直接基于隐藏了敏感文本的JSON数据响应第二终端发送的查询请求,达到隐藏敏感数据的效果。
本实施例中,对隐私文本中的敏感文本进一步进行深层加密,并以加密得到的密文替换该敏感文本展示在查询结果中,满足不同程度上的数据隐私保护需求。
在一个实施例中,上述数据存储及验证方法还包括:以多个JSON节点之间的层级关系为连接相应JSON节点的有向边构建隐私文本对应的特征结构树;数据查询请求携带了查询条件;将隐私数据及对应的存储地址返回至第二终端包括:在特征结构树中将满足查询条件的JSON节点确定为目标节点;将目标节点的节点数据、与目标节点连接的更高层级的JSON节点的节点数据,以及目标节点同一层级的JSON节点的哈希值送至第二终端。
其中,隐私文本的特征结构树是指采用有向边将多个JSON节点连接得到的多叉树。有向边的方向根据相连的两个JSON节点之间的层级关系确定,由子节点指向父节点。参考图3,图3为一个实施例中隐私文本对应特征结构树的结构示意图。如图3所示,每个JSON节点关联有对应的节点数据及哈希值。节点数据是指JSON节点记录的键值对的数据内容。特征结构树可以是第一终端在计算隐私数据的数据标识过程中构建的,从而不同隐私数据分别具有对应的特征结构树。
具体地,第一终端基于预存储的特征结构树响应第二终端的查询请求。查询请求携带了查询条件。第一终端根据查询条件,确定查询方期望查询的隐私数据,获取该隐私数据对应的特征结构树。如上文所述,查询条件中除了记录期望查询的隐私数据的数据描述信息,可能还记录了期望查询的具体某个数据项的数据描述信息。第一终端根据记录的数据项的数据描述信息,确定期望查询的数据项对应的JSON节点,在获取的特征结构树中将该JSON节点标记为目标节点。
进一步地,第一终端获取目标节点以及与目标节点连接的更高层级的JSON节点的节点数据,将获取的节点数据返回至第二终端。而对于与目标节点数据同一层级的其他JSON节点,由于查询方并为具有对应的查询需求,则第一终端仅将这部分JSON节点的哈希值送至第二终端即可。
本实施例中,对计算数据标识过程中,生成隐私数据对应的特征结构树;基于特征结构树响应查询方发送的数据查询请求,可以只向查询方反馈其期望查看的JSON节点的节点数据内容,特征结构树中其他JSON节点直接反馈对应的哈希值即可,由此查询方只需计算能成功算出接收到的隐私文本的数据标识所需的最少数量的JSON节点的哈希值,可以提高查询方计算数据标识的效率,进而提高数据验证效率。
在一个实施例中,隐私数据包括隐私图片;确定隐私数据的数据标识包括:确定隐私图片中的隐私区域;在隐私图片中截取隐私区域对应的子图片;提取截取了子图片之后的隐私图片的像素特征,记作背景像素特征;提取每个子图片的像素特征,记作区域像素特征;将背景像素特征及区域像素特征进行融合,得到综合像素特征;将综合像素特征作为隐私图片的数据标识。
其中,隐私图片是指数据格式为图片的隐私数据。隐私区域是指隐私图片中需要进行隐藏处理的区域。隐私区域对应的子图片是指从隐私图片的隐私区域裁剪出来的局部图片。子图片的边界形状可以是矩形、圆形等。像素特征是指图片的颜色、纹理、形状和空间关系等特征。像素特征可以是基于预训练的神经网络模型提取得到的,如支持向量机模型(Support Vector Machine,SVM)等。像素特征可以是向量序列或向量矩阵的形式,对此不做限制。
具体地,第一终端通过数据存储查询应用展示隐私图片。若存储方期望对隐私图片中的某一个或多个隐私区域进行隐藏,存储方可以对展示的隐私图片中期望隐藏的隐私区域进行区别标记。区别标记的方式可以是在隐私图片中通过绘制边框进行框取的方式或输入区域边界坐标的方式等。当存储方在对隐私区域进行区别标记后触发了对隐私图片的存储指令时,数据存储查询应用通过识别隐私图片中标记的边框或边界坐标,识别隐私图片中的隐私区域。
进一步地,第一终端在隐私图片中将隐私区域对应的局部图片截取出来,得到每个隐私区域对应的子图片。为了方便描述,将截取了全部子图片之后的隐私图片记作背景图片。第一终端提取每个子图片的像素特征以及背景图片的像素特征,并采用向量拼接等方式对提取得到的像素特征进行特征融合,将特征融合得到的综合像素特征作为隐私图片的数据标识。
本实施例中,由于数据标识是通过对隐私图片包含的子图片及背景图片的像素特征进行转换运算得到,使得隐私图片中每个图片区域的像素特征在提炼得到数据标识中得以体现,从而这种计算数据标识的逻辑可以保证隐私图片与其数据标识的一一对应关系,即后续一旦隐私图片中某个图片区域发生篡改,对应的数据标识与篡改之前计算得到数据标识不一致,进而使得数据标识可以用于对相应隐私图片是否发生篡改进行验证。
在一个实施例中,将背景像素特征及区域像素特征进行融合包括:根据子图片在隐私图片中的位置坐标对截取了子图片之后的隐私图片以及多个子图片进行排序;按照排序将子图片对应的区域像素特征进行融合。
其中,位置坐标包括多个坐标元素,如图片中某个隐私区域对应基准坐标点的参考坐标和区域面积参数等。根据图片的边界形状不同,对应的位置坐标表征形式可以不同。例如,若图片的边界形状为矩形,对应的基准坐标点参考坐标可以是图片某个顶点的像素坐标(x,y),对应的区域面积参数可以是图片宽度w和图片高度h,从而矩形图片的位置坐标的表征形式可以是(横坐标x,纵坐标y,图片宽度w、图片高度h)。若图片的边界形状为圆形,对应的参考坐标可以是子图片中心点的像素坐标(x,y),对应的区域面积参数可以是图片半径r,从而圆形图片的位置坐标的表征形式可以是(横坐标x,纵坐标y,图片半径r)。以下以矩形图片为例进行描述。
为了保证不同终端计算得到的同一隐私图片的数据标识的一致性,每个终端在将多个子图片的区域像素特征与背景图片的背景像素特征进行拼接之前,按照相同排序逻辑对背景图片以及截取得到的一个或多个子图片进行排序。
具体地,第一终端确定子图片在隐私图片中的位置坐标。例如,参考图4,图4为一个实施例中截取了多个子图片的隐私图片的示意图。假设存储方在该隐私图片中截取了四个矩形的子图片,将隐私图片左上角确定基准坐标点,根据基准坐标点确定每个子图片对应的位置坐标分别为:子图片1(0,0,399,193)、子图片2(0,548,334,174)、子图片3(636,0,234,174)和子图片4(636,297,330,173)。
进一步地,第一终端根据子图片在隐私图片中的位置坐标对多个子图片进行排序,得到子图片序列。位置坐标中每个坐标元素具有对应的排序优先级。比如,(x,y,w,h)中四个坐标元素的优先级可以是x>y>w>h。第一终端按照每个子图片对应位置坐标中最高优先级的坐标元素的大小,对多个子图片进行升序或降序排列,若最高优先级的坐标元素相同,则按照下一优先级的坐标元素进行排序,直至确定每个子图片的顺序。比如,若(x,y,w,h)中四个坐标元素的优先级为x>y>w>h,则上述举例中四个子图片排序得到子图片序列可以是:子图片1、子图片2、子图片3、子图片4。
第一终端将背景图片插入子图片序列的预设位置,以对隐私图片对应的背景图片和全部子图片进行综合排序。预设位置可以是第一顺序子图片之前,也可以是最后顺序子图片之后,还可以是预设顺序子图片之后。预设顺序可以是第一顺序等。比如,若将背景图片插入子图片序列中最后顺序子图片之后,则上述举例中综合排序后的图片序列为“子图片1、子图片2、子图片3、子图片4、背景图片”。容易理解,还可以采用其他逻辑对背景图片和子图片进行综合排序,只需保证不同终端采用相同的排序逻辑即可。
第一终端按照综合排序将子图片对应的区域像素特征及背景图片对应的背景像素特征进行融合。在另一个实施例中,第一终端对提取的像素特征进行哈希运算,从而得到每个子图片对应的哈希值以及背景图片对应的哈希值。第一终端通过将多个子图片对应的哈希值以及背景图片对应的哈希值进行拼接,可以得到隐私图片的数据标识。例如,若上述举例中,子图片1对应的哈希值为X=hash(子图片1)、子图片2对应的哈希值为Y=hash(子图片2)、子图片3对应的哈希值为Z=hash(子图片3)、子图片4对应的哈希值为U=hash(子图片4)、背景图片对应的哈希值为V=hash(背景图片),则隐私图片对应的数据标识可以是ROOT2=Hash(X||Y||Z||U||V)。
本实施例中,按照相同排序逻辑对对隐私图片对应的背景图片和子全部子图片进行综合排序,可以保证同一隐私图片在不同终端计算得到的数据标识一致,提高数据验证过程的可靠性。
在一个实施例中,上述数据存储及验证方法还包括:对隐私图片中的隐私区域进行掩盖处理,得到背景图片;数据查询请求携带了图片标识或指定的一个或多个子图片的位置坐标;将隐私数据及对应数据标识的存储地址返回至终端包括:根据图片标识查询对应的隐私图片,记作目标图片;将目标图片对应的背景图片、指定了位置坐标的子图片、未指定位置坐标的子图片的像素特征,以及对应数据标识的存储地址发送至终端。
其中,隐私图片的特征结构树是指将隐私图片的图片标识作为根节点,将每个子图片的图片标识以及背景图片的图片标识分别作为一个子节点,采用从子节点指向根节点的有向边将根节点与每个子节点连接得到的多叉树。图片标识可以是对图片的编号或数据描述信息等。参考图5,图5为一个实施例中隐私图片对应特征结构树对应的结构示意图。如图5所示,特征结构树中每个节点关联有对应的图片、像素特征或哈希值。
具体地,第一终端对隐私图片中被截取的子图片进行掩盖处理。掩盖处理方式可以是将隐私图片中隐私区域统一填充为预设颜色,如黑色、白色等。掩盖处理的方式也可以是对隐私区域内的图片内容进行模糊处理,如马赛克处理等,对此不作限制。
进一步地,第一终端基于预存储的特征结构树响应第二终端的查询请求。查询请求携带了查询条件。第一终端根据查询条件中记录的隐私图片的图片标识,确定查询方期望查询的隐私图片,记作目标图片。第一终端获取目标图片对应的特征结构树。查询条件中除了记录目标图片的图片标识,可能还记录了期望查询的具体某一个或多个子图片的位置坐标。第一终端根据指定的位置坐标,只需将目标图片对应的背景图片以及指定了位置坐标的子图片发送至第二终端。对于未指定位置坐标的子图片,由于查询方对此并无查询需求,第一终端只需将这些子图片的像素特征发送至第二终端即可。
本实施例中,根据查询请求,只向查询方反馈其期望查看的目标图片及对应子图片的图片本身,目标图片中其他子图片直接反馈对应的像素特征即可,由此查询方只需计算能成功算出接收到的隐私图片的数据标识所需的最少数量的子图片的哈希值,可以提高查询方计算数据标识的效率,进而提高数据验证效率。此外,对隐私区域进行掩盖处理,后续基于掩盖处理后的隐私图片响应查询方的查询请求,可以满足不同程度上的数据隐私保护需求。
在一个实施例中,将数据标识广播至区块链包括:获取对区块链进行操作的权限证书和数字签名;基于数字签名对数据标识进行加密;将加密后的数据标识广播至区块链;方法还包括:当接收到数据查询请求时,将权限证书发送至第二终端,使第二终端根据权限证书对从区块链读取的数据标识进行验证解密。
其中,权限证书是指存储方期望对区块链中的数据进行读写操作前从证书授权中心(CA,Certificate Authority)申请得到的数字证书。权限证书记录了为当前存储方分配的公开秘钥(public key,简称公钥)。具有权限证书的用户合法拥有权限证书中列出的公钥。权限证书具有对应的数字签名。数字签名为存储方自己拥有,可以是公钥对应的私有密钥(private key,简称私钥)。
具体地,第一终端基于当前区块链用户i对应的数字签名ski对计算得到数据标识进行加密。例如,上述实施例中隐私文本的数据标识ROOT1=Hash(A||B||C)进行数字签名,得到sig(ski,ROOT1);上述实施例中隐私图片的数据标识ROOT2=Hash(X||Y||Z||U||V)进行数字签名,得到sig(ski,ROOT2)。第一终端将加密后的数据标识广播至区块链,将当前区块链用户i对应的权限证书pki发送至第二终端。作为查询方的区块链用户j在第二终端根据权限证书pki对从区块链读取的sig(ski,ROOT)进行验证解密,得到数据标识ROOT。
本实施例中,权限证书的数字签名使得攻击者不能伪造和篡改权限证书,对数据标识进行数字签名,使得数据查询方可以对接收到的隐私数据的归属身份进行验证,进一步提高数据查询结果准确性。
如图6所示,在一个实施例中,提供了一种数据查询方法。本实施例主要以该方法应用于上述图1a或图1b中的第二终端110(b)来举例说明。参照图6,该数据查询方法具体包括如下步骤:
步骤S602,向第一终端发送数据查询请求;数据查询请求携带了查询条件。
步骤S604,接收第一终端返回的满足查询条件的隐私数据,以及隐私数据对应数据标识在区块链中的存储地址。
步骤S606,根据存储地址在区块链中查询相应的数据标识。
步骤S608,确定隐私数据的数据标识。
步骤S610,通过比对查询到的数据标识与确定的数据标识对隐私数据进行验证。
对于本实施例的具体描述可参考上文对步骤S202至步骤S208步骤的描述,在此不再赘述。
在上述实施例中,通过向第一终端索取隐私数据本身,并第一终端一并返回的隐私数据对应数据标识在区块链中的存储地址,可以在区块链中查询相应的数据标识;基于接收到的隐私数据可以确定其数据标识,通过比对查询到的数据标识与确定的数据标识,可以对隐私数据是否发生篡改进行验证。上述数据存储及查询的过程,由于仅将数据标识公开存储在区块链上,后续隐私数据的查询过程和返回查询结果过程均在区块链网络外进行,使得在能够防止数据被篡改的情况下对其隐私进行保护。
在一个实施例中,隐私数据包括隐私文本;确定隐私数据的数据标识包括:将隐私文本转换为JSON数据;JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;将对应同一父节点的多个JSON节点的哈希值进行拼接,得到父节点对应的哈希值;将父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到JSON数据对应根节点的哈希值;将根节点的哈希值记作隐私文本的数据标识。
第二终端采用与第一终端计算隐私文本的数据标识相同的计算逻辑,重新计算接收到的隐私文本的数据标识。具体的计算逻辑请参考上文对第一终端计算隐私文本的数据标识的过程描述,在此不再赘述。
在一个实施例中,隐私数据包括隐私图片;确定隐私数据的数据标识包括:确定隐私图片中的隐私区域;在隐私图片中截取隐私区域对应的子图片;提取截取了子图片之后的隐私图片的像素特征,记作背景像素特征;提取每个子图片的像素特征,记作区域像素特征;将背景像素特征及区域像素特征进行融合,得到综合像素特征;将综合像素特征作为隐私图片的数据标识。
第二终端采用与第一终端计算隐私图片的数据标识相同的计算逻辑,重新计算接收到的隐私图片的数据标识。具体的计算逻辑请参考上文对第一终端计算隐私图片的数据标识的过程描述,在此不再赘述。
图2为一个实施例中数据存储及验证方法的流程示意图。图6为一个实施例中数据查询方法的流程示意图。应该理解的是,虽然图2和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,在一个实施例中,提供了一种数据存储及验证装置700,包括:数据标识确定模块702、数据标识存储模块704和数据查询响应模块706。其中,
数据标识确定模块702,用于获取隐私数据,确定隐私数据的数据标识。
数据标识存储模块704,用于将数据标识广播至区块链,记录数据标识在区块链中的存储地址。
数据查询响应模块706,用于当接收到第二终端发送的对隐私数据的查询请求时,获取隐私数据对应数据标识在区块链中的存储地址;将隐私数据及对应数据标识的存储地址返回至第二终端,使第二终端重新确定隐私数据的数据标识,根据存储地址在区块链中查询相应的数据标识,通过比对查询到的数据标识与重新确定的数据标识对隐私数据进行验证。
在一个实施例中,隐私数据包括隐私文本;数据标识确定模块702还用于将隐私文本转换为JSON数据;JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;将对应同一父节点的多个JSON节点的哈希值进行拼接,得到父节点对应的哈希值;将父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到JSON数据对应根节点的哈希值;将根节点的哈希值记作隐私文本的数据标识。
在一个实施例中,数据标识确定模块702还用于对同一层级的多个JSON节点进行排序;按照排序将对应同一父节点的多个JSON节点的哈希值进行拼接。
在一个实施例中,JSON节点包括有序排列的多个字符;数据标识确定模块702还用于确定每个JSON节点中第一顺序字符对应的字符编码;根据字符编码的大小对多个JSON节点进行排序;若第一顺序字符对应的字符编码相同,根据下一顺序字符对应的字符编码的大小进行排序,直至确定每个JSON节点的顺序。
在一个实施例中,如图8所示,上述数据存储及验证装置700还包括敏感文本隐藏模块708,用于确定JSON节点中的敏感文本;生成随机数,计算随机数的哈希值;将随机数的哈希值与包含敏感文本的JSON节点的哈希值拼接;基于拼接得到的哈希值替换JSON数据中的相应JSON节点。
在一个实施例中,上述数据存储及验证装置700还包括特征结构提取模块710,用于以多个JSON节点之间的层级关系为连接相应JSON节点的有向边构建隐私文本对应的特征结构树;数据查询请求携带了查询条件;数据查询响应模块706还用于在特征结构树中将满足查询条件的JSON节点确定为目标节点;将目标节点的节点数据、与目标节点连接的更高层级的JSON节点的节点数据,以及目标节点同一层级的JSON节点的哈希值送至第二终端。
在一个实施例中,隐私数据包括隐私图片;数据标识确定模块702还用于确定隐私图片中的隐私区域;在隐私图片中截取隐私区域对应的子图片;提取截取了子图片之后的隐私图片的像素特征,记作背景像素特征;提取每个子图片的像素特征,记作区域像素特征;将背景像素特征及区域像素特征进行融合,得到综合像素特征;将综合像素特征作为隐私图片的数据标识。
在一个实施例中,数据标识确定模块702还用于将背景像素特征及区域像素特征进行融合包括:根据子图片在隐私图片中的位置坐标对截取了子图片之后的隐私图片以及多个子图片进行排序;按照排序将子图片对应的区域像素特征进行融合。
在一个实施例中,上述数据存储及验证装置700还包括隐私区域掩盖模块712,用于对隐私图片中的隐私区域进行掩盖处理,得到背景图片;数据查询请求携带了图片标识或指定的一个或多个子图片的位置坐标;数据查询响应模块706还用于根据图片标识查询对应的隐私图片,记作目标图片;将目标图片对应的背景图片、指定了位置坐标的子图片、未指定位置坐标的子图片的像素特征,以及对应数据标识的存储地址发送至第二终端。
在一个实施例中,数据标识存储模块704还用于获取对区块链进行操作的权限证书和数字签名;基于数字签名对数据标识进行加密;将加密后的数据标识广播至区块链;方法还包括:当接收到数据查询请求时,将权限证书发送至第二终端,使第二终端根据权限证书对从区块链读取的数据标识进行验证解密。
如图9所示,在一个实施例中,提供了一种数据查询装置900,包括:隐私数据查询模块902、数据标识确定模块904和隐私数据验证模块906。其中,
隐私数据查询模块902,用于向第一终端发送数据查询请求;数据查询请求携带了查询条件;接收第一终端返回的满足查询条件的隐私数据,以及隐私数据对应数据标识在区块链中的存储地址。
数据标识确定模块904,用于根据存储地址在区块链中查询相应的数据标识;确定隐私数据的数据标识。
隐私数据验证模块906,用于通过比对查询到的数据标识与确定的数据标识对隐私数据进行验证。
在一个实施例中,隐私数据包括隐私文本;数据标识确定模块904还用于将隐私文本转换为JSON数据;JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;将对应同一父节点的多个JSON节点的哈希值进行拼接,得到父节点对应的哈希值;将父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到JSON数据对应根节点的哈希值;将根节点的哈希值记作隐私文本的数据标识。
在一个实施例中,隐私数据包括隐私图片;数据标识确定模块904还用于确定隐私图片中的隐私区域;在隐私图片中截取隐私区域对应的子图片;提取截取了子图片之后的隐私图片的像素特征,记作背景像素特征;提取每个子图片的像素特征,记作区域像素特征;将背景像素特征及区域像素特征进行融合,得到综合像素特征;将综合像素特征作为隐私图片的数据标识。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据存储及验证方法或数据查询方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据存储及验证方法或数据查询方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据存储及验证方法及数据查询方法的步骤。此处数据存储及验证方法的步骤可以是上述各个实施例的数据存储及验证方法中的步骤。此处数据查询方法的步骤可以是上述各个实施例的数据查询方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据存储及验证方法及数据查询方法的步骤。此处数据存储及验证方法的步骤可以是上述各个实施例的数据存储及验证方法中的步骤。此处数据查询方法的步骤可以是上述各个实施例的数据查询方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种数据存储及验证方法,应用于第一终端,包括:
获取隐私数据,确定所述隐私数据的数据标识;
将所述数据标识广播至区块链,记录所述数据标识在区块链中的存储地址;
当接收到第二终端发送的对所述隐私数据的查询请求时,获取所述隐私数据对应数据标识在所述区块链中的存储地址;
将所述隐私数据及对应数据标识的存储地址返回至所述第二终端,使所述第二终端重新确定所述隐私数据的数据标识,根据所述存储地址在所述区块链中查询相应的数据标识,通过比对查询到的数据标识与重新确定的数据标识对所述隐私数据进行验证。
2.根据权利要求1所述的方法,其特征在于,所述隐私数据包括隐私文本;所述确定所述隐私数据的数据标识包括:
将所述隐私文本转换为JSON数据;所述JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;
对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;
将对应同一父节点的多个JSON节点的哈希值进行拼接,得到所述父节点对应的哈希值;
将所述父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到所述JSON数据对应根节点的哈希值;
将所述根节点的哈希值记作所述隐私文本的数据标识。
3.根据权利要求2所述的方法,其特征在于,所述将对应同一父节点的多个JSON节点的哈希值进行拼接包括:
对同一层级的多个JSON节点进行排序;
按照所述排序将对应同一父节点的多个JSON节点的哈希值进行拼接。
4.根据权利要求3所述的方法,其特征在于,所述JSON节点包括有序排列的多个字符;所述对同一层级的多个JSON节点进行排序包括:
确定每个JSON节点中第一顺序字符对应的字符编码;
根据所述字符编码的大小对多个JSON节点进行排序;
若第一顺序字符对应的字符编码相同,根据下一顺序字符对应的字符编码的大小进行排序,直至确定每个JSON节点的顺序。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
确定所述JSON节点中的敏感文本;
生成随机数,计算所述随机数的哈希值;
将所述随机数的哈希值与包含所述敏感文本的JSON节点的哈希值拼接;
基于拼接得到的哈希值替换所述JSON数据中的相应JSON节点。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
以多个JSON节点之间的层级关系为连接相应JSON节点的有向边构建所述隐私文本对应的特征结构树;所述数据查询请求携带了查询条件;
所述将所述隐私数据及对应的存储地址返回至所述第二终端包括:
在所述特征结构树中将满足所述查询条件的JSON节点确定为目标节点;
将所述目标节点的节点数据、与所述目标节点连接的更高层级的JSON节点的节点数据,以及所述目标节点同一层级的JSON节点的哈希值送至第二终端。
7.根据权利要求1所述的方法,其特征在于,所述隐私数据包括隐私图片;所述确定所述隐私数据的数据标识包括:
确定所述隐私图片中的隐私区域;
在所述隐私图片中截取所述隐私区域对应的子图片;
提取截取了所述子图片之后的隐私图片的像素特征,记作背景像素特征;
提取每个所述子图片的像素特征,记作区域像素特征;
将所述背景像素特征及所述区域像素特征进行融合,得到综合像素特征;
将所述综合像素特征作为所述隐私图片的数据标识。
8.根据权利要求7所述的方法,其特征在于,所述将所述背景像素特征及所述区域像素特征进行融合包括:
根据子图片在所述隐私图片中的位置坐标对截取了所述子图片之后的隐私图片以及多个子图片进行排序;
按照所述排序将子图片对应的区域像素特征进行融合。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
对所述隐私图片中的隐私区域进行掩盖处理,得到背景图片;所述数据查询请求携带了图片标识或指定的一个或多个子图片的位置坐标;
所述将所述隐私数据及对应数据标识的存储地址返回至第二终端包括:
根据所述图片标识查询对应的隐私图片,记作目标图片;
将所述目标图片对应的背景图片、指定了位置坐标的子图片、未指定位置坐标的子图片的像素特征,以及对应数据标识的存储地址发送至第二终端。
10.根据权利要求1所述的方法,其特征在于,所述将所述数据标识广播至区块链包括:
获取对所述区块链进行操作的权限证书和数字签名;
基于所述数字签名对所述数据标识进行加密;
将加密后的数据标识广播至区块链;所述方法还包括:
当接收到所述数据查询请求时,将所述权限证书发送至第二终端,使所述第二终端根据所述权限证书对从所述区块链读取的数据标识进行验证解密。
11.一种数据查询方法,应用于第二终端,包括:
向第一终端发送数据查询请求;所述数据查询请求携带了查询条件;
接收所述第一终端返回的满足所述查询条件的隐私数据,以及所述隐私数据对应数据标识在所述区块链中的存储地址;
根据所述存储地址在所述区块链中查询相应的数据标识;
确定所述隐私数据的数据标识;
通过比对查询到的数据标识与确定的数据标识对所述隐私数据进行验证。
12.根据权利要求11所述的方法,其特征在于,所述隐私数据包括隐私文本和隐私图片;若为隐私文本,则所述确定所述隐私数据的数据标识包括:
将所述隐私文本转换为JSON数据;所述JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;
对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;
将对应同一父节点的多个JSON节点的哈希值进行拼接,得到所述父节点对应的哈希值;
将所述父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到所述JSON数据对应根节点的哈希值;
将所述根节点的哈希值记作所述隐私文本的数据标识;
若为隐私图片,则所述确定所述隐私数据的数据标识包括:
确定所述隐私图片中的隐私区域;
在所述隐私图片中截取所述隐私区域对应的子图片;
提取截取了所述子图片之后的隐私图片的像素特征,记作背景像素特征;
提取每个所述子图片的像素特征,记作区域像素特征;
将所述背景像素特征及所述区域像素特征进行融合,得到综合像素特征;
将所述综合像素特征作为所述隐私图片的数据标识。
13.一种数据存储及验证装置,应用于第一终端,其特征在于,所述装置包括:
数据标识确定模块,用于获取隐私数据,确定所述隐私数据的数据标识;
数据标识存储模块,用于将所述数据标识广播至区块链,记录所述数据标识在区块链中的存储地址;
数据查询响应模块,用于当接收到第二终端发送的对所述隐私数据的查询请求时,获取所述隐私数据对应数据标识在所述区块链中的存储地址;将所述隐私数据及对应数据标识的存储地址返回至所述第二终端,使所述第二终端重新确定所述隐私数据的数据标识,根据所述存储地址在所述区块链中查询相应的数据标识,通过比对查询到的数据标识与重新确定的数据标识对所述隐私数据进行验证。
14.根据权利要求13所述的装置,其特征在于,所述隐私数据包括隐私文本;所述数据标识确定模块还用于将所述隐私文本转换为JSON数据;所述JSON数据包括多层级的JSON节点;当前层级JSON节点对应的上一层级JSON节点记作当前层级JSON节点的父节点;对最低层级JSON节点进行哈希运算,得到当前层级JSON节点的哈希值;将对应同一父节点的多个JSON节点的哈希值进行拼接,得到所述父节点对应的哈希值;将所述父节点的哈希值作为当前层级JSON节点的哈希值进行迭代,直至最高层级JSON节点,得到所述JSON数据对应根节点的哈希值;将所述根节点的哈希值记作所述隐私文本的数据标识。
15.根据权利要求13所述的装置,其特征在于,所述隐私数据包括隐私图片;所述数据标识确定模块还用于确定所述隐私图片中的隐私区域;在所述隐私图片中截取所述隐私区域对应的子图片;提取截取了所述子图片之后的隐私图片的像素特征,记作背景像素特征;提取每个所述子图片的像素特征,记作区域像素特征;将所述背景像素特征及所述区域像素特征进行融合,得到综合像素特征;将所述综合像素特征作为所述隐私图片的数据标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910434566.8A CN110287724B (zh) | 2019-05-23 | 2019-05-23 | 数据存储及验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910434566.8A CN110287724B (zh) | 2019-05-23 | 2019-05-23 | 数据存储及验证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287724A true CN110287724A (zh) | 2019-09-27 |
CN110287724B CN110287724B (zh) | 2021-06-04 |
Family
ID=68002405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910434566.8A Active CN110287724B (zh) | 2019-05-23 | 2019-05-23 | 数据存储及验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287724B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400746A (zh) * | 2020-02-17 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 基于区块链的图像管理方法、装置、设备和介质 |
CN111414649A (zh) * | 2020-03-05 | 2020-07-14 | 合肥达朴汇联科技有限公司 | 一种基于区块链的数据验证方法及系统 |
CN111475828A (zh) * | 2020-05-14 | 2020-07-31 | 杭州烽顺科技信息服务有限公司 | 区块链账本数据的加密方法及装置、解密方法及装置 |
CN111523132A (zh) * | 2020-04-21 | 2020-08-11 | 国网电子商务有限公司 | 一种基于标识技术的数据存储传输方法及装置 |
CN111538975A (zh) * | 2020-04-27 | 2020-08-14 | 中国银行股份有限公司 | 一种图像处理方法及装置 |
CN111666340A (zh) * | 2020-05-27 | 2020-09-15 | 中国平安财产保险股份有限公司 | 基于大数据的同步数据校对方法、装置和计算机设备 |
CN112329068A (zh) * | 2020-11-27 | 2021-02-05 | 北京百度网讯科技有限公司 | 隐私数据存储方法、构建方法、装置、设备及介质 |
CN112804445A (zh) * | 2020-12-30 | 2021-05-14 | 维沃移动通信有限公司 | 显示方法、装置和电子设备 |
CN113157698A (zh) * | 2021-04-23 | 2021-07-23 | 上海和数软件有限公司 | 一种基于区块链技术的数据查询验证方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185901A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 一种客户端报文转换方法 |
CN107391298A (zh) * | 2017-07-06 | 2017-11-24 | 上海策链信息科技有限公司 | 数据存储状态检测方法、装置及计算机可读存储介质 |
US20170364698A1 (en) * | 2015-06-02 | 2017-12-21 | ALTR Solutions, Inc. | Fragmenting data for the purposes of persistent storage across multiple immutable data structures |
CN108737501A (zh) * | 2018-04-23 | 2018-11-02 | 北京海华鑫安生物信息技术有限责任公司 | 一种基于区块链的dna数据存储方法、设备以及系统 |
CN108965982A (zh) * | 2018-08-28 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 视频录制方法、装置、电子设备和可读存储介质 |
CN109255251A (zh) * | 2018-10-31 | 2019-01-22 | 安徽中科智链信息科技有限公司 | 基于区块链技术的档案数据保护系统及方法 |
-
2019
- 2019-05-23 CN CN201910434566.8A patent/CN110287724B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185901A (zh) * | 2011-04-19 | 2011-09-14 | 北京神州数码思特奇信息技术股份有限公司 | 一种客户端报文转换方法 |
US20170364698A1 (en) * | 2015-06-02 | 2017-12-21 | ALTR Solutions, Inc. | Fragmenting data for the purposes of persistent storage across multiple immutable data structures |
CN107391298A (zh) * | 2017-07-06 | 2017-11-24 | 上海策链信息科技有限公司 | 数据存储状态检测方法、装置及计算机可读存储介质 |
CN108737501A (zh) * | 2018-04-23 | 2018-11-02 | 北京海华鑫安生物信息技术有限责任公司 | 一种基于区块链的dna数据存储方法、设备以及系统 |
CN108965982A (zh) * | 2018-08-28 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 视频录制方法、装置、电子设备和可读存储介质 |
CN109255251A (zh) * | 2018-10-31 | 2019-01-22 | 安徽中科智链信息科技有限公司 | 基于区块链技术的档案数据保护系统及方法 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400746A (zh) * | 2020-02-17 | 2020-07-10 | 百度在线网络技术(北京)有限公司 | 基于区块链的图像管理方法、装置、设备和介质 |
CN111414649A (zh) * | 2020-03-05 | 2020-07-14 | 合肥达朴汇联科技有限公司 | 一种基于区块链的数据验证方法及系统 |
CN111414649B (zh) * | 2020-03-05 | 2023-03-24 | 合肥达朴汇联科技有限公司 | 一种基于区块链的数据验证方法及系统 |
CN111523132A (zh) * | 2020-04-21 | 2020-08-11 | 国网电子商务有限公司 | 一种基于标识技术的数据存储传输方法及装置 |
CN111538975B (zh) * | 2020-04-27 | 2024-02-23 | 中国银行股份有限公司 | 一种图像处理方法及装置 |
CN111538975A (zh) * | 2020-04-27 | 2020-08-14 | 中国银行股份有限公司 | 一种图像处理方法及装置 |
CN111475828B (zh) * | 2020-05-14 | 2022-05-13 | 杭州烽顺科技信息服务有限公司 | 区块链账本数据的加密方法及装置、解密方法及装置 |
CN111475828A (zh) * | 2020-05-14 | 2020-07-31 | 杭州烽顺科技信息服务有限公司 | 区块链账本数据的加密方法及装置、解密方法及装置 |
CN111666340A (zh) * | 2020-05-27 | 2020-09-15 | 中国平安财产保险股份有限公司 | 基于大数据的同步数据校对方法、装置和计算机设备 |
CN111666340B (zh) * | 2020-05-27 | 2023-10-27 | 中国平安财产保险股份有限公司 | 基于大数据的同步数据校对方法、装置和计算机设备 |
CN112329068A (zh) * | 2020-11-27 | 2021-02-05 | 北京百度网讯科技有限公司 | 隐私数据存储方法、构建方法、装置、设备及介质 |
CN112804445A (zh) * | 2020-12-30 | 2021-05-14 | 维沃移动通信有限公司 | 显示方法、装置和电子设备 |
CN112804445B (zh) * | 2020-12-30 | 2022-08-26 | 维沃移动通信有限公司 | 显示方法、装置和电子设备 |
CN113157698A (zh) * | 2021-04-23 | 2021-07-23 | 上海和数软件有限公司 | 一种基于区块链技术的数据查询验证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110287724B (zh) | 2021-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287724A (zh) | 数据存储及验证方法和装置 | |
CN109615383B (zh) | 基于区块链的数据存证、获取方法和装置 | |
US8239937B2 (en) | User validation using images | |
US8510814B2 (en) | Method and apparatus for network authentication of human interaction and user identity | |
US10140465B2 (en) | Methods and systems for user authentication in a computer system using multi-component log-ins, including image-based log-ins | |
US9602274B2 (en) | Secure password generation | |
CN105099675A (zh) | 生成用于身份验证的验证数据和身份验证的方法和装置 | |
CN111538786B (zh) | 区块链数据脱敏与溯源的存储方法与装置 | |
CN102843366A (zh) | 一种网络资源访问权限控制方法及装置 | |
CN104252677A (zh) | 一种基于二维码防伪技术及防伪体系平台系统 | |
US20130254863A1 (en) | Authentication of an end user | |
JP2010092227A (ja) | 文書作成支援装置、文書作成支援方法およびプログラム | |
US11886556B2 (en) | Systems and methods for providing user validation | |
CN105426744A (zh) | 一种密码保护问题的设置方法和装置 | |
CN110263575A (zh) | 基于哈希算法和会话控制实现数据融合及数据隐私保护的方法 | |
CN110881033B (zh) | 一种数据加密方法、装置、设备以及可读存储介质 | |
CN103220455A (zh) | 秘密信息隐藏装置和方法、秘密信息还原装置和方法 | |
US7715560B2 (en) | Systems and methods for hiding a data group | |
CN108920971A (zh) | 数据加密的方法、校验的方法、加密的装置和校验的装置 | |
CN106453273B (zh) | 一种基于云技术的信息保险管理系统和方法 | |
JP2017054364A (ja) | データ閲覧制御プログラム、データ閲覧制御方法、データ閲覧制御装置、文書データ管理装置、文書データ管理方法および文書データ管理プログラム | |
CN104468110A (zh) | 口令认证方法、设备及系统 | |
Kim et al. | Security and access control for a human-centric collaborative commerce system | |
WO2006036699A2 (en) | Concept based message security system | |
US11995210B2 (en) | Identity vault system using distributed ledgers for event processing |
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 |