Điểm:4

GCM với AAD có độ dài bằng 0 có kém an toàn hơn không?

lá cờ in

Trong một lần trước câu hỏi, rõ ràng là trong trường hợp của GCM, không có sự phân biệt giữa "không có AAD" và "AAD có độ dài bằng 0". Vì tôi đã nhận thấy "AAD có độ dài bằng 0" trong một số triển khai, nên câu hỏi của tôi là, điều đó có khiến các sơ đồ AE như vậy kém an toàn hơn không?

Trong các bài báo khác nhau xử lý bảo mật AE, tôi nghĩ rằng bài báo Xem xét lại Thành phần chung của Namprempre, Rogaway và Shrimpton có thể là rõ ràng nhất về vấn đề này. Theo cách liệt kê lược đồ nAE của họ, lược đồ đầu tiên cho thấy các giới hạn bảo mật yếu hơn là A9 trong đó A (tức là AAD) bị loại bỏ khỏi tính toán Thẻ (xem Hình 5). Tất nhiên, bây giờ họ đề cập rằng đó là một trường hợp ranh giới (chuyển tiếp). Nhưng họ nói rõ rằng tính bảo mật của nó không chặt chẽ như sơ đồ A1-A8 (tất cả đều bao gồm A trong tính toán thẻ). Tôi đã cố gắng khảo sát các bài báo khác về chủ đề này, nhưng tôi không tìm thấy bài báo nào đưa ra cách xử lý tương tự.

Vì vậy, nếu AAD bị thiếu trong GCM (hoặc nếu |AAD|=0), thì bảo mật GCM có bị hạ cấp theo bất kỳ cách nào hay bằng chứng bảo mật của chúng tôi yếu hơn một chút? Hoặc, đó không phải là kết luận mà chúng ta nên lấy từ bài báo của Namprempre ở trên (giả sử kết quả của họ được cộng đồng tiền điện tử chấp nhận)?

kelalaka avatar
lá cờ in
Như [đã lưu ý](https://chat.stackexchange.com/transcript/message/59377989#59377989): GCM là A5 trên giấy.
kelalaka avatar
lá cờ in
GCM không hỗ trợ noAAD.Trong GCM, AAD có độ dài bằng không được chuyển đổi thành 128 số không. Điều này rõ ràng từ câu trả lời trước và tài liệu của NIST. ** Luôn có một AAD! trong GCM** Do đó, người nhận có thể từ chối bất kỳ AAD trống nào là giả mạo. Điều này cung cấp một kiểm tra bổ sung vì AAD được xác thực nhưng không được mã hóa. Nếu bạn đang yêu cầu sửa đổi CGM để loại bỏ AAD, thì đây là một sơ đồ khác.
hlayhel avatar
lá cờ in
Tôi đang đọc câu trả lời trước theo cách khác. Ví dụ: anh ấy nói, "Nếu AAD có độ dài bằng 0, thì không có bit đệm nào được thêm vào và không mất thời gian để băm bất kỳ phần đệm AAD hoặc AAD nào". Từ đó, tôi kết luận rằng AAD có độ dài bằng 0 được chuyển đổi thành 0 bit của số không, không phải 128 bit của số không. Tôi nghĩ rằng phần còn lại của câu trả lời của anh ấy làm cho nó rõ ràng hơn. Nếu |AAD|=0, thì len(A)=0, v=0 và 0^v=0, "**do đó, số bit â0â được thêm vào là 0**". Sau đó, ông kết luận rằng "nếu A trống, thì tiền tố Aâ¥0^v cũng trống." Điều này có nghĩa là tất cả các thành phần A trong việc tạo GHASH đều trống (A, 0^v, len(A)).
kelalaka avatar
lá cờ in
Đúng vậy, $A || 0^v$ trống, tuy nhiên, độ dài được mã hóa thành 64 bit để người ta có thể giải mã nó dưới dạng AAD trống. Vì vậy, vẫn luôn có AAD trong GCM.
kelalaka avatar
lá cờ in
Ngay cả AAD trống cũng cung cấp một tùy chọn tạm dừng nhỏ để chống lại việc loại bỏ AAD khỏi kẻ thù. Vì vậy, hiệu quả, họ không.
hlayhel avatar
lá cờ in
Tôi hiểu rồi. Vì vậy, thành phần [len(A)]64 vẫn còn. Tôi đã kiểm tra tài liệu NIST; họ định nghĩa [x]64 là biểu diễn nhị phân của số nguyên x (trong trường hợp này là x=0) dưới dạng một chuỗi 64 bit. Vì vậy, tôi đoán tôi phải đồng ý. Nếu bạn có thể, hãy làm rõ thêm từ tác giả của câu trả lời trước, tôi hơi bối rối về tuyên bố đầu tiên của anh ấy "AES-GCM không hỗ trợ âno AADâ khác với âzero-length AADâ" . Tôi đã đọc nó như là, trong trường hợp của GCM, chúng tôi không phân biệt giữa 'không có AAD' và 'AAD có độ dài bằng không'. Tôi đã đọc sai?
kelalaka avatar
lá cờ in
Không THÊM nên là một cái gì đó như thế; không có thông tin nào về AAD, độ dài chẵn hoặc bit đơn lẻ. Tuy nhiên, trong trường hợp này, việc không tồn tại AAD có thể cho thấy rằng nó đã bị xóa hoặc đã không có AAD. Đề án nên phân biệt điều này. GCM chỉ mã hóa độ dài và không cho phép noAAD ( hoặc có thể nói là chuyển đổi noADD thành AAD có độ dài bằng 0).
hlayhel avatar
lá cờ in
Hiểu rồi. Vì vậy, no-AAD ở đây có nghĩa là không có thông tin về AAD, không phải logic AAD bị loại bỏ. Tôi nghĩ bây giờ chúng ta hoàn toàn đồng ý. Cảm ơn vì đã dành thời gian cho tôi!
Điểm:1
lá cờ in

AES-GCM thuộc loại A5 trong bài báo. Trong AES-GCM không hỗ trợ $\texttt{không có AAD}$, ngay cả khi bạn không sử dụng AAD trong quá trình mã hóa, AES-GCM sẽ chuyển đổi nó thành $\texttt{zero-length-AAD}$.

Xem trong NIST Ấn phẩm đặc biệt 800-38d, trang 15;

Thuật toán 4: $GCM-AE_K (IV, P, A)$
â¦
4. Hãy để $u = 128\cdot\lceil\operatorname{len}(C)/128\rceil - \operatorname{len}(C)$ và để cho $v = 128\cdot\lceil\operatorname{len}(A)/128\rceil - \operatorname{len}(A)$.
5. Xác định một khối, $S$, như sau: $$S = \operatorname{GHASH}_H(\mathbf{A \mathbin\| \mathtt 0^v} \mathbin\| C \mathbin\| \mathtt 0^u \mathbin\| \mathbf{[\operatorname{ len}(A)]_{64}} \mathbin\| [\operatorname{len}(C)]_{64}).$$ â¦
Trong Bước 4 và 5, mỗi AAD và bản mã được thêm vào với số lượng tối thiểu là â$\mathtt 0$bit, có thể không có, sao cho độ dài bit của chuỗi kết quả là bội số của kích thước khối (Phần in đậm là của tôi).

$A$ là dữ liệu liên quan, $len(A) = 0$ vì thế, $\mathtt{v} = 0$. Ngay cả trong trường hợp này, chúng tôi có $[\operatorname{len}(A)]_{64}$, mã hóa 64 bit này có độ dài của dữ liệu được liên kết và điều này sẽ luôn cho biết sự tồn tại của AAD, độ dài bằng 0 hay không!.

Nếu kẻ tấn công, xóa dữ liệu được liên kết, để làm cho nó có vẻ như không có độ dài, thì trong quá trình giải mã, người ta phải tạm dừng với thẻ không khớp ( Luôn tạm dừng và dừng quá trình giải mã cùng một lúc).

Một sơ đồ hỗ trợ không có AAD, không được mang thông tin về AAD bị thiếu, nếu không, nó sẽ rơi vào AAD có độ dài bằng không.

Cuối cùng, chúng tôi có thêm khả năng bảo vệ chống lại các hành vi giả mạo với AAD có độ dài bằng 0.

Đă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.