zoukankan      html  css  js  c++  java
  • 安全协议ssl

    一、SSL简介

    1、概念

    SSL (Secure Sockets Layer)安全套接层。是由Netscape公司于1990年开发,用于保障Word Wide Web(WWW)通讯的安全。主要任务是提供私密性,信息完整性和身份认证。1994年改版为SSLv2,1995年改版为SSLv3.

    TLS(Transport Layer Security)安全传输层协议,)用于在两个通信应用程序之间提供保密性和数据完整性。该标准协议是由IETF于1999年颁布,整体来说TLS非常类似SSLv3,只是对SSLv3做了些增加和修改。

    SSL全称为 Socket Security Layer,TLS全称为Transport Layer Security,这两者没有本质的区别,都是做的传输层之上的加密(介于传输层及应用层之间)。TLS是后续SSL版本分支的名称,花费长时间去争论两者的优劣没有意义。目前TLS最新版本为 TLS1.2(也称为SSL3.3)

    2、所处位置

    在传统的TCP/IP结构中的应用层和传输层中间有SSL,以达到信息加密等作用

    image-20210110161629535

    3、SSL/TLS解决的问题

    信息加密; 数据签名; CA数字证书认证

    • 信息被窃听(wiretap),第三方随时随地获得通讯内容;

      SSL/TLS 实现了传输信息的加密。

    • 数据被篡改(tampering),第三方可修改传输中的数据;

      SSL/TLS 实现了数据签名及校验。

    • 身份被冒充(pretending),第三方可冒充通讯者身份传输数据;

      ​ SSL/TLS 采用了CA数字证书认证机制。

    4、SSL知名协议

    • HTTP over SSL(https)

    TCP+443端口+SSL

    加密网页浏览

    二、原理

    1、SSL协议结构

    image-20210110161744627

    SSL的体系结构中包含两个协议子层:

    • 底层是SSL记录协议层(SSL Record Protocol Layer)

      作用:

      1、高层协议提供基本的安全服务。

      2、SSL记录协议针对HTTP协议进行了特别的设计,使得超文本的传输协议HTTP能够在SSL运行。

      3、记录封装各种高层协议,具体实施压缩解压缩、加密解密、计算和校验MAC等与安全有关的操作。

    • 高层是SSL握手协议层(SSL HandShake Protocol Layer)。

      握手层的这些协议用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥等。

      SSL握手协议的作用是协调客户和服务器的状态,使双方能够达到状态的同步。

    2、流程概括 -- 握手阶段

    ​ SSL/TLS是通过动态密钥来实现加密的。而动态密钥需要在握手阶段进行协商。 为了保证在握手阶段数据的保密性,不可避免的会用到 对称算法,非对称算法,数字证书签名等方法

    ​ 一个SSL/TLS 握手过程需要协商的信息包括:

    1 协议的版本号;

    2 加密算法,包括非对称加密算法、动态密钥算法;

    3 数字证书,传输双方通过交换证书及签名校验对彼此进行鉴权;

    4 动态密钥,传输数据过程使用该密钥进行对称加解密,该密钥通过非对称密钥进行加密传输。

    3、流程解析

    一个典型的SSL/TLS 握手流程包括双向认证,如下所示:

    image-20210110161840209

    2: server会发出client certificate requet。请求客户端的证书信息 ==> 校验客户端的身份 (双向校验)

    参考文档:

    https://blog.csdn.net/qq_38265137/article/details/90112705

    https://www.cnblogs.com/littleatp/p/6219630.html


    如果本篇博客有任何错误和建议,欢迎大佬们批评指正

    我是知逆,我们下期见

    Peace

  • 相关阅读:
    2020年全国安全生产月活动主题、挂图、招贴、标语、宣教用书等系列产品
    2020年安全生产月主题挂图指定宣教用品目录
    LNMP分离式部署步骤详解
    FTP文件传输服务
    DNS域名解析服务配置与测试
    DHCP服务搭建测试流程
    mysql数据库的操作
    mysql源码编译安装及其配置
    生产环境中ansible的安全处理
    http网页返回码详解
  • 原文地址:https://www.cnblogs.com/mercurytan/p/14258663.html
Copyright © 2011-2022 走看看