Root và mật khẩu của tôi giống nhau


8

Nếu tôi cat /etc/shadowcó thể lấy mật khẩu được mã hóa của root và người dùng của tôi.

Các mật khẩu này giống nhau (tôi biết, bảo mật kém) cho mỗi tài khoản, nhưng trong /etc/shadowđó chúng hiển thị dưới dạng các chuỗi được mã hóa khác nhau.

Tại sao? Là các thuật toán khác nhau được sử dụng cho mỗi?


Tôi khuyên bạn nên đọc điều này như một điểm khởi đầu tốt. Câu trả lời ngắn gọn là băm được muối và băm không có muối hoàn toàn không có băm.
nhện của

Câu trả lời:


10

Người dùng riêng biệt có nghĩa là một ID người dùng riêng biệt và do đó, các giá trị băm riêng biệt sẽ liên quan đến thuật toán.

Ngay cả một người dùng có cùng tên, cùng mật khẩu và được tạo cùng một lúc sẽ (với xác suất gần như chắc chắn) sẽ kết thúc bằng một hàm băm khác nhau. Có các yếu tố khác giúp tạo ra mã hóa.

Nếu bạn muốn xem xét một ví dụ nhanh ở đây, nó có thể giải thích nó tốt hơn.


17
Chỉ cần đề cập đến từ ở đây: nó được gọi là muối băm.
Ulrich Schwarz

1
Người dùng riêng biệt không nhất thiết có nghĩa là ID người dùng riêng biệt. ID người dùng không có liên quan đến điều này. Khóa chính trong /etc/passwd, /etc/shadowlà tên người dùng, không phải ID người dùng (thậm chí không được đề cập đến /etc/shadow).
Stéphane Chazelas

Lời giải thích không hoàn toàn trả lời câu hỏi. ID người dùng phải làm gì với điều đó? Ngoài ra, URL không thực sự làm sáng tỏ câu trả lời cho câu hỏi.
phản ứng

@ StéphaneChazelas Không, người dùng riêng biệt có nghĩa là ID người dùng riêng biệt. Có thể có nhiều mục trong cơ sở dữ liệu người dùng với các tên người dùng khác nhau cho cùng một ID người dùng, nhưng tất cả đều là cùng một người dùng, chia sẻ tất cả các bối cảnh bảo mật (quyền sở hữu tệp, tín hiệu, v.v.) và chỉ khác nhau về phương thức đăng nhập ( ví dụ mật khẩu khác nhau và các shell khác nhau nhưng dẫn đến cùng một tài khoản).
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles, tôi không đồng ý. Bạn có thể có những người dùng khác nhau có cùng một uid nhưng các gid và bổ sung khác nhau (xem cách các thành viên trong / etc / nhóm được tham chiếu theo tên, không phải uid), các tham số đăng nhập khác nhau ... Nó ngày càng ít phổ biến hơn, đặc biệt là xem xét những điều đó như sudo không hoạt động tốt với điều đó.
Stéphane Chazelas

2

Thuật toán là như nhau. Các bộ bóng tối hiện đại sử dụng các mô đun xác thực có thể cắm (PAM) và PAM cho phép bạn định cấu hình một thuật toán băm. Đó là tất cả về "muối", có nghĩa là ngẫu nhiên hóa mật khẩu để mang lại hiệu quả mà bạn đang hỏi về.

Salting là một biện pháp đối phó với các cuộc tấn công từ điển, trong đó kẻ tấn công có từ điển các cặp mật khẩu / băm đã biết cố gắng tìm hiểu xem liệu giá trị băm đã cho cho một mật khẩu không xác định có khớp với giá trị băm cho một trong các mật khẩu đã biết hay không.

Salting ngăn chặn rằng vì một giá trị muối khác nhau dẫn đến một giá trị băm khác nhau, do đó, mật khẩu không bằng nhau. (Tuy nhiên, đó là cách thực hành tồi, nhưng vì những lý do khác.) Để cuộc tấn công từ điển thành công, kẻ tấn công giờ phải có từ điển cho mọi giá trị muối có thể. Một muối thực sự ngẫu nhiên có kích thước đủ sẽ làm cho xác suất thành công của một cuộc tấn công như vậy không đáng kể.

Đọc gợi ý: Mật khẩu được lưu trữ trong Linux như thế nào (Hiểu băm với các tiện ích bóng tối)


0

Trong tệp bóng, bạn sẽ thấy một số giữa $$ (giả sử $ 1 $ hoặc đại loại như thế). Nó chỉ ra thuật toán băm nào được sử dụng bởi máy của bạn. Xác định thuật toán và xem cách nó hoạt động. Chẳng hạn, $ 6 $ là SHA 512, được thiết kế theo cách mà ngay cả khi 2 người có cùng mật khẩu, thông báo băm mật khẩu của họ sẽ khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.