架构
策略包与设备失陷
您的规则以一个签名文件——策略包——的形式到达每个浏览器。本页说明其中包含什么、浏览器如何决定是否信任它,以及控制一台笔记本电脑的人或攻入 LayerT 的人能用它做什么、不能做什么。

本文描述截至 2026年9月19日 已实现的 LayerT。尚未实现的内容均已标注。
简单来说
当您的 IT 团队在管理控制台中发布规则时,LayerT 会将贵组织的整套规则打包成一个文件,称为策略包,并对其签名。每个 LayerT 扩展程序都内置了对应的公钥,因此浏览器能够区分真实的策略包与伪造或被篡改的策略包。任何无法通过校验的内容都会被拒绝。
为什么要签名。 策略包在互联网上传输,并存放在没有人时刻盯着的笔记本电脑上。签名意味着 LayerT 与浏览器之间的任何人都无法更改规则、添加例外或关闭执行。也没有人能把另一个组织的规则,或贵组织的旧版本,交给浏览器。
为什么会过期。 每个策略包的有效期为 7 天,LayerT 会在此之前很早就自动重新签名。过期机制可以防止一台笔记本电脑永远依赖旧规则运行:一个无人能够刷新的策略包,最终将不再被视为最新。
离线时会怎样。 无法连接 LayerT 的浏览器会继续使用其最后一个真实的策略包。在重新连接之前,新规则、新审批、已吊销的设备和紧急停止都无法送达它。如果它一直离线直到策略包过期,它不会悄悄退回到放行一切的状态。在您的阻止规则覆盖的网站上,它会阻止表单提交,并请人员重新连接。
其中永远不会包含什么。 共享账号的密码和一次性验证码从不随策略包传输。它们单独发送,每次只用于一次登录。策略包中确实包含工作邮箱地址和审批人授予的例外,因此请将其视为公司数据。
策略包里有什么
策略包是贵组织整体的一个 JSON 文档。以下是一个使用虚构数据的简化示例:
{
"bundleVersion": 57,
"issuedAt": "2026-09-18T09:00:00.000Z",
"expiresAt": "2026-09-25T09:00:00.000Z",
"tenantId": "3f1c2a9e-7b44-4d2e-9a51-0c6e1d2b8f10",
"tenantDisplayName": "Example Trading Ltd",
"killSwitch": false,
"critical_update": false,
"revoked_devices": ["b7e0c1d2-5a6f-4e3b-8c9d-1a2b3c4d5e6f"],
"classifiers": [
{ "id": "corp_email", "type": "email_domain", "value": "example-trading.test" }
],
"rules": [
{
"id": "rule_postbox_work_only",
"name": "只允许使用工作账号登录 Postbox",
"enabled": true,
"event": "form_submit",
"urlMatch": { "type": "glob", "patterns": ["https://*.postbox.example/*"] },
"selectors": [{ "css": "input[name=login]" }],
"valueMatch": { "op": "not", "operand": { "type": "matches_user_attribute", "field": "allowed_postbox_accounts" } },
"action": {
"type": "block_with_request_bypass",
"message": "请在此处使用您的 Example Trading 账号。",
"bypass": { "mode": "request_bypass", "justificationRequired": true }
},
"audit": { "include": ["url", "value"], "redact": "partial" }
}
],
"exceptions": [
{
"id": "0b9c8d7e-1111-4222-8333-944455566677",
"ruleId": "rule_postbox_work_only",
"subject": { "userId": "jc_alice_chen" },
"matchedValue": "[email protected]",
"expiresAt": "2026-10-01T00:00:00.000Z",
"grantedBy": "[email protected]",
"grantedAt": "2026-09-17T08:12:00.000Z",
"justification": "每月向 Vendor Reports 门户上传报告"
}
],
"groups": {
"grp_finance": ["user:[email protected]", "user:[email protected]"]
},
"user_attributes": {
"[email protected]": { "allowed_postbox_accounts": ["[email protected]"] },
"[email protected]": { "allowed_postbox_accounts": ["[email protected]"] }
},
"signature": "ed25519:q8Vd…(64 bytes, base64)…",
"signatureKeyId": "prod-v1"
}
逐字段说明:
| 字段 | 包含的内容 |
|---|---|
tenantId、tenantDisplayName | 贵组织的 ID(它将策略包绑定到贵组织),以及 LayerT 在提示中显示的名称 |
bundleVersion | 每生成一个新策略包就加一的编号。浏览器只接受比其已有编号更高的编号 |
issuedAt、expiresAt | 策略包的签名时间,以及它不再是最新版本的时间:7 天之后 |
rules | 每一条规则:适用范围(网站匹配模式)、监视的字段(CSS 选择器)、触发它的值、会发生什么、人员看到的消息,以及审计日志记录的内容 |
classifiers | 可供多条规则共用的命名值测试,例如“属于我们电子邮件域名的地址” |
exceptions | 每一个当前有效的已批准例外:对应的规则、人员的目录 ID、被批准的确切值、过期时间、由谁在何时批准,以及人员给出的理由 |
groups | 对于规则引用的每个目录组,其在职成员的工作邮箱地址 |
user_attributes | 每位在职人员自己的列表,例如允许其用于登录的账号 |
killSwitch | 紧急停止。开启时,浏览器不执行任何规则 |
revoked_devices | 管理员已吊销的浏览器的 ID |
critical_update | 标记一个紧急版本:紧急停止、回滚或吊销。目前扩展程序获取这些版本的速度并不更快(见下文“紧急停止与回滚”) |
gateways | 仅在您使用网关时存在 抢先体验:每个网关的名称、区域、主机名和端口。不含 IP 地址 |
signature、signatureKeyId | 针对以上全部内容的 Ed25519 签名,以及生成该签名的密钥 |
其中永远不会包含什么
- 共享账号密码、验证器设置密钥或一次性验证码。 当有人登录共享账号时,浏览器会为这一次登录单独获取一个一次性授权,并且只保存在内存中。它从不属于策略包,也从不写入磁盘。
- 登录配方。 LayerT 用于填写供应商登录表单的步骤随该授权一起传输,并单独进行签名校验。
- 设备令牌、刷新凭据或签名密钥。 策略包会注明为其签名的密钥,但从不包含任何密钥。
- 人员在浏览时输入的内容。 规则中包含的是匹配模式,而规则匹配到的内容会单独进入审计日志。策略包中唯一包含的输入值,是当前有效例外中被批准的值。
- 网关 IP 地址。
包含在内的个人信息
策略包的生命周期
发布
每一个影响浏览器执行内容的变更都会生成一个新的策略包:
- 所有者或 IT 管理员发布待处理的草稿(可选地在另一位作者审阅之后);
- 审批人授予访问权限,从而添加一个例外;
- 有人撤销一个例外,或开启、关闭一条规则;
- 所有者或 IT 管理员吊销或恢复一个浏览器;
- 所有者启用或解除紧急停止;
- 所有者或 IT 管理员执行回滚;
- 您的目录发生变化(人员加入、离开或变更所属组),由每小时任务获取。
每个新策略包都会在加锁的情况下为贵组织取下一个版本号,因此同时发生的两个变更不会生成相同的版本。签名后的文档与其内容指纹以及指向前一个版本的链接一同存储。
编译与签名
LayerT 组装策略包,然后以规范形式输出:键按顺序排列,不含签名字段,因此相同的内容总是生成相同的字节。这些字节使用 Ed25519 签名。
在生产环境中,签名私钥保存在 Google Cloud KMS 中,配置为硬件支持(HSM)保护,且无法导出。LayerT 的服务器将字节发送给 KMS,并取回签名。生产配置会拒绝使用本地密钥文件启动。此功能已构建,并将随 LayerT 的首次生产部署开启。在此之前,开发和测试构建使用本地密钥签名,而生产构建的扩展程序拒绝信任该密钥。
同一个密钥为所有组织的策略包签名。它还为另外两类内容签名:浏览器注册时所绑定的身份,以及登录配方。每一类内容都以各自的格式写出,因此一类内容无法冒充另一类。
扩展程序中可以同时内置多个公钥。为了更换签名密钥,LayerT 会先发布一个同时信任新旧两个密钥的扩展程序,等待其推送完成,然后将签名切换到新密钥,并在之后的版本中移除旧密钥。
分发
浏览器会在以下时机请求最新的策略包:
- 每 15 分钟;
- 浏览器启动时,以及扩展程序安装或更新时;
- 人员跳转到新页面时(最多每几秒一次);
- 有人在 LayerT 的选项页面上点击“立即同步”时;
- 以及页面显示“需要网络连接”卡片期间,每 30 秒一次。
它通过 HTTPS 使用自己的设备令牌发起请求,该令牌表明它属于哪个组织。请求是条件请求:如果没有任何变化,LayerT 会回复“未修改”,不会下载任何内容。LayerT 只会提供贵组织最新的策略包。
在浏览器中校验
在使用新的策略包之前,浏览器会使用自身的 Web Crypto 实现,按以下顺序进行检查:
- 版本。 必须高于已存储的版本。这可以防止旧策略包被重放。
- 组织。 必须属于该浏览器所绑定的组织。浏览器在接受第一个真实策略包时绑定到其组织。
- 密钥。 必须指明一个内置于扩展程序中的签名密钥。
- 格式。 签名必须是格式正确的 Ed25519 签名。
- 签名。 签名必须能针对规范字节通过校验。
- 有效期。 按笔记本电脑的时钟判断,必须尚未过期。
任何一项检查失败,新的策略包都会被丢弃,浏览器保留原有的策略包。只有通过所有检查的策略包才会被保存。
在设备上存储
策略包以普通 JSON 的形式保存在人员浏览器配置文件内的 Chrome 扩展程序存储中。LayerT 不对其加密:静态存储时,它由笔记本电脑的磁盘加密保护。同一存储中还保存着浏览器的注册信息(其设备令牌和刷新凭据),以及尚未发送的审计事件,其中可能包含人员输入的值。
执行
在每个页面上,LayerT 的内容脚本会向扩展程序请求与页面地址匹配的规则,然后在网站自身代码看到之前,对表单提交以及向这些规则指定字段的粘贴进行处理。例外仅适用于“阻止并允许申请”规则,并且只有当规则、人员和值全部完全匹配且例外尚未过期时才适用。规则在页面中的行为方式,请见签名策略与执行。
过期与默认阻止
一个策略包的有效期为 7 天。当剩余时间不超过 48 小时时,每小时任务会将贵组织的策略包重新签名为一个内容相同、版本更高的新版本。对于最新策略包距离过期不足 24 小时的组织,LayerT 的监控会发出标记。
如果浏览器的策略包确实过期了(因为它已经连续数天无法连接 LayerT):
- 在受阻止或强制退出登录规则覆盖的页面上,每一次表单提交,以及每一次向该规则字段的粘贴,都会被阻止,并显示一张不提供任何绕过方式的“需要网络连接”卡片;
- 警告和监视规则继续工作;
- 上一个策略包中的紧急停止和已吊销设备列表仍然有效;
- 新的策略包到达后,卡片会在大约 30 秒内自行消失。
紧急停止与回滚
紧急停止用于某条规则有误、需要立即在所有地方关闭的情况。只有所有者可以使用它。它会发布一个关闭执行的新策略包:此后所有页面都会放行,审计记录继续进行。所有者和 IT 管理员会收到通知。它只会关闭执行,不存在反过来锁定一切的开关。启用或解除紧急停止的策略包有效期为 24 小时而非 7 天,每小时任务会持续为其重新签名。
回滚会将较早版本的规则、值测试和紧急停止设置作为一个新的、更高的版本发布。它保留当前的例外(丢弃恢复后的规则不再允许的例外)、组、列表和已吊销的设备。回滚到紧急停止之前的版本会解除紧急停止,审计日志会记录这一点。由于浏览器只接受更高的版本,任何浏览器都不会倒退。
设备接管与入侵
签名和有效期保护的是网络上的策略包,并使其免受页面的影响。它们的设计目的并不是保护策略包免受已经控制笔记本电脑的人的影响,而任何在浏览器内运行的机制都做不到这一点。以下逐一说明每种情况:攻击者能做什么、不能做什么,以及如何弥补这一缺口。
读取、更改和伪造策略包
- 他们可以
- 任何能够读取该人员浏览器配置文件的人,都能以明文读取整个策略包。这包括人员本人、以其身份运行的软件、管理员,或持有未启用磁盘加密的笔记本电脑磁盘的任何人。他们可以获知每一条规则、被引用组中的电子邮件地址、每个人的允许列表,以及每一个当前有效的例外及其值、审批人和理由。同一存储中还保存着浏览器的设备凭据和尚未发送的审计事件。
- 他们不能
- 获取共享账号密码、验证器设置密钥或验证码,或签名密钥。它们都不在其中。
- 应对措施
- 由 MDM 强制执行的全盘加密(FileVault、BitLocker),以及较短的锁屏时间。访问请求的理由请保持简明。按个人划分范围的策略包尚未构建。
- 他们可以
- 能够写入配置文件中扩展程序存储的人,可以更改已存储的策略包:开启紧急停止、删除规则、添加例外、阻止真实更新替换它,或更改浏览器认为自己所属的人员。浏览器不会对读回的内容重新检查签名。能够写入那里的包括:以该人员身份运行的软件(例如在 Chrome 关闭时)、管理员,以及在允许的情况下对扩展程序使用开发者工具的任何人。
- 他们不能
- 影响任何其他笔记本电脑、更改 LayerT 服务器上的任何内容,或在控制台中批准任何事项。更改仅停留在那一个浏览器上。
- 应对措施
- 不给员工本地管理员权限。通过策略禁用扩展程序的开发者工具和 Chrome 的开发者模式。运行终端防护软件,并使用 MDM 的合规检查。在每次读取时检查已存储策略包的签名尚未构建,而且这也无法阻止管理员,因为管理员可以替换扩展程序本身。
- 他们可以
- 没有签名密钥,就做不了任何有用的事。
- 他们不能
- 让浏览器接受他们制作或修改的策略包。它无法通过签名检查;使用任何其他密钥签名的策略包都会被拒绝,因为该密钥并未内置于扩展程序中。
- 应对措施
- 无需额外措施。这正是签名的作用。
- 他们可以
- 仅限于一种狭窄的情况:如果已存储的策略包不存在(例如浏览器重新注册,或有人将其删除),并且他们控制着网络连接(例如借助管理员安装的拦截证书),他们可以投递一个贵组织在最近 7 天内生成的、真实且未过期的策略包。
- 他们不能
- 用更旧的策略包替换已存储的策略包。版本必须递增。LayerT 的服务器只会提供最新的策略包。
- 应对措施
- 不给员工本地管理员权限,并管控笔记本电脑信任哪些根证书。
- 他们不能
- 让它被接受。每个策略包的组织 ID 都在其签名范围内,浏览器会拒绝不属于自己组织的策略包。同一项检查也能阻止来自另一个 LayerT 客户的真实策略包。
- 应对措施
- 无需额外措施。
- 他们可以
- 通过将笔记本电脑的时钟调回,使过期的策略包继续被视为最新,因为有效期是按笔记本电脑的时钟判断的。
- 他们不能
- 向时钟正确的浏览器投递过期的策略包。它在到达时就会被拒绝;一旦已存储的策略包过期,阻止规则就会默认阻止。
- 应对措施
- 受管笔记本电脑不允许员工更改时钟。请保持这一设置,并保持时间同步开启。
网络与网页
- 他们可以
- 使浏览器在最多 7 天内停留在最后一个真实的策略包上,从而延迟新规则、新的吊销和紧急停止的生效。
- 他们不能
- 使策略包变得更宽松,或避免默认阻止。策略包过期后,阻止规则会在其覆盖的页面上阻止提交,直到浏览器重新连接。
- 应对措施
- 控制台的覆盖情况视图会标记 3 天内未与 LayerT 联系的浏览器。它显示的是 LayerT 最后发送给每个浏览器的版本,这并不能证明浏览器已接受该版本,因此请将沉默的浏览器视为需要跟进的对象。
- 他们可以
- 在自己的页面上运行自己的脚本,就像任何网站一样。页面内的执行本身存在一些限制,列于“局限与待完成工作”页面。
- 他们不能
- 读取或更改策略包或扩展程序的存储,或向扩展程序发送消息:扩展程序不接受来自网站的任何消息。LayerT 的内容脚本运行在页面无法访问的隔离环境中,其提示绘制在封闭的 Shadow Root 中。
- 应对措施
- 对于策略包本身,无需额外措施。
笔记本电脑上的人员和软件
- 他们可以
- 可以做到“读取和更改策略包”中的一切。它还可以复制浏览器的设备凭据,并以该浏览器的身份与 LayerT 交互:下载贵组织的策略包、发送审计事件,以及为该人员本人在该设备上的活跃共享账号会话获取登录授权。
- 他们不能
- 为其他人员或其他设备获取授权、为策略包签名,或更改控制台中的任何内容。
- 应对措施
- 终端防护、应用程序控制和 MDM 的合规检查。一旦怀疑出现这种情况,请在控制台中吊销该浏览器,并在身份提供商中停用该人员。
- 他们可以
- 可以做到以上一切,此外还能移除 Chrome 的策略、卸载或替换扩展程序、安装可读取 HTTPS 流量的证书,以及更改时钟。笔记本电脑上一个蓄意而为的管理员可以在该笔记本电脑上使 LayerT 失效。任何在浏览器内运行的控制措施都无法阻止这一点。
- 他们不能
- 触及其他笔记本电脑或 LayerT 的签名密钥。
- 应对措施
- 不给员工本地管理员权限,并使用带有防篡改保护的 MDM。这是本页最重要的控制措施。
- 他们可以
- 做该人员能做的任何事:在您的规则范围内使用其访问权限,并在没有管理员权限的情况下从其配置文件中读取策略包。
- 他们不能
- 做超出该人员权限的事,除非他们同时拥有管理员权限或能够加载修改过的扩展程序。
- 应对措施
- 在控制台中吊销该浏览器,在身份提供商中停用该人员(其例外会从下一个策略包中移除),并通过 MDM 锁定或擦除该笔记本电脑。较短的锁屏时间可以让这种情况很少发生。
- 他们不能
- 读取或更改浏览器配置文件中的任何内容。设备令牌会在一小时内失效。刷新凭据最长有效 30 天,一旦您吊销该浏览器,它就会立即失效。
- 应对措施
- 仍然要吊销该浏览器。如果没有磁盘加密,持有磁盘的人可以读取配置文件中的所有内容,包括刷新凭据,因此请及时吊销。
- 他们可以
- 在未强制安装 LayerT 的浏览器上,人员可以关闭或移除它。其他浏览器,以及您的 MDM 未管理的 Chrome 配置文件,完全不在 LayerT 的范围之内。
- 他们不能
- 通过 Chrome 的设置关闭或移除强制安装的扩展程序。
- 应对措施
- 使用 MDM 强制安装 LayerT。LayerT 的 Chrome 策略模板会强制安装并固定它,同时关闭无痕模式、访客模式和 Chrome 自带的密码管理器。用于强制安装的签名扩展程序包已构建,将随 LayerT 的首次生产版本发布。我们还建议设置 Chrome 的开发者工具和开发者模式策略,使任何人都无法加载修改过的副本。控制台的覆盖情况视图会显示 LayerT 可被关闭的浏览器、已沉默的浏览器,以及已移除 LayerT 的浏览器。
注册、吊销与 LayerT 自身
- 他们可以
- 在凭据失效之前,以该浏览器的身份与 LayerT 交互:下载组织的策略包、发送审计事件,以及为该人员本人在该设备上的活跃会话获取授权。设备令牌的有效期为一小时。刷新凭据最长有效 30 天,并且每次使用都会更换,因此副本和真实浏览器无法同时持续使用:第二个刷新的一方会被切断。
- 他们不能
- 以其他人的身份注册浏览器。浏览器所绑定的身份由 LayerT 签名,并在注册时进行检查。
- 应对措施
- 吊销该浏览器。磁盘加密可以防止凭据从被盗磁盘中泄露。
- 他们可以
- 作为一个普通浏览器继续工作。当您吊销它时,LayerT 会发布一个列出它的策略包。在下一次同步时,它会停止执行规则并停止上报。其当前的设备令牌在过期之前(一小时内)仍然有效,之后其刷新请求会被拒绝,并被取消注册。
- 他们不能
- 一旦被切断,就无法接收策略、登录共享账号或向 LayerT 上报。
- 应对措施
- 吊销会切断浏览器与 LayerT 的联系。它不会锁定浏览器,被吊销的浏览器不执行任何规则。要阻止某个人,还请在身份提供商中停用该人员,并通过 MDM 锁定或擦除该笔记本电脑。
- 他们可以
- 控制 LayerT 应用服务器的攻击者,只要保持这一访问权限,就可以请求 Cloud KMS 进行签名。他们可以为任何组织发布宽松的或恶意的策略包,而浏览器会接受它。仅掌握数据库的人可以读取每个组织的策略包(它们在数据库中未加密),并可以停止提供策略包。
- 他们不能
- 将签名密钥从 Cloud KMS 中复制出来。仅掌握数据库时,他们无法为任何内容签名;而且浏览器会拒绝旧版本,因此扣留策略包只会导致默认阻止,而不会导致回退到旧规则。
- 应对措施
- 在 LayerT 一侧:只有 LayerT 自己的服务可以使用该密钥,并且 Cloud KMS 会记录每一次签名请求。移除攻击者的访问权限即可关闭这一窗口。已被接受的策略包会一直保留,直到被替换或过期(7 天之内)。同一个密钥为所有组织签名,因此这种情况会影响所有组织。
- 他们可以
- 在生产环境中,密钥无法导出,因此这意味着如上所述通过 Cloud KMS 滥用它。如果密钥必须被更换,那么在替换密钥送达之前,任何能用它签名并投递策略包的人,都可以让任何浏览器接受该策略包。
- 他们不能
- 在 LayerT 发布了不含该密钥的扩展程序版本之后继续使用该密钥。
- 应对措施
- 更换密钥需要发布一个移除了旧密钥的新扩展程序版本。Chrome 通常会在数小时内或浏览器重启时推送更新。
您的 IT 团队应当配置什么
策略包的可信程度取决于存放它的笔记本电脑。以下是标准的设备管理控制措施,LayerT 依赖于它们:
- 由 MDM 强制执行的全盘加密,以及较短的锁屏时间。
- 不给员工本地管理员权限。
- 通过 MDM 强制安装 LayerT,并使用 LayerT 的 Chrome 策略模板。
- 通过 Chrome 策略禁用扩展程序开发者工具和开发者模式。
- 不在工作笔记本电脑上使用其他浏览器和不受管理的 Chrome 配置文件,或者接受 LayerT 看不到它们。
- 保持时钟同步,并且不由员工控制。
- 能够发现软件篡改浏览器配置文件的终端防护。
- 离职或笔记本电脑丢失的处理流程,同时完成三件事:在 LayerT 中吊销浏览器、在身份提供商中停用该人员,以及锁定或擦除笔记本电脑。
- 关注覆盖情况视图,留意已沉默或可被关闭的浏览器。
限制汇总
- 策略包在到达时检查,而不是每次读取时检查。任何能够写入浏览器配置文件中扩展程序存储的人,或拥有管理员权限的人,都可以在该笔记本电脑上使执行失效。
- 每个浏览器都保存着整个组织的策略包,包括其他人的允许列表,以及每一个当前有效的例外及其值、审批人和理由。按个人划分范围的策略包尚未构建。
- 策略包以普通 JSON 形式存储。静态存储时,只有笔记本电脑的磁盘加密对其提供保护。
- 有效期按笔记本电脑的时钟判断。
- 紧急策略包(紧急停止、回滚、吊销)与其他策略包一样,在下一次页面跳转时或 15 分钟之内送达。
- 吊销浏览器会使其停止执行和上报,但不会锁定它。
- 控制台显示的是 LayerT 最后发送给浏览器的版本,而不是浏览器已接受该版本的证明。
- 一个签名密钥为所有组织签名。更换它需要发布新的扩展程序版本。
- Cloud KMS 签名已构建,并将随 LayerT 的首次生产部署开启。目前的开发构建使用本地密钥签名。
相关内容:签名策略与执行 · 局限与待完成工作 · 设计上默认失败即关闭