应用安全四十三:无密码认证安全

什么是无密码认证?

无密码认证是一种新兴的安全技术和身份认证手段,是用密码以外的东西验证软件用户身份的过程,旨在替代传统的用户账号和密码认证方法,提高账号的安全性和用户体验。无密码技术通过生物识别、多因素认证、基于硬件设备的认证等方法来实现身份验证和授权,可以减少由于密码泄露、用户的疏忽或恶意攻击等因素导致的安全问题。

无密码身份验证可以降低任何组织的成本和安全风险。在无密码身份验证模型中,用户无需输入用户名或电子邮件地址以及密码组成的凭据,而是使用另一种方法来验证身份信息。常见的无密码身份验证包括生物识别(如面部识别、指纹识别、声纹识别等)、短信验证等。无密码技术的最大优势在于解决了密码泄漏这一核心问题。正如谷歌云产品管理总监萨姆·斯里尼瓦斯所解释的那样,在不久的将来,无密码认证的使用可能会迅速增长。

在现实的生活中,其实已经很多手机应用已经开启了无密码验证的应用。例如:使用面容或者指纹开机,登录APP时,也可以选择使用指纹或者短信验证,这样用户就可以不用记住繁琐的密码,也降低了密码泄露的风险。

Passwordless的类型

传统的系统需要用户输入用户名和密码,也就是所谓的What they know,来验证用户是谁? 而无密码认证需要用户通过What they have[例如:移动设备]或者Who they are[例如:生物信息的唯一性可以确定一个用户]。以下是几种常用的无密码认证方式:

生物信息Biometrics):人的很多生物特征都是唯一的,例如:指纹、人脸或者虹膜等。生物信息认证就是通过这些个人唯一的特征来验证登录的用户就是它所声明的那个用户,无需密码。例如:人脸完全的可能性是小鱼一万亿分之一的,完全可以忽略不计,因此人脸识别是一个有效地认证的方式。

魔鬼链接:这种系统登录也不需要用户输入密码,而是要用户输入一个邮箱,系统就会发送一个具备一定随机性的链接到邮箱里,通过这个链接,用户可以点击直接登录系统。这种方式其实还是和密码密码不能完全脱离关系,因为邮箱的认证还是需要密码的,一旦邮箱的密码被攻破,该系统的登录也就被攻破了。这种方式成本比较低,实现起来也比较简单。

OTP/OTC:一次性密码(OTP)或一次性代码(OTC)类似于魔法链接,但要求用户输入您发送给他们的代码(通过电子邮件或通过SMS发送到他们的移动设备),而不是简单地点击链接。

推送通知:英文是Push Notification,用户通过专用的身份验证应用程序(例如Google authenticator)在移动设备上收到推送通知,并通过推送通知打开应用程序以验证其身份。

硬件令牌:如智能卡、安全令牌、近场通信令牌和Rivest-Shamir-Adleman安全令牌是一种在硬件设备中包含证书的人性化方式。这些硬件设备处理身份验证签名过程,并保护密钥不被泄露。这种方式成本比较高,需要硬件支持,还需要有移动的智能卡,一旦智能卡丢失也会对安全造成很大的威胁。

无密码验证与多因子验证

MFA(多因素身份认证)和Passwordless Authentication(无密码身份认证)都是用于增强身份验证安全性的技术,但是它们有一些不同之处。

MFA是一种数字身份认证系统,需要用户通过多个身份认证查验点。通常,MFA会要求用户输入用户名和密码,然后通过其他方式进行额外的身份验证,例如发送一次性访问密码到用户的手机或电子邮件,或者使用生物特征识别技术,如指纹或面部识别。MFA的目的是增加破解密码的难度,减少身份被盗用的风险。

无密码验证则不需要用户输入密码来进行身份验证。它通常利用生物特征识别技术或占有因素来进行身份验证,例如通过指纹识别或通过向用户的手机发送一次性访问密码或电子邮件链接来进行身份验证。这种方法的优点是用户不需要记住复杂的密码,也不需要担心密码被盗用或被破解。

总的来说,MFA和无密码验证都是为了提高身份验证的安全性,但它们采用的方法不同。MFA采用多个身份认证查验点来增加破解密码的难度;而无密码验证则通过利用生物特征识别技术或占有因素来进行身份验证,避免了使用密码带来的风险。

无密码验证的优点和好处

无密码验证比使用密码验证带来很多好处。

从用户的角度来说,当用户密码设置简单时,容易被破解;当用户密码设置复杂时,又容易忘记,经常在重置密码的道路上行进,造成不必要的麻烦。启用无密码验证之后,用户无需再担心密码泄露,也不需要再记住冗长的密码。例如,使用短信验证码验证,只需要输入手机号,获取验证码,就可以使用验证码登录。在移动APP上验证码还支持自动填入,用户都不需要输入验证码就可以登录了。 这就大大方便了用户,提升了用户体验。

从维护系统公司的角度来说,可以降低风险。根据Verizon的2021年数据泄露调查报告(DBIR),登录凭证漏洞占所有数据泄露的84%以上。完全消除密码可以降低数据泄露的风险,因为它降低了攻击者使用密码(以及经常暴露密码的不安全行为)攻击系统和系统的用户的能力。例如,网络犯罪分子经常使用登录凭证填充(使用来自一个网站的用户凭证来访问另一个网站)来攻击该网站,因为超过三分之二的人重复使用密码。消除密码消除了网络犯罪分子使用他们在其他地方获得的凭据访问您系统帐户的能力,降低了撞库攻击的可能。

由于网络钓鱼占所有数据泄露的36%,并且许多都是为了获取用户名和密码而执行的,如果他们收到网络钓鱼电子邮件,因此消除密码意味着您的用户或员工不会意外地向恶意行为者提供任何可以用来访问其帐户和个人数据的东西,也降低了钓鱼攻击的概率。

从维护系统公司的角度来说,还可以降低成本。有些公司的系统重置密码可能需要联系管理人员,这就给管理人员增加了负担。同时,管理系统存储这些密码信息,需要消耗一定的存储空间,而且需要有人维护和管理这些数据。使用了无密码验证,就可以消除存储和维护这些数据的需要【有些无密码验证可能还需要存储一些信息,例如:指纹和面容等】。

从公司的角度而言,如果竞争对手没有提供无密码验证,本公司提供了无密码验证,可以提高用户体验,争取更多的用户。

从预防攻击的角度而言,无密码验证可以预防一下攻击:

暴力破解:无密码身份验证不依赖于人类可读的数据,因此更难以猜测。即使是短信验证码,有效时间非常有限,难以暴力破解或者暴力破解成本很高;

撞库攻击:由于密码不可再用,所以,可以预防撞库攻击;

Keylogger:实现完备的无密码验证是不允许验证码被使用两次的,即使Keylogger可以盗取登录凭证,由于是一次性的,所以,盗取了也没有什么用途。

无密码验证的缺点

第一、如果使用生物信息,由于生物信息是唯一的而且不能改变的,所以,很难重置生物信息,例如,一个人的指纹是不能被重置的。而密码而言,重置密码就很灵活。

第二、无密码验证需要一个安全方法保护好验证码,如果验证码被泄露,再结合个人信息的泄露,就可以被不法分子用于做违法的事情。例如:短信验证码用于验证用户登录,有些人员就利用一些用户对安全知识的认识的不足,尝试通过各种方法获取短信验证码,通过在线会议共享手机屏幕的方式就可以获取短信验证码。另外,如果用户的手机被盗,也会导致短信验证码被截取,因为手机的短信通知里可以在手机不解锁的情况下看到短信验证码。

无密码认证常见的威胁和预防

第一、OTP太短,当使用SMS或者邮件发送短信验证码时,发送的验证码太短,有时还会遇到四位数字的验证码,四位数字组合起来也就10000中情况,很容易就被破解。

预防措施: 使用长一些的短信验证码,例如:6位以上数字。目前手机短信验证码使用的6位数字居多,可能是为了用户友好和安全相结合的结果。不过,大多手机都可以自动填入手机验证码,增加到8位其实也不会给用户带来什么麻烦,而且更加安全。

第二、OTP超时时间太长,一般一次性密码的长度都不长,目前以6位数字为主,如果超时时间太长,就可能给攻击者机会。虽然6位数字组合起来有100万中可能,去掉一些重复的数字再加上生日攻击,尝试的次数就会大大降低。曾经渗透测试时遇到一个网站,6位验证码的有效时间居然给了10分钟的超时时间。

预防措施: 就是缩短一次性密码的有效时间,最长不能大于1分钟。

第三、用户端设备丢失,当一个用户的手机丢失时,捡到手机的人,一旦知道手机号,就可以通过手机号去尝试发送OTP,目前大多数的市场上的手机,如果选择了短信通知的情况下,如下图:

都可以在不解锁的情况下查看到短信的内容,尤其是OTP的短信通知,由于短信内容较短,一般都可以查看整条消息的内容。

预防措施: 就是非必要尽量不要打开短信通知,如下图:

第四、手机端恶意软件,除了盗窃之外,手机端威胁还可能来自包含恶意软件的不安全应用程序、恶意网站或不安全的公共或开放网络等。

预防措施:需要教育用户不要随意点击不明来源的链接,不要使用公共区域的WIFI网络。

第五、安全错误配置和新的安全漏洞,安全配置错误在2019年占所有漏洞的82%,这是黑客的一个容易攻击的目标,因为他们可以容易地发现和利用这些弱点来窃取数据并在组织中制造混乱。这些错误包括未加密的文件、未打补丁的系统、继续使用默认凭据、未受保护的设备以及弱(或不存在)的防火墙保护。配置错误的环境还会使组织容易受到恶意软件感染、僵尸网络和勒索软件攻击的影响,这可能导致数据泄露和赎金要求、身份欺诈和代价高昂的业务停机等问题。

预防措施:通过在整个技术堆栈进行全面的基于风险漏洞评估,加上渗透测试、补丁管理和强大的IAM治理,来识别和解决这些缺陷是至关重要的。为了防止攻击,制定符合企业安全需求的策略和安全基线,指导企业应实施安全配置,并进行符合性检查。定期使用SCA工具扫描是否使用含有严重CVE漏洞的第三方组件等,最好SCA工具可以探测相关CVE是否可以被直接利用,这样可以根据是否可以直接利用设置优先级顺序,优先升级和测试明显可以被利用的漏洞的组件。

第六、内部威胁,来自恶意或疏忽的内奸对各地的组织来说,正在成为越来越大的无密码风险。根据Verizon DBIR 2020的数据,2019年,超过30%的数据泄露涉及内部人员,例如现任或前任员工,或第三方承包商和供应商。许多内部威胁还源于滥用合法的特权帐户。

预防措施:为了降低此类风险,至关重要的是采取安全控制措施,防止滥用和/或提升特权,例如多方授权和将策略执行点分散化以防止IAM策略被篡改。组织还必须确定敏感文件的位置,并确定哪些人可以访问数据,哪些人不能访问数据。 维护最少特权访问模型、围绕数据安全创建一种文化并遵循零信任原则来保护企业资产变得越来越重要。定期检查敏感数据访问日志,及时发现违规行为,及时制止。

第七、用户对隐私的关注,一些用户在使用个人设备进行无密码身份验证时感到不舒服,并担心他们的生物识别数据或上下文数据将被用于侵犯他们的隐私。 对密码的熟悉程度和对无密码身份验证优势的不熟悉也造成了对变革的抵制。

预防措施:使用基于零知识证明和无PII原则的无密码身份验证解决方案,确实可以在使用个人设备时确保不收集用户数据。

第八、不同地方对信息安全的要求的不同,各个国家对网络安全和个人隐私都有专门的法律,不同的国家的法律也不尽相同,如果一个应用要在全球范围内广泛被使用,可能会出现违反当地法律的可能。例如:2019年1月21日,法国的数据保护监管机构——国家信息与自由委员会(CNIL)向谷歌开出5000万欧元(约合5680万美元)的罚单,原因是谷歌没能遵守欧洲《通用数据保护条例》(GDPR)的要求。

预防措施:成立合规部门,研究各个国家的信息安全法律对于收集个人隐私数据的要求,严格按照当地法律实施。在欧洲国家,必须要求工作人员咨询审查无密码身份验证解决方案,以确保其遵守零知识证明和无PII原则。

无密码认证总结

无密码登录确实给用户带来了很大的方便,使用户可以从各种冗长的密码中解脱出来。 但无密码认证给用户带来方便的同时也会带来相应的威胁。在实施无密码认证的时候,需要在系统启动开发之初,考虑到可能收到的威胁,在设计时,需要针对相对的威胁设计好预防方案。由于可能存在未被发现的威胁,在系统投入使用之后,需要时刻关注业界关于无密码认证的攻击事件,及时根据相应事件加强系统的预防措施。

了解无密码身份验证的优点和缺点对于帮助组织实现无密码至关重要。知己知彼才能百战不殆,在信息安全的领域里,也需要做到知己知彼,才能正确地预防。

参考:

Passwordless Authentication 101 | eSecurity Planet

What is passwordless authentication and how does it work?

What Is Passwordless Authentication?

What is Passwordless Authentication?

7 Passwordless Risks and How to Mitigate Them

The Truth About Passwordless Authentication | OneLogin

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

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

相关文章

长度最小的子数组(Java详解)

目录 题目描述 题解 思路分析 暴力枚举代码 滑动窗口代码 题目描述 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条…

Prime 1.0

信息收集 存活主机探测 arp-scan -l 或者利用nmap nmap -sT --min-rate 10000 192.168.217.133 -oA ./hosts 可以看到存活主机IP地址为:192.168.217.134 端口探测 nmap -sT -p- 192.168.217.134 -oA ./ports UDP端口探测 详细服务等信息探测 开放端口22&#x…

【Linux】进程控制-进程创建

目录 一、fork()是什么? 二、fork返回值问题 1、fork()的两个返回值是什么? 2、fork()为什么有两个返回值? 3、一个变量为什么会保存两个不同的值? 三、写时拷贝 1、写时拷贝是什么 2、为什么要写时拷贝 3、写时拷贝的示意…

GEE:均值滤波

作者:CSDN @ _养乐多_ 本文将介绍在 Google Earth Engine(GEE)平台上,进行均值滤波操作的代码框架、核心函数和多种卷积核。 并分别以林地区域和农田区域为试验区,以NDVI图像为例。结果如下图所示, 文章目录 一、均值滤波二、完整代码三、代码链接一、均值滤波 均值滤…

Docker常用进本命令【必备基本功】

docker常用命令 1.帮助命令 1.查看当前docker 版本 docker version2.查看docker的详细信息 docker info3.docker的帮助命令 docker --help2.镜像命令 镜像命令说明docker images列出本地主机的镜像docker search 镜像名称从docker HUB上搜索镜像docker pull 镜像名称从…

ScyllaDB 基础入门

简介 ScyllaDB 是一种开源的 NoSQL 数据库,它提供了高性能、低延迟的数据处理能力,同时保持了与 Apache Cassandra 高度的兼容性。ScyllaDB 使用了一种名为 “Seastar” 的高效并行编程框架,并采用了 C 进行开发,因此它能够充分利…

Linux 进程状态

操作系统学科的进程状态 新建态:刚刚创建的进程, 操作系统还未把它加入可执行进程组, 它通常是进程控制块已经创建但还未加载到内存中的新进程。就绪态:进程做好了准备,只要有机会就开始执行。阻塞态:进程在…

【富文本编辑器】原生JS使用WangEditor和vue上传图片前后端demo

【富文本编辑器】原生JS使用WangEditor上传图片前后端demo 第一步 HTML 第二步 初始化WangEditor与图片上传回调函数 第三步 后端返回数据体封装 第四步 后端接口上传图片,并返回图片地址 最近,我遇到了这样一个问题:因为我们的项目是基于…

网络和Linux网络_9(应用层和传输层_笔试选择题)

目录 一. 常见应用协议等等 1. 以下不是合法HTTP请求方法的是( ) 2. 文件传输使用的协议是() 3. HTTP1.1的请求方法不包括?() 4. http状态码中,( )表示访问成功,( )表示坏请求,( )表示服务不可用。() …

【力扣206】反转链表

【力扣206】反转链表 一.题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1 : 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2 : 输入:head [1,2] 输出&#x…

物奇平台电容触摸功能调试

是否需要申请加入数字音频系统研究开发交流答疑群(课题组)?可加我微信hezkz17, 本群提供音频技术答疑服务,+群赠送语音信号处理降噪算法,蓝牙耳机音频,DSP音频项目核心开发资料, 物奇平台电容触摸功能调试 1 修改按键驱动宏 2 编译生成wpk 文件,import 导入烧录文件。…

先遗忘后学习:基于参数计算的大模型知识更新

深度学习自然语言处理 原创作者:陈定纬编辑:cola 最近,大型语言模型(LLMs)展示了其令人惊叹的文本理解和生成能力。然而,即使是更为强大的LLMs,仍有可能从训练语料库中学到不正确的知识&#xf…

k8s安装学习环境

目录 环境准备 配置hosts 关闭防火墙 关闭交换分区 调整swappiness参数 关闭setlinux Ipv4转发 时钟同步 安装Docker 配置Yum源 安装 配置 启动 日志 安装k8s 配置Yum源 Master节点 安装 初始化 配置kubectl 部署CNI网络插件 Node节点 检查 环境准备 准…

LASSO vs GridSearchCV

LASSO VS GridSearchCV LASSO定义目的使用方法原理示例总结 GridSearchCV定义目的使用方法原理网格搜索(Grid Search)交叉验证(Cross-Validation)总结 示例总结 总结 LASSO 定义 LASSO(Least Absolute Shrinkage and…

【ArcGIS Pro微课1000例】0040:ArcGIS Pro创建北极点、南极点

文章目录 一、创建北极点图层二、创建北极点三、不同投影系下北极点的位置一、创建北极点图层 选择一个数据库,在上面右键→新建→要素类。 输入名称:北极点。 空间参考:WGS 1984 点击创建。 二、创建北极点 在编辑选项卡下,点击【创建】。 在创建要素窗口中,点击北极点…

【RT-DETR改进】InnerIoU思想结合传统 EIoU、SIoU、WIoU损失思想(小目标涨点效果明显)

论文地址:官方Inner-IoU论文地址点击即可跳转 官方代码地址:官方代码地址-官方只放出了两种结合方式CIoU、SIoU 本位改进地址: 文末提供完整代码块-包括InnerEIoU、InnerCIoU、InnerDIoU等七种结合方式和其AlphaIoU变种结合起来可以达到二十…

轻盈悦耳的运动型气传导耳机,还有条夜跑灯,哈氪聆光体验

我平时出门不管是散步、骑行,还是坐公交的时候,都喜欢戴上耳机听音乐,这可以让我放松心情。现在市面上的耳机还是以真无线为主,选择虽多,但不适合户外使用,听不见外界的声音,运动时还容易脱落&a…

牛客在线编程(SQL大厂面试真题)

1.各个视频的平均完播率_牛客题霸_牛客网 ROP TABLE IF EXISTS tb_user_video_log, tb_video_info; CREATE TABLE tb_user_video_log (id INT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID,uid INT NOT NULL COMMENT 用户ID,video_id INT NOT NULL COMMENT 视频ID,start_time d…

链表【1】

文章目录 🍈2. 两数相加🍌1. 题目🍏2. 算法原理🍓3. 代码实现 🍉445. 两数相加 II🍍1. 题目🍐2. 算法原理🫐3. 代码实现 🍈2. 两数相加 🍌1. 题目 题目链接&…

【数据结构高阶】AVL树

上期博客我们讲解了set/multiset/map/multimap的使用,下面我们来深入到底层,讲解其内部结构: 目录 一、AVL树的概念 二、AVL树的实现 2.1 节点的定义 2.2 数据的插入 2.2.1 平衡因子的调整 2.2.1.1 调整平衡因子的规律 2.2.2 子树的旋…
最新文章