Method, system, and medium for protecting and verifying video files

文档序号:1581270 发布日期:2020-01-31 浏览:10次 中文

阅读说明:本技术 用于保护和验证视频文件的方法、系统和介质 (Method, system, and medium for protecting and verifying video files ) 是由 阿努伊·撒卡尔 瓦莱里·萨瓦捷耶夫 于 2018-04-11 设计创作,主要内容包括:提供了用于保护和验证视频文件的方法、系统和介质。在一些实施例中,提供了一种用于验证视频流的方法,该方法包括:在用户设备处接收呈现与视频档案相关联的视频的请求,其中视频档案包括文件列表、与文件列表相对应的签名、视频元数据、与视频元数据相对应的签名以及与视频相对应的至少一个加密的视频流,并且其中文件列表指示要被包括在视频档案中的多个文件;验证与文件列表相对应的签名;响应于确定已经验证与文件列表相对应的签名,确定在文件列表中被指示的多个文件是否被包括在视频档案中;响应于确定在文件列表中被指示的多个文件被包括在视频档案中,验证与视频元数据相对应的签名;响应于确定已经验证与视频元数据相对应的签名,请求与视频流相对应的解密密钥;响应于接收解密密钥,解密加密的视频流;并且使得解密的视频流被呈现在用户设备上。(In embodiments, methods for verifying a video stream are provided, the methods including receiving a request to render a video associated with a video archive at a user device, wherein the video archive includes a list of files, signatures corresponding to the list of files, video metadata, signatures corresponding to the video metadata, and at least encrypted video streams corresponding to the video, and wherein the list of files indicates a plurality of files to be included in the video archive, verifying the signatures corresponding to the list of files, determining whether the plurality of files indicated in the list of files are included in the video archive in response to determining that the signatures corresponding to the list of files have been verified, verifying the signatures corresponding to the video metadata in response to determining that the plurality of files indicated in the list of files are included in the video archive, requesting a key corresponding to the video stream in response to determining that the signatures corresponding to the video metadata have been verified, decrypting the decrypted video stream in response to receiving the decryption, and causing the decrypted video stream to be rendered on the user device.)

1, a method for authenticating a video stream, the method comprising:

receiving, at a user device, a request to present a video associated with a video archive, wherein the video archive comprises a list of files, a signature corresponding to the list of files, video metadata, a signature corresponding to the video metadata, and at least encrypted video streams corresponding to the video, and wherein the list of files indicates a plurality of files to be included in the video archive;

verifying a signature corresponding to the list of files;

in response to determining that the signature corresponding to the list of files has been verified, determining whether the plurality of files indicated in the list of files is included in the video archive;

in response to determining that the plurality of files indicated in the file list are included in the video archive, verifying a signature corresponding to the video metadata;

in response to determining that a signature corresponding to the video metadata has been verified, requesting a decryption key corresponding to the video stream;

decrypting the encrypted video stream in response to receiving the decryption key; and

causing the decrypted video stream to be presented on the user device.

2. The method of claim 1, further comprising determining that no files in the video archive are indicated in the list of files.

3. The method of claim 1 or 2, further comprising determining whether a video identifier associated with the video metadata matches a video identifier associated with the encrypted video stream.

4. The method of any of claims 1-3, wherein the video archive includes thumbnail images associated with the encrypted video stream, and wherein the thumbnail images are indicated in the file list.

5. The method of claim 4, further comprising verifying a signature associated with the thumbnail image, wherein the video archive includes the signature associated with the thumbnail image.

6. The method of any preceding claim, wherein the video archive file includes index information corresponding to the encrypted video stream.

7. The method of claim 6, wherein the video archive file additionally includes a signature corresponding to the index information, and wherein the method further includes verifying the signature corresponding to the index information.

8. The method of any preceding claims, further step includes the user device transmitting a request to a server for a video stream corresponding to the video, and in response, receiving the video archive at the user device from the server.

9. The method of claim 8, wherein requesting a decryption key corresponding to the video stream comprises the user device transmitting a request for the decryption key to the server, and the receiving the decryption key comprises the user device receiving the decryption key from the server.

10. The method of any preceding claim, wherein the request to present the video associated with the video archive is received from a user of the user device.

a system for validating a video stream, the system comprising:

a memory; and

a hardware processor, when executing computer-executable instructions stored in the memory, configured to:

receiving, at a user device, a request to present a video associated with a video archive, wherein the video archive comprises a list of files, a signature corresponding to the list of files, video metadata, a signature corresponding to the video metadata, and at least encrypted video streams corresponding to the video, and wherein the list of files indicates a plurality of files to be included in the video archive;

verifying a signature corresponding to the list of files;

in response to determining that the signature corresponding to the list of files has been verified, determining whether the plurality of files indicated in the list of files is included in the video archive;

in response to determining that the plurality of files indicated in the file list are included in the video archive, verifying a signature corresponding to the video metadata;

in response to determining that a signature corresponding to the video metadata has been verified, requesting a decryption key corresponding to the video stream;

decrypting the encrypted video stream in response to receiving the decryption key; and

causing the decrypted video stream to be presented on the user device.

12. The system of claim 7, wherein the hardware processor is further configured to determine that a file not indicated in the list of files is not included in the video archive.

13. The system of claim 7 or 8, wherein the hardware processor is further configured to determine whether a video identifier associated with the video metadata matches a video identifier associated with the encrypted video stream.

14. The system of any of claims 7-9, wherein the video archive includes a thumbnail image associated with the encrypted video stream, and wherein the thumbnail image is indicated in the file list.

15. The system of claim 10, wherein the hardware processor is further configured to verify a signature associated with the thumbnail image, wherein the video archive includes the signature associated with the thumbnail image.

16. The system of any of claims 7 to 11, wherein the video archive file includes index information corresponding to the encrypted video stream.

A non-transitory computer readable medium containing computer executable instructions that when executed by a processor cause the processor to perform the method of any of claims 1 to 10.

18, a method for storing a video stream, the method comprising:

receiving, at a server, a video stream transmitted to the server by a user device and video metadata corresponding to the video stream;

generating a file list indicating a plurality of files to be included in a video archive file corresponding to the video stream, wherein the file list includes at least the video stream and the video metadata;

generating a signature corresponding to the file list and a signature corresponding to the video metadata;

encrypting the video stream using a key to generate an encrypted video stream; and

storing the encrypted video stream, the list of files, the video metadata, signatures corresponding to the list of files, and signatures corresponding to the video metadata in the video archive file, wherein the video archive file is stored in association with the key used to generate the encrypted video stream.

Technical Field

The disclosed subject matter relates to protecting and authenticating video files.

Background

In such cases, the server may store the video along with information related to the video, such as the title of the video, the name of the creator of the video, a description of the video, or thumbnail images related to the video.

Accordingly, it is desirable to provide new methods, systems, and media for protecting and authenticating video files.

Disclosure of Invention

In accordance with various embodiments of the disclosed subject matter, methods, systems, and media for protecting and authenticating video files are provided.

According to embodiments of the disclosed subject matter, there are provided methods for verifying a video stream, the method including receiving a request to render video associated with a video archive at a user device, wherein the video archive includes a list of files, signatures corresponding to the list of files, video metadata, signatures corresponding to the video metadata, and at least encrypted video streams corresponding to the video, and wherein the list of files indicates a plurality of files to be included in the video archive, verifying the signatures corresponding to the list of files, determining whether the plurality of files indicated in the list of files are included in the video archive in response to determining that the signatures corresponding to the list of files have been verified, verifying the signatures corresponding to the video metadata in response to determining that the plurality of files indicated in the list of files are included in the video archive, requesting a decryption key corresponding to the video stream in response to receiving the decryption key, and causing the decrypted video stream to be presented on the user device.

In embodiments, the method further includes determining that no files in the video archive are included that are not indicated in the list of files.

In embodiments, the method further includes determining whether the video identifier associated with the video metadata matches the video identifier associated with the encrypted video stream.

In embodiments, the video archive includes thumbnail images associated with the encrypted video stream, and the thumbnail images are indicated in a file list.

In embodiments, the method further includes verifying the signature associated with the thumbnail image, wherein the video archive includes the signature associated with the thumbnail image.

In some embodiments , the video archive file includes index information corresponding to the encrypted video stream in some embodiments , the video archive file may additionally include a signature corresponding to the index information, and the method may further include verifying the signature corresponding to the index information.

In embodiments, the method can further include the user device transmitting a request to the server for a video stream corresponding to the video, and in response, receiving, at the user device, a video archive from the server.

In embodiments, requesting the decryption key corresponding to the video stream may include the user device transmitting a request for the decryption key to the server, and receiving the decryption key may include the user device receiving the decryption key from the server.

In embodiments, a request to present a video associated with a video archive may be received from a user of a user device.

According to embodiments of the disclosed subject matter, there is provided a system for verifying video streams, the system including a memory and a hardware processor configured, when executing computer executable instructions stored in the memory, to receive a request to render a video associated with a video archive at a user device, wherein the video archive includes a list of files, signatures corresponding to the list of files, video metadata, signatures corresponding to the video metadata, and at least encrypted video streams corresponding to the video, and wherein the list of files indicates a plurality of files to be included in the video archive, verify the signatures corresponding to the list of files, determine whether the plurality of files indicated in the list of files are included in the video archive in response to determining that the signatures corresponding to the list of files have been verified, verify the signatures corresponding to the video metadata in response to determining that the signatures corresponding to the list of files have been verified, request decryption of the corresponding to the video streams, and cause the encrypted video streams to be decrypted on a user device in response to determining that the plurality of files indicated in the list of files are included in the video archive, and to decrypt the encrypted video streams.

In embodiments, the hardware processor may be further configured to determine that no files are included in the video archive that are not indicated in the list of files.

In embodiments, the hardware processor may be further configured to determine whether the video identifier associated with the video metadata matches the video identifier associated with the encrypted video stream.

In embodiments, the video archive may include thumbnail images associated with the encrypted video stream, and wherein the thumbnail images are indicated in the file list.

In embodiments, the hardware processor can be further configured to verify a signature associated with the thumbnail image, wherein the video archive includes the signature associated with the thumbnail image.

In embodiments, the video archive file may include index information corresponding to the encrypted video stream.

According to embodiments of the disclosed subject matter, non-transitory computer-readable media containing computer-executable instructions that, when executed by a processor, cause the processor to perform the methods described herein, according to embodiments of the disclosed subject matter, there is provided a system for verifying a video stream, the system including means for receiving a request to render video associated with a video archive at a user device, wherein the video archive includes a list of files, signatures corresponding to the list of files, video metadata, signatures corresponding to the video metadata, and at least encrypted video streams corresponding to the video, and wherein the list of files indicates a plurality of files to be included in the video archive, means for verifying the signatures corresponding to the list of files, means for determining whether the plurality of files indicated in the list of files are included in the video archive in response to determining that the signatures corresponding to the list of files have been verified, means for verifying whether the plurality of files indicated in the list of files are included in the video archive in response to determining that the plurality of files indicated in the list of files are included in the video archive, means for decrypting the video stream in response to determining that the signature corresponding to the video archive is included in the video archive, and means for decrypting the video stream in response to the video stream.

According to embodiments of the disclosed subject matter, there is provided a method for storing a video stream, the method including receiving at a server a video stream and video metadata corresponding to the video stream transmitted by a user device to the server, generating a file list indicating a plurality of files to be included in a video archive file corresponding to the video stream, wherein the file list includes at least the video stream and the video metadata, generating a signature corresponding to the file list and a signature corresponding to the video metadata, encrypting the video stream using a key to generate an encrypted video stream, and storing the encrypted video stream, the file list, the video metadata, the signature corresponding to the file list, and the signature corresponding to the video metadata in the video archive file, wherein the video archive file is stored in association with the key used to generate the encrypted video stream.

The video archive file may be stored in a memory of the server. The key used to generate the encrypted video stream may be stored in the memory of the server.

According to embodiments of the disclosed subject matter, there is provided a system for storing video streams, the system comprising a memory and a hardware processor configured, when executing computer executable instructions stored in the memory, to receive at a server a video stream and video metadata corresponding to the video stream transmitted by a user device to the server, generate a file list indicating a plurality of files to be included in a video archive file corresponding to the video stream, wherein the file list includes at least the video stream and the video metadata, generate a signature corresponding to the file list and a signature corresponding to the video metadata, encrypt the video stream using a key to generate an encrypted video stream, and store the encrypted video stream, the file list, the video metadata, the signature corresponding to the file list, and the signature corresponding to the video metadata in the video archive file, wherein the video archive file is stored in association with the key used to generate the encrypted video stream.

According to embodiments of the disclosed subject matter, there is provided non-transitory computer-readable media containing computer-executable instructions that, when executed by a processor, cause the processor to perform a method for storing a video stream, the method comprising receiving, at a server, a video stream and video metadata corresponding to the video stream transmitted by a user device to the server, generating a file list indicating a plurality of files to be included in a video archive file corresponding to the video stream, wherein the file list includes at least the video stream and the video metadata, generating a signature corresponding to the file list and a signature corresponding to the video metadata, encrypting the video stream using a key to generate an encrypted video stream, and storing the encrypted video stream, the file list, the video metadata, the signature corresponding to the file list, and the signature corresponding to the video metadata in the video archive file, wherein the video archive file is stored in association with the key used to generate the encrypted video stream.

According to embodiments of the disclosed subject matter, there is provided a system for storing a video stream, the system comprising means for receiving at a server a video stream and video metadata corresponding to the video stream transmitted by a user device to the server, means for generating a file list indicating a plurality of files to be included in a video archive file corresponding to the video stream, wherein the file list includes at least the video stream and the video metadata, means for generating a signature corresponding to the file list and a signature corresponding to the video metadata, means for encrypting the video stream using a key to generate an encrypted video stream, and means for storing the encrypted video stream, the file list, the video metadata, the signature corresponding to the file list, and the signature corresponding to the video metadata in the video archive file, wherein the video archive file is stored in association with the key used to generate the encrypted video stream.

Drawings

Various objects, features and advantages of the disclosed subject matter can be more fully understood by reference to the following detailed description of the disclosed subject matter when considered in connection with the following drawings, wherein like reference numerals identify like elements.

Fig. 1 shows a schematic diagram of an illustrative system suitable for implementing the mechanisms for protecting and verifying video files described herein, in accordance with embodiments of the disclosed subject matter.

Fig. 2 illustrates a detailed example of hardware that may be used in the server and/or user device of fig. 1 in accordance with embodiments of the disclosed subject matter.

Fig. 3 illustrates an information flow diagram for storing a video stream and verifying a video file according to embodiments of the disclosed subject matter.

Fig. 4 illustrates an example of a process for protecting and verifying a video file according to embodiments of the disclosed subject matter.

Detailed Description

According to various embodiments, mechanisms (which may include methods, systems, and media) for protecting and authenticating video files are provided.

In some embodiments , the mechanisms described herein may store the video stream in a video archive file that includes other files, such as metadata associated with the video stream, thumbnail content associated with the video stream, and/or any other suitable content in some embodiments , the mechanisms may generate a file list that indicates the files included in the video archive file in some embodiments , for example, the file list may indicate the name or location of the video stream, the name or location of the file that includes the metadata, the name or location of or more thumbnail images, and/or any other suitable files in some embodiments , the mechanisms may generate cryptographic signatures for or more of the files included in the video archive file in some embodiments , the generated signatures may additionally be stored in the video archive file in some embodiments , a signature may be generated for the file list, a second signature may be generated for metadata, a third signature may be generated for the thumbnail content , some embodiments the video archive server may store such video archive file in a manner that the video archive file has been modified or otherwise detected by a user.

In embodiments, the mechanisms described herein may verify whether a video archive file has been corrupted or modified based on the content of the video archive file. in embodiments, a user device that has received and/or stored a video archive file may verify the content of the video archive file by verifying every of the cryptographic signatures included in the video archive file. as another example, in embodiments, the user device may determine whether all files indicated in a list of files included in the video archive file are present in the video archive file to determine that no information associated with the video archive file is deleted. as yet a example, in embodiments, the user device may determine that no files that are not indicated in the list of files are included in the video archive file to determine that no files are added to the video archive file.

Although the mechanisms described herein are generally described as being related to video content, in embodiments the described techniques may be used to store and/or verify any suitable type of media content, including real-time streaming content, audio content (e.g., audio books, music files, and/or any other suitable type of audio content), electronic books, and/or any other suitable type of media content furthermore, in embodiments the mechanisms described herein may be used to verify media content stored or received in any suitable manner, such as media content streamed by a user device, media content stored locally on a user device, media content stored on an external memory associated with a user device, media content delivered from a user device to a second user device, and/or any other suitable media content.

Turning to fig. 1, an example 100 of hardware for validating video files that may be used is shown in accordance with embodiments of the disclosed subject matter as illustrated, the hardware 100 may include or more servers 102, a communication network 104, and/or or more user devices 106, such as user devices 108 and 110.

For example, in embodiments, server 102 may store media content, such as videos, television programs, movies, real-time streamed media content, audio content, and/or any other suitable media content, in embodiments, server 102 may store the media content in an archive file that includes metadata associated with the media content, thumbnail images associated with the media content, and/or any other suitable content, and may store a file list indicating files included in the archive file, as described in more detail below in connection with FIG. 4. in embodiments, server 102 may transmit the archive file including the stream of media content and any associated files to the user device in response to receiving a request from the user device.

In embodiments, the communication network 104 may be any suitable combination of or more of a wired and/or wireless network, for example, the communication network 104 may include any or more of the Internet, an intranet, a domain network (WAN), a Local Area Network (LAN), a wireless network, a Digital Subscriber Line (DSL) network, a frame relay network, an Asynchronous Transfer Mode (ATM) network, a Virtual Private Network (VPN), and/or any other suitable communication network, the user device 106 may be connected to the communication network 104 through or more communication links, the communication network 104 may be connected to the server 102 via or more communication links, the communication links may be any communication link suitable for transferring data between the user device 106 and the server 102, such as a network link, a dial-up link, a wireless link, a hard-wired link, any other suitable communication link, or any suitable combination of such links.

For example, in embodiments, the user device 106 may include a mobile device, such as a mobile phone, a tablet computer, a wearable computer, a laptop computer, a vehicle (e.g., an automobile, a boat, an airplane, or any other suitable vehicle) entertainment system, and/or any other suitable mobile device and/or any suitable non-mobile device (e.g., a desktop computer, and/or any other suitable non-mobile device). As another example, in embodiments, the user device 206 may include a media playback device, such as a television, a projector device, a game console, a desktop computer, and/or any other suitable non-mobile device.

Although the server 102 is illustrated as devices, in embodiments the functions performed by the server 102 may be performed using any suitable number of devices, for example, in embodiments the functions performed by the server 102 may be implemented using multiple devices.

Although two user devices 108 and 110 are shown in fig. 1 to avoid overcomplicating the drawing, any suitable number of user devices and/or any suitable type of user devices may be used in embodiments .

In embodiments, the server 102 and the user device 106 may be implemented using any suitable hardware, for example, in embodiments, the devices 102 and 106 may be implemented using any suitable general purpose or special purpose computer, for example, a mobile telephone may be implemented using a special purpose computer.

In embodiments, the hardware processor 202 may include any suitable hardware processor, such as a microprocessor, microcontroller, digital signal processor, dedicated logic, and/or any other suitable circuitry for controlling the operation of a general purpose computer or a dedicated computer, in embodiments, the hardware processor 202 may be controlled by a server program stored in a memory and/or storage 204 of a server (such as in the server 102, for example, in embodiments, the server program may cause the hardware processor 202 to store a stream of media content and associated information in an archive file, and to transmit the archive file to a user device and/or perform any other suitable action in response to receiving a request for the stream of media content, in embodiments, the hardware processor 202 may be controlled by a computer program stored in a memory and/or storage 204 of the user device 106, for example, the computer program may cause the hardware processor 202 to receive an archive file including the stream of media content and any other suitable files, to verify the content of the file, to render the stream of media content, and/or to perform any other suitable action.

In embodiments, memory and/or storage 204 may be any suitable memory and/or storage for storing programs, data, media content, and/or any other suitable information for example, memory and/or storage 204 may include random access memory, read only memory, flash memory, hard disk storage, optical media, and/or any other suitable memory.

In embodiments, the input device controller 206 may be any suitable circuitry for controlling or more input devices 208 and receiving input from or more input devices 208 for example, the input device controller 206 may be circuitry for receiving input from a touch screen, from a keyboard, from a mouse, from or more buttons, from voice recognition circuitry, from a microphone, from a camera, from an optical sensor, from an accelerometer, from a temperature sensor, from a near field sensor, and/or any other type of input device.

In embodiments, the display/audio driver 210 may be any suitable circuitry for controlling and driving output to or more display/audio output devices 212 for example, the display/audio driver 210 may be circuitry for driving a touch screen, a flat panel display, a cathode ray tube display, a projector, or more speakers, and/or any other suitable display and/or presentation device.

The communication interface 214 may be any suitable circuitry for interfacing with one or more communication networks (interfaces) such as the network 104 shown in FIG. 1 for example, the interface 214 may include a network interface card circuit, a wireless communication circuit, and/or any other suitable type of communication network circuit.

In embodiments, antenna 216 may be any suitable or more antennas for wireless communication with a communication network (e.g., communication network 104). in embodiments, antenna 216 may be omitted.

In embodiments, bus 218 may be any suitable mechanism for communicating between two or more components 202, 204, 206, 210, and 214.

According to , any other suitable components may be included in hardware 200.

Turning to fig. 3, an example information flow diagram 300 for storing a video stream in a video archive file and verifying the received video archive file by a user device is shown in accordance with embodiments of the disclosed subject matter in embodiments, the blocks of the information flow diagram 300 may be performed on a user device (user device 108), a server 102, and a second user device (user device 110).

In embodiments, the video stream may have any suitable duration in embodiments, in embodiments, the user device 108 may additionally transmit any other suitable information associated with the video stream.

At 304, the server 102 may store the received video stream in embodiments, the server 102 may store the video stream in a video archive file that additionally includes files corresponding to other information associated with the video stream (e.g., metadata, thumbnail images, and/or any other suitable information). for example, in embodiments, additional information transmitted by the user device 108 (e.g., the title of the video stream, the name of the creator of the video stream, keyword or category information, a description of the video stream, multiple views of the video stream, the date on which the video stream uploaded to the server 102, duration information, channel information indicating the set to which the video stream was assigned or grouped, and/or any other suitable information) may be stored as metadata in the metadata file.

In embodiments, the video archive file may be in any suitable format, for example, in embodiments, the video archive file may be a container file in any suitable file format (e.g., ZIP, JAR, TAR, and/or any other suitable format) including a video stream and any other files.

For example, where the video archive file contains a video stream, thumbnail images, and files that include metadata associated with the video stream, the server 102 may generate a file list to indicate the names and locations of the video stream, the names and locations of the thumbnail images, and the names and locations of the metadata files.

In embodiments, the server 102 may include signatures, each signature associated with a file in a video archive file.for example, in embodiments, the server 102 may include a signature corresponding to a metadata file, a signature for each thumbnail image file, a signature for a video stream, a signature for a file list, and/or any other suitable signature.in embodiments, the server 102 may generate each signature using any suitable technique or combination of techniques.for example, in embodiments, the server 102 may generate a signature using a Digital Signature Algorithm (DSA), elliptic Curve (DSA), and/or using any other suitable technique.in embodiments, any suitable parameter for generating a signature (e.g., a parameter indicating a key length and/or any other suitable parameter) may be included in a video archive file to allow a client device to verify a signature.

In embodiments, the server 102 may generate each signature using any suitable cryptographic hash function (e.g., SHA-224, SHA-256, and/or any other suitable hash function). in such embodiments, the server 102 may use any suitable input to the hash function.

In some embodiments , the server 102 may encrypt the video stream before including the video stream in the video archive file in some embodiments , the server 102 may encrypt the video stream using any suitable encryption technique or algorithm in some embodiments , for example, the server 102 may encrypt the video using any suitable symmetric encryption algorithm or asymmetric encryption algorithm in some embodiments , the server 102 may store keys (e.g., public encryption keys and/or private encryption keys) used by the user device to decrypt the video stream along with the video archive file in some embodiments , the server 102 may store any suitable encryption information in the video archive file that may be used by the user device to request a decryption key and/or decrypt the video stream, as described below.

It is noted that in embodiments, any other suitable information may be included in the video archive file, such as a version number of the video archive file, a date the video archive file was created, video identifier information, and/or any other suitable information in embodiments, for example, video identifier information indicating the identity of the video stream may be stored in the video metadata file as well as in a file indicating index information about the video stream in embodiments, the video identifier information may be verified between the video metadata file and the index information file to verify that both files are valid.

Specific examples of video archive files are as follows:

video _1_ title ytb

Version _ number

Yuan

File list

Json video

Stream meta

Encryption meta

Sig file listing

Sig

Sig flow

Flow of

[ video _ id ] - [ itag ]. stream

Image of a person

Thumbnail. jpg

Sig is

In this particular example, "video _1_ title. ytb" may be a video archive file that includes an encrypted video stream, video metadata, thumbnail images, a list of files, and a signature for each file.

Note that in embodiments , the server 102 may create any suitable number of video archive files corresponding to video streams received from any suitable number of user devices in embodiments , blocks 302 and 304 may be repeated at any suitable time in embodiments , the generated video archive files may be stored in the memory 204 of the server 102.

At 306, the user device 110 may request a particular video stream from the server 102 in embodiments, the request may be received in response to any suitable action by a user of the user device 110 for example, in embodiments, the request may be in response to a user selecting a particular video or media content item for download to the user device 110 and/or for streaming on the user device 110 in embodiments, the action may be received via a user interface associated with a media content sharing service corresponding to the server 102.

At 308, server 102 can identify and transmit to user device 110 a video archive file corresponding to the received request.

At 310, the user device 110 may verify the content of the video archive file, for example, in embodiments, the user device 110 may determine whether all files in a file list of the video archive file are included in the video archive file, and determine that the video archive file does not include additional files not indicated in the file list.

At 312, in response to verifying the content of the video archive file, user device 110 may request a decryption key from server 102 for decrypting the video stream included in the video archive file.

At 314, server 102 can identify a decryption key corresponding to the video archive file and can transmit the identified decryption key to user device 110.

At 316, user device 110 may decrypt the video stream using the received decryption key. User device 110 may then cause the decrypted video stream to be presented on user device 110.

Note that in embodiments, user device 110 may receive the video archive file at 308 and may store the video archive file for presentation of the video stream while offline in embodiments, user device 110 may verify the content of the video archive file at 310 as the video archive file is received and/or prior to presentation of the video stream.

Turning to fig. 4, an example 400 of a process for authenticating a received video archive and presenting a video stream included in the video archive on a user device is shown in accordance with embodiments of the disclosed subject matter.

It is noted that in some such embodiments, the video may be stored in any suitable location such as in a local memory of the user device, on an external memory device associated with the user device (e.g., a hard drive, a secure digital or SD card, and/or any other suitable memory device).

As described above in connection with block 302 of fig. 3, in embodiments the video archive file may comprise any suitable file, for example, in embodiments the video archive file may comprise a video stream or a group of video streams each comprising portions of a complete video stream as another example, in embodiments the video archive file may comprise a file indicating metadata associated with the video stream, such as a title of the video stream, a name of a creator of the video stream, multiple views of the video stream, a date the video stream was created, a description of the video stream, a duration of the video stream, and/or any other suitable information as yet another example, in embodiments the video archive file may comprise or more thumbnail images associated with the video stream (e.g., images or icons from a screen capture of the video stream, created or selected by the creator of the video stream, and/or any other suitable thumbnail image) note that in embodiments the thumbnail images may comprise any suitable thumbnail image, images, icons, or icons, and in addition the video archive file may comprise additional video archive files indicated in embodiments each of the video archive file may comprise additional thumbnail images.

In some embodiments, the process 400 may use a cryptographic hash function to calculate or more values for verifying the signature, in embodiments, the process 400 may use any other suitable information to calculate or more values for verifying the signature, in embodiments, the process 400 may use any other suitable information to calculate or more values for verifying the signature, such as parameters for generating the signature (e.g., parameters based on key length, parameters based on a hash function, randomly selected values for generating the signature, and/or any other suitable parameters), parameters associated with a video archive file and/or any other suitable parameters, parameters for generating the signature, such as a random selected value for a video archive file, and/or any other suitable parameter for use in embodiments, such as a video archive file length, a random signed file, a video archive, a video file, a video archive, a video file, a video archive, a video file, a video archive, a video file, a video archive, a.

If, at 404, the process 400 determines that the signature associated with the list of files is invalid (e.g., "no" at 404), the process 400 may end at block 416.

If, at 404, the process 400 determines that the signature associated with the list of files is valid (e.g., "yes" at 404), the process 400 may proceed to block 406 and may determine whether all files indicated in the list of files are included in the video archive file.

If, at 406, the process 400 determines that not all files indicated in the file list are included in the video archive file and/or additional files not indicated in the file list are included in the video archive file (e.g., "no" at 406), the process 400 may end at block 416.

If, at 406, the process 400 determines that all files indicated in the file list are included in the video archive file and/or that no additional files not indicated in the file list are included in the video archive file, the process 400 may proceed to block 408 and may verify the signature associated with the metadata file in embodiments, the process 400 may verify the signature associated with the metadata file in any suitable manner, e.g., using the techniques described above in connection with block 404.

If, at 408, the process 400 determines that the signature associated with the metadata file is invalid (e.g., "no" at 408), the process 400 may end at block 416.

If, at 408, the process 400 determines that the signature associated with the metadata file is valid (e.g., "yes" at 408), the process 400 may proceed to block 410 and may request a decryption key for decrypting the video stream included in the video archive file.

In some embodiments, the process 400 may decrypt the video stream using the decryption key (e.g., the video stream may be a block or portion of a larger video stream) and may decrypt the decrypted stream bytes using the decryption key (e.g., the video stream may be a block or portion of a larger video stream).

For example, in embodiments, the decrypted video stream may be presented within a video player window that includes any suitable controls for manipulating playback of the video stream (e.g., a volume control, a fast forward control, a rewind control, a pause control, and/or any other suitable controls).

Process 400 may end at 416.

For example, in embodiments , the process 400 may determine whether a signature associated with a file indicating index information for the video stream is valid, similar to that described above in connection with block 404. As another example, in embodiments , both the index information file and the metadata file may include video identifiers indicating identification information for the video stream, and the process 400 may determine that the video identifiers in the index information file match the video identifiers in the metadata file.

Additionally, note that in embodiments, in the event that process 400 terminates at block 416 in response to determining that at least portion of the video archive file is invalid (e.g., "no" at 404, 406, and/or 408), process 400 may present a message indicating that the contents of the video archive file are determined to be invalid.

In embodiments , at least ones of the above-described blocks of the processes of fig. 3 and 4 may be executed or performed in any order or sequence that is not limited to the order and sequence shown in and described in connection with the figures.

For example, non-transitory computer-readable media may include media such as magnetic media (such as hard disks, floppy disks, and/or any other suitable magnetic media), optical media (such as compact disks, digital video disks, blu-ray disks, and/or any other suitable optical media), semiconductor media (such as flash memories, electrically programmable read-only memories (EPROMs), electrically erasable programmable read-only memories (EEPROMs), and/or any other suitable semiconductor media), any suitable media that is not transitory or lacks any persistent facies during transmission, and/or any suitable tangible media.

In the case where the system described herein collects or utilizes personal information about a user, the user may be provided with an opportunity to control whether programs or features collect user information (e.g., information about the user's social network, social actions or activities, profession, the user's preferences, or the user's current location). additionally, before storing or using certain data, the data may be processed in or more ways such that personal information is removed.

Accordingly, methods, systems, and media for protecting and authenticating video files are provided.

While the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention may be made without departing from the spirit and scope of the invention, which is limited only by the claims which follow. The features of the disclosed embodiments may be combined and rearranged in various ways.

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于呈现指示推荐内容的通知的方法、系统和介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类