易君召
发布于 2026-08-15 / 作者:易君召 / 5 阅读
0

API 调用如何保障数据安全

API 安全覆盖传输、身份认证、授权、输入校验、数据加密、防攻击、日志审计、脱敏、密钥管理全链路,下面分维度整理可落地的方案。

一、传输层安全:防止网络窃听、篡改

  1. 强制 HTTPS (TLS 1.2+/TLS1.3)

    • 禁止 HTTP 明文调用,关闭低版本 TLS(TLS1.0、TLS1.1);配置强加密套件。

    • 开启 HSTS,防止降级劫持;证书使用正规 CA 证书,禁止自签名证书上线。

  2. 避免 URL 携带敏感参数

    GET 请求参数会留在访问日志、代理日志,密码、token、身份证等敏感信息不要放 URL query,改用 Header 或 POST Body。

二、身份认证:确认调用方是谁,拒绝匿名访问

认证方式

适用场景

安全要点

API Key

服务间调用

密钥放在 Header,不要放 URL;定期轮换;限制 IP 白名单;禁止前端暴露 API Key

OAuth2.0 / OIDC

第三方、用户授权场景

使用 Access Token 短期有效,Refresh Token 安全存储;授权范围最小化 scope

JWT

无状态鉴权

设置合理 exp 过期时间;不要在 JWT payload 放敏感明文;做好签名校验(HS256/RS256 优先非对称 RSA)

mTLS 双向证书认证

高安全服务内部调用

客户端 + 服务端双向校验证书,适合金融、政务、可信数据空间内部接口

核心原则:永远不允许无认证匿名调用敏感 API

三、授权控制:认证通过≠可以随便操作(最小权限)

  1. RBAC 基于角色访问控制:不同调用方分配不同接口、数据权限。

  2. 数据级别权限:同一个 API,A 调用只能看 A 的数据,不能越权看到别人数据,防止水平越权、垂直越权

  3. Scope 作用域限制:OAuth 场景限制 token 可调用的接口与能力。

常见漏洞:只做登录校验,没有做数据权限校验,导致越权漏洞。

四、输入校验与防注入攻击

所有来自调用方的入参都不可信,无论 Header、Query、Body。

  1. 强参数校验:参数类型、长度、格式、值域白名单校验,拒绝非法输入。

  2. 防注入:SQL 注入、NoSQL 注入、命令注入、XSS;使用预编译、ORM,禁止直接拼接 SQL。

  3. 防 SSRF:对外请求的 API 严格限制内网地址,禁止访问内网 IP、元数据地址。

  4. JSON 解析防护:限制请求体最大大小,防止超大 JSON DoS。

五、数据加密与脱敏

1. 传输加密:HTTPS(传输中加密)

2. 存储加密(服务端)

  • 敏感数据(手机号、身份证、银行卡)数据库加密存储:AES 对称加密;高安全场景使用 KMS 密钥管理服务,密钥不和业务代码放一起。

3. 返回脱敏

  • API 返回时对敏感字段脱敏:手机号138****1234,身份证320***********1234

  • 非必要不返回敏感字段,遵循 “返回最小数据集”。

4. 端到端加密

极高安全场景:业务数据在客户端加密,服务端只处理密文,服务端无法解密业务明文。

六、接口防攻击防护

  1. 限流 & 熔断

    • 按 API Key / 账号 / IP 做 QPS 限流,防止暴力破解、CC 攻击;区分普通接口与高危接口(登录、转账)单独收紧阈值。

  2. 防重放攻击

    • 请求增加 timestamp时间戳 + nonce随机串 + 请求签名

    • 服务端校验时间戳(±5 分钟窗口),校验 nonce 是否已经使用过,拦截重复回放旧请求。

  3. 请求签名(重要)

    把请求参数 + 时间 + nonce,用密钥做摘要签名,服务端重新计算签名比对,防止参数被中间人篡改

    流程:客户端:原始参数 → 拼接字符串 → secret 签名 → 把 sign、timestamp、nonce 随请求传给服务端;服务端用同样规则重算 sign 对比。

七、密钥、凭证管理

  1. API Key、密钥、数据库密码禁止硬编码到代码、配置文件、Git 仓库,使用密钥管理系统 KMS、环境变量、配置中心。

  2. 密钥定期轮换;泄露立刻作废;区分开发 / 测试 / 生产密钥。

  3. 前端严禁存放高权限密钥;前端调用后端 API,由后端做代理中转。

八、日志、审计与异常处理

  1. 访问日志完整留存:调用方标识、调用时间、接口路径、响应码,日志禁止记录明文密码、token、身份证等敏感数据,敏感字段打码。

  2. 审计告警:异常行为告警,短时间大量失败鉴权、越权访问、高频调用触发告警。

  3. 错误返回不要泄露内部信息:异常响应禁止返回堆栈、数据库报错、服务器版本,对外返回统一业务错误码。

九、其他安全最佳实践

  1. 接口版本管理,旧版本不安全 API 及时下线。

  2. 安全测试:渗透测试、API 漏洞扫描(OWASP API Security Top10)。

  3. 输出也要校验:API 返回数据同样做过滤,防止返回过多内部字段。

  4. CORS 跨域严格配置,不配置*通配符,限制可信域名,防止浏览器跨域窃取数据。

OWASP API Security Top10 重点风险简要

  1. 接口对象级别越权(BOLA)

  2. 认证失效

  3. 对象属性越权

  4. 资源耗尽(限流缺失)

  5. 批量分配

  6. 不安全的通信

  7. 安全配置错误

  8. 注入

  9. 资产管理缺失

  10. 日志与监控不足

极简落地优先级(快速实施)

  1. 全部 HTTPS + 关闭 HTTP

  2. 必须认证(APIKey/OAuth/mTLS)

  3. 请求签名 + 时间戳防重放

  4. 入参全量校验

  5. 限流防刷

  6. 敏感数据传输不放在 URL,返回脱敏

  7. 密钥不硬编码,日志脱敏,审计告警


本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。

原文链接 https://www.yijunzhao.cn/archives/api-call-data-security-protection-guide

欢迎访问 小易撩挨踢

https://www.yijunzhao.cn/