Android Kitkat 报告:使用非默认根 CA 时“网络可能被未知第三方监控”

信息安全 tls 证书 证书颁发机构 安卓 安全剧院
2021-08-30 23:07:26

我的公司使用私有 PKI 来处理此类场景,例如

  • 使用客户端证书对网站进行相互身份验证 (TLS)
  • Intranet 上的 SSL Web 服务器证书(一旦建立 VPN 会话。)
  • S/MIME 安全电子邮件。
  • Activesync 身份验证

将 Android 升级到 Kitkat 时,存在非默认根证书会导致这些警告

在此处输入图像描述在此处输入图像描述

可以为root 用户删除此警告,或者通过将证书上传到 Google Apps(并为每位用户/月支付 5 美元),但我正在寻找一种不会产生这种不必要成本的解决方案。

有几个人将此作为 FOSS 代码中的缺陷发布,但问题 #62076(由 121 人加注)已作为“设计使然”而关闭。 编辑:此问题已在问题 82036中重新打开,请将其标记为问题,或根据需要发表评论。

通过测试,我验证了在使用名称约束时仍然会出现这个错误,并且限制了新根 CA 的 EKU 用途。(S/MIME、客户端身份验证等)。

  • 有没有办法将证书添加到不会产生此错误的 Android 手机上的受信任根?(在当前或未来版本中)

  • 在实践中,非默认可信根是否比默认 CA 列表更成问题(换句话说,Google 解决了错误的问题吗?)

  • 允许受 EKU 使用或名称约束适当约束(在根上)的根证书生成不同的警告或一组批准对话框是否合理?

2个回答

要回答您的第一个问题:

据我所知,没有办法规避这一点。这是一项安全功能。

回答你的第二个问题:

是的,非默认受信任的根证书肯定存在潜在问题。他们经常被虐待。它们有时用于工作场所或交通监控(如果充分披露,这可能是好的,尽管对许多人来说可能仍然觉得粗略),但它们有时也被间谍软件、旨在窥探您的活动的恶意应用程序和其他使用恶心的东西。

因此,这是一个权衡(a)吓唬用户的风险,当用户已经意识到并且不会发生任何不好的事情时,如果您确实显示警告,与(b)用户在不知情的情况下被监视的风险,如果您不显示警告。Android 开发人员可能不得不对这两种风险的相对严重性和普遍性做出判断,并且可能倾向于通知用户。我无法对这个决定形成独立的看法,但可以理解他们为什么会做出这个选择。

您链接到 Android 错误跟踪器上的问题。好吧,如果您查看评论 8,您将看到 Android 开发人员对他们选择此行为的原因的解释。另一种情况见评论 39所以是的,他们这样做是有正当理由的;不管你是否同意他们的判断,这都是对他们推理的公开解释。

我发现这个“功能”非常愚蠢。唯一会理解它的人是技术用户,他们也想关闭它。一旦他们的技术支持人员告诉他们,临时用户就会忽略它,这增加了非技术用户点击和/或忽略的另一件事,从而破坏了这个“功能”的固执(sp?)点。

在寻找解决方案时,我找到了这个问答,但我还找到了一个将证书从用户空间移动到系统空间的应用程序。移动证书!” 在 FROID 上,由How To Geek提供。