视频安全
# 一、视频安全概述
如何保障视频内容的安全,不被盗链、非法下载和传播,是众多企业困扰已久的问题,特别是独播剧、在线教育、财经金融、行业培训等在线版权视频领域尤为迫切,处理不好会造成极为严重的经济损失,甚至法律风险。
阿里云视频点播提供了完善的内容安全保护机制,可以满足不同业务场景的安全需求。
# 1、阿里云vod服务支持的视频安全策略
参考文档中的图表:文档-开发指南-视频安全
https://help.aliyun.com/document_detail/99436.html?spm=a2c4g.11186623.6.669.2a402970yUpZ9Y

2、阿里云视频加密
阿里云视频加密采用私有的加密算法和安全传输机制,提供云端一体的视频安全方案,核心部分包括 “加密转码” 和 “解密播放”。核心优势:
- 每个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引起大范围的安全问题。
- 提供信封加密机制“密文Key+明文Key”,仅密文Key入库,明文Key不落存储,所有过程只在内存中,用完即销毁。
- 提供安全的播放器内核SDK,涵盖iOS/Android/H5/Flash多平台,自动对加密内容进行解密播放。
- 播放器和云端使用私有加密协议进行密文传输,不传输明文Key,有效防止密钥被窃取。
- 提供安全下载,缓存到本地的视频会再次加密,在确保无网离线播放前提下,防止视频被拷贝窃取。
使用方式参考 阿里云视频加密 (opens new window)。
注意事项
- 视频加密只支持输出HLS格式
- 需使用视频点播提供的iOS/Android/Flash播放器对加密内容进行解密播放,H5播放器不支持加密视频的播放。
# 3、阿里云视频加密整体架构
阿里云视频加密方案包含两部分:加密转码 + 解密播放。

# 加密 转码
APP后台发起视频加密
业务方提交需要数据加密的转码作业。(用户将视频上传至oss服务器后,业务服务器回通过自动触发或主动发起的方式请求MTS进行转码)
视频点播获取加密秘钥
视频点播服务负责通过密钥管理服务KMS生成明文Key和密文Key。
视频加密转码
使用明文Key来加密视频文件,转码完成后,明文Key丢弃,不存储。
转码完成+消息通知
保存加密后的视频文件,并给业务方发送消息通知。(回调)
# 解密播放
业务授权
移动端的APP或者Web页面访问视频时,先访问业务方自己的API或后端页面,业务方可以在这里加上自己的权限控制(例如需要登录才能播放, 建议使用HTTPS)。如果业务上允许播放,则通过业务方子账号的AK访问STS,获取播放凭证,并返回给APP/WEB端。
获取播放地址
移动端的APP或者Web页面把播放凭证和媒体ID参数传给阿里云播放服务,播放器SDK会负责剩下的播放流程:
- 根据媒体ID从视频点播服务获取对应的多格式、多清晰的播放地址。
- 加密视频获取对应的加密钥匙。
解密播放
视频云提供了安全的播放内核SDK,使用加密钥匙对内容解密,然后进行视频播放。
# 二、阿里云视频加密接入步骤
# 1、选择加密转码模板
登录视频点播控制台,选择全局设置>转码设置。
在视频转码模板组页面下,选择目标视频转码模板,单击编辑。
在高级参数下,打开HLS加密开关使用数据加密,保护您的视频。
这里分片时长设置的小一些,可以实现秒开秒播

# 2、视频上传
可以通过SDK上传、OpenAPI上传、控制台上传、OSS第三方工具上传等多种方式来将已有视频文件上传到视频点播
# 3、视频转码
视频上传完成后会自动触发转码,转码完成后视频状态标记为正常可播放
# 4、视频流管理
加密转码输出的内容,流信息会标示“加密”,具体参考播放信息 PlayInfo。在控制台也会展示”加密“标示,便于进行多种方式的内容管理。

# 5、视频播放
视频点播提供iOS/Android/Flash多平台的播放SDK供集成,以便用户在自己的应用或网站中完成视频播放。
说明:加密视频,需使用播放凭证方式进行播放,播放器需要的参数playauth,可调用API接口或SDK获取