Điểm:2

Khả năng chống lại các cuộc tấn công kênh bên của XMSS/LMS/SPHINCS+ một cách tự nhiên

lá cờ cn

Tất cả các sơ đồ chữ ký lượng tử sau này được các tác giả tuyên bố là có khả năng chống lại các cuộc tấn công kênh bên một cách tự nhiên. Câu hỏi của tôi là, tại sao hoặc như thế nào?

Điểm:3
lá cờ my

Tất cả các sơ đồ chữ ký lượng tử sau này được các tác giả tuyên bố là có khả năng chống lại các cuộc tấn công kênh bên một cách tự nhiên. Câu hỏi của tôi là, tại sao hoặc như thế nào?

Chà, hãy phá vỡ điều này:

  • Về thời gian và các kênh phụ dựa trên bộ đệm, việc triển khai rõ ràng là khá tốt (ngoại lệ: bộ tham số dựa trên Haraka của Sphincs+)

Đây là lý do: việc triển khai tự nhiên các hàm SHA-256 và SHAKE dựa trên các hướng dẫn có thời gian không đổi trên các bộ xử lý hiện đại (hoạt động logic, bổ sung mô-đun, dịch chuyển/xoay theo số lượng không đổi) và không thực hiện truy cập bộ nhớ hoặc dữ liệu phụ thuộc vào dữ liệu -các nhánh phụ thuộc (ngoại trừ những nhánh dựa trên độ dài thư - thông báo có độ dài thay đổi duy nhất có liên quan là hàm băm thư ban đầu và chúng tôi không coi thư được ký là bí mật). Ngoài ra, việc triển khai tự nhiên cơ sở hạ tầng HBS (ví dụ:chuỗi Winternitz hoặc tính toán cây Merkle) cũng không có các nhánh hoặc quyền truy cập bộ nhớ dựa trên bí mật (nó liên quan đến các nhánh có điều kiện, tuy nhiên những điều kiện đó luôn là chức năng của thông báo hoặc giá trị chúng ta đặt vào chữ ký; nghĩa là, giá trị mà đối phương dù sao cũng sẽ biết).

Do đó, các kênh bên dựa trên thời gian và bộ nhớ cache không mang lại bất kỳ giá trị nào mà kẻ tấn công chưa biết (tất nhiên, giả sử rằng việc triển khai không cố tình làm rò rỉ).

  • Về sức mạnh hoặc các cuộc tấn công kênh bên kiểu EMF, câu chuyện không rõ ràng lắm.

Hầu hết các giá trị bên trong (ví dụ: các nút bên trong cây Merkle) không thực sự bí mật. Ngoài ra, một cuộc tấn công sức mạnh/EMF (giả sử chữ ký không mạnh đến mức một dấu vết duy nhất là đủ - với các hoạt động đối xứng mà chúng ta đang nói đến, chúng thường không) yêu cầu sử dụng cùng một giá trị bí mật trong một số khác nhau bối cảnh; do đó, các giá trị trước đó trong chuỗi Winternitz cũng khó bị tấn công (vì các giá trị đó chỉ được sử dụng một lần).

Thứ có thể bị tấn công là chức năng được sử dụng để tạo các giá trị ban đầu cho chuỗi Winternitz (và cho Sphincs+ lá FORS). Điều thường được thực hiện trong cả ba (và được ủy quyền chính thức bởi Sphincs+) là sử dụng cùng một hạt giống tĩnh (với các tham số bổ sung khác nhau) để tạo trực tiếp các giá trị này - đó chính xác là điều mà một cuộc tấn công DPA sẽ cần (và tất nhiên, một khi kẻ tấn công phục hồi điều đó, trò chơi kết thúc). Tài liệu vòng 3 Sphincs+ gợi ý rằng bạn có thể sử dụng triển khai hàm băm kháng DPA trong trường hợp đó.

Bây giờ, có thể làm lại logic tạo giá trị ban đầu để nó không thể bị tấn công theo cách này (ví dụ: bằng cách tạo các giá trị đó dưới dạng lá từ cây nhị phân lớn, sao cho bất kỳ giá trị nút bên trong nào chỉ được sử dụng trong hai ngữ cảnh) . Tuy nhiên, không có phương pháp nào được đề xuất chính thức cho bất kỳ phương pháp nào trong số ba phương pháp này.

lá cờ cn
vì vậy nói chung hàm băm phải mang lại kết quả công suất không đổi. thế còn về cuộc tấn công CPA hoặc tiêm lỗi có thể thao túng chỉ mục chữ ký (làm cho nó ký hai lần bằng cùng một khóa) thì sao?
poncho avatar
lá cờ my
@hooujki: Không, các hàm băm thường không mang lại kết quả sức mạnh không đổi - thực sự chuyển sức mạnh được ghi lại thành bí mật thường yêu cầu nhiều dấu vết trong các ngữ cảnh khác nhau. Đối với CPA ("Các cuộc tấn công bằng văn bản được chọn") không có gì hữu ích (tuy nhiên những cuộc tấn công đó thường không được coi là các cuộc tấn công kênh phụ).
poncho avatar
lá cờ my
@hooujki: Đối với các cuộc tấn công lỗi, đối với LMS và XMSS, chúng phụ thuộc vào logic đi bộ trên cây Merkle (không quá khó, nhưng không tầm thường và cũng không được chỉ định trong tài liệu); với Sphincs+, các cuộc tấn công lỗi khá mạnh và biện pháp đối phó duy nhất mà tôi biết là "tính toán hai lần, hy vọng kẻ tấn công không thể tiêm cùng một lỗi hai lần.
lá cờ cn
bởi CPA, ý tôi là "Phân tích sức mạnh tương quan". Việc tiêm đúng lỗi tương tự (các thay đổi trong MSB/LSB) có thể không khó khăn lắm. Theo logic đi bộ, ý bạn là các thuật toán tối ưu hóa được sử dụng để tạo giá trị gốc với tư cách là người ký?
poncho avatar
lá cờ my
@hooujki: liệu "Phân tích sức mạnh tương quan" có cùng các ràng buộc (cần được chạy nhiều lần trên các hoạt động không giống nhau có liên quan) mà DPA có không? Nếu vậy, nó có cùng một câu trả lời. Đối với "logic đi bộ", thực ra, một câu trả lời đầy đủ sẽ chiếm nhiều dung lượng hơn những gì được phép trong nhận xét - câu trả lời ngắn gọn là bạn có thể thực hiện chức năng một chiều để tạo các lá Winternitz (vì vậy một khi bạn ký, bạn có thể không còn ký lại với lá đó nữa - bạn đã quên cách thực hiện) và bạn cũng vậy (trong mô hình phân cấp) bạn lưu trữ các chữ ký trung gian. Một lần nữa, không cần thiết, nhưng có thể thực hiện được.
lá cờ cn
nhưng làm cách nào để bạn tạo chức năng một chiều cho những chiếc lá này nếu chúng phải được tạo lại hai lần? Bạn có thể tạo các giá trị ban đầu bằng PRNG như trong giả định Winternitz cổ điển nhưng bạn không thể làm điều đó vì sau khi khóa chung được tạo lần đầu tiên, người ký phải sử dụng các giá trị giống nhau (PRNG không thể mang lại cùng một giá trị) để tạo lại khóa công khai của sơ đồ tương ứng trong khi ký
poncho avatar
lá cờ my
@hooujki: vâng, người ký cần thực hiện nhiều lần chuyển qua cây Merkle (trừ khi anh ta lưu vào bộ đệm tất cả các giá trị Winternitz, điều mà không ai làm). Đối với các lần vượt qua ban đầu, chúng tôi sẽ giữ nguyên trạng thái PRNG ban đầu. Chúng tôi chỉ quan tâm đến thẻ cuối cùng (là thẻ ký thông báo); khi chúng tôi ký thông báo, thì chúng tôi có thể cập nhật trạng thái PRNG *và quên trạng thái trước đó*. Sau đó, chúng tôi không thể bị lừa ký lại với OTS đó (vì chúng tôi đã quên trạng thái cần thiết). Lỗi trong các lần trước sẽ dẫn đến chữ ký không hợp lệ, nhưng sẽ không rò rỉ bất cứ thứ gì. Khả thi, không rõ rà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.