1、加密和压缩的顺序
压缩一定是在加密的前面,因为加密之后,比特序列的冗余消失,基本上无法再进行压缩了。在加密前进行压缩的做法不仅仅限于混合密码系统,对所有的密码都适用。
从技术角度上讲,TLS大致由三个组件拼接成的 分别是: 对称加密传输组件,认证秘钥协商组件,秘钥扩展组件。这些组件可以拆分成五个具体的算法组合,称为一个CipherSuite:分别是认证算法、加密算法、消息验证法算法、秘钥交换算法、秘钥衍生算法。
2、握手协议hansshake Protocol
在TLS1.2 版本中
handshake Protocol用于生成record Protocol使用的 SecurityParameters 在握手中
客户端和服务器端协商的TLS版本号和同一个CipherSuite,对身份的认证(可选,一般在HTTPS中是客户端对服务器的认证),使用秘钥协商算法生成主秘钥 master secret
握手的步骤如下:
交换了Hello消息,协商出算法,交换random值,检查 Session resumption
交换必要的密码学,允许Client和server协商出 premaster secret
交换证书和密码学参数,让client 和server做认证,证明自己的身份
从premaster secret 和交换 random 值,生成 master secret
把secerity parameters提供给 record层
允许client和server确认端得出相同的scurity Parameters 并且握手过程的数据没被攻击者篡改