Một mật khẩu mạnh và độc nhất là cách phòng thủ rẻ nhất mà mọi tài khoản trực tuyến đều cần có — và thời điểm bạn cần đến nó thường là lúc bạn đang vội: một tài khoản đăng nhập công việc mới, ứng dụng ngân hàng yêu cầu bạn đổi mật khẩu, thiết lập một bộ định tuyến Wi-Fi mới, hoặc khi bạn quyết định chuyển sang sử dụng một trình quản lý mật khẩu (password manager). Trình tạo mật khẩu mạnh và miễn phí này sẽ tạo ra một mật khẩu hoàn toàn ngẫu nhiên chỉ với một cú nhấp chuột. Chỉ cần đặt “Độ dài” mà bạn cần, chọn các loại ký tự bao gồm — chữ hoa và chữ thường, chữ số, ký hiệu cơ bản (%$#@!?&), và ký hiệu phức tạp (.,;[]()^-_=+{}:<>|) — sau đó nhấn “Tạo”.
Vì vấn đề bảo mật là mục đích cốt lõi, trình tạo này được xây dựng trên nền tảng của Web Crypto API (crypto.getRandomValues). Hàm này lấy các giá trị ngẫu nhiên từ hệ thống bảo mật bằng mật mã hóa, tương tự như loại ngẫu nhiên mà giao thức TLS hay các tính năng bảo mật cấp cao khác tin dùng. Khác với các trình tạo dựa trên Math.random() hoặc những hàm tạo số ngẫu nhiên giả định dễ đoán khác, hệ thống này được thiết kế sao cho dù tin tặc có nhìn thấy một kết quả, chúng cũng không thể suy đoán được kết quả tiếp theo. Toàn bộ quá trình khởi tạo diễn ra hoàn toàn trên thiết bị của bạn: mật khẩu không bao giờ được gửi tới máy chủ, không bao giờ được ghi log, và chúng tôi hoàn toàn không thể thấy được — do đó không có gì để bị chặn hay lưu trữ.
Các tùy chọn giúp bạn dễ dàng đáp ứng chính sách mật khẩu của bất kỳ trang web nào. Mỗi mật khẩu được đảm bảo chứa ít nhất một ký tự từ mỗi loại bạn đã chọn — do vậy yêu cầu “phải có ít nhất một chữ viết hoa và một số” được thỏa mãn một cách tự động — và tùy chọn “Đảm bảo số lượng ký tự của mỗi loại gần bằng nhau” được bật sẵn mặc định, giúp không có loại ký tự nào chiếm số lượng lấn át các loại còn lại. Bạn có thể bật tính năng ký hiệu để tối đa hóa sức mạnh mật khẩu, hoặc tắt đi khi sử dụng các hệ thống cũ không hỗ trợ. Công tắc “Không có ký tự dễ nhầm lẫn” sẽ loại bỏ các ký tự mà mọi người thường xuyên đọc nhầm (Il1O0o), và tính năng “Loại trừ các ký tự giống nhau giữa các bảng chữ cái khác nhau” còn cẩn thận hơn khi gạt bỏ các chữ cái có vẻ ngoài y hệt nhau giữa hệ thống chữ Latinh và chữ Cyrillic.
Bạn cần nhiều hơn một mật khẩu, hoặc có chính sách cấu hình bất thường? Hãy điều chỉnh “Số lượng mục chọn” để tạo nguyên cả một danh sách cùng lúc — lên đến 100 mật khẩu, chẳng hạn như khi bạn tạo tài khoản cho cả một nhóm — và khi số lượng vượt quá 1, chức năng “Định dạng kết quả” sẽ quyết định cách phân tách chúng: “Dòng mới”, “Phân cách bằng khoảng trắng” hoặc “Phân cách bằng dấu phẩy”. Mọi thứ khác đều nằm trong mục “Tùy chọn nâng cao”. Tắt công tắc “Loại trừ ký tự trùng lặp trong một mật khẩu” để cho phép một ký tự có thể xuất hiện lặp lại. Đặc biệt, nếu ngôn ngữ của bạn có bảng chữ cái riêng hay các chữ cái phụ, trình tạo này hỗ trợ đến 35 ngôn ngữ. Đối với tiếng Việt, bạn có thể dễ dàng bổ sung các ký tự như ă, â, đ, ê, ô, ơ, ư bằng cách bật “Chữ hoa của bảng chữ cái địa phương” và “Chữ thường của bảng chữ cái địa phương” để hòa trộn chúng vào kết quả. Hơn thế nữa, để kiểm soát hoàn toàn mọi thứ, phần “Tập hợp ký tự (mỗi dòng một tập hợp)” cho phép bạn tự chỉ định các nhóm ký tự của mình: mỗi dòng sẽ trở thành một loại ký tự độc lập mà trình tạo sẽ lấy mẫu để sử dụng.
Tại sao nên chọn trình tạo mật khẩu này?
- Chỉ hoạt động trên trình duyệt: mật khẩu sinh ra trên thiết bị và không bị gửi đi bất cứ đâu
- Sự ngẫu nhiên từ Web Crypto API — bảo mật bằng mật mã, chứ không dùng Math.random()
- Không giới hạn và miễn phí: tạo số lượng mật khẩu tùy ý mà không cần đăng ký
- Đảm bảo đủ các phân nhóm: mỗi loại ký tự được chọn luôn luôn có mặt
- Tập hợp ký tự tùy chỉnh nhằm giải quyết các chính sách mật khẩu khắt khe
- Đánh giá mức entropy: giúp bạn theo dõi sức mạnh mật khẩu qua đơn vị bit
- Tính năng chống nhầm lẫn cho những ký tự dễ bị đọc sai
- Hỗ trợ bảng chữ cái địa phương: hòa trộn chữ viết (như ă, â, đ...) từ 35 ngôn ngữ
- Chế độ hàng loạt: tạo nguyên một danh sách mật khẩu với chỉ một thao tác nhấn
Sự ngẫu nhiên được tạo ra như thế nào? Hệ điều hành của bạn không ngừng thu thập entropy — những tín hiệu nhiễu ngẫu nhiên khó dự đoán từ các sự kiện phần cứng — và nạp vào một máy tạo số ngẫu nhiên an toàn chuẩn mã hóa. Khi bạn nhấn 'Tạo', mã JavaScript trên trang sẽ yêu cầu các giá trị ngẫu nhiên từ trình duyệt qua crypto.getRandomValues, phân bổ chúng vào các loại ký tự bạn đã chọn, tiến hành kiểm tra đảm bảo mọi loại ký tự đều được biểu diễn đủ, và sau đó lắp ráp lại thành một mật khẩu hoàn chỉnh. Hoàn toàn không có hạt giống ngẫu nhiên (seed) nào để đoán, không có bất kỳ thuật toán tắt nào để các phần cứng dò mật khẩu chuyên dụng có thể lợi dụng mô phỏng lại, và hoàn toàn không có sự tham gia của mạng internet trong bất cứ bước nào — toàn bộ chu trình chỉ diễn ra trong phạm vi thiết bị của bạn.
Phía dưới kết quả, bạn sẽ nhìn thấy ước tính lượng entropy dưới dạng bit — một thước đo để xác định sức mạnh của mật khẩu: đạt khoảng 60+ bit là tương đối ổn thỏa với tài khoản dùng hàng ngày, 80+ bit là mạnh mẽ, và 100+ bit vượt xa tầm với thực tế của những kỹ thuật tấn công dò mật khẩu (brute force) bằng các hệ thống phần cứng tối tân hiện nay. Có hai thói quen chiếm ưu thế hơn tất thảy. Thứ nhất, độ dài áp đảo độ phức tạp: hãy sử dụng từ 16 ký tự trở lên cho những gì thật sự quan trọng — mỗi ký tự bổ sung vào sẽ nhân khối lượng công việc của hacker lên gấp nhiều lần so với việc đưa thêm một loại biểu tượng mới. Thứ hai, sự độc nhất: một khi trang web nào đó bị rò rỉ dữ liệu (data breach), những thông tin đăng nhập bị lộ sẽ được đem đi thử nghiệm ngay trên vô số các dịch vụ khác — một thủ đoạn được gọi là nhồi thông tin xác thực (credential stuffing) — vậy nên việc dùng chung một mật khẩu có nguy cơ kéo theo sự mất quyền kiểm soát toàn bộ tài khoản chỉ từ một sự cố rò rỉ đơn lẻ. Hãy xây dựng những mật khẩu riêng biệt cho từng tài khoản một, đưa chúng vào trình quản lý mật khẩu, và luôn kích hoạt xác thực hai yếu tố (2FA) bất kỳ khi nào tính năng đó khả dụng. Các nguyên tắc này cũng rất phù hợp với hướng dẫn từ Trung tâm Giám sát an toàn không gian mạng quốc gia (NCSC). Cuối cùng, cũng đừng cảm thấy lạ lùng nếu một mật khẩu ngẫu nhiên thứ thiệt đôi khi có vài ký tự đứng lặp lại hay xuất hiện vài đoạn chữ trông dễ đọc — tính ngẫu nhiên tự nhiên luôn tạo ra các chuỗi vô tình kiểu như vậy, và chúng thực chất không hề khiến mật khẩu của bạn yếu đi một chút nào.