TLS握手

0 阅读2分钟

前置知识

一、先搞懂:对称加密

核心逻辑:加密和解密用同一个密钥(比如 AES)

  • 优点:速度极快,适合大文件 / 大数据加密
  • 缺点:密钥分发麻烦 —— 你怎么安全地把密钥发给对方?中途被截获就全泄露了

二、非对称加密:一对密钥的两种用法

非对称加密的核心是一对密钥

  • 公钥:可以公开给所有人,谁都能拿到
  • 私钥:只有你自己能持有,绝对不能泄露

它有两种完全不同的用法,目的、流程、作用都不一样,这也是你疑惑的点:

1. 公钥加密,私钥解密 → 目的:保密,防偷看

  • 场景:你要给别人发秘密消息,不想任何第三方看到内容

  • 流程:

    1. 你拿到对方的公钥(公开的,谁都能拿)
    2. 用对方的公钥加密你的明文 → 变成密文(只有对方的私钥能解开)
    3. 发给对方,对方用自己的私钥解密,拿到明文
  • 大白话:相当于你把信放进一个只有对方有钥匙的保险柜里,别人拿到保险柜也打不开,只有对方能开。

2. 私钥签名,公钥验签 → 目的:防伪造、防篡改,证明 “这是我发的,没被改”

  • 场景:你要给别人发消息,让对方确认 “这消息确实是你发的,中途没人篡改过”,但消息内容可以公开

  • 流程:

    1. 你用自己的私钥,对消息(实际是对消息的哈希值,效率更高)生成一个签名(相当于 “电子公章”)

    2. 把「明文 + 签名」一起发给对方

    3. 对方用你的公钥验签:如果验证通过,就说明两件事:

      • 消息确实是你发的(只有你有私钥,别人造不出这个签名)
      • 消息没被篡改(改了的话,验签会直接失败)
  • 大白话:相当于你在文件上盖了只有你能盖的公章,别人没法伪造,也没法偷偷改文件内容,改了公章就对不上了。

TLS握手,小林这张图画的很不错,根据这张图和前面知识应该就可以理解了

image.png