每日一博 - Token Based Authentication VS HMAC Authentication 实现web安全

简介: 每日一博 - Token Based Authentication VS HMAC Authentication 实现web安全

概念


Token Based Authentication和HMAC(Hash-based Message Authentication Code)Authentication都是用于身份验证和数据完整性验证的安全机制,但它们有不同的工作方式和适用场景。以下是它们的主要区别和比较:


 1.  Token Based Authentication(基于令牌的身份验证):

       工作原理:Token Based Authentication使用令牌(Token)来验证用户身份。当用户成功登录后,服务器会生成一个令牌,然后将令牌返回给客户端。客户端之后在每个请求中都会包含这个令牌,以证明其身份。

       适用场景:Token Based Authentication通常用于Web应用程序和API,特别是在前后端分离的应用中,以便跨不同请求和资源进行身份验证。常见的实现包括JWT(JSON Web Token)和OAuth 2.0。


2.    HMAC Authentication:

       工作原理:HMAC Authentication使用哈希函数和共享密钥来验证消息的完整性和真实性。发送方使用共享密钥对消息进行哈希处理,然后将哈希值与消息一起发送给接收方。接收方使用相同的密钥和消息来重新计算哈希值,然后与接收到的哈希值进行比较以验证消息的完整性和真实性。

       适用场景:HMAC Authentication通常用于API和数据传输的身份验证和数据完整性验证。它强调消息完整性和真实性的验证,而不仅仅是身份验证。


主要区别:


   Token Based Authentication主要用于验证用户的身份,通常用于Web应用程序和API中,而HMAC Authentication主要用于验证消息的完整性和真实性。


   Token Based Authentication使用令牌作为身份验证凭证,而HMAC Authentication使用共享密钥和消息的哈希值。


   Token Based Authentication通常需要在服务器端存储会话状态或验证令牌的签发机构,而HMAC Authentication不需要在服务器端存储状态,因为验证是基于消息的哈希值和密钥进行的。


选择哪种身份验证方法取决于你的具体需求。如果需要验证用户身份并实现单点登录等功能,Token Based Authentication可能更适合。如果需要强调数据完整性和真实性验证,HMAC Authentication可能更适合。通常,在安全性和实施的复杂性之间需要权衡。




HMAC工作原理


HMAC(Hash-based Message Authentication Code)是一种用于数据完整性验证和身份验证的加密哈希函数。它基于哈希函数和密钥来创建一个固定长度的认证码,用于验证消息的完整性和真实性。


HMAC的工作原理如下:


  1.    首先,选择一个适当的哈希函数(如SHA-256、SHA-512等)作为基础哈希函数。
  2.    将消息和一个密钥输入到哈希函数中。这个密钥只有发送方和接收方知道。
  3.    哈希函数将消息和密钥结合起来,生成一个哈希值。
  4.    然后,将这个哈希值再次与密钥结合,生成最终的认证码。



HMAC具有以下特点:


   它依赖于密钥,这意味着只有知道密钥的人才能生成正确的认证码,从而确保了身份验证。


   由于哈希函数的不可逆性,无法从认证码中推导出原始消息或密钥。


   即使原始消息被篡改,只要密钥保持安全,接收方可以使用相同的密钥重新计算认证码,然后与接收到的认证码进行比较,从而检测到消息的篡改。


   HMAC还具有抗攻击特性,如长度扩展攻击。


HMAC常常用于保护通信协议、数据存储和身份验证过程中,以确保数据的完整性和安全性。它是一种常见的加密技术,广泛用于网络安全领域。

314f09cae28e4ba4977ee991aa005f45.png


相关文章
|
6月前
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
657 2
|
2月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.10 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.10 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
287 3
|
4月前
|
运维 数据可视化 C++
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
2025年热门Web化容器部署工具对比:Portainer与Websoft9。Portainer以轻量可视化管理见长,适合技术团队运维;Websoft9则提供一站式应用部署与容器管理,内置丰富开源模板,降低中小企业部署门槛。两者各有优势,助力企业提升容器化效率。
389 1
2025 热门的 Web 化容器部署工具对比:Portainer VS Websoft9
|
3月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.9 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
414 0
Burp Suite Professional 2025.9 发布 - Web 应用安全、测试和扫描
|
5月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
560 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
5月前
|
存储 安全 JavaScript
Web Storage有哪些安全风险?
Web Storage有哪些安全风险?
|
8月前
|
安全 Linux API
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
Burp Suite Professional 2025.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
415 6
Burp Suite Professional 2025.4 发布 - Web 应用安全、测试和扫描
|
10月前
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
492 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
9月前
|
安全 大数据 数据挖掘
课时9:阿里云Web应用防火墙:全面保障网站的安全与可用性
阿里云Web应用防火墙(WAF)基于阿里巴巴十年攻防经验,提供全面的网站安全防护。它通过Web应用防护、CC攻击防护和业务风控,有效应对各类网络威胁,确保网站的安全与可用性。智能双引擎技术降低误报率,实时数据分析和虚拟补丁更新保障系统安全。WAF已成功护航多个重大活动,为企业提供高效、简便的安全解决方案。
270 0
|
12月前
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。