Thêm game tại WuGames.ioTài trợKhám phá kho game trình duyệt miễn phí — chơi ngay, không tải, không đăng ký.Chơi ngay

Trình Tạo Cụm Mật Khẩu Diceware

Công cụ miễn phí tạo cụm mật khẩu Diceware dùng danh sách dài của EFF và WebCrypto. Chọn số từ, dấu phân cách, xem entropy và thời gian bẻ khoá ước tính.

Tự động chỉnh số từ để đạt mức entropy theo tiêu chuẩn.
6 từ ~ 77 bit, 7 từ ~ 90 bit, 8 từ ~ 103 bit entropy
Ngẫu nhiên cộng thêm ~2.3 bit entropy
Tuỳ chọn
Đánh giá độ mạnh
-
-

Về Trình Tạo Cụm Mật Khẩu Diceware

Vì sao Diceware được coi là an toàn hơn mật khẩu ký tự ngẫu nhiên?

Tính theo mỗi ký tự thì mật khẩu ASCII ngẫu nhiên dày đặc hơn: 12 ký tự ASCII hỗn hợp khoảng 71 bit entropy. Vấn đề là con người khó nhớ chuỗi ASCII ngẫu nhiên, nên thực tế người ta chọn mẫu yếu hoặc lưu ở nơi dễ bị đánh cắp. Cụm Diceware 6 từ chứa khoảng 77 bit (nhiều hơn mật khẩu 12 ký tự ngẫu nhiên), nhưng các từ là tiếng Anh thật, dễ phát âm và đến từ danh sách phổ biến, nên đi vào trí nhớ hình ảnh-thính giác chỉ vài giây. Đánh đổi là độ dài trên màn hình so với khả năng nhớ trong đầu, và với mật khẩu chính, khả năng nhớ thắng - cụm bạn nhớ được là cụm bạn không cần ghi xuống.

Nên dùng bao nhiêu từ?

Đối với hầu hết tài khoản trực tuyến có giới hạn tốc độ đăng nhập, sáu từ EFF (~77 bit) đã quá đủ - kẻ tấn công bị giới hạn vài trăm lần đoán mỗi giây, ngay cả 50 bit cũng mất thời gian địa chất. Với mật khẩu chính của trình quản lý, ổ đĩa mã hoá và các bí mật offline mà kẻ tấn công có thể vét cạn trên GPU ở 10 tỷ lần đoán/giây, khuyến nghị tăng lên bảy (~90 bit) hoặc tám (~103 bit) từ. Hạt giống BIP-39 của Bitcoin dùng 12 từ từ danh sách 2048 từ lớn hơn, tương đương 132 bit - chuẩn vàng cho khoá tiền mã hoá. Hãy dùng thanh đo entropy của trang này làm hướng dẫn: nhắm ít nhất 80 bit và trên 100 bit cho bất kỳ thứ gì không thể đảo ngược.

Tính ngẫu nhiên của JavaScript có thực sự an toàn không?

Có - công cụ dùng crypto.getRandomValues, được API Web Crypto của W3C định nghĩa là bộ sinh số ngẫu nhiên giả mật mã an toàn (CSPRNG). Mọi trình duyệt lớn đều cài đặt nó dựa trên nguồn entropy của hệ điều hành (getrandom trên Linux, BCryptGenRandom trên Windows, SecRandomCopyBytes trên macOS), và đây cũng là nguyên thuỷ mà HTTPS, WebAuthn và các trình quản lý mật khẩu sử dụng. Hàm Math.random cũ không an toàn và không bao giờ được dùng ở đây. Ngoài ra, công cụ áp dụng rejection sampling khi rút gọn số nguyên ngẫu nhiên 32 bit xuống khoảng 0-7775, loại bỏ độ lệch mô-đun nhỏ mà 'random % 7776' đơn giản sẽ tạo ra.

Trình Tạo Cụm Mật Khẩu Diceware — Công cụ miễn phí tạo cụm mật khẩu Diceware dùng danh sách dài của EFF và WebCrypto. Chọn số từ, dấu phân cách, xem entro
Trình Tạo Cụm Mật Khẩu Diceware

Cụm mật khẩu hoặc danh sách có bị gửi về máy chủ không?

Không. Danh sách EFF 7776 từ chỉ tải về một lần dưới dạng tệp JSON tĩnh (và được trình duyệt lưu cache vĩnh viễn), từ đó trở đi mọi thao tác tung, tra cứu và lắp ghép diễn ra trong tab trình duyệt. Không có lời gọi API, không có log và không có phân tích nào trên kết quả. Bạn có thể kiểm tra bằng cách mở tab Network của DevTools trước khi bấm Tạo: chỉ có yêu cầu tải danh sách ban đầu xuất hiện. Điều này khiến công cụ an toàn cho mật khẩu thật, hạt khôi phục và khoá két, kể cả trên máy dùng chung hoặc cách ly mạng (sau lần tải đầu vẫn dùng offline được).

Vì sao viết hoa mỗi từ lại cộng 0 bit entropy?

Entropy đo độ bất định của kẻ tấn công về lựa chọn của bạn. Nếu kẻ tấn công biết quy tắc 'luôn viết hoa chữ cái đầu mỗi từ', thì mọi lần đoán đã bao gồm sẵn việc viết hoa đó. Không còn ngẫu nhiên thêm để vượt qua, nên độ tăng entropy bằng không. Viết hoa các ký tự ở vị trí ngẫu nhiên trong từ thì sẽ thêm entropy, nhưng sẽ khiến cụm gần như không thể nhớ, đánh mất mục đích Diceware. Ngược lại, chữ số ngẫu nhiên hoặc ký hiệu ngẫu nhiên cuối có cộng entropy thật vì cả vị trí lẫn giá trị đều ẩn với kẻ tấn công.

Tôi có thể tung xúc xắc thật và ra kết quả giống nhau không?

Có - đó chính là lý do Diceware ra đời. Bật 'Hiển thị tung 5d6', tạo một cụm và bạn sẽ thấy các khối năm chữ số như 23541 cạnh mỗi từ. Để tái tạo cụm bằng xúc xắc vật lý, hãy tung năm xúc xắc khác nhau (hoặc một xúc xắc năm lần), ghi năm chữ số theo thứ tự và tra cứu mục đó trong danh sách EFF (có thể tải PDF từ eff.org). Với những bí mật cực kỳ quan trọng - hạt ví phần cứng tiền mã hoá, khoá mã hoá sao lưu offline - tung xúc xắc thật loại bỏ mọi nghi ngờ về chất lượng CSPRNG hay trình duyệt bị xâm hại, đổi lại vài phút tung cho mỗi từ. Vì các lần tung có thể tái tạo trên máy cách ly mạng, bạn có thể xác minh đúng cụm mật khẩu đó khi ngoại tuyến mà không cần tin tưởng bất kỳ trình duyệt hay máy chủ nào.

Cụm Diceware có tuân thủ NIST SP 800-63B và OWASP không?

Có, và rất dễ dàng. NIST SP 800-63B xét bí mật ghi nhớ chủ yếu theo độ dài: yêu cầu cho phép ít nhất 8 ký tự (và khuyến nghị hỗ trợ 64+ ký tự), cấm quy tắc tổ hợp và buộc đổi mật khẩu định kỳ, và yêu cầu sàng lọc với danh sách mật khẩu bị rò rỉ - tất cả đều được cụm Diceware đáp ứng dễ dàng, vì cụm EFF 6 từ dài hơn 20 ký tự gồm các từ không xuất hiện trong dữ liệu rò rỉ. NIST không bắt buộc số bit cố định cho bí mật do người dùng chọn, nhưng coi một bí mật mạnh tương đương với khả năng chống đoán cao; ~60 bit là mức sàn phổ biến cho dùng trực tuyến có giới hạn tốc độ và là mức cài đặt thấp nhất ở đây. Hướng dẫn của OWASP khuyến nghị cụm dài, entropy cao và mức tối thiểu thực tế khoảng 80 bit cho các tài khoản quan trọng - chính là cài đặt 'OWASP mạnh'. Hãy dùng bộ chọn Mục tiêu bảo mật để khoá một mục tiêu theo tiêu chuẩn: chọn NIST trực tuyến (60), OWASP mạnh (80), Két (100) hoặc Cực kỳ thận trọng (128), công cụ sẽ tự chỉnh số từ và hiển thị huy hiệu ĐẠT/KHÔNG ĐẠT mà bạn có thể chụp lại để phục vụ kiểm toán. Với quy trình dùng trình quản lý mật khẩu, hãy tạo tại đây, dán cụm vào ô mật khẩu chính của KeePass, Bitwarden hay 1Password (hoặc làm khoá cho tệp 7-Zip/VeraCrypt) và để trình quản lý lưu mọi thông tin đăng nhập khác - bạn chỉ cần ghi nhớ duy nhất cụm entropy cao này.