苹果要求所有ios应用,网络通讯都要使用https协议,虽然不理解苹果为什么要这么干,那就跟着升级呗!
1.http协议的问题
https协议说白了就是安全的http协议。那它怎么保证网络通讯的安全呢?
先来看下http协议和https协议的区别,就传输层多了一个ssl层。
SSL层为http协议的安全漏洞提供的解决方案。SSL技术有景网通讯公司开发,具体SSL层干了哪些事情,请参考:SSL原理
1. 加密
https协议采用混合加密方式,即共享加密和公开密钥加密。共享密钥只有一把密钥,密钥丢失,加密就没有意义了,但是优点是速度快。公开密钥加密是非对称加密:分公钥和私钥,通过公钥加密的数据只能通过私钥才能解密,通过私钥加密的数据,通过公钥也能解密。公钥是公开的。详细的加密原理请参考:非对称加密 混合加密的优点是既保证了安全,又在一定程度上提高了速度。
2.认证
认证过程比较复杂,简单的讲,就和支付宝在网购的过程中的作用相似,甲乙两人想做生意,但又彼此不信任,就找来了大家都信任的支付宝。这样甲乙就建立的信任关系。具体服务端和客户端的通信过程。看下图:
3. 完整性
应用层发送数据是会附加一种叫做MAC的报文摘要,MAC能够查知报文是否遭到篡改。从而保护报文的完整性
使用HTTPS协议会使通信变慢吗?
会的,肯定会的,1. 加密解密会耗费CPU的资源。2.在通信是建立SSL会话也需要时间。会比HTTP慢2-100倍。
ios应用升级https后开发工程师需要改动那些东西呢?
信任服务器即可。
使用NSURLConnection.
使用AFN
不对的地方,欢迎指正!谢谢