数据加密
约 4 分钟阅读
最后更新: 2026-03-05
什么是数据加密
数据加密是使用加密算法和密钥将明文(可读数据)转换为密文(不可读数据)的技术。由于只有持有正确密钥的人才能将数据解密还原为明文,因此它是保护数据机密性的最基本手段。
加密主要用于两个场景。一是“静态加密”(Encryption at Rest),加密存储在存储设备上的数据,防御磁盘被盗和存储的未授权访问。二是“传输加密”(Encryption in Transit),加密在网络上传输的数据,TLS/SSL 是其典型代表。
在现代安全设计中,两者结合使用已成为标准要求。
对称加密与非对称加密的原理
加密方式大致分为对称密钥加密和公钥加密(非对称密钥加密)。
对称密钥加密使用相同的密钥进行加密和解密。代表性算法是 AES(Advanced Encryption Standard),可选择 128 位、192 位和 256 位密钥长度。处理速度快,适合大量数据的加密。挑战在于密钥共享 - - 需要安全地将密钥传递给通信对方。
公钥加密使用两个不同的密钥:用于加密的公钥和用于解密的私钥。RSA 和椭圆曲线密码学(ECC)是代表性算法。由于公钥可以分发给任何人,只有持有私钥的人才能解密,因此解决了密钥分发问题。但处理速度比对称加密慢,不适合大量数据的加密。
在实际通信中,标准做法是混合方式:使用公钥加密安全交换对称密钥,然后用该对称密钥加密数据本体。TLS/SSL 正是以这种方式运作的。
加密的实施模式与选择标准
以下是实务中部署加密的主要模式。
磁盘加密:在操作系统层面加密整个存储。代表性工具包括 Windows 的 BitLocker、macOS 的 FileVault 和 Linux 的 LUKS。作为设备加密,对设备丢失或被盗的防护有效。
文件级加密:仅加密特定文件或文件夹。包括支持端到端加密的云存储,以及使用 PGP/GPG 的文件加密。
数据库加密:有两种方式 - - TDE(透明数据加密)加密整个数据库文件,以及列级加密仅加密特定字段。列加密需要应用端实现,但能提供强大的保护,即使 DBA 也无法看到明文。
选择标准应综合评估保护范围、性能影响、密钥管理的运营负担,以及合规要求(如云存储安全标准等)。
密钥管理的重要性与实践
加密的安全性不仅取决于算法强度,还很大程度上取决于密钥管理的适当性。无论使用多么强大的加密算法,如果密钥泄露,数据就会被解密。
密钥管理的基本原则是:(1) 不将密钥和加密数据存放在同一位置,(2) 实施密钥轮换(定期更新),(3) 基于最小权限原则控制密钥访问,(4) 建立密钥备份和恢复流程。
在云环境中,使用 AWS KMS、Azure Key Vault、Google Cloud KMS 等托管密钥管理服务是现实的选择。这些服务使用 HSM(硬件安全模块)保护密钥,并提供集成的密钥轮换、访问控制和审计日志。
由于丢失密钥意味着永久无法解密数据,密钥备份是加密策略中最重要的要素之一。
常见误解
- 使用 HTTPS 通信,服务器上的数据也是加密的
- HTTPS(TLS)是通信路径的加密,数据到达服务器后会以明文状态被处理和存储。要保护服务器上的数据,需要另外实施静态加密。
- 加密数据后,数据泄露风险就为零了
- 加密保护数据的机密性,但密钥泄露、实现漏洞、侧信道攻击等风险仍然存在。此外,加密不直接有助于数据篡改检测或可用性保护。应将其定位为纵深防御的一个要素。
对称加密与非对称加密的比较
对称密钥加密(AES 等)
加密和解密使用相同密钥。处理速度快,适合大量数据。安全的密钥共享是挑战。128/256 位密钥长度为主流。
公钥加密(RSA/ECC 等)
使用公钥和私钥对。解决密钥分发问题但处理较慢。也可用于数字签名。推荐 RSA 2048 位以上或 ECC 256 位以上。