CN102413313A - 数据完整性验证信息生成方法和装置、数据完整性验证方法和装置 - Google Patents
数据完整性验证信息生成方法和装置、数据完整性验证方法和装置 Download PDFInfo
- Publication number
- CN102413313A CN102413313A CN2010102953121A CN201010295312A CN102413313A CN 102413313 A CN102413313 A CN 102413313A CN 2010102953121 A CN2010102953121 A CN 2010102953121A CN 201010295312 A CN201010295312 A CN 201010295312A CN 102413313 A CN102413313 A CN 102413313A
- Authority
- CN
- China
- Prior art keywords
- data
- hash
- integrity verification
- information
- verification information
- 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.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
一种生成数据的完整性验证信息的装置和方法,该装置包括:哈希结构生成单元,通过多个数据源在特定的时间段内各自包括的数据分段的哈希值生成与该特定时间段相对应的哈希结构,使所有数据分段的哈希值分别代表哈希结构的最底层的子节点以便计算其根哈希值;公共验证信息获取单元,获取针对根哈希值的公共验证信息;完整性验证信息生成单元,为多个数据源生成在特定的时间段内各自包括的数据分段的完整性验证信息,每一个数据分段的完整性验证信息包括公共验证信息、哈希结构中的、从代表最低层的叶子节点的该数据分段的哈希值到根结点的路径信息、以及在该路径中包括的、该子节点相关的节点的哈希值。还提供对数据的完整性进行验证的装置和方法。
Description
技术领域
本发明总体上涉及数据处理的技术领域,更具体而言,涉及用于生成数据完整性验证信息的方法和装置,以及对数据的完整性进行验证的方法和装置。
背景技术
视频监控在社会治安、防止犯罪、案件取证等方面正在发挥越来越重要的作用,许多企事业单位、交通道路、公共场所,甚至个人住宅都安装了监控摄像头。根据《中华人民共和国刑事诉讼法》第42条的规定,视听资料经过查证属实,可作为定案的根据。但是由于视频数据容易伪造和篡改,现实中视频及录音(以下简称视频)能否作为法庭的有效证据一直存在争议。换言之,视频作为法庭证据的一个必要条件是保证视频在录制后没有经过任何篡改(例如屏蔽、删节、修改内容等)即保证完整性。
保证完整性在编码理论和密码学领域有很多方法,根据完整性需求的强度不同可以采用不同的方法。一种可证明安全有效防止或检测视频被篡改的方法是使用时间戳对所录制视频的完整性加以实时保护,即由监控摄像头在线实时向时间戳授权机构(TSA,Time Stamp Authority)申请时间戳,使得加盖时间戳的视频不可篡改(或可检测篡改),时间真实有效,从而保证视频的完整性可以被任意人验证或权威机构证明。因而加盖时间戳的监控视频在完整性上具有法律效力。目前国内外有许多TSA可以提供在线的时间戳服务(例如可访问http://www.faqs.org/rfcs/rfc3161.html获得相关信息),可以对任何数据加以完整性、时效性保护,并且具有法律效力(例如通过时间戳服务中心,参见http://www.tsa.cn/)。监控摄像头将 视频按照时间分成若干分段,为每个分段获取时间戳,并将视频分段和对应时间戳同时保存。任何人可以根据时间戳验证对应分段的完整性、时效性。
但是在线时间戳成本较高,其涉及网络带宽成本以及单次服务费用。尤其对于安装了多个摄像头的单位其成本问题就尤为突出。例如,图1给出了通过在线时间戳对来自多个摄像头的数据进行保护的例子。如图所示,如果一个单位的视频监控***100安装了若干个视频摄像头102-110,每个摄像头均需要单独在线向TSA申请时间戳服务,要求较宽的网络带宽,而且来自每个摄像头的视频数据量较大,所需的时间戳服务次数很多,而TSA通常是按照时间戳服务次数进行收费。所以,如果每个摄像头单独申请时间戳(验证信息),网络带宽成本以及时间戳服务费用跟摄像头的个数成正比。
为了节约多个摄像头所需的带宽和时间戳服务费用,应该减少时间戳的申请次数,同时使验证信息的大小不至于过大。
图2给出了现有技术中的一种整体哈希方法。如图2所示,整体哈希是指将某一时间段内来自若干摄像头(图2中为摄像头A-E)的视频数据分段整体进行哈希,在图2中例如是对于摄像头A-E中各自的视频数据分段A2-E2的整体进行哈希,即求取这些视频数据分段的整体的哈希值HAE2,然后将该哈希值向TSA申请一个公共时间戳Timestamp(HAE2)。这个公共时间戳可以作为所有摄像头A-E在该时间段内对应的视频数据的验证信息。这种方法的优点是大大减少了申请时间戳的次数和存储验证信息(即时间戳)的空间。但这种方法使得来自一个摄像头的视频数据不能单独存放和被验证,而需要保证所有摄像头的视频数据同时存在,才能验证其完整性。这样给视频保存、剪辑和验证均带来麻烦。
发明内容
鉴于上述情况,需要提供一种能够高效和便捷地完成对来自多个数据源的数据的完整性单独进行保护以及验证的装置和 方法。此外,这种装置和方法最好是成本有效的。
根据本发明的实施例提供了一种用于生成数据的完整性验证信息的装置,包括:
哈希结构生成单元,其被配置成通过多个数据源在特定的时间段内各自包括的数据分段的哈希值生成与该特定时间段相对应的哈希结构,使所有数据分段的哈希值分别代表该哈希结构的最底层的子节点以便计算该哈希结构的根节点的根哈希值;
公共验证信息获取单元,其被配置成获取针对根哈希值的公共验证信息;
完整性验证信息生成单元,其被配置成为多个数据源生成在上述特定的时间段内各自包括的数据分段的完整性验证信息,其中每一个数据分段的完整性验证信息包括公共验证信息、哈希结构中的、从代表最低层的子节点的该数据分段的哈希值到根结点的路径信息、以及在该路径中包括的、与该子节点相关的节点的哈希值。
根据本发明的实施例还提供了一种为数据提供完整性保护的***,包括:
多个数据源,该多个数据源被划分到第一至Z级哈希区域中,其中,第一至Z级哈希区域中第L级哈希区域包括ML个哈希结构,L=1,......,Z,且其中每一个哈希结构都包括一个管理数据源,每一个管理数据源都具有如上所述根据本发明实施例的生成数据的完整性验证信息的装置,其中Z是大于等于2的整数,ML是大于等于1的整数;
对于第K级哈希区域中的每一个哈希结构而言,该哈希结构的管理数据源被配置成将其自身及其所管理的数据源在特定时间段中包括的数据分段的哈希值分别作为最底层的子节点来生成该哈希结构,或者,该哈希结构的管理数据源被配置成将其自身在特定时间段中包括的数据分段的哈希值以及第K-1级哈希区域中对应的至少一个哈希结构的根结点值分别作 为最底层的子节点来生成该哈希结构,其中K是大于等于1且小于等于Z的整数;
基于第Z级哈希区域中各个哈希结构的根结点值来生成最终的根哈希值,以及,第Z级哈希区域中包括的管理数据源中预先指定的最高级管理数据源被配置成获取针对最终的根哈希值的公共验证信息;以及
最高级管理数据源被配置成为第Z级哈希区域的每一个哈希结构中的、与数据源对应的最底层的子节点生成完整性验证信息,该完整性验证信息包括上述公共验证信息、在第Z级哈希区域中的、从该子节点到所述最终的根结点的路径信息、以及在该路径中包括的与该子节点相关的节点的哈希值;以及
对于从第一级到第Z-1级哈希区域之中的第Q级哈希区域中的每一个哈希结构,该哈希结构中的管理数据源被配置成为该哈希结构中的、与数据源对应的其他底层的子节点生成完整性验证信息,该完整性验证信息包括该哈希结构的根结点的完整性验证信息、在所述第Q级哈希区域中从该子节点到根结点的路径信息、以及在该路径上与该子节点相关的节点的哈希值,其中,该哈希结构的根结点作为第Q+1级哈希区域中相应哈希结构的最低层的子节点,其完整性验证信息是通过第Q+1级哈希区域中相应哈希结构的管理数据源来生成的,其中Q是大于等于1且小于等于Z-1的整数。
根据本发明的实施例还提供了一种生成数据的完整性验证信息的方法,包括:
哈希结构生成步骤,其将多个数据源在特定的时间段内各自包括的数据分段的哈希值作为最底层的子节点来生成与该特定时间段相对应的哈希结构,通过该哈希结构的最低层的子节点来计算该哈希结构的根节点的根哈希值;
公共验证信息获取步骤,其获取针对根哈希值的公共验证信息;和
完整性验证信息生成步骤,其针对上述多个数据源在该特 定的时间段内各自包括的数据分段中的每一个数据分段,基于下列的信息来生成该数据分段的完整性验证信息:上述公共验证信息、哈希结构中的、从代表最低层的子节点的该数据分段的哈希值到根结点的路径信息、以及在该路径中包括的、与该子节点相关的节点的哈希值。
根据本发明的实施例还提供了一种对数据的完整性进行验证的装置,包括:
公共验证信息验证单元,其被配置成对多个数据源的相应的数据源在特定时间段内的数据分段所具有的完整性验证信息中包括的公共验证信息进行验证;以及
完整性验证单元,其被配置成将根据上述相应的数据源的数据分段所具有的完整性验证信息以及该数据分段的哈希值计算得到的根哈希值与完整性验证信息中包含的根哈希值进行比较,并且在比较结果以及公共验证信息验证单元的验证结果两者都为正面的情况下,确定所述数据分段是完整的;
其中,所述数据分段的完整性验证信息包括上述公共验证信息、与上述特定时间段相对应的哈希结构中的、从该数据分段的哈希值代表的最低层的子节点到根结点的路径信息、以及在该路径中包括的、与该子节点相关的节点的哈希值,其中与特定时间段相对应的哈希结构通过使上述多个数据源在特定时间段内各自包括的数据分段的哈希值代表最低层的子节点来生成,根哈希值是哈希结构的根结点的哈希值。
根据本发明的实施例还提供了一种对数据的完整性进行验证的方法,包括:
公共验证信息验证步骤,对多个数据源的相应的数据源在特定时间段内的数据分段所具有的完整性验证信息中包括的公共验证信息进行验证;
比较步骤,将根据上述相应的数据源的数据分段所具有的 完整性验证信息以及该数据分段的哈希值计算得到的根哈希值与完整性验证信息中包含的根哈希值进行比较;以及
完整性确定步骤,如果比较步骤的比较结果表明所计算的根哈希值与完整性验证信息中包含的根哈希值一致,并且公共验证信息验证步骤的验证结果为正面的,则确定数据分段是完整的,
其中,数据分段的完整性验证信息包括上述公共验证信息、与上述特定时间段相对应的哈希结构中的、从该数据分段的哈希值代表的最低层的子节点到根结点的路径信息、以及在该路径中包括的、与该子节点相关的节点的哈希值,其中与特定时间段相对应的哈希结构通过使上述多个数据源在特定时间段内各自包括的数据分段的哈希值代表最低层的子节点来生成,根哈希值通过该哈希结构来计算。
根据本发明的各实施例的生成数据的完整性验证信息的方法和装置使得可以通过基于哈希结构的简单手段为来自多个数据源的数据单独进行有效的完整性保护。相应地,根据本发明的各实施例的对数据的完整性进行验证的方法和装置能够快速准确地对来自多个数据源的数据单独进行完整性验证。由此,根据本发明的各实施例的数据完整性保护和验证装置和方法能够高效、可靠地实现对来自多个数据源的数据的完整性的单独保护和验证。此外,由于采用了简单的结构配置和实现手段,实现了成本的有效降低。
本发明的其他实施例还提供了一种视频摄像设备,该视频摄像设备包括如上所述的根据本发明的实施例的生成数据的完整性验证信息的装置。
本发明的另外的实施例还提供了一种存储有机器可读取的指令代码的程序产品,该指令代码由机器读取并执行时,可执行如上所述的根据本发明的实施例的生成数据的完整性验证信息的方法和/或对数据的完整性进行验证的方法。
本发明的另外的实施例还提供了一种承载有上述的程序产 品的存储介质。
附图说明
通过结合附图对本发明的具体实施方式的描述,本发明的以上的和其它目的、特点和优点将变得清楚。在各附图中,相同或类似的附图标记表示相同或者类似的功能部件或步骤。在附图中:
图1是示出了现有技术的对多个视频摄像头的视频数据分别进行时间戳保护的配置的简化框图;
图2是示出了现有技术的对多个视频摄像头的视频数据进行的整体时间戳保护的配置的简化框图;
图3是示出了根据本发明实施例的生成数据的完整性验证信息的装置的结构简化框图;
图4是示出了图3中的生成数据的完整性验证信息的装置的操作的一种具体实例的示意简图;
图5是示出了图3中的生成数据的完整性验证信息的装置的操作的另一种具体实例的示意简图;
图6是示出了具有通过根据本发明的实施例的生成数据的完整性验证信息的装置所生成的完整性验证信息的封装数据的示意图;
图7是示出了通过利用图3中的生成数据的完整性验证信息的装置,对于某个数据源的数据子分段通过内部子哈希链来进行完整性保护的实例的示意图;
图8是示出了通过利用图3中的生成数据的完整性验证信息的装置,对于某个数据源的数据子分段通过内部子哈希树来进行完整性保护的实例的示意图;
图9A-9B是示出了常见的可能的哈希树结构示意图;
图10A-10D是示出了利用根据本发明的实施例的生成完整性验证数据的装置来生成高效哈希二叉树的过程的简化框图;
图11是示出了配备有根据本发明的实施例的用于生成数据的完整性验证信息的装置的摄像设备的简化结构框图;
图12A是示出了根据本发明的实施例的生成数据的完整性验证信息的***的简化结构框图,其中多个数据源划分为多级哈希区域,每一级哈希区域中包含的哈希结构都配备一个具有如图3所示的生成数据的完整性验证信息的装置的管理数据源;
图12B是示出了作为图12A的***的一种变形形式的生成数据的完整性验证信息的***的简化结构框图;
图13是示出了根据本发明的实施例的用于生成数据的完整性验证信息的方法的流程简图;
图14是示出了根据本发明的实施例的对数据的完整性验证信息进行验证的装置的简化结构框图;
图15是示出了图14所示的方法的一种具体实现方式的简图;
图16是示出了根据本发明的实施例的对数据的完整性验证信息进行验证的方法的流程简图;以及
图17是示出可用于实施根据本发明实施例的方法和装置的计算机***的示意性框图。
具体实施方式
下面参照附图来说明本发明的实施例。应当注意,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。在各附图中相同或者相似的构成元素或部分利用相同或者类似的附图标记来表示。
图3是示出了根据本发明实施例的生成数据的完整性验证信息的装置300的结构简化框图。如图所示,该装置300包括哈希结构生成单元310、公共验证信息获取单元320和完整性验证信息生成单元330。哈希结构生成单元310通过多个数据源在 特定的时间段内各自包括的数据分段的哈希值生成与该特定时间段相对应的哈希结构,使所有数据分段的哈希值分别代表该哈希结构的最低层的子节点以便计算该哈希结构的根哈希值。公共验证信息获取单元320获取针对该根哈希值的公共验证信息。完整性验证信息生成单元330为多个数据源生成在该特定的时间段内各自包括的数据分段的完整性验证信息。其中每一个数据分段的完整性验证信息包括该公共验证信息、该哈希结构中的、从代表该最低层的子节点的该数据分段的哈希值到该根结点的路径信息、以及在该路径中包括的、与该最底层的子节点相关的节点的哈希值。
需要说明,在此所说的“最低层的子节点”指的是在哈希结构中没有自己的下级子节点的节点。容易理解,在哈希结构为哈希树时,这种“最低层的子节点”就是叶子节点。
图4是示出了图3中的装置300的操作的一种具体实例的示意简图。
如图所示,在该实例中,时间戳代理410作为如图3所示的装置300的一种具体实现形式来操作。该时间戳代理410为来自多个数据源,即摄像设备A-E的视频数据生成完整性验证信息。该实例通过构造哈希链的方式来生成完整性验证信息。时间戳代理410中的哈希结构生成单元通过将某一特定时间段内来自摄像设备A-E的数据分段的哈希值照链状方式构造哈希链,然后时间戳代理410中的公共验证信息获取单元将哈希链的末节点(即根结点)值通过时间戳授权机构TSA 420加盖公共时间戳,由此得到公共验证信息Timestamp(HAE2)。例如,图中示意性地示出了每一个摄像设备在三个时间段中各自的数据分段A1-A3至E1-E3。假设对于在某个特定时间段摄像设备A-E产生的数据分段A2-E2而言,这些数据分段各自的哈希值为HA2-HE2。哈希值HA2和HB2连接后进行哈希而得到哈希值HAB2,哈希值HAB2和HC2连接后进行哈希而得到哈希值HAC2,哈希值HAC2和HD2连接后进行哈希而得到哈希值HAD2,哈希值HAD2和HE2连接后进行哈希而得到哈希值HAE2。如图所示,基于多 个数据源(即摄像设备A-E)在该特定时间段中的数据分段的哈希值构造了一个哈希链,其中可以将这些数据分段的哈希值HA2-HE2看作为代表最低层的子节点(即,没有自己的下级子节点的节点),哈希值HAB2,HAC2和HAD2分别是上一级的父节点,哈希链的最终的端点值HAE2表示该哈希链的根哈希值。哈希值的基本概念及其获得方法是本领域公知的技术,对此不再赘述。时间戳代理410中的完整性验证信息生成单元数据分段A2-E2的完整性验证信息。例如,摄像设备D在该特定时间段中的数据分段D2的完整性验证信息包括公共验证信息Timestamp(HAE2)、从该数据分段D2的哈希值HD2到根哈希值HAE2的路径信息、以及哈希链上沿着该路径的某些节点的哈希值。在哈希链中从最低层的子节点HD2到根节点HAE2的路径中包括节点HD2和HAD2,与这些节点相关的节点的哈希值HAC2和HE2就构成了数据分段D2的完整性验证信息的一部分。
图5是示出了图3中的生成数据的完整性验证信息的装置300的操作的另一种具体实例的示意简图。如图所示,在该实例中,时间戳代理510作为如图3所示的装置300的另一种具体实现形式来操作。
在该实例中,时间戳代理510为来自多个数据源,即摄像设备A-E的视频数据生成完整性验证信息。该实例通过构造哈希树的方式来生成完整性验证信息。时间戳代理510主要负责哈希树的计算、时间戳申请、完整性验证信息的生成等。时间戳代理510例如可以通过连接因特网的计算机来实施,各个摄像设备A-E例如可通过局域网络与其连接,并且其具有访问在线时间戳授权机构TSA 520的凭证(例如用户名和密码)以及表征监控单位(即,多个数据源所属单位)身份的信息。
时间戳代理510中的哈希结构生成单元通过将某一特定时间段内来自摄像设备A-E的数据分段的哈希值照树状方式构造哈希树,然后时间戳代理510中的公共验证信息获取单元将哈希树的根节点的哈希值通过时间戳授权机构TSA520加盖公共时间戳,由此得到公共验证信息Timestamp(HAE2)。例如,图 中示意性地示出了每一个摄像设备在三个时间段中各自的数据分段A1-A3至E1-E3。假设对于在某个特定时间段摄像设备A-E产生的数据分段A2-E2而言,这些数据分段各自的哈希值为HA2-HE2。哈希值HA2和HB2合并后进行哈希得到哈希值HAB2,哈希值HC2和HD2合并后进行哈希得到哈希值HCD2,哈希值HAB2和HCD2合并后进行哈希得到哈希值HAD2,哈希值HAD2和HE2合并后进行哈希得到哈希值HAE2。如图所示,基于多个数据源(即摄像设备A-E)在该特定时间段中的数据分段的哈希值构造了一个哈希树,其中可以将这些数据分段的哈希值HA2-HE2看作为该哈希树的最低层的子节点,即叶子节点,哈希值HAB2,HCD2和HAD2分别是各上级的父节点,哈希树的最终的端点值HAE2表示该哈希树的根哈希值。时间戳代理510接收来自各个摄像设备的在该特定时间段中视频数据分段的哈希值,并且例如此外还可记录各个摄像设备的编号(可用于在随后的验证过程中对摄像设备进行标识)。如上所述,时间戳代理510将这些哈希值作为二叉哈希树的叶子节点,从叶子节点出发,逐级计算哈希树的上级节点,上级节点是下级的两个子节点连接后的哈希值。值得注意的是,摄像设备的个数可能不是2的指数倍(即该二叉哈希树可能不是满二叉树),因此部分来自摄像设备的哈希值可能并不是位于哈希树的最底层(例如图5所示,摄像设备E的哈希值直到计算根节点时才用到)。按照这种两两合一的方法最终计算出根节点的哈希值。这棵由时间戳代理510计算的哈希树的所有节点值和节点位置信息例如可以暂时保存在时间戳代理510的存储器中。时间戳代理510将哈希树的根节点的值以及身份等信息按照时间戳标准(例如可参见http://www.faqs.org/rfcs/rfc3161.html获得相关信息)的需求封装后,发送给时间戳授权机构TSA 520。TSA 520返回对应的时间戳(即公共验证信Timestamp(HAE2))。在接收到该时间戳信息后,时间戳代理510中的完整性验证信息生成单元为多个摄像设备A-E在该特定时间段中的数据分段分别生成完整性验证信息。每个摄像设备的完整性验证信息均不相同,根据摄像设备对应的叶子节点在哈希树中位置而各异。一个摄像设备 的验证信息包括两部分:一部分是公共验证信息(即时间戳),另一部分是哈希树上的部分节点值及路径信息。完整性验证信息中的哈希树的路径信息获取以及该路径上部分节点的选取方法为:找到哈希树上该摄像设备在该特定时间段内的数据分段所对应的叶子节点,然后获得以此为起点到达根节点的路径(在图中用带箭头的粗虚线示出),并且依次取得该路径上的节点的兄弟节点的哈希值。路径信息包含每个所选取节点相对于路径的位置,如节点在哈希树中的层次、以及相对于该路径的左右关系。例如在图5中,摄像设备D在上述特定时间段中的数据分段的D2的完整性验证信息是([l,HC2],[l,HAB2],[r,HE2],Timestamp(HAE2)),其中节点的排列顺序表达了从叶子节点到达根节点的顺序,即路径信息,r、l表示兄弟节点相对于该路径是右节点还是左节点。对于路径信息中包含的相对于该路径的左右关系,可首先预先约定哈希树的摆放方法。例如,如果将根节点放在上方,则相关节点的哈希值HC2,HAB2,HE2的左右关系为r,r,l(即,右,右,左),而图5示出的完整性验证信息中的左右关系是在将根节点放在下方的情况下得到的结果。这种与相关节点在路径中的左右关系的l,r信息对于哈希树是必需的。但是如果哈希结构是哈希链,则可以不存储l,r信息,因为这种l,r信息暗含在完整性验证信息中哈希值的排列规则中。在下面的描述中,为了简明起见,在完整性验证信息时没有表示出l,r信息,但是这种信息实际上是存在于路径信息中的。
上述的层次信息可以单独地表示,也可以按照某种格式预先约定,比如约定排在第一个的是最低层次的相关节点的节点值,以此类推。在图5给出的实例中是按照完整性验证信息里各节点的排列顺序来推定节点的层次。
根据上述结合图4和5的详细描述可看出,根据本发明的实施例的用于为多个数据源生成完整性验证信息的方式的益处在于:各个数据源的数据可以分开存放并具有各自单独的完整性验证信息,使得在后续验证过程(后面将详细描述)中可以 单独验证各个数据源的数据的完整性,由此提高了对数据的完整性保护的效率和准确性。此外,对于来自多个数据源的某一特定时间段内的数据,只需要申请一次时间戳,因此大大减少了时间戳的申请次数,缩减数据通信开销,由此降低了成本。
作为一种具体实现方案,时间戳代理410或510可将所生成的多个摄像设备在特定时间段中的数据分段的完整性验证信息发送给对应的摄像设备,以供随后对摄像设备的数据分段的完整性进行验证时使用。可替选地,时间戳代理410或510也可以将所生成的完整性验证信息连同该完整性信息所对应的数据分段的识别信息(例如该完整性验证信息是属于哪一个摄像设备的、在哪一个特定时间段中的数据分段的完整性验证信息)进行存储,以便在后续的验证过程中使用。此外,在将完整性验证信息分发给相应的摄像设备的情况下,当确认各个摄像设备均收到对应的完整性验证信息后,时间戳代理410或510可以将此次暂时缓存的哈希树删除,接着进行对应于下一个特定时间段的下次完整性验证信息生成处理。这种方式可以节约时间戳代理的存储空间。
在一种具体实例中,如图3所示的根据本发明实施例的生成数据的完整性验证信息的装置300还可包括数据封装单元。例如,可以将该装置300设置在数据源中,则在装置300中的完整性验证信息生成单元生成了相应数据分段的完整性验证信息之后,该数据封装单元可将该完整性验证信息设置在该相应的数据分段之后。以便形成该数据分段所属的数据源的封装数据。图6示出了这种封装数据的一种可能形式。如图所示,给出了某个数据源的封装数据,其中C1和C2表示在不同的特定时间段中的数据分段,跟随在C1之后的信息VC1即是通过根据本发明实施例的生成数据的完整性验证信息的装置300所生成的完整性验证信息。类似地,完整性验证信息VC2跟随在数据分段C2之后。如此,在后续的验证过程中,在获取需要进行完整性验证的数据分段时可容易地同时读取出与之对应的完整性验证信息。通过这样的方式,可增强待进行完整性验证的数 据分段和与之对应的完整性验证信息之间的联系,这进而便利了后续的数据完整性验证过程(下面将详细描述)的进行。
例如,上述这种结合了数据分段及其完整性验证信息的封装数据可以保存在相应的数据源内部的存储设备上,或者通过网络发送给监控中心服务器用以监视或存档。
在另一种具体实例中,如图3所示的根据本发明实施例的生成数据的完整性验证信息的装置300还可包括对应关系创建单元,其可将完整性验证信息生成单元为多个数据源在特定的时间段内各自包括的数据分段生成的完整性验证信息集中存储,并创建完整性验证信息与相应的数据分段之间的对应关系。在后续的完整性验证过程中,可通过这种对应关系获得与待进行完整性验证的数据分段对应的完整性验证信息,以供进行完整性验证。通过将完整性验证信息集中存储,可更好地防止这些信息遭到破坏。另外,由于建立了数据分段与完整性验证信息之间的对应关系,因此保证了后续验证过程的准确性。
在上面给出的实例中,各个摄像设备将某特定时间段内的数据分段进行哈希,然后将哈希值发送给根据本发明的实施例的生成数据的完整性验证信息的装置(例如时间戳代理)以进行完整性验证信息的生成。这种情况下特定时间段的(即数据分段的)长度例如为分钟的数量级,例如1分钟。然而,在有些应用中,可能需要更加精确地定位数据源中的数据分段,即需要更短的时间分段或者数据分段长度。为了满足这种需求,图7-8给出了相应的解决方案。
图7是示出了通过利用如图3中的生成数据的完整性验证信息的装置300,对于某个数据源的数据子分段通过内部子哈希链来进行完整性保护的实例的示意图。在该实例中仍以摄像设备作为数据源的例子来说明。如图7所示,装置300使得在多个摄像设备A-D中的一个摄像设备A中,将某个特定的时间段中的数据分段再细划分为4个数据子分段A1-A4,这些数据子分段各自的哈希值为H1-H4。通过以这些哈希值作为最低层的子节点,在摄像设备A内部构造子哈希链(与摄像设备A-D 的在特定时间段内的数据分段的哈希值构成的外部哈希树相对而言),并计算该子哈希链的子根哈希值H14(与外部哈希树的根哈希值相对而言)。将内部哈希链的根哈希值H14作为摄像头A的哈希值,通过外部哈希树(即,由摄像设备A-D在该特定的时间段中的数据分段的哈希值HA-HD作为叶子节点构造的外部的哈希树)的处理向时间戳代理(例如通过装置300实现)申请时间戳(例如可采用图5中示出的方式来进行),时间戳代理返回公共验证信息后,摄像设备A内重新进行一次验证信息的分配。即,通过在外部哈希树处理中摄像头A获得的其自身的完整性验证信息、内部哈希链的路径信息和该路径上相关节点的哈希值来形成摄像头A内部的各个数据子分段A1-A4的完整性验证信息。在一种优选实施方式中,如果数据子分段的验证是相对独立的,则为了节约存储空间,每个数据子分段仅需要存储数据子分段的哈希值,例如A1数据子分段的验证信息仅需存储H(A1),然后在四个数据子分段的后面存储A1~A4的验证信息V14,即从时间戳代理返回的用于摄像设备A的验证信息。在后续的验证时,根据其它分段的哈希值重新生成内部哈希链,使用V14内的验证信息验证内部哈希链的根节点的哈希值。当大分段内的某些数据子分段缺失,但缺失数据子分段的哈希值存在的情况下,仍可以单独验证每个剩余数据子分段的完整性,从而提高了验证的精度和颗粒度。
容易理解,虽然在图7中示出的是通过对一个摄像设备A构建内部子哈希链来进行完整性保护的配置,但是本领域技术人员理解,取决于实际需要以及***实际处理能力,可以对所有摄像设备A-D或者其中任意选择的若干摄像设备执行这种配置。
图8是示出了通过利用如图3中的生成数据的完整性验证信息的装置300,对于某个数据源的数据子分段通过内部子哈希树来进行完整性保护的实例的示意图。如图8所示,在多个摄像设备A-D中的一个摄像设备A中,装置300使得某个特定的时间段中的数据分段被再细划分为4个数据子分段A1-A4,这 些数据子分段各自的哈希值为H1-H4。通过以这些哈希值作为叶子节点,在摄像设备A内部构造子哈希树,并计算该子哈希树的子根哈希值H14。将内部哈希树的根哈希值H14作为摄像头A的哈希值,通过外部哈希树(即,由摄像设备A-D在该特定的时间段中的数据分段的哈希值HA-HD作为叶子节点构造的外部的哈希树)的处理向时间戳代理(例如通过装置300实现)申请时间戳(例如可采用图5中示出的方式来进行),时间戳代理返回公共验证信息后,摄像设备A内重新进行一次验证信息的分配。即,通过在外部哈希树处理中摄像头A获得的其自身的完整性验证信息、内部哈希树的路径信息和该路径上相关节点的哈希值来形成摄像头A内部的各个数据子分段A1-A4的完整性验证信息。与图7示出的实例类似,在一种优选实施方式中,如果数据子分段的验证是相对独立的,则为了节约存储空间,例如可以使每个数据子分段后仅需要存储数据子分段的哈希值,例如A1数据子分段的验证信息仅需存储H1,然后在四个数据子分段的后面存储A1~A4的验证信息V14,即从时间戳代理返回的验证信息。在后续的验证过程中,根据其它分段的哈希值重新生成内部哈希树,使用V14内的验证信息验证内部哈希树的根节点。当大的数据分段内的某些数据子分段缺失,但缺失数据子分段的哈希值仍存在的情况下,仍然可以单独验证每个剩余数据子分段的完整性,从而提高了后续的完整性验证的精度和颗粒度。
同样地,容易理解,虽然在图8中示出的是通过对一个摄像设备A构建内部子哈希树来进行完整性保护的配置,但是本领域技术人员理解,取决于实际需要以及***实际处理能力,可以对所有摄像设备A-D或者其中任意选择的若干摄像设备执行这种配置。
上述图7和图8所示的两种解决方案中,根据本发明实施例的生成数据的完整性验证信息的装置300通过在相应的数据源的内部运用链状或树状哈希结构的技术来生成数据源中更小的数据分段的完整性验证信息,从而可进一步提高验证的精度 和颗粒度。此外还可以节省存储空间,因为整个大的数据分段的验证信息只需存储一次。
需要注意,上述两种解决方案可以根据不同的应用场景进行选用,以便获得更佳的技术益处。具体而言,如果大的数据分段内部的小的数据子分段的验证是相对独立的,即,一个数据子分段的验证依赖于其它数据子分段的哈希值的存在,但其它数据子分段的原始内容可以缺失。在这种情况下,每个数据子分段后仅需存储其自身的哈希值,这样链状哈希结构更容易实现,而计算哈希树需要更大的存储空间,因此使用哈希链更具有优势。如果要求大的数据分段内的各个数据子分段的验证依然绝对独立,也就是每个数据子分段分别存储验证信息而不依赖其它数据子分段的原始内容和哈希值的存在,也就是说即使其它数据子分段及其哈希值缺失,剩余的数据子分段仍可独立被验证,因为每个数据子分段的验证信息保存了验证路径及其该路径上相关节点的信息。在这种数据子分段的验证是绝对独立的情况下,则链状哈希方法需要为每个数据子分段存储更大体积的验证信息,数据子分段后的验证信息的长度跟子分段的数目成正比,而树状哈希方法使得子分段后的验证信息的长度跟子分段的数目成对数关系,因此树状哈希更具有优势。当然,容易理解,如果***的处理能力许可,图7和8中示出的内部哈希链和哈希树的配置方式可以任意应用于数据子分段的验证是相对独立或绝对独立的各种场景。
此外,在上述图7和图8的解决方案中,内部哈希结构和外部哈希结构可以任意组合。也就是说,内部哈希结构和外部哈希结构可以都是哈希树或者哈希链;或者内部哈希结构是哈希树,外部哈希结构是哈希链;或者内部哈希结构是哈希链,外部哈希结构是哈希树。
虽然在图7和图8中示出只有多个数据源中的一个数据源采用了内部哈希结构的解决方案,但是本领域技术人员容易理解,根据实际需要,可以对多个数据源中的一部分乃至全部来采取上述解决方案。
在通常情况下,需要对其数据完整性进行保护和验证的多个数据源(例如监控***内的摄像设备)的数目可能比较固定,因此通过根据本发明的实施例的生成数据的完整性验证信的装置(例如实现为时间戳代理)构造的哈希树的形状是固定的,由此可以预先指定构造一棵合适的高效的哈希树。但是,现实中存在有的些情形会使得摄像设备的数目发生动态变化,例如:新摄像设备的增加,摄像设备被撤销,设像设备因为故障不工作,各个摄像设备的保护等级不一样(例如数据分段对应的特定时间段的长度不一样)等,这使得在不同的时间段内,时间戳代理接收到的哈希值的个数是动态变化的。从而需要一种适合时间戳代理使用的动态构造高效哈希树的解决方案。
当摄像设备的数目可以构成满二叉哈希树时,也即摄像设备的数目是2的指数倍时,具有最小体积的验证信息。当摄像装置的数目不是2的指数倍时,存在多种构造哈希树的方法。例如图9A和9B示出了在具有7个摄像设备的情况下构造的哈希树。如图9B中的哈希树层数较少,层数较少的哈希树具有平均最小的验证信息体积。因此构造高效的哈希树就是构造最少层数的哈希树。
在根据本发明实施例的用于生成数据的完整性验证信息的装置的一个具体实例中,可以包括哈希树高度计算子单元和哈希树构造子单元,用于构造高效的哈希树。假设摄像设备的数目为N(N为大于1的自然数),且这些摄像设备在某特定时间段中产生的数据分段的数目为N,则哈希树高度计算子单元计算哈希树的高度h=ceil(log2N),ceil表示取不小于log2N的最小整数。哈希树构造子单元通过如下方式完成高效哈希树的构造:如果log2N是整数,则直接构造高度为h的满二叉树。如果log2N不是整数,例如可先以该N个数据分段的哈希值作为叶子节点来虚拟构造一棵高度为h的满二叉树,然后将N个节点,按照虚拟满二叉树的叶子节点从左到右的顺序依次确定N个节点在该虚拟满二叉树中的位置,然后去掉多余的节点,最后紧缩为一棵目标高效哈希二叉树。图10A-10D给出了叶子节 点的个数N=13的情况下构造高效二叉树的过程。哈希树高度计算子单元计算哈希树的高度h=ceil(log213)=4。由于log213不为整数,哈希树构造子单元构造如图9A所示的高度为4的虚拟满二叉树。然后,将该13个节点,按照该虚拟满二叉树的叶子节点从左到右的顺序依次确定该13个节点在该虚拟满二叉树中的位置,去掉多余的节点,如图10B-10C所示。最后得到如图10D所示的高效哈希二叉树。
在上面给出的各实例中,如图3中所示的生成数据的完整性验证信息的装置300中的公共验证信息获取单元通过为哈希结构的根哈希值获取时间戳来实现对各数据源在特定时间段中的数据分段的完整性的保护。根据可替选的实施方式,对数据的完整性保护手段还可以是加密或签名等。
在通过加密手段实现数据的完整性保护的情形下,通过预定的加密密钥对哈希结构的根哈希值和校验信息进行加密。例如,可以对根哈希值附加一个作为校验信息的校验码(例如长度为10比特的校验码),将这样得到的数据利用该加密密钥进行加密,将加密了的根哈希值与校验码作为公共验证信息,并且使篡改者无法获得该加密密钥,从而使得经过加密的根哈希值和校验码仅可以被拥有加密密钥的人或机构验证,进而验证相应数据的完整性。而不知道加密密钥的任何人不能对受到加密保护的数据进行任何修改,即使修改也可以被验证者发现。在对公共验证信息进行验证时,通过该预定的加密密钥来对加密的根哈希值和校验码进行解密,根据解密得到的根哈希值计算校验码。如果验证通过,即,计算得到的校验码与解密得到的校验码一致,则可确定公共验证信息的验证通过,即,验证结果是正面的。同时还可以恢复公共验证信息中包含的根哈希值,以供在后续的验证过程中使用(后面将详细描述)。根据另一个例子,还可以对根哈希值进行一次哈希计算,得到另一个哈希值(以下称为“验证哈希值”)作为校验信息,利用预定的加密密钥对根哈希值与验证哈希值的组合进行加密,将加密了的数据作为公共验证信息,并且使篡改者无法获得该加密密钥, 从而使得经过加密的根哈希值和验证哈希值仅可以被拥有加密密钥的人或机构验证,进而验证相应数据的完整性。而不知道加密密钥的任何人不能对受到加密保护的数据进行任何修改,即使修改也可以被验证者发现。在对公共验证信息进行验证时,通过该预定的加密密钥来对加密的根哈希值和验证哈希值进行解密,对解密得到的根哈希值进行一次哈希计算。如果验证通过,即,该哈希计算得到的哈希值与解密得到的验证哈希值一致,则可确定公共验证信息的验证通过,即,验证结果是正面的。类似地,该验证处理还可以恢复公共验证信息中包含的根哈希值,以供在后续的验证过程中使用。如上所述,由于在对根哈希值的加密过程中附加了校验信息(例如上述例子中的校验码和验证哈希值),因此在对公共验证信息进行验证的处理中可以借助于该校验信息而确定解密得到的根哈希值是否为原来的哈希值,也即,可以恢复公共验证信息中包含的根哈希值,以供在后续的验证过程中使用。
在通过数字签名手段实现数据的完整性保护的情形下,用预定的秘密私钥对哈希结构的根哈希值签名后,产生的数据分段的完整性验证信息可以由任何持有与上述预定的秘密私钥对应的公钥证书的人或机构验证,并且还可确认对数据进行签名者的身份信息。篡改者在不知道秘密私钥的情况下,无法对数据进行任何修改,即使修改也可以被验证者发现。由此可实现对数据的完整性的保护。在对公共验证信息进行验证时,通过与该秘密私钥对应的公钥证书来对经过签名的根哈希值验证,如果验证通过,则可确定公共验证信息的验证通过,即,验证结果是正面的。与上述通过对根哈希值进行加密来生成公共验证信息的情况类似,在确认验证通过的同时还可以恢复公共验证信息中包含的根哈希值,以供在后续的验证过程中使用。
此外,也可以通过上述的加密、签名、时间戳方式的任意组合来获取公共验证信息,使得经过完整性保护的数据可具有多种保护属性,以便满足用户的不同需求。
在上面给出的实例中,多个数据源是视频摄像设备,待生 成完整性验证信息的数据是来自多个视频摄像设备的视频数据。但是本领域技术人员理解,根据本发明实施例的生成数据的完整性验证信息的装置还可以对来自多个任意类型的数据源的任意种类的数据,例如音频、文字、图片、任意实时数据以及这些种类的数据的组合等来生成完整性验证信息,进而实现对这些数据的完整性保护。具体生成过程与上述的视频数据的类似,在此不再赘述。
如图3所示的生成数据的完整性验证信息的装置300可以作为独立的功能装置来实现,例如图4-5,7-8中所描述的那样,但是其也可以结合在待进行完整性保护的数据源中。例如,在一种可替选实施方式中,可将装置300(例如时间戳代理)与数据源(例如摄像设备)集成为一体,因而可使得这种数据源本身具有生成数据的完整性验证信息的功能。
图11示出了具有这种功能的摄像设备1100的一个示例的结构简化框图。如图11所示,摄像设备1100包括视频采集单元1102,如图3示出的装置300以及通信接口1104。视频采集单元1102将采集到的视频数据提供给装置300中包括的哈希结构生成单元310,该哈希结构生成单元310通过与特定的时间分段对应的各个数据分段哈希值作为最低层的子节点来形成哈希结构(例如哈希树或哈希链)。装置300中包括的公共验证信息获取单元320为从哈希结构生成单元310得到的哈希结构的根哈希值获取公共验证信息,例如可通过上述的时间戳、加密和数字签名等技术手段来实现。以时间戳方式为例,公共验证信息获取单元320经由通信接口1104从TSA(图中未示出)获得时间戳信息,该时间戳信息可经由通信接口1104传送给装置300中的完整性验证信息生成单元330,其利用该公共验证信息以及从哈希结构生成单元310得到的哈希结构信息,为相应的数据分段生成完整性验证信息。此外,所生成的完整性验证信息例如可以通过通信接口1104传送给对应的数据源。
需要注意,只要使得最终获得的摄像设备能够实现对数据生成完整性验证信息的功能,如图11所示的摄像设备中各个组 成单元之间的配置方式并不限于图11给出的具体方式。例如,也可将装置300中的哈希结构生成单元310与视频采集单元结合在一起,或者将装置300中的公共验证信息获取单元320和完整性验证信息生成单元330与通信接口1104结合在一起,等等。
容易理解,这种集成有用于生成数据的完整性验证信息的摄像设备使得可省去单独的装置300(例如时间戳代理)来生成相应数据分段的完整性验证信息,从而有利于降低数据的完整性保护***的结构复杂性,此外还可降低成本。
在上面描述的实例中,通过根据本发明实施的生成数据的完整性验证信息的装置300(例如实现为时间戳代理)来实现完整性验证信息的生成。但是,根据本发明另外的实施例,例如,也可以由多个数据源中的一个或者多个数据源完成时间戳代理的功能而不用设置单独的时间戳代理。
仍以摄像设备作为数据源的例子进行描述。事实上,时间戳代理的计算量和所需存储空间比较小,完全可以实现在某一个或多个摄像设备内,由此可降低设备维护的困难。因此,部署作为多个数据源的多个摄像设备时,例如可由用户选定或随机确定一个主摄像设备,其它摄像设备通过局域网络与该主摄像设备连接。主摄像设备连接外部网络负责哈希树的生成、时间戳申请、完整性验证信息的生成。这种主摄像设备例如可以通过上述图11中示出的摄像设备来实现。
在摄像设备较多的情况下,例如可以将摄像设备组成如图12A-12B所示结构。图12A是示出了根据本发明的实施例的生成数据的完整性验证信息的***的简化结构框图,其中多个数据源划分为多级哈希区域,图12B是示出了作为图12A的***的一种变形形式的生成数据的完整性验证信息的***的简化结构框图。
在图12A-12B示出的配置中,将所有摄像设备分成多个哈希区域,即,图12A中的第一级哈希区域和第二级哈希区域,以及图12B中的第一级至第三级哈希区域。如图12A所示,第 一级哈希区域中包括四个哈希结构,在此为哈希树,可分别用a-e来表示。每一颗哈希树包括5个数据源,即,摄像设备,并且每一颗哈希树中包括一个管理摄像设备,用于负责其所管理的哈希树的生成,完整性验证信息的分配等。如图12A所示,例如,在第一级哈希区域中,摄像设备A作为摄像设备组A1~A5的管理摄像设备,摄像设备B作为摄像设备组B1~B4的管理摄像设备,摄像设备C作为摄像设备组C1~C5的管理摄像设备,摄像设备D作为摄像设备组D1~D5的管理摄像设备。在第二级哈希区域中,由摄像设备E作为管理摄像设备。如图12B所示,在第一级哈希区域中包括三个哈希结构,即哈希树a-c。每一颗哈希树包括4个数据源,即,摄像设备,并且每一颗哈希树中包括一个管理摄像设备,用于负责其所管理的哈希树的生成,完整性验证信息的分配等。如图12B所示,摄像设备A,B,C分别作为摄像设备组(A1~A3,A),(B1~B3,B),(C1~C3,C)的管理摄像设备。类似地,在第二级哈希区域中包括两颗哈希树d和e,分别由摄像设备D和E作为管理摄像设备。容易理解,多个数据源所能够划分成的哈希区域的级数、每一级哈希区域中包括的哈希结构(例如,哈希树或哈希链)的数量、以及每一个哈希结构中包括的摄像设备的个数可以根据实际需要相应地调整而不限于图12A-12B中所示出的具体配置例子。
上述的管理摄像设备例如也可以通过上述图11中示出的摄像设备来实现。下面简要描述每一个管理摄像设备如何生成其所管理的哈希树。先以图12A为例,例如管理摄像设备A将其自身及其所管理的摄像设备A1-A4在特定时间段中包括的数据分段的哈希值分别作为最底层的子节点来生成哈希树a,而管理摄像设备E通过将其自身在特定时间段中包括的数据分段的哈希值以及前一级,即第一级哈希区域中对应的哈希树a-d的根结点值分别作为最底层的子节点来生成哈希树e。再参见图12B,例如,第二级哈希区域中的一个管理摄像设备D可以将其自身及其所管理的摄像设备D1-D3在特定时间段中包括的数据分段的哈希值分别作为最底层的子节点来生成哈希树d。第二级哈希区域中的另一个管理摄像设备E可以将其自身在特定 时间段中包括的数据分段的哈希值以及前一级,即第一级哈希区域中对应的哈希树a-c的根结点值分别作为最底层的子节点来生成哈希树e。图12A-12B中其他管理摄像设备生成其所管理的哈希树的过程与上述是类似的,不再逐一赘述。
接着,对各级哈希区域中管理摄像设备生成验证信息的过程进行概述。
在图12A和12B的配置中,管理摄像设备E和F分别位于最高级哈希区域中的哈希树中,其可被称为是“最高级管理摄像设备”(即,前述的主摄像设备)。这种最高级管理摄像设备用于根据在最高级哈希区域中各个哈希结构的根结点值来生成最终的根哈希值,并且,该最高级管理摄像设备获取针对该最终的根哈希值进行了保护的(例如通过时间戳方式,加密方式或者数字签名方式等)信息作为公共验证信息。需要注意,虽然在图12A和12B中,最高级哈希区域中只包括一个哈希结构,但是这并不是限定性的,根据实际需要,最高级哈希区域中同样可以包括多个哈希结构。在这种情况下,可预先指定由这些哈希结构中哪一个的管理摄像设备作为最高级管理摄像设备。
在最高级的哈希区域中,最高级管理数据源为该最高级哈希区域的每一个哈希结构中的、与数据源对应的最底层的子节点生成完整性验证信息,该完整性验证信息包括上述的公共验证信息、在该最高级哈希区域中的、从该子节点到最终的根结点的路径信息、以及在该路径中包括的与该子节点相关的节点的哈希值。
对于除了最高级哈希区域以外的其他级哈希区域中的某个哈希结构,该哈希结构中的管理摄像设备为该哈希结构中的、与摄像设备对应的其他底层的子节点生成完整性验证信息。该完整性验证信息包括该哈希结构的根结点的完整性验证信息、在该级哈希区域中从该子节点到根结点的路径信息、以及在该路径上与该子节点相关的节点的哈希值。如上所述,该哈希结构的根结点由于作为上一级哈希区域中相应哈希结构的最低层的子节点,其完整性验证信息可以通过该上一级哈希区域中相 应哈希结构的管理摄像设备来生成。
参见图12A和12B,例如,在图12A中,由摄像设备A1-A4在该特定时间段中数据分段的哈希值所代表的叶子节点经两次结合得到节点A’,然后由管理摄像设备A在该特定时间段中包括的数据分段的哈希值与节点A’的哈希值结合得到节点A”的哈希值。从图中可看出,通过管理摄像设备A所管理的摄像设备组中所有的摄像设备在特定时间段中包括的数据分段的哈希值作为叶子节点来构建哈希树a。类似地,通过管理摄像设备B-D得到各哈希树b-d的根节点B”,C”,D”的哈希值。节点A”-D”的哈希值经两次结合得到节点E’的哈希值。通过由最高级摄像设备E在特定的时间段中包括的数据分段的哈希值以及各个根节点B”,C”,D”和E”的哈希值形成哈希树e。由最高级摄像设备E来负责哈希树e的生成,计算得到哈希树e的根节点E”的哈希值,并最终由最高级摄像设备E负责时间戳的申请。摄像设备A-E中的每一个例如都可以具有图11中示出的结构和配置。通过例如基于时间戳的公共验证信息、哈希树路径信息和路径上的相应节点的哈希值所构成的完整性验证信息来生成用于各摄像设备的完整性验证信息。例如,可以通过最高级摄像设备E将所生成的完整性验证信息分发到各个摄像设备。例如,可通过上述结合图5描述的操作来生成各摄像设备的完整性验证信息,细节在此不再赘述。
如图12B所示,各级管理摄像设备A,B,C,D,E,F分别负责第一级至第三级哈希区域中哈希树a,b,c,d,e,f的生成。管理摄像设备A,B,C将哈希树a,b,c的根节点a3,b3和c3发送给管理摄像设备E。管理摄像设备D和E将哈希树d,e的根节点d3和e3发送给最高级管理摄像设备F,由其负责哈希树f的生成,并针对根结点f2申请时间戳。相应地,最高级管理摄像设备F获得加盖了时间戳的根节点作为公共验证信息,并将该公共验证信息和哈希树f各个叶子节点e3,d3和F对应的验证信息(路径信息和某些相关节点的哈希值)发送给管理摄像设备E和D及F自身。由管理摄像设备E和D 分别负责哈希树e,d中与各摄像设备相关的验证信息的生成和分发。
根据本发明的图12A-12B中所示的实施例的***,负责计算哈希树的摄像设备(即各级管理摄像设备)分别仅需要负责少部分的哈希树生成,有效地进行了负载均匀分配,提高了***的效率,避免造成***瓶颈。
容易理解,对于上述图12A-12B示出的***的配置还可以进行各种变化。例如,各级哈希区域中包含的哈希树也可以采取其他哈希结构,例如哈希链,或者部分为哈希树,部分为哈希链,等等。而且,根据实际需要,可以配置任意级数的哈希区域,而不限于图12A-12B中示出的具体级数。
本发明的实施例还提供了一种生成数据的完整性验证信息的方法。图13给出了这种方法的流程简图。如图13所示,方法1300开始于步骤S1310,包括哈希结构生成步骤S1320、公共验证信息获取步骤1330和完整性验证信息生成步骤S1340,并在步骤S1350结束。在哈希结构生成步骤S1320,将多个数据源在特定的时间段内各自包括的数据分段的哈希值作为最低层的子节点来生成与所述特定时间段相对应的哈希结构,并通过该哈希结构的最低层的子节点来计算该哈希结构的根哈希值。在公共验证信息获取步骤S1330,获取针对该根哈希值的公共验证信息。在完整性验证信息生成步骤S1340,针对多个数据源在该特定的时间段内各自包括的数据分段中的每一个数据分段,基于下列的信息来生成该数据分段的完整性验证信息:公共验证信息、哈希结构中的、从代表最低层的子节点的该数据分段的哈希值到根结点的路径信息、以及在该路径中包括的、与该子节点相关的节点的哈希值。
在根据上述方法1300的一种具体实例中,可以为待进行数据完整性保护的多个数据源中的至少一个数据源生成与特定时间段相对应的哈希子结构,以便对该至少一个数据源中更小的数据分段提供完整性验证信息。从而提高了后续的完整性验证的精度和颗粒度。例如,可以通过上述图7和8中示出的配置 来实现这种实例。具体细节可参见上面针对图7-8的描述,在此不再赘述。与图7-8中的情形类似,所生成的哈希子结构可以是哈希树或者哈希链,或者,为某些数据源生成子哈希树,为某些数据源生成子哈希链。
在根据上述方法1300的另一种具体实例中,可以对针对具有上述图12A-12B所示的配置的***来生成的完整性验证信息。具体处理细节例如可参见上述针对图12A-12B的描述,不再逐一详述。
在根据上述方法1300的又一种具体实例中,可以在哈希结构(例如哈希树和哈希链)中叶子节点动态改变的情况下,构造高效的哈希树,即最少层数的哈希树。具体细节可参见上面针对图9A-9B,10A-10D的描述,在此不再赘述。
在根据上述方法1300的又一种具体实例中,还可包括数据封装步骤,在生成了相应数据分段的完整性验证信息之后,该数据封装步骤可将该完整性验证信息设置在该相应的数据分段之后,以便形成该数据分段所属的数据源的封装数据。具体细节可参见上面结合图6进行的描述,在此不再赘述。
在根据上述方法1300的另一种具体实例中,还可包括对应关系创建步骤,其可将完整性验证信息生成步骤为多个数据源在特定的时间段内各自包括的数据分段生成的完整性验证信息集中存储,并创建完整性验证信息与相应的数据分段之间的对应关系。在后续的完整性验证过程中,可通过这种对应关系获得与待进行完整性验证的数据分段对应的完整性验证信息,以供进行完整性验证。通过将完整性验证信息集中存储,可更好地防止这些信息遭到破坏。另外,由于建立了数据分段与完整性验证信息之间的对应关系,因此保证了后续验证过程的准确性。
容易理解,与上述结合图3对根据本发明的实施例的生成数据的完整性验证信息的装置300类似,在根据本发明的实施例的上述方法1300中,公共验证信息获取步骤S1330通过为哈希结构的根哈希值获取时间戳来实现对各数据源在特定时间段 中的数据分段的完整性的保护。然而,根据可替选的实施方式,对数据的完整性保护手段还可以是加密或签名等,或者也可以通过上述的加密、签名、时间戳的任意组合来获取公共验证信息,使得经过保护的数据可具有多种保护属性,以便满足用户的不同需求。
根据本发明该实施例的方法1300以及其中各步骤的处理例如可以通过具有上述图3-12等中所示的配置的用于生成完整性验证信息的装置或***来实现。具体细节可参见对上述各图的描述,在此不再赘述。
生成数据的完整性验证信息,是为了在后续的验证处理中根据该完整性验证信息来对该数据的完整性进行验证。为此,根据本发明的实施例,还提供一种对数据的完整性进行验证的装置。图14示出了这种装置1400的结构简图。该装置1400包括公共验证信息验证单元1410和完整性验证单元1420。公共验证信息验证单元1410对多个数据源的相应的数据源在特定时间段内的数据分段所具有的完整性验证信息中包括的公共验证信息进行验证。完整性验证单元1420将根据相应的数据源的数据分段所具有的完整性验证信息以及该数据分段的哈希值计算得到的根哈希值与完整性验证信息中包含的根哈希值进行比较,并且在比较结果以及上述公共验证信息验证单元的验证结果两者都为正面的情况下,确定所述数据分段是完整的。其中,数据分段的完整性验证信息包括公共验证信息、与特定时间段相对应的哈希结构中的、从该数据分段的哈希值代表的最低层的子节点到根结点的路径信息、以及在该路径中包括的与该最低层的子节点相关的节点的哈希值。与特定时间段相对应的哈希结构通过使多个数据源在该特定时间段内各自包括的数据分段的哈希值代表最低层的子节点来生成,并且根哈希值是所述哈希结构的根结点的哈希值。
图15给出了图14中所示的完整性验证装置1400实现验证操作的一个例子的具体操作的流程。通过利用根据本发明上述实施例的方法为每一个数据源,例如摄像设备,在特定的时间 段中的数据分段所生成的完整性验证信息,可以例如通过任何个人验证或可信第三方利用根据本发明的实施例的完整性验证装置1400来验证这些数据分段的完整性以及录制的准确时间段。如图15所示,假设需要对图5中示出的摄像设备C在某特定时间段中的数据分段C2的完整性进行验证。根据该数据分段的完整性验证信息(HD2,HAB2,HE2,Timestamp(HAE2))来进行验证。如上面在针对图5的描述中所指出的,为了叙述简明起见,在该例子中给出的完整性验证信息以及本说明书中其他地方给出的完整性验证信息中没有表示出l,r等表路径信息中各相关节点的左右关系的信息元素,但是这种信息元素实际上是存在于路径信息中的。此外,路径信息中的层次信息例如可通过预先约定的规则,由完整性验证信息中各节点的哈希值的排列顺序等等来表达。在图15所示出的验证过程中,首先验证公共验证信息(即公共时间戳),可以从时间戳内获取TSA在视频录制时加盖时间戳的可信的准确时间。时间戳的验证需要使用TSA所提供的根证书(该根证书例如包括哈希结构的根哈希值以及为该根哈希值分配时间戳信息等),在1510,按照相关标准(例如可参考http://www.faqs.org/rfcs/rfc3161.html获得相关信息),基于公共验证信息Timestamp(HAE2)提取出时间信息和根哈希值,并验证这些数据的完整性。如果该处理中完整性验证不通过,则直接得到验证失败的结果。如果该处理中完整性验证通过,则利用该数据分段的完整性验证信息(HAB2,HD2,HE2,Timestamp(HAE2))来计算得到待验证数据分段的根哈希值。具体而言,提取出完整性验证信息中包括的兄弟节点值及路径信息,按照两两合一逐级计算的方式,恢复出哈希树的根节点值HAE2,。然后,在1520,将从完整性验证信息中提取出的根哈希值HAE2与1520中计算出的根节点值HAE2,进行比较。如果这两个值相同,则表明该数据分段的完整性验证通过,否则验证不通过。
在上述处理中,例如,根据完整性验证信息(HAB2,HD2,HE2,Timestamp(HAE2))来计算根结点的哈希值HAE2,也可以与1510中公共时间戳的验证的处理同步进行,而不是在1510的验 证结果为正面的前提下才进行。
在其他可替选的实施方式中,完整性验证单元1420不必在公共验证信息验证单元1410的验证结果为正面的情况下才根据待验证完整性的数据分段的完整性验证信息来计算根哈希值并将其与完整性验证信息中包含的根哈希值进行比较,而是可以与公共验证信息验证单元1410所进行的验证处理并列地或甚至在前地进行根哈希值的计算和比较。最后在比较结果和公共验证信息验证单元1410的验证结果两者都为正面的情况下才确定数据是完整的;换言之,如果两者中任意之一为负面的,则表明数据的完整性遭到破坏。
在如上述图7-8所示的配置中为至少一个数据源在某个特定时间段内再细分的若干个数据子分段生成完整性验证信息的情况下,根据本发明实施例的装置1400的一个具体实例,可以对这种数据子分段的完整性进行验证。
以图8中示出的配置为例。假设摄像设备A中在某个特定时间段内的数据分段被划分成4个数据子分段A1-A4,通过这些数据子分段的哈希值形成子哈希树。该子哈希树的子根结点的子根哈希值H14作为摄像设备A在该特定时间段的数据分段的哈希值。通过摄像设备A-D在该特定时间段中的数据分段的哈希值来形成哈希树,并且该哈希树的根哈希值为HABCD。通过时间戳代理为该根哈希值获得公共验证信息。由此,可获得摄像设备A中各数据子分段的完整性验证信息,在此可将这种针对数据子分段的完整性验证信息称为次级完整性验证信息,以便与针对摄像设备B-D的特定时间段中的时间分段的完整性验证信息相区别。对于每一个数据子分段而言,这种次级完整性验证信息包括该数据子分段所属的数据分段的完整性验证信息(例如可通过上述结合图5描述的方式来获得)、哈希子结构中的、从与该数据子分段的哈希值所代表的叶子节点到与该哈希子结构的子根结点的路径信息、以及该路径中与该叶子节点相关的节点(即,兄弟节点)的哈希值。例如,假设摄像设备A-D在该特定时间段中数据分段的哈希值分别为HA-HD,且 时间戳代理为根哈希值HABCD获得的公共验证信息是Timestamp(HABCD),则摄像设备A的完整性验证信息为(HB,HCD,Timestamp(HABCD))。例如数据子分段A1的次级完整性验证信息为(H2,H34,HB,HCD,Timestamp(HABCD))。根据本发明实施例的验证数据的完整性的装置1400中的完整性验证单元1420通过如下方式对该数据子分段的次级完整性验证信息进行验证。根据数据子分段A1的次级完整性验证信息以及该数据子分段的哈希值H1来计算子根哈希值。计算方式与参照图15描述的方式类似,即,根据次级完整性验证信息中包括的路径信息以及该路径上相关兄弟节点的哈希值来得到子根哈希值H14。然后,以该子根哈希值作为该数据子分段所属的数据分段的哈希值,根据该哈希值以及该数据分段的完整性验证信息(HB,HCD,Timestamp(HABCD))来计算外部哈希树的根哈希值,并且将计算得到的根哈希值与完整性验证信息中包含的根哈希值进行比较。如果上述比较结果表明两者一致,并且同时公共验证信息验证单元1410的验证结果为正面的,则确定数据子分段A1是完整的。如果上述比较结果和公共验证信息验证单元1410的验证结果任意之一为负面的,则确定数据子分段A1的完整性被破坏。
对于图7中示出的在某个摄像设备中形成子哈希链的情形,其对于数据子分段的完整性验证的处理与上述图8中的情形类似,在此不再逐一赘述。
如上述结合图12A-12B的***配置中,在数据源(例如摄像设备)较多的情况下,可以将摄像设备划分为若干个哈希区域,每一个哈希区域中包含的哈希结构由一个管理摄像设备负责该哈希结构的生成,并由最终由最高级的管理摄像设备来负责生成完整性验证信息。在对每一个数据源(例如摄像设备)在特定的时间段内各自包括的数据分段进行完整性验证时,利用公共验证信息验证单元来验证与该数据分段对应的完整性验证信息中包含的公共验证信息。完整性验证单元将根据该数据分段所具有的完整性验证信息以及该数据分段的哈希值而计算 得到的根哈希值与完整性验证信息中包含的最终的根哈希值进行比较,在这种比较的结果以及公共验证信息验证单元的验证结果两者都为正面的情况下,相应的数据分段是完整的。其中,根据该数据分段的完整性验证信息中包括的与该数据分段的哈希值代表的最低层的子节点相关的路径信息、以及在该路径中包括的相关的兄弟节点的哈希值,来计算要与该数据分段的完整性验证信息中包含的最终的根哈希值进行比较的根哈希值。
如果待进行完整性验证的数据是如图6中示出的封装数据,则装置1400中的公共验证信息验证单元1410和完整性验证信息验证单元1420从相应的封装数据中直接获得待验证的数据分段以及该数据分段的完整性验证信息,以便例如按照图15中示出的过程进行完整性验证。对于将图7-8中的数据子分段按照图6所示的方式来进行封装的情形,装置1400类似地直接获得相应的子分段的完整性验证信息以便进行完整性验证。
如果数据分段的完整性验证信息不直接设置在相应的数据分段之后而是另行存储,但是构建数据分段与完整性验证信息之间的对应关系。则装置1400中的公共验证信息验证单元1410和完整性验证信息验证单元1420从对应关系中获得相应的数据分段的完整性验证信息,以便按照图15中示出的过程进行完整性验证。对于将图7-8中的数据子分段按照图6所示的方式来进行封装的情形,装置1400类似地通过对应关系获得相应的子分段的完整性验证信息以便进行完整性验证。
如上所述,除了通过为哈希结构的根哈希值获取时间戳来实现对各数据源在特定时间段中的数据分段的完整性的保护以外,根据可替选的实施方式,对数据的完整性保护手段还可以是加密或签名等。在通过加密手段实现数据的完整性保护的情形下,在对数据的完整性进行验证时,根据本发明实施例的装置1400通过使用预定的加密密钥来对加密了的公共验证信息进行解密并且利用公共验证信息中包含的校验信息(例如前述的校验码和验证哈希值等)来实现验证,如果验证通过,还可以恢复出公共验证信息中包含的根哈希值,以供在后续的验证过 程中使用。以此方式,可避免不知道加密密钥的任何一方能对受到加密保护的数据进行任何修改,或者即使修改也可以被验证方发现。在通过数字签名手段实现数据的完整性保护的情形下,用预定的秘密私钥对哈希结构的根哈希值签名后,根据本发明实施例的装置1400通过使用与该预定的秘密私钥对应的公钥证书来对经过签名的根哈希值验证,如果验证通过,则可确定公共验证信息的验证通过,同时还可以恢复公共验证信息中包含的根哈希值,以供在后续的验证过程中使用。以此方式,可以避免篡改者在不知道秘密私钥的情况下对数据进行任何修改,或者即使修改也可以被验证方发现。
相应地,根据本发明的实施例还提供了一种对数据的完整性进行验证的方法。图16示出了这种方法1600的流程简图。如图所示,方法1600开始于步骤S1610,包括公共验证信息验证步骤S1620,比较步骤S1630和完整性确定步骤S1640,并在步骤S1650结束。在公共验证信息验证步骤S1620,对多个数据源的相应的数据源在特定时间段内的数据分段所具有的完整性验证信息中包括的公共验证信息进行验证。在比较步骤S1630,将根据相应的数据源的数据分段所具有的完整性验证信息以及该数据分段的哈希值计算得到的根哈希值与完整性验证信息中包含的根哈希值进行比较。在完整性确定步骤S1640,如果比较步骤S1630的比较结果表明所计算的根哈希值与完整性验证信息中包含的根哈希值一致,并且公共验证信息验证步骤S1620的验证结果为正面的,则确定该数据分段是完整的。其中,数据分段的完整性验证信息包括公共验证信息、与特定时间段相对应的哈希结构中的、从该数据分段的哈希值代表的最低层的子节点到根结点的路径信息、以及在该路径中包括的、与该子节点相关的节点的哈希值。与特定时间段相对应的哈希结构通过使多个数据源在特定时间段内各自包括的数据分段的哈希值代表最低层的子节点来生成,并且根哈希值通过该哈希结构来计算。
在如上述图7-8所示的配置中为至少一个数据源在某个 特定时间段内再细分的若干个数据子分段完整性验证信息的情况下,根据本发明实施例的方法1600的一个具体实例,对这种数据子分段的完整性进行验证。例如可通过上述图14中示出的装置1400来实现这种完整性验证,具体验证方法的处理细节可参见上述参照图7,8,15对装置1400的操作的描述,在此不再逐一赘述。
根据本发明该实施例的方法1600还能够针对在具有图12A-12B中示出的***配置的情况下得到的完整性验证信息进行验证。具体验证过程例如可参见上面参照图12A-12B对装置1400的操作的描述,在此不再赘述。
如果待进行完整性验证的数据是如图6中示出的封装数据,则根据本实施例的方法1600从相应的封装数据中直接获得待验证的数据分段以及该数据分段的完整性验证信息,以便按照图15中示出的过程进行完整性验证。对于将图7-8中的数据子分段按照图6所示的方式来进行封装的情形,方法1600类似地直接获得相应的子分段的次级完整性验证信息以便进行完整性验证。
如果数据分段的完整性验证信息不直接设置在相应的数据分段之后而是另行存储,但是构建数据分段与完整性验证信息之间的对应关系。则根据本实施例的进行完整性验证的方法1600从对应关系中获得相应的数据分段的完整性验证信息,以便按照图15中示出的过程进行完整性验证。对于将图7-8中的数据子分段按照图6所示的方式来进行封装的情形,方法1600类似地通过对应关系获得相应的子分段的次级完整性验证信息以便进行完整性验证。
如上所述,在通过加密手段实现数据的完整性保护的情形下,根据本发明的实施例的方法1600通过利用对哈希结构的根哈希值进行加密的预定的加密密钥以及公共验证信息中包含的校验信息(例如前述的校验码和验证哈希值等)来实现公共验证信息的验证。此外,在通过数字签名手段实现数据的完整性保护的情形下,根据本发明实施例的方法1600通过使用与对数 据进行数字签名时使用的预定的秘密私钥相对应的公钥证书来实现公共验证信息的验证。具体实现细节例如可参加上面针对用于验证数据的完整性的装置1400的描述,在此不再赘述。
根据本发明各实施例的生成数据的完整性验证信息的装置、方法以及用于对数据的完整性进行验证的装置和方法,为存在多个摄像设备(数据源的一种示例)的视频监控***提供了一种高效的完整性保护方案,使得对所有摄像设备的不同视频数据分段,仅需要申请一次时间戳,跟摄像设备的个数无关。从而可以高效地实现对各个摄像设备的特定时间段内的数据分段的单独的完整性保护。此外,也大大节约了网络带宽和时间戳费用。而各个摄像设备所存储的验证信息的长度与摄像设备的个数成对数关系,有效地防止了验证信息的膨胀。在利用加密手段或者数字签名手段来实现对根节点值的完整性进行保护的情况下,同样也可以提供高效、精确的数据完整性保护。此外还可以简化***配置,降低成本。
假设摄像设备的个数为N,且在某特定时间段产生的数据分段的数目也是N,则所构造高效二叉树的高度为h=ceil(log2N),ceil表示取不小于log2N的最小整数。从每个叶子节点到达根节点的路径长度为h,因而验证信息里存储路径上兄弟节点的个数为路径的长度h,而h与摄像设备的个数成近似对数关系。例如当一个监控***有1000个摄像设备,构造的哈希树的高度是10,因此每个分段的验证信息需要存储10个哈希值。
下面通过一个具体的应用例子来说明相关的有益效果。假设一个***中有100个摄像设备,设监控摄像设备的视频码率为2Mbps,每30秒申请一次时间戳。首先二叉树的高度为7,则每个摄像设备的30秒视频数据需要存储的验证信息为7个哈希值和一个公共时间戳,假设使用SHA256,哈希值的长度为256bits,时间戳的大小假设为3000bits,因此每个30秒分段的验证信息长度为7*256+3000=4792bits=600bytes。而30秒的视频数据长度为2M*30bits=7.5Mbytes,因此验证信息占整 个视频数据的600/7.5M=0.01%。因此因为验证信息的加入而引起的码率膨胀可以忽略。时间戳代理需要构造一棵层数为7的二叉树,需要哈希最多256个哈希值,即需要的计算量是对256*256/8=8Kbytes的数据进行哈希运算。现在的普通计算机或微控制器或嵌入式设备例如摄像设备完全能够胜任此计算量。时间戳代理需要存储空间为256个哈希值和时间戳,约需要存储空间为(256*256+3000)/8=9Kbytes,这样的存储空间对于普通计算机或微控制器或嵌入式设备均不是太高的要求。
根据本发明的实施例的生成完整性验证信息的装置和方法,以及用于对数据的完整性进行验证的装置和方法所提供的完整保护的安全等级与各个摄像设备分别申请时间戳的方法相同,其安全等级均基于哈希函数的抗第二原象能力。可见,根据本发明的上述解决方案显著提高了完整性保护的效率和精确性。
在此需要说明,篇幅所限,上面列举的各实施例和具体应用示例都是示意性的而非穷举性的,也不是意在要对本发明构成限制。例如,上面各实施例中示出的各种具体的实例和具体实现方式可以分别根据需要进行任意的组合,而不是仅仅限于上面具体实例和实现方式给出的组合模式。此外,在上面对各实施例和具体实例的描述中,与数字有关的表述“1”,“2”,“一”,“二”,“第一”,“第二”等等仅仅是为了区别由这些数字修饰的部件或者元素,而不是为了表明这些部件或者元素之间的顺序或者重要性程度等等。
此外,上述图3-5,7-8,11,12,14中示出的生成完整性验证信息的装置以及对数据的完整性进行验证的装置或***中的各个组成单元、子单元以及部件可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,可从存储介质或网络向具有专用硬件结构的计算机(例如图17所示的通用计算机1700)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
如图17所示,中央处理单元(CPU)1701根据只读存储器 (ROM)1702中存储的程序或从存储部分1708加载到随机存取存储器(RAM)1703的程序执行各种处理。在RAM 1703中,还根据需要存储当CPU 1701执行各种处理等等时所需的数据。CPU 1701、ROM 1702和RAM 1703经由总线1704彼此连接。输入/输出接口1705也连接到总线1704。
下述部件连接到输入/输出接口1705:输入部分1706(包括键盘、鼠标等等)、输出部分1707(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分1708(包括硬盘等)、通信部分1709(包括网络接口卡比如LAN卡、调制解调器等)。通信部分1709经由网络比如因特网执行通信处理。根据需要,驱动器1710也可连接到输入/输出接口1705。可拆卸介质1711比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器1710上,使得从中读出的计算机程序根据需要被安装到存储部分1708中。
在通过软件实现上述系列处理的情况下,从网络例如因特网或存储介质例如可拆卸介质1711安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图17所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质17011。可拆卸介质1711的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1702、存储部分1708中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施例的生成数据的完整性验证信息的方法,或者用于对数据的完整性进行验证的方法。
相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
在上面对本发明具体实施例的描述中,针对一种实施方式 描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
此外,根据本发明的各实施例的方法和处理不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的各种方法和处理的执行顺序不对本发明的技术范围构成限制。
尽管上面已经通过对本发明的具体实施例的描述对本发明进行了披露,但是应该理解,上述的所有实施例和示例均是示例性的,而非限制性的。本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。
Claims (33)
1.一种用于生成数据的完整性验证信息的装置,包括:
哈希结构生成单元,其被配置成通过多个数据源在特定的时间段内各自包括的数据分段的哈希值生成与所述特定时间段相对应的哈希结构,使所有数据分段的哈希值分别代表所述哈希结构的最底层的子节点以便计算所述哈希结构的根节点的根哈希值;
公共验证信息获取单元,其被配置成获取针对所述根哈希值的公共验证信息;
完整性验证信息生成单元,其被配置成为所述多个数据源生成在所述特定的时间段内各自包括的数据分段的完整性验证信息,其中每一个数据分段的完整性验证信息包括所述公共验证信息、所述哈希结构中的、从代表最低层的子节点的该数据分段的哈希值到所述根结点的路径信息、以及在所述路径中包括的、与该子节点相关的节点的哈希值。
2.如权利要求1所述的装置,其中
所述哈希结构生成单元包括哈希子结构生成子单元,其被配置成通过如下方式为所述多个数据源的至少一个数据源中的每一个数据源生成与所述特定时间段相对应的哈希子结构:
将该数据源在所述特定时间段中的数据分段划分成多个数据子分段,通过各数据子分段的哈希值来生成所述哈希子结构,使所述各数据子分段的哈希值代表所述哈希子结构的最底层的子节点以便计算所述子哈希结构的子根节点的子根哈希值;
所述完整性验证信息生成单元被配置成针对该数据源的多个数据子分段分别生成次级完整性验证信息,其中,在所述数据子分段的完整性验证是绝对独立的情况下,每一个数据子分段的次级完整性验证信息包括该数据子分段所属的数据分段的完整性验证信息、所述哈希子结构中的、从与所述数据子分段的哈希值所代表的最低层的子节点到所述哈希子结构的子根结点的路径信息、以及所述路径中与该子节点相关的节点的哈希值;或者,在所述数据子分段的完整性验证是相对独立的情况下,每一个数据子分段的次级完整性验证信息包括该数据子分段所属的数据分段的完整性验证信息,以及该数据子分段的哈希值。
3.如权利要求2所述的装置,其中,所述哈希结构生成单元所生成的哈希结构是哈希树或者哈希链,以及,所述哈希子结构生成子单元生成的哈希子结构是哈希树或者哈希链。
4.如权利要求3所述的装置,其中,所述哈希结构生成单元所生成的哈希结构是哈希树,并且所述哈希结构生成单元包括:
哈希树高度计算子单元,其被配置成对于所述多个数据源在所述特定时间段中产生的N个数据分段,计算h=ceil(log2N),ceil表示取不小于log2N的最小整数,h代表哈希树的高度,N为大于1的自然数;以及
哈希树构造子单元,其被配置成在log2N是整数的情况下,以所述N个数据分段各自的哈希值作为N个叶子节点来构造高度为h的满二叉哈希树作为与所述特定时间段相对应的哈希树,以及,在log2N不为整数的情况下,以所述N个数据分段各自的哈希值作为N个叶子节点来构造高度为h的虚拟满二叉哈希树,然后对于该虚拟满二叉哈希树中N个数据分段的哈希值所代表的N个叶子节点,按照该虚拟满二叉哈希树的叶子节点从左到右的顺序依次确定N个叶子节点在该虚拟满二叉哈希树中的位置,根据确定结果去掉该虚拟满二叉哈希树中多余的节点,由此得到与所述特定时间段相对应的哈希树。
5.如权利要求1-4中任意一项所述的装置,还包括数据封装单元,其被配置成:
将所述完整性验证信息生成单元为所述多个数据源在所述特定的时间段内各自包括的数据分段生成的完整性验证信息设置在对应的数据分段之后,以便形成所述多个数据源的具有完整性验证信息的封装数据;和/或
将所述完整性验证信息生成单元为所述多个数据源在所述特定的时间段内各自包括的数据子分段生成的次级完整性验证信息设置在对应的数据子分段之后,以便形成所述多个数据源的具有次级完整性验证信息的封装数据。
6.如权利要求1-4中任意一项所述的装置,还包括对应关系创建单元,其被配置成:
将所述完整性验证信息生成单元为所述多个数据源在所述特定的时间段内各自包括的数据分段生成的完整性验证信息集中存储,并创建所述完整性验证信息与相应的数据分段之间的第一对应关系;和/或
将所述完整性验证信息生成单元为所述多个数据源在所述特定的时间段内各自包括的数据子分段生成的次级完整性验证信息集中存储,并创建所述次级完整性验证信息与相应的数据子分段之间的第二对应关系。
7.如权利要求1-4中任一项所述的装置,其中,所述公共验证信息获取单元通过进行如下中的至少一种操作来获取针对所述根哈希值的公共验证信息:
为所述根哈希值请求经过认证的时间戳,将加盖了所述时间戳的根哈希值作为所述公共验证信息;
通过预定的加密密钥对所述根哈希值以及校验信息进行加密,将经过加密的根哈希值以及校验信息作为所述公共验证信息;以及
通过预定的秘密私钥对所述根哈希值进行签名,将经过签名的根哈希值作为所述公共验证信息。
8.如权利要求1-4中任一项所述的装置,其中,所述多个数据源中的每一个数据源是视频摄像设备,所述数据是来自所述多个视频摄像设备的数据。
9.一种视频摄像设备,其具有如权利要求1-8中任一项所述的生成数据的完整性验证信息的装置。
10.一种为数据提供完整性保护的***,包括:
多个数据源,所述多个数据源被划分到第一至Z级哈希区域中,其中,所述第一至Z级哈希区域中第L级哈希区域包括ML个哈希结构,L=1,......,Z,且其中每一个哈希结构都包括一个管理数据源,每一个所述管理数据源都具有如权利要求1-8中任一项所述的生成数据的完整性验证信息的装置,其中Z是大于等于2的整数,ML是大于等于1的整数;
对于第K级哈希区域中的每一个哈希结构而言,该哈希结构的管理数据源被配置成将其自身及其所管理的数据源在特定时间段中包括的数据分段的哈希值分别作为最底层的子节点来生成该哈希结构,或者,该哈希结构的管理数据源被配置成将其自身在特定时间段中包括的数据分段的哈希值以及第K-1级哈希区域中对应的至少一个哈希结构的根结点值分别作为最底层的子节点来生成该哈希结构,其中K是大于等于1且小于等于Z的整数;
基于所述第Z级哈希区域中各个哈希结构的根结点值来生成最终的根哈希值,以及,所述第Z级哈希区域中包括的管理数据源中预先指定的最高级管理数据源被配置成获取针对所述最终的根哈希值的公共验证信息;以及
所述最高级管理数据源被配置成为所述第Z级哈希区域的每一个哈希结构中的、与数据源对应的最底层的子节点生成完整性验证信息,该完整性验证信息包括所述公共验证信息、在所述第Z级哈希区域中的、从所述子节点到所述最终的根结点的路径信息、以及在所述路径中包括的与所述子节点相关的节点的哈希值;以及
对于从第一级到第Z-1级哈希区域之中的第Q级哈希区域中的每一个哈希结构,该哈希结构中的管理数据源被配置成为该哈希结构中的、与数据源对应的其他底层的子节点生成完整性验证信息,该完整性验证信息包括该哈希结构的根结点的完整性验证信息、在所述第Q级哈希区域中从所述子节点到所述根结点的路径信息、以及在该路径上与该子节点相关的节点的哈希值,其中,该哈希结构的根结点作为第Q+1级哈希区域中相应哈希结构的最低层的子节点,其完整性验证信息是通过第Q+1级哈希区域中所述相应哈希结构的管理数据源来生成的,其中Q是大于等于1且小于等于Z-1的整数。
11.如权利要求10所述的***,其中,所述第一至Z级哈希区域中包含的每一个哈希结构是哈希树或者哈希链。
12.一种生成数据的完整性验证信息的方法,包括:
哈希结构生成步骤,其将多个数据源在特定的时间段内各自包括的数据分段的哈希值作为最底层的子节点来生成与所述特定时间段相对应的哈希结构,通过所述哈希结构的最低层的子节点来计算所述哈希结构的根节点的根哈希值;
公共验证信息获取步骤,其获取针对所述根哈希值的公共验证信息;和
完整性验证信息生成步骤,其针对所述多个数据源在所述特定的时间段内各自包括的数据分段中的每一个数据分段,基于下列的信息来生成该数据分段的完整性验证信息:所述公共验证信息、所述哈希结构中的、从代表最低层的子节点的该数据分段的哈希值到所述根结点的路径信息、以及在所述路径中包括的、与该子节点相关的节点的哈希值。
13.如权利要求12所述的方法,其中,所述哈希结构生成步骤包括哈希子结构生成子步骤,其通过如下方式为所述多个数据源的至少一个数据源中的每一个数据源生成与所述特定时间段相对应的哈希子结构:
将该数据源在所述特定时间段中的数据分段划分成多个数据子分段,将各数据子分段的哈希值作为所述哈希子结构的最底层的子节点来生成所述哈希子结构,通过所述哈希子结构的最低层的子节点来计算所述子哈希结构的子根节点的子根哈希值;
所述完整性验证信息生成步骤针对该数据源的多个数据子分段,其中,在所述数据子分段的完整性验证是绝对独立的情况下,基于下列的信息来分别生成每一个数据子分段的次级完整性验证信息:该数据子分段所属的数据分段的完整性验证信息、所述哈希子结构中的、从该数据子分段的哈希值所代表的最低层的子节点到所述哈希子结构的子根结点的路径信息、以及所述路径中与该子节点相关的节点的哈希值;或者,在所述数据子分段的完整性验证是相对独立的情况下,基于下列的信息来分别生成每一个数据子分段的次级完整性验证信息:该数据子分段所属的数据分段的完整性验证信息,以及该数据子分段的哈希值。
14.如权利要求13所述的方法,其中,所述哈希结构生成步骤所生成的哈希结构是哈希树或者哈希链,以及,所述哈希子结构生成子步骤生成的哈希子结构是哈希树或者哈希链。
15.如权利要求14所述的方法,其中,所述哈希结构生成步骤所生成的哈希结构是哈希树,并且所述哈希结构生成步骤包括:
哈希树高度计算子步骤,其对于所述多个数据源在所述特定时间段中产生的N个数据分段,计算h=ceil(log2N),ceil表示取不小于log2N的最小整数,h代表哈希树的高度,N为大1的自然数;以及
哈希树构造子步骤,在log2N是整数的情况下,以所述N个数据分段各自的哈希值作为N个叶子节点来构造高度为h的满二叉哈希树作为与所述特定时间段相对应的哈希树,以及,在log2N不为整数的情况下,以所述N个数据分段各自的哈希值作为N个叶子节点来构造高度为h的虚拟满二叉哈希树,然后对于该虚拟满二叉哈希树中N个数据分段的哈希值所代表的N个叶子节点,按照该虚拟满二叉哈希树的叶子节点从左到右的顺序依次确定N个叶子节点在该虚拟满二叉哈希树中的位置,根据确定结果去掉该虚拟满二叉哈希树中多余的节点,由此得到与所述特定时间段相对应的哈希树。
16.如权利要求12-15中任意一项所述的方法,还包括数据封装步骤,用于:
将所述完整性验证信息生成步骤为所述多个数据源在所述特定的时间段内各自包括的数据分段生成的完整性验证信息设置在对应的数据分段之后,以便形成所述多个数据源的具有完整性验证信息的封装数据;和/或
将所述完整性验证信息生成步骤为所述多个数据源在所述特定的时间段内各自包括的数据子分段生成的次级完整性验证信息设置在对应的数据子分段之后,以便形成所述多个数据源的具有次级完整性验证信息的封装数据。
17.如权利要求12-15中任意一项所述的方法,还包括对应关系创建步骤,用于:
将所述完整性验证信息生成步骤为所述多个数据源在所述特定的时间段内各自包括的数据分段生成的完整性验证信息集中存储,并创建所述完整性验证信息与相应的数据分段之间的第一对应关系;和/或
将所述完整性验证信息生成步骤为所述多个数据源在所述特定的时间段内各自包括的数据子分段生成的次级完整性验证信息集中存储,并创建所述次级完整性验证信息与相应的数据子分段之间的第二对应关系。
18.如权利要求12-15中任一项所述的方法,其中,所述公共验证信息获取步骤通过进行如下中的至少一种操作来获取针对所述根哈希值的公共验证信息:
为所述根哈希值请求经过认证的时间戳,将加盖所述时间戳的根哈希值作为所述公共验证信息;
通过预定的加密密钥对所述根哈希值以及校验信息进行加密,将经过加密的根哈希值以及校验信息作为所述公共验证信息;以及
通过预定的秘密私钥来对所述根哈希值进行签名,将经过签名的根哈希值作为所述公共验证信息。
19.如权利要求12-15中任一项所述的方法,其中,所述多个数据源中的每一个数据源是视频摄像设备,所述数据是来自所述多个视频摄像设备的数据。
20.一种对数据的完整性进行验证的装置,包括:
公共验证信息验证单元,其被配置成对多个数据源的相应的数据源在特定时间段内的数据分段所具有的完整性验证信息中包括的公共验证信息进行验证;以及
完整性验证单元,其被配置成将根据所述相应的数据源的数据分段所具有的完整性验证信息以及所述数据分段的哈希值计算得到的根哈希值与所述完整性验证信息中包含的根哈希值进行比较,并且在所述比较结果以及所述公共验证信息验证单元的验证结果两者都为正面的情况下,确定所述数据分段是完整的;
其中,所述数据分段的完整性验证信息包括所述公共验证信息、与所述特定时间段相对应的哈希结构中的、从该数据分段的哈希值代表的最低层的子节点到所述根结点的路径信息、以及在所述路径中包括的、与该子节点相关的节点的哈希值,其中所述与特定时间段相对应的哈希结构通过使所述多个数据源在所述特定时间段内各自包括的数据分段的哈希值代表最低层的子节点来生成,所述根哈希值是所述哈希结构的根结点的哈希值。
21.如权利要求20所述的装置,其中,所述完整性验证单元被配置成通过如下方式,根据所述相应的数据源的数据分段中包括的完整性验证信息以及所述数据分段的哈希值来计算根哈希值:
根据所述完整性验证信息中包括的所述相关的节点的哈希值以及所述路径信息指示的路径,通过将所述相关节点的哈希值沿着所述路径两两结合得到所述计算的根哈希值。
22.如权利要求20所述的装置,其中
对于所述多个数据源中至少一个数据源的每一个数据源,在如下的情况下:
将该数据源在所述特定时间段中的数据分段划分成多个数据子分段,通过使各数据子分段的哈希值代表最低层的子节点来生成与所述特定时间段对应的哈希子结构,其中每一个数据子分段被分配有次级完整性验证信息,所述次级完整性验证信息包括所述数据子分段所属的数据分段的完整性验证信息、所述哈希子结构中的、从与所述数据子分段的哈希值所代表的最低层的子节点到与所述哈希子结构的子根结点的路径信息、以及所述路径中与所述子节点相关的节点的哈希值;
所述公共验证信息验证单元被配置成对所述数据源在所述特定时间段中包括的所述多个数据子分段中相应的数据子分段的次级完整性验证信息中包括的公共验证信息进行验证;
所述完整性验证单元被配置成通过如下方式对所述相应的数据子分段的完整性进行验证:
将根据所述相应的数据子分段所具有的次级完整性验证信息以及该相应的数据子分段的哈希值而计算得到的根哈希值与所述完整性验证信息中包含的根哈希值进行比较,在所述比较结果以及所述公共验证信息验证单元的验证结果两者都为正面的情况下,所述相应的数据子分段是完整的。
23.如权利要求20-22中任一项所述的装置,其中,所述哈希结构是哈希树或者哈希链,以及,所述哈希子结构是哈希树或者哈希链。
24.如权利要求20-22中任意一项所述的装置,其中,所述公共验证信息验证单元和所述完整性验证单元被配置成:
从相应的数据源的特定时间段的封装数据中获得完整性验证信息以便进行完整性验证,其中,所述封装数据是通过将与所述相应的数据源在所述特定的时间段内各自包括的数据分段相关的完整性验证信息设置在对应的数据分段之后来形成的;和/或
从相应的数据源的特定时间段的封装数据中获得次级完整性验证信息以便进行完整性验证,其中,与所述相应的数据源在所述特定的时间段内各自包括的数据子分段相关的次级完整性验证信息设置在对应的数据子分段之后来形成的。
25.如权利要求20-22中任意一项所述的装置,其中,所述公共验证信息验证单元和所述完整性验证单元被配置成:
获取所述数据分段的集中存储的完整性验证信息以及所述完整性验证信息与相应的数据分段之间的第一对应关系,以便在对所述相应的数据分段进行完整性验证时通过所述第一对应关系获得与该数据分段相关的完整性验证信息;和/或
获取所述数据子分段的集中存储的次级完整性验证信息以及所述次级完整性验证信息与相应的数据子分段之间的第二对应关系,以便在对相应的数据子分段进行完整性验证时通过所述第二对应关系获得与该数据子分段相关的次级完整性验证信息。
26.如权利要求20-22中任意一项所述的装置,其中,所述公共验证信息验证单元被配置成执行如下操作中的任意一种来对所述公共验证信息进行验证:
在把加盖了经过认证的时间戳的根哈希值作为公共验证信息的情况下,所述公共验证信息验证单元在进行完整性验证时将待验证完整性的数据分段或者数据子分段所具有的完整性验证信息或次级完整性验证信息中的时间戳信息相对于时间戳服务中心所公开的根证书进行验证,如果验证通过,则确定公共验证信息的验证结果为正面的,并且恢复出所述公共验证信息中包含的根哈希值;
在把通过预定的加密密钥进行了加密的根哈希值和校验信息作为公共验证信息的情况下,所述公共验证信息验证单元在进行完整性验证时,通过利用所述加密密钥和所述校验信息来对待验证完整性的数据分段或者数据子分段所具有的完整性验证信息或次级完整性验证信息中的公共验证信息进行验证,如果验证通过,则确定公共验证信息的验证结果为正面的,并且恢复出所述公共验证信息中包含的根哈希值;以及
在把通过预定的秘密私钥进行了签名的根哈希值作为公共验证信息的情况下,所述公共验证信息验证单元在进行完整性验证时通过与所述秘密私钥对应的公钥证书来对待验证完整性的数据分段或者数据子分段所具有的完整性验证信息或次级完整性验证信息中的公共验证信息进行验证,如果验证通过,则确定公共验证信息的验证结果为正面的,并且恢复出所述公共验证信息中包含的根哈希值。
27.一种对数据的完整性进行验证的方法,包括:
公共验证信息验证步骤,对多个数据源的相应的数据源在特定时间段内的数据分段所具有的完整性验证信息中包括的公共验证信息进行验证;
比较步骤,将根据所述相应的数据源的数据分段所具有的完整性验证信息以及所述数据分段的哈希值计算得到的根哈希值与所述完整性验证信息中包含的根哈希值进行比较;以及
完整性确定步骤,如果所述比较步骤的比较结果表明所述计算的根哈希值与所述完整性验证信息中包含的根哈希值一致,并且所述公共验证信息验证步骤的验证结果为正面的,则确定所述数据分段是完整的,
其中,所述数据分段的完整性验证信息包括所述公共验证信息、与所述特定时间段相对应的哈希结构中的、从该数据分段的哈希值代表的最低层的子节点到所述根结点的路径信息、以及在所述路径中包括的、与所述子节点相关的节点的哈希值,其中所述与特定时间段相对应的哈希结构通过使所述多个数据源在所述特定时间段内各自包括的数据分段的哈希值代表最低层的子节点来生成,所述根哈希值通过所述哈希结构来计算。
28.如权利要求27所述的方法,其中,所述比较步骤包括通过如下方式,根据所述相应的数据源的数据分段中包括的完整性验证信息以及所述数据分段的哈希值来计算根哈希值:
根据所述完整性验证信息中包括的所述相关节点的哈希值以及所述路径信息指示的路径,通过将所述相关节点的哈希值沿着所述路径两两结合得到所述计算的根哈希值。
29.如权利要求27所述的方法,其中
对于所述多个数据源中至少一个数据源的每一个数据源,在如下的情况下:
将该数据源在所述特定时间段中的数据分段划分成多个数据子分段,通过使各数据子分段的哈希值代表最低层的子节点来生成与所述特定时间段对应的哈希子结构,其中每一个数据子分段被分配有次级完整性验证信息,所述次级完整性验证信息包括所述数据子分段所属的数据分段的完整性验证信息、所述哈希子结构中的、从与所述数据子分段的哈希值所代表的最低层的子节点到与所述哈希子结构的子根结点的路径信息、以及所述路径中与所述子节点相关的节点的哈希值;
所述公共验证信息验证步骤包括对所述数据源在所述特定时间段中包括的所述多个数据子分段中相应的数据子分段的次级完整性验证信息中包括的公共验证信息进行验证;
所述比较步骤包括:将根据所述相应的数据子分段中所具有的次级完整性验证信息以及该相应的数据子分段的哈希值而计算得到的根哈希值与所述完整性验证信息中包含的根哈希值进行比较;以及
所述完整性确定步骤包括在所述比较步骤的结果表明计算得到的根哈希值与所述完整性验证信息中包含的根哈希值一致并且所述公共验证信息验证步骤的验证结果为正面的情况下,确定所述相应的数据子分段是完整的。
30.如权利要求27-29中任一项所述的方法,其中,所述哈希结构是哈希树或者哈希链,以及,所述哈希子结构是哈希树或者哈希链。
31.如权利要求27-29中任意一项所述的方法,其中,所述公共验证信息验证步骤和所述比较步骤包括:
从相应的数据源的特定时间段的封装数据中获得完整性验证信息以进行完整性验证,其中,与所述相应的数据源在所述特定的时间段内各自包括的数据分段相关的完整性验证信息设置在对应的数据分段之后,以便形成所述相应的数据源的具有完整性验证信息的封装数据;和/或
从相应的数据源的特定时间段的封装数据中获得次级完整性验证信息以进行完整性验证,其中,与所述相应的数据源在所述特定的时间段内各自包括的数据子分段相关的次级完整性验证信息设置在对应的数据子分段之后,以便形成所述相应的数据源的具有次级完整性验证信息的封装数据。
32.如权利要求27-29中任意一项所述的方法,其中,所述公共验证信息验证步骤和所述比较步骤包括:
获取所述数据分段的集中存储的完整性验证信息以及所述完整性验证信息与相应的数据分段之间的第一对应关系,以便在对所述相应的数据分段进行完整性验证时通过所述第一对应关系获得与该数据分段相关的完整性验证信息;和/或
获取所述数据子分段的集中存储的次级完整性验证信息以及所述次级完整性验证信息与相应的数据子分段之间的第二对应关系,以便在对相应的数据子分段进行完整性验证时通过所述第二对应关系获得与该数据子分段相关的次级完整性验证信息。
33.如权利要求27-29中任意一项所述的方法,其中,所述公共验证信息验证步骤包括执行如下操作中的任意一种来对所述公共验证信息进行验证:
在把加盖了经过认证的时间戳的根哈希值作为公共验证信息的情况下,所述公共验证信息验证步骤在进行完整性验证时将待验证完整性的数据分段或者数据子分段所具有的完整性验证信息或次级完整性验证信息中的时间戳信息相对于时间戳服务中心所公开的根证书进行验证,如果验证通过,则确定公共验证信息的验证结果为正面的,并且恢复出所述公共验证信息中包含的根哈希值;
在把通过预定的加密密钥进行了加密的根哈希值和校验信息作为公共验证信息的情况下,所述公共验证信息验证步骤在进行完整性验证时,通过利用所述加密密钥和所述校验信息来对待验证完整性的数据分段或者数据子分段所具有的完整性验证信息或次级完整性验证信息中的公共验证信息进行验证,如果验证通过,则确定公共验证信息的验证结果为正面的,并且恢复出所述公共验证信息中包含的根哈希值;以及
在把通过预定的秘密私钥进行了签名的根哈希值作为公共验证信息的情况下,所述公共验证信息验证步骤在进行完整性验证时通过与所述秘密私钥对应的公钥证书来对待验证完整性的数据分段或者数据子分段所具有的完整性验证信息或次级完整性验证信息中的公共验证信息进行验证,如果验证通过,则确定公共验证信息的验证结果为正面的,并且恢复出所述公共验证信息中包含的根哈希值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102953121A CN102413313A (zh) | 2010-09-26 | 2010-09-26 | 数据完整性验证信息生成方法和装置、数据完整性验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102953121A CN102413313A (zh) | 2010-09-26 | 2010-09-26 | 数据完整性验证信息生成方法和装置、数据完整性验证方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102413313A true CN102413313A (zh) | 2012-04-11 |
Family
ID=45915124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102953121A Pending CN102413313A (zh) | 2010-09-26 | 2010-09-26 | 数据完整性验证信息生成方法和装置、数据完整性验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102413313A (zh) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664893A (zh) * | 2012-04-23 | 2012-09-12 | 重庆理工大学 | 自适应重传与分段嵌入签名的数据传输方法 |
CN104429091A (zh) * | 2012-09-26 | 2015-03-18 | 尼尔森(美国)有限公司 | 用于识别媒体的方法和装置 |
CN104486614A (zh) * | 2014-12-10 | 2015-04-01 | 央视国际网络无锡有限公司 | Mp4视频格式损坏检测方法 |
CN104579557A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种多节点间数据完整性传输方法 |
CN104579558A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种数据传输过程中完整性检测方法 |
CN104579556A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 多节点间数据完整性传输*** |
CN103067363B (zh) * | 2012-12-20 | 2015-06-17 | 华中科技大学 | 一种用于公开数据完整性校验的索引转换方法 |
CN104735160A (zh) * | 2015-04-08 | 2015-06-24 | 鹰潭嘉坤云计算科技有限公司 | 一种监控消防给水信息的方法和*** |
CN105187218A (zh) * | 2015-09-30 | 2015-12-23 | 谈建 | 一种多核心基础设施的数字化记录签名、验证方法 |
CN105227680A (zh) * | 2015-10-26 | 2016-01-06 | 广东佳学信息科技有限公司 | 一种智能设备文件下载有效性控制方法 |
CN105608530A (zh) * | 2015-12-18 | 2016-05-25 | 北京四方继保自动化股份有限公司 | 一种配电网营配调数据完整性校验方法 |
CN106230880A (zh) * | 2016-07-12 | 2016-12-14 | 何晓行 | 一种数据的存储方法以及应用服务器 |
WO2017008658A1 (zh) * | 2015-07-14 | 2017-01-19 | 阿里巴巴集团控股有限公司 | 一种文本数据的存储校验方法和*** |
CN106454385A (zh) * | 2015-08-04 | 2017-02-22 | 中国科学院深圳先进技术研究院 | 视频帧篡改检测方法 |
CN106686333A (zh) * | 2016-11-02 | 2017-05-17 | 四川秘无痕信息安全技术有限责任公司 | 一种针对安卓设备产生的视频添加水印的方法 |
CN107452207A (zh) * | 2016-06-01 | 2017-12-08 | 高德软件有限公司 | 浮动车数据源评价方法、装置及*** |
CN107480535A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种两路服务器的可信硬件层设计方法及装置 |
CN107612988A (zh) * | 2017-09-12 | 2018-01-19 | 北京泛融科技有限公司 | 一种基于物联网的账本同步***及方法 |
CN107707395A (zh) * | 2017-09-28 | 2018-02-16 | 浙江大华技术股份有限公司 | 一种数据传输方法、装置和*** |
CN108337479A (zh) * | 2018-02-05 | 2018-07-27 | 深圳华博高科光电技术有限公司 | 视频监控***及视频监控方法 |
CN108809467A (zh) * | 2018-05-22 | 2018-11-13 | 深圳华博高科光电技术有限公司 | 监控图片认证的方法、装置及计算机可读存储介质 |
CN109154971A (zh) * | 2016-03-30 | 2019-01-04 | 艾升集团有限公司 | 数据的完整性的验证 |
CN109194483A (zh) * | 2018-08-10 | 2019-01-11 | 北京首汽智行科技有限公司 | 基于区块链的数据校验方法 |
US10303887B2 (en) | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
CN111373388A (zh) * | 2017-12-28 | 2020-07-03 | 卓普网盘股份有限公司 | 有效地传播差异化值 |
CN111565331A (zh) * | 2020-04-10 | 2020-08-21 | 苏州鑫竹智能建筑科技有限公司 | 一种无线传输视频图像数据的优化方法 |
CN112131609A (zh) * | 2020-08-27 | 2020-12-25 | 国网湖北省电力有限公司电力科学研究院 | 基于Merkle树的电能质量数据交换格式文件完整性校验方法及*** |
US10937083B2 (en) | 2017-07-03 | 2021-03-02 | Medici Ventures, Inc. | Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system |
CN112559547A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 确定多存储对象副本之间一致性的方法及装置 |
KR20210047666A (ko) * | 2019-10-22 | 2021-04-30 | 한국전자기술연구원 | 연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법 |
WO2021114918A1 (zh) * | 2019-12-13 | 2021-06-17 | 华为技术有限公司 | 完整性校验方法、装置、终端设备及验证服务器 |
CN113190863A (zh) * | 2019-03-29 | 2021-07-30 | 神讯电脑(昆山)有限公司 | 验证码产生方法、资料验证方法及电子装置 |
US20210272108A1 (en) * | 2020-07-22 | 2021-09-02 | Baidu Online Network Technology (Beijing ) Co., Ltd. | Method and apparatus of processing deposit, and storage medium |
CN113536956A (zh) * | 2021-06-23 | 2021-10-22 | 华南理工大学 | 一种多媒体数据篡改检测的方法 |
CN113632418A (zh) * | 2019-04-03 | 2021-11-09 | 特里布泰克解决方案有限公司 | 用于对传感器数据流进行完整性检查的装置和方法 |
WO2021243594A1 (zh) * | 2020-06-03 | 2021-12-09 | 铨鸿资讯有限公司 | 基于集体验证的部分数据验证方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741010A (zh) * | 2004-08-24 | 2006-03-01 | 侯方勇 | 优化哈希树完整性校验的方法和装置 |
CN1841255A (zh) * | 2005-03-30 | 2006-10-04 | 侯方勇 | 保护数据存储的机密性与完整性的方法和装置 |
JP2006313964A (ja) * | 2005-05-06 | 2006-11-16 | Ricoh Co Ltd | データ処理装置、データ処理システム、画像形成装置及び画像処理システム |
CN101278298A (zh) * | 2005-10-05 | 2008-10-01 | 国际商业机器公司 | 执行数据对象从源到目标的信任保持迁移的***和方法 |
US20100088522A1 (en) * | 2008-10-02 | 2010-04-08 | John Barrus | Method and Apparatus for Tamper Proof Camera Logs |
CN101741845A (zh) * | 2009-12-08 | 2010-06-16 | 中国科学院声学研究所 | 一种基于分片的内容认证方法 |
-
2010
- 2010-09-26 CN CN2010102953121A patent/CN102413313A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1741010A (zh) * | 2004-08-24 | 2006-03-01 | 侯方勇 | 优化哈希树完整性校验的方法和装置 |
CN1841255A (zh) * | 2005-03-30 | 2006-10-04 | 侯方勇 | 保护数据存储的机密性与完整性的方法和装置 |
JP2006313964A (ja) * | 2005-05-06 | 2006-11-16 | Ricoh Co Ltd | データ処理装置、データ処理システム、画像形成装置及び画像処理システム |
CN101278298A (zh) * | 2005-10-05 | 2008-10-01 | 国际商业机器公司 | 执行数据对象从源到目标的信任保持迁移的***和方法 |
US20100088522A1 (en) * | 2008-10-02 | 2010-04-08 | John Barrus | Method and Apparatus for Tamper Proof Camera Logs |
CN101741845A (zh) * | 2009-12-08 | 2010-06-16 | 中国科学院声学研究所 | 一种基于分片的内容认证方法 |
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664893A (zh) * | 2012-04-23 | 2012-09-12 | 重庆理工大学 | 自适应重传与分段嵌入签名的数据传输方法 |
CN104429091A (zh) * | 2012-09-26 | 2015-03-18 | 尼尔森(美国)有限公司 | 用于识别媒体的方法和装置 |
CN104429091B (zh) * | 2012-09-26 | 2018-02-02 | 尼尔森(美国)有限公司 | 用于识别媒体的方法和装置 |
CN103067363B (zh) * | 2012-12-20 | 2015-06-17 | 华中科技大学 | 一种用于公开数据完整性校验的索引转换方法 |
CN104579557A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种多节点间数据完整性传输方法 |
CN104579558A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 一种数据传输过程中完整性检测方法 |
CN104579556A (zh) * | 2014-12-05 | 2015-04-29 | 苏州沃斯麦机电科技有限公司 | 多节点间数据完整性传输*** |
CN104486614A (zh) * | 2014-12-10 | 2015-04-01 | 央视国际网络无锡有限公司 | Mp4视频格式损坏检测方法 |
CN104735160A (zh) * | 2015-04-08 | 2015-06-24 | 鹰潭嘉坤云计算科技有限公司 | 一种监控消防给水信息的方法和*** |
WO2017008658A1 (zh) * | 2015-07-14 | 2017-01-19 | 阿里巴巴集团控股有限公司 | 一种文本数据的存储校验方法和*** |
CN106454385B (zh) * | 2015-08-04 | 2019-06-25 | 中国科学院深圳先进技术研究院 | 视频帧篡改检测方法 |
CN106454385A (zh) * | 2015-08-04 | 2017-02-22 | 中国科学院深圳先进技术研究院 | 视频帧篡改检测方法 |
US10303887B2 (en) | 2015-09-14 | 2019-05-28 | T0.Com, Inc. | Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree |
US10831902B2 (en) | 2015-09-14 | 2020-11-10 | tZERO Group, Inc. | Data verification methods and systems using a hash tree, such as a time-centric Merkle hash tree |
CN105187218B (zh) * | 2015-09-30 | 2018-11-23 | 谈建 | 一种多核心基础设施的数字化记录签名、验证方法 |
CN105187218A (zh) * | 2015-09-30 | 2015-12-23 | 谈建 | 一种多核心基础设施的数字化记录签名、验证方法 |
CN105227680A (zh) * | 2015-10-26 | 2016-01-06 | 广东佳学信息科技有限公司 | 一种智能设备文件下载有效性控制方法 |
CN105608530B (zh) * | 2015-12-18 | 2020-01-14 | 北京四方继保自动化股份有限公司 | 一种配电网营配调数据完整性校验方法 |
CN105608530A (zh) * | 2015-12-18 | 2016-05-25 | 北京四方继保自动化股份有限公司 | 一种配电网营配调数据完整性校验方法 |
CN109154971B (zh) * | 2016-03-30 | 2022-12-06 | 艾升集团有限公司 | 数据的完整性的验证 |
CN109154971A (zh) * | 2016-03-30 | 2019-01-04 | 艾升集团有限公司 | 数据的完整性的验证 |
US11658831B2 (en) | 2016-03-30 | 2023-05-23 | The Ascent Group Ltd | Validation of the integrity of data |
CN107452207A (zh) * | 2016-06-01 | 2017-12-08 | 高德软件有限公司 | 浮动车数据源评价方法、装置及*** |
CN106230880A (zh) * | 2016-07-12 | 2016-12-14 | 何晓行 | 一种数据的存储方法以及应用服务器 |
CN106686333A (zh) * | 2016-11-02 | 2017-05-17 | 四川秘无痕信息安全技术有限责任公司 | 一种针对安卓设备产生的视频添加水印的方法 |
US11948182B2 (en) | 2017-07-03 | 2024-04-02 | Tzero Ip, Llc | Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system |
US10937083B2 (en) | 2017-07-03 | 2021-03-02 | Medici Ventures, Inc. | Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system |
CN107480535A (zh) * | 2017-08-18 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种两路服务器的可信硬件层设计方法及装置 |
CN107612988A (zh) * | 2017-09-12 | 2018-01-19 | 北京泛融科技有限公司 | 一种基于物联网的账本同步***及方法 |
CN107612988B (zh) * | 2017-09-12 | 2024-02-02 | 北京泛融科技有限公司 | 一种基于物联网的账本同步***及方法 |
CN107707395A (zh) * | 2017-09-28 | 2018-02-16 | 浙江大华技术股份有限公司 | 一种数据传输方法、装置和*** |
US11657067B2 (en) | 2017-12-28 | 2023-05-23 | Dropbox Inc. | Updating a remote tree for a client synchronization service |
CN111373388A (zh) * | 2017-12-28 | 2020-07-03 | 卓普网盘股份有限公司 | 有效地传播差异化值 |
US11669544B2 (en) | 2017-12-28 | 2023-06-06 | Dropbox, Inc. | Allocation and reassignment of unique identifiers for synchronization of content items |
CN111373388B (zh) * | 2017-12-28 | 2024-03-15 | 卓普网盘股份有限公司 | 有效地传播差异化值的方法和装置 |
US11704336B2 (en) | 2017-12-28 | 2023-07-18 | Dropbox, Inc. | Efficient filename storage and retrieval |
US11836151B2 (en) | 2017-12-28 | 2023-12-05 | Dropbox, Inc. | Synchronizing symbolic links |
CN108337479A (zh) * | 2018-02-05 | 2018-07-27 | 深圳华博高科光电技术有限公司 | 视频监控***及视频监控方法 |
CN108809467A (zh) * | 2018-05-22 | 2018-11-13 | 深圳华博高科光电技术有限公司 | 监控图片认证的方法、装置及计算机可读存储介质 |
CN109194483A (zh) * | 2018-08-10 | 2019-01-11 | 北京首汽智行科技有限公司 | 基于区块链的数据校验方法 |
CN113190863A (zh) * | 2019-03-29 | 2021-07-30 | 神讯电脑(昆山)有限公司 | 验证码产生方法、资料验证方法及电子装置 |
CN113190863B (zh) * | 2019-03-29 | 2024-01-30 | 神讯电脑(昆山)有限公司 | 验证码产生方法、资料验证方法及电子装置 |
CN113632418A (zh) * | 2019-04-03 | 2021-11-09 | 特里布泰克解决方案有限公司 | 用于对传感器数据流进行完整性检查的装置和方法 |
KR102408728B1 (ko) * | 2019-10-22 | 2022-06-14 | 한국전자기술연구원 | 연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법 |
KR20210047666A (ko) * | 2019-10-22 | 2021-04-30 | 한국전자기술연구원 | 연속데이터 기반 무결성 부여 해쉬체인 생성장치 및 해쉬체인 생성방법 |
WO2021114918A1 (zh) * | 2019-12-13 | 2021-06-17 | 华为技术有限公司 | 完整性校验方法、装置、终端设备及验证服务器 |
CN111565331A (zh) * | 2020-04-10 | 2020-08-21 | 苏州鑫竹智能建筑科技有限公司 | 一种无线传输视频图像数据的优化方法 |
WO2021243594A1 (zh) * | 2020-06-03 | 2021-12-09 | 铨鸿资讯有限公司 | 基于集体验证的部分数据验证方法 |
US20210272108A1 (en) * | 2020-07-22 | 2021-09-02 | Baidu Online Network Technology (Beijing ) Co., Ltd. | Method and apparatus of processing deposit, and storage medium |
CN112131609A (zh) * | 2020-08-27 | 2020-12-25 | 国网湖北省电力有限公司电力科学研究院 | 基于Merkle树的电能质量数据交换格式文件完整性校验方法及*** |
CN112559547B (zh) * | 2020-12-24 | 2023-09-19 | 北京百度网讯科技有限公司 | 确定多存储对象副本之间一致性的方法及装置 |
CN112559547A (zh) * | 2020-12-24 | 2021-03-26 | 北京百度网讯科技有限公司 | 确定多存储对象副本之间一致性的方法及装置 |
CN113536956B (zh) * | 2021-06-23 | 2023-06-27 | 华南理工大学 | 一种多媒体数据篡改检测的方法 |
CN113536956A (zh) * | 2021-06-23 | 2021-10-22 | 华南理工大学 | 一种多媒体数据篡改检测的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102413313A (zh) | 数据完整性验证信息生成方法和装置、数据完整性验证方法和装置 | |
EP3361408B1 (en) | Verifiable version control on authenticated and/or encrypted electronic documents | |
CN106548345B (zh) | 基于密钥分割实现区块链私钥保护的方法及*** | |
US11151259B2 (en) | Method and system for data security, validation, verification and provenance within independent computer systems and digital networks | |
Shimbre et al. | Enhancing distributed data storage security for cloud computing using TPA and AES algorithm | |
CN104392185B (zh) | 在云环境日志取证中实现数据完整性验证的方法 | |
US20100005318A1 (en) | Process for securing data in a storage unit | |
US10880100B2 (en) | Apparatus and method for certificate enrollment | |
Akhil et al. | Enhanced cloud data security using AES algorithm | |
CN102024123B (zh) | 一种云计算中虚拟机镜像导入方法及装置 | |
US20070014399A1 (en) | High assurance key management overlay | |
JP2022501971A (ja) | 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品 | |
CN102664885A (zh) | 一种基于生物特征加密和同态算法的身份认证方法 | |
CN103339958A (zh) | 密钥传输协议 | |
CN107276752A (zh) | 对云支付限制密钥进行解密的方法、装置和*** | |
CN112866990A (zh) | 一种具有激励机制的条件身份匿名隐私保护公共审计方法 | |
CN112906056A (zh) | 一种基于区块链的云存储密钥安全管理方法 | |
KR20110028968A (ko) | 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템 | |
KR20190120559A (ko) | 블록체인 기반의 보안 자격증명 배포를 위한 장치 및 방법 | |
Mukundan et al. | Replicated Data Integrity Verification in Cloud. | |
Shin et al. | A Survey of Public Provable Data Possession Schemes with Batch Verification in Cloud Storage. | |
CN108933659B (zh) | 一种智能电网的身份验证***及验证方法 | |
CN106992865B (zh) | 数据签名方法及***、数据验签方法及装置 | |
Singh et al. | Data Integrity Check in Cloud Computing using Hash Function. | |
CN112465501A (zh) | 基于区块链的版权存证及侵权行为自动取证的方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120411 |