关于本地主机 repo 中私钥的安全相关问题

标签 security ssl ssh mbedtls

安全套接字使用 CN 检查与域接受或连接的信任集合中的证书。对于我自己,我为 localhost 创建了一个私有(private)和公共(public)集,这有助于我在本地进行调试。如果我想提供一个 SDK,为这个 localhost 调试用例分发 .key 和 .cer X509 是否被认为是安全的?或者,在任何开放空间拥有 .key 是否总是被认为不安全,因为它可能被滥用?
抱歉,如果在其他地方讨论过这个问题,但我找不到明确的答案。

最佳答案

这可能有点自以为是,并且在某种程度上也取决于您的项目,但我认为主要风险是人们将如何实际使用它们。他们中的一些人肯定会将它用于生产,因为它更容易,或者他们不了解 key 对并且只是希望它能够工作等等。
默认情况下,任何项目都应该是安全的,对于涉及的每个人,包括最终用户和开发人员,以及如果您的项目类似于库或组件的话。在这种情况下,默认情况下安全意味着不提供实际的 key 对,因为在至少某些用途的情况下,这可能是一个后门——即使它不打算那样使用。
要考虑的另一件事是您的项目的声誉。如果您包含一个 key 并且用户在 Internet 上滥用它,那么使用 Shodan 等工具很容易找到并可能利用您项目的易受攻击的实例。没有人会在意开发人员做错了——发现易受攻击的将是您的项目。
一个更好的考虑方法是提供类似于初始化脚本的东西,它会为该特定实例生成 key 和证书。对于用户和开发人员来说,它仍然很容易,而且对每个人来说都是安全的。对于 linux 包,这甚至可以通过安装程序脚本和大多数打包解决方案来完成,因此它对用户来说是完全透明的。

关于关于本地主机 repo 中私钥的安全相关问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70817591/

相关文章:

java - 为什么 keyStore.aliases() 对于 pkcs12 是空的

node.js - 用于散列和加盐用户登录/密码的好 npm 模块?

sql-server - 弹性查询 - SSL 错误

ubuntu - 通过 SSH 连接到我的 Ubuntu Box (13.10) 时,Emacs 挂起

linux - 在腻子中查找并替换字符串

javascript - 使用第三方 OAuth2 服务将 SPA/REST 应用程序的 refresh_token 存储在哪里?

c# - 在 C# dotnet 核心控制台应用程序中保护密码输入

Qt QWebView 证书链的根证书是自签名的,不受信任

perl - 在 Perl 中使用 TLS 的 POP3 - 帮助启动 starttls 工作?

amazon-ec2 - ssh tunneling ec2 -- 权限被拒绝(公钥)