1. 认证基础概念
什么是身份认证 · 认证与授权的区别 · 常见认证协议概览
🔐 什么是身份认证
身份认证(Authentication)是验证用户或系统声称的身份是否真实的过程。简单来说,就是“你是你声称的那个人”。认证通常基于以下三类因素(或组合):
- 知识因素:密码、PIN码、安全问答。
- 持有因素:手机验证码、硬件令牌、智能卡。
- 固有因素:指纹、面部识别、虹膜等生物特征。
⚖️ 认证与授权的区别
认证(Authentication)与授权(Authorization)是安全体系中两个不同但互补的概念。下表清晰对比:
| 维度 | 身份认证 (AuthN) | 授权 (AuthZ) |
|---|---|---|
| 核心问题 | 你是谁? | 你能做什么? |
| 执行顺序 | 先认证 | 认证之后 |
| 常用机制 | 密码、MFA、SSO | ACL、RBAC、策略 |
| 传递信息 | 身份凭证 (ID Token) | 访问令牌 (Access Token) |
| 典型协议 | OpenID Connect, SAML | OAuth 2.0, XACML |
🌐 常见认证协议概览
现代分布式系统依赖标准协议来实现可互操作的安全认证与授权。以下是三种主流协议:
🔵 OAuth 2.0
授权框架,允许第三方应用获取有限的资源访问权限。广泛用于API授权,不直接处理身份。
授权委托🟢 SAML 2.0
基于XML的联邦身份标准,常用于企业单点登录(SSO),通过断言传递身份与属性。
企业SSO🟠 OpenID Connect
基于OAuth 2.0的身份层,提供ID Token(JWT)来验证用户身份,是现代认证的首选。
身份认证| 协议 | 传输格式 | 主要用途 | 令牌/断言 |
|---|---|---|---|
| OAuth 2.0 | JSON / JWT | 授权 (API访问) | Access Token |
| SAML 2.0 | XML | 企业联邦认证 | SAML Assertion |
| OpenID Connect | JWT (JSON) | 身份认证 + 基础授权 | ID Token + Access Token |
💡 核心要点:身份认证是安全的第一道门,授权决定进入后的权限。OAuth 2.0 偏向授权,SAML 和 OIDC 侧重认证,但 OIDC 逐渐成为主流。