可信网站验证 可信身份认证系统( 三 )


PS: 整个握手过程第三方即使监听到了数据,也束手无策 。
总结
为什么HTTPS是安全的?
在HTTPS握手的第四步中,假如站点的证书是不受信任的,会显示出现下面确认界面,确认了网站的真实性 。另外第六和八步,使用客户端私钥加密解密,保证了数据传输的安全 。
HTTPS和HTTP的区别
1. https协议需要到ca申请证书或自制证书 。
2. http的信息是明文传输,https则是具有安全性的ssl加密 。
3. http是直接与TCP进行数据传输,而https是经过一层SSL(OSI表示层),用的端口也不一样,前者是80(需要海内备案),后者是443 。
4. http的连接很简朴,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全 。
注重https加密是在传输层
https报文在被包装成tcp报文的时候完成加密的过程,无论是https的header域也好,body域也罢都是会被加密的 。
当使用tcpdump或者wireshark之类的tcp层工具抓包,获取是加密的内容,而假如用应用层抓包,使用Charels(Mac)、Fildder(Windows)抓包工具,那当然看到是明文的 。
PS:HTTPS本身就是为了网络的传输安全 。
例子,使用wireshark抓包:
http,可以看到抓到是明文的:
https,可以看到抓到是密文的:
附录
HTTPS一般使用的加密与HASH算法如下:
非对称加密算法:RSA,DSA/DSS
对称加密算法:AES,RC4,3DES
HASH算法:MD5,SHA1,SHA256
http三次握手:
现在这个社会,我们都离不开网络,那么网络的工作流程是怎么样的呢?从http发起哀求到完成哀求,网络到底给我们做了什么事情?今天我们主要来分析下http哀求的过程:在Http工作之前,Web浏览器通过网络和Web服务器建立链连接,该连接是通过Tcp来完成的,该协议和Ip共同组成了Internet,即闻名的Tcp/Ip协议族,因此Internet也被称为Tcp/Ip网络,Http是比Tcp更高的应用层协议,一般Tcp接口的端口好是80 。
Web浏览器想Web服务器发送哀求命令,这个命令中包含:
Web服务器发送响应数据给Web浏览器,这个包含:
然后Web服务器关闭连接 。
以上就是基本的http哀求 。在这个过程中,http建立连接,Tcp经过了3次握手,下面我们来讲讲详细的3次握手的过程,首先我们来看一张图:
1:客户端发送了一个带有SYN的Tcp报文到服务器,这个三次握手中的开始 。表示客户端想要和服务端建立连接 。2:服务端接收到客户端的哀求,返回客户端报文,这个报文带有SYN和ACK标志,询问客户端是否预备好 。3:客户端再次响应服务端一个ACK,表示我已经预备好 。
那么为什么要三次握手呢,有人说两次握手就好了 。的确,为什么呢,这个可以从计算机网络中得到答案,举一个例子:已失效的连接哀求报文段,client发送了第一个连接的哀求报文,但是由于网络不好,这个哀求没有立即到达服务端,而是在某个网络节点中滞留了,知道某个时间才到达server,本来这已经是一个失效的报文,但是server端接收到这个哀求报文后,还是会想client发出确认的报文,表示同意连接 。如果不采用三次握手,那么只要server发出确认,新的建立就连接了,但其实这个哀求是失效的哀求,client是不会理睬server的确认信息,也不会向服务端发送确认的哀求,但是server认为新的连接已经建立起来了,并一直等待client发来数据,这样,server的很多资源就没白白浪费掉了,采用三次握手就是为了防止这种情况的发生,server会因为收不到确认的报文,就知道client并没有建立连接 。这就是三次握手的作用 。