通信流程:https【SSL/TLS】,git仓库【https/SSH】,蓝牙【面对面快传/AirDrop】

目录

[HTTPS = HTTP(80端口) + SSL/TLS协议(传输层,443端口)](#HTTPS = HTTP(80端口) + SSL/TLS协议(传输层,443端口))

密文传输:SSL的后续版本TLS

TLS1.2握手

[1.摘要算法(散列函数 Hash Function):验证信息的完整性,不可逆](#1.摘要算法(散列函数 Hash Function):验证信息的完整性,不可逆)

第三方认证

引入场景:中间人篡改数据和公钥

引入场景:中间人篡改证书

1.1数字签名:保证数据不被篡改

1.2安全证书:保证公钥不被篡改

包含公钥、域名、有效期、数字签名(第三方机构私钥生成)

存于服务器端,可下载

[应用:yarn/npm certificate has expiredHTTPS 证书过期](#应用:yarn/npm certificate has expiredHTTPS 证书过期)

2.非对称加密(一对秘钥):身份认证,加密解密会话秘钥

2.1服务端发送公钥,作为身份认证

[2.2客户端用密钥交换算法(如 RSA 或 ECDHE)生成的随机对称秘钥,作为协商的会话密钥](#2.2客户端用密钥交换算法(如 RSA 或 ECDHE)生成的随机对称秘钥,作为协商的会话密钥)

[2.3 RSA :客户端用公钥加密会话密钥,服务端用私钥解密该预主密钥(pre-master secret)](#2.3 RSA :客户端用公钥加密会话密钥,服务端用私钥解密该预主密钥(pre-master secret))

3.对称加密(一个秘钥):密文通信,加密和解密数据

[3.4. 服务端用会话密钥加密/解密数据,客户端用会话密钥解密/加密数据](#3.4. 服务端用会话密钥加密/解密数据,客户端用会话密钥解密/加密数据)

SSL重连

[A.通过session ID:只能是同一个服务器](#A.通过session ID:只能是同一个服务器)

[B.通过session ticket:包含对话秘钥和加密方法的加密](#B.通过session ticket:包含对话秘钥和加密方法的加密)

git远程仓库

https:参照上述

SSH:传输层(TCP的22端口)

与TLS同:公钥加密,对称会话秘钥,哈希

公钥加密来安全交换或生成对称会话密钥

对称加密来保护数据传输

使用哈希或MAC防篡改数据。

与TLS区别:身份验证

[SSH 常用秘钥对](#SSH 常用秘钥对)

[TLS 多用证书和公钥](#TLS 多用证书和公钥)

[1.客户端生成密钥对SSH Key(公钥和私钥)](#1.客户端生成密钥对SSH Key(公钥和私钥))

[2.客户端:私钥 签名 随机数 或 特定挑战(challenge)](#2.客户端:私钥 签名 随机数 或 特定挑战(challenge))

3.服务器:公钥来验证签名,确认身份

[4.通常使用 Diffie-Hellman共同生成一个会话秘钥](#4.通常使用 Diffie-Hellman共同生成一个会话秘钥)

5.哈希函数加密数据,会话秘钥加密解密秘文

蓝牙

1.初始配对:互输PIN码(传统),公钥私钥加密

2.基于PIN,设备地址,随机数等生成一个共享/链路秘钥

3.会话秘钥加密解密

应用:面对面快传/AirDrop

蓝牙/wifi/定位:免流量,识别附近对象

参考链接

HTTPS = HTTP(80端口) + SSL/TLS协议(传输层,443端口)

用SSL/TLS对数据进行加密和解密

SSL的全称是Secure Sockets Layer,即安全 套接 层协议

TLS的全称是Transport Layer Security,即安全 传输 层协议

密文传输:SSL的后续版本TLS

TLS1.2握手

1.摘要算法(散列函数 Hash Function):验证信息的完整性,不可逆

用散列/哈希函数得到摘要/哈希值

MD5: 128位散列值 (要被淘汰了)

SHA-1: 160位散列值

SHA-256: 产出256位的散列值

第三方认证
引入场景:中间人篡改数据和公钥
引入场景:中间人篡改证书
1.1数字签名:保证数据不被篡改

一般收发双方会约定好签名串的需要包含哪些内容。

微信支付规定包含: HTTP请求方法URL请求时间戳请求随机串请求报文主体

  1. 发送方A散列 处理(不可逆签名串(固定信息) ,得到**摘要** HashA
  2. 私钥加密摘要得到签名,发送给接收方B
  3. 接收方B使用公钥验证签名,得到摘要 HashA
  4. 接收方B根据双方规定的构造签名串的方法,按照1的步骤生成新的摘要HashB
  5. 比较哈希值HashA。HashB是否一样,如果一样,则证明数据 没有被篡改(签名串包含了请求报文主体(传输的数据),请求体改了则摘要会变).
1.2安全证书:保证公钥不被篡改
包含**公钥、域名、有效期、**数字签名(第三方机构私钥生成)
存于服务器端,可下载
  1. 浏览器安装后会本地自带 权威第三方机构公钥 ,对数字签名 进行解密,拿到HashA
  2. 使用数字证书 中的摘要算法 计算一遍数字证书相关内容 ,生成摘要HashB,比对

证书机构 (CA: Certification Authority)的权威:

证书链(上层证书给下层证书认证)+系统自带自签根证书

证书一个一层套一层的链式关系,

上层证书给下层证书颁发证书和数字签名,下层证书找上层证书认证。

最后认证到根证书,最高层的根证书是自签的(自己给自己颁发证书)。

一般微软等公司会根据一些权威安全机构的评估,选取一些信誉很好,并且通过一定的安全认证的证书发布机构,把这些证书发布机构的证书默认就安装在操作系统里面了。

已安装的信任证书:

windows:win+R -> 输入certmgr.msc.

mac:钥匙串中证书

应用:yarn/npm certificate has expiredHTTPS 证书过期

a.淘宝镜像过期

b.镜像源不符合SSL安全套接协议

2.非对称加密(一对秘钥):身份认证,加密解密会话秘钥

2.1服务端发送公钥,作为身份认证
2.2客户端用密钥交换算法(如 RSA 或 ECDHE)生成的随机对称秘钥,作为 协商的会话密钥
2.3 RSA :客户端用公钥加密会话密钥,服务端用私钥解密该预主密钥(pre-master secret)

2.3 ECDHE**:** 客户端和服务器通过椭圆曲线 Diffie-Hellman 交换来共同生成会话密钥。

3.对称加密(一个秘钥 ):密文通信,加密和解密数据

3.4. 服务端用会话密钥加密/解密数据,客户端用会话密钥解密/加密数据
  • TLS 1.2,消息认证码(MAC,Message Authentication Code):发送方使用共享密钥和MAC算法对消息进行哈希处理
  • TLS 1.3,GCM(Galois/Counter Mode):加密密钥与非加密的MAC密钥相关联来工作。它使用Counter模式和Galois Field运算来实现加密和认证。

SSL重连

A.通过session ID:只能是同一个服务器

目前所有的浏览器都支持这一种方法。

但是这种方法有一个缺点是,session ID 只能够存在一台服务器上,如果我们的请求通过负载平衡被转移到了其他的服务器上,那么就无法恢复对话。

B.通过session ticket:包含对话秘钥和加密方法的加密

session ticket 是服务器在上一次对话中发送给客户的,这个 ticket 是加密的,只有服务器能够解密,里面包含了本次会话的信息,比如对话秘钥和加密方法等。这样不管我们的请求是否转移到其他的服务器上,当服务器将 ticket 解密以后,就能够获取上次对话的信息,就不用重新生成对话秘钥了。

git远程仓库

https:参照上述

SSH:传输层(TCP的22端口)

SSH(Secure Shell)是一种加密的网络协议,用于安全地远程登录服务器、传输数据和执行命令。

与TLS同:公钥加密,对称会话秘钥,哈希

公钥加密来安全交换或生成对称会话密钥
对称加密来保护数据传输
使用哈希或MAC防篡改数据。

与TLS区别:身份验证

SSH 常用秘钥对
TLS 多用证书和公钥

1.客户端生成密钥对SSH Key( 公钥和私钥**)**

ssh-keygen 命令

公钥在 ~/.ssh/authorized_keys 文件中,添加到远程服务器

私钥在 ~/.ssh/id_rsa(默认名称)或其他自定义名称的文件中,保留在本地机器上。

RSA(Rivest-Shamir-Adleman)算法是一种非对称加密算法,广泛用于加密和数字签名

2.客户端:私钥 签名 随机数 或 特定挑战(challenge)

3.服务器:公钥来验证签名,确认身份

4.通常使用 Diffie-Hellman共同生成一个会话秘钥

5.哈希函数加密数据,会话秘钥加密解密秘文

蓝牙

1.初始配对:互输PIN码(传统),公钥私钥加密

无线公钥基础设施(Wireless Public Key Infrastructure,WPKI)的安全连接可能不需要输入

2.基于PIN,设备地址,随机数等生成一个共享/链路秘钥

3.会话秘钥加密解密

应用:面对面快传/AirDrop

蓝牙/wifi/定位:免流量,识别附近对象

参考链接

相关推荐
老六ip加速器25 分钟前
国内ip地址怎么改?详细教程
网络·tcp/ip·智能路由器
欧先生^_^1 小时前
OSPF网络协议
网络·网络协议·智能路由器
光而不耀@lgy2 小时前
C++初登门槛
linux·开发语言·网络·c++·后端
合新通信 | 让光不负所托2 小时前
【合新通信】浸没式液冷光模块与冷媒兼容性测试技术报告
大数据·网络·光纤通信
浩浩测试一下3 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构
Luck小吕5 小时前
两天两夜!这个 GB28181 的坑让我差点卸载 VSCode
后端·网络协议
ZVAyIVqt0UFji5 小时前
360 OpenStack支持IP SAN存储实现
网络·网络协议·tcp/ip·openstack
三思而后行,慎承诺6 小时前
tcp 和http 网络知识
网络·tcp/ip·http
JavaEdge.6 小时前
LangChain4j HTTP 客户端定制:解锁 LLM API 交互的更多可能性
网络·网络协议·http
Hy行者勇哥7 小时前
形象解释 HTTP 的四种常见请求方式及其中的区别联系
网络·网络协议·http