是什么类似DPAPI可用于.NET Compact Framework或Windows Mobile?

时间:2009-04-15 17:15:15

标签: security windows-mobile compact-framework mobile

我需要一种方法来保护移动设备上的私钥。

我知道在“编写安全代码”一章“保护秘密数据”中说“Windows CE”不能在安全环境中使用。但这本书现在已经有好几年了,2003年。

这仍然是这样吗?告诉我事实并非如此。今天必须有一种方法来保护私钥。

4 个答案:

答案 0 :(得分:3)

DPAPI体现在一组Win32函数CryptProtectDataCryptUnprotectData中。这些功能在Windows CE和Windows Mobile平台上可用(参见链接),但我不知道他们添加了哪些版本支持。

DPAPI的.NET包装器是System.Security.Cryptography命名空间(程序集System.Security.dll)中的ProtectedData类。但是,我认为.NET Compact Framework还没有实现它,所以如果使用.NET,你将不得不使用P / Invoke。

答案 1 :(得分:1)

如果用户有权访问设备,则不能100%安全地存储密钥。您可以提高标准但不能将其删除。

您必须外部化对密钥的访问权限,例如用户输入用户名和/或密码或通过其他方法发送到设备(例如,通过网络连接进行非对称加密)。这是Windows Mobile程序员推荐的安全性。

将密钥存储在设备上的任何方式都可以进行逆向工程。这包括使用CryptProtectData和CryptUnprotectData API。

答案 2 :(得分:0)

使用标准加密算法有什么问题?

答案 3 :(得分:0)

http://www.windowsfordevices.com/news/NS5217487259.html?kc=rss

网络广播涵盖Windows Mobile程序员的安全性

这看起来很不错。