Điểm:-1

Ai đó có thể vui lòng giải thích "bí mật" và "dữ liệu" trong thuật toán băm MD5 không?

lá cờ uz

Tôi đang nghiên cứu thuật toán băm MD5 và có điều gì đó mà tôi chưa hiểu. Họ nói rằng máy chủ nắm giữ một số loại hoặc "bí mật" và nó sẽ thêm một số loại "thông báo" (hoặc "dữ liệu") vào bí mật đó. Sau đó, thuật toán thêm phần đệm thích hợp vào phần được nối ("bí mật" + "dữ liệu") và quá trình tiếp tục từ đó.Bây giờ, người ta nói rằng chỉ có máy chủ biết "bí mật", nhưng kẻ tấn công sẽ biết "dữ liệu" cũng như chữ ký (rõ ràng là kết quả của quá trình băm ("bí mật + dữ liệu")). Bây giờ, đây là những gì tôi không nhận được:

Giả sử chúng ta có một URL:

http://website.com/ABCDEFGHIJKLMNOP?parameter=something

Bây giờ, phần ABCDEFGHIJKLMNOP là phần được băm của URL này. Gọi phần đó là chữ ký có đúng không? Nếu vậy, "dữ liệu" mà kẻ tấn công được cho là biết chính xác là gì? "Dữ liệu" được thêm vào "bí mật" ở đâu trong URL này?

Ngoài ra, tại sao "dữ liệu" lại được thêm vào "bí mật" ngay từ đầu? Tại sao "bí mật" không tự băm và được ẩn khỏi kẻ tấn công thay vì cung cấp cho kẻ tấn công một số "dữ liệu" rõ ràng đã biết?

fgrieu avatar
lá cờ ng
Có một điều chắc chắn: Bản thân MD5 không cho rằng bất kỳ điều gì là bí mật, cũng như không chỉ định một thực thể "máy chủ". MD5 là một chức năng hoàn toàn công khai chuyển đổi một thông báo (bất kỳ chuỗi bit nào có kích thước cực lớn) thành chuỗi bit 128 bit. Thông báo đó là bí mật hay không, không liên quan gì đến bản thân MD5. Một điều chắc chắn là nếu hàm băm là bí mật, thì ít nhất một số thông báo phải được giữ bí mật. Câu hỏi là về MD5 trong một số bối cảnh hiện chưa rõ ràng. Việc đề cập đến "chữ ký" gợi ý điều gì đó phức tạp hơn HMAC hoặc băm mật khẩu. Chúng tôi không thể điện thoại!!
lá cờ ph
Một liên kết đến một tài nguyên đưa ra yêu cầu này sẽ hữu ích. Như fgrieu nói, tuyên bố không đúng về MD5 per se, nhưng nó có thể đúng trong bối cảnh lớn hơn. Đối với một url, tầm quan trọng của các phần tùy thuộc vào người tạo - nói chung bạn không thể biết liệu có các hàm băm nào liên quan hay không. Và trong mọi trường hợp, "phần băm của url" không có nhiều ý nghĩa.
Rikudou avatar
lá cờ uz
@bmm6o Đây là một liên kết đề cập đến ý của tôi về "bí mật" và "dữ liệu" và tất cả những thứ đó: https://blog.skullsecurity.org/2012/everything-you-need-to-know-about- hash-length-extension-tấn công
lá cờ jp
@Rikudou Bài viết đó nói về việc tấn công thuật toán [mã xác thực tin nhắn](https://en.wikipedia.org/wiki/Message_authentication_code) (MAC) được thiết kế tồi *dựa trên* MD5 (hoặc một số hàm băm có thể mở rộng khác). Phần "bí mật" và "dữ liệu" đến từ việc nó được sử dụng làm MAC chứ không phải từ chính MD5.
fgrieu avatar
lá cờ ng
Trong _signature_ thích hợp, có một khóa riêng được sử dụng để tạo chữ ký và một khóa chung để xác minh chữ ký. Không có gì như vậy trong [case at hand](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks).
Điểm:1
lá cờ in

Như đã chỉ ra, đây là về việc tạo ra một $\operatorname{MAC}_k(m) = \operatorname{H}(k \| m)$ ở đâu $k$ là chìa khóa/bí mật và $m$ là tin nhắn/dữ liệu.

Bây giờ, phần ABCDEFGHIJKLMNOP là phần được băm của URL này. Gọi phần đó là chữ ký có đúng không? Nếu vậy, "dữ liệu" mà kẻ tấn công được cho là biết chính xác là gì?

Không, "ABCDEFGHIJKLMNOP" là dữ liệu tin nhắn. Kẻ tấn công biết điều đó vì nó được hiển thị rõ ràng trong URL.

Ngoài ra, tại sao "dữ liệu" lại được thêm vào "bí mật" ngay từ đầu? Tại sao "bí mật" không tự băm và được ẩn khỏi kẻ tấn công thay vì cung cấp cho kẻ tấn công một số "dữ liệu" rõ ràng đã biết?

Bởi vì MAC được sử dụng để xác thực một tin nhắn. Nếu bạn chỉ băm bí mật thì bạn có thể chứng minh rằng mình có khóa, nhưng dữ liệu sẽ không được bảo vệ.

Trong cả hai trường hợp, bạn vẫn nên cẩn thận phát lại các cuộc tấn công. Tuy nhiên, đó là một chủ đề khác mà tôi cho là vậ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.