Closed4
jose / jwt は危険っていうアレの話
-
https://postd.cc/jwt-json-web-tokens-is-bad-standard-that-everyone-should-avoid/
- JOSEやJWTで検索すると出てくるこの記事
- 本当にこんなに強く言うほどなのか?
この記事で言われている対抗策
- fernet
- https://github.com/fernet/spec
- https://github.com/fernet 実装系はgo/ruby/erlangぐらい?
- npmで確認できる実装は下記
- https://www.npmjs.com/package/fernet
- last published 3yr
- githubリンク不明
- ちょっと利用するには怪しい
- symetricキーしかサポートしないのってどうなの?
- paseto (原文側にある
JWT / JOSEの脆弱性や回避方法
- 結論: algorithmを検証側でしっかり指定すること
- https://techblog.yahoo.co.jp/advent-calendar-2017/jwt/
-
https://qiita.com/togana/items/d77d6c84bb2717273563
- node実装では、RS256をHS256として読み込ませる脆弱性は潰されているらしい
結論
- やはり最初の記事はちょっと大げさな度合いが強い気がする
- ただしEncryptの項目についてはそもそも関心外なので不明
- 確かに
alg: none
って何よ感はあるし、言わんとしてることはわかる。 - 一方で結局流行ってなかったり実装系の薄いfernetやpasetoを使うかというと、現状そっちの脆弱性の方が怖いと感じてしまう・・・
- 実際のところ大手が使いすぎててもはやjwtをスタンダードと見たほうが自然になってしまうレベル
- jwtを使うよりjwt以外を使う方が現状説明コストが高い
- joseの一部仕様を削ったりすればいいだけなら、
safety-jose
とかstrict-jose
みたいな提唱はなかったんだろうか?とか感じてしまう- TypeScriptが流行った理由みたいな
このスクラップは2021/02/05にクローズされました