首页›网络安全›第7章 加密技术与虚拟专用网络›网络安全技术与实训-第7章-第3节-数字签名与CA证书

网络安全技术与实训-第7章-第3节-数字签名与CA证书

第7章 加密技术与虚拟专用网络

第7章 加密技术与虚拟专用网络

上一节讲了加密,这一节讲另一件同样重要的事:怎么证明“你确实是你”。网络世界里没有面对面确认身份的机会,所以需要数字签名和证书来承担这个角色。

一、签名方向:最容易记反的一点

这是本节最重要的一个考点,请务必记牢:

加密用“对方的公钥”,签名用“自己的私钥”。

为什么方向相反?因为两者要达到的目的不同:

  • 保密(加密):我要确保只有你能看。所以我用你的公钥加密——因为全世界只有你的私钥能解开。
  • 身份(签名):我要确保别人知道这是我发的,且没法抵赖。所以我用自己的私钥签名——因为全世界只有我能生成这个签名,而任何人都可以用我的公钥来验证。

用一个场景串起来:给同事发一份机密合同,同时要让对方确信这份合同出自你手。

  • 先用自己的私钥签名 → 对方用你的公钥验证,确认是你发的、内容没被改过。
  • 再用对方的公钥加密 → 只有对方的私钥能打开,确保内容不被第三方看到。
  • 两者结合即“先签名后加密”,同时实现身份认证、完整性保护与保密性。

二、数字签名是怎么算出来的

数字签名并不是把整个文件用私钥加密一遍(那样太慢)。实际过程是:

  • ① 算摘要:对原文件做散列运算,得到一个固定长度、很短的值(散列值)。
  • ② 签摘要:用发送方私钥对这个散列值做非对称加密,得到的就是“签名”。它和原文件一起发送。
  • ③ 验证:接收方用发送方公钥解开签名,得到原始摘要;同时对收到的文件重新算一次散列,两个值比对。一致 → 文件确实来自私钥持有者,且未被篡改。

它同时提供了三项保证:身份真实性(签名只有私钥持有者能生成)、完整性(内容改一个字节,散列值就完全不同)、不可否认性(签了就不能说没签——因为只有你的私钥能签出来)。

三、CA:给网站发身份证的“公证处”

签名机制里还有一个隐含前提:你怎么确定手上的“公钥”真的是对方的? 如果攻击者在中间把公钥换成了自己的,整个体系就崩了(这就是“中间人攻击”)。

解决这个问题的角色就是 CA(证书颁发机构)。可以把它理解成公证处:

  • 网站向 CA 提交身份信息与公钥,CA 核验后签发一张数字证书,证书里包含“域名 + 公钥 + 有效期 + CA 的签名”。
  • 浏览器内置了受信任 CA 的根证书,因此可以验证“这张证书确实是某 CA 签发的”。
  • 验证链条:浏览器信任 CA → CA 的签名证明这张证书有效 → 证书里的公钥就是该网站的公钥。信任就这样一层层传递下去。

这套体系整体称为 PKI(公钥基础设施)——它包括了证书的签发、分发、验证与吊销等一整套流程。

回到上一节的一句话:浏览器地址栏的小锁,就是“证书验证通过”的标志。 而一旦证书过期、域名不匹配、或由不受信任的 CA 签发,浏览器立刻给出醒目警告——那不是在为难你,而是在告诉你“这次的身份验证没通过”。

四、企业私有 PKI 与 PGP

  • 企业私有 CA:内部系统(如 VPN、内部管理后台)常自建 CA,给内部设备签发证书。需要把根证书下发到每台设备的信任列表里,否则同样会报错。
  • PGP / Gpg4win:另一套思路——不依赖中心化 CA,而靠“信任网”:你信任某人的公钥,他签过名的公钥你也可以信任。邮件加密、文件签名场景很常用。

五、三个必须形成的习惯

  • 私钥绝不外传:私钥是身份凭证,比口令还敏感。一旦泄露,别人可以以你的名义签名、解密发往你的信息。
  • 看到证书警告不要“继续访问”:那正是系统在提示中间人攻击的可能。正确的动作是停下来核对。
  • 核对域名,不只看到小锁:小锁只证明链路加密、证书与域名匹配——钓鱼网站也能申请到证书。地址栏里的域名才是身份的关键。

六、配套实训

本章对应 实训 9 · PGP 加密与数字签名(Gpg4win):

  • 生成一对密钥(公钥 + 私钥),导出公钥。
  • 用自己的私钥对文件签名,让对方用你的公钥验证——亲手体会“签名用私钥”。
  • 用对方的公钥加密文件,让对方用他的私钥解开——亲手体会“加密用公钥”。
  • 故意改动文件一个字符,再验证一次签名——看到验证失败的提示,就真理解“完整性校验”在做什么了。

最后一步的“故意改坏再验证”建议一定做,它比任何文字描述都更能说明数字签名的价值。

上一篇
下一篇