网络综合实践报告.docx
- 文档编号:14420758
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:48
- 大小:506.73KB
网络综合实践报告.docx
《网络综合实践报告.docx》由会员分享,可在线阅读,更多相关《网络综合实践报告.docx(48页珍藏版)》请在冰点文库上搜索。
网络综合实践报告
2013/2014学年第1学期
网络综合实践周实践报告
班级:
学号:
姓名:
环节名称:
网络综合实践周
填写时间:
实验1数据加密与压缩技术实验
练习一
加密算法的应用与分析
一、实验目的:
1.了解常用的加密算法及其工具
2.掌握常用加密算法的作用。
二、实验原理:
1.对称密码体系及其优缺点
·对称密钥体系:
对称密码体系加密和解密时所用的密钥是相同的或者是类似的,即由加密密钥可以很容易地推导出解密密钥,反之亦然。
同时在一个密码系统中,我们不能假定加密算法和解密算法是保密的,因此密钥必须保密。
发送信息的通道往往是不可靠的或者不安全的,所以在对称密码系统中,必须用不同于发送信息的另外一个安全信道来发送密钥。
·对称密码体系的优点
(1)加密效率高,硬件实现可达每秒数百兆字节(软件实现略慢一些)。
(2)密钥相对比较短。
(3)可以用来构造各种密码机制。
(4)可以用来建造安全性更强的密码。
·对称密码体系的缺点
(1)通信双方都要保持密钥的秘密性。
(2)在大型网络中,每个人需持有许多密钥。
(3)为了安全,需要经常更换密钥。
2.非对称密钥加密机制及其优缺点
·非对称密钥:
非对称密钥加密也称为公开密钥加密,或者叫做公钥加密算法。
使用公开密钥密码的每一个用户都分别拥有两个密钥:
加密密钥和解密密钥,它们两者并不相同,并且由加密密钥得到解密密钥在计算机上是不可行的。
每一个用户的加密密钥都是公开的。
因此,加密密钥也称为公开密钥。
·公钥加密的优点
(1)大型网络中的每个用户需要的密钥数量少。
(2)对管理公钥的可信第三方的信任程度要求不高而且是离线的。
(3)只有私钥是保密的,而公钥只要保证它的真实性。
·公钥加密的缺点
(1)多数公钥加密比对称密钥加密的速度要慢几个数量级。
(2)公钥加密方案的密钥长度比对称加密的密钥要长。
(3)公钥加密方案没有被证明是安全的。
3.数字签名及其作用
·数字签名作用:
数字签名可以同时具有两个作用:
确认数据的来源,以及保证数据在发送的过程中未作任何修改或变动。
因此,在某些方面而言,数据签名的功能,更有些近似于整体性检测值的功能。
4.哈希函数及其特点
·哈希函数:
Hash函数常用来构造数据的短“指纹”,消息的发送者使用所有的消息产生一个短“指纹”,并将该短“指纹”与消息一起传输给接收者。
即使数据存储在不安全的地方,接收者重新计算数据的指纹,并验证指纹是否改变,就能够检测数据的完整性。
·哈希函数特点
(1)压缩性
(2)容易计算(3)抗修改性
(4)弱抗碰撞(5)强抗碰撞
三、实验步骤
1.DES工具加密文件
(1)主机A在工具栏单击【EncodeFile】,启动EncodeFile工具。
(2)主机A指定源文件(明文文件)D:
\Work\FileEncrypt\hello.txt,指定目标文件hello_en.txt,输入密钥12345678(又称会话密钥),单击“加密”按钮,生成密文文件hello_en.txt。
(3)主机A查看目标文件(密文文件)hello_en.txt的内容。
由此可以分析出:
明文文件hello.txt文件内容被加密了。
(4)主机A指定源文件(密文文件)hello_en.txt,指定目标文件(明文文件)hello_de1.txt,输入会话密钥,单击“解密”按钮,生成明文文件hello_de1.txt。
(5)主机A观察解密后的明文文件hello_de1.txt内容与源明文文件hello.txt内容的一致性。
由此可以分析出:
解密后的文件hello_de1.txt内容与源明文文件hello.txt内容一致。
(6)主机A使用错误的会话密钥解密密文文件hello_en.txt,指定目标文件(明文文件)hello_de2.txt。
(7)主机A观察使用错误的会话密钥解密后的明文文件hello_de2.txt内容与源明文文件hello.txt内容的一致性。
由此可以分析出:
使用错误的会话密钥无法正确解密出明文。
(8)主机A关闭EncodeFile工具。
2.RSA工具加密文件
(1)主机A在工具栏单击【sanpack_rsa】,启动sanpack_rsa工具。
(2)主机A选择“操作->随机设定素数并重新计算密钥”。
(3)主机A在sanpack_rsa工具的信息提示窗中可以观察到RSA算法的各种参数。
(4)主机A选择“文件->载入任意待加密文件(字节流)”,指定明文文件hello.txt
(5)主机A选择“操作->公钥加密载入的字节流”,生成密文文件hello1.hextxt。
(6)主机A查看密文文件hello1.hextxt的内容。
(7)主机A选择“文件->载入以往生成的HEX文本文件”菜单项,指定密文文件hello1.hextxt。
(8)主机A选择“操作->私钥解密载入的HEX文本”菜单项,生成明文文件hello_de3.txt。
(9)主机A观察解密后的明文文件hello_de3.txt内容与源明文文件hello.txt内容的一致性。
(10)主机A选择“操作->随机设定素数并重新计算密钥”。
(11)主机A选择“文件->载入以往生成的HEX文本文件”菜单项,指定密文文件hello1.hextxt。
(12)主机A选择“操作->私钥解密载入的HEX文本”菜单项,生成明文文件hello_de4.txt。
(13)主机A观察使用新生成的RSA私钥解密后的明文文件hello_de4.txt内容与源明文文件内容hello.txt的一致性。
3.RSA工具数字签名
(1)主机A在sanpack_rsa中选择“操作->随机设定素数并重新计算密钥”。
(2)主机A在sanpack_rsa的信息提示窗中可以观察到RSA算法的各种参数。
(3)主机A选择“文件->载入任意待加密文件(字节流)”,指定明文文件hello.txt(注:
文件内容后必须添加一个空格)。
(4)主机A选择“操作->私钥加密载入的字节流”,生成密文文件hello2.hextxt。
(5)主机A查看密文文件hello2.hextxt的内容。
(6)主机A选择“文件->载入以往生成的HEX文本文件”菜单项,指定密文文件hello2.hextxt。
(7)主机A选择“操作->公钥解密载入的HEX文本”菜单项,生成明文文件hello_de5.txt。
(8)主机A观察解密后的明文文件hello_de5.txt内容与源明文文件hello.txt内容的一致性。
(9)主机A选择“操作->随机设定素数并重新计算密钥”。
(10)主机A选择“文件->载入以往生成的HEX文本文件”菜单项,指定密文文件hello2.hextxt。
(11)主机A选择“操作->公钥解密载入的HEX文本”菜单项,生成明文文件hello_de6.txt。
(12)主机A观察使用新生成的RSA公钥解密后的明文文件hello_de6.txt内容与源明文文件hello.txt内容的一致性。
(13)主机A关闭sanpack_rsa工具。
4.EasyMD5工具计算文件摘要
(1)主机A在明文文件hello.txt上单击鼠标右键,在弹出的快捷菜单上选择“用EasyMD5计算摘要码”菜单项,在弹出的EasyMD5工具上单击“导出列表”按钮,生成明文文件hello.txt的摘要文件hello.txt.md5。
(2)主机A在hello.txt.md5文件上单击鼠标右键,在弹出的快捷菜单上选择“用EasyMD5核对摘要码”菜单项,如果核对结果显示正确标识(“正确”对号),则说明hello.txt保持了文件完整性,否则说明hello.txt的文件完整性被破坏。
(3)主机A细微修改明文文件hello.txt的内容。
(4)主机A在hello.txt.md5文件上单击鼠标右键,在弹出的快捷菜单上选择“用EasyMD5核对摘要码”菜单项,验证hello.txt的文件完整性。
(5)主机A关闭EasyMD5工具。
4、总结
了解常用的加密算法及其工具,掌握常用加密算法的作用。
练习二
密码技术在网络通信中的应用
一、实验目的:
1.掌握手动实现网络中文件安全传输的一般过程
2.学会利用常用加密工具实现文件安全传输的方法
二、实验原理:
1.手动实现信息的安全传输,发送方和接收方终端的操作过程
·终端A操作
(1)与终端B预先协商好通信过程中所使用到的对称加密算法、非对称加密算法和哈希函数;
(2)采用对称加密算法(密钥称之为会话密钥)对传输信息进行加密得到密文,确保传输信息的保密性;
(3)使用终端B的公钥对会话密钥进行加密,确保传输信息的保密性以及信息接收方的不可否认性;
(4)采用哈希函数(生成文件摘要)确保传输信息的完整性,并使用自己的私钥对文件摘要进行签名(得到数字签名),确保信息发送方的不可否认性;
(5)将密文、加密后的会话密钥和数字签名打包封装(放到一起)后,通过网络传输给终端B。
·终端B操作
(1)与终端A预先已协商好通信过程中所使用到的对称加密算法、非对称加密算法和哈希函数;
(2)使用自己的私钥对终端A加密的会话密钥进行解密,得到准会话密钥;
(3)使用准会话密钥对得到的密文进行解密,得到准明文;
(4)使用终端A的公钥对得到的数字签名进行解密,得到准明文摘要;
(5)使用哈希函数计算得到准明文摘要;
(6)将计算得到的摘要与准明文摘要进行比较,若相同则表明文件安全传输成功。
三、实验步骤
1.RSA工具密钥产生与发布
(1)主机A、主机B在工具栏单击【sanpack_rsa】,启动sanpack_rsa工具。
(2)主机A、主机B选择“操作->随机设定素数并重新计算密钥”。
(3)主机A、主机B选择“文件->保存当前公私钥”。
(4)主机A、主机B输入保存密钥的文件名称分别为“HostA_Encypt”和“HostB_Encypt”。
(5)主机A、主机B分别在系统托盘中双击【飞鸽传书】,启动飞鸽传书工具,将各自的RSA公钥文件传输对方,主机A、主机B分别将其保存在D:
\Work\FileEncrypt目录下。
2.DES工具加密文件
(1)主机A在工具栏单击【EncodeFile】,启动EncodeFile工具。
(2)主机A指定源文件hello.txt,指定目标文件hello_encypt.txt,输入密钥12345678(又称会话密钥),单击“加密”按钮,生成DES加密文件。
(3)主机A关闭EncodeFile工具。
3.RSA工具加密会话密钥
(1)主机A保存会话密钥到des_pass.txt(注:
会话密钥后应添加一空格)。
(2)主机A在sanpack_rsa中选择“文件->从文件载入公钥”,指定主机B的RSA公钥文件HostB_Encypt.rsakey_public。
(3)主机A选择“文件->载入任意待加密文件(字节流)”,指定会话密钥文件des_pass.txt。
(4)主机A选择“操作->公钥加密载入的字节流”,生成会话密钥文件的加密文件des_pass.hextxt。
4.EasyMD5工具计算文件摘要
(1)主机A在明文文件hello.txt上单击鼠标右键,在弹出的快捷菜单上选择“用EasyMD5计算摘要码”菜单项,在弹出的EasyMD5工具上单击“导出列表”按钮,生成明文文件的MD5摘要文件hello.txt.md5。
(2)主机A关闭EasyMD5工具。
5.RSA工具进行数字签名
(1)主机A在sanpack_rsa中选择“文件->从文件载入私钥”菜单项,指定主机A的RSA私钥文件HostA_Encypt.rsakey。
(2)主机A选择“文件->载入任意待加密文件(字节流)”菜单项,指定明文摘要文件hello.txt.md5。
(3)主机A选择“操作->私钥加密载入的字节流”菜单项,生成明文摘要文件的数字签名文件hello.txt.md5.hextxt。
(4)主机A关闭sanpack_rsa工具。
6.文件传输及环境准备
(1)主机A在系统托盘中双击【飞鸽传书】,启动飞鸽传书工具,将明文加密文件hello_encypt.txt、会话密钥加密文件des_pass.hextxt、数字签名文件hello.txt.md5.hextxt传给主机B,主机B将这些文件保存在D:
\Work\FileEncrypt目录下。
(2)主机B彻底删除“D:
\Work\FileEncrypt”目录下的hello.txt文件。
7.RSA工具解密会话密钥
8.DES工具解密文件
9.RSA工具数字签名验证。
10.EasyMD5工具校验文件完整性
4、总结
掌握手动实现网络中文件安全传输的一般过程,学会利用常用加密工具实现文件安全传输的方法
实验2数据库系统的安全与配置实验
练习一
数据库的安全性控制
一、实验目的:
1.理解数据库安全性的概念
2.掌握自主存取控制机制
3.熟悉MySQL的安全性技术
二、案例描述:
假设你是一名数据库管理员,现有多个用户需要使用一个数据库(employee),但每个用户的权限是不同的。
具体的要求如下:
1.创建3个用户并为每个用户分配密码。
2.用户1可对数据库employee的baseinfo表进行插入和删除操作。
3.用户2只能更新数据库employee的baseinfo表的记录信息。
4.用户3只能查看baseinfo表中的非敏感信息。
三、实验原理:
常见的数据库安全控制技术
(1)用户标识和鉴别
通过核对用户的名字或身份(ID),决定该用户对系统的使用权。
数据库系统不允许一个XX的用户对数据库进行操作。
(2)自主存取控制(DAC)
用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。
(3)强制存取控制(MAC)
每一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。
(4)视图
进行存取权限控制时我们可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内即通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(5)审计
安全审计就是在记录一切(或部分)与系统安全有关活动的基础上,对其进行分析处理、评估审查,查找系统的安全隐患,追查造成安全事故的原因,并做出进一步的处理。
(6)加密
对于高度敏感性数据,例如财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术。
四、实验步骤
1.创建用户并为每个用户设置密码。
(1)使用图形工具创建用户1和用户2。
在工具栏中单击【MySQL管理工具】,双击【root】用户,并单击【管理用户】在“管理用户”对话框中单击【添加用户】,在其对话框中输入用户名为“yh1”,主机为“localhost”(表示只能从本机连接),密码为“yh1”,单击【确定】完成用户1的添加。
在“管理用户”对话框中再次单击【添加用户】,在其对话框中输入用户名为“yh2”,主机为“%”(表示可从任何主机上连接),密码为“yh2”,如下图所示,单击【确定】完成用户2的添加。
(2)使用命令行方式创建用户3。
(a)以root的身份登录MySQL。
在工具栏中单击【MySQL命令行】,在提示符下输入“mysql-hlocalhost-uroot-pmysql”(以root用户的身份连接到本机上的MySQL,密码为mysql)
(b)创建用户yh3
在mysql>提示符下输入命令“grantusageonemployee.baseinfotoyh3@"%"identifiedby"yh3";”(该命令的意思是:
增加一个用户yh3密码为yh3,让他可以在任何主机上登录,但对表baseinfo没有任何的操作权限。
),完成对用户3的添加
(c)以用户yh3的身份登录数据库,验证yh3是否添加成功(其实在上面的grant语句的执行结果“QueryOK”已表明创建成功)。
在mysql>提示符下输入命令“quit;”退出root用户的连接。
在提示符下输入命令“mysql-hlocalhost-uyh3-pyh3”,如出现下图所示的信息表示用户yh3登录成功,从而说明用户yh3创建成功。
在mysql>提示符下输入命令“quit;”退出yh3用户的连接。
2.对用户1进行授权。
(1)为用户1授权
在“管理用户”对话框中选中“yh1@localhost”用户的“employee”数据库的“baseinfo”表,在右侧的“表特殊许可权”中选择“Select”、“Insert”和“Delete”权限,单击【保存】完成权限的添加
(2)以用户1的身份登录数据库
单击主对话框(Navicat8forMySQL)的【连接】按钮,在弹出的“连接”对话框中,填写如下图的的信息(密码是用户1的密码为yh1),单击【确定】按钮完成数据库连接操作。
在主对话框左侧的“连接”树型列表中依次双击“yh1”,双击“employee”,双击“表”,单击“baseinfo”,单击右侧的【打开表】按钮(如下图所示),从而打开了baseinfo表。
(3)验证对用户1的授权是否符合要求
(a)验证“Select”权限
能够正常打开baseinfo表,就说明yh1具有“Select”的权限。
(b)验证“Insert”权限
在打开的表中单击其下方的【
】按钮插入一条记录(其值按固定的格式随意填写),再单击【
】按钮,完成新记录的添加(如下图所示)。
单击刷新【
】按钮,查看新记录是否成功添加。
(c)验证“Delete”权限
选中上步刚添加的记录,再单击【
】按钮,在弹出的对话框中单击【确定】按钮(如下图所示),单击刷新【
】按钮,查看记录是否被成功删除。
(d)验证是否还具有其他权限(如“Update”)
修改ID值为3的记录,将其name的值由bb改为aa,单击【
】按钮,说明该用户不具有“Update”的权限。
单击刷新【
】按钮,进行记录刷新。
3.对用户2进行授权。
(1)参照用户1的添加方法,为用户2进行授权,权限是读取和更新(“Select”和“Update”),
(2)参照用户1的连接数据库的方法,以用户2的身份登录数据库。
(3)参照用户1的验证方法,验证对用户2的授权是否符合要求
4.对用户3进行授权。
(1)为用户3进行授权,权限是对表baseinfo的ID、name、department列可进行读取(“Select”),对其他列不能进行任何操作。
在提示符下输入“mysql-hlocalhost-uroot-pmysql”,以root用户的身份连接到本机上的MySQL。
在MySQL>提示符下输入命令“grantselect(ID,name,department)onemployee.baseinfoto'mailto:
yh3@"%'>yh3@"%";”,执行的结果如下图所示:
在MySQL>提示符下输入命令“quit;”,退出root的连接。
(2)验证对用户3的授权是否符合要求。
在提示符下输入“mysql-hlocalhost-uyh3-pyh3”,以yh3用户的身份连接到本机上的MySQL。
在MySQL>提示符下依次输入如下的命令:
“showdatabases;”//显示用户yh3可使用哪些数据库。
“useemployee;”//选择employee数据库。
“selectID,name,departmentfrombaseinfo;”//读取ID,name,department列的信息,这是许可的。
“selectsalaryfrombaseinfo;”//读取salary列的信息,这是不被许可的。
上述命令执行完的结果如下图所示:
在MySQL>提示符下输入命令“quit;”,退出yh3的连接。
5.回收用户1和用户2的权限。
(1)使用图形工具对用户yh1的权限进行回收。
在“管理用户”对话框中选中“yh1@localhost”用户的“employee”数据库的“baseinfo”表,在右侧的“表特殊许可权”中将选择的“Select”、“Insert”和“Delete”勾选去掉,单击【保存】按钮完成权限的回收。
(2)使用命令行方式对用户yh2的权限进行回收。
在提示符下输入“mysql-hlocalhost-uroot-pmysql”,以root用户的身份连接到本机上的MySQL。
在MySQL>提示符下输入命令“revokeselect,updateonemployee.baseinfofrom'mailto:
yh2@"%'>yh2@"%";”(执行的结果如下图所示),完成对用户yh2的权限回收。
6.关闭“管理用户”对话框、Navicat8forMySQL主窗口和mysql命令行窗口。
5、总结
理解数据库安全性的概念,掌握自主存取控制机制,熟悉MySQL的安全性技术
练习二
数据库的备份与恢复
一、实验目的:
1.掌握数据库备份的原理
2.掌握数据库恢复的原理
3.熟悉MySQL的数据库备份与恢复的实现方法
二、案例描述:
在数据库管理中数据库备份和恢复是数据库管理员的重要工作,现有一个数据库employee,要求对它进行数据库备份,并模拟在数据库出现故障时,对其进行恢复。
使用mysqldump程序对数据库employee进行备份,生成文件扩展名为sql的备份文件。
同样也可以使用数据库管理软件将原数据库备份成*.sql文件。
在数据库恢复时将备份文件导入到指定的数据库即可。
三、实验原理:
1.数据库备份及其类型
数据库的备份大致有三种类型:
冷备份、热备份和逻辑备份。
(1)冷备份
冷备份的思想是关闭数据库,在没有最终用户访问它的情况下将其备份。
(2)热备份
热备份是在数据库更新正在被写入的数据时进行。
热备份严重依赖日志文件。
(3)逻辑备份
逻辑备份使用软件技术从数据库提取数据并将结果写入一个输出文件。
2.备份的策略
备份不是实时的,备份应该什么时候做,用什么方式做,这主要取决于数据库的不同规模和不同的用途。
3.数据库恢复
恢复也称为重载或重入,是指当磁盘损坏或数据库崩溃时,通过转储或卸载的备份重新安装数据库的过程。
4.MySQL数据库备份与恢复命令
mysqldump客户端可用来转储数据库或搜集数据库进行备份或将数据转移到另一个SQL服务器(不一定是一个MySQL服务器)。
转储包含创建表和/或装载表的SQL语句。
如果你在服务器上进行备份,并且
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络综合 实践 报告