一种视频加密和身份认证方法及安全模块与流程

文档序号:11254380阅读:480来源:国知局
一种视频加密和身份认证方法及安全模块与流程

本发明涉及互联网通信领域,特别涉及一种视频加密和身份认证方法及安全模块。



背景技术:

随着互联网技术的发展,多媒体信息的应用越来越广泛。视频信息是多媒体信息的核心。利用网络进行视频会议、视频点播、视频监控、可视电话、视频聊天、行车记录仪等已成为时下视频业务主流。由于数据在网络传输中可能出现丢包、丢帧、误码等现象,尤其在无线网络环境下显得尤为重要,甚至可能会遭受各种主动或被动的攻击,如数据拦截、数据窃取、蓄意破坏和传输误码等,这对视频加密算法的应用提出了更为苛刻的要求。

加密技术是目前实现通信安全最为有效的方法之一,是信息安全领域的一个热点。视频加密技术是利用密码学理论来保护视频数据的技术,是密码技术和视频编码技术的有机结合。h.264作为新一代视频压缩编码标准,在压缩效率、抗误码率、传输可靠性等方面均优于现行的其他标准。

现有的加密算法的安全性与实时性往往是互为矛盾:要保证安全,必须加密足够多的敏感数据,加解密数据量大了,耗费时间,实时性难以保证,而减少加密的敏感数据又降低安全性。



技术实现要素:

本发明实施例提供了一种视频加密和身份认证方法及安全模块,用于提高数据传输的安全性。

本发明实施例第一方面提供了一种视频加密和身份认证方法,具体包括:

获取视频数据;

将所述视频数据通过预置的算法进行加密以得到第一数据;

将所述第一数据进行存储;

判断所述第一数据是否需要解密;

若所述第一数据需要解密,则通过所述预置的算法对所述第一数据进行解密,并输出解密后的数据。

可选地,当第一数据不进行输出只进行存储时,可以在将所述第一数据进行存储之前,确定与服务器完成双向身份认证,所述服务器为接收所述解密后的数据的客户端所搭载的服务器、独立的服务器或存储所述第一数据的设备的服务器;

当所述第一数据需要进行输出时,可以在输出解密后的数据之前,确定与服务器完成双向身份认证,所述服务器为接收解密后的数据的客户端所搭载的服务器或独立的服务器。

可选地,所述确定与服务器完成双向身份认证包括:

将通过预设密钥计算的第一密文发送至所述服务器,以使得所述服务器根据所述预置密钥对所述第一密文进行解密以得到第一明文,且当所述第一明文与预设认证数据相匹配时,确定通过所述服务器的认证;

接收所述第二密文,所述第二密文为所述服务器通过所述预设密钥计算得到;

将所述第二密文通过所述预置密钥进行解密以得到第二明文;

当所述第二明文与所述预设认证数据匹配时,确定与所述服务器完成双向身份认证。

可选地,当所述第一数据不需要解密时,输出所述第一数据。

本发明实施例第二方面提供了一种安全模块,具体包括:

获取单元,用于获取视频数据;

加密单元,用于将所述视频数据通过预置的算法进行加密以得到第一数据;

存储单元,用于将所述第一数据进行存储;

判断单元,用于判断所述第一数据是否需要解密;

解密单元,用于当所述第一数据需要解密时,通过所述预置的算法对所述第一数据进行解密,并输出解密后的数据。

本发明实施例第三方面提供了一种安全模块,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述各方面所述方法的步骤。

本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时上述各方面所述方法的步骤。

从以上技术方案可以看出,本发明实例中,当有数据流经过时,可以获取到视频数据,且将视频数据通过预置的算法进行加密以得到第一数据,将第一数据进行存储,并判断第一数据是否需要解密,当所述第一数据需要解密时,则通过预置的算法进行解密,并输出解密后的数据。综上所述可以看出,本发明实施例中是将获取到的数据进行加密后存储,并在需要对数据进行解密时,解密数据并输出,只有通过相同的算法才能对数据进行解密,保证了数据传输的安全性。

附图说明

图1为本发明实施例视频加密和身份认证方法的一个实施例示意图;

图2为本发明实施例视频加密和身份认证方法的另一实施例示意图;

图3为本发明实施例安全模块的一个实施例示意图;

图4为本发明实施例中安全模块的硬件结构示意图。

具体实施方式

本发明实施例提供了一种视频加密和身份认证方法及安全模块,用于保证数据传输的安全性。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例中,具体可以分为两个部分,一个是存储阶段,另一个是输出阶段,下面分别进行说明:

请参阅图1,图1为本发明实施例中视频加密和身份认证方法存储阶段的实施例示意图,包括:

101、获取视频数据。

当有数据流通过i/o接口传输至安全模块时,安全模块可以获取到视频数据。

需要说明的是,处理视频数据之外,还可以获取其他数据,例如音频、图片、文字等数据,此处仅以视频数据为例进行说明,具体不做限定。

需要说明的是,该安全模块中可以设置有i/o接口,所述i/o接口负责接收未加密的数据信息,以及发送解密后的数据信息,所述i/o接口可以分为高速接口和低速接口两类,高速接口包括usb(usb2.0或3.0等)、sd(sd2.0或sd3.0等)等接口类型;低速接口包括iso7816和spi、i2c、uart等。

需要说明的是,该安全模块可以将写入信息保存在信息存储单元中,该写入信息包括:设备id、密钥、以及主机配置信息等,所述密钥包括加密密钥,解密密钥,认证密钥等信息。这些信息的录入在产品生产发行阶段完成,可通过io接口写入。

需要说明的是,可以将安全模块的工作状态可分为工厂模式和用户模式(也可以称为其他两个模式,具体不做限定),信息存储单元中的数据读写属性在不同状态下不同,工厂模式可切换到用户模式,但用户模式不可切换到工厂模式,以确保关键信息的安全存储,即工厂模式可以写入信息至信息存储单元,而用户模式则没有权限写入信息至信息存储单元,只有从信息存储单元中读取数据的权限。

102、将视频数据通过预置的算法进行加密以得到第一数据。

当安全模块在获取到视频数据之后,可以将视频数据通过预置的算法进行加密以得到第一数据,该第一数据为加密后的视频数据。

需要说明的是,安全模块可以通过安全算法对视频数据进行加密,也可以通过其他的算法进行加密,例如对称算法(如des、3des、aes、sm1、sm4、sm7等算法)、非对称算法(如rsa、dsa、sm2、sm9等)、杂凑算法(md2、md4、md5、sha、sha-1、sm3等算法),只要能对视频数据进行加密即可,具体不做限定。

需要说明的是,所述安全模块可以支持fat32、exfat、ntfs、ext等文件系统,可以对接收到的每个数据进行单独加密,也可以对所有的数据进行整体加密。

103、将第一数据进行存储。

当安全模块对视频数据进行加密得到第一数据之后,可以将该第一数据进行存储,可以存储到安全模块的存储模块中,也可以是存储到其他的移动存储介质中,例如移动硬盘、u盘或软盘,只要能将第一数据进行存储即可,具体不做限定。

需要说明的是,安全模块在对第一数据进行存储的时候,可以存储到自身的存储介质中,也可以存储至其他的存储介质中,当存储到其他的移动介质中时,其他的存储介质需要与安全模块进行身份认证,具体身份认证过程如下:

将通过预设密钥计算的第一密文发送至存储介质的服务器,以使得所述存储介质的服务器根据所述预置密钥对所述第一密文进行解密以得到第一明文,且当所述第一明文与预设认证数据相匹配时,所述存储介质的服务器确定所述安全模块通过所述服务器的认证;

接收所述第二密文,所述第二密文为所述存储介质的服务器通过所述预设密钥计算得到;

将所述第二密文通过所述预置密钥进行解密以得到第二明文;

当所述第二明文与所述预设认证数据匹配时,所述存储介质的服务器确定所述安全模块与所述服务器完成双向身份认证。

此处并不限定安全模块与存储介质进行双向身份认证的执行顺序,可以在使用的各个阶段执行,例如获取视频数据时执行,也可以在设备开机时或者断网重新连接时即与存储介质的服务器进行身份认证。

具体的,存储介质的服务器上可以架设有多个平台,例如,认证平台、业务平台、数据存储平台,其中,认证平台完成安全模块的入网审核、身份鉴权等,业务平台完成所有业务的解释、判断、协调、执行等,数据存储平台负责所有数据的保存及转发。

请参阅图2,图2为本发明实施例中视频加密和身份认证方法的输出阶段的实施例示意图,包括:

201、获取视频数据;

202、将视频数据通过预置的算法进行加密以得到第一数据;

203、将第一数据进行存储;

需要说明的是,步骤201至步骤203与图1中所示的实施例的步骤101至步骤103相同,图1所示的实施例中已经进行了详细说明,此处不再赘述。

204、判断第一数据是否需要解密。

本实施例中,安全模块对第一数据进行存储后,可以在接收到客户端发送的输出信息来对第一数据进行输出,输出信息中携带有解密指示,安全模块根据解密指示来判断是否需要对第一数据进行解密(即根据接收到输出信息来确定输出的数据是明文的数据还是密文的数据),若是,则执行步骤105,若否,则执行步骤106。

205、通过预置的算法对第一数据进行解密,并输出解密后的数据。

当安全模块确定所述第一数据需要解密时,可以通过预置的算法对第一数据进行解密,并输出解密后的数据。

206、输出第一数据。

当安全模块确定第一数据不需要解密时,则输出第一数据。

需要说明的是,需要说明的是,安全模块可以通过安全通道将解密后的数据进行输出,保证数据的安全性。

需要说明的是,安全模块输出解密后的数据或者未解密的数据的触发条件可以是被动的,例如接收到输出数据的指令信息,也可以是主动的,例如在对数据解密完成时即输出解密完成的数据,也可以是预先设置有预设时间,在预设时间完成时即将解密后的数据或者未解密的数据进行输出,例如是3小时,每隔3小时,即将数据进行解密并输出或者是每个3小时将未解密的数据进行输出,或者是,根据当前网络传输速率是否大于第一预设值和/或所述视频数据的大小是否小于第二预设值进行判断是否将视频数据进行上传,该安全模块可以判断当前的网络传输速率是否大于第一预设值,例如是200kb/s,若大于第一预设值,则将视频数据进行解密,并进行输出,又或者,所述安全模块还可以判断所述视频数据的大小是否大于第二预设值,例如是50m,若大于第二预设值,则不输出所述视频数据,或者可以接收到输出端发送的指令,并根据指令提取视频数据的一部分进行输出,例如是当是视频数据的时候,可以输出距离数据加密完成时刻的前30秒的视频数据,或者是输出该视频数据的最后5m数据,具体不做限定。所述安全模块的输出数据的触发条件还可以有其他的方式,只要能触发安全模块对数据进行解密并输出即可,具体不做限定。

需要说明的是,安全模块可以与服务器进行双向身份认证(所述服务器可以为接收解密后的数据的客户端所搭载的服务器,也可以为独立的服务器)。

具体的,在对加密的数据进行存储的时候进行双向身份认证的双方为安全模块与存储介质,而在输出数据之前进行认证的为安全模块与接收解密后的数据的客户端,图1中已经对存储阶段的双向身份认证进行详细说明,此处的存储阶段的双向身份认证与图1所示的实施例的类似,此处不再赘述,此处仅对输出阶段的双向身份认证进行详细说明,具体如下:

将通过预设密钥计算的第一密文发送至所述服务器,以使得所述服务器根据所述预置密钥对所述第一密文进行解密以得到第一明文,且当所述第一明文与预设认证数据相匹配时,确定所述安全模块通过所述服务器的认证;

接收所述第二密文,所述第二密文为所述服务器通过所述预设密钥计算得到;

将所述第二密文通过所述预置密钥进行解密以得到第二明文;

当所述第二明文与所述预设认证数据匹配时,确定所述安全模块与所述服务器完成双向身份认证。

此处并不限定安全模块与服务器进行双向身份认证的执行顺序,当第一数据需要进行输出时,安全模块与服务器进行双向身份认证,可以在输出解密后的数据之前执行,也可以在使用的各个阶段执行,例如获取视频数据时执行,也可以在设备开机时或者断网重新连接时即与服务器进行身份认证。

具体的,服务器上可以架设有多个平台,例如,认证平台、业务平台、数据存储平台,其中,认证平台完成安全模块的入网审核、身份鉴权等,业务平台完成所有业务的解释、判断、协调、执行等,数据存储平台负责所有数据的保存及转发。

综上所述,可以看出,当有数据流经过时,可以获取到视频数据,且将视频数据通过预置的算法进行加密以得到第一数据,将第一数据进行存储,判断第一数据是否需要解密,若是,通过预置的算法对第一数据进行解密,并将解密后的数据输出。综上所述可以看出,本发明实施例中是将获取到的数据进行加密后存储,在需要对第一数据进行解密时,解密第一数据并输出解密后的数据,对加密的数据进行解密并发送,由于存储的是该安全模块进行加密过的数据,只有该安全模块通过相同的算法进行解密才能对数据进行解密,保证了数据传输的安全性。

上面从视频加密和身份认证方法的角度对本发明实施例进行描述,下面从安全模块的角度对本发明实施例进行描述,请参与图3,本发明实施例中安全模块的一个实施例包括:

获取单元301,用于获取视频数据;

加密单元302,用于将视频数据通过预置的算法进行加密以得到第一数据;

存储单元303,用于将第一数据进行存储;

判断单元304,用于判断第一数据是否需要解密;

解密单元305,若第一数据需要解密,则通过预置的算法对第一数据进行解密,并输出解密后的数据;

认证单元306,用于存储单元303将第一数据进行存储之前或解密单元305输出解密后的数据之前,确定与服务器完成双向身份认证,服务器为接收解密后的数据的客户端所搭载的服务器、独立的服务器或存储第一数据的设备的服务器。

其中,解密单元305还用于当第一数据不需要解密时,输出第一数据。

其中,认证单元306具体用于:

将通过预设密钥计算的第一密文发送至服务器,以使得服务器根据预置密钥对第一密文进行解密以得到第一明文,且当第一明文与预设认证数据相匹配时,确定通过服务器的认证;

接收所述第二密文,第二密文为服务器通过预设密钥计算得到;

将第二密文通过预置密钥进行解密以得到第二明文;

当第二明文与预设认证数据匹配时,确定与服务器完成双向身份认证。

综上所述,可以看出,当有数据流经过时,可以获取到视频数据,且将视频数据通过预置的算法进行加密以得到第一数据,将第一数据进行存储,判断第一数据是否需要解密,若是,通过预置的算法对第一数据进行解密,并将解密后的数据输出。综上所述可以看出,本发明实施例中是将获取到的数据进行加密后存储,在需要对第一数据进行解密时,解密第一数据并输出解密后的数据,对加密的数据进行解密并发送,由于存储的是该安全模块进行加密过的数据,只有该安全模块通过相同的算法进行解密才能对数据进行解密,保证了数据传输的安全性。

请参阅图4,图4为本发明实施例提供的安全模块的结构示意图。该实施例的安全模块400包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如获取程序。所述处理器执行所述计算机程序时实现上述的视频加密和身份认证方法的实施例中的步骤,例如图1所示的步骤101,或者,所述处理器执行所述计算机程序时实现上述实施例中各单元的功能,例如获取单元。

示例性的,所述计算机程序可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述安全模块中的执行过程。例如,所述计算机程序可以被分割成获取单元、加密单元、存储单元、判断单元、解密单元以及认证单元,各单元的具体功能如下:

获取单元,用于获取视频数据;

加密单元,用于将视频数据通过预置的算法进行加密以得到第一数据;

存储单元,用于将第一数据进行存储;

判断单元,用于判断第一数据是否需要解密;

解密单元,用于当第一数据需要解密时,通过预置的算法对第一数据进行解密,并输出解密后的数据。

认证单元,用于存储模块将第一数据进行存储之前或解密单元输出解密后的数据之前,确定与服务器完成双向身份认证,服务器为接收解密后的数据的客户端或为独立的服务器。

其中,认证单元具体用于:

将通过预设密钥计算的第一密文发送至所述服务器,以使得所述服务器根据所述预置密钥对所述第一密文进行解密以得到第一明文,且当所述第一明文与预设认证数据相匹配时,确定通过所述服务器的认证;

接收所述第二密文,所述第二密文为所述服务器通过所述预设密钥计算得到;

将所述第二密文通过所述预置密钥进行解密以得到第二明文;

当所述第二明文与所述预设认证数据匹配时,确定与所述服务器完成双向身份认证。

所述安全模块可以是手机、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述安全模块可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是安全模块的示例,并不构成对安全模块的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述安全模块还可以包括输入输出设备、网络接入设备、总线等。

所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述安全模块的控制中心,利用各种接口和线路连接整个安全模块的各个部分。

所述存储器可用于存储所述计算机程序和/或单元,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或单元,以及调用存储在存储器内的数据,实现所述安全模块的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述安全模块集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个发送单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1