磁盘存储加密模式xts
1 简介
本文从概念关系、工作机制、是否存在封装关系、典型使用场景、使用限制几个层面,系统性地分析 XTS(XEX-based Tweaked CodeBook) 与 GCM(以及国密场景下的对应模式)。

2 XTS 与 GCM 是否存在联系
GCM 并不是基于 XTS 的封装,二者是完全不同设计目标和安全模型的分组密码工作模式。
它们之间 不存在层级封装或依赖关系,只是都可以“搭配同一种分组密码算法使用”(如 AES 或 SM4)。
-
XTS 的典型使用场景
全盘加密 / 磁盘加密(最典型)
硬盘
SSD
U 盘
加密分区
** 原因:
与扇区地址绑定
不需要存储随机 IV
适合固定大小数据块
常见实例:
BitLocker
dm-crypt
FileVault(早期)
- 数据库底层存储加密
表空间
页(Page)级加密
日志文件
前提:
数据页大小固定
不需要认证(或另有校验)
-
嵌入式设备存储
Flash eMMC NOR/NAND
3 XTS 的重要使用限制
❌ XTS 不提供完整性保护
攻击者可以:
复制密文块
交换密文块
定向篡改数据
不能用于通信、接口、协议数据
❌ 不能用于可变长度流数据
XTS 假设:
明文是 随机访问
固定大小块
有明确逻辑位置
❌ 不能用于小数据 / 消息级加密
例如:
API 请求
Token
会话数据
Cookie
❌ 必须使用两把独立密钥
不能:
复用同一把密钥
由一把密钥简单派生
❌ 密钥重用风险
同一密钥用于不同磁盘 / 不同逻辑地址空间 → 风险上升
实际工程中应:
每个设备唯一密钥
4 工作原理
针对 磁盘扇区
每个扇区使用 tweak(微调值)
- 特点
防止扇区复制攻击
需要 两个密钥
- 安全性
✅ 高(存储场景)
不提供认证
不适合通信
优点
适合磁盘
防复制
标准化
缺点
不认证数据
不适合网络
需双密钥
- 应用
全盘加密
数据库页加密
安全存储
5 小结
存储加密专用模式
模式 安全性 完整性 推荐度 典型用途
ECB 无 无 无 禁用
CBC ⚠谨慎 无 ⚠谨慎 老系统
CFB ⚠谨慎 无 ⚠谨慎 流通信
OFB ⚠谨慎 无 ⚠谨慎 特殊流
CTR 推荐 无 推荐 高速加密
GCM 推荐 推荐 推荐 TLS / VPN
CCM 推荐 推荐 推荐 IoT
XTS 推荐 无 推荐 磁盘加密
通信系统:SM4-GCM
嵌入式:SM4-CCM
磁盘存储:SM4-XTS
其他模式仅作历史兼容
- 点赞
- 收藏
- 关注作者
评论(0)