kucw.github.io icon indicating copy to clipboard operation
kucw.github.io copied to clipboard

JWT 是如何實作「數位簽名」的?揭秘 signature 的面紗

Open utterances-bot opened this issue 10 months ago • 4 comments

JWT 是如何實作「數位簽名」的?揭秘 signature 的面紗

介紹了 JWT 的「數位簽名」的核心運作邏輯,要如何透過非對稱加密來確保數據不會被竄改

https://kucw.io/blog/jwt-signature/

utterances-bot avatar Feb 23 '25 04:02 utterances-bot

圖文很生動~解釋也很詳細,非常感謝! 以文中的例子而言,公鑰跟私鑰都是放在後端,後端自己擔任加密跟解密驗證的角色對吧? 公鑰除了放在後端server,還會放在其他地方嗎?

cookiepingyen avatar Feb 23 '25 04:02 cookiepingyen

@cookiepingyen 公鑰是公開的~所以可以發放給所有人使用唷!因此公鑰通常會儲存在後端 server 上,並且提供 API 給其他的人取用公鑰這樣 至於私鑰就一定要是保密的了,所以私鑰只能存在後端 server 上,並且不可以洩漏 希望有回答到你的問題~

kucw avatar Feb 26 '25 09:02 kucw

非常感謝您的文章,真的寫的很好! 這邊想請問JWT可以使用對稱式加密實作嗎? 因為依照文中的案例,假設公私鑰都儲存在同一個server上,好像可以使用對稱式加密就好? 但如果要做分布式系統讓多個server都可以做JWT驗證,好像就會需要使用非對稱式的,例如一個server存私鑰對帳密做驗證後用來產生JWT,其他server都存公鑰用來驗證JWT

kevin93203 avatar Apr 02 '25 02:04 kevin93203

@kevin93203 JWT 本身是有支援對稱式加密的沒錯,不過我目前接觸到的 JWT 好像都是以非對稱加密為主,還真的沒看到有對稱加密的實作過🤔(但也有可能是我看得不夠多,因此僅能就我個人經驗分享給你 ><)

kucw avatar Apr 08 '25 09:04 kucw