深度网络安全视角:哈希、加密与编码

发布: (2025年12月3日 GMT+8 14:56)
8 min read
原文: Dev.to

Source: Dev.to

编码:仅改变格式

编码只改变数据的格式。它 不提供 安全性。

示例

  • Base64
  • URL 编码
  • ASCII
  • UTF‑8

编码用于传输或兼容性,而不是保护。

哈希:单向保护

哈希会生成一个固定大小的输出,称为 消息摘要

哈希重要术语

  • Message digest – 哈希函数的结果
  • Collision – 两个不同的输入产生相同的哈希值
  • Collision resistance – 产生冲突的难易程度

哈希算法

  • MD5 – 已被破解,冲突容易产生
  • SHA‑1 – 老旧,弱
  • SHA‑2(SHA‑256、SHA‑512)– 强
  • SHA‑3 – 新设计,安全

SHA‑256 就像一扇坚固的金属门。
SHA‑512 是同样的门,只是更厚。

Salt 与 Pepper

  • Salt – 在哈希前加入的随机值,用于防止彩虹表攻击
  • Pepper – 存放在数据库外部的秘密值

彩虹表

预先计算的大量哈希列表。加盐可以完全抵御此类攻击。

密钥派生函数 (KDF)

  • KDF2 – 从弱密码生成强密钥
  • PBKDF2 – 故意放慢哈希速度;使用 HMAC 对密码 + 盐进行多次哈希,使暴力破解更困难
  • bcrypt – 带自动加盐的慢哈希算法;至今仍非常强大
  • Argon2 – 下一代 KDF;慢且对内存要求高,对 GPU/ASIC 破解极其困难

哈希的用途

  • 密码存储
  • 完整性校验
  • 数字签名

加密:双向保护

加密把可读数据转换为不可读的密文。使用正确的密钥可以逆转。

A. 对称加密

加锁和解锁使用同一把钥匙。

示例

  • AES – 现代且非常强大
  • DES – 已被破解
  • 3DES – 过时且弱

应用于

  • Wi‑Fi
  • VPN
  • 磁盘加密
  • TLS 会话

B. 非对称加密

两把钥匙:公钥加密,私钥解密。

示例

  • RSA – 较老,密钥较大
  • ECC – 密钥更小,速度更快,安全性相当

应用于

  • HTTPS
  • 数字签名
  • 身份验证
  • 安全邮件

密码模式(块加密的工作方式)

块密码(如 AES)需要一种工作模式。

  • CBC (Cipher Block Chaining) – 每个块依赖前一个块;较旧且存在弱点
  • GCM (Galois Counter Mode) – 优于 CBC;提供加密、完整性和认证;在现代 TLS 中使用

TLS、证书、密钥、信任

TLS

客户端与服务器之间的安全加密连接。结合使用 AES、RSA 和证书。

  • SSL – TLS 的旧版本;已不安全

TLS 握手

  1. 客户端和服务器协商加密方式
  2. 交换公钥
  3. 验证证书
  4. 创建临时对称密钥

密码套件

指定“配方”,包括:

  • 使用哪种 AES 模式
  • 使用哪种 RSA/ECC 类型
  • 使用哪种哈希算法
  • 握手的工作方式

示例套件组件

  • ECDHE 用于密钥交换
  • AES‑GCM 用于加密
  • SHA‑256 用于完整性

Diffie‑Hellman (DH) 与椭圆曲线 DH (ECDH)

在公共网络上生成共享密钥的方法。ECDH 更快,且每比特提供更强的安全性。

PKI(公钥基础设施)

让浏览器信任网站的完整系统。包括:

  • 证书
  • 证书颁发机构 (CAs)
  • 信任链
  • OCSP(在线证书状态协议)
  • 吊销列表

根信任

设备内置受信任 CA 列表。只要 CA 被信任,其颁发的所有证书也被信任。

证书颁发机构 (CA)

受信任的组织,负责签发证书。

CRL(证书吊销列表)

列出已不再有效的证书。

OCSP

实时检查证书是否有效。

证书链

服务器证书 → 中间证书 → 根证书。

EV 证书

扩展验证 – 更严格的身份检查,但安全级别相同。

证书固定 (Pinning)

应用只信任特定的证书或密钥,防止伪造证书。

密钥生命周期

密钥必须经历:

  • 生成
  • 安全存储
  • 轮换
  • 过期
  • 销毁

代码签名

软件使用私钥签名;系统在执行前验证签名,防止恶意软件冒充合法软件。

身份验证与身份安全

  • Kerberos – Windows 网络使用的身份验证协议
  • WPA3 – 现代安全 Wi‑Fi 协议
  • PB (Password Based) – 密码基系统的统称
  • SAML – 较老的企业身份协议
  • OAuth 2 – 现代应用使用的授权系统
  • OIDC – 基于 OAuth 2 的身份层
  • Identity Provider (IdP) – 确认用户身份的服务
  • SSO (Single Sign‑On) – 用户一次登录即可访问多个应用
  • JWT – Web 系统使用的令牌格式
  • Access Tokens – 短期 API 访问令牌
  • Federation – 系统之间的身份共享

威胁建模与风险术语

STRIDE

  • Spoofing(欺骗)
  • Tampering(篡改)
  • Repudiation(否认)
  • Information disclosure(信息泄露)
  • Denial of service(拒绝服务)
  • Elevation of privilege(权限提升)

DREAD

较早的威胁评分模型。

Attack Trees

攻击者实现目标的可视化模型。

Kill Chain

攻击的各个阶段。

MITRE ATT&CK

攻击者技术的数据库。

Attack Surface

攻击者可能尝试进入的所有点。

漏洞与风险度量

  • CVE – 漏洞的公开标识符
  • CVSS – 表示漏洞危险程度的分数
  • NVD – 官方漏洞记录数据库
  • Threat Agents – 可能攻击你的主体
  • Risk Scoring – 情境危险程度的评估

基础设施与访问控制

  • IAM – 身份与访问管理
  • ACLs – 访问控制列表
  • DMZ – 位于公共互联网与内部网络之间的网络区

灾难恢复术语

  • RTO – 最大可接受停机时间
  • RPO – 最大可接受数据丢失量
  • DR Site – 灾难备份地点
  • Backup Testing – 验证备份实际可用性

最终总结

本文涵盖了哈希、加密、编码以及众多依赖它们的网络安全组件。

  • Hashing 保护密码并确保数据完整性。
  • Encryption 保护传输中和静止的数据。
  • Encoding 仅为传输或兼容性改变数据格式。

TLS、证书、RSA、AES、盐、KDF、密码套件以及身份系统都将这些概念结合起来,保障现代系统的安全。掌握这些基础为成为网络安全工程师奠定坚实基础。

Back to Blog

相关文章

阅读更多 »

三层 Terraform 架构

先决条件:Terraform ≥ 1.0;具备创建 S3 存储桶、DynamoDB 表、KMS 密钥、VPC、子网、IGW 和路由表的 AWS 权限。