惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
NISL@THU
NISL@THU
E
Exploit-DB.com RSS Feed
L
LINUX DO - 热门话题
L
Lohrmann on Cybersecurity
K
Kaspersky official blog
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
T
Threat Research - Cisco Blogs
Scott Helme
Scott Helme
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Privacy & Cybersecurity Law Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Cyberwarzone
Cyberwarzone
C
CERT Recently Published Vulnerability Notes
T
Tor Project blog
AWS News Blog
AWS News Blog
Simon Willison's Weblog
Simon Willison's Weblog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
爱范儿
爱范儿
P
Privacy International News Feed
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
S
Securelist
G
Google Developers Blog
The Last Watchdog
The Last Watchdog
Google Online Security Blog
Google Online Security Blog
美团技术团队
F
Fortinet All Blogs
小众软件
小众软件
Recorded Future
Recorded Future
V
Visual Studio Blog
B
Blog RSS Feed
H
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
Latest news
Latest news
Spread Privacy
Spread Privacy
H
Heimdal Security Blog

土法炼钢兴趣小组的算法知识备份

国密算法与国密 TLS 系列索引 【系统架构设计】架构质量属性:不只是"高可用高性能" 【系统架构设计百科】告警策略:如何避免"狼来了" 【系统架构设计】CQRS:读写分离的架构哲学 【系统架构设计】空间架构:极端扩展场景的解法 【系统架构设计】微服务架构深度审视:优势、代价与适用边界 【系统架构设计】扩展性原理:水平、垂直与对角扩展 【系统架构设计】无状态设计:扩展的第一步也是最难的一步 【系统架构设计】缓存架构:从本地到分布式的多级缓存体系 【系统架构设计】管道与过滤器:Unix 哲学的架构表达 【系统架构设计】复杂性管理:架构的核心战场 【系统架构设计】消息队列架构:异步解耦的设计与陷阱 【系统架构设计】CDN 架构:全球加速的设计原理 【系统架构设计】连接池设计:被忽视的性能杀手 【系统架构设计】弹性设计模式:熔断器、舱壁与超时 【系统架构设计】高可用设计模式:冗余、故障转移与仲裁 【系统架构设计】容量规划:从拍脑袋到数据驱动 【系统架构设计】数据库扩展:分库分表的工程实践与替代方案 【系统架构设计】SLO 工程:可靠性的量化管理 【系统架构设计】性能建模:用数学思维分析系统瓶颈 【系统架构设计】混沌工程:主动验证系统的韧性 【系统架构设计】零拷贝与内存映射:数据搬运的极致优化 【系统架构设计】线程模型:从 thread-per-request 到协程 【系统架构设计】容灾架构:多活与灾备设计 【系统架构设计】数据库性能模式:索引、查询与连接管理 【系统架构设计】数据建模:从关系范式到文档模型的真实权衡 【系统架构设计】吞吐量优化:批处理、流水线与并发模型 【系统架构设计】流处理架构:从批处理到实时的范式迁移 【系统架构设计】搜索引擎架构:倒排索引之上的系统设计 【系统架构设计】时序数据架构:监控与 IoT 的存储设计 【系统架构设计】数据迁移与版本化:在线不停机的数据演进 【系统架构设计】数据湖与数据仓库:分析架构的演进路线 【系统架构设计】API 网关设计:入口层的职责边界 【系统架构设计】应用层数据一致性模式:在正确性与性能之间走钢丝 【系统架构设计】多模数据库选型:Polyglot Persistence 的工程实践 【系统架构设计】服务发现与注册:动态拓扑的基础设施 【系统架构设计】配置管理架构:从配置文件到配置中心 【系统架构设计】全链路压测:大规模系统的性能验证 【系统架构设计】幂等性设计:分布式环境下的安全重试 【系统架构设计】契约测试与 Schema 演进:服务间的信任协议 【系统架构设计】长连接与推送架构:WebSocket、SSE 与 MQTT 【系统架构设计】延迟分析:从 P50 到 P999 的全链路追踪 【系统架构设计百科】DDD 战术模式:聚合、实体与值对象 【系统架构设计百科】防腐层与开放主机服务:系统集成的 DDD 方案 【系统架构设计百科】领域事件与事件风暴:从业务到架构的桥梁 【系统架构设计百科】CQRS + Event Sourcing 完整实战:从领域建模到部署 【系统架构设计百科】DDD 与微服务:用领域模型划分服务边界 【系统架构设计】DDD 战略设计:限界上下文与上下文映射 【系统架构设计百科】认证架构:从 Session 到 JWT 到 OIDC 【系统架构设计】API 设计哲学:REST vs GraphQL vs gRPC 的真实权衡 排序算法专题:从 TimSort 到并行排序 【密码学百科】国密算法体系:SM2/SM3/SM4/SM9 全景解读 【密码学百科】承诺方案:Pedersen 承诺、向量承诺与多项式承诺 【密码学百科】不经意传输与隐私信息检索:OT、OT 扩展与 PIR 【密码学百科】门限密码学:门限签名、门限解密与分布式密钥生成 完美哈希:从理论到 gperf 实践 【密码学百科】安全多方计算:从 Yao 的混淆电路到实用 MPC 【密码学百科】同态加密:从 Paillier 到全同态加密(FHE) 【密码学百科】零知识证明系统:zk-SNARKs、zk-STARKs 与 Bulletproofs 【密码学百科】概率论与密码分析:生日攻击、差分分析与线性分析 【密码学百科】计算复杂性与归约:密码安全性证明的基石 【密码学百科】秘密共享:Shamir 方案、VSS 与安全多方计算入口 【密码学百科】椭圆曲线代数:Weierstrass 方程、点群运算与曲线选择 【密码学百科】离散对数与配对密码学:从 DLP 到 BLS 签名 【密码学百科】格密码数学基础:SVP、LWE 与格基约化 【密码学百科】抽象代数:群、环、域的密码学视角 【密码学百科】有限域算术:GF(2^n) 运算与在 AES/ECC 中的应用 【密码学百科】数论进阶:二次剩余、椭圆曲线上的 Weil 配对 【密码学百科】密码学简史:从凯撒密码到量子时代 【密码学百科】威胁模型与安全目标:CIA 三要素之外 【密码学百科】Kerckhoffs 原则与现代密码设计哲学 【密码学百科】随机性:密码学的基石 【密码学百科】信息论入门:熵、完美保密与 Shannon 定理 【密码学百科】分组密码原理:Feistel 网络与 SPN 结构 【密码学百科】AES 逐步拆解:SubBytes 到 MixColumns 的数学 【密码学百科】分组密码工作模式全览:ECB/CBC/CTR/OFB/CFB 【密码学百科】流密码:RC4 的兴衰与 ChaCha20 的崛起 【密码学百科】密码学哈希函数:MD5→SHA-2→SHA-3 的进化之路 【密码学百科】MAC 与 HMAC:消息认证的正确姿势 【密码学百科】认证加密(AEAD):GCM、ChaCha20-Poly1305 与 OCB 【密码学百科】密钥派生函数:HKDF、PBKDF2、Argon2 与密码存储 【密码学百科】公钥密码的数论基础:模运算、群、原根 【密码学百科】RSA 从原理到攻击:教科书 RSA 为什么不安全 【密码学百科】Diffie-Hellman 密钥交换与离散对数问题 【密码学百科】椭圆曲线密码学(ECC):从几何直觉到点群运算 【密码学百科】数字签名:ECDSA、EdDSA 与 Schnorr 签名 【密码学百科】现代密钥交换:X25519、ECDHE 与前向保密 【密码学百科】混合加密与 KEM/DEM 范式:ECIES 与 HPKE 【密码学百科】填充方案:PKCS#1 v1.5、OAEP 与 PSS 【密码学百科】TLS 协议全解析:从握手到 0-RTT 【密码学百科】PKI 与数字证书:信任链的构建与崩塌 【密码学百科】密码认证协议:从 SRP 到 OPAQUE 【密码学百科】零知识证明入门:如何证明你知道而不泄露 【密码学百科】安全信道构造:Noise 协议框架与 Signal 协议 【密码学百科】密钥管理工程:HSM、KMS 与密钥生命周期 【密码学百科】侧信道攻击:从时序攻击到功耗分析 【密码学百科】密码学实现陷阱:三层漏洞分类、审计工具链与系统性预防 密码敏捷性:如何设计可升级的密码系统 【密码学百科】OpenSSL/BoringSSL 架构剖析:ENGINE、Provider 与 FIPS 模块 排序基准测试:用数据说话
【零信任安全架构】零信任的新兴前沿:AI Agent 身份、边缘计算和量子后的证书
Liao Tonglang · 2026-06-12 · via 土法炼钢兴趣小组的算法知识备份

零信任的理论基础(NIST SP 800-207)发表于 2020 年。此后三个领域的发展正在挑战它的基础假设——不是否定零信任,而是要求它进化。

本文不试图给出标准答案——这些问题仍在工程社区的早期探索阶段。本文的定位是:把挑战讲清楚,指出当前最优实践。

前置阅读:零信任策略引擎mTLS 大规模部署

LLM Agent(如 Claude Code、OpenAI Agents SDK、LangChain Agent)的兴起正在制造一个零信任尚未解决的难题:身份不是”一个用户”,而是”一个 Agent 代表一个用户执行一系列自主操作”。

1.1 传统模型 vs Agent 模型

传统模型:
  用户 → 认证(用户身份) → 授权(用户权限) → 访问资源
  
Agent 模型:
  用户 → 委托("帮我完成 X") → Agent → 认证(是谁?Agent 本身?用户?) → 授权(以谁的权限?)

Agent 的权限困境: - 如果 Agent 以用户的全部权限运行:Agent 可以执行任何用户能执行的操作——包括危险操作(删除文件、修改数据库) - 如果 Agent 的权限被严格限制:Agent 无法完成用户委托的复杂任务(“帮我分析 Q4 数据并生成报告”需要读取多个数据库和文件) - 如果 Agent 在操作中途需要提升权限:传统 Step-up Auth 要求用户输入密码或 FIDO2 密钥——但 Agent 没有手,无法响应 step-up 挑战

1.2 OAuth 2.0 Token Exchange 的实践

当前的最优实践是 OAuth 2.0 Token Exchange(RFC 8693)——用户通过 OAuth 2.0 授权 Agent,Agent 获得一个受限的 token(scope 被限制为完成任务所需的最少权限),Agent 使用这个 token 来验证自己的身份和权限:

用户 → 向 IdP 授权 Agent "读邮件 + 创建文件" (scope: mail.read files.create)
IdP → 签发 delegration token (绑定到 Agent + 用户 + scope + 有效期)
Agent → 使用 delegration token 访问资源
资源 → 验证 token: subject = Agent, on_behalf_of = 用户, scope = mail.read + files.create

关键要求:token 必须同时编码 Agent 的身份(是谁在执行操作)和用户的身份(在代表谁执行操作)。审计日志需要同时记录两者。

1.3 SQL 查询的授权粒度

一个更棘手的问题:当 Agent 生成 SQL 查询时,授权检查应该在什么粒度上执行?

-- Agent 生成的查询:查询用户的订单
SELECT * FROM orders WHERE user_id = 12345;
-- 这个查询是安全的(只读取用户自己的订单)

-- 但如果 Agent 生成了这个查询:
SELECT * FROM orders;
-- 这应该被授权引擎阻止(读取所有用户的订单)

传统的 API 授权模型(“GET /orders 需要 ‘orders:read’ 权限”)无法处理”允许 orders:read 但只允许读取当前用户的 orders”这种粒度。需要的是查询级别的授权——策略引擎检查 SQL 的 WHERE 子句,确认它限制了数据访问范围。这是数据层零信任的自然进化方向。

二、边缘计算的零信任挑战

边缘计算设备(工厂 IoT 传感器、零售终端、5G MEC 节点)有三个特征,每个都对零信任的假设形成挑战:

挑战 零信任的假设 边缘的现实
间歇性连接 设备之间总是可互联的 传感器可能数小时离线,在蜂窝网络上
资源受限 可以运行 sidecar agent、TPM 设备只有 512KB RAM,没有 TPM
物理暴露 设备在公司的物理控制下 设备在公开场所,可能被物理篡改

2.1 间歇性连接的证书管理

SPIRE 的”1 小时 SVID TTL + 到期前自动续期”模型依赖 Agent 和 Server 之间的持续连接。在间歇性连接的边缘环境中: - 设备可能在下一次连接之前就已经错过了数次续期窗口 - 如果 SVID 过期了而设备仍在使用它——要么完全拒绝所有操作(fail-closed),要么允许过期证书继续使用(fail-open,安全降级)

当前的最优实践是更长的证书 TTL + 离线验证: - 边缘设备的证书 TTL 设为 24-168 小时(而非通常的 1 小时) - 验证方持有一个本地的证书吊销列表(CRL)缓存,在离线时也能检查证书是否已被吊销 - 设备重新上线时,SPIRE Agent 优先更新吊销状态再执行其他操作

2.2 没有 TPM 的设备身份

对于没有 TPM 的边缘设备,设备身份的建立只能依赖软件层面的证明: - MAC 地址 → 极其不可靠(可以伪造) - 预配的对称密钥(在烧录固件时注入)→ 对称密钥容易泄露 - 硬件序列号 + 制造商 CA 签发的证书 → 比软件方案强但仍然不够

这个领域目前没有标准答案。在实践的层面,对于关键基础设施的边缘设备(如电网控制设备),通常要求硬件安全模块(如 TPM 或 SE — Secure Element)。对于非关键设备(如温度传感器),软件层面证明 + 网络层隔离(该设备只能在受限的 VLAN 中通信)组合使用。

三、PQC 对零信任基础设施的冲击

NIST 在 2024 年 8 月发布了后量子密码学(PQC)的首批标准:

标准 算法类型 用途
FIPS 203 (ML-KEM) Kyber 派生,密钥封装 替代 RSA/ECDH 用于密钥交换
FIPS 204 (ML-DSA) Dilithium 派生,数字签名 替代 RSA/ECDSA 用于数字签名
FIPS 205 (SLH-DSA) SPHINCS+ 派生,签名 备用签名方案(比 ML-DSA 保守但更慢)

对零信任基础设施的直接影响:

3.1 X.509 证书和 SVID 的格式

当证书中的公钥从 ECDSA P-256(64 字节)切换为 ML-DSA(Dilithium,公钥 1.3KB,签名 2.4KB): - SPIRE SVID 的大小增长:SVID 是一个 X.509 证书,公钥部分从 64 字节增长到 ~1312 字节 - mTLS 握手数据量增大:首次握手需要交换两个证书(客户端 + 服务端),加上双方都要出示签名。Dilithium 的签名是 2.4KB vs ECDSA 的 64 字节——握手数据包从几 KB 增长到十几 KB - 握手延迟增加:Dilithium 的签名操作比 ECDSA P-256 快(0.1ms vs 0.3ms),但数据传输时间增加了——在高延迟链路上,这可能是瓶颈

3.2 mTLS 握手的变化

TLS 1.3 的 PQC 支持仍在草案阶段。当前的最佳实践是混合模式——在 TLS 1.3 握手期间同时进行传统密钥交换(ECDH P-256)和 PQC 密钥交换(ML-KEM-768):

TLS 1.3 Hybrid Handshake:
  1. ClientHello: 提供 ECDH 公钥 + ML-KEM 公钥
  2. ServerHello: 选择 ECDH + ML-KEM,发送 ECDH 公钥 + ML-KEM 密文
  3. 双方计算 shared_secret = HKDF(ECDH_shared_secret || ML-KEM_shared_secret)
  4. mTLS: 双方交叉发送证书和签名(ECDSA + ML-DSA 双重签名)

混合模式的理念是:即使 ML-KEM 在未来被新的攻击所破解,ECDH 部分仍然提供安全性。迁移到纯 PQC 需要在对 PQC 算法的长期安全性建立足够信心后才能进行——这可能需要 5-10 年。

3.3 哪些现在就可以准备

PQC 的标准刚刚发布(2024 年 8 月),广泛部署预计需要 5-10 年。但以下事情现在就可以做:

  1. 确保加密算法可通过配置替换——不要在代码中硬编码 ECDSA P-256。证书格式、加密套件、密钥长度都应该是可配置的。
  2. 关注 SPIRE 和 Envoy 的 PQC 路线图——SPIRE 社区的 PQC 工作正在进行,Envoy 的 TLS 库(BoringSSL)在 Chromium 的驱动下将是第一批支持 PQC 的实现。
  3. 开始评估最大的风险——不是”有人用量子计算机攻破 TLS”,而是”攻击者现在截获加密流量,存起来,等未来有了量子计算机再解密”(Harvest Now, Decrypt Later, HNDL)。对于长期保密的数据(如密钥材料、身份数据),混合模式的双重加密可以减轻 HNDL 风险。

四、总结

三个新兴前沿的共同主题:零信任的基础原则是正确的(不信任任何单一因素、持续验证、最小权限),但具体机制需要针对新场景重新设计。

  • AI Agent 的挑战是权限的粒度和代理——如何把”用户的全部权限”拆解为”Agent 执行特定任务所需的最少权限”
  • 边缘计算的挑战是连通性和资源的约束——零信任的”持续心跳”模型在间歇性连接的边缘世界需要改写
  • PQC 的挑战是加密原语的全面替换——从证书格式、TLS handshake、签名算法到整个 PKI 基础设施

本系列到此结束。建议从头阅读 系列索引 了解完整阅读路径。

参考资料

  1. IETF. OAuth 2.0 Token Exchange. RFC 8693.
  2. NIST. (2024). FIPS 203: Module-Lattice-Based Key-Encapsulation Mechanism Standard.
  3. NIST. (2024). FIPS 204: Module-Lattice-Based Digital Signature Standard.
  4. NIST. (2024). FIPS 205: Stateless Hash-Based Digital Signature Standard.
  5. SPIFFE. SPIRE PQC Working Group. https://github.com/spiffe/spire/issues?q=label%3Aarea%2Fpost-quantum
  6. IETF. TLS 1.3 Hybrid Key Exchange Using X25519Kyber768 / ML-KEM. (Draft)

同主题继续阅读

把当前热点继续串成多页阅读,而不是停在单篇消费。

2026-06-17 · architecture / security

【身份与访问控制工程】服务身份:mTLS、SPIFFE/SPIRE 与 Workload Identity

前 9 篇讨论的都是'人'的身份——用户怎么登录、怎么验证。但微服务世界中,80% 的 API 调用是服务之间的。服务身份(Workload Identity)是整个 IAM 体系的另一半:mTLS 解决'传输层你是谁',SPIFFE/SPIRE 解决'在平台层你是谁且怎么证明',JWT Profile for OAuth 解决'我怎么拿到一个服务身份的 Token'。本文从这三条线拆解服务身份的工程实现。

2026-06-12 · architecture / security

零信任安全架构深度系列

零信任是 IAM 的自然延伸——当身份变成新边界,VPN 的'拨入即信任'模型必须被'永不信任、始终验证'取代。本系列从 NIST SP 800-207 规范、Google BeyondCorp 六篇论文、SPIFFE/SPIRE 联邦到微分段、持续验证、ZTNA 和零信任迁移的工程策略,系统拆解零信任的每一种组件和每一步实施。

2026-06-14 · architecture / security

【身份与访问控制工程】SCIM 与账号生命周期:开通、变更、离职自动化

SSO 只解决认证,SCIM 解决账号的生命周期管理。但 SCIM 2.0 的实现远不是调几个 REST API 那么简单:User/Group schema 的映射、Delta vs Full sync 的同步策略、Patch 操作语义,每个环节都有坑。本文从账号生命周期的四个关键事件出发,拆解 SCIM 2.0 的核心协议、同步模式、Schema 扩展,以及与企业 IdP(Azure AD、Okta)对接的实际工程经验。