Windows相当于OS X钥匙串?
是否有相当于OS X钥匙串,用于存储用户密码,在Windows中? 我将使用它来保存我的(桌面)软件使用的Web服务的用户密码。
从这个相关问题的答案( 保护桌面应用程序(Rev 2)中的用户密码 )和众多的第三方密码存储工具可用,我假设这样的事情不存在 – 我坚持要么要求每次访问Web服务的密码,或只是存储混淆?
“传统”Windows相当于IE(Pre-IE 7),Outlook Express和其他一些程序使用的保护存储子系统。 我相信它是用你的login密码encryption的,这可以防止一些脱机攻击,但是一旦你login了,任何想要读取它的程序。 (例如,参见NirSoft的Protected Pass PassView 。)
Windows还提供了可能有所帮助的CryptoAPI和Data Protection API。 再一次,我不认为Windows做任何事情来防止在同一个帐户下运行的进程看到对方的密码。
它看起来像“ 用户识别和authentication机制 ”一书提供了所有这些细节。
Eclipse(通过它的安全 存储function)实现类似的东西,如果你有兴趣看看其他软件如何做。
其实,通过MSDN查看,他们推荐使用的function(而不是保护存储)是:
CryptProtectData和CryptUnprotectData
CryptProtectData的链接位于:
http://msdn.microsoft.com/en-us/library/aa380261(v=VS.85).aspx
Windows 8有一个名为Password Vault的钥匙串的概念。 Windows运行时应用程序(Modern / Metro)以及托pipe桌面应用程序可以使用它。 根据文件:
应用和服务无权访问与其他应用或服务相关联的凭据。
请参阅如何在MSDN上存储用户凭据 。
Pre-Windows 8, 数据保护API (DPAPI)是最接近于钥匙串的。 尽pipe存储encryption数据取决于开发人员,但可以使用此API对任意数据进行encryption。 数据最终使用当前用户的密码encryption,但是可以包含用户或开发者提供的“可选熵”以进一步保护来自其他软件或用户的数据。 数据也可以在域中的不同计算机上解密。
可以通过对Crypt32.dll的CryptProtectData和CryptUnprotectData函数的本地调用或通过.NET Framework的ProtectedData类访问DPAPI,这是前一个函数的有限function包装。
Passcape的文章DPAPI Secrets中提供了关于DPAPI的更多信息。 DPAPI中的安全分析和数据恢复 。
看看Roboform( http://www.roboform.com/ )。 我一直使用这个。 SourceForge.net还有一个免费的程序。 这是CNET上的一个( http://download.cnet.com/Password-Keychain/3000-2381_4-10072470.html )。 只有几个(可能)数百个程序在那里。 🙂