Điểm:1

Crack mã hóa AES thông qua tấn công từ điển cụm mật khẩu?

lá cờ fr

Việc bẻ khóa tệp được mã hóa AES-256, được bảo vệ bằng cụm mật khẩu, dễ dàng đến mức nào?

Tôi hiểu rằng việc cố gắng sử dụng khóa mã hóa AES-256 sẽ không khả thi, ngay cả với điện toán lượng tử. Nhưng nếu khóa mã hóa đó được tạo từ cụm mật khẩu thì sao? Làm thế nào dễ dàng sau đó để phá vỡ mã hóa?

Tôi hoàn toàn không có kinh nghiệm về mật mã, nhưng đã thử thực hiện một số ước tính đơn giản: Theo từ điển Oxford có khoảng 170 nghìn từ tiếng Anh được sử dụng. Tất nhiên, chỉ một phần nhỏ trong số này là mật khẩu được sử dụng thường xuyên, nhưng hãy sử dụng con số này.

Nếu chúng tôi cố gắng ép buộc cụm mật khẩu, tôi cho rằng chúng tôi sẽ bắt đầu với cụm mật khẩu dài 1 từ, tiếp theo là cụm mật khẩu dài 2 từ, v.v. Giả sử các từ không được lặp lại, điều này sẽ đưa ra tổng số khả năng:

$N(L) = \sum_{i=1}^L \frac{170000!}{i!}$

Trong đó L là độ dài cụm mật khẩu tối đa (số từ) mà chúng tôi muốn thử bẻ khóa.

Để có được một số hoán vị của khoảng $2^{256}$, thì chúng tôi cần một cụm mật khẩu gồm ít nhất 18 từ, với điều kiện là $N(15) = 2,85\times10^{78} = 2^{260}$.

Vậy có đúng không khi cho rằng, nếu kẻ tấn công biết "mật khẩu" thực sự là một cụm mật khẩu được tạo thành từ các khóa tiếng Anh, thì cụm mật khẩu cần phải dài ít nhất 15 từ để nó không phải là liên kết yếu hơn trong Lược đồ mã hóa AES?

kelalaka avatar
lá cờ in
Tại sao bạn cần một tính toán như vậy? Tại sao bạn không sử dụng Dicewire hoặc Bip39 để bảo mật khóa của mình bằng thuật toán dẫn xuất khóa tốt như Argon2 hoặc Scrypt?
Điểm:2
lá cờ cn

Giả sử các từ không được lặp lại, điều này sẽ đưa ra tổng số khả năng:
$N(L) = \sum_{i=1}^L {170000 \choose i}$

Không: đây là tổng số bộ của $L$ các từ, nhưng các từ phải theo thứ tự, vì vậy giá trị thực sự là $N(L) = \sum_{i=1}^L \frac{170000!}{i!}$.

Hơn nữa, không có lý do gì để không lặp lại các từ: điều này chỉ làm cho cụm mật khẩu dễ đoán hơn một chút. Vì vậy số lượng $L$cụm từ mật khẩu -word thực sự là $170000^{L}$. Số lượng mật khẩu của $1$ đến $L$ từ là $$N(L) = \sum_{i=1}^L 170000^i$$

Kẻ tấn công thực sự có khả năng biết số lượng từ trong cụm mật khẩu, nhưng điều này không thay đổi nhiều về số lượng.

Làm phép tính, $N(14) < 2^{256} < N(15)$.

Vậy có đúng không khi cho rằng, nếu kẻ tấn công biết "mật khẩu" thực sự là một cụm mật khẩu được tạo thành từ các khóa tiếng Anh, thì cụm mật khẩu đó ít nhất phải là 18 15-word long để nó không phải là liên kết yếu hơn trong sơ đồ mã hóa AES?

Vẫn không, vì chi phí kiểm tra cụm mật khẩu cao hơn chi phí kiểm tra khóa. Để kiểm tra cụm mật khẩu, trước tiên kẻ thù phải lấy khóa từ cụm mật khẩu, sau đó kiểm tra khóa. Việc lấy khóa từ cụm mật khẩu cố tình chậm: nó sử dụng một kéo dài phím chức năng.

Việc kéo dài khóa chậm hơn bao nhiêu so với phép tính băm phụ thuộc vào việc lựa chọn thuật toán strecting khóa, vào cách nó được tham số hóa và phần cứng mà kẻ tấn công có. Đối với lực lượng vũ phu ở quy mô này, chi phí thiết kế phần cứng là không đáng kể và chi phí bị chi phối bởi mức tiêu thụ điện năng. Đối với chức năng kéo dài phím hoạt động lặp lại kế thừa như PBKDF2, lượng silicon cung cấp năng lượng cho quá trình kéo dài phím không cao hơn đáng kể so với AES. Thông thường, việc chọn một hệ số chậm sao cho một lần chạy tốn vài phần mười giây, so với vài phần tỷ giây đối với phần AES, nghĩa là tỷ lệ khoảng $2^{26}$. Với chức năng kéo dài phím hiện đại cũng là bộ nhớ cứng, tỷ lệ này cao hơn vì bạn cũng phải cấp nguồn cho RAM. tôi sẽ sử dụng $2^{30}$ như tỷ lệ.

Điều này có nghĩa là để AES yếu hơn trước lực lượng vũ phu so với cụm mật khẩu, chúng ta cần $N(L) \ge 2^{256}/2^{30} = 2^{226}$, đạt được cho $L \ge 13$.


Nhưng… con số này không có ý nghĩa! Hoàn toàn không cần phải bẻ khóa cụm mật khẩu chậm hơn bẻ khóa AES, bởi vì bẻ khóa AES đã vượt quá khả năng. Nếu việc bẻ khóa cụm mật khẩu là không thể, nhưng âít khả thi hơnâ so với AES, thì điều đó vẫn không thể.

Mạng Bitcoin sử dụng khoảng 0,4% tổng sản lượng điện của thế giới (nguồn: â 100 TWh/năm ra khỏi trên 25000 TWh/năm) rồi tính â $2^{93}$ băm/năm. Giả sử bạn nhận được cùng một số thao tác cơ bản trên mỗi Wh để bẻ khóa cụm mật khẩu, với chênh lệch hệ số chi phí là $2^{30}$ Tôi đã ước tính ở trên, điều này có nghĩa là giới hạn trên cho việc bẻ khóa cụm mật khẩu là $2^{63}$ mỗi năm.

Vì vậy, nếu bạn muốn khóa của mình được bảo mật khỏi kẻ thù cấp NSA để một nghìn năm, bạn cần $N(L) \ge 1000 \cdot 2^{63} \approx 2^{73}$, đạt được cho $L \ge 5$.

Ở cấp độ sức mạnh chống lại vũ phu này, vũ phu không phải là vấn đề đáng lo ngại. Hay đúng hơn, âbrute forceâ như trong siêu máy tính không phải là vấn đề đáng lo ngại. Lực lượng vũ phu đáng lo ngại được áp dụng với một công cụ cùn.

Trí tưởng tượng của mọt sách Crypto:
[Cueball đang cầm một chiếc máy tính xách tay và bạn của anh ấy đang kiểm tra nó.]
Cueball: Máy tính xách tay của anh ấy đã được mã hóa. Hãy xây dựng một cụm triệu đô để phá vỡ nó.
Bạn: Không ổn! Đó là RSA 4096-bit!
Cueball: Vụ nổ! Kế hoạch xấu xa của chúng ta đã thất bại!
Điều gì sẽ thực sự xảy ra:
[Cueball đang cầm một tờ giấy và đưa cho bạn của mình một chiếc cờ lê.]
Cueball: Máy tính xách tay của anh ấy đã được mã hóa. Đánh thuốc mê và đánh anh ta bằng cái cờ lê \$5 này cho đến khi anh ta cho chúng tôi biết mật khẩu.
Bạn: Hiểu rồi.

Thực tế thực tế thực tế: kẻ tấn công thực sự có động cơ sẽ tìm thấy cụm mật khẩu thông qua lừa đảo hoặc, ví dụ: Thực ra người dùng cẩn thận và những kẻ tấn công mạnh mẽ, bằng cách cài đặt máy ảnh hoặc cài đặt phần mềm độc hại. (Hoặc một sự kết hợp của chúng.)

lá cờ fr
Cảm ơn, sửa chữa tính toán của tôi. Tôi hiểu rằng ngay bây giờ, trên thực tế, người ta không cần phải sử dụng tất cả 256 bit mã hóa hoặc 2^256 hoán vị. Tuy nhiên, đó là điều tôi đang hướng tới, vì với điện toán lượng tử trong một tương lai không xa, trường hợp xấu nhất của brute-force sẽ mất khoảng. các bước $O(\sqrt{N}) sử dụng tìm kiếm Grover. Tôi cho rằng để làm cho nó có khả năng chống lại lượng tử đối với một kẻ thù không nhất thiết ở cấp độ NSA nhưng vẫn có động cơ (tùy thuộc vào chi phí của máy tính lượng tử thông qua đám mây), chúng tôi sẽ cần khoảng 12 từ để phù hợp với mức độ bảo mật mà bạn đã đề cập?
Điểm:1
lá cờ in

Như Gilles lưu ý, Nếu bạn có một từ điển gồm 170.000 từ (ở mức cao), số lượng cụm mật khẩu có $L$ từ là: $170000^L$

Khi chuyển đổi từ cụm mật khẩu sang khóa, chúng tôi sử dụng chức năng dẫn xuất khóa được thiết kế để cố tình làm chậm để ngăn chặn các cuộc tấn công vũ phu, tốc độ chậm hơn bao nhiêu tùy thuộc vào chi tiết, có nhiều thuật toán xung quanh và tất cả các thuật toán hiện đại đều được tham số hóa để có thể định cấu hình chậm.

Nhưng để thực hiện một số phép toán trên đường bao, giả sử sử dụng GPU, bạn có thể nhận được tới 1000 lần kiểm tra mỗi giây với tài nguyên đám mây 1 đô la/giờ. Điều này có nghĩa là bạn nhận được 3,6 triệu cụm mật khẩu được kiểm tra/USD (Đây là khi sử dụng các dẫn xuất mật khẩu hơi cũ nhưng phổ biến, ví dụ: PBKDF2 với số lần lặp lại vừa phải và kẻ tấn công sử dụng tài nguyên đám mây tốt nhất hiện có).

Bây giờ để hiểu về bảo mật, bạn có thể chuyển đổi độ dài cụm mật khẩu thành chi phí.

L=1, 170.000 cụm từ có thể, chi phí dưới 1 đô la

L=2, 29 tỷ cụm từ có thể, chi phí là ~ $8000

L=3 , chi phí trở thành 1,3 tỷ đô la, điều không thể thực hiện được khi sử dụng đám mây công cộng và có thể không khả thi ngay cả đối với một quốc gia có thêm phần cứng chuyên dụng.

lá cờ fr
Cảm ơn bạn, cũng rất vui khi thấy một chi phí ước tính để giúp đưa ra quan điểm! Tôi chỉ tự hỏi điều này sẽ như thế nào với điện toán lượng tử trong tương lai không xa và cũng có thể truy cập dễ dàng qua đám mây.
Meir Maor avatar
lá cờ in
Không có máy tính lượng tử có liên quan trong tương lai gần. Chúng tôi là một số bước đột phá đi.
eckes avatar
lá cờ us
Tuy nhiên, cần lưu ý rằng danh sách 100 triệu mật khẩu hàng đầu vẫn nằm trong phạm vi dưới 1000 đô la và chúng bao gồm rất nhiều mật khẩu yếu. Vì vậy, nếu phần mềm của bạn không sử dụng dẫn xuất khóa mạnh (số lần lặp lại cao) thì phần mềm đó sẽ gây nguy hiểm cho người dùng thông thường vì các cuộc tấn công ngoại tuyến dễ dàng. Nếu chỉ sử dụng một hàm băm đơn giản thì điều đó thậm chí còn tệ hơn. Bạn có thể dễ dàng tấn công tối đa 8 ký tự trên máy cục bộ.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.