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

自适应多因素认证:构建不可破解的企业安全防线|身份云研究院

打开本文意味着你理解信息安全的重要性,并且希望获取行业最佳实践来保护你所在组织的信息安全。本文将带你了解多因素认证(MFA:Multi-Factor-Authentication)对于企业信息安全的重要性以及实施方法

多因素认证(MFA)已被证实是目前抵御绝大多数与密码泄漏相关攻击的最佳实践,微软研究表明,多因素认证(MFA)能有效阻止 99.9% 的密码泄漏事故。多因素认证是指用户需要提供一种类型以上的因素进行身份验证。通常可以分为四类因素,如下表所示:

注意,使用多个相同因素类型的相关凭证并不能构成多因素认证,例如:使用自有知识因素中的密码和安全问题不能构成多因素认证,而需要使用多个不同因素的凭证。例如:在最常见的支付场景中,当用户进行高额交易,系统不仅需要验证支付密码,通常情况下还需要额外进行外部口令验证,如手机验证码或 U 盾口令等。这种生活中常见的例子屡见不鲜。可见,多因素认证已经广泛应用于很多敏感的身份认证过程中

01 为什么要使用多因素认证(MFA)?

鉴于数据泄露事故频发,伴随社会数字化程度越来越高,相关安全隐患和事故只会越来越多。对于企业来说,员工或用户信息泄漏意味企业将承担巨大的信誉和直接经济损失以及法律风险。其实越来越多企业已经意识到信息安全的重要性,但碍于以下几个原因始终无法有效实施:

  • 技术力量受限,自建成本较高

  • “过度代偿”导致失衡,无法平衡安全性和用户体验

  • 已经实施了一些安全措施,但没有监测系统,无法评估其效果 

以下数据印证在几乎每个人身上,简易密码和密码复用等问题已经存在许久。但这并非用户的问题,越来越多的应用/系统/页面需要用户重新注册账号,用户不得不使用相同的密码来确保其不会遗忘。

  1. 一项调查发现,91% 的受访者声称了解在多个账户中重复使用密码的风险,但 59% 的人承认无论如何都会这样做

  2. 普通人重复使用某个相同密码高于 14 次。

  3. 72% 的人在个人生活中重复使用密码,而近一半 (49%) 的员工在每 90 天更新一次公司密码时只是更改或添加一个数字或字符到他们的密码中,这导致强制修改密码变得无效

  4. 73% 的用户在个人和工作帐户中重复密码

  5. 根据 Verizon 数据泄露调查报告,81% 的黑客相关泄露事件都是密码泄露造成的

即便是你已经知道了这些数据,并且决定开始为你的企业/用户部署多因素认证(MFA),但你仍然需要了解的使用不恰当的多因素认证(MFA)解决方案将会带来以下常见的问题

  • 要求用户持有特定硬件的 MFA 类型可能会产生大量成本和管理开销

  • 如果用户丢失或无法使用他们的其他因素,可能会导致用户无法进入账户

  • MFA 给应用程序带来了额外的复杂性

  • 许多 MFA 解决方案向系统添加外部依赖项,这可能会引入安全漏洞或单点故障

  • 为允许用户绕过或重置 MFA 而实施的流程可能会被黑客利用

  • 实施 MFA 会增加用户与系统间的摩擦,将导致用户体验下降,用户流失等问题

通用建议

对于已经实施或即将实施 MFA 的企业来说,关于上述 MFA 可能遇见的问题,有以下几个建议:

在应用程序中具体何时以及如何实施 MFA 取决于许多不同的因素,包括应用程序的威胁模型、用户画像以及对用户的访问控制级别。需要对不同应用不同场景进行分析,以下建议通常适用于大多数应用程序

  • 为用户提供使用TOTP 应用程序帮助用户快速使用 MFA

  • 需要具备管理特殊权限或者高级别权限用户的 MFA

  • 允许在公司 IP 范围内(或常用 IP 地址)不需要使用额外 MFA

  • 为用户策划安全、完善的「重置 MFA」流程

在什么时候需要使用 MFA?

最常见的场景就是在用户登录认证的时候,但如文章开头所说,在用户进行敏感操作的时候适当添加 MFA 也非常有必要,例如:

  • 修改密码或安全问题

  • 修改关联的手机号或身份信息

  • 禁用 MFA

  • 更改权限相关的操作

但以上方案并不能完全解决根本性的交互摩擦问题

02 自适应多因素认证(Adaptive-MFA) 是平衡安全和用户体验最佳实践

为了解决上述问题,自适应多因素认证(Adaptive MFA)在多因素认证(MFA)的基础上增加了上下文识别,能够根据当前安全状况自动判断是否需要增加额外的因素认证。验证流程示意图如下:

所谓上下文识别,即对用户当前行为、来源、位置、操作等信息进行判断,并根据预设的策略进行验证。例如:

  • 用户行为:如是否来自常用的登录地点;是否多次输入错误的账号密码;等异常用户操作

  • 请求来源:对当前请求来源进行判断,如硬件设备信息、操作系统等

  • 位置感知:位置感知分为虚拟位置和物理位置

传统的多因素认证通常在用户登录注册后要求用户进行二次因素认证,如发送短信验证码或者 OTP 口令等。但自适应多因素认证将评估每次登录的风险,并根据风险级别决定是否要求用户进行二次或多次因素认证。例如:

  • 发出请求地 IP 地址的风险,是否来自陌生 IP、或高风险 IP

  • 陌生地理位置发出地请求,如异地登录等

  • 发出请求地设备是否为常用设备还是陌生设备等

但基础的自适应能力并不能完全覆盖现代数字化各类业务场景需求。在上文为什么要使用多因素认证中我们提到了多数企业面临的问题

1.技术力量受限,构建成本较高

Authing 为用户提供了快速接入和一键开关多因素认证(MFA)能力,可以针对不同应用、不同场景自定义多因素认证策略。

2.无法平衡安全性和用户体验

自适应多因素认证的优势在于,只针对高风险或敏感操作的用户要求进行多因素认证,而对于经常使用同一设备和相同位置访问应用程序的用户永将不会被额外要求其它认证。

3.已经实施了一些安全措施,但没有监测系统,无法评估其效果

通过 Authing 提供的用户行为日志可帮助您快速了解风险级别和对用户体验的影响。

除此之外,Authing 身份自动化编排引擎,在以上基础之上,允许更自由的实施多种安全策略,通过模块化的编排能力,管理员可以自由地将多因素认证(MFA)等安全策略放置在任何业务节点当中,不再需要研发为不同的业务线一个个的编写安全策略,将极大降低企业研发成本和员工工作效率。

相关文章:

自适应多因素认证:构建不可破解的企业安全防线|身份云研究院

打开本文意味着你理解信息安全的重要性,并且希望获取行业最佳实践来保护你所在组织的信息安全。本文将带你了解多因素认证(MFA:Multi-Factor-Authentication)对于企业信息安全的重要性以及实施方法。 多因素认证(MFA&…...

阶段二8_集合ArrayList_学生管理系统_详细步骤

一.学生管理系统案例 1.需求: 针对目前我们的所学内容,完成一个综合案例:学生管理系统! 该系统主要功能如下: 1.添加学生:通过键盘录入学生信息,添加到集合中 2.删除学生:通过键盘录…...

一篇解决Linux 中的负载高低和 CPU 开销并不完全对应

负载是查看 Linux 服务器运行状态时很常用的一个性能指标。在观察线上服务器运行状况的时候,我们也是经常把负载找出来看一看。在线上请求压力过大的时候,经常是也伴随着负载的飙高。 但是负载的原理你真的理解了吗?我来列举几个问题&#x…...

关于IDM下载器,提示:一个假冒的序列号被用来注册……idea项目文件路径报红

关于IDM下载器,提示:一个假冒的序列号被用来注册……到C:\Windows\System32\drivers\etc 修改目录下面的hosts文件(如果没有修改的权限就右键属性hosts文件修改user的权限为完全控制),在hosts里面增加以下内容&#xf…...

JVM - 高效并发

目录 Java内存模型和内存间的交互操作 Java内存模型 内存间的交互操作 内存间交互操作的规则 volatile特性 多线程中的可见性 volatile 指令重排原理和规则 指令重排 指令重排的基本规则 多线程中的有序性 线程安全处理 锁优化 锁优化之自旋锁与自适应自旋 锁优…...

中小学智慧校园电子班牌系统源码 Saas云平台模式

智慧电子班牌区别于传统电子班牌,智慧校园电子班牌系统更加注重老师和学生的沟通交流和及时数据交互。学校为每个教室配置一台智能电子班牌,一般安装于教室门口,用来实时显示学校通知、班级通知,可设置集中分布式管理,…...

记录一次服务器被攻击的经历

突然收到阿里云发过来的异常登陆的信息: 于是,急忙打开电脑查看对应的ECS服务器的记录: 发现服务器的cpu占用率异常飙升,所以可以大概断定服务器已经被非法入侵了。 通过自己的账号登陆后,发现sshd服务有异常的链接存…...

Python解题 - CSDN周赛第29期 - 争抢糖豆

本期问哥是志在必得,这本算法书我已经觊觎许久,而之前两次因为种种原因未能如愿。因此,问哥这几天花了不少时间,把所有之前在每日一练做过的题目重新梳理了一遍。苦心人,天不负,感谢官方大大! 第…...

C代码中访问链接脚本中的符号

一、目的在之前的《GNU LD脚本命令语言(一)》、《GNU LD脚本命令语言(二)》我们介绍了GNU链接脚本的知识点,基本上对链接脚本中的SECTION、REGION、以及加载地址与执行地址的关系等内容有了一定的了解。本篇主要讲解链…...

MySQL 8:MySQL索引

索引就是通过一定的算法建立数据模型,用于快速查找某一列中具有特定值的行。如果没有索引,MySQL 必须从第一条记录开始读取整个表,直到找到相关的表。表越大,查询数据所花费的时间就越多。如果表中查询的列有索引,MySQ…...

JVM详解

一,JVM 1,JVM区域划分 类装载器,运行时数据区,字节码执行引擎 2,JVM内存模型(运行时数据区) 由本地方法栈,虚拟机栈,堆,方法区,和程序计数器组成。…...

MySQL数据库调优————索引数据结构

B-TREE B-TREE数据结构 B-TREE特性 根节点的子结点个数2 < X < m&#xff0c;m是树的阶 假设m 3&#xff0c;则根节点可有2-3个孩子 中间节点的子节点个数m/2 < y < m 假设m 3&#xff0c;中间节点至少有2个孩子&#xff0c;最多3个孩子 每个中间节点包含n个关…...

visual studio 改变界面语言

在使用visual studio 2019 时&#xff0c;开始是英文界面&#xff0c;后面变成了中文界面。但是看视频教学时有的是英文界面&#xff0c;我就想回到英文界面&#xff0c;所以有切换界面语言的需要。其实操作很简单&#xff1a;工具-> 选项 打开界面在界面里选择环境&#xf…...

2023.2.16每日一题——1250. 检查「好数组」

每日一题题目描述解题核心解法一&#xff1a;数论题目描述 题目链接&#xff1a;1250. 检查「好数组」 给你一个正整数数组 nums&#xff0c;你需要从中任选一些子集&#xff0c;然后将子集中每一个数乘以一个 任意整数&#xff0c;并求出他们的和。 假如该和结果为 1&#x…...

亿级高并发电商项目-- 实战篇 --万达商城项目 八(安装FastDFS、安装Nginx、文件服务模块、文件上传功能、商品功能与秒杀商品等功能)

专栏&#xff1a;高并发---分布式项目 &#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是小童&#xff0c;Java开发工程师&#xff0c;CSDN博客博主&#xff0c;Java领域新星创作者 &#x1f4d5;系列专栏&#xff1a;前端、Java、Java中间件大全、微信小程序、微信支…...

Viper捐款7000万韩元,合计人民币是多少钱?

Viper捐款7000万韩元&#xff0c;合计人民币是多少钱&#xff1f; #2023LCK春季赛##英雄联盟# #Viper捐款7000万韩元# Viper向大田东区捐款 7000 万&#xff0c;成为大田荣誉协会 105 号会员。Viper选手从 2019 年开始一直向大田东区捐款&#xff0c;但是他不希望这件事被公开…...

前端vue实现系统拦截跳转外链并进入跳转询问界面

跳转询问界面如下图所示&#xff1a; 给自己挖坑的实现方式&#xff0c;最终解决方案请看最底下 思路&#xff1a;正常情况下我们有2种方式跳转外链 第一种非a标签&#xff0c;我们手动添加事件进行跳转 <div class"dingdan public-padding p-item" click&quo…...

【Linux】Shell(Bash)单引号、双引号、不加引号和反引号用法和区别详解

简要总结 不加引号&#xff1a;不会将含有空格的字符串视为一个整体输出, 如果内容中有变量等&#xff0c;会先把变量解析出结果&#xff0c;然后在输出最终内容来&#xff0c;如果字符串中带有空格等特殊字符&#xff0c;则不能完整的输出&#xff0c;需要改加双引号&#xff…...

本人使用的idea插件

文章目录&#x1f68f; 本人使用的idea插件&#x1f6ac; pojo to Json&#x1f6ac; GsonFormatPlus&#x1f6ac; EasyYapi&#x1f6ac; Chinese (Simplified) Language Pack / 中文语言包&#x1f6ac; MyBatis Log Free&#x1f6ac; MyBatisPlusX&#x1f6ac; Statistic…...

站在行业C位,谷医堂打开健康管理服务新思路

对于农村及贫困地区老百姓来说&#xff0c;由于交通因素和家庭经济条件制约&#xff0c;看病难致身体调理情况一直不太乐观&#xff0c;这也导致心理压力很大。然而&#xff0c;随着近年中医药产业崛起与快速发展&#xff0c;这种局面很快就会得到改观&#xff0c;以湖南谷医堂…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)

安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 腾讯[实习]科恩实验室-安全工程师 一、网络与协议 1. TCP三次握手 2. SYN扫描原理 3. HTTPS证书机制 二…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...

OPENCV图形计算面积、弧长API讲解(1)

一.OPENCV图形面积、弧长计算的API介绍 之前我们已经把图形轮廓的检测、画框等功能讲解了一遍。那今天我们主要结合轮廓检测的API去计算图形的面积&#xff0c;这些面积可以是矩形、圆形等等。图形面积计算和弧长计算常用于车辆识别、桥梁识别等重要功能&#xff0c;常用的API…...

Linux中INADDR_ANY详解

在Linux网络编程中&#xff0c;INADDR_ANY 是一个特殊的IPv4地址常量&#xff08;定义在 <netinet/in.h> 头文件中&#xff09;&#xff0c;用于表示绑定到所有可用网络接口的地址。它是服务器程序中的常见用法&#xff0c;允许套接字监听所有本地IP地址上的连接请求。 关…...