您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页SSL协议、HTTP和HTTPS和区别

SSL协议、HTTP和HTTPS和区别

来源:尚车旅游网
SSL协议、HTTP和HTTPS和区别

SSL协议

SLL协议的握⼿过程

开始加密通信之前,客户端和服务器⾸先必须建⽴连接和交换参数,这个过程叫做握⼿(handshake)。第⼀步,客户端给出协议版本号、⼀个客户端⽣成的随机数(Client random),以及客户端⽀持的加密⽅法。

第⼆步,服务器确认双⽅使⽤的加密⽅法,并给出数字证书、以及⼀个服务器⽣成的随机数(Server random)。

第三步,客户端确认数字证书有效,然后⽣成⼀个新的随机数(Premaster secret),并使⽤数字证书中的公钥,加密这个随机数,发给服务器。

第四步,服务器使⽤⾃⼰的私钥,获取客户端丝发来的随机数(即Premaster secret)。

第五步,客户端和服务器根据约定的加密⽅法,使⽤前⾯的三个随机数,⽣成\"对话密钥\"(session key),⽤来加密接下来的整个对话过程。

私钥的作⽤

1)⽣成对话密钥⼀共需要三个随机数。

(2)握⼿之后的对话使⽤\"对话密钥\"加密(对称加密),服务器的公钥和私钥只⽤于加密和解密\"对话密钥\"(⾮对称加密),⽆其他作⽤。

(3)服务器公钥放在服务器的数字证书之中。

DH算法的握⼿阶段

整个握⼿阶段都不加密(也没法加密),都是明⽂的。因此,如果有⼈窃听通信,他可以知道双⽅选择的加密⽅法,以及三个随机数中的两个。整个通话的安全,只取决于第三个随机数(Premaster secret)能不能被破解。

虽然理论上,只要服务器的公钥⾜够长(⽐如2048位),那么Premaster secret可以保证不被破解。但是为了⾜够安全,我们可以考虑把握⼿阶段的算法从默认的,改为 (简称DH算法)。

采⽤DH算法后,Premaster secret不需要传递,双⽅只要交换各⾃的参数,就可以算出这个随机数。

session的恢复

握⼿阶段⽤来建⽴SSL连接。如果出于某种原因,对话中断,就需要重新握⼿。

这时有两种⽅法可以恢复原来的session:⼀种叫做session ID,另⼀种叫做session ticket。

session ID的思想很简单,就是每⼀次对话都有⼀个编号(session ID)。如果对话中断,下次重连的时候,只要客户端给出这个编号,且服务器有这个编号的记录,双⽅就可以重新使⽤已有的\"对话密钥\",⽽不必重新⽣成⼀把。

session ID是⽬前所有浏览器都⽀持的⽅法,但是它的缺点在于session ID往往只保留在⼀台服务器上。所以,如果客户端的请求发到另⼀台服务器,就⽆法恢复对话。session ticket就是为了解决这个问题⽽诞⽣的,⽬前只有Firefox和Chrome浏览器⽀持。

HTTPS和HTTP的区别

超⽂本传输协议HTTP协议被⽤于在Web浏览器和⽹站服务器之间传递信息。HTTP协议以明⽂⽅式发送内容,不提供任何⽅式的数据加密,如果攻击者截取了Web浏览器和⽹站服务器之间的传输报⽂,就可以直接读懂其中的信息,因此HTTP协议不适合传输⼀些敏感信息,

⽐如信⽤卡号、密码等。

为了解决HTTP协议的这⼀缺陷,需要使⽤另⼀种协议:安全套接字层超⽂本传输协议HTTPS。为了数据传输的安全,HTTPS在HTTP的基础上加⼊了SSL协议,SSL依靠证书来验证服务器的⾝份,并为浏览器和服务器之间的通信加密。HTTPS和HTTP的区别主要为以下四点:

⼀、https协议需要到ca申请证书,⼀般免费证书很少,需要交费。⼆、http是,信息是明⽂传输,https 则是具有的加密传输协议。

三、http和https使⽤的是完全不同的连接⽅式,⽤的端⼝也不⼀样,前者是80,后者是443。

四、http的连接很简单,是⽆状态的;HTTPS协议是由SSL+HTTP协议构建的可进⾏加密传输、⾝份认证的,⽐http协议安全。  

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务