后台二次验证组件

自研安全插件 · TOTP 动态口令

后台二次验证组件

点击图片可放大查看

类别自研组件
一句话说明自研安全插件 · TOTP 动态口令
技术标签TOTP 二次验证、纯 PHP 二维码、备用码、防暴力破解、零外部依赖
TOTP 二次验证纯 PHP 二维码备用码防暴力破解零外部依赖

项目说明

后台登录加固一向是个难题,难在哪里呢?

无论怎么隐藏后台登录网址,总有可能被扫出来。

过于依赖浏览器自动填写密码登录,哪一天自己就会不记得密码了。

后台登录二次验证是个好方法,低成本高效率,防攻击,完美!

交付时间轴

需求

后台只有密码一道防线,口令泄露即失守,需要一个不依赖短信网关的第二因子。

选型

对比短信验证码与 TOTP 动态口令:前者有成本且依赖运营商,后者离线、免费、可自证,选定 TOTP(RFC 6238)。

实现

纯 PHP 写出 HMAC-SHA1 动态码算法;为了不依赖 GD 扩展,连二维码编码器(ISO/IEC 18004)也自己实现了一套。

加固

绑定密钥只在确认后才落库、备用码用 password_hash 存储且一次性失效、关闭二次验证必须再输一次动态码。

自证

附带一个自检页:跑标准测试向量、RS 校验子与编码解码往返,并现场生成二维码供手机实扫比对。