“区块链” 怎么跟 “HTTPS证书” 这么像?

概念简述

HTTPS 证书主要使用了以下相关技术:

  • 对称加解密算法:加解密使用“相同的密钥”;
  • 非对称加密算法:加解密使用“不同的密钥”;
  • 消息摘要算法:如 MD5、SHA 是 摘要/哈希 算法,不可逆,不是加密算法;
  • 数字签名技术:是 “非对称加密”“消息摘要” 的组合;
  • 数字证书技术:“HTTPS 证书” 是数字证书的一种,是以上技术的组合应用;

区块链,看起来像 “数字证书” 验证链的简化版。

非对称的应用

非对称加密一般会产生 “公钥” 和 “私钥”,加解密使用不同的 “密钥”。

见名知意,“公钥” 是公开的,“私钥” 需要创建者自行保管,不可对外公开。

  • “公钥” 加密的内容,必须用“ 私钥” 解密;
  • “私钥” 加密的内容,必须用 “公钥” 解密。

既然 “公钥” 是公开的,“私钥” 加密的内容任何人都可以解密,那 “私钥加密” 的意义何在?

有意义!因为 “私钥” 加密的内容只有对应的 “公钥” 可以解密,且 “私钥” 有 “我” 保管。

那么,如果你能用 “我” 的 “公钥” 解开这段密文,说明这段密文是由 “我” 发出的。

也就是说,“我的身份” 与 “密文” 产生了绑定关系,其他人都可以用 “公钥” 进行验证,解密成功代表验证通过(不考虑中间人攻击)。

所以上面那段话可以再简化改写成:

  • “公钥” 加密 “私钥” 解密;
  • “私钥” 签名 “公钥” 验签。

数字签名

“数字签名” 对应的场景是验证数据是不是由某个主体产生的(上面使用 “我” 来代替这个主体)。使用的技术是 “非对称加密”“消息摘要” 的组合。

既然 “私钥” 可以直接对数据进行 “签名”,为什么又需要用到 “消息摘要” 呢?

  • “非对称加密” 有个缺点,就是加解密的性能不高,数据量大时比较慢;
  • “消息摘要” 的性能要高几个数量级,同时可应用于验证数据的完整性;

数字签名的 “签名” 与 “验证” 过程如下图:

核心在于框里的部分,摘要 可对 原始数据的 完整性进行保证。

  • 如果把“摘要”看成“原始数据”,就会简化成 “私钥签名,公钥验签”
  • 多出来的流程,是因“解密/验签”的结果是“摘要”,所以要分别对“两份摘要”进行对比

数字证书 “链”

上文中的 “数据” + “摘要” + “签名” + “公钥” 就组成了一个基本的 “证书”

这个“证书”还有个问题,就是如果遇到 “中间人攻击” 时,“你” 与 “我” 咱们之间的“信任问题”无法解决。就像这样:

“我”以为在跟“小明”对话,“小明” 也以为在跟 “我” 对话。

解决这个问题,需要 “三方机构” 给我证书进行 “认证签名”,就像这样。

我花钱让 “小C” 给我颁发证书,“我” 和 “小明” 的电脑里都有 “小C” 的证书,都无条件信任 “小C”。

如果这时候有 “小三” 偷听,给 “小明” 传递消息时,“小明” 拿到证书,发现名字不是 “我”,签发机构 也不在信任列表中,就能察觉当前对话的问题。

  • “小三” 也可以向 CA 机构申请,但是 “小三” 的证书内容不能跟 “我” 一样,如:域名
  • 如果想跟我的 名字 一样,可以 “自签发”,但是自签发的证书不在“共识”的信任列表中

区块链

把上面 HTTPS 证书的样式内容调整一下(证书类比区块、证书内容类比区块交易),如下图:

再对比一下《比特币白皮书》中的区块链结构:

是不是很像?其实还是“数字证书”的这一套技术体系,以此来解决“数据信任”问题。

除此之外,随着技术的演进,也创造出了非常多的新概念,同时也引入了新的问题,又通过新的概念与技术解决这些新问题,循环往复。比如:

  • 数字证书的认证,实际上是一个树形结构,因为一个 CA 机构可以给多个主体颁发证书
  • 树形结构在区块链中的概念为 “分叉”,意味着交易存在 “双花问题”,是不被允许的;于是又通过 PoW(谁有听谁的)、 PoS(谁有听谁的)、EOS(谁有听谁的)等共识机制,来保证不出现 “分叉”,维持 “链” 式结构

  • 上面提到的 “公钥” 和 “私钥”,跟 区块链 中的 “钱包” 概念也很相似
  • “私钥” 在 区块链 的概念里面对应 “钱包”,由持币者保管,如果忘了你的币也就没有了
  • “公钥” 则对应 “钱包地址”,转账通过公钥进行加密交易

  • 通过 “私钥” 是可以推算出“公钥的,为了避免 “私钥” 忘记导致丢币
  • 又创造出 “助记词” 的概念,通过相对来说有含义的“词组”和“标准”,最终生成一堆钱包
  • 其实就是上面说到的 “摘要算法” 的混合应用,先把助记词进行 “摘要”,再通过摘要生成 “公钥私钥”,也就是 “钱包”

等等...

Reference

  • 20 张图彻底弄懂 HTTPS 的原理!:https://mp.weixin.qq.com/s/Zr_tIlhAjH7v8I-L5FC31g
  • 《比特币白皮书》 这个是公开的,如果不想自己搜,可以关注公众号,回复 比特币白皮书 获取

扫码关注公众号

原文链接

“区块链” 怎么跟 “HTTPS证书” 这么像?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值