P5 Swift
已实现 PoC
架构与组件:SSPM / GAC / HCC
Swift 由三大组件构成:星上处理模块 SSPM(仿真星座拓扑 + 链路/路由/网关)、全球地面接入客户端 GAC(软件版终端)、总部管控中心 HCC(合规/风控/结算/对账大脑)。本主题用 3 个故事讲它们各自的真实实现——每步都有可点击的 API 与真实 JSON 返回。星座/链路为仿真域,已如实标注。
系统架构师
卫星载荷工程师
运维工程师
SSPM
GAC
HCC
共 3 个故事
能 / 不能速览
✅ 这个主题能做
- SSPM(sspm 包):6 星 2 平面 3 站演示拓扑、星地链路仿真(延迟 20-50ms/丢包/断链)、按表路由 + TTL + 链路轨迹、星间 BFS 最短路、网关重传去重与断链缓存补发
- GAC(gac 包):生成 ISO 20022 pacs.008 + SM3/SM2 国密签名 + SM4-GCM 端到端加密,支付状态 DRAFT→SIGNED→SENT→ACKED/REJECTED
- HCC(hcc + settlement 包):合规筛查、风控评分、复式记账结算、对账报告、态势聚合、接收解密验签、审计
- 链路仿真参数可调(丢包率/延迟),态势页可断链/恢复演练
⛔ 这个主题做不了
- 星座拓扑与链路数值为仿真,非真实在轨
- v1 的"星上 <4ms 处理预算"是学术推断,需目标级硬件基准测试自证(本轮未做)
- 星上真实硬件(FPGA/RTOS/抗辐射芯片)与真实 HSM 为规划目标
- 代理银行真实接口(CIPS/SWIFT)为内存 mock,非真实清算
适用角色
本主题面向三类技术角色:
- 系统架构师:整体架构与组件接口,理解三大组件如何分工、如何组装(server.go)。
- 卫星载荷工程师:SSPM 仿真包(拓扑/链路/路由/ISL/网关)的行为与参数。
- 运维工程师:HCC 部署(端口 18084)、链路态势、对账与审计。
能力速览(已实现 PoC)
SSPM 星上模块(仿真)
sspm 包:星座拓扑(6 星 3 站)、星地链路仿真(延迟/丢包/断链)、按表路由 + TTL、星间 BFS 最短路、端到端网关(重传/去重/断链缓存补发)。纯 Go 库,无业务逻辑。
GAC 地面客户端
gac 包:软件版客户端,报文生成 + SM3/SM2 国密签名 + SM4-GCM 端到端加密信封 + 支付状态机;REST 端点 /api/v1/payments*。
HCC 管控中心
hcc + settlement 包:合规筛查(名单 + KYC + LLM 辅助)、风控评分(0-100 三档)、复式记账结算(万二手续费、MsgID 幂等)、对账报告、态势聚合、接收解密验签、审计。
链路仿真与演练
态势页可断链/恢复(观察缓存补发)、链路参数面板可调丢包率与延迟(/network/config);篡改拒绝演示验证端到端国密信封防线。
一键端到端演示
POST /api/v1/demo/run 一键 10 步:生成→签名→加密→链路→解密→合规→风控→结算→对账→回执,独立引擎不污染正式数据。
复用平台底座
config/logger、auth+rbac、audit、LLM 网关、crypto(SM4-GCM)全部复用 platform 包;响应封装与错误码风格对齐 gotham。
调整指南(怎么调整)
- 调整星上/地面分工:SSPM 只做转发/路由/链路层处理(代码中 sspm 包无业务逻辑);AML、风控、完整校验、结算全留地面——"能做在地面上的,决不做在卫星上"。
- 调整链路参数:丢包率 / 延迟经 /network/config 调整(0 沿用默认 20-50ms);丢包率调高可观察网关重传,调回 0 恢复确定性无损链路。
- 调整断链策略:态势页对 PRIMARY/REG-CN/REG-EU 一键断链/恢复;断链期间帧缓存,恢复后自动补发(待补发帧数可见)。
- 调整 GAC 形态:当前为软件版客户端(HSM/调制解调器为占位接口 V2);固定站/便携站硬件形态留远期。
- 调整演示场景:/demo/run 入参可改金额、收付款账户、航天服务类型与附言,演示大额时走风控人工复核路径。
做得好的场景(已实测)
这套架构最亮眼的是"组件即代码、仿真可复现":
- 确定性可复现:链路随机源固定种子 42,同一参数跑出同一结果,测试与演示可复现。
- 断链不丢报文:网关断链缓存 + 恢复自动补发,一键演示第 4 步即包含一次断链恢复。
- 账务真实可靠:复式记账(PostDouble 原子双分录)、借贷平衡断言、MsgID 幂等,防止重复入账。
- 安全纵深落地:CRC32 帧校验 + SM3 完整性 + SM2 签名 + SM4-GCM 加密信封,篡改报文现场被拒绝。
- 复用底座:认证、审计、LLM 网关、国密库与 AIP/Foundry/Apollo 同源,API 风格统一。
限制与不足
以下是明确的边界,先知道再读故事:
- 仿真域:星座/链路/账户余额与交易为模拟数据;CIPS 外部通道为内存 mock。
- <4ms 待自证:v1 的星上处理预算为学术推断,需目标级硬件基准测试验证(本轮未做)。
- 真实硬件依赖:FPGA、抗辐射芯片、HSM、激光终端都是重大工程,超出本轮范围。
- 自动接收未接线:HCC-01 私钥已预留,但自动 HCC 接收服务(解密验签后进结算链路)尚未接线。
场景故事
故事 1
SSPM:从"4ms 硬件预算"到可运行的仿真链路引擎——6 星 3 站、断链自动补发
场景:星上处理
角色:卫星载荷工程师
代码:sspm 包 · 覆盖率 90.8%
- 背景
- 丁工,卫星载荷工程师。v1 规划里 SSPM 是抗辐射 ARM/FPGA + RTOS 的硬件载荷,单报文处理预算 <4ms(学术推断)。PoC 落地时,他把 SSPM 实现为纯软件仿真层(sspm 包):6 星 2 平面 3 站拓扑、星地链路仿真、路由引擎、星间 BFS 算路、端到端网关——"星上只做转发/路由"的分工一点没变。
- 传统做法对比
- 传统卫星通信(GEO 弯管)在星上"透明转发",不解析不路由,全靠地面站处理;每个覆盖区域都要建地面站。仿真实现中,SSPM 按表路由 + TTL 控制 + BFS 星间算路,链路延迟 20-50ms 可调、丢包率可配、断链可演练——把"星上智能路由"从纸面变成了可点击的代码。
- 角色
- 卫星载荷工程师(仿真包实现);系统架构师(星上/地面分工);运维工程师(态势演练)。
- 操作步骤
-
- 打开「HCC 管控台·态势」,查看 6 颗卫星(SAT-0~5)与 3 个地面站的链路延迟表
- 把 PRIMARY 区域点「断链」,再发起一笔支付(帧被缓存待补发)
- 点「恢复」,观察待补发帧数归零、报文送达 HCC
- 在链路仿真参数面板把星地丢包率调到 0.05,观察网关重传后送达
- 调 /network/topology 查看快照 JSON(links 的 From/To/LatencyMs、areas 的 offline/pending)
- 系统响应
- 态势快照真实返回:
GET /api/v1/network/topology
{"code":0,"data":{"snapshot":{
"sats":["SAT-0","SAT-1","SAT-2","SAT-3","SAT-4","SAT-5"],
"stations":[{"ID":"PRIMARY","Online":true},{"ID":"REG-CN","Online":true},{"ID":"REG-EU","Online":true}],
"links":[{"From":"SAT-0","To":"PRIMARY","LatencyMs":34},{"From":"SAT-0","To":"REG-CN","LatencyMs":41},{"From":"SAT-3","To":"REG-EU","LatencyMs":27}],
"tx":{"TxCount":0,"TxAmount":0,"SettledCount":0,"PendingCount":0}},
"areas":{"PRIMARY":{"offline":false,"pending":0},"REG-CN":{"offline":false,"pending":0},"REG-EU":{"offline":false,"pending":0}}}}
断链时 pending 递增,恢复后归零。
- 结果洞察
- 确定性可复现(固定种子 42);断链不丢报文(缓存 + 自动补发);链路延迟逐跳实测进态势;ISL 用 BFS 动态算路体现"星上不依赖地面静态路由表"的规划方向。仿真层把 v1 的分工与容错设计完整落成可验收代码。
- 调整建议
- 调高丢包率观察重传/缓存行为,调回 0 恢复确定性;ISL 路由主表仍由地面拓扑静态生成(部分实现),后续可增强星上动态路由;真实在轨前先做目标硬件基准测试自证处理预算。
- 动手试一试
- 在 HCC 态势页把 PRIMARY 断链→恢复各来一次,同时刷新态势看待补发帧数变化;再调丢包率到 0.05 运行一键演示,对比第 4 步链路结果。
- 限制提示
- 星座/链路为仿真数据,非真实在轨;FPGA/RTOS/抗辐射芯片与 4ms 预算均为规划目标,需目标级硬件自证;当前为纯软件仿真。
故事 2
GAC:一台 Windows 机器上发起支付——生成 pacs.008、国密签名、端到端加密、星地链路发送
场景:地面接入
角色:客户端开发
代码:gac 包 + /api/v1/payments
- 背景
- 方工,GAC 客户端开发负责人。v1 规划 GAC 是"固定站/便携站 + HSM + 卫星调制解调器"的硬件终端;PoC 落地为软件版客户端(gac 包):同一台 Windows 机器上,填表单 → 生成 pacs.008 → SM3 摘要 + SM2 签名 → SM4-GCM 端到端加密 → 打包链路帧 → 经仿真网关发送 → 状态跟踪。
- 传统做法对比
- 以前航天公司跨境付款要登银行门户/网银,受银行工作时间与网络条件限制;远洋、沙漠现场连网络都没有。现在 GAC 本地生成 ISO 20022 报文,一次签名加密,链路断链时帧缓存、恢复后自动补发,支付状态机全程可见。
- 角色
- GAC 客户端开发(报文/安全/通信三组件);用户财务操作员(填表、确认、查状态)。
- 操作步骤
-
- 登录工作台,进入「GAC 报文工具」,选付款方 LS-CN-0001-BJ / 收款方 LS-FR-0003-PAR
- 填金额(元自动换算为定点分)、币种、附言,可选挂航天扩展任务编号
- 点击发起支付:生成 pacs.008 → SM3 摘要 + SM2 签名 → SM4-GCM 加密信封 → 星地链路发送至 HCC
- 在支付列表展开详情,查看 SM3 哈希 / SM2 签名 / 链路结果
- 点「模拟回执:接受(ACCP)」,状态变为 ACKED
- 系统响应
- 发起支付返回真实片段:
POST /api/v1/payments
{"code":0,"data":{"id":"GAC-CN-BJ-20260810-xxxxxx","status":"SENT",
"pacs":{"MsgID":"...","Ccy":"EUR","Amount":5000000000,
"DbtrAcct":"LS-CN-0001-BJ","CdtrAcct":"LS-FR-0003-PAR",
"Aero":{"MssnId":"LS-2026-042","SvcType":"LAUNCH","LchVhcl":"CZ-7A","TrgtOrbt":"LEO 500km"}},
"signature_hex":"<SM2签名>","hash_hex":"<SM3摘要>",
"link_result":"已送达 HCC 地面站(PRIMARY)"}}
链路离线时 link_result 变为"链路离线:帧已缓存,链路恢复后自动补发"。
- 结果洞察
- 报文本地一次生成签名加密,密钥不出进程(内存密钥对 + 仿真 PKI);断链缓存补发保证不丢;支付视图暴露 SM3 哈希 / SM2 签名 / 链路结果,可审计可排障;REST 端点可供用户 ERP 直接集成。
- 调整建议
- 高额支付后续可配置双人授权(HSM 双密钥,V2);常用收款方存模板减少录入;真实部署前先校验目标场景链路参数;离线签名与批量补发按 V3 规划推进。
- 动手试一试
- 到「报文实验室」先生成一份 pacs.008 XML,用国密签名/验签功能签一次再验一次;再到 GAC 页发起一笔真实演示支付并模拟回执,体会完整状态流转。
- 限制提示
- HSM 与卫星调制解调器为占位接口(V2);密钥为软件保护而非 HSM 硬件;离线签名是 V3 范围,当前断链仍靠缓存补发。
故事 3
HCC:总控中心的复式记账结算引擎——合规风控、借贷平衡对账、篡改拒绝一条龙
场景:总部管控
角色:运维负责人
代码:hcc + settlement 包 · 覆盖率 96.5%
- 背景
- 郑总,HCC 运维负责人。HCC 是全网大脑:用户管理、报文处理、合规风控、结算清算、态势监控、审计。PoC 中它由 hcc 包(合规/风控/对账/态势/接收)+ settlement 包(账户/复式记账/结算引擎)+ server 层(REST)构成,复用 platform 底座,所有账务在复式记账本上完成,借贷平衡可随时校验。
- 传统做法对比
- 传统跨境结算的信息流与资金流分散在多家银行,对账靠人工、审计靠翻记录。演示环境中 HCC 用复式记账(PostDouble 原子双分录:借付款方 / 贷收款方 + 手续费)、MsgID 幂等、借贷平衡断言统一管理账务,UETR 贯穿报文→结算→对账→审计。
- 角色
- HCC 运维工程师(部署/监控/密钥);结算操作员(复核异常);系统架构师(状态机与账本)。
- 操作步骤
-
- 进入「HCC 管控台」,先跑「一键端到端演示」看 10 步流水
- 切「交易」标签看结算记录(settlement_id、金额、手续费、借贷账户)与会计分录
- 切「对账」标签点「借贷平衡校验」和「生成对账报告」
- 切「风控/合规」标签跑「篡改拒绝演示」
- 查看审计事件列表(swift.demo.run / swift.payment.create 等)
- 系统响应
- 对账报告真实返回:
GET /api/v1/admin/reconciliation
{"code":0,"data":{"balanced":true,
"total_debit":"100000.00","total_credit":"100000.00",
"matched_count":5,"mismatch_count":0,"diff_list":[],
"text":"======== 内部对账报告 ========\n借贷平衡 : true\n借方总额 : 100000.00\n贷方总额 : 100000.00\n账户一致 : 5 | 不一致: 0\n---- 差异清单 ----\n(无差异)\n---- 账户日终汇总 ----\n..."}}
结算记录含 STL-000001、万二手续费 10000.00 分(100 元)与记账后余额快照。
- 结果洞察
- 幂等防重复入账(同 MsgID 终态直接返回,不重复记账);借贷平衡封闭系统断言(账户余额合计 0 + 分录借贷相抵);日终汇总可防手工改余额(Matched 标记);篡改报文被国密信封拒绝;全链路审计可回溯。
- 调整建议
- 对账后续可做 T+0 自动调度;CIPS mock 接真实银行为 V2;HCC-01 私钥已预留,可接自动接收服务(解密验签后直接进结算链路);高可用多活部署按远期规划。
- 动手试一试
- 在「HCC 管控台」五标签走一遍:演示→交易→对账→篡改→审计;重点看对账报告文本里的"期初/期内入/期内出/期末"与借贷平衡。
- 限制提示
- CIPS 外部通道为内存 mock,非真实清算;自动接收服务未接线;多活部署与告警策略规划中;制裁名单为虚构演示数据。
常见问题
三大组件各管什么?怎么分工?
SSPM(sspm 包)在"星上"做轻量处理:仿真拓扑、链路、路由、转发;GAC(gac 包)是终端:生成报文 + 国密签名加密 + 发送 + 状态跟踪;HCC(hcc + settlement 包)是总部大脑:合规、风控、结算、对账、态势、审计。原则是"能做在地面上的,决不做在卫星上"。
为什么说星上处理要 <4ms?
调研显示:星上处理延迟若超过 4ms,激光星间链路(ISL)的时延优势会衰减约 80%。所以星上只做"轻量解析 + 路由 + 加密",业务逻辑全部卸载到地面。注意 4ms 是学术推断值,需目标级硬件基准测试自证——本轮为软件仿真,未做该验证。
路由表谁算?星上还是地面?
当前实现:Router 从地面拓扑静态建路由表(DestArea → 覆盖卫星),星间路径用 BFS 在拓扑上动态算路;v1 规划的"地面集中计算时间分段路由表 + 15-30 分钟下发"留后续增强。
PoC 和真实系统的差距在哪?
仿真域:星座拓扑、链路延迟/丢包、账户余额与交易、CIPS 外部通道都是模拟;真实硬件(FPGA、抗辐射芯片、HSM、激光终端)、真实卫星与银行清算依赖重大工程,超出本轮范围。
这些组件现在能用吗?
能用,但作为仿真 PoC:端口 18084 启动后,登录 admin/admin1,可完成生成报文、发起支付、星地链路(仿真)、结算、对账、篡改拒绝演示全流程(冒烟 16/16、E2E 33/33)。不能用于真实金融业务。
授权到期会影响业务吗?
不会硬卡。Swift 带授权自检:启动立即校验 + 每 30 分钟在线校验,授权不满足时调度器按档位安排优雅关停(宽限 6h / 硬关 20min),到点只优雅退出本产品,AIP / Foundry / Apollo / Gotham 等其它产品独立授权、不受影响。部署与授权细节见《部署运维与授权自检》主题。
主题小结
一句话:Swift 架构 = SSPM(仿真星上处理:拓扑/链路/路由/网关)+ GAC(软件版终端:生成/签名/加密/发送)+ HCC(总部大脑:合规/风控/复式记账结算/对账/态势)。记住边界:星座与链路为仿真域,<4ms 预算待硬件自证,真实银行清算不在本轮范围。