
1) 【一句话结论】在大数据平台中,静态存储采用对称加密(如AES)+密钥管理方案,动态传输采用非对称加密(如RSA)+对称加密(如AES)结合的方式,其中AES适用于高吞吐量数据加密,RSA适用于密钥交换和数字签名场景。
2) 【原理/概念讲解】老师口吻,解释核心概念:
静态存储(数据持久化到磁盘/数据库等)需兼顾“高效率”(数据量大,加解密速度要快)与“密钥安全”(长期存储需防泄露);动态传输(网络传输过程)需兼顾“低延迟”(传输时加解密要快)与“数据安全”(防窃听、篡改)。
对称加密(如AES)的核心是“同一密钥加密解密”,算法复杂度低、加解密速度快,适合处理大容量数据(如静态存储加密);非对称加密(如RSA)的核心是“公钥加密私钥解密”,公钥公开、私钥保密,主要用于“密钥交换”(将对称密钥通过公钥加密后传输给接收方)、“数字签名”(验证数据来源与完整性)。
用锁类比:对称加密像“一把锁+一把钥匙”(同一把钥匙开锁/锁门),非对称加密像“一把锁+两把不同钥匙”(公钥是锁,私钥是开锁的钥匙,别人用公钥锁的东西,只有你有私钥能打开)。
3) 【对比与适用场景】
| 加密算法 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| AES | 高级加密标准,对称密钥加密算法 | 加解密速度快,适合大容量数据,密钥长度128/192/256位 | 静态数据存储加密(如数据库、文件系统)、动态传输中的数据加密(如TLS记录层) | 密钥管理是关键,需确保密钥安全存储与分发 |
| RSA | 罗纳德·瑞维斯特等提出的非对称加密算法 | 公钥加密,私钥解密,密钥长度通常1024/2048/4096位,加解密速度慢 | 动态传输中的密钥交换(如TLS握手阶段)、数字签名(验证数据完整性) | 密钥长度越大,安全性越高,但加解密速度越慢,不适合加密大量数据 |
4) 【示例】
静态存储加密(Python伪代码):
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
# 加密数据
key = get_random_bytes(32) # AES-256
cipher = AES.new(key, AES.MODE_GCM)
nonce = cipher.nonce
ciphertext, tag = cipher.encrypt_and_digest(data)
# 存储ciphertext, nonce, tag,以及key(密钥管理)
# 解密数据
cipher = AES.new(key, AES.MODE_GCM, nonce=nonce)
data = cipher.decrypt_and_verify(ciphertext, tag)
动态传输示例(TLS握手):客户端与服务器握手时,服务器用RSA公钥加密AES密钥,客户端用RSA私钥解密得到AES密钥,之后双方用AES加密数据传输(TLS记录层)。
5) 【面试口播版答案】
“面试官您好,关于大数据平台中数据静态存储和动态传输的加密方案,核心结论是:静态存储通常采用对称加密(如AES)结合密钥管理,动态传输则采用非对称加密(如RSA)与对称加密(如AES)结合的方式。具体来说,静态存储因为数据量大、需要长期存储,所以用AES这种加解密速度快的对称算法加密,而动态传输因为网络传输需要低延迟,所以先用RSA(非对称)加密AES的密钥(密钥交换),再用AES加密实际数据(数据加密)。比如在HTTPS中,握手阶段就是用RSA公钥加密AES密钥,之后用AES加密数据传输。AES适合高吞吐量的数据加密场景,RSA适合密钥交换和数字签名场景。”
6) 【追问清单】
7) 【常见坑/雷区】