博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
8.2 JWT
阅读量:2045 次
发布时间:2019-04-28

本文共 634 字,大约阅读时间需要 2 分钟。

文章目录

8.2 JWT

8.2.1 简介

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

8.2.2 构成

分为三个部分,分别为header/payload/signature。其中header是声明的类型和加密使用的算法。payload是载荷,最后是加上 HMAC(base64(header)+base64(payload), secret)

8.2.3 安全问题

8.2.3.1 Header部分

  • 是否支持修改算法为none/对称加密算法
  • 删除签名
  • 插入错误信息
  • kid字段是否有SQL注入/命令注入/目录遍历
  • jwk元素是否可信
  • 是否强制使用白名单上的加密算法

8.2.3.2 Payload部分

  • 其中是否存在敏感信息
  • 检查过期策略,比如 exp , iat

8.2.3.3 Signature部分

  • 检查是否强制检查签名
  • 密钥是否可以爆破
  • 是否可以通过其他方式拿到密钥

8.2.3.4 其他

  • 重放
  • 通过匹配校验的时间做时间攻击
  • 修改算法RS256为HS256
  • 弱密钥破解

8.2.3.5 参考链接

转载地址:http://ocaof.baihongyu.com/

你可能感兴趣的文章
ubuntu下clion中配置opencv的CMakeLists.txt
查看>>
什么是卷积 卷积有什么用
查看>>
有趣的机器学习概念纵览:从多元拟合,神经网络到深度学习,给每个感兴趣的人
查看>>
K-近邻算法:KNN
查看>>
solver及其配置
查看>>
图说C++对象模型:对象内存布局详解
查看>>
【Java基础】Java类的加载和对象创建流程的详细分析
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
Java多线程知识点总结
查看>>
Java集合框架知识梳理
查看>>
java中IO流知识梳理
查看>>
word2010如何保持在公式后面键入空格后或添加文字不变小?
查看>>
笔试题(一)—— java基础
查看>>
笔试题(二)—— sql语句
查看>>
Redis学习笔记(二)— 在linux下搭建redis服务器
查看>>
Redis学习笔记(三)—— 使用redis客户端连接windows和linux下的redis并解决无法连接redis的问题
查看>>
Eclipse配置错误——An internal error occurred during: "Building workspace".GC overhead limit exceeded
查看>>
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>
Intellij IDEA使用(二)—— 在Intellij IDEA中配置JDK(SDK)
查看>>
Intellij IDEA使用(三)——在Intellij IDEA中配置Tomcat服务器
查看>>