了解SSL证书从HTTPS开始 开发者绕不开的“劫”

Posted 范少坤的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了了解SSL证书从HTTPS开始 开发者绕不开的“劫”相关的知识,希望对你有一定的参考价值。

微信小程序上线已经有很长一段时间了,而开发者在接入小程序的过程中,会遇到一些问题,例如小程序要求必须通过HTTPS完成服务端通信,开发者需搭建HTTPS服务,进行 SSL 证书申请、部署,完成HTTPS服务搭建。

不仅仅是小程序,苹果 ios 平台,Google,android 在今年也逐步强制要求开发者使用 HTTPS 接入。HTTPS 似乎是一个绕不开的“劫”,让不少开发者费心不已。

为什么开发者绕不开“HTTPS”

如果要绕开HTTPS那么就一定要说说HTTP协议,HTTP 协议是一个非常简单和高效的协议,互联网大部分的应用默认都是使用的HTTP。由于性能和上个世纪 90 年代使用环境的限制,HTTP 协议本身并不是一个为了安全设计的协议,既没有身份认证,也没有一致性检验,最不符合现在安全要求的是HTTP所有的内容都是明文传输的。

另一方面,互联网是一个发展快速的行业,各类的应用已经渗透到人们的生活中,不管是游戏、金融、购物、社交还是用到最多的搜索,这些服务都能带给人们极大的便捷,提升生活质量和效率。

但遗憾的是,大多通过HTTP服务的应用都隐藏着巨大的安全隐患,它不安全。这些安全隐患又集中表现在如下两方面:

1、隐私泄露

由于HTTP本身是明文传输,用户和服务端之间的传输内容都能被中间人查看。也就是说你在网上搜索、购物、访问的网点、点击的内容信息等,都可以被“中间人”获取。由于国内对于隐私保护的重视度不高,而风险又比较隐性,造成的损失及后果也不太好评估。已知的一些比较严重的隐私泄露事件包括:

QQ登陆信息被不法分子窃取,然后在异地登陆,进行广告宣传和欺诈行为。

用户手机号和身份信息泄露。用户在页面中的搜索行为泄露。比如搜索了一所医院,很快就会有人打电话进行推广(非效果广告)。

2、页面劫持

隐私泄露的风险不易发现,用户感知度很低。但另外一类劫持的影响就非常明显而直接了——页面劫持,也就是直接篡改用户的浏览页面。有很多页面劫持是非常简单粗暴的,直接插入第三方广告或者运营商的流量提示信息。

HTTPS 是解决劫持的核武器:HTTPS 为什么能很好的解决劫持呢?主要是三大武器:

1、身份认证—防假冒,防抵赖

每次建立一个全新的 HTTPS 连接时,都需要对身份进行认证,确保用户访问的是正确的目的网站。

技术分享

2、内容加密—防窃听

内容加密意味端对端的通信内容全都是密文,中间人不能直接查看到内容,HTTPS所有的应用层内容都是通过对称加密来实现加密和解密的。

3、一致性校验—防篡改

通过对数据和共享密钥的MAC码来防止中间人篡改内容,确保数据的完整性和一致性。

通过以上介绍,相信开发者明白了为什么微信小程序,苹果 iOS 平台,Google, Android都希望大家部署SSL证书,这个开发者绕不开的“劫”并不是真正的劫,而是信息安全传输的加密者保护者,是个不能绕开的,“保护者”在互联网中担任着非常重要的角色使信息不被泄露,篡改,窃听及劫持。

以上是关于了解SSL证书从HTTPS开始 开发者绕不开的“劫”的主要内容,如果未能解决你的问题,请参考以下文章

验证码识别,这是一个爬虫开发人员绕不开的痛

做机器人开发,你一定绕不开的模块!

做机器人开发,你一定绕不开的模块!

Java 程序员绕不开的 10 本书。。。

c++后端绕不开的7个开源项目,每一个源码值得深入研究

你绕不开的组件—锁,4个方面手撕锁的多种实现