首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为linux和windows应用程序保护基于证书的身份验证

为linux和windows应用程序保护基于证书的身份验证
EN

Security用户
提问于 2020-11-04 14:37:05
回答 1查看 164关注 0票数 -1

我想知道以下几种可能的选择:假设您有一个软件代理,您想要部署在运行在Windows和Linux上的系统上,例如用C++编写的代理。假设该代理使用PKI颁发的证书对集中式系统进行身份验证,无论是本地还是云中(对于具有相互身份验证的TLS )。

您将如何在两个操作系统上以一种安全的方式为代理存储这些客户端证书?

仅仅将这些证书放在文件系统的某个地方显然是不可能的。将它们嵌入软件代理本身也被认为是危险的,因为任何能够访问系统的人都可以抓取代理并逆向工程它,试图从代理中提取证书。

那么,您将如何在不受您控制的第三方系统上以安全的方式保护这些证书?

EN

回答 1

Security用户

发布于 2020-11-04 15:56:00

你想要做的事情本质上是不可能的。您希望用户持有证书及其相关私钥,但不让用户看到私钥或证书。这是不可能的,因为用户完全控制了机器。当私钥被触摸时,他们就可以读取,这意味着当私钥被写入磁盘、加载到内存等. 除了不需要私密的证书外,证书的安全性甚至更低。为什么?因为证书是在TLS握手过程中通过线路发送的。下面是我连接到stackexchange.com的一个Wireshark转储:

因此,不仅用户可以“窃取”证书,而且任何在同一网络上侦听的人也可以“窃取”证书。

,但没有办法吗?

算是也不是。如果你想让用户能够使用他们自己的硬件,那就不行。如果你愿意创造自己的硬件--想想游戏机和智能手机--那么它就会变得更加困难。在这样的锁定环境中, 不可能更加困难。本质上,您需要检查维护您自己的平台是否值得花费--它很可能不值得。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/240421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档