Skip to content

client: reject TLS 1.3 compat session ID in 1.2 #2360

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 27, 2025

Conversation

cpu
Copy link
Member

@cpu cpu commented Feb 26, 2025

If the client hello input had no resuming session, but has a non-empty SessionId, it means we generated a TLS 1.3 legacy_session_id for middle-box compatibility purposes.

In this case if we end up handshaking for TLS 1.2 we should ensure the server didn't echo the session ID back to us. Since it was invented at random to fill the need of a non-empty value it should never be a recognized server session.

@cpu cpu self-assigned this Feb 26, 2025
@@ -17,7 +17,6 @@
"CheckLeafCurve": "",
"SendWarningAlerts-*": "",
"Peek-*": "",
"EchoTLS13CompatibilitySessionID": "",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this ignore was added way back in 2018 (32eeec6) without any special mention.

I was looking at the test case for other reasons and couldn't think of a reason why we shouldn't add the coverage. WDYT?

@@ -281,6 +281,7 @@ pub enum PeerMisbehaved {
UnsolicitedServerHelloExtension,
WrongGroupForKeyShare,
UnsolicitedEchExtension,
ServerEchoedCompatibilitySessionId,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I initially added this in alpha-order, but the semver compat check job doesn't like a new value being sliced in even though this is non-exhaustive because:

This breaks downstream code that used its value via a numeric cast like as isize.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pff, not sure we should listen to it on that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I put it back in sorted position for now and can revisit if someone feels strongly about maintaining the numeric values.

@djc
Copy link
Member

djc commented Feb 26, 2025

Cool -- how did you find this?

Copy link

codecov bot commented Feb 26, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.89%. Comparing base (72c4c07) to head (c414bfc).
Report is 4 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2360   +/-   ##
=======================================
  Coverage   94.89%   94.89%           
=======================================
  Files         103      103           
  Lines       24532    24548   +16     
=======================================
+ Hits        23280    23296   +16     
  Misses       1252     1252           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@cpu
Copy link
Member Author

cpu commented Feb 26, 2025

Cool -- how did you find this?

In $JOB_HOURS I'm working through the Go standard library's equivalent BoGo skip list trying to improve coverage. I have a similar change open there after thinking through the testcase.

Where possible I've been trying to (in volunteer time) bring useful changes like this and #2347 back here 🤝

Copy link

rustls-benchmarking bot commented Feb 26, 2025

Benchmark results

Instruction counts

Significant differences

There are no significant instruction count differences

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 10494368 10451935 -42433 (-0.40%) 1.11%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 1143920 1148330 4410 (0.39%) 1.55%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 10694909 10723610 28701 (0.27%) 1.17%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 8302873 8285394 -17479 (-0.21%) 1.08%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 8301665 8287157 -14508 (-0.17%) 1.30%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 3081402 3086083 4681 (0.15%) 0.51%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 10692510 10703084 10574 (0.10%) 1.34%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 5022982 5018332 -4650 (-0.09%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 3090460 3088233 -2227 (-0.07%) 0.56%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3301596 3303533 1937 (0.06%) 0.23%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3872985 3871125 -1860 (-0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3876055 3877675 1620 (0.04%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_server 4297748 4296098 -1650 (-0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 30443189 30432220 -10969 (-0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 30445826 30434962 -10864 (-0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 30403005 30392208 -10797 (-0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 30400310 30389591 -10719 (-0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 30445530 30434830 -10700 (-0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 30403117 30392557 -10560 (-0.03%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_server 4762382 4760732 -1650 (-0.03%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4218259 4219669 1410 (0.03%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_client 4300152 4301262 1110 (0.03%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_client 4563284 4564184 900 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 28907164 28901866 -5298 (-0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 28985305 28980239 -5066 (-0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 28906975 28901944 -5031 (-0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 28904707 28899718 -4989 (-0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 28985138 28980351 -4787 (-0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 28982976 28978250 -4726 (-0.02%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_server 32632812 32627562 -5250 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 32634988 32629738 -5250 (-0.02%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 32725887 32720637 -5250 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 32728063 32722813 -5250 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 32635208 32629988 -5220 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 32728238 32723018 -5220 (-0.02%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_server 32152186 32147116 -5070 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 32154351 32149281 -5070 (-0.02%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 32264956 32259886 -5070 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 32267121 32262051 -5070 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 32154399 32149359 -5040 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_server 32267169 32262129 -5040 (-0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 2059649 2059342 -307 (-0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 1150765 1150606 -159 (-0.01%) 1.54%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 1295865 1295706 -159 (-0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 1297246 1297097 -149 (-0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3305317 3305117 -200 (-0.01%) 0.26%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 30842769 30844063 1294 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 30925218 30926512 1294 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 30845710 30847000 1290 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_client 30849763 30851053 1290 (0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 30928150 30929440 1290 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_client 30932203 30933493 1290 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 31161109 31162403 1294 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 31223518 31224812 1294 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 31164368 31165658 1290 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_client 31168370 31169660 1290 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 31226789 31228079 1290 (0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 31230791 31232081 1290 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 1934154 1934083 -71 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 2062521 2062449 -72 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 1927408 1927341 -67 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 7227498 7227337 -161 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 58179013 58180293 1280 (0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 57982223 57983496 1273 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 7229666 7229513 -153 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 28232311 28232870 559 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 27869160 27869671 511 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 28199620 28200137 517 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 28229425 28229934 509 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_client 2333453 2333418 -35 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2339309 2339274 -35 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 11134412 11134253 -159 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_server 11128442 11128285 -157 (-0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 28206481 28206840 359 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 27802950 27803270 320 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 58236629 58237276 647 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 58240947 58241593 646 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 58087162 58087806 644 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 58090281 58090918 637 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 58238864 58239502 638 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 58079381 58080017 636 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 27809876 27810176 300 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 28202773 28203054 281 (0.00%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 28236356 28236630 274 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 27805503 27805734 231 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92702222 92702872 650 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92681731 92682373 642 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92706234 92706875 641 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_client 92683568 92684208 640 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92699996 92700635 639 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92672665 92673296 631 (0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 27862493 27862670 177 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 1719091 1719083 -8 (-0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 10999953 10999910 -43 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 27864984 27865083 99 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 34741530 34741506 -24 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 34743453 34743437 -16 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_server 46241648 46241641 -7 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46465926 46465932 6 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80642621 80642631 10 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46461269 46461274 5 (0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 46148663 46148667 4 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 46248380 46248377 -3 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80548542 80548537 -5 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 46407678 46407680 2 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80553341 80553339 -2 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 46253817 46253818 1 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46458943 46458944 1 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80645595 80645595 0 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2245506 2245506 0 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80541811 80541811 0 (0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80650254 80650254 0 (0.00%) 0.20%

Wall-time

Significant differences

There are no significant wall-time differences

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes 4.44 ms 4.51 ms 0.08 ms (1.71%) 6.35%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 1.79 ms 1.82 ms 0.03 ms (1.55%) 2.37%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.13 ms 5.20 ms 0.07 ms (1.44%) 5.57%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.11 ms 5.18 ms 0.07 ms (1.43%) 6.06%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.04 ms 5.11 ms 0.07 ms (1.41%) 5.88%
transfer_no_resume_ring_1.2_rsa_aes 6.62 ms 6.71 ms 0.09 ms (1.31%) 3.67%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 1.63 ms 1.65 ms 0.02 ms (1.29%) 2.29%
transfer_no_resume_ring_1.3_ecdsap256_aes 6.21 ms 6.29 ms 0.08 ms (1.28%) 4.71%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 450.83 µs 456.16 µs 5.33 µs (1.18%) 4.00%
handshake_tickets_ring_1.2_rsa_aes 1.61 ms 1.63 ms 0.02 ms (1.18%) 1.43%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 448.86 µs 454.00 µs 5.14 µs (1.15%) 4.32%
transfer_no_resume_ring_1.3_rsa_aes 6.70 ms 6.78 ms 0.08 ms (1.12%) 4.13%
handshake_no_resume_ring_1.3_ecdsap256_aes 473.92 µs 478.30 µs 4.38 µs (0.92%) 2.88%
handshake_no_resume_ring_1.3_ecdsap256_chacha 470.99 µs 475.19 µs 4.20 µs (0.89%) 3.19%
transfer_no_resume_ring_1.3_ecdsap384_aes 9.35 ms 9.43 ms 0.08 ms (0.85%) 2.97%
handshake_session_id_ring_1.2_rsa_aes 1.52 ms 1.53 ms 0.01 ms (0.76%) 1.05%
transfer_no_resume_ring_1.3_ecdsap256_chacha 12.92 ms 13.00 ms 0.08 ms (0.62%) 2.21%
transfer_no_resume_ring_1.3_rsa_chacha 13.41 ms 13.49 ms 0.08 ms (0.57%) 2.08%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 12.91 ms 12.98 ms 0.07 ms (0.56%) 2.45%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 13.60 ms 13.67 ms 0.07 ms (0.54%) 2.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 13.59 ms 13.66 ms 0.07 ms (0.53%) 2.25%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.04 ms 16.12 ms 0.08 ms (0.52%) 1.86%
handshake_no_resume_ring_1.3_rsa_chacha 964.43 µs 969.25 µs 4.83 µs (0.50%) 1.39%
handshake_no_resume_ring_1.2_rsa_aes 960.28 µs 964.00 µs 3.72 µs (0.39%) 1.67%
handshake_no_resume_ring_1.3_rsa_aes 963.36 µs 966.96 µs 3.60 µs (0.37%) 1.25%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 4.52 ms 4.54 ms 0.02 ms (0.33%) 2.36%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 5.21 ms 5.22 ms 0.02 ms (0.33%) 1.71%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.11 ms 1.12 ms 0.00 ms (0.28%) 1.11%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 4.33 ms 4.34 ms 0.01 ms (0.26%) 2.26%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.14 ms 1.14 ms 0.00 ms (0.23%) 1.23%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 5.20 ms 5.21 ms 0.01 ms (0.22%) 1.61%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.11 ms 1.11 ms 0.00 ms (0.22%) 2.78%
handshake_tickets_ring_1.3_rsa_chacha 6.10 ms 6.08 ms -0.01 ms (-0.21%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_chacha 5.54 ms 5.53 ms -0.01 ms (-0.21%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_chacha 8.72 ms 8.71 ms -0.02 ms (-0.21%) 1.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 5.02 ms 5.03 ms 0.01 ms (0.19%) 1.76%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 4.50 ms 4.51 ms 0.01 ms (0.18%) 1.76%
handshake_session_id_ring_1.3_ecdsap384_chacha 8.65 ms 8.63 ms -0.02 ms (-0.18%) 1.00%
handshake_session_id_ring_1.3_rsa_chacha 6.02 ms 6.01 ms -0.01 ms (-0.17%) 1.00%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 5.19 ms 5.20 ms 0.01 ms (0.17%) 1.43%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.13 ms 1.13 ms 0.00 ms (0.17%) 1.48%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 5.18 ms 5.19 ms 0.01 ms (0.15%) 1.59%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.08 ms 1.08 ms 0.00 ms (0.15%) 3.12%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.59 ms 3.59 ms 0.01 ms (0.15%) 1.00%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 5.01 ms 5.02 ms 0.01 ms (0.14%) 1.63%
handshake_session_id_ring_1.3_ecdsap384_aes 8.69 ms 8.68 ms -0.01 ms (-0.10%) 1.00%
handshake_tickets_ring_1.3_ecdsap256_chacha 5.60 ms 5.60 ms -0.00 ms (-0.08%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.59 ms 3.60 ms 0.00 ms (0.08%) 1.00%
handshake_session_id_ring_1.3_ecdsap256_aes 5.58 ms 5.58 ms -0.00 ms (-0.07%) 1.04%
handshake_tickets_ring_1.3_ecdsap384_aes 8.76 ms 8.76 ms -0.00 ms (-0.06%) 1.00%
handshake_tickets_ring_1.3_ecdsap256_aes 5.65 ms 5.65 ms 0.00 ms (0.04%) 1.00%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 4.99 ms 4.99 ms 0.00 ms (0.04%) 1.02%
handshake_session_id_ring_1.3_rsa_aes 6.07 ms 6.08 ms 0.00 ms (0.03%) 1.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 4.98 ms 4.98 ms -0.00 ms (-0.02%) 1.58%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 4.31 ms 4.31 ms -0.00 ms (-0.02%) 2.01%
handshake_tickets_ring_1.3_rsa_aes 6.15 ms 6.14 ms -0.00 ms (-0.02%) 1.00%

Additional information

Historical results

Checkout details:

If the client hello input had no resuming session, but has a non-empty
SessionId, it means we generated a TLS 1.3 legacy_session_id for
middle-box compatibility purposes.

In this case if we end up handshaking for TLS 1.2 we should ensure the
server didn't echo the session ID back to us. Since it was invented at
random to fill the need of a non-empty value it should never be
a recognized server session.
@cpu cpu force-pushed the cpu-reject-tls13-compat-sesh-id branch from 51eef44 to c414bfc Compare February 27, 2025 00:37
@cpu cpu added this pull request to the merge queue Feb 27, 2025
Merged via the queue into rustls:main with commit 1854946 Feb 27, 2025
32 of 33 checks passed
@cpu cpu deleted the cpu-reject-tls13-compat-sesh-id branch February 27, 2025 19:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants