DASH DRM Technologies Summary
最编程
2024-07-18 16:38:12
...
tenc
box(位于Initialization Segment,通常指的是位于 moov
box 的 trak
box 中)描述了加密参数和default_KID
。位于 sgpd
box 的 default_KID
会覆盖 tenc
中的 default_KID
,同样,关于 "not encrypted" 的参数也会被覆盖。当样本可用于解密时,样本组描述中KID引用的密钥必须可用,其可能位于 moof
box中的 pssh
box。default_KID
也可能出现在 MPD中。senc
box 可能存储了 IV
(initialization vectors) 和 subsample 的加密范围。对于一个加密track而言,其位于 traf
box(track fragment box)中。访问这些存储的参数需要借助于 szio
和 saiz
box。(参考ISO14496-12 #8.7.8)pssh
用于批准对于以"Protection System Specific"形式的DRM获取的数据或者keys。pssh
可能存在于moov
或者 moof
box。其也可能以cenc:pssh
的形式出现在 MPD 中,这种形式支持 faster parsing,earlier access,identification of duplicate license requests,和不修改内容的前提下的附加DRMs。在moov
中的pssh
形式并不是推荐的,因为在Web浏览器中为每个Representation和比特率切换 Initialization Segment 时,它们都会触发license requests。-
sbgp
和seig
类型的sgpd
用于声明应用于每个sample的KID
,和隔断时间对于KIDs
的改变,即 Key rotation。 当Segment中的sample可用于解密时,样本组引用的KID
必须具有与这些KID
对应的密钥. Segments 种的 sample group 引用的Keys位于moof
种的pssh
box 中。版本 1"pssh"框可用于列出存储的 KID 值,以便在文件分段时删除重复box。 - 对于不同用户,Movie Fragment 中存储的
pssh
采用一致的DRM格式,以使得 Movie Fragment 可以被不同用户共享。用户特定信息必须"带外"(out of band)传递,如与default_KID
关联的"root"许可证中,该许可证可以针对每个 DRM 客户端进行个性化设置,并控制对存储在 Media Segments 中的共享"pssh"信息的访问,例如,使用特定于用户的 DRM 根许可证提供的"root key"加密存储在Segment"pssh"box中的密钥。cenc
指定"pssh"以启用moov
/moof
的密钥存储;但它不排除满足 KID 索引和可用性要求的其他密钥交付方法。