Repository navigation
v0.3.9 — 半在线心跳 License Server + 客户端信任根固化
v0.3.9 重大更新
本版本完成半在线心跳 License Server 上线与客户端信任根加固,并补齐时钟与首次心跳的安全边界。
安全加固
Phase-1: License Server
- 生产服务运行于 Ubuntu 24.04,使用非 root systemd 服务与 Python venv。
- TLS 自签证书带 IP SAN,并以 SPKI pin 作为客户端身份信任依据。
- 服务端 Ed25519 签名私钥采用加密 PKCS8 存储。
Phase-2: 客户端信任根
- 嵌入真实 server Ed25519 公钥。
- 固定心跳端点
https://124.221.210.12:8443。 - 强制实时 SPKI pin 校验;pin 不匹配时拒绝续期。
- server 公钥缺失或签名无效时 fail-closed,仅保留 7 天离线 grace,不因单次网络故障退出程序。
Phase-3: P1 加固
- 校验
server_timestamp单调性,防止时钟回拨绕过。 - 修复
fresh_until <= 0首次心跳无限 grace 问题,并以签名issued_at作为首次 grace 锚点。 - 显式校验响应
client_pubkey与本机请求一致。 - 重新编译并打包 Cython verifier。
已关闭风险
- Fake license-server MitM 续期绕过。
- 接受任意自签证书的 SPKI pin 空实现。
- 空 server 公钥时跳过签名校验的 fail-open。
下载与校验
- Windows x86_64:
DouStudio-v0.3.9-windows-x86_64.zip - ZIP SHA-256:
7A38C63812555318179A19AC68AB8613FDAAAF968240AE049B181F30845AF1EC - 同名
.sha256文件已随 Release 上传。
Get-FileHash -Algorithm SHA256 .\DouStudio-v0.3.9-windows-x86_64.zip验证
- GitHub Actions 构建与上传成功。
- License 触达回归:67 passed,1 skipped。
- 版本、设置与更新路径:50 passed。
- Windows 真机:主界面启动成功,无重复激活弹窗。
- 打包程序健康检查:
version=0.3.9、activated=true、license_status=valid。 - 生产心跳握手成功,
fresh_until、last_server_sync与clock_offset_ms已真实落盘。
升级提示
- 启动时会连接
124.221.210.12:8443执行一次授权心跳。 - 临时网络故障不会立即阻止使用;有效授权按 7 天离线 grace 运行。
- 后台默认每 24 小时续期一次。