身份验证 vs. 授权 | 身份验证和授权之间的区别

17 Mar 2025 | 5 分钟阅读

身份验证和授权是在安全领域中使用的两个词。它们听起来可能相似,但彼此完全不同。身份验证用于验证某人的身份,而授权是为某人提供访问特定资源的权限的一种方式。这两个是基本安全术语,因此需要彻底理解。在本主题中,我们将讨论什么是身份验证和授权,以及它们之间如何区分。

Authentication Vs. Authorization

什么是认证?

  • 身份验证是识别某人身份的过程,以确保该人与他声称的身份相同。
  • 服务器和客户端都使用它。当有人想要访问信息时,服务器使用身份验证,服务器需要知道谁在访问信息。当客户端想知道它是否是它声称的同一服务器时,它也会使用身份验证。
  • 服务器的身份验证通常是通过用户名和密码来完成的。服务器的其他身份验证方式也可以通过卡、视网膜扫描、语音识别和指纹来完成。
  • 身份验证不能确保一个人在一个过程中可以执行哪些任务,可以看到、读取或更新哪些文件。它主要识别的是谁是实际的人或系统。

身份验证因素

根据安全级别和应用程序类型,有不同类型的身份验证因素

  • 单因素身份验证
    单因素身份验证是最简单的身份验证方式。它只需要用户名和密码即可允许用户访问系统。
  • 双因素身份验证
    顾名思义,它是两级安全;因此,它需要两步验证来验证用户。它不仅需要用户名和密码,还需要只有特定用户才知道的唯一信息,例如第一个学校名称、喜欢的目的地。此外,它还可以通过向用户注册的号码或电子邮件地址发送 OTP 或唯一链接来验证用户。
  • 多因素身份验证
    这是最安全和最先进的授权级别。它需要来自不同独立类别的两个或两个以上级别的安全。这种身份验证通常用于金融组织、银行和执法机构。这确保了第三方或黑客不会暴露任何数据。

常见的身份验证技术

1. 基于密码的身份验证

这是最简单的身份验证方式。它需要特定用户名的密码。如果密码与用户名匹配,并且两个详细信息都与系统数据库匹配,则用户将成功进行身份验证。

2. 无密码身份验证

在此技术中,用户不需要密码;相反,他们会在其注册的手机号码或电话号码上收到 OTP(一次性密码)或链接。也可以称之为基于 OTP 的身份验证。

3. 2FA/MFA

2FA/MFA 或 2 因素身份验证/多因素身份验证是更高级别的身份验证。它需要额外的 PIN 或安全问题,以便能够验证用户。

4. 单点登录

单点登录SSO是一种使用一套凭据访问多个应用程序的方式。它允许用户登录一次,并且将自动登录到同一中心化目录中的所有其他 Web 应用程序。

5. 社交身份验证

社交身份验证不需要额外的安全;相反,它会使用可用社交网络的现有凭据来验证用户。

什么是授权?

  • 授权是授予某人做某事的流程。这意味着它是一种检查用户是否有权使用资源的机制。
  • 它定义了用户可以访问哪些数据和信息。它也被称为 AuthZ。
  • 授权通常与身份验证一起使用,以便系统能够知道谁在访问信息。
  • 访问互联网上提供的信息并不总是需要授权。互联网上的一些数据可以在没有授权的情况下访问,例如,您可以从此处了解任何技术。

授权技术

  • 基于角色的访问控制
    RBAC 或基于角色的访问控制技术根据用户在组织中的角色或配置文件分配给用户。它可以用于系统到系统或用户到系统。
  • JSON Web 令牌
    JSON Web 令牌或 JWT 是一种开放标准,用于以 JSON 对象的形式在各方之间安全地传输数据。用户通过私钥/公钥对进行验证和授权。
  • SAML
    SAML 代表安全断言标记语言。它是一种开放标准,为服务提供商提供授权凭证。这些凭证通过数字签名的 XML 文档进行交换。
  • OpenID 授权
    它帮助客户端根据身份验证来验证最终用户的身份。
  • OAuth
    OAuth 是一种授权协议,它使 API 能够验证和访问请求的资源。

身份验证和授权之间的区别图

Authentication Vs. Authorization
认证授权
身份验证是识别用户以提供系统访问权限的过程。授权是授予访问资源的权限的过程。
在此,用户或客户端和服务器都会得到验证。在此,会验证用户是否被允许通过定义的策略和规则。
它通常在授权之前执行。它通常在用户成功获得身份验证后执行。
它需要用户的登录详细信息,例如用户名和密码等。它需要用户的权限或安全级别。
数据通过令牌 ID 提供。数据通过访问令牌提供。
示例:员工需要输入登录详细信息才能通过身份验证来访问组织电子邮件或软件。示例:在员工成功进行身份验证后,他们只能根据其角色和配置文件来访问和操作某些功能。
身份验证凭据可根据需要由用户部分更改。用户无法更改授权权限。权限由系统所有者/经理授予用户,用户只能更改它。

结论

根据以上讨论,我们可以说身份验证验证用户的身份,而授权验证用户的访问权限和特权。如果用户无法证明其身份,则无法访问系统。而且,如果您通过证明正确的身份获得了身份验证,但您无权执行特定功能,那么您将无法访问该功能。然而,这两种安全方法通常一起使用。


下一主题区别