玩转信息安全之【从HTTP到HTTPS,从SSL到TLS】

一、什么是HTTP

说起HTTP,大家应该都知道,这是互联网上应用最为广泛的一种网络协议,全称是Hyper Text Transfer Protocol(超文本传输协议)。它是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。这个模型是早期Web成功的大功臣,因为它大大提高了网络传输的效率。

HTTP是一种应用层协议。同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。但它凭借着自身独有的优势,大力推动了www万维网的发展和普及。因此,早在1990年时,http就成为了www的支撑协议,万维网上所有的网站域名都是以http开头的,就算你自己不输入这四个字符,系统也会自动帮你补全。

二、什么是HTTPS

然而,今天的你,打开浏览器上网时会发现,很多网站的域名上,已经不再是http开头了,取而代之的是https。这是什么意思呢?

HTTPS全称是Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,即超文本传输安全协议。简单说来,它是HTTP的安全加强版,用于保护所传输的信息内容。HTTPS协议的主要有两个作用:一是建立一个信息安全通道,来保证数据传输的安全;另外就是确认网站的真实性。

如果要对比一下,HTTP与HTTPS二者之间的区别大致如下:

  • HTTPS是具有安全性的SSL加密传输协议,确保信息传输的安全性;HTTP是明文传输协议,没有安全性可言;
  • HTTPS需要用到SSL证书,一般免费证书较少,因而需要一定费用;而HTTP不用;
  • HTTPS与HTTP使用的是完全不同的连接方式,用的端口也不一样,前者是443,后者是80;
  • HTTPS基于传输层,HTTP基于应用层;
  • HTTPS在浏览器显示绿色安全锁,HTTP没有显示;

三、什么是SSL

OK,上面又出现了一个新概念,SSL,这是个什么鬼?

SSL全称是Secure Sockets Layer,即安全接层,是一种标准协议,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保隐私数据的安全性和完整性,防止被截取及窃听。

1、SSL协议

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议提供的安全通道有以下三个特性:

  • 机密性:SSL协议使用密钥加密通信数据;
  • 可靠性:服务器和客户都会被认证,客户的认证是可选的;
  • 完整性:SSL协议会对传送的数据进行完整性检查;

SSL协议可分为两层:

  • SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
  • SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

2、SSL证书

SSL证书就是遵守SSL协议,由受信任的CA机构颁发的数字证书。使用SSL证书有许多好处:

  • 保障服务器和浏览器之间的通信安全;
  • 验证网站的真实身份,区别于钓鱼欺诈网站;
  • 加密用户的敏感信息以确保安全;
  • 提高SEO搜索引擎排名;
  • 提升用户对网站的信任;
  • 有助于提高网站的在线销售业绩;

所以,话题回到HTTPS上,我们可以这么理解:HTTPS=HTTP+SSL,即HTTPS的安全基础是SSL。如果想要建立HTTPS连接,则首先必须从受信任的证书颁发机构(CA)机构注册 SSL证书。安装SSL证书后,网站地址栏HTTP后面就会多一个“S”,还有绿色安全锁标志。

四、什么是TLS

随着SSL的发展,从1.0版本升级到2.0版本,再升级到3.0版本。此时,IETF组织(Internet Engineering Task Force,Internet工程任务组)对其进行了规划化处理,将其升级为了另外一种新的协议,称之为TLS(Transport Layer Security,传输层安全性协议),目的是为互联网通信提供安全及数据完整性保障。它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为SSL 3.1。

TLS协议主要解决如下三个网络安全问题:

  • 保密(message privacy),保密通过加密encryption实现,所有信息都加密传输,第三方无法嗅探;
  • 完整性(message integrity),通过MAC校验机制,一旦被篡改,通信双方会立刻发现;
  • 认证(mutual authentication),双方认证,双方都可以配备证书,防止身份被冒充;

TLS协议可以分为两部分:

  • 记录协议(Record Protocol):通过使用客户端和服务端协商后的秘钥进行数据加密传输。
  • 握手协议(Handshake Protocol):客户端和服务端进行协商,确定一组用于数据传输加密的秘钥串。

TLS协议的优势是与高层的应用层协议(如HTTP、FTP、Telnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密通道需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。

发布了167 篇原创文章 · 获赞 766 · 访问量 158万+

猜你喜欢

转载自blog.csdn.net/LEON1741/article/details/104827581