密码就像一把钥匙,但上锁后的数据够安全吗?
2020-07-08
现代每个人都会使用各种网站服务,少则数个,多则上百个,仿佛把人的一生展开来,那许许多多的足迹,分散在这些服务里,就像地窖,藏着一坛坛秘密酒坛。每坛酒都是愈陈愈香的

现代每个人都会使用各种网站服务,少则数个,多则上百个,仿佛把人的一生展开来,那许许多多的足迹,分散在这些服务里,就像地窖,藏着一坛坛秘密酒坛。

每坛酒都是愈陈愈香的,通往每座酒窖的钥匙就成了黑客觊觎之物,也因此,防御工事逐渐成了显学。登录密码就像钥匙,每座酒窖都记上一组密码钥匙似乎是太麻烦了,难道没有一劳永逸的方案?

用同一把钥匙来打开每个“酒窖”,恐怕已是最容易却也最危险的方式了。即使这组自制密码钥匙,并非使用蝉联多年榜首的热门密码“123456”,而是采用精心设计的复杂密码,仍然很可能早已在不知不觉状况下泄露出去。

风险上,首先是使用钥匙开锁的过程,可能被偷看。在智能手机开始流行前几年,大部分的网站服务是采用未加密的HTTP连接,通常只有注重交易安全性的银行、信用卡或电子商务网站,才会使用加密连接HTTPS。这意味着只要连上未加密的公共Wi-Fi,就很有可能在登录网站过程中,密码钥匙就被看光光了。这就像是把实体信用卡拿出来刷,却因而让印有卡号的正面暴露在公开场合下,任谁都能偷拍记下卡号来盗用。

所幸Google领头大力推动,以及多个组织联合创立免费的数字凭证认证机构Let’s Encrypt,迄今加密连接HTTPS已经是大多数网站的主流规格;换句话说,中间人无法窃听HTTP网站传输信息,你也可以放心使用公共网络来浏览登录网站了!

然而,这虽在使用浏览器时可以查看网址开头,是否为安全性加密连接HTTPS,但在使用手机App时,却仍无法得知是否为安全连接。至此,只能选择相信“每个”网站服务,都是精良的门锁制造商……。

超文本传输安全协议(HyperText Transfer Protocol Secure,缩写HTTPS;常称为HTTP over TLS),是一种通过互联网进行安全通信的传输协议,由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上。HTTPS主要提供对网站服务器的身份认证,保护交换资料的隐私与完整性。

一款优秀的数字门锁,精妙之处在于,用来打开门锁的钥匙刻痕,并无法从门锁反向推演出来,意即黑客无法只看锁头就打造出钥匙!当代网站服务开发者都应当知晓此原则,后端数据库不能直接存储用户密码钥匙的明文,而利用散列(Hash)原理,只存储散列处理过后的资料。因此,即使黑客入侵服务器取得这些已处理过的资料(即门锁样式),也无法得知原始密码钥匙的样子。

但是,不时仍会有些中小型网站,并未在这些信息安全基础下功夫,甚至使得原始密码钥匙随时可能遭窃,被曝光到网络上,假若不同网站都使用同一组密码钥匙的话,就等同其他网站也将遭殃!

最简单的一种检核方式是,尝试点击“忘记密码”功能,若系统竟是直接发送先前设置的密码内容,便能得知应该远离这个网站服务。

因此,似乎还是应该记忆多组密码钥匙,或是设计一套自己专属的密码联想规则,让每座“酒窖”都采用不同的密码门锁,借此分散风险——然而,现代人已经这么忙碌了,这种期待恐怕仍不切实际?

另一种打造万能钥匙的方式,便是委托厂商保管一个保险柜,并由厂商打造不同的密码钥匙都放里面,从此之后只需记忆一组账号密码,能进入该厂商的服务专区即可。

常见并流行至今的方法,便是使用Google或Facebook的第三方账号来登录其他网站,而且只要不注销Google或Facebook的账号,随时都可以用来登录其他网站。这种第三方登录机制,对网站开发者来说,可以减少账号系统开发运营成本,对用户来说更是方便,确实是相当好的解决方案——若不是后来Facebook爆出各种隐私界限丑闻的话。

2018年底纽约时报披露,在Facebook极力扩张时期,曾私相授受用户隐私资料权限给特定信息公司。这篇标题名为《As Facebook Raised a Privacy Wall, It Carved an Opening for Tech Giants》的报道中描述,Spotify与Netflix曾拥有权限能读取、发送与删除用户的Facebook私人消息。

2018年年底,根据外媒《纽约时报》报道,Facebook和其他科技公司签署特殊用户数据契约,让他们看得到用户的联系人、好友甚至私人消息等资料,Netflix、Spotify、微软和苹果都在名单中。

而Apple则在Steve Jobs时期,虽因隐私权政策问题曾暂缓集成Facebook进入iOS,最终则在iOS 6至iOS 10期间纳入集成,却仍被爆出尽管用户取消了通讯录与行程表的分享权限,Facebook仍能取得这些信息——尽管这几家公司都声明,并未知悉曾被授给这等权力,也不会滥权使用。

此外,Yahoo能够看到朋友即时贴文,Sony、Microsoft、Amazon除了按正途取得用户的Facebook朋友清单,还获得“特许”能取得朋友的电子邮件地址,无异于“被上传”通讯录。

近年Apple强力主打隐私功能,其中“使用Apple登录”功能在iOS 13重磅登场,通过其特殊市场地位,将强制要求所有支持第三方账号登录的iOS App,也都必须支持“使用Apple登录”,用户就能通过这个选项,选择性不给予或隐藏真实电子邮件信息,可以说进一步扩张了用户的隐私权力。

最后一种打造万能钥匙的方式,是看似最传统古老的方案:向厂商购买一个保险柜,自己把所有不同密码钥匙都放里面,然后把保险柜放在自家空间里,从此之后,只需妥善记忆这一把能打开保险柜的主密码钥匙即可。

这种传统保险柜,便是独立密码管理软件的核心价值观,也是近年颇具影响力的产品类型——尽管网络浏览器普遍内置了密码记忆功能,但也长期停留在相当阳春的状态,尤其在手机App成为上网主流渠道之后,受限在浏览器内才能用的密码自动填入功能,更是显得停滞不前。

由于密码管理软件的门锁机制,便是依赖主密码的对称式加密技术,在第二次世界大战期间仅为军方所用,如今已能普及到每个人手上;还能运用更高端的非对称式加密技术,来安全地与家人朋友共享密码;再加上自动生成乱数密码、网站安全事件通报、支持移动设备的生物识别、跨设备同步、加密文件文件共享等等,单就功能来说这些都称不上是前沿技术,然而能将这些相关功能,全都集成在一个美观易用的App上,便是其价值所在。

近代公司组织使用越来越多的线上服务或工具软件,账号密码的授权管理也成为一大痛点,因此老牌密码管理软件都纷纷推出企业版本,提供内管控理机制,譬如设置安全级别要求、管控密码钥匙访问权限等,能为公司内部安全拉起防线,未来将逐渐成为许多公司企业的基础建设。

因此,经历这十几年来的发展,密码管理软件逐渐成为一门产品类型,较为老牌热门的1Password、LastPass、Dashlane等皆获得注资或并购,还有不少独立小品牌或开源的密码管理软件,近年来如雨后春笋般涌出。

最多人会质问的是:把全部密码交付一个密码管理软件,感觉并不安全吧!然而在现实生活中,人们同样不会把所有财产托付在同一间银行,也不再把所有现金都提领出来,只锁在一个保险柜里吧?本来就不需要把“全部密码”交给一个密码管理软件。此外,保险柜都是委由厂商所打造的,要使用就意味着需要信任该厂商,因此安全检核与品牌运营,当然是重要考量因素。

至于企业领域,随着近代公司组织使用越来越多的线上服务或工具软件,账号密码的授权管理也成为一大痛点,因此这些老牌密码管理软件都纷纷推出企业版本,提供内管控理机制,譬如设置安全级别要求、管控密码钥匙访问权限等,能为公司内部安全拉起防线,未来将逐渐成为许多公司企业的基础建设。

在真实世界中,为了验证“酒窖主人”身份真实性,一般来说可以并用三种独立验证机制:要求提供主人才知道的通关密码(Something You Know)、要求提供主人才拥有的秘密钥匙(Something You Have)、直接由管家识别主人面貌(Something You Are)。

对应到数字世界,前两种方法都可以分别对应到一把密码钥匙,第三种“Something You Are”即为生物特征识别技术,是基于一般人不易改变的身体特征,因此往往基于隐私疑虑,会采用专属的安全硬件机制来处理,而在移动设备上为求方便易用,通常是设计作为自动填入密码的验证机制而已,因此仅是第一种机制“Something You Know”的延伸,并非独立机制。

前述篇幅所述的密码钥匙,皆需“记忆”至少一组账号密码或主密码钥匙,便是第一种机制“Something You Know”。因此,为酒窖打造第二把钥匙“Something You Have”,才是最佳解。

概要来说,第二把钥匙通称为“Two Factor Authentication, 2FA”,中文译名众多:双重认证、两步验证、两阶段验证等等。最常见的方式有SMS短信、一次性密码(One-Time Password, OTP)、硬件安全密钥等等,各家网站服务支持的类型,可在TwoFactorAuth.org上查询。

为了验证用户身份真实性,一般来说可以并用三种独立验证机制:要求提供用户才知道的密码、要求提供秘密钥匙、直接由安全机构识别用户面貌。

值得一提的是,SMS短信虽然是最方便的2FA机制,只需有一支手机号码即可,但其通信规格安全性欠佳,可能遭黑客通过欺诈基站来拦截SMS短信(SS7 Attack),美国国家标准与技术研究院(NIST)已经不推荐使用,近年来各大网站服务也顺应潮流,推出SMS短信以外的验证方式。

因此,要打造第二把密码钥匙,成本最低廉的方式是下载免费的2FA App,譬如Authy、Google Authenticator等等,按照步骤操作即可作为第二把密码,用来显示依时间变动的一次性密码(Time-based One-Time Password, TOTP)。有些网站服务会通过自家App,推送通知到已信任的设备,用来授权登录,也是既方便又安全的第二把密码钥匙。

然而各家网站的2FA支持规格各异,还是太复杂了,因此专属安全硬件再度登场,譬如领航产品YubiKey这种实体密码钥匙,是时下最安全可靠的机制,只需要插入计算机或手机即可作为2FA验证,这不正是酒窖主人才拥有的秘密钥匙吗!

值得一提的是,这种实体密码钥匙也常提供NFC无线验证的方式,更加方便了;至于蓝牙无线验证则是安全性与稳定性欠佳,并不推荐使用。

双重认证是一种认证方法,使用两种不同的元素,整合在一起,来确认用户的身份,是安全领域的多因素验证中,一个特殊案例。

在数字时代中,密码钥匙已经成为守护数字资产、甚至是金融服务访问权的重要关卡。每个人走过的数字足迹,也确实都是具有经济价值的数字资产,只是并不在本文讨论范围内。因此,若人们愿意花时间研究理财或管理资产,那么也同样值得妥善运用各种密码钥匙的设计,为自己规划管理个人数字资产。

最后,读者们或许也发现,传统金融机构早已采用这3种独立验证机制:银行卡密码(Something you know)、银行卡(Something you have)、临柜验证身份(Something you are),而近年流行的加密货币(例如比特币),则在原始的匿名架构设计上,仅采用了一种独立验证机制:钱包私钥(Something you have),这样的代价便是无法支持多重验证或钱包恢复机制,而仅能由第三方(譬如交易所)来提供。

这是否终将走回传统金融的老路呢?然而加密货币的冲击风潮,也加速了开放金融的推行,预期未来的金融科技将继续蓬勃发展,别忘了这一切仍根基于用户与网站服务,如何去妥善运用这些密码钥匙来管理个人数字资产。