CN118158343A - 视频数据加解密方法、计算设备以及计算机可读存储介质 - Google Patents
视频数据加解密方法、计算设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN118158343A CN118158343A CN202410420223.7A CN202410420223A CN118158343A CN 118158343 A CN118158343 A CN 118158343A CN 202410420223 A CN202410420223 A CN 202410420223A CN 118158343 A CN118158343 A CN 118158343A
- Authority
- CN
- China
- Prior art keywords
- password
- encrypted
- file
- video data
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 130
- 238000012806 monitoring device Methods 0.000 claims abstract description 80
- 238000012544 monitoring process Methods 0.000 claims abstract description 51
- 238000012986 modification Methods 0.000 claims description 11
- 230000004048 modification Effects 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 11
- 102100037812 Medium-wave-sensitive opsin 1 Human genes 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012795 verification Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005336 cracking Methods 0.000 description 4
- 230000002035 prolonged effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Landscapes
- Closed-Circuit Television Systems (AREA)
Abstract
本申请实施例涉及视频数据加解密技术领域,公开了一种视频数据加解密方法、计算设备以及计算机可读存储介质,该方法包括:从视频监控设备的内存中读取多个视频数据,其中,一个视频数据为包含多帧连续的图像;生成随机密钥,并通过随机密钥分别对多个视频数据进行加密,得到多个加密数据,其中,加密数据与视频数据一一对应;从视频监控设备的配置文件中读取当前用户密码;通过当前用户密码对随机密钥进行加密,得到第一密码校验串;根据第一密码校验串和多个加密数据生成加密文件。通过上述方式,本申请实施例提高了视频数据的安全性。
Description
技术领域
本申请实施例涉及视频数据加解密技术领域,具体涉及一种视频数据加解密方法、计算设备以及计算机可读存储介质。
背景技术
摄像机通常将视频数据存储在插入摄像头的SD卡(Secure Digital card,安全数位卡)或NVR(Network Video Recorder,网络视频录像机)中。然而,安全监控行业产生的海量视频数据往往未经过加密处理,这使得数据容易遭受未授权访问。一旦视频数据丢失,将直接导致隐私泄露。更严重的是,如果有人能够直接访问这些视频文件,他们可能会获取设备所有者的敏感个人信息。这种安全隐患对用户构成了极大的威胁。
因此,如何提高视频数据的安全性成了一个亟待解决的技术问题。
发明内容
鉴于上述问题,本申请实施例提供了一种视频数据加解密方法、计算设备以及计算机可读存储介质,用于解决现有技术中存在的视频数据安全性低的问题。
根据本申请实施例的一个方面,提供了一种视频数据加密方法,应用于视频监控设备,所述方法包括:从视频监控设备的内存中读取多个视频数据,其中,一个视频数据为包含多帧连续的图像;生成随机密钥,并通过随机密钥分别对多个视频数据进行加密,得到多个加密数据,其中,加密数据与视频数据一一对应;从视频监控设备的配置文件中读取当前用户密码;通过当前用户密码对随机密钥进行加密,得到第一密码校验串;根据第一密码校验串和多个加密数据生成加密文件。
在一种可选的方式中,视频数据加密方法还包括:获取密码修改指令以及新的用户密码;响应于密码修改指令,从配置文件中读取当前用户密码;通过当前用户密码对第一密码校验串进行解密,得到随机密钥;将配置文件中的当前用户密码替换为新的用户密码;从视频监控设备的配置文件中读取新的用户密码;通过新的用户密码对随机密钥进行加密,得到第二密码校验串;将加密文件中的第一密码校验串替换为第二密码校验串,完成对已生成的加密文件的重新加密。
在一种可选的方式中,从视频监控设备的内存中读取多个视频数据,包括:从视频监控设备的内存中读取多个视频数据集,其中,每个视频数据集包括多个视频数据;生成随机密钥,并通过随机密钥分别对多个视频数据进行加密,得到多个加密数据,包括:生成多个不同的随机密钥,并通过每个随机密钥分别对一个视频数据集中的多个视频数据进行加密,得到多个加密数据集,其中,每个加密数据集包括多个加密数据,且加密数据集与随机密钥一一对应;通过当前用户密码对随机密钥进行加密,得到第一密码校验串,包括:通过当前用户密码分别对多个不同的随机密钥进行加密,得到多个不同的第一密码校验串,其中,第一密码校验串与随机密钥一一对应;根据第一密码校验串和多个加密数据生成加密文件,包括:根据对应于同一个随机密钥的第一密码校验串和加密数据集生成加密文件,得到与多个不同的随机密钥一一对应的多个加密文件。
在一种可选的方式中,视频数据中的每帧图像均具有对应的时刻,一个视频数据具有从起始帧图像对应的时刻至截止帧图像对应的时刻所形成的时段信息,多个视频数据的时段信息相连续,加密数据具有与对应的视频数据的时段信息相同的时段信息;从视频监控设备的内存中读取多个视频数据,包括:根据视频数据的时段信息,从视频监控设备的内存中读取第一时刻至第二时刻的时段内的多个视频数据,其中,第一时刻和第二时刻为预设的时段信息,和/或,第一时刻为首次检测到目标物的时刻,第二时刻为最后一次检测到目标物的时刻;在根据第一密码校验串和多个加密数据生成加密文件之前,视频数据加密方法还包括:将多个加密数据的时段信息中的最小时刻至最大时刻确定为加密文件的时段信息;根据第一密码校验串和多个加密数据生成加密文件,还包括:根据加密文件的时段信息、第一密码校验串和加密数据生成加密文件。
在一种可选的方式中,生成随机密钥,并通过随机密钥分别对多个视频数据进行加密,得到多个加密数据,包括:生成随机密钥;通过第一加密算法对随机密钥加密,得到第一密钥哈希值;根据第一密钥哈希值通过第二加密算法分别对多个视频数据进行加密,得到多个加密数据;通过当前用户密码对随机密钥进行加密,得到第一密码校验串,包括:根据当前用户密码通过第二加密算法对第一密钥哈希值进行加密,得到第一密码校验串。
在一种可选的方式中,在根据第一密钥哈希值通过第二加密算法分别对多个视频数据进行加密,得到多个加密数据之前,视频数据加密方法还包括:生成随机值;根据第一密钥哈希值通过第二加密算法分别对多个视频数据进行加密,得到多个加密数据,包括:根据随机值通过第三加密算法对第一密钥哈希值加密,得到第二密钥哈希值;根据第二密钥哈希值通过第二加密算法分别对多个视频数据进行加密,得到多个加密数据;根据当前用户密码通过第二加密算法对第一密钥哈希值进行加密,得到第一密码校验串,包括:根据随机值通过第三加密算法对当前用户密码加密,得到密码哈希值;根据密码哈希值通过第二加密算法对第一密钥哈希值进行加密,得到第一密码校验串;根据第一密码校验串和多个加密数据生成加密文件,还包括:根据随机值、第一密码校验串和多个加密数据生成加密文件。
在一种可选的方式中,视频监控设备的配置文件中存储的用户密码为经过视频监控设备加密的用户密码。
根据本申请实施例的另一方面,提供了一种视频数据解密方法,应用于视频监控设备,所述方法包括:获取输入密码,其中,输入密码为从视频监控设备的配置文件中读取的用户密码,或,输入密码为从终端设备获取的用户密码;根据输入密码对待解密文件的第一密码校验串进行解密,得到待解密文件的随机密钥,其中,待解密文件为视频监控设备通过上述任一实施例所述的视频数据加密方法得到的加密文件;根据随机密钥对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据;将解密完成的视频数据发送给终端设备。
在一种可选的方式中,加密文件还包括时段信息;在根据输入密码对待解密文件的第一密码校验串进行解密,得到待解密文件的随机密钥之前,视频数据解密方法还包括:从终端设备获取查看时段;根据加密文件的时段信息,从视频监控设备的加密文件中确定与查看时段对应的加密文件,并将与查看时段对应的加密文件确定为待解密文件。
在一种可选的方式中,每个视频数据均包括关键帧,关键帧为视频数据中标记有解码起始位置的图像;在根据随机密钥对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据之前,视频数据解密方法还包括:根据加密数据的时段信息,从一个待解密文件的多个加密数据中查找包含查看时段中最小时刻的第一加密数据,以及包含查看时段中最大时刻的第二加密数据;将第一加密数据、第二加密数据以及时段信息位于第一加密数据和第二加密数据之间的加密数据确定为与查看时段对应的待解密数据;根据随机密钥对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据,包括:根据随机密钥对待解密文件中的待解密数据进行解密,得到待解密文件中对应于待解密数据的视频数据。
根据本申请实施例的另一方面,提供了一种视频数据解密方法,应用于终端设备,所述方法包括:获取输入密码;从视频监控设备获取待解密文件,其中,待解密文件为视频监控设备通过上述任一实施例所述的视频数据加密方法得到的加密文件;根据输入密码对待解密文件的第一密码校验串进行解密,得到待解密文件的随机密钥;根据随机密钥对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据。
根据本申请实施例的另一方面,提供了一种计算设备,计算设备为视频监控设备,视频监控设备包括:处理器和存储器,存储器中存储有可执行指令,处理器能执行可执行指令以实现如上述任一视频数据加解密方法的操作;或,计算设备为终端设备,终端设备包括处理器和存储器,存储器中存储有可执行指令,处理器能执行可执行指令以实现如上述任一视频数据解密方法的操作。
根据本申请实施例的另一方面,提供了一种计算机可读存储介质设备,存储介质中存储有可执行指令,可执行指令在视频监控设备上运行时,使得视频监控设备执行如上述任一视频数据加解密方法的操作;或,存储介质中存储有可执行指令,可执行指令在终端设备上运行时,使得终端设备执行如上述任一视频数据解密方法的操作。
根据本申请实施例的另一方面,提供了一种计算机可读存储介质,存储介质中存储有可执行指令,可执行指令在视频数据加密设备上运行时,使得视频数据加密设备执行如上述任一视频数据加密方法的操作;可执行指令在视频数据解密设备上运行时,使得视频数据解密设备执行如上述任一视频数据解密方法的操作。
本申请实施例所提供的视频数据加密方法,通过从所述视频监控设备的内存中读取多个视频数据,使用随机密钥对读取的多个视频数据加密得到加密数据,并通过从所述视频监控设备的配置文件中读取当前用户密码,使用读取的当前用户密码加密随机密钥,以避免直接使用用户密码对视频数据进行加密,从而增加了模拟用户密码对加密数据进行破解的难度,提高了视频数据的安全性。
本申请实施例所提供的视频数据解密方法,通过获取输入密码,根据输入密码对待解密文件的第一密码校验串进行解密,得到待解密文件的随机密钥,再使用解密出的随机密钥对待解密文件中的多个加密数据进行解密,还原出视频数据,可以通过延长解密的链条,从而提高视频数据的安全性。
上述说明仅是本申请实施例技术方案的概述,为了能够更清楚了解本申请实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本申请实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的视频数据加密方法的应用场景架构图;
图2示出了本申请实施例提供的视频数据加密方法的流程示意图;
图3示出了本申请另一实施例提供的视频数据加密方法的流程示意图;
图4示出了本申请实施例提供的用户密码更换后更新加密文件的方法的流程示意图;
图5a示出了本申请实施例提供的视频数据解密方法的流程示意图;
图5b示出了本申请另一实施例提供的视频数据解密方法的流程示意图;
图6示出了本申请实施例提供的视频数据加密装置的结构示意图;
图7a示出了本申请实施例提供的视频数据解密装置的结构示意图;
图7b示出了本申请另一实施例提供的视频数据解密装置的结构示意图;
图8示出了本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。
摄像机生成的视频数据为GOP(Group of Pictures),一个GOP包括多帧连续的图像。通常将加密后的GOP以文件夹的形式存储在SD卡或NVR中。
本申请发明人发现,现有技术在加密的时候,通常直接使用用户密码对GOP进行加密,使得外部攻击通过模拟用户密码对加密数据进行简单破解即可还原得到所有的GOP,GOP的安全性较低。
基于此,本申请发明人发现,可以使用随机密码对GOP进行加密,并使用用户密码对随机密码进行加密,以延长通过用户密码对GOP进行加密的加密链条的长度,从而增强SD卡或NVR中视频数据的安全性。
本申请适用于对视频数据进行加密,其中,视频数据为监控摄像机进行录像生成;监控摄像机将生成的视频数据存放在监控摄像机的SD卡中,或,监控摄像机将生成的视频数据传输给NVR,以使视频数据存储于NVR。
参见图1所示,图1示出了本申请实施例提供的视频数据加密方法的应用场景架构图。在本实施例中,所述视频数据加密方法应用于视频监控设备1中。所述视频监控设备1通过网络3与终端设备2建立通信连接。所述视频监控设备1可以为用于安防监控的摄像机、网络摄像机(IP camera)或其它录像监控设备。所述终端设备2可以是智能手机、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、个人数字助理(personaldigital assistant,简称PDA)、移动上网装置(Mobile Internet Device,MID)或可穿戴式设备(Wearable Device)等终端侧设备。所述网络3包括,但不仅限于,局域网(LAN)、城域网(MAN)、广域网(WAN)、4G/5G网络、WIFI、蓝牙(Bluetooth)以及点对点(P2P)通信网络之一种或多种。在本实施例中,所述视频监控设备1和终端设备2均可以是包括一个或多个处理器,该处理器可能是中央处理器CPU,或者是特定集成电路(Application SpecificIntegrated Circuit,ASIC),或者是被配置成实施本实施例的一个或多个集成电路,在此不做限定。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC,在此不做限定。
在本实施例中,所述视频监控设备1安装在需要监控的区域(例如家、办公室、商场等等)内,能够持续摄取监控区域内的监控录像并对录像生成的视频数据进行加密得到加密数据。在完成视频数据加密后,所述视频监控设备1还可以在对加密数据解密得到视频数据后,将视频数据发送给终端设备2供用户浏览;或者是,所述视频监控设备1将加密数据发送给终端设备2,以使终端设备2对加密数据进行解密得到视频数据,供用户浏览。所述终端设备2可以显示不同的用户界面供用户选择所要查看的视频数据。
图2示出了本申请实施例提供的视频数据加密方法的流程示意图,该方法由视频监控设备1执行。其中,视频监控设备1可以是监控摄像机,也可以是NVR。如图2所示,该方法包括以下步骤:
S110,从视频监控设备1的内存中读取多个视频数据,其中,一个视频数据为包含多帧连续的图像。
本申请实施例所述的视频数据加密方法,既可以由监控摄像机直接对生成的视频数据执行加密操作,也可以由NVR从监控摄像机接收视频数据,并在其内存中对这些数据进行加密处理。
其中,视频数据为一个加密单元,加密单元为包含多帧连续图像的GOP。在一个GOP中,通常包含一帧完整的图像(即I帧,也称为关键帧),后面跟随若干帧预测画面(即P帧)和双向预测画面(即B帧)。在播放GOP时,需要先对GOP进行解码,I帧的解码不依赖于其他帧,可以独立解码;P帧核B帧的解码依赖于I帧。将包含多帧连续图像的GOP作为加密单元,以使得解密时,可以仅解密用户需要的那部分数据,从而提高解密效率。
S130,生成随机密钥,并通过随机密钥分别对多个视频数据进行加密,得到多个加密数据,其中,加密数据与视频数据一一对应。
其中,随机密钥是通过随机算法生成的、用于加密和解密数据的密钥,具有不可预测性和唯一性,是确保加密安全的关键。本申请实施例不对随机密钥的生成方式进行限定,例如,随机密钥可以通过密码学安全的伪随机数生成器(CSPRNG)生成,也可以通过基于硬件的随机数生成器(HRNG)生成,还可以通过基于散列函数的密钥派生函数(HKDF)生成。
在一种优选的方式中,使用对称加密算法对GOP进行加密,在解密时,需要使用加密时的随机密钥才能完成对加密数据的解密。其中,对称加密算法为加密和解密使用相同密钥的算法。例如,AES(Advanced Encryption Standard)、DES(Data EncryptionStandard)和TDES(Triple Data Encryption Algorithm)算法。
S150,从视频监控设备1的配置文件中读取当前用户密码。
视频监控设备1在初始设置时,如果用户没有输入密码,在一种可选的方式中,可以使用设备出厂时预设的密码来加密视频数据,直到用户设置了新密码,视频监控设备1将新密码存储在配置文件中,并移除预设密码,使用新密码加密视频数据。另一种优选的方法是,视频监控设备1不存储预设密码,如果用户没有输入密码,则不启用加密。
用户通过终端设备2输入密码,视频监控设备1从终端设备2接收密码。为了保护用户密码的安全,用于对视频监控设备1进行配置的前端界面可以采用加密算法,以使得客户端无法直接读取明文密码,确保用户密码在传输过程中的安全性。
在一种优选的方式中,视频监控设备1从终端设备2接收用户密码后,对用户密码进行加密,将经过视频监控设备1加密的用户密码存入配置文件。在未知接收的密码是否为用户输入的明文密码的情况下,视频监控设备1对接收到的用户密码进行加密再存入配置文件,可以进一步避免配置文件中存放用户的明文密码,从而避免通过攻击配置文件直接获取用户明文密码的情况。
其中,视频监控设备1的配置文件是存储在视频监控设备1内部的一组预设参数,用于指导视频监控设备1的运行和行为,如视频质量、网络设置和录像计划等。配置文件通常存储在非易失性存储器(如闪存)中,以保证设备重启后仍能保留设置。
对于监控摄像机而言,持续进行监控则会一直生成视频数据,对持续生成的视频数据进行加密,则需要将当前用户密码存放到视频监控设备1中,以便对实时生成的视频数据进行加密。
将用户当前密码保存在配置文件中,确保设备重启后密码不丢失,从而保持加密算法的连续运行,避免密码丢失导致的加密中断。与之相对,内存中存放的数据(通常是临时数据)是指在视频监控设备1运行时存储在随机访问存储器(RAM)中的数据,用于实时处理和临时存储,如视频流缓冲、系统日志和临时配置更改等。内存数据在设备断电或重启后会丢失。在内存中缓存视频数据可以使得视频数据被快速实时处理,确保了处理的高效性和响应的及时性。
S170,通过当前用户密码对随机密钥进行加密,得到第一密码校验串。
在一种优选的方式中,对随机密钥进行加密的加密算法,与对GOP进行加密的算法一致,例如,使用AES对GOP进行加密得到加密数据,则同样使用AES对随机密钥进行加密,对GOP的加密和对随机密钥的加密使用同一套加密算法可以节省加密算法对视频监控设备1的存储资源的占用,以提高视频监控设备1的运行效率。
S190,根据第一密码校验串和多个加密数据生成加密文件。
在一种优选的方式中,将第一密码校验串作为元数据或配置信息嵌入加密文件头部,用于指导解密过程,将多个加密数据作为文件内容写入加密文件。进一步地,当一个加密文件中的多个加密数据的时段信息相连续时,加密文件的头部还包括时段信息,以使得解密的时候可以通过加密文件的头部信息查找加密数据,提高解密效率。
本申请实施例通过生成随机密码,使用随机密码对视频数据进行加密得到加密数据,并使用用户密码对随机密码进行加密得到第一密码钥匙串,将第一密码钥匙串和加密数据一起存入加密文件,使得在通过模拟用户密码以破解加密数据时,需要先破解加密文件中的第一密码钥匙串,从而延长了视频数据的加密链条的长度,增强了加密文件中加密数据的安全性。
加密文件除了包括第一密码钥匙串和加密数据,加密文件还具有时段信息。在一种可选的方式中,视频数据中的每帧图像均具有对应的时刻,一个视频数据具有从起始帧图像对应的时刻至截止帧图像对应的时刻所形成的时段信息,多个视频数据的时段信息相连续,加密数据具有与对应的视频数据的时段信息相同的时段信息;在S190之前,视频数据加密方法还包括:
S188,将多个加密数据的时段信息中的最小时刻至最大时刻确定为加密文件的时段信息。
S190还包括子步骤:S198,根据加密文件的时段信息、第一密码校验串和加密数据生成加密文件。
GOP具有时段信息,通过加密GOP得到的加密数据具有和GOP相同的时段信息,可根据加密数据的时段信息确定加密文件的时段信息。具体地,GOP的每一帧都有对应的时间戳,GOP的时间段信息由GOP中每帧关联的时间戳形成,也就是,GOP的时段信息由初始帧图像的时间戳到最终帧图像的时间戳之间的时间段组成。通过加密GOP得到的加密数据具有和GOP相同的时段信息。当多个加密数据相连续时,例如,一个GOP的时段信息为2分钟,对监控摄像机在一小时内持续监控生成的30个GOP进行加密,则30个加密数据依次为第0~2分钟的加密数据、第2~4分钟的加密数据、……、第58~60分钟的加密数据,此时,加密文件的时段信息为第0~60分钟。
为了进一步提高加密数据的安全性,图3示出了本申请另一实施例提供的视频数据加密方法的流程示意图,请参阅图3,该方法包括以下步骤:
S210,从视频监控设备1的内存中读取多个视频数据集,其中,每个视频数据集包括多个视频数据。
在一种优选的方式中,可以根据GOP的时段信息,从视频监控设备1的内存中读取第一时刻至第二时刻的时段内的多个视频数据,并将第一时刻至第二时刻的时段内的多个视频数据作为视频数据集,其中,第一时刻和第二时刻为预设的时段信息。例如,当监控摄像头持续录制时,可以将一小时内连续的GOP作为一个视频数据集,读取15:00~16:00的GOP,并将15:00~16:00的多个GOP作为一个视频数据集,若从14:00开始录制,18:00结束录制,则读取到14:00~15:00的视频数据集、15:00~16:00的视频数据集、16:00~17:00的视频数据集,以及17:00~18:00的视频数据集。
在另一种优选的方式中,可以根据GOP的时段信息,从视频监控设备1的内存中读取第一时刻至第二时刻的时段内的多个视频数据,并将第一时刻至第二时刻的时段内的多个视频数据作为视频数据集,其中,第一时刻为首次检测到目标物的时刻,第二时刻为最后一次检测到目标物的时刻。除了根据预设时段组织监控摄像机生成的多个GOP,还可以根据报警事件组织监控摄像机生成的多个GOP,以在节省视频监控设备1的存储空间的同时,便于用户查看报警事件对应的视频。监控摄像机通过对生成的GOP进行目标监测,若监控摄像机识别到目标物(如人、车辆、动物等),则记录目标物出现的时刻,并对目标物进行跟踪,直到目标物丢失,监控摄像机从后面的图像帧中未识别到目标物,则停止跟踪,并记录目标物最后一次出现的时刻,监控摄像机根据目标物出现的时刻以及目标物消失的时刻生成报警事件。视频监控设备1将一次报警事件的GOP作为一个视频数据集,对与报警事件对应的视频数据集进行加密。
S230,生成多个不同的随机密钥,并通过每个随机密钥分别对一个视频数据集中的多个视频数据进行加密,得到多个加密数据集,其中,每个加密数据集包括多个加密数据,且加密数据集与随机密钥一一对应。
在对每一个视频数据集进行加密时,视频监控设备1针对每个视频数据集生成一个随机密钥,随机密钥通过随机算法生成,每次生成的随机密钥都不同,而后通过每个随机密钥分别对一个视频数据集中的多个视频数据进行加密,得到多个加密数据集,也就是,以GOP为加密单元,同一视频数据集中的GOP在加密时,使用同一个随机密钥分别对多个GOP进行多次加密得到与GOP对应的加密数据。
S250,从视频监控设备1的配置文件中读取当前用户密码。
S270,通过当前用户密码分别对多个不同的随机密钥进行加密,得到多个不同的第一密码校验串,其中,第一密码校验串与随机密钥一一对应。
S290,根据对应于同一个随机密钥的第一密码校验串和加密数据集生成加密文件,得到与多个不同的随机密钥一一对应的多个加密文件。
其中,S250与S150相同,S270~S290与S170~S190类似,S250~S290的实现方式可参照S150~S170,在此不再赘述。
在本申请实施例中,加密过程以GOP作为基本的加密单位,对同一视频数据集内的多个连续GOP执行统一的加密操作,使用随机生成的密钥进行加密,以产生一系列对应的加密数据。随后,该随机密钥通过用户的密码进行加密,得到一个密码校验串。所有源自同一视频数据集的加密视频数据,连同对应的密码校验串,共同构成一个加密文件,确保了尽管多个加密文件可能关联到同一个用户密码,但每个文件的加密数据都依赖于其独特的随机密钥。由于每个加密文件的第一密码校验串都是不同的,即使一个加密文件的第一密码校验串被暴力破解得到此加密文件的随机密钥之后,每个加密文件所对应的随机密钥均不同,所以无法使用破解出的随机密钥对所有的加密文件的加密数据进行解密,只能再逐一破解其他加密文件的第一密码校验串得到对应的随机密钥,从而进一步增强SD卡或NVR中视频数据的安全性。
现有技术在用户需要更改密码时,必须先使用旧密码解密所有加密单元,然后再用新密码对所有加密单元重新加密,才能完成更新,这个过程既缓慢又低效。为了提高用户更改密码时,加密文件的更新效率,图4示出了本申请实施例提供的用户密码更换后更新加密文件的方法的流程示意图。如图4所示,该方法包括以下步骤:
S310,获取密码修改指令以及新的用户密码。
用户在终端设备2上输入新密码和旧密码以更改其账户密码。为了保障用户密码在传输过程的安全性,终端设备2可以在接受到用户输入的新密码和旧密码后,对密码进行加密,而后再将密码传输给视频监控设备1。
用户的账户权限包括查看和修改。具有查看权限的用户能够访问加密文件并解密出其中的GOP进行播放。而具有修改权限的用户则能够更改存储在配置文件中的当前用户密码。
为了确保操作的安全性,修改密码的权限需要经过验证。这一验证过程可以由终端设备2执行,通过比较用户输入的旧密码与配置文件中记录的密码是否匹配来完成。此外,也可以利用视频监控设备1进行验证。
一旦验证用户输入的旧密码正确,并且新密码满足安全策略的要求,终端设备2或视频监控设备1将授予用户修改密码的权限,并生成相应的密码修改指令,以有效保护加密数据的安全,防止未经授权的密码更改行为。
为了避免用户忘记密码的情况,在一种优选的方式中,在用户首次输入用户密码时要求同时设置密码提示信息。视频监控设备1从终端设备2接收用户密码及密码提示信息,并将用户密码和密码提示信息存储于配置文件中。若在验证旧密码时失败时,视频监控设备1可以将配置文件中的密码提示信息发送至终端设备2,辅助用户重置密码。
S320,响应于密码修改指令,从配置文件中读取当前用户密码。
视频监控设备1在接收到密码修改指令后,首先会从配置文件中检索并读取当前用户密码,以通过旧的密码解密生成的加密文件。
S330,通过当前用户密码对第一密码校验串进行解密,得到随机密钥。
视频监控设备1从多个加密文件中读取各自的第一密钥校验串,并对每个第一密钥校验串执行解密操作,以恢复出原始的随机密钥。鉴于加密文件内的加密数据是由通过随机密钥加密的,当用户修改密码时,视频监控设备1仅需使用新的用户密码对随机密钥进行再加密,以生成新的密码校验串。视频监控设备1通过执行S330便足以更新加密文件,而无需对加密数据本身执行完整的重新加密过程,从而优化了用户密码更新的效率,避免了重复加密数据的计算开销。
若随机密钥的加密是利用对称加密算法,例如,使用AES算法来对随机密钥进行加密,那么在解密过程中,视频监控设备1会采用当前用户密码作为密钥,通过AES算法对每个第一密码校验串进行逆向操作,从而准确地还原出最初用于加密GOP的随机密钥。采用对称加密算法可以使得视频监控设备1在有限的硬件资源条件下高效运行,同时保持对大量加密数据的长期存储能力。
S340,将配置文件中的当前用户密码替换为新的用户密码。
在完成所有第一密码校验串的解密操作后,配置文件中原有的用户密码随即失效。视频监控设备1随后采用新设定的用户密码对随机密钥进行再次加密,以此更新加密文件。更新完成后,用户仅能通过新用户密码对加密文件中的加密数据进行访问,原有用户密码将无法进行访问,以确保访问视频数据的安全性。
S350,从视频监控设备1的配置文件中读取新的用户密码。
视频监控设备1采用用户密码对随机密钥进行加密。用户密码均由设备从其配置文件中读取,进而确保了加密过程的安全性和密钥管理的一致性。
S360,通过新的用户密码对随机密钥进行加密,得到第二密码校验串。
S360与S170类似,S360的执行可参照S170,在此不再赘述。
S370,将加密文件中的第一密码校验串替换为第二密码校验串,完成对已生成的加密文件的重新加密。
本申请实施例通过用户密码加密随机密码,以避免直接使用用户密码对GOP进行加密,使得在用户更改密码时,只需重新使用新密码加密随机密码,而不需要对整个文件重新加密,由于随机密码的数据量远小于整个加密文件,因此更新过程的效率会被显著提高。
为了进一步提高加密的安全性,可以考虑延长加密算法的链条长度,以增加破解难度,从而提高加密数据的安全性。在一种优选的方式中,S130包括以下子步骤:
S131,生成随机密钥。
在一种可选的方式中,视频监控设备1使用加密安全的伪随机数生成器(CSPRNG)生成随机密钥,用于对视频数据进行加密。
S133,通过第一加密算法对随机密钥加密,得到第一密钥哈希值。
在加密视频数据之前,视频监控设备1首先应用第一加密算法对随机密钥进行哈希处理,生成一个哈希值。随后,利用这个哈希值作为密钥,通过第二加密算法对视频数据本身进行加密。这样的双重加密流程大幅增加了未经授权者破解加密数据的难度,确保了数据的安全性,即使在没有用户密码的情况下也难以还原加密数据。
S135,根据第一密钥哈希值通过第二加密算法分别对多个视频数据进行加密,得到多个加密数据。
在一种优选的方式中,可以将第一加密算法和第二加密算法配合使用。例如,首先利用SHA-256哈希函数对生成的随机密钥进行处理,生成一个256位的第一密钥哈希值,随后,使用这个哈希值作为AES算法的密钥来加密视频数据。SHA-256哈希函数的作用是将随机密钥转换成适合AES-CFB-128模式所需的128位密钥长度,同时确保了密钥的安全性。其中,SHA-256是一种确定性的哈希算法,能够将任意长度的输入数据映射为一个固定长度的哈希值,且几乎不可能从哈希值反推出原始数据,从而为密钥提供了强大的保护;AES-CFB-128是AES加密算法的一种模式,它需要128位的密钥和一个128位的初始化向量,适合于大量数据的加密,因为它可以逐块处理数据,而不必一次性加密整个数据集。这种加密方式能延长通过随机密码加密视频数据的加密链条,从而有效保障视频数据的安全。
S170包括子步骤:S171,根据用户密码通过第二加密算法对第一密钥哈希值进行加密,得到第一密码校验串。
在一种优选的方式中,可以先利用SHA-256哈希函数对读取的用户密码进行处理,生成一个256位的用户密码哈希值,随后,使用用户密码哈希值作为AES算法的密钥来加密第一密钥哈希值。
本申请实施例通过先对随机密钥进行哈希处理,而后使用随机密钥的哈希值参与加密,可以进一步延长加密链条的长度,从而增加破解加密数据的难度,有效提高加密数据的安全性。
为了更进一步延长加密过程的加密链条,在一种可选的方式中,在S135之前,视频数据加密方法还包括:
S134a,生成随机值。
其中,随机值与随机密码的生成方式类似,因此,随机值的生成方式可以参考随机密码的生成方式,在此不再赘述。
S135包括如下子步骤:
S135a,根据随机值通过第三加密算法对第一密钥哈希值加密,得到第二密钥哈希值。
在一种优选的方式中,使用PBKDF2算法作为第三加密算法来增强第一密钥哈希值的安全性。其中,PBKDF2(Password-Based Key Derivation Function2)是一种基于密码的密钥派生函数,它通过随机盐值(也就是,S134a的随机值)对第一密钥哈希值进行多次迭代来生成第二密钥哈希值。这种迭代过程大大增加了暴力破解的难度,从而显著提升了密钥的安全性和抗攻击能力。
S135b,根据第二密钥哈希值通过第二加密算法分别对多个视频数据进行加密,得到多个加密数据。
S171包括以下子步骤:
S171a,根据随机值通过第三加密算法对当前用户密码加密,得到密码哈希值。
S171b,根据密码哈希值通过第二加密算法对第一密钥哈希值进行加密,得到第一密码校验串。
与S134b类似地,还可以根据随机值通过第三加密算法对用户密码加密,得到密码哈希值,并根据密码哈希值通过第二加密算法对第一密钥哈希值进行加密,得到第一密码校验串,以进一步提高密码校验串的破解难度。
S190包括子步骤:S191,根据随机值、第一密码校验串和多个加密数据生成加密文件。
在解密过程中,为了将第一密码校验串还原为原始随机密钥,必须使用加密时相同的随机值。同样,使用随机密钥解密视频数据也需要随机值。因此,为了确保解密过程能够顺利进行,随机值、第一密码校验串和所有加密的视频数据会被一起打包成加密文件。
本申请实施例通过第二加密算法对用户密码的哈希值以及随机密钥的哈希值再进行迭代,从而延长加密过程的加密链,以进一步提高加密数据的安全性。
根据本申请实施例的另一方面,提供了一种视频数据解密方法,请参阅图5a,图5a示出了本申请实施例提供的视频数据解密方法的流程示意图。该方法由视频监控设备1执行。其中,视频监控设备1可以是监控摄像机,也可以是NVR。如图5a所示,该方法包括以下步骤:
S410,获取输入密码,其中,输入密码为从视频监控设备1的配置文件中读取的用户密码,或,输入密码为从终端设备2获取的用户密码。
在接收到终端设备2的解密指令后,视频监控设备1可以通过两种优选的方式获取用于解密的用户密码:一是从自身的配置文件中读取,二是直接从终端设备2接收。如果终端设备2上输入的密码与配置文件中的密码相匹配,视频监控设备1将使用终端设备2上输入的密码进行解密;另一方面,如果终端设备2上的密码仅用于验证用户权限,视频监控设备1在确认用户有权查看后,将从配置文件中提取密码以解密加密数据。通过提供灵活的解密方式,视频监控设备1可以更好地适应不同的用户账号权限设置。
S430,根据输入密码对待解密文件的第一密码校验串进行解密,得到待解密文件的随机密钥,其中,待解密文件为视频监控设备1通过上述任一实施例所述的视频数据加密方法得到的加密文件。
视频监控设备1上存有多个通过上述视频数据加密方法得到的加密文件。当加密文件包括时段信息时,用户可以在终端设备2上输入密码并指定想要查看的加密数据,视频监控设备1将与用户指令对应的加密文件作为待解密文件,并对待解密文件进行解密。如果用户没有特别指定,视频监控设备1默认对所有的加密文件进行解密,以便用户能够播放所有GOP;如果用户指定了想要播放特定时段信息的GOP,视频监控设备1将根据终端设备2发送的查看时段,从加密文件中筛选出对应时段的数据,视频监控设备1会将与指定的播放时间相匹配的加密文件标记为待解密文件,并仅对这些文件执行解密操作,从而满足用户的特定播放需求。例如,视频监控设备1中存有10:00-14:00四个小时的加密文件,四个加密文件分别对应10:00-11:00、11:00-12:00、12:00-13:00、13:00-14:00时段,若用户输入10:30的查看时段,则将10:00-11:00时段的加密文件作为待解密文件;若用户指定了10:00-12:30的查看时段,则将10:00-11:00时段的加密文件和11:00-12:00时段的加密文件作为待解密文件。
进一步地,在加密文件包括时段信息的情况下,为了减少用户对解密过程的等待时间,可以根据用户输入的查看时段确认待解密文件中的待解密数据,并仅对待解密数据执行解密操作。在一种优选的方式中,根据加密数据的时段信息,从一个待解密文件的多个加密数据中查找包含第一查找时刻的第一加密数据,以及包含第二查找时刻的第二加密数据,其中,第一查找时刻为查看时段的最小时刻,第二查找时刻为查看时段的最大时刻;将时段信息位于第一加密数据和第二加密数据的时段信息之间的加密数据、第一加密数据以及第二加密数据确定为与查看时段对应的待解密数据。例如,用户请求播放从00:03:00到00:08:00的监控视频片段,视频监控设备1将00:00:00到00:10:00时段的加密文件作为待解密文件,待解密文件包括时段信息从00:00:00到00:02:30的第一加密数据(数据单元1),时段信息从00:02:30到00:05:00的第二加密数据(数据单元2),时段信息从00:05:00到00:07:30的第三加密数据(数据单元3)以及时段信息从00:07:30到00:10:00的第四加密数据(数据单元4)。现在,用户请求播放从00:03:00到00:08:00的监控视频片段。根据用户输入的查看时段,需要找到待解密文件中包含这一时间段的待解密数据。用户请求的播放时间的最小时刻,即第一查找时刻,为00:03:00,包含00:03:00的加密数据为数据单元2;用户请求的播放时间的最大时刻,即第二查找时刻,为00:08:00,包含00:08:00的加密数据为数据单元4,而数据单元2与数据单元4之间包括有数据单元3,因此,将数据单元2、数据单元3以及数据单元4作为待解密数据。通过仅对待解密数据执行解密操作,而不是对整个文件进行解密,可以进一步减少用户的等待时间,并提高解密过程的效率。
若在加密时,执行S171a~S171b对随机密码进行加密,则在解密时,与之对应的,根据待解密文件的随机值通过第三加密算法对输入密码进行加密,得到与待解密文件对应的密码哈希值,根据密码哈希值通过第二解密算法对待解密文件的第一密码校验串进行解密,得到待解密文件的第一密钥哈希值。
S450,根据随机密钥对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据。
其中,根据随机密钥对待解密文件中的多个加密数据进行解密的解密算法可以选用与加密算法对应的算法,例如,加密时选用AES算法,则在解密时同样使用AES算法进行解密。
若在加密时,执行S135a对视频数据进行加密,则在解密时,与之对应的,根据S430解出的待解密文件的第二密钥哈希值,通过第二解密算法对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据。
S470,将解密完成的视频数据发送给终端设备2。
将解密完成的视频数据发送给终端设备2,终端设备2根据GOP的关键帧对GOP进行解码并播放给用户。
在视频数据的解密与播放的流程中,加密单元的选取对解密效率及用户体验产生显著影响。选择GOP作为加密单元时,解密操作同样也会以GOP为解密的基本单位,以使得解密完成后,视频监控设备1能够迅速将解密后的GOP传输至终端设备2,以便用户能够即刻开始播放;若将多个GOP作为一个加密单元,将导致用户在解密完成前需经历较长的等待时间,因为解密过程必须完成整个加密单元的解密后,用户才能接收并播放视频内容;另一方面,若选取单帧图像作为加密单元,虽然能够实现更为精细的解密控制,但这种做法会增加视频监控设备1的计算负担,由于终端设备2在解码GOP时需要依赖关键帧,视频监控设备1必须额外搜索多帧作为待解密数据以确保关键帧的可用性,从而不可避免地延长了用户等待解密的时间。因此,以GOP为加密单元能够优化解密过程,减少用户的等待时间,同时确保视频数据的安全性和播放的流畅性。
本申请实施例以GOP为加密单元,使得解密时可以将包含多帧连续图像的GOP作为解密单元,以使得解密时,可以仅解密用户需要的那部分数据,从而提高解密效率。
根据本申请实施例的另一方面,提供了一种视频数据解密方法,请参阅图5b,图5b示出了本申请另一实施例提供的视频数据解密方法的流程示意图。该方法由终端设备2执行。如图5b所示,该方法包括以下步骤:
S420,获取输入密码。
终端设备2可以通过物理键盘接收用户输入的密码,也可以通过触摸屏键盘收集密码信息。此外,若终端设备2支持通过近场通信(NFC)或蓝牙技术接收密码,则终端设备2还能够接受来自远程连接的密码输入,如SSH、VPN或远程桌面连接。用户还可以通过扫描二维码或条形码来输入密码,或者使用智能卡、USB令牌等安全令牌。在某些情况下,终端设备2能够通过应用或服务推送接收密码。这些多样的输入方式确保了用户在不同环境和条件下都能方便且安全地访问视频数据。
S440,从视频监控设备1获取待解密文件,其中,待解密文件为视频监控设备1通过上述任一实施例所述的视频数据加密方法得到的加密文件。
终端设备2与视频监控设备1建立通信连接,并从视频监控设备1上获取待解密文件。在一种可选的方式中,终端设备2从视频监控设备1上获取所有的加密文件,若用户未指定想要查看的加密数据,则终端设备2解密所有的加密文件,若用户指定了想要查看的加密数据,则终端设备2根据用户指定的查看时段从加密文件中筛选出对应的加密文件作为待解密文件,其具体执行可参照S430中视频监控设备1筛选待解密文件的执行过程。在另一种可选的方式中,若用户未指定,则终端设备2从视频监控设备1上获取所有的加密文件,并对获取的所有加密文件进行解密;若用户指定了想要播放特定时段信息的GOP,终端设备2将用户的查看时段发送给视频监控设备1,以获取与查看时段对应的加密文件并将其作为待解密文件进行解密,从而降低终端设备2与视频监控设备1的传输压力,优化了数据传输效率,加快了用户对所需视频内容的访问速度。
S460,根据输入密码对待解密文件的第一密码校验串进行解密,得到待解密文件的随机密钥。
S480,根据随机密钥对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据。
其中,S460~S480的解密过程可参照S470~S490的解密过程,在此不再赘述。
本申请实施例通过终端设备2对加密数据进行解密,可以降低视频监控设备1的运行压力,从而提高视频数据的解压效率。
根据本申请实施例的另一方面,提供一种视频数据加密装置,图6示出了本申请实施例提供的视频数据加密装置的结构示意图。如图6所示,该装置500包括:第一读取模块510、第一加密模块520、第二读取模块530、第二加密模块540和生成模块550。
第一读取模块510用于从视频监控设备的内存中读取多个视频数据,其中,一个视频数据为包含多帧连续的图像。
第一加密模块520用于生成随机密钥,并通过随机密钥分别对多个视频数据进行加密,得到多个加密数据,其中,加密数据与视频数据一一对应。
第二读取模块530用于从视频监控设备的配置文件中读取当前用户密码。
第二加密模块540用于通过当前用户密码对随机密钥进行加密,得到第一密码校验串。
生成模块550用于根据第一密码校验串和多个加密数据生成加密文件。
本申请实施例的视频数据加密装置500还包括其他用于执行上述视频数据加密方法实施例的各步骤的各个模块,此处不再一一赘述。
根据本申请实施例的另一方面,提供一种视频数据解密装置,图7a示出了本申请实施例提供的视频数据解密装置的结构示意图。如图7a所示,该装置610包括:第一获取模块611、第一解密模块612、第二解密模块613和发送模块614。
第一获取模块611用于获取输入密码,其中,所述输入密码为从所述视频监控设备的配置文件中读取的用户密码,或,所述输入密码为从终端设备获取的用户密码。
第一解密模块612用于根据所述输入密码对待解密文件的第一密码校验串进行解密,得到所述待解密文件的随机密钥,其中,所述待解密文件为所述视频监控设备通过上述任一实施例所述的视频数据加密方法得到的加密文件;
第二解密模块613用于根据所述随机密钥对所述待解密文件中的多个加密数据进行解密,得到所述待解密文件的多个视频数据。
发送模块614用于将解密完成的视频数据发送给终端设备。
本申请实施例的视频数据解密装置610还包括其他用于执行上述视频数据解密方法实施例的各步骤的各个模块,此处不再一一赘述。
根据本申请实施例的另一方面,提供一种视频数据解密装置,图7b示出了本申请另一实施例提供的视频数据解密装置的结构示意图。如图7b所示,该装置620包括:第二获取模块621、第三获取模块622、第三解密模块623和第四解密模块624。
第二获取模块621用于获取输入密码。
第三获取模块622用于从视频监控设备获取待解密文件,其中,待解密文件为视频监控设备通过上述任一实施例所述的视频数据加密方法得到的加密文件。
第三解密模块623用于根据输入密码对待解密文件的第一密码校验串进行解密,得到待解密文件的随机密钥。
第四解密模块624用于根据随机密钥对待解密文件中的多个加密数据进行解密,得到待解密文件的多个视频数据。
本申请实施例的视频数据解密装置620还包括其他用于执行上述视频数据解密方法实施例的各步骤的各个模块,此处不再一一赘述。
图8示出了本申请实施例提供的电子设备的结构示意图,该电子设备可以是视频监控设备或终端设备。
如图8所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。处理器702,用于执行程序710,具体可以执行上述用于视频数据解密方法实施例中的相关步骤,或执行上述用于视频数据解密方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机可执行指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存储程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
本申请实施例提供了一种计算机可读存储介质,所述存储介质存储有可执行指令,该可执行指令在视频监控设备上运行时,使得所述视频监控设备执行上述任意方法实施例中的视频数据加解密方法。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有可执行指令,该可执行指令在终端设备上运行时,使得所述终端设备执行上述任意方法实施例中的视频数据解密方法。
本申请实施例提供了一种计算机程序,所述计算机程序可被处理器调用使视频监控设备执行上述任意方法实施例中的视频数据加解密方法。
本申请实施例提供了一种计算机程序,所述计算机程序可被处理器调用使终端设备执行上述任意方法实施例中的视频数据解密方法。
本申请实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的视频数据加解密方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (13)
1.一种视频数据加密方法,应用于视频监控设备,其特征在于,所述方法包括:
从所述视频监控设备的内存中读取多个视频数据,其中,一个视频数据为包含多帧连续的图像;
生成随机密钥,并通过所述随机密钥分别对多个所述视频数据进行加密,得到多个加密数据,其中,所述加密数据与所述视频数据一一对应;
从所述视频监控设备的配置文件中读取当前用户密码;
通过所述当前用户密码对所述随机密钥进行加密,得到第一密码校验串;
根据所述第一密码校验串和多个所述加密数据生成加密文件。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取密码修改指令以及新的用户密码;
响应于所述密码修改指令,从所述配置文件中读取所述当前用户密码;
通过所述当前用户密码对所述第一密码校验串进行解密,得到所述随机密钥;
将所述配置文件中的所述当前用户密码替换为所述新的用户密码;
从所述视频监控设备的配置文件中读取所述新的用户密码;
通过所述新的用户密码对所述随机密钥进行加密,得到第二密码校验串;
将所述加密文件中的所述第一密码校验串替换为所述第二密码校验串,完成对已生成的所述加密文件的重新加密。
3.根据权利要求1所述的方法,其特征在于,所述从所述视频监控设备的内存中读取多个视频数据,包括:
从所述视频监控设备的内存中读取多个视频数据集,其中,每个视频数据集包括多个所述视频数据;
所述生成随机密钥,并通过所述随机密钥分别对多个所述视频数据进行加密,得到多个加密数据,包括:
生成多个不同的随机密钥,并通过每个随机密钥分别对一个视频数据集中的多个视频数据进行加密,得到多个加密数据集,其中,每个所述加密数据集包括多个所述加密数据,且所述加密数据集与所述随机密钥一一对应;
所述通过所述当前用户密码对所述随机密钥进行加密,得到第一密码校验串,包括:
通过所述当前用户密码分别对多个不同的所述随机密钥进行加密,得到多个不同的所述第一密码校验串,其中,所述第一密码校验串与所述随机密钥一一对应;
所述根据所述第一密码校验串和多个所述加密数据生成加密文件,包括:
根据对应于同一个随机密钥的所述第一密码校验串和所述加密数据集生成所述加密文件,得到与多个不同的所述随机密钥一一对应的多个所述加密文件。
4.根据权利要求1所述的方法,其特征在于,所述视频数据包括从起始帧图像对应的时刻至截止帧图像对应的时刻所形成的时段信息,多个所述视频数据的时段信息相连续,所述加密数据具有与对应的视频数据相同的时段信息;
所述从所述视频监控设备的内存中读取多个视频数据,包括:
根据视频数据的时段信息,从所述视频监控设备的内存中读取第一时刻至第二时刻的时段内的多个视频数据,其中,所述第一时刻和所述第二时刻为预设的时段信息,和/或,所述第一时刻为首次检测到目标物的时刻,所述第二时刻为最后一次检测到目标物的时刻;
在所述根据所述第一密码校验串和多个所述加密数据生成加密文件之前,所述方法还包括:
根据多个所述加密数据的时段信息,确定加密文件的时段信息;
所述根据所述第一密码校验串和多个所述加密数据生成加密文件,还包括:
根据所述加密文件的时段信息、所述第一密码校验串和多个所述加密数据生成所述加密文件。
5.根据权利要求1所述的方法,其特征在于,所述生成随机密钥,并通过所述随机密钥分别对多个所述视频数据进行加密,得到多个加密数据,包括:
生成随机密钥;
通过第一加密算法对所述随机密钥加密,得到第一密钥哈希值;
根据所述第一密钥哈希值通过第二加密算法分别对多个所述视频数据进行加密,得到多个加密数据;
所述通过所述当前用户密码对所述随机密钥进行加密,得到第一密码校验串,包括:
根据所述当前用户密码通过所述第二加密算法对所述第一密钥哈希值进行加密,得到第一密码校验串。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述第一密钥哈希值通过第二加密算法分别对多个所述视频数据进行加密,得到多个加密数据之前,所述方法还包括:
生成随机值;
所述根据所述第一密钥哈希值通过第二加密算法分别对多个所述视频数据进行加密,得到多个加密数据,包括:
根据所述随机值通过第三加密算法对所述第一密钥哈希值加密,得到第二密钥哈希值;
根据所述第二密钥哈希值通过第二加密算法分别对多个所述视频数据进行加密,得到多个加密数据;
所述根据所述当前用户密码通过所述第二加密算法对所述第一密钥哈希值进行加密,得到第一密码校验串,包括:
根据所述随机值通过所述第三加密算法对所述当前用户密码加密,得到密码哈希值;
根据所述密码哈希值通过所述第二加密算法对所述第一密钥哈希值进行加密,得到第一密码校验串;
所述根据所述第一密码校验串和多个所述加密数据生成加密文件,还包括:
根据所述随机值、所述第一密码校验串和多个所述加密数据生成加密文件。
7.根据权利要求1~6任一项所述的方法,其特征在于,所述视频监控设备的配置文件中存储的用户密码为经过所述视频监控设备加密的用户密码。
8.一种视频数据解密方法,其特征在于,应用于视频监控设备,所述方法包括:
获取输入密码,其中,所述输入密码为从所述视频监控设备的配置文件中读取的用户密码,或,所述输入密码为从终端设备获取的用户密码;
根据所述输入密码对待解密文件的第一密码校验串进行解密,得到所述待解密文件的随机密钥,其中,所述待解密文件为所述视频监控设备通过权利要求1~7中任一项所述的视频数据加密方法得到的加密文件;
根据所述随机密钥对所述待解密文件中的多个加密数据进行解密,得到所述待解密文件的多个视频数据;
将解密完成的视频数据发送给终端设备。
9.根据权利要求8所述的方法,其特征在于,所述加密文件还包括时段信息;在所述根据所述输入密码对待解密文件的第一密码校验串进行解密,得到所述待解密文件的随机密钥之前,所述方法还包括:
从终端设备获取查看时段;
根据加密文件的时段信息,从所述视频监控设备的加密文件中确定与所述查看时段对应的加密文件,并将与所述查看时段对应的加密文件确定为所述待解密文件。
10.根据权利要求9所述的方法,其特征在于,每个视频数据均包括关键帧,所述关键帧为所述视频数据中标记有解码起始位置的图像;
在所述根据所述随机密钥对所述待解密文件中的多个加密数据进行解密,得到所述待解密文件的多个视频数据之前,所述方法还包括:
根据所述加密数据的时段信息,从一个待解密文件的多个加密数据中查找包含所述查看时段中最小时刻的第一加密数据,以及包含所述查看时段中最大时刻的第二加密数据;
将所述第一加密数据、所述第二加密数据以及时段信息位于所述第一加密数据和所述第二加密数据之间的加密数据确定为与所述查看时段对应的待解密数据;
所述根据所述随机密钥对所述待解密文件中的多个加密数据进行解密,得到所述待解密文件的多个视频数据,包括:
根据所述随机密钥对所述待解密文件中的待解密数据进行解密,得到所述待解密文件中对应于所述待解密数据的视频数据。
11.一种视频数据解密方法,其特征在于,应用于终端设备,所述方法包括:
获取输入密码;
从所述视频监控设备获取待解密文件,其中,所述待解密文件为所述视频监控设备通过权利要求1~7中任一项所述的视频数据加密方法得到的加密文件;
根据所述输入密码对所述待解密文件的第一密码校验串进行解密,得到所述待解密文件的随机密钥;
根据所述随机密钥对所述待解密文件中的多个加密数据进行解密,得到所述待解密文件的多个视频数据。
12.一种计算设备,其特征在于,
所述计算设备为视频监控设备,所述视频监控设备包括:处理器和存储器,所述存储器中存储有可执行指令,所述处理器能执行所述可执行指令以实现如权利要求1~10任意一项所述的方法;或,
所述计算设备为终端设备,所述终端设备包括处理器和存储器,所述存储器中存储有可执行指令,所述处理器能执行所述可执行指令以实现如权利要求11所述的方法。
13.一种计算机可读存储介质,其特征在于,
所述存储介质中存储有可执行指令,所述可执行指令在视频监控设备上运行时,使得所述视频监控设备执行如权利要求1~10任意一项所述的方法;或,
所述存储介质中存储有可执行指令,所述可执行指令在终端设备上运行时,使得所述终端设备执行如权利要求11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410420223.7A CN118158343A (zh) | 2024-04-09 | 2024-04-09 | 视频数据加解密方法、计算设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410420223.7A CN118158343A (zh) | 2024-04-09 | 2024-04-09 | 视频数据加解密方法、计算设备以及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118158343A true CN118158343A (zh) | 2024-06-07 |
Family
ID=91293725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410420223.7A Pending CN118158343A (zh) | 2024-04-09 | 2024-04-09 | 视频数据加解密方法、计算设备以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118158343A (zh) |
-
2024
- 2024-04-09 CN CN202410420223.7A patent/CN118158343A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3195555B1 (en) | Secure key management for roaming protected content | |
US10567708B2 (en) | Surveillance server, method of processing data of surveillance server, and surveillance system | |
EP3598714A1 (en) | Method, device, and system for encrypting secret key | |
KR101103403B1 (ko) | 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법 | |
KR101837188B1 (ko) | 비디오 보호 시스템 | |
CN110708291B (zh) | 分布式网络中数据授权访问方法、装置、介质及电子设备 | |
CN114417073B (zh) | 一种加密图的邻居节点查询方法及装置、电子设备 | |
CN112685753B (zh) | 一种用于加密数据存储的方法及设备 | |
US20180123789A1 (en) | Apparatus and method for generating a key in a programmable hardware module | |
KR101479290B1 (ko) | 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치 | |
KR102038963B1 (ko) | 오브젝트 특성에 따라 적응적으로 화면 정보 데이터를 보호하는 방법 및 장치 | |
US9031239B2 (en) | Information processing apparatus, information processing method, and computer readable storage medium | |
US9697372B2 (en) | Methods and apparatuses for securing tethered data | |
KR101485968B1 (ko) | 암호화된 파일 접근 방법 | |
US9038194B2 (en) | Client-side encryption in a distributed environment | |
KR102193711B1 (ko) | 단말장치 및 컴퓨터프로그램 | |
JP6175807B2 (ja) | 情報処理装置、プログラム | |
CN118158343A (zh) | 视频数据加解密方法、计算设备以及计算机可读存储介质 | |
KR20230139647A (ko) | 데이터 암호화 및 복호화 시스템, 방법 | |
JP6381861B2 (ja) | 登録先決定装置、登録装置、秘匿検索システム、登録先決定方法及び登録先決定プログラム | |
Ahuja et al. | Dual layer secured password manager using Blowfish and LSB | |
CN111698534B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
US20240072994A1 (en) | Unikernels for private/public key distribution | |
JP7371849B2 (ja) | ネットワークシステム、配信サーバ、配信方法、配信プログラム | |
US9560022B1 (en) | Avoiding collection of biometric data without consent |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |