文章插图
定义
- 提到OAuth , 可以想像这样一幅画面 , 在一个炎热且忙碌的夏天 , 小明与妻子在公司不分昼夜的赶着项目 , 可家里又有老人需要照顾 , 所以小明决定请一个保姆照顾老人 , 但是又觉得如果保姆能在家里乱走的话很不放心 , 就授权给保姆一个只能打开老人房门且有效期仅为7天的临时密码凭证 , 之后一周内保姆拿着这个临时密码凭证便可以不经过小明同意随意出入老人房间 , 但不能进入小明和他妻子的房间 。
- 我们把上面的例子搬到互联网 , 就是 OAuth 的设计了 , OAuth与OpenID最大的区别就是 , OpenID是一种认证协议 , 是开放平台给第三方一个能够代表用户身份的唯一标识 , 而OAuth是一种授权协议 。授权允许第三方直接从开放平台读取用户信息 。
- 使用门槛变低 , 免去注册流程 , 且用户不再需要输入密码 , 可直接使用第三方登录 , 有利于产品的广泛传播
- 由于客户端不在需要输入密码 , 很大程度上减少了安全风险 , 客户端不接触用户密码 , 服务器端更易于集中保护
- 客户可以具有不同的信任级别 , 级别越高 , 可获取资料越多
- 依赖开放平台的安全防护能力 , 因为开放平台本身也可能是使用账号密码登录或者其他第三方平台登录 , 所以开放平台本身也会出现一定的安全风险 。如果开放平台本身出现安全问题 , 那么所有与其关联的第三方认证站点都将会出现安全问题
- 依赖开放平台的授权 , 如果开放平台的稳定性不达标 , 会导致自身登录稳定性差 。如开放平台暂时不可用 , 则自身登录也不可用 , 如果开放平台恶意不给予授权 , 那么用户将无法登录 , 这个在较大的站点上是致命的 。
- 用户流失的风险 , 因为用户只记得是用第三方登录的 , 而往往不是该网站的帐号 , 弱化了自身账号的影响力 。
- 站点获取到开放平台用户的临时权限后利用这些权限来做什么完全由该站点决定 , 在一定程度上会带来安全隐患 。
第三方登录简化了注册登录流程 , 用户在使用时大部分情况下都不需要输入账号密码来进行登录操作 , 但第三方登录依赖开放平台 , 开放平台依然需要进行账号密码的储存与管理 , 而且当开放平台出现安全事故时 , 所有通过该平台登录的站点都将面临安全风险 。
2FA 双因素认证
什么是双因素认证
- 双因素认证也叫二次验证就是指同时使用两种及以上能够证明自己身份的方式进行验证 , 双因素认证就是在使用用户名密码登录网站、应用、账号之后 , 还需要一个验证码才能正常登录 。
- 其实双因素认证早在十几年前就已经开始应用 , 诸如短信验证码、邮件验证码、动态令牌、RSA电子动态令牌等都属于双因素认证 。各大网银广泛使用的各种盾、各种 Key 其实也属于双因素认证 , 包括短信验证码 , 它能够让用户的数据多一层保护 。
文章插图
常见的双因素认证方法
- 第一种是短信验证 , 也是目前较为常用的 , 每一次认证时会生成短信验证码发送到指定手机上 , 输入的内容与发送的内容一致则完成认证 。
- 第二种是认证APP , 基于TOTP的加密算法 , 利用应用与认证APP共同持有的种子密钥 , 每隔30秒生成一个新的6位验证码 , 应用与APP之间的验证码一致则完成验证 , 通常在公司内部使用的VPN就是采用这种方式来进行身份验证 。
- 第三种是登录确认的方式 , 这种方式不需要输入验证码 , 而是通过登录确认点击的方式来完成双因素认证的过程 , 这种方式是通过公钥加密算法来确认你的身份 , 应用会生成一个密钥对 , 私钥存储在本地 , 公钥发送给服务端作为用户信息存储 , 当用户进行登录操作时 , 服务端会用公钥加密一段信息发送到你的设备上 , 只有拥有正确私钥的设备才能解密并完成二次认证 。
推荐阅读
- 聊聊java中的进制问题
- 烤箱做蛋糕回缩的原因 烤箱做蛋糕会回缩是怎么回事
- 微信公众号的推广渠道和方法
- 智能马桶冲的菊花疼怎么办 智能马桶一冲菊花就想拉屎怎么回事
- 马桶阻尼器安装步骤 怎样拆马桶盖的阻尼器
- 常用前端监控告警工具介绍
- 利用jQuery实现简单的数据双向绑定
- 世界上最贵的蜂蜜是多少钱一斤
- 领券中心项目,我是如何用 Redis 做实时订阅推送的?
- 网站被植入webshel??l导致网站瘫痪,网络安全防范太重要了