WinCode
Gateway

Gateway 安全模型

WinCode Gateway 的权限隔离、数据中转与传输安全。

Gateway 安全模型

Gateway 让外部设备可以访问桌面端的会话数据,因此安全模型是整个特性中最关键的一环。WinCode 在设计上遵循"最小权限 + 会话数据不落地中转 + TLS 传输"的原则。

Gateway 安全模型

权限隔离

两台设备配对后,移动端获得的权限是受限的:

  • 只能访问配对的那一台桌面端,不能横向扫描其他设备。
  • 只能访问桌面端明确授权的会话。桌面端在决定把哪些会话暴露给移动端时,有完整的控制权。
  • 不能修改桌面端的 MCP、Skill、API Key 等敏感配置。Gateway 只用于会话与消息的协同,不用于配置的跨设备同步(那是云配置同步模块的职责)。

会话数据不落地中转

云端中转服务器只负责"把消息从一台设备投递到另一台设备",本身不持久化会话内容。具体来说:

  • 中转服务器维护一张设备在线表,根据 deviceId 路由消息。
  • 会话正文在传输过程中以 TLS 加密的方式穿越公网,但不会在中转服务器的数据库里留下副本。
  • 一旦消息被对端设备确认收到,中转服务器就丢弃该条消息的缓存。

这种设计意味着,即使中转服务器被攻破,攻击者也拿不到完整的会话历史——他们只能拿到实时的、瞬态的消息流。

TLS 传输

桌面端与移动端都通过 WSS(WebSocket over TLS)与云端中转服务器通信。Tauri 后端在建立连接时会校验服务器的 TLS 证书,拒绝自签名或过期的证书。

配对码的安全性

配对码(gatewayPairToken 返回的 token)具有以下特性:

  • 一次性:生成后只能被一个移动端消费,使用后即失效。
  • 短时效:由后端指定有效期,前端在倒计时归零后自动标记过期。
  • 高熵:使用密码学安全的随机数生成器产生,难以被猜测。

配对成功后形成的 Binding 也是一个长期凭证,因此 bindingId 同样由后端以安全方式生成,并存储在两台设备各自的本地数据库里。

解除绑定

当不再需要跨设备协作时,可以通过 gatewayUnbind 解除绑定。解除后,移动端失去对该桌面端的所有访问权限,本地存储的 BindingInfo 也会被清除。

相关文档

On this page