穿越时间·Windows 1x操作系统镜像效验SHA1集合
It's going to open your eyes.
Windows 1.01
安装介质共5张5.25英寸360KB软磁盘,其SHA1值效验
Disk01 - Setup Disk.img
SHA1: 7075BFA3AF2A18D3D680D779630AACE7E31F5BF9
Disk02 - Build Disk.img
SHA1: D783941A437B942A7796556702DD2C584C8A3487
Disk03 - Utilities Disk.img
SHA1: D239D74AB3A082C5129BB6237B58E5A5B0D5FD81
Disk04 - Desktop Applications Disk.img
SHA1: D77C4991F31875572CA0DD9226C81202B3B63BAB
Disk05 - Write Program Disk.img
SHA1: C964FEED584A52B52C431D03308B960F36543F20
Windows 1.02
操作系统的安装介质共6张5.25英寸360KB软磁盘,但是磁盘5和磁盘6可能存在损坏扇区,导致现有镜像文件的SHA1值出现差异,然而损坏扇区并未存放安装文件,因此不影响Windows 1.02操作系统的实际安装。
比对值:
SHA1:c80d053ad34c49c6fa07be018c49271d4f87f1a8 / DISK01
SHA1:274b531a474cf82c5018c52553f 32457f956023a / DISK02
SHA1:e91009a2812a877e835d787c66cfcd289e5f3d64 / DISK03
SHA1:badef9256878317b87c44900c767de7f2b6183ee / DISK04
SHA1: 20e82e8128cb3b2ba5f4458b9cf947b39dc4fb2f / DISK05
SHA1:7a5171c160e8b5f9b493d019b8fe47e23ce937bc / DISK06
实际值:
Disk01 - Setup Disk.img
SHA1: C80D053AD34C49C6FA07BE018C49271D4F87F1A8
Disk02 - Build Disk.img
SHA1: 274B531A474CF82C5018C52553F32457F956023A
Disk03 - Utilities Disk.img
SHA1: E91009A2812A877E835D787C66CFCD289E5F3D64
Disk04 - Desktop Applications Disk.img
SHA1: BADEF9256878317B87C44900C767DE7F2B6183EE
Disk05 - Fonts Disk.img
SHA1: 3D60C2DC18CA067DC57F10B5AF418F7D81B55BC6
Disk06 - Write Program Disk.img
SHA1: 1132721C413609D8C70D65B6DABA339CC9D540F7
镜像安装并没有错误,Windows 1.02可以正常运行。
Windows 1.03
Windows 1.03的安装介质也为6张5.25英寸磁盘,这里所保存的是1986年8月24日(1986/8/24)的版本。
镜像文件的SHA1值为:
Disk01-Setup Disk.img
SHA1: 97A1824ECB76CBAA60A0B3830FCDCD2A0682DFC8
Disk02-Build Disk.img
SHA1: D8E9459AFA5D2FAC2B97E4B828B406F5907084FA
Disk03-Utilities Disk.img
SHA1: 3AC982E78E4ADD5DB22E070F2D32DCD2089563C6
Disk04-Fonts Disk.img
SHA1: B82FA8B4A4EC6828D5CF64BEA98D5D2B7C09B7A7
Disk05-Desktop Applicationa Disk.img
SHA1: 77A97D10925401A7980379A26D831D1A062397C5
Disk06-Write Program Disk.img
SHA1: 7FC7F45AAC4F896DBBE1F8A7BF0F95273FA2C7D4
除了上述1986年8月24日版本,Windows 1.03还有一个1986年8月21日版本,二者同为6张5.25英寸磁盘,不同之处在于Disk02中的user.exe文件。
8月21日版本中user.exe文件为1986/5/22 3:49:52,大小122416字节,镜像文件效验:SHA1:67f4fa933b7747454d5539951f17a11eeb7862e7;
8月24日版本中user.exe文件为1986/8/24 15:57:02,大小122432字节,镜像文件为上述Disk02-Build Disk.img ,镜像文件效验SHA1: D8E9459AFA5D2FAC2B97E4B828B406F5907084FA。
Windows 1.04
Windows 1.04的安装介质共有7张,此处为1987年5月11日版本的SHA1效验
Disk01 - Setup Disk.img
SHA1: AF1846492CEDA98B80507940DEDC8E8312C04C5B
Disk02 - Build Disk.img
SHA1: 4052D4CAB6AECE95E8CB61F02CEEDB2424C4A61B
Disk03 - Utilities Disk.img
SHA1: A482648122EE6F45FA4DAA3C85F6D490B08C3CB1
Disk04 - Fonts Disk.img
SHA1: FE614D9B031BEE04C518702035FBA20D3E29C0C7
Disk05 - Desktop Applications Disk.img
SHA1: ED37CFF589928C1D386F31D04EE0BBB7F9ED741C
Disk06 - Write Program Disk.img
SHA1: 8925EDBC5F1A27078967CC21C9C3C9FD652450AC
Disk07 - Printer Disk.img
SHA1: 40E0EBCEC1F830AFEC6303D2825F520F41355DFC
除上述版本之外,1987年4月还有一个较早版本,Disk05、Disk06与上面不同(其余几张磁盘的效验值一致),具体如下:
SHA1:ff95c2c5ca2d28d168e6ecebbd00e919be0f8c29 / DISK5.IMG
SHA1:729c4ea69708654c53c3c9c3a2e0b4ee5f04c1b9 / DISK6.IMG
由于1987年微软使用了新的品牌商标字体,因此可以看到Windows 1.04中的Microsoft商标与前三个版本是不一样的,而这一Helvetica Italic Black 字体的Microsoft在微软历史上使用了24年。
SHA-1已被攻破:使用选择前缀冲突可以成功突破PGP信任网络
最近密码学家盖坦.勒伦(GaëtanLeurent)和托马.佩林(Thomas Peyrin)宣布已经对SHA-1成功计算出第一个选择前缀冲突并对利用相关成功撰写了论文。这表明了SHA-1哈希已经被完整而实在的攻破,如果还在使用该哈希函数,将带来具有严重的风险:所有适用于MD5的攻击现在也适用于SHA-1。下面我们一起来看看他们的研究和结论。
SHA-1选择前缀冲突研究
我们都知道针对SHA-1的碰撞攻击,之前早有谷歌团队于2017宣布可操作的生成冲突的技术,并证明攻击的方法,但是该攻击依赖了谷歌大规模计算群并不具备通用性,而且时间和成本较大。
这次由盖坦.勒伦(GaëtanLeurent)和托马.佩林(Thomas Peyrin)主导的研究则利用SHA-1选择前缀冲突,极大提高了SHA-1攻击效率,将加速因子提高了大约10倍。研究使用GTX 970 GPU计算条件下碰撞攻击的成本从2^64.7降低到26^1.2,选择前缀碰撞攻击的成本从2^67.1降低到2^63.4 。
通过改进,实施了整个选定的前缀冲突攻击。这种攻击是非常具有技术性的,包含许多细节,各个步骤,并且需要大量的工程工作。为了节省成本、以较少的学术预算进行计算,他们从GPU serversrental租用了下便宜的游戏或采矿GPU,没有使用大型云提供商的数据中心级硬件。在19年夏天,已经使用900个GPU(Nvidia GTX 1060)计算了两个月。计算结果表明现在以64位安全级别破解密码(即计算264个对称密码的操作)的成本不到10万美元。
PGP/GnuPG模拟和攻击示例
他们选择了PGP/GnuPG信任网络来演示SHA-1的前缀冲突攻击。 "Web of Trust"是PGP的信任模型,该模型依赖用户彼此签名的身份证书,而不是使用中央PKI。出于兼容性原因,默认情况下,GnuPG(1.4版)的旧分支仍默认使用SHA-1进行身份认证。使用SHA-1选择前缀冲突,创建了两个具有不同UserID和冲突证书的PGP密钥:密钥B是Bob的合法密钥(由Web of Trust签名),但是签名可以转移伪造的Alice ID签名的密钥A。由于哈希冲突,该签名仍然有效,这样Bob可以用Alice的名字控制密钥A,并通过第三方签名。因此,Bob可以冒充Alice,并以她的名字签署任何文件。
示例
研究创建了一个带有前缀99040d047fe81780012000和99030d047fe81780011800(以十六进制表示)的选择前缀冲突。大家可以下载以下两条消息,并使用sha1sum工具验证其哈希值:
messageA(sha-mbles.github.io/messageA)
messageB(sha-mbles.github.io/messageB)
sha1sum验证:
sha1sum messageA && sha1sum messageB
8ac60ba76f1999a1ab70223f225aefdc78d4ddc0 messageA
8ac60ba76f1999a1ab70223f225aefdc78d4ddc0 messageB
已选择前缀来构建两个具有冲突SHA-1认证签名的PGP公钥。可以在下载以下两个具有不同用户名的示例密钥,并使用pgpdump -i检查它们,以查看由0xAFBB1FED6951A956发出的SHA-1签名是否相同:
alice.asc(sha-mbles.github.io/alice.asc)
bob.asc(sha-mbles.github.io/bob.asc)
为了避免恶意使用,密钥的创建日期很远。如果要使用pgp分析它们,则可以使用--ignore-time-conflict --ignore-valid-from选项,可以给命令前添加falsetime @2145920400作为前缀)。
相关系统漏洞情况
GnuPG
在2019年5月9日以及GnuPG开发人员讨论了这种攻击,并在2019年10月1日将新发现的选定前缀冲突发出通知。问题的CVE编号为CVE-2019-14855。 GnuPG 2.2.18版(2019年11月25日发布)中包含的edc36f5提交中已采取策略:对2019-01-19之后基于SHA-1创建的身份签名视为无效。
CAcert
CAcert是PGP密钥的主要CA之一。在公共密钥服务器上,有大量带有CAcert最新SHA-1签名的密钥。在12月14日通过电子邮件联系,并在1月6日收到确认此答复。CAcert正计划切换到用于密钥认证的安全哈希功能。
OpenSSL
已于12月14日联系OpenSSL开发人员。已经在安全级别1(定义为80位安全性)禁用SHA-1。由于安全级别1是默认配置,该设置可以防止SHA-1用于证书和握手签名。Debian Linux先前已在最新版本(Debian Buster)中将默认配置设置为安全级别2(定义为112位安全),可以防止危险使用SHA-1。
相关问题
前缀选择冲突
哈希函数H的经典冲突(或相同前缀的冲突)只是两个消息M和M',它们导致相同的哈希输出:H(M)= H(M')。即使此安全概念在密码学中很重要,但在实践中利用经典冲突进行攻击仍然是困难的。虚构的选择前缀的冲突是一种更受约束(且更难获得)的冲突,其中首先给攻击者以两个消息前缀P和P'作为挑战,然后他的目标是计算两个消息M和M ',使得H(P || M)= H(P'|| M'),其中||表示串联。这样,可以任意选择前缀(因此可能包含一些有意义的信息),攻击者也可以获取冲突。如果数字签名方案中使用哈希函数时,安全风险巨大。
SHA-1使用情况
在最近几年,SHA-1的使用已大大减少;尤其是Web浏览器现在拒绝使用SHA-1签名的证书。但是,许多应用程序仍支持SHA-1签名。SHA-1是用于在GnuPG的旧有分支中认证PGP密钥的默认哈希函数,签名已被GnuPG的现代分支所接受。许多非Web TLS客户端也接受SHA-1证书,并且TLS和SSH中的协议内签名仍允许使用SHA-1。即使实际使用率较低(约1%),这也会形成安全威胁,因为中间相遇的攻击者会先将连接降级为SHA-1,然后伪造证书攻击。SHA-1也是Git版本控制系统的基础。还有许多鲜为人知或专有的协议仍在使用SHA-1,但这很难评估。
攻击成本
研究通过在线租用GPU集群,对SHA-1进行的整个所选前缀冲突攻击,耗费总共约7.5万美金。但是,在进行计算时没有特别优化,不是最佳算法实现。并且为了研究浪费额外的计算时间。如果去除这些影响,目前可以把攻击成本控制到4.5万美元。随着计算成本持续快速下降,预计到2025年在SHA-1上生成选定前缀冲突攻击的成本应该能降低到1万美元。
已有的SHA-1的碰撞攻击
在2017年SHA-1已经发生过计经典碰撞攻击,但是与选择前缀冲突攻击大不相同,后者可以对任何前缀对进行挑战,这在实践中会导致更为严重的影响。
针对SHA-1选择前缀冲突攻击
研究者已经宣布了一种新的选择的前缀冲突攻击,并且已在Eurocrypt 2019大会上发布了。攻击已经现在已经做了改进,可以在一定成本下进行攻击,并且编写了针对SHA-1的选定前缀冲突攻击的实际实现。为了避免被恶意利用会将等待一段时间后再发布相关的代码。
研究论文为eprint.iacr.org/2020/014.pdf,大家可以下载学习。
总结
影响
任何希望从SHA-1获得耐碰撞性的用途都具有很高的风险。可能受所选前缀冲突直接影响一些案例:
如果第三方生成和使用SHA-1密钥认证,则可以伪造PGP密钥
如果某些证书颁发机构颁发具有可预测序列号的SHA-1证书,则X.509证书可能会被破坏。
经典冲突和选择前缀冲突不会威胁SHA-1所有使用场景。比如,HMAC-SHA-1似乎相对安全,并且直到今天,SHA-1的原像抵抗性(即反转哈希函数的能力)仍然保持不变。但是建议在所有地方都弃用SHA-1,即使还没有证据可以直接利用。
建议
产品中避免使用SHA-1,对已经使用的,尽快升级换用SHA-256或SHA-3或者ECDSA。
SHA-1破解已经有15年,因此没有充分的理由在现代安全软件中再使用该哈希函数。随着时间的流逝,攻击只会变得越来容易,密码分析工作的目标是警告用户,以便他们可以在攻击变得实用之前就弃用算法。
相关问答
sha1校验工具 做什么的?什么意思?-ZOL问答sha1校验工具做什么的?什么意思?举报2人讨论2070次围观关注问题写回答讨论回答(2)AZ131374126用来检验文件是否被修改过有用(0)回复sbuqf168推荐你.....
sha1 怎么解压?当托管一个要下载的文件时,有时开发人员还会提供一个.SHA1文件,用户可以使用该文件来验证该文件是否可信且未损坏。改变文件的任何属性,都将使得SHA1值变化,...
原版的 win7 sp1 旗舰 的 md5 或者 sha1 ,是多少呢?谢谢-ZOL问答SHA1:2CE0B2DB34D76ED3F697CE148CB7594432405E23CRC32:69F54CA4(我现在用的是img格式专业版)有用(0)回复zx115983513...
sha1 格式啥样的?对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变...
验证 SHA1 是什么意思?验证SHA1是一种安全算法,主要用来验证数据的完整性。对于从网上下载文件时,它是非常重要的,SHA1可以验证您下载的文件是是不是你所期望下载的文件。软件作者...
下载win7是提及 SHA1 是什么-ZOL问答SHA1是MD5校验器计算出来的一个数值,用来校验原文件是否与下载的文件相同。(因为每个文件都有一个唯一的SHA1值)安全哈希算法(SecureHashAlgorithm)主要适用...
先用md5,再用 sha1 ,这样密码会安全一点吗?谢谢邀请!MD5与SHA-1都是加密工具也都被称作哈希(Hash)函数,哈希函数可以把任意长的输入数据计算成固定的长度。MD5和SHA-1是两种加密用哈希函数,MD5的返回值...
下载系统时有md5和 sha1 是什么意思?就是一个校验值,相当于这个文件的指纹之类的东西,如果你下下来的这个651M的文件sha1、md5、crc32值跟这个不一样的话,说明你下的那个文件是错误的或者是假的。...
为什么复制文件之后,文件的 校验值 (MD5、 SHA1 或CRC32)会改变...[回答]如果文件没有被更改,副本校验值是不会更改的。所以情况有可能入弦乐小夜曲所说,有可能是文件系统格式的改变造成副本校验值改变的。请尝试在本地进...
windows7中 SHA1 有什么用?装win7要用到吗?对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接收到消息的时候,这个消息摘要可以用来验证数据的完整性。在传输的过程中,数据很可能会发生变...