使用硬件令牌进行登录

Sli*_*ime 3 linux pam pkcs#11

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

场景:网络上的计算机xyz包含的数据只有属于SECRET组的用户才能访问.用户Bob和Joe属于该组,并且已经获得了USB令牌,他们可以使用这些令牌来提供能够访问这些资源的凭据.USB令牌采用双因素身份验证,需要输入引脚.令牌符合PKCS11.

  1. Bob将USB令牌插入Linux机器
  2. PAM-PKCS11模块识别此事件并提示Bob输入其引脚.
  3. 一旦Bob正确输入了他的4位数PIN,模块就会检查Bob的令牌上的证书的有效性(这会有所不同,但最小值是多少?):
    • 找到根证书以检查受信任的CA.
    • 检查证书有效日期和撤销列表
    • 将令牌上的ID与用户文件(其中?,缺少步骤)或目录(LDAP等)匹配
  4. 如果一切看起来都很好,模块会通知PAM成功的结果.
  5. 此行标记为足够,因此PAM接受身份验证并且Bob已登录,并且可以从SECRET组查看仅限用户的信息.

我缺少的部分是关于Bob是否可以访问这台机器的信息存储在哪里以及他是如何将Bob与网络(甚至桌面)用户联系起来的.据我所知,关于Bob的其他识别数据将存储在USB上,包括ID(例如,电子邮件地址).但是,这种强大的安全性如何?在登录过程中使用加密的地方,如果有的话(或者这不是这些令牌的真正目的)?如果有人拿到USB并知道4位数的引脚,那似乎就是所有需要的,对吧?此外,它本质上是CA中的信任,它允许信任另一个用户无法获得新的USB令牌并使用可信CA获取新证书但是指定所有识别数据与Bob的相同?我知道有一些关键部分我不知道......但在阅读了几十篇文章之后,这个领域的解释似乎已经被掩盖了.使用硬件令牌作为登录包含敏感数据的计算机的身份验证的充分方法是一个好主意吗?或者这些令牌的目的主要是安全地存储其他应用程序中使用的密钥对?感谢您的帮助!

Dav*_*ing 5

PAM(顾名思义)只处理身份验证.身份验证是关于证明用户是谁,即"证明你是谁,你是谁." 这与授权分开,即"您是否可以访问此资源?".

身份验证有三个方面:
1.我知道
2.我有
3.我是

典型的用户名/密码组合适用于1.虽然令牌或其他PKCS设备适合2,并且生物识别(例如虹膜识别或指纹读取)适合第三.

您在安全性方面拥有的这些方面越多,安全性就越好/越严格.在这种情况下,登录适合1和2,因此比用户名和passowrd更安全.如果有人要把他的针从他身上拿走并窃取他的设备,那么是的,它不会证明它是使用它的bob.但是,如果Bob将他的用户名和密码提供给某人,那么它也不会.

令牌的要点是引入"拥有"某事物的第二个因素,事实上你还需要一个PIN意味着"知道"某些东西也是必需的.因此,系统可以更加确信该人是他们声称的人.

您所指的缺失部分是授权,如上所述是一个单独的身份验证过程,只有在用户自己进行身份验证后才会发生.在这种情况下,PAM具有Authenticated Bob并向操作系统提供Bob确实正在使用该系统的确认.但是,OS必须在步骤5中执行一些其他检查以确认Bob有权访问该资源.