密钥保险库中的证书认证

时间:2016-06-02 12:42:46

标签: security cryptography x509certificate azure-keyvault

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

  1. 获取或创建证书
  2. 将证书与Azure AD应用程序相关联
  3. 将代码添加到您的应用程序以使用证书
  4. 大多数示例使用makecert或New-SelfSignedCertificate来创建证书。在这种情况下,生产应用程序的自签名证书是否有问题?这仅适用于使用Azure Key Vault进行身份验证的应用程序,而不是客户端在浏览器中看到的内容。

    如果在这种情况下仍然不赞成自签名证书,那么从购买SSL / TLS证书的过程中购买来自可信机构的证书?它甚至是同一类型的证书吗?

1 个答案:

答案 0 :(得分:4)

使用自签名证书时(有一些警告)没有任何内在错误。从购买的和自签名证书之间的纯加密视角没有区别。唯一的区别是购买的证书已由一个或多个证书颁发机构(CA)签署,这些证书颁发机构将其公钥分发给大多数浏览器/操作系统/等。这意味着用户可以更有信心购买的证书是合法的,而他们必须信心十足地接受自签名证书。

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

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