我们从未像现在这样接近无处不在的全局身份 (ID)。在双因子身份验证(2FA)/ 多因子身份验证(MFA) 的加持下,好处尽在掌握而风险得到控制。
ID,曾是计算机安全防御方面唯一重要的安全边界。只要可访问多个域的 1 个登录凭证被盗,物理边界、防火墙边界、安全域、虚拟网络等等,全都不再重要了。
今天的 ID 解决方案,可以 1 个凭证就访问成百上千个不同的安全域,但同时又保持处于整体风险很低的状态。这是怎么做到的呢?
ID 技术早期
在计算机和网络技术早期,大多数人都只用 1 个 登录名 & 口令 对来访问全部资源。由于 1 台计算机被感染,就会导致共享该相同登录凭证的其他所有计算机也遭殃,这种 1 个凭证走天下的做法被证明是非常糟糕的策略。每个人都被建议为自己访问的各个系统创建不同的口令。
ID 技术中期
随着大多数人如今都需要用口令访问几十上百个不同资源,若要每个资源用单独的口令,就会要求要么把口令全都写下来,要么用口令管理器把所有口令存储下来,在访问时自动登入,要么采用某种形式的 单点登录 (SSO) 解决方案。
SSO 解决方案在企业里非常盛行,口令管理器则在家庭用户中间非常普遍。但这两种类型的解决方案无法在全部的安全域和平台中适用。一些广泛应用的 SSO 解决方案被创建出来,比如微软的 Passport 服务和去中心化的 OpenID 标准。尽管全球采用的承诺很诱人,所有中期 SSO 解决方案没有一个真正成功了。
当今的 ID 技术
社交媒体杀手级 App,比如 Facebook 和推特,无情碾压过其他 ID 竞争者,方产生了 ID 大战中的新胜者。庞大的用户数量,确保了他们无论使用哪种解决方案和协议,最终都会成为全球通行方案。新的全局 ID 标准和解决方案几乎一夜之间冒头。至少,在 ID 观察者眼中是这样的。
新解决方案并非总能获得全球认可。这个世界上,还有很多聪明专注的人,长期以来都在磨砺其他可能更棒的解决方案,这部分人感受到了深深的伤害。但都不重要了。要么吸收,要么落后。
最初的阵痛过去后,纷争平息,强势的新标准最终被认为是不错的东西。结果就是,我们可供选择的 SSO 身份验证标准更少,但更广为接受。而且这些标准在企业和消费者两种平台中都能应用。
说到今天的 ID 解决方案,下列协议和解决方案简直信手拈来,没用过也听过:Facebook 的 Graph API、OAuth、OpenIDConnect、xAuth、SAML、RESTful 和 FIDO 联盟。数十年的尝试过后,通用 ID 的世界终于达成。很多网站上,你可以用 Facebook、推特或喜欢的 OAuth/xAuth SSO 来验证身份。互操作问题依然存在,但这些障碍正飞速瓦解。
今天,你可以使用 口令、手机、数字证书、生物识别特征、2FA 或 MFA SSO解决方案,来登录各种网站。每个 ID 都有不同的“属性”或相关“声明”,关联至 1 个或多个受信设备,有不同的保证级别,可用于不同的网站。
当然,目前并非全部网站都接受了 SSO,但我们距离这一将来并不太远。不过,我们真的想要吗?
我们大多数人都会有用不同身份应对不同事务的需求。比如说,大部分人都有工作和私人账号。我的工作要求能随时保有所有工作相关内容,甚至要能够在雇佣终止时立即清除所有工作内容。同时,我并不希望工作上的管理员可以访问我在家庭电脑上的个人内容浏览历史。我不想让自己的个人文档出现在工作计算机上,反之亦然。这种情况在当前全局 ID 无孔不入的大环境下,还是经常发生的。比如说,家里小孩把 iPod 插入大人工作电脑充电,iTunes 就自动同步大人的工作文档到小孩 iPod 上——很惊悚,很危险,但经常发生。
完美单一 ID
如果能用 1 个全局 ID 畅行不同“身份”,比如“工作的你”、“家庭的你”……;能 1 个 ID 应用到不同用例场景;能确保不同内容和资源各自隔离;那世界就完美了。或许未来能实现,但目前恐怕还没走到这一步。
单点登录引入更多风险?
或许你会担忧,1 个统一的 ID(或者更少但更通行的 ID),会不会意味着一旦该 ID 被盗,所有内容都曝光在黑客眼中,后果严重到不堪设想。毕竟,用单点登录,跟用同一个口令登录所有注册网站,从哪方面看都太像了。难道我们绕这一大圈,只是为了走回原点?
只要做对了,多半是不会绕一圈又绕回老问题的。
如果你用的全局 ID 从源头就被黑了(比如 ID 提供商),被黑 ID 有可能被用在更多地方,风险自然更大。举个例子,坏人拿到了你的 Facebook 登录名和口令,你所有用 Facebook 账户凭证登录的地方他就都能访问了。
但这也正是 Facebook,以及大多数其他流行社交站点和身份验证提供商,主推更强壮的 2FA 和 MFA 解决方案,而你也应该使用 2FA/MFA 的原因所在。这样一来,即便黑客获取了你的口令,他也得不到(至少不会立即获得),你身份验证所需的第二个因子或物理设备。
另外,大多数全局 ID 解决方案,并不会在所有参与站点上使用单一身份验证令牌。相反,你的“全局令牌”被用来创建特定于各站点 / 会话的身份验证令牌,令牌间不存在交叉使用的情况。这意味着,即使你用全局身份验证令牌登录的某个站点被黑客攻破,该令牌也无法应用到其他站点上。这是双赢解决方案,比共享口令好多了。
生物特征识别的隐忧
其实不担心生物特征识别的随意使用,或者无需担心生物特征不定哪天就被存储到每个人的全局 ID 账户中。生物特征识别技术从来都不像表现出来的那么神奇。它们根本没有号称的那么精确,很容易被伪造,还经常罢工(手上有汗或者稍微脏点儿的时候去按按指纹打卡机试试,你老板会很乐意扣你全勤奖的)。
但假设你是个指纹识别忠实粉丝,你想用指纹访问任意网站,然后你挑了个能接受指纹的全局身份验证提供商。听起来很棒的主意。但是,一旦我们开始在全局 ID 中存储指纹,攻破了该 ID 提供商的攻击者就将获得你的指纹——永久性的。他们有可能以你的名义,横行在所有接受你指纹的其他网站上。毕竟,你又不可能把自己的指纹改掉。
目前为止,有两样东西在阻止生物特征 ID 盗窃问题蔓延(除了生物特征识别技术并未在手机和笔记本之外的很多用例中被接受的事实)。
- 其一,大多数生物特征都是本地存储并使用的。这意味着黑客必须实地接触到你的设备,才能破解并拿到你的生物特征 ID。而且,即便他拿到了,该生物特征也用不到其他设备上。
- 其二,一旦你使用生物特征 ID 登录,此后的身份验证就是:验证系统使用上述讨论过的其他身份验证方式之一。除了你的指纹,还用一些其他身份验证令牌。你的生物特征 ID 一般是不离开你的本地设备。而如果人们开始过度依赖全局生物特征识别身份验证,这种情况就会发生变化了。
总结
我们从未像现在这样接近无处不在的全局 ID。目前的最佳实践是:对全局 ID 启用 2FA/MFA。这样才能利益最大化而风险最小化。
相关阅读
- Authing 是什么以及为什么需要 Authing
- 我们为什么坚持做 ToB 的慢生意
- Authing 知识库
原文链接:https://www.aqniu.com/learn/2… 作者:nana 星期五, 六月 16, 2017
什么是 Authing?
Authing 提供专业的身份认证和授权服务。
我们为开发者和企业提供用以保证应用程序安全所需的认证模块,这让开发人员无需成为安全专家。
你可以将任意平台的应用接入到 Authing(无论是新开发的应用还是老应用都可以),同时你还可以自定义应用程序的登录方式(如:邮箱 / 密码、短信 / 验证码、扫码登录等)。
你可以根据你使用的技术,来选择我们的 SDK 或调用相关 API 来接入你的应用。当用户发起授权请求时,Authing 会帮助你认证他们的身份和返回必要的用户信息到你的应用中。
<div align=center>Authing 在应用交互中的位置 </div>
- 官网:http://authing.cn
- 小登录:https://wxapp.authing.cn/#/
-
仓库: 欢迎 Star,欢迎 PR
- https://gitee.com/Authi_ng
- https://github.com/authing
-
Demo:
- https://sample.authing.cn
- https://github.com/Authing/qr…
- 文档:https://docs.authing.cn/authing/
欢迎关注 Authing 技术专栏