🔐 Máy chủ không cần biết mật khẩu gốc
Khi đăng ký, hệ thống tạo salt ngẫu nhiên riêng, chạy thuật toán password hashing thích hợp và lưu salt, tham số cùng hash. Khi đăng nhập, nó tính lại rồi so sánh theo thời gian gần hằng. Không lưu mật khẩu rõ hoặc dùng hàm băm nhanh thông thường.
Hash khác mã hóa
Mã hóa được thiết kế để giải mã bằng khóa; password hashing là biến đổi một chiều để kiểm tra phỏng đoán. Mật khẩu không cần khôi phục. Nếu ứng dụng có chức năng “gửi lại mật khẩu cũ”, đó là dấu hiệu thiết kế nguy hiểm.
Salt và pepper
Salt không cần bí mật nhưng phải ngẫu nhiên và riêng cho từng bản ghi, khiến cùng mật khẩu tạo hash khác nhau. Pepper là bí mật bổ sung lưu ngoài database; nếu dùng phải có kế hoạch luân chuyển và khôi phục.
Thuật toán và nâng cấp
Dùng thuật toán chuyên cho mật khẩu như Argon2id, scrypt, bcrypt hoặc PBKDF2 theo hướng dẫn nền tảng, với tham số được hiệu chỉnh cho hệ thống. Khi người dùng đăng nhập thành công, có thể kiểm tra tham số cũ và rehash sang cấu hình mới.
⚠️ Hash tốt không sửa mật khẩu yếu
Cần cho phép passphrase dài, chống credential stuffing bằng rate limit và MFA, kiểm tra mật khẩu đã lộ, bảo vệ phiên và kênh truyền. Không cắt ngầm mật khẩu dài hoặc đặt quy tắc ký tự gây mẫu dễ đoán.
✍️ Luyện tập
Vẽ threat model khi database bị lộ: tài sản, năng lực kẻ tấn công, tác dụng của salt–cost–pepper và những gì chúng không bảo vệ.
📚 Căn cứ biên soạn
- Chương trình GDPT 2018 và mạch nội dung Kết nối tri thức với cuộc sống.
- Nội dung biên soạn độc lập, chú trọng mô hình, đơn vị, điều kiện áp dụng và kiểm chứng.
Cùng nhau hiểu bài sâu hơn
Viết lời giải, công thức, đặt câu hỏi hoặc gửi ảnh phần bạn đang vướng.
Đăng nhập để đặt câu hỏi và tham gia trao đổi.
Chưa có trao đổi nào. Hãy là người đầu tiên đặt câu hỏi nhé.