DTLS1.3 RFC types mismatch
Categories
(NSS :: Libraries, defect, P4)
Tracking
(Not tracked)
People
(Reporter: anna.weine, Assigned: anna.weine)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
We observed that the types used in the DTLS1.3:
-
sslSequenceNumber:
https://searchfox.org/mozilla-central/source/security/nss/lib/ssl/sslspec.h#29 vs RFC 9147 Section 4 The DTLS Record Layer
struct { uint64 epoch; uint64 sequence_number; } RecordNumber; -
epoch:
https://searchfox.org/mozilla-central/source/security/nss/lib/ssl/sslspec.h#30 vs
vs RFC 9147 6.1. Epoch Values :
Epoch values (4 to 2^64-1)
Updated•3 years ago
|
| Assignee | ||
Comment 1•2 years ago
|
||
Found during the interoperability testing with WolfSSL: https://bugzilla.mozilla.org/show_bug.cgi?id=1809196#c3 and https://bugzilla.mozilla.org/show_bug.cgi?id=1809196#c4.
| Assignee | ||
Comment 2•2 years ago
|
||
The comment https://bugzilla.mozilla.org/show_bug.cgi?id=1809196#c4 suggest not to modify the existing structures, but to adapt the ACK message.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 3•2 years ago
|
||
| Assignee | ||
Comment 4•2 years ago
|
||
Copy paste from the interoperability bug:
Related problem. The dtls13_HandleAck function processes incorrectly the acknowledgements. Instead of seeing them as (epoch, seq), it parses it as (seq). That's why the acknowledgement of the messages does not work.
Quick fix:
rv = ssl3_ConsumeHandshakeNumber64(ss, &epoch, 8, &b, &l);
rv = ssl3_ConsumeHandshakeNumber64(ss, &seq, 8, &b, &l);
seq = dtls_CombineSequenceNumber(epoch, seq);
Updated•2 years ago
|
| Assignee | ||
Comment 5•2 years ago
•
|
||
This patch also requires the same modification in the testing facilities (CheckAcks function). I needed to update the expected size of the ACK messages.
https://phabricator.services.mozilla.com/D170598#change-35FPTx1FSoxv
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 6•2 years ago
|
||
There is an r+ patch which didn't land and no activity in this bug for 2 weeks.
:nkulatova, could you have a look please?
If you still have some work to do, you can add an action "Plan Changes" in Phabricator.
For more information, please visit BugBot documentation.
Updated•2 years ago
|
Updated•2 years ago
|
| Assignee | ||
Comment 7•2 years ago
|
||
Updated•2 years ago
|
| Assignee | ||
Comment 8•2 years ago
|
||
Description
•