前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >双因子认证是什么

双因子认证是什么

原创
作者头像
写bug的高哈哈
发布2024-11-08 13:32:22
发布2024-11-08 13:32:22
1430
举报

如今,大多数常见应用,如网站和APP,在用户首次使用时通常都需要注册。一般会使用邮箱作为账号,用户再设置一个容易记住的密码。近年来,双因子认证在网站和APP中越来越常见,系统有时还会询问用户是否需要启用这一功能。那么,双因子认证究竟是什么?

简单来说,双因子认证就是一种双重认证机制。用户不仅要输入密码供系统审核,还需要提供第二种认证方式,最常见的就是智能卡。这就像使用银行卡在ATM机上取款一样,需要插入卡片并输入密码,只有通过了这两重验证,才能成功取款。

多因子认证则是比双因子认证增加了更多的验证因素。

认证因子的种类

用户需要记忆的类型

这指的是用户必须自行记忆的认证内容,例如:用户的账号及密码。

用户拥有的类型

指的是用户本身可以持有的东西,可以是硬件或软件,例如:智能卡、证书、动态密码生成器。动态密码最常见的应用是系统会发送短信到用户的手机上,并且给出一段密码,通常也叫做验证码,然后在APP或网站端要求用户输入这段验证码,让系统进行验证。

用户天生具有的类型

指的是用户与生俱来就拥有的东西,最常见的就是我们的指纹、面部特征、DNA、虹膜等生物特征信息。虽然有些生物特征确实可以造成以假乱真的效果,但通常使用生物特征作为认证因子还需要考虑易用性的问题,例如你要解锁手机前,手机要扫描你的DNA或虹膜吗?当然是指纹或面部识别这方面的验证才会让用户更加方便使用。

为什么需要多因子认证

其实不外乎是因为如果只用用户可以记得的密码进行认证,不免会有以下的问题:

弱密码与强密码:弱密码通常指用户容易记住的密码,而强密码则类似于随机生成的密码。

大多数用户倾向于选择容易记忆的密码,这可能导致密码容易被破解。网络上有许多列出最常见密码的文章,许多用户可能仍在使用这些简单密码。黑客往往会首先尝试这些常见密码,因此存在安全隐患。

智能卡、证书、动态密码是什么

智能卡

为什么会被称为智能卡,是因为它们内置了特殊的芯片,这些芯片能够加密存储和处理数据。通过读卡器,我们可以读取或处理卡内的数据,而这些数据通常难以被破解或复制。

在大多数情况下,智能卡并不会单独取代密码认证机制,而是与用户记忆的密码结合使用,只有两者都正确,才能访问卡内数据。

证书

证书是一种证明文件,通常由具有公信力的第三方机构颁发给用户,即数字证书认证机构(Certificate Authority,简称CA)。

证书分为实体证书和数字证书。实体证书如政府发放的身份证,而数字证书比如电子身份证等。虽然我们的身份证和驾驶证没有芯片,不具备计算能力,但它们代表了一种证明。数字证书则采用PKI架构(Public Key Infrastructure)。

什么是PKI架构

PKI架构由数字证书、证书机构(CA)、注册机构(RA)等组成,用于验证网上交易各方的身份。

简单来说,PKI架构的原理是利用非对称加密算法。每个用户都有一对公钥和私钥,公钥是公开的,而私钥存储在智能卡的芯片中,由CA保管。

例如,当A想要向B发送加密信息时,A会先向CA获取B的公钥,然后用它加密信息,再通过网络发送给B。即使信息在传输过程中被截获,黑客也无法解密,因为只有B的私钥才能解开。这样既保证了信息的私密性,也验证了发送者的身份,确保了交易的不可否认性。

动态密码

动态密码,也称为一次性密码(OTP),通过散列算法生成,具有时效性和不可预测性。

动态密码通常与载体一起使用,比如通过手机短信接收。Google的Authenticator APP就是通过与启用双因子认证的网站绑定,生成一次性验证码。以GitHub为例,用户需要使用双因子认证应用,并扫描提供的条形码图像。之后,在Google Authenticator APP上会显示6位验证码,用户需要输入这个验证码。

每次登录GitHub时,除了账号密码,还需输入Google Authenticator APP上显示的验证码,该验证码每30秒更新一次。

其原理是GitHub维护每个用户的密钥,通过条形码传递给Google Authenticator APP,APP结合密钥和时间戳生成6位验证码。当验证码发送到服务器时,服务器也用相同的算法生成验证码进行比对,比对成功则验证通过。因此,APP和GitHub的时间需要同步,通常使用Unix时间戳,以保证生成的验证码一致。

使用情境举例

以目前生活中的搭配来看,比较多的是以下三种:

  • 账号密码+动态密码:许多网站提供这种双因子认证选项。
  • 智能卡+密码:如ATM取款,需要插入智能卡并输入密码,还有错误尝试次数限制,防止盗用。
  • 生物特征+智能卡或证书:如机场的自助检票系统,结合护照和面部识别进行多因子身份验证。

总结

其实要采用怎样不同类型的因子进行搭配,还是要看使用情境而定,此外还需要考量成本、验证准确度及速度来决定。生物特征理论上是最安全和严谨的,但考虑到目前技术发展水平,如果准确度和速度不够高,就无法广泛使用。

双因子认证无疑比单因子认证更安全,已成为主流趋势。如果用户关注信息安全,启用双因子认证是一个好选择。尽管大多数网站将双因子认证设为可选而非必需,因为更安全的系统操作更复杂,可能会影响用户体验。特别是对于那些与财产无关的网站,用户可能不太关心安全性。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 认证因子的种类
    • 用户需要记忆的类型
    • 用户拥有的类型
    • 用户天生具有的类型
  • 为什么需要多因子认证
  • 智能卡、证书、动态密码是什么
    • 智能卡
    • 证书
      • 什么是PKI架构
    • 动态密码
    • 使用情境举例
    • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档