Google Widevine DRM 密钥轮换

Posted

技术标签:

【中文标题】Google Widevine DRM 密钥轮换【英文标题】:Google Widevine DRM Key Rotation 【发布时间】:2018-09-17 12:56:48 【问题描述】:

Widevine DRM 客户端播放器能否维护已用于内容解密的密钥的日志?日志可用于获取某些统计信息,例如识别内容被查看的位置。

另外,“pssh”数据博客中收到的密钥是否也使用特定令牌或会话密钥加密?

【问题讨论】:

【参考方案1】:

pssh 仅包含 KID(密钥 ID)或一般保护标头,而不包含真正的解密密钥。应用程序需要使用这些 KID/保护标头从许可证服务器请求许可证。许可证包含解密密钥,但这些密钥永远不会暴露给您的应用程序。许可证中的密钥是加密的。您拥有的唯一信息是 KID。

Widevine 客户端应该有某种地图,显示已知 KID 和事件的哪些状态,以便在地图更改时通知您。例如:

EME:keyStatuses 和 onkeystatuseschange MediaKeySession android:queryKeyStatus 和 OnKeyStatusChangeListener 在Media DRM

您可以使用它们来监控应用中键的使用情况。

【讨论】:

【参考方案2】:

我假设 Widevine DRM 是指 Widevine CDM。

一旦密钥过期(根据许可政策的密钥持续时间),它将被与 KID (KeyID) 对应的更新密钥替换。所以“不”它不维护使用过的密钥的日志

Pssh 盒子没有 Keys。

它有 KeyIds 和 Init Data,CDM 可以从中准备许可证请求,使用哪个应用程序可以从许可证服务器获取许可证

【讨论】:

以上是关于Google Widevine DRM 密钥轮换的主要内容,如果未能解决你的问题,请参考以下文章

带有 DRM 密钥轮换的 YouTube 流只能播放 2 分钟

在 Chromecast 上播放 Widevine DRM

html 播放器的 Widevine DRM 保护内容中的用户授权。

Google Widevine及其工作原理

如何在android webview中播放widevine drm内容

深入理解DRM——了解Widevine与OEMCrypto