Điểm:1

Giá trị muối trong thuật toán scrypt

lá cờ gf
cjd

Tôi thấy có rất nhiều câu hỏi liên quan đến việc xử lý giá trị muối nhưng cho đến nay tôi chưa thấy gì giải đáp được câu hỏi sau.

Khi sử dụng một KDF mã hóa như vậy, tôi tin rằng giá trị của muối phải là ngẫu nhiên và thay đổi mỗi lần ngay cả trên cơ sở mỗi người dùng (cùng một người dùng tạo hai khóa khác nhau tại các thời điểm khác nhau). Do đó, việc lưu trữ muối được tạo ngẫu nhiên trong một số kho lưu trữ lâu dài có an toàn không?

Tôi đang sử dụng scrypt để tạo khóa cho AES. Tôi không lưu trữ khóa được sử dụng để mã hóa. Như vậy, để giải mã dữ liệu, tôi phải sử dụng scrypt một lần nữa để tạo khóa. Để làm điều này, tôi phải lấy mật khẩu người dùng (mật khẩu này được người dùng nhập mỗi lần) và muối. Với khóa phải khớp với khóa được sử dụng để mã hóa, tôi có phải lưu trữ muối để lấy lại cùng một khóa không?

Tương tự như một vectơ khởi tạo, muối này có thể được lưu trữ ở nơi công cộng không? Đối với trường hợp sử dụng của tôi, cả chuỗi được mã hóa và IV sẽ được lưu trữ ở nơi công cộng, muối cũng có thể được lưu trữ như thế này không?

JAAAY avatar
lá cờ us
Có, tất cả những thứ đó ngoại trừ mật khẩu được gọi là tham số công khai và có thể được lưu trữ ở nơi công cộng.
kelalaka avatar
lá cờ in
Bạn sẽ sử dụng mật khẩu này bao nhiêu lần cho các tệp khác nhau? Chế độ hoạt động mã hóa mà bạn muốn sử dụng là gì? Có rất nhiều câu hỏi/cạm bẫy khi bạn muốn mã hóa tệp. Ngay cả [cập nhật tệp có thể nguy hiểm nếu bạn không thay đổi khóa...](https://crypto.stackexchange.com/a/84440/18298)
Điểm:3
lá cờ kr

Mục đích của muối là để ngăn chặn việc sử dụng bảng cầu vồng. Nói một cách đơn giản, hãy sử dụng các loại muối khác nhau để băm các mật khẩu khác nhau. Muối không cần bí mật. Một thực tế phổ biến là muối được lưu trữ ở dạng dễ tiếp cận.

Để lấy cùng một khóa AES với scrypt, bạn nên sử dụng cùng một đầu vào. Không chỉ các Muối phải giống nhau, nhưng cũng có các tham số khác như Số lần lặp lại phải giống nhau và đó là lý do tại sao cũng nên được lưu trữ. Và những thông số này cũng như muối không cần phải bí mật.

kelalaka avatar
lá cờ in
OP nói về khóa AES, không phải về việc lấy mật khẩu ... Ngoài ra, IV cũng có thể được lấy cùng với khóa (không có đề cập đến IV trên bài đăng của bạn)
lá cờ kr
@kelalaka: Bạn có chắc không? OP đang nói: *"Tôi đang sử dụng scrypt để tạo khóa cho AES ... Để làm điều này, tôi phải lấy mật khẩu người dùng (mật khẩu này được người dùng nhập mỗi lần) và muối"*. Tác giả yêu cầu người dùng nhập mật khẩu, sau đó thêm muối (tôi cho rằng các tham số khác là một số hằng số) và tạo khóa, khóa này sau đó được sử dụng để mã hóa/giải mã bằng AES. Đây là quy trình chuẩn trong KeePass và một số công cụ khác.
lá cờ kr
@kelalaka: Và hãy xem tiêu đề: OP đang hỏi cụ thể về việc xử lý muối cho tiền điện tử.
kelalaka avatar
lá cờ in
Bạn sử dụng `'Để lấy cùng một mật khẩu với scrypt, bạn nên sử dụng cùng một đầu vào.` Nên là _Để lấy cùng một khóa AES với scrypt, bạn nên sử dụng cùng một đầu vào. _ Đối với phần IV, lỗi của tôi..
cjd avatar
lá cờ gf
cjd
Có, điều này trả lời câu hỏi @mentallurg. Vì vậy, có an toàn để lưu trữ muối (cũng như IV) ở nơi công cộng?
lá cờ kr
@kelalaka: OK, ý tôi là đúng, ý tôi là "để có được cùng một đầu ra, bạn cần có cùng một đầu vào". Nhưng sử dụng từ "mật khẩu" trong ngữ cảnh này không phải là một ý tưởng hay. OP đang nói về khóa AES, vì vậy chúng ta nên tuân theo nó. Tôi đã chỉnh sửa câu trả lời của mình. Cảm ơn bạn
lá cờ kr
@cjd: Vâng, lưu trữ muối công cộng là an toàn. Tuy nhiên, như *kelalaka* đã chỉ ra trong một bình luận khác, muối có thể không đủ để bảo mật tốt. Chẳng hạn, nếu bạn sử dụng cùng một loại muối cho nhiều mật khẩu, điều này sẽ làm giảm hiệu quả của loại muối đó. Ngoài ra, điều quan trọng là chính xác bạn đang làm gì với AES, ví dụ:. bạn đang mã hóa một tệp bằng mật khẩu cụ thể chỉ một lần hay bạn đang cập nhật tệp này theo thời gian. Ngoài ra, điều quan trọng là bạn đang sử dụng AES chính xác như thế nào, như *kelalaka* đã hỏi. Vì vậy, hãy xem xét các khía cạnh khác ngoài 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.