• Web验证


    web验证

    ++摘自《奇舞周刊》-《奇舞团资深前端教你,什么是Web验证》作者:韩永刚++

    方案一:传统身份验证

    注册

    • 账号密码加密入库

    登录

    • 账号密码加密后与库中账号密码比对
    • 一致则登录成功,不一致则失败

    存在问题

    • 登录环境不安全,账号输入时可能被监控
    • 发送过程中可能被劫持
    • 入库后可能被黑客攻击而泄露密码
    本质问题:账号密码需要手动输入,且同一个账号密码可能注册多个站点,容易造成泄露

    方案二:第三方登录

    OpenID:开放认证协议——帮网站确认一个用户的身份

    特点:
    • 去中心化:任何网站既可以是身份提供者,又可以是身份使用者
    • 在一个作为OpenID提供者的站点注册,eg:google
    • 接入简单:将用户导向OpenID Provider的Entry并带上callback,只要用户同意认证,即可实现登录
    • example.com ---向Google认证页面请求认证--> 同意认证,返回唯一标识
    优点:
    • 免去注册流程
    • 客户端不再需要输入账号密码,降低安全风险
    缺点:
    • 依赖第三方平台,因此第三方平台的安全性很重要,牵一发而动全身
    • 开放平台的稳定性不达标,可能影响使用
    • 用户流失的风险

    oAuth:开发授权协议——授权第三方在可控范围内访问用户资源

    • 1.example.com ---请求授权-------> Google授权页面
    • 2.example.com <--同意并返回code-- Google授权页面
    • 3.example.com ---code换token----> Google服务
    • 4.example.com <----返回token----- Google服务
    • 5.example.com -携带token访问资源-> Google服务
    • 6.example.com <---返回资源------- Google服务

    方案三:双因素认证

    使用两种及以上能够证明自己身份的方式进行验证
    • 短信验证码、邮件验证码
    • 动态令牌
    • 认证APP,基于TOTP加密算法,利用应用与认证APP共同持有的种子秘钥,每隔30s生成一个新的6位验证码,应用与APP之间的验证码一致则完成验证。
    • 登录确认的方式:不需要输入验证码,而是通过登录确认点击的方式来完成双因素认证的过程。通过公钥加密算法来确认你的身份,应用会生成一个秘钥对,私钥存储在本地,公钥发送给服务器作用用户信息存储,当用户进行登录操作时,服务器会用公钥加密一段信息发送到你的设备上,只有拥有正确私钥的设备才能解密并完成二次认证。

    方案四:WebAuthn(web验证的未来)

    • 由W3C万维网联盟发布的Web标准
    • 提供一系列标准化的协议,让用户告别过去繁琐且不安全的账号密码登录方式,以实现安全的无密登录体验为目的。
    • 允许用户直接使用设备的指纹识别、面部识别、虹膜识别、声音识别、实体秘钥(usb连接、蓝牙连接、NFC连接)等方式来进行登录验证。
  • 相关阅读:
    ocx文件转换成C#程序引用的DLL
    CSS颜色代码 颜色值 颜色名字大全(转载)
    WinForm轻松实现自定义分页 (转载)
    如何:使用PicturBox实现类似淘宝网站图片的局部放大功能
    转载jQuery图片放大插件[twiPicZoom]
    LINQ查询返回DataTable类型
    最喜欢的VS 键盘快捷键摘抄
    Codeforces Round #336 (Div. 2)B 暴力 C dp D 区间dp
    Educational Codeforces Round 24 A 水 B stl C 暴力 D stl模拟 E 二分
    poj 1185 状态压缩
  • 原文地址:https://www.cnblogs.com/nanhuaqiushui/p/11782720.html
Copyright © 2020-2023  润新知