• 身份认证


    (1.) 基于口令

    一般将口令存储在数据库中,拿用户键入的口令和存储的口令比较,根据比较结果授予访问权限

    (1.1) 明文认证

    直接在数据库中存储口令明文

    简单,成本低,但是不安全

    (1.2) 引入散列

    将口令哈希后存储在数据库中,每次登陆时判断用户输入的口令的哈希值和存储的哈希值是否一致

    可能被彩虹表破解

    (1.3) 加盐

    给口令加盐之后哈希,将哈希值和盐一起存储在数据库中,用户登录时,将用户输入的口令加盐哈希,判断是否一致

    加盐本质上等于改变了哈希函数,使得彩虹表破解难以实现

    (2.) 基于生物特征

    • 指纹鉴别
    • 声音鉴别
    • 手迹鉴别
    • 虹膜扫描
    • 手形及掌纹
    • 面相
    • (DNA)

    (3.) 零知识证明

    零知识证明 考虑证明者 (P) 和验证者 (V)(P) 在不让 (V) 知晓信息内容的前提下,向 (V) 证明自己知晓信息,满足

    • 完备性 ( extbf{Completeness})(P) 可以证明,那么 (V) 有理由相信,即 (V) 无法欺骗 (P)
    • 正确性 ( extbf{Soundness})(P) 无法证明,那么 (V) 有理由不相信 (P),即 (P) 无法欺骗 (V)
    • 零知识性 ( extbf{Zero-Knowledge}) 证明过程 (P) 不泄露任何信息,即 (V) 无法获得额外信息
  • 相关阅读:
    Dubbo框架——整体架构
    ie8不支持的数组方法
    前端面试问题
    Cookie和WebStorage的区别
    flex部局 API
    组合继承介绍
    克隆节点
    键盘事件
    js动态创建元素和删除
    js中的节点属性 和上下级访问关系
  • 原文地址:https://www.cnblogs.com/ChenyangXu/p/14241991.html
Copyright © 2020-2023  润新知