Windows中是否内置了安全的非对称密钥存储?

Windows中是否内置了安全的非对称密钥存储?,windows,winapi,Windows,Winapi,最新版本的操作系统在保护敏感内核数据不泄露给第三方恶意应用程序方面变得非常出色。我认为微软可能已经实现了一种在内核级别安全存储加密密钥的机制 我听说过Microsoft CryptoAPI,但乍一看,对于C++/C#来说,带有“密钥库”的Java CryptoAPI实现与将加密密钥存储在普通的旧文件中相比(在安全性方面)没有太多优势。我是不是遗漏了什么 我对这种机制的预期用例如下所示: 请Microsoft CryptoAPI生成新的公私密钥对,然后 将其存储在操作系统中的安全存储中 转储公钥

最新版本的操作系统在保护敏感内核数据不泄露给第三方恶意应用程序方面变得非常出色。我认为微软可能已经实现了一种在内核级别安全存储加密密钥的机制

我听说过Microsoft CryptoAPI,但乍一看,对于C++/C#来说,带有“密钥库”的Java CryptoAPI实现与将加密密钥存储在普通的旧文件中相比(在安全性方面)没有太多优势。我是不是遗漏了什么


我对这种机制的预期用例如下所示:

  • 请Microsoft CryptoAPI生成新的公私密钥对,然后 将其存储在操作系统中的安全存储中
  • 转储公钥并将其发送到远程服务器进行签名检查
  • 当需要为邮件签名时,只需调用Microsoft CryptoAPI为我签名并返回结果
  • 总而言之,在系统中,我需要用户(即使有管理员权限)绝对没有办法获得私钥


    Windows中是否有类似于我所描述的功能

    加密API必须在文件系统上存储密钥。它使用ACL来保护访问,但这些并不是对系统管理员的防御


    然而,CryptoAPI可以与智能卡等一起使用。i、 e.基于“硬件”的私钥,这实际上是它们的密钥最终不会出现在文件系统中的唯一方式。

    “最新版本的操作系统非常擅长保护敏感的内核数据”-您忘记了吗?微软似乎没有发布一个补丁来解决所有受支持的操作系统版本的所有问题。虽然我很喜欢Windows操作系统,但这是一个失败的事业;该漏洞被烧制在硅胶中,我们必须假设内核不再安全,直到所有受影响的硬件都被更换。@I不可检测,我知道熔毁和幽灵漏洞,尽管我认为这需要更多的努力和技能来利用,与仅从硬盘窃取密钥相比,ACL仅在访问Windows上的文件系统时控制权限。如果您将文件系统装载到另一个系统上,它可以(并且通常会)忽略ACL。您可以使用加密技术(如BitLocker)防止文件系统访问。但这也不是完全安全的。据我所知,BitLocker可以通过暴力攻击解锁。如果恶意用户可以窃取硬盘,他们可以窃取硬件私钥。私钥周围需要物理安全性。攻击者不一定需要在此处具有物理访问权限。考虑一个双引导设置,其中一个用户引导到Linux,运行恶意软件来读取NTFS文件系统。Linux不关心ACL。关键是文件系统是任何加密存储唯一可用的持久性存储,任何加密存储都不会使用专门的硬件。现代主板将有TPM,因此从技术上讲,“a”私钥有一个非文件系统的位置。该密钥“可以”用于加密文件系统存储的密钥,这将使它们对没有物理TPM的任何人都无用。