在分布式系统、云原生微服务以及自主 AI Agent(智能体)高度普及的现代架构中,安全边界已从传统的“网络物理拓扑”彻底转移至**“以身份为中心(Identity-Centric)的动态信任边界”**。从终端用户的初次凭据校验,到微服务间的双向机机认证,再到代表人类自主执行任务的 AI Agent 委托代理,身份认证(Authentication, AuthN)与访问授权(Authorization, AuthZ)贯穿了整个软件架构的生命周期。
本速查表以工业界成熟的**纵深防御(Defense-in-Depth)与零信任(Zero Trust: Never Trust, Always Verify)**为基石,系统梳理从底层凭据基础到顶层智能体治理的 12 层技术演进全景架构,提供高密度的协议机理、算法选型、常见漏洞防御与实战工程对照,作为后端开发、架构设计、安全工程与运维演练的案头级参考。
🔗 相关矩阵速查:网络安全协议与防御体系全景速查表 · 加解密与现代密码学算法速查表 · RESTful API 设计规范速查表 · HTTP 状态码全景速查表 · AI Agent Harness 运行架构速查表 · AI Agent 技能体系速查表
0. 核心心智模型与 12 层架构拓扑速查
核心三要素辨析 (Who vs What vs Who-on-behalf)
| 核心维度 | 英文定义 | 核心回答问题 | 核心载体 / 典型代表 | 典型失真与安全隐患 |
|---|---|---|---|---|
| 身份认证 (AuthN) | Authentication | 你是谁? (Identity Verification) | 密码、Passkey (FIDO2)、TOTP、OIDC id_token | 身份冒用、弱口令撞库、钓鱼窃取、会话劫持 |
| 访问授权 (AuthZ) | Authorization | 你能操作什么? (Access Permission) | RBAC 角色、ABAC 策略、ACL、OAuth 2.0 access_token | 水平越权 (IDOR/BOLA)、垂直提权 (BFLA)、特权蔓延 |
| 委托代理 (Delegation) | Delegation | 谁能代表你做什么? (Acting on Behalf) | OAuth 2.0 授权码、Token Exchange (RFC 8693)、能力凭证 | 代理权不受限滥用、提权欺诈、无法有效追责 |
4 大抽象层与 12 层架构矩阵
flowchart TB
subgraph OBS ["🛡️ 统一可观测与持续安全体系 (Continuous Observability & SIEM)"]
direction LR
O1["日志审计\nAudit Logs"] ~~~ O2["指标遥测\nMetrics"] ~~~ O3["实时告警\nAlerts"] ~~~ O4["威胁分析\nSIEM / UEBA"] ~~~ O5["自动响应\nIncident Response"]
end
subgraph L4 ["L4: 机器与智能体身份层 (Machine & Agent Identity)"]
direction LR
L10["<b>Layer 10: API & 机器身份</b><br>API Key / HMAC / mTLS / SPIFFE"]
L11["<b>Layer 11: AI Agent 身份与委托</b><br>Agent 证明 / Token Exchange / 护栏与 HITL"]
L12["<b>Layer 12: 认证安全测试与监控</b><br>OWASP BOLA / 权限 Fuzzing / 审计取证"]
end
subgraph L3 ["L3: 访问授权与治理层 (Authorization & Governance)"]
direction LR
L07["<b>Layer 07: 授权模型体系</b><br>RBAC / ABAC / ReBAC / CapBAC"]
L08["<b>Layer 08: 决策与执行引擎</b><br>OPA (Rego) / Cedar / PAP-PDP-PEP"]
L09["<b>Layer 09: 企业级 SSO 与治理</b><br>SAML 2.0 / OIDC / SCIM 自动同步"]
end
subgraph L2 ["L2: 现代认证协议栈 (Authentication Protocols)"]
direction LR
L05["<b>Layer 05: OAuth 2.0 & OIDC</b><br>授权码 + PKCE / 身份断言 / 作用域授权"]
L06["<b>Layer 06: MFA 与 Passkeys</b><br>FIDO2 / WebAuthn / 硬件 Key / 阶梯认证"]
end
subgraph L1 ["L1: 身份基石与凭据存储 (Identity Foundation)"]
direction LR
L01["<b>Layer 01: 身份与安全基础</b><br>实体生命周期 / 信任边界 / 最小权限"]
L02["<b>Layer 02: 密码与凭据哈希</b><br>Argon2id / bcrypt / 盐与胡椒 / 防爆破"]
L03["<b>Layer 03: 会话与 Cookie</b><br>HttpOnly / SameSite / CSRF 双重防御"]
L04["<b>Layer 04: JWT 与令牌治理</b><br>短效 Access + 轮换 Refresh / 主动吊销"]
end
subgraph ENTITIES ["👥 核心交互主体 (Entities)"]
direction LR
E1["人类用户<br>Users / Employees"] ~~~ E2["客户端应用<br>Web / Mobile Apps"] ~~~ E3["业务服务集群<br>APIs & Microservices"] ~~~ E4["AI 智能体<br>Agents & Automations"]
end
OBS ==> L4
L4 ==> L3
L3 ==> L2
L2 ==> L1
L1 ==> ENTITIES
| 抽象层级 | 涵盖纵深层级 (Layers) | 核心解决安全问题 | 核心关键技术与协议族 |
|---|---|---|---|
| 顶部统领 | 持续可观测与纵深响应 | 全链路身份审计不可抵赖、异常登录阻断、凭据撞库检测 | Audit Logs, Metrics, Alerts, SIEM, UEBA, SOAR 自动化响应 |
| L4: 机器与智能体身份 | Layer 10 (API & 机器身份) Layer 11 (AI Agent 身份与委托) Layer 12 (安全测试与监控) | 服务间东西向零信任、AI 智能体委托代理与提权防范、权限越权渗透测试 | mTLS, SPIFFE/SPIRE, HMAC, Token Exchange (RFC 8693), Capability Tokens, OWASP Top 10 |
| L3: 访问授权与治理 | Layer 07 (授权模型) Layer 08 (策略引擎与执行) Layer 09 (企业 SSO 与治理) | 业务资源访问判定、策略集中解耦管理、跨企业账号自动开通与回收 | RBAC, ABAC, ReBAC (Zanzibar), OPA (Rego), AWS Cedar, SAML 2.0, SCIM 2.0 |
| L2: 现代认证协议栈 | Layer 05 (OAuth 2.0 & OIDC) Layer 06 (MFA 与 Passkeys) | 第三方安全受限委派、统一单点认证、抗钓鱼强双因素核验 | OAuth 2.0 (PKCE), OpenID Connect (ID Token), FIDO2, WebAuthn, TOTP (RFC 6238) |
| L1: 身份基石与凭据存储 | Layer 01 (安全威胁模型) Layer 02 (密码与凭据哈希) Layer 03 (会话与 Cookie) Layer 04 (令牌与 JWT 治理) | 用户初次凭据校验存储、客户端会话状态维持、分布式无状态令牌生命周期 | Argon2id, bcrypt, HttpOnly / Secure / SameSite, JWT (RS256/ES256), Refresh Token Rotation |
| 底端实体 | 用户 · 应用 · 服务 · 智能体 | 多端接入与身份全生命周期(创建 $\to$ 授权 $\to$ 审计 $\to$ 吊销) | Web/App 终端、微服务网格、Kubernetes Pods、LLM 自动化 Agent |
1. 身份基石与数据安全 (L1: Identity Foundation)
Layer 01: 身份与安全基石 (Identity & Security Foundations)
身份基础设施的第一步在于建立严密的信任模型与清晰的身份生命周期:
- 身份主体 (Subjects):可被标识与赋予权限的实体,包含人类用户(员工/终端消费者)、机器实体(后台守护进程/微服务工作负载)与软件 Agent(自主智能体)。
- 身份生命周期 (Identity Lifecycle):包含 创建 (Provision) $\to$ 维护/变更 (Manage/Update) $\to$ 休眠/停用 (Suspend) $\to$ 吊销/注销 (Revoke/Deprovision),任何环节缺位都会导致“孤儿账号”或“特权驻留”。
- 信任边界 (Trust Boundaries):永远不在不可信边界(如前端客户端、外部 API 调用方)做权限假定;边界交叉处必须显式进行身份鉴别与权限裁定。
- 最小权限原则 (PoLP):实体在任意时刻仅被授予完成当前最小任务所需的绝对最低权限,且必须支持时间衰减与作用域收敛。
- 纵深防御 (Defense-in-Depth):不依赖单一防线(如不能只靠内网网络隔离,内网应用必须同样实施强认证与鉴权)。
Layer 02: 密码与口令凭据安全 (Passwords & Credentials)
口令仍是当下普及度极高的认证形式,必须在存储与传输端采用现代密码学防御:
| 密码哈希算法 | 内存开销 | CPU/GPU 抗阻 | 行业推荐评级 | 典型推荐配置 (生产基准) | 适用场景与注意点 |
|---|---|---|---|---|---|
| Argon2id | 极高 (可调) | 最强 (抗 ASIC/GPU 并行攻击) | 现代首选 (PHC 获胜者) | 内存 64MB, 迭代 3 次, 并行度 4 (RFC 9106) | 现代新系统首选;天然平衡侧信道攻击与暴力破解抗性 |
| bcrypt | 中等 (4KB) | 强 (抗 GPU,因内存限制稍逊) | 行业主流 (成熟稳定) | 成本因子 cost=12 或 13 (运算约 200~300ms) | 历史系统迁移与大部分后端框架默认;截断密码前 72 字节 |
| scrypt | 高 (可调) | 强 (硬件抗阻能力优秀) | 良好 | $N=32768, r=8, p=1$ | 资源敏感环境需注意内存溢出 (OOM) 风险 |
| PBKDF2 | 极低 | 较弱 (易被高端定制 GPU 破解) | 仅合规/遗留推荐 | SHA-256 下推荐至少 600,000 次迭代 (OWASP 2023+) | 仅在系统标准受 FIPS 强制约束且无法使用 Argon2 时使用 |
| MD5 / SHA-256 | 零 (纳秒级) | 极弱 (无计算成本) | 严禁使用 | 无任何安全参数可挽救 | 极易被彩虹表秒级破解,严禁用于密码哈希存储 |
口令防护四大黄金实践
- 加盐 (Salting) 与胡椒 (Peppering):
- Salt (盐):每个用户唯一,采用强加密伪随机生成器生成(至少 16 字节),随哈希值公开明文存储于数据库,阻断跨账号彩虹表攻击。
- Pepper (胡椒):全局共享保密密钥(HMAC 密钥),保存在独立 KMS/HSM 或环境变量中,即使数据库泄露也无法离线破解。
- NIST SP 800-63B 现代密码策略:
- 彻底废弃“每 90 天强制修改密码”与“必须包含大小写特殊符号”的传统反人类策略(易导致可预测规律)。
- 强调最小长度(至少 8~12 位),允许并鼓励长密码短语(Passphrase)。
- 强制比对已知泄露弱口令字典(如 Have I Been Pwned / 常见弱口令 Top 100,000)。
- 防爆破与防撞库 (Rate Limiting & Lockouts):
- 基于 IP、设备指纹、账号维度的滑动窗口速率限制(Leaky Bucket / Token Bucket)。
- 渐进式延迟响应(Exponential Backoff)与无感验证码(Turnstile / reCAPTCHA v3)。
- 安全重置与找回流 (Account Recovery):
- 生成加密安全的、单次有效的有时效令牌(TTL $\le 15$ 分钟),哈希后存入数据库。
- 接口永不暴露用户存在性(统一提示:“若该邮箱存在,我们已向您发送重置邮件”)。
Layer 03: 服务端会话与 Cookie 管理 (Sessions & Cookies)
传统状态化架构以服务端会话(Session)与 Cookie 为核心:
| 安全属性 / 机制 | 配置值 / 防护方式 | 防御的核心攻击向量 | 工程落地关键规范 |
|---|---|---|---|
HttpOnly | HttpOnly=true | XSS 窃取 Cookie | 阻止客户端 JavaScript 通过 document.cookie 读取敏感凭据 |
Secure | Secure=true | 明文网络窃听 / MitM | 强制仅在加密的 HTTPS 连接下随请求发送 Cookie |
SameSite | Strict / Lax / None | 跨站请求伪造 (CSRF) | • Strict:严格禁止第三方站点外链附带;• Lax:安全导航允许附带,默认推荐;• None:必须配合 Secure=true |
| 会话固定防御 | Session ID Rotation | 会话固定攻击 (Session Fixation) | 用户认证通过(如登录、权限变更)瞬间,必须立即作废旧 Session 并重新颁发新 Session ID |
| CSRF 双重防御 | CSRF Token / 双重 Cookie | 伪造跨站恶意操作 | 除了 SameSite=Lax,表单与关键 API 配合 Header 传参比对 CSRF Token |
| 超时与绑定 | 滑动与绝对过期 + 设备绑定 | 会话长期驻留与离线盗用 | 设定绝对生命周期(如 12 小时强制重登)与滑动超时(如 30 分钟无操作自动失效);校验 User-Agent 与 IP 网段防异地劫持 |
Layer 04: 令牌、JWT 与无状态会话治理 (Tokens & JWT)
现代分布式与微服务架构普遍采用基于令牌(Token)的无状态/半状态方案:
JWT 基础三段式结构与解析
JWT(JSON Web Token)由三部分用点号 . 依次连接:Header.Payload.Signature。
| JWT 构成段 | 典型解码示例 (JSON) | 核心职责与安全防线 |
|---|---|---|
| 1. Header (头部) | {"alg": "RS256", "typ": "JWT"} | 声明令牌类型与签名算法。 ⚠️ 防线:服务端验签必须硬编码指定算法,严禁信任客户端声明的 alg: none。 |
| 2. Payload (载荷) | {"sub": "usr_1024", "role": "admin", "exp": 1735689600} | 承载标准 Claims(主题、过期时间)与业务属性。 ⚠️ 防线:仅为 Base64Url 编码,无加密,严禁存放明文密码或机密凭据。 |
| 3. Signature (签名) | RSASHA256(Base64Url(H) + "." + Base64Url(P), PrivateKey) | 使用私钥对 Header 与 Payload 拼接内容进行非对称签名。 ⚠️ 防线:防篡改基石;微服务仅需公钥验签即可确认数据未经篡改。 |
- 严防
alg: none攻击:服务端在验签时必须在代码中硬编码指定可信签名算法(如强制RS256),绝不能动态从 Token Header 的alg字段直接决定验签逻辑。 - 签名算法选型:内部单一系统可用
HS256(共享对称密钥);分布式、微服务或跨机构联合必须使用非对称签名(RS256、ES256或Ed25519/EdDSA),微服务仅需获取公钥验签即可。
令牌选型与存储权衡矩阵
| 维度 | 不透明令牌 (Opaque / Reference Token) | 自包含令牌 (JWT / By-Value Token) |
|---|---|---|
| 本质机制 | 随机高熵字符串,服务端 Redis 存储状态 | 包含 Claims 的签名字符串,服务端无状态快速自验 |
| 性能优势 | 依赖集中式缓存读取,带来一次网络 I/O | 无需查库,网关与下游各微服务直接非对称公钥校验 |
| 立即吊销能力 | 极好(Redis DEL 键即可瞬间全局失效) | 困难(在过期前天然有效,需依赖黑名单机制) |
| 体积载荷 | 极小(32~64 字节) | 较大(通常 500B ~ 2KB,HTTP 头部传输占用带宽) |
| 数据隐私 | 外部完全不可见内部 Payload | Payload 仅 Base64Url 编码,无加密,严禁存放机密信息 |
双 Token 轮换与自动吊销族机制 (Refresh Token Rotation)
sequenceDiagram
autonumber
actor Client as 客户端
participant Auth as 认证中心 (Auth Server)
participant Res as 业务微服务 (Resource Server)
Client->>Auth: 登录认证 (口令 / MFA)
Auth-->>Client: 颁发短效 Access Token (5~15m) + 长效 Refresh Token (7~30d)
Client->>Res: 请求业务数据 (携带 Access Token)
Res-->>Client: 校验通过并响应数据
Note over Client,Res: 15分钟后 Access Token 自然过期
Client->>Res: 请求数据 (携带过期 Access Token)
Res-->>Client: 401 Unauthorized (Token Expired)
Client->>Auth: 提交 Refresh Token 请求刷新
Note over Auth: 验证有效并生成新 Token Pair,旧 Refresh Token 立即作废
Auth-->>Client: 颁发全新 Access Token + 全新 Refresh Token
Note over Client,Auth: 异常对抗:若已被废弃的旧 Refresh Token 再次被提交请求
Auth->>Auth: 触发重用检测 (Token Family Reuse Detection)
Auth-->>Client: 400 警告:立即吊销该家族全部关联 Token 并告警
2. 现代认证协议栈 (L2: Authentication Protocols)
Layer 05: OAuth 2.0 与 OpenID Connect (OIDC)
- OAuth 2.0 (RFC 6749):仅解决**授权委派(Authorization)**问题(“允许应用获取受保护资源的访问权限”)。
- OpenID Connect (OIDC 1.0):在 OAuth 2.0 之上叠加的身份认证层(Authentication),通过规范化颁发经数字签名的
id_token(JWT 格式)与标准的/userinfo接口,解决“用户到底是谁”的问题。
OAuth 2.0 现代核心授权流对比
| 授权流模式 (Grant Type) | 适用客户端形态 | 是否需要 Client Secret | 安全关键配置 | 典型工业应用场景 |
|---|---|---|---|---|
| 授权码 + PKCE (Authorization Code + PKCE) | SPA (React/Vue)、移动原生 App、现代 Web 应用 | 公开客户端不需要 (服务端应用推荐配置) | 强制使用 code_challenge / code_verifier (S256);防范中间人拦截授权码 | 现代所有前端与移动应用的事实唯一首选标准(彻底取代已淘汰的隐式流 Implicit Flow) |
| 客户端凭据模式 (Client Credentials) | 纯后台服务、守护进程 (Cron Jobs)、CLI 工具 | 必须 (高度保密的凭据) | 仅代表服务自身身份访问;需严格限定 API Scope 与 IP 白名单 | 微服务间后端调用、自动化运维工具、数据同步管道 |
| 设备授权码流 (Device Code Flow) | 智能电视、CLI 终端、无浏览器输入受限设备 | 不需要 | 在另一台具备完整输入能力的设备(手机/PC)扫码或输入简短配对码完成认证 | 命令行工具登录 (如 GitHub CLI)、OTT 机顶盒应用登录 |
| 刷新令牌流 (Refresh Token) | 具备长期后台保持登录需求的应用 | 视客户端类型而定 | 严格采用 Refresh Token Rotation (RTR) 与重用检测 | 移动 App 避免频繁打断用户要求重新登录 |
| 令牌置换流 (Token Exchange, RFC 8693) | 微服务网格、跨域委托代理 | 视信任边界而定 | 将入站 Token 置换为针对下游特定服务的受限 Token(降权/缩小 Scope) | 下游服务穿透调用、零信任服务间委托代理、AI Agent 代用户执行子任务 |
Layer 06: 多因素认证 (MFA)、通行密钥 (Passkeys) 与无密码
根据 NIST 与 FIDO 联盟标准,认证因子划分为三类:
- 知识因子 (Something you know):密码、PIN 码、密保问题;
- 持有因子 (Something you have):手机(短信/OTP 应用)、硬件安全 Key (YubiKey)、智能卡;
- 生物固有因子 (Something you are):指纹、面容 ID、虹膜。
MFA 方案抗钓鱼能力与技术实现对照
| 认证方案 | 认证因子归类 | 依赖技术规范 | 抗中间人钓鱼 (MitM) | 维护与硬件成本 | 工业界评级与实践建议 |
|---|---|---|---|---|---|
| Passkeys / WebAuthn | 持有 + 生物识别 | FIDO2 / W3C WebAuthn | 天然免疫 (Origin 强绑定) | 低 (利用用户手机/电脑内置 TPM/Secure Enclave) | 未来黄金标准:无密码认证首选,完全终结中间人假网站钓鱼 |
| 硬件安全密钥 | 纯硬件持有 | FIDO2 / CTAP2 (YubiKey) | 天然免疫 | 高 (需采购独立物理硬件) | 金融核心系统、关键基础设施基础设施管理员强推方案 |
| TOTP 身份验证器 | 动态持有 | RFC 6238 (时间戳 HMAC) | 脆弱 (钓鱼站可实时反向代理套取并使用) | 极低 (免费 Authenticator App) | 传统双因素性价比首选;推荐为大部分普通应用的基础 MFA |
| 短信 / 邮件验证码 | 外部通信渠道 | 通信短信网关 / SMTP | 极弱 (易被钓鱼、SIM 换卡、基站拦截) | 低至中等 (需支付短信通道费) | 不推荐作为高安全 MFA,仅可作为下沉市场过渡或非关键通道通知 |
| 应急恢复备用码 | 静态知识/持有 | 单向哈希加密存储 | 脆弱 (如未妥善保管易被盗取) | 零 | MFA 必备兜底:生成 8~10 个单次有效哈希码,丢失主验证器时自救 |
Passkeys (FIDO2) 挑战-应答交互流程
sequenceDiagram
autonumber
actor User as 用户设备 (Touch ID / TPM)
participant Browser as 客户端浏览器 (WebAuthn API)
participant Server as 业务服务端 (Relying Party)
Browser->>Server: 1. 发起登录请求
Server-->>Browser: 2. 下发随机高熵挑战码 (Challenge) + RP ID (强绑定域名)
Browser->>User: 3. 唤起硬件生物识别 / 安全芯片
Note over User: 安全芯片内验证 Origin 域名匹配<br/>使用设备内私钥对 Challenge 签名
User-->>Browser: 4. 返回签名凭据 (AuthenticatorAssertionResponse)
Browser->>Server: 5. 提交 ClientDataJSON 与数字签名
Note over Server: 使用注册时存储的公钥<br/>校验签名真伪与防重放
Server-->>Browser: 6. 验签成功,颁发业务会话或 JWT 令牌
3. 授权模型与访问治理 (L3: Authorization & Governance)
Layer 07: 授权模型 (Authorization Models)
当用户身份被确立后,系统需判定其是否有权执行特定操作:
| 授权模型 | 核心理念 | 判定依据 | 适用系统场景 | 局限与演进瓶颈 |
|---|---|---|---|---|
| ACL (Access Control List) | 基于资源对象挂载用户白名单 | Resource -> [Users: Permissions] | 文件系统权限、共享协作文档所有权校验 | 难以集中批量授权,用户离职或权限变动维护成本极高 |
| RBAC (基于角色的访问控制) | 权限赋给角色,角色指派给用户 | User -> Role -> Permissions | 标准企业后台 ERP/CRM、租户基础权限(管理员/只读/财务) | “角色爆炸” (Role Explosion):难以表达“仅在工作日上班时间访问本部门文档”等细粒度动态条件 |
| ABAC (基于属性的访问控制) | 基于主体、资源、动作、环境四大维度属性的逻辑运算 | f(Subject, Resource, Action, Environment) -> Allow / Deny | 金融风控、数据防泄密 (DLP)、动态上下文审批系统 | 策略规则复杂度高,海量数据列表查询时性能排查与反向索引较重 |
| ReBAC (基于关系的访问控制) | 基于图结构关系链(如嵌套继承、派生包含关系)做可达性推导 | Subject -[relation]-> Object(如 Google Zanzibar 体系) | 类似 Google Docs、SaaS 协同工具、敏捷知识库(“组织包含部门,部门包含团队,文档属于团队”) | 需要专门的分布式图存储与缓存一致性机制保障低延迟 |
| PBAC / CapBAC (基于策略/权能) | 基于独立加密签名的“权能凭证(Capability Token)”直接行使权限 | 令牌携带加密权能直接放行,无需反向查询中心数据库 | 分布式微服务直接委派、零信任边缘计算、AI Agent 任务分发 | 权能令牌的撤回与中途降权较为复杂 |
Layer 08: 授权决策与执行引擎 (Authorization Decision & Enforcement)
在大规模系统中,**“策略即代码(Policy-as-Code)”与“决策与执行解耦”**是架构演进的核心准则。
XACML / 现代授权解耦四要素模型
- PAP (Policy Administration Point):策略管理点,策略的撰写、版本管理与发布中心(如 GitOps 策略库)。
- PDP (Policy Decision Point):策略决策点,负责加载策略和上下文属性,输入请求并输出判定结果(
Allow或Deny)。 - PEP (Policy Enforcement Point):策略执行点,拦截业务请求并强制执行 PDP 的裁定(如 API 网关、服务网格 Sidecar、中间件拦截器)。
- PIP (Policy Information Point):策略信息点,在决策过程中向 PDP 提供实时动态属性(如从数据库查询资源所有者、从 Redis 读取当前风控分值)。
现代主流声明式策略引擎对比
| 决策引擎 | 发明/主导方 | 核心策略语言 | 执行形态 | 核心优势与适用场景 |
|---|---|---|---|---|
| OPA (Open Policy Agent) | CNCF 毕业项目 | Rego (声明式查询语言) | 独立 Sidecar / 守护进程 / WebAssembly (WASM) 嵌入 | 云原生与 Kubernetes 准入控制行业标准;支持微服务 HTTP API 鉴权、网关集成 |
| Cedar | AWS 开源项目 | Cedar (强类型表达语言) | Rust 编写高性能库 / 本地二进制 / WASM | 专为细粒度应用权限设计;支持自动化形式化验证(Prover 杜绝逻辑自相矛盾),性能极致 |
| OpenFGA / Ory Keto | CNCF / Auth0 / Ory | 基于 Google Zanzibar 的元组关系表达 | 分布式服务集群 + 关系数据库存储 | ReBAC 关系授权首选;专为复杂组织树与深层资源共享关系图检索优化 |
Layer 09: 企业级身份体系与单点登录 (Enterprise Identity & SSO)
SAML 2.0 vs OIDC 跨企业联邦协议深度选型
| 维度 | SAML 2.0 (Security Assertion Markup Language) | OIDC (OpenID Connect 1.0) |
|---|---|---|
| 数据载荷格式 | 庞大的 XML 结构,包含 XML-DSig 数字签名与加密 | 轻量级 JSON / JWT,Base64Url 编码与 JWS 规范 |
| 传输通道 | 深度依赖浏览器通过 HTTP POST Binding 跳转重定向传递断言 | 支持重定向与标准 RESTful HTTP API 直接交互,全环境友好 |
| 客户端生态 | 传统 PC 端浏览器 Web 站点支持极好;原生移动 App / SPA 极其难用 | 原生 App、SPA、微服务、IoT 全平台原生原生支持 |
| 适用场景 | 传统政企采购、大型跨国集团与遗留系统(如 Okta/PingFederate 对接企业内部 AD) | 现代 SaaS 平台、公有云服务、跨平台协作工具 |
关键配套标准与 IdP 选型
- SCIM 2.0 (RFC 7643/7644):跨域身份管理系统。用于企业在 IdP 端(如 Okta/Azure AD)增删员工时,自动向 SaaS 系统下发 RESTful 指令实时同步用户账号与组织架构,彻底杜绝离职未回收账号的安全隐患。
- 主流身份平台 (IdP) 选型对照:
- Keycloak:Red Hat 开源老牌标准产品,功能极其丰富全面,支持 SAML/OIDC/Kerberos/用户联盟,适合私有化自建部署。
- Auth0 / Okta:商业云 IdP 龙头,功能完善,企业 SSO 与合规认证齐全,适合快速出海的大型商业业务。
- Clerk / Logto / Zitadel:新一代开发者优先的现代身份平台,UI 体验极佳,专为 Next.js/React 与现代多租户 SaaS 打造。
4. 机器与 AI 智能体身份 (L4: Machine & Agent Identity)
Layer 10: API 与机机通信身份 (Machine Identity)
在零信任(Zero Trust)微服务架构中,“网络边界可信”的假设被彻底打破,服务间通信(East-West Traffic)与对外开放 API(North-South Traffic)均必须显式鉴别调用方机器身份:
| 机制类型 | 核心实现原理 | 防护优势 | 典型工程实践规范 |
|---|---|---|---|
| API Keys | 静态长效高熵字符串,通常分前缀与内容(如 sk-live_xxx) | 实现极其轻量直观,适合三方集成 | • 严禁直接入库,仅存储加盐 SHA-256 哈希; • 强制限定 IP 白名单与接口 Scope 作用域; • 具备双 Key 滚动替换(Zero-Downtime Rotation)机制 |
| HMAC 请求签名 | 客户端与服务端共享秘密,对 Method + URL + Timestamp + Body 结合生成 HMAC 签名 | 防请求篡改、防中间人嗅探、防重放攻击 | 必须强制携带毫秒级时间戳(防范超 5 分钟的过期请求)与一次性随机数(Nonce) |
| mTLS (双向 TLS) | 客户端与服务端互换 X.509 数字证书,在 TLS 握手阶段通过公钥密码学双向鉴别身份 | 传输层全量强制加密,天然免疫网络劫持与中间人嗅探 | 服务网格(Istio/Linkerd)自动注入 Sidecar 代理自动轮换短期证书,业务无感透明支持 |
| SPIFFE / SPIRE | 云原生工作负载统一身份标准:通过平台硬件(TPM/K8s API)远程度量工作负载身份,签发 X.509 SVID | 彻底消灭“服务间硬编码凭据与共享密钥”,实现跨多云多集群的统一工作负载信任链 | 通过 SPIFFE ID(形如 spiffe://example.org/ns/prod/sa/order-service)赋予服务唯一加密身份 |
Layer 11: AI Agent 身份、自主授权与护栏机制 (AI Agent Identity & Delegation)
随着 AI Agent 走向自主调用 API、操作数据库、跨系统执行业务,传统基于静态人或固定服务器的身份模型已无法满足需求。必须建立具备人机责任归属、细粒度委托、动态权能收缩与即时拦截的专用智能体安全体系:
flowchart TD
User(["人类用户 (User)"]) -->|"1. 委托任务 (如订机票并提单)"| Agent["AI 协调智能体 (Orchestrator Agent)"]
subgraph AuthSys ["🔐 动态授权置换中心 (RFC 8693)"]
AS["身份认证授权服务 (Auth Server)"]
end
Agent -->|"2. 提交 Actor Token 申请委托置换"| AS
AS -- "3. 颁发极短效受限权能<br>(Scoped Capability Token, TTL≤10m)" --> Agent
Agent -->|"4. 携带 Capability Token 自主调用 API"| Guard
subgraph SecurityGuard ["🛡️ 运行时护栏与人机协同 (Guardrails & HITL)"]
Guard{"操作风险策略裁定<br>(金额 / 敏感度评估)"}
Pass["低风险操作:直接放行调用"]
HITL["高风险操作 (如金额>5,000元):<br/>触发人工回环二次确认 (Step-up Auth)"]
Audit["全链路行为与提示词不可抵赖审计"]
end
Guard -->|风险评级正常| Pass --> TargetAPI["目标业务系统 API"]
Guard -->|触发高危阈值| HITL -->|用户手机推送确认通过| TargetAPI
TargetAPI -.-> Audit
AI Agent 身份与治理核心机制
- 智能体身份注册与可信证明 (Agent Identity & Attestation):
- 每个 Agent 拥有独立的机机身份证书(基于 SPIFFE 或非对称公私钥),明确其背后的代码版本、提示词模板哈希与所属负责人。
- 基于 RFC 8693 的委托令牌置换 (Token Exchange):
- Agent 代替用户执行操作时,调用 OAuth 2.0 Token Exchange,将用户的全局授权凭据置换为针对特定下游业务接口、极小作用域(Scoped)、极短时效(TTL $\le 10$ 分钟)的下级能力凭据(Capability Token),防止 Agent 被提示词注入后滥用用户全部权限。
- 运行时安全护栏 (Runtime Guardrails & HITL):
- 确定性白名单限制:Agent 只能调用注册网关中经过 OpenAPI 契约校验的白名单工具。
- 高危操作人机回环 (Human-in-the-Loop):涉及大额转账、数据删除、跨部门权限变更等高危动作,策略引擎强制阻断并拉起向人类操作者的二次确认。
- 不可抵赖全链路审计与一键熔断吊销 (Audit & Kill-Switch):
- 记录 Agent 的输入提示词、决策推导元数据(Trace ID)、生成的工具调用参数与返回哈希。
- 具备全局与租户级的“紧急制动红按钮(Kill-Switch)”,发现行为异常时可秒级吊销该 Agent 的全部有效令牌。
5. 持续安全测试、可观测与典型落地选型 (L4 & Practices)
Layer 12: 身份安全测试与威胁监控 (Security Testing & Monitoring)
OWASP Top 10 核心权限漏洞与防御速查
| OWASP 漏洞分类 | 漏洞中文释义 | 核心漏洞产生根因 | 工业级靶向防御方案 |
|---|---|---|---|
| BOLA / IDOR (API1:2023) | 破坏对象级别授权 (对象直接引用越权) | 代码只验证了用户“是否登录”,未验证用户“是否有权操作 URL 中包含的 id” | 数据访问层强制租户与所有权校验:如 SQL 查询强制注入 WHERE id = ? AND tenant_id = ? AND user_id = ?,或在 PDP 层前置校验 |
| BFLA (API5:2023) | 破坏功能级别授权 (接口垂直提权越权) | 管理端敏感接口(如 /api/admin/users/delete)仅在前端隐藏按钮,后端路由缺少严格角色校验 | API 网关与路由中间件实施**默认拒绝(Default Deny)**策略,显式配置路由必须具备的最小权限策略 |
| Broken Auth (API2:2023) | 失效的身份认证 | 密码未采用强哈希、凭证未加防爆破限制、Token 验签存在漏洞或泄露在 URL 中 | 强制实施 Argon2id、开启全局速率限制、禁止在 GET Query 传递 Token、开启 FIDO2 Passkeys |
| SSRF | 服务端请求伪造 | 服务端直接信任用户传入的 Webhook 或跳转 URL 发起请求,被用于探测内网云元数据 | 部署严格的出口白名单过滤,禁止私网 IP 段访问,使用零信任隔离出站网络 |
统一可观测性与持续审计四步闭环
- 审计日志 (Audit Logging):记录不可篡改的结构化安全事件(
actor,action,resource,timestamp,ip,user_agent,status,decision_reason)。 - 遥测指标 (Metrics):监控认证失败率、Token 刷新尖峰、401/403 异常突增率(SLO 告警)。
- SIEM / 异常行为分析 (UEBA):接入自动化 SIEM 平台,建立异常检测规则(异地短时间内极速登录“不可能的旅行”、高频凭据碰撞攻击、非常用时段大规模导出数据)。
- 自动化应急阻断 (Automated Response):触发高危告警时,联动中心 IdP 自动吊销用户/Agent 全局 Session,强制要求下一次访问进行抗钓鱼 MFA 步进式重新验证。
现实工业界 8 大业务场景选型对照表
| 业务场景 | 推荐核心认证方式 | 推荐授权模型 | 关键技术协议与基础设施选型 |
|---|---|---|---|
| 1. 现代 Web / 移动端应用 | Passkeys (FIDO2) + 短效 JWT + 轮换 Refresh Token | RBAC + 数据层所有权过滤 | OAuth 2.0 授权码 + PKCE、HttpOnly Cookie、Argon2id |
| 2. API 与微服务网格 | 外部网关统一 OIDC 验签;服务间 mTLS 双向认证 | 策略引擎解耦 (PDP) | SPIFFE/SPIRE 工作负载身份、OPA/Cedar、Envoy 网关 |
| 3. 企业统一门户与 IAM | 企业级 SSO (OIDC / SAML 2.0) + 硬件 YubiKey MFA | RBAC 分级角色 | SCIM 2.0 自动账号生命周期同步、Keycloak / Okta |
| 4. 多租户 SaaS 云平台 | 邮箱无密码登录 / 社交联合登录 (Google/GitHub) | 租户隔离 + ReBAC 关系授权 | OpenFGA / Cedar、多租户动态组织树、Stripe 权能集成 |
| 5. 开放银行与金融支付 | 强客户认证 (SCA / FIDO2) + 双因素硬件绑定 | ABAC 实时动态风控授权 | FAPI (Financial-grade API)、MTLS、JARM (JWT 响应加密) |
| 6. 自主 AI Agent 系统 | Agent 机器证书 + RFC 8693 委托令牌置换 | 极细粒度 CapBAC + 运行时护栏 | 短效一次性权能凭证、OpenAPI 白名单校验、高危人工熔断 (HITL) |
| 7. DevOps 与 CI/CD 机器负载 | 消除长效密钥:OIDC 联合身份交换 (Workload Identity) | 最小权限仓库级角色 | GitHub Actions OIDC $\to$ AWS IAM / GCP Workload Federation |
| 8. 物联网 (IoT) 与边缘计算 | 预置硬件安全芯片私钥 (Secure Element / ECC 证书) | 轻量级 ACL / 预分配策略 | MQTT over TLS、EST (Enrollment over Secure Transport) |