告别单一密码,多因素身份认证带你进入安全新纪元!

文章目录

  • 前言
  • 一、你知道什么?
  • 二、你拥有什么
    • 1.智能卡
    • 2.令牌
  • 三、你是什么
  • 四、其他因素身份认证


前言

当我们探讨多因子/多因素身份认证时,我们可能会好奇这里的“因素”具体指的是什么?显然,用户名和密码是一种因素,但验证码是否也能被视为另一种因素呢?

让我们一起来深入了解一下三种主要的身份验证因素:

  • 知识因素,也被称为“你知道什么”。这包括了所有需要记住的秘密信息,比如密码、PIN码等。在早期的文献中,这一因素通常被归类为类型1身份验证因素。

  • 物理因素,也被成为“你拥有什么”。这可能包括智能卡、硬件令牌、存储卡或通用串行总线(USB)驱动器等。在早期的文献中,这一因素通常被归类为类型2身份验证因素。

  • 生物因素,又被称为“你是什么”。这包括指纹、面部扫描、视网膜、虹膜和手掌扫描等。在早期的文献中,这一因素通常被归类为类型3身份验证因素。

如果正确实现的话,三者的安全性处于逐渐增强:“你知道什么“最弱,“你是什么“最强。


一、你知道什么?

密码是用户输入的一串字符串,是最常见的身份认证技术。秘密通常是静态的,静态密码在一段时间内保持不变,例如 60 天,但静态密码通常是最弱的身份认证形式:

  • 用户往往选择容易记住的口令,这样的口令也容易猜测或破解。
  • 随机生成的门令难以记忆,因此,许多用户将口令抄写下来。
  • 用户经常共享口令或忘记口令。
  • 攻击者可以通过多种方式查出口令,包括监视、网络嗅探和窃取数据库。
  • 口令有时通过明文形式或容易破解的加密协议传输。攻击者可以使用网络嗅探器来捕
    获这些口令。
  • 口令数据库有时存储在可公开访问的网络位置。
  • 暴力破解攻击可以快速发现弱口令。

我们可以使用密码短语来增强密码,比如选择一句你最喜欢的古诗词,"竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。”使用这句诗词的字的所有开头字母和间隔符号作为密码,进一步的,还可以将不同系统的缩写拼接到你的增强密码后面。

那么当我们设计一个用户登录系统时,如何设计密码策略来提高安全性呢?

  1. 最长期限:此设置要求用户定期更改其密码,例如每 45 天修改一次。一些文档将此称为密码过期。
  2. 密码复杂度: 密码复杂度是指密码包含几种字符类型。小写字母、大写字母、数字和特殊字符均是不同类型的字符。简单密码,如 123456789, 仅包含一种字符类型(数字)。复杂密码强制需要使用三种或四种字符类型。
  3. 密码长度: 长度是指密码中的字符数,例如至少8个字符。密码使用相同字符类型时,较短的密码更容易被破解,而较长的密码更难以破解。
  4. 密码历史: 许多用户养成了轮换使用两个密码的习惯。密码历史记录可以记录一定数量的历史密码,防止用户重复使用密码。

截至目前,密码建议是不断变化的,还没有形成人人都遵循的共识。根据不同的资料来源,也有不同的密码建议,以NIST SP 800-63B中跟一般共识相反的建议举例:

  • 密码不应该过期。不应要求用户定期修改密码,例如每 30 天修改一次。在强制修改密码时,用户往往仅修改单个字符。例如,用户将 Password 更改为 Password2 。虽然这种情况符合修改密码的要求,但不能增加安全性。攻击者在猜测密码时可能使用相同的方法。
  • 不应要求用户使用特殊字符。如果要求密码包含特殊字符,通常会让用户面临记忆挑战,因此用户会写下这些密码。此外, NIST 分析了被攻破的密码数据库,发现密码中的特殊字符没有达到预期的效果。

二、你拥有什么

1.智能卡

智能卡,一种信用卡大小的识别工具,内部嵌有微型集成电路芯片。这种卡片储存了授权用户的信息,用于身份的识别和验证。大多数智能卡都配备了微处理器,并携带了一个或多个数字证书。这些数字证书在非对称加密过程中扮演着重要角色,例如数据加密和电子邮件的数字签名,它们还具备防篡改功能,为用户提供了一种简便的方式,来携带和使用复杂的加密密钥。

然而,智能卡的一个限制在于其可共享性和可转移性,这就意味着它并不是一个绝对可靠的身份标识工具。在进行身份认证时,用户需要将智能卡插入读卡器。除了这个步骤,系统通常还会要求用户输入PIN码或口令,这就构成了智能卡的第二个身份验证因素。

2.令牌

令牌设备,也被称为硬件令牌,是一种可随身携带的口令生成工具。回想一下,当我们在早期开通网银时,银行会提供一种名为动态口令卡的设备。这种硬件令牌设备使用动态一次性口令,其安全性远超于静态口令。这些口令通常由6或8位的数字PIN码组成。

令牌设备可分为同步动态口令令牌和异步动态口令令牌两种类型。

  • 同步动态口令令牌,它和身份认证服务器保持时间同步,并定期生成新的PIN码,例如每60秒更新一次。这种同步动态口令需要令牌设备和服务器都具备准确的时间。

  • 异步动态口令令牌,它是根据特定算法和递增计数器来生成PIN码。在使用递增计数器时,硬件令牌会创建一个在用于身份认证之前保持不变的动态一次性PIN码。当用户将身份认证服务器提供的PIN码输入令牌中时,一些令牌会创建一次性的PIN码。

举个例子,用户首先向网页提交用户名和口令。在验证用户的凭证之后,身份认证系统会使用令牌的标识符和递增计数器来创建一个挑战号码,并通过网页将挑战号码返回给用户。每当用户进行身份认证时,挑战号码都会发生变化,因此,挑战号码通常被称为“nonce”,即“一次使用的数字”的缩写。这个挑战号码只能在该用户的设备上生成正确的一次性口令。用户在令牌中输入挑战号码,硬件令牌便会创建出口令。最后,用户将这个口令输入网站,完成身份认证的过程。


三、你是什么

在当今的身份验证技术中,生物特征识别已占据重要地位。此技术要求将个体提供的生物特征数据与其所声明身份的存储模式进行精确匹配。换言之,当用户声称某一身份时,认证系统会通过比对用户的生物特征来确认其身份的真实性。

生理生物识别方法包括指纹、面部扫描、视网膜扫描、虹膜扣描、手掌扫描和声纹识别。

指纹和面部扫描在我们常见的智能手机上已经得到了普及,此处不再赘述。

  • 视网膜扫描:视网膜扫描关注眼睛后部的血管图案。视网膜是最精准的生物特征认证方式,可以区分同卵双胞胎。但是,一些隐私支持者反对使用视网膜扫描,因为视网膜扫描可以泄露用户的病史,例如高血压和怀孕。较旧的视网膜扣描技术将一股空气吹入用户的眼睛,但较新的视网膜扫描技术通常使用红外光。此外,视网膜扫描仪通常要求用户和扫描仪相隔3英寸(大约7.62厘米)。
  • 虹膜扫描: 虹膜扫描关注瞳孔周围的彩色区域,是第二准确的生物特征认证方式。与视网膜一样,虹膜在一个人的人生中保持相对不变(除非眼睛受损或病变)。用户通常认为虹膜扫描比视网膜扫描更容易接受,因为扫描可以从远处进行,且侵入性较小。通常可以从6到12 米(大约 20到40 英尺)之外的地方进行虹膜扫描。然而,攻击者可以使用高质量的图像代替人的眼睛来欺骗一些扫描仪。此外,照明变化、某些眼镜和隐形眼镜的使用可能影响扫描的准确性。
  • 手掌扫描:手掌扫描仪通过扫描手掌来识别用户身份。手掌扫描仪使用近红外光来测量手掌中的静脉图案,这些图案与指纹一样独一无二。在手掌注册过程中,人们仅需要将手掌放在扫描仪上几秒钟。之后,用户再次将手掌放在扫描仪上以进行身份认证。
  • 声纹识别: 这种类型的生物特征认证凭借的是个人说话声音的特征(称为声纹)。用户叙述一个特定的短语,并由身份认证系统记录下来。为了进行身份认证,用户需要重复相同的短语,然后系统将其与原始短语进行比较。声纹识别有时被用作附加的身份认证机制,它很少单独使用。

由于生物特征间的相似性,生物识别技术可能导致误报和漏报。因此,评估生物识别设备性能时,需考虑其产生错误的类型。

  • 错误拒绝率: 当未对有效主体进行身份认证时,身份认证系统就出现了错误拒绝。这种现象有时也被称作假阴性身份认证。错误拒绝与有效身份认证的比率被称作错误拒绝率(FRR) 。错误拒绝也被称为 I 类错误。
  • 错误接受率 当对无效主体进行身份认证时,身份认证系统就出现了错误接受。这也被称为假阳性身份认证。误报与有效身份认证的比率是错误接受率(FAR) 。错误接受有时被称为 II 类错误。

两者相等时的交叉点称为错误交叉率或等错误率(Equal Error Rate, CER),CER越低,设备的精准度越高。

在实际应用中,企业往往不会将设备灵敏度设置在CER水平,因为相较于错误接受的高风险,错误拒绝的后果更易于通过多次尝试来纠正。

在这里插入图片描述


四、其他因素身份认证

在身份认证领域,除了传统的三种基本方式,我们还会结合特定的属性来进行更为复杂的身份验证,以增强安全性:

  1. 地理位置验证:这种方式通过识别用户所在的具体位置来确认其身份。通常,系统会利用用户的 IP 地址或者来电显示信息来判断其地理位置。

  2. 上下文感知身份认证:这是一种先进的身份认证方式,常用于移动设备管理系统(MDM)。它能够根据多个因素,如用户当前的位置、时间以及所使用的移动设备等,来识别用户的身份。当用户尝试登录时,MDM 系统会检查这些上下文信息。如果所有条件都符合预设的标准,例如用户位于正确的地点,且在合适的时间段使用指定的设备,系统则会允许用户进一步进行用户名和密码的输入。

  3. 行为生物特征验证:在某些情况下,尤其是当用户试图访问敏感数据时,系统可能会要求用户完成一个交互式任务,例如拖动滑动窗口。在此过程中,系统会记录并分析用户的行为模式,以此来区分真实用户和自动化程序或机器人。这种方法基于“你做什么”的理念,强调用户的行为特征在身份认证中的重要性。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

iclientOpenlayer用uniapp开发移动端GIS应用设计及实现

GIS移动端应用是将地理信息系统(GIS)技术应用于移动设备(如智能手机、平板电脑)上,使用户能在户外或移动场景下访问、收集、分析和展示地理信息。以下是GIS移动端应用的一些关键特性和应用场景: 关键特性&…

淘宝新店没有流量和访客怎么办

淘宝新店没有流量和访客时,可以采取以下措施来提升店铺的流量和吸引更多的访客: 3an推客是给商家提供的营销工具,3an推客CPS推广模式由商家自主设置佣金比例,以及设置商品优惠券,激励推广者去帮助商家推广商品链接&…

c++初阶——类和对象(中)

大家好,我是小锋,我们今天继续来学习类和对象。 类的6个默认成员函数 我们想一想如果一个类什么都没有那它就是一个空类,但是空类真的什么都没有吗? 其实并不是,任何类在什么都不写时,编译器会自动生成以…

C++ | Leetcode C++题解之第43题字符串相乘

题目&#xff1a; 题解&#xff1a; class Solution { public:string multiply(string num1, string num2) {if (num1 "0" || num2 "0") {return "0";}int m num1.size(), n num2.size();auto ansArr vector<int>(m n);for (int i …

比亚迪海洋网再添实力爆款,海豹06DM-i、OCEAN-M、海狮07EV登陆北京车展

4月25日&#xff0c;比亚迪海洋网携海豹06DM-i、OCEAN-M、海狮07EV一齐亮相北京车展&#xff0c;引发关注热潮。其中&#xff0c;海洋网全新中型轿车海豹06DM-i价格区间12万-15万元&#xff0c;将于今年二季度上市&#xff1b;行业首款两厢后驱纯电钢炮OCEAN-M价格区间15万-20万…

重发布的原理及其应用

重发布的作用&#xff1a; 在一个网络中&#xff0c;若运行多种路由协议或者相同协议的不同进程&#xff1b;因为协议之间不能直接沟通计算&#xff0c;进程之间也是独立进行转发和运算的&#xff0c;所以&#xff0c;需要使用重发布来实现路由的共享。 条件 &#xff1a; 1&am…

RH850F1KM 搭建MCAL配置环境

1 搭建环境所需的安装包 安装以下软件安装包 1&#xff09;MCAL下载&#xff1a;AUTOSAR RH850/F1KM MCAL v42.11.00 Software 2&#xff09;Davinci工具 SIP包&#xff1a;DaVinci Configurator Pro 3&#xff09;下载网址&#xff1a;https://www.renesas.cn/cn/zh/product…

美团面试题-Nacos配置中心动态刷新原理

①&#xff1a;pull模式&#xff1a;主动拉去配置&#xff0c;通过固定的时间间隔。缺点&#xff1a;频繁请求&#xff0c;时效性不高&#xff0c;时间间隔不好设置。 ②&#xff1a;push模式&#xff1a;服务端检测到变化&#xff0c;主动将新配置推送给客户端&#xff0c;时效…

python的列表生成式

什么是列表生成式&#xff1f; 列表生成式&#xff0c;顾名思义&#xff0c;是生成列表的一个简单又直接的方法。它使用了一种紧凑的语法来构造列表&#xff0c;能够以一种更清晰、更简洁的方式来表达循环和过滤逻辑。 基础示例让我们先从一些简单的例子开始&#xff1a; 「生…

echarts 基础入门

前言&#xff1a;本文档主要讲解 echarts 在 vue3 中的用法&#xff0c;及其 echarts 的一些配置参数含义及用法。示例参考 echarts 示例 一&#xff1a;快速开始 1. 安装 echarts npm install echarts # or pnpm add echarts # or yarn add echarts 2. 使用 echarts <…

通过商品id采集京东商品详情数据(含价格、优惠券、详情、主图等字段)

item_get_app-获得JD商品详情原数据 公共参数 名称类型必须描述keyString是调用key&#xff08;注册账号获取测试key&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cach…

【八股】Spring篇

why Spring? 1.使用它的IOC功能&#xff0c;在解耦上达到了配置级别。 2.使用它对数据库访问事务相关的封装。 3.各种其他组件与Spring的融合&#xff0c;在Spring中更加方便快捷的继承其他一些组件。 IoC和DI &#x1f449;IOC是Inversion of Control的缩写&#xff0c;“…

Day4 商品管理

Day4 商品管理 这里会总结构建项目过程中遇到的问题&#xff0c;以及一些个人思考&#xff01;&#xff01; 学习方法&#xff1a; 1 github源码 文档 官网 2 内容复现 &#xff0c;实际操作 项目源码同步更新到github 欢迎大家star~ 后期会更新并上传前端项目 编写品牌服务 …

【C++】string类的增删改查模拟实现(图例超详细解析!!!)

目录 一、前言 二、string类的模拟实现 ✨前情提要 ✨Member functions —— 成员函数 ⚡构造函数 ⚡拷贝构造函数 ⚡赋值运算符重载 ⚡析构函数 ✨Element access —— 元素访问 ⚡operator[ ] ⚡Iterator —— 迭代器 ✨Capacity —— 容量 ⚡size ⚡capacity ⚡clea…

2024年 Java 面试八股文(20w字)

目录 第一章-Java基础篇 1、你是怎样理解OOP面向对象 难度系数&#xff1a;⭐ 2、重载与重写区别 难度系数&#xff1a;⭐ 3、接口与抽象类的区别 难度系数&#xff1a;⭐ 4、深拷贝与浅拷贝的理解 难度系数&#xff1a;⭐ 5、sleep和wait区别 难度系数&a…

VSCode配置Eclipse快捷键

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、下载扩展二、使用扩展总结 前言 有时候我们可能会同时使用很多种IDE&#xff0c;每种IDE又有不同的Keymap&#xff0c;快捷键用起来很头疼。比如我&#x…

免费语音转文字:自建Whisper,贝锐花生壳3步远程访问

Whisper是OpenAI开发的自动语音识别系统&#xff08;语音转文字&#xff09;。 OpenAI称其英文语音辨识能力已达到人类水准&#xff0c;且支持其它98中语言的自动语音辨识&#xff0c;Whisper神经网络模型被训练来运行语音辨识与翻译任务。 此外&#xff0c;与其他需要联网运行…

Ubuntu 20.04.6下载、安装

一、下载 下载地址&#xff1a;https://cn.ubuntu.com/download 下载版本&#xff1a;ubuntu-20.04.6-desktop-amd64.iso 二、安装 参考博客&#xff1a; https://blog.csdn.net/lhl_blog/article/details/123406322 https://www.cnblogs.com/fieldtianye/p/17879840.html…

如何使用docker部署前端项目

账号:root 密码:*** 主机:ip地址 登录后: 初级名词: sudo 是Linux和类Unix操作系统中的一个命令,全称为“super user do”,用于允许普通用户以超级用户(root)的身份执行某些或全部命令 需要下载的软件: sudo yum install 软件名 sudo yum install lrzsz 上传软件 s…

婴儿专用洗衣机有必要吗?四大宝藏婴儿洗衣机测评对比

对于有了宝宝的家庭来说&#xff0c;洗衣成为了一项重要的家务事。大家都知道&#xff0c;宝宝的皮肤比较娇嫩&#xff0c;容易受到各种细菌、病毒的侵扰。所以&#xff0c;宝宝的衣物应该与大人的分开洗。婴儿洗衣机作为一种专门为婴幼儿家庭设计的洗衣机&#xff0c;其具有除…