欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

建立在Django的双因子实现认证目的

来源:本站整理 作者:佚名 时间:2017-10-12 TAG: 我要投稿

双因子简介
对付收集信息体系来讲,可否辨认利用者的身份,是可否确保网安的根基和症结。在现实利用中,许多收集信息体系都邑请求利用者在利用体系以前,供给一些相干信息用以完成对利用者的身份认证。双因子身份认证技巧补充了传统暗码认证办法的许多弊病。 可用于认证的因子可有三种:第一种因子最罕见的便是口令等常识,第二种因子好比说是IC卡、令牌,USB Key等什物,第三种因子是指人的生物特性。所谓双因子认证便是必需利用上述三种认证因子的随意率性二者的组合能力经由过程认证的认证办法。
双因子认证(2FA)是指联合暗码和什物(信用卡、SMS手机、令牌或指纹等生物标记)两种前提对用户停止认证的办法。
OTP全称叫One-time Password,也称静态口令,是依据专门的算法每隔60秒天生一个与光阴相干的、不可预测的随机数字组合,每一个口令只能利用一次。这里利用OTP作为django的双因子认证。
双因子的django完成
① 引入django的双因子模块。参考模块的地点:https://pypi.python.org/pypi/django-otp/  此中 https://django-otp-official.readthedocs.io/ 介绍了详细的模块利用办法。
现实利用中能够利用 pip install django_otp 装置(请求django版本>=1.8)
② 改动settings.py 文件 。引入django_otp的模块,此中留意 MIDDLEWARE 中django_otp.middleware.OTPMiddleware 中央件的地位。而后履行 python manage.py migrate otp_totp 天生对应的表

③ 在必要支撑otp认证的代码逻辑处引入django_otp的接口。
此处的逻辑(这里利用了django的登岸模块)是在用户登录时,必要将用户名和otp的口令衔接在一路利用。
起首将django_otp的模块import出去,而后再从password中提掏出otp的口令,在颠末django的认证以后,再停止口令的校验(match_token), 假如otp认证胜利, 则login胜利,不然失败。

④ 激活用户的otp客户端
起首,要将用户引入到otp认证中。 登岸django的admin治理后盾,将用户增加到otp相干的表中。中央省略了ADD TOTP DEVICE。
必要履行 pip install qrcode 支撑天生二维码


而后会在otp表中天生用户客户端的二维码,利用户的otp对象(测试利用的是 FreeOTP)辨认这个二维码后,便可激活otp功效。在登岸输出暗码时,必要将暗码+otp对象的口令一路输出便可

附一张FreeOTP 图片(手机Freeotp利用制止截屏),也许便是长这个模样, 右上角 + 增加辨认的二维码

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载