作为加强我正在构建的网站的会话身份验证安全性的一部分,我正在尝试编译一个注册用户计算机的最佳方法列表作为第二层验证 - 这是除了标准用户名/密码登录,当然。注册用户计算机的典型方法是设置cookie和/或IP地址验证。与移动计算一样普遍,IP映射越来越不可靠。安全设置和互联网安全&系统优化软件可能会使cookie很难保持很长时间。
是否有其他方法可用于建立更可靠的计算机注册,而不需要用户向各种cookie删除软件添加例外?
答案 0 :(得分:0)
如果您要进行设备身份验证,则可能需要考虑相互身份验证的SSL。在这里,您将客户端身份证书部署到您要进行身份验证的每个端点。然后,将服务器设置为要求客户端身份验证,以便客户端需要提供有效的身份证书才能形成SSL隧道。
当然,这不是一个完美的解决方案。实际上,这与其他解决方案(在不同程度上)存在许多相同的缺点。一旦您的客户身份证书发送给您的客户,它们就不受您的控制;如果客户将证书提供给其他人,则您丢失了基于它的设备身份验证。 SSL身份证书通常存储在客户端上的密钥库中,该密钥库使用密码或解锁它们所需的其他凭证进行加密。虽然客户端证书仍然可能受到损害,但它只是一个cookie或类似的东西(假设您没有尝试放弃其凭据的客户端)。此外,您想要提出一些客户端需要通过的验证例程,以便首先获取凭证(我怎么知道这是我想要的客户端设备< / em>记住/注册?)。
请记住,这些类型的方法仅执行设备身份验证,而不是用户。已经为设备认证开发了比我提到的更深入的方案;例如,802.1x是一种网络协议,其中端点需要向网络交换机提供客户端证书以进入LAN。这是Web应用程序场景的超出范围,就像您所描述的那样,但想法是相同的(将加密凭证放在客户端上并验证它以建立连接)。
与所有其他安全问题一样,这是一个风险决策。你想用这种对策来完成什么?您试图阻止哪些威胁以及如果有人登录未注册的设备会产生什么后果?只有您的情况可以回答这些问题并让您看到真正的风险,如果您需要/应该缓解它,如果是,您需要多大的解决方案才能将风险水平降低到可接受的水平?
答案 1 :(得分:0)
将用户计算机注册为第二层的最佳方法 验证
从我的观点来看,这种方法在身份验证的方面并没有提供太多。 您没有对用户进行身份验证,也不知道谁将使用您接受注册的PC。
您描述它的方式,此步骤应该是防火墙中的配置规则,以仅接受来自特定IP的连接。
IMO过滤PC是防火墙的责任,防火墙可以比任何应用程序级过滤更好地处理它。
只是认为你会在你的应用程序中有开销来检查每个请求并决定是否接受它。
最好将此预处理开销留给防火墙。这就是它存在的原因。