SSL/TLS加密传输

本文详细介绍了SSL/TLS协议的工作原理,包括单向认证和双向认证的过程。在单向认证中,客户端仅验证服务器身份,而在双向认证中,服务器也会验证客户端的身份。证书的签发、验证和秘钥协商等关键步骤被详细阐述,强调了客户端数量在选择认证方式中的决定性作用。同时,解释了CA(证书签发机构)的角色以及证书的详细工作流程。
摘要由CSDN通过智能技术生成

基础知识

SSL/TLS单向认证:客户端会认证服务器端的身份,但是服务器端不会对客户端进行认证。

SSL/TLS双向认证:客户端和服务端会互相认证,即双发之间要证书交换。

决定性因素:客户端的数量

单向加密的认证过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NTCUejNX-1640690237354)(https://tcs.teambition.net/storage/311zcbdfda0a88b5fafcd62669f094d81155?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY0MTI5NDk1OSwiaWF0IjoxNjQwNjkwMTU5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMXpjYmRmZGEwYTg4YjVmYWZjZDYyNjY5ZjA5NGQ4MTE1NSJ9.kcZ323PDuYcfsyWLLKh4d-H_UCRxvnF7RuugQ01hFII&download=image.png "")]

SSL工作原理

CA(Certificate Center)证书签发机构。两个属性:1.本身受信任,国际认可。2.给他受信任的申请对象签发证书。

私钥用于加密,公钥用于解密。

证书是带有签名的身份信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LLgT9mxq-1640690237357)(https://tcs.teambition.net/storage/311zb188b2a06fa636f11dbbcddd31c7a2c8?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY0MTI5NDk1OSwiaWF0IjoxNjQwNjkwMTU5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMXpiMTg4YjJhMDZmYTYzNmYxMWRiYmNkZGQzMWM3YTJjOCJ9.RRgJ9bj2H0oZqCnNKlzHqvjTti9xFGwFjTkmOTSfaZI&download=image.png "")]

证书的签发过程

在这里插入图片描述

证书包括签名和明文信息两部分,其中签名使用ca.key即ca的私钥加密,到这里我们就能明白通过ca.pub也就是CA的公钥就能解密该签名信息

单向SSL工作流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SwECl0Bh-1640690237360)(https://tcs.teambition.net/storage/311z7b7e497314fddee1ba98ccaf11e4c47b?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY0MTI5NDk1OSwiaWF0IjoxNjQwNjkwMTU5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMXo3YjdlNDk3MzE0ZmRkZWUxYmE5OGNjYWYxMWU0YzQ3YiJ9.Kh9IbvpBHFzuGifCcx05qVrutyM_a3yzB6QOUxBbJCo&download=image.png "")]

(1) 申请证书:服务器生成请求文件Server.csr提交给CA

(2) 审核:CA审核服务器真实性

(3) 签发证书:证书内容就是上面提到的全部内容。到这里已经完成了整个SSL应用的部署,后面的步骤是具体的SSL工作流。

(4) TCP请求:当客户端要和服务器端通信,需要客户端发起一个TCP请求

(5) 返回证书:Server接收到Client的请求后会将证书Server.crt发送给Client。

(6) 验证证书:Client收到服务器证书Server.crt之后会对证书的签名解密,因此要用到对应的公钥,也就是CA的公钥,CA的公钥在CA证书里可以找到,CA证书是提前安装在客户端的。解密签名之后就可以校验摘要信息,域名信息等正确性

(7)协商通信密钥:如果证书校验通过,Server和Client将进行秘钥协商,然后Server和Client通信过程会采用对称秘钥加密。

单向认证和双向认证是什么?

大多情况下,尤其是web站点大多是单向认证即客户端只校验服务端真实性。双向认证在安全要求比较高的场景下需要双方都校验对方,两个过程极其类似,只是在Client认证完服务器证书后,Client会将自己的证书client.crt传给服务器,服务器验证通过后然后开始秘钥协商。

证书详细工作流

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LlTO4PMt-1640690237361)(https://tcs.teambition.net/storage/311z5f11444ee829408a994edff66db6f20b?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTY0MTI5NDk1OSwiaWF0IjoxNjQwNjkwMTU5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMXo1ZjExNDQ0ZWU4Mjk0MDhhOTk0ZWRmZjY2ZGI2ZjIwYiJ9.R2FahSNIHveo0LDF4-3ZAy30SPd_TDr9T9zi1FDhkSA&download=image.png "")]

1)申请认证:服务器需自己生成公钥私钥对pub_svr & pri_svr,同时根据 pri_svr 生成请求文件 csr,提交给CA,csr中含有公钥、组织信息、个人信息(域名)等信息。(图一中server.req就是csr请求文件)

2)审核信息:CA通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等。

3)签发证书:如信息审核通过,CA会向申请者签发认证文件-证书。

证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构 CA的信息、有效时间、证书序列号等信息的明文,同时包含一个签名。

签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用 CA的私钥对信息摘要进行加密,密文即签名。(图一中生成server.crt)

4)返回证书:client如果请求验证服务器,服务器需返回证书文件。(图一中handshake传回server.crt)

5)client验证证书:client读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应 CA的公钥解密签名数据,对比证书的信息摘要,如果一致,则可以确认证书的合法性,即公钥合法。客户端然后验证证书相关的域名信息、有效时间是否吊销等信息。

客户端会内置信任CA的证书信息(包含公钥),如果CA不被信任,则找不到对应 CA的证书,证书也会被判定非法。(图一中check可选,我们可以选择不验证服务器证书的有效性)

6)秘钥协商:验证通过后,Server和Client将进行秘钥协商。接下来Server和Client会采用对称秘钥加密。(对称加密时间性能优)(图一中 pre-master/change_cipher_spec/encrypted_handshake_message过程)

7)数据传输:Server和Client采用对称秘钥加密解密数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值