【问题标题】:Certificate Authentication in Key VaultKey Vault 中的证书身份验证
【发布时间】:2017-12-13 18:36:53
【问题描述】:

我有一些秘密想保留在 Azure Key Vault 中。我知道我可以使用客户端 ID 和证书通过 Key Vault 进行身份验证,而不是按照以下步骤使用客户端和密钥:

  1. 获取或创建证书
  2. 将证书与 Azure AD 应用程序相关联
  3. 向您的应用程序添加代码以使用证书

大多数示例使用 makecert 或 New-SelfSignedCertificate 创建证书。在这种情况下,对于生产应用程序,自签名证书是否有问题?这仅适用于应用程序通过 Azure Key Vault 进行身份验证,客户端不会在其浏览器中看到。

如果在这种情况下仍然不赞成自签名证书,那么从受信任的机构购买证书是否与购买 SSL/TLS 证书的过程相同?是同一种证书吗?

【问题讨论】:

    标签: security cryptography x509certificate azure-keyvault


    【解决方案1】:

    使用自签名证书本质上没有任何问题(有一些警告)。从纯加密的角度来看,购买证书和自签名证书没有区别。唯一的区别是购买的证书已由一个或多个证书颁发机构 (CA) 签名,这些证书颁发机构将其公钥分发给大多数浏览器/操作系统/等。这意味着用户可以对购买的证书是合法的有更高的信心,同时他们必须采取信心的飞跃来接受自签名证书。

    但是,在您的情况下,您似乎能够控制客户端应用程序,实际用户应该永远不会看到此证书。因此,您可以放心地使用自签名证书,只要您采取预防措施防止中间人攻击(即有人生成自己的自签名证书并冒充您。)。最有效的方法之一是通过证书固定。本质上,您将证书的公钥与您的客户端应用程序一起发送,并且您的客户端应用程序将只接受提供该公钥的证书。这使得恶意行为者(没有窃取您的证书)执行中间人攻击变得更加困难。

    TL;DR:只要您采取措施防止中间人攻击,并确保您的证书安全,使用自签名和自生成的证书来保护非面向用户的连接。

    【讨论】:

      猜你喜欢
      • 2019-03-13
      • 2018-07-25
      • 2016-12-13
      • 2018-04-06
      • 2020-10-21
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2018-09-11
      相关资源
      最近更新 更多