网络安全技术实验报告

  • 格式:docx
  • 大小:832.36 KB
  • 文档页数:14

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中南林业科技大学

实验报告

课程名称:计算机网络安全技术

专业班级:2014 级计算机科学与技术 2班

姓名:孙晓阳

/

学号:

目录

实验一java 安全机制和数字证书的管理 (5)

一实验名称 (5)

二实验目的 (5)

三实验内容 (5)

四实验结果和分析 (6)

,

命令输入 (6)

分析 (7)

五小结 (8)

实验二对称密码加密算法的实现 (10)

一实验名称 (10)

二实验目的 (10)

三实验内容 (10)

?

四实验结果和分析 (10)

说明 (10)

实验代码 (10)

实验结果 (13)

五小结 (13)

实验三非对称密钥 (14)

一实验名称 (14)

{

二实验目的 (14)

三实验内容 (14)

四实验结果和分析 (14)

实验代码 (14)

实验结果 (15)

五小结 (16)

实验四数字签名的实现 (17)

一实验名称 (17)

二实验目的 (17)

三实验内容 (17)

四实验结果和分析 (17)

实验代码 (17)

实验结果 (19)

五小结 (19)

总结 (19)

实验一java 安全机制和数字证书的管理》

一实验名称

java 安全机制和数字证书的管理

二实验目的

了解 java 的安全机制的架构和相关的知识;

利用 java 环境掌握数字证书的管理

三实验内容

java 安全机制(JVM,沙袋,安全验证码)。

&

java 的安全机制的架构

加密体系结构(JCA,Java Cryptography Architecture) 构

成 JCA 的类和接口:

:定义即插即用服务提供者实现功能扩充的框架与加解密功能调用 API 的核心类和接口组。

一组证书管理类和接口。

一组封装 DSA 与 RSA 的公开和私有密钥的接口。

描述公开和私有密钥算法与参数指定的类和接口。用 JCA 提供的基本加密功能接口可以开发实现含消息摘要、数字签名、密钥生成、密钥转换、密钥库管理、证书管理和使用等功能的应用程序。

加密扩展(JCE,Java Cryptography Extension) 构

成 JCE 的类和接口:

:提供对基本的标准加密算法的实现,包括 DEs,三重 DEs(Triple DEs),基于口令(PasswordBasedEncryptionstandard)的 DES,Blowfish。

支持 Diffie 一 Hell-man 密钥。定义密钥规范与算法参数规范。

安全套接扩展(JSSE,Java Secure Socket1 Extension)JSSE 提供了实现 SSL 通信的标准 Java API。

JSSE 结构包括下列包:

.包含 JSSE API 的一组核心类和接口。

.:支持基本客户机套接与服务器套接工厂功能所必需的。

.支持基本证书管理功能所必需的。

目前 JSSE 的最新版本可以在: 数字证书的生成和管理

]

1.了解公钥加密体制(非对称密码体制的基本原理)。

2..理解数字证书的基本概念及其在安全体制中的应用。

3.理解密钥的生成和管理。

4.掌握利用 keytool 工具实现数字证书的管理

四实验结果和分析

命令输入

1.证书的显示

keytool-genkey -alias myca -keyalgRSA -keysize 1024 -keystore mystore -validity 4000

(密钥的生成和存储)

2.显示证书的详细信息

keytool-list -v -keystore mystore

3.将证书导出到证书文件

,

keytool -export -alias myca -keystore mycalib -file

把证书库 mystore 中的别名为 mycaa 的证书导出到证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。

分析

1、|

2、密钥表示

Java用接口表示密钥。Key接口由包的privateKey与 publicKey接口和巧pto包(属于JCE)中的SecretKey接口扩展。privateKey与 publicKey表示公开密钥算法的的私有与公开密钥,SecretKey表示对称密钥。

每个Key对象与惟一算法相关联,用Key接口中的getAlgorithmO可以知道密钥对应的算法名。

3、密钥管理和数字证书密钥库(Key Store)是存放私有密钥.公开密钥与证书的容器。

Java平台自带有专属的安全

密钥库,称为Java密钥库(JKS,Java Key Store)。存放在密钥库中可能有两种项目:

①密钥项目一一保存私有密钥/公开密钥对,公开密钥存放在格式的专用证书中。

②信任证书项目一一保存包含另一方公开密钥的证书。

一个密钥库可以存放多个密钥项目和多个信任证书项目,密钥库中每个项目与唯一别名(alias)关联。Java对密钥库和密钥项目提供用口令(加密)保护。

Java平台提供的keytool程序可以从命令行管理密钥库。

用以下命令可以生成银行和客户的私有密钥/公开密钥对:

keytool -genkey -keystore -alidity 720

表示密钥库文件名。

在执行命令时 keytool 会提示输入一些个人信息,用于生成专用证书的主题|

(Subject),主题包含了一些证书持有人的信息。本文提出的方案,

客户证书用其中CN域保存支付帐号。

用keytool -export -keystore -file -rfc,可以输出以为文件名的信任数字证书。可以把信任证书发放给信息的接收方。