SSL/TLS协议

TLS/SSL是一种加密通道规范
他利用对称加密、不对称加密、公私钥、密钥交换算法、CA系统进行加密且可信任的信息传输。

https=http+tls
在这里插入图片描述

https请求过程(在使用https时要保证服务端配置了正确的安全证书)
1.客户端向服务器发送请求
2.服务断发送公钥跟证书到客户端
3.客户端验证证书后,随机生成一个随机数,用公钥对其加密,发送给服务端。
(验证证书)
4.服务端用私钥解析,收到随机数,随后用这个随机数当做私钥对需要发送的信息进行加密,发送给客户端。
(验证服务器)
5.客户端收到加密信息后在使用私钥(生成的随机数)解密并将解析的数据显示给客户。
(ssl加密建立)
在这里插入图片描述
ssl(secure socket layer,安全套接字层)是tls的前身,因https的推出广受欢迎,在ssl3.0时,IETF(The Internet Engineering Task Force - 互联网工程任务组)对ssl3.0进行标准化,更名为tls1.0(Transport Layer Security 安全传输层协议)

对称加密

对称加密是最快速最简单的一种加密方式,加密与解密都是用的同样的密匙。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。
一般对称加密使用的密钥都比较小。小于256bit。因为密匙越大安全性越好,但相对的解密就越复杂。

在这里插入图片描述用户有了密钥才能进行解密。所以对称加密的一个问题就是怎么解决密匙的管理。怎样能安全的把密匙发送到解密人手里。所以通常的做法就是对密匙进行非对称加密。然后传输给需要的人。

相当于传输信息被放在一个箱子里保护,只能密匙才能打开。然后再给密钥上一个锁,而这个锁只有所需用户才有。

非对称加密

非对称加密使用的是一对密钥,包含了公钥(public key)与私钥(private key)。私钥只能由一方保管,不能外泄,而公钥就时传输的手段。例如我们公司请求一个公钥,我们对公钥进行加密,而此时就只有持有私钥的人才能进行消息解密。私钥不需要通过网络传输。安全性就会大大提升。

下图是标准的对称加密+非对称加密的流程图(对称加密的密钥在这里被称为对称密码)

数字签字

数字签字值得就是通过一些加密算法生成的一系列符号及代码组成电子密码进行签名。数字签名在ISO7498-2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。

原理:每人都有一对钥匙,一个公钥一个私钥。签名时用私钥,验证时用公钥。
数字签名作用:防止交易中抵赖的情况、保证发送者的身份认证、保证数据传输的完整性。

验证情况:
例如我们有一段数据需要传输,我们就会对这段数据进行hash计算。之后把这个hash值加密后与签名和信息一起发出去(过程不可逆,例如有人用公钥)。接收方收到信息后就会利用公钥来验证签名。并重新把文件里的数据转变为数据,如一致就没有被人更改。
在这里插入图片描述

篡改情况:
假如我有一个需求需要满足,我就会伪造一对秘钥,然后把我的要求进行hash加密,然后把文件和我的公钥发送给能满足我需求的那个人。当他用公钥进行识别是,会发现签名正确并且hash值正确。这样就会有一种错误的引导。说明只有数字签字是不够的。我们还需要数字认证来对私钥身份进行绑定。

数字证书

数字证书是用来验证公钥所属的用户身份,是一个人或一个组织在网络世界中的身份证,其发证机关是证书管理机构(certificate authority,CA)。CA用自己的私钥对用户的身份信息(主要是用户名和该用户的公钥)进行签名,该签名和用户的身份信息一起就形成了证书。

所以当冒充者用自己的私钥进行加密后,正主的公钥就不能看到数字签字,说明不是本人加密。

验证证书真伪:通过ca的公钥来验证证书的真伪:证书的数字签名。

ssl基本概念

ssl(secure socket layer,安全套接字层),ssl协议位于tcp协议与各种应用层协议之间,为数据通讯提供数据加密,服务验证,消息完整性实现用户机与服务器的安全通讯。

ssl协议可分为两层
1.ssl记录协议(ssl record protocol):他建立在可靠的传输协议上(tcp协议),为高层协议提供可靠的数据封装、压缩、解密等功能。(主要是封装上层协议数据的协议,在ssl协议中,所有的数据都是被封装在记录中的)
在这里插入图片描述

2.ssl握手协议:他建立在ssl记录协议之上,用于在正式传输之前使通讯双方进行身份验证、协议加密算法、交换密匙等等。
握手协议有包括四个子协议:握手协议(handshake protocol)、更改加密规范协议(change cipher spec protocol)、应用数据协议 (application data protocol)、警告协议 (alert protocol)。
在这里插入图片描述

ssl握手协议
ssl握手协议是客户端与服务端之间用ssl连接的第一个协议。ssl握手协议会被封装在ssl记录协议里,这个协议允许客户端与服务端在传输和接受数据之前相互验证、协商加密算法和密钥。在初次建立ssl连接的时候,服务区和客户端会交流一系列消息。

交互信息后可以达到以下效果
1.客户机认证服务器
2.双方都支持的加密算法
3.可选择服务器认证客户
4.建立ssl加密连接
5.使用公钥技术产生共享密钥。
 在这里插入图片描述

参考文章

csdn
对称加密+非对称加密,实现数据安全传输 Aminy12

理解SSL/TLS系列 (四) 记录协议 zhanyiwp

博客园
加密(3)——数字签名 梅桦

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值