掌桥专利:专业的专利平台
掌桥专利
首页

具有加盐哈希的签名视频数据

文献发布时间:2023-06-19 19:27:02


具有加盐哈希的签名视频数据

技术领域

本公开涉及用于保护程序或数据免受未经授权的活动影响的安全措施领域。具体地,提出了用于对视频数据进行签名的方法和设备。

背景技术

在安全数字通信领域,已知使用所谓的盐来阻止未经授权方基于密码的哈希来猜测重复地使用的密码。盐,有时称为加密盐,也已被用于防止哈希冲突,即单独的数据项的哈希产生相同的结果的异常状况。哈希冲突不仅会破坏系统内部程序,还可能使系统遭受攻击。

例如,US10728023B2公开了一种利用基于内容的盐来实现哈希函数的方法。方法包括:识别给定大小的数据块B;将数据块划分为x段;从段中的每一个中选择y字节,共y

CN113158248A公开了一种用于视频数据的安全存储的方法,其中为数据记录、时间戳和操作序列号的组合计算数据哈希值。使用私钥从哈希值生成签名,私钥属于进一步包括公钥的密钥对。这些元素被发送到服务器,服务器在成功地验证后存储数据记录、时间戳、操作序列号、公钥和签名。

US20140010366A1公开了一种用于加密视频验证的方法,其中每个视频帧的数据在被哈希之前利用时间戳进行扩展。扩展后的视频帧的哈希被包括在被加密地签名的文档中。

WO0064094A1公开了一种用于将数字签名插入到数字数据(并且具体地是视频数据)中的方法。根据一个公开的实施例,数字签名用由可信的第三方分配的时间戳进行加盐。时间戳与打时间戳的时间而不是获取数字数据的时间有关。在此实施例中,数字数据被哈希且被签名,并且然后与时间戳组合,并且得到的组合被哈希和被加密。

US2011200224A1公开了一种提供内容项标识符的方法,包括:基于内容项的基带级表示的至少一部分生成内容项的第一标识符;基于内容项的编码后的表示的至少一部分生成内容项的第二标识符;并且生成包括第一标识符和第二标识符的消息。内容项可以是视频项,其中基带级表示包括原始视频。

WO2017202451A1通过首先对包括时间和坐标的生物特征签名进行采样,并且此后基于采样制作一组多项式而公开了一种提供安全电子签名的方法。此后,对待签名的数据进行哈希计算,其利用基于来自采样的多项式的数据进行加盐。最后,加盐哈希由来自合格的证书的私钥进行加密,该证书连同签名后的数据、哈希方法和公钥被存储,以实现签名的验证。

利用基于内容的盐来修改哈希的可用技术不适合视频数据(尤其是对实时视频流进行编码的数据)的数字签名。

发明内容

本公开的一个目标是提供用于对视频数据进行签名(数字签名)的、具有防止未经授权方基于过去的签名识别在签名过程中使用的秘密函数的机制的方法和设备。当秘密函数包括哈希函数时,即,考虑到具有经证明的抵抗攻击的能力的可用哈希函数的数量有限,这是特别期望的。另一目标是提出这样的方法和设备,其产生可以与连续解码视频数据流(诸如实时视频流)的运行过程并行验证的数字签名。提出具有这些特征的计算高效的签名技术是具体的目标。

这些目标中的至少一些通过由独立权利要求所限定的本发明来实现。从属权利要求涉及本发明的有利实施例。

在本发明的第一方面中,提供了一种对视频数据进行签名的方法,包括:获得表示视频序列的视频数据;获得未从视频数据中提取的比特串;通过对比特串进行哈希生成盐;生成第一指纹;并且提供视频数据的包括第一指纹的签名。第一指纹通过对盐和视频数据的第一部分的组合进行哈希生成,或者通过对盐和视频数据的第一部分的哈希的组合进行哈希生成。

签名视频数据的接收者可以使用签名来验证视频数据的真实性或完整性,并且还确保不可否认性。未经授权方即使知道视频数据的第一部分以及由此生成的第一指纹,也将很难猜测所使用的哈希函数,更确切地说,因为视频数据的该第一部分(或它的哈希)每次都被盐修改。它也阻止任何不拥有比特串的人生成新的指纹,例如,参考不可靠的视频数据的指纹。第三,因为比特串未从视频数据中提取,所以相同的比特串出现在视频数据中的概率非常小,如此,出于所有实际目的,比特串可以被认为独立于视频数据。不基于内容的盐的使用允许接收者在没有接收到全部视频数据的情况下完成验证过程,这可能是视频流应用中的情况。

在本公开中,数据项B

h({h(B

其中,B

在一些实施例中,视频数据的第一部分是视频数据的整体。在其它实施例中,视频数据的第一部分与要进行指纹生成的第二部分、第三部分和其它部分一起构成视频数据的整体。在其它实施例中,指纹仅应用于视频数据的子集。这里,例如,视频数据可以被划分为段,并且每个指纹可以基于段的子集生成。在这些实施例中,子集以预先约定的方式提取,以允许由希望验证签名的接收者重复该提取。在这些实施例内,比如,第一部分可以是数据结构的对第一视频帧进行编码的子集,并且第二部分可以是数据结构的对第二视频帧进行编码的子集,其中,两个子集都根据相同的预先约定的提取算法提取。参考上述保护秘密函数不被猜测的目的,可以理解,秘密函数包括哈希函数和子集提取算法两者。即使以相同的方式为视频数据的第一部分、第二部分和其它部分重复子集提取,每个生成的指纹也将被盐以这样的方式修改,即使得攻击者面临计算上高度地复杂的反演问题。优选地,子集占据视频数据的如此大的百分比—或者在视频数据中充分分布—从而可以以高置信度确保接收到的视频数据未被未经授权方操纵。

如所提到的,方法可以进一步包括基于视频数据的第二部分和先前从比特串生成的盐来生成第二指纹。与第一指纹一样,第二指纹可以通过对盐和视频数据的第二部分的组合进行哈希生成,或者通过对盐和视频数据的第二部分的哈希的组合进行哈希生成。有利地,即使为两个指纹使用相同的盐,用于生成指纹的哈希函数也仍被保护免于容易猜测。在生成第一指纹与生成第二指纹之间经过的时间,盐可以方便地缓存在存储器中。结合本实施例,视频数据的第一部分和第二部分可以表示(例如,它们可以编码)视频序列的相应的时间段。时间段可以构成视频序列的帧。可替代地,时间段可以构成视频序列的相应的图片组(GOP),其中,GOP被定义为可独立解码的段。在某种程度上,GOP包含单向(前向)预测帧或双向预测帧,这些可以在不依赖GOP之外的帧的情况下被解码。时间段可以不相交、重叠或部分地重叠。为了避免疑义,优选的选项是使用如所描述的视频数据的第一部分、第二部分等的对相应的视频帧或相应的GOP进行编码的数据,而不是明文视频帧或明文GOP。

在一个实施例中,盐使用第一哈希函数生成,并且第一(第二、第三等)指纹使用不同的第二哈希函数生成。第一哈希函数是保密的。为实现这点,方法包括在私有通信路径上与签名视频数据的接收者共享第一哈希函数的定义。这允许接收者通过重复操作来验证视频数据的签名。即使哈希函数的定义在私有通信路径上被共享,根据该实施例,签名和/或视频数据也可以在任意通信路径上传输,而不会对签名措施的安全性造成显著损害。私有通信路径可以指数字传输路径,使得未经授权的窃听极其困难或容易被发现,或两者兼而有之。加密通信和受双通道授权的通信是这种类型的私有通信路径的示例。另外,通过授予接收者访问根据所使用的哈希函数进行配置的软件的权限,哈希函数的定义可以以嵌入式形式共享;软件可以比如是视频解码应用或者签名验证应用。这样,哈希函数的定义被放到接收者的服务中,而不可在明文中检查。再一选项是将哈希函数的定义存放在一些设备的安全存储器空间中,设备的所有者专有地控制对该空间的访问。例如,设备可以是用于记录视频数据的数字视频摄像机。安全存储器空间可以物理地位于可移动介质中,诸如芯片或芯片组(例如,可信平台模块(TPM)或安全元件(SE)),它们的发送者和接收者各自持有一份副本。如果哈希函数的定义被分成由接收方的不同用户持有的两个部分,接收方的用户然后被要求进行合作以验证签名,则可以实现增加的置信水平。

在一个实施例中,盐从其中生成的比特串包括与视频序列的获取有关的可再现信息。信息应是可再现的,即预期的接收者能够在没有提供视频数据签名的签名者协助的情况下获得比特串。可替代地,根据进一步的实施例,比特串的至少部分从与视频数据相关联的元数据中提取。在更进一步的实施例中,视频的签名包括明文形式的比特串。这并不一定代表漏洞,尤其是如果盐通过其生成的哈希函数(第一哈希函数)在签名者与接收者之间保密。

在另一实施例中,盐从其中生成的比特串由发送者选择,然后发送者将可导出比特串的信息插入到与视频数据相关联的元数据中。例如,比特串可以是具有素数分解

在一些实施例中,视频数据的签名由与视频数据的相应的(例如,连续的)段有关的多个子签名组成。如果视频数据具有按时间顺序的结构,则这尤其有用。提供签名的步骤然后可以包括将该子签名插入到视频数据的相应的段中。更具体地,子签名可以被插入到相应的时间段附近(即,在相应的时间段或接近相应的时间段)的视频比特流中,或者子签名可以被包括在与这些时间段相关联的元数据中。如果子签名的验证不会明显延迟或干扰与此验证操作并行运行的解码操作,例如,在接收方视频播放应用中,则可以认为“在”时间段或在时间段“附近”插入子签名已完成。

在本发明的第二方面中,提供了一种被布置为执行上述方法的设备。从广义上来说,本发明的第二方面共享第一方面的效果和优点,并且可以通过相应程度的技术变化来实施。

本发明进一步涉及一种计算机程序,其包含用于使计算机执行上述方法的指令。计算机程序可以存储或分布在数据载体上。如本文中所使用的,“数据载体”可以是暂时性数据载体(例如调制的电磁波或光波)或非暂时性数据载体。非暂时性数据载体包括易失性存储器和非易失性存储器,例如磁类型、光类型或固态类型的永久性和非永久性存储介质。仍然在“数据载体”的范围内,这种存储器可以是固定安装的或便携式的。

通常,权利要求中使用的所有术语均应根据其在技术领域中的普通含义进行解释,除非本文中另外明确地限定。除非另外明确地说明,否则所有对“一/该元件、设备、部件、装置、步骤等”的引用都应公开解释为指代元件、设备、部件、装置、步骤等的至少一个实例。除非明确地说明,否则本文中公开的任何方法的步骤不必按照所描述的确切顺序执行。

附图说明

现在参考附图以示例的方式描述方面和实施例,在附图中:

图1是根据本发明的实施例的用于对视频数据进行签名的方法的流程图;以及

图2示出了根据本发明的实施例的被布置为执行视频数据的签名的设备。

具体实施方式

下文中将参考附图更全面地描述本公开的方面,附图中示出了本发明的特定实施例。然而,这些方面可以以许多不同的形式体现并且不应被解释为限制性的;相反,这些实施例以示例的方式提供,使得本公开将是彻底的和完整的,并且将本发明的所有方面的范围全面地传达给本领域技术人员。遍及说明书,相同的附图标记指代相同的元件。

参考图1,将描述对表示视频序列(例如,对视频序列进行编码)的视频数据进行签名的方法100。方法100由签名者或代表签名者执行,并提供可由接收者验证的签名。如果适当地布置,则方法100可以由通用可编程计算机实施,即,配备有相关的输入和输出接口的计算机。具体地,方法100可以由在图2中以框图形式描绘的设备200执行。设备200包括处理电路210、存储器220以及输入-输出接口230,输入-输出接口230适用于与在一些操作阶段期间存储待签名的视频数据的外部存储器290进行双向通信。设备200和外部存储器290可以由不同的实体拥有和操作,例如当签名作为外部服务提供时的情况,或者由共同的实体拥有和操作。设备200的(内部)存储器220可以适合于存储具有用于执行方法100的软件指令的程序221、用于生成签名的密码信息(例如,私钥)、指纹生成中使用的变量和缓存数据以及支持各种内部管理过程的日志、配置文件和数据。设备200可以作为本地计算机或服务器提供,或者可以基于联网(云)处理资源以分布式方式实现。具体地,设备200可以集成在数字视频摄像机中,例如适用于监控应用的视频摄像机,使得在视频数据被提供给外部接收者之前,可以对由视频数据产生的视频数据执行方法100。

在方法100的第一步骤110中,表示视频序列的视频数据被获得。视频数据可能具有但不必具有确定的范围(持续时间)。相反,视频序列的记录可能仍在进行中;这在流应用中经常出现,包括实时流和视频监控应用。存在适于处理不完整的视频数据(因为它可以由更新的数据补充)的已知解码过程,一个值得注意的示例是在国际电信联盟的ITU-T H.264建议书(2019年6月)“通用视听服务的高级视频编码”中描述的技术。类似地,本方法100出于让签名验证与这种类型的解码过程并行进行而不会延迟或干扰解码过程的期望而构思。获得视频数据的动作可以包括得到对存储视频数据的存储器(例如,图2中的外部存储器290)的访问权、下载视频数据和/或接收具有视频数据的传输。

在第二步骤112中,获得未从视频数据中提取的比特串b。比特串b是二进制值序列。本方法100不预设比特串指示、表示或编码任何信息。然而,为了便于接收者再现比特串,它可以包括获取(记录)视频序列的时间、日期或位置。获取时间可以指开始时间或结束时间。对于实时或流视频序列,设想基于新的比特串重复地生成新盐。例如,如果比特串指的是记录的连续段的开始,则一旦获取开始,签名就将准备好进行验证,并且通过让新盐取代旧盐可以维持高的安全级别。另一选项是从与视频数据相关联的元数据(例如,文件系统参数或文件格式元数据)中提取比特串。再一选项是将通过预先约定的操作可导出比特串的信息插入到这样的元数据中。

基于比特串b,在第三步骤114中,通过对比特串进行哈希来生成盐:σ=h

现在将描述上述选项的一种实现,其中,通过预先约定的操作可导出比特串的信息被插入到元数据中。在该实现中,该信息是由发送者选择的整数M。选择可以是随机的。由于

在方法100的第四步骤116中,通过对视频内容进行哈希生成指纹F

一方面,第四步骤116可以包括对盐σ和视频数据的第一部分π

F

其中,h

F

值得注意的是,首选选项是不替换盐σ。相反,盐可以在计算第一指纹F

另一方面,第四步骤116可以包括对盐σ和视频数据的第一部分π

F

其它可能的实现使用高阶哈希:

F

根据可能尤其适用于可用比特率受限的使用情况的两种更进一步的实现,为每个GOP生成一个指纹。第一种实现是基于GOP中的所有帧π

F

第二种实现是迭代地生成GOP的指纹:

这里,

在上述选项的变体中,用于执行内部哈希运算的哈希函数可以替换为不同于用于外部运算的第二哈希函数h

第四步骤216的第二组实施方式的共同优点源于哈希具有固定长度的事实,此外,该长度通常远小于编码一个视频帧或一个GOP所需的数据。因此,盐和视频数据的哈希的组合可以通过轻量级的存储器操作来实现,这导致有限的计算成本。

在第五步骤118中,视频数据的签名被提供,签名包括生成的指纹F

另一选项是提供118由多个子签名S

可选地,方法110可以包括附加步骤120,其中通过其生成盐σ的第一哈希函数h

上文主要参考几个实施例描述了本公开的方面。然而,如本领域技术人员容易理解的,在所附专利权利要求所限定的本发明的范围内,除了上述公开的实施例之外的其它实施例同样是可能的。实际上,方法100不限于编码后的视频数据,还可以对未编码的(或明文)视频数据执行。方法100也适用于其它编码视频格式,诸如AOMedia Video 1(AV1)和ITU-T H.265(2021年8月)建议书“高效视频编码”中指明的格式。

技术分类

06120115918455