目录
今天发现一个神奇的事情,以往稳定的ja3在chrome上已经不稳定了,不断的发生变化。似乎是chrome 109版本开始的( 108.0.5359.125 版本依然正常)。
测试链接
情况
以下是同个浏览器同个窗口打开的情况,可以发现现在的指纹已经不是固定值了。
108
"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",
"ja3_hash":"cd08e31494f9531f560d64c695473da9"
109
"ja3_str": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,23-10-11-17513-43-18-35-65281-13-27-16-45-51-0-5-21,29-23-24,0",
"ja3_hash": "f43e267f5ea0bdc4911143ac402587f4"
"ja3_str": "771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,43-17513-35-51-18-27-23-13-65281-16-45-0-10-11-5-21,29-23-24,0",
"ja3_hash": "bbbe649e57acd7fcc31ca2bae971b2dc"
回顾下格式
TLSVersion,Ciphers,Extensions,EllipticCurves,EllipticCurvePointFormats
变化的Extensions顺序
旧版 <108
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
新版 >=109
771,4865-4866-4867-49195-49199-49196-49200-52393-52392-49171-49172-156-157-47-53,43-17513-35-51-18-27-23-13-65281-16-45-0-10-11-5-21,29-23-24,0
可以看出,主要变化的是 Extensions顺序,似乎增加随机顺序,但包含值是固定了。
思考
将Extensions进行排序后再计算new_ja3?暂时未作测试。有后续再更新。
补充
Sorting Out Randomized TLS Fingerprints
TLS ClientHello extension permutation
Add Option for Randomizing TLS Client Hello Extension Order
Chrome shuffling the order of their extensions (skipping GREASE and Padding/PSK)