Điểm:3

Tại sao kích thước bản ghi tối đa trong TLS 1.3 bị giới hạn ở $2^{14}$ byte?

lá cờ us

RFC 8446 giới hạn dữ liệu tối đa được mang theo một thông báo TLSv1.3 ở mức $2^{14}$ byte, cụ thể trong phần 5.1:

Lớp bản ghi phân mảnh các khối thông tin thành TLSPlaintext các bản ghi mang dữ liệu theo khối từ 2^14 byte trở xuống.

Trường độ dài trong tiêu đề TLS được biểu thị bằng 16 bit nên độ dài tối đa về mặt lý thuyết có thể lớn hơn. Tôi tự hỏi lý do cho việc này là gì.

Điểm:4
lá cờ in

16 KiB (dưới dạng $2^{14}$B rõ ràng là 16 KiB) giới hạn kích thước bản ghi đã đúng với mọi thông số kỹ thuật TLS bắt đầu từ TLS 1.0, phiên bản đầu tiên không được phát triển bởi Netscape, người đã phát triển các phiên bản SSL lên đến 3.0.Lưu ý rằng tính năng nén thư (tối đa TLS 1.2) và mã hóa có thể tăng kích thước vượt quá 16 KiB - mức độ tùy thuộc vào phiên bản TLS.

Cho đến bây giờ tôi đã thấy điều này được giải thích là giới hạn bộ đệm thực tế. Bạn có thể/chỉ nên bắt đầu giải mã/giải nén sau khi đã nhận được toàn bộ bản ghi và để làm được điều đó, bạn cần phân bổ bộ đệm. Không phải tất cả các thiết bị đều hỗ trợ kích thước bộ đệm lớn hơn và chi phí hoạt động do lớp bản ghi đưa vào đã không đáng kể so với dữ liệu có trong bản ghi.

Lưu ý rằng dữ liệu trong bản ghi chắc chắn không được sử dụng 64 kiB vì đó là kích thước mặc định của cửa sổ TCP. Bản ghi được mã hóa sẽ trở nên lớn hơn cửa sổ này và điều đó sẽ yêu cầu kích thước bộ đệm lớn hơn, ví dụ: các thiết bị nhúng. Mặt khác, nó không được quá nhỏ hoặc các thông báo bắt tay sẽ không phù hợp nữa (chủ yếu là do các chuỗi chứng chỉ đi kèm).


Chỉ để cung cấp một số hỗ trợ cho yêu cầu của tôi, đây là một văn bản trong RFC 8449: Mở rộng giới hạn kích thước bản ghi cho TLS

Việc nhận các bản ghi lớn được bảo vệ có thể đặc biệt khó khăn đối với thiết bị có bộ nhớ hoạt động hạn chế. Phiên bản TLS 1.2 [RFC5246] và các phiên bản trước đó cho phép người gửi tạo bản ghi có kích thước 16384 octet, cộng với bất kỳ phần mở rộng nào từ tính năng nén và bảo vệ lên tới 2048 octet (mặc dù thông thường phần mở rộng này chỉ có 16 octet). TLS 1.3 giảm dung lượng cho phép mở rộng xuống 256 octet. Việc phân bổ tới 18K bộ nhớ cho bản mã nằm ngoài khả năng của một số triển khai.

Lưu ý rằng RFC này cho phép người dùng giới hạn kích thước bản ghi hơn nữa, nó không cho phép triển khai tăng kích thước bản ghi vượt quá mức cho phép.


Và bây giờ đối với một số lịch sử, thông số kỹ thuật SSL 0.2:

Trong đó byte[0] biểu thị byte đầu tiên đã nhận và byte[1] là byte thứ hai đã nhận. Khi tiêu đề 3 byte được sử dụng, độ dài bản ghi được tính như sau (sử dụng ký hiệu giống như "C"):

ĐỘ DÀI GHI = ((byte[0] & 0x3f) << 8)) | byte[1];
IS-ESCAPE = (byte[0] & 0x40) != 0;
ĐỆM = byte[2];

dẫn đến:

Đối với tiêu đề hai byte, độ dài bản ghi tối đa là 32767 byte. Đối với tiêu đề ba byte, độ dài bản ghi tối đa là 16383 byte. Các thông báo Giao thức bắt tay SSL bị hạn chế để phù hợp với một bản ghi Giao thức Bản ghi SSL duy nhất. Thông báo giao thức ứng dụng được phép sử dụng nhiều bản ghi Giao thức bản ghi SSL.

Vì vậy, có thể thấy rằng các thông số kỹ thuật giao thức tiếp theo đã quyết định sử dụng độ dài bản ghi nhỏ hơn (không bao gồm chi phí hoạt động).


Tuyên bố miễn trừ trách nhiệm: K có nghĩa là Kelvin, k có nghĩa là kilo - dịch theo nghĩa đen là nghìn trong tiếng Hy Lạp cổ - và Ki có nghĩa là Kibi, nhị phân (gần như) tương đương có nghĩa là 1024. b có nghĩa là bit và B có nghĩa là byte. Do đó, 1 KiB là 1024 byte. Byte và octet ngày nay giống nhau.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.