Điểm:1

Tôi có cần thay đổi IV trong AES-256 GCM khi tôi chỉ sử dụng mã hóa để trao đổi phản hồi thử thách với chuỗi ngẫu nhiên không?

lá cờ ag

Khi tôi chỉ muốn sử dụng mã hóa để trao đổi phản hồi thách thức chứ không phải để ẩn nội dung của một tin nhắn được mã hóa, liệu việc không thay đổi IV để mã hóa mới có còn là mối đe dọa đối với tôi không?

Để dễ hiểu hơn tại sao tôi hỏi điều này, đây là tình huống của tôi:

Tôi đang sử dụng hai Arduinos với bộ thu phát LoRa để liên lạc với nhau. Một là cầu kết nối với internet và cầu còn lại được kết nối với động cơ servo và cảm biến.

Tôi không quan tâm nếu kẻ tấn công tiềm năng biết rằng một số gói chẳng hạn như xoay servo sang phải và một gói khác đang gửi dữ liệu từ cảm biến độ ẩm đến cầu.

Điều duy nhất tôi quan tâm là kẻ tấn công không thể bắt chước bất kỳ lệnh nào trong số này để hắn không thể quay các động cơ servo của tôi và gửi các giá trị xấu không đến từ cảm biến độ ẩm của tôi.

Đó là lý do tại sao tôi sử dụng trao đổi phản hồi thách thức để tôi có thể xác minh xem cầu nối của mình có gửi gói tin hay không, v.v.

Nhưng không có cách nào (ít nhất là một cách mà tôi biết) để tôi trao đổi IV sang Arduino khác, để nó có thể giải mã thử thách.

Câu hỏi của tôi là:

Không thể thay đổi IV trong trường hợp của tôi bằng cách nào đó bị khai thác? Nếu có. Làm thế nào và nó có ý nghĩa gì đối với tôi?

Có cách nào tốt hơn để làm điều đó?

Maarten Bodewes avatar
lá cờ in
CBC-MAC phù hợp với các tin nhắn có kích thước cố định. Bạn có thể giảm xuống còn 64 bit nếu bạn có thể hết dung lượng.
kelalaka avatar
lá cờ in
IV không được trao đổi, IV được tạo cục bộ sau đó được truyền cùng với bản mã, thường là $IV|Ciphertext|AuthenticanTag$. NẾU bạn không quan tâm đến việc kẻ tấn công biết dữ liệu của mình, có thể bạn chỉ cần tính toàn vẹn và xác thực. Bạn chỉ có thể sử dụng HMAC. Hãy nhớ rằng các cuộc tấn công lặp lại có thể xảy ra trong trường hợp của bạn.
Maarten Bodewes avatar
lá cờ in
Có vẻ như HMAC được hỗ trợ ngay lập tức, với một thư viện gần đây. Nhưng đối với CBC-MAC, bạn sẽ cần triển khai chế độ CBC cũ (và tự đệm bit). Tuy nhiên, nó có thể nhanh hơn, nó phụ thuộc rất nhiều vào chi tiết triển khai. HMAC-SHA-1 phải đủ nhanh và an toàn cho hầu hết các mục đích.
kelalaka avatar
lá cờ in
Và, chi tiết hơn về thảm họa tái sử dụng IV của AES/GCM là [tại đây](https://crypto.stackexchange.com/q/26790/18298)
Điểm:3
lá cờ ru

Bạn phải thay đổi IV mỗi lần.

Nó đã được ghi nhận ở nhiều nơi (xem ví dụ Joux "Lỗi xác thực trong phiên bản NIST của GCM" mục 3) rằng một IV lặp lại rất có khả năng cung cấp cho kẻ tấn công khả năng tính toán các thẻ xác thực cho chính chúng. Cùng với tính linh hoạt của chế độ bộ đếm, nếu kẻ tấn công biết XOR của hai phản hồi và mã hóa được xác thực của một phản hồi thì chúng sẽ sau đó sẽ có thể tự do rèn cái kia.

Như đã lưu ý trong các nhận xét, đã khóa HMAC cung cấp một sự thay thế rất tốt. Một trao đổi phản hồi thách thức đơn giản có thể là:

  • Bridge: "Tôi muốn chỉ dẫn cho bạn"
  • động cơ: nonce
  • Cầu: chỉ huy,HMAC(Chìa khoá bí mật,nonce|lệnh)

Servo kiểm tra giá trị HMAC dựa trên tính toán của chính nó và nếu chúng bằng nhau thì sẽ thực thi lệnh. Với điều kiện là servo không lặp lại nonce và khóa vẫn được giữ bí mật, điều này sẽ hoạt động. Các nonce thậm chí có thể từ một bộ đếm (với điều kiện là bộ đếm không thể bị buộc lặp lại).

kelalaka avatar
lá cờ in
Chà, trên thực tế, IV không có thể được sử dụng trong một thời gian dài với cấu trúc xác định với điều kiện là không có sự cố hệ thống. [NIST đã đề xuất kiểu sử dụng này](https://crypto.stackexchange.com/q/84357/18298). Vẫn còn rủi ro đối với OP và GCM có nhiều cạm bẫy, HMAC tốt hơn nên được sử dụng vì nó có nhiều cạm bẫy.

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