我想使用清除键对我的内容进行编码。我用的是破折号协议。我知道如何加密和播放加密内容。我的问题是如何生成这些密钥,以便我可以打开自己的明确密钥授权服务器。
发布于 2021-04-21 09:16:45
值得一提的是,ClearKey并不是真正的DRM --它缺乏大多数DRM包含的安全密钥交换机制。用DASH论坛自己的话说,ClearKey是“在HTTPS交付的令牌auth和DRM之间提供一个级别的内容保护”。
如果这对您有好处,那么它很可能是您的用例的适当选择,并且它确实为打击盗版提供了一个障碍。
密钥本身是普通的16字节AES加密密钥。
您可以创建您自己的密钥生成器,但是有一些您应该知道的最佳实践--例如:https://stackoverflow.com/a/3452620/334402 (Java)和https://stackoverflow.com/a/42573924/334402 (.NET -也请注意注释、重新字符串中的讨论)。
还有一些站点和服务可以生成密钥(参见下面的示例),但我认为从您的问题中可以看出,您更有可能像上面这样将其构建到您自己的解决方案中。
(更新-参见注释中的讨论)-- EME规范定义了浏览器处理加密内容的方式,包括它们如何请求许可证密钥,该规范在返回的密钥编码中包含以下内容:
"kty“(键类型) "oct”(八进制序列) "k“(键值)包含对称密钥值”value“(key ID)的八重组序列的base64url编码包含密钥ID值的八重组序列的base64url编码
这是专门针对ClearKey的-- DRM系统的密钥在加密的DRM系统许可证请求和响应消息传递中是安全的。
这里要注意的是'base64url‘编码--这是base64编码的一个变体,它'url友好’,不包括字符+和/。有关base64变体的更多信息可以在这里获得:
这的影响是,您必须使用base63url编码的ClearKey许可响应符合EME的解决方案-即大多数(或全部.)浏览器播放器。
另一个注意事项--一旦您拥有了密钥,就可以通过清单中包含的许可服务器URL来请求它们,比如某些DRM,或者密钥本身可以直接嵌入到清单中。
https://stackoverflow.com/questions/67181403
复制相似问题