it-swarm-vi.com

Làm thế nào an toàn là một tệp Zip được bảo vệ bằng mật khẩu Windows?

Tôi cần gửi một số thông tin nhạy cảm cho khách hàng. Tôi nghĩ rằng tôi sẽ gửi email một tệp Zip được bảo vệ bằng mật khẩu mà tôi đã tạo bằng Windows XP và sau đó gọi cho họ bằng mật khẩu. Giả sử tôi chọn một mật khẩu tốt, cách tiếp cận này an toàn đến mức nào? nó để giải mã một tập tin Zip được bảo vệ bằng mật khẩu?

40
Dave Aaron Smith

Khi tạo tệp Zip được bảo vệ bằng mật khẩu (với tiện ích "thư mục nén" được tích hợp trong HĐH), Windows XP sử dụng thuật toán mã hóa "tiêu chuẩn" cho các tệp Zip. Đây là mật mã luồng tự chế. và đó là yế . Với 13 byte bản rõ đã biết, độ phức tạp của cuộc tấn công là khoảng 238 hoạt động, có thể thực hiện trong vài giờ trên PC. 13 byte tương đối dễ lấy (ví dụ: nếu một trong các tệp trong kho lưu trữ là hình ảnh, nó có thể sẽ không bị nén và bắt đầu bằng một tiêu đề đã biết). Kết quả thậm chí đã được cải thiện , đáng chú ý là vì các tệp trong kho lưu trữ được mã hóa riêng biệt nhưng không có sự đa dạng hóa khóa thích hợp. Vài năm trước (khá nhiều bây giờ, tempus fugit), tôi đã thấy một phần mềm bẻ khóa mật khẩu bởi Ivan Golubev giúp khoa học này sử dụng tốt và có thể bẻ khóa Mã hóa zip trong một giờ.

Cuộc tấn công vào mã hóa Zip thực sự là:

  • một giới thiệu tốt đẹp về tiền điện tử;
  • một bài tập tốt trong lập trình;
  • một lời nhắc rằng bạn không nên cuộn tiền điện tử của riêng mình . Phil Katz rất giỏi trong lĩnh vực của mình, nhưng những người viết mật mã giỏi nhất thế giới sẽ nói với bạn rằng cần nhiều hơn một người viết mật mã cực kỳ giỏi để tạo ra một thuật toán an toàn - phải mất nhiều người viết mật mã sốt sắng đề xuất thiết kế và cố gắng phá vỡ thiết kế của những người khác, trong một vài năm, cho đến khi một thiết kế dường như mạnh mẽ xuất hiện (trong đó "mạnh mẽ" có nghĩa là "không ai có thể tìm thấy lập luận nhỏ nhất để hỗ trợ ý tưởng rằng họ có thể, có thể, tạo ra một vết lõm trong đó tại một số ngày không xác định ").

Bây giờ, nếu bạn sử dụng một công cụ hỗ trợ mã hóa dựa trên AES mới hơn, mọi thứ sẽ tốt hơn, miễn là định dạng và cách triển khai không bị phá hỏng và mật khẩu có đủ entropy. Tuy nhiên, các tệp Zip như vậy sẽ không được mở bởi stock WinXP Explorer.

Nếu một công cụ bên ngoài là bắt buộc, bạn cũng có thể dựa vào một công cụ đã được phân tích kỹ lưỡng để bảo mật, cả về đặc tả định dạng và việc triển khai; nói cách khác, như @ D.W. gợi ý: GnuPG .


Đối với tài liệu lưu trữ tự giải mã , tất cả đều sai, vì họ dựa vào người dùng thực hiện chính xác những gì không bao giờ nên làm, tức là khởi chạy một tệp thực thi mà anh ta nhận được qua email. Nếu anh ta does mở một kho lưu trữ tự giải mã mà bạn gửi cho anh ta, thì anh ta sẽ, bằng hành động này, chứng tỏ rằng anh ta dễ bị tổn thương bởi vô số virus/sâu/người đi lang thang trên Internet và có lẽ anh ta đã bị nhiễm nhiều phần mềm độc hại khác nhau, bao gồm cả keylogger.

Tuy nhiên, có một cách, trong tình huống cụ thể của bạn, để làm cho một kho lưu trữ tự giải mã hợp lý. Nó vẫn cần ứng dụng khách của bạn để cài đặt một phần mềm mới, nhưng ít nhất nó là trực tiếp từ Microsoft: Trình kiểm tra tính toàn vẹn tệp - một tên khoa trương cho một công cụ tính toán băm tập tin. Gửi kho lưu trữ tự giải mã cho khách hàng của bạn và yêu cầu anh ta lưu nó dưới dạng tệp ( không có thực thi nó, tất nhiên). Sau đó, yêu cầu anh ta chạy FCIV trên đó, để lấy hàm băm SHA-1 của tệp. Làm tương tự về phía bạn. Cuối cùng, so sánh hai băm bằng điện thoại (không khó để ra lệnh cho 40 ký tự thập lục phân). Nếu hai giá trị băm khớp nhau, thì khách hàng của bạn sẽ biết rằng tệp không bị sửa đổi trong quá trình chuyển và anh ta sẽ có thể thực hiện nó một cách tự tin.

(Nghĩa là, nếu khách hàng của bạn tin tưởng bạn và tin tưởng rằng của bạn máy không có đầy đủ vi-rút có thể đã lây nhiễm kho lưu trữ trên đường ra.)

46
Thomas Pornin

Đối với dữ liệu nhạy cảm, tôi sẽ hơi ngần ngại khi sử dụng kho lưu trữ Zip hoặc 7Zip được bảo vệ bằng mật khẩu. Các phiên bản hiện tại của mã hóa mà họ sử dụng chưa được nghiên cứu kỹ lưỡng hoặc hiệu đính bởi các nhà nghiên cứu độc lập. Các phiên bản cũ hơn của phần mềm có điểm yếu về bảo mật, đây là nguyên nhân nhẹ gây lo ngại. Các phiên bản mới hơn có thể ổn, nhưng vì chúng chưa được xem xét độc lập, tôi miễn cưỡng đặt nhiều niềm tin vào chúng. Lý tưởng nhất, một cái gì đó như GPG hoặc PGP là tốt hơn.

Xin lưu ý rằng mã hóa bằng mật khẩu có xu hướng yếu. Hầu hết mọi người chọn mật khẩu không có đủ entropy để an toàn trước tìm kiếm ngoại tuyến (ví dụ: tấn công từ điển, tìm kiếm toàn diện). Hơn nữa, mật khẩu dài và mạnh rất bất tiện khi sử dụng, cung cấp thêm một sự không tôn trọng đối với chúng.

Tôi khuyên bạn nên tránh gửi cho mọi người các tệp .exe tự giải nén. Đó là một rủi ro bảo mật. Khi bạn gửi cho mọi người các tệp .exe tự giải nén, bạn đang đào tạo họ để nhận tệp đính kèm .exe qua email và chạy nó. Đó là thực tế rất nguy hiểm, từ góc độ an ninh. Tôi nghĩ rằng thực tế rằng Zip và 7Zip khuyến khích thực hành này là một dấu hiệu coi thường bảo mật.

Nếu bạn phải sử dụng mã hóa dựa trên mật khẩu, tôi khuyên bạn nên : Sử dụng GPG hoặc PGP (ví dụ: gpg -c). Tính bảo mật của mã hóa GPG đã được nghiên cứu kỹ lưỡng và rất mạnh. Sử dụng mật khẩu dài và mạnh: ví dụ: sử dụng tiện ích để tạo mật khẩu ngẫu nhiên theo mật mã. Bạn muốn một mật khẩu dài khoảng 14-16 ký tự ngẫu nhiên, không có mẫu nào.

Đây có lẽ sẽ là lựa chọn dễ dàng nhất cho khách hàng của bạn sử dụng, nó cũng cung cấp sự bảo vệ mạnh mẽ.

Nếu bạn muốn bảo mật hơn, hãy lưu trữ dữ liệu được mã hóa trên CD hoặc DVD, sau đó gửi CD hoặc DVD bằng FedEx (thay vì qua email). Bằng cách đó, bạn có được hai lớp bảo mật: ai đó chỉ có thể đánh cắp dữ liệu nếu họ có thể truy cập vào đĩa CD hoặc DVD và nếu họ có mật khẩu để giải mã nó.

Nếu khách hàng của bạn gặp sự cố khi sử dụng PGP hoặc GPG, bạn có thể sử dụng phiên bản mã hóa mật khẩu Zip hoặc 7Zip gần đây. Trong trường hợp đó, tôi sẽ tránh một tệp .exe tự giải nén và có lẽ tôi sẽ có xu hướng gửi dữ liệu được mã hóa qua thư (trên CD hoặc DVD) hơn là qua Internet.

Cách khác : Nếu khách hàng của bạn am hiểu về kỹ thuật và bạn thường xuyên liên lạc với họ, một tùy chọn khác là cho họ sử dụng GPG hoặc PGP để tạo khóa công khai ngẫu nhiên, gửi cho bạn khóa công khai của họ và sau đó bạn có thể mã hóa dữ liệu theo khóa công khai của họ. Điều này sẽ cung cấp bảo mật mạnh mẽ hơn, nếu họ biết cách sử dụng GPG hoặc PGP. Tuy nhiên, nó ít trực quan hơn và do đó có lẽ không khả thi để gửi một phần dữ liệu cho một khách hàng trung bình.

6
D.W.

Không khó để giải mã một tệp Zip được bảo vệ bằng mật khẩu. Có rất nhiều ứng dụng ngoài kia để tìm ra mật khẩu hoặc chỉ cần xóa mật khẩu.

Điều lạ lùng là không ai sẽ chặn email giữa bạn và họ. Các máy chủ email công cộng có một lượng lớn dữ liệu chảy giữa chúng. Đặt mật khẩu vào email có lẽ là đủ tốt. Nếu bạn cần một cái gì đó an toàn hơn thì hãy xem mã hóa email mà tệp đính kèm được gửi qua, hoặc gửi tệp đến một vị trí thả an toàn như hộp thả (vâng tôi biết về vấn đề họ gặp phải vài tuần trước) và gửi chúng liên kết.

4
mrdenny

Tôi đã sử dụng các tệp Zip được bảo vệ bằng mật khẩu như một cơ chế mã hóa đặc biệt (mặc dù tôi thích sử dụng GPG khi có thể). Phần lớn được tạo từ phục hồi mật khẩu cho các tệp Zip, nhưng miễn là bạn đang sử dụng phiên bản hiện tại, mechansim phục hồi thực tế duy nhất là vũ lực. Tôi tin rằng cả 7-Zip và Winzip đều hỗ trợ AES-256. Nếu khách hàng của bạn đã có Winzip, tôi sẽ sử dụng nó (chỉ cần đảm bảo rằng bạn sử dụng AES chứ không phải mã hóa "Di sản").

Khía cạnh quan trọng nhất của việc sử dụng này là mật khẩu của bạn (tôi muốn giới thiệu một cụm mật khẩu, ít nhất 16 ký tự, ném vào một số ký tự đặc biệt). Cụm mật khẩu có ưu điểm là lực lượng vũ phu rất khó và bạn có thể trao đổi nó qua điện thoại một cách dễ dàng.

Đây không phải là một cơ chế hoàn hảo, nhưng nó có thể đủ tốt cho mục đích của bạn (tùy thuộc vào độ nhạy cảm của dữ liệu).

4
Andrew

Với GTX 295 kép, mật khẩu 4 ký tự có thể được phục hồi trong vòng một giờ.

http://is.hut.vn/~phongph/uploads/publications/1277074631.pdf

1
Jodie C