0

某人反编译/反汇编/反映在发布模式下编译的 .NET 程序集以查找特定字节数组的内容有多容易?

实现一个依赖于特定密钥(作为字节数组存储在 C# 代码中)的安全机制是一个好主意吗?

我尝试了 .NET 反射器,但没有找到我自己的安全密钥,但我想知道这些信息是否“足够安全”。

有没有比集会更安全的地方来储存秘密?

4

2 回答 2

3

不要将机密存储在您不信任的人可以访问的 .Net 程序集中。反编译程序集是微不足道的,有许多工具可以做到这一点。很容易找出你放在那里的任何秘密

于 2013-04-04T16:43:11.097 回答
2

我同意其他人的观点,即从程序集中获取秘密字节数组很简单。

但是有一个更普遍的原则在起作用:如果您的安全性取决于某个密钥的保密性,那么您确实应该确保该密钥永远不会出现在可能受到威胁的计算机上。

如果您使用本机 C++ 和/或使用某种混淆或类似的东西,这并不重要。当某个密钥在您不信任的用户的计算机上时,您应该表现得好像该用户知道该密钥。

换句话说:此类密钥的唯一安全位置是在您控制且您信任其安全性的服务器上。

于 2013-04-04T18:00:23.920 回答