CN113742764B - 基于区块链的可信数据安全存储方法、检索方法及设备 - Google Patents
基于区块链的可信数据安全存储方法、检索方法及设备 Download PDFInfo
- Publication number
- CN113742764B CN113742764B CN202111310039.XA CN202111310039A CN113742764B CN 113742764 B CN113742764 B CN 113742764B CN 202111310039 A CN202111310039 A CN 202111310039A CN 113742764 B CN113742764 B CN 113742764B
- Authority
- CN
- China
- Prior art keywords
- data
- information
- uploaded
- block chain
- storage
- 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/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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于区块链的可信数据安全存储方法、检索方法及设备,其中,该存储方法包括:获取周围环境信息以确定用户场景安全等级;获取用户权限等级和用户对待上传数据的保护等级要求;综合场景安全等级、权限等级及保护等级要求得到待上传数据的最终保护等级;获取待上传数据的尺寸大小,提取关键词;若尺寸较大,则将待上传数据存储至链下并获取相应的链下存储地址;若尺寸较小,则将待上传数据的存储方式确定为链上存储;根据最终保护等级,将数据相关信息和关键词打包,或对数据相关信息加密后与关键词信息后打包,或对数据相关信息加密且对关键词信息同态加密后打包,将打包数据上传至区块链。通过上述方案能为用户提供个性化需求。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的可信数据安全存储方法、检索方法及设备。
背景技术
传统数据管理存储中的数据通常包括数据库中的元数据、用户信息和用户操作记录等结构化数据,以及数据文件系统中的图片、音频、文档等非结构化数据。对于传统的分布式文件系统,例如 GFS、HDFS、GPFS 等,虽然提高了数据存储的效率,但仍没有摆脱中心化的结构和管理模式,存在事务不一致、数据不安全等问题。
区块链以其去中心化、不可篡改的特点,能够作为一个引领信任的机器,通过运用哈希算法、数字签名、时间戳、分布式共识和经济激励等手段,在节点无需互相信任的分布式系统中建立信用,实现点对点交易和协作,为中心化机构普遍存在的成本高、效率低和数据存储不安全等问题提供了解决方案。近来,伴随着国内外对区块链技术的研究,区块链技术作为热门技术应用于许多领域,尤其为金融领域带来新的生机。
目前区块链技术主要用于对账本等小型数据进行记录交易,这反映出区块链处理大数据存在瓶颈。若增加每个区块的大小以存储更多交易,会影响网络共识的速度和时效性,从而导致潜在的中心化,使网络数据不可信。若使用区块链来处理大型数据,将显得十分乏力。因此,虽然数据库记录的每条事务日志都类似于区块链的每笔交易,可以将事务日志存储在区块链上,但对于不同类型和大小的数据文件,均使用区块链存储很不实用。
传统的互联网中,现有的区块链技术缺乏根据不同的场景提供安全按需的存储服务。例如,对数据进行存储安全机制因需求不同对数据采用不同的存储方式,同时针对不同场景上链数据安全等级也不同。对于数据分级机制而言,主要通过判断用户权限等级来进行不同算法保护,实现数据的分级安全存储。在数据加密传输机制上,主要采用MD5算法、SHA1算法等常见的数据加密算法对数据进行加密,实现安全传输,但是,对于MD5这类算法而言,对于存储的加密数据一般是不可逆的,这导致对存储的加密数据无法做到获取访问。同时,对于已进行分组管理的用户来说,数据等级已确定,这导致用户在特殊场景下,无法满足用户对数据的存储需求,增加繁琐流程,降低工作效率。
发明内容
有鉴于此,本发明提供了一种基于区块链的可信数据安全存储方法、检索方法及设备,以为用户提供个性化存储需求。
为了达到上述目的,本发明采用以下方案实现:
根据本发明实施例的一个方面,提供了一种基于区块链的可信数据安全存储方法,包括:
获取用户上传数据时的周围环境信息,根据周围环境信息分析得到场景信息,根据场景信息确定用户场景安全等级;获取用户的账户信息和待上传数据的信息,并从用户的账户信息中提取用户权限等级,从待上传数据的信息中提取用户对待上传数据的保护等级要求;根据设定规则综合用户场景安全等级、用户权限等级、及用户对待上传数据的保护等级要求得到待上传数据的最终保护等级;获取待上传数据的尺寸大小,并提取待上传数据的关键词信息;
在待上传数据的尺寸大小超过设定尺寸大小的情况下,将待上传数据的存储方式确定为链下存储,将待上传数据存储至链下并获取相应的链下存储地址,作为数据相关信息;在待上传数据的尺寸大小不超过设定尺寸大小的情况下,将待上传数据的存储方式确定为链上存储,将待上传数据作为数据相关信息;
在最终保护等级为待上传数据及关键词均公开的情况下,将待上传数据的数据相关信息和关键词信息打包生成待上链数据信息;在最终保护等级为数据加密但关键词公开的情况下,利用本地生成的共享密钥对数据相关信息进行加密,生成数据相关信息密文,并将数据相关信息密文和关键词信息打包生成待上链数据信息;在最终保护等级为待上传数据及关键词均加密的情况下,利用本地生成的共享密钥对数据相关信息进行加密,生成数据相关信息密文,并对关键词信息进行同态加密,生成关键词信息密文,以及将数据相关信息密文和关键词信息密文打包生成待上链数据信息;
将待上链数据信息上传至区块链的智能合约。
在一些实施例中,获取用户上传数据时的周围环境信息,根据周围环境信息分析得到场景信息,包括:
获取用户上传数据时的周围环境信息,通过机器学习方法根据周围环境信息计算得到场景信息;其中,场景信息为办公室场景、公共场景或家庭场景;办公室场景对应的用户场景安全等级>家庭场景对应的用户场景安全等级>公共场景对应的用户安全场景等级。
在一些实施例中,在待上传数据为数据库事务日志数据的情况下,待上传数据的存储方式为链上存储。
在一些实施例中,将待上传数据存储至链下并获取相应的链下存储地址,包括:
将待上传数据存储至IPFS系统并返回待上传数据在IPFS系统的哈希地址,作为链下存储地址。
在一些实施例中,将待上链数据信息上传至区块链的智能合约,包括:
将待上链数据信息上传至区块链的本节点的智能合约,以利用本节点的智能合约管理上链的数据信息。
在一些实施例中,所述的基于区块链的可信数据安全存储方法,还包括:
根据待上传数据的最终保护等级、尺寸大小及关键词信息生成存储保护策略标识符,以依据该存储保护策略标识符选择对应于存储方式的存储地址,以用于存储相应的待上链数据信息。
根据本发明实施例的另一个方面,提供了一种基于区块链的可信数据检索方法,适用于检索利用上述任一实施例所述的基于区块链的可信数据安全存储方法存储的数据,所述检索方法,包括:
在数据信息包含多个关键词信息的情况下,逐个输入关键词,并计算本次输入的关键词与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息。
在一些实施例中,计算本次输入的关键词与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息,还包括:
在区块链上存储的数据信息中的关键词信息为通过同态加密生成的关键词信息密文的情况下,对本次输入的关键词进行同态加密,得到本次输入的关键词密文;
计算本次输入的关键词密文与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息。
根据本发明实施例的另一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述方法的步骤。
根据本发明实施例的另一个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述方法的步骤。
本发明的基于区块链的可信数据安全存储方法、基于区块链的可信数据检索方法、计算机设备及计算机可读存储介质,能够在区块链网络中为用户提供个性化需求存储问题,根据不同的场景信息、数据大小及存储保护等级,采用链上链下方式,实现对不同场景敏感数据安全有效的存储。另外,利用同态加密技术,能实现在区块链智能合约中拥有处理密文的能力,实现数据在多种需求场景下的安全检索方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的基于区块链的可信数据安全存储方法的流程示意图;
图2是本发明一实施例的基于区块链的数据安全存储模型示意图;
图3是本发明一实施例的数据存储方法流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
虽然区块链技术在互联网发展过程中部分地解决了数据存储时的数据安全问题和数据集中问题,以及通过智能合约实现如溯源、访问控制等涌现出来的新场景、新应用中的数据安全问题,但在互联网背景下,区块链技术仍然存在如下缺点:
(1)链上存储方面,缺乏对用户的个性化需求,由于用户身处环境不同,面对嘈杂环境时,对敏感数据进行上传是极不安全的,而在区块链中数据的分级存储也只是受限于用户的权限,根据用户的权限进行数据的存储。同时,对数据采用单一上链模式,没有根据用户的实际需求进行不同的上链方式,这增加了链上负担,不利于后续的数据检索。
(2)目前的智能合约都运行在区块链上,合约中的数据都透明化的存储在区块链上。因此在许多情况下,用户希望在智能合约中的数据不公开得以保护。但由于现阶段合约函数不支持数据加解密功能,用户无法在合约内进行数据加解密操作,所以对智能合约中的加密数据处理不便。
因此,由于目前中心化或分布式的数据存储无法保障数据的不可篡改和一致性;同时,采用区块链技术来存储数据缺乏对用户个性化需求考虑,面临大型异构文件存储困难等问题。因此,有必要为区块链技术在数据存储中提供更加灵活安全可信的存储方法。
针对上述问题,本发明提供了一种基于区块链的可信数据安全存储方法,以根据不同的场景为用户提供区块链可信的安全存储,从而为用户提供个性化存储需求。
图1是本发明一实施例的基于区块链的可信数据安全存储方法的流程示意图,参见图1,该基于区块链的可信数据安全存储方法可包括以下步骤S110~步骤S140。
下面将对步骤S110至步骤S140的具体实施方式进行详细说明。
步骤S110:获取用户上传数据时的周围环境信息,根据周围环境信息分析得到场景信息,根据场景信息确定用户场景安全等级;获取用户的账户信息和待上传数据的信息,并从用户的账户信息中提取用户权限等级,从待上传数据的信息中提取用户对待上传数据的保护等级要求;根据设定规则综合用户场景安全等级、用户权限等级、及用户对待上传数据的保护等级要求得到待上传数据的最终保护等级;获取待上传数据的尺寸大小,并提取待上传数据的关键词信息。
上述步骤S110中,该周围环境信息可包括网络环境等信息,例如,可包括周围人员数量,身处室内或室外环境,家具,物品,房屋、建筑物,其他生产设备等。可以通过机器学习的方法对周围环境信息进行分析得到场景信息,进而还可以得到用户场景安全等级信息。例如,可以利用预先获取的某些或某种周围环境信息的数据,对神经网络进行训练,得到识别模型,然后利用识别模型根据输入的周围环境信息识别出属于什么场景,如办公室、家庭或如咖啡厅的公共场所。另外可以预先设定各种场景的等级,然后根据识别出的场景就可以确定相应的用户场景安全等级。用户的账户信息可包括账户名、账户口令、身份标识和账户权限等级等,可以从中提取得到账户权限等级。例如,若需要对数据库事务日志进行存储,则可以得到数据的存储路径,然后根据存储路径提取日志数据,然后可以计算日志数据的大小,若太大可以考虑链下存储,若较小可以考虑链上存储。对于不同类型数据可以设置相应规则提取关键词,例如,可以从日志数据中的操作记录中提取出描述参数作为关键词,从而通过关键词可以用来描述该日志数据,便于检索到该日志数据。例如,最终保护等级可通过加权平均数或算数编码计算方式得到。
上述步骤S110中,获取用户上传数据时的周围环境信息,根据周围环境信息分析得到场景信息,具体可包括步骤:S111,获取用户上传数据时的周围环境信息,通过机器学习方法根据周围环境信息计算得到场景信息;其中,场景信息为办公室场景、公共场景或家庭场景;办公室场景对应的用户场景安全等级>家庭场景对应的用户场景安全等级>公共场景对应的用户安全场景等级。
该实施例中,可以根据当前的安全等级情况和要求的保护的等级情况,综合判断各种场景对应的保护等级。与用户的需求结合,满足用户对数据的不同保护需求。
步骤S120:在待上传数据的尺寸大小超过设定尺寸大小的情况下,将待上传数据的存储方式确定为链下存储,将待上传数据存储至链下并获取相应的链下存储地址,作为数据相关信息;在待上传数据的尺寸大小不超过设定尺寸大小的情况下,将待上传数据的存储方式确定为链上存储,将待上传数据作为数据相关信息。
上述步骤S120中,例如,在待上传数据为数据库事务日志数据的情况下,待上传数据的存储方式为链上存储。较大数据链下存储,可以避免区块链难以存储大数据的问题,小数据链上存储能够满足数据存储的灵活性。根据数据大小区分存储,能够在保证存储效率的情况下尽可能提高存储的灵活性。若是链上存储,可以将数据存在智能合约,若是链下存储,可以将链下存储地址存储在链上的智能合约,以便于基于区块链进行查询。
示例性地,上述步骤S120中,将待上传数据存储至链下并获取相应的链下存储地址,具体可包括:将待上传数据存储至IPFS系统并返回待上传数据在IPFS系统的哈希地址,作为链下存储地址。该实施例中,通过IPFS系统(分布式文件存储系统)能够实现链下存储快、存储更安全、去中心化存储等优点。
进一步的实施例中,上述步骤S120之后,图1所示的基于区块链的可信数据安全存储方法,还可包括步骤:S150,根据待上传数据的最终保护等级、尺寸大小及关键词信息生成存储保护策略标识符,以依据该存储保护策略标识符选择对应于存储方式的存储地址,以用于存储相应的待上链数据信息。
该步骤S150中,根据多种信息生成标识符,基于该标识符就能得知数据存储到哪里,链上还是链下,数据的保密方式是公开还是加密,是全部加密,还是部分加密。在一个些实施例中,可以根据该标识符确定如何存储数据。另一些实施例中,也可以根据该标识符得知若要获取数据时,从哪里获取以及如何获取。
步骤S130:在最终保护等级为待上传数据及关键词均公开的情况下,将待上传数据的数据相关信息和关键词信息打包生成待上链数据信息;在最终保护等级为数据加密但关键词公开的情况下,利用本地生成的共享密钥对数据相关信息进行加密,生成数据相关信息密文,并将数据相关信息密文和关键词信息打包生成待上链数据信息;在最终保护等级为待上传数据及关键词均加密的情况下,利用本地生成的共享密钥对数据相关信息进行加密,生成数据相关信息密文,并对关键词信息进行同态加密,生成关键词信息密文,以及将数据相关信息密文和关键词信息密文打包生成待上链数据信息。
该步骤S130,最终保护等级可以分为至少三种,包括待上传数据及关键词均公开、待上传数据加密但关键词公开、待上传数据及关键词均加密的情况,根据确定的最终保护等级可以选用相应策略进行保护。若需要对待上传数据进行加密,则可以利用本地的密钥生成模块,生成密钥对数据进行加密,密钥可以存在本地,若本地用户需要查询数据时,可以利用本地存储的密钥进行解密。若需要对关键词进行加密,则可以采用同态加密方式进行加密。同态加密的关键词存储到区块链后,可以利用加密的关键词进行不透明的检索。
步骤S140:将待上链数据信息上传至区块链的智能合约。
上述步骤S140中,可以在智能合约中设置合适的数据结构,以将相关数据信息存储到智能合约中。另外,还可以利用智能合约对存储的数据相关信息进行管理,例如,在智能合约中检索所需数据相关信息。此外,由于根据用户的要求确定的了相应的保护等级,如果用户希望对数据相关信息保密,则存储到智能合约中的信息为密文,如此一来,智能合约中的数据相关信息是不透明的,既满足了用户的保密需求,又兼顾了链上存储的灵活性。
该步骤S140,即,将待上链数据信息上传至区块链的智能合约,具体可包括:将待上链数据信息上传至区块链的本节点的智能合约,以利用本节点的智能合约管理上链的数据信息。该实施例中,不同的节点可以对应不同的智能合约,可以将数据相关信息存储到本节点的智能合约,便于在本节点进行管理。
基于本发明任一实施例所述的基于区块链的可信数据安全存储方法,本发明实施例还提供了一种基于区块链的可信数据检索方法,适用于检索利用上述任一实施例所述的基于区块链的可信数据安全存储方法存储的数据,该检索方法可包括步骤:S210,在数据信息包含多个关键词信息的情况下,逐个输入关键词,并计算本次输入的关键词与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息。
该步骤S210中,当数据信息对应多个关键词时,可以每次输入一个关键词,并利用该关键词进行检索,检索到多个结果后,可以再用另一个关键词继续进行检索,以此可以提高检索效率。
更具体地,上述步骤S210中,计算本次输入的关键词与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息,具体可包括步骤:S211,在区块链上存储的数据信息中的关键词信息为通过同态加密生成的关键词信息密文的情况下,对本次输入的关键词进行同态加密,得到本次输入的关键词密文;S212,计算本次输入的关键词密文与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息。
上述步骤S211,对于关键词同态加密后存储的数据相关信息,可以对用户输入的关键词进行同态加密处理后,再进行检索。
另外,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的基于区块链的可信数据安全存储方法或上述任一实施例所述的基于区块链的可信数据检索方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例所述的基于区块链的可信数据安全存储方法或上述任一实施例所述的基于区块链的可信数据检索方法的步骤。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
解决在区块链网络中为用户提供个性化需求存储问题,根据不同的场景信息,数据大小及存储等级,采用链上链下方式,实现对不同场景敏感数据安全有效的存储,同时利用同态加密技术,实现在区块链智能合约中拥有处理密文的能力,实现数据在多种需求场景下的安全检索方法。在一实施例中,基于区块链的可信数据安全存储方法所涉及的主要模块包括:场景分析模块、需求分析模块、密码服务模块和数据存储模块。
其中,场景分析模块,用于负责用户在上传数据时,通过周围环境,提取场景信息,进行场景分析;需求分析模块,用于负责对数据尺寸及密级判断,通过用户的场景分析等级、账户权限等级、数据的需求等级等信息生成标识符,并进行融合打包;密码服务模块,用于对高等级的数据进行关键词加密,保证所有高等级数据在智能合约中操作不透明;数据存储模块,用于负责存储大数据、小数据及相关信息,智能合约访问地址。
参见图2和图3,基于区块链的可信数据安全存储方法包括以下步骤:
S1. 获取用户场景信息、账户信息和数据信息。
其中,该步骤S1包括:S1.1. 数据最终等级确定;S1.2. 数据大小确定。
该步骤S1可通过利用场景分析模块完成。利用场景分析模块在用户上传数据时,通过周围环境,提取场景信息,进行场景分析。用户在进行数据存储前,将对用户进行本地场景信息分析,对周围环境分析出用户此时场景等级Type f ,同时获取用户的账户信息User Atts和将存储的数据信息DataAtts。用户的账户信息可包括账户名、账户口令、身份标识和账户权限等级等。
在步骤S1中,可通过机器学习或其他方法感知出用户上传数据时的周围环境情况,计算分析确定用户数据在此场景下的场景等级。场景等级Type f 可包括场景等级为1级Type 1 、场景等级为2级Type 2 和场景等级为3级Type 3 ;根据不同用户当前的应用场景,分析出对应场景等级Type f 。例如,识别出办公室环境,此时,场景等级为Type 3 ;识别出咖啡厅环境,此时场景等级为Type 1 ;识别出家庭环境,此时场景等级为Type 2 。
在该步骤S1.1中,通过用户场景等级Type f 、用户账户信息中的权限等级User Atts Ls 和用户对数据需要的保护等级DataAtts Lj 共同算出用户对上传数据的最终等级。可以利用需求分析模块对数据尺寸及密级进行判断。
在步骤1.1中,对于不同等级可以采用不同的级别的加密进行保护,比如,高安全等级可以不加密,中等级可以采用简单的低安全保护,低安全等级可以采用复杂高安全性保护。同时,与用户的需求结合,满足用户对数据的不同保护需求,可以保证敏感数据不被泄露,安全有效地解决区块链分布存储中的信息交互操作。例如,用户账户信息UserAtts中的安全级别为一个全序的集合S={Ulevel 1,Ulevel 2,…,Ulevel n |n≤N + , n≤4},其中,集合中的用户账户信息安全级别高低关系为Ulevel 1≤Ulevel 2≤…≤Ulevel 4,则对存在i,k,满足i≤k,则有Ulevel i≤Ulevel k。同样地,数据信息DataAtts中的安全级别也为一个全序集合为Y={Dlevel 1,Dlevel 2,…,Dlevel n |n≤N + , n≤4},其中集合中的数据信息安全级别高低关系为,则对存在j,k,满足j≤k,则有Dlevel j≤Dlevel k。
在该步骤S1.2中,对数据文件的尺寸进行划分,将小粒度的数据直接存储至联盟区块链上,将大粒度的数据分布式存储至IPFS网络。可采用BCOS(区块链底层技术开源平台)区块链系统来构建数据联盟链,并使用智能合约来灵活地存储和管理数据的相关信息。
在步骤1.2中,例如,解析提取的数据库事务日志,从操作记录中提取出描述的参数P,同时根据数据的存储路径提取数据。其次,计算数据大小,如果数据大于等于64KB,则将数据存储至IPFS上并获取数据在IPFS上的哈希地址,记为data file ;如果数据小于64KB,则将数据存储至链上,数据的内容也记为data file 。
S2. 根据用户场景信息、账户信息和数据信息生成标识符。
该步骤S2可通过利用需求分析模块完成。利用需求分析模块对数据尺寸及密级进行判断后,通过用户的场景分析等级、账户权限等级、数据的需求等级等信息生成标识符,并进行融合打包。标识符可包括数据最终等级 、数据大小、关键词信息。标识符中数据的最终等级分为三级,等级一为公开数据;等级二为密文数据,关键词不加密;等级三为密文数据,关键词需加密。
在步骤S2中,标识符包括数据最终等级Level、数据大小、关键词信息。标识符中数据的最终等级分为三级,等级一为公开数据;等级二为密文数据,关键词不加密;等级三为密文数据,关键词需加密。对于等级三的数据,在数据进行存储和访问时,保证在智能合约中的操作不透明。用户的账户信息UserAtts可包括账户名、账户口令、身份标识和账户权限等级等。数据信息DataAtts是指存储数据的基本属性和安全属性,数据信息可包括数据拥有者、数据上传时间、数据生成环境和数据安全需求等级等,其中数据安全需求可由数据拥有者设定。
S3. 根据标识符融合待上链的数据相关信息。
该步骤S3中,可以利用密码服务模块对高等级的数据进行关键词加密,保证所有高等级数据在智能合约中操作不透明。根据标识可以识别数据的存储于链上还是链下,而且可以得知加密密级。
在步骤S3中,可在合约内定义FileInfo结构体来记录数据的相关信息,包括数据的唯一标识id data 、关联的数据库操作的唯一标识scn log 、数据备注note data 、数据尺寸size data 、数据存储时间time data 、小数据的内容存储、大数据存IPFS文件地址data file 。其中,文件备注note data 为数据搜索的关键词。
在步骤S3中,根据标识符融合待上链的数据相关信息。其中,根据步骤S2中解析的事务日志,判断当前数据的密级等级,如果为公开数据,则直接将步骤S2产生的data file 与步骤1.2选取的相关参数P融合打包成数据相关信息F info ;如果为不可公开数据,在密码服务模块使用共享密钥K对data file 进行加密之后生成C K 。对于高等级的数据,对其关键词采用同态加密技术加密生成密文C HK 。用户可根据数据的密级选择是否需要加密保护。其中,需要加密的数据文件,采用对称加密技术对数据文件进行加密生成密文C K ;同时,在密码服务模块通过生成的密钥key,用key对数据或IPFS访问地址的关键词进行同态加密生成密文C HK 。
本实施例通过同态加密能够实现利用加密关键词在智能合约中进行操作且保证不透明,例如,可以进行检索操作,具体可采用余弦夹角相似度度量方法,在智能合约中达到密文检索操作的目的。
在步骤S3中,采用同态加密算法对其关键词进行加密,在对智能合约中加密的数据进行检索时,可采用基于同态加密的关键词检索策略,具体算法包括如下过程。
1)同态加密
系统参数生成函数:ParamGen(1λ)
随机选取两个大素数q=q(λ)∈Z+,p=p(λ)∈Z+,计算最大公约数使得gcd(p,q)=1,(gcd(p,q)表示求p,q两个数的最大公约数)返回安全参数Param(p,q)。之后,根据加密效率选取加密参数l,n∈R+。
密钥生成函数:KeyGen(1λ)
随机生成两个噪声向量k,z∈,构成噪声集合K(l)=[(k 1 ,z 1 ), (k 2 ,z 2 ),…,(k l ,z l )],且k i ,z i ≠0。从离散高斯分布中选取参数以及。随机选取,并计算参数。返回加密密钥key=[S,K(l)]。
加密函数:Enc(key,keyword∈Z p )
对于每一个关键字keyword∈Z p ,从离散高斯分布中选取参数 、,计算(keyword表示关键字,k i ,z i 表示噪声向量,l表示加密参数,m 1<i<l 表示在1到l之间转换的特殊关键字的值,m l 表示取l时转换的特殊关键字的值),以及,(r表示构成的密文索引部分,e 1, e 2 表示上述从离散高斯分布中选取的参数,A表示上述阶为q在1*n有限域中随机选取的参数,p表示上述随机选取的大素数) (c表示加密的数据,e 1, e 3 表示上述从离散高斯分布中选取的参数,P表示上述系统生成的安全参数)。返回密文C HE =(r,c)。
解密函数:Dec[key,C HE =(r,c)]
计算明文F:
2)单个关键词的密文检索
当数据访问者DU需要查询文件时,首先选取一个或者几个关键词F 1 ,F 2 ∈Z p ,C 1 =(r 1 ,c 1 ), C 2 =(r 2 ,c 2 ),智能合约需要进行度量两个关键词的相似度的时候,智能合约首先从离散高斯分布中随机选取,(B表示从离散高斯分布中随机选取的参数)之后计算,(D j 表示通过输入的密文计算出此密文的特征权值,(r j, c j )为构成的密文,p表示上述随机选取的大素数)之后计算余弦夹角度量相似度。
首先通过平移标准差变换消除量纲影响:,(表示第j个关键字在文档i中的权值,目的是将特征权值通过适当变换压缩到[0,1]之间。为第j个关键词在文档i中的特征权值)其中,(表示总体特征权值的均值,s表示总体特征权值的标准差)标准化后数学期望为1,方差为0,之后计算余弦夹角相似度系数r∈(0,1):
r越大表示两个关键词越相似。当数据访问者DU只输入一个关键词F’∈Z p 时,对于密文文档的关键词索引(F 1 ,…,F n ),智能合约逐一计算F’和关键词索引F i 的相似度,并输出相似度系数r=max{r i ’}作为检索结果进行排序,表示在文档i中计算的相似度系数的集合。
当数据访问者DU输入多个关键词(F 1 ’, F 2 ’,…,F s ’)的时候,对于密文文档关键词索引(F 1 , F 2 ,…,F n ),智能合约首先对关键词F 1 ’进行检索,筛选出满足r 1 >θ的密文文档(r 1 表示关键字F 1 ’对应的相关性系数),以减少不必要的计算开销,提高检索效率。之后对筛选出的文档进行下一个关键词F 2 ’的检索,逐级筛选关键词,将最后的筛选的结果返回给数据访问者DU。
S4. 获取本单位智能合约地址。
在步骤S4中,根据标识符进行选择数据地址,分为链上地址和链下地址,确定其对应的网络地址存储需求。对于公开和需要保护的小数据,可以采用链上地址;对于公开和需要保护的大数据,可以采用链下地址,同时将链下地址根据数据的最终等级进行处理后,再采用链上地址。
在步骤S4中,每个数据节点拥有自己创建的数据管理智能合约DMSC用于存储F Info 数据、同态加密C HK 数据。
S5. 将数据相关信息进行存储。
在步骤S5中,根据数据标识符对应的网络地址确定存储地址信息,然后根据存储地址信息对保护数据进行存储。通过本节点的智能合约地址调用合约内的接口,将F Info 数据、同态加密C HK 数据存储至区块链上。
上述实施例中,根据用户在不同场景下对数据的进行不同的保护,采用链上链下方式对数据进行存储,大数据(例如大于等于64KB)链下存储,小数据(例如小于64KB)链上存储,其中,事务日志可存储在私有链网络。在基于区块链的可信数据存储方法中,根据用户的不同场景,不同密级的数据,不同的数据大小形成数据密级属性的分级保护。同时,对于需要高等级保护的数据可采用同态加密技术加密关键词生成密文,在区块链智能合约中对密文数据信息进行保护,访问高等级数据时实现更加安全的数据检索方法。
本实施例的基于区块链的可信数据安全存储方法,具有以下有益效果:采用区块链对数据进行存储,针对用户的不同需求,设置不同等级的数据存储方式,使数据在区块链中进行灵活存储的同时,也保证高等级数据在区块链智能合约中检索时操作不透明。在一定程度上,能够提升数据在区块链上存储的可行性和时效性,同时也保证了权限的公开透明和不可篡改,从而简化流程,提高运行效率,降低人力开销。同态加密的数据存储在区块链上,对需要保护存储在链上的数据进行同态加密,相比传统区块链上的存储数据,却因在区块链智能合约操作过程中数据的透明性引发数据隐私性的问题,该方法将有助于在合约中实现更加灵活的不透明的数据检索方法。本实施例融合场景分析、分级链上链下存储、同态加密技术,能够有效地保证数据及数据信息的高安全性,为区块链的可信数据安全存储的应用保驾护航。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链的可信数据安全存储方法,其特征在于,包括:
获取用户上传数据时的周围环境信息,根据周围环境信息分析得到场景信息,根据场景信息确定用户场景安全等级;获取用户的账户信息和待上传数据的信息,并从用户的账户信息中提取用户权限等级,从待上传数据的信息中提取用户对待上传数据的保护等级要求;根据设定规则综合用户场景安全等级、用户权限等级、及用户对待上传数据的保护等级要求得到待上传数据的最终保护等级;获取待上传数据的尺寸大小,并提取待上传数据的关键词信息;
在待上传数据的尺寸大小超过设定尺寸大小的情况下,将待上传数据的存储方式确定为链下存储,将待上传数据存储至链下并获取相应的链下存储地址,并将获取到的所述链下存储地址作为数据相关信息;在待上传数据的尺寸大小不超过设定尺寸大小的情况下,将待上传数据的存储方式确定为链上存储,将待上传数据作为数据相关信息;
在最终保护等级为待上传数据及关键词均公开的情况下,将待上传数据的数据相关信息和关键词信息打包生成待上链数据信息;在最终保护等级为数据加密但关键词公开的情况下,利用本地生成的共享密钥对数据相关信息进行加密,生成数据相关信息密文,并将数据相关信息密文和关键词信息打包生成待上链数据信息;在最终保护等级为待上传数据及关键词均加密的情况下,利用本地生成的共享密钥对数据相关信息进行加密,生成数据相关信息密文,并对关键词信息进行同态加密,生成关键词信息密文,以及将数据相关信息密文和关键词信息密文打包生成待上链数据信息;
将待上链数据信息上传至区块链的智能合约。
2.如权利要求1所述的基于区块链的可信数据安全存储方法,其特征在于,获取用户上传数据时的周围环境信息,根据周围环境信息分析得到场景信息,包括:
获取用户上传数据时的周围环境信息,通过机器学习方法根据周围环境信息计算得到场景信息;其中,场景信息为办公室场景、公共场景或家庭场景;办公室场景对应的用户场景安全等级>家庭场景对应的用户场景安全等级>公共场景对应的用户安全场景等级。
3.如权利要求1所述的基于区块链的可信数据安全存储方法,其特征在于,在待上传数据为数据库事务日志数据的情况下,待上传数据的存储方式为链上存储。
4.如权利要求1所述的基于区块链的可信数据安全存储方法,其特征在于,将待上传数据存储至链下并获取相应的链下存储地址,包括:
将待上传数据存储至IPFS系统并返回待上传数据在IPFS系统的哈希地址,作为链下存储地址。
5.如权利要求1所述的基于区块链的可信数据安全存储方法,其特征在于,将待上链数据信息上传至区块链的智能合约,包括:
将待上链数据信息上传至区块链的本节点的智能合约,以利用本节点的智能合约管理上链的数据信息。
6.如权利要求1至5任一项所述的基于区块链的可信数据安全存储方法,其特征在于,还包括:
根据待上传数据的最终保护等级、尺寸大小及关键词信息生成存储保护策略标识符,以依据该存储保护策略标识符选择对应于存储方式的存储地址,以用于存储相应的待上链数据信息。
7.一种基于区块链的可信数据检索方法,其特征在于,适用于检索利用如权利要求1至6任一项权利要求所述的基于区块链的可信数据安全存储方法存储的数据,所述检索方法,包括:
在数据信息包含多个关键词信息的情况下,逐个输入关键词,并计算本次输入的关键词与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息。
8.如权利要求7所述的基于区块链的可信数据检索方法,其特征在于,计算本次输入的关键词与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息,还包括:
在区块链上存储的数据信息中的关键词信息为通过同态加密生成的关键词信息密文的情况下,对本次输入的关键词进行同态加密,得到本次输入的关键词密文;
计算本次输入的关键词密文与区块链上存储的数据信息中的各关键词信息的相似度,以根据相似度计算结果检索出相应的数据信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111310039.XA CN113742764B (zh) | 2021-11-08 | 2021-11-08 | 基于区块链的可信数据安全存储方法、检索方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111310039.XA CN113742764B (zh) | 2021-11-08 | 2021-11-08 | 基于区块链的可信数据安全存储方法、检索方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742764A CN113742764A (zh) | 2021-12-03 |
CN113742764B true CN113742764B (zh) | 2022-04-19 |
Family
ID=78727574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111310039.XA Active CN113742764B (zh) | 2021-11-08 | 2021-11-08 | 基于区块链的可信数据安全存储方法、检索方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742764B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277593B (zh) * | 2022-07-13 | 2024-05-31 | 上海企源科技股份有限公司 | 一种基于区块链的链下数据安全存储的方法及系统 |
CN115208665B (zh) * | 2022-07-15 | 2023-05-05 | 河南农业大学 | 一种基于区块链的种质资源数据安全共享方法及系统 |
CN115134169B (zh) * | 2022-08-29 | 2022-11-15 | 北京中科金财科技股份有限公司 | 一种区块链数据管理方法及系统 |
CN116108024B (zh) * | 2023-04-14 | 2023-06-27 | 深圳市安信达存储技术有限公司 | 一种数据存储方法及数据存储系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299217A (zh) * | 2018-11-02 | 2019-02-01 | 符安文 | 一种基于区块链的安全存储和检索方法 |
CN111427958A (zh) * | 2020-03-26 | 2020-07-17 | 北京链化未来科技有限公司 | 基于区块链的去中心化数据数据共享方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10990687B2 (en) * | 2017-08-01 | 2021-04-27 | Dell Products L.P. | System and method for user managed encryption recovery using blockchain for data at rest |
US20200026834A1 (en) * | 2018-07-23 | 2020-01-23 | One Kosmos Inc. | Blockchain identity safe and authentication system |
WO2020199177A1 (zh) * | 2019-04-04 | 2020-10-08 | 华为技术有限公司 | 运行智能合约的方法和装置 |
CN110147994B (zh) * | 2019-04-13 | 2020-12-22 | 山东公链信息科技有限公司 | 一种基于同态加密的区块链的即时执行方法 |
CN111047450A (zh) * | 2020-03-18 | 2020-04-21 | 支付宝(杭州)信息技术有限公司 | 链上数据的链下隐私计算方法及装置 |
CN112333158B (zh) * | 2020-10-20 | 2022-11-04 | 杭州云象网络技术有限公司 | 一种基于区块链一体机的隐私保护方法及系统 |
CN112215609B (zh) * | 2020-11-05 | 2021-09-21 | 深圳市瀚兰区块链地产有限公司 | 基于超级账本的房产用户身份认证方法、装置和电子设备 |
-
2021
- 2021-11-08 CN CN202111310039.XA patent/CN113742764B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299217A (zh) * | 2018-11-02 | 2019-02-01 | 符安文 | 一种基于区块链的安全存储和检索方法 |
CN111427958A (zh) * | 2020-03-26 | 2020-07-17 | 北京链化未来科技有限公司 | 基于区块链的去中心化数据数据共享方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113742764A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113742764B (zh) | 基于区块链的可信数据安全存储方法、检索方法及设备 | |
US11726993B1 (en) | Systems and methods for cryptographically-secure queries using filters generated by multiple parties | |
Sun et al. | Data security and privacy in cloud computing | |
CN109670331A (zh) | 一种基于区块链的对称可搜索加密方法 | |
JP2020092414A (ja) | ブロックチェーンのための暗号化データ共有管理 | |
CN110611662B (zh) | 一种基于属性基加密的雾协同云数据共享方法 | |
CN106682069A (zh) | 用户可控的数据检索方法及数据存储方法、终端、系统 | |
CN111026788A (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
Jyoti et al. | A blockchain and smart contract-based data provenance collection and storing in cloud environment | |
EP4020265A1 (en) | Method and device for storing encrypted data | |
CN115473715B (zh) | 前向安全密文等值测试公钥加密方法、装置、系统及介质 | |
WO2023134055A1 (zh) | 隐私联合推理方法、装置、设备及存储介质 | |
Kabir et al. | A dynamic searchable encryption scheme for secure cloud server operation reserving multi-keyword ranked search | |
Li et al. | DVPPIR: privacy-preserving image retrieval based on DCNN and VHE | |
US20210034778A1 (en) | Anonymous ranking service | |
CN111027084A (zh) | 一种基于属性基加密的细粒度授权的关键字安全查询方法 | |
CN113904823B (zh) | 常数级授权计算复杂度的属性基可搜索加密方法及系统 | |
Cai et al. | Vizard: A metadata-hiding data analytic system with end-to-end policy controls | |
Rajkumar et al. | A secure framework for managing data in cloud storage using rapid asymmetric maximum based dynamic size chunking and fuzzy logic for deduplication | |
Swami et al. | A new secure data retrieval system based on ECDH and hierarchical clustering with Pearson correlation | |
Rao | Efficient and Reliable Secure Cloud Storage Schema of Block chain for Data De-duplication in Cloud | |
He et al. | Cloud computing data privacy protection method based on blockchain | |
Akmal et al. | Enhancing the security of data in cloud computing environments using Remote Data Auditing | |
Mkpojiogu et al. | Hybrid soft computing techniques for enhancement of data privacy on cloud | |
XIONG et al. | Searchable Encryption Scheme for Large Data Sets in Cloud Storage Environment. |
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 |