阿里云视频加密可针对视频数据进行加密,本文为您介绍优势、整体架构和接入方法,并提供方案扩展方法。
背景
防盗链URL不能防止用户通过一次付费行为拿到付费视频合法的防盗链URL,将视频下载到本地,进而实现二次分发。因此,防盗链方案对于视频版权保护是不够的。视频文件一旦泄露,会给付费观看模式造成十分严重的经济损失。
优势介绍
阿里云视频加密是对视频数据加密,即使下载到本地,视频本身也是被加密的,无法恶意二次分发。视频加密可有效防止视频泄露和盗链问题,广泛用于在线教育、财经金融、行业培训、独播剧等在线版权视频领域。
采用阿里云私有加密算法,安全级别高,能够便捷、高效、安全地保护视频资源。
- 每个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引起大范围的安全问题。
- 视频点播提供完善的权限管理机制“子账号+播放凭证”。
- 视频点播提供信封加密机制“密文Key+明文Key”,明文Key不存储,所有过程只在内存中。
- 视频点播提供安全的播放内核SDK。
整体架构
- 加密转码
- App后台发起视频加密
业务方提交需要数据加密的转码作业。(上图中流程①)
- 视频点播获取加密密钥
视频点播服务负责通过密钥管理服务KMS生成明文Key和密文Key。(上图中流程②)
- 视频加密转码
使用明文Key来加密视频文件,转码完成后,明文Key丢弃,不存储。(上图中流程③)
- 转码完成+消息通知
保存加密后的视频文件,并给业务方发送消息通知。(上图中流程④)
- App后台发起视频加密
- 解密播放
- 业务授权
移动端的App或者Web页面访问视频时,先访问业务方自己的API或后端页面,业务方可以在这里加上自己的权限控制(例如需要登录才能播放,建议使用HTTPS)。如果业务上允许播放,则通过业务方子账号的AK访问STS,获取播放凭证,并返回给App/Web端。
- 获取播放地址
移动端的App或者Web页面把播放凭证和媒体ID参数传给阿里云播放服务,播放器SDK会负责剩下的播放流程:
- 根据媒体ID从视频点播服务获取对应的多格式、多清晰的播放地址。
- 加密视频获取对应的加密钥匙。
- 解密播放
视频云提供了安全的播放内核SDK,使用加密钥匙对内容解密,然后进行视频播放。
- 业务授权
接入方法
前提条件:
接入流程:
- 登录视频点播控制台,在点播控制台左侧的导航栏选择配置管理,单击 ,在转码模板组页面单击添加转码模板组。具体操作,请参见普通转码模板设置。
- 在普通转码模板区域单击添加模板,在添加模板页面将基本参数区域中的封装格式设置为hls。
- 在视频打包模板区域单击添加模板,在视频打包模板页面打开高级参数区域的视频加密开关,使用数据加密。
- 视频上传
可以通过SDK上传、OpenAPI上传、控制台上传、OSS第三方工具上传等多种方式来将已有视频文件上传到视频点播。更多信息,请参见媒体上传概述。
- 视频转码
视频上传完成后会自动触发转码,转码完成后视频状态标记为正常可播放。更多信息,请参见普通转码模板设置。
- 视频播放
视频点播提供iOS、Android、Web(H5、Flash)多平台的播放器SDK供集成,以便您在自己的应用或网站中完成私有加密视频的播放。暂不支持在移动端iOS平台的Web播放器中播放私有加密视频(此场景推荐使用HLS标准加密对视频进行加密),详细内容请参见播放阿里云视频加密(私有加密)视频。
说明 如使用播放凭证方式进行播放私有加密视频,播放器需要的参数playauth,可调用API接口或SDK获取。更多信息,请参见获取音视频播放凭证。 - 视频流管理
加密转码输出的内容,流信息会标示“加密”,更多信息,请参见播放信息 PlayInfo。在控制台也会展示私有加密标示,便于进行多种方式的内容管理。
方案扩展
如果终端用户有离线下载需求,为保证视频安全,建议开启安全下载。具体操作,请参见下载设置。将视频文件通过密钥进行二次加密,下载后在SDK内部完成视频解密,保障离线视频仅能通过唯一应用进行安全播放,让离线视频更加安全。