在Windows中是否存在用于存储用户密码的OS X钥匙串的等价物?我会用它来保存我的(桌面)软件使用的Web服务的用户密码。Windows相当于OS X钥匙串?
从这个相关问题的回答(Protecting user passwords in desktop applications (Rev 2))和multitude of third party password storage tools可用,我假设这样的事情不存在 - 我坚持要么每次访问Web服务的密码或只是存储它混淆?
在Windows中是否存在用于存储用户密码的OS X钥匙串的等价物?我会用它来保存我的(桌面)软件使用的Web服务的用户密码。Windows相当于OS X钥匙串?
从这个相关问题的回答(Protecting user passwords in desktop applications (Rev 2))和multitude of third party password storage tools可用,我假设这样的事情不存在 - 我坚持要么每次访问Web服务的密码或只是存储它混淆?
“传统”Windows相当于IE(Pre-IE 7),Outlook Express和其他一些程序使用的受保护存储子系统。我相信它是用你的登录密码加密的,它可以防止一些脱机攻击,但是一旦你登录了,任何想要读取它的程序都可以。 (例如,参见NirSoft的Protected Storage PassView。)
Windows还提供了可能有所帮助的CryptoAPI和数据保护API。不过,我认为Windows不会阻止在同一个帐户下运行的进程看到对方的密码。
看起来书Mechanics of User Identification and Authentication提供了所有这些的更多细节。如果您有兴趣了解其他软件如何操作,Eclipse(通过其SecureStorage功能)实现类似这样的功能。
事实上,通过MSDN,看着他们建议使用(而不是受保护存储)的功能是:
CryptProtectData和CryptUnprotectData
的链接,CryptProtectData是:
http://msdn.microsoft.com/en-us/library/aa380261(v=VS.85).aspx
不会*看起来像这样可以保护单独的应用程序不会读取彼此的数据... – rogerdpack 2012-11-26 20:35:59
Windows 8有一个称为密码保险箱的钥匙串的概念。 Windows Runtime应用程序(Modern/Metro)以及托管桌面应用程序可以使用它。根据文档:
应用程序和服务无权访问与其他应用程序或服务相关联的凭据。
请参阅MSDN上的How to store user credentials。
Pre-Windows 8,Data Protection API(DPAPI)与钥匙串最接近。尽管存储加密数据取决于开发人员,但可以使用此API对任意数据进行加密。数据最终使用当前用户的密码加密,但是可以包含用户或开发者提供的“可选熵”以进一步保护来自其他软件或用户的数据。数据也可以在域中的不同计算机上解密。
DPAPI可以通过对Crypt32.dll的CryptProtectData和CryptUnprotectData功能或通过.NET框架的ProtectedData类,这是因为以前的功能有限的功能封装本地调用访问。
有关DPAPI的更多信息,请参阅Passcape的文章DPAPI Secrets. Security analysis and data recovery in DPAPI。
看看Roboform(http://www.roboform.com/)。我一直使用这个。 SourceForge.net还有一个免费程序。这是CNET上的一个(http://download.cnet.com/Password-Keychain/3000-2381_4-10072470.html)。只有几个(可能)数百个程序在那里。 :-)
受保护的存储在XP/2k3之后已被弃用,并且在Window Vista和Server 2008中为只读:http://msdn.microsoft.com/zh-cn/library/bb432403%28v=vs。 85%29.aspx – Spig 2014-12-10 21:02:11
哇,在Windows中安全真的很难吗? – Geremia 2015-07-18 04:08:52