微信小程序隐私技术保护:HTTPS受权确认
【微信隐私保护指引】据微信派公众号消息,近期,微信进行了版本升级,所有进入iOS 6.5.16 、Android 6.5.14最新版本微信的使用户在初次登入微信时,会收到一条必读消息《微信隐私保护指引》。点击“理解更多”可进一步阅读详细的《指引》内容,其中,主要公示了微信一直以来保护使用户隐私的主旨和细则。使用户初次注册或者登录新版本微信时,会弹出《微信隐私保护指引》,使用户仅需阅读并点击同意就可正常登录用微信,不会产生其余任何影响。若点击“不同意”可可以影响正常登录及用微信。
那么微信小程序是如何通过技术手段保护使用户隐私呢?
一、受权确认,信息曝露少
微信小程序是一种不需要下载安装即用的应使用,它实现了应使用“触手可及”的梦想,使用户扫一扫或者搜一下就可打开应使用,表现了“使用完即走”的理念。但是进入小程序,依然会有小程序本身需要的登录信息和程序要读取微信账户的账户信息,
在实际的小程序开发中,往往需要使用户受权登陆并获取使用户的数据,快速对接使用户系统。就是所谓的获取受权收集openid,调使用接口获取登录凭证(code)进而换取使用户登录态信息,包括使用户的唯一标识(openid) 及本次登录的会话密钥(session_key)等。
openId : 使用户在当前小程序的唯一标识
unionId : 假如开发者拥有多个移动应使用、网站应使用、和公众帐号(包括小程序),可通过unionid来区分使用户的唯一性,由于只需是同一个微信开放平台帐号下的移动应使用、网站应使用和公众帐号(包括小程序),使用户的unionid是唯一的。换句话说,同一使用户,对同一个微信开放平台下的不同应使用,unionId是相同的。介绍登录微信开放平台(http://open.weixin.qq.com) 。
在微信小程序开发中,unionId等敏感数据则被加密在encryptedData,于是需要以下流程来解密敏感数据,从而获取unionId等信息
openid是使用来验证使用户身份,每个接入微信的应使用(公众号、app)就像一个独立的商场,使用户用这些应使用就像逛商场,商场会使用会员卡识别使用户,相似的,微信根据商场名字为每个使用户生成了专属的会员卡(openid)。每张会员卡只可以在对应的商场才可以用,,比方,你不可以拿着中百的卡去沃尔玛积分,这是一种安全的受权方式,假如没有这个会员卡(openid),直接暴露微信号,就想到相当于拿着身份证去逛商场一样,所以,丢失一个会员卡号远比丢失身份证号更安全。
小程序获取openid,创立session,使用于使用户信息传输加密,第一使用户公开信息的获取通过微信官方的接口得以保证,已获取的信息的安全性由该软件的开发者来保证。
二、HTTPS安全链接,防窃取
HTTP明文协议是不安全的传输协议,无法进行服务器端真实身份校验,也不可以为传输数据提供加密保护,通过HTTP协议传输的数据时刻处在被窃听、篡改、冒充的风险中。HTTPS传输协议在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密,确保数据传输到正确的服务器端,并防止中间人窃取传输数据。
为什么要接入 HTTPS—HTTP 的安全风险,很显然,HTTP 和人们生活及经济利益密切相关,遗憾的是,它不安全。这里潜藏着巨大的安全隐患。这些隐患又集中体现在如下两方面:
1、隐私泄露
因为 HTTP 本身是明文传输,使用户和服务端之间的传输内容都可以被中间者查看。也就是说 你在网上搜索、购物、访问的网点、点击的页面等信息,都能被「中间人」获取。因为国人大多不太重视隐私的保护,这里的风险比较隐性,伤害后果也不太好定量评估。已知的少量比较严重的隐私泄露事件包括:
1)QQ 登陆态被不法分子窃取,而后在异地登陆,进行广告和欺诈行为。
2)使用户手机号和身份信息泄露。
3)使用户网上行为泄露。比方搜索了一所医院,很快就会有人打电话进行推广(非效果广告)。
2、页面劫持
隐私泄露的风险比较隐蔽,使用户基本感知不到。但另外一类劫持的影响就非常显著非常直接了——页面劫持,也就是直接篡改使用户的浏览页面。有很多页面劫持很简单粗暴,直接插入第三方广告或者者经营商的流量提醒信息。但也有少量劫持做得比较隐蔽,换成 HTTPS 访问,就没有这个工具页面,显然是被劫持了。
3、劫持路径及分类
那劫持究竟是如何产生的呢?从技术上来讲比较简单,在内容经过的地方进行监听篡改就行了。但要想把整个劫持的产业链条摸清楚,需要深入黑产内部,比较困难。有一点能一定的是,劫持大部分都是在中间的网络节点发生的,又叫「中间人」(MITM, man in the middle)。因为信息传输都需要经过上述的「中间人节点」,它们又拥有信息的读写权限,假如信息没有加密,也没有校验,那么想要查看隐私,篡改页面,对于「中间人」来说可谓是轻而易举。
那劫持又有哪些主要的分类呢?根据劫持路径划分的话,主要三类:
DNS 劫持,用户端劫持和链路劫持。 根据我们的不完全统计,业务遇到的绝大部分劫持 (90%)都属于链路劫持。
HTTPS 是处理链路劫持的核武器
HTTPS 为什么可以很好的处理链路劫持呢?主要是三大武器:
1)身份认证—防假冒,防抵赖
每次建立一个全新的 HTTPS 连接时,都需要对身份进行认证,确保使用户访问的是正确的目的网站。
2)内容加密—防窃听
内容加密意味端对端的通信内容全都是密文,中间人无法直接查看到明文,HTTPS 所有的应使用层内容都是通过对称加密来实现加密和解密的。
3)一致性校验—防篡改
通过对数据和共享密钥的 MAC 码来防止中间者篡改消息内容,确保数据的一致性。
目前全球互联网正在从HTTP向HTTPS的大迁移,Chrome和火狐浏览器将对不采使用HTTPS加密的网站提醒不安全,苹果要求所有APP通信都必需采使用HTTPS加密,微信小程序强制要求服务器端用HTTPS请求,正是顺应了互联网安全的趋势。
所以说,微信小程序的保护隐私做得非常好,完全不使用担心。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 微信小程序隐私技术保护:HTTPS受权确认