Cơ chế hoạt động và tính bảo mật cục bộ
Công cụ Trình tạo Mật khẩu / Cụm mật khẩu hoạt động hoàn toàn trong trình duyệt web của người dùng. Quá trình khởi tạo các chuỗi ký tự hoặc chuỗi từ được thực hiện cục bộ bằng thuật toán ngẫu nhiên bảo mật của trình duyệt. Không có bất kỳ dữ liệu nào được gửi đến BroBroGo, tải lên máy chủ hoặc lưu trữ trực tuyến.
Mỗi khi người dùng thay đổi một tùy chọn cấu hình, chuyển đổi giữa các chế độ hoặc nhấp vào nút "Tạo lại", hệ thống sẽ ngay lập tức tính toán và xuất ra một giá trị mới. Trạng thái hoạt động của công cụ được hiển thị qua các thông báo hệ thống như "Sẵn sàng.", "Đã tạo." hoặc "Đang tải danh sách từ…" khi hệ thống đang nạp dữ liệu ngôn ngữ. Người dùng có thể sao chép nhanh kết quả bằng cách nhấp trực tiếp vào chuỗi ký tự được tạo, nhấn phím Enter, phím Space hoặc sử dụng nút sao chép chuyên dụng trên giao diện.
Phân biệt Mật khẩu và Cụm mật khẩu
Việc lựa chọn giữa mật khẩu ngẫu nhiên và cụm mật khẩu phụ thuộc vào mục đích sử dụng thực tế và cách thức nhập liệu:
- Mật khẩu: Là một chuỗi ký tự ngẫu nhiên không tuân theo cấu trúc ngôn ngữ. Định dạng này chứa lượng entropy rất cao trên mỗi đơn vị ký tự, cực kỳ tối ưu khi được lưu trữ và điền tự động bằng các trình quản lý mật khẩu. Đây là lựa chọn phù hợp khi tạo tài khoản trực tuyến mới.
- Cụm mật khẩu: Là một chuỗi gồm nhiều từ thực tế được ghép lại với nhau. Định dạng này dễ nhớ, dễ đọc thành tiếng và dễ gõ thủ công từ trí nhớ. Cụm mật khẩu rất phù hợp để làm mã mở khóa thiết bị, mật khẩu Wi-Fi cần đọc cho người khác hoặc mật khẩu chính (master password) để bảo vệ trình quản lý mật khẩu.
Tùy chỉnh cấu hình Mật khẩu
Khi chọn loại cấu hình là "Mật khẩu", công cụ cho phép thiết lập độ dài trong khoảng từ 4 đến 64 ký tự, với giá trị mặc định là 16. Người dùng có thể kiểm soát cấu trúc ký tự thông qua các tùy chọn:
- Chữ hoa (A-Z) (mặc định được chọn)
- Chữ thường (a-z) (mặc định được chọn)
- Chữ số (0-9) (mặc định được chọn)
- Ký tự đặc biệt (!@#$…) (mặc định được chọn)
- Loại trừ các ký tự dễ gây nhầm lẫn (0, O, I, l, 1)
Nếu chọn nhiều loại ký tự cùng lúc, thuật toán sẽ đảm bảo có ít nhất một ký tự thuộc mỗi loại đã chọn xuất hiện trong kết quả, miễn là độ dài mật khẩu đủ đáp ứng. Các vị trí còn lại được lấp đầy bằng cách lấy mẫu ngẫu nhiên từ tập hợp ký tự tổng hợp. Nếu người dùng bỏ chọn tất cả các loại ký tự, hệ thống sẽ dừng xử lý, xóa sạch kết quả hiển thị cùng các thông số liên quan, đồng thời xuất hiện thông báo lỗi "Vui lòng chọn nhất một loại ký tự.".
Tùy chỉnh cấu hình Cụm mật khẩu
Đối với loại cấu hình "Cụm mật khẩu", hệ thống tạo ra chuỗi từ dựa trên danh sách từ vựng có sẵn. Các thông số tùy chỉnh bao gồm:
- Số lượng từ: Giới hạn từ 3 đến 10 từ, mặc định là 6 từ.
- Ký tự phân tách: Cho phép chọn giữa Dấu gạch ngang, Khoảng trắng, Dấu chấm hoặc Không có.
- Viết hoa các từ: Định dạng viết hoa chữ cái đầu của mỗi từ trong chuỗi.
- Bao gồm chữ số: Bổ sung thêm ký tự số vào cụm từ để tăng tính phức tạp.
Trong quá trình tải danh sách từ vựng để khởi tạo cụm mật khẩu, giao diện sẽ hiển thị trạng thái bận. Nếu quá trình tải danh sách từ gặp sự cố, hệ thống sẽ báo lỗi.
Cách tính toán Entropy và Đánh giá độ mạnh
Độ an toàn của chuỗi ký tự được biểu thị trực quan qua các mức đánh giá: "Yếu", "Trung bình", "Mạnh" và "Rất mạnh". Đi kèm với đó là chỉ số Entropy (đo bằng đơn vị bit) thể hiện mức độ hỗn loạn ngẫu nhiên:
- Công thức tính cho Mật khẩu: Entropy = độ dài × log₂(số lượng ký tự khả dụng trong tập hợp)
- Công thức tính cho Cụm mật khẩu: Entropy = số lượng từ × log₂(7.776) (Trong đó 7.776 là kích thước cố định của danh sách từ vựng được sử dụng).
Chỉ số entropy càng cao nghĩa là tài khoản càng khó bị tấn công dò mã (brute-force). Phép tính này được thực hiện dựa trên giả định rằng kẻ tấn công đã biết trước phương pháp tạo lập chính xác, do đó nó chỉ phản ánh độ ngẫu nhiên toán học thuần túy chứ không phải là thời gian bẻ khóa thực tế trước các phương thức tấn công dựa trên từ điển hoặc quy luật mẫu có sẵn.
Câu hỏi thường gặp
Độ ngẫu nhiên được tạo ra như thế nào? Mỗi ký tự và mỗi từ đều được chọn bằng thuật toán ngẫu nhiên bảo mật cao của trình duyệt, không phải từ một nguồn ngẫu nhiên có thể dự đoán được. Mỗi lượt chọn sử dụng phương pháp lấy mẫu loại trừ (rejection sampling) để đảm bảo không có ký tự hoặc từ nào được ưu tiên hơn các ký tự hoặc từ khác.
Tôi nên sử dụng mật khẩu (password) hay cụm mật khẩu (passphrase)? Mật khẩu ngẫu nhiên chứa nhiều entropy hơn trên mỗi ký tự, vì vậy đây là lựa chọn tốt hơn khi bạn sử dụng các trình quản lý mật khẩu để lưu trữ và tự động điền. Một cụm mật khẩu (gồm nhiều từ thực tế ghép lại với nhau) sẽ dễ gõ hoặc đọc nhẩm từ trí nhớ hơn, giúp nó phù hợp hơn cho những trường hợp bạn phải nhập thủ công — như mã mở khóa thiết bị, mật khẩu Wi-Fi hoặc mật khẩu chính (master password) của trình quản lý mật khẩu.
Chỉ số entropy có ý nghĩa gì? Đó là số bit ngẫu nhiên trong giá trị được tạo ra — đối với mật khẩu, bằng độ dài nhân với log2 của số lượng ký tự có thể xuất hiện ở mỗi vị trí; đối với cụm mật khẩu, bằng số lượng từ nhân với log2(7.776), kích thước của danh sách từ. Chỉ số này càng cao thì càng khó bị tấn công dò mã (brute-force). Chỉ số này giả định rằng kẻ tấn công đã biết chính xác phương pháp được sử dụng để tạo mật khẩu, vì vậy đây là thước đo độ ngẫu nhiên thuần túy chứ không phải là ước tính thời gian bẻ khóa thực tế chống lại các cuộc tấn công dựa trên từ điển hoặc mẫu có sẵn.