You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(This is partially redundant with FoxIO-LLC/ja4-nginx-module#10 but I believe worth to create the issue here since the root cause is on the specs rather than in the nginx module implementation, and two repos appear to be maintained by different person. )
In JA4 Technical Details, when defining Number of Ciphers, the doc didn't clarify if Signalling Cipher-Suite Values (SCSVs) should be counted or excluded. At least two SCSVs are involved:
TLS_EMPTY_RENEGOTIATION_INFO_SCSV in value of 0x00ff defined in RFC 5746, which is quite commonly seen in real world
TLS_FALLBACK_SCSV in value of 0x5600 defined in RFC 7507
In a simple test using curl as client, the ja4 nignx module generated:
The ambiguous definition also potentially cause a third party implementation producing incompatible values (when using a different language or library, or even different functions in the same library for obtaining cipher suite), pretty like what happened on ja3er.
The text was updated successfully, but these errors were encountered:
@secmobi@tozh Thanks for bringing this up! Do you have a pcap example?
My initial thought is to update the spec to include these in the count and hash when present as they help to identify specific TLS implementations. The downside being that this would increase the number of potential fingerprints a specific library could produce but that's outvalued by the fact that it would tell a better story of what is happening in the connection.
(This is partially redundant with FoxIO-LLC/ja4-nginx-module#10 but I believe worth to create the issue here since the root cause is on the specs rather than in the nginx module implementation, and two repos appear to be maintained by different person. )
In JA4 Technical Details, when defining
Number of Ciphers
, the doc didn't clarify if Signalling Cipher-Suite Values (SCSVs) should be counted or excluded. At least two SCSVs are involved:TLS_EMPTY_RENEGOTIATION_INFO_SCSV
in value of0x00ff
defined in RFC 5746, which is quite commonly seen in real worldTLS_FALLBACK_SCSV
in value of0x5600
defined in RFC 7507In a simple test using
curl
as client, the ja4 nignx module generated:While on the same TLS request, the ja4 plugin in Wireshark generated:
The differences between them are highlighted.
The ambiguous definition also potentially cause a third party implementation producing incompatible values (when using a different language or library, or even different functions in the same library for obtaining cipher suite), pretty like what happened on ja3er.
The text was updated successfully, but these errors were encountered: