Skip to content
EntityQ4037060· pop 7· linked from 117 articles

数据保护API

Sign in to save

Also known as Data Protection Application Programming Interface

Windows API for cryptography

Wikidata facts

Developer
Microsoft

via Wikidata · CC0

Article · 中文

数据保护API(全称:Data Protection Application Programming Interface,缩写DPAPI)是一个简单的密码学应用程序接口 ,作为一个组件内置在Windows 2000及之后版本的Microsoft Windows操作系统中。理论上,数据保护API可以实现任何类型的数据对称加密;在实践中,其在Windows操作系统中的主要用途是执行非对称私钥的对称加密,使用用户或系统的秘密信息作为熵的重要来源。 对于几乎所有密码系统来说,最困难的挑战之一是“密钥管理”——其中部分即是,如何安全地存储解密密钥。如果密钥以纯文本存储,则可以访问密钥的任何用户都可以访问加密的数据。如果密钥被加密,则又需要另一个密钥,周而复始。DPAPI允许开发者使用从用户的登录私钥导出的对称密钥来加密密钥,或者在系统加密的情况下使用系统的域验证私钥来加密密钥。 用于加密用户RSA密钥的DPAPI密钥存储在%APPDATA%\Microsoft\Protect\{SID}目录,其中{SID}为该用户的安全标识符。DPAPI密钥存储在与保护用户私钥的主密钥相同的文件中。它通常为64字节的随机数据。 2010年,和在Black Hat DC 2010提出了Reversing DPAPI and Stealing Windows Secrets Offline。除了他们的简报,Bursztein和Picod发布了能离线解密DPAPI加密数据的DPAPIck。2012年,Passcape Software在他们的博客中发布了介绍DPAPI内部逻辑的更详细文章及一个完全离线解密和分析DPAPI的工具。与上一个不同,该工具利用了一些旧有Windows的缺陷(例如,你可以无需获知所有者的登录密码就解密Windows 2000的DPAPI数据体)并完全兼容Windows 8的DPAPI数据结构。在Windows 8中,微软改变了DPAPI逻辑的工作方式,现在可以使用多个用户的密钥来导出加密密钥以解密用户的主密钥,然后用于解码单个DPAPI数据体(blob)。

Abstract from DBpedia / Wikipedia · CC BY-SA

Available in 7 languages

via Wikidata sitelinks · CC0