计算机网络-http/https

读书笔记 来自图解HTTP

1.HTTP的缺点

  • 通信使用明文(不加密),内容可能会被窃听
  • 不验证通信方的身份,因此有可能遭遇伪装
  • 无法证明报文的完整性,所以有可能已遭篡改

以下是对明文的相关加密算法

2. HTTP+加密+认证+完整性保护=HTTPS

我们把添加了加密及认证机制的HTTP称为HTTPS(HTTP Secure)。

HTTPS是身披SSL外壳的HTTP

HTTPS并非是应用层的一种新协议。只是HTTP通信接口部分用SSL(Secure Socket Layer)和TLS(Transport Layer Security)协议代替而已。

计算机网络-http/https
SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telnet等协议均可配合SSL协议使用。可以说SSL是当今世界上应用最为广泛的网络安全技术。

2.1 相互交换**的公开**加密技术

SSL采用一种叫做公开**加密(Public-key cryptography)的加密处理方式。

近代的加密方法中加密算法是公开的,而**却是保密的。通过这种方式得以保持加密方法的安全性。

加密和解密都会用到**。没有**就无法对密码解密,反过来说,任何人只要持有**就能解密了。如果**被攻击者获得,那加密也就失去了意义。

加密和解密同用一个**的方式称为共享**加密(Common key crypto system),也被叫做对称**加密。

2.2 以共享**方式加密时必须将**也发给对方。可究竟怎样才能安全地转交?

使用两把**的公开**加密

公开**加密使用一对非对称的**。

一把叫做私有**(private key),另一把叫做公开**(public key)。

顾名思义,私有**不能让其他任何人知道,而公开**则可以随意发布,任何人都可以获得。

利用这种方式,不需要发送用来解密的私有**,也不必担心**被攻击者窃听而盗走。

2.3 HTTPS采用混合加密机制

计算机网络-http/https

2.4 证明公开**正确性的证书

公开**加密方式还是存在一些问题的。那就是无法证明公开**本身就是货真价实的公开**。

为了解决上述问题,可以使用由数字证书认证机构(CA,Certificate Authority)和其相关机关颁发的公开**证书。

其流程为:

首先,**服务器的运营人员向数字证书认证机构提出公开**的申请。**数字证书认证机构在判明提出申请者的身份之后,会对已申请的公开**做数字签名,然后分配这个已签名的公开**,并将该公开**放入公钥证书后绑定在一起。


接到证书的客户端可使用数字证书认证机构的公开**,对那张证书上的数字签名进行验证,一旦验证通过,客户端便可明确两件事:
一,认证服务器的公开**的是真实有效的数字证书认证机构。
二,服务器的公开**是值得信赖的。

而使用通信方式时,如何安全转交是一件很困难的事,因此,多数浏览器开发商发布版本时,会事先在内部植入常用认证机关的公开**。

计算机网络-http/https

2.5 证书的作用

证书的一个作用是用来证明作为通信一方的服务器是否规范,另外一个作用是可确认对方服务器背后运营的企业是否真实存在。

3. HTTPS的安全通信机制

计算机网络-http/https
计算机网络-http/https

此外使用SSL时,服务器的处理速度会变慢。 因为存在加密解密的过程;