📜  解释 HTTP 身份验证

📅  最后修改于: 2022-05-13 01:56:16.483000             🧑  作者: Mango

解释 HTTP 身份验证

我们正迈向以舒适为主要驱动力的数字时代的大门。坐在沙发上订购商品和支付账单以获得服务,享受所有便利。这就是我们开发互联网为我们工作的方式。

在这里,身份验证进入,每个网络资源都想知道你是谁,因为你的详细信息是他们的资产,也是保证其安全的责任。这种安全性由 HTTP 维护,HTTP 是一组确定数据如何在资源之间交换的规则。 HTTP 身份验证是用户与在线资源之间安全通信的一种场景。让我们了解什么是 HTTP 身份验证以及它在确保数字世界安全方面的其他知识。

什么是 HTTP 身份验证?

HTTP 身份验证是一种安全机制,用于验证有资格访问 Web 资源的用户。它涉及使用 HTTP 标头的客户端和服务器之间的通信,其中服务器请求用户的凭据进行身份验证。响应的客户端在标头中提供信息。这里的概念是基于Web认证通过HTTP标准来保证用户信息的安全。更安全的版本是 HTTPS,这里 S 代表安全套接字层 (SSL),用于在通信中建立加密。基于安全要求的HTTP身份验证方案有很多,并且使凭据不足以破解黑客的访问权限。

让我们带您了解一些最常用的身份验证方案,以启用安全模式的访问。

HTTP 身份验证方案:服务器确定供客户端选择的各种身份验证方案。方案是通过 Web 进行身份验证的方法。向您展示身份验证方案列表以使概念清晰。

基本身份验证:这是一种质询-响应范例,其中服务器请求凭据,响应客户端提供用于身份验证的用户名和密码。它是一种单因素身份验证,其中信息以明文格式交换。

摘要式身份验证:它是基本身份验证的更安全版本,除了随机值和 MD5 算法对数据进行加密外,还具有质询-响应过程。 Nonce 值在凭证中包含更多信息以提高安全性。

承载认证:通常称为基于令牌的认证,具有多因素安全机制。它使用令牌为单级安全性添加了一个附加层,以验证从实际用户收到的凭据。 JWT(JSON Web Token)是一种广泛使用的承载媒介。

NTLM:它是新技术 LAN Manager 的缩写,Windows 的一种安全协议,用于在没有凭据的情况下执行用户身份验证并允许访问资源。

协商身份验证:它是使用 Kerberos 协议作为身份验证提供程序的 NTLM 的更新版本。 Kerberos 比 NTLM 更快、更安全。

上述方案与 Web 资源的一定程度的安全要求一起使用。 “基本”提供最低级别的安全性,而其他安全性要求用于高安全性要求。

HTTP 身份验证如何工作?

HTTP 有一个通用框架来控制用户对 Web 资源的访问。此框架依赖于身份验证标头。标头可帮助用户了解如何提供他们的凭据以及在此过程中使用哪种方案。有两种类型的标头 WWW-Authenticate 标头和 Proxy Authentication 标头。

标头语法如下所示:

  • WWW-Authenticate: 领域=<领域>
  • 代理验证: 领域=<领域>

此处, 指定了身份验证过程中使用的方案。 描述了客户端的安全范围。现在,这是一个 HTTP 身份验证如何与标头一起工作并在该过程中维护范例的过程。

  1. 请求:客户端以匿名身份请求访问资源。服务器没有关于访问该页面的客户端的任何信息。
  2. Challenge : 检测到访问者后,服务器以 401 (Unauthorized) 响应状态响应客户端,作为验证身份的挑战,以及如何验证 header 中的说明(例如:WWW-Authenticate)。
  3. 响应:客户端使用所需的凭据、用户名和密码来响应服务器的质询,以验证身份并访问资源。
  4. 代理身份验证:如果您使用代理服务器作为预期客户端进行验证,代理服务器会以 407(代理)身份验证状态挑战客户端。在这里,代理服务器代表客户端进行身份验证以访问资源。
  5. 验证:在收到凭证(也通过代理头)后,服务器会验证它们,如果它们无效,服务器会发送 403(禁止)响应状态。如果凭证被证明是有效的,客户会收到一封欢迎信。

这些是 HTTP 身份验证的一些易于掌握的步骤。这个过程在后端系统中要复杂得多。随着各种可能的方式来破解黑客的访问,安全性与现有机制的层级相加。从单因素身份验证、双因素身份验证开始,以及多因素身份验证如何广泛需要一个小时。银行和电子商务服务使用严格的多层安全机制来确保包括支付细节在内的数据的社会安全。因此,HTTP 协议确保了 Internet 上资源之间的安全通信。