阶段3-团队合作\项目-网络安全传输系统\sprint1-传输子系统设计\第2课-OpenSSL加密系统
1、未加密传输的安全弊端
在服务器目录下创建一个文件里面存放了我的一些信息,如下
下面启动服务器,
然后通过开发板的客户端去下载这个文件pass
在这里先别输入名字,使用抓包工具Wireshark,进行抓包
然后输入开发板要下载的pass文件名
先别着急着退出
然后把wireshark停下来看看情况,然后退出开发板的客户端程序
主要查看tcp类型通信的
下面就是被截获到的数据
2、加密基本原理
分类:分为对称加密(安全性弱)和非对称加密(有一些概念公钥、私钥、数字证书)
对公钥和私钥概念的一个理解
假设小王有公钥和私钥,他要和小李,小刘,小陈通信,那么他就把公钥给这三个人,
假如小李要发送关键信息给小王,那么他会把信息结合公钥加入加密系统,经过加密系统生成另一个文件,然后把该文件传递给小王,当小王收到这份文件之后,将该文件加入解码系统同时插入自己的私钥,那么就能解码成原来小李要发给小王的信息。
同理,当小王要发信息给小李,那么他会把信息加入加密系统并插入自己的私钥,然后生成一份加密的文件,然后把加密的文件传递给小李,小李收到该文件之后,把该文件加入解密系统并插入自己的公钥,那么就能解码成原来小王要发给小李的信息。
记住公钥加密则私钥解密。私钥加密则公钥解密。
数字证书
假设小王是银行工作人员,小李和小刘是客户,当小李要把银行账号和密码发给小王的时候,正常情况下可以按照上面的公钥和私钥来走;
假设小刘比较坏,他去把小李电脑上的公钥换了,换成自己的公钥,那么小李是不知道自己的公钥已经被换了的,小李就会将文件信息和被换了的公钥一起发送出去,那么小刘就可以在网络上截获该信息,然后通过小刘自己的私钥把该信息解密出来,那么怎样才能避免这种事情发生呢?我们就引入了数字证书。
数字证书必须是权威机构来发布,数字证书包含了公钥和此公钥拥有人的信息;然后把这两个组合在一起一起发布出来就形成了数字证书。
回到之前的案例,那么小李就可以使用小王的数字证书,打开数字证书确定小王的信息,那么对应公钥就是小王的,那么就可以把自己的信息加上小王的公钥发送过去给小王,那么小刘就没办法从中操控了。
数字证书其实就是权威机构帮你把公钥和公钥持有人的信息打包,将二者绑定起来。
3、openSSL简介
3.1SSL协议
SSL的作用就是加密和解密保证我们网络上的数据不被窃听和窃取。
其协议架构如下
3.2 OpenSSL
它是一个开放的、开源的一套密码库。
3.3OpenSSL通讯模型
使用了OpenSSL之后就会在原有的TCP通信模型之上加上新的流程,如下图
4、OpenSSL库移植到开发板
在当前目录下新建一个安装目录
mkdir __install
下面进行配置
修改Makefile
然后再编译make
最后安装make install
结果如下
把相应库文件复制到开发板的lib目录下