Security 具有passwd安全性的Zip文件?

Security 具有passwd安全性的Zip文件?,security,Security,我们有基于客户端服务器的应用程序,它将用户相关数据保存到zip文件中,并通过编程将passwd设置为zip文件。只是想知道它是否可以被认为是安全的。 谢谢 N安全到什么级别?有一些程序可以很快破解zip文件上的密码加密,所以如果它必须承受任何努力,那么就没有了 如果只是为了确保有人能用密码打开它,并避开随意窥探的眼睛,那么也许吧 如果你想获得某种安全性,我会研究压缩数据,然后通过适当的加密软件(如gpg)运行数据。你应该问自己几个问题 您将zip文件存储在哪里 哪些权限与zip文件关联 密码是

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

安全到什么级别?有一些程序可以很快破解zip文件上的密码加密,所以如果它必须承受任何努力,那么就没有了

如果只是为了确保有人能用密码打开它,并避开随意窥探的眼睛,那么也许吧


如果你想获得某种安全性,我会研究压缩数据,然后通过适当的加密软件(如gpg)运行数据。

你应该问自己几个问题

  • 您将zip文件存储在哪里
  • 哪些权限与zip文件关联
  • 密码是强密码吗
通常,将用户数据存储到webroot之外的文件夹中是一个好习惯,不能直接访问。 密码生成器也可用,应该使用它们。

Zip文件的“经典”加密被认为很弱。通过已知的方法,它很快就会破碎。见:Biham和Kocher于1994年发表的论文原稿:“。是的,16年前

最近还描述了其他利用漏洞的行为,例如,论文 说一个经典的zip加密文件有3个条目,由WinZip创建,可以在“奔腾”上在2小时内破解。这是基于利用当时的WinZip v9.0工具中的随机数生成器的一个弱点。我敢肯定,在当前的处理器上,它会运行得更快,但同时,我敢肯定WinZip,现在是v12.0,已经在他们的随机数生成器中修复了这个问题。尽管如此,即使没有特定的WinZip-v9漏洞,经典的ZIP加密仍然很弱

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

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

您没有提到用于以编程方式生成zip文件的库。如果使用DotNetZip,则在C#中生成AES加密的ZIP文件非常简单:

using (var zip = new ZipFile()) 
{
   zip.AddFile("MySensitiveFile.doc");
   zip.Encryption = EncryptionAlgorithm.WinZipAes128; 
   zip.Password = "Very.Secret!"; 
   zip.Save("MyEncryptedArchive.zip");
}

**注意:Yoshi发表了一篇题为“利用WinZip的AES加密来证明WinZip的AES加密不安全”的论文。然而,他所描述的这些成就依赖于社会工程或之前的妥协或两者兼而有之。例如,本文中描述的主要漏洞涉及攻击者拦截加密的zip文件,对其进行修改,将修改后的副本发送给其预期的收件人,让收件人尝试对其进行解密,然后将加密结果发送回攻击者,然后攻击者可以对原始文件进行解密。这种所谓的“利用”包括无数次信仰的飞跃,这是在先前截获的双向通信妥协的基础上形成的。没有人描述过Wizip AES的任何结构漏洞,与ZIP经典加密的开发相媲美。p>
使用7zip,这具有更好的密码安全性-同时勾选“加密文件名”选项

我的基本情况与OP相同,我们希望确保用户无法访问机器上的zip文件,即使软件在他们的机器上运行。在这种情况下,难道他们不能简单地对可执行文件进行反编译以获得“Very.Secret!”密码吗?我们目前只使用“经典”加密的密码保护压缩,并希望开始使用DotNetZip。@PaulBrown-是的,如果您将密码硬编码到生成压缩的程序中,这是一个风险。通常这不是问题。在典型的设计中,zip创建应用程序会要求用户输入密码,仅在创建zip时使用该密码,然后丢弃密码。在这种情况下,反编译exe将无法检索密码。如果您无法向用户询问密码,那么您可以用另一个类似的步骤来代替,例如,通过REST调用“询问”远程密码生成器以获得密码,然后使用该密码。“我们希望确保用户无法访问机器上的zip文件,即使软件在他们的机器上运行。”如果文件名未加密,是否会削弱存档?(除非你能看到名称)@Julianemailde visible filename可能会提供线索,帮助对文件本身进行字典式攻击