认证、授权、鉴权和权限控制

1.1 认证、授权、鉴权和权限控制

认证 --> 授权 --> 鉴权 --> 权限控制

1.1.1 认证(identification)

​ 认证主要是用来确认访问者的身份,确认这个人是不是这个人(常见实现方式是通过用户名和密码,以及身份证)。为了确认用户的身份,防止伪造,在安全要求高的场合,经常会使用组合认证(或者叫多因素认证),也就是同时使用多个认证方式对用户的身份进行校验。

1.1.2 授权(authorization)

​ 授权简单说就是服务方给予访问方一个共信的媒介,如session,cookie,token,银行卡,钥匙,门禁卡等,这个媒介不可被篡改,不可随意伪造,很多时候需要受保护,防止被窃取。之后访问方可以凭借该共信的媒介,去访问或享受服务方提供的服务。服务方提供该服务前,会对该共信的媒介进行鉴权,确认是否是它们给予的媒介,确认无误后,才会提供该服务。

​ 比如你不能拿中国银行的卡去中国建设银行的ATM取钱。

1.1.3 鉴权(authentication)

​ 鉴权是基于授权后的校验。如上所说,鉴权是用来鉴别共信的媒介是否是本服务方提供的共信媒介,是的话才会提供服务。因此,鉴权的实现方式是和授权方式有一一对应关系。对授权所颁发授信媒介进行解析,确认其真实性。

​ 鉴权的输出是权限,即鉴权后能知道用户有什么权限。

​ 常见鉴权的一些实现方式:如银行卡识别器可以用来识别银行卡是不是本银行的卡;门禁卡识别器,可以用来识别是不是本楼房的门禁卡;互联卡web领域会校验session/cookie/token的合法性和有效性。

1.1.4 权限控制(access/permission control)

​ 如上所说,通过鉴权后可以知道用户拥有什么权限,这样就能知道用户能做哪些操作或者享受什么服务。比如你是尊贵VIP,那你可以免排队;比如你是会员,你可以打折;比如你是超级管理员,你可以随便增删改查所有数据。

​ 有这个权限(身份)你才可以做这些事,享受这些服务,这就是权限控制。

1.1.5 举例场景

场景:比如你要坐高铁。

  1. 你需要先买票。买票的时候,会对你提供的身份证进行核对。认证
  2. 买票成功后,会给你一张高铁票。授权
  3. 去高铁站坐高铁的时候,会检查你的高铁票。鉴权
  4. 你是买的01车厢01座位,所以你能坐在01车厢01座位这个位置。权限控制

1.1.6 认证、授权、鉴权和权限控制的关系

​ 认证、授权、鉴权和权限控制这四个环节是一个前后依次发生、上下游的关系,

​ 认证–>授权–>鉴权–>权限控制

​ 需要说明的是,这四个环节在有些时候会同时发生。 例如在下面的几个场景:

  • 使用门禁卡开门:认证、授权、鉴权、权限控制四个环节一气呵成,在瞬间同时发生

  • 用户的网站登录:用户在使用用户名和密码进行登录时,认证和授权两个环节一同完成,而鉴权和权限控制则发生在后续的请求访问中,比如在选购物品或支付时。

    无论怎样,若从时间顺序方面来看,这四个环节是按时间前后、依次相继发生的关系。

1.1.7 认证和鉴权的关系

​ 认证主要是对用户/访问者的真实身份进行认证,如检查身份证,与用户自身相关。认证通过后才能授权,在授权前面进行。

​ 鉴权是与授权相关的,主要用来检查授权所授予的共信的媒介是否合法/通过,如银行卡,session这些。授权通过后才能鉴权,在授权后面进行。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容