首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有密码安全性的Zip文件?

问带有密码安全性的Zip文件?
EN

Stack Overflow用户
提问于 2010-03-05 18:22:39
回答 4查看 5.7K关注 0票数 6

我们有基于客户端服务器的应用程序,将用户相关数据保存到zip文件中,并以编程方式设置密码到zip文件。只是想知道它是否可以被认为是安全的。感谢N

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-05 19:19:48

Zip文件的“经典”加密被认为是弱的。通过已知的方法,它很快就会被打破。参见: Biham和Kocher于1994年发表的原文"A Known Plaintext Attack on the PKZIP Stream Cipher“。是的,16年前。

最近,还有其他的漏洞被描述,例如,论文Yet another Plaintext Attack on ZIP's Encryption Scheme (WinZIP)说,由WinZip创建的具有3个条目的经典压缩加密文件可以在2小时内在“奔腾”上被破解。这是基于利用当时的随机数生成器WinZip v9.0工具中的一个弱点。我敢肯定,现在在当前的处理器上,它会运行得更快,但同时,我非常确定WinZip,现在在v12.0,已经在他们的随机数生成器中解决了这个问题。然而,即使没有特定于WinZip-v9的漏洞利用,传统的ZIP加密仍然很弱。

这种已被破解的弱zip加密也称为"ZIP 2.0加密“或"PKZIP加密”。

许多现代ZIP工具包还支持ZIP条目的AES加密。这被认为是高度加密的,并且非常安全(**参见注释)。XCeed和DotNetZip是三个这样的工具,它们支持使用这种加密级别读取和写入zip文件。在这三者中,DotNetZip是唯一的免费选项。

您没有提到用来以编程方式生成zip文件的库。如果您使用的是DotNetZip,那么在C#中生成一个AES加密的ZIP文件就像这样简单:

代码语言:javascript
复制
using (var zip = new ZipFile()) 
{
   zip.AddFile("MySensitiveFile.doc");
   zip.Encryption = EncryptionAlgorithm.WinZipAes128; 
   zip.Password = "Very.Secret!"; 
   zip.Save("MyEncryptedArchive.zip");
}

**注: Yoshi发表了一篇题为Attacking and Repairing the WinZip Encryption Scheme的论文,描述了WinZip的AES加密的漏洞,认为WinZip的AES加密是不安全的。然而,他所描述的漏洞依赖于社会工程或以前的妥协,或者两者兼而有之。例如,本文中描述的主要利用漏洞攻击涉及攻击者截获加密的zip文件,对其进行修改,将修改后的副本发送给目标收件人,让收件人尝试解密该文件,然后将加密结果发送回攻击者,然后攻击者可以解密原始文件。这种所谓的“利用”包括无数次的信念飞跃,堆积在之前截获的双向通信的妥协之上。没有人描述ZIP的任何结构漏洞,可以与WinZip经典加密的漏洞相提并论。

票数 13
EN

Stack Overflow用户

发布于 2010-03-06 09:38:38

使用7zip,它有更好的密码安全性--同时勾选‘加密文件名’选项

票数 2
EN

Stack Overflow用户

发布于 2010-03-05 18:27:16

安全到什么级别?有一些程序可以非常快速地破解zip文件的密码加密,所以如果它不得不承受任何形式的努力,那么就没有。

如果这仅仅是为了确保有密码的人可以打开它,并防止偶然的窥探,那么也许。

如果你想在一定程度上保证安全,我会考虑压缩数据,然后通过像gpg这样的合适的加密软件来运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2385964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档