一种音视频的加密播放方法及其系统的制作方法

文档序号:10578277阅读:512来源:国知局
一种音视频的加密播放方法及其系统的制作方法
【专利摘要】本发明公开了一种音视频的加密播放方法及其系统,所述音视频的加密播放方法包括步骤:客户端与服务器之间相互进行身份验证;验证合法后,需要播放音视频时,客户端从服务器获取索引文件并解析;客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放;或者,客户端从服务器获取实时加密的音视频并解密播放;通过身份验证能识别出客户端的个体差异,通过对AES key加解密,或对音视频加解密来实现数字内容的版权保护,提高了安全性。从而解决了现有HLS协议不能保护HLS音视频数字版权、安全级别较低、不能识别个体差异的问题。
【专利说明】
一种音视频的加密播放方法及其系统
技术领域
[0001 ]本发明涉及音视频技术领域,尤其涉及一种音视频的加密播放方法及其系统。
【背景技术】
[0002]随着互联网的普及和网络带宽的增加,越来越多人选择通过网络观看视频节目,享受网络带来的便利。美国苹果公司推出了HTTP(Hypertext transfer protocol,超文本传送协议)音视频数据下载HLS(HTTP Live Streaming,Apple的动态码率自适应技术)协议,使用户能根据当前网络带宽,实时自动选择不同分辨率的码流,保证可以流畅地观看音视频。
[0003]HLS协议里提供了 AES-128(—种加密算法)音视频码流数据加密方法。服务器前端将同一内容不同分辨率的视频源(码流),分别切割为5?10秒的切片,然后生成M3U8切片索引文件。如图1所示的M3U8索引关系不同的网速带宽对应不同的分辨率,分为不同的切片。如中(Mid)速对应4兆带宽和标清的切片(如Mid_01.ts-Mid_03.ts,实际上有多个,即Mid_On.ts,n为正整数,此处以3个为例hLowJl.ts~ Low _03.ts表示低速对应的切片,High_Ol.ts?High _03.ts表示高速对应的切片。之后用AES-128(AES-The AdvancedEncrypt1n Standard,是美国国家标准与技术研究所用于加密电子数据的规范)的key对切片加密,把加密后的切片和明文的key同时发布到HTTP或HTTPS(Hyper Text TransferProtocol over Secure Socket Layer)服务器上。
[0004]HLS客户端先找到主索引(index)文件URL,下载并解析,通过解析后M3U8索引文件知道,不同带宽与码流切片对应关系,然后根据客户端的带宽选择对应的切片文件并下载对应AES-128的Key (密钥)进行解密播放。
[0005]近年来,国家越来越重视音视频数字版本的保护,保障音视频发行方的权益,维护市场的健康发展,随之带来的是传播过程的音频数据保护需求。而上述现有的音视频播放方式只能对传播过程进行简单保护,其具有以下缺点:
1、不能保护HLS音视频数字版权。因为是遵循标准的HLS协议,所以支持AES-128解密的客户端都可以拿到解密的key后进行解密播放。
[0006]2、安全级别不够高。HLS客户端个体之间通讯过程没有差异。客户端请求的都是同一加密视频源和相同的解密key,不同客户端可以用相同的key进行解密播放。
[0007]3、通讯过程没有识别个体差异,不能针对客户端进行不同内容权限的配置。
[0008]因此,现有技术还有待于改进和发展。

【发明内容】

[0009]鉴于上述现有技术的不足之处,本发明的目的在于提供一种音视频的加密播放方法及其系统,以解决现有HLS协议不能保护HLS音视频数字版权、安全级别较低、不能识别个体差异的冋题。
[0010]为了达到上述目的,本发明采取了以下技术方案: 一种音视频的加密播放方法,其包括步骤:
客户端与服务器之间相互进行身份验证;
验证合法后,需要播放音视频时,客户端从服务器获取索引文件并解析;
客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放;
或者,客户端从服务器获取实时加密的音视频并解密播放。
[0011]所述的音视频的加密播放方法中,所述客户端与服务器之间相互进行身份验证的步骤具体包括:
客户端开机时用CA root公钥校验厂商证书,用厂商证书检查自身的设备证书是否合法,合法时发送所述设备证书给服务器;
服务器用预安装的CA root公钥校验客户端发过来的厂商证书,用厂商证书校验设备证书是否合法,合法时返回认证成功消息给客户端;
所述的音视频的加密播放方法中,所述服务器校验客户端的设备证书是否合法,是通过比较设备证书里的mac地址与实际通讯的mac地址是否相同来判断。
[0012]所述的音视频的加密播放方法中,所述客户端从服务器获取加密的AESkey,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放的步骤具体包括:
客户端向服务器请求AES key;
服务器检查权限并对AES key加密,在客户端有权限时返回加密的AES key;
客户端用其私钥对加密的AES key解密后,根据索引文件向服务器请求视频源;
服务器校验用户权限合法后返回预加密音视频给客户端,客户端用解密后的AES key对预加密音视频进行解密播放。
[0013]所述的音视频的加密播放方法中,所述服务器对AESkey加密,是结合设备证书里的公钥对AES key进行加密。
[0014]所述的音视频的加密播放方法中,所述客户端从服务器获取实时加密的音视频并解密播放的步骤具体包括:
客户端根据索引文件向服务器请求视频源;
服务器检查用户权限合法后,用该客户端的公钥加密音视频;
服务器返回加密后的音视频给客户端,客户端用私钥对该音视频进行解密播放。
[0015]所述的音视频的加密播放方法中,所述服务器校验用户权限,是判断与服务器通讯的mac地址与服务器收到的设备证书里的mac地址是否匹配,匹配则合法。
[0016]—种用于实现所述的音视频的加密播放方法的加密播放系统,其包括客户端和服务器;
所述客户端与服务器之间相互进行身份验证;验证合法后,需要播放音视频时,客户端从服务器获取索引文件并解析;
客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放;或者,客户端从服务器获取实时加密的音视频并解密播放。
[0017]相较于现有技术,本发明提供的一种音视频的加密播放方法及其系统,所述音视频的加密播放方法包括步骤:客户端与服务器之间相互进行身份验证;验证合法后,需要播放音视频时,客户端从服务器获取索引文件并解析;客户端从服务器获取加密的AES key(高级加密标准的密钥),对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放;或者,客户端从服务器获取实时加密的音视频并解密播放。通过身份验证能识别出客户端的个体差异,通过对AES key加解密,或对音视频加解密来实现数字内容的版权保护,提高了安全性。从而解决了现有HLS协议不能保护HLS音视频数字版权、安全级别较低、不能识别个体差异的问题。
【附图说明】
[0018]图1是现有的M3U8索引文件的关系不意图;
图2是本发明音视频的加密播放方法流程图;
图3是本发明音视频的加密播放方法中AES key加密的流程示意图;
图4是本发明音视频的加密播放方法中音视频加密的流程示意图;
图5是本发明音视频的加密播放系统的结构框图。
【具体实施方式】
[0019]本发明提供了一种音视频的加密播放方法及其系统,针对音视频从前端配置到客户端播放的音视频保护问题,基于HLS协议,通过身份认证、用客户端的设备证书的公钥对AES keyCAdvanced Encrypt1n Standard,高级加密标准)加密、或对音视频即时加密来实现数字内容的版权保护。为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0020]请同时参阅图2、图3和图4,本发明提供的音视频的加密播放方法包括以下步骤: S100、客户端与服务器之间相互进行身份验证;
S200、验证合法后,需要播放音视频时,客户端从服务器获取索弓I文件并解析;
S300、客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放;
或者,客户端从服务器获取实时加密的音视频并解密播放。
[0021]本实施例中,客户端与服务器之间进行的身份验证,主要是通过校验设备证书和厂商证书(均是X.509格式的证书)来验证双方是否都合法。而这些证书是在出厂前设置的,则在所述步骤SlOO之前,还包括证书生成过程,具体为:
AOl、CA认证中心给设备厂商颁发签名证书。
[0022]A02、设备厂商生产设备时,设备厂商给设备分配公钥,私钥和mac地址,并用厂商私钥给每台设备签名生成设备证书。所述设备证书里包含了设备最终使用的mac地址,公钥,有效期等信息。
[0023]A03、设备在出货(以及工作)时,应该携带CA root公钥(即CA认证中心的根公钥)、厂商证书、设备证书、设备的公钥和私钥。
[0024]这样运营商可以根据设备证书和mac地址配置不同客户端的音视频节目源的权限,以mac址址和设备证书作为客户端设备的身份标识。具有严格的证书管理链,能保证整个系统的安全。
[0025]所述步骤SlOO具体包括:
步骤110、客户端开机时先用CA root公钥校验自身的厂商证书,再用厂商证书检查自身的设备证书是否合法,合法时发送所述设备证书给服务器。
[0026]客户端具体为一设备,可以为机顶盒、手机、电脑、平板等。所述设备证书包括设备厂商,有效期,mac址址(物理地址)和公钥等摘要信息。客户端通过校验该设备证书从而来验证其身份真实性。
[0027]步骤120、服务器用预安装的CAroot公钥校验客户端发来的厂商证书,如果校验是合法的,再用厂商证书检验设备证书是否合法,合法时返回认证成功消息给客户端。
[0028]服务器比较设备证书里的mac地址与实际的通讯数据来源的mac地址(即客户端与服务器之间通讯连接时使用的mac地址)是否相同。相同则校验设备证书合法。
[0029]步骤130、客户端校验服务器证书是否合法,合法时执行步骤S200。
[0030]上述校验中,若出现不合法,则直接在客户端上提示设备证书或厂商证书不合法,在服务器上提示设备证书不合法并返回认证失败消息。通过双方的身份验证,通讯过程中能识别出客户端的个体差异,针对不同的客户端、服务器可进行不同的内容权限配置,从而可加强对客户端的控制和提高通讯安全。
[0031]在需要播放音视频时,在所述步骤S200中,客户端向服务器请求索引文件(S卩M3U8文件),服务器响应后返回对应的索引文件,客户端解析该索引文件以找到当前网速下的切片(即相应的音视频数据)。
[0032]在请求切片播放时,本实施例提供两种方案,图3对应第一种的AESkey加密方式,图4对应第二种的音视频加密方式。
[0033]如图3所示,所述步骤S300具体包括:
步骤301、客户端向服务器请求AES key;
步骤302、服务器检查权限并对AES key加密,在客户端有权限时返回加密的AES key;此处的权限是检查该客户端是否有购买相关视频播放权限套餐。服务器在步骤SlOO中进行身份验证时,有收到客户端的设备证书。服务器结合设备证书里的公钥对AES key进行加密。
[0034]步骤303、客户端用其私钥对加密的AESkey解密后,根据索引文件向服务器请求视频源;后续用解密后的AES key解密视频内容;
客户端的私钥(private key)和公钥是相对应的,因此用该公钥加密的AES key可以通过私钥解密。由于不同客户端的私钥和公钥不同,服务器生成的加密的AES key也各不相同,且与客户端一一对应。不同的客户端有不同的AES key,客户端之间存在差异,就能解决现有技术中不同客户端用相同的key进行解密播放导致安全性较低的问题。
[0035]步骤304、服务器校验用户权限合法后返回预加密音视频给客户端,客户端用解密后的AES key对预加密音视频进行解密播放。
[0036]此处校验用户权限即判断该客户端是否有权限播放该音视频,即客户端实际与服务器通讯的mac地址与服务器收到的设备证书里的mac地址是否匹配。匹配则有权限,将已经预先加密好的音视频数据(即根据索引文件查找出的切片)返回给客户端,客户端对预加密音视频进行解密后即可播放。音视频数据的是服务器提前用AES-128加密。不匹配无权,可能出现其他客户端盗用的情况,则不返回,客户端显示无信号。
[0037]如图4所示,所述步骤S300具体包括:
步骤310、客户端根据索引文件向服务器请求视频源;
步骤320、服务器检查用户权限合法后,用该客户端的公钥加密音视频;
校验用户权限是否合法,是判断客户端实际与服务器通讯的mac地址与服务器收到的设备证书里的mac地址是否匹配。匹配就合法,不匹配就不合法。服务器在步骤SlOO中有收到客户端的设备证书,设备证书里有客户端的公钥。服务器结合客户端的公钥和现有的音视频加密算法对需要播放的音视频(即对应的切片)加密。
[0038]步骤320、服务器返回加密后的音视频给客户端,客户端用设备的私钥对该音视频进行解密播放。
[0039]客户端解密是根据自身的私钥和现有的音视频加密算法即可解密。
[0040]图3所示的AESkey加密方式,与图4所示的音视频加密方式的区别在于:
1、由于AES key加密方式返回的是预加密音视频,节省了音视频实时加密时间,因此适用于数据量大的情况。音视频加密方式需要当前实时加密,需花费一定的加密时间,为避免出现音视频缓冲时间过长,因此适用于请求数据量较小的情况。
[0041]2,AES key加密方式需要先根据mac地址来检测用户是否有请求音视频的权限,有权限才能进行加密AES key。音视频加密方式不用请求AES key,直接用设备的公钥对音视频进行加密。
[0042]3,AES key加密方式中,预加密音视频的加解密为现有技术。而音视频加密方式中,服务器用客户端的公钥对音视频加密,客户端使用私钥解密。这是因为客户端接收到的加密流是不一样的,因此通过客户端的私钥(唯一的)解密来提高安全性,其他客户端即使截获该音视频也无法解密播放。
[0043]基于上述实施例,本发明还提供一种音视频的加密播放系统,如图5所示,包括客户端10和服务器20。所述客户端10与服务器20之间相互进行身份验证;验证合法后,需要播放音视频时,客户端从服务器获取索引文件并解析。客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放;或者,客户端从服务器获取实时加密的音视频并解密播放。
[0044]综上所述,本发明所提供的一种音视频的加密播放方法及其系统,区别于普通的HLS协议,客户端先利用设备证书和mac地址作为身份标识进行身份识别。身份合法后才能申请播放音视频。需要播放时采用先获取加密的AES key并通过设备的私钥才能正确解密,之后再申请需要播放的音视频的方式;或直接使用客户端的公钥加密音视频后反馈的方式;由于私钥是各客户端独有的,可提高安全性。服务器传输数据时使用设备的公钥对数据传输过程加密,还将实际通讯的mac地址与设备证书里的mac地址进行比较来校验权限,保证通讯过程是受保护且不会被拦截。基于各客户端的设备证书和mac地址都不一样,能较好地防止其他设备克隆音视频数据。
[0045]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【主权项】
1.一种音视频的加密播放方法,其特征在于,包括步骤: 客户端与服务器之间相互进行身份验证; 验证合法后,需要播放音视频时,客户端从服务器获取索引文件并解析; 客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放; 或者,客户端从服务器获取实时加密的音视频并解密播放。2.根据权利要求1所述的音视频的加密播放方法,其特征在于,所述客户端与服务器之间相互进行身份验证的步骤具体包括: 客户端开机时用CA root公钥校验厂商证书,用厂商证书检查自身的设备证书是否合法,合法时发送所述设备证书给服务器; 服务器用预安装的CA root公钥校验客户端发过来的厂商证书,用厂商证书校验设备证书是否合法,合法时返回认证成功消息给客户端。3.根据权利要求2所述的音视频的加密播放方法,其特征在于,所述服务器校验客户端的设备证书是否合法,是通过比较设备证书里的mac地址与实际通讯的mac地址是否相同来判断。4.根据权利要求1所述的音视频的加密播放方法,其特征在于,所述客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放的步骤具体包括: 客户端向服务器请求AES key; 服务器检查权限并对AES key加密,在客户端有权限时返回加密的AES key; 客户端用其私钥对加密的AES key解密后,根据索引文件向服务器请求视频源; 服务器校验用户权限合法后返回预加密音视频给客户端,客户端用解密后的AES key对预加密音视频进行解密播放。5.根据权利要求4所述的音视频的加密播放方法,其特征在于,所述服务器对AESkey加密,是结合设备证书里的公钥对AES key进行加密。6.根据权利要求1所述的音视频的加密播放方法,其特征在于,所述客户端从服务器获取实时加密的音视频并解密播放的步骤具体包括: 客户端根据索引文件向服务器请求视频源; 服务器检查用户权限合法后,用该客户端的公钥加密音视频; 服务器返回加密后的音视频给客户端,客户端用私钥对该音视频进行解密播放。7.根据权利要求6所述的音视频的加密播放方法,其特征在于,所述服务器校验用户权限,是判断与服务器通讯的mac地址与服务器收到的设备证书里的mac地址是否匹配,匹配则合法。8.—种用于实现权利要求1所述的音视频的加密播放方法的加密播放系统,其特征在于,包括客户端和服务器; 所述客户端与服务器之间相互进行身份验证;验证合法后,需要播放音视频时,客户端从服务器获取索引文件并解析; 客户端从服务器获取加密的AES key,对所述加密的AES key解密后、用AES key解密从服务器获取的预加密音视频并播放;或者,客户端从服务器获取实时加密的音视频并解密播放。
【文档编号】H04N19/46GK105939484SQ201610413357
【公开日】2016年9月14日
【申请日】2016年6月14日
【发明人】徐伟杰
【申请人】深圳创维数字技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1