
44 | 第
1
章
图 1-11:样本元素 A 和 B,元素 A 上带有启动器标记
但是,如果启动器标记放在 B 而不是 A 上,你将对该模型段的潜在威胁得出不同
的结论。这种设计将反映出另一种模式,在这种模式中,可能位于防火墙后面的
日志记录器客户端需要出站与微服务通信,而不是相反的方式(参见图 1-12 )。
图 1-12:样本元素 A 和 B,元素 B 上带有启动器标记
图 1-13 中所示的符号传统上用于划分信任边界:线后的任何元素(线的曲率决
定线后和线前的元素)相互信任。基本上,它用虚线标识了一个边界,在这个
边界上所有的实体都在同一级别上受到信任。例如,你可以信任在防火墙或 VPN
后运行的所有进程。这并不意味着流是自动未经验证的。相反,信任边界意味着
在该边界内操作的对象和实体在相同的信任级别上操作(例如,Ring 0 层 )。
当你希望在建模系统过程中假定系统组件之间存在对称信任时,应该使用此符
号。在具有非对称组件信任的系统中(也就是说,组件 A 可能信任组件 B,但
组件 B 不信任组件 A),信任边界标记将是不合适的,你应该在数据流上使用注
释,其中包含描述信任关系的信息。
图 1-13:用于绘制数据流图的信任边界符号
如图 1-14 所示,有时也会使用相同的符号表示对特定数据流的安全保护方案,例
如,通过使用 HTTPS 将数据流标记为具有机密性和完整性。该符号和注释的另一种
选择是为数据流本身提供注释,这可能会导致模型中有大量组件或数据流,很混乱。