《网络与信息安全》实验指导书.docx
- 文档编号:10327968
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:39
- 大小:1.32MB
《网络与信息安全》实验指导书.docx
《《网络与信息安全》实验指导书.docx》由会员分享,可在线阅读,更多相关《《网络与信息安全》实验指导书.docx(39页珍藏版)》请在冰豆网上搜索。
《网络与信息安全》实验指导书
LIAOCHENGUNIVERSITY
网络与信息安全
实验指导书
聊城大学计算机学院
2012年2月
目 录
《网络与信息安全》课程实验教学大纲1
第一部分实验预备知识3
第一节网络与信息安全实验的性质、任务与要求3
第二节常用设备3
第二部分网络与信息安全实验5
实验一、Playfair算法5
一、实验目的5
二、实验设备及器件5
三、预习要求5
四、实验原理5
五、实验内容和步骤5
六、实验报告5
实验二、对称密钥算法AES7
一、实验目的7
二、实验设备及器件7
三、预习要求7
四、实验原理7
五、实验内容和步骤7
六、实验报告8
实验三、公钥加密软件PGP9
一、实验目的9
二、实验设备及器件9
三、预习要求9
四、实验原理9
五、实验内容和步骤9
六、实验报告23
实验四、SHA-1杂凑算法24
一、实验目的24
二、实验设备及器件24
三、预习要求24
四、实验原理24
五、实验内容和步骤24
六、实验报告24
实验五、网络侦听及协议分析25
一、实验目的25
二、实验设备及器件25
三、预习要求25
四、实验原理25
五、实验内容和步骤25
六、实验报告25
实验六、拒绝服务攻击26
一、实验目的26
二、实验设备及器件26
三、预习要求26
四、实验原理26
子实验一SYNFlood攻击26
子实验二UDPFlood攻击26
五、实验内容和步骤27
子实验一SYNFlood攻击27
子实验二UDPFlood攻击28
六、实验报告30
《网络与信息安全》课程实验教学大纲
课程名称:
网络与信息安全
英文名称:
NetworkandInformationSecurity
设置形式:
非独立设课
课程模块:
专业核心课
实验课性质:
专业基础实验
课程编号:
课程负责人:
李凌云
大纲主撰人:
李凌云
大纲审核人:
贾仰理
一、学时、学分
课程总学时:
64
实验学时:
6
课程学分:
3
二、适用专业及年级
网络工程等本专科专业二年级
三、课程目标与基本要求
《网络与信息安全》课程为网络工程、电子商务等本专科专业的计算机基础课。
本课程实验的目标是巩固和加深课堂教学内容,培养学生的动手能力和对信息安全算法及软件的分析能力和设计能力,为后继课程的学习及今后从事实践技术工作奠定基础。
通过本课程,要求学生熟悉并掌握各种对称加密、公钥加密、数字签名和HASH函数等算法和软件的原理及实现过程,了解并能熟练使用各种信息安全系统和相关设备。
四、主要仪器设备
PC机、Windows系统、网卡等。
五、实验项目及教学安排
序号
实验项目名称
实验基本方法和内容
项目学时
项目
类型
每组
人数
教学要求
1
古典密码Playfair的分析与设计
对playfair密码算法进行完善和改进。
2
基础型
1
必修
2
对称密钥算法AES的分析与设计
通过对AES算法的C源程序代码进行修改,了解和掌握分组密码体制的运行原理和编程思想。
4
基础型
1
必修
3
公钥加密软件PGP
熟悉公开密钥密码体制,了解证书的基本原理,熟悉数字签名;
熟练使用PGP的基本操作。
2
设计型
1
必修
4
SHA-1杂凑算法的分析与设计
掌握目前普遍使用的SHA算法基本原理,了解其主要应用方法。
4
设计型
1
必修
5
网络侦听及协议分析
熟悉漏洞扫描的原理,会使用主流的漏洞扫描工具。
2
基础型
1
必修
6
拒绝服务攻击与防范
熟悉缓冲区溢出的原理,了解缓冲区溢出的防御方法。
2
基础型
1
必修
六、考核方式及成绩评定
《信息安全数学基础》为必修课。
以学生期末考试成绩作为学期总成绩,成绩采用百分制。
缺课1/3及以上者取消考试资格。
七、实验教科书、参考书
1.实验教科书
自编讲义《网络与信息安全实验》。
2.实验参考书
《网络安全实验教程》,刘建伟等编著,清华大学出版社,2007年6月。
第一部分实验预备知识
第一节网络与信息安全实验的性质、任务与要求
一、网络与信息安全实验的性质与任务
网络与信息安全是一门应用性、实践性很强的学科,实验在这一学科的研究及发展过程中起着至关重要的作用。
工程、科研人员通过实验的方法和手段,分析算法、软件和设备的原理并实现,验证和扩展其功能及使用范围,将实验结果指导理论,实现更高的安全目标。
网络与信息安全作为网络工程、电子商务等专业的重要的专业核心课,实验是这一课程体系中不可缺少的重要教学环节。
通过实验手段,使学生获得信息安全方面的基础知识和基本技能,并运用所学理论来分析和解决实际问题,提高实际工作的能力,这对正在进行本课程学习的学生来说是极其重要的。
网络与信息安全实验分为信息安全实验室网络环境建设实验、具有代表性的密码算法相关的实验、网络攻击与防御实验、操作系统安全实验、网络安全设备和应用系统实验等。
二、网络与信息安全实验的一般要求
1、实验前要求
为避免盲目性,参加实验者应对实验内容进行预习。
要明确实验的目的、要求,掌握有关信息安全实验的基本原理,拟出实验方法和步骤,设计实验表格,对思考题做出解答,初步估算(或分析)实验结果。
2、实验中的要求
(1)参加实验者要自觉遵守实验室规则。
(2)按实验方案认真实现。
(3)认真记录实验条件和所得数据,遇到问题应首先独立思考,耐心排除,并记录下解决的过程和方法。
(4)有疑问报告指导教师,等待处理。
(5)实验结束时,应将实验记录经指导教师审阅签字,清理现场。
3、实验后要求
实验后要求学生认真写好实验报告。
内容包括:
(1)列出实验条件,包括实验时间、地点及同实验人,设备等。
(2)认真整理和处理测试的数据。
(3)对测试结果进行理论分析,做出简明扼要的结论。
(4)写出实验的心得体会及改进实验的建议。
第二节常用设备
一、信息安全实验室的硬件系统包括:
●防火墙;
●网络入侵检测系统;
●虚拟专用网;
●物理隔离网卡;
●路由器;
●交换机;
●集线器。
二、信息安全实验室的软件系统包括:
●脆弱性扫描系统;
●病毒防护系统;
●身份认证系统;
●网络攻防软件;
●主机入侵检测软件;
●因特网非法外联监控软件。
第二部分网络与信息安全实验
实验一、Playfair算法
一、实验目的
通过本次实验,掌握古典密码算法的实现技术,完善和改进Playfair密码算法。
加强编程能力的训练与程序的调试能力。
二、实验设备及器件
安装Windows操作系统的PC1台,其上安装VC++6.0以上编译器。
三、预习要求
复习Playfair基本原理。
四、实验原理
Playfair是一个手工的对称加密技术,而且也是第一个文献记载的多表代替密码技术。
该密码算法是由CharlesWheatstone在1854年发明的,经LoadPlayfair推广而得名。
该算法主要描述如下:
Playfair密码是一种著名的双字母单表替代密码,实际上Playfair密码属于一种多字母替代密码,它将明文中的双字母作为一个单元对待,并将这些单元转换为密文字母组合。
替代时基于一个5×5的字母矩阵。
字母矩阵构造方法同密钥短语密码类似,即选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无重复字母的字符串,然后再将字母表中剩下的字母依次从左到右、从上往下填入矩阵中,字母i,j占同一个位置。
例如,密钥K=moonarchy,去除重复字母后,K=monarchy,可得字母矩阵:
对每一对明文字母对(P1、P2)的加密方法如下:
1、若P1、P2在同一行,密文C1、C2分别是紧靠P1、P2右端的字母;
2、若P1、P2在同一列,密文C1、C2分别是紧靠P1、P2下方的字母;
3、若P1、P2不在同一行,也不在同一列,则C1、C2是由P1、P2确定的矩形其它两角的字母,且C1和P1在同一行,C2和P2在同一行;
4、若P1=P2,则两个字母间插入一个预先约定的字母,如q,并用前述方法处理;如balloon,则以balqloon来加密;
5、若明文字母数为奇数,则在明文尾填充约定字母。
五、实验内容和步骤
1、下载并理解源代码;
2、查看密钥字母的大小写转换的实现有无问题,有的话进行改正;
3、编写解密函数(decrypt),使程序可以完成整个加解密过程;
4、举例测试加解密的正确性。
六、实验报告
1、描述Playfair的原理;
2、实现步骤2、3中代码部分;
3、将举例测试的结果截屏;
4、比较加解密的实现,谈谈你对对称密码算法的理解。
实验二、对称密钥算法AES
一、实验目的
通过对AES算法的C源程序代码进行修改,了解和掌握分组密码体制的运行原理和编程思想。
二、实验设备及器件
安装Windows、Linux或者DOS操作系统的PC1台,且其上安装有一种C语言编译环境。
三、预习要求
复习AES基本原理及数学基础。
四、实验原理
AES是1997年1月由美国国家标准和技术研究所(NIST)发布公告征集的新一代数据加密标准,以替代DES加密算法。
其基本功能为对称分组密码,分组长度为128b,密钥长度支持128b、192b、256b。
在最终的评估中,凭借各种平台实现性能的高效性,VincentRijnmen和JoanDaemen提出的Rijndael算法胜出,被确定为AES。
有关算法的详细介绍请参阅相关参考书。
五、实验内容和步骤
1、从网页上得到算法的源代码。
请读者分析代码,找出各个部分是由哪个函数实现的,并了解函数实现的具体过程。
2、选出密钥长度和分组长度均为128b,试修改上述代码,完成以下实验。
3、全0密钥扩展验证:
对于128b全零密钥,请利用KeyExpansion函数将密钥扩展的结果填入下表中。
各轮的扩展密钥
第0轮
00000000000000000000000000000000
第1轮
62636363626363636263636362636363
第2轮
第3轮
第4轮
第9轮
第10轮
4、修改程序,在下表中填写第1、第2轮的中间步骤测试向量。
LEGEND-roundr=0to10
Input:
cipherinput
Start:
stateatthestartofround[r]
S_box:
stateafters_boxsubstitution
S_row:
stateaftershiftrowtransformation
M_col:
stateaftermixcolumntransformation
K_sch:
keyachedulevalueforround[r]
Output:
cipheroutput
PLAINTEXT:
3243F6A8885A308D313198A2E0370734
KEY:
2B7E151628AED2A6ABF7158809CF4F3C
ENCRYPT:
16byteblock,16bytekey
第1、第2轮的中间步骤测试向量
R[00].input
3243F6A8885A308D313198A2E0370734
R[00].k_sch
2B7E151628AED2A6ABF7158809CF4F3C
R[01].start
193DE3BEA0F4E22B9AC68D2AE9F84808
R[01].s_box
R[01].s_row
R[01].m_col
R[01].k_sch
R[02].start
R[02].s_box
R[02].s_row
R[02].m_col
R[02].k_sch
5、修改该程序,使其可在(128,128)模式下进行文件的加解密,并对某文档进行加解密,观察解密后与原文是否相同。
如有不同,试考虑如果解决。
再用该程序加密流媒体文件,观察解密后是否能够正确完整播放。
6、(4)计算加解密的效率,并进行一定的优化使加密效率提高。
六、实验报告
2、简述AES算法每个输入分组的长度及格式。
3、简述AES算法每轮加密过程的四个步骤。
4、填写上面的表格。
实验三、公钥加密软件PGP
一、实验目的
1、熟悉公开密钥密码体制,了解证书的基本原理,熟悉数字签名;
2、熟练使用PGP的基本操作。
二、实验设备及器件
安装Windows操作系统的PC1台。
三、预习要求
复习公钥密码基本原理及数学基础。
四、实验原理
公开密钥密码体制也被称为双密钥密码体制。
其原理是加密密钥与解密密钥不同,形成一个密钥对,用其中一个密钥加密的结果,可以用另一个密钥来解密,公钥密码体制的发展是整个密码学发展史上最伟大的一次革命,它与以前的密码体制完全不同。
这是因为:
公钥密码算法基于数学问题求解的困难性,而不再是基于代替和换位方法;另外,公钥密码体制是非对称的,它使用两个独立的密钥,一个可以公开,称为公钥,另一个不能公开,称为私钥。
公开密钥密码体制的产生主要基于以下两个原因:
一是为了解决常规密钥密码体制的密钥管理与分配的问题;二是为了满足对数字签名的需求。
因此,公钥密码体制在消息的保密性、密钥分配和认证领域有着重要的意义。
在公开密钥密码体制中,公开密钥是可以公开的信息,而私有密钥是需要保密的。
加密算法E和解密算法D也都是公开的。
用公开密钥对明文加密后,仅能用与之对应的私有密钥解密,才能恢复出明文,反之亦然。
公开密钥算法用一个密钥进行加密,而用另一个不同但是有关的密钥进行解密。
这些算法有以下重要性。
仅仅知道密码算法和加密密钥而要确定解密密钥,在计算上是不可能的。
某些算法,例如RSA,还具有这样的特性:
两个相关密钥中任何一个都可以用作加密而让另外一个用作解密。
公钥密码的加密与鉴定过程,如图所示。
公开密钥加密与鉴别过程
五、实验内容和步骤
1、步骤1.PGP的安装
对PGP加密软件的安装步骤如图所示,安装完成后重启计算机,这样PGP软件就安装成功了:
2、使用PGP产生密钥
(1)因为在用户类型对话框中选择了“新用户”,在计算机启动以后,自动提示建立PGP密钥,并要求选择安装组件如图所示:
PGP组件安装界面
(2)安装选项一览如图所示:
要安装的选项对话框
(3)单击“下一步”,出现图所示对话框。
产生密钥向导
(4)单击“下一步”按钮,在用户信息对话框中输入相应的姓名和电子邮件地址,如图所示:
用户信息对话框
(5)在PGP密码输入框中输入8位以上的密码并确认,如图所示:
密码输入对话框
(6)然后PGP会自动产生PGP密钥,生成的密钥如图所示:
(7)到此为止.公钥和私钥都已经生成.为了保证私钥及公私的安全,请点击上图的密钥菜单.在弹出的下拉菜单中选择:
导出菜单.出现如下图示:
3、在本地机上对文件进行加密和解密
(1)右键单击需要加密的文件,依次选择“PGP”——“加密”
(2)选择正确的接收人,并单击“确定”
(3)文件加密成功
(4)右键单击需要加密的文件,依次选择“PGP”——“解密&校验”
(5)输入正确的密码,单击确定
(6)选择保存路径,单击“保存”,即可完成解密
4、在非本地机上对文件进行解密;
(1)右键单击右下角PGP图标,选择“PGPKeys”
(2)将公钥“pubring”拖入密钥窗口
(3)单击“确定”
(4)将新密钥拖入本机密钥窗口
(5)结果如下
(6)对加密文件进行解密
(7)解密后结果如下:
5、对邮件进行加密和解密;
(1)Outlook中新建一封邮件,输入收件人及内容后,选择“加密信息(PGP)”
(2)邮件完成加密后,如图所示,点击发送
(3)收件人接收到邮件后,点击“解密PGP信息”
(4)输入密码后,点击“确定”
(5)解密后的邮件如图
6、对文件进行加密和签名。
(1)右键单击需要加密的文件,依次选择“PGP”——“加密&签名”
(2)选择正确接收人后,单击“确定”
(3)输入密码后,单击确定
(4)文件加密成功
六、实验报告
1、什么是数据加密?
简述采用公钥密码算法进行加密和解密的基本过程。
2、PGP完成了哪些安全服务?
3、利用PGP实现对一个文件进行加密和解密的全过程,并截屏。
实验四、SHA-1杂凑算法
一、实验目的
通过本次实验,掌握目前普遍使用的SHA算法基本原理,了解其主要应用方法。
二、实验设备及器件
安装Windows操作系统的PC1台,其上安装VC++6.0以上编译器。
三、预习要求
复习SHA-1基本原理及数学基础。
四、实验原理
SHA(securehashalgorithm)算法由美国NIST开发,作为数学签名标准中使用的hash算法,并在1993年作为联邦信息处理标准公布。
在1995年公布了其改进版本SHA-1。
SHA-1将不定长输入变换为160b定长输出,作为输入数据的摘要(又称为数据指纹),反映了数据的特征。
设摘要长度为n,则对于给定输入数据,找到另一不同数据但具有相同摘要的概率为
,根据生日攻击的原理,寻找到两个数据具有相同摘要的概率为
。
hash算法被广泛用于数据完整性保护、身份认证和数字签名当中。
关于SHA-1基本原理及数学基础的介绍,请参阅相关参考书。
五、实验内容和步骤
1、从
2、构造一个长度为1KB左右的文本文件,以SHA算法对文件计算hash值。
3、在上述文本本件中修改1个字母或汉字,再次计算hash值,与步骤
(2)中hash值进行比较,看看有多少比特发生改变。
4、测试SHA算法的速度。
六、实验报告
1、简述SHA算法流程。
2、写出步骤2和步骤3中的文本文件和hash值。
3、写出所使用机器的硬件配置以及SHA的测试速度。
实验五、网络侦听及协议分析
一、实验目的
二、实验设备及器件
三、预习要求
四、实验原理
五、实验内容和步骤
六、实验报告
(以上见课本)
实验六、拒绝服务攻击
一、实验目的
在网络安全攻击的各种手段和方法中,DoS(DenialofService,拒绝服务类)攻击危害巨大,这种攻击行动使网站服务器充斥大量要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷以至于瘫痪而停止提供正常的网络服务。
而DDoS(DistributedDenialofService,分布式拒绝服务)攻击的出现无疑是一场网络的灾难,它是DoS攻击的演变和升级,是黑客手中惯用的攻击方式之一,破坏力极强,往往会带给网络致命的打击,因此必须对其进行分析和研究。
二、实验设备及器件
WindowsXP系统、Udpflood、SDos和Wireshark。
三、预习要求
复习拒接服务攻击基本原理。
四、实验原理
子实验一SYNFlood攻击
SYNFlood是当前最流行的DoS与DDoS的方式之一,这是一种利用TCP缺陷,发送大量伪造TCP连接请求,从而使得被攻击方资源耗尽的攻击方式。
这种攻击的基本原理与TCP连接建立的过程有关。
TCP和UDP不同,它是基于连接的,建立TCP连接的标准过程是这样的:
首先,请求端(客户端)发送一个包含SYN标志的TCP报文,SYN报文会致命客户端使用的端口以及TCP连接的初始序号;其次,服务器在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时TCP序号被加1,ACK即被确认;最后,客户端也返回一个确认报文ACK给服务器,同样TCP序列号被加1,到此一个TCP连接完成。
以上的链接过程在TCP中被称为三次握手。
在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或死掉,那么服务器在发生SYN+ACK应答报文后是无法收到客户端的ACK报文的,这种情况下服务器端一般会重试并等待一段时间后丢弃这个未完成的连接,这段时间的长度称为SYNTimeout,一般来说这个时间是分钟的数量级(30s~2min);一个用户出现异常导致服务器的一个线程等待1min并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接到列表而消耗非常多的资源——数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。
实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃——即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接而无暇理睬客户的正常请求,此时从正常客户的角度看来,服务器失去响应,这种情况称为服务器端受到了SYNFlood攻击。
从防御角度来说,有以下集中简单的解决方法。
第一种是缩短SYNTimeout时间,由于SYNFlood攻击的效果取决于服务器上保持的SYN连接数,这个值=SYN攻击的频度*SYNTimeout,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃该连接的时间,例如设置为20s以下,可以成倍地降低服务器的负荷。
第二种方法是设置SYNCookie,就是给每一个请求连接的IP地址分配一个Cookie,如图短时间内连续收到某个IP的重复SYN报文,就认定受到了攻击,以后从这个IP地址来的包会被丢弃。
可是上述的两种方法只能对付比较原始的SYNFlood攻击,缩短SYNTimeout时间尽在对方攻击额度不高的情况下生效,SYNCookie更依赖于对方使用真实的IP地址,如果攻击者以数万次/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,以上的方法将毫无用武之地。
子实验二UDPFlood攻击
UDPFlood攻击也是DDoS攻击的一种常见方式。
UDP是一种无连接的服务,他不需要用某个程序建立连接来传输数据。
UDPFlood攻击是通过开放的UDP端口针对相关的服务进行攻击。
UDPFlood攻击器会向被攻击主机发送大量伪造源地址的小UDP包,冲击DNS服务器或者Radius认证服务器、流媒体视频服务器,甚至导致整个网段瘫痪。
UDPFlood是日渐猖獗的流量型DoS攻击,原理也很简单。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络与信息安全 网络 信息 安全 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)