Trình tạo mật khẩu

Trình tạo mật khẩu
Đang tải...

Chọn độ dài, bật chữ hoa, chữ thường, số và ký hiệu, rồi trình tạo sẽ dùng bộ sinh số ngẫu nhiên mật mã trong trình duyệt của bạn để tạo mật khẩu. Đây là loại nguồn entropy cũng được dùng cho khóa SSL và ví tiền mã hóa. Không dùng giả ngẫu nhiên có thể đoán trước, không gửi mật khẩu lên máy chủ. Mật khẩu 16 ký tự với đủ bốn nhóm ký tự có khoảng 95 bit entropy, đủ mạnh để chống bẻ khóa ngoại tuyến bằng phần cứng hiện tại.

Cách tạo mật khẩu mạnh

  1. 1

    Chọn độ dài

    Mặc định là 16. Dưới 12 ký tự là yếu với các tài khoản quan trọng.

  2. 2

    Chọn nhóm ký tự

    Chữ hoa, chữ thường, số và ký hiệu. Càng nhiều nhóm thì entropy trên mỗi ký tự càng cao.

  3. 3

    Tùy chọn: loại ký tự dễ nhầm

    Bỏ 0/O và 1/l/I nếu mật khẩu sẽ được gõ lại từ màn hình vào terminal hoặc thiết bị khác.

  4. 4

    Tạo

    crypto.getRandomValues() chọn từng ký tự đồng đều từ tập ký tự được phép.

  5. 5

    Sao chép và lưu

    Dán ngay vào trình quản lý mật khẩu. Không dùng lại.

Entropy theo độ dài và tập ký tự

Độ dài Chỉ chữ thường Chữ thường + số Chữ thường + chữ hoa + số Đủ bốn nhóm
8 38 bit 41 bit 48 bit 52 bit
12 57 bit 62 bit 71 bit 79 bit
16 75 bit 83 bit 95 bit 105 bit
20 94 bit 103 bit 119 bit 131 bit
24 113 bit 124 bit 143 bit 158 bit

Entropy có ý nghĩa gì trong thực tế

  • 40 bit: hiện nay có thể bị bẻ trong vài ngày bằng một GPU. Chỉ phù hợp cho tài khoản dùng tạm.
  • 60 bit: chống được tấn công trực tuyến, nhưng vẫn dễ bị bẻ khóa ngoại tuyến chuyên dụng.
  • 80 bit: mạnh trước bẻ khóa ngoại tuyến với phần cứng hiện tại.
  • 100 bit: gần như không đáng để tấn công cho đến khi điện toán lượng tử trưởng thành.
  • 128 bit: tương đương sức mạnh khóa AES-128.

Với hầu hết tài khoản trực tuyến, 16 ký tự từ tập đầy đủ (105 bit) đã quá đủ. Tài khoản ngân hàng, mật khẩu chính của trình quản lý, ví tiền mã hóa và mã hóa toàn bộ ổ đĩa nên dùng 20 ký tự trở lên.

Vì sao nhóm ký tự quan trọng

Mỗi nhóm bổ sung lựa chọn cho từng ký tự. Với 26 chữ thường, một ký tự đóng góp log₂(26) = 4,7 bit. Thêm chữ hoa tạo 52 ký tự và 5,7 bit mỗi ký tự. Thêm chữ số tạo 62 ký tự và 5,95 bit. Thêm ký hiệu đạt 94 ký tự và 6,55 bit. Với 16 ký tự, chênh lệch này cộng dồn thành khoảng 30 bit, tức là khác biệt giữa “có thể bẻ” và “không đáng thử”.

Khi nào nên loại ký tự dễ nhầm

Nếu mật khẩu phải được gõ từ màn hình sang thiết bị mà không thể sao chép và dán, chẳng hạn trình cài đặt console, một số ví phần cứng hoặc khi phải đọc mật khẩu thành tiếng, loại 0, O, 1, lI giúp tránh lỗi nhìn nhầm. Chi phí entropy rất nhỏ, thường 2-3 bit trong hơn 80 bit.

Quy trình với trình quản lý mật khẩu

  1. Cài trình quản lý mật khẩu như Bitwarden, 1Password hoặc KeePass.
  2. Đặt cụm mật khẩu chính mạnh gồm 6-8 từ ngẫu nhiên. Có thể dùng trình tạo cụm mật khẩu.
  3. Dùng trình tạo trong trình quản lý cho từng trang và giữ thiết lập mạnh mặc định.
  4. Không dùng lại mật khẩu giữa các trang, kể cả với tài khoản có vẻ tạm thời.
  5. Bật 2FA ở mọi dịch vụ hỗ trợ.

Mật khẩu phải gõ tay nên rất hiếm: mật khẩu chính của trình quản lý, mã hóa toàn bộ ổ đĩa và có thể là đăng nhập máy tính công việc.

Những việc không giúp nhiều

  • Đổi mỗi 90 ngày. Ép đổi định kỳ khuyến khích mẫu dễ đoán như Hè2024 thành Thu2024. NIST SP 800-63B khuyến nghị rõ ràng không nên làm vậy.
  • Ghi ra giấy để trong ví. An toàn hơn dùng lại mật khẩu yếu, nhưng kém hơn trình quản lý mật khẩu.
  • Câu hỏi bảo mật với câu trả lời thật. “Trường đầu tiên” thường có thể tìm ra bằng tìm kiếm. Hãy tạo câu trả lời giả ngẫu nhiên và lưu trong trình quản lý.

Câu hỏi thường gặp

16 ký tự từ đủ bốn nhóm (chữ thường, chữ hoa, số, ký hiệu) là mạnh cho gần như mọi tài khoản. Dùng 20 ký tự trở lên cho mật khẩu chính của trình quản lý, ví tiền mã hóa và mã hóa toàn bộ ổ đĩa. Dưới 12 ký tự vẫn yếu dù có quy tắc phức tạp.

Mật khẩu được tạo trong trình duyệt bằng Web Crypto API và không được gửi đi đâu. Bạn có thể mở bảng Network trong DevTools để kiểm tra. Dù vậy, hãy sao chép ngay vào trình quản lý mật khẩu thay vì chụp màn hình hoặc gửi qua email.

Vì rò rỉ dữ liệu. Khi một trang làm lộ mật khẩu, kẻ tấn công sẽ thử ngay cùng tổ hợp email và mật khẩu đó trên hàng trăm dịch vụ khác. Mỗi trang một mật khẩu riêng sẽ giới hạn thiệt hại ở một tài khoản.

Hãy tạo một mật khẩu ngẫu nhiên 16 ký tự cho trang đó. Giới hạn 16 hoặc ít hơn thường là dấu hiệu cảnh báo về cách trang xử lý mật khẩu, vì vậy hãy đặc biệt bật 2FA ở đó.

Công cụ liên quan