3

我们有一个在网络场中使用 asp.net Forms 身份验证的场景,需要<machinekey />在每个服务器的 .config 文件上设置相同的部分。

<machinekey />将部分存储在 machine.config 而不是 web.config 中是否更好?每种安全方法的优缺点是什么?

<machineKey validationKey="[keyhere]"
    decryptionKey="[keyhere]" validation="SHA1" />

如果它不够安全,有没有办法<machinekey />像我们加密我们的连接字符串(使用 DPAPI)一样加密部分?(http://msdn.microsoft.com/en-us/library/ms998280.aspx

最好的问候马格努斯

4

1 回答 1

2

我会将它放在 web.config 中,以表明您正在执行此操作。如果您想提高应用程序之间的安全性,它还为您提供了为不同应用程序使用不同密钥的附加功能(不是您可能想要,但如果保留在 web.config 中,这是一个选项)。

我认为无论哪种方式,您都不会更安全/更安全。如果您的服务器受到严重破坏,以至于 web.config 被盗,那么 machine.config 可能也是如此。

我还没有这样做,但我认为您可以使用 DPAPI 来加密 machineKey 部分。虽然不是100%...

http://msdn.microsoft.com/en-us/library/ms998280.aspx#paght000005_step1

于 2010-03-02T19:59:08.197 回答