一种基于区块链技术的数据库防篡改方法及系统技术方案

技术编号:27031050 阅读:27 留言:0更新日期:2021-01-12 11:14
本发明专利技术涉及一种基于区块链技术的数据库防篡改方法及系统,其中,方法包括以下步骤:当一条新记录添加到数据库表格中时,基于指示函数,以当前新添加记录的ID为参数,计算当前记录将要指向的记录的ID,所指向的记录称为前一条记录,以在当前记录与前一条记录之间创建指向关系;当添加更多的记录时,基于相同的指示函数,构建了单区块链数据结构;以及对单指示函数进行扩展,对于新添加的数据记录,使用多个指示函数,分别以当前记录的ID为参数,计算获得多个“前一条记录”的ID;在当前记录与多个“前一条记录”之间创建了指向关系,基于多个指示函数,构建多区块链数据结构;使数据库数据更安全。

【技术实现步骤摘要】
一种基于区块链技术的数据库防篡改方法及系统
本专利技术涉及数据库防篡改技术,尤其涉及一种基于区块链技术的数据库防篡改方法及系统。
技术介绍
数据是信息系统的核心资产。由于信息泄露等原因导致的数据损失,将引起灾难的结果。传统的保护数据的方法是数据加密。除了基于数据加密的保护数据安全的方法之外,基于区块链的方法也可以保护数据库数据的安全。区块链技术的关键特点是交易有效性的共识机制,在没有中央机制控制的情况下,彼此之间不信任的个体之间发生了交易。常用的区块链技术包括共识机制,Hash算法,数字签名技术,点对点技术,工作量证明机制,时间戳技术等。其中Hash算法是区块链技术中常用的算法,经常用于区块链的构建及交易完整性的确认等场景中。本专利以Hash算法为基础,基于指示层和混合层技术,构建了数据库系统防篡改的方法与系统。
技术实现思路
本专利技术的目的在于,区别于传统的数据加密方法,使用指示层与混合层的区块链技术,构建了数据库表格数据防篡改的方法与系统。为实现上述目的,一方面,本专利技术提供了一种基于区块链技术的数据库防篡改方法,该方法包括以下步骤:当一条新记录添加到数据库表格中时,基于指示函数,以当前新添加记录的ID为参数,计算当前记录将要指向的记录的ID,所指向的记录称为前一条记录,以在当前记录与前一条记录之间创建指向关系;当添加更多的记录时,基于相同的指示函数,构建了单区块链数据结构;以及对单指示函数进行扩展,对于新添加的数据记录,使用多个指示函数,分别以当前记录的ID为参数,计算获得多个“前一条记录”的ID;在当前记录与多个“前一条记录”之间创建了指向关系,使数据库数据更安全。优选地,在对所述数据库表格数据进行写操作时,写入当前记录的基本的数据信息和Hash值,Hash值是基于当前记录与多个前一条记录的内容计算所获得的Hash值,同时构建当前记录与前一条记录之间的指向关系,完成写操作。优选地,在对所述数据库表格数据进行读操作时,读取当前记录的内容及已经存储的Hash值,基于指示函数,计算当前记录的各前一条记录的索引,基于当前记录及各前一条记录的内容,计算Hash值,比较这两个Hash值是否相等,如果相等,表明读操作成功,如果不相等,表明数据被篡改。优选地,在进行检查操作时,调用检查所有记录的Hash值函数,对已经写入数据库表格的记录,基于指示函数,计算Hash值,将计算所获得的Hash值与已经存储在数据库表格中的Hash值进行比对,依据比对结果,以检查数据库数据是否被篡改。优选地,数据库表格的字段包括:数据ID字段、数据内容字段和Hash值字段,在数据库表格中,没有创建相应的字段以存储指向关系,在需要使用指向关系验证数据的正确性时,基于指示函数,实时计算数据记录之间的指向关系。另一方面,本专利技术提供了一种基于区块链技术的数据库防篡改系统,该系统包括:指示层,用于构建单区块链数据结构;当一条新记录添加到数据库表格中时,基于指示函数,以当前新添加记录的ID为参数,计算当前记录将要指向的记录的ID,所指向的记录称为前一条记录,以在当前记录与前一条记录之间创建指向关系;当添加更多的记录时,基于相同的指示函数,构建了单区块链数据结构;以及混合层,用于构建多区块链数据结构;对单指示函数进行扩展,对于新添加的数据记录,使用多个指示函数,分别以当前记录的ID为参数,计算获得多个“前一条记录”的ID;在当前记录与多个“前一条记录”之间创建了指向关系,基于多个指示函数,构建多区块链数据结构;使数据库数据更安全。本专利技术分别基于指示层中的指示函数技术,混合层中的混合链表技术,构建单区块链数据结构和多区块链数据结构,并定义了三种操作,写操作,读操作,检查操作。当数据库表格数据被篡改时,将触发防篡改算法,冻结用户账号以阻止用户数据进一步的损失,实现数据库防篡改功能。附图说明图1为本专利技术实施例提供的一种基于区块链技术的数据库防篡改系统结构示意图;图2为数据库表格的字段结构示意图;图3为写操作,读操作,检查操作流程示意图。具体实施方式图1为本专利技术实施例提供的一种基于区块链技术的数据库防篡改系统结构示意图。如图1所示,底层是待保护的数据库表格数据。在指示层,定义指示函数,针对底层的数据库表格中存储的数据记录,构建单区块链数据结构。当一条数据记录添加到数据库表格中,例如,当前添加到数据库表格的记录编号是200,指示函数以当前编号为200的记录为输入,计算当前记录将要指向的记录编号,假设指示函数计算结果返回的记录编号是30,即记录30是记录200的前一条记录,记录200将指向记录30。继续添加其他记录,使用相同的单指向函数,在新添加的记录与表格中已有的记录之间构建指向关系。当数据库表格中添加了多条数据记录之后,基于单指示函数,在多条数据记录之间构建单区块链数据结构。在混合层,定义多个指示函数,以实现构建多区块链数据结构的功能。通过扩展上述单指示函数的示例,以说明混合区块链技术。例如,当前添加到数据库表格的记录编号是200,使用多个指示函数计算编号为200的记录将要指向的记录。例如,使用两个不同的指示函数,分别返回的编号是30,51,即编号为30和51的记录分别是编号为200的记录的不同的前一条记录,记录200将指向记录30和记录51。当继续添加新记录时,分别基于不同的指示函数,计算新记录将要指向的不同的记录编号。基于多个指示函数,构建多区块链数据结构。基于构建的多区块链数据结构,在进行写操作,读操作,检查操作时,实现数据库数据的防篡改功能。图2为数据库表格的字段结构示意图。如图2所示,指示函数构建了数据记录之间的指向关系。图2表示数据库表格的字段设置。其中,三个实线框:数据ID字段,数据内容字段,Hash值字段,在构建数据库表格时,创建了对应的字段以存储相应的信息,而指向字段以虚线框表示,在数据库表格中,没有创建相应的字段以存储指向关系,在需要使用指向关系验证数据的正确性时,基于指示函数,实时计算数据记录之间的指向关系。基于指示层与混合层的区块链技术的数据库防篡改算法如下:输入:当前数据库表格数据。输出:基于指示层与混合层,分别创建数据结构,实现防篡改功能。本专利技术实施例提供的基于指示层与混合层的区块链技术的数据库防篡改方法定义了三种操作,写操作,读操作,检查操作,如图3所示。本专利技术实施例构建的方法是实现数据库数据的防篡改功能,需要先进行写操作,数据才能保存在数据库中。所以写操作先于读操作,检查操作进行。在图3中,写操作与读操作,检查操作出现在图的不同位置,以示区别。对于写操作,调用数据存储函数(算法第23行至第25行),保存数据至数据库表格。具体的写操作的,除了存储本记录的信息,还需要计算记录之间的指向关系。数据存储函数调用设置Hash值函数(算法第26行至第33行),以当前记录的ID为参数,获取当前记录的各前一条记录,基于当前记录及多本文档来自技高网...

【技术保护点】
1.一种基于区块链技术的数据库防篡改方法,其特征在于,包括以下步骤:/n当一条新记录添加到数据库表格中时,基于指示函数,以当前新添加记录的ID为参数,计算当前记录将要指向的记录的ID,所指向的记录称为前一条记录,以在当前记录与前一条记录之间创建指向关系;当添加更多的记录时,基于相同的指示函数,构建了单区块链数据结构;以及/n对单指示函数进行扩展,对于新添加的数据记录,使用多个指示函数,分别以当前记录的ID为参数,计算获得多个“前一条记录”的ID;在当前记录与多个“前一条记录”之间创建了指向关系,基于多个指示函数,构建多区块链数据结构;使数据库数据更安全。/n

【技术特征摘要】
1.一种基于区块链技术的数据库防篡改方法,其特征在于,包括以下步骤:
当一条新记录添加到数据库表格中时,基于指示函数,以当前新添加记录的ID为参数,计算当前记录将要指向的记录的ID,所指向的记录称为前一条记录,以在当前记录与前一条记录之间创建指向关系;当添加更多的记录时,基于相同的指示函数,构建了单区块链数据结构;以及
对单指示函数进行扩展,对于新添加的数据记录,使用多个指示函数,分别以当前记录的ID为参数,计算获得多个“前一条记录”的ID;在当前记录与多个“前一条记录”之间创建了指向关系,基于多个指示函数,构建多区块链数据结构;使数据库数据更安全。


2.根据权利要求1所述的方法,其特征在于,对所述数据库表格数据进行写操作时,写入当前记录的基本的数据信息和Hash值,Hash值是基于当前记录与多个前一条记录的内容计算所获得的Hash值,同时构建当前记录与前一条记录之间的指向关系,完成写操作。


3.根据权利要求2所述的方法,其特征在于,对所述数据库表格数据进行读操作时,读取当前记录的内容及已经存储的Hash值,基于指示函数,计算当前记录的各前一条记录的索引,基于当前记录及各前一条记录的内容,计算Hash值,比较这两个Hash值是否相等,如果相等,表明读操作成功,如果不相等,表明数据被篡改。


4.根据权利要求2所述的方法,其特征在于,在进行检查操作时,调用检查所有记录的Hash值函数,对已经写入数据库表格的记录,基于指示函数,计算Hash值,将计算所获得的Hash值与已经存储在数据库表格中的Hash值进行比对,依据比对结果,以检查数据库数据是否被篡改。


5.根据权利要求1所述的方法,其特征在于,数据库表格的字段包括:数据ID字段、数据内容字段和Hash值字段,在数据库表格中,没有创建相应的字段以存储指向关系,在需要使用指向关系验证数据的正确性时,基于指示函数,实时计算数据记录之间的指向关系。


6.一种基于区块链...

【专利技术属性】
技术研发人员:詹科张巍陆忠华代闯闯
申请(专利权)人:中国科学院计算机网络信息中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1