文章插图
01.为何会有HttpsHttp的缺点通信使用明显
通信使用明显意味着安全性大大降低,当通信过程被窃听后,无需花费额外的投入就可看到传输的数据 。
例如使用抓包工具,无需任何配置就可查看任何使用HTTP协议的通信数据;
不验证通信方身份
不验证通信方的身份,将导致通信过程被窃听后,可能会遭遇伪装,例如使用抓包工具抓取数据后,就可按照数据包的格式构造HTTP请求;任何人都向你发送请求,不管对方是谁都返回相应 。
无法验证报文的完整性
不验证报文的完整性,数据在传输过程中就可能被篡改,本来想看杨充呢,结果数据在传输过程中被换成了逗比 。
遭到篡改,即没有办法确认发出的请求/相应前后一致 。
Http的缺点解决方案通信使用明文
既然明文不安全,那可以考虑使用密文,即:对通信数据进行加密 。即便数据被窃听,对方依然需要花费一定的投入来破解,这种高昂的成本间接提高安全级别 。
不验证通信方身份
和服务端使用相同的算法,根据网络请求参数生成一个token,请求/应答时根据token来确定双方的身份 。
无法验证报文的完整性
使用MD5/SHA1等算法进行完整性验证,对方接收到数据后,根据同样的算法生成散列值,比对发送方生成的散列值,即可验证数据的完整性 。
你知道Http存在哪些风险吗?窃听风险:Http采用明文传输数据,第三方可以获知通信内容
篡改风险:第三方可以修改通信内容
冒充风险:第三方可以冒充他人身份进行通信
如何解决这些风险SSL/TLS协议就是为了解决这些风险而设计,希望达到:所有信息加密传输,三方窃听通信内容;具有校验机制,内容一旦被篡改,通信双发立刻会发现;配备身份证书,防止身份被冒充
SSL原理及运行过程SSL/TLS协议基本思路是采用公钥加密法(最有名的是RSA加密算法) 。大概流程是,客户端向服务器索要公钥,然后用公钥加密信息,服务器收到密文,用自己的私钥解密 。
为了防止公钥被篡改,把公钥放在数字证书中,证书可信则公钥可信 。公钥加密计算量很大,为了提高效率,服务端和客户端都生成对话秘钥,用它加密信息,而对话秘钥是对称加密,速度非常快 。而公钥用来机密对话秘钥 。
02.解决方案分析Https加密方式
文章插图
Https=Http+SslHttps保证了我们数据传输的安全,Https=Http+Ssl
之所以能保证安全主要的原理就是利用了非对称加密算法,平常用的对称加密算法之所以不安全,是因为双方是用统一的密匙进行加密解密的,只要双方任意一方泄漏了密匙,那么其他人就可以利用密匙解密数据 。
非对称加密算法之所以能实现安全传输的核心精华就是:公钥加密的信息只能用私钥解开,私钥加密的信息只能被公钥解开 。
非对称加密算法为什么安全服务端申请CA机构颁发的证书,则获取到了证书的公钥和私钥,私钥只有服务器端自己知道,而公钥可以告知其他人,如可以把公钥传给客户端,这样客户端通过服务端传来的公钥来加密自己传输的数据,而服务端利用私钥就可以解密这个数据了 。由于客户端这个用公钥加密的数据只有私钥能解密,而这个私钥只有服务端有,所以数据传输就安全了 。
上面只是简单说了一下非对称加密算法是如何保证数据安全的,实际上Https的工作过程远比这要复杂 。
03.SSL是什么什么是SSL证书Https协议中需要使用到SSL证书 。SSL证书是一个二进制文件,里面包含经过认证的网站公钥和一些元数据,需要从经销商购买 。
证书有很多类型,按认证级别分类:
域名认证(DV=Domain Validation):最低级别的认证,可以确认申请人拥有这个域名
公司认证(OV=Organization Validation):确认域名所有人是哪家公司,证书里面包含公司的信息
扩展认证(EV=Extended Validation):最高级别认证,浏览器地址栏会显示公司名称 。
按覆盖范围分类:
单域名证书:只能用于单域名,foo.com证书不能用于www.foo.com
通配符证书:可用于某个域名及所有一级子域名,比如*.foo.com的证书可用于foo.com,也可用于www.foo.com
多域名证书:可用于多个域名,比如foo.com和bar.com
TLS/SSL的原理是什么?SSL(Secure Sokcet Layer,安全套接字层)
推荐阅读
- 马陵之战的作战双方 马陵之战用的是什么计谋
- 行走茶山之南盆老寨,贺开古茶园古树茶
- 美味之榨菜滚肉片汤
- 著名书法家王羲之的简介 王羲之是东晋著名的书法家
- 电影|国产科幻之光!《流浪地球2》宣布已基本杀青:吴京、刘德华主演
- 宁夏之役明朝兵力 万历宁夏战役
- 澶渊之盟是在哪位宋朝皇帝在位时订立的 简述澶渊之盟的影响
- 曹丕作为一位政治家,有何成就? 曹丕诗歌代表作之一
- 康熙十几岁收拾鳌拜 康熙14岁除鳌拜
- 周幽王叫啥 周幽王之后的王是谁