Tính độ mạnh mật khẩu theo entropy thật, không chỉ đếm ký tự
Gõ một mật khẩu để xem entropy Shannon tính theo bit dựa trên đúng bảng ký tự bạn thực sự dùng (chữ thường, chữ hoa, số, ký tự đặc biệt), kèm nhãn độ mạnh và bảng ước lượng thời gian dò vét cạn ở ba tốc độ tấn công khác nhau. Công cụ cũng phát hiện những điểm yếu mà riêng công thức entropy bỏ sót: mật khẩu nằm trong danh sách rò rỉ phổ biến, ký tự lặp lại, chuỗi liên tiếp và chuỗi liền phím. Toàn bộ phân tích chạy trong trình duyệt, mật khẩu không được gửi đi đâu.
Tính năng nổi bật
- Tính entropy Shannon đúng công thức: độ dài nhân log2 của kích thước bảng ký tự thực sự xuất hiện trong mật khẩu
- Chỉ cộng vào bảng ký tự các nhóm thực sự có mặt — không mặc định cộng cả bốn nhóm nếu mật khẩu chỉ dùng chữ thường
- Phân loại độ mạnh theo năm mức từ rất yếu tới rất mạnh dựa trên ngưỡng bit phổ biến
- Bảng ước lượng thời gian dò vét cạn ở ba kịch bản: dò trực tuyến bị giới hạn, dò ngoại tuyến với hàm băm chậm, dò ngoại tuyến bằng GPU với hàm băm nhanh
- Định dạng thời gian dễ đọc theo giây, phút, giờ, ngày, năm, kể cả khi con số lớn tới mức phải viết dạng lũy thừa
- Phát hiện mật khẩu trùng với danh sách mật khẩu bị rò rỉ phổ biến nhất, cảnh báo bất kể entropy tính ra cao bao nhiêu
- Phát hiện ký tự lặp liên tiếp, chuỗi tăng/giảm liên tiếp và chuỗi liền phím bàn phím
- Nút ẩn/hiện mật khẩu và cam kết rõ ràng không gửi mật khẩu đi bất kỳ đâu, xử lý hoàn toàn bằng JavaScript trong trình duyệt
Vì sao cần phân biệt entropy toán học với độ khó đoán thực tế
Nhiều công cụ đo độ mạnh mật khẩu chỉ đơn giản đếm số ký tự và cộng điểm nếu có đủ chữ hoa, chữ thường, số, ký tự đặc biệt, mà không tính đến việc bảng ký tự thực sự dùng lớn tới đâu — một mật khẩu tám ký tự toàn chữ thường có entropy thấp hơn nhiều so với một mật khẩu tám ký tự trộn đủ bốn nhóm, dù cả hai đều "tám ký tự". Ngược lại, chính con số entropy cũng có giới hạn của nó: công thức Shannon giả định mỗi ký tự được chọn ngẫu nhiên độc lập, trong khi thực tế kẻ tấn công không dò ngẫu nhiên toàn bộ không gian ký tự mà ưu tiên thử trước danh sách mật khẩu rò rỉ phổ biến và các mẫu quen thuộc như chuỗi liên tiếp hay chuỗi liền phím. Một mật khẩu như "Password123!" có thể tính ra entropy hơn bảy mươi bit theo công thức thuần túy, nhưng thực chất bị đoán trúng trong vài giây vì nó gần giống hàng loạt mật khẩu phổ biến đã có trong mọi bộ từ điển tấn công. Công cụ này tính cả hai: con số entropy đúng theo toán học, và một lớp kiểm tra mẫu riêng để chỉ ra khi nào con số đó đang lạc quan quá mức.
Lợi ích khi sử dụng
- Hiểu đúng bản chất entropy thay vì tin vào thanh đo độ mạnh mơ hồ không rõ công thức của nhiều trang khác
- Thấy được thời gian dò vét cạn cụ thể theo từng kịch bản tấn công, không chỉ một nhãn chung chung
- Phát hiện sớm mật khẩu trùng mẫu phổ biến dù entropy tính ra vẫn cao
- Mật khẩu không rời khỏi trình duyệt của bạn trong suốt quá trình phân tích
- Không yêu cầu tài khoản, không lưu lịch sử, phù hợp để kiểm tra cả mật khẩu đang dùng thật
Cách dùng Password Entropy Calculator
- 1Gõ hoặc dán mật khẩu cần phân tích vào ô nhập, mặc định mật khẩu được ẩn dưới dạng dấu chấm giống ô đăng nhập thông thường.
- 2Bấm biểu tượng con mắt nếu cần xem lại chính xác từng ký tự đã gõ, ví dụ để kiểm tra không gõ nhầm.
- 3Đọc entropy tính theo bit và nhãn độ mạnh hiện ngay bên dưới, kèm giải thích công thức đã dùng với đúng bảng ký tự của mật khẩu bạn nhập.
- 4Xem bảng thời gian dò vét cạn ước lượng theo ba kịch bản tấn công khác nhau để hình dung mức độ an toàn trong tình huống xấu nhất.
- 5Nếu khung cảnh báo điểm yếu xuất hiện, hãy sửa lại mật khẩu ngay cả khi entropy hiện ra ở mức mạnh, vì các mẫu bị cảnh báo khiến mật khẩu dễ đoán hơn nhiều so với con số entropy thuần túy.
Công thức entropy Shannon và vì sao kích thước bảng ký tự quan trọng hơn số ký tự đặc biệt
Entropy của một mật khẩu, theo cách tính phổ biến nhất trong bảo mật thông tin, bằng độ dài mật khẩu nhân với logarit cơ số hai của kích thước bảng ký tự khả dĩ. Bảng ký tự khả dĩ không phải là số ký tự khác nhau xuất hiện trong mật khẩu, mà là tổng kích thước các nhóm ký tự mà mật khẩu đó có khả năng dùng: hai mươi sáu chữ thường, hai mươi sáu chữ hoa, mười chữ số, và khoảng ba mươi hai ký tự đặc biệt thường gặp trên bàn phím tiêu chuẩn. Điểm quan trọng dễ bị hiểu sai là công thức này chỉ cộng vào những nhóm thực sự có mặt trong mật khẩu, không cộng khống cả bốn nhóm cho mọi mật khẩu. Một mật khẩu chỉ toàn chữ thường có bảng ký tự hai mươi sáu, nên dù dài mười hai ký tự cũng chỉ đạt khoảng năm mươi sáu bit, trong khi một mật khẩu tám ký tự trộn đủ bốn nhóm có bảng ký tự khoảng chín mươi tư, đạt khoảng năm mươi hai bit — hai con số gần nhau dù độ dài chênh lệch, minh họa rõ việc tăng kích thước bảng ký tự hiệu quả gần tương đương việc tăng độ dài, nhưng dùng ký tự đặc biệt một cách máy móc như thêm dấu chấm than ở cuối không mang lại nhiều lợi ích nếu vị trí đó luôn cố định và dễ đoán.
Ba kịch bản tấn công và vì sao tốc độ dò chênh lệch nhau tới cả tỷ lần
Tốc độ một kẻ tấn công có thể thử mật khẩu phụ thuộc gần như hoàn toàn vào việc họ đang tấn công qua đâu. Kịch bản dò trực tuyến, tức gõ trực tiếp vào form đăng nhập của một dịch vụ, bị giới hạn rất chặt bởi chính sách khóa tài khoản sau vài lần thử sai và giới hạn tốc độ (rate limit) phía máy chủ, nên tốc độ thực tế thường chỉ khoảng vài lượt mỗi giây trước khi tài khoản bị khóa tạm thời. Kịch bản dò ngoại tuyến xảy ra khi dữ liệu người dùng của một dịch vụ bị rò rỉ và kẻ tấn công có trong tay bản băm (hash) của mật khẩu, lúc này giới hạn duy nhất chỉ còn là tốc độ phần cứng, và tốc độ đó lại phụ thuộc vào thuật toán băm được dùng: các hàm băm được thiết kế riêng cho mật khẩu như bcrypt, scrypt hay Argon2 cố tình làm chậm quá trình tính toán để mỗi lượt thử tốn nhiều thời gian hơn, kéo tốc độ dò xuống còn khoảng chục nghìn lượt mỗi giây dù chạy trên phần cứng mạnh. Ngược lại, nếu dịch vụ mắc sai lầm dùng các hàm băm nhanh vốn thiết kế cho mục đích khác như MD5 hay SHA-1 trần để lưu mật khẩu, một dàn GPU hiện đại có thể thử tới hàng chục tỷ lượt mỗi giây, biến một mật khẩu tưởng như an toàn ở kịch bản trực tuyến thành thứ bị dò ra chỉ trong vài phút.
Vì sao "Password123!" trông có vẻ mạnh nhưng thực chất rất yếu
Xét thuần túy theo công thức entropy, một mật khẩu như "Password123!" dài mười hai ký tự, dùng cả bốn nhóm ký tự, sẽ cho ra con số bit khá cao, đủ để rơi vào vùng được gắn nhãn "mạnh" nếu chỉ nhìn con số đơn thuần. Vấn đề là công thức entropy Shannon giả định mỗi ký tự được chọn hoàn toàn ngẫu nhiên và độc lập với các ký tự khác, một giả định không đúng với cách con người thực sự đặt mật khẩu. Trên thực tế, các bộ từ điển tấn công mật khẩu hiện đại không thử ngẫu nhiên từng ký tự mà thử theo thứ tự ưu tiên: đầu tiên là các mật khẩu đã từng bị rò rỉ và xuất hiện trong các cơ sở dữ liệu công khai như đã từng có trong nhiều vụ rò rỉ dữ liệu lớn, tiếp theo là các biến thể thường gặp của những mật khẩu đó — viết hoa chữ cái đầu, thêm số ở cuối, thay chữ o bằng số không, thêm dấu chấm than. "Password123!" khớp gần như hoàn hảo với khuôn mẫu biến thể phổ biến nhất trong các bộ từ điển này, nên trên thực tế bị dò trúng trong vài giây bất kể con số entropy toán học cho ra là bao nhiêu. Đây chính là lý do công cụ này tách riêng phần kiểm tra mẫu khỏi phần tính entropy, thay vì gộp chung thành một con số duy nhất dễ gây hiểu lầm.
Độ dài quan trọng hơn độ phức tạp: điều hướng dẫn bảo mật hiện đại đang nhấn mạnh
Hướng dẫn về xác thực số của Viện Tiêu chuẩn và Công nghệ Hoa Kỳ (NIST), vốn được nhiều tổ chức trên thế giới tham chiếu khi xây dựng chính sách mật khẩu, đã dần chuyển trọng tâm từ việc ép buộc độ phức tạp (bắt buộc phải có chữ hoa, số, ký tự đặc biệt) sang việc ưu tiên độ dài mật khẩu và khuyến khích dùng passphrase — một chuỗi nhiều từ ghép lại thay vì một từ ngắn biến tấu phức tạp. Lý do là các quy tắc ép buộc độ phức tạp trong quá khứ thường khiến người dùng chọn những biến thể dễ đoán như thêm số 1 ở cuối hoặc viết hoa chữ cái đầu để vừa đáp ứng yêu cầu vừa dễ nhớ, trong khi một cụm bốn từ tiếng Anh ngẫu nhiên không liên quan như "correct horse battery staple" tuy chỉ dùng toàn chữ thường và dấu cách nhưng nhờ độ dài lớn vẫn đạt entropy cao hơn nhiều so với một mật khẩu tám ký tự trộn đủ loại. Công cụ này phản ánh đúng nguyên lý đó: vì entropy tăng tuyến tính theo độ dài nhưng chỉ tăng theo logarit theo kích thước bảng ký tự, việc kéo dài mật khẩu thêm vài ký tự thường mang lại nhiều bit an toàn hơn là cố nhét thêm một ký tự đặc biệt vào một mật khẩu ngắn.
Vì sao công cụ khẳng định mật khẩu không được gửi đi đâu, và làm sao để tự kiểm chứng điều đó
Việc gõ mật khẩu thật vào bất kỳ trang web nào, kể cả một công cụ phân tích tưởng chừng vô hại, luôn đi kèm rủi ro nếu trang đó âm thầm gửi dữ liệu về máy chủ để xử lý hoặc ghi log. Công cụ này được viết để toàn bộ phép tính — từ việc xác định bảng ký tự, tính entropy, cho tới so khớp với danh sách mật khẩu rò rỉ phổ biến — chạy bằng JavaScript thuần ngay trong trình duyệt của bạn, không có bất kỳ lệnh gọi mạng nào được thực hiện trong lúc phân tích. Nếu bạn muốn tự kiểm chứng thay vì chỉ tin vào lời khẳng định này, có thể mở tab Network trong công cụ dành cho nhà phát triển của trình duyệt (phím F12 trên hầu hết trình duyệt), gõ thử một mật khẩu vào ô nhập, và quan sát rằng không có request mạng mới nào xuất hiện trong danh sách. Đây cũng là lý do trang khuyến khích bạn tự kiểm tra cả những mật khẩu thật đang dùng, vì việc phân tích không tạo thêm điểm rò rỉ nào ngoài chính máy tính bạn đang ngồi.
Câu hỏi thường gặp (FAQ)
Mật khẩu tôi gõ vào có được gửi lên máy chủ nào không?
Không. Toàn bộ phép tính entropy và kiểm tra mẫu chạy bằng JavaScript ngay trong trình duyệt của bạn, không có request mạng nào được gửi đi trong lúc phân tích. Bạn có thể tự kiểm chứng bằng cách mở tab Network trong công cụ dành cho nhà phát triển và quan sát khi gõ thử.
Entropy bao nhiêu bit thì được coi là mật khẩu an toàn?
Công cụ chia thành năm mức: dưới 28 bit là rất yếu, 28 đến 35 bit là yếu, 36 đến 59 bit là trung bình, 60 đến 127 bit là mạnh, và từ 128 bit trở lên là rất mạnh. Các ngưỡng này tương đối khớp với mức 60 bit trở lên thường được xem là đủ mạnh về mặt lý thuyết theo nhiều tài liệu tham khảo bảo mật hiện nay.
Vì sao mật khẩu dài nhưng toàn chữ thường lại có entropy thấp hơn mật khẩu ngắn trộn ký tự đặc biệt?
Điều này chỉ đúng nếu chênh lệch độ dài không đủ lớn để bù lại. Entropy tăng tuyến tính theo độ dài nhưng chỉ tăng theo logarit theo kích thước bảng ký tự, nên nhìn chung một mật khẩu đủ dài dù chỉ dùng chữ thường vẫn có thể vượt entropy của một mật khẩu ngắn trộn đủ loại ký tự — đây cũng là lý do các hướng dẫn bảo mật hiện đại khuyến khích ưu tiên độ dài hơn độ phức tạp.
Tại sao "Password123!" bị cảnh báo yếu dù entropy tính ra khá cao?
Vì công thức entropy Shannon giả định mỗi ký tự được chọn ngẫu nhiên độc lập, trong khi "Password123!" khớp với khuôn mẫu biến thể phổ biến nhất trong các bộ từ điển tấn công mật khẩu (viết hoa đầu, thêm số, thêm dấu chấm than cuối), nên trên thực tế bị dò trúng rất nhanh dù con số entropy toán học cho ra ở mức mạnh.
Ba kịch bản dò vét cạn trong bảng khác nhau như thế nào?
Dò trực tuyến bị giới hạn tốc độ mô phỏng việc thử trực tiếp vào form đăng nhập có chính sách khóa tài khoản, tốc độ rất chậm. Dò ngoại tuyến với hàm băm chậm mô phỏng dữ liệu bị rò rỉ nhưng mật khẩu được bảo vệ bằng bcrypt/Argon2. Dò ngoại tuyến bằng GPU với hàm băm nhanh mô phỏng trường hợp xấu nhất khi dịch vụ dùng hàm băm yếu như MD5.
Kích thước bảng ký tự đặc biệt khoảng ba mươi hai được tính như thế nào?
Con số này ước lượng theo tập ký tự đặc biệt phổ biến có sẵn trên bàn phím tiêu chuẩn, ví dụ !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~. Một số dịch vụ giới hạn tập ký tự đặc biệt được phép hẹp hơn con số này, khi đó entropy thực tế của mật khẩu trên dịch vụ đó sẽ thấp hơn một chút so với số công cụ này hiển thị.
Công cụ có lưu lại lịch sử các mật khẩu tôi từng gõ thử không?
Không. Không có cơ chế lưu trữ hay ghi log nào được thực hiện, phân tích chỉ tồn tại trong bộ nhớ tạm của trình duyệt trong lúc bạn đang gõ và biến mất khi bạn rời trang hoặc tải lại.
Vì sao con số thời gian dò vét cạn đôi khi hiện dạng lũy thừa như 10^80 năm?
Vì với mật khẩu rất dài hoặc dùng bảng ký tự lớn, không gian khả dĩ tăng nhanh tới mức số năm cần thiết vượt xa những đơn vị có thể hình dung được, kể cả so với tuổi của vũ trụ. Khi đó việc viết ra con số cụ thể không còn ý nghĩa thực tế, nên công cụ chuyển sang định dạng lũy thừa để phản ánh đúng mức độ áp đảo của con số.
Danh sách mật khẩu rò rỉ phổ biến mà công cụ dùng để so khớp lấy từ đâu?
Đây là một tập rút gọn các mật khẩu xuất hiện lặp đi lặp lại trong nhiều báo cáo và cơ sở dữ liệu công khai về mật khẩu bị rò rỉ qua nhiều năm, như "123456", "password", "qwerty". Đây không phải danh sách đầy đủ hàng trăm triệu mật khẩu từng bị rò rỉ, chỉ là tập lõi những mẫu phổ biến nhất để minh họa rủi ro.
Chuỗi liền phím bàn phím như "qwerty" nguy hiểm ở điểm nào so với một chuỗi ngẫu nhiên cùng độ dài?
Vì "qwerty" chỉ dựa vào vị trí vật lý của các phím liền kề nhau trên bàn phím, không mang tính ngẫu nhiên thực sự dù nhìn qua có vẻ là một chuỗi ký tự vô nghĩa. Các bộ từ điển tấn công luôn có sẵn danh sách các chuỗi liền phím phổ biến và thử chúng ở giai đoạn rất sớm, khiến chuỗi này bị dò trúng nhanh hơn nhiều so với một chuỗi ngẫu nhiên thật sự cùng độ dài.
Tôi nên đặt mật khẩu dài bao nhiêu ký tự để an toàn?
Không có một con số tuyệt đối phù hợp cho mọi trường hợp, nhưng xu hướng khuyến nghị hiện nay nghiêng về việc ưu tiên một passphrase dài mười hai ký tự trở lên, tốt nhất là một cụm nhiều từ không liên quan tới thông tin cá nhân, thay vì một mật khẩu ngắn cố nhồi nhét đủ loại ký tự đặc biệt theo yêu cầu của một số hệ thống cũ.
Nếu tôi dùng trình quản lý mật khẩu để tạo mật khẩu ngẫu nhiên, có cần kiểm tra lại bằng công cụ này không?
Không bắt buộc, vì mật khẩu do trình quản lý mật khẩu uy tín tạo ra thường đã đủ ngẫu nhiên và đủ dài để đạt entropy ở mức rất mạnh, đồng thời sẽ không khớp với bất kỳ mẫu phổ biến nào. Công cụ này hữu ích hơn cho việc kiểm tra những mật khẩu bạn tự nghĩ ra và có thể vô tình lặp lại một khuôn mẫu quen thuộc mà không nhận ra.
Từ khóa liên quan
- tính độ mạnh mật khẩu
- password entropy calculator tiếng việt
- kiểm tra mật khẩu mạnh yếu
- shannon entropy mật khẩu
- thời gian dò mật khẩu brute force
- mật khẩu bao nhiêu bit là an toàn
- công cụ kiểm tra mật khẩu online
- nist hướng dẫn mật khẩu
- passphrase vs password
- danh sách mật khẩu bị rò rỉ phổ biến
- mật khẩu không gửi lên server
- tính entropy mật khẩu online
- brute force crack time calculator
- kiểm tra mật khẩu có bị lộ không
- độ dài mật khẩu an toàn
- mật khẩu chứa chuỗi liên tiếp
- công cụ phân tích mật khẩu miễn phí
- bảng ký tự entropy mật khẩu
- kiểm tra mật khẩu offline dò bằng gpu
- mật khẩu mạnh khác gì mật khẩu ngẫu nhiên
