百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

理解 JWKS(JSON Web 密钥集)(jwt 密钥)

myzbx 2025-07-24 20:21 20 浏览

JWTs或JSON Web Tokens最常用于识别经过身份验证的用户并验证API请求。在这个验证过程中,需要使用加密密钥来验证JWT的完整性,以确保它没有被篡改。用于这个过程的密钥集被称为JWKS或JSON Web Key Set。在本博文中,我们将介绍JWKS是什么以及它们的使用方式。

什么是JSON Web Keys(JWKS)?

JSON Web Keys(JWKs)是表示加密密钥的JSON数据结构。这些密钥主要用于在OAuth流程中验证JWT。JWKs旨在易于交换,使它们成为表示加密密钥的标准化和可互操作的格式。

JWKS的结构

一个示例的JWKS将具有以下布局:

{
"jwk":
  [
    {
     "alg":"RSA",
     "mod": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx 4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMs tn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2 QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbI SD08qNLyrdkt-bFTWhAI4vMQFh6WeZu0fM4lFd2NcRwr3XPksINHaQ-G_xBniIqb w0Ls1jF44-csFCur-kEgU8awapJzKnqDKgw",
     "exp":"AQAB",
     "Kid":"2011-04-29"
    }
  ]
}

一个JWK由一个JWK容器对象组成,它是一个包含JWK密钥对象数组的JSON对象。JWK容器对象成员的值可以根据使用的算法而改变。上面的示例包含一个使用RSA算法的单个成员,并具有以下成员:

  • alg :此成员标识与密钥一起使用的加密算法。
  • mod :包含RSA公钥的模值。它是base64编码的。
  • exp :RSA公钥的指数值。它是base64编码的。
  • kid :密钥ID用于匹配特定密钥。在密钥轮换期间,kid用于在JWK中选择一组密钥。

JWKS如何工作?

为了确保JWT没有被篡改,我们需要通过验证签名来验证其完整性。这需要与授权服务器使用的私钥对应的公钥。通常,可以通过查询授权服务器暴露的端点来检索JWKS,这个端点被称为“JWKS端点”。

使用JWKS的好处

  • 安全性 :JWKS通过集中密钥管理实现了关注点的分离。这种分离减少了意外暴露关键密钥的风险,与硬编码密钥相比,这是一种更安全的方法。
  • 可扩展性 :随着Web应用程序的复杂性增加,以可扩展的方式管理加密密钥变得至关重要。JWKS提供了一种标准化的处理密钥的方式,简化了应用程序扩展时的密钥分发和轮换。
  • 互操作性 :JWKS旨在在不同平台和服务之间轻松交换。这种互操作性促进了认证生态系统各个组件之间的无缝集成。

JWKS实施的考虑事项

对于大多数用户来说,您将使用认证提供程序,不必处理设置您自己的授权服务器,但如果您决定自己实现流程,以下是一些确保系统安全性的关于JWKS的建议:

  • 定期密钥轮换 :频繁地轮换JWKS中表示的加密密钥,以最小化潜在密钥泄露的影响。
  • 访问控制 :限制对JWKS端点的访问,只允许授权的客户端,并实施适当的访问控制机制。
  • 安全密钥存储 :安全地存储加密密钥,采用硬件安全模块(HSM)或基于云的密钥管理服务(KMS)等行业标准做法。

结论

在身份验证方面,有许多术语和协议被提出,当您刚开始时可能会感到困惑。我们希望通过本文,您对JWKS及其与JWT的相关性以及它们的使用有了更好的理解。

相关推荐

OPPO Find X9手机曝料:6.6英寸屏幕、天玑9500芯片

IT之家8月27日消息,科技媒体xpertpick今天(8月27日)发布博文,报道称OPPO计划于今年10月推出FindX9系列旗舰手机,其中包括FindX9和...

OPPO Find X9系列搭载影像新硬件,支持Ultra级画质和色彩还原

IT之家8月27日消息,OPPOFindX9系列手机发布时间逐渐临近,目前官方已开启新机的前瞻预热。OPPOFind系列产品负责人周意保今日发文解释了厂商为什么现在都喜欢跨界合作这一...

我回来了!聊聊屏幕对续航的影响_屏幕耗电吗

时隔一周终于回国,让大家久等了本来上周日就能到家,结果在旧金山转机的时候把护照弄丢了…幸好后来被一位黑人大姐找到了,才能顺利回国,感谢勤劳朴实的美利坚人民。出差途中笔记本的续航是很重要的,刚好联想的产...

J人福音、P人救星,Lumix Flow如何重塑专业视频拍摄工作流

“等一下,刚才那个中景拍了没有?”“A机位的素材是哪一场的?”“完了,我忘了记哪一条是最好的了!”“今晚加个班,先把能用的素材挑出来……”作为经常一个人拍视频的内容创作者,这种崩溃称得上习以为常。如果...

realme史上最窄边框和下巴 realme GT Neo3正式发布

中关村在线消息:今天下午14点,realme召开真我GTNeo3发布会。realmeGTNeo3搭载6.7英寸2412×1080OLED直屏,其支持120Hz刷新率,360Hz触控采样率,智能...

用酒精擦屏幕,对屏幕的伤害有多大?

天府新青年你触手可及的朋友圈附录:1.不是所有电脑的屏幕都不能用酒精来擦,通常来说只有镜面屏屏幕才有涂层,这种不能用酒精擦;而雾面屏用的是另外一种抗反射技术,这种一般擦了没事。镜面屏和雾面屏特别好认...

windows11截屏快捷键是哪个?windows11快捷键设置大全

windows11键盘快捷方式就是键盘快捷方式就是按键或按键组合,可提供一种替代方式来执行通常使用鼠标执行的操作。下面就来分享下windows11截屏快捷键是哪个和windows11快捷键设置大全。一...

三星Galaxy S25 Slim配置曝光 6.7英寸屏幕搭配2亿像素主摄

【CNMO科技新闻】三星GalaxyS25系列将于北京时间1月23日正式发布,CNMO注意到有博主爆出了即将亮相GalaxyS25Slim的配置信息。据悉,GalaxyS25Slim将配备一...

两种手机屏幕到底有什么不一样?哪种手机屏幕更好?

一般来说,我们的手机屏幕只分为两种OLED和LCD,LCD是大火的一种手机屏幕,是千元机以及高端机的标配,OLED算是后起之秀,是近几年才渐渐兴起的一种类型的手机屏幕,那么这两种手机屏幕到底有什么不一...

有强芯才好用 这三款高性价比旗舰芯热机最低仅需1799元

在选购手机时,相信大家肯定都会把性能作为考虑的重点之一。而如果希望拥有出色的性能表现,一颗旗舰处理器是必不可少的。今天我就为大家汇总了几款采用旗舰处理器的底价新机,感兴趣的朋友千万不要错过。moto...

一文搞定FastDFS的搭建和使用_fastdfs怎么样

1.FastDFS概述FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文...

涨姿势!超级计算机用啥文件系统呢?

2015-10-1705:58:00作者:赵为民在计算机中,文件系统(filesystem)是一个非常重要的组件,你可以将他看做是操作系统的子系统,其实质就是一种软件的组件,通过文件系统我们可以...

Window as a VM:Chrome OS 现可窗口化运行其它 Linux 分支

这世上纵然有多种办法可以在Chromebook上安装运行ChromeOS和其它Linux分支多系统,但如果无需重启通过引导切换,确实是个很酷的改进。Google布道师Francois...

Win10新预览版19577开始推送:新图标+多项新功能

今日凌晨,微软正式向Windows10Insider快速通道用户推送了全新版本Windows10——Windows10InsiderPreviewBuild19577。19577版本是...

微软Windows升级密钥(例如家庭版升级为企业版)

下面的密钥,是微软官方提供的,仅能用于Windows10系统版本的升级,比如从家庭版升级为专业版、专业版升级为企业版等。升级密钥不能用于激活系统,激活需要KMS或者数字权利,由于涉及到版权问题,在此不...