当前位置: 首页 > article >正文

OTP一次性密码、多因子认证笔记

文章目录

      • 双因子认证(多因子认证)
      • otp算法(ONE-TIME PASSWORD)
        • otp算法大概分为几部
      • otp的机制
        • 服务端
        • 客户端(app端)
        • 两种主流算法
        • otp流程图
      • otp是通用的吗

手机验证码天天在用,但是居然不知道这个是otp,伤自尊了,必须弄清原理。

先要知道几个概念。

双因子认证(多因子认证)

这个比较好理解,账号+密码认证是最基础的认证。
再加一层手机otp认证就是双因子认证。
如果还有其他认证,就叫多因子认证。

otp算法(ONE-TIME PASSWORD)

一次性算法

otp算法大概分为几部

密钥生成
密码生成

otp的机制

服务端

保存账号、密钥、客户等信息。
当您需要绑定时,会将上述信息以二维码的形式展现出来。

客户端(app端)

客户端扫描二维码,主要是密钥、账号及客户名称等信息。
这样就在app端添加一条对应记录。
因为算法是一致的,所以 密钥+计数器 算出的结果也会一致。
这样app端获取到的验证码发给服务器验证,一致就会通过,登录成功。

注:发现了吧,因为密码等信息都在二维码上,也就是说,谁获取到了二维码,就相当于具有了获取验证码的能力。所以一定要妥善保管二维码,如果泄露了,他人就有能力来登录了。

两种主流算法

1、totp
基于时间的算法,主流。

基于时间主要是解决计数器问题,而基于时间做计数器非常方便,例如以30s为步长,当前时间毫秒数/30,就可以作为计数器的值。

既方便,还有一定的容错,即使差个一两秒问题也不大。

2、hotp
基于hashcode的算法。(这个用的不多,基于时间的用的多)

otp流程图

otp是通用的吗

是通用的,实现otp功能的app不只一个。
如:
freeotp
google身份验证器
身份宝

实际上都是可以的,但是双因子客户一般会推荐一个,那就按推荐的来吧,也没任何问题。


http://www.kler.cn/news/367336.html

相关文章:

  • vscode配色主题与图标库推荐
  • python爬虫——Selenium的基本使用
  • ArcGIS001:ArcGIS10.2安装教程
  • Django进一步掌握(10月22日)
  • TDengine 签约新奥新智:写入速度提升10倍,成本降低90%
  • ClickHouse在百度MEG数据中台的落地和优化
  • Java Web项目实战:从零基础到项目开发全流程
  • 力扣10.26
  • 标题:自动化运维:现代IT运维的革新力量
  • 基于SpringBoot+Vue在线课程管理系统(源码+部署说明+演示视频+源码介绍)
  • 国内大语言模型哪家更好用?
  • SMA-BP时序预测 | Matlab实现SMA-BP黏菌算法优化BP神经网络时间序列预测
  • 扩散策略的变体与改进:从3D扩散策略到赋能人形机器人的iDP3(含Diff-Control和ControlNet详解)
  • Django 项目的创建
  • 微软发布 Win11 22H2/23H2 十月可选更新KB5044380!
  • Mybatis工作原理
  • Flink-cdc Schema Evolution 详解
  • 聊聊Web3D 发展趋势
  • 信息学奥赛后的发展路径:科技创新、竞赛选拔还是学术研究?
  • 短信验证码发送实现(详细教程)
  • bug记录, 构造与赋值???zzg::list<int> l; l = { 1, 2, 3 };为什么没写对应的赋值函数却可以跑?
  • Rust中的Send和Sync特征:确保并发安全
  • STM32硬件平台
  • Android——事件冲突处理
  • 时间序列预测(九)——门控循环单元网络(GRU)
  • HTTP快速入门