2022年网络安全技术实验报告 .pdf
《2022年网络安全技术实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年网络安全技术实验报告 .pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 页中南林业科技大学实验报告课程名称:计算机网络安全技术专业班级: 2014 级计算机科学与技术 2 班姓名:孙晓阳学号: 20144591 2017.10.24 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 第 2 页名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 20 页 - - - - -
2、- - - - 第 3 页目录实验一 java 安全机制和数字证书的管理. 5一 实验名称 . 5二 实验目的 . 5三 实验内容 . 5四 实验结果和分析 . 64.1 命令输入 . 64.2 分析 . 7五 小结 . 8实验二 对称密码加密算法的实现 . 10一 实验名称 . 10二 实验目的 . 10三 实验内容 . 10四 实验结果和分析 . 104.1 说明 . 104.2 实验代码 . 104.3 实验结果 . 13五 小结 . 13实验三非对称密钥 . 14一 实验名称 . 14二 实验目的 . 14三 实验内容 . 14四 实验结果和分析 . 144.1 实验代码 . 144.
3、2 实验结果 . 15五 小结 . 16实验四 数字签名的实现 . 17一 实验名称 . 17名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 第 4 页二 实验目的 . 17三 实验内容 . 17四 实验结果和分析 . 174.1 实验代码 . 174.2 实验结果 . 19五 小结 . 19总 结 . 19名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
4、心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - 第 5 页实验一java 安全机制和数字证书的管理一 实验名称java 安全机制和数字证书的管理二 实验目的2.1 了解java 的安全机制的架构和相关的知识;2.2 利用java 环境掌握数字证书的管理三 实验内容3.1 java 安全机制( JVM, 沙袋,安全验证码) 。3.2 java 的安全机制的架构1.java 加密体系结构(JCA, Java Cryptography Architecture) 构成 JCA 的类和接口 :Java.SeCuritv:定义即插即用服务提供者实现功能扩
5、充的框架与加解密功能调用API 的核心类和接口组。Java.SeCuritv.Cert:一组证书管理类和接口。Java.security.interfaces:一组封装DSA 与 RSA 的公开和私有密钥的接口。Java.SeCurity.SpeC:描述公开和私有密钥算法与参数指定的类和接口。用JCA 提供的基本加密功能接口可以开发实现含消息摘要、数字签名、密钥生成、密钥转换、密钥库管理、证书管理和使用等功能的应用程序。2.Java 加密扩展 (JCE,Java Cryptography Extension) 构成 JCE 的类和接口 :Javax.cryt:提供对基本的标准加密算法的实现,包
6、括DEs,三重DEs(Triple DEs) ,基于口令 (PasswordBasedEncryptionstandard)的 DES,Blowfish 。Javax.crypto.interfaces:支持Diffie 一 Hell-man 密钥。Javax.cryPto.spec:定义密钥规范与算法参数规范。3.Java 安全套接扩展(JSSE,Java Secure Socket1 Extension)JSSE 提供了实现SSL 通信的标准 Java API。JSSE vl.o 结构包括下列包:.J.SSI:包含JSSE API 的一组核心类和接口。.J:支持基本客户机套接与服务器套接工
7、厂功能所必需的。.Javax.SeCuritv.Cert:支持基本证书管理功能所必需的。目前JSSE 的最新版本JCEI.0.2 可以在 :httP:/jaVasuncom/security/中下载。3.3 数字证书的生成和管理1.了解公钥加密体制(非对称密码体制的基本原理)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 第 6 页2.理解数字证书的基本概念及其在安全体制中的应用。3.理解密钥的生成和管理。4.掌握利用key
8、tool 工具实现数字证书的管理四 实验结果和分析4.1 命令输入1.证书的显示keytool -genkey -alias myca -keyalg RSA -keysize 1024 -keystore mystore -validity 4000(密钥的生成和存储)2.显示证书的详细信息keytool -list -v -keystore mystore名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 第 7 页3.将证书
9、导出到证书文件keytool -export -alias myca -keystore mycalib -file my.crt 把证书库 mystore 中的别名为 mycaa 的证书导出到 my.crt 证书文件中,它包含证书主体的信息及证书的公钥,不包括私钥,可以公开。4.2 分析1、 密钥表示Java 用 Java.Security.Key接口表示密钥。Key 接口由 Java.security包的 privateKey与publicKey接口和 javax.c巧 pto 包( 属于 JCE)中的 SecretKey 接口扩展。 privateKey与publicKey表示公开密钥算
10、法的的私有与公开密钥,SecretKey 表示对称密钥。每个 Key 对象与惟一算法相关联,用Key 接口中的 getAlgorithmO可以知道密钥对应的算法名。2、 密钥管理和数字证书密钥库(Key Store)是存放私有密钥. 公开密钥与证书的容器。Java 平台自带有专属的安全密钥库,称为Java 密钥库 (JKS,Java Key Store)。存放在密钥库中可能有两种项目:密钥项目一一保存私有密钥/ 公开密钥对,公开密钥存放在X.5O9 格式的专用证书中。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
11、- - - - - - - 第 7 页,共 20 页 - - - - - - - - - 第 8 页信任证书项目一一保存包含另一方公开密钥的X.509 证书。一个密钥库可以存放多个密钥项目和多个信任证书项目,密钥库中每个项目与唯一别名(alias)关联。 Java 对密钥库和密钥项目提供用口令( 加密 ) 保护。Java 平台提供的keytool程序可以从命令行管理密钥库。用以下命令可以生成银行和客户的私有密钥/ 公开密钥对 :keytool -genkey -keystore -alidity 720表示密钥库文件名。在执行命令时 keytool 会提示输入一些个人信息,用于生成专用证书的主
12、题(Subject),主题包含了一些证书持有人的信息。本文提出的方案,客户证书用其中CN域保存支付帐号。用 keytool -export -keystore -file -rfc,可以输出以 为文件名的信任数字证书。可以把信任证书发放给信息的接收方。在应用程序中,使用java.security.Keystore类访问和管理密钥库,Keystore类可以读取密钥库中的密钥和证书信息。Keystore类是个抽象类,由加密服务提供者(CsP) 特定实现方法实现。Keystore对象实例用静态方法getlnstance(string type)生成。tyPe为密钥库类型,Java 平台默认密钥库类型
13、为 JKS 。生成 Keystore对象后,用load(Inputstreamstream, charpassword)从 指定 输 入 流 装 入Keystore 对 象 , 口 令Password 用于验证密钥库数据完整性。用getKey(Stringalias,charllpassword)返回别名为 alias的密钥项目, password 是密钥的解密口令。用getCertificate(String alias) 返 回 别 名 为alias的 证 书 项 目 , getCertificate返 回 一java.security.cert.Cer-tificate 对象, Cert
14、ificate对象用 getpublicKeyo可以读出证书中的公开密钥。五 小结数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet 上验证通信实体身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构CA 机构,又称为证书授权(Certificate Authority )中心发行的,人们可以在网上用它来识别对方的身份。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - -
15、 第 9 页数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 第 10 页实验二对称密码加密算法的实现一 实验名称对称加密算法的实现二 实验目的2.1 了解密码体制基本原理;2.2 掌握运用java 平台实现对称加密的相关的类和使用方法
16、;三 实验内容3.1 了解对称加密体制的基本原理;3.2 了解加密体制中密钥的随机生成的实现方法和重要性;3.3 了解DESEDE 算法,并运行此算法实现对字符串的加解密。四 实验结果和分析4.1 说明duichenjiami 程序将创建一个DESEDE 密钥,用它来加密一个字符串,然后对加密的字符串进行解密,最后把密方文和明文一起显示在屏幕上。由于每次执行时所采用的密钥是不同的,每一次运行所产生的密钥都不一样。4.2 实验代码SimpleExample.java import java.security.*; import javax.crypto.*; /* SimpleExample.j
17、ava * This class creates a TripleDES key, encrypts some text, prints the ciphertext, then decrypts the text and * prints that. * It requires a JCE-compliant TripleDES engine, like Cryptix JCE. */ public class SimpleExample public static void main (String args) throws Exception if (args.length != 1)
18、System.err.println(Usage: java SimpleExample text); System.exit(1); String text = args0; System.out.println(Generating a TripleDES key.); / Create a TripleDES key 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 20 页 - - - - - - - - - 第 11 页KeyGenerator keyGener
19、ator = KeyGenerator.getInstance(TripleDES); keyGenerator.init(168); / need to initialize with the keysize Key key = keyGenerator.generateKey(); System.out.println(Done generating the key.); / Create a cipher using that key to initialize it Cipher cipher = Cipher.getInstance(TripleDES/ECB/PKCS5Paddin
20、g); cipher.init(Cipher.ENCRYPT_MODE, key); byte plaintext = text.getBytes(UTF8); / Print out the bytes of the plaintext System.out.println(nPlaintext: ); for (int i=0;iplaintext.length;i+) System.out.print(plaintexti+ ); / Perform the actual encryption byte ciphertext = cipher.doFinal(plaintext); /
21、Print out the ciphertext System.out.println(nnCiphertext: ); for (int i=0;iciphertext.length;i+) System.out.print(ciphertexti+ ); / Re-initialize the cipher to decrypt mode cipher.init(Cipher.DECRYPT_MODE, key); / Perform the decryption byte decryptedText = cipher.doFinal(ciphertext); String output
22、= new String(decryptedText,UTF8); System.out.println(nnDecrypted text: +output); duichenjiami.java import java.security.*; import javax.crypto.*; /* *duichenjiami.java * *This class creates a TripleDES key, encrypts some text, * prints the ciphertext, then decrypts the text and * prints that. * *It
23、requires a JCE-compliant TripleDES engine, like Cryptix JCE. */ public class duichenjiami public static void main (String args) throws Exception if (args.length != 1) System.err.println(Usage: java duichenjiami text); System.exit(1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年网络安全技术实验报告 2022 网络安全 技术 实验 报告
限制150内