媒体转码HLS标准加密详解

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 视频加密是对视频内容保护的一种手段,对视频中的内容进行加密,可有效防止视频泄露和盗链问题,广泛用于在线教育及财经等领域。阿里云目前支持两种加密方式: 私有加密 和 HLS标准加密,HLS标准加密需要客户自己保护密钥,此文档介绍HLS标准加密

作者:何昔

  1. 基本概念

秘钥管理服务(Key Management Service,简称KMS)
一项安全管理服务,主要负责数据秘钥的生产、加密、解密等工作。开通请点击这里

数据秘钥(Data Key,简称DK)也称明文密钥
DK为加密数据使用的明文数据密钥

信封数据密钥(Enveloped Data Key,简称EDK)也称密文密钥
EDK为通过信封加密技术保密后的密文数据密钥

  1. 原理

HLS标准加密是通过MTS调用KMS服务生成明文秘钥DK进行加密,将对应的密文秘钥EDK 通过keyuri发送给客户,keyuri 是客户创建HLS标准加密工作流的时候需要传入的一个参数,是用户业务服务器的URL地址;用户业务服务器keyuri可以通过 KMS的API接口解密接收到的密文秘钥EDK得到明文秘钥DK,再进行base64decode返回给客户端,客户端通过该值解密播放视频;

  1. 操作

1)开通KMS

2)调用sdk 创建工作流,传入对应的参数(点击查看demo

工作流中关键配置

开始活动结点:InputFile:{"Bucket":"bucketdemo", "Location ":"oss-cn-hangzhou", "ObjectPrefix":"HLS-Encryption"};
此配置表示:内容创作者上传视频到杭州 oss://bucketdemo/HLS-Encryption 这个路径下会自动触发加密转码;

转码活动结点:Encryption:{"Type":"hls-aes-128", "KeyUri":"https://decrypt.demo.com"};
转码完成后,KeyUri的配置会出现在m3u8文件中,供播放器使用,内容类似:URI="https://decrypt.demo.com?Ciphertext=aabbccddeeff&MediaId=fbbf98691ea44b7c82dd75c5bc8b9271"
其中Ciphertext参数的内容就是密文秘钥EDK,MediaID就是该媒体资源的媒体ID;其中用户业务服务器KeyUri可以通过 KMS的API接口解密接收到的密文秘钥EDK,得到明文秘钥DK,再进行base64decode返回给客户端,客户端通过该值解密播放视频;

3)上传视频

两种方法上传视频,都会自动触发加密转码
I 通过MTS控制台上传视频至刚刚创建的工作流
II 通过OSS上传工具上传视频至oss://bucketdemo/HLS-Encryption路径
III 转码完成后,m3u8文件内容示例

#EXTM3U
 #EXT-X-VERSION:3
 #EXT-X-TARGETDURATION:5
 #EXT-X-MEDIA-SEQUENCE:0
 #EXT-X-KEY:METHOD=AES-128,URI="https://decrypt.demo.com?Ciphertext=aabbccddeeff&MediaId=fbbf98691ea44b7c82dd75c5bc8b9271"
 #EXTINF:4.127544,
 15029611683170-00001.ts
 #EXT-X-ENDLIST

4) 播放

播放器播放加密转码后的m3u8资源:https://vod.demo.com/test.m3u8
播放器解析得到EXT-X-KEY:METHOD=AES-128,URI=https://decrypt.demo.com?Ciphertext=aabbccddeeff&MediaId=fbbf98691ea44b7c82dd75c5bc8b9271 的URI部分内容,向URI请求获取明文秘钥DK 的base64decode数据;业务端接收到请求,根据Ciphertext=aabbccddeeff解析得到密文秘钥EDK: aabbccddeeff,业务端调用KMS API接口解析密文秘钥EDK,得到明文秘钥DK,进行base64decode返回给播放器端;播放器端根据得到的明文秘钥DK 的base64decode数据解密播放m3u8视频;

播放器支持:safari浏览器,苹果系的 H5播放都支持,VLC支持,MTS WEB播放器不支持

  1. 业务安全

如果用户想要业务安全,那么可以考虑客户端访问加密视频m3u8的时候加参数MtsHlsUriToken;
比如正常的播放地址为https://vod.demo.com/test.m3u8, 当拼接携带MtsHlsUriToken参数后为https://vod.demo.com/test.m3u8?MtsHlsUriToken=业务方颁发的令牌

播放时,播放器向阿里CDN请求https://vod.demo.com/test.m3u8?MtsHlsUriToken=业务方颁发的令牌 ,阿里CDN会动态修改m3u8文件中的解密URI(EXT-X-KEY:METHOD=AES-128,URI="https://decrypt.demo.com?Ciphertext=aabbccddeeff&MediaId=fbbf98691ea44b7c82dd75c5bc8b9271"),如原为https://decrypt.demo.com?Ciphertext=aabbccddeeff&MediaId=fbbf98691ea44b7c82dd75c5bc8b9271 , 修改后为 https://decrypt.demo.com?Ciphertext=aabbccddeeff&MediaId=fbbf98691ea44b7c82dd75c5bc8b9271&MtsHlsUriToken=业务方颁发的令牌

所以,播放器最终请求解密URI为:https://decrypt.demo.com?Ciphertext=aabbccddeeff&MediaId=fbbf98691ea44b7c82dd75c5bc8b9271&MtsHlsUriToken=业务方颁发的令牌 ,此地址中,携带了业务方搬发的令牌,业务方进行验证即可

  1. 业务方需要做的事情

1】搭建颁发及验证MtsHlsUriToken令牌服务
2】校验解密令牌,推荐一个令牌只允许使用一次
3】解密密钥:EDK即Ciphertext, 此时,要调用KMS服务的解密接口进行解密 接口说明, 解密后,可缓存,以减少不必要的网络IO
4】解密拿到DK即明文密钥,需要base64decode, 然后返回给播放器

相关文章
|
3月前
|
编解码 缓存 安全
视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题
视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题视频点播这边在执行 HLS标准加密 转码后的视频,在解密播放上有些技术问题
176 1
|
存储 安全 数据安全/隐私保护
产品百科 |HLS 标准加密安全播放
为了加强标准加密视频在解密播放时解密秘钥的安全性,业务方需要同时提供令牌服务和解密服务,其中令牌服务生成鉴权令牌,解密服务用于验证令牌和获取解密秘钥。
产品百科 |HLS 标准加密安全播放
|
开发框架 .NET 数据安全/隐私保护
视频点播HLS 标准加密实现 .net解密服务器搭建说明
解密服务器搭建成功了,但是访问之后出现解密失败或者无法访问加密的m3u8,可以从如下几点确认可能的原因。
视频点播HLS 标准加密实现 .net解密服务器搭建说明
|
应用服务中间件 数据安全/隐私保护 nginx
为SRS流媒体服务器添加HLS加密功能(附源码)
为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做SRS的流媒体服务器,比较活跃,而且据说这个流媒体服务器的性能和功能都强大不少,但遗憾的是没有HLS加密功能。
2755 0
|
4天前
|
SQL 安全 网络安全
数字堡垒之下:网络安全漏洞与加密技术的较量
在数字化的浪潮中,网络安全成为了保护信息资产的坚固堡垒。本文将探讨网络安全面临的挑战,特别是安全漏洞和加密技术的重要性,同时强调提升个人和企业的安全意识的必要性。我们将从网络攻击者利用安全漏洞的方式谈起,深入到加密技术如何成为防御手段的核心,最后探讨如何通过教育和实践提高安全防范能力,共同构建更安全的网络环境。
|
3天前
|
SQL 人工智能 安全
网络安全漏洞、加密技术与安全意识的探索
【8月更文挑战第16天】在数字化时代,网络安全成为维护个人隐私和企业数据的关键防线。本文将深入探讨网络安全中的漏洞问题,分析加密技术在保护信息安全中的作用,并强调培养良好的安全意识的重要性。通过案例分析和理论阐述,旨在为读者提供一套全面的网络安全知识体系,帮助其在日益复杂的网络环境中保持警惕,采取有效措施防范潜在的网络威胁。
|
3天前
|
SQL 安全 网络安全
网络安全与信息安全:漏洞、加密技术与安全意识的探讨
【8月更文挑战第16天】在数字化时代,网络安全与信息安全成为维护社会稳定和保护个人隐私的重要议题。本文将深入探讨网络安全漏洞的成因、影响及防范措施,介绍加密技术的基本原理和应用,并强调提升公众的安全意识在构建网络防线中的重要性。通过分析当前网络安全面临的挑战,提出加强技术防护和提高用户安全意识的双重策略,旨在为读者提供全面的网络安全知识分享。
20 9
|
2天前
|
安全 网络安全 数据安全/隐私保护
数字堡垒的裂缝与修复:网络安全漏洞、加密技术与安全意识
【8月更文挑战第17天】 在数字化时代,网络安全如同一座保护数据资产不受侵犯的数字堡垒。然而,这座堡垒并非无懈可击,网络攻击者不断寻找并利用安全漏洞进行破坏活动。本文将深入浅出地探讨网络安全中常见的漏洞类型、加密技术的工作原理以及提升个人和组织安全意识的重要性,旨在为读者提供一套实用的网络安全知识框架,帮助加固数字堡垒的每一砖一瓦。
|
3天前
|
SQL 安全 算法
数字堡垒:网络安全漏洞与加密技术的博弈
在数字化时代,网络安全与信息安全成为保护个人隐私和企业数据不可或缺的防线。本文将探讨网络安全的薄弱环节,分析加密技术如何作为盾牌抵御网络威胁,并强调提升安全意识的重要性。通过深入浅出的方式,我们旨在为读者揭开网络安全的神秘面纱,提供实用的防护策略,确保每个人都能在信息海洋中安全航行。
10 1
|
3天前
|
安全 网络协议 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
在数字化时代,网络安全和信息安全已成为我们生活中不可或缺的一部分。本文将介绍网络安全漏洞的概念、加密技术的基本原理以及提高个人和企业的安全意识的重要性。通过深入浅出的方式,帮助读者了解如何保护自己免受网络攻击,并提高对网络安全的认识。
9 1