簡體   English   中英

結合JWE和JWS

[英]Combining JWE and JWS

只要了解JOSE,我就會知道JWE用於加密,JWS用於簽名。 我似乎無法找到示例的是經過加密和簽名的有效負載。

假裝我有一個有效載荷hello world 做這樣的事情是正確的嗎? 使用加密的JWE作為JWS的有效負載的JWS(JWE('hello world')

JSON Web令牌 (JWT)是一種開放標准,它定義了一種緊湊且自包含的方式,用於在各方之間作為JSON對象安全地傳輸信息。 JWT是以下令牌類型的通用名稱

  • JSON Web簽名 (JWS):對有效負載進行編碼和簽名,以便可以驗證聲明的完整性

  • JSON Web加密 (JWE):它們的有效負載已加密,因此對其他方隱藏了聲明。

JWT,JWS和JWE
該圖像是從此頁面中提取的。


做這樣的事情是正確的嗎? 使用加密的JWE作為JWS的有效負載的JWS(JWE('hello world')

它是一個嵌套的JWT ,其概念在RFC 7519中定義:

一個JWT,其中使用了嵌套的簽名和/或加密。 在嵌套JWT中,JWT分別用作封閉的JWS或JWE結構的有效負載或純文本值。

可以添加JWE作為JWS有效負載的聲明,但是建議采用另一種方法: 首先對消息簽名,然后對結果進行加密 ,如同一文檔中所述:

11.2。 簽名和加密順序

雖然在語法上可以按任何順序應用嵌套JWT的簽名和加密操作,但是如果簽名和加密都必須,通常生產者應該對消息簽名,然后對結果進行加密(從而對簽名進行加密)。 這樣可以防止剝奪簽名的攻擊,僅留下加密消息,並為簽名者提供隱私。 此外,在許多轄區中,加密文本上的簽名被認為無效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM