在Windows中,是否存在用于存储用户密码的OS X Keychain?我会用它来保存我(桌面)软件使用的Web服务的用户密码。
从这个相关问题的答案(Protecting user passwords in desktop applications (Rev 2))和multitude of third party password storage tools可用,我认为这样的事情不存在 - 我每次都要求输入密码访问Web服务,或者只是将其存储为模糊处理?
答案 0 :(得分:15)
“传统”Windows等效项将是受保护的存储子系统,由IE(IE 7之前版本),Outlook Express和其他一些程序使用。我相信它是用您的登录密码加密的,这可以防止一些离线攻击,但是一旦您登录,任何想要读取它的程序。 (例如,参见NirSoft的Protected Storage PassView。)
Windows还提供可能有用的CryptoAPI和Data Protection API。但是,我不认为Windows会阻止在同一帐户下运行的进程看到彼此的密码。
看起来书Mechanics of User Identification and Authentication提供了有关所有这些内容的更多详细信息。
答案 1 :(得分:14)
实际上,通过MSDN查看,他们推荐使用的功能(而不是受保护的存储)是:
CryptProtectData和CryptUnprotectData
CryptProtectData的链接位于:
http://msdn.microsoft.com/en-us/library/aa380261(v=VS.85).aspx
答案 2 :(得分:14)
Windows 8有一个名为Password Vault的钥匙串的概念。 Windows运行时应用程序(Modern / Metro)以及托管桌面应用程序可以使用它。根据文件:
应用和服务无权访问与其他应用或服务相关联的凭据。
请参阅MSDN上的How to store user credentials。
Pre-Windows 8,Data Protection API(DPAPI)是最接近钥匙串的等价物。虽然存储加密数据取决于开发人员,但可以使用此API对任意数据进行加密。数据最终使用当前用户的密码加密,但是可以包括用户或开发者提供的“可选熵”以进一步保护来自其他软件或用户的数据。数据也可以在域中的不同计算机上解密。
可以通过对Crypt32.dll的CryptProtectData和CryptUnprotectData函数的本机调用或通过.NET Framework的ProtectedData类来访问DPAPI,这是以前函数的有限功能包装器。< / p>
有关DPAPI的更多信息,请参阅Passcape的文章DPAPI Secrets. Security analysis and data recovery in DPAPI。
答案 3 :(得分:7)
现在是2018年,Windows 10具有“凭据管理器”,可以在“控制面板”中找到
答案 4 :(得分:5)
OS X钥匙串等效于Windows中的Credential Manager。
答案 5 :(得分:2)
一个免费且开放源代码的密码管理器是“ KeePass”,它可以将所有密码保存在一处,并且可以替代Windows Credential Manager。
答案 6 :(得分:0)
如果您在Windows上,则必须控制面板-> Windows凭据
答案 7 :(得分:0)
Credential dumping 在 Windows 上,即使使用“凭据管理器”仍然是一个问题,我认为在特殊硬件之外没有任何方法可以阻止它。 MacOS 钥匙串没有这个问题,所以我认为没有完全等效的东西。
答案 8 :(得分:-10)
看看Roboform(http://www.roboform.com/)。我一直都在使用这个。 SourceForge.net上还有一个免费程序。这是CNET上的一个(http://download.cnet.com/Password-Keychain/3000-2381_4-10072470.html)。只有少数(可能)数百个程序在那里。 : - )