在TLS版本1.0中完成消息

时间:2012-11-30 09:32:13

标签: openssl ssl

JKJS

有谁可以告诉下面的行中的seq_num是什么?

HMAC_hash(MAC_write_secret, seq_num + TLSCompressed.type + TLSCompressed.version + TLSCompressed.length + TLSCompressed.fragment));

RFC 2246定义如下:

seq_num
   The sequence number for this record.

但TLS记录中的序列号在哪里?这些号码在哪里产生并分配给记录?

JKJS
Hardik

1 个答案:

答案 0 :(得分:1)

对于完成的记录,这些序列号将为零,并且从那时起将对每个记录递增。

这些不与记录一起发送,但应由实现维护,并用于每条记录的HMAC生成。如果TLS记录不按顺序到达,则MAC验证将失败,因为在对等端用于MAC生成的序列号和自身预期的序列号将不相同。