基于可信新鲜度的加密协议自动化分析
1. 安全目标与分析工具概述
在加密协议分析中,对于主体 B 而言,需要达成的安全目标包括:Belief (B, Existing(B))、Belief (B, Secret(kAB))、Belief (B, Fresh(kAB))、Belief (B, Associate(kAB, A)) 以及 Belief (B, Associate(kAB, B))。为实现这些目标,我们会用到多个工具,如 BMF 分析引擎、结果视图、规则引擎和攻击引擎等。
2. BMF 分析引擎
BMF 分析引擎是整个分析过程的核心部分,其主要工作流程如下:
- 数据准备 :将可视化 BMF 中指定的主体、消息、术语和初始假设以 Prolog 风格的语句导出到 BMF 分析引擎进行分析。同时,将与待分析协议相关的消息、术语和初始假设以 fact/3 谓词的形式存储在事实数据库中,目标则以 goal/2 谓词的形式存储在目标数据库中。
- 推理过程 :类似于 SPEAR II 中的前向链推理引擎,BMF 分析引擎会将所有推理规则应用于由协议消息、初始假设和中间结果组成的语句集合,直到生成所有可推导的语句。如果在事实数据库中存在新生成的 fact/2 谓词,会在数据库中声明 addedFacts 原子,表示在当前循环中得出了结论。接着,引擎会继续应用推理规则,直到没有新的 fact/3 谓词插入到事实数据库中。
- 结果判断 :将分析结果进行比较,以确定描述特定协议目标的一个或多个语句是否可以从给定的初始假设集合中推导出来。如果