cv.cm

Kiến thức · Văn bản, dữ liệu và bảo mật

Thế nào là một mật khẩu mạnh?

6 phút đọc

Trả lời nhanh

Mật khẩu mạnh là mật khẩu dài, được tạo ngẫu nhiên và chỉ dùng cho một tài khoản. Độ dài và tính ngẫu nhiên quan trọng hơn việc trộn ký hiệu: NIST SP 800-63B hiện khuyến nghị tối thiểu 15 ký tự khi mật khẩu là yếu tố xác thực duy nhất, không ép quy tắc thành phần, không bắt đổi định kỳ, và kiểm tra với danh sách mật khẩu đã bị lộ. Bốn từ ngẫu nhiên lấy từ danh sách 7.776 từ cho khoảng 51,7 bit entropy; sáu từ cho khoảng 77,5 bit.

Mở Tạo mật khẩu

Độ mạnh được đo bằng số lần đoán

Kẻ tấn công không đoán từng chữ cái. Chúng thử các mật khẩu đã bị lộ trước, rồi đến các từ trong từ điển với những phép thay thế phổ biến, rồi các mẫu như một từ viết hoa chữ đầu, theo sau là năm và !. Một mật khẩu như P@ssw0rd2024! đáp ứng hầu hết quy tắc độ phức tạp nhưng vẫn bị đoán ra sớm, vì mọi phần của nó đều dễ đoán.

Entropy đo số lần đoán cần thiết khi mật khẩu được tạo ngẫu nhiên. Với mật khẩu độ dài L được chọn đều từ tập N ký hiệu, entropy là L × log2(N) bit, và mỗi bit thêm vào làm khối lượng công việc tăng gấp đôi. Công thức này chỉ áp dụng cho mật khẩu tạo ngẫu nhiên; nó không nói được điều gì hữu ích về mật khẩu do con người tự nghĩ ra.

Entropy của các kiểu mật khẩu phổ biến

KiểuTập ký hiệuBit mỗi ký hiệuĐộ dài ví dụTổng entropy
Chữ thường264,7016 ký tự≈ 75,2 bit
Chữ cái và chữ số625,9512 ký tự≈ 71,5 bit
Toàn bộ ASCII in được946,5512 ký tự≈ 78,7 bit
Toàn bộ ASCII in được946,5516 ký tự≈ 104,9 bit
Từ Diceware7.77612,924 từ≈ 51,7 bit
Từ Diceware7.77612,926 từ≈ 77,5 bit

Ví dụ: log2(7.776) = 12,925, nên bốn từ ngẫu nhiên cho 4 × 12,925 ≈ 51,7 bit, tức khoảng 3,7 × 10^15 khả năng. Kẻ tấn công thử 10 tỷ lần mỗi giây với một mã băm nhanh bị lộ sẽ quét hết chúng trong khoảng 4 ngày. Sáu từ cần khoảng 700.000 năm ở cùng tốc độ.

Tấn công trực tuyến chậm hơn rất nhiều, vì biểu mẫu đăng nhập giới hạn tốc độ và khóa tài khoản. Biên độ an toàn lớn có ý nghĩa với tấn công ngoại tuyến sau khi cơ sở dữ liệu bị lộ, khi tốc độ đoán phụ thuộc vào cách trang web lưu mã băm.

NIST SP 800-63B hiện nay quy định gì

NIST Special Publication 800-63B, bản sửa đổi 4, hoàn thiện năm 2025, đặt ra quy tắc mật khẩu cho các hệ thống liên bang Hoa Kỳ và được nhiều nơi khác áp dụng theo. Các yêu cầu chính cho dịch vụ chấp nhận mật khẩu:

  • Độ dài tối thiểu 15 ký tự khi mật khẩu là phương thức xác thực duy nhất, và 8 ký tự khi nó là một phần của xác thực đa yếu tố.
  • Cho phép mật khẩu dài ít nhất 64 ký tự, chấp nhận dấu cách, mọi ký tự ASCII in được và ký tự Unicode.
  • Không có quy tắc thành phần như bắt buộc phải có chữ số, chữ hoa và ký hiệu.
  • Không bắt đổi mật khẩu định kỳ. Chỉ yêu cầu đổi khi có bằng chứng bị xâm phạm.
  • Kiểm tra mật khẩu mới với danh sách chặn gồm các giá trị đã bị lộ, phổ biến hoặc gắn với ngữ cảnh như tên dịch vụ hay tên người dùng.
  • Không có gợi ý mật khẩu hay câu hỏi bảo mật, và cho phép dán để trình quản lý mật khẩu hoạt động được.

Lý do là quy tắc thành phần và việc bắt đổi định kỳ đẩy người dùng vào những mẫu dễ đoán, như Summer2025! đổi thành Autumn2025!, vốn hầu như không thêm entropy thật.

Cụm mật khẩu và ký tự ngẫu nhiên

Ký tự ngẫu nhiênTừ ngẫu nhiên
Ví dụr7#Qm2!vLx9@pT4zorbit-candle-mosaic-thrift-velvet-harbor
Entropy≈ 105 bit (16 ký tự từ 94)≈ 77,5 bit (6 từ từ 7.776)
Dễ gõKhông, nhất là trên điện thoạiCó
Dễ nhớKhôngNếu luyện tập
Phù hợp nhất choTài khoản lưu trong trình quản lý mật khẩuVài mật khẩu ít ỏi bạn buộc phải nhớ

Các từ phải được chọn ngẫu nhiên, bằng xúc xắc hoặc trình tạo, chứ không phải do bạn tự chọn. Một câu trong bài hát, một câu trích dẫn hay một câu bạn tự viết có entropy thấp hơn nhiều so với độ dài của nó.

Quy tắc thực hành

  1. Dùng trình quản lý mật khẩu và để nó tạo một mật khẩu ngẫu nhiên riêng, từ 16 ký tự trở lên, cho từng tài khoản. CISA cũng đưa ra lời khuyên tương tự.
  2. Chỉ ghi nhớ vài cụm mật khẩu: mật khẩu chính của trình quản lý mật khẩu và mật khẩu đăng nhập thiết bị. Dùng năm hoặc sáu từ ngẫu nhiên.
  3. Không bao giờ dùng lại mật khẩu. Credential stuffing, tức thử các cặp email và mật khẩu bị lộ trên trang khác, là một trong những cách chiếm tài khoản phổ biến nhất.
  4. Bật xác thực đa yếu tố, ưu tiên passkey hoặc ứng dụng xác thực thay vì SMS, cho email, ngân hàng và trình quản lý mật khẩu.
  5. Đổi mật khẩu khi dịch vụ thông báo bị rò rỉ dữ liệu, chứ không đổi theo lịch.

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

Mật khẩu nên dài bao nhiêu ký tự?

Ít nhất 15 ký tự với tài khoản chỉ được bảo vệ bằng mật khẩu, theo NIST SP 800-63B bản sửa đổi 4. Với mật khẩu tạo ngẫu nhiên lưu trong trình quản lý, 16 đến 20 ký tự là mức mặc định thoải mái.

Cụm mật khẩu có an toàn hơn mật khẩu không?

Có thể, nếu các từ được chọn ngẫu nhiên. Sáu từ ngẫu nhiên mạnh hơn một mật khẩu 10 ký tự điển hình do người tự đặt, nhưng một mật khẩu ngẫu nhiên 16 ký tự có entropy cao hơn sáu từ.

Có nên đổi mật khẩu thường xuyên không?

Không. NIST khuyên không nên bắt đổi định kỳ vì việc này dẫn tới các biến thể dễ đoán. Hãy đổi mật khẩu khi có dấu hiệu bị xâm phạm, như thông báo rò rỉ dữ liệu.

Ký tự đặc biệt có làm mật khẩu mạnh hơn không?

Chỉ một chút. Tăng từ 62 lên 94 ký tự khả dụng thêm khoảng 0,6 bit mỗi ký tự, trong khi thêm một ký tự nữa thêm khoảng 6,5 bit. Độ dài giúp ích nhiều hơn ký hiệu.

Tất cả bài viết kiến thức