Muối mật khẩu trong php là gì?

Trong mật mã, muối là dữ liệu ngẫu nhiên được sử dụng làm đầu vào bổ sung cho hàm một chiều băm dữ liệu, mật khẩu hoặc cụm mật khẩu. [1] Muối được sử dụng để bảo vệ mật khẩu trong kho lưu trữ. Trước đây, chỉ đầu ra từ một lệnh gọi hàm băm mật mã trên mật khẩu được lưu trữ trên hệ thống, nhưng theo thời gian, các biện pháp bảo vệ bổ sung đã được phát triển để bảo vệ chống lại các mật khẩu trùng lặp hoặc phổ biến có thể nhận dạng được [vì hàm băm của chúng giống hệt nhau]. [2] Muối là một trong những biện pháp bảo vệ như vậy

Một loại muối mới được tạo ngẫu nhiên cho mỗi mật khẩu. Thông thường, muối và mật khẩu [hoặc phiên bản của nó sau khi kéo dài khóa] được nối và đưa vào hàm băm mật mã và giá trị băm đầu ra [chứ không phải mật khẩu gốc] được lưu trữ cùng với muối trong cơ sở dữ liệu. Băm cho phép xác thực sau này mà không cần giữ lại và do đó có nguy cơ bị lộ mật khẩu văn bản gốc nếu kho lưu trữ dữ liệu xác thực bị xâm phạm. Các muối không cần phải được mã hóa hoặc lưu trữ riêng biệt với mật khẩu được băm, bởi vì ngay cả khi kẻ tấn công có quyền truy cập vào cơ sở dữ liệu với các giá trị băm và muối, thì việc sử dụng đúng các muối nói trên sẽ cản trở các cuộc tấn công thông thường. [3]

Muối bảo vệ chống lại các cuộc tấn công sử dụng các bảng được tính toán trước [e. g. bảng cầu vồng],[4] vì chúng có thể làm cho kích thước của bảng cần thiết cho một cuộc tấn công thành công cực kỳ lớn mà không gây gánh nặng cho người dùng. [5] Vì các loại muối khác nhau nên chúng cũng bảo vệ yếu [e. g. mật khẩu thường được sử dụng, được sử dụng lại], vì các hàm băm muối khác nhau được tạo cho các phiên bản khác nhau của cùng một mật khẩu. [3]

Muối mật mã được sử dụng rộng rãi trong nhiều hệ thống máy tính hiện đại, từ thông tin đăng nhập hệ thống Unix đến bảo mật Internet

Các muối có liên quan chặt chẽ với khái niệm nonce mật mã

Ví dụ sử dụng[sửa]

Đây là một ví dụ không đầy đủ về giá trị muối để lưu trữ mật khẩu. Bảng đầu tiên này có hai kết hợp tên người dùng và mật khẩu. Mật khẩu không được lưu trữ

Tên người dùngMật khẩuuser1password123user2password123

Giá trị muối được tạo ngẫu nhiên và có thể có độ dài bất kỳ; . Giá trị muối được thêm vào mật khẩu văn bản gốc và sau đó kết quả được băm, được gọi là giá trị băm. Cả giá trị muối và giá trị băm đều được lưu trữ

Tên người dùng Giá trị muốiChuỗi được băm Giá trị băm = SHA256 [Mật khẩu + Giá trị muối]user1D;%yL9TS:5PalS/dpassword123D;%yL9TS:5PalS/d9C9B913EB1B6254F4737CE947EFD16F16E916F9D6EE5C1102A2002E48D4C88BDuser2]

Chủ Đề