校验 CentOS 7 镜像文件
验证镜像文件的原因
CentOS Vault(http://vault.centos.org/)页脚的镜像站链接上有段英文,指出页脚的镜像站链接不受 CentOS 团队的监控,除此之外还有一个原因就是镜像文件下载的过程中也有可能被篡改,通过文件校验可以保证你下载的镜像文件是完整、未被篡改的。
Tips:下面是我参考https://wiki.centos.org/TipsAndTricks/sha256sum总结出来的校验方法,因为处理镜像文件一般都是在windows环境下,所以这里我只介绍windows环境下校验镜像文件的方法。
文件校验(1)
首先需要对文件校验有一定认识,参考百度百科的部分介绍:
每个文件都可以用 MD5 验证程序算出一个固定的 MD5 码来。软件作者往往会事先计算出他的程序的 MD5 码并帖在网上。因此,在网上看到某个程序下载旁注明了 MD5 码时,可以把它记下来,下载了这个程序后用 MD5 验证程序计算你所下载的文件的 MD5 码,和你之前记下 MD5 码比较,就知道你下的是不是原版了,如果两者相同,那么你所下载的是原版。如果计算出来的和网上注明的不匹配,那么你下载的这个文件不完整,或是被别人动过手脚。
Tips:文件校验除了使用MD5,还使用sha1、sha256、sha512等算法。关于计算工具,这里我推荐MD5 & SHA Checksum Utility,下载链接:https://raylin.wordpress.com/downloads/md5-sha-1-checksum-utility/
校验CentOS 7.4 Everything镜像
MD5 & SHA Checksum Utility是一个可以直接运行的程序。
将CentOS 7.4镜像直接拖入这个工具,或者点击Browse选择。
大概几分钟之后就可以计算出CentOS 7.4镜像的MD5、SHA1、SHA256、SHA512值,左侧可以取消选中不需要计算的的值,减少计算时间。
打开CentOS Vault的CentOS 7.4目录,虽然CentOS Vault的ISO不能够下载(点击会跳转到镜像站),但是sha1.sum.txt、sha1sum.txt.asc等文本文件是可以下载的。
这里也不用下载下来,直接点击就可以在浏览器中打开你想要验证方式的txt文档。这里我选择的是sha256的校验方式,将sha256sum.txt中CentOS-7-x86_64-Everything-1708.iso前面那串无规律的数字(也就是Everything的sha256值)复制。
粘贴至红框处,点击Verify。
校验成功,如图所示
校验失败,如图所示
Tips:sha1的校验方式类似。
这里不使用美国镜像站中的sha256sum.txt文件文件,是因为美国镜像站不由CentOS团队维护,而CentOS Vault是由 CentOS 团队维护的,权威性更高。
文件校验(2)
百度百科文件校验 的后半部分:
不过这种方式(MD5)依旧有漏洞,第三方截获到文件之后,将修改后的文件同md5码一起放出来,接收方拿到文件后,依旧无法鉴别。正式基于此,MAC(消息校验码)诞生了,MAC是发送方和接收放约定的一个特定的数值串,当发送方发送文件时,将文件内容加上MAC一起进行HASH计算(MAC不随文件一同发送),此时第三方尽管截获到此文件,由于没有MAC,因此无法再计算出正确的HASH值。当接受拿到文件时,将文件同自身拥有的MAC一起进行校验对比HASH值,即可判定文件是否是发送方发过来的原文件。
Tips:也就是说单通过sha256校验CentOS镜像文件并不完全可靠,但是CentOS也没有使用MAC(消息验证码),而是采用了数字签名的方式,增强对CentOS镜像文件的校验。
一般情况下镜像文件通过sha256进行校验就可以了,了解数字签名完全是我出于对sha256sum.txt.asc这个文件的好奇,这部分涉及的东西要完整的写出来可能需要好几篇文章,加上镜像文件校验这部分实际很少有人去做,所以这里我就略讲,根据我文章中涉及的关键词去百度,很快就应该就能基本理解数字签名涉及的技术。推荐参考:https://blog.csdn.net/21aspnet/article/details/7249401#,http://www.ruanyifeng.com/blog/2013/07/gpg.html,https://www.gnupg.org/howtos/zh/index.html。
OpenPGP
OpenPGP是一个标准,实现这个标准的软件有很多个,Windows、Linux、MAC的客户端都有,建议以Linux的客户端“GPG”为关键词百度,会搜索出较多的内容,OpenPGP主要有加解密和数字签名两个功能。
加解密
OpenPGP软件(比如GPG)能够根据一些算法生成公钥和私钥(也叫密钥对),密钥对实际上就是两个文本文件,可以通过复制粘贴传播。公钥加密后的文件只能由对应的私钥解密,通过私钥可以推导出公钥,但是通过公钥无法推导出私钥。
eg:总司令把公钥复制给每一个将军,每个将军都安装上OpenPGP软件,将军将需要汇报的军情通过OpenPGP软件使用公钥进行加密,再通过邮件发送给总司令,总司令收到邮件后,将加密后的军情通过OpenPGP软件使用私钥解密后阅读。只有拥有私钥才能够解密文件,否则看到的就是一堆乱码,所以即使间谍有OpenGPG软件,截获了公钥和邮件,也无法看懂军情。如果总司令还需要和副司令分享军情,只需要把私钥复制给副司令一份,副司令也安装上OpenPGP软件,让将军发邮件的时候抄送给副司令,这样两位司令就都可以阅读军情了。
数字签名
数字签名是用私钥签名 ,公钥校验。私钥是作者独有的,作者用私钥计算出作品的一个唯一值(数字签名),附加到作品的旁边(或者是添加到作品末尾)提供下载,用户把作品、数字签名、公钥下载下来,再用公钥校验作品和数字签名。
同一件作品,不同私钥计算出的数字签名不同,某一个私钥的数字签名只能由对应的公钥才能成功校验,作品一旦被修改过,公钥必然无法校验成功。也就是说作品、数字签名、公钥三者任意一者不对应,用户都无法校验成功。单是使用公钥去校验作品和数字签名能否对应,也存在MD5那种校验方式的缺陷,有可能黑客修改作品后,用黑客的私钥签名,下载到的作品、数字签名、公钥都是黑客的,所以数字签名还引用了公钥验证。公钥认证又有两种方式,一种是作者去一些官方认证机构(CA),认证公钥,用户把下载到的公钥再去和CA服务器的公钥对比,另一种是通过公钥的一个唯一ID(指纹),去和作者确认,OpenPGP采用的是第二种公钥认证方式。
sha256sum.txt.asc数字签名校验
CentOS 并不是直接对镜像文件进行数字签名,而是对CentOS的sha*sum.txt进行数字签名,只要证明sha*sum.txt是完整的,再通过文件校验(1)的sha*值对比法就能证明镜像文件是完整的。
sha256sum.txt下面有一个sha256sum.txt.asc,它也是一个文本文档,也可以点击直接在浏览器中打开,它就是用来校验sha256sum.txt的完整性。
1.下载sha256sum.txt.asc
Tips:直接点击sha256sum.txt.asc会在浏览器中打开该文件,需要右键链接另存为。
2.安装OpenPGP的windows客户端——gpg4win
有兴趣了解到这一步的人,动手能力应该都不错了,就不介绍怎么下载安装gpp4win了。
3.下载证书(也就是公钥)
前往CentOS官网下载 CentOS 7 证书:https://www.centos.org/keys/,也是需要右键“链接另存为”才能够下载。
4.导入证书(公钥)
安装gpg4win后,桌面会有这个图标,打开即可。
这里一定要选择任意文件,才可以看到刚才在CentOS下载的证书(公钥)。
4.核对证书
百度一个在线文本对比工具
将导入证书的指纹与 CentOS 官网提供的证书指纹,导入文本对比工具对比,如果是一致的,就说明你导入本地的证书(公钥)是CentOS官方的证书。
5.开始校验
选择下载下来的sha256sum.txt.asc
这样就代表,校验成功。
将sha256sum.txt.asc用记事本打开
设置自动换行,方便查看。
这里我添加了一个大写字母A,同样的方法再次校验
这样就代表校验失败,说明文件被修改过。
sha256sum.txt.asc校验镜像文件的逻辑
对比sha256sum.txt.asc和sha256sum.txt,sha256sum.txt.asc除了一些分隔符,主要就是多了一段无规律的字符串,这段无规律的字符串就是数字签名。这里CentOS采用的是将数字签名结合在原文件下面的方式,还有一种方式是原文件和数字签名分开提供下载。通过成功校验sha256sum.txt.asc,说明下载到本地的sha256sum.txt.asc中红圈部分的内容是未被篡改的,之后再结合用文件校验(1)的方法,采用sha256值校验镜像文件,这时候sha256值校验就应该用下载到本地的sha256sum.txt.asc文件的sha256值,因为通过校验sha256sum.txt.asc只是说明了本地这个sha256sum.txt.asc红圈部分的内容是未被修改的,而不能说明网页中打开的sha256sum.txt.asc是未被篡改的,存在浏览器中查看的sha256sum.txt.asc是被黑客篡改过的可能。
对于数字签名和原文件分开的方式,就需要将两者都下载下来,一起导入校验程序。
指纹是证书(公钥)的唯一ID,通过比对指纹,可以确定下载的证书是正确的。如果没有比对,那就和文件校验(1)的缺陷一样,有可能公钥、原文件、数字签名三者都被篡改了。CentOS采用的是在官网公布证书的指纹,除非黑客把官网黑了,放上自己证书的指纹,并且把公钥、sha256sum.txt.asc、镜像文件的下载链接也都黑了,不然就一定能够确定下载的镜像文件的真假。
转载于:https://www.cnblogs.com/yogurtwu/p/10716250.html
校验 CentOS 7 镜像文件相关推荐
- centos镜像 from_下载 CentOS 7 镜像文件
CentOS 7 镜像文件的下载地址 点击"Get CentOS Now" 点击想要下载的ISO镜像,(目前仅有"DVD ISO"和"Minimal ...
- CentOS主要镜像文件类型介绍
CentOS主要镜像文件类型介绍 常见的镜像文件类型主要有以下几种: DVD ISO:普通光盘完整安装版镜像,可离线安装到计算机硬盘上,包含大量的常用软件,一般选择这种镜像类型即可. Everythi ...
- VMware Workstation虚拟机安装Linux CentOS 7镜像文件(带图形可视化界面)
文章目录 一.打开VMware Workstation虚拟机 二.创建新的虚拟机 三.选择自定义--下一步 四.选择虚拟机版本--下一步 五.选择稍后安装操作系统--下一步 六.选择需要安装的Linu ...
- CentOS iso镜像文件做本地源
2019独角兽企业重金招聘Python工程师标准>>> 1.将原有的源文件配置备份 进入源文件夹之后新建一个文件夹bak,将CentOS-*.repo文件放在那个文件夹里面 cd / ...
- 挂载ISO镜像文件到Linux系统
挂载ISO镜像文件 方式1:挂载当前系统ISO镜像文件 1.更改虚拟机设置 右键单击选项卡打开设置窗口 选择CD/DVD勾选已连接和启动时连接 2.在/mnt目录下创建cdrom文件夹做为挂载目录 3 ...
- 制作linux安装镜像文件,制作CentOS 6.5一键自安装ISO镜像光盘 | 聂扬帆博客
因为工作中需要经常安装系统并且会有一些定制的系统包和软件.定制ISO可以大大减轻运维的负担.本文以Centos 6.5制作为例 一.系统安装包说明 目录树结构 |-- .discinfo |-- .t ...
- CentOS 7提供的ISO镜像文件
CentOS 7提供的ISO镜像文件[199cloud-艾娜] DVD ISO 标准安装版,推荐使用 Everything ISO 对完整版安装盘的软件进行补充,集成所有软 Minimal ISO 精 ...
- linux虚拟机镜像文件制作,qemu制作CentOS 7虚拟机镜像文件
一.硬件支持 #Intel,有输出表示支持虚拟化 cat /proc/cpuinfo | grep vmx flags : fpu vme de pse tsc msr pae mce cx8 api ...
- centos 镜像文件说明
新版本系统镜像下载(当前最新是CentOS 7.4版本) CentOS官网 官网地址 http://isoredirect.centos.org/centos/7.4.1708/isos/x86_64 ...
最新文章
- 线下实操:搭建微服务天气预报应用!
- 简单绘图软件实现mfc大作业_纸笔书写|可直播可微课可写作业可批改的手写板,快来爱“我”吧...
- vscode代码运行时间工具_代码编辑器横评:为什么 VS Code 能拔得头筹
- c/s架构nginx+php-fpm通信原理
- XML文档搜索使用小结
- 【Oracle学习笔记】
- java对象存储管理
- 广义pareto分布_帕累托分布
- 解决Ubuntu环境搜狗拼音候选区乱码问题
- 设置计算机从目标磁盘启动,电脑开机怎么设置从U盘启动
- 三星android5.0基带,三星手机刷入基带详细图文操作教程
- 运行时 Entry name .... .. collided
- JLINK仿真器来仿真调试mini2440
- 人民网:山西省 - 地方领导留言板
- 字节跳动2023届校招薪资盘点!
- 微信支付~微信手机网站支付(mweb)
- 万众瞩目的BAISS公链将如何彻底改变区块链现状?
- C++ Reference: Standard C++ Library reference: C Library: cstdio
- system.exe,alien32.exe,ftsKetNt.7ps,SysKetNt.Sys, iexpe.exe等1
- 极简主义!让手机壁纸,惊现高级脸Feel~