2011-08-05 159 views
1

这是一个Silverlight 4特定问题。 Silverlight 5 Beta已经通过提供ProtectedData和DPAPI访问解决了这个问题。如何在Silverlight 4中安全地存储密钥或私钥?

这不是一个与如何存储用户密码有关的问题,因为哈希是答案。

如何在客户端存储秘密,以不易受内存转储或反射/反编译的方式?

或者您认为SSL足够安全,不需要进一步加密数据?一个例子是用户提交密码更改请求,在该请求中必须将旧密码和新密码发送到服务器以进行操作。假设服务器上的数据在内存中是安全的并且处于静止状态。

+1

你永远不能真正店在客户端中安全的东西......根据定义,客户端本身需要使用的任何东西都意味着可以获得该信息......如果您只需要使用SSL进行通信以使用SSL,从而确保传输安全,则主要的安全负担就是服务器端... – Yahia

回答

2

它不是以往任何时候都安全地存储在客户端上你的私钥...这就是为什么它是私有的:)

SSL是128位(最小),是绰绰有余更对您的任何需求。只要你强制SSL。如果你真的担心,你的SSL比特率,你去。 “

”256位大致等于宇宙中的原子数。“

“蛮力技术被认为是不切实际的,因为现代加密算法的长度为128到256位。”

如果客户端程序中,总有一个机会,如果你把它嵌入到让你存储的密钥

+0

使用适当的身份验证和授权以及Xap签名和一个this.Host.Source检查应用程序启动 - 我认为在服务器端处理静态数据安全性的加密和解密是可以接受的。服务器端的密钥应该使用DPAPI存储,而不是硬编码。您可以使用SQL的内置机制来执行透明数据加密(TDE),但这并不能防止数据库管理员看到人们的PII。 –

相关问题