SSL证书真的难伪造吗?如何避免被劫持
我们应该知道,SSL证书是由国际知名的证书颁发机构Certificate Authority,简称为CA,颁发的具有数据加密和身份认证功能的数字证书。
在我们用浏览器访问网站的时候,地址栏的网站域名之前出现“http://”这个前缀,意义是web浏览器和web服务器支架内进行数据通信的协议是HTTP,但是由于早期的互联网并没有考虑到安全问题,因此使用HTTP就存在着通信内容被窃听、被篡改和被伪装的风险。通俗的说,如果网站使用HTTP,那么你在这个网站上进行的所有操作、登记的个人信息、付款信息以及交易方式等很容易酒杯其他人得到或更改,严重影响个人隐私信息安全。
于是人们使用SSL证书调用SSL/TLS协议,将不安全的HTTP升级为加密通信的HTTPS,部署了SSL证书的网站最显著的特征就是地址栏网站域名的前缀改为“https://”并且会有一个绿色安全锁,这个多出的S代表安全的意思,英文Secure。
那么问题来了,是不是想要使用HTTPS是不是一定要用CA办法的SSL证书呢?答案是否定的,任何人都可以自己给自己签发SSL证书,这叫做自签名证书,自签名证书一样能调用SSL/TLS协议,一样能保护个人隐私信息不被泄露,但是我们为什么一定要使用CA颁发的SSL证书呢?因为自签名证书无法证明网站的真实性。
我们知道,SSL证书部署在网站所在的服务器上,显示在我们访问网站时,浏览器的地址栏上,所以浏览器会尝试审核签发证书的机构是否是权威可信的。举个例子,我在朋友圈发布,我跑百米跑比博尔特快,有谁会相信?但是如果国际田联搞个新闻发布会,说我比博尔特厉害,那肯定会有不少人相信。因此,个人自谦的证书是不会被浏览器信任的,只有通过WebTrust国际安全审计认证的证书颁发机构CA,其签发的证书才会被各大浏览器信任。主流的浏览器有:Google Chrome、Mozilla Firefox、Apple Safari、Microsoft Edge。
所以严格意义上说,SSL证书难伪造这个说法是不对的,或者说是不准确的。SSL证书任何人都可以伪造,只是伪造的不会被浏览器承认,在访问部署自签名证书的网站时,浏览器地址栏会出现红色的不安全警告,这样谁还敢访问这个网站呢?
SSL证书如何避免被劫持?
使用了SSL证书以后,就能确保我的网站不被劫持呢?就能彻底解决网站被劫持的问题了吗?答案自然是不能,我们之前说过SSL证书的功能有数据加密和身份认证两个方面,其中的身份认证就是指web浏览器和web服务器,也可以理解为访问者和网站,之间进行的身份识别功能。因此,准确来说,SSL证书发挥作用的不是防止接触,而是识别劫持,提醒访问者所访问的网站是真正的网站或是一个假冒、一个被劫持后的网站。
我们拿网站DNS劫持来说,如果使用HTTP协议,网站很容易被植入非法的js文件,来把网站劫持到其他网站,浏览器并不会发现,用户当然更难发现自己访问的网站是另外一个危险的网站。如果网站部署了SSL证书,通信协议升级到HTTPS,那么当网站执行非法js文件后访问到的网站地址和内容和原本的网站地址和内容不一致时,浏览器就会识别出来,并且向访问者提示该网站出现安全性问题,用明显的红色字体提示不安全,从而避免了用户的损失。
所以,从某种意义上说,SSL证书可以最大程度的防止网站被劫持,而不能彻底解决这个问题。但是安装了SSL证书在很大程度上可以提高网站的安全性,因此给网站申请SSL证书是很有必要的。
本文由“SSL证书申请指南”原创发布,内容未经允许不得转载,或转载时需注明出处!
相关阅读推荐:《SSL证书在线申请指南》