-2

在这个用例中,服务器向浏览器发送一个加密的 blob,浏览器上的 javascript 随后从服务器请求解密密钥并将 blob 解密为可用内容。

有没有办法保护浏览器上的这个密钥免受书签或浏览器插件的攻击,或者用户单步执行浏览器上的 javascript 调试器?或者至少让它对攻击者来说是一个稍微困难的问题。

编辑:问题的上下文是 EME 规范中指定的 HTML 视频 DRM。有一个 ClearKey api 是该标准的一部分,并且不需要 WideVine 或 FairPlay 等的闭源插件。但正如多个回复所指出的那样,ClearKey 无法受到保护。(不幸的是,这意味着使用专有的 DRM 插件)。

4

2 回答 2

6

一旦数据到达客户端,您无法保证任何数据的安全性。

没有办法做到这一点。一旦客户端收到此信息,特别是如果他们也收到解密密钥,他们就可以完全访问其中的所有秘密。

在一个非常简单的范围内,他们可以只删除一些断点或将一些断点放在printsjavascript 控制台中。如果他们想要更高级,他们可以使用像 wireshark 这样的工具来查看通过网络传输的数据。

现在,如果您想向他们发送未解密的加密数据,并且它是高度加密的,那么它还不错。但是,如果您永远不会在他们这边解密它,那么您发送它是为了什么?

于 2015-02-26T21:48:59.773 回答
6

同意不能做。您可以使用非对称加密来做到这一点。但我会回到你为什么这样做——如果连接是 SSL 加密的,就没有理由这样做。

于 2015-02-26T21:54:15.370 回答