覆盖网络中节点完整性的语义认证
1. 系统组件
为实现节点完整性的语义认证,系统包含以下组件:
- 可应用测量值的数据库。
- vTPM 模块接口。
- 底层内省功能接口。
- 用于将节点连接到 VPN 的 OpenVPN 插件。
- Gnutella 代码的扩展。
认证协议用 Java 实现,认证库由约 1500 行代码的 4 个 Java 类组成,监控则需要 1000 行 Java 代码,包括一个与内省功能交互的小包装器。Gnutella 代码更新以支持认证约需 1500 行代码。
2. 实验场景
进行了两个实验:
- VPN 实验 :覆盖网络实现一个 VPN,Mon - VM 运行 VPN 客户端加入远程 Intranet,远程认证模块在 Nove 上充当 VPN 服务器。为保护 VPN 客户端的完整性,持续监控评估静态工具返回的断言。VPN 服务器经过修改以处理远程认证协议,使用 Java SSL 库和 TPM/J 访问 TPM 值并创建 VPN 连接,OpenVPN 通过插件扩展以实现远程认证。
- Gnutella 网络实验 :对 Gnutella 网络进行扩展以支持认证。
3. 远程认证模块
远程认证模块是认证协议的核心,它初始化协议并实现覆盖节点 Nove 与尝试连接到覆盖网络的节点上的 A - VMreq 之间的通信。
- 触发条件 :每次 Mon - VMreq 打开与 Nove 的连接以加入覆盖网络时