我很想知道是否有人想出了一种方法来以开源方式创建 DRM 的服务器部分,同时允许关闭 DRM 客户端。我知道如果客户端是开源的,那么删除 DRM 检查会很容易,但我相信服务器不会遇到同样的挑战。
5 回答
不是以任何实际的方式。
了解为什么将 DRM 与加密进行比较会有所帮助。加密是一种与受信任的第二方共享秘密的机制,而不受信任的第三方无法接收秘密消息。加密建立在非常扎实的数学背景之上,并且之所以起作用,是因为第二方被认为是可信任的用于解锁秘密消息的密钥。
另一方面,DRM 不将信任分配给除原始来源之外的任何一方。假设是第二方对秘密消息拥有有限的、可撤销的权利,并且不会将消息传递给任何其他方,即使他们愿意。问题是第二方必须以某种方式仍然解密消息,即使他们不相信有这样做的能力。这是 DRM 的基本概念挑战。
DRM 使用两种技术来实现这一点。首先是晦涩难懂。用于加密或解密托管消息的机制、算法和密钥本身是保密的。其次,专利保留用于某些方面,通常是解码算法,以便知道该部分的各方在法律上无法将其披露给其他方,或在没有适当许可的情况下使用它。
这两个功能都与开源相反。就其本质而言,开源公开了算法。在所谓的开源下发布的任何代码恰好也受专利保护,实际上并不是免费软件。
这是可能的,但就像任何 DRM 一样,它天生就被破坏了。;)
还有Project DReaM,Sun 的开源 DRM 框架。
我一点都不会感到惊讶。虽然我对此没有正式的理论,但由于流行的加密和散列函数是开源的并且经过很好的研究,大多数都经受住了黑客的考验一段合理的时间。而且我认为 DRM 与密码和哈希属于同一类问题。
我的意思是,现在被低估的 MD5 于 1992 年首次发布,直到 2005 年才展示了第一次制造和实际的碰撞(根据维基百科)。Blowfish 于 1993 年出版,至今仍没有有效的密码分析。
所以,当然,为什么不呢。这里的问题是,开源社区本身并没有动力去构建这样的设备……
编辑:我的回答受到了一些可以说是当之无愧的批评,基本上是说,简而言之,DRM 是默默无闻的安全性,其中默默无闻是通过使其开源而消失的。而且,当然,如前所述,我不同意谁。但是,我仍然不会感到惊讶,虽然今天的 DRM 是通过隐藏东西来完成的,但总有一天,一些聪明的人出现了,并设计了一个真正有效的 DRM。
当然,随心所欲地解雇,这实际上更像是一种思想游戏,但我学会了永远不要说永远。
取决于你的意思——你认为在你无法控制的客户端机器上运行的闭源DRM 是“可能的”吗?我所看到的一切都表明它不是:它们迟早都会坏掉。
如果您认为是,那么我认为开源 DRM 也是可能的。:-)