穿越时间·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 检验 工具 是什么?SHA1检验工具的作用是校验你的SHA1的HASH值的,文件被保存下来就有这个值,原始文件在网络传输前被生成的原值,经过网络传输以后如果文件有所损坏原值可能发生变...
安卓手机如何验证 sha1 码?在安卓手机上验证SHA1码非常简单。SHA1码通常用于验证应用程序的完整性或数字签名。以下是验证SHA1码的步骤:1.首先,在安卓手机上打开你要验证的应用程序的...
云盘的 sha1 是什么?SHA1是一种安全算法,主要用来验证数据的完整性。对于从网上下载文件时,它是非常重要的,SHA1可以验证您下载的文件是是不是你所期望下载的文件。软件作者通常...
如何 校验 win10系统镜像 sha1 码?校验Windows10系统镜像的SHA1码可以使用以下步骤:1.下载Windows10系统镜像:从Microsoft官方网站下载Windows10系统镜像。2.计算镜...
下载win7是提及 SHA1 是什么-ZOL问答SHA1是MD5校验器计算出来的一个数值,用来校验原文件是否与下载的文件相同。(因为每个文件都有一个唯一的SHA1值)安全哈希算法(SecureHashAlgorithm)主要适用...
MD5 校验 和 sha1 、2,CRC 校验 (除了算法不同,sha比MD5更安全之外)还有什么区别?md5,sha1,sha256属于密码级散列函数,算法相对比较复杂,参与加密算法的过程中时也比较安全。crc只是专用的校验散列函数,算法相对比较简单。安全级别不同也...
sha1 sha256有什么用?SHA1和SHA256是一种加密算法,用于保护数据的安全性。SHA1算法可以生成一个160位的哈希值,SHA256算法可以生成一个256位的哈希值。这些哈希值可以用于验证数据...
Md5是什么?MD5怎么校验?Md5 校验工具 怎么用?世界上没有完全相同的2片叶子”,因为MD5是一种不可逆的加密算法。MD5怎么校验?Md5校验工具怎么用1、运行MD5校验工具,点击”浏览”选项,可以浏览添加你...MD5...
服务器证书 SHA1 和SHA2算法有和区别?SHA1算法是为了兼容部分低版本的服务器,而在几年前SHA1算法逐渐淘汰,由于发展,SHA1算法已经满足不了安全需求,从而有更高版本SHA2替代。SHA2算法的证书更加安...
chd文件提示 校验码 不对怎么办[回答]我不会用那些效验更新工具,用MAME里面检测到街霸3出现这样sfiii3:cap-33s-2-不正确的校验码:应为:SHA1(41b0e246db91cbfc3f8f0f62d98173...