信息安全导论实验二

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

信息安全导论实验二

Public-Key Cryptography and PKI

一、实验目的

通过对OpenSSL的熟练应用来完成一系列关于证书的操作,包括公/私钥对的申请、分离公钥、加密、解密、数字签名、测速、计算Hash值、安全通信等,加深对于公钥加密、私钥解密的过程和公钥设施、CA等概念的理解。

二、实验结果

a.配置f文件

在/home/slahser目录下创建一个文件夹certs,专门存放这次实验的内容,将f文件复制到/home/slahser/certs(默认目录),用sudo gedit 命令打开并将其中的变量dir修改为默认目录/home/slahser/certs(需要改动两处),保存退出。f文件配置完毕。根据配置的内容,在默认目录下创建index.txt和serial两个文件。

通过助教所给命令,顺利得到ca.key和ca.crt两个文件,如下图:

b.Task2 给颁发证书

运用指令:openssl req -new -x509 -keyout ca.key -out ca.crt -config f

使用助教所给命令得到server.key

使用助教所给命令得到server.csr

使用助教所给命令,CA使用CSR文件生成证书,并且写入CRT文件

c.Task3 对网站使用PKI

首先修改本地hosts文件使网址指向本地IP 127.0.0.1

使用的命令是sudo gedit /etc/hosts,修改后的hosts文件如下

将私钥server.key和证书server.crt合成server.pem,然后用s_server令启动服务器server,这时候在火狐中打开https://:4433/,这时候网页会显示证书不被信任:

原因:颁发机构的证书不被信任

将ca.crt手动导入火狐的信任证书列表后,刷新页面,网页能正常打开

此时终端的server显示accept即成功。

d.Task4 用PKI与建立安全的TCP连接

运用助教给的client.key和server.key,然后用自己生成的两个key去替换,效果图一样,在此合并为两张结果图:可以清楚的看到,得到了:”Hello World!Client这一端得到了:”I hear you.“

e.Task5 RSA算法和AES算法的性能比较

用RSA算法加密message.txt后生成message_enc.txt,解密后生成message_dec.txt

生成一个密钥:openssl genrsa -out test.key 1024

用openssl将test.key中的公钥提取出来:openssl rsa -in test.key

-pubout -out test_pub.key

用公钥加密文件。在默认目录(/home/ustc/certs)中创建一个文本文件message.txt,然后利用此前生成的公钥test_pub.key加密文件:openssl rsautl -encrypt -in message.txt -inkey test_pub.key -pubin -out

message_enc.txt

用私钥test.key解密文件:openssl rsautl -decrypt -in message_enc.txt -inkey test.key -out message_dec.txt

用AES算法加密message.txt后生成message_aes_enc.txt,解密后生成message_aes_dec.txt

加密文件:openssl enc -aes-128-ecb -in message.txt -out message_aes_enc.txt

解密文件:openssl enc -aes-128-ecb -in message_aes_enc.txt -out message_aes_dec.txt –d

测RSA算法速度(5次)

rsautl -encrypt -in message.txt -inkey test_pub.key -pubin -out

message_enc.txt) 2> rsa_enc_time1.txt(后面四次把1替换成2、3、4、5)

分析:RSA平均加密时间为:0.012s,平均解密时间为0.014s

测AES算法速度(5次)

(time openssl aes-128-cbc -d -salt -in message_aes_enc.txt -out message_aes_dec.txt) 2> aes_enc_time1.txt(后四次把1替换成2、3、4、5)

分析:AES平均加密时间比RSA长的多,平均解密时间也比RSA长的多。但是这只是表面现象,因为AES在加密解密过程中均需要输入自己自定义的密码,实际上AES的加密解密速度还是比RSA要快,因为AES是对称加密的,而RSA 为不对称加密。

使用speed rsa和speed aes命令来比较

Speed rsa:

Speed aes:

分析:可见AES算法比RSA算法要快上很多。RSA算法签名速度远快于校验速度,并且位数越大,这种领先速度越明显,签名速度相对于校验速度越快。f.Task6 制作数字签名

数字签名的原理:

发送方将要发送的信息的摘要用私钥加密,形成数字签名,接收方收到信息后,对加密的摘要用发送方的公钥解密,自己对收到的信息进行摘要,比较两者是否一致,从而达到验证是否为发送方发来的信息.

生成公钥/私钥对private.pem:openssl genrsa -out private.pem 1024 分离出公钥public.pem:openssl rsa -in private.pem -out public.pem -outform PEM -pubout

相关文档
最新文档