タグ

JWTに関するshigeaki1jpのブックマーク (16)

  • フルスクラッチして理解するOpenID Connect (3) JWT編 - エムスリーテックブログ

    こんにちは。デジカルチームの末永(asmsuechan)です。この記事は「フルスクラッチして理解するOpenID Connect」の全4記事中の3記事目です。前回はこちら。 www.m3tech.blog 9 JWT の実装 9.1 JWT概説 9.2 OpenID Connect の JWT 9.3 ヘッダーとペイロードの実装 9.4 署名の実装 公開鍵と秘密鍵を生成する 署名処理を作る 10 JWKS URI の実装 (GET /openid-connect/jwks) 11 RelyingParty で ID トークンの検証をする 12 OpenID Connect Discovery エンドポイントの実装 (GET /openid-connect/.well-known/openid-configuration) まとめ We're hiring 今回は全4回中の第3回目です。 (

    フルスクラッチして理解するOpenID Connect (3) JWT編 - エムスリーテックブログ
  • node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita

    JWTの検証プログラムに対する有名な攻撃手法にalg=none攻撃があります。JWTのalgクレーム(署名アルゴリズム)としてnone(署名なし)を指定することにより、署名を回避して、JWTのクレームを改ざんする手法ですが、手法の解説は多いもの、脆弱なスクリプトのサンプルが少ないような気がしています。そこで、node.js用の著名なJWTライブラリであるjsonwebtokenを使った簡単なサンプルにより、alg=none攻撃の解説を試みます。 なお、jsonwebtokenの最新版では今回紹介した攻撃方法は対策されているため、以下のサンプルでは古いjsonwebtokenを使っています。 alg=none攻撃とは よく知られているように、JWTは以下のように3つのパートからなり、それぞれのパートはBase64URLエンコードされています。ヘッダとペイロードはエンコード前はJSON形式です

    node-jsonwebtokenで学ぶJWTのalg=none攻撃 - Qiita
  • [2023-01-31 12:00 JST 更新] JWTのシークレットポイズニングに関する問題

    2019年1月30日 PST 脆弱性の悪用シナリオの前提条件に関するコミュニティからのフィードバックを受け、私たちはAuth0と協力してCVE-2022-23529を撤回することを決定しました。 稿で解説したセキュリティの問題はJsonWebTokenライブラリが安全でない方法で使用された場合には依然として懸念されるものです。そのシナリオでは、すべての前提条件を満たせばこの問題を悪用できる可能性があります。私たちは、その場合のリスクの大元はライブラリ側でなく呼び出し側のコードにあることに同意します。 この問題に対処するためJsonWebTokenのコードには重要なセキュリティチェックが追加されました。 jsonwebtoken 8.5.1以前のバージョンをお使いの場合は最新版の9.0.0にアップデートすることをお勧めします。最新版では同セキュリティ問題を含む問題を修正済みで、より安全な

    [2023-01-31 12:00 JST 更新] JWTのシークレットポイズニングに関する問題
  • Auth0 fixes RCE flaw in JsonWebToken library used by 22,000 projects

    HomeNewsSecurityAuth0 fixes RCE flaw in JsonWebToken library used by 22,000 projects Update 1/31/23: Auth0 has withdrawn their security advisory on the JsonWebToken poisoning attack disclosed by Palo Alto Networks earlier this month. "After review and validation of community feedback regarding the viability of exploitation, it was determined that due to the multiple prerequisites required for succ

    Auth0 fixes RCE flaw in JsonWebToken library used by 22,000 projects
  • 攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog

    こんにちは。 マネーフォワードの新卒Railsエンジニア、きなこ と申します。 マネーフォワードX という組織で、日々プロダクトの開発に勤しんでおります😊 突然ですが皆さんは JWT という技術をご存知でしょうか? 私は趣味CTFというセキュリティコンテストに出場するのですが、最近ホットだと感じるのがJWTに関連する攻撃です。 今年の1月に初めてJWTを題材にした問題に遭遇し、その後JWTの出題頻度が強まっていると感じ、社内に向けてJWTにまつわる攻撃を通して学ぶための記事を書いたところ、たくさんの反応をいただきました。 今回の記事はその内容を社外向けにアレンジし、ハンズオンを通して実際にJWTを改竄し、受け取るAPIを攻撃することでJWT自体を学べるようにしたものです。 記事はJWTに興味があるWeb開発者を想定していますが、そうでない方も楽しんでいただけるようにハンズオンを用意し

    攻撃して学ぶJWT【ハンズオンあり】 - Money Forward Developers Blog
  • "JWT=ステートレス"から一歩踏み出すための考え方

    おはようございます、ritouです。 この話に乗っかっていきます。 3行で ログアウト時にJWTを無効化できない実装は今後脆弱性診断で「OWASP Top 10 2021違反」と指摘されるようになりそう(今も個別にされてるかもしれないけど) JWTは単純なフォーマットなので、ステートレスなセッション管理においてログアウトしたときに文字列自体を無効化できない件は独自エンコード方式(一般的にフレームワークのCookieストアと呼ばれているもの)でも起こり得る 「セッションID vs JWTで内包」 以外にも 「セッションIDをJWTに内包」もあり得る。既存の機能を残しつつ「JWTで武装」する選択肢も考えてみてはどうか。 ステートレスなセッション管理でログアウトの際に文字列自体を無効化できない問題 これは前から言われていますし、駆け出し何とか勢のQiita記事に書かれるぐらいには一般的です。 2

    "JWT=ステートレス"から一歩踏み出すための考え方
  • UiPathでJWTを生成してみる - Qiita

    はじめに UiPath では、いわゆる Web API に対して操作を行うことが可能なアクティビティが存在します。 Web API の利用にあたってはサービスごとに様々な認証手段が存在しますが、最近、 JWT というものを利用する手段が提供されているサービスが多く、「これを UiPath でも利用できるのではないか」と考えまして色々調べてみました。 JWT (JSON Web Token) とは Wikipediaによると、次のように記載されていました。 JSONデータに署名や暗号化を施す方法を定めたオープン標準 (RFC 7519) である。 技術的な詳細は上記リンクから見ていただければと思いますが、誤解を恐れずにいえば「トークン(ここでは認証に使用されるデータ)の生成に関する仕組み」と捉えて良いと思います。 なおこの記事では、この仕組みを利用して出力されるトークンについても JWT と

    UiPathでJWTを生成してみる - Qiita
  • JSON Web Tokenによる認証 | SIOS Tech. Lab

    ◆ Live配信スケジュール ◆ サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。 ⇒ 詳細スケジュールはこちらから ⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください ◆ 【よくわかるGrafana入門~バックアップ・リストアとアップグレード~】 オンラインセミナー開催 11月10日 12:15~13:00◆ GrafanaとはOSSの可視化ツールです。 サーバーのメトリクス・ログ監視、Kubenetes監視、IoT監視など、ITを中心とした幅広い用途で活用されています。 今回はそのGrafanaのバックアップリストア・アップグレードについて、掘り下げて説明していきます。 ⇒ お申込みはこちらから こんにちは。サイオステクノロジー技術部の武井です。 今回は、JSON Web Tokenの仕様に

    JSON Web Tokenによる認証 | SIOS Tech. Lab
  • 2020年版 チーム内勉強会資料その1 : JSON Web Token - r-weblife

    おはようございます。ritou です。 5月下旬ぐらいにチーム内勉強会としてJSON Web Token(JWT)についてわいわいやりました。 その際に作成した資料に簡単な説明を添えつつ紹介します。 このブログではJWTについて色々と記事を書いてきましたが、その範囲を超えるものではありません。 ちょっとだけ長いですが、ちょっとだけです。お付き合いください。それでは始めましょう。 JSON Web Token boot camp 2020 今回の勉強会では、JWTについて概要、仕様紹介という基的なところから、業務で使っていくにあたって気をつけるべき点といったあたりまでカバーできると良いなと思っています。 JSON Web Token 概要 まずは概要から紹介していきます。 JSON Web Tokenの定義とはということで、RFC7519のAbstractの文章を引用します。 JSON W

    2020年版 チーム内勉強会資料その1 : JSON Web Token - r-weblife
  • JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife

    おはようございます、ritouです。 (⚠️認可イベントの識別子のあたり、ちょっと見直しました!最初に見ていただいた方はもう一回どうぞ!) 前回、ハイブリッド型と呼ばれる OAuth 2.0 のトークン実装について書きました。 ritou.hatenablog.com その続きとして JWT(JWS) + RDBでできる実装例を紹介します。 理解するにはそれなりの OAuth 2.0 に関する知識が必要になるかもしれませんが、よかったら参考にしてみてください。 何を考えたのか OAuth 2.0のRefresh Token, Access Tokenを考えます。 要件から整理しましょう。 要件 結構ありますが、最低限の OAuth 2.0 の Authorization Server を実装しようと思ったらこれぐらいはやらないといけないでしょう。 RFC6750 で定義されている Bear

    JWT+RDBを用いたOAuth 2.0 ハイブリッド型トークンの実装例 - r-weblife
  • [CWT入門その1] CBORによるオブジェクトのバイナリ表現 - Qiita

    RFC7049 CBORによるオブジェクトのバイナリ表現 概要 この投稿はCBOR Web Token(CWT)入門3部作の第1弾です。 CWTとは みんな大好き JWT(JSON Web Token) のバイナリ版 JSON + Base64な日常にピリリと辛い刺激を与える、IoT時代注目の一品 今話題のWebAuthn(WebAuthentication API)でも使われている(追記) という感じです。 詳細な説明は後ほどの投稿で行うとして、ここではJWTにおけるJSONに相当する、CBORというオブジェクト表現についてざっくりと紹介します。 CBORとは The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extr

    [CWT入門その1] CBORによるオブジェクトのバイナリ表現 - Qiita
  • Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 - r-weblife

    おはようございます、ritou です。 qiita.com これの初日です。 なんの話か 皆さんは今まで、こんな記事を目にしたことがありませんか? Cookie vs JWT 認証に JWT を利用するのってどうなの? JWT をセッション管理に使うべきではない! リンク貼るのは省略しますが、年に何度か見かける記事です。 個人的にこの話題の原点は最近 IDaaS(Identity as a Service) として注目を集めている Auth0Cookie vs Token とか言う比較記事を書いたことだと思っていますが、今探したところ記事は削除されたのか最近の記事にリダイレクトされてるようなのでもうよくわからん。 なのでそれはおいといて、この話題を扱う記事は クライアントでのセッション管理 : HTTP Cookie vs WebStorage(LocalStorage / Sess

    Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 - r-weblife
  • ALBのOIDC認証をSpring Securityで使用してみた。 - Qiita

    認証が辛い!! もっと楽に安全に認証したい。したいですよね? そういえば、ALBがOIDC認証に対応していたな、Spring Securityわせれば手間いらずで認証できるんじゃ・・・? 事前準備 ALBのhttps設定は以下を参考に設定 https://qiita.com/Yuki_BB3/items/fd410ef29935169aad9d Amazon CognitoやGoogle Identity PlatformでOIDCの設定をする ALBの仕様 検証が成功してターゲットグループ(Spring Securityが載ってるアプリ)を呼ぶときにはヘッダーのx-amzn-oidc-dataにJWTを乗せて送ってくる。 2回目以降もセッションが有効であれば毎回ちゃんと乗せてくれる。 有効期限(exp)は3分ぐらいとかなり短い(厳密には計ってない) 署名はECDSA + P-256

    ALBのOIDC認証をSpring Securityで使用してみた。 - Qiita
  • JWT認証アプリケーションで認可つきCSVダウンロードを実装した話 - 勉強日記

    背景 困ったこと やったこと サーバ側でCSV生成 フロントエンド側でBlob生成 踏んだ文字化けのパターン 背景 Laravel + Vue.jsアプリケーション JWT認証のSPA つまり、すべてのリクエストのAuthorizationヘッダにJWTを載せている axios.defaults.headers.common['Authorization'] = `Bearer ${jwt}`; 集計したデータをCSVファイルとしてダウンロードさせたい ただし、認可もつけたい 未ログイン状態ではダウンロードさせない 困ったこと RESTful APIを叩いているうちは何も問題はない CSVダウンロードで困った <a href="csvダウンロードリンク">...ではダメ Authorizationヘッダが載らないため、認可が通らない やったこと サーバ側でCSV生成 こんな感じのCsvDo

    JWT認証アプリケーションで認可つきCSVダウンロードを実装した話 - 勉強日記
  • [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita

    はじめに 「解説記事を幾つも読んだけど OpenID Connect を理解できた気がしない」― この文書は、そういう悩みを抱えたエンジニアの方々に向けた OpenID Connect 解説文書です。概念的・抽象的な話を避け、具体例を用いて OpenID Connect を解説していこうと思います。 この文書では、JWS (RFC 7515)、JWE (RFC 7516)、JWK (RFC 7517)、JWT (RFC 7519)、ID トークンの説明をおこないます。 追記(2020-03-20) この記事の内容を含む、筆者人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 『ID トークン』を発行するための仕様 一般の方々に対しては「OpenID Connect は認証の仕様である」という説明で良いと思います。一方、技術的な理解を渇望しているエンジニアの方々に対

    [前編] IDトークンが分かれば OpenID Connect が分かる - Qiita
  • JWTを使った簡易SSOで徐々にシステムをリニューアルしている話

    JWTのわかりやすい説明 by 国内No.1 ECサービス開発のすべてを語り尽くします!〜第4回ペパボテックカンファレンスEC編 - dots. [ドッツ] - http://eventdots.jp/event/573086Read less

    JWTを使った簡易SSOで徐々にシステムをリニューアルしている話
  • 1