Tiếng Việt

Cách tính entropy của cụm mật khẩu

Công thức log2, các ví dụ hoạt động cho cả ba danh sách EFF, chi phí của một chữ số đầu tiên và lý do tại sao máy đo cường độ trang web không phù hợp với trang này.

Entropy đo lường quá trình chứ không phải mật khẩu

Một mật khẩu duy nhất không có entropy. Bản thân cụm từ "pin ngựa chính xác" không mạnh hay yếu - điều quan trọng là nó tồn tại như thế nào. Nếu một máy rút ra bốn từ giống nhau từ danh sách 7,776 thì đó là một trong khoảng 3.7 triệu kết quả có khả năng như nhau. Nếu ai đó chọn nó vì họ đã xem nó trong phim hoạt hình, thì đó là một trong số ít và không có sự thay đổi số học nào về điều đó.

Vì vậy, mọi số liệu trên trang này đều mô tả trình tạo và các cài đặt của nó, với giả định rằng kẻ tấn công biết các cài đặt đó và chỉ cần đoán các kết quả rút thăm ngẫu nhiên. Giả định đó là giả định bảo thủ. Danh sách, số từ, phạm vi độ dài, dấu phân cách và quy tắc viết hoa chữ thường đều được xuất bản trên trang này, vì vậy việc coi chúng là bí mật sẽ làm tăng mọi số ở đây.

Công thức

Đối với một lựa chọn được thực hiện thống nhất từ ​​N khả năng có khả năng như nhau, entropy là log2(N) bit. Mỗi lựa chọn độc lập sẽ thêm các bit riêng của nó, do đó, k lần rút độc lập từ cùng một nhóm N sẽ cho:

bit = k × log2(N)

Đó là toàn bộ tính toán cho một cụm mật khẩu. Cơ sở nhật ký 2 biến "có bao nhiêu khả năng" thành "có bao nhiêu bit" và các bit rất tiện lợi vì mỗi bit bổ sung sẽ tăng gấp đôi công việc mà kẻ tấn công phải đối mặt. Bảy mươi bit cứng gấp đôi sáu mươi chín và cứng hơn sáu mươi khoảng một nghìn lần.

Công thức tương tự bao gồm mật khẩu ký tự ngẫu nhiên, với N là kích thước của bộ ký tự và độ dài k: 20 ký tự được rút ra từ một bộ 80 sẽ cho 20 × log2(80), tức là khoảng 126 bits.

Các ví dụ đã hoạt động cho ba danh sách

Danh sách dài EFF chứa 7,776 từ. log2(7,776) là khoảng 12.925, vì vậy mỗi từ mang khoảng 12.9 bits. Sáu từ cho biết 6 × 12.925, khoảng 77.5 bits — giá trị mặc định trên trang này và đề xuất riêng của EFF cho danh sách đó. Bảy từ cho biết khoảng 90.5, tám từ cho biết 103.4.

Cả hai danh sách ngắn đều chứa 1,296 từ. log2(1,296) là khoảng 10.34, vì vậy sáu từ cho biết khoảng 62 bits, bảy từ cho biết 72.4 và tám từ cho biết 82.7. Đó là lý do tại sao danh sách ngắn muốn có thêm một hoặc hai từ để khớp với danh sách dài.

Năm từ trong danh sách dài có giá trị khoảng 64.6 bits — gần giống hệt như sáu từ trong danh sách ngắn. Hai con đường đi đến một sức mạnh nhất định thực sự có thể thay thế cho nhau; chọn bất kỳ từ nào tạo ra từ bạn thấy dễ gõ hơn.

Phạm vi độ dài có tác dụng gì đối với hình

Độ dài từ tối thiểu và tối đa sẽ lọc danh sách trước khi bất kỳ từ nào được rút ra, vì vậy N trong công thức là số từ tồn tại trong bộ lọc chứ không phải kích thước của tệp. Trang này tính toán lại điều này khi bạn thay đổi phạm vi và hiển thị số lượng còn sống sót, do đó, con số entropy luôn là về nhóm thực tế đang được sử dụng.

Đây là một hiệu ứng nhỏ đối với phạm vi hợp lý và là hiệu ứng lớn đối với phạm vi cực đoan. Việc giới hạn danh sách dài ở các từ có chính xác bốn chữ cái sẽ còn lại vài trăm ứng cử viên, giảm mỗi từ từ khoảng 12.9 bits xuống khoảng 8 — chuyển cụm mật khẩu sáu từ từ khoảng 77 bits thành khoảng 48. Trang sẽ hiển thị điều đó và tại thời điểm đó, nó sẽ yêu cầu bạn mở rộng phạm vi hoặc thêm từ.

Tùy chọn phân cách và trường hợp thêm những gì

Dấu phân cách cố định không thêm gì cả. Nếu mọi khoảng trống đều là dấu gạch nối thì kẻ tấn công biết cài đặt cũng sẽ đặt dấu gạch nối vào mọi khoảng trống; không có lựa chọn nào để họ đoán.

Tùy chọn phân tách ngẫu nhiên là khác nhau. Mỗi khoảng trống độc lập có một trong năm ký tự, vì vậy mỗi khoảng trống sẽ thêm log2(5), khoảng 2.32 bits. Cụm mật khẩu sáu từ có năm khoảng trống, tức là khoảng 11.6 bit thừa — một lợi ích thực sự và trang sẽ tính nó.

Logic tương tự áp dụng cho trường hợp. Thấp hơn, trên, viết hoa và xen kẽ là các quy tắc cố định và không thêm gì. Trường hợp ngẫu nhiên lật một đồng xu độc lập cho mỗi từ, do đó, nó thêm chính xác một bit cho mỗi từ: sáu bit trên cụm mật khẩu sáu từ. Điều đó cũng được tính.

Điều đáng chú ý là những điều này khiêm tốn như thế nào. Chữ hoa ngẫu nhiên và dấu phân cách ngẫu nhiên cùng nhau thêm khoảng 17 bits vào cụm mật khẩu sáu từ, trong khi từ thứ bảy tự thêm khoảng 13 và dễ nhớ hơn nhiều. Thêm từ hầu như luôn là đòn bẩy tốt hơn.

Thật là một chi phí theo chữ viết

Với chữ viết tắt, mỗi từ không còn được rút ra từ toàn bộ nhóm nữa — nó được rút ra từ những từ bắt đầu bằng chữ cái bạn đã chỉ định. Vì vậy, công thức trở thành một tổng chứ không phải là một tích: tổng là log2 của nhóm cho chữ cái đầu tiên, cộng với log2 của nhóm cho chữ cái thứ hai, v.v.

Các chữ cái được phân bố rất không đồng đều. Trong danh sách dài EFF, được giới hạn ở các từ có năm đến chín chữ cái, nhóm bắt đầu bằng s lớn hơn vài lần so với nhóm bắt đầu bằng j và lớn hơn nhiều so với nhóm bắt đầu bằng x. Do đó, một chữ viết hoa gồm sáu chữ cái đưa ra một con số ở đâu đó dưới sáu lần giá trị mỗi từ không bị ràng buộc và mức độ thấp hơn bao nhiêu hoàn toàn phụ thuộc vào những chữ cái bạn đã chọn.

Trang này tính tổng này cho chính xác các chữ cái bạn nhập, đây là cách duy nhất để đưa ra con số trung thực. Nếu một trong các chữ cái của bạn không có từ nào đằng sau nó trong danh sách hiện tại và phạm vi độ dài, nó sẽ cho biết chữ cái nào thay vì thất bại một cách lặng lẽ.

Chữ viết đầu cũng không có gì bí mật. Giả sử kẻ tấn công biết các chữ cái đầu đánh vần tên con chó của bạn, bởi vì đó là thứ có thể đoán được.

Thành thật mà nói, biến bit thành thời gian

Ước tính thời gian trên trang này giả định một cuộc tấn công ngoại tuyến với tốc độ một nghìn tỷ lần đoán một giây chống lại cơ sở dữ liệu mật khẩu bị đánh cắp và một nửa khả năng đó phải được thử trước khi xuất hiện khả năng phù hợp. Những giả định đó được nêu ở bất cứ nơi nào thời gian xuất hiện, bởi vì ước tính thời gian mà không có chúng là vô nghĩa.

Một nghìn tỷ đoán một giây là một con số có chủ ý khắc nghiệt. Nó nằm ở khu vực phù hợp để phần cứng chuyên dụng tấn công hàm băm nhanh, được chọn sai. Một trang web sử dụng hàm băm mật khẩu hiện đại đúng cách sẽ bị tấn công chậm hơn hàng triệu lần và bất kỳ hình thức đăng nhập trực tuyến nào cũng chậm hơn hàng tỷ lần, vì mỗi lần thử là một yêu cầu mạng mà máy chủ có thể giới hạn tốc độ.

Đó là lý do tại sao những con số trên trang này có mục đích bi quan. Nếu ước tính cho biết một cuộc tìm kiếm sẽ mất nhiều thời gian hơn bất kỳ ai, thì con số thực sự đối với một dịch vụ được vận hành thành thạo vẫn còn lâu hơn.

Tại sao máy đo sức mạnh của trang web lại nói điều gì đó khác biệt

Hầu hết các máy đo sức mạnh đều chấm điểm các ký tự trước mặt vì đó là tất cả những gì họ có: họ không bao giờ biết mật khẩu được tạo như thế nào. Họ thưởng cho các lớp nhân vật hỗn hợp, trừng phạt sự lặp lại và thường đối chiếu với từ điển các mật khẩu phổ biến. Chống lại mật khẩu do con người phát minh ra là một phương pháp phỏng đoán hợp lý và đó là điều duy nhất mà một biểu mẫu có thể làm.

Nó chấm điểm cụm mật khẩu được tạo ra không tốt vì lý do chính xác. Sáu từ trong từ điển viết thường có khoảng cách giữa chúng trông giống như một phương pháp phỏng đoán đếm ký tự, giống hệt như thứ mà nó được tạo ra để cảnh báo - mặc dù các từ được rút ra ngẫu nhiên và kết quả mạnh hơn hầu hết mọi thứ mà đồng hồ sẽ hoan nghênh.

Khi đồng hồ đo và trang này không đồng ý về cụm mật khẩu được tạo ở đây, trang đó sẽ mô tả quy trình và đồng hồ đo sẽ mô tả hình thức bên ngoài. Nói dối cũng không; họ đang đo lường những thứ khác nhau và chỉ một trong số họ biết những từ đó đến từ đâu.

Điều gì xảy ra với những gì bạn tạo ra

ToolAcre tạo mật khẩu cục bộ trong trình duyệt của bạn. Đối với những môi trường có độ nhạy cảm cao, hãy xác minh độ tin cậy của trình duyệt, thiết bị và hệ điều hành của bạn trước khi sử dụng bất kỳ trình tạo mật khẩu dựa trên web nào.

  • Mọi cụm mật khẩu và mật khẩu đều được tạo trong tab trình duyệt của bạn bằng trình tạo số ngẫu nhiên mã hóa của chính trình duyệt của bạn. Không có máy chủ nào được tham gia khi trang đã được tải.
  • Không có nội dung nào được tạo ở đây được gửi tới ToolAcre. Chính sách bảo mật nội dung của sản phẩm này giới hạn trang ở nguồn gốc của chính nó, do đó trình duyệt sẽ tự chặn mọi nỗ lực gửi dữ liệu đi nơi khác.
  • Không có gì được ghi vào bộ nhớ cục bộ, bộ nhớ phiên, cookie, cơ sở dữ liệu trong trình duyệt, thanh địa chỉ hoặc bảng điều khiển trình duyệt. Tải lại sẽ loại bỏ nó; đóng tab sẽ loại bỏ nó.
  • Không có tài khoản, không đăng nhập, không có tập lệnh phân tích và không có tập lệnh quảng cáo. Các tệp duy nhất được tải xuống là danh sách từ tĩnh.
  • Không có lịch sử được lưu giữ. Việc tạo lại sẽ thay thế giá trị và giá trị trước đó không thể phục hồi được.

Câu hỏi

Bao nhiêu bit là đủ?

Đối với tài khoản thông thường có trình quản lý mật khẩu, mọi thông tin nêu trên về 70 bits đều nằm ngoài khả năng phỏng đoán thực tế. Đối với một số cụm mật khẩu bảo vệ mọi thứ khác — bản thân người quản lý, thiết bị, email của bạn — hãy nhắm mục tiêu cao hơn, khoảng 90 bits trở lên, tức là bảy hoặc tám từ trong danh sách dài.

Tại sao việc thêm một từ lại hữu ích hơn việc thêm một biểu tượng?

Một từ trong danh sách dài sẽ nhân số khả năng với 7,776, khoảng 12.9 bits. Một biểu tượng được thêm vào một vị trí cố định sẽ nhân nó với một vì kẻ tấn công biết nó ở đó. Chỉ những lựa chọn thực sự được tính ngẫu nhiên.

Trang này có tính tùy chọn trường hợp ngẫu nhiên trong hình không?

Có, mỗi từ một bit, vì mỗi từ là một lần lật đồng xu độc lập. Các quy tắc trường hợp cố định được tính là 0, vì kẻ tấn công biết quy tắc đó có thể tự áp dụng quy tắc đó.

Tại sao một nửa không gian khóa được sử dụng trong ước tính thời gian?

Bởi vì trung bình một cuộc tìm kiếm toàn diện sẽ tìm thấy câu trả lời giữa chừng. Việc sử dụng không gian phím đầy đủ sẽ phóng đại thời gian theo hệ số hai, đây là lỗi làm tròn ở các thang đo này nhưng vẫn là cách làm tròn sai.

77 bits có đủ với tốc độ của máy tính không?

Chi phí đoán tăng gấp đôi với mỗi bit thêm, vì vậy số học có lợi cho người phòng thủ rất nhiều. Rủi ro thực tế đối với cụm mật khẩu 77-bit không phải là tính toán thô — chúng là lừa đảo, phần mềm độc hại trên thiết bị của bạn, sử dụng lại trên các trang web và dịch vụ đã lưu trữ nó một cách bất cẩn. Đó là những điều đáng được quan tâm.

Hạn chế

  • Entropy là giới hạn trên của độ khó đoán, không phải là dự đoán về việc tài khoản sẽ thực sự bị xâm phạm như thế nào. Hầu hết các tài khoản bị mất do lừa đảo, sử dụng lại và cơ sở dữ liệu bị vi phạm thay vì đoán mò.
  • Các số liệu giả định nguồn ngẫu nhiên là âm thanh. Trang này sử dụng trình tạo mật mã của trình duyệt và từ chối chạy mà không có nó, nhưng nó không thể kiểm tra trình tạo đó từ bên trong trang.
  • Ước tính thời gian phụ thuộc hoàn toàn vào tỷ lệ đoán giả định. Tỷ lệ được sử dụng ở đây được nêu rõ, có chủ ý khắc nghiệt và có thể sai theo cả hai hướng đối với bất kỳ kẻ tấn công cụ thể nào.
  • Việc tính toán giả định mỗi từ được rút ra độc lập và thống nhất. Nó sẽ phóng đại sức mạnh nếu điều đó không đúng, đó là lý do tại sao trình tạo rút ra bằng sự thay thế thay vì loại bỏ các từ mà nó đã sử dụng.
  • Không có con số entropy nào giải thích cho việc cụm mật khẩu được sử dụng lại, được viết ở nơi không an toàn hoặc được nhập trên máy bị xâm nhập.