1.简介
万维网服务器使用SSL默认服务端口443来取代普通万维网服务的80端口,且该安全网页URL中的协议标识用https代替http,在与服务器建立TCP连接后,先进行浏览器和服务器之间的握手协议,完成加密算法的协商和会话秘钥的传递,然后进行安全数据传输。
- 公开秘钥加密
即为非对称加密,发送方使用对方的公开秘钥加密,对方收到加密信息后,再使用自己的私有秘钥进行解密 - 共享秘钥加密
即为对称加密,加密和解密使用同一个秘钥的方式称为共享秘钥加密
2.CA证书
CA是负责管理和签发证书的第三方权威机构,是所有行业和公众都信任的,认可的。
CA证书,是用于验证网站是否可信,一般里面包含有公开秘钥。
3.实现过程
- 协商加密算法
浏览器向服务器发送浏览器SSL版本号和一些可选的加密算法,服务器选定后再告诉浏览器 - 服务器鉴别
服务器向浏览器发送一个包含其公开秘钥的数字证书,浏览器使用该证书认证机构的公钥对该证书进行验证,公开秘钥加密 - 共享秘钥计算
浏览器产生一个随机数,用服务器公钥加密后发送给服务器,双方根据协商的算法产生一个共享秘钥加密 - 安全数据传输
双方使用共享秘钥加密他们之间的数据并验证其完整性
为什么要先采用公开密钥加密,之后再采用共享秘钥加密?
因为公开密钥加密处理速度慢,而共享秘钥加密,首先必须告知对方自己的私钥,而这个私钥的传输过程的安全性没有保障,所以要采用先公开密钥加载,之后用公开密钥来保证私钥传输的安全性。
4.SSL的处理速度变慢
- 通信慢,因为要通过SSL通信,获取包含其公开秘钥的数字证书
- 消耗CPU和内存资源,进行加密计算,因此只有包含个人信息等敏感数据时,才利用HTTPS加密通信,节约购买证书的开销
5.加密的过程
https加密是在传输层
https报文在被包装成tcp报文时完成加密过程,无论是头部还是内容主体部分都是会被加密
6.https和http的区别
- https协议需要用到CA申请的证书
- http信息是明文传输,https则是具有安全性的ssl加密
- http是直接与TCP进行数据传输,而https是通过一层SSL(表示层),http默认使用80端口,https默认使用443端口