一种网络摄像机、视频加密传输系统及视频加密方法

文档序号:1697064 发布日期:2019-12-10 浏览:33次 >En<

阅读说明:本技术 一种网络摄像机、视频加密传输系统及视频加密方法 (Network camera, video encryption transmission system and video encryption method ) 是由 陈仙超 朱晓鸣 于 2018-05-31 设计创作,主要内容包括:本发明实施例提供了一种网络摄像机、视频加密传输系统及视频加密方法。网络摄像机包括:应用处理器,用于通过加密通道,将AES密钥发送至智能芯片;并通过传输通道,将原始视频数据发送至网络摄像机智能芯片;网络摄像机智能芯片,用于利用网络摄像机AES密钥加密网络摄像机原始视频数据,得到加密视频数据;并通过网络摄像机加密通道,将网络摄像机加密视频数据发送至网络摄像机应用处理器;交换模块,用于提供网络摄像机加密通道和网络摄像机传输通道,以实现网络摄像机应用处理器与网络摄像机智能芯片之间的数据通信。可以通过调用智能芯片强大的计算能力,在不增加硬件成本的情况下,实现了视频数据的实时加密,降低了因视频加密带来的延时。(the embodiment of the invention provides a network camera, a video encryption transmission system and a video encryption method. The network camera includes: the application processor is used for sending the AES key to the intelligent chip through the encryption channel; original video data are sent to the intelligent chip of the network camera through a transmission channel; the network camera intelligent chip is used for encrypting the original video data of the network camera by using an AES key of the network camera to obtain encrypted video data; sending the encrypted video data of the network camera to the application processor of the network camera through the encryption channel of the network camera; and the switching module is used for providing a network camera encryption channel and a network camera transmission channel so as to realize data communication between the network camera application processor and the network camera intelligent chip. The real-time encryption of the video data can be realized by calling the strong computing power of the intelligent chip under the condition of not increasing the hardware cost, and the time delay caused by the video encryption is reduced.)

一种网络摄像机、视频加密传输系统及视频加密方法

技术领域

本发明涉及嵌入式软件系统技术领域,特别是涉及一种网络摄像机、视频加密传输系统及视频加密方法。

背景技术

网络摄像机(Internet Protocol Camera,简称IPC)可以将采集到的视频数据发送至远程音视频客户端(以下简称客户端),以供用户预览。为了提高视频数据在网络摄像机和客户端之间传输的安全性,可以由网络摄像机对采集得到的视频数据进行加密,再将加密后的视频数据发送至客户端。

现有技术中,可以是由网络摄像机的应用处理器(Application ProcessingUnit,简称APU),基于本地的操作系统,在完成音视频采集,得到原始视频数据后,对原始视频数据进行加密处理,得到加密视频数据。但是,由于网络摄像机的APU运算能力有限,并且网络摄像机的APU需要负担网络摄像机中大部分软件在运行时产生的运算任务,因此完成原始视频的加密可能会花费较多时间,难以实现视频数据的实时加密,导致用户预览到的视频存在延时。

发明内容

本发明实施例的目的在于提供一种网络摄像机,以实现视频数据的实时加密,降低因视频加密带来的延时。具体技术方案如下:

在本发明实施例的第一方面,提供了一种网络摄像机,所述网络摄像机包括:

应用处理器,用于通过加密通道,将AES密钥发送至智能芯片;并通过传输通道,将原始视频数据发送至所述智能芯片;

所述智能芯片,用于利用所述AES密钥加密所述原始视频数据,得到加密视频数据;并通过所述加密通道,将所述加密视频数据发送至所述应用处理器;

交换模块,用于提供所述加密通道和所述传输通道,以实现所述应用处理器与所述智能芯片之间的数据通信。

结合第一方面,在第一种可能的实现方式中,所述应用处用理器,还用于在所述通过加密通道,将AES密钥发送至智能芯片之前,生成AES密钥;

利用与客户端对应的约定密钥,加密所述AES密钥,得到密钥密文;

将所述密钥密文发送至所述客户端。

结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述应用处理器还用于在所述生成AES密钥之前,获取客户端发送的约定密钥,所述约定密钥为所述客户端生成的RSA公私密钥对中的公钥。

结合第一方面,在第三种可能的实现方式中,所述应用处理器具体用于获取客户端发送的密钥长度信息;

生成长度与所述密钥长度信息所表示的长度相等的AES密钥。

结合第一方面,在第四种可能的实现方式中,所述原始视频数据包括N路原始视频子数据,所述加密通道包括N个加密子通道,所述传输通道,包括N个传输子通道,N为大于1的正整数;

所述应用处理器,具体用于通过所述N个加密子通道,将所述N路视频子数据对应的N个AES密钥,发送至智能芯片,其中,每个加密子通道用于传输与该加密子通道对应的AES密钥;并通过所述N个传输子通道,将所述N路原始视频子数据发送至所述智能芯片,其中,每个传输子通道用于传输与该传输子通道对应的原始视频子数据;

所述智能芯片,具体用于分别利用所述N个AES密钥,加密所述N路原始视频子数据,得到N路加密视频子数据,作为加密视频数据;并通过所述N个加密子通道,将所述N路加密视频子数据发送至所述应用处理器,其中,每个AES密钥用于加密该AES密钥所对应的原始视频子数据,每个加密子通道用于传输利用该加密子通道对应的AES密钥加密得到的加密视频子数据。

结合第一方面,在第五种可能的实现方式中,智能芯片具体用于利用所述AES密钥,加密所述原始数据中所有数据单元,得到加密视频数据。

在本发明实施例的第二方面,提供了一种视频加密传输系统,所述系统包括:

如上述第一方面中任一所述的网络摄像机,用于向客户端发送加密视频数据,所述加密视频数据为所述网络摄像机利用AES密钥加密原始视频数据得到的;

客户端利用预先存储于本地的所述AES密钥,解密所述加密视频数据,得到原始视频数据。

结合第二方面,在第一种可能的实现方式中,所述AES密钥通过以下方式预先存储于所述客户端本地:

所述客户端生成所述RSA公私密钥对,并将所述RSA公私密钥对中的公钥发送至所述网络摄像机;

所述网络摄像机将所述公钥作为与所述客户端对应的约定密钥;并生成AES密钥;利用所述约定密钥加密所述AES密钥,得到密钥密文;将所述密钥密文发送至所述客户端;

所述客户端利用所述RSA公私密钥对中的私钥解密所述密钥密文,得到所述AES密钥;并将所述AES密钥保存于本地。

结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述客户端,在所述生成RSA公私密钥对,并将所述RSA公私密钥对中的公钥发送至所述网络摄像机之前,还用于向所述网络摄像机发送加密预览请求和身份验证信息;

所述网络摄像机,还用于根据所述身份验证信息,确定所述客户端是否通过身份验证;如果确定所述客户端通过身份验证,则接受所述加密预览请求;如果确定所述客户端不通过身份验证,则拒绝所述加密预览请求;

所述客户端,具体用于如果所述网络摄像机接受所述加密预览请求,则执行所述生成RSA公私密钥对,并将所述RSA公私密钥对中的公钥发送至所述网络摄像机的步骤。

在本发明实施例的第三方方面,提供了一种视频加密方法,所述方法包括:

通过加密通道,获取应用处理器发送的AES密钥;

通过传输通道,获取所述应用处理器发送的原始视频数据;

利用所述AES密钥,加密所述原始视频数据,得到加密视频数据。

本发明实施例提供的一种网络摄像机、视频加密传输系统及视频加密方法,可以将原始视频数据发送至网络摄像机的智能芯片,通过调用网络摄像机的智能芯片的强大计算能力,缩短完成原始视频加密所需要的时间,在没有额外增加网络摄像机的硬件成本的情况下,实现了视频数据的实时加密,降低了因视频加密带来的延时。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的网络摄像机的一种结构示意图;

图2为本发明实施例提供的视频加密传输系统的一种结构示意图;

图3a为本发明实施例提供的AES密钥保存方法的一种流程示意图;

图3b为本发明实施例提供的AES密钥保存方法的另一种流程示意图;

图4为本发明实施例提供的视频加密方法的一种流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,图1所示为本发明实施例提供的网络摄像机的一种结构示意图,可以包括:应用处理器101、智能芯片102、交换模块103。

应用处理器101,用于通过加密通道L1,将AES(Advanced Encryption Standard高级加密标准)密钥发送至智能芯片;并通过传输通道L2,将原始视频数据发送至所述智能芯片102;

其中,应用处理器101可以是ARM(Advanced Reduced Instruction Set ComputerMachines,高级精简指令集架构)处理器,示例性的,可以为ARM架构的MPU(MicroProcessor Unit,微处理器)或CPU(Center Processor Unit,中央处理器),可以用于运行网络摄像机中的软件主业务,例如采集原始视频数据、对原始视频数据进行编码、封装等。智能芯片102在接收到AES密钥后,可以将该AES密钥保存至与加密通道L1对应的位置。原始视频数据可以是以NALU(Network Abstraction Layer Units,网络抽象层单元)序列的形式,通过传输通道L2发送至智能芯片的。

智能芯片102,用于利用该AES密钥加密原始视频数据,得到加密视频数据;并通过加密通道L1,将加密视频数据发送至应用处理器101。

其中,智能芯片102可以是整合有多颗CPU核心和多颗GPU的芯片,相较于应用处理器101具有更强大的图像运算能力。可以用于网络摄像机的深度学习和智能分析,例如可以用于执行人脸识别算法。交换模块103,用于提供加密通道L1和传输通道L2,以实现应用处理器101与智能芯片102之间的数据通信。

交换模块103,用于提供加密通道L1和传输通道L2,以实现应用处理器101与智能芯片102之间的数据通信。

其中,交换模块103可以是连接于应用处理器101与智能芯片102之间的通信总线,在一种优选的实施例中,交换模块103为网络交换模块,可以实现应用处理器101与智能芯片102之间的高速的网络数据通信。

选用该实施例,可以将原始视频数据发送至智能芯片102,通过调用智能芯片102的强大计算能力,缩短完成原始视频加密所需要的时间,在没有额外增加网络摄像机的硬件成本的情况下,实现了视频数据的实时加密,降低了因视频加密带来的延时。

进一步的,在一种可选的实施例中,应用处理器101还可以用于在通过加密通道L1,将AES密钥发送至智能芯片之前,生成AES密钥;利用与客户端对应的约定密钥,加密AES密钥,得到密钥密文;将密钥密文发送至客户端。

其中,客户端可以是位于移动终端,也可以是远程音视频服务器。客户端中应当存储有约定密钥或者与约定密钥对应的解密密钥,以使得客户端可以根据接收到的密钥密文,还原出AES密钥。应用处理器101在生成AES密钥时,可以是仅根据预设规则,动态地生成AES密钥,还可以是根据客户端发送的密钥长度信息,生成长度与该长度信息所表示的长度相等的AES密钥,示例性的,长度信息可以用于表示长度为128bit还是256bit,如果长度信息表示的长度为128bit,则应用处理器101动态生成128bit的AES密钥。

在一种优选的实施例中,约定密钥为客户端生成的RSA(Rivest Shamir Adleman,李维斯特·萨莫尔·阿德曼)公私密钥对中的公钥,客户端预先将生成的RSA公私密钥对中的公钥发送至网络摄像机,并在客户端本地保存RSA公私密钥对中的私钥。RSA公私密钥对,在只知道其中一个密钥的情况下,难以推导出另一个密钥,因此安全性相较于对称密钥更高,并且利用公钥加密得到密文,可以利用私钥进行解密还原得到明文,可以在保证保证信息安全的前提下,使得客户端能够准确地获取到应用处理器101所生成的AES密钥。

现有技术中,由于网络摄像机与客户端之间缺乏安全的通信方法,因此如果AES密钥是由网络摄像机生成的,客户端可能无法获取到该AES密钥,导致客户端无法解密从网络摄像机获取到的加密视频数据,因此网络摄像机通常使用事先约定的AES密钥对原始视频数据进行加密,但是这样改变AES密钥相对困难,而使用相对固定的AES密钥可能造成信息安全隐患。而选用该实施例,可以由应用处理器101动态生成AES密钥,避免使用相对固定的AES密钥可能造成的信息安全隐患,提高了网络摄像机的安全性。

进一步的,在一种可选的实施例中,原始视频数据包括N路原始视频子数据{D1,…,DN},加密通道L1包括N个加密子通道传输通道L2包括N个传输子通道N为大于1的正整数。

该实施例中,应用处理器101可以具体用于通过N个加密子通道将N路子视频数据{D1,…,DN}对应的N个AES密钥{K1,…,KN},发送至智能芯片102,其中,每个子视频数据对应于一个AES密钥,每个加密子通道用于传输与该加密子通道对应的AES密钥;并通过N个传输子通道将N路原始视频数据{D1,…,DN}发送至智能芯片102,其中,每个传输子通道用于传输与该传输子通道对应的原始视频数据。

智能芯片102,可以具体用于分别利用N个AES密钥{K1,…,KN},加密N路原始视频子数据{D1,…,DN},得到N路加密视频子数据{S1,…,SN},作为加密视频数据,其中Si为Di经过加密得到的,加密Di时所使用的AES密钥为与Di对应的AES密钥;并通过N个加密子通道将N路加密视频子数据{S1,…,SN}发送至应用处理器101,其中,每个加密子通道用于传输利用与该加密子通道对应的AES密钥加密得到的加密视频子数据,示例性的,假设加密子通道对应的AES密钥为Ki,Ki对应的子视频数据为Di,智能芯片102利用Ki加密Di得到Si,则Si是通过加密子通道发送至应用处理器101的。

每个加密子通道用于传输一路加密视频子数据。

示例性的,仍以上述例子为例,智能芯片1012可以是利用Ki加密通过传输子通道获取到的Di,并通过加密子通道将加密Di得到的加密视频子数据发送至应用处理器101。

选用该实施例,可以同时加密多路视频子数据,以更加充分地利用智能芯片102强大的计算性能。而现有技术中,由于APU的性能有限,对于多路视频子数据只能分步加密,导致加密过程较长,而选用本实施例可以解决这一技术问题。

进一步,在一种可选的实施例中,智能芯片102具体用于利用AES密钥,加密原始数据中所有数据单元,得到加密视频数据。

其中,数据单元是指原始数据格式中的最小单元,例如以H.264或H.265协议为例,数据单元可以为NAL单元,智能芯片可以是遍历原始数据中所有的NAL单元,并逐个加密原始数据中所有的NAL单元中的数据,得到加密视频数据。选用该实施例,可以使得原始数据被充分加密,有效地提高原始数据的安全性。

参见图2,图2所示为本发明实施例提供的视频加密传输系统的一种结构示意图,可以包括:网络摄像机201、客户端202。

其中,网络摄像机201可以为上述任一实施例所描述的网络摄像机,用于向客户端202发送加密视频数据,加密视频数据为网络摄像机利用AES密钥加密原始视频数据得到的;

客户端202利用预先存储于本地的AES密钥,解密加密视频数据,得到原始视频数据。

进一步的,在一种可选的实施例中,AES密钥可以是通过如图3a所示的方法预先存储于客户端202本地的,该方法包括:

S301,客户端202生成RSA公私密钥对,并将该RSA公私密钥对中的公钥发送至网络摄像机201。

由于RSA公私密钥对为非对称密钥对,即使公钥在该步骤中泄露,RSA公私密钥对中的私钥仍然是保密的。

S302,网络摄像机201生成AES密钥。

有关网络摄像机201生成AES密钥,可以参见前述应用处理器101生成AES密钥的描述,再次不再赘述。

S303,网络摄像机201利用该公钥加密AES密钥得到密钥密文,并将该密钥密文发送至客户端202。

AES密钥为对称密钥,即加密数据时使用的密钥,和解密数据时使用的密钥相同,因此当客户端202保存有AES密钥时,可以对网络摄像机201发送的加密视频数据进行解密。

只有在已知RSA公私密钥对中的私钥时,才刻意解密该密钥密文,得到AES密钥,因此即使在S301中公钥被泄露至非法设备,非法设备也无法解密加密密文以得到AES密钥,因此整个系统仍然是安全的。

S304,客户端202利用RSA公私密钥对中的私钥解密该密钥密文,得到AES密钥,并将AES密钥保存于本地。

选用该实施例,可以利用RSA公私密钥对,实现AES密钥的动态生成,而网络摄像机201和客户端202不再是只能使用固定的AES密钥,提高了系统的安全性。

进一步的,在一种可选的实施例中,AES密钥还可以是通过如图3b所示的方法预先存储于客户端202本地的,该方法包括:

S305,客户端202向网络摄像机201发送加密预览请求和身份验证信息。

身份验证信息可以是用户名和与用户名对应密码。

S306,网络摄像机201根据该身份验证信息,确定客户端202是否通过身份验证,如果客户端202通过身份验证,则接受加密预览请求,并且由客户端202执行S301;如果确定客户端202不通过身份验证,则拒绝加密预览请求,并且终止本次通信。

网络摄像机201可以是通过查表确定身份验证信息中的用户名是否为合法用户的用户名,并且密码是否与该用户名相匹配,如果用户名为合法用户的用户名,并且密码为与该用户名相匹配的密码,则确定客户端202通过身份验证,如果用户名不为合法用户的用户名,或者,密码不是与该用户名相匹配的密码,则确定客户端202不通过身份验证。

S301,客户端202生成RSA公私密钥对,并将该RSA公私密钥对中的公钥发送至网络摄像机201。

S302,网络摄像机201生成AES密钥。

S303,网络摄像机201利用该公钥加密AES密钥得到密钥密文,并将该密钥密文发送至客户端202。

S304,客户端202利用RSA公私密钥对中的私钥解密该密钥密文,得到AES密钥,并将AES密钥保存于本地。

选用该实施例,可以在进行视频加密传输之前,对客户端进行身份验证,以避免存在非法设备冒充客户端,导致视频数据泄露,进一步提高系统的安全性。

参见图4,图4所示为本发明实施例提供的视频加密方法的一种流程示意图,该方法应用于网络摄像机的智能芯片,可以包括:

S401,通过加密通道,获取应用处理器发送的AES密钥。

S402,通过传输通道,获取应用处理器发送的原始视频数据。

S403,利用AES密钥,加密原始视频数据,得到加密视频数据。

选用该实施例,可以将原始视频数据发送至网络摄像机的智能芯片,通过调用网络摄像机的智能芯片的强大计算能力,缩短完成原始视频加密所需要的时间,在没有额外增加网络摄像机的硬件成本的情况下,实现了视频数据的实时加密,降低了因视频加密带来的延时

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种HDMI多媒体数据质量评测方法、装置和系统

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类