掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本发明涉及数据加密技术领域,特别是涉及一种可变等级加密方法、系统及装置。

背景技术

随着互联网技术和通信技术的高速发展,丰富的多媒体信息越来越多的被应用于政治经济、医疗、教育、新闻等各个行业。其中,视频信息由于包含丰富的细节内容,具有直观易接受的特点,相比普通文本和静态图像更加丰富生动。随着网络通信能力与服务质量的不断提高,以及从从MPEG-1到MPEG-频编码),直到现在的H.266/VVC(Versatile VideoCoding,多功能视频编码)等一系列标准数字视频编解码技术的成熟完善,以现代视频压缩编码为技术基础的视频信息流成为了人们交流信息的重要手段,给人们的工作生活方式带来了深刻影响。

然而,随着互联网技术的不断开放,人们在进行信息共享的同时,也面临着信息安全隐患,视频信息安全的问题尤为突出。特别是随着4G、5G移动互联网技术和个人移动终端设备的大规模普及,人们需要存储、处理和交流的视频信息量大幅增长,视频信息所伴随的安全性问题也逐渐受到人们的重视。

视频信息的应用场景大致分为存储场景和传输场景两个类别。未经加密的原始视频数据在存储和传输时均有可能被非法访问甚至破坏篡改、替换,尤其是对于航天航空侦查视频、军事机密视频数据、医学患者病例视频、商务非公开的视频会议等应用场景中,如何切实保护视频信息的安全是十分重要和紧迫的工作。而不同的应用场景又对加密运算所带来的计算存储资源代价、通信延迟时间代价又各有区别,因此对网络中的不同种类的重要视频信息进行有效而快速的分级别加密,同时结合并兼容现有最新的视频编码方法,具有十分重要的理论研究意义和实践价值,也是近年来国内外业界的研究热点领域。

发明内容

本发明的目的是提供一种可变等级加密方法、系统及装置,提高了加密的灵活性。

为实现上述目的,本发明提供了如下方案:

一种可变等级加密方法,包括:

确定第一加密范围、第二加密范围、第三加密范围和第四加密范围共四种加密范围;所述第一加密范围为加密I帧,所述第二加密范围为加密I帧、P帧和B帧中的I宏块,所述第三加密范围为结合CABAC,针对关键上下文模型索引值进行加密,所述第四加密范围为对编码压缩处理后的全部码流进行加密;

确定第一加密技术、第二加密技术、第三加密技术和第四加密技术共四种加密技术;所述第一加密技术为采用加一模除处理进行加密,所述第二加密技术为采用伪随机序列异或处理进行加密,所述第三加密技术为采用AES或RSA加密方法进行加密,所述第四加密技术为基于Logistic映射的混沌加密处理进行加密;

根据所述四种加密范围和所述四种加密技术进行组合,确定16种加密类型;

存储所述16种加密类型对应的加密镜像;

从所述16种加密类型中选择一种加密类型作为输入加密等级;加密类型与加密等级一一对应;

输入加密等级的指令码;

判断当前输入指令码对应的加密等级与上一指令码对应的加密等级是否相同;

若相同,则将待加密的视频数据按照当前运行的加密等级进行加密;

若不相同,则从存储的所述加密镜像中加载所述指令码对应的加密镜像,将待加密的视频数据按照加载的加密镜像对应的加密等级进行加密。

可选地,所述采用加一模除处理进行加密的表达式为:

其中,

可选地,所述采用伪随机序列异或处理进行加密的表达式为:

其中,

可选地,所述基于Logistic映射的混沌加密处理进行加密的表达式为:

其中,

其中,

本发明还公开了一种可变等级加密系统,包括:

加密范围确定模块,用于确定第一加密范围、第二加密范围、第三加密范围和第四加密范围共四种加密范围;所述第一加密范围为加密I帧,所述第二加密范围为加密I帧、P帧和B帧中的I宏块,所述第三加密范围为结合CABAC,针对关键上下文模型索引值进行加密,所述第四加密范围为对编码压缩处理后的全部码流进行加密;

加密技术确定模块,用于确定第一加密技术、第二加密技术、第三加密技术和第四加密技术共四种加密技术;所述第一加密技术为采用加一模除处理进行加密,所述第二加密技术为采用伪随机序列异或处理进行加密,所述第三加密技术为采用AES或RSA加密方法进行加密,所述第四加密技术为基于Logistic映射的混沌加密处理进行加密;

加密类型确定模块,用于根据所述四种加密范围和所述四种加密技术进行组合,确定16种加密类型;

加密镜像存储模块,用于存储所述16种加密类型对应的加密镜像;

加密等级选择模块,用于从所述16种加密类型中选择一种加密类型作为输入加密等级;加密类型与加密等级一一对应;

加密等级输入模块,用于输入加密等级的指令码;

加密等级判断模块,用于判断当前输入指令码对应的加密等级与上一指令码对应的加密等级是否相同;

第一加密模块,当所述指令码对应的加密等级与中央处理器中当前运行的加密等级相同时,用于将待加密的视频数据按照当前运行的加密等级进行加密;

第二加密模块,当所述指令码对应的加密等级与所述中央处理器中当前运行的加密等级不相同时,用于从存储的所述加密镜像中加载所述指令码对应的加密镜像,将待加密的视频数据按照加载的加密镜像对应的加密等级进行加密。

可选地,所述采用加一模除处理进行加密的表达式为:

其中,

可选地,所述采用伪随机序列异或处理进行加密的表达式为:

其中,

可选地,所述基于Logistic映射的混沌加密处理进行加密的表达式为:

其中,

其中,

本发明还公开了一种可变等级加密装置,所述可变等级加密方法应用于所述可变等级加密装置,所述可变等级加密装置包括:加密等级指令输入接口、视频流数据接口、中央处理器、重构控制器、可重构加速区和重构镜像存储区;

所述加密等级指令输入接口用于接收输入加密等级的指令码,并将所述指令码传输到所述中央处理器;

所述视频流数据接口用于接收待加密的视频数据,并将所述待加密的视频数据传输到所述可重构加速区;

所述重构镜像存储区用于存储多种不同的加密镜像;

所述重构控制器用于接收所述中央处理器的指令,并发送到所述可重构加速区;

所述中央处理器用于接收所述加密等级指令输入接口的指令码,并发送到所述重构控制器;

所述可重构加速区分别与所述视频流数据接口、所述重构镜像存储区和所述重构控制器连接,所述可重构加速区用于接收所述视频流数据接口的所述待加密的视频数据、根据所述重构控制器的指令从所述重构镜像存储区加载加密镜像、根据所述待加密的视频数据和加载的加密镜像进行加密。

可选地,所述中央处理器包括SoC。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明通过不同的加密范围和不同的加密技术组合多种不同的加密等级,用户根据需求输入加密等级,根据用户输入的加密等级加载加密镜像进行加密,满足资源限制及处理延迟限制的背景下获取尽可能高的加密力度,提高了视频数据加密的灵活性和安全性。

附图说明

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

图1为本发明一种可变等级加密方法流程示意图;

图2为本发明加密范围和加密技术组合方法示意图;

图3为本发明一种可变等级加密系统结构示意图;

图4为本发明一种可变等级加密装置结构示意图;

图5为本发明通过一种可变等级加密装置实现可变等级加密方法的流程示意图。

具体实施方式

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

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明一种可变等级加密方法流程示意图,如图1所示,一种可变等级加密方法包括如下步骤:

步骤101:确定第一加密范围、第二加密范围、第三加密范围和第四加密范围共四种加密范围;第一加密范围为加密I帧,第二加密范围为加密I帧、P帧和B帧中的I宏块,第三加密范围为结合CABAC,针对关键上下文模型索引值进行加密,第四加密范围为对编码压缩处理后的全部码流进行加密。

对于所述4种加密范围的选取思路如下:

帧是组成视频图像的基本单位。视频文件是由多个连续的图片组成,在针对连续动态图像编码时,将连续若干幅图像分成P帧,B帧,I帧三种类型。I帧又称为内部画面(Intra picture),是帧间压缩编码里的核心帧,是P帧和B帧的参考帧;它是一个全帧压缩的编码帧;解码时仅用I帧的数据就可重构完整图像;I帧不需要参考其他画面而生成。P帧表示的是当前帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上当前帧定义的差别,生成最终画面。B帧是双向差别帧,也就是B帧记录的是当前帧与前后帧的差别(具体有4种情况)。解码B帧,需要取得之前的缓存画面及其之后的画面,通过前后画面与本帧数据的叠加取得最终的画面。因此,从加密范围进行分析,需要保证至少对视频数据流中的I帧进行处理才能保证有效加密。

宏块是编码的基本单位,一个编码图像首先要划分成多个块(4×4像素)才能进行处理,显然宏块应该是整数个块组成,通常宏块大小为16×16个像素。宏块分为I宏块、P宏块和B宏块:I宏块只能利用当前片中已解码的像素作为参考进行帧内预测;P宏块可以利用前面已解码的图像作为参考图像进行帧内预测;B宏块则是利用前后向的参考图形进行帧内预测。因此,除视频信息流中的I帧之外,对其他帧中的I宏块进行加密可以进一步提升加密力度,提高破译方恢复视频原始数据信息的技术难度。

目前的视频压缩编码标准普遍采用了CABAC(Context-based Adaptive BinaryArithmetic Coding,基于上下文的自适应二进制算术编码),CABAC继承了高效的算数编码思想,充分考虑到视频流的相关统计特性和数据序列的概率特性,在提高编码效率方面发挥了重要作用。CABAC通过二进制化、上下文建模和二进制算术编码三个基本步骤进行。算术编码由于其结构上是将整个信源映射成一个表示其概率区间的数值,在未知符号概率模型的情况下解码非常困难。同时,结合CABAC的加密还需要考虑到尽可能少地改变视频图像数据的统计特性,以节省运算开支。经过多方面考虑,本发明所述方法的CABAC加密范围选择为I帧的编码块模式与编码块标志数据,以及P帧与B帧的水平与垂直方向的运动矢量残差(Motion Vector Difference,MVD)值,对上述两部分关键信息进行同时加密。

上述加密范围均主要考虑了视频数据流中的关键信息范围,而对于安全等级要求极高、可忽略计算存储资源和处理时间的应用场景,还可以直接对全部视频信息流进行加密。

步骤102:确定第一加密技术、第二加密技术、第三加密技术和第四加密技术共四种加密技术;第一加密技术为采用加一模除处理进行加密,第二加密技术为采用伪随机序列异或处理进行加密,第三加密技术为采用AES或RSA加密方法进行加密,第四加密技术为基于Logistic映射的混沌加密处理进行加密。

第一加密技术加一模除处理进行加密属于运算最为轻量化的加密手段,仅仅用于对数据进行简单而快速的置乱,采用加一模除处理进行加密的表达式为:

其中,

第二加密技术使用简单伪随机序列异或处理,即使用线性反馈移位寄存器生成伪随机序列P,将视频流中的关键信息分为等长数据段后与之做异或操作。采用伪随机序列异或处理进行加密的表达式为:

其中,

第三加密技术应用传统的AES、RSA等加密方法进行处理,即忽略视频数据流的内在相关性,将数据流最为普通数据直接进行加密处理。

第四加密技术基于Logistic映射的混沌加密处理进行加密的表达式为:

其中,

其中,

在上述公式规定的特殊区间内,Logistic映射系统工作在混沌状态,对初始值非常敏感且能够生成非周期不收敛的数据序列。Logistic映射的原型系统工作与实数域,可通过二值化或位序列化转换为整数序列直接用于计算机系统进行处理。最终,将原始视频的数据信息与混沌序列X进行异或操作,完成加密。

Logistic映射分布范围比原始Logistic映射大,其遍历性也比原始Logistic映射好。Logistic测试通过率比上述其他方案更高,说明Logistic映射产生序列随机性能更好。因此,上述Logistic混沌加密方式也可作为推荐的加密技术手段。

步骤103:根据四种加密范围和四种加密技术进行组合,确定16种加密类型。

通过上述加密范围和加密技术手段的组合,如图2所示,形成从

表1 加密范围和加密技术组合镜像表

步骤104:存储16种加密类型对应的加密镜像。

步骤105:从16种加密类型中选择一种加密类型作为输入加密等级;加密类型与加密等级一一对应。

步骤106:输入加密等级的指令码。

步骤107:判断当前输入指令码对应的加密等级与上一指令码对应的加密等级是否相同。

若指令码对应的加密等级与当前运行的加密等级相同,则执行步骤108。

步骤108:将待加密的视频数据按照当前运行的加密等级进行加密。

若指令码对应的加密等级与当前运行的加密等级不相同,则执行步骤109。

步骤109:从存储的加密镜像中加载指令码对应的加密镜像,将待加密的视频数据按照加载的加密镜像对应的加密等级进行加密。

结合本发明应用于一种可变等级加密装置的可变等级加密方法,具体包括如下步骤:

Step1:确定第一加密范围、第二加密范围、第三加密范围和第四加密范围共四种加密范围。

Step2:确定第一加密技术、第二加密技术、第三加密技术和第四加密技术共四种加密技术。

Step3:根据四种加密范围和四种加密技术进行组合,确定16种加密类型。

Step4:将16种加密类型对应的加密镜像存储到重构镜存储区。

Step5:从16种加密类型中选择一种加密类型作为输入加密等级。

Step6:通过加密等级指令输入接口向中央处理器输入加密等级的指令码。

Step7:判断当前输入指令码对应的加密等级与上一运行指令码对应的加密等级是否相同。

若指令码对应的加密等级与当前运行的加密等级相同,则执行Step8。

Step8:将待加密的视频数据按照中央处理器中当前运行的加密等级进行加密。

若指令码对应的加密等级与当前运行的加密等级不相同,则执行Step9。

Step9:清空可重构加速区中的加密镜像,并通过重构控制器从重构镜像存储区中加载与输入加密等级对应的加密镜像,存储于可重构加速区,将待加密的视频数据按照可重构加速区中加载的加密镜像对应的加密等级进行加密。

图3为本发明一种可变等级加密系统结构示意图,如图3所示,一种可变等级加密系统包括:

加密范围确定模块201,用于确定第一加密范围、第二加密范围、第三加密范围和第四加密范围共四种加密范围;第一加密范围为加密I帧,第二加密范围为加密I帧、P帧和B帧中的I宏块,第三加密范围为结合CABAC,针对关键上下文模型索引值进行加密,第四加密范围为对编码压缩处理后的全部码流进行加密。

加密技术确定模块202,用于确定第一加密技术、第二加密技术、第三加密技术和第四加密技术共四种加密技术;第一加密技术为采用加一模除处理进行加密,第二加密技术为采用伪随机序列异或处理进行加密,第三加密技术为采用AES或RSA加密方法进行加密,第四加密技术为基于Logistic映射的混沌加密处理进行加密。

加密类型确定模块203,用于根据四种加密范围和四种加密技术进行组合,确定16种加密类型。

加密镜像存储模块204,用于存储16种加密类型对应的加密镜像。

加密等级选择模块205,用于从16种加密类型中选择一种加密类型作为输入加密等级;加密类型与加密等级一一对应。

加密等级输入模块206,用于输入加密等级的指令码。

加密等级判断模块207,用于判断当前输入指令码对应的加密等级与上一指令码对应的加密等级是否相同。

第一加密模块208,当指令码对应的加密等级与中央处理器中当前运行的加密等级相同时,用于将待加密的视频数据按照当前运行的加密等级进行加密。

第二加密模块209,当指令码对应的加密等级与中央处理器中当前运行的加密等级不相同时,用于从存储的加密镜像中加载指令码对应的加密镜像,将待加密的视频数据按照加载的加密镜像对应的加密等级进行加密。

采用加一模除处理进行加密的表达式为:

其中,

采用伪随机序列异或处理进行加密的表达式为:

其中,

基于Logistic映射的混沌加密处理进行加密的表达式为:

其中,

其中,

图4为本发明一种可变等级加密装置结构示意图,如图4所示,本发明还公开了一种可变等级加密装置,可变等级加密方法应用于可变等级加密装置,可变等级加密装置包括:加密等级指令输入接口301、视频流数据接口、中央处理器302、重构控制器303、可重构加速区304和重构镜像存储区305。

本发明一种可变等级加密装置用于移动设备的轻量化视频加密,是一种用于移动设备的轻量化视频加密SoC装置。

加密等级指令输入接口301用于接收输入加密等级的指令码,并将指令码传输到中央处理器302。加密等级指令输入接口301通过基于网络通信接口或串口实现,用于接收使用人员308传入的加密等级选择指令码。

视频流数据接口用于接收待加密的视频数据307,并将待加密的视频数据307传输到可重构加速区304。

重构镜像存储区305用于存储多种不同的加密镜像。具体为用于存储图3所示的不同加密镜像(

重构控制器303用于接收中央处理器302的指令,并发送到可重构加速区304。重构控制器303即专门用于管理、调度可重构加速区304域及相关资源的协控制处理器。

中央处理器302用于接收加密等级指令输入接口301的指令码,并发送到重构控制器303。中央处理器302即SoC(System on Chip,系统级芯片)的主通用处理器,用于面向通用事务如运行操作系统、网络与通信数据处理、移动设备电源管理等方面。

可重构加速区304分别与视频流数据接口、重构镜像存储区305和重构控制器303连接,可重构加速区304用于接收视频流数据接口的待加密的视频数据、根据重构控制器303的指令从重构镜像存储区305加载加密镜像、根据待加密的视频数据和加载的加密镜像进行加密。可重构加速区304即可粗粒度重构的特定片内区域,其与其他片内组件的交互接口分为三个部分,分别为接受重构控制器303管理调整的控制信号接口、配合中央处理器302完成加密任务加速处理的数据交互接口、加载重构镜像存储区305中不同加密镜像的访存接口。

由于本发明借助了可重构技术,可在时分复用的模式下加载运行场景所需的特定加密镜像,不需要全部同时实现所有加密镜像所对应的硬件加速结构,因而本发明一种可变等级加密装置是轻量化的。

如图5所示,对于本发明一种可变等级加密装置,使用人员308根据实际场景,综合加密需求及可用计算资源、时间资源等各方面因素,选择最合适的加密等级,并通过输入接口传入加密等级所对应的指令码。SoC的中央处理器302接收来自输入接口的指令码信息,并在解码后与目前系统的加密工作模式进行对比,如果与正在运行的加密等级不同,则启动重构控制器303,重构控制器303将特定加密镜像从重构镜像存储区305取出,对可重构加速区304进行配置与初始化工作,并引导加密镜像完成自检并进入正常工作状态。可重构加速区304部署加密镜像后,与中央处理器302开始交互视频流数据,开始进行视频数据的硬件加密工作。

本发明通过对加密范围与加密技术手段的组合,形成从

具体实施阶段,本发明在目前业界的大多数主流FPGA平台上进行实施。以Intel的FPGA平台为例(型号:10CL120ZF484I8G),在实施场景中:

1、若对于器件内部的四输入查找表资源需求限制在200以内,触发器资源限制在100以内,片内块存储器资源限制在150以内,且处理延迟不超过250ns,则实施人员可根据上述限制,对照表2的参考数据表格,选择加密等级标号为

表2 各加密等级所需的实现资源与正常运行的处理延迟开销信息表

2、若对于器件内部的四输入查找表资源需求限制在70以内,触发器资源限制在25以内,片内块存储器资源限制在10以内,且处理延迟不超过100ns,则实施人员可根据上述限制,对照图4的参考数据表格,选择加密等级标号为

3、若对于器件内部的四输入查找表资源需求限制在100以内,触发器资源限制在60以内,片内块存储器资源限制在20以内,且处理延迟不超过350ns,则实施人员可根据上述限制,对照图4的参考数据表格,选择加密等级标号为

对于其他特定场景,可参照上述实施实例,依次推出最佳的加密等级选择。

本发明通过对加密范围和加密技术手段的组合选择,形成灵活的适合各种加密应用场景需求的分级加密方法,同时兼容最新的视频编解码标准。本发明给予加密方案设计人员较高的选择空间,可根据实际需求,权衡加密场景所需计算资源、存储资源、处理所需时间等多方面的取舍,灵活确定视频加密方案。

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

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种可变等级加密方法、系统及装置
  • 一种针对不同安全等级的加密方法及系统
技术分类

06120113079083