SSL

SSL主要功能在握手阶段

  • SSL并不强制通信双方使用某种特定的对称密钥、公开密钥算法、或MAC算法。相反,双方可以在握手阶段自行协商在通信过程中使用的密码算法。
  • 在握手阶段双方会交换一个不重数,所以实际的握手过程是客户端发送它支持的密码算法列表,连同一个客户端不重数服务端从该列表中选择一种对称算法,一种公钥算法和一种MAC算法,把他的选择,自己的证书以及一个服务端不重数发送给客户端;

    到此,通信双方就本次通信所使用的各种密码算法达成一致,客户端验证服务端证书,并从中获取服务端公钥,随后独立生成一个前主密钥PMS,用服务端的公钥加密该PMS,将加密后的数据发送给服务端,通信双方都掌握了前主密钥以及自身和对方的不重数;
    客户端和服务端使用相同的密钥导出函数,由上述前主密钥和两个不重数计算出本次会话的主密钥MS,然后将该主密钥切片生成四个密钥;
    最后客户端与服务器互相发送上述握手过程中传输的所有报文的一个MAC,这就是完整的SSL连接过程
  • 第四步有社么用?
    此前发送的报文有被篡改的风险(把可选择加密方式中较难的删除),所以第四步用来对比MAC,看是否被篡改
  • 不重数有社么用?
    每次连接不重数不同,主密钥就不同,防止攻击者冒充客户端向服务端建立连接。

SSL的结束
不能直接发送TCP结束报文,否则攻击者先发送直接会把连接中断,所以要把结束标志放到已加密的部分

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、题目中这几种安全协议分别位于应用层、运输层、网络层,那么为什么需要在每一层提供安全性功能?仅在网络层提供安全性...
    MissKuang阅读 761评论 0 0
  • 背景介绍 最近在看《密码学与网络安全》相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL。 在开始SSl...
    四月不见阅读 912评论 3 1
  • 一、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。 (1)窃听风险...
    XLsn0w阅读 10,662评论 2 44
  • 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何...
    iOS谢先森阅读 4,241评论 0 9
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,104评论 0 4