为什么要有HTTPS,TLS又是啥

Android_Banner.jpg

为什么要有HTTPS

在之前介绍HTTP时,曾说过它有一些缺点

  • 无状态:在加入Cookie机制之后得到解决

  • 明文传输

  • 不安全

为什么要有HTTPS

为什么要有HTTPS?因为HTTP是明文传输不安全;

由于HTTP天生就是明文传输,整个传输就是透明的,任何人都能在链路中截获、修改或者伪造请求/响应的报文,使得数据具有不可信;

举个蛎子(看懂的人请联系我)

之前介绍的代理服务,它是处于通信的中间人,在数据的上下行的时候,可以去修改报文中的数据包括头字段/body,这对客户端和服务器来说都是未知的,无法判断报文的真假,这是一件很可怕的事情;

对于普通的网民来说,HTTP不安全的隐患就更大了,上的网站不知道真假,被黑客钓鱼了,伪装的银行网站,输入了自己的银行密码,盗取了个人的敏感信息;很不好的;

对于【不安全】什么是【安全】呢?

通常认为,通行过程具备了如下四个特性就可以认为是安全的;

  • 机密性

  • 完整性

  • 身份认证

  • 不可否认

机密性

简单来说就是不能让不相关的人看见不该看的数据

就是指数据时【保密的】,只能由可信的人访问,对其他人是不可见的【秘密 】

完整性

就是指数据在传输过程中没有被窜改;

机密性可以让数据成为秘密,但是不能保证被替换或者窜改;

身份认证

就是确保对方的真实身份,也就是【证明你真的是你】保证消息只能发送给可信的人;

比方说通信的另一方是伪造的网站,那么你的数据在完整在保密也是没用的啊,完全可以用伪造的网站套出各种信息;

不可否认

叫做不可抵赖,意思是不能否认已经发生过的行为,不能说话不算数;

比方说就是你发出的请求就是你的行为,不能耍赖;

就好比某某人向你借钱,没打借条,后来反悔了没办法证明想你借钱,就是耍无赖嘛;

HTTPS的出现

HTTPS增加了刚才所说的四大特性,保证了安全;

HTTPS也是一个协议,协议名为【https】、端口为【443】,其他的协议格式和字段都是和HTTP等价的;

HTTPS同时能够鉴别危险的网站。尽最大的可能保证用户的上网安全;

HTTPS的保证安全是怎么做到的

HTTPS的杀手锏就在于这个【S】

HTTP协议的下层是使用TCP/IP传输协议的,但是HTTPS是把【TCP/IP】协议替换成了【SSL/TLS】

由【HTTP over TCP/IP】变成了【HTTP over SSL/TLS】

让HTTP运行在安全的SSL/TLS协议上,收发报文不再使用Socket API,调用专门的安全接口;

由此看下SSL/TLS真实太牛掰了,简直是跨世纪的伟大发明啊;

HTTPS-SSL:TLS.png

SSL/TLS

SSL

SSL叫做安全套接层(Secure Sockets Layer),处于OSI的会话层,是由网景公司发明的;

SSL发展到V3版本时时一个非常好的安全通信协议,于1999年改名为TLS(传输层安全)

TLS

TLS属于正式标准化了,版本号从1.0开始,TLS1.0就是SSLv3.0

TLS发展至今出了三个版本了。紧跟随密码学和互联网的发展,这个密码学在安全保护上真的是起了太大的作用;

TLS中综合使用了对称加密、非对称加密、身份认证等你许多密码学的前沿技术;

扩展

除了HTTP,SSL/TLS也可以承载其他应用的协议,比如【FTP】

OpenSSL

OpenSSL是一个著名的开源密码学程序库和工具包,已经成为事实上的标准,许多应用软件都会使用它来做为底层库来实现TLS工程

包括常用的Web服务器【Apache】、【Nginx】;

你可能感兴趣的:(为什么要有HTTPS,TLS又是啥)