Sự khác biệt giữa một cuộc tấn công tiền giả thứ hai và một cuộc tấn công va chạm là gì?


24

Wikipedia định nghĩa một cuộc tấn công tiền giả thứ hai là:

đưa ra một tin nhắn cố định m1, tìm một tin nhắn khác m2 sao cho hàm băm (m2) = hash (m1).

Wikipedia định nghĩa một cuộc tấn công va chạm là:

tìm hai thông điệp khác nhau tùy ý m1 và m2 sao cho hàm băm (m1) = hash (m2).

Sự khác biệt duy nhất mà tôi có thể thấy là trong một cuộc tấn công tiền giả thứ hai, m1 đã tồn tại và được biết đến với kẻ tấn công. Tuy nhiên, điều đó không khiến tôi thấy đáng kể - mục tiêu cuối cùng vẫn là tìm ra hai thông điệp tạo ra cùng một hàm băm.

Những khác biệt cơ bản trong cách thực hiện một cuộc tấn công tiền đề thứ hai và tấn công va chạm là gì? Sự khác biệt trong kết quả là gì?

(Bên cạnh đó, tôi không thể gắn thẻ câu hỏi này một cách chính xác. Tôi đang cố gắng áp dụng các thẻ "xung đột hình ảnh bảo mật tiền mã hóa" nhưng tôi không có đủ danh tiếng. Ai đó có thể áp dụng các thẻ phù hợp không?)


1
Ấn tượng của bạn là chính xác - đó là sự khác biệt. Phần mà bạn không chính xác là đây là một sự khác biệt lớn trong thực tế. Đó là một điều để có thể tìm thấy bất kỳ hai thứ nào có va chạm và một thứ khác để có thể tìm thấy một vụ va chạm cho một bản rõ cụ thể. Ví dụ: nếu bạn muốn giả mạo một tin nhắn cụ thể, việc bạn có thể thực hiện hành vi giả mạo hiện hữu là vô ích - bạn cần một tin nhắn khác có nội dung giống như tin nhắn bạn đã chặn.
Adrian Petrescu

@Adrian Petrescu: Bạn có thể đưa ra câu trả lời và có thể giải thích thêm về nó không? Thêm những thứ như khi mỗi (bạn cung cấp một tình huống cho cuộc tấn công tiền định, nhưng không phải cho cuộc tấn công va chạm) là phù hợp nhất?
Thomas Owens

Câu trả lời:


27

Tôi có thể thúc đẩy sự khác biệt cho bạn với các kịch bản tấn công.

Trong một cuộc tấn công preimage đầu tiên , chúng tôi yêu cầu một kẻ thù, đưa ra chỉ , để tìm m hoặc một số m ' như vậy mà H ( m ' ) = H ( m ) . Giả sử một trang web lưu trữ { u s e r n a m e , H ( p a s s w o r d ) } trong cơ sở dữ liệu của nó thay vì { u s eH(m)mmH(m)H(m){username,H(password)} . Trang web vẫn có thể xác minh tính xác thực của người dùng bằng cách chấp nhận mật khẩu của họ và so sánh H ( i n p u t ) = ? H ( p một s s w o r d ) (với xác suất 1 / 2 n đối với một số lượng lớn n cho dương tính giả). Bây giờ giả sử cơ sở dữ liệu này bị rò rỉ hoặc bị buộc tội khác. Một{username,password}H(input)=?H(password)1/2nncuộc tấn công tiền giả đầu tiên là tình huống mà một kẻ thù chỉ có quyền truy cập vào một thông báo tiêu hóa và đang cố gắng tạo ra một thông điệp băm đến giá trị này.

Trong một cuộc tấn công tiền giả thứ hai , chúng tôi cho phép đối thủ có thêm thông tin. Cụ thể, chúng tôi không chỉ cho anh ấy mà còn cho anh ấy m . Xét hàm băm trong đó và là các số nguyên tố lớn và là hằng số công khai. Rõ ràng đối với một cuộc tấn công tiền giả đầu tiên, điều này trở thành vấn đề RSA và được cho là khó khăn. Tuy nhiên, trong trường hợp của cuộc tấn công tiền giả thứ hai, việc tìm kiếm một vụ va chạm trở nên dễ dàng. Nếu một người đặt ,H(m)mH(m)=mdmodpqq d m = m p q + m H ( m p q + m ) = ( m p q + m ) dpqdm=mpq+mH(mpq+m)=(mpq+m)dmodpq=mdmodpq. Và do đó, đối thủ đã tìm thấy một sự va chạm với rất ít tính toán.

Chúng tôi muốn các hàm băm một cách chống lại các cuộc tấn công tiền giả thứ hai vì các sơ đồ chữ ký số, trong trường hợp đó được coi là thông tin công khai và được chuyển qua (thông qua mức độ gián tiếp) với mọi bản sao của tài liệu. Ở đây kẻ tấn công có quyền truy cập vào cả và . Nếu kẻ tấn công có thể đưa ra một biến thể trên tài liệu gốc (hoặc một tin nhắn hoàn toàn mới) sao cho anh ta có thể xuất bản tài liệu của mình như thể anh ta là người ký ban đầu.H(document)documentH(document)dH(d)=H(document)

Một cuộc tấn công va chạm cho phép đối thủ thậm chí nhiều cơ hội hơn. Trong sơ đồ này, chúng tôi yêu cầu đối thủ (tôi có thể gọi anh ta là Bob không?) Để tìm bất kỳ hai tin nhắn và sao cho . Do nguyên tắc pigeonhole và nghịch lý sinh nhật, các hàm băm 'hoàn hảo' thậm chí còn yếu hơn đối với các cuộc tấn công va chạm so với các cuộc tấn công tiền chế. Nói cách khác, được cung cấp một hàm tiêu hóa thông điệp không thể đoán trước và không thể đảo ngược , điều này làm mất thời gian của , một sự va chạm có thể luôn luôn được tìm thấy trong thời gian dự kiến .m1m2H(m1)=H(m2)f({0,1})={0,1}nO(2n)O(sqrt(2n))=O(2n/2)

Bob có thể sử dụng một cuộc tấn công va chạm để lợi thế của mình theo nhiều cách. Đây là một trong những cách đơn giản nhất: Bob tìm thấy sự va chạm giữa hai nhị phân và ( ) sao cho b là bản vá bảo mật Microsoft Windows hợp lệ và là phần mềm độc hại. (Bob hoạt động cho Windows). Bob gửi bản vá bảo mật của mình lên chuỗi lệnh, trong đó đằng sau một kho tiền họ ký mã và gửi nhị phân cho người dùng Windows trên toàn thế giới để sửa lỗi. Bây giờ Bob có thể liên hệ và lây nhiễm tất cả các máy tính Windows trên toàn thế giới bằng và chữ ký mà Microsoft đã tính chob H ( b ) = H ( b ) b b bbbH(b)=H(b)bbb. Ngoài các loại kịch bản tấn công này, nếu một hàm băm được cho là có khả năng chống va chạm, thì hàm băm đó cũng có nhiều khả năng chống lại tiền giả.


Điều đó thật tuyệt vời. Nhiều toán học hơn tôi đang tìm kiếm, nhưng tôi rất trân trọng nỗ lực - tôi đã theo dõi bạn qua từng người. Cảm ơn.
Thomas Owens

Và wow. Một sinh viên RIT đồng bào.
Thomas Owens

1
Thomas thế nào rồi? Tôi nghĩ rằng bạn đã có Vật lý với bạn của tôi Alan Meekins. Thật tốt khi thấy người RIT ở đây! Ngoài ra, cảm ơn bạn đã chấp nhận câu trả lời.
Ross Snider

Khá tốt. Nếu bạn sẽ ở quanh khuôn viên vào Mùa thu và quan tâm đến an ninh, có lẽ chúng ta có thể bắt kịp trực tiếp. Tôi đã thực hiện một số công việc bảo mật được áp dụng (áp dụng viết tốc ký, phân tích mã hóa, mã hóa khóa công khai, chữ ký số) vào mùa hè này và rất thích nghe về khía cạnh lý thuyết (nhiều như tôi quan tâm đến nó - Tôi không có thời gian hoặc nền tảng toán học để có được thông qua rất nhiều bài viết về chủ đề này).
Thomas Owens

rws1236@cs.rit.edu
Ross Snider


1

Vấn đề mà Ross đề cập đến là vấn đề nhật ký rời rạc trong thực tế là một vấn đề hoàn toàn khác, vấn đề RSA, liên quan nhiều đến gốc rễ tính toán hơn là nhật ký rời rạc.


2
Điều này chắc chắn là đúng! Rất tiếc. Ban đầu tôi đã sử dụng vấn đề nhật ký rời rạc và sau đó chỉnh sửa các chi tiết của sơ đồ. Nắm bắt tốt. Không chắc chắn rằng điều này đưa ra một câu trả lời mới - có lẽ thích hợp hơn để lại như một nhận xét dưới câu trả lời của tôi.
Ross Snider
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.