数字证书的理解

  之前给Tomcat中配置https协议,用的自己签的jks证书,对浏览器的警告从来都是忽略的。今天正好有空,就查了下数字证书的相关资料。算是基本弄清楚了,写这篇文章即是梳理也是分享。


  • 场景

      现在假设有两个人,男主和女主。男主有一对公钥和私钥,私钥自己保管,公钥给女主。当女主想给男主发信息时,为了不让其他人知道消息内容使用私钥对内容进行加密,然后发给男主。男主获得加密的消息后使用手中的私钥进行解密就可知道消息内容(公钥加密,私钥解密)。
      现在有一个教导主任(黑客),为了抓学生早恋,但没有证据。虽然他能得到女主的消息,但这消息是加密的。即使他有男主的公钥也不能解密(公钥加密的内容不能通过公钥解密),怎么办呢?于是他重新生成了一对公钥和私钥,偷偷将女主手里持有的男主公钥换成了自己的公钥,女主在不知情的情况下用教导主任的公钥对消息进行了加密,消息传出去后被教导主任截获,然后他用自己的私钥解密消息,证据就这么到手了。
      男女主为了应对这种情况,应该怎么办呢?现在的问题出在女主并不知道自己手中的公钥是谁的。于是他们向一个权威的联盟——比如说叫“学生联盟”求助。这个学生联盟是一个权威机构,并且和教导主任(黑客)对立。当然,“学生联盟”我们并不叫“学生联盟”,我们称作“证书中心”(certificate authority) 简称CA。“学生联盟”也有自己的一对公钥和私钥。男主把自己的信息和公钥给“学生联盟”,“学生联盟”用直接的私钥将相关信息和男主的公钥加密,加密后的内容就是“数字证书”(Digital Certificate)。女主只需持有“学生联盟”的“数字证书”就行(公钥在证书里),在需要加密消息时,先用“学生联盟”的公钥对数字证书解密,得到男主的公钥和男主的相关信息,如果相关信息不对就说明的这个解密后的公钥不是男主的。解密完后用得到的公钥对消息加密法出去,男主得到后就可以用自己的私钥解密了。


  大概的流程如上。
  看完后可能会有个问题:
  1.既然主任(黑客)可以替换女主手里的男主公钥,那他也可以替换女主手里的“学生联盟”的公钥,这样不是一样吗?
  答:上面只是一个例子,在实际情况中,“学生联盟”(CA)的公钥是一开始就内置在操作系统里面或者浏览器安装包里,浏览器或者操作系统是靠“受信任的根证书颁发机构”来分辨。当然如果主任(黑客)黑进了你的操作系统,那他就可以替换成自己的,这时候最好重装系统,所以保证自己的系统安全很重要。
  
  

参考

1.数字签名是什么?
2.数字证书原理
  

拓展阅读

巨头怼巨头,谷歌封杀赛门铁克证书背后的恩怨情仇

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值