Cách tạo mật khẩu mạnh
Một mật khẩu mạnh là mật khẩu mà kẻ tấn công không thể đoán ra trong bất kỳ khoảng thời gian thực tế nào — và là mật khẩu bạn chưa từng sử dụng ở bất kỳ nơi nào khác. Mật khẩu ngắn và dễ đoán là những mật khẩu dễ bị bẻ khóa nhất, và mật khẩu bị dùng lại sẽ bị thử trên các dịch vụ khác sau một vụ rò rỉ dữ liệu; cả hai điểm yếu này đều dễ khắc phục. Mật khẩu mạnh không bảo vệ được mọi thứ: nó không ngăn được trang lừa đảo hay phần mềm độc hại, đó là lý do tại sao các bước cuối cùng dưới đây không nói về bản thân mật khẩu. Bài viết này đưa ra câu trả lời ngắn gọn trước rồi giải thích lý do tại sao mỗi bước lại hiệu quả.
Câu trả lời ngắn gọn
- Tạo mật khẩu bằng công cụ thay vì tự nghĩ ra: từ 16 ký tự trở lên ở bất kỳ nơi nào trang web cho phép.
- Sử dụng mọi loại ký tự mà trang web chấp nhận: chữ hoa, chữ thường, chữ số và ký hiệu.
- Lưu mật khẩu vào trình quản lý mật khẩu.
- Chỉ sử dụng mật khẩu đó cho một tài khoản duy nhất.
- Bật xác thực hai yếu tố, hoặc khóa truy cập (passkey) nếu dịch vụ hỗ trợ, và lưu giữ các mã khôi phục.
Điều gì làm cho mật khẩu trở nên mạnh mẽ
Ba đặc tính quyết định điều này. Độ dài: mỗi ký tự ngẫu nhiên thêm vào sẽ nhân lên số lượng tổ hợp mà kẻ tấn công phải thử nghiệm. Tính ngẫu nhiên: mật khẩu chỉ mạnh tương đương với quy trình đã tạo ra nó, vì vậy 12 ký tự do máy tính chọn ngẫu nhiên mạnh hơn nhiều so với 12 ký tự ghép từ tên và năm sinh. Tính duy nhất: mật khẩu được sử dụng trên hai trang web chỉ an toàn bằng trang kém bảo mật hơn trong hai trang đó, bởi vì mật khẩu bị rò rỉ từ một dịch vụ sẽ bị đem đi thử trên tất cả các dịch vụ khác.
Độ mạnh được đo bằng các bit entropy, và mỗi bit sẽ nhân đôi số lần đoán cần thiết. Một ký tự được chọn ngẫu nhiên từ 62 lựa chọn khả dĩ — các chữ cái Latin a–z, A–Z và các chữ số 0–9, mỗi ký tự có xác suất như nhau — bổ sung thêm khoảng 6 bit entropy, do đó 12 ký tự như vậy mang lại khoảng 71 bit, và 16 ký tự mang lại khoảng 95 bit. Những con số này chỉ đúng đối với các ký tự được chọn độc lập và ngẫu nhiên, và chúng không nói lên điều gì về mật khẩu do con người tự nghĩ ra. Trên thang đo mà trình tạo mật khẩu của chúng tôi hiển thị, 60 bit là mức hợp lý cho các tài khoản hàng ngày, 80 bit là mạnh, và 100 bit vượt quá phạm vi tiếp cận thực tế của phương pháp vét cạn với phần cứng hiện nay. Những con số này là các điểm tham chiếu chứ không phải tiêu chuẩn cứng nhắc: độ bền thực tế của mật khẩu còn phụ thuộc vào cách dịch vụ lưu trữ nó và phương thức tấn công.
Tại sao các mẹo thông thường lại thất bại
Con người có xu hướng đặt mật khẩu theo những quy luật giống nhau đến kinh ngạc, và các công cụ bẻ khóa được xây dựng dựa trên chính xác những thói quen đó:
- Một cái tên theo sau là năm sinh, chẳng hạn như
Anna1994, nằm trong số những điều đầu tiên bị thử nghiệm. - Việc thay thế ký tự như
P@ssw0rdgần như vô ích: đổi chữ a thành @ và chữ o thành 0 là quy tắc tiêu chuẩn trong các công cụ bẻ khóa. - Các mẫu bàn phím như
qwerty123hoặc1q2w3e4rxuất hiện trên hầu hết danh sách các mật khẩu phổ biến nhất. - Một chữ cái viết hoa ở đầu và một chữ số hoặc dấu chấm than ở cuối là cách thông thường để thỏa mãn quy tắc "phải chứa", do đó nó bị thử từ sớm.
- Một mật khẩu tốt với một chút thay đổi nhỏ cho mỗi trang web sẽ ngừng bảo vệ bạn ngay khi một phiên bản bị rò rỉ và quy luật bị lộ diện.
Sai lầm chung là chúng tuân theo những quy luật lựa chọn có thể đoán trước của con người. Các quy tắc nhằm ép buộc sự phức tạp — một ký hiệu, một chữ số, đổi mật khẩu mới sau mỗi 90 ngày — càng đẩy người dùng theo đúng những quy luật này. Đó là lý do tại sao hướng dẫn hiện tại từ NIST khuyến nghị các dịch vụ không áp đặt các quy tắc cấu thành hoặc thay đổi định kỳ, mà thay vào đó hãy đối chiếu mật khẩu mới với danh sách các mật khẩu đã bị rò rỉ.
Mật khẩu bạn phải tự gõ: hãy dùng cụm mật khẩu
Có một vài mật khẩu bạn phải tự gõ mà không có trình quản lý mật khẩu hỗ trợ: mật khẩu chính của chính trình quản lý, mã đăng nhập máy tính hoặc điện thoại của bạn, và đối với nhiều người là mật khẩu của tài khoản email chính. Đối với những trường hợp này, hãy sử dụng cụm mật khẩu (passphrase) — một vài từ được chọn ngẫu nhiên, không phải một câu văn do bạn tự nghĩ ra. Phương pháp cổ điển là Diceware, và EFF đã phát hành các danh sách từ phục vụ mục đích này; hãy sử dụng danh sách có tên EFF Long Wordlist bằng tiếng Anh:
- Mở danh sách từ: danh sách có 7.776 từ, mỗi từ được đánh số bằng năm chữ số từ 1 đến 6.
- Gieo một viên xúc xắc sáu mặt thông thường năm lần, hoặc năm viên xúc xắc cùng một lúc và đọc từ trái sang phải, rồi ghi lại năm chữ số đó theo đúng thứ tự.
- Tìm từ tương ứng với con số đó.
- Lặp lại cho đến khi bạn có đủ sáu từ.
- Giữ nguyên các từ chính xác như khi chúng xuất hiện, ngay cả khi một từ bị lặp lại hoặc bạn thích những từ hay hơn. Để ghi nhớ chúng, hãy tạo một hình ảnh hoặc câu chuyện tưởng tượng xung quanh chúng — mà không thay đổi các từ hoặc thứ tự của chúng.
Mỗi từ bổ sung thêm khoảng 12,9 bit, do đó năm từ mang lại khoảng 65 bit và sáu từ mang lại khoảng 78 bit, và sáu từ thông thường dễ nhớ và dễ gõ hơn nhiều so với một chuỗi ký hiệu có cùng độ mạnh. Hai điều kiện giúp phương pháp này phát huy hiệu quả. Các từ phải được chọn ngẫu nhiên, bởi vì một câu hát hoặc một câu danh ngôn ưa thích đã có sẵn trong từ điển của kẻ tấn công; cũng vì lý do đó, đừng bao giờ dùng cụm từ mà bạn đã thấy làm ví dụ ở bất kỳ đâu. Và cụm mật khẩu không được tái sử dụng: một cụm mật khẩu, một nơi duy nhất.
Tất cả các mật khẩu khác: hãy tạo tự động
Đối với hàng chục tài khoản mà bạn không bao giờ phải tự tay gõ mật khẩu, chẳng có lý do gì để bạn phải tự sáng tạo. Trình tạo mật khẩu mạnh của chúng tôi tạo từng mật khẩu trong trình duyệt của bạn bằng Web Crypto API và không bao giờ gửi dữ liệu đến máy chủ. Đặt Độ dài từ 16 trở lên, chọn các loại ký tự mà trang web chấp nhận, rồi nhấn nút Tạo; ước tính entropy bên dưới kết quả sẽ hiển thị độ mạnh tính theo bit. Tùy chọn Không có ký tự dễ nhầm lẫn sẽ loại bỏ các ký tự dễ gây nhầm lẫn (Il1O0o) khi mật khẩu cần được đọc to hoặc gõ lại từ màn hình, và Số lượng mục chọn sẽ tạo ra một danh sách đầy đủ khi bạn cần thiết lập nhiều tài khoản cùng lúc.
Một số trang web vẫn giới hạn độ dài hoặc cấm một số ký hiệu nhất định. Nếu trang web từ chối kết quả, chỉ cần tắt các loại ký hiệu bị cấm và giữ nguyên độ dài; chỉ rút ngắn mật khẩu khi trang web thực sự giới hạn độ dài. Dù thế nào đi nữa, đừng quay lại dùng mật khẩu do bạn tự nghĩ: một mật khẩu ngẫu nhiên 12 ký tự vẫn an toàn hơn nhiều so với một mật khẩu mà bạn nghĩ là thông minh.
Nơi lưu giữ mật khẩu
Cách dễ nhất để giữ một mật khẩu duy nhất cho mỗi tài khoản là dùng trình quản lý mật khẩu: nó lưu trữ, tự động điền, và nhiều trình quản lý còn cảnh báo bạn khi mật khẩu đã lưu xuất hiện trong một vụ rò rỉ dữ liệu đã biết. Sau đó, bạn chỉ cần nhớ một cụm mật khẩu duy nhất thay vì một trăm mật khẩu. Nếu bạn không muốn dùng trình quản lý, một cuốn sổ tay cất ở nơi an toàn trong nhà, tránh xa tầm mắt khách đến chơi, vẫn là rủi ro nhỏ hơn so với việc dùng lại mật khẩu. Điều không hiệu quả là lưu chúng trong tệp văn bản trên màn hình máy tính, gửi qua ứng dụng nhắn tin hoặc dán giấy ghi chú lên màn hình ở nơi làm việc.
Bảng kiểm tra tóm tắt
- Từ 16 ký tự trở lên ở bất kỳ nơi nào trang web cho phép, và không bao giờ ít hơn 12 ký tự
- Được tạo ngẫu nhiên, không tự nghĩ ra — hoặc một cụm mật khẩu gồm sáu từ ngẫu nhiên ở nơi bạn phải tự gõ
- Mỗi tài khoản một mật khẩu khác nhau
- Bật xác thực hai yếu tố ở bất cứ nơi nào có sẵn, như một lớp rào chắn thứ hai nếu mật khẩu bị lộ; khóa truy cập (passkey) và khóa bảo mật FIDO2 còn đi xa hơn vì chúng không thể bị trao cho một trang web giả mạo
- Chỉ thay đổi mật khẩu khi có lý do chính đáng — dịch vụ bị rò rỉ dữ liệu, nghi ngờ bị lừa đảo, hoặc người khác đã biết — chứ không phải theo lịch định kỳ
Để hiểu vì sao có những quy tắc này, hãy đọc mật khẩu bị bẻ khóa như thế nào. Các bài viết khác được tập hợp trong mục tài liệu mật khẩu.