关于电子证书,你万万没想到的盲点

这里我不再赘述一些基本概念,比如证书是啥,证书啥内容,能干嘛。我想抛出几个对初学者容易混淆的点,甚至会错误理解的地方。

证书的电子签名是将证书的一些基本信息和公钥等内容做hash计算。然后,证书颁发机构再用自己的私钥加密一下这个hash值,再附到证书上。客户端拿到证书,主要验证的就是签名部分。

1.为啥要做一次hash再加密?

很多人甚至我之前一直以为是为了防止篡改。事实上做hash计算能一定程度上防止篡改。但是最根本的原因是,为了数据能够被压缩,如果直接对证书做加密数据会很大。运算起来性价比不高。

2.假设直接加密证书信息和公钥,能否防篡改呢?

首先,中间人拿到这个证书,如果想篡改,他得有证书机构的公钥。他如果没有,无论是对hash值加密,还是直接对证书加密。他都是解不开这个证书的,更别谈篡改。从这个角度看,我们完全可以直接加密证书信息。所以说,加密hash并不是为了防止篡改。

3.那既然加密哪个都打不开,是不是就安全了呢?

当然不是,如果中间人也在证书机构申请了合法的证书,当中间人劫持了会话,将自己的证书替换成原来的证书。当客户端接受了中间人的证书后,由于这个证书的签名也是认证机构用自己的私钥加密的。所以,当客户依然可以用自己持有的证书机构给的公钥解开。然后成功进行验签。

4.那是不是意味着目前的电子证书还是不够安全呢?

理论分析上是存在这样的漏洞,如3所示。虽然很多时候,用户可以通过自己输入的域名去过滤掉那些替换的证书。(因为申请证书的时候,域名和申请机构是严格一一对应的)。但是。特别是在域名非常接近的情况下,比如,www.baidu.com和www.beidu.com。人们往往会不小心忽略掉了。那就会访问到中间人设置的网站。

希望对大家深入理解电子证书有所帮助,如有错误,欢迎指出!一起学习,一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值