FlashDesk 安全

FlashDesk 旨在安全处理远程控制所需的通信、连接批准、设备验证和运营管理。屏幕视频和控制数据按会话加密,目标端访问可通过手动批准或密码控制。

按会话加密

FlashDesk 的媒体通信和控制数据使用会话开始时生成的密钥加密。密钥交换使用 ECDH P-256,密钥派生使用 HKDF-SHA256,加密使用 AES-256-GCM。
每个数据包包含序列号和认证标签,可检测篡改和旧数据包重放。

优先 P2P,必要时中继

会话期间,视频和控制数据会尽可能在设备之间直接传输。如果网络无法直接连接,FlashDesk 会切换到中继路由,同时载荷仍保持加密。

目标端明确授权

目标端可通过手动批准或密码授权允许访问。手动批准可只允许一次连接,也可允许在选定时间内连接,限时会话会自动断开。

设备指纹验证

FlashDesk 会为每次安装创建设备身份密钥,并从公钥生成指纹。如果已信任目标的指纹变化,FlashDesk 会提醒你确认目标设备是否已变更。

信令和许可证通信

FlashDesk 使用 WebSocket over TLS (wss://) 启动连接,并使用 HTTPS 进行许可证验证等 API 通信。媒体通信在建立后由加密会话处理。

外部 TLS 证书

FlashDesk 的信令通信使用基于 HTTPS / TLS 的 WebSocket。以下公开 TLS 证书信息由服务器获取,并会在证书变更时自动更新。

目标域名
正在加载证书信息...
颁发者
正在加载证书信息...
SHA-256 指纹
正在加载证书信息...
有效期
正在加载证书信息...

暂时无法获取证书信息。

外部安全测试

FlashDesk 已使用 OWASP ZAP 对公开网站及相关 endpoints 完成安全测试。我们也已确认 Mozilla Observatory、SSL Labs 和 Security Headers 均达到 A 或更高评级。

系统权限和本地保护

FlashDesk 遵循 macOS、Linux Wayland 等系统要求的权限流程。保存的连接信息和密码会经过处理,以避免明文存储。

FlashDesk 服务器处理的数据

FlashDesk 服务器可能会在服务运行、防止滥用、支持、计费和团队管理所需范围内处理以下信息。

数据用途存储或临时说明
FlashDesk ID / 设备标识符连接启动、设备查找、许可证关联按需存储用于识别设备并路由请求。
设备 fingerprint 公开信息设备验证和 ID 绑定适用时以 hash 形式存储服务器保存 fingerprint 相关 hash,不保存私有身份密钥。
应用版本和 OS 类型兼容性、支持和运行分析随客户端状态存储或更新在适用的管理和支持场景中显示。
连接状态和路径状态连接维护、seat 控制、管理可见性会话期间临时处理;Pro 可保存选定审计记录报告时可能包含 direct、relay 或 probing 状态。
IP 地址和网络元数据服务运行、防止滥用、诊断按需存入运行记录可能包含 last seen IP、下载统计和 WebSocket 诊断元数据。
许可证 / 订阅状态许可证验证、计费、seat 管理按需存储支付卡详情由支付服务商处理,不由 FlashDesk 保存。
错误日志或运行日志支持、故障调查、防止滥用作为运行日志保存;服务器日志 30 天后自动删除WebSocket 日志会遮蔽 ssh_tunnel_data payload;其他元数据可能用于诊断记录。
Pro 用户的管理控制台活动团队管理、许可证和会话审查作为管理记录保存包含组织、用户、许可证、seat 和会话审计记录。

FlashDesk 服务器不存储的数据

在普通远程连接中,FlashDesk 服务器不存储以下信息:

  • 远程屏幕视频内容
  • 键盘输入内容
  • 鼠标操作内容
  • 文件传输内容
  • 作为 ssh_tunnel_data 处理的 SSH tunnel payload 内容
  • 录制的会话视频内容

网络端点和协议

下表汇总了管理员在部署前可能需要审查的通信。

用途协议端口主要通信目标说明
网站 / 下载HTTPS443/TCPFlashDesk 官方服务器下载页面显示官方发布文件的版本和 SHA-256 checksum。
信令WebSocket over TLS (wss://)443/TCPflashdesk.io/ws用于启动会话并交换 candidate 信息。
API / 许可证检查HTTPS443/TCPflashdesk.io/api/license/verify用于检查已注册许可证密钥和 seat 状态。
更新检查HTTPS443/TCPflashdesk.io/data/latest.json 和包路径应用定期通过 HTTPS 检查更新 manifest,从官方服务器下载更新包,并在应用前验证预期 SHA-256 hash。
STUN / P2P candidate 检查UDP3478/UDPFlashDesk 官方服务器在尝试直接 P2P 前发现可到达的网络 endpoint。
直接 P2P 连接UDP media/control path对端设备上的动态 UDP 端口对端设备网络 endpoint当 NAT/firewall 条件允许时优先使用直接连接。
Relay 连接通过 relay 路径传输的加密 media/control payload当前 desktop app 使用 40020/UDPFlashDesk relay server当设备间直接路径不可用时使用。SDK relayws 响应使用 443/TCP。

Relay 服务器行为

FlashDesk 会先尝试设备之间的直接路径。由于 NAT、防火墙、VPN 和移动网络可能阻止直接 UDP 通信,必要时会通过 relay 路径继续会话。

使用 relay routing 时,relay 服务器转发会话 packet。media/control payload 仍由每个会话的密钥加密,packet 包含用于检测篡改或旧 packet 重放的认证数据。

安装和后台行为

FlashDesk 可以在后台运行,并在设置启用时随 OS 自动启动。当前默认设置启用 OS 启动。

  • Windows: startup is managed through a user logon scheduled task named FlashDesk_Autostart, with a legacy Run-key fallback check.
  • macOS: startup is managed through a LaunchAgent plist.
  • Linux: startup is managed through XDG Autostart.

仅在功能需要时请求 OS 权限。macOS 可能需要 Screen Recording 和 Accessibility。Linux Wayland 使用 desktop portal / PipeWire。FlashDesk 会定期检查 HTTPS 更新 manifest,从官方服务器下载更新包,并在应用前验证预期 SHA-256 hash。

本地设置保存在用户应用数据文件夹的 FlashDesk/flashdesk_settings.json。本地应用日志写入 FlashDesk/logs,当前代码保留 7 天。本地屏幕录制在用户启用时保存在 FlashDesk/recording。

文件真实性和代码签名

下载页面会显示官方发布文件的版本和 SHA-256 checksum。安装前,用户可以将下载文件的 SHA-256 与页面公布值进行比较。

  • Windows: FlashDesk .exe 文件使用 Authenticode 签名。可在文件属性 > 数字签名中检查,或在 PowerShell 中运行 Get-AuthenticodeSignature .\FlashDesk.exe
  • macOS: FlashDesk .pkg 和 .app 发行包使用 Apple Developer ID 证书签名,并已由 Apple notarized。
  • Linux: 请验证 .deb、.rpm 和 AppImage 下载的公开 SHA-256 checksum。

漏洞报告

安全问题请使用联系页面,并在主题中加入 [Security]

请包含受影响版本、OS、复现步骤、可用日志和相关截图。

运营建议

建议不要在共享电脑上保存密码,删除不再需要的目标,不批准无法识别的指纹变化,并为长时间会话使用时间限制。