HTTPS客户端身份验证自签名证书



我想以网站的形式为客户提供云服务。现在我有了一个想法,如果这个客户(几个员工(也用客户端证书进行身份验证,这将极大地提高安全性。然后,这个证书应该安装在他的办公室电脑和平板电脑上。服务器SSL证书是Letsencrypt证书。从客户端证书中,我也会知道私钥,但从我的角度来看,这并不危险,因为它只用于对我的服务器进行身份验证。

有没有一个切实可行的解决方案可以为客户提供一个客户端证书,然后我将其公钥存储在我的HTTP服务器上?

我可以从身份验证机构购买此类客户端证书吗?我是否正确理解,如果我生成自己的客户端证书,客户也必须信任我的CA,这代表着安全风险?或者客户可以只信任这一个生成的证书,而不信任我的自签名CA/Root CA吗?

感谢

我是否正确理解,如果我生成自己的客户端证书,客户也必须信任我的CA,这代表着安全风险?

只有验证证书的人需要信任证书的颁发者CA,而不是用证书对自己进行身份验证的人。因此,在客户端证书的情况下,只有服务器需要信任颁发者CA,而客户端不需要。这也意味着客户端不需要将CA导入为可信CA,这意味着导入某些第三方CA不会带来安全风险。

或者客户可以只信任这一个生成的证书,而不信任我的自签名CA/Root CA吗?

客户端不需要信任客户端证书或其颁发者CA。客户端只需要导入客户端证书和关联的私钥即可用作客户端证书。

因此,使用私有CA并让它为客户创建客户端证书是完全可以的。然后,服务器将仅信任此专用CA进行客户端证书验证。

根据客户端证书,我也会知道私钥,但从我的角度来看,这并不危险,因为它只用于对我的服务器进行身份验证。

任何证书都是公开的,除了其他属性外,只包含公钥,并由颁发者CA签名。如果您只需要在组织级别使用证书,而不需要在internet上使用证书,则此证书也可以是专用CA。

您可以在内部网上设置您的私人CA,并向所有公司或组织员工提供证书。话虽如此,根据证书验证和吊销要求(以及当地法律(,您可以使用任何公钥和私钥对实现PKI身份验证,并且可能不需要CA签名的证书,但这种安排不提供证书吊销检查和系统的PKI框架。

在PKI身份验证中参考PKI Web身份验证的工作POC

这需要在客户端上安装Signer.数字浏览器扩展(由我的公司CISPL提供(,以便从本地证书存储或加密设备(如智能卡或USB(访问用户的数字证书。

上面的扩展还提供了用于证书颁发的JavaScript API,它还在证书下载时将根证书添加到用户的信任存储中。您可以在CSR生成和证书下载进行测试

最新更新