去年11月的一个凌晨三点,我裹着洗得发白的军大衣蹲在出租屋的破暖气片旁边,盯着电脑屏幕上跳出来的Chrome红字,手心全是汗。那是我攒了三个月零花钱做的流浪猫领养登记站,刚把楼下三花的领养信息挂上去,连转发的朋友圈都没发出去,浏览器直接弹了个大警告:“您即将访问的网站存在安全风险”。
我之前真的把SSL证书当骗钱的噱头
说出来不怕人笑,最开始我根本没把SSL证书当回事。之前找销售推销付费证书的时候,张口就是一年368块,说是什么“企业级安全保障”,我当时翻了个大大的白眼——我一个连服务器都是用学生优惠买的破站,总共一天访问量不超过50人,值得花这冤枉钱?
之前也试过免费的Let’s Encrypt证书,三个月要手动续一次,每次续期都要敲三行命令,我这种连正则表达式都写不利索的人,折腾两次就烦了,干脆把网站的HTTPS选项关了。当时我还自我安慰,我一个破领养站,能有什么人来黑?能有什么值得偷的信息?

结果就是那天凌晨的事,整个网站直接被Chrome标成“不安全”,朋友圈发出去十分钟,有个之前问过三花情况的女生给我发消息,说你这网站怎么回事啊,点进去弹红警告,我都不敢填联系方式了。我当时真的想把键盘掀了。那三花我喂了快半年,腿上还有上次跟别的猫打架留下的疤,好不容易有人愿意了解领养的事,结果被个浏览器警告直接拦在门外。
那串看不见的密钥,真的挡过实打实的麻烦
之前我总觉得加密这种事,是支付宝、银行、大厂才需要的,我这点破流量,谁闲的没事来抓包啊。直到去年夏天,有个要领养三花的男生,在小区楼下的公共WiFi上填了自己的身份证号和手机号,说要打500块的流浪猫押金,结果过了三天,他给我发消息,说自己的银行卡在楼下超市刷卡的时候,提示异地登录,盗刷了320块。
我当时脑子“嗡”的一声。第一反应是我惹大麻烦了?
赶紧抱着电脑跑到楼下找老周——就是开网吧的那个,年轻时候做过三年网页设计,现在没事就蹲在吧台打传奇。他过来蹲在我电脑旁边,点了点那个没锁的http开头的地址,恨铁不成钢地敲了我一下脑袋:你傻啊?HTTP传的所有东西,在公共WiFi上都是明着飘的,跟你举着个牌子在小区里走,上面写着你的身份证号、银行卡号,路过的人想记多少记多少。

老周给我解释,SSL证书本质上就是给网站配了个带防伪的网络身份证。浏览器认了这个身份证,才会给你亮那个小绿锁——一方面证明你这个网站真的是你开的,不是别人仿冒的钓鱼站,另一方面,你跟访客之间传的所有数据,都会被用专属密钥加密,就算有人在WiFi路上把数据包截走,拿到的也是一堆乱码,根本解不出里面的内容。说穿了逻辑跟你给朋友寄带锁的盒子没区别:你用公开的锁把信锁在盒子里,只有你朋友手里有对应的钥匙能打开,路上的人就算把盒子抢走,没有钥匙也拆不开。
老周当天给我写了个二十行不到的自动续期脚本,把Let’s Encrypt的证书挂上,设成每个月自动检查续期,不用我每次手动敲命令。看着地址栏跳出来的小绿锁,我当时突然觉得,之前花在跟免费证书较劲的那些时间,全是白费的。
现在没人盯着那把小锁看,但它早就成了生活的底噪

装完证书之后,那个要领养三花的男生重新填了信息,过了一周把猫接走了。后来他给我发过好多视频,三花现在天天趴在他家的暖气片上睡觉,胖了两斤,连之前怕人的性子都改了,会主动蹭人的手。
说实话,我现在打开自己的网站,根本不会特意去看那个小绿锁。就像你每天进小区,不会特意去看单元门的门禁有没有锁,不会特意去摸口袋里的钥匙有没有带,但是如果哪天门禁坏了,单元门大敞着,你走进去的时候,总会下意识有点慌。
不过话说回来,这两年我帮小区里的邻居弄过好多小网站:开打印店的小李做的线上预约页面,卖手工粽子的张阿姨弄的在线订单表单,甚至楼下修自行车的王师傅,都弄了个可以留电话的简易网页。我每次给他们装完SSL证书,他们都要问一句,这玩意儿有用吗?会不会太麻烦?
我从来不给他们讲什么证书颁发机构的信任链,什么TLS1.3的加密强度,就指给他们看地址栏的小锁——你以后让学生传简历、传作业的时候,不用担心里边的信息被人偷了;你卖粽子收定金的时候,不会有人做个一模一样的钓鱼页面,把客人的钱骗走;有人在你留的电话页面上填自己的手机号,不会被旁边蹭WiFi的人截走卖广告。就够了。
昨天晚上我加班到两点,关电脑之前扫了一眼网站的访问记录,有个刚上高中的小孩留了信息,说想领养楼下那只断了尾巴的小橘猫,已经约了周末过来见。地址栏的小绿锁安安静静亮着,跟窗外的路灯一样,不扎眼,但你知道它在那儿。
作者|大讲堂
排版|大讲堂
审核|满满
大讲堂