保护数据不被 Windows 中的其他应用程序直接访问
有没有办法保护某些加密数据免受 Windows 中除我自己的应用程序之外的应用程序的影响?我不关心保护它免受用户的侵害 - 这显然是不可能的 - 而是保护它免受除我自己的应用程序之外的非提升应用程序的侵害。
我知道我可以简单地将应用程序的核心代码作为服务运行,数据只能由系统帐户访问,但我更希望能够让应用程序在不比用户的普通令牌更宽松的令牌下运行。
此外,如果可能的话,我希望不要依赖 .NET。
Is there a way to protect some cryptographic data from applications other than my own in Windows? I'm not concerned about protecting it from the user - this is obviously impossible - but, rather, from non-elevated applications other than my own.
I'm aware that I could simply run the application's core code as a service, with the data accessible only to system accounts, but I would prefer if I could keep the application running under a token not much more permissive than the user's normal token.
Additionally, I would prefer not to have a dependency on .NET if possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
CryptProtectData
可以进行每用户加密(如果您不传递 CRYPTPROTECT_LOCAL_MACHINE 标志,则为每用户加密)。但是,如果您选择每用户加密,包括高级管理员在内的其他用户将无法解密。
CryptProtectData
can do per-user encryption (it is per-user if you do not pass CRYPTPROTECT_LOCAL_MACHINE flag). However if you opt for per-user encryption, other users including elevated admins won't decrypt it.