我与DeepSeek读《大型网站技术架构》(8)- 信息加密技术及密钥安全管理


** 固若金汤: 网站的安全性架构 **

信息加密技术

单向散列加密

  • 原理:将任意长度的输入通过散列算法生成固定长度的输出(如MD5、SHA),加密不可逆。
  • 应用:用于密码存储,数据库中仅保存密文,即使被“拖库”也不泄露明文密码。
  • 安全增强:通过“加盐”(salt)增加破解难度,防止彩虹表攻击。

用户密码的存储与验证

  1. 密码保存阶段(用户注册/密码修改)
    • 步骤1 – 密码预处理
      • 客户端限制密码复杂度(长度≥8,包含字母+数字/符号)。
    • 步骤2 – 生成唯一盐值
      • 服务端为每个用户随机生成至少16字节的盐值(salt),避免不同用户使用相同盐值。
    • 步骤3 – 计算散列密文
      • 将明文密码与盐值拼接(如 salt + password),使用抗暴力破解算法(如 PBKDF2、Argon2bcrypt ,优先于MD5/SHA-1)进行多次迭代散列(例如10万次)。
    • 步骤4 – 存储安全数据
      • 数据库中仅保存 盐值最终散列值 ,字段命名避免暴露加密意图(如 salt 字段命名为 user_metadata)。

  1. 密码验证阶段(用户登录)
    • 步骤1 – 获取用户盐值
      • 根据用户名查询数据库,获取对应的盐值(salt)。
    • 步骤2 – 动态计算散列值
      • 将用户输入的明文密码与数据库中存储的盐值拼接,并使用相同算法及迭代次数进行散列计算。
    • 步骤3 – 密文比对
      • 将计算结果与数据库中存储的散列值进行恒定时间(constant-time)比对,防止计时攻击。
    • 步骤4 – 日志与监控
      • 禁止记录明文密码到系统日志;触发失败阈值后启用账户锁定/IP封禁机制。

  1. 核心安全增强措施
措施作用
唯一盐值生成避免彩虹表攻击,即使相同密码密文不同 。
迭代散列对抗暴力破解增加攻击者计算单次密码的时间成本(如使用PBKDF2)。
禁用陈旧算法MD5/SHA-1等易碰撞算法不适用于密码存储。

MD5 与 SHA 对比

  1. 核心差异对比
对比维度MD5SHA系列(以SHA-1为例)
输出长度128位160位(SHA-1)、更长(如SHA-256)
碰撞安全性已被破解(可人为制造哈希冲突)安全性更高,但SHA-1已被证明存在理论脆弱性
抗彩虹表攻击容易被彩虹表攻击,需结合盐值相同场景下需依赖盐值增强安全性
计算速度更快相对较慢(设计上更强调安全强度)
适用场景非敏感数据摘要、校验文件完整性密码存储首选(结合盐值及高级算法如SHA-256)

  1. 当前安全共识
  • 弃用建议:MD5不应用于密码存储等高敏感场景;SHA-1逐渐被SHA-256/512替代。
  • 迭代优化:实际应用中更推荐PBKDF2、bcrypt等迭代哈希算法,而非原始MD5/SHA(需叠加盐值与多次散列)。

  1. 总结
    资料中MD5与SHA并列为传统单向散列算法,需辅以盐值提升安全性,但实际应用中建议优先选择更抗碰撞的SHA-2(如SHA-256)或现代迭代哈希方案。

对称加密

  • 原理:加密与解密使用同一密钥(如DES、RC算法),适合高效处理大量数据。
  • 优点:算法简单,性能开销低。
  • 缺点:密钥传输安全性差,需依赖安全通道。

DES 与 RC 对比

  1. 关键对比项
对比维度DES(Data Encryption Standard)RC系列(如 RC4、RC6)
历史定位由美国联邦标准,20世纪70年代提出由 Ron Rivest 设计,适用于不同场景的灵活算法
密钥长度固定56位有效密钥(64位含校验位)可变长度(如 RC4 支持40-2048位)
安全性现状已不推荐:因密钥太短,易被暴力破解(可被数小时攻破)部分版本存在重大漏洞(如RC4已被广泛弃用)

  1. 其他对称加密算法
  • DES的替代方案:当前普遍使用 AES(Advanced Encryption Standard)替代DES。
  • RC系列区分
    • RC4 :流加密算法,因 TLS/SSL 协议漏洞被主流禁用;
    • RC6:块加密算法,曾参与 AES 标准竞选但未被选中。

非对称加密

信息安全传输

  • 核心机制
    发送方(A)使用接收方(B)的 公钥 加密数据 → 通过非安全信道传输密文 → 接收方(B)使用自己的 私钥 解密获取明文。
  • 安全保障
    即使密文在传输中被窃取,窃密者因无B的私钥无法解密,确保数据传输的机密性。

数字签名

  • 核心机制
    签名者(如用户A)使用自己的 私钥 加密信息 → 接收方用签名者公开的 公钥 解密数据 → 解密成功即证明信息来源和完整性。
  • 效力特征
    由于私钥唯一性,签名后的信息具有 不可抵赖性(无法否认签名行为)和 完整性验证(篡改后无法解密)。
  • HTTPS:
    • 根本机制:数字证书由权威机构颁发,包含网站公钥并通过机构私钥签名 → 浏览器使用机构预置的公钥验证证书合法性。
    • 作用核心:确保客户端与服务器通信时传递的 公钥未被篡改 ,防范中间人攻击

场景扩展

二者可结合 对称加密与非对称加密混合使用

  • 步骤:非对称加密安全传输对称密钥 → 使用对称加密处理后续数据加解密。
  • 目的:兼顾密钥交换安全性与高吞吐量数据处理需求。

常见非对称加密算法

算法名称基础数学原理密钥长度(等效强度举例)典型场景优势局限性
RSA大整数质因数分解2048/3072位HTTPS 证书、数据加密/签名通用性强、兼容性高计算开销大、量子攻击下安全性弱
ECC椭圆曲线离散对数问题256位(等效RSA 3072位)移动设备加密、物联网通信密钥短、计算效率高、资源占用低实现复杂度较高
DSA离散对数问题3072位(与RSA匹配)数字签名签名速度快仅支持签名、需预先生成临时密钥
ElGamal离散对数问题3072位以上加密协议设计安全性基于数学难题密文膨胀明显、效率较低
DH离散对数问题2048位密钥交换(如 TLS)动态生成会话密钥无法抵抗中间人攻击(需身份验证)

密钥安全管理

  1. 密钥风险

    • 问题:明文存储密钥(如代码/配置文件中)导致内部泄露风险。
  2. 安全方案

    • 独立服务模式:将密钥和算法部署于专用服务器或硬件,降低泄露概率,但性能开销高。
    • 分片存储模式:密钥拆分加密后存储于多台服务器,仅授权后组装,兼顾安全与性能。
      • 优势:分散密钥管理权限,避免单点泄露。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

递归书房

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值