【发布时间】:2022-12-10 19:48:25
【问题描述】:
我正在设计一个 Web 访问网关,它使用 mTLS 机制通过证书对用户进行身份验证。我希望能够识别使用智能卡访问系统的用户,并将他们与不使用智能卡的用户分开,以便授予不同级别的访问权限和特权。
当我在服务器上收到证书时,我可以访问证书的所有参数,但我不知道如何识别证书是否来自智能卡。乍一看,mTLS 过程是透明的,并且与证书的来源无关,但是,一些网站设法做出这种区分。
如果客户端证书来自智能卡(硬件证书)还是软件证书,如何从 Web 服务器以某种方式确定?
【问题讨论】:
-
这看起来更像是一个编程问题而不是安全问题。还有很多你没有谈论的因素。你们发行智能卡或证书吗?您控制智能卡读卡器吗?您如何在身份验证时获得客户端证书?我们需要更多细节,这很可能会出现在 Stackoverflow 上。
-
@schroeder 这是安全性而不是编程,因为我询问了 mTLS 或 X509 证书提供的机制来识别来源,如果你注意到我没有谈论任何特定的语言或实现,也不需要你提到的任何东西,因为我问题已在第一个答案中成功解决。
-
答案不在于安全,而在于服务流程和程序设计。如果您对这个答案感到满意,那么它确实是关于编程而不是关于安全性的。
标签: ssl authentication certificate x509 smartcard