科普之加密、签名和SSL握手

一 背景知识

bash 复制代码
感悟: 不能'高不成低不就'

备注: 以下内容'没有'逻辑排版,仅'做记录'

① 加密方式

bash 复制代码
说明: '单向'和'双向'认证

遗留: 如何用openssl从'私钥'中提取'公钥'?

② 互联网数据安全可靠条件

bash 复制代码
说明: '二者'相互印证

二 互联网加密的细节

① 多种方式混合进行加密

bash 复制代码
说明: '加密'保证数据传输过程的'安全性'

② 图解加密和解密

bash 复制代码
细节1: 对称密钥只对'data'进行加密

细节2: 用'对方公钥B'对对称密钥加密

细节3: 用对称密钥'对data加密后的数据'和用'对方公钥'对对称密钥进行加密后数据'一起'发送

注意: '箭头'方向

③ 为什么要使用https

三 互联网数据签名的细节

① 信息摘要和数字签名理解

bash 复制代码
思考: 如何'保证'数据的完整性和一致性、数据来源的可靠性?

② 数字签名保证了完整性、一致性、来源可靠

③ 数字签名和确认数据的过程

bash 复制代码
说明: '公钥'任何人都能获取,'私钥'自己保留

四 互联网数据安全传输的细节

① 不在意数据丢失

bash 复制代码
 不在意数据'丢失'泄密,而在意数据'完整性'
bash 复制代码
说明: 不加密,'明文',别人能看到发送内容

通俗: 内容你'随便'看,但是如果你'修改'了,我就知道,一般是'非机密'数据,软件'下载'之类

② 在意数据传输泄露

③ 加密和数字签名过程以及反向过程

④ 漏洞引出CA机构

bash 复制代码
漏洞: 在'张三'和'李四'的通信过程中,'王五'做了什么?

  1、 声称'(谎称)'自己是张三,并把'王五自己的公钥'给了'李四'

  2、 然后王五用自己的私钥对'木马程序'进行签名

  3、 进行'对称加密后'再使用'李四的公钥'加密,最后'传输给李四'

五 CA、PKI及信任CA 公信机构

① CA机构生成数字证书过程

② CA自身可靠性保证

bash 复制代码
说明: 信任CA证书的'两个作用'
bash 复制代码
思考: 如何证明'浏览器'收到的公钥'一定是'该网站的公钥 --> 'CA'

遗留:

  1、浏览器厂商'内置'了根证书

  2、证书链的'深度',签发'层级',也是'校验'层级

六 数字证书类型和内容

① SSL证书格式分类

bash 复制代码
细节点:从'数字证书'中获取网站的'公钥'

② 数字证书包含信息

bash 复制代码
数字签名:防止数字'证书'被'篡改'

七 SSL握手机制

① 有了CA后通信机制区别

② 服务器单向认证

bash 复制代码
1: 图谱'交互'过程
bash 复制代码
2: '详细'解析

++++https的握手协议过程RFC文档++++

bash 复制代码
3: '注意'事项

HTTPS双向认证指南

BOB和ALICE通信

八 TLS/SSL初探

① TLS/SSL发展

bash 复制代码
1、TLS协议有'20多年'的历史,所以它有'很多'加密方式

2、为了'理解'TLS1.3中的加密方式,才要'先学习'TLS1.1和 TLS1.2的加密方式

② TLS协议的两部分

bash 复制代码
1、为了解决'保密'性,所以要使用'对称'加密

2、传递密钥通过'握手协议'来完成

备注:为了能够传递密钥首先需要交换加解密的安全套件,协商加密参数,然后构造出各自加密的对称密钥了

3、为了解决'身份验证'问题,还有一个'验证通讯双方身份验证'的步骤,一般是通过'证书'进行验证

③ TLS 安全密码套件demo解读

bash 复制代码
说明: 基于'以上②'的理解,对'TLS安全密码套件'做一个解读

下面: 以TLS1.2中'经常使用'的安全加密套件,以此为'契机'进行解读
相关推荐
w23617346012 小时前
HTTP vs HTTPS:传输协议的安全演进与核心差异
安全·http·https
YJQ99675 小时前
Nginx防盗链及HTTPS:保护网站内容安全与加密传输
nginx·安全·https
问道飞鱼5 小时前
【知识科普】HTTPS 加密中信息的可见性详解
网络协议·http·https·ssl·tls
shanks6612 小时前
【Bug】 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed
网络协议·bug·ssl
浪裡遊17 小时前
跨域问题(Cross-Origin Problem)
linux·前端·vue.js·后端·https·sprint
SQingL1 天前
解决SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption faile的问题
服务器·网络协议·ssl
喝养乐多长不高1 天前
详细PostMan的安装和基本使用方法
java·服务器·前端·网络协议·测试工具·https·postman
你熬夜了吗?2 天前
spring中使用netty-socketio部署到服务器(SSL、nginx转发)
服务器·websocket·spring·netty·ssl
_揽2 天前
前端开发本地配置 HTTPS 全面详细教程
网络协议·http·https
whoarethenext2 天前
https详解
网络·网络协议·https