Files
libsmx/SECURITY.zh-CN.md
T
huangxt a58fe8275e 发布 v0.2.0:新增 BLS 签名与 FPE 格式保留加密
新增功能:
- BLS 签名:基于 BN256 配对的最小签名尺寸变体
- BLS 门限签名:Shamir 秘密分享 + Lagrange 插值聚合
- Hash-to-Curve:RFC 9380 兼容,SM3 消息扩展
- FPE 格式保留加密:基于 SM4 的 Feistel 密码
- SM9 Fp 平方根:Tonelli-Shanks 算法

文档更新:
- README 添加 BLS/FPE 算法描述
- CHANGELOG 添加 v0.2.0 变更记录
- SECURITY 更新版本支持表
2026-03-08 20:02:06 +08:00

56 lines
1.8 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.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。