SECCON Beginners Live 2023「JWTセキュリティ入門」の発表資料です。
TL;DR ステートレスなJWTはそもそもセッションの代替では無い アクセストークンとしての利用が基本で数分レベルの短寿命な有効期限で利用 従来のセッションに近い概念はリフレッシュトークン。てか、リフレッシュトークンはセッションでも(たぶん)良い ユースケース的にモノリスには不要。SPAでMSAな時にメリットが出て来る。 はじめに Webで認証システムといえばセッション! と言う感じのレガシーおじさんなのですが、最近はJWTとかも出てきてとても気になっていました。新しいものは使ってみたくなりますよね? なので以前軽く調べてみたたのですが「JWTは危ない」とか「JWTをセッションに使うな」的な記事が大量に出て来ます。 co3k.org qiita.com 一方で反論記事もあり色んな議論が渦巻いています。そもそも利用を推奨する記事も多い。 auth0.hatenablog.com この辺りで「
おはようございます、ritouです。 この話に乗っかっていきます。 3行で ログアウト時にJWTを無効化できない実装は今後脆弱性診断で「OWASP Top 10 2021違反」と指摘されるようになりそう(今も個別にされてるかもしれないけど) JWTは単純なフォーマットなので、ステートレスなセッション管理においてログアウトしたときに文字列自体を無効化できない件は独自エンコード方式(一般的にフレームワークのCookieストアと呼ばれているもの)でも起こり得る 「セッションID vs JWTで内包」 以外にも 「セッションIDをJWTに内包」もあり得る。既存の機能を残しつつ「JWTで武装」する選択肢も考えてみてはどうか。 ステートレスなセッション管理でログアウトの際に文字列自体を無効化できない問題 これは前から言われていますし、駆け出し何とか勢のQiita記事に書かれるぐらいには一般的です。 2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く