在Silverlight中存储敏感数据

时间:2010-09-03 09:54:58

标签: silverlight security encryption silverlight-4.0

我有一个Silverlight业务应用程序。我想存储用户登录系统时输入的用户名和密码。

有没有人有关于如何安全存储这些数据的指示,提示等?我想将其存储为加密但我不确定在哪里存储密码/盐,将它存储在客户端代码中是否安全?我猜它不会是因为这是发送给客户的。

我通常会使用Windows Data Protection API (DPAPI)来加密数据,这在Silverlight中是否可行?

该应用程序将使用Silverlight 4在浏览器中运行。

更新

我在服务器端验证用户。目前我存储在服务器端加密的用户名和密码。我在客户端需要它们的原因是在使用Perpetuum Report Viewer时,如果报告包含子报告或具有钻取功能,则会从其凭据中提示用户。我不希望用户需要再次输入他们的凭证,唯一的方法是在客户端提供他们。

3 个答案:

答案 0 :(得分:1)

在客户端存储该信息绝不安全。 Silverlight总是可以反向引擎,你可以很难为用户/黑客获取它,但它永远不会100%安全。

以下是关于在Silverlight中使用AES算法加密/解密数据的好文章: http://www.davidezordan.net/blog/?p=202

答案 1 :(得分:0)

为什么你不在服务器端存储合理的东西?

Silverlight组件可以反向设计或/和修改。

让用户输入密码并将其加密发送到服务器端。在服务器端,然后检查密码是否正确。

无需在silverlight控件中存储密码。

答案 2 :(得分:0)

存储的替代方法可能是使用LocalMessageSenderLocalMessageReceiver(某种形式的加密可能是谨慎的)来在从同一域运行的Silverlight应用程序实例之间传递凭据。