如何评价苹果公司要求开发者在 2017 年前全部采用「HTTPS」?

苹果在 WWDC 期间的一次有关安全的 presentation 中提到,所有开发者在 2017 年 1月 1 日前,要开启 ATS 功能(App Transport Security),它会强制 App 在连接 Web 服务时经过 HTTPS 链接而不是 HTTP,以保护用户数据在传输过程中的安全。 外媒原文:Apple will require HTTPS connections for iOS apps by the end of 2016 「During a security presentation at Apple’s Worldwide Developers’ Conference, the company reve…
关注者
715
被浏览
44517

66 个回答

百度被当枪用来ddos攻击github之后,小米路由劫持http连接在网用户页里插广告之后,某几款云输入法被爆出无视用户选项明文上传输入内容至云端之后,https的重要性还需要强调么?
=========================
评论中有人希望详细解释一下区别,我就班门弄斧一下好了

简单来讲,HTTP做的事情就是把浏览器向服务器发出的获取页面的请求和提交的数据(填表或登录),和服务器返回的页面的内容,通过明文的方式进行传输,没有加密,没有对服务器和数据的认证。

所以如果有中间人能拦截到通信(不怀好意的路由器、运营商、同一个局域网或者共用一个公共Wi-Fi内的电脑),就可以随时知道某人浏览器正在看什么网页,用户名密码框里写了什么,填表提交的时候姓名住址身份证号里边填了什么,上传的手持身份证照片等等。同时由于HTTP并不验证服务器返回的数据的真实性,因此中间人也可以篡改返回的网页内容,比如插个广告,把用户导向另一个网页(输入X宝结果打开了X东),通常这被称为中间人攻击(man in the middle attack, MITM)

Man-in-the-middle attack

中间人攻击_百度百科

小米路由最新固件,开始插入流氓广告插件,恶心

遇到运营商的 DNS 劫持广告应该怎么办? - 电信运营商

即使中间人不能完全控制通信的通道篡改数据,但是有时间优势,比如能直接接入用户所在区域的骨干网,可以在发现了用户的请求以后赶在服务器回复之前抢先回复一个仿冒的网页给用户,之后返回的正牌数据会被无视,也可以起到类似的效果,通常称为旁观者攻击(man on the side attack),这部分估计不能说太细,只附上英文维基百科供大家自行鉴赏

Man-on-the-side attack

HTTPS引入了对数据的加密和对数据来源的验证,通过了会在地址栏里显示一把绿锁,在加密算法和服务器验证机制没被破解的情况下,中间人无法拦截和伪造数据(硬上的话浏览器会发出警告)。不过针对HTTPS的攻击模型也已经出现了,所以HTTPS也不是完美无缺的,只是大幅提高了HTTP的安全性

Google发现法国政府伪造CA证书

谷歌称CNNIC发布伪造CA证书

通过伪造CA证书,实现SSL中间人攻击
现在iOS9就已经开启ATS了。不单单是禁止HTTP通讯,如果你的HTTPS服务器的Cipher Suite不符合要求(加密算法太落后),也会禁止连接。

从长远来看这当然是好事,站在用户角度谁都不希望自己的通讯是HTTP的。最好的解决办法是升级你的服务器,赶紧搞个SSL证书。不但你的用户隐私得到了保障,你自己的网站应用也更加规范了。
为什么?