问:为何网站浏览是以HTTP(超文本传输协议)来执行而不是HTTPS(安全超文本传输协议)呢?例如,在Facebook.com上,网页的认证是通过HTTPS来进行的,认证之后,就回到HTTP。为何网站不在一开始就对所有的操作运用HTTPS?
答:网站并不对所有网页进行加密的原因是,使用SSL(安全套接层)时要进行以下权衡:改善的安全性能与高成本、低反应速度的对比。通过SSL来发送网页时,需要数字化的SLL证书,VeriSign扩展验证SSL证书一年需花费995美元,对小店来说,这可是笔不小的费用。而这些小店的网站变动很小,目的只是向顾客提示自己的存在,所以对他们来说,花费这么一笔钱去链接SSL显得不合情理。对网站的安全控制应该与可能遇到的风险大小成比例,街头小店的网站就属于风险极小的类型。
带有数字证书的网站为何不通过SSL发送网页还有其历史原因,加密的过程会使网页的发送速度变慢。使用SSL的过程中,在没有接触到服务器和客户之间交换的大量加密数据之前,服务器就有一大堆数据要处理。在宽带技术应用之前,网页下载的速度很缓慢,网站设计者出于对网页浏览量的考虑,不愿意对每个网页都进行加密。(这也是大多数主页不使用SSL技术的原因,网站的设计者希望浏览者尽快的看到自己的网页,而不是让他们等得失去耐心,跑到别的网站上去。)同时,许多浏览器不会缓存通过SSL发送的文件,原因是存储SSL文件会生成大量的额外信息流量,降低网页的下载速度,而这些额外的信息量要不间断的从网站服务器获得。
就拿Facebook来说,它肯定能承担起数字证书的费用,而且出于对网站中需要注册的网页的考虑,Facebook使用了数字证书。有些忙碌的网站服务器大范围的使用了SSL技术,例如,银行网站,SSL加速器(实际上是一块协助处理板)被用来处理SSL公钥计算。这样的配置减轻了网站服务器通过SSL发送网页的工作量,提高了发送速度。可以确定的是,像Facebook这样信息交换快速的网站,配置SSL加速器是很明智的,然而,对每个网页都进行加密的做法是不切实际的,也是没有必要的。
可以明确的是,SSL并不能使网站变得安全。SSL仅能对网站进行认证和对网站间所交换数据进行加密。知晓将要联系的对象并把联系的内容加密,这两项在安全登录过程中是很关键的。这也是Facebook在自己的登陆界面使用SSL技术的原因。如果登陆模式不受SSL保护,网站就不能被认证;即便数据是通过SSL模式发送的,如果登陆模式不是SSL的话,在你将这些数据发送之前,仍不能对网站进行认证。因此,虽然你的证书是加密的,仍然没法获知究竟将这些数据发送到了什么地方。
SSL链接提供了一种检验途径,审核你目前所在的网页是否来自你想要去的网站。当你看到安全锁标志时,可以检验一下SSL证书,并查看:组织的名字和证书是由谁发布的。我们使用SSL技术是出于以下考虑:SSL具有检验网页来源的能力,能够识别目前所浏览的网页是否发布于将要登入的网站,并使这些数据不被其他人获知。然而,这些都是在SSL运行的过程中存在的,在网页已经开始被浏览的情况下就不存在了。当用户已经进入所要浏览的网站时,SSL不再具有数据保护功能,而且在数据被网站和其所有者处理与存储时,对其安全性如何,SSL不能进行任何的干预。
【编辑推荐】