ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:326.25KB ,
资源ID:12902336      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12902336.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(10年广东工业大学信息安全实验报告.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

10年广东工业大学信息安全实验报告.docx

1、10年广东工业大学信息安全实验报告网络与信息安全实验报告学 院 计算机学院 专 业 计算机科学与技术 班 级 级计科 班 学 号 3107006484 姓 名 李红强 指导教师 宋 玮 2010 年 12 月实验一 数字证书的创建实验项目名称:数字证书的创建实验项目性质:验证型所属课程名称:网络与信息安全实验计划学时:2一、实验目的1、理解数字证书的概念;2、掌握创建数字证书的创建;3、掌握数字证书的签发;二、实验内容和要求1、使用Java中Keytool工具创建数字证书2、使用Keytool工具显示及导出数字证书3、使用Java程序签发数字证书三、实验主要仪器设备和材料1计算机及操作系统:P

2、C机,Windows 2000/xp;2JDK1.5 四、实验方法、步骤及结果测试创建两个数字证书:使用别名、指定算法、密钥库和有效期的方式创建两个数字证书。显示并且导出已创建的数字证书的内容。签发数字证书。1、创建数字证书:实现代码及截图:语句C:UsersLHQE:UsersLHQAppDataLocalGenuitecCommonbinarycom.sun.java.jre.win32.x86_1.5.0.011binkeytool -genkey -alias LHQ输入keystore密码: 123456您的名字与姓氏是什么? Unknown: LHQ您的组织单位名称是什么? Unk

3、nown: Network Center您的组织名称是什么? Unknown: GDUT您所在的城市或区域名称是什么? Unknown: GZ您所在的州或省份名称是什么? Unknown: GD该单位的两字母国家代码是什么 Unknown: CNCN= LHQ, OU=Network Center, O=GDUT, L=GZ, ST=GD, C=CN 正确吗? 否: 是输入的主密码 (如果和 keystore 密码相同,按回车):语句及执行结果截图显示2、 显示并且导出已创建的数字证书内容(1)使用Keytool直接从密钥库显示证书详细信息(2)使用Keytool将数字证书导出到文件(3)在W

4、indows中从文件显示证书实现代码及截图:语句(1)C:UsersLHQE:UsersLHQAppDataLocalGenuitecCommonbinarycom.sun.java.jre.win32.x86_1.5.0.011binkeytool -genkey -alias mytest -keyalg RSA -keysize 1024 -keystore mykeystore -validity 4000输入keystore密码: 123456您的名字与姓氏是什么? Unknown: LHQ您的组织单位名称是什么? Unknown: Network Center您的组织名称是什么?

5、Unknown: GDUT您所在的城市或区域名称是什么? Unknown: GD您所在的州或省份名称是什么? Unknown: GZ该单位的两字母国家代码是什么 Unknown: CNCN=LHQ, OU=Network Center, O=GDUT, L=GD, ST=GZ, C=CN 正确吗? 否: 是输入的主密码 (如果和 keystore 密码相同,按回车):语句及执行结果截图显示3、Java程序签发数字证书实现代码及截图:语句 import java.io.*; import java.security.*; import java.security.cert.*; import j

6、ava.util.*; import java.math.*; import sun.security.x509.*;public class SignCert public static void main(String args ) throws Exception char storepass=123456.toCharArray( ); char cakeypass=123456.toCharArray( ); String alias=mytest; String name=C:UsersLHQmykeystore; / Cert of CA-c1 FileInputStream i

7、n=new FileInputStream(name); KeyStore ks=KeyStore.getInstance(JKS); ks.load(in,storepass); java.security.cert.Certificate c1=ks.getCertificate(alias); PrivateKey caprk=(PrivateKey)ks.getKey(alias,cakeypass);in.close(); /得到签发者 byte encod1=c1.getEncoded(); X509CertImpl cimp1=new X509CertImpl(encod1);

8、X509CertInfo cinfo1=(X509CertInfo)cimp1.get(X509CertImpl.NAME+.+X509CertImpl.INFO); X500Name issuer=(X500Name)cinfo1.get(X509CertInfo.SUBJECT+.+CertificateIssuerName.DN_NAME); / Cert of lf-c2 CertificateFactory cf=CertificateFactory.getInstance(X.509); FileInputStream in2=new FileInputStream(C:Users

9、LHQLHQ.cer); java.security.cert.Certificate c2=cf.generateCertificate(in2);in2.close(); byte encod2=c2.getEncoded(); X509CertImpl cimp2=new X509CertImpl(encod2); X509CertInfo cinfo2=(X509CertInfo)cimp2.get( X509CertImpl.NAME+.+X509CertImpl.INFO); /设置新证书有效期 Date begindate =new Date();/60 day Date end

10、date =new Date(begindate.getTime()+3000*24*60*60*1000L); CertificateValidity cv=new CertificateValidity(begindate,enddate); cinfo2.set(X509CertInfo.VALIDITY,cv); /设置新证书序列号 int sn=(int)(begindate.getTime()/1000); CertificateSerialNumber csn=new CertificateSerialNumber(sn); cinfo2.set(X509CertInfo.SER

11、IAL_NUMBER,csn); /设置新证书签发者 cinfo2.set(X509CertInfo.ISSUER+.+CertificateIssuerName.DN_NAME,issuer); /设置新证书算法 AlgorithmId algorithm = new AlgorithmId(AlgorithmId.md5WithRSAEncryption_oid); cinfo2.set(CertificateAlgorithmId.NAME+.+CertificateAlgorithmId.ALGORITHM, algorithm); / 创建证书 X509CertImpl newcer

12、t=new X509CertImpl(cinfo2); / 签名 newcert.sign(caprk,MD5WithRSA); System.out.println(newcert); / 存入密钥库 ks.setCertificateEntry(lf_signed, newcert) ;/*PrivateKey prk=(PrivateKey)ks.getKey(lf,wshr.ut.toCharArray( ); java.security.cert.Certificate cchain=newcert;ks.setKeyEntry(lf_signed,prk,newpass.toCha

13、rArray(),cchain);*/ FileOutputStream out=new FileOutputStream(newstore); ks.store(out,newpass.toCharArray(); out.close(); 语句及执行结果截图显示 Version: V1 Subject: CN=LHQ, OU=Network Center, O=GDUT, L=GZ, ST=GD, C=CN Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4 Key: Sun DSA Public Key Paramete

14、rs:DSA p: fd7f5381 1d751229 52df4a9c 2eece4e7 f611b752 3cef4400 c31e3f80 b6512669 455d4022 51fb593d 8d58fabf c5f5ba30 f6cb9b55 6cd7813b 801d346f f26660b7 6b9950a5 a49f9fe8 047b1022 c24fbba9 d7feb7c6 1bf83b57 e7c6a8a6 150f04fb 83f6d3c5 1ec30235 54135a16 9132f675 f3ae2b61 d72aeff2 2203199d d14801c7 q:

15、 9760508f 15230bcc b292b982 a2eb840b f0581cf5 g: f7e1a085 d69b3dde cbbcab5c 36b857b9 7994afbb fa3aea82 f9574c0b 3d078267 5159578e bad4594f e6710710 8180b449 167123e8 4c281613 b7cf0932 8cc8a6e1 3c167a8b 547c8d28 e0a3ae1e 2bb3a675 916ea37f 0bfa2135 62f1fb62 7a01243b cca4f1be a8519089 a883dfe1 5ae59f06

16、 928b665e 807b5525 64014c3b fecf492a y: c3340969 70f9b6ec 805230e1 5dab8a81 751158b2 5af371d4 0b033023 60ca4f75 86df2086 a3a2189b 0e0a36c0 9c61e5c6 a436c670 f47b8e32 f65d9920 1f6e095a dbe73418 481c83e6 0193ffb6 450cec36 cf6c5ba7 c9a31510 d4cd6cc2 e8e0fa96 ab14c915 7235d879 c2300932 15528cee 50d34789

17、 94fe437a beba6e9a 763e17e9 Validity: From: Thu Dec 30 14:25:28 CST 2010, To: Mon Mar 18 14:25:28 CST 2019 Issuer: CN=LHQ, OU=Nerwork Center, O=GDUT, L=GD, ST=GZ, C=CN SerialNumber: 4d1c25d8 Algorithm: MD5withRSA Signature:0000: 0E F5 7B 22 2C B2 7F 32 26 0B 3A F2 AD 06 F8 61 .,.2&.:.a0010: 48 67 8B

18、 AC 2E 93 21 EA C3 C2 BE 89 8E 6B B7 5E Hg.!.k.0020: 94 8A 22 1B BF E3 0B F8 56 EC A0 29 96 09 F2 B1 .V.).0030: BD 84 27 28 A5 B2 79 D6 C1 E3 7B 94 23 0F 7F 49 .(.y.#.I0040: 40 04 A0 70 E5 CE 3F B6 CF B4 CB B7 29 69 79 8C .p.?.)iy.0050: 7E B1 73 4B 33 69 5D 31 98 7F 99 C9 C2 70 65 0A .sK3i1.pe.0060:

19、 05 96 EF 9B 74 67 8B 4A 07 56 B4 19 07 65 0E 76 .tg.J.V.e.v0070: 29 BD 8C 4C 67 51 E8 B2 4B D1 3C B9 1F 77 71 AF ).LgQ.K.wq.五、实验中出现的问题及解决方案六、思考题1、 数字证书的功能是什么?答:由于Internet网电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险. 为了保证互联网上电子交易及支付的安全性,保密性等,防范交易及支付过程中的欺诈行为,必须在网上建立一种信任机制。这就要求参加电子商

20、务的买方和卖方都必须拥有合法的身份,并且在网上能够有效无误的被进行验证。数字证书是一种权威性的电子文档。它提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-CA证书授权(Certificate Authority)中心发行的,人们可以在互联网交往中用它来识别对方的身份。当然在数字证书认证的过程中,证书认证中心(CA)作为权威的、公正的、可信赖的第三方,其作用是至关重要的。数字证书也必须具有唯一性和可靠性。为了达到这一目的,需要采用很多技术来实现。通常,数字证书采用公钥体制,即利用一对互相匹配的密钥进行加密、解密。每个用户自己设

21、定一把特定的仅为本人所有的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。公开密钥技术解决了密钥发布的管理问题,用户可以公开其公开密钥,而保留其私有密钥。2、 keytool genkey 所产生证书的签发者是谁?答:证书认证中心(CA)实验二 SSL编程实验项目名称:SSL编程实验项目性质:验证型所属课程名称:网络与信息安全实验计划

22、学时:2一、实验目的1、理解SSL的作用;2、掌握SSL客户和服务器程序;二、实验内容和要求1、使用Java中的SSL编写SSL服务器程序2、使用Java中的SSL编写SSL客户端程序三、实验主要仪器设备和材料1计算机及操作系统:PC机,Windows 2000/xp;2JDK1.5 四、实验方法、步骤及结果测试1、编写SSL服务器程序实现代码及截图:语句 import .*; import java.io.*; import .ssl.*;public class MySSLServer public static void main(String args ) throws Excepti

23、on System.setProperty(.ssl.keyStore,C:UsersLHQmykeystore); System.setProperty(.ssl.keyStorePassword,123456); SSLServerSocketFactory ssf=(SSLServerSocketFactory) SSLServerSocketFactory.getDefault( ); ServerSocket ss=ssf.createServerSocket(5432); System.out.println(Waiting for connection.); while(true

24、) Socket s=ss.accept( ); PrintStream out = new PrintStream(s.getOutputStream( ); out.println(Hi); out.close( ); s.close( ); 语句及执行结果截图显示Waiting for connection.2、 编写SSL客户端程序实现代码及截图:语句 import .*; import java.io.*; import .ssl.*;public class MySSLClient public static void main(String args ) throws Excep

25、tion System.setProperty(.ssl.trustStore, C:UsersLHQmykeystore); SSLSocketFactory ssf= (SSLSocketFactory) SSLSocketFactory.getDefault( ); Socket s = ssf.createSocket(127.0.0.1, 5432); BufferedReader in = new BufferedReader( new InputStreamReader(s.getInputStream( ); String x=in.readLine( ); System.ou

26、t.println(x); in.close( ); 语句及执行结果截图显示五、实验中出现的问题及解决方案六、思考题遇到问题:实验1和2都是设计绝对路径的解决。1、 描述SSL的握手协议过程。答:为了便于更好的认识和理解 SSL 协议,这里着重介绍 SSL 协议的握手协议。SSL 协议既用到了公钥加密技术又用到了对称加密技术,对称加密技术虽然比公钥加密技术的速度快,可是公钥加密技术提供了更好的身份认证技术。SSL 的握手协议非常有效的让客户和服务器之间完成相互之间的身份认证,其主要过程如下:客户端的浏览器向服务器传送客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客

27、户端之间通讯所需要的各种信息。服务器向客户端传送 SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务

28、器。如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA 是否可靠,发行CA 的公钥能否正确解开客户证书的发行 CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生

29、相同的主通讯密码)。服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于 SSL 协议的安全数据通讯的加解密通讯。同时在 SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。客户端向服务器端发出信息,指明后面的数据通讯将使用的步骤中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。服务器向客户端发出信息,指明后面的数据通讯将使用的步骤中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。2、SSL的握手协议过程是否体现在程序中?说明分析过程。答:是在keystore中已经包含签名的具体信息,程序从签名中获得所使用的算法等来进行握手的协议认证。实验三 Sniffer网络嗅探器的使用实验项目名称:Sniffer网络嗅探器的使用实验项目性质:验证型所属课程名称:网络与信息安全实验计划学时:2一、实验目的通过Sniffer软件的使用,了解如何使用该软件对网络数据包进行分析;二、实验内容和要求捕获HTTP数据包,并进行分析,捕获的目标计算机为个人主机三、实验主要仪器设备和材料1计算机及操作系统:PC机,Wi

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

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