成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章帶你分清楚JWT,JWS與JWE

網(wǎng)絡 網(wǎng)絡管理
JSON Web Token(JWT)是一個非常輕巧的規(guī)范。這個規(guī)范允許我們使用JWT在兩個組織之間傳遞安全可靠的信息。

隨著移動互聯(lián)網(wǎng)的興起,傳統(tǒng)基于session/cookie的web網(wǎng)站認證方式轉(zhuǎn)變?yōu)榱嘶贠Auth2等開放授權(quán)協(xié)議的單點登錄模式(SSO),相應的基于服務器session+瀏覽器cookie的Auth手段也發(fā)生了轉(zhuǎn)變,Json Web Token出現(xiàn)成為了當前的熱門的Token Auth機制。

Json Web Token(JWT)

JSON Web Token(JWT)是一個非常輕巧的規(guī)范。這個規(guī)范允許我們使用JWT在兩個組織之間傳遞安全可靠的信息。

官方定義:JSON Web Token (JWT) is a compact URL-safe means of representing claims to be transferred between two parties

一篇文章帶你分清楚JWT,JWS與JWE

JWT Auth

現(xiàn)在網(wǎng)上大多數(shù)介紹JWT的文章實際介紹的都是JWS(JSON Web Signature),也往往導致了人們對于JWT的誤解,但是JWT并不等于JWS,JWS只是JWT的一種實現(xiàn),除了JWS外,JWE(JSON Web Encryption)也是JWT的一種實現(xiàn)。

下面就來詳細介紹一下JWT與JWE的兩種實現(xiàn)方式:

一篇文章帶你分清楚JWT,JWS與JWE

JWT,JWS與JWE

JSON Web Signature(JWS)

JSON Web Signature是一個有著簡單的統(tǒng)一表達形式的字符串:

一篇文章帶你分清楚JWT,JWS與JWE

JWS

1. 頭部(Header)

頭部用于描述關(guān)于該JWT的最基本的信息,例如其類型以及簽名所用的算法等。

JSON內(nèi)容要經(jīng)Base64 編碼生成字符串成為Header。

2. 載荷(PayLoad)

payload的五個字段都是由JWT的標準所定義的。

  • iss: 該JWT的簽發(fā)者
  • sub: 該JWT所面向的用戶
  • aud: 接收該JWT的一方
  • exp(expires): 什么時候過期,這里是一個Unix時間戳
  • iat(issued at): 在什么時候簽發(fā)的

后面的信息可以按需補充。

JSON內(nèi)容要經(jīng)Base64 編碼生成字符串成為PayLoad。

3. 簽名(signature)

這個部分header與payload通過header中聲明的加密方式,使用密鑰secret進行加密,生成簽名。

JWS的主要目的是保證了數(shù)據(jù)在傳輸過程中不被修改,驗證數(shù)據(jù)的完整性。但由于僅采用Base64對消息內(nèi)容編碼,因此不保證數(shù)據(jù)的不可泄露性。所以不適合用于傳輸敏感數(shù)據(jù)。

JSON Web Encryption(JWE)

相對于JWS,JWE則同時保證了安全性與數(shù)據(jù)完整性。

JWE由五部分組成:

一篇文章帶你分清楚JWT,JWS與JWE

JWE組成

具體生成步驟為:

  • JOSE含義與JWS頭部相同。
  • 生成一個隨機的Content Encryption Key (CEK)。
  • 使用RSAES-OAEP 加密算法,用公鑰加密CEK,生成JWE Encrypted Key。
  • 生成JWE初始化向量。
  • 使用AES GCM加密算法對明文部分進行加密生成密文Ciphertext,算法會隨之生成一個128位的認證標記Authentication Tag。
  • 對五個部分分別進行base64編碼。

可見,JWE的計算過程相對繁瑣,不夠輕量級,因此適合與數(shù)據(jù)傳輸而非token認證,但該協(xié)議也足夠安全可靠,用簡短字符串描述了傳輸內(nèi)容,兼顧數(shù)據(jù)的安全性與完整性。

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-02-21 09:44:45

Git開源分布式

2023-05-12 08:19:12

Netty程序框架

2021-06-30 00:20:12

Hangfire.NET平臺

2023-09-06 14:57:46

JavaScript編程語言

2020-12-08 08:09:49

SVG圖標Web

2021-05-18 08:30:42

JavaScript 前端JavaScript時

2021-06-24 09:05:08

JavaScript日期前端

2021-09-27 09:18:30

ListIterato接口方法

2021-01-26 23:46:32

JavaScript數(shù)據(jù)結(jié)構(gòu)前端

2021-03-05 18:04:15

JavaScript循環(huán)代碼

2021-03-09 14:04:01

JavaScriptCookie數(shù)據(jù)

2024-04-19 14:23:52

SwitchJavaScript開發(fā)

2023-07-30 15:18:54

JavaScript屬性

2021-02-26 20:01:57

SVG濾鏡元素

2023-05-08 08:21:15

JavaNIO編程

2024-01-30 13:47:45

2020-11-10 10:48:10

JavaScript屬性對象

2020-02-28 11:29:00

ElasticSear概念類比

2021-06-04 09:56:01

JavaScript 前端switch

2021-07-01 10:01:16

JavaLinkedList集合
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产日韩一区二区三免费高清 | 一区二区三区亚洲 | 欧美一区二区三区久久精品 | 中文字幕在线一区二区三区 | 久久夜视频| 一区视频| 日日av| 国产精品有限公司 | 国产成人精品一区二区三区 | 男人天堂网址 | 综合天天久久 | 激情久久网 | 国产精品69久久久久水密桃 | 国产乱码一二三区精品 | 日本一二区视频 | 精品久久香蕉国产线看观看亚洲 | 在线观看中文字幕 | 久久亚洲国产 | 91在线精品一区二区 | 久久午夜国产精品www忘忧草 | 日本中文字幕一区 | 国产午夜精品理论片a大结局 | 日韩乱码一二三 | 久久伊人精品一区二区三区 | 中文字幕亚洲视频 | 午夜a√ | 日韩一区二区免费视频 | 欧美日韩久久久 | 韩日有码 | 日韩一区在线视频 | 亚洲黄色国产 | 天堂一区二区三区四区 | 欧美a在线看 | 久久综合一区二区三区 | 91精品久久久久 | 日韩欧美在线观看视频网站 | 欧美视频免费在线 | 婷婷综合色 | 日韩一区不卡 | 日韩中文字幕第一页 | a在线免费观看视频 |