AVISPA入门级教程

补了一篇AVISPA工具安装和使用的教程,需要的朋友烦请移驾:https://blog.csdn.net/qq_33877253/article/details/107111450
AVISPA证明实例请参考我的另一篇博文:https://blog.csdn.net/qq_33877253/article/details/105096479
注:basic role 命名时必须得写成role_…

注:参变量首字母必须大写

注:def和=中间不能有空格

一、参与者

role role-name (类型化参数) played_by player def =
local %本地变量
const %常量
init %初始化变量
transition %转换
end role
  1. basic role
    记录模型中不同类型的角色的行动。
    (dy) : 此信道考虑了攻击模型。
    nat : 自然数
    transition: 记录事件触发的先决条件和触发后的动作。
%如
step1. State = 0 /\ RCV({Kab’}_Kas) =|>
		State’:= 2 /\ SND({Kab’}_Kbs)
%step1:transition的名字,主要用于区分不同的transition,没有实际用处
%X'表示变量X的新值
%发送的消息由Kbs加密,意味着只有拥有Kbs的对象才能收到该消息
  1. composed role
    composed role用于实例化basic roles,将多个basic roles连接在一起,组成会话。
    composed role没有transition模块,它的composition模块用于实例化basic role
%如
role session(A,B,S : agent,
Kas, Kbs : symmetric_key) def=
local SA, RA, SB, RB SS, RS: channel (dy))
composition
alice (A, B, S, Kas, SA, RA)
/\ bob (B, A, S, Kbs, SB, RB)
/\ server(S, A, B, Kas, Kbs, SS, RS)
end role
%SA A的发送器
%RA A的接收器
  1. environment
    包含多个会话,其中攻击者可能会装作是合法用户。
role environment()
def=
const a, b, s : agent,
kas, kbs, kis : symmetric_key
intruder_knowledge = {a, b, s, kis} %攻击者知道的知识
composition
session(a,b,s,kas,kbs)
/\ session(a,i,s,kas,kis)
/\ session(i,b,s,kis,kbs)
end role
% i为攻击者
  1. 执行
environment()
  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值