目录
发生了什么
今天在测试https://ja3.bjun.tech/ja3.php时,发现ja3又发生了变化,随后抓了一下包,发现了一个之前并没有遇到的情况。
ja3数据
//first request
{"ja3_hash":"cd08e31494f9531f560d64c695473da9","ja3_str":"771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-21,29-23-24,0","speed_time":0.645}
//after close sockets
{"ja3_hash":"0d69ff451640d67ee8b5122752834766","ja3_str":"771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,0-23-65281-10-11-35-16-5-13-18-51-45-43-27-17513-21-41,29-23-24,0","speed_time":0.197}
发现和结论
可以很快的发现,2个请求的差别就是
-21-41,29-23-24,0
中的41,而41是啥呢?
Type: pre_shared_key (41)
从抓包的数据可以看到这个41指的是拓展pre_shared_key,而其用途呢?
TLS1.3中,引入新的session resumption机制代替了session id和ticket.
具体可以看文末参考,其中有更为具体的阐述
补充
这个扩展的位置是固定的,为最后一个拓展。
TLS RFC 第 4.2 节指定扩展可以以任何顺序出现。当存在多个不同类型的扩展时,扩展可以以任何顺序出现,除了“pre_shared_key”(第 4.2.11 节)必须是 ClientHello 中的最后一个扩展
参考
https://juejin.cn/post/6995363748160487461
4.2.11. Pre-Shared Key Extension