MFA多因子认证

什么是多因子认证(MFA)?为什么需要MFA?

同义词

多因子认证或者多因素验证 [尤其是需要做等级保护测评的时候需要用到]

摘要

多因子认证MFA(Multi Factor Authentication)是一种安全认证过程,需要用户提供两种及以上不同类型的认证因子来表明自己的身份,包括密码、指纹、短信验证码、智能卡、生物识别等多种因素组合,从而提高用户账户的安全性和可靠性。

什么是MFA?为什么需要MFA?
标题什么是MFA?为什么需要MFA?

为什么需要MFA?

随着全球数字化改革潮流,通过计算机网络交流、购物、办公等模式已逐渐代替原有的传统模式。与此同时,计算机与信息犯罪在近年正在呈现出上升的趋势,攻击手段日趋复杂,安全问题导致的经济损失也越来越大。企业信息、个人信息和网络设备安全问题至关重要。

故有必要对进入应用程序、服务、网络设备系统的人员进行认证。而单一的验证方式防御较为薄弱,存在一定风险,比如密码会存在“暴力破解”、“撞库”、钓鱼邮件等攻击风险。钥匙、门卡面临丢失、被盗的可能。而生物特征,一旦遭遇信息泄漏,则面临更大的威胁。多因子认证的需求越来越迫切。

最常见而简单的访问控制方法是通过MFA身份认证方式确认用户的真实性,提高用户账户的安全性和可靠性。

身份认证因子有哪些分类?

常见的身份认证因子分类有:

  • 秘密信息因子,包含密码、个人身份识别码 (PIN) 、安全问题验证。
  • 物品因子,分为软件令牌和硬件令牌。
    • 软件令牌,包含短信验证码,电子邮件验证链接、验证码,服务商提供的身份验证二维码(例如微信扫码认证)。
    • 硬件令牌,包含身份证、驾驶证、护照、密钥卡、硬件加密锁等专用物品作为安全密钥使用 。
  • 生物特征因子,包含指纹、语音、面部特征、虹膜、视网膜图案、DNA、个人手写签名、击键特征和语言模式等行为生物识别特征。
  • 位置因子,包含特定位置、特定设备、特定IP范围。
  • 时间因子,特定的时间段。

如果多个身份认证方式为一种身份认证因子类型,此认证方式为单因子认证,而不是多因子认证。例如用户密码+安全问题验证、身份证+短信验证码+电子邮件验证链接等,均为单因子认证。

多因子认证必须是两种及以上不同类型的认证因子,来实现用户身份认证。

MFA认证流程是什么?

用户登录应用程序、服务、网络设备系统时,MFA认证流程原理都相同。下面以应用程序的MFA认证流程为例:

  1. 用户登录应用程序。
  2. 用户输入登录凭证,通常是账号和密码,做初始身份验证。
  3. 验证成功后,然后将提示用户提交第二个身份验证因子。
  4. 用户将第二个身份验证因子输入至应用程序,做二次身份验证。
  5. 如果系统只设置了两种因子认证,第二个身份验证因子通过,用户将通过身份验证并被授予对应的系统操作权限。如果系统设置了三种及以上种因子认证,用户需按系统提示,继续提交身份信息,直至全部身份因子验证通过,并被授予对应的系统操作权限。

MFA的典型应用有哪些?

按照两种及以上不同类型身份认证因子类型组合,常见的MFA认证典型场景举例如下所示:

  • 秘密信息因子+物品因子:公司员工通过VPN远程登录办公系统,采用用户密码+短信验证码的认证方式场景。邮箱、社交软件登录系统,采用用户密码+图片文字识别的认证方式场景。
  • 秘密信息因子+物品因子:网络游戏、网络购物、手机APP等支付系统,采用用户密码+短信验证码/扫描二维码的认证方式场景。
  • 秘密信息因子+位置因子:电子邮箱、电子社交软件登录系统,采用用户密码+特定IP范围的认证方式场景。
  • 秘密信息因子+时间因子:各手机APP优惠券兑换系统,采用用户密码+特定时间的认证方式场景。
  • 物品因子+生物特征因子:火车站、机场验票系统,采用有效证件(如身份证、护照)+面部识别认证方式场景。
  • 物品因子+位置因子+生物特征因子:某些公司上下班打卡系统,采用智能手机+特定位置范围+人脸识别的认证方式场景。

MFA的优缺点有哪些?

MFA的优点

MFA的首要优点就是安全性。在如今数字时代中,服务商和企业已成为网络攻击的首要目标。攻击者依靠窃取身份凭证侵入企业内网,最终很可能会造成重大损失。 为解决这一问题,MFA要求用户提供登录名和密码之外的其他身份验证因素,在攻击者和企业网络之间又增加了一道安全屏障。

除用户同时泄露登录密码和多因子认证凭证的场景,即使攻击者窃取了登录密码也无法接管账号。基于设备的多因子认证几乎可以阻止所有针对账号的攻击。

除了提升安全性以外,MFA的另一项关键优势是广泛适用性。随着智能手机的广泛使用,服务商和企业可以借助智能手机定位、面部识别等在系统和应用程序中强制执行多因子认证,甚至还可以对连接企业内网的VPN强制执行多因子认证保护网络访问。

MFA的缺点

多因子认证也存在不少缺点导致企业放弃采用。首先就是对办公效率的担忧。在传统的静态密码登录机制下,员工每月在账号登录上花费一定的时间。采用MFA后,员工不仅需要输入密码,还需要输入额外的身份验证因素,导致账号登录的时间加倍。除此之外,很多MFA形式基于时间型动态令牌(TOTP),令牌有效时间有限。一旦令牌失效,用户还需要等待新的令牌生成,这也影响了员工工作效率。

MFA的另一个问题是实施的复杂性。为了让MFA应用于所有资源,在整个企业范围内推行,管理员需要一个MFA工具涵盖所有IT资源。

MFA还存在安装、维护成本高的问题,包含购买、更换令牌和续订软件的维护成本。例如,如果企业或个人丢失或被盗取MFA中的其中一个或多个认证因子,就需要挂失、重新申请、设置新的认证因子。不管从企业和个人,还是系统维护方来看,均带来了维护成本。如果要保护系统、网络等本地基础架构,还需要另外部署MFA工具。这就增加了企业的 IT 安全预算和运维成本。

然而,即使认识到这些缺点,如果企业希望保护网络、用户和员工,作为访问管理战略的一部分实施MFA解决方案的优点显然大于缺点。

MFA与2FA的区别是什么?

MFA与2FA的区别如下表所示。表1-1 MFA与2FA的区别

参数项

MFA与2FA的区别

认证因子个数

MFA≥2FA,MFA需要两种及以上不同类型的认证因子,2FA需要两种不同类型的认证因子。

安全性

MFA≥2FA,MFA要求用户提交更多类型的认证因子,提高用户账户的安全性和可靠性。

用户数量

MFA≤2FA,2FA一般应用在大众日常工作、生活中,三种及以上不同类型的认证因子的MFA一般应用在科研、军事等特殊行业人员中。

用户体验

MFA≤2FA,多一种类型认证因子,操作过程中就多一个认证步骤和等待时间,从而导致用户体验感下降。

安装、维护成本

MFA≥2FA,多一种类型认证因子就会相应增加网络设备、软件系统复杂程度、以及后期的维护成本。

保密信息级别

MFA≥2FA,三种及以上不同类型认证因子的MFA保护的是高精尖级别的科研、军事等机密、绝密信息和成果。

可参考上述2FA和MFA的区别,按实际使用场景和网络情况选择合适的用户身份验证方式,来确保数据和系统的安全性和可操作性。

【常见的二次验证器】

MFA二次验证器: 1)IOS:在AppStore搜索Google Authenticator、Sophos Authenticator、FreeOTP下载并安装 2)Android:下载Sophos Authenticator、Free OTP并安装、微软验证器

【苹果IOS端】 Eagle 2FA二次验证器(中文,推荐) FreeOTP (英文) OTP Auth (作者: Roland Moers,英文) Sophos Authenticator (英文) Google Authenticator (中文) Authenticator (作者: Bouqt. com Ltd,英文) Authenticator (作者: Matt Rubin, 英文)

【安卓端】 1.FreeOTP(用法简单,由河南微高考汉化) 2.andOTP(用法较复杂,中文) 3.Aegis Authenticator(用法复杂,不推荐)

【微信小程序MFA认证】FreeOTP、TOTP身份安全认证器和二次验证器(三个无需下载)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/196981.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s-部署Redis-cluster(TLS)

helm pull bitnami/redis-cluster v8.3.8拉取源码生成证书 git clone https://github.com/redis/redis.git #文档 https://redis.io/docs/management/security/encryption/#getting-started生成你的TLS证书用官网的工具生成 1 Run ./utils/gen-test-certs.sh 生成根CA和服务…

springboot321基于java的校园服务平台设计与开发

交流学习: 更多项目: 全网最全的Java成品项目列表 https://docs.qq.com/doc/DUXdsVlhIdVlsemdX 演示 项目功能演示: ————————————————

【双指针】复写0

复写0 1089. 复写零 - 力扣(LeetCode) 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上…

python趣味编程-5分钟实现一个益智数独游戏(含源码、步骤讲解)

Puzzle Game In Python是用 Python 编程语言Puzzle Game Code In Python编写的,有一个 4*4 的棋盘,有 15 个数字。然后将数字随机洗牌。 在本教程中,我将教您如何使用Python 创建记忆谜题游戏。 Python Puzzle Game游戏需要遵循以下步骤,首先是将图块数量移动到空的图块空…

软件开发、网络空间安全、人工智能三个方向的就业和前景怎么样?哪个方向更值得学习?

软件开发、网络空间安全、人工智能这三个方向都是当前及未来的热门领域,每个领域都有各自的就业前景和价值,以下是对这三个方向的分析: 1、软件开发: 就业前景:随着信息化的加速,软件开发的需求日益增长。…

重生之我是一名程序员 34

哈喽啊大家晚上好! 今天给大家带来的知识是——库函数qsort。首先,给大家介绍一下qsort函数, qsort函数是C标准库中的一种排序函数,用于对数组中的元素进行快速排序。它接受四个参数:待排序数组的基地址,数…

某60区块链安全之重入漏洞实战记录

区块链安全 文章目录 区块链安全重入漏洞实战实验目的实验环境实验工具实验原理实验内容 重入漏洞实战 实验目的 学会使用python3的web3模块 学会以太坊重入漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 以太坊智能合约的特点之一是能够调用和…

若依前后端分离版,快速上手

哈喽~大家好,这篇来看看若依前后端分离版,快速上手(肝了挺久的)。 🥇个人主页:个人主页​​​​​ 🥈 系列专栏:【Springboot和Vue全栈开发】…

Spring Boot - filter 的顺序

定义过滤器的执行顺序 1、第一个过滤器 import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; impor…

⑩③【MySQL】详解SQL优化

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ SQL优化 ⑩③【MySQL】了解并掌握SQL优化1. 插…

【C++】类与对象(上)

目录 1. 面向过程和面向对象初步认识 2. 类的引入 3. 类的定义 4. 类的访问限定符及封装 4.1 访问限定符 4.2 封装 5. 类的作用域 6. 类的实例化 7. 类对象模型 7.1 如何计算类对象的大小 7.2 类对象的存储方式猜测 7.3 结构体内存对齐规则 8. this指针 8.1 this指…

大数据毕业设计选题推荐-机房信息大数据平台-Hadoop-Spark-Hive

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

OpenGL 坐标投影与反投影(Qt)

文章目录 一、简介1.1投影1.2反投影二、应用代码三、实现效果参考资料一、简介 在学习OpenGL一段时间之后,我们都会了解坐标的转换过程,如下图所示: 1.1投影 正如图中所述,OpenGL将一个3D坐标投影到一个2D空间主要有以下几个步骤,这也是我们比较熟知的几个步骤: 现实局部…

Java拼图游戏

运行出的游戏界面如下: 按住A不松开,显示完整图片;松开A显示随机打乱的图片。 User类 package domain;/*** ClassName: User* Author: Kox* Data: 2023/2/2* Sketch:*/ public class User {private String username;private String password…

UE 调整材质UV贴图长宽比例

首先,为什么要先减去0.5呢,因为缩放的贴图中心在0,0原点,以这个点缩放效果是这样: 它缩放的图案不会在正中间,因为是以0,0点进行缩放的 以这个图的箭头去缩放图片的,所以不能使得缩放后的图片放在正中心 那…

物联网AI MicroPython学习之语法UART通用异步通信

学物联网,来万物简单IoT物联网!! UART 介绍 模块功能: UART通过串行异步收发通信 接口说明 UART - 构建UART对象 函数原型:UART(id, baudrate,bits, parity,stop, tx, rx)参数说明: 参数类…

一文总结MySQL的指令是如何工作的

当你输入一条MySQL指令时候有没有想过会发生什么? 建立连接 首先你得先连到数据库上才行,这又分为长连接和短链接,短链接就是你查询一次就断开连接,长连接是你可以多次查询直到主动断开连接(也可能被杀死进程&#x…

设计模式—结构型模式之外观模式(门面模式)

设计模式—结构型模式之外观模式(门面模式) 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。 例子 我们的电脑会有很多 组件&am…

AJAX入门Day01笔记

Day01_Ajax入门 知识点自测 如下对象取值的方式哪个正确? let obj {name: 黑马 }A: obj.a B: obj()a 答案 A选项正确 哪个赋值会让浏览器解析成标签显示? let ul document.querySelector(#ul) let str <span>我是span标签</span>A: ul.innerText str B: ul…

java 访问sqlserver 和 此驱动程序不支持jre1.8错误

sqlserver数据如下&#xff1b; TestSQL.java&#xff1b; import java.sql.*;public class TestSQL {public static void main(String[] args) throws ClassNotFoundException, SQLException {String driverName "com.microsoft.sqlserver.jdbc.SQLServerDriver";…