SSL协议
1.SSL协议(安全套接字协议)是Web浏览器与Web服务器之间安全交换信息的协议
2.SSL协议的三个特性
- 保密:在握手协议中定义了会话的密钥后,所有的消息都被加密
- 鉴别:可选的客户端验证,和强制的服务器端验证
- 完整性:传送的消息包括消息完整性检查
SSL的位置
HTTPS协议
- HTTPS协议就是基于SSL的HTTP协议
- HTTPS使用与HTTP不同的端口(HTTP:80 , HTTPS:443)
- 提供了身份验证与加密通信方法,被广泛用于互联网上安全敏感的通信。
交互过程
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤
- 客户端请求SSL连接,并将自己支持的加密规则发给网站。
- 服务器端将自己的身份信息以证书形式发回给客户端。证书里面包含了网站地址,加密公钥,以及证书的颁发机构。
- 获得证书后,客户要做以下工作:
1)验证证书合法性
2)如果证书受信任,客户端会生成一串随机数的密码,并用证书提供的公钥进行加密。
3)将加密好的随机数发给服务器。 - 获得到客户端发的加密了的随机数之后,服务器用自己的私钥进行解密,得到这个随机数,把这个随机数作为对称加密的密钥。
- 之后服务器与客户之间就可以用随机数对各自的信息进行加密,解密。
注意的是:证书是一个公钥,这个公钥是进行加密用的。而私钥是进行解密用的。公钥任何都知道,私钥只有自己知道。这是非对称加密。
而对称加密就是钥匙只有一把,我们都知道。
之所以用到对称加密,是因为对称加密的速度更快。而非对称加密的可靠性更高。
HTTP与HTTPS的区别
1.HTTPS协议需要申请证书。
2.HTTP是明文传输;HTTPS使用的是具有安全性的SSL加密传输协议
3.HTTP端口是80;HTTPS端口号是443
4.HTTP连接简单无状态;HTTPS由SSL+HTTP协议构件的可进行加密传输、身份验证的网络协议。