0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

加密的 ZIP 文件可能存在两个密码?

马哥Linux运维 来源:马哥Linux运维 作者:马哥Linux运维 2022-09-20 10:25 次阅读

Positive Technologies 的网络安全研究员 Arseniy Sharoglazov 近日在社交平台分享了一个简单的实验并指出,加密的 ZIP 文件可能存在两个正确的密码,并且都可以提取出相同的结果。

“创建 ZIP:7z a http://x.zip/etc/passwd -mem=AES256 -p

使用这个密码:Nev1r-G0nna-G2ve-Y8u-Up-N5v1r-G1nna-Let-Y4u-D1wn-N8v4r-G5nna-D0sert-You提取它:7z e http://x.zip

使用这个密码:pkH8a0AqNbHcdw8GrmSpMagic!”

Sharoglazov 制作了一个名为 x.zip 的受密码保护的 ZIP 文件,选择的密码是 1987 年的热门英文歌曲的双关语:

Nev1r-G0nna-G2ve-Y8u-Up-N5v1r-G1nna-Let-Y4u-D1wn-N8v4r-G5nna-D0sert-You

但实验结果表明,当他使用一个完全不同的密码(pkH8a0AqNbHcdw8GrmSp)提取 x.zip 时,不会收到任何的报错信息

056a108c-3822-11ed-ba43-dac502259ad0.jpg

对此,BleepingComputer 使用不同的 ZIP 程序成功地对该实验进行了复现。该网站使用了 p7zip(相当于 macOS 的 7-Zip)和另一个叫 Keka 的 ZIP 工具,与 Sharoglazov 一样在创建时采用了较长的密码,并启用了 AES-256 加密模式。结果表明,虽然 ZIP 使用较长的密码加密,但使用任一密码都能成功提取了存档。

一些网友在 Sharoglazov 的动态下针对该实验进行了讨论,一位 ID 为 Unblvr 的用户指出,造成这个结果的原因可能在于:

ZIP 使用 PBKDF2,如果输入太大,它会 hash 输入 。该 hash(作为原始字节)成为实际密码。尝试使用 SHA1 对第一个密码进行 hash,并将十六进制摘要解码为 ASCII.。. :)

在启用 AES-256 模式生成受密码保护的 ZIP 存档时 ,如果密码太长,ZIP 格式会使用 PBKDF2 算法并对用户提供的密码进行 hash 处理。在这种情况下,这个新计算的 hash 将会成为文件的实际密码。研究人员解释称,太长是指超过 64 个字节(字符)。

当用户试图提取文件,并输入一个超过 64 字节的密码时,用户的输入将再次由 ZIP 应用程序进行 hash,并与正确的比较密码(现在本身就是一个 hash)。如果匹配,将可以成功进行文件提取。

示例中使用的替代密码 pkH8a0AqNbHcdw8GrmSp 实际上是较长密码 SHA-1 hash 的 ASCII 表示。Nev1r-G0nna-G2ve-。.. 的 SHA-1 checksum = 706b4838613041714e62486364773847726d5370。此校验和在转换为 ASCII 时产生:pkH8a0AqNbHcdw8GrmSp。

但是值得注意的是,在加密或解密文件时,仅当密码长度大于 64 个字符时才会进行 hash 处理。换句话说,较短的密码在压缩或解压缩 ZIP 的任何阶段都不会出现这种情况。这也是为什么在加密阶段选择长的 “Nev1r-G0nna-G2ve-。..” 字符串作为密码时,ZIP 程序设置的实际密码实际上是该字符串的 (SHA1) hash。

如果在解密阶段输入 Nev1r-G0nna-G2ve-。..,它将被 hash 并与之前存储的密码(即 SHA1 hash)进行比较。但是,在解密阶段输入较短的 “pkH8a0AqNbHcdw8GrmSp” 密码将使应用程序直接将此值与存储的密码(也就是 SHA1 hash)进行比较。

“当使用 HMAC 作为其伪随机函数时,PBKDF2 有一个有趣的特性。可以轻松地构造任意数量的不同密码对,每对密码对都存在冲突。如果提供的密码长于底层 HMAC hash function 的块大小,则首先要将密码 pre-hashed 成一个 digest,然后将该 digest 作为密码使用。”

不过,同一个 ZIP 有两个可能的密码这一事实并不代表存在有安全漏洞;因为生成密码的 hash 的前提是需要知道原始密码。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 密码
    +关注

    关注

    8

    文章

    185

    浏览量

    30259
  • 压缩
    +关注

    关注

    2

    文章

    99

    浏览量

    19256
  • 应用程序
    +关注

    关注

    37

    文章

    3132

    浏览量

    56362

原文标题:加密ZIP文件可以存在两个正确的密码

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何在Java中加密和解密zip文件

    在本文中,我们来学习如何用Zip4j库创建受密码保护的压缩文件并将其解压。 依赖 让我们先把 zip4j 依赖关系添加到我们的 pom.xml 文件
    的头像 发表于 10-08 11:48 1209次阅读

    怎样给文件加密码 #电脑小技巧

    电脑加密加密系统
    学习硬声知识
    发布于 :2022年11月02日 02:23:52

    文件加密U盘加密软件 迅影加密王2.0破解

    软件简介  文件夹u盘加密软件是采用最新(AES256位)国际高强度加密算法的加密软件,它可以在你的u盘上创建一保险柜,用户可以自己设置保
    发表于 09-09 12:46

    文件夹怎么加密

    种方法:方法一:右击文件夹--添加到压缩文件--高级 设置密码不要忘记密码,要不就打不开了 方法二:还是建议直接下载
    发表于 11-04 17:10

    超大文件夹快速加密码大法

    夹快速加密码大法告诉大家。我们首先到http://www.cksis.com/folderprotect/这个网址下载一文件夹保护3000的软件,这个软件的主要功能就是给文件
    发表于 12-03 17:18

    怎样加密文件

    用你的系统帐号登录就和没有加密一样了。第二种方法也是不需要密码,但是别人也有可能看到文件夹里面的内容。第三种需要压缩文件夹,比较麻烦一点。第
    发表于 12-12 15:50

    如何使用文件加密软件给文件加密

    加密文件,只有通过密码来访问!给文件加密的方法还是比较多的,你可以在百度上面搜索到很多,今天我就以一
    发表于 04-23 14:12

    下载下来的文件,都是加密的,请问密码是多少啊?

    下载下来的文件,都是加密的,请问密码是多少啊?
    发表于 09-25 10:08

    请问如何对配置文件加密

    做了一人员管理系统,账号和密码都用xml文件存在本地了,打开文件,所有账号密码一览无余。请问
    发表于 08-25 00:34

    分享:文件加密-如何快速加密文件

    的,首先,安装好软件,输入你的加锁/解锁密码。这个密码一定要牢记哦!!加密然后,找个你要加锁或是隐藏的大文件夹或文件。以下是小编需要
    发表于 12-15 16:02

    超级加密3000 12.21版-文件加密软件

    的数据。文件加密后,双击它,会弹出密码输入对话框,只有输入正确的密码才能打开该文件文件使用完毕
    发表于 01-22 15:05

    CAD中如何给DWG文件加密码

    加密码的方法很简单: 保存或另存文件时,在保存对话框的右上角有一个工具下拉菜单,点开此菜单,菜单最下面是安全选项,点开安全选项,就可以给DWG图纸设置密码了。 自己要是给
    发表于 10-23 17:01 964次阅读

    如何理解区块链密码学中的非对称加密

    当前密码学中的加密解密方式主要能分成两类,分别是对称加密和非对称加密。这两个加密体系的构成都是一
    发表于 11-29 11:36 2172次阅读

    密码保护Windows11上的文件文件夹应该如何操做

    保护Windows 11上的文件文件夹,需要执行以下操作: 1.右键单击​你想要密码保护的文件文件夹 2.单击属性 3.单击高级 4.选
    的头像 发表于 01-30 16:08 2247次阅读

    关于加密状态的zip压缩包

    但是该工具无法识别,就算文件扩展名改为.zip也不行,可能因为ARCHPR是很老的缘故了,不支持现在使用最新算法的加密包。
    的头像 发表于 09-21 11:05 1691次阅读