Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用硬件令牌进行登录_Linux_Pam_Pkcs#11 - Fatal编程技术网

Linux 使用硬件令牌进行登录

Linux 使用硬件令牌进行登录,linux,pam,pkcs#11,Linux,Pam,Pkcs#11,我不熟悉密码学,正在学习PKI和PKCS等。我了解PKI的基本概念以及如何将其用于加密/解密。然而,我对如何使用USB令牌或智能卡等硬件令牌安全登录到您的计算机感到困惑。以下是我理解的步骤,以及我感到困惑的部分(很抱歉,问题太长了): 场景:网络上的计算机xyz包含只有属于组机密的用户才能访问的数据。用户Bob和Joe属于此组,他们已获得USB令牌,可用于提供凭据,使他们能够访问这些资源。USB令牌采用双因素身份验证,需要输入pin。该令牌与PKCS11兼容 Bob将USB令牌插入Linux机器

我不熟悉密码学,正在学习PKI和PKCS等。我了解PKI的基本概念以及如何将其用于加密/解密。然而,我对如何使用USB令牌或智能卡等硬件令牌安全登录到您的计算机感到困惑。以下是我理解的步骤,以及我感到困惑的部分(很抱歉,问题太长了):

场景:网络上的计算机xyz包含只有属于组机密的用户才能访问的数据。用户Bob和Joe属于此组,他们已获得USB令牌,可用于提供凭据,使他们能够访问这些资源。USB令牌采用双因素身份验证,需要输入pin。该令牌与PKCS11兼容

  • Bob将USB令牌插入Linux机器
  • PAM-PKCS11模块识别此事件并提示Bob输入其pin
  • 一旦Bob正确输入其4位PIN,模块将通过检查Bob令牌上证书的有效性(这有所不同,但最小值是多少?
    • 查找根证书以检查受信任的CA
    • 检查证书有效期和吊销列表
    • 将令牌上的ID与用户文件(其中?,缺少步骤)或目录(LDAP等)匹配
  • 如果一切正常,模块将通知PAM成功的结果
  • 该行标记为“足够”,以便PAM接受身份验证,Bob登录,并可以查看仅限于来自机密组的用户的信息
  • 我缺少的部分是关于Bob是否可以访问这台机器以及他与网络(甚至桌面)用户Bob的联系的信息存储在哪里。我知道关于Bob的其他识别数据将存储在USB上,包括ID(例如电子邮件地址)。然而,这种强大的安全性如何?在登录过程中,密码在哪里使用,如果有的话(或者这不是这些令牌的真正目的)?如果有人掌握了USB并知道4位数的pin码,这似乎就是所需要的,对吗?此外,本质上是CA中的信任允许is信任其他用户无法获得新的USB令牌并使用受信任的CA获得新证书,但指定所有标识数据与Bob的相同吗?我知道我遗漏了一些关键的部分。。但在阅读了几十篇文章后,对这一领域的解释似乎被掩盖了。使用硬件令牌作为身份验证的充分手段登录到包含敏感数据的机器是一个好主意吗?或者这些令牌的主要目的是安全地存储在其他应用程序中使用的密钥对吗?谢谢您的帮助

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

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

    典型的用户名/密码组合适用于1。而代币或其他PKCS设备则排在第二位,虹膜识别或指纹识别等生物识别技术则排在第三位

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

    令牌的要点是引入“拥有”某物的第二个因素,您还需要PIN这一事实意味着“知道”某物也是必需的。这样,系统就可以更加自信地相信这个人就是他们声称的那个人


    您所指的缺失部分是授权,如前所述,这是一个独立于身份验证的过程,只有在用户自己进行了身份验证之后才会发生。在这种情况下,PAM已经对Bob进行了身份验证,并向操作系统提供了Bob确实正在使用系统的确认。然而,操作系统随后必须在步骤5中执行一些其他检查,以确认Bob有权访问该资源

    大卫,你说得对,我没有把授权部分分开。与此相关,pam_pkcs模块将不负责加密/解密任务。。仅向pam感知的应用程序或服务传递用户身份信息,而不是用户权限(包括用户是否可以使用该应用程序)。感谢与身份验证相关的问题,模块将使用令牌上的一些描述性信息来识别目录或平面文件中的用户。pam如何将此标识传递给pam感知应用程序,以便它可以采取进一步的行动来确定身份?我对pam模块不太熟悉,无法回答这个问题,但是我希望最简单的答案是从操作系统请求登录用户。如果PAM API允许应用程序请求,那么它可能会返回用于标识用户的X509证书,这是PCKS令牌提供的标识。我在谷歌上搜索了Linux PAM用户标识,并找到了一些好的线索。谢谢你给我指出了正确的方向和话语!!没有足够的rep进行编辑,但第二句和第三句中有拼写错误:“prooving”应该是“proving”,而“Proove”应该是“Prove”。除此之外,回答得很好。