2009-06-16 35 views
7

Đầu tiên, câu hỏi của tôi không phải là về băm mật khẩu, mà là mã hóa mật khẩu. Tôi đang tạo ứng dụng dành cho máy tính để bàn cần xác thực người dùng cho dịch vụ của bên thứ ba. Để tăng tốc quá trình đăng nhập, tôi muốn cung cấp cho người dùng tùy chọn lưu thông tin đăng nhập của mình. Vì tôi cần mật khẩu để xác thực anh ta cho dịch vụ, nó không thể được băm.Làm thế nào để đảo ngược mật khẩu lưu trữ với Python trên Linux?

Tôi đã nghĩ đến việc sử dụng mô-đun pyCrypto và hoạt động Blowfish hoặc AES để mã hóa thông tin đăng nhập. Vấn đề là nơi lưu trữ khóa. Tôi biết một số ứng dụng lưu trữ khóa trực tiếp trong mã nguồn, nhưng vì tôi đang mã hóa một ứng dụng mã nguồn mở, điều này dường như không phải là một giải pháp rất hiệu quả.

Vì vậy, tôi đã tự hỏi làm thế nào, trên Linux, bạn sẽ thực hiện các khóa cụ thể của người dùng cụ thể hoặc hệ thống để tăng mật khẩu lưu trữ bảo mật.

Nếu bạn có giải pháp tốt hơn cho vấn đề này hơn là sử dụng các khóa cụ thể của pyCrypto và hệ thống/người dùng, đừng ngần ngại chia sẻ nó. Như tôi đã nói trước đây, băm không phải là một giải pháp và tôi biết mã hóa mật khẩu là dễ bị tổn thương, nhưng tôi muốn cung cấp tùy chọn cho người dùng. Sử dụng Gnome-Keyring cũng không phải là một lựa chọn, vì rất nhiều người (kể cả bản thân tôi) không sử dụng nó.

+0

Darn. Tôi sẽ đề nghị gnome-keyring: ( – Zifre

Trả lời

5

Mã hóa mật khẩu không thực sự bảo vệ bạn nhiều hơn là lưu trữ trong văn bản thuần túy. Bất kỳ ai có khả năng truy cập cơ sở dữ liệu cũng có thể truy cập đầy đủ vào máy chủ web của bạn.

Tuy nhiên, nếu mất an ninh là chấp nhận được, và bạn thực sự cần điều này, tôi sẽ tạo ra một keyfile mới (từ một nguồn tốt của dữ liệu ngẫu nhiên) như một phần của quá trình cài đặt và sử dụng này. Rõ ràng lưu trữ khóa này là an toàn nhất có thể (đã khóa quyền truy cập tệp, v.v.). Sử dụng một khóa duy nhất được nhúng trong nguồn không phải là một ý tưởng hay - không có lý do tại sao các cài đặt riêng biệt phải có cùng khóa.

0

Mật khẩu an toàn được thiết kế bởi Bruce Schneier và nguồn mở. Nó dành cho Windows, nhưng bạn sẽ có thể nhìn thấy những gì họ đang làm và có thể tái sử dụng nó.

http://www.schneier.com/passsafe.html

http://passwordsafe.sourceforge.net/

đọc này: If you type A-E-S into your code, you're doing it wrong.

+0

rằng liên kết cuối cùng ("Nếu bạn nhập ...") trả lại 404. –

+0

Họ đã di chuyển blog - cập nhật –

+0

Aaaaand nó bị hỏng một lần nữa. Một chút googling tìm thấy nó được nhân đôi một vài nơi, nhưng tất cả chúng dường như thiếu hình ảnh. – TRiG

5

Hãy thử sử dụng PAM. Bạn có thể tạo một mô-đun tự động giải mã khóa khi người dùng đăng nhập. Đây là cách thức hoạt động của GNOME-Keyring (nếu có thể). Bạn thậm chí có thể viết mô-đun PAM bằng Python với pam_python.

Các vấn đề liên quan