- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
安全协议实验一
海南大学信息学院信息安全系专业课程
《网络安全协议》
NSSK协议实验报告
姓 名:
学 号:
学 院: 信息科学技术学院
成 绩:
任课教师: 吴汉炜
二〇一一年十二月二日计算机类课程实验报告
姓 名 主讲教师 吴汉炜 专 业 信息安全 班级 2班 学 号 实验日期 2014年10月17日 课程名称 《》Windows 7 Python-2.7.6 scyther-w32-v1.1.3 五、实验步骤(或记录)
本次实验共分四步执行:
第一步:查阅相关资料,系统地认识NSSK认证协议,分析协议的代码描述,思考、解读它的验证流程;
第二步:推敲其提供的攻击方法,总结思路;
第三步:使用软件验证协议,对产生的攻击进行流程图分析;
第四步:对比二、三步的攻击分析结果,观察异同,并思考总结其原因得出结论。
下面按照这四个步骤开始实验并详细叙述。
第一步
A, B, S : principal
Na, Nb : nonce
Kas, Kbs, Kab : key
dec : nonce - nonce
1. A - S : A, B, Na
2. S - A : {Na, B, Kab, {Kab, A}Kbs}Kas
3. A - B : {Kab,A}Kbs
4. B - A : {Nb}Kab
5. A - B : {dec(Nb)}Kab
A向服务器S发送会话请求,服务器S将A、B会话密钥发送给A,A将会话密钥发送给B,B将消息解密后用会话密钥加密随机数向A发起挑战,A将随机数减一将会话密钥发给B。最后完成了整个协议的交互,A、B可以正常作会话。
A,B,S
usertype SessionKey;
const Fresh: Function;
const Compromised: Function;
protocol needhamschroedersk(I,R,S)
{
role I //协议的发起者
{
fresh Ni: Nonce; //初始化变量以及常量
var Nr: Nonce;
var Kir: SessionKey;//会话秘钥
var T: Ticket;//票据
send_1(I,S,(I,R,Ni));//发送消息
recv_2(S,I, {Ni,R,Kir,T}k(I,S));//从S接收消息
send_3(I,R,T)//发送消息给R;
recv_4(R,I,{Nr}Kir);//从R处接收消息
send_5(I,R,{{Nr}dec}Kir);//向R用会话秘钥随机数
claim_I2(I,Secret,Kir);//三个声明和要求
claim_I3(I,Nisynch);
claim_I4(I,Empty,(Fresh,Kir));
}
role R
{
fresh Nr: Nonce;
var Kir: SessionKey;
recv_3(I,R,{Kir,I}k(R,S));//从I收到加密的会话秘钥
send_4(R,I,{Nr}Kir);//向I发送用密钥加密的随机数
recv_5(I,R,{{Nr}dec}Kir);//从R处接受加密的Nr-1
claim_R1(R,Secret,Kir);//以下是三个声明
claim_R3(R,Nisynch);
claim_R4(R,Empty,(Fresh,Kir));
}
role S
{
var Ni: Nonce;
fresh Kir: SessionKey;//分配会话秘钥
recv_1(I,S,(I,R,Ni));S接收I会话请求
send_2(S,I,{Ni,R,Kir,{Kir,I}k(R,S)}k(I,S));发送会话秘钥给I
文档评论(0)