常见Web认证方式对比

news2024/11/16 12:56:28

认证是一个在用户或者设备在访问一个受限的系统时,鉴定用户凭据的过程,即确认“你是谁”的问题。最常见的认证用户的方式是通过用户名和密码的形式进行校验,目前存在多种校验方式,本文将对其进行一个简单的对比,使得大家能够有一个较为完整的了解。

Basic认证

基本身份验证内置于 HTTP 协议中,是最基本的身份验证形式。它使用 HTTP 标头,以便在向服务器发出请求时提供用户名和密码

"Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=" your-website.com

用户名和密码不加密。相反,用户名和密码会用:符号连接起来,形成一个字符串:username:password。然后使用 base64 对该字符串进行编码。这种方法是无状态的,因此客户端必须在每次请求时提供凭据。它适用于不需要持续会话的 API 调用和简单的身份验证工作流。

工作流

  • 未经身份验证的客户端请求受限资源
  • HTTP 401 未认证会返回一个值为 Basic 的 WWW-Authenticate 标头。
  • WWW-Authenticate:Basic 头信息会使浏览器弹框显示用户名和密码,供用户输入凭据。
  • 输入凭据后,每次请求都会在标头中发送凭据:Authorization:Basic dcdvcmQ=

优势

  • 由于操作不多,使用这种方法认证速度更快。
  • 易于实施。
  • 所有主流浏览器都支持。

劣势

  • Base64 与加密不同。它只是表示数据的另一种方式。base64 编码的字符串很容易被解码,因为它是以纯文本发送的。这种特性会导致多种类型的攻击。因此,HTTPS/SSL 是绝对必要的。
  • 每次请求都必须发送凭证。
  • 用户只能通过重写无效的凭据才能注销。

Diget认证

HTTP 摘要验证(或摘要访问验证)是 HTTP Basic验证的一种更安全的形式。主要区别在于密码是以 MD5 散列形式发送,而不是以纯文本形式发送,因此比基本认证更安全。

工作流

  • 未经身份验证的客户端请求受限资源
  • 服务器生成一个称为 nonce 的随机值,并发回一个 HTTP 401 未授权状态和一个 WWW-Authenticate 标头,该标头的值与 nonce 一起为 Digest: WWW-Authenticate: Digest nonce="44f0437004157342f50f935906ad46fc"
  • WWW-Authenticate: Diget标头会使浏览器显示用户名和密码提示
  • 输入凭据后,密码将被散列,然后在每次请求时连同 nonce 一起在标头中发送: Authorization:Digest         username="username",nonce="16e30069e45a7f47b4e2606aeeb7ab62", response="89549b93e13d438cd0946c6d93321c52"
  • 有了用户名,服务器就能获取密码,将其与nonce一起散列,然后验证散列是否相同.

优势

  • 由于密码不会以纯文本形式发送,因此比基本认证更安全。
  • 易于实施。
  • 所有主流浏览器都支持。

劣势

  • 每次请求都必须发送凭据(与Basic的方式一样)。
  • 用户只能通过重写无效的凭据才能注销。
  • 与Basic认证相比,密码在服务器上的安全性较低,因为不能使用 bcrypt。
  • 易受中间人攻击。

基于Session的认证

使用基于会话的验证(或会话 cookie 验证或基于 cookie 的验证)时,用户的状态存储在服务器上。它不要求用户在每次请求时提供用户名或密码。相反,在登录后,服务器会验证凭据。如果有效,服务器会生成一个会话,将其存储在会话存储区中,然后将会话 ID 发回给浏览器。浏览器会将会话 ID 存储为 Cookie,在向服务器发出请求时随时发送。

基于会话的身份验证是有状态的。每次客户端请求服务器时,服务器都必须在内存中找到会话,以便将会话 ID 与相关用户联系起来。

工作流

优势 

  • 后续登录更快,因为不需要凭据。
  • 改善用户体验。
  • 相当容易实现。许多框架开箱即提供此功能。

劣势

  • 它是有状态的。服务器会在后端跟踪每个会话。用于存储用户会话信息的会话存储需要在多个服务间共享,以实现身份验证。正因为如此,它不能很好地用于 RESTful 服务,因为 REST 是一种无状态协议。
  • 即使不需要身份验证,每次请求也会发送 Cookie。
  • 易受 CSRF 攻击

 基于Token的认证

这种方法使用令牌而不是 cookie 来验证用户。用户使用有效凭证进行身份验证,服务器返回一个签名令牌。该令牌可用于后续请求。

最常用的令牌是 JSON 网络令牌(JWT),关于JWT的详细介绍,请查看JWT简介-CSDN博客

令牌无需保存在服务器端。只需使用其签名进行验证即可。近来,由于 RESTful API 和单页面应用程序(SPA)的兴起,令牌的采用率越来越高。

工作流

优势

  • 它是无状态的。服务器不需要存储令牌,因为可以使用签名进行验证。由于不需要查找数据库,因此请求速度更快。
  • 适用于需要验证多个服务的微服务架构。我们只需在每一端配置如何处理令牌和令牌密文。

劣势

  • 根据客户端保存令牌的方式,它可能会导致 XSS(通过 localStorage)或 CSRF(通过 cookies)攻击。
  • 令牌不能删除。它们只能过期。这就意味着,如果令牌被泄露,攻击者可以滥用令牌直到过期。因此,将令牌过期时间设置得很小很重要,比如 15 分钟。
  • 刷新令牌需要设置为在到期时自动发放令牌。
  • 删除令牌的一种方法是创建一个将令牌列入黑名单的数据库。这会增加微服务架构的额外开销,并引入状态。

 在本文中,我们介绍了多种不同的网络身份验证方法,这些方法各有利弊。什么时候应该使用每种方法?这取决于具体情况!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“数字政协”平台如何提高政协工作效率?正宇软件助力建设!

随着信息技术的飞速发展,数字化已成为推动各行各业转型升级的重要力量。在政协工作中,数字政协平台的建设与运用,正成为提高政协工作效率、促进民主协商的重要手段。本文将从数字政协平台的功能特点、优势分析以及实践应用等方面,…

6.26.7 两阶段卷积神经网络在乳腺癌组织学图像分类中的应用

本文探讨了乳腺组织显微图像的分类问题。根据主要的癌症类型,目标是将图像分为四类:正常、良性、原位癌和浸润性癌。给定合适的训练数据集,利用深度学习技术来解决分类问题。由于训练数据集中每个图像的大小很大,提出了一种基于patch的技术&a…

美团校招机试 - 小美的平衡矩阵(20240309-T1)

题目来源 美团校招笔试真题_小美的平衡矩阵 题目描述 小美拿到了一个 n * n 的矩阵,其中每个元素是 0 或者 1。 小美认为一个矩形区域是完美的,当且仅当该区域内 0 的数量恰好等于 1 的数量。 现在,小美希望你回答有多少个 i * i 的完美…

软件测试面试题:Web View如何测试?

Web View介绍 Web View(网页视图)是一种用于在应用程序中显示网页内容的组件或控件。提供了一种将网页内容嵌入到应用程序中的方式,使用户能够在应用程序中浏览和交互网页。 Web View通常用于开发移动应用程序,特别是混合应用程…

SOBEL图像边缘检测器的设计

本项目使用FPGA设计出SOBEL图像边缘检测器,通过分析项目在使用过程中的工作原理和相关软硬件设计进行分析详细介绍SOBEL图像边缘检测器的设计。 资料获取可联系wechat 号:comprehensivable 边缘可定义为图像中灰度发生急剧变化的区域边界,它是图像最基本…

2024年G1工业锅炉司炉证考试题库及G1工业锅炉司炉试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年G1工业锅炉司炉证考试题库及G1工业锅炉司炉试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大纲…

LED裸眼3D显示屏:开启视觉新体验

随着科技的不断进步,LED显示屏作为一种新型的显示技术,已经被广泛应用于各个领域。而其中,LED裸眼3D显示屏更是因其独特的技术原理和令人震撼的视觉效果,成为了业界关注的焦点。 裸眼3D显示屏是一种前沿的显示技术,它…

超越规模的冒险之旅:引导人工智能价值对齐

在茫茫技术之林中,人工智能凭借大模型占据了重要地位。人们已经不再局限于人机对弈和AI识图,开始探索那些能够模仿人类思考的机器。无论是日常聊天、文本写作,还是[在完美的提示词引导下创作出惊艳的诗歌],我们不得不承认AI工具已…

计算机网络:如何隐藏真实的IP和MAC地址?

目录 一、什么是MAC地址二、什么是IP地址三、如何隐藏真实的MAC地址四、如何隐藏真实的IP地址 一、什么是MAC地址 MAC地址,全称为媒体访问控制地址(Media Access Control Address),是一种用于网络通信的唯一标识符。它是由IEEE 8…

Windows 计划任务 运行 Bat 的配置参考

打开Windows 计划任务- 创建任务 属性设置 - 常规 属性设置 - 触发器 属性设置 - 操作

今天不看文章,明天变垃圾(明天收费)-----字节数据分析发展过程中所遭遇的挑战

字节数据分析发展过程中所遭遇的挑战 三个核心议题: 海量数据分析性能:会议指出Spark分析性能不足成为了一个显著问题,尤其是在需要毫秒级响应的业务场景中。实时导入与查询能力:目前Kylin只能以T1的形式提供分析服务&#xff0…

MySQL内存使用率高且不释放问题排查与总结

背景 生产环境mysql 5.7内存占用超过90%以上,且一直下不来。截图如下: 原因分析 1、确定mysql具体的占用内存大小,通过命令:cat /proc/Mysql进程ID/status查看 命令执行后的结果比较多(其他参数的含义想了解可参考这…

Redis-实战篇-实现商铺缓存与数据库的双写一致(超时剔除和主动更新)

文章目录 1、给查询商铺的缓存添加超时剔除和主动更新的策略2、根据id查询店铺2.1、queryById2.2、RedisConstants.java 3、根据id修改店铺3.1、ShopController.java3.2、update 1、给查询商铺的缓存添加超时剔除和主动更新的策略 修改ShopController中的业务逻辑,满…

ONLYOFFICE 桌面编辑器 8.1华丽登场

简介:全新ONLYOFFICE 桌面编辑器 8.1解锁全新PDF编辑、幻灯片优化与本地化体验,立即下载! 前言:在数字化时代,高效的办公协作工具是企业和个人不可或缺的利器。ONLYOFFICE,作为一款功能强大的云端和桌面办公…

亚马逊风控策略揭秘:测评系统为何这么重要?

在亚马逊这个竞争激烈的电商平台上,许多卖家都渴望通过测评来提升产品销量和排名。然而,亚马逊对测评行为的监管之严格,可以说是业内首屈一指。即便你采用的是由真实客户购买并评价的“真人测评”模式,也难免存在一定的风险。 那么…

Psychtoolbox 脑电实验范式之mp4视频绘制

1. 读取 首先需要使用到Screen(‘OpenMovie’)函数,该函数可以读取mp4、gif格式的数据,具体方式如下: clear; clc; Screen(Preference, SkipSyncTests, 1); screens Screen(Screens); screenNum max(screens); [window, screenRect] Scr…

参加六西格玛绿带培训是投资未来,还是花冤枉钱?

是否值得花费资金参加六西格玛绿带培训,取决于多个因素。 从积极的方面来看,参加六西格玛绿带培训具有以下潜在价值: 1. 提升专业技能:使您掌握一套系统的问题解决方法和流程改进工具,有助于在工作中更高效地解决复杂…

甄美天使1+3退休模式创富模型,甄美天使商业模式特点

甄美天使13退休模式级差,每个人都有机会成为千万的受益人; 坐标:厦门,我是肖琳 深耕社交新零售行业10年,主要提供新零售系统工具及顶层商业模式设计、全案策划运营陪跑等。 甄美天使的创富模型采用了社交电商的传播理…

千年织锦:中国古代包文化的辉煌历程与现代传承

追溯至远古,我们的祖先就开始利用自然界的恩赐——皮革、植物纤维等,制作出最原始的包袋。随着时间的推移,技艺的提升,包的材质逐渐丰富起来,从粗糙到精致,从简单到复杂,每一次材质的革新都是人…

Linux学习第54天:Linux WIFI 驱动:蓝星互联

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 数字化、现代化的今天,随处的WIFI给与了大众极大的方便,也感受到了科技的力量。万物互联、无线互联越来越成为一个不可逆转的趋势。现在比较火…