SSL和HTTPS

  • 541 字

SSL和HTTPS

SSL

SSL主要分为两层协议,,分别是SSL记录协议和SSL握手协议。

SSL记录协议

  • 分块 将数据分为大小合适的块,大小不超过2^14字节
  • 消息认证 使用HMAC生成消息摘要
  • 加密 使用对称算法如AES加密数据和MAC
  • 附加头部并发送

    SSL握手协议

  • 客户端发送ClientHello,包含SSL版本、加密算法、压缩算法等
  • 服务器发送ServerHello,从客户端提供的信息中选择加密算法、压缩算法等,并发送自己的证书,可能要求客户端提供证书
  • 通过如D-H算法生成共享密钥
  • 身份验证
  • 通知切换到加密通信,握手完成

SSL对应用层透明,可以在应用层之下使用

HTTPS

HTTP

全部由明文传输,很容易被截取并使用ARP攻击

HTTPS

流程

  • 客户端发送一个请求
  • 服务器返回数字证书以验证自己的身份
  • 客户端验证证书。证书中包含了公钥,CA签发的签名,有效期等信息
  • 客户端和服务器约定加密算法与对称密钥
  • 双方使用对称密钥进行加密通信

HTTPS使用了SSL技术,CA技术,对称加密/非对称加密技术,散列函数等技术

优势

HTTPS并不能阻挡中间人获取信息,但是由于信息是加密的,即使获取了,中间人也不能读取内部信息。同时,由于证书由可靠的CA签发,ARP也不能伪造。

打赏
打赏提示信息
分享
分享提示信息