广工网络安全实验_第1页
广工网络安全实验_第2页
广工网络安全实验_第3页
广工网络安全实验_第4页
广工网络安全实验_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实 验 报 告 课程名称_网络安全 _学生学院_计算机学院_专业班级 学 号_ _学生姓名_指导教师 _2015 年 07 月 04 日实验一 网络安全综合案例一、实验目的1在PacketTracer下模拟高校校园网组网实例的实现;2通过高校校园网组网实例的学习对网络安全的知识进行全面的总结。二、实验内容在PacketTracer下模拟高校校园网组网,为所有设备配置正确的IP地址,划分VLAN,配置动态路由协议RIP,配置ACL,配置NAT。三、实验工具PC机,Windows,PacketTracer软件四、实验步骤与分析1网络拓扑结构图 图1 某高校校园网拓扑图 2. 要求:n

2、在全网所有设备上按要求配置正确的IP地址n 将全网中的服务器和PC划分到各自要求的VLAN中n 配置动态路由协议RIP实现全网互通n 配置ACL禁止PC3访问除Web Server外的其它服务器或PCn 配置NAT实现PC3访问Web Server3. 具体配置:n 配置二层交换机2811-A(软件没有的话,可选2960-24TT):2811-A(config)#vlan 302811-A(config-vlan)#vlan 402811-A(config-vlan)#interface fastethernet 0/22811-A(config-if)#switchport access v

3、lan 302811-A(config)#interface fastethernet 0/32811-A(config-if)#switchport access vlan 402811-A#show vlann 配置三层交换机3560-24PS-A:3560-24PS-A(config)#vlan 103560-24PS-A(config-vlan)#vlan 203560-24PS-A(config)#interface fastethernet 0/33560-24PS-A(config-if)#switchport access vlan 10 3560-24PS-A(config-

4、if)#interface fastethernet 0/43560-24PS-A(config-if)#switchport access vlan 203560-24PS-A(config-if)#interface fastethernet 0/53560-24PS-A(config-if)#switchport access vlan 203560-24PS-A(config-if)#interface fastethernet 0/63560-24PS-A(config-if)#switchport access vlan 203560-24PS-A#show vlan3560-24

5、PS-A(config)#interface vlan 103560-24PS-A(config-if)#ip address 193.1.1.1 255.255.255.03560-24PS-A(config-if)#inter vlan 203560-24PS-A(config-if)#ip address 193.1.2.1 255.255.255.03560-24PS-A(config)#vlan 303560-24PS-A(config-vlan)#vlan 403560-24PS-A(config)#interface vlan 303560-24PS-A(config-if)#i

6、p address 194.1.1.1 255.255.255.03560-24PS-A(config-if)#inter vlan 403560-24PS-A(config-if)#ip address 194.1.2.1 255.255.255.03560-24PS-A(config)#interface fastethernet 0/23560-24PS-A(config-if)#switchport mode trunk测试:目前为止,实现了三层交换机上连接的服务器和二层交换机上连接的PC的互相ping通。n 配置三层交换机3560-24PS-A: 3560-24PS-A(config

7、)#vlan 50 3560-24PS-A(config-if)#interface fastethernet 0/1 3560-24PS-A(config-if)#switchport access vlan 50 3560-24PS-A(config-if)#interface vlan 50 3560-24PS-A(config-if)#ip address 200.1.1.1 255.255.255.0n 配置路由器Router-PT-A:Router-PT-A(config)#interface fastethernet 0/0Router-PT-A(config-if)#ip ad

8、dress 200.1.1.2 255.255.255.0Router-PT-A(config-if)#no shutdownRouter-PT-A(config-if)#interface serial 2/0Router-PT-A(config-if)#ip address 201.1.1.1 255.255.255.0Router-PT-A(config-if)#no shutdownn 配置路由器Router-PT-B:Router-PT-B(config)#interface serial 2/0Router-PT-B(config-if)#ip address 201.1.1.2

9、255.255.255.0Router-PT-B(config-if)#clock rate 64000Router-PT-B(config-if)#no shutdownRouter-PT-B(config-if)#interface fastethernet 0/0Router-PT-B(config-if)#ip address 202.1.1.1 255.255.255.0Router-PT-B(config-if)#no shutdownn 配置三层交换机3560-24PS-A:3560-24PS-A(config)#router rip3560-24PS-A(config-rout

10、er)#network 200.1.1.03560-24PS-A(config-router)#network 193.1.1.03560-24PS-A(config-router)#network 193.1.2.03560-24PS-A(config-router)#network 194.1.1.03560-24PS-A(config-router)#network 194.1.2.0n 配置路由器Router-PT-A:Router-PT-A(config)#router ripRouter-PT-A(config-router)#200.1.1.0Router-PT-A(config

11、-router)#201.1.1.0n 配置路由器Router-PT-B:Router-PT-B(config)#router ripRouter-PT-B(config-router)#201.1.1.0Router-PT-B(config-router)#202.1.1.0测试: 分别查看三层交换机和两路由器的路由信息,此时全网已经互通。n 配置路由器Router-PT-A:Router-PT-A(config)#ip access-list standard acl1Router-PT-A(config-std-nacl)#permit 193.1.1.2 0.0.0.255Router

12、-PT-A(config-std-nacl)#interface fastethernet 0/0Router-PT-A(config-if)#ip access-group acl1 in测试: 目前为止,PC3只能ping通服务器Web Server,此时可通过PC3的WEB浏览器访问服务器Web Server。n 配置路由器Router-PT-A:Router-PT-A(config)#interface serial 2/0Router-PT-A(config-if)#ip nat outsideRouter-PT-A(config-if)#interface fastethernet

13、 0/0Router-PT-A(config-if)#ip nat insideRouter-PT-A(config-if)#ip nat inside source static 193.1.1.2 201.1.1.3Router-PT-A#show ip nat translations测试:此时在PC3的WEB浏览器中输入201.1.1.3可访问服务器Web Server,但是在PC3的WEB浏览器中输入193.1.1.2则不可访问服务器Web Server;用PC3去ping服务器Web Server,返回的ip是201.1.1.3五、实验报告要求把以上实验步骤和测试结果截图,并分析实

14、验收获和心得。目前为止,实现了三层交换机上连接的服务器和二层交换机上连接的PC的互相ping通。分别查看三层交换机和两路由器的路由信息,此时全网已经互通。目前为止,PC3只能ping通服务器Web Server,此时可通过PC3的WEB浏览器访问服务器Web Server。此时在PC3的WEB浏览器中输入201.1.1.3可访问服务器Web Server,但是在PC3的WEB浏览器中输入193.1.1.2则不可访问服务器Web Server;用PC3去ping服务器Web Server,返回的ip是201.1.1.3实验二 认证系统的设计与实现一、实验目的及任务1、掌握关系数据库系统的基础知识

15、和基本原理。2、掌握一种关系数据库管理系统,如:SQL Server,MySQL3、掌握一种软件开发工具4、掌握计算机网络基础知识及网络数据传输协议:TCP/IP5、能应用开发工具进行Windows Socket编写程序6、掌握一种对称加密算法原理,如:DES,用此算法对数据进行加解密,并能编写程序实现7、掌握一种非对称加密算法原理,如:RSA,用此算法对数据进行加解密,并能编程程序实现8、掌握客户/服务器模式的工作原理9、编程实现认证系统,调试所编程序10、观察程序运行结果二、实验环境1、客户机(普通PC机,安装VC或VB等开发工具) 2、服务器(普通PC机,安装VC或VB等开发工具, 关系

16、数据库管理系统,如SQL Server) 三、实验原理随着Internet的飞速发展,网络安全的地位日益突出。网络的安全措施应是能全方位地针对各种不同的威胁,这样才能确保网络信息的保密性、完整性和可用性。作为安全服务中的一种-实体认证尤为重要。在一个公开的分布式网络环境中,工作站上的用户希望访问分布在网络上的服务器资源。但网络上的资源仅允许授权用户的特定权限的访问,因此,在分布式网络中,必须提供一种机制来对用户的身份进行认证。现在常用的一些认证协议是为TCP/IP网络设计的基于Client/Server模式的三方验证协议,广泛应用于Internet服务的访问,网络中的认证协议服务起着可信仲裁者

17、的作用。认证协议基于对称密码体制或非对称密码体制, 可提供安全的客体认证。用户在客户机上登录,在登录界面上,输入用户名User和密码Password,用户名以正常字符显示,密码以星号显示,为了防止密码在网上传输被窃听者获取,用户输入的密码在客户机上加密Ek(Password),所以在网上传输的是经过加密的用户密码Ek(Password)。由于偷听者不知密钥K,所以即使都到信息Ek(Password),也得不到用户的密码Password服务器接收客户机传输过来的信息,提取用户名User密文Ek(Password),在服务器端对密文解密,Dk(Ek(Password)))= Password,得到

18、用户的密码Password。管理员在服务器数据库中,读出库中存贮的用户名与密码,与接收来的用户名与密码相比较,如果相等,则为合法用户,如果不相等,则为非法用户。流程图如下:(1)基于对称密码体制 客户机端 网络传输 服务器端 Password PasswordDEE K EK(Password) K (a) 常规加密:保密和鉴别(2) 基于公钥密码体制 客户机端 网络传输 服务器端 Password PasswordDEE KUb EKUb(Password) KRb (b) 公开密钥加密:保密性此实验只是认识协议的简单模拟,实际应用的网络安全认证协议比此复杂的多,特此说明。四、实验步骤客户机

19、端:(一):编写程序,实现用户登录界面。(二):编写程序,实现对用户密码的加密 (以下两种算法均要完成,在界面上提供选项供用户选择) 1:选用对称密码算法,如DES假定明文m和密钥k都是64比特的0,1符号串。设m=m1m2m64k=k1k2k64mi,ki=0或1,i=1,2,64加密过程表达如下:DES(m)=IP-1·T16·T15·T2·T1·IP(m)迭代循环次数为16轮,其中T是每轮迭代。 2:选用非对称密码算法,如RSA使用RSA有三个阶段。(1)、RSA阶段1:确定公钥和私钥1)选择两个大素数,P和Q。 2)计算N = P *

20、Q。3)计算f(n) = (P - 1)(Q 1)。4)选择 e,其中 1 < e < n-1 且 GCD (e, f(n) = 1。5)计算d,其中 ed = 1 mod f(n) (使用扩展的欧几里德算法) 6) (e,n)作为公钥,(d,n)作为私钥。(2)、RSA阶段2:加密信息 为了使用RSA加密消息M,你必须进行下列加密运算:C=Memod n,其中C 是你的密文,发送C。(3)、RSA阶段3:解密信息为了使用RSA解密密文C,你必须进行下列解密运算为:M=Cdmod n ,其中M是你的原始明文。(三):编写客户端网络传输程序实现数据包的传输:Windows Socke

21、t编程。(四):服务器端程序(1):管理员在服务器端建立数据库,存贮用户的用户名User和密码Password,现实中用户都是现场输入。(2):编写程序,实现对用户密码的解密(3):编写程序,从数据库从读出用户名User和密码Password(4):比较用户输入的密码与数据库中存贮的密码是否相等,如相等,是合法用户,不相等,为非法用户。(5):以上所有操作均在可视化界面下操作1 系统概要 本系统主要是实现密码的验证功能,客户端加密发送信息给服务器,服务器解密验证密码并返回验证结果。主要使用到知识有RSA的加密解密、DES的加密解密、数据库查询、TCP套接字网络应用编程。2 实验环境操

22、作系统:Microsoft Windows 8.1运行环境:Java SE Development Kit 8u45编程软件:Eclipse Luna For Java3 通信规范的制定 (1). 客户端接收用户输入的用户名和密码并对密码进行加密,然后把用户名、密钥(RSA中为公钥,DES中为生成密钥的参数)和密文打包发送给服务器。(2). 服务器接收客户端传送来的用户名、密钥(RSA中为公钥,DES中为生成密钥的参数)和密文,根据用户名读取数据库中的密码,根据密钥对密文解密获得用户输入的密码,对比两密码是否相同,然后返回密码检验结果。(3). 客户端接收服务器的返回信息,提示用户登

23、录结果。通信流程图开始输入用户名和密码,选择算法点击登录检查输入框和算法是否为空开始等待客接收户端信息分解接收到的信息根据用户名获取数据库中的密码,用户不存在则返回nullRSA根据密文和公钥解密,获取输入的密码;DES根据strKey获取密钥,然后通过密钥解密把密码加密把用户名、密文和公钥(DES中的为strKey)打包发送到服务器判断两个密码是否相等给客户端发送登录成功的信息给客户端发送登录失败的信息显示从服务器收到的信息,表示登录结果结束等待服务器返回信息是是否否4 算法设计和实现1233.1 客户机3.1.1 RSA生成密码对public static Map<String, O

24、bject> genKeyPair() throws Exception KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance(KEY_ALGORITHM); keyPairGen.initialize(1024); KeyPair keyPair = keyPairGen.generateKeyPair(); RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); RSAPrivateKey privateKey = (RSAPrivateKey) keyP

25、air.getPrivate(); Map<String, Object> keyMap = new HashMap<String, Object>(2); keyMap.put(PUBLIC_KEY, publicKey); keyMap.put(PRIVATE_KEY, privateKey); return keyMap; 3.1.2 RSA私钥加密算法public static byte encryptByPrivateKey(byte data, String privateKey) throws Exception byte keyBytes = Base6

26、4Utils.decode(privateKey); PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); Key privateK = keyFactory.generatePrivate(pkcs8KeySpec); Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm(); cipher.init(Cipher.EN

27、CRYPT_MODE, privateK); int inputLen = data.length; ByteArrayOutputStream out = new ByteArrayOutputStream(); int offSet = 0; byte cache; int i = 0; / 对数据分段加密 while (inputLen - offSet > 0) if (inputLen - offSet > MAX_ENCRYPT_BLOCK) cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK); else ca

28、che = cipher.doFinal(data, offSet, inputLen - offSet); out.write(cache, 0, cache.length); i+; offSet = i * MAX_ENCRYPT_BLOCK; byte encryptedData = out.toByteArray(); out.close(); return encryptedData; 3.1.3 DES加密public String encryptStr(String strMing) byte byteMi = null ; byte byteMing = null ; Str

29、ing strMi = "" ; BASE64Encoder base64en = new BASE64Encoder(); try byteMing = strMing.getBytes( "UTF8" ); byteMi = this .encryptByte(byteMing); strMi = base64en.encode(byteMi); catch (Exception e) throw new RuntimeException( "Error initializing SqlMap class. Cause: " +

30、e); finally base64en = null ; byteMing = null ; byteMi = null ; return strMi; 3.2 服务器3.2.1 RSA公钥解密算法public static byte decryptByPublicKey(byte encryptedData, String publicKey) throws Exception byte keyBytes = Base64Utils.decode(publicKey); X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(keyB

31、ytes); KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM); Key publicK = keyFactory.generatePublic(x509KeySpec); Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm(); cipher.init(Cipher.DECRYPT_MODE, publicK); int inputLen = encryptedData.length; ByteArrayOutputStream out = new By

32、teArrayOutputStream(); int offSet = 0; byte cache; int i = 0; / 对数据分段解密 while (inputLen - offSet > 0) if (inputLen - offSet > MAX_DECRYPT_BLOCK) cache = cipher.doFinal(encryptedData, offSet, MAX_DECRYPT_BLOCK); else cache = cipher.doFinal(encryptedData, offSet, inputLen - offSet); out.write(ca

33、che, 0, cache.length); i+; offSet = i * MAX_DECRYPT_BLOCK; byte decryptedData = out.toByteArray(); out.close(); return decryptedData; 3.2.2 DES生成密钥/* * 根据参数生成 KEY */ public void setKey(String strKey) try KeyGenerator _generator = KeyGenerator.getInstance ( "DES" ); _generator.init( new Sec

34、ureRandom(strKey.getBytes(); this . key = _generator.generateKey(); _generator = null ; catch (Exception e) throw new RuntimeException( "Error initializing SqlMap class. Cause: " + e); 3.2.3 DES解密public String decryptStr(String strMi) BASE64Decoder base64De = new BASE64Decoder(); byte byte

35、Ming = null ; byte byteMi = null ; String strMing = "" ; try byteMi = base64De.decodeBuffer(strMi); byteMing = this .decryptByte(byteMi); strMing = new String(byteMing, "UTF8" ); catch (Exception e) throw new RuntimeException( "Error initializing SqlMap class. Cause: "

36、+ e); finally base64De = null ; byteMing = null ; byteMi = null ; return strMing; 5 主要模块的设计分析 5.1 信息发送模块protected void send(String content) throws ExceptionSocket client=new Socket("localhost",750);BufferedReader bufferedReader=null;PrintStream out =null;bufferedReader=new BufferedRea

37、der(new InputStreamReader(client.getInputStream();out =new PrintStream(client.getOutputStream();out.println(content);/发送信息String echo =bufferedReader .readLine();/接收返回信息new JOptionPane().showMessageDialog(this, echo, "温馨提示",1);/登录结果显示bufferedReader.close();client.close();5.2 接收信息模块protecte

38、d static void receive() throws ExceptionServerSocket server =null;BufferedReader buf =null;Socket client=null;PrintStream out =null;String str=""String string=""server=new ServerSocket(750);client=server.accept();out=new PrintStream(client.getOutputStream();buf=new BufferedReader

39、(new InputStreamReader(client.getInputStream();while(str=buf.readLine()!=null)string=string.concat(str);name=string.substring(1,Integer.parseInt(string.substring(0,1)+1);key=string.substring(Integer.parseInt(string.substring(0,1)+1,Integer.parseInt(string.substring(0,1)+217);cipehrtext=string.substring(Integer.parseInt(string.substring(0,1)+217);truePassword=database(name);inputPassword=new RSATester().testSign(cipehr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论