爱范儿:未来存钱指南:密码安全与身份认证漫谈 2019-2
最近春节,已是个大孩子的你,放鞭炮之类的娱乐估计也玩不了,所以最热衷的事情,不外乎葛优躺抢红包集五福了。人缘够好,说不定也达成了某个「小目标」。
不管攒到的是现金还是电子红包,你总需要把这些钱放在一个地方,比如银行、支付宝、理财或者基金账户甚至是保险箱。无一例外,最终大家都绕不开一样东西:密码。
是的,密码不仅是我们保障财产安全的大门,也是保护个人隐私的工具。
这年头,随着「青年健忘症」和「懒癌」的盛行,能记住自己全部密码人已经不多了 —— 话说回来,什么样的密码才安全呢?
密码,是人类保障财产和秘密最常见的安全防护手段,是「钥匙开锁」的非物质化形式。我们日常所说的密码,主要是指那些为了登录、查看、修改、授权等操作所需身份验证的「数字 / 字符组合」。 其本质是系统对使用者进行「身份认证」—— 即确认你就是你。
为实现身份认证,系统需要使用者先设定一个「只有自己知道的数字 / 字符组合」,验证时,系统认为能提供「数字 / 字符组合」的人就是使用者本人,从而实现授权操作。
无需多言,我们能感受到这种认证方式是有些问题的,因为密码很容易被他人盗用或攻破:可以猜想得到,可以穷举得到,可以偷窥得到,甚至可以暴力迫协得到。
为了防止密码被猜想或破解,系统要求用户进一步增加密码「强度」,所谓强度,其实就是要求「不易猜想」和「提升复杂程度」,具体地说就是不要使用生日、姓名等用户相关的显性特征信息,不要使用 8 位数以下密码,区分大小写,一定要数字、英文组合,在此基础上,还要做到密码分级(不同账户使用不同密码),一些系统还强制要求用户必须「定期更换密码」,更变态的是还包括「历史密码不能复用」等一系列反人类的要求…… 很明显,系统设计者对安全的要求与用户作为「人」趋简避繁的习惯完全矛盾。
为了省事儿,使用「000000」作为手机开锁密码一直大有人在。同时,相关数据显示,不管安全专家多么努力要求人们提高密码安全意识,连续多年来,「123456」一直都是人们最喜欢使用的密码。没错,上个月 Splashdata 刚刚公布了「2018 最弱密码」,「123456」毫无悬念荣膺第一,这也是它连续第 5 年登上榜首。(2013-2018)
▲ 美国明星 Kanye West 被媒体拍摄到使用 000000 作为锁屏密码
▲ 安全公司 SplashData 公布的 2018 最弱密码,123456 连续 5 年居于榜首
你以为只有普通人类才使用这么糟糕的密码吗?并非如此!根据坊间新闻,乌克兰军方不少密码用的 123456,而美国核弹发射密码则是是八个 0……
回到普通人的世界,如果你想确保自己银行财产和网络照片的安全,目前最好的选择只能是设置更复杂的密码 —— 想象一下,你的银行卡、支付宝、微信零钱、股票基金和各种理财产品、以及 QQ、微信、微博、邮箱、各种论坛和 app 账户共需要多少密码?更让人绝望的是除了密码,你还需要记住区别于密码的「查询密码」和额外的「支付密码」…… 一个正常人拥有的密码早已超过上百个。出于安全的考虑,系统还经常建议你对密码进行更换,要么你需要更好的记忆力,要么你按照账户类型设置密级不同的密码分类……
这些越来越严厉的密码建议非但不能解决问题,反而因为密码遗失而导致了更多的损失和更痛苦的户体验问题 —— 特别是在比特币的世界。
所以,无论密码设置得多复杂,本质上都不安全:一枚隐藏的摄像头,一个拙劣的钓鱼网站,甚至密码门锁上的磨损痕迹…… 都能轻易摧毁你自以为安全且复杂的密码。为了解决这个让人头痛的问题,人们又发明了「密码管理工具」和「第三方认证登录」,但从安全的角度看,「将所有密码放到一个加密篮子里」的方式真的好吗?
由于单一密码实在不能确保安全,所以行业会采到了一种安全策略:「双因子验证(Two-factor authentication)」。就是说,除了密码,还要用另一种非密码形式的验证因素来确认使用者的身份,比如:优盾、口令卡、短信验证、邮件验证、安全证件验证……
最终,手机与用户的零距离特性,使手机短信 + 密码双重验证成为了当下网络产品的身份验证标配,其中密码是使用者自己设定的,短信验证是系统临时下发给使用者,用来二次验证使用者身份。通过短信形式叠加的双因子验证,为密码多建了一道安全防线。它的验证逻辑是:预设使用者的手机能接受验证码,验证时你能提供验证码,说明手机在你手里,所以你就是你。
短信验证码很容易被不法者拿到:手机复制卡、基站监听、获得短信权限的恶意 app…… 都能拿到你的验证码。前段时间豆瓣网友「独钓寒江雪」就因为被恶意监听短信验证码而导致支付宝、京东及关联银行卡等一夜间被全部盗刷。基于此,短信验证码本身的安全性并不高,它只是提高了与密码匹配使用时的「概率安全性」。
▲ 「短信嗅探」往往通过第 2、3 步来恶意截取用户的验证码 图源
让短信验证成为标配的原因更可能是由于它的体验简单与成本低廉。相比其它软硬件方式,短信验证码无需流量,无需安装任何 app,也不需要任何外接设备,即使最便宜的老式手机也能完成验证码获取。并且为了让短信填写更便利,一些应用和系统还提供了「读取验证码并自动填充」的功能,这当然意味着更大的风险 —— 有更多的渠道能够获得作为第二重安全保障的「短信验证码」。
因此,基于短信 + 密码的验证方式相对更安全了,但还不够好,因为短信和密码都是身外之物,无法做到法定或者生物意义上的身份验证本质 —— 证明你就是你。
无论是密码,还是验证码,这都是一种「权限验证」—— 即系统认为你有「权限」进行操作(比如登录,查阅,取款、转账……),但系统并不知道你是否真的是你。也就是说,任何一个人或者一个机器人,甚至是一条狗,都可以假装是你(只要拥有密码和验证码),从而对系统进行欺骗。
密码验证属于「实名认证」,就是用预设约定的「数字 / 字符组合」对使用者身份进行确认。在身份可信认证领域,「实名认证」是最低级别的认证方式,随着身份认证应用领域的扩展,更高级别的要求是「实证认证」和「实人认证」。
实证认证是通过法定证件方式进行的使用者身份确认。比如,在银行柜台办理某些关系重大的业务时,你有密码 + 手机验证(实名认证)还不能证明你是你,必须用身份证件证明,这就是实证认证的一种方式。同样,你要证明自己是某公司的法人?需要工商执照来证明;你要证明自己是某个房产的拥有者?需要不动产证来证明…… 这些证件都是国家机构的信息认证,在操作过程中,各系统需根据证件组合来验证你的身份。
通过「实证认证」所规定的证件,你可以拿到自己的高铁票和机票,可以从不动产中心调取自己的房产证明,可以在医院调取自己的医疗记录等。 认证过程一方面需要对应的证件检测设备,另一方面它更适合于线下的身份验证,而对无监督的网络身份验证无能为力。
在涉及资产安全的领域,往往通过实证 + 实名组合(即身份证、密码、验证码)的双因子或多因子验证的方式来确认你对账户的权限。早期的「实证认证」因为证件防伪技术有限,很容易被突破,通过伪造实证获得的犯罪时有发生。但随着非接触式逻辑加密卡芯片证件等技术出现,实证认证的安全性得到了极大的增强。
不过,「实证」和「实名」一样,都是借助「外部元素」来认证使用者的身份和权限。却无法实现「使用者本人才是自己最好的证明」这一朴素逻辑。如果认证过程比较呆板,就很容易出现「如何证明你妈是你妈」这样的荒谬故事。
在实名和实证之上,更可信的身份认证是「实人认证」。实人认证,是通过「人」的生物特征识别来确认「你就是你」的底层逻辑。每个人(或每个生命体)具有自己独一无二的「生物特征」,比如古人契约上「按手印」、科幻片里通过「虹膜扫描」才能打开的金库大门都是典型的生物特征识别身份认证。
随着移动设备的传感器性能提升和网络速度的发展,生物特征识别形式的实人认证技术已经趋于平民化应用,在支付、交通、借贷、旅行等各个行业已经普遍落地应用。验证的形式包括生理性特征形式的,如指纹 (掌纹)、人脸、虹膜、视网膜、DNA 等,以及行为特征形式的,如签名、步态等。
考虑到实施的便利性和设备成本要求,大家在日常生活中最熟悉的生物认证恐怕就是现在手机标配的「指纹解锁」和「面容 ID」了。这些生物认证在手机上以近乎「无感」的体验方式替代密码,它们最大的好处是无需记忆密码(因为自己的生物特征本身就是密码),相比密码和法定证件来说,更难被窃取和复制,而且更能准确证明生命体的身份,所以可信度和安全度都是比较高的。
如果将密码类型的「实名」和证件类型的「实证」以及生物类型的「实人」多种身份认证方式通过多双因子或多因子组合使用,安全性就会大幅提升。高铁进站闸道采用的既刷证,又刷脸就是典型的实证 + 实人双因子验证。出入境部门要求的护照 + 指纹也同样属于实证 + 实人双因子验证。
但考虑到真实的使用场景,如果进行多重因子叠加验证,势必会带来效率的降低和体验的复杂,因此,在生物特征识别验证的现实应用场景下(以手机解锁和 AppStore 支付为例),其实是「将密码验证托管给生物特征识别验证」,从而进行的「实人单因子验证」而非「实名 + 实人多因子验证」。
以 iPhone 6s 为例,除非你要求同时验证密码和指纹,否则既可以密码解锁,也可以指纹解锁,这意味着可以在人们睡着时(或者死亡时)依旧解开手机,获取保密信息。较之的「纯密码时代」,对于攻击者而言反而相当于「多了一种攻击途径」,事实上更危险而非更安全了。
从 iPhone X 起采用的面容 ID,虽然也是生物特征识别解锁,但对认证安全的要求提到了更高的程度,面容 ID 的「注视感知功能」在识别人脸特征时,还需要识别行为(需开启注视感知),如果你不直视摄像头,即使识别出你的面容,也不会解锁。所以那些幻想男朋友睡着时可以查看手机秘密的故事并未发生,这显然比指纹形式的生物特征识别又更安全了一些。
显而易见,类似面容、指纹这样基于生物特征识别的「实人认证」在未来将会把人们从记忆成百上千种密码的痛苦中彻底解放出来 —— 人们再也不需要记忆密码了,你自己的身体就是最好的密码,况且它比「123456」安全多了。
但相比传统密码被窃取后可以及时修改,生物密码一旦被窃取,将无法修改,攻击者就可以利用最新的 AI 技术伪造出这些生物密码。面对这样令人恐惧的安全隐患,我们需要了解的是:哪种生物特征识别的安全度更高?
就目前市场应用范围来看,指纹、人脸、虹膜是目前应用场景比较广泛的三类形式,各有其优缺点,比如指纹设备成本低但易磨损易复制,人脸使用便利但对光线环境有较高要求,虹膜准确率高但使用体验不佳且成本更高等。
相比之下,人们可能忽视了一种极具未来性的生物特征认证方式:声纹(Voiceprint)。
普通人与声纹识别的第一次接触大多来源于微信的声音锁登录 —— 只需对着手机读出预设的几个数字,就能进行身份确认从而完成登录。无需密码,又与手机自带的面容 / 指纹有所隔离,通过声音实现「闻声识人」,使用起来非常便利。
声纹识别是从说话人发出的语音信号中提取声纹信息,并对说话人进行身份验证的生物特征识别技术。直觉上来看声纹不像人脸、指纹的个体差异那样直观可见,所以大多数人的第一反应是:这个安全吗?
但事实上,相比指纹、面容、虹膜这些显性因素,声音是一种隐性因素,被复制和盗取的难度本身就很高。而它的防攻击性(安全性)则更胜一筹。声纹蕴藏于人的声音之中,每个人发声和共鸣器官上的任何一点微小差异(声带、软颚、舌头、牙齿、唇、发咽腔、口腔、鼻腔、气流……)都会导致音质、音色的巨大差别。 同时,人发声的习惯(快慢、力度大小)都会造成音强、音长的差别。上述四种在语言学中被称为语音「四要素」,这些因素又可被计算设备分解成包括波长、频率、强度、节奏在内的近百种识别特征。比起其它形式的生物特征,声纹看似简洁,实则丰富,包含了许多不同维度的可检测和可验证信息,有相关科学研究表明,声纹具有特定性和稳定性等特点,尤其在成年之后会保持相对稳定不变,这些综合特性确保了声纹的高安全性。
对于声纹常见的攻击方式事实上只有两种,一种是真人模仿,另一种是录音重放(语音合成和变声转换也需要使用设备重放)。真人模仿只是能骗过人类的耳朵,对于具有近百种识别特征且配合了识别算法的声纹检测来说完全无效。而对于录音重放则有信道检测、倒谱分析、以及活体检测等多种成熟手段防御。中国人民银行于 2018 年末刚刚发布了《移动金融基于声纹识别的安全应用技术规范》(JR/T 0164—2018),这是金融业颁布的第一个生物特征识别技术标准,标志着对声纹识别技术安全性的权威认可。
声纹在大众领域的应用才刚刚起步,但具有非凡的的潜力。从 20 世纪 40 年代起的小规模实验到大规模应用的今天,声纹的技术和应用发展已经非常成熟。经过动态时间规整(DTW)、高斯混合模型 (GMM)、因子分析模型(JFA)、深度神经网络(DNN)…… 等多种模型方法迭代,目前声纹识别仅次于虹膜识别,已是最高准确度生物特征识别技术之一(参见 MITRE 报告)。
▲ 相关生物特征识别类型的比较 图源:美国 MITRE 的技术报告
我们之所以如此看重声纹识别,是因为一些迷人的,具有想象空间的有趣特点:
1)在识别过程中同步发送操作指令,大幅简化操作流程。
声纹识别和我们常见的语音识别不一样。语音识别是共性识别,主要是为了听懂人的说话内容,即「说了什么?」,而声纹识别是个性识别,主要是为了判断说话人是谁,即「说话人是谁?」,由于他们是同一个输入源,通过组合甚至能实现一次输入完成从身份确认到意图识别两类指令要求,可将用户体验和使用效率都提升到极致,在这一点上,未来声纹交互创新有很大的想象空间。
①选择发红包功能 -> ②设定红包金额 -> ③设定接收人 -> ④输入支付密码 (或使用面容 / 指纹) -> ⑤最终确认
如果使用声纹 + 语音的方式发红包,实现路径则是:
①说出:「给张三发 52 元红包」-> ②最终确认
▲ 利用「声纹识别」+「语义识别」可以大幅提升流程效率 图源:自绘
语音红包路径更短,体验更优的原因是在发出「给张三发送 52 元红包」这句语音里既包括了功能指令(发红包)、也包括了接收人信息(张三),也包括了金额数(52 元),同时声纹也完成了「支付密码」的身份判断。用户只需最终确认就能实现整个功能,类似应用案例已由得意音通公司实现并在 CSDN2018 AI 开发者大会演示。
当然,不仅限于红包,在其它各类应用交互场景中,声纹同样能以更自然的方式同步实现产品交互与身份认证功能。不仅可以将复杂流程大大简化,也可以在一些特殊场景下(如驾驶、提物)解放双手。
2)声纹识别与人类对话交流的方式一致,用户接受度高。
这个特性使得人机对话变得极其自然,用户就像与朋友对话一样,不需要学习适应,就能对手机、家用设备甚至未来的机器人助理进行操作 / 授权。
3)在识别过程中可以检测到情绪意愿,能进一步提高安全性。
同样的语音指令,在自愿和受胁迫的情况下,可以接入不同的账户界面,或以静默形式给安全中心发送警告消息,帮助用户避免资产损失。
4)具有「可双向交互」特点,可实现「全过程」安全验证。
语音独有的「可双向交互」的特性,在连续分支逻辑的多变应用场景下,用户可以多轮调整语音命令 / 接收系统的语音响应,并实现多轮对话中反复校验声纹密码,确保整个流程确属同一用户操作完成。
5)能提供高可变性动态密码,增强抗攻击性,提升安全。
正如前文所说的,声纹比照检测的是说话人语音信号中提取声纹信息,而非固定内容,所以「密码」可以是任意内容,微信要求的只是最简单的「固定数字」,而建设银行 App 所采用的声纹密码内容已是随机变化,每次不同。
▲ 建设银行的声纹验证是「动态内容」,每次不同 图源:得意音通
声纹具有远程认证和操作的独特优势,可以广泛应用于银行和证券交易、声控锁、等领域的远程身份确认,并成为防欺诈的重要手段。在那些不便行动的老人远程领取社保、远程授权和远程活体检测等应用场景下可以让用户少跑路,办事更轻松。
7)是已知生物特征识别方式中客户端成本最低的一种。
声纹识别的客户端只需最普通的麦克风就可以实现,成本优势是其它生物特征无法比拟的。这是一种极具民主性的技术优势,有利于不同经济世界的民众共享科技进步。
8 )声纹是唯一的既有生理属性,又有行为属性的生物特征。
人脸、指纹、虹膜都单属生理属性,生理属性的显性因素相对更易被模仿和复制(比如指纹套攻击和高清虹膜照片攻击)。步态、签名,手势等单属行为属性,行为属性是一种下意识的习惯特点,模仿攻击更难。而声纹独有「双重属性」特点,使其具备更高的安全发掘空间。
除了上述的这些优点,事实上一条语音所包括的可检测信息远超我们的想象,除了声纹和语义,还包括了性别、情绪、语种、口音等等,真正做到了「形简意丰」,一方面,如果将这些信息叠加比对,在身份准确性和安全性上又可以进一步加强,另一方面,在未来交互领域有更多的交叉想象空间。
当然,正如指纹会受到污渍影响,面容会受到化妆或光线影响一样,声纹的限制影响主要来自于环境噪声影响。随着定向和抗噪设备的发展和降噪算法的成熟,这些问题的影响也越来越小。而上述的这些有趣特点,使我们对这种技术发展在未来应用机会更加看好和期待。
从无人值守的高速入口,到各种无人零售和无人酒店,未来社会,无人化场景将日益增加,人类将越来越处于「无监督身份认证」的社会环境下。考虑到证件与人身的可分离、可租借特点,其于人证合一的生物特征识方法别将逐步成为身份认证的主流。从「无监督身份认证」的五性要求上来看,声纹将发展出更多的场景机会。
▲ 相关生物特征识别类型的比较 图源:清华信息研究院
我们使用密码的本质是为了完成身份认证,特别是基于主动意愿的身份认证。然而在人类使用密码的数千年历史中,身份认证的安全性和方便性是一对矛盾的共同体。在今天,随着基于生物特征识别的「实人认证」技术发展,这对矛盾的消解正在逐步实现。生物特征识别带来的自然、无感等特性已经高度优化了我们身份认证的体验方式,持续增强了准确性和安全性。同时,受益于世界各国和组织所推行的隐私保护制度的完善(如欧盟 eID、美国 NSTIC、中国网络可信身份认证服务平台等),我们在享受无密码式身份验证的同时,更能有效保护用户隐私。
如果今天所使用的证件、NFC、扫码等身份认证方式已经让我们感受到非凡的便利,那么未来,随着生物性多因子验证、5G 网络和物联设备的进一步发展,人们甚至可以不携带任何设备、不记忆任何密码,就能实现身份认证,从而让包括出行、支付、账户管理等在内的工作生活体验变得更加安全可信和简洁优美,不仅能解放「懒癌」青年们的密码记忆痛苦,还能省下 1Password 的订阅费,这真是一个期待的未来。
参考来源:
https://www.mitre.org
http://www.d-ear.com/solution-show.jsp?table=solution&s=1
https://mp.weixin.qq.com/s/MYIBDMmKY5muf9yqfKhY5Q
https://www.leiphone.com/news/201603/rJQkLZsPuI1P1au5.html
https://36kr.com/p/5129031.html
http://www.tmtpost.com/1426877.html
作者介绍:
田飞,湖南工业大学副教授,清华大学信息研究院访问学者;郑方,清华大学教授,博士生导师,语音和语言技术中心主任,信息研究院前副院长。
本文为作者投稿(投稿邮箱:tougao@ifanr.com),爱范儿经授权发布。
苹果春季发布会详情曝光,豆瓣因《流浪地球》打分过低被打一星
好看的人都点了👇