Document WSS fixes, algorithms and verified device performance
Add the detailed Chinese WSS implementation and troubleshooting report, including commit history, firmware hashes and X25519 device results. Update the existing guides with the verified 1455 ms full TLS handshake.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
最新优化包为 `full-handshake/EG800AKCN_11LG-legacy-wss-x25519.zip`,供无 GNSS 旧板联调,默认连接 `wss://banban.api.talkingq.com:443/ws`。默认音量仍为 100(已有保存值按原逻辑读取)。这是完整多分区包,沿用上一版 NIST 加速内核,APP 调整 WSS 的 ECDHE 曲线优先级为 X25519 优先,保留其他已启用曲线作为回退。每次仍执行完整握手,按键后建连。
|
||||
|
||||
2026-09-16 14:38 板端已确认 NIST 加速后完整 TLS 握手降至 1820 ms,HTTP 101 正常。当前进一步优化:实际后台在 SDK 默认曲线顺序下选择 P-521,按新配置顺序选择 X25519;主机实际 SDK 每次新建 ECDH 平均 P-521 5.15 ms、X25519 1.55 ms。只代表运算基准,板端收益待验证。新增 `WSS TLS negotiated ECDHE group` 日志,预期值 9(X25519)。包校验与 SHA-256 见 `full-handshake/verification.json`。
|
||||
2026-09-16 14:38 板端确认 NIST 加速后完整 TLS 握手为 1820 ms;15:52 补充日志进一步确认 X25519 实际协商为 group=9,客户端密钥交换从 445 ms 降至 135 ms,完整 TLS 握手降至 1455 ms,HTTP 101 正常。两份日志样本中 TLS 再缩短约 20%。包校验与 SHA-256 见 `full-handshake/verification.json`;其中待上板字段为生成时历史状态,新增运行证据见 [完整总结](D:/banban/project/nfc_gnss/docs/WSS适配与性能优化完整总结.md)。
|
||||
|
||||
2026-09-16 11:32 复测:443 `/ws` 已返回 HTTP 101,TLS 和证书校验通过;8080 仍是明文 WS。`tls-speed/EG800AKCN_11LG-legacy-wss-fast.zip`(1820 ms)和 `recv-fix/EG800AKCN_11LG-legacy-wss-recv.zip` 均保留作已上板通过的回退版本。本目录原 `EG800AKCN_11LG-legacy-wss.zip` 缺少 ECDSA,`ecc-fix` 包存在接收误判,均仅用于历史对照。
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,8 @@
|
||||
# 旧板 WSS 适配与联调
|
||||
|
||||
本次修改位于 `legacy-board-wss`(基于 `legacy-board`),默认地址为 `wss://banban.api.talkingq.com:443/ws`。沿用无 GNSS、默认音量 100 的旧板配置。上板暴露内核缺少 ECDSA 后,已补齐内核 TLS 能力并统一 APP/内核配置;本次必须更新内核和 APP。
|
||||
本次修改位于 `legacy-board-wss`(基于 `legacy-board`),默认地址为 `wss://banban.api.talkingq.com:443/ws`。沿用无 GNSS、默认音量 100 的旧板配置。上板暴露内核缺少 ECDSA 后,已补齐内核 TLS 能力并统一 APP/内核配置;从原明文旧板版本升级时必须更新内核和 APP。已有匹配 NIST 加速内核时,最新 X25519 调整只需更新 APP。
|
||||
|
||||
完整的问题根因、算法、提交、性能数据和影响说明见 [WSS 适配与性能优化完整总结](D:/banban/project/nfc_gnss/docs/WSS适配与性能优化完整总结.md)。2026-09-16 15:52 最新板端已确认 X25519 协商、完整 TLS 握手 1455 ms 和 HTTP 101。
|
||||
|
||||
## 后台实测(2026-09-16)
|
||||
|
||||
@@ -71,7 +73,7 @@ APP 通过 SDK 导出的 `mbedtls_ssl_handshake_step` 驱动同一 TLS 1.2 握
|
||||
|
||||
`tools/probe_wss_groups.py` 用同一固件根 CA、TLS 1.2 和证书/域名校验进行独立完整握手,读取固件的曲线数组进行验证:实际后台在 SDK 默认顺序下选择 P-521,在新固件顺序下选择 X25519;密码套件均为 ECDHE-ECDSA-AES256-GCM-SHA384。证据见 `artifacts/wss/full-handshake/group-probe.json`。X25519 是标准的约 128 位安全强度密钥交换;P-521 的参数更大,单纯参数更大不等于更适合本设备。当前服务端叶证书是 P-256 ECDSA,证书链、有效期和域名校验保持必需。
|
||||
|
||||
主机实际 SDK 新建 ECDH(每组 20 次,重新生成临时密钥并计算共享密钥)平均:X25519 1.55 ms、P-256 1.90 ms、P-384 3.40 ms、P-521 5.15 ms;X25519 测试峰值额外堆 1144 字节,P-521 6376 字节(包含测试对端共享密钥校验的内存)。每次校验双方计算结果相同并检查内存释放。板端仍需实测,主要目标是降低客户端密钥交换开销,不能把基准比例套用到整个握手。
|
||||
主机实际 SDK 新建 ECDH(每组 20 次,重新生成临时密钥并计算共享密钥)平均:X25519 1.55 ms、P-256 1.90 ms、P-384 3.40 ms、P-521 5.15 ms;X25519 测试峰值额外堆 1144 字节,P-521 6376 字节(包含测试对端共享密钥校验的内存)。每次校验双方计算结果相同并检查内存释放。15:52 板端补充日志已确认 group=9,客户端密钥交换 135 ms(上一版 445 ms),TLS 总计 1455 ms(上一版 1820 ms),HTTP 101 正常。两次日志样本中 TLS 再缩短约 20%;不能把主机基准比例套用到整个握手。
|
||||
|
||||
另对比 ECP window=4/5/6:证书校验约 10.35/10.20/10.45 ms,峰值分配约 11913/16009/18697 字节,收益不稳定,因此固件保留 window=4。可在 MSVC 开发者终端运行 `tools/test_mbedtls_cert.py --compare-windows` 复测。
|
||||
|
||||
@@ -113,7 +115,7 @@ build.bat firmware
|
||||
|
||||
## 上板验收
|
||||
|
||||
443 `/ws` 已通过主机握手测试;ECC/RTC、接收修复和 NIST 加速已在板端通过 TLS、HTTP 101。本次 X25519 优先配置仍需上板检查:
|
||||
443 `/ws` 已通过主机握手测试;ECC/RTC、接收修复、NIST 加速和 X25519 优先配置均已在板端通过 TLS、HTTP 101。下面作为后续多次重复测试与业务稳定性验收步骤:
|
||||
|
||||
1. 无 GNSS 旧板正常启动、蜂窝网络就绪、RTC 时间正确。
|
||||
2. 先出现 `WSS root CA parsed successfully`,再出现 `WSS TLS handshake and certificate/hostname verification passed`。
|
||||
|
||||
Reference in New Issue
Block a user