一种链式账本的授时认证方法、装置及设备制造方法及图纸

技术编号:21484512 阅读:28 留言:0更新日期:2019-06-29 06:27
公开了一种链式账本的授时认证方法方法、装置及设备。在通过生成包括一定数量数据记录的数据块,并且记录下数据块的哈希值,从而实现以数据块链的方式对数据记录进行中心化的存储的场景下。通过选定部分账本,并根据账本中数据块的顺序构建默克尔树,从而得到关于该数据块的默克尔树的根哈希,进而将所述根哈希以及相关信息发送至时间认证机构进行授时和签名,从而可以确认并验证该部分账本不可能被日后伪造,可以有效防止服务方和被服务方联合制造包含虚假时间戳的账本。

【技术实现步骤摘要】
一种链式账本的授时认证方法、装置及设备
本说明书实施例涉及信息
,尤其涉及一种链式账本的授时认证方法、装置及设备。
技术介绍
通过生成包括一定数量数据记录的数据块,并且记录下数据块的哈希值,从而实现以链式账本的方式对数据记录进行中心化的存储。虽然服务方本身已经难以对数据进行直接修改,但此时,仍然存在用户或者企业与服务方联合作假的可能性。例如,为逃避审计,用户和服务方联合起来对于部分数据块进行了伪造,形成了一条难以验证的伪链。基于此,需要一种可以保证账本真实性的认证方案。
技术实现思路
针对现有中心化的链式账本中存在用户和服务方有可能联合作假的问题,本说明书实施例提供一种链式账本的授时认证方法、装置及设备,所述方法应用于通过多个数据块存储数据的中心化的数据库服务提供方中,具体包括:确定需要进行授时认证的目标账本,所述目标账本中至少包含一个数据块,或者多个块高连续的数据块;按照所述目标账本中数据块的块高的顺序,生成对应于所述目标账本的默克尔树,基于各数据块的块哈希确定所述默克尔树的根哈希;将所述默克尔树的根哈希和数据块的相关信息发送至时间公正机构,其中,所述数据块的相关信息包括起始块高、结束块高或者数据块的数量;接收时间公正机构所返回的对应于所述目标账本的包含可信时间戳和时间公正机构签名的的授时证书;在所述链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。对应的,本说明书实施例还提供一种链式账本的授时认证装置,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,所述装置包括:确定模块,确定需要进行授时认证的目标账本,所述目标账本中至少包含一个数据块,或者多个块高连续的数据块;默克尔树生成模块,按照所述目标账本中数据块的块高的顺序,生成对应于所述目标账本的默克尔树,基于各数据块的块哈希确定所述默克尔树的根哈希;发送模块,将所述默克尔树的根哈希和数据块的相关信息发送至时间公正机构,其中,所述数据块的相关信息包括起始块高、结束块高或者数据块的数量;接收模块,接收时间公正机构所返回的对应于所述目标账本的包含可信时间戳和时间公正机构签名的的授时证书;在所述链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。在通过生成包括一定数量数据记录的数据块,并且记录下数据块的哈希值,从而实现以数据块链的方式对数据记录进行中心化的存储的场景下。通过选定部分账本,并根据账本中数据块的顺序构建默克尔树,从而得到关于该数据块的默克尔树的根哈希,进而将所述根哈希以及相关信息发送至时间认证机构进行授时和签名,从而可以确认并验证该部分账本不可能被日后伪造,可以有效防止服务方和被服务方联合制造包含虚假时间戳的账本。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。附图说明为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1当前技术中所涉及的系统架构的示意图;图2是本说明书实施例提供的一种链式账本的授时认证的流程示意图;图3为本说明书实施例所提供的一种示例性的部分清除的流程示意图;图4是本说明书实施例提供的一种构造隐匿化数据记录的过程示意图;图5为本说明书实施例中所涉及的另一系统架构的示意图;图6是本说明书实施例提供的一种链式账本的授时认证的结构示意图;图7示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图;图8为本说明书实施例给出的一种具体的生成授时证书的示意图。具体实施方式为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。首先需要说明的是,在当前的服务器架构中,数据库服务器可以是直接对接的客户端个人用户,也可以是由一些应用服务器对接客户端个人用户,而数据库服务器则对接所述应用服务器。如图1所示,图1当前技术中所涉及的系统架构的示意图。因此,在本说明书实施例中,当用户是应用服务器时,数据库服务提供方可以是图1中所示的数据库服务器;而在用户是客户端个人用户时,数据库服务提供方也可以是由应用服务器和数据库服务器构成的服务端整体。但无论在那种情形下,对于数据的存储都是在数据库服务提供方完成,而对于数据的操作(包括增删改查等等)也是基于用户的指令在数据库服务提供方进行,用户数据以及对数据的操作结果均存储在数据库服务提供方,用户本地以及其它设备上不能存储有该数据。换言之,本说明书中的数据库服务提供方是以中心化的形式提供数据服务。以下结合附图,详细说明本说明书各实施例提供的技术方案。如图2所示,图2是本说明书实施例提供的一种链式账本的授时认证方法的流程示意图,该流程具体包括如下步骤:S201,确定需要进行授时认证的目标账本,所述目标账本中至少包含一个数据块,或者多个块高连续的数据块。首先需要说明的是,在所述链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。具体而言,服务方首先从已经生成并存储的数据块中确定出需要进行授时认证的一段账本,其中至少应该包含一个数据块,或者多个块高连续的数据块。确定的方式可以基于用户操作进行指定,例如,用户发起授时指令,指令中包含需要进行授时认证的起始块高和块数量;也可以是无需用户指定,服务方基于预设的业务逻辑自动进行。例如,从最细粒度上,可以每一个数据块都去申请授时。在这种方式下,默克尔树的根哈希即为该数据块的块哈希值,该方式可以最大程度的对账本(即各数据块)进行真实性的保护。由于数据块的出块频率较高,这种方式无论对于授时中心,还是对于服务方而言,成本开销都会比较大。一种可选的方式为,设置一定的授时预设条件,当满足一定的授时预设条件时,发起授时请求。在新生成的数据块都认为是待授时认证的数据块时,所述的授时预设条件可以是:待授时认证的数据块达到数量阈值,或者,距离上一次授时认证的时间间隔已经到达时间阈值。S203,按照所述目标账本中数据块的块高的顺序,生成对应于所述目标账本的默克尔树,基于各数据块的块哈希确定所述默克尔树的根哈希。由于链式账本的前后依存性,此处生成的默克尔树只需按照各数据块的顺序进行生成即可。具体的根哈希的计算方式即为常规的计算方式,此处不再赘述。S205,将所述默克尔树的根哈希和数据块的相关信息发送至时间公正机构,其中,所述数本文档来自技高网...

【技术保护点】
1.一种链式账本的授时认证方法,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,所述方法包括:确定需要进行授时认证的目标账本,所述目标账本中至少包含一个数据块,或者多个块高连续的数据块;按照所述目标账本中数据块的块高的顺序,生成对应于所述目标账本的默克尔树,基于各数据块的块哈希确定所述默克尔树的根哈希;将所述默克尔树的根哈希和数据块的相关信息发送至时间公正机构,其中,所述数据块的相关信息包括起始块高、结束块高或者数据块的数量;接收时间公正机构所返回的对应于所述目标账本的包含可信时间戳和时间公正机构签名的的授时证书;在所述链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。

【技术特征摘要】
1.一种链式账本的授时认证方法,应用于通过多个数据块存储数据的中心化的数据库服务提供方中,所述方法包括:确定需要进行授时认证的目标账本,所述目标账本中至少包含一个数据块,或者多个块高连续的数据块;按照所述目标账本中数据块的块高的顺序,生成对应于所述目标账本的默克尔树,基于各数据块的块哈希确定所述默克尔树的根哈希;将所述默克尔树的根哈希和数据块的相关信息发送至时间公正机构,其中,所述数据块的相关信息包括起始块高、结束块高或者数据块的数量;接收时间公正机构所返回的对应于所述目标账本的包含可信时间戳和时间公正机构签名的的授时证书;在所述链式账本中,除初始数据块以外,每一数据块中包含至少一条数据记录,每一数据块中包含由前一数据块的哈希值和自身所包含的数据记录确定的自身数据块的哈希值,数据块的块高基于成块时间的先后顺序单调递增。2.如权利要求1所述的方法,在中心化的数据库服务提供方,数据块通过如下方式预先生成:接收待存储的数据记录,确定各数据记录的哈希值;当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:当N=1时,初始数据块的哈希值和块高基于预设方式给定;当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值、各数据记录和数据块的成块时间的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。3.如权利要求2所述的方法,所述预设的成块条件包括:待存储的数据记录数量达到数量阈值;或者,距离上一次成块时刻的时间间隔达到时间阈值。4.如权利要求1所述的方法,确定需要进行授时认证的目标账本,包括:将每一个新出的数据块确定为目标账本;或者,基于用户的指令所包含的起始块高和块数量,确定需要进行授时认证的目标账本。5.如权利要求1所述的方法,确定需要进行授时认证的目标账本,包括:将符合授时预设条件内的新生成的账本作为目标账本,所述授时预设条件包括:新生成的数据块达到数量阈值时;或者,距离上一次授时认证的时间间隔已经到达时间阈值。6.一种链式账本的授时认证装置,应用于通过多个数据块存储数据的中心化...

【专利技术属性】
技术研发人员:杨新颖
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1