安全协议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

原文地址:https://www.cnblogs.com/mercurytan/p/14258663.html