1. 认证基础概念

什么是身份认证 · 认证与授权的区别 · 常见认证协议概览

🔐 什么是身份认证

身份认证(Authentication)是验证用户或系统声称的身份是否真实的过程。简单来说,就是“你是你声称的那个人”。认证通常基于以下三类因素(或组合):

  • 知识因素:密码、PIN码、安全问答。
  • 持有因素:手机验证码、硬件令牌、智能卡。
  • 固有因素:指纹、面部识别、虹膜等生物特征。
用户 认证系统 验证身份 资源

⚖️ 认证与授权的区别

认证(Authentication)与授权(Authorization)是安全体系中两个不同但互补的概念。下表清晰对比:

维度身份认证 (AuthN)授权 (AuthZ)
核心问题你是谁?你能做什么?
执行顺序先认证认证之后
常用机制密码、MFA、SSOACL、RBAC、策略
传递信息身份凭证 (ID Token)访问令牌 (Access Token)
典型协议OpenID Connect, SAMLOAuth 2.0, XACML
认证 密码 / 指纹 授权 权限 / 范围 API

🌐 常见认证协议概览

现代分布式系统依赖标准协议来实现可互操作的安全认证与授权。以下是三种主流协议:

🔵 OAuth 2.0

授权框架,允许第三方应用获取有限的资源访问权限。广泛用于API授权,不直接处理身份。

授权委托

🟢 SAML 2.0

基于XML的联邦身份标准,常用于企业单点登录(SSO),通过断言传递身份与属性。

企业SSO

🟠 OpenID Connect

基于OAuth 2.0的身份层,提供ID Token(JWT)来验证用户身份,是现代认证的首选。

身份认证
协议传输格式主要用途令牌/断言
OAuth 2.0JSON / JWT授权 (API访问)Access Token
SAML 2.0XML企业联邦认证SAML Assertion
OpenID ConnectJWT (JSON)身份认证 + 基础授权ID Token + Access Token
OAuth 2.0 授权框架 Access Token 范围 (scope) 不处理身份 SAML 2.0 XML断言 IdP 发起 / SP 发起 联邦身份 企业SSO OpenID Connect ID Token (JWT) UserInfo 端点 身份 + 授权 现代应用
💡 核心要点:身份认证是安全的第一道门,授权决定进入后的权限。OAuth 2.0 偏向授权,SAML 和 OIDC 侧重认证,但 OIDC 逐渐成为主流。