词条 | Data Protection API |
释义 |
DPAPI (Data Protection Application Programming Interface) is a simple cryptographic application programming interface available as a built-in component in Windows 2000 and later versions of Microsoft Windows operating systems. In theory the Data Protection API can enable symmetric encryption of any kind of data; in practice, its primary use in the Windows operating system is to perform symmetric encryption of asymmetric private keys, using a user or system secret as a significant contribution of entropy. For nearly all cryptosystems, one of the most difficult challenges is "key management" - in part, how to securely store the decryption key. If the key is stored in plain text, then any user that can access the key can access the encrypted data. If the key is to be encrypted, another key is needed, and so on. DPAPI allows developers to encrypt keys using a symmetric key derived from the user's logon secrets, or in the case of system encryption, using the system's domain authentication secrets. The DPAPI keys used for encrypting the user's RSA keys are stored under In 2010 Elie Bursztein and Jean-Michel Picod presented an analysis of the protocol titled Reversing DPAPI and Stealing Windows Secrets Offline at Black Hat DC 2010.[1] In addition to their briefing, Bursztein and Picod released DPAPIck which allows offline decryption of data encrypted with DPAPI. In 2012 Passcape Software published in their blog more detailed article on DPAPI internal logic[2] and presented a tool[3] for fully offline DPAPI decryption and analysis. Unlike previous one, the tool utilizes some old Windows bugs (for example, you can decrypt Windows 2000 DPAPI blobs without knowing the owner logon password) and is fully compatible with Windows 8 DPAPI data structure. In Windows 8 Microsoft changed the way the DPAPI logic works. Now multiple user keys can be used to derive an encryption key to decrypt the user masterkey which is used then to decode a single DPAPI blob. Security propertiesDPAPI doesn't store any persistent data for itself; instead, it simply receives plaintext and returns ciphertext (or vice versa). DPAPI security relies upon the Windows operating system's ability to protect the Master Key and RSA private keys from compromise, which in most attack scenarios is most highly reliant on the security of the end user's credentials. A main encryption/decryption key is derived from user's password by PBKDF2 function.[4] Particular data binary large objects can be encrypted in a way that salt is added and/or an external user-prompted password (aka "Strong Key Protection") is required. The use of a salt is a per-implementation option - i.e. under the control of the application developer - and is not controllable by the end user or system administrator. Delegated access can be given to keys through the use of a COM+ object. This enables IIS web servers to use DPAPI. Use of DPAPI by Microsoft softwareWhile not universally implemented in all Microsoft products, the use of DPAPI by Microsoft products has increased with each successive version of Windows. However, many applications from Microsoft and third-party developers still prefer to use their own protection approach or have only recently switched to use DPAPI. For example, Internet Explorer versions 4.0-6.0, Outlook Express and MSN Explorer used the older Protected Storage (PStore) API to store saved credentials such as passwords etc. Internet Explorer 7 now protects stored user credentials using DPAPI.[5]
References1. ^{{cite web|url=https://www.blackhat.com/html/bh-dc-10/bh-dc-10-briefings.html|title=Black Hat ® Technical Security Conference: DC 2010 // Briefings|website=Blackhat.com|accessdate=14 October 2017}} 2. ^{{cite web|url=http://passcape.com/index.php?section=blog&cmd=details&id=20|title=Show blog article|website=Passcape.com|accessdate=14 October 2017}} 3. ^{{cite web|url=http://passcape.com/windows_password_recovery_dpapi_decoder|title=DPAPI recovery|website=Passcape.com|accessdate=14 October 2017}} 4. ^{{cite web|title=Windows Password Recovery - DPAPI Master Key analysis|url=http://www.passcape.com/windows_password_recovery_dpapi_master_key|website=Passcape.com|accessdate=2013-05-06}} 5. ^{{cite web | url=http://www.symantec.com/connect/articles/password-management-concerns-ie-and-firefox-part-one | title=Password Management Concerns with IE and Firefox, part one | author=Mikhael Felker | date=December 8, 2006 | accessdate=2010-03-28 | publisher=SecurityFocus.com, Symantec.com}} 6. ^{{cite web|url=https://msdn.microsoft.com/en-us/library/ms189586(v=sql.110).aspx|title=Encryption Hierarchy|website=Msdn.microsoft.com|accessdate=14 October 2017}} 7. ^{{cite web|url=https://technet.microsoft.com/en-us/library/bb457059.aspx|title=What's New in Security for Windows XP Professional and Windows XP Home Edition|website=Technet.microsoft.com|accessdate=14 October 2017}} 8. ^{{cite web|url=http://msdn2.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx|title=ProtectedData Class (System.Security.Cryptography)|website=Msdn2.microsoft.com|accessdate=14 October 2017}} 9. ^{{cite web|title=CookieAuthenticationOptions.TicketDataFormat Property (Microsoft.Owin.Security.Cookies)|url=http://msdn.microsoft.com/en-us/library/microsoft.owin.security.cookies.cookieauthenticationoptions.ticketdataformat(v=vs.113).aspx|accessdate=2015-01-15}} 10. ^{{cite web|title=OAuthAuthorizationServerOptions.AccessTokenFormat Property (Microsoft.Owin.Security.OAuth)|url=http://msdn.microsoft.com/en-us/library/microsoft.owin.security.oauth.oauthauthorizationserveroptions.accesstokenformat(v=vs.113).aspx|accessdate=2018-11-26}} External links
4 : Microsoft application programming interfaces|Cryptographic software|Microsoft Windows security technology|Windows 2000 |
随便看 |
|
开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。