深入解析TLS 1.3:安全通信的新标杆
1. TLS 1.3基础概念
1.1 加密与认证
当TLS 1.3记录的第一个字节(ContentType)设置为23时,其负载将使用经过认证的密码进行加密和认证。负载由密文和认证标签组成,接收端会对其进行解密。接收方如何知道使用哪个密码和密钥进行解密呢?这正是TLS的神奇之处:如果接收到加密的TLS记录,就已经知道了密码和密钥,因为它们是在TLS握手协议执行时建立的。
1.2 随机数(Nonces)
与许多其他协议(如IPsec的封装安全有效载荷ESP)不同,TLS记录不指定认证密码要使用的随机数。用于加密和解密TLS记录的随机数是从64位序列号派生而来的,每个参与方在本地维护该序列号,并为每个新记录递增。当客户端加密数据时,它通过将序列号与一个名为client_write_iv的值进行异或运算来派生随机数,该值本身是从共享密钥派生而来的。服务器使用类似的方法,但使用不同的值,即server_write_iv。
例如,传输三条TLS记录时,第一条记录从0派生随机数,第二条从1派生,第三条从2派生;接收三条记录时,也按此顺序使用随机数0、1和2。重复使用相同的序列号值来加密传输数据和解密接收数据并非弱点,因为它们与不同的常量(client_write_iv和server_write_iv)进行异或运算,并且每个方向使用不同的密钥。
1.3 零填充(Zero Padding)
TLS 1.3记录支持零填充功能,可减轻流量分析攻击。流量分析是攻击者利用时间、数据传输量等流量模式提取信息的方法。例如,即使使用强加密,密文大小与明文近似,攻击者通过查看密文
超级会员免费看
订阅专栏 解锁全文
1907

被折叠的 条评论
为什么被折叠?



