Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >多因子类身份认证

多因子类身份认证

作者头像
Al1ex
发布于 2024-01-02 04:59:41
发布于 2024-01-02 04:59:41
1.2K0
举报
文章被收录于专栏:网络安全攻防网络安全攻防
文章前言

密码作为我们平时最常使用的用户身份验证方式有其便捷性,但是仔细思考你也不难发现其中存在着较多的安全问题。首先我们的密码是由用户自我定义设置的,期间不排除用户设置弱口令密码或者使用键盘布局的脆弱密码(当然部分考虑安全的系统会制定对应的密码策略对其进行限制),其次即便我们使用了极为复杂的密码,也不能完全规避"社工钓鱼"和"中间人"攻击等威胁,攻击者可以通过脱浏览器端的凭据信息等方式获取用户的密码,再者就是用户都有一个特征就是"惰性",很多用户在多个网站可能会使用同一个登录密码,故此攻击者可以通过找寻被泄露的账户密码获取到真实的账户密码信息并实现登录操作,基于以上多个风险层面,我们接下来对用户的身份认证进行简易的探讨并结合业务、测评等维度给出关联的安全设计

身份认证

身份认证是一种确定用户身份的过程,它使系统能够验证用户是否具有访问特定资源或者执行敏感操作的权限,在认证过程中用户需要提供身份因子来进行认证,常见的身份认证因子有以下几种:

  • 知识因素: 用户知道的信息,比如:常见的密码、个人识别码(PIN))或密码、预先设定的安全问题答案
  • 持有因素: 用户拥有的事物,比如:硬件令牌、智能卡、手机、USB密钥,通过设备上的特定代码、令牌或证书来证明身份
  • 生物因素:用户个人特质或特征,比如:指纹识别、面部识别语音识别,以及诸如击键特征和语言模式等行为生物识别特征
  • 位置因素:用户个人所处的位置,比如:组织可以限制位于特定位置的特定设备进行身份验证尝试,具体取决于员工登录到其系统的方式和位置
  • 时间因素:用户在特定时间内的请求,比如:在限定时间内用户才能登录到服务,此时间之外的所有访问尝试将被阻止或限制
2FA认证
基本介绍

双因子认证(Two-Factor Authentication,2FA)是一种身份验证方法,要求用户提供两个独立的身份验证因素来确认其身份,其中的第一个身份因素即为"What you know(你知道的东西)",第二个身份因素即为"What youhave(你所拥有的东西)"或者"What you are(你所具有的特征)",双因子认证与传统的用户名和密码认证相比提供了更高的安全性,因为攻击者需要同时获取两个因素才能成功通过身份验证

认证流程

双因子身份认证的工作流程大致如下:

  • 用户发起登录或敏感操作:用户在登录网站、应用程序或进行敏感操作时触发身份验证过程
  • 用户提供第一个身份因素:用户提供第一个身份验证因素,通常是用户名和密码
  • 第一个身份因素验证操作:系统接收到用户名和密码后,验证这些凭据是否正确。如果验证成功,将继续进行下一步
  • 用户提供第二个身份因素:用户需要提供第二个身份验证因素,通常是物理设备上的代码、令牌或证书
  • 第二个身份因素验证操作:系统接收到第二个因素后,验证其与用户账户关联的信息是否匹配
  • 用户双因子身份验证通过:如果第一因素和第二因素均验证通过,则用户的身份得到确认,可以继续访问账户或执行敏感操作
OTP技术

OTP(One-Time Password,一次性密码)技术是一种常见的身份验证方法,用于在每次身份验证过程中生成一次性的、临时的密码,该密码只能在特定时间段内使用并且在使用后立即失效,提供了额外的安全性保护

OTP的工作流程如下:

  • 用户在进行身份验证时,系统会生成一个基于OTP算法的一次性密码
  • 系统将该密码发送给用户通过预先配置的通信渠道(例如:短信、电子邮件、身份验证应用程序等)
  • 用户在身份验证过程中输入所接收到的一次性密码
  • 系统验证用户输入的密码是否与生成的密码匹配,从而验证用户的身份

OTP的实现方式主要有以下几种:

  • 时间同步OTP(Time-based OTP,TOTP):基于时间的OTP使用时钟同步机制生成一次性密码,用户和系统之间共享一个密钥,结合当前时间生成密码,常见的实现包括Google Authenticator和Microsoft Authenticator等应用程序
  • 基于计数器的OTP(HMAC-based OTP,HOTP):基于计数器的OTP,使用哈希算法生成一次性密码,用户和系统之间共享一个密钥和计数器,每次使用时计数器增加,常见的实现包括YubiKey硬件令牌
认证实现

下面是几种常见的双因子认证实现技术:

软件令牌

实现方式:用户在登录时会收到一条包含验证码的短信,系统会将用户输入的验证码与发送到用户手机的验证码进行比对,如果验证成功则允许进行下一步操作

简易示例:当用户登录谷歌账户时谷歌身份验证器应用程序会生成一个动态验证码,用户需要在登录过程中输入正确的验证码以完成身份验证

硬件令牌

实现方式:硬件令牌通常是一个小型的物理设备,用户需要按下按钮或通过其他方式激活令牌,生成一次性的动态验证码

简易示例:中国银行的U盾身份认证

SMS 2FA

实现方式:用户尝试登录应用程序或服务时会用到短消息服务(SMS)和文本消息2FA因素,SMS消息将被发送到用户的移动设备,其中包含用户随后输入到应用程序或服务的唯一代码,银行和金融服务部门曾使用这类2FA因素,用于验证客户在线银行账户的购买和变更情况,但是考虑到文本消息容易被拦截,他们通常会放弃此选项,同时等保测评中也不建议使用此类方法

简易示例:用户登录时第二部要求用户输入短信验证码

推送认证

实现方式:用户在进行登录或者敏感操作时进行消息的推送并要求用户进行授权操作

简易案例:用户操作认证授权操作

免费工具

下面介绍几种开源免费的2FA工具:

Authy

项目地址:https://authy.com/

项目介绍:Authy是一款二次验证应用,基于TOTP协议,可以在不同设备中同步,支持设置主密码,Authy适用于AndroidiOS移动设备以及Windows,Apple Watch,桌面程序等全平台

2FA Authenticator

项目地址:https://github.com/twofas

项目介绍:2FA Authenticator支持导出并且谷歌云盘备份,与500多种服务兼容,可生成基于时间的一次性密码、推送通知和云同步以备份您的身份验证令牌

Authenticator Pro

项目地址:https://github.com/jamie-mh/AuthenticatorPro

项目介绍:Authenticator Pro是一款面向Android的免费开源双因素认证APP,支持TOTP、HOTP、mOTP (Mobile-OTP)和Steam,适配Wear OS并且可以从Steam、Authy、微软、Google、Blizzard 等其他二次验证应用中导入已经存在的配置

Ente Authenticator

项目地址:https://github.com/ente-io/auth

项目介绍:Ente Authenticator 是一款开源的2FA(Two-factor authentication)工具,支持Android与iOS,桌面客户端即将发布,拥有云存储、跨设备同步、端对端加密、导入导出等功能

Google Authenticator

项目地址:https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2

项目介绍:Google Authenticator,也被称之为"Google身份验证器",是由谷歌出品的软件,支持Android与iOS客户端,也是我们平时使用最多、接触最多的一种了

Mattrubin Authenticator

项目地址:https://github.com/mattrubin/Authenticator

项目介绍:Mattrubin Authenticator是一款简单、免费、开源的二次验证(双重身份验证)工具,目前仅支持IOS

Aegis Authenticator

项目地址:https://github.com/beemdevelopment/Aegis

项目介绍:Aegis Authenticator免费开源的二次验证(2FA)应用,可以导入导出,加密,自定义图标,夜间主题,选中高亮,目前仅支持Android

Microsoft authenticator

项目地址:https://www.microsoft.com/security/mobile-authenticator-app

项目介绍:Microsoft Authenticator是微软发布的 二次验证应用,它能够帮你在不输入密码的情况下登录Microsoft账号并管理其他网站的二次验证码,支持从Edge浏览器中同步密码并可以在 iPhone与Android设备上自动填充密码

MFA认证

MFA(Multi-Factor Authentication,多因子认证)是一种更加强化安全性的身份验证方法,要求用户在登录或进行敏感操作时提供多个独立的身份验证因素,MFA与双因子认证类似,MFA引入了额外的因素来增加账户的安全性,双因子认证也算是广义上的MFA认证方式,MFA在双因子的认证基础之上还需要进行进一步的强化,引入新的认证因子

文末小结

多因子认证(MFA)是一种增强安全性的身份验证方法,要求用户提供多个独立的身份验证因素,通过结合不同类型的认证因素,例如:知识因素(密码)、物理因素(硬件令牌)、生物因素(指纹识别)和位置因素,MFA提供了更高级别的安全性,有效防止密码泄露、恶意访问和社会工程等攻击

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七芒星实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
密码管理和2FA管理软件
现在网络上各种网站服务非常多,每个人至少都有注册过几十上百个网站,账号密码的管理显得尤为重要,很多人为了便于记忆,多种账号采用相同的密码,这种做法非常不安全,因为一旦有一个平台的密码泄露,就很容易被撞库攻击。
六月河
2023/06/26
1.4K0
[信息安全] 4.一次性密码 && 身份认证三要素
在信息安全领域,一般把Cryptography称为密码,而把Password称为口令。日常用户的认知中,以及我们开发人员沟通过程中,绝大多数被称作密码的东西其实都是Password(口令),而不是真正意义上的密码。本文保持这种语义,采用密码来代指Password,而当密码和口令同时出现时,用英文表示以示区分。 0. OTP一次性密码 OTP是One Time Password的简写,即一次性密码。在平时生活中,我们接触一次性密码的场景非常多,比如在登录账号、找回密码,更改密码和转账操作等等这些场景,其
blackheart
2018/01/19
2.1K0
[信息安全] 4.一次性密码 && 身份认证三要素
身份认证之双因素认证 2FA
这里所说的身份认证,指的是狭义上的在计算机及其网络系统中确认操作者身份的过程,从而确定用户是否具有访问或操作某种资源的权限。
出其东门
2021/03/16
3.2K0
使用越来越广泛的2FA双因素认证,缘何越发受到推崇?
随着互联网在生活方方面面的应用,日常少不了要登录各个网站或者应用、或者是银行转账等需要验证自己身份的场景。从早期的输入账号密码来登录,到后来普遍开始通过手机验证码进行登录、或者APP扫码进行登录,身份校验的操作方式经历了一轮又一轮的迭代演进。
是Vzn呀
2024/11/22
2161
如何在Ubuntu 18.04上配置多重身份验证
双因素身份验证 (2FA)是一种身份验证方法,需要输入多条信息才能成功登录帐户或设备。 除了输入用户名和密码组合之外,2FA还要求用户输入一条额外的信息,例如一次性密码 (OTP),如六位数的验证码。
用户2323866
2021/06/18
2.9K0
【送书活动四期】被GitHub 要求强制开启 2FA 双重身份验证,我该怎么办?
由于破解第二个认证因子需要付出更多,并且其他类型的因子更难以窃取或伪造,因此 2FA 可提高帐户安全性,并更好地保护组织及其用户免遭未经授权的访问。
鲲志说
2025/04/07
1010
【送书活动四期】被GitHub 要求强制开启 2FA 双重身份验证,我该怎么办?
Zabbix 7.0 LTS MFA 多因素身份验证
Zabbix 7.0 版本支持企业级 MFA多因素身份验证(MFA)认证,登录Zabbix 除了用户名和密码之外,还需提供了额外的安全层,增强Zabbix 前端的安全性。使用MFA,用户必须存在于Zabbix中,登录时提供Zabbix凭据同时还必须通过多因素身份验证证明自己的身份。
Kevin song
2024/06/11
4660
Zabbix 7.0 LTS MFA 多因素身份验证
安全资讯|Android恶意软件可以窃取谷歌认证器的2FA代码
新版本的“Cerberus”安卓银行木马将能够窃取谷歌认证应用程序生成的一次性代码,并绕过受2fa(双因素认证)保护的账户。
用户5836910
2022/06/02
8190
安全资讯|Android恶意软件可以窃取谷歌认证器的2FA代码
如何在Ubuntu 14.04上为SSH设置多重身份验证
一个认证因素是单件的使用信息,以证明你有权要执行的操作,如登录到系统中。的认证信道是认证系统提供了一个因子给用户或要求用户回答的方式。密码和安全令牌是身份验证因素的示例; 电脑和手机就是频道的例子。
小铁匠米兰的v
2018/10/19
1.5K0
双因素认证(2FA)原理介绍及实现
😀 我们常说的认证(authentication)就是在确认用户的身份,是在进行重要操作时的必要手段,譬如网站登录、银行取现等。
鳄鱼儿
2024/05/21
1.8K0
双因素认证(2FA)原理介绍及实现
Github 的双重验证为什么既能用1Password又能用Microsoft Authenticator
GitHub支持多种双重验证(2FA)方式,包括基于时间的一次性密码(TOTP)和基于推送通知的验证。
coderidea
2024/01/26
1.1K0
Github 的双重验证为什么既能用1Password又能用Microsoft Authenticator
基于Django的双因子认证实现
双因子简介 对于网络信息系统来说,能否识别使用者的身份,是能否确保安全的基础和关键。在实际应用中,许多网络信息系统都会要求使用者在使用系统之前,提供一些相关信息用以实现对使用者的身份认证。双因子身份认证技术弥补了传统密码认证方法的很多弊端。 可用于认证的因子可有三种:第一种因子最常见的就是口令等知识,第二种因子比如说是IC卡、令牌,USB Key等实物,第三种因子是指人的生物特征。所谓双因子认证就是必须使用上述三种认证因子的任意两者的组合才能通过认证的认证方法。 双因子认证(2FA)是指结合密码以及实物(信
FB客服
2018/02/27
2.1K0
基于Django的双因子认证实现
为你的CVM设置SSH密钥吧!
认证是用于证明您有权执行某项操作的信息,例如登录到系统。认证通道是身份验证系统向用户传递因素或要求用户回复的方式。通俗的来讲,密码和安全令牌就是身份验证证明,计算机和电话是就是身份验证的通道。
小翼111
2018/07/20
2.9K0
统一身份认证,构建数字时代的安全壁垒——统一身份认证介绍、原理和实现方法
随着数字化时代的来临,个人和机构在互联网上的活动越来越频繁,对于身份认证的需求也愈发迫切。为了有效应对身份欺诈、数据泄露等问题,统一身份认证(Unified Identity Authentication)应运而生。
鳄鱼儿
2024/05/21
2.3K0
在 Ubuntu 和 Debian 上启用双因子身份验证的三种备选方案
如今,安全比以往更加重要,保护 SSH 服务器是作为系统管理员可以做的最为重要的事情之一。传统地,这意味着禁用密码身份验证而改用 SSH 密钥。无疑这是你首先应该做的,但这并不意味着 SSH 无法变得更加安全。
星哥玩云
2022/07/24
1.7K0
在 Ubuntu 和 Debian 上启用双因子身份验证的三种备选方案
GitHub:2023年底前所有用户账户需启用双因素身份验证
5月4日,代码托管平台GitHub 宣布了一项新的账户保护机制,所有上传代码的开发者及用户账户必须在2023年底前启用一种或多种形式的双因素身份验证 (2FA)。
FB客服
2022/06/08
9010
GitHub:2023年底前所有用户账户需启用双因素身份验证
业余草双因素认证(2FA)教程
所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤。 密码是最常见的认证方法,但是不安全,容易泄露和冒充。
业余草
2019/01/21
8580
业余草双因素认证(2FA)教程
登录GitHub要求2FA了,安全且免费密保使用
从 2023 年 3 月开始到 2023 年底,GitHub 将逐渐开始要求在 GitHub.com 上贡献代码的所有用户启用一种或多种形式的双因素身份验证 (2FA)。 如果你在符合条件的组中,当选择该组进行注册时,将收到一封通知电子邮件,该电子邮件标志着 45 天的 2FA 注册期的开始,并且你会看到要求你在 GitHub.com 上注册 2FA 的横幅。 如果未收到通知,则表示你不是需要启用 2FA 的组的成员,但我们强烈建议启用 2FA。
云阳
2023/10/20
2.4K0
登录GitHub要求2FA了,安全且免费密保使用
双因素认证(2FA)教程
所谓认证(authentication)就是确认用户的身份,是网站登录必不可少的步骤。 密码是最常见的认证方法,但是不安全,容易泄露和冒充。 越来越多的地方,要求启用双因素认证(Two-factor
ruanyf
2018/04/12
2.9K0
双因素认证(2FA)教程
只有付费才可使用?马斯克取消普通用户短信2FA保护
Bleeping Computer 网站披露, 3 月 20 日开始,不再支持普通用户基于短信的双因素身份验证(2FA)方式,只有购买 Twitter Blue 服务的订阅用户才能继续使用。 从 Twitter 发布的安全报告来看,2021 年 7 月至 2021 年 12 月,只有 2.6% 的用户使用了双因素认证,在这些用户中,74.4% 使用的是 SMS 2FA,28.9% 使用验证器应用程序,0.5% 使用硬件安全密钥。 马斯克支持此次验证变革 短信验证带来的安全隐患已经持续了很久,埃隆·马斯克(
FB客服
2023/02/24
1.6K0
只有付费才可使用?马斯克取消普通用户短信2FA保护
推荐阅读
相关推荐
密码管理和2FA管理软件
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档