安全协议的建模与分析
1. 概述
在安全协议的研究中,我们采用基于角色的规范(Role Based Specification)结合 SPL(特定协议语言)来进行建模,并将其转化为 Petri 网进行分析。整体的流程如下:
1. 介绍基于角色的规范框架的语法和直观语义。
2. 引入基于角色的规范的 Petri 网(S - net)语义及其组合构造方法。
3. 展示如何使用基于角色的规范自动获得 KC 协议的 Petri 网表示,并分享使用现有模型检查工具的验证经验。
4. 最后给出未来工作的方向。
2. 基于 SPL 的角色规范
2.1 SPL 的语法和直观语义
我们假设存在以下可数无限且不相交的集合:
- 随机数集合 (N = {n, n’, n’‘, \cdots})(假设为数值)。
- 代理集合 (G = {A, B, \cdots})。
- 进程和密钥的索引集合 (I = {i, \cdots}),包含自然数 (N)。
同时,我们区分三个不相交的变量集合:
- 随机数变量集合 (V_N = {u, v, w, x, y, z, \cdots})。
- 代理变量集合 (V_G = {X, Y, Z, \cdots})。
- 消息变量集合 (V_M = {\Psi, \Psi’, \Psi_1, \cdots})。
SPL 的语法由以下文法定义:
g ::= A, ... | X... # 代理表达式
e ::= n,