Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关于加密方案的建议_C#_Aes_Rsa - Fatal编程技术网

C# 关于加密方案的建议

C# 关于加密方案的建议,c#,aes,rsa,C#,Aes,Rsa,我有一个客户正在向企业分发音乐。他有发行权,所有的法律事务都由他处理。我正在为他构建一个支持加密文件的媒体播放器。这样做是为了使音乐不能由企业传输给第三方 我已经做了一些研究并实现了一个方案,其中大文件用AES对称密钥加密,对称密钥用RSA公钥加密,播放器用RSA私钥解密AES密钥。我已经让它工作了 我的问题是,在这种设置中,私钥位于播放器端(在证书中),可以与播放器和文件一起复制到另一台机器。 我想在这个方案中添加另一层,使其更为困难。 我不熟悉这些类型的安全实现。这方面有什么已知的计划吗 顺

我有一个客户正在向企业分发音乐。他有发行权,所有的法律事务都由他处理。我正在为他构建一个支持加密文件的媒体播放器。这样做是为了使音乐不能由企业传输给第三方

我已经做了一些研究并实现了一个方案,其中大文件用AES对称密钥加密,对称密钥用RSA公钥加密,播放器用RSA私钥解密AES密钥。我已经让它工作了

我的问题是,在这种设置中,私钥位于播放器端(在证书中),可以与播放器和文件一起复制到另一台机器。 我想在这个方案中添加另一层,使其更为困难。 我不熟悉这些类型的安全实现。这方面有什么已知的计划吗


顺便说一句:我正在为玩家使用C#/WPF。

最终这是一个没有真正技术解决方案的问题,这就是DMCA存在的原因。iTunes也尝试着做类似的事情,只是从网上商店中检索个人密钥,然后用一个部分基于他们设计的某种机器标识符的密钥进行本地加密保存——DMCA规定反向工程是非法的。由于并非所有人都始终尊重法律,他们一再改变计算密钥的方式。

最终,这是一个没有真正技术解决方案的问题,这就是DMCA存在的原因。iTunes也尝试着做类似的事情,只是从网上商店中检索个人密钥,然后用一个部分基于他们设计的某种机器标识符的密钥进行本地加密保存——DMCA规定反向工程是非法的。由于并非所有人都一直遵守法律,他们一再改变计算密钥的方式。

加密音乐=跛脚

除此之外,当你谈论媒体时,总会有一个漏洞,因为人们总是可以点击模拟信号。如果你设法把一些难以破解的方案放在那里,我甚至不会为此而烦恼,只要把音频从输出循环到输入,从那里录制,然后重新播放。所有这些方案都有已知的方案和已知的裂缝

但如果您真的坚持认为更“安全”的方法是为每个客户生成一个随机密钥。在客户端,您可以使用DPAPI存储公共部分,这样就不容易将其复制到其他机器上

您可以使用对称或非对称加密,将私钥保留在服务器上。后者需要巨大的处理能力,可能不可行,前者仍然需要强大的服务器


无论哪种方式-这都是浪费时间,但我明白可能有法律语言要求您提供此类功能

除此之外,当你谈论媒体时,总会有一个漏洞,因为人们总是可以点击模拟信号。如果你设法把一些难以破解的方案放在那里,我甚至不会为此而烦恼,只要把音频从输出循环到输入,从那里录制,然后重新播放。所有这些方案都有已知的方案和已知的裂缝

但如果您真的坚持认为更“安全”的方法是为每个客户生成一个随机密钥。在客户端,您可以使用DPAPI存储公共部分,这样就不容易将其复制到其他机器上

您可以使用对称或非对称加密,将私钥保留在服务器上。后者需要巨大的处理能力,可能不可行,前者仍然需要强大的服务器


无论哪种方式——这都是浪费时间,但我明白,可能有法律语言要求您提供此类功能

您仍然存在模拟复制问题(假设有人可以听),这只需要一个人“解决”,音乐就会被释放到野外。关注内容,让那些愿意快速、可靠地付费的人付费。@AustinSalonen——正如我对下面这个问题的评论,这不是一个选择,即使是,也不是我的选择。我只是一个做这个项目的自由开发者。如果失败了,你是否可以免除任何法律问题?这听起来不像是一个没有某种保护的项目…@AustinSalonen-是的,我是。我让我的律师在我开始讨论这件事之前确保了这一点。你发现加密的难点不是编写代码,而是管理密钥。人们常常爱上了数学,忘记了数学假设密钥是安全管理的。由于这个原因,您所处的问题空间不是加密特别适合的。但人们仍在继续尝试。你仍然存在模拟复制问题(假设有人听了),这只需要一个人“解决”,音乐就会被释放到野外。关注内容,让那些愿意快速、可靠地付费的人付费。@AustinSalonen——正如我对下面这个问题的评论,这不是一个选择,即使是,也不是我的选择。我只是一个做这个项目的自由开发者。如果失败了,你是否可以免除任何法律问题?这听起来不像是一个没有某种保护的项目…@AustinSalonen-是的,我是。我让我的律师在我开始讨论这件事之前确保了这一点。你发现加密的难点不是编写代码,而是管理密钥。人们常常爱上了数学,忘记了数学假设密钥是安全管理的。由于这个原因,您所处的问题空间不是加密特别适合的。然而,人们仍在继续尝试。好吧,说实话,我看到的是一个非常狭窄的观众群,这在技术上不是很精明