登录界面背后的 Web 身份验证
Web 身份验证是在任何在线账户(如电子商务网站、社交媒体、网上银行服务等)中验证用户登录详细信息的过程。每次用户在任何 Web 应用程序中创建在线账户时,都会为将来验证创建一个唯一的 ID 和密钥值,这些信息存储在安全的 Web 服务器中。身份验证也可以通过其他方式进行,例如与视网膜、指纹和语音识别进行匹配。
以 Gmail 或任何邮件账户为例,每次登录时,用户都需要输入用户名或电子邮件和有效密码。只有当此组合与邮件服务器数据库匹配时,用户才能访问主页及其服务。
Web 身份验证的重要性
如果网站身份验证安全性较低,则存在更高的未经授权访问、数据泄露、网络钓鱼和密码攻击风险。
所有这些类型的攻击都可能导致特定应用程序的用户丢失其敏感数据,并导致用户不再信任同一应用程序。
当用户使用密码和登录详细信息登录时,浏览器或应用程序可能会建议记住这些凭据,如果选择了“是”,则这些凭据将存储在浏览器或网站 Cookie 中,这可能对黑客攻击保存的数据或将来使用同一设备的任何人有用。在银行、社交媒体页面或任何敏感应用程序的身份验证屏幕上,都应该非常小心。
设置强密码或启用双因素身份验证是保护数据免受攻击的方法。弱密码(字符较少或熟悉的纯文本)可能导致黑客相关问题。
登录屏幕背后身份验证流程的工作原理
用户打开浏览器或任何 Web 应用程序的登录页面或主页以输入用户名和密码组合。
此 ID 和密码对将与存储在 Web 服务器数据库中的 ID 和密钥值对进行再次验证。
如果找到匹配项,则将向用户提供对请求的帐户的访问权限以供使用。
提供的身份验证类型可以分为两种:无状态和有状态
有状态身份验证过程使用会话 ID 和 Cookie。会话 ID 是服务器为验证客户端或用户请求而生成的随机字符。每次服务器都会使用 sessionId 发出一个 Cookie,该 Cookie 用于服务器端验证。用户退出应用程序后,服务器将清除 Cookie 和 sessionId。
无状态身份验证使用 AccessToken、JSON Web 令牌 (JWT) 和第三方访问。
当用户提供登录凭据时,服务器会验证这些详细信息以及包含有用信息的已签名的 JWT。这些令牌不会存储在服务器上,仅存储在客户端。令牌与每个客户端请求一起发送到服务器,并在服务器端进行验证以授予访问权限。所有创建的令牌在用户退出应用程序时都会被清除。
Web 身份验证方法
通过传统的方式提供用户名和密码
通过物理物品作为拥有因素,但这些物品有被盗或被未知人士滥用或被攻击者锁定的缺点
继承因素,例如通过提供指纹或面部识别来识别用户,这对于每个人都是独一无二的
Web 身份验证的安全性
可以通过提供多因素身份验证来简化安全性,这为现有方法提供了额外的安全层。通过电子邮件或短信到关联的手机号码验证 OTP 中的详细信息。没有访问用户的手机或邮件账户,黑客将无法访问登录。
当黑客或其他人访问 Web 应用程序时,会将会话警报发送到用户的手机或邮件账户,如果应用程序服务器启用了该选项,还可以设置终止未知 ID。
SSO 身份验证是另一种提供安全性的方法,其中单点登录允许用户从一个页面登录到另一个域而无需重新验证登录详细信息。
示例 - 当用户使用登录详细信息登录 Microsoft 工具时,当用户需要切换到其他 Microsoft 工具时,无需重新输入用户名和密码,因为 Microsoft 启用了 SSO 身份验证方法。
因此,Web 身份验证过程根据所使用的应用程序和用户应用于访问 Web 应用程序的安全因素,既有优点也有缺点。