网络安全技术实验报告.docx
- 文档编号:24750551
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:12
- 大小:817.60KB
网络安全技术实验报告.docx
《网络安全技术实验报告.docx》由会员分享,可在线阅读,更多相关《网络安全技术实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
网络安全技术实验报告
中南林业科技大学
实验报告
课程名称:
计算机网络安全技术
专业班级:
2014级计算机科学与技术2班
姓名:
孙晓阳
/
学号:
(
实验一java安全机制和数字证书的管理
》
一实验名称
java安全机制和数字证书的管理
二实验目的
了解java的安全机制的架构和相关的知识;
利用java环境掌握数字证书的管理
三实验内容
java安全机制(JVM,沙袋,安全验证码)。
&
java的安全机制的架构
加密体系结构(JCA,JavaCryptographyArchitecture)构成JCA的类和接口:
:
定义即插即用服务提供者实现功能扩充的框架与加解密功能调用API的核心类和接口组。
一组证书管理类和接口。
一组封装DSA与RSA的公开和私有密钥的接口。
描述公开和私有密钥算法与参数指定的类和接口。
用JCA提供的基本加密功能接口可以开发实现含消息摘要、数字签名、密钥生成、密钥转换、密钥库管理、证书管理和使用等功能的应用程序。
加密扩展(JCE,JavaCryptographyExtension)构成JCE的类和接口:
:
提供对基本的标准加密算法的实现,包括DEs,三重DEs(TripleDEs),基于口令(PasswordBasedEncryptionstandard)的DES,Blowfish。
(
支持Diffie一Hell-man密钥。
定义密钥规范与算法参数规范。
安全套接扩展(JSSE,JavaSecureSocket1Extension)JSSE提供了实现SSL通信的标准JavaAPI。
JSSE结构包括下列包:
.包含JSSEAPI的一组核心类和接口。
.:
支持基本客户机套接与服务器套接工厂功能所必需的。
.支持基本证书管理功能所必需的。
目前JSSE的最新版本可以在:
数字证书的生成和管理
]
1.了解公钥加密体制(非对称密码体制的基本原理)。
2..理解数字证书的基本概念及其在安全体制中的应用。
3.理解密钥的生成和管理。
4.掌握利用keytool工具实现数字证书的管理
四实验结果和分析
命令输入
1.证书的显示
—
keytool-genkey-aliasmyca-keyalgRSA-keysize1024-keystoremystore-validity4000
(密钥的生成和存储)
2.显示证书的详细信息
keytool-list-v-keystoremystore
3.将证书导出到证书文件
keytool-export-aliasmyca-keystoremycalib-file
把证书库mystore中的别名为mycaa的证书导出到证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。
分析
1、|
2、密钥表示
Java用接口表示密钥。
Key接口由包的privateKey与publicKey接口和巧pto包(属于JCE)中的SecretKey接口扩展。
privateKey与publicKey表示公开密钥算法的的私有与公开密钥,SecretKey表示对称密钥。
每个Key对象与惟一算法相关联,用Key接口中的getAlgorithmO可以知道密钥对应的算法名。
3、密钥管理和数字证书密钥库(KeyStore)是存放私有密钥.公开密钥与证书的容器。
Java平台自带有专属的安全
密钥库,称为Java密钥库(JKS,JavaKeyStore)。
存放在密钥库中可能有两种项目:
①密钥项目一一保存私有密钥/公开密钥对,公开密钥存放在格式的专用证书中。
②信任证书项目一一保存包含另一方公开密钥的证书。
》
一个密钥库可以存放多个密钥项目和多个信任证书项目,密钥库中每个项目与唯一别名
(alias)关联。
Java对密钥库和密钥项目提供用口令(加密)保护。
Java平台提供的keytool程序可以从命令行管理密钥库。
用以下命令可以生成银行和客户的私有密钥/公开密钥对:
keytool-genkey-keystore
在执行命令时keytool会提示输入一些个人信息,用于生成专用证书的主题
|
(Subject),主题包含了一些证书持有人的信息。
本文提出的方案,
客户证书用其中CN域保存支付帐号。
用keytool-export-keystore
可以把信任证书发放给信息的接收方。
在应用程序中,使用类访问和管理密钥库,Keystore类可以读取密钥库中的密钥和证书信息。
Keystore类是个抽象类,由加密服务提供者(CsP)特定实现方法实现。
Keystore对象实例用静态方法getlnstance(stringtype)生成。
tyPe为密钥库类型,Java平台默认密钥库类型为JKS。
生成Keystore对象后,用load(Inputstreamstream,char[]password)从指定输入流装入Keystore对象,口令Password用于验证密钥库数据完整性。
用getKey(Stringalias,charllpassword)返回别名为alias的密钥项目,password是密钥的解密口令。
用getCertificate(Stringalias)返回别名为alias的证书项目,getCertificate返回一对象,Certificate对象用getpublicKeyo可以读出证书中的公开密钥。
五小结
~
数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。
它是由一个由权威机构——CA机构,又称为证书授权(CertificateAuthority)中心发行的,人们可以在网上用它来识别对方的身份。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
数字证书还有一个重要的特征就是只在特定的时间段内有效。
实验二对称密码加密算法的实现
一实验名称
对称加密算法的实现
二实验目的
了解密码体制基本原理;
【
掌握运用java平台实现对称加密的相关的类和使用方法;
三实验内容
了解对称加密体制的基本原理;
了解加密体制中密钥的随机生成的实现方法和重要性;了解DESEDE算法,并运行此算法实现对字符串的加解密。
四实验结果和分析
说明
duichenjiami程序将创建一个DESEDE密钥,用它来加密一个字符串,然后对加密的字符串进行解密,最后把密方文和明文一起显示在屏幕上。
由于每次执行时所采用的密钥是不同的,每一次运行所产生的密钥都不一样。
实验代码
—
import.*;import.*;
/**
*
ThisclasscreatesaTripleDESkey,encryptssometext,
printstheciphertext,thendecryptsthetextand*printsthat.
,
*
ItrequiresaJCE-compliantTripleDESengine,likeCryptix'JCE.
*/publicclassSimpleExample
{publicstaticvoidmain(String[]args)throwsException
{if!
=1){
"Usage:
javaSimpleExampletext");
(1);}
Stringtext=args[0];
<
"GeneratingaTripleDESkey...");
;
;import.*;
/**
*
*
*ThisclasscreatesaTripleDESkey,encryptssometext,*printstheciphertext,thendecryptsthetextand*printsthat.
}
*
*ItrequiresaJCE-compliantTripleDESengine,likeCryptix'JCE.
*/publicclassduichenjiami
{publicstaticvoidmain(String[]args)throwsException
{if!
=1){
"Usage:
javaduichenjiamitext");
(1);}
Stringtext=args[0];
。
"GeneratingaTripleDESkey...");
;
;import.*;import.*;importpublicclassEncryptData
{publicstaticvoidmain(String[]args)throwsException
{
;
/**
*?
*SignatureExample
*
*Simpleexampleofusingadigitalsignature.
*ThisclasscreatesanRSAkeypairandthensignsthetext
*ofthefirstargumentpassedtoit.Itdisplaysthesignature*inBASE64,andthenverifiesthesignaturewiththecorresponding*publickey.
*/publicclassSignatureExample{publicstaticvoidmain(String[]args)throwsException{
if!
=1){
]
"Usage:
javaSignatureExample\"I'mSunxyang,andtexttobesigned\"");
(1);
}
"GeneratingRSAkeypair...");
KeyPairGeneratorkpg=("RSA");(1024);
KeyPairkeyPair=();
"Donegeneratingkeypair.");
etBytes("UTF8");
ncode(signatureBytes));
We'llneedtoreinitializeThis());
;
}else{
"\nSignaturedidnotmatch.");
}
}
}
实验结果
五小结
数字签名是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。
一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
数字签名是非对称密钥加密技术与数字摘要技术的应用。
总结
通过计算机网络安全技术这门课的学习和实践,让我学到了很多东西,不仅使我在理论上对网络有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益非浅。
在学习的同时,也进一步懂得了合作的重要性,过程中自己有很多的不懂,很多的问题,都是大家一起商量解决的。
这次实验让我明白了实验的主要目的是让我们通过不断的学习来积累经验,进而才能把书本的知识转化为技能。
实践出真理,实验的过程确实是有些累但是累得有价值。
学海无涯,好多好多的东西在向我们招手,等待我们去努力的学习。
在以后的工作、生活和学习中,发展自己的优势,弥补自己的不足和缺陷。
通过学习,我学到了很多。
接触到了一些计算机加密算法和方法,让我对计算机网络有了全新的认识,经过理论与实际结合,让我大开眼界。
实验是每一个大学生必须拥有的一段经历,它使我们在实践中了解自己所学的知识在实际操作中的意义,明白了要多了解相关知识,多思考,多提问题,多问几个为什么,要学以致用,计算机网络使学习、生活、工作的资源消耗大为降低。
我们是新一代的人用的都是高科技,也随着现在的社会日新月异,高科技的发展,只有掌握一定的计算机知识,才能更好的帮助我们。
不过有时也要动我们的脑子,要个人亲身去体会,去实践,把各项命令的位置,功能,用法记熟,做熟。
提高我们整体的知识,打好基础。
这对于我以后学习、找工作也真是受益菲浅,相信这些宝贵的经验会成为我今后成功的重要的基石。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 技术 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)