拥有密码和 SSH 密钥是否可以作为 PCI 的两因素身份验证?

信息安全 验证 pci-dss 多因素
2021-08-16 19:02:40

我正在努力使我们公司的服务器符合 PCI SAQ-C 标准(信用卡数据通过我们的系统,但不被我们的系统存储)。我们有 SSH 访问权限来管理服务器,所有登录都使用 SSH 密钥进行身份验证。

如果我要求所有密钥都有密码(你知道的)和密钥(你拥有的)这是否符合 PCI 合规性的要求?我阅读了自我评估文件,但在这个主题上还不清楚。

2个回答

如果 SSH 密钥受密码保护,那么它只是使用该密码加密。没有额外的身份验证组件。也就是说,您可以在客户端解密密钥(并存储解密的密钥),而服务器永远不会知道。事实上,许多用户使用“密钥代理”,它只允许您输入一次解密密码,并且在您的工作站登录会话期间会记住密钥材料。

但是,您可以在 SSH 服务器上要求密码和 SSH 密钥,其中密码是您服务器的普通用户密码。如果您的 SSH 密钥是加密的(并且您没有使用密钥代理),那么这实际上是登录时需要的两个密码;一个用于您的密钥,一个用于您的服务器。这可能更接近双因素身份验证的精神。

但是,有很多人会说,您计算机上的关键材料仍然是“您知道的东西”,因为它是无限可复制的。相反,“你拥有的东西”将是一个无法复制的硬件令牌。假设令牌支持 RSA 密钥,则可以使用硬件令牌实现 SSH 密钥。不过,这可能需要做一些设置。

为了简单地回答您的问题,不,它没有,因为 PCI 要求多因素身份验证符合要求。密码短语的加密没有包含另一个因素。(你是什么,你有什么,你知道什么)

不过,SSH 是与设备进行控制台会话的要求之一,因为其中一项要求是会话不能以明文形式发送。