Files
libsmx/SECURITY.zh-CN.md
T
huangxt 0b3f239661 修正安全策略版本号
- SECURITY.md 和 SECURITY.zh-CN.md 版本支持改为 0.1.x
- 与当前 Cargo.toml 版本 0.1.0 保持一致
2026-03-07 20:56:52 +08:00

55 lines
1.7 KiB
Markdown
Raw 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.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。