智能加密与全链路隐私防护:快喵技术白皮书
快喵VPN 采用 AES-256-GCM 与 TLS 1.3 双层封装,在 2026 年 9 月自有测试环境中,从识别公共 WiFi 风险到完成防护升级的中位耗时为 1.4 秒,加密开销约占可用带宽的 6%。本页给出这套机制的分层依据、留存边界与核验路径。
摘要与阅读指引
本页只回答三个可核验的问题:密钥在哪里生成、数据在哪一层被封住、连接结束后还剩下什么。
三个必须先站住的问题
任何隐私方案都可以拆成三个独立命题:密钥归属、封装位置与留存边界。三者互相制约——密钥不由客户端掌握,封装再强也只是换一个中间人;封装发生在错误的层,账号密码在到达隧道之前就已经明文出网;留存边界含糊,前两项的努力会在一次合规调阅中全部作废。快喵的技术文档按这条顺序展开,也是建议的阅读顺序。
- 密钥归属 会话密钥在客户端进程内存中生成,接入层只参与协商与转发,不持有可还原明文的密钥副本。
- 封装位置 封装发生在网络层之上、应用层之下,浏览器、邮件客户端与系统更新的流量走同一条隧道。
- 留存边界 账号、设备与支付字段按最小化原则留存,访问目标域名与内容不进入业务库,详见第 04 节。
- 核验入口 每项承诺都对应一个可检查位置:审计报告、自查清单或客户端内的状态面板。
版本与数据口径
本页数据来自两条渠道:一是 2026 年 8 月至 9 月在华东、华南与新加坡三地自有测试环境中采集的客户端埋点统计,样本为 1,842 次连接会话;二是公开技术标准,包括 RFC 8446(TLS 1.3)与 NIST SP 800-38D(GCM 模式)。凡涉及具体数值的表述都标注了来源与条件,未标注的部分属于设计意图而非实测结论。
- 版本
- V3.2,2026-11-10 发布;上一版 V3.1 于 2026-08-18 发布,差异见更新记录页。
- 测试环境
- Windows 11 23H2 与 macOS 14.5 客户端,千兆家庭宽带与 4G 热点各占一半。
- 采样方式
- 按会话 ID 随机抽样 1,842 条,剔除掉线与手动断开的异常样本 63 条。
- 免责
- 数值随版本、线路与本地网络变化,本站不将其表述为对任何个体的性能承诺。
三层加密链路如何分工
同一份数据在快喵的连接中会被封装两次:一次面向站点,一次面向线路。两层解决的是不同的威胁。
把加密理解成一层是常见误解。快喵的连接里同时存在两层独立封装:靠外的一层由客户端与接入节点协商,负责把原始流量从本地网络中隐去;靠内的一层由客户端与目标站点协商,负责保证即使出口节点被完全控制,站点内容仍不可读。两层使用不同的密钥体系,任何一层被攻破都不足以还原明文。
应用层:TLS 1.3 作为第二条腿
对 HTTPS 站点而言,浏览器的 TLS 1.3 握手(RFC 8446)在 1-RTT 内完成,密钥交换使用 X25519,对称加密优先协商 AES-128-GCM 或 ChaCha20-Poly1305。这一层不由快喵替代,而是原样保留——出口节点看到的是被重新建立的 TLS 连接,而不是可读的正文。
- 证书校验 客户端证书链校验在本地完成,出口节点不参与信任判定,无法用自签证书实施中间人。
- SNI 处理 域名指示字段在隧道内传输,本地网络侧只能观察到隧道目标,无法据此列出访问清单。
- 前向保密 TLS 1.3 默认要求 (EC)DHE,会话密钥不落盘,历史流量无法用长期私钥回溯解密。
- 降级防护 客户端最低版本锁定 TLS 1.2,服务端支持 TLS 1.3 时强制走 1.3,不接受明文回退。
隧道层:AES-256-GCM 的封装细节
隧道层使用 AES-256-GCM,密钥长度 256 位,认证标签 128 位,随机数(nonce)96 位且每次会话重新生成,重复概率在统计上可以忽略。GCM 同时提供机密性与完整性:被篡改的单个字节会导致认证失败并直接丢弃该数据包,而不是解密出错误内容。
- 密钥派生 由握手阶段协商的共享秘密经 HKDF-SHA256 派生,客户端与接入层各持一份派生上下文。
- 轮换周期 单会话密钥最长存活 30 分钟,数据量达到 4 GB 或网络切换时提前轮换。
- 重放防护 接收端维护滑动窗口,窗口外的旧序列号一律丢弃,重复数据包不计入统计。
- 完整性优先 认证失败时不返回部分明文,避免把解析错误暴露为可观测的侧信道。
出口层:源地址剥离与出口约束
出口层承担两件事:把用户的真实源地址替换为节点地址,以及限制出口对目标站点的行为。节点以共享出口方式运行,同一出口地址在同一时刻服务多个会话,单独一条出站记录无法被反推到具体账号,这也是第 04 节所述无日志政策在工程上得以成立的前提之一。
| 层次 | 封装对象 | 密钥体系 | 失败时的行为 |
|---|---|---|---|
| 应用层 | 客户端与目标站点之间的正文 | 站点证书公钥 + X25519 临时密钥 | 证书异常则中断,不降级放行 |
| 隧道层 | 客户端与接入节点之间的原始数据包 | AES-256-GCM,HKDF-SHA256 派生 | 认证失败即丢包,不重传明文 |
| 出口层 | 源地址与出站会话标识 | NAT 映射表,会话级条目 | 映射失效则重建会话,不缓存旧映射 |
| 控制面 | 配置下发与节点选择 | 独立信令通道,双向证书校验 | 校验失败保留上次可用配置 |
风险识别与自动升级
公共 WiFi 的问题不是加密强度不够,而是你无法确认链路上是否存在一个悄悄替换证书的中间人。
快喵VPN 把网络环境当作可观测对象:客户端在连接前后各采集一次链路特征,命中风险要素时不需要用户判断,直接切换到更严格的防护档。2026 年 9 月的统计中,咖啡厅、酒店与校园网三类场景合计占风险命中的 78%,其中酒店网络的强制门户重定向是最常见的触发原因。
五个风险判定要素
- 证书链异常 出现自签根、证书与域名不匹配或证书在有效期内被替换,判定为中间人风险。
- DNS 响应偏离 本地 DNS 返回的地址与公共解析结果不一致,说明解析链路被改写。
- 强制门户重定向 HTTP 请求被整体劫持到登录页,常见于酒店与机场网络。
- 网关指纹变化 同一 SSID 下网关 MAC 与首次连接时不同,提示可能存在同名热点。
- 明文端口开放 局域网内 80、8080 端口存在响应,说明存在可被利用的旁路监听面。
升级动作与触发阈值
风险等级不是二值判断,而是按要素数量与严重度加权。命中单个低危要素时只收紧 DNS 与 WebRTC,命中高危要素则直接升到强制隧道加断网保护(kill switch)。阈值在客户端内可见,用户也可以在设置中调高严格度而无法调低强制档。
| 风险等级 | 触发条件 | 自动动作 | 可观察到的影响 |
|---|---|---|---|
| L1 低 | 命中 1 个低危要素 | 收紧 DNS 到隧道内解析,关闭 WebRTC 本地地址暴露 | 解析延迟增加约 12 毫秒 |
| L2 中 | 命中 2 个要素或 1 个中危要素 | 启用完整隧道 + 广告与追踪域名过滤 | 首次连接多 0.6 秒握手 |
| L3 高 | 证书链异常或 DNS 劫持 | 强制隧道 + kill switch,断线期间阻断全部明文出站 | 断网时立即断流,不回落直连 |
| L4 极端 | 同名热点 + 网关指纹变化 | 暂停自动连接,要求手动确认并记录事件摘要 | 需用户点击一次确认 |
降级与误判回退
自动升级必须可逆,否则一次误判会让用户长期处于异常状态。快喵对每种动作都设了回退条件:连续 3 次探测未再命中同一要素,且当前会话已稳定 10 分钟,才允许回退一级;kill switch 只能由用户手动解除,不参与自动回退。所有升降级事件写入本地事件日志,供用户在诊断页导出。
- 回退上限 单次会话内最多自动回退 2 次,避免在两种状态间反复抖动。
- 误判申诉 诊断页导出的事件日志包含判定要素与时间戳,可作为申诉与排查依据。
- 本地留痕 事件日志仅存于本机,默认保留 7 天,不上传、不参与任何统计。
无日志政策的技术落点
无日志不是一句声明,而是一张字段表:哪些字段必须存在才能让服务跑起来,哪些字段一旦写入就意味着承诺失效。
运行一个连接服务至少需要账号状态、额度计数与节点健康度三类信息。真正的取舍在于:这些信息能否在不需要时被丢弃,以及能否与具体访问行为解耦。快喵的做法是把必要字段限制在账号维度,并把网络行为字段排除在业务库之外。
留存与非留存字段对照
| 字段 | 是否留存 | 用途 | 保留期 |
|---|---|---|---|
| 账号邮箱 | 留存 | 登录、找回与安全通知 | 账号存续期间 |
| 设备标识(哈希) | 留存 | 同时在线数限制与异常登录识别 | 设备解绑后 30 天 |
| 流量计数(字节) | 留存 | 套餐额度结算 | 账单周期结束后 90 天 |
| 访问目标域名 | 不留存 | —— | —— |
| 访问内容与 DNS 查询 | 不留存 | —— | —— |
| 源 IP 与出口映射 | 不留存 | 仅会话内存中维持,断开即释放 | 会话存续期间 |
| 支付凭证 | 不留存 | 由第三方支付机构处理,本站仅保存订单号 | 按支付机构规则 |
一次连接的日志边界
把上面的事件按时间排列,可以看到断开的瞬间发生了什么:映射表条目被删除,会话密钥随进程退出而失效,只有字节计数与在线状态被写入。这也是审计报告中可复核的关键点——审计方在受控环境下建立连接、抓取业务库写入,再核对写入内容是否与字段表一致。
- 鉴权服务端校验账号凭据与同时在线数,签发短期会话令牌,令牌本身不进入业务库。
- 建链协商密钥并建立 NAT 映射,映射只存在于节点内存,不落盘。
- 传输仅累加字节计数用于额度结算,不记录目标地址、端口或协议类型。
- 断开释放映射与密钥,写入一条无内容的断开事件,用于健康度统计。
合规对照:口径与实现的差异
同一句宣传语在不同厂商那里的实现可能相差很远。以下三行对照说明快喵选择的口径与理由。
行业内常见的三类表述最容易产生歧义:无日志、军事级加密、不记录 IP。它们本身没有统一的判定标准,因此本文给出可核验的替代口径——把承诺折算成字段行为与可检查位置,读者可以据此自行核对,而不必依赖形容词。
三处常见口径的差异
| 常见表述 | 快喵的实现口径 | 可核验位置 |
|---|---|---|
| 无日志 | 账号维度最小字段留存,访问目标与内容不写入;字段表逐项公开 | 无日志政策页的表 3 与审计报告第 3 节 |
| 高强度加密 | 隧道层 AES-256-GCM,应用层保留 TLS 1.3;不使用自研加密算法 | 加密算法页的算法参数表 |
| 不记录 IP | 源 IP 仅在会话内存中维持 NAT 映射,断开即释放;不做长期存档 | 审计报告的受控连接复核记录 |
| 不限制设备 | 按套餐区分同时在线设备数,超出时提示而非静默降速 | 常见问题页的设备条款 |
| 智能防护 | 按风险要素分级自动升级,动作与阈值公开,可手动调严不可调松 | 本页第 03 节的风险等级表 |
本页不宣称任何第三方认证、奖项或评测排名。文中出现的认证仅指技术标准编号(RFC 8446、NIST SP 800-38D),属于公开规范引用,不构成资质背书。
读者可以自行验证的三件事
- 抓包核对 在同一台机器上用系统自带工具抓包,确认访问目标是否以明文形式出现在链路上。
- 断网核对 打开 kill switch 后断网,确认是否仍有明文出站;这是最容易暴露设计缺陷的一步。
- 解绑核对 解绑设备后重新登录,观察是否被要求重新完成验证,用以判断设备标识的实际留存方式。
- 字段核对 对照本页表 3 与实际可观察行为,确认访问目标域名确实没有出现在任何可导出记录中。
核验路径与时间轴
承诺只有在被反复检查之后才具备分量。以下四个节点组成了快喵的公开核验节奏。
快喵把核验拆成四条并行的工作线:字段评审、受控连接复核、风险库更新与客户端回归测试。每条线都有固定的输出物,其中字段评审与受控连接复核的结果会以报告形式发布,风险库更新与回归测试结果进入更新记录页。
核验节奏与输出物
四条工作线的节奏不同:字段评审随需求触发,受控连接复核按版本执行,风险库更新按周滚动,客户端回归测试绑定发布。把它们放在同一张表里,是为了让读者知道每个结论的有效期,而不是把它们混成一个笼统的承诺。
| 工作线 | 触发条件 | 频率 | 输出物 | 公开程度 |
|---|---|---|---|---|
| 字段评审 | 新增或变更留存字段 | 按需求,粗略为每季度 1 至 2 次 | 字段变更记录与用途说明 | 进入无日志政策页字段表 |
| 受控连接复核 | 版本发布或字段表变更 | 每次发布 1 次,单次 200 个连接 | 复核报告与偏差清单 | 报告摘要对外发布 |
| 风险库更新 | 新型劫持手法或场景反馈 | 每周 1 次,含 12 项要素 | 要素版本号与生效日期 | 进入更新记录页 |
| 客户端回归测试 | 每次构建 | 每个版本覆盖 6 个平台组合 | 通过率与已知问题列表 | 已知问题对外说明 |
四个可自查的节点
- 字段评审机制建立建立留存字段清单与变更评审流程,任何新增字段必须说明用途与保留期,未通过评审不得上线。
- 受控连接复核首次公开在隔离环境内建立 200 次连接并抓取业务库写入,核对结果与字段表一致,报告对外发布。
- V3.1 风险分级上线将风险判定从二值改为四级,加入同名热点与网关指纹变化两项要素。
- V3.2 与本次文档修订补充出口层约束说明,新增设备解绑后的标识保留期说明,同步更新字段表。
审计报告怎么读
- 先看范围 报告第 2 节写明审计覆盖的模块与版本,未覆盖部分会被单独列出,不要跳过这一节。
- 再看方法 受控连接复核属于黑盒验证,能证明写入行为,不能证明未来版本不会改变。
- 最后看发现 报告列出的是偏差项与整改状态,没有偏差项的报告通常意味着范围过窄。
- 注意时限 所有结论都对应一个具体版本与日期,跨版本引用需要自行核对差异。
章节索引与引用方式
本白皮书共 8 个章节页,可单独引用;引用时请保留版本号与日期,以便读者核对差异。
章节索引
下表的每一行对应一个独立页面,页面之间按主题而非按流程串联。若只需要结论,可以只读安全架构页的对照表;若需要做技术评估,建议按加密算法、无日志政策、审计报告的顺序阅读,最后用常见问题页核对边界条件。
- 安全架构 整体分层、数据流与控制面设计,含信任边界示意图。
- 加密算法 AES-256-GCM 参数、密钥派生与轮换规则,附算法参数表。
- 无日志政策 字段级留存边界、断开流程与例外情形。
- 公共WiFi防护 风险要素采集、分级动作与校园网酒店网场景差异。
- 审计报告 核验范围、方法、发现与整改状态。
- 更新记录 按日期排列的版本变更与风险库更新。
- 常见问题 边界条件、误判处理与套餐条款。
- 公司与联系 主体信息、联系方式与内容署名规则。
引用与转载
本页内容允许在保留出处与日期的前提下引用。引用数值时请同时保留测试条件(版本、环境、样本量),单独摘出数字会失真。若发现文中表述与最新版本不符,可通过安全邮箱指出,我们会在下一个版本中更正并在更新记录中留痕。
本文由快喵内容团队撰写,技术细节经工程侧复核。所有实测数值来自自有环境,测试脚本与采样口径在更新记录页有说明,不接受以本文作为第三方评测结论的引用。
附录:术语与参数
本节把前七节反复出现的术语与参数集中列出,便于交叉比对。术语定义只覆盖本文口径,不引用第三方释义。
术语表
- 会话密钥
- 单次连接有效期内使用的对称密钥,由握手协商结果派生,连接结束即失效,不做持久化。
- 前向保密
- 长期私钥泄露也不会导致历史流量被解密的性质,TLS 1.3 默认通过临时密钥交换提供。
- 认证标签
- GCM 模式输出的 128 位完整性校验值,用于判定数据包是否被篡改,校验失败即丢包。
- NAT 映射
- 把用户源地址替换为节点地址的会话级表项,只存在于节点内存,随会话结束释放。
- kill switch
- 断线时阻断全部明文出站的保护机制,一旦触发只能由用户手动解除。
- 同名热点
- 与已知网络使用相同 SSID 但网关指纹不同的接入点,是中间人劫持的常见入口。
- 风险要素
- 本文第 03 节列出的五项可观测特征,客户端据此计算风险等级。
- 字段表
- 第 04 节给出的留存边界清单,逐项标注是否留存、用途与保留期。
- 受控连接复核
- 在隔离环境中建立连接并抓取业务库写入,核对是否与字段表一致的验证方法。
- 口径
- 本文对某项能力的可核验表述方式,用于替代无法证伪的形容词。
参数汇总
下表汇总本文出现的全部技术参数,均可在对应章节找到上下文。单独引用某个参数时会失去其适用条件,例如轮换周期与数据量阈值是并列触发关系,二者取先到者。
| 参数 | 取值 | 触发或适用条件 | 所在章节 | 可否在客户端调整 |
|---|---|---|---|---|
| 隧道对称算法 | AES-256-GCM,标签 128 位 | 全部隧道流量 | 第 02 节 | 否 |
| 随机数长度 | 96 位,每次会话重新生成 | 每个加密会话 | 第 02 节 | 否 |
| 密钥轮换 | 30 分钟或 4 GB,先到者触发 | 持续传输的会话 | 第 02 节 | 否 |
| 握手协议 | TLS 1.3,最低允许 1.2 | 面向目标站点的连接 | 第 02 节 | 否 |
| 风险探测间隔 | 连接前 1 次,连接中每 10 分钟 1 次 | 前台运行且已连接 | 第 03 节 | 是(仅可调密) |
| 回退观察窗 | 连续 3 次未命中且稳定 10 分钟 | 自动降级场景 | 第 03 节 | 否 |
| 事件日志保留 | 本机 7 天,上限 2 MB | 开启诊断时 | 第 03 节 | 是 |
三处常见误读
- 把加密等同匿名 加密解决的是链路可读性,不改变站点侧的账号身份。退出登录与清理 Cookie 仍由用户自行负责。
- 把无日志等同零数据 计费与并发控制必然需要少量字段,本文给出的是边界而非零值,读者应据此判断可接受度。
- 把一次测试当结论 单个环境、单次采样的结果只对应一组条件,跨版本或跨网络引用前需要重新核对。
- 把审计当保险 审计结论对应具体版本范围,未覆盖模块不计入,读报告时应先看范围再看结论。
本节参数取自客户端 V3.2 默认配置,可调项仅指界面上可修改的开关,不含隐藏参数。若实际行为与本表不符,请以客户端状态面板显示为准并通过安全邮箱反馈。