一种基于可信任环境的视频安全播放系统及方法与流程

文档序号:16815739发布日期:2019-02-10 14:28阅读:149来源:国知局
一种基于可信任环境的视频安全播放系统及方法与流程

本发明涉及视频安全技术领域,尤其涉及一种在可信任环境下的视频安全播放系统及方法。



背景技术:

随着影视资源的膨胀式的发展,越来越多的影片进入到人们的视野。传统的影院式视频播放形式,已经无法满足当前科技发展和多样化展示的需求,因此越来越多的视频内容资源被放在网络上,通过移动终端在线进行收费播放。但是,如何保护视频内容不被窃取,移动设备自身的安全性尤为重要。因此,出现了一种采用硬件支持的隔离执行技术,可信任环境(trustedexecutionenvironment;tee),是全球平台国际标准组织(globalplatform)组织定义的一种技术框架,用以支持非可信环境和可信环境的软硬件隔离。图1为现有可信任环境的设计框架示意图,如图1所示,现有可信任环境的设计框架,包括普通环境110和可信任环境120这两个独立的环境。其中,普通环境110具备客户端应用(clientapplication;ca)111、tee客户端api(applicationprogramminginterface,应用程序编程接口)112、以及tee驱动113;可信任环境120具备可信应用(trustedapplication;ta)121、可信应用管理器122、tee内部api123、以及安全驱动124。普通环境110下的客户端应用111作为客户端发起请求,安全环境120下的可信应用121作为相应端接收和回应请求,由此组织而成一套交互过程。

图2为现有的视频安全播放整体框架的示意图,如图2所示,媒体内容经过媒体解析模块201、媒体解密模块202、媒体解码模块203、媒体后处理模块204和媒体显示模块205,实现视频内容的播放。上述数字媒体的加密保护方式,采用了当前的数字媒体加密保护方式数字版权管理(digitalrightsmanagement;drm),其只是定义了关于压缩编码后的媒体保护方式,但对于终端数据解密流程的实现方式,未做明确性的要求。基于通用的终端媒体处理过程,无法完全保证在解密压缩编码后的数据及解码后数据的安全性。因此,需要在终端设备上对数据的安全性做一定的保护,使得数据在处理阶段不会被攻击截获。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种基于可信任环境的视频安全播放系统及方法,由独立于智能移动终端操作系统的、隔离的、可扩展的执行环境,并通过对终端播放引擎的安全调整,可以有效的保护视频内容在播放过程中的安全性。

为实现上述目的,本发明提供的基于可信任环境的视频安全播放系统,包括,客户应用端、可信应用端、可信任环境处理模块、安全内存模块,以及安全驱动模块,其中,

所述客户应用端,其针对用户访问的加密视频,向认证服务器申请解密密钥;

所述可信应用端,其可信任环境处理模块指令,对加密数据进行安全解密、安全解码以及安全后处理操作;

所述安全内存模块,其用于数据的安全存储;

所述安全驱动模块,其在可信任环境下,对硬件解码器进行初始化配置。

进一步地,所述安全内存模块,根据所述可信任环境处理模块申请,建立es类型的内存,并进行切分,将切分后es类型的内存的起始地址作为es类型的安全内存句柄缓存到es类型的数据缓存池内。

进一步地,所述安全内存模块,根据所述可信任环境处理模块申请,建立yuv类型的内存,并进行切分,并将切分后yuv类型的内存的起始地址作为yuv类型的安全内存句柄缓存到yuv类型的数据缓存池内。

进一步地,所述可信应用端,进一步包括,安全解密模块、安全解码模块,以及安全后处理模块,其中,

所述安全解密模块,其对加密形态的单帧数据进行解密,并将解密后的单帧数据存入到安全内存模块;

所述安全解码模块,其从解密后的单帧数据中提取出帧的头部信息,并进行解析;

所述安全后处理模块,其在可信任环境下,注册安全内存和显示驱动在同一个操作域内。

进一步地,所述安全解密模块,其对es类型的安全内存句柄进行虚拟映射,获取在可信任环境下可读写地址,保存解密的单帧数据。

更进一步地,所述安全解码模块,其对yuv类型的安全内存句柄进行映射,获取在可信任环境下可读写地址,将解析的帧的头部信息发送给所述安全驱动模块。

为实现上述目的,本发明提供的基于可信任环境的视频安全播放方法,包括以下步骤:

获取加密视频的解密密钥、解密并安全存储密钥数据;

初始化媒体负载包安全内存,对其进行切分,并保存地址句柄;

获取媒体负载包,提取视频流负载并保存加密的单帧数据;

对加密的单帧数据进行解密,并将解密结果保存到安全内存模块;

初始化显示安全内存,对其进行切分,并保存地址句柄;

提取帧的头部信息,并进行解析;

对安全内存模块进行访问和解码操作,获取视频数据推送并刷新显示数据。

进一步地,所述初始化媒体负载包安全内存,对其进行切分,并保存地址句柄的步骤,进一步包括:

可信任环境处理模块向安全内存模块申请es类型的内存并对该es类型的内存进行切分;

将切分的es类型的内存的起始地址作为es类型的安全内存句柄,缓冲到es类型的数据缓冲池内。

进一步地,所述获取加密视频的解密密钥的步骤,是客户应用端针对用户访问的加密视频,向认证服务器申请解密密钥。

进一步地,所述初始化媒体负载包安全内存,对其进行切分,并保存地址句柄的步骤,进一步包括:

安全内存模块,根据可信任环境处理模块申请,建立es类型的内存,并进行切分,将切分的es类型的内存的起始地址作为es类型的安全内存句柄缓冲到es类型的数据缓冲池内。

进一步地,所述对加密的单帧数据进行解密,并将解密结果保存到安全内存模块的步骤,进一步包括:

安全解密模块对加密形态的单帧数据进行解密;

对es类型的安全内存句柄进行虚拟映射,获取在可信任环境下可读写地址,将解密的单帧数据保存到安全内存模中。

进一步地,所述初始化显示安全内存,对其进行切分,并保存地址句柄的步骤,进一步包括:

安全内存模块,根据可信任环境处理模块申请,建立yuv类型的内存,并进行切分,将切分的yuv类型的内存的起始地址作为yuv类型的安全内存句柄缓冲到yuv类型的数据缓冲池内。

进一步地,所述提取帧的头部信息,并进行解析的步骤,进一步包括:

安全解码模块从解密后的单帧数据中提取出帧的头部信息;

对yuv类型的安全内存句柄进行映射,获取在可信任环境下可读写地址,将解析的帧的头部信息发送给安全驱动模块。

更进一步地,所述对安全内存模块进行访问和解码操作,获取视频数据推送并刷新显示数据的步骤,进一步包括:

安全驱动模块对硬件解码器进行初始化配置;

安全后处理模块将安全内存模块和显示驱动注册在同一个操作域;

将视频数据推送到硬件显示单元刷新显示数据。

本发明提到的视频安全播放方法,是基于数字媒体版权加密及可信任环境安全技术相结合,并针对自主芯片的安全内存做配置,调整终端媒体处理引擎,最后实现从媒体内容传输,到终端设备播放的整个环节的,原始数据,解码数据及中间处理环节数据的安全性和保密性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为现有可信任环境的设计框架示意图;

图2为现有的视频安全播放整体框架的示意图;

图3为根据本发明的基于可信任环境的视频安全播放系统框架示意图;

图4为根据本发明的基于可信任环境的视频安全播放方法流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图3为根据本发明的基于可信任环境的视频安全播放系统框架示意图,如图3所示,本发明的基于可信任环境的视频安全播放系统,包括,媒体解析模块201、媒体解密模块202、媒体解码模块203、媒体后处理模块204、媒体显示模块205、可信应用端31、可信任环境处理模块32、安全内存模块33、安全驱动模块34,以及客户应用端35,其中,

可信应用端31,其根据可信任环境处理模块32指令,进行加密数据的安全解密、安全解码以及安全后处理操作。

可信任环境处理模块32,其接收客户应用端35请求,在可信任环境下,控制可信应用端31进行加密数据的安全解密、解码和后处理操作。

安全内存模块33,其用于数据的安全存储,包括:加密形态的单帧数据、解密后的单帧数据、es类型的安全内存句柄,以及yuv类型的安全内存句柄。

安全驱动模块34,其在可信任环境下,对硬件解码器进行初始化配置,使硬件解码器经过初始化配置后,可以直接对安全内存模块进行访问和操作,解码后获取视频数据。

客户应用端35,其针对用户访问的加密视频,向认证服务器申请解密密钥;向可信任环境处理模块32发送请求,在可信任环境下进行视频的安全播放。

本发明的可信应用端31,进一步包括,安全解密模块306、安全解码模块307和安全后处理模块308。

安全解密模块306,其对加密形态的单帧数据进行解密,并将解密后的单帧数据存入到安全内存模块33。

安全解码模块307,其从安全内存模块33保存的解密后的单帧数据中提取出帧的头部信息,映射yuv类型的安全内存句柄获取可读写虚拟地址,对帧的头部信息进行解析。

安全后处理模块308,其在可信任环境下,采用通过armtrustzone技术,注册安全内存和显示驱动在同一个操作域内,满足硬件显示的读写操作权限。

图4为根据本发明的基于可信任环境的视频安全播放方法流程图,下面将参考图4,对本发明的基于可信任环境的视频安全播放方法进行详细描述:

首先,在步骤401,从认证服务器中获取加密的解密密钥,进行解密并安全存储密钥数据,该步骤中,客户应用端35针对用户访问的加密视频,向认证服务器请求解密密钥并由可信任环境处理模块32以安全的形式存储。在该步骤中,

首先,客户应用端35从加密视频数据中提取证书申请信息,并向认证服务器请求解密密钥,认证服务器接收到请求后向客户应用端35传输解密密钥,其中,该解密密钥是以加密形式明文进行传输的;

其次,客户应用端35在获取加密的解密密钥之后,由可信任环境处理模块32进行解密操作,获取密钥数据,并通过可信任环境处理模块32,将密钥数据保存到回放保护存储块(replayprotectmemoryblock;rpmb)的存储空间。

在步骤402,可信任环境处理模块32初始化媒体负载包安全内存,对其进行切分,并保存切分后的地址句柄。切分方式可以根据自身的负载缓冲要求进行配置。在该步骤中,

首先,可信任环境处理模块32向安全内存单元33申请es(elasticsearch)类型的内存,其中,该es类型的内存是一次性申请的整块内存;

其次,对es类型的整块内存进行预先切分,其中,每块切分后的内存可以根据视频的分辨率,码率等属性选择合适的切分大小,通常情况下缓冲可以预留八帧数据;

再次,将切分后的es类型的内存以各自的起始的物理地址作为es类型的安全内存句柄,缓冲在es类型的数据缓冲池内。

在步骤403,从媒体服务器中获取媒体负载包,对其进行媒体组包、媒体解析,提取出视频流负载包并加密保存单帧数据。该步骤中,

首先,对媒体负载包进行媒体组包、媒体解析操作;

其次,提取出视频流负载包,并以加密形态缓存单帧数据,以保证数据本身的安全性。

在步骤404,可信应用端31的安全解密模块306根据切分后的地址句柄对单帧数据进行解密,将解密结果保存在安全内存单元33。媒体解密模块202提取出单帧数据后,单帧数据与es类型的安全内存句柄被传输到安全解密模块306,并根据可信任环境处理模块32的指令,进行解密操作,并把解密后的数据保存到安全内存单元33。在该步骤中,

首先,加密形态缓存的单帧数据通过共享内存方式被传输到安全解密模块306;

其次,在加密形态缓存的单帧数据被传输到安全解密模块306的同时,es类型的安全内存句柄也被传输到安全解密模块306,并对安全内存句柄进行虚拟映射,获取在可信任环境下可以读写的地址;

再次,安全解密模块306对加密形态缓存的单帧数据进行通用解密操作,根据加解密数据类型,适配不同的解密接口。通过虚拟映射的可读写地址,解密后的单帧数据直接保存到es类型的内存。

在步骤405,可信任环境处理模块32初始化显示安全内存,对其进行切分。切分方式可以根据自身的解码缓冲要求进行配置。在该步骤中,

首先,可信任环境处理模块32主动向安全内存单元33申请yuv类型的内存,其中,该yuv类型的内存是一次性申请的整块内存;

其次,可信任环境处理模块32对申请的yuv类型内存进行切分,其中,申请的yuv类型内存可以根据当前视频的编解码属性,确认切分数量;

再次,在yuv类型的内存切分完成之后,将各自的起始物理地址作为yuv类型的安全内存句柄,缓冲在yuv类型的数据缓冲池内。

另外,本实施例中,切分数量是十六块yuv类型的内存。

在步骤406,可信任环境处理模块32从解密后保存的安全内存的单帧数据中提取帧的头部信息并进行解析。在该步骤中,

首先,解密后保存在es类型的内存的单帧数据,通过可信任环境处理模块32的共享内存方式被输入到可信应用端31的安全解码模块307;

其次,安全解码模块307对yuv类型的安全内存句柄进行映射,获取可以读写的虚拟地址,解析帧的头部信息;

再次,解析的头部信息,通过可信任环境处理模块32的共享内存方式发送给安全驱动模块34初始化配置硬件解码器。

在步骤407,硬件解码器经过初始化配置后,并通过直接对安全内存模块33进行访问和操作来进行解码,获取视频数据。在该步骤中,

首先,安全驱动模块34,通过arm信任区域(trustzone)技术,将注册安全内存和硬件解码配置在同一个操作域内,以满足硬件解码的读写操作权限;

其次,配置后的硬件解码器在获取es类型的数据句柄和yuv类型的数据句柄之后,进行解码并将解码数据保存到yuv类型的内存;

再次,解码过程中的参考帧,需要一定数量的yuv类型的数据缓冲,该缓冲数据通过yuv数据切片获取。

在步骤408,硬件显示在接收到视频数据后,推送并刷新显示数据。在该步骤中,

首先,在可信任环境下,安全后处理模块308,通过arm信任区域(trustzone)技术,将注册安全内存和显示驱动在同一个操作域内,以满足硬件显示的读写操作权限;

其次,配置后的硬件显示单元,在获取yuv类型的数据句柄之后,进行帧数据读取和刷新操作,最后显示到终端设备屏幕池。

另外,在上述步骤403至步骤408中,数据流不断传输到可信任环境下进行安全解析,安全解密,安全解码和显示操作。在步操405中,如果遇到变化的分辨率的情况,会释放并重新申请yuv类型的内存,然后进行数据切分,并分配到数据缓冲池。

整个步骤从解密密钥的安全存储,到加密数据的保护,再到解密数据的安全处理,再到解码数据的安全处理,最后到显示设备的数据刷新,每个环节都进行了保护操作,从一定意义上讲,在该终端的视频播放的数据是安全的,具有非常高的防盗保护机制。

通过本发明的播放方法,可以在基于数据媒体版权加密及可信任环境安全技术上,保证媒体内容从服务器到终端,及终端处理播放过程的媒体数据的安全性和保密性。在终端安全处理环节,可以防止非法应用的数据截获及攻击,阻止不法应用的不正当行为。同时,本发明未限定硬件的资源属性,包括安全内存,安全存储,可以根据自身设备灵活实现和配置。另外,安全内存的必须满足连续的物理内存分配,以支持后续硬件驱动的数据访问。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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