我应该加密序列化文件吗?

时间:2011-12-17 22:28:40

标签: c# vb.net serialization encryption

我有一个人工智能项目,它训练过神经网络(神经网络是我程序中的一些类和结构)。我正在使用System.Runtime.Serialization.Formatters.Binary.BinaryFormatter类序列化结构。

当用户运行程序时,它会对类进行反序列化以从神经网络中获得答案。 (没有新的需要序列化)

这是一个人工智能项目,而不是开源项目。所以,我不想让任何人访问我的神经网络。

我应该加密序列化文件吗?它有多安全?

会阻止其他人看到变量吗?

其他人可以使用我的程序加密我的加密文件吗?如何防止这样做?

1 个答案:

答案 0 :(得分:5)

你应该:只有你能回答这个问题;如果盗用代表真正的风险,那么肯定。

适当的加密将阻止没有密钥的任何人轻松访问任何内容,所以确实 - 内容将是不透明的。但是,有两个问题:

  • 保护密钥自己不被采取
  • 确定的黑客暴力破坏密钥的风险

重新使用程序解密;这取决于你保留钥匙的位置。如果密钥在程序本身中,那么即使混淆了它们也是易受攻击的。

要获得完整准确的评估,请联系信誉良好的IT安全顾问。

我可能还会注意到您可能需要谨慎使用BinaryFormatter;当您重新发布应用程序时,它可能非常脆弱。