以前一直傻傻分不清各种网际应用中 authentication 和 authorization, 其实很简单:
这两个术语通常在安全性方面相互结合使用,尤其是在获得对系统的访问权限时。两者都是非常重要的主题,通常与网络相关联,作为其服务基础架构的关键部分。然而,这两个术语在完全不同的概念上是非常不同的。虽然它们通常使用相同的工具在相同的上下文中使用,但它们彼此完全不同。
身份验证意味着确认您自己的身份,而授权意味着授予对系统的访问权限。简单来说,身份验证是验证您的身份的过程,而授权是验证您有权访问的过程。
认证
身份验证是关于验证您的凭据,如用户名/用户ID和密码,以验证您的身份。系统确定您是否就是您所说的使用凭据。在公共和专用网络中,系统通过登录密码验证用户身份。身份验证通常通过用户名和密码完成,有时与身份验证因素结合使用,后者指的是各种身份验证方式。
身份验证因素决定了系统在授予访问文件和请求银行交易之外的任何内容之前验证某人身份的各种要素。用户的身份可以通过他所知道的,他拥有的或者他是什么来确定。在安全性方面,必须至少验证两个或所有三个身份验证因素,以便授予某人访问系统的权限。
根据安全级别,身份验证因素可能与以下之一不同:
- 单因素 身份验证 - 这是最简单的身份验证方法,通常依赖于简单的密码来授予用户对特定系统(如网站或网络)的访问权限。此人可以仅使用其中一个凭据请求访问系统以验证其身份。单因素身份验证的最常见示例是登录凭据,其仅需要针对用户名的密码。
- 双因素身份验证 - 顾名思义,它是一个两步验证过程,不仅需要用户名和密码,还需要用户知道的东西,以确保更高级别的安全性,例如ATM引脚,用户知道。使用用户名和密码以及额外的机密信息,欺诈者几乎不可能窃取有价值的数据。
- 多重身份验证 - 这是最先进的身份验证方法,它使用来自独立身份验证类别的两个或更多级别的安全性来授予用户对系统的访问权限。所有因素应相互独立,以消除系统中的任何漏洞。金融机构,银行和执法机构使用多因素身份验证来保护其数据和应用程序免受潜在威胁。
例如,当您将ATM卡输入ATM机时,机器会要求您输入您的PIN。在您正确输入引脚后,银行会确认您的身份证明该卡真正属于您,并且您是该卡的合法所有者。通过验证您的ATM卡引脚,银行实际上会验证您的身份,这称为身份验证。它只是确定你是谁,没有别的。
授权
另一方面,授权发生在系统成功验证您的身份后,最终会授予您访问资源(如信息,文件,数据库,资金,位置,几乎任何内容)的完全权限。简单来说,授权决定了您访问系统的能力以及达到的程度。验证成功后,系统验证您的身份后,即可授权您访问系统资源。
授权是确定经过身份验证的用户是否可以访问特定资源的过程。它验证您是否有权授予您访问信息,数据库,文件等资源的权限。授权通常在验证后确认您的权限。简单来说,就像给予某人官方许可做某事或任何事情。
例如,验证和确认组织中的员工ID和密码的过程称为身份验证,但确定哪个员工可以访问哪个楼层称为授权。假设您正在旅行而且即将登机。当您在登记前出示机票和一些身份证明时,您会收到一张登机牌,证明机场管理局已对您的身份进行了身份验证。但那不是它。乘务员必须授权您登上您应该乘坐的航班,让您可以进入飞机内部及其资源。
对系统的访问受身份验证和授权的保护。可以通过输入有效凭证来验证访问系统的任何尝试,但只有在成功授权后才能接受。如果尝试已通过身份验证但未获得授权,系统将拒绝访问系统。
认证 | 授权 |
身份验证确认您的身份以授予对系统的访问权限。 | 授权确定您是否有权访问资源。 |
这是验证用户凭据以获得用户访问权限的过程。 | 这是验证是否允许访问的过程。 |
它决定用户是否是他声称的用户。 | 它确定用户可以访问和不访问的内容。 |
身份验证通常需要用户名和密码。 | 授权所需的身份验证因素可能有所不同,具体取决于安全级别。 |
身份验证是授权的第一步,因此始终是第一步。 | 授权在成功验证后完成。 |
例如,特定大学的学生在访问大学官方网站的学生链接之前需要进行身份验证。这称为身份验证。 | 例如,授权确定成功验证后学生有权在大学网站上访问哪些信息。 |
摘要
虽然这两个术语经常相互结合使用,但它们的概念和含义完全不同。虽然这两个概念对于Web服务基础结构至关重要,特别是在授予对系统的访问权限时,理解关于安全性的每个术语是关键。虽然我们大多数人将一个术语与另一个术语混淆,但理解它们之间的关键区别很重要,实际上非常简单。如果身份验证是您的身份,则授权是您可以访问和修改的权限。简单来说,身份验证就是确定某人是否是他声称的人。另一方面,授权是确定他访问资源的权利。
举个例子来说:
你要登机,你需要出示你的身份证和机票,身份证是为了证明你张三确实是你张三,这就是 authentication;而机票是为了证明你张三确实买了票可以上飞机,这就是 authorization。
在网站认证领域再举个例子:
你要登陆论坛,输入用户名张三,密码1234,密码正确,证明你张三确实是张三,这就是 authentication;再一check用户张三是个版主,所以有权限加精删别人帖,这就是 authorization。