一种视频数据保护方法、装置、计算机设备及存储介质与流程

摘要: 本申请涉及流媒体视频安全与数字版权保护,特别是涉及一种视频数据保护方法、装置、计算机设备及存储介质。背景技术:1、在web端视频点播场景中,视频资源通常采用分片...
一种视频数据保护方法、装置、计算机设备及存储介质与流程

本申请涉及流媒体视频安全与数字版权保护,特别是涉及一种视频数据保护方法、装置、计算机设备及存储介质。

背景技术:

1、在web端视频点播场景中,视频资源通常采用分片化方式进行传输,例如通过播放索引记录多个视频分片的获取路径,并由客户端依据该播放索引连续请求相应分片以完成播放。由于web端播放环境相对开放,播放过程中的网络请求、索引内容以及请求参数较容易被观察或截获:例如,用户可通过浏览器开发者工具的网络面板直接查看视频分片请求地址,复制后借助下载工具批量下载;也可在获取播放索引后,根据其中暴露的分片地址或具有规律性的路径结构推测后续分片地址;还可通过抓包工具截获携带鉴权参数的请求,并在鉴权参数有效期内批量重放或伪造请求。进一步地,若播放索引本身缺乏有效保护,即使单个视频分片设置了访问控制,攻击者仍可能通过泄露的索引内容掌握完整或接近完整的视频分片序列,从而脱离正常播放器流程获取视频数据。

2、现有技术中虽然提出了采用url鉴权、访问令牌、请求时效控制、索引文件保护、视频内容加密等方式提高视频资源的获取门槛,但是,这些方式在实际应用中往往偏向于对单个请求、单个文件或单一访问环节进行保护,视频分片的获取入口与解密信息的获取入口之间缺乏与实际播放进程相匹配的联动约束;具体来说,一旦客户端在合法点播过程中获得了较完整的播放索引、分片请求入口以及对应的密钥请求入口,仍可能模拟播放器行为,绕开正常播放节奏批量请求视频分片及其解密信息,进而恢复出可播放的视频内容。

技术实现思路

1、基于此,有必要提供一种能够在视频点播过程中对客户端可获取的视频数据及其解密信息进行动态约束的视频数据保护方法、装置、计算机设备及存储介质,以至少解决相关技术中视频数据请求入口及对应解密信息请求入口容易在播放过程中被过度暴露,进而被模拟播放器请求批量获取的技术问题。

2、第一方面,提供一种视频数据保护方法,应用于服务端,所述方法包括:

3、响应于接收到客户端针对目标视频发送的播放请求,则创建播放会话,并基于所述播放会话的会话状态确定数据分发窗口以至少表征当前允许向所述客户端提供的视频数据范围;

4、获取所述目标视频的媒体索引信息,并从所述媒体索引信息指示的视频数据单元中选取处于所述数据分发窗口的窗口数据单元;

5、确定所述窗口数据单元对应的数据访问标识以及用于解密所述窗口数据单元的媒体密钥的密钥访问标识,并建立所述数据访问标识、所述密钥访问标识与所述播放会话、所述数据分发窗口、所述窗口数据单元及所述媒体密钥之间的授权关系;

6、根据所述窗口数据单元、所述数据访问标识和所述密钥访问标识生成媒体子索引,并将所述媒体子索引发送至所述客户端,以使所述客户端依据所述媒体子索引向所述服务端发起携带所述数据访问标识和/或所述密钥访问标识的访问请求;

7、响应于接收到所述访问请求,则基于所述授权关系验证所述访问请求,若验证通过则向所述客户端提供所述访问请求对应的窗口数据单元和/或用于解密所述窗口数据单元的媒体密钥,并更新所述播放会话的会话状态。

8、第二方面,提供一种视频数据保护方法,应用于客户端,所述方法包括:

9、响应于接收到视频点播操作,则确定目标视频,生成对应播放请求并发送至服务端;

10、接收并解析所述服务端响应于所述播放请求返回的媒体子索引,得到当前窗口内的视频数据单元对应的数据访问标识,以及用于解密所述视频数据单元的媒体密钥的密钥访问标识;

11、向所述服务端发起携带所述数据访问标识的访问请求,以获取所述视频数据单元;

12、向所述服务端发起携带所述密钥访问标识的访问请求,以获取所述媒体密钥;

13、基于所述媒体密钥对对应的所述视频数据单元进行解密,得到所述当前窗口的视频数据并播放。

14、第三方面,提供了一种视频数据保护装置,应用于服务端,所述装置包括:

15、会话窗口确定模块,用于响应于接收到客户端针对目标视频发送的播放请求,则创建播放会话,并基于所述播放会话的会话状态确定数据分发窗口以至少表征当前允许向所述客户端提供的视频数据范围;

16、窗口单元选取模块,用于获取所述目标视频的媒体索引信息,并从所述媒体索引信息指示的视频数据单元中选取处于所述数据分发窗口的窗口数据单元;

17、授权关系建立模块,用于确定所述窗口数据单元对应的数据访问标识以及用于解密所述窗口数据单元的媒体密钥的密钥访问标识,并建立所述数据访问标识、所述密钥访问标识与所述播放会话、所述数据分发窗口、所述窗口数据单元及所述媒体密钥之间的授权关系;

18、子索引发送模块,用于根据所述窗口数据单元、所述数据访问标识和所述密钥访问标识生成媒体子索引,并将所述媒体子索引发送至所述客户端,以使所述客户端依据所述媒体子索引向所述服务端发起携带所述数据访问标识和/或所述密钥访问标识的访问请求;

19、访问请求处理模块,用于响应于接收到所述访问请求,则基于所述授权关系验证所述访问请求,若验证通过则向所述客户端提供所述访问请求对应的窗口数据单元和/或用于解密所述窗口数据单元的媒体密钥,并更新所述播放会话的会话状态。

20、第四方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项视频数据保护方法的步骤。

21、第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项视频数据保护方法的步骤。

22、上述视频数据保护方法、装置、计算机设备和存储介质,服务端并不在播放开始阶段向客户端一次性暴露完整的视频分片序列及完整的密钥请求入口,而是根据播放会话的推进情况,分阶段释放当前播放范围内所需的媒体访问内容,并将视频数据的获取入口与相应解密信息的获取入口纳入同一会话控制体系中进行关联校验,由此,即使客户端在web端播放过程中通过开发者工具、抓包工具等方式观察或截获了部分索引内容、分片请求信息或密钥请求信息,其能够利用的内容也被限制在当前会话和当前播放范围内,难以直接据此批量推测、重放或构造完整视频的分片请求及密钥请求;同时,服务端可随着访问请求的处理持续更新播放会话状态,使后续可访问的视频数据范围随正常播放进程动态变化,从而在保证客户端正常连续播放的同时,避免完整媒体数据序列及对应解密信息请求入口被过度暴露,提高视频数据与媒体密钥的联动访问控制能力,降低合法播放过程被批量下载工具利用并恢复完整可播放视频内容的可能性。

1.一种视频数据保护方法,应用于服务端,其特征在于,所述方法包括:

2.根据权利要求1所述的一种视频数据保护方法,其特征在于,所述响应于接收到客户端针对目标视频发送的播放请求,则创建播放会话,并基于所述播放会话的会话状态确定数据分发窗口以至少表征当前允许向所述客户端提供的视频数据范围,包括:

3.根据权利要求2所述的一种视频数据保护方法,其特征在于,所述获取所述目标视频的媒体索引信息,并从所述媒体索引信息指示的视频数据单元中选取处于所述数据分发窗口的窗口数据单元,包括:

4.根据权利要求3所述的一种视频数据保护方法,其特征在于,所述确定所述窗口数据单元的数据访问标识以及所述窗口数据单元关联的媒体密钥的密钥访问标识,并建立所述数据访问标识、所述密钥访问标识与所述播放会话、所述数据分发窗口、所述窗口数据单元及所述媒体密钥之间的授权关系,包括:

5.根据权利要求4所述的一种视频数据保护方法,其特征在于,所述根据所述窗口数据单元、所述数据访问标识和所述密钥访问标识生成媒体子索引,包括:

6.根据权利要求4所述的一种视频数据保护方法,其特征在于,所述基于所述授权关系验证所述访问请求,若验证通过则向所述客户端提供所述访问请求对应的窗口数据单元和/或用于解密所述窗口数据单元的媒体密钥,并更新所述播放会话的会话状态,包括:

7.一种视频数据保护方法,应用于客户端,其特征在于,所述方法包括:

8.一种视频数据保护装置,应用于服务端,其特征在于,所述装置包括:

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。