Cần luôn cảnh giác về việc tạo ra các mật khẩu không thể bị bẻ khóa về mặt toán học. Và nếu là một trong hàng trăm nghìn người sử dụng tên và ngày sinh trong mật khẩu(cửa sổ mới), thì chắc chắn đã đến lúc thắt chặt bảo mật đăng nhập.
Trong bài viết này, phương pháp ước tính và cải thiện entropy mật khẩu sẽ được giải thích, điều này rất tuyệt vời cho bảo mật trực tuyến. Nhưng có một sự đánh đổi: Phóng to entropy của mật khẩu về cơ bản đồng nghĩa với việc khiến mật khẩu không thể nhớ được. Như thường lệ, có một truyện tranh XKCD(cửa sổ mới) tóm tắt sự cố này.
Với số lượng dịch vụ trực tuyến đăng ký (ít nhất là hàng chục), một người bình thường gần như không thể ghi nhớ mật khẩu mạnh cho từng dịch vụ.
Do đó, khuyến nghị là sử dụng trình quản lý mật khẩu như Proton Pass, công cụ có thể tạo mật khẩu có entropy cực kỳ cao. Công cụ này sẽ ghi nhớ và tự động điền chúng.
Dưới đây là phần giải thích về ý nghĩa của entropy mật khẩu, cách tính toán và mức độ ảnh hưởng của nó đến độ mạnh của mật khẩu. Điều này có thể giúp chọn các cài đặt an toàn nhất trong trình quản lý mật khẩu (hoặc tránh đăng nhập vào các dịch vụ yêu cầu mật khẩu có entropy rất thấp).
“Entropy mật khẩu” có nghĩa là gì?
Entropy mật khẩu đề cập đến mức độ không thể dự đoán của mật khẩu hoặc cụm từ, được đo bằng bit. Thông thường, càng có nhiều bit entropy, mật khẩu càng phức tạp và càng khó bị bẻ khóa thông qua các cuộc tấn công vét cạn.
Kẻ tấn công vét cạn sử dụng phương pháp thử và sai để đoán các tổ hợp ký tự trong thông tin đăng nhập, mật khẩu và dữ liệu mã hóa.
Ví dụ, nhiều tin tặc sử dụng các tập lệnh và máy móc phức tạp để tự động hóa hàng nghìn lượt đoán mật khẩu chỉ trong vài phút. Trong một trong những trường hợp đáng kinh ngạc nhất, các nhà nghiên cứu đã xử lý tới 350 tỷ lượt đoán mật khẩu(cửa sổ mới) mỗi giây.
Kẻ tấn công sử dụng các cuộc tấn công vét cạn để nhanh chóng phát hiện các mật khẩu yếu. Bằng cách đo lường và ưu tiên entropy của mật khẩu, có thể giúp ngăn chặn dữ liệu này rơi vào tay kẻ xấu.
Entropy mật khẩu ảnh hưởng đến độ mạnh của mật khẩu như thế nào?
Một số yếu tố ảnh hưởng đến entropy của mật khẩu và từ đó ảnh hưởng đến độ mạnh của mật khẩu. Cần xem xét các yếu tố sau của mật khẩu:
- Độ dài (tính bằng ký tự)
- Sử dụng chữ hoa và chữ thường
- Sử dụng ký tự số
- Sử dụng biểu tượng đặc biệt
Trong số tất cả các yếu tố được liệt kê ở đây, độ dài mật khẩu là quan trọng nhất. Một cụm mật khẩu đủ dài sẽ vô hiệu hóa hầu hết mọi cuộc tấn công vét cạn. Và có thể tăng thêm entropy bằng cách sử dụng các chữ cái viết hoa ngẫu nhiên, biểu tượng đặc biệt và chữ số.
Tuy nhiên, entropy không chỉ phụ thuộc vào việc mật khẩu nhìn có vẻ dài hay phức tạp ra sao. Nó còn có thể phụ thuộc vào cách mật khẩu được tạo ra. Một chuỗi thực sự ngẫu nhiên có entropy cao hơn nhiều so với một từ hoặc cụm từ phổ biến, ngay cả khi cả hai có cùng độ dài.
Tin tặc có thể sử dụng các cuộc tấn công từ điển để đoán thông tin đăng nhập nếu sử dụng một từ dễ nhận biết hoặc cụm từ phổ biến trong mật khẩu.
Kẻ tấn công từ điển sẽ tự động hóa việc đoán vét cạn mọi từ trong từ điển có thể được sử dụng trong mật khẩu.
Do đó, bất kể entropy của mật khẩu là bao nhiêu, nguy cơ bị hack vẫn hiện hữu nếu sử dụng tên thú cưng, đội thể thao hoặc các mật khẩu phổ biến khác (ví dụ: không bao giờ sử dụng từ “password”) trong chi tiết đăng nhập.
Cách tính entropy mật khẩu
Phần này giải thích cách tính entropy mật khẩu, nhưng cần lưu ý rằng đây chỉ đơn giản là một ví dụ minh họa. Không thể ước tính an toàn entropy của mật khẩu dựa trên hình thức bên ngoài của nó. Mật khẩu do con người tạo ra — ngay cả những mật khẩu dài — thường rất dễ đoán. Trừ khi được tạo bằng trình tạo ngẫu nhiên, nên giả định rằng entropy thấp hơn thực tế nghĩ.
Giả sử sử dụng một chuỗi ký tự ngẫu nhiên, entropy mật khẩu được đo bằng bit và phụ thuộc vào hai yếu tố chính:
- Số lượng ký tự có sẵn trong phạm vi ký tự được chọn cho mật khẩu
- Số lượng ký tự trong mật khẩu
Do đó, entropy mật khẩu sẽ tăng lên khi mật khẩu càng dài và phạm vi ký tự có thể có càng rộng. Một mật khẩu dài sử dụng chữ hoa, chữ thường, ký hiệu và số, chẳng hạn như kmXz2=zs[m%7?y4A, sẽ có entropy rất cao.
Mật khẩu chỉ sử dụng chữ thường hoặc số, chẳng hạn như dzormybs hoặc 119022833, sẽ có entropy rất thấp.
Cụm mật khẩu dễ nhớ hơn, nhưng cần phải cẩn thận. Chúng phải dài hơn để tạo ra mức entropy tương đương. Ví dụ, một cụm mật khẩu như HelpFidoSaveChocolate33! trông có vẻ phức tạp, nhưng vì sử dụng bốn từ tiếng Anh phổ biến và sự kết hợp số-ký hiệu dễ đoán ở cuối, entropy thực sự của nó có thể gần hơn với mức 50 bit. Con số này ít hơn nhiều so với entropy của kmXz2=zs[m%7?y4A, mặc dù nó ngắn hơn tám ký tự.
Bit entropy là gì?
Các bit entropy đo lường mức độ khó bẻ khóa của mật khẩu. Ví dụ, một mật khẩu đã biết trước sẽ có không bit.
Sử dụng công thức, có thể tính toán số bit entropy có trong mật khẩu, và từ đó, biết được tập lệnh hoặc máy móc của kẻ tấn công cần bao nhiêu lượt đoán để có quyền truy cập.
Tuy nhiên, trước khi có thể tính toán entropy mật khẩu, cần đo lường tất cả các phạm vi ký tự có thể có khác nhau.
Đo lường phạm vi ký tự
Bảng dưới đây minh họa cách các tùy chọn ký tự tăng lên khi thêm các ký tự khác nhau vào mật khẩu nếu viết bằng tiếng Anh. Số lượng chữ cái và ký hiệu có thể thay đổi tùy thuộc vào ngôn ngữ sử dụng.
| Loại ký tự | (Các) ví dụ | Kích thước phạm vi |
| Ký tự số | 0, 1, 2, 3 | 10 |
| Chữ cái Latinh (viết thường) | a, b, c, d | 26 |
| Chữ cái Latinh (viết hoa) | A, B, C, D | 26 |
| Ký hiệu đặc biệt | !, @, %, $ | 32 |
Càng cung cấp nhiều lựa chọn về ký tự tiềm năng cho các tin tặc tiềm năng, entropy mật khẩu càng cao. Do đó, hãy ưu tiên phạm vi ký tự càng rộng càng tốt và sử dụng kết hợp cả bốn loại.
Dưới đây là một số mật khẩu ví dụ và tổng phạm vi ký tự của chúng:
| Ví dụ | Tổng phạm vi ký tự |
| 112233 | 10 |
| abcde | 26 |
| a1b2c3d4 | 36 |
| a1B2c3D4 | 62 |
| a1!B2%c3^D4 | 94 |
Hãy nhớ rằng, dữ liệu trên hiển thị kích thước tiềm năng của phạm vi ký tự, không phải các bit entropy. Cần sử dụng một công thức cụ thể để tính toán chính xác entropy của mật khẩu tính bằng bit.
Công thức tính entropy mật khẩu
Có thể đo lường entropy của mật khẩu tính bằng bit bằng công thức sau:
E = L × log2(R)
Trong công thức này:
- E là entropy mật khẩu
- R là phạm vi có thể có của các loại ký tự trong mật khẩu (các bảng hiển thị ở trên)
- L là số lượng ký tự trong mật khẩu (độ dài mật khẩu)
- Log2 trả lời câu hỏi “2 phải nâng lên lũy thừa bao nhiêu để bằng số này”
Sử dụng công thức này, dưới đây là cách đo lường một số mật khẩu ví dụ tính bằng bit:
| Ví dụ | Phạm vi ký tự | Độ dài mật khẩu | Phép tính | Các bit entropy |
| fygwcbjnhsbh | 26 | 12 ký tự. | E = 12 x 4,7 | 56,4 |
| HzgNhHkY1WQ8AM | 62 | 14 ký tự. | E = 14 x 5,95 | 83,3 |
| kmXz2=zs[m%7?y4A | 94 | 16 ký tự. | E = 16 x 6,55 | 104,8 |
Phép toán hiển thị rằng mật khẩu càng dài và phức tạp thì càng có nhiều bit entropy.
Hãy nhớ rằng, các phép tính này chỉ áp dụng cho mật khẩu được tạo ngẫu nhiên. Các cụm mật khẩu sử dụng những từ phổ biến phải dài hơn và sử dụng những từ không phổ biến, không liên quan đến nhau (và lý tưởng nhất là cả số và ký hiệu) để tạo ra mức độ bảo mật tương đương.
Và hãy nhớ rằng, các phép tính này mang tính chất minh họa nhiều hơn là sử dụng thực tế. Nên dựa vào trình tạo mật khẩu thay vì tự mình cố gắng tính toán độ mạnh của mật khẩu
Có thể sử dụng trình tạo mật khẩu miễn phí để thử nghiệm và xem các mật khẩu khác nhau mạnh như thế nào.
Một lần nữa, entropy chỉ là một thước đo độ mạnh. Để tránh các cuộc tấn công từ điển, hãy tránh sử dụng các mật khẩu hoặc cụm từ thông dụng. Cũng nên tránh sử dụng thông tin cá nhân như ngày sinh, tên thú cưng hoặc tên đường phố làm mật khẩu, vì kẻ tấn công có thể lấy được thông tin này.
Khi nào một mật khẩu được coi là mạnh?
Nhìn chung, một mật khẩu mạnh hoặc có entropy cao sẽ đạt điểm ít nhất là 75 bit. Bất kỳ mật khẩu nào dưới 72 bit đều tương đối dễ dàng bị máy móc bẻ khóa.
Số lượng dự đoán tiềm năng tối đa được tính toán bằng phép tính 2 ^ (số bit). Đó là số lần số 2 nhân đôi để đạt được tổng số bit.
Ví dụ, một mật khẩu có 10 bit entropy, sử dụng 2 ^ 10, sẽ cần tối đa 1.024 lượt đoán để bẻ khóa. Đó thường là một mật khẩu số gồm ba ký tự, chẳng hạn như 456.
Hãy hướng tới mức entropy trên 100 bit để tạo mật khẩu mạnh, hướng tới mức càng cao càng tốt. Entropy càng cao thì máy móc càng mất nhiều thời gian hơn để đoán vét cạn mật khẩu chính xác.
Các quy tắc để tạo mật khẩu có entropy cao rất khác nhau tùy thuộc vào chuyên gia bảo mật được tham khảo, nhưng có một vài quy tắc chung mà tất cả đều đồng ý:
- Mật khẩu phải dài ít nhất 14 ký tự và sử dụng kết hợp nhiều loại ký tự (không chỉ là chữ cái viết thường trong bảng chữ cái Latinh cơ bản)
- Nên tránh sử dụng bất kỳ cụm từ hoặc thuật ngữ nào có ý nghĩa quan trọng (và do đó dễ đoán)
- Mật khẩu mạnh không kết nối với tên người dùng (luôn coi hai thông tin này là các thực thể riêng biệt)
- Cần có sự kết hợp của ít nhất một chữ cái viết thường, một chữ cái viết hoa, một chữ số và một ký tự đặc biệt (ví dụ: %, ^, *, &, @, ~, v.v.)
Khuyến nghị cũng nên sử dụng một danh sách chặn mật khẩu để giúp tránh sử dụng các từ hoặc cụm từ được chọn phổ biến trên mạng web. Ví dụ: dự án Bad Passwords của NIST(cửa sổ mới) là một công cụ mã nguồn mở phổ biến để tạo các cụm từ có entropy cao.
Nếu muốn tạo một mật khẩu quản trị viên an toàn cho trình quản lý mật khẩu, hãy xem xét các hướng dẫn sau
Tóm lại, một mật khẩu thực sự an toàn sẽ chứa, ví dụ:
- Ít nhất một chữ cái viết hoa
- Ít nhất một chữ cái viết thường
- Ít nhất một biểu tượng đặc biệt
- Ít nhất một chữ số
- Ít nhất 14 ký tự (hoặc ít nhất 30 ký tự đối với cụm mật khẩu, giả định rằng các từ đó không phổ biến và không liên quan đến nhau)
Ví dụ trên, kmXz2=zs[m%7?y4A, đáp ứng tất cả các yêu cầu này và tạo ra một mật khẩu có khoảng 105 bit entropy, một mức độ mà máy móc sẽ mất khoảng thời gian dài không tưởng để bẻ khóa bằng tấn công vét cạn.
Tạo mật khẩu mạnh bằng Proton Pass
Cách duy nhất để tạo và ghi nhớ đủ mật khẩu mạnh cho tất cả tài khoản trực tuyến là sử dụng trình quản lý mật khẩu. Proton Pass tạo các cụm từ an toàn chỉ bằng một cú nhấp chuột. Có thể sử dụng công cụ này để tạo các cụm mật khẩu gồm 10 từ hoặc mật khẩu ngẫu nhiên gồm 64 ký tự, đồng thời cho phép kiểm soát việc từng mật khẩu có sử dụng số, chữ hoa và ký tự đặc biệt hay không, trong trường hợp muốn phóng to entropy của mật khẩu.
Với Proton Pass, mật khẩu không chỉ khó bị bẻ khóa — chúng được lưu trữ bằng mã hóa đầu cuối và được sao lưu bằng xác thực hai yếu tố an toàn thông qua trình quản lý mật khẩu miễn phí bảo mật nhất thế giới. Đọc mô hình bảo mật của Proton Pass để tìm hiểu thêm.
Nếu entropy mật khẩu khiến bạn bối rối, hãy đăng ký tài khoản và đăng ký Proton Pass. Công cụ sẽ giúp tạo, lưu trữ và bảo mật mật khẩu để chống lại các cuộc tấn công độc hại.
Cập nhật ngày 18 tháng Mười Một, 2025: Bài viết này đã được cập nhật để giải thích rõ ràng hơn các sự cố khi cố gắng tính toán entropy của cụm mật khẩu và mật khẩu nói chung. Độ phức tạp của mật khẩu rất dễ bị đánh giá quá cao trừ khi chúng thực sự được tạo ngẫu nhiên.
Câu hỏi thường gặp
Độ phức tạp của mật khẩu thường đề cập đến phạm vi ký tự tiềm năng của nó, trong khi entropy mật khẩu đề cập đến toán học đằng sau mức độ khó đoán của mật khẩu. Entropy được đo bằng bit, từ đó cho biết cần bao nhiêu lượt đoán vét cạn để bẻ khóa một mật khẩu.
Điều này phụ thuộc vào cách các từ được chọn. Nếu được chọn ngẫu nhiên (ví dụ: sử dụng danh sách Diceware), mỗi từ sẽ thêm khoảng 12–13 bit entropy. Vì vậy, một cụm mật khẩu ngẫu nhiên bốn từ sẽ có khoảng 50–52 bit entropy. Nhưng nếu các từ do con người chọn, entropy có thể thấp hơn nhiều.
Mức 128 bit entropy có nghĩa là mật khẩu sẽ yêu cầu 2¹²⁸ lượt đoán để bẻ khóa bằng tấn công vét cạn — con số đó lớn hơn số lượng nguyên tử trong vũ trụ. Vì mục đích thực tế, bất kỳ mật khẩu nào trên 100 bit đều an toàn. Thậm chí các mật khẩu có từ 75–80 bit cũng được coi là có khả năng chống lại mọi cuộc tấn công vét cạn đã biết hiện nay.






