Skip to content

信息安全

信息安全模块用于集中学习加密、签名、哈希、HTTPS、密钥管理、接口安全、数据脱敏、审计与合规等通用安全知识。它不是某个框架的子模块,而是 Spring Security、网关、开放 API、数据库字段加密、文件存储安全都会依赖的基础能力。

为什么要单独成模块

Spring Security 主要解决 Web 应用里的认证、授权、过滤器链、会话和权限控制;信息安全解决的是更底层、更通用的问题:

  1. 数据传输中怎么防窃听。
  2. 报文怎么防篡改。
  3. 调用方身份怎么证明。
  4. 敏感字段落库怎么保护。
  5. 密码为什么不能可逆加密。
  6. HTTPS 为什么要混合使用对称加密和非对称加密。
  7. 密钥怎么保存、轮换、审计和应急。
mermaid
flowchart TD
    A["信息安全"] --> B["加密与签名"]
    A --> C["传输安全 HTTPS/TLS"]
    A --> D["接口安全"]
    A --> E["数据安全"]
    A --> F["密钥管理"]
    A --> G["审计与合规"]
    B --> H["对称加密 AES/SM4"]
    B --> I["非对称加密 RSA/ECC/SM2"]
    B --> J["哈希 SHA/SM3"]
    B --> K["数字签名"]

学习路线

顺序文档学什么
1加密基础:对称加密与非对称加密AES、RSA、哈希、签名、HTTPS 混合加密、接口签名
2从零到精通验收清单按安全目标、原理、Demo、场景、排查、面试逐项验收
3商业场景训练营开放接口签名、敏感字段加密、密码哈希、JWT、密钥轮换如何落地
4HTTPS/TLS 全过程原理证书、握手、信任链、HTTPS 为什么安全
5开放接口签名与防重放appId、timestamp、nonce、签名、防重放、防篡改
6从零到精通验收清单字段加密、脱敏、数据分级、权限与审计
7从零到精通验收清单KMS、密钥轮换、keyVersion、泄露应急

建议学习时先分清“加密、哈希、签名、编码”的边界,再看 TLS 如何保护传输链路,最后看开放接口为什么还需要业务级签名和防重放。

和其他模块的关系

相关模块关系
Spring Security认证授权依赖密码哈希、JWT 签名、HTTPS、安全上下文
Spring Cloud Gateway网关常做 Token 校验、接口签名、防重放、限流
Java 网络编程HTTPS/TLS 建立在 TCP 和 HTTP 之上
数据库敏感字段加密、脱敏展示、审计日志
文件服务文件摘要、签名 URL、权限校验
DevOps/K8sSecret、证书、密钥挂载、etcd 加密

医疗数据采集平台中的信息安全

医疗数据采集与资产平台通常会处理患者身份信息、就诊记录、检验检查报告、医院接口凭证、数据资产目录和用户权限。信息安全设计至少要覆盖:

  1. 医院到平台的数据传输使用 HTTPS。
  2. 开放接口使用签名、防重放和调用方身份识别。
  3. 身份证号、手机号等敏感字段按需加密或脱敏。
  4. 用户密码使用 BCrypt/Argon2 等慢哈希,不使用可逆加密。
  5. JWT 只放必要身份声明,不放敏感业务数据。
  6. 密钥不写入代码仓库,生产密钥独立管理和轮换。
  7. 查询、导出、下载敏感数据要记录审计日志。
mermaid
flowchart TD
    A["医院系统"] --> B["HTTPS 传输"]
    B --> C["接口签名验签"]
    C --> D["timestamp + nonce 防重放"]
    D --> E["业务数据解密或解析"]
    E --> F["字段加密/脱敏落库"]
    F --> G["权限控制和审计日志"]

本章小结

信息安全不是“用了某个算法”就结束。真正安全的系统要同时考虑:算法选择、密钥管理、传输安全、身份认证、权限控制、防重放、防篡改、数据脱敏、审计和应急。

关联知识点

  1. 加密基础
  2. 信息安全从零到精通验收清单
  3. 信息安全商业场景训练营
  4. HTTPS/TLS 全过程原理
  5. 开放接口签名与防重放
  6. Spring Security
  7. K8s Secret