Điểm:0

Sử dụng hàm băm của dữ liệu làm bằng chứng về tính toàn vẹn và ngăn ngừa xung đột

lá cờ us

Thay vì lưu trữ dữ liệu người dùng khi tương tác với một ứng dụng, tôi đang lưu trữ SHA3-256 của dữ liệu.Điều này là do lưu trữ dữ liệu trong môi trường cụ thể này là rất hạn chế.

Dữ liệu có thể là một số biến, ví dụ: a, b và c, nhưng thay vì lưu chúng riêng lẻ, tôi lưu hàm băm của phép nối: SHA3(a,b,c).

Khi người dùng muốn tương tác với hệ thống, họ phải gửi lại các biến và hệ thống sẽ so sánh hàm băm của các biến được tổng hợp với hàm băm được lưu trữ. Nếu chúng khớp nhau, hệ thống sẽ giả định rằng các biến giống như được tổng kết ban đầu. Vì vậy, cuối cùng tôi chỉ lưu một biến thay vì 3 trong ví dụ này.

Dữ liệu được công khai nên mọi người đều biết. Câu hỏi tôi có là nếu có vấn đề bảo mật bằng cách băm nối các biến (điều này có giúp người dùng dễ dàng tìm thấy xung đột không). Có sự khác biệt nào không nếu thay vào đó tôi băm mọi biến và sau đó băm nối các giá trị băm?

Để giải thích những điều trên, lý do tôi nghĩ rằng điều này có thể giúp người dùng dễ dàng tìm thấy các xung đột là a, b và c thuộc các loại khác nhau và có các giá trị tối thiểu và tối đa; chẳng hạn, nếu c chỉ có thể có các giá trị trong khoảng từ 10 đến 1000, người dùng chỉ cần thử tất cả các giá trị có thể có của C để kiểm tra xung đột may mắn mà không cần nỗ lực nhiều. Đây có phải là một mối quan tâm hợp lý?

Lưu ý rằng ai gửi dữ liệu không quan trọng, chỉ là dữ liệu được tổng hợp hoàn toàn giống với dữ liệu được tổng hợp trước đó.

SEJPM avatar
lá cờ us
Cuộc tấn công cổ điển vào điều này là gửi a dưới dạng một byte 0 và b dưới dạng hai byte 0 và sau đó hoán đổi liên kết của các phần dữ liệu này. Điều này sẽ dẫn đến các giá trị băm giống hệt nhau cho trường hợp nối nhưng các giá trị khác nhau cho trường hợp được băm trước riêng lẻ.
Jaime avatar
lá cờ us
Cảm ơn vì nhận xét. các tham số là các loại có độ dài được xác định trước, ví dụ: couls "a" là 32Bytes, "b" 64 byte và "c" 128 byte. Trong trường hợp này, cuộc tấn công không được áp dụng, phải không?. Nói chung, nếu độ dài của biến là cố định, giả sử là 32 byte, thì cuộc tấn công mà bạn mô tả không thể thực hiện được phải không?
SEJPM avatar
lá cờ us
Có, nếu bạn có thể _đảm bảo_ độ dài của ít nhất tất cả trừ một đầu vào luôn được cố định thì bạn thường nhận được đầy đủ các thuộc tính bảo mật của cấu trúc kiểu toàn vẹn.
Điểm:1
lá cờ in

Miễn là hàm băm được lưu trữ an toàn vượt qua biểu diễn chính tắc của dữ liệu (tức là các biến và mã hóa của chúng không thể trùng lặp) thì việc lưu trữ hàm băm là an toàn. Nó sẽ bảo mật tương tự như có chữ ký trên dữ liệu, nhưng những chữ ký đó lớn hơn. Một điều mà tôi muốn đảm bảo là bạn lưu trữ hàm băm bằng cách sử dụng một giao dịch; nếu không, người dùng có thể làm gián đoạn và bạn không viết hoặc chỉ viết một phần của hàm băm.

Nếu bạn muốn làm cho việc tấn công trở nên khó khăn hơn hoặc muốn sử dụng ít bộ nhớ hơn thì thay vào đó, bạn có thể cân nhắc việc lưu trữ hàm băm có khóa, đối với SHA-3, đó sẽ là KMAC. Trong trường hợp đó, bạn có thể ví dụ:sử dụng 128 bit của đầu ra thay vì tất cả 256 bit, trong khi vẫn duy trì 128 bit bảo mật, nhưng có nhược điểm là nếu bạn làm rò rỉ khóa thì các cuộc tấn công va chạm vào đầu ra sẽ chỉ để lại cho bạn 64 bit bảo mật.

Điểm:0
lá cờ de

Tôi nghĩ rằng bạn thiếu hiểu biết về cách thức hoạt động của các hàm băm. Tôi khuyên một số cuốn sách giới thiệu như một sự khởi đầu. Tiêu chí nghiêm ngặt của trận tuyết lở đảm bảo rằng ngay cả khi một bit thay đổi ở bất kỳ biểu diễn nào thì thực tế là không thể tìm thấy va chạm.

Thiết lập của bạn chắc chắn không an toàn trước các cuộc tấn công phát lại. Bạn sẽ làm theo một số kỹ thuật ngẫu nhiên hoặc muối

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