使用硬件令牌进行login

我是密码学的新手,正在研究PKI和PKCS等。我理解PKI的基本概念以及它如何用于encryption/解密。 然而,我很困惑如何像USB令牌或智能卡这样的硬件令牌用于安全login到您的计算机。 以下是我理解他们的步骤和我感到困惑的部分(提前抱歉,问题长度):

scheme:networking上的计算机xyz包含只有属于组SECRET的用户可以访问的数据。 用户Bob和Joe在这个组中,并且已经发布了USB令牌,他们可以使用这些令牌来提供使他们能够访问这些资源的证书。 USB令牌采用双因素身份validation,需要input一个引脚。 令牌符合PKCS11。

  1. Bob将USB令牌插入到Linux机器中
  2. PAM-PKCS11模块识别此事件并提示Bob进入他的引脚。
  3. 一旦鲍勃正确地input了他的4位数的PIN码,模块就会根据Bob的标记来检查证书的有效性(这个数字会有所不同,但最小数量是多less)
    • find根证书来检查可信的CA
    • 检查证书有效date和撤销列表
    • 将令牌上的标识与用户文件(其中?,缺less一个步骤)或目录(LDAP等)进行匹配
  4. 如果一切正常,模块通知PAM的成功结果。
  5. 该行被标记为足够,以便PAM接受authentication,并且Bob已login,并且可以查看SECRET组限制给用户的信息。

我缺less的部分是存储关于鲍勃是否可以访问这台机器的信息,以及他是如何绑定到networking(甚至桌面)用户的。 据我所知,有关Bob的其他识别数据将被存储在USB上,包括一个ID(例如,电子邮件地址)。 但是,这个安全性如何呢? 在login过程中encryption的地方在哪里(或者这不是这些令牌的真正目的)? 如果有人拿到USB,并知道4位数的引脚,这似乎是所有需要的,对不对? 而且,它实质上是CA中的信任,即允许相信另一个用户不能获得新的USB令牌,并使用可信的CA来获得新的证书,但是将所有的识别数据指定为与Bob的相同? 我知道有一些重要的部分我失踪了。但是在阅读了几十篇文章之后,这个领域的解释似乎被掩盖了。 使用硬件令牌作为validationlogin到包含敏感数据的计算机的足够方法是一个好主意吗? 或者这样的标记的目的主要是安全地存储在其他应用程序中使用的密钥对吗?感谢您的帮助!

PAM(顾名思义)只处理认证。 认证是关于证明用户是谁,即“向我证明你是谁,你是谁”。 这与授权是分开的,即“你有权访问这个资源吗?”。

认证有三个方面:
我知道
我有
我是

一个典型的用户名/密码组合适合1.当一个令牌或其他PKCS设备适合于2,而虹膜识别或指纹识别等生物特征识别适合于第三。

在安全性方面,这些方面越多,安全性就越好。 在这种情况下,登录符合1和2,因此比用户名和密码更安全。 如果有人要把他的针从他身上偷走他的设备,那么是的,它不会证明它是bob使用它。 但是,如果鲍勃也把他的用户名和密码给了某人,那也不是。

令牌的要点是引入“拥有”的第二个因素,事实上,你也需要一个PIN意味着“知道”的东西也是必需的。 因此,系统可以有更多的信心,这个人就是他们自称的人。

您所指的缺少的部分是授权,如上所述是认证的独立过程,并且仅在用户已经认证自己之后才发生。 在这种情况下,PAM具有Authenticated Bob,并向操作系统确认Bob确实正在使用该系统。 但是,操作系统将不得不在步骤5中执行一些其他检查,以确认Bob有权访问资源。