微信小程序上线已经有很长一段时间了,而开发者在接入小程序的过程中,会遇到一些问题,例如小程序要求必须通过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开始 开发者绕不开的“劫”的更多相关文章

  1. spring boot / cloud (五) 自签SSL证书以及HTTPS

    spring boot / cloud (五) 自签SSL证书以及HTTPS 前言 什么是HTTPS? HTTPS(全称:Hyper Text Transfer Protocol over Secur ...

  2. Linux下Nginx配置阿里云 SSL证书实现HTTPS访问

    这篇文章主要介绍了nginx配置ssl证书实现https访问的示例 1.服务器系统:Centos 2. 阿里云申请SSL证书 选择“免费版DV SSL”,点击立即购买: 下载证书 列表中找到已签发的证 ...

  3. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  4. 在IIS下部署SSL证书实现HTTPS

    在IIS下部署SSL证书实现HTTPS   HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版.谷歌已经制定了一项长远的计划,它的最终目标是将所有通过HTTP协议呈现的网页标为“不安全” ...

  5. 阿里云服务器Centos上Apache安装SSL证书配置Https

    首先我们先去阿里云申请一个免费的SSL证书(https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232BzMSp5&co ...

  6. SSL证书部署HTTPS站点Apache/Nginx配置

    SSL证书及HTTPS协议 SSL 证书是一种数字证书,它使用 Secure Socket Layer 协议在浏览器和 Web 服务器之间建立一条安全通道,从而实现:1.数据信息在客户端和服务器之间的 ...

  7. windows系统配置Nginx使用SSL证书实现Https反向代理

    Nginx反向代理服务,可以代理接收请求,并把请求转发到设置好的其他服务器上. 例如,Nginx服务器为 100.101.102.103,A服务为 100.101.102.104 ,通过Nginx配置 ...

  8. SSL证书与Https应用部署小结

    为了提高网站的安全性,一般会在比较敏感的部分页面采用https传输,比如注册.登录.控制台等.像Gmail.网银等全部采用https传输. https/ssl 主要起到两个作用:网站认证.内容加密传输 ...

  9. phpstudy 安装Apache SSL证书实现https连接

    Windows phpstudy安装ssl证书教程. 工具/原料   phpstudy 集成环境 申请的SSL证书 方法/步骤     首先申请免费的ssl证书,很多地方都可以申请.我是在腾讯云!如图 ...

随机推荐

  1. Day 17:缓冲输出字符流和用缓冲输入输出实现登录、装饰者设计模式

    输出字符流 Writer  所有输出字符流的基类,  抽象类. FileWriter 向文件输出字符数据的输出字符流. BufferedWriter 缓冲输出字符流        缓冲输出字符流作用: ...

  2. Mysql :分支结构—if函数

    一分支结构 1.if函数 功能:实现简单的双分支 语法: IF (表达式1,表达式2,表达式3) 执行顺序 如果表达式1成立 则if函数返回表达式2的值,否则返回表达式3的值 应用: 任何地方

  3. [CISCN2019 华北赛区 Day1 Web5]CyberPunk

    0x00 知识点 PHP伪协议直接读取源码 http://xxx.xxx/index.php?file=php://filter/convert.base64-encode/resource=inde ...

  4. Java8 Optional类使用小结

    Optional类的Javadoc描述如下: 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. of:  为非null的值创建一 ...

  5. 在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4

    上次在网上找了一个在阿里云Centos7.6中部署nginx1.16+uwsgi2.0.18+Django2.0.4的文档,可能是这个文档不是最新版的,安装的时候遇到了很多问题, 最后跟一个大神要了一 ...

  6. CSS绘制小三角

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. redhat8 不支持ansible批量管理解决方案

    redhat8默认不安装python,因此无法通过python去管理,直接上解决方案. dnf install python3 -y alternatives --set python /usr/bi ...

  8. clion 的 安装 变量配置的 搬运工(有点基础应该能看 大家看不懂 就是我自己看 哈哈哈哈哈哈)

    1  自行安装一个  clion 2 https://blog.csdn.net/u013023297/article/details/80723847   mingw  的配置    第二篇好像当时 ...

  9. H3C S10512虚拟化配置

    软件版本:Version 7.1.070, Release 7585P05 1.配置SW1#设置SW1的成员编号为1,创建IRF端口2,并将它与物理接口Ten-G0/0/45.Ten-G0/0/46. ...

  10. ftp主动和被动模式区别

    转载自:http://www.west999.com/cms/wiki/server/2018-11-16/49417.html FTP是基于TCP的服务的,FTP不同之处在于FTP使用两个端口,一个 ...