智能卡如何用于客户端证书身份验证?

时间:2013-07-17 10:32:40

标签: ssl smartcard client-certificates

我试图了解客户端证书身份验证如何与智能卡配合使用。

我读过有关配置Apache以使用证书对用户进行身份验证的信息。网上有很多教程,比如LinuxConfig的APACHE web server and SSL authentication

据我了解,一旦导入证书,任何可以访问计算机的人都可以启动浏览器并使用它。因此,在多个用户共享同一帐户(或具有对计算机的物理访问权限且能够登录的攻击者)的情况下,用户无法明确地进行身份验证。为避免此类问题,在共享帐户时,我可能会尝试不在浏览器中存储证书。

现在有几个可以在里面有证书的USB令牌,可用于对网站进行客户端证书身份验证。以下是我对此类设备的疑问:

  • 通过将证书作为物理设备导入,浏览器是否允许我在导入时使用证书?
  • 如果证书有PIN码会怎样?浏览器每次启动时都会询问PIN吗?
  • 我可以确定无法从令牌/智能卡读卡器中提取证书吗?因此,除非令牌被盗,否则我能确定无法克隆证书吗?

2 个答案:

答案 0 :(得分:4)

  

通过将证书作为物理设备导入,将是浏览器   让我在导入时使用证书吗?

是。但是,与软件令牌相比,使用硬件令牌时可能会发现更高的延迟(例如,对于智能卡2-3秒)。

  

如果证书有针脚会怎样?浏览器是否要求   引脚每次启动时都会出现?

默认情况下,例如如果您连接到启用了HTTPS客户端身份验证的网页,Firefox只会尝试访问客户端证书。然后将要求PIN。 通常只要不删除令牌就不再需要PIN,但这种行为可能会有所不同,具体取决于使用的PKCS#11模块(将Firefox与令牌连接的软件)。

  

我可以确定证书无法从中提取   令牌/智能卡读卡器?因此,除非令牌被盗,否则我可以   确保无法克隆证书?

然后取决于令牌。有些可能有用于提取私钥的API,但通常只能使用或删除令牌中的私钥+证书。

答案 1 :(得分:0)

客户端证书安全地存储在连接到浏览器的USB令牌或智能卡上。对于现代浏览器,建议使用“浏览器扩展”解决方案。请参阅此SO Answer以获取JavaScript代码并了解其工作原理。