当前位置: 首页 > 专利查询>斯凯维公司专利>正文

修剪防篡改数据存储装置中的条目制造方法及图纸

技术编号:33725415 阅读:9 留言:0更新日期:2022-06-08 21:19
提供了一种过程,该过程包括修剪防篡改数据存储装置中的条目,同时在修剪之后保持先前和后续条目的防篡改性质。操作包括遍历防篡改数据存储装置中的智能合约的程序状态的实例的链表并修剪防篡改数据存储装置中的程序状态的所标识的实例。态的所标识的实例。态的所标识的实例。

【技术实现步骤摘要】
【国外来华专利技术】修剪防篡改数据存储装置中的条目
[0001]相关申请的交叉引用
[0002]本专利申请要求于2019年9月27日提交的名称为“修剪防篡改数据存储装置中的条目”的美国临时专利申请62/907,271的权益。每个在前列出的在先申请的全部内容通过引用结合于此。


[0003]本公开总体上涉及防篡改数据存储装置,并且更具体而言,涉及修剪防篡改数据存储装置中的条目。

技术介绍

[0004]防篡改数据结构通常用于以不会在数据结构中留下修改的证据而随后进行修改在计算上通常是不可行的方式记录数据。通常,这些数据结构将所记录的数据条目与基于这些条目的单向函数的输出相关联。单向函数的输出与未来某个时间点的条目之间的不一致性指示篡改。通常可以通过基于条目的当前版本重新计算单向函数以确定输出是否与数据结构中存在的相匹配来检查篡改。如果其不匹配,则潜在地指示篡改。
[0005]单向函数通常表现出在给定输出的情况下计算输入(例如反转函数)的相对高的计算复杂度(例如时间复杂度或存储复杂度方面)来,但是表现出根据给定输入计算输出的相对低的计算复杂度。通常,这些函数反转在计算上是昂贵的,典型地是到了商业上不可行的程度。例如,许多单向函数在利用消费级、最先进的中央处理器的情况下要求超过10年的计算时间来确定产生预定输出的输入。为了进一步强化数据结构,可以将这些单向函数的输入和输出与各种变化的值(如时间戳)链接并组合,以放大反转计算所要求的计算复杂度。
[0006]其结果是,对防篡改数据结构中的条目的改变导致与基于那些条目的各种单向函数的输出在内部不一致的条目。篡改通常可以通过审核器过程检测,该审核器过程基于当前条目重新计算单向函数的结果并确定该结果是否与数据结构中已经存在的那些结果一致。对条目的改变以计算上不可避免的方式(例如通过定制经修改的条目来产生单向函数的相同输出)使防篡改数据结构内部不一致。

技术实现思路

[0007]以下是本技术的一些方面的非穷举列表。这些和其他方面在以下公开内容中描述。
[0008]一些方面包括一种过程,该过程包括:利用计算机系统接收对存储在防篡改数据存储装置中的数据进行修剪的请求,其中:数据包括第一程序在第一时间的第一程序状态,第一程序是具有存储在防篡改数据存储装置中的程序状态的多个程序中的一个,该请求利用标识符唯一地标识第一程序,该标识符将第一程序与多个程序当中的第二程序进行区分,防篡改数据存储装置包括加密散列指针的有向非循环图,加密散列指针的第一子集具
有基于第一程序在第一时间的第一程序状态的加密散列值,加密散列指针的第二子集具有基于第一程序在第二时间的第二程序状态的加密散列值,加密散列指针的第三子集具有基于第一程序在第一时间的第一程序状态、第一程序在第二时间的第二程序状态以及来自第一时间之前的第二程序的程序状态的加密散列值,并且防篡改数据存储装置包括将加密散列指针的第一子集链接到加密散列指针的第二子集的记录或者与该记录相关联;响应于该请求,基于标识符和将加密散列指针的第一子集链接到加密散列指针的第二子集的记录,利用计算机系统选择:有向非循环图的节点的第一子集,该第一子集具有基于第一程序在第一时间的第一程序状态的第一内容,加密散列指针的第一子集的散列值基于第一内容;以及有向非循环图的节点的第二子集,该第二子集具有基于第一程序在第一时间的第一程序状态的第二内容,加密散列指针的第二子集的散列值基于第二内容;利用计算机系统,通过改变存储器中的第一内容和第二内容,从防篡改数据存储装置中修剪第一程序状态和第二程序状态,其中:在修剪之后,加密散列指针的有向非循环图的加密散列值在内部是一致的,并且在修剪之后,来自第一时间之前的第二程序的程序状态保留在防篡改数据存储装置中。
[0009]一些方面包括具有操作码的虚拟机,该虚拟机被配置成实现对防篡改数据结构的修剪,同时保留数据结构中先于被修剪的条目的数据的成员资格状态和防篡改性质的加密证明。
[0010]一些方面包括存储指令的有形的、非暂时性的机器可读介质,这些指令在由数据处理装置执行时使得数据处理装置执行包括以上提及的过程的操作。
[0011]一些方面包括一种系统,该系统包括:一个或多个处理器;以及存储指令的存储器,这些指令在被处理器执行时使得处理器实现以上提及的过程的操作。
附图说明
[0012]当根据以下附图阅读本申请时,将更好地理解本技术的以上提及的各方面和其他方面,在附图中,相似的数字表示相似或相同的元件:
[0013]图1是描绘根据本技术的一些实施例的通过其智能合约的程序状态可以演化、被持久保存到防篡改数据存储装置并被修剪的过程的示例的流程图;
[0014]图2是描绘根据本技术的一些实施例的可以通过其在分布式计算平台中实施修剪的过程的示例的流程图;
[0015]图3A和图3B是根据本技术的一些实施例的修剪可以应用于其中的防篡改数据存储装置的示例的示意图;
[0016]图4是根据本技术的一些实施例的其中可以实施图3A和图3B的数据存储装置以及图1和图2的过程的分布式计算平台的示例的物理和逻辑架构框图;
[0017]图5是描绘根据本技术的一些实施例的可以由图4的分布式计算平台实施的访问和隐私控制的框图;以及
[0018]图6是描绘可以通过其实施上述技术的计算设备的示例的框图。
[0019]虽然本技术易于进行各种修改和替代性形式,但是其具体实施例在附图中以示例的方式示出并且将在此详细描述。附图可能不是按比例绘制的。然而,应当理解的是,附图及其详细描述并不旨在将本技术限制于所公开的特定形式,而是相反,本专利技术旨在覆盖落
入由所附权利要求书限定的本技术的精神和范围内的所有修改、等同物和替代性方案。
具体实施方式
[0020]为了缓解本文描述的问题,本专利技术诸位专利技术人必须专利技术解决方案并且在某些情况下同样重要的是认识到在密码学和分布式计算领域中被其他人忽略(或尚未预见)的问题。事实上,本专利技术诸位专利技术人希望强调认识到新出现的这些问题的困难并且如果行业趋势如专利技术人预期那样继续,这些问题将在未来变得更加明显。进一步,因为解决了多个问题,所以应该理解的是,一些实施例是特定于问题的,并且不是所有实施例都解决了本文描述的传统系统的每个问题或者提供了本文描述的每个益处。也就是说,下面描述了解决这些问题的各种排列的改进。
[0021]如上所讨论的那样,防篡改数据存储装置(例如,利用一个或多个防篡改数据结构来使得数据防篡改的储存库)提供了所希望的性质,包括使得检测对数据存储装置中的条目的篡改相对容易并且使得定制条目以避免这种检测相对困难或不可能。然而,当在商业使用情况下部署防篡改数据存储装置时,这些提供可能产生挑战,在商业使用情况下,用户可能希望在某些条目被提交给数据存储装置之后对这些条目进行修剪(例如,重写、删除、利用空值替换、去索引或出于与事务相关联的目的以其他方式使其不可访问)。例如,由于人为错误、软件缺陷或各种噪声源,经常输入错误的数据,并且各方可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种存储指令的有形的、非暂时性机器可读介质,所述指令在被一个或多个处理器执行时实现包括以下操作:利用计算机系统接收对存储在防篡改数据存储装置中的数据进行修剪的请求,其中:所述数据包括第一程序在第一时间的第一程序状态,所述第一程序是具有存储在所述防篡改数据存储装置中的程序状态的多个程序中的一个,所述请求利用标识符唯一地标识所述第一程序,所述标识符将所述第一程序与所述多个程序当中的第二程序进行区分,所述防篡改数据存储装置包括加密散列指针的有向非循环图,所述加密散列指针的第一子集具有基于所述第一程序在所述第一时间的第一程序状态的加密散列值,所述加密散列指针的第二子集具有基于所述第一程序在第二时间的第二程序状态的加密散列值,所述加密散列指针的第三子集具有基于所述第一程序在所述第一时间的第一程序状态、所述第一程序在所述第二时间的第二程序状态以及来自所述第一时间之前的所述第二程序的程序状态的加密散列值,并且所述防篡改数据存储装置包括将所述加密散列指针的第一子集链接到所述加密散列指针的第二子集的记录或者与所述记录相关联;响应于所述请求,基于所述标识符和将所述加密散列指针的第一子集链接到所述加密散列指针的第二子集的记录,利用所述计算机系统选择:所述有向非循环图的节点的第一子集,其具有基于所述第一程序在所述第一时间的所述第一程序状态的第一内容,所述加密散列指针的第一子集的散列值基于所述第一内容;以及所述有向非循环图的节点的第二子集,其具有基于所述第一程序在所述第一时间的所述第一程序状态的第二内容,所述加密散列指针的第二子集的散列值基于所述第二内容;利用所述计算机系统,通过改变存储器中的所述第一内容和所述第二内容,从所述防篡改数据存储装置中修剪所述第一程序状态和所述第二程序状态,其中:在所述修剪之后,所述加密散列指针的有向非循环图的加密散列值在内部是一致的,并且在所述修剪之后,来自所述第一时间之前的所述第二程序的程序状态保留在所述防篡改数据存储装置中。2.根据权利要求1所述的介质,其中:接收包括接收所述第一程序的子例程的调用,所述调用被发送到被配置成将状态持久保存到所述防篡改数据存储装置的许可分布式计算平台上的所述第一程序的地址;所述地址基于所述第一程序的创建者的地址和由所述创建者先前部署的程序的计数;所述子例程在被解释为字节码时,调用虚拟机的修剪操作码,在所述虚拟机的复制实例上,所述第一程序在所述分布式计算平台的多个计算节点上被冗余地执行;所述记录包括基于所述第一程序在不同时间的程序状态的所述防篡改数据存储装置中的节点的链表;
所述第一内容包括通过其部署所述第一程序的所述分布式计算平台上的事务的加密事务散列;修剪包括改变在其上部署所述第一程序的所述分布式计算平台上的事务的加密事务散列;所述第二内容包括基于具有所述第一程序而不是所述第二程序的程序状态的加密散列指针的第一字典树的根节点的加密存储散列;修剪包括改变所述加密存储散列;所述第二内容包括通过其调用所述第一程序以将所述第一程序的程序状态从所述第一程序状态变化为所述第二程序状态的事务;所述事务被存储在加密散列指针的第二字典树中,所述加密散列指针的第二字典树具有带有所述多个程序中除所述第一程序之外的程序的事务;并且修剪包括在加密散列指针的所述第二字典树中改变通过其调用所述第一程序以将所述第一程序的程序状态从所述第一程序状态变化为所述第二程序状态的事务。3.根据权利要求1所述的介质,其中:修剪包括对所述防篡改数据存储装置中的条目进行去索引,并将条目指定为已在所述防篡改数据存储装置中被修剪。4.根据权利要求1所述的介质,其中,修剪包括:迭代经过所述第一程序的包括所述第一程序状态和所述第二程序状态的程序状态的每个实例,并且在至少多个迭代的每一个中:在状态字典树中的当前迭代条目中,基于所述第一程序的代码改变当前迭代的加密代码散列值;在状态字典树中的所述当前迭代条目中,基于由所述第一程序存储的数据改变当前迭代的加密存储散列值;改变由所述状态字典树中的所述当前迭代条目中的加密事务散列所标识的当前迭代的事务条目中除当前迭代的加密收据散列之外的值;改变由所述当前迭代的加密收据散列标识的收据字典树中的条目中的值;以及访问指向状态字典树中的前趋条目的当前迭代指针。5.根据权利要求1所述的介质,其中,修剪在其中事务字典树被添加到加密散列指针的所述有向非循环图的实例之间同步执行。6.根据权利要求1所述的介质,其中,所述操作包括通过按时间顺序执行存储在所...

【专利技术属性】
技术研发人员:杰弗里
申请(专利权)人:斯凯维公司DBA阿索尼
类型:发明
国别省市:

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

1