上班一段时间的感悟:最近在做一些信息安全的项目,带来了一些感悟。AI大放异彩,前段时间大火的deepseek 对各行各业都带来一定冲击,不过也带来很多挑战,数据保护、安全计算等等。我看很多技术人员分享了信息安全相关的知识,我妄为信息安全专业出身,准备重新捡起相关知识,争取能在这方面对职业规划带来突破。
信息安全的思考
1. 安全算法的思考
万丈高楼平地起,我不想一上来就分享各种复杂算法,例如,ECDSA(椭圆曲线数字签名算法)、ZKP(零知识证明)、安全多方计算、格基规约等等,这篇文章我想谈一谈信息安全或者密码学算法是什么(我的个人理解)。
`我个人觉得信息安全的算法本质是“1+1”的堆砌 `
这句话怎么理解,我看很多的分享文章在介绍这些算法的时候,都说的各种高大上,各种数学符号让人望而生畏。
其实不然我觉得核心思想是什么信息安全算法本质上是多个基本数学运算或逻辑操作的组合,形成一个复杂的安全机制。这种“1+1”的堆砌既可以是算法内部的结构
,也可以是不同算法的组合
。
- 低级操作的组合形成高级算法
信息安全算法通常是基础数学运算的组合,例如:
(同学们可以先别思考什么是ecc,什么是格运算)
加法、异或(XOR)、置换、移位 → 构成 分组密码(AES, DES)
模幂运算、素数运算 → 构成 RSA 加密
椭圆曲线运算(点加、标量乘法) → 构成 ECC(椭圆曲线密码)
矩阵变换、格运算 → 构成 后量子密码学
。。。
👉 这些高级算法的基本单元就是一些简单的数学运算,类似于“1+1”不断组合,最终形成一个复杂的加密机制。
👉 同样,安全算法还应保证计算安全,如果计算机可以在短时间计算出128位的算法,那我就扩展到256,512,1024…本质上也是堆砌。
- 复杂算法由多个子算法堆叠
许多安全算法是不同加密原语(primitive)的堆叠,例如:
AES-CTR + HMAC = AEAD(Authenticated Encryption with Associated Data)
RSA + SHA-256 = 数字签名
Diffie-Hellman + AES = 安全信道(TLS)
哈希链(Hash Chain)+ Merkle 树 = 区块链数据结构
代数运算 + 密码学 = 同态加密(Homomorphic Encryption)
。。。
👉 这种例子太多了,不同的算法也是契合不同使用场景的,区别是要在满足使用场景的情况下,满足算法的安全性包括语义安全、选择明文/密文安全、前向安全、后向安全等(通俗讲不能被攻破,能保证数据隐私等等)。
所以没必要一下子就啃最硬的骨头,后续我会尽可能把一些最基础的东西讲明白。
2. 安全算法使用场景
这里给出一部分使用场景,注意使用场景是复杂多变的,下面的算法与应用场景不代表某个应用场景只使用了对应算法,通常是n个复杂安全算法一起工作,这里只是介绍了在某些方面用了相应算法。
- 确保数据在传输或存储时以密文形式(机密性)
算法 | 应用场景 | 说明 |
---|---|---|
AES-GCM, ChaCha20-Poly1305 | HTTPS(TLS/SSL) | 保护网页浏览时的数据传输安全 |
AES-256 | 数据库存储加密 | 保护存储数据,防止数据泄露 |
- 确保数据在传输或存储过程中未被篡改(完整性)
算法 | 应用场景 | 说明 |
---|---|---|
SHA-256, SHA-3, HMAC | 软件包完整性验证(APT, RPM) | 防止软件包被篡改 |
Merkle Tree + SHA-256 | 区块链交易数据完整性 | 确保区块链中的交易数据未被篡改 |
RSA-PSS, ECDSA, Ed25519 | 数字签名(电子合同, PDF签名) | 确保电子文档的真实性和完整性 |
HMAC-SHA256 | 数据完整性验证(云存储, 备份) | 确保备份数据未被篡改 |
- 保护用户身份和行为不被追踪,防止隐私数据泄露,同时支持可信计算。(匿名性 & 隐私保护)
算法 | 应用场景 | 说明 |
---|---|---|
RSA + AES + Onion Routing | 匿名浏览(Tor, I2P) | 通过多层加密传输数据,隐藏用户 IP 地址和访问记录。 |
Ring Signatures, zk-SNARKs | 隐私保护支付(Monero, Zcash) | 环签名隐藏交易发送方,零知识证明(zk-SNARKs)确保金额隐私。 |
Laplace Noise, Local Differential Privacy | 差分隐私(Apple, Google) | 添加噪声以保护用户行为数据,防止统计分析泄露个人信息。 |
GMW, Yao’s Garbled Circuits, SPDZ | 隐私计算(多方计算 MPC) | 多方在不泄露原始数据的情况下进行联合计算(如隐私 AI 训练)。 |
BFV, CKKS, TFHE | 同态加密(Fully Homomorphic Encryption, FHE) | 在不解密数据的情况下直接进行计算,适用于隐私保护计算。 |
BLS, zk-SNARKs | 去中心化身份(DID) | BLS 签名用于身份认证,零知识证明保护用户身份隐私。 |
- 保护系统资源,确保只有授权用户能访问。(访问控制)
算法 | 应用场景 | 说明 |
---|---|---|
Attribute-Based Encryption(ABE) | 权限管理(RBAC, ABAC) | 结合身份信息(IBBE)或属性(CP-ABE)进行精细化权限管理 |
Homomorphic Encryption + Secure Enclave | 生物识别认证(Face ID, Windows Hello) | 处理指纹/面部识别数据,防止泄露原始生物信息 |
ECC + RSA + AES | 硬件安全模块(HSM, TPM) | 保护私钥,确保密钥不暴露给软件层 |
AES + RSA | 云存储访问控制(AWS KMS, Azure Key Vault) | 数据加密密钥由 KMS 保护,支持细粒度访问控制 |
- 保护智能设备的数据和通信安全(物联网(IoT安全))
算法 | 应用场景 | 说明 |
---|---|---|
Lightweight AES, SPECK, SIMON | 低功耗设备加密(智能家居, 传感器) | 适用于功耗受限设备 |
HMAC, RSA 签名 | 安全固件更新(汽车, 工业设备) | 确保固件更新可信 |
ECDSA, AES-CCM | 车联网(V2X, DSRC) | 保护车载通信安全 |
- 保护加密算法免受物理攻击(如功耗、时序攻击),侧信道防御(Side-Channel Attack Defense)
防御措施 | 应用场景 | 说明 |
---|---|---|
物理屏蔽, 可信执行环境(TEE) | 智能卡 & HSM(硬件安全模块) | 防止功耗、时序攻击 |
侧信道分析防护 | 汽车安全芯片 | 保护车载 ECU 免受物理攻击 |
使用场景太多了,一个区块链就是安全算法集大成的例子,这里不列举了。我举这些例子是想说,我们如果想要了解信息安全相关知识,最好从零开始,自然而然能够明白绝大部分算法,没必要上来就啃最硬的骨头。
后续
👉 下一篇,我想分析分析最简单也最容易让人忽略的对称加密算法,因为我发现在实际项目中,对称加密用的特别多,抱着知其然然后知其所以然的态度,大家共勉。