安全协议实验三.docx

上传人:b****8 文档编号:9371581 上传时间:2023-02-04 格式:DOCX 页数:10 大小:168.60KB
下载 相关 举报
安全协议实验三.docx_第1页
第1页 / 共10页
安全协议实验三.docx_第2页
第2页 / 共10页
安全协议实验三.docx_第3页
第3页 / 共10页
安全协议实验三.docx_第4页
第4页 / 共10页
安全协议实验三.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

安全协议实验三.docx

《安全协议实验三.docx》由会员分享,可在线阅读,更多相关《安全协议实验三.docx(10页珍藏版)》请在冰豆网上搜索。

安全协议实验三.docx

安全协议实验三

 

海南大学信息学院信息安全系专业课程

《安全协议》

老版的NSPK协议验证实验报告

 

姓名:

学号:

20101616310045

学院:

信息科学技术学院

成绩:

任课教师:

吴汉炜

 

一、实验名称:

老版的NSPK(Needham-SchroederPublic-KeyProtocol)的验证。

二、实验目的:

1.加深对老版的NSPK协议的理解。

2.掌握软件分析安全协议的基本方法,认识安全协议的基本描述规则,构建完备的知识体系。

三、实验内容及要求:

分析老版的NSPK协议,并使用Scyther协议验证软件对其进行安全验证,完成详尽的报告。

1.建立对老版的NSPK协议的认识,在此基础上分析其破解途径。

2.学会使用软件验证安全协议的方法,即协议的代码描述、攻击方法的分析。

3.深入总结实验,进一步发觉安全协议更深层次的知识。

四、实验材料、工具、或软件:

MicrosoftWindowsXP;Python2.6;Scyther1.0

五、实验步骤(或记录):

本次实验共分四步执行:

第一步:

查阅相关资料,系统地认识老版的NSPK协议;

第二步:

思考该协议的验证流程,推敲其攻击破解的方法;

第三步:

分析协议的代码描述,并做出详细的解释;

第四步:

透过Scyther生成的攻击图,分析其具体的攻击流程。

下面按照这四个步骤开始实验并详细叙述:

1.认识老版的NSPK协议:

原始数据:

A与B的公钥协议

S是aserver给A和B互相分配公钥,A与B之间进行验证。

2.老版的NSPK协议攻击:

这里的缺陷是没有对S进行验证。

攻击人可以假冒S中介方身份进行攻击。

(1)原始的数据获取:

(2)新的一轮的攻击:

3分析代码描述

#Lowe'sfixedversionofNeedhamSchroederPublicKey

#

#ModelledafterthedescriptionintheSPORElibrary

#http:

//www.lsv.ens-cachan.fr/spore/nspkLowe.html

#

#

#Note:

#ThemodellinginSPOREincludesaservertodistributethepublickeys

#oftheagents,thisisnotnecessaryanditallowsforattacksagainst

#synchronisationandagreement,becausethekeysthattheserversends

#outcanbereplayed.

secretpk:

Function;#ForsomereasonSPOREmodelsitsuchthattheagents

#donotknowthepublickeysoftheotheragents

secretsk:

Function;

inversekeys(pk,sk);

protocolneedhamschroederpk-Lowe(I,R,S)

{

roleI

{

constNi:

Nonce;//定义Ni是个常量

varNr:

Nonce;//定义Nr是个变量

send_1(I,S,(I,R));//I向S发出请求,获得I的密钥和R的公钥

read_2(S,I,{pk(R),R}sk(S));//读取S用私钥发给I含有R的公钥和R的标示符

send_3(I,R,{Ni,I}pk(R));//I向R发送用R的公钥加密含有随机数Ni和I的标示符

read_6(R,I,{Ni,Nr,R}pk(I));//R向I发送用I的公钥加密含有随机数Ni(I发送的)、Nr,和R的标示符

send_7(I,R,{Nr}pk(R));//I向R发送用R的公钥加密含有随机数Nr(R发送的)

claim_I1(I,Secret,Ni);//声称I这回合随机数Ni是秘密的

claim_I2(I,Secret,Nr);//声称I这回合随机数Nr是秘密的

claim_I3(I,Nisynch);//声称I这回合结束

}

roleR(与上一个角色I同理)

{

constNr:

Nonce;

varNi:

Nonce;

read_3(I,R,{Ni,I}pk(R));

send_4(R,S,(R,I));

read_5(S,R,{pk(I),I}sk(S));

send_6(R,I,{Ni,Nr,R}pk(I));

read_7(I,R,{Nr}pk(R));

claim_R1(R,Secret,Nr);

claim_R2(R,Secret,Ni);

claim_R3(R,Nisynch);

}

roleS(同理)

{

read_1(I,S,(I,R));

send_2(S,I,{pk(R),R}sk(S));

read_4(R,S,(R,I));

send_5(S,R,{pk(I),I}sk(S));

}

}

constAlice,Bob,Simon,Eve:

Agent;//定义Alice,Bob,Simon,Eve是代理者

untrustedEve;//Eve是不受信任的

constne:

Nonce;

compromisedsk(Eve);//通过协商的Eve的私钥,即Eve是合法用户

compromisedpk(Eve);

compromisedpk(Simon);//通过协商所得的Simon的公钥

#NeededbecauseofthewaySPOREmodelsnsl

4分析攻击流程图流程

六实验总结:

本实验是通过对中间人服务器即simion不检验而产生的漏洞进行攻击。

这是老版的NSPK协议的不足之处,需要对simion身份验证进行改进,完善协议。

这与现在的NSPK协议是一种对比。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1