- Trình quản lý mật khẩu không cần kho lưu trữ (vault), kết hợp mật khẩu chủ + chuỗi realm để luôn tạo ra cùng một mật khẩu ngay tức thì
- Trên bất kỳ thiết bị nào, chỉ cần cùng một đầu vào là có thể tái tạo cùng một mật khẩu, nên bản thân vấn đề sao lưu, đồng bộ hóa và phải tin cậy bên thứ ba đều biến mất
- Hỗ trợ tạo nhiều loại khóa khác nhau, không chỉ mật khẩu đơn giản mà còn khóa ECC/RSA, luồng byte thô, file seed
- Khi cần entropy mạnh, có thể tạo file seed được mã hóa để dùng cho việc tạo khóa cường độ cao hơn (mã hóa bằng AES-256-GCM)
- Công cụ tập trung vào CLI, có thể kết hợp
-p, -r, -t để tái tạo mọi thứ từ mật khẩu đăng nhập dựa trên URL đến khóa x25519 và ed25519
- Kết quả đầu ra mặc định được ghi ra stdout, và có thể lưu vào file bằng tùy chọn
-o
- Các kiểu đầu ra được hỗ trợ
pass: tạo mật khẩu thông thường
seed: tạo file seed được mã hóa
raw: tạo luồng số ngẫu nhiên 32 byte
ec256, ec384, ec521: tạo khóa riêng ECC
rsa2048, rsa4096: tạo khóa riêng RSA
x25519, ed25519: tạo khóa ECC dựa trên Curve25519
- 2 chế độ hoạt động
Simple mode: dẫn xuất mật khẩu từ chỉ mật khẩu chủ và chuỗi realm
- Mỗi tổ hợp tạo ra một kết quả riêng biệt, không cần lưu trữ thêm
- Tuy nhiên, mức độ an toàn phụ thuộc vào độ mạnh của mật khẩu chủ
Seed file mode: dùng file seed làm nguồn entropy để đạt mức bảo mật cao hơn
- File seed được mã hóa bằng AES-256-GCM, nên có thể sao lưu an toàn lên kho lưu trữ bên ngoài (ví dụ: Google Drive, Dropbox)
- Mật khẩu chủ chỉ được dùng để bảo vệ file seed
- Tiện ích CLI viết bằng Go, có thể cài đặt bằng lệnh
go install github.com/cloudflare/gokey/cmd/gokey@latest
- Mã nguồn mở do Cloudflare phát triển
5 bình luận
https://pashword.app/
Cái này cũng khá giống với cái đó.
Ý tưởng có vẻ thực sự rất hay, nhưng có lẽ việc các dịch vụ khác đều có kho lưu trữ là có lý do cả.
Ngay cả khi dùng cái này, mỗi lần một trang web yêu cầu đổi mật khẩu thì chắc cũng phải nhớ hàng chục thông tin như số lần hay khóa...
Nếu coi mật khẩu cũng là một loại khóa, thì chỉ cần dùng hàm dẫn xuất khóa cho phù hợp là cũng không phải không làm được.
pw = kdf(master_key, site_id, {salt})
Chỉ cần quyết định sẽ dùng
site_idlà domain hay là một giá trị riêng của từng site,nếu gặp chỗ phiền phức bắt phải đổi mỗi tháng thì mỗi lần đó chỉ cần thay
saltlà được.Có vẻ sẽ không ổn trong trường hợp tên miền thay đổi hoặc khi dùng nhiều tên miền..
Cách này tốt hơn nhiều
Nhưng lại bị phá hỏng hoàn toàn bởi các trang web cứ bày ra mấy trò quản lý kiểu phải thêm vài ký tự đặc biệt với số vào mật khẩu, rồi 3 tháng đổi một lần.
Mối đe dọa bảo mật thực sự trên thực tế lại thường do những người lên kế hoạch cho trang web mà còn không hiểu bảo mật là gì gây ra