|
我打开银行网站,地址栏里挂着一把灰色的小锁。点击它,弹出一行字:“此网站的安全证书已被吊销。”我愣了一下,又刷新了三次,锁还是灰的。最终我关掉了页面,改用手机银行办理业务。 这不是我第一次因为SSL证书问题放弃一个网站。但这次不一样——这是银行,不是某个不知名的小博客。一个连银行都会出这种问题的年代,SSL到底在保护什么? SSL,全称Secure Sockets Layer,中文叫安全套接层。它的工作原理有点像寄挂号信:你写一封信,装进一个带密码锁的信封,收信人手里有一把对应的钥匙。中间任何环节有人试图拆开信封,锁就会损坏,收信人一眼就能看出来。这比平信安全得多——平信可以被拆开、抄录、再原样封好,寄件人和收件人都毫无察觉。 但SSL的问题在于,它只保证“信在路上没被拆过”,不保证“写信的人就是你以为的那个人”。 2017年,我帮朋友查一个购物网站。页面上的锁是绿色的,证书显示“由VeriSign签发”。看起来一切正常。但我顺手看了眼证书详情,发现它签发给“www.shop-ok.com”,而我访问的地址是“www.shop-0k.com”——第二个字符是数字0,不是字母o。这是典型的域名仿冒攻击。攻击者花几十美元买了个看起来一模一样的域名,再花几百美元买个合法的SSL证书。浏览器照样显示绿锁,因为从技术上讲,这个证书确实是有效的——它只对“shop-0k.com”有效,而攻击者恰恰拥有这个域名。 你可能会问:那SSL还有什么用? 有用,而且非常有用。它解决的是“数据被窃听”的问题,不是“对方是谁”的问题。前者是绝大多数网络攻击的入口。公共Wi-Fi下,没有SSL的网站就像在菜市场大声报银行卡号。有了SSL,至少你的密码、身份证号、信用卡信息在传输过程中是加密的,中间人截获了也只是一堆乱码。 我见过一个极端的例子。某公司内部系统一直用HTTP,IT部门催了三年都懒得升级。直到有一天,员工在咖啡厅连了公共Wi-Fi处理工作,第二天公司账户被转走二十万。警方调查发现,攻击者就是在同一个Wi-Fi下用抓包工具轻松截获了管理员的登录凭据。那个公司的技术负责人后来跟我说:“早知道SSL能防这个,我第一天就装了。” 但SSL不是万能的。它防住了传输途中的窃听,防不住服务器本身的漏洞;它验证了域名的真实性,验证不了网站背后运营者的意图。钓鱼网站可以申请到SSL证书,诈骗网站也可以。绿锁只代表“连接是加密的”,不代表“对方是可信的”。 我见过最讽刺的场景,是一个诈骗网站挂着有效的SSL证书,页面做得很精致,甚至连客服头像都用了真人照片。受害者后来在论坛上说:“我看地址栏有锁,以为是正规网站。”那把锁确实是真的,但锁后面关着的,是一间贼窝。 所以,怎么判断一个网站是否安全?我的经验是:SSL证书是必要条件,不是充分条件。看证书的签发机构、看域名是否精确匹配、看网站整体的设计和内容是否专业——但最关键的,是保持警惕。银行不会通过短信链接让你输入密码,正规网站不会频繁弹窗要求你下载插件。 SSL不是魔法,它只是现代互联网的一件防弹衣。穿上它,你不一定安全;但不穿,你几乎肯定危险。至于那家银行,后来他们发了公告,说是证书续费时操作失误,已经修复了。我再次访问时,锁变成了绿色。但我记住了那个灰色的瞬间——技术再完善,也总有松懈的时候。而安全这件事,从来不是一把锁就能解决的。 |