Mật khẩu giống nhau


9

Tôi muốn thay đổi mật khẩu của mình trên một máy unix. Tôi đã thực hiện một "mật khẩu" bình thường và nhập mật khẩu cũ và mới.

Sau đó, máy quay lại với tôi với thông báo sau:

BAD PASSWORD: is too similar to the old one

Điều đó khiến tôi suy nghĩ ... Điều đó có nghĩa là, máy có mật khẩu của tôi ở dạng văn bản rõ ràng ở đâu đó? Nếu không, nó sẽ không thể so sánh mật khẩu cũ và mật khẩu mới, phải không? Hoặc có một hàm băm, cho phép điều đó?

Câu trả lời:


6

OK, vì vậy tôi đã làm theo gợi ý của Michael Hampton và đi xem mã của pam_cracklib.c và dường như pam_cracklib nhận được mật khẩu cũ (còn gọi là hiện tại) từ PAM thông qua một cuộc gọi chức năng (mà tôi thấy hoàn toàn ổn, như tôi thấy Tôi vừa nhập mật khẩu hiện tại để xác thực) và sau đó thực hiện phân tích tương tự (chức năng khoảng cách) giữa mật khẩu cũ và mật khẩu mới tôi vừa nhập.

Nhưng nó không thực hiện phân tích này cho tất cả các mật khẩu cũ trong lịch sử của nó. Điều đó sẽ không thể xảy ra, vì chúng chỉ được lưu trữ dưới dạng băm. Đối với họ chỉ có thể có một kiểm tra nếu họ giống nhau. Vì vậy, mọi thứ dường như được sắp xếp theo thứ tự, như tôi mong đợi, nhưng bây giờ tôi đã hiểu tại sao nó ... cảm ơn mọi người.


3

Mật khẩu cũ của bạn không được lưu trữ trong văn bản đơn giản.

Thay vào đó, băm mật khẩu cũ của bạn được lưu trữ /etc/security/opasswdbởi PAM. Sau đó, nó sẽ so sánh khi bạn thay đổi mật khẩu, dựa trên những gì đã được chỉ định trong cấu hình PAM.

Một ví dụ cấu hình PAM:

password required pam_unix.so sha512 remember=12 use_authtok

Ở đây, rememberlàm cho nó nhớ 12 mật khẩu trước đó.

Để biết thêm chi tiết, xem Linux Password Security với pam_cracklib .


Mhm ... chắc chắn nó không phải là mật khẩu tôi từng sử dụng trước đây ... Vì vậy, nó phải kiểm tra các thay đổi ký tự thành mật khẩu cũ. Nhưng nếu tất cả những gì được lưu là một hàm băm của mật khẩu đó, thì làm thế nào để nó hoàn thành việc so sánh? Không phải là một trong các chức năng chính của băm bảo mật bằng mật mã để không cho phép so sánh giữa các văn bản rõ ràng khác nhau sao?
dertoni

Bạn đã cho tôi ở đó. Tôi nghĩ rằng bạn phải đọc mã nguồn để trả lời chắc chắn.
Michael Hampton

Tôi hy vọng rằng nó tạo ra các biến thể của mật khẩu mới và nếu bất kỳ băm nào của các biến thể này khớp với hàm băm của mật khẩu cũ, thì nó cũng tương tự. Bằng cách đó, chỉ có băm được lưu trữ. Tất nhiên, tôi cũng chưa kiểm tra điều này trong mã nguồn ...
Ladadadada

ok, đọc mã ... thêm một câu trả lời về những phát hiện của tôi. +1 để giúp tôi tìm câu trả lời ;-) thx.
dertoni

0

Một số hệ thống có thể lưu trữ / tính toán entropy (độ phức tạp của mật khẩu) và so sánh chúng, tôi không biết đó có phải là trường hợp của PAM không.

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.