HTTPS是什么
我们知道HTTP是明文传输的,恶意的中间人和窃听者通过截取用户发送的网络数据包可以拿到用户的敏感信息。尤其是涉及网上交易,银行转账等操作更是危害极大。
HTTPS的核心是SSL/TLS安全协议层,该层位于应用层和传输层之间,TLS对应用层数据加密后再向下交给传输层,以解决HTTP安全传输的问题。
下面我们就一起来梳理一下TLS在背后做了哪些事情,为我们的互联网行业保驾护航。
身份验证
发送方与接收方在决定数据传输之前,第一步要做的必然是互相确认对方的身份。TLS使用数字证书帮助确认证书持有者的身份。
证书
证书是一数字形式的身份证明,通常由CA进行颁发。证书中包含了证书持有者的信息,有效期,公钥,序列号,以及证书颁发者的数字签名。
CA
CA(Certificate Authority),数字证书认证机构是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
CA的作用可以用公安局来做个类比,负责给公民颁发居民身份证,身份证上的信息都是公安局签字确认过的,具有权威性。
数字签名
数字签名是非对称加密技术的另一项应用。它的原理非常简单:公私钥是成对使用的,使用私钥加密的密文,只能使用公钥来解密。因为私钥只有特定服务器才知道,所以如果公钥可以解密用私钥加密的密文,必然证明是该服务器发送的。私钥用来数字签名,表明报文是特定服务器发送的;公钥用来验证数字签名。
数字签名是使用私钥加密的校验和。将数字签名附加到报文上,一并发给接收方。
数字签名的作用:
- 证明是作者编写了这条报文;
- 可以防止报文被篡改。
描述一下整个身份验证的过程:
1.客户端向服务器发起请求
2.服务器将CA发给自己的证书发送给客户端
3.客户端在本机查找该CA是否在本机的CA列表中
4.如果存在,客户端使用该CA的公钥对该证书上的CA数字签名进行验证
5.如果验证通过,说明该证书确实是CA颁发的。
6.客户端查看证书是否在有效期,证书上的信息是否与当前访问的域名一致。
7.如果确认一致,则证明该证书属于该服务器所有。
加密
TLS需要解决的问题是安全地交换对称密钥,使用对称密钥进行数据的加解密。
加密有两种主要的技术:对称密钥加密和公开密钥加密。 这两种加密技术,TLS都在使用。
对称密钥
在对称密钥加密中,密钥既用于加密也用于解密。消息交换的双方需要同时知道该密钥。对称密钥加密常用于大数据量的加解密,相比非对称密钥加密,它的加密速度要快得多。常见的对称密钥加密算法有DES
ÿ