20165304信息安全系统设计基础》实验五 通信协议设计

信息安全系统设计基础》实验五 通信协议设计

实验要求:

任务一:Linux下OpenSSL的安装与使用
1、基于Socket实现TCP通信,一人实现服务器,一人实现客户端
2、研究OpenSSL算法,测试对称算法中的AES,非对称算法中的RSA,Hash算法中的MD5
3、选用合适的算法,基于混合密码系统实现对TCP通信进行机密性、完整性保护。
4、学有余力者,对系统进行安全性分析和改进。
任务二:在Ubuntu中实现对实验二中的“wc服务器”通过混合密码系统进行防护

任务一:

1.参考老师提供的链接,进行下载并且安装Linux下OpenSSL,在终端输入,以完成安装。

./config

make

make test

make install

然后进行编译并运行:

gcc -o test_openssl test_openssl.c -L/usr/local/ssl/lib -lcrypto -ldl -lpthread echo $?

“-L”之后指定的是链接库的路径,由于要导入OpenSSL所以使用-lcrypto参数

成功之后的截图如下:

2.基于Socket实现TCP通信

TCP服务器端依次调用socket()、bind()、listen()之后,就会监听指定的socket地址了,bind()函数把一个地址族中的特定地址赋给socket。例如对应AF_INET、AF_INET6就是把一个ipv4或ipv6地址和端口号组合赋给socket。

测试md5:

echo "plain.txt" | openssl dgst -md5

测试结果如下:

任务二

任务二:

在Ubuntu中实现对实验二中的“wc服务器”通过混合密码系统进行防护

基于OpenSSL的程序都要遵循以下几个步骤:

(1)、OpenSSL初始化:在使用OpenSSL之前,必须进行相应的协议初始化工作,可以通过下面的函数实现:int SSL_library_int(void);

(2)选择会话协议:在利用OpenSSL开始SSL会话之前,需要为客户端和服务器制定本次会话采用的协议,目前能够使用的协议包括TLSv1.0、SSLv2、SSLv3、SSLv2/v3。需要注意的是,客户端和服务器必须使用相互兼容的协议,否则SSL会话将无法正常进行。

(3)创建会话环境。在OpenSSL中创建的SSL会话环境称为CTX,使用不同的协议会话,其环境也不一样的。申请SSL会话环境的OpenSSL函数是:SSL_CTX SSL_CTX_new(SSL_METHOD method);

当SSL会话环境申请成功后,还要根据实际的需要设置CTX的属性,通常的设置是指定SSL握手阶段证书的验证方式和加载自己的证书。

(4)建立SSL套接字SSL套接字是建立在普通的TCP套接字基础之上,在建立SSL套接字时可以使用下面的一些函数:

SSL SSl_new(SSL_CTX ctx);//申请一个SSL套接字

int SSL_set_fd(SSL ssl,int fd);)//绑定读写套接字

int SSL_set_rfd(SSL ssl,int fd);//绑定只读套接字

int SSL_set_wfd(SSL *ssl,int fd);//绑定只写套接字

(5)完成SSL握手在成功创建SSL套接字后,客户端应使用函数SSL_connect( )替代传统的函数connect( )来完成握手过程:

int SSL_connect(SSL *ssl);

(6)进行数据传输

当SSL握手完成之后,就可以进行安全的数据传输了,在数据传输阶段,需要使用SSL_read( )和SSL_write( )来替代传统的read( )和write( )函数,来完成对套接字的读写操作:

运行截图如下:

原文地址:https://www.cnblogs.com/zl1998827/p/10128995.html

时间: 2024-11-07 08:31:24

20165304信息安全系统设计基础》实验五 通信协议设计的相关文章

信息安全系统设计基础实验五:通讯协议设计

北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:52.53 姓名:王思亓 赵阳林 学号:20135205 20135334 成绩: 指导教师:娄嘉鹏 实验日期:2015.11.24 实验密级: 预习程度: 实验时间:15:30—18:00 仪器组次: 必修/选修:必修 实验序号: 实验名称:通讯协议设计 实验目的与要求:1.掌握在ARM开发板实现一个简单的WEB服务器的过程.2.学习在ARM开发板上的SOCKET网络编程.3.学习Linux下的signal()函

信息安全系统设计基础实验五:通讯协议设计 20135211李行之 20135216刘蔚然

北京电子科技学院(BESTI) 实 验 报 告 封面 课程:信息安全系统设计基础 班级:1352 姓名:(按贡献大小排名)李行之 刘蔚然 学号:(按贡献大小排名)20135211 20135216 成绩: 指导教师:娄嘉鹏 实验日期:2015.12.1 实验密级: 预习程度: 实验时间:15:30—17:30 仪器组次:11 必修/选修:必修 实验序号:5 实验名称: 通讯协议设计 实验目的与要求:  1.学习使用 socket 进行通讯编程的过程,了解一个实际的网络通讯应用程序整体设计,阅读H

信息安全系统设计基础实验五

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础                    班级:1352 姓名:王国伊 龚睿 学号:20135207 20135238 成绩:             指导教师:娄嘉鹏   实验日期:2015.11.17 实验密级: 无      预习程度:         实验时间:15:30—17:30 仪器组次:7       必修/选修:必修     实验序号:5 实验名称:通讯协议设计 实验目的与要求:1.掌

信息安全系统设计基础实验五—20135214万子惠20135227黄晓妍

北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础               班级:1352 姓名:黄晓妍 万子惠 学号:20135227 20135214 成绩:指导教师:娄佳鹏           实验日期:2015.11.24 实验密级:预习程度: 实验时间:15:30~18:00 仪器组次:必修/选修:       必修     实验序号:五 实验名称:简单嵌入式WEB 服务器实验 实验目的与要求: 掌握在 ARM 开发板实现一个简单WEB 服务器的过程. 学习在 A

信息安全系统设计基础实验五 20135210&20135218

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计基础           班级: 1352 姓名:程涵,姬梦馨             学号:20135210  20135218 成绩:           指导教师:娄佳鹏 实验日期:2015.11.17 实验密级:        预习程度:         实验时间:15:30-18:00 仪器组次:          必修/选修:必修     实验序号:5 实验名称: 简单嵌入式WEB服务器实验

信息安全系统设计基础实验二:固件设计

北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础 班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩: 指导教师:娄家鹏 实验日期:2015.11.10 实验密级: 预习程度: 实验时间:15:30~18:00 仪器组次: 必修/选修: 实验序号:1 实验名称:实验一:Linux开发环境的配置和使用 实验目的与要求: 1.掌握程序的烧写方法; 2.能够实现Bootloader; 3.实现密码学中常见算法的固化. 实验仪器: 名称 型号 数量 嵌

信息安全系统设计基础 实验五:通讯协议设计 20135327郭皓 20135329 李海空

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础                         班级:1353 姓名:郭皓 李海空 学号:20135327  20135329 成绩:             指导教师:娄嘉鹏        实验日期:2015.11.24 实验密级:         预习程度:         实验时间:15:30~18:00 仪器组次:          必修/选修:            实验序号:5 实验名称: 

信息安全系统设计基础 实验二固体设计 20135327郭皓 20135329 李海空

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全设计基础                         班级:1353 姓名:郭皓 李海空 学号:20135327  20135329 成绩:             指导教师:娄嘉鹏        实验日期:2015.11.10 实验密级:         预习程度:         实验时间:15:30~18:00 仪器组次:          必修/选修:            实验序号:1 实验名称: 

信息安全系统设计基础实验五:简单嵌入式 WEB 服务器实验 (20135229,20135234)

北京电子科技学院(BESTI) 实     验    报     告 课程:信息安全系统设计                         班级:1352 姓名:马启扬 吕松鸿     学号:20135234 20135229 成绩:             指导教师:娄嘉鹏      实验日期:2015.11  实验密级:       预习程度:               实验时间:15:30—17:00  仪器组次:       必修/选修:必修        实验序号:05    实验