认证
认证是指确认声明者的身份。对应英文 identification 单词。
常见的认证方式:
- 身份证
- 用户名和密码
- 手机:手机短息、二维码扫描、手势密码
- 电子邮箱
- 用户的生物学特征:指纹、虹膜
- 等等
授权
指获取用户的委派权限。对应英文 authorization 单词。
在信息安全领域,授权是指资源所有者委派执行者,赋予执行者指定范围的资源操作权限。
- 资源所有者:拥有资源的所有权限,一般就是资源的拥有者
- 资源执行者:被委派去执行资源的相关操作
- 操作权限:可以对资源进行的某种操作
- 资源,有价值的信息或数据等
资源所有者和执行者不限于自然人,很多时候是应用程序或者机器,例如浏览器。
授权的实现方式很广泛,在互联网应用开发领域中:
- 通过 web 服务器的 session 机制
- 通过 web 服务器的 cookie 机制
- 颁发授权令牌 token
鉴权
鉴权是指对于一个声明者所声明的身份权利的真实性进行鉴别确认的过程。对应英文 authentication 单词。
先授权,后鉴权。这两个“权”是同一个概念,就是所委派的权利。
因此鉴权的实现方式和授权的方式有一一对应关系。
鉴权是一个承上启下的一个环节,上游它接受权限的输出,校验其真实性后,然后获取权限(permission),为下一步的权限控制做好准备。
权限控制
权限控制是指对可执行的各种操作组合配置为权限列表,然后根据执行者的权限,若其操作在权限范围内,则允许执行,否则禁止。对应英文 access/permission control 单词。
权限(Permission),一般预先定义和配置好,以便控制的具体实现。一班情况下,会用基于角色的方式来定义权限,由角色来封装可执行的操作集合。
认证、授权、鉴权、和权限控制关系
这四个环节是一个前后依次发上、上下游的关系。
认证 -> 授权 -> 鉴权 -> 权限控制
认证和鉴权的关系
- 认证是确认声明者的本身身份,其作为授权的上游衔接而存在
- 鉴权是对声明者所声明的真实性进行确认的过程,其作为授权的下游衔接而存在