Điểm:3

Làm thế nào một nhóm người đồng ký ác ý sẽ sử dụng xung đột hàm băm để ký một thông báo ngoài ý muốn?

lá cờ ar

Dựa theo BIP340:

Tuy nhiên, một nhược điểm lớn của việc tối ưu hóa này là việc tìm kiếm các va chạm trong một hàm băm ngắn rất dễ dàng. Điều này làm phức tạp việc triển khai các giao thức ký an toàn trong các tình huống trong đó một nhóm người ký không tin tưởng lẫn nhau làm việc cùng nhau để tạo ra một chữ ký chung duy nhất (xem Ứng dụng bên dưới). Trong các tình huống này, mô hình SUF-CMA không nắm bắt được do giả định về một người ký trung thực duy nhất, một chiến lược tấn công đầy hứa hẹn đối với những người đồng ký ác ý là tìm ra xung đột trong hàm băm để có được chữ ký hợp lệ trên một thông điệp mà một người đồng ký tên trung thực không có ý định ký tên.

Trong phiên bản Schnorr được sử dụng bởi BIP340, các đối số cho hàm băm được đưa ra như sau:

$e=\text{hash}(R || P || m)$

Để ký một tin nhắn ngoài ý muốn, một người ký độc hại sẽ cần phải tìm thấy sự xung đột giữa hai tin nhắn khác nhau:

$e=\text{hash}(R||P||m_0)=\text{hash}(R||P||m_1)$

Nhưng điều này ngụ ý $m_0$ không cam kết trước khi tính toán $R$. Có vẻ lạ là "cuộc tấn công" này yêu cầu thuyết phục người ký trung thực ký vào một thông điệp cụ thể $m_0$ sau đó họ đã tính toán cụ thể của họ $R_H$ giá trị. Nếu $m$ đã được cam kết trước khi tạo $R$ là loại tấn công vẫn có thể?

Điểm:1
lá cờ in

Vấn đề là bạn (và tôi) đã không đọc tài liệu đúng cách;

Trong phần được trích dẫn của bạn, họ xem xét việc tấn công biến thể chữ ký Schnorr, Để đơn giản hóa, tôi sẽ sử dụng một ký hiệu ngắn hơn là $H(m)$

Vâng, họ xem xét vụ va chạm cho cuộc tấn công. Nếu có chữ ký $sign(prv,H(m))$ và bạn muốn giả mạo, bạn cần các cuộc tấn công tiền hình ảnh vào hàm băm $H$ để bạn có thể khẳng định rằng $m'$ là thông điệp dự định.

Trong phần được trích dẫn của tài liệu Bip340, đây là trường hợp. Bạn muốn người đồng ký của mình ký một thông điệp mà bình thường họ không muốn ký. Vì vậy, bạn tìm thấy một số cặp va chạm $m_i \neq m'_i$ như vậy mà $H(m_i) = H(m'_i)$ với tài sản bổ sung; cosigner của bạn sẽ ký cho $m_i$ nhưng không phải cho $m'_i$ mà cái thứ hai là vì lợi ích của bạn chứ không phải của họ. Họ sẽ không nghi ngờ $m_i$ ký và họ sẽ ký và bạn sẽ sử dụng $m'_i$ làm thông báo đã ký để đạt được lợi thế so với người đồng ký tên của bạn.

sau này họ viết là;

Vì chúng tôi muốn tránh sự mong manh đi kèm với các hàm băm ngắn, $e$ biến thể không cung cấp lợi thế đáng kể. chúng tôi chọn $R$-option, hỗ trợ xác minh hàng loạt.

Nếu bạn cam kết $m$ trước chữ ký, thì cả va chạm và hình ảnh trước sẽ không hoạt động. Để xem;

  • $cam kết = H(m)$

  • tính toán $R$

  • chuẩn bị hàm băm cho chữ ký

    $\text{hash}(R || P || m)$

Trong trường hợp này, người đồng ký ác ý cần tấn công $cam kết$ để tìm một tin nhắn thứ hai khác $m'$ như là $H(m) = H(m')$, tức là thực hiện một cuộc tấn công trước hình ảnh thứ hai và điều này sẽ giữ cho $\text{hash}(R || P || m) = \text{hash}(R || P || m')$, quá. Hoàn toàn không thể.

kelalaka avatar
lá cờ in
@knaccc Thật khó để tìm thấy cả hai công việc đó. Tôi không có thông tin về xác suất tấn công đa hình ảnh cho những trường hợp như vậy. Ít nhất nó phải khó hơn tìm kiếm 128 bit.
knaccc avatar
lá cờ es
Tôi nghĩ lý do khiến câu hỏi này gây ra nhiều nhầm lẫn là vì họ chỉ ra rằng vấn đề là cặp chữ ký $(e, s)$ với các giá trị băm ngắn sẽ "làm phức tạp việc triển khai các giao thức ký an toàn trong các tình huống trong đó một nhóm những người ký không tin tưởng lẫn nhau làm việc cùng nhau để tạo ra một chữ ký chung duy nhất". Tuy nhiên, vì họ chưa bao giờ giải thích giao thức ký sẽ là gì cho biến thể $(e, s)$ mà họ đã từ chối, nên chúng tôi cần tự tìm hiểu xem giao thức đó sẽ là gì, để xem nó sẽ dễ bị tấn công như thế nào. Sự va chạm.
kelalaka avatar
lá cờ in
@knaccc Tôi thấy một số BIP được viết rất tệ không gần với rfcs.
lá cờ ar
Tôi thấy [bài đăng trên blog](https://medium.com/blockstream/insecure-shortcuts-in-musig-2ad0d38a97da) này từ một nhà nghiên cứu tại Blockstream khá hữu ích. Có vẻ như có thể xảy ra trường hợp $m$ được chia sẻ *sau* việc trao đổi nonce. Ví dụ: các nonce có thể được chia sẻ trước trong lightning như một cách tối ưu hóa để giảm số vòng giao tiếp. Tuy nhiên, xin lưu ý rằng bài đăng trên blog cho biết việc tối ưu hóa này không an toàn và chỉ những tin nhắn không cam kết mới được chia sẻ trước, vì vậy tôi không chắc liệu việc gửi tin nhắn sau cam kết có bao giờ xảy ra trong thực tế hay không.

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