是否有一些开源,记录良好且使用过的DRM框架/库?
我想写一些买卖数字资料的框架,我想以某种方式实现卖家有可能用某种DRM来锁定文件,只有授权的计算机才能打开它(类似iTunes FairPlay)。
它可以并且可能必须涉及使用某些登录凭据联系我的服务器。
另一方面,我希望客户端是开源的,也可能是服务器......也是可能的?通过默默无闻的安全措施不起作用,但DRM并不完全是“安全”......
我能找到的只有this discussion on slashdot with the exact same problem,但它以“DRM IS BAD”和Sun的DReaM项目结束,但我不知道如何到达actual code/usage of the framework on their site。
如果您认为无法使用开源DRM,请告诉我。
答案 0 :(得分:22)
这声称是OMA DRM2的开源实现。我假设它包含构建服务器和客户端所需的软件组件,将硬件留作读者的练习:
http://sourceforge.net/projects/openipmp
许可证是MPL,它是非GPL兼容的FOSS许可证。
我没有这种实现的经验,只有一点OMA DRM,当时似乎是一个可行的DRM方案,就像任何DRM方案都可行一样。 OMA DRM标准已有详细记录,并且(或至少已被)广泛用于移动电话行业。
开源DRM的根本问题在于,尽管可以在不损害方案的情况下发布所有算法和源代码,但是客户端设备必须被权利发行者“信任”以尊重权利,即不做任何事情禁止。这与FOSS不兼容,FOSS表示设备的用户应该完全控制它的作用。
通过默默无闻的安全措施不起作用,但DRM并不完全是“安全”
通过默认算法的安全性通常很弱。通过保密信息保护是进行加密,签名等的唯一方法.DRM不需要算法模糊(这就是为什么OMA DRM是已发布的标准,以及如何实现的源头可以发布并且可以免费使用),但它确实要求播放器设备可以访问设备用户没有的信息(某种键),而不是算法/源的一部分。
通常,安全性可以保护设备的所有者/用户免受外部攻击者的威胁模型的攻击。在DRM威胁模型中,设备的所有者/用户是攻击者,并且正在保护权利所有者。如果设备的用户完全控制它,那么显然原则上这是游戏结束。
在实践中,它可能不是那么直接,但在开源案例中,允许人们编写自己的DRM客户端,阻止他们复制受权限保护的数据,这将要求他们非常诚实。
有时候用户可以被说服遵纪守法,在这种情况下,DRM扮演的角色是提醒他们,如果他们通过箍筋来解决限制问题,那么他们可能违法了。
答案 1 :(得分:21)
开源DRM实际上是不可能的。
DRM的目的是防止用户解密某些数据,同时允许用户在某些情况下这样做。加密的理论框架使得这很荒谬 - 如果用户将其用于批准目的,用户如何才能拥有解密某些数据的密钥?
现有DRM系统采用的解决方案是隐藏密钥 - 隐藏安全的完美示例 - 但如果源代码可用,则只需修改代码即可将密钥交给用户。在这一点上,加密有多好并不重要,用户拥有打破它所需的一切。
所有这一切的一个解决方案是在某些计算机上使用Trusted Platform Module来验证可能能够访问密钥的所有软件的二进制映像,并确保密钥本身不可访问(由密钥导出的密钥加密)秘密烧成硬件价值)。但是我不确定TPM是多么常见,而且这首先打破了软件开源的重点,因为在不失去对DRM密钥的访问权限的情况下,您将无法以任何方式对其进行修改。
最后,从一个更实际的角度来看,DRM似乎正在走出去 - 例如,iTunes完全摆脱了DRM,而电影业似乎也朝这个方向发展......
答案 2 :(得分:10)
对于开源DRM解决方案,可能存在开源破解。
许多DRM解决方案实际上都是基于“默默无闻”原则。意味着其中一些还没有被打破,因为他们的模型是保密的。即使这样也不能阻止主要的DRM系统被破坏。
答案 3 :(得分:5)
DRM因为依赖于“默默无闻”原则而被破坏。
还有其他解决方案,如水印。
当您向客户销售产品时,您需要使用水印进行水印。客户的名字。如果您在共享网络上找到此水印,您将知道泄漏的位置。如果客户知道有水印(我认为警告他更诚实),他可能不会分享。
答案 4 :(得分:4)
我一般都是反DRM。但是,我已经看到了一个我可以支持的DRM实现,它使用用户的信用卡信息作为解密密钥。虽然不是万无一失,但它至少具有使用用户WANTS保密的信息的优势。 (至少在理论上。) 它仍然可以在我自己的设备之间移植。但是,有了这样一个可见的密钥,再加上一个开源阅读器,用户可能会存储和复制解密的数据,从而使DRM无法实现。
答案 5 :(得分:0)
值得一提的是,这取决于您要保护的内容。如果你想保护你自己拥有的内容,如果内容泄漏并没有造成破坏性的损害,那么你可以查看前面提到的Open IPMP。太阳DReaM项目仍然在网上可用,但值得注意的是该项目因不活动而关闭。当您想要保护您不拥有的内容时,会出现问题。内容所有者很可能不允许其内容受到开源drm解决方案的保护。内容所有者倾向于采用Microsoft WMDRM / PlayReady,Marlin或Helix等专有解决方案。因此,如果您的框架将用于销售好莱坞内容,我建议您不要在开源drm解决方案中投入时间。