关于https

HTTPS 在 HTTP 下面提供了一个传输级的密码安全层——可以使用 SSL,也可以使用其后继者—— 传输层安全(Transport Layer Security,TLS)。
先了解加密
密钥:
编码密钥 e,解码密钥 d
对称密钥加密:
流行的对称密钥加密算法包括:DES、Triple-DES、RC2 和 RC4
编码时使用的密钥值和解码时 一样(e=d)。
缺点:
对称密钥加密技术的缺点之一就是发送者和接收者在互相对话之前,一定要有一个共享的保密密钥。
比如 Alice(A)、Bob(B)和 Chris(C)都想与 Joe 的 五金商店(J) 对话。A、B 和 C 都要建立自己与 J 之间的保密密钥。A 可能需要密钥 KAJ,B 可能需要密钥 KBJ,C 可能需要密钥 KCJ。每对通信实体都需要自己的私有密钥。如果有 N 个节点, 每个节点都要和其他所有 N-1 个节点进行安全对话,总共大概会有 N2 个保密密钥: 这将是一个管理噩梦。
公开密钥加密技术:
公开密钥加密技术没有为每对主机使用单独的加密 / 解密密钥,而是使用了两个非对称密钥:一个用来对主机报文编码,另一个用来对主机报文解码。
但公开密钥加密算法的计算可能会很慢。实际上它混合使用了对称和非对称策略。 比如,比较常见的做法是在两节点间通过便捷的公开密钥加密技术建立起安全通信, 然后再用那条安全的通道产生并发送临时的随机对称密钥,通过更快的对称加密技 术对其余的数据进行加密。(SSH和HTTPS都是这样的)
除了加 / 解密报文之外,还可以用加密系统对报文进行签名(sign),以说明是谁编写的报文,同时证明报文未被篡改过。这种技术被称为数字签名(digital signing)。
私钥和公钥是一对,都可以加解密,配对使用。RSA 的原理,两个大质数(p,q)乘积(n)难以逆向求解,所以 pq 是对等的,公钥和私钥也是对等的。
SSL握手阶段生成对话密钥一共需要三个随机数。握手之后的对话使用 对话密钥(session key) 加密(对称加密),服务器的公钥和私钥只用于加密和解密 对话密钥(session key)(非对称加密),无其他作用。
整个握手阶段都不加密(也没法加密),都是明文的。因此,如果有人窃听通信,他可以知道双方选择的加密方法,以及三个随机数中的两个。整个通话的安全,只取决于 第三个随机数(Premaster secret)能不能被破解。
虽然理论上,只要服务器的公钥足够长(比如2048位),那么 Premaster secret 可以保证不被破解。但是为了足够安全,我们可以考虑把握手阶段的算法从默认的 RSA算法,改为 Diffie-Hellman算法(简称DH算法)。
采用 DH算法 后,Premaster secret 不需要传递,双方只要交换各自的参数,就可以算出这个随机数。
OpenSSL 是 SSL 和 TLS 最常见的开源实现。OpenSSL 项目由一些志愿者合作开发, 目标是开发一个强壮的、具有完备功能的商业级工具集,以实现 SSL 和 TLS 协议以 及一个全功能的通用加密库。
https://segmentfault.com/a/1190000011675421
https://zhuanlan.zhihu.com/p/27395037
SSL/TLS协议
SSL是指安全套接层协议(以及传输层协议TLS),位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持
https和ssh都是用了SSL/TLS协议实现的方案
http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
证书的区别:
https://help.aliyun.com/knowledge_detail/44788.html

ref:

https://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

https://segmentfault.com/a/1190000012196642

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值