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

推荐订阅源

美团技术团队
Blog — PlanetScale
Blog — PlanetScale
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
博客园_首页
WordPress大学
WordPress大学
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
F
Fortinet All Blogs
腾讯CDC
罗磊的独立博客
IT之家
IT之家
I
InfoQ
V
V2EX
博客园 - 叶小钗
A
About on SuperTechFans
Y
Y Combinator Blog
C
Check Point Blog
量子位
Martin Fowler
Martin Fowler
Vercel News
Vercel News

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

国密算法与国密 TLS 系列索引 【系统架构设计】架构质量属性:不只是"高可用高性能" 【系统架构设计百科】告警策略:如何避免"狼来了" 【系统架构设计】CQRS:读写分离的架构哲学 【系统架构设计】空间架构:极端扩展场景的解法 【系统架构设计】微服务架构深度审视:优势、代价与适用边界 【系统架构设计】扩展性原理:水平、垂直与对角扩展 【系统架构设计】无状态设计:扩展的第一步也是最难的一步 【系统架构设计】缓存架构:从本地到分布式的多级缓存体系 【系统架构设计】管道与过滤器:Unix 哲学的架构表达 【系统架构设计】复杂性管理:架构的核心战场 【系统架构设计】消息队列架构:异步解耦的设计与陷阱 【系统架构设计】CDN 架构:全球加速的设计原理 【系统架构设计】连接池设计:被忽视的性能杀手 【系统架构设计】弹性设计模式:熔断器、舱壁与超时 【系统架构设计】高可用设计模式:冗余、故障转移与仲裁 【系统架构设计】容量规划:从拍脑袋到数据驱动 【系统架构设计】数据库扩展:分库分表的工程实践与替代方案 【系统架构设计】SLO 工程:可靠性的量化管理 【系统架构设计】性能建模:用数学思维分析系统瓶颈 【系统架构设计】混沌工程:主动验证系统的韧性 【系统架构设计】零拷贝与内存映射:数据搬运的极致优化 【系统架构设计】线程模型:从 thread-per-request 到协程 【系统架构设计】容灾架构:多活与灾备设计 【系统架构设计】数据库性能模式:索引、查询与连接管理 【系统架构设计】数据建模:从关系范式到文档模型的真实权衡 【系统架构设计】吞吐量优化:批处理、流水线与并发模型 【系统架构设计】流处理架构:从批处理到实时的范式迁移 【系统架构设计】搜索引擎架构:倒排索引之上的系统设计 【系统架构设计】时序数据架构:监控与 IoT 的存储设计
【操作系统百科】机密计算
2026-07-08 · via 土法炼钢兴趣小组的算法知识备份

传统虚拟化:Guest 信任 Host。机密计算反转信任模型——Guest 不信任 Host/Hypervisor,硬件保证隔离。

一、先看图

flowchart TD
    GUEST[Guest OS<br/>机密 VM] --> HW[硬件加密<br/>内存加密引擎]
    HOST[Host / Hypervisor] -.->|无法读取| HW
    GUEST --> ATT[远程认证<br/>Attestation]
    ATT --> VERIFY[验证方<br/>确认 Guest 完整性]

    classDef trusted fill:#3fb95022,stroke:#3fb950,color:#adbac7;
    classDef untrusted fill:#f8514922,stroke:#f85149,color:#adbac7;
    class GUEST,HW,ATT,VERIFY trusted
    class HOST untrusted

二、威胁模型

传统:信任 hypervisor → 只防 Guest 攻击 Host。

机密计算:不信任 hypervisor:

  • Host 管理员可能恶意
  • 云提供商可能被入侵
  • 物理访问攻击

硬件保证:Guest 内存加密 → Host 无法读取。

三、AMD SEV / SEV-SNP

3.1 SEV(Secure Encrypted Virtualization)

每个 VM 有独立的内存加密密钥 → AES-128 加密。

3.2 SEV-ES(Encrypted State)

加密 vCPU 寄存器 → VM-exit 时 Host 看不到寄存器内容。

3.3 SEV-SNP(Secure Nested Paging)

完整性保护 → 防止 Host 重放/重映射 Guest 内存页。

# QEMU 启动 SEV-SNP Guest
qemu-system-x86_64 \
    -object sev-snp-guest,id=sev0,policy=0x30000 \
    -machine memory-encryption=sev0,vmport=off

四、Intel TDX

Trust Domain Extensions:

  • TD(Trust Domain)= 机密 VM
  • SEAM 模块 = TDX 的 hypervisor 扩展
  • 内存加密 + 完整性
  • 与 KVM 集成

五、ARM CCA

Confidential Compute Architecture:

  • Realm = 机密执行环境
  • RMM(Realm Management Monitor)
  • 与 TrustZone 共存但独立

六、远程认证(Attestation)

1. Guest 启动 → 硬件度量 Guest 固件和内核
2. 度量值签名(硬件密钥)
3. 发送给验证方
4. 验证方确认 Guest 运行的是预期的代码

认证链:硬件 → 固件 → Guest OS → 应用。

七、COCONUT-SVSM

Secure VM Service Module:

Guest OS → COCONUT-SVSM → 硬件

在 Guest 和硬件之间提供安全服务:

  • vTPM(虚拟 TPM)
  • 安全启动
  • 密钥管理
  • 运行在 VMPL0(最高特权级)

八、I/O 挑战

机密 VM 的 I/O 必须经过 Host → 数据可能泄露:

方案 说明
bounce buffer Guest 加密 → Host 传输 → Guest 解密
TIO(Trusted I/O) 硬件保护的 DMA
virtio 加密 传输层加密

九、生产使用

云厂商 技术
Azure SEV-SNP
GCP SEV-SNP / TDX
AWS Nitro Enclaves(不同架构)
阿里云 TDX

十、小结

  • 机密计算反转信任模型 → Guest 不信任 Host
  • AMD SEV-SNP / Intel TDX / ARM CCA 提供硬件保护
  • 远程认证验证 Guest 完整性
  • COCONUT-SVSM 提供安全服务
  • I/O 是当前最大的性能和安全挑战

参考文献

  • AMD, “SEV-SNP: Strengthening VM Isolation.” 2020
  • Intel, “Trust Domain Extensions.” 2023
  • ARM, “Confidential Compute Architecture.” 2021
  • COCONUT-SVSM project (github.com/coconut-svsm)

工具

  • QEMU SEV-SNP/TDX 支持
  • snphost / snpguest
  • tdx-tools

上一篇Rust for Linux 下一篇可拆分 OS

同主题继续阅读

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

2026-04-27 · os

【操作系统百科】内存回收

Linux 内存回收是 VM 最复杂的子系统之一。本文讲 active/inactive LRU、kswapd 与 direct reclaim、watermark 三线、swappiness 的真实含义、MGLRU 改造、memcg 回收与 PSI。

2026-04-28 · os

【操作系统百科】交换

swap 还值得开吗?本文讲 swap area 基础、swap cache、zram 压缩内存、zswap 前端压缩池、swappiness 的真实含义、容器里的 swap 策略,以及为什么现代 Android 全靠 zram 不靠磁盘。

2026-05-03 · os

【操作系统百科】Slab/SLUB 分配器

buddy 只管页粒度(4K+),内核大多数对象只有几十到几百字节。slab/SLUB 在 buddy 之上做对象级缓存。本文讲 slab 历史、SLUB 接手、SLOB 退场、kmem_cache、per-CPU cache、KASAN 集成。

2026-05-07 · os

【操作系统百科】用户态分配器

glibc malloc、tcmalloc、jemalloc、mimalloc 各有哲学。本文讲 arena、thread cache、size class、madvise 返还策略、碎片与 RSS 膨胀、如何根据负载选分配器。