Điểm:1

Tôi có thể sử dụng SHA256 từ cụm mật khẩu BIP39 cho thông tin đăng nhập xác thực không?

lá cờ cn

Tôi đang làm việc trên một ứng dụng được mã hóa E2E. Tôi đang sử dụng OpenPGP.js và lưu trữ khóa chung và khóa riêng trên máy chủ. Khóa riêng tư được mã hóa bằng cụm mật khẩu BIP39 được lưu trữ trong LocalStorage của trình duyệt để nó không bao giờ được gửi đến máy chủ. Nhưng tôi cũng cần một số thông tin đăng nhập để người dùng đăng nhập.

Ý tưởng của tôi là tạo SHA256 từ cụm mật khẩu BIP39 và chia thành hai chuỗi. Đầu tiên có thể được sử dụng cho "tên người dùng" và thứ hai cho mật khẩu máy chủ.

Phương pháp này có an toàn không? Theo như tôi biết nó nên được. Cụm mật khẩu BIP39 có entropy đủ lớn.Tôi không thể sử dụng muối vì cụm mật khẩu BIP39 đó phải là bí mật duy nhất để lưu trữ.

Phương pháp này có hợp lệ không? Cảm ơn bạn.

kelalaka avatar
lá cờ in
[Dẫn xuất nhiều khóa AES từ khóa chính](https://crypto.stackexchange.com/q/76588/18298) có liên quan
Điểm:1
lá cờ vn

Để trả lời câu hỏi thực tế của bạn, vâng, ý tưởng của bạn nghe có vẻ an toàn, nhưng đó không phải là cách nó thường được thực hiện.

Nếu bạn có một bí mật "chính" duy nhất và cần chia bí mật đó thành hai hoặc nhiều bí mật sao cho việc biết bất kỳ bí mật nào trong số đó không cung cấp thông tin về chủ, thì thứ bạn muốn là HKDF, được chỉ định trong RFC 5869, sử dụng HMAC để tạo bất kỳ số lượng bí mật độc lập nào từ một bí mật duy nhất.

Cũng có rất nhiều lựa chọn thay thế cho HKDF cho mục đích này. Nếu bạn chưa kết hôn với SHA-256, bạn có thể sử dụng BLAKE2 hỗ trợ "băm được cá nhân hóa" cho phép bạn kết hợp giá trị cá nhân hóa. Các giá trị cá nhân hóa duy nhất dẫn đến các giá trị băm duy nhất, ngay cả đối với cùng một đầu vào.

Điểm:1
lá cờ ng

Tôi có thể sử dụng SHA256 từ cụm mật khẩu BIP39 cho thông tin đăng nhập xác thực không?

Ý tưởng của tôi là tạo SHA256 từ cụm mật khẩu BIP39 và chia thành hai chuỗi.

Đó dường như là hai lỗi nghiêm trọng từ quan điểm thiết kế bảo mật.

  • Đó là sử dụng hàm băm nhanh như SHA-256 để xử lý thứ gì đó nhằm ghi nhớ. Thay vào đó, người ta phải sử dụng hàm băm mật khẩu chậm để kéo dài phím. Chúng được gọi là chức năng Dẫn xuất khóa dựa trên mật khẩu. Nếu có thể, nó phải là trí nhớ khó. Các lựa chọn được khuyến nghị bao gồm Argon2 hoặc scrypt. Trong khi BIP-39Sự lựa chọn của PBKDF2-HMAC-SHA512 với 512 viên đạn là kém (vì HMAC không phải là bộ nhớ cứng và phù hợp để tăng tốc lớn với ASIC, FPGA hoặc GPU), SHA-256 nhanh hơn khoảng 1000 lần, do đó dễ dàng bị tấn công hơn công cụ bẻ khóa mật khẩu.
  • Đó là chia dữ liệu/entropy của một bí mật thành hai bí mật ngắn hơn độc lập, có thể bị tấn công riêng. Tương tự: thay mã 6 chữ số để vào một tòa nhà thành hai mã 3 chữ số, mỗi mã cho hai cửa liên tiếp. Khi một cái gì đó bí mật và đáng nhớ phải được sử dụng nhiều lần, trọn bí mật phải nhập Hàm dẫn xuất khóa dựa trên mật khẩu, cùng với một số hằng số gắn với mục đích sử dụng dự định và nếu có thể Muối.

Lưu ý: có thể có những sai lầm khác trong thiết kế. Và có lẽ hai vấn đề rõ ràng trên thực sự được giảm thiểu bởi một cái gì đó. Chúng tôi không thể nói, vì các mục tiêu, giả định và thiết kế chi tiết về bảo mật không được nêu rõ.

lá cờ cn
Như tôi đã viết, tôi sẽ băm BIP39 ghi nhớ với một entropy khổng lồ. Không có mật khẩu nhân tạo nên tôi không thể tưởng tượng làm thế nào một công cụ bẻ khóa mật khẩu có thể bẻ khóa nó. Không một thế lực tàn bạo nào có thể đoán được BIP 39.
lá cờ cn
Đối với các bí mật ngắn hơn độc lập, chúng chỉ được sử dụng để đăng nhập bị giới hạn tốc độ với dự phòng theo cấp số nhân, vì vậy tôi cho rằng chúng rất khó đoán. Dù sao, cảm ơn bạn đã trả lờ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.