CN116261019A - 在视频数据段中添加和证实数字签名的方法 - Google Patents

在视频数据段中添加和证实数字签名的方法 Download PDF

Info

Publication number
CN116261019A
CN116261019A CN202211532949.7A CN202211532949A CN116261019A CN 116261019 A CN116261019 A CN 116261019A CN 202211532949 A CN202211532949 A CN 202211532949A CN 116261019 A CN116261019 A CN 116261019A
Authority
CN
China
Prior art keywords
node device
video data
digital signature
video
added
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
Application number
CN202211532949.7A
Other languages
English (en)
Inventor
比约恩·沃尔克
斯蒂芬·伦德贝里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axis AB
Original Assignee
Axis AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Axis AB filed Critical Axis AB
Publication of CN116261019A publication Critical patent/CN116261019A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2351Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving encryption of additional data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64715Protecting content from unauthorized alteration within the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了在视频数据段中添加和证实数字签名的方法。本申请公开了用于验证由视频传送链生成的视频数据段中的数字签名的方法。该方法包括:获得(S102)包括编码图像帧和与相应的标签相关联的多个节点设备数据集的视频数据段;其中,一个或多个节点设备数据集包括相应的数字签名;其中,一个或多个节点设备数据集包括第一节点设备数据集,第一节点设备数据集包括由第一节点设备基于在第一节点设备数据集之前已经最后添加到视频数据段的第一数量的节点设备数据集生成的第一数字签名;定位(S104)标签;使用标签识别(S106)第一数量的节点设备数据集;以及验证(S108)第一数字签名。本申请还公开了将数字签名添加到视频数据段的方法。

Description

在视频数据段中添加和证实数字签名的方法
技术领域
本公开涉及用于视频的数字签名的领域。具体地,它提出了用于对视频数据段的数字签名进行数字签名和验证的方法。
背景技术
视频数据由图像或视频帧的有序序列组成,通常伴随着提供与视频相关的信息的元数据。可以出于不同目的(包括监控或监视目的)获取视频数据。能够相信视频数据是真实的以检测篡改变得越来越重要,尤其是对于监视视频。一种可能的篡改方法是添加、移除或改变视频序列的图像数据。这样的篡改的结果是个人可以看来已经出现或不出现在相机监控的地点。元数据形成图像帧的附加数据。元数据可以由视频传送链的节点设备添加。视频传送链可以包括初始视频捕获设备和随后的节点设备,每个节点设备将附加数据添加到视频数据段。附加数据可以包括例如时间戳、位置数据或诸如相机型号或固件版本的硬件数据。这些数据也可以被暴露以篡改。例如,通过改变时间戳,可以调整监控地点处的某个事件的时序。当视频数据用于证据目的时,例如在法庭上或在犯罪调查中,视频帧和重要的附加数据可以被信任是至关重要的。因此,需要用于证实视频数据的段(在本文中也被称为视频数据段)的方法。
对于由线性视频传送链中的多个节点设备生成的视频数据段,期望不仅证实其中的编码图像帧,而且证实由视频传送链的节点设备已经添加到视频数据段的其他数据。例如,具有编码图像帧的视频数据段由监视相机中的视频捕获设备生成,并且在从相机传输之前进行签名。视频管理系统(VMS)接收视频数据段并将元数据添加到包括编码图像帧的时间戳的视频数据段。如果元数据未签名,则任何人可以篡改元数据以调整或移除时间戳。该问题的解决方案是VMS对元数据进行签名,即,基于元数据生成数字签名。
然而,仍然需要改进对由视频传送链的多个节点设备生成的视频数据段的证实,以使证实更加可靠。
发明内容
本发明的目的是提供用于由具有若干个节点设备的视频传送链生成的视频数据段中的编码图像帧和附加数据(诸如元数据)两者的可靠的证实的方法。具体地,本发明的目的是提供在不同节点设备处将附加数据添加到视频数据段的方法,使得附加数据可以被证实是真实的并且属于(即,耦接到)视频数据段。
创建与视频数据段的其他部分的耦接的一种方式是还基于视频数据段的其他部分而不是附加数据对附加数据进行签名。通过引入视频数据段的附加数据应该基于视频数据段的其他部分进行签名的条件,附加数据不能被移除或被其他数据替换。然而,在验证根据该条件生成的签名时,证实过程需要知道该签名基于视频数据段中的哪些数据生成。否则,证实过程无法正确地验证签名,并且无法证实附加数据。本发明提出了如何为在视频传送链中的不同节点设备处生成的附加数据集生成签名的方法以及验证签名的对应的方法。
本发明由所附权利要求限定。
根据本发明的第一方面,提供了一种如权利要求1中所限定的用于验证视频数据段中的数字签名的方法。
根据本发明的第二方面,提供了一种如权利要求8中所限定的用于将数字签名添加到视频数据段的方法。
根据本发明的第三方面,提供了一种非暂时性计算机可读存储介质,其上存储有指令,当在具有处理能力的设备上执行时,该指令实现根据第一方面或第二方面的方法。
根据本发明的第四方面,提供了一种如权利要求16中所限定的用于验证视频数据段中的数字签名的证实器。
根据本发明的第五方面,提供了一种如权利要求17中所限定的视频传送链中的节点设备。
用于提供视频的常见布置是通过由具有图像传感器的捕获视频的视频捕获设备和相继处理视频的节点设备形成的线性视频传送链。换句话说,视频数据段最初由视频捕获设备生成,并且然后在多个节点设备之间以连续的顺序传输。节点设备可以具有例如以自动方式处理视频数据段或使用户能够查看或修改视频的目的。节点设备的示例是视频管理系统(VMS)设备、证据管理系统(EMS)设备、图像处理设备和存储设备。视频传送链的初始节点设备可以是包括视频捕获设备和一个或多个其他处理设备的相机(例如,监控相机)。因此,视频捕获设备应该被视为获取图像传感器数据并将图像传感器数据编码成编码图像帧的设备。编码图像帧然后可以形成被传递到构成视频传送链的初始节点设备的相机的处理设备的视频数据段。处理设备可以将节点设备数据集添加到视频数据段。节点设备数据集在本申请的上下文中被定义为由节点设备生成的数据集。由处理设备生成的节点设备数据集是添加到视频数据段的第一节点设备数据集,并且可以包括例如由处理设备基于编码图像帧的部分生成的编码图像帧的签名。该部分可以包括编码图像帧的全部或子集。此后视频数据段可以被传输到视频传送链中的依次添加另一节点设备数据集的下一节点设备(例如,VMS设备)。视频数据段可以是由视频传送链连续生成的一个或多个视频数据流的一部分。视频数据段的节点设备数据集和编码图像帧可以在同一数据流中传输或者在不同的数据流中传输。具体地,编码图像帧可以作为视频流的一部分来传输,并且节点设备数据集可以作为单独的元数据流的一部分来发送。
节点设备数据集彼此分离,意味着的是节点设备数据集独立于视频数据段的其他数据集从视频数据段中单独可提取。
视频传送链包括将节点设备数据集添加到视频数据段的至少两个节点设备。这些节点设备数据集中的至少一个包括签名。签名中的至少一个基于编码图像帧的部分生成。换句话说,生成视频数据段使得至少一个签名基于编码图像帧,因此确保的是编码图像帧可以被证实。此外,视频数据段中的签名中的至少第一签名在第一节点设备处针对不是初始节点设备数据集的第一节点设备数据集而生成,并且基于在第一节点设备数据集之前已经最后添加到视频数据段的第一数量的节点设备数据集。第一签名可以是基于编码图像帧的至少一个签名中的一个。将在详细描述中公开视频数据段中的不同签名方案的实施例。
通过签名意味着为确保签名数据的真实性的目的而生成的数字签名。数字签名可以看作生成签名的设备的指纹。数字签名通过使用以将要签名的数据作为输入执行的数学算法生成。数学算法的输出是数字签名。在本发明的实施例中可以使用适合用于数字签名的目的的任何数学算法。数学算法通常基于公钥和私钥对方案。在那种情况下,数字签名使用私钥生成,并使用对应的公钥进行验证。数学算法可以选自众所周知的签名方案,例如,RSA、ECC、DSA、ECDSA、EdDSA、EIGamal和Schnorr。
根据本发明,与初始节点设备数据集不同的第一节点设备数据集的第一数字签名基于多个节点设备数据集中的第一数量的节点设备数据集生成。因此,创建在第一数字签名与视频数据段的除了第一节点设备数据集之外的部分之间的耦接。第一数量的节点设备数据集可以是在第一节点设备数据集之前已经最后添加的任何数量的数据集,包括在第一节点设备数据集之前已经添加到视频数据段的所有节点设备数据集,或仅紧接在第一节点设备数据集之前已经添加的节点设备数据集。第一数量可以是静态的诸如“2”或“1”的预定义数量。
基于数据生成数字签名意味着数字签名至少对该数据进行签名。然而,它不排除的是数字签名还对进一步的数据进行签名。通过示例的方式,要求保护的第一数字签名基于第一数量的节点设备数据集生成,不排除的是它基于编码图像帧的部分进一步生成。
所提出的签名方法(可以被称为嵌套签名或链式签名)的长处在于,不能仅基于第一节点设备数据集验证第一数字签名。视频数据段的其他部分也需要可用于证实节点设备数据集的真实性。这是与节点设备数据集相关联的标签的主要目的。如所限定的,将多个节点设备数据集已经添加到视频数据段的顺序从标签可导出。在那个意义上,标签因此可以说是指示节点设备数据集已经被添加到视频数据段的顺序。因此,可以使用标签识别第一数量的节点设备数据集。然后可以基于识别的第一数量的节点设备数据集来验证第一数字签名。
因此,本发明基于多个节点设备数据集被加标签为使得多个节点设备数据集已经被添加到视频数据段的顺序是可导出的构思。该顺序可以从单独考虑或与进一步的补充信息结合考虑的一个或多个标签可导出。不同实施例的详细示例将在详细描述中公开。
如本领域技术人员所理解的,关于标签的构造存在许多替代方案以允许多个节点设备数据集已经添加到视频数据段的顺序是可导出的。在一般层面上,标签可以定义为具有识别节点设备数据集或已经添加节点设备数据集的节点设备的唯一值。该值需要是本地地不一定是全局地唯一的。换句话说,唯一值必须识别在视频数据段的多个节点设备数据集当中但不一定在其他视频数据段的节点设备数据集当中的关联的节点设备数据集。例如,节点设备可以将不同视频数据段中的不同节点设备数据集与同一标签相关联。
如稍后将更详细地公开的,标签的值可以根据不同的规则设置,以使其可导出。可以基于已经与先前添加到如在节点设备处接收的视频数据段的节点设备数据集相关联的其他标签在节点设备处生成标签。例如,节点设备可以生成具有按照数字序列的顺序作为下一个的值的标签。在那种情况下,标签将形成与关联的节点设备数据集已经添加到视频数据段的顺序对应的递增数字的序列。在另一示例中,节点设备可以生成包括已经存在于视频数据段中的一个或多个标签的标签。例如,除了当前节点设备的标识之外,生成的标签还可以包括视频传送链中的先前节点设备的标识。具体地,标签可以包括在视频传送链中位于紧接在当前节点设备之前的节点设备的标识。
可替代地,可以在节点设备处独立于其他标签生成标签。例如,节点设备可以生成包括节点设备的标识的标签。标识可以采用例如数字或字母的序列的形式。为了识别第一数量的节点设备数据集,在使用独立生成的标签时必须存在可用的补充信息。补充信息可以例如包括节点设备位于视频传送链中的顺序。从与标识节点设备的标签结合的补充信息,可以导出已经添加关联的节点设备数据集的顺序。补充信息可以作为视频数据段的一部分添加,或者可以是预先为视频传送链决定的信息,并且作为与视频数据段分开的数据是可用的。
通过将标签与节点设备数据集相关联意味着的是在标签与节点设备数据集之间提供了逻辑连接。可以通过在关联的标签中包括对节点设备数据集的引用来实现逻辑连接,反之亦然。换句话说,关联的标签可以包括通过例如句柄或指针对与它关联的节点设备数据集的引用。因此,当证实器已经识别标签时,它可以从引用中快速确定关联的节点设备数据集。对应地,节点设备数据集可以包括对关联的标签的引用(诸如句柄或指针)。可替代地,逻辑连接可以由将标签与节点设备数据集相关联的查找表(LUT)提供。LUT可以是视频数据段的一部分,并在添加节点设备数据集时由节点设备更新。
优选地,标签本身被添加为关联的节点设备数据集的一部分。因此,节点设备数据集可以说是被标签标记。例如,标签可以包括在关联的节点设备数据集内的预定位位置处。这使得标签容易地定位并从节点设备数据集中单独读出。
如何添加标签的具体示例是作为用户数据未注册的补充增强信息(SEI)消息的一部分。SEI消息是在H.264和H.265视频压缩标准中指定的已知帧组件。SEI消息(或SEI帧)具有预定义的部分。用户数据未注册的SEI帧包括部分标头、大小、UUID和有效负载。在一个实施例中,标签被添加为UUID的一部分。在另一实施例中,添加标签作为有效载荷的开始位或结束位。这两个实施例提供了有效的加标签,因为不需要为标签创建单独的数据帧。
在一个实施例中,附加安全措施被添加到签名过程,以阻止已经最后添加到视频数据段的节点设备数据集被恶意去除。为此目的,生成节点设备数据集的节点设备可以加密在节点设备数据集之前已经最后添加到视频数据段的视频数据段的数字签名。因此,数字签名需要在被验证之前被解密。解密可以是只能由已执行加密的节点设备执行的操作。节点设备还可以将信息添加到其节点设备数据集,信息指示的是已经执行加密。在该实施例中,验证数字签名的方法可以进一步包括在验证数字签名之前,使用与加密密钥相关联的解密密钥对数字签名进行解密。解密可以包括请求已经加密签名的节点设备执行解密或提供解密密钥。该方法可以进一步包括检测数字签名被加密以及识别已经执行解密的节点设备。可以通过识别在具有加密签名的节点设备数据集之后已经按顺序下一个添加的节点设备数据集来识别节点设备。识别的节点设备数据集可以包括对其节点设备的引用,例如作为包括在其中的标签的一部分。
本发明的进一步适用范围将从下面给出的详细描述中变得明显。然而,应当理解的是,详细描述和具体示例虽然指示了本发明的优选实施例,但仅以说明的方式给出,由于通过该详细描述,因此本发明的范围内的各种改变和修改对于本领域技术人员来说将变得明显。
因此,应当理解的是,本发明不限于描述的设备的特定组件部分或描述的方法的步骤,因为这样的设备和方法可以变化。还应理解的是,本文中使用的术语仅用于描述特定实施例的目的,并且不旨在进行限制。必须注意的是,如在说明书和所附权利要求中所使用的词“一”、“一个”、“该”和“所述”旨在意味着的是存在一个或多个元件,除非上下文另外明确地指示。因此,例如,对“对象”或“该(所述)对象”的引用可以包括若干个对象等。此外,词语“包括”不排除其他元件或步骤。
附图说明
现在将通过示例并参照所附示意图更详细地描述本发明,其中:
图1图示出视频传送链;
图2图示出如何生成和验证数字签名的示例;
图3至图6图示出根据本发明的实施例生成的不同的视频数据段;
图7图示出根据本发明的实施例的验证数字签名的方法;
图8图示出在相机中生成视频数据段的方法;
图9图示出根据实施例的在节点设备处将数字签名添加到视频数据段的方法;并且
图10图示出不同的SEI消息。
具体实施方式
本发明涉及将数字签名添加到视频数据段的方法以及验证这些签名的方法。如图1中所图示,视频数据段由线性视频传送链生成。视频传送链由多个节点设备10至14限定。节点设备包括相机10、VMS设备11、EMS设备12、视频处理设备13和存储设备14。视频传送链以视频捕获设备开始,在图示的示例中,视频捕获设备是相机10的一部分。视频捕获设备包括用于获取采用图像数据的形式的视频的图像传感器。视频捕获设备进一步包括布置成从获取的图像数据生成编码图像帧的视频编码器。编码器可以被配置成根据包括H.264和H.265的任何已知视频压缩标准来执行基于预测的视频编码。基于预测的编码图像帧包括帧内帧和帧间帧。帧内帧(也被称为I帧)是具有可以通过预定义的关联的解码操作被解码成纯文本视频帧的可独立解码的图像数据的数据结构。帧间帧(也被称为P帧或B帧)是依赖于其他图像帧以被解码的数据结构。
在图示的示例中,视频传送链包括五个节点设备。为了本发明的目的,视频传送链需要包括两个或更多个节点设备(例如,一个相机和一个VMS设备)。
本发明的一般目的是提供将一个或多个数字签名添加到视频数据段的方法。数字签名提供了证实视频数据段中的数据的可能性。当生成数字签名时用作基础的数据被称为签名数据。不需要对视频数据段的所有数据进行签名,然而需要对编码图像帧的至少一部分进行签名以提供对视频数据段的有用证实。如果无法证实编码图像帧,则在大多数情况下,能够证实诸如由节点设备添加的附加数据的其他数据是没有意义的。例如,如果要将视频数据段用作法庭上的证据,则基本的要求是视频数据段的图像帧可以被信任。通过验证基于编码图像帧生成的签名来证实编码图像帧。因此,视频传送链的特征是节点设备中的至少一个生成基于编码图像帧的部分的签名。这些部分可以包括一些编码图像帧或每个编码图像帧的部分,或者作为整体的所有编码图像帧。在优选实施例中,所有签名中的首先添加到视频数据段的签名基于编码图像帧的部分。
视频数据段的证实(包括验证签名)可以由证实器15执行。证实可以在已经生成视频数据段很久之后执行。典型的场景是视频数据段由视频传送链生成并长期存储在存储设备14中。当需要证实时(例如,在使用视频数据段作为证据的情况下),将视频数据段从存储设备14传输到证实器15以验证签名。
现在将进一步参照图2公开如何生成签名并将签名添加到视频数据段的一般示例。
在图2的(a)中,图示出如由相机10生成的视频数据段。视频数据段在这里被图示出为两组数据项:一组图像帧和一组节点设备数据集。视频数据段(即,数据项的组)可以在单个或多个数据流中发送。在一个示例中,单个数据流由所有数据项形成。数据项在数据流中的定位顺序可以在实现方式之间不同。通常,首先发送图像帧,然后是作为节点设备数据集的部分的签名和元数据。在另一示例中,形成一对流,其中第一流包括编码图像帧,并且第二流包括节点设备数据集。一对流可以被布置在具有容器格式的文件中,用于在节点设备之间传输或用于长期存储在存储设备中。
视频数据段的编码图像帧可以包括帧内编码图像帧和帧间编码图像帧的一个或多个画面组(GOP)。编码图像帧在本文中被例示为单个且短的GOP,以减轻对本发明构思的理解。然而,解释的构思对于技术人员来说容易应用于更复杂的GOP结构(例如,包括双向预测画面(B帧)的GOP结构)。
图示的示例中的视频数据段包括表示为I和P的编码图像帧以及包括数字签名S0和元数据M0的节点设备数据集。编码图像帧在相机10的视频捕获设备中已经生成。相机10还已经生成包括例如关于相机固件或应该与编码图像帧一起传输的图像处理参数的信息的元数据M0。另外,相机10基于编码图像帧和元数据M0已经生成数字签名S0。因此,编码图像帧和元数据M0在被传输到VMS设备11之前已经由相机10签名。相机10已经将数字签名S0和元数据M0插入到视频数据段中。如以下将例示的,存在相机10不生成签名或元数据的实施例。
接收视频数据段的VMS设备11可以允许用户观看视频数据段,并且例如将采用元数据M1的形式的信息添加到视频数据段。元数据可以表示例如时间戳、覆盖(overlay)或注释。VMS设备11还可以添加指示软件或固件信息或时间戳的采用元数据的形式的信息。VMS设备11添加到视频数据段的数据(包括任何签名)形成节点设备数据集。由单个节点设备(在这种情况下为VMS设备11)添加的节点设备数据集可以位于视频数据段中的不同位置处并且由多个数据单元形成。例如,可以使用不同的数据帧来传输节点设备数据集的数据。为简单起见,节点设备数据集在本文中将被图示为节点设备数据集的一对数据包或数据单元,如果生成任何签名,则用S表示签名,如果生成任何元数据,则用M表示元数据。
为了能够证实VMS设备11已经添加到视频数据段的元数据M1的真实性,VMS设备11生成数字签名S1并将其添加到视频数据段。如图2的(a)中所图示,生成数字签名S1。首先,使用传统的散列算法对I帧和P帧中的每个进行散列,以形成散列图像帧hI和hP。数字签名S0和元数据M0以及已经由VMS设备11生成的元数据M1也被散列。散列图像帧、签名和元数据被集合在也依次被散列(即,经过散列算法)的文档doc中,以产生散列hdoc。此后通过将散列hdoc输入到签名算法中来生成数字签名S1。在该示例中,签名算法使用由VMS设备11持有的私钥pr-key来生成数字签名S1,由于签名算法基于公钥和私钥对的使用。数字签名S1与元数据M1一起插入到视频数据段中。
图2的(b)图示出在不同节点设备(VMS设备11(顶部)、EMS设备12(中心)和视频处理设备13(底部))处组成的视频数据段。EMS设备12已经添加数字签名S2和元数据M2。视频处理设备13已经添加数字签名S3和元数据M3。在下一节点设备(即,存储设备14)处,可以添加另一节点设备数据集。签名S2和S3可以以与为签名S1例示的方式类似的方式生成。可以理解的是,诸如签名和元数据的节点设备数据集分量的位置可以位于视频数据段中的除图示之外的其他位置处。另外,编码图像帧和节点设备数据集可以作为不同数据流的一部分进行传输。
生成签名S0、S1、S2、S3以使证实编码图像帧和节点设备数据集的真实性成为可能。通过验证签名中的一个,签名数据被证实。可以通过使用连接到对应的签名算法的公钥对签名进行解密并将结果与根据与签名相同的原则生成的自定值进行比较来验证签名。例如,图2的(c)图示出使用公钥pub-key对签名S1进行解密,从而确定散列文档hdoc。该文档可以从由VMS设备11用来生成签名S1的视频数据段的分量由证实器来确定。然而,问题在于由于视频数据段从VMS设备11起已经通过附加节点设备,并已经利用附加节点设备数据集进行扩展,因此证实器不知道VMS设备11在生成签名S1时已经访问视频数据段的哪些数据项。因此,证实器不知道视频数据段的哪些数据项用于确定用于与解密签名S1比较的散列文档。这就是创造性构思发挥作用的地方。
根据本发明构思,将节点设备数据集添加到视频数据段的每个节点设备也将节点设备数据集与标签相关联。可以通过根据用于添加标签的预定规则将标签添加到视频数据段来关联标签。知道规则的证实器可以由此定位标签,并知道相应的标签与哪些数据集相关联。构建标签使得已经添加节点设备数据集的顺序从标签中可导出。在一些实施例中,可能需要附加信息来导出顺序,并且在这些实施例中这样的信息在证实器处可用。
因此,由于标签,证实器可以识别哪些节点设备数据集在生成签名时可用于某个节点设备。证实器还已经预先知道某个节点设备将这些可用的节点设备数据集中的哪个用作其签名的基础,例如,是否所有可用的节点设备数据集或仅它们中的特定节点设备数据集被包括在签名中。
换句话说,对于给定的视频传送链,预先确定的是应该基于已经按顺序先前最后添加到视频数据段的第一数量的节点设备数据集来生成签名。还可以确定的是签名应该基于视频数据段的其他部分,诸如编码图像帧的部分或由节点设备自身生成的数据集。
如果标签以未加密的方式添加(即,不经过加密),则这是一个优势。然后,证实器在能够读取标签的内容之前不需要已经访问用于解锁标签的密钥。标签的这样的未加密、可理解的格式可以被称为纯文本。换句话说,可以将标签添加到视频数据段,其中标签具有纯文本格式。稍后将参照图10给出如何可以将标签插入到视频数据段中的更详细示例。
相应地,引入标签以能够导出节点设备数据集已经添加到视频数据段的顺序。存在可以如何建立标签以允许导出顺序的多种方法。现在将公开五个示例。
在第一示例中,每个节点设备被分配标识。标识可以采用指示节点设备的身份的静态值或静态标记的形式。标识插入到与由节点设备添加到视频数据段的节点设备数据集相关联的标签中。当证实视频数据段时,证实器使用标签并进一步使用指示视频数据段的通过视频传送链的预定传输顺序的补充信息来识别节点设备数据集已经被添加到视频数据段的顺序。换句话说,预定传输顺序指示不同标识的节点设备在视频传送链中以哪种顺序相继排列。在该第一示例的变体中,标签还包括视频传送链中的所有先前节点设备的标识。先前节点设备的标识是在当前节点设备之前已经处理视频数据段的节点设备。先前节点设备的标识可以由当前节点设备通过定位视频数据段的标签来确定。可替代地,在一些实施例中,当前节点设备可以定位具有最高数量的标识的标签,由于该标签应该包括所有先前的标识。通过该变体,添加节点设备数据集的顺序可以在没有任何补充信息的情况下单独从标签中导出。
在第二示例中,每个节点设备被分配标识。标识可以采用指示节点设备类型的诸如静态值或静态标记的静态数据的形式。包括标识的标签与由节点设备添加到视频数据段的节点设备数据集相关联。当证实视频数据段时,证实器使用标签并进一步使用指示关于视频传送链的节点设备类型的预定传输顺序的补充信息来识别节点设备数据集已经被添加到视频数据段的顺序。因此,从预定的传输顺序,证实器知道节点设备类型在视频传送链中排列的顺序。例如,相机10可以具有标识“10”,VMS设备11可以具有标识“23”,并且EMS设备可以具有标识“37”。可以设置标识,使得10至19的区间中的值指示的是节点设备是相机设备,20至29的区间中的值指示的是节点设备是VMS设备,并且30至39的区间中的值指示的是节点设备是EMS设备。如果存在作为VMS设备的若干个节点设备,则这些节点设备可以在区间20至29中为VMS设备使用不同的标识。另外,证实器从补充信息中知道当前视频传送链的节点设备按照哪种节点类型顺序排列。更具体地,证实器知道的是视频传送链以相机设备开始,随后是VMS设备、EMS设备,并以存储设备结束。
在第三示例中,每个节点设备生成包括采用动态值的形式的节点设备的标识的标签,该动态值基于已经由视频传送链中的先前节点设备添加的标签而生成。
为了生成动态值,节点设备识别视频数据段中已经存在的标签并生成包括不同于视频数据段中的识别标签的值的值的标签。标识可以是不等于任何识别标签的值的随机数。标签可以生成为还包括在接收的视频数据段的识别标签中已经找到的一个或多个标识。具体地,至少在已经由紧接在前节点设备添加的标签中的标识可以被添加。换句话说,标签包括当前节点设备的标识和紧接在与当前标签相关联的节点设备数据集之前添加节点设备数据集的节点设备的标识。
通过包括来自一个或多个在前节点设备的标签,证实器能够在没有任何附加信息的情况下基于标签导出节点设备数据集已经添加到视频数据段的顺序。在节点设备基于接收的视频数据段中已经存在的标签的标识来生成标签的示例中,节点设备可以被布置成在生成其标签之前等待直到它已经接收到多个连续的GOP。这是由于可能存在由先前节点设备添加的仅针对某些GOP添加的标签。通过等待多个视频数据段,可以降低生成具有标识成对物(即,已经存在于由先前节点设备生成并添加到视频数据段的标签中的同一标识)的标签的风险。
在第四示例(即第三示例的变体)中,节点设备生成包括采用值的形式的标识的标签,该值通过它自身指示将节点设备数据集添加到视频数据段的顺序。这样的加标签方案的一个示例是使用数字作为标签,并且节点设备在已经添加的标签中找到的递增数字的序列中选择下一数字。例如,节点设备找到具有标识001、002和003的标签。然后,节点设备选择随后的数字004以被包括为其标签中的标识。利用该加标签方案的优点是在标签中或在证实器处不需要附加信息。通过知道使用哪种加标签方案,证实器可以在没有附加信息的情况下从标签中导出节点设备数据集已经添加到视频数据段的顺序。
在第五示例中,每个节点设备添加其节点设备数据集的非签名部分(以上被称为元数据)作为视频数据段的第一数据部分。换句话说,节点设备数据集在视频数据段的其余部分之前首先被传输到下一节点设备。节点设备数据集还使用唯一标签(例如,值或标记)进行加标签,以将节点设备数据集与最终视频数据段中的其他节点设备数据集分开。由于所有节点设备根据相同的原则添加其节点设备数据集,因此生成的视频数据段将以加标签的节点设备数据集的有序序列开始,该有序序列对应于添加节点设备数据集的相反顺序。相应地,最后添加有序序列中的在视频段的开始的第一节点设备数据集,并且首先添加有序序列中的最后加标签的节点设备数据集。可以在视频数据段的另一部分处添加对应的签名,并使用与其节点设备数据集的其余部分相同的标签进行加标签。例如,在单个流中传输的视频数据段的数据单元可以像这样排列:
M3 M2 M1 M0 I P P P I S0 S1 S3
其中,MX表示元数据,SX表示签名,并且I、P表示编码图像帧。
相应地,在节点设备数据集在单独流中的实施例中,节点设备数据集的数据单元可以像这样排列:
M3 M2 M1 M0 S0 S1 S3
从在视频段的开始的加标签的节点设备数据集连同它们的标签的顺序,能够导出将节点设备数据集添加到视频段的顺序。例如,能够识别的是加标签有与M2、M1、M0(包括S1和S0)中的任何一个相同标签的节点设备数据集在加标签有与M3(包括S3)相同标签的节点设备数据集之前添加。
用于使为由不同节点设备添加的不同节点设备数据集生成和验证签名成为可能的加标签的发明构思适用于签名方案和视频数据段结构的各种实施例。现在将参照图3至图6公开四个不同的实施例以例示这些变化。附图图示出如由证实器获得的视频数据段的结构,该证实器被布置成验证其中的签名以证实编码图像帧和一个或多个节点设备数据集。换句话说,视频数据段被图示为处于完全生成的状态。然而,理解的是,视频数据段已经由如上所述的视频传送链的节点设备相继生成。实施例的节点设备数据集根据上述任何例示的加标签方案进行加标签。因此,实施例中的每个节点设备数据集与标签相关联,其中多个节点设备数据集已经被添加的顺序从标签中可导出。
现在将参照图3公开第一实施例,图3图示出包括已经相继被添加到视频数据段的编码图像帧和多个节点设备数据集(S0)、(M1,S1)、(M2)、(M3,S3)的视频数据段。该实施例中的签名方案是签名通过节点设备基于编码图像帧或其中的至少部分以及如在节点设备处接收的视频数据段的所有节点设备数据集并且还基于在当前节点设备处生成的任何元数据来生成。编码图像帧包括一个GOP的所有帧间编码图像帧和帧内编码图像帧以及下一GOP的第一帧内编码图像帧。
该签名方案可以被可视化为包络结构,其中第一包络通过签名S0密封编码图像帧,第二包络通过签名S1将第一包络与节点设备数据集密封在一起,等等。
因此,在这种情况下,三个节点设备数据集(S0)、(M1,S1)、(M3,S3)各自包括基于编码图像数据的数字签名。节点数据集(M1,S1)、(M3,S3)中的每个中的数字签名进一步基于作为在相关节点设备数据集之前要添加的最后一些节点设备数据集的多个节点设备数据集。具体地,签名S1进一步基于最后添加的节点设备数据集(S0),并且签名S3基于三个最后添加的节点设备数据集(S0)、(M1,S1)、(M2)。因此,节点设备数据集(M1,S1)、(M3,S3)中的任何一个可以被认为是所附权利要求中提到的第一节点设备数据集或第二节点设备数据集。例如,(M1,S1)可以被认为是第一节点设备数据集,并且(M3,S3)可以被认为是第二节点设备数据集。节点设备数据集(M1,S1)和(M3,S3)中的数字签名仍进一步分别基于元数据M1和M3
在证实器处,现在要验证签名S0、S1、S3。为了这个目的,证实器定位与节点设备数据集相关联的标签。如所限定的,节点设备数据集由单个节点设备添加到视频数据段的所有数据形成。由单个节点设备添加的节点设备数据集的数据帧或数据单元在附图中由相同的数字表示。例如,M1和S1属于同一节点设备数据集并且与同一标签相关联。
对于每个签名S0、S1和S3,证实器使用标签识别在包括签名的节点设备数据集之前已经添加到视频数据段的所有节点设备数据集。对于S0,不存在识别的先前添加的节点设备数据集。因此,如图3的(a)中所图示,证实器仅基于编码图像帧验证签名S0。对于S1,存在识别的一个节点设备数据集,即包括签名S0的节点设备数据集。因此,如图3的(b)中所图示,证实器基于编码图像帧、签名S0和元数据M1验证签名S1。由同一节点设备添加的元数据可以通过识别同一节点设备数据集的不是数字签名的加标签数据来确定。对于S3,证实器识别在包括签名S3的节点设备数据集之前已经添加到视频数据段的三个节点设备数据集。因此,如图3的(c)中所图示,证实器基于编码图像帧、签名S0和S1以及元数据M1、M2和M3验证签名S3
如指出的,存在仅包括元数据M2而没有任何签名的节点设备数据集。在该实施例中,视频传送链的一个节点设备已经添加仅包括元数据并且不包括任何签名的节点设备数据集。然而,由M2形成的节点设备数据集仍根据本发明构思进行加标签。
现在将参照图4公开第二实施例,图4图示出包括已经相继被添加到视频数据段的编码图像帧和多个节点设备数据集(S0)、(M1,S1)、(M2)、(M3,S3)的视频数据段。
该实施例中的签名方案是,视频传送链的初始节点设备(通常是相机)基于编码图像帧生成签名,并且其余节点设备基于所有先前添加的节点设备数据集生成签名,因此在签名的生成中排除编码图像帧。
因此,在这种情况下,三个节点设备数据集(S0)、(M1,S1)、(M3,S3)各自包括数字签名,其中仅首先添加到视频段的数字签名S0基于编码图像数据。节点设备数据集(M1,S1)、(M3,S3)中的每个中的数字签名基于作为在相关节点数据集之前要添加的最后一些节点设备数据集的多个节点设备数据集。具体地,签名S1基于最后添加的节点设备数据集(S0),并且签名S3基于三个最后添加的节点设备数据集(S0)、(M1、S1)、(M2)。因此,节点设备数据集(M1,S1)、(M3,S3)中的任何一个可以被认为是所附权利要求中提到的第一节点设备数据集或第二节点设备数据集。例如,(M1,S1)可以被认为是第一节点设备数据集,并且(M3,S3)可以被认为是第二节点设备数据集。节点设备数据集(M1,S1)和(M3,S3)中的数字签名进一步分别基于元数据M1和M3
如在第一实施例中,节点设备生成签名不是强制性的,但添加到视频数据段的每个节点设备数据集必须根据本发明构思进行加标签。
对于每个签名S0、S1和S3,证实器识别在包括签名的节点设备数据集之前已经添加到视频数据段的所有节点设备数据集。对于S0,不存在识别的先前添加的节点设备数据集。因此,如图4的(a)中所图示,证实器断定的是,签名S0由初始节点设备添加,并仅基于编码图像帧来验证签名S0。对于S1,存在识别的一个节点设备数据集,即包括签名S0的节点设备数据集。因此,如图4的(b)中所图示,证实器基于签名S0和元数据M1验证签名S1。对于S3,证实器识别在包括签名S3的节点设备数据集之前已经添加到视频数据段的三个节点设备数据集。因此,如图4的(c)中所图示,证实器基于签名S0和S1以及元数据M1、M2和M3验证签名S3
现在将参照图5公开第三实施例,图5图示出包括已经相继被添加到视频数据段的编码图像帧和多个节点设备数据集(M1,S1)、(M2)、(M3,S3)、(M4,S4)的视频数据段。该实施例中的签名方案是,签名基于在当前节点设备数据集之前已经最后添加到视频数据段的两个节点设备数据集并且此外还基于编码图像帧的选择部分来生成。指示已经选择哪些部分的信息可以作为元数据添加在当前节点设备数据集中。因此,在该实施例中,为了验证签名,证实器需要识别标签以及基于编码图像帧的哪些选择部分已经生成签名的指示。
在这种情况下,三个节点设备数据集(M1,S1)、(M3,S3)、(M4,S4)因此各自包括对图像帧中的部分进行签名的数字签名。数字签名节点设备数据集(M3,S3)、(M4,S4)进一步基于作为在相关节点数据集之前要添加的最后一些节点设备数据集的两个节点设备数据集。具体地,签名S3进一步基于两个最后添加的节点设备数据集(M1,S1)、(M2),并且签名S4基于两个最后添加的节点设备数据集(M2)、(M3,S3)。因此,节点设备数据集(M3,S3)、(M4,S4)中的任何一个可以被视为所附权利要求中提到的第一节点设备数据集或第二节点设备数据集,并且权利要求中提到的第一数量和第二数量等于二。例如,(M3,S3)可以被认为是第一节点设备数据集,并且(M4,S4)可以被认为是第二节点设备数据集。节点设备数据集(M3,S3)和(M4,S4)中的数字签名进一步分别基于元数据M3和M4
注意的是,在该实施例中,初始节点设备(即,相机)尚未生成签名。因此,编码图像帧以无签名格式传输到例如VMS设备的下一节点设备。然而,由于很可能的是节点设备中的至少一些基于编码图像帧生成签名,因此编码图像帧的真实性将很可能能够通过签名进行证实。
对于每个签名S1、S3和S4,证实器识别在包括签名的节点设备数据集之前已经最后添加到视频数据段的两个节点设备数据集。证实器还识别已经用于生成签名的编码图像帧的部分。
对于S1,不存在识别的先前添加的节点设备数据集。当前节点设备数据集指示的是所有编码图像帧已经用于生成签名。因此,如图5的(a)中所图示,证实器基于编码图像帧和元数据M1验证签名S1。对于S3,存在识别的两个节点设备数据集,并且包括签名S3的节点设备数据集指示的是在生成签名S3时没有编码图像帧已经被使用。因此,证实器基于元数据M1、M2和M3以及签名S1验证签名S3。对于S4,识别已经最后添加到视频数据段的两个节点设备数据集,并且包括签名S4的节点设备数据集指示已经用于生成签名S4的编码图像帧的部分。因此,如图5的(c)中所图示,证实器基于元数据M2、M3和M4、签名S4并且基于选择的编码图像帧来验证签名S4
现在将参照图6公开第四实施例,图6图示出包括已经相继被添加到视频数据段的编码图像帧和多个节点设备数据集(S0)、(M1,S1)、(M2)、(M3,S3)的视频数据段。该实施例中的签名方案是,基于编码图像帧生成初始签名,该签名首先添加到视频数据段并在视频传送链的初始节点设备处生成。添加到视频数据段的随后的签名各自基于在当前节点设备的节点设备数据集之前已经最后添加到视频数据段的(一个)节点设备数据集生成。
因此,在这种情况下,三个节点设备数据集(S0)、(M1,S1)、(M3,S3)各自包括数字签名,其中仅首先添加到视频段的数字签名S0基于编码图像数据。节点设备数据集(M1,S1)、(M3,S3)中的每个中的数字签名基于作为在相关节点数据集之前要添加的最后一个节点设备数据集的一个节点设备数据集。具体地,签名S1基于最后添加的节点设备数据集(S0),并且签名S3基于最后添加的节点设备数据集(M2)。因此,节点设备数据集(M1,S1)、(M3,S3)中的任何一个可以被认为是所附权利要求中提到的第一节点设备数据集或第二节点设备数据集,并且权利要求中提到的第一数量和第二数量等于一。例如,(M1,S1)可以被认为是第一节点设备数据集,并且(M3,S3)可以被认为是第二节点设备数据集。节点设备数据集(M1,S1)和(M3,S3)中的数字签名进一步分别基于元数据M1和M3
如图6的(a)中所图示,证实器识别签名S0并基于编码图像帧对其进行验证。对于其他签名(即,签名S1和S3)中的每个,证实器识别在包括签名的节点设备数据集之前最后添加到视频数据段的一个节点设备数据集。然后,如图6的(b)和图6的(c)中所图示,证实器基于相应的识别的节点设备数据集验证签名中的每个。
在第四实施例的变体中,添加到视频数据段的随后的签名各自基于在由当前节点设备添加的节点数据集之前最后添加到视频视频数据段的多个节点设备数据集生成。多个节点设备数据集包括具有先前添加的签名的节点设备数据集以及此后添加的任何节点设备数据集。遵循该签名方案,图6的(b)的图示的示例中的签名S1对一个节点设备数据集进行签名,而签名S3反而对三个节点设备数据集进行签名,如图6的(c’)中所图示。该变体(其中编码图像帧在视频传送链中的某处进行签名,并且每个签名基于至少一个其他签名)的优点是,在验证链式签名时,没有节点设备数据集或编码图像帧可以在其不被检测到的情况下被移除。因此,可以验证编码图像帧和节点设备数据集的真实性(包括它们彼此耦接)。因此,图6的(a)、(b)和(c’)的实施例优于图6的(a)、(b)和(c)的实施例。
从证实器的角度来看,节点设备数据集(M3,S3)的签名S3通过使用标签识别紧接在节点设备数据集(M3,S3)之前已经添加的先前节点设备数据集来验证。在断定的是在紧接在第一节点设备数据集之前添加的节点设备数据集中不存在签名时,证实器根据标签识别再往前一步添加的节点设备数据集。证实器由此识别包括M1和S1的节点设备数据集。然后,证实器基于识别的节点设备数据集并基于元数据M3来验证第一签名S3
如图3至图6中所图示,可以布置证实器以验证多个签名。在图示的示例中,验证在视频数据段中识别的所有签名。然而,证实器可以被布置成验证识别的签名的子集。这样的配置的原因可能是仅视频数据段的某些部分(例如,仅由EMS设备添加的编码图像帧和节点设备数据集)被感兴趣证实。另一原因可能是证实器只能访问解密签名所需的公钥的子集。基于加标签的本发明构思可以允许通过验证签名的子集来证实视频数据段的部分,并且不需要的是验证所有签名或以特定顺序验证签名。本发明构思还允许并行验证视频数据段中的多个签名。例如,证实器可以并行执行图3的(a)至(c)至图6的(a)至(c)中图示的验证过程。换句话说,可以将视频数据段馈送到被配置成验证由视频传送链的不同节点设备生成的签名的三个并行的证实过程。可以预先导出节点设备数据集已经被添加到视频数据段的顺序。在每个节点设备数据集之前已经添加到视频数据段的第一数量的节点设备数据集可以在证实器中被集中识别并且作为信息被发送到相应的证实过程。
图7图示出用于验证视频数据段中的第一数字签名的方法的概要,如上面所例示的。该方法可以由证实器执行。在第一步骤S102中,例如从存储设备获得视频数据段。识别包括在第一节点设备数据集中的第一签名。在下一步骤S104中,定位视频数据段中的多个标签。在下一步骤S106中,识别在第一节点设备数据集之前已经最后添加到视频数据段的第一数量节点设备数据集。第一数量节点设备数据集的范围可以从一个到所有先前节点设备数据集。如例示的,第一数量可以是指定的值,例如“1”或“2”,或者是未指定的值,例如“全部”或“从先前签名开始但在当前签名之前添加的全部”。
在下一可选步骤S107中,确定是否第一数量的节点设备数据集的任何签名被加密,并且在那种情况下,解密一个或多个签名。该步骤在一个或多个节点设备(优选地视频传送链中的最后节点设备)对在节点设备的节点设备数据集之前已经最后添加到视频数据段的视频数据段的数字签名进行加密的实施例中执行。例如,在图3的实施例中,这将对应于生成签名S3的节点设备也加密签名S1。为了验证加密的签名,证实器需要对其进行解密。解密签名的步骤S107可以包括请求已经加密签名的节点设备执行解密或提供解密密钥。为此目的,证实器可以执行识别已经执行解密的节点设备的步骤。可以通过识别在具有加密签名的节点设备数据集之后已经按顺序下一个添加的节点设备数据集来识别节点设备。识别的节点设备数据集可以包括对其节点设备的引用,例如作为其中包括的标签的一部分。通过加密获益的优点是加密节点设备的节点设备数据集不能从未被注意的视频数据段中移除。当尝试解密加密签名时,证实器将在那种情况下无法识别加密节点设备,由于对应的节点设备数据集已经被移除,并且证实器将无法验证加密签名。证实器将由此检测到视频数据段已经被改变,可能由于篡改。在至少视频传送链的最后节点设备执行加密的情况下,该优点特别强。在图1的示例中,加密将在那种情况下由存储设备14执行。
在下一步骤S108中,基于识别的第一数量的节点设备数据集并且基于是否由生成第一签名所基于的签名方案指定的任何附加数据来验证第一数字签名。
该方法可以包括验证视频数据段的进一步签名的进一步步骤。例如,第二节点设备数据集包括第二数字签名。作为该方法中的下一步骤S110,识别在第二节点设备数据集之前已经最后添加到视频数据段的第二数量的节点设备数据集。在下一步骤S111中,可以以与步骤S107中对应的方式对第二数量的节点设备数据集的任何签名进行解密。作为下一步骤S112,基于在步骤S110中识别的第二数量的节点设备数据集验证第二数字签名。取决于使用的哪种签名方案,第二数量的节点设备数据集可以是与第一数量的节点设备数据集相同数量的节点设备数据集。
图8和图9图示出根据本发明的实施例的包括在视频数据段的生成中的方法。图8图示出如在视频传送链的视频捕获设备和初始节点设备中执行的方法。视频捕获设备可以是初始节点设备的一部分。初始节点设备可以是图1的相机10。在第一步骤S202中,通过获取图像数据并将图像数据编码成编码图像帧来生成编码图像帧。该步骤由视频捕获设备执行。在下一步骤S204中,生成编码图像帧的初始数字签名。初始签名可以被称为图像帧签名或视频签名。作为下一步骤S206,形成视频数据段。视频数据段包括编码图像帧和初始数字签名。步骤S204和S206可以由初始节点设备的处理器执行,编码图像帧已经从视频捕获设备传输到初始节点设备的处理器。在下一步骤S208中,将视频数据段传输到视频传送链中的下一节点设备。
图9是可以由从初始节点设备接收视频数据段的下一节点设备执行的方法。该方法也可以由视频传送链中的随后的节点设备中的任何一个执行。相应地,第一步骤S302包括接收视频数据段。在下一可选步骤S303中,验证接收的视频数据段的一个或多个签名以确保的是接收的视频数据段是真实的。节点设备可以生成指示证实结果的元数据,特别是如果证实失败,则将其包括在其节点设备数据集中。特别期望证实视频数据段的编码图像帧。这可以通过验证基于编码图像帧的部分的签名来完成。如果证实失败,因此指示的是编码图像帧是不真实的,节点设备可以生成描述证实结果的元数据,例如由于在视频数据段的传输期间的丢包或由于其他原因而丢失一个编码图像帧。从该步骤S303生成的元数据可以由稍后的节点设备在验证视频数据段时或在稍后的阶段使用以确定视频传送链中的哪里已经发生视频数据段的改变。
作为下一步骤S304,根据如上面例示的预设签名方案,基于第一数量的节点设备数据集生成第一数字签名。作为下一步骤S306,生成或获得标签。可以基于已经添加到视频数据段的标签来生成标签。在下一可选步骤S307中,对在节点设备数据集之前已经最后添加到视频数据段的第一数量的节点设备数据集中的签名进行加密。签名可以通过任何合适的已知加密算法来加密。节点设备优选地生成包括例如采用标志的形式的信息的元数据,该信息指示的是已经执行加密以及第一数量的节点设备数据集的哪些签名(如果不是全部的话)已经被加密。附加地,该信息可以包括解密设备(即,证实器应该转向用于解密加密签名的单元)的地址。
在下一步骤S308中,将第一数字签名和可选的元数据(包括与可选加密有关的任何信息)添加到视频数据段作为第一节点设备数据集。节点设备将第一节点设备数据集与标签相关联,并且可选地将标签添加到第一节点设备数据集。在下一步骤S310中,将视频数据段传输到视频传送链中的按顺序下一个的节点设备。可替代地,如果节点设备是视频传输链中的最后一个节点设备,则步骤S310可以包括将视频数据段存储在长期存储设备中。如图1中所图示,长期存储设备可以形成视频传送链的最后节点设备。
现在将参照图10公开如何可以将标签L1添加到关联的节点设备数据集的示例。在一个实施例中,用户数据未注册的SEI消息被用作数据单元。SEI消息是在H.264和H.265视频压缩标准中指定的已知帧组件。SEI消息(或SEI帧)具有预定义的部分。如图10中所图示,用户数据未注册的SEI帧包括部分标头、大小、UUID和有效负载。在一个实施例中,标签L1被添加为UUID的一部分。UUID可以包括以预设顺序排列的id和标签L1两者。id定义SEI消息在其有效负载中包括的数据的类型。例如,id可以指示的是SEI消息携带签名的视频数据,即,具有对应的签名的嵌入的图像帧数据。在另一实施例中,添加标签L1作为有效载荷的开始位或结束位。如所公开的,优选的是,标签L1未被加密并且因此具有可理解的格式。节点设备数据集可以包括各自包括标签L1的多个SEI消息。例如,元数据M1和数字签名S1可以包括在不同的SEI消息中。理解的是,能够使用其他消息或帧格式,并且标签也可以被包括在这样的其他格式中。
验证数字签名的方法可以在证实器中实现,证实器是具有处理器的计算机,该处理器与存储在诸如非易失性存储器的非暂时性计算机可读介质上的计算机代码指令相关联,使处理器执行如本文中所公开的验证数字签名的任何方法。
可以在具有处理器的任何类型的节点设备中实现将数字签名添加到视频数据段的方法,该处理器与存储在诸如非易失性存储器的非暂时性计算机可读介质上的计算机代码指令相关联,使处理器执行如本文中所公开的将数字签名添加到视频数据段的任何方法。
非易失性存储器的示例包括只读存储器、闪存、铁电RAM、磁性计算机存储设备和光盘等。

Claims (17)

1.一种用于验证视频数据段中的数字签名的方法,其中,所述视频数据段由视频传送链生成,所述视频传送链由视频捕获设备和多个节点设备定义,所述方法包括:
获得视频数据段,
其中,所述视频数据段包括由所述视频捕获设备生成的编码图像帧以及由所述多个节点设备相继生成并添加到所述视频数据段的多个节点设备数据集,
其中,所述多个节点设备数据集与相应的标签相关联,所述多个节点设备数据集已经被添加到所述视频数据段的顺序从所述标签可导出,
其中,所述多个节点设备数据集中的一个或多个节点设备数据集包括相应的数字签名,所述数字签名中的至少一个基于所述编码图像帧的部分生成,
其中,所述一个或多个节点设备数据集包括第一节点设备数据集,所述第一节点设备数据集包括由第一节点设备基于所述多个节点设备数据集中的在所述第一节点设备数据集之前已经最后添加到所述视频数据段的第一数量的节点设备数据集生成的第一数字签名,
在获得的所述视频数据段中定位所述标签,
使用所述标签识别在所述第一节点设备数据集之前已经最后添加到所述视频数据段的所述第一数量的节点设备数据集,以及
基于识别的所述第一数量的节点设备数据集验证所述第一数字签名。
2.根据权利要求1所述的方法,
其中,所述第一节点设备数据集进一步包括由所述第一节点设备生成的第一元数据,
其中,所述第一数字签名进一步基于所述第一元数据生成,并且
其中,验证所述第一数字签名的所述步骤进一步基于所述第一元数据。
3.根据权利要求1所述的方法,其中,包括在所述一个或多个节点设备数据集当中的已经首先添加到所述视频数据段的节点设备数据集中的数字签名基于所述编码图像数据的部分生成。
4.根据权利要求1所述的方法,
其中,所述第一数字签名进一步基于所述编码图像帧的部分,并且
其中,验证所述第一数字签名的所述步骤进一步基于所述编码图像帧的所述部分。
5.根据权利要求1所述的方法,
其中,所述一个或多个节点设备数据集进一步包括由第二节点设备基于所述多个节点设备数据集中的在所述第二节点设备数据集之前已经最后添加到所述视频数据段的第二数量的节点设备数据集生成的第二数字签名,
并且其中,所述方法进一步包括:
使用所述标签识别在所述第二节点设备数据集之前已经最后添加到所述视频数据段的所述第二数量的节点设备数据集,以及
基于识别的所述第二数量的节点设备数据集验证所述第二数字签名。
6.根据权利要求1所述的方法,
其中,每个标签包括添加与所述标签相关联的所述节点设备数据集的节点设备的标识,并且
其中,在所述第一节点设备数据集之前已经最后添加到所述视频数据段的所述第一数量的节点设备数据集通过进一步使用所述视频数据段的通过所述视频传送链的预定传输顺序来识别。
7.根据权利要求1所述的方法,其中,每个标签包括添加关联的所述节点设备数据集的节点设备的标识以及紧接在关联的所述节点设备数据集之前添加节点设备数据集的节点设备的标识。
8.一种在包括在定义视频传送链的多个节点设备中的第一节点设备处将数字签名添加到视频数据段的方法,所述方法包括:
在所述第一节点设备处接收视频数据段,所述视频数据段包括编码图像帧以及由所述多个节点设备中的节点设备已经相继生成并添加到所述视频数据段的一个或多个节点设备数据集,其中,所述一个或多个节点设备数据集与相应的标签相关联,所述一个或多个节点设备数据集已经添加到所述视频数据段的顺序从所述标签可导出,
基于所述一个或多个节点设备数据集中的已经最后添加到接收的所述视频数据段的第一数量的节点设备数据集生成第一数字签名,
将包括所述第一数字签名的第一节点设备数据集添加到所述视频数据段,以及
将所述第一节点设备数据集与第一标签相关联,从所述第一标签可导出的是所述第一节点设备数据集在所述一个或多个节点设备数据集之后已经按顺序下一个添加到所述视频数据段。
9.根据权利要求8所述的方法,进一步包括:
生成元数据,其中,所述第一节点设备数据集进一步包括生成的所述元数据,并且
其中,所述第一数字签名进一步基于所述元数据生成。
10.根据权利要求8所述的方法,其中,接收的所述视频数据段的所述一个或多个节点设备数据集当中的至少一个节点设备数据集包括基于所述编码图像帧的部分生成的数字签名。
11.根据权利要求8所述的方法,其中,由所述第一节点设备生成的所述第一数字签名进一步基于所述编码图像帧的部分生成。
12.根据权利要求8所述的方法,进一步包括:在生成所述第一数字签名之前,对已经最后添加到接收的所述视频数据段的节点设备数据集的至少一部分进行加密。
13.根据权利要求8所述的方法,其中,所述第一标签包括所述第一节点设备的标识。
14.根据权利要求所述13的方法,其中,所述第一标签进一步包括最后将节点设备数据集添加到接收的所述视频数据段的节点设备的标识。
15.一种非暂时性计算机可读存储介质,其上存储有指令,当在具有处理能力的设备上执行时,所述指令实现根据权利要求1所述的方法。
16.一种用于验证视频数据段中的数字签名的证实器,所述证实器包括被配置成执行根据权利要求1所述的方法的处理器。
17.一种视频传送链中的节点设备,所述节点设备包括被配置成执行根据权利要求8所述的方法的处理器。
CN202211532949.7A 2021-12-10 2022-12-01 在视频数据段中添加和证实数字签名的方法 Pending CN116261019A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP21213608.9 2021-12-10
EP21213608.9A EP4195661A1 (en) 2021-12-10 2021-12-10 Methods of adding and validating a digital signature in a video data segment

Publications (1)

Publication Number Publication Date
CN116261019A true CN116261019A (zh) 2023-06-13

Family

ID=79170652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211532949.7A Pending CN116261019A (zh) 2021-12-10 2022-12-01 在视频数据段中添加和证实数字签名的方法

Country Status (4)

Country Link
US (1) US20230188732A1 (zh)
EP (1) EP4195661A1 (zh)
KR (1) KR20230088262A (zh)
CN (1) CN116261019A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8695089B2 (en) * 2007-03-30 2014-04-08 International Business Machines Corporation Method and system for resilient packet traceback in wireless mesh and sensor networks
KR101831604B1 (ko) * 2016-10-31 2018-04-04 삼성에스디에스 주식회사 데이터 전송 방법, 인증 방법 및 이를 수행하기 위한 서버
US12002127B2 (en) * 2020-03-10 2024-06-04 Samsung Electronics Co., Ltd. Robust selective image, video, and audio content authentication

Also Published As

Publication number Publication date
EP4195661A1 (en) 2023-06-14
US20230188732A1 (en) 2023-06-15
KR20230088262A (ko) 2023-06-19

Similar Documents

Publication Publication Date Title
US9639912B2 (en) Method for reversible image data hiding
US8972300B2 (en) Content distribution system
EP1953998B1 (en) Methods and Apparatuses for Providing and Using Content Allowing Integrity Verification
TWI520073B (zh) 內容項目識別符
CN106789091B (zh) 一种Open XML文档数字签名和验签的实现方法及装置
KR20070042511A (ko) 디지털 콘텐트 보안 시스템 및 방법
CN102932650B (zh) 视频数据完整性保护和验证方法、设备和系统
JP2004193942A (ja) コンテンツ送信方法、コンテンツ送信装置、コンテンツ送信プログラムおよびコンテンツ受信方法、コンテンツ受信装置、コンテンツ受信プログラム
US20220368534A1 (en) Device and a method for signing a video segment comprising one or more groups of pictures
US12010320B2 (en) Encoding of modified video
US9319752B2 (en) Robust watermark
CN110572640A (zh) 一种基于gb35114标准的视频签名验签测评工具及方法
TW201947448A (zh) 具有數位浮水印的電子簽章產生及驗證方法及電子裝置
Subhasri et al. Enhancing the security of dicom content using modified vigenere cipher
CN116261019A (zh) 在视频数据段中添加和证实数字签名的方法
Lou et al. Digital signature-based image authentication
CN113221132A (zh) 一种基于ntru的qr码加密解密方法
US20230179787A1 (en) Method and device for signing an encoded video sequence
CN110544199A (zh) 一种图像处理方法、装置、存储介质和电子设备
EP4287058B1 (en) A device and a method for signing a metadata frame corresponding to an image frame of a sequence of image frames
US20230116909A1 (en) Signed video data with salted hashes
CN117528149A (zh) 秘钥更新方法、码流加密方法、码流解密方法及相关装置
Lawrence et al. Video Integrity Checking Using X25519 and Nested HMAC with BLAKE2b
CN118338045A (zh) 视频码流加密方法、视频码流解密方法及相关装置
BRPI1003850A2 (pt) método para autenticar vìdeo

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication