Là mã hóa của zip thực sự xấu?


24

Lời khuyên tiêu chuẩn trong nhiều năm liên quan đến nén và mã hóa là độ mạnh mã hóa của zip là xấu.

Đây thực sự là trường hợp trong thời đại ngày nay?

Tôi đọc bài viết này về WinZip (nó đã có tiếng xấu tương tự). Theo bài báo đó, vấn đề được loại bỏ miễn là bạn tuân theo một số quy tắc khi chọn mật khẩu của mình.

  1. Độ dài ít nhất 12 ký tự
  2. Hãy ngẫu nhiên không chứa bất kỳ từ điển, từ phổ biến hoặc tên
  3. Ít nhất một ký tự chữ hoa
  4. Có ít nhất một ký tự chữ thường
  5. Có ít nhất một ký tự số
  6. Có ít nhất một Ký tự đặc biệt, ví dụ $, £, *,%, &,!

Điều này sẽ dẫn đến roughly 475,920,314,814,253,000,000,000 possible combinations to brute force

Vui lòng cung cấp các liên kết gần đây (giả sử năm năm qua) để sao lưu thông tin của bạn.


3
Làm thế nào là điều này không mang tính xây dựng, @random?
Dan Dascalescu

Câu trả lời:


28

Điểm yếu của mã hóa cũ là do điểm yếu của thuật toán mã hóa được chọn .

Ngày nay, người ta có thể sử dụng mã hóa cấp công nghiệp thông qua ' AES ', được sử dụng ở mọi nơi (và đang bị tấn công nặng nề nhưng vì nó có vẻ khá khó để tấn công). Như trang web bạn đã trích dẫn đã nêu: điểm yếu nhất nằm ở cụm mật khẩu và các quy tắc bạn đề cập đặc biệt là giải quyết vấn đề đó.

Các quy tắc của luận án không áp dụng cho cụm mật khẩu cho mã hóa cũ, vì bản thân mã hóa cũ đó rất yếu, bất kể bạn có chọn mật khẩu tốt hay không.

Tuyên bố "sự cố đã được xóa do ..." là không đúng, vì giải pháp thực sự để mã hóa các tệp ZIP an toàn là chọn thuật toán mã hóa mạnh VÀ mật khẩu mạnh. Mật khẩu mạnh nhất không có giá trị gì nếu thuật toán mã hóa yếu.

Đọc thêm http://www.info-zip.org/FAQ.html#cryptohttp://www.topbits.com/how-can-i-recover-a-zip-password.html


2
Một số hiểu biết tốt và liên kết. Nhưng bạn đã thực sự trả lời câu hỏi của tôi? Có một chút không rõ ràng.
Nifle

Tôi nghĩ đó là: a) bây giờ bạn có thể chọn một cypher mã hóa tốt hơn (aes256 thay vì pkzip-homebrew-anything) và b) tôi đã nói rằng vấn đề không được loại bỏ bằng cách chọn một mật khẩu tốt hơn mà bằng cách chọn một mật khẩu tốt hơn (xem một )).
akira

3
@Nifle, nó đã làm. Mã hóa zip là xấu vì thuật toán là rác. Trong các phiên bản mới hơn của zip, giờ đây bạn có thể chọn từ thuật toán an toàn hơn. Miễn là bạn chọn một trong các thuật toán bảo mật, thì bảo mật không tệ hơn các sản phẩm tương tự khác. Các vấn đề bảo mật tiêu chuẩn như lựa chọn cụm mật khẩu và triển khai sang một bên. tức là chuỗi yếu nhất không còn trong thuật toán được sử dụng.
KTC

Có một điều bạn bỏ qua khi đề cập, đó là AES là một mật mã khối và chỉ có thể mã hóa các khối dữ liệu có độ dài cố định. Do đó, để mã hóa các tập tin dài hơn, các sơ đồ ưa thích đã được phát triển để tạo khóa mới cho mọi khối. Thật không may, các nhà phát triển đôi khi bỏ qua điều này và làm cho phần mềm của họ mã hóa mọi khối bằng các khóa giống nhau, xem [ en.wikipedia.org/wiki/Codes-block_chained]
Eroen

@Eroen: nhìn vào câu hỏi .. hows bình luận của bạn liên quan đến điều đó?
akira

-3

Mã hóa đối xứng có vấn đề. Thật tốt và tốt khi nói, "Chỉ cần sử dụng Waq3 $ f ^ t> p ~ 6pWr làm mật khẩu của bạn, và bạn vẫn ổn!" nhưng bạn đang để lại một cánh cửa lớn mở ra cho kỹ thuật xã hội và sự bất cẩn của người dùng.

Vì vậy, theo giả thuyết , giả sử mật khẩu hạng nhất, bạn sẽ ổn khi sử dụng các chương trình zip được mã hóa khóa đối xứng cung cấp các thuật toán mã hóa đã được chứng minh , nhưng trong thế giới thực, sự phụ thuộc vào độ mạnh của mật khẩu là một điểm yếu rất lớn.

@Akira: Tôi đã không nói nó là xấu , tôi đã nói nó có vấn đề và nó là. Với mã hóa khóa công khai (không đối xứng), bạn có mức bảo mật không đổi. Nếu bạn có khóa 1024 bit, dữ liệu của bạn được mã hóa 1024 bit.

Với mã hóa khóa đối xứng, bạn có thể có bảo mật thần thánh (mật khẩu 1024 ký tự) hoặc bảo mật vô giá trị (mật khẩu 1 ký tự) và bạn không có quyền kiểm soát nào mà bạn sẽ kết thúc.

(Lưu ý: Tôi không buồn nói về các khóa bị xâm nhập vì điều đó ảnh hưởng đến cả hai phương pháp như nhau)

@Nifle: Đồng ý. Trao đổi khóa là vấn đề với tiền điện tử khóa công khai, nhưng đó là một phương pháp đáng tin cậy hơn nhiều. Tôi có xu hướng đề xuất chống lại mã hóa khóa đối xứng bởi vì nó khiến mọi người nghĩ rằng chúng an toàn, khi chúng có thể không.

@Akira: Không chắc chắn những gì bạn đang nói về, thẳng thắn. Chỉ vì các khóa riêng thường được bảo mật bằng cụm mật khẩu vì một biện pháp bảo vệ bổ sung không có nghĩa là mã hóa đối xứng / bất đối xứng là "sử dụng các khóa đối xứng để mã hóa thực sự". Mã hóa bất đối xứng sử dụng hai khóa khác nhau : một để mã hóa, một khóa để giải mã. Và việc gọi dầu rắn mã hóa bit cao hơn là không rõ ràng nhất: nếu đó là trường hợp thì aes128 sẽ giống như aes256.

Và so sánh một miếng đệm một lần với bất kỳ loại tiền điện tử máy nào sẽ hiển thị loại thiếu hiểu biết tồi tệ nhất. Chúng an toàn vì chúng là tiếng ồn ngẫu nhiên thuần túy của loại máy tính mà bản chất của chúng không thể tạo ra. Bạn đang nói rằng, bởi vì một loại mã hóa khóa đối xứng là an toàn, nên tất cả các loại mã hóa khóa đối xứng đều an toàn, đó là một sai lầm hoàn toàn. Và tệ hơn nữa, bạn đang cố gắng chống lại mã hóa bất đối xứng khi họ gặp vấn đề trao đổi khóa CHÍNH XÁC!


1
@satanicpuppy: vấn đề duy nhất với mã hóa đối xứng là trao đổi khóa. và đó chính xác là những gì mã hóa không đối xứng giải quyết: trao đổi khóa. không phải là phần "mã hóa đối xứng là xấu".
akira

Thật không may trao đổi khóa công khai với đồng nghiệp và khách hàng là một nhiệm vụ không hề nhỏ. Vì vậy, mã hóa đối xứng luôn ở đây cho đến khi Microsoft bao gồm hỗ trợ cho một số hương vị PGP nguyên bản (và theo mặc định) trong Outlook.
Nifle

@satanicpuppy: gpg chỉ mã hóa các khóa đối xứng thông qua mã hóa không đối xứng, nó sử dụng các khóa đối xứng cho mã hóa thực. mã hóa tốt nhất bạn có thể nhận được là mã hóa một lần .. đó là mã hóa đối xứng. vì vậy, đừng rơi vào bẫy của các khóa-bit-bit-bit-bit-rắn-dầu là bằng mọi cách an toàn hơn các cyphers đối xứng hiện đang sử dụng như aes256, v.v. các khóa không đối xứng thường được bảo mật bằng mã hóa đối xứng (cụm mật khẩu) .. .
akira

@Nifle: chính xác.
akira

@satanicpuppy: "GnuPG là một chương trình phần mềm mã hóa lai ở chỗ nó sử dụng kết hợp mật mã khóa đối xứng thông thường cho tốc độ và mật mã khóa công khai để dễ dàng trao đổi khóa an toàn, thông thường bằng cách sử dụng khóa chung của người nhận để mã hóa khóa phiên Chế độ này chỉ được sử dụng một lần. Chế độ hoạt động này là một phần của tiêu chuẩn OpenPGP và là một phần của PGP từ phiên bản đầu tiên của nó "
akira
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.