与表单身份验证相比,JWT在不安全网络上的安全性

LCJ

我正在尝试学习JSON Web令牌(JWT),并使用ASP.NET Web API和Identity 2.1 –第3部分中的“实现OAuth JSON Web令牌身份验证”中的文章系列成功完成了示例

我了解到JWT并喜欢可以使用https://jwt.io/中的JWT调试器对令牌进行解码令牌不加密-只是编码。

我有一个使用的现有ASP.Net网站forms authentication我计划将其作为Web API进行一些功能,并使用JWT进行身份验证。

由于可以对JWT进行解码,因此,如果某些恶意黑客可以读取令牌,则可以对它们进行身份验证并访问资源。

问题1与JASP.Net表单身份验证相比,JWT的安全性如何?是通过不安全的网络获得更多,更少或相等的安全性吗?

问题2文章“如何避免Web应用程序中的会话劫持”说明了一种用于验证登录期间向session_id发出IP的IP地址以及所有后续请求的IP地址的方法Application_AcquireRequestState如果会话ID存储在服务器中,则将有可能。

如果我也将原始IP地址存储在JWT令牌上,是否可以确保不伪造令牌(以在每个请求中验证原始IP地址和当前IP地址)?

参考文献

  1. Cookie与代币。正确使用Angular.JS进行身份验证
  2. 会话劫持攻击
  3. 如果JWT被盗怎么办?
  4. 从身份验证的用户那里窃取JWT
佩德罗夫

JWT的内容可见性不是安全问题,因为可以通过数字签名保护内容免遭更改。但是,如果攻击者可以访问令牌,则他可以冒充用户。因此,请尽可能使用HTTPS并将令牌保存在安全的存储中

如果要隐藏内容。JWT可以与JWE加密一起使用。

表单身份验证可能会在cookie中使用一个不透明的令牌来维护服务器会话。因此,如果将JWT存储在标有HTTPOnly的cookie中,我会说安全级别或多或少是相同的。请注意,cookie容易受到CSRF攻击。但是,将JWT存储在localStorage中或可与javascript兼容将使其容易受到XSS攻击。

无论如何,您都需要采取额外的安全措施,因此没有神奇的解决方案,并且取决于上下文

编辑问题2(避免会话劫持验证IP地址

只需将源IP地址添加到令牌中,就可以将这种技术以同样的方式应用于JWT。由于令牌已签名,因此您可以将源TCP IP地址与令牌地址进行比较,以验证令牌的来源。

请注意,完全有可能使用伪造的发送者IP发送数据,但是答复将转到发送者使用的伪造IP地址,因此它们将永远无法到达攻击者。

但是验证客户端IP有缺点,例如在移动设备中,当用户从wifi切换到4G时IP可能会更改,那么当前令牌将被拒绝

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

角度不安全网址

来自分类Dev

如何解析不安全网络的 .XML 数据

来自分类Dev

这是使用Java加密(使用公共私钥)可能通过不安全网络发送的消息的安全方法吗?

来自分类Dev

为什么基于MAC的身份验证不安全?

来自分类Dev

访问不安全网站后该怎么办

来自分类Dev

使用 HTTP 基本身份验证获取 JWT 令牌的安全性如何?

来自分类Dev

Web API安全性(身份验证)

来自分类Dev

Kafka安全性和身份验证

来自分类Dev

Java EE 7的安全性+身份验证+授权

来自分类Dev

Firestore安全性用于未经身份验证的访问

来自分类Dev

Grails Spring安全性插件身份验证失败

来自分类Dev

Tomcat身份验证和Spring安全性

来自分类Dev

Java EE 7的安全性+身份验证+授权

来自分类Dev

Blazor安全性-Razor Pages自定义身份验证/安全性

来自分类Dev

无密钥身份验证的无Pasword Rsync over SSH [不安全]

来自分类Dev

检查用户是否在不安全的路由上进行了身份验证

来自分类Dev

与OAuth相比,非常简单的身份验证API是否存在安全性问题?

来自分类Dev

具有3个字段的身份验证和自定义登录表单的Spring Boot安全性

来自分类Dev

WCF身份验证-验证消息的安全性时发生错误

来自分类Dev

是否可以修改OAuth身份验证中的身份验证字段以实现春季安全性?

来自分类Dev

Windows身份验证和SQL身份验证之间的区别-视图,安全性,数据库

来自分类Dev

绕过应用程序传输安全性以允许不安全的HTTP服务器

来自分类Dev

Elastic Search有多不安全?如何提高其安全性?

来自分类Dev

SSO基于基于令牌的身份验证的安全性如何?

来自分类Dev

身份验证(护照)足以确保Node js后端服务器的安全性?

来自分类Dev

Web API安全性和身份验证-承载令牌

来自分类Dev

Microsoft通过OWIN / MVC5身份验证增强的重定向安全性

来自分类Dev

具有多个身份验证提供程序的Spring安全性-UsernameNotFoundException

来自分类Dev

使用HTTP基本身份验证的python flask REST API的安全性

Related 相关文章

  1. 1

    角度不安全网址

  2. 2

    如何解析不安全网络的 .XML 数据

  3. 3

    这是使用Java加密(使用公共私钥)可能通过不安全网络发送的消息的安全方法吗?

  4. 4

    为什么基于MAC的身份验证不安全?

  5. 5

    访问不安全网站后该怎么办

  6. 6

    使用 HTTP 基本身份验证获取 JWT 令牌的安全性如何?

  7. 7

    Web API安全性(身份验证)

  8. 8

    Kafka安全性和身份验证

  9. 9

    Java EE 7的安全性+身份验证+授权

  10. 10

    Firestore安全性用于未经身份验证的访问

  11. 11

    Grails Spring安全性插件身份验证失败

  12. 12

    Tomcat身份验证和Spring安全性

  13. 13

    Java EE 7的安全性+身份验证+授权

  14. 14

    Blazor安全性-Razor Pages自定义身份验证/安全性

  15. 15

    无密钥身份验证的无Pasword Rsync over SSH [不安全]

  16. 16

    检查用户是否在不安全的路由上进行了身份验证

  17. 17

    与OAuth相比,非常简单的身份验证API是否存在安全性问题?

  18. 18

    具有3个字段的身份验证和自定义登录表单的Spring Boot安全性

  19. 19

    WCF身份验证-验证消息的安全性时发生错误

  20. 20

    是否可以修改OAuth身份验证中的身份验证字段以实现春季安全性?

  21. 21

    Windows身份验证和SQL身份验证之间的区别-视图,安全性,数据库

  22. 22

    绕过应用程序传输安全性以允许不安全的HTTP服务器

  23. 23

    Elastic Search有多不安全?如何提高其安全性?

  24. 24

    SSO基于基于令牌的身份验证的安全性如何?

  25. 25

    身份验证(护照)足以确保Node js后端服务器的安全性?

  26. 26

    Web API安全性和身份验证-承载令牌

  27. 27

    Microsoft通过OWIN / MVC5身份验证增强的重定向安全性

  28. 28

    具有多个身份验证提供程序的Spring安全性-UsernameNotFoundException

  29. 29

    使用HTTP基本身份验证的python flask REST API的安全性

热门标签

归档