Điểm:1

ý tưởng tạo mật khẩu xác định

lá cờ ru

Ngoài nhà cung cấp dịch vụ chuyên nghiệp, tôi thường vấp phải nhu cầu về một mật khẩu duy nhất cho exp. cho cơ sở dữ liệu cục bộ, máy chủ trò chơi hoặc trên rất nhiều trang web không quá quan trọng.

Tôi nảy ra ý tưởng viết một trình tạo mật khẩu xác định cho chính mình, công cụ này cần một bộ:

  • mật khẩu cấp cao
  • tiêu đề cho exp. chỉ một từ "pinterest"

và tạo mật khẩu có độ dài được chỉ định, luôn giống nhau.

Tôi nhận ra rằng ý tưởng này có thể không phải là ý tưởng an toàn nhất, v.v. Nhưng hãy tập trung vào việc triển khai đúng cách chứ không phải khái niệm.

Việc thực hiện:

  1. Xử lý tiêu đề và mật khẩu chính bằng hàm băm mật khẩu như bong bóng băm hoặc argon2 (Tôi tin rằng nó bổ sung thêm một số nỗ lực tính toán và khiến việc lấy mật khẩu chính từ một vài mật khẩu được tạo khó khăn hơn)
  2. Sử dụng kết quả của 1. làm hạt giống cho Fortuna DRNG để tạo mật khẩu

Các giả định của tôi về điểm 1. có đúng không? Bạn sẽ đề nghị một số hoạt động nhiều hơn?

Tôi nên xử lý mật khẩu chính và tiêu đề như thế nào? Tôi có thể chỉ cần nối chúng và băm, hoặc XOR băm của chúng hoặc soạn thảo không?

DannyNiu avatar
lá cờ vu
SSL/TLS thực hiện khá nhiều những gì bạn mô tả - lấy các khóa hoạt động từ khóa chính thu được từ bắt tay; ngoại trừ chúng hoạt động với khóa nhị phân thay vì mật khẩu văn bản. Mặt khác, câu hỏi này (như tôi thấy) là một yêu cầu phân tích lược đồ, do đó lạc đề.
lá cờ kr
Đây thực sự là một bản sao của [câu hỏi này](https://crypto.stackexchange.com/questions/98173/diy-password-key-derivation-tool-using-pbkdf2-hmac). Xem ở đó những vấn đề bạn có thể gặp phải. Tóm lại: Nếu bạn cần thay đổi mật khẩu cho một trong 100 trang web thì sao? Một máy phát điện duy nhất sẽ không hoạt động.
kelalaka avatar
lá cờ in
Sử dụng trình quản lý mật khẩu?
lá cờ kr
@kelalaka: Có, sử dụng trình quản lý mật khẩu là cách tiếp cận hợp lý nhất. Nhưng OP cũng như câu hỏi được liên kết hy vọng rằng có thể có một chức năng hay cung cấp cho bạn mật khẩu cho tất cả các trang web của bạn, do đó bạn chỉ cần nhớ một mật khẩu * duy nhất". Trong câu trả lời được liên kết, tôi giải thích tại sao điều đó là không thể về lâu dài Và vâng, nếu một người chỉ muốn nhớ một mật khẩu *duy nhất*, thì người đó nên sử dụng trình quản lý mật khẩu.
lá cờ kr
Nếu bạn không quan tâm đến việc đặt lại mật khẩu, thì cách tiếp cận của bạn gần như ổn. Tôi không thấy bất kỳ lý do nào để có bước 2, DRNG. Băm đã có entropy cao. Tại sao bạn cần một DRNG? Nó sẽ không làm cho kết quả trở nên tồi tệ hơn, nhưng nó làm tăng thêm độ phức tạp mà không mang lại bất kỳ lợi ích nào.
kebabdubaj avatar
lá cờ ru
Tôi nghĩ rằng DRNG sẽ cho phép tôi tạo mật khẩu có độ dài tùy ý
Điểm:-2
lá cờ cn

Tôi sẽ đề xuất ít hoạt động hơn :-)

Sử dụng Argon2 trực tiếp như đó là những gì nó dành cho. Vì vậy, bạn sẽ làm một cái gì đó như thế này: -

tiếng vang "master_password" | argon2 header_needs_to_be_longer -t 1000 -p 10 -k 10000

trong thế giới * nix.

Điều đó sau đó tạo ra: -

Loại: Argon2i
Số lần lặp lại: 1000
Bộ nhớ: 10000 KiB
Song song: 10
Hàm băm: 16e4848c0274617768dac792518fd60d74df6233c0f7d4b90df22f009ae177fd
đã mã hóa:    $argon2i$v=19$m=10000,t=1000,p=10$aGVhZGVyX25lZWRzX3RvX2JlX2xvbmdlcg$FuSEjAJ0YXdo2seSUY/WDXTfYjPA99S5DfIvAJrhd/0
6,435 giây
xác minh ok

Băm là 256 bit nên rất nhiều và luôn có thể lặp lại và an toàn.

lá cờ kr
Từ quan điểm bảo mật, vâng, điều đó tốt. Nhưng những gì về khả năng sử dụng? Nếu bạn có 100 trang web và phải thay đổi mật khẩu cho một trong số chúng, bạn có truy cập từng trang web trong số 100 trang web này và thay đổi mật khẩu chỉ để có cùng một trình tạo không?
Paul Uszak avatar
lá cờ cn
@mentallurg Err, không chắc ý của bạn là gì khi có một trình tạo duy nhất, nhưng tôi đang cố gắng tập trung vào việc sử dụng Argon để kết hợp mật khẩu chính và muối.
lá cờ kr
Câu hỏi KHÔNG phải là về cách tạo mật khẩu an toàn. Câu hỏi đặt ra là tạo một chức năng có đầu vào là tên trang web và tạo mật khẩu cho nó. Giống như *mật khẩu = trình tạo (tên_trang_web)*. Có thuật toán băm an toàn chỉ là một phần * của nó. Chắc chắn rồi, chúng ta có thể sử dụng Argon hoặc thuật toán an toàn khác. Nhưng vấn đề *cơ bản* là phương pháp này chỉ hoạt động nếu bạn chưa thay đổi mật khẩu cho bất kỳ trang web nào. Nếu bạn phải thay đổi mật khẩu, bạn cần một số trình tạo *other*.
lá cờ kr
... Vì vậy, bạn sẽ cần 2 máy phát điện. Nếu bạn thay đổi mật khẩu cho một số trang web 3 lần, bạn sẽ cần 3 trình tạo. Hơn nữa, bạn sẽ cần lưu trữ một số thông tin về trình tạo nào sẽ là người dùng cho trang web nào. Do đó, cuối cùng bạn sẽ thấy cần phải lưu giữ các thông tin khác nhau để tạo mật khẩu cho mỗi trang web. Do đó, về lâu dài, việc có một trình tạo duy nhất cho nhiều trang web là không thể.
kebabdubaj avatar
lá cờ ru
Hãy làm rõ một chút, trình tạo mật khẩu của tôi có một usecase rất cụ thể cho những mật khẩu hiếm khi được sử dụng, không quá quan trọng, vẫn có thể là một mật khẩu duy nhất (đối với máy chủ exp. minecraft). Ngoài ra, tôi nghĩ rằng mối quan tâm của bạn về việc thay đổi mật khẩu, có thể được giải quyết bằng cách thêm một số nguyên không dấu I, có thể tham gia vào việc tạo mật khẩu
kebabdubaj avatar
lá cờ ru
@PaulUszak bạn có đề xuất sử dụng tiêu đề làm muối cho argon2 không?
kebabdubaj avatar
lá cờ ru
@mentallurg Tôi đã đọc câu hỏi được liên kết của bạn, tôi đồng ý với bạn, nhưng tôi vẫn tin vào cách tiếp cận của mình đối với trường hợp sử dụng cá nhân của mình và int không dấu này mà tôi đã thêm vào chức năng sẽ giải quyết vấn đề thay đổi mật khẩu cho tôi.
kebabdubaj avatar
lá cờ ru
Câu hỏi chính của tôi vẫn là liệu việc triển khai của tôi có đúng không?
Paul Uszak avatar
lá cờ cn
@kebabdubaj Vâng, tôi đồng ý. Có vẻ như cách rõ ràng để kết hợp chúng :-) Bao gồm bất kỳ số phiên bản (int) nào.
kebabdubaj avatar
lá cờ ru
@PaulUszak Được rồi, nó hợp lý, đồng ý

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.