TLS(Transport Layer Security,传输层安全协议)
文章插图
04.RSA验证的隐患SSL/TLS协议基本思路是采用公钥加密法(最有名的是RSA加密算法),虽然说是采用非对称加密,但还是有风险隐患 。
身份验证和密钥协商是TLS的基础功能,要求的前提是合法的服务器掌握着对应的私钥 。但RSA算法无法确保服务器身份的合法性,因为公钥并不包含服务器的信息,存在安全隐患:
客户端C和服务器S进行通信,中间节点M截获了二者的通信;
节点M自己计算产生一对公钥pub_M和私钥pri_M;
C向S请求公钥时,M把自己的公钥pub_M发给了C;
C使用公钥 pub_M加密的数据能够被M解密,因为M掌握对应的私钥pri_M,而 C无法根据公钥信息判断服务器的身份,从而 C和 * M之间建立了"可信"加密连接;
中间节点 M和服务器S之间再建立合法的连接,因此 C和 S之间通信被M完全掌握,M可以进行信息的窃听、篡改等操作 。
另外,服务器也可以对自己的发出的信息进行否认,不承认相关信息是自己发出 。
因此该方案下至少存在两类问题:
中间人攻击和信息抵赖
05.CA证书身份验证CA 的初始是为了解决上面非对称加密被劫持的情况,服务器申请CA证书时将服务器的“公钥”提供给CA,CA使用自己的“私钥”将“服务器的公钥”加密后(即:CA证书)返回给服务器,服务器再将“CA证书”提供给客户端 。一般系统或者浏览器会内置 CA 的根证书(公钥),HTTPS 中 CA 证书的获取流程如下所示:
文章插图
注意:上图步骤 2 之后,客户端获取到“CA 证书”会进行本地验证,即使用本地系统或者浏览器中的公钥进行解密,每个“CA 证书”都会有一个证书编号可用于解密后进行比对(具体验证算法请查阅相关资料) 。步骤 5 之前使用的是对称加密,之后将使用对称加密来提高通讯效率 。
CA证书流程原理基本的原理为,CA负责审核信息,然后对关键信息利用私钥进行"签名",公开对应的公钥,客户端可以利用公钥验证签名 。
CA也可以吊销已经签发的证书,基本的方式包括两类 CRL 文件和 OCSP 。CA使用具体的流程如下:
文章插图
在这个过程注意几点:
a.申请证书不需要提供私钥,确保私钥永远只能服务器掌握;
b.证书的合法性仍然依赖于非对称加密算法,证书主要是增加了服务器信息以及签名;
c.内置 CA 对应的证书称为根证书,颁发者和使用者相同,自己为自己签名,即自签名证书(为什么说"部署自签SSL证书非常不安全")
d.证书=公钥+申请者与颁发者信息+签名;
CA证书链如 CA根证书和服务器证书中间增加一级证书机构,即中间证书,证书的产生和验证原理不变,只是增加一层验证,只要最后能够被任何信任的CA根证书验证合法即可 。
a.服务器证书 server.pem 的签发者为中间证书机构 inter,inter 根据证书 inter.pem 验证 server.pem 确实为自己签发的有效证书;
b.中间证书 inter.pem 的签发 CA 为 root,root 根据证书 root.pem 验证 inter.pem 为自己签发的合法证书;
c.客户端内置信任 CA 的 root.pem 证书,因此服务器证书 server.pem 的被信任 。
06.Https工作原理HTTPS工作原理一、首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一致、证书的公钥(RSA加密)等进行校验;
二、客户端如果校验通过后,就根据证书的公钥的有效,生成随机数,随机数使用公钥进行加密(RSA加密);
三、消息体产生的后,对它的摘要进行MD5(或者SHA1)算法加密,此时就得到了RSA签名;
四、发送给服务端,此时只有服务端(RSA私钥)能解密 。
五、解密得到的随机数,再用AES加密,作为密钥(此时的密钥只有客户端和服务端知道) 。
文章插图
详细一点的原理流程客户端发起HTTPS请求
这个没什么好说的,就是用户在浏览器里输入一个https网址,然后连接到server的443端口 。
服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请 。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面(startssl就是个不错的选择,有1年的免费服务) 。这套证书其实就是一对公钥和私钥 。如果对公钥和私钥不太理解,可以想象成一把钥匙和一个锁头,只是全世界只有你一个人有这把钥匙,你可以把锁头给别人,别人可以用这个锁把重要的东西锁起来,然后发给你,因为只有你一个人有这把钥匙,所以只有你才能看到被这把锁锁起来的东西 。
推荐阅读
- 马陵之战的作战双方 马陵之战用的是什么计谋
- 行走茶山之南盆老寨,贺开古茶园古树茶
- 美味之榨菜滚肉片汤
- 著名书法家王羲之的简介 王羲之是东晋著名的书法家
- 电影|国产科幻之光!《流浪地球2》宣布已基本杀青:吴京、刘德华主演
- 宁夏之役明朝兵力 万历宁夏战役
- 澶渊之盟是在哪位宋朝皇帝在位时订立的 简述澶渊之盟的影响
- 曹丕作为一位政治家,有何成就? 曹丕诗歌代表作之一
- 康熙十几岁收拾鳌拜 康熙14岁除鳌拜
- 周幽王叫啥 周幽王之后的王是谁