Files
libsmx/SECURITY.zh-CN.md
huangxt 7c159343f8 发布 v0.3.0:rustls CryptoProvider 支持
新增功能:
- rustls CryptoProvider:完整 rustls 0.23.x 支持
  - SM3 Hash/Context trait 实现
  - SM3 HMAC trait 实现
  - SM4-GCM/CCM AEAD 密码套件
  - SM2 ECDHE 密钥交换
  - SM2 签名/验签算法
- SM3 流式 HMAC(HmacSm3)
- SM2 SPKI DER 编码
- SM2 DEFAULT_ID 常量

文档更新:
- README 依赖版本更新为 0.3
- CHANGELOG 添加 v0.3.0 变更记录
- SECURITY 更新版本支持表
2026-03-09 10:13:09 +08:00

57 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 安全策略
## 支持版本
| 版本 | 是否支持 |
|------|----------|
| 0.3.x | 是 |
| 0.2.x | 是 |
| 0.1.x | 是 |
| < 0.1 | 否 |
## 报告漏洞
如果您发现 libsmx 存在安全漏洞,请负责任地报告:
**邮箱**: [kintai@foxmail.com](mailto:kintai@foxmail.com)
**请包含**:
- 漏洞描述
- 复现步骤
- 受影响版本
- 潜在影响评估
**响应时间**:
本项目由个人维护,不设固定响应时间。作者会尽快处理所有安全报告,但无法承诺具体的响应期限。
## 范围
以下领域属于安全报告的有效范围:
- **时序侧信道**:执行时间依赖于秘密数据(私钥、明文、随机数)的操作
- **内存安全**:缓冲区溢出、释放后使用或未初始化内存读取(注:本库使用 `#![forbid(unsafe_code)]`
- **密钥材料泄露**:私钥或中间秘密值未正确清零
- **密码学正确性**:偏离 GB/T 标准导致安全保证减弱
- **认证绕过**GCM/CCM 模式中 MAC/标签验证错误
## 不在范围内
- 不影响安全的性能问题
- 依赖库漏洞(请向上游报告)
- 需要物理访问设备的攻击
## 安全设计
libsmx 采用以下防护措施:
- **常量时间操作**:所有依赖秘密的代码使用 `subtle::ConstantTimeEq``ConditionallySelectable` 和固定迭代循环
- **S-box 无表查找**SM4 使用布尔电路 bitslice 实现,防止缓存时序攻击
- **自动密钥清零**:所有私钥类型派生 `ZeroizeOnDrop`
- **无 unsafe 代码**:库级别强制 `#![forbid(unsafe_code)]`
- **完整 EC 公式**:SM2 点加法使用无分支完整加法公式(Renes-Costello-Batina 2016
## 披露策略
我们遵循协调披露原则。请**不要**为安全漏洞创建公开的 GitHub issue。