最近,Google要求Android下一个版本Android P 的应用程序,将默认使用加密连接,这意味着运行 Android P 系统的安卓设备无论是接收或者发送数据,未来都不能明文传输,需要使用TLS(Transport Layer Security)传输层安全协议,而 Android P之前版本则不受影响。
说到TLS就不能不说SSL,甚至常常将其放在一起。
我们首先来看一下SSL和TLS介绍及区别!首先看一下经典的网络体系结构模型,SSL/TLS所在的位置如下:
(图片来自网络)
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。
TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。
SSL为Netscape所研发,用以保障在网络上数据传输之安全,利用数据加密技术确保数据在网络上之传输过程中不会被截取。SSL协议运行的基础是B2C信息保密的承诺,特点是有利于商家而不利于消费者。但随着互联网的发展,各中企业和个人也参与进来,这样在网络支付过程中的单一认证问题就越来越突出。虽然在SSL3.0中通过数字签名和数字证书可实现浏览器和Web服务器双方的身份验证,但是SSL协议仍存在一些问题。
而TLS是IETF(Internet Engineering Task Force)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本。但TLS与SSL3.0之间存在着显著的差别,主要是它们所支持的加密算法不同,所以TLS与SSL3.0不能互操作。
TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。TLS 在SSL v3.0 的基础上,主要有以下增强内容:
1)TLS 使用“消息认证代码的密钥散列法”(HMAC)更安全的MAC算法。
2)TLS提供更多的特定和附加警报,还对何时应该发送某些警报进行记录。
3)增强的伪随机功能,TLS对于安全性的改进。
这两个协议的资料,汗牛充栋,安智客希望大家看的轻松,明了!
最后,祝大家劳动节快乐!