• 阶段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目录下

  • 相关阅读:
    isMemberOfClass和isKindOfClass的区别
    performSelector和respondsToSelector用法
    iOS:堆(heap)和栈(stack)的理解
    iOS 事件处理机制与图像渲染过程
    IOS总结 静变量static、全局变量extern、局部变量、实例变量
    创建mvc
    程序启动原理
    常用几个UITableView,UICollectionView  UIScrollView关键点
    代码初始化 故事板初始化 xib初始化总结
    UINavigationController  和 UITabBarController
  • 原文地址:https://www.cnblogs.com/gary-guo/p/6032198.html
Copyright © 2020-2023  润新知